/* MC MetalWorks: v6 (from the site/mock-aw mockup) */
@font-face{font-family:Cond;src:url(/fonts/IBMPlexSansCondensed-700.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:Cond;src:url(/fonts/IBMPlexSansCondensed-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:Plex;src:url(/fonts/IBMPlexSans.woff2) format("woff2");font-weight:100 700;font-display:swap}
:root{--bg:#f3efe8;--ink:#141414;--mute:#7c776f;--line:#d9d3c8;--cu:#b4612a;--cu-lt:#e39a62;--pad:clamp(18px,3.4vw,52px);--sec:clamp(100px,12vw,170px);--ez:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-padding-top:80px}
body{background:var(--bg);color:var(--ink);font:400 17px/1.6 Plex,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:2px solid var(--cu);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--ink);color:#fff;padding:10px 16px;border-radius:99px}.skip:focus{left:8px}
.sm{font:500 13px Plex;letter-spacing:.02em;color:var(--mute)}
.stars{color:var(--cu-lt);letter-spacing:.06em}
.btn{display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 22px;border-radius:999px;font:600 15px Plex;white-space:nowrap;transition:background .3s,color .3s,border-color .3s}
.btn svg{width:16px;height:16px}
.btn-ink{background:var(--ink);color:#fff}.btn-ink:hover{background:var(--cu)}
.btn-cu{background:var(--cu);color:#fff}.btn-cu:hover{background:#94501f}
.btn-ln{border:1px solid currentColor}
.btn-ln-d{border:1px solid var(--ink)}.btn-ln-d:hover{background:var(--ink);color:#fff}
.btn-wl{border:1px solid #ffffff73;color:#fff}.btn-wl:hover{background:#fff;color:var(--ink)}
.btn-s{height:42px;padding:0 18px;font-size:14px}
.ar{display:inline-block;transition:transform .3s}.btn:hover .ar,a:hover .ar{transform:translateX(4px)}
.lk{font:600 15px Plex;color:var(--cu)}

/* header */
.hdr{position:fixed;inset:0 0 auto;z-index:40;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px var(--pad);color:#fff;transition:color .3s,background .3s,box-shadow .3s}
.hdr.light,body.lt .hdr{color:var(--ink);background:#f3efe8e6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line)}
.hlogo img{height:36px;width:auto;border-radius:3px}
.hnav{display:flex;gap:30px;font:500 14px Plex}
.hnav>a{position:relative}.hnav>a::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ez)}.hnav>a:hover::after{transform:scaleX(1)}
/* services mega menu (desktop) */
.hnav{align-items:center}
.hdd-t{display:inline-flex;align-items:center;gap:6px;font:500 14px Plex;position:relative}
.hdd-t svg{width:10px;height:7px;transition:transform .35s var(--ez)}
.hdd-t::after{content:"";position:absolute;left:0;right:16px;bottom:-4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ez)}
.hdd-t:hover::after,.hdd.on .hdd-t::after{transform:scaleX(1)}
.hdd.on .hdd-t svg{transform:rotate(180deg)}
.mega{position:fixed;left:0;right:0;top:72px;color:var(--ink);visibility:hidden;opacity:0;transition:opacity .3s,visibility 0s .3s;padding:0 var(--pad)}
.mega::before{content:"";position:fixed;inset:72px 0 0;background:#14141466;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:-1;pointer-events:none}
.hdd.on .mega{visibility:visible;opacity:1;transition:opacity .3s}
.mega-in{max-width:1300px;margin:0 auto;background:var(--bg);border-radius:0 0 18px 18px;box-shadow:0 40px 80px -30px #0007;display:grid;grid-template-columns:1fr 360px;gap:clamp(24px,3vw,48px);padding:28px clamp(24px,3vw,40px) 32px;clip-path:inset(0 0 100% 0);transition:clip-path .55s var(--ez)}
.hdd.on .mega-in{clip-path:inset(0 0 -60px 0)}
.mega-l{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.mega-l li{opacity:0;transform:translateY(10px);transition:opacity .4s,transform .5s var(--ez)}
.hdd.on .mega-l li{opacity:1;transform:none}
.hdd.on .mega-l li:nth-child(1){transition-delay:.06s}.hdd.on .mega-l li:nth-child(2){transition-delay:.09s}.hdd.on .mega-l li:nth-child(3){transition-delay:.12s}.hdd.on .mega-l li:nth-child(4){transition-delay:.15s}.hdd.on .mega-l li:nth-child(5){transition-delay:.18s}.hdd.on .mega-l li:nth-child(6){transition-delay:.21s}.hdd.on .mega-l li:nth-child(7){transition-delay:.24s}.hdd.on .mega-l li:nth-child(8){transition-delay:.27s}.hdd.on .mega-l li:nth-child(9){transition-delay:.3s}
.mega-l a{display:grid;grid-template-columns:30px 1fr;gap:2px 8px;padding:14px 14px 16px;border-radius:12px;transition:background .25s}
.mega-l a:hover,.mega-l a:focus-visible,.mega-l a.on{background:#fff}
.mn{font:600 12px/24px Plex;color:var(--mute);grid-row:span 2}
.mega-l b{font:700 21px/1.1 Cond;white-space:nowrap;letter-spacing:-.01em;transition:color .25s}
.mega-l a:hover b,.mega-l a.on b{color:var(--cu)}
.ms{font-size:13.5px;line-height:1.4;color:var(--mute)}
.mega-r{display:grid;gap:14px;align-content:start}
.mega-ph{position:relative;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:#ddd}
.mega-ph img{position:absolute;inset:0;opacity:0;transform:scale(1.06);transition:opacity .45s,transform 1.2s var(--ez)}
.mega-ph img.on{opacity:1;transform:none}
.mega-b{display:flex;gap:8px}
body.mega-open .hdr{color:var(--ink);background:var(--bg);box-shadow:0 1px 0 var(--line)}
@media (max-width:1100px){.mega-in{grid-template-columns:1fr}.mega-r{display:none}}
@media (max-width:820px){.mega{display:none}}
.hr{display:flex;gap:8px;align-items:center}
.hdr .btn{height:40px;padding:0 18px;font-size:14px}
.hcall,.burger{display:none}
.burger{width:40px;height:40px;border-radius:50%;border:1px solid currentColor;position:relative}
.burger i{position:absolute;left:12px;right:12px;height:1.5px;background:currentColor;transition:transform .35s var(--ez)}
.burger i:first-child{top:15px}.burger i:last-child{top:22px}
.burger[aria-expanded=true] i:first-child{transform:translateY(3.5px) rotate(45deg)}.burger[aria-expanded=true] i:last-child{transform:translateY(-3.5px) rotate(-45deg)}
body.menu .hdr{color:var(--ink);background:var(--bg);box-shadow:none}
/* phone menu: app-style list sheet */
.mnav{position:fixed;inset:0;z-index:39;background:var(--bg);padding:84px var(--pad) calc(24px + env(safe-area-inset-bottom));overflow-y:auto;display:grid;align-content:start;gap:10px;opacity:0;transform:translateY(-8px);transition:opacity .3s,transform .4s var(--ez)}
.mnav.on{opacity:1;transform:none}
.mnav[hidden],.lb[hidden]{display:none}
.mnav .sm{margin-top:10px}
.mlist{background:#fff;border-radius:14px;overflow:hidden}
.mlist a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid #eee;font:600 16px Plex;min-height:52px}
.mlist a:last-child{border-bottom:0}
.mlist img{width:40px;height:40px;border-radius:8px}
.mlist a:not(:has(img)){grid-template-columns:1fr auto}
.mlist i{font-style:normal;font-size:22px;color:#aaa}
.mcta{display:grid;gap:8px;margin-top:12px}.mcta .btn{justify-content:center}

/* home intro: photo grows from a window to full bleed */
.intro{height:175vh;position:relative;background:var(--ink)}
.intro-stick{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:grid;place-items:center}
.win{position:absolute;inset:0;clip-path:inset(var(--t,0) var(--s,0) var(--t,0) var(--s,0) round var(--r,0));will-change:clip-path}
.win img{position:absolute;inset:0;transform:scale(calc(1.25 - var(--g,0)*.25))}
.win::before{content:"";position:absolute;inset:0;background:#000;opacity:calc(.32 - var(--g,0)*.32);z-index:1}
.win::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#0000 45%,#000a);opacity:var(--g,0)}
.wv{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:calc(1 - var(--g,0)*2.2)}
.intro-top{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:16px;padding:90px var(--pad) 60px;color:#fff;z-index:2;opacity:calc(1 - var(--g,0)*1.5);transform:translateY(calc(var(--g,0)*-60px))}
.intro-top::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 55% at 50% 50%,#000a,#0000 75%)}
.ilogo{width:clamp(130px,13vw,190px);height:auto;border-radius:6px;box-shadow:0 20px 40px -14px #000}
.intro-top h1{font:700 clamp(44px,6vw,96px)/1 Cond;letter-spacing:-.03em}
.intro-top p{max-width:560px;color:#e8e3da;font-size:clamp(16px,1.3vw,19px)}
.ib{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:6px}
.istars{color:#e8e3da}
.scrollcue{position:absolute;bottom:22px;left:0;right:0;text-align:center;color:#ffffff88;font:500 12px Plex;letter-spacing:.2em;text-transform:uppercase;opacity:calc(1 - var(--g,0)*3);z-index:2}
.icap{position:absolute;left:var(--pad);bottom:clamp(24px,5vh,56px);z-index:2;color:#fff;display:grid;gap:4px;opacity:clamp(0,calc(var(--g,0)*3 - 2),1)}.icap .sm{color:#e8e3da}.icap b{font:700 clamp(28px,3vw,44px)/1 Cond}

/* proof bar */
.proofbar{display:grid;grid-template-columns:repeat(4,1fr);background:var(--ink);color:#fff}
.proofbar div{padding:26px var(--pad);border-right:1px solid #ffffff1a;display:grid;gap:2px}
.proofbar div:last-child{border-right:0}
.proofbar b{font:700 clamp(24px,2.2vw,34px)/1.05 Cond;color:var(--cu-lt)}
.proofbar span{font-size:14px;color:#c9c5bd}

/* paragraph goes grey → black as you scroll */
.say{padding:var(--sec) var(--pad) clamp(90px,11vw,160px);display:grid;grid-template-columns:200px 1fr;gap:clamp(20px,4vw,60px)}
.say p.big{font:600 clamp(28px,3.5vw,54px)/1.18 Cond;letter-spacing:-.015em;max-width:30ch}
.say .w{color:#c9c2b6;transition:color .25s}.say .w.on{color:var(--ink)}.say .w.cu.on{color:var(--cu)}

/* job rows: photo uncovers, text rises */
.feat{display:grid;grid-template-columns:1fr 1fr;min-height:86vh;border-top:1px solid var(--line)}
.feat:nth-of-type(even) .fi{order:2}
.fi{position:relative;overflow:hidden;clip-path:inset(100% 0 0 0);transition:clip-path 1.2s cubic-bezier(.65,0,.35,1)}
.feat.in .fi{clip-path:inset(0)}
.fi>img,.fimg img{transform:scale(1.1);transition:transform 1.8s var(--ez)}
.feat.in .fi>img,.feat.in .fimg img{transform:scale(1)}
.fimg{position:absolute;inset:0;cursor:zoom-in}
.fcount{position:absolute;right:14px;bottom:14px;background:#000a;color:#fff;font:600 12px Plex;padding:6px 12px;border-radius:99px}
.ft{display:flex;flex-direction:column;justify-content:space-between;padding:clamp(28px,4vw,64px)}
.ft h2{font:700 clamp(38px,4.4vw,74px)/1 Cond;letter-spacing:-.03em;max-width:12ch;margin-top:12px}
.fno{display:block;font:700 clamp(72px,9vw,150px)/.85 Cond;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1.5px var(--cu);margin-bottom:clamp(20px,3vw,44px)}
.ft p.sm{color:var(--cu);font-weight:600}
.ft p{color:#4c4842;max-width:430px;margin-top:16px}
.ft .bot{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:30px;flex-wrap:wrap}
.ft .bot a.sm:hover{color:var(--cu)}
.ft .t-in{opacity:0;transform:translateY(24px);transition:opacity .9s .2s,transform 1.1s var(--ez) .2s}
.feat.in .t-in{opacity:1;transform:none}
.scope{margin-top:20px;padding-top:14px;border-top:1px solid var(--line);font-size:15px;color:#4c4842}.scope b{font-weight:600;color:var(--ink);margin-right:6px}
.ba{position:absolute;inset:0;--p:50%}
.ba img,.bab{position:absolute;inset:0}
.bab{clip-path:inset(0 calc(100% - var(--p)) 0 0)}
.ba .ln{position:absolute;top:0;bottom:0;left:var(--p);width:2px;margin-left:-1px;background:#fff;z-index:2}
.ba .ln i{position:absolute;top:50%;left:50%;width:46px;height:46px;margin:-23px;background:#fff;color:#111;border-radius:50%;display:grid;place-items:center;font-style:normal}
.ba input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:3}
.ba .tg{position:absolute;top:14px;z-index:2;background:#fff;color:#111;font:600 12px Plex;padding:5px 10px;border-radius:99px}

/* Instagram strip */
.igs{padding:var(--sec) 0}
.igs-hd,.svc9-hd,.gal-hd{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:0 var(--pad) 24px}
.igs-hd h2,.gal-hd h2{font:700 clamp(32px,3.6vw,52px)/1 Cond;letter-spacing:-.025em}
.igs-hd a{font:600 15px Plex;color:var(--cu)}
.igs-row{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;padding:0 var(--pad)}
.igs-row a{position:relative;aspect-ratio:1;overflow:hidden;border-radius:6px;background:#ddd}
.igs-row a img,.igs-row a video{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ez)}
.igs-row a:hover img,.igs-row a:hover video{transform:scale(1.06)}
.igs-row .rl{position:absolute;right:8px;top:8px;color:#fff;font:600 12px Plex;background:#0008;padding:3px 8px;border-radius:99px}

/* services: tall photo panels that open on hover */
.svc9{padding:var(--sec) 0}
.svc9-more{padding-top:0}
.svc9-hd h2{font:700 clamp(36px,4.4vw,64px)/1 Cond;letter-spacing:-.03em}
.panels{display:flex;gap:6px;height:min(70vh,640px);padding:0 var(--pad)}
.pn{position:relative;flex:1 1 0;min-width:0;overflow:hidden;border-radius:6px;color:#fff;transform-origin:50% 100%;transform:scaleY(0);transition:flex-grow .7s var(--ez),transform 1s cubic-bezier(.65,0,.35,1) calc(var(--i)*70ms)}
.panels.go .pn{transform:scaleY(1)}
.pn img{position:absolute;inset:0;filter:saturate(.9)}
.pn::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0000 35%,#000c);transition:opacity .5s}
.pn.open{flex-grow:5.5}
.pn-n{position:absolute;top:14px;left:14px;z-index:2;font:600 13px Plex;color:#ffffffcc}
.pn-v{position:absolute;left:50%;bottom:22px;z-index:2;transform:translateX(-50%) rotate(180deg);writing-mode:vertical-rl;font:700 20px Cond;white-space:nowrap;transition:opacity .3s}
.pn.open .pn-v{opacity:0}
.pn-tx{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:clamp(18px,2.4vw,32px);display:grid;gap:8px;opacity:0;transform:translateY(16px);transition:opacity .4s,transform .6s var(--ez)}
.pn.open .pn-tx{opacity:1;transform:none;transition-delay:.25s}
.pn-tx b{font:700 clamp(28px,3vw,46px)/1 Cond;letter-spacing:-.02em;white-space:nowrap}
.pn-tx span{color:#ece7de;max-width:420px}
.pn-tx em{font:600 15px Plex;font-style:normal;color:var(--cu-lt);justify-self:start}.pn-tx em u{text-decoration:none}
.pq{justify-self:start;display:inline-block;margin-top:4px;font-style:normal;background:var(--cu);color:#fff;font:600 14px Plex;padding:8px 14px;border-radius:99px;cursor:pointer;transition:background .3s}
.pq:hover{background:#94501f}
.also{padding:22px var(--pad) 0;color:var(--mute);font-size:15px}.also b{color:var(--ink);font-weight:600;margin-right:8px}

/* steps */
.steps{padding:0 var(--pad) var(--sec);display:grid;grid-template-columns:200px 1fr;gap:clamp(20px,4vw,60px)}
.steps ol{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,40px)}
.steps li{border-top:1px solid var(--line);padding-top:16px}
.steps b{font:700 44px/1 Cond;color:var(--cu)}
.steps h3{font:700 24px/1.1 Cond;margin:12px 0 6px}
.steps p{color:#4c4842;font-size:15px}

/* reviews */
.rv{padding:0 var(--pad) var(--sec);display:grid;grid-template-columns:200px 1fr;gap:clamp(20px,4vw,60px)}
.rv-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:48px clamp(30px,4vw,60px);align-items:start}
.rv-list .lk{grid-column:1/-1}
.rv blockquote{font:600 clamp(21px,1.75vw,28px)/1.25 Cond;letter-spacing:-.01em}
.rv figcaption{margin-top:12px}
.rv figure{opacity:0;transform:translateY(24px);transition:opacity .9s,transform 1.1s var(--ez)}.rv figure.in{opacity:1;transform:none}

/* closing quote section */
.close{position:relative;display:flex;align-items:center;color:#fff;isolation:isolate;overflow:hidden;padding:clamp(80px,10vw,140px) 0}
.close>img{position:absolute;inset:0;z-index:-2}
.close::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#000c 0%,#0009 50%,#0005 100%)}
.close-in{width:100%;max-width:1300px;margin:0 auto;padding:0 var(--pad);display:grid;grid-template-columns:1fr minmax(320px,460px);gap:clamp(24px,5vw,80px);align-items:center}
.close-in>div:first-child{display:grid;align-content:center}
.close h1,.close h2{font:700 clamp(46px,5.6vw,92px)/1 Cond;letter-spacing:-.035em}
.close .cp{color:#ece7de;margin:16px 0 22px;max-width:420px;font-size:18px}
.cw{display:flex;gap:10px;flex-wrap:wrap}
.cfacts{margin-top:28px;display:grid;gap:8px;color:#e8e3da;font-size:15px}
.cfacts span::before{content:"✓";color:var(--cu-lt);margin-right:10px;font-weight:700}
.close-page{min-height:100vh;padding-top:clamp(110px,12vw,150px)}
.nsteps{list-style:none;margin-top:30px;display:grid;gap:12px;color:#e8e3da;font-size:15px;counter-reset:n;max-width:440px}
.nsteps li{display:grid;grid-template-columns:28px 1fr;gap:10px}
.nsteps li::before{counter-increment:n;content:counter(n);width:26px;height:26px;border-radius:50%;background:var(--cu);color:#fff;font:700 13px/26px Plex;text-align:center}
.nsteps b{color:#fff;font-weight:600}

/* form */
.qf{background:var(--bg);color:var(--ink);border-radius:16px;padding:clamp(22px,2.6vw,34px);display:grid;gap:14px;box-shadow:0 30px 60px -20px #0008}
.qf h3{font:700 26px/1 Cond;letter-spacing:-.01em}
.qf .sub{color:var(--mute);font-size:14px;margin-top:-6px}
.qf label{display:grid;gap:6px;font:600 13px Plex}
.qf label em,.qf summary em{font-weight:400;font-style:normal;color:var(--mute)}
.qf input,.qf select,.qf textarea{font:400 16px Plex;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff;width:100%;color:var(--ink)}
.qf textarea{resize:vertical}
.qf select{appearance:none;-webkit-appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23141414' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 14px center;padding-right:38px}
.qf input:focus,.qf select:focus,.qf textarea:focus{outline:2px solid var(--cu);outline-offset:0;border-color:var(--cu)}
.qf input[type=file]{padding:8px;font-size:14px;color:var(--mute)}
.qf input[type=file]::file-selector-button{border:0;background:var(--ink);color:#fff;font:600 13px Plex;padding:8px 14px;border-radius:99px;margin-right:10px;cursor:pointer}
.qf .r2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.qf .btn{justify-content:center;width:100%}
.qf .btn[disabled]{opacity:.6}
.qf .note{font-size:13px;color:var(--mute);text-align:center}.qf .note a{text-decoration:underline}
.qf .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.more summary{cursor:pointer;font:600 14px Plex;list-style:none;padding:4px 0;color:var(--cu)}
.more summary::-webkit-details-marker{display:none}
.more summary::before{content:"+ "}.more[open] summary::before{content:"− "}
.more-in{display:grid;gap:14px;margin-top:12px}

/* service page */
.sh{position:relative;min-height:92vh;min-height:92svh;display:flex;align-items:flex-end;color:#fff;isolation:isolate;overflow:hidden}
.sh-bg{position:absolute;inset:-8% 0;z-index:-2}
.sh-bg img{transform:scale(1.08);animation:shin 2.2s var(--ez) both}
@keyframes shin{from{transform:scale(1.2)}to{transform:scale(1.08)}}
.sh::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0006 0%,#0000 30%,#0000 45%,#000c 100%)}
.sh-in{padding:120px var(--pad) clamp(40px,7vh,80px);display:grid;gap:16px;max-width:900px}
.sh h1{font:700 clamp(48px,7vw,116px)/1 Cond;letter-spacing:-.035em}
.sh p{font-size:clamp(17px,1.4vw,21px);color:#ece7de;max-width:560px}
.sh .ib{justify-content:flex-start}
.crumbs{display:flex;gap:8px;color:#e8e3da}.crumbs a:hover{color:#fff}
.sh-in>*{opacity:0;transform:translateY(20px);animation:up 1s var(--ez) forwards}
.sh-in>:nth-child(2){animation-delay:.1s}.sh-in>:nth-child(3){animation-delay:.2s}.sh-in>:nth-child(4){animation-delay:.3s}
@keyframes up{to{opacity:1;transform:none}}
.sv{padding:0 var(--pad) var(--sec);display:grid;grid-template-columns:1fr minmax(300px,400px);gap:clamp(30px,6vw,100px);align-items:start;max-width:1300px;margin:0 auto}
.sv h2{font:700 clamp(32px,3.6vw,52px)/1 Cond;letter-spacing:-.025em;margin-bottom:22px}
.sv-l>p{color:#4c4842;margin-top:18px;max-width:620px}
.gets{list-style:none;display:grid;gap:0;border-top:1px solid var(--line);margin-bottom:12px}
.gets li{display:grid;grid-template-columns:32px 1fr;padding:16px 0;border-bottom:1px solid var(--line);font:600 clamp(19px,1.6vw,23px)/1.3 Cond}
.gets li::before{content:"✓";color:var(--cu);font:700 18px Plex}
.sv-card{position:sticky;top:96px;background:#fff;border-radius:16px;padding:28px;display:grid;gap:12px;box-shadow:0 20px 50px -30px #0004}
.sv-card h3{font:700 28px/1.05 Cond;letter-spacing:-.015em}
.sv-card p:not(.sm){color:#4c4842;font-size:15px}
.sv-card .btn{justify-content:center}
.gal{padding:0 0 var(--sec)}
.masonry{columns:3;column-gap:8px;padding:0 var(--pad)}
.masonry-4{columns:4}
.m-it{display:block;width:100%;margin-bottom:8px;break-inside:avoid;border-radius:6px;overflow:hidden;position:relative;cursor:zoom-in;background:#ddd}
.m-it img{height:auto;transition:transform .8s var(--ez)}
.m-it:hover img{transform:scale(1.04)}
.m-cap{position:absolute;left:10px;bottom:10px;background:#000a;color:#fff;font:600 12px Plex;padding:4px 10px;border-radius:99px;opacity:0;transition:opacity .3s}
.m-it:hover .m-cap{opacity:1}
.m-it.out{display:none}
[data-reveal]{opacity:0;transform:translateY(30px);transition:opacity .9s,transform 1.1s var(--ez)}[data-reveal].in{opacity:1;transform:none}

/* light pages */
.ph{padding:clamp(140px,16vw,220px) var(--pad) clamp(60px,7vw,100px);display:grid;gap:18px;max-width:1100px}
.ph-tall{min-height:80vh;align-content:center}
.ph h1{font:700 clamp(48px,7vw,116px)/1 Cond;letter-spacing:-.035em}
.ph>p:not(.sm){font-size:clamp(17px,1.4vw,21px);color:#4c4842;max-width:620px}
.ph a{text-decoration:underline}.ph .btn{text-decoration:none}
.wk{padding:var(--sec) 0}
.filters{display:flex;gap:8px;overflow-x:auto;padding:0 var(--pad) 24px;scrollbar-width:none}.filters::-webkit-scrollbar{display:none}
.filters button{flex:none;height:40px;padding:0 16px;border-radius:99px;border:1px solid var(--line);font:600 14px Plex;transition:background .3s,color .3s}
.filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.plog{padding:0 0 var(--sec)}
.log{list-style:none;margin:0 var(--pad);border-top:1px solid var(--line)}
.log a{display:grid;grid-template-columns:110px 1fr 1.2fr auto;gap:20px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--line);transition:padding .4s var(--ez)}
.log b{font:700 22px/1.15 Cond}
.log .ls{color:#4c4842;font-size:15px}
.log a:hover{padding-left:10px}.log a:hover .la{color:var(--cu)}
.ab{padding:0 var(--pad) var(--sec);display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,100px);align-items:center}
.ab-img{aspect-ratio:4/5;border-radius:6px;overflow:hidden}
.ab-tx{display:grid;gap:18px;color:#4c4842;font-size:18px;max-width:560px}
.legal{padding:0 var(--pad) var(--sec);max-width:780px;display:grid;gap:14px;color:#4c4842}
.legal h2{font:700 28px/1.1 Cond;color:var(--ink);margin-top:20px}
.legal h3{font:700 21px/1.2 Cond;color:var(--ink);margin-top:10px}
.areas{background:var(--ink);color:#c9c5bd;padding:clamp(56px,7vw,90px) var(--pad);border-top:1px solid #ffffff14;display:grid;grid-template-columns:200px 1fr;gap:20px}

/* footer */
.sf{background:var(--ink);color:#b9b4ab;font-size:15px;overflow:hidden}
.sf a{transition:color .25s}.sf a:hover{color:#fff}
.sf-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;padding:clamp(80px,10vw,150px) var(--pad) clamp(50px,6vw,80px);border-bottom:1px solid #ffffff14}
.sf-big{font:700 clamp(40px,7.4vw,124px)/.98 Cond;letter-spacing:-.035em;color:#f3efe8;white-space:nowrap}
.sf-big span{color:var(--cu-lt)}
.sf-logo img{width:clamp(110px,11vw,170px);height:auto;border-radius:6px;opacity:.95}
.sf-grid{display:grid;grid-template-columns:1.2fr 1.6fr .8fr 1fr;gap:clamp(28px,4vw,64px);padding:clamp(44px,5vw,70px) var(--pad)}
.sf-grid>*{display:grid;align-content:start;gap:9px}
.sf .sm{color:#7f7a71;margin-bottom:6px}
.sf-about p{color:#d9d4cb;font-size:17px;line-height:1.55;max-width:340px}
.sf-stars{margin-top:10px;font-size:14px}
.sf-svc>div{display:grid;grid-template-columns:1fr 1fr;gap:9px 24px}
.sf-ph{font:700 26px/1.1 Cond;color:#f3efe8;margin-bottom:4px}
.sf-bot{padding:20px var(--pad) calc(22px + env(safe-area-inset-bottom));border-top:1px solid #ffffff14;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:#7f7a71}
.sf-bot span{display:flex;gap:20px;flex-wrap:wrap}

/* lightbox */
.lb{position:fixed;inset:0;z-index:60;background:#0b0b0bf2;display:grid;place-items:center;opacity:0;transition:opacity .3s}
.lb.on{opacity:1}
.lb img{width:auto;height:auto;max-width:92vw;max-height:84vh;object-fit:contain;border-radius:4px}
.lb button{position:absolute;color:#fff;width:52px;height:52px;border-radius:50%;background:#ffffff1a;font-size:28px;display:grid;place-items:center}
.lb button:hover{background:#ffffff33}
.lb-x{top:16px;right:16px}.lb-p{left:16px;top:50%;margin-top:-26px}.lb-n{right:16px;top:50%;margin-top:-26px}
.lb-c{position:absolute;bottom:20px;left:0;right:0;text-align:center;color:#ffffffaa;font:500 13px Plex}

@media (max-width:1100px){.sf-grid{grid-template-columns:1fr 1fr}.masonry-4{columns:3}}
@media (max-width:820px){
  :root{--sec:72px}
  .hnav{display:none}
  .hcall,.burger{display:inline-flex;align-items:center;justify-content:center}
  .hcall{width:40px;padding:0!important;justify-content:center}.hcall span{display:none}
  .hlogo img{height:32px}
  .hdr{padding:12px var(--pad)}
  .hdr .btn{height:40px;padding:0 14px}
  .hdr.light .hq,body.lt .hq,body.menu .hq{background:var(--cu);border-color:var(--cu);color:#fff}
  .intro{height:160vh}
  .ib{width:100%}.ib .btn{flex:1;justify-content:center}
  .proofbar{grid-template-columns:1fr 1fr}
  .proofbar div{padding:16px var(--pad);border-bottom:1px solid #ffffff1a}
  .proofbar div:nth-child(2n){border-right:0}
  .say,.rv,.steps,.areas{grid-template-columns:1fr}
  .say p.big{font-size:clamp(26px,7.4vw,40px)}
  .feat,.feat:nth-of-type(even){grid-template-columns:1fr;min-height:0}
  .feat:nth-of-type(even) .fi{order:0}
  .fi{aspect-ratio:4/3}
  .fno{font-size:64px;margin-bottom:14px}
  .ft .bot .btn{width:100%;justify-content:center}
  .igs-row{grid-template-columns:repeat(3,1fr);gap:4px}
  .svc9-hd .sm{display:none}
  .panels{flex-direction:column;height:auto;gap:8px}
  .pn,.pn.open{flex:none;height:150px;transform:none!important}
  .pn::after{background:linear-gradient(90deg,#000b 0%,#0000 80%)}
  .pn-v,.pn-n{display:none}
  .pn-tx{opacity:1;transform:none;top:0;bottom:0;align-content:center;padding:16px}
  .pn-tx b{font-size:24px;white-space:normal}
  .pn-tx span{font-size:14px;max-width:72%;line-height:1.4}
  .pn-tx em u{display:none}
  .steps ol{grid-template-columns:1fr}
  .close-in{grid-template-columns:1fr}
  .close::after{background:linear-gradient(180deg,#0009 0%,#000c 60%)}
  .cw .btn{flex:1;justify-content:center}
  .qf .r2{grid-template-columns:1fr}
  .sh{min-height:86svh}
  .sv{grid-template-columns:1fr}
  .sv-card{position:static}
  .masonry,.masonry-4{columns:2;column-gap:4px}.m-it{margin-bottom:4px}
  .log a{grid-template-columns:1fr auto;gap:2px 12px}
  .log .sm:first-child{grid-column:1/-1}
  .log .ls{grid-column:1}
  .log .la{grid-row:2;grid-column:2}
  .ab{grid-template-columns:1fr}
  .sf-hero{flex-direction:column-reverse;align-items:flex-start}
  .sf-big{font-size:clamp(34px,10.4vw,60px)}
  .sf-grid{grid-template-columns:1fr;gap:34px}
  .lb-p,.lb-n{top:auto;bottom:14px;margin:0}
}
@media (prefers-reduced-motion:reduce){
  .intro{height:auto}.intro-stick{position:relative}.win{clip-path:none}.say .w{color:var(--ink)}
  .fi,.feat .fi{clip-path:none}.t-in,.rv figure,[data-reveal]{opacity:1!important;transform:none!important}
  .pn{transform:none}.sh-in>*{animation:none;opacity:1;transform:none}
}
