:root{--v3-gold:#e6bd70;--v3-cream:#fff5df;--v3-green:#07130f;--v3-card:#0c1713}
.villa3d-page{background:#050b09;color:var(--v3-cream)}
.villa3d-page .site-header{background:rgba(5,11,9,.86)}
.v3-hero{padding-top:clamp(130px,13vw,190px);padding-bottom:42px;text-align:center}
.v3-title{max-width:900px;margin:auto}.v3-title .eyebrow{color:var(--v3-gold);font-weight:900;letter-spacing:.05em}.v3-title h1{font-size:clamp(38px,6vw,82px);margin:12px 0;line-height:1.15}.v3-title h1 span{color:var(--v3-gold)}.v3-title>p:last-child{max-width:710px;margin:0 auto;color:rgba(255,245,223,.64);font-size:clamp(15px,1.6vw,20px);line-height:2}
.v3-facts{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:28px}.v3-facts span{border:1px solid rgba(230,189,112,.23);background:rgba(255,255,255,.025);padding:9px 16px;border-radius:999px;color:rgba(255,245,223,.6)}.v3-facts b{color:var(--v3-cream);margin-left:5px}
.v3-viewer-shell{padding-bottom:70px}.v3-viewer{height:min(72vw,760px);min-height:560px;position:relative;overflow:hidden;border-radius:38px;border:1px solid rgba(230,189,112,.32);background:radial-gradient(circle at 50% 10%,#183128 0,#07100d 62%,#030706 100%);box-shadow:0 35px 100px rgba(0,0,0,.46),inset 0 0 100px rgba(230,189,112,.04)}
.v3-viewer canvas{width:100%;height:100%;display:block;touch-action:pan-y;cursor:grab}.v3-viewer canvas:active{cursor:grabbing}
.v3-loading,.v3-error{position:absolute;inset:0;z-index:20;display:grid;place-content:center;text-align:center;background:#07100d;transition:.45s}.v3-loading.is-done{opacity:0;visibility:hidden}.v3-loading img{width:62px;margin:0 auto 18px}.v3-loading strong{font-size:20px}.v3-loading div{width:220px;height:5px;background:#1b2924;border-radius:5px;margin:18px auto 8px;overflow:hidden}.v3-loading i{display:block;width:0;height:100%;background:linear-gradient(90deg,#9f7334,#f2cf87);transition:.2s}.v3-loading span{color:var(--v3-gold)}.v3-error{background:#090e0c}.v3-error button{border:1px solid var(--v3-gold);color:var(--v3-gold);background:transparent;border-radius:12px;padding:10px 20px;margin:auto}
.v3-error[hidden]{display:none!important}
.v3-hint{position:absolute;top:18px;left:50%;transform:translateX(-50%);padding:8px 15px;border:1px solid rgba(230,189,112,.22);background:rgba(5,10,8,.72);backdrop-filter:blur(12px);border-radius:99px;color:rgba(255,245,223,.72);font-size:12px;z-index:5;transition:.3s}.v3-hint.is-hidden{opacity:0}
.v3-toolbar{position:absolute;z-index:6;display:flex;gap:6px}.v3-toolbar-main{right:18px;top:18px;flex-direction:column}.v3-toolbar button{width:44px;height:44px;border:1px solid rgba(230,189,112,.28);border-radius:13px;background:rgba(4,10,8,.76);color:var(--v3-gold);font-size:21px;backdrop-filter:blur(10px);transition:.2s}.v3-toolbar button:hover,.v3-toolbar button.is-active{background:var(--v3-gold);color:#0a0e0c}
.v3-presets{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);z-index:6;display:flex;gap:4px;padding:5px;background:rgba(4,10,8,.78);border:1px solid rgba(230,189,112,.23);border-radius:15px;backdrop-filter:blur(12px)}.v3-presets button{border:0;background:transparent;color:rgba(255,245,223,.64);padding:9px 16px;border-radius:10px}.v3-presets button.is-active{background:rgba(230,189,112,.18);color:var(--v3-gold)}
.v3-hotspot{position:absolute;left:var(--x);top:var(--y);z-index:5;border:0;background:none;color:var(--v3-cream);display:flex;align-items:center;gap:7px;transform:translate(-50%,-50%)}.v3-hotspot i{width:17px;height:17px;border-radius:50%;background:var(--v3-gold);box-shadow:0 0 0 7px rgba(230,189,112,.12),0 0 28px #e6bd70;animation:v3pulse 2s infinite}.v3-hotspot span{background:rgba(5,10,8,.75);border:1px solid rgba(230,189,112,.2);padding:5px 9px;border-radius:8px;font-size:11px}.v3-info-popover{position:absolute;z-index:9;right:82px;top:82px;width:min(300px,calc(100% - 120px));padding:20px;border:1px solid rgba(230,189,112,.34);border-radius:18px;background:rgba(5,12,9,.94);box-shadow:0 20px 60px #000}.v3-info-popover button{position:absolute;left:12px;top:9px;border:0;background:none;color:#fff;font-size:22px}.v3-info-popover strong{color:var(--v3-gold)}.v3-info-popover p{color:rgba(255,245,223,.65);line-height:1.9;margin:8px 0 0}
@keyframes v3pulse{50%{box-shadow:0 0 0 11px rgba(230,189,112,0),0 0 32px #e6bd70}}
.v3-specs,.v3-materials{padding-bottom:90px}.v3-section-head{text-align:center;margin-bottom:32px}.v3-section-head p{color:var(--v3-gold);font-weight:900;margin:0}.v3-section-head h2{font-size:clamp(28px,4vw,52px);margin:8px 0}
.v3-spec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.v3-spec-grid article{position:relative;min-height:160px;padding:28px;border:1px solid rgba(230,189,112,.2);border-radius:24px;background:linear-gradient(145deg,rgba(18,37,29,.76),rgba(7,14,11,.92))}.v3-spec-grid span{position:absolute;left:20px;top:18px;color:rgba(230,189,112,.3);font-size:30px;font-weight:900}.v3-spec-grid b{display:block;font-size:23px;color:var(--v3-gold);margin-top:38px}.v3-spec-grid small{color:rgba(255,245,223,.55)}
.v3-material-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.v3-material-list button{display:grid;grid-template-columns:54px 1fr;grid-template-rows:auto auto;text-align:right;gap:0 14px;padding:18px;border:1px solid rgba(230,189,112,.18);border-radius:19px;color:var(--v3-cream);background:#0b1511}.v3-material-list button.is-active{border-color:var(--v3-gold);box-shadow:inset 0 0 25px rgba(230,189,112,.06)}.v3-material-list i{grid-row:1/3;width:54px;height:54px;border-radius:14px;background:#d6d1c6}.v3-material-list [data-material=warm] i{background:#b7a385}.v3-material-list [data-material=stone] i{background:linear-gradient(135deg,#d8d2c4,#80786a)}.v3-material-list span{color:rgba(255,245,223,.48)}
.v3-cta{margin-bottom:100px;padding:clamp(28px,5vw,64px);display:flex;align-items:center;justify-content:space-between;gap:30px;border:1px solid rgba(230,189,112,.28);border-radius:30px;background:radial-gradient(circle at 90% 0,rgba(230,189,112,.12),transparent 45%),#0a1611}.v3-cta p{color:var(--v3-gold)}.v3-cta h2{font-size:clamp(27px,4vw,50px);margin:8px 0}.v3-cta>div:last-child{display:flex;gap:9px;flex-wrap:wrap}
.v3-dialog{width:min(760px,calc(100% - 24px));max-height:92vh;padding:0;border:1px solid rgba(230,189,112,.34);border-radius:28px;color:var(--v3-cream);background:#09130f;box-shadow:0 35px 120px #000;overflow:auto}.v3-dialog::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(8px)}.v3-form{position:relative;padding:clamp(24px,5vw,48px)}.v3-form>p{color:var(--v3-gold);margin:0}.v3-form h2{font-size:32px;margin:6px 0 24px}.v3-dialog-close{position:absolute;left:20px;top:16px;border:0;background:none;color:var(--v3-cream);font-size:32px}.v3-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.v3-form label{color:rgba(255,245,223,.68);font-size:13px}.v3-form label.full{grid-column:1/-1}.v3-form input,.v3-form select,.v3-form textarea{width:100%;margin-top:7px;padding:13px;border:1px solid rgba(230,189,112,.2);border-radius:12px;color:var(--v3-cream);background:#101d18;outline:none}.v3-form input:focus,.v3-form select:focus,.v3-form textarea:focus{border-color:var(--v3-gold)}.v3-form .btn{margin-top:18px}.v3-form>small{display:block;text-align:center;color:rgba(255,245,223,.4);margin-top:12px}.v3-form .errorlist{color:#ff9d8e;margin:4px 0;padding:0;list-style:none}
@media(min-width:0px){.v3-hero{padding-top:105px}.v3-viewer-shell{padding-inline:0}.v3-viewer{height:72vh;min-height:560px;border-radius:0;border-inline:0}.v3-toolbar-main{right:10px;top:58px}.v3-toolbar button{width:40px;height:40px}.v3-presets{width:calc(100% - 20px);bottom:10px;overflow:auto;justify-content:flex-start}.v3-presets button{flex:0 0 auto}.v3-hint{top:10px;white-space:nowrap}.v3-hotspot span{display:none}.v3-hotspot{display:none}.v3-spec-grid{grid-template-columns:1fr 1fr}.v3-spec-grid article{min-height:135px;padding:18px}.v3-spec-grid b{font-size:18px}.v3-material-list{grid-template-columns:1fr}.v3-cta{display:block;margin-inline:12px}.v3-cta>div:last-child{margin-top:22px}.v3-cta .btn{width:100%}.v3-form-grid{grid-template-columns:1fr}.v3-form label.full{grid-column:auto}}
@media(max-width:430px){.v3-spec-grid{grid-template-columns:1fr}.v3-spec-grid article{min-height:120px}.v3-facts{display:grid;grid-template-columns:1fr 1fr}.v3-facts span{text-align:center;padding:8px}}

@media(min-width:761px){
    .villa3d-page .site-header{width:min(1180px,calc(100% - 40px))}
    .v3-hero{width:min(1080px,calc(100% - 40px));padding-top:150px}
    .v3-title{max-width:760px;margin-inline:auto;text-align:center}
    .v3-title h1{font-size:clamp(42px,4.6vw,66px)}
    .v3-title>p:last-child{font-size:16px}
    .v3-facts{max-width:760px;margin-inline:auto}
    .v3-viewer-shell{width:min(1180px,calc(100% - 40px));padding-inline:0}
    .v3-viewer{height:min(78vh,780px);min-height:650px;border:1px solid rgba(230,189,112,.26);border-radius:30px}
    .v3-toolbar-main{right:18px;top:72px}
    .v3-toolbar button{width:46px;height:46px}
    .v3-presets{width:min(720px,calc(100% - 40px));right:50%;bottom:18px;justify-content:center;transform:translateX(50%)}
    .v3-hint{top:18px}
    .v3-specs,.v3-materials,.v3-cta{width:min(1000px,calc(100% - 40px))}
    .v3-spec-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
    .v3-spec-grid article{min-height:160px;padding:25px}
    .v3-spec-grid b{font-size:22px}
    .v3-material-list{grid-template-columns:repeat(3,minmax(0,1fr))}
    .v3-cta{max-width:900px;margin-inline:auto;text-align:center}
    .v3-cta>div:last-child{display:flex;justify-content:center;gap:12px}
    .v3-cta .btn{width:auto;min-width:280px}
    .v3-dialog{width:min(760px,calc(100% - 40px))}
    .v3-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .v3-form label.full{grid-column:1/-1}
}
