/* Forestville Apartments website 2586: page and component layer.
   Sits on top of the design system styles.css (tokens, type, panels, buttons, bars, forms).
   Component rules are lifted from the design system web cards (header, footer, apartment card,
   availability table, FAQ, sales centre, stamp duty, booking form, popup) and made responsive. */

@media (max-width:760px){
  :root{--fva-display:var(--fva-display-m);--fva-h1:var(--fva-h1-m);--fva-h2:var(--fva-h2-m);--fva-h3:var(--fva-h3-m);--fva-lede:var(--fva-lede-m);--fva-body:var(--fva-body-m)}
}
a{color:inherit}
a:hover{color:inherit}
.fv-wrap{max-width:var(--fva-content-max);margin:0 auto;width:100%}
.fv-hide-d{display:none!important}
@media (max-width:760px){.fv-hide-m{display:none!important}.fv-hide-d{display:revert!important}}

/* Grids */
.fv-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.fv-split--57{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.fv-split--75{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.fv-cols{display:grid;gap:32px;grid-template-columns:repeat(3,minmax(0,1fr))}
.fv-cols--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.fv-cols--4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1100px){.fv-cols--4{grid-template-columns:repeat(2,minmax(0,1fr))}.fv-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:960px){.fv-split,.fv-split--57,.fv-split--75,.fv-split--39{grid-template-columns:minmax(0,1fr)}}
@media (max-width:1100px) and (min-width:761px){:root{--fva-h1:44px;--fva-display:56px}}
@media (max-width:760px){.fv-split,.fv-split--57,.fv-split--75,.fv-cols,.fv-cols--2,.fv-cols--4{grid-template-columns:minmax(0,1fr)}}

/* Header */
.fv-util{background:var(--fva-ochre);color:var(--fva-earth);font-size:14px;font-weight:500;display:flex;flex-wrap:wrap;gap:8px 28px;align-items:center;justify-content:center;text-align:center;padding:12px var(--fva-panel-pad-x)}
.fv-util span,.fv-util a{display:inline-flex;gap:8px;align-items:center;text-decoration:none}
.fv-util a:hover{text-decoration:underline}
.fv-util .fva-icon{width:16px;height:16px;color:var(--fva-clay)}
.fv-util .fva-placeholder{color:var(--fva-clay)}
.fv-hd{background:var(--fva-clay);display:flex;align-items:center;justify-content:space-between;gap:48px;padding:40px var(--fva-panel-pad-x) 32px}
.fv-hd-actions{display:flex;gap:16px;align-items:center}
.fv-hd-actions .fva-btn{padding:14px 22px;white-space:nowrap}
.fv-hd-actions .fva-btn--outline{background:transparent;color:var(--fva-ochre);border:1px solid var(--fva-ochre)}
.fv-hd-actions .fva-btn--outline:hover{background:var(--fva-ochre);color:var(--fva-clay)}
.fv-hd .wm{height:72px;width:auto}
.fv-nav{background:var(--fva-earth);display:flex;justify-content:center;align-items:center;gap:56px;color:var(--fva-white);margin:0;padding:20px var(--fva-panel-pad-x)}
header{background:var(--fva-clay)}
.fv-nav > a:not(.fva-btn){white-space:nowrap;font-size:14px;font-weight:500;text-transform:uppercase;letter-spacing:var(--fva-caps-tracking);text-decoration:none;padding:10px 2px 8px;border-bottom:2px solid rgba(205,169,153,.55);transition:color .15s,border-color .15s}
.fv-nav > a:not(.fva-btn):hover{color:var(--fva-ochre);border-bottom-color:var(--fva-ochre)}
.fv-nav > a[aria-current]{color:var(--fva-ochre);border-bottom-color:var(--fva-ochre)}
.fv-nav .fva-btn{padding:14px 22px}
.fv-mbtn{width:48px;height:48px;display:none;align-items:center;justify-content:center;background:transparent;border:1px solid var(--fva-ochre);color:var(--fva-ochre);cursor:pointer}
.fv-mnav{background:var(--fva-clay);color:var(--fva-white);display:flex;flex-direction:column}
.fv-mnav a{padding:18px 20px;border-top:1px solid rgba(255,255,255,.25);text-decoration:none;font-size:14px;text-transform:uppercase;letter-spacing:var(--fva-caps-tracking);font-weight:400}
@media (max-width:1180px){.fv-nav,.fv-hd-actions{display:none}.fv-mbtn{display:flex}.fv-hd{padding-bottom:40px}}
@media (max-width:760px){
  .fv-util{padding:10px 20px;font-size:12px;gap:6px 16px}
  .fv-hd{padding:36px 20px;gap:20px}
  .fv-hd .wm{height:52px}
}

/* Footer */
.fv-cb{background:var(--fva-cobrand-green);display:flex;justify-content:center;padding:48px 20px}
.fv-cb img{width:300px}
.fv-ft{background:var(--fva-earth);color:var(--fva-white);padding:72px var(--fva-panel-pad-x) 32px;display:flex;flex-direction:column;gap:48px}
.fv-ft-top{display:grid;grid-template-columns:auto repeat(3,minmax(0,1fr));gap:48px 72px;align-items:start}
.fv-ft-top .wm{height:96px;width:auto;margin:0}
.fv-ft h2{font:400 12px/1 var(--fva-font-body);text-transform:uppercase;letter-spacing:var(--fva-caps-tracking);color:var(--fva-ochre);margin:0 0 14px}
.fv-ft p{margin:0;font-size:14px;line-height:1.7}
.fv-ft ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:14px}
.fv-ft a{text-decoration:none}.fv-ft a:hover{text-decoration:underline}
.fv-ft .fva-placeholder{color:var(--fva-ochre)}
.fv-team{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;border-top:1px solid rgba(205,169,153,.35);padding-top:32px;align-items:start}
.fv-team p{font-size:12px}
.fv-legal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 32px;align-items:start;border-top:1px solid rgba(205,169,153,.35);padding-top:24px;font-size:12px}
.fv-legal p{font-size:12px;line-height:1.5;margin:0}
.fv-legal a{color:inherit}
@media (max-width:760px){.fv-legal{grid-template-columns:1fr}.fv-legal p[style*="right"]{text-align:left!important}}
@media (max-width:1100px){.fv-ft-top{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){
  .fv-ft{padding:56px 20px 28px;gap:36px}
  .fv-ft-top{grid-template-columns:1fr;gap:32px}
  .fv-ft-top .wm{height:64px}
  .fv-team{grid-template-columns:1fr 1fr;gap:24px}
  .fv-cb img{width:220px}
}

/* Apartment type card */
.fv-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
@media (max-width:1100px){.fv-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.fv-cards{grid-template-columns:minmax(0,1fr);gap:24px}}
.fv-card{background:var(--fva-white);color:var(--fva-earth);display:flex;flex-direction:column;text-decoration:none}
.fv-card .fva-render{aspect-ratio:4/3;overflow:hidden}
.fv-card-body{padding:24px 24px 0;display:flex;flex-direction:column;gap:16px;flex:1}
.fv-card h3,.fv-card h2{color:var(--fva-clay)}
.fv-specs{display:flex;flex-wrap:wrap;gap:10px 20px;font-size:14px;font-weight:400;margin:0;padding:0;list-style:none}
.fv-specs li{display:inline-flex;align-items:center;gap:6px}
.fv-specs .fva-icon{color:var(--fva-clay)}
.fv-size{font-size:13px;font-weight:400;color:var(--fva-earth);margin:0}
.fv-card .fva-price-bar{margin:20px 24px 0;padding:16px 0 18px;font-size:18px;background:var(--fva-white);color:var(--fva-clay);border-top:1px solid rgba(112,88,87,.3)}
.fv-card .fv-go{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-top:1px solid rgba(56,47,47,.12);font-size:13px;text-transform:uppercase;letter-spacing:var(--fva-caps-tracking);font-weight:400}
.fv-card:hover .fv-go{background:var(--fva-clay);color:var(--fva-white)}
.fv-card.is-sold .fva-render img{filter:saturate(.55)}
.fv-soldline{margin-top:20px;padding:16px 24px;background:var(--fva-earth);color:var(--fva-ochre);font-size:16px;text-transform:uppercase;letter-spacing:var(--fva-caps-tracking)}
.fv-tagpos{position:absolute;top:14px;left:14px}
.fv-card-cta{background:var(--fva-earth);color:var(--fva-white);display:flex;flex-direction:column;justify-content:space-between;gap:24px;padding:32px}

/* Availability table */
.fv-av{width:100%;border-collapse:collapse;font-size:15px;font-weight:400}
.fv-av th{font-size:11px;text-transform:uppercase;letter-spacing:var(--fva-caps-tracking);text-align:left;font-weight:400;color:var(--fva-clay);padding:12px 16px;border-bottom:1px solid var(--fva-clay)}
.fv-av td{padding:18px 16px;border-bottom:1px solid rgba(112,88,87,.35);vertical-align:middle}
.fv-av tbody tr:hover td{background:rgba(255,255,255,.35)}
.fv-av .num{font:400 22px/1 var(--fva-font-display);color:var(--fva-clay)}
.fv-av .num a{text-decoration:none}
.fv-av .price{font-variant-numeric:tabular-nums}
.fv-av .act{text-align:right}
.fv-av .fva-btn{min-height:40px;padding:10px 18px}
.fv-mrows{display:none}
.fv-mrow{border-bottom:1px solid rgba(112,88,87,.35);padding:18px 0;display:grid;grid-template-columns:1fr auto;gap:8px 16px;font-size:14px;font-weight:400;text-decoration:none;color:inherit}
.fv-mrow .num{font:400 22px/1 var(--fva-font-display);color:var(--fva-clay)}
.fv-mrow dl{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 12px;margin:0}
.fv-mrow dt{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--fva-clay)}
.fv-mrow dd{margin:0}
@media (max-width:760px){.fv-av{display:none}.fv-mrows{display:block}}

