/* Svendsen Web — "studio" template. Editorial, image-led, calm motion.
   Per-client tokens (--bg, --ink, --accent, fonts) are set in <head> by build_site.py. */
@view-transition{navigation:auto}
:root{
 --muted:color-mix(in oklab,var(--ink) 62%,var(--bg));
 --line:color-mix(in oklab,var(--ink) 13%,transparent);
 --soft:color-mix(in oklab,var(--ink) 5%,var(--bg));
 --card:color-mix(in oklab,#fff 55%,var(--bg));
 --wrap:1320px;--gut:clamp(20px,4vw,48px);
 --r:18px;--r-lg:28px;
 --ease:cubic-bezier(.2,.8,.2,1);--ease-io:cubic-bezier(.65,0,.35,1);
 --t-xl:clamp(2.6rem,5.6vw,5.6rem);--t-l:clamp(2.2rem,5vw,4.4rem);--t-m:clamp(1.6rem,3vw,2.6rem);--t-s:clamp(1.25rem,1.8vw,1.6rem);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--f-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
p{margin:0 0 1em;max-width:62ch}
h1,h2,h3,h4{margin:0;font-family:var(--f-display);font-weight:var(--w-display,500);line-height:1.02;letter-spacing:-.025em;text-wrap:balance}
em{font-style:italic;color:var(--accent);font-family:var(--f-display)}
::selection{background:var(--ink);color:var(--bg)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.skip{position:absolute;left:-999px;top:10px;z-index:100;background:var(--ink);color:var(--bg);padding:10px 14px;border-radius:10px}.skip:focus{left:10px}
.eyebrow{display:inline-flex;align-items:center;gap:.6em;font:600 .78rem/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}
.lead{font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.55;color:var(--muted)}
.t-xl{font-size:var(--t-xl);line-height:.96}.t-l{font-size:var(--t-l)}.t-m{font-size:var(--t-m);line-height:1.1}.t-s{font-size:var(--t-s);line-height:1.25}
.mono{font-variant-numeric:tabular-nums}

/* buttons */
.btn{--h:52px;display:inline-flex;align-items:center;gap:.6em;height:var(--h);padding:0 1.5em;border-radius:999px;font:600 .98rem/1 var(--f-body);border:1.5px solid var(--ink);position:relative;overflow:hidden;isolation:isolate;transition:color .45s var(--ease),border-color .45s var(--ease)}
.btn svg{width:18px;height:18px;transition:transform .45s var(--ease)}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;transform:translateY(101%);transition:transform .5s var(--ease)}
.btn--solid{background:var(--ink);color:var(--bg)}
.btn--solid::before{background:var(--accent)}
.btn--solid:hover{border-color:var(--accent)}
.btn--line::before{background:var(--ink)}
.btn--line:hover{color:var(--bg)}
.btn:hover::before{transform:none}
.btn:hover svg{transform:translateX(3px)}
.link{display:inline-flex;align-items:center;gap:.45em;font-weight:600;background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat;transition:background-size .45s var(--ease)}
.link:hover{background-size:100% 1.5px}
.link svg{width:16px;height:16px}

/* header */
.hdr{position:fixed;inset:0 0 auto;z-index:50;transition:transform .5s var(--ease),background .4s,box-shadow .4s;view-transition-name:hdr}
.hdr.is-scrolled{background:color-mix(in oklab,var(--bg) 82%,transparent);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);box-shadow:0 1px 0 var(--line)}
.hdr.is-hidden{transform:translateY(-100%)}
.hdr__in{display:flex;align-items:center;gap:28px;height:76px}
.brand{display:flex;align-items:center;gap:12px;margin-right:auto;font:600 1.05rem/1 var(--f-body);letter-spacing:-.01em}
.brand img{height:38px;width:auto}
.nav{display:flex;gap:26px}
.nav a{position:relative;font-weight:500;font-size:.98rem;color:var(--muted);transition:color .3s}
.nav a:hover,.nav a[aria-current]{color:var(--ink)}
.nav a[aria-current]::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1.5px;background:var(--accent)}
.hdr .btn{--h:44px;padding:0 1.15em;font-size:.92rem}
.burger{display:none;width:46px;height:46px;border:0;background:none;position:relative;cursor:pointer;z-index:60}
.burger span{position:absolute;left:12px;right:12px;height:1.5px;background:var(--ink);transition:transform .45s var(--ease),top .45s var(--ease)}
.burger span:first-child{top:19px}.burger span:last-child{top:27px}
.menu-open .burger span:first-child{top:23px;transform:rotate(45deg)}
.menu-open .burger span:last-child{top:23px;transform:rotate(-45deg)}
.mnav{position:fixed;inset:0;z-index:55;background:var(--bg);display:flex;flex-direction:column;justify-content:center;padding:96px var(--gut) 40px;clip-path:inset(0 0 100% 0);transition:clip-path .7s var(--ease-io);visibility:hidden}
.menu-open .mnav{clip-path:inset(0);visibility:visible}
.mnav a{font:500 clamp(2.4rem,11vw,3.6rem)/1.15 var(--f-display);letter-spacing:-.02em;opacity:0;transform:translateY(24px);transition:opacity .5s,transform .6s var(--ease)}
.menu-open .mnav a{opacity:1;transform:none;transition-delay:calc(.15s + var(--i)*.06s)}
.mnav__foot{margin-top:40px;color:var(--muted);display:grid;gap:6px;font-size:1rem}
.mnav__foot a{font:inherit;opacity:1;transform:none}

