:root{--p:#9A5F6A;--pd:#7E4855;--pl:#F3E9EB;--ink:#101410;--ink2:#2A2E2A;--bg:#F5F5F0;--line:#DEDED6;--mut:#5E625E;--r:4px;--gut:32px;--h:'Archivo',sans-serif;--b:'Inter',system-ui,sans-serif;--u:'DM Sans',sans-serif}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font:400 16.5px/1.7 var(--b);color:var(--ink2);background:#fff;overflow-x:hidden}
img{max-width:100%;display:block}a{color:var(--pd)}
h1,h2,h3,h4{font-family:var(--h);color:var(--ink);line-height:1.1;letter-spacing:-.02em}
h1{font-weight:800;font-size:clamp(34px,4.6vw,58px)}h2{font-weight:800;font-size:clamp(26px,3vw,38px);margin-bottom:18px}h3{font-weight:700;font-size:19px;margin-bottom:8px}
p+p{margin-top:14px}.small{font-size:14px;color:var(--mut);margin-top:12px}
.wrap{max-width:1240px;margin:0 auto;padding:0 var(--gut)}.narrow{max-width:820px}
.lbl{font:700 12px var(--u);letter-spacing:.14em;text-transform:uppercase;color:var(--p);margin-bottom:14px}.lbl-w{color:#E6C5CC}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:700 15px var(--u);padding:14px 22px;border-radius:var(--r);text-decoration:none;background:var(--p);color:#fff;border:2px solid var(--p);cursor:pointer;transition:background .2s,border-color .2s;white-space:nowrap}
.btn:hover{background:var(--pd);border-color:var(--pd)}.btn-dark{background:var(--ink);border-color:var(--ink);margin-top:24px}.btn-dark:hover{background:#000;border-color:#000}
.btn-line{background:transparent;color:var(--ink);border-color:var(--ink)}.btn-line:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn-line-w{background:transparent;border-color:#fff;color:#fff}.btn-line-w:hover{background:#fff;color:var(--ink);border-color:#fff}
.tlink{display:inline-block;margin-top:20px;font:700 15px var(--u);color:var(--pd);text-decoration:none;border-bottom:2px solid var(--p);padding-bottom:3px}
/* topbar/header */
.topbar{background:var(--ink);color:#C9CCC6;font:500 13px var(--u)}.tb{display:flex;justify-content:space-between;gap:16px;padding-top:9px;padding-bottom:9px}.tb a{color:#fff;text-decoration:none;margin-left:22px}
.hdr{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line);transition:box-shadow .3s}.hdr.solid{box-shadow:0 6px 20px rgba(16,20,16,.08)}
.hdr-in{display:flex;align-items:center;gap:28px;height:88px;transition:height .3s}.hdr.solid .hdr-in{height:72px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;margin-right:auto}.b-icon{width:40px;height:auto}.b-word{width:170px;height:auto}
.nav{display:flex;align-items:center;gap:26px}.nav>a,.dd-t{font:700 15px var(--u);color:var(--ink);text-decoration:none}.nav>a:hover,.dd-t:hover{color:var(--p)}
.nav .nav-cta{color:#fff;margin-left:6px}.nav .nav-cta:hover{color:#fff}
.dd{position:relative;padding:30px 0}.car{display:inline-block;width:6px;height:6px;border-right:2px solid;border-bottom:2px solid;transform:rotate(45deg) translateY(-3px);margin-left:5px}
.dd-m{position:absolute;top:100%;left:-18px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--p);border-radius:0 0 var(--r) var(--r);box-shadow:0 18px 40px rgba(16,20,16,.12);padding:8px 0;min-width:320px;display:none}
.dd:hover .dd-m,.dd:focus-within .dd-m{display:block}.dd-m a{display:block;padding:10px 20px;color:var(--ink);text-decoration:none;font:500 14.5px var(--u)}.dd-m a:hover{background:var(--bg);color:var(--pd)}.dd-m .all{border-top:1px solid var(--line);margin-top:6px;font-weight:700;color:var(--pd)}
.burger{display:none;width:46px;height:46px;border:1px solid var(--line);background:#fff;border-radius:var(--r);flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer}.burger span{width:20px;height:2px;background:var(--ink);transition:.25s}
/* hero */
.hero{position:relative;min-height:640px;display:flex;align-items:stretch;overflow:hidden;background:var(--ink)}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-in{position:relative;display:flex;align-items:center;width:100%;padding-top:70px;padding-bottom:70px}
.hero-panel{background:rgba(16,20,16,.9);color:#D9DCD6;max-width:640px;padding:48px 48px 44px;border-left:6px solid var(--p);border-radius:var(--r)}
.hero h1{color:#fff;margin-bottom:18px}.hero .lede{color:#C9CCC6;font-size:18px}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.lede{font-size:18px;color:var(--mut);max-width:640px}
.trust{background:var(--p);color:#fff}.trust-in{display:grid;grid-template-columns:repeat(5,1fr)}
.trust-in>div{padding:22px 20px;border-right:1px solid rgba(255,255,255,.22)}.trust-in>div:first-child{padding-left:0}.trust-in>div:last-child{border-right:0}
.trust strong{display:block;font:800 16px var(--h)}.trust span{display:block;font:500 13px/1.4 var(--u);opacity:.85;margin-top:3px}
.ph{background:var(--bg);border-bottom:1px solid var(--line)}.ph-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center;padding-top:56px;padding-bottom:56px}
.ph-plain .wrap{padding-top:64px;padding-bottom:56px}.ph h1{margin-bottom:16px}
.ph-img img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}
.crumbs{font:500 13px var(--u);color:var(--mut);margin-bottom:18px}.crumbs a{color:var(--mut);text-decoration:none}.crumbs a:hover{color:var(--pd)}
.meta{color:var(--mut);font-size:14px}
/* sections */
.sec{padding:96px 0}.sec-grey{background:var(--bg)}.sec-dark{background:var(--ink);color:#B9BDB6}.sec-dark h2,.sec-dark h3{color:#fff}
.h2bar{position:relative;padding-top:20px}.h2bar:before{content:"";position:absolute;top:0;left:0;width:48px;height:4px;background:var(--p)}
.shead{max-width:720px;margin-bottom:44px}.shead p{color:var(--mut)}.sec-dark .shead p{color:#B9BDB6}.shead-row{max-width:none;display:flex;justify-content:space-between;align-items:flex-end}.shead-row .tlink{margin:0 0 18px}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}.g2-top{align-items:start}
.big{font-size:19px;color:var(--ink);margin-bottom:14px}
.photo{position:relative}.photo img{width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:var(--r)}.cap{position:absolute;left:0;bottom:0;background:var(--ink);color:#fff;font:600 12px var(--u);letter-spacing:.08em;text-transform:uppercase;padding:9px 14px}
.ticks{list-style:none;padding:0;margin:16px 0 0;border-top:1px solid var(--line)}.ticks li{position:relative;padding:11px 0 11px 30px;border-bottom:1px solid var(--line);font-size:15.5px}
.ticks li:before{content:"";position:absolute;left:3px;top:19px;width:11px;height:6px;border-left:2px solid var(--p);border-bottom:2px solid var(--p);transform:rotate(-45deg)}
.rep{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);background:#fff}.rep4{grid-template-columns:repeat(4,1fr)}.rep3{grid-template-columns:repeat(3,1fr)}
.rep-i{padding:30px 28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.rep-i span{display:block;font:800 13px var(--h);color:var(--p);margin-bottom:14px}.rep-i p{color:var(--mut);font-size:15px}
.srows{border-top:2px solid var(--ink)}
.srow{display:grid;grid-template-columns:70px 1.1fr 1.6fr 130px;gap:24px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink2);transition:background .2s,padding .2s}
.srow:hover{background:var(--bg);padding-left:14px;padding-right:14px}.srow h3{margin:0;font-size:20px}.srow p{color:var(--mut);font-size:15px}
.sn{font:800 14px var(--h);color:var(--p)}.sgo{font:700 14px var(--u);color:var(--pd);text-align:right}
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #3A3F3A}
.steps li{padding:28px 26px 0 0;margin-right:26px;border-top:4px solid transparent;margin-top:-1px}.steps li:first-child{border-top-color:var(--p)}
.steps span{display:block;font:700 12px var(--u);letter-spacing:.14em;text-transform:uppercase;color:#D7A9B2;margin-bottom:12px}.steps p{font-size:15px}
.maps{display:grid;grid-template-columns:1fr 1fr;gap:16px}.maps img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--r);border:1px solid var(--line)}
.std{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);font-size:15.5px}.std th{background:var(--ink);color:#fff;text-align:left;font:700 13px var(--u);letter-spacing:.08em;text-transform:uppercase;padding:14px 20px}.std td{padding:18px 20px;border-top:1px solid var(--line);vertical-align:top}.std td strong{font-family:var(--h);color:var(--pd)}
.stdbox{margin-top:30px;background:var(--pl);border-left:4px solid var(--p);padding:20px 24px;border-radius:var(--r)}.stdbox strong{font:800 17px var(--h);color:var(--pd)}.stdbox p{margin-top:6px;font-size:15px}
.areas{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr 1fr;border-top:2px solid var(--ink)}.areas li{padding:13px 0;border-bottom:1px solid var(--line);font:600 15.5px var(--u);color:var(--ink)}
/* form */
.form{background:#fff;border:1px solid var(--line);border-top:4px solid var(--p);border-radius:var(--r);padding:32px}
.form label{display:block;font:700 13px var(--u);color:var(--ink);margin-bottom:16px}
.form input,.form select,.form textarea{display:block;width:100%;margin-top:6px;font:inherit;font:400 16px var(--b);padding:12px 14px;border:1px solid #C9C9C0;border-radius:var(--r);background:#fff}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--p);outline-offset:-1px;border-color:var(--p)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.fnote{font-size:14px;color:var(--mut);margin-top:14px}.form .btn{width:100%}
.clines{margin-top:26px;border-top:1px solid var(--line)}.clines a,.clines span{display:block;padding:14px 0;border-bottom:1px solid var(--line);font:700 18px var(--h);color:var(--ink);text-decoration:none}.clines span{font:500 15px var(--b);color:var(--mut)}
/* service */
.svc{display:grid;grid-template-columns:1.65fr 1fr;gap:64px;align-items:start}.prose h2{font-size:28px;margin:36px 0 12px}.prose h2:first-child{margin-top:0}
.side{position:sticky;top:96px;display:grid;gap:16px}.side-card{border:1px solid var(--line);border-radius:var(--r);padding:26px;background:#fff}.side-card h3{font-size:17px}
.side-dark{background:var(--ink);border-color:var(--ink);color:#B9BDB6}.side-dark h3{color:#fff}.side-dark .btn{width:100%;margin-top:16px}.side-ph{display:block;text-align:center;margin-top:12px;color:#fff;font:700 18px var(--h);text-decoration:none}
.side-list{list-style:none;padding:0}.side-list a{display:block;padding:9px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink2);font:500 14.5px var(--u)}.side-list a:hover{color:var(--pd)}
.faqwrap{display:grid;grid-template-columns:1fr 1.7fr;gap:64px;align-items:start}.faqs{border-top:2px solid var(--ink)}
.faq{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;list-style:none;padding:20px 44px 20px 0;font:700 17px/1.4 var(--h);color:var(--ink);position:relative}
.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"";position:absolute;right:8px;top:26px;width:9px;height:9px;border-right:2px solid var(--p);border-bottom:2px solid var(--p);transform:rotate(45deg);transition:.2s}
.faq[open] summary:after{transform:rotate(-135deg);top:30px}.faq p{color:var(--mut);padding:0 30px 20px 0}
/* blog */
.pgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.pcard{text-decoration:none;color:var(--ink2);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:border-color .2s}.pcard:hover{border-color:var(--p)}
.pimg img{width:100%;aspect-ratio:16/9;object-fit:cover}.pbody{padding:26px}.pbody time{font:700 12px var(--u);color:var(--p);letter-spacing:.1em;text-transform:uppercase}.pbody h3{margin:10px 0}.pbody p{color:var(--mut);font-size:15px}.more{display:inline-block;margin-top:12px;font:700 14px var(--u);color:var(--pd)}
.post figure{margin:28px 0}.post figure img{border-radius:var(--r)}.post ol{padding-left:22px;margin:14px 0}.post li{margin-bottom:10px}.post hr{border:0;border-top:1px solid var(--line);margin:36px 0}.post p{margin-bottom:14px}.link{font-weight:700}
/* cta/footer */
.cta{background:var(--p);color:#fff;padding:56px 0}.cta h2{color:#fff;margin-bottom:8px}.cta p{opacity:.9;max-width:620px}.cta-in{display:flex;justify-content:space-between;align-items:center;gap:40px}.cta .btn{background:var(--ink);border-color:var(--ink)}.cta .btn:hover{background:#000;border-color:#000}.cta .btn-line-w{background:transparent;border-color:#fff}.cta-btns{display:flex;gap:12px;flex-wrap:wrap}
.ftr{background:var(--ink);color:#9EA39C;padding:72px 0 0;font-size:14.5px}.ftr-grid{display:grid;grid-template-columns:1.4fr 1.3fr .8fr 1.3fr;gap:44px}
.ftr-brand{display:flex;align-items:center;gap:12px;margin-bottom:20px}.ftr h4{color:#fff;font:700 12px var(--u);letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px}
.ftr ul{list-style:none;padding:0}.ftr li{margin-bottom:9px}.ftr a{color:#C9CCC6;text-decoration:none}.ftr a:hover{color:#fff}
.ftr-base{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid #2A2F2A;margin-top:56px;padding-top:22px;padding-bottom:26px;font-size:13px}
.map iframe{width:100%;height:380px;border:0;display:block}
.cinfo{display:grid;grid-template-columns:1fr 1fr;gap:28px;border-top:2px solid var(--ink);padding-top:24px}.cinfo h3{font:700 12px var(--u);letter-spacing:.14em;text-transform:uppercase;color:var(--p)}.cinfo a,.cinfo p{font:700 18px var(--h);color:var(--ink);text-decoration:none;word-break:break-word}.cinfo .tlink{font:700 14px var(--u);color:var(--pd);margin-top:10px}
.mcall{display:none}
@media(max-width:1100px){.trust-in{grid-template-columns:repeat(3,1fr)}.trust-in>div:nth-child(3){border-right:0}.trust-in>div:nth-child(4){padding-left:0}.rep,.rep4{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr;row-gap:30px}.ftr-grid{grid-template-columns:1fr 1fr}}
@media(max-width:980px){:root{--gut:18px}.burger{display:flex;position:relative;z-index:70}.tb-r a:first-child{display:none}
 .nav{position:fixed;top:0;right:0;bottom:0;width:min(88vw,380px);background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:90px 18px 30px;transform:translateX(100%);visibility:hidden;transition:transform .3s,visibility .3s;overflow-y:auto;z-index:60;box-shadow:-20px 0 50px rgba(0,0,0,.2)}
 .nav.open{transform:none;visibility:visible}.nav>a,.dd-t{display:block;padding:14px 0;border-bottom:1px solid var(--line);font-size:17px}.dd{padding:0}.dd-m{display:block;position:static;border:0;box-shadow:none;min-width:0;padding:4px 0 8px 12px}.dd-m a{padding:7px 0}.nav .nav-cta{margin:20px 0 0}
 body.menu .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}body.menu .burger span:nth-child(2){opacity:0}body.menu .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
 .hdr-in{height:72px}.b-icon{width:32px}.b-word{width:138px}
 .g2,.svc,.faqwrap,.ph-grid{grid-template-columns:1fr;gap:40px}.side{position:static}.sec{padding:64px 0}.ph-grid{padding-top:36px;padding-bottom:40px}
 .srow{grid-template-columns:44px 1fr;gap:6px 14px}.srow p{grid-column:2}.sgo{display:none}.srow:hover{padding-left:0;padding-right:0}
 .cta-in{flex-direction:column;align-items:flex-start}
 .mcall{display:flex;position:fixed;left:18px;right:18px;bottom:14px;z-index:55;background:var(--p);color:#fff;justify-content:center;align-items:center;gap:10px;padding:15px;border-radius:var(--r);font:700 16px var(--u);text-decoration:none;box-shadow:0 10px 26px rgba(16,20,16,.35)}
 .ftr{padding-bottom:80px}
}
@media(max-width:640px){body{font-size:16px}.hero{min-height:0}.hero-in{padding-top:0;padding-bottom:0;padding-left:0;padding-right:0}.hero-bg{position:relative;height:240px}.hero{flex-direction:column}
 .hero-panel{border-radius:0;border-left:0;border-top:6px solid var(--p);padding:30px 18px 34px;max-width:none;background:var(--ink)}
 .trust-in{grid-template-columns:1fr 1fr}.trust-in>div{padding:16px 12px 16px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.2)}.trust-in>div:nth-child(4){padding-left:0}
 .rep,.rep4,.rep3,.pgrid,.ftr-grid,.row2,.steps,.maps,.cinfo{grid-template-columns:1fr}.areas{grid-template-columns:1fr 1fr}.steps li{margin-right:0}
 .std thead{display:none}.std tr{display:block;border-top:1px solid var(--line);padding:14px 16px}.std td{display:block;border:0;padding:3px 0}
 .form{padding:22px}.shead-row{display:block}.ftr-base{flex-direction:column}.tb{justify-content:center}.tb>span:first-child{display:none}.tb-r a{margin:0 0 0 0}
}
