
:root{--bg:#050505;--ink:#f4efe6;--muted:#aaa49a;--gold:#d6af57;--gold2:#f1d58c;--line:rgba(214,175,87,.22);--glass:rgba(12,12,12,.58);--ease:cubic-bezier(.16,1,.3,1);--pad:clamp(18px,4vw,62px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:#050505}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}img,video{display:block;width:100%;height:100%;object-fit:cover}button{font:inherit}
.noise{position:fixed;inset:0;pointer-events:none;z-index:99;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E")}
.progress{position:fixed;top:0;left:0;height:2px;background:linear-gradient(90deg,var(--gold),var(--gold2));width:0;z-index:120}
.cursorGlow{position:fixed;width:420px;height:420px;border-radius:50%;pointer-events:none;z-index:1;background:radial-gradient(circle,rgba(214,175,87,.08),transparent 68%);transform:translate(-50%,-50%);mix-blend-mode:screen}
.shell{width:min(1450px,calc(100% - 34px));margin:auto}.eyebrow{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold2);font-weight:800}.display{font-family:Arial Black,Impact,system-ui,sans-serif;text-transform:uppercase;letter-spacing:-.065em;line-height:.84;margin:0}.serif{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400}.muted{color:var(--muted)}.outline{color:transparent;-webkit-text-stroke:1px rgba(244,239,230,.75)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:14px 19px;border-radius:999px;border:1px solid var(--line);font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:850;transition:.45s var(--ease);backdrop-filter:blur(10px);position:relative;overflow:hidden}.btn:after{content:'';position:absolute;inset:0;background:var(--gold);transform:translateY(105%);transition:.45s var(--ease);z-index:-1}.btn:hover{color:#090909;transform:translateY(-3px);border-color:var(--gold)}.btn:hover:after{transform:none}.btn.gold{background:var(--gold);color:#090909;border-color:var(--gold)}
.header{position:fixed;top:14px;left:0;right:0;z-index:90}.nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:10px 12px 10px 14px;border:1px solid var(--line);border-radius:999px;background:rgba(5,5,5,.66);backdrop-filter:blur(22px) saturate(1.2);box-shadow:0 20px 80px rgba(0,0,0,.28)}.brand{display:flex;gap:10px;align-items:center}.brand img{width:38px;height:38px;object-fit:contain}.brand strong{font-size:10px;letter-spacing:.18em}.navcenter{display:flex;gap:28px;font-size:9px;letter-spacing:.14em;text-transform:uppercase}.navright{justify-self:end}
.hero{min-height:110svh;position:relative;overflow:hidden;display:flex;align-items:flex-end;border-bottom:1px solid var(--line)}.heroBg{position:absolute;inset:-6%}.heroBg img{filter:saturate(.82) contrast(1.06);transform:scale(1.05)}.heroBg:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,2,2,.92),rgba(2,2,2,.47) 48%,rgba(2,2,2,.18) 76%),linear-gradient(0deg,#050505 0%,transparent 48%,rgba(0,0,0,.18))}.heroAura{position:absolute;right:-12vw;top:18vh;width:56vw;height:56vw;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(214,175,87,.22),rgba(214,175,87,.05) 34%,transparent 65%);filter:blur(22px);animation:breathe 7s ease-in-out infinite alternate}@keyframes breathe{to{transform:scale(1.1) translate(-2%,3%);opacity:.6}}
.heroInner{position:relative;z-index:3;padding:150px 0 62px;width:100%}.heroTopline{display:flex;justify-content:space-between;align-items:center;margin-bottom:44px}.futurePill{font-size:9px;letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--line);border-radius:999px;padding:9px 12px;background:rgba(0,0,0,.28);backdrop-filter:blur(10px)}.heroTitle{font-size:clamp(70px,12vw,190px);max-width:1280px;position:relative}.heroTitle .line2{margin-left:12vw;display:block}.heroTitle .serif{font-size:.42em;letter-spacing:-.02em;text-transform:none;color:var(--gold2);vertical-align:middle;display:inline-block;transform:translateY(-.08em);margin-left:.06em}.heroBottom{display:grid;grid-template-columns:1fr minmax(280px,420px);gap:40px;align-items:end;margin-top:40px}.heroLead{font-size:clamp(16px,1.5vw,21px);max-width:620px;color:#d5cfc6}.heroActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.floatCard{justify-self:end;width:min(360px,100%);aspect-ratio:4/5;border:1px solid var(--line);border-radius:22px;overflow:hidden;position:relative;transform:rotate(4deg);box-shadow:0 40px 100px rgba(0,0,0,.5);transition:.6s var(--ease);background:#111}.floatCard:hover{transform:rotate(0) translateY(-8px)}.floatCard:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 50%,rgba(0,0,0,.9))}.floatCopy{position:absolute;z-index:3;left:18px;right:18px;bottom:18px}.floatCopy h3{margin:4px 0 0;text-transform:uppercase;font-size:28px;letter-spacing:-.04em}.orbit{position:absolute;right:8vw;top:22vh;width:250px;height:250px;border:1px solid rgba(214,175,87,.26);border-radius:50%;animation:spin 18s linear infinite}.orbit:before,.orbit:after{content:'';position:absolute;border:1px solid rgba(214,175,87,.18);border-radius:50%;inset:24px}.orbit:after{inset:58px}@keyframes spin{to{transform:rotate(360deg)}}
.kinetic{overflow:hidden;border-block:1px solid var(--line);background:#080808}.kineticTrack{display:flex;width:max-content;animation:marquee 20s linear infinite}.kinetic span{font-family:Arial Black,Impact,sans-serif;font-size:clamp(42px,6vw,92px);text-transform:uppercase;letter-spacing:-.055em;padding:14px 22px;white-space:nowrap}.kinetic i{color:transparent;-webkit-text-stroke:1px rgba(214,175,87,.65);font-style:normal}@keyframes marquee{to{transform:translateX(-50%)}}
.section{padding:120px 0;position:relative}.sectionHead{display:grid;grid-template-columns:1fr .62fr;gap:50px;align-items:end;margin-bottom:48px}.sectionHead h2{font-size:clamp(56px,8vw,126px)}.sectionHead p{font-size:17px;line-height:1.6;max-width:560px}
.storyScroll{min-height:310vh;border-block:1px solid var(--line);background:linear-gradient(180deg,#080808,#050505)}.storySticky{position:sticky;top:0;height:100svh;display:grid;grid-template-columns:1fr 1fr;overflow:hidden}.storyCopy{padding:clamp(100px,12vh,150px) var(--pad) 50px;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}.storyCopy h2{font-size:clamp(58px,8.8vw,142px)}.storyCopy .serif{font-size:.38em;color:var(--gold2);text-transform:none;letter-spacing:-.02em}.storySteps{margin-top:36px;display:grid;gap:14px;max-width:580px}.storyStep{padding:14px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:52px 1fr;gap:14px;opacity:.38;transition:.45s}.storyStep.active{opacity:1;transform:translateX(8px)}.storyVisual{position:relative;overflow:hidden}.storyVisual img{position:absolute;inset:0;opacity:0;transform:scale(1.06);transition:1s var(--ease);filter:saturate(.84)}.storyVisual img.active{opacity:1;transform:scale(1)}.storyVisual:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#050505 0%,transparent 20%),linear-gradient(0deg,rgba(0,0,0,.5),transparent 40%)}.storyCounter{position:absolute;z-index:3;right:28px;bottom:28px;font-family:Georgia,serif;font-style:italic;color:var(--gold2);font-size:46px}
.antiGrid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;align-items:start}.tile{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:#0e0e0e;transform-style:preserve-3d;transition:.65s var(--ease);min-height:380px}.tile img{transition:.8s var(--ease);filter:saturate(.88)}.tile:hover img{transform:scale(1.055)}.tile:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(0,0,0,.92))}.tileCopy{position:absolute;z-index:3;left:22px;right:22px;bottom:20px}.tileCopy h3{font-size:clamp(24px,3vw,48px);letter-spacing:-.05em;text-transform:uppercase;margin:5px 0}.tile .num{position:absolute;z-index:3;top:18px;left:18px;border:1px solid rgba(255,255,255,.26);border-radius:50%;width:42px;height:42px;display:grid;place-items:center;font-size:10px;background:rgba(0,0,0,.35);backdrop-filter:blur(8px)}.t1{grid-column:span 7;min-height:760px}.t2{grid-column:9/span 4;min-height:470px;margin-top:110px}.t3{grid-column:2/span 4;min-height:520px;margin-top:-140px}.t4{grid-column:7/span 6;min-height:650px;margin-top:60px}
.materialBand{padding:60px 0;border-block:1px solid var(--line);overflow:hidden;background:radial-gradient(circle at 20% 30%,rgba(214,175,87,.09),transparent 35%),#090909}.materialRail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,29vw);gap:14px;overflow-x:auto;padding:0 17px 16px;scroll-snap-type:x mandatory}.materialRail::-webkit-scrollbar{height:4px}.materialRail::-webkit-scrollbar-thumb{background:var(--gold)}.materialCard{scroll-snap-align:start;aspect-ratio:4/5;border-radius:24px;overflow:hidden;border:1px solid var(--line);position:relative}.materialCard:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(0,0,0,.92))}.materialCard .copy{position:absolute;z-index:3;left:18px;right:18px;bottom:18px}.materialCard h3{margin:4px 0;text-transform:uppercase;font-size:27px;letter-spacing:-.04em}.materialCard img{transition:.8s var(--ease)}.materialCard:hover img{transform:scale(1.06) rotate(.5deg)}
.cine{height:min(88vh,900px);position:relative;overflow:hidden;border-block:1px solid var(--line)}.cine video{filter:saturate(.72) contrast(1.08)}.cine:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.78),transparent 58%),linear-gradient(90deg,rgba(0,0,0,.42),transparent 42%)}.cineCopy{position:absolute;z-index:3;left:var(--pad);right:var(--pad);bottom:42px;display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.cineCopy h2{font-size:clamp(58px,9vw,140px);max-width:1100px}.playPill{width:86px;height:86px;border:1px solid rgba(255,255,255,.32);border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.32);backdrop-filter:blur(12px);font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.services{border-top:1px solid var(--line)}.service{display:grid;grid-template-columns:76px 1fr 1fr 56px;gap:22px;align-items:center;padding:25px 0;border-bottom:1px solid var(--line);transition:.45s var(--ease);position:relative}.service:before{content:'';position:absolute;left:0;right:0;top:0;bottom:0;background:linear-gradient(90deg,rgba(214,175,87,.08),transparent);transform:scaleX(0);transform-origin:left;transition:.45s var(--ease);z-index:-1}.service:hover:before{transform:scaleX(1)}.service:hover{padding-left:14px}.service h3{margin:0;font-size:clamp(24px,3.2vw,46px);text-transform:uppercase;letter-spacing:-.045em}.service p{margin:0;color:var(--muted)}.service b{font-size:25px;color:var(--gold)}.service .num{font-size:10px;color:var(--gold2)}
.futureGrid{display:grid;grid-template-columns:1.1fr .9fr;gap:14px}.futurePanel{min-height:560px;border:1px solid var(--line);border-radius:24px;overflow:hidden;position:relative;padding:clamp(28px,5vw,64px);background:radial-gradient(circle at 80% 20%,rgba(214,175,87,.11),transparent 36%),#0a0a0a}.futurePanel h2{font-size:clamp(54px,7vw,104px)}.futurePanel .rings{position:absolute;right:-100px;bottom:-100px;width:400px;height:400px;border-radius:50%;border:1px solid var(--line);box-shadow:0 0 0 50px rgba(214,175,87,.025),0 0 0 100px rgba(214,175,87,.018)}.futureImage{min-height:560px;border-radius:24px;overflow:hidden;border:1px solid var(--line);position:relative}.futureImage:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.65),transparent 54%)}.futureImage .quote{position:absolute;z-index:3;left:28px;right:28px;bottom:28px;font-family:Georgia,serif;font-size:clamp(26px,3vw,42px);font-style:italic;line-height:1.04}
.estimate{display:grid;grid-template-columns:1fr 1fr;min-height:680px;border:1px solid var(--line);border-radius:26px;overflow:hidden}.estimateVisual{position:relative}.estimateVisual:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.85),transparent 55%)}.estimateCopy{position:absolute;z-index:3;left:32px;bottom:32px;right:32px}.estimateCopy h2{font-size:clamp(54px,7.2vw,112px)}.form{padding:clamp(28px,5vw,64px);background:#0b0b0b;display:flex;flex-direction:column;justify-content:center}.form h3{font-size:30px;margin:8px 0 20px}.choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice{border:1px solid var(--line);border-radius:14px;padding:14px;cursor:pointer;transition:.35s}.choice:hover,.choice.selected{background:var(--gold);color:#090909;transform:translateY(-2px)}.input{width:100%;background:#070707;border:1px solid var(--line);color:white;padding:14px;border-radius:12px;margin-bottom:10px}.formNav{display:flex;justify-content:space-between;gap:10px;margin-top:18px}.formStep{display:none}.formStep.active{display:block;animation:rise .55s var(--ease)}@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.dots{display:flex;gap:6px;margin-bottom:18px}.dot{height:3px;flex:1;background:#2a2a2a}.dot.on{background:var(--gold)}
.footer{padding:60px 0 120px;border-top:1px solid var(--line)}.footerGrid{display:grid;grid-template-columns:1fr auto auto;gap:70px}.footerBrand{display:flex;align-items:center;gap:12px}.footerBrand img{width:58px;height:58px;object-fit:contain}.floating{position:fixed;right:18px;bottom:18px;z-index:70;display:flex;gap:8px;align-items:center}.floatMain{background:var(--gold);color:#080808;padding:13px 17px;border-radius:999px;font-size:9px;letter-spacing:.13em;text-transform:uppercase;font-weight:900;box-shadow:0 18px 60px rgba(0,0,0,.35)}.floatBubble{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:rgba(8,8,8,.8);backdrop-filter:blur(12px);display:grid;place-items:center}
.reveal{opacity:0;transform:translateY(36px);transition:1s var(--ease)}.reveal.visible{opacity:1;transform:none}.split span{display:inline-block;transform:translateY(120%);opacity:0;transition:1s var(--ease)}.split.visible span{transform:none;opacity:1}.split span:nth-child(2){transition-delay:.08s}.split span:nth-child(3){transition-delay:.16s}
@media(max-width:900px){.navcenter{display:none}.hero{min-height:100svh}.heroTitle{font-size:clamp(62px,18vw,125px)}.heroTitle .line2{margin-left:0}.heroBottom{grid-template-columns:1fr}.floatCard{display:none}.orbit{opacity:.5;right:-80px;top:22vh}.section{padding:84px 0}.sectionHead{grid-template-columns:1fr;gap:20px}.storySticky{grid-template-columns:1fr;height:100svh}.storyCopy{position:absolute;inset:0;z-index:4;justify-content:flex-end;padding:90px 20px 26px;background:linear-gradient(0deg,rgba(0,0,0,.86),transparent 66%)}.storyCopy h2{font-size:clamp(52px,14vw,92px)}.storySteps{display:none}.storyVisual:after{background:linear-gradient(0deg,rgba(0,0,0,.72),transparent 55%)}.antiGrid{display:block}.tile{min-height:62svh;margin:0 0 14px!important}.materialRail{grid-auto-columns:78vw}.service{grid-template-columns:48px 1fr 34px}.service p{display:none}.futureGrid,.estimate{grid-template-columns:1fr}.futurePanel,.futureImage{min-height:500px}.estimateVisual{min-height:520px}.footerGrid{grid-template-columns:1fr;gap:28px}.cursorGlow{display:none}.cineCopy{bottom:22px}.playPill{width:64px;height:64px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal,.split span{opacity:1!important;transform:none!important}}


/* ===== FINAL REFINEMENT V2 ===== */
.mobileMenuBtn{display:none;background:none;border:1px solid var(--line);color:#fff;border-radius:999px;padding:10px 13px;font:800 9px/1 Arial,sans-serif;letter-spacing:.16em}
.mobileMenu{position:fixed;inset:0;background:#050505;z-index:999;opacity:0;visibility:hidden;transition:.55s var(--ease)}
.mobileMenu.open{opacity:1;visibility:visible}
.mobileMenuInner{min-height:100%;padding:24px;display:flex;flex-direction:column}
.mobileMenuTop{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.18em}
.mobileMenuTop button{background:none;color:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 12px}
.mobileMenu nav{display:flex;flex-direction:column;margin:auto 0;gap:4px}
.mobileMenu nav a{font-family:Arial Black,Impact,sans-serif;font-size:clamp(46px,15vw,86px);line-height:.92;letter-spacing:-.06em;text-transform:uppercase;color:#fff}
.mobileMenu nav a:last-child{color:var(--gold)}
.mobileMenuFoot{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:16px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#aaa}

.heroSignature{position:absolute;inset:0;z-index:2;pointer-events:none}
.sigLine{position:absolute;border:1px solid rgba(214,175,87,.18);border-radius:50%;transform:rotate(-12deg)}
.sigLine1{width:52vw;height:52vw;right:-15vw;top:4vh;animation:sigFloat 9s ease-in-out infinite alternate}
.sigLine2{width:33vw;height:33vw;right:5vw;top:19vh;animation:sigFloat 7s ease-in-out infinite alternate-reverse}
.sigTag{position:absolute;right:5vw;top:47%;writing-mode:vertical-rl;font-size:8px;letter-spacing:.25em;color:rgba(255,255,255,.55)}
@keyframes sigFloat{to{transform:rotate(-5deg) translate3d(-2vw,2vh,0)}}
.heroTitle{filter:drop-shadow(0 25px 45px rgba(0,0,0,.45))}
.heroInner:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,var(--gold),transparent 36%)}

.projectMeta{position:absolute;left:22px;right:22px;top:20px;z-index:4;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.16em;text-transform:uppercase}
.projectHover{position:absolute;inset:0;z-index:3;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.92));display:flex;align-items:flex-end;padding:26px;opacity:0;transition:.5s var(--ease)}
.projectHover div{display:flex;width:100%;justify-content:space-between;align-items:end;gap:12px;transform:translateY(12px);transition:.5s var(--ease)}
.projectHover small{color:#bbb;letter-spacing:.12em;text-transform:uppercase}
.projectHover strong{font-size:10px;letter-spacing:.13em}
.tile:hover .projectHover{opacity:1}.tile:hover .projectHover div{transform:none}

.baSection{padding:130px 0;border-block:1px solid var(--line);background:radial-gradient(circle at 30% 20%,rgba(214,175,87,.07),transparent 35%),#050505}
.serifAccent{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-style:italic;text-transform:none;color:var(--gold2);letter-spacing:-.04em}
.baFrame{height:min(76vw,820px);max-height:78svh;min-height:520px;position:relative;overflow:hidden;border-radius:26px;border:1px solid var(--line);cursor:ew-resize;background:#0b0b0b}
.baFrame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;user-select:none;pointer-events:none}
.baBeforeWrap{position:absolute;inset:0 auto 0 0;width:50%;overflow:hidden;border-right:1px solid rgba(255,255,255,.7)}
.baBefore{width:100vw!important;max-width:none!important}
.baHandle{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#090909;font-weight:900;box-shadow:0 16px 50px rgba(0,0,0,.45)}
.baLabel{position:absolute;bottom:22px;padding:8px 11px;border-radius:999px;background:rgba(0,0,0,.6);backdrop-filter:blur(10px);font-size:8px;letter-spacing:.15em}
.baLabel.before{left:22px}.baLabel.after{right:22px}
.baCaption{display:flex;justify-content:space-between;margin-top:14px;font-size:8px;letter-spacing:.14em;color:#999}

.trustSection{padding:130px 0;background:#080808;border-bottom:1px solid var(--line)}
.trustIntro{display:grid;grid-template-columns:1.2fr .7fr;gap:70px;align-items:end;margin-bottom:50px}
.trustIntro h2{font-family:Arial Black,Impact,sans-serif;font-size:clamp(58px,8vw,120px);line-height:.86;letter-spacing:-.065em}
.trustIntro p{font-size:17px;line-height:1.65;color:#bbb}
.trustGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:22px;overflow:hidden}
.trustCard{background:#090909;padding:34px;min-height:290px;transition:.45s var(--ease)}
.trustCard:hover{background:#111;transform:translateY(-3px)}
.trustNo{font-size:9px;letter-spacing:.16em;color:var(--gold)}
.trustCard h3{font-size:26px;margin:80px 0 12px}
.trustCard p{color:#aaa;line-height:1.6}
.reviewFeature{margin-top:22px;display:grid;grid-template-columns:90px 1fr .72fr;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:#0b0b0b;min-height:420px}
.reviewMark{font-family:Georgia,serif;font-size:120px;color:var(--gold);padding:20px}
.reviewCopy{padding:52px 30px;display:flex;flex-direction:column;justify-content:center}
.reviewCopy>span,.reviewCopy small{font-size:8px;letter-spacing:.17em;text-transform:uppercase;color:#999}
.reviewCopy blockquote{font-family:Georgia,serif;font-size:clamp(26px,3.2vw,50px);line-height:1.05;margin:20px 0 28px}
.reviewVisual img{width:100%;height:100%;object-fit:cover}

.configurator{background:linear-gradient(180deg,#050505,#090909)}
.configWrap{display:grid;grid-template-columns:.95fr 1.05fr;min-height:760px;border:1px solid var(--line);border-radius:28px;overflow:hidden}
.configVisual{position:relative;min-height:760px}
.configVisual img{width:100%;height:100%;object-fit:cover}
.configVisual:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.9),transparent 65%)}
.configOverlay{position:absolute;z-index:2;left:34px;right:34px;bottom:36px}
.configOverlay h2{font-family:Arial Black,Impact,sans-serif;font-size:clamp(58px,7vw,108px);line-height:.86;letter-spacing:-.065em}
.configOverlay p{max-width:460px;line-height:1.6;color:#ddd}
.configPanel{padding:clamp(30px,5vw,70px);display:flex;flex-direction:column;justify-content:center;background:#0a0a0a}
.configTop{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.15em;color:#aaa}
.configProgress{height:2px;background:#272727;margin:12px 0 34px}.configProgress i{display:block;height:100%;width:20%;background:var(--gold);transition:.5s var(--ease)}
.configStep{display:none;min-height:360px}.configStep.active{display:block;animation:rise .55s var(--ease)}
.configStep h3{font-size:clamp(30px,4vw,54px);line-height:1.02;margin:12px 0 24px}
.configChoices{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.configChoices button{background:#070707;border:1px solid var(--line);color:#fff;padding:17px;border-radius:14px;text-align:left;cursor:pointer;transition:.3s var(--ease)}
.configChoices button:hover,.configChoices button.selected{background:var(--gold);color:#090909;transform:translateY(-2px)}
.fieldLabel{display:block;font-size:8px;letter-spacing:.15em;color:#999;margin:14px 0 7px}
.configInput{width:100%;box-sizing:border-box;background:#070707;border:1px solid var(--line);color:#fff;padding:15px 14px;border-radius:12px;margin-bottom:10px;font:inherit}
.uploadBox{min-height:180px;border:1px dashed rgba(214,175,87,.55);border-radius:18px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:10px;cursor:pointer;background:rgba(214,175,87,.03)}
.uploadBox strong{color:var(--gold);letter-spacing:.12em}.uploadBox span{max-width:330px;color:#999;font-size:12px;line-height:1.5}
.photoStatus{font-size:10px;color:#999;margin-top:10px}
.configNav{display:flex;justify-content:space-between;gap:12px;margin-top:18px}.configNav .btn{min-width:120px}
.configSuccess{text-align:center;padding-top:20px}.successOrb{width:74px;height:74px;border-radius:50%;background:var(--gold);color:#090909;display:grid;place-items:center;font-size:28px;margin:0 auto 22px}

.closingScene{padding:110px var(--pad) 80px;border-bottom:1px solid var(--line);display:grid}
.closingScene span,.closingScene strong{font-family:Arial Black,Impact,sans-serif;font-size:clamp(70px,12vw,190px);line-height:.78;letter-spacing:-.075em}
.closingScene strong{color:transparent;-webkit-text-stroke:1px rgba(214,175,87,.9)}
.closingScene em{font-family:Georgia,serif;color:var(--gold2);font-size:clamp(24px,4vw,58px);margin-top:28px}

@media(max-width:900px){
  .mobileMenuBtn{display:block}.navright{display:none}
  .sigTag,.sigLine2{display:none}.sigLine1{width:90vw;height:90vw;right:-48vw;top:16vh}
  .projectHover{opacity:1;background:linear-gradient(180deg,transparent 65%,rgba(0,0,0,.88))}.projectHover div{transform:none}
  .baSection,.trustSection{padding:88px 0}.baFrame{min-height:58svh;height:68svh;border-radius:18px}.baBefore{width:100vw!important}
  .baCaption{gap:14px;flex-direction:column}
  .trustIntro{grid-template-columns:1fr;gap:22px}.trustGrid{grid-template-columns:1fr}.trustCard{min-height:220px}.trustCard h3{margin-top:45px}
  .reviewFeature{grid-template-columns:60px 1fr}.reviewVisual{grid-column:1/-1;height:360px}
  .configWrap{grid-template-columns:1fr}.configVisual{min-height:60svh}.configPanel{padding:28px 20px 34px}.configStep{min-height:330px}.configChoices{grid-template-columns:1fr 1fr}
  .closingScene{padding:80px 20px}.closingScene span,.closingScene strong{font-size:clamp(62px,17vw,100px)}
}
@media(max-width:540px){.configChoices{grid-template-columns:1fr}.reviewFeature{grid-template-columns:1fr}.reviewMark{display:none}}

.heroBg video.heroVideo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.02) brightness(.84);transform:scale(1.03);will-change:transform;}


/* HERO CLEANUP — user approved: no decorative circles/rings */
#top .orbit,
#top .heroSignature,
#top .sigLine,
#top .sigLine1,
#top .sigLine2{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
}
\n/* HYBRID PRODUCTION BRIDGE */
body.map-hybrid-home .map-mobile-conversion{display:none!important}
body.map-hybrid-home{background:#070707;overflow-x:hidden}
.hybridRealEstimate{max-width:980px;margin:0 auto;padding:20px 0 0}
.hybridRealEstimate .map-estimate-wrap{background:rgba(10,10,10,.72);border:1px solid rgba(205,164,79,.28);border-radius:24px;padding:28px;backdrop-filter:blur(16px)}
.hybridRealEstimate .map-estimate-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.hybridRealEstimate .map-field{display:flex;flex-direction:column;gap:8px}
.hybridRealEstimate .map-span{grid-column:1/-1}
.hybridRealEstimate label{color:#e9e4da;font-size:13px;letter-spacing:.08em}
.hybridRealEstimate input,.hybridRealEstimate select,.hybridRealEstimate textarea{width:100%;background:#111;border:1px solid rgba(255,255,255,.15);color:#fff;border-radius:12px;padding:14px 15px;font:inherit}
.hybridRealEstimate input:focus,.hybridRealEstimate select:focus,.hybridRealEstimate textarea:focus{outline:2px solid #cda44f;outline-offset:2px}
.hybridRealEstimate .map-submit{border:0;border-radius:999px;background:#cda44f;color:#080808;font-weight:800;letter-spacing:.08em;padding:16px 24px;cursor:pointer}
.hybridRealEstimate .map-hp{position:absolute!important;left:-9999px!important}
.hybridRealEstimate .map-form-success,.hybridRealEstimate .map-form-error{margin-bottom:18px;padding:14px;border-radius:12px}
.hybridRealEstimate .map-form-success{background:#17351f;color:#dff7e4}.hybridRealEstimate .map-form-error{background:#451d1d;color:#ffe2e2}
@media(max-width:760px){.hybridRealEstimate .map-estimate-form{grid-template-columns:1fr}.hybridRealEstimate .map-field,.hybridRealEstimate .map-span{grid-column:1}.hybridRealEstimate .map-estimate-wrap{padding:18px}}


/* ==========================================================
   HYBRID v5.0.0 RC2 — CROSS-DEVICE RESPONSIVE HARDENING
   Desktop / iPad / Phone / Touch / Landscape / Safe Areas
   ========================================================== */

/* Universal responsive safety */
html,body{max-width:100%;overflow-x:hidden}
img,video,svg,canvas{max-width:100%}
input,select,textarea,button{max-width:100%}
.shell{max-width:1450px}
.heroTitle,.sectionHead h2,.storyCopy h2,.trustIntro h2,.configOverlay h2,
.closingScene span,.closingScene strong{
  overflow-wrap:normal;
  word-break:normal;
}

/* iOS safe-area support */
.header{
  top:max(14px,env(safe-area-inset-top));
  padding-left:env(safe-area-inset-left);
  padding-right:env(safe-area-inset-right);
}
.mobileMenuInner{
  padding-top:max(24px,env(safe-area-inset-top));
  padding-right:max(20px,env(safe-area-inset-right));
  padding-bottom:max(24px,env(safe-area-inset-bottom));
  padding-left:max(20px,env(safe-area-inset-left));
}

/* Touch devices: don't hide important information behind hover */
@media(hover:none),(pointer:coarse){
  .cursorGlow{display:none!important}
  .projectHover{
    opacity:1!important;
    background:linear-gradient(180deg,transparent 62%,rgba(0,0,0,.90))!important;
  }
  .projectHover div{transform:none!important}
  .tile:hover img,.materialCard:hover img,.floatCard:hover,.trustCard:hover,
  .btn:hover,.configChoices button:hover{
    transform:none;
  }
  a,button,.btn,input,select,textarea{
    -webkit-tap-highlight-color:rgba(214,175,87,.16);
  }
}

/* Desktop / large laptop */
@media(min-width:1200px){
  .navcenter{gap:clamp(20px,2vw,32px)}
  .heroInner{padding-bottom:clamp(54px,5vw,72px)}
}

/* iPad landscape / compact desktop */
@media(min-width:901px) and (max-width:1199px){
  .shell{width:min(1450px,calc(100% - 28px))}
  .navcenter{gap:16px;font-size:8px}
  .brand strong{font-size:9px;letter-spacing:.14em}
  .btn{padding:13px 16px}
  .heroTitle{font-size:clamp(72px,11.5vw,138px)}
  .heroBottom{grid-template-columns:1fr minmax(240px,320px);gap:26px}
  .floatCard{width:min(300px,100%)}
  .section{padding:96px 0}
  .sectionHead{gap:32px}
  .tile{border-radius:18px}
  .t1{min-height:650px}
  .t2{min-height:420px}
  .t3{min-height:470px}
  .t4{min-height:560px}
  .reviewFeature{grid-template-columns:72px 1fr .68fr}
  .reviewCopy{padding:38px 24px}
  .configWrap{min-height:680px}
  .configVisual{min-height:680px}
}

/* Tablet and phone */
@media(max-width:900px){
  .shell{width:calc(100% - 28px)}
  .header{left:0;right:0}
  .nav{grid-template-columns:1fr auto;padding:8px 9px 8px 11px}
  .brand img{width:34px;height:34px}
  .brand strong{font-size:9px}
  .mobileMenuBtn,#mobileMenuClose{
    min-width:44px;
    min-height:44px;
    touch-action:manipulation;
  }
  .heroInner{padding-top:128px;padding-bottom:44px}
  .heroTopline{margin-bottom:28px;gap:12px;align-items:flex-start}
  .futurePill{white-space:nowrap}
  .heroLead{font-size:16px;line-height:1.55}
  .heroActions .btn{min-height:46px}
  .storyCopy{padding-left:20px;padding-right:20px}
  .tileCopy{left:18px;right:18px;bottom:18px}
  .service{min-height:72px}
  .baHandle{width:56px;height:56px;touch-action:none}
  .configInput,.hybridRealEstimate input,.hybridRealEstimate select,
  .hybridRealEstimate textarea{
    font-size:16px; /* prevents Safari form zoom */
    min-height:46px;
  }
  .hybridRealEstimate .map-submit{min-height:48px;width:100%}
  .closingScene span,.closingScene strong{
    max-width:100%;
  }
}

/* Phones */
@media(max-width:540px){
  .shell{width:calc(100% - 22px)}
  .header{top:max(8px,env(safe-area-inset-top))}
  .nav{border-radius:22px}
  .brand strong{font-size:8px;letter-spacing:.12em}
  .hero{min-height:100svh}
  .heroInner{padding-top:112px;padding-bottom:32px}
  .heroTopline{flex-direction:column;align-items:flex-start;margin-bottom:22px}
  .heroTitle{font-size:clamp(54px,17vw,78px);line-height:.88;letter-spacing:-.06em}
  .heroTitle .serif{font-size:.40em}
  .heroLead{font-size:15px}
  .heroActions{display:grid;grid-template-columns:1fr;gap:9px}
  .heroActions .btn{width:100%}
  .kinetic span{font-size:clamp(36px,14vw,64px)}
  .section{padding:72px 0}
  .sectionHead h2{font-size:clamp(48px,15vw,76px)}
  .storyCopy h2{font-size:clamp(46px,14vw,72px)}
  .tile{min-height:58svh}
  .materialRail{grid-auto-columns:84vw;padding-left:11px;padding-right:11px}
  .cine{height:72svh;min-height:520px}
  .baFrame{height:62svh;min-height:480px}
  .baLabel{bottom:14px}
  .baLabel.before{left:14px}.baLabel.after{right:14px}
  .trustIntro h2{font-size:clamp(48px,15vw,74px)}
  .trustCard{padding:26px 22px}
  .reviewCopy{padding:34px 22px}
  .reviewVisual{height:300px}
  .configVisual{min-height:52svh}
  .configOverlay{left:22px;right:22px;bottom:24px}
  .configOverlay h2{font-size:clamp(48px,15vw,72px)}
  .configPanel{padding:26px 16px 30px}
  .closingScene{padding:70px 14px 64px}
  .closingScene span,.closingScene strong{
    font-size:clamp(50px,16vw,76px);
    line-height:.82;
    letter-spacing:-.065em;
  }
  .mobileMenu nav a{font-size:clamp(42px,14vw,68px)}
}

/* Very narrow phones */
@media(max-width:360px){
  .brand strong{display:none}
  .heroTitle{font-size:clamp(48px,16vw,62px)}
  .futurePill{font-size:8px}
  .projectMeta{left:14px;right:14px}
  .tileCopy h3{font-size:28px}
}

/* Landscape phones / short browser heights */
@media(max-height:500px) and (orientation:landscape){
  .header{top:6px}
  .nav{padding-top:5px;padding-bottom:5px}
  .brand img{width:30px;height:30px}
  .hero{min-height:150svh}
  .heroInner{padding-top:88px;padding-bottom:26px}
  .heroTopline{margin-bottom:14px}
  .heroTitle{font-size:clamp(50px,11vw,88px)}
  .heroLead{font-size:14px;max-width:520px}
  .heroActions{margin-top:12px}
  .heroActions .btn{padding:10px 14px;min-height:40px}
  .storyCopy{padding-bottom:16px}
  .cine{min-height:100svh;height:100svh}
  .configVisual{min-height:100svh}
  .mobileMenu nav a{font-size:clamp(36px,10vw,60px)}
}

/* Keyboard accessibility */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--gold2);
  outline-offset:3px;
}

/* Avoid accidental clipping when browser text size is increased */
@supports(text-size-adjust:100%){
  html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
}


/* ==========================================================
   HYBRID v5.0.0 RC3 — FINAL GO-LIVE POLISH
   ========================================================== */
.tile{position:relative}
.projectHit{position:absolute;inset:0;z-index:8;border-radius:inherit}
.projectHit:focus-visible{outline:3px solid var(--gold2);outline-offset:-4px}
@media(max-width:900px){
  body.map-hybrid-home .map-mobile-conversion{display:grid!important}
  body.map-hybrid-home .floating{display:none!important}
  body.map-hybrid-home .configurator{padding-bottom:120px!important}
  body.map-hybrid-home .footer{padding-bottom:calc(105px + env(safe-area-inset-bottom))!important}
  body.map-hybrid-home #map-ai-launcher{bottom:78px!important}
}


/* =========================================================
   HYBRID RC4 — MOBILE MENU + CINEMATIC TRANSITION
   ========================================================= */
html.menu-open,html.menu-open body{overflow:hidden!important}
.mobileMenu{
  pointer-events:none;
  transform:translate3d(0,-10px,0);
}
.mobileMenu.open{
  pointer-events:auto;
  transform:translate3d(0,0,0);
}
.mobileMenuBtn{
  position:relative;
  z-index:1001;
  touch-action:manipulation;
  cursor:pointer;
}

/* Replace the perceived black void with an intentional cinematic bridge */
.visualBridge{
  position:relative;
  min-height:78svh;
  overflow:hidden;
  border-bottom:1px solid var(--line);
  background:#050505;
  isolation:isolate;
}
.visualBridgeMedia{
  position:absolute;
  overflow:hidden;
  border:1px solid rgba(214,175,87,.18);
  border-radius:26px;
  box-shadow:0 30px 90px rgba(0,0,0,.42);
}
.visualBridgeMedia img{
  width:100%;height:100%;object-fit:cover;
  filter:saturate(.72) contrast(1.08) brightness(.78);
  transform:scale(1.08);
}
.visualBridgeA{
  width:48vw;height:72%;left:-4vw;top:10%;
  transform:rotate(-3deg);
}
.visualBridgeB{
  width:40vw;height:58%;right:-2vw;top:22%;
  transform:rotate(3deg);
}
.visualBridgeA img{animation:bridgeKenA 11s ease-in-out infinite alternate}
.visualBridgeB img{animation:bridgeKenB 13s ease-in-out infinite alternate}
@keyframes bridgeKenA{
  from{transform:scale(1.10) translate3d(-1.5%,0,0)}
  to{transform:scale(1.18) translate3d(2%,-1.5%,0)}
}
@keyframes bridgeKenB{
  from{transform:scale(1.12) translate3d(1%,1%,0)}
  to{transform:scale(1.20) translate3d(-2%,-2%,0)}
}
.visualBridgeShade{
  position:absolute;inset:0;z-index:2;
  background:
    radial-gradient(circle at 50% 46%,rgba(214,175,87,.08),transparent 25%),
    linear-gradient(90deg,rgba(5,5,5,.44),rgba(5,5,5,.08) 45%,rgba(5,5,5,.52)),
    linear-gradient(0deg,#050505 0%,transparent 22%,transparent 78%,#050505 100%);
}
.visualBridgeCopy{
  position:absolute;inset:0;z-index:3;
  display:flex;flex-direction:column;justify-content:center;align-items:center;
  text-align:center;padding:var(--pad);pointer-events:none;
}
.visualBridgeCopy .eyebrow{margin-bottom:22px}
.bridgeLine{
  font-family:Arial Black,Impact,sans-serif;
  font-size:clamp(62px,11vw,176px);
  line-height:.78;letter-spacing:-.075em;
  color:#f2efe8;
  text-shadow:0 15px 45px rgba(0,0,0,.45);
}
.bridgeLine2{
  color:transparent;
  -webkit-text-stroke:1px rgba(242,239,232,.52);
}
.bridgeLine3{
  font-family:Georgia,serif;font-style:italic;
  color:var(--gold2);font-size:clamp(42px,7vw,105px);
  letter-spacing:-.04em;margin-top:10px;
}

/* Mobile story is intentionally shorter now: no dead 3-screen black scroll */
@media(max-width:900px){
  .storyScroll{min-height:185svh}
  .visualBridge{min-height:68svh}
  .visualBridgeA{width:76vw;height:64%;left:-23vw;top:13%;border-radius:20px}
  .visualBridgeB{width:70vw;height:55%;right:-22vw;top:27%;border-radius:20px}
  .visualBridgeShade{
    background:
      radial-gradient(circle at 50% 42%,rgba(214,175,87,.09),transparent 28%),
      linear-gradient(90deg,rgba(5,5,5,.55),rgba(5,5,5,.12) 50%,rgba(5,5,5,.58)),
      linear-gradient(0deg,#050505 0%,transparent 18%,transparent 82%,#050505 100%);
  }
  .visualBridgeCopy{padding:24px}
  .bridgeLine{font-size:clamp(48px,17vw,82px)}
  .bridgeLine3{font-size:clamp(34px,11vw,56px)}
}
@media(max-width:540px){
  .storyScroll{min-height:165svh}
  .visualBridge{min-height:62svh}
}
@media(prefers-reduced-motion:reduce){
  .visualBridgeMedia img{animation:none!important}
}

/* v5.0.2 HERO CTA RELIABILITY: preserve visible label at rest across tablet/mobile/browser states. */
.heroActions .btn:not(.gold){color:#f6f2ea!important;background:rgba(8,8,8,.72)!important;border-color:rgba(214,173,86,.58)!important;text-shadow:0 1px 1px rgba(0,0,0,.45)}
.heroActions .btn:not(.gold):hover,.heroActions .btn:not(.gold):focus-visible{color:#090909!important;background:var(--gold)!important;border-color:var(--gold)!important;text-shadow:none}
