.vd-hero { width:min(1180px,calc(100% - 40px)); margin:auto; padding:84px 0 100px; display:grid; grid-template-columns:1.15fr 1fr; gap:56px; align-items:center; }
.vd-hero h1 { font-size:clamp(48px,6vw,78px); line-height:1; }
.vd-hero .hero-actions { gap:22px; }
.vd-preview { display:block; color:white; text-decoration:none; background:var(--ink); padding:28px; border-radius:24px; box-shadow:0 30px 70px #10241d22; transform:rotate(2deg); }
.vd-preview-top { display:flex; gap:20px; justify-content:space-between; font:600 10px/1.6 Consolas,monospace; letter-spacing:.08em; }
.vd-preview-top > span:last-child { font-size:24px; }
.vd-plan { position:relative; height:310px; margin:30px 0; display:grid; gap:8px; grid-template-columns:1fr .8fr .8fr; grid-template-rows:.45fr 1fr 1fr; transform:perspective(800px) rotateX(18deg) rotateZ(-8deg); }
.vd-room { border:2px solid #ffffffd0; background:#e7e6d7; color:var(--ink); padding:12px; font-size:12px; display:flex; align-items:flex-end; }
.vd-living { grid-column:2/4; grid-row:2; background:var(--lime); justify-content:space-between; }
.vd-living span { font-size:28px; }.vd-terrace {grid-column:2/4;grid-row:1;background:#638275;color:white;}
.vd-bedroom {grid-row:1/3;}.vd-position {position:absolute;width:16px;height:16px;border:4px solid white;box-shadow:0 0 0 10px #1d5b4a33;background:var(--teal);border-radius:50%;left:63%;top:44%;}
.vd-preview-caption { border-top:1px solid #ffffff30; padding-top:20px; display:grid; gap:8px; }.vd-preview-caption strong{font-size:25px;letter-spacing:-.03em;}.vd-preview-caption span{font-size:13px;color:#ffffffb8;}
.vd-statement { padding:90px max(20px,calc((100% - 1180px)/2)); background:white; }.vd-statement h2{max-width:960px;font-size:clamp(34px,4.4vw,59px);}.vd-statement > p:last-child{max-width:730px;font-size:19px;line-height:1.7;margin-top:30px;color:#465349;}
.vd-modes{width:min(1180px,calc(100% - 40px));margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:70px 0 0;}.vd-modes article{border-top:1px solid var(--line);padding:30px 0;}.vd-modes h3{font-size:34px;letter-spacing:-.04em;margin:28px 0 20px;}.vd-modes p{line-height:1.7;color:#465349;}.vd-modes .text-link{display:inline-flex;min-height:44px;align-items:center;}.vd-note{font-size:13px;}
.vd-demo{padding:0 20px 40px;}.vd-demo>div{max-width:1180px;margin:auto;border-radius:28px;padding:clamp(28px,6vw,72px);background:var(--ink);color:white;}.vd-demo h2{max-width:850px;}.vd-demo p{max-width:690px;line-height:1.7;font-size:19px;color:#ffffffc4;margin:28px 0;}.vd-demo .button{background:var(--lime);color:var(--ink);}.vd-demo small{display:block;max-width:680px;line-height:1.6;color:#ffffffa8;margin-top:24px;}
.vd-contact{padding:80px max(20px,calc((100% - 1180px)/2));background:var(--lime);}.vd-contact h2{max-width:900px;}.vd-contact p:not(.eyebrow){max-width:700px;font-size:19px;line-height:1.7;margin:28px 0;}.vd-contact .text-link{display:block;width:fit-content;padding:20px 0;}.vd-contact .button{overflow-wrap:anywhere;max-width:100%;}
.vd-footer{width:min(1180px,calc(100% - 40px));margin:auto;padding:42px 0;display:flex;flex-wrap:wrap;align-items:center;gap:25px;font-size:12px;}.vd-footer img{display:block;max-width:100%;height:auto;}.vd-footer>span{flex:1;}.vd-footer div{display:flex;gap:20px;flex-wrap:wrap;}.vd-footer a{min-height:44px;display:inline-flex;align-items:center;text-underline-offset:4px;}
.vd-footer { width:100%; padding:42px max(20px,calc((100% - 1180px)/2)); }
.vd-contact.contact { width:100%; margin:0; display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; color:var(--ink); }
.vd-contact .contact-copy > p:not(.eyebrow) { color:#465349; }
.vd-contact .contact-panel { min-width:0; }
.vd-contact .turnstile-wrap { display:flex; justify-content:center; min-height:140px; overflow:visible; }
.vd-contact .contact-form p { font-size:12px; line-height:1.6; margin:12px 0; }
.vd-contact .contact-form .button { width:100%; min-height:48px; }
.vd-contact .contact-copy p:not(.eyebrow) { max-width:520px; }
@media(max-width:900px) { .vd-contact.contact { grid-template-columns:1fr; gap:30px; } }
@media(max-width:600px) { .vd-contact .contact-form { padding:20px 16px; } .vd-contact .direct-contact a { font-size:16px; } }
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #39744a;outline-offset:5px;}.vd-hero .button{gap:12px;}.process-intro{top:112px;}.site-header nav a{display:flex;min-height:44px;align-items:center;}
@media(max-width:900px){.vd-hero{grid-template-columns:1fr;gap:48px;padding:50px 0 70px;}.vd-preview{max-width:560px;width:100%;transform:none;}.vd-hero h1{font-size:clamp(45px,8vw,76px);}.vd-modes{gap:28px;}.vd-hero .eyebrow{max-width:350px;}}
@media(max-width:600px){.vd-modes{grid-template-columns:1fr;gap:15px;}.vd-hero{padding-top:36px;}.vd-preview{padding:22px;}.vd-plan{height:240px;gap:6px;}.vd-room{font-size:10px;padding:7px;}.vd-statement{padding-top:65px;padding-bottom:55px;}.vd-statement h2{font-size:36px;}.vd-contact{padding-top:60px;padding-bottom:50px;}.vd-contact .button{font-size:14px;padding:0 16px;}.vd-footer>span{flex-basis:100%;}.vd-demo{padding-left:12px;padding-right:12px;}.process-intro{position:static;}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}
