:root{--ink:#071015;--ink2:#0d171c;--ink3:#132027;--bone:#f2eee6;--paper:#f7f4ee;--text:#f6f2e9;--muted:#a8b0ae;--dark:#141a1c;--petrol:#46b7b1;--petrol2:#1f7f7d;--lineD:rgba(255,255,255,.14);--lineL:rgba(12,20,23,.16);--max:1280px;--ease:cubic-bezier(.22,.61,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;background:var(--ink);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{color:inherit}::selection{background:var(--petrol);color:var(--ink)}
.skip{position:fixed;left:10px;top:-80px;z-index:1000;background:var(--bone);color:var(--dark);padding:10px 14px;border-radius:8px}.skip:focus{top:10px}.container{width:min(calc(100% - 48px),var(--max));margin-inline:auto}.eyebrow{font-size:.72rem;letter-spacing:.19em;text-transform:uppercase;font-weight:700;color:var(--petrol)}.display{font-size:clamp(4rem,9vw,9rem);line-height:.87;letter-spacing:-.065em;font-weight:700;margin:0;text-wrap:balance}.display.sm{font-size:clamp(3.5rem,7vw,7.4rem)}.accent{color:var(--petrol)}.lede{font-size:clamp(1.12rem,1.6vw,1.45rem);line-height:1.55;max-width:650px;color:#c8d0ce;margin:0}.copy{font-size:1.07rem;color:#b8c1bf;max-width:650px}.darktxt{color:var(--dark)}.muted-dark{color:#525b5c}.meta{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#8d9997;font-weight:650}.rule{height:1px;background:var(--lineD)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;min-height:52px;padding:0 22px;border:1px solid transparent;border-radius:999px;font-weight:700;font-size:.94rem;transition:.3s var(--ease);cursor:pointer}.btn:hover{transform:translateY(-2px)}.primary{background:var(--bone);color:var(--dark)}.outline{border-color:rgba(255,255,255,.32);background:transparent}.darkbtn{background:var(--ink);color:var(--text)}.quiet{background:transparent;border-color:#cec6bb;color:var(--dark)}.textlink{display:inline-flex;align-items:center;gap:.7rem;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:4px}.textlink:hover{color:var(--petrol)}
.site-header{position:fixed;inset:0 0 auto;height:86px;z-index:50;display:flex;align-items:center;background:linear-gradient(to bottom,rgba(7,16,21,.72),transparent);transition:.3s}.site-header.scrolled{background:rgba(7,16,21,.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08)}.header-inner{width:min(calc(100% - 48px),var(--max));margin:auto;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:13px;font-weight:750;letter-spacing:.06em;font-size:.96rem}.brand small{font-weight:450;color:#9ba5a3;letter-spacing:.08em}.wave{width:42px;height:27px;display:grid;grid-template-columns:repeat(7,1fr);align-items:center;gap:3px}.wave i{display:block;width:3px;background:var(--petrol);border-radius:2px;margin:auto}.wave i:nth-child(1),.wave i:nth-child(7){height:8px}.wave i:nth-child(2),.wave i:nth-child(6){height:14px}.wave i:nth-child(3),.wave i:nth-child(5){height:22px}.wave i:nth-child(4){height:27px}.nav{display:flex;align-items:center;gap:29px;font-size:.88rem}.nav a{color:#e8ece9}.nav .navcta{border:1px solid rgba(255,255,255,.28);padding:10px 15px;border-radius:999px}.menu-toggle{display:none;background:none;border:0;padding:8px}.menu-toggle span{display:block;width:24px;height:1px;background:#fff;margin:6px}.mobile-nav{display:none}
.hero{position:relative;min-height:100svh;display:grid;align-items:end;overflow:hidden}.hero-media{position:absolute;inset:0 0 0 42%}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.9)}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--ink) 0%,rgba(7,16,21,.95) 17%,rgba(7,16,21,.45) 55%,rgba(7,16,21,.18)),linear-gradient(0deg,rgba(7,16,21,.75),transparent 45%)}.hero-content{position:relative;z-index:2;padding:180px 0 74px;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start}.hero .lede{margin-top:35px;max-width:600px}.hero-actions{display:flex;gap:18px;margin-top:38px;flex-wrap:wrap}.hero-foot{width:100%;display:flex;justify-content:space-between;margin-top:80px;padding-top:22px;border-top:1px solid var(--lineD)}
.section{padding:140px 0}.section.light{background:var(--bone);color:var(--dark)}.section.paper{background:var(--paper);color:var(--dark)}.section.deep{background:var(--ink2)}.intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end}.intro .lede{justify-self:end}.discipline-list{margin-top:90px;border-top:1px solid var(--lineD)}.discipline{display:grid;grid-template-columns:90px 1fr 1fr 40px;gap:28px;align-items:center;padding:42px 0;border-bottom:1px solid var(--lineD);transition:.3s var(--ease)}.discipline:hover{padding-left:12px}.discipline .num{font-size:.75rem;letter-spacing:.14em;color:#72807d}.discipline h3{font-size:clamp(2.5rem,4vw,5rem);line-height:.95;letter-spacing:-.045em;margin:0}.discipline p{margin:0;color:#aeb8b5;max-width:480px}.discipline .go{font-size:1.8rem;color:var(--petrol)}
.brief-teaser{display:grid;grid-template-columns:1.05fr .95fr;min-height:700px}.brief-copy{padding:120px max(48px,calc((100vw - var(--max))/2));display:flex;flex-direction:column;justify-content:center;background:var(--bone);color:var(--dark)}.brief-copy .lede{margin-top:28px}.brief-panel{background:var(--ink2);padding:90px 7vw;display:flex;flex-direction:column;justify-content:space-between}.brief-panel .ghost{font-size:clamp(7rem,13vw,14rem);line-height:.75;letter-spacing:-.08em;color:rgba(70,183,177,.18);font-weight:700}.brief-panel h3{font-size:clamp(2.4rem,4vw,4.6rem);line-height:1;letter-spacing:-.04em;margin:0 0 24px}.brief-panel p{color:#aab5b2;max-width:500px}
.full-photo{position:relative;min-height:82svh;overflow:hidden}.full-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.full-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,16,21,.77),rgba(7,16,21,.06) 65%),linear-gradient(0deg,rgba(7,16,21,.65),transparent 55%)}.full-photo-copy{position:relative;z-index:2;min-height:82svh;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:70px}.full-photo h2{font-size:clamp(3.7rem,7vw,8rem);line-height:.9;letter-spacing:-.055em;margin:16px 0 20px;max-width:900px}.full-photo p{color:#d7ddda;max-width:470px}
.about-strip{display:grid;grid-template-columns:1fr 1fr;min-height:720px}.about-photo{overflow:hidden}.about-photo img{width:100%;height:100%;object-fit:cover;object-position:center 31%}.about-copy{background:var(--paper);color:var(--dark);padding:100px 7vw;display:flex;flex-direction:column;justify-content:center}.about-copy h2{font-size:clamp(3.2rem,5.6vw,6.5rem);line-height:.92;letter-spacing:-.055em;margin:18px 0 28px}.about-copy p{color:#515a5b;max-width:530px}
.final-cta{padding:150px 0 70px;position:relative;overflow:hidden}.final-cta h2{font-size:clamp(4rem,8.5vw,9rem);line-height:.88;letter-spacing:-.065em;margin:0;max-width:1050px}.final-cta .row{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-top:55px}.final-cta p{max-width:560px;color:#adb7b4}.footer{padding:30px 0 42px;border-top:1px solid var(--lineD)}.footer-inner{display:grid;grid-template-columns:1fr auto auto;gap:34px;align-items:center}.footer a{color:#aeb8b5;font-size:.85rem}.footer-nav{display:flex;gap:20px}.footer-meta{text-align:right;color:#788481;font-size:.75rem}.footer-meta a{display:inline-flex;align-items:center;gap:.35rem}.footer-meta .instagram-link{margin-top:5px}.footer-meta .social-label{color:#d6ddda;font-weight:700}
.page-hero{padding:180px 0 100px;position:relative;overflow:hidden}.page-hero.light{background:var(--bone);color:var(--dark)}.page-hero .display{max-width:1100px}.page-hero .lede{margin-top:34px}.page-hero .ghost{position:absolute;right:4vw;top:110px;font-size:clamp(10rem,25vw,28rem);line-height:.75;font-weight:700;letter-spacing:-.08em;color:rgba(70,183,177,.055);user-select:none}.page-hero.light .lede{color:#566061}.page-hero.light .ghost{color:rgba(31,127,125,.08)}
.two-col{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:start}.sticky{position:sticky;top:130px}.sticky h2{font-size:clamp(3rem,5.3vw,6rem);line-height:.95;letter-spacing:-.05em;margin:16px 0 0}.prose{font-size:1.15rem;color:#bbc4c1}.prose.dark{color:#515b5c}.prose p{margin:0 0 25px}.clean-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--lineD)}.clean-list.light{border-color:var(--lineL)}.clean-list li{display:grid;grid-template-columns:62px 1fr;gap:20px;padding:26px 0;border-bottom:1px solid var(--lineD)}.clean-list.light li{border-color:var(--lineL)}.clean-list .n{color:var(--petrol);font-size:.78rem;font-weight:700;letter-spacing:.1em}.clean-list h3{margin:0 0 6px;font-size:1.28rem}.clean-list p{margin:0;color:#9eaaa7}.clean-list.light p{color:#667071}
.questions{border-top:1px solid var(--lineL)}.question{padding:32px 0;border-bottom:1px solid var(--lineL);display:grid;grid-template-columns:72px 1fr;gap:24px}.question span{color:var(--petrol2);font-weight:700;font-size:.78rem}.question h3{font-size:clamp(1.6rem,2.5vw,2.5rem);line-height:1.1;letter-spacing:-.035em;margin:0}.image-band{height:min(72vw,760px);overflow:hidden}.image-band img{width:100%;height:100%;object-fit:cover}.image-band.portrait{background:#000;display:grid;place-items:center}.image-band.portrait img{width:auto;height:100%;max-width:100%;object-fit:contain;object-position:center}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--lineL);border:1px solid var(--lineL)}.detail{background:var(--bone);padding:32px}.detail strong{display:block;font-size:1.4rem;margin-top:12px}.detail .meta{color:#7b8584}
.brief-chooser{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--lineD);border-block:1px solid var(--lineD);margin-top:70px}.brief-choice{background:var(--ink);padding:38px 32px;min-height:340px;display:flex;flex-direction:column;justify-content:space-between;transition:.25s}.brief-choice:hover{background:#0d1a20}.brief-choice .num{font-size:.76rem;color:var(--petrol);letter-spacing:.13em}.brief-choice h2{font-size:clamp(2.6rem,4.5vw,4.7rem);line-height:.95;letter-spacing:-.05em;margin:50px 0 22px}.brief-choice p{color:#aab4b1;max-width:320px}.brief-choice .go{font-size:1.7rem;color:var(--petrol)}
.form-shell{min-height:100svh;background:var(--paper);color:var(--dark);padding:150px 0 80px}.wizard-layout{display:grid;grid-template-columns:290px 1fr;gap:80px}.wizard-aside{position:sticky;top:125px;align-self:start}.wizard-aside h1{font-size:2.1rem;line-height:1.05;letter-spacing:-.04em;margin:12px 0 24px}.wizard-aside p{color:#657071;font-size:.95rem}.progress-track{height:2px;background:#d4cdc2;margin:30px 0 10px}.progress-bar{height:100%;width:16.66%;background:var(--petrol2);transition:width .3s}.progress-label{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:#7d8787}.wizard-card{background:#fff;border:1px solid #ded7cc;border-radius:18px;padding:48px;box-shadow:0 18px 60px rgba(26,33,35,.06)}.step{display:none}.step.active{display:block;animation:in .35s var(--ease)}@keyframes in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.step h2{font-size:clamp(2.3rem,4.3vw,4.1rem);line-height:.98;letter-spacing:-.045em;margin:0 0 16px}.step>.hint{color:#667071;max-width:660px;margin:0 0 34px}.field{margin:0 0 24px}.field label,.field legend{display:block;font-weight:700;font-size:.91rem;margin-bottom:9px}.field input[type=text],.field input[type=email],.field input[type=url],.field textarea,.field select{width:100%;border:1px solid #d4cdc2;border-radius:10px;background:#fbfaf7;padding:14px 15px;color:var(--dark);outline:none}.field textarea{min-height:130px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--petrol2);box-shadow:0 0 0 3px rgba(31,127,125,.12)}.fields2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choice{position:relative}.choice input{position:absolute;opacity:0;pointer-events:none}.choice label{display:flex;align-items:flex-start;gap:10px;height:100%;border:1px solid #d4cdc2;border-radius:10px;padding:16px;background:#fbfaf7;color:var(--dark);cursor:pointer;font-weight:600}.choice label:before{content:"";width:16px;height:16px;border:1px solid #aeb7b5;border-radius:50%;margin-top:3px;flex:none}.choice.check label:before{border-radius:4px}.choice input:checked+label{border-color:var(--petrol2);background:#f0f8f7}.choice input:checked+label:before{background:var(--petrol2);box-shadow:inset 0 0 0 4px #f0f8f7}.wizard-actions{display:flex;justify-content:space-between;gap:14px;margin-top:36px;padding-top:26px;border-top:1px solid #e2dbd1}.snapshot{background:var(--ink);color:var(--text);padding:34px;border-radius:14px;margin-top:28px}.snapshot h3{font-size:1.8rem;margin:0 0 18px}.snapshot pre{white-space:pre-wrap;font:inherit;color:#c4cecb;margin:0;line-height:1.65}.snapshot-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.notice{font-size:.82rem;color:#707a79}
.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.contact-info h1{font-size:clamp(3.6rem,7vw,7.5rem);line-height:.9;letter-spacing:-.06em;margin:0 0 35px}.contact-info p{color:#a9b4b1;max-width:430px}.contact-links{display:flex;flex-direction:column;gap:12px;margin-top:35px}.contact-links a{font-size:1.25rem;border-bottom:1px solid var(--lineD);padding-bottom:12px}.contact-form{background:#fff;color:var(--dark);padding:48px;border-radius:18px}.form-status{margin-top:16px;padding:14px 16px;border-radius:10px;background:#f3f1eb;color:#354042;font-size:.92rem}.form-status.error{background:#fff1ee;color:#6e342b}.form-status a{font-weight:700;text-decoration:underline}.shape-result{margin-top:40px;padding:34px;border:1px solid var(--lineD);background:var(--ink2)}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.visible{opacity:1;transform:none}
@media(max-width:1000px){.nav{display:none}.menu-toggle{display:block}.mobile-nav.open{display:flex;position:fixed;inset:0;background:rgba(7,16,21,.98);z-index:45;flex-direction:column;justify-content:center;padding:70px 40px;gap:26px;font-size:2rem}.mobile-nav a:last-child{font-size:1.15rem;color:var(--petrol);margin-top:16px}.hero-media{inset:0}.hero-media:after{background:linear-gradient(90deg,rgba(7,16,21,.96),rgba(7,16,21,.55)),linear-gradient(0deg,rgba(7,16,21,.75),transparent 55%)}.intro,.brief-teaser,.about-strip,.two-col,.contact-layout{grid-template-columns:1fr}.intro .lede{justify-self:start}.brief-copy{padding:100px 48px}.brief-panel{min-height:520px;padding:70px 48px}.about-photo{min-height:70vw}.about-copy{padding:90px 48px}.sticky{position:static}.wizard-layout{grid-template-columns:1fr;gap:34px}.wizard-aside{position:static}.detail-grid,.brief-chooser{grid-template-columns:1fr}.brief-choice{min-height:300px}.footer-inner{grid-template-columns:1fr}.footer-meta{text-align:left}.discipline{grid-template-columns:70px 1fr 36px}.discipline p{grid-column:2/3}.final-cta .row{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){.container,.header-inner{width:min(calc(100% - 30px),var(--max))}.site-header{height:74px}.brand small{display:none}.display{font-size:clamp(3.5rem,18vw,5.4rem)}.display.sm{font-size:clamp(3rem,15vw,4.8rem)}.hero-content{padding:150px 0 42px}.hero-actions{gap:12px}.btn{width:100%}.hero-foot{display:block}.section{padding:95px 0}.intro{gap:35px}.discipline-list{margin-top:55px}.discipline{grid-template-columns:45px 1fr 26px;gap:12px;padding:30px 0}.discipline h3{font-size:2.65rem}.brief-copy{padding:80px 24px}.brief-panel{padding:70px 24px}.about-copy{padding:75px 24px}.final-cta{padding:110px 0 50px}.page-hero{padding:128px 0 58px}.page-hero.brief-route-hero{padding:118px 0 42px}.page-hero.brief-route-hero .display{font-size:clamp(2.85rem,13vw,4.15rem);line-height:.92}.page-hero.brief-route-hero .lede{font-size:1rem;line-height:1.5;margin-top:18px}.page-hero.brief-route-hero .ghost{display:none}.page-hero.brief-route-hero .brief-chooser{margin-top:30px;gap:10px;background:transparent;border:0}.page-hero.brief-route-hero .brief-choice{min-height:0;padding:17px 18px;border:1px solid var(--lineD);border-radius:12px;display:grid;grid-template-columns:36px 1fr 24px;gap:12px;align-items:center}.page-hero.brief-route-hero .brief-choice>div{display:contents}.page-hero.brief-route-hero .brief-choice .num{grid-column:1;grid-row:1/3}.page-hero.brief-route-hero .brief-choice h2{grid-column:2;margin:0;font-size:1.62rem;line-height:1;letter-spacing:-.035em}.page-hero.brief-route-hero .brief-choice p{grid-column:2;margin:6px 0 0;font-size:.82rem;line-height:1.35}.page-hero.brief-route-hero .brief-choice .go{grid-column:3;grid-row:1/3;align-self:center}.two-col{gap:55px}.wizard-card{padding:26px 18px}.fields2,.choices{grid-template-columns:1fr}.wizard-actions{flex-direction:column-reverse}.wizard-actions .btn{width:100%}.form-shell{padding-top:115px}.contact-form{padding:26px 18px}.footer-nav{flex-wrap:wrap}.footer-meta a{font-size:.9rem}}

@media(max-width:700px){.image-band.portrait{height:auto}.image-band.portrait img{width:100%;height:auto;max-height:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.btn,.discipline{transition:none}.step.active{animation:none}}

.netlify-trap{position:absolute!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;height:1px!important;width:1px!important;margin:-1px!important;padding:0!important;border:0!important;white-space:nowrap!important}.form-status.success{background:#e7f3ef;color:#173d37;border:1px solid #b8d8cf}.form-status.error .form-fallback{display:block;margin-top:10px;font-weight:800;text-decoration:underline;text-underline-offset:3px}

/* V2.2 — source-true portrait treatment. The supplied 1:1 portrait is never cropped. */
.portrait-editorial{padding:clamp(72px,9vw,140px) 0;background:var(--ink)}
.portrait-editorial.paper{background:var(--bone)}
.portrait-editorial-grid{display:grid;grid-template-columns:minmax(0,620px) minmax(0,1fr);gap:clamp(54px,8vw,130px);align-items:center}
.portrait-frame{width:100%;max-width:620px;aspect-ratio:1/1;background:#000;overflow:visible;justify-self:start}
.portrait-frame img{display:block;width:100%;height:auto;max-width:none;aspect-ratio:1/1;object-fit:contain;object-position:center}
.portrait-copy{max-width:590px;color:var(--text)}
.portrait-copy h2{font-size:clamp(3.5rem,6.4vw,7rem);line-height:.91;letter-spacing:-.058em;margin:18px 0 30px}
.portrait-copy p{color:#b7c1be;max-width:540px;font-size:1.08rem;line-height:1.72}
.portrait-copy.dark-copy{color:var(--dark)}
.portrait-copy.dark-copy p{color:#515a5b}
.portrait-editorial-home .portrait-frame{max-width:560px}
@media(max-width:1000px){.portrait-editorial-grid{grid-template-columns:minmax(0,560px) minmax(0,1fr);gap:50px}.portrait-copy h2{font-size:clamp(3.2rem,6vw,5.7rem)}}
@media(max-width:820px){.portrait-editorial{padding:86px 0}.portrait-editorial-grid{grid-template-columns:1fr;gap:48px}.portrait-frame,.portrait-editorial-home .portrait-frame{max-width:620px;width:100%;justify-self:center}.portrait-copy{max-width:650px}.portrait-copy h2{font-size:clamp(3.3rem,12vw,5.7rem)}}
@media(max-width:700px){.portrait-editorial{padding:72px 0}.portrait-editorial-grid{gap:38px}.portrait-frame{width:100%;aspect-ratio:1/1}.portrait-frame img{width:100%;height:auto}.portrait-copy h2{font-size:clamp(3.05rem,14vw,4.7rem);margin-bottom:22px}.portrait-copy p{font-size:1rem;line-height:1.65}}


/* V2.3 — unified five-step adaptive brief */
.brief-v23{padding-top:130px}
.brief-v23 .wizard-layout{grid-template-columns:320px minmax(0,1fr);gap:clamp(48px,7vw,100px)}
.brief-v23 .wizard-aside h1{font-size:clamp(2.15rem,3vw,3.3rem);line-height:.98;margin:14px 0 22px}
.route-status{display:inline-flex;margin-top:22px;padding:7px 11px;border:1px solid #c8c1b6;border-radius:999px;font-size:.76rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:#52605f;background:rgba(255,255,255,.45)}
.save-note{font-size:.78rem!important;color:#88918f!important;margin-top:18px}
.step-kicker{font-size:.72rem;letter-spacing:.17em;text-transform:uppercase;color:var(--petrol2);font-weight:800;margin-bottom:22px}
.single-col{grid-template-columns:1fr}
.route-choice label{padding:20px 20px;align-items:center;justify-content:space-between;gap:24px}
.route-choice label:before{display:none}
.route-choice label span{display:flex;flex-direction:column;gap:4px}
.route-choice label strong{font-size:1.08rem}
.route-choice label small{font-size:.86rem;line-height:1.4;color:#687372;font-weight:500}
.route-choice label b{font-size:1.35rem;color:var(--petrol2);font-weight:500}
.route-choice input:checked+label{box-shadow:inset 4px 0 0 var(--petrol2)}
.branch-block[hidden],.branch-extra[hidden],.optional-panel[hidden],.scope-panel[hidden]{display:none!important}
.optional{font-weight:500;color:#8a9290;font-size:.78rem;margin-left:4px}
.tone-chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px}
.tone-chip{position:relative}.tone-chip input{position:absolute;opacity:0;pointer-events:none}.tone-chip label{display:block;border:1px solid #d4cdc2;border-radius:999px;padding:10px 15px;background:#fbfaf7;color:var(--dark);cursor:pointer;font-size:.9rem;font-weight:650;transition:.2s}.tone-chip input:checked+label{border-color:var(--petrol2);background:#e7f3f1;color:#123a38;box-shadow:inset 0 0 0 1px var(--petrol2)}
.disclosure-row{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0 20px}.disclosure{border:0;background:transparent;padding:0;color:#47625f;font-weight:750;cursor:pointer;border-bottom:1px solid #a9bbb8;padding-bottom:3px}.optional-panel{margin-top:18px}.compact-field{margin-top:34px;padding-top:28px;border-top:1px solid #e2dbd1}.scope-panel{margin-top:20px;padding:24px;border:1px solid #ded7cc;border-radius:12px;background:#fbfaf7}
.thankyou-hero{min-height:90svh;display:flex;align-items:center}.thankyou-snapshot{margin-top:50px;max-width:820px;padding:30px;border:1px solid var(--lineD);background:var(--ink2)}.thankyou-snapshot pre{white-space:pre-wrap;font:inherit;color:#ccd4d1;line-height:1.72;margin:18px 0 0}.thankyou-snapshot .hero-actions{margin-top:26px}
@media(max-width:1000px){.brief-v23 .wizard-layout{grid-template-columns:1fr;gap:34px}.brief-v23 .wizard-aside{position:static;max-width:720px}.brief-v23 .wizard-aside p{max-width:600px}}
@media(max-width:700px){.brief-v23{padding-top:98px}.brief-v23 .wizard-card{padding:24px 16px;border-radius:14px}.brief-v23 .wizard-aside h1{font-size:2.35rem}.brief-v23 .wizard-aside>p:first-of-type{font-size:.9rem}.route-choice label{padding:17px 16px}.route-choice label strong{font-size:1rem}.route-choice label small{font-size:.8rem}.tone-chips{gap:8px}.tone-chip label{padding:9px 12px;font-size:.84rem}.disclosure-row{flex-direction:column;align-items:flex-start}.scope-panel{padding:16px}.thankyou-snapshot{padding:22px 18px}}

/* V2.5 — true multi-page architecture and contextual brief entry */
.home-v25 .hero-actions{margin-top:32px}
.compact-intro{align-items:end}
.home-services-v25{padding-bottom:clamp(110px,10vw,170px)}
.home-studio-v25{min-height:78svh}
.home-about-v25{padding-top:clamp(90px,10vw,150px);padding-bottom:clamp(90px,10vw,150px)}
.final-cta-v25{padding-top:clamp(110px,12vw,180px)}
.service-hub-hero{min-height:62svh;display:flex;align-items:flex-end}
.service-hub-v25{padding-top:30px}
.hub-footnote{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:70px;padding-top:28px;border-top:1px solid var(--lineD);color:#9fa9a7}
.service-detail-hero{min-height:78svh}
.service-outro{padding:clamp(90px,10vw,150px) 0}
.service-outro .prose{align-self:center}
.studio-hero-v25{min-height:66svh;display:flex;align-items:flex-end}
.studio-photo-v25{background:#000;padding:0;overflow:hidden}
.studio-photo-v25 img{width:100%;height:auto;max-height:none;object-fit:contain}
.studio-info-v25{padding:clamp(95px,10vw,160px) 0}
.studio-info-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:clamp(60px,9vw,150px);align-items:end}
.studio-info-grid h2{font-size:clamp(3.4rem,6.5vw,7rem);line-height:.92;letter-spacing:-.058em;margin:18px 0 0}
.studio-facts{display:grid;gap:0;border-top:1px solid var(--lineD)}
.studio-facts>div{display:grid;grid-template-columns:130px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--lineD)}
.studio-facts span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#879391;font-weight:700}
.studio-facts strong,.studio-facts a{font-size:1.05rem;color:#ecf0ed}
.studio-crops-v25{padding:clamp(70px,8vw,120px) 0}
.studio-crops-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.studio-crops-grid figure{margin:0;aspect-ratio:4/3;overflow:hidden;background:#000}
.studio-crops-grid img{width:100%;height:100%;object-fit:cover}
.studio-crops-grid .crop-left{object-position:20% 55%}
.studio-crops-grid .crop-right{object-position:80% 55%}
.about-hero-v25{min-height:65svh;display:flex;align-items:flex-end}
.about-editorial-v25{padding-top:clamp(90px,10vw,150px);padding-bottom:clamp(90px,10vw,150px)}
.contact-v25{padding-top:170px;min-height:100svh}
.route-context{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:22px}
.route-context .route-status{margin-top:0}
.route-change{border:0;background:transparent;color:#53615f;font:inherit;font-size:.76rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:6px 2px;border-bottom:1px solid #98aaa7;cursor:pointer}
.route-change:hover{color:var(--petrol2)}
.brief-v23 .wizard-aside{top:125px}

@media(max-width:1000px){
 .studio-info-grid{grid-template-columns:1fr;align-items:start}
 .studio-facts{max-width:720px}
 .service-hub-hero,.studio-hero-v25,.about-hero-v25{min-height:auto}
}
@media(max-width:700px){
 .home-studio-v25{min-height:76svh}
 .hub-footnote{align-items:flex-start;flex-direction:column;margin-top:48px}
 .service-detail-hero{min-height:auto}
 .studio-photo-v25 img{width:100%;height:auto}
 .studio-info-grid h2{font-size:clamp(3rem,14vw,4.7rem)}
 .studio-facts>div{grid-template-columns:1fr;gap:7px}
 .studio-crops-grid{grid-template-columns:1fr;gap:14px}
 .studio-crops-grid figure{aspect-ratio:1/1}
 .contact-v25{padding-top:115px}
 .route-context{margin-top:18px}
}


/* V2.6 — FAQ */
.faq-home{padding-top:clamp(105px,10vw,160px);padding-bottom:clamp(105px,10vw,160px)}
.faq-intro{margin-bottom:clamp(56px,7vw,95px)}
.faq-intro>div:last-child{align-self:end}.faq-more{margin:26px 0 0}
.faq-list{border-top:1px solid var(--lineD)}
.faq-item{border-bottom:1px solid var(--lineD)}
.faq-item summary{list-style:none;display:grid;grid-template-columns:64px minmax(0,1fr) 34px;gap:24px;align-items:center;min-height:98px;padding:24px 0;cursor:pointer;color:var(--text)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary>span{font-size:.72rem;letter-spacing:.14em;color:#72807d;font-weight:700}
.faq-item summary h2,.faq-item summary h3{margin:0;font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.15;letter-spacing:-.025em;font-weight:650}
.faq-item summary b{position:relative;width:26px;height:26px;justify-self:end;font-weight:400}
.faq-item summary b:before,.faq-item summary b:after{content:"";position:absolute;left:4px;right:4px;top:12px;height:1px;background:var(--petrol);transition:.25s var(--ease)}
.faq-item summary b:after{transform:rotate(90deg)}
.faq-item[open] summary b:after{transform:rotate(0deg);opacity:0}
.faq-answer{padding:0 58px 30px 88px;max-width:980px}
.faq-answer p{margin:0;color:#aeb8b5;font-size:1.02rem;line-height:1.75}
.faq-item summary:hover h2,.faq-item summary:hover h3{color:var(--petrol)}
.faq-hero{min-height:64svh;display:flex;align-items:flex-end}
.faq-page{padding-top:clamp(90px,9vw,145px)}
.faq-page-grid{display:grid;grid-template-columns:minmax(250px,.62fr) minmax(0,1.38fr);gap:clamp(60px,8vw,130px);align-items:start}
.faq-aside{position:sticky;top:125px}.faq-aside h2{font-size:clamp(2.8rem,5vw,5.5rem);line-height:.92;letter-spacing:-.055em;margin:18px 0 28px}.faq-aside p{max-width:440px;color:#aeb8b5;line-height:1.7}.faq-aside .textlink{margin-top:12px}
.faq-list-full .faq-item summary{grid-template-columns:52px minmax(0,1fr) 30px;min-height:90px}.faq-list-full .faq-answer{padding-left:76px}
@media(max-width:1000px){.faq-page-grid{grid-template-columns:1fr;gap:55px}.faq-aside{position:static;max-width:720px}.faq-aside h2{font-size:clamp(3rem,8vw,5.5rem)}}
@media(max-width:700px){.faq-home{padding-top:88px;padding-bottom:88px}.faq-intro{margin-bottom:45px}.faq-item summary,.faq-list-full .faq-item summary{grid-template-columns:35px minmax(0,1fr) 26px;gap:12px;min-height:82px;padding:20px 0}.faq-item summary h2,.faq-item summary h3{font-size:1.28rem}.faq-answer,.faq-list-full .faq-answer{padding:0 0 24px 47px}.faq-answer p{font-size:.95rem;line-height:1.65}.faq-hero{min-height:auto}.faq-page{padding-top:78px}.faq-aside h2{font-size:clamp(2.9rem,14vw,4.7rem)}}


/* V2.7 — tighter editorial heroes + Cloudflare form polish */
.about-hero-v25{min-height:auto;display:block;padding-top:clamp(145px,15vh,190px);padding-bottom:clamp(78px,8vh,118px)}
.service-detail-hero{min-height:auto;padding-top:clamp(145px,15vh,190px);padding-bottom:clamp(88px,9vh,125px)}
@media(max-width:1000px){
 .about-hero-v25,.service-detail-hero{min-height:auto}
}
@media(max-width:700px){
 .about-hero-v25,.service-detail-hero{padding-top:118px;padding-bottom:72px}
}

/* V2.8 — Stejong liquid-glass Book a Call CTA */
.image-cta{display:inline-block;max-width:360px;line-height:0;border:0;text-decoration:none;transition:transform .28s var(--ease),filter .28s var(--ease)}
.image-cta img{display:block;width:100%;height:auto}
.image-cta:hover{transform:translateY(-3px) scale(1.015);filter:brightness(1.06)}
.image-cta:focus-visible{outline:3px solid var(--petrol);outline-offset:5px;border-radius:999px}
.contact-image-cta{margin-top:28px;max-width:340px}
.home-final-actions{align-items:center}
.home-final-actions .image-cta{max-width:330px}
@media(max-width:700px){.image-cta,.contact-image-cta,.home-final-actions .image-cta{width:100%;max-width:100%}.home-final-actions{width:100%}}

/* V2.9 — compact hero rhythm on desktop
   Removes the oversized empty viewport areas while keeping the cinematic composition. */
.home-v25,
.home-v25 .hero-content{
  min-height:clamp(600px,64svh,760px);
}
.home-v25 .hero-content{
  padding-top:118px;
  padding-bottom:48px;
}
.home-v25 .hero-foot{
  margin-top:42px;
}

.service-hub-hero,
.studio-hero-v25{
  min-height:auto;
  padding-top:132px;
  padding-bottom:64px;
}

@media(max-width:1000px){
  .home-v25,
  .home-v25 .hero-content{
    min-height:clamp(580px,66svh,720px);
  }
  .service-hub-hero,
  .studio-hero-v25{
    min-height:auto;
    padding-top:122px;
    padding-bottom:62px;
  }
}

@media(max-width:700px){
  .home-v25,
  .home-v25 .hero-content{
    min-height:auto;
  }
  .home-v25 .hero-content{
    padding-top:112px;
    padding-bottom:52px;
  }
  .home-v25 .hero-foot{
    margin-top:36px;
  }
  .service-hub-hero,
  .studio-hero-v25{
    padding-top:108px;
    padding-bottom:56px;
  }
}


/* V3.0 — artistic ambient backgrounds for FAQ, Contact and Services */
.service-hub-hero,
.service-hub-v25,
.contact-v25,
.faq-hero,
.faq-page{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}

.service-hub-hero::before,
.service-hub-v25::before,
.contact-v25::before,
.faq-hero::before,
.faq-page::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:url('/assets/ambient-bg.png');
  background-repeat:no-repeat;
  background-size:cover;
  z-index:-3;
  opacity:.72;
  transform:scale(1.035);
  filter:saturate(.95);
}

.service-hub-hero::after,
.service-hub-v25::after,
.contact-v25::after,
.faq-hero::after,
.faq-page::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
}

.service-hub-hero::before{background-position:center 22%}
.service-hub-v25::before{background-position:center 38%;opacity:.34}
.contact-v25::before{background-position:58% 18%;opacity:.68}
.faq-hero::before{background-position:center 16%;opacity:.66}
.faq-page::before{background-position:center 24%;opacity:.32}

.service-hub-hero::after{
  background:
    linear-gradient(180deg,rgba(7,16,21,.86) 0%,rgba(7,16,21,.58) 38%,rgba(7,16,21,.88) 100%),
    radial-gradient(circle at 28% 68%,rgba(70,183,177,.16),transparent 34%);
}
.service-hub-v25::after{
  background:
    linear-gradient(180deg,rgba(7,16,21,.95) 0%,rgba(7,16,21,.88) 100%),
    radial-gradient(circle at 68% 10%,rgba(255,255,255,.04),transparent 28%);
}
.contact-v25::after{
  background:
    linear-gradient(135deg,rgba(7,16,21,.93) 0%,rgba(7,16,21,.76) 42%,rgba(7,16,21,.92) 100%),
    radial-gradient(circle at 24% 32%,rgba(70,183,177,.18),transparent 30%),
    linear-gradient(90deg,rgba(7,16,21,.28) 0%,rgba(7,16,21,0) 54%,rgba(7,16,21,.16) 100%);
}
.faq-hero::after{
  background:
    linear-gradient(180deg,rgba(7,16,21,.92) 0%,rgba(7,16,21,.68) 40%,rgba(7,16,21,.9) 100%),
    radial-gradient(circle at 36% 34%,rgba(70,183,177,.15),transparent 26%);
}
.faq-page::after{
  background:
    linear-gradient(180deg,rgba(7,16,21,.97) 0%,rgba(7,16,21,.92) 100%),
    radial-gradient(circle at 72% 12%,rgba(255,255,255,.04),transparent 24%);
}

.faq-hero .lede,
.faq-page .faq-aside p,
.faq-page .faq-answer p,
.faq-page .faq-item summary>span,
.contact-v25 .contact-info p,
.service-hub-hero .lede,
.service-hub-v25 .hub-footnote{
  color:#c7d0ce;
}

.faq-hero .eyebrow,
.faq-page .eyebrow,
.contact-v25 .eyebrow,
.service-hub-hero .eyebrow{
  color:#63d5cf;
}

.contact-v25 .contact-form{
  background:rgba(248,245,239,.97);
  border:1px solid rgba(255,255,255,.38);
  box-shadow:0 30px 80px rgba(0,0,0,.28);
  backdrop-filter:blur(6px);
}

.contact-v25 .contact-links a{
  border-bottom-color:rgba(255,255,255,.18);
}

@media(max-width:700px){
  .service-hub-hero::before,
  .service-hub-v25::before,
  .contact-v25::before,
  .faq-hero::before,
  .faq-page::before{
    transform:scale(1.06);
  }
  .contact-v25::before{background-position:60% 24%}
}

/* V3.1 — fix FAQ empty-space regression + ensure ambient art actually renders */
.service-hub-hero::before,
.service-hub-v25::before,
.contact-v25::before,
.faq-hero::before,
.faq-page::before{
  z-index:0;
}
.service-hub-hero::after,
.service-hub-v25::after,
.contact-v25::after,
.faq-hero::after,
.faq-page::after{
  z-index:1;
  pointer-events:none;
}
.service-hub-hero > *,
.service-hub-v25 > *,
.contact-v25 > *,
.faq-hero > *,
.faq-page > *{
  position:relative;
  z-index:2;
}

/* The old FAQ hero inherited a 64svh minimum height, which caused the large blank field. */
.faq-hero{
  min-height:auto;
  padding-top:clamp(140px,14vh,178px);
  padding-bottom:clamp(74px,8vh,108px);
  background:var(--ink);
  color:var(--text);
  align-items:initial;
}
.faq-hero .display{color:var(--text)}
.faq-hero .lede{color:#d0d7d5}
.faq-hero .ghost{display:none}

/* Let the supplied artwork be visible above legacy solid section backgrounds. */
.faq-page,
.contact-v25,
.service-hub-v25,
.service-hub-hero{
  background-color:var(--ink);
}

/* Keep readable contrast while still showing the artwork. */
.faq-page .faq-list{background:rgba(7,16,21,.48);backdrop-filter:blur(2px)}
.faq-page .faq-item{padding-inline:clamp(0px,1vw,14px)}

@media(max-width:700px){
  .faq-hero{
    padding-top:112px;
    padding-bottom:62px;
  }
}