main{padding-top:76px}

/* hero */
.hero{padding:clamp(36px,7vh,90px) 0 clamp(40px,6vw,80px)}
.hero__grid{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(28px,5vw,80px);align-items:end}
.hero h1{margin:20px 0 24px}
.hero .lead{max-width:44ch}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.collage{position:relative;aspect-ratio:4/5}
.collage figure{position:absolute;margin:0;overflow:hidden;border-radius:var(--r);box-shadow:0 30px 60px -30px rgba(0,0,0,.45)}
.collage figure img{width:100%;height:100%;object-fit:cover}
.collage .c1{inset:0 18% 22% 0}
.collage .c2{right:0;bottom:0;width:52%;aspect-ratio:4/5}
.collage .c3{right:4%;top:6%;width:34%;aspect-ratio:1}
.hero__meta{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:clamp(36px,6vw,72px);padding-top:22px;border-top:1px solid var(--line);color:var(--muted);font-size:.95rem}
.hero__meta b{color:var(--ink);font-weight:600}

/* split words (hero headline) */
.sw{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.sw>span{display:inline-block;transform:translateY(105%);transition:transform .9s var(--ease);transition-delay:calc(var(--i)*40ms + 60ms)}
.is-ready .sw>span{transform:none}

/* marquee */
.marquee{border-block:1px solid var(--line);overflow:hidden;padding:22px 0;--dur:38s}
.marquee__track{display:flex;width:max-content;animation:mq var(--dur) linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
.marquee span{display:inline-flex;align-items:center;gap:36px;padding-right:36px;font:500 clamp(1.4rem,2.6vw,2.2rem)/1 var(--f-display);letter-spacing:-.01em;white-space:nowrap;color:var(--muted)}
.marquee span::after{content:"✦";font-size:.55em;color:var(--accent)}
@keyframes mq{to{transform:translateX(-50%)}}

/* sections */
.sec{padding:clamp(72px,11vw,150px) 0}
.sec--tight{padding:clamp(48px,7vw,90px) 0}
.sec--dark{background:var(--ink);color:var(--bg)}
.sec--dark .lead,.sec--dark .muted{color:color-mix(in oklab,var(--bg) 66%,var(--ink))}
.sec--dark .eyebrow{color:color-mix(in oklab,var(--bg) 66%,var(--ink))}
.sec--dark .line{border-color:color-mix(in oklab,var(--bg) 16%,transparent)}
.sec__head{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;margin-bottom:clamp(36px,5vw,64px)}
.sec__head h2{margin-top:16px;max-width:16ch}
.statement{font:400 clamp(1.7rem,3.6vw,3.2rem)/1.18 var(--f-display);letter-spacing:-.02em;max-width:24ch}
.statement p{max-width:none}
.intro{display:grid;grid-template-columns:1.6fr 1fr;gap:clamp(28px,6vw,96px);align-items:center}
.intro__img{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/5}
.intro__img img{width:100%;height:100%;object-fit:cover}

/* services list */
.svc{border-top:1px solid var(--line)}
.svc__row{display:grid;grid-template-columns:70px 1fr 1.1fr 40px;gap:24px;align-items:center;padding:30px 0;border-bottom:1px solid var(--line);position:relative;transition:padding .5s var(--ease)}
.svc__row:hover{padding-left:14px}
.svc__no{font:500 .95rem/1 var(--f-body);color:var(--muted)}
.svc__t{font:500 var(--t-m)/1.05 var(--f-display);letter-spacing:-.02em}
.svc__d{color:var(--muted);margin:0}
.svc__arrow{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;transition:background .4s,color .4s,transform .5s var(--ease)}
.svc__arrow svg{width:16px;height:16px}
.svc__row:hover .svc__arrow{background:var(--ink);color:var(--bg);transform:rotate(-45deg)}
.peek{position:fixed;left:0;top:0;z-index:40;width:280px;aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.85);transition:opacity .35s,transform .45s var(--ease)}
.peek.on{opacity:1;transform:translate(-50%,-50%) scale(1)}
.peek img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;opacity:0;transition:opacity .35s}
.peek img.on{opacity:1}

