/* v9.6.0 sitewide header + menus (C3 batch) */
/* 1A: header Book a visit is always an outline; the page's main button carries the gold */
html body .site-h a.hbook:not(#z1):not(#z2):not(#z3):not(#z4){background:transparent!important;border:1.5px solid rgba(255,255,255,.75)!important;color:#fff!important;box-shadow:none!important}
html body .site-h a.hbook:not(#z1):not(#z2):not(#z3):not(#z4):hover{background:rgba(255,255,255,.1)!important;border-color:#fff!important}
/* focus ring visible on green (white, 13.3:1) */
html body .site-h :is(a,button):focus-visible:not(#z1):not(#z2):not(#z3):not(#z4),html body .mmD :is(a,button):focus-visible:not(#z1):not(#z2):not(#z3):not(#z4),html body .fsmenu :is(a,button):focus-visible:not(#z1):not(#z2):not(#z3):not(#z4),html body :is(.v959hero,.v952hero,.panext,.sec.dark,.visitb,.foot .legal) :is(a,button):focus-visible:not(#z1):not(#z2):not(#z3):not(#z4){outline:2px solid #fff!important;outline-offset:2px!important;box-shadow:none!important}
/* phone Menu label: hidden by text-indent instead of a 0px font */
@media (max-width:899px){html body .site-h.navc.hx.v93h .hmenu:not(#z1){font-size:15px!important;text-indent:-999px;overflow:hidden;white-space:nowrap}}
/* "New" tags: green on a sand chip */
html body .tg:not(#z1),html body .new:not(#z1){display:inline-block;background:#e8d7b3!important;color:#123627!important;border:0!important;padding:1px 6px!important;font:600 14px/1.3 Montserrat,Arial,sans-serif!important;letter-spacing:0!important;text-transform:none!important;border-radius:0!important;vertical-align:1px}
.hs{display:inline-block;margin-left:6px;background:#e8d7b3;color:#123627;padding:1px 6px;font:600 14px/1.3 Montserrat,Arial,sans-serif;font-style:normal;vertical-align:1px}
/* desktop panels: 4 gazebo cards, 3 garden-room cards, Bespoke as a small photo link */
html body .mmD.v96mm .cards.v96c4:not(#z1){grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:20px!important}
html body .mmD.v96mm .cards.v96c3:not(#z1){grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px!important;max-width:84%}
html body .mmD.v96mm .card .ph:not(#z1){aspect-ratio:16/9!important;border-radius:0!important}
html body .mmD.v96mm .card .nm:not(#z1){font-size:18px!important}
html body .mmD.v96mm .card .pr em{font-style:normal;font-weight:400;color:#d9d3c4}
html body .mmD.v96mm .v9bar:not(#z1){display:flex;align-items:center;justify-content:space-between;gap:16px}
.v96bes{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:#f7f5f2;text-decoration:none;font-size:14px}
.v96bes img{width:64px;height:43px;object-fit:cover;display:block}
.v96bes b{font-weight:600;margin-right:4px}
.v96bes:hover span{text-decoration:underline;text-underline-offset:4px}
/* phone sheet: tabs, photo rows, short links, one close (the header button) */
.v96tabs{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(247,245,242,.55);margin:4px 0 10px}
.v96tabs button{min-height:48px;background:transparent;border:0;color:#f7f5f2;font:600 15px Montserrat,Arial,sans-serif;cursor:pointer}
.v96tabs button[aria-selected=true]{background:#f7f5f2;color:#123627}
html body .fsmenu .v96p .fsm-tiles .tile.row:not(#z1){min-height:72px}
html body .fsmenu .v96p .fsm-tiles .tile.row img:not(#z1){width:64px!important;height:48px!important;object-fit:cover;border-radius:0!important}
html body .fsmenu .v96p .pr em{display:block;font-style:normal;font-weight:400;font-size:14px;opacity:.85}
.v96links{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;margin-top:8px}
.v96links a{display:flex;align-items:center;min-height:44px;border-bottom:1px solid rgba(247,245,242,.14);color:#f7f5f2;text-decoration:none;font-size:15px}
html body .fsm4.v94fade:not(#z1)::after{content:none!important;display:none!important}
html body .fsm4.v94fade .mlist:not(#z1){-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 24px),transparent)}
html body .fsmenu .v96bar:not(#z1){display:grid!important;grid-template-columns:auto 1fr;gap:10px}
html body .fsmenu .v96bar .msq:not(#z1){display:inline-flex;align-items:center;gap:8px;width:auto!important;padding:0 16px!important;min-height:48px;font:600 15px Montserrat,Arial,sans-serif;color:#f7f5f2;background:transparent;border:1px solid rgba(247,245,242,.55)!important}
html body .fsmenu .v96bar .msq svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
.v96call{display:flex;align-items:center;justify-content:center;min-height:48px;border:1px solid rgba(247,245,242,.55);color:#f7f5f2;text-decoration:none;font:600 15px Montserrat,Arial,sans-serif}
html body .fsmenu .v96p .tile.row .pr:not(#z1){max-width:120px;text-align:right;white-space:normal}
html body .fsmenu .v96p .tile.row :is(.tg,.hs):not(#z1){display:inline-block!important;margin:0 0 0 6px!important}

/* ===== v9.7.0 sitewide ===== */
/* fix 1: dark green header on every page (ported from the Home header) */
html body .site-h:not(#z1):not(#z2){background:#123627!important;border-bottom:1px solid rgba(247,245,242,.12)!important;box-shadow:none!important}
html body .site-h:not(#z1):not(#z2) :is(.htab,.hmenu,.v94tel,.hmenu .car,.tel){color:#F7F5F2!important;border-color:transparent}
html body .site-h:not(#z1):not(#z2) .htab[aria-expanded=true],html body .site-h:not(#z1):not(#z2) .hmenu[aria-expanded=true]{box-shadow:inset 0 -2px 0 #F7F5F2!important}
html body .site-h:not(#z1):not(#z2) :is(.htab,.hmenu):hover{text-decoration:underline;text-underline-offset:6px}
html body .site-h:not(#z1):not(#z2) svg{stroke:currentColor}
html body .site-h :focus-visible{outline:2px solid #F7F5F2!important;outline-offset:3px}
/* 8A: since-2006 line beside the logo, desktop only */
.v97since{display:none}
@media (min-width:1100px){html body .site-h a.logo:not(#z1){display:inline-flex;align-items:center;flex:none;width:auto}.v97since{display:block;margin-left:14px;padding-left:14px;border-left:1px solid rgba(247,245,242,.35);color:#F7F5F2;font:500 14px/1.3 Montserrat,Arial,sans-serif;white-space:nowrap}}
/* 1A: desktop Garden rooms panel: Heritage, Contemporary + three Signature buildings */
html body .mmD.v96mm .cards.v96c3.v97c5:not(#z1){grid-template-columns:1fr 1fr 3fr!important;max-width:none!important;gap:20px!important;align-items:start}
.v97sg{min-width:0}
.v97sgh{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0 0 10px;color:#F7F5F2;font:600 16px/1.3 Montserrat,Arial,sans-serif}
.v97sgh a{color:#F7F5F2;text-decoration:none;min-height:24px}
.v97sgh a:hover{text-decoration:underline;text-underline-offset:4px}
.v97sgh .hs{margin:0}
.v97sgh span{font-weight:400;font-size:14px;color:#d9d3c4}
.v97sgl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;border-left:1px solid rgba(247,245,242,.18);padding-left:20px}
html body .mmD.v96mm .v97sgl .card .nm:not(#z1){font-size:16px!important}
html body .mmD.v96mm .card .ds:not(#z1){font-size:14px!important}
/* 1A + 9A: phone rows, bigger photos, price on one line, one VAT note */
html body .fsmenu .v96p .fsm-tiles .tile.row img:not(#z1){width:80px!important;height:60px!important}
html body .fsmenu .v96p .tile.row .pr:not(#z1){max-width:none;white-space:nowrap;font-size:14px}
html body .fsmenu .v96p .tile.row .tx small:not(#z1){font-size:14px}
.v97vat{margin:8px 0 0;color:#d9d3c4;font-size:14px}
.v97sgr{list-style:none}
html body .fsmenu .v97sgb:not(#z1){width:100%;background:transparent;border:0;border-bottom:1px solid rgba(247,245,242,.14);color:#F7F5F2;font:inherit;text-align:left;cursor:pointer;display:flex;align-items:center;gap:12px;padding:6px 0;min-height:72px}
.v97tri{display:flex;flex:none;gap:1px;width:80px;height:60px;overflow:hidden}
html body .fsmenu .v96p .fsm-tiles .tile.row .v97tri img:not(#z1):not(#z2){width:26px!important;height:60px!important;object-fit:cover;flex:none}
.v97sgb[aria-expanded=true] .chev{transform:rotate(90deg)}
html body .fsmenu .v97sgp:not(#z1){margin:0 0 0 16px;padding:0;border-left:2px solid #e8d7b3}
html body .fsmenu .v97sgp .tile.row:not(#z1){padding-left:12px}
/* fix 17: phone menu pinned to the header, solid green, no strip of page showing */
@media (max-width:899px){
 html body .fsm4.v96fs:not(#z1):not(#z2){top:var(--fsm-top,56px)!important;bottom:0!important;inset:var(--fsm-top,56px) 0 0 0!important;max-height:none!important;background:#123627!important;overflow:auto}
 html body.fsm-on:not(#z1)::after{top:var(--fsm-top,56px)}
}
/* fix 13: "Higher spec" / "New" tags in sand everywhere */
html body :is(.hs,.tg,.new,.v96hs,.badge-new):not(#z1):not(#z2){background:#e8d7b3!important;color:#123627!important;border:0!important;border-radius:0!important;font-size:14px!important}
/* fix 18: focus ring visible on light backgrounds (green), white on dark */
html body :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid #123627;outline-offset:3px}
html body :is(.site-h,.mmD,.fsmenu,.v959hero,.v952hero,.panext,.sec.dark,.ft,.site-f,footer,.v96foot) :is(a,button,summary):focus-visible{outline-color:#F7F5F2!important}
/* fix 18: reduced motion */
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* ===== v9.7.0 model pages ===== */
.v96cream.v96cream,.v97cream.v97cream:not(#z1):not(#z2):not(#z3):not(#z4){background:#f7f5f2!important;border:1.5px solid #f7f5f2!important;color:#123627!important;box-shadow:none!important}
.v97cream.v97cream:not(#z1):not(#z2):not(#z3):not(#z4):hover{background:#fff!important}
/* 14B outlined "See the X in person" */
html body a.btn.gh.v97see:not(#z1):not(#z2):not(#z3):not(#z4){background:transparent!important;border:1.5px solid #123627!important;color:#123627!important;box-shadow:none!important;min-height:48px;display:inline-flex;align-items:center;justify-content:center}
html body a.btn.gh.v97see:not(#z1):not(#z2):not(#z3):not(#z4):hover{background:#123627!important;color:#f7f5f2!important}
html body .cz-cta:not(#z1){display:flex;flex-wrap:wrap;gap:10px 12px;align-items:center}
/* 4A one of three */
.v97trio{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:6px 0 12px;font-size:14px;color:#4a4a42}
.v97trio ul{list-style:none;margin:0;padding:0;display:flex;gap:8px;flex-wrap:wrap}
.v97trio a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 10px 0 0;border:1px solid #d9d3c4;color:#123627;text-decoration:none;font-weight:600;background:#fff}
.v97trio a[aria-current]{border-color:#123627;box-shadow:inset 0 0 0 1px #123627}
.v97trio img{width:44px;height:44px;object-fit:cover;display:block}
.v97trio a:hover span{text-decoration:underline;text-underline-offset:3px}
/* 13A specification block: one block, panels for detail */
.v97spec>.wrap>.kick{margin:0}
.v97sub>.wrap,.v97sub .wrap{padding-top:0}
.v97more{border-top:1px solid #d9d3c4;margin:0}
.v97more:last-child{border-bottom:1px solid #d9d3c4}
.v97more>summary{list-style:none;cursor:pointer;padding:6px 0}
.v97more>summary::-webkit-details-marker{display:none}
.v97more>summary>.wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px}
.v97more>summary h3{margin:0;font:500 22px/1.25 Optima,"Linux Biolinum",Georgia,serif;color:#123627}
.v97rd{flex:none;font:600 14px Montserrat,Arial,sans-serif;color:#123627;border:1px solid #123627;padding:8px 14px}
.v97more[open] .v97rd{font-size:0}.v97more[open] .v97rd::after{content:"Close";font-size:14px}
.v97more>summary:hover h3{text-decoration:underline;text-underline-offset:5px}
.v97more>.wrap{padding-bottom:28px}
.v97spec .wrap h2[style]{margin-top:0!important}
/* 4A/13A end rows inside the next step: photos at every width */
.v97end{padding-top:8px;padding-bottom:40px}
.v97row{margin-top:26px}
.v97rh{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid rgba(247,245,242,.2);padding-top:18px;margin-bottom:12px}
.v97rh h3{margin:0;color:#f7f5f2;font:500 22px/1.25 Optima,"Linux Biolinum",Georgia,serif}
.v97rh .lnk{color:#f7f5f2!important;min-height:44px;display:inline-flex;align-items:center}
.v97row ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.v97row li a{display:flex;flex-direction:column;gap:3px;color:#f7f5f2;text-decoration:none;min-height:44px}
.v97row li img{width:100%;aspect-ratio:16/9;height:auto;object-fit:cover;display:block;margin-bottom:6px}
.v97row li b{font:500 19px/1.25 Optima,"Linux Biolinum",Georgia,serif}
.v97row li .ln,.v97row li .pr{font-size:14px;color:#d9d3c4}.v97row li .pr em{font-style:normal}
.v97row li em{font-style:normal}
.v97row li a>em{font-size:14px;color:#e8d7b3}
.v97row li a[aria-current] img{outline:3px solid #e8d7b3;outline-offset:-3px}
.v97row li a:hover b{text-decoration:underline;text-underline-offset:4px}
@media (max-width:699px){.v97row ol{grid-template-columns:1fr 1fr;gap:12px}}
/* gazebo end row inside the next step */
html body .panext .v97end.hpmore:not(#z1){background:transparent!important}
html body .panext .v97end.hpmore :is(h2,.kick,.mcn,.mcf,.mcp,.mcp b):not(#z1){color:#f7f5f2!important}
html body .panext .v97end.hpmore .lnk:not(#z1){color:#f7f5f2!important}
html body .panext .v97end.hpmore .secthead:not(#z1){border-top:1px solid rgba(247,245,242,.2);padding-top:22px;margin-top:10px}
/* fix 2: reviews in the 3-across grid */
html body #reviews .tps:not(#z1):not(#z2){display:block!important}
html body #reviews .tps>div:first-child:not(#z1){display:flex!important;flex-wrap:wrap;align-items:center;gap:6px 16px;margin-bottom:22px}
html body #reviews .tps>div:first-child .tpbig:not(#z1){font-size:40px!important;line-height:1}
html body #reviews .tps>div:first-child p:not(#z1){margin:0!important}
html body #reviews .tps .grid.g3:not(#z1):not(#z2){display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px!important}
@media (max-width:899px){html body #reviews .tps .grid.g3:not(#z1):not(#z2){grid-template-columns:1fr!important}}
/* fix 8: search results with photos and See all */
html body .sovg li a.sovph:not(#z1){display:flex;align-items:center;gap:12px}
.sovg li a.sovph img{width:48px;height:48px;object-fit:cover;flex:none;display:block}
.sovg .sovtx{display:block;min-width:0}
.sovg .sovtx>span{display:block}
.sovall{margin:10px 0 4px;min-height:44px;padding:0 16px;background:transparent;border:1.5px solid #123627;color:#123627;font:600 15px Montserrat,Arial,sans-serif;cursor:pointer}
.sovall:hover{background:#123627;color:#f7f5f2}
.v97real{margin:0}.v97real img{width:100%;max-width:1000px;height:auto;display:block}
.v97real figcaption{margin-top:10px;font-size:14px;color:#4a4a42;display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center}
html body #hero .info.cz-sg:not(#z1){min-width:0}
.v97trio,.v97trio ul{min-width:0;max-width:100%}
/* fix 2: plan labels at 14px or more */
html body .svgw svg.fitd text:is(.dl,.fl,.vl,.cs):not(#z1){font-size:14.5px!important}
html body .svgw svg.fitd:not(.sgsvg) text.ct:not(#z1){font-size:15px!important}
html body .svgw svg.sgsvg text.fl tspan:not(#z1){font-size:inherit!important}

/* 2A hub: Heritage + Contemporary as two, Signature as a full-size row of three */
