
/* HOME PLUS / IMMERSIVE V3 — progressive enhancements, no external runtime */
:root{--v3-deep:#0c241a;--v3-forest:#143b2b;--v3-beige:#c9ae8c;--v3-cream:#f4efe5;--v3-ease:cubic-bezier(.22,1,.36,1)}
.v3-overline,.v3-story-tag,.v3-eyebrow,.v3-panel-counter{font:600 11px/1.5 'DM Sans','Kanit',sans-serif;letter-spacing:.21em}
.v3-overline{color:#9e876b;margin:0 0 18px}
.v3-hero{min-height:min(780px,calc(100svh - 74px));height:clamp(600px,90svh,850px);position:relative;isolation:isolate;background:#0d2b20;color:#fff;overflow:hidden}
.v3-hero-photo{position:absolute;inset:0;overflow:hidden}.v3-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 43%;filter:saturate(.8) contrast(1.03);animation:v3-cinematic 17s ease-out both;transform-origin:53% 48%;max-width:none}
.v3-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,28,20,.93) 0%,rgba(8,36,27,.77) 35%,rgba(8,36,27,.26) 75%),linear-gradient(0deg,rgba(6,24,19,.77),transparent 37%)}
.v3-hero-noise{position:absolute;inset:0;background:radial-gradient(ellipse at 75% 30%,rgba(216,197,163,.18),transparent 45%);mix-blend-mode:screen;pointer-events:none}
.v3-hero-layout{position:relative;z-index:2;height:calc(100% - 90px);display:grid;grid-template-columns:minmax(0,1fr) 120px;align-items:center;gap:50px;padding-top:40px}
.v3-hero-content{max-width:910px}.v3-eyebrow{color:#e6d8c3;display:flex;gap:13px;align-items:center}.v3-eyebrow-line{width:48px;height:1px;background:#c7ac83}
.v3-hero h1{font-size:clamp(56px,6.2vw,112px);font-weight:400;line-height:1.12;letter-spacing:-.055em;margin:25px 0 24px;white-space:normal;color:#fff;text-wrap:balance}
.v3-hero h1 em{font-family:'Kanit',sans-serif;color:#ddc8a8;font-style:normal;font-weight:300}
.v3-hero-small{display:block;letter-spacing:.12em;font:500 clamp(10px,1.1vw,13px)/1.4 'DM Sans','Kanit',sans-serif;color:#eadcc5;margin-bottom:13px}
.v3-hero-content>p{font-size:clamp(15px,1.4vw,18px);color:#e3e8df;line-height:1.9;max-width:600px;font-weight:300;margin:0 0 30px}
.v3-hero-buttons{display:flex;gap:13px;flex-wrap:wrap}.v3-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;min-height:55px;padding:13px 21px;font-size:14px;font-weight:500;border-radius:1px;text-decoration:none;transition:transform .3s var(--v3-ease),background .3s,box-shadow .3s;white-space:nowrap}
.v3-btn:hover{transform:translateY(-3px);box-shadow:0 18px 32px rgba(0,0,0,.16)}.v3-btn span{font-size:19px}.v3-btn-cream{background:#f2e9da;color:#1b3c2a}.v3-btn-outline{border:1px solid rgba(255,255,255,.48);color:#fff;background:rgba(12,38,25,.13)}
.v3-hero-aside{border-left:1px solid rgba(255,255,255,.45);padding:15px 0 15px 22px;display:flex;flex-direction:column;gap:19px;font:500 10px/1.5 'DM Sans',sans-serif;letter-spacing:.13em;color:#e8e1d7;align-self:center}.v3-hero-aside b{font-size:15px;letter-spacing:.08em;line-height:1.55;color:white}
.v3-hero-foot{position:relative;z-index:2;height:74px;border-top:1px solid rgba(255,255,255,.26);display:flex;align-items:center;justify-content:space-between;color:#dedbcc;letter-spacing:.11em;font:500 10px/1.3 'DM Sans','Kanit',sans-serif;gap:16px}.v3-scroll-cue{display:flex;align-items:center;gap:14px}.v3-scroll-cue i{height:28px;width:1px;background:#d6bd9b;position:relative;overflow:hidden}.v3-scroll-cue i:after{content:'';position:absolute;background:#fff;width:100%;height:10px;left:0;top:0;animation:v3-scroll 1.8s infinite}
@keyframes v3-cinematic{from{transform:scale(1.19) translateX(2%)}to{transform:scale(1.02) translateX(0)}}@keyframes v3-scroll{from{transform:translateY(-16px)}to{transform:translateY(40px)}}
/* EXPERIENCE HOUSE / 3D CSS renderer */
.v3-house-section{background:#f0f0e8;padding:115px 0 126px;overflow:hidden}.v3-house-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:48px}.v3-house-head h2,.v3-story-copy h2{font-size:clamp(43px,5vw,77px);line-height:1.22;margin:0;letter-spacing:-.035em;font-weight:400}.v3-house-head h2 em,.v3-story-copy h2 em{color:#9b8565;font-weight:300;font-style:normal}
.v3-house-head>p{max-width:365px;color:#657365;margin:0 0 6px;font-size:15px;line-height:1.9}
.v3-house-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);gap:32px;align-items:stretch}
.v3-house-viewer{min-width:0}.v3-house-stage{height:560px;background:radial-gradient(ellipse at 50% 42%,#fbfbf4 0%,#e0e6dc 52%,#cbd5c9 100%);position:relative;overflow:hidden;perspective:1100px;cursor:grab;touch-action:pan-y;border:1px solid #cbd6ca;isolation:isolate;user-select:none}
.v3-house-stage:focus-visible{outline:3px solid #ae9570;outline-offset:3px}.v3-house-stage.is-grabbing{cursor:grabbing;touch-action:none}.v3-house-glow{position:absolute;left:50%;top:59%;transform:translate(-50%,-50%);width:420px;height:420px;border-radius:50%;filter:blur(32px);background:radial-gradient(circle,#fbffffa8,transparent 64%)}
.v3-house-world{--angle-x:-22deg;--angle-y:-38deg;position:absolute;left:50%;top:53%;width:420px;height:280px;transform-style:preserve-3d;transform:translate(-50%,-50%) rotateX(var(--angle-x)) rotateY(var(--angle-y));will-change:transform;pointer-events:none}
.v3-ground{position:absolute;width:460px;height:340px;left:-20px;top:-25px;background:repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0 3px,transparent 3px 26px),linear-gradient(120deg,#91ae92,#6e9273);transform:rotateX(90deg) translateZ(-102px);box-shadow:0 0 0 14px #cad5c7,0 30px 65px #203c2640}
.v3-path{position:absolute;left:72px;top:250px;width:185px;height:60px;background:repeating-linear-gradient(90deg,#f2e9d7 0 36px,#d0c7b6 37px 39px);transform:rotateX(90deg) translateZ(-100px)}
.v3-house-structure{position:absolute;left:60px;top:54px;width:300px;height:190px;transform-style:preserve-3d}
.v3-wall{position:absolute;transform-style:preserve-3d;border:2px solid #d7d6cb;background:linear-gradient(105deg,#eee7da,#cfcbbf);box-shadow:inset 0 0 22px #7e807120}.wall-front,.wall-back{width:300px;height:190px}.wall-front{transform:translateZ(90px)}.wall-back{transform:translateZ(-90px) rotateY(180deg)}.wall-left,.wall-right{width:180px;height:190px;left:60px}.wall-left{transform:rotateY(-90deg) translateZ(150px)}.wall-right{transform:rotateY(90deg) translateZ(150px)}
.v3-facade-band{height:17px;position:absolute;inset:0 0 auto;background:#7f857c;border-bottom:4px solid #b8aea1}
.v3-glass{position:absolute;background:linear-gradient(135deg,#568f8a,#b2d3c6 48%,#3a6d65 49%,#42705c 80%);border:8px solid #343e37;box-shadow:inset 8px 0 #3a524c,0 7px 18px #102c2628}
.glass-front{left:20px;top:48px;width:125px;height:117px}.glass-front:after,.glass-back:after{content:'';position:absolute;left:50%;top:0;bottom:0;border-left:4px solid #263c35}.glass-back{left:60px;top:45px;width:160px;height:92px}.glass-side{left:33px;top:48px;width:104px;height:85px}.glass-side2{left:25px;top:48px;width:115px;height:96px}
.v3-entry{width:65px;height:121px;background:#bfa484;border:7px solid #d6c0a6;position:absolute;right:34px;bottom:0}.v3-entry span{position:absolute;right:6px;top:70px;width:5px;height:5px;background:#333;border-radius:50%}.v3-siding{height:7px;position:absolute;bottom:25px;left:0;right:0;background:#aeafa4;box-shadow:0 -20px #b4b6aa}
.v3-roof{position:absolute;left:-21px;top:-16px;width:344px;height:214px;background:linear-gradient(120deg,#253e34,#132f26);transform:rotateX(90deg) translateZ(8px);border:6px solid #d4d6cb;box-shadow:0 18px 24px #16352540;overflow:hidden}.v3-roof:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 22px,#b2b9b010 23px 24px)}
.v3-roof-line{position:absolute;width:80%;height:2px;top:50%;left:10%;background:#a9b7a5;opacity:.45}.v3-front-porch{position:absolute;left:130px;top:190px;width:158px;height:60px;transform:rotateX(90deg);background:repeating-linear-gradient(0deg,#d6cdbb 0 27px,#b1a998 28px 30px)}
.v3-canopy{position:absolute;left:0px;top:112px;width:145px;height:180px;transform-style:preserve-3d;transform:translateZ(110px)}
.v3-canopy-top{position:absolute;left:0;top:0;width:168px;height:110px;background:repeating-linear-gradient(90deg,#bbcfc7 0 20px,#8ea69b 21px 23px);border:8px solid #203f32;transform:rotateX(90deg) translateZ(13px);box-shadow:0 9px 18px #172f2560}
.v3-canopy-leg{position:absolute;top:10px;width:8px;height:143px;background:#273f31;border:1px solid #53635d}.leg-one{left:10px}.leg-two{left:153px}
.v3-fence-model{position:absolute;left:14px;top:210px;width:380px;height:75px;transform-style:preserve-3d;transform:translateZ(177px);display:flex;flex-direction:column;gap:5px;justify-content:center;background:repeating-linear-gradient(90deg,transparent 0 85px,#26352f 86px 92px);border-left:6px solid #2d4435;border-right:6px solid #2d4435}
.v3-fence-slat{height:8px;width:100%;background:#3b5146;box-shadow:0 2px 0 #1c372b}
.v3-bush{position:absolute;width:38px;height:44px;border-radius:50% 40% 50% 55%;background:radial-gradient(at 40% 30%,#b3cd9b,#547f52 65%,#28573c);box-shadow:8px 5px 0 #49764a;-webkit-transform:rotateX(0);transform:translateZ(170px)}.bush-a{left:29px;top:179px}.bush-b{left:369px;top:215px;transform:translateZ(84px)}.bush-c{left:355px;top:55px;transform:translateZ(-100px)}
.v3-house-watermark{position:absolute;bottom:24px;left:30px;font:700 48px/.9 'DM Sans',sans-serif;color:#a8bcaa66;letter-spacing:-.075em}.v3-house-signal{position:absolute;top:22px;left:25px;font:700 10px 'DM Sans',sans-serif;letter-spacing:.13em;color:#365948}
.v3-house-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;color:#55695a;font-size:12px}.v3-house-controls>div{display:flex;gap:7px}.v3-house-controls button{min-height:38px;min-width:42px;padding:6px 12px;border:1px solid #cbd4c8;background:#fff;color:#153e2a;font-size:18px}.v3-house-controls button#hp-reset-house{font-size:11px}
.v3-house-detail{background:#fffefa;border:1px solid #e0e4da;padding:30px;display:flex;flex-direction:column;min-width:0;box-shadow:0 25px 40px #143f2510}.v3-panel-counter{color:#9e896a}.v3-house-detail h3{font-size:clamp(29px,3vw,42px);line-height:1.3;font-weight:500;color:#173e2a;margin:16px 0 9px}.v3-house-detail>p{font-size:13px;color:#68766c;line-height:1.8;margin:0 0 20px;min-height:50px}.v3-space-preview{height:174px;overflow:hidden;margin-bottom:17px;background:#e4e7df}.v3-space-preview img{width:100%;height:100%;object-fit:cover;transition:opacity .25s}.v3-space-price{display:flex;flex-direction:column;gap:3px;padding:15px 0;border-top:1px solid #e6e8df;border-bottom:1px solid #e6e8df}.v3-space-price span{font-size:11px;color:#8b927e}.v3-space-price strong{font-size:22px;color:#143b2b;font-weight:500}.v3-panel-link{display:flex;align-items:center;justify-content:space-between;color:#173d2d;font-weight:600;font-size:13px;padding:18px 0 10px}.v3-panel-link span{font-size:22px}.v3-space-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:12px}.v3-space-tabs button{border:1px solid #dbe2d7;background:#f7f6f0;padding:7px 12px;font-size:11px;color:#385545}.v3-space-tabs button.active,.v3-space-tabs button:hover{background:#153d2b;color:#fff;border-color:#153d2b}
/* Scroll story: progressing panels on sticky track */
.v3-transformation{background:#0c241b;color:#faf7ee}.v3-scroll-spacer{height:260vh;position:relative}.v3-transformation-sticky{height:100svh;min-height:620px;position:sticky;top:0;display:grid;grid-template-columns:1.06fr .94fr;overflow:hidden;background:#102a20}
.v3-story-visual{position:relative;overflow:hidden;min-width:0;background:#98a58b}.v3-story-before,.v3-story-after-wrap img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%}.v3-story-after-wrap{position:absolute;inset:0;width:100%;height:100%;clip-path:inset(0 100% 0 0);will-change:clip-path}.v3-story-after-wrap img{max-width:none}.v3-story-glow{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 70%,#102a2045)}
.v3-story-copy{padding:clamp(35px,6vw,95px);display:flex;flex-direction:column;justify-content:center;gap:16px;min-width:0}.v3-story-tag{color:#c5aa87}.v3-story-copy h2{color:#fff}.v3-story-copy h2 em{color:#d5b995}.v3-story-copy>p{max-width:440px;color:#c9d3cb;font-size:14px;line-height:1.9;margin:0 0 6px}.v3-story-step{display:flex;gap:25px;align-items:center;border-top:1px solid #ffffff3a;padding-top:16px;min-height:100px}.v3-story-step>span{font:300 51px/1 'DM Sans',sans-serif;color:#d4bb96}.v3-story-step small{font:700 9px 'DM Sans',sans-serif;letter-spacing:.17em;color:#a3b5a7}.v3-story-step strong{display:block;font-size:20px;font-weight:500;color:white}.v3-story-step p{font-size:12px;color:#becbc2;margin:2px 0 0}.v3-story-meter{height:3px;background:#ffffff2d;overflow:hidden;margin-top:6px}.v3-story-meter span{display:block;height:100%;background:#d1b58b;transition:width .06s linear}.v3-story-steps{display:flex;justify-content:space-between;gap:6px;font-size:10px;color:#b5c5b5}.v3-story-copy .v3-btn{margin-top:26px;align-self:flex-start}
/* Signature manifesto */
.v3-signature{background:#e9e2d3;padding:120px 0 118px;overflow:hidden}.v3-signature-inner h2{font:400 clamp(61px,10vw,168px)/.96 'DM Sans','Kanit',sans-serif;color:#173c2b;letter-spacing:-.085em;margin:0 0 44px}.v3-signature-inner h2 em{font-style:normal;font-weight:300;color:#ac9072}.v3-signature-bottom{border-top:1px solid #c8baa2;padding-top:22px;display:flex;justify-content:space-between;gap:70px}.v3-signature-bottom>p{font-size:18px;max-width:480px;line-height:1.9;color:#3c5544;margin:0}.v3-signature-features{width:min(470px,50%);display:flex;flex-direction:column}.v3-signature-features span{padding:9px 0;border-bottom:1px solid #c8baa2;color:#ae906a;font:600 12px 'DM Sans';display:flex;gap:18px}.v3-signature-features b{font:400 15px 'Kanit',sans-serif;color:#193c2c}
/* Keep honest metadata without visually cluttering projects. Do not claim work is company-verified. */
.photo-label{display:none!important}.v3-signature + .cta-band{margin:0}.site-header{z-index:75}
@media (min-width:821px){.site-header{box-shadow:none}.v3-hero+.motion-ticker{margin-top:0}}
@media(max-width:1080px){.v3-hero h1{font-size:clamp(53px,6vw,77px)}.v3-house-grid{grid-template-columns:minmax(0,1fr) 350px;gap:20px}.v3-house-world{transform:translate(-50%,-50%) scale(.85) rotateX(var(--angle-x)) rotateY(var(--angle-y))}.v3-house-detail{padding:24px}.v3-story-copy{padding:40px}}
@media(max-width:820px){.v3-hero{height:740px;min-height:0}.v3-hero-layout{grid-template-columns:1fr}.v3-hero-aside{display:none}.v3-hero-foot span:last-child{display:none}.v3-house-section{padding:85px 0}.v3-house-grid{grid-template-columns:1fr}.v3-house-head{align-items:start;flex-direction:column}.v3-house-detail{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}.v3-panel-counter,.v3-house-detail h3,.v3-house-detail>p,.v3-space-tabs{grid-column:span 2}.v3-space-preview{height:180px;grid-column:1/2;grid-row:4/7}.v3-space-price,.v3-panel-link{grid-column:2/3}.v3-transformation-sticky{grid-template-columns:.9fr 1.1fr}.v3-story-copy{padding:26px}.v3-story-copy h2{font-size:clamp(31px,4.8vw,55px)}.v3-story-copy>p{font-size:12px}.v3-story-copy .v3-btn{font-size:12px}.v3-signature{padding:85px 0}.v3-signature-inner h2{font-size:clamp(65px,12vw,120px)}}
@media(max-width:600px){.v3-hero{height:690px}.v3-hero-photo img{object-position:43% center}.v3-hero-shade{background:linear-gradient(90deg,#08261ecc,#0a30226b),linear-gradient(0deg,#081d16d9,transparent 55%)}.v3-hero-layout{height:calc(100% - 82px);padding-top:0}.v3-hero h1{font-size:clamp(48px,10.8vw,69px)}.v3-hero-buttons{flex-direction:column;align-items:stretch}.v3-hero-content>p{font-size:14px}.v3-hero-foot{font-size:9px}.v3-house-head h2{font-size:43px}.v3-house-stage{height:410px}.v3-house-world{transform:translate(-50%,-50%) scale(.62) rotateX(var(--angle-x)) rotateY(var(--angle-y))}.v3-house-controls{align-items:flex-start;flex-direction:column}.v3-house-detail{display:flex;padding:24px}.v3-house-detail>p{min-height:0}.v3-space-preview{height:175px}.v3-scroll-spacer{height:215vh}.v3-transformation-sticky{display:flex;flex-direction:column;height:100svh;min-height:600px}.v3-story-visual{height:47%;flex:none}.v3-story-before,.v3-story-after-wrap img{object-position:center 45%}.v3-story-glow{background:linear-gradient(0deg,#102a204a,transparent)}.v3-story-copy{padding:18px 20px 25px;gap:9px;justify-content:flex-start}.v3-story-copy h2{font-size:34px;line-height:1.12}.v3-story-copy>p{font-size:11px;line-height:1.55}.v3-story-step{padding-top:8px;min-height:64px;gap:13px}.v3-story-step>span{font-size:36px}.v3-story-step strong{font-size:16px}.v3-story-step p{font-size:11px}.v3-story-copy .v3-btn{min-height:40px;padding:7px 13px;margin-top:5px}.v3-story-steps{font-size:9px}.v3-signature{padding:72px 0}.v3-signature-inner h2{font-size:clamp(61px,13vw,100px)}.v3-signature-bottom{flex-direction:column;gap:25px}.v3-signature-bottom>p{font-size:15px}.v3-signature-features{width:100%}}
@media(max-height:740px) and (max-width:600px){.v3-transformation-sticky{min-height:0}.v3-story-visual{height:39%}.v3-story-copy h2{font-size:28px}.v3-story-copy>p{display:none}.v3-story-copy{gap:7px}}
@media(prefers-reduced-motion:reduce){.v3-hero-photo img{animation:none;transform:none}.v3-scroll-cue i:after{animation:none}.v3-house-world{will-change:auto}.v3-story-after-wrap{will-change:auto}}
/* Place the roof at the upper edge of the walls for a complete exterior model. */
.v3-roof{transform:translateY(-103px) rotateX(90deg) translateZ(0)}
