@font-face{font-family:"Archivo";src:url(/assets/fonts/archivo.woff2) format("woff2-variations");font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap}

:root{
  --cream:#F4F0E7;
  --paper:#FBF9F4;
  --stone:#E4DCCE;
  --taupe:#B7AA9A;
  --wine:#681F2A;
  --wine-2:#521823;
  --wine-soft:#F1E3E1;
  --ink:#1E1919;
  --soft:#62585A;
  --r-xl:32px;--r-lg:24px;--r-md:16px;--r-sm:12px;
  --wrap:1280px;
  --gut:clamp(16px,4vw,40px);
  --f:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--ink);font-family:var(--f);font-size:1.125rem;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:3px solid var(--wine);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-9999px;top:8px;background:var(--wine);color:var(--cream);padding:10px 16px;z-index:100;border-radius:8px}
.skip:focus{left:8px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.i{width:1.25em;height:1.25em;flex-shrink:0}

h1,h2,h3{font-weight:800;font-stretch:118%;letter-spacing:-.035em;line-height:1;text-wrap:balance}
h1{font-size:clamp(2.8rem,6.4vw,5.9rem)}
h2{font-size:clamp(2.2rem,4.6vw,4rem)}
h3{font-size:1.4rem;letter-spacing:-.02em;line-height:1.15}
.lede{font-size:1.25rem;line-height:1.55;color:var(--soft);max-width:52ch}
section{padding:clamp(72px,9vw,128px) 0}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:32px;flex-wrap:wrap;margin-bottom:clamp(36px,5vw,56px)}
.sec-head h2{max-width:15ch}
.sec-head .lede{max-width:44ch}
.wine-text{color:var(--wine)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:14px;padding:8px 8px 8px 24px;min-height:56px;border-radius:999px;background:var(--ink);color:var(--cream);text-decoration:none;font:600 1rem var(--f);border:0;cursor:pointer;transition:background .2s,color .2s}
.btn .bi{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--cream);color:var(--ink);transition:transform .25s}
.btn .bi .i{width:18px;height:18px}
.btn:hover .bi{transform:rotate(45deg)}
.btn.wine{background:var(--wine)}
.btn.wine:hover{background:var(--wine-2)}
.btn.light{background:var(--cream);color:var(--ink)}
.btn.light .bi{background:var(--wine);color:var(--cream)}
.btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.btn.ghost .bi{background:var(--ink);color:var(--cream)}
.btn.ghost:hover .bi,.btn[href^="mailto"]:hover .bi{transform:none}
.btn.sm{min-height:46px;padding:5px 5px 5px 18px;font-size:.92rem;gap:10px}
.btn.sm .bi{width:36px;height:36px}
.tlink{display:inline-flex;align-items:center;gap:8px;font-weight:600;text-decoration:none;color:var(--wine)}
.tlink .i{transition:transform .2s}
.tlink:hover .i{transform:translateX(4px)}

/* header */
.top{position:sticky;top:0;z-index:50;background:rgba(244,240,231,.9);backdrop-filter:blur(12px);transition:box-shadow .2s}
.top.solid{box-shadow:0 1px 0 var(--stone)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;height:80px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);flex-shrink:0}
.logo .mk{width:22px;height:30px}
.logo b{font-weight:700;font-stretch:125%;font-size:1.3rem;letter-spacing:-.04em}
.mainnav{display:flex;gap:4px;list-style:none;background:var(--paper);padding:6px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--stone)}
.mainnav a{display:block;padding:8px 16px;border-radius:999px;text-decoration:none;font-weight:500;font-size:.95rem;transition:background .15s}
.mainnav a:hover{background:var(--cream)}
.mainnav a[aria-current]{background:var(--ink);color:var(--cream)}
.top-r{display:flex;align-items:center;gap:10px}
.menu-btn{display:none;place-items:center;width:46px;height:46px;border-radius:50%;border:0;background:var(--ink);color:var(--cream);cursor:pointer}
.menu-btn .i{width:22px;height:22px}
.menu-btn .close{display:none}
body.menu-open .menu-btn .close{display:block}
body.menu-open .menu-btn .i:not(.close){display:none}
@media (max-width:1060px){.mainnav{display:none}.menu-btn{display:grid}}