/* work grid */
.work{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(20px,3vw,40px) clamp(20px,3vw,40px)}
.work .case:nth-child(4n+2),.work .case:nth-child(4n+3){margin-top:0}
.work .case:nth-child(2n){transform:translateY(clamp(0px,8vw,120px))}
.work--flat .case:nth-child(2n){transform:none}
.case{display:block}
.case__img{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/5;background:var(--soft)}
.case__img img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 1.1s var(--ease)}
.case:hover .case__img img{transform:scale(1.1)}
.case__meta{display:flex;justify-content:space-between;gap:16px;align-items:baseline;margin-top:18px}
.case__t{font:500 var(--t-s)/1.2 var(--f-display);letter-spacing:-.015em}
.case__k{color:var(--muted);font-size:.92rem;white-space:nowrap}
.work-pad{padding-bottom:clamp(0px,8vw,120px)}

/* process */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.4vw,32px);counter-reset:s}
.step{border-top:1px solid var(--line);padding-top:22px}
.step::before{counter-increment:s;content:"0" counter(s);display:block;font:500 .9rem/1 var(--f-body);color:var(--accent);margin-bottom:28px}
.step h3{font-size:var(--t-s);margin-bottom:12px}
.step p{color:var(--muted);font-size:.98rem}

/* prices */
.prices{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}
.price{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(24px,3vw,36px);background:var(--card);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.price:hover{transform:translateY(-6px);box-shadow:0 30px 60px -36px rgba(0,0,0,.35)}
.price--hi{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.price--hi .muted,.price--hi li{color:color-mix(in oklab,var(--bg) 72%,var(--ink))}
.price__n{font:600 .82rem/1 var(--f-body);letter-spacing:.12em;text-transform:uppercase;display:flex;justify-content:space-between}
.price__tag{font-size:.72rem;padding:5px 9px;border-radius:999px;background:var(--accent);color:var(--on-accent);letter-spacing:.06em}
.price__p{font:500 clamp(2.4rem,4vw,3.4rem)/1 var(--f-display);margin:26px 0 4px;letter-spacing:-.03em}
.price__u{font-size:.92rem}
.price ul{list-style:none;padding:0;margin:26px 0 30px;display:grid;gap:10px}
.price li{display:flex;gap:10px;font-size:.97rem;color:var(--muted)}
.price li::before{content:"";flex:none;width:16px;height:16px;margin-top:4px;border-radius:50%;background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.2 2.2 4.8-4.9' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
.price .btn{margin-top:auto;justify-content:center}
.price--hi .btn--solid{background:var(--bg);color:var(--ink);border-color:var(--bg)}
.price--hi .btn--solid:hover{color:var(--on-accent);border-color:var(--accent)}
.note{color:var(--muted);font-size:.92rem;margin-top:22px}

/* quotes */
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:clamp(24px,4vw,64px)}
.quote{margin:0}
.quote blockquote{margin:0 0 22px;font:400 clamp(1.4rem,2.4vw,2rem)/1.3 var(--f-display);letter-spacing:-.015em}
.quote blockquote::before{content:"«";color:var(--accent)}
.quote blockquote::after{content:"»";color:var(--accent)}
.quote figcaption{color:var(--muted);font-size:.95rem}
.sec--dark .quote figcaption{color:color-mix(in oklab,var(--bg) 78%,var(--ink))}
.proof{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:.95rem;color:var(--muted)}
.proof li{display:flex;align-items:center;gap:8px}
.proof li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}
.proof b{color:var(--ink);font-weight:600}
.pris-note{display:inline-flex;align-items:center;height:52px;padding:0 .4em;font-weight:600;color:var(--muted)}
.quote figcaption b{color:inherit;font-weight:600;display:block;color:var(--ink)}
.sec--dark .quote figcaption b{color:var(--bg)}

/* faq */
.faq{border-top:1px solid var(--line);max-width:900px}
.faq details{border-bottom:1px solid var(--line);interpolate-size:allow-keywords}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;padding:26px 0;font:500 var(--t-s)/1.25 var(--f-display);letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{flex:none;width:32px;height:32px;border-radius:50%;border:1px solid var(--line);position:relative;transition:transform .5s var(--ease),background .3s}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;background:currentColor;transform:translate(-50%,-50%)}
.faq summary i::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .5s var(--ease)}
.faq details[open] summary i{background:var(--ink);color:var(--bg)}
.faq details[open] summary i::after{transform:translate(-50%,-50%) rotate(0)}
.faq details::details-content{height:0;overflow:clip;transition:height .5s var(--ease),content-visibility .5s allow-discrete}
.faq details[open]::details-content{height:auto}
.faq .a{padding:0 0 26px;color:var(--muted);max-width:68ch}