/* FAQ */
.fv-faq{border-top:1px solid rgba(205,169,153,.45)}
.fv-faq details{border-bottom:1px solid rgba(205,169,153,.45)}
.fv-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;font-size:20px;font-weight:400;color:var(--fva-white)}
.fv-faq summary::-webkit-details-marker{display:none}
.fv-faq summary .fva-icon{color:var(--fva-ochre)}
.fv-faq summary:hover{color:var(--fva-ochre)}
.fv-faq summary:focus-visible{outline:2px solid var(--fva-ochre);outline-offset:4px}
.fv-faq .i-min{display:none}.fv-faq details[open] .i-min{display:inline-block}.fv-faq details[open] .i-plus{display:none}
.fv-faq .a{padding:0 0 28px;display:flex;flex-direction:column;gap:12px;max-width:40em}
.fv-faq .a p{margin:0}
.fv-faq .req{font-size:13px;font-weight:400;color:var(--fva-ochre)}
/* FAQ on an Ochre ground */
.fv-faq--light{border-top-color:rgba(112,88,87,.45)}
.fv-faq--light details{border-bottom-color:rgba(112,88,87,.45)}
.fv-faq--light summary{color:var(--fva-earth)}
.fv-faq--light summary .fva-icon,.fv-faq--light summary:hover,.fv-faq--light .req{color:var(--fva-clay)}
@media (max-width:760px){.fv-faq summary{font-size:17px;padding:20px 0}}

/* Sales centre block */
.fv-sc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--fva-clay);color:var(--fva-white)}
.fv-sc .fva-slot{min-height:520px;color:var(--fva-white);background:repeating-linear-gradient(135deg,rgba(255,255,255,.12) 0 10px,rgba(255,255,255,.04) 10px 20px)}
.fv-facts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;font-size:16px;font-weight:400}
.fv-facts li{display:flex;gap:12px;align-items:flex-start}
.fv-facts .fva-icon{color:var(--fva-ochre);margin-top:2px}
.fv-facts a{text-decoration:none}.fv-facts a:hover{text-decoration:underline}
.fv-days{display:grid;grid-template-columns:120px 1fr;gap:6px 16px;font-size:14px;margin:0}
.fv-days dt{font-weight:400}.fv-days dd{margin:0}
.fv-days .fva-placeholder{color:var(--fva-ochre)}
@media (max-width:760px){.fv-sc{grid-template-columns:1fr}.fv-sc .fva-slot{min-height:260px;order:-1}.fv-sc .fva-panel{padding:48px 20px}}

/* Stamp duty calculator */
.fv-calc{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);background:var(--fva-white)}
.fv-calc .in{padding:40px;display:flex;flex-direction:column;gap:22px}
.fv-calc .lbl{font-size:13px;font-weight:400;text-transform:uppercase;letter-spacing:.1em;color:var(--fva-clay);display:block;margin:0 0 8px;padding:0}
.fv-calc .fld{border:1px solid var(--fva-clay);min-height:52px;width:100%;display:flex;align-items:center;padding:0 14px;font:400 18px/1.2 var(--fva-font-body);color:var(--fva-earth);background:var(--fva-white);border-radius:0}
.fv-calc select.fld{appearance:none;cursor:pointer}
.fv-calc fieldset{border:0;margin:0;padding:0}
.fv-seg{display:flex;flex-wrap:wrap;gap:8px}
.fv-seg button{border:1px solid var(--fva-clay);background:transparent;color:var(--fva-earth);padding:12px 16px;font:400 14px/1 var(--fva-font-body);min-height:44px;display:inline-flex;align-items:center;cursor:pointer;border-radius:0}
.fv-seg button[aria-pressed="true"]{background:var(--fva-clay);color:var(--fva-white)}
.fv-calc .out{background:var(--fva-earth);color:var(--fva-white);padding:40px;display:flex;flex-direction:column;gap:18px}
.fv-calc .out dl{display:grid;grid-template-columns:1fr auto;gap:12px 16px;margin:0;font-size:15px;font-weight:400}
.fv-calc .out dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
.fv-calc .total{border-top:1px solid rgba(205,169,153,.5);padding-top:16px;display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.fv-calc .total strong{font:400 40px/1 var(--fva-font-display);color:var(--fva-ochre)}
@media (max-width:760px){.fv-calc{grid-template-columns:1fr}.fv-calc .in,.fv-calc .out{padding:28px 20px}}

/* Booking block (inline Book an appointment form) */
.fv-bk{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--fva-clay)}
.fv-bk .fva-form,.fv-pop--wide .fva-form{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}
.fv-wide,.fv-bk .fva-consent,.fv-bk .fva-footer,.fv-bk .fva-confirmation,.fv-bk .fva-generic-error,
.fv-pop--wide .fva-consent,.fv-pop--wide .fva-footer,.fv-pop--wide .fva-confirmation,.fv-pop--wide .fva-generic-error{grid-column:1/-1}
.fva-form-wrapper legend{font-size:14px;font-weight:400;color:var(--fva-white);margin-bottom:10px;padding:0}
.fva-form-wrapper fieldset{border:0;padding:0;margin:0;min-width:0}
.fv-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.fv-sub{display:flex;gap:10px;align-items:center;justify-content:center}
.fv-spin{width:14px;height:14px;border:1.5px solid currentColor;border-right-color:transparent;border-radius:50%;animation:fvspin .8s linear infinite}
@keyframes fvspin{to{transform:rotate(360deg)}}
@media (max-width:760px){.fv-bk{grid-template-columns:1fr}.fv-bk .fva-form,.fv-pop--wide .fva-form{grid-template-columns:1fr}.fv-bk .fva-panel{padding:40px 20px}}

/* Popup */
.fv-overlay{position:fixed;inset:0;z-index:100;background:rgba(56,47,47,.72);display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:48px 20px}
.fv-pop{background:var(--fva-clay);color:var(--fva-white);padding:40px 40px 44px;position:relative;width:100%;max-width:560px}
.fv-pop--wide{max-width:760px}
.fv-pop .fv-x{position:absolute;top:16px;right:12px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:none;border:0;color:var(--fva-white);cursor:pointer}
.fv-pop h2{color:var(--fva-ochre);margin:0 48px 8px 0}
.fv-pop .intro{font-size:15px;margin:0 0 24px;color:var(--fva-white);max-width:36em}
.fv-pop--m{max-width:390px;padding:28px 24px 32px}
.fv-pop--m .fva-form{grid-template-columns:1fr!important}
@media (max-width:760px){.fv-overlay{padding:0}.fv-pop{padding:28px 20px 32px;min-height:100%}}