.overlay{position:fixed;inset:80px 12px auto;z-index:45;background:var(--ink);color:var(--cream);border-radius:var(--r-lg);padding:28px;transform:translateY(-12px);opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s}
body.menu-open .overlay{opacity:1;transform:none;visibility:visible}
.overlay nav{display:grid}
.overlay nav a{font-size:clamp(1.8rem,7vw,2.6rem);font-weight:700;font-stretch:118%;letter-spacing:-.03em;text-decoration:none;padding:6px 0;border-bottom:1px solid #3A3132}
.overlay nav a:hover{color:var(--taupe)}
.overlay .meta{display:grid;gap:10px;margin-top:22px;font-size:.98rem}
.overlay .meta a{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--taupe)}

/* home hero */
.hero{padding:clamp(28px,4vw,56px) 0 clamp(56px,7vw,96px)}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,4vw,64px);align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 10px;border-radius:999px;background:var(--paper);box-shadow:inset 0 0 0 1px var(--stone);font-size:.92rem;font-weight:500;margin-bottom:26px}
.eyebrow .i{color:var(--wine)}
.hero h1{text-wrap:wrap}
.hero h1 span{color:var(--wine);display:block}
.hero .lede{margin:26px 0 34px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.assure{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:30px;list-style:none;font-size:.98rem;color:var(--soft)}
.assure li{display:flex;align-items:center;gap:8px}
.assure .i{color:var(--wine)}

.stage{position:relative;background:var(--wine);border-radius:var(--r-xl);aspect-ratio:1/1.02;overflow:hidden;isolation:isolate}
.stage .tile-mark{position:absolute;right:-8%;bottom:-14%;width:62%;height:auto;color:rgba(244,240,231,.07);z-index:-1}
.gcard{position:absolute;left:6%;top:7%;width:58%;background:#fff;border-radius:20px;box-shadow:0 30px 60px -20px rgba(30,10,12,.45);overflow:hidden;font-size:.86rem;color:#202124}
.gphotos{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:3px;height:120px}
.gphotos div{display:grid;place-items:center;color:rgba(255,255,255,.85)}
.gphotos div:first-child{grid-row:1/3;background:linear-gradient(135deg,#8A3A44,#4E1620)}
.gphotos div:nth-child(2){background:#B7AA9A}
.gphotos div:nth-child(3){background:#3B2E2F}
.gphotos .i{width:28px;height:28px}
.gbody{padding:14px 16px 16px}
.gbody strong{display:block;font-size:1.05rem;font-weight:600;letter-spacing:-.01em}
.rating{display:flex;align-items:center;gap:6px;margin:4px 0 2px;color:#5f6368}
.rating b{color:#202124;font-weight:600}
.stars{display:flex;color:#F4B400}
.stars .i{width:14px;height:14px}
.gmeta{color:#5f6368}
.open{color:#188038;font-weight:600}
.gbtns{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:12px;text-align:center;font-size:.72rem;color:#1a73e8}
.gbtns span{display:grid;justify-items:center;gap:4px}
.gbtns .i{width:34px;height:34px;padding:8px;border-radius:50%;background:#e8f0fe}
.mini-phone{position:absolute;right:6%;top:26%;width:38%;aspect-ratio:9/18.5;background:var(--ink);border-radius:30px;padding:8px;box-shadow:0 30px 60px -20px rgba(0,0,0,.5)}
.mini-phone .scr{height:100%;border-radius:23px;background:var(--cream);overflow:hidden;display:flex;flex-direction:column}
.mp-nav{display:flex;justify-content:space-between;align-items:center;padding:12px 12px 8px;font-size:.62rem;font-weight:700;font-stretch:118%}
.mp-nav .i{width:14px;height:14px}
.mp-hero{margin:4px 8px;padding:14px 12px;border-radius:14px;background:var(--wine);color:var(--cream)}
.mp-hero b{display:block;font-size:.95rem;line-height:1.05;font-stretch:118%;letter-spacing:-.03em}
.mp-hero small{display:block;font-size:.55rem;opacity:.8;margin-top:6px}
.mp-call{display:flex;align-items:center;justify-content:center;gap:6px;margin:8px;padding:9px;border-radius:999px;background:var(--ink);color:var(--cream);font-size:.62rem;font-weight:600}
.mp-call .i{width:12px;height:12px}
.mp-rows{display:grid;gap:6px;margin:4px 8px}
.mp-rows div{height:34px;border-radius:10px;background:var(--paper);box-shadow:inset 0 0 0 1px var(--stone)}
.toast{position:absolute;left:6%;bottom:8%;display:flex;align-items:center;gap:10px;background:var(--cream);border-radius:16px;padding:10px 16px 10px 10px;box-shadow:0 20px 40px -12px rgba(0,0,0,.4);font-size:.82rem;line-height:1.25;animation:pop 4s ease-in-out infinite}
.toast .ti{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--wine);color:var(--cream)}
.toast b{display:block;font-weight:600}
.toast small{color:var(--soft)}
@keyframes pop{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}

/* towns ticker */
.ticker{background:var(--ink);color:var(--cream);overflow:hidden;padding:18px 0}
.track{display:flex;width:max-content;animation:slide 50s linear infinite}
.track span{display:inline-flex;align-items:center;gap:12px;padding-right:36px;font-size:clamp(1.1rem,2vw,1.5rem);font-weight:600;font-stretch:118%;letter-spacing:-.02em;white-space:nowrap}
.track .i{color:var(--taupe);width:20px;height:20px}
@keyframes slide{to{transform:translateX(-50%)}}

/* before / after */
.compare{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.cmp{border-radius:var(--r-xl);padding:clamp(22px,3vw,36px);display:flex;flex-direction:column;gap:22px}
.cmp.before{background:var(--paper);box-shadow:inset 0 0 0 1px var(--stone)}
.cmp.after{background:var(--wine);color:var(--cream)}
.cmp h3{display:flex;align-items:center;gap:10px}
.cmp.before h3 .i{color:#9b8f86}
.cmp.after h3 .i{color:var(--taupe)}
.cmp ul{list-style:none;display:grid;gap:12px}
.cmp li{display:flex;gap:10px;align-items:flex-start;font-size:1.02rem}
.cmp li .i{margin-top:3px}
.cmp.before li{color:var(--soft)}
.cmp.before li .i{color:#B3433F}
.cmp.after li .i{color:var(--taupe)}
.lcard{background:#fff;color:#202124;border-radius:18px;padding:16px;font-size:.88rem;box-shadow:0 10px 30px -14px rgba(0,0,0,.35)}
.lcard strong{font-size:1rem;font-weight:600}
.lcard .ph{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;height:70px;margin-bottom:12px;border-radius:12px;overflow:hidden}
.lcard .ph div{display:grid;place-items:center}
.before .lcard{opacity:.92}
.before .lcard .ph div{background:#ECEAE6;color:#B8B2AB}
.after .lcard .ph div:nth-child(1){background:#8A3A44}
.after .lcard .ph div:nth-child(2){background:#B7AA9A}
.after .lcard .ph div:nth-child(3){background:#3B2E2F}
.lcard .ph .i{width:22px;height:22px;color:rgba(255,255,255,.85)}
.before .lcard .ph .i{color:#B8B2AB}
.warn{color:#B3433F;font-weight:600}
.stars.dim{color:#D7CFC4}

/* services bento */
.services{background:var(--paper)}
.bento{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.bc{position:relative;display:flex;flex-direction:column;gap:14px;padding:clamp(22px,2.6vw,32px);border-radius:var(--r-lg);background:var(--cream);text-decoration:none;min-height:250px;transition:transform .25s,box-shadow .25s;overflow:hidden}
.bc:hover{transform:translateY(-4px);box-shadow:0 22px 40px -24px rgba(60,20,25,.5)}
.bc .ic{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--wine);color:var(--cream)}
.bc .ic .i{width:26px;height:26px}
.bc p{color:var(--soft);font-size:1.02rem}
.bc .go{position:absolute;top:22px;right:22px;width:22px;height:22px;color:var(--soft);transition:transform .2s}
.bc:hover .go{transform:translate(3px,-3px);color:var(--wine)}
.bc.feature{grid-column:span 2;grid-row:span 2;background:var(--wine);color:var(--cream);justify-content:space-between}
.bc.feature .ic{background:var(--cream);color:var(--wine)}
.bc.feature p{color:#E9D9D6;max-width:40ch}
.bc.feature h3{font-size:clamp(1.8rem,3vw,2.6rem)}
.bc.feature .go{color:var(--cream)}
.browser{border-radius:16px;background:var(--cream);overflow:hidden;box-shadow:0 20px 50px -20px rgba(0,0,0,.5);margin-top:8px}
.browser .bar{display:flex;align-items:center;gap:6px;padding:10px 14px;background:#EAE3D7}
.browser .bar i{width:9px;height:9px;border-radius:50%;background:#CDBFAE}
.browser .bar span{margin-left:10px;padding:3px 12px;border-radius:999px;background:var(--paper);font-size:.72rem;color:var(--soft)}
.browser .pg{display:grid;grid-template-columns:1.3fr 1fr;gap:14px;padding:18px;color:var(--ink)}
.browser .pg b{font-size:1.4rem;font-stretch:118%;letter-spacing:-.03em;line-height:1}
.browser .pg .l{display:grid;gap:8px;align-content:start}
.browser .pg .line{height:8px;border-radius:4px;background:var(--stone)}
.browser .pg .pill{width:110px;height:28px;border-radius:999px;background:var(--wine);margin-top:6px}
.browser .pg .img{border-radius:12px;background:linear-gradient(140deg,#B7AA9A,#8A3A44);min-height:110px}
.bc.cta{background:var(--ink);color:var(--cream)}
.bc.cta p{color:#C9BEB5}
.bc.cta .ic{background:var(--cream);color:var(--ink)}
.bc.cta .go{color:var(--cream)}

/* industries */
.ind-row{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.ind{display:flex;flex-direction:column;gap:12px;padding:24px;border-radius:var(--r-lg);background:var(--paper);box-shadow:inset 0 0 0 1px var(--stone);text-decoration:none;transition:background .2s,color .2s}
.ind .i{width:34px;height:34px;color:var(--wine)}
.ind strong{font-size:1.15rem;font-weight:700;letter-spacing:-.02em;line-height:1.2}
.ind span{font-size:.95rem;color:var(--soft)}
.ind:hover{background:var(--wine);color:var(--cream);box-shadow:none}
.ind:hover .i{color:var(--taupe)}
.ind:hover span{color:#E9D9D6}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:s;position:relative}
.step{position:relative;padding:26px;border-radius:var(--r-lg);background:var(--paper);counter-increment:s}
.step::before{content:counter(s);display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--ink);color:var(--cream);font-weight:700;margin-bottom:22px}
.step h3{margin-bottom:8px}
.step p{color:var(--soft);font-size:1.02rem}

/* why band */
.why{background:var(--wine);color:var(--cream);border-radius:var(--r-xl);margin:0 clamp(8px,1.5vw,20px);padding:clamp(56px,7vw,96px) 0}
.why .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,5vw,72px);align-items:start}
.why .lede{color:#E9D9D6;margin-top:20px}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.why-grid div{padding:22px;border-radius:var(--r-md);background:rgba(244,240,231,.07);box-shadow:inset 0 0 0 1px rgba(244,240,231,.14)}
.why-grid .i{width:28px;height:28px;color:var(--taupe);margin-bottom:14px}
.why-grid h3{font-size:1.15rem;margin-bottom:6px}
.why-grid p{color:#E1CFCB;font-size:.98rem}

/* instagram */
.ig-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.ig-grid a{display:block;border-radius:var(--r-lg);overflow:hidden;text-decoration:none}
.post{aspect-ratio:4/5;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;position:relative;transition:transform .4s;font-family:Georgia,"Times New Roman",serif}
.ig-grid a:hover .post{transform:scale(1.03)}
.post .s{font-weight:700;text-transform:uppercase;line-height:.9}
.post .t{font-family:var(--f);font-weight:700;font-size:clamp(.55rem,1vw,.72rem);letter-spacing:.12em;text-transform:uppercase;margin-top:12px}
.post .m{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);width:16px;height:22px}
.p1{background:var(--wine);color:var(--cream)}
.p1 .a{font-size:clamp(1rem,2vw,1.6rem)}.p1 .b{font-size:clamp(3rem,7vw,5.4rem);color:var(--taupe)}
.p2{background:var(--taupe);color:var(--cream)}
.p2 .a{font-size:clamp(1rem,2vw,1.7rem)}.p2 .b{font-size:clamp(2rem,4.4vw,3.4rem);color:var(--wine)}
.p3{background:var(--paper);color:var(--taupe);box-shadow:inset 0 0 0 1px var(--stone)}
.p3 .a{font-size:clamp(2.2rem,4.6vw,3.7rem)}

/* areas */
.area-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,5vw,72px);align-items:center}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips a,.chips span{display:inline-flex;align-items:center;gap:8px;padding:12px 18px 12px 14px;border-radius:999px;background:var(--paper);box-shadow:inset 0 0 0 1px var(--stone);text-decoration:none;font-weight:600;font-size:1rem}
.chips .i{color:var(--wine);width:18px;height:18px}
.chips a:hover{background:var(--wine);color:var(--cream);box-shadow:none}
.chips a:hover .i{color:var(--taupe)}
.chips .plus{background:var(--ink);color:var(--cream);box-shadow:none}
.chips .plus .i{color:var(--taupe)}

/* faq */
.faq-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,5vw,72px);align-items:start}
.faq-list{display:grid;gap:10px}
details{border-radius:var(--r-md);background:var(--paper);box-shadow:inset 0 0 0 1px var(--stone)}
summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 22px;font-weight:600;font-size:1.08rem;line-height:1.35}
summary::-webkit-details-marker{display:none}
summary .i{flex-shrink:0;width:30px;height:30px;padding:6px;border-radius:50%;background:var(--cream);color:var(--wine);transition:transform .25s,background .2s}
details[open] summary .i{transform:rotate(45deg);background:var(--wine);color:var(--cream)}
details p{padding:0 22px 22px;color:var(--soft);max-width:64ch}

/* guides */
.guide-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.guide-list a{display:flex;flex-direction:column;justify-content:space-between;gap:28px;min-height:200px;padding:26px;border-radius:var(--r-lg);background:var(--paper);box-shadow:inset 0 0 0 1px var(--stone);text-decoration:none;font-weight:700;font-size:1.3rem;letter-spacing:-.02em;line-height:1.2;transition:background .2s,color .2s}
.guide-list a .i{width:40px;height:40px;padding:10px;border-radius:50%;background:var(--wine);color:var(--cream)}
.guide-list a:hover{background:var(--ink);color:var(--cream);box-shadow:none}

/* contact */
.contact{background:var(--ink);color:var(--cream);border-radius:var(--r-xl) var(--r-xl) 0 0}
.contact .wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(32px,5vw,72px);align-items:start}
.contact h1,.contact h2{font-size:clamp(2.4rem,5vw,4.4rem)}
.contact h1 span,.contact h2 span{color:var(--taupe)}
.contact .lede{color:#CFC4BB;margin-top:22px}
.contact .crumbs{color:var(--taupe)}
.offer{display:flex;gap:14px;margin-top:30px;padding:20px;border-radius:var(--r-md);background:rgba(244,240,231,.06);box-shadow:inset 0 0 0 1px rgba(244,240,231,.14);color:#D9CFC7}
.offer .i{width:28px;height:28px;color:var(--taupe);flex-shrink:0}
.offer strong{display:block;color:var(--cream);margin-bottom:2px}
.direct{display:grid;gap:12px;margin-top:28px}
.direct a{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:600;justify-self:start}
.direct a .i{width:36px;height:36px;padding:8px;border-radius:50%;background:rgba(244,240,231,.1);color:var(--taupe)}
.direct a:hover{color:var(--taupe)}
form.q{background:var(--cream);color:var(--ink);border-radius:var(--r-xl);padding:clamp(22px,3vw,36px);display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:grid;gap:7px}
.field.full{grid-column:1/-1}
form.q label,form.q legend{font-weight:600;font-size:.95rem}
form.q label i,form.q legend i{font-style:normal;font-weight:400;color:var(--soft)}
form.q input,form.q select,form.q textarea{font:inherit;font-size:1.05rem;color:var(--ink);background:var(--paper);border:0;box-shadow:inset 0 0 0 1.5px var(--stone);border-radius:var(--r-sm);padding:14px 16px;width:100%}
form.q select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='%23681F2A'%3E%3Cpath d='M216.49 104.49l-80 80a12 12 0 0 1-17 0l-80-80a12 12 0 0 1 17-17L128 159l71.51-71.52a12 12 0 0 1 17 17Z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:16px;background-position:right 16px center}
form.q input:focus,form.q select:focus,form.q textarea:focus{outline:none;box-shadow:inset 0 0 0 2px var(--wine)}
form.q textarea{min-height:120px;resize:vertical}
form.q fieldset{border:0;grid-column:1/-1}
.checks{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.checks label{position:relative;cursor:pointer;font-weight:500!important}
.checks input{position:absolute;opacity:0;width:1px;height:1px}
.checks span{display:inline-block;padding:10px 16px;border-radius:999px;background:var(--paper);box-shadow:inset 0 0 0 1.5px var(--stone);transition:background .15s}
.checks input:checked+span{background:var(--wine);color:var(--cream);box-shadow:none}
.checks input:focus-visible+span{outline:3px solid var(--wine);outline-offset:2px}
.hidden{position:absolute;left:-9999px}
.form-foot{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:4px}
.form-foot small{color:var(--soft);font-size:.92rem}
.form-status{grid-column:1/-1;font-weight:600;display:none;padding:14px 16px;border-radius:var(--r-sm)}
.form-status.ok{display:block;background:var(--wine-soft)}
.form-status.err{display:block;background:#F6D8D5}

/* inner pages */
.page-hero{padding:clamp(24px,4vw,48px) 0 clamp(48px,6vw,80px)}
.page-hero .wrap{display:grid;grid-template-columns:1fr 340px;gap:clamp(28px,4vw,64px);align-items:center}
.crumbs{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.92rem;color:var(--soft);margin-bottom:24px}
.crumbs li{display:flex;align-items:center;gap:6px}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--wine)}
.crumbs .i{width:14px;height:14px;opacity:.6}
.page-hero h1{font-size:clamp(2.5rem,5.4vw,4.8rem);max-width:17ch}
.page-hero .lede{margin:24px 0 32px}
.ph-tile{position:relative;aspect-ratio:1;border-radius:var(--r-xl);background:var(--wine);display:grid;place-items:center;overflow:hidden;color:var(--cream)}
.ph-tile>.i{width:38%;height:38%;position:relative;z-index:1}
.ph-tile .tile-mark{position:absolute;right:-10%;bottom:-18%;width:70%;height:auto;color:rgba(244,240,231,.08)}
.body{padding:0 0 clamp(64px,8vw,104px)}
.body .wrap{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(32px,5vw,72px);align-items:start}
.prose{max-width:70ch;font-size:1.15rem;line-height:1.72;background:var(--paper);border-radius:var(--r-xl);padding:clamp(24px,4vw,56px)}
.prose>*+*{margin-top:1.05em}
.prose h2{font-size:clamp(1.6rem,2.6vw,2.1rem);margin-top:1.8em;line-height:1.08}
.prose>h2:first-child{margin-top:0}
.prose h3{font-size:1.3rem;margin-top:1.4em}
.prose a{color:var(--wine);text-underline-offset:3px;font-weight:500}
.prose ul,.prose ol{padding-left:1.3em}
.prose li+li{margin-top:.5em}
.prose li::marker{color:var(--wine)}
.prose .note{background:var(--cream);border-radius:var(--r-md);padding:20px 22px}
.prose table{border-collapse:collapse;width:100%;font-size:1rem}
.prose th,.prose td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--stone);vertical-align:top}
.prose th{font-weight:700;font-size:.9rem;color:var(--soft)}
.side{position:sticky;top:100px;display:grid;gap:16px}
.side .card{background:var(--wine);color:var(--cream);padding:28px;border-radius:var(--r-lg)}
.side .card .big{width:36px;height:36px;color:var(--taupe);margin-bottom:16px}
.side .card h2{font-size:1.6rem;margin-bottom:10px}
.side .card p{font-size:1rem;color:#E9D9D6;margin-bottom:20px}
.side .links{background:var(--paper);padding:22px;border-radius:var(--r-lg)}
.side .links h2{font-size:1rem;letter-spacing:-.01em;font-stretch:100%;color:var(--soft);font-weight:600;margin-bottom:8px}
.side .links ul{list-style:none}
.side .links li a{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--stone);text-decoration:none;font-weight:600}
.side .links li:last-child a{border-bottom:0}
.side .links li a .i{width:16px;height:16px;color:var(--wine);transition:transform .2s}
.side .links li a:hover{color:var(--wine)}
.side .links li a:hover .i{transform:translateX(3px)}
.faq-block{margin-top:2.4em}
.faq-block h2{margin-bottom:.8em}
.faq-block details{background:var(--cream);box-shadow:none;margin-top:10px}
.faq-block summary .i{background:var(--paper)}
.cta-band{padding:0 0 clamp(64px,8vw,104px)}
.cta-card{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap;padding:clamp(28px,5vw,64px);border-radius:var(--r-xl);background:var(--ink);color:var(--cream)}
.cta-card h2{max-width:14ch}
.cta-card p{max-width:46ch;margin-top:14px;color:#CFC4BB}
.hub-list{list-style:none;display:grid;gap:10px;margin-top:1.4em;padding:0!important}
.hub-list li+li{margin-top:0!important}
.hub-list a{display:flex;align-items:center;gap:18px;padding:18px 20px;border-radius:var(--r-md);background:var(--cream);text-decoration:none;color:var(--ink)!important;transition:background .2s,color .2s}
.hub-list .hi{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--wine);color:var(--cream);flex-shrink:0}
.hub-list .hi .i{width:26px;height:26px}
.hub-list .ht{display:grid;gap:2px;flex:1}
.hub-list strong{font-size:1.2rem;letter-spacing:-.02em}
.hub-list .ht span{font-size:1rem;color:var(--soft);font-weight:400}
.hub-list .go{width:22px;height:22px;color:var(--wine)}
.hub-list a:hover{background:var(--ink);color:var(--cream)!important}
.hub-list a:hover .ht span{color:#CFC4BB}
.hub-list a:hover .go{color:var(--cream)}

/* footer */
footer{background:var(--ink);color:#BFB3AA;padding:72px 0 28px;overflow:hidden}
.contact+footer,main:has(.contact:last-child)+footer{padding-top:24px}
.foot-top{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:32px;padding-top:40px;border-top:1px solid #3A3132}
footer .logo{color:var(--cream)}
.sign{font-size:1.3rem;font-weight:700;font-stretch:112%;letter-spacing:-.02em;color:var(--cream);max-width:16ch;margin-top:18px;line-height:1.2}
.contact-lines{display:grid;gap:8px;margin-top:18px}
.contact-lines a{display:inline-flex;align-items:center;gap:8px;text-decoration:none}
.contact-lines a:hover{color:var(--cream)}
.foot-col h2{font-size:.95rem;font-stretch:100%;letter-spacing:0;font-weight:600;color:var(--cream);margin-bottom:14px}
.foot-col ul{list-style:none;display:grid;gap:8px;font-size:.98rem}
.foot-col a{text-decoration:none}
.foot-col a:hover{color:var(--cream)}
.giant{font-size:clamp(3rem,15.2vw,15.4rem);font-weight:800;font-stretch:125%;letter-spacing:-.06em;line-height:.8;color:var(--wine);margin:56px 0 18px;white-space:nowrap;text-align:center}
.fine{font-size:.9rem;padding-top:20px;border-top:1px solid #3A3132}

@media (max-width:1060px){
  .hero .wrap,.area-wrap,.faq-wrap,.contact .wrap,.body .wrap,.why .wrap{grid-template-columns:1fr}
  .stage{max-width:560px;width:100%;margin:0 auto}
  .bento{grid-template-columns:1fr 1fr}
  .ind-row{grid-template-columns:repeat(3,1fr)}
  .steps{grid-template-columns:1fr 1fr}
  .side{position:static}
  .page-hero .wrap{grid-template-columns:1fr 200px}
  .foot-top{grid-template-columns:1fr 1fr 1fr}
  .foot-brand{grid-column:1/-1}
  .guide-list{grid-template-columns:1fr}
  .guide-list a{min-height:0}
}
@media (max-width:680px){
  body{font-size:1.06rem}
  .top-r .btn{display:none}
  .compare,.bento,.steps,.why-grid,.ig-grid{grid-template-columns:1fr}
  .bc.feature{grid-column:auto;grid-row:auto}
  .ind-row{grid-template-columns:1fr 1fr}
  .ig-grid{grid-template-columns:repeat(3,1fr);gap:6px}
  .ig-grid a{border-radius:12px}
  .post{padding:8px}
  .p1 .a,.p2 .a{font-size:.55rem}.p1 .b{font-size:1.6rem}.p2 .b{font-size:1rem}.p3 .a{font-size:1rem}
  .post .t{display:none}
  .post .m{bottom:8px;width:10px;height:14px}
  .page-hero .wrap{grid-template-columns:1fr}
  .ph-tile{display:none}
  .prose{padding:22px 18px;border-radius:var(--r-lg)}
  form.q{grid-template-columns:1fr}
  .hero-actions{flex-direction:column}
  .hero-actions .btn{justify-content:space-between}
  .foot-top{grid-template-columns:1fr 1fr}
  .gcard{width:66%;left:5%}
  .mini-phone{width:42%;right:5%}
  .toast{font-size:.72rem}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .track,.toast{animation:none}
}

/* video mockups */
.reel{position:absolute;left:9%;top:7%;width:46%;aspect-ratio:9/17.5;background:var(--ink);border-radius:30px;padding:8px;box-shadow:0 30px 60px -20px rgba(0,0,0,.55)}
.reel-scr{position:relative;height:100%;border-radius:23px;overflow:hidden;background:linear-gradient(165deg,#B7AA9A 0%,#8A3A44 48%,#2B1416 100%);color:#fff}
.reel-scr::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.18),transparent 45%)}
.reel-top{position:absolute;top:14px;left:14px;right:14px;display:flex;align-items:center;gap:6px;font-size:.7rem;font-weight:700;letter-spacing:.04em;z-index:1}
.rec-dot{width:8px;height:8px;border-radius:50%;background:#E5484D;animation:blink 1.4s infinite}
.reel-top .rt{margin-left:auto;font-weight:500;opacity:.85}
@keyframes blink{50%{opacity:.25}}
.reel-play{position:absolute;inset:0;display:grid;place-items:center;z-index:1}
.reel-play .i{width:54px;height:54px;padding:15px;border-radius:50%;background:rgba(255,255,255,.22);backdrop-filter:blur(6px)}
.reel-side{position:absolute;right:10px;bottom:70px;display:grid;gap:12px;z-index:1;font-size:.62rem;font-weight:600;text-align:center}
.reel-side span{display:grid;justify-items:center;gap:2px}
.reel-side .i{width:20px;height:20px}
.reel-cap{position:absolute;left:12px;right:46px;bottom:14px;font-size:.7rem;line-height:1.3;z-index:1}
.reel-cap b{display:block;font-size:.76rem}
.edit-card{position:absolute;right:6%;top:30%;width:50%;background:var(--cream);border-radius:18px;padding:14px;box-shadow:0 26px 50px -18px rgba(0,0,0,.5);display:grid;gap:7px}
.ec-head{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;font-weight:600;margin-bottom:4px}
.ec-head span{display:flex;align-items:center;gap:6px}
.ec-head .i{width:16px;height:16px;color:var(--wine)}
.ec-head small{font-weight:500;color:var(--soft)}
.tl-track{display:flex;gap:3px;height:22px}
.tl-track i{border-radius:5px;background:var(--wine)}
.tl-track i.b{background:#8A3A44}
.tl-track.t2 i{background:var(--taupe);height:16px}
.tl-track.t2{height:16px}
.tl-track.t3 i{background:var(--ink);opacity:.75;height:10px}
.tl-track.t3{height:10px}
.toast{left:auto;right:8%;bottom:7%}
.tl{position:relative;border-radius:16px;background:var(--cream);padding:16px;display:grid;gap:7px;color:var(--ink);box-shadow:0 20px 50px -20px rgba(0,0,0,.5);margin-top:8px}
.tl-top{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;font-weight:600;margin-bottom:6px;gap:12px}
.tl-top .rec{display:flex;align-items:center;gap:6px}
.tl-top .rec .i{width:16px;height:16px;color:var(--wine)}
.tl-top .tc{font-variant-numeric:tabular-nums;color:var(--soft);font-weight:500}
.tl .playhead{position:absolute;left:42%;top:40px;bottom:12px;width:2px;background:#E5484D;border-radius:2px}
.tl .playhead::before{content:"";position:absolute;top:-5px;left:-4px;width:10px;height:10px;border-radius:50%;background:#E5484D}
.prof{padding:14px}
.pr-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.pr-head .av{width:40px;height:40px;border-radius:50%;background:#E3DFD9;flex-shrink:0}
.pr-head .av.on{background:conic-gradient(var(--wine),var(--taupe),var(--wine));padding:3px;box-shadow:inset 0 0 0 3px #fff}
.pr-head strong{display:block;font-size:.95rem}
.pr-head small{color:#70757a;font-size:.78rem}
.pr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;border-radius:10px;overflow:hidden}
.pr-grid div{aspect-ratio:1;display:grid;place-items:center;background:#ECEAE6;color:#B8B2AB;font-size:.72rem;font-weight:800;letter-spacing:.06em}
.pr-grid div .i{width:20px;height:20px}
.pr-grid.on div{color:rgba(255,255,255,.9)}
.pr-grid.on div:nth-child(1){background:#8A3A44}.pr-grid.on div:nth-child(2){background:#B7AA9A}.pr-grid.on div:nth-child(3){background:#3B2E2F}
.pr-grid.on div:nth-child(4){background:#B7AA9A}.pr-grid.on div:nth-child(5){background:#681F2A}.pr-grid.on div:nth-child(6){background:#5A4A48}
.ind-row{grid-template-columns:repeat(5,1fr)}
@media (max-width:1060px){.ind-row{grid-template-columns:repeat(3,1fr)}}
@media (max-width:680px){
  .ind-row{grid-template-columns:1fr 1fr}
  .reel{width:50%;left:6%}
  .edit-card{width:56%;right:5%}
  .reel-side{display:none}
}
@media (prefers-reduced-motion:reduce){.rec-dot{animation:none}}
