:root{--black:#0d1110;--black2:#171d1b;--off:#f2f3ed;--ink:#181d1a;--muted:#768078;--hair:#d4d9d0;--mint:#d3e5c4;--font:Inter,"Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}body{margin:0;font-family:var(--font);background:var(--off);color:var(--ink);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-weight:490;letter-spacing:-.065em}.wide{width:min(100% - 96px,1500px);margin-inline:auto}.skip{position:absolute;top:-200px;left:12px;background:#fff;color:#111;z-index:150;padding:12px}.skip:focus{top:12px}.overline{font-size:11px;letter-spacing:.19em;font-weight:700;line-height:1.5;text-transform:uppercase}.section{padding:clamp(88px,10vw,150px) 0}.section-heading{display:grid;grid-template-columns:1.5fr .65fr;gap:10%;align-items:end;margin-bottom:48px}.section-heading h2,.fidelity-section h2,.studio-copy h2{font-size:clamp(40px,5vw,82px);line-height:1.07;letter-spacing:-.068em;margin:17px 0 0}.section-heading h2 span,.fidelity-section h2 span,.studio-copy h2 span{color:#8d998b}.section-heading>p{color:#68726b;font-size:16px;line-height:1.65;margin:0;max-width:460px}
#scroll-progress{height:2px;position:fixed;top:0;left:0;z-index:200;background:var(--mint);transform:scaleX(0);transform-origin:left;width:100%;pointer-events:none}.header{height:74px;position:sticky;top:0;z-index:100;background:rgba(13,17,16,.97);color:#f8f8f1;border-bottom:1px solid #ffffff25;backdrop-filter:blur(16px)}.head-inner,.brand,.nav-links,.nav-end,.languages{display:flex;align-items:center}.head-inner{height:100%;justify-content:space-between;gap:28px}.brand{gap:16px;white-space:nowrap}.brand img{height:37px;width:auto;object-fit:contain;max-width:94px}.brand-divider{height:20px;width:1px;background:#69726b}.brand-product{font-size:11px;letter-spacing:.11em;font-weight:380}.brand-product strong{font-weight:780}.nav-links{gap:34px;color:#adb5aa;font-size:12px}.nav-links a:hover{color:white}.nav-end{gap:23px}.languages{gap:8px;font-size:12px}.languages a{color:#808b83}.languages span[aria-current]{color:#fff}.nav-button{border:1px solid #fff5;padding:13px 17px;display:flex;gap:23px;align-items:center;font-size:12px;transition:.25s}.nav-button:hover{background:#f4f5ec;color:var(--black)}.nav-button span{font-size:17px}
.hero{background:var(--black);color:#fff;position:relative;overflow:hidden}.hero-light{position:absolute;inset:0;background:radial-gradient(ellipse 70% 70% at 68% 52%,rgba(86,111,87,.18),transparent 75%);pointer-events:none;animation:breath 9s ease-in-out infinite alternate}@keyframes breath{from{opacity:.5;transform:scale(.96)}to{opacity:1;transform:scale(1.06)}}.hero-grid{min-height:clamp(640px,73vh,830px);display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:5%;padding:80px 0 70px;position:relative}.hero-copy{position:relative;z-index:2}.hero-overline{color:#a5b0a5;margin-bottom:42px;display:flex;align-items:center;gap:12px}.pulse-dot{width:8px;height:8px;background:var(--mint);border-radius:50%;box-shadow:0 0 0 5px #d3e5c416;animation:pulse 2.1s ease infinite}@keyframes pulse{50%{box-shadow:0 0 0 10px #d3e5c408}}.hero h1{font-size:clamp(60px,7.35vw,121px);line-height:1.01;margin:0 0 33px;max-width:860px}.hero-line{display:block;white-space:nowrap;animation:riseIn .78s cubic-bezier(.2,.9,.15,1) both}.hero-line.soft{color:var(--mint);animation-delay:.12s}@keyframes riseIn{from{transform:translateY(32px);opacity:0}to{transform:translateY(0);opacity:1}}.hero-desc{max-width:550px;color:#c0c9c0;font-size:clamp(16px,1.4vw,19px);line-height:1.75;margin-bottom:32px}.hero-actions{display:flex;flex-wrap:wrap;gap:11px}.pill-button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:16px 21px;min-height:54px;font-size:13px;font-weight:650;border:1px solid #ffffff4d;transition:background .22s,color .22s,transform .22s}.pill-button:hover{transform:translateY(-3px)}.pill-primary{background:var(--mint);color:#131914;border-color:var(--mint)}.pill-primary:hover{background:#f1ffe5}.pill-outline{color:#e9efe6}.pill-outline:hover{background:#ffffff16}.pill-button span{font-size:17px}.hero-bullets{display:flex;flex-wrap:wrap;gap:24px;margin-top:38px;color:#b6c3b8;font-size:12px}.hero-bullets span{display:flex;align-items:center;gap:9px}.hero-bullets i{font-style:normal;font-size:16px;color:var(--mint)}.hero-visual{position:relative;min-width:0;transform:none}.hero-visual-inner{position:relative;aspect-ratio:4/4.35;overflow:hidden;background:#3f4840}.hero-visual-inner:before{content:"";position:absolute;inset:17px;border:1px solid #ffffff65;z-index:2;pointer-events:none}.hero-visual-inner>img{width:100%;height:100%;object-fit:cover;object-position:center;animation:heroZoom 2s ease-out both}@keyframes heroZoom{from{transform:scale(1.15);opacity:.5}to{transform:scale(1);opacity:1}}.hero-visual-inner:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#0e1513a0);pointer-events:none}.hero-visual-caption{position:absolute;bottom:35px;left:36px;right:35px;z-index:3;display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:700;letter-spacing:.16em}.hero-visual-caption span:last-child{font-size:23px}.hero-side-label{position:absolute;top:50%;right:-30px;writing-mode:vertical-rl;font-size:10px;letter-spacing:.2em;color:#7d8980}.hero-bottom{position:relative;display:flex;justify-content:space-between;border-top:1px solid #ffffff27;padding:24px 0 30px;color:#98a39a;font-size:10px;font-weight:620;letter-spacing:.15em}.hero-bottom a{transition:color .2s}.hero-bottom a:hover{color:#fff}.hero-bottom .muted{color:#536257}
.metrics{background:#e1e7dc;border-bottom:1px solid #cdd4ca}.metrics-grid{display:grid;grid-template-columns:repeat(3,1fr)}.metrics-grid>div{display:flex;gap:20px;align-items:center;min-height:135px;padding:27px 30px 27px 0}.metrics-grid>div+div{padding-left:40px;border-left:1px solid #c5cfc3}.metrics strong{font-weight:520;letter-spacing:-.08em;font-size:clamp(35px,3.8vw,62px);white-space:nowrap}.metrics span{max-width:170px;font-size:12px;color:#566359;line-height:1.5}
.gallery-section{background:#f4f5f0}.gallery-section .overline{color:#657267}.showcase{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,.75fr);gap:20px;align-items:stretch}.showcase-left{min-width:0;display:flex;flex-direction:column;background:#fff;border:1px solid #d9ded5}.comparison{position:relative;aspect-ratio:16/10;--pos:50%;overflow:hidden;isolation:isolate;background:#69756e}.ba-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;max-width:none}.ba-before{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--pos)) 0 0)}.ba-line{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;background:#fff;transform:translateX(-50%);pointer-events:none}.ba-handle{position:absolute;top:50%;left:var(--pos);transform:translate(-50%,-50%);width:53px;height:53px;border-radius:50%;display:flex;justify-content:center;align-items:center;gap:10px;color:#111;background:#fff;box-shadow:0 4px 35px #0004;pointer-events:none;font-size:23px;z-index:3}.ba-handle b{font-weight:400}.ba-range{position:absolute;inset:0;cursor:ew-resize;opacity:0;width:100%;height:100%;z-index:5;touch-action:pan-y}.ba-badge{position:absolute;top:22px;color:#fff;background:#101612bd;padding:10px 12px;font-size:10px;letter-spacing:.12em;z-index:3;pointer-events:none}.badge-before{left:22px}.badge-after{right:22px}.ba-hint{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);color:white;text-shadow:0 2px 8px #000;font-size:11px;z-index:3;pointer-events:none}.showcase-caption{padding:26px 35px 33px;display:grid;grid-template-columns:120px 1fr auto;gap:25px;align-items:start;min-height:147px}.showcase-caption>span{font-size:10px;letter-spacing:.15em;color:#647364;font-weight:700}.showcase-caption h3{font-size:clamp(23px,2vw,32px);letter-spacing:-.04em;margin:0 0 8px}.showcase-caption p{font-size:13px;line-height:1.6;color:#687268;margin:0;max-width:560px}.showcase-caption>a{font-size:12px;border-bottom:1px solid;padding-bottom:7px;white-space:nowrap}.showcase-menu{background:#e8ede5;display:flex;flex-direction:column;padding:22px;min-width:0}.menu-head{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.15em;font-weight:650;padding:4px 2px 20px;color:#6a786c}.project-tab{display:grid;grid-template-columns:80px 1fr auto;align-items:center;gap:14px;min-height:108px;width:100%;background:transparent;border:0;border-top:1px solid #cbd3c8;text-align:left;padding:10px 3px;transition:background .2s,transform .2s}.project-tab:hover{transform:translateX(4px)}.project-tab.is-active{color:#131c15}.project-tab img{width:80px;height:75px;object-fit:cover;filter:saturate(.6);transition:filter .2s}.project-tab.is-active img{filter:saturate(1.1)}.project-tab span:nth-child(2){font-size:13px;line-height:1.35;font-weight:650}.project-tab small{display:block;font-size:10px;color:#7a8679;margin-bottom:8px;letter-spacing:.12em}.project-tab>span:last-child{font-size:20px;font-weight:300;color:#647464}.menu-note{font-size:11px;line-height:1.6;color:#687469;margin:auto 0 0;padding-top:16px;border-top:1px solid #cbd3c8}
.services-section{background:#eef0ea}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.service-card{min-height:495px;display:flex;flex-direction:column;background:#fff;padding:30px;border:1px solid #d3dbd1;position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s}.service-card:hover{transform:translateY(-5px);box-shadow:0 20px 50px #24332713}.service-card:nth-child(2){background:#141a16;color:#f2f5ef;border-color:#141a16}.service-top{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.13em;font-weight:660;color:#7c897d}.card-plus{font-size:25px;color:inherit}.service-card h3{font-size:clamp(30px,2.75vw,48px);margin:70px 0 15px;letter-spacing:-.065em}.service-card>p{font-size:15px;line-height:1.55;color:#717b71;max-width:350px}.service-card:nth-child(2)>p{color:#aebbae}.service-card ul{list-style:none;padding:0;margin:10px 0 35px}.service-card li{padding:9px 0;font-size:13px;border-bottom:1px solid #dde1db}.service-card:nth-child(2) li{border-color:#3d483f}.service-card li:before{content:'↗';margin-right:12px}.service-bottom{margin-top:auto;display:flex;justify-content:space-between;gap:10px;align-items:end;font-weight:650;font-size:14px}.service-button{border:1px solid #c7d0c5;display:grid;place-items:center;width:43px;height:43px;font-size:20px;transition:.2s}.service-button:hover{background:var(--mint);color:#111}.design-upgrade{margin-top:18px;background:#dce7d5;display:grid;grid-template-columns:1fr 1.2fr auto;align-items:center;gap:45px;padding:37px 39px}.design-upgrade .overline{color:#536450;margin-bottom:13px}.design-upgrade h3{font-size:clamp(27px,3.6vw,47px);letter-spacing:-.055em;margin:0}.design-upgrade h3 span{color:#748a73}.design-upgrade>p{font-size:14px;line-height:1.65;color:#5c6e5b;margin:0}.design-action{display:flex;gap:20px;align-items:center;border-bottom:1px solid;padding-bottom:10px;font-size:12px;font-weight:650;white-space:nowrap}.design-action span{font-size:20px}
.studio-section{background:#0f1612;color:#f1f5ef}.studio-grid{display:grid;grid-template-columns:1fr .75fr;gap:12%;align-items:center}.studio-copy h2 span{color:#9cae98}.studio-lead{font-size:16px;color:#bbc9bc;line-height:1.8;max-width:560px;margin:30px 0 26px}.benefit-list{display:grid;gap:15px;margin-bottom:38px;font-size:13px;color:#d1decf}.studio-plan{background:#1c2820;border:1px solid #52624f;padding:clamp(25px,3.5vw,48px)}.studio-plan>.overline{color:#99af97;margin-bottom:36px}.studio-plan-row{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:22px 0;border-top:1px solid #576659}.studio-plan-row>div{display:flex;flex-direction:column;gap:8px}.studio-plan-row>div>span{font-size:10px;letter-spacing:.2em;color:#a6b8a6}.studio-plan-row strong{font-size:clamp(29px,3.2vw,50px);font-weight:500;letter-spacing:-.06em}.studio-plan-row small,.studio-plan-row>b{color:#afc0b1;font-size:12px;font-weight:400}.studio-plan-note{font-size:12px;line-height:1.6;color:#9eb09f;margin:23px 0 0}
.fidelity-section{background:#e5ebe1}.fidelity-grid{display:grid;grid-template-columns:1fr .7fr;gap:11%;align-items:center}.fidelity-desc{font-size:16px;line-height:1.7;color:#58665b;max-width:560px;margin:27px 0 0}.fidelity-items>div{display:grid;grid-template-columns:48px 1fr auto;border-bottom:1px solid #bbc8b9;padding:24px 0;align-items:center;gap:15px;font-size:25px;letter-spacing:-.04em}.fidelity-items>div:first-child{border-top:1px solid #bbc8b9}.fidelity-items span{font-size:11px;color:#697e68;letter-spacing:.08em}.fidelity-items b{font-weight:400;color:#67806a;font-size:22px}
.process-section{background:#f4f5f0}.process-title{font-size:clamp(40px,5vw,80px);margin:13px 0 45px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.step{border-top:1px solid #aeb9af;padding:25px 15px 10px 0}.step>span{font-size:12px;color:#677769;letter-spacing:.12em}.step h3{font-size:clamp(26px,3vw,42px);margin:45px 0 12px}.step p{color:#697369;font-size:14px;line-height:1.65}.faq-section{background:#ebefe8;border-top:1px solid #dae2d8}.faq-grid{display:grid;grid-template-columns:.7fr 1fr;gap:10%}.faq-grid h2{font-size:clamp(42px,4.5vw,76px);margin:18px 0}.faq-items details{border-bottom:1px solid #cbd3c8}.faq-items details:first-child{border-top:1px solid #cbd3c8}.faq-items summary{list-style:none;display:flex;justify-content:space-between;gap:15px;align-items:center;cursor:pointer;padding:22px 4px;font-size:16px;font-weight:530}.faq-items summary::-webkit-details-marker{display:none}.faq-items summary span{font-size:25px;color:#627862;transition:transform .2s}.faq-items details[open] summary span{transform:rotate(45deg)}.faq-items details p{font-size:14px;color:#6c776d;line-height:1.8;max-width:630px;padding:0 25px 22px 4px;margin:0}
.contact-section{background:#111a14;color:#f0f4ee}.contact-grid{display:grid;grid-template-columns:.87fr 1fr;gap:11%;align-items:start}.contact-copy h2{font-size:clamp(50px,6vw,96px);line-height:1.04;margin:18px 0 24px}.contact-copy h2 span{color:#b7cbb1}.contact-copy>p:not(.overline){color:#aebdaf;font-size:17px;line-height:1.75;max-width:440px}.contact-48{margin:58px 0;display:flex;flex-direction:column;gap:10px}.contact-48>span{color:#a4b9a5;font-size:10px;letter-spacing:.14em}.contact-48 strong{font-size:clamp(70px,9vw,130px);letter-spacing:-.1em;line-height:1;font-weight:500}.contact-48 small{color:#aebdaf;font-size:12px}.direct-email{color:#9caf9d;font-size:12px;line-height:2.2}.direct-email a{font-size:18px;color:#fff}.form-shell{background:#f4f6f1;color:#171d18;padding:clamp(25px,4vw,48px)}.form-head{display:flex;justify-content:space-between;gap:16px;align-items:center;color:#667866;font-size:10px;letter-spacing:.14em;border-bottom:1px solid #cbd5ca;padding-bottom:24px;margin-bottom:25px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-shell label{display:block;font-size:11px;font-weight:680;letter-spacing:.035em;margin:0 0 17px}.form-shell input:not([type=checkbox]),.form-shell select,.form-shell textarea{display:block;margin-top:8px;border:1px solid #d3dcd0;background:#fff;border-radius:0;color:#172016;outline:none;width:100%;padding:14px 13px;min-height:46px;font-size:13px;font-weight:400;letter-spacing:0;transition:border-color .2s}.form-shell textarea{resize:vertical}.form-shell input:focus,.form-shell textarea:focus,.form-shell select:focus{border-color:#3f7b45;box-shadow:0 0 0 2px #69a16f25}.form-shell .privacy{display:flex;align-items:flex-start;gap:11px;font-size:11px;font-weight:400;line-height:1.6;color:#6b766b;letter-spacing:0;margin-bottom:20px}.privacy input{margin:3px 0 0;accent-color:#203d24}.privacy a{text-decoration:underline;text-underline-offset:3px}.form-submit{width:100%;background:#162519;color:#fff;border:0;display:flex;justify-content:space-between;align-items:center;padding:18px 19px;font-size:13px;font-weight:670;transition:.2s}.form-submit:hover{background:#315239}.form-submit span{font-size:20px}.form-alert{min-height:0;font-size:13px}.form-alert:not(:empty){padding:12px;background:#e1eadc;margin-bottom:18px}.form-alert.error{background:#f2dfdc}.honeypot{position:absolute!important;width:1px!important;height:1px!important;left:-99999px!important;opacity:0!important}
.footer{background:#0c110e;color:#cad2c7}.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px;border-top:1px solid #ffffff22;padding:65px 0 70px}.footer-top img{height:48px;width:auto}.footer-top>div{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.footer-top p{color:#96a395;margin:14px 0 0;font-size:14px}.footer-top span{font-size:10px;letter-spacing:.15em;color:#7b907e;margin:7px 0 12px}.footer-top a{font-size:13px}.footer-top a:hover{color:#fff}.footer-bottom{border-top:1px solid #ffffff22;display:flex;justify-content:space-between;gap:20px;padding:24px 0 32px;color:#758878;font-size:10px;letter-spacing:.1em}.mobile-cta{display:none}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s cubic-bezier(.17,.8,.23,1),transform .75s cubic-bezier(.17,.8,.23,1)}.reveal.in-view{opacity:1;transform:translateY(0)}
@media(max-width:1180px){.wide{width:min(100% - 62px,1500px)}.nav-links{gap:17px}.hero h1{font-size:clamp(57px,6.7vw,95px)}.showcase-caption{grid-template-columns:1fr;gap:11px}.showcase-caption>a{width:fit-content}.service-card{padding:25px}.studio-grid{gap:6%}.project-tab{grid-template-columns:63px 1fr auto;gap:11px}.project-tab img{width:63px;height:67px}}
@media(max-width:900px){.nav-links{display:none}.hero-grid{grid-template-columns:1fr;min-height:0;padding:75px 0 55px;gap:48px}.hero h1{font-size:clamp(60px,10vw,100px)}.hero-desc{max-width:680px}.hero-visual{transform:none}.hero-visual-inner{aspect-ratio:16/9}.hero-visual-inner>img{object-position:center 55%}.hero-side-label{right:12px;top:20px;color:white;writing-mode:initial;text-shadow:0 2px 6px #000}.showcase{grid-template-columns:1fr}.showcase-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.menu-head,.menu-note{grid-column:1/-1}.project-tab{border:1px solid #cbd3c8;padding:8px;min-height:86px}.service-grid{grid-template-columns:1fr 1fr}.service-card:last-child{grid-column:1/-1;min-height:360px}.service-card h3{margin-top:35px}.design-upgrade{grid-template-columns:1fr;gap:17px}.design-action{width:fit-content}.studio-grid,.fidelity-grid{grid-template-columns:1fr;gap:45px}.studio-plan{max-width:700px}.contact-grid{gap:35px;grid-template-columns:1fr}.contact-48{margin:30px 0}.contact-48 strong{font-size:80px}.faq-grid{grid-template-columns:1fr;gap:30px}}
@media(max-width:640px){.wide{width:calc(100% - 38px)}.header{height:65px}.head-inner{gap:8px}.brand{gap:9px}.brand img{height:28px;max-width:68px}.brand-divider{height:15px}.brand-product{font-size:8px;letter-spacing:.06em}.nav-end{gap:12px}.nav-button{display:none}.languages{font-size:11px;gap:5px}.hero-grid{padding:64px 0 36px}.hero-overline{font-size:9px;letter-spacing:.13em;margin-bottom:27px}.hero h1{font-size:clamp(42px,10.5vw,68px);margin-bottom:24px}.hero-desc{font-size:15px}.hero-actions{gap:8px}.pill-button{font-size:12px;min-height:51px;padding:13px 14px;gap:18px}.hero-bullets{margin-top:27px;gap:12px;font-size:11px;flex-direction:column}.hero-visual-inner{aspect-ratio:4/3}.hero-visual-inner:before{inset:10px}.hero-visual-caption{left:20px;right:20px;bottom:20px;font-size:9px}.hero-bottom{font-size:8px;padding:18px 0 22px}.metrics-grid{grid-template-columns:1fr}.metrics-grid>div,.metrics-grid>div+div{min-height:86px;padding:14px 0;border-left:0;border-top:1px solid #c5cfc3}.metrics-grid>div:first-child{border-top:0}.metrics strong{font-size:39px;min-width:97px}.metrics span{max-width:none}.section{padding:75px 0}.section-heading{grid-template-columns:1fr;gap:19px;margin-bottom:30px}.section-heading h2,.studio-copy h2,.fidelity-section h2{font-size:clamp(37px,9.7vw,58px)}.section-heading>p{font-size:14px}.comparison{aspect-ratio:4/3}.ba-badge{top:11px;padding:7px 9px;font-size:9px}.badge-before{left:10px}.badge-after{right:10px}.ba-handle{width:40px;height:40px;font-size:19px}.ba-hint{font-size:10px}.showcase-caption{padding:20px 22px;min-height:0}.showcase-caption p{font-size:12px}.showcase-menu{padding:15px;gap:8px}.project-tab{grid-template-columns:1fr;gap:5px;min-height:0;padding:6px;text-align:left}.project-tab img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}.project-tab span:nth-child(2){font-size:11px;padding:4px 2px 8px}.project-tab span:last-child{display:none}.menu-head{padding-bottom:5px}.menu-note{padding-top:8px}.service-grid{grid-template-columns:1fr}.service-card,.service-card:last-child{grid-column:auto;min-height:420px}.service-card h3{margin-top:35px}.design-upgrade{padding:27px}.studio-plan{padding:26px}.studio-plan-row strong{font-size:34px}.fidelity-items>div{font-size:20px;grid-template-columns:35px 1fr auto}.steps{grid-template-columns:1fr;gap:3px}.step{padding:22px 0}.step h3{margin:16px 0 9px}.faq-items summary{font-size:15px}.contact-copy h2{font-size:54px}.form-shell{padding:23px 18px}.form-row{grid-template-columns:1fr;gap:0}.footer-top{grid-template-columns:1fr 1fr;gap:25px;padding:48px 0}.footer-top>div:first-child{grid-column:1/-1}.footer-bottom{flex-wrap:wrap;font-size:9px;padding-bottom:85px}.mobile-cta{position:fixed;display:flex;justify-content:space-between;align-items:center;bottom:12px;left:12px;right:12px;z-index:90;background:#d3e5c4;color:#132017;padding:15px 20px;border:1px solid #658061;box-shadow:0 8px 30px #11291850;font-size:13px;font-weight:700;transform:translateY(150%);transition:transform .3s}.mobile-cta.is-visible{transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Render Upgrade LAB v9 — compact brand/proof updates */
.fidelity-section{background:#e5ebe1}
.fidelity-top{display:grid;grid-template-columns:1.2fr .7fr;gap:8%;align-items:end;margin-bottom:34px}
.fidelity-top h2{font-size:clamp(39px,4.9vw,77px);letter-spacing:-.068em;line-height:1.08;margin:17px 0 0}
.fidelity-top h2 span{color:#8b998a}
.fidelity-intro{font-size:16px;line-height:1.7;color:#536256;margin:0 0 7px;max-width:430px}
.fidelity-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.fidelity-benefit{min-width:0;border:1px solid #bac8b9;background:#eef2eb;padding:clamp(22px,2.6vw,38px);min-height:255px;transition:transform .28s,background .28s}
.fidelity-benefit:hover{transform:translateY(-4px);background:#f8fbf5}
.fidelity-benefit-number{font-size:11px;font-weight:700;letter-spacing:.15em;color:#687a69}
.fidelity-benefit h3{font-size:clamp(22px,2.1vw,31px);line-height:1.13;font-weight:520;letter-spacing:-.05em;margin:38px 0 13px}
.fidelity-benefit p{font-size:13px;line-height:1.65;color:#59675a;max-width:390px;margin:0}
.fidelity-workflow{display:grid;grid-template-columns:1.2fr .7fr;gap:8%;border-top:1px solid #b9c9b9;margin-top:36px;padding:31px 0 0;align-items:center}
.fidelity-workflow .overline{color:#617460;font-size:10px;margin:0 0 13px}
.workflow-title{font-size:clamp(21px,2.5vw,32px);line-height:1.15;letter-spacing:-.055em;font-weight:500;margin:0 0 12px}
.workflow-detail{font-size:12px;color:#5a6c5d;line-height:1.7;margin:0}
.architect-credit{display:flex;flex-direction:column;gap:8px;align-items:flex-start;justify-self:end;border-left:1px solid #b5c6b6;padding:18px 12px 18px 28px}
.architect-credit span{font-size:10px;letter-spacing:.15em;color:#6c7d6b;font-weight:750}
.architect-credit strong{font-size:21px;letter-spacing:-.03em;font-weight:580}
/* Six selectable examples should remain compact rather than creating a long page. */
.showcase-menu{padding:17px 20px}
.project-tab{min-height:88px;grid-template-columns:73px 1fr auto;padding:8px 3px}
.project-tab img{height:66px;width:73px}
.project-tab small{margin-bottom:5px}
.menu-head{padding-bottom:14px}
@media(max-width:1180px){.project-tab{grid-template-columns:58px 1fr auto;min-height:77px;gap:9px}.project-tab img{height:57px;width:58px}}
@media(max-width:900px){.fidelity-top,.fidelity-workflow{grid-template-columns:1fr;gap:18px}.architect-credit{justify-self:start}.fidelity-benefits{gap:10px}.fidelity-benefit{padding:20px;min-height:265px}.project-tab{grid-template-columns:61px 1fr auto;min-height:85px}.project-tab img{height:67px;width:61px}}
@media(max-width:640px){.fidelity-top h2{font-size:clamp(37px,9.5vw,56px)}.fidelity-intro{font-size:14px}.fidelity-benefits{grid-template-columns:1fr}.fidelity-benefit{min-height:0;padding:23px}.fidelity-benefit h3{margin:17px 0 9px;font-size:26px}.fidelity-workflow{padding-top:22px}.architect-credit{padding:12px 0 12px 18px}.architect-credit strong{font-size:19px}.project-tab{grid-template-columns:1fr;min-height:0;padding:6px}.project-tab img{width:100%;height:auto;aspect-ratio:16/10}}

/* v10: straight hero image and a balanced, fully occupied before/after layout. */
@media (min-width: 901px) {
  .showcase { align-items:stretch; }
  .showcase-left { display:flex; flex-direction:column; min-height:0; }
  .showcase-left .comparison { flex:1 1 auto; aspect-ratio:auto; min-height:clamp(480px,41vw,655px); }
  .showcase-caption { flex:none; }
  .showcase-menu { display:grid; grid-template-rows:auto repeat(7,minmax(0,1fr)) auto; align-items:stretch; }
  .showcase-menu .project-tab { min-height:0; }
  .showcase-menu .menu-note { margin:0; align-self:end; }
}

/* v11: Mare Architects logo in the Design Fidelity architectural quality-control credit. */
/* v12: Scale Mare Architects logo to match the header Mare Visuals logo. */
.architect-credit .architect-logo{display:block;width:96px;height:auto;max-width:100%;object-fit:contain;object-position:left center;}
@media(max-width:640px){.architect-credit .architect-logo{width:68px;}}

/* The longer second line of the gallery headline stays balanced on tablets and phones. */
.gallery-section .section-heading h2{font-size:clamp(38px,4.4vw,73px);text-wrap:balance}
@media(max-width:640px){.gallery-section .section-heading h2{font-size:clamp(36px,9.3vw,55px)}}

/* v15 — service-specific revisions and project-specific package label. */
.service-rounds{margin:-19px 0 20px;align-self:flex-start;font-size:11px;letter-spacing:.08em;font-weight:700;color:#607864;text-transform:uppercase}
.service-card:nth-child(2) .service-rounds{color:#b9d8b8}
.ba-package{position:absolute;bottom:18px;left:20px;z-index:4;pointer-events:none;background:rgba(15,25,18,.82);color:#fff;border:1px solid rgba(255,255,255,.2);padding:10px 13px;font-size:10px;line-height:1.35;letter-spacing:.08em;font-weight:700;text-transform:uppercase;max-width:calc(100% - 40px);box-shadow:0 3px 16px rgba(0,0,0,.12)}
.ba-hint{left:auto;right:18px;transform:none}
@media(max-width:640px){.ba-package{bottom:12px;left:12px;max-width:calc(100% - 24px);font-size:9px;letter-spacing:.03em;padding:8px 10px}.ba-hint{display:none}.service-rounds{margin:-19px 0 20px}}

/* v18 — Back to Top: light circular control with a complete, fine-stroke up-arrow. */
.back-to-top {
  position:fixed;right:24px;bottom:24px;z-index:89;
  display:flex;align-items:center;justify-content:center;
  width:46px;height:46px;box-sizing:border-box;
  padding:0;border-radius:50%;border:1px solid rgba(17,23,20,.18);
  background:#f6f7f3;color:#141a16;
  box-shadow:0 5px 18px rgba(0,0,0,.12);
  opacity:0;visibility:hidden;pointer-events:none;
  transform:translateY(10px);
  transition:opacity .25s ease,visibility .25s ease,transform .25s ease,background-color .2s ease,box-shadow .2s ease;
  cursor:pointer;-webkit-tap-highlight-color:transparent;
}
.back-to-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.back-to-top:hover{background:#fff;box-shadow:0 7px 22px rgba(0,0,0,.17);transform:translateY(-2px)}
.back-to-top:focus-visible{outline:2px solid #789079;outline-offset:3px}
.back-to-top svg{display:block;width:20px;height:20px;flex:0 0 20px;overflow:visible}
@media(max-width:640px){
  .back-to-top{right:16px;bottom:82px;width:44px;height:44px}
  .back-to-top svg{width:19px;height:19px;flex-basis:19px}
}
@media(prefers-reduced-motion:reduce){.back-to-top{transition:none}}

/* v21 — Service typography system: consistent scale and spacing across the three cards
   and Design Upgrade. Hierarchy is intentional: title > body > small labels. */
.services-section{--service-title-size:clamp(32px,2.75vw,44px);--service-body-size:14px;--service-small-size:11px}
.services-section .service-card h3,
.services-section .design-upgrade h3{font-size:var(--service-title-size);font-weight:500;line-height:1.10;letter-spacing:-.06em}
.services-section .service-card>p,
.services-section .service-card li,
.services-section .design-upgrade>p{font-size:var(--service-body-size);line-height:1.6}
.services-section .service-card li{padding:10px 0}
.services-section .service-top,
.services-section .service-rounds,
.services-section .design-upgrade .overline{font-size:var(--service-small-size);line-height:1.45}
.services-section .service-bottom,
.services-section .design-action{font-size:14px;line-height:1.4}

/* v21 — Separate, compact Output Quality strip AFTER Design Upgrade.
   All copy and the resolution mark form a single horizontal line on desktop. */
.services-section .output-quality{
  display:flex;align-items:center;gap:22px;
  margin-top:14px;padding:20px 30px;
  border:1px solid #d1dacf;background:#e8ede5;min-width:0;
}
.services-section .output-quality-label{
  flex:none;white-space:nowrap;color:#627565;
  font-size:var(--service-small-size);font-weight:700;
  line-height:1.4;letter-spacing:.14em;
}
.services-section .output-quality-text{
  flex:1;min-width:0;margin:0;color:#455446;
  font-size:var(--service-body-size);line-height:1.6;
}
.services-section .output-quality-spec{
  display:flex;align-items:baseline;justify-content:flex-end;gap:7px;
  padding-left:20px;border-left:1px solid #c5cfc3;
  color:#354438;white-space:nowrap;min-width:max-content;
}
.services-section .output-quality-spec small{
  font-size:var(--service-small-size);font-weight:700;letter-spacing:.1em;
}
.services-section .output-quality-spec strong{
  font-size:31px;line-height:1;font-weight:550;letter-spacing:-.065em;
}
@media(max-width:1050px){
  .services-section .output-quality{gap:13px;padding:18px 23px}
  .services-section .output-quality-spec{padding-left:15px}
}
@media(max-width:700px){
  .services-section .output-quality{display:grid;grid-template-columns:1fr auto;gap:6px 16px;padding:20px 22px}
  .services-section .output-quality-label{grid-column:1;grid-row:1}
  .services-section .output-quality-text{grid-column:1;grid-row:2;font-size:14px}
  .services-section .output-quality-spec{grid-column:2;grid-row:1 / 3;align-self:center}
}
@media(max-width:380px){
  .services-section .output-quality{gap:6px 8px;padding:18px 15px}
  .services-section .output-quality-spec{padding-left:10px;gap:4px}
  .services-section .output-quality-spec strong{font-size:27px}
  .services-section .output-quality-spec small{font-size:9px}
}

/* v23 — seven before/after examples: balanced last item in the mobile two-column gallery. */
@media (min-width:641px) and (max-width:900px){
  .showcase-menu .project-tab:last-of-type{grid-column:1/-1;}
}
@media (max-width:640px){
  .showcase-menu .project-tab:last-of-type{grid-column:1/-1;display:grid;grid-template-columns:40% 1fr;gap:14px;align-items:center;}
  .showcase-menu .project-tab:last-of-type img{aspect-ratio:16/10;height:100%;max-height:152px;object-fit:cover;}
  .showcase-menu .project-tab:last-of-type span:nth-child(2){font-size:12px;}
}


/* v8 - Final project presentation add-ons, scoped to the current LIVE layout */
.final-presentations-section{background:#e6ebe3;border-top:1px solid #d1d9cf}
.final-presentations-heading{display:grid;grid-template-columns:1.45fr .7fr;gap:9%;align-items:end;margin-bottom:48px}
.final-presentations-heading .overline{color:#617064;margin-bottom:16px}
.final-presentations-heading h2{font-size:clamp(41px,5vw,82px);letter-spacing:-.065em;line-height:1.06;margin:0;font-weight:490}
.final-presentations-heading h2 span{color:#7d9381}
.final-presentations-heading>p{font-size:16px;line-height:1.72;color:#5e6b61;margin:0;max-width:480px}
.final-feature{display:grid;grid-template-columns:1fr 1.04fr;min-width:0;background:#121b15;color:#f4f7f0;overflow:hidden}
.final-feature-copy{padding:clamp(28px,4vw,65px);display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.final-feature-copy .overline{color:#a8c4a8;margin:0 0 44px}
.final-feature-copy h3{font-size:clamp(35px,4.2vw,66px);line-height:1.07;letter-spacing:-.068em;font-weight:480;margin:0 0 23px}
.final-feature-copy h3 span{color:#b6d3aa}
.final-feature-copy>p:not(.overline){color:#c6d0c4;font-size:15px;line-height:1.75;max-width:565px}
.final-feature-copy ul{list-style:none;margin:15px 0 28px;padding:0;width:100%}
.final-feature-copy li{border-top:1px solid #ffffff2c;padding:12px 0;font-size:13px;color:#e1e9df;line-height:1.45}
.final-feature-copy li:before{content:'↗';margin-right:12px;color:#b7d5aa}
.final-feature-copy .final-feature-note{font-size:12px!important;color:#a7b7a8!important;line-height:1.7;margin:0 0 29px}
.final-feature-copy .pill-button{margin-top:auto}
.final-preview{padding:clamp(16px,2.4vw,35px);background:#273429;display:flex;flex-direction:column;min-width:0;justify-content:center}
.final-preview-browser{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f3f5ed;color:#526355;padding:16px;font-size:9px;letter-spacing:.08em}
.final-preview-browser strong{font-weight:650;font-size:9px;white-space:nowrap}
.final-preview-browser span:first-child{letter-spacing:3px;color:#7d9682}
.final-preview-cover{position:relative;aspect-ratio:16/10;overflow:hidden;background:#576358}
.final-preview-cover img{width:100%;height:100%;object-fit:cover;max-width:none}
.final-preview-cover:after{content:'';position:absolute;inset:44% 0 0;background:linear-gradient(transparent,#131e16d9);pointer-events:none}
.final-preview-cover>div{position:absolute;bottom:23px;left:24px;z-index:2;display:flex;flex-direction:column;gap:8px;color:#fff}
.final-preview-cover small{font-size:10px;letter-spacing:.13em}
.final-preview-cover strong{font-size:clamp(28px,3vw,48px);line-height:1;font-weight:460;letter-spacing:-.05em}
.final-preview-bottom{display:grid;grid-template-columns:1fr 1fr;gap:20px;background:#f3f5ed;color:#273329;padding:22px;align-items:center}
.final-preview-bottom>div:first-child{display:flex;flex-direction:column;gap:10px}
.final-preview-bottom small{font-size:9px;color:#6b7d6a;letter-spacing:.13em}
.final-preview-bottom strong{font-size:17px;line-height:1.2;letter-spacing:-.04em;font-weight:500}
.final-preview-thumbs{display:grid;grid-template-columns:1fr 1fr;gap:7px;min-width:0}
.final-preview-thumbs img{width:100%;height:100%;aspect-ratio:5/4;object-fit:cover;min-width:0}
.final-preview-disclaimer{font-size:10px;line-height:1.5;color:#b4c4b3;text-align:right;margin-top:14px}
.final-extras{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:17px}
.final-extra{background:#f5f6f1;border:1px solid #d1d9cf;padding:clamp(25px,3vw,42px);display:flex;flex-direction:column;align-items:flex-start;min-height:300px}
.final-extra-top{display:flex;justify-content:space-between;width:100%;color:#748374;font-size:10px;letter-spacing:.12em;font-weight:700}
.final-extra-top span:last-child{font-size:22px}
.final-extra h3{font-weight:500;font-size:clamp(26px,3.2vw,43px);letter-spacing:-.05em;margin:40px 0 13px;line-height:1.12}
.final-extra p{font-size:14px;line-height:1.65;color:#687469;max-width:600px;margin:0 0 24px}
.final-extra a{margin-top:auto;padding-bottom:9px;border-bottom:1px solid #516251;font-size:12px;font-weight:650}
@media(max-width:1050px){.final-feature{grid-template-columns:1fr}.final-feature-copy{padding:40px}.final-preview{padding:28px}.final-presentations-heading{grid-template-columns:1fr;gap:25px}}
@media(max-width:640px){.final-presentations-heading h2{font-size:clamp(36px,9.3vw,56px)}.final-presentations-heading>p{font-size:14px}.final-feature-copy{padding:27px}.final-feature-copy .overline{margin-bottom:28px}.final-feature-copy h3{font-size:clamp(34px,9vw,49px)}.final-feature-copy>p:not(.overline){font-size:14px}.final-preview{padding:12px}.final-preview-browser{padding:11px;font-size:8px}.final-preview-browser strong{font-size:8px}.final-preview-browser>span:last-child{display:none}.final-preview-cover>div{left:14px;bottom:15px}.final-preview-cover strong{font-size:28px}.final-preview-cover small{font-size:8px}.final-preview-bottom{gap:10px;padding:15px}.final-preview-bottom strong{font-size:13px}.final-extras{grid-template-columns:1fr;gap:12px}.final-extra{min-height:0;padding:26px}.final-extra h3{margin-top:26px;font-size:29px}}


/* v9: Visual Finishing & Project Presentation positioning */
html{scroll-padding-top:78px}
.hero--presentation h1{font-size:clamp(52px,6.3vw,101px);line-height:1.04}
.hero--presentation .hero-line{white-space:normal;text-wrap:balance}
.hero--presentation .hero-line.soft{max-width:690px}
.hero-operational-note{font-size:11px;line-height:1.6;color:#809284;margin:16px 0 0;max-width:560px}
.pathway-section{background:#dce6d9;color:#122018;padding:clamp(65px,7.3vw,115px) 0}
.pathway-top{display:grid;grid-template-columns:1.6fr .7fr;gap:8%;align-items:end;margin-bottom:36px}
.pathway-top .overline{color:#536657;margin-bottom:20px}
.pathway-top h2{font-size:clamp(40px,4.6vw,77px);line-height:1.06;letter-spacing:-.062em;font-weight:500;margin:0}
.pathway-top h2 span{color:#759078}
.pathway-top>p{font-size:15px;line-height:1.75;color:#59705e;max-width:460px;margin:0}
.pathway-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pathway-card{display:flex;flex-direction:column;justify-content:space-between;gap:74px;min-height:330px;padding:30px;background:#f6f8f4;border:1px solid #c9d7c8;transition:transform .25s ease,background .25s ease,color .25s ease}
.pathway-card:hover{transform:translateY(-4px);background:#111a14;color:#f3f7ef}
.pathway-card:nth-child(2){background:#eff2e8}.pathway-card:nth-child(3){background:#15231a;color:#eef6eb;border-color:#15231a}
.pathway-card:nth-child(3):hover{background:#213429}
.pathway-label{display:flex;justify-content:space-between;gap:15px;font-size:10px;font-weight:700;letter-spacing:.15em;color:#829584}
.pathway-card h3{font-size:clamp(29px,2.65vw,42px);letter-spacing:-.058em;line-height:1.08;font-weight:500;margin:0 0 15px}
.pathway-card p{color:inherit;opacity:.74;font-size:14px;line-height:1.65;max-width:345px;margin:0}
.pathway-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #93a59566;padding-top:16px;font-size:12px;font-weight:700}
.pathway-cta b{font-size:18px}
.pathway-footnote{font-size:12px;color:#617665;line-height:1.7;margin:21px 0 0}
.service-fidelity-note{border-left:2px solid #829c81;margin:23px 0 0;padding:8px 0 8px 19px;font-size:13px;color:#576d5d;line-height:1.7;max-width:1090px}
.presentation-finish{background:#f5f7f0;display:grid;grid-template-columns:1fr .98fr;border:1px solid #cbd7c9;margin:0 0 17px;min-height:570px}
.finish-copy{padding:clamp(32px,4.2vw,69px);display:flex;flex-direction:column;align-items:flex-start}
.finish-copy .overline{color:#60775f;margin:0 0 38px}
.finish-copy h3{font-size:clamp(34px,3.75vw,62px);font-weight:500;line-height:1.08;letter-spacing:-.066em;margin:0 0 24px}
.finish-copy h3 span{color:#879e87}
.finish-copy>p:not(.overline){color:#5d6e61;line-height:1.73;font-size:14px;max-width:550px}
.finish-copy ul{width:100%;padding:0;margin:19px 0 22px;list-style:none}
.finish-copy li{border-top:1px solid #d2ddd0;padding:11px 0;font-size:13px;color:#3c5540}
.finish-copy li:before{content:'↗';margin-right:13px}
.finish-copy .finish-note{font-size:11px!important;color:#7d927d!important;line-height:1.65;margin-bottom:30px}
.finish-link{display:flex;justify-content:space-between;gap:25px;align-items:center;background:#1a291e;color:#f6faef;padding:16px 21px;font-size:13px;font-weight:700;margin-top:auto;min-height:54px}
.finish-link span{font-size:18px}
.finish-link:hover{background:#334837}
.finish-art{background:#d5e0d1;padding:clamp(25px,3vw,52px);display:flex;flex-direction:column;justify-content:center;min-width:0}
.finish-art-head{display:flex;justify-content:space-between;gap:18px;align-items:center;font-size:9px;letter-spacing:.13em;font-weight:740;color:#566b56;background:#f4f6ef;padding:16px}
.finish-art-image{height:320px;overflow:hidden}.finish-art-image img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.finish-art-bottom{background:#f4f6ef;padding:19px;display:grid;grid-template-columns:1fr 95px;gap:16px;align-items:center}
.finish-art-bottom small{font-size:9px;letter-spacing:.11em;color:#869687;display:block;margin-bottom:10px}
.finish-art-bottom strong{font-size:24px;font-weight:500;line-height:1.18;letter-spacing:-.04em;display:block}
.finish-art-thumb{width:95px;height:82px}.finish-art-thumb img{width:100%;height:100%;object-fit:cover}
.finish-art-disclaimer{display:block;color:#6f8474;font-size:10px;line-height:1.5;text-align:right;margin-top:12px}
.creative-crops-bar{display:flex;justify-content:space-between;align-items:center;gap:28px;margin-top:18px;border:1px solid #cbd7ca;background:#ecf0e9;padding:25px 30px}
.creative-crops-bar .overline{color:#647b66;font-size:10px}
.creative-crops-bar p{margin:10px 0 0;color:#627463;font-size:13px;line-height:1.65;max-width:720px}
.creative-crops-bar a{border-bottom:1px solid currentColor;padding-bottom:10px;white-space:nowrap;font-size:12px;font-weight:700;display:flex;align-items:center;gap:15px}
@media(max-width:1080px){.pathway-top{grid-template-columns:1fr;gap:23px}.pathway-grid{gap:9px}.pathway-card{padding:22px;min-height:340px;gap:50px}.presentation-finish{grid-template-columns:1fr}.finish-art{padding:30px}.finish-art-image{height:350px}}
@media(max-width:700px){.pathway-grid{grid-template-columns:1fr}.pathway-card{min-height:0;gap:45px;padding:27px}.pathway-card h3{font-size:34px}.pathway-top h2{font-size:clamp(37px,9vw,56px)}.presentation-finish{display:block}.finish-copy{padding:27px}.finish-art{padding:15px}.finish-art-image{height:220px}.finish-art-bottom strong{font-size:20px}.finish-copy h3{font-size:clamp(35px,8.5vw,54px)}.creative-crops-bar{display:block;padding:24px}.creative-crops-bar a{width:fit-content;margin-top:20px}.hero--presentation h1{font-size:clamp(43px,9.5vw,67px)}}
@media(max-width:380px){.hero--presentation h1{font-size:42px}.finish-art-bottom{grid-template-columns:1fr 72px}.finish-art-thumb{width:72px;height:75px}.finish-art-bottom strong{font-size:18px}.hero-operational-note{font-size:10px}}

/* v10 — detail inspection lens for projects 01–02 in the shared comparison. */
.ba-magnify-toggle[hidden]{display:none!important}
.ba-magnify-toggle{position:absolute;right:16px;bottom:15px;z-index:8;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:10px 14px;border:1px solid rgba(255,255,255,.75);border-radius:40px;background:rgba(246,248,245,.96);color:#152018;font-family:inherit;font-size:12px;font-weight:700;box-shadow:0 3px 15px #0002;cursor:pointer;transition:background .2s,transform .2s}
.ba-magnify-toggle:hover,.ba-magnify-toggle:focus-visible{background:white;transform:translateY(-2px);outline-offset:3px}
.comparison.has-zoom .ba-hint{display:none}
.ba-detail-loupe{display:none;position:absolute;z-index:7;width:206px;height:206px;border:3px solid #f6faf3;border-radius:50%;overflow:hidden;box-shadow:0 12px 42px #0006,0 0 0 1px #1a2a2155;background:#142318;pointer-events:none;left:50%;top:50%;transform:translate(-50%,-50%)}
.comparison.detail-mode .ba-detail-loupe{display:block}
.ba-detail-canvas{width:100%;height:100%;display:block}
.ba-detail-label{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);border-radius:12px;background:#122019de;color:#fff;font-size:10px;font-weight:700;letter-spacing:.08em;white-space:nowrap;padding:4px 10px;text-shadow:none}
@media(max-width:640px){.ba-magnify-toggle{right:10px;bottom:10px;min-height:39px;padding:9px 11px;font-size:11px}.ba-detail-loupe{width:148px;height:148px;border-width:2px}.ba-detail-label{bottom:6px;font-size:9px;padding:3px 7px}.comparison.has-zoom .ba-package{bottom:60px;max-width:calc(100% - 24px)}}

/* RUL v12 — economic case for recurring architecture studios */
.studio-promise{font-size:clamp(18px,2vw,25px);font-weight:550;letter-spacing:-.025em;color:#f2f6ed;line-height:1.3;margin:28px 0 0;max-width:620px}
.studio-copy .studio-lead{margin:15px 0 26px}
.studio-benefits{display:grid;gap:0;margin:24px 0 33px;max-width:610px;border-top:1px solid #34463a}
.studio-benefit{display:grid;grid-template-columns:25px minmax(0,1fr);gap:11px;padding:15px 0;border-bottom:1px solid #34463a;align-items:start}
.studio-benefit-icon{font-size:22px;color:var(--mint);line-height:1.2;font-weight:400}
.studio-benefit strong{display:block;font-weight:590;font-size:14px;color:#eff5eb;line-height:1.45;margin-bottom:5px}
.studio-benefit p{font-size:12px;line-height:1.65;color:#acbaac;margin:0;max-width:510px}
.studio-plan-headline{font-size:clamp(23px,2.4vw,31px);line-height:1.19;letter-spacing:-.045em;font-weight:500;color:#e6eee4;margin:0 0 28px}
.studio-plan>.overline{margin-bottom:24px}
.studio-plan-row>b{line-height:1.45;text-align:right;min-width:85px}
.studio-plan-link{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px;font-weight:660;border-top:1px solid #52614f;padding-top:18px;color:#e0efd9;margin-top:19px}
.studio-plan-link:hover{color:#fff}
@media(max-width:900px){.studio-grid{align-items:start}.studio-benefits{max-width:700px}.studio-plan{max-width:700px}}
@media(max-width:640px){.studio-promise{font-size:20px;margin-top:21px}.studio-copy .studio-lead{font-size:14px;line-height:1.7}.studio-benefit{padding:15px 0}.studio-plan-headline{font-size:24px}.studio-plan-row>b{font-size:11px}.studio-plan-row{gap:12px}}


/* v14 — restrained cinematic add-on: subordinate to the three main products */
.project-film{display:grid;grid-template-columns:1fr 1fr;margin-top:18px;border:1px solid #bccdbb;background:#17271d;color:#f4f6f0;min-width:0;overflow:hidden}
.project-film-copy{padding:clamp(27px,3.6vw,54px);display:flex;flex-direction:column;min-width:0;align-items:flex-start}
.project-film-copy .overline{color:#b1c7ac;margin:0 0 30px}
.project-film-copy h3{font-size:clamp(35px,3.8vw,58px);font-weight:500;line-height:1.08;letter-spacing:-.06em;margin:0 0 19px}
.project-film-copy h3 span{color:#bdd7b2}
.project-film-copy>p:not(.overline){font-size:14px;line-height:1.75;color:#cdd8ca;max-width:560px}
.project-film-tags{display:flex;flex-wrap:wrap;gap:7px;margin:15px 0 22px}
.project-film-tags span{border:1px solid #718675;padding:9px 11px;color:#e7eee3;font-size:10px;letter-spacing:.04em;line-height:1.35}
.project-film-copy .project-film-note{font-size:11px!important;color:#abbcae!important;margin-bottom:26px}
.project-film-link{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:15px 20px;background:#edf4e9;color:#183020;font-weight:700;font-size:12px;min-height:51px;margin-top:auto}
.project-film-link:hover,.project-film-link:focus-visible{background:#fff}
.project-film-link span{font-size:18px}
.project-film-visual{display:flex;flex-direction:column;min-width:0;justify-content:center;background:#d6dfd4;padding:clamp(15px,2.5vw,38px)}
.project-film-shot{position:relative;overflow:hidden;min-width:0;background:#9caaa0;aspect-ratio:16/9}
.project-film-shot img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.project-film-shot:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 63%,rgba(10,22,14,.55))}
.project-film-shot span{position:absolute;bottom:13px;left:14px;color:#fff;z-index:1;font-size:9px;letter-spacing:.11em;font-weight:720}
.project-film-shot-main{aspect-ratio:16/8.2}
.project-film-shots-bottom{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.project-film-disclaimer{font-size:10px;color:#576b5b;margin:13px 0 0;line-height:1.5;text-align:right}
@media(max-width:1020px){.project-film{grid-template-columns:1fr}.project-film-visual{padding:24px}.project-film-copy{padding:34px}.project-film-shot-main{aspect-ratio:16/7}}
@media(max-width:620px){.project-film-copy{padding:26px}.project-film-copy .overline{margin-bottom:22px}.project-film-copy h3{font-size:clamp(35px,9vw,49px)}.project-film-tags{gap:6px}.project-film-tags span{font-size:9px;padding:8px}.project-film-visual{padding:12px}.project-film-shot-main{aspect-ratio:16/9}.project-film-shots-bottom{gap:6px;margin-top:6px}.project-film-shot span{font-size:8px;left:9px;bottom:9px}.project-film-disclaimer{text-align:left}}


/* v15 — audience pathways and developer-facing entry offer */
.audience-section{background:#e8ece4;padding-top:clamp(70px,8vw,120px);padding-bottom:clamp(75px,8vw,120px)}
.audience-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:8%;align-items:end;margin-bottom:34px}
.audience-heading .overline{color:#667566}.audience-heading h2{font-size:clamp(37px,4.7vw,73px);line-height:1.08;letter-spacing:-.058em;margin:16px 0 0}
.audience-heading h2 span{color:#829183}.audience-heading>p{font-size:15px;line-height:1.75;color:#58665c;max-width:420px;margin:0}
.audience-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.audience-card{display:flex;flex-direction:column;justify-content:space-between;gap:40px;min-height:310px;padding:clamp(27px,3vw,44px);border:1px solid #cbd5ca;background:#f7f8f3;transition:border-color .25s,background .25s,box-shadow .25s}
.audience-card:hover{border-color:#8aa48a;background:white;box-shadow:0 15px 40px #14251712}
.audience-card--developer{background:#dbe5d9}.audience-card--developer:hover{background:#e8f0e4}
.audience-index{font-size:10px;font-weight:650;letter-spacing:.16em;color:#627565}
.audience-card h3{font-size:clamp(28px,3vw,43px);line-height:1.07;letter-spacing:-.05em;font-weight:480;margin:0 0 15px}
.audience-card p{font-size:14px;line-height:1.75;color:#58665c;max-width:510px;margin:0}
.audience-link{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #b8c7b6;padding-top:17px;font-size:12px;font-weight:670}
.audience-link b{font-size:17px;font-weight:400}
.developer-section{background:#dfe6dc;padding-top:clamp(80px,9vw,145px);padding-bottom:clamp(80px,9vw,145px)}
.developer-layout{display:grid;grid-template-columns:1.07fr .93fr;align-items:center;gap:clamp(34px,5vw,86px)}
.developer-copy .overline{color:#617664}.developer-copy h2{font-size:clamp(40px,5.2vw,78px);line-height:1.07;letter-spacing:-.065em;font-weight:480;margin:21px 0 27px}
.developer-copy h2 span{color:#748877}.developer-lead{font-size:15px;line-height:1.8;color:#536358;max-width:640px;margin:0 0 32px}
.developer-features{border-top:1px solid #b6c7b7;margin-bottom:26px}
.developer-features>div{display:grid;grid-template-columns:185px minmax(0,1fr);gap:15px;padding:16px 0;border-bottom:1px solid #b6c7b7;align-items:start}
.developer-features strong{font-size:12px;line-height:1.5;font-weight:680}.developer-features p{font-size:12px;line-height:1.65;color:#5a6c5e;margin:0}
.developer-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:26px}
.developer-actions .pill-primary{background:#142219;color:#f0f3eb}
.developer-secondary{font-size:12px;font-weight:680;white-space:nowrap;border-bottom:1px solid #6f856e;padding:9px 0}
.developer-secondary:hover{color:#4a6b4c}.developer-disclaimer{font-size:11px;line-height:1.7;color:#637365;margin:27px 0 0;max-width:640px}
.developer-visual{min-width:0;background:#192018;padding:13px;box-shadow:0 24px 65px #14251920}
.developer-visual>img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:53% center}
.developer-visual-footer{display:flex;justify-content:space-between;gap:12px;color:#e8efe3;padding:20px 8px 12px;font-size:9px;letter-spacing:.1em}
.developer-visual-note{display:block;color:#9cae9d;font-size:10px;line-height:1.6;padding:0 8px 10px}
.audience-form-row{display:grid;grid-template-columns:1fr}
.p-developer-pricing{background:#eef0e9}.p-developer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:34px 0 23px}
.p-developer-grid article{border:1px solid #cbd5ca;background:#fff;padding:clamp(25px,3vw,42px)}
.p-developer-grid h3{font-weight:500;font-size:clamp(25px,3vw,38px);letter-spacing:-.05em;margin:22px 0}
.p-developer-grid p{font-size:13px;line-height:1.8;color:#657266}
.p-developer-note{max-width:980px;color:#536454;font-size:12px;line-height:1.8;margin:16px 0}
.p-developer-note a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:980px){.developer-layout{grid-template-columns:1fr}.developer-visual>img{aspect-ratio:16/9}.developer-copy h2{max-width:820px}}
@media(max-width:760px){.audience-heading,.audience-grid{grid-template-columns:1fr}.audience-heading{gap:17px}.audience-card{min-height:250px;gap:32px}.p-developer-grid{grid-template-columns:1fr}}
@media(max-width:540px){.audience-heading h2{font-size:clamp(34px,9.2vw,49px)}.audience-card{padding:24px;min-height:240px}.developer-features>div{grid-template-columns:1fr;gap:7px}.developer-copy h2{font-size:clamp(37px,9vw,52px)}.developer-visual{padding:8px}.developer-visual>img{aspect-ratio:4/3}.developer-visual-footer{font-size:8px;line-height:1.4}.developer-actions .pill-button{width:100%;justify-content:space-between}.developer-secondary{white-space:normal}}
/* Page-entry fade. Existing below-the-fold .reveal transitions remain unchanged. */
@keyframes rulEntryFade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.hero-copy>.hero-overline{animation:rulEntryFade .72s ease-out .04s both}
.hero-copy>.hero-desc{animation:rulEntryFade .78s ease-out .26s both}
.hero-copy>.hero-actions{animation:rulEntryFade .8s ease-out .39s both}
.hero-copy>.hero-bullets{animation:rulEntryFade .8s ease-out .5s both}
.hero-copy>.hero-operational-note{animation:rulEntryFade .8s ease-out .58s both}
.hero-visual-inner{animation:rulEntryFade 1.0s ease-out .26s both}
.hero-bottom{animation:rulEntryFade .8s ease-out .7s both}
@media(prefers-reduced-motion:reduce){.hero-copy>.hero-overline,.hero-copy>.hero-desc,.hero-copy>.hero-actions,.hero-copy>.hero-bullets,.hero-copy>.hero-operational-note,.hero-visual-inner,.hero-bottom{animation:none!important;opacity:1!important;transform:none!important}}


/* v16 — unified editorial grid and contained Sales Visual Refresh visual.
   Original source images are unchanged; the wrapper deliberately constrains their display height. */
.developer-section{
  padding-block:clamp(76px,7.5vw,118px);
}
.developer-layout{
  grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);
  gap:clamp(34px,4.2vw,70px);
  align-items:center;
}
.developer-copy,.developer-visual{min-width:0}
.developer-copy h2{font-size:clamp(39px,4.55vw,70px);max-width:780px}
.developer-visual{
  width:100%;align-self:center;
  padding:12px;
  box-shadow:0 18px 50px rgba(20,37,25,.14);
}
.developer-visual-media{
  width:100%;aspect-ratio:16/10;position:relative;
  overflow:hidden;background:#26382c;
}
.developer-visual-media>img{
  position:absolute;inset:0;display:block;
  width:100%;height:100%;max-width:none;
  object-fit:cover;object-position:center center;
}
.developer-visual-footer{
  align-items:center;padding:16px 8px 8px;
  font-size:9px;line-height:1.5;
}
.developer-visual-note{padding:2px 8px 8px}

/* Three presentation products follow one consistent two-column system. */
.final-presentations-section{padding-block:clamp(80px,8vw,125px)}
.final-presentations-heading{
  grid-template-columns:minmax(0,1.22fr) minmax(0,.78fr);
  gap:clamp(30px,6vw,85px);
  margin-bottom:36px;
}
.final-presentations-heading h2{font-size:clamp(39px,4.65vw,74px)}
.presentation-finish,.final-feature,.project-film{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  width:100%;min-height:570px;
  margin:0 0 16px;
  overflow:hidden;
}
.presentation-finish{border:1px solid #cbd7c9}
.final-feature{border:1px solid #1e3325}
.project-film{border:1px solid #bccdbb}
.finish-copy,.final-feature-copy,.project-film-copy{
  padding:clamp(30px,3.4vw,54px);
  min-width:0;
}
.finish-copy .overline,.final-feature-copy .overline,.project-film-copy .overline{
  margin-bottom:clamp(22px,2.5vw,35px);
}
.finish-art,.final-preview,.project-film-visual{
  padding:clamp(20px,2.5vw,38px);
  min-width:0;
}
.finish-art-image{height:auto;aspect-ratio:16/9}
.finish-art-image img{width:100%;height:100%;object-fit:cover}
.project-film-shot-main{aspect-ratio:16/9}
.creative-crops-bar{margin-top:0}
@media(max-width:1120px){
  .developer-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px}
  .developer-features>div{grid-template-columns:125px minmax(0,1fr);gap:14px}
  .developer-copy h2{font-size:clamp(39px,4.5vw,55px)}
  .presentation-finish,.final-feature,.project-film{min-height:0}
}
@media(max-width:980px){
  .developer-layout{grid-template-columns:minmax(0,1fr);gap:38px}
  .developer-visual{max-width:780px;justify-self:center}
  .developer-visual-media{aspect-ratio:16/9}
  .developer-features>div{grid-template-columns:175px minmax(0,1fr)}
  .final-presentations-heading{grid-template-columns:minmax(0,1fr);gap:24px}
  .presentation-finish,.final-feature,.project-film{grid-template-columns:minmax(0,1fr);min-height:0}
  .finish-art,.final-preview,.project-film-visual{padding:clamp(17px,4vw,38px)}
}
@media(max-width:640px){
  .developer-section,.final-presentations-section{padding-block:70px}
  .developer-layout{gap:26px}
  .developer-copy h2{font-size:clamp(37px,9.1vw,52px)}
  .developer-lead{font-size:14px;line-height:1.72}
  .developer-features>div{grid-template-columns:minmax(0,1fr);gap:7px;padding:12px 0}
  .developer-visual{padding:8px}
  .developer-visual-media{aspect-ratio:16/10}
  .developer-visual-footer{flex-wrap:wrap;gap:4px 14px;padding:13px 5px 7px}
  .developer-visual-note{padding:0 5px 5px}
  .final-presentations-heading{margin-bottom:28px}
  .final-presentations-heading h2{font-size:clamp(35px,9vw,53px)}
  .presentation-finish,.final-feature,.project-film{margin-bottom:12px}
  .finish-copy,.final-feature-copy,.project-film-copy{padding:25px}
  .finish-art,.final-preview,.project-film-visual{padding:12px}
  .finish-art-image{aspect-ratio:16/10}
  .project-film-shot-main{aspect-ratio:16/9}
}

/* v17 — mobile QA: eight equal project tiles; consistent placement of category badge.
   The magnifier remains unchanged and independent of the category label. */
@media (min-width:641px) and (max-width:900px){
  .showcase-menu .project-tab:last-of-type{grid-column:auto;}
  .showcase-menu{grid-auto-rows:minmax(88px,auto);align-content:start}
  .showcase-menu .project-tab{height:100%;min-width:0}
}
@media(max-width:640px){
  .showcase-menu{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(154px,38vw,245px);align-content:start;gap:8px;padding:14px}
  .showcase-menu .project-tab,
  .showcase-menu .project-tab:last-of-type{
    display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;
    grid-column:auto;min-width:0;width:100%;height:100%;min-height:0;
    gap:7px;padding:7px;overflow:hidden;
  }
  .showcase-menu .project-tab img,
  .showcase-menu .project-tab:last-of-type img{
    display:block;width:100%;height:auto;max-height:none;
    aspect-ratio:16/10;object-fit:cover;object-position:center;flex:0 0 auto;
  }
  .showcase-menu .project-tab span:nth-child(2),
  .showcase-menu .project-tab:last-of-type span:nth-child(2){
    display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;
    overflow:hidden;margin:0;padding:0 1px;font-size:11px;line-height:1.25;min-width:0;
  }
  .showcase-menu .project-tab small{margin:0 0 5px;font-size:9px}
  .showcase-menu .menu-note{grid-column:1/-1;margin-top:3px}
  .comparison .ba-package,
  .comparison.has-zoom .ba-package{
    left:12px;bottom:12px;top:auto;right:auto;max-width:min(52%,175px);
    padding:8px 9px;font-size:9px;line-height:1.3;letter-spacing:.035em;
  }
  /* Navigation tiles are enough here: detailed products remain immediately below. */
  .pathway-card{padding:22px 23px;min-height:0;gap:14px}
  .pathway-card p{display:none}
  .pathway-card h3{font-size:clamp(27px,7.5vw,34px);margin-bottom:0}
  .pathway-card .pathway-label{margin-bottom:0}
  .pathway-card .pathway-cta{margin-top:12px}
  .audience-card{min-height:0;gap:15px;padding:22px}
  .audience-card p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
  .services-section .service-card,.services-section .service-card:last-child{min-height:0;padding:24px}
  .services-section .service-card h3{margin-top:22px}
  .section{padding-block:65px}
  .showcase-caption{padding:19px 20px}
  .final-presentations-section,.developer-section{padding-block:65px}
  .final-presentations-heading{margin-bottom:24px}
  .finish-copy,.final-feature-copy,.project-film-copy{padding:23px}
  .project-film-tags{margin-top:9px;margin-bottom:15px}
  .studio-section .studio-benefits{margin-bottom:23px}
  .studio-section .studio-benefit{padding:12px 0}
  .metrics-grid>div,.metrics-grid>div+div{min-height:75px}
}
@media (max-width:360px){
  .showcase-menu{grid-auto-rows:156px;gap:7px;padding:11px}
  .showcase-menu .project-tab,.showcase-menu .project-tab:last-of-type{padding:6px;gap:5px}
  .showcase-menu .project-tab span:nth-child(2),.showcase-menu .project-tab:last-of-type span:nth-child(2){font-size:10px}
  .comparison .ba-package,.comparison.has-zoom .ba-package{max-width:50%;font-size:8px;padding:7px 8px}
}

/* v17 alignment refinement: title and legal note take natural height, not tile height. */
@media (min-width:641px) and (max-width:900px){
  .showcase-menu{grid-template-rows:auto repeat(4,minmax(88px,auto)) auto;grid-auto-rows:auto}
}
@media(max-width:640px){
  .showcase-menu{grid-template-rows:auto repeat(4,clamp(154px,38vw,245px)) auto;grid-auto-rows:auto}
}
@media(max-width:360px){
  .showcase-menu{grid-template-rows:auto repeat(4,156px) auto}
}
@media(min-width:901px){
  .showcase-menu{grid-template-rows:auto repeat(8,minmax(0,1fr)) auto}
}

/* Keep the lower-left package label clear of the magnifier control on narrow screens. */
@media(max-width:640px){
  .comparison .ba-package,.comparison.has-zoom .ba-package{max-width:calc(100% - 160px)}
}
@media(max-width:360px){
  .comparison .ba-package,.comparison.has-zoom .ba-package{max-width:calc(100% - 153px)}
}