/* cta band */
.cta{padding:clamp(80px,12vw,170px) 0;text-align:center}
.cta h2{font-size:var(--t-l);max-width:16ch;margin:18px auto 22px}
.cta .lead{margin:0 auto 34px}
.cta__btns{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}
.sec--dark .btn--solid{background:var(--bg);color:var(--ink);border-color:var(--bg)}
.sec--dark .btn--solid:hover{color:var(--on-accent);border-color:var(--accent)}
.sec--dark .btn--line{border-color:color-mix(in oklab,var(--bg) 40%,transparent);color:var(--bg)}
.sec--dark .btn--line::before{background:var(--bg)}
.sec--dark .btn--line:hover{color:var(--ink)}

/* page heads, detail pages */
.phead{padding:clamp(60px,10vw,140px) 0 clamp(36px,5vw,64px)}
.phead h1{font-size:var(--t-l);margin:18px 0 22px;max-width:18ch}
.crumbs{display:flex;gap:8px;color:var(--muted);font-size:.9rem;margin-bottom:8px}
.crumbs a:hover{color:var(--ink)}
.cover{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:16/9;background:var(--soft)}
.cover img{width:100%;height:100%;object-fit:cover}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:28px 0;border-block:1px solid var(--line);margin:clamp(36px,5vw,64px) 0}
.facts dt{font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.facts dd{margin:0;font-weight:500}
.prose{display:grid;grid-template-columns:1fr 1.6fr;gap:clamp(24px,5vw,80px);padding:clamp(28px,4vw,48px) 0;border-top:1px solid var(--line)}
.prose h2{font-size:var(--t-s);line-height:1.2}
.prose p{color:color-mix(in oklab,var(--ink) 82%,var(--bg));font-size:1.08rem}
.bullets{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:10px}
.bullets li{display:flex;gap:12px}
.bullets li::before{content:"";flex:none;width:6px;height:6px;margin-top:.7em;border-radius:50%;background:var(--accent)}
.shots{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(14px,2vw,24px);margin-top:clamp(28px,4vw,56px)}
.shots figure{margin:0;border-radius:var(--r);overflow:hidden;background:var(--soft)}
.shots figure img{width:100%;height:100%;object-fit:cover}
.shots .wide{grid-column:1/-1;aspect-ratio:16/9}
.shots .tall{aspect-ratio:4/5}
.next{display:block;padding:clamp(48px,7vw,100px) 0;border-top:1px solid var(--line);text-align:center}
.next small{color:var(--muted);font-size:.9rem;letter-spacing:.12em;text-transform:uppercase}
.next span{display:block;font:500 var(--t-l)/1 var(--f-display);letter-spacing:-.03em;margin-top:14px;transition:color .4s}
.next:hover span{color:var(--accent)}

/* about */
.about{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(28px,6vw,96px);align-items:start}
.about__img{position:sticky;top:110px;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/5}
.about__img img{width:100%;height:100%;object-fit:cover}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-top:40px;padding-top:28px;border-top:1px solid var(--line)}
.stats b{display:block;font:500 clamp(2rem,3.6vw,3rem)/1 var(--f-display);letter-spacing:-.03em;margin-bottom:8px}
.stats span{color:var(--muted);font-size:.95rem}

/* contact */
.contact{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(28px,6vw,96px)}
.contact__big a{display:block;font:500 clamp(1.7rem,4vw,3.4rem)/1.15 var(--f-display);letter-spacing:-.02em;word-break:break-word;transition:color .3s}
.contact__big a:hover{color:var(--accent)}
.contact__big small{display:block;color:var(--muted);font-size:.9rem;letter-spacing:.12em;text-transform:uppercase;margin:34px 0 8px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(24px,3vw,36px)}
.card h3{font-size:var(--t-s);margin-bottom:16px}
.rows{width:100%;border-collapse:collapse}
.rows th,.rows td{text-align:left;padding:12px 0;border-bottom:1px solid var(--line);font-weight:400;vertical-align:top}
.rows td{text-align:right;color:var(--muted)}

