:root{--bg:#f7f3ec;--bg2:#efe7da;--ink:#141210;--ink2:#4a443d;--muted:#6f675e;--gold:#c7a273;--brown:#7a5a36;--line:#ddd3c4;--dark:#0e0d0c;--sans:"Archivo",system-ui,sans-serif;--serif:"Instrument Serif",Georgia,serif}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}
.wrap{max-width:1200px;margin:0 auto;padding:0 52px}
h1,h2,h3{font-weight:800;letter-spacing:-.035em;line-height:1.02}
h1 em,h2 em{display:block;font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.01em;color:var(--brown)}
.dark-band h2 em,.contact h2 em{color:var(--gold)}
h2{font-size:clamp(34px,4vw,46px)}
.sec{padding:110px 52px}
/* buttons */
.btn{display:inline-flex;align-items:stretch;font-weight:600;font-size:15px;border:1px solid var(--ink);transition:.25s}
.btn span{padding:12px 17px;display:flex;align-items:center}
.btn i{display:flex;align-items:center;padding:0 14px;border-left:1px solid rgba(255,255,255,.18);color:var(--gold);transition:transform .25s}
.btn:hover i{transform:translateX(3px)}
.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{background:#2a2622}
.btn-line{border-color:var(--line);background:#fbf8f3}.btn-line i{border-color:var(--line);color:var(--brown)}.btn-line:hover{border-color:var(--ink)}
.btn-gold{background:var(--gold);border-color:var(--gold);color:var(--ink)}.btn-gold i{border-color:rgba(0,0,0,.15);color:var(--ink)}.btn-gold:hover{background:#d4b283}
.ulink{display:inline-flex;gap:10px;align-items:center;font-weight:600;font-size:15px;border-bottom:1px solid currentColor;padding-bottom:4px}
.ulink svg{color:var(--gold);transition:.25s}.ulink:hover svg{transform:translateX(4px)}
/* nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(247,243,236,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;height:62px;gap:26px;max-width:1200px}
.brand img{height:42px;width:auto}
.links{margin-left:auto;display:flex;gap:27px;font-size:14px;font-weight:500}
.links>a,.dd>a{display:flex;gap:7px;align-items:center;padding:8px 0}
.links a:hover{color:var(--brown)}
.dd{position:relative}.dd-menu{position:absolute;top:100%;left:-16px;background:var(--bg);border:1px solid var(--line);padding:10px 0;min-width:240px;opacity:0;visibility:hidden;transform:translateY(6px);transition:.2s;box-shadow:0 20px 40px -20px rgba(0,0,0,.25)}
.dd:hover .dd-menu{opacity:1;visibility:visible;transform:none}.dd-menu a{display:block;padding:8px 18px}.dd-menu a:hover{background:var(--bg2)}
.nav-cta{font-size:14px}.nav-cta span{padding:9px 13px}
.burger{display:none;background:none;border:0;width:30px;height:30px;flex-direction:column;justify-content:center;gap:6px;margin-left:auto}.burger span{height:1.5px;background:var(--ink);display:block}
/* scroll rail */
.rail{position:fixed;left:26px;top:90px;bottom:0;width:1px;z-index:40;pointer-events:none}
.rail span{display:block;width:1px;height:0;background:var(--brown);transition:height .1s linear}
/* hero */
.hero{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center;padding-top:70px;padding-bottom:40px;min-height:min(calc(100vh - 130px),760px)}
.hero h1{font-size:clamp(46px,5.4vw,66px);letter-spacing:-.045em}
.hero h1 em{font-size:1.02em;margin-top:6px;line-height:1.05}
.lead{font-size:18px;color:var(--ink2);max-width:360px;margin:24px 0 30px;line-height:1.45}
.ctas{display:flex;gap:10px;flex-wrap:wrap}
.small{font-size:13px;color:var(--muted);margin-top:18px;max-width:310px}.small a{color:var(--ink2);border-bottom:1px solid var(--brown)}
.hero-art{position:relative}
.dial{position:relative;width:100%;max-width:500px;aspect-ratio:1;margin-left:auto}
.dial-svg{width:100%;height:100%;overflow:visible;font-family:var(--sans)}
.route{stroke-dasharray:1400;stroke-dashoffset:1400;animation:draw 3s .4s ease forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.illus{text-align:right;font-size:11px;color:var(--muted);margin-top:4px}
.card{position:absolute;background:#fbf9f5;border-radius:5px;box-shadow:0 22px 40px -18px rgba(40,25,10,.35);font-size:9px;padding:10px}
.card b{font-size:9.5px}
.store{left:24%;top:18%;width:44%;padding:0 0 8px}
.store .ch{display:flex;justify-content:space-between;padding:10px 10px 6px}
.prod{background:linear-gradient(#ebe3d6,#ddd2c1);height:160px;margin:0 6px;position:relative;overflow:hidden}
.arch{position:absolute;left:28%;right:28%;top:18px;bottom:0;border-radius:60px 60px 0 0;background:#e9e1d3}
.bottle{position:absolute;left:39%;bottom:22px;width:52px;height:95px;background:linear-gradient(90deg,#4a2a14,#7b4a26 45%,#3a200f);border-radius:12px 12px 6px 6px}
.bottle i{position:absolute;left:14px;top:-26px;width:24px;height:28px;background:linear-gradient(#1c120a,#3d2716 60%,#b89a6a 61%,#d4b88a);border-radius:5px 5px 2px 2px}
.bottle b{position:absolute;left:6px;right:6px;top:32px;height:44px;background:#f1ebe0;color:var(--ink);display:flex;align-items:center;justify-content:center;font-size:13px}
.jar{position:absolute;left:62%;bottom:22px;width:36px;height:30px;background:linear-gradient(90deg,#efe6d6,#fbf6ee,#e4d8c4);border-radius:3px;border-top:6px solid #c4a77a}
.pinfo{display:flex;justify-content:space-between;align-items:center;padding:10px 12px 4px}.pinfo b{font-size:11px}
.sw{display:flex;gap:3px}.sw i{width:9px;height:9px;border-radius:50%;background:#5b3a20;outline:1px solid #ccc;outline-offset:1px}.sw i:nth-child(2){background:#c7a273}.sw i:nth-child(3){background:#111}
.bars{padding:2px 12px}.bars i{display:block;height:4px;background:#e3dbcf;margin:4px 0;width:70%}.bars i+i{width:50%}
.atc{background:var(--ink);color:#fff;text-align:right;padding:8px 12px;margin:8px 6px 0;border-radius:2px;font-size:8px}
.plan{left:0;top:62%;width:35%;background:#121010;color:#eee}
.pl{display:flex;gap:8px;margin:10px 0}.thumb{width:42px;height:50px;background:#e9e1d3;border-radius:2px;flex:none}
.pl ul{list-style:none;flex:1}.pl li{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px;font-size:8px}
.pl em{width:18px;height:9px;border-radius:9px;background:var(--gold);position:relative}.pl em:after{content:"";position:absolute;right:1px;top:1px;width:7px;height:7px;border-radius:50%;background:#fff}
.plan small{font-size:7px;color:#999;display:block;border-top:1px solid #333;padding-top:6px}
.abc{display:flex;gap:4px;margin-top:5px}.abc span{border:1px solid #444;padding:2px 8px;font-size:7px}.abc .on{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.enq{right:0;top:52%;width:34%}
.enq>i{display:block;height:18px;border:1px solid #e3dbcf;margin-top:6px;border-radius:2px}
.rec{background:var(--ink);color:#fff;margin-top:8px;padding:8px;display:flex;gap:6px;align-items:center;font-size:8px}.rec span{width:14px;height:14px;border-radius:50%;background:var(--gold);display:grid;place-items:center;color:var(--ink)}
.float1{animation:fl 6s ease-in-out infinite}.float2{animation:fl 7s 1s ease-in-out infinite}.float3{animation:fl 6.5s .5s ease-in-out infinite}
@keyframes fl{50%{transform:translateY(-8px)}}
.platforms{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f3eee6}
.platforms .wrap{display:flex;gap:32px;align-items:center;height:58px;font-size:14px;flex-wrap:wrap}.platforms span{color:var(--muted)}
/* routes */
.routes h2{margin-bottom:44px}
.route-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.rcard{position:relative;padding:40px 34px 34px;border-radius:3px;border:1px solid var(--line)}
.rcard.dark{background:var(--dark);color:#f3ede3;border-color:#000}
.rcard.light{background:var(--bg2)}
.eyebrow{font-size:13px;font-weight:500;color:var(--brown);margin-bottom:12px}.dark .eyebrow{color:var(--gold)}
.rcard h3{font-size:clamp(30px,3.3vw,40px);margin-bottom:16px}
.rcard>p:not(.eyebrow){font-size:14.5px;opacity:.85;max-width:320px;margin-bottom:26px}
.rcard ul{list-style:none;border-top:1px solid rgba(128,128,128,.3);position:relative;margin-bottom:28px}
.rcard ul:before{content:"";position:absolute;top:-1px;left:0;width:66px;height:1px;background:var(--gold)}
.rcard li a{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid rgba(128,128,128,.25);font-weight:600;font-size:14.5px}
.rcard li svg:first-child{width:22px;height:22px}.rcard li span{flex:1}.rcard li a>svg:last-child{color:var(--gold);transition:.25s}
.rcard li a:hover>svg:last-child{transform:translateX(5px)}
.mini-compass{position:absolute;right:34px;top:34px;width:122px;color:#8a7d6e}.dark .mini-compass{color:#6c645b}
.mini-compass .needle{transform-origin:60px 60px;transform-box:view-box;transition:transform 1.2s cubic-bezier(.3,1.4,.5,1)}
/* work */
.dark-band{background:var(--dark);color:#f3ede3}
.work-in{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px;padding-top:80px;padding-bottom:70px}
.work p{font-size:14.5px;margin-bottom:24px;opacity:.9}
/* services */
.sec-head{display:grid;grid-template-columns:1.8fr 1fr;align-items:end;gap:40px;margin-bottom:56px}
.sec-head p{font-size:14.5px;color:var(--ink2)}
.svc-grid{display:grid;grid-template-columns:1.8fr 1fr;gap:40px;align-items:start}
.svc-list{list-style:none;border-top:1px solid var(--line)}
.svc-list a{position:relative;display:grid;grid-template-columns:60px 46px 1fr 30px;align-items:center;padding:14px 10px 14px 0;border-bottom:1px solid var(--line);transition:background .25s,padding .25s}
.svc-list .deg{font-size:12px;font-weight:600;color:var(--ink2)}.svc-list .ic svg{width:26px;height:26px}
.svc-list b{display:block;font-size:clamp(20px,2.3vw,27px);font-weight:700;letter-spacing:-.02em;color:#4b443c;transition:color .25s}
.svc-list small{font-size:13px;color:var(--ink2)}.svc-list .ar{color:var(--brown)}
.svc-list .bar{position:absolute;left:0;bottom:-1px;height:1.5px;width:0;background:var(--brown);transition:width .5s}
.svc-list li.active a{background:var(--bg2);padding-left:10px;margin:0 -10px}.svc-list li.active b{color:var(--ink)}.svc-list li.active .bar{width:100%}
.svc-preview{position:sticky;top:110px}
.pv-box{background:var(--bg2);border:1px solid #d9ccb8;border-radius:3px;aspect-ratio:1.4;padding:14px;position:relative}
.pv-box svg{position:absolute;inset:14px;width:calc(100% - 28px);height:calc(100% - 28px);opacity:0;transition:opacity .4s;font-family:var(--sans)}.pv-box svg.on{opacity:1}
.pv-cap{font-weight:600;font-size:14px;margin-top:14px}
/* process */
.process{padding:100px 0}
.proc-grid{display:grid;grid-template-columns:1.8fr 1fr;gap:40px;margin-top:44px;align-items:start}
.steps{list-style:none;border-top:1px solid #2c2823}
.steps li{position:relative;display:grid;grid-template-columns:64px 1fr 1.25fr;padding:26px 0 26px;border-bottom:1px solid #2c2823;transition:.3s}
.steps .dot{position:absolute;left:-31px;top:33px;width:9px;height:9px;border-radius:50%;border:1px solid var(--gold);background:var(--dark);transition:.3s}
.steps li.done .dot,.steps li.on .dot{background:var(--gold)}
.steps li.on .dot:after{content:"";position:absolute;left:8px;top:3px;width:12px;height:1px;background:var(--gold)}
.steps .n{font-size:18px;font-weight:600;color:#8a8279}.steps li.on .n{color:var(--gold)}
.steps h4{font-size:19px;font-weight:600}
.steps p{font-size:13.5px;color:#a8a097;max-width:320px;transition:.3s}.steps li.on p{color:#f3ede3}
.steps .ulink{margin-top:12px;font-size:13px}
.proc-dial{position:sticky;top:130px;padding:0 20px}.proc-dial svg{width:100%;max-width:260px}
#procNeedle{will-change:transform}.proc-label.swap{animation:lbl .5s ease}@keyframes lbl{from{opacity:0;transform:translateY(8px)}}
.proc-label{font-family:var(--serif);font-style:italic;color:var(--gold);font-size:28px;margin-top:20px}
/* why */
.why{display:grid;grid-template-columns:1fr 1.45fr;gap:40px}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px 40px}
.why-grid div{border-top:1px solid var(--line);padding-top:20px}
.why h4{font-size:18px;font-weight:600;margin-bottom:10px;line-height:1.25}.why p{font-size:13.5px;color:var(--ink2)}
/* faq */
.faq{display:grid;grid-template-columns:1fr 1.45fr;gap:40px;padding-top:40px}
.faq-list{border-top:1px solid var(--line)}
details{border-bottom:1px solid var(--line)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:17px 0;font-size:18px;font-weight:600;transition:color .2s}
summary::-webkit-details-marker{display:none}summary:hover{color:var(--brown)}
.pm{width:23px;height:23px;border:1px solid #9a8f80;border-radius:50%;position:relative;flex:none}
.pm:before,.pm:after{content:"";position:absolute;left:6px;right:6px;top:10.5px;height:1px;background:var(--ink)}.pm:after{transform:rotate(90deg);transition:.25s}
details[open] .pm:after{transform:rotate(0)}
details p{padding:0 50px 20px 0;color:var(--ink2);font-size:15px}
/* contact */
.contact{padding:110px 0 80px}
.contact-in{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.contact h2{font-size:clamp(44px,5vw,60px)}.contact h2 em{font-size:1.15em;line-height:1.1}
.contact .lead{color:#e5ddd2;font-size:14.5px;max-width:340px}
.mini-steps{list-style:none;border-left:1px solid #5a5248;margin:0 0 26px;padding-left:15px}
.mini-steps li{position:relative;font-size:13px;color:#a8a097;margin-bottom:14px}.mini-steps li:before{content:"";position:absolute;left:-19px;top:5px;width:7px;height:7px;border-radius:50%;border:1px solid #8a8279;background:var(--dark)}
.mini-steps li.on{color:#fff;font-weight:600}.mini-steps li.on:before{background:var(--gold);border-color:var(--gold)}
.mini-steps small{display:block;font-size:11px;color:var(--gold);font-weight:400}.mini-steps li:not(.on) small{color:#8a8279}
.muted{font-size:13px;color:#a8a097;margin-bottom:14px}
.reach{list-style:none}.reach a{display:flex;gap:12px;align-items:center;font-weight:600;margin-bottom:14px}.reach a:hover{color:var(--gold)}
.form{position:relative;background:var(--bg);color:var(--ink);padding:44px 31px 26px;border-radius:4px}
.form-badge{position:absolute;left:12px;top:-24px;width:48px;height:48px;border-radius:50%;background:var(--dark);padding:9px;box-shadow:0 0 0 1px #3a342d}
.form-badge img{animation:spin 14s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.form label,.form .lbl{display:block;font-size:13px;font-weight:600;margin-bottom:16px}
.form .lbl{margin-bottom:8px}.form small{font-weight:400;color:var(--muted);font-size:11px;margin-left:4px}
.form input,.form select,.form textarea{display:block;width:100%;margin-top:7px;border:1px solid #bdb3a5;background:#fdfbf8;padding:12px;font:inherit;font-weight:400;font-size:15px;border-radius:1px;outline:none;transition:border .2s}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--brown);box-shadow:0 0 0 3px rgba(199,162,115,.2)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.two label{font-weight:500}
.btn.full{width:100%;justify-content:space-between;cursor:pointer;font-family:inherit}.btn.full span{padding:13px 17px}
.fine{font-size:12px;color:var(--muted);margin-top:14px}.fine a{text-decoration:underline}
.sent{background:#e9f1e3;border:1px solid #9bb88a;padding:10px;font-size:14px;margin-bottom:16px}
/* footer */
.foot{background:var(--dark);color:#e5ddd2;padding:60px 0 30px;border-top:1px solid #1d1a17}
.tag{font-family:var(--serif);font-style:italic;font-size:clamp(46px,5.5vw,66px);color:var(--gold);padding-bottom:40px;border-bottom:1px solid #2c2823;margin-bottom:40px;line-height:1.1}
.foot-grid{display:grid;grid-template-columns:1.6fr 1.6fr .8fr 1fr;gap:30px}
.flogo{width:178px;margin-bottom:16px}.foot-grid p{font-size:13px;color:#a8a097;max-width:230px}
.foot h5{color:var(--gold);font-size:13px;margin-bottom:16px}.foot-grid a{display:block;font-size:13px;margin-bottom:12px}.foot-grid a:hover{color:var(--gold)}
.legal{display:flex;justify-content:space-between;font-size:11px;color:#8a8279;border-top:1px solid #2c2823;margin-top:40px;padding-top:22px}.legal a{margin-left:16px}
/* reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}*{animation:none!important}}
/* responsive */
@media(max-width:960px){
 .wrap,.sec{padding-left:20px;padding-right:20px}.sec{padding-top:70px;padding-bottom:70px}
 .links,.nav-cta{display:none}.burger{display:flex}
 .nav.open .links{display:flex;flex-direction:column;position:absolute;top:62px;left:0;right:0;background:var(--bg);padding:20px;border-bottom:1px solid var(--line);gap:6px}
 .nav.open .dd-menu{display:none}
 .rail{display:none}
 .hero,.route-grid,.work-in,.sec-head,.svc-grid,.proc-grid,.why,.why-grid,.faq,.contact-in,.foot-grid{grid-template-columns:1fr}
 .hero{padding-top:40px;min-height:0}.dial{margin:20px auto 0}
 .svc-preview,.proc-dial{display:none}
 .svc-list a{grid-template-columns:44px 36px 1fr 24px}
 .steps li{grid-template-columns:36px 1fr;gap:8px}.steps li>div{grid-column:2}.steps .dot{display:none}
 .mini-compass{width:80px;right:20px;top:20px}.rcard{padding:30px 22px}
 .platforms .wrap{height:auto;padding-top:16px;padding-bottom:16px;gap:10px 22px}.platforms span{width:100%}
 .two{grid-template-columns:1fr}.legal{flex-direction:column;gap:10px}.legal a{margin:0 16px 0 0}
}
.sent.err{background:#f6e6e1;border-color:#d39b8a}
.dial,.proc-dial svg{will-change:transform;transform-style:preserve-3d}.dial .card{will-change:translate}
