/* Reliable defaults: reveal motion is progressive enhancement only. */
html{scroll-behavior:smooth;scroll-padding-top:96px}body{overflow-x:hidden}.menu{min-width:46px;min-height:46px}.links{z-index:60}.page-loader{transition:opacity .12s ease,visibility .12s ease}.motion-arrive{animation:annai-rise .55s cubic-bezier(.2,.7,.25,1) both}@keyframes annai-rise{from{opacity:.9;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.signature-section{position:relative;overflow:hidden;padding:92px 0 100px;background:radial-gradient(ellipse at 75% 15%,#e2d2ad88,transparent 42%),linear-gradient(145deg,#f8f5ed,#ece7dc)}.signature-section:before{content:"";position:absolute;inset:-35% -20%;pointer-events:none;background:repeating-linear-gradient(132deg,transparent 0 115px,#7184970a 116px 117px,transparent 118px 230px);transform:translateY(var(--scroll-y,0));transition:transform .25s}.signature-section .wrap{position:relative}.signature-intro{max-width:410px}.signature-intro p{font-size:14px;color:#586977;line-height:1.9}.signature-intro .btn{margin-top:8px}.signature-grid{display:grid;grid-template-columns:1.1fr .9fr .9fr;grid-template-rows:240px 240px;gap:14px}.signature-card{position:relative;min-height:190px;overflow:hidden;background:#183249;color:white;border-radius:4px;isolation:isolate;box-shadow:0 12px 28px #17293b12}.signature-card:after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(0deg,#071a2cd9,transparent);z-index:-0}.signature-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.65,.25,1),filter .5s}.signature-card:hover img{transform:scale(1.045);filter:saturate(1.08)}.signature-stone{grid-row:span 2}.signature-wood{grid-column:span 2}.signature-family{grid-column:span 1}.signature-aframe{background:linear-gradient(145deg,#102941,#26465a);display:flex;align-items:center;justify-content:center}.signature-index,.signature-title{position:absolute;z-index:1;left:22px;right:22px}.signature-index{top:18px;font-size:9px;letter-spacing:1.6px;color:#ead5aa}.signature-title{bottom:20px;font:500 21px Manrope,sans-serif;display:flex;align-items:center;justify-content:space-between}.signature-title b{font-weight:400;color:#e3c484}.aframe-mini{width:70%;max-width:290px;opacity:.83;filter:drop-shadow(0 14px 18px #020d1b77)}.aframe-mini svg{width:100%;height:auto;fill:none;stroke:#d1b37b;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.signature-hero{background:radial-gradient(ellipse at 85% 15%,#49637c66,transparent 46%),linear-gradient(130deg,#10283f,#183b51)}.signature-hero:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 100px,#ffffff08 101px 102px,transparent 103px 200px);pointer-events:none}.signature-hero .wrap{position:relative}.signature-hero h1{max-width:850px}.signature-hero p{max-width:650px}.signature-hero .actions{margin-bottom:0}.signature-hero .btn.line,.contact-banner .btn.line{color:#fff;border-color:#ffffff60;background:#ffffff0b}.viewer-section{background:linear-gradient(180deg,#f8f6ef,#eee9de)}.viewer-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.8fr);gap:36px;align-items:stretch}.viewer-shell{background:#0c2238;color:#fff;border:1px solid #c59a5860;border-radius:12px;overflow:hidden;box-shadow:0 22px 60px #10233724}.viewer-top,.viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 20px}.viewer-top{font-size:9px;letter-spacing:1.2px;color:#d2c7b0;border-bottom:1px solid #ffffff18}.viewer-top .live-dot{color:#e0cd9d}.viewer-stage{position:relative;min-height:430px;aspect-ratio:1.28;overflow:hidden;touch-action:pan-y;cursor:grab;background:radial-gradient(ellipse at 55% 30%,#37526a,#0a1c30 74%);perspective:950px}.viewer-stage:active{cursor:grabbing}.viewer-photo{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;user-select:none;transition:opacity .2s,transform .35s;transform:scale(1.01)}.viewer-photo[hidden]{display:none}.viewer-model{position:absolute;inset:0;display:none;place-items:center;perspective:800px;background:radial-gradient(ellipse at 50% 80%,#b18b5150,transparent 55%)}.viewer-model.is-visible{display:grid}.viewer-model svg{width:min(74%,510px);filter:drop-shadow(0 22px 28px #0006);transform:rotateY(var(--model-rotate,0deg)) rotateX(2deg);transform-style:preserve-3d;transition:transform .2s}.model-label{position:absolute;top:24px;left:24px;font-size:9px;letter-spacing:1.6px;color:#e4cb94}.viewer-hint{position:absolute;left:18px;bottom:16px;background:#071a2bdc;color:white;border:1px solid #ffffff30;border-radius:100px;padding:9px 14px;font-size:10px;letter-spacing:.3px}.viewer-hint span{margin-left:12px;color:#e5c782}.viewer-bottom{min-height:82px}.viewer-bottom small{display:block;color:#d7bc82;letter-spacing:1.3px;font-size:8px}.viewer-bottom strong{display:block;font:500 18px Manrope,sans-serif;margin-top:5px}.viewer-arrows{display:flex;gap:7px}.viewer-arrows button{min-width:44px;min-height:44px;border:1px solid #ffffff35;border-radius:50%;background:transparent;color:white;font-size:21px}.viewer-arrows button:hover{background:#c49a58;color:#0c2238}.viewer-range{display:block;width:calc(100% - 40px);margin:0 20px 17px;accent-color:#c59a58;height:15px}.viewer-range[hidden]{display:none}.viewer-controls{padding:12px 0}.viewer-controls>.eyebrow{margin:0 0 14px}.style-choice{width:100%;display:grid;grid-template-columns:34px 1fr 24px;gap:13px;align-items:center;padding:17px 14px;border:0;border-top:1px solid #bdaf9066;background:transparent;text-align:left;color:#173047;min-height:82px;cursor:pointer}.style-choice>span:first-child{align-self:start;padding-top:3px;font-size:10px;color:#9d7d49}.style-choice strong{display:block;font:600 16px Manrope,sans-serif}.style-choice small{display:block;margin-top:4px;font-size:11px;line-height:1.6;color:#65727a}.style-choice>b{font-size:16px;font-weight:400}.style-choice:hover,.style-choice.is-current{background:#fff;border-radius:5px;box-shadow:0 8px 24px #132b3c0c}.style-choice.is-current>span:first-child,.style-choice.is-current>b{color:#a37b3d}.viewer-note{padding:16px;background:#e8e1d3;color:#617079;font-size:10px;line-height:1.7;border-left:2px solid #c49a58;margin-top:14px}.material-story{background:#f7f4ed}.material-photo{position:relative;overflow:hidden;border-radius:4px;box-shadow:0 18px 45px #1126381b}.material-photo img{width:100%;height:520px;display:block;object-fit:cover;transition:transform .7s}.material-photo:hover img{transform:scale(1.025)}.material-photo>span{position:absolute;left:14px;bottom:14px;background:#0c2238df;color:#e1c994;border:1px solid #ffffff2a;border-radius:4px;padding:9px 12px;font-size:8px;letter-spacing:1.1px}.material-story p,.timber-story p,.family-story p,.aframe-story p{color:#647078;line-height:1.9}.timber-story{background:#eee9de}.timber-story .material-photo img{height:510px}.family-story{background:#f7f4ed}.family-story .material-photo img{height:480px}.aframe-story{background:radial-gradient(ellipse at 15% 90%,#38556c,#0b2138 70%);color:white}.aframe-story p{color:#c5d1d8}.aframe-story .eyebrow{color:#dec58e}.aframe-blueprint{position:relative;background:linear-gradient(160deg,#0c2137,#21425a);border:1px solid #c59a5855;border-radius:8px;padding:28px 20px 20px;box-shadow:0 22px 60px #04122240;overflow:hidden}.aframe-blueprint:after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#bfd3e00e 1px,transparent 1px),linear-gradient(90deg,#bfd3e00e 1px,transparent 1px);background-size:28px 28px}.aframe-blueprint>span{font-size:8px;letter-spacing:1.5px;color:#ddc68f;position:relative;z-index:1}.aframe-blueprint svg{display:block;width:100%;margin-top:8px;filter:drop-shadow(0 8px 18px #0004);position:relative;z-index:1}.blueprint-ground{stroke:#a4b8c3;stroke-width:2;fill:none;stroke-dasharray:8 8}.blueprint-form{stroke:#d0ad6c;stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:900;stroke-dashoffset:0;animation:blueprint-trace 8s ease-in-out infinite}.blueprint-labels{position:relative;z-index:1;display:flex;justify-content:space-between;gap:6px;color:#aebdc4;font-size:7px;letter-spacing:1px;margin-top:8px}.process-compact{background:#f3efe5}.process-mini{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.process-mini article{border-top:1px solid #c2a56d;padding:20px 4px}.process-mini b{font-size:11px;color:#a88145}.process-mini h3{margin:14px 0 8px;font-size:17px}.process-mini p{font-size:11px;color:#67727a;line-height:1.7}.contact-banner{background:linear-gradient(130deg,#132c42,#0b2036);color:#fff;text-align:center}.contact-banner .wrap{max-width:900px}.contact-banner .eyebrow{justify-content:center;color:#dec58e}.contact-banner h2{margin:22px 0}.contact-banner h2 em{color:#d7b878}.contact-banner p{color:#c6d1d8}.contact-banner .actions{justify-content:center}.contact-banner .btn{border-radius:5px}
@keyframes blueprint-trace{0%,100%{stroke-dashoffset:900;opacity:.58}52%{stroke-dashoffset:0;opacity:1}}
@media(max-width:1000px){.signature-section{padding:72px 0}.signature-grid{grid-template-rows:210px 210px}.viewer-layout{grid-template-columns:minmax(0,1.15fr) minmax(275px,.85fr);gap:22px}.viewer-stage{min-height:340px}.material-photo img{height:430px}.process-mini{gap:10px}}
@media(max-width:760px){.signature-section{padding:56px 0 62px}.signature-section .section-head{display:block}.signature-intro{max-width:100%;margin-top:18px}.signature-grid{grid-template-columns:1fr 1fr;grid-template-rows:220px 200px 180px;gap:10px}.signature-stone{grid-row:span 2}.signature-wood{grid-column:span 1}.signature-family{grid-column:span 1}.signature-aframe{grid-column:1/-1}.signature-title{left:14px;right:14px;bottom:14px;font-size:16px}.signature-index{left:14px;top:14px;font-size:7px}.signature-intro .btn{width:100%}.viewer-layout{grid-template-columns:1fr;gap:21px}.viewer-stage{min-height:300px;aspect-ratio:1.08}.viewer-controls{padding:0}.material-story .split,.timber-story .split,.family-story .split,.aframe-story .split{grid-template-columns:1fr;gap:28px}.material-story .split>div:first-child{order:0}.timber-story .split>div:first-child{order:0}.material-photo img,.timber-story .material-photo img,.family-story .material-photo img{height:min(115vw,460px)}.process-mini{grid-template-columns:1fr 1fr;gap:8px 16px}.process-mini article:last-child{grid-column:1/-1}.process-mini h3{font-size:16px}.contact-banner .actions{align-items:stretch;flex-direction:column}.contact-banner .actions .btn{width:100%}.viewer-top,.viewer-bottom{padding:14px}.viewer-top{font-size:8px}.viewer-controls .style-choice{min-height:76px}.aframe-blueprint{max-width:580px;margin:auto}}
@media(max-width:390px){.signature-grid{grid-template-rows:190px 180px 160px}.signature-title{font-size:14px}.viewer-stage{min-height:260px}.viewer-hint{font-size:8px}.viewer-bottom strong{font-size:15px}.viewer-arrows button{min-width:40px;min-height:40px}.style-choice{grid-template-columns:25px 1fr 18px;padding:15px 10px}.signature-intro .btn{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-arrive{animation:none}.signature-card img,.material-photo img,.viewer-photo{transition:none}.blueprint-form{animation:none;stroke-dashoffset:0}.viewer-model svg{transition:none}}

/* Footer navigation balances the established dark blue and warm brass identity. */
footer .foot{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(170px,.8fr) minmax(210px,.9fr) auto;align-items:start;gap:30px}footer .foot>a:not(.btn){align-self:center;color:#dec58e;font-size:11px;font-weight:700;padding:12px 0;border-bottom:1px solid #dec58e70}footer .foot>div:nth-child(2)>a{color:#f3ead8;font-size:12px;font-weight:700}footer .footer-offices>div{padding:20px;background:#ffffff08;border:1px solid #ffffff12;border-radius:6px}footer .real-estate-spotlight{border:1px solid #dec58e30;border-radius:7px;padding:20px;background:linear-gradient(120deg,#ffffff08,#c39a5310)}@media(max-width:1020px){footer .foot{grid-template-columns:1fr 1fr;gap:20px}footer .foot>div:first-child{grid-column:1/-1}footer .foot>div:nth-child(2){grid-column:1/-1}footer .foot>a:not(.btn){align-self:center}footer .footer-offices{gap:12px}}@media(max-width:560px){footer .foot{grid-template-columns:1fr}footer .foot>div:first-child,footer .foot>div:nth-child(2){grid-column:auto}footer .footer-offices{grid-template-columns:1fr}}
