:root{--bg:#111210;--panel:#1b1c19;--line:#34352f;--ink:#f2f0e8;--muted:#a7a99e;--accent:#d2b88a}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--ink);font-family:'Manrope',sans-serif;font-size:15px;line-height:1.6}h1,h2,h3,.logo{font-family:Manrope,sans-serif;line-height:1.08;letter-spacing:-.055em}h1,h2,h3,p{margin-top:0}h2{font-size:clamp(38px,5vw,70px);font-weight:500;margin-bottom:30px}h3{font-size:30px;font-weight:500}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.35;cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:5px}header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--line);background:#111210f2;position:relative;z-index:10}.logo{font-weight:800;font-size:32px;letter-spacing:-.08em}.logo span{font:11px sans-serif;vertical-align:top;margin-left:6px}nav{display:flex;gap:38px;color:#c8c9c0;font-size:13px}.navcta{border-bottom:1px solid #77766d;padding:7px 0;font-size:13px}.hero{min-height:730px;height:calc(100svh - 94px);max-height:1050px;position:relative;overflow:hidden;padding:40px 5% 0}.hero-top,.section-top{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:10px;letter-spacing:.13em}.eyebrow{font-size:10px;letter-spacing:.17em;font-weight:600}.demo{font-size:9px;border:1px solid #656354;padding:6px 12px;border-radius:20px;background:#1b1c1990}.demo i{display:inline-block;width:5px;height:5px;background:var(--accent);border-radius:50%;margin-right:7px}.hero-copy{position:relative;margin-top:90px;z-index:2;pointer-events:none}.hero h1{font-size:clamp(64px,7.8vw,120px);font-weight:500;margin:0 0 25px;line-height:1.02}.hero em{font-style:normal;color:var(--accent)}.hero p{color:#c5c5bc;font-size:16px;line-height:1.8}.architecture{position:absolute;inset:0 0 0 35%;overflow:hidden;background:linear-gradient(110deg,#111210 4%,#292921 47%,#151610 95%)}.portal{position:absolute;top:12%;bottom:-10%;width:45%;border:38px solid #414036;border-bottom:0;transform:skewY(-10deg);box-shadow:inset 8px 0 25px #0008,-7px -5px 15px #0007}.p1{left:34%;background:linear-gradient(100deg,#827050,#353429 40%,#151712)}.p2{left:50%;top:22%;width:29%;border-width:26px;border-color:#292b24}.p3{left:61%;top:32%;width:18%;border-width:17px;border-color:#1c1e18}.sun{position:absolute;top:20%;left:39%;height:80%;width:2px;background:#f6d097;box-shadow:0 0 30px 8px #e6b76d50;transform:skewY(-10deg)}.floor{position:absolute;bottom:0;height:23%;width:100%;background:linear-gradient(165deg,#52493660,#111210);border-top:1px solid #9c81552e}.architectype{position:absolute;right:18%;top:35%;font-size:200px;line-height:1;color:#d3b37a18;font-weight:700}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#111210 10%,transparent 65%);pointer-events:none}.hero-top,.hero-bottom{position:relative;z-index:3}.hero-bottom{position:absolute;bottom:0;left:5%;right:5%;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;padding:30px 0;border-top:1px solid #6a675447}.path small{display:block;font-size:9px;letter-spacing:.15em;color:#babcb0}.path span{display:flex;justify-content:space-between;align-items:center;font-size:23px;margin-top:10px;max-width:275px}.path b{font-size:22px;font-weight:400;border:1px solid #777667;width:42px;height:42px;display:grid;place-items:center;border-radius:50%}.path:hover b{background:var(--accent);color:#111}.right{justify-self:end;width:100%;max-width:275px}.center-label{text-align:center;color:#929487;font-size:9px;letter-spacing:.14em}.section{padding:100px 7%;border-bottom:1px solid var(--line)}.section-top{color:var(--muted);margin-bottom:60px}.headingrow{display:flex;justify-content:space-between;align-items:end;gap:30px}.headingrow p{color:var(--muted);max-width:350px}.story{height:220vh;position:relative;border-bottom:1px solid var(--line)}.story-sticky{position:sticky;top:0;min-height:100vh;padding:55px 7%;display:flex;flex-direction:column;justify-content:center}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.story-grid h2{margin-top:20px}.story-grid p{color:var(--muted);max-width:380px}.accent{color:var(--accent)}.textlink{display:inline-block;border-bottom:1px solid #69695e;padding:10px 0;font-size:13px}.scene{height:400px;background:radial-gradient(ellipse at top right,#8d7750,#292b23 45%,#171914);padding:35px;transform:perspective(900px) rotateY(-7deg);transition:background .5s,transform .5s}.scene-window{height:100%;border:1px solid #c9b78d55;padding:22px;display:flex;flex-direction:column;position:relative;overflow:hidden;background:linear-gradient(120deg,#191d1690,#302d2370)}.scene-window>span,.scene-window small{font-size:8px;letter-spacing:.15em;color:var(--accent)}.scene-window strong{font-family:Manrope,sans-serif;font-size:42px;line-height:1.15;letter-spacing:-.05em;margin:auto 0;font-weight:500;z-index:1}.scene-lines{position:absolute;right:-20px;bottom:30px;width:160px;height:200px;border:20px solid #b69c6b33;transform:skewY(-20deg);box-shadow:20px 20px 0 #0003}.progress{height:1px;background:#3b3d33;margin-top:60px}.progress i{display:block;height:1px;background:var(--accent);width:0}.carousel{display:flex;align-items:center;gap:20px;margin:30px -2% 0}.arrow{border:1px solid var(--line);background:transparent;color:var(--ink);font-size:23px;border-radius:50%;width:48px;height:48px;flex-shrink:0}.arrow:hover{border-color:var(--accent)}.carousel-stage{height:355px;position:relative;flex:1;perspective:1300px;overflow:hidden}.servicecard{position:absolute;top:15px;left:calc(50% - 160px);width:320px;height:320px;background:#22241d;border:1px solid #555445;padding:28px;transition:transform .55s,opacity .4s;display:flex;flex-direction:column;box-shadow:0 20px 50px #0004}.servicecard.active{background:linear-gradient(135deg,#414034,#21231c);border-color:#bfa67b}.servicecard .icon{font-size:46px;line-height:1;margin:20px 0;color:var(--accent);font-weight:400}.servicecard h3{font-size:27px;margin:5px 0 12px}.servicecard p{font-size:12px;color:#bfc1b4;margin-bottom:auto}.servicecard button{background:transparent;border:0;border-top:1px solid #ffffff26;text-align:left;color:var(--ink);padding:14px 0 0;margin-top:15px}.servicecard button[aria-pressed=true]{color:var(--accent)}.service-dots{display:flex;justify-content:center;gap:12px;margin:22px 0 35px;flex-wrap:wrap}.service-dots button{border:0;border-bottom:1px solid transparent;background:transparent;color:var(--muted);padding:5px;font-size:11px}.service-dots button.current{color:var(--accent);border-color:var(--accent)}.selectionbar{border-top:1px solid var(--line);padding-top:25px;display:flex;align-items:center;justify-content:space-between;gap:20px}.selectionbar span{font-size:13px;color:var(--muted)}.primary{border:1px solid var(--accent);background:var(--accent);color:#171a13;padding:15px 24px;font-size:13px;font-weight:600;display:inline-block}.primary:hover{background:#e3cca5}.subtle{background:none;border:0;color:var(--muted);padding:12px;font-size:12px}.config-layout{display:grid;grid-template-columns:1fr 300px;gap:60px}.common{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:35px}label{display:block;font-size:12px;color:#cbcdbf}input,select,textarea{display:block;width:100%;margin:8px 0 18px;padding:13px;background:#20221b;border:1px solid #44473a;color:var(--ink);border-radius:0;max-width:100%}textarea{resize:vertical}input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:var(--accent);flex-shrink:0}.check{display:flex;align-items:start;gap:12px;margin:15px 0}.questiongroup{border-top:1px solid var(--line);padding:25px 0}.questiongroup summary{font-family:Manrope,sans-serif;font-size:25px;cursor:pointer;margin-bottom:20px;letter-spacing:-.04em}.questiongroup small{color:var(--muted)}.fields{display:grid;grid-template-columns:1fr 1fr;gap:10px 25px}.fields .wide{grid-column:1/-1}.options{padding:12px 0}.options>span{display:block;font-size:12px;margin-bottom:10px}.options label{font-size:12px}.config aside{align-self:start;position:sticky;top:30px;background:#20221b;padding:28px}.config aside p,.config aside small{font-size:12px;color:var(--muted)}.config aside .primary{width:100%;margin:20px 0 10px}.selecteditem{padding:16px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.selecteditem button{background:none;border:0;color:var(--muted)}.suggestion{padding:22px;border:1px solid #615c48;margin:15px 0}.suggestion p{font-size:13px;color:var(--muted)}.budget>p{max-width:700px;color:var(--muted)}.budgetrow{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--line);font-size:13px}.budgetrow small{display:block;color:var(--muted);font-size:10px}.budgetrow.head{color:var(--muted);font-size:10px;letter-spacing:.08em}.totals{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:30px 0}.total{padding:25px;background:#23251d}.total small{display:block;font-size:10px;color:var(--muted)}.total strong{font-family:Manrope,sans-serif;font-size:32px;font-weight:500;display:block;margin-top:15px}.fine{font-size:11px;color:var(--muted)}.payments{padding:35px 0;margin:35px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.payments select{width:auto}.payments h3{margin:10px 0 30px}.payment-stages{display:flex;gap:20px;margin-bottom:25px}.payment-stage{flex:1;padding:22px;border-left:1px solid var(--accent)}.payment-stage strong{display:block;font-size:30px;font-weight:400}.payment-stage span{color:var(--accent)}.payment-stage p{font-size:12px;color:var(--muted);margin-top:10px}.contact{background:#d6d2c5;color:#20221b}.contact .eyebrow{color:#55594a}.contact h2{margin-top:30px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:15%}.contact-grid>p{color:#5c6052;max-width:350px}.contact label{color:#3b4033}.contact input,.contact textarea{background:transparent;border-color:#9c9f8e;color:#20221b}.contact .primary{background:#25291d;color:#f2f0e8;border-color:#25291d}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:15%;margin:50px 0}.about h2{margin-top:30px}.about p{color:var(--muted)}.about .accent{color:var(--accent)}.bigmark{font-size:150px;letter-spacing:-.1em;font-weight:700;color:#45473c}.reviews{border-top:1px solid var(--line);padding-top:50px}.reviews h3{margin:25px 0 15px}.reviews p{font-size:13px;max-width:600px}footer{padding:40px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px}footer span{font-size:9px;letter-spacing:.1em;color:var(--muted)}dialog{background:#22251d;color:var(--ink);border:1px solid var(--accent);max-width:700px;width:90%;max-height:85vh;padding:35px}dialog::backdrop{background:#000b}dialog pre{font:13px/1.7 'Manrope',sans-serif;white-space:pre-wrap;overflow-wrap:anywhere}dialog small{color:var(--muted)}[hidden]{display:none!important}
@media(max-width:760px){header{height:75px;padding:0 6%}nav{display:none}.navcta{font-size:11px}.hero{height:calc(100svh - 75px);min-height:650px;padding:25px 6%}.hero-top .eyebrow{font-size:8px;max-width:180px}.demo{font-size:7px;padding:5px 7px}.hero-copy{margin-top:110px}.hero h1{font-size:64px}.hero p{font-size:14px}.architecture{left:10%;opacity:.7}.portal{border-width:22px}.p1{left:40%;width:55%}.hero-bottom{left:6%;right:6%;grid-template-columns:1fr 1fr;gap:25px;padding:25px 0}.path small{font-size:7px}.path span{font-size:18px}.path b{width:32px;height:32px;font-size:18px}.center-label{display:none}.section{padding:65px 6%}.section-top{font-size:8px;margin-bottom:35px}.headingrow{display:block}.headingrow p{font-size:13px}.story-sticky{padding:35px 6%;min-height:100svh}.story-grid{grid-template-columns:1fr;gap:20px}.story-grid h2{font-size:38px;margin:10px 0 16px}.story-grid p{font-size:12px}.scene{height:260px;padding:20px}.scene-window strong{font-size:30px}.progress{margin-top:30px}.story .section-top{margin-bottom:25px}.carousel{gap:5px;margin-left:-10px;margin-right:-10px}.arrow{width:32px;height:32px;font-size:18px}.carousel-stage{height:330px}.servicecard{width:250px;left:calc(50% - 125px);height:300px;padding:23px}.selectionbar{display:block}.selectionbar .primary{margin-top:18px;width:100%}.config-layout{grid-template-columns:1fr;gap:20px}.config aside{position:static}.common,.fields{grid-template-columns:1fr}.budgetrow{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:8px;font-size:10px}.totals{grid-template-columns:1fr;gap:10px}.total{display:flex;align-items:center;justify-content:space-between;padding:20px}.total strong{font-size:25px;margin:0}.payment-stages{flex-direction:column}.contact-grid,.about-grid{grid-template-columns:1fr;gap:20px}.bigmark{font-size:100px}.contact-grid{gap:25px}footer{flex-wrap:wrap}.payments .headingrow{display:flex}.payments h3{font-size:24px}.payments select{max-width:130px}.story-sticky .section-top>span:last-child{max-width:120px;text-align:right}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.scene{transform:none!important}}
/* Cinematic reference: full-viewport film and a pinned showcase. */
:root{--ease-out:cubic-bezier(.23,1,.32,1)}
.story{height:420svh}.story-sticky{height:100svh;min-height:0;padding:0;overflow:hidden;display:block}.film-background{position:absolute;inset:0;background:#111210}.film-background img{width:100%;height:100%;object-fit:cover;display:block}.film-shade{position:absolute;inset:0;background:linear-gradient(90deg,#080b0ad9,transparent 85%),linear-gradient(0deg,#0c100ee8,transparent 60%)}.film-content{position:relative;height:100%;padding:45px 7% 25px;display:flex;flex-direction:column;z-index:1}.film-content .section-top{margin:0}.film-caption{margin-top:auto;margin-bottom:60px;max-width:650px}.film-caption h2{font-size:clamp(42px,6vw,86px);margin-top:15px;text-shadow:0 4px 30px #0008}.film-caption p{max-width:440px;color:#d4d8cc;font-size:16px;text-shadow:0 2px 8px #000}.film-footer{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.12em;color:#d0d2c7}.film-content .progress{margin-top:20px;flex-shrink:0}.film-content .progress i{width:100%;transform:scaleX(0);transform-origin:left}
.services{height:540svh;position:relative;background:radial-gradient(ellipse at 50% 58%,#4a4430aa,transparent 60%),#111210}.service-sticky{position:sticky;top:0;min-height:100svh;height:100svh;padding-top:35px;padding-bottom:25px;overflow:hidden;display:flex;flex-direction:column;justify-content:center}.service-sticky .section-top{margin-bottom:25px}.service-sticky .headingrow h2{font-size:clamp(32px,4vw,58px);margin-bottom:0}.service-sticky .headingrow p{font-size:13px}.carousel{position:relative;margin-top:15px}.carousel-stage{height:350px;overflow:visible;perspective:1200px;touch-action:pan-y;cursor:grab}.carousel-stage:active{cursor:grabbing}.arrow{z-index:8;background:#151711bb}.servicecard{top:15px;width:320px;left:50%;height:320px;border-radius:16px;background:linear-gradient(145deg,#2c3129da,#131812e8);border:1px solid #a0a78c30;backdrop-filter:blur(14px);transition:transform 240ms var(--ease-out),opacity 240ms var(--ease-out);box-shadow:0 20px 55px #0008}.servicecard.active{border-color:#d2b88aaa;background:linear-gradient(145deg,#514c38e8,#1b2118ed);box-shadow:0 0 50px #e5c78815,0 25px 50px #0008}.vitrine-light{position:absolute;left:15%;right:15%;top:0;height:360px;background:radial-gradient(ellipse at 50% 0%,#ead6a22b,transparent 65%);pointer-events:none}.service-dots{margin:12px 0 22px}.selectionbar{padding-top:15px}.servicecard .icon{margin:15px 0}.carousel-stage.scrolling .servicecard{transition:none}.services .section{border:0}
@media(max-width:760px){.film-content{padding:30px 6% 25px}.film-caption{margin-bottom:45px}.film-caption h2{font-size:42px}.film-caption p{font-size:13px}.film-footer{font-size:7px;gap:20px}.film-footer span:last-child{text-align:right}.service-sticky{padding:25px 6% 20px}.service-sticky .section-top{margin-bottom:20px;font-size:7px}.service-sticky .headingrow{display:block}.service-sticky .headingrow h2{font-size:32px}.service-sticky .headingrow p{font-size:11px;margin:12px 0 0}.carousel-stage{height:300px}.servicecard{width:245px;height:285px;padding:22px;left:50%}.servicecard h3{font-size:24px}.servicecard .icon{font-size:33px;margin:12px 0}.servicecard p{font-size:11px}.service-dots{gap:5px;margin:8px 0 12px}.service-dots button{font-size:9px;padding:4px}.selectionbar{display:flex;gap:12px}.selectionbar span{font-size:10px;max-width:45%}.selectionbar .primary{width:auto;margin:0;padding:12px;font-size:10px}.carousel{margin-top:5px}.services{height:540svh}}
@media(max-height:650px){.service-sticky .headingrow p{display:none}.service-sticky .section-top{margin-bottom:10px}.service-sticky .headingrow h2{font-size:28px}.service-sticky .carousel-stage{height:255px}.servicecard{height:245px}.servicecard .icon{font-size:26px;margin:7px 0}.servicecard h3{font-size:22px}.servicecard p{font-size:10px}.film-caption{margin-bottom:20px}.film-caption h2{font-size:35px}}
@media(prefers-reduced-motion:reduce){.story,.services{height:auto}.story-sticky{position:relative;height:90svh}.service-sticky{position:relative;height:auto;min-height:100svh}.servicecard{transition:none!important}.carousel-stage{overflow:hidden}}
html{scroll-padding-top:0}
/* A single environment carries the entire client journey. */
body{background:#0a100f;isolation:isolate}body>.film-background{position:fixed;inset:0;z-index:-1;pointer-events:none;background:#0a100f}body>.film-background img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}#filmFrameB{opacity:0}.film-shade{background:linear-gradient(90deg,#07100fd9,#07100f33 85%),linear-gradient(0deg,#080f0fc4,transparent 70%)}.ambient-veil{position:absolute;inset:0;background:#080f0f;opacity:.12}header{background:transparent;border:0;position:absolute;left:0;right:0;top:0;z-index:10}.hero{height:100svh;min-height:730px;max-height:none;padding-top:130px;background:transparent}.architecture,.hero:after{display:none}.hero-copy{margin-top:80px;will-change:transform,opacity}.hero-bottom{border:0;padding-bottom:40px}.hero-top .eyebrow,.hero-copy p{color:#d0d5cd}.hero .demo{backdrop-filter:blur(10px)}.hero h1{text-shadow:0 4px 35px #0004}.path{padding:18px 0}.path small{color:#c8cfc7}.center-label{color:#bdc5bb}.story{border:0;height:380svh;background:transparent}.story-sticky{background:transparent;overflow:hidden}.film-content{will-change:transform,opacity}.film-content .section-top{opacity:.7}.film-footer{opacity:.65}.film-content .progress{background:#c4d7c622}.services{background:transparent;border:0}.service-sticky{background:transparent;will-change:opacity}.service-sticky .section-top{opacity:.7}.servicecard{background:linear-gradient(145deg,#28322b70,#0c1816ad);border-color:#c6dcc339;box-shadow:0 25px 55px #0005}.servicecard.active{background:linear-gradient(145deg,#8c856646,#15241fc4);border-color:#d2b88a99;box-shadow:0 0 55px #e5c78810,0 25px 50px #0006}.vitrine-light{background:radial-gradient(ellipse at 50% 0%,#ead6a21f,transparent 65%)}.selectionbar{border-color:#c6dcc32b}.arrow{background:#10201b80;border-color:#c6dcc34a}.section{border-bottom:0}.config,.budget,.about{background:linear-gradient(90deg,#0d1915b3,#0d191580)}.config aside{background:#13251ccb;backdrop-filter:blur(18px);border:1px solid #a5b59d26}.total{background:#17302399;border:1px solid #a5b59d26}.contact{background:linear-gradient(90deg,#0d1915c9,#0d191599);color:var(--ink)}.contact .eyebrow,.contact label{color:#c7d1c4}.contact-grid>p{color:#aebfaf}.contact input,.contact textarea{background:#13291d66;color:var(--ink);border-color:#788e7366}.contact .primary{background:var(--accent);color:#171a13;border-color:var(--accent)}.common input,.common select,.common textarea,.fields select{background:#14251dc2}.bigmark{color:#a5b59d5c}footer{background:#0d1915b3}.questiongroup,.reviews,.budgetrow,.payments{border-color:#a5b59d33}
@media(max-width:760px){.hero{height:100svh;min-height:700px;padding-top:105px}.hero-copy{margin-top:95px}.hero h1{font-size:60px}.hero-bottom{padding-bottom:22px}.hero-top .eyebrow{max-width:170px}.story{height:380svh}.film-content .section-top>span:last-child{max-width:110px;text-align:right;font-size:7px}.service-sticky .section-top .eyebrow{font-size:8px;max-width:170px}.film-caption{margin-bottom:60px}}
@media(prefers-reduced-motion:reduce){.story{height:auto}.hero-copy,.film-content{will-change:auto}.service-sticky{will-change:auto}}