/* Filters */
.fv-filters{display:flex;flex-wrap:wrap;gap:20px 28px;align-items:flex-end}
.fv-filter{display:flex;flex-direction:column;gap:8px}
.fv-filter > span{font-size:11px;text-transform:uppercase;letter-spacing:var(--fva-caps-tracking);font-weight:400;color:var(--fva-ochre)}
.fv-fchips{display:flex;gap:6px;flex-wrap:wrap}
.fv-fchips button{min-height:44px;min-width:44px;padding:10px 14px;border:1px solid rgba(255,255,255,.7);background:transparent;color:var(--fva-white);font:400 14px/1 var(--fva-font-body);cursor:pointer;border-radius:0}
.fv-fchips button[aria-pressed="true"]{background:var(--fva-ochre);border-color:var(--fva-ochre);color:var(--fva-earth)}
.fv-fselect{appearance:none;min-height:44px;min-width:180px;border:1px solid rgba(255,255,255,.7);background:transparent;color:var(--fva-white);font:400 14px/1 var(--fva-font-body);padding:10px 40px 10px 14px;border-radius:0;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,#CDA999 50%),linear-gradient(135deg,#CDA999 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat}
.fv-fselect option{color:var(--fva-earth)}
@media (max-width:760px){.fv-filters{flex-direction:column;align-items:stretch}.fv-fselect{width:100%}}

/* Misc */
.fv-dl{display:grid;grid-template-columns:auto 1fr;gap:10px 24px;margin:0;font-size:15px;font-weight:400}
.fv-dl dt{font-size:11px;text-transform:uppercase;letter-spacing:var(--fva-caps-tracking);padding-top:3px}
.fv-dl dd{margin:0}
.fv-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.fv-list li{padding:14px 0;border-bottom:1px solid currentColor;border-bottom-color:rgba(112,88,87,.35);display:flex;gap:12px;align-items:flex-start;font-size:16px;font-weight:400}
.fv-list .fva-icon{color:var(--fva-clay);margin-top:2px}
.fv-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.fv-strip > div{padding:28px 32px;border-left:1px solid rgba(205,169,153,.35)}
.fv-strip > div:first-child{border-left:0;padding-left:0}
@media (max-width:760px){.fv-strip{grid-template-columns:1fr}.fv-strip > div{border-left:0;border-top:1px solid rgba(205,169,153,.35);padding:20px 0}.fv-strip > div:first-child{border-top:0}}
.fv-hero-img{min-height:640px;position:relative}
.fv-hero-img .fva-render{position:absolute;inset:0}
@media (max-width:760px){.fv-hero-img{min-height:300px}}
.fv-scroll{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(300px,1fr);gap:24px;overflow-x:auto;padding-bottom:8px}
@media (max-width:760px){.fv-scroll{grid-auto-columns:82%}}
.fv-sticky{position:sticky;top:24px}
@media (max-width:760px){.fv-sticky{position:static}}

.fv-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.fv-gallery .fva-render{aspect-ratio:4/3;overflow:hidden}
@media (max-width:760px){.fv-gallery{grid-template-columns:minmax(0,1fr)}}

.fv-ftoggle{display:none}
@media (max-width:760px){.fv-filters--closed{display:none}.fv-ftoggle{display:inline-flex}}
.fv-split--39{grid-template-columns:minmax(0,3fr) minmax(0,9fr)}
@media (max-width:760px){.fv-split--39{grid-template-columns:minmax(0,1fr)}}
.fv-sc-photo{position:relative;min-height:520px;margin:0;overflow:hidden}
.fv-sc-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fv-gallery--2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:760px){.fv-sc-photo{min-height:260px;order:-1}.fv-gallery--2{grid-template-columns:minmax(0,1fr)}}
.fv-card h3 .fv-type,.fv-card h2 .fv-type{display:block}
.fv-card-cta{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:0;gap:0}
.fv-card-cta .fva-render{min-height:100%;position:relative;overflow:hidden}
.fv-card-cta .fva-render img{position:absolute;inset:0}
.fv-card-cta .fv-cta-body{padding:32px;display:flex;flex-direction:column;justify-content:center;gap:16px}
@media (max-width:1100px){.fv-card-cta{grid-column:1/-1}}
@media (max-width:760px){.fv-card-cta{grid-template-columns:1fr}.fv-card-cta .fva-render{min-height:220px}}
.fv-tl{position:relative;margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.fv-tl-track,.fv-tl-fill{position:absolute;left:0;top:9px;height:2px}
.fv-tl-track{right:0;background:rgba(205,169,153,.3)}.fv-tl-fill{background:#CDA999}
.fv-tl-item{position:relative;display:flex;flex-direction:column;gap:14px;padding-right:12px}
.fv-tl-dot{width:20px;height:20px;border-radius:50%;border:2px solid #CDA999;box-sizing:border-box}
@media (max-width:900px){.fv-tl{grid-template-columns:minmax(0,1fr);gap:22px;padding-left:34px}
.fv-tl-track,.fv-tl-fill{left:9px;top:0;width:2px!important;height:auto}.fv-tl-track{bottom:0}.fv-tl-fill{height:38%}
.fv-tl-item{gap:6px;padding:0}.fv-tl-dot{position:absolute;left:-34px;top:0}}

/* Responsive pass, 09/10/26 */
/* Large desktops keep the Full HD composition: above 2000px the page scales up in steps so its
   effective width stays near 1920px and full-width images keep their shape. */
@media (min-width:2100px){html{zoom:1.1}}
@media (min-width:2300px){html{zoom:1.2}}
@media (min-width:2500px){html{zoom:1.3}}
@media (min-width:2700px){html{zoom:1.4}}
@media (min-width:2900px){html{zoom:1.5}}
@media (min-width:3100px){html{zoom:1.6}}
@media (min-width:3300px){html{zoom:1.7}}
@media (min-width:3500px){html{zoom:1.8}}
@media (min-width:3700px){html{zoom:2}}
.fv-hero-img{min-height:clamp(560px,44vw,820px)}
.fv-sc-photo{min-height:clamp(480px,38vw,720px)}
.fv-gallery .fva-render{aspect-ratio:3/2}
@media (max-width:1100px) and (min-width:761px){
  .fv-dz-body{padding:36px!important}
  .fv-teamgrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 32px!important}
  .fv-teamcell{padding:28px 0!important;border-bottom:1px solid rgba(205,169,153,.3)}
}
@media (max-width:960px){.fv-sc{grid-template-columns:1fr}.fv-sc-photo{order:-1;min-height:420px}.fv-hero-img{min-height:460px}}
@media (max-width:760px){
  :root{--fva-panel-pad-x:24px;--fva-panel-pad-y:80px}
  .fva-stack{gap:24px}
  .fv-util{flex-direction:column;gap:6px;padding:14px 24px;line-height:1.4}
  .fv-hd{padding:28px 24px}
  .fv-hd .wm{height:56px}
  .fv-mnav a{padding:20px 24px}
  .fv-hero-img{min-height:340px}
  .fv-btns{flex-direction:column;align-items:stretch;gap:12px!important}
  .fv-btns .fva-btn{justify-content:center;text-align:center;width:100%}
  .fv-cards{gap:32px}
  .fv-card-body{padding:28px 24px 0;gap:14px}
  .fv-card .fva-price-bar{margin:24px 24px 0}
  .fv-card-cta .fv-cta-body{padding:32px 24px 36px}
  .fv-sc .fva-panel{padding:72px 24px 80px}
  .fv-sc-photo{min-height:300px}
  .fv-days{grid-template-columns:110px 1fr;gap:8px 12px}
  .fv-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .fv-stats > div{padding:24px 16px 20px 0!important}
  .fv-gallery{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:84%;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding:0 24px;background:var(--fva-ochre)}
  .fv-gallery .fva-render{scroll-snap-align:center;aspect-ratio:4/5}
  .fv-list li{padding:16px 0}
  .fv-dz-body{padding:32px 24px 40px!important}
  .fv-teamgrid{grid-template-columns:1fr!important}
  .fv-teamcell{padding:32px 0!important;border-bottom:1px solid rgba(205,169,153,.3);gap:14px!important}
  .fv-tl{gap:32px}
  .fv-faq summary{padding:24px 0;gap:20px}
  .fv-calc .in,.fv-calc .out{padding:36px 24px}
  .fv-bk .fva-panel{padding:64px 24px}
  .fv-pop{padding:32px 24px 40px}
  .fv-ft{padding:72px 24px 40px;gap:56px}
  .fv-ft-top{grid-template-columns:1fr;gap:40px}
  .fv-ft-top .wm{height:72px}
  .fv-ft h2{margin-bottom:16px}
  .fv-ft ul{gap:12px;font-size:15px}
  .fv-ft p{font-size:15px}
  .fv-team{grid-template-columns:1fr;gap:0;padding-top:0}
  .fv-team > div{padding:28px 0;border-bottom:1px solid rgba(205,169,153,.25);display:flex;flex-direction:column;gap:14px}
  .fv-team > div h2{margin:0}
  .fv-legal{gap:20px;padding-top:32px}
  .fv-legal p{font-size:13px}
}
@media (max-width:380px){
  :root{--fva-panel-pad-x:20px;--fva-h1:36px}
  .fv-util{padding:12px 20px;font-size:11px}
  .fv-hd{padding:24px 20px}
  .fv-gallery{padding:0 20px}
  .fv-ft{padding:64px 20px 36px}
}
@media (max-width:1100px) and (min-width:761px){.fv-team,.fv-legal{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 40px}.fv-legal p[style*="right"]{text-align:left!important}}
.fv-map-scroll{overflow:hidden}
@media (max-width:760px){.fv-map{margin-top:56px!important}.fv-map-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.fv-map-scroll img{width:900px!important;max-width:none}}
.fv-team > div{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px}
.fv-team > div h2{margin:0}
/* Footer top row: option 1B, logo left, three columns grouped right */
.fv-ft-top{display:flex!important;justify-content:space-between;align-items:flex-start;gap:80px}
.fv-ft-cols{display:grid;grid-template-columns:auto auto auto;gap:72px;align-items:start}
@media (max-width:1100px){.fv-ft-top{flex-direction:column;gap:48px}.fv-ft-cols{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;width:100%}}
@media (max-width:760px){.fv-ft-cols{grid-template-columns:1fr;gap:40px}}
/* Legal row: every item on one line */
.fv-legal{display:flex!important;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 40px}
.fv-legal p{white-space:nowrap}
.fv-legal p:first-child{flex-basis:100%}
@media (max-width:1100px){.fv-legal p{white-space:normal}.fv-legal{justify-content:flex-start}}
@media (max-width:760px){.fv-legal{flex-direction:column;align-items:flex-start;gap:16px}}
/* Footer air, 09/10/26 */
.fv-ft{gap:72px;padding-bottom:56px}
.fv-team{padding-top:64px}
.fv-legal{padding-top:48px;row-gap:40px!important}
.fv-legal p:first-child{text-align:center}
@media (max-width:760px){.fv-ft{gap:56px}.fv-team{padding-top:24px}.fv-legal{padding-top:36px;gap:20px!important}.fv-legal p:first-child{text-align:left}}
/* Location callouts under the aerial */
.fv-callouts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:32px;border-top:1px solid rgba(205,169,153,.4)}
.fv-callout{padding:32px 32px 8px 0;display:flex;flex-direction:column;gap:12px}
.fv-callout + .fv-callout{padding-left:32px;border-left:1px solid rgba(205,169,153,.4)}
.fv-callout-tag{align-self:flex-start;background:#CDA999;color:#382F2F;font-size:13px;font-weight:400;letter-spacing:.04em;padding:8px 14px;line-height:1}
.fv-callout-n{margin:0;font:400 48px/1 Kousis,Georgia,serif;color:#FFFFFF}
.fv-callout-d{margin:0;font-size:15px;line-height:1.5;color:#FFFFFF}
@media (max-width:1100px){.fv-callouts{grid-template-columns:repeat(2,minmax(0,1fr))}.fv-callout:nth-child(3){padding-left:0;border-left:0}.fv-callout:nth-child(n+3){border-top:1px solid rgba(205,169,153,.4);margin-top:24px}}
@media (max-width:760px){.fv-callout{padding:24px 16px 0 0}.fv-callout + .fv-callout{padding-left:16px}.fv-callout:nth-child(3){padding-left:0}.fv-callout-n{font-size:34px}}
/* Disclaimer under the footer logo; legal row of four evenly spaced items */
.fv-ft-brand{display:flex;flex-direction:column;gap:28px;max-width:300px}
.fv-ft .fv-disc{font-size:11px;line-height:1.6;opacity:.8;margin:0}
.fv-legal p:first-child{flex-basis:auto;text-align:left}
.fv-legal{justify-content:space-between!important}
@media (max-width:1100px){.fv-ft-brand{max-width:420px}}
@media (max-width:760px){.fv-legal{justify-content:flex-start!important}}
.fv-ft-brand{align-items:flex-start}.fv-ft-brand .wm{width:auto!important;align-self:flex-start}
/* Disclaimer rests on the line below the top row */
.fv-ft-top{align-items:stretch!important}
.fv-ft-brand{align-self:stretch;justify-content:space-between}
.fv-ft-cols{align-self:flex-start}
.fv-ft .fv-disc{font-size:10px;line-height:1.6}
@media (max-width:1100px){.fv-ft-brand{justify-content:flex-start}}
/* Mobile: no sideways scrolling */
@media (max-width:760px){
  .fv-map-scroll{overflow:hidden!important;cursor:zoom-in}
  .fv-map-scroll img{width:100%!important;max-width:100%!important}
  .fv-gallery{display:grid!important;grid-auto-flow:row!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-columns:auto!important;overflow:visible!important;padding:0!important;gap:0!important}
  .fv-gallery .fva-render{aspect-ratio:1/1!important}
  .fv-gallery .fva-render:first-child{grid-column:1/-1;aspect-ratio:4/3!important}
  .fv-scroll{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:minmax(0,1fr);overflow:visible}
  body{overflow-x:clip}
}
.fv-lightbox{position:fixed;inset:0;z-index:120;background:rgba(56,47,47,.96);display:flex;align-items:center;justify-content:center;padding:64px 0 24px}
.fv-lightbox-body{width:100%;display:flex;flex-direction:column;gap:14px}
.fv-lightbox-body img{width:100%;height:auto;display:block}
.fv-lightbox-body p{margin:0;padding:0 24px;font-size:13px;color:#FFFFFF}
.fv-lightbox-x{position:absolute;top:12px;right:12px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid #CDA999;color:#CDA999;cursor:pointer}
/* Mobile footer: option 1B with stacked, centred partners and legal */
.fv-ft-actions{display:none}
@media (max-width:760px){
  .fv-ft{padding:72px 28px 48px!important;gap:56px!important}
  .fv-ft-top,.fv-ft-brand{display:contents!important}
  .fv-ft-brand .wm{order:1;height:64px!important}
  .fv-ft-actions{order:2;display:flex;flex-direction:column;gap:12px}
  .fv-ft-actions .fva-btn{width:100%;min-height:52px;justify-content:center;text-align:center}
  .fv-ft-actions .fva-btn--outline{background:transparent;color:var(--fva-ochre);border:1px solid var(--fva-ochre)}
  .fv-ft-cols{order:3;display:flex!important;flex-direction:column;gap:56px!important}
  .fv-ft-contact{display:none}
  .fv-ft-explore ul{display:grid!important;grid-template-columns:1fr 1fr;gap:14px 24px!important;font-size:16px!important}
  .fv-ft h2{margin-bottom:18px!important}
  .fv-team{order:4;display:flex!important;flex-direction:column;align-items:center;gap:40px!important;border-top:1px solid rgba(205,169,153,.3);padding-top:48px!important}
  .fv-team > div{padding:0!important;border:0!important;align-items:center!important;text-align:center!important;gap:14px!important}
  .fv-ft-brand .fv-disc{order:5;text-align:center;font-size:11px;max-width:320px;align-self:center}
  .fv-legal{order:6;display:flex!important;flex-direction:column!important;align-items:center!important;gap:12px!important;border-top:0!important;padding-top:0!important;text-align:center}
  .fv-legal p{white-space:normal;text-align:center!important}
  .fv-legal p:nth-child(2){order:1}.fv-legal p:nth-child(3){order:2}.fv-legal p:nth-child(4){order:3}.fv-legal p:nth-child(1){order:4}
}
/* Persistent header: hides on scroll down, returns on scroll up. Sales centre bar only at the top. */
.fv-header{position:fixed;top:0;left:0;right:0;z-index:90}
.fv-header.is-hidden{transform:translateY(-100%)}
.fv-header .fv-util{overflow:hidden;max-height:200px}
.fv-header.is-scrolled .fv-util{max-height:0;padding-top:0;padding-bottom:0}
.fv-header.is-ready{transition:transform .3s ease}
.fv-header.is-ready .fv-util{transition:max-height .3s ease,padding .3s ease}
.fv-header.is-ready .fv-hd{transition:padding .3s ease}
.fv-header.is-ready .fv-hd .wm{transition:height .3s ease}
.fv-header.is-scrolled .fv-hd{padding-top:20px;padding-bottom:20px}
.fv-header.is-scrolled .fv-hd .wm{height:56px}
.fv-header.is-scrolled .fv-nav{padding-top:14px;padding-bottom:14px}
@media (max-width:760px){.fv-header.is-scrolled .fv-hd{padding-top:14px;padding-bottom:14px}.fv-header.is-scrolled .fv-hd .wm{height:44px}}
@media (prefers-reduced-motion:reduce){.fv-header,.fv-header *{transition:none!important}}
/* Mobile header: phone button beside the menu button */
.fv-hd-m{display:none;gap:10px;align-items:center}
.fv-hd-m .fv-mphone{text-decoration:none}
@media (max-width:1180px){.fv-hd-m{display:flex}}
/* Mobile header 4F: phone number with handset, beside the menu square */
.fv-hd-m{gap:14px}
.fv-hd-m .fv-mphone{display:flex;align-items:center;gap:8px;min-height:48px;padding:0 4px;color:var(--fva-white);font-size:14px;letter-spacing:.02em;white-space:nowrap;text-decoration:none;border:0;background:none}
.fv-hd-m .fv-mphone .fva-icon{width:18px;height:18px;color:var(--fva-ochre)}
.fv-hd-m .fv-mphone:hover{color:var(--fva-ochre)}
@media (max-width:360px){.fv-hd-m .fv-mphone span{display:none}.fv-hd-m .fv-mphone{width:48px;justify-content:center;border:1px solid var(--fva-ochre)}}
/* Gallery */
.fv-gal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.fv-gal-item{font:inherit;position:relative;padding:0;border:0;background:none;cursor:zoom-in;aspect-ratio:4/3;overflow:hidden;display:block}
.fv-gal-item.is-wide{grid-column:1/-1;aspect-ratio:21/9}
.fv-gal-item img{width:100%;height:100%;object-fit:cover;display:block}
.fv-gal-cap{position:absolute;left:0;bottom:0;padding:8px 12px;font-size:12px;color:#FFFFFF;background:rgba(56,47,47,.75);text-align:left}
@media (max-width:760px){.fv-gal{grid-template-columns:minmax(0,1fr);gap:12px}.fv-gal-item.is-wide{aspect-ratio:4/3}}
/* Gallery lightbox: browse a section */
.fv-lb{position:fixed;inset:0;z-index:130;background:var(--fva-earth);display:grid;grid-template-rows:auto minmax(0,1fr) auto;color:#FFFFFF}
.fv-lb-top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px var(--fva-panel-pad-x)}
.fv-lb-count{margin:0;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--fva-ochre)}
.fv-lb-btn{width:48px;height:48px;flex:none;display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--fva-ochre);color:var(--fva-ochre);cursor:pointer}
.fv-lb-btn:hover{background:var(--fva-ochre);color:var(--fva-earth)}
.fv-lb-btn .fva-icon{width:22px;height:22px}
.fv-lb-stage{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:24px;padding:0 var(--fva-panel-pad-x);min-height:0}
.fv-lb-fig{margin:0;height:100%;min-height:0;display:flex;flex-direction:column;gap:12px;justify-content:center}
.fv-lb-fig img{width:100%;height:100%;min-height:0;object-fit:contain;display:block}
.fv-lb-fig figcaption{font-size:13px;color:#FFFFFF}
.fv-lb-thumbs{display:flex;gap:10px;justify-content:center;padding:16px var(--fva-panel-pad-x) 24px;overflow-x:auto}
.fv-lb-thumb{width:88px;height:60px;flex:none;padding:0;border:2px solid transparent;background:none;cursor:pointer;opacity:.6}
.fv-lb-thumb[aria-current="true"]{border-color:var(--fva-ochre);opacity:1}
.fv-lb-thumb img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:760px){
  .fv-lb-top{padding:12px 20px}
  .fv-lb-stage{grid-template-columns:minmax(0,1fr);padding:0;gap:0;position:relative}
  .fv-lb-prev,.fv-lb-next{position:absolute;bottom:44px;z-index:1;background:rgba(56,47,47,.85)}
  .fv-lb-prev{left:20px}.fv-lb-next{right:20px}
  .fv-lb-fig figcaption{padding:0 20px;min-height:48px}
  .fv-lb-thumbs{justify-content:flex-start;padding:12px 20px 20px}
  .fv-lb-thumb{width:64px;height:48px}
}
/* Apartment page v2 */
.fv-apt-hero{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);background:var(--fva-clay);color:var(--fva-white)}
.fv-apt-hero-img{position:relative;min-height:760px;margin:0}
.fv-apt-hero-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fv-apt-pane{padding:56px var(--fva-panel-pad-x) 56px 56px;display:flex;flex-direction:column;gap:28px;justify-content:center}
.fv-keys{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(205,169,153,.35);border:1px solid rgba(205,169,153,.35)}
.fv-key{background:var(--fva-clay);padding:16px;display:flex;flex-direction:column;gap:6px}
.fv-key .fva-icon{width:24px;height:24px;color:var(--fva-ochre)!important}
.fv-key .k,.fv-size3 .k,.fv-apt-price .k{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--fva-ochre)}
.fv-key .v{font-size:17px;line-height:1.3}
.fv-size3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:20px 0;border-top:1px solid rgba(205,169,153,.35);border-bottom:1px solid rgba(205,169,153,.35)}
.fv-size3 > div{display:flex;flex-direction:column;gap:6px}
.fv-size3 .v{font:400 34px/1 var(--fva-font-display)}
.fv-size3 small{font:400 15px/1 transat-text,Satoshi,sans-serif;margin-left:3px}
.fv-apt-price{display:flex;flex-direction:column;gap:8px}
.fv-apt-price .v{font:400 44px/1 var(--fva-font-display)}
.fv-apt-price .n{font-size:13px;line-height:1.5}
.fv-apt-actions{display:flex;flex-direction:column;gap:12px;max-width:420px}
.fv-apt-actions .fva-btn{justify-content:center;width:100%}
.fv-anchors{background:var(--fva-ochre);display:flex;justify-content:center;flex-wrap:wrap;gap:8px 40px;padding:18px var(--fva-panel-pad-x)}
.fv-anchors a{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--fva-earth);text-decoration:none;white-space:nowrap}
.fv-anchors a:hover{text-decoration:underline}
.fv-plan{margin:0;display:flex;flex-direction:column;gap:12px}
.fv-plan-slot{background:#FFFFFF;min-height:520px;display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;text-align:center;padding:32px;font:400 13px/1.6 ui-monospace,monospace;color:var(--fva-clay);border:1px dashed var(--fva-clay);outline:24px solid #FFFFFF;outline-offset:-24px}
.fv-plan figcaption{font-size:13px}
.fv-scheme{margin:0;display:flex;flex-direction:column;gap:18px}
.fv-scheme .fva-render{aspect-ratio:4/3;position:relative;overflow:hidden}
.fv-scheme .fva-render img{width:100%;height:100%;object-fit:cover;display:block}
.fv-scheme figcaption{display:flex;flex-direction:column;gap:6px}
.fv-scheme figcaption p{margin:0;font-size:16px}
.fv-incl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:rgba(112,88,87,.35);border:1px solid rgba(112,88,87,.35)}
.fv-incl > div{background:var(--fva-ochre);padding:28px 24px;display:flex;flex-direction:column;gap:10px;color:var(--fva-earth)}
.fv-incl .fva-icon{width:32px;height:32px;color:var(--fva-clay)}
.fv-incl h3{margin:6px 0 0;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--fva-clay)}
.fv-incl p{margin:0;font-size:16px;line-height:1.45}
.fv-incl-eco{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 20px;align-items:start;color:var(--fva-earth)}
.fv-incl-eco .fva-icon{width:32px;height:32px;color:var(--fva-clay);grid-row:span 2}
.fv-incl-eco p{margin:0;font-size:16px;max-width:52em}
.fv-incl-eco .fva-placeholder{justify-self:start}
@media (max-width:1100px){.fv-apt-hero{grid-template-columns:1fr}.fv-apt-hero-img{min-height:520px}.fv-apt-pane{padding:48px var(--fva-panel-pad-x)}.fv-incl{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){
  .fv-apt-hero-img{min-height:300px}
  .fv-apt-pane{padding:40px 24px 48px;gap:24px}
  .fv-keys{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fv-size3 .v{font-size:28px}
  .fv-apt-price .v{font-size:36px}
  .fv-apt-actions{max-width:none}
  .fv-anchors{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;gap:28px;padding:16px 24px}
  .fv-plan-slot{min-height:340px}
  .fv-incl{grid-template-columns:minmax(0,1fr)}
  .fv-incl > div{display:grid;grid-template-columns:32px minmax(0,1fr);gap:4px 16px;padding:20px}
  .fv-incl > div .fva-icon{grid-row:span 2}
  .fv-incl > div h3{margin:4px 0 0}
}
/* Shared fixes */
.fva-btn{white-space:nowrap}
main > section:first-child > .fva-panel,main > section:first-child.fva-panel{padding-top:calc(var(--fva-panel-pad-y) * .6)}
/* Sales centre fixes */
.fva-footer{display:flex;justify-content:flex-start}
.fv-sc-strip{gap:16px;padding:16px;background:var(--fva-clay)}
.fv-days{grid-template-columns:auto 1fr;gap:6px 24px}
@media (max-width:760px){.fv-sc-strip{gap:12px;padding:12px}}
/* Home: precinct pocket parks line */
.fv-callouts{margin-top:24px}
.fv-callouts + .fva-ui{margin-top:24px!important;padding-top:20px;border-top:1px solid rgba(205,169,153,.3)}
/* Gallery v2: no-crop masonry */
.fv-gal{display:block!important;columns:2;column-gap:16px}
.fv-gal-item{aspect-ratio:auto!important;width:100%;margin:0 0 16px;break-inside:avoid}
.fv-gal-item img{height:auto!important;object-fit:initial!important}
.fv-gal-head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:12px 64px;align-items:end}
.fv-gal-head h2{grid-row:span 2}
.fv-gal-intro{margin:0;font-size:17px;line-height:1.55;max-width:40em}
.fv-gal-hint{margin:0;display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.fv-gal-hint .fva-icon{width:16px;height:16px}
@media (max-width:960px){.fv-gal-head{grid-template-columns:minmax(0,1fr)}.fv-gal-head h2{grid-row:auto}}
@media (max-width:760px){.fv-gal{columns:1}.fv-gal-item{margin-bottom:12px}}
/* Buyer questions: full pages 6B and 6I */
.fv-qnav{display:flex;flex-wrap:wrap;gap:10px}
.fv-qnav a{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--fva-ochre);color:var(--fva-white);font-size:14px;text-decoration:none;white-space:nowrap}
.fv-qnav a:hover{background:var(--fva-ochre);color:var(--fva-earth)}
.fv-qnav .fva-icon{width:18px;height:18px;color:var(--fva-ochre)}
.fv-qnav a:hover .fva-icon{color:var(--fva-earth)}
.fv-qnav--col{flex-direction:column;gap:0;margin-top:20px}
.fv-qnav--col a{border:0;border-bottom:1px solid rgba(205,169,153,.3);padding:14px 0}
.fv-qnav--col a:hover{background:none;color:var(--fva-ochre)}
.fv-qb{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);scroll-margin-top:24px}
.fv-qb--ochre{background:var(--fva-ochre);color:var(--fva-earth)}
.fv-qb--earth{background:var(--fva-earth);color:var(--fva-white)}
.fv-qb--flip .fv-qb-img{order:2}
.fv-qb-img{position:relative;margin:0;min-height:560px}
.fv-qb-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fv-qb-body{padding:80px var(--fva-panel-pad-x) 80px 72px;display:flex;flex-direction:column;gap:28px;justify-content:center}
.fv-qb--flip .fv-qb-body{padding:80px 72px 80px var(--fva-panel-pad-x)}
.fv-qb-head{display:flex;gap:24px;align-items:flex-start}
.fv-qb-n{font:400 56px/1 var(--fva-font-display);opacity:.55}
.fv-qb--earth .fv-qb-n,.fv-qb--earth h2{color:var(--fva-ochre)}
.fv-qb--ochre h2{color:var(--fva-earth)}
.fv-qb-count{margin:8px 0 0;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.fv-anna{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);background:var(--fva-clay);color:var(--fva-white)}
.fv-anna-img{position:relative;margin:0;min-height:600px}
.fv-anna-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}
.fv-anna-body{padding:72px var(--fva-panel-pad-x) 72px 72px;display:flex;flex-direction:column;gap:24px;justify-content:center;max-width:820px}
.fv-quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px;color:var(--fva-earth)}
.fv-quick > div{display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--fva-clay);padding-top:24px}
.fv-quick .fva-icon{width:32px;height:32px;color:var(--fva-clay)}
.fv-quick h3{margin:0;font:400 24px/1.2 var(--fva-font-display);color:var(--fva-earth)}
.fv-quick p{margin:0;font-size:16px;line-height:1.5}
.fv-qgrp{display:flex;flex-direction:column;gap:16px;scroll-margin-top:24px}
.fv-qgrp-head{display:flex;align-items:center;gap:18px}
.fv-qgrp-ic{width:56px;height:56px;flex:none;display:flex;align-items:center;justify-content:center;border:1px solid var(--fva-ochre)}
.fv-qgrp-ic .fva-icon{width:26px;height:26px;color:var(--fva-ochre)}
.fv-qgrp h3{color:var(--fva-white)}
@media (max-width:1100px){.fv-quick{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:960px){
  .fv-qb,.fv-anna{grid-template-columns:minmax(0,1fr)}
  .fv-qb--flip .fv-qb-img{order:0}
  .fv-qb-img{min-height:320px}
  .fv-qb-body,.fv-qb--flip .fv-qb-body{padding:56px var(--fva-panel-pad-x)}
  .fv-anna-img{min-height:420px}
  .fv-anna-body{padding:56px var(--fva-panel-pad-x)}
  .fv-qside{display:none}
}
@media (max-width:760px){
  .fv-qnav{flex-wrap:nowrap;overflow-x:auto;margin:0 -24px;padding:0 24px 4px}
  .fv-qb-img{min-height:260px}
  .fv-qb-body,.fv-qb--flip .fv-qb-body{padding:48px 24px}
  .fv-qb-n{font-size:40px}
  .fv-anna-img{min-height:340px}
  .fv-anna-body{padding:48px 24px}
  .fv-quick{grid-template-columns:minmax(0,1fr);gap:28px}
}
.fv-qbar{background:var(--fva-earth);display:flex;flex-wrap:wrap;justify-content:center;gap:10px;padding:20px var(--fva-panel-pad-x)}
.fv-qbar a{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--fva-ochre);color:var(--fva-white);font-size:14px;text-decoration:none;white-space:nowrap}
.fv-qbar a:hover{background:var(--fva-ochre);color:var(--fva-earth)}
.fv-qbar .fva-icon{width:18px;height:18px;color:var(--fva-ochre)}
@media (max-width:760px){.fv-qbar{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;padding:16px 24px}}
@media (max-width:960px){
  .fv-anna-img{min-height:0;display:flex;justify-content:flex-start;padding:40px var(--fva-panel-pad-x) 0}
  .fv-anna-img img{position:static;width:100%;max-width:380px;height:auto;aspect-ratio:4/5;object-position:center top}
  .fv-anna-body{padding-top:40px}
}
@media (max-width:760px){.fv-anna-img{padding:32px 24px 0}.fv-anna-img img{max-width:300px}}
/* Anna panel: portrait column at a fixed proportion on desktop */
@media (min-width:961px){
  .fv-anna{grid-template-columns:minmax(0,440px) minmax(0,1fr);align-items:stretch}
  .fv-anna-img{min-height:0;aspect-ratio:4/5;align-self:center;margin:56px 0 56px var(--fva-panel-pad-x)}
  .fv-anna-img img{object-position:center top}
  .fv-anna-body{padding:72px var(--fva-panel-pad-x) 72px 72px}
}
/* Narrow phones: shrinkable tracks, buttons fit */
@media (max-width:760px){.fv-sc,.fv-bk,.fv-anna,.fv-qb,.fv-apt-hero{grid-template-columns:minmax(0,1fr)!important}}
.fva-btn{max-width:100%}
@media (max-width:400px){.fva-btn{padding-left:16px;padding-right:16px;letter-spacing:.1em}}
@media (max-width:370px){.fva-btn{white-space:normal;text-align:center;justify-content:center}}
/* Mobile: no sideways-scrolling rows; topic and section links wrap into a grid */
@media (max-width:760px){
  .fv-qnav,.fv-qbar{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important;overflow:visible!important;margin:0!important;flex-wrap:wrap!important}
  .fv-qbar{padding:20px 24px!important}
  .fv-qnav a,.fv-qbar a{white-space:normal;padding:12px;font-size:13px;line-height:1.3;min-height:48px}
  .fv-anchors{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px!important;overflow:visible!important;padding:18px 24px!important}
  .fv-anchors a{white-space:normal;font-size:12px}
  .fv-scroll{overflow-x:visible!important}
  .fv-lb-thumbs{flex-wrap:wrap;overflow-x:visible}
}
/* 6B fixes: even topic list on mobile, readable line length on wide screens */
.fv-qb-body > *{max-width:680px;width:100%}
.fv-qb--flip .fv-qb-body{align-items:flex-end}
.fv-qb--flip .fv-qb-body > *{margin-left:auto}
@media (min-width:761px) and (max-width:1100px){
  .fv-qnav{display:flex!important;flex-wrap:wrap;gap:10px}
  .fv-qnav a{white-space:nowrap;min-height:48px;align-items:center}
}
@media (max-width:960px){.fv-qb--flip .fv-qb-body{align-items:stretch}.fv-qb--flip .fv-qb-body > *{margin-left:0}}
@media (max-width:760px){
  .fv-qnav{display:flex!important;flex-direction:column;gap:0!important;border-top:1px solid rgba(205,169,153,.35)}
  .fv-qnav a{display:grid!important;grid-template-columns:24px minmax(0,1fr) 16px;align-items:center;gap:14px;border:0!important;border-bottom:1px solid rgba(205,169,153,.35)!important;padding:14px 0!important;min-height:52px;font-size:15px!important;background:none!important;color:var(--fva-white)!important}
  .fv-qnav a::after{content:"";width:8px;height:8px;border-right:1.25px solid var(--fva-ochre);border-bottom:1.25px solid var(--fva-ochre);transform:rotate(45deg);justify-self:end;margin-top:-4px}
  .fv-qnav .fva-icon{width:22px!important;height:22px!important}
  .fv-qb-head{gap:16px}
}
@media (max-width:960px){.fv-qb-body > *{max-width:none}}
/* Apartment by design: floorplan-led hero with level picker */
.fv-dz-hero{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);background:var(--fva-clay);color:var(--fva-white)}
.fv-dz-plan{background:#DAAF9C;display:flex;flex-direction:column;gap:12px;padding:48px 48px 24px var(--fva-panel-pad-x)}
.fv-dz-planbtn{display:block;border:0;padding:0;background:none;cursor:zoom-in;width:100%}
.fv-dz-planbtn img{display:block;width:100%;height:auto;max-height:calc(100vh - 160px);object-fit:contain}
.fv-dz-plancap{margin:0;display:flex;justify-content:space-between;gap:16px;font-size:13px;color:var(--fva-earth)}
.fv-dz-zoom{display:inline-flex;align-items:center;gap:6px;text-transform:uppercase;letter-spacing:.14em;font-size:12px;white-space:nowrap;margin:0;padding:0;border:0;background:none;color:inherit;font-family:inherit;cursor:pointer;align-self:flex-start}
.fv-dz-zoom .fva-icon{width:14px;height:14px}
.fv-dz-pane{gap:24px}
.fv-dz-pane .fv-keys{grid-template-columns:repeat(3,minmax(0,1fr))}
.fv-dz-pick{display:flex;flex-direction:column;gap:14px}
.fv-dz-pickhead h2{margin:0;font:400 26px/1.15 var(--fva-font-display);color:var(--fva-ochre)}
.fv-dz-pickhead p{margin:6px 0 0;font-size:14px;line-height:1.5}
.fv-lvls{display:flex;flex-direction:column;border-top:1px solid rgba(205,169,153,.35)}
.fv-lvl{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid rgba(205,169,153,.35)}
.fv-lvl-l{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--fva-ochre)}
.fv-lvl-units{display:flex;flex-wrap:wrap;gap:8px}
.fv-unit{display:inline-flex;align-items:baseline;gap:10px;min-height:44px;padding:10px 14px;background:transparent;border:1px solid rgba(205,169,153,.6);color:var(--fva-white);font:400 15px/1 transat-text,Satoshi,sans-serif;cursor:pointer}
.fv-unit .p{font-size:13px;color:var(--fva-ochre)}
.fv-unit:hover{border-color:var(--fva-ochre)}
.fv-unit.is-on{background:var(--fva-ochre);border-color:var(--fva-ochre);color:var(--fva-earth)}
.fv-unit.is-on .p{color:var(--fva-earth)}
.fv-unit.is-sold,.fv-unit:disabled{cursor:default;opacity:.55;border-style:dashed}
.fv-unit.is-sold .p{text-transform:uppercase;letter-spacing:.14em;font-size:11px}
.fv-unit .o{font-size:11px;opacity:.75;flex-basis:100%;margin-top:-2px}
.fv-unit{flex-wrap:wrap}
.fv-unit.is-on .o{opacity:.85}
.fv-dz-sel{display:flex;flex-direction:column;gap:8px;padding-top:4px}
.fv-dz-selmeta{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--fva-ochre)}
.fv-dz-price{font:400 44px/1 var(--fva-font-display)}
.fv-dz-lbbody{max-width:min(92vw,1100px);margin:0 auto}
.fv-dz-lbbody img{max-height:calc(100vh - 140px);object-fit:contain;background:#DAAF9C}
.fv-dz-others{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.fv-dz-card{display:flex;flex-direction:column;background:#FFFFFF;color:var(--fva-earth);text-decoration:none}
.fv-dz-cardplan{background:#DAAF9C;aspect-ratio:4/5;overflow:hidden}
.fv-dz-cardplan img{width:100%;height:100%;object-fit:cover;object-position:center 40%;display:block}
.fv-dz-cardbody{padding:18px 20px 22px;display:flex;flex-direction:column;gap:8px}
.fv-dz-cardbody p{margin:0;font-size:14px}
.fv-dz-cardprice{color:var(--fva-clay);text-transform:uppercase;letter-spacing:.1em;font-size:13px!important}
.fv-dz-card:hover .fv-dz-cardbody h3{text-decoration:underline}
@media (max-width:1100px){.fv-dz-hero{grid-template-columns:1fr}.fv-dz-plan{padding:40px var(--fva-panel-pad-x) 20px}.fv-dz-planbtn img{max-height:none}.fv-dz-others{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.fv-dz-plan{padding:24px 24px 16px}.fv-lvl{grid-template-columns:minmax(0,1fr);gap:8px;padding:12px 0}.fv-dz-price{font-size:36px}.fv-dz-others{grid-template-columns:minmax(0,1fr)}.fv-dz-plancap{flex-direction:column;gap:6px}}
/* Floorplan JPGs are full brochure pages with print bleed: hide the white margin, keep the file intact */
.fv-fp{display:block;overflow:hidden;width:100%;background:#DAAF9C}
.fv-fp img{display:block;width:104.4%!important;max-width:none!important;height:auto!important;max-height:none!important;margin:-2.25% -2.2% -2.3% -2.2%;object-fit:initial!important}
.fv-dz-planbtn .fv-fp{max-width:calc((100vh - 160px) * 0.69);margin:0 auto}
.fv-dz-cardplan .fv-fp{height:100%}
.fv-fp--lb{width:min(92vw,calc((100vh - 140px) * 0.69));margin:0 auto}
@media (max-width:1100px){.fv-dz-planbtn .fv-fp{max-width:none}}
.fv-fp img{aspect-ratio:1738/2400}
.fv-dz-cardplan .fv-fp{height:auto}
h3 .fv-type{display:block}
/* Home availability: floorplan-led design cards with bedroom filter */
.fv-bedf{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.fv-bedf button{min-height:44px;padding:0 20px;background:transparent;border:1px solid var(--fva-clay);color:var(--fva-clay);font:400 13px/1 transat-text,Satoshi,sans-serif;text-transform:uppercase;letter-spacing:.14em;cursor:pointer}
.fv-bedf button[aria-pressed="true"]{background:var(--fva-clay);color:var(--fva-white)}
.fv-bedf-n{margin-left:auto;font-size:14px;color:var(--fva-clay)}
.fv-card--plan .fv-dz-cardplan{aspect-ratio:4/5}
@media (max-width:760px){.fv-bedf-n{margin-left:0;width:100%}}
.fv-card-cta{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.fv-card-cta .fva-render{min-height:360px}
@media (max-width:760px){.fv-card-cta{grid-template-columns:1fr}.fv-card-cta .fva-render{min-height:220px}}
/* Mobile: two-image strips stack, no half-empty row */
@media (max-width:760px){
  .fv-gallery--2{grid-template-columns:minmax(0,1fr)!important}
  .fv-gallery--2 .fva-render,.fv-gallery--2 .fva-render:first-child{grid-column:auto!important;aspect-ratio:3/2!important;width:100%!important;height:auto!important}
}
/* Mobile: every button full width with centred label (site style) */
@media (max-width:760px){
  main .fva-btn,footer .fva-btn,.fva-popup .fva-btn,.fva-form .fva-btn,.fva-submit{width:100%;justify-content:center;text-align:center;align-self:stretch!important}
  main div:has(> .fva-btn){flex-direction:column;align-items:stretch}
}
/* Design cards: interior render */
.fv-card--img .fva-render{aspect-ratio:4/3;overflow:hidden;margin:0}
.fv-card--img .fva-render img{width:100%;height:100%;object-fit:cover}
/* Mobile usability pass: apartment page */
@media (max-width:760px){
  .fv-hb{grid-template-columns:minmax(0,1fr)!important}
  .fv-hb-img{min-height:0!important;height:auto!important;aspect-ratio:4/3}
  .fv-hb-img img{object-position:center 60%!important}
  .fv-hb-pane{padding:40px 24px 48px!important;gap:22px!important}
  .fv-hl-sec{padding:56px 24px!important}
  .fv-hl{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px 20px!important}
  .fv-hl p:first-of-type{font-size:22px!important}
  .fv-anchors{display:none!important}
  .fv-incl{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px 20px!important}
  .fv-key .k,.fv-size3 .k,.fv-lvl-l,.fva-render-caption{font-size:13px!important}
  main .fva-link,main a[href^="tel:"]{min-height:44px;display:inline-flex;align-items:center}
  .fv-dz-pane{padding:40px 24px 48px!important}
  .fv-dz-others{gap:32px!important}
  .fv-dz-cardbody{padding:20px 20px 24px!important}
}
@media (max-width:380px){
  .fv-hl,.fv-incl{grid-template-columns:minmax(0,1fr)!important}
}
/* The inclusions carry the fuller FA5 schedule wording since 15/10/26; two columns of it on a
   phone wrapped to one or two words a line, so phones get one full-width row per item. */
@media (max-width:560px){
  .fv-incl{grid-template-columns:minmax(0,1fr)!important}
}
/* The 360 tour (src/scripts/tour.mjs): a poster and a start button until the buyer opens it, then
   the Pano2VR player fills the same box. Its own skin draws the controls inside the box. */
.fv-tour{position:relative;aspect-ratio:16/9;overflow:hidden;background:#382F2F}
.fv-tour-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.fv-tour-start{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;white-space:nowrap}
.fv-tour-player{position:absolute;inset:0;z-index:3}
.fv-tour.is-live .fv-tour-poster,.fv-tour.is-live .fv-tour-start{display:none}
.fv-tour.is-loading .fv-tour-start{opacity:.6;pointer-events:none}
.fv-tour-status{position:absolute;left:0;right:0;bottom:16px;margin:0;text-align:center;color:#FFFFFF;font-size:14px;z-index:2}
.fv-tour-status:empty{display:none}
.fv-tour-foot{display:flex;flex-wrap:wrap;gap:12px 32px;justify-content:space-between;align-items:center}
@media (max-width:760px){
  .fv-tour{aspect-ratio:4/5}
  .fv-tour-start{white-space:normal;width:calc(100% - 48px);text-align:center}
}
@media (max-width:920px){
  .fv-hb{grid-template-columns:minmax(0,1fr)!important}
  .fv-hb-img{min-height:0!important;height:auto!important;aspect-ratio:4/3}
  .fv-hb-pane{padding:56px var(--fva-panel-pad-x) 64px!important}
}
@media (max-width:760px){.fv-hb-pane{padding:40px 24px 48px!important}}
/* Forms v2 (approved 14/10/26): Earth header, Ochre body, soft white fields, Clay footer */
.fv-pop2{position:relative;background:var(--fva-ochre);color:var(--fva-earth);width:min(640px,100%);max-height:calc(100vh - 48px);overflow:auto;margin:auto;font-family:transat-text,Satoshi,sans-serif;text-align:left}
.fv-pop2--wide{width:min(1100px,100%)}
.fv-f-head{position:sticky;top:0;z-index:2;background:var(--fva-earth);color:#FFFFFF;padding:28px 72px 28px 32px;display:flex;flex-direction:column;gap:8px}
.fv-f-head .eb{margin:0;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--fva-ochre)}
.fv-f-head h2{margin:0;font:400 clamp(28px,3.4vw,38px)/1.05 var(--fva-font-display);color:#FFFFFF}
.fv-f-x{position:absolute;top:16px;right:16px;width:48px;height:48px;padding:0;background:none;border:0;color:#FFFFFF;cursor:pointer;display:flex;align-items:center;justify-content:center}
.fv-pop2 .fva-form{display:block;margin:0;padding:0}
.fv-f-body{display:grid;grid-template-columns:minmax(0,1fr)}
.fv-pop2--wide .fv-f-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.fv-f-col{padding:32px;display:flex;flex-direction:column;gap:22px;min-width:0}
.fv-pop2--wide .fv-f-col+.fv-f-col{border-left:1px dashed rgba(56,47,47,.35)}
.fv-f-h{margin:0;padding:0;font:400 19px/1.2 var(--fva-font-display);color:var(--fva-earth)}
legend.fv-f-h{margin-bottom:14px}
.fv-f-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}
.fv-pop2 fieldset{border:0;padding:0;margin:0;min-width:0}
.fv-pop2 .fva-field{margin:0;display:flex;flex-direction:column;gap:8px;min-width:0}
.fv-pop2 .fva-control{display:flex;flex-direction:column;gap:8px}
.fv-pop2 .fva-label,.fv-pop2 legend.fva-label{font-size:14px;font-weight:500;color:var(--fva-earth);padding:0;margin:0 0 8px;text-transform:none;letter-spacing:0}
.fv-pop2 .fva-field > .fva-label{margin:0}
.fv-pop2 .fva-required{color:var(--fva-clay);margin-left:3px}
.fv-f-opt{font-weight:400;color:var(--fva-clay)}
.fv-pop2 .fva-input{width:100%;min-height:54px;padding:0 16px;font:400 17px transat-text,Satoshi,sans-serif;color:var(--fva-earth);background:#FFFFFF;border:1px solid rgba(56,47,47,.16);border-radius:6px;box-sizing:border-box;box-shadow:none}
.fv-pop2 textarea.fva-input{min-height:140px;padding:14px 16px;line-height:1.5;resize:vertical}
.fv-pop2 .fva-select{appearance:none;-webkit-appearance:none;padding-right:44px;background:#FFFFFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23705857' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center}
.fv-pop2 .fva-input::placeholder{color:#8E7A77}
.fv-pop2 .fva-input:focus{outline:2px solid var(--fva-earth);outline-offset:1px}
.fv-pop2 .fva-input[aria-invalid="true"]{border:2px solid var(--fva-earth)}
.fv-pop2 .fva-error{display:flex;gap:8px;align-items:center;font-size:14px;line-height:1.35;color:var(--fva-earth);margin:2px 0 0}
.fv-pop2 .fva-error::before{content:"!";flex:none;width:18px;height:18px;border-radius:50%;background:var(--fva-earth);color:#FFFFFF;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.fv-pop2 .fva-error[hidden]{display:none}
.fv-f-chips{display:grid;gap:8px}
.fv-f-chips--dates{grid-template-columns:repeat(4,minmax(0,1fr))}
.fv-f-chips--times{grid-template-columns:repeat(auto-fill,minmax(92px,1fr))}
.fv-f-chips--types{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}
.fv-f-chip{position:relative;display:block;margin:0}
.fv-f-chip input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.fv-f-chip .fv-f-face{display:flex;flex-direction:column;justify-content:center;min-height:48px;padding:8px 14px;background:#FFFFFF;border:1px solid rgba(56,47,47,.16);border-radius:6px;font-size:15px;line-height:1.25;color:var(--fva-earth);box-sizing:border-box}
.fv-f-chip small{font-size:12px;opacity:.85}
.fv-f-chip--date .fv-f-face{align-items:center;min-height:84px;gap:2px;padding:8px 4px}
.fv-f-chip--date b{font:400 30px/1 var(--fva-font-display)}
.fv-f-chip--time .fv-f-face{align-items:center}
.fv-f-chip--type .fv-f-face{min-height:62px;gap:3px}
.fv-f-chip:hover .fv-f-face{border-color:var(--fva-earth)}
.fv-f-chip input:checked+.fv-f-face{background:var(--fva-earth);color:#FFFFFF;border-color:var(--fva-earth)}
.fv-f-chip input:focus-visible+.fv-f-face{outline:2px solid var(--fva-earth);outline-offset:2px}
.fv-f-hint{margin:0;font-size:15px;line-height:1.5}
.fv-pop2 .fva-consent{flex-direction:row;gap:12px;align-items:flex-start}
.fv-pop2 .fva-consent input{width:22px;height:22px;margin:0;flex:none;accent-color:var(--fva-earth)}
.fv-pop2 .fva-consent-label{font-size:13px;line-height:1.5;color:var(--fva-earth)}
.fv-pop2 .fva-footer{position:sticky;bottom:0;z-index:2;background:var(--fva-clay);color:#FFFFFF;padding:20px 32px;margin:0;display:flex;flex-wrap:wrap;gap:16px 32px;align-items:center;justify-content:space-between;border:0}
.fv-f-sum{display:flex;flex-direction:column;gap:6px;flex:1 1 280px}
.fv-f-sum p{margin:0;font-size:15px}
.fv-f-sum small{font-size:12px;line-height:1.45;color:rgba(255,255,255,.88)}
.fv-pop2 .fva-submit{min-height:58px;padding:0 32px;border:0;border-radius:6px;background:var(--fva-earth);color:#FFFFFF;font:400 15px transat-text,Satoshi,sans-serif;text-transform:uppercase;letter-spacing:.14em;cursor:pointer;white-space:nowrap;width:auto}
.fv-pop2:not(.fv-pop2--wide) .fva-submit{width:100%}
.fv-pop2 .fva-submit:hover{background:#2B2424}
.fv-pop2 .fva-submit:disabled{opacity:.7;cursor:default}
.fv-pop2 .fva-confirmation{padding:40px 32px 36px;display:flex;flex-direction:column;gap:20px;max-width:560px}
.fv-pop2 .fva-confirmation[hidden]{display:none}
.fv-pop2 .fva-confirmation h3{margin:0;font:400 36px/1.05 var(--fva-font-display);color:var(--fva-earth)}
.fv-pop2 .fva-confirmation p{margin:0;font-size:18px;line-height:1.55;color:var(--fva-earth)}
.fv-f-tick{width:56px;height:56px;border-radius:50%;background:var(--fva-earth);color:var(--fva-ochre);display:flex;align-items:center;justify-content:center}
.fv-f-tick .fva-icon{width:26px;height:26px}
.fv-f-btns{display:flex;flex-direction:column;gap:12px}
.fv-f-btn{display:flex;align-items:center;justify-content:center;min-height:58px;padding:0 24px;border:0;border-radius:6px;background:var(--fva-earth);color:#FFFFFF;font:400 15px transat-text,Satoshi,sans-serif;text-transform:uppercase;letter-spacing:.14em;text-decoration:none;cursor:pointer;text-align:center}
.fv-f-btn--light{background:#FFFFFF;color:var(--fva-earth)}
.fv-f-btn:hover{color:#FFFFFF;background:#2B2424}
.fv-f-btn--light:hover{background:#F3ECE9;color:var(--fva-earth)}
.fv-pop2 .fva-generic-error{margin:0 32px 24px;padding:14px 16px;background:#FFFFFF;border-radius:6px;display:flex;gap:10px;align-items:center;font-size:15px;color:var(--fva-earth)}
.fv-pop2 .fva-generic-error[hidden]{display:none}
.fv-pop2--m{width:390px}
.fv-pop2--m .fv-f-body{grid-template-columns:minmax(0,1fr)!important}
.fv-pop2--m .fv-f-col+.fv-f-col{border-left:0!important;padding-top:0}
.fv-pop2--m .fva-submit{width:100%!important}
.fv-pop2--m .fv-f-col{padding:24px}
@media (max-width:760px){
  .fv-overlay .fv-pop2{width:100%;max-height:100vh;min-height:100vh}
  .fv-pop2--wide .fv-f-body{grid-template-columns:minmax(0,1fr)}
  .fv-pop2--wide .fv-f-col+.fv-f-col{border-left:0;padding-top:0}
  .fv-pop2 .fva-submit{width:100%}
  .fv-f-col{padding:24px}
  .fv-f-head{padding:22px 64px 22px 24px}
  .fv-pop2 .fva-footer{padding:16px 24px}
  .fv-pop2 .fva-confirmation{padding:32px 24px}
}
.fv-pop2--static{max-height:none;overflow:visible;margin:0}.fv-pop2--static .fv-f-head,.fv-pop2--static .fva-footer{position:static}
.fv-f-chip .sc-interp{all:unset}
.fv-pop2 legend.fv-f-h{color:var(--fva-earth);font:400 19px/1.2 var(--fva-font-display);text-transform:none;letter-spacing:0;padding:0;margin:0 0 14px}

/* Round 1 fixes (tap targets, tablet overflow). Invisible padding with a matching negative margin
   keeps the visible layout unchanged while the hit area reaches 44px. */
.fv-util a{padding-block:14px;margin-block:-14px}
.fv-header:not(.is-scrolled) .fv-util{overflow:visible}
.fv-legal a{display:inline-block;padding:14px 6px;margin:-14px -6px}
.fv-facts a[href^="mailto:"]{display:block;padding-block:12px}
.fv-facts a[href^="mailto:"]+br{display:none}
.fv-facts li:has(a[href^="mailto:"]) > .fva-icon{margin-top:14px}
/* The inline appointment form sits in a half-width column on tablets: stack its two form columns
   and let its rows shrink, judged by the form's own width so wide layouts are untouched. */
.fv-pop2--static{container-type:inline-size}
@container (max-width:360px){
  .fv-pop2--wide .fv-f-body{grid-template-columns:minmax(0,1fr)}
  .fv-pop2--wide .fv-f-col+.fv-f-col{border-left:0;padding-top:0}
  .fv-f-row{grid-template-columns:minmax(0,1fr)}
}

/* The fixed header's spacer, reserved from first paint so <main> never moves when the header script
   measures it (SEO audit 16/10/26, F4c: desktop layout shift was 0.21). The script still corrects it. */
.fv-hd-spacer{height:273px}
@media (max-width:1180px){.fv-hd-spacer{height:229px}}
@media (max-width:760px){.fv-hd-spacer{height:180px}}
/* Breadcrumb trail under the header on every page below home (F8). */
.fv-crumbs{background:var(--fva-earth);color:#EAD5CA;padding:12px var(--fva-panel-pad-x);font-size:13px;letter-spacing:.04em}
.fv-crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center}
.fv-crumbs li{display:flex;align-items:center;gap:6px}
.fv-crumbs a{color:#EAD5CA;text-decoration:none;padding:4px 0}
.fv-crumbs a:hover{text-decoration:underline}
.fv-crumbs [aria-current]{color:#FFFFFF}
.fv-crumbs-sep{width:12px;height:12px;opacity:.75;flex:0 0 auto}
/* A separator read by screen readers and crawlers, not shown (card headings "2 bed 2 bath, Type A"). */
.fv-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* Paired buttons share one width, set by the longer label (Carly 20/10/26). Stacked by default, where a
   single grid column is as wide as the widest button; side by side only when the column has room for two of
   the widest (container query on the pair's parent), so 1fr columns never squeeze one label. The header pair
   is side by side in two equal columns; below 1180px the header shows the menu button instead (as before). */
.fv-pair{display:inline-grid;grid-auto-flow:row;grid-auto-columns:1fr;align-self:flex-start;justify-self:start;max-width:100%}
.fv-pair>.fva-btn{justify-content:center;text-align:center;width:100%}
:has(> .fv-pair--fit){container-type:inline-size}
@container (min-width:640px){.fv-pair--fit.fv-pair--sm{grid-auto-flow:column}}
@container (min-width:800px){.fv-pair--fit.fv-pair--lg{grid-auto-flow:column}}
.fv-hd-actions.fv-pair{grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}
@media (max-width:1180px){.fv-hd-actions.fv-pair{display:none}}
@media (max-width:760px){.fv-pair:not(.fv-hd-actions){display:grid;grid-auto-flow:row;width:100%;align-self:stretch}}
/* Team logos sit in one fixed-height box, centred on its line, so every description starts level (Carly 20/10/26). */
.fv-teamlogo{height:40px;display:flex;align-items:center;margin:4px 0 6px}
.fv-teamlogo img{display:block;max-width:100%}
/* Partner logos (footer and home team row) fit one 140 by 32 box, scaled to fit, so the four marks read at one size;
   each links to the partner's site (Keith 20/10/26). Footer centres them; the team row keeps them on the left edge. */
.fv-partner-logo{display:flex;align-items:center;justify-content:center;width:140px;height:32px;max-width:100%}
.fv-partner-logo img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.fv-teamlogo.fv-partner-logo{justify-content:flex-start;margin:4px 0 6px}
.fv-partner-logo:focus-visible{outline:1px solid var(--fva-ochre);outline-offset:4px}

/* Meeting round 23/10/26 (docs/v2/meeting-round.md) */
/* Design pages at design level: the facts list where the level picker was, and the line beside the from price */
.fv-dz-facts{display:flex;flex-direction:column;gap:12px}
.fv-dz-facts h3{margin:0;font:400 26px/1.15 var(--fva-font-display);color:var(--fva-ochre)}
.fv-dz-facts dl{margin:0;display:flex;flex-direction:column;border-top:1px solid rgba(205,169,153,.35)}
.fv-dz-facts dl > div{display:grid;grid-template-columns:132px minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid rgba(205,169,153,.35)}
.fv-dz-facts dt{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--fva-ochre);padding-top:3px}
.fv-dz-facts dd{margin:0;font-size:15px;line-height:1.45;overflow-wrap:anywhere}
.fv-dz-more{margin:0;font-size:15px;line-height:1.5;max-width:34em}
@media (max-width:760px){.fv-dz-facts dl > div{grid-template-columns:minmax(0,1fr);gap:4px}.fv-dz-facts dt{font-size:13px}}
/* The opening hours with Anna's after-hours line beneath them */
.fv-hours{display:flex;flex-direction:column;gap:8px;min-width:0}
.fv-hours-after{margin:0;font-size:14px;line-height:1.45}
/* Stamp duty buyer toggle: four labels wrap inside their buttons instead of clipping on a phone */
.fv-calc fieldset{min-width:0}
.fv-seg button{line-height:1.2;text-align:left;max-width:100%}
@media (max-width:760px){.fv-seg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.fv-seg button{justify-content:center;text-align:center;padding:10px 12px}}

/* Available apartments (v3 comparison round, 27/10/26, Keith C1): one line per bedroom count,
   replacing the six Featured design picture cards on the home page. */
.fv-avail{list-style:none;margin:0;padding:0;border-top:1px solid rgba(112,88,87,.35)}
.fv-avail-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto;align-items:center;gap:12px 32px;padding:24px 0;border-bottom:1px solid rgba(112,88,87,.35)}
.fv-avail-beds{margin:0;font:400 var(--fva-h3)/1.1 var(--fva-font-display);color:var(--fva-clay)}
.fv-avail-price{margin:0;font-size:20px;color:var(--fva-earth);font-variant-numeric:tabular-nums}
.fv-avail-go{display:flex;align-items:center;justify-content:flex-end;gap:16px 28px;flex-wrap:wrap}
.fv-avail-go .fva-btn{gap:8px}
@media (max-width:760px){
  .fv-avail-row{grid-template-columns:minmax(0,1fr) auto;padding:20px 0}
  .fv-avail-go{grid-column:1/-1;justify-content:space-between}
  .fv-avail-go .fva-btn{width:100%;justify-content:center}
}

/* /apartments/ since 27/10/26 (Keith): Anna's six design cards carry her label above the design name. */
.fv-card-label{margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:var(--fva-caps-tracking);color:var(--fva-clay)}
/* "Looking for something else?" under the six cards */
.fv-more{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px 40px;align-items:center;padding:32px;background:var(--fva-earth);color:var(--fva-white)}
.fv-more .fva-h2{margin:0;color:var(--fva-ochre)}
.fv-more p{margin:0}
.fv-more-actions{display:flex;gap:14px;flex-wrap:wrap}
@media (max-width:760px){.fv-more{grid-template-columns:minmax(0,1fr);padding:28px 24px}.fv-more-actions .fva-btn{width:100%;justify-content:center}}

/* Downsizer calculator (28/10/26, src/components/apartments/DownsizerCalculator.astro): the .fv-calc
   panel, white inputs on the left, the earth result on the right, stacked on a phone. */
.fv-dc-calc{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.fv-dc-calc .out{gap:14px}
.fv-dc-apts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.fv-dc-apts button{flex-direction:column;align-items:flex-start;gap:6px;padding:12px 14px;text-align:left;justify-content:center}
.fv-dc-apts button small{font-size:13px;opacity:.85}
.fv-dc-q .fv-seg{display:flex;gap:8px}
.fv-dc-q .fv-seg button{min-width:88px;justify-content:center}
.fv-dc-hint{font-size:14px;line-height:1.5;color:var(--fva-clay);margin:0}
.fv-dc-field{display:flex;flex-direction:column;gap:10px}
.fv-dc-field .lbl{margin:0}
.fv-dc-calc input[type=range]{width:100%;accent-color:var(--fva-clay);min-height:32px;margin:0}
.fv-dc-ends{display:flex;justify-content:space-between;font-size:13px;color:var(--fva-clay)}
.fv-dc-costs{border-top:1px solid rgba(112,88,87,.35);padding-top:16px}
.fv-dc-costs summary{cursor:pointer;font-size:15px;color:var(--fva-earth);min-height:44px;display:flex;align-items:center;list-style:none}
.fv-dc-costs summary::-webkit-details-marker{display:none}
.fv-dc-costs summary::before{content:'+';display:inline-block;width:22px;font-size:20px;color:var(--fva-clay)}
.fv-dc-costs[open] summary::before{content:'\2212'}
.fv-dc-costs[open]{display:flex;flex-direction:column;gap:14px}
.fv-dc-cost{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:12px;align-items:center;font-size:15px;color:var(--fva-earth)}
.fv-dc-unit{display:flex;align-items:center;gap:8px}
.fv-dc-unit b{font-weight:400;color:var(--fva-clay)}
.fv-dc-unit .fld{min-height:44px}
.fv-dc-big{display:flex;flex-direction:column;gap:8px}
.fv-dc-big span{font-size:15px}
.fv-dc-big strong{font:400 clamp(40px,5vw,64px)/1 var(--fva-font-display);color:var(--fva-ochre);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.fv-dc-calc.is-short .fv-dc-big strong{color:#EAD5CA}
.fv-dc-note{margin:0;font-size:14px;line-height:1.5;color:#EAD5CA}
.fv-dc-note[hidden]{display:none}
.fv-dc-sub{margin:12px 0 0;font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:#CDA999}
.fv-dc-calc .out dt.fv-dc-sum,.fv-dc-calc .out dd.fv-dc-sum{border-top:1px solid rgba(205,169,153,.4);padding-top:10px;color:#CDA999}
.fv-dc-calc .total strong{font-size:32px}
.fv-dc-short{display:flex;flex-direction:column;gap:10px;background:rgba(255,255,255,.06);padding:16px}
.fv-dc-short[hidden]{display:none}
.fv-dc-short input[type=range]{accent-color:var(--fva-ochre)}
.fv-dc-actions{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;margin-top:8px}
.fv-dc-reset{background:transparent;border:0;color:#EAD5CA;text-decoration:underline;text-underline-offset:3px;font:400 15px/1 var(--fva-font-body);min-height:44px;padding:0 4px;cursor:pointer}
.fv-dc-fine{margin:0;font-size:13px;line-height:1.5;color:#EAD5CA}
.fv-dc-fine a{color:inherit}
@media (max-width:760px){
  .fv-dc-calc{grid-template-columns:1fr}
  .fv-dc-apts{grid-template-columns:1fr}
  .fv-dc-cost{grid-template-columns:1fr;gap:6px}
  .fv-dc-actions .fva-btn{width:100%;justify-content:center;text-align:center}
}
/* The phone result strip: the result panel sits below the inputs on a phone, so a slim live figure
   stays at the foot of the screen while the inputs are in view (sticky inside .in). */
.fv-dc-peek{display:none}
@media (max-width:760px){
  .fv-dc-peek{display:flex;position:sticky;bottom:0;z-index:2;margin:8px -20px -28px;padding:12px 20px;background:var(--fva-earth);color:#FFFFFF;align-items:baseline;gap:10px;text-decoration:none;font-size:14px}
  .fv-dc-peek strong{font:400 24px/1 var(--fva-font-display);color:var(--fva-ochre);font-variant-numeric:tabular-nums}
  .fv-dc-calc.is-short .fv-dc-peek strong{color:#EAD5CA}
  .fv-dc-peek em{margin-left:auto;font-style:normal;text-decoration:underline;text-underline-offset:3px;color:#EAD5CA}
}
