.virtual-tours-page .skip-link:not(:focus) { clip-path:inset(50%); }
.vt-main { background:#080f16; color:#eef5fb; }
.vt-main [hidden] { display:none!important; }
.vt-shell { width:calc(100% - 80px); max-width:1280px; margin-inline:auto; }
.vt-section { padding-block:90px; }
.vt-main h1,.vt-main h2,.vt-main h3 { font-family:var(--display); }
.vt-main h2 { font-size:clamp(30px,3.2vw,46px); line-height:1.12; letter-spacing:-.015em; }
.vt-main h3 { font-size:22px; line-height:1.25; }
.vt-main p { font-size:16px; line-height:1.75; color:#bdcdda; }
.vt-main p+p { margin-top:18px; }
.vt-main .vt-eyebrow { font:11px/1.6 var(--mono); letter-spacing:.15em; color:#64d4ff; margin-bottom:22px; }
.vt-main .vt-intro { font-size:21px; line-height:1.6; color:#e0eaf2; }
.vt-main .vt-note { font-size:13px; color:#a7bfd0; }
.vt-main a:not(.button) { text-underline-offset:4px; }
.vt-main p a,.vt-photo figcaption a { color:#83dcff; text-decoration:underline; }
.vt-main .button { margin:26px 6px 0; }
.vt-link { display:inline-flex; align-items:center; gap:18px; color:#76d9ff; font:600 13px/1.5 var(--display); min-height:44px; }
.vt-link:hover { color:#fff; text-decoration:underline; }
.vt-hero { background:radial-gradient(ellipse at 90% 0,#17395288,transparent 65%),#070f18; padding-top:38px; }
.vt-hero-top { display:flex; justify-content:space-between; gap:20px; border-bottom:1px solid #294454; margin-bottom:34px; }
.vt-location { font:10px/1.6 var(--mono); letter-spacing:.12em; color:#9cb7ca; }
.vt-hero-heading { display:grid; grid-template-columns:1.2fr 1fr; gap:65px; align-items:start; margin-bottom:36px; }
.vt-hero-heading h1 { font-size:clamp(35px,3.65vw,53px); line-height:1.06; letter-spacing:-.025em; }
.vt-hero-heading h1 span { color:#71d8ff; }
.vt-main .vt-hero-lead { color:#ebf4fa; font-size:18px; line-height:1.6; }
.vt-hero-heading p+p { font-size:14px; }
.vt-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px 24px; margin-top:22px; }
.vt-actions .button { margin-top:0; }
.vt-hero-image { margin:0; position:relative; background:#111b21; border:1px solid #375568; }
.vt-hero-image > img { width:100%; height:auto; display:block; }
.vt-hero.vt-hero--fullbleed { padding:0; }
.vt-hero--fullbleed .vt-hero-image { border:0; }
.vt-accessible-heading { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.vt-hero-caption { position:absolute; left:30px; top:30px; padding:20px 24px; border-left:2px solid #65d7ff; background:#06111aec; max-width:380px; }
.vt-hero-caption > span { color:#d9f4ff; font:11px/1.7 var(--mono); letter-spacing:.1em; }
.vt-hero-caption p { font-size:15px; margin-top:8px; }
.vt-hero-image figcaption,.vt-photo figcaption { padding:10px 14px; color:#9ab2c4; font-size:11px; line-height:1.5; background:#09151f; }
.vt-hero-image figcaption a { color:#8ddfff; }
.vt-hero-register { display:flex; justify-content:space-between; gap:20px; padding-block:24px; font:11px/1.5 var(--mono); color:#9abacb; }
.vt-section-top { display:flex; justify-content:space-between; gap:20px; border-bottom:1px solid #29414f; margin-bottom:35px; }
.vt-section-top > span { font:10px var(--mono); color:#728e9f; letter-spacing:.15em; padding-top:4px; }
.vt-editorial { display:grid; grid-template-columns:1fr 1.2fr; gap:55px; align-items:center; }
.vt-editorial h2 { margin-bottom:25px; }
.vt-editorial .vt-intro { margin-bottom:17px; }
.vt-photo { margin:0; border:1px solid #2d485b; overflow:hidden; }
.vt-photo img { display:block; width:100%; height:auto; }
.vt-benefits { display:grid; grid-template-columns:1fr 2fr; gap:40px; padding-top:40px; margin-top:40px; border-top:1px solid #29414f; }
.vt-checks { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:15px 25px; }
.vt-checks li { padding-left:20px; position:relative; color:#dbeaf3; font-size:14px; line-height:1.6; }
.vt-checks li::before { content:'✓'; position:absolute; left:0; color:#50cfff; font-size:13px; }
.vt-rental-band { background:#102332; border-block:1px solid #2d4d61; }
.vt-rental-heading { display:grid; grid-template-columns:1fr 1fr; gap:70px; margin-bottom:40px; }
.vt-rental-heading h2 { font-size:clamp(35px,3.65vw,52px); }
.vt-rental-heading h2 span { color:#70d6ff; }
.vt-rental-detail { display:grid; grid-template-columns:1.25fr 1fr; gap:55px; align-items:center; }
.vt-rental-detail h3 { margin-bottom:16px; }
.vt-property-types { list-style:none; padding:0; margin:24px 0 0; display:grid; grid-template-columns:1fr 1fr; gap:10px 22px; }
.vt-property-types li { border-top:1px solid #355568; padding-top:10px; font-size:13px; color:#c8e0ed; }
.vt-commercial-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:100px; }
.vt-commercial-grid h2 { margin-bottom:25px; }
.vt-commercial-index { padding-top:5px; }
.vt-commercial-index h3 { margin-bottom:20px; }
.vt-commercial-index p { border-bottom:1px solid #2c4352; margin:0!important; padding:17px 0; color:#dbeaf4; }
.vt-commercial-index p span { font:11px var(--mono); color:#59cdf8; margin-right:25px; }
.vt-commercial-footer { display:grid; grid-template-columns:1.2fr 1fr; gap:70px; align-items:center; margin-top:44px; }
.vt-commercial-footer > p { font:500 27px/1.5 var(--display); padding-left:25px; border-left:2px solid #5bcef7; max-width:460px; }
.vt-yacht { background:radial-gradient(ellipse at 90% 30%,#123e55aa,transparent 60%),repeating-linear-gradient(0deg,transparent,transparent 39px,#559cc20b 40px),#061a27; border-block:1px solid #2c5268; }
.vt-yacht-heading { position:relative; padding-right:200px; }
.vt-yacht-heading h2 { font-size:clamp(36px,4.3vw,62px); }
.vt-yacht-mark { position:absolute; right:0; top:15px; width:170px; height:170px; display:grid; place-items:center; border:1px solid #427189; border-radius:50%; font:500 45px var(--display); color:#6ccee9; outline:1px solid #294c60; outline-offset:14px; }
.vt-yacht-body { display:grid; grid-template-columns:1.1fr 1fr; gap:90px; margin-top:45px; }
.vt-yacht-spaces > span { font:10px/1.5 var(--mono); letter-spacing:.13em; color:#77aec8; }
.vt-yacht-spaces p { padding:16px 0; border-bottom:1px solid #32556a; color:#d8eaf2; display:flex; justify-content:space-between; margin:0!important; }
.vt-yacht-spaces p span { color:#70d8f8; }
.vt-yacht-spaces .vt-link { margin-top:20px; }
.vt-deliverable-head { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:end; margin-bottom:35px; }
.vt-deliverable-body { display:grid; grid-template-columns:1fr 1fr; gap:55px; align-items:center; }
.vt-deliverable-body h3 { margin-bottom:22px; }
.vt-deliverable-body .vt-note { margin-top:24px; }
.vt-process-band { background:#10202e; border-block:1px solid #294b60; }
.vt-process { list-style:none; padding:0; margin:42px 0 0; display:grid; grid-template-columns:repeat(4,1fr); gap:32px; }
.vt-process li { border-top:1px solid #50748a; padding-top:22px; }
.vt-process li>span { display:block; font:38px var(--display); color:#60c9ee; margin-bottom:25px; }
.vt-process h3 { font-size:20px; margin-bottom:14px; }
.vt-process p { font-size:14px; }
.vt-tech { display:grid; grid-template-columns:.85fr 1.15fr; gap:75px; align-items:center; }
.vt-tech figure { position:relative; margin:0; text-align:center; min-height:475px; display:grid; justify-items:center; align-content:center; background:radial-gradient(ellipse,#1d3c51,transparent 65%); }
.vt-tech img { position:relative; height:385px; width:auto; z-index:1; }
.vt-tech figcaption { position:relative; color:#729aaf; font-size:11px; padding-top:22px; }
.vt-orbit { position:absolute; width:95%; aspect-ratio:1; max-height:460px; border:1px solid #274252; border-radius:50%; top:0; }
.vt-tech h2 { margin-bottom:25px; }
.vt-tech-facts { display:flex; flex-wrap:wrap; gap:12px 24px; margin-block:28px; border-block:1px solid #294252; padding-block:18px; font:12px var(--mono); color:#87d7f3; }
.vt-tech .vt-link { margin-top:25px; }
.vt-audience-band { border-block:1px solid #29414f; background:#0a1721; }
.vt-audience-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:36px 30px; }
.vt-audience-grid h2 { grid-column:span 2; font-size:42px; }
.vt-audience-grid article { border-top:1px solid #3a586a; padding-top:18px; }
.vt-audience-grid article>span { color:#60c8ee; font:10px var(--mono); }
.vt-audience-grid h3 { margin-block:18px 12px; font-size:22px; }
.vt-audience-grid p { font-size:14px; }
.vt-construction { display:grid; grid-template-columns:1fr 1.2fr; gap:60px; border-top:1px solid #29414f; margin-top:50px; padding-top:32px; }
.vt-region { display:grid; grid-template-columns:1.1fr 1fr; gap:85px; }
.vt-region h2 { font-size:clamp(32px,3.4vw,47px); }
.vt-main .go3d-faq h2 { margin-bottom:30px; }
.vt-main .go3d-faq details { padding-block:20px; border-bottom:1px solid #35516a; }
.vt-main .go3d-faq summary { cursor:pointer; color:#e1edf6; font-size:18px; line-height:1.5; }
.vt-main .go3d-faq details p { margin-top:14px; }
.vt-main .go3d-faq summary:hover { color:var(--cyan); }
.vt-contact-band { background:#102333; border-top:1px solid #34566c; }
.vt-contact { display:grid; grid-template-columns:1fr 1.3fr; gap:75px; align-items:start; }
.vt-contact h2 { margin-bottom:25px; }
.vt-contact-links { display:grid; gap:14px; margin-top:30px; font-size:15px; }
.vt-contact-links span { color:#51c8f5; margin-right:9px; }
.vt-contact .form-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px 18px; }
.vt-contact label { display:block; font-size:13px; line-height:1.6; color:#d4e4ef; }
.vt-contact input,.vt-contact textarea,.vt-contact select { margin-top:7px; font-size:16px; }
.vt-contact label:has(select),.vt-contact .full-width { grid-column:1/-1; }
.vt-main #forensic-form [hidden] { display:none!important; }
@media(max-width:1100px) {
 .vt-shell { width:calc(100% - 64px); }
 .vt-hero-heading { gap:35px; grid-template-columns:1fr 1fr; }
 .vt-hero-heading h1 { font-size:38px; }
 .vt-commercial-grid,.vt-yacht-body,.vt-region { gap:45px; }
 .vt-editorial,.vt-rental-detail,.vt-deliverable-body,.vt-contact { gap:35px; }
 .vt-hero-caption { max-width:320px; }
 .vt-audience-grid { grid-template-columns:repeat(3,1fr); }
 .vt-audience-grid h2 { grid-column:span 2; }
}
@media(max-width:850px) {
 .vt-section { padding-block:62px; }
 .vt-shell { width:calc(100% - 48px); }
 .vt-location,.vt-section-top>span { display:none; }
 .vt-hero-heading { grid-template-columns:1fr; gap:25px; }
 .vt-hero-heading h1 { font-size:clamp(35px,6vw,47px); }
 .vt-hero-heading>div { max-width:620px; }
 .vt-hero-image>img { height:auto; }
 .vt-hero-caption { position:static; max-width:none; border-left:0; border-bottom:1px solid #345468; padding:18px; }
 .vt-hero-caption p { display:none; }
 .vt-editorial,.vt-rental-heading,.vt-rental-detail,.vt-commercial-grid,.vt-commercial-footer,.vt-deliverable-head,.vt-deliverable-body,.vt-region,.vt-contact { grid-template-columns:1fr; gap:30px; }
 .vt-editorial .vt-photo { margin-top:5px; }
 .vt-rental-heading { margin-bottom:30px; }
 .vt-rental-heading h2 br { display:none; }
 .vt-benefits { grid-template-columns:1fr; gap:22px; }
 .vt-commercial-footer { grid-template-columns:1.2fr 1fr; gap:30px; }
 .vt-commercial-footer>p { font-size:22px; }
 .vt-yacht-heading { padding-right:140px; }
 .vt-yacht-mark { width:100px; height:100px; font-size:32px; top:65px; }
 .vt-yacht-body { grid-template-columns:1fr; gap:35px; }
 .vt-process { grid-template-columns:1fr 1fr; }
 .vt-tech { gap:30px; grid-template-columns:.7fr 1fr; }
 .vt-tech img { height:310px; }
 .vt-tech figure { min-height:380px; }
 .vt-audience-grid { grid-template-columns:1fr 1fr; }
 .vt-audience-grid h2 { font-size:36px; }
 .vt-construction { grid-template-columns:1fr; gap:20px; }
}
@media(max-width:500px) {
 .vt-shell { width:calc(100% - 40px); }
 .vt-section { padding-block:48px; }
 .vt-main h2 { font-size:32px; }
 .vt-hero { padding-top:26px; }
 .vt-hero-top { margin-bottom:24px; }
 .vt-hero-heading h1 { font-size:35px; }
 .vt-hero-heading h1 br { display:none; }
 .vt-main .vt-hero-lead { font-size:16px; }
 .vt-hero-register { flex-wrap:wrap; gap:11px; font-size:10px; }
 .vt-hero-image figcaption,.vt-photo figcaption { font-size:10px; }
 .vt-actions { gap:18px; }
 .vt-main .vt-intro { font-size:19px; }
 .vt-checks,.vt-property-types { grid-template-columns:1fr; }
 .vt-commercial-footer { grid-template-columns:1fr; }
 .vt-yacht-heading { padding-right:0; }
 .vt-yacht-mark { position:static; width:80px; height:80px; outline-offset:6px; margin:25px 0 30px 7px; font-size:27px; }
 .vt-main .button { font-size:12px; padding-inline:17px; max-width:calc(100% - 12px); }
 .vt-tech { grid-template-columns:1fr; }
 .vt-tech figure { min-height:350px; }
 .vt-orbit { width:310px; max-width:100%; left:50%; transform:translateX(-50%); }
 .vt-process { gap:28px 20px; }
 .vt-process h3 { font-size:18px; }
 .vt-audience-grid { gap:30px 20px; }
 .vt-audience-grid h3 { font-size:19px; }
 .vt-contact .form-grid { grid-template-columns:1fr; }
 .vt-main .go3d-faq summary { font-size:17px; }
}
