:root{
  --ink:#171411;
  --ink-soft:#201c18;
  --paper:#e8e1d6;
  --paper-2:#f0eadf;
  --text:#ece6dc;
  --muted:#b6ada1;
  --muted-dark:#756d63;
  --red:#eb362b;
  --line:rgba(255,255,255,.14);
  --line-dark:rgba(9,9,9,.14);
  --header-h:82px;
  --gutter:clamp(20px,3.1vw,56px);
  --content:1580px;
  --radius-xl:30px;
  --radius-lg:22px;
  --radius-md:16px;
  --radius-sm:11px;
  --ease:cubic-bezier(.22,.78,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ink)}
body{margin:0;background:var(--ink);color:var(--text);font-family:"Helvetica Neue",Arial,"Noto Sans",sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.is-locked{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{border:0}
img{display:block;max-width:100%;height:auto}
figure{margin:0}
.site-shell{overflow:clip;background:var(--ink)}
main{display:block}
.media-picture{display:block;width:100%;height:100%}.media-picture img{width:100%;height:100%;object-fit:cover}
.skip-link{position:fixed;top:12px;left:12px;z-index:9999;transform:translateY(-160%);padding:11px 16px;background:var(--paper);color:var(--ink);border-radius:10px}.skip-link:focus{transform:none}
:focus-visible{outline:2px solid var(--red);outline-offset:4px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.hp{position:absolute!important;left:-10000px!important}
.eyebrow,.step-kicker{display:block;font-size:10px;font-weight:650;letter-spacing:.17em;text-transform:uppercase}
.red-rule{display:block;width:38px;height:2px;border-radius:2px;background:var(--red)}
.editorial-link{display:inline-flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid currentColor;font-size:10px;font-weight:650;letter-spacing:.12em;text-transform:uppercase}
.editorial-link svg,.project-tile__meta svg,.estimator-actions svg,.estimator-brief svg,.project-cta-reference button svg,.process-page-cta button svg,.contact-reference__copy button svg,.project-story__cta button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s var(--ease)}
.editorial-link:hover svg,.project-cta-reference button:hover svg,.process-page-cta button:hover svg,.contact-reference__copy button:hover svg,.project-story__cta button:hover svg{transform:translateX(4px)}
.editorial-link--light{color:var(--text)}
.icon-close{width:42px;height:42px;border-radius:50%;background:transparent;display:grid;place-items:center;cursor:pointer}.icon-close:hover{background:rgba(255,255,255,.07)}.icon-close svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.3}

/* Header — light, integrated, no blocky bar */
.site-header{position:fixed;top:14px;left:14px;right:14px;z-index:150;height:var(--header-h);padding:0 clamp(18px,2.4vw,42px);display:grid;grid-template-columns:84px 1fr auto;align-items:center;gap:26px;border:1px solid transparent;border-radius:18px;transition:height .32s var(--ease),background .32s var(--ease),border-color .32s var(--ease),transform .32s var(--ease)}
.site-header.is-solid{height:70px;background:#1d1916;border-color:rgba(255,255,255,.09)}
.brand{width:58px;display:block}.brand img{width:100%;height:auto}
.desktop-nav{justify-self:center;display:flex;align-items:center;gap:clamp(20px,2.1vw,38px)}
.desktop-nav a,.lang-switch,.header-brief{font-size:10px;line-height:1;letter-spacing:.115em;text-transform:uppercase}
.desktop-nav a{position:relative;padding:28px 0 26px;color:rgba(255,255,255,.84)}
.desktop-nav a:after{content:"";position:absolute;left:0;bottom:17px;width:0;height:1px;border-radius:2px;background:var(--red);transition:width .28s var(--ease)}
.desktop-nav a:hover:after,.desktop-nav a[aria-current="page"]:after{width:100%}
.header-actions{display:flex;align-items:center;gap:14px}
.lang-switch{display:flex;align-items:center;gap:7px;color:#69655f}.lang-switch a{color:#77726b}.lang-switch a.is-active{color:var(--text)}
.header-brief{background:rgba(9,9,9,.18);border:1px solid rgba(255,255,255,.42);border-radius:999px;padding:13px 19px;cursor:pointer;transition:background .25s,color .25s,border-color .25s,transform .25s}.header-brief:hover{background:var(--paper);border-color:var(--paper);color:var(--ink);transform:translateY(-1px)}
.menu-toggle{display:none;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.07);padding:10px;cursor:pointer}.menu-toggle>span:not(.sr-only){display:block;width:20px;height:1px;background:currentColor;margin:6px auto}
.mobile-menu[hidden]{display:none}.mobile-menu{position:fixed;inset:10px;z-index:400;background:#1d1916;color:var(--text);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:22px var(--gutter) 30px;display:flex;flex-direction:column;overflow:auto}.mobile-menu__top{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid var(--line)}.mobile-menu__top img{width:58px}.mobile-menu__nav{display:flex;flex-direction:column;margin:auto 0;padding:30px 0}.mobile-menu__nav a{padding:5px 0;font-size:clamp(34px,9vw,62px);font-weight:300;line-height:1.06;letter-spacing:-.045em}.mobile-menu__bottom{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center;padding-top:20px;border-top:1px solid var(--line);font-size:12px;color:#bbb6ae}.mobile-menu__bottom button{padding:13px 17px;background:var(--paper);color:var(--ink);border-radius:12px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}

/* Home hero — rebuilt as one cinematic scene */
.home-hero{position:relative;margin:14px;height:calc(100svh - 28px);min-height:720px;max-height:980px;overflow:hidden;background:#201c18;border-radius:var(--radius-xl);isolation:isolate}
.home-hero__media,.home-hero__veil{position:absolute;inset:0}.home-hero__media img{transition:opacity .4s var(--ease),transform 1.1s var(--ease);transform:scale(1.01);object-position:center center}.home-hero.is-switching .home-hero__media img{opacity:.28;transform:scale(1.02)}
.home-hero__veil{background:linear-gradient(90deg,rgba(0,0,0,.64) 0%,rgba(0,0,0,.29) 34%,rgba(0,0,0,.06) 63%,rgba(0,0,0,.16) 100%),linear-gradient(0deg,rgba(0,0,0,.52) 0%,rgba(0,0,0,.04) 46%,rgba(0,0,0,.18) 100%)}
.home-hero__content{position:relative;z-index:2;height:100%;max-width:var(--content);margin:auto;padding:calc(var(--header-h) + 58px) clamp(32px,4vw,72px) 54px;display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,320px);align-items:center;gap:clamp(46px,7vw,120px)}
.home-hero__copy{align-self:end;padding-bottom:46px;max-width:720px;animation:heroCopyIn .72s .08s both var(--ease)}.home-hero__copy .eyebrow{margin-bottom:24px;color:#d9d4cc}.home-hero__copy .eyebrow:after{content:"";display:block;width:34px;height:2px;margin-top:13px;border-radius:2px;background:var(--red)}.home-hero__copy h1{margin:0;font-size:clamp(58px,4.8vw,84px);font-weight:300;line-height:.9;letter-spacing:-.055em;text-transform:uppercase;max-width:720px;text-wrap:balance}.home-hero__copy h1 span{display:block}.home-hero__copy h1 span:nth-child(2){margin-left:0}.home-hero__copy p{max-width:355px;margin:25px 0 23px;font-size:15px;line-height:1.55;color:#d8d0c5}@keyframes heroCopyIn{from{opacity:.01;transform:translateY(16px)}to{opacity:1;transform:none}}
.hero-projects{align-self:center;padding:6px 0;border-top:1px solid rgba(255,255,255,.28);border-bottom:1px solid rgba(255,255,255,.18);background:transparent}
.hero-project{width:100%;display:grid;grid-template-columns:26px minmax(0,1fr) 42px;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.16);background:transparent;color:rgba(255,255,255,.58);text-align:left;cursor:pointer;transition:color .25s}.hero-project:last-child{border-bottom:0}.hero-project__num{font-size:9px;letter-spacing:.12em}.hero-project__label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;letter-spacing:.01em}.hero-project__line{height:1px;border-radius:2px;background:currentColor;transform:scaleX(.35);transform-origin:right;transition:transform .25s}.hero-project:hover,.hero-project.is-active{color:var(--text)}.hero-project.is-active .hero-project__num{color:var(--red)}.hero-project.is-active .hero-project__line{transform:scaleX(1)}
.home-hero__counter{position:absolute;z-index:3;left:clamp(32px,4vw,72px);bottom:26px;display:flex;align-items:center;gap:10px;font-size:10px;color:#cac5bd}.home-hero__counter i{display:block;width:58px;height:1px;border-radius:2px;background:rgba(255,255,255,.38)}

/* Section system */
.section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.62fr);align-items:end;gap:8vw}.section-head h2{margin:11px 0 0;font-size:clamp(40px,3.5vw,58px);line-height:.97;font-weight:300;letter-spacing:-.048em;text-transform:uppercase}.section-head>div:last-child{max-width:430px;justify-self:end}.section-head p{margin:0 0 20px;line-height:1.6}.section-head--dark p{color:#aaa59d}.section-head--light{color:var(--ink)}.section-head--light p{color:var(--muted-dark)}

/* Projects */
.projects-showcase{max-width:var(--content);margin:0 auto;padding:clamp(92px,9vw,145px) var(--gutter);background:var(--ink)}
.projects-showcase .section-head{margin-bottom:52px}.projects-showcase__grid{display:grid;grid-template-columns:1.35fr .82fr;grid-template-rows:1fr 1fr;gap:18px;min-height:760px}.project-tile{position:relative;overflow:hidden;background:#151513;border-radius:var(--radius-lg)}.project-tile--1{grid-row:1/3}.project-tile a{position:absolute;inset:0}.project-tile img{transition:transform .8s var(--ease),filter .8s var(--ease)}.project-tile:hover img{transform:scale(1.018);filter:brightness(.9)}.project-tile__shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.7),transparent 44%)}.project-tile__meta{position:absolute;left:24px;right:22px;bottom:20px;display:flex;align-items:end;justify-content:space-between;gap:20px}.project-tile__meta strong{display:block;font-size:clamp(18px,1.6vw,26px);font-weight:350;line-height:1.15}.project-tile__meta small{display:block;margin-top:7px;font-size:8px;line-height:1.3;letter-spacing:.08em;text-transform:uppercase;color:#c2bdb5;max-width:320px}

/* Philosophy */
.duo-philosophy{max-width:calc(var(--content) - 2*var(--gutter));margin:0 auto 18px;background:var(--paper);color:var(--ink);padding:clamp(58px,6vw,88px);display:grid;grid-template-columns:minmax(280px,.72fr) 1fr;gap:clamp(42px,7vw,110px);border-radius:var(--radius-xl)}
.duo-philosophy__media{min-height:430px;border-radius:var(--radius-lg);overflow:hidden}.duo-philosophy__copy{align-self:center;max-width:620px}.duo-philosophy__copy h2{margin:13px 0 24px;font-size:clamp(40px,4vw,66px);font-weight:300;line-height:.96;letter-spacing:-.05em;text-transform:uppercase}.duo-philosophy__copy .red-rule{margin-bottom:24px}.duo-philosophy__copy p{max-width:520px;margin:0 0 22px;color:var(--muted-dark)}.duo-philosophy__principles{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-dark);margin-top:4px}.duo-philosophy__principles div{padding:22px 24px 0 0;border-right:1px solid var(--line-dark)}.duo-philosophy__principles div:last-child{border-right:0}.duo-philosophy__principles span{font-size:10px;line-height:1.4;letter-spacing:.07em;text-transform:uppercase}

/* Services */
.services-reference{max-width:calc(var(--content) - 2*var(--gutter));margin:0 auto 18px;padding:clamp(68px,7vw,110px);background:#201c18;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-xl)}.services-reference .section-head{margin-bottom:58px}.services-reference__body{display:grid;grid-template-columns:1.2fr .58fr;gap:clamp(44px,7vw,112px)}.services-reference__list{align-self:center}.services-reference__list a{display:grid;grid-template-columns:42px 1fr 22px;align-items:center;gap:14px;padding:18px 0;border-bottom:1px solid var(--line);transition:padding .25s,color .25s}.services-reference__list a:first-child{border-top:1px solid var(--line)}.services-reference__list a:hover{padding-left:8px;color:#ece6dc}.services-reference__list span{font-size:10px;color:#77726b}.services-reference__list strong{font-size:16px;font-weight:350}.services-reference__list svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.2}.services-reference__media{position:relative;min-height:520px;border-radius:var(--radius-lg);overflow:hidden}.services-reference__media:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.58),transparent 48%)}.services-reference__media figcaption{position:absolute;z-index:2;left:24px;right:24px;bottom:22px;font-size:clamp(20px,1.9vw,30px);font-weight:300;line-height:1.12}

/* Process */
.process-reference{max-width:calc(var(--content) - 2*var(--gutter));margin:0 auto 18px;padding:clamp(66px,7vw,100px);background:var(--paper);color:var(--ink);border-radius:var(--radius-xl)}.process-reference .section-head{margin-bottom:52px}.process-reference__steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-dark)}.process-reference__steps article{min-height:210px;padding:22px 26px 0 0;border-right:1px solid var(--line-dark)}.process-reference__steps article:not(:first-child){padding-left:26px}.process-reference__steps article:last-child{border-right:0}.process-reference__steps span{font-size:11px;color:#8f8981}.process-reference__steps h3{margin:18px 0 12px;font-size:18px;font-weight:400}.process-reference__steps p{margin:0;color:var(--muted-dark);font-size:13px;line-height:1.6}

/* Estimator */
.estimator-reference{max-width:calc(var(--content) - 2*var(--gutter));margin:0 auto 18px;padding:clamp(66px,7vw,100px);display:grid;grid-template-columns:.72fr 1.18fr;gap:clamp(46px,7vw,112px);background:#201c18;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-xl)}.estimator-reference__intro{align-self:start;position:sticky;top:110px}.estimator-reference__intro h2{margin:14px 0 24px;font-size:clamp(40px,4vw,64px);font-weight:300;line-height:.98;letter-spacing:-.05em}.estimator-reference__intro .red-rule{margin-bottom:24px}.estimator-reference__intro p{max-width:430px;color:#aaa59d}.estimator-reference__panel{min-width:0;background:var(--paper);color:var(--ink);padding:clamp(26px,3vw,46px);border-radius:var(--radius-lg)}.estimator-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:25px;border-bottom:1px solid var(--line-dark)}.estimator-top>div{min-width:210px}.estimator-top span{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#77716a}.estimator-progress{height:2px;margin-top:12px;background:#d7d2ca;overflow:hidden;border-radius:99px}.estimator-progress i{display:block;height:100%;width:20%;background:var(--red);transition:width .3s var(--ease)}.estimator-top button{background:transparent;color:#77716a;font-size:10px;letter-spacing:.12em;cursor:pointer}.estimator-step{display:none;padding:40px 0 26px}.estimator-step.is-active{display:block;animation:fadeStep .3s var(--ease)}@keyframes fadeStep{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.estimator-step h3{margin:10px 0 28px;font-size:clamp(28px,2.4vw,40px);font-weight:350;letter-spacing:-.035em}.estimator-options{display:grid;gap:10px}.estimator-options--spaces{grid-template-columns:repeat(2,1fr)}.estimator-options--text{grid-template-columns:repeat(2,1fr)}.estimator-options label,.estimator-services label{cursor:pointer}.estimator-options input,.estimator-services input{position:absolute;opacity:0;pointer-events:none}.estimator-options label>span,.estimator-services label>span{display:flex;align-items:center;gap:13px;min-height:68px;padding:15px 17px;border:1px solid #d3cec5;border-radius:12px;transition:border-color .2s,background .2s,transform .2s}.estimator-options input:checked+span,.estimator-services input:checked+span{border-color:var(--red);background:#f0eadf}.estimator-options label:hover>span,.estimator-services label:hover>span{transform:translateY(-1px);border-color:#aaa49b}.estimator-options svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.35}.estimator-options strong,.estimator-services strong{font-size:13px;font-weight:500}.estimator-services{display:grid;grid-template-columns:1fr 1fr;gap:10px}.estimator-services label>span{display:block}.estimator-services small{display:block;margin-top:6px;color:#77716a;line-height:1.45}.surface-control{display:flex;align-items:center;max-width:320px;border-bottom:1px solid var(--ink);padding:8px 0}.surface-control input{width:100%;border:0;outline:0;background:transparent;font-size:54px;font-weight:300}.surface-control span{font-size:18px;color:#77716a}.estimator-step>p{color:#77716a}.estimator-summary{margin:0 0 24px}.estimator-summary div{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:13px 0;border-bottom:1px solid var(--line-dark)}.estimator-summary dt{color:#77716a}.estimator-summary dd{margin:0}.estimate-output{padding:22px;background:#f0eadf;border-radius:14px}.estimate-output>span{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#77716a}.estimate-output strong{display:block;margin:9px 0;font-size:22px;font-weight:450}.estimate-output p{margin:0;color:#77716a}.estimator-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:24px;border-top:1px solid var(--line-dark)}.estimator-actions button,.estimator-brief{min-height:46px;padding:0 18px;border-radius:12px;cursor:pointer;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.estimator-actions button:first-child{background:transparent;border:1px solid #c8c2b9}.estimator-actions button:last-child,.estimator-brief{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--ink);color:#ece6dc}.estimator-brief{margin-top:18px}.has-error{animation:softShake .4s}@keyframes softShake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}

/* Cinematic CTA */
.project-cta-reference{position:relative;max-width:calc(var(--content) - 2*var(--gutter));min-height:560px;margin:0 auto 18px;overflow:hidden;border-radius:var(--radius-xl)}.project-cta-reference figure,.project-cta-reference__veil{position:absolute;inset:0}.project-cta-reference__veil{background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.18) 65%,rgba(0,0,0,.05))}.project-cta-reference__copy{position:relative;z-index:2;max-width:670px;padding:clamp(64px,7vw,108px)}.project-cta-reference__copy h2{margin:12px 0 22px;font-size:clamp(42px,4.4vw,72px);font-weight:300;line-height:.96;letter-spacing:-.052em}.project-cta-reference__copy .red-rule{margin-bottom:23px}.project-cta-reference__copy p{max-width:390px;color:#d3cec6}.project-cta-reference__copy button{display:inline-flex;align-items:center;gap:10px;margin-top:18px;background:var(--paper);color:var(--ink);border-radius:12px;padding:14px 18px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}

/* Inner pages */
.is-inner main{padding-top:98px}.inner-hero{max-width:calc(var(--content) - 2*var(--gutter));margin:14px auto 18px;padding:clamp(60px,7vw,108px);border-radius:var(--radius-xl)}.inner-hero--dark{background:#201c18;border:1px solid rgba(255,255,255,.08)}.inner-hero--light{background:var(--paper);color:var(--ink)}.inner-hero__grid{display:grid;grid-template-columns:1.12fr .58fr;gap:8vw;align-items:end;margin-top:20px}.inner-hero h1{margin:0;font-size:clamp(48px,5vw,80px);line-height:.92;font-weight:300;letter-spacing:-.055em}.inner-hero p{margin:0;color:inherit;opacity:.68;max-width:440px;line-height:1.65}
.about-reference{max-width:calc(var(--content) - 2*var(--gutter));margin:0 auto 18px;display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.about-reference__large{grid-row:1/3;min-height:720px;border-radius:var(--radius-xl);overflow:hidden}.about-reference__quote{padding:clamp(38px,5vw,74px);background:#201c18;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-xl)}.about-reference__quote h2{font-size:clamp(32px,3vw,48px);font-weight:300;line-height:1.04}.about-reference__small{min-height:350px;border-radius:var(--radius-xl);overflow:hidden}.about-values{max-width:calc(var(--content) - 2*var(--gutter));margin:0 auto 18px;padding:50px;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--paper);color:var(--ink);border-radius:var(--radius-xl)}.about-values article{padding:28px;border-right:1px solid var(--line-dark)}.about-values article:last-child{border-right:0}.about-values span{font-size:10px;color:#8c867e}.about-values h3{font-weight:450}.about-values p{color:var(--muted-dark)}
.contact-reference{max-width:calc(var(--content) - 2*var(--gutter));margin:14px auto 18px;display:grid;grid-template-columns:.9fr .55fr 1fr;gap:18px;align-items:stretch}.contact-reference__copy,.contact-reference__data{padding:clamp(40px,5vw,78px);background:#201c18;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-xl)}.contact-reference__copy h1{margin:12px 0 22px;font-size:clamp(42px,4.2vw,68px);font-weight:300;line-height:.96;letter-spacing:-.05em}.contact-reference__copy p{color:#aaa59d}.contact-reference__copy button,.process-page-cta button,.project-story__cta button{display:inline-flex;align-items:center;gap:10px;margin-top:18px;padding:14px 18px;background:var(--paper);color:var(--ink);border-radius:12px;font-size:10px;letter-spacing:.11em;text-transform:uppercase;cursor:pointer}.contact-reference__data{display:flex;flex-direction:column;justify-content:center}.contact-reference__data div{padding:18px 0;border-bottom:1px solid var(--line)}.contact-reference__data span{display:block;font-size:9px;letter-spacing:.12em;color:#77726b}.contact-reference__data a{display:block;margin-top:7px;font-size:14px}.contact-reference__media{min-height:680px;border-radius:var(--radius-xl);overflow:hidden}
.process-page-reference{max-width:calc(var(--content) - 2*var(--gutter));margin:0 auto 18px;padding:clamp(50px,6vw,90px);background:#201c18;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-xl)}.process-page-reference article{display:grid;grid-template-columns:70px .65fr 1fr;gap:34px;padding:30px 0;border-bottom:1px solid var(--line)}.process-page-reference article:last-child{border-bottom:0}.process-page-reference article>span{color:#77726b}.process-page-reference h2{margin:0;font-size:30px;font-weight:350}.process-page-reference p{margin:0;color:#aaa59d}.process-page-cta{max-width:calc(var(--content) - 2*var(--gutter));margin:0 auto 18px;padding:clamp(54px,6vw,90px);display:flex;align-items:end;justify-content:space-between;gap:30px;background:var(--paper);color:var(--ink);border-radius:var(--radius-xl)}.process-page-cta h2{max-width:760px;font-size:clamp(38px,4vw,60px);font-weight:300;line-height:.98}
.project-index-reference{max-width:calc(var(--content) - 2*var(--gutter));margin:0 auto;padding:18px 0 60px}.project-index-card{display:grid;grid-template-columns:1.32fr .68fr;gap:18px;margin-bottom:18px}.project-index-card:nth-child(even){grid-template-columns:.68fr 1.32fr}.project-index-card:nth-child(even) .project-index-card__media{order:2}.project-index-card__media{position:relative;min-height:620px;overflow:hidden;border-radius:var(--radius-xl)}.project-index-card__media img{transition:transform .8s var(--ease)}.project-index-card__media:hover img{transform:scale(1.015)}.project-index-card__copy{display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(36px,5vw,72px);background:#201c18;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-xl)}.project-index-card__copy>span{font-size:9px;letter-spacing:.12em;color:#77726b;text-transform:uppercase}.project-index-card__copy h2{margin:12px 0 18px;font-size:clamp(36px,3.6vw,58px);font-weight:300;line-height:.98}.project-index-card__copy p{color:#aaa59d}.project-index-card__copy .editorial-link{align-self:flex-start;margin-top:20px}
.services-page-reference{max-width:calc(var(--content) - 2*var(--gutter));margin:0 auto 18px;padding:clamp(60px,7vw,105px);display:grid;grid-template-columns:1.1fr .65fr;gap:8vw;background:#201c18;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-xl)}.services-page-reference__list article{display:grid;grid-template-columns:48px 1fr 44px;align-items:center;gap:18px;padding:22px 0;border-bottom:1px solid var(--line)}.services-page-reference__list article:first-child{border-top:1px solid var(--line)}.services-page-reference__list article>span{font-size:10px;color:#77726b}.services-page-reference__list h2{margin:0;font-size:24px;font-weight:350}.services-page-reference__list p{margin:7px 0 0;color:#99948c}.services-page-reference__list button{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.06);cursor:pointer}.services-page-reference__list svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.2}.services-page-reference__media{position:relative;min-height:650px;overflow:hidden;border-radius:var(--radius-lg)}.services-page-reference__media:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.62),transparent 50%)}.services-page-reference__media figcaption{position:absolute;z-index:2;left:26px;bottom:24px;font-size:28px;font-weight:300}.services-bottom-statement{max-width:calc(var(--content) - 2*var(--gutter));margin:0 auto 18px;padding:clamp(60px,7vw,100px);background:var(--paper);color:var(--ink);border-radius:var(--radius-xl)}.services-bottom-statement h2{max-width:1050px;font-size:clamp(44px,5vw,76px);font-weight:300;line-height:.94;letter-spacing:-.055em}.services-bottom-statement button{padding:14px 18px;border-radius:12px;background:var(--ink);color:#ece6dc;font-size:10px;letter-spacing:.11em;text-transform:uppercase;cursor:pointer}
.project-story{max-width:calc(var(--content) - 2*var(--gutter));margin:0 auto;padding:20px 0 70px}.project-story__head{display:grid;grid-template-columns:180px 1fr auto;gap:34px;align-items:end;padding:56px 0}.project-story__head h1{margin:0 0 14px;font-size:clamp(48px,5vw,82px);font-weight:300;line-height:.94;letter-spacing:-.055em}.project-story__head p{max-width:650px;color:#aaa59d}.project-story__hero{height:min(80vh,920px);border-radius:var(--radius-xl);overflow:hidden;cursor:zoom-in}.project-story__gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;margin:18px 0}.project-story__frame{overflow:hidden;border-radius:var(--radius-lg);min-height:420px;cursor:zoom-in}.project-story__frame--1{grid-column:1/8}.project-story__frame--2{grid-column:8/13}.project-story__frame--3{grid-column:1/6}.project-story__frame--4{grid-column:6/13}.project-story__note{max-width:680px;margin:70px 0 70px auto;padding:32px;border-left:2px solid var(--red)}.project-story__note span{font-size:9px;letter-spacing:.12em}.project-story__note p{color:#aaa59d}.project-siblings{display:grid;grid-template-columns:1fr 1fr;gap:18px}.project-siblings a{padding:34px;background:#201c18;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg)}.project-siblings a:last-child{text-align:right}.project-siblings span{display:block;font-size:9px;letter-spacing:.12em;color:#77726b}.project-siblings strong{display:block;margin-top:8px;font-size:24px;font-weight:350}.project-story__cta{margin-top:18px;padding:clamp(54px,6vw,90px);background:var(--paper);color:var(--ink);border-radius:var(--radius-xl)}.project-story__cta h2{max-width:820px;font-size:clamp(42px,4.5vw,70px);font-weight:300;line-height:.96}
.gallery-viewer[hidden]{display:none}.gallery-viewer{position:fixed;inset:10px;z-index:700;display:grid;grid-template-columns:60px 1fr 60px;align-items:center;background:#171411;border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:22px}.gallery-viewer img{max-width:100%;max-height:88vh;margin:auto;border-radius:14px}.gallery-viewer button{width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.08);display:grid;place-items:center;cursor:pointer}.gallery-viewer .icon-close{position:absolute;top:20px;right:20px}.gallery-viewer svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.3}
.legal-page{max-width:960px;margin:14px auto 60px;padding:clamp(52px,6vw,88px);background:var(--paper);color:var(--ink);border-radius:var(--radius-xl)}.legal-page h1{margin:12px 0 30px;font-size:clamp(42px,5vw,70px);font-weight:300;line-height:.95}.legal-page h2{margin:38px 0 10px;font-weight:450}.legal-page p{color:var(--muted-dark);line-height:1.7}.legal-action{margin-top:25px;padding:14px 18px;background:var(--ink);color:#ece6dc;border-radius:12px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.legal-note{font-size:12px}.error-page{min-height:calc(100svh - 120px);max-width:calc(var(--content) - 2*var(--gutter));margin:14px auto 30px;padding:clamp(50px,7vw,100px);display:grid;grid-template-columns:.6fr 1fr;align-items:center;gap:7vw;background:#201c18;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-xl)}.error-code{font-size:clamp(100px,18vw,280px);font-weight:200;line-height:.8;color:#282825}.error-page h1{font-size:clamp(42px,4.6vw,72px);font-weight:300;line-height:.96}.error-page a{display:inline-flex;margin-top:20px;padding:13px 17px;border-radius:12px;background:var(--paper);color:var(--ink);font-size:10px;letter-spacing:.1em}

/* Footer */
.site-footer{max-width:calc(var(--content) - 2*var(--gutter));margin:0 auto 18px;padding:clamp(54px,6vw,88px);background:#201c18;color:var(--text);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-xl)}.site-footer__lead{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding-bottom:42px;border-bottom:1px solid var(--line)}.site-footer__lead img{width:106px}.site-footer__lead p{max-width:280px;margin:0;font-size:18px;line-height:1.45}.site-footer__links{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;padding:42px 0}.site-footer__links>div{display:flex;flex-direction:column;gap:9px}.site-footer__links span{margin-bottom:6px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#77726b}.site-footer__links a,.site-footer__links button{align-self:flex-start;background:none;padding:0;color:var(--text);font-size:13px;cursor:pointer}.site-footer__bottom{display:grid;grid-template-columns:1fr auto auto;gap:22px;align-items:center;padding-top:22px;border-top:1px solid var(--line);font-size:10px;color:#77716a}.site-footer__langs{display:flex;gap:6px}.adeptdev-signature{font-weight:650;color:#326cff}

/* Smart brief */
.brief-dialog{width:min(980px,calc(100% - 24px));max-height:calc(100svh - 24px);padding:0;border:0;border-radius:24px;background:transparent;color:var(--ink);overflow:visible}.brief-dialog::backdrop{background:rgba(0,0,0,.78)}.brief{max-height:calc(100svh - 24px);overflow:auto;background:var(--paper);border-radius:24px;padding:clamp(26px,4vw,52px)}.brief-head{display:flex;justify-content:space-between;gap:24px;padding-bottom:22px;border-bottom:1px solid var(--line-dark)}.brief-head>div>span{font-size:9px;letter-spacing:.12em}.brief-head h2{margin:9px 0 0;font-size:clamp(30px,3vw,44px);font-weight:350;line-height:1}.brief-head .icon-close:hover{background:rgba(0,0,0,.06)}.brief-progress{height:2px;background:#d7d2ca;border-radius:99px;overflow:hidden;margin-top:22px}.brief-progress span{display:block;height:100%;width:25%;background:var(--red);transition:width .3s}.brief-progress-label{font-size:10px;color:#77716a}.brief-step{display:none;padding:25px 0}.brief-step.is-active{display:block}.brief fieldset{border:0;padding:0;margin:0}.brief legend{font-size:24px;margin-bottom:18px}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.choice-grid input{position:absolute;opacity:0}.choice-grid span{display:block;padding:16px;border:1px solid #cdc7bd;border-radius:12px;cursor:pointer}.choice-grid input:checked+span{border-color:var(--red);background:#f0eadf}.line-field{display:block;margin-top:20px}.line-field>span{display:block;margin-bottom:7px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#77716a}.line-field input,.line-field select,.line-field textarea{width:100%;border:0;border-bottom:1px solid #aca69d;background:transparent;padding:10px 0;outline:0}.line-field textarea{resize:vertical}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.upload-zone{display:block;padding:30px;border:1px dashed #b5afa6;border-radius:14px;text-align:center;cursor:pointer}.upload-zone input{display:none}.upload-zone strong{display:block}.upload-zone span{display:block;margin-top:7px;color:#77716a;font-size:12px}.form-consent{font-size:11px;color:#77716a}.brief-success{padding:50px 0;text-align:center}.brief-success>span{font-size:42px}.brief-success h3{font-size:32px;font-weight:350}.brief-success button{padding:13px 18px;background:var(--ink);color:#ece6dc;border-radius:12px}.brief-actions{display:flex;align-items:center;gap:10px;padding-top:22px;border-top:1px solid var(--line-dark)}.brief-spacer{flex:1}.brief-actions button{min-height:44px;padding:0 17px;border-radius:12px;cursor:pointer}.brief-back{background:transparent;border:1px solid #c7c1b8}.brief-next,.brief-submit{background:var(--ink);color:#ece6dc}.form-error{margin-top:14px;color:#b61c16;font-size:12px}

/* Cookie consent — compact and premium */
.cookie-banner[hidden]{display:none}.cookie-banner{position:fixed;z-index:500;left:22px;bottom:22px;width:min(390px,calc(100vw - 44px));padding:17px 17px 15px;background:rgba(244,241,235,.985);color:var(--ink);border:1px solid rgba(0,0,0,.08);border-radius:20px;box-shadow:0 14px 46px rgba(0,0,0,.22)}.cookie-banner strong{display:block;font-size:13px;font-weight:600}.cookie-banner p{margin:6px 0 13px;color:#6f6962;font-size:11px;line-height:1.55}.cookie-actions{display:flex;flex-wrap:wrap;gap:8px}.cookie-actions button{min-height:38px;padding:0 12px;border:1px solid #bdb7ae;background:transparent;border-radius:999px;color:var(--ink);font-size:8px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.cookie-actions .cookie-primary{margin-left:auto;background:var(--ink);border-color:var(--ink);color:#ece6dc}.cookie-dialog{width:min(560px,calc(100% - 24px));border:0;border-radius:22px;padding:0;background:transparent;color:var(--ink)}.cookie-dialog::backdrop{background:rgba(0,0,0,.72)}.cookie-panel{padding:28px;background:var(--paper);border-radius:22px}.cookie-panel-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid var(--line-dark)}.cookie-panel-head h2{margin:0;font-size:27px;font-weight:350}.cookie-panel .icon-close:hover{background:rgba(0,0,0,.06)}.cookie-panel>label{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line-dark)}.cookie-panel label span{display:block}.cookie-panel label strong{display:block}.cookie-panel label small{display:block;margin-top:5px;color:#77716a}.cookie-panel input[type=checkbox]{width:18px;height:18px;accent-color:var(--red)}.cookie-save{width:100%;margin-top:20px;padding:14px;background:var(--ink);color:#ece6dc;border-radius:12px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}

/* Motion */
[data-reveal],.reveal-mask{opacity:1;transform:none;transition:opacity .65s var(--ease),transform .65s var(--ease)}[data-reveal].is-pending,.reveal-mask.is-pending{opacity:0;transform:translateY(16px)}[data-reveal].is-visible,.reveal-mask.is-visible{opacity:1;transform:none}

@media (max-width:1180px){
  .site-header{grid-template-columns:70px 1fr auto}.desktop-nav{gap:18px}.desktop-nav a:nth-child(4),.desktop-nav a:nth-child(5){display:none}
  .home-hero__content{grid-template-columns:minmax(0,1fr) 280px;gap:50px}.home-hero__copy h1{font-size:clamp(56px,6.4vw,78px)}
  .projects-showcase__grid{min-height:650px}.services-reference__body{grid-template-columns:1fr .55fr}.process-reference__steps{grid-template-columns:1fr 1fr}.process-reference__steps article:nth-child(2){border-right:0}.process-reference__steps article:nth-child(n+3){border-top:1px solid var(--line-dark)}
  .contact-reference{grid-template-columns:1fr 1fr}.contact-reference__media{grid-column:1/-1;min-height:520px}
}
@media (max-width:900px){
  :root{--header-h:68px;--gutter:20px}
  .site-header{top:10px;left:10px;right:10px;height:68px;padding:0 16px;grid-template-columns:58px 1fr auto;border-radius:15px}.site-header.is-solid{height:64px}.brand{width:48px}.desktop-nav,.header-brief{display:none}.header-actions{justify-self:end}.menu-toggle{display:block}.lang-switch{font-size:9px}
  .home-hero{margin:10px;height:auto;min-height:760px;max-height:none;border-radius:22px}.home-hero__veil{background:linear-gradient(0deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.22) 55%,rgba(0,0,0,.12) 100%)}.home-hero__media img{object-position:48% center}.home-hero__content{min-height:760px;padding:110px 24px 38px;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;gap:26px}.home-hero__copy{align-self:auto;padding:0;max-width:100%}.home-hero__copy .eyebrow{margin-bottom:18px}.home-hero__copy h1{font-size:clamp(50px,11vw,76px);max-width:660px}.home-hero__copy h1 span:nth-child(2){margin-left:0}.home-hero__copy p{margin:20px 0 19px}.hero-projects{display:none}.home-hero__counter{left:auto;right:24px;bottom:24px}
  .section-head{grid-template-columns:1fr;gap:24px}.section-head>div:last-child{justify-self:start}.projects-showcase{padding:72px 20px}.projects-showcase__grid{grid-template-columns:1fr;grid-template-rows:none;min-height:0}.project-tile,.project-tile--1{grid-row:auto;min-height:480px}.project-tile:nth-child(n+2){min-height:340px}
  .duo-philosophy,.services-reference,.process-reference,.estimator-reference,.project-cta-reference,.site-footer,.inner-hero,.about-reference,.about-values,.contact-reference,.process-page-reference,.process-page-cta,.project-index-reference,.services-page-reference,.services-bottom-statement,.project-story,.legal-page,.error-page{max-width:none;margin-left:10px;margin-right:10px}
  .duo-philosophy{padding:38px;grid-template-columns:1fr}.duo-philosophy__media{min-height:420px}.duo-philosophy__principles{grid-template-columns:1fr 1fr}.duo-philosophy__principles div:nth-child(2){border-right:0}.duo-philosophy__principles div:nth-child(n+3){border-top:1px solid var(--line-dark)}
  .services-reference{padding:48px 34px}.services-reference__body{grid-template-columns:1fr}.services-reference__media{min-height:480px}.process-reference{padding:48px 34px}.estimator-reference{padding:48px 34px;grid-template-columns:1fr}.estimator-reference__intro{position:static}.project-cta-reference{min-height:520px}.project-cta-reference__copy{padding:56px 34px}
  .inner-hero{padding:48px 34px}.inner-hero__grid{grid-template-columns:1fr;gap:24px}.about-reference{grid-template-columns:1fr}.about-reference__large{grid-row:auto;min-height:520px}.about-values{grid-template-columns:1fr;padding:24px}.about-values article{border-right:0;border-bottom:1px solid var(--line-dark)}.about-values article:last-child{border-bottom:0}.contact-reference{grid-template-columns:1fr}.contact-reference__media{grid-column:auto}.process-page-reference article{grid-template-columns:48px 1fr}.process-page-reference article p{grid-column:2}.process-page-cta{align-items:flex-start;flex-direction:column}.project-index-card,.project-index-card:nth-child(even){grid-template-columns:1fr}.project-index-card:nth-child(even) .project-index-card__media{order:0}.project-index-card__media{min-height:500px}.services-page-reference{grid-template-columns:1fr}.services-page-reference__media{min-height:520px}.project-story__head{grid-template-columns:1fr;gap:15px}.project-story__gallery{grid-template-columns:1fr}.project-story__frame,.project-story__frame--1,.project-story__frame--2,.project-story__frame--3,.project-story__frame--4{grid-column:auto}.project-siblings{grid-template-columns:1fr}.project-siblings a:last-child{text-align:left}.error-page{grid-template-columns:1fr}.site-footer__links{grid-template-columns:1fr 1fr}
}
@media (max-width:620px){
  body{font-size:14px}.home-hero{min-height:690px}.home-hero__content{min-height:690px;padding:98px 18px 28px}.home-hero__copy h1{font-size:clamp(44px,13.2vw,64px);line-height:.9}.home-hero__copy p{max-width:290px;font-size:13px}.home-hero__counter{right:18px;bottom:18px}
  .projects-showcase{padding:64px 18px}.project-tile,.project-tile--1{min-height:390px}.project-tile:nth-child(n+2){min-height:280px}.section-head h2{font-size:38px}.duo-philosophy,.services-reference,.process-reference,.estimator-reference,.project-cta-reference,.site-footer,.inner-hero,.about-reference,.about-values,.contact-reference,.process-page-reference,.process-page-cta,.project-index-reference,.services-page-reference,.services-bottom-statement,.project-story,.legal-page,.error-page{margin-left:8px;margin-right:8px;border-radius:20px}.duo-philosophy,.services-reference,.process-reference,.estimator-reference,.inner-hero,.process-page-reference,.services-page-reference,.services-bottom-statement,.legal-page{padding:30px 22px}.duo-philosophy__media{min-height:340px;border-radius:15px}.duo-philosophy__principles{grid-template-columns:1fr}.duo-philosophy__principles div{border-right:0!important;border-top:1px solid var(--line-dark);padding:16px 0}.services-reference__media{min-height:360px;border-radius:15px}.process-reference__steps{grid-template-columns:1fr}.process-reference__steps article{border-right:0!important;border-top:1px solid var(--line-dark);padding:20px 0!important}.estimator-options--spaces,.estimator-options--text,.estimator-services{grid-template-columns:1fr}.estimator-reference__panel{padding:22px;border-radius:16px}.surface-control input{font-size:44px}.project-cta-reference{min-height:470px}.project-cta-reference__copy{padding:42px 22px}.inner-hero h1{font-size:42px}.about-reference__large{min-height:390px}.about-reference__quote{padding:32px 24px}.about-reference__small{min-height:300px}.contact-reference__copy,.contact-reference__data{padding:34px 24px}.contact-reference__media{min-height:420px}.process-page-reference article{grid-template-columns:38px 1fr;gap:16px}.process-page-reference h2{font-size:24px}.project-index-card__media{min-height:360px}.project-index-card__copy{padding:30px 24px}.services-page-reference__list article{grid-template-columns:34px 1fr 40px;gap:10px}.services-page-reference__list h2{font-size:20px}.services-page-reference__media{min-height:420px}.project-story{padding-bottom:30px}.project-story__head{padding:38px 8px}.project-story__hero{height:62vh;border-radius:18px}.project-story__frame{min-height:300px;border-radius:15px}.project-story__note{margin:45px 15px 45px auto}.project-siblings a{padding:26px}.project-story__cta{padding:42px 24px}.site-footer{padding:38px 24px}.site-footer__lead{display:block}.site-footer__lead p{margin-top:24px}.site-footer__links{grid-template-columns:1fr}.site-footer__bottom{grid-template-columns:1fr;gap:10px}.choice-grid,.two-fields{grid-template-columns:1fr}.brief-dialog{width:calc(100% - 12px);max-height:calc(100svh - 12px)}.brief{max-height:calc(100svh - 12px);border-radius:18px;padding:22px 18px}.cookie-banner{left:10px;bottom:10px;width:calc(100vw - 20px);padding:17px;border-radius:15px}.cookie-actions{display:grid;grid-template-columns:1fr 1fr}.cookie-actions .cookie-primary{margin-left:0;grid-column:1/-1}.cookie-actions button{width:100%}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}[data-reveal],.reveal-mask,[data-reveal].is-pending,.reveal-mask.is-pending{opacity:1!important;transform:none!important}}

/* ========================================================================== 
   DUO 2.3 — warm architectural UI system
   Replaces hard black/white, divider-heavy grids and bare text-arrow controls.
   ========================================================================== */
:root{
  --ink:#171411;
  --ink-soft:#201c18;
  --ink-elevated:#29241f;
  --paper:#e8e1d6;
  --paper-2:#f0eadf;
  --paper-soft:#ddd5c9;
  --text:#ece6dc;
  --text-soft:#d5cdc1;
  --muted:#b6ada1;
  --muted-dark:#756d63;
  --line:rgba(236,230,220,.13);
  --line-dark:rgba(35,30,25,.13);
  --shadow-soft:0 24px 70px rgba(10,8,7,.18);
  --radius-xl:34px;
  --radius-lg:24px;
  --radius-md:18px;
  --radius-sm:13px;
}
html,body,.site-shell{background:var(--ink)}
body{color:var(--text)}
::selection{background:rgba(235,54,43,.26);color:var(--text)}

/* Professional control language: labels are real controls, icon is contained. */
.editorial-link{
  min-height:44px;padding:5px 6px 5px 16px;border:1px solid rgba(37,31,26,.18);border-radius:999px;
  background:rgba(255,255,255,.18);gap:13px;font-size:9px;font-weight:700;letter-spacing:.13em;
  transition:background .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease),color .25s var(--ease)
}
.editorial-link:after{display:none}
.editorial-link:hover{transform:translateY(-1px);background:rgba(255,255,255,.34);border-color:rgba(37,31,26,.3)}
.editorial-link--light{border-color:rgba(236,230,220,.22);background:rgba(31,27,23,.62);color:var(--text)}
.editorial-link--light:hover{background:var(--paper);border-color:var(--paper);color:var(--ink)}
.editorial-link .cta-icon,.project-tile__meta .cta-icon{
  width:31px;height:31px;padding:8px;border-radius:50%;background:var(--ink);color:var(--text);stroke:currentColor;fill:none;stroke-width:1.55;flex:0 0 auto
}
.editorial-link--light .cta-icon{background:rgba(236,230,220,.12)}
.editorial-link--light:hover .cta-icon{background:var(--ink);color:var(--text)}
.editorial-link:hover .cta-icon{transform:none}
.ui-icon,.cta-icon{fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}

/* Header */
.site-header.is-solid{background:#1d1916;border-color:rgba(236,230,220,.08);box-shadow:0 14px 44px rgba(9,7,6,.14)}
.desktop-nav a{color:rgba(236,230,220,.82)}
.lang-switch{color:#8e857a}.lang-switch a{color:#948b80}.lang-switch a.is-active{color:var(--text)}
.header-brief{background:rgba(32,28,24,.58);border-color:rgba(236,230,220,.26);color:var(--text)}
.header-brief:hover{background:var(--paper);border-color:var(--paper);color:var(--ink)}
.mobile-menu{background:#1c1916;border-color:rgba(236,230,220,.08);box-shadow:var(--shadow-soft)}
.mobile-menu__bottom button{background:var(--paper);color:var(--ink);border-radius:999px}

/* Hero: one image scene + tactile project selector, no 2015 divider list. */
.home-hero{background:var(--ink-soft);border-radius:36px;box-shadow:var(--shadow-soft)}
.home-hero__veil{
  background:linear-gradient(90deg,rgba(18,15,13,.70) 0%,rgba(18,15,13,.30) 39%,rgba(18,15,13,.07) 67%,rgba(18,15,13,.18) 100%),
             linear-gradient(0deg,rgba(18,15,13,.58) 0%,rgba(18,15,13,.05) 48%,rgba(18,15,13,.18) 100%)
}
.home-hero__content{grid-template-columns:minmax(0,1fr) minmax(330px,390px);gap:clamp(54px,7vw,126px)}
.home-hero__copy{max-width:760px;padding-bottom:54px}
.home-hero__copy .eyebrow{color:var(--text-soft)}
.home-hero__copy h1{font-size:clamp(58px,5.1vw,88px);line-height:.91;max-width:760px;letter-spacing:-.058em;text-wrap:balance}
.home-hero__copy h1 span{display:block}
.home-hero__copy h1 .hero-accent{color:var(--red)}
.home-hero__copy p{color:var(--text-soft);max-width:430px;font-size:15px}
.hero-projects{align-self:center;display:flex;flex-direction:column;gap:9px;border:0;padding:0;background:transparent;max-width:390px;width:100%;justify-self:end}
.hero-project{
  display:grid;grid-template-columns:84px minmax(0,1fr) 34px;gap:13px;align-items:center;width:100%;
  padding:8px;border:1px solid rgba(236,230,220,.11);border-radius:18px;background:rgba(29,25,22,.78);
  color:rgba(236,230,220,.72);text-align:left;cursor:pointer;
  transition:transform .25s var(--ease),background .25s var(--ease),border-color .25s var(--ease),color .25s var(--ease)
}
.hero-project:last-child{border-bottom:1px solid rgba(236,230,220,.11)}
.hero-project:hover{transform:translateX(-4px);background:#28231e;border-color:rgba(236,230,220,.19);color:var(--text)}
.hero-project.is-active{background:var(--paper);border-color:var(--paper);color:var(--ink);transform:translateX(-7px);box-shadow:0 16px 38px rgba(10,8,7,.18)}
.hero-project__thumb{display:block;width:84px;height:58px;border-radius:12px;overflow:hidden;background:var(--ink-elevated)}
.hero-project__thumb img{width:100%;height:100%;object-fit:cover;transform:none!important;opacity:1!important}
.hero-project__meta{display:grid;grid-template-columns:25px 1fr;column-gap:8px;row-gap:3px;min-width:0;align-items:center}
.hero-project__num{grid-row:1/3;align-self:start;padding-top:2px;font-size:8px;color:var(--muted);letter-spacing:.13em}
.hero-project__label{font-size:11px;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hero-project__meta small{font-size:8px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hero-project.is-active .hero-project__num{color:var(--red)}
.hero-project.is-active .hero-project__meta small{color:var(--muted-dark)}
.hero-project__control{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:rgba(236,230,220,.09)}
.hero-project__control .ui-icon{width:15px;height:15px}
.hero-project.is-active .hero-project__control{background:var(--ink);color:var(--text)}
.home-hero__counter{color:var(--text-soft)}
.home-hero__counter i{background:rgba(236,230,220,.34)}

/* Section rhythm */
.section-head{gap:clamp(36px,7vw,108px)}
.section-head--dark p{color:var(--muted)}
.projects-showcase{background:var(--ink);padding-top:clamp(100px,10vw,160px)}
.project-tile{background:var(--ink-elevated);border-radius:28px}
.project-tile__shade{background:linear-gradient(0deg,rgba(17,14,12,.72),transparent 48%)}
.project-tile__meta .cta-icon{background:rgba(236,230,220,.14)}

/* Light editorial block: warm stone, not white. */
.duo-philosophy{background:var(--paper);color:var(--ink);border-radius:38px;padding-bottom:clamp(46px,5vw,72px);box-shadow:0 18px 55px rgba(11,9,8,.09)}
.duo-philosophy__media{border-radius:28px}
.duo-philosophy__copy p{color:var(--muted-dark)}
.duo-philosophy__principles{
  grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px;border:0;margin-top:10px
}
.duo-philosophy__principles article{
  flex:1 1 250px;min-width:0;display:flex;gap:14px;align-items:flex-start;padding:16px 18px;
  border:0;border-radius:18px;background:rgba(37,31,26,.055)
}
.duo-philosophy__principles article:nth-child(n){border:0}
.principle-icon{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;border-radius:50%;background:var(--paper-2);color:var(--ink)}
.principle-icon .ui-icon{width:18px;height:18px}
.duo-philosophy__principles strong{display:block;font-size:11px;line-height:1.35;letter-spacing:.035em;text-transform:uppercase;font-weight:650}
.duo-philosophy__principles p{margin:6px 0 0;font-size:12px;line-height:1.5;color:var(--muted-dark)}

/* Dark sections use warm charcoal; no pure black and no divider-table feel. */
.services-reference,.estimator-reference,.inner-hero--dark,.about-reference__quote,.contact-reference__copy,.contact-reference__data,.process-page-reference,.project-index-card__copy,.services-page-reference,.project-siblings a,.error-page,.site-footer{
  background:var(--ink-soft);border-color:rgba(236,230,220,.08)
}
.services-reference{border:0;box-shadow:0 18px 55px rgba(10,8,7,.10)}
.services-reference__body{gap:clamp(38px,6vw,92px)}
.services-reference__list{display:flex;flex-direction:column;gap:8px}
.services-reference__list a{
  grid-template-columns:34px 1fr 38px;gap:12px;padding:14px 15px;border:0!important;border-radius:15px;
  background:rgba(236,230,220,.035);transition:background .22s var(--ease),transform .22s var(--ease),color .22s var(--ease)
}
.services-reference__list a:hover{padding-left:15px;transform:translateX(4px);background:rgba(236,230,220,.075);color:var(--text)}
.services-reference__list span{color:#958b7e}
.services-reference__list strong{font-size:15px;font-weight:450}
.service-open{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(236,230,220,.08);color:var(--text)!important}
.service-open .ui-icon{width:16px;height:16px}
.services-reference__media{border-radius:28px}

/* Process is a narrative sequence, not a 4-cell spreadsheet. */
.process-reference{background:var(--paper);color:var(--ink);border-radius:38px}
.process-reference__steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 52px;border:0}
.process-reference__steps article{position:relative;min-height:0;padding:20px 0 22px 58px!important;border:0!important}
.process-reference__steps article:before{content:"";position:absolute;left:0;top:20px;width:38px;height:38px;border-radius:50%;background:var(--paper-2);box-shadow:inset 0 0 0 1px rgba(37,31,26,.08)}
.process-reference__steps span{position:absolute;left:10px;top:31px;z-index:1;width:18px;text-align:center;font-size:8px;color:var(--muted-dark)}
.process-reference__steps h3{margin:0 0 8px;font-size:19px}.process-reference__steps p{font-size:13px}

/* Estimator and form controls: soft surfaces instead of white boxes. */
.estimator-reference{border:0;box-shadow:0 18px 55px rgba(10,8,7,.10)}
.estimator-reference__intro p{color:var(--muted)}
.estimator-reference__panel{background:var(--paper);border-radius:28px;box-shadow:0 20px 48px rgba(9,7,6,.12)}
.estimator-options label>span,.estimator-services label>span{border-color:rgba(37,31,26,.13);background:rgba(255,255,255,.12);border-radius:16px}
.estimator-options input:checked+span,.estimator-services input:checked+span{background:var(--paper-2);border-color:var(--red);box-shadow:0 9px 24px rgba(58,44,33,.08)}
.estimate-output{background:var(--paper-2);border-radius:18px}
.estimator-actions button,.estimator-brief,.project-cta-reference__copy button,.contact-reference__copy button,.process-page-cta button,.project-story__cta button,.services-bottom-statement button,.legal-action,.brief-success button,.brief-actions button,.cookie-save{
  border-radius:999px
}
.estimator-actions button:last-child,.estimator-brief,.services-bottom-statement button,.legal-action,.brief-success button,.brief-next,.brief-submit,.cookie-save{background:var(--ink-soft);color:var(--text)}
.estimator-actions .cta-icon,.estimator-brief .cta-icon,.project-cta-reference button .cta-icon,.process-page-cta button .cta-icon,.contact-reference__copy button .cta-icon,.project-story__cta button .cta-icon{
  width:18px;height:18px
}

/* Cinematic CTA */
.project-cta-reference{border-radius:38px}
.project-cta-reference__veil{background:linear-gradient(90deg,rgba(19,16,14,.78),rgba(19,16,14,.18) 67%,rgba(19,16,14,.05))}
.project-cta-reference__copy p{color:var(--text-soft)}

/* Inner pages */
.inner-hero{border-radius:38px}.inner-hero--light{background:var(--paper);color:var(--ink);box-shadow:0 18px 55px rgba(11,9,8,.08)}
.about-reference__large,.about-reference__small,.contact-reference__media,.project-index-card__media,.project-story__hero{border-radius:32px}
.about-reference__quote{border:0;border-radius:32px}
.about-values{display:flex;flex-wrap:wrap;gap:12px;background:var(--paper);border-radius:36px;padding:34px}
.about-values article{flex:1 1 260px;border:0!important;padding:24px;border-radius:18px;background:rgba(37,31,26,.05)}
.contact-reference__copy,.contact-reference__data{border:0;border-radius:32px}
.contact-reference__copy p,.process-page-reference p,.project-index-card__copy p,.project-story__head p,.project-story__note p{color:var(--muted)}
.contact-reference__data div{border:0;padding:14px 0}.contact-reference__data div+div{margin-top:6px;padding-top:20px;border-top:1px solid var(--line)}
.process-page-reference{border:0;border-radius:36px}.process-page-reference article{border:0;margin:0 0 10px;padding:22px 24px;border-radius:18px;background:rgba(236,230,220,.035)}.process-page-reference article:last-child{margin-bottom:0}
.process-page-cta{background:var(--paper);border-radius:36px}
.project-index-card__copy{border:0;border-radius:32px}
.services-page-reference{border:0;border-radius:36px}
.services-page-reference__list{display:flex;flex-direction:column;gap:9px}
.services-page-reference__list article{grid-template-columns:40px 1fr 44px;border:0!important;padding:17px 18px;border-radius:17px;background:rgba(236,230,220,.035)}
.services-page-reference__list article:hover{background:rgba(236,230,220,.07)}
.services-page-reference__list button{background:rgba(236,230,220,.08)}
.services-page-reference__list .cta-icon{width:18px;height:18px}
.services-page-reference__media{border-radius:28px}
.services-bottom-statement{background:var(--paper);border-radius:36px}
.project-story__frame{border-radius:26px}.project-story__note{border-left:0;padding:24px 26px;border-radius:20px;background:rgba(236,230,220,.045)}
.project-siblings{gap:12px}.project-siblings a{border:0;border-radius:22px;transition:background .22s,transform .22s}.project-siblings a:hover{background:var(--ink-elevated);transform:translateY(-2px)}
.project-story__cta{background:var(--paper);border-radius:36px}
.gallery-viewer{background:#171411;border-color:rgba(236,230,220,.09)}
.legal-page{background:var(--paper);border-radius:36px}.error-page{border:0;border-radius:36px}.error-code{color:#37312b}

/* Footer / dialogs */
.site-footer{border:0;border-radius:36px}.site-footer__links a,.site-footer__links button{color:var(--text-soft)}
.brief{background:var(--paper);border-radius:28px}.choice-grid span{border-color:rgba(37,31,26,.14);border-radius:16px;background:rgba(255,255,255,.12)}.choice-grid input:checked+span{background:var(--paper-2)}
.upload-zone{border-color:rgba(37,31,26,.28);border-radius:18px;background:rgba(255,255,255,.10)}
.cookie-banner{background:#e8e1d6;color:var(--ink);border-color:rgba(37,31,26,.09);box-shadow:0 18px 52px rgba(12,9,7,.18)}
.cookie-actions button{border-color:rgba(37,31,26,.20);background:rgba(255,255,255,.15)}
.cookie-actions .cookie-primary{background:var(--ink-soft);border-color:var(--ink-soft);color:var(--text)}
.cookie-panel{background:var(--paper)}

@media (max-width:1180px){
  .home-hero__content{grid-template-columns:minmax(0,1fr) 330px}
  .hero-project{grid-template-columns:72px minmax(0,1fr) 30px}.hero-project__thumb{width:72px;height:52px}
}
@media (max-width:900px){
  .home-hero{border-radius:26px}.home-hero__copy h1{font-size:clamp(50px,11vw,74px)}
  .home-hero__copy h1 .hero-accent{color:var(--text)}
  .duo-philosophy__principles{display:grid;grid-template-columns:1fr 1fr}.duo-philosophy__principles article{min-width:0}
  .process-reference__steps{grid-template-columns:1fr 1fr;gap:8px 30px}
  .about-values{display:grid;grid-template-columns:1fr 1fr}
}
@media (max-width:620px){
  .editorial-link{min-height:42px;padding-left:14px}.editorial-link .cta-icon{width:29px;height:29px}
  .home-hero{border-radius:22px}.home-hero__copy h1{font-size:clamp(43px,12vw,62px);line-height:.92}
  .duo-philosophy,.process-reference,.services-reference,.estimator-reference,.inner-hero,.process-page-reference,.services-page-reference,.services-bottom-statement,.legal-page{border-radius:24px}
  .duo-philosophy__principles,.process-reference__steps,.about-values{grid-template-columns:1fr}
  .duo-philosophy__principles article{padding:14px}.principle-icon{width:36px;height:36px;flex-basis:36px}
  .process-reference__steps article{padding-left:54px!important}
  .services-reference__list a{grid-template-columns:28px 1fr 34px}
  .project-index-card__copy,.contact-reference__copy,.contact-reference__data,.about-reference__quote,.project-story__cta{border-radius:22px}
}

/* =========================================================
   DUO CALCULATOR 2.4 — complete rebuild
   Functional controls only; warm editorial surfaces; no SaaS dashboard look.
   ========================================================= */
.duo-calculator{
  max-width:calc(var(--content) - 2*var(--gutter));
  margin:18px auto;
  display:grid;
  grid-template-columns:minmax(330px,.74fr) minmax(0,1.26fr);
  gap:14px;
  align-items:stretch;
}
.duo-calculator__visual{
  position:relative;
  min-height:760px;
  overflow:hidden;
  border-radius:34px;
  background:#28221d;
  isolation:isolate;
}
.duo-calculator__media,.duo-calculator__veil{position:absolute;inset:0}
.duo-calculator__media img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.82) contrast(.96) brightness(.88);transform:scale(1.012)}
.duo-calculator__veil{z-index:1;background:linear-gradient(180deg,rgba(28,23,19,.08) 5%,rgba(28,23,19,.24) 48%,rgba(28,23,19,.86) 100%),linear-gradient(90deg,rgba(28,23,19,.18),transparent 65%)}
.duo-calculator__intro{position:absolute;z-index:2;left:clamp(26px,3.3vw,54px);right:clamp(26px,3.3vw,54px);bottom:clamp(30px,4vw,62px)}
.duo-calculator__intro .eyebrow{color:#d8d0c4}
.duo-calculator__intro .eyebrow:after{content:"";display:block;width:34px;height:2px;margin-top:14px;border-radius:99px;background:var(--red)}
.duo-calculator__intro h2{max-width:620px;margin:24px 0 20px;font-size:clamp(40px,3.5vw,62px);font-weight:300;line-height:.96;letter-spacing:-.052em;text-wrap:balance}
.duo-calculator__intro p{max-width:470px;margin:0;color:#d0c7bb;font-size:14px;line-height:1.65}
.duo-calculator__marker{display:flex;align-items:center;gap:12px;margin-top:34px;color:#c8beb1;font-size:9px;letter-spacing:.14em}
.duo-calculator__marker i{width:72px;height:1px;background:rgba(236,230,220,.34)}

.calculator-shell{
  min-width:0;
  min-height:760px;
  display:flex;
  flex-direction:column;
  padding:clamp(24px,2.7vw,44px);
  background:#e7dfd3;
  color:#241f1a;
  border:1px solid rgba(53,44,36,.08);
  border-radius:34px;
  box-shadow:0 28px 70px rgba(19,15,12,.12);
}
.calculator-shell__head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.calculator-shell__head>div>span{display:block;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#7f756a}
.calculator-shell__head>div>strong{display:block;margin-top:5px;font-size:15px;font-weight:520;color:#2a241f}
.calculator-reset{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;background:transparent;color:#766d64;border-radius:10px;cursor:pointer;font-size:9px;letter-spacing:.08em;text-transform:uppercase;transition:background .2s,color .2s}
.calculator-reset:hover{background:rgba(45,37,31,.06);color:#2a241f}
.calculator-reset .ui-icon{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}

.calculator-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:30px}
.calculator-step-nav{position:relative;display:block;padding:0 0 13px;background:transparent;color:#91877c;text-align:left;cursor:pointer;transition:color .2s}
.calculator-step-nav:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(57,47,39,.14);transition:background .2s,transform .25s var(--ease)}
.calculator-step-nav span{display:block;font-size:8px;letter-spacing:.13em}
.calculator-step-nav strong{display:block;margin-top:5px;font-size:10px;font-weight:520;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.calculator-step-nav.is-active{color:#2a241f}
.calculator-step-nav.is-active:after{height:2px;background:var(--red)}
.calculator-step-nav.is-complete{color:#5e564d}
.calculator-step-nav.is-complete:before{content:"";position:absolute;right:0;top:3px;width:5px;height:5px;border-radius:50%;background:#70675e}
.calculator-step-nav:disabled{cursor:default;color:#aaa096}
.calculator-progress{height:2px;margin-top:9px;overflow:hidden;border-radius:99px;background:rgba(57,47,39,.08)}
.calculator-progress span{display:block;width:20%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#b8221a,var(--red));transition:width .36s var(--ease)}

.calculator-shell__body{flex:1;min-height:470px;padding:clamp(30px,3.6vw,54px) 0 26px}
.calculator-step[hidden]{display:none!important}
.calculator-step{outline:0}
.calculator-step.is-active{animation:calculatorStepIn .34s var(--ease)}
@keyframes calculatorStepIn{from{opacity:.01;transform:translateY(8px)}to{opacity:1;transform:none}}
.calculator-step__head{display:grid;grid-template-columns:42px 1fr;gap:18px;align-items:start;margin-bottom:28px}
.calculator-step__head>span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#d8cfc2;color:#6e6359;font-size:9px;letter-spacing:.08em}
.calculator-step__head p{margin:0 0 8px;font-size:9px;font-weight:650;letter-spacing:.15em;text-transform:uppercase;color:#7f756a}
.calculator-step__head h3{max-width:680px;margin:0;font-size:clamp(27px,2.25vw,38px);font-weight:350;line-height:1.02;letter-spacing:-.035em;text-wrap:balance}

.calculator-space-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.calculator-choice{grid-column:span 2;cursor:pointer}
.calculator-choice:nth-child(4),.calculator-choice:nth-child(5){grid-column:span 3}
.calculator-choice input,.calculator-stage input,.calculator-service input{position:absolute;opacity:0;pointer-events:none}
.calculator-choice__surface{position:relative;min-height:112px;display:flex;flex-direction:column;justify-content:space-between;gap:18px;padding:17px;border:1px solid rgba(54,45,38,.12);border-radius:18px;background:rgba(245,239,230,.42);transition:transform .22s var(--ease),background .22s,border-color .22s,box-shadow .22s}
.calculator-choice:hover .calculator-choice__surface{transform:translateY(-2px);border-color:rgba(54,45,38,.24);background:rgba(245,239,230,.7)}
.calculator-choice input:checked+.calculator-choice__surface{border-color:rgba(201,39,31,.58);background:#efe7dc;box-shadow:0 14px 30px rgba(54,45,38,.07)}
.calculator-choice__icon{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#d8cec1;color:#443b33}
.calculator-choice__icon .ui-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.calculator-choice strong{font-size:13px;font-weight:560;line-height:1.25}
.calculator-choice__check{position:absolute;top:15px;right:15px;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#cfc5b8;color:transparent;transition:background .2s,color .2s}
.calculator-choice__check .ui-icon{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.calculator-choice input:checked+.calculator-choice__surface .calculator-choice__check{background:var(--red);color:#f3ece2}

.surface-editor{padding:26px 28px 24px;border-radius:22px;background:#ddd4c7}
.surface-editor__value{display:flex;align-items:baseline;gap:10px}
.surface-editor__value input{width:min(280px,70%);padding:0;border:0;background:transparent;color:#241f1a;outline:0;font-size:clamp(58px,6vw,86px);font-weight:280;line-height:1;letter-spacing:-.055em;-moz-appearance:textfield}
.surface-editor__value input::-webkit-outer-spin-button,.surface-editor__value input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.surface-editor__value span{font-size:21px;color:#756b61}
.surface-editor__range{width:100%;height:28px;margin:22px 0 10px;background:transparent;appearance:none;cursor:pointer}
.surface-editor__range::-webkit-slider-runnable-track{height:3px;border-radius:99px;background:linear-gradient(90deg,#6c6258,#bdb2a5)}
.surface-editor__range::-webkit-slider-thumb{width:22px;height:22px;margin-top:-9px;border:5px solid #e9e1d6;border-radius:50%;background:#3a312a;box-shadow:0 2px 8px rgba(36,31,26,.18);appearance:none}
.surface-editor__range::-moz-range-track{height:3px;border-radius:99px;background:#a99f94}
.surface-editor__range::-moz-range-thumb{width:13px;height:13px;border:5px solid #e9e1d6;border-radius:50%;background:#3a312a;box-shadow:0 2px 8px rgba(36,31,26,.18)}
.surface-presets{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.surface-presets button{padding:8px 12px;border:1px solid rgba(54,45,38,.13);border-radius:999px;background:rgba(246,240,232,.42);color:#665d54;cursor:pointer;font-size:10px;transition:background .2s,border-color .2s,color .2s}
.surface-presets button:hover,.surface-presets button.is-active{background:#2b2520;border-color:#2b2520;color:#eee7dc}
.calculator-help{max-width:680px;margin:14px 0 0;color:#7a7066;font-size:11px;line-height:1.55}

.calculator-stage-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.calculator-stage{cursor:pointer}
.calculator-stage>span{min-height:108px;display:grid;grid-template-columns:32px 1fr;gap:14px;padding:18px;border:1px solid rgba(54,45,38,.12);border-radius:18px;background:rgba(245,239,230,.38);transition:transform .22s var(--ease),background .22s,border-color .22s}
.calculator-stage:hover>span{transform:translateY(-1px);border-color:rgba(54,45,38,.24)}
.calculator-stage i{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#d1c7ba;color:transparent;font-style:normal;transition:background .2s,color .2s}
.calculator-stage i .ui-icon{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.calculator-stage strong{display:block;font-size:13px;font-weight:560}
.calculator-stage small{display:block;margin-top:7px;color:#786f66;font-size:11px;line-height:1.45}
.calculator-stage input:checked+span{border-color:rgba(201,39,31,.58);background:#eee6da}
.calculator-stage input:checked+span i{background:var(--red);color:#f3ece2}

.calculator-services{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.calculator-service{cursor:pointer}
.calculator-service>span{min-height:102px;display:grid;grid-template-columns:30px 1fr;gap:14px;padding:17px 18px;border:1px solid rgba(54,45,38,.12);border-radius:18px;background:rgba(245,239,230,.38);transition:transform .22s var(--ease),background .22s,border-color .22s}
.calculator-service:hover>span{transform:translateY(-1px);border-color:rgba(54,45,38,.24)}
.calculator-service__check{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#d1c7ba;color:transparent;transition:background .2s,color .2s}
.calculator-service__check .ui-icon{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.calculator-service strong{display:block;font-size:13px;font-weight:560}
.calculator-service small{display:block;margin-top:6px;color:#786f66;font-size:11px;line-height:1.42}
.calculator-service input:checked+span{border-color:rgba(201,39,31,.58);background:#eee6da}
.calculator-service input:checked+span .calculator-service__check{background:var(--red);color:#f3ece2}

.calculator-result__facts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.calculator-result__facts>div{min-height:88px;padding:16px 18px;border-radius:17px;background:#ddd4c7}
.calculator-result__facts>div>span{display:block;font-size:8px;letter-spacing:.13em;text-transform:uppercase;color:#7f756a}
.calculator-result__facts>div>strong{display:block;margin-top:8px;font-size:14px;font-weight:550;line-height:1.4}
.calculator-result__facts .calculator-result__services{grid-column:1/-1;min-height:auto}
.calculator-estimate{display:grid;grid-template-columns:minmax(220px,.82fr) 1.18fr;gap:24px;align-items:end;margin-top:12px;padding:22px;border-radius:20px;background:#2b2520;color:#eee7dc}
.calculator-estimate>div>span{display:block;font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:#bdb2a5}
.calculator-estimate strong{display:block;margin-top:9px;font-size:clamp(18px,1.7vw,25px);font-weight:430;line-height:1.25}
.calculator-estimate p{margin:0;color:#bbb1a5;font-size:11px;line-height:1.55}
.calculator-estimate.is-priced{background:#332b25}
.calculator-estimate.is-priced strong{color:#f2ebe1}
.calculator-result__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.calculator-primary,.calculator-edit{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 18px;border-radius:999px;cursor:pointer;font-size:9px;font-weight:650;letter-spacing:.1em;text-transform:uppercase}
.calculator-primary{background:#2b2520;color:#eee7dc}
.calculator-primary:hover{background:#3a312a}
.calculator-edit{background:transparent;color:#5f564e;border:1px solid rgba(54,45,38,.18)}
.calculator-primary svg,.calculator-edit svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}

.calculator-error{margin:0 0 14px;padding:11px 13px;border-radius:12px;background:#f0d8d3;color:#8d231e;font-size:11px;line-height:1.4}
.calculator-shell__actions{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding-top:19px;border-top:1px solid rgba(54,45,38,.13)}
.calculator-back,.calculator-next{min-height:44px;display:inline-flex;align-items:center;gap:8px;padding:0 16px;border-radius:999px;cursor:pointer;font-size:9px;font-weight:650;letter-spacing:.09em;text-transform:uppercase}
.calculator-back{background:transparent;border:1px solid rgba(54,45,38,.18);color:#62594f}
.calculator-next{background:#2b2520;color:#eee7dc}
.calculator-back:hover{background:rgba(54,45,38,.05)}
.calculator-next:hover{background:#3a312a}
.calculator-back .ui-icon,.calculator-next .ui-icon{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.calculator-live{min-width:0;margin:0;text-align:center;color:#7b7167;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.calculator-step.has-error{animation:calculatorNudge .34s var(--ease)}
@keyframes calculatorNudge{35%{transform:translateX(-4px)}70%{transform:translateX(3px)}100%{transform:none}}

@media (max-width:1180px){
  .duo-calculator{max-width:none;margin-left:10px;margin-right:10px;grid-template-columns:.72fr 1.28fr}
  .duo-calculator__visual{min-height:720px}
  .calculator-shell{min-height:720px}
  .calculator-steps{gap:10px}
  .calculator-step-nav strong{font-size:9px}
}
@media (max-width:980px){
  .duo-calculator{grid-template-columns:1fr}
  .duo-calculator__visual{min-height:520px}
  .duo-calculator__media img{object-position:center 54%}
  .calculator-shell{min-height:0}
  .calculator-shell__body{min-height:430px}
}
@media (max-width:700px){
  .duo-calculator{margin:10px 8px;gap:8px}
  .duo-calculator__visual,.calculator-shell{border-radius:22px}
  .duo-calculator__visual{min-height:440px}
  .duo-calculator__intro{left:22px;right:22px;bottom:28px}
  .duo-calculator__intro h2{font-size:38px;max-width:520px}
  .duo-calculator__intro p{font-size:13px}
  .calculator-shell{padding:22px 18px}
  .calculator-shell__head>div>strong{font-size:13px}
  .calculator-reset span{display:none}
  .calculator-steps{gap:5px;margin-top:24px}
  .calculator-step-nav{padding-bottom:10px;text-align:center}
  .calculator-step-nav strong{display:none}
  .calculator-step-nav span{font-size:8px}
  .calculator-step-nav.is-complete:before{right:3px;top:1px}
  .calculator-shell__body{min-height:0;padding:32px 0 22px}
  .calculator-step__head{grid-template-columns:34px 1fr;gap:13px;margin-bottom:22px}
  .calculator-step__head>span{width:30px;height:30px}
  .calculator-step__head h3{font-size:28px}
  .calculator-space-grid{grid-template-columns:1fr 1fr}
  .calculator-choice,.calculator-choice:nth-child(4),.calculator-choice:nth-child(5){grid-column:auto}
  .calculator-choice:last-child{grid-column:1/-1}
  .calculator-choice__surface{min-height:102px;padding:14px;border-radius:16px}
  .surface-editor{padding:22px 18px;border-radius:18px}
  .surface-editor__value input{font-size:64px}
  .calculator-stage-list,.calculator-services,.calculator-result__facts{grid-template-columns:1fr}
  .calculator-stage>span,.calculator-service>span{min-height:0;border-radius:16px}
  .calculator-result__facts .calculator-result__services{grid-column:auto}
  .calculator-estimate{grid-template-columns:1fr;gap:12px;border-radius:17px}
  .calculator-result__actions{display:grid;grid-template-columns:1fr}
  .calculator-primary,.calculator-edit{width:100%}
  .calculator-shell__actions{grid-template-columns:auto 1fr}
  .calculator-live{grid-column:1/-1;grid-row:1;text-align:left;white-space:normal}
  .calculator-back{grid-column:1;grid-row:2}
  .calculator-next{grid-column:2;grid-row:2;justify-self:end}
}
@media (max-width:430px){
  .duo-calculator__visual{min-height:400px}
  .duo-calculator__intro h2{font-size:34px}
  .duo-calculator__marker{margin-top:24px}
  .calculator-space-grid{grid-template-columns:1fr}
  .calculator-choice:last-child{grid-column:auto}
  .calculator-choice__surface{min-height:88px}
  .surface-presets{display:grid;grid-template-columns:1fr 1fr}
  .surface-presets button{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .calculator-step.is-active{animation:none}
  .calculator-choice__surface,.calculator-stage>span,.calculator-service>span,.calculator-progress span{transition:none}
}
.calculator-back[hidden],.calculator-next[hidden]{display:none!important}
.duo-calculator{scroll-margin-top:96px}
.calculator-choice input:focus-visible+.calculator-choice__surface,.calculator-stage input:focus-visible+span,.calculator-service input:focus-visible+span{outline:2px solid var(--red);outline-offset:3px}

/* 2.4.1 — calculator navigation/action refinement */
.calculator-steps{
  gap:8px;
  margin-top:26px;
}
.calculator-step-nav{
  position:relative;
  min-width:0;
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border:1px solid transparent;
  border-radius:14px;
  background:transparent;
  color:#8c8176;
  text-align:left;
  cursor:pointer;
  transition:background .22s var(--ease),border-color .22s var(--ease),color .22s var(--ease),transform .22s var(--ease);
}
.calculator-step-nav:before,.calculator-step-nav:after{display:none!important;content:none!important}
.calculator-step-nav span{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border:1px solid rgba(54,45,38,.15);
  border-radius:50%;
  background:rgba(248,243,236,.34);
  color:#83786e;
  font-size:8px;
  letter-spacing:.08em;
  transition:background .22s,border-color .22s,color .22s,transform .22s;
}
.calculator-step-nav strong{
  display:block;
  margin:0;
  min-width:0;
  font-size:9px;
  font-weight:560;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.calculator-step-nav.is-active{
  border-color:rgba(54,45,38,.08);
  background:rgba(248,243,236,.54);
  color:#29231e;
  box-shadow:0 8px 24px rgba(54,45,38,.035);
}
.calculator-step-nav.is-active span{
  border-color:#b52c24;
  background:#b52c24;
  color:#f7f1e8;
}
.calculator-step-nav.is-complete{color:#5f564e}
.calculator-step-nav.is-complete span{
  border-color:#665d54;
  background:#665d54;
  color:#f4ede4;
}
.calculator-step-nav:disabled{
  opacity:.62;
  cursor:default;
}
.calculator-progress{
  height:2px;
  margin:11px 10px 0;
  overflow:hidden;
  border-radius:99px;
  background:rgba(57,47,39,.075);
}
.calculator-progress span{
  display:block;
  width:20%;
  height:100%;
  border-radius:inherit;
  background:#b52c24;
  transition:width .36s var(--ease);
}
.calculator-step__head{
  grid-template-columns:1fr;
  gap:0;
  margin-bottom:26px;
}
.calculator-step__head>span{display:none}
.calculator-step__head p{margin-bottom:9px;color:#8b7f74}
.calculator-step__head h3{font-weight:360}

.calculator-choice__surface{
  border-color:rgba(54,45,38,.105);
  background:rgba(248,243,236,.34);
  box-shadow:0 1px 0 rgba(255,255,255,.22) inset;
}
.calculator-choice:hover .calculator-choice__surface{
  transform:translateY(-1px);
  border-color:rgba(54,45,38,.20);
  background:rgba(248,243,236,.58);
  box-shadow:0 10px 24px rgba(54,45,38,.035);
}
.calculator-choice input:checked+.calculator-choice__surface{
  border-color:rgba(181,44,36,.42);
  background:#eee5d8;
  box-shadow:0 12px 30px rgba(54,45,38,.055),0 0 0 1px rgba(181,44,36,.035) inset;
}
.calculator-choice__check{
  top:16px;
  right:16px;
  width:20px;
  height:20px;
  border:1px solid rgba(54,45,38,.19);
  background:transparent;
}
.calculator-choice__check .ui-icon{width:11px;height:11px}
.calculator-choice input:checked+.calculator-choice__surface .calculator-choice__check{
  border-color:#b52c24;
  background:#b52c24;
  color:#f7f1e8;
}
.calculator-choice__icon{background:#d9cfc2}

.calculator-shell__actions{
  grid-template-columns:minmax(0,1fr) auto auto;
  grid-template-areas:"live back next";
  align-items:center;
  gap:10px;
  padding-top:18px;
  border-top:1px solid rgba(54,45,38,.11);
}
.calculator-live{
  grid-area:live;
  min-width:0;
  max-width:480px;
  margin:0;
  color:#7c7166;
  font-size:10px;
  line-height:1.45;
  text-align:left;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.calculator-back,.calculator-next{
  width:auto!important;
  max-width:none!important;
  min-height:46px;
  border-radius:14px;
  font-size:9px;
  font-weight:650;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.calculator-back{
  grid-area:back;
  min-width:112px;
  justify-content:center;
  padding:0 14px;
  border:1px solid rgba(54,45,38,.15);
  background:rgba(248,243,236,.26);
  color:#665c53;
}
.calculator-next{
  grid-area:next;
  min-width:164px;
  justify-content:space-between;
  padding:0 10px 0 18px;
  border:1px solid rgba(37,31,26,.10);
  background:#3a332d;
  color:#f3ece2;
  box-shadow:0 8px 20px rgba(37,31,26,.10);
}
.calculator-back:hover{background:rgba(248,243,236,.60);border-color:rgba(54,45,38,.24)}
.calculator-next:hover{background:#463d35;transform:translateY(-1px)}
.calculator-next .ui-icon{
  width:28px;
  height:28px;
  padding:6px;
  box-sizing:border-box;
  border-radius:50%;
  background:rgba(255,255,255,.09);
}
.calculator-back .ui-icon{width:14px;height:14px}
.calculator-back[hidden],.calculator-next[hidden]{display:none!important}

@media (max-width:700px){
  .calculator-steps{gap:5px;margin-top:22px}
  .calculator-step-nav{
    grid-template-columns:1fr;
    justify-items:center;
    gap:0;
    padding:5px 2px;
    border-radius:12px;
  }
  .calculator-step-nav strong{display:none}
  .calculator-step-nav span{width:30px;height:30px;font-size:8px}
  .calculator-progress{margin:8px 4px 0}
  .calculator-step__head{margin-bottom:22px}
  .calculator-shell__actions{
    grid-template-columns:1fr auto;
    grid-template-areas:"live live" "back next";
    gap:10px;
  }
  .calculator-live{white-space:normal;max-width:none}
  .calculator-back{min-width:104px;justify-self:start}
  .calculator-next{min-width:142px;justify-self:end}
}
@media (max-width:430px){
  .calculator-step-nav span{width:28px;height:28px}
  .calculator-next{min-width:136px}
}

/* =========================================================
   DUO FOOTER 2.4.3 — premium editorial closing scene
   ========================================================= */
.site-footer--v243{
  position:relative;
  max-width:calc(var(--content) - 2*var(--gutter));
  margin:22px auto 18px;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.075);
  border-radius:34px;
  background:#211d19;
  color:#eee8de;
}
.site-footer--v243:before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:118px;
  height:2px;
  background:var(--red);
}
.footer-project{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(310px,.65fr);
  gap:clamp(54px,7vw,120px);
  align-items:end;
  padding:clamp(58px,6.3vw,94px) clamp(42px,5.4vw,84px) clamp(52px,5.6vw,82px);
  background:#27221d;
  border-bottom:1px solid rgba(255,255,255,.09);
}
.footer-kicker{
  display:flex;
  align-items:center;
  gap:11px;
  margin-bottom:22px;
  font-size:9px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#bfb5a7;
}
.footer-kicker i{width:22px;height:2px;border-radius:2px;background:var(--red)}
.footer-project h2{
  max-width:880px;
  margin:0;
  font-size:clamp(52px,5.15vw,84px);
  font-weight:300;
  line-height:.91;
  letter-spacing:-.058em;
  text-transform:uppercase;
  text-wrap:balance;
}
.footer-project h2 em{font-style:normal;color:#bcae9e}
.footer-project__action{max-width:390px;justify-self:end}
.footer-project__action p{margin:0 0 28px;color:#bcb3a7;font-size:14px;line-height:1.65}
.footer-project__button{
  width:100%;
  min-height:64px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:8px 9px 8px 23px;
  border:1px solid rgba(255,255,255,.17);
  border-radius:999px;
  background:#eee8de;
  color:#1b1815;
  cursor:pointer;
  font-size:10px;
  font-weight:750;
  letter-spacing:.13em;
  text-transform:uppercase;
  transition:transform .28s var(--ease),background .28s var(--ease),border-color .28s var(--ease);
}
.footer-project__button:hover{transform:translateY(-2px);background:#f5efe5;border-color:#f5efe5}
.footer-project__button-icon{
  flex:0 0 46px;
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#1d1916;
  color:#eee8de;
}
.footer-project__button-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;transition:transform .28s var(--ease)}
.footer-project__button:hover .footer-project__button-icon svg{transform:translateX(2px)}
.footer-body{
  display:grid;
  grid-template-columns:minmax(250px,.9fr) minmax(330px,1.18fr) minmax(300px,.82fr);
  gap:clamp(42px,5vw,92px);
  padding:clamp(46px,5vw,76px) clamp(42px,5.4vw,84px);
}
.footer-brand-block img{width:92px;height:auto;margin-bottom:34px}
.footer-brand-block p{max-width:315px;margin:0;color:#9f968a;font-size:13px;line-height:1.7}
.footer-contact-list{display:flex;flex-direction:column;gap:7px}
.footer-contact{
  min-width:0;
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  align-items:center;
  gap:14px;
  padding:11px 14px 11px 10px;
  border-radius:15px;
  color:#e9e2d8;
  transition:background .25s var(--ease),transform .25s var(--ease);
}
.footer-contact:hover{background:rgba(255,255,255,.055);transform:translateX(3px)}
.footer-contact__icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.12);
  color:#cfc4b6;
}
.footer-contact__icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.footer-contact small,.footer-navigation__group>span{
  display:block;
  margin-bottom:3px;
  color:#766f67;
  font-size:8px;
  font-weight:700;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.footer-contact strong{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:13px;font-weight:500;letter-spacing:-.01em;white-space:nowrap}
.footer-navigation{display:grid;grid-template-columns:1fr 1fr;gap:36px}
.footer-navigation__group{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.footer-navigation__group>span{margin-bottom:8px}
.footer-navigation__group a,.footer-navigation__group button{
  position:relative;
  padding:2px 0;
  background:none;
  color:#cfc6ba;
  font-size:12px;
  cursor:pointer;
  transition:color .2s var(--ease),transform .2s var(--ease);
}
.footer-navigation__group a:after,.footer-navigation__group button:after{
  content:"";
  position:absolute;
  left:0;
  bottom:-1px;
  width:0;
  height:1px;
  background:#cfc6ba;
  transition:width .25s var(--ease);
}
.footer-navigation__group a:hover,.footer-navigation__group button:hover{color:#f2ece3;transform:translateX(2px)}
.footer-navigation__group a:hover:after,.footer-navigation__group button:hover:after{width:100%}
.footer-bottom{
  display:grid;
  grid-template-columns:1fr auto auto;
  align-items:center;
  gap:26px;
  padding:22px clamp(42px,5.4vw,84px) 26px;
  border-top:1px solid rgba(255,255,255,.075);
  color:#7f776e;
  font-size:9px;
  letter-spacing:.04em;
}
.footer-bottom__languages{display:flex;align-items:center;gap:7px}
.footer-bottom__languages a{color:#7f776e;transition:color .2s}.footer-bottom__languages a.is-active,.footer-bottom__languages a:hover{color:#eee8de}
.footer-developer{display:flex;align-items:center;gap:6px;color:#7f776e;font-weight:500}
.footer-developer span{font-size:8px;text-transform:uppercase;letter-spacing:.1em}.footer-developer strong{color:#6f92ff;font-size:10px;font-weight:750;letter-spacing:.01em}

@media (max-width:1080px){
  .footer-project{grid-template-columns:1fr;align-items:start}.footer-project__action{justify-self:start;max-width:480px}.footer-body{grid-template-columns:1fr 1fr}.footer-navigation{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.075);padding-top:34px}
}
@media (max-width:620px){
  .site-footer--v243{margin:12px 8px 8px;border-radius:24px}
  .footer-project{padding:42px 22px 34px;gap:34px}.footer-project h2{font-size:clamp(39px,11.6vw,55px);line-height:.94}.footer-project__action p{font-size:13px}.footer-project__button{min-height:58px;padding-left:18px}.footer-project__button-icon{width:42px;height:42px;flex-basis:42px}
  .footer-body{grid-template-columns:1fr;gap:34px;padding:36px 22px}.footer-brand-block img{width:76px;margin-bottom:22px}.footer-contact{padding-left:0}.footer-navigation{grid-column:auto;grid-template-columns:1fr 1fr;gap:22px;padding-top:30px;border-top:1px solid rgba(255,255,255,.075)}
  .footer-bottom{grid-template-columns:1fr auto;padding:20px 22px 23px;gap:12px}.footer-developer{grid-column:1/-1}.footer-contact strong{white-space:normal;overflow:visible}
}
@media (prefers-reduced-motion:reduce){.footer-project__button,.footer-project__button-icon svg,.footer-contact,.footer-navigation__group a,.footer-navigation__group button{transition:none!important}}

/* ========================================================================== 
   DUO Smart Brief 3.0 — premium guided project intake
   ========================================================================== */
.brief-dialog{
  width:min(1220px,calc(100vw - 28px));max-width:none;max-height:calc(100svh - 28px);padding:0;border:0;border-radius:30px;
  background:transparent;color:var(--ink);overflow:visible;box-shadow:0 38px 110px rgba(9,7,6,.42)
}
.brief-dialog::backdrop{background:rgba(15,12,10,.76);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.brief{width:100%;height:min(780px,calc(100svh - 28px));max-height:calc(100svh - 28px);padding:0;overflow:hidden;background:var(--paper-2);border-radius:30px;border:1px solid rgba(255,255,255,.23)}
.brief-shell{display:grid;grid-template-columns:minmax(250px,31%) minmax(0,1fr);height:100%;min-height:0}

.brief-aside{position:relative;min-width:0;overflow:hidden;padding:34px 32px 32px;color:var(--text);background:
  radial-gradient(circle at 91% 34%,rgba(235,54,43,.17),transparent 27%),
  radial-gradient(ellipse at 12% 62%,rgba(255,255,255,.052),transparent 34%),
  linear-gradient(148deg,#2b2520 0%,#201b17 46%,#14110f 100%)}
.brief-aside:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;background-image:linear-gradient(rgba(255,255,255,.027) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);background-size:58px 58px;mask-image:linear-gradient(to bottom,black,transparent 88%)}
.brief-aside:after{content:"";position:absolute;left:32px;right:32px;bottom:31%;height:1px;background:linear-gradient(90deg,rgba(236,230,220,.5),rgba(236,230,220,.045))}
.brief-aside__brand{position:relative;z-index:4;display:block;width:max-content;line-height:0}
.brief-aside__brand img{display:block;width:108px;height:auto;object-fit:contain;filter:drop-shadow(0 9px 22px rgba(0,0,0,.18))}
.brief-aside__art{position:absolute;z-index:1;left:-14%;right:-23%;top:15%;height:49%;min-height:330px;pointer-events:none}
.brief-aside__art:before{content:"";position:absolute;right:2%;top:4%;width:52%;height:72%;background:radial-gradient(circle,rgba(235,54,43,.095),transparent 62%);filter:blur(8px)}
.brief-aside__plane{position:absolute;left:-20%;bottom:-44%;width:78%;aspect-ratio:1;border:1px solid rgba(235,54,43,.26);border-radius:50%;background:radial-gradient(circle at 78% 24%,rgba(255,255,255,.045),transparent 37%),linear-gradient(145deg,rgba(255,255,255,.026),rgba(0,0,0,.22));box-shadow:inset -18px 18px 42px rgba(235,54,43,.035)}
.brief-aside__arc{position:absolute;border:1px solid rgba(236,230,220,.16);border-radius:50%;transform:rotate(-8deg)}
.brief-aside__arc--1{right:-3%;top:0;width:79%;aspect-ratio:1;border-color:rgba(236,230,220,.17)}
.brief-aside__arc--2{right:11%;top:14%;width:54%;aspect-ratio:1;border-color:rgba(236,230,220,.14)}
.brief-aside__arc--3{right:24%;top:28%;width:29%;aspect-ratio:1;border-color:rgba(235,54,43,.62);box-shadow:0 0 32px rgba(235,54,43,.055)}
.brief-aside__orbit-dots{position:absolute;right:17%;top:20%;width:43%;aspect-ratio:1;border-radius:50%;background:repeating-conic-gradient(from 198deg,rgba(235,54,43,.52) 0 1deg,transparent 1deg 7deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1px));mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1px));opacity:.46;transform:rotate(-11deg)}
.brief-aside__line{position:absolute;display:block;background:linear-gradient(90deg,transparent,rgba(236,230,220,.23),rgba(235,54,43,.2),transparent)}
.brief-aside__line--h{left:19%;right:2%;top:57%;height:1px}
.brief-aside__line--v{right:38%;top:-7%;width:1px;height:116%;background:linear-gradient(to bottom,transparent,rgba(236,230,220,.17) 18%,rgba(235,54,43,.28) 60%,transparent)}
.brief-aside__node{position:absolute;right:calc(38% - 7px);top:calc(57% - 7px);width:14px;height:14px;border-radius:50%;background:var(--red);box-shadow:0 0 0 12px rgba(235,54,43,.07),0 0 34px rgba(235,54,43,.32)}
.brief-aside__node:after{content:"";position:absolute;inset:4px;border-radius:50%;background:#ff685d}
.brief-aside__satellite{position:absolute;right:10%;top:17%;width:5px;height:5px;border-radius:50%;background:#c8bdb0;box-shadow:0 0 0 5px rgba(236,230,220,.035)}
.brief-aside__notes{position:absolute;z-index:3;left:32px;right:32px;bottom:34px;min-height:148px}
.brief-aside__note{position:absolute;inset:0;opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .28s var(--ease),transform .28s var(--ease)}
.brief-aside__note.is-active{opacity:1;transform:none}
.brief-aside__step{display:block;margin-bottom:19px;font-size:10px;font-weight:700;letter-spacing:.17em;color:#9b9288}
.brief-aside__note strong{display:block;max-width:260px;margin-bottom:10px;font-size:22px;font-weight:380;line-height:1.08;letter-spacing:-.035em;color:#f0e9df}
.brief-aside__note p{max-width:280px;margin:0;color:#a69c91;font-size:12px;line-height:1.6}

.brief-panel{display:flex;min-width:0;min-height:0;flex-direction:column;padding:31px 38px 26px;background:linear-gradient(135deg,#f4eee5 0%,#ece5da 58%,#e8e0d4 100%)}
.brief-head{display:flex;align-items:flex-start;justify-content:space-between;gap:26px;padding:0;border:0}
.brief-head__copy{max-width:690px}
.brief-eyebrow{display:block;margin:2px 0 8px;font-size:8px;font-weight:750;letter-spacing:.23em;text-transform:uppercase;color:#7c746a}
.brief-eyebrow:after{content:"";display:inline-block;width:24px;height:1px;margin-left:10px;vertical-align:middle;background:var(--red)}
.brief-head h2{max-width:740px;margin:0;font-size:clamp(34px,3.15vw,54px);font-weight:320;line-height:.97;letter-spacing:-.052em;text-wrap:balance}
.brief-close{flex:0 0 auto;width:40px;height:40px;margin:-5px -7px 0 0;border:1px solid rgba(35,30,25,.12);background:rgba(255,255,255,.28);transition:transform .22s var(--ease),background .22s var(--ease),border-color .22s var(--ease)}
.brief-close:hover{transform:rotate(4deg);background:rgba(255,255,255,.64)!important;border-color:rgba(35,30,25,.22)}

.brief-progress-wrap{margin-top:22px;padding-bottom:16px;border-bottom:1px solid rgba(35,30,25,.11)}
.brief-progress{position:relative;height:2px;margin:0 0 9px;overflow:hidden;border-radius:999px;background:rgba(35,30,25,.12)}
.brief-progress span{display:block;height:100%;width:25%;border-radius:999px;background:var(--red);box-shadow:0 0 18px rgba(235,54,43,.18);transition:width .38s var(--ease)}
.brief-progress-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.brief-progress-step{display:flex;align-items:center;gap:7px;min-width:0;color:#9a9186;transition:color .25s var(--ease)}
.brief-progress-step span{display:grid;place-items:center;width:23px;height:23px;flex:0 0 23px;border:1px solid rgba(35,30,25,.13);border-radius:50%;font-size:7px;font-weight:750;letter-spacing:.04em;background:rgba(255,255,255,.18);transition:all .25s var(--ease)}
.brief-progress-step small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.brief-progress-step.is-complete{color:#686057}.brief-progress-step.is-complete span{background:#2a2521;color:#eee7de;border-color:#2a2521}
.brief-progress-step.is-active{color:#9d1c18}.brief-progress-step.is-active span{background:var(--red);color:white;border-color:var(--red);box-shadow:0 7px 18px rgba(235,54,43,.22)}

.brief-body{position:relative;flex:1;min-height:0;overflow:auto;padding:20px 4px 12px 0;scrollbar-width:thin;scrollbar-color:rgba(35,30,25,.18) transparent}
.brief-body::-webkit-scrollbar{width:6px}.brief-body::-webkit-scrollbar-thumb{background:rgba(35,30,25,.16);border-radius:99px}
.brief-step{display:none;padding:0 3px 4px 0}
.brief-step.is-active{display:block;animation:briefStepIn .34s var(--ease)}
@keyframes briefStepIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.brief-step__head{margin-bottom:18px}
.brief-step__head .step-kicker{margin:0 0 8px;color:#a21e19;font-size:8px;letter-spacing:.2em}
.brief-step__head h3{margin:0;font-size:clamp(27px,2.1vw,36px);font-weight:360;line-height:1.02;letter-spacing:-.04em}
.brief-step__head>p:last-child{max-width:640px;margin:8px 0 0;color:#7e756c;font-size:11px;line-height:1.55}
.brief-fieldset{min-width:0;margin:0;padding:0;border:0}.brief-field-label{display:block;margin:0 0 8px;font-size:8px;font-weight:750;letter-spacing:.14em;text-transform:uppercase;color:#786f66}

.choice-grid--spaces{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.brief-choice{position:relative;cursor:pointer}.brief-choice input{position:absolute;opacity:0;pointer-events:none}
.brief-choice__surface{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr) 28px;align-items:center;gap:10px;min-height:66px;padding:9px 11px 9px 9px;border:1px solid rgba(35,30,25,.13);border-radius:17px;background:rgba(255,255,255,.23);transition:transform .22s var(--ease),border-color .22s var(--ease),background .22s var(--ease),box-shadow .22s var(--ease)}
.brief-choice__icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:rgba(35,30,25,.055);color:#655d55;transition:all .22s var(--ease)}
.brief-choice__icon svg{width:19px;height:19px}.brief-choice__surface strong{font-size:12px;font-weight:560;line-height:1.25}
.brief-choice__check{width:23px;height:23px;display:grid;place-items:center;border:1px solid rgba(35,30,25,.13);border-radius:50%;color:transparent;transition:all .22s var(--ease)}
.brief-choice__check svg{width:13px;height:13px}
.brief-choice:hover .brief-choice__surface{transform:translateY(-1px);border-color:rgba(35,30,25,.26);background:rgba(255,255,255,.4)}
.brief-choice input:checked+.brief-choice__surface{border-color:rgba(235,54,43,.72);background:#f4e9e0;box-shadow:inset 0 0 0 1px rgba(235,54,43,.05),0 8px 22px rgba(77,44,31,.06)}
.brief-choice input:checked+.brief-choice__surface .brief-choice__icon{background:var(--red);color:white}
.brief-choice input:checked+.brief-choice__surface .brief-choice__check{background:#fff;border-color:var(--red);color:var(--red)}
.brief-choice input:focus-visible+.brief-choice__surface{outline:2px solid var(--red);outline-offset:3px}

.brief-surface{margin-top:18px;padding:15px 17px 13px;border:1px solid rgba(35,30,25,.11);border-radius:19px;background:rgba(255,255,255,.19)}
.brief-surface__top{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:8px}
.brief-surface__top>div>span{display:block;font-size:8px;font-weight:750;letter-spacing:.14em;text-transform:uppercase;color:#766d64}.brief-surface__top>div>small{display:block;margin-top:4px;color:#948a80;font-size:10px}
.brief-surface__value{display:flex;align-items:baseline;gap:5px;flex:0 0 auto}.brief-surface__value input{width:74px;padding:0;border:0;background:transparent;outline:0;text-align:right;font-size:31px;font-weight:320;letter-spacing:-.05em;color:#231f1b;-moz-appearance:textfield}.brief-surface__value input::-webkit-outer-spin-button,.brief-surface__value input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.brief-surface__value span{font-size:13px;color:#746c63}
.brief-surface__range{width:100%;height:18px;margin:4px 0 0;appearance:none;-webkit-appearance:none;background:transparent;cursor:pointer}.brief-surface__range::-webkit-slider-runnable-track{height:4px;border-radius:99px;background:linear-gradient(90deg,var(--red) 0 var(--range-progress,26%),rgba(35,30,25,.12) var(--range-progress,26%) 100%)}.brief-surface__range::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;margin-top:-7px;border:5px solid #fff;border-radius:50%;background:var(--red);box-shadow:0 4px 12px rgba(37,23,18,.22),0 0 0 1px rgba(35,30,25,.07)}.brief-surface__range::-moz-range-track{height:4px;border-radius:99px;background:rgba(35,30,25,.12)}.brief-surface__range::-moz-range-progress{height:4px;border-radius:99px;background:var(--red)}.brief-surface__range::-moz-range-thumb{width:9px;height:9px;border:5px solid #fff;border-radius:50%;background:var(--red);box-shadow:0 4px 12px rgba(37,23,18,.22)}
.brief-surface__scale{display:flex;justify-content:space-between;margin-top:0;color:#9a9186;font-size:8px}.brief-surface__presets{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.brief-surface__presets button{min-height:29px;padding:0 10px;border:1px solid rgba(35,30,25,.11);border-radius:999px;background:rgba(255,255,255,.25);color:#71685f;font-size:8px;font-weight:700;cursor:pointer;transition:all .2s var(--ease)}.brief-surface__presets button:hover,.brief-surface__presets button.is-active{background:#2b2622;border-color:#2b2622;color:#eee7de}

.brief-fieldset--stage{margin-bottom:16px}.brief-stage-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.brief-stage{position:relative;cursor:pointer}.brief-stage input{position:absolute;opacity:0;pointer-events:none}.brief-stage>span{position:relative;display:flex;min-height:72px;flex-direction:column;justify-content:space-between;padding:11px 12px;border:1px solid rgba(35,30,25,.12);border-radius:16px;background:rgba(255,255,255,.22);transition:all .22s var(--ease)}.brief-stage small{font-size:8px;color:#9a9186}.brief-stage strong{padding-right:20px;font-size:11px;font-weight:560;line-height:1.25}.brief-stage svg{position:absolute;right:10px;top:10px;width:15px;height:15px;opacity:0;color:var(--red);transform:scale(.7);transition:all .2s var(--ease)}.brief-stage:hover>span{transform:translateY(-1px);border-color:rgba(35,30,25,.25)}.brief-stage input:checked+span{border-color:rgba(235,54,43,.72);background:#f4e9e0}.brief-stage input:checked+span svg{opacity:1;transform:scale(1)}.brief-stage input:checked+span small{color:#a21e19}.brief-stage input:focus-visible+span{outline:2px solid var(--red);outline-offset:3px}
.brief-field{display:block;margin-top:14px}.brief-field input,.brief-field select,.brief-field textarea{width:100%;min-height:48px;padding:0 14px;border:1px solid rgba(35,30,25,.13);border-radius:14px;outline:0;background:rgba(255,255,255,.22);color:#27221e;font-size:12px;transition:border-color .2s,background .2s,box-shadow .2s}.brief-field textarea{min-height:112px;padding:13px 14px;resize:vertical;line-height:1.5}.brief-field input::placeholder,.brief-field textarea::placeholder{color:#aaa197}.brief-field input:focus,.brief-field select:focus,.brief-field textarea:focus{border-color:rgba(235,54,43,.7);background:rgba(255,255,255,.4);box-shadow:0 0 0 3px rgba(235,54,43,.07)}
.brief-select-wrap{position:relative;display:block}.brief-select-wrap select{appearance:none;-webkit-appearance:none;padding-right:44px}.brief-select-wrap>svg{position:absolute;right:14px;top:50%;width:16px;height:16px;pointer-events:none;transform:translateY(-50%) rotate(90deg);color:#736a61}
.brief-two-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.brief-two-fields .brief-field{margin-top:14px}

.upload-zone{position:relative;display:flex;min-height:185px;flex-direction:column;align-items:center;justify-content:center;padding:22px;border:1px dashed rgba(35,30,25,.28);border-radius:20px;text-align:center;background:rgba(255,255,255,.18);cursor:pointer;transition:border-color .22s var(--ease),background .22s var(--ease),transform .22s var(--ease)}
.upload-zone:hover,.upload-zone.is-dragging{border-color:var(--red);background:#f4e9e0;transform:translateY(-1px)}.upload-zone input{position:absolute;opacity:0;pointer-events:none}.upload-zone__icon{width:46px;height:46px;display:grid;place-items:center;margin-bottom:12px;border-radius:50%;background:#2c2722;color:#efe8de}.upload-zone__icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}.upload-zone strong{font-size:13px;font-weight:580}.upload-zone>span:not(.upload-zone__icon){margin-top:5px;color:#8b8278;font-size:10px}.upload-zone em{margin-top:12px;padding:5px 9px;border-radius:999px;background:rgba(35,30,25,.055);color:#766e65;font-size:8px;font-style:normal;font-weight:700;letter-spacing:.04em}.brief-field--message{margin-top:15px}

.brief-contact-choice{margin:15px 0 0;padding:0;border:0}.brief-contact-choice>div{display:grid;grid-template-columns:1fr 1fr;gap:7px;max-width:310px}.brief-contact-choice label{position:relative;cursor:pointer}.brief-contact-choice input{position:absolute;opacity:0}.brief-contact-choice label>span{display:grid;place-items:center;min-height:40px;border:1px solid rgba(35,30,25,.12);border-radius:999px;background:rgba(255,255,255,.2);font-size:9px;font-weight:700;transition:all .2s var(--ease)}.brief-contact-choice input:checked+span{border-color:#2c2722;background:#2c2722;color:#eee8de}.brief-contact-choice input:focus-visible+span{outline:2px solid var(--red);outline-offset:3px}.form-consent{max-width:660px;margin:14px 0 0;color:#8d847a;font-size:9px;line-height:1.5}

.brief-success{display:flex;min-height:100%;flex-direction:column;align-items:center;justify-content:center;padding:28px 24px;text-align:center}.brief-success__mark{width:54px;height:54px;display:grid;place-items:center;margin-bottom:16px;border-radius:50%;background:var(--red);color:white;box-shadow:0 14px 32px rgba(235,54,43,.22)}.brief-success__mark svg{width:24px;height:24px}.brief-success__brand{font-size:9px!important;font-weight:750!important;letter-spacing:.24em;color:#8d847a}.brief-success h3{max-width:560px;margin:10px 0 11px;font-size:clamp(30px,3vw,44px);font-weight:340;line-height:1.02;letter-spacing:-.045em}.brief-success p{max-width:510px;margin:0;color:#776f66;font-size:12px;line-height:1.6}.brief-success button{min-height:45px;margin-top:23px;padding:0 20px;border-radius:999px;background:#2b2622;color:#efe8de;font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}

.brief-actions{display:flex;align-items:center;gap:9px;padding-top:15px;border-top:1px solid rgba(35,30,25,.11)}.brief-spacer{flex:1}.brief-actions button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;gap:10px;padding:0 17px;border-radius:999px;font-size:9px;font-weight:750;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;transition:transform .22s var(--ease),background .22s var(--ease),border-color .22s var(--ease),color .22s var(--ease)}.brief-actions button svg{width:15px;height:15px;transition:transform .22s var(--ease)}.brief-back{border:1px solid rgba(35,30,25,.16);background:rgba(255,255,255,.2);color:#5d554d}.brief-next,.brief-submit{min-width:142px;border:1px solid var(--red);background:var(--red)!important;color:white!important;box-shadow:0 10px 24px rgba(235,54,43,.18)}.brief-actions button:hover{transform:translateY(-1px)}.brief-next:hover svg,.brief-submit:hover svg{transform:translateX(3px)}.brief-back:hover svg{transform:translateX(-3px)}.brief-actions button:disabled{opacity:.55;cursor:wait;transform:none}.form-error{margin-top:9px;padding:9px 12px;border:1px solid rgba(182,28,22,.18);border-radius:11px;background:rgba(182,28,22,.055);color:#a31f1a;font-size:10px}

@media (max-width:1050px){
  .brief{height:min(760px,calc(100svh - 20px))}.brief-dialog{width:calc(100vw - 20px);max-height:calc(100svh - 20px)}.brief-shell{grid-template-columns:230px minmax(0,1fr)}.brief-aside{padding:28px 24px}.brief-aside__brand img{width:96px}.brief-aside__art{left:-18%;right:-28%;top:16%;height:48%;min-height:300px}.brief-aside__notes{left:24px;right:24px;bottom:27px}.brief-aside:after{left:24px;right:24px}.brief-panel{padding:26px 30px 23px}.brief-head h2{font-size:clamp(32px,4vw,46px)}.choice-grid--spaces{grid-template-columns:repeat(2,minmax(0,1fr))}.brief-stage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .brief-dialog{width:calc(100vw - 12px);max-height:calc(100svh - 12px);border-radius:22px}.brief{height:calc(100svh - 12px);max-height:calc(100svh - 12px);border-radius:22px}.brief-shell{grid-template-columns:1fr}.brief-aside{display:none}.brief-panel{padding:20px 18px 17px}.brief-head__copy{padding-right:4px}.brief-head h2{font-size:clamp(29px,8.2vw,40px);line-height:.98}.brief-close{width:38px;height:38px;margin-top:-3px}.brief-progress-wrap{margin-top:17px;padding-bottom:11px}.brief-progress-steps{gap:5px}.brief-progress-step{gap:4px}.brief-progress-step span{width:20px;height:20px;flex-basis:20px}.brief-progress-step small{font-size:7px;letter-spacing:.07em}.brief-body{padding-top:16px}.brief-step__head{margin-bottom:15px}.brief-step__head h3{font-size:27px}.brief-step__head>p:last-child{font-size:10px}.choice-grid--spaces{grid-template-columns:1fr 1fr;gap:7px}.brief-choice__surface{grid-template-columns:34px minmax(0,1fr) 24px;min-height:60px;padding:8px;border-radius:15px}.brief-choice__icon{width:34px;height:34px;border-radius:11px}.brief-choice__surface strong{font-size:11px}.brief-surface{margin-top:14px;padding:13px}.brief-surface__top{gap:10px}.brief-surface__top>div>small{display:none}.brief-surface__value input{width:66px;font-size:28px}.brief-surface__presets{display:grid;grid-template-columns:repeat(4,1fr)}.brief-surface__presets button{padding:0 4px}.brief-stage-grid{grid-template-columns:1fr 1fr}.brief-stage>span{min-height:66px}.brief-two-fields{grid-template-columns:1fr;gap:0}.upload-zone{min-height:170px;padding:18px}.brief-actions{padding-top:12px}.brief-actions button{min-height:44px}.brief-next,.brief-submit{min-width:134px}
}
@media (max-width:430px){
  .brief-panel{padding:18px 14px 14px}.brief-head h2{font-size:29px}.brief-progress-step small{display:none}.brief-progress-steps{grid-template-columns:repeat(4,auto);justify-content:space-between}.choice-grid--spaces{grid-template-columns:1fr}.brief-choice__surface{min-height:56px}.brief-surface__scale{font-size:7px}.brief-surface__presets{grid-template-columns:1fr 1fr}.brief-stage-grid{grid-template-columns:1fr}.brief-contact-choice>div{max-width:none}.brief-actions .brief-back{width:44px;padding:0}.brief-actions .brief-back span{display:none}.brief-next,.brief-submit{min-width:0;padding:0 15px}.brief-step__head h3{font-size:25px}
}
@media (prefers-reduced-motion:reduce){.brief-aside__note,.brief-progress span,.brief-step,.brief-choice__surface,.brief-stage>span,.upload-zone,.brief-actions button,.brief-actions button svg{animation:none!important;transition:none!important}}
.brief-success[hidden],.brief-actions[hidden]{display:none!important}
.choice-grid .brief-choice__surface{display:grid;padding:9px 11px 9px 9px;border:1px solid rgba(35,30,25,.13);border-radius:17px;background:rgba(255,255,255,.23);cursor:pointer}
.choice-grid .brief-choice__icon{display:grid;padding:0;border:0;border-radius:12px;background:rgba(35,30,25,.055);cursor:inherit}
.choice-grid .brief-choice__check{display:grid;padding:0;border:1px solid rgba(35,30,25,.13);border-radius:50%;background:transparent;cursor:inherit}
@media (max-width:760px){.choice-grid .brief-choice__surface{padding:8px;border-radius:15px}}
.brief-actions button[hidden]{display:none!important}
.brief .brief-field-label{margin:0 0 8px;font-size:8px;font-weight:750;line-height:1.25;letter-spacing:.14em;text-transform:uppercase;color:#786f66}

/* 2026 hero rotation — layered cross-fade, no hard image swap. */
.home-hero__media{position:absolute;inset:0;overflow:hidden;background:var(--ink-soft)}
.home-hero__slide{position:absolute;inset:-1px;display:block;opacity:0;visibility:hidden;z-index:0;transition:opacity 1.15s cubic-bezier(.22,.61,.36,1),visibility 0s linear 1.15s;will-change:opacity}
.home-hero__slide.is-active{opacity:1;visibility:visible;z-index:1;transition:opacity 1.15s cubic-bezier(.22,.61,.36,1),visibility 0s linear 0s}
.home-hero__slide img{width:100%;height:100%;object-fit:cover;object-position:center center;transform:scale(1.055);transition:transform 7.8s cubic-bezier(.2,.58,.28,1);will-change:transform}
.home-hero__slide.is-active img{transform:scale(1.012)}
.home-hero__veil{z-index:1;pointer-events:none}
.home-hero__content{z-index:2}
.home-hero__counter{z-index:3}
.hero-project{position:relative;overflow:hidden}
.hero-project:after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:1px;border-radius:999px;background:var(--red);transform:scaleX(0);transform-origin:left;opacity:0}
.hero-project.is-active:after{opacity:.78;animation:heroProjectProgress 6.2s linear both}
.home-hero.is-hero-paused .hero-project.is-active:after{animation-play-state:paused}
@keyframes heroProjectProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){.home-hero__slide,.home-hero__slide img{transition:none!important}.hero-project.is-active:after{animation:none;transform:scaleX(1)}}

/* =========================================================
   DUO 1.1.1 — premium editorial project calculator
   Visual-only refinement. Existing estimator DOM/data hooks stay intact.
   ========================================================= */
.duo-calculator{
  gap:18px;
  align-items:stretch;
}
.calculator-shell{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:760px;
  padding:clamp(28px,3vw,48px);
  border-color:rgba(58,45,35,.08);
  border-radius:34px;
  background:
    radial-gradient(circle at 103% -3%,rgba(235,54,43,.075),transparent 29%),
    radial-gradient(circle at 2% 98%,rgba(111,83,62,.055),transparent 32%),
    linear-gradient(145deg,#f1ebe2 0%,#ece3d7 55%,#e8ddcf 100%);
  box-shadow:0 28px 78px rgba(26,19,14,.13),inset 0 1px 0 rgba(255,255,255,.5);
}
.calculator-shell:before{
  content:"";
  position:absolute;
  z-index:-1;
  width:310px;
  height:310px;
  right:-155px;
  top:-164px;
  border:1px solid rgba(181,44,36,.12);
  border-radius:50%;
  box-shadow:0 0 0 58px rgba(181,44,36,.025),0 0 0 118px rgba(58,45,35,.018);
  pointer-events:none;
}
.calculator-shell:after{
  content:"";
  position:absolute;
  z-index:-1;
  left:0;
  bottom:0;
  width:4px;
  height:118px;
  border-radius:0 8px 0 0;
  background:linear-gradient(180deg,transparent,var(--red));
  opacity:.8;
  pointer-events:none;
}
.calculator-shell__head{
  position:relative;
  z-index:1;
  align-items:center;
  gap:24px;
  padding-bottom:20px;
  border-bottom:1px solid rgba(55,44,35,.09);
}
.calculator-shell__head>div{
  position:relative;
  padding-left:17px;
}
.calculator-shell__head>div:before{
  content:"";
  position:absolute;
  left:0;
  top:2px;
  width:2px;
  height:31px;
  border-radius:99px;
  background:var(--red);
}
.calculator-shell__head>div>span{
  font-size:8px;
  font-weight:650;
  letter-spacing:.18em;
  color:#86796d;
}
.calculator-shell__head>div>strong{
  margin-top:6px;
  font-size:15px;
  font-weight:560;
  letter-spacing:-.012em;
  color:#231e1a;
}
.calculator-reset{
  min-height:36px;
  padding:0 12px;
  gap:8px;
  border:1px solid rgba(56,45,36,.10);
  border-radius:999px;
  background:rgba(255,255,255,.24);
  color:#75695f;
  box-shadow:0 1px 0 rgba(255,255,255,.42) inset;
  transition:background .2s,border-color .2s,color .2s,transform .2s var(--ease);
}
.calculator-reset:hover{
  transform:translateY(-1px);
  border-color:rgba(56,45,36,.18);
  background:rgba(255,255,255,.48);
  color:#2f2822;
}

.calculator-steps{
  position:relative;
  z-index:1;
  gap:7px;
  margin-top:22px;
}
.calculator-step-nav{
  grid-template-columns:34px minmax(0,1fr);
  min-height:52px;
  gap:9px;
  padding:7px 9px;
  border:1px solid rgba(55,44,35,.055);
  border-radius:16px;
  background:rgba(255,255,255,.12);
  color:#8f8276;
  box-shadow:0 1px 0 rgba(255,255,255,.18) inset;
}
.calculator-step-nav span{
  width:32px;
  height:32px;
  border-color:rgba(55,44,35,.12);
  background:rgba(255,255,255,.28);
  color:#81756a;
  font-size:8px;
  font-weight:650;
}
.calculator-step-nav strong{
  font-size:9px;
  font-weight:600;
  letter-spacing:.005em;
}
.calculator-step-nav.is-active{
  border-color:rgba(181,44,36,.12);
  background:rgba(255,255,255,.48);
  color:#261f1a;
  box-shadow:0 10px 28px rgba(67,48,35,.055),0 1px 0 rgba(255,255,255,.5) inset;
}
.calculator-step-nav.is-active span{
  border-color:var(--red);
  background:var(--red);
  color:#fff7ef;
  box-shadow:0 5px 13px rgba(181,44,36,.19);
}
.calculator-step-nav.is-complete{
  border-color:rgba(55,44,35,.075);
  background:rgba(255,255,255,.24);
  color:#5f554d;
}
.calculator-step-nav.is-complete span{
  border-color:#74685e;
  background:#74685e;
  color:#fff9f2;
}
.calculator-step-nav:not(:disabled):hover{
  transform:translateY(-1px);
  border-color:rgba(55,44,35,.12);
  background:rgba(255,255,255,.38);
}
.calculator-step-nav.is-active:hover{border-color:rgba(181,44,36,.16);background:rgba(255,255,255,.54)}
.calculator-progress{
  height:2px;
  margin:10px 8px 0;
  background:rgba(57,47,39,.07);
}
.calculator-progress span{
  position:relative;
  background:linear-gradient(90deg,#a9231d 0%,var(--red) 100%);
  box-shadow:0 0 12px rgba(235,54,43,.14);
}

.calculator-shell__body{
  position:relative;
  z-index:1;
  min-height:465px;
  padding:clamp(34px,4vw,58px) 0 30px;
}
.calculator-step{
  outline:0;
}
.calculator-step.is-active{
  display:grid;
  grid-template-columns:minmax(190px,.62fr) minmax(0,1.38fr);
  column-gap:clamp(30px,3.5vw,62px);
  align-items:start;
  animation:calculatorStepPremiumIn .42s var(--ease);
}
@keyframes calculatorStepPremiumIn{
  from{opacity:.01;transform:translate3d(0,10px,0)}
  to{opacity:1;transform:none}
}
.calculator-step.is-active>.calculator-step__head{
  grid-column:1;
  grid-row:1 / span 20;
}
.calculator-step.is-active>:not(.calculator-step__head){
  grid-column:2;
}
.calculator-step__head{
  position:relative;
  display:block;
  min-height:230px;
  margin:0;
  padding:0 clamp(20px,2vw,34px) 0 0;
  border-right:1px solid rgba(55,44,35,.10);
}
.calculator-step__head:after{
  content:"";
  position:absolute;
  right:-1px;
  top:0;
  width:1px;
  height:54px;
  background:var(--red);
}
.calculator-step__head>span{
  width:auto;
  height:auto;
  display:block;
  margin:0 0 34px;
  border-radius:0;
  background:transparent;
  color:rgba(181,44,36,.42);
  font-size:clamp(42px,4.3vw,66px);
  font-weight:280;
  line-height:.8;
  letter-spacing:-.055em;
}
.calculator-step__head p{
  margin:0 0 12px;
  color:#a52a24;
  font-size:8px;
  font-weight:700;
  letter-spacing:.19em;
}
.calculator-step__head h3{
  max-width:290px;
  font-size:clamp(29px,2.35vw,40px);
  font-weight:330;
  line-height:1.01;
  letter-spacing:-.042em;
  color:#261f1a;
}

.calculator-space-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.calculator-choice,.calculator-choice:nth-child(4),.calculator-choice:nth-child(5){grid-column:auto}
.calculator-choice:last-child{grid-column:1/-1}
.calculator-choice__surface{
  min-height:124px;
  padding:18px 18px 16px;
  border:1px solid rgba(56,45,36,.10);
  border-radius:20px;
  background:rgba(255,255,255,.30);
  box-shadow:0 1px 0 rgba(255,255,255,.48) inset;
  transition:transform .24s var(--ease),background .24s,border-color .24s,box-shadow .24s;
}
.calculator-choice:hover .calculator-choice__surface{
  transform:translateY(-3px);
  border-color:rgba(56,45,36,.17);
  background:rgba(255,255,255,.52);
  box-shadow:0 14px 32px rgba(54,41,31,.07),0 1px 0 rgba(255,255,255,.6) inset;
}
.calculator-choice input:checked+.calculator-choice__surface{
  transform:translateY(-2px);
  border-color:rgba(181,44,36,.48);
  background:linear-gradient(145deg,rgba(255,251,246,.70),rgba(244,230,219,.72));
  box-shadow:0 15px 35px rgba(74,43,31,.08),inset 3px 0 0 rgba(235,54,43,.88);
}
.calculator-choice__icon{
  width:40px;
  height:40px;
  border:1px solid rgba(55,44,35,.07);
  background:#ded4c7;
  color:#4b4037;
  box-shadow:0 4px 12px rgba(45,35,28,.04);
  transition:background .22s,color .22s,border-color .22s,transform .22s var(--ease);
}
.calculator-choice__icon .ui-icon{width:18px;height:18px}
.calculator-choice input:checked+.calculator-choice__surface .calculator-choice__icon{
  border-color:rgba(181,44,36,.12);
  background:rgba(181,44,36,.10);
  color:#ae2922;
  transform:scale(1.035);
}
.calculator-choice strong{
  font-size:13px;
  font-weight:620;
  letter-spacing:-.012em;
  color:#29221d;
}
.calculator-choice__check{
  top:17px;
  right:17px;
  width:21px;
  height:21px;
  border:1px solid rgba(55,44,35,.16);
  background:rgba(255,255,255,.12);
}
.calculator-choice input:checked+.calculator-choice__surface .calculator-choice__check{
  border-color:var(--red);
  background:var(--red);
  color:#fff6ee;
  box-shadow:0 4px 10px rgba(181,44,36,.18);
}

.surface-editor{
  position:relative;
  overflow:hidden;
  padding:28px 30px 24px;
  border:1px solid rgba(55,44,35,.09);
  border-radius:22px;
  background:rgba(255,255,255,.31);
  box-shadow:0 14px 34px rgba(58,44,33,.045),inset 0 1px 0 rgba(255,255,255,.42);
}
.surface-editor:after{
  content:"m²";
  position:absolute;
  right:22px;
  top:16px;
  color:rgba(55,44,35,.045);
  font-size:80px;
  font-weight:300;
  line-height:1;
  letter-spacing:-.06em;
  pointer-events:none;
}
.surface-editor__value{position:relative;z-index:1}
.surface-editor__value input{
  width:min(290px,75%);
  color:#251f1a;
  font-size:clamp(64px,6.2vw,92px);
  font-weight:260;
}
.surface-editor__value span{font-size:20px;color:#776b61}
.surface-editor__range{position:relative;z-index:1;margin:24px 0 14px}
.surface-editor__range::-webkit-slider-runnable-track{height:4px;background:linear-gradient(90deg,#a72a24 0%,#d96056 30%,#bcb1a5 30%,#c9beb2 100%)}
.surface-editor__range::-webkit-slider-thumb{width:24px;height:24px;margin-top:-10px;border:6px solid #f4ece2;background:var(--red);box-shadow:0 4px 13px rgba(89,43,35,.20)}
.surface-editor__range::-moz-range-track{height:4px;background:#b8ada1}
.surface-editor__range::-moz-range-thumb{width:12px;height:12px;border:6px solid #f4ece2;background:var(--red);box-shadow:0 4px 13px rgba(89,43,35,.20)}
.surface-presets{position:relative;z-index:1;gap:7px}
.surface-presets button{
  padding:8px 13px;
  border-color:rgba(55,44,35,.10);
  background:rgba(255,255,255,.28);
  color:#70645a;
}
.surface-presets button:hover,.surface-presets button.is-active{
  border-color:#a92c26;
  background:#a92c26;
  color:#fff8f0;
}
.calculator-help{
  margin-top:13px;
  padding-left:13px;
  border-left:2px solid rgba(181,44,36,.30);
  color:#756a61;
  font-size:10px;
}

.calculator-stage-list,.calculator-services{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.calculator-stage>span,.calculator-service>span{
  position:relative;
  min-height:116px;
  padding:19px;
  border:1px solid rgba(55,44,35,.10);
  border-radius:20px;
  background:rgba(255,255,255,.28);
  box-shadow:0 1px 0 rgba(255,255,255,.42) inset;
  transition:transform .23s var(--ease),background .23s,border-color .23s,box-shadow .23s;
}
.calculator-stage:hover>span,.calculator-service:hover>span{
  transform:translateY(-2px);
  border-color:rgba(55,44,35,.17);
  background:rgba(255,255,255,.48);
  box-shadow:0 13px 28px rgba(53,39,29,.055);
}
.calculator-stage i,.calculator-service__check{
  width:30px;
  height:30px;
  border:1px solid rgba(55,44,35,.11);
  background:#ddd3c6;
}
.calculator-stage strong,.calculator-service strong{
  font-size:13px;
  font-weight:620;
  color:#29221d;
}
.calculator-stage small,.calculator-service small{color:#776c62;line-height:1.5}
.calculator-stage input:checked+span,.calculator-service input:checked+span{
  transform:translateY(-1px);
  border-color:rgba(181,44,36,.42);
  background:linear-gradient(145deg,rgba(255,251,246,.67),rgba(244,230,219,.68));
  box-shadow:0 14px 31px rgba(70,43,31,.065),inset 3px 0 0 rgba(235,54,43,.84);
}
.calculator-stage input:checked+span i,.calculator-service input:checked+span .calculator-service__check{
  border-color:var(--red);
  background:var(--red);
  color:#fff7ef;
}

.calculator-result__facts{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.calculator-result__facts>div{
  min-height:92px;
  padding:16px 17px;
  border:1px solid rgba(55,44,35,.09);
  border-radius:18px;
  background:rgba(255,255,255,.28);
  box-shadow:0 1px 0 rgba(255,255,255,.38) inset;
}
.calculator-result__facts>div>span{color:#8a7e73;letter-spacing:.10em}
.calculator-result__facts>div>strong{margin-top:9px;color:#28211c;font-weight:580}
.calculator-result__facts .calculator-result__services{grid-column:1/-1}
.calculator-estimate{
  margin-top:12px;
  border:1px solid rgba(181,44,36,.14);
  border-radius:20px;
  background:linear-gradient(145deg,rgba(181,44,36,.075),rgba(255,255,255,.25));
  box-shadow:0 12px 30px rgba(72,43,31,.04);
}
.calculator-result__actions{gap:9px}
.calculator-primary{
  border-color:var(--red)!important;
  background:var(--red)!important;
  color:#fff8f1!important;
  box-shadow:0 10px 24px rgba(181,44,36,.18)!important;
}
.calculator-primary:hover{background:#c72e26!important;transform:translateY(-1px)}

.calculator-shell__actions{
  position:relative;
  z-index:1;
  grid-template-columns:minmax(0,1fr) auto auto;
  grid-template-areas:"live back next";
  gap:10px;
  padding-top:18px;
  border-top:1px solid rgba(55,44,35,.10);
}
.calculator-live{
  display:flex;
  align-items:center;
  gap:9px;
  color:#786d63;
  font-size:9px;
  letter-spacing:.015em;
}
.calculator-live:before{
  content:"";
  flex:0 0 auto;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--red);
  box-shadow:0 0 0 5px rgba(235,54,43,.08);
}
.calculator-back,.calculator-next{
  min-height:48px;
  border-radius:999px;
}
.calculator-back{
  min-width:110px;
  border-color:rgba(55,44,35,.12);
  background:rgba(255,255,255,.25);
  color:#675c53;
}
.calculator-back:hover{background:rgba(255,255,255,.5);border-color:rgba(55,44,35,.20)}
.calculator-next{
  min-width:166px;
  padding:0 9px 0 20px;
  border-color:#b72d26;
  background:linear-gradient(135deg,#bd2d26 0%,#a9231d 100%);
  color:#fff8f1;
  box-shadow:0 10px 24px rgba(124,38,30,.17),inset 0 1px 0 rgba(255,255,255,.10);
}
.calculator-next:hover{
  background:linear-gradient(135deg,#c9322a 0%,#b02720 100%);
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(124,38,30,.21),inset 0 1px 0 rgba(255,255,255,.12);
}
.calculator-next .ui-icon{
  width:30px;
  height:30px;
  background:rgba(255,255,255,.12);
}

@media (max-width:1180px){
  .calculator-step.is-active{grid-template-columns:minmax(165px,.56fr) minmax(0,1.44fr);column-gap:28px}
  .calculator-step__head{padding-right:22px}
}
@media (max-width:980px){
  .calculator-shell{min-height:0}
  .calculator-step.is-active{grid-template-columns:minmax(190px,.55fr) minmax(0,1.45fr)}
}
@media (max-width:760px){
  .calculator-shell{padding:22px 18px;border-radius:24px}
  .calculator-shell:before{width:210px;height:210px;right:-126px;top:-132px}
  .calculator-shell__head{padding-bottom:16px}
  .calculator-steps{gap:5px;margin-top:18px}
  .calculator-step-nav{grid-template-columns:1fr;min-height:44px;padding:5px 2px;border-radius:13px}
  .calculator-step-nav strong{display:none}
  .calculator-step-nav span{width:30px;height:30px}
  .calculator-progress{margin:8px 4px 0}
  .calculator-shell__body{padding:31px 0 24px}
  .calculator-step.is-active{display:block}
  .calculator-step__head{
    min-height:0;
    margin:0 0 24px;
    padding:0 0 20px;
    border-right:0;
    border-bottom:1px solid rgba(55,44,35,.09);
  }
  .calculator-step__head:after{left:0;right:auto;top:auto;bottom:-1px;width:48px;height:2px}
  .calculator-step__head>span{display:none}
  .calculator-step__head p{margin-bottom:8px}
  .calculator-step__head h3{max-width:520px;font-size:30px}
  .calculator-space-grid{grid-template-columns:1fr 1fr;gap:9px}
  .calculator-choice:last-child{grid-column:1/-1}
  .calculator-choice__surface{min-height:105px;padding:15px;border-radius:17px}
  .calculator-stage-list,.calculator-services{grid-template-columns:1fr;gap:9px}
  .calculator-stage>span,.calculator-service>span{min-height:0;border-radius:17px}
  .surface-editor{padding:22px 18px 20px;border-radius:18px}
  .surface-editor:after{font-size:58px;right:14px}
  .calculator-result__facts{grid-template-columns:1fr 1fr}
  .calculator-shell__actions{
    grid-template-columns:1fr auto;
    grid-template-areas:"live live" "back next";
  }
  .calculator-live{white-space:normal;max-width:none}
  .calculator-back{min-width:104px}
  .calculator-next{min-width:145px}
}
@media (max-width:460px){
  .calculator-shell{padding:19px 14px}
  .calculator-shell__head>div{padding-left:13px}
  .calculator-reset{width:36px;padding:0;justify-content:center}
  .calculator-reset span{display:none}
  .calculator-steps{gap:3px}
  .calculator-step-nav{min-height:40px}
  .calculator-step-nav span{width:28px;height:28px}
  .calculator-step__head h3{font-size:27px}
  .calculator-space-grid{grid-template-columns:1fr}
  .calculator-choice:last-child{grid-column:auto}
  .calculator-choice__surface{min-height:88px}
  .calculator-result__facts{grid-template-columns:1fr}
  .calculator-result__facts .calculator-result__services{grid-column:auto}
  .surface-editor__value input{font-size:58px}
  .surface-presets{grid-template-columns:1fr 1fr}
  .calculator-next{min-width:138px}
}
@media (prefers-reduced-motion:reduce){
  .calculator-step.is-active{animation:none}
  .calculator-choice__surface,.calculator-stage>span,.calculator-service>span,.calculator-step-nav,.calculator-next,.calculator-back{transition:none}
}

/* =========================================================
   DUO Project Studio / Design Compass
   2026-09-27 — progressive enhancement over existing brief
   ========================================================= */
.duo-studio{
  width:min(calc(100% - (var(--gutter) * 2)),calc(var(--content) - (var(--gutter) * 2)));
  margin:0 auto 18px;
  padding:clamp(26px,4.2vw,64px);
  display:grid;
  grid-template-columns:minmax(240px,.68fr) minmax(0,1.32fr);
  gap:clamp(28px,5vw,78px);
  align-items:start;
  background:
    radial-gradient(circle at 8% 4%,rgba(235,54,43,.14),transparent 24%),
    linear-gradient(145deg,#1c1916 0%,#26211d 100%);
  color:var(--text);
  border:1px solid rgba(255,255,255,.07);
  border-radius:var(--radius-xl);
  overflow:hidden;
  position:relative;
  isolation:isolate;
}
.duo-studio:after{
  content:"DUO";
  position:absolute;
  left:-.04em;
  bottom:-.27em;
  z-index:-1;
  font:700 clamp(120px,21vw,330px)/1 "Helvetica Neue",Arial,"Noto Sans",sans-serif;
  letter-spacing:-.08em;
  color:rgba(255,255,255,.018);
  pointer-events:none;
}
.duo-studio__intro{position:sticky;top:110px;padding-top:4px}
.duo-studio__eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:22px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#d0c7bc}
.duo-studio__eyebrow:before{content:"";width:28px;height:1px;background:var(--red)}
.duo-studio__intro h2{margin:0;max-width:9.5ch;font:500 clamp(38px,4.5vw,69px)/.94 "Helvetica Neue",Arial,"Noto Sans",sans-serif;letter-spacing:-.055em;text-wrap:balance}
.duo-studio__intro p{max-width:36ch;margin:22px 0 0;color:#bdb3a8;font-size:15px;line-height:1.65}
.duo-studio__status{margin-top:28px;padding:13px 15px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.035);font-size:12px;line-height:1.5;color:#cbc1b6}
.duo-studio__workspace{padding:clamp(20px,3vw,38px);background:#eee7dc;color:var(--ink);border-radius:28px;box-shadow:0 28px 80px rgba(0,0,0,.22)}
.duo-studio__group+.duo-studio__group{margin-top:34px;padding-top:31px;border-top:1px solid rgba(23,20,17,.09)}
.duo-studio__group-head{display:grid;grid-template-columns:36px 1fr;gap:13px;align-items:start;margin-bottom:17px}
.duo-studio__group-head>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:1px solid rgba(23,20,17,.14);font-size:10px;font-weight:700;color:var(--red)}
.duo-studio__group-head small{display:block;margin:2px 0 5px;font-size:9px;font-weight:700;letter-spacing:.17em;color:var(--muted-dark)}
.duo-studio__group-head strong{display:block;font:500 clamp(20px,2vw,27px)/1.08 "Helvetica Neue",Arial,"Noto Sans",sans-serif;letter-spacing:-.025em}
.duo-studio__choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.duo-studio__choice{appearance:none;-webkit-appearance:none;min-height:68px;padding:13px 14px;border:1px solid rgba(23,20,17,.11);border-radius:16px;background:rgba(255,255,255,.47);color:var(--ink);font:600 12px/1.25 "Helvetica Neue",Arial,"Noto Sans",sans-serif;text-align:left;cursor:pointer;transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease,color .22s ease;position:relative}
.duo-studio__choice:after{content:"+";position:absolute;right:11px;top:10px;font-size:14px;font-weight:400;color:#988f85;transition:transform .22s ease,color .22s ease}
.duo-studio__choice:hover{transform:translateY(-2px);border-color:rgba(23,20,17,.22);background:#f7f2ea;box-shadow:0 9px 24px rgba(35,29,24,.08)}
.duo-studio__choice.is-active{background:var(--ink);border-color:var(--ink);color:#fff;box-shadow:0 10px 24px rgba(23,20,17,.14)}
.duo-studio__choice.is-active:after{content:"✓";color:#fff;transform:scale(.9)}
.duo-studio__choice.is-limit{animation:duoChoiceLimit .28s ease}
@keyframes duoChoiceLimit{0%,100%{transform:translateX(0)}40%{transform:translateX(-2px)}70%{transform:translateX(2px)}}
.duo-studio__summary{margin-top:34px;padding:19px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;background:#dcd3c6;border-radius:18px}
.duo-studio__summary-copy small{display:block;margin-bottom:5px;font-size:9px;font-weight:700;letter-spacing:.16em;color:#756d63}
.duo-studio__summary-copy strong{display:block;font:500 17px/1.35 "Helvetica Neue",Arial,"Noto Sans",sans-serif;letter-spacing:-.012em}
.duo-studio__summary-copy span{display:block;margin-top:5px;font-size:11px;line-height:1.45;color:#756d63}
.duo-studio__continue{min-height:48px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:14px;background:var(--red);color:#fff;font:700 11px/1 "Helvetica Neue",Arial,"Noto Sans",sans-serif;letter-spacing:.035em;cursor:pointer;white-space:nowrap;transition:transform .22s ease,box-shadow .22s ease,background .22s ease}
.duo-studio__continue:hover{transform:translateY(-2px);background:#d72d24;box-shadow:0 12px 25px rgba(155,35,28,.22)}

/* Brief: visual preferences */
.brief-compass{margin:2px 0 2px;padding:18px;border:1px solid rgba(36,31,26,.09);border-radius:20px;background:#f3ede4}
.brief-compass__head{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:16px}
.brief-compass__head small{font-size:9px;font-weight:700;letter-spacing:.16em;color:#8a8075}
.brief-compass__head strong{display:block;margin-top:5px;font:500 18px/1.15 "Helvetica Neue",Arial,"Noto Sans",sans-serif;letter-spacing:-.02em;color:#231f1b}
.brief-compass__section+.brief-compass__section{margin-top:14px}
.brief-compass__section>span{display:block;margin:0 0 8px;font-size:9px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#8c8379}
.brief-compass__chips{display:flex;flex-wrap:wrap;gap:7px}
.brief-compass__chip{position:relative;display:inline-flex}
.brief-compass__chip input{position:absolute;opacity:0;pointer-events:none}
.brief-compass__chip span{display:inline-flex;align-items:center;min-height:35px;padding:0 11px;border:1px solid rgba(36,31,26,.11);border-radius:999px;background:rgba(255,255,255,.7);color:#403931;font-size:10px;font-weight:650;line-height:1.15;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.brief-compass__chip:hover span{transform:translateY(-1px);border-color:rgba(36,31,26,.2)}
.brief-compass__chip input:focus-visible+span{outline:2px solid var(--red);outline-offset:2px}
.brief-compass__chip input:checked+span{background:#211d19;border-color:#211d19;color:#fff}
.brief-compass__chip.is-limit span{animation:duoChoiceLimit .28s ease}
.brief-compass__hint{margin:12px 0 0;font-size:10px;line-height:1.45;color:#8a8177}

/* Brief: live project passport */
.brief-passport{margin:0 0 18px;padding:17px 18px 18px;border-radius:20px;background:linear-gradient(145deg,#211d19,#2b2520);color:#f2ede6;box-shadow:0 15px 34px rgba(20,17,14,.12)}
.brief-passport__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.09)}
.brief-passport__head span{font-size:9px;font-weight:800;letter-spacing:.16em;color:#fff}
.brief-passport__head small{font-size:9px;color:#aaa096}
.brief-passport__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;padding-top:14px}
.brief-passport__item small{display:block;margin-bottom:4px;font-size:8px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:#938a81}
.brief-passport__item strong{display:block;font-size:11px;line-height:1.35;font-weight:650;color:#f5f0e9;overflow-wrap:anywhere}
.brief-passport__item--wide{grid-column:1/-1}
.brief-passport__item--wide strong{color:#cfc6bc;font-weight:500}

.brief-success__passport{margin:15px auto 0;max-width:520px;padding:13px 15px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.045);color:#d9d0c6;font-size:10px;line-height:1.55;white-space:pre-line;text-align:left}
.brief-success__next{max-width:520px;margin:17px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:8px;text-align:left}
.brief-success__next>div{padding:12px 13px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07)}
.brief-success__next span{display:block;margin-bottom:5px;font-size:8px;font-weight:800;letter-spacing:.14em;color:#d8cbc0}
.brief-success__next strong{display:block;font-size:10px;line-height:1.45;font-weight:600;color:#fff}

@media (max-width:980px){
  .duo-studio{grid-template-columns:1fr;gap:26px}
  .duo-studio__intro{position:static;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.55fr);column-gap:28px;align-items:end}
  .duo-studio__intro .duo-studio__eyebrow,.duo-studio__intro h2{grid-column:1}
  .duo-studio__intro p,.duo-studio__status{grid-column:2;grid-row:auto}
  .duo-studio__intro p{margin-top:0}
  .duo-studio__status{margin-top:14px}
}
@media (max-width:720px){
  .duo-studio{width:calc(100% - 16px);padding:24px 16px;border-radius:26px}
  .duo-studio__intro{display:block}
  .duo-studio__intro h2{max-width:11ch;font-size:clamp(37px,11vw,54px)}
  .duo-studio__intro p{margin-top:17px}
  .duo-studio__status{margin-top:18px}
  .duo-studio__workspace{padding:18px 14px;border-radius:21px}
  .duo-studio__choices{grid-template-columns:1fr 1fr}
  .duo-studio__choice{min-height:61px}
  .duo-studio__summary{grid-template-columns:1fr;padding:15px}
  .duo-studio__continue{width:100%}
}
@media (max-width:440px){
  .duo-studio__choices{grid-template-columns:1fr}
  .duo-studio__choice{min-height:52px}
  .brief-compass{padding:15px 13px;border-radius:17px}
  .brief-compass__chips{display:grid;grid-template-columns:1fr 1fr}
  .brief-compass__chip span{width:100%;justify-content:center;text-align:center;padding:0 9px}
  .brief-passport{padding:15px 13px;border-radius:17px}
  .brief-passport__grid{grid-template-columns:1fr 1fr;gap:11px}
  .brief-success__next{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .duo-studio__choice,.duo-studio__continue,.brief-compass__chip span{transition:none}
  .duo-studio__choice.is-limit,.brief-compass__chip.is-limit span{animation:none}
}


/* ==========================================================================
   DUO FOCUS INTRO v19 — stable focus / hour-gated handoff
   Crisp text, no animated blur on copy, no backdrop-filter interpolation.
   ========================================================================== */
body.duo-preloading{overflow:hidden;overscroll-behavior:none}
body.duo-brand-intro-active .site-header .brand{opacity:0!important;pointer-events:none}
.site-header .brand.duo-logo-handoff-arrive{animation:duoHeaderBrandArrive .3s both cubic-bezier(.22,1,.36,1)}
.duo-focus-intro{--duo-focus-red:#e6382e;--duo-focus-cream:#eee8df;--duo-focus-ink:#171411;position:fixed;inset:0;z-index:10070;overflow:hidden;isolation:isolate;color:var(--duo-focus-cream);background:transparent;opacity:1;backface-visibility:hidden;transition:opacity .22s ease}
.duo-focus-intro__surface{position:absolute;inset:-2px;z-index:0;background:linear-gradient(135deg,rgba(20,17,14,.985),rgba(28,23,19,.968) 48%,rgba(16,14,12,.99));-webkit-backdrop-filter:blur(18px) saturate(.72) brightness(.68);backdrop-filter:blur(18px) saturate(.72) brightness(.68);opacity:1;transition:opacity .94s cubic-bezier(.22,1,.36,1);will-change:opacity}
.duo-focus-intro__surface::before{content:"";position:absolute;inset:-22%;background:radial-gradient(42% 48% at 18% 22%,rgba(230,56,46,.11),transparent 70%),radial-gradient(45% 54% at 82% 74%,rgba(228,207,184,.085),transparent 72%),linear-gradient(112deg,transparent 36%,rgba(255,255,255,.035) 48%,transparent 58%);transform:translate3d(-7%,0,0);animation:duoFocusAmbient 1.9s cubic-bezier(.22,1,.36,1) both;pointer-events:none}
.duo-focus-intro__surface::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0,rgba(255,255,255,.025) 50%,transparent 100%);opacity:.55;transform:translate3d(-100%,0,0);animation:duoFocusSweep 1.15s .18s cubic-bezier(.22,1,.36,1) both;pointer-events:none}
.duo-focus-intro__edge{position:absolute;z-index:1;background:rgba(239,232,222,.14);opacity:.72;pointer-events:none;transition:opacity .48s ease}
.duo-focus-intro__edge--top,.duo-focus-intro__edge--bottom{left:clamp(22px,4vw,58px);right:clamp(22px,4vw,58px);height:1px;transform:scaleX(0);transform-origin:left center;animation:duoFocusLineX .72s .08s forwards cubic-bezier(.22,1,.36,1)}
.duo-focus-intro__edge--top{top:clamp(20px,3vw,42px)}
.duo-focus-intro__edge--bottom{bottom:clamp(20px,3vw,42px);transform-origin:right center;animation-delay:.18s}
.duo-focus-intro__edge--left,.duo-focus-intro__edge--right{top:clamp(20px,3vw,42px);bottom:clamp(20px,3vw,42px);width:1px;transform:scaleY(0);transform-origin:center top;animation:duoFocusLineY .72s .14s forwards cubic-bezier(.22,1,.36,1)}
.duo-focus-intro__edge--left{left:clamp(22px,4vw,58px)}
.duo-focus-intro__edge--right{right:clamp(22px,4vw,58px);transform-origin:center bottom;animation-delay:.24s}
.duo-focus-intro__center{position:absolute;left:50%;top:50%;z-index:4;width:min(560px,calc(100vw - 48px));display:grid;justify-items:center;transform:translate3d(-50%,-50%,0);text-align:center}
.duo-focus-intro__eyebrow{margin:0 0 clamp(25px,4vh,40px);font-size:8px;line-height:1;font-weight:680;letter-spacing:.28em;text-transform:uppercase;color:rgba(239,232,222,.48);opacity:0;transform:translate3d(0,8px,0);animation:duoFocusCopyIn .56s .12s forwards cubic-bezier(.22,1,.36,1);transition:opacity .46s cubic-bezier(.22,1,.36,1),transform .58s cubic-bezier(.22,1,.36,1)}
.duo-focus-intro__logo-stage{position:relative;width:clamp(82px,7.1vw,118px);height:clamp(76px,6.8vw,112px);display:grid;place-items:center;z-index:5}
.duo-focus-intro__logo-stage::before{content:"";position:absolute;inset:-42%;border-radius:50%;background:radial-gradient(circle,rgba(230,56,46,.11),rgba(230,56,46,.025) 38%,transparent 68%);filter:blur(9px);opacity:0;transform:scale(.72);animation:duoFocusHalo .8s .28s forwards cubic-bezier(.22,1,.36,1);transition:opacity .5s ease;pointer-events:none}
.duo-focus-intro__logo-stage img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 30px rgba(0,0,0,.22));transform:translate3d(0,8px,0) scale(.96);opacity:0;animation:duoFocusLogoIn .72s .17s forwards cubic-bezier(.16,1,.3,1);will-change:transform,opacity}
.duo-focus-intro__fallback-logo{font-size:clamp(54px,6vw,94px);line-height:.86;font-weight:320;letter-spacing:.12em;color:#f1ebe2;transform:translateX(.06em)}
.duo-focus-intro__tagline{margin:clamp(24px,3.6vh,36px) 0 0;font-size:clamp(19px,2vw,28px);line-height:1.08;font-weight:330;letter-spacing:-.03em;color:rgba(244,238,229,.93);opacity:0;transform:translate3d(0,10px,0);animation:duoFocusTagIn .66s .34s forwards cubic-bezier(.22,1,.36,1);transition:opacity .52s cubic-bezier(.22,1,.36,1),transform .62s cubic-bezier(.22,1,.36,1)}
.duo-focus-intro__tagline em{font-style:normal;color:#fff}
.duo-focus-intro__meta{display:flex;align-items:center;gap:10px;margin-top:13px;font-size:7px;font-weight:680;letter-spacing:.22em;text-transform:uppercase;color:rgba(239,232,222,.36);opacity:0;transform:translate3d(0,7px,0);animation:duoFocusCopyIn .52s .48s forwards cubic-bezier(.22,1,.36,1);transition:opacity .46s cubic-bezier(.22,1,.36,1),transform .58s cubic-bezier(.22,1,.36,1)}
.duo-focus-intro__meta i{width:17px;height:1px;background:var(--duo-focus-red);box-shadow:0 0 16px rgba(230,56,46,.25)}
.duo-focus-intro__progress{position:absolute;left:50%;bottom:clamp(36px,6vh,72px);z-index:4;width:min(420px,calc(100vw - 64px));transform:translate3d(-50%,0,0);display:grid;grid-template-columns:auto minmax(80px,1fr) auto;gap:14px;align-items:center;font-size:7px;font-weight:690;letter-spacing:.2em;text-transform:uppercase;color:rgba(239,232,222,.38);opacity:0;animation:duoFocusProgressIn .5s .48s forwards ease;transition:opacity .42s ease,transform .56s cubic-bezier(.22,1,.36,1)}
.duo-focus-intro__progress-track{position:relative;height:1px;overflow:hidden;background:rgba(239,232,222,.12)}
.duo-focus-intro__progress-track i{position:absolute;inset:0;background:linear-gradient(90deg,var(--duo-focus-red),#f4eee5 78%,#f4eee5);transform:scaleX(.02);transform-origin:left center;box-shadow:0 0 15px rgba(230,56,46,.24);will-change:transform}
.duo-focus-intro__percent{min-width:27px;text-align:right;font-variant-numeric:tabular-nums;color:rgba(244,238,229,.78);letter-spacing:.08em}
.duo-focus-intro__corner{position:absolute;z-index:3;font-size:6px;font-weight:680;letter-spacing:.22em;text-transform:uppercase;color:rgba(239,232,222,.24);opacity:0;transform:translate3d(0,5px,0);animation:duoFocusCopyIn .46s .62s forwards ease;transition:opacity .4s ease,transform .5s cubic-bezier(.22,1,.36,1)}
.duo-focus-intro__corner--tl{top:clamp(31px,4.1vw,59px);left:clamp(34px,5vw,74px)}
.duo-focus-intro__corner--br{right:clamp(34px,5vw,74px);bottom:clamp(31px,4.1vw,59px);text-align:right}
.duo-focus-intro.is-ready .duo-focus-intro__progress-track i{box-shadow:0 0 22px rgba(230,56,46,.38)}
.duo-focus-intro.is-copy-out .duo-focus-intro__tagline{opacity:0;transform:translate3d(0,-7px,0)}
.duo-focus-intro.is-copy-out .duo-focus-intro__meta{opacity:0;transform:translate3d(0,-5px,0);transition-delay:.035s}
.duo-focus-intro.is-copy-out .duo-focus-intro__eyebrow{opacity:0;transform:translate3d(0,-4px,0);transition-delay:.065s}
.duo-focus-intro.is-copy-out .duo-focus-intro__progress{opacity:0;transform:translate3d(-50%,8px,0);transition-delay:.06s}
.duo-focus-intro.is-copy-out .duo-focus-intro__corner,.duo-focus-intro.is-copy-out .duo-focus-intro__edge{opacity:0}
.duo-focus-intro.is-copy-out .duo-focus-intro__logo-stage::before{opacity:0}
.duo-focus-intro.is-handoff .duo-focus-intro__surface{opacity:0}
.duo-focus-intro.is-finished{opacity:0;pointer-events:none}
@keyframes duoFocusLineX{to{transform:scaleX(1)}}
@keyframes duoFocusLineY{to{transform:scaleY(1)}}
@keyframes duoFocusCopyIn{to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes duoFocusLogoIn{0%{opacity:0;transform:translate3d(0,8px,0) scale(.96)}100%{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@keyframes duoFocusTagIn{to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes duoFocusProgressIn{to{opacity:1}}
@keyframes duoFocusHalo{to{opacity:1;transform:scale(1)}}
@keyframes duoFocusAmbient{from{opacity:.12;transform:translate3d(-12%,0,0) scale(.96)}to{opacity:.9;transform:translate3d(4%,0,0) scale(1.02)}}
@keyframes duoFocusSweep{0%{opacity:0;transform:translate3d(-110%,0,0)}35%{opacity:.55}100%{opacity:0;transform:translate3d(110%,0,0)}}
@keyframes duoHeaderBrandArrive{from{opacity:0}to{opacity:1}}
@media(max-width:720px){
  .duo-focus-intro__surface{-webkit-backdrop-filter:blur(10px) saturate(.78) brightness(.72);backdrop-filter:blur(10px) saturate(.78) brightness(.72)}
  .duo-focus-intro__center{width:calc(100vw - 42px)}
  .duo-focus-intro__eyebrow{font-size:7px;letter-spacing:.23em;margin-bottom:22px}
  .duo-focus-intro__logo-stage{width:78px;height:76px}
  .duo-focus-intro__tagline{max-width:12ch;font-size:clamp(22px,7.6vw,31px)}
  .duo-focus-intro__meta{font-size:6px;letter-spacing:.18em}
  .duo-focus-intro__progress{width:calc(100vw - 58px);bottom:30px;grid-template-columns:auto minmax(60px,1fr) 28px;gap:10px;font-size:6px}
  .duo-focus-intro__corner{display:none}
  .duo-focus-intro__edge--top,.duo-focus-intro__edge--bottom{left:15px;right:15px}.duo-focus-intro__edge--top{top:15px}.duo-focus-intro__edge--bottom{bottom:15px}.duo-focus-intro__edge--left,.duo-focus-intro__edge--right{top:15px;bottom:15px}.duo-focus-intro__edge--left{left:15px}.duo-focus-intro__edge--right{right:15px}
}
@media(prefers-reduced-motion:reduce){
  .duo-focus-intro,.duo-focus-intro *{animation:none!important;transition:none!important}
  .duo-focus-intro__surface{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  .duo-focus-intro__eyebrow,.duo-focus-intro__logo-stage img,.duo-focus-intro__tagline,.duo-focus-intro__meta,.duo-focus-intro__progress,.duo-focus-intro__corner{opacity:1!important;transform:none!important;filter:none!important}
  .duo-focus-intro__edge--top,.duo-focus-intro__edge--bottom{transform:scaleX(1)!important}.duo-focus-intro__edge--left,.duo-focus-intro__edge--right{transform:scaleY(1)!important}
}


/* ==========================================================================
   DUO PRIVACY CENTER · Moldova 195/2024 · 23.08.2026
   ========================================================================== */
.brief-privacy{margin-top:20px;padding:17px 18px;border:1px solid rgba(35,30,25,.11);border-radius:16px;background:rgba(255,255,255,.26)}
.privacy-ack{position:relative;display:grid;grid-template-columns:22px 1fr;gap:11px;align-items:start;cursor:pointer}
.privacy-ack input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}
.privacy-ack__box{display:grid;place-items:center;width:21px;height:21px;margin-top:1px;border:1px solid rgba(35,30,25,.28);border-radius:6px;background:rgba(255,255,255,.42);transition:border-color .2s var(--ease),background .2s var(--ease),transform .2s var(--ease)}
.privacy-ack__box .ui-icon{width:13px;height:13px;opacity:0;transform:scale(.7);transition:opacity .18s ease,transform .18s var(--ease)}
.privacy-ack input:checked+.privacy-ack__box{border-color:var(--ink-soft);background:var(--ink-soft);color:var(--text)}
.privacy-ack input:checked+.privacy-ack__box .ui-icon{opacity:1;transform:scale(1)}
.privacy-ack input:focus-visible+.privacy-ack__box{outline:2px solid var(--red);outline-offset:3px}
.privacy-ack__text{font-size:11px;line-height:1.55;color:var(--ink);font-weight:600}
.brief-privacy .form-consent{margin:9px 0 0 33px;max-width:690px}
.privacy-inline-link{appearance:none;border:0;padding:0;background:transparent;color:var(--ink);font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.upload-privacy-note{margin:9px 2px 0;color:#8d847a;font-size:9px;line-height:1.55}

.privacy-banner{z-index:10020;width:min(470px,calc(100vw - 44px));padding:20px;border-radius:22px;background:rgba(239,233,224,.985);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border:1px solid rgba(35,30,25,.10);box-shadow:0 28px 80px rgba(18,13,10,.22)}
.privacy-banner__mark{display:inline-grid;place-items:center;min-width:52px;height:24px;margin-bottom:15px;padding:0 10px;border:1px solid rgba(35,30,25,.13);border-radius:999px;font-size:8px;font-weight:800;letter-spacing:.25em}
.privacy-banner__copy strong{font-size:16px;font-weight:560;letter-spacing:-.02em}
.privacy-banner__copy p{margin:7px 0 17px;max-width:55ch;font-size:11px;line-height:1.62;color:#746c63}
.privacy-banner__actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.privacy-banner__actions .cookie-primary{grid-column:1/-1;margin:0;min-height:44px}
.privacy-banner__links{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:13px;padding-top:12px;border-top:1px solid rgba(35,30,25,.09)}
.privacy-banner__links a{font-size:9px;color:#6e665e;text-decoration:none;border-bottom:1px solid rgba(35,30,25,.25)}

.privacy-center{width:min(940px,calc(100% - 28px));max-height:calc(100svh - 28px);padding:0;border:0;border-radius:26px;background:transparent;color:var(--ink);overflow:visible}
.privacy-center::backdrop{background:rgba(12,10,8,.78);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.privacy-center__panel{max-height:calc(100svh - 28px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:26px;background:var(--paper);box-shadow:0 35px 110px rgba(0,0,0,.34)}
.privacy-center__head{display:grid;grid-template-columns:1fr auto;gap:24px;padding:28px 30px 22px;border-bottom:1px solid var(--line-dark)}
.privacy-center__head>div>span,.privacy-center__section-head small,.privacy-center__hero small{font-size:8px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#8b8177}
.privacy-center__head h2{margin:7px 0 5px;font-size:clamp(28px,4vw,46px);font-weight:350;line-height:1;letter-spacing:-.035em}
.privacy-center__head p{margin:0;max-width:680px;color:#756d65;font-size:11px;line-height:1.55}
.privacy-center__close{width:40px;height:40px;border:1px solid rgba(35,30,25,.12);border-radius:50%;background:transparent;color:var(--ink);font-size:24px;font-weight:250;line-height:1;cursor:pointer}
.privacy-center__body{overflow:auto;padding:22px 30px 28px}
.privacy-center__hero{display:grid;grid-template-columns:1.2fr .8fr;gap:12px;margin-bottom:20px}
.privacy-center__hero>div{min-height:142px;padding:21px;border:1px solid rgba(35,30,25,.09);border-radius:18px;background:rgba(255,255,255,.22)}
.privacy-center__hero strong{display:block;margin:10px 0 7px;font-size:18px;font-weight:560}
.privacy-center__hero p{margin:0;font-size:10px;line-height:1.55;color:#766f67}
.privacy-center__law{display:flex;flex-direction:column;justify-content:space-between;background:var(--ink-soft)!important;color:var(--text)}
.privacy-center__law span{font-size:30px;font-weight:320;letter-spacing:-.04em}
.privacy-center__law p{color:rgba(242,237,230,.72)}
.privacy-center__section{padding:26px 0;border-top:1px solid var(--line-dark)}
.privacy-center__section:first-of-type{border-top:0}
.privacy-center__section-head{display:flex;justify-content:space-between;align-items:end;gap:26px;margin-bottom:16px}
.privacy-center__section-head>div{display:flex;align-items:baseline;gap:13px}
.privacy-center__section-head h3{margin:0;font-size:22px;font-weight:430;letter-spacing:-.025em}
.privacy-center__section-head>p{margin:0;max-width:390px;color:#837a71;font-size:9px;line-height:1.55;text-align:right}
.privacy-switch-row{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;padding:16px 0;border-top:1px solid rgba(35,30,25,.08);cursor:pointer}
.privacy-switch-row>div strong{display:block;font-size:12px;font-weight:650}.privacy-switch-row>div small{display:block;margin-top:4px;max-width:660px;color:#81786f;font-size:9px;line-height:1.5}
.privacy-switch-row input{position:absolute;opacity:0;pointer-events:none}
.privacy-switch{position:relative;width:42px;height:24px;border-radius:999px;background:#d2cbc1;box-shadow:inset 0 0 0 1px rgba(35,30,25,.08);transition:background .22s var(--ease)}
.privacy-switch:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 3px 9px rgba(0,0,0,.14);transition:transform .22s var(--ease)}
.privacy-switch-row input:checked+.privacy-switch{background:var(--ink-soft)}.privacy-switch-row input:checked+.privacy-switch:after{transform:translateX(18px)}
.privacy-switch-row input:focus-visible+.privacy-switch{outline:2px solid var(--red);outline-offset:3px}
.privacy-status{display:grid;place-items:center;min-width:42px;height:24px;border-radius:999px;background:rgba(35,30,25,.08);font-size:8px;font-weight:800;letter-spacing:.1em}
.privacy-consent-record{display:flex;justify-content:space-between;gap:20px;padding:13px 0 0;color:#8a8178;font-size:8px;text-transform:uppercase;letter-spacing:.09em}.privacy-consent-record strong{color:var(--ink);font-weight:700;text-align:right}
.privacy-center__cookie-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.privacy-center__cookie-actions button{min-height:42px;padding:0 15px;border:1px solid rgba(35,30,25,.16);border-radius:999px;background:transparent;color:var(--ink);font-size:8px;font-weight:750;letter-spacing:.09em;text-transform:uppercase;cursor:pointer}.privacy-center__cookie-actions .cookie-save{width:auto;margin:0;background:var(--ink-soft);border-color:var(--ink-soft);color:var(--text)}
.privacy-copy-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(35,30,25,.08);border:1px solid rgba(35,30,25,.08);border-radius:15px;overflow:hidden}.privacy-copy-grid p{margin:0;padding:17px;background:var(--paper);color:#756d65;font-size:10px;line-height:1.65}.privacy-copy-grid p:last-child:nth-child(odd){grid-column:1/-1}
.privacy-rights-copy{max-width:820px;margin:0;color:#6f6861;font-size:11px;line-height:1.7}
.privacy-center__legal-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.privacy-center__legal-actions a,.legal-compliance__actions a,.legal-compliance__actions button{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border:1px solid rgba(35,30,25,.14);border-radius:999px;background:transparent;color:var(--ink);font-size:8px;font-weight:750;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;cursor:pointer}
.privacy-center__company{border-top:1px solid var(--line-dark);padding:20px 0 0}.privacy-center__company summary{cursor:pointer;font-size:9px;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.privacy-center__company>div{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:16px 0 0}.privacy-center__company p{margin:0;color:#766e66;font-size:10px;line-height:1.65}
.privacy-center__footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 30px;border-top:1px solid var(--line-dark);background:rgba(255,255,255,.14)}.privacy-center__footer span{font-size:8px;color:#8b8177;letter-spacing:.08em;text-transform:uppercase}.privacy-center__footer button{border:0;background:transparent;color:var(--ink);font-size:9px;font-weight:750;text-transform:uppercase;letter-spacing:.09em;cursor:pointer}
.footer-privacy-center{border:0;padding:0;background:transparent;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}

.legal-compliance{max-width:1180px;margin:0 auto}
.legal-compliance__intro{padding:8px 0 36px;max-width:900px}.legal-compliance__intro>span{font-size:9px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--red)}.legal-compliance__intro h1{margin:12px 0 15px;font-size:clamp(42px,7vw,86px);font-weight:330;letter-spacing:-.05em;line-height:.96}.legal-compliance__intro p{max-width:720px;margin:0;color:#81786f;line-height:1.7}
.legal-compliance__operator{display:grid;grid-template-columns:1fr 1fr;gap:14px 34px;padding:26px;border-radius:20px;background:var(--ink-soft);color:var(--text)}.legal-compliance__operator small{grid-column:1/-1;font-size:8px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:rgba(242,237,230,.58)}.legal-compliance__operator h2{margin:0;font-size:28px;font-weight:400}.legal-compliance__operator p{margin:0;color:rgba(242,237,230,.72);font-size:10px;line-height:1.65}.legal-compliance__operator a{color:inherit}
.legal-compliance__grid{display:grid;grid-template-columns:1fr 1fr;margin-top:20px;border-top:1px solid var(--line-dark);border-left:1px solid var(--line-dark)}.legal-compliance__grid article{min-height:230px;padding:26px;border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}.legal-compliance__grid article>span{font-size:9px;color:var(--red);font-weight:800}.legal-compliance__grid h2{margin:32px 0 12px;font-size:20px;font-weight:500}.legal-compliance__grid p{margin:0 0 10px;color:#786f66;font-size:10px;line-height:1.7}.legal-compliance__grid a{color:var(--ink);text-underline-offset:3px}
.legal-compliance__actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.legal-compliance__actions button{background:var(--ink-soft);border-color:var(--ink-soft);color:var(--text)}
.legal-cookie-table{display:grid;grid-template-columns:repeat(3,1fr);margin:5px 0 22px;border:1px solid var(--line-dark);border-radius:19px;overflow:hidden}.legal-cookie-table>div{padding:24px;border-right:1px solid var(--line-dark)}.legal-cookie-table>div:last-child{border-right:0}.legal-cookie-table strong{display:block;font-size:18px;font-weight:500}.legal-cookie-table span{display:inline-block;margin:8px 0 13px;padding:5px 8px;border-radius:999px;background:rgba(35,30,25,.06);font-size:8px;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.legal-cookie-table p{margin:0;color:#786f66;font-size:10px;line-height:1.65}

@media(max-width:760px){
  .privacy-center{width:calc(100% - 12px);max-height:calc(100svh - 12px);border-radius:18px}.privacy-center__panel{max-height:calc(100svh - 12px);border-radius:18px}.privacy-center__head{padding:22px 18px 18px}.privacy-center__head h2{font-size:31px}.privacy-center__body{padding:15px 18px 22px}.privacy-center__hero{grid-template-columns:1fr}.privacy-center__hero>div{min-height:120px}.privacy-center__section-head{display:block}.privacy-center__section-head>p{margin-top:8px;text-align:left}.privacy-copy-grid{grid-template-columns:1fr}.privacy-copy-grid p:last-child:nth-child(odd){grid-column:auto}.privacy-center__company>div{grid-template-columns:1fr}.privacy-center__footer{padding:13px 18px}.privacy-center__cookie-actions{display:grid;grid-template-columns:1fr}.privacy-center__cookie-actions button{width:100%}.privacy-consent-record{display:block}.privacy-consent-record strong{display:block;margin-top:5px;text-align:left}.privacy-banner{left:10px;bottom:10px;width:calc(100vw - 20px);padding:17px;border-radius:17px}.privacy-banner__actions{grid-template-columns:1fr}.privacy-banner__actions .cookie-primary{grid-column:auto}.brief-privacy{padding:15px}.brief-privacy .form-consent{margin-left:0}.legal-compliance__operator{grid-template-columns:1fr}.legal-compliance__grid{grid-template-columns:1fr}.legal-compliance__grid article{min-height:0}.legal-cookie-table{grid-template-columns:1fr}.legal-cookie-table>div{border-right:0;border-bottom:1px solid var(--line-dark)}.legal-cookie-table>div:last-child{border-bottom:0}}
@media(prefers-reduced-motion:reduce){.privacy-ack__box,.privacy-ack__box .ui-icon,.privacy-switch,.privacy-switch:after{transition:none!important}}


/* =========================================================
   DUO HEADER 2026 — ADEPTDEV FULL MODE
   Floating architectural navbar / progressive blur / smart scroll.
   Keeps the official DUO brand and existing navigation markup.
   ========================================================= */
.site-header{
  --header-surface:rgba(25,21,18,.76);
  --header-surface-solid:rgba(28,24,21,.92);
  --header-border:rgba(239,232,222,.105);
  --header-shadow:0 18px 58px rgba(7,5,4,.20),0 3px 12px rgba(7,5,4,.10);
  top:18px;
  left:50%;
  right:auto;
  width:min(calc(100% - 36px),1740px);
  height:76px;
  padding:0 clamp(18px,2.2vw,34px);
  grid-template-columns:80px minmax(0,1fr) auto;
  gap:clamp(20px,2.4vw,38px);
  border:1px solid var(--header-border);
  border-radius:24px;
  background:linear-gradient(180deg,rgba(39,34,30,.78),rgba(22,19,17,.73));
  box-shadow:var(--header-shadow),inset 0 1px 0 rgba(255,255,255,.045);
  -webkit-backdrop-filter:blur(18px) saturate(1.08);
  backdrop-filter:blur(18px) saturate(1.08);
  transform:translate3d(-50%,0,0);
  transform-origin:50% 0;
  isolation:isolate;
  will-change:transform,width,height,background-color;
  transition:
    top .48s var(--ease),
    width .56s var(--ease),
    height .48s var(--ease),
    padding .48s var(--ease),
    background .42s var(--ease),
    border-color .42s var(--ease),
    box-shadow .42s var(--ease),
    transform .52s var(--ease),
    opacity .32s ease;
}
.site-header::before{
  content:"";
  position:absolute;
  z-index:-2;
  pointer-events:none;
  inset:-14px -8px -30px;
  border-radius:34px;
  background:rgba(23,20,17,.055);
  -webkit-backdrop-filter:blur(17px);
  backdrop-filter:blur(17px);
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.95) 46%,rgba(0,0,0,.34) 76%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.95) 46%,rgba(0,0,0,.34) 76%,transparent 100%);
  opacity:.74;
  transition:opacity .4s var(--ease),inset .4s var(--ease);
}
.site-header::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  border-radius:inherit;
  background:
    radial-gradient(90% 120% at 15% -22%,rgba(255,255,255,.075),transparent 46%),
    linear-gradient(90deg,rgba(235,54,43,.035),transparent 26%,transparent 74%,rgba(255,255,255,.018));
  opacity:.9;
}
.site-header.is-solid{
  top:10px;
  width:min(calc(100% - 30px),1480px);
  height:64px;
  padding:0 clamp(16px,1.8vw,28px);
  background:linear-gradient(180deg,rgba(35,30,27,.95),rgba(25,21,18,.93));
  border-color:rgba(239,232,222,.115);
  box-shadow:0 18px 54px rgba(7,5,4,.26),0 2px 10px rgba(7,5,4,.12),inset 0 1px 0 rgba(255,255,255,.045);
  -webkit-backdrop-filter:blur(23px) saturate(1.1);
  backdrop-filter:blur(23px) saturate(1.1);
}
.site-header.is-solid::before{inset:-10px -6px -24px;opacity:.9}
.site-header.is-hidden{
  transform:translate3d(-50%,calc(-100% - 28px),0);
  opacity:.02;
  pointer-events:none;
}

/* Brand: preserve official asset, improve spacing/response only. */
.site-header .brand{
  position:relative;
  z-index:2;
  width:54px;
  display:grid;
  place-items:center;
  opacity:.96;
  transform:translateZ(0);
  transition:width .42s var(--ease),opacity .25s ease,transform .42s var(--ease),filter .42s var(--ease);
}
.site-header .brand img{width:100%;height:auto;filter:drop-shadow(0 8px 18px rgba(0,0,0,.16))}
.site-header .brand:hover{opacity:1;transform:translateY(-1px) scale(1.018);filter:brightness(1.04)}
.site-header.is-solid .brand{width:47px}

/* Navigation: restrained editorial type with micro motion, no generic pills. */
.site-header .desktop-nav{
  justify-self:center;
  display:flex;
  align-items:center;
  gap:clamp(20px,2vw,34px);
  min-width:0;
}
.site-header .desktop-nav a{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:0;
  color:rgba(239,232,222,.69);
  font-size:9px;
  font-weight:620;
  line-height:1;
  letter-spacing:.135em;
  text-transform:uppercase;
  white-space:nowrap;
  transition:color .24s ease,transform .34s var(--ease);
}
.site-header .desktop-nav a::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:3px;
  width:18px;
  height:1.5px;
  border-radius:999px;
  background:var(--red);
  opacity:0;
  transform:translateX(-50%) scaleX(.12);
  transform-origin:center;
  transition:opacity .24s ease,transform .38s var(--ease);
}
.site-header .desktop-nav a:hover,
.site-header .desktop-nav a:focus-visible,
.site-header .desktop-nav a[aria-current="page"]{color:#f3ede4}
.site-header .desktop-nav a:hover{transform:translateY(-1px)}
.site-header .desktop-nav a:hover::after,
.site-header .desktop-nav a:focus-visible::after,
.site-header .desktop-nav a[aria-current="page"]::after{opacity:1;transform:translateX(-50%) scaleX(1)}
.site-header.is-solid .desktop-nav a{min-height:36px}

.site-header .header-actions{display:flex;align-items:center;gap:13px;justify-self:end}
.site-header .lang-switch{
  position:relative;
  display:flex;
  align-items:center;
  gap:7px;
  min-height:34px;
  padding:0 2px;
  color:rgba(239,232,222,.28);
  font-size:9px;
  font-weight:650;
  line-height:1;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.site-header .lang-switch a{position:relative;color:rgba(239,232,222,.48);transition:color .22s ease,transform .3s var(--ease)}
.site-header .lang-switch a:hover{color:#f0e9df;transform:translateY(-1px)}
.site-header .lang-switch a.is-active{color:#f4eee5}
.site-header .lang-switch a.is-active::after{
  content:"";position:absolute;left:50%;bottom:-8px;width:4px;height:4px;border-radius:50%;background:var(--red);transform:translateX(-50%);box-shadow:0 0 0 3px rgba(235,54,43,.08)
}

/* CTA: solid ivory action with a coded SVG direction icon. */
.site-header .header-brief{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:0 51px 0 18px;
  overflow:hidden;
  border:0;
  border-radius:15px;
  background:#ede6dc;
  color:#211d19;
  box-shadow:0 8px 24px rgba(0,0,0,.12),inset 0 0 0 1px rgba(36,30,25,.035);
  font-size:9px;
  font-weight:720;
  line-height:1;
  letter-spacing:.105em;
  text-transform:uppercase;
  cursor:pointer;
  transform:translateZ(0);
  transition:background .28s ease,color .28s ease,transform .36s var(--ease),box-shadow .36s var(--ease);
}
.site-header .header-brief::before{
  content:"";
  position:absolute;
  right:7px;
  top:50%;
  width:30px;
  height:30px;
  border-radius:50%;
  background:#211d19;
  transform:translateY(-50%);
  transition:transform .38s var(--ease),background .28s ease;
}
.site-header .header-brief::after{
  content:"";
  position:absolute;
  right:16px;
  top:50%;
  width:12px;
  height:12px;
  background:#f2ece3;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h13M13 7l5 5-5 5' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h13M13 7l5 5-5 5' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  transform:translateY(-50%);
  transition:transform .38s var(--ease);
}
.site-header .header-brief:hover,
.site-header .header-brief:focus-visible{
  background:#f5efe6;
  color:#171411;
  transform:translateY(-1px);
  box-shadow:0 13px 30px rgba(0,0,0,.17),inset 0 0 0 1px rgba(36,30,25,.04);
}
.site-header .header-brief:hover::before{transform:translateY(-50%) scale(1.06);background:#eb362b}
.site-header .header-brief:hover::after{transform:translate(2px,-50%)}
.site-header.is-solid .header-brief{min-height:40px;border-radius:14px;padding-left:16px;padding-right:47px}
.site-header.is-solid .header-brief::before{width:28px;height:28px}
.site-header.is-solid .header-brief::after{right:15px}

/* Burger: compact architectural control. */
.site-header .menu-toggle{
  position:relative;
  width:42px;
  height:42px;
  border-radius:14px;
  border:1px solid rgba(239,232,222,.105);
  background:rgba(239,232,222,.055);
  padding:0;
  cursor:pointer;
  transition:background .25s ease,border-color .25s ease,transform .32s var(--ease);
}
.site-header .menu-toggle:hover{background:rgba(239,232,222,.095);border-color:rgba(239,232,222,.16);transform:translateY(-1px)}
.site-header .menu-toggle>span:not(.sr-only){position:absolute;left:50%;width:18px;height:1.25px;margin:0;background:#ede7de;border-radius:999px;transform:translateX(-50%);transition:transform .3s var(--ease),top .3s var(--ease)}
.site-header .menu-toggle>span:not(.sr-only):nth-of-type(1){top:17px}
.site-header .menu-toggle>span:not(.sr-only):nth-of-type(2){top:24px;width:13px;margin-left:2.5px}

/* Mobile navigation now reveals rather than appearing in one frame. */
.mobile-menu{
  opacity:0;
  transform:translateY(-10px) scale(.988);
  transform-origin:50% 0;
  clip-path:inset(0 0 16% 0 round 26px);
  background:linear-gradient(155deg,#211c18 0%,#171411 68%,#201a17 100%);
  border-color:rgba(239,232,222,.09);
  box-shadow:0 24px 90px rgba(7,5,4,.42);
  transition:opacity .28s ease,transform .48s var(--ease),clip-path .52s var(--ease);
}
.mobile-menu.is-open{opacity:1;transform:none;clip-path:inset(0 0 0 0 round 26px)}
.mobile-menu__nav a{position:relative;transition:color .22s ease,transform .34s var(--ease)}
.mobile-menu__nav a:hover{color:#fff;transform:translateX(6px)}
.mobile-menu__nav a[aria-current="page"]{color:#fff}
.mobile-menu__nav a[aria-current="page"]::before{content:"";position:absolute;left:-17px;top:50%;width:7px;height:7px;border-radius:50%;background:var(--red);transform:translateY(-50%)}

@media (max-width:1280px){
  .site-header{width:calc(100% - 28px);grid-template-columns:68px minmax(0,1fr) auto;padding-inline:22px;gap:20px}
  .site-header.is-solid{width:calc(100% - 24px)}
  .site-header .desktop-nav{gap:18px}
  .site-header .desktop-nav a{font-size:8.5px;letter-spacing:.11em}
  .site-header .header-brief{padding-left:15px;padding-right:47px}
}
@media (max-width:1040px){
  .site-header .desktop-nav a:nth-child(4),.site-header .desktop-nav a:nth-child(5){display:none}
}
@media (max-width:900px){
  .site-header,
  .site-header.is-solid{
    top:10px;
    left:50%;
    right:auto;
    width:calc(100% - 20px);
    height:62px;
    padding:0 11px 0 15px;
    grid-template-columns:50px 1fr auto;
    gap:12px;
    border-radius:20px;
    transform:translate3d(-50%,0,0);
  }
  .site-header.is-hidden{transform:translate3d(-50%,calc(-100% - 22px),0)}
  .site-header::before{inset:-7px -4px -18px;border-radius:27px}
  .site-header .brand,.site-header.is-solid .brand{width:43px}
  .site-header .desktop-nav,.site-header .header-brief{display:none}
  .site-header .header-actions{gap:9px}
  .site-header .lang-switch{font-size:8px;letter-spacing:.115em}
  .site-header .lang-switch a.is-active::after{bottom:-7px;width:3px;height:3px}
  .site-header .menu-toggle{display:block}
}
@media (max-width:420px){
  .site-header,.site-header.is-solid{width:calc(100% - 16px);top:8px;height:58px;border-radius:18px;padding-left:13px;padding-right:8px}
  .site-header .brand,.site-header.is-solid .brand{width:39px}
  .site-header .menu-toggle{width:40px;height:40px;border-radius:13px}
}
@media (prefers-reduced-motion:reduce){
  .site-header,.site-header::before,.site-header .brand,.site-header .desktop-nav a,.site-header .desktop-nav a::after,.site-header .lang-switch a,.site-header .header-brief,.site-header .header-brief::before,.site-header .header-brief::after,.site-header .menu-toggle,.mobile-menu,.mobile-menu__nav a{transition:none!important}
  .site-header.is-hidden{transform:translate3d(-50%,0,0);opacity:1;pointer-events:auto}
}

/* ==========================================================================
   DUO Contact — compact studio direction v15
   Quiet scale, precise rhythm, restrained editorial composition.
   ========================================================================== */
.contact-studio{background:var(--paper-2);color:var(--ink);padding:14px 14px 0;overflow:clip}
.contact-studio svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.contact-studio__hero{max-width:var(--content);min-height:590px;margin:0 auto;display:grid;grid-template-columns:minmax(330px,.82fr) minmax(0,1.18fr);background:#e9e4dc;border:1px solid rgba(24,21,18,.1);border-radius:26px;overflow:hidden}
.contact-studio__copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(48px,5.4vw,84px);padding-right:clamp(36px,4vw,64px)}
.contact-studio__eyebrow,.contact-studio__section-head>span,.contact-studio__start-copy>span{display:block;color:#796f65;font-size:8px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.contact-studio__copy h1{max-width:610px;margin:20px 0 0;font-size:clamp(42px,4.3vw,72px);font-weight:310;line-height:.96;letter-spacing:-.052em;text-wrap:balance}
.contact-studio__copy>p{max-width:470px;margin:24px 0 0;color:#6c645c;font-size:13px;line-height:1.7}
.contact-studio__primary{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;width:max-content;min-width:208px;margin-top:30px;padding:14px 17px;border-radius:11px;background:#201c18;color:#f3eee7;font-size:9px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;cursor:pointer;transition:transform .28s var(--ease),background .28s}
.contact-studio__primary:hover{transform:translateY(-2px);background:#2d2722}.contact-studio__primary svg{transition:transform .28s var(--ease)}.contact-studio__primary:hover svg{transform:translateX(4px)}
.contact-studio__quick{display:grid;grid-template-columns:1fr 1.15fr;gap:26px;margin-top:auto;padding-top:44px}
.contact-studio__quick a{min-width:0;padding-top:12px;border-top:1px solid rgba(24,21,18,.16)}
.contact-studio__quick span{display:block;margin-bottom:7px;color:#8a8178;font-size:7px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.contact-studio__quick strong{display:block;overflow-wrap:anywhere;font-size:11px;font-weight:560;line-height:1.45}
.contact-studio__media{position:relative;min-height:590px;margin:0;overflow:hidden;background:#28231f}
.contact-studio__media picture,.contact-studio__media img{width:100%;height:100%;display:block}.contact-studio__media img{object-fit:cover;object-position:center 48%;transform:scale(1.015);transition:transform 1.2s var(--ease)}
.contact-studio__hero:hover .contact-studio__media img{transform:scale(1.035)}
.contact-studio__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,9,8,.05),rgba(11,9,8,.22))}
.contact-studio__media figcaption{position:absolute;z-index:2;left:20px;right:20px;bottom:18px;display:flex;justify-content:space-between;gap:20px;padding-top:12px;border-top:1px solid rgba(255,255,255,.28);color:#ded8d0;font-size:7px;font-weight:650;letter-spacing:.13em;text-transform:uppercase}

.contact-studio__direct{max-width:var(--content);margin:0 auto;padding:clamp(66px,6.5vw,96px) var(--gutter) clamp(72px,7vw,104px)}
.contact-studio__section-head{display:flex;align-items:end;justify-content:space-between;gap:34px;margin-bottom:34px}
.contact-studio__section-head h2{max-width:620px;margin:0;font-size:clamp(28px,2.8vw,44px);font-weight:330;line-height:1.02;letter-spacing:-.04em}
.contact-studio__links{border-top:1px solid rgba(24,21,18,.16)}
.contact-studio__links a{display:grid;grid-template-columns:150px minmax(0,1fr) 26px;align-items:center;gap:24px;min-height:78px;border-bottom:1px solid rgba(24,21,18,.16);transition:color .25s,padding .3s var(--ease)}
.contact-studio__links a>span{color:#7d746b;font-size:8px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.contact-studio__links a strong{overflow-wrap:anywhere;font-size:clamp(18px,1.75vw,27px);font-weight:390;letter-spacing:-.025em}.contact-studio__links a svg{justify-self:end;transition:transform .3s var(--ease)}
.contact-studio__links a:hover{padding-left:8px;color:#9d1f19}.contact-studio__links a:hover svg{transform:translate(3px,-3px)}

.contact-studio__start{max-width:var(--content);margin:0 auto;padding:clamp(70px,7vw,108px) var(--gutter);display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:clamp(54px,8vw,118px);border-top:1px solid rgba(24,21,18,.16)}
.contact-studio__start-copy h2{max-width:520px;margin:20px 0 0;font-size:clamp(34px,3.4vw,54px);font-weight:320;line-height:.98;letter-spacing:-.045em;text-wrap:balance}
.contact-studio__text-link{display:inline-flex;align-items:center;gap:30px;margin-top:30px;padding:0 0 9px;border-bottom:1px solid currentColor;background:transparent;color:var(--ink);font-size:8px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}.contact-studio__text-link svg{transition:transform .28s var(--ease)}.contact-studio__text-link:hover svg{transform:translateX(4px)}
.contact-studio__steps{align-self:center;border-top:1px solid rgba(24,21,18,.16)}
.contact-studio__steps>div{display:grid;grid-template-columns:38px minmax(150px,.56fr) minmax(0,1fr);gap:18px;align-items:center;min-height:70px;border-bottom:1px solid rgba(24,21,18,.16)}
.contact-studio__steps span{color:#9d1f19;font-size:7px;font-weight:700;letter-spacing:.12em}.contact-studio__steps strong{font-size:12px;font-weight:620}.contact-studio__steps p{margin:0;color:#766e66;font-size:11px;line-height:1.5}

.contact-studio__legal{max-width:var(--content);margin:0 auto;padding:24px var(--gutter) 34px;display:grid;grid-template-columns:1.1fr .55fr 1.45fr auto;gap:28px;align-items:start;border-top:1px solid rgba(24,21,18,.16)}
.contact-studio__legal div{min-width:0}.contact-studio__legal span{display:block;margin-bottom:6px;color:#8a8177;font-size:7px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.contact-studio__legal strong{display:block;font-size:9px;font-weight:540;line-height:1.5}.contact-studio__legal a{display:inline-flex;align-items:center;gap:12px;white-space:nowrap;font-size:8px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.contact-studio__legal a svg{width:14px;height:14px}

@media (max-width:980px){
  .contact-studio__hero{grid-template-columns:1fr 1fr;min-height:520px}.contact-studio__copy{padding:44px 34px}.contact-studio__copy h1{font-size:clamp(38px,5vw,54px)}.contact-studio__quick{grid-template-columns:1fr;gap:12px;padding-top:28px}.contact-studio__media{min-height:520px}
  .contact-studio__start{grid-template-columns:1fr;gap:48px}.contact-studio__start-copy{max-width:650px}
  .contact-studio__legal{grid-template-columns:1fr 1fr}.contact-studio__legal a{justify-self:start}
}
@media (max-width:720px){
  .contact-studio{padding:8px 8px 0}.contact-studio__hero{display:flex;flex-direction:column-reverse;min-height:0;border-radius:20px}.contact-studio__media{min-height:280px}.contact-studio__copy{padding:34px 22px 30px}.contact-studio__copy h1{margin-top:16px;font-size:clamp(36px,10.5vw,48px);line-height:.98}.contact-studio__copy>p{margin-top:18px;font-size:12px}.contact-studio__primary{margin-top:24px}.contact-studio__quick{display:none}
  .contact-studio__direct{padding:58px 18px 66px}.contact-studio__section-head{display:block;margin-bottom:28px}.contact-studio__section-head h2{margin-top:12px;font-size:31px}.contact-studio__links a{grid-template-columns:82px minmax(0,1fr) 22px;gap:12px;min-height:68px}.contact-studio__links a strong{font-size:17px}
  .contact-studio__start{padding:62px 18px 72px;gap:42px}.contact-studio__start-copy h2{font-size:37px}.contact-studio__steps>div{grid-template-columns:28px 1fr;gap:6px 12px;padding:15px 0;min-height:0}.contact-studio__steps span{grid-row:1/3}.contact-studio__steps p{font-size:10px}
  .contact-studio__legal{padding:22px 18px 28px;grid-template-columns:1fr;gap:16px}.contact-studio__legal a{margin-top:4px}
}
@media (hover:none){.contact-studio__hero:hover .contact-studio__media img{transform:scale(1.015)}.contact-studio__links a:hover{padding-left:0;color:inherit}.contact-studio__links a:hover svg,.contact-studio__primary:hover svg,.contact-studio__text-link:hover svg{transform:none}.contact-studio__primary:hover{transform:none;background:#201c18}}
@media (prefers-reduced-motion:reduce){.contact-studio__media img,.contact-studio__primary,.contact-studio__primary svg,.contact-studio__links a,.contact-studio__links a svg,.contact-studio__text-link svg{transition:none!important}}


/* =========================================================
   DUO HOME v16 — Quiet Luxury / Simplified client journey
   ========================================================= */
.home-premium{background:var(--ink);padding-bottom:1px}
.home-hero--quiet{height:min(80svh,840px);min-height:620px;max-height:840px;margin:12px;border-radius:30px}
.home-hero--quiet .home-hero__veil{background:linear-gradient(90deg,rgba(13,11,10,.72) 0%,rgba(13,11,10,.42) 36%,rgba(13,11,10,.12) 68%,rgba(13,11,10,.19) 100%),linear-gradient(0deg,rgba(13,11,10,.45),transparent 44%,rgba(13,11,10,.16))}
.home-hero--quiet .home-hero__content{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;padding:calc(var(--header-h) + 62px) clamp(30px,4.2vw,72px) 62px}
.home-hero--quiet .home-hero__copy{align-self:auto;padding:0;max-width:680px}
.home-hero--quiet .home-hero__copy .eyebrow{margin-bottom:18px;color:rgba(236,230,220,.74)}
.home-hero--quiet .home-hero__copy .eyebrow:after{width:26px;margin-top:11px}
.home-hero--quiet .home-hero__copy h1{max-width:660px;font-size:clamp(48px,4.7vw,78px);line-height:.91;letter-spacing:-.056em}
.home-hero--quiet .home-hero__copy p{max-width:480px;margin:22px 0 0;color:rgba(236,230,220,.78);font-size:14px;line-height:1.58}
.home-hero__primary{display:inline-flex;align-items:center;gap:12px;margin-top:26px;padding:13px 0 9px;background:transparent;border-bottom:1px solid rgba(236,230,220,.72);color:var(--text);font-size:9px;font-weight:680;letter-spacing:.13em;text-transform:uppercase;cursor:pointer;transition:border-color .25s,color .25s}
.home-hero__primary .cta-icon{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.35;transition:transform .3s var(--ease)}
.home-hero__primary:hover{border-color:var(--red);color:#fff}.home-hero__primary:hover .cta-icon{transform:translate(3px,-3px)}
.home-hero__dots{position:absolute;right:clamp(30px,4.2vw,72px);bottom:57px;display:flex;align-items:center;gap:8px;z-index:3}
.home-hero__dot{position:relative;width:34px;height:18px;padding:0;background:transparent;cursor:pointer}
.home-hero__dot:before{content:"";position:absolute;left:0;right:0;top:8px;height:1px;background:rgba(255,255,255,.3);transition:background .25s,transform .35s var(--ease)}
.home-hero__dot.is-active:before{background:var(--red);transform:scaleY(2)}
.home-hero__dot span{position:absolute;inset:0}
.home-hero--quiet .home-hero__counter{left:auto;right:calc(clamp(30px,4.2vw,72px) + 178px);bottom:58px;font-size:8px;color:rgba(236,230,220,.58)}
.home-hero--quiet .home-hero__counter i{width:34px;background:rgba(255,255,255,.22)}

.home-curated{max-width:var(--content);margin:0 auto;padding:clamp(82px,8vw,132px) var(--gutter) clamp(74px,7vw,112px)}
.home-curated__head{display:grid;grid-template-columns:minmax(0,.9fr) minmax(280px,.55fr);gap:clamp(50px,10vw,170px);align-items:end;margin-bottom:44px}
.home-curated__head .eyebrow{grid-column:1/-1;color:#9f968a}
.home-curated__head h2{max-width:760px;margin:0;font-size:clamp(34px,3.3vw,54px);font-weight:320;line-height:.98;letter-spacing:-.047em;text-transform:uppercase;text-wrap:balance}
.home-curated__head p{max-width:390px;margin:0 0 4px;color:#aaa195;font-size:12px;line-height:1.65}
.home-curated__grid{display:grid;grid-template-columns:1.28fr .72fr .72fr;gap:12px;height:clamp(430px,40vw,610px)}
.home-curated__project{position:relative;min-width:0;overflow:hidden;border-radius:24px;background:#211d19;transition:transform .42s var(--ease),box-shadow .42s var(--ease)}
.home-curated__project a{position:absolute;inset:0;display:block;overflow:hidden}
.home-curated__project img{transform:scale(1.008);transition:transform .72s var(--ease),filter .72s var(--ease)}
.home-curated__project:hover{transform:translateY(-4px);box-shadow:0 26px 70px rgba(0,0,0,.26)}.home-curated__project:hover img{transform:scale(1.025);filter:brightness(.92)}
.home-curated__project:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);pointer-events:none}
.home-curated__shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,12,10,.58),transparent 48%)}
.home-curated__meta{position:absolute;left:20px;right:20px;bottom:18px;display:block}
.home-curated__meta strong{display:block;font-size:15px;font-weight:470;letter-spacing:-.015em}.home-curated__meta small{display:block;margin-top:5px;color:rgba(236,230,220,.64);font-size:8px;letter-spacing:.09em;text-transform:uppercase}

.home-core{max-width:calc(var(--content) - 2*var(--gutter));margin:0 auto 12px;padding:clamp(62px,6.2vw,92px);display:grid;grid-template-columns:minmax(280px,.78fr) minmax(420px,1.22fr);gap:clamp(54px,9vw,148px);background:var(--paper);color:var(--ink);border-radius:30px}
.home-core__intro{align-self:start;position:sticky;top:115px}.home-core__intro .eyebrow{color:#8b8279}.home-core__intro h2{max-width:590px;margin:18px 0 20px;font-size:clamp(34px,3.5vw,56px);font-weight:320;line-height:.98;letter-spacing:-.05em;text-transform:uppercase;text-wrap:balance}.home-core__intro p{max-width:460px;margin:0;color:#746c63;font-size:13px;line-height:1.65}
.home-core__services{border-top:1px solid rgba(23,20,17,.16)}
.home-core__service{display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;min-height:74px;border-bottom:1px solid rgba(23,20,17,.16);transition:padding-left .32s var(--ease),color .32s var(--ease)}.home-core__service:hover{padding-left:6px;color:#9d1f19}
.home-core__service span{color:#9a2b24;font-size:8px;letter-spacing:.12em}.home-core__service strong{font-size:clamp(17px,1.55vw,24px);font-weight:420;letter-spacing:-.025em}

.home-process{max-width:var(--content);margin:0 auto;padding:clamp(78px,7vw,112px) var(--gutter)}
.home-process__head{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:42px}.home-process__head .eyebrow{color:#9e958a}.home-process__head h2{max-width:700px;margin:0;font-size:clamp(32px,3.2vw,50px);font-weight:320;line-height:.98;letter-spacing:-.047em;text-transform:uppercase;text-align:right}
.home-process__steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.16)}
.home-process__steps article{min-height:180px;padding:24px 34px 0 0;border-right:1px solid rgba(255,255,255,.14)}.home-process__steps article:not(:first-child){padding-left:34px}.home-process__steps article:last-child{border-right:0}
.home-process__steps article>span{color:var(--red);font-size:8px;letter-spacing:.12em}.home-process__steps h3{margin:24px 0 10px;font-size:20px;font-weight:430}.home-process__steps p{max-width:330px;margin:0;color:#aaa195;font-size:12px;line-height:1.62}

.home-premium .duo-calculator{margin-top:12px;margin-bottom:12px}
.home-premium .duo-calculator__intro h2{font-size:clamp(34px,3.45vw,54px);max-width:660px}
.home-premium .duo-calculator__intro p{max-width:480px}

@media (max-width:1100px){
  .home-curated__grid{grid-template-columns:1.2fr .8fr;height:auto}.home-curated__project{min-height:380px}.home-curated__project--1{grid-row:1/3}.home-curated__project--2,.home-curated__project--3{min-height:184px}
  .home-core{grid-template-columns:1fr;gap:48px}.home-core__intro{position:static;max-width:760px}
}
@media (max-width:760px){
  .home-hero--quiet{margin:8px;height:74svh;min-height:570px;border-radius:22px}
  .home-hero--quiet .home-hero__content{padding:calc(var(--header-h) + 46px) 22px 48px;align-items:flex-end}
  .home-hero--quiet .home-hero__copy h1{font-size:clamp(44px,13vw,58px)}.home-hero--quiet .home-hero__copy p{max-width:330px;font-size:12px}.home-hero__primary{margin-top:22px}
  .home-hero__dots{right:22px;bottom:22px}.home-hero__dot{width:24px}.home-hero--quiet .home-hero__counter{display:none}
  .home-curated{padding:66px 18px 62px}.home-curated__head{display:block;margin-bottom:28px}.home-curated__head h2{margin-top:14px;font-size:34px}.home-curated__head p{margin-top:18px;font-size:11px}.home-curated__grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.home-curated__project,.home-curated__project--1,.home-curated__project--2,.home-curated__project--3{min-height:230px;grid-row:auto}.home-curated__project--1{grid-column:1/-1;min-height:360px}.home-curated__project{border-radius:18px}.home-curated__meta{left:15px;right:15px;bottom:14px}.home-curated__meta strong{font-size:13px}
  .home-core{margin:0 8px 8px;padding:48px 22px;border-radius:22px;gap:36px}.home-core__intro h2{font-size:34px}.home-core__service{min-height:62px;grid-template-columns:38px 1fr}.home-core__service strong{font-size:16px}
  .home-process{padding:64px 18px}.home-process__head{display:block;margin-bottom:26px}.home-process__head h2{margin-top:14px;text-align:left;font-size:32px}.home-process__steps{grid-template-columns:1fr}.home-process__steps article,.home-process__steps article:not(:first-child){min-height:0;padding:22px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}.home-process__steps h3{margin:12px 0 7px;font-size:18px}
}
@media (hover:none){.home-curated__project:hover{transform:none;box-shadow:none}.home-curated__project:hover img{transform:scale(1.01);filter:none}.home-core__service:hover{padding-left:0;color:inherit}.home-hero__primary:hover .cta-icon{transform:none}}
@media (prefers-reduced-motion:reduce){.home-curated__project,.home-curated__project img,.home-core__service,.home-hero__primary .cta-icon{transition:none!important}}


/* =========================================================
   DUO HOME v17 — Process Interaction / restrained depth
   ========================================================= */
.home-process{position:relative;isolation:isolate;overflow:visible}
.home-process:before{content:"";position:absolute;z-index:-1;left:8%;right:8%;top:28%;height:54%;pointer-events:none;background:radial-gradient(ellipse at 50% 50%,rgba(235,54,43,.035),transparent 68%);filter:blur(28px)}
.home-process__head{margin-bottom:34px}
.home-process__head .eyebrow{display:inline-flex;align-items:center;gap:11px}
.home-process__head .eyebrow:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px rgba(235,54,43,.08)}
.home-process__head h2{max-width:620px;font-size:clamp(30px,2.8vw,44px);line-height:1.02}
.home-process__steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border:0;perspective:1100px}
.home-process__step,.home-process__steps article,.home-process__steps article:not(:first-child){--mx:50%;--my:50%;--rx:0deg;--ry:0deg;--lift:0px;--scale:1;position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:236px;padding:22px 22px 20px!important;overflow:hidden;border:1px solid rgba(255,255,255,.075)!important;border-radius:20px;background:linear-gradient(155deg,rgba(255,255,255,.035),rgba(255,255,255,.012) 58%,rgba(235,54,43,.014));box-shadow:0 1px 0 rgba(255,255,255,.025) inset;transform:perspective(1000px) rotateX(var(--rx)) rotateY(var(--ry)) translate3d(0,var(--lift),0) scale(var(--scale));transform-style:preserve-3d;will-change:transform;transition:border-color .42s var(--ease),background .42s var(--ease),box-shadow .42s var(--ease)}
.home-process__step:after{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(110deg,transparent 15%,rgba(255,255,255,.027) 45%,transparent 72%);transform:translateX(-120%);transition:transform .8s var(--ease)}
.home-process__spot{position:absolute;z-index:-1;inset:0;pointer-events:none;opacity:0;background:radial-gradient(260px circle at var(--mx) var(--my),rgba(239,230,218,.105),rgba(235,54,43,.055) 27%,transparent 65%);transition:opacity .35s ease}
.home-process__edge{position:absolute;z-index:4;left:22px;right:22px;bottom:0;height:1px;overflow:hidden;background:rgba(255,255,255,.08)}
.home-process__edge:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--red) 35%,#f17769 52%,var(--red) 68%,transparent);transform:translateX(-105%);transition:transform .72s var(--ease)}
.home-process__top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;min-height:42px;transform:translateZ(18px)}
.home-process__index{display:inline-flex!important;align-items:center;justify-content:center;width:34px;height:24px;border:1px solid rgba(235,54,43,.28);border-radius:999px;background:rgba(235,54,43,.045);color:#f05349!important;font-size:8px!important;font-weight:650;letter-spacing:.13em!important;transition:background .35s var(--ease),border-color .35s var(--ease),color .35s var(--ease),transform .35s var(--ease)}
.home-process__glyph{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:rgba(236,230,220,.58);background:rgba(236,230,220,.025);box-shadow:inset 0 0 0 1px rgba(236,230,220,.08);transition:color .36s var(--ease),background .36s var(--ease),box-shadow .36s var(--ease),transform .42s var(--ease)}
.home-process__glyph svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round}
.home-process__body{margin-top:auto;padding-top:36px;transform:translateZ(24px)}
.home-process__steps h3{margin:0 0 9px;font-size:clamp(19px,1.35vw,22px);font-weight:440;letter-spacing:-.025em;transition:color .35s var(--ease),transform .42s var(--ease)}
.home-process__steps p{max-width:330px;margin:0;color:#9f968b;font-size:11.5px;line-height:1.62;transition:color .35s var(--ease),transform .42s var(--ease)}
.home-process__trace{position:absolute;left:22px;right:22px;bottom:18px;height:0;pointer-events:none}
.home-process__trace i{position:absolute;left:0;bottom:0;width:28px;height:1px;background:rgba(236,230,220,.24);transform-origin:left center;transition:width .45s var(--ease),background .35s var(--ease)}
.home-process__spark{position:absolute;z-index:6;width:3px;height:3px;border-radius:50%;background:#f05248;box-shadow:0 0 10px rgba(235,54,43,.48);opacity:0;pointer-events:none}
.home-process__spark--1{right:22px;top:20px}.home-process__spark--2{right:49px;top:14px;width:2px;height:2px}.home-process__spark--3{right:13px;top:48px;width:2px;height:2px}
@media (hover:hover) and (pointer:fine){
  .home-process__step:hover{border-color:rgba(255,255,255,.14)!important;background:linear-gradient(155deg,rgba(255,255,255,.055),rgba(255,255,255,.018) 58%,rgba(235,54,43,.035));box-shadow:0 24px 58px rgba(0,0,0,.24),0 0 0 1px rgba(235,54,43,.055) inset}
  .home-process__step:hover:after{transform:translateX(120%)}
  .home-process__step:hover .home-process__spot{opacity:1}
  .home-process__step:hover .home-process__edge:after{transform:translateX(0)}
  .home-process__step:hover .home-process__index{background:rgba(235,54,43,.105);border-color:rgba(235,54,43,.56);color:#fff!important;transform:translateY(-2px)}
  .home-process__step:hover .home-process__glyph{color:#f0e7db;background:rgba(236,230,220,.055);box-shadow:inset 0 0 0 1px rgba(236,230,220,.15),0 0 26px rgba(235,54,43,.065);transform:translate3d(0,-2px,10px) rotate(-3deg)}
  .home-process__step:hover h3{color:#fff;transform:translateY(-2px)}
  .home-process__step:hover p{color:#bbb1a5;transform:translateY(-1px)}
  .home-process__step:hover .home-process__trace i{width:68px;background:var(--red)}
  .home-process__step:hover .home-process__spark{animation:duo-process-spark .82s var(--ease) both}
  .home-process__step:hover .home-process__spark--2{animation-delay:.045s}.home-process__step:hover .home-process__spark--3{animation-delay:.09s}
}
@keyframes duo-process-spark{0%{opacity:0;transform:translate3d(0,0,0) scale(.4)}38%{opacity:.78}100%{opacity:0;transform:translate3d(var(--sx,7px),var(--sy,-8px),0) scale(1)}}
.home-process__spark--1{--sx:8px;--sy:-9px}.home-process__spark--2{--sx:-7px;--sy:-6px}.home-process__spark--3{--sx:8px;--sy:5px}
@media (max-width:760px){
  .home-process{padding:60px 18px}.home-process__head{margin-bottom:24px}.home-process__head h2{font-size:30px}
  .home-process__steps{grid-template-columns:1fr;gap:8px}
  .home-process__step,.home-process__steps article,.home-process__steps article:not(:first-child){min-height:178px;padding:18px 18px 17px!important;border:1px solid rgba(255,255,255,.07)!important;border-radius:16px;transform:none!important}
  .home-process__body{padding-top:26px}.home-process__steps h3{font-size:18px}.home-process__steps p{font-size:11px}.home-process__edge,.home-process__trace{left:18px;right:18px}.home-process__glyph{width:34px;height:34px}.home-process__glyph svg{width:22px;height:22px}
}
@media (hover:none){.home-process__spot,.home-process__spark{display:none}.home-process__step,.home-process__steps article{transform:none!important}}
@media (prefers-reduced-motion:reduce){.home-process__step,.home-process__steps article,.home-process__spot,.home-process__edge:after,.home-process__index,.home-process__glyph,.home-process__steps h3,.home-process__steps p,.home-process__trace i{transition:none!important;animation:none!important;transform:none!important}.home-process__spark{display:none}}

/* =========================================================
   DUO HOME v18 — Process contextual reveal
   Real DUO imagery + stage-specific microcopy on hover/focus.
   ========================================================= */
.home-process__step{outline:none}
.home-process__glyph{transition:color .36s var(--ease),background .36s var(--ease),box-shadow .36s var(--ease),transform .42s var(--ease),opacity .26s ease}
.home-process__preview{position:absolute;z-index:5;top:18px;right:18px;width:38px;height:38px;margin:0;overflow:hidden;border-radius:50%;opacity:0;transform:translate3d(8px,2px,18px) scale(.72);transform-origin:100% 0;box-shadow:0 14px 30px rgba(0,0,0,.22);clip-path:inset(0 0 0 0 round 50%);pointer-events:none;transition:width .58s var(--ease),height .58s var(--ease),border-radius .58s var(--ease),opacity .28s ease,transform .58s var(--ease),clip-path .58s var(--ease),box-shadow .58s var(--ease)}
.home-process__preview .media-picture,.home-process__preview img{display:block;width:100%;height:100%;object-fit:cover}
.home-process__preview img{transform:scale(1.12);filter:saturate(.88) contrast(1.02) brightness(.78);transition:transform .9s var(--ease),filter .58s ease}
.home-process__preview-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,10,9,.02),rgba(11,10,9,.32));box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.home-process__context{position:absolute;z-index:5;top:78px;left:22px;width:min(45%,190px);display:grid;gap:4px;opacity:0;transform:translate3d(-10px,8px,20px);pointer-events:none;transition:opacity .3s ease,transform .52s var(--ease)}
.home-process__context small{color:#f15a50;font-size:7.5px;font-weight:700;letter-spacing:.19em;text-transform:uppercase}
.home-process__context strong{color:#eee7de;font-size:10.5px;font-weight:560;line-height:1.3;letter-spacing:-.01em}
.home-process__context span{max-width:185px;color:#91887e;font-size:9.5px;line-height:1.45}
.home-process__body{transition:transform .52s var(--ease),opacity .35s ease}
@media (hover:hover) and (pointer:fine){
  .home-process__step:hover .home-process__glyph,.home-process__step:focus-visible .home-process__glyph{opacity:0;transform:translate3d(8px,-2px,10px) scale(.76) rotate(-5deg)}
  .home-process__step:hover .home-process__preview,.home-process__step:focus-visible .home-process__preview{width:148px;height:88px;border-radius:13px;opacity:1;transform:translate3d(0,0,22px) scale(1);clip-path:inset(0 0 0 0 round 13px);box-shadow:0 18px 38px rgba(0,0,0,.32),0 0 0 1px rgba(255,255,255,.055)}
  .home-process__step:hover .home-process__preview img,.home-process__step:focus-visible .home-process__preview img{transform:scale(1.025);filter:saturate(.96) contrast(1.03) brightness(.9)}
  .home-process__step:hover .home-process__context,.home-process__step:focus-visible .home-process__context{opacity:1;transform:translate3d(0,0,20px)}
  .home-process__step:hover .home-process__body,.home-process__step:focus-visible .home-process__body{transform:translate3d(0,1px,24px)}
  .home-process__step:focus-visible{box-shadow:0 24px 58px rgba(0,0,0,.24),0 0 0 1px rgba(235,54,43,.18) inset,0 0 0 2px rgba(235,54,43,.18)}
}
@media (max-width:980px){
  .home-process__context{width:48%;top:74px}
  .home-process__step:hover .home-process__preview,.home-process__step:focus-visible .home-process__preview{width:132px;height:80px}
}
@media (max-width:760px){
  .home-process__preview,.home-process__context{display:none}
}
@media (prefers-reduced-motion:reduce){
  .home-process__preview,.home-process__preview img,.home-process__context,.home-process__body{transition:none!important}
  .home-process__preview,.home-process__context{display:none!important}
}

/* =========================================================
   DUO HOME v18.1 — Crisp contextual reveal
   Keep the premium interaction while preventing GPU-rasterized text.
   ========================================================= */
@media (hover:hover) and (pointer:fine){
  .home-process__step:hover,
  .home-process__step:focus-visible{
    --rx:0deg!important;
    --ry:0deg!important;
    --scale:1!important;
    --lift:-4px!important;
    transform:translate3d(0,-4px,0)!important;
    transform-style:flat!important;
  }
  .home-process__step:hover .home-process__top,
  .home-process__step:focus-visible .home-process__top,
  .home-process__step:hover .home-process__body,
  .home-process__step:focus-visible .home-process__body,
  .home-process__step:hover .home-process__context,
  .home-process__step:focus-visible .home-process__context{
    transform:none!important;
  }
  .home-process__step:hover .home-process__context,
  .home-process__step:focus-visible .home-process__context{
    opacity:1;
  }
  .home-process__preview{
    transform:none;
    clip-path:inset(0 0 100% 0 round 13px);
    opacity:0;
    will-change:clip-path,opacity,width,height;
  }
  .home-process__preview img{
    transform:none!important;
    filter:none!important;
    image-rendering:auto;
    backface-visibility:hidden;
  }
  .home-process__step:hover .home-process__preview,
  .home-process__step:focus-visible .home-process__preview{
    transform:none!important;
    clip-path:inset(0 0 0 0 round 13px);
    opacity:1;
  }
  .home-process__context{
    transform:none;
    transition:opacity .26s ease;
    -webkit-font-smoothing:antialiased;
    text-rendering:geometricPrecision;
  }
  .home-process__context small,
  .home-process__context strong,
  .home-process__context span,
  .home-process__body,
  .home-process__body h3,
  .home-process__body p{
    filter:none!important;
    backface-visibility:visible;
    -webkit-font-smoothing:antialiased;
    text-rendering:geometricPrecision;
  }
  .home-process__step:hover h3,
  .home-process__step:hover p,
  .home-process__step:focus-visible h3,
  .home-process__step:focus-visible p{
    transform:none!important;
  }
}

/* ==========================================================================
   DUO SPATIAL EXPERIENCE v20 — scroll-built CSS 3D interior
   No canvas / no external 3D runtime. Layered perspective scene + scrubbed WAAPI.
   ========================================================================== */
.is-experience{background:#0f0d0b;color:#f1ebe3}
.is-experience .site-shell{overflow:clip;background:#0f0d0b}
.is-experience .site-header:not(.is-scrolled){background:rgba(18,15,13,.66);border-color:rgba(255,255,255,.07);box-shadow:0 14px 46px rgba(0,0,0,.16)}
.duo3d{--d3-red:#e6382e;--d3-cream:#efe8df;--d3-warm:#b7aa9a;--d3-ink:#0f0d0b;background:#0f0d0b;color:var(--d3-cream);overflow:clip}
.duo3d-kicker{display:inline-flex;align-items:center;gap:10px;font-size:8px;line-height:1;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:rgba(239,232,223,.56)}
.duo3d-kicker i{display:block;width:18px;height:1px;background:var(--d3-red);box-shadow:0 0 14px rgba(230,56,46,.22)}
.duo3d-intro{min-height:100svh;display:grid;align-items:end;position:relative;padding:clamp(130px,16vh,190px) clamp(24px,7vw,118px) clamp(56px,8vh,92px);background:radial-gradient(70% 58% at 72% 28%,rgba(118,87,64,.19),transparent 70%),linear-gradient(145deg,#171310 0%,#0f0d0b 56%,#0b0a09 100%);isolation:isolate}
.duo3d-intro::before{content:"";position:absolute;inset:0;opacity:.33;background:linear-gradient(90deg,transparent 0 24.9%,rgba(255,255,255,.032) 25%,transparent 25.1% 49.9%,rgba(255,255,255,.026) 50%,transparent 50.1% 74.9%,rgba(255,255,255,.02) 75%,transparent 75.1%),linear-gradient(0deg,transparent 0 49.9%,rgba(255,255,255,.022) 50%,transparent 50.1%);pointer-events:none;mask-image:linear-gradient(to bottom,transparent 0,#000 25%,#000 76%,transparent 100%)}
.duo3d-intro::after{content:"";position:absolute;width:min(58vw,820px);aspect-ratio:1;right:-18vw;top:-20vh;border:1px solid rgba(255,255,255,.045);border-radius:50%;box-shadow:0 0 0 16vw rgba(255,255,255,.009),0 0 0 31vw rgba(255,255,255,.006);pointer-events:none}
.duo3d-intro__copy{position:relative;z-index:2;max-width:1120px}
.duo3d-intro h1{margin:26px 0 22px;max-width:1050px;font-size:clamp(46px,5.8vw,96px);line-height:.91;font-weight:300;letter-spacing:-.055em;color:#f3ede5;text-wrap:balance}
.duo3d-intro h1 em{font-style:normal;color:rgba(243,237,229,.47)}
.duo3d-intro p{max-width:640px;margin:0;color:rgba(239,232,223,.58);font-size:clamp(14px,1.2vw,18px);line-height:1.65}
.duo3d-intro__scroll{position:absolute;right:clamp(24px,7vw,118px);bottom:clamp(56px,8vh,92px);z-index:2;display:grid;justify-items:end;gap:12px;color:rgba(239,232,223,.36);font-size:7px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.duo3d-intro__scroll i{position:relative;width:96px;height:1px;background:rgba(255,255,255,.12);overflow:hidden}
.duo3d-intro__scroll i::after{content:"";position:absolute;inset:0;width:42%;background:#eee7de;animation:duo3dScrollCue 1.6s infinite cubic-bezier(.22,1,.36,1)}
@keyframes duo3dScrollCue{0%{transform:translateX(-115%)}60%,100%{transform:translateX(260%)}}

.duo3d-scroll{height:620vh;position:relative;background:#0e0c0a}
.duo3d-sticky{position:sticky;top:0;height:100svh;overflow:hidden;isolation:isolate;background:radial-gradient(72% 70% at 50% 48%,#211a15 0%,#15110e 51%,#0d0b09 100%)}
.duo3d-sticky::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.014) 1px,transparent 1px);background-size:8vw 8vw;mask-image:radial-gradient(circle at 50% 50%,#000 16%,transparent 74%);opacity:.42;pointer-events:none}
.duo3d-sticky::after{content:"";position:absolute;inset:auto 0 0;height:34%;z-index:4;background:linear-gradient(to top,rgba(10,8,7,.8),transparent);pointer-events:none}
.duo3d-hud{position:absolute;z-index:12;left:clamp(22px,5vw,78px);top:clamp(122px,16vh,170px);width:min(330px,31vw);display:grid;gap:22px;pointer-events:none}
.duo3d-hud__step{display:flex;align-items:center;gap:10px;color:rgba(239,232,223,.42);font-size:8px;font-weight:700;letter-spacing:.14em;font-variant-numeric:tabular-nums}
.duo3d-hud__step span:first-child{color:#f1ebe3}
.duo3d-hud__step i{width:54px;height:1px;background:rgba(255,255,255,.12)}
.duo3d-hud__copy small{display:block;margin-bottom:10px;color:#e9584e;font-size:7px;font-weight:750;letter-spacing:.21em;text-transform:uppercase}
.duo3d-hud__copy strong{display:block;color:#f3ede5;font-size:clamp(26px,3.1vw,48px);line-height:.92;font-weight:320;letter-spacing:-.045em;text-transform:uppercase}
.duo3d-hud__copy p{max-width:280px;margin:16px 0 0;color:rgba(239,232,223,.48);font-size:12px;line-height:1.55}
.duo3d-progress{position:absolute;z-index:12;left:clamp(22px,5vw,78px);right:clamp(22px,5vw,78px);bottom:clamp(28px,4.8vh,54px);height:1px;background:rgba(255,255,255,.1);overflow:hidden}
.duo3d-progress i{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--d3-red),#efe8df 64%,#efe8df);transform:scaleX(0);transform-origin:left center;will-change:transform;box-shadow:0 0 18px rgba(230,56,46,.25)}
.duo3d-rail{position:absolute;z-index:12;right:clamp(22px,4.2vw,66px);top:50%;transform:translateY(-50%);display:grid;gap:14px;text-align:right;color:rgba(239,232,223,.24);font-size:7px;font-weight:720;letter-spacing:.14em;font-variant-numeric:tabular-nums}
.duo3d-rail span{position:relative;padding-right:18px;transition:color .28s ease,transform .36s var(--ease)}
.duo3d-rail span::after{content:"";position:absolute;right:0;top:50%;width:6px;height:1px;background:rgba(255,255,255,.22);transform-origin:right center;transition:width .36s var(--ease),background .28s ease}
.duo3d-rail span.is-active{color:#eee8df;transform:translateX(-4px)}
.duo3d-rail span.is-active::after{width:13px;background:var(--d3-red)}

.duo3d-stage{position:absolute;z-index:2;left:50%;top:50%;width:min(74vw,1080px);height:min(74vh,720px);transform:translate(-44%,-47%);perspective:1280px;perspective-origin:50% 48%;filter:drop-shadow(0 32px 50px rgba(0,0,0,.36));pointer-events:none}
.duo3d-camera{position:absolute;inset:0;transform-style:preserve-3d;will-change:transform}
.duo3d-world{position:absolute;left:50%;top:50%;width:0;height:0;transform-style:preserve-3d}
.duo3d-shell{position:absolute;display:block;backface-visibility:hidden;transform-style:preserve-3d;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.035)}
.duo3d-shell--back{width:720px;height:440px;background:linear-gradient(120deg,#9d9184,#85786b 62%,#76695d);transform:translate3d(-360px,-220px,-320px)}
.duo3d-shell--back::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(255,255,255,.08),transparent 28%,rgba(0,0,0,.06) 78%);mix-blend-mode:soft-light}
.duo3d-wall-material{position:absolute;inset:0;background:radial-gradient(120% 90% at 30% 10%,rgba(255,255,255,.22),transparent 48%),repeating-linear-gradient(90deg,rgba(255,255,255,.016) 0 1px,transparent 1px 52px),linear-gradient(150deg,#b0a498,#8d8175);opacity:.92}
.duo3d-shell--floor{width:720px;height:640px;transform-origin:50% 0;background:#76624f;transform:translate3d(-360px,220px,-320px) rotateX(90deg)}
.duo3d-floor-material{position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 90px),repeating-linear-gradient(0deg,rgba(0,0,0,.055) 0 1px,transparent 1px 28px),linear-gradient(90deg,#876e58,#9b8067 45%,#725d4b);box-shadow:inset 0 60px 120px rgba(255,255,255,.025),inset 0 -100px 160px rgba(0,0,0,.12)}
.duo3d-shell--left,.duo3d-shell--right{width:640px;height:440px;background:linear-gradient(135deg,#776b60,#5e544c);transform-origin:0 50%}
.duo3d-shell--left{transform:translate3d(-360px,-220px,-320px) rotateY(90deg)}
.duo3d-shell--right{transform-origin:100% 50%;transform:translate3d(-280px,-220px,-320px) rotateY(-90deg)}
.duo3d-shell--ceiling{width:720px;height:640px;transform-origin:50% 100%;background:linear-gradient(#8e8378,#736a62);transform:translate3d(-360px,-860px,-320px) rotateX(-90deg)}
.duo3d-window{position:absolute;left:66px;top:54px;width:188px;height:252px;border:10px solid rgba(46,39,34,.88);background:linear-gradient(170deg,#cbc7bf,#9eaaa6 48%,#756f68 49%,#bbb0a4);box-shadow:0 16px 30px rgba(0,0,0,.16),inset 0 0 0 1px rgba(255,255,255,.08);overflow:hidden}
.duo3d-window::before,.duo3d-window::after{content:"";position:absolute;background:rgba(45,39,35,.74)}
.duo3d-window::before{left:50%;top:0;bottom:0;width:4px;transform:translateX(-50%)}
.duo3d-window::after{top:53%;left:0;right:0;height:4px}
.duo3d-window i{position:absolute;inset:0;background:linear-gradient(118deg,rgba(255,242,218,.45),transparent 42%)}
.duo3d-window b{position:absolute;left:-20%;top:52%;width:140%;height:60%;background:linear-gradient(8deg,#4b4945,#656961 52%,transparent 53%);opacity:.58}
.duo3d-art{position:absolute;right:72px;top:70px;width:176px;height:126px;margin:0;padding:8px;background:#362e29;box-shadow:0 18px 28px rgba(0,0,0,.22);overflow:hidden}
.duo3d-art .media-picture,.duo3d-art img{display:block;width:100%;height:100%;object-fit:cover}
.duo3d-light{position:absolute;pointer-events:none;mix-blend-mode:screen;filter:blur(3px)}
.duo3d-light--main{width:470px;height:560px;left:-325px;top:-250px;transform:translateZ(-50px) rotate(-18deg);background:linear-gradient(100deg,rgba(255,226,183,.34),rgba(255,236,210,.08) 47%,transparent 70%);clip-path:polygon(0 0,52% 0,100% 100%,24% 100%)}
.duo3d-light--soft{width:520px;height:270px;left:-30px;top:-80px;transform:translateZ(-170px) rotate(7deg);background:radial-gradient(ellipse,rgba(255,226,192,.15),transparent 67%)}
.duo3d-rug{position:absolute;width:390px;height:250px;left:-175px;top:150px;border-radius:48% 52% 46% 54%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.14),transparent 48%),repeating-linear-gradient(32deg,#c7b7a4 0 4px,#b6a591 4px 8px);box-shadow:0 28px 55px rgba(0,0,0,.22);transform:translate3d(0,0,-40px) rotateX(78deg)}
.duo3d-sofa{position:absolute;left:30px;top:12px;width:340px;height:230px;transform-style:preserve-3d}
.duo3d-sofa span{position:absolute;display:block;background:linear-gradient(145deg,#78604e,#5f4b3f);box-shadow:inset 0 0 0 1px rgba(255,255,255,.035),0 10px 24px rgba(0,0,0,.16)}
.duo3d-sofa__back{left:-170px;top:8px;width:338px;height:126px;border-radius:20px 20px 10px 10px;transform:translateZ(-86px) rotateX(-4deg)}
.duo3d-sofa__base{left:-170px;top:113px;width:338px;height:70px;border-radius:10px 10px 18px 18px;transform:translateZ(-50px)}
.duo3d-sofa__arm{top:70px;width:54px;height:112px;border-radius:18px 18px 12px 12px;transform:translateZ(-16px)}
.duo3d-sofa__arm--l{left:-186px}.duo3d-sofa__arm--r{left:150px}
.duo3d-sofa__seat{top:96px;width:142px;height:58px;border-radius:11px;background:linear-gradient(145deg,#88705c,#705745)!important;transform:translateZ(-10px) rotateX(6deg)}
.duo3d-sofa__seat--1{left:-146px}.duo3d-sofa__seat--2{left:4px}
.duo3d-cushion{top:54px!important;width:70px!important;height:72px!important;border-radius:17px!important;transform:translateZ(10px) rotate(-7deg)!important}
.duo3d-cushion--1{left:-110px!important;background:#a58c73!important}.duo3d-cushion--2{left:56px!important;background:#b04e36!important;transform:translateZ(13px) rotate(9deg)!important}
.duo3d-table{position:absolute;left:-96px;top:150px;width:180px;height:100px;transform-style:preserve-3d}
.duo3d-table span{position:absolute;left:0;top:0;width:180px;height:82px;border-radius:50%;background:radial-gradient(circle at 40% 32%,#c2b5a8,#8c7c6d 68%,#746458);box-shadow:0 20px 34px rgba(0,0,0,.2);transform:translateZ(28px) rotateX(66deg)}
.duo3d-table i,.duo3d-table b{position:absolute;top:54px;width:9px;height:78px;background:#3b332d;border-radius:5px}.duo3d-table i{left:54px}.duo3d-table b{right:54px}
.duo3d-console{position:absolute;left:162px;top:30px;width:170px;height:155px;transform-style:preserve-3d}
.duo3d-console span{position:absolute;left:0;top:60px;width:170px;height:18px;background:#4b4038;box-shadow:0 8px 18px rgba(0,0,0,.2)}
.duo3d-console i,.duo3d-console b{position:absolute;top:77px;width:8px;height:78px;background:#3a312c}.duo3d-console i{left:18px}.duo3d-console b{right:18px}
.duo3d-lamp{position:absolute;left:235px;top:-90px;width:110px;height:260px;transform-style:preserve-3d}
.duo3d-lamp span{position:absolute;left:52px;top:70px;width:5px;height:178px;background:#3a312b}.duo3d-lamp i{position:absolute;left:15px;top:42px;width:80px;height:56px;border-radius:50% 50% 42% 42%;background:linear-gradient(#bcae9d,#8e7e70);box-shadow:0 12px 34px rgba(255,221,178,.08)}.duo3d-lamp b{position:absolute;left:32px;top:242px;width:45px;height:8px;border-radius:50%;background:#3a312b}
.duo3d-plant{position:absolute;left:-295px;top:45px;width:120px;height:170px;transform-style:preserve-3d}
.duo3d-plant__pot{position:absolute;left:35px;bottom:0;width:58px;height:60px;border-radius:8px 8px 22px 22px;background:linear-gradient(145deg,#5c4c40,#3d342e);box-shadow:0 14px 24px rgba(0,0,0,.18)}
.duo3d-plant i{position:absolute;left:60px;bottom:50px;width:22px;height:88px;border-radius:100% 0 100% 0;background:#4f5e4b;transform-origin:50% 100%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)}
.duo3d-plant i:nth-of-type(1){transform:rotate(-48deg) scale(.82)}.duo3d-plant i:nth-of-type(2){transform:rotate(-25deg) scale(.94)}.duo3d-plant i:nth-of-type(3){transform:rotate(2deg)}.duo3d-plant i:nth-of-type(4){transform:rotate(28deg) scale(.9)}.duo3d-plant i:nth-of-type(5){transform:rotate(50deg) scale(.74)}
.duo3d-object{position:absolute;box-shadow:0 8px 18px rgba(0,0,0,.16)}
.duo3d-object--book{left:2px;top:171px;width:60px;height:8px;border-radius:2px;background:#c5aa8d;transform:translateZ(48px) rotate(-8deg)}
.duo3d-object--vase{left:36px;top:132px;width:24px;height:38px;border-radius:50% 50% 42% 42%;background:linear-gradient(145deg,#6d5140,#3d3029);transform:translateZ(42px)}

.duo3d-finale{position:relative;min-height:92svh;display:grid;align-items:end;overflow:hidden;background:#15110e}
.duo3d-finale__media{position:absolute;inset:0}
.duo3d-finale__media .media-picture,.duo3d-finale__media img{display:block;width:100%;height:100%;object-fit:cover}
.duo3d-finale__media span{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,11,9,.92) 0%,rgba(13,11,9,.72) 38%,rgba(13,11,9,.18) 72%,rgba(13,11,9,.38) 100%),linear-gradient(0deg,rgba(13,11,9,.65),transparent 55%)}
.duo3d-finale__content{position:relative;z-index:2;width:min(900px,calc(100% - 48px));margin:0 0 clamp(72px,10vh,120px) clamp(24px,7vw,118px)}
.duo3d-finale h2{margin:24px 0 22px;font-size:clamp(38px,4.8vw,78px);line-height:.93;font-weight:310;letter-spacing:-.05em;color:#f5efe7}
.duo3d-finale h2 em{font-style:normal;color:#d8675f}
.duo3d-finale p{max-width:600px;margin:0 0 30px;color:rgba(245,239,231,.63);font-size:14px;line-height:1.65}
.duo3d-finale__cta{display:inline-flex;align-items:center;gap:22px;min-height:50px;padding:0 20px;border:0;border-radius:999px;background:#efe9e0;color:#181411;font-size:8px;font-weight:780;letter-spacing:.13em;text-transform:uppercase;cursor:pointer;transition:transform .36s var(--ease),box-shadow .36s ease,background .3s ease}
.duo3d-finale__cta:hover{transform:translateY(-2px);box-shadow:0 15px 34px rgba(0,0,0,.2);background:#fffaf3}
.duo3d-finale__cta .cta-icon{width:14px;height:14px}

@media(max-width:1180px){
  .duo3d-stage{transform:translate(-40%,-46%) scale(.88)}
  .duo3d-hud{width:250px}.duo3d-hud__copy p{max-width:230px}
}
@media(max-width:860px){
  .duo3d-intro{padding-left:24px;padding-right:24px}.duo3d-intro__scroll{right:24px}
  .duo3d-scroll{height:480vh}
  .duo3d-hud{left:22px;top:112px;width:calc(100% - 44px);display:flex;justify-content:space-between;align-items:flex-start;gap:24px}
  .duo3d-hud__step{flex:0 0 auto}.duo3d-hud__copy{max-width:230px;text-align:right}.duo3d-hud__copy p{font-size:10px;margin-top:9px}.duo3d-hud__copy strong{font-size:25px}
  .duo3d-stage{left:50%;top:55%;width:100vw;height:62vh;transform:translate(-50%,-50%) scale(.76);perspective:1080px}
  .duo3d-rail{display:none}.duo3d-progress{left:22px;right:22px;bottom:25px}
  .duo3d-finale__content{margin-left:24px}
}
@media(max-width:600px){
  .duo3d-intro{min-height:92svh;padding-top:120px;padding-bottom:54px;align-items:end}
  .duo3d-intro h1{font-size:clamp(44px,13.5vw,66px);line-height:.9;margin-top:20px}.duo3d-intro p{font-size:13px;max-width:92%}
  .duo3d-intro__scroll{display:none}
  .duo3d-scroll{height:420vh}
  .duo3d-sticky{height:100svh}
  .duo3d-hud{top:104px;display:block}.duo3d-hud__step{margin-bottom:12px}.duo3d-hud__copy{text-align:left;max-width:76%}.duo3d-hud__copy p{display:none}
  .duo3d-stage{top:59%;transform:translate(-50%,-50%) scale(.54);width:120vw;perspective:980px}
  .duo3d-light--main{filter:blur(1px)}
  .duo3d-finale{min-height:82svh}.duo3d-finale__content{width:calc(100% - 48px);margin-bottom:62px}.duo3d-finale h2{font-size:clamp(40px,12vw,58px)}
}
@media(prefers-reduced-motion:reduce){
  .duo3d-intro__scroll i::after{animation:none;transform:none}
  .duo3d-scroll{height:auto;min-height:100svh}.duo3d-sticky{position:relative;min-height:100svh;height:auto;padding:150px 0 80px}
  .duo3d-hud{position:relative;top:auto}.duo3d-stage{position:relative;left:50%;top:auto;margin-top:90px;transform:translateX(-50%) scale(.82)}
  .duo3d-progress,.duo3d-rail{display:none}.duo3d-finale__cta{transition:none}
}

/* DUO Spatial Experience v20.1 — real-object rebuild */
.duo3d--real .duo3d-intro{
  background:
    radial-gradient(74% 62% at 72% 26%,rgba(115,82,58,.22),transparent 72%),
    linear-gradient(145deg,#16120f 0%,#0f0d0b 58%,#0a0908 100%);
}
.duo3d--real .duo3d-scroll{height:620vh}
.duo3d--real .duo3d-stage{width:min(76vw,1140px);height:min(76vh,760px);transform:translate(-43%,-46%);perspective:1500px;filter:drop-shadow(0 40px 70px rgba(0,0,0,.34))}
.duo3d--real .duo3d-camera{transform-style:preserve-3d}
.duo3d--real .duo3d-world{transform-style:preserve-3d}
.duo3d--real .duo3d-photo-frame,
.duo3d--real .duo3d-photo-chip,
.duo3d--real .duo3d-window,
.duo3d--real .duo3d-shell,
.duo3d--real .duo3d-rug,
.duo3d--real .duo3d-light{backface-visibility:hidden}
.duo3d--real .duo3d-photo-frame,
.duo3d--real .duo3d-photo-chip{position:absolute;display:block;overflow:hidden;isolation:isolate;box-shadow:0 18px 45px rgba(0,0,0,.24),0 0 0 1px rgba(255,255,255,.06) inset}
.duo3d--real .duo3d-photo-frame::after,
.duo3d--real .duo3d-photo-chip::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.12),transparent 28%,transparent 72%,rgba(0,0,0,.1));pointer-events:none}
.duo3d--real .duo3d-photo-frame img,
.duo3d--real .duo3d-photo-chip img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(1.02) contrast(1.02)}
.duo3d--real .duo3d-photo-chip{border-radius:18px}
.duo3d--real .duo3d-photo-frame{border-radius:26px;background:#1a1714}
.duo3d--real .duo3d-photo-frame--round{border-radius:999px}

.duo3d--real .duo3d-shell{box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),0 18px 36px rgba(0,0,0,.12)}
.duo3d--real .duo3d-shell--back{width:760px;height:460px;background:#b7ac9e;transform:translate3d(-380px,-230px,-320px);overflow:hidden;border-radius:2px}
.duo3d--real .duo3d-shell--back::before{content:"";position:absolute;inset:0;background:url('../img/experience/wall-texture.jpg') center/cover no-repeat;filter:saturate(.92) brightness(1.02);transform:scale(1.05)}
.duo3d--real .duo3d-shell--back::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(255,255,255,.09),transparent 31%,rgba(0,0,0,.08) 77%);mix-blend-mode:soft-light}
.duo3d--real .duo3d-wall-material{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.16),transparent 28%),repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 1px,transparent 1px 48px);opacity:.65}
.duo3d--real .duo3d-shell--floor{width:760px;height:660px;transform-origin:50% 0;background:#cbbba7;transform:translate3d(-380px,230px,-320px) rotateX(90deg);overflow:hidden}
.duo3d--real .duo3d-floor-material{position:absolute;inset:0;background:url('../img/experience/floor-texture.jpg') center/cover no-repeat;filter:saturate(.94) brightness(1.03);opacity:.96}
.duo3d--real .duo3d-shell--left{width:460px;height:460px;transform-origin:0 50%;background:linear-gradient(120deg,#b6a999,#8d8173);transform:translate3d(-380px,-230px,-320px) rotateY(90deg);opacity:.94}
.duo3d--real .duo3d-shell--left::before{content:"";position:absolute;inset:0;background:url('../img/experience/scene-main.jpg') left center/cover no-repeat;opacity:.22;mix-blend-mode:multiply}
.duo3d--real .duo3d-shell--right{width:460px;height:460px;transform-origin:100% 50%;background:linear-gradient(120deg,#b0a496,#877c70);transform:translate3d(-300px,-230px,-320px) rotateY(-90deg);opacity:.94}
.duo3d--real .duo3d-shell--right::before{content:"";position:absolute;inset:0;background:url('../img/experience/scene-main.jpg') right center/cover no-repeat;opacity:.24;mix-blend-mode:multiply}
.duo3d--real .duo3d-shell--ceiling{width:760px;height:640px;transform-origin:50% 100%;background:linear-gradient(#cbc1b5,#a49686);transform:translate3d(-380px,-870px,-320px) rotateX(-90deg);opacity:.9}

.duo3d--real .duo3d-window{position:absolute;left:52px;top:54px;width:236px;height:200px;border:10px solid rgba(50,44,39,.92);background:#d7d6d1;box-shadow:0 20px 34px rgba(0,0,0,.14),inset 0 0 0 1px rgba(255,255,255,.1);overflow:hidden}
.duo3d--real .duo3d-window::before{content:"";position:absolute;inset:0;background:url('../img/experience/window-light.jpg') center/cover no-repeat;filter:saturate(.95) brightness(1.04)}
.duo3d--real .duo3d-window::after{content:"";position:absolute;left:50%;top:0;bottom:0;width:4px;background:rgba(45,39,35,.72);transform:translateX(-50%);box-shadow:-79px 0 0 rgba(0,0,0,0),0 108px 0 0 rgba(45,39,35,.72)}
.duo3d--real .duo3d-window i{position:absolute;left:0;right:0;top:53%;height:4px;background:rgba(45,39,35,.72)}
.duo3d--real .duo3d-window b{position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,248,229,.24),transparent 38%),linear-gradient(8deg,transparent 0 58%,rgba(64,58,53,.18) 58.2% 100%)}

.duo3d--real .duo3d-art{right:78px;top:66px;width:186px;height:136px;padding:8px;background:#332b26;border-radius:6px;box-shadow:0 24px 36px rgba(0,0,0,.24)}
.duo3d--real .duo3d-light{position:absolute;pointer-events:none;mix-blend-mode:screen}
.duo3d--real .duo3d-light--main{width:500px;height:560px;left:-310px;top:-260px;transform:translateZ(-56px) rotate(-18deg);background:linear-gradient(100deg,rgba(255,231,190,.34),rgba(255,236,210,.08) 46%,transparent 70%);clip-path:polygon(0 0,54% 0,100% 100%,22% 100%);filter:blur(2px)}
.duo3d--real .duo3d-light--soft{width:560px;height:320px;left:-26px;top:-100px;transform:translateZ(-170px) rotate(6deg);background:radial-gradient(ellipse,rgba(255,226,192,.18),transparent 70%)}
.duo3d--real .duo3d-rug{position:absolute;width:430px;height:276px;left:-206px;top:152px;border-radius:50%;background:url('../img/experience/floor-texture.jpg') center/cover no-repeat;box-shadow:0 28px 60px rgba(0,0,0,.22),inset 0 0 0 1px rgba(255,255,255,.18);transform:translate3d(0,0,-40px) rotateX(78deg);opacity:.9;filter:brightness(1.03)}
.duo3d--real .duo3d-rug::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(160deg,rgba(255,255,255,.18),transparent 26%,rgba(0,0,0,.08))}

.duo3d--real .duo3d-sofa{left:-170px;top:16px;width:575px;height:360px;transform-style:preserve-3d;border-radius:30px}
.duo3d--real .duo3d-sofa img{object-position:center 52%}
.duo3d--real .duo3d-table{left:-116px;top:214px;width:260px;height:184px;transform-style:preserve-3d;border-radius:999px}
.duo3d--real .duo3d-table img{object-position:center 74%}
.duo3d--real .duo3d-console{left:170px;top:28px;width:198px;height:246px;transform-style:preserve-3d;border-radius:22px}
.duo3d--real .duo3d-console img{object-position:50% 32%}
.duo3d--real .duo3d-lamp{left:250px;top:-34px;width:142px;height:286px;transform-style:preserve-3d;border-radius:18px}
.duo3d--real .duo3d-lamp img{object-position:84% center}
.duo3d--real .duo3d-plant{left:-316px;top:90px;width:132px;height:222px;transform-style:preserve-3d;border-radius:22px}
.duo3d--real .duo3d-plant img{object-position:center 40%}
.duo3d--real .duo3d-cushion{position:absolute;overflow:hidden;display:block;box-shadow:0 18px 32px rgba(0,0,0,.18),0 0 0 1px rgba(255,255,255,.06) inset}
.duo3d--real .duo3d-cushion img{display:block;width:100%;height:100%;object-fit:cover}
.duo3d--real .duo3d-cushion--1{left:-110px!important;top:70px!important;width:84px!important;height:84px!important;border-radius:20px!important;transform:translateZ(10px) rotate(-7deg)!important}
.duo3d--real .duo3d-cushion--1 img{object-position:right center}
.duo3d--real .duo3d-cushion--2{left:52px!important;top:84px!important;width:84px!important;height:84px!important;border-radius:20px!important;transform:translateZ(13px) rotate(8deg)!important}
.duo3d--real .duo3d-cushion--2 img{object-position:center center}
.duo3d--real .duo3d-object{position:absolute;overflow:hidden;box-shadow:0 12px 22px rgba(0,0,0,.18),0 0 0 1px rgba(255,255,255,.08) inset;border-radius:16px}
.duo3d--real .duo3d-object img{display:block;width:100%;height:100%;object-fit:cover}
.duo3d--real .duo3d-object--book{left:8px;top:176px;width:86px;height:36px;transform:translateZ(48px) rotate(-8deg)}
.duo3d--real .duo3d-object--book img{object-position:48% 100%}
.duo3d--real .duo3d-object--vase{left:40px;top:128px;width:34px;height:54px;transform:translateZ(42px);border-radius:16px}
.duo3d--real .duo3d-object--vase img{object-position:70% 47%}

.duo3d--real .duo3d-finale__media img{display:block;width:100%;height:100%;object-fit:cover}

@media(max-width:1180px){
  .duo3d--real .duo3d-stage{transform:translate(-41%,-46%) scale(.9)}
  .duo3d--real .duo3d-hud{width:280px}
}
@media(max-width:860px){
  .duo3d--real .duo3d-scroll{height:500vh}
  .duo3d--real .duo3d-stage{left:50%;top:56%;width:100vw;height:64vh;transform:translate(-50%,-50%) scale(.78);perspective:1200px}
}
@media(max-width:600px){
  .duo3d--real .duo3d-scroll{height:440vh}
  .duo3d--real .duo3d-stage{top:60%;transform:translate(-50%,-50%) scale(.56);width:124vw;perspective:1000px}
  .duo3d--real .duo3d-art{width:164px;height:118px;right:64px}
  .duo3d--real .duo3d-window{width:214px;height:184px}
  .duo3d--real .duo3d-sofa{width:540px;height:340px}
}
@media(prefers-reduced-motion:reduce){
  .duo3d--real .duo3d-scroll{height:auto;min-height:100svh}
}

/* DUO Spatial Experience v21 — quiet luxury cleanup */
.duo3d--v21 .duo3d-intro{
  min-height:88svh;
  padding:clamp(128px,15vh,170px) clamp(24px,5.4vw,94px) clamp(48px,6.5vh,72px);
  align-items:end;
  background:#0e0c0a;
  overflow:hidden;
}
.duo3d--v21 .duo3d-intro::before,
.duo3d--v21 .duo3d-intro::after{display:none}
.duo3d--v21 .duo3d-intro__media{position:absolute;inset:0;z-index:0;overflow:hidden;background:#15110e}
.duo3d--v21 .duo3d-intro__media img{width:100%;height:100%;object-fit:cover;object-position:58% 50%;transform:scale(1.035);filter:saturate(.88) contrast(1.03) brightness(.78)}
.duo3d--v21 .duo3d-intro__media span{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,10,9,.92) 0%,rgba(12,10,9,.68) 34%,rgba(12,10,9,.18) 68%,rgba(12,10,9,.34) 100%),linear-gradient(0deg,rgba(12,10,9,.55),transparent 54%)}
.duo3d--v21 .duo3d-intro__copy{position:relative;z-index:2;max-width:700px}
.duo3d--v21 .duo3d-intro__meta{display:flex;align-items:center;justify-content:space-between;gap:30px;width:min(480px,100%);margin:0 0 26px;padding-bottom:11px;border-bottom:1px solid rgba(255,255,255,.16);font-size:8px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(244,238,230,.54)}
.duo3d--v21 .duo3d-intro h1{max-width:700px;margin:0 0 20px;font-size:clamp(42px,4.35vw,72px);line-height:.94;font-weight:320;letter-spacing:-.045em;color:#f4eee6;text-wrap:balance}
.duo3d--v21 .duo3d-intro h1 em{font-style:normal;color:#d8c8b8}
.duo3d--v21 .duo3d-intro p{max-width:430px;margin:0;color:rgba(244,238,230,.66);font-size:clamp(13px,1vw,15px);line-height:1.62}
.duo3d--v21 .duo3d-intro__scroll{right:clamp(24px,5.4vw,94px);bottom:clamp(48px,6.5vh,72px);gap:10px;color:rgba(244,238,230,.5);font-size:7px;letter-spacing:.18em}
.duo3d--v21 .duo3d-intro__scroll i{width:70px;background:rgba(255,255,255,.2)}
.duo3d--v21 .duo3d-intro__scroll i::after{width:36%;background:#eee7df}

.duo3d--v21 .duo3d-sticky{background:radial-gradient(72% 66% at 55% 48%,#211a15 0%,#15110e 52%,#0d0b09 100%)}
.duo3d--v21 .duo3d-sticky::before{opacity:.16;background:linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.012) 1px,transparent 1px);background-size:12vw 12vw}
.duo3d--v21 .duo3d-hud{left:clamp(24px,4.5vw,72px);top:clamp(120px,15vh,160px);width:min(280px,25vw);gap:16px}
.duo3d--v21 .duo3d-hud__step{font-size:8px;color:rgba(239,232,223,.36)}
.duo3d--v21 .duo3d-hud__step i{width:42px}
.duo3d--v21 .duo3d-hud__copy small{display:none}
.duo3d--v21 .duo3d-hud__copy strong{font-size:clamp(22px,2.35vw,36px);font-weight:350;letter-spacing:-.035em}
.duo3d--v21 .duo3d-hud__copy p{max-width:250px;margin-top:12px;color:rgba(239,232,223,.52);font-size:11px;line-height:1.55}
.duo3d--v21 .duo3d-stage{transform:translate(-40%,-46%);filter:drop-shadow(0 42px 80px rgba(0,0,0,.28))}
.duo3d--v21 .duo3d-photo-frame,
.duo3d--v21 .duo3d-photo-chip{box-shadow:0 22px 54px rgba(0,0,0,.24),0 0 0 1px rgba(255,255,255,.045) inset}
.duo3d--v21 .duo3d-photo-frame::after,
.duo3d--v21 .duo3d-photo-chip::after{background:linear-gradient(135deg,rgba(255,255,255,.07),transparent 32%,transparent 74%,rgba(0,0,0,.08))}
.duo3d--v21 .duo3d-rail{right:clamp(22px,3.6vw,58px);gap:13px}
.duo3d--v21 .duo3d-progress{left:clamp(24px,4.5vw,72px);right:clamp(24px,4.5vw,72px);bottom:clamp(26px,4vh,44px);background:rgba(255,255,255,.08)}
.duo3d--v21 .duo3d-progress i{background:linear-gradient(90deg,#d33b33 0%,#eee6dc 72%);box-shadow:none}

.duo3d--v21 .duo3d-finale{min-height:82svh;align-items:end;background:#120f0d}
.duo3d--v21 .duo3d-finale__media img{filter:saturate(.9) contrast(1.03) brightness(.84)}
.duo3d--v21 .duo3d-finale__media span{background:linear-gradient(90deg,rgba(12,10,9,.88) 0%,rgba(12,10,9,.65) 38%,rgba(12,10,9,.18) 72%,rgba(12,10,9,.3) 100%),linear-gradient(0deg,rgba(12,10,9,.55),transparent 60%)}
.duo3d--v21 .duo3d-finale__content{width:min(720px,calc(100% - 48px));margin:0 0 clamp(60px,8vh,92px) clamp(24px,5.4vw,94px)}
.duo3d--v21 .duo3d-finale h2{margin:0 0 18px;font-size:clamp(38px,4.2vw,66px);line-height:.95;font-weight:320;letter-spacing:-.045em}
.duo3d--v21 .duo3d-finale h2 em{font-style:normal;color:#d9c9ba}
.duo3d--v21 .duo3d-finale p{max-width:470px;margin:0 0 26px;color:rgba(245,239,231,.66);font-size:13px;line-height:1.6}
.duo3d--v21 .duo3d-finale__cta{min-height:48px;padding:0 18px;gap:18px;border-radius:999px;background:#eee8df;color:#17130f;font-size:8px;box-shadow:none}
.duo3d--v21 .duo3d-finale__cta:hover{background:#fffaf4;box-shadow:0 12px 26px rgba(0,0,0,.16)}

@media(max-width:860px){
  .duo3d--v21 .duo3d-intro{min-height:80svh;padding:126px 24px 48px}
  .duo3d--v21 .duo3d-intro__media img{object-position:62% 50%}
  .duo3d--v21 .duo3d-intro__media span{background:linear-gradient(90deg,rgba(12,10,9,.9),rgba(12,10,9,.54) 55%,rgba(12,10,9,.24)),linear-gradient(0deg,rgba(12,10,9,.58),transparent 58%)}
  .duo3d--v21 .duo3d-intro__scroll{right:24px;bottom:48px}
  .duo3d--v21 .duo3d-hud{left:22px;top:112px;width:calc(100% - 44px)}
  .duo3d--v21 .duo3d-stage{transform:translate(-50%,-50%) scale(.78)}
}
@media(max-width:600px){
  .duo3d--v21 .duo3d-intro{min-height:76svh;padding-top:112px;padding-bottom:40px}
  .duo3d--v21 .duo3d-intro__meta{margin-bottom:18px;font-size:7px}
  .duo3d--v21 .duo3d-intro h1{font-size:clamp(38px,11.2vw,52px);line-height:.93;margin-bottom:16px}
  .duo3d--v21 .duo3d-intro p{max-width:88%;font-size:12px}
  .duo3d--v21 .duo3d-intro__scroll{display:none}
  .duo3d--v21 .duo3d-hud{top:100px}.duo3d--v21 .duo3d-hud__copy{max-width:72%}.duo3d--v21 .duo3d-hud__copy strong{font-size:22px}.duo3d--v21 .duo3d-hud__copy p{display:none}
  .duo3d--v21 .duo3d-finale{min-height:74svh}.duo3d--v21 .duo3d-finale__content{width:calc(100% - 48px);margin:0 24px 54px}.duo3d--v21 .duo3d-finale h2{font-size:clamp(36px,10.8vw,50px)}
}

/* DUO Spatial Experience v22 — single-scene luxury reveal */
.duo3d--v22{background:#0e0c0a;color:#f1ebe3;overflow:clip}
.duo3d--v22 .duo3d-intro{min-height:84svh;padding:clamp(126px,14vh,166px) clamp(24px,5.2vw,92px) clamp(50px,6vh,72px);align-items:end;background:#0e0c0a;overflow:hidden}
.duo3d--v22 .duo3d-intro::before,.duo3d--v22 .duo3d-intro::after{display:none}
.duo3d--v22 .duo3d-intro__media{position:absolute;inset:0;overflow:hidden;background:#15110e}
.duo3d--v22 .duo3d-intro__media img{width:100%;height:100%;object-fit:cover;object-position:58% 52%;transform:scale(1.025);filter:saturate(.88) contrast(1.03) brightness(.76)}
.duo3d--v22 .duo3d-intro__media span{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,9,8,.9) 0%,rgba(11,9,8,.7) 34%,rgba(11,9,8,.18) 68%,rgba(11,9,8,.32) 100%),linear-gradient(0deg,rgba(11,9,8,.58),transparent 58%)}
.duo3d--v22 .duo3d-intro__copy{position:relative;z-index:2;max-width:760px}
.duo3d--v22 .duo3d-intro__meta{display:flex;align-items:center;justify-content:space-between;gap:30px;width:min(470px,100%);margin:0 0 24px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.16);font-size:8px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(244,238,230,.52)}
.duo3d--v22 .duo3d-intro h1{margin:0 0 18px;max-width:760px;font-size:clamp(40px,4.1vw,68px);line-height:.94;font-weight:320;letter-spacing:-.045em;color:#f5efe7;text-wrap:balance}
.duo3d--v22 .duo3d-intro h1 em{font-style:normal;color:#d8c8b8}
.duo3d--v22 .duo3d-intro p{max-width:470px;margin:0;color:rgba(244,238,230,.64);font-size:clamp(13px,1vw,15px);line-height:1.62}
.duo3d--v22 .duo3d-intro__scroll{right:clamp(24px,5.2vw,92px);bottom:clamp(50px,6vh,72px);gap:10px;color:rgba(244,238,230,.48);font-size:7px;letter-spacing:.18em}
.duo3d--v22 .duo3d-intro__scroll i{width:70px;background:rgba(255,255,255,.18)}
.duo3d--v22 .duo3d-intro__scroll i::after{width:34%;background:#eee7df}

.duo3d--v22 .duo3d-scroll{height:560vh;background:#0d0b09}
.duo3d--v22 .duo3d-sticky{background:radial-gradient(68% 60% at 61% 48%,#1d1713 0%,#12100d 54%,#0b0908 100%)}
.duo3d--v22 .duo3d-sticky::before{opacity:.08;background:linear-gradient(90deg,rgba(255,255,255,.014) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.01) 1px,transparent 1px);background-size:14vw 14vw;mask-image:radial-gradient(circle at 58% 50%,#000 14%,transparent 76%)}
.duo3d--v22 .duo3d-sticky::after{height:24%;background:linear-gradient(to top,rgba(8,7,6,.62),transparent)}
.duo3d--v22 .duo3d-hud{left:clamp(24px,4.3vw,70px);top:clamp(120px,15vh,156px);width:min(270px,24vw);gap:16px}
.duo3d--v22 .duo3d-hud__step{font-size:8px;color:rgba(239,232,223,.34)}
.duo3d--v22 .duo3d-hud__step i{width:40px;background:rgba(255,255,255,.12)}
.duo3d--v22 .duo3d-hud__copy strong{font-size:clamp(22px,2.25vw,35px);font-weight:350;letter-spacing:-.035em;color:#f2ece4}
.duo3d--v22 .duo3d-hud__copy p{max-width:250px;margin-top:12px;color:rgba(239,232,223,.54);font-size:11px;line-height:1.58}
.duo3d--v22 .duo3d-progress{left:clamp(24px,4.3vw,70px);right:clamp(24px,4.3vw,70px);bottom:clamp(26px,4vh,44px);height:1px;background:rgba(255,255,255,.08)}
.duo3d--v22 .duo3d-progress i{background:linear-gradient(90deg,#d53c34 0%,#eee7de 72%);box-shadow:none}
.duo3d--v22 .duo3d-rail{right:clamp(22px,3.3vw,54px);gap:12px;color:rgba(239,232,223,.18)}
.duo3d--v22 .duo3d-rail span::after{background:rgba(255,255,255,.18)}
.duo3d--v22 .duo3d-rail span.is-active{color:#eee8df}.duo3d--v22 .duo3d-rail span.is-active::after{background:#d83d34}

.duo3d--v22 .duo3d-stage{position:absolute;z-index:2;left:50%;top:50%;width:min(67vw,1060px);height:min(70vh,700px);transform:translate(-38%,-47%);perspective:none;filter:none;pointer-events:none}
.duo3d--v22 .duo3d-v22-frame{position:absolute;inset:0;will-change:transform;transform-origin:50% 50%}
.duo3d--v22 .duo3d-v22-scene{position:absolute;inset:0;overflow:hidden;border-radius:30px;background:#181411;box-shadow:0 40px 90px rgba(0,0,0,.38),0 0 0 1px rgba(255,255,255,.055) inset;isolation:isolate}
.duo3d--v22 .duo3d-v22-scene::before{content:"";position:absolute;inset:0;z-index:12;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.035),inset 0 -100px 150px rgba(0,0,0,.12);pointer-events:none}
.duo3d--v22 .duo3d-v22-scene img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%;display:block}
.duo3d--v22 .duo3d-v22-base{z-index:1;filter:grayscale(.82) saturate(.45) brightness(.58) contrast(.98);transform:scale(1.025);opacity:.48}
.duo3d--v22 .duo3d-v22-layer{position:absolute;inset:0;z-index:2;overflow:hidden;pointer-events:none}
.duo3d--v22 .duo3d-v22-layer img{filter:saturate(.98) contrast(1.02) brightness(.94)}
.duo3d--v22 .duo3d-v22-layer--volume{z-index:2;clip-path:inset(38% 42% 38% 42% round 24px);opacity:.7}
.duo3d--v22 .duo3d-v22-layer--volume img{filter:grayscale(.76) saturate(.5) brightness(.78) contrast(1.01)}
.duo3d--v22 .duo3d-v22-layer--material{z-index:3;clip-path:inset(0 100% 0 0);opacity:1}
.duo3d--v22 .duo3d-v22-layer--material::after{content:"";position:absolute;top:0;bottom:0;right:0;width:1px;background:rgba(246,238,227,.6);box-shadow:0 0 28px rgba(246,238,227,.18)}
.duo3d--v22 .duo3d-v22-layer--light{z-index:4;opacity:0;mask-image:radial-gradient(ellipse 62% 72% at 14% 38%,#000 0 40%,rgba(0,0,0,.88) 58%,transparent 78%);-webkit-mask-image:radial-gradient(ellipse 62% 72% at 14% 38%,#000 0 40%,rgba(0,0,0,.88) 58%,transparent 78%)}
.duo3d--v22 .duo3d-v22-layer--light img{filter:saturate(1) brightness(1.08) contrast(1.02)}
.duo3d--v22 .duo3d-v22-layer--furniture{z-index:5;opacity:0;mask-image:linear-gradient(to top,#000 0 54%,rgba(0,0,0,.95) 64%,transparent 78%);-webkit-mask-image:linear-gradient(to top,#000 0 54%,rgba(0,0,0,.95) 64%,transparent 78%)}
.duo3d--v22 .duo3d-v22-layer--furniture img{filter:saturate(1.01) brightness(.99) contrast(1.035)}
.duo3d--v22 .duo3d-v22-layer--detail{z-index:6;opacity:0;mask-image:radial-gradient(circle at 48% 47%,#000 0 24%,rgba(0,0,0,.88) 42%,transparent 62%);-webkit-mask-image:radial-gradient(circle at 48% 47%,#000 0 24%,rgba(0,0,0,.88) 42%,transparent 62%)}
.duo3d--v22 .duo3d-v22-layer--detail img{filter:saturate(1.04) brightness(1.01) contrast(1.04)}
.duo3d--v22 .duo3d-v22-layer--final{z-index:7;opacity:0}
.duo3d--v22 .duo3d-v22-layer--final img{filter:saturate(1.01) brightness(.98) contrast(1.035)}
.duo3d--v22 .duo3d-v22-light-beam{position:absolute;z-index:8;left:-8%;top:-10%;width:48%;height:120%;opacity:0;background:linear-gradient(102deg,rgba(255,239,213,.22),rgba(255,237,204,.07) 45%,transparent 74%);clip-path:polygon(0 0,64% 0,100% 100%,24% 100%);mix-blend-mode:screen;transform:translateX(-14%);pointer-events:none}
.duo3d--v22 .duo3d-v22-vignette{position:absolute;z-index:9;inset:0;background:linear-gradient(90deg,rgba(12,10,8,.12),transparent 26%,transparent 76%,rgba(12,10,8,.08)),linear-gradient(0deg,rgba(12,10,8,.18),transparent 26% 72%,rgba(12,10,8,.08));pointer-events:none}
.duo3d--v22 .duo3d-v22-caption{position:absolute;z-index:10;left:22px;right:22px;bottom:20px;display:flex;justify-content:space-between;align-items:center;color:rgba(250,244,236,.58);font-size:7px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;pointer-events:none}
.duo3d--v22 .duo3d-v22-caption span:last-child{color:rgba(250,244,236,.36)}

.duo3d--v22 .duo3d-finale{min-height:78svh;align-items:end;background:#120f0d}
.duo3d--v22 .duo3d-finale__media img{filter:saturate(.93) contrast(1.025) brightness(.82)}
.duo3d--v22 .duo3d-finale__media span{background:linear-gradient(90deg,rgba(12,10,9,.88) 0%,rgba(12,10,9,.64) 38%,rgba(12,10,9,.18) 72%,rgba(12,10,9,.3) 100%),linear-gradient(0deg,rgba(12,10,9,.54),transparent 60%)}
.duo3d--v22 .duo3d-finale__content{width:min(720px,calc(100% - 48px));margin:0 0 clamp(58px,8vh,88px) clamp(24px,5.2vw,92px)}
.duo3d--v22 .duo3d-finale h2{margin:0 0 18px;font-size:clamp(38px,4vw,64px);line-height:.95;font-weight:320;letter-spacing:-.045em}
.duo3d--v22 .duo3d-finale h2 em{font-style:normal;color:#d8c8b8}
.duo3d--v22 .duo3d-finale p{max-width:470px;margin:0 0 26px;color:rgba(245,239,231,.64);font-size:13px;line-height:1.6}
.duo3d--v22 .duo3d-finale__cta{min-height:48px;padding:0 18px;gap:18px;border-radius:999px;background:#eee8df;color:#17130f;font-size:8px;box-shadow:none}
.duo3d--v22 .duo3d-finale__cta:hover{background:#fffaf4;box-shadow:0 12px 26px rgba(0,0,0,.16)}

@media(max-width:1180px){
  .duo3d--v22 .duo3d-stage{width:min(70vw,980px);transform:translate(-36%,-47%)}
  .duo3d--v22 .duo3d-hud{width:240px}
}
@media(max-width:860px){
  .duo3d--v22 .duo3d-intro{min-height:80svh;padding:124px 24px 48px}
  .duo3d--v22 .duo3d-intro__media img{object-position:62% 52%}
  .duo3d--v22 .duo3d-intro__media span{background:linear-gradient(90deg,rgba(11,9,8,.9),rgba(11,9,8,.56) 58%,rgba(11,9,8,.24)),linear-gradient(0deg,rgba(11,9,8,.58),transparent 58%)}
  .duo3d--v22 .duo3d-intro__scroll{right:24px;bottom:48px}
  .duo3d--v22 .duo3d-scroll{height:480vh}
  .duo3d--v22 .duo3d-hud{left:22px;top:108px;width:calc(100% - 44px);display:flex;justify-content:space-between;gap:24px}
  .duo3d--v22 .duo3d-hud__copy{max-width:230px;text-align:right}
  .duo3d--v22 .duo3d-stage{left:50%;top:56%;width:88vw;height:58vh;transform:translate(-50%,-50%)}
  .duo3d--v22 .duo3d-rail{display:none}
}
@media(max-width:600px){
  .duo3d--v22 .duo3d-intro{min-height:75svh;padding-top:110px;padding-bottom:40px}
  .duo3d--v22 .duo3d-intro__meta{margin-bottom:18px;font-size:7px}
  .duo3d--v22 .duo3d-intro h1{font-size:clamp(36px,10.6vw,50px);line-height:.93;margin-bottom:16px}
  .duo3d--v22 .duo3d-intro p{max-width:90%;font-size:12px}
  .duo3d--v22 .duo3d-intro__scroll{display:none}
  .duo3d--v22 .duo3d-scroll{height:430vh}
  .duo3d--v22 .duo3d-hud{top:96px;display:block}.duo3d--v22 .duo3d-hud__step{margin-bottom:10px}.duo3d--v22 .duo3d-hud__copy{text-align:left;max-width:74%}.duo3d--v22 .duo3d-hud__copy strong{font-size:22px}.duo3d--v22 .duo3d-hud__copy p{display:none}
  .duo3d--v22 .duo3d-stage{top:58%;width:92vw;height:52vh}
  .duo3d--v22 .duo3d-v22-scene{border-radius:22px}
  .duo3d--v22 .duo3d-v22-caption{left:16px;right:16px;bottom:14px}
  .duo3d--v22 .duo3d-finale{min-height:72svh}.duo3d--v22 .duo3d-finale__content{width:calc(100% - 48px);margin:0 24px 52px}.duo3d--v22 .duo3d-finale h2{font-size:clamp(36px,10.5vw,48px)}
}
@media(prefers-reduced-motion:reduce){
  .duo3d--v22 .duo3d-scroll{height:auto;min-height:100svh}
  .duo3d--v22 .duo3d-sticky{position:relative;min-height:100svh;height:auto;padding:140px 0 80px}
  .duo3d--v22 .duo3d-v22-base{opacity:0}
  .duo3d--v22 .duo3d-v22-layer--volume,.duo3d--v22 .duo3d-v22-layer--material,.duo3d--v22 .duo3d-v22-layer--light,.duo3d--v22 .duo3d-v22-layer--furniture,.duo3d--v22 .duo3d-v22-layer--detail{opacity:0}
  .duo3d--v22 .duo3d-v22-layer--final{opacity:1}
}

/* DUO Spatial Experience v23 — guided stage focus */
.duo3d--v22 .duo3d-hud__change{display:grid;gap:4px;margin-top:18px;padding-top:12px;border-top:1px solid rgba(255,255,255,.09)}
.duo3d--v22 .duo3d-hud__change span{font-size:7px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(239,232,223,.3)}
.duo3d--v22 .duo3d-hud__change b{font-size:10px;line-height:1.35;font-weight:560;color:rgba(247,240,232,.84)}

.duo3d--v22 .duo3d-v22-base{opacity:.72;filter:grayscale(.93) saturate(.18) brightness(.42) contrast(.98)}
.duo3d--v22 .duo3d-v22-layer--volume img{filter:grayscale(.78) saturate(.35) brightness(.68) contrast(1.02)}
.duo3d--v22 .duo3d-v22-layer--material img{filter:saturate(.88) brightness(.84) contrast(1.025)}
.duo3d--v22 .duo3d-v22-layer--light img{filter:saturate(.95) brightness(1.18) contrast(1.02)}
.duo3d--v22 .duo3d-v22-layer--furniture img{filter:saturate(1.02) brightness(1.02) contrast(1.045)}
.duo3d--v22 .duo3d-v22-layer--detail{mask-image:radial-gradient(circle at 54% 22%,#000 0 14%,transparent 24%),radial-gradient(circle at 56% 72%,#000 0 18%,transparent 31%),radial-gradient(circle at 82% 64%,#000 0 12%,transparent 23%);-webkit-mask-image:radial-gradient(circle at 54% 22%,#000 0 14%,transparent 24%),radial-gradient(circle at 56% 72%,#000 0 18%,transparent 31%),radial-gradient(circle at 82% 64%,#000 0 12%,transparent 23%)}
.duo3d--v22 .duo3d-v22-layer--detail img{filter:saturate(1.08) brightness(1.06) contrast(1.05)}
.duo3d--v22 .duo3d-v22-layer--final img{filter:saturate(1.02) brightness(1.015) contrast(1.035)}

.duo3d--v22 .duo3d-v23-focus{position:absolute;z-index:11;opacity:0;pointer-events:none;transition:opacity .34s ease,transform .52s cubic-bezier(.22,1,.36,1)}
.duo3d--v22 .duo3d-v23-focus::before{content:"";position:absolute;inset:-10px;border:1px solid rgba(247,239,228,.36);border-radius:14px;box-shadow:0 0 0 1px rgba(255,255,255,.018) inset,0 12px 34px rgba(0,0,0,.12)}
.duo3d--v22 .duo3d-v23-focus::after{content:"";position:absolute;width:42px;height:1px;background:linear-gradient(90deg,rgba(247,239,228,.55),transparent);top:50%;right:-52px}
.duo3d--v22 .duo3d-v23-focus span{position:absolute;width:7px;height:7px;border-radius:50%;background:#e34137;box-shadow:0 0 0 5px rgba(227,65,55,.13)}
.duo3d--v22 .duo3d-v23-focus b{position:absolute;white-space:nowrap;padding:8px 10px;border-radius:999px;background:rgba(17,14,12,.78);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(8px);font-size:7px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#f2ece4;box-shadow:0 10px 24px rgba(0,0,0,.14)}
.duo3d--v22 .duo3d-v23-focus.is-active{opacity:1;transform:translateY(0) scale(1)}
.duo3d--v22 .duo3d-v23-focus:not(.is-active){transform:translateY(8px) scale(.985)}

.duo3d--v22 .duo3d-v23-focus--volume{left:5%;top:6%;width:90%;height:88%}
.duo3d--v22 .duo3d-v23-focus--volume::before{border-radius:24px;border-color:rgba(247,239,228,.22)}
.duo3d--v22 .duo3d-v23-focus--volume::after{display:none}
.duo3d--v22 .duo3d-v23-focus--volume span{left:4%;top:5%}
.duo3d--v22 .duo3d-v23-focus--volume b{left:5%;top:6%}

.duo3d--v22 .duo3d-v23-focus--material{left:39%;top:5%;width:34%;height:35%}
.duo3d--v22 .duo3d-v23-focus--material span{right:-4px;bottom:-4px}
.duo3d--v22 .duo3d-v23-focus--material b{right:-6px;bottom:-42px}

.duo3d--v22 .duo3d-v23-focus--light{left:2%;top:4%;width:30%;height:56%}
.duo3d--v22 .duo3d-v23-focus--light span{right:-4px;top:22%}
.duo3d--v22 .duo3d-v23-focus--light b{right:-14px;top:10%;transform:translateX(100%)}

.duo3d--v22 .duo3d-v23-focus--furniture{left:15%;top:42%;width:62%;height:45%}
.duo3d--v22 .duo3d-v23-focus--furniture span{right:-4px;top:20%}
.duo3d--v22 .duo3d-v23-focus--furniture b{right:-12px;top:9%;transform:translateX(100%)}

.duo3d--v22 .duo3d-v23-focus--detail{left:46%;top:8%;width:44%;height:78%}
.duo3d--v22 .duo3d-v23-focus--detail::before{border-style:dashed;border-color:rgba(247,239,228,.25)}
.duo3d--v22 .duo3d-v23-focus--detail span{right:-4px;bottom:18%}
.duo3d--v22 .duo3d-v23-focus--detail b{right:0;bottom:8%}

.duo3d--v22 .duo3d-v23-focus--final{left:7%;top:8%;width:86%;height:82%}
.duo3d--v22 .duo3d-v23-focus--final::before{border-color:rgba(232,65,55,.42);box-shadow:0 0 0 1px rgba(232,65,55,.05) inset,0 24px 48px rgba(0,0,0,.12)}
.duo3d--v22 .duo3d-v23-focus--final::after{display:none}
.duo3d--v22 .duo3d-v23-focus--final span{right:2%;bottom:2%}
.duo3d--v22 .duo3d-v23-focus--final b{right:3%;bottom:3%}

@media(max-width:860px){
  .duo3d--v22 .duo3d-hud__change{display:none}
  .duo3d--v22 .duo3d-v23-focus b{font-size:6px;padding:7px 9px}
}
@media(max-width:600px){
  .duo3d--v22 .duo3d-v23-focus{display:none}
}
@media(prefers-reduced-motion:reduce){
  .duo3d--v22 .duo3d-v23-focus{display:none}
}

/* DUO Spatial Experience v24 — cinematic guided interior */
.duox24{--x24-paper:#f0e9df;--x24-muted:rgba(240,233,223,.54);--x24-red:#e63a31;background:#0f0d0b;color:var(--x24-paper);overflow:clip}
.duox24-intro{position:relative;min-height:86svh;display:flex;align-items:flex-end;overflow:hidden;background:#100e0c}
.duox24-intro__media{position:absolute;inset:0}
.duox24-intro__media img{width:100%;height:100%;object-fit:cover;object-position:center 48%;transform:scale(1.025);filter:saturate(.88) brightness(.7)}
.duox24-intro__veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,10,9,.92) 0%,rgba(12,10,9,.72) 34%,rgba(12,10,9,.22) 68%,rgba(12,10,9,.38) 100%),linear-gradient(0deg,rgba(12,10,9,.7),transparent 54%)}
.duox24-intro__content{position:relative;z-index:2;width:min(820px,calc(100% - 48px));margin:0 0 clamp(64px,8vh,92px) clamp(24px,6vw,98px)}
.duox24-intro h1{margin:0;font-size:clamp(46px,5.1vw,82px);line-height:.92;font-weight:310;letter-spacing:-.052em;color:#f5eee5;text-wrap:balance}
.duox24-intro h1 em{font-style:normal;color:rgba(245,238,229,.5)}
.duox24-intro p{max-width:510px;margin:24px 0 0;font-size:clamp(14px,1.05vw,17px);line-height:1.65;color:rgba(245,238,229,.64)}
.duox24-intro__cue{display:flex;align-items:center;gap:14px;margin-top:34px;font-size:7px;font-weight:700;letter-spacing:.18em;color:rgba(245,238,229,.42)}
.duox24-intro__cue i{position:relative;display:block;width:82px;height:1px;background:rgba(255,255,255,.14);overflow:hidden}
.duox24-intro__cue i::after{content:"";position:absolute;inset:0;width:36%;background:#eee8df;animation:duox24Cue 1.7s infinite cubic-bezier(.22,1,.36,1)}
@keyframes duox24Cue{0%{transform:translateX(-120%)}65%,100%{transform:translateX(290%)}}

.duox24-scroll{height:560vh;position:relative;background:#0f0d0b}
.duox24-sticky{position:sticky;top:0;height:100svh;display:grid;grid-template-columns:minmax(260px,30vw) minmax(0,1fr);gap:clamp(28px,4vw,72px);align-items:center;padding:clamp(104px,13vh,140px) clamp(24px,4.8vw,82px) clamp(52px,7vh,74px);overflow:hidden;isolation:isolate;background:radial-gradient(80% 80% at 70% 48%,#1a1511 0%,#110e0c 58%,#0d0b09 100%)}
.duox24-sticky::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:25vw 100%;opacity:.22;mask-image:linear-gradient(to right,#000,transparent 68%)}
.duox24-copy{align-self:center;max-width:360px;padding-left:clamp(0px,1.4vw,22px)}
.duox24-index{display:flex;align-items:center;gap:10px;margin-bottom:38px;font-size:7px;font-weight:720;letter-spacing:.14em;color:rgba(240,233,223,.28);font-variant-numeric:tabular-nums}
.duox24-index span:first-child{color:#efe9e0}
.duox24-index i{display:block;width:44px;height:1px;background:rgba(255,255,255,.13)}
.duox24-copy__body{min-height:212px}
.duox24-copy h2{margin:0;font-size:clamp(34px,3.1vw,54px);line-height:.94;font-weight:320;letter-spacing:-.045em;color:#f3ede5}
.duox24-copy p{max-width:315px;margin:18px 0 0;font-size:12px;line-height:1.62;color:rgba(240,233,223,.52)}
.duox24-focus{display:block;margin-top:24px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08);font-size:8px;font-weight:680;letter-spacing:.13em;text-transform:uppercase;color:rgba(240,233,223,.36)}
.duox24-chapters{display:flex;gap:12px;margin-top:40px}
.duox24-chapters span{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:1px solid rgba(255,255,255,.09);font-size:6px;font-weight:730;color:rgba(240,233,223,.24);transition:color .28s ease,border-color .28s ease,background .28s ease}
.duox24-chapters span.is-active{color:#f5eee6;border-color:rgba(230,58,49,.55);background:rgba(230,58,49,.06)}

.duox24-stage-wrap{position:relative;display:flex;justify-content:center;align-items:center;min-width:0}
.duox24-stage{position:relative;width:min(100%,1080px);aspect-ratio:6/5;margin:0;overflow:hidden;border-radius:clamp(18px,1.7vw,28px);background:#1a1714;box-shadow:0 34px 88px rgba(0,0,0,.34),0 0 0 1px rgba(255,255,255,.055) inset;isolation:isolate}
.duox24-stage::before{content:"";position:absolute;inset:0;z-index:4;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.045);pointer-events:none}
.duox24-stage__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:translate3d(0,0,0) scale(1);filter:saturate(.8) brightness(.88);will-change:transform,filter;backface-visibility:hidden}
.duox24-stage__grade{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(11,9,8,.05),rgba(11,9,8,.09));opacity:.55;pointer-events:none;will-change:opacity}
.duox24-stage__light{position:absolute;z-index:3;left:-8%;top:-7%;width:66%;height:112%;background:linear-gradient(105deg,rgba(255,236,205,.31),rgba(255,238,216,.07) 48%,transparent 72%);clip-path:polygon(0 0,58% 0,100% 100%,18% 100%);mix-blend-mode:screen;opacity:0;pointer-events:none;will-change:opacity,transform}
.duox24-progress{position:absolute;left:clamp(24px,4.8vw,82px);right:clamp(24px,4.8vw,82px);bottom:clamp(26px,3.8vh,42px);height:1px;background:rgba(255,255,255,.08);overflow:hidden}
.duox24-progress i{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--x24-red),rgba(240,233,223,.8));transform:scaleX(0);transform-origin:left center;will-change:transform}

.duox24-finale{position:relative;min-height:88svh;display:flex;align-items:flex-end;overflow:hidden;background:#100e0c}
.duox24-finale__media{position:absolute;inset:0}
.duox24-finale__media img{width:100%;height:100%;object-fit:cover;object-position:center 52%;filter:saturate(.96) brightness(.76)}
.duox24-finale__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,9,8,.9) 0%,rgba(11,9,8,.68) 36%,rgba(11,9,8,.18) 73%,rgba(11,9,8,.32) 100%),linear-gradient(0deg,rgba(11,9,8,.66),transparent 58%)}
.duox24-finale__content{position:relative;z-index:2;width:min(820px,calc(100% - 48px));margin:0 0 clamp(72px,10vh,116px) clamp(24px,6vw,98px)}
.duox24-finale h2{margin:0;font-size:clamp(42px,4.7vw,76px);line-height:.93;font-weight:310;letter-spacing:-.052em;color:#f5eee5}
.duox24-finale h2 em{font-style:normal;color:rgba(245,238,229,.48)}
.duox24-finale p{max-width:520px;margin:22px 0 30px;color:rgba(245,238,229,.62);font-size:14px;line-height:1.65}
.duox24-finale__cta{display:inline-flex;align-items:center;gap:18px;min-height:50px;padding:0 20px;border:0;border-radius:999px;background:#efe9e0;color:#181411;font-size:8px;font-weight:780;letter-spacing:.13em;text-transform:uppercase;cursor:pointer;transition:transform .32s var(--ease),background .3s ease,box-shadow .32s ease}
.duox24-finale__cta:hover{transform:translateY(-2px);background:#fffaf4;box-shadow:0 16px 34px rgba(0,0,0,.2)}
.duox24-finale__cta .cta-icon{width:14px;height:14px}

@media(max-width:1050px){
  .duox24-sticky{grid-template-columns:270px minmax(0,1fr);gap:30px;padding-left:26px;padding-right:26px}
  .duox24-copy{padding-left:0}.duox24-copy p{max-width:270px}
}
@media(max-width:820px){
  .duox24-scroll{height:500vh}
  .duox24-sticky{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:20px;align-items:start;padding:104px 22px 54px}
  .duox24-copy{display:grid;grid-template-columns:auto 1fr;column-gap:18px;max-width:none;align-items:start}
  .duox24-index{grid-row:1 / 3;margin:5px 0 0;display:grid;justify-items:center;gap:8px}.duox24-index i{width:1px;height:34px}
  .duox24-copy__body{min-height:118px}.duox24-copy h2{font-size:32px}.duox24-copy p{max-width:460px;margin-top:10px;font-size:11px}.duox24-focus{margin-top:10px;padding-top:8px}
  .duox24-chapters{grid-column:2;margin:12px 0 0;gap:8px}.duox24-chapters span{width:24px;height:24px}
  .duox24-stage-wrap{align-self:center}.duox24-stage{width:min(100%,760px)}
  .duox24-progress{left:22px;right:22px;bottom:24px}
}
@media(max-width:600px){
  .duox24-intro{min-height:78svh}.duox24-intro__content{margin-left:22px;margin-bottom:54px;width:calc(100% - 44px)}.duox24-intro h1{font-size:clamp(44px,13vw,62px)}.duox24-intro p{font-size:13px;max-width:88%}
  .duox24-scroll{height:450vh}.duox24-sticky{padding-top:96px}
  .duox24-copy__body{min-height:106px}.duox24-copy h2{font-size:29px}.duox24-copy p{font-size:10.5px;line-height:1.5}.duox24-focus{font-size:7px}.duox24-chapters{display:none}
  .duox24-stage{border-radius:18px;aspect-ratio:4/5}.duox24-stage__image{object-fit:cover}
  .duox24-finale{min-height:78svh}.duox24-finale__content{margin-left:22px;margin-bottom:58px;width:calc(100% - 44px)}.duox24-finale h2{font-size:clamp(40px,12vw,56px)}
}
@media(prefers-reduced-motion:reduce){
  .duox24-intro__cue i::after{animation:none;transform:none}
  .duox24-scroll{height:auto;min-height:100svh}.duox24-sticky{position:relative;min-height:100svh;height:auto}
  .duox24-stage__image{transform:none!important;filter:none!important}.duox24-stage__light{display:none}.duox24-progress i{transform:scaleX(1)!important}
}

/* DUO Spatial Experience v25 — real multi-scene editorial story */
.duox25{
  --x25-paper:#f1ebe2;
  --x25-muted:rgba(241,235,226,.58);
  --x25-soft:rgba(241,235,226,.34);
  --x25-red:#e64036;
  background:#0f0d0b;
  color:var(--x25-paper);
  overflow:clip;
}
.duox25-overline{
  display:inline-block;
  font-size:8px;
  line-height:1;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(241,235,226,.44);
}
.duox25-intro{
  position:relative;
  min-height:88svh;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  background:#0f0d0b;
}
.duox25-intro__media{position:absolute;inset:0;overflow:hidden}
.duox25-intro__media img{
  width:100%;height:100%;object-fit:cover;object-position:center 48%;
  transform:scale(1.02);
  filter:saturate(.9) brightness(.68);
}
.duox25-intro__shade{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(11,9,8,.94) 0%,rgba(11,9,8,.72) 34%,rgba(11,9,8,.2) 66%,rgba(11,9,8,.26) 100%),
    linear-gradient(0deg,rgba(11,9,8,.72) 0%,transparent 56%);
}
.duox25-intro__content{
  position:relative;z-index:2;
  width:min(860px,calc(100% - 48px));
  margin:0 0 clamp(62px,8vh,94px) clamp(24px,6vw,100px);
}
.duox25-intro h1{
  margin:22px 0 0;
  font-size:clamp(46px,5vw,82px);
  line-height:.92;
  font-weight:310;
  letter-spacing:-.052em;
  color:#f5efe7;
  text-wrap:balance;
}
.duox25-intro h1 em{font-style:normal;color:rgba(245,239,231,.5)}
.duox25-intro p{
  max-width:550px;margin:24px 0 0;
  font-size:clamp(14px,1.05vw,17px);line-height:1.65;
  color:rgba(245,239,231,.62);
}
.duox25-intro__cue{display:flex;align-items:center;gap:14px;margin-top:34px;font-size:7px;font-weight:700;letter-spacing:.18em;color:rgba(245,239,231,.36)}
.duox25-intro__cue i{position:relative;width:82px;height:1px;background:rgba(255,255,255,.12);overflow:hidden}
.duox25-intro__cue i::after{content:"";position:absolute;inset:0;width:38%;background:#eee7df;animation:duox25Cue 1.8s infinite cubic-bezier(.22,1,.36,1)}
@keyframes duox25Cue{0%{transform:translateX(-120%)}65%,100%{transform:translateX(285%)}}

.duox25-story{position:relative;height:610vh;background:#0f0d0b}
.duox25-sticky{
  position:sticky;top:0;height:100svh;
  display:grid;
  grid-template-columns:minmax(270px,31vw) minmax(0,1fr);
  gap:clamp(36px,5vw,86px);
  align-items:center;
  padding:clamp(104px,13vh,142px) clamp(24px,5vw,88px) clamp(44px,5.5vh,66px);
  overflow:hidden;
  background:
    radial-gradient(70% 75% at 72% 48%,rgba(91,68,50,.12),transparent 70%),
    #0f0d0b;
}
.duox25-copy{align-self:center;max-width:390px;padding-left:clamp(0px,1vw,18px)}
.duox25-number{display:flex;align-items:baseline;gap:8px;margin-bottom:40px;font-variant-numeric:tabular-nums}
.duox25-number span{font-size:10px;font-weight:720;letter-spacing:.1em;color:#f0eae1}
.duox25-number small{font-size:7px;font-weight:700;letter-spacing:.12em;color:rgba(240,234,225,.25)}
.duox25-copy__body{min-height:240px}
.duox25-copy h2{
  margin:0;
  font-size:clamp(38px,3.6vw,62px);
  line-height:.92;
  font-weight:315;
  letter-spacing:-.05em;
  color:#f4eee6;
}
.duox25-copy p{
  max-width:340px;margin:20px 0 0;
  font-size:13px;line-height:1.68;
  color:rgba(240,234,225,.55);
}
.duox25-sequence{display:flex;align-items:center;gap:12px;margin-top:32px;color:rgba(240,234,225,.28);font-size:7px;font-weight:680;letter-spacing:.12em;text-transform:uppercase}
.duox25-sequence i{display:block;flex:1;max-width:86px;height:1px;background:rgba(255,255,255,.09)}

.duox25-media{
  position:relative;
  width:min(100%,1080px);
  aspect-ratio:6/5;
  justify-self:end;
  overflow:hidden;
  background:#15120f;
  box-shadow:0 32px 88px rgba(0,0,0,.3);
}
.duox25-frame{
  position:absolute;inset:0;margin:0;
  opacity:0;
  transform:scale(1.025) translate3d(0,10px,0);
  transition:none;
  will-change:opacity,transform;
  backface-visibility:hidden;
}
.duox25-frame.is-active{opacity:1}
.duox25-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.96) contrast(1.01) brightness(.9)}
.duox25-frame:nth-of-type(2) img{object-position:52% 52%}
.duox25-frame:nth-of-type(3) img{object-position:56% 50%}
.duox25-frame:nth-of-type(4) img{object-position:48% 56%}
.duox25-frame:nth-of-type(5) img{object-position:56% 44%}
.duox25-frame:nth-of-type(6) img{object-position:50% 50%}
.duox25-media__edge{position:absolute;inset:0;z-index:20;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.045)}

.duox25-finale{
  position:relative;min-height:88svh;
  display:flex;align-items:flex-end;
  overflow:hidden;background:#100e0c;
}
.duox25-finale__media{position:absolute;inset:0}
.duox25-finale__media img{width:100%;height:100%;object-fit:cover;object-position:center 48%;filter:saturate(.92) brightness(.72)}
.duox25-finale__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,9,8,.92) 0%,rgba(11,9,8,.69) 38%,rgba(11,9,8,.16) 72%,rgba(11,9,8,.28) 100%),linear-gradient(0deg,rgba(11,9,8,.68),transparent 56%)}
.duox25-finale__content{position:relative;z-index:2;width:min(840px,calc(100% - 48px));margin:0 0 clamp(70px,9vh,112px) clamp(24px,6vw,100px)}
.duox25-finale h2{margin:22px 0 0;font-size:clamp(42px,4.8vw,78px);line-height:.93;font-weight:310;letter-spacing:-.052em;color:#f5eee6}
.duox25-finale h2 em{font-style:normal;color:rgba(245,238,230,.49)}
.duox25-finale p{max-width:530px;margin:22px 0 30px;font-size:14px;line-height:1.65;color:rgba(245,238,230,.61)}
.duox25-finale__cta{display:inline-flex;align-items:center;gap:18px;min-height:50px;padding:0 20px;border:0;border-radius:999px;background:#efe9e0;color:#181411;font-size:8px;font-weight:780;letter-spacing:.13em;text-transform:uppercase;cursor:pointer;transition:transform .32s var(--ease),background .28s ease,box-shadow .32s ease}
.duox25-finale__cta:hover{transform:translateY(-2px);background:#fffaf4;box-shadow:0 16px 34px rgba(0,0,0,.2)}
.duox25-finale__cta .cta-icon{width:14px;height:14px}

@media(max-width:1100px){
  .duox25-sticky{grid-template-columns:260px minmax(0,1fr);gap:30px;padding-left:28px;padding-right:28px}
  .duox25-copy{padding-left:0}.duox25-copy p{max-width:280px}
}
@media(max-width:820px){
  .duox25-story{height:520vh}
  .duox25-sticky{grid-template-columns:1fr;grid-template-rows:auto 1fr;align-items:start;gap:18px;padding:102px 22px 36px}
  .duox25-copy{display:grid;grid-template-columns:auto 1fr;gap:0 18px;max-width:none}
  .duox25-number{grid-row:1 / 3;margin:5px 0 0;align-items:flex-start;flex-direction:column;gap:4px}
  .duox25-copy__body{min-height:128px}.duox25-copy h2{font-size:34px}.duox25-copy p{max-width:520px;margin-top:10px;font-size:11.5px}
  .duox25-sequence{grid-column:2;margin-top:12px}
  .duox25-media{align-self:center;justify-self:center;width:min(100%,760px)}
}
@media(max-width:600px){
  .duox25-intro{min-height:80svh}.duox25-intro__content{width:calc(100% - 44px);margin-left:22px;margin-bottom:54px}.duox25-intro h1{font-size:clamp(44px,13vw,62px)}.duox25-intro p{max-width:92%;font-size:13px}
  .duox25-story{height:470vh}.duox25-sticky{padding-top:96px;gap:12px}
  .duox25-copy__body{min-height:118px}.duox25-copy h2{font-size:30px}.duox25-copy p{font-size:10.5px;line-height:1.5}.duox25-sequence{display:none}
  .duox25-media{aspect-ratio:4/5;width:100%}.duox25-frame img{object-fit:cover}
  .duox25-finale{min-height:80svh}.duox25-finale__content{width:calc(100% - 44px);margin-left:22px;margin-bottom:58px}.duox25-finale h2{font-size:clamp(40px,12vw,56px)}
}
@media(prefers-reduced-motion:reduce){
  .duox25-intro__cue i::after{animation:none;transform:none}
  .duox25-story{height:auto;min-height:100svh}.duox25-sticky{position:relative;min-height:100svh;height:auto}
  .duox25-frame{transform:none!important}.duox25-frame:not(:first-child){display:none!important}.duox25-frame:first-child{opacity:1!important}
}

/* =========================================================
   DUO Quick Estimator v26 — compact, client-first calculator
   ========================================================= */
.duo-calculator--fast{
  width:min(1540px,calc(100% - 48px));
  margin:clamp(72px,9vw,132px) auto;
  min-height:720px;
  grid-template-columns:minmax(300px,.72fr) minmax(620px,1.48fr);
  border-radius:30px;
  overflow:hidden;
  background:#eae1d5;
  box-shadow:0 34px 90px rgba(14,11,9,.18);
}
.duo-calculator--fast .duo-calculator__visual{min-height:720px}
.duo-calculator--fast .duo-calculator__media img{
  filter:saturate(.82) contrast(.98) brightness(.78);
  transform:scale(1.018);
}
.duo-calculator--fast .duo-calculator__veil{
  background:linear-gradient(180deg,rgba(18,15,13,.08) 0%,rgba(18,15,13,.18) 38%,rgba(18,15,13,.82) 100%),linear-gradient(90deg,rgba(18,15,13,.18),transparent 72%);
}
.duo-calculator--fast .duo-calculator__intro{left:34px;right:34px;bottom:38px}
.duo-calculator--fast .duo-calculator__intro .eyebrow{font-size:8px;letter-spacing:.19em;color:rgba(247,241,232,.72)}
.duo-calculator--fast .duo-calculator__intro .eyebrow:after{width:30px;margin-top:12px}
.duo-calculator--fast .duo-calculator__intro h2{
  max-width:410px;
  margin:20px 0 16px;
  font-size:clamp(34px,2.7vw,50px);
  line-height:.98;
  letter-spacing:-.045em;
  text-wrap:balance;
}
.duo-calculator--fast .duo-calculator__intro p{max-width:420px;font-size:12px;line-height:1.6;color:rgba(239,232,223,.72)}
.duo-calculator--fast .duo-calculator__marker{margin-top:24px;font-size:8px;color:rgba(239,232,223,.62)}
.duo-calculator--fast .duo-calculator__marker i{width:54px}

.calculator-shell--fast{
  min-height:720px;
  padding:32px clamp(30px,3.3vw,54px) 28px;
  border-radius:0;
  background:
    radial-gradient(70% 52% at 100% 0%,rgba(235,54,43,.065),transparent 72%),
    #eee7dd;
  box-shadow:none;
}
.calculator-shell--fast:before,.calculator-shell--fast:after{opacity:.18;pointer-events:none}
.calculator-shell--fast .calculator-shell__head{align-items:center;min-height:42px}
.calculator-shell--fast .calculator-shell__head>div{padding-left:15px}
.calculator-shell--fast .calculator-shell__head>div:before{width:2px;height:33px;top:1px;background:var(--red)}
.calculator-shell--fast .calculator-shell__head>div>span{font-size:8px;letter-spacing:.16em}
.calculator-shell--fast .calculator-shell__head>div>strong{margin-top:3px;font-size:14px}
.calculator-shell--fast .calculator-reset{min-height:38px;padding:0 13px;border-radius:999px;background:rgba(255,255,255,.34);font-size:8px}

.calculator-steps--fast{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:20px;
}
.calculator-steps--fast .calculator-step-nav{
  min-height:48px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:7px 12px;
  border:1px solid rgba(54,45,38,.09);
  border-radius:14px;
  background:rgba(255,255,255,.2);
  transition:background .22s ease,border-color .22s ease,color .22s ease,transform .22s var(--ease);
}
.calculator-steps--fast .calculator-step-nav span{
  flex:0 0 27px;
  width:27px;height:27px;
  display:grid;place-items:center;
  border-radius:50%;
  background:rgba(69,58,49,.07);
  font-size:8px;
}
.calculator-steps--fast .calculator-step-nav strong{margin:0;font-size:10px;white-space:nowrap}
.calculator-steps--fast .calculator-step-nav.is-active{background:rgba(255,255,255,.58);border-color:rgba(201,39,31,.18);color:#2a241f;box-shadow:0 10px 24px rgba(47,38,31,.04)}
.calculator-steps--fast .calculator-step-nav.is-active span{background:var(--red);color:#fff}
.calculator-steps--fast .calculator-step-nav.is-complete span{background:#d7cec2;color:#514941}
.calculator-steps--fast .calculator-step-nav:disabled{opacity:.46}
.calculator-shell--fast .calculator-progress{height:1px;margin-top:10px;background:rgba(57,47,39,.08)}
.calculator-shell--fast .calculator-progress span{background:linear-gradient(90deg,var(--red),#d65a50)}

.calculator-shell--fast .calculator-shell__body{min-height:420px;padding:28px 0 18px}
.calculator-shell--fast .calculator-step.is-active{animation:calculatorFastIn .28s var(--ease)}
@keyframes calculatorFastIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.calculator-step__head--compact{display:block;margin-bottom:22px}
.calculator-step__head--compact>div{max-width:620px}
.calculator-step__head--compact p{margin-bottom:7px;font-size:8px;letter-spacing:.17em;color:#a04a43}
.calculator-step__head--compact h3{font-size:clamp(28px,2.3vw,40px);line-height:1;letter-spacing:-.042em;font-weight:350}
.calculator-step__hint{margin:14px 0 0;color:#8a7e72;font-size:10px}

.calculator-space-grid--fast{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
.calculator-choice--fast{grid-column:auto!important}
.calculator-choice--fast .calculator-choice__surface{
  min-height:128px;
  padding:15px;
  border-radius:17px;
  background:rgba(255,255,255,.28);
  border-color:rgba(54,45,38,.1);
  box-shadow:none;
}
.calculator-choice--fast:hover .calculator-choice__surface{transform:translateY(-2px);background:rgba(255,255,255,.54);border-color:rgba(54,45,38,.18);box-shadow:0 12px 24px rgba(45,37,30,.04)}
.calculator-choice--fast input:checked+.calculator-choice__surface{background:#f8f2ea;border-color:rgba(201,39,31,.36);box-shadow:0 12px 30px rgba(56,44,34,.06)}
.calculator-choice--fast .calculator-choice__icon{width:33px;height:33px;background:#ddd3c7}
.calculator-choice--fast strong{font-size:11px;line-height:1.3}
.calculator-choice--fast .calculator-choice__check{width:21px;height:21px;top:12px;right:12px;background:transparent;border:1px solid rgba(62,51,43,.16)}
.calculator-choice--fast input:checked+.calculator-choice__surface .calculator-choice__check{border-color:var(--red)}

.calculator-detail-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(260px,.88fr);gap:14px;align-items:stretch}
.surface-editor--fast{min-height:268px;padding:20px 22px 18px;border-radius:20px;background:#ded4c7;border:1px solid rgba(56,46,38,.07)}
.surface-editor__label,.calculator-stage-quick__label{display:block;margin-bottom:14px;font-size:8px;font-weight:650;letter-spacing:.15em;text-transform:uppercase;color:#7b7066}
.surface-editor--fast .surface-editor__value input{font-size:clamp(54px,5vw,76px)}
.surface-editor--fast .surface-editor__value span{font-size:18px}
.surface-editor--fast .surface-editor__range{margin:18px 0 8px}
.surface-editor--fast .surface-presets{gap:6px}
.surface-editor--fast .surface-presets button{min-height:34px;padding:0 10px;border-radius:999px;background:rgba(255,255,255,.28);font-size:9px}
.surface-editor--fast .surface-presets button.is-active{background:#312a24;color:#f2ece4;border-color:#312a24}
.calculator-stage-quick{min-height:268px;padding:20px;border:1px solid rgba(54,45,38,.09);border-radius:20px;background:rgba(255,255,255,.24)}
.calculator-stage--quick{display:block;margin-top:7px}
.calculator-stage--quick>span{
  min-height:44px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 11px;
  border-radius:12px;
  background:transparent;
  border:1px solid transparent;
}
.calculator-stage--quick:hover>span{transform:none;background:rgba(255,255,255,.36);border-color:rgba(54,45,38,.08)}
.calculator-stage--quick i{flex:0 0 23px;width:23px;height:23px}
.calculator-stage--quick strong{font-size:10px;font-weight:540}
.calculator-stage--quick input:checked+span{background:#f7f1e8;border-color:rgba(201,39,31,.28)}

.calculator-services--fast{grid-template-columns:1fr 1fr;gap:8px}
.calculator-service--fast>span{
  min-height:76px;
  padding:13px 14px;
  grid-template-columns:26px 1fr;
  gap:11px;
  border-radius:15px;
  background:rgba(255,255,255,.25);
}
.calculator-service--fast:hover>span{transform:translateY(-1px);background:rgba(255,255,255,.46)}
.calculator-service--fast input:checked+span{background:#f8f2e9;border-color:rgba(201,39,31,.32)}
.calculator-service--fast .calculator-service__check{width:23px;height:23px}
.calculator-service--fast strong{font-size:11px}
.calculator-service--fast small{margin-top:4px;font-size:9px;line-height:1.35;color:#8a7e73;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

.calculator-result--fast{max-width:820px}
.calculator-result__top>span{display:block;margin-bottom:8px;color:#9f4d46;font-size:8px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}
.calculator-result__top h3{margin:0;font-size:clamp(30px,2.8vw,44px);font-weight:350;line-height:1;letter-spacing:-.045em}
.calculator-result__summary{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:22px;color:#665c53;font-size:10px}
.calculator-result__summary i{width:3px;height:3px;border-radius:50%;background:#baaea1}
.calculator-result__services-compact{display:grid;grid-template-columns:90px 1fr;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(54,45,38,.1)}
.calculator-result__services-compact span{font-size:8px;letter-spacing:.13em;text-transform:uppercase;color:#8a7e72}
.calculator-result__services-compact strong{font-size:11px;font-weight:520;line-height:1.55}
.calculator-estimate--fast{
  position:relative;
  display:grid;
  grid-template-columns:42px 1fr;
  gap:15px;
  margin-top:22px;
  padding:22px;
  border:1px solid rgba(54,45,38,.1);
  border-radius:21px;
  background:#dcd1c4;
  overflow:hidden;
}
.calculator-estimate--fast:after{content:"";position:absolute;right:-70px;top:-95px;width:230px;height:230px;border-radius:50%;border:1px solid rgba(255,255,255,.34);pointer-events:none}
.calculator-estimate__icon{position:relative;z-index:1;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.38);color:#594f46}
.calculator-estimate__icon .ui-icon{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.4}
.calculator-estimate--fast>div{position:relative;z-index:1}
.calculator-estimate--fast>div>span{display:block;font-size:8px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#786d63}
.calculator-estimate--fast>div>strong{display:block;margin-top:7px;font-size:clamp(25px,2.4vw,38px);font-weight:420;line-height:1.08;letter-spacing:-.035em;color:#2a241f}
.calculator-estimate--fast>div>p{max-width:560px;margin:9px 0 0;color:#766b61;font-size:10px;line-height:1.55}
.calculator-estimate--fast.is-priced{background:#ddd3c6}
.calculator-estimate--fast.is-high-value{background:linear-gradient(135deg,#26201b,#171310);border-color:rgba(255,255,255,.08);color:#f2ece4}
.calculator-estimate--fast.is-high-value:after{border-color:rgba(235,54,43,.25)}
.calculator-estimate--fast.is-high-value .calculator-estimate__icon{background:rgba(235,54,43,.12);color:#f06b62}
.calculator-estimate--fast.is-high-value>div>span{color:#df756d}
.calculator-estimate--fast.is-high-value>div>strong{color:#f4eee6}
.calculator-estimate--fast.is-high-value>div>p{color:rgba(244,238,230,.66)}
.calculator-result--fast .calculator-result__actions{margin-top:14px}
.calculator-result--fast .calculator-primary{min-height:46px;padding:0 18px;border-radius:999px}
.calculator-result--fast .calculator-edit{min-height:46px;border-radius:999px}

.calculator-shell--fast .calculator-shell__actions{min-height:58px;padding-top:14px;gap:12px}
.calculator-shell--fast .calculator-live{font-size:9px;color:#8a7f75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.calculator-shell--fast .calculator-next,.calculator-shell--fast .calculator-back{min-height:44px;border-radius:999px;padding-left:17px;padding-right:9px}
.calculator-shell--fast .calculator-next{min-width:150px;background:#bc2b25}
.calculator-shell--fast .calculator-next:hover{background:#a9231f}
.calculator-shell--fast .calculator-error{margin:0 0 8px;padding:9px 12px;border-radius:11px;background:rgba(201,39,31,.08);font-size:10px;color:#a62b25}

@media(max-width:1180px){
  .duo-calculator--fast{grid-template-columns:minmax(280px,.62fr) minmax(570px,1.38fr);width:calc(100% - 32px)}
  .calculator-space-grid--fast{grid-template-columns:repeat(3,minmax(0,1fr))}
  .calculator-choice--fast:nth-child(4),.calculator-choice--fast:nth-child(5){grid-column:auto!important}
}
@media(max-width:980px){
  .duo-calculator--fast{display:grid;grid-template-columns:1fr;min-height:0;border-radius:26px}
  .duo-calculator--fast .duo-calculator__visual{min-height:300px}
  .duo-calculator--fast .duo-calculator__media img{object-position:center 52%}
  .duo-calculator--fast .duo-calculator__intro{bottom:26px}
  .duo-calculator--fast .duo-calculator__intro h2{max-width:560px;font-size:clamp(30px,6vw,46px)}
  .duo-calculator--fast .duo-calculator__intro p{max-width:600px}
  .calculator-shell--fast{min-height:640px;border-radius:0;padding:26px 28px 24px}
}
@media(max-width:680px){
  .duo-calculator--fast{width:calc(100% - 20px);margin:58px auto;border-radius:22px}
  .duo-calculator--fast .duo-calculator__visual{min-height:255px}
  .duo-calculator--fast .duo-calculator__intro{left:20px;right:20px;bottom:20px}
  .duo-calculator--fast .duo-calculator__intro h2{font-size:30px;max-width:330px;margin:15px 0 10px}
  .duo-calculator--fast .duo-calculator__intro p{font-size:10px;line-height:1.5;max-width:340px}
  .duo-calculator--fast .duo-calculator__marker{display:none}
  .calculator-shell--fast{min-height:0;padding:20px 16px 18px}
  .calculator-shell--fast .calculator-shell__head{gap:10px}.calculator-shell--fast .calculator-reset span{display:none}
  .calculator-steps--fast{gap:5px;margin-top:16px}
  .calculator-steps--fast .calculator-step-nav{min-height:42px;padding:6px 8px;gap:6px}
  .calculator-steps--fast .calculator-step-nav span{width:24px;height:24px;flex-basis:24px}
  .calculator-steps--fast .calculator-step-nav strong{font-size:8px}
  .calculator-shell--fast .calculator-shell__body{min-height:0;padding:22px 0 14px}
  .calculator-step__head--compact h3{font-size:29px}
  .calculator-space-grid--fast{grid-template-columns:1fr 1fr;gap:7px}
  .calculator-choice--fast .calculator-choice__surface{min-height:102px;padding:12px}
  .calculator-choice--fast:last-child{grid-column:1/-1!important}
  .calculator-detail-grid{grid-template-columns:1fr;gap:9px}
  .surface-editor--fast,.calculator-stage-quick{min-height:auto;padding:16px;border-radius:16px}
  .surface-editor--fast .surface-editor__value input{font-size:54px}
  .calculator-stage-quick{display:grid;grid-template-columns:1fr 1fr;gap:6px}
  .calculator-stage-quick__label{grid-column:1/-1;margin-bottom:2px}
  .calculator-stage--quick{margin:0}.calculator-stage--quick>span{min-height:48px;padding:7px 9px}.calculator-stage--quick strong{font-size:9px}
  .calculator-services--fast{grid-template-columns:1fr;gap:6px}
  .calculator-service--fast>span{min-height:66px;padding:11px 12px}.calculator-service--fast small{-webkit-line-clamp:1}
  .calculator-result__summary{gap:7px;font-size:9px}.calculator-result__services-compact{grid-template-columns:1fr;gap:5px}
  .calculator-estimate--fast{grid-template-columns:34px 1fr;padding:17px;gap:11px;border-radius:17px}.calculator-estimate__icon{width:32px;height:32px}
  .calculator-estimate--fast>div>strong{font-size:27px}
  .calculator-shell--fast .calculator-shell__actions{grid-template-columns:auto 1fr;gap:8px}.calculator-shell--fast .calculator-live{display:none}
  .calculator-shell--fast .calculator-next{min-width:0;width:100%}
  .calculator-result--fast .calculator-result__actions{display:grid;grid-template-columns:1fr}.calculator-result--fast .calculator-primary,.calculator-result--fast .calculator-edit{width:100%;justify-content:center}
}
@media(prefers-reduced-motion:reduce){
  .calculator-shell--fast .calculator-step.is-active{animation:none}
  .calculator-choice--fast:hover .calculator-choice__surface,.calculator-service--fast:hover>span{transform:none}
}


/* =========================================================
   DUO Quick Estimator v27 — compact luxury + direct callback
   ========================================================= */
.duo-calculator--fast{
  width:min(1280px,calc(100% - 48px));
  min-height:570px;
  grid-template-columns:minmax(250px,.54fr) minmax(620px,1.46fr);
  margin:clamp(58px,7vw,96px) auto;
  border-radius:24px;
  box-shadow:0 28px 72px rgba(14,11,9,.14);
}
.duo-calculator--fast .duo-calculator__visual{min-height:570px}
.duo-calculator--fast .duo-calculator__intro{left:28px;right:28px;bottom:30px}
.duo-calculator--fast .duo-calculator__intro h2{max-width:330px;margin:16px 0 12px;font-size:clamp(29px,2.25vw,38px);line-height:1.01}
.duo-calculator--fast .duo-calculator__intro p{max-width:330px;font-size:10px;line-height:1.55}
.duo-calculator--fast .duo-calculator__marker{margin-top:18px}
.calculator-shell--fast{min-height:570px;padding:25px clamp(24px,2.5vw,38px) 22px}
.calculator-shell--fast .calculator-shell__head{min-height:36px}
.calculator-shell--fast .calculator-shell__head>div>strong{font-size:13px}
.calculator-shell--fast .calculator-reset{min-height:34px;padding:0 11px}
.calculator-steps--fast{display:flex;gap:0;margin-top:15px;border-bottom:1px solid rgba(54,45,38,.10)}
.calculator-steps--fast .calculator-step-nav{
  position:relative;flex:1;min-height:40px;padding:0 8px 10px;border:0;border-radius:0;background:transparent;box-shadow:none;gap:8px;justify-content:flex-start;
}
.calculator-steps--fast .calculator-step-nav:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:transparent;transform:scaleX(.2);transform-origin:left center;transition:transform .3s var(--ease),background .25s ease}
.calculator-steps--fast .calculator-step-nav span{width:22px;height:22px;flex-basis:22px;background:transparent;border:1px solid rgba(57,47,39,.18);font-size:7px}
.calculator-steps--fast .calculator-step-nav strong{font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:#756a61}
.calculator-steps--fast .calculator-step-nav.is-active{background:transparent;border:0;box-shadow:none}
.calculator-steps--fast .calculator-step-nav.is-active:after{background:var(--red);transform:scaleX(1)}
.calculator-steps--fast .calculator-step-nav.is-active span{background:transparent;color:#b42b25;border-color:rgba(201,39,31,.45)}
.calculator-steps--fast .calculator-step-nav.is-active strong{color:#312a24}
.calculator-steps--fast .calculator-step-nav.is-complete span{background:transparent;color:#554d46}
.calculator-shell--fast .calculator-progress{display:none}
.calculator-shell--fast .calculator-shell__body{min-height:320px;padding:21px 0 10px}
.calculator-step__head--compact{margin-bottom:16px}.calculator-step__head--compact h3{font-size:clamp(25px,2vw,34px)}
.calculator-space-grid--fast{gap:8px}.calculator-choice--fast .calculator-choice__surface{min-height:92px;padding:12px}
.calculator-detail-grid{gap:10px}.surface-editor--fast,.calculator-stage-quick{min-height:224px;padding:16px 18px;border-radius:16px}
.surface-editor__label,.calculator-stage-quick__label{margin-bottom:10px}.surface-editor--fast .surface-editor__value input{font-size:clamp(46px,4.2vw,62px)}
.calculator-stage--quick>span{min-height:38px;padding:6px 9px}.calculator-services--fast{gap:7px}
.calculator-service--fast>span{min-height:64px;padding:10px 12px;border-radius:13px}.calculator-service--fast small{font-size:8px;-webkit-line-clamp:1}
.calculator-result--fast{max-width:680px}.calculator-result__top h3{font-size:clamp(28px,2.3vw,36px)}
.calculator-result__summary{margin-top:15px}.calculator-result__services-compact{margin-top:11px;padding-top:11px}
.calculator-estimate--fast{grid-template-columns:34px 1fr;gap:12px;margin-top:15px;padding:16px 18px;border-radius:16px}
.calculator-estimate--fast:after{width:160px;height:160px;right:-54px;top:-74px}.calculator-estimate__icon{width:32px;height:32px}
.calculator-estimate--fast>div>strong{font-size:clamp(23px,2vw,31px)}.calculator-estimate--fast>div>p{margin-top:6px;font-size:9px}
.calculator-result--fast .calculator-result__actions{margin-top:10px}.calculator-result--fast .calculator-primary,.calculator-result--fast .calculator-edit{min-height:41px}
.calculator-shell--fast .calculator-shell__actions{min-height:48px;padding-top:10px}.calculator-shell--fast .calculator-next,.calculator-shell--fast .calculator-back{min-height:40px}

/* High-value callback: deliberately separate from Smart Brief. */
.duo-callback{width:min(560px,calc(100% - 28px));max-width:none;padding:0;border:0;border-radius:22px;background:transparent;color:#29231e;overflow:visible}
.duo-callback::backdrop{background:rgba(13,11,9,.68);backdrop-filter:blur(10px)}
.duo-callback__card{position:relative;margin:0;padding:28px;background:#f0e9df;border:1px solid rgba(52,43,36,.09);border-radius:22px;box-shadow:0 34px 90px rgba(0,0,0,.24)}
.duo-callback__close{position:absolute;z-index:3;right:16px;top:16px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:rgba(53,44,37,.06);color:#4b423b;cursor:pointer}
.duo-callback__close .ui-icon{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5}
.duo-callback__eyebrow{display:block;padding-right:44px;color:#a34b44;font-size:8px;font-weight:720;letter-spacing:.16em;text-transform:uppercase}
.duo-callback__intro h2{max-width:450px;margin:13px 0 9px;font-size:clamp(27px,3vw,37px);font-weight:360;line-height:1.04;letter-spacing:-.04em}
.duo-callback__intro>p{max-width:465px;margin:0;color:#74695f;font-size:11px;line-height:1.55}
.duo-callback__summary{display:grid;gap:3px;margin-top:17px;padding:12px 14px;border:1px solid rgba(52,43,36,.08);border-radius:12px;background:rgba(255,255,255,.28)}
.duo-callback__summary strong{font-size:10px;font-weight:620}.duo-callback__summary span{color:#81756b;font-size:9px;line-height:1.4}
.duo-callback__fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.duo-callback__fields label{display:grid;gap:7px}.duo-callback__fields label>span{font-size:8px;font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:#766b62}.duo-callback__wide{grid-column:1/-1}
.duo-callback__fields input,.duo-callback__fields select{width:100%;height:45px;padding:0 13px;border:1px solid rgba(52,43,36,.11);border-radius:11px;background:rgba(255,255,255,.42);outline:none;color:#2c2621;font-size:12px}.duo-callback__fields input:focus,.duo-callback__fields select:focus{border-color:rgba(201,39,31,.42);box-shadow:0 0 0 3px rgba(201,39,31,.06)}
.duo-callback__privacy{display:grid;grid-template-columns:18px 1fr;gap:9px;align-items:start;margin-top:14px;color:#776c62;font-size:9px;line-height:1.5;cursor:pointer}.duo-callback__privacy input{position:absolute;opacity:0;pointer-events:none}.duo-callback__privacy-box{width:18px;height:18px;display:grid;place-items:center;border:1px solid rgba(52,43,36,.18);border-radius:5px;background:rgba(255,255,255,.38);color:transparent}.duo-callback__privacy-box .ui-icon{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:2}.duo-callback__privacy input:checked+.duo-callback__privacy-box{background:#c62f28;border-color:#c62f28;color:#fff}.duo-callback__privacy a{text-decoration:underline;text-underline-offset:2px}
.duo-callback__error{margin:12px 0 0;padding:9px 11px;border-radius:9px;background:rgba(198,47,40,.08);color:#a32d27;font-size:10px}
.duo-callback__submit{width:100%;min-height:46px;margin-top:16px;padding:0 16px;display:flex;align-items:center;justify-content:center;gap:12px;border-radius:12px;background:#c62f28;color:#fff;font-size:9px;font-weight:740;letter-spacing:.11em;text-transform:uppercase;cursor:pointer;transition:transform .25s var(--ease),background .2s ease}.duo-callback__submit:hover{transform:translateY(-1px);background:#ad2722}.duo-callback__submit:disabled{opacity:.55;cursor:wait;transform:none}.duo-callback__submit .cta-icon{width:14px;height:14px}
.duo-callback__success{text-align:center;padding:24px 8px 10px}.duo-callback__success-icon{width:44px;height:44px;margin:0 auto 13px;display:grid;place-items:center;border-radius:50%;background:rgba(56,111,78,.10);color:#396e4f}.duo-callback__success-icon .ui-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7}.duo-callback__success small{display:block;color:#a34b44;font-size:8px;font-weight:750;letter-spacing:.18em}.duo-callback__success h3{margin:9px 0 8px;font-size:28px;font-weight:380;letter-spacing:-.035em}.duo-callback__success p{max-width:420px;margin:0 auto;color:#74695f;font-size:11px;line-height:1.55}.duo-callback__success button{margin-top:17px;min-height:40px;padding:0 18px;border-radius:999px;background:#2a241f;color:#f1ebe3;font-size:9px;cursor:pointer}

@media(max-width:1180px){.duo-calculator--fast{width:calc(100% - 32px);grid-template-columns:minmax(245px,.48fr) minmax(560px,1.52fr)}}
@media(max-width:980px){.duo-calculator--fast{grid-template-columns:1fr}.duo-calculator--fast .duo-calculator__visual{min-height:235px}.calculator-shell--fast{min-height:0;padding:23px 25px 20px}.duo-calculator--fast .duo-calculator__intro{bottom:22px}.duo-calculator--fast .duo-calculator__intro h2{font-size:32px;max-width:480px}.duo-calculator--fast .duo-calculator__intro p{max-width:500px}}
@media(max-width:680px){
  .duo-calculator--fast{width:calc(100% - 20px);margin:46px auto;border-radius:18px}.duo-calculator--fast .duo-calculator__visual{min-height:205px}.duo-calculator--fast .duo-calculator__intro h2{font-size:26px;max-width:290px}.duo-calculator--fast .duo-calculator__intro p{display:none}
  .calculator-shell--fast{padding:17px 14px 15px}.calculator-steps--fast .calculator-step-nav{padding-left:3px;padding-right:3px}.calculator-steps--fast .calculator-step-nav strong{font-size:7px}.calculator-shell--fast .calculator-shell__body{padding-top:18px}.calculator-space-grid--fast{gap:6px}.calculator-choice--fast .calculator-choice__surface{min-height:88px}.surface-editor--fast,.calculator-stage-quick{padding:14px}.calculator-estimate--fast{padding:14px}.calculator-result__top h3{font-size:27px}
  .duo-callback__card{padding:24px 16px 18px}.duo-callback__fields{grid-template-columns:1fr}.duo-callback__wide{grid-column:auto}.duo-callback__intro h2{font-size:28px}.duo-callback__summary{padding:10px 11px}
}
@media(prefers-reduced-motion:reduce){.duo-callback::backdrop{backdrop-filter:none}.duo-callback__submit{transition:none}}

/* DUO Quick Project Modal v28 — compact estimator + contact */
.brief-dialog--quick{width:min(1080px,calc(100% - 28px));max-width:1080px;max-height:calc(100svh - 28px);padding:0;border:0;border-radius:28px;background:transparent;overflow:visible;color:#241f1b}
.brief-dialog--quick::backdrop{background:rgba(11,9,8,.74);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.brief--quick{width:100%;height:auto;max-height:calc(100svh - 28px);padding:0;overflow:auto;border:1px solid rgba(255,255,255,.34);border-radius:28px;background:linear-gradient(140deg,#f6f0e8 0%,#eee7dc 64%,#eae1d5 100%);box-shadow:0 32px 90px rgba(0,0,0,.25)}
.briefq-head{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;padding:28px 32px 20px;border-bottom:1px solid rgba(38,31,26,.1)}
.briefq-head>div{max-width:690px}.briefq-head>div>span{display:block;margin-bottom:8px;color:#8d8176;font-size:8px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.briefq-head h2{margin:0;color:#26211d;font-size:clamp(26px,2.5vw,38px);font-weight:390;line-height:1.02;letter-spacing:-.045em}.briefq-head p{margin:8px 0 0;color:#7e746b;font-size:11px;line-height:1.5}.briefq-close{flex:0 0 40px;width:40px;height:40px;border:1px solid rgba(38,31,26,.12);background:rgba(255,255,255,.35)}
.briefq-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:14px 32px 0}.briefq-nav button{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 14px;border:0;border-right:1px solid rgba(38,31,26,.1);background:transparent;color:#948a80;text-align:left;cursor:pointer}.briefq-nav button:last-child{border-right:0}.briefq-nav button span{display:grid;place-items:center;width:24px;height:24px;border:1px solid rgba(38,31,26,.15);border-radius:50%;font-size:7px;font-weight:800}.briefq-nav button strong{font-size:9px;font-weight:720;letter-spacing:.05em;text-transform:uppercase}.briefq-nav button.is-active{color:#211d19}.briefq-nav button.is-active span{border-color:#211d19;background:#211d19;color:#fff}.briefq-nav button.is-complete{color:#6e655d}.briefq-nav button:disabled{cursor:default;opacity:.48}
.briefq-progress{height:2px;margin:10px 32px 0;background:rgba(38,31,26,.09);overflow:hidden}.briefq-progress span{display:block;width:33.333%;height:100%;background:#e7332a;transition:width .36s cubic-bezier(.22,.78,.2,1)}
.briefq-body{padding:24px 32px 18px;min-height:340px}.briefq-step{display:none}.briefq-step.is-active{display:block}.briefq-stephead{display:flex;align-items:flex-start;gap:18px;margin-bottom:20px}.briefq-stephead>span{color:rgba(231,51,42,.72);font-size:40px;font-weight:300;line-height:.95;letter-spacing:-.05em}.briefq-stephead small{display:block;margin:1px 0 5px;color:#9c2a25;font-size:7px;font-weight:800;letter-spacing:.16em}.briefq-stephead h3{margin:0;font-size:clamp(24px,2.4vw,34px);font-weight:390;line-height:1;letter-spacing:-.045em}
.briefq-spacegrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.briefq-spacegrid label{position:relative;cursor:pointer}.briefq-spacegrid input{position:absolute;opacity:0;pointer-events:none}.briefq-spacegrid label>span{position:relative;display:flex;min-height:104px;flex-direction:column;justify-content:space-between;padding:12px;border:1px solid rgba(38,31,26,.11);border-radius:18px;background:rgba(255,255,255,.28);transition:border-color .2s,background .2s,transform .2s}.briefq-spacegrid label>span>i{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e7dfd3;color:#544b43}.briefq-spacegrid label>span>i svg{width:15px;height:15px}.briefq-spacegrid strong{padding-right:18px;font-size:11px;font-weight:620;line-height:1.25}.briefq-spacegrid b{position:absolute;right:10px;top:10px;width:18px;height:18px;opacity:0;color:#e7332a;transform:scale(.75);transition:opacity .2s,transform .2s}.briefq-spacegrid b svg{width:100%;height:100%}.briefq-spacegrid input:checked+span{border-color:rgba(231,51,42,.7);background:#f7e9e2}.briefq-spacegrid input:checked+span b{opacity:1;transform:scale(1)}.briefq-spacegrid input:focus-visible+span{outline:2px solid #e7332a;outline-offset:3px}@media(hover:hover) and (pointer:fine){.briefq-spacegrid label:hover>span{transform:translateY(-2px);border-color:rgba(38,31,26,.22)}}
.briefq-hint{margin:12px 0 0;color:#8e847a;font-size:9px}.briefq-details{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(260px,.95fr);gap:18px}.briefq-surface,.briefq-stage{padding:18px;border:1px solid rgba(38,31,26,.1);border-radius:18px;background:rgba(255,255,255,.22)}.briefq-surface label{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.briefq-surface label>small,.briefq-stage legend{color:#7f756c;font-size:8px;font-weight:750;letter-spacing:.12em;text-transform:uppercase}.briefq-surface label>span{display:flex;align-items:baseline;gap:6px}.briefq-surface input[type=number]{width:102px;border:0;background:transparent;color:#27221e;font-size:38px;font-weight:330;line-height:1;text-align:right;outline:0}.briefq-surface em{font-style:normal;color:#746b63;font-size:12px}.briefq-surface input[type=range]{width:100%;margin:18px 0 13px;accent-color:#e7332a}.briefq-surface>div{display:flex;flex-wrap:wrap;gap:6px}.briefq-surface>div button{min-height:30px;padding:0 10px;border:1px solid rgba(38,31,26,.11);border-radius:999px;background:rgba(255,255,255,.38);color:#6f665e;font-size:8px;font-weight:700;cursor:pointer}.briefq-surface>div button.is-active{border-color:#211d19;background:#211d19;color:#fff}.briefq-stage{margin:0}.briefq-stage legend{margin:0 0 11px;padding:0}.briefq-stage label{position:relative;display:block;margin-top:6px;cursor:pointer}.briefq-stage input{position:absolute;opacity:0}.briefq-stage label>span{display:flex;align-items:center;gap:9px;min-height:38px;padding:0 10px;border:1px solid rgba(38,31,26,.1);border-radius:12px;background:rgba(255,255,255,.25);transition:all .2s}.briefq-stage label svg{width:15px;height:15px;opacity:.22}.briefq-stage label strong{font-size:10px;font-weight:620}.briefq-stage input:checked+span{border-color:#28231f;background:#28231f;color:#f5efe7}.briefq-stage input:checked+span svg{opacity:1;color:#e85a51}
.briefq-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.briefq-services label{position:relative;cursor:pointer}.briefq-services input{position:absolute;opacity:0}.briefq-services label>span{display:flex;align-items:flex-start;gap:11px;min-height:70px;padding:12px 13px;border:1px solid rgba(38,31,26,.11);border-radius:15px;background:rgba(255,255,255,.25);transition:all .2s}.briefq-services label b{display:grid;place-items:center;width:22px;height:22px;flex:0 0 22px;border:1px solid rgba(38,31,26,.16);border-radius:50%;color:transparent}.briefq-services label b svg{width:12px;height:12px}.briefq-services label strong{display:block;font-size:11px;font-weight:650}.briefq-services label small{display:block;margin-top:3px;color:#8a8076;font-size:8px;line-height:1.35}.briefq-services input:checked+span{border-color:rgba(231,51,42,.55);background:#f6e9e2}.briefq-services input:checked+span b{border-color:#e7332a;background:#e7332a;color:#fff}
.briefq-resultgrid{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px}.briefq-estimate{display:flex;min-height:260px;flex-direction:column;padding:22px;border-radius:20px;background:linear-gradient(145deg,#211c18,#171411);color:#f3ede5}.briefq-estimate>small{color:#e66a62;font-size:7px;font-weight:800;letter-spacing:.17em}.briefq-estimate>strong{display:block;margin:10px 0 9px;font-size:clamp(28px,3vw,42px);font-weight:350;line-height:1;letter-spacing:-.045em}.briefq-estimate>p{max-width:390px;margin:0;color:#b8ada2;font-size:10px;line-height:1.55}.briefq-estimate.is-high-value>strong{font-size:34px}.briefq-summary{margin-top:auto;padding-top:16px;border-top:1px solid rgba(255,255,255,.1);color:#c8bdb2;font-size:9px;line-height:1.6;white-space:pre-line}.briefq-estimate>button{display:inline-flex;align-items:center;gap:7px;width:max-content;margin-top:12px;padding:0;border:0;background:transparent;color:#d6ccc2;font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.briefq-estimate>button svg{width:13px;height:13px}.briefq-contact{padding:20px;border:1px solid rgba(38,31,26,.1);border-radius:20px;background:rgba(255,255,255,.26)}.briefq-contact>span{display:block;color:#9a2d27;font-size:7px;font-weight:800;letter-spacing:.16em}.briefq-contact h3{margin:6px 0 15px;font-size:23px;font-weight:410;line-height:1.08;letter-spacing:-.035em}.briefq-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px}.briefq-fields label>span{display:block;margin-bottom:5px;color:#7c736a;font-size:7px;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.briefq-fields input,.briefq-fields select{width:100%;min-height:43px;padding:0 11px;border:1px solid rgba(38,31,26,.12);border-radius:12px;background:rgba(255,255,255,.55);color:#2b2622;font-size:11px;outline:0}.briefq-fields input:focus,.briefq-fields select:focus{border-color:rgba(231,51,42,.62);box-shadow:0 0 0 3px rgba(231,51,42,.06)}.briefq-fields--secondary{margin-top:9px}.briefq-privacy{margin-top:13px}.briefq-privacy .privacy-ack__text{font-size:9px;line-height:1.4}.briefq-success{display:flex;min-height:300px;flex-direction:column;align-items:center;justify-content:center;text-align:center}.briefq-success>span{display:grid;place-items:center;width:48px;height:48px;margin-bottom:12px;border-radius:50%;background:#e7332a;color:#fff}.briefq-success>span svg{width:20px;height:20px}.briefq-success>small{color:#8b8177;font-size:8px;font-weight:800;letter-spacing:.17em}.briefq-success h3{margin:9px 0 8px;font-size:30px;font-weight:390;letter-spacing:-.04em}.briefq-success p{max-width:480px;margin:0;color:#7e746b;font-size:11px}.briefq-success button{min-height:42px;margin-top:18px;padding:0 18px;border-radius:999px;background:#211d19;color:#fff;font-size:8px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.briefq-actions{display:flex;align-items:center;gap:10px;padding:14px 32px 20px;border-top:1px solid rgba(38,31,26,.1)}.briefq-live{min-width:0;flex:1;color:#8a8076;font-size:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.briefq-back,.briefq-next,.briefq-submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 15px;border-radius:999px;font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.briefq-back{border:1px solid rgba(38,31,26,.14);background:transparent;color:#665e56}.briefq-next,.briefq-submit{border:1px solid #e7332a;background:#e7332a;color:#fff;box-shadow:0 10px 22px rgba(231,51,42,.15)}.briefq-back svg,.briefq-next svg,.briefq-submit svg{width:14px;height:14px}.briefq-actions button[hidden]{display:none!important}.briefq-error{margin:0 32px 18px}.briefq-body .form-error{margin-top:12px}
@media(max-width:820px){.brief-dialog--quick{width:min(720px,calc(100% - 18px));max-height:calc(100svh - 18px)}.brief--quick{max-height:calc(100svh - 18px);border-radius:22px}.briefq-head{padding:22px 20px 16px}.briefq-nav{padding:10px 20px 0}.briefq-progress{margin-left:20px;margin-right:20px}.briefq-body{padding:20px}.briefq-spacegrid{grid-template-columns:repeat(2,1fr)}.briefq-spacegrid label:last-child{grid-column:1/-1}.briefq-details,.briefq-resultgrid{grid-template-columns:1fr}.briefq-services{grid-template-columns:1fr}.briefq-actions{padding:12px 20px 16px}.briefq-live{display:none}.briefq-resultgrid{gap:12px}.briefq-estimate{min-height:200px}.briefq-fields{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.brief-dialog--quick{width:calc(100% - 10px);max-height:calc(100svh - 10px)}.brief--quick{max-height:calc(100svh - 10px);border-radius:18px}.briefq-head{padding:18px 16px 14px}.briefq-head h2{font-size:26px}.briefq-head p{font-size:10px}.briefq-nav{padding:8px 16px 0}.briefq-nav button{padding:0 6px;gap:6px}.briefq-nav button strong{font-size:7px}.briefq-progress{margin-left:16px;margin-right:16px}.briefq-body{padding:17px 16px 14px;min-height:0}.briefq-stephead{gap:12px;margin-bottom:16px}.briefq-stephead>span{font-size:32px}.briefq-stephead h3{font-size:25px}.briefq-spacegrid label>span{min-height:88px}.briefq-details{gap:10px}.briefq-surface,.briefq-stage{padding:14px}.briefq-fields,.briefq-fields--secondary{grid-template-columns:1fr}.briefq-resultgrid{grid-template-columns:1fr}.briefq-estimate{min-height:180px;padding:18px}.briefq-contact{padding:16px}.briefq-actions{padding:10px 16px 14px}.briefq-back,.briefq-next,.briefq-submit{min-height:44px}.briefq-next,.briefq-submit{margin-left:auto}.briefq-error{margin:0 16px 14px}}

/* DUO Quick Project Modal v28.1 — strict success-state isolation */
.briefq-success[hidden]{display:none!important}
.brief--quick.is-success .briefq-nav,
.brief--quick.is-success .briefq-progress,
.brief--quick.is-success .briefq-actions,
.brief--quick.is-success .briefq-error{display:none!important}
.brief--quick.is-success .briefq-body{min-height:360px;display:grid;place-items:center;padding:28px 32px 34px}
.brief--quick.is-success .briefq-success{width:100%;min-height:300px}

/* ========================================================================== 
   DUO FOOTER v29 — quiet luxury social closing
   ========================================================================== */
.site-footer--v29{
  max-width:min(1540px,calc(100% - 32px));
  margin:28px auto 18px;
  border-radius:30px;
  background:#1d1916;
  box-shadow:0 26px 70px rgba(7,6,5,.18);
}
.site-footer--v29:before{width:84px;height:2px;left:38px;background:#ef362f}
.site-footer--v29 .footer-project--v29{
  grid-template-columns:minmax(0,1.3fr) minmax(300px,.62fr);
  gap:clamp(48px,6vw,104px);
  align-items:center;
  padding:clamp(48px,5.4vw,78px) clamp(34px,4.8vw,72px);
  background:
    radial-gradient(55% 120% at 100% 0%,rgba(114,86,63,.11),transparent 62%),
    linear-gradient(145deg,#29231e 0%,#25201c 62%,#211c18 100%);
}
.site-footer--v29 .footer-project__heading{max-width:830px}
.site-footer--v29 .footer-project h2{
  max-width:820px;
  font-size:clamp(42px,4.45vw,72px);
  line-height:.94;
  letter-spacing:-.052em;
  text-transform:none;
  text-wrap:balance;
}
.site-footer--v29 .footer-project h2 em{color:#c7b9aa}
.site-footer--v29 .footer-project__action{max-width:420px}
.site-footer--v29 .footer-project__action p{margin-bottom:18px;font-size:13px;line-height:1.65;color:#aaa095}
.footer-project__meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0 0 22px;color:#847b72;font-size:8px;font-weight:720;letter-spacing:.13em;text-transform:uppercase}
.footer-project__meta span{display:inline-flex;align-items:center;gap:8px}
.footer-project__meta span:before{content:"";width:5px;height:5px;border-radius:50%;background:#ef362f;box-shadow:0 0 0 4px rgba(239,54,47,.08)}
.site-footer--v29 .footer-project__button{min-height:58px;padding:7px 8px 7px 20px;border-color:rgba(255,255,255,.12);background:#efe8de}
.site-footer--v29 .footer-project__button-icon{width:44px;height:44px;flex-basis:44px}

.footer-social{
  padding:clamp(38px,4.5vw,64px) clamp(34px,4.8vw,72px) clamp(44px,5vw,72px);
  background:#201b17;
  border-bottom:1px solid rgba(255,255,255,.075);
}
.footer-social__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,390px);gap:42px;align-items:end;margin-bottom:24px}
.footer-social__head .footer-kicker{margin-bottom:14px}
.footer-social__head h2{margin:0;max-width:720px;font-size:clamp(28px,3vw,46px);font-weight:330;line-height:1.02;letter-spacing:-.045em;color:#f1ebe2;text-wrap:balance}
.footer-social__head>p{margin:0;color:#8e857b;font-size:11px;line-height:1.65}
.footer-social__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.social-story{
  position:relative;
  min-height:300px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.085);
  border-radius:24px;
  background:#171411;
  isolation:isolate;
  transition:transform .46s cubic-bezier(.22,.78,.2,1),border-color .35s ease,box-shadow .46s ease;
}
.social-story__media{position:absolute;inset:0;overflow:hidden}
.social-story__media img{width:100%;height:100%;object-fit:cover;transform:scale(1.015);transition:transform .8s cubic-bezier(.22,.78,.2,1),filter .55s ease;filter:saturate(.88) brightness(.72)}
.social-story__media i{position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,15,13,.13),rgba(18,15,13,.22) 38%,rgba(18,15,13,.9) 100%),linear-gradient(90deg,rgba(18,15,13,.2),transparent 52%)}
.social-story__content{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:space-between;padding:22px 24px;color:#f2ece3}
.social-story__top{display:flex;align-items:center;justify-content:space-between;gap:18px}
.social-story__top b{font-size:10px;font-weight:720;letter-spacing:.12em;text-transform:uppercase}
.social-story__top small{font-size:7px;font-weight:760;letter-spacing:.15em;color:rgba(242,236,227,.55);text-transform:uppercase}
.social-story__content>strong{align-self:flex-start;max-width:510px;margin-top:auto;margin-bottom:18px;font-size:clamp(22px,2.25vw,34px);font-weight:380;line-height:1.02;letter-spacing:-.035em;text-wrap:balance}
.social-story__bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.16);font-size:9px;letter-spacing:.04em;color:rgba(242,236,227,.7)}
.social-story__bottom svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s var(--ease)}
@media(hover:hover) and (pointer:fine){
  .social-story:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.14);box-shadow:0 24px 54px rgba(0,0,0,.22)}
  .social-story:hover .social-story__media img{transform:scale(1.055);filter:saturate(1) brightness(.78)}
  .social-story:hover .social-story__bottom svg{transform:translate(2px,-2px)}
}

.site-footer--v29 .footer-body--v29{
  grid-template-columns:minmax(220px,.95fr) minmax(280px,1.02fr) minmax(300px,.92fr);
  gap:clamp(36px,4.7vw,78px);
  padding:clamp(42px,4.7vw,68px) clamp(34px,4.8vw,72px);
  background:#1b1714;
}
.footer-brand-block--v29 img{width:82px;margin-bottom:24px}
.footer-brand-block--v29 p{max-width:300px;font-size:12px;line-height:1.72;color:#8f867c}
.footer-studio-line{display:block;margin-top:17px;color:#6e675f;font-size:7px;font-weight:750;letter-spacing:.16em;text-transform:uppercase}
.footer-social-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.footer-social-links a{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 12px;border:1px solid rgba(255,255,255,.095);border-radius:999px;color:#a79e93;font-size:8px;font-weight:680;letter-spacing:.08em;text-transform:uppercase;transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease)}
.footer-social-links svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.footer-social-links a:hover{transform:translateY(-2px);background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.16);color:#eee8de}
.footer-column-title{display:block;margin:0 0 11px 10px;color:#6f6860;font-size:8px;font-weight:720;letter-spacing:.17em;text-transform:uppercase}
.site-footer--v29 .footer-contact-list{gap:2px}
.site-footer--v29 .footer-contact{min-height:55px;padding:7px 11px 7px 8px;border-radius:13px}
.site-footer--v29 .footer-contact__icon{width:38px;height:38px}
.site-footer--v29 .footer-contact__icon svg{width:16px;height:16px}
.site-footer--v29 .footer-contact small{font-size:7px}
.site-footer--v29 .footer-contact strong{font-size:12px}
.site-footer--v29 .footer-navigation--v29{gap:48px}
.site-footer--v29 .footer-navigation__group{gap:8px}
.site-footer--v29 .footer-navigation__group>span{margin-bottom:7px}
.site-footer--v29 .footer-navigation__group a,.site-footer--v29 .footer-navigation__group button{font-size:11px;color:#aaa196}
.site-footer--v29 .footer-bottom--v29{padding:19px clamp(34px,4.8vw,72px) 22px;background:#191512}

@media(max-width:1080px){
  .site-footer--v29 .footer-project--v29{grid-template-columns:1fr;gap:30px}.site-footer--v29 .footer-project__action{justify-self:start;max-width:520px}
  .footer-social__head{grid-template-columns:1fr;gap:12px}.footer-social__head>p{max-width:600px}
  .site-footer--v29 .footer-body--v29{grid-template-columns:1fr 1fr}.site-footer--v29 .footer-navigation--v29{grid-column:1/-1;padding-top:28px;border-top:1px solid rgba(255,255,255,.075)}
}
@media(max-width:720px){
  .site-footer--v29{max-width:calc(100% - 16px);margin:16px 8px 8px;border-radius:24px}
  .site-footer--v29:before{left:22px;width:54px}
  .site-footer--v29 .footer-project--v29{padding:38px 22px 34px}.site-footer--v29 .footer-project h2{font-size:clamp(38px,11vw,52px);line-height:.95}.site-footer--v29 .footer-project__action p{font-size:12px}
  .footer-project__meta{gap:8px 14px;margin-bottom:18px}
  .footer-social{padding:34px 14px 38px}.footer-social__head{padding:0 8px;margin-bottom:20px}.footer-social__head h2{font-size:32px}.footer-social__head>p{font-size:10px}
  .footer-social__grid{grid-template-columns:1fr;gap:10px}.social-story{min-height:255px;border-radius:20px}.social-story__content{padding:18px}.social-story__content>strong{font-size:27px;max-width:90%}
  .site-footer--v29 .footer-body--v29{grid-template-columns:1fr;gap:30px;padding:34px 22px}.footer-brand-block--v29 img{width:72px}.footer-column-title{margin-left:0}.site-footer--v29 .footer-contact{padding-left:0}
  .site-footer--v29 .footer-navigation--v29{grid-column:auto;grid-template-columns:1fr 1fr;gap:24px;padding-top:26px}
  .site-footer--v29 .footer-bottom--v29{grid-template-columns:1fr auto;padding:18px 22px 21px;gap:10px}.site-footer--v29 .footer-developer{grid-column:1/-1}
}
@media(max-width:430px){
  .site-footer--v29 .footer-navigation--v29{grid-template-columns:1fr;gap:28px}
  .footer-social-links a{flex:1 1 calc(50% - 4px);justify-content:center}
}
@media(prefers-reduced-motion:reduce){
  .social-story,.social-story__media img,.social-story__bottom svg,.footer-social-links a{transition:none!important}
}

/* ========================================================================== 
   DUO FOOTER v30 — real social media, no decorative placeholder marks
   ========================================================================== */
.site-footer--v30:before{display:none!important}
.site-footer--v30 .footer-project--v29{
  padding:clamp(44px,4.8vw,70px) clamp(34px,4.8vw,72px);
  background:linear-gradient(135deg,#28221d 0%,#231e1a 64%,#201b17 100%);
}
.site-footer--v30 .footer-project__heading{max-width:760px}
.site-footer--v30 .footer-project h2{
  margin:0;
  max-width:760px;
  font-size:clamp(40px,4.05vw,66px);
  line-height:.96;
  letter-spacing:-.05em;
}
.site-footer--v30 .footer-project h2 em{color:#c5b8aa}
.site-footer--v30 .footer-project__action{max-width:390px}
.site-footer--v30 .footer-project__action p{margin:0 0 22px;color:#aaa096;font-size:13px;line-height:1.68}
.site-footer--v30 .footer-project__button{min-height:56px}
.site-footer--v30 .footer-kicker,.site-footer--v30 .footer-project__meta{display:none!important}

.site-footer--v30 .footer-social--live{
  padding:clamp(40px,4.6vw,64px) clamp(34px,4.8vw,72px) clamp(44px,5vw,70px);
  background:#1f1a17;
  border:0;
}
.site-footer--v30 .footer-social__head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,420px);
  gap:clamp(28px,5vw,80px);
  align-items:end;
  margin:0 0 26px;
}
.site-footer--v30 .footer-social__head h2{
  margin:0;
  max-width:680px;
  font-size:clamp(30px,3vw,44px);
  line-height:1;
  font-weight:340;
  letter-spacing:-.045em;
  color:#f0e9e0;
}
.site-footer--v30 .footer-social__head>p{margin:0;color:#8f857b;font-size:11px;line-height:1.7}
.footer-social__grid--live{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.social-live{
  min-width:0;
  overflow:hidden;
  border-radius:18px;
  background:#151210;
  box-shadow:0 18px 46px rgba(0,0,0,.16);
  transition:transform .42s cubic-bezier(.22,.78,.2,1),box-shadow .42s ease;
}
.social-live__media{
  position:relative;
  aspect-ratio:16/10;
  min-height:320px;
  overflow:hidden;
  background:linear-gradient(145deg,#171310,#211b17);
}
.social-live__media iframe{
  position:absolute;
  inset:0;
  z-index:2;
  display:block;
  width:100%;
  height:100%;
  border:0;
  background:transparent;
}
.social-live__fallback{
  position:absolute;
  inset:0;
  z-index:1;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:7px;
  padding:24px;
  background:radial-gradient(80% 90% at 80% 10%,rgba(255,255,255,.035),transparent 70%),#181411;
  color:#ede6dc;
}
.social-live__fallback strong{font-size:18px;font-weight:480;letter-spacing:-.02em}
.social-live__fallback span{max-width:390px;color:#8d847a;font-size:10px;line-height:1.55}
.social-live__footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:70px;
  padding:15px 18px 15px 20px;
  background:#191512;
}
.social-live__footer>span{display:grid;gap:2px}
.social-live__footer strong{font-size:12px;font-weight:590;color:#eee7de}
.social-live__footer small{font-size:9px;color:#766e66}
.social-live__footer>a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:0 13px;
  border-radius:999px;
  background:#27211d;
  color:#d8cfc4;
  font-size:9px;
  font-weight:650;
  transition:background .28s ease,color .28s ease,transform .28s ease;
}
.social-live__arrow{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
@media(hover:hover) and (pointer:fine){
  .social-live:hover{transform:translateY(-3px);box-shadow:0 25px 56px rgba(0,0,0,.21)}
  .social-live__footer>a:hover{transform:translateY(-1px);background:#efe8df;color:#191512}
}

.site-footer--v30 .footer-body--v29{border:0;background:#1a1613}
.site-footer--v30 .footer-bottom--v29{border:0;background:#181411}

@media(max-width:1080px){
  .site-footer--v30 .footer-social__head{grid-template-columns:1fr;gap:10px}
  .site-footer--v30 .footer-social__head>p{max-width:620px}
  .social-live__media{min-height:285px}
}
@media(max-width:720px){
  .site-footer--v30 .footer-project--v29{padding:36px 22px 32px}
  .site-footer--v30 .footer-project h2{font-size:clamp(38px,10.6vw,50px)}
  .site-footer--v30 .footer-social--live{padding:34px 14px 38px}
  .site-footer--v30 .footer-social__head{padding:0 8px;margin-bottom:18px}
  .site-footer--v30 .footer-social__head h2{font-size:31px}
  .footer-social__grid--live{grid-template-columns:1fr;gap:12px}
  .social-live{border-radius:16px}
  .social-live__media{aspect-ratio:4/3;min-height:0}
  .social-live--instagram .social-live__media{aspect-ratio:4/5}
  .social-live__footer{min-height:64px;padding:13px 14px 13px 16px}
}
@media(prefers-reduced-motion:reduce){
  .social-live,.social-live__footer>a{transition:none!important}
}

/* DUO footer social v30.1 — native media, no Meta iframe */
.site-footer--v30 .social-live__media{
  display:block;
  text-decoration:none;
  color:inherit;
  background:#151210;
}
.site-footer--v30 .social-live__media iframe,
.site-footer--v30 .social-live__fallback{display:none!important}
.site-footer--v30 .social-live__poster,
.site-footer--v30 .social-live__image,
.site-footer--v30 .social-live__video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.site-footer--v30 .social-live__poster{z-index:1;filter:saturate(.94) brightness(.9)}
.site-footer--v30 .social-live__image,
.site-footer--v30 .social-live__video{z-index:2;background:transparent;filter:saturate(.96) brightness(.92);transition:transform .7s cubic-bezier(.22,.78,.2,1),filter .45s ease}
.site-footer--v30 .social-live__shade{
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(15,13,11,.05),transparent 58%,rgba(15,13,11,.38));
}
.site-footer--v30 .social-live__platform{
  position:absolute;
  z-index:4;
  left:18px;
  top:16px;
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 11px;
  border-radius:999px;
  background:rgba(18,15,13,.72);
  backdrop-filter:blur(12px);
  color:#f1ebe2;
  font-size:9px;
  font-weight:650;
  letter-spacing:.04em;
}
.site-footer--v30 .social-live__play{
  position:absolute;
  z-index:4;
  left:50%;
  top:50%;
  width:46px;
  height:46px;
  transform:translate(-50%,-50%);
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(18,15,13,.58);
  backdrop-filter:blur(14px);
  color:#f5efe6;
  pointer-events:none;
  opacity:.72;
  transition:opacity .3s ease,transform .3s var(--ease),background .3s ease;
}
.site-footer--v30 .social-live__play svg{width:18px;height:18px;fill:currentColor;stroke:none;margin-left:2px}
.site-footer--v30 .social-live__unavailable{
  position:absolute;
  inset:0;
  z-index:2;
  display:grid;
  place-content:center;
  justify-items:center;
  gap:7px;
  padding:28px;
  text-align:center;
  background:linear-gradient(145deg,#181411,#201a16);
}
.site-footer--v30 .social-live__unavailable strong{font-size:18px;font-weight:520;color:#eee7de}
.site-footer--v30 .social-live__unavailable small{font-size:10px;color:#8e857b}
@media(hover:hover) and (pointer:fine){
  .site-footer--v30 .social-live:hover .social-live__image,
  .site-footer--v30 .social-live:hover .social-live__video{transform:scale(1.025);filter:saturate(1) brightness(.96)}
  .site-footer--v30 .social-live:hover .social-live__play{opacity:1;transform:translate(-50%,-50%) scale(1.06);background:rgba(18,15,13,.72)}
}
@media(max-width:720px){
  .site-footer--v30 .social-live__platform{left:13px;top:12px;min-height:28px;padding:0 10px}
  .site-footer--v30 .social-live__play{width:42px;height:42px}
}
@media(prefers-reduced-motion:reduce){
  .site-footer--v30 .social-live__image,.site-footer--v30 .social-live__video,.site-footer--v30 .social-live__play{transition:none!important}
}

/* DUO social v30.2 — never show empty/broken social media canvases */
.site-footer--v30 .footer-social--native .social-live__media{background:#15110e;overflow:hidden}
.site-footer--v30 .footer-social--native .social-live__image,
.site-footer--v30 .footer-social--native .social-live__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.site-footer--v30 .footer-social--native .social-live__video{background:#15110e}
.site-footer--v30 .footer-social--native .social-live.is-poster-only .social-live__play{display:grid}
.site-footer--v30 .footer-social--native .social-live__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,12,10,.04) 0%,rgba(14,12,10,.08) 58%,rgba(14,12,10,.48) 100%);pointer-events:none}
.site-footer--v30 .footer-social--native .social-live__platform{position:absolute;left:18px;top:18px;z-index:2;padding:7px 10px;border-radius:999px;background:rgba(16,13,11,.68);backdrop-filter:blur(10px);color:#f2ece4;font-size:9px;font-weight:650;letter-spacing:.02em}
.site-footer--v30 .footer-social--native .social-live__play{position:absolute;left:50%;top:50%;z-index:2;width:54px;height:54px;transform:translate(-50%,-50%);border-radius:50%;display:grid;place-items:center;background:rgba(239,232,223,.9);color:#171411;box-shadow:0 12px 30px rgba(0,0,0,.18)}
.site-footer--v30 .footer-social--native .social-live__play svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;margin-left:2px}
@media (hover:hover) and (pointer:fine){
  .site-footer--v30 .footer-social--native .social-live__image,.site-footer--v30 .footer-social--native .social-live__video{transition:transform .8s cubic-bezier(.22,.78,.2,1),filter .45s ease}
  .site-footer--v30 .footer-social--native .social-live:hover .social-live__image,.site-footer--v30 .footer-social--native .social-live:hover .social-live__video{transform:scale(1.025);filter:brightness(1.04)}
}

/* DUO social v30.3 — guaranteed Instagram + Facebook fallback media */
.site-footer--v30 .footer-social--native .social-live.is-local-fallback .social-live__media{background:#15110e}
.site-footer--v30 .footer-social--native .social-live.is-local-fallback .social-live__image{filter:saturate(.94) brightness(.84);transform:scale(1.01)}
.site-footer--v30 .footer-social--native .social-live.is-local-fallback .social-live__shade{background:linear-gradient(180deg,rgba(14,12,10,.03),rgba(14,12,10,.08) 58%,rgba(14,12,10,.40) 100%)}
.site-footer--v30 .footer-social--native .social-live.is-local-fallback .social-live__play{display:none!important}
@media(hover:hover) and (pointer:fine){
  .site-footer--v30 .footer-social--native .social-live.is-local-fallback:hover .social-live__image{transform:scale(1.035);filter:saturate(1) brightness(.9)}
}

/* DUO v31 — Casa Ciorescu / fresh project publishing */
.project-fresh-badge{
  position:absolute;z-index:5;top:18px;left:18px;display:inline-flex;align-items:center;justify-content:center;
  min-height:30px;padding:0 12px;border-radius:999px;background:rgba(244,240,233,.94);color:#1a1714;
  font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 8px 24px rgba(0,0,0,.12);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)
}
.home-curated__project>a{position:absolute;inset:0}
.project-index-card__media{position:relative}
.project-detail-fresh{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 12px;margin:0 0 18px;border-radius:999px;background:#ece6dc;color:#1a1714;font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.project-zone{margin-top:clamp(70px,7vw,112px)}
.project-zone__head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:36px;align-items:end;margin:0 0 32px;padding:0 4px}
.project-zone__head h2{margin:0;font-size:clamp(34px,4vw,62px);font-weight:300;letter-spacing:-.045em;line-height:.98}
.project-zone__head p{max-width:620px;margin:16px 0 0;color:var(--muted);font-size:14px;line-height:1.65}
.project-zone__head>span{padding-bottom:6px;color:#807a72;font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.project-zone__gallery{margin-top:0}
@media (hover:hover) and (pointer:fine){
  .project-index-card.is-fresh .project-index-card__media img,.home-curated__project .project-fresh-badge~.home-curated__meta{transition:transform .55s var(--ease)}
}
@media(max-width:760px){
  .project-fresh-badge{top:12px;left:12px;min-height:27px;padding:0 10px;font-size:8px}
  .project-zone{margin-top:54px}.project-zone__head{grid-template-columns:1fr;gap:12px;margin-bottom:22px}.project-zone__head>span{padding:0}
  .project-zone__head h2{font-size:36px}
}


/* DUO v33 — Casa Ciorescu fresh showcase: real rooms, no placeholder cards */
.home-curated--fresh .home-curated__head{grid-template-columns:minmax(0,1fr) minmax(260px,.48fr);gap:clamp(44px,8vw,120px);margin-bottom:36px}
.home-curated--fresh .home-curated__head h2{max-width:820px;text-transform:none;font-size:clamp(42px,4.4vw,70px);font-weight:300;letter-spacing:-.052em;line-height:.94}
.home-curated--fresh .home-curated__head p{max-width:430px;color:#aaa195;font-size:12px;line-height:1.7}
.home-curated__grid--fresh{grid-template-columns:minmax(0,1.55fr) minmax(300px,.72fr);grid-template-rows:repeat(3,minmax(0,1fr));height:clamp(590px,47vw,720px);gap:12px}
.home-curated__grid--fresh .home-curated__project{min-height:0}
.home-curated__grid--fresh .home-curated__project--featured{grid-row:1/4}
.home-curated__grid--fresh .home-curated__project--room{grid-column:2}
.home-curated__grid--fresh .home-curated__project--room-1{grid-row:1}
.home-curated__grid--fresh .home-curated__project--room-2{grid-row:2}
.home-curated__grid--fresh .home-curated__project--room-3{grid-row:3}
.home-curated__grid--fresh .home-curated__project>a{position:absolute;inset:0;width:100%;height:100%}
.home-curated__grid--fresh .media-picture,.home-curated__grid--fresh .media-picture img{width:100%;height:100%;display:block;object-fit:cover}
.home-curated__grid--fresh .home-curated__project--featured .home-curated__meta{left:24px;right:24px;bottom:22px}
.home-curated__grid--fresh .home-curated__project--featured .home-curated__meta strong{font-size:clamp(20px,2vw,30px);font-weight:380;letter-spacing:-.035em}
.home-curated__grid--fresh .home-curated__project--featured .home-curated__meta small{font-size:9px}
.home-curated__grid--fresh .home-curated__project--room .home-curated__meta{left:16px;right:16px;bottom:14px}
.home-curated__grid--fresh .home-curated__project--room .home-curated__meta strong{font-size:15px;font-weight:460}
.home-curated__grid--fresh .home-curated__project--room .home-curated__meta small{margin-top:3px;font-size:8px;letter-spacing:.04em;text-transform:none}
.home-curated__grid--fresh .home-curated__shade{background:linear-gradient(0deg,rgba(14,12,10,.68) 0%,rgba(14,12,10,.10) 52%,rgba(14,12,10,.02) 100%)}
@media(max-width:980px){
  .home-curated--fresh .home-curated__head{display:block}.home-curated--fresh .home-curated__head p{margin-top:18px}
  .home-curated__grid--fresh{grid-template-columns:1.15fr .85fr;grid-template-rows:repeat(3,180px);height:auto}
  .home-curated__grid--fresh .home-curated__project--featured{grid-row:1/4;min-height:564px}
}
@media(max-width:760px){
  .home-curated--fresh .home-curated__head h2{font-size:42px}.home-curated--fresh .home-curated__head p{font-size:11px}
  .home-curated__grid--fresh{grid-template-columns:1fr;grid-template-rows:none;gap:8px}
  .home-curated__grid--fresh .home-curated__project--featured,.home-curated__grid--fresh .home-curated__project--room{grid-column:1;grid-row:auto}
  .home-curated__grid--fresh .home-curated__project--featured{min-height:430px}.home-curated__grid--fresh .home-curated__project--room{min-height:220px}
}

/* DUO FAQ / pricing section — editorial interaction, quiet-luxury motion. */
.home-faq{
  max-width:calc(var(--content) - 2*var(--gutter));
  margin:0 auto 12px;
  padding:clamp(56px,5.6vw,88px);
  display:grid;
  grid-template-columns:minmax(310px,.76fr) minmax(560px,1.24fr);
  gap:clamp(54px,7.2vw,112px);
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(620px 460px at 9% 9%,rgba(255,255,255,.30),transparent 68%),
    linear-gradient(135deg,#ebe4da 0%,#e6ded3 54%,#e4dcd1 100%);
  color:var(--ink);
  border:1px solid rgba(39,32,27,.08);
  border-radius:34px;
  box-shadow:0 26px 72px rgba(8,7,6,.13);
}
.home-faq:before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;
  width:1px;
  background:linear-gradient(180deg,transparent 2%,rgba(154,43,36,.54) 18%,rgba(154,43,36,.14) 74%,transparent 98%);
  opacity:.78;
  pointer-events:none;
}
.home-faq:after{
  content:"";
  position:absolute;
  right:-150px;bottom:-210px;
  width:520px;height:520px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(157,31,25,.055),rgba(157,31,25,0) 69%);
  pointer-events:none;
  z-index:-1;
}
.home-faq__intro{align-self:start;position:sticky;top:112px;z-index:2}
.home-faq__intro .eyebrow{color:#8c837a}
.home-faq__intro h2{
  max-width:560px;
  margin:18px 0 22px;
  font-size:clamp(38px,3.3vw,56px);
  font-weight:315;
  line-height:.94;
  letter-spacing:-.055em;
  text-transform:uppercase;
  text-wrap:balance;
}
.home-faq__intro>p{max-width:455px;margin:0;color:#716960;font-size:13px;line-height:1.72}

.home-faq__price-note{
  max-width:430px;
  margin-top:34px;
  padding:18px;
  border:1px solid rgba(38,31,26,.11);
  border-radius:20px;
  background:linear-gradient(145deg,rgba(255,255,255,.38),rgba(255,255,255,.13));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.42),0 14px 34px rgba(49,39,31,.055);
  backdrop-filter:blur(8px);
}
.home-faq__price-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding-bottom:15px;border-bottom:1px solid rgba(35,29,24,.11)}
.home-faq__price-head>span{max-width:140px;color:#922820;font-size:8px;font-weight:700;line-height:1.35;letter-spacing:.15em;text-transform:uppercase}
.home-faq__price-head>strong{font-size:clamp(28px,2.35vw,38px);font-weight:370;line-height:.9;letter-spacing:-.052em;white-space:nowrap}
.home-faq__price-head>strong small{font-size:11px;font-weight:560;letter-spacing:-.01em;color:#756d64}
.home-faq__price-bands{display:grid;margin-top:5px}
.home-faq__price-bands>div{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 2px;border-bottom:1px solid rgba(35,29,24,.09)}
.home-faq__price-bands span{color:#70685f;font-size:10px;letter-spacing:.015em}
.home-faq__price-bands strong{font-size:13px;font-weight:590;letter-spacing:-.02em}
.home-faq__price-bands strong small{font-size:9px;font-weight:520;color:#756d64}
.home-faq__price-custom{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:10px;padding:11px 12px;border-radius:13px;background:rgba(149,40,32,.06);box-shadow:inset 2px 0 0 rgba(149,40,32,.48)}
.home-faq__price-custom span{font-size:9px;color:#756d64}
.home-faq__price-custom strong{font-size:10px;font-weight:650;color:#8e261f;letter-spacing:.01em;text-align:right}

.home-faq__list{position:relative;z-index:2;display:grid;gap:9px;align-self:start}
.home-faq__item{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(34,28,23,.105);
  border-radius:19px;
  background:rgba(255,255,255,.13);
  transition:background .34s var(--ease),border-color .34s var(--ease),box-shadow .38s var(--ease),transform .34s var(--ease);
}
.home-faq__item:before{
  content:"";
  position:absolute;left:0;top:16px;bottom:16px;width:2px;border-radius:0 3px 3px 0;
  background:#972b23;transform:scaleY(.15);opacity:0;transform-origin:center;
  transition:transform .48s var(--ease),opacity .3s ease;
}
.home-faq__question{
  width:100%;
  min-height:76px;
  padding:18px 18px 18px 16px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) 36px;
  gap:16px;
  align-items:center;
  border:0;
  background:transparent;
  color:var(--ink);
  text-align:left;
  cursor:pointer;
  user-select:none;
}
.home-faq__question:focus-visible{outline:1px solid rgba(157,31,25,.62);outline-offset:-5px;border-radius:16px}
.home-faq__index{
  width:31px;height:31px;display:grid;place-items:center;
  border:1px solid rgba(34,28,23,.15);border-radius:50%;
  background:rgba(255,255,255,.22);
  color:#90261f;font-size:8px;font-weight:700;letter-spacing:.11em;
  transition:background .34s var(--ease),color .34s var(--ease),border-color .34s var(--ease),transform .34s var(--ease);
}
.home-faq__question strong{
  max-width:780px;
  font-size:clamp(17px,1.46vw,22px);
  font-weight:420;
  line-height:1.22;
  letter-spacing:-.029em;
  text-wrap:balance;
  transition:color .28s var(--ease),transform .34s var(--ease);
}
.home-faq__toggle{
  position:relative;width:34px;height:34px;border:1px solid rgba(34,28,23,.17);border-radius:50%;
  background:rgba(255,255,255,.17);color:#3b342e;
  transition:background .34s var(--ease),color .34s var(--ease),border-color .34s var(--ease),transform .48s var(--ease);
}
.home-faq__toggle i{position:absolute;left:50%;top:50%;width:11px;height:1px;background:currentColor;transform:translate(-50%,-50%);transition:transform .4s var(--ease),opacity .28s ease}
.home-faq__toggle i+i{transform:translate(-50%,-50%) rotate(90deg)}

.home-faq__answer-shell{
  display:grid;
  grid-template-rows:0fr;
  opacity:0;
  transform:translateY(-5px);
  pointer-events:none;
  transition:grid-template-rows .56s cubic-bezier(.22,.72,.16,1),opacity .34s ease,transform .5s var(--ease);
}
.home-faq__answer{
  min-height:0;
  overflow:hidden;
  padding:0 54px 0 70px;
  color:#625b54;
  transition:padding-bottom .5s var(--ease);
}
.home-faq__answer p{max-width:760px;margin:0;font-size:12.5px;line-height:1.72}
.home-faq__answer p+p{margin-top:12px}

.home-faq__item.is-open{
  background:rgba(249,245,238,.56);
  border-color:rgba(145,39,31,.21);
  box-shadow:0 18px 42px rgba(41,32,25,.075),inset 0 1px 0 rgba(255,255,255,.42);
}
.home-faq__item.is-open:before{transform:scaleY(1);opacity:.88}
.home-faq__item.is-open .home-faq__index{background:#241f1b;border-color:#241f1b;color:#f0e8de;transform:scale(.96)}
.home-faq__item.is-open .home-faq__question strong{color:#211c18;transform:translateX(2px)}
.home-faq__item.is-open .home-faq__toggle{background:#241f1b;border-color:#241f1b;color:#f0e8de;transform:rotate(180deg)}
.home-faq__item.is-open .home-faq__toggle i+i{opacity:0;transform:translate(-50%,-50%) rotate(0)}
.home-faq__item.is-open .home-faq__answer-shell{grid-template-rows:1fr;opacity:1;transform:none;pointer-events:auto}
.home-faq__item.is-open .home-faq__answer{padding-bottom:27px}

.home-faq__process-mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:18px;max-width:760px}
.home-faq__process-mini span{min-height:52px;display:flex;align-items:center;gap:9px;padding:11px 12px;border:1px solid rgba(35,29,24,.10);border-radius:12px;background:rgba(255,255,255,.28);font-size:9.5px;line-height:1.3;color:#5d5650}
.home-faq__process-mini b{font-size:7px;letter-spacing:.11em;color:#972b23}
.home-faq__metric{display:grid;grid-template-columns:minmax(190px,.56fr) minmax(0,1fr);gap:24px;align-items:center;max-width:720px;padding:17px 18px;border-radius:14px;background:rgba(255,255,255,.29);border:1px solid rgba(35,29,24,.09)}
.home-faq__metric strong{font-size:clamp(22px,2vw,30px);font-weight:380;line-height:1;letter-spacing:-.045em;color:#2a2420}
.home-faq__metric span{font-size:11px;line-height:1.55;color:#6f675f}
.home-faq__tariffs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:17px;max-width:760px}
.home-faq__tariffs>div{display:flex;flex-direction:column;gap:7px;min-height:67px;padding:13px 14px;border:1px solid rgba(35,29,24,.10);border-radius:13px;background:rgba(255,255,255,.29)}
.home-faq__tariffs span{color:#766e65;font-size:9.5px}
.home-faq__tariffs strong{color:#29231f;font-size:13px;font-weight:620;white-space:nowrap;letter-spacing:-.015em}
.home-faq__tariffs .is-individual{grid-column:1/-1;min-height:auto;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:20px;border-color:rgba(151,43,35,.18);background:rgba(151,43,35,.045);box-shadow:inset 2px 0 0 rgba(151,43,35,.44)}
.home-faq__tariffs .is-individual strong{color:#8d261f}
.home-faq__includes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;max-width:760px;counter-reset:faq-includes}
.home-faq__includes li{counter-increment:faq-includes;position:relative;min-height:48px;display:flex;align-items:center;padding:10px 12px 10px 38px;border:1px solid rgba(35,29,24,.09);border-radius:12px;background:rgba(255,255,255,.26);color:#5f5851;font-size:10.5px;line-height:1.45}
.home-faq__includes li:before{content:counter(faq-includes,decimal-leading-zero);position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#972b23;font-size:7px;font-weight:700;letter-spacing:.08em}
.home-faq__regions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:17px;max-width:620px}
.home-faq__regions>span{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 14px;border:1px solid rgba(35,29,24,.10);border-radius:12px;background:rgba(255,255,255,.28)}
.home-faq__regions b{font-size:10.5px;font-weight:620;color:#332d28}.home-faq__regions small{font-size:8.5px;color:#786f67}

@media(hover:hover){
  .home-faq__item:not(.is-open):hover{background:rgba(255,255,255,.24);border-color:rgba(34,28,23,.16);transform:translateY(-2px);box-shadow:0 12px 30px rgba(38,30,24,.05)}
  .home-faq__item:not(.is-open):hover .home-faq__question strong{color:#8e261f;transform:translateX(2px)}
  .home-faq__item:not(.is-open):hover .home-faq__index{border-color:rgba(151,43,35,.35);background:rgba(151,43,35,.045)}
  .home-faq__item:not(.is-open):hover .home-faq__toggle{border-color:rgba(151,43,35,.33);transform:rotate(8deg)}
}

@media(max-width:1080px){
  .home-faq{grid-template-columns:1fr;gap:42px}
  .home-faq__intro{position:static;max-width:820px}
  .home-faq__price-note{max-width:520px}
}
@media(max-width:700px){
  .home-faq{margin:0 8px 8px;padding:38px 16px 28px;border-radius:24px;gap:28px}
  .home-faq__intro h2{font-size:clamp(34px,10vw,44px);max-width:430px;margin-bottom:18px}
  .home-faq__intro>p{font-size:12px}
  .home-faq__price-note{margin-top:24px;padding:15px;border-radius:17px}
  .home-faq__price-head>strong{font-size:30px}
  .home-faq__list{gap:7px}
  .home-faq__item{border-radius:16px}
  .home-faq__question{grid-template-columns:31px minmax(0,1fr) 31px;gap:10px;min-height:68px;padding:14px 12px}
  .home-faq__index{width:28px;height:28px}
  .home-faq__question strong{font-size:15px;line-height:1.26}
  .home-faq__toggle{width:30px;height:30px}
  .home-faq__answer{padding-left:53px;padding-right:13px}
  .home-faq__item.is-open .home-faq__answer{padding-bottom:20px}
  .home-faq__answer p{font-size:11.5px;line-height:1.68}
  .home-faq__process-mini{grid-template-columns:1fr;margin-top:14px}
  .home-faq__process-mini span{min-height:43px}
  .home-faq__metric{grid-template-columns:1fr;gap:8px;padding:14px}
  .home-faq__metric strong{font-size:25px}
  .home-faq__tariffs{grid-template-columns:1fr;gap:6px}
  .home-faq__tariffs .is-individual{grid-column:auto;flex-direction:column;align-items:flex-start;gap:5px}
  .home-faq__includes{grid-template-columns:1fr;gap:6px}
  .home-faq__regions{grid-template-columns:1fr;gap:6px}
  .surface-tariffs{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){
  .home-faq__item,.home-faq__question strong,.home-faq__index,.home-faq__toggle,.home-faq__answer-shell,.home-faq__answer,.home-faq__item:before{transition:none!important}
}

.surface-tariffs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:13px}
.surface-tariffs>span{display:flex;flex-direction:column;gap:3px;padding:9px 10px;border:1px solid rgba(236,230,220,.13);border-radius:10px;background:rgba(255,255,255,.035)}
.surface-tariffs b{font-size:8px;font-weight:620;letter-spacing:.06em;color:rgba(246,239,229,.64)}
.surface-tariffs em{font-style:normal;font-size:9px;font-weight:560;color:#f2ebe1;white-space:nowrap}
.surface-tariffs .is-individual{border-color:rgba(181,65,52,.28);background:rgba(181,65,52,.055)}
.surface-tariffs .is-individual em{color:#efc7bd}

@media(max-width:1080px){
  .home-faq{grid-template-columns:1fr;gap:42px}
  .home-faq__intro{position:static;max-width:760px}
  .home-faq__price-note{max-width:440px}
}
@media(max-width:700px){
  .home-faq{margin:0 8px 8px;padding:42px 20px 34px;border-radius:22px;gap:32px}
  .home-faq__intro h2{font-size:33px;max-width:390px}
  .home-faq__intro>p{font-size:12px}
  .home-faq__price-note{margin-top:28px}
  .home-faq__item summary{grid-template-columns:30px minmax(0,1fr) 30px;gap:11px;min-height:70px;padding:15px 0}
  .home-faq__item summary strong{font-size:15px}
  .home-faq__toggle{width:26px;height:26px}
  .home-faq__answer{padding:0 2px 24px 41px}
  .home-faq__answer p{font-size:11px}
  .home-faq__tariffs{grid-template-columns:1fr;gap:6px}
  .home-faq__tariffs .is-individual{grid-column:auto}
  .home-faq__includes{grid-template-columns:1fr;gap:8px}
  .surface-tariffs{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){.home-faq__answer{animation:none}.home-faq__toggle,.home-faq__index,.home-faq__item summary strong{transition:none}}

/* DUO Casa Ciorescu Project Tour v40 — photographic navigator + continuous scrub */
.home-project-tour{position:relative;background:#15120f;color:#f3ede5;isolation:isolate}
.home-project-tour__story{position:relative;height:calc(var(--tour-scenes) * 300svh)}
.home-project-tour__stage{position:sticky;top:0;width:100%;height:100svh;min-height:650px;overflow:hidden;background:#d9d0c5;isolation:isolate}
.home-project-tour__media,.home-project-tour__scene,.home-project-tour__scene .media-picture,.home-project-tour__scene img{position:absolute;inset:0;width:100%;height:100%}
.home-project-tour__media{z-index:-4;background:#d8cfc4}
.home-project-tour__scene{opacity:0;transform:scale(1.026);transform-origin:center center;will-change:opacity,transform;pointer-events:none}
.home-project-tour__scene.is-active{opacity:1}
.home-project-tour__scene img{object-fit:cover;object-position:var(--scene-object-position,50% 50%);filter:saturate(.96) contrast(1.015) brightness(.985);transform:translateZ(0)}
.home-project-tour__veil{position:absolute;z-index:-3;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(17,13,10,.28) 0%,rgba(17,13,10,.11) 25%,rgba(17,13,10,.015) 54%,rgba(17,13,10,.035) 74%,rgba(17,13,10,.2) 100%),linear-gradient(0deg,rgba(12,9,7,.34) 0%,rgba(12,9,7,.05) 34%,rgba(12,9,7,.02) 70%,rgba(12,9,7,.15) 100%)}

.project-tour-identity{position:absolute;z-index:7;top:clamp(112px,14vh,148px);left:clamp(24px,4.2vw,72px);max-width:min(620px,46vw);text-shadow:0 2px 28px rgba(0,0,0,.24)}
.project-tour-identity .eyebrow{display:block;margin-bottom:13px;color:rgba(247,240,232,.72);font-size:8px;font-weight:680;letter-spacing:.17em}
.project-tour-identity h2{margin:0;color:#f7f1e9;font-size:clamp(43px,5.15vw,80px);font-weight:300;line-height:.88;letter-spacing:-.064em;text-transform:uppercase}
.project-tour-identity p{max-width:420px;margin:18px 0 0;color:rgba(247,240,232,.75);font-size:10.5px;line-height:1.62}

.project-tour-status{position:absolute;z-index:7;top:clamp(108px,13.5vh,142px);right:clamp(24px,4.2vw,72px);display:grid;grid-template-columns:auto minmax(100px,190px) auto;gap:10px;align-items:center;color:rgba(248,241,233,.9);font-size:8px;font-weight:700;letter-spacing:.13em;text-shadow:0 1px 18px rgba(0,0,0,.28)}
.project-tour-status i{position:relative;display:block;width:min(190px,14vw);height:1px;background:rgba(247,239,230,.3);overflow:hidden}
.project-tour-status i b{position:absolute;inset:0;background:#c44d43;transform:scaleX(.001);transform-origin:left center;will-change:transform}

.project-tour-navigator{position:absolute;z-index:8;left:clamp(22px,3.3vw,56px);bottom:clamp(22px,4.2vh,48px);width:min(430px,34vw);padding:14px 14px 13px;border:1px solid rgba(255,255,255,.54);border-radius:22px;background:rgba(247,243,237,.94);color:#211b17;box-shadow:0 28px 84px rgba(13,9,6,.23),inset 0 1px 0 rgba(255,255,255,.92);backdrop-filter:blur(20px) saturate(1.03);-webkit-backdrop-filter:blur(20px) saturate(1.03)}
.project-tour-navigator__head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:12px;padding:0 2px}
.project-tour-navigator__head>div{display:grid;gap:3px}
.project-tour-navigator__head span{font-size:7px;font-weight:760;letter-spacing:.155em;text-transform:uppercase;color:#403832}
.project-tour-navigator__head small{font-size:6.5px;color:#91877e}
.project-tour-navigator__head strong{font-size:9px;font-weight:620;letter-spacing:.03em;color:#736960}

.project-tour-thumbs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.project-tour-thumb{position:relative;isolation:isolate;display:block;min-width:0;aspect-ratio:1.7/1;padding:0;overflow:hidden;border:1px solid rgba(47,39,34,.12);border-radius:10px;background:#cfc4b8;color:#fff;text-align:left;cursor:pointer;touch-action:manipulation;user-select:none;-webkit-tap-highlight-color:transparent;box-shadow:0 7px 18px rgba(20,14,10,.06);transition:border-color .45s cubic-bezier(.22,1,.36,1),box-shadow .45s cubic-bezier(.22,1,.36,1),transform .45s cubic-bezier(.22,1,.36,1)}
.project-tour-thumb__media,.project-tour-thumb__media .media-picture,.project-tour-thumb__media img,.project-tour-thumb__shade{position:absolute;inset:0;width:100%;height:100%}
.project-tour-thumb__media{z-index:-3;background:#d8cec4}
.project-tour-thumb__media img{object-fit:cover;object-position:var(--thumb-position,50% 50%);transform:scale(1.015);filter:saturate(.92) contrast(1.02) brightness(.94);transition:transform .8s cubic-bezier(.22,1,.36,1),filter .55s ease}
.project-tour-thumb__shade{z-index:-2;background:linear-gradient(180deg,rgba(12,9,7,.03) 24%,rgba(12,9,7,.2) 58%,rgba(12,9,7,.72) 100%);transition:background .45s ease}
.project-tour-thumb__meta{position:absolute;left:10px;right:28px;bottom:9px;display:grid;gap:2px;text-shadow:0 2px 12px rgba(0,0,0,.42)}
.project-tour-thumb__meta b{font-size:5.5px;font-weight:760;letter-spacing:.13em;color:rgba(255,255,255,.72)}
.project-tour-thumb__meta strong{font-size:8px;font-weight:650;line-height:1.15;letter-spacing:-.01em;color:#fff}
.project-tour-thumb__state{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:21px;height:21px;border:1px solid rgba(255,255,255,.34);border-radius:50%;background:rgba(20,15,12,.13);opacity:.72;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);transition:opacity .4s ease,background .4s ease,transform .45s cubic-bezier(.22,1,.36,1)}
.project-tour-thumb__state .ui-icon{width:10px;height:10px}
.project-tour-thumb.is-active{border-color:rgba(166,57,48,.82);box-shadow:0 10px 24px rgba(20,14,10,.12),inset 0 0 0 2px rgba(174,62,52,.42);transform:translateY(-1px)}
.project-tour-thumb.is-active .project-tour-thumb__media img{transform:scale(1.045);filter:saturate(1) contrast(1.02) brightness(.98)}
.project-tour-thumb.is-active .project-tour-thumb__shade{background:linear-gradient(180deg,rgba(140,45,38,.04) 20%,rgba(24,14,11,.16) 55%,rgba(25,12,10,.74) 100%)}
.project-tour-thumb.is-active .project-tour-thumb__state{opacity:1;background:#a63c34;transform:rotate(45deg)}
.project-tour-thumb:focus-visible{outline:2px solid #a53a31;outline-offset:3px}

.project-tour-current{display:grid;grid-template-columns:1fr auto;column-gap:12px;margin-top:11px;padding:11px 2px 4px;border-top:1px solid rgba(49,42,36,.14);will-change:opacity,transform}
.project-tour-current__top{grid-column:1/-1;display:flex;align-items:center;gap:8px;margin-bottom:3px}
.project-tour-current__top span{display:grid;place-items:center;width:22px;height:22px;border:1px solid rgba(152,61,53,.2);border-radius:50%;color:#a23d35;font-size:5.5px;font-weight:760;letter-spacing:.08em}
.project-tour-current__top small{color:#8d8279;font-size:6px;font-weight:680;letter-spacing:.105em;text-transform:uppercase}
.project-tour-current>strong{grid-column:1;display:block;color:#29221d;font-size:15px;font-weight:560;line-height:1.05;letter-spacing:-.025em}
.project-tour-current>p{grid-column:1/-1;margin:7px 0 0;color:#81776e;font-size:7.5px;line-height:1.45}
.project-tour-current>a{grid-column:1/-1;display:inline-flex;width:max-content;align-items:center;gap:6px;margin-top:9px;color:#9c3b33;font-size:6px;font-weight:740;letter-spacing:.11em;text-decoration:none;text-transform:uppercase}
.project-tour-current>a .ui-icon{width:11px;height:11px;transition:transform .4s cubic-bezier(.22,1,.36,1)}
.project-tour-navigator__note{margin:8px 2px 0;color:#aaa098;font-size:5.7px;line-height:1.35}

.home-project-tour__skip{position:absolute;z-index:9;right:clamp(24px,4.2vw,72px);bottom:clamp(24px,4.2vh,48px);display:inline-flex;align-items:center;gap:10px;height:42px;padding:0 16px;border:1px solid rgba(255,255,255,.35);border-radius:12px;background:rgba(246,242,236,.9);color:#343044;box-shadow:0 14px 36px rgba(10,7,5,.13);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:7px;font-weight:760;letter-spacing:.13em;text-transform:uppercase;cursor:pointer;transition:background .4s ease,transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s ease}
.home-project-tour__skip .ui-icon{width:12px;height:12px}

@media(hover:hover){
  .project-tour-thumb:not(.is-active):hover{transform:translateY(-2px);border-color:rgba(87,70,59,.24);box-shadow:0 12px 28px rgba(20,14,10,.12)}
  .project-tour-thumb:not(.is-active):hover .project-tour-thumb__media img{transform:scale(1.055);filter:saturate(.98) contrast(1.02) brightness(.98)}
  .project-tour-thumb:not(.is-active):hover .project-tour-thumb__state{opacity:1;transform:translate(1px,-1px)}
  .project-tour-current>a:hover .ui-icon{transform:translate(2px,-2px)}
  .home-project-tour__skip:hover{background:#fff;transform:translateY(-2px);box-shadow:0 18px 44px rgba(10,7,5,.18)}
}

@media(max-width:1100px){
  .project-tour-identity{max-width:54vw}
  .project-tour-navigator{width:min(410px,42vw)}
}

@media(max-width:760px){
  .home-project-tour__story{height:calc(var(--tour-scenes) * 255svh)}
  .home-project-tour__stage{min-height:640px}
  .home-project-tour__scene img{filter:saturate(.96) contrast(1.01) brightness(.98)}
  .home-project-tour__veil{background:linear-gradient(180deg,rgba(14,10,8,.27) 0%,rgba(14,10,8,.03) 34%,rgba(14,10,8,.04) 58%,rgba(14,10,8,.48) 100%)}
  .project-tour-identity{top:96px;left:16px;right:62px;max-width:none}
  .project-tour-identity .eyebrow{margin-bottom:9px;font-size:6.2px}
  .project-tour-identity h2{font-size:clamp(34px,10.8vw,50px);line-height:.89}
  .project-tour-identity p{max-width:310px;margin-top:10px;font-size:9px;line-height:1.48}
  .project-tour-status{top:73px;left:16px;right:16px;grid-template-columns:auto 1fr auto;gap:8px;font-size:6px}
  .project-tour-status i{width:auto}
  .project-tour-navigator{left:10px;right:10px;bottom:10px;width:auto;padding:9px 9px 8px;border-radius:18px;background:rgba(247,243,237,.965)}
  .project-tour-navigator__head{margin-bottom:8px}
  .project-tour-navigator__head span{font-size:6px}.project-tour-navigator__head small{font-size:5.5px}.project-tour-navigator__head strong{font-size:7.5px}
  .project-tour-thumbs{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
  .project-tour-thumb{aspect-ratio:1.05/1;border-radius:8px}
  .project-tour-thumb__meta{left:6px;right:5px;bottom:6px;gap:1px}.project-tour-thumb__meta b{font-size:4.4px}.project-tour-thumb__meta strong{font-size:5.8px;line-height:1.08}
  .project-tour-thumb__state{top:5px;right:5px;width:17px;height:17px}.project-tour-thumb__state .ui-icon{width:8px;height:8px}
  .project-tour-current{margin-top:8px;padding-top:8px}.project-tour-current__top{margin-bottom:2px}.project-tour-current__top span{width:18px;height:18px;font-size:4.7px}.project-tour-current__top small{font-size:5.3px}
  .project-tour-current>strong{font-size:12.5px}.project-tour-current>p{font-size:6.8px;line-height:1.38;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.project-tour-current>a{margin-top:6px;font-size:5.4px}
  .project-tour-navigator__note{display:none}
  .home-project-tour__skip{right:14px;top:96px;bottom:auto;width:38px;height:38px;padding:0;justify-content:center;border-radius:50%;background:rgba(247,243,237,.92)}
  .home-project-tour__skip span{display:none}
}

@media(max-width:430px){
  .project-tour-identity{right:56px}
  .project-tour-identity p{max-width:276px}
}

@media(prefers-reduced-motion:reduce){
  .home-project-tour__story{height:100svh}
  .home-project-tour__stage{position:relative}
  .home-project-tour__scene{opacity:0!important;transform:none!important}
  .home-project-tour__scene:first-child{opacity:1!important}
  .project-tour-thumb,.project-tour-thumb__media img,.project-tour-thumb__state,.home-project-tour__skip,.project-tour-current>a .ui-icon{transition:none!important}
}

/* DUO v41 — Casa Ciorescu navigator legibility pass */
.project-tour-navigator{
  background:rgba(249,246,241,.975);
  border-color:rgba(255,255,255,.72);
}
.project-tour-navigator__head span{
  font-size:8px;
  color:#2f2925;
}
.project-tour-navigator__head small{
  font-size:8px;
  line-height:1.35;
  color:#6d625a;
}
.project-tour-navigator__head strong{
  font-size:10px;
  color:#504740;
}
.project-tour-thumb__meta{
  text-shadow:0 2px 14px rgba(0,0,0,.66),0 1px 3px rgba(0,0,0,.72);
}
.project-tour-thumb__meta b{
  font-size:6.4px;
  color:rgba(255,255,255,.88);
}
.project-tour-thumb__meta strong{
  font-size:9.4px;
  font-weight:680;
  line-height:1.16;
  color:#fff;
}
.project-tour-thumb__shade{
  background:linear-gradient(180deg,rgba(12,9,7,.025) 18%,rgba(12,9,7,.16) 52%,rgba(12,9,7,.82) 100%);
}
.project-tour-thumb.is-active .project-tour-thumb__shade{
  background:linear-gradient(180deg,rgba(140,45,38,.035) 18%,rgba(24,14,11,.14) 48%,rgba(25,12,10,.84) 100%);
}
.project-tour-current{
  border-top-color:rgba(49,42,36,.19);
}
.project-tour-current__top span{
  color:#92342d;
  font-size:6.2px;
}
.project-tour-current__top small{
  color:#675c55;
  font-size:7px;
  font-weight:720;
}
.project-tour-current>strong{
  color:#1e1916;
  font-size:17px;
  font-weight:620;
  line-height:1.08;
}
.project-tour-current>p{
  margin-top:8px;
  color:#554c46;
  font-size:10.2px;
  font-weight:440;
  line-height:1.5;
}
.project-tour-current>a{
  margin-top:10px;
  color:#873029;
  font-size:7.2px;
  font-weight:780;
}
.project-tour-navigator__note{
  margin-top:9px;
  color:#756a62;
  font-size:6.5px;
  line-height:1.45;
}

@media(max-width:760px){
  .project-tour-navigator{background:rgba(249,246,241,.985)}
  .project-tour-navigator__head span{font-size:6.7px}
  .project-tour-navigator__head small{font-size:6.2px;color:#665b54}
  .project-tour-navigator__head strong{font-size:8px;color:#4e4640}
  .project-tour-thumb__meta b{font-size:4.9px}
  .project-tour-thumb__meta strong{font-size:6.4px;line-height:1.12}
  .project-tour-current__top small{font-size:5.8px;color:#62574f}
  .project-tour-current>strong{font-size:13.5px}
  .project-tour-current>p{font-size:7.8px;line-height:1.45;color:#514943;-webkit-line-clamp:2}
  .project-tour-current>a{font-size:6px}
}

/* DUO v42 — first-party Telegram bridge chat */
.duo-chat{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:460;font-family:"Helvetica Neue",Arial,"Noto Sans",sans-serif}
.duo-chat__launcher{min-width:168px;height:58px;padding:0 15px 0 10px;border:1px solid rgba(255,255,255,.2);border-radius:18px;background:rgba(29,25,22,.92);color:#f3ede4;box-shadow:0 18px 52px rgba(0,0,0,.28);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);display:flex;align-items:center;gap:10px;cursor:pointer;transition:transform .32s var(--ease),background .32s var(--ease),border-color .32s var(--ease),box-shadow .32s var(--ease)}
.duo-chat__launcher:hover{transform:translateY(-3px);background:#211d19;border-color:rgba(255,255,255,.34);box-shadow:0 24px 64px rgba(0,0,0,.34)}
.duo-chat__launcher-icon{width:38px;height:38px;border-radius:13px;background:#ede5da;color:#1a1714;display:grid;place-items:center;flex:0 0 auto}
.duo-chat__launcher-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.duo-chat__launcher-copy{text-align:left;min-width:0}.duo-chat__launcher-copy strong,.duo-chat__launcher-copy small{display:block;white-space:nowrap}.duo-chat__launcher-copy strong{font-size:11px;letter-spacing:.01em;font-weight:650}.duo-chat__launcher-copy small{margin-top:2px;color:#a9a097;font-size:9px}
.duo-chat__unread{position:absolute;right:-5px;top:-5px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--red);color:#fff;border:2px solid #171411;display:grid;place-items:center;font-size:9px;font-weight:700}
.duo-chat__unread[hidden],.duo-chat__typing[hidden]{display:none!important}
.duo-chat__panel[hidden]{display:none}.duo-chat__panel{position:absolute;right:0;bottom:72px;width:min(390px,calc(100vw - 28px));height:min(620px,calc(100svh - 112px));border:1px solid rgba(255,255,255,.16);border-radius:24px;background:#eee7dd;color:#171411;box-shadow:0 34px 90px rgba(0,0,0,.38);overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto;transform-origin:bottom right;animation:duoChatIn .38s var(--ease) both}
@keyframes duoChatIn{from{opacity:0;transform:translateY(12px) scale(.975)}to{opacity:1;transform:none}}
.duo-chat__head{min-height:78px;padding:14px 15px 13px 17px;background:#1e1a17;color:#f3ede4;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between;gap:14px}
.duo-chat__identity{display:flex;align-items:center;gap:11px;min-width:0}.duo-chat__mark{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.22);display:grid;place-items:center;font-size:10px;letter-spacing:.06em;flex:0 0 auto}.duo-chat__identity>span:last-child{min-width:0}.duo-chat__identity strong,.duo-chat__identity small{display:block}.duo-chat__identity strong{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.duo-chat__identity small{margin-top:2px;color:#9f968e;font-size:9px}
.duo-chat__close{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.06);color:#eee7dd;display:grid;place-items:center;cursor:pointer;transition:background .2s,transform .2s}.duo-chat__close:hover{background:rgba(255,255,255,.12);transform:rotate(-6deg)}.duo-chat__close svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5}
.duo-chat__body{min-height:0;padding:18px 14px 14px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c6bdb2 transparent;background:linear-gradient(180deg,#ece5db 0%,#f1ebe2 100%)}
.duo-chat__date{width:max-content;margin:0 auto 15px;padding:5px 8px;border-radius:999px;background:rgba(23,20,17,.055);color:#837970;font-size:8px;letter-spacing:.1em;text-transform:uppercase}
.duo-chat__messages{display:grid;gap:9px}.duo-chat__message{display:flex;margin:0 0 9px}.duo-chat__message.is-operator{justify-content:flex-start}.duo-chat__message.is-visitor{justify-content:flex-end}.duo-chat__bubble{max-width:84%;padding:11px 12px 8px;border-radius:16px;box-shadow:0 3px 12px rgba(36,29,23,.05)}
.duo-chat__message.is-operator .duo-chat__bubble{background:#fffaf3;border:1px solid rgba(32,27,23,.08);border-bottom-left-radius:5px}.duo-chat__message.is-visitor .duo-chat__bubble{background:#1f1b18;color:#f4ede4;border-bottom-right-radius:5px}
.duo-chat__bubble p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.55}.duo-chat__bubble time{display:block;margin-top:5px;font-size:8px;color:#8d837a}.duo-chat__message.is-visitor .duo-chat__bubble time{color:#938a82;text-align:right}.duo-chat__message.is-welcome .duo-chat__bubble{max-width:92%}
.duo-chat__message.is-failed .duo-chat__bubble{outline:1px solid rgba(235,54,43,.28)}
.duo-chat__typing{display:flex;align-items:center;gap:4px;margin:10px 0 0 5px;color:#837970;font-size:9px}.duo-chat__typing span{width:5px;height:5px;border-radius:50%;background:#776d65;animation:duoChatDot 1s infinite ease-in-out}.duo-chat__typing span:nth-child(2){animation-delay:.12s}.duo-chat__typing span:nth-child(3){animation-delay:.24s}.duo-chat__typing em{font-style:normal;margin-left:5px}@keyframes duoChatDot{0%,60%,100%{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}
.duo-chat__composer{padding:11px 12px 12px;background:#f7f2eb;border-top:1px solid rgba(24,20,17,.1)}.duo-chat__trap{position:absolute!important;left:-10000px!important;opacity:0!important;pointer-events:none!important}
.duo-chat__name-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:8px}.duo-chat__name-row label{display:flex;align-items:center;gap:7px;min-width:0;color:#756c64;font-size:8px;text-transform:uppercase;letter-spacing:.08em}.duo-chat__name-row input{width:118px;height:26px;padding:0 7px;border:0;border-bottom:1px solid #c7beb3;background:transparent;color:#171411;font-size:10px;outline:0}.duo-chat__name-row input:focus{border-color:#171411}.duo-chat__name-row>span{color:#978d84;font-size:8px;letter-spacing:.08em}
.duo-chat__input-row{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:end;gap:8px}.duo-chat__input-row textarea{width:100%;max-height:110px;min-height:42px;padding:11px 12px;border:1px solid #d0c7bc;border-radius:14px;background:#fffaf4;color:#171411;resize:none;outline:0;font-size:12px;line-height:1.45;transition:border-color .2s,box-shadow .2s}.duo-chat__input-row textarea:focus{border-color:#a89d92;box-shadow:0 0 0 3px rgba(23,20,17,.04)}.duo-chat__input-row textarea::placeholder{color:#999087}
.duo-chat__input-row button{width:42px;height:42px;border-radius:14px;background:#1f1b18;color:#f3ede4;display:grid;place-items:center;cursor:pointer;transition:transform .2s var(--ease),background .2s}.duo-chat__input-row button:hover{transform:translateY(-2px);background:#2b2520}.duo-chat__input-row button:disabled{opacity:.45;cursor:default;transform:none}.duo-chat__input-row button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.duo-chat__meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;color:#8a8178;font-size:8px;line-height:1.35}.duo-chat__meta a{text-decoration:underline;text-underline-offset:2px}.duo-chat__error{margin-top:8px;padding:8px 9px;border-radius:9px;background:#f4deda;color:#9d2018;font-size:9px;line-height:1.4}
body.duo-chat-open .duo-chat__launcher{opacity:0;pointer-events:none;transform:translateY(8px) scale(.96)}
@media(max-width:640px){.duo-chat{right:10px;bottom:max(10px,env(safe-area-inset-bottom));left:10px}.duo-chat__launcher{margin-left:auto;min-width:56px;width:56px;padding:0;justify-content:center;border-radius:17px}.duo-chat__launcher-copy{display:none}.duo-chat__launcher-icon{width:38px;height:38px}.duo-chat__panel{position:fixed;left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));width:auto;height:min(690px,calc(100svh - 16px));border-radius:22px;transform-origin:bottom center}.duo-chat__head{min-height:72px}.duo-chat__body{padding:16px 11px 12px}.duo-chat__composer{padding:10px}.duo-chat__bubble{max-width:88%}.duo-chat__message.is-welcome .duo-chat__bubble{max-width:94%}}
@media(prefers-reduced-motion:reduce){.duo-chat__panel{animation:none}.duo-chat__typing span{animation:none}}

/* DUO v46 — Casa Ciorescu unified 360° house tour */
.project-virtual-tour{margin:clamp(58px,8vw,118px) clamp(18px,6vw,104px) clamp(66px,9vw,126px);padding:clamp(28px,4.6vw,66px);border:1px solid rgba(41,34,29,.12);border-radius:28px;background:linear-gradient(135deg,#f0e9df 0%,#e7ded3 50%,#efe8df 100%);color:#1d1916;box-shadow:0 28px 80px rgba(28,22,18,.08);overflow:hidden;position:relative;isolation:isolate}
.project-virtual-tour::before{content:"360°";position:absolute;z-index:-1;right:-.04em;top:-.2em;color:rgba(34,28,24,.035);font-size:clamp(150px,24vw,390px);font-weight:650;letter-spacing:-.08em;line-height:1;pointer-events:none}
.project-virtual-tour__copy{max-width:820px}.project-virtual-tour__copy .eyebrow{display:block;margin-bottom:14px;color:#8f3a33;font-size:10px;font-weight:760;letter-spacing:.16em}.project-virtual-tour__copy h2{margin:0;max-width:760px;font-size:clamp(40px,6vw,88px);font-weight:520;line-height:.9;letter-spacing:-.055em}.project-virtual-tour__copy p{max-width:650px;margin:22px 0 0;color:#655c55;font-size:clamp(13px,1.25vw,17px);line-height:1.6}
.project-virtual-tour__launch{width:100%;margin-top:clamp(32px,5vw,64px);padding:16px 18px 16px 16px;border:0;border-radius:18px;background:#211c18;color:#f5eee5;display:grid;grid-template-columns:52px minmax(0,1fr) 42px;align-items:center;gap:15px;text-align:left;cursor:pointer;box-shadow:0 18px 44px rgba(22,17,14,.16);transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s ease,background .35s ease}
.project-virtual-tour__launch-icon{width:52px;height:52px;border-radius:15px;background:#f0e7dc;color:#211c18;display:grid;place-items:center}.project-virtual-tour__launch-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.project-virtual-tour__launch>span:nth-child(2){display:grid;gap:4px}.project-virtual-tour__launch small{color:#a99f96;font-size:8px;font-weight:720;letter-spacing:.13em}.project-virtual-tour__launch strong{font-size:clamp(14px,1.55vw,21px);font-weight:560;letter-spacing:-.015em}.project-virtual-tour__arrow{justify-self:end;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s cubic-bezier(.22,1,.36,1)}
.project-virtual-tour__rooms{margin-top:18px;padding:0 4px;display:flex;align-items:center;gap:9px;overflow:hidden;color:#8b8178;font-size:8px;font-weight:680;letter-spacing:.09em;white-space:nowrap}.project-virtual-tour__rooms i{width:18px;height:1px;background:rgba(61,51,44,.22);flex:0 0 auto}
@media(hover:hover){.project-virtual-tour__launch:hover{transform:translateY(-3px);background:#181411;box-shadow:0 24px 58px rgba(22,17,14,.22)}.project-virtual-tour__launch:hover .project-virtual-tour__arrow{transform:translateX(4px)}}

.project-tour-current__actions{grid-column:1/-1;display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}.project-tour-current__actions>a{display:inline-flex;width:max-content;align-items:center;gap:6px;color:#9c3b33;font-size:6px;font-weight:740;letter-spacing:.11em;text-decoration:none;text-transform:uppercase}.project-tour-current__actions>a .ui-icon{width:11px;height:11px}.project-tour-current__actions>button{height:30px;padding:0 10px;border:1px solid rgba(145,55,47,.2);border-radius:9px;background:#a13c34;color:#fff;display:inline-flex;align-items:center;gap:7px;font-size:6px;font-weight:760;letter-spacing:.11em;text-transform:uppercase;cursor:pointer;transition:transform .3s cubic-bezier(.22,1,.36,1),background .3s ease}.project-tour-current__actions>button span{font-size:6px;opacity:.7}.project-tour-current__actions>button:hover{background:#8f342d;transform:translateY(-1px)}

.ciorescu360[hidden]{display:none!important}.ciorescu360{position:fixed;inset:0;z-index:9000;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));display:grid;place-items:center;font-family:"Helvetica Neue",Arial,"Noto Sans",sans-serif}.ciorescu360__backdrop{position:absolute;inset:0;background:rgba(11,9,8,.88);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);animation:ciorescu360BackdropIn .36s ease both}.ciorescu360__dialog{position:relative;width:min(1680px,100%);height:min(980px,100%);min-height:620px;overflow:hidden;border:1px solid rgba(255,255,255,.13);border-radius:24px;background:#16120f;color:#f4ede5;box-shadow:0 38px 120px rgba(0,0,0,.52);display:grid;grid-template-rows:72px minmax(0,1fr) auto;animation:ciorescu360DialogIn .5s cubic-bezier(.22,1,.36,1) both}.ciorescu360__topbar{padding:0 16px 0 24px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:space-between;gap:18px;background:#1b1714}.ciorescu360__identity{min-width:0;display:flex;align-items:baseline;gap:14px}.ciorescu360__identity span{color:#8f857d;font-size:8px;font-weight:720;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}.ciorescu360__identity strong{font-size:15px;font-weight:560;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ciorescu360__actions{display:flex;align-items:center;gap:8px}.ciorescu360__action{width:40px;height:40px;border:1px solid rgba(255,255,255,.13);border-radius:12px;background:rgba(255,255,255,.055);color:#eee6dd;display:grid;place-items:center;cursor:pointer;transition:background .25s,transform .3s cubic-bezier(.22,1,.36,1)}.ciorescu360__action svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}.ciorescu360__action:hover{background:rgba(255,255,255,.11);transform:translateY(-1px)}
.ciorescu360__viewport{position:relative;min-height:0;background:#0d0b09;overflow:hidden}.ciorescu360__frame{position:absolute;inset:0;width:100%;height:100%;border:0;background:#0d0b09;opacity:1;transition:opacity .42s ease}.ciorescu360__viewport.is-switching .ciorescu360__frame{opacity:.18}.ciorescu360__loading{position:absolute;inset:0;z-index:3;display:grid;place-items:center;align-content:center;gap:13px;background:radial-gradient(circle at 50% 48%,rgba(50,42,36,.28),rgba(13,11,9,.82));opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s ease;pointer-events:none}.ciorescu360__loading.is-visible{opacity:1;visibility:visible}.ciorescu360__loading small{color:#a99f97;font-size:8px;font-weight:680;letter-spacing:.13em;text-transform:uppercase}.ciorescu360__loading-orbit{position:relative;width:44px;height:44px;border:1px solid rgba(255,255,255,.15);border-radius:50%}.ciorescu360__loading-orbit::before{content:"";position:absolute;inset:7px;border:1px solid rgba(255,255,255,.12);border-radius:50%}.ciorescu360__loading-orbit i{position:absolute;left:50%;top:-2px;width:5px;height:5px;border-radius:50%;background:#eee5db;box-shadow:0 0 14px rgba(255,255,255,.45);transform-origin:0 24px;animation:ciorescu360Orbit 1.15s linear infinite}.ciorescu360__hint{position:absolute;z-index:2;left:18px;top:18px;height:34px;padding:0 12px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(19,15,12,.62);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;gap:8px;color:#f1e8df;pointer-events:none;transition:opacity .35s ease}.ciorescu360__hint svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}.ciorescu360__hint span{font-size:8px;letter-spacing:.04em}.ciorescu360__hint.is-dismissed{opacity:0}
.ciorescu360__rooms{min-height:112px;padding:14px 18px 16px;border-top:1px solid rgba(255,255,255,.1);background:#1b1714;display:grid;grid-template-columns:190px minmax(0,1fr);gap:14px;align-items:center}.ciorescu360__rooms-label{display:grid;gap:5px;padding:0 8px}.ciorescu360__rooms-label span{color:#ddd3ca;font-size:8px;font-weight:720;letter-spacing:.13em}.ciorescu360__rooms-label small{color:#756b64;font-size:9px}.ciorescu360__room-list{min-width:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.ciorescu360__room{min-width:0;height:68px;padding:9px 10px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(255,255,255,.035);color:#d3c9c1;text-align:left;display:grid;align-content:space-between;gap:5px;cursor:pointer;transition:border-color .28s ease,background .28s ease,transform .35s cubic-bezier(.22,1,.36,1),color .28s ease}.ciorescu360__room span{color:#786f68;font-size:7px;font-weight:760;letter-spacing:.12em}.ciorescu360__room strong{font-size:9px;font-weight:560;line-height:1.18;white-space:normal}.ciorescu360__room.is-active{border-color:rgba(179,72,62,.62);background:#9e3b33;color:#fff;box-shadow:0 8px 22px rgba(112,38,31,.2)}.ciorescu360__room.is-active span{color:rgba(255,255,255,.68)}.ciorescu360__room:focus-visible,.ciorescu360__action:focus-visible{outline:2px solid #fff;outline-offset:2px}.ciorescu360__room:hover:not(.is-active){transform:translateY(-2px);border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.06)}
body.ciorescu360-open{overflow:hidden}.ciorescu360.is-fullscreen{padding:0}.ciorescu360.is-fullscreen .ciorescu360__dialog{width:100%;height:100%;max-width:none;max-height:none;border:0;border-radius:0}
@keyframes ciorescu360BackdropIn{from{opacity:0}to{opacity:1}}@keyframes ciorescu360DialogIn{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}@keyframes ciorescu360Orbit{to{transform:rotate(360deg)}}
@media(max-width:900px){.project-virtual-tour{margin-left:16px;margin-right:16px;padding:28px 20px;border-radius:22px}.project-virtual-tour__rooms{overflow-x:auto;scrollbar-width:none}.project-virtual-tour__rooms::-webkit-scrollbar{display:none}.ciorescu360{padding:0}.ciorescu360__dialog{width:100%;height:100%;min-height:0;border:0;border-radius:0;grid-template-rows:64px minmax(0,1fr) auto}.ciorescu360__topbar{padding:0 10px 0 15px}.ciorescu360__identity{display:grid;gap:2px}.ciorescu360__identity span{font-size:6px}.ciorescu360__identity strong{font-size:12px}.ciorescu360__action{width:38px;height:38px}.ciorescu360__rooms{min-height:126px;padding:10px 10px calc(10px + env(safe-area-inset-bottom));display:block}.ciorescu360__rooms-label{display:none}.ciorescu360__room-list{display:flex;gap:6px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding-bottom:1px}.ciorescu360__room-list::-webkit-scrollbar{display:none}.ciorescu360__room{flex:0 0 128px;height:78px;scroll-snap-align:start}.ciorescu360__hint{left:10px;top:10px;height:31px;padding:0 10px}.ciorescu360__hint span{font-size:7px}}
@media(max-width:560px){.project-virtual-tour__copy h2{font-size:42px}.project-virtual-tour__copy p{font-size:12px}.project-virtual-tour__launch{grid-template-columns:46px minmax(0,1fr) 24px;padding:12px;gap:11px;border-radius:15px}.project-virtual-tour__launch-icon{width:46px;height:46px;border-radius:13px}.project-virtual-tour__launch strong{font-size:12px;line-height:1.2}.project-virtual-tour__rooms{font-size:6.5px}.project-tour-current__actions{gap:7px}.project-tour-current__actions>button{height:27px;padding:0 8px}.ciorescu360__actions{gap:5px}.ciorescu360__viewport{min-height:340px}.ciorescu360__room{flex-basis:118px}.ciorescu360__room strong{font-size:8.5px}}
@media(prefers-reduced-motion:reduce){.project-virtual-tour__launch,.project-virtual-tour__arrow,.ciorescu360__backdrop,.ciorescu360__dialog,.ciorescu360__frame,.ciorescu360__loading,.ciorescu360__room,.ciorescu360__action{animation:none!important;transition:none!important}.ciorescu360__loading-orbit i{animation:none!important}}

/* ========================================================================== 
   DUO v48 — Services editorial rebuild
   Quiet, presentation-first composition with one image and six clear services.
   ========================================================================== */
.services-hero,
.services-catalog,
.services-final{
  width:min(calc(100% - 2 * var(--gutter)),calc(var(--content) - 2 * var(--gutter)));
  margin:0 auto 18px;
}
.services-hero{
  min-height:720px;
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(420px,.72fr);
  gap:clamp(46px,7vw,118px);
  align-items:stretch;
  padding:clamp(62px,7vw,112px);
  background:var(--paper);
  color:var(--ink);
  border-radius:38px;
  overflow:hidden;
  box-shadow:0 18px 55px rgba(11,9,8,.08);
}
.services-hero__copy{align-self:center;max-width:760px}
.services-hero__copy .eyebrow{color:var(--muted-dark);margin-bottom:28px}
.services-hero__copy h1{
  margin:0;
  max-width:830px;
  font-size:clamp(54px,5.4vw,88px);
  line-height:.91;
  font-weight:300;
  letter-spacing:-.058em;
  text-wrap:balance;
}
.services-hero__copy p{
  max-width:560px;
  margin:34px 0 0;
  color:var(--muted-dark);
  font-size:clamp(15px,1.15vw,18px);
  line-height:1.68;
}
.services-hero__cta,
.services-final button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:48px;
  margin-top:34px;
  padding:0 22px;
  border-radius:999px;
  background:var(--ink-soft);
  color:var(--text);
  font-size:10px;
  font-weight:650;
  letter-spacing:.12em;
  text-transform:uppercase;
  cursor:pointer;
  transition:transform .25s var(--ease),background .25s var(--ease);
}
.services-hero__cta:hover,.services-final button:hover{transform:translateY(-2px);background:#2b2621}
.services-hero__cta .cta-icon,.services-final .cta-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.35}
.services-hero__media{
  min-height:520px;
  overflow:hidden;
  border-radius:28px;
  background:#d7cec2;
}
.services-hero__media img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.services-hero:hover .services-hero__media img{transform:scale(1.012)}

.services-catalog{
  padding:clamp(70px,8vw,126px) clamp(42px,6vw,96px);
  border-radius:38px;
  background:var(--ink-soft);
  color:var(--text);
}
.services-catalog__head{
  display:grid;
  grid-template-columns:minmax(180px,.42fr) minmax(0,1fr);
  gap:clamp(34px,7vw,120px);
  align-items:start;
  margin-bottom:clamp(52px,6vw,90px);
}
.services-catalog__head .eyebrow{padding-top:9px;color:#968c80}
.services-catalog__head>div{max-width:860px}
.services-catalog__head h2{
  margin:0;
  max-width:780px;
  font-size:clamp(42px,4.35vw,70px);
  line-height:.96;
  font-weight:300;
  letter-spacing:-.052em;
  text-wrap:balance;
}
.services-catalog__head p{
  max-width:560px;
  margin:25px 0 0;
  color:var(--muted);
  line-height:1.68;
}
.services-catalog__list{border-top:1px solid rgba(236,230,220,.14)}
.service-line{
  position:relative;
  display:grid;
  grid-template-columns:58px minmax(0,1fr) 52px;
  gap:clamp(18px,2.5vw,38px);
  align-items:center;
  min-height:150px;
  padding:28px 0;
  border-bottom:1px solid rgba(236,230,220,.14);
  transition:padding .28s var(--ease),background .28s var(--ease);
}
.service-line:before{
  content:"";
  position:absolute;
  inset:8px -20px;
  border-radius:20px;
  background:rgba(236,230,220,.04);
  opacity:0;
  transition:opacity .28s var(--ease);
  pointer-events:none;
}
.service-line:hover:before{opacity:1}
.service-line__num{position:relative;z-index:1;align-self:start;padding-top:9px;color:#81786e;font-size:10px;letter-spacing:.14em}
.service-line__copy{position:relative;z-index:1;display:grid;grid-template-columns:minmax(260px,.72fr) minmax(260px,.55fr);gap:clamp(34px,6vw,96px);align-items:center}
.service-line__copy h3{margin:0;font-size:clamp(28px,2.7vw,44px);line-height:1.05;font-weight:320;letter-spacing:-.038em}
.service-line__copy p{max-width:520px;margin:0;color:var(--muted);line-height:1.62}
.service-line__action{
  position:relative;
  z-index:1;
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(236,230,220,.075);
  cursor:pointer;
  transition:transform .25s var(--ease),background .25s var(--ease);
}
.service-line__action:hover{transform:translate(2px,-2px);background:rgba(236,230,220,.14)}
.service-line__action .cta-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.35}

.services-final{
  min-height:430px;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:46px;
  padding:clamp(58px,7vw,104px);
  border-radius:38px;
  background:var(--paper);
  color:var(--ink);
}
.services-final>div{max-width:980px}
.services-final .eyebrow{color:var(--muted-dark);margin-bottom:22px}
.services-final h2{
  margin:0;
  max-width:980px;
  font-size:clamp(42px,4.8vw,76px);
  line-height:.95;
  font-weight:300;
  letter-spacing:-.055em;
  text-wrap:balance;
}
.services-final button{flex:0 0 auto;margin:0}

@media (max-width:1080px){
  .services-hero{grid-template-columns:1fr .72fr;gap:42px;padding:64px 48px;min-height:650px}
  .services-hero__copy h1{font-size:clamp(50px,6.3vw,72px)}
  .services-catalog__head{grid-template-columns:1fr;gap:20px}
  .service-line__copy{grid-template-columns:minmax(220px,.75fr) minmax(240px,.6fr);gap:32px}
}
@media (max-width:900px){
  .services-hero,.services-catalog,.services-final{width:auto;margin-left:10px;margin-right:10px;border-radius:24px}
  .services-hero{min-height:0;grid-template-columns:1fr;padding:46px 34px;gap:38px}
  .services-hero__copy{order:1}.services-hero__media{order:2;min-height:520px}
  .services-catalog{padding:58px 34px}
  .service-line{grid-template-columns:40px minmax(0,1fr) 48px;min-height:0;padding:30px 0}
  .service-line__copy{grid-template-columns:1fr;gap:12px}
  .service-line__copy p{max-width:620px}
  .services-final{min-height:380px;align-items:flex-start;flex-direction:column;justify-content:space-between;padding:56px 34px}
}
@media (max-width:620px){
  .services-hero,.services-catalog,.services-final{margin-left:8px;margin-right:8px;border-radius:20px}
  .services-hero{padding:34px 22px 22px;gap:30px}
  .services-hero__copy .eyebrow{margin-bottom:20px}
  .services-hero__copy h1{font-size:clamp(43px,12.2vw,58px);line-height:.92}
  .services-hero__copy p{margin-top:24px;font-size:14px}
  .services-hero__cta{width:100%;margin-top:26px}
  .services-hero__media{min-height:400px;border-radius:16px}
  .services-catalog{padding:44px 22px}
  .services-catalog__head{margin-bottom:38px}
  .services-catalog__head h2{font-size:38px}
  .service-line{grid-template-columns:30px minmax(0,1fr) 40px;gap:12px;padding:24px 0}
  .service-line:before{inset:6px -10px;border-radius:14px}
  .service-line__num{padding-top:5px;font-size:9px}
  .service-line__copy h3{font-size:25px}
  .service-line__copy p{font-size:13px;line-height:1.55}
  .service-line__action{width:40px;height:40px}
  .services-final{min-height:350px;padding:42px 22px}
  .services-final h2{font-size:40px}
  .services-final button{width:100%}
}

/* DUO v50 — Artima 71 m² 360° project */
.project-360-badge{
  position:absolute;z-index:5;top:18px;right:18px;display:inline-flex;align-items:center;justify-content:center;
  min-width:58px;min-height:30px;padding:0 12px;border:1px solid rgba(244,240,233,.24);border-radius:999px;
  background:rgba(24,20,17,.78);color:#f4eee6;font-size:9px;font-weight:760;letter-spacing:.12em;
  box-shadow:0 8px 24px rgba(0,0,0,.16);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)
}
.project-360-badge--home{top:14px;right:14px}
.ciorescu360__room-list--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.project-virtual-tour--artima{background:linear-gradient(135deg,#efe7dc 0%,#e3d8cb 52%,#f0e8df 100%)}
.project-virtual-tour--artima::before{color:rgba(82,38,32,.045)}
@media(max-width:760px){.project-360-badge{top:12px;right:12px;min-width:54px;min-height:27px;padding:0 10px;font-size:8px}}

/* DUO v52 — CMS-managed hero copy per slide */
.home-hero__copy-stage{width:min(680px,100%);display:grid;align-items:end}
.home-hero__copy-stage>.home-hero__copy{grid-area:1/1;max-width:680px;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px);transition:opacity .48s var(--ease),transform .6s var(--ease),visibility 0s linear .6s;animation:none!important}
.home-hero__copy-stage>.home-hero__copy.is-active{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:opacity .58s .12s var(--ease),transform .7s .08s var(--ease),visibility 0s linear 0s}
.home-hero__copy-stage .hero-accent{color:var(--hero-accent,var(--red))!important}
.home-hero__primary:is(a){text-decoration:none;width:max-content}
@media(max-width:760px){.home-hero__copy-stage{width:100%}.home-hero__copy-stage>.home-hero__copy{max-width:100%}}
@media(prefers-reduced-motion:reduce){.home-hero__copy-stage>.home-hero__copy{transition:none!important;transform:none!important}}

/* DUO Focus Intro v20 — exit copy must be gone before the surface reveals the hero.
   The entrance animations have fill-mode:forwards and otherwise override exit opacity. */
.duo-focus-intro.is-copy-out :is(
  .duo-focus-intro__eyebrow,
  .duo-focus-intro__tagline,
  .duo-focus-intro__meta,
  .duo-focus-intro__progress,
  .duo-focus-intro__corner,
  .duo-focus-intro__edge
),
.duo-focus-intro.is-copy-out .duo-focus-intro__logo-stage::before {
  animation:duoFocusCopyDisappear .3s ease-out both !important;
}
@keyframes duoFocusCopyDisappear {
  from { opacity:1 }
  to { opacity:0 }
}
/* Hard boundary between preloader and hero: no ghost copy over the first slide. */
.duo-focus-intro.is-handoff :is(
  .duo-focus-intro__eyebrow,
  .duo-focus-intro__tagline,
  .duo-focus-intro__meta,
  .duo-focus-intro__progress,
  .duo-focus-intro__corner,
  .duo-focus-intro__edge
) { visibility:hidden !important; opacity:0 !important }
@media (prefers-reduced-motion:reduce) {
  .duo-focus-intro.is-copy-out :is(
    .duo-focus-intro__eyebrow,
    .duo-focus-intro__tagline,
    .duo-focus-intro__meta,
    .duo-focus-intro__progress,
    .duo-focus-intro__corner,
    .duo-focus-intro__edge
  ),
  .duo-focus-intro.is-copy-out .duo-focus-intro__logo-stage::before {
    animation:none !important; opacity:0 !important;
  }
}


/* DUO hotfix 2026-10-14 — calculator density + visual cleanup */
.calculator-shell--fast .calculator-step.is-active{
  display:block;
  animation:calculatorFastIn .28s var(--ease);
}
.calculator-shell--fast .calculator-step.is-active>.calculator-step__head,
.calculator-shell--fast .calculator-step.is-active>:not(.calculator-step__head){
  grid-column:auto;
  grid-row:auto;
}
.calculator-shell--fast .calculator-step__head{
  min-height:0;
  margin:0 0 18px;
  padding:0 0 16px;
  border-right:0;
  border-bottom:1px solid rgba(55,44,35,.09);
}
.calculator-shell--fast .calculator-step__head:after{
  left:0;
  right:auto;
  top:auto;
  bottom:-1px;
  width:44px;
  height:2px;
}
.calculator-shell--fast .calculator-step__head>div{max-width:780px}
.calculator-shell--fast .calculator-step__head h3{
  max-width:640px;
  text-wrap:balance;
}
.calculator-shell--fast .calculator-shell__body{
  min-height:0;
}
.calculator-shell--fast .calculator-step__hint{
  margin-top:12px;
}
.calculator-shell--fast .calculator-detail-grid{
  grid-template-columns:minmax(0,1.06fr) minmax(260px,.94fr);
  align-items:stretch;
}
.calculator-shell--fast .surface-editor--fast,
.calculator-shell--fast .calculator-stage-quick{
  min-height:236px;
}
.calculator-shell--fast .surface-tariffs{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
  margin-top:12px;
}
.calculator-shell--fast .surface-tariffs>span{
  padding:9px 10px;
  border:1px solid rgba(54,45,38,.10);
  border-radius:10px;
  background:rgba(255,255,255,.34);
}
.calculator-shell--fast .surface-tariffs b{
  color:#7c7168;
}
.calculator-shell--fast .surface-tariffs em{
  color:#3e352e;
}
.calculator-shell--fast .surface-tariffs .is-individual{
  border-color:rgba(181,65,52,.22);
  background:rgba(181,65,52,.08);
}
.calculator-shell--fast .surface-tariffs .is-individual em{
  color:#9a2f28;
}
.calculator-shell--fast .calculator-result--fast{
  max-width:none;
}
.calculator-shell--fast .calculator-result__top h3{
  max-width:760px;
}
.calculator-shell--fast .calculator-result__summary{
  margin-top:13px;
}
.calculator-shell--fast .calculator-result__services-compact{
  max-width:880px;
}
.calculator-shell--fast .calculator-estimate--fast{
  max-width:760px;
  margin-top:18px;
  padding:18px 20px;
}
.calculator-shell--fast .calculator-estimate--fast>div>strong{
  font-size:clamp(26px,2.2vw,36px);
}
.calculator-shell--fast .calculator-estimate--fast>div>p{
  max-width:620px;
  font-size:10px;
}
.calculator-shell--fast .calculator-result__actions{
  margin-top:12px;
}
.calculator-shell--fast .calculator-live{
  white-space:normal;
}
@media (max-width:760px){
  .calculator-shell--fast .calculator-step__head{
    margin:0 0 16px;
    padding-bottom:14px;
  }
  .calculator-shell--fast .calculator-detail-grid{
    grid-template-columns:1fr;
    gap:10px;
  }
  .calculator-shell--fast .surface-editor--fast,
  .calculator-shell--fast .calculator-stage-quick{
    min-height:auto;
  }
  .calculator-shell--fast .surface-tariffs{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .calculator-shell--fast .calculator-estimate--fast,
  .calculator-shell--fast .calculator-result__services-compact{
    max-width:none;
  }
}


/* DUO estimator hotfix 2026-10-14: readable estimates and live range progress */
/* Range fill is tied to the thumb position, not a hard-coded 30% red segment. */
.calculator-shell--fast .surface-editor__range::-webkit-slider-runnable-track {
  background:linear-gradient(to right, #b92d27 0%, #b92d27 var(--surface-progress, 9.57%), #b8aea3 var(--surface-progress, 9.57%), #b8aea3 100%);
}
.calculator-shell--fast .surface-editor__range::-moz-range-track {
  background:linear-gradient(to right, #b92d27 0%, #b92d27 var(--surface-progress, 9.57%), #b8aea3 var(--surface-progress, 9.57%), #b8aea3 100%);
}
/* Priced cards use a pale background. Keep the separate dark high-value variant intact. */
.calculator-shell--fast .calculator-estimate--fast.is-priced:not(.is-high-value) {
  align-items:center;
  grid-template-columns:38px minmax(0,1fr);
  background:#ddd3c6;
  border-color:rgba(54,45,38,.13);
}
.calculator-shell--fast .calculator-estimate--fast.is-priced:not(.is-high-value) > div > span {color:#776a5e}
.calculator-shell--fast .calculator-estimate--fast.is-priced:not(.is-high-value) > div > strong {
  color:#26211d;
  font-weight:510;
  line-height:1.15;
}
.calculator-shell--fast .calculator-estimate--fast.is-priced:not(.is-high-value) > div > p {
  color:#66594e;
  font-size:11px;
  line-height:1.55;
}
.calculator-shell--fast .calculator-estimate--fast.is-priced:not(.is-high-value) .calculator-estimate__icon {align-self:center}
@media(max-width:760px) {
  .calculator-shell--fast .calculator-estimate--fast.is-priced:not(.is-high-value) {grid-template-columns:32px minmax(0,1fr)}
}


/* DUO v58 — premium website chat UI refresh */
.duo-chat{right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:460}
.duo-chat__launcher{position:relative;min-width:214px;height:66px;padding:10px 14px 10px 12px;border:1px solid rgba(255,255,255,.16);border-radius:22px;background:linear-gradient(135deg,rgba(22,18,16,.96),rgba(37,29,24,.92));color:#f6f1ea;box-shadow:0 24px 70px rgba(0,0,0,.34);gap:12px;overflow:hidden;isolation:isolate}
.duo-chat__launcher:before{content:"";position:absolute;inset:auto -12% -26px auto;width:86px;height:86px;border-radius:50%;background:radial-gradient(circle,rgba(236,102,8,.32),rgba(236,102,8,0));opacity:.7;pointer-events:none;z-index:-1}
.duo-chat__launcher:hover{transform:translateY(-4px);background:linear-gradient(135deg,#171311,#241b17);border-color:rgba(255,255,255,.26);box-shadow:0 28px 76px rgba(0,0,0,.42)}
.duo-chat__launcher-icon{width:44px;height:44px;border-radius:15px;background:rgba(255,255,255,.065);border:1px solid rgba(255,255,255,.08);overflow:hidden;padding:5px}
.duo-chat__launcher-icon img{width:100%;height:100%;display:block;object-fit:contain}
.duo-chat__launcher-copy{flex:1 1 auto;text-align:left;min-width:0;padding-right:6px}
.duo-chat__launcher-copy strong{font-size:13px;line-height:1.1;font-weight:640;letter-spacing:.01em}
.duo-chat__launcher-copy small{margin-top:4px;color:#b7aea6;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.duo-chat__launcher-badge{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#ece3d9;flex:0 0 auto}
.duo-chat__launcher-badge:before{content:"";width:7px;height:7px;border-radius:50%;background:#ec6608;box-shadow:0 0 0 5px rgba(236,102,8,.18)}
.duo-chat__unread{right:-4px;top:-4px;border:2px solid #161210;background:#ec6608;min-width:22px;height:22px;font-size:9px}
.duo-chat__panel{right:0;bottom:82px;width:min(424px,calc(100vw - 28px));height:min(690px,calc(100svh - 110px));border:1px solid rgba(255,255,255,.14);border-radius:28px;background:linear-gradient(180deg,#f1ebe4 0%,#ece5db 100%);box-shadow:0 36px 100px rgba(0,0,0,.42);overflow:hidden}
.duo-chat__head{min-height:96px;padding:16px 18px;background:linear-gradient(135deg,#181310 0%,#251d19 100%);border-bottom:1px solid rgba(255,255,255,.08);align-items:flex-start}
.duo-chat__identity{gap:14px;align-items:flex-start}
.duo-chat__logo-wrap{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);padding:7px;flex:0 0 auto}
.duo-chat__logo{width:100%;height:100%;display:block;object-fit:contain}
.duo-chat__identity strong{font-size:15px;font-weight:650;line-height:1.15;color:#f7f1ea}
.duo-chat__identity small{margin-top:3px;color:#a89f95;font-size:10px;letter-spacing:.01em}
.duo-chat__presence{display:inline-flex;align-items:center;gap:7px;margin-top:9px;color:#e7ddd1;font-size:10px;font-style:normal;letter-spacing:.02em}
.duo-chat__presence i{width:8px;height:8px;border-radius:50%;background:#ec6608;box-shadow:0 0 0 6px rgba(236,102,8,.14);display:inline-block}
.duo-chat__close{width:42px;height:42px;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);flex:0 0 auto}
.duo-chat__close:hover{background:rgba(255,255,255,.11);transform:translateY(-1px)}
.duo-chat__body{padding:20px 16px 14px;background:linear-gradient(180deg,#ede6dc 0%,#f4eee6 100%)}
.duo-chat__date{margin:0 auto 16px;padding:6px 10px;background:rgba(21,18,16,.05);color:#81776f;font-size:8px;letter-spacing:.13em}
.duo-chat__messages{gap:10px}
.duo-chat__message{margin:0 0 10px}
.duo-chat__bubble{max-width:85%;padding:13px 14px 10px;border-radius:18px;box-shadow:0 8px 24px rgba(45,36,29,.06)}
.duo-chat__message.is-operator .duo-chat__bubble{background:rgba(255,255,255,.82);border:1px solid rgba(31,27,24,.06);border-bottom-left-radius:7px}
.duo-chat__message.is-visitor .duo-chat__bubble{background:linear-gradient(135deg,#1b1614,#2a201b);color:#f7f1ea;border-bottom-right-radius:7px}
.duo-chat__message.is-pending .duo-chat__bubble{opacity:.72}
.duo-chat__message.is-failed .duo-chat__bubble{outline:1px solid rgba(199,57,43,.34);background:#fff4f1;color:#3a2722}
.duo-chat__bubble p{font-size:13px;line-height:1.6}
.duo-chat__bubble time{margin-top:6px;font-size:9px;color:#8d837a}
.duo-chat__message.is-visitor .duo-chat__bubble time{color:#c3b9b0}
.duo-chat__typing{margin:12px 0 0 7px;font-size:9px;color:#7b7168}
.duo-chat__composer{padding:14px;background:rgba(250,246,240,.84);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid rgba(24,20,17,.08)}
.duo-chat__name-row{margin-bottom:10px}
.duo-chat__name-row label{gap:8px;color:#756c64;font-size:8px;letter-spacing:.11em}
.duo-chat__name-row input{width:136px;height:28px;padding:0 8px;border-bottom:1px solid #cabfb3;font-size:11px}
.duo-chat__name-row input:focus{border-color:#1d1815}
.duo-chat__input-row{grid-template-columns:minmax(0,1fr) auto;gap:10px}
.duo-chat__input-row textarea{min-height:52px;max-height:130px;padding:14px 14px;border:1px solid #d7ccbf;border-radius:16px;background:#fffdf9;box-shadow:inset 0 1px 0 rgba(255,255,255,.7);font-size:13px;line-height:1.45}
.duo-chat__input-row textarea:focus{border-color:#c68a63;box-shadow:0 0 0 4px rgba(236,102,8,.08)}
.duo-chat__input-row button{min-width:108px;height:52px;padding:0 16px;border-radius:16px;background:linear-gradient(135deg,#ec4633,#ec6608);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:9px;box-shadow:0 16px 34px rgba(236,102,8,.28)}
.duo-chat__input-row button:hover{background:linear-gradient(135deg,#ee4f3b,#ef7220);transform:translateY(-2px)}
.duo-chat__input-row button:disabled{opacity:.8;cursor:default;transform:none}
.duo-chat__send-label{font-size:11px;font-weight:650;letter-spacing:.05em;text-transform:uppercase}
.duo-chat__send-icon{display:grid;place-items:center}.duo-chat__send-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.duo-chat__input-row button.is-sending .duo-chat__send-label{opacity:.92}.duo-chat__input-row button.is-sending .duo-chat__send-icon{animation:duoChatFly 1s infinite ease-in-out}
@keyframes duoChatFly{0%,100%{transform:translateX(0)}50%{transform:translateX(2px)}}
.duo-chat__meta{margin-top:10px;font-size:9px;color:#857b72}.duo-chat__meta a{text-underline-offset:3px}
.duo-chat__error{margin-top:10px;padding:9px 10px;border-radius:12px;background:#f7dfd9;color:#9c2b21;font-size:10px}
body.duo-chat-open .duo-chat__launcher{opacity:0;pointer-events:none;transform:translateY(12px) scale(.96)}
@media(max-width:640px){.duo-chat{right:10px;left:10px;bottom:max(10px,env(safe-area-inset-bottom))}.duo-chat__launcher{margin-left:auto;min-width:188px;max-width:100%;height:62px;padding:9px 12px;border-radius:20px}.duo-chat__launcher-badge{display:none}.duo-chat__panel{left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));width:auto;height:min(700px,calc(100svh - 16px));border-radius:24px}.duo-chat__head{min-height:88px;padding:14px}.duo-chat__logo-wrap{width:50px;height:50px;border-radius:16px}.duo-chat__identity strong{font-size:14px}.duo-chat__body{padding:16px 12px 12px}.duo-chat__composer{padding:12px}.duo-chat__input-row button{min-width:52px;width:52px;padding:0;border-radius:15px}.duo-chat__send-label{display:none}.duo-chat__send-icon svg{width:18px;height:18px}.duo-chat__bubble{max-width:89%}}

/* DUO production — home estimator consultation form, 14 Oct 2026 */
.duo-callback{width:min(604px,calc(100% - 28px));max-width:none;max-height:calc(100dvh - 36px);padding:0;border:0;border-radius:27px;background:transparent;color:#29221f;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;box-shadow:0 38px 120px rgba(0,0,0,.22)}
.duo-callback::backdrop{background:rgba(13,11,10,.76);backdrop-filter:blur(11px);-webkit-backdrop-filter:blur(11px)}
.duo-callback__card{position:relative;margin:0;padding:30px 34px 28px;border:1px solid rgba(255,255,255,.58);border-radius:27px;background:linear-gradient(145deg,#f5f0e9 0%,#eae3d9 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.65);overflow:hidden}
.duo-callback__card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:#df302b;pointer-events:none}
.duo-callback__close{z-index:5;right:20px;top:20px;width:40px;height:40px;border:1px solid rgba(36,31,27,.1);border-radius:50%;background:rgba(255,255,255,.57);color:#312922;transition:transform .22s ease,background .22s ease}
.duo-callback__close:hover{transform:rotate(90deg);background:#fff}
.duo-callback__brand{display:flex;align-items:center;gap:12px;width:max-content;max-width:calc(100% - 55px);margin-bottom:28px}
.duo-callback__brand img{width:58px;height:58px;object-fit:contain;padding:7px;border-radius:16px;background:#231e1b}
.duo-callback__brand>span{display:flex;flex-direction:column;gap:3px;color:#211c18;font-size:16px;font-weight:730;line-height:1}
.duo-callback__brand em{font-size:8px;font-weight:680;letter-spacing:.19em;color:#766b61;font-style:normal}
.duo-callback__eyebrow{display:block;color:#b42d27;font-size:9px;font-weight:760;letter-spacing:.18em;text-transform:uppercase}
.duo-callback__intro h2{max-width:520px;margin:9px 0 12px;font-size:clamp(30px,4.4vw,42px);font-weight:430;line-height:1.06;letter-spacing:-.05em;color:#241f1a}
.duo-callback__intro>p{max-width:510px;margin:0;color:#746960;font-size:13px;line-height:1.63}
.duo-callback__summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:24px;padding:4px 19px;border:1px solid rgba(41,33,27,.1);border-radius:18px;background:rgba(255,255,255,.44)}
.duo-callback__summary-row{min-width:0;padding:12px 0;border-bottom:1px solid rgba(41,33,27,.08)}
.duo-callback__summary-row:nth-child(even){padding-left:16px}
.duo-callback__summary-row span{display:block;margin-bottom:5px;color:#837870;font-size:9px;font-weight:650;letter-spacing:.06em;text-transform:uppercase}
.duo-callback__summary-row strong{display:block;color:#26211d;font-size:13px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}
.duo-callback__summary-row.is-price{grid-column:1/-1;border-bottom:0;display:flex;align-items:center;justify-content:space-between;gap:12px}
.duo-callback__summary-row.is-price span{margin:0}
.duo-callback__summary-row.is-price strong{font-size:20px;font-weight:650;letter-spacing:-.025em}
.duo-callback__fields{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:21px}
.duo-callback__fields label{display:grid;gap:8px}
.duo-callback__fields label>span{font-size:10px;font-weight:720;letter-spacing:.075em;color:#6f6259;text-transform:uppercase}
.duo-callback__fields input,.duo-callback__fields select{width:100%;height:51px;padding:0 16px;border:1px solid #d8cec2;border-radius:14px;background:#fffbf7;color:#241f1b;font-size:14px;outline:0;transition:border-color .2s ease,box-shadow .2s ease}
.duo-callback__fields input::placeholder{color:#a39990}
.duo-callback__fields input:focus,.duo-callback__fields select:focus{border-color:#c95446;box-shadow:0 0 0 4px rgba(201,55,47,.09)}
.duo-callback__privacy{position:relative;grid-template-columns:21px minmax(0,1fr);gap:10px;margin-top:17px;color:#665b52;font-size:11px;line-height:1.55;align-items:start}
.duo-callback__privacy-box{width:21px;height:21px;border-radius:6px;background:rgba(255,255,255,.72)}
.duo-callback__privacy input:focus-visible+.duo-callback__privacy-box{outline:3px solid rgba(199,50,43,.34);outline-offset:3px}
.duo-callback__privacy input:checked+.duo-callback__privacy-box{background:#d82f2a;border-color:#d82f2a}
.duo-callback__privacy a{color:#9b241f;font-weight:650}
.duo-callback__error{margin-top:13px;padding:12px 13px;border-radius:13px;background:#f9ded9;color:#9b281f;font-size:12px}
.duo-callback__submit{position:relative;width:100%;min-height:53px;margin-top:21px;border-radius:14px;background:#df302b;color:#fff;box-shadow:0 14px 30px rgba(209,38,34,.16);gap:12px;font-size:11px;font-weight:750;letter-spacing:.07em;transition:background .2s,transform .2s,box-shadow .2s}
.duo-callback__submit:hover{background:#bc2621;transform:translateY(-2px);box-shadow:0 19px 36px rgba(209,38,34,.2)}
.duo-callback__submit:disabled{opacity:.7;cursor:wait;transform:none}
.duo-callback__submit.is-loading:after{content:"";width:14px;height:14px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:duoCallbackSpinner .8s linear infinite}
@keyframes duoCallbackSpinner{to{transform:rotate(360deg)}}
.duo-callback [hidden]{display:none!important}
.duo-callback.is-success .duo-callback__card{padding:42px 30px 35px;background:linear-gradient(165deg,#f6f1eb,#eee7de)}
.duo-callback__success{display:flex;flex-direction:column;align-items:center;text-align:center;padding:19px 6px 6px;animation:duoCallbackSuccess .44s cubic-bezier(.21,.84,.2,1) both}
@keyframes duoCallbackSuccess{from{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}
.duo-callback__success-icon{width:77px;height:77px;margin:0 auto 20px;border-radius:24px;background:#e4ede5;border:1px solid #bbd4bf;color:#297147;display:grid;place-items:center;box-shadow:0 13px 32px rgba(46,119,67,.08)}
.duo-callback__success-icon .ui-icon{width:35px;height:35px;fill:none;stroke:currentColor;stroke-width:1.85}
.duo-callback__success-label{color:#806f61;font-size:10px;font-weight:750;letter-spacing:.2em}
.duo-callback__success h3{margin:11px 0 12px;max-width:440px;color:#26201b;font-size:clamp(29px,5vw,42px);font-weight:440;line-height:1.08;letter-spacing:-.045em;outline:0}
.duo-callback__success p{max-width:445px;margin:0;color:#6d6259;font-size:14px;line-height:1.65}
.duo-callback__success-recap{margin-top:23px;padding:11px 20px;border:1px solid rgba(36,30,24,.11);border-radius:999px;background:#fff9f1;color:#3b322b;font-size:12px;font-weight:650}
.duo-callback__reference{margin-top:13px;font-size:10px;color:#998b7c;letter-spacing:.09em}
.duo-callback__success button{display:flex;align-items:center;justify-content:center;gap:11px;min-height:50px;margin-top:27px;padding:0 28px;border-radius:14px;background:#27201c;color:#f6eee6;font-size:12px;font-weight:700;cursor:pointer;transition:background .2s,transform .2s}
.duo-callback__success button:hover{background:#3c312a;transform:translateY(-2px)}
.duo-callback__success button svg{width:17px;height:17px}
@media(max-width:640px){.duo-callback{width:calc(100% - 20px);max-height:calc(100dvh - 20px);border-radius:22px}.duo-callback__card{padding:22px 18px 20px;border-radius:22px}.duo-callback__brand{margin-bottom:20px;gap:10px}.duo-callback__brand img{width:48px;height:48px;border-radius:13px}.duo-callback__intro h2{font-size:30px}.duo-callback__intro>p{font-size:12px}.duo-callback__summary{padding:3px 13px;margin-top:17px;border-radius:15px}.duo-callback__summary-row{padding:9px 0}.duo-callback__summary-row:nth-child(even){padding-left:12px}.duo-callback__summary-row strong{font-size:12px}.duo-callback__summary-row.is-price strong{font-size:18px}.duo-callback__fields{gap:12px;margin-top:15px;grid-template-columns:1fr}.duo-callback__fields input,.duo-callback__fields select{height:47px}.duo-callback__privacy{margin-top:13px;font-size:10px}.duo-callback__submit{min-height:50px;margin-top:15px}.duo-callback.is-success .duo-callback__card{padding:38px 22px 26px}.duo-callback__success{padding:16px 0 4px}.duo-callback__success-icon{width:66px;height:66px;border-radius:20px}.duo-callback__success h3{font-size:31px}.duo-callback__success p{font-size:13px}}
@media(prefers-reduced-motion:reduce){.duo-callback__success{animation:none}.duo-callback__submit.is-loading:after{animation:none}}


/* DUO 2026 production — clear privacy notice for every lead form */
.duo-data-notice{--privacy-accent:#bf342d;position:relative;margin:16px 0 4px;padding:16px 18px;border:1px solid rgba(47,36,29,.12);border-radius:16px;background:linear-gradient(135deg,rgba(255,255,255,.76),rgba(248,243,236,.9));color:#302822;box-shadow:0 7px 25px rgba(34,27,22,.035);transition:border-color .22s ease,box-shadow .22s ease}
.duo-data-notice__heading{display:flex;align-items:center;gap:9px;color:#372c26;font-size:12px;font-weight:750;letter-spacing:.005em}
.duo-data-notice__shield{width:28px;height:28px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;background:#eee7dc;color:#6a5142}
.duo-data-notice__shield svg{width:17px;height:17px}
.duo-data-notice__description{margin:8px 0 14px;color:#74695f;font-size:11px;line-height:1.65}
.duo-data-notice__choice-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-top:13px;border-top:1px solid rgba(43,34,28,.10)}
.duo-data-notice__choice{position:relative;display:flex;align-items:flex-start;gap:10px;min-width:0;flex:1 1 auto;color:#41362f;font-size:11px;font-weight:650;line-height:1.48;cursor:pointer}
.duo-data-notice__checkbox{position:absolute;inline-size:22px;block-size:22px;opacity:0;top:0;left:0;cursor:pointer}
.duo-data-notice__box{width:22px;height:22px;display:grid;place-items:center;flex:0 0 auto;border:1.4px solid #aea198;border-radius:7px;background:#fffdf9;color:transparent;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.duo-data-notice__box .ui-icon{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round}
.duo-data-notice__checkbox:checked+.duo-data-notice__box{background:#302722;border-color:#302722;color:#fff}
.duo-data-notice__checkbox:focus-visible+.duo-data-notice__box{outline:3px solid rgba(191,52,45,.3);outline-offset:3px}
.duo-data-notice__required{color:#ba3029;font-weight:800}
.duo-data-notice__link{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;color:#992e28;font-size:11px;line-height:1.5;font-weight:720;text-decoration:underline;text-underline-offset:3px}
.duo-data-notice__link:hover{color:#6e231f}
.duo-data-notice__link:focus-visible{outline:2px solid #b73631;outline-offset:4px;border-radius:3px}
.duo-data-notice__feedback{display:block;margin-top:10px;color:#aa2c26;font-size:11px;line-height:1.5;font-weight:680}
.duo-data-notice__feedback[hidden]{display:none!important}
.duo-data-notice.is-invalid{border-color:rgba(193,53,46,.55);box-shadow:0 0 0 3px rgba(193,53,46,.06)}
.duo-data-notice--brief{margin-top:14px}
.duo-chat__privacy-note{display:flex;align-items:flex-start;gap:9px;margin:0 0 12px;padding:10px 11px;border:1px solid rgba(36,29,24,.075);border-radius:12px;background:#efe8dd;color:#665c53}
.duo-chat__privacy-note-icon{width:19px;height:19px;display:grid;place-items:center;flex:0 0 auto;color:#685144}
.duo-chat__privacy-note-icon svg{width:17px;height:17px}
.duo-chat__privacy-note p{margin:0;font-size:10px;line-height:1.5}
.duo-chat__privacy-note a{color:#78342c;font-weight:710;text-decoration:underline;text-underline-offset:2px}
.duo-chat__privacy-note a:focus-visible{outline:2px solid #ae4737;outline-offset:3px}
@media(max-width:640px){.duo-data-notice{margin-top:13px;padding:13px;border-radius:14px}.duo-data-notice__heading{font-size:11px}.duo-data-notice__description{font-size:10px;margin-bottom:11px}.duo-data-notice__choice-row{flex-wrap:wrap;gap:7px}.duo-data-notice__choice{flex-basis:100%;font-size:10.5px}.duo-data-notice__link{margin-left:32px;font-size:10px}.duo-chat__privacy-note{padding:9px;margin-bottom:9px}.duo-chat__privacy-note p{font-size:9px}}
@media(prefers-reduced-motion:reduce){.duo-data-notice,.duo-data-notice__box{transition:none}}
/* DUO Privacy Center 2026 · accessible, consent-neutral redesign.
   Scoped: cookie notice and privacy preference dialog only. */
.privacy-banner.cookie-banner{
  --privacy-ink:#292521;--privacy-muted:#68615b;--privacy-line:rgba(37,32,28,.12);
  position:fixed;left:max(22px,env(safe-area-inset-left));right:auto;
  bottom:max(22px,env(safe-area-inset-bottom));z-index:10020;
  width:min(468px,calc(100vw - 44px));max-height:min(86svh,780px);overflow:auto;
  padding:24px 24px 19px;background:#f0eae2;color:var(--privacy-ink);
  border:1px solid rgba(255,255,255,.74);border-radius:25px;
  box-shadow:0 30px 96px rgba(14,11,9,.29),0 1px 0 rgba(255,255,255,.72) inset;
  -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
  scrollbar-width:thin;animation:duoPrivacyEntrance .42s cubic-bezier(.22,1,.36,1) both;
}
.privacy-banner.cookie-banner[hidden]{display:none!important}
@keyframes duoPrivacyEntrance{from{opacity:0;transform:translate3d(0,22px,0) scale(.975)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
.privacy-banner__top{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:23px}
.privacy-banner__brand{display:flex;align-items:center;gap:11px;min-width:0;color:#22201e;font-size:13px;font-weight:780;line-height:1.13;letter-spacing:.02em}
.privacy-banner__brand img{display:block;width:43px;height:43px;object-fit:contain;border:1px solid var(--privacy-line);border-radius:12px;background:#fff;padding:4px;flex:none}
.privacy-banner__brand small{font-size:8px;letter-spacing:.13em;font-weight:620;color:#8b7d74}
.privacy-banner__secure{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--privacy-line);background:rgba(255,255,255,.45);border-radius:14px;color:#786f64;flex:0 0 auto}
.privacy-banner__secure svg{width:21px;height:21px}
.privacy-banner__copy h2{margin:0;font-size:clamp(23px,2vw,28px);font-weight:620;line-height:1.17;letter-spacing:-.045em;color:#251f1b}
.privacy-banner__copy p{max-width:48ch;margin:10px 0 0;font-size:12.5px;line-height:1.62;color:var(--privacy-muted)}
.privacy-banner__status{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:17px 0 21px;padding:10px 12px;border:1px solid rgba(37,32,28,.08);border-radius:12px;background:rgba(255,255,255,.43);font-size:10px;color:#62594f;line-height:1.3}
.privacy-banner__status-dot{display:block;width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:#4c7961;box-shadow:0 0 0 3px rgba(76,121,97,.11)}
.privacy-banner__status-separator{width:1px;height:13px;background:#c3b9ae;margin:0 2px}
.privacy-banner .privacy-banner__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.privacy-banner .privacy-banner__actions button{min-height:47px;min-width:0;padding:10px 12px;border:1px solid #b6aaa1;border-radius:14px;color:#28221f;background:transparent;cursor:pointer;font-size:10.5px;font-weight:740;letter-spacing:.015em;text-transform:none;line-height:1.3;transition:background .2s ease,transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.privacy-banner .privacy-banner__actions button:hover{transform:translateY(-2px);border-color:#887c71;background:rgba(255,255,255,.5)}
.privacy-banner .privacy-banner__actions .privacy-banner__accept{grid-column:auto;margin:0;background:#bb3031;color:#fff;border-color:#bb3031}
.privacy-banner .privacy-banner__actions .privacy-banner__accept:hover{background:#a8292b;border-color:#a8292b;box-shadow:0 9px 22px rgba(147,27,32,.17)}
.privacy-banner .privacy-banner__actions .privacy-banner__customize{grid-column:1/-1;display:flex;justify-content:center;align-items:center;gap:10px;background:rgba(255,255,255,.48);border-color:rgba(37,32,28,.10)}
.privacy-banner__customize svg{width:16px;height:16px;color:#a33638;flex:0 0 auto}
.privacy-banner__links{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:9px 20px;margin-top:16px;padding-top:14px;border-top:1px solid var(--privacy-line)}
.privacy-banner__links a{display:inline-flex;min-height:26px;align-items:center;font-size:10px;font-weight:570;color:#5c5650;border-bottom:1px solid transparent;text-underline-offset:3px}
.privacy-banner__links a:hover{text-decoration:underline;color:#ad2c30}
.privacy-banner :is(button,a):focus-visible,.privacy-center :is(button,a,input,summary):focus-visible{outline:3px solid #d45a56;outline-offset:3px}
/* Preferences dialog */
.privacy-center{width:min(850px,calc(100vw - 24px));max-height:calc(100svh - 24px);overflow:visible;border-radius:25px;color:#2b2622}
.privacy-center::backdrop{background:rgba(16,12,10,.7);backdrop-filter:blur(8px)}
.privacy-center__panel{max-height:calc(100svh - 24px);border:1px solid rgba(255,255,255,.56);border-radius:25px;background:#efe9e2;box-shadow:0 36px 115px rgba(0,0,0,.37)}
.privacy-center__head{padding:25px 28px 23px;gap:18px;background:linear-gradient(145deg,rgba(255,255,255,.38),rgba(255,255,255,.08));border-bottom:1px solid rgba(37,32,28,.11)}
.privacy-center__brand{display:flex;align-items:flex-start;gap:18px;min-width:0}
.privacy-center__brand>img{width:54px;height:54px;object-fit:contain;border:1px solid rgba(37,32,28,.13);border-radius:15px;padding:5px;background:#fff;flex:0 0 auto}
.privacy-center__brand>div{min-width:0}
.privacy-center__brand span{display:block;font-size:9px;font-weight:760;letter-spacing:.11em;text-transform:uppercase;color:#867a6f}
.privacy-center__brand h2{margin:9px 0 7px;font-size:clamp(26px,3.4vw,36px);line-height:1.08;font-weight:580;letter-spacing:-.042em;color:#211b18}
.privacy-center__brand p{font-size:12px;line-height:1.6;color:#71695f}
.privacy-center .privacy-center__close{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(37,32,28,.13);border-radius:13px;color:#413b36;background:rgba(255,255,255,.5);flex:0 0 auto;transition:transform .2s ease,background .2s ease}
.privacy-center__close:hover{transform:rotate(90deg);background:#fff}
.privacy-center__close svg{width:17px;height:17px}
.privacy-center__body{padding:23px 28px 26px;scrollbar-color:#b4a99d transparent;scrollbar-width:thin}
.privacy-center__hero{grid-template-columns:1.15fr .85fr;gap:12px;margin-bottom:15px}
.privacy-center__hero>div{min-height:134px;border-radius:17px;background:rgba(255,255,255,.43);border-color:rgba(37,32,28,.09);padding:19px}
.privacy-center__hero strong{font-size:17px;font-weight:620}
.privacy-center__hero p{font-size:11px;line-height:1.6}
.privacy-center__law{background:#29231f!important}
.privacy-center__law p{color:#ded6cb!important}
.privacy-center__section{padding:22px 0}
.privacy-center__section-head{margin-bottom:15px;align-items:center}
.privacy-center__section-head h3{font-size:21px;font-weight:590}
.privacy-center__section-head>p{font-size:11px;line-height:1.6}
.privacy-switch-row{grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:17px 15px;margin:0 0 9px;border:1px solid rgba(37,32,28,.09);border-radius:15px;background:rgba(255,255,255,.45)}
.privacy-switch-row>div strong{font-size:13px;font-weight:700}
.privacy-switch-row>div small{margin-top:6px;font-size:11px;line-height:1.6}
.privacy-switch{width:49px;height:28px;background:#c9bfb5}
.privacy-switch:after{width:22px;height:22px}
.privacy-switch-row input:checked+.privacy-switch{background:#b82d31}
.privacy-switch-row input:checked+.privacy-switch:after{transform:translateX(21px)}
.privacy-status{min-width:58px;height:28px;background:#e6ded4;padding:0 8px;font-size:9px}
.privacy-consent-record{padding:12px 3px 0;color:#766d63;font-size:9px}
.privacy-center__cookie-actions{display:flex;justify-content:stretch;gap:10px;margin-top:18px}
.privacy-center__cookie-actions button{flex:1;min-height:47px;border-radius:13px;border:1px solid #b8ada0;font-size:10.5px;letter-spacing:.015em;text-transform:none;font-weight:720}
.privacy-center__cookie-actions .cookie-save{min-height:47px;width:auto;margin:0;background:#bd3031;border-color:#bd3031;color:#fff}
.privacy-center__cookie-actions .cookie-save:hover{background:#a6292b}
.privacy-copy-grid p{padding:16px;font-size:11px;line-height:1.7;background:#f5f0e9}
.privacy-rights-copy{font-size:11px;line-height:1.75}
.privacy-center__legal-actions a,.privacy-center__company summary{font-size:10px}
.privacy-center__footer{padding:15px 28px;background:rgba(255,255,255,.45)}
.privacy-center__footer span{font-size:10px}
.privacy-center__footer button{min-height:35px;font-size:10px}
@media(max-width:760px){
 .privacy-banner.cookie-banner{left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));width:auto;max-height:calc(100svh - 20px);padding:20px;border-radius:20px}
 .privacy-banner__top{margin-bottom:17px}.privacy-banner__copy h2{font-size:25px}
 .privacy-banner .privacy-banner__actions{grid-template-columns:1fr 1fr}
 .privacy-banner .privacy-banner__actions button{min-height:47px;font-size:10px}
 .privacy-banner .privacy-banner__actions .privacy-banner__customize{grid-column:1/-1}
 .privacy-center{width:calc(100vw - 12px);max-height:calc(100svh - 12px)}
 .privacy-center__panel{max-height:calc(100svh - 12px);border-radius:19px}
 .privacy-center__head{padding:18px 16px;gap:10px}
 .privacy-center__brand{gap:10px}.privacy-center__brand>img{width:42px;height:42px;border-radius:12px}
 .privacy-center__brand span{font-size:8px}.privacy-center__brand h2{font-size:25px;margin:6px 0}.privacy-center__brand p{font-size:11px}
 .privacy-center .privacy-center__close{width:38px;height:38px}
 .privacy-center__body{padding:17px 16px 20px}
 .privacy-center__hero{grid-template-columns:1fr}.privacy-center__hero>div{min-height:unset;padding:16px}
 .privacy-center__section-head>p{text-align:left;margin-top:8px;font-size:11px}
 .privacy-switch-row{padding:15px 12px}
 .privacy-center__cookie-actions{display:grid;grid-template-columns:1fr}
 .privacy-center__cookie-actions button{width:100%;min-height:47px}
 .privacy-center__footer{padding:12px 16px}
}
@media(max-width:370px){.privacy-banner.cookie-banner{padding:17px 15px}.privacy-banner__status{font-size:9px}.privacy-banner .privacy-banner__actions button{font-size:9.5px;padding:8px}.privacy-banner__copy h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){.privacy-banner.cookie-banner{animation:none}.privacy-banner .privacy-banner__actions button,.privacy-center__close{transition:none}}