/* footer */
.ftr{padding:clamp(56px,8vw,96px) 0 32px;background:var(--ink);color:var(--bg)}
.ftr__top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;padding-bottom:clamp(40px,6vw,80px)}
.ftr__h{font:600 .8rem/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:color-mix(in oklab,var(--bg) 55%,var(--ink));margin-bottom:18px}
.ftr ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ftr a{color:color-mix(in oklab,var(--bg) 82%,var(--ink));transition:color .3s}
.ftr a:hover{color:var(--bg)}
.ftr__claim{font:400 var(--t-s)/1.3 var(--f-display);max-width:22ch;color:var(--bg)}
.ftr__word{font:500 min(14rem,calc((min(100vw,var(--wrap)) - 2*var(--gut))/(var(--wl,8)*.56)))/.9 var(--f-display);letter-spacing:-.045em;white-space:nowrap;color:var(--bg);opacity:.96;padding-bottom:28px;border-bottom:1px solid color-mix(in oklab,var(--bg) 16%,transparent);overflow:hidden}
.ftr__bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:24px;font-size:.88rem;color:color-mix(in oklab,var(--bg) 55%,var(--ink))}

/* sticky call button (phones) */
.fab{display:none}

/* reveal on scroll */
.js [data-r]{opacity:0;transform:translateY(28px);transition:opacity 1s var(--ease),transform 1.1s var(--ease);transition-delay:var(--d,0s)}
.js [data-r].in{opacity:1;transform:none}
.js [data-r="img"]{opacity:1;transform:none;clip-path:inset(12% 0 0 0 round var(--r-lg));transition:clip-path 1.3s var(--ease)}
.js [data-r="img"] img{transform:scale(1.18);transition:transform 1.6s var(--ease)}
.js [data-r="img"].in{clip-path:inset(0 0 0 0 round var(--r-lg))}
.js [data-r="img"].in img{transform:scale(1.04)}
[data-parallax]{will-change:transform}

/* view transitions between pages */
::view-transition-old(root){animation:.35s var(--ease) both vt-out}
::view-transition-new(root){animation:.55s var(--ease) both vt-in}
@keyframes vt-out{to{opacity:0;transform:translateY(-12px)}}
@keyframes vt-in{from{opacity:0;transform:translateY(16px)}}

@media (max-width:1000px){
 .hero__grid,.intro,.about,.contact,.prose{grid-template-columns:1fr}
 .about__img{position:relative;top:0;max-width:520px}
 .steps{grid-template-columns:repeat(2,1fr)}
 .prices{grid-template-columns:1fr;max-width:560px}
 .ftr__top{grid-template-columns:1fr 1fr}
 .facts{grid-template-columns:repeat(2,1fr)}
 .svc__row{grid-template-columns:44px 1fr 40px}.svc__d{grid-column:2/3}
 .peek{display:none}
}
@media (max-width:760px){
 body{font-size:16px}
 .nav,.hdr .btn{display:none}
 .burger{display:block}
 .hdr__in{height:68px}main{padding-top:68px}
 .collage{aspect-ratio:1/1;margin-top:8px}
 .hero{padding-top:28px}
 .hero__cta .btn{--h:48px;padding:0 1.1em;font-size:.93rem}
 .hero__cta{gap:10px}
 .work{grid-template-columns:1fr}
 .work .case:nth-child(2n){transform:none}
 .work-pad{padding-bottom:0}
 .steps{grid-template-columns:1fr}
 .shots{grid-template-columns:1fr}
 .sec__head{grid-template-columns:1fr}
 .ftr__top{grid-template-columns:1fr}
 .fab{display:flex;position:fixed;right:16px;bottom:16px;z-index:45;width:58px;height:58px;border-radius:50%;align-items:center;justify-content:center;background:var(--ink);color:var(--bg);box-shadow:0 14px 30px -12px rgba(0,0,0,.5);transition:transform .4s var(--ease)}
 .fab svg{width:22px;height:22px}
 .menu-open .fab{transform:scale(0)}
}
@media (prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .js [data-r],.js [data-r="img"],.js [data-r="img"] img,.sw>span{opacity:1!important;transform:none!important;clip-path:none!important}
 @view-transition{navigation:none}
}
@media print{.hdr,.fab,.mnav,.marquee{display:none}main{padding-top:0}}
