:root{--color-background:#171613;--color-background-rgb:23,22,19;--color-accent:#d2f36b;--color-accent-rgb:210,243,107;--color-accent-soft:#edb2a4;--color-text:#f0eee7;--color-text-rgb:240,238,231;--color-text-soft:#c0beb8;--color-text-muted:#aaa69b;--color-border:#45433c;--color-surface:#201f1b;--color-surface-strong:#262521;--color-on-accent:#171613;--color-on-accent-rgb:23,22,19;--color-on-accent-soft:#353921;--color-danger:#f19487;--serif:'Playfair Display','PT Serif','Times New Roman',Georgia,serif;--mono:'DM Mono','JetBrains Mono',SFMono-Regular,Consolas,'Liberation Mono',monospace;--sans:'Manrope','Inter','Segoe UI',system-ui,-apple-system,Arial,sans-serif;--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px;background:var(--color-background)}small,sup{font-size:14px}small,sup{font-size:14px}body{margin:0;background:var(--color-background);color:var(--color-text);font:16px/1.55 var(--sans);overflow-x:hidden}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit;color:inherit}button{cursor:pointer}img{display:block;max-width:100%;height:auto}figure,p,h1,h2,h3{margin:0}::selection{background:var(--color-accent);color:var(--color-on-accent)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}.masthead{height:86px;padding:0 5.1vw;display:grid;grid-template-columns:minmax(80px,auto) 1fr auto 1fr;align-items:center;gap:24px;border-bottom:1px solid rgba(var(--color-text-rgb),.12);position:relative;z-index:20;background:var(--color-background)}.wordmark{font-weight:800;font-size:38px;line-height:1;letter-spacing:-.1em}.wordmark-dot,.footer-logo span{color:var(--color-accent)}.masthead-note{font:14px/1.4 var(--mono);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em}.main-nav{display:flex;gap:clamp(20px,3vw,50px);align-items:center}.main-nav a,.book-link{font-size:14px;letter-spacing:.035em}.main-nav a{color:var(--color-text-soft);transition:color .25s}.main-nav a:hover{color:var(--color-accent)}.book-link{justify-self:end;border-bottom:1px solid var(--color-accent);padding:8px 0}.book-link span{color:var(--color-accent);padding-left:8px}.menu-toggle{display:none;border:0;background:none;width:44px;height:44px}.menu-toggle span{display:block;height:1px;background:var(--color-text);width:23px;margin:6px auto}
.hero{min-height:min(790px,calc(100svh - 86px));padding:26px 5.1vw 20px;position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column}.hero-grain{position:absolute;inset:0;z-index:-1;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.3'/%3E%3C/svg%3E")}.sparkles{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}.hero-topline,.hero-bottomline,.section-kicker,.manifesto-top,.manifesto-bottom,.concept-foot,.work-head,.footer-bottom{display:flex;justify-content:space-between;align-items:center}.hero-topline,.hero-bottomline,.section-kicker,.manifesto-top,.manifesto-bottom{font:14px/1.5 var(--mono);letter-spacing:.07em;color:var(--color-text-muted)}.hero-topline{padding-bottom:16px;border-bottom:1px solid rgba(var(--color-text-rgb),.15)}.hero-copy{position:relative;z-index:2;width:min(880px,75%);margin:auto 0;transform:translateY(-8px)}.eyebrow,.overline{font:14px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.13em;color:var(--color-accent)}.eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:24px}.eyebrow-line{height:1px;width:30px;background:var(--color-accent)}h1,h2{font-weight:500;letter-spacing:-.065em;line-height:.94}h1{font-size:clamp(58px,9vw,142px);max-width:1000px}h1 br{display:block}h1::first-line{color:var(--color-text)}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;max-width:810px;margin-top:30px}.hero-bottom p{max-width:370px;color:var(--color-text-soft);font-size:16px;line-height:1.7}.round-cta{width:116px;height:116px;border:1px solid var(--color-accent);border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;color:var(--color-accent);font-size:14px;transition:background .3s,color .3s,transform .5s var(--ease)}.round-cta b{font-size:22px;font-weight:400}.round-cta:hover{background:var(--color-accent);color:var(--color-background);transform:rotate(-12deg)}.hero-photo{position:absolute;z-index:1;right:7.5%;top:11%;width:min(34vw,460px);height:70%;overflow:hidden;border-radius:48% 48% 3px 3px;transform:rotate(3deg);box-shadow:0 30px 100px #0008}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:53% center;filter:saturate(.7) contrast(1.04)}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 65%,rgba(var(--color-background-rgb),.66))}.hero-photo figcaption{position:absolute;z-index:1;bottom:17px;left:18px;font:14px var(--mono);letter-spacing:.1em}.hero-stamp{position:absolute;right:2.6%;top:17%;display:flex;flex-direction:column;align-items:center;color:var(--color-accent);font-size:clamp(28px,3.6vw,55px);font-weight:800;letter-spacing:-.12em;line-height:.72;transform:rotate(8deg)}.hero-stamp small{font:14px var(--mono);letter-spacing:.08em;margin-top:12px}.hero-side-note{position:absolute;right:2.5%;top:56%;writing-mode:vertical-rl;font:14px var(--mono);letter-spacing:.1em;color:var(--color-text-muted)}.hero-bottomline{border-top:1px solid rgba(var(--color-text-rgb),.15);padding-top:15px;position:relative;z-index:2}.hero-bottomline a span{color:var(--color-accent);padding-left:8px}.ticker{overflow:hidden;border-block:1px solid rgba(var(--color-text-rgb),.15);background:var(--color-accent);color:var(--color-background)}.ticker-track{display:flex;align-items:center;justify-content:space-around;gap:40px;white-space:nowrap;padding:11px 0;font:14px var(--mono);letter-spacing:.16em;animation:marquee 24s linear infinite}.ticker-track i{font-style:normal;font-size:18px}@keyframes marquee{to{transform:translateX(-20%)}}
.section-pad{padding:clamp(80px,10vw,150px) 9vw}.section-kicker{padding-bottom:18px;border-bottom:1px solid var(--color-border)}.concept-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center;padding:80px 5vw 60px}.concept-image{position:relative;height:min(60vw,650px);max-height:600px;overflow:hidden}.concept-image:before{content:'';position:absolute;left:-18px;top:20%;width:30%;height:40%;border:1px solid var(--color-accent);z-index:1;pointer-events:none}.concept-image img{height:100%;width:100%;object-fit:cover;filter:saturate(.65)}.image-index{position:absolute;bottom:15px;left:15px;font:14px var(--mono);letter-spacing:.1em}.concept-copy{max-width:500px}.concept-copy .overline{color:var(--color-accent-soft)}.year{font:clamp(72px,10vw,150px)/.95 var(--serif);letter-spacing:-.06em;margin:24px 0 35px}.year span{color:var(--color-accent);font-style:italic}.concept-copy h2,.services-head h2,.work-head h2,.booking-copy h2{font-size:clamp(48px,6vw,86px)}em{font-family:var(--serif);font-weight:500;color:var(--color-accent)}.concept-copy h2 em,.work-head em,.booking-copy em{color:var(--color-accent-soft)}.body-copy{margin-top:28px;max-width:430px;color:var(--color-text-soft)}.text-link{display:inline-flex;gap:36px;border-bottom:1px solid var(--color-accent);padding:14px 0;margin-top:34px;font-size:14px}.text-link span{color:var(--color-accent)}.concept-foot{border-top:1px solid var(--color-border);padding:25px 5vw 0;font:14px/1.6 var(--mono);color:var(--color-text-muted);letter-spacing:.07em}.concept-foot p{font:14px/1.6 var(--sans);max-width:410px;color:var(--color-text-soft)}.manifesto{padding:clamp(70px,10vw,145px) 9vw;background:var(--color-accent);color:var(--color-background);position:relative;overflow:hidden}.manifesto-top,.manifesto-bottom{color:var(--color-on-accent-soft)}.manifesto-top{border-bottom:1px solid rgba(var(--color-background-rgb),.27);padding-bottom:17px}.manifesto-quote{font-size:clamp(44px,7.7vw,112px);line-height:1.04;letter-spacing:-.065em;padding:11vw 0 9vw;position:relative;z-index:1}.manifesto-quote span{font-family:var(--serif);font-style:italic}.manifesto-bottom{align-items:flex-end;border-top:1px solid rgba(var(--color-background-rgb),.27);padding-top:22px}.manifesto-bottom p{max-width:350px;font:15px/1.6 var(--sans)}.rotating-seal{width:84px;height:84px;border:1px solid rgba(var(--color-on-accent-rgb),.35);border-radius:50%;display:flex;justify-content:center;align-items:center;position:absolute;left:50%;font-size:23px;animation:spin 18s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.rotating-seal small{position:absolute;font:14px var(--mono);letter-spacing:.07em;white-space:nowrap;transform:translateY(-25px)}
.services{padding-bottom:120px}.services-head{display:flex;justify-content:space-between;align-items:flex-end;padding:62px 0 46px}.services-head p{max-width:310px;color:var(--color-text-muted);font-size:14px}.service-filters{display:flex;gap:12px;overflow:auto;padding-bottom:20px;margin-bottom:20px}.filter{border:1px solid var(--color-border);background:transparent;padding:9px 17px;border-radius:99px;white-space:nowrap;font-size:14px;color:var(--color-text-soft);transition:.2s}.filter:hover,.filter.is-active{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-background)}.filter sup{font:14px var(--mono);margin-left:5px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 20px}.service-card{min-width:0}.service-card[hidden]{display:none}.service-image{height:clamp(230px,30vw,430px);position:relative;overflow:hidden;background:var(--color-surface)}.service-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.65);transition:transform .8s var(--ease),filter .5s}.service-card:hover .service-image img{transform:scale(1.045);filter:saturate(.92)}.service-num{position:absolute;top:14px;left:15px;font:14px var(--mono);background:var(--color-background);padding:6px 9px}.service-arrow{position:absolute;right:14px;bottom:14px;width:44px;height:44px;border-radius:50%;background:var(--color-accent);color:var(--color-background);display:grid;place-items:center;font-size:19px;transition:transform .3s}.service-arrow:hover{transform:rotate(45deg)}.service-info{display:flex;justify-content:space-between;gap:10px;padding-top:16px}.service-type{font:14px var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--color-accent)}.service-info h3{font-size:18px;line-height:1.3;font-weight:500;margin-top:5px}.service-price{font:14px var(--mono);white-space:nowrap;padding-top:20px}.service-card>p{color:var(--color-text-muted);font-size:14px;line-height:1.6;margin-top:9px;max-width:380px}
.work-section{background:var(--color-surface-strong);padding:clamp(70px,8vw,120px) 9vw 100px;overflow:hidden}.work-head{padding:58px 0 40px;align-items:flex-end}.work-controls{display:flex;align-items:center;gap:8px}.work-controls span{font:14px var(--mono);color:var(--color-text-muted);margin-right:10px}.work-controls button,.review-nav button{width:44px;height:44px;border:1px solid var(--color-border);background:transparent;border-radius:50%;font-size:18px;transition:.25s}.work-controls button:hover,.review-nav button:hover{background:var(--color-accent);color:var(--color-background);border-color:var(--color-accent)}.work-strip{display:flex;gap:16px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab}.work-strip::-webkit-scrollbar{display:none}.work-strip:active{cursor:grabbing}.work-shot{flex:0 0 31%;scroll-snap-align:start}.work-shot:nth-child(even){margin-top:60px}.work-shot img{width:100%;height:clamp(270px,40vw,520px);object-fit:cover;filter:saturate(.6);transition:filter .4s}.work-shot:hover img{filter:saturate(1)}.work-shot figcaption{display:flex;justify-content:space-between;padding:12px 0;font:14px var(--mono);letter-spacing:.05em;color:var(--color-text-muted)}.work-shot figcaption span+span{text-align:right;overflow-wrap:anywhere;max-width:64%}
.proof-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw;padding:65px 4vw 0}.proof-aside{display:flex;flex-direction:column;align-items:flex-start}.rating{font:clamp(48px,7vw,90px)/1 var(--serif)}.rating b{font:25px var(--sans);color:var(--color-accent);vertical-align:top}.proof-aside p{max-width:200px;color:var(--color-text-muted);margin-top:16px}.review-nav{display:flex;gap:8px;margin-top:auto;padding-top:55px}.reviews{min-height:270px;position:relative}.review-card{display:none;min-height:270px;flex-direction:column;justify-content:space-between;animation:fadeUp .5s var(--ease)}.review-card.current{display:flex}@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.review-mark{font:90px/.7 var(--serif);color:var(--color-accent)}.review-card>p{font:clamp(21px,2.5vw,34px)/1.35 var(--serif);max-width:730px;margin:20px 0 35px}.review-card footer{display:flex;justify-content:space-between;border-top:1px solid var(--color-border);padding-top:14px;font:14px var(--mono);letter-spacing:.08em;color:var(--color-text-muted)}.review-card footer span:first-child{color:var(--color-text)}
.booking{display:grid;grid-template-columns:.85fr 1.15fr;background:var(--color-surface-strong);min-height:700px}.booking-art{background:var(--color-accent-soft);color:var(--color-on-accent-soft);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:35px}.booking-art>span:first-child{font:14px var(--mono);letter-spacing:.15em}.booking-art>span:nth-child(2){font:clamp(64px,9vw,130px)/.83 var(--serif);letter-spacing:-.07em}.booking-art i{font-style:normal;font-size:50px;position:absolute;right:38px;top:46%;animation:spin 18s linear infinite}.booking-copy{padding:clamp(45px,7vw,100px) clamp(35px,7vw,110px)}.booking-copy .section-kicker{font-size:14px}.booking-copy h2{margin:55px 0 22px}.booking-copy>p{color:var(--color-text-muted);max-width:390px;margin-bottom:34px}.booking form{max-width:520px;display:grid}.booking form label{font:14px var(--mono);color:var(--color-text-soft);margin:14px 0 2px}.booking input{width:100%;border:0;border-bottom:1px solid var(--color-border);background:none;padding:10px 0 12px;border-radius:0;font-size:16px;outline:none}.booking input:focus{border-color:var(--color-accent)}.booking input::placeholder{color:var(--color-text-muted)}.booking form button{margin-top:30px;background:var(--color-accent);color:var(--color-background);border:0;padding:16px 20px;text-align:left;display:flex;justify-content:space-between;align-items:center;font-size:14px}.booking form button span{font-size:20px}.booking form small{font-size:14px;color:var(--color-text-muted);margin-top:12px}.form-status{min-height:24px;margin:14px 0 0;color:var(--color-accent);font-size:14px}.form-status.error{color:var(--color-danger)}.hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.footer{padding:60px 8vw 25px;background:var(--color-accent);color:var(--color-background)}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;padding-bottom:55px}.footer-logo{font-size:clamp(45px,8vw,110px);line-height:1;font-weight:800;letter-spacing:-.09em}.footer-logo span{color:var(--color-on-accent-soft)}.footer-top p{font:14px/1.6 var(--serif)}.footer-tel{justify-self:end;border-bottom:1px solid rgba(var(--color-on-accent-rgb),.4);padding-bottom:7px;font:14px var(--mono)}.footer-tel span{margin-left:24px}.footer-bottom{border-top:1px solid rgba(var(--color-background-rgb),.27);padding-top:17px;font:14px var(--mono);letter-spacing:.06em}.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .75s var(--ease),transform .75s var(--ease)}.js .reveal.in{opacity:1;transform:none}.js .hero-copy{animation:heroEnter .9s .12s both var(--ease)}@keyframes heroEnter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(-8px)}}
@media(max-width:900px){.masthead{grid-template-columns:minmax(55px,auto) 1fr auto auto;padding:0 5vw}.main-nav{position:fixed;inset:0;background:var(--color-background);z-index:-1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:15vw;gap:22px;opacity:0;visibility:hidden;transition:.3s}.main-nav a{font-size:30px;color:var(--color-text)}.menu-open .main-nav{opacity:1;visibility:visible;z-index:19}.menu-toggle{display:block;grid-column:4;grid-row:1}.book-link{grid-column:3;grid-row:1}.masthead-note{grid-column:2;grid-row:1}.hero-copy{width:85%}.hero-photo{right:3%;width:40%;height:62%;top:16%;opacity:.74}.hero-stamp{right:1%}.hero-side-note{display:none}.concept-grid{gap:6vw;padding-inline:0}.service-grid{grid-template-columns:repeat(2,1fr)}.proof-grid{gap:4vw}.booking{grid-template-columns:.75fr 1.25fr}.booking-art{padding:25px}.booking-art>span:nth-child(2){font-size:clamp(56px,9vw,90px)}}
@media(max-width:620px){body{font-size:15px}.masthead{height:72px;grid-template-columns:minmax(46px,auto) 1fr auto auto;gap:10px}.wordmark{font-size:32px}.masthead-note{font-size:14px}.book-link{font-size:14px}.menu-toggle{width:38px}.hero{min-height:780px;padding:20px 6vw 17px}.hero-topline{font-size:14px}.hero-copy{width:100%;margin:auto 0 40px;transform:none}.hero h1{font-size:clamp(54px,14vw,88px);max-width:600px}.hero-photo{top:13%;right:11%;width:56%;height:37%;opacity:.62;transform:rotate(5deg)}.hero-stamp{top:19%;left:6%;right:auto;font-size:35px}.hero-side-note{display:none}.hero-bottom{align-items:center;margin-top:22px}.hero-bottom p{font-size:14px;max-width:235px}.round-cta{width:82px;height:82px;flex:none;font-size:14px}.round-cta b{font-size:18px}.hero-bottomline{font-size:14px}.hero-bottomline span:last-child{display:none}.ticker-track{font-size:14px}.section-pad{padding:78px 6vw}.section-kicker{font-size:14px}.concept-grid{grid-template-columns:1fr;gap:45px;padding:46px 0 38px}.concept-image{height:104vw;max-height:540px;margin-right:10vw}.concept-copy{padding-left:9vw}.concept-copy h2,.services-head h2,.work-head h2,.booking-copy h2{font-size:clamp(48px,12vw,72px)}.year{font-size:94px;margin:17px 0 26px}.body-copy{font-size:14px}.concept-foot{padding-inline:0;font-size:14px;gap:12px}.concept-foot p{max-width:58%;font-size:14px}.manifesto{padding:75px 7vw}.manifesto-top,.manifesto-bottom{font-size:14px}.manifesto-quote{font-size:clamp(43px,11vw,70px);padding:100px 0 90px}.manifesto-bottom p{max-width:42%;font-size:14px}.manifesto-bottom>span:first-child{max-width:90px}.rotating-seal{position:relative;left:auto;width:56px;height:56px;flex:none;font-size:18px}.rotating-seal small{font-size:14px;transform:translateY(-18px)}.services{padding-bottom:78px}.services-head{align-items:flex-start;flex-direction:column;gap:18px;padding:45px 0 30px}.services-head p{max-width:300px;font-size:14px}.service-filters{margin-right:-6vw;padding-right:6vw}.filter{font-size:14px;padding:8px 14px}.service-grid{grid-template-columns:1fr;gap:34px}.service-image{height:105vw;max-height:480px}.service-info h3{font-size:17px}.service-card>p{font-size:14px}.work-section{padding:75px 6vw}.work-head{align-items:flex-end;padding:45px 0 28px}.work-controls{gap:5px}.work-controls span{display:none}.work-controls button,.review-nav button{width:39px;height:39px}.work-shot{flex-basis:78%}.work-shot:nth-child(even){margin-top:35px}.work-shot img{height:100vw;max-height:470px}.proof-grid{grid-template-columns:1fr;gap:40px;padding:45px 0 0}.proof-aside{display:grid;grid-template-columns:1fr auto;align-items:center}.rating{font-size:58px}.proof-aside p{font-size:14px;margin:0;max-width:160px}.review-nav{grid-column:2;grid-row:2;padding-top:20px;margin:0}.reviews{min-height:270px}.review-card>p{font-size:26px}.booking{grid-template-columns:1fr}.booking-art{min-height:300px;display:grid;grid-template-columns:1fr 1fr;align-items:end}.booking-art>span:first-child{grid-column:1/-1;align-self:start}.booking-art>span:nth-child(2){font-size:72px}.booking-art i{top:35%;right:9%}.booking-copy{padding:55px 7vw 70px}.booking-copy h2{margin:42px 0 18px}.booking-copy>p{font-size:14px}.footer{padding:45px 6vw 20px}.footer-top{grid-template-columns:1fr auto;gap:20px;padding-bottom:35px}.footer-logo{grid-column:1/-1;font-size:70px}.footer-top p{font-size:14px}.footer-tel{font-size:14px}.footer-tel span{margin-left:6px}.footer-bottom{font-size:14px;gap:10px;align-items:flex-start}.footer-bottom span:first-child{max-width:50%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.full-price{margin-top:35px;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.full-price>summary{padding:20px 4px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;list-style:none;font-size:16px}.full-price>summary::-webkit-details-marker{display:none}.full-price>summary span{font-size:20px;color:var(--color-accent);transition:transform .25s}.full-price[open]>summary span{transform:rotate(45deg)}.price-list{display:grid;gap:34px;padding:4px 4px 26px}.price-group-title{font:700 15px/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text);display:flex;align-items:center;gap:12px;margin:0 0 4px}.price-group-title::before{content:'';width:22px;height:1px;background:var(--color-accent);flex:none}.price-group-list{list-style:none;margin:0;padding:0}.price-group-list li{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:14px 0;border-top:1px solid var(--color-border)}.price-group-list li:first-child{border-top:0}.price-name{font-size:16px;line-height:1.45;overflow-wrap:break-word}.price-value{font:14px/1.5 var(--mono);white-space:nowrap;letter-spacing:.02em}.faq-section{background:var(--color-surface)}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;padding:65px 4vw 0}.faq-grid h2{font-size:clamp(50px,6vw,82px)}.faq-list details{border-bottom:1px solid var(--color-border)}.faq-list details:first-child{border-top:1px solid var(--color-border)}.faq-list summary{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:19px 0;list-style:none;cursor:pointer;font-size:16px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:21px;color:var(--color-accent);transition:transform .25s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{padding:0 38px 20px 0;color:var(--color-text-muted);max-width:600px;font-size:14px}
@media(max-width:620px){.faq-grid{grid-template-columns:1fr;gap:35px;padding:45px 0 0}.faq-grid h2{font-size:58px}.price-list{gap:26px;padding-bottom:22px}.price-group-list li{padding:12px 0;gap:14px}.price-name{font-size:15px}.price-value{font-size:13px}}
.advantages{position:relative;overflow:hidden}.advantages-grid{display:grid;grid-template-columns:minmax(240px,1fr) 1.2fr;gap:clamp(36px,6vw,90px);padding:clamp(46px,6vw,80px) 0 0;align-items:start}.advantages-intro{position:sticky;top:112px}.advantages-intro .overline{display:block;color:var(--color-accent-soft);margin-bottom:20px}.advantages-intro h2{font-size:clamp(42px,4.4vw,62px)}.advantages-intro p{color:var(--color-text-soft);max-width:340px;margin-top:24px;font-size:16px;line-height:1.7}.advantages-mark{display:inline-grid;place-items:center;width:64px;height:64px;margin-top:32px;border:1px solid var(--color-border);border-radius:50%;color:var(--color-accent);font-size:26px;animation:spin 26s linear infinite}.advantages-cards{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(22px,3vw,44px)}.advantage-card{position:relative;isolation:isolate;overflow:hidden;border-top:1px solid var(--color-border);padding:26px 2px 34px;min-height:224px;transition:border-color .4s var(--ease)}.advantage-card:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(240px circle at var(--mx,50%) var(--my,0%),rgba(var(--color-accent-rgb),.16),transparent 72%);opacity:0;transition:opacity .4s var(--ease)}.advantage-card:hover:before,.advantage-card:focus-within:before{opacity:1}.advantage-card:hover{border-color:var(--color-accent)}.advantage-index{position:absolute;top:22px;right:2px;font:14px var(--mono);letter-spacing:.1em;color:var(--color-text-muted)}.advantage-icon{display:inline-grid;place-items:center;width:56px;height:56px;border:1px solid var(--color-border);border-radius:50%;color:var(--color-accent);transition:background .35s,color .35s,transform .55s var(--ease)}.advantage-icon svg{width:26px;height:26px}.advantage-card:hover .advantage-icon{background:var(--color-accent);color:var(--color-background);transform:rotate(-9deg)}.advantage-card h3{font-size:clamp(21px,2.1vw,27px);line-height:1.18;font-weight:500;letter-spacing:-.035em;margin:22px 0 10px;max-width:290px}.advantage-card p{color:var(--color-text-muted);font-size:14px;line-height:1.65;max-width:310px}
@media(max-width:900px){.advantages-grid{grid-template-columns:1fr;gap:36px}.advantages-intro{position:static;display:grid;grid-template-columns:1fr auto;column-gap:26px;align-items:end}.advantages-intro .overline,.advantages-intro h2,.advantages-intro p{grid-column:1}.advantages-mark{grid-column:2;grid-row:1/span 3;align-self:center;margin-top:0}}
@media(max-width:620px){.advantages-grid{padding-top:34px}.advantages-intro h2{font-size:clamp(44px,11vw,62px)}.advantages-intro p{font-size:14px}.advantages-cards{grid-template-columns:1fr}.advantage-card{min-height:0;padding:24px 0 28px}.advantage-card h3,.advantage-card p{max-width:none}.advantages-mark{width:54px;height:54px;font-size:22px}}
@media(max-width:900px){.main-nav{overflow-y:auto;padding:max(15vw,70px) 15vw}}
@media(max-width:900px) and (max-height:620px){.main-nav{justify-content:flex-start;padding-top:92px}}

/* ---------- Динамика: липкая шапка, прогресс, плавающая кнопка ---------- */
.masthead{position:sticky;top:0;transition:height .3s var(--ease),background .3s var(--ease),box-shadow .3s var(--ease)}
.scroll-progress{position:absolute;left:0;bottom:-1px;width:100%;height:2px;background:var(--color-accent);transform:scaleX(0);transform-origin:0 50%;pointer-events:none;z-index:2}
.masthead.is-scrolled{height:70px;background:rgba(var(--color-background-rgb),.94);box-shadow:0 1px 0 rgba(var(--color-text-rgb),.08);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.main-nav a.is-current{color:var(--color-accent)}
.floating-cta{position:fixed;right:clamp(16px,3vw,32px);bottom:clamp(16px,3vw,32px);z-index:30;display:inline-flex;align-items:center;gap:12px;padding:15px 22px;background:var(--color-accent);color:var(--color-background);font-size:14px;letter-spacing:.04em;border-radius:99px;box-shadow:0 16px 40px #0006;opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .35s var(--ease),transform .35s var(--ease),background .25s,color .25s}
.floating-cta span{font-size:19px}
.floating-cta.is-visible{opacity:1;transform:none;pointer-events:auto}
.floating-cta:hover{background:var(--color-accent-soft);color:var(--color-on-accent)}
.hero-photo{transform:rotate(3deg) translate3d(0,var(--parallax,0px),0);will-change:transform}
.work-strip.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.work-strip.is-dragging a{pointer-events:none}
.menu-open .floating-cta{opacity:0;pointer-events:none}
@media(max-width:900px){.masthead.is-scrolled{height:78px}}
@media(max-width:620px){
  .masthead.is-scrolled{height:64px}
  .floating-cta{left:0;right:0;bottom:0;justify-content:center;border-radius:0;padding:15px 20px calc(15px + env(safe-area-inset-bottom));box-shadow:0 -10px 30px #0005;transform:translateY(100%)}
  .floating-cta.is-visible{transform:none}
  .hero-photo{transform:rotate(5deg)}
}
@media(prefers-reduced-motion:reduce){
  .masthead,.floating-cta,.hero-photo{transition:none!important}
  .hero-photo{transform:rotate(3deg)}
}

/* ---------- Логотип из настроек оформления ---------- */
.wordmark-image{display:inline-flex;align-items:center;height:100%;max-width:clamp(80px,22vw,210px)}
.wordmark-image img{display:block;width:auto;height:auto;max-width:100%;max-height:46px;object-fit:contain}
.footer-logo-image{display:inline-flex;align-items:center;max-width:min(420px,60vw)}
.footer-logo-image img{display:block;width:auto;height:auto;max-width:100%;max-height:clamp(45px,8vw,110px);object-fit:contain}
@media(max-width:900px){.wordmark-image img{max-height:40px}}
@media(max-width:620px){.wordmark-image{max-width:44vw}.wordmark-image img{max-height:32px}.footer-logo-image{max-width:72vw}.footer-logo-image img{max-height:64px}}
