/* Sherwoods website: the owner's full mockup (5 Nov 2026). Navy #002A51, lime #C5D752, ink #272D34, two families. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body.sw{margin:0;background:#fff;font-family:Mulish,system-ui,-apple-system,"Segoe UI",sans-serif;color:#272D34;font-size:15px;line-height:1.55}
:where(.sw) a{color:#0A3A66}:where(.sw) a:hover{color:#002A51}
.sw h1,.sw h2,.sw h3,.sw h4{font-family:'Hanken Grotesk',system-ui,sans-serif;color:#002A51;margin:0;letter-spacing:-0.015em}
.sw p{margin:0}
.sw img{max-width:100%}
/* Full width (owner, 6 Nov 2026; DECISIONS/0313): bands run edge to edge; content widens with the screen up to 2240px
   with fluid gutters (16px on phones, up to 112px), so no wide empty side panels at 1440, 1920 or 2560. */
:root{--gut:clamp(16px,4.5vw,112px);--wmax:2240px}
.w{max-width:var(--wmax);margin-left:auto;margin-right:auto;padding-left:var(--gut);padding-right:var(--gut)}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:8px;z-index:50;background:#fff;padding:8px 12px;border-radius:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.eb{font-family:'Hanken Grotesk',sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:#586470}
.t0{font-size:52px;line-height:1.05;font-weight:700}
.t1{font-size:40px;line-height:1.1;font-weight:700}
.t2{font-size:28px;line-height:1.2;font-weight:700}
.t3{font-size:18px;line-height:1.3;font-weight:600}
.sw strong.t3{display:block;font-family:'Hanken Grotesk',sans-serif;color:#002A51;font-weight:700}
.lead{font-size:16.5px;color:#3E4750;max-width:780px}
/* Long text keeps a readable measure however wide the page is. */
.sw main p{max-width:78ch}
.prose>*{max-width:78ch}
.prose>table,.prose>figure,.prose>.tw{max-width:none}
.meta{font-size:13.5px;color:#586470}
.permit{font-size:12px;color:#586470;font-variant-numeric:tabular-nums}
.price{font-family:'Hanken Grotesk',sans-serif;font-size:19px;font-weight:700;color:#002A51}
.src{font-size:12.5px;color:#586470}
.smp{display:inline-flex;align-items:center;font:700 10.5px 'Hanken Grotesk',sans-serif;letter-spacing:.08em;text-transform:uppercase;background:#FFF1CC;color:#6B4A00;border-radius:4px;padding:2px 7px;vertical-align:middle}
.live{display:inline-flex;align-items:center;font:700 11px 'Hanken Grotesk',sans-serif;letter-spacing:.08em;text-transform:uppercase;background:#E3F1E8;color:#1E6B45;border-radius:4px;padding:2px 8px}
.done{display:inline-flex;align-items:center;font:700 10.5px 'Hanken Grotesk',sans-serif;letter-spacing:.08em;text-transform:uppercase;background:#EDF2F7;color:#3E4750;border-radius:4px;padding:2px 7px}
/* Buttons: one solid (navy) per block; WhatsApp outlined green; never a call button. */
.sw .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:8px;font:700 14px 'Hanken Grotesk',sans-serif;text-decoration:none;border:1px solid transparent;white-space:nowrap;cursor:pointer;background:#fff;color:#002A51}
.sw .bp{background:#002A51;color:#fff}.sw .bp:hover{background:#0A3A66;color:#fff}
.sw .bl{background:#C5D752;color:#002A51}.sw .bl:hover{background:#B6C93C;color:#002A51}
.sw .bo{background:#fff;color:#002A51;border-color:#CBD4DC}.sw .bo:hover{border-color:#002A51;color:#002A51}
.sw .wa{background:#fff;color:#1E6B45;border-color:#B9D9C6}.sw .wa:hover{border-color:#1E6B45;color:#1E6B45}
.btn:focus-visible,.chip:focus-visible,.tab:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #C5D752;outline-offset:2px}
.sw .chip{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid #CBD4DC;font:600 13.5px Mulish,sans-serif;color:#002A51;text-decoration:none;background:#fff;white-space:nowrap}
.sw .chip:hover{border-color:#002A51;color:#002A51}
.sw .chip.on{background:#002A51;color:#fff;border-color:#002A51}
.chip small{font-weight:500;opacity:.75;font-size:12.5px}
.pill{display:inline-flex;align-items:center;gap:6px;background:#002A51;color:#fff;border-radius:999px;padding:3px 11px 3px 6px;font:700 12.5px 'Hanken Grotesk',sans-serif;text-decoration:none;align-self:flex-start}
.pill i{width:14px;height:14px;border-radius:50%;background:#C5D752;display:inline-block}
.crumb{font-size:13px;color:#586470}.sw .crumb a{color:#586470;text-decoration:none}.sw .crumb a:hover{color:#002A51}
.crumb.inv,.sw .crumb.inv a{color:#D3DEE9}
/* Cards and blocks */
.card{background:#fff;border:1px solid #E1E7EC;border-radius:8px;overflow:hidden;box-shadow:0 1px 2px rgba(0,42,81,.06);text-decoration:none;color:inherit;display:flex;flex-direction:column}
.sw a.card{color:inherit}.sw a.card:hover{box-shadow:0 8px 24px rgba(0,42,81,.12);color:inherit}
.cb{padding:16px;display:flex;flex-direction:column;gap:6px;flex:1}
.cb .act{display:flex;gap:8px;margin-top:auto;padding-top:10px}
.cb .act .btn{flex:1 1 0;min-height:42px;padding:0 10px;font-size:13px}
.ph{display:block;width:100%;height:190px;object-fit:cover;background:#E9EEF3}
.noimg{display:flex;align-items:center;justify-content:center;width:100%;height:170px;background:#E9EEF3;color:#586470;font-size:13px;text-align:center;padding:0 16px}
.im{position:relative}
.credit{position:absolute;right:8px;bottom:8px;background:rgba(0,27,54,.72);color:#fff;font-size:11px;padding:2px 8px;border-radius:4px;margin:0}
.box{background:#fff;border:1px solid #E1E7EC;border-radius:12px;padding:22px;display:flex;flex-direction:column;gap:12px}
.box.soft{background:#F7F9FB}
.sherlo{background:#F3F7DC;border:1px solid #DCE6A0;border-radius:12px;padding:22px;display:flex;flex-direction:column;gap:12px}
.sherlo.wide{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:28px;align-items:center;padding:32px}
.fld{display:flex;flex-direction:column;gap:4px;flex:1 1 160px;min-width:0}
.fld label,.lbl{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#586470}
.fld input,.fld select,.fld textarea{min-height:44px;border:1px solid #CBD4DC;border-radius:8px;padding:0 12px;font:500 15px Mulish,sans-serif;color:#002A51;background:#fff;width:100%}
.fld textarea{padding:12px;resize:vertical;min-height:72px}
.chk{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:#3E4750}
.chk input{width:20px;height:20px;margin:0;flex:none}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.msg{padding:12px 16px;border-radius:8px;background:#E3F1E8;color:#1E3A2B;font-size:14px}.msg.err{background:#FBECEA;color:#5C1F14}
.g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.g5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
@media (min-width:1600px){.g4{grid-template-columns:repeat(5,minmax(0,1fr))}.g2,.g3,.g4,.g5{gap:24px}}
@media (min-width:1800px){.g3{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:2100px){.g4{grid-template-columns:repeat(6,minmax(0,1fr))}.g5{grid-template-columns:repeat(6,minmax(0,1fr))}}
/* Teaser grids (home) hold a few more items than they show: .fit1 shows one full row, .fit2 two, at every width. */
.g4.fit1>:nth-child(n+5),.g3.fit1>:nth-child(n+4),.g4.fit2>:nth-child(n+9){display:none}
@media (min-width:1600px){.g4.fit1>:nth-child(5),.g4.fit2>:nth-child(9),.g4.fit2>:nth-child(10){display:flex}}
@media (min-width:1800px){.g3.fit1>:nth-child(4){display:flex}}
@media (min-width:2100px){.g4.fit1>:nth-child(6),.g4.fit2>:nth-child(11),.g4.fit2>:nth-child(12){display:flex}}
.sec{padding-top:56px;padding-bottom:56px}
.alt{background:#F7F9FB}
.navy{background:#002A51}
.hdr{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.stack{display:flex;flex-direction:column;gap:14px}
.row{display:flex;flex-wrap:wrap;gap:36px;align-items:flex-start}
.main{flex:999 1 620px;min-width:0;display:flex;flex-direction:column;gap:36px}
.aside{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:20px}
.kv{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #E1E7EC;font-size:14px}
.kv b{font-family:'Hanken Grotesk',sans-serif;color:#002A51;font-variant-numeric:tabular-nums;text-align:right}
.stat{display:flex;flex-direction:column;gap:4px;padding:18px;border:1px solid #E1E7EC;border-radius:8px;background:#fff}
.stat b{font:700 26px 'Hanken Grotesk',sans-serif;color:#002A51;font-variant-numeric:tabular-nums}
.stat span{font-size:13px;color:#586470}
.stat em{font-style:normal;font-size:13px;font-weight:700}
.dn{color:#8A2E1F}.up{color:#1E6B45}.fl{color:#586470}
.inv .stat,.stat.inv{background:transparent;border:0;padding:0}
.stat.inv b{font-size:30px;color:#fff}.stat.inv span{color:#A6BCD1}
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#E1E7EC;border:1px solid #E1E7EC;border-radius:8px;overflow:hidden}
.facts div{background:#fff;padding:14px 16px;display:flex;flex-direction:column;gap:2px}
.facts b{font:700 18px 'Hanken Grotesk',sans-serif;color:#002A51}
.facts span{font-size:12.5px;color:#586470}
.gl span{font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.tw{overflow-x:auto;border:1px solid #E1E7EC;border-radius:8px;background:#fff}
.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th{text-align:left;font-weight:700;color:#586470;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;padding:10px 14px;border-bottom:1px solid #CBD4DC;white-space:nowrap}
.tbl td{padding:11px 14px;border-bottom:1px solid #E1E7EC;white-space:nowrap}
.num{font-variant-numeric:tabular-nums;text-align:right}
.tbl th.num{text-align:right}
.faq{border-top:1px solid #E1E7EC;padding:14px 0}
.faq summary{font:600 16px 'Hanken Grotesk',sans-serif;color:#002A51;cursor:pointer;min-height:24px}
.faq p{margin-top:8px;color:#3E4750}
.seg{display:inline-flex;border:1px solid #CBD4DC;border-radius:8px;overflow:hidden;align-self:flex-start}
.seg a,.seg button{display:inline-flex;align-items:center;gap:6px;min-height:42px;padding:0 16px;font:600 13.5px 'Hanken Grotesk',sans-serif;color:#002A51;text-decoration:none;background:#fff;border:0;cursor:pointer}
.sw .seg a.on,.seg button.on{background:#002A51;color:#fff}
.empty{border:1px dashed #CBD4DC;border-radius:8px;padding:18px;background:#F7F9FB;color:#3E4750;font-size:14px;display:flex;flex-direction:column;gap:6px}
.empty strong{color:#002A51;font-family:'Hanken Grotesk',sans-serif}
/* Shared header */
.hd{font-family:Mulish,system-ui,sans-serif;background:#fff;border-bottom:1px solid #E1E7EC;position:relative;z-index:20}
.hd .hw{max-width:var(--wmax);margin:0 auto;padding:0 var(--gut);display:flex;align-items:center;gap:22px;min-height:76px}
.hd .logo{height:40px;width:auto;display:block}
.hd .dnav{display:flex;gap:20px}
.sw .hd .nl{color:#002A51;text-decoration:none;font:600 14.5px 'Hanken Grotesk',sans-serif;padding:26px 0 23px;border-bottom:3px solid transparent}
.sw .hd .nl:hover{color:#0A3A66;border-bottom-color:#CBD4DC}
.sw .hd .nl.on{border-bottom-color:#C5D752}
.sw .ask{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px 0 8px;border-radius:999px;background:#002A51;color:#fff;text-decoration:none;font:700 14px 'Hanken Grotesk',sans-serif;white-space:nowrap;border:0;cursor:pointer}
.ask i{width:26px;height:26px;border-radius:50%;background:#C5D752;display:inline-flex;align-items:center;justify-content:center}
.sw .ask:hover{background:#0A3A66;color:#fff}
.hd .menu{display:none;padding:0 12px;border-color:#CBD4DC}
.sw .hd .ar{font-size:14px;color:#586470;text-decoration:none}
.mnav{display:none;border-top:1px solid #E1E7EC;background:#fff}
.mnav.open{display:block}
.mnav a{display:block;padding:14px 16px;border-bottom:1px solid #E1E7EC;font:600 16px 'Hanken Grotesk',sans-serif;color:#002A51;text-decoration:none}
/* Transparent header over a full-screen banner (body.sw-over; DECISIONS/0313). Fixed on those pages; transparent
   with the white logo and white links while .sw-top (the first 80px, set by an inline script and assets/site.js),
   solid white after. Without JavaScript it stays solid. The WordPress admin bar pushes it down. */
.sw-over .hd{position:fixed;top:0;left:0;right:0}
.admin-bar.sw-over .hd{top:32px}
@media (max-width:782px){.admin-bar.sw-over .hd{top:46px}}
.hd .logo-inv{display:none}
.sw-over.sw-top .hd{background:transparent;border-bottom-color:transparent}
.sw-over.sw-top .hd .logo{display:none}
.sw-over.sw-top .hd .logo-inv{display:block}
.sw.sw-over.sw-top .hd .nl,.sw.sw-over.sw-top .hd .ar{color:#fff;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.7),0 0 14px rgba(0,0,0,.55)}
.sw.sw-over.sw-top .hd .nl:hover{color:#fff;border-bottom-color:rgba(255,255,255,.7)}
.sw.sw-over.sw-top .hd .ask.sl-askbtn{background:#fbfbf9;color:#0b1b2b}
.sw.sw-over.sw-top .hd .menu{background:rgba(255,255,255,.92)}
.sw-over .ab-hero .ab-hi{padding-top:120px}
@media (prefers-reduced-motion:no-preference){.sw-over .hd{transition:background-color .25s ease,border-color .25s ease}}
/* Shared footer */
.ft{background:#001B36;color:#A6BCD1;font:400 13.5px/1.5 Mulish,system-ui,sans-serif}
.ft .fw{max-width:var(--wmax);margin:0 auto;padding:52px var(--gut) 28px;display:flex;flex-direction:column;gap:32px}
.sw .ft a{color:#D3DEE9;text-decoration:none;display:block;padding:4px 0}
.sw .ft a:hover{color:#C5D752}
.ft h2{font:600 12px 'Hanken Grotesk',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin:0 0 8px}
.ft .fg{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px}
.ft .sb{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;background:#0A2A49;border-radius:12px;padding:18px 20px}
.sw .ft .ask{background:#C5D752;color:#002A51;display:inline-flex;padding:0 16px 0 8px}
.sw .ft .ask:hover{background:#B6C93C;color:#002A51}
.ft .ask i{background:#002A51}
.sw .ft .inl{display:inline;color:#D3DEE9;text-decoration:underline;padding:0}
/* Phone action bar */
.mbar{display:none}
/* Home */
.hero{background:#002A51;position:relative;overflow:hidden}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.22}
/* Home banner (DECISIONS/0308 addendum 2; full screen since DECISIONS/0313): the aerial video fills the whole first
   screen (100svh, object-fit cover) under a transparent header, at full strength: no dark overlay, no navy or blue tint
   (owner, 6 Nov 2026). The words sit at the bottom on a light bottom-only shade, with a soft text shadow. */
.hero.sky{background:#1B1D1F}
.hero.sky>img{object-position:50% 35%;opacity:1}
.hero>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;opacity:0;transition:opacity .9s ease;pointer-events:none}
.hero.vplay>video{opacity:1}
.hero.vplay .hcredit{display:none}
.hero.sky::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,.55) 60%,rgba(0,0,0,.18) 78%,rgba(0,0,0,0) 92%),linear-gradient(0deg,rgba(0,0,0,.3) 0%,rgba(0,0,0,0) 40%)}
@media (max-width:1100px){.hero.sky::after{background:linear-gradient(90deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,.56) 85%,rgba(0,0,0,.45) 100%),linear-gradient(0deg,rgba(0,0,0,.3) 0%,rgba(0,0,0,0) 40%)}}
.hero.sky .w>.eb,.hero.sky .w>h1,.hero.sky .w>p,.hero.sky .w>a{text-shadow:0 1px 2px rgba(0,0,0,.5),0 0 16px rgba(0,0,0,.35)}
.hero.hfull{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end}
.hero.hfull>img{object-position:50% 50%}
.hero.sky.hfull::after{background:linear-gradient(0deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.4) 30%,rgba(0,0,0,.14) 52%,rgba(0,0,0,0) 66%)}
.hero.hfull .hin{width:100%;padding-top:128px;padding-bottom:clamp(40px,7vh,88px);gap:20px}
.hero.sky.hfull .w>.eb,.hero.sky.hfull .w>h1,.hero.sky.hfull .w>p,.hero.sky.hfull .w>a{text-shadow:0 1px 3px rgba(0,0,0,.55),0 0 22px rgba(0,0,0,.4)}
.sw .hero.hfull .hin>.eb{color:#fff}
.hero.hfull .tabs{background:rgba(0,27,54,.6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
@media (prefers-reduced-motion:reduce){.hero>video{display:none}}
.hero .w{position:relative;z-index:1}
.hcredit{position:absolute;right:12px;bottom:8px;z-index:1;font-size:11px;color:#C9D6E3}
.sw .hcredit a{color:#C9D6E3}
.tabs{background:#0A3A66;border-radius:12px;padding:0 8px;display:flex;gap:2px;flex-wrap:wrap;align-self:flex-start}
.sw .tab{display:inline-flex;align-items:center;min-height:46px;padding:0 18px;color:#D3DEE9;font:600 14px 'Hanken Grotesk',sans-serif;border:0;border-bottom:3px solid transparent;text-decoration:none;background:none;cursor:pointer}
.sw .tab:hover{color:#fff}
.sw .tab.on{color:#fff;border-bottom-color:#C5D752}
.sform{background:#fff;border-radius:12px;padding:18px;display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;box-shadow:0 12px 32px rgba(0,27,54,.35)}
.area{display:flex;flex-direction:column;gap:8px;padding:18px;border:1px solid #E1E7EC;border-radius:8px;background:#fff}
.area .lk{display:flex;gap:12px;flex-wrap:wrap;font-size:13.5px}
.bars{display:flex;align-items:flex-end;gap:6px;height:110px}
.bars div{flex:1 1 0;background:#C5D752;border-radius:3px 3px 0 0}
.cbars{display:flex;align-items:flex-end;gap:8px;height:170px;border-bottom:1px solid #CBD4DC}
.cbars div{flex:1 1 0;background:#0A3A66;border-radius:3px 3px 0 0}
.cbars div.k{background:#C5D752}
.xl{display:flex;gap:8px;font-size:11.5px;color:#586470}.xl span{flex:1 1 0;text-align:center}
.hb{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr) 70px;gap:12px;align-items:center;font-size:14px;padding:6px 0}
.hb i{display:block;height:16px;border-radius:3px;background:#0A3A66}
.cmpb{display:grid;grid-template-columns:minmax(0,170px) minmax(0,1fr) 90px;gap:12px;align-items:center;font-size:14px;padding:6px 0}
.cmpb i{display:block;height:18px;border-radius:3px}
.av{width:56px;height:56px;border-radius:50%;background:#002A51;color:#C5D752;display:inline-flex;align-items:center;justify-content:center;font:700 18px 'Hanken Grotesk',sans-serif;flex:none;overflow:hidden}
.av img{width:100%;height:100%;object-fit:cover}
.av.l{width:72px;height:72px;font-size:22px}
.av.xl{width:120px;height:120px;font-size:38px;background:#0A3A66;border:4px solid #C5D752}
/* Search */
.res{display:flex;flex-wrap:wrap;background:#fff;border:1px solid #E1E7EC;border-radius:8px;overflow:hidden;box-shadow:0 1px 2px rgba(0,42,81,.06)}
.res .im{flex:1 1 300px;min-width:0;display:block}
.res .im img,.res .im .noimg{display:block;width:100%;height:100%;min-height:220px;object-fit:cover;background:#E9EEF3}
.res .bd{flex:999 1 360px;min-width:0;padding:20px;display:flex;flex-direction:column;gap:8px}
.res .price{font-size:22px}
.tag{position:absolute;left:10px;top:10px;background:#002A51;color:#fff;font:700 12px 'Hanken Grotesk',sans-serif;padding:4px 10px;border-radius:999px}
/* Google map: the height is reserved before the map loads, so nothing moves; the link shows until (or instead of) it. */
.gmap{position:relative;height:var(--h,320px);border-radius:8px;background:#DCE7F0;overflow:hidden}
.gmap.off{height:auto;background:none}
.gfb{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.gmap .gm,.gmap .gsv{position:absolute;inset:0}
.gmap .gsv[hidden]{display:none}
.gtabs[hidden],.gfb[hidden],.lb button[hidden]{display:none}
.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ffold{border:1px solid #E1E7EC;border-radius:12px;padding:16px;display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;background:#F7F9FB}
/* Listing */
.gal{position:relative;display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:200px 200px;gap:8px;border-radius:12px;overflow:hidden}
.gal .gopen{display:block;width:100%;height:100%;cursor:zoom-in}
.gal .gopen:focus-visible{outline:3px solid #C5D752;outline-offset:-3px}
.sw .gal .gall{position:absolute;right:12px;bottom:12px;min-height:40px;box-shadow:0 2px 10px rgba(0,27,54,.25)}
/* Full-screen photo viewer (assets/site.js) */
.lb{position:fixed;inset:0;z-index:60;background:#00121F;display:flex;flex-direction:column;color:#fff}
.lb[hidden]{display:none}
.lb-top{display:flex;align-items:center;gap:12px;padding:10px 12px 10px 18px;font:600 14px 'Hanken Grotesk',sans-serif}
.lb-top .lb-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#A6BCD1;font-weight:500}
.lb-stage{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;touch-action:pan-y}
.lb-stage img{max-width:100%;max-height:100%;object-fit:contain;display:block;user-select:none}
.lb button{width:48px;height:48px;border-radius:999px;border:1px solid rgba(255,255,255,.3);background:rgba(0,27,54,.6);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:none}
.lb button:hover{background:#002A51}
.lb button:focus-visible{outline:3px solid #C5D752;outline-offset:2px}
.lb .lb-p,.lb .lb-n{position:absolute;top:50%;margin-top:-24px}
.lb .lb-p{left:16px}.lb .lb-n{right:16px}
.lb-load{position:absolute;color:#A6BCD1;font-size:13px}
.gal figure{margin:0;position:relative;overflow:hidden;background:#E9EEF3}
.gal img{width:100%;height:100%;object-fit:cover;display:block}
.gal figure:first-child{grid-row:1 / 3}
.gal.two{grid-template-columns:2fr 1fr}
.gal.one{grid-template-columns:1fr;grid-template-rows:400px}.gal.one figure:first-child{grid-row:auto}
/* The Social Chat plugin's popup is removed on this theme (functions.php); this only covers a version that slips by. */
#qlwapp,.qlwapp,#df-btn-cont,#df-script,.df-btn{display:none!important} /* the "Alex" chat: Social Chat (qlwapp) and the AiSensy WhatsApp widget loaded by a tag (#df-btn-cont); off on this theme, owner 6 Nov 2026 */
.cmp{position:relative;height:14px;border-radius:999px;background:#E1E7EC;margin:8px 0}
.cmp i{position:absolute;top:-6px;width:4px;height:26px;border-radius:2px}
.near{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px}
.near div{display:flex;justify-content:space-between;gap:10px;font-size:14px;padding:8px 0;border-bottom:1px solid #E1E7EC}
.qr{flex:none;width:92px;height:92px;background:#fff;border:1px solid #E1E7EC;border-radius:6px;padding:4px}
/* Area and building */
.toc{flex:1 1 220px;min-width:0;display:flex;flex-direction:column;position:sticky;top:16px}
.sw .toc a{display:block;padding:7px 0 7px 12px;color:#3E4750;text-decoration:none;font-size:14px;border-left:2px solid #E1E7EC;line-height:1.4}
.sw .toc a.on,.sw .toc a:hover{border-left-color:#C5D752;color:#002A51}
.gl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#E1E7EC;border:1px solid #E1E7EC;border-radius:8px;overflow:hidden}
.gl div{background:#fff;padding:14px 16px;display:flex;flex-direction:column;gap:2px}
.gl span{color:#586470}
.gl b{font:600 15.5px 'Hanken Grotesk',sans-serif;color:#002A51}
.bld{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 16px;border:1px solid #E1E7EC;border-radius:8px;text-decoration:none;color:inherit;background:#fff}
.sw a.bld{color:inherit}.sw a.bld:hover{border-color:#002A51}
.prose{color:#3E4750;display:flex;flex-direction:column;gap:14px}
.prose h2{font-size:24px}.prose h3{font-size:19px}
.prose ul,.prose ol{margin:0;padding-left:22px}.prose li{margin:6px 0}
.prose table{width:100%;border-collapse:collapse;font-size:14.5px}.prose td,.prose th{padding:10px 12px;border-bottom:1px solid #E1E7EC;text-align:left}
.prose figure{margin:0}.prose img{height:auto;border-radius:8px}
.amen{display:flex;flex-wrap:wrap;gap:8px}
.amen span{font-size:13.5px;padding:6px 12px;border-radius:999px;background:#EDF2F7;color:#0A3A66}
.bhero{display:grid;grid-template-columns:3fr 2fr;gap:28px;align-items:stretch}
/* Off-plan */
.step{display:flex;gap:14px;align-items:flex-start}
.step b{width:32px;height:32px;border-radius:50%;background:#C5D752;color:#002A51;display:inline-flex;align-items:center;justify-content:center;font:700 15px 'Hanken Grotesk',sans-serif;flex:none}
.dev{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:14px 16px;border:1px solid #E1E7EC;border-radius:8px;background:#fff;text-decoration:none;color:inherit}
.sw a.dev{color:inherit}.sw a.dev:hover{border-color:#002A51}
.dev b{font:700 18px 'Hanken Grotesk',sans-serif;color:#002A51}
/* Agents */
.ag{background:#fff;border:1px solid #E1E7EC;border-radius:12px;padding:22px;display:flex;flex-direction:column;gap:10px;box-shadow:0 1px 2px rgba(0,42,81,.06)}
.ag .acts{display:flex;gap:8px;margin-top:auto;padding-top:6px}
.ag .acts .btn{flex:1 1 0;min-height:42px;font-size:13px;padding:0 10px}
.kpi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.16);border-radius:8px;overflow:hidden;margin-top:6px}
.kpi div{background:#002A51;padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.kpi b{font:700 18px 'Hanken Grotesk',sans-serif;color:#fff}
.kpi span{font-size:12px;color:#A6BCD1}
/* Journal */
.art{flex:999 1 620px;min-width:0;max-width:760px;display:flex;flex-direction:column;gap:26px;font-size:16px;line-height:1.65}
.art h2{font-size:26px;line-height:1.25}
.checked{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:#3E4750;border-top:1px solid #E1E7EC;border-bottom:1px solid #E1E7EC;padding:12px 0}
/* Ask Sherlo drawer and ask bar: assets/chat.css (DECISIONS/0314 addendum 2) */
body.noscroll{overflow:hidden}
@media (prefers-reduced-motion:no-preference){.sw a.card,.btn,.chip{transition:box-shadow .15s,border-color .15s,background-color .15s}}
@media (max-width:1100px){.hd .dnav{display:none}.hd .menu{display:inline-flex}}
@media (max-width:1000px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(2,minmax(0,1fr))}.g5{grid-template-columns:repeat(2,minmax(0,1fr))}.ft .fg{grid-template-columns:repeat(3,minmax(0,1fr))}.toc{display:none}.bhero{grid-template-columns:minmax(0,1fr)}}
@media (max-width:700px){
.g2,.g3,.g4{grid-template-columns:minmax(0,1fr)}
.t0{font-size:34px}.t1{font-size:28px}.t2{font-size:23px}.sec{padding-top:36px;padding-bottom:36px}.sw .donly{display:none}
.hd .hw{gap:10px;min-height:64px}.hd .logo{height:32px}.sw .ask{padding:0 12px 0 6px;font-size:13.5px}
.tabs{overflow-x:auto;flex-wrap:nowrap;max-width:100%}.sw .tab{padding:0 12px;white-space:nowrap}
.filters,.chips{flex-wrap:nowrap;overflow-x:auto}
.ft .fw{padding:40px var(--gut) 96px}.ft .fg{grid-template-columns:repeat(2,minmax(0,1fr))}
.mbar{display:flex;position:sticky;bottom:0;z-index:30;gap:8px;padding:10px 16px;background:#fff;border-top:1px solid #E1E7EC;box-shadow:0 -4px 16px rgba(0,42,81,.08)}
.mbar .btn{flex:1 1 0}
.ph{height:210px}.stat b{font-size:22px}.stat.inv b{font-size:24px}
.gal{grid-template-columns:1fr 1fr;grid-template-rows:240px 110px}.gal figure:first-child{grid-column:1 / 3;grid-row:1}.gal .gx{display:none}
.gal.one{grid-template-columns:1fr;grid-template-rows:260px}
.gmap{height:min(var(--h,320px),280px)}.gmap.off{height:auto}
.hero.sky::after{background:linear-gradient(0deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,.5) 55%,rgba(0,0,0,.64) 100%)}
.hero.sky.hfull::after{background:linear-gradient(0deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.35) 40%,rgba(0,0,0,.08) 70%,rgba(0,0,0,0) 85%)}
.hero.hfull .hin{padding-top:96px}
.lb .lb-p,.lb .lb-n{top:auto;bottom:16px;margin-top:0}
.facts,.gl,.kpi{grid-template-columns:repeat(2,minmax(0,1fr))}.near{grid-template-columns:minmax(0,1fr)}
.hb{grid-template-columns:minmax(0,130px) minmax(0,1fr) 52px;font-size:13px}.cmpb{grid-template-columns:minmax(0,110px) minmax(0,1fr) 70px;font-size:13px}
.cbars{gap:4px}.xl{gap:4px;font-size:10px}
.av.xl{width:84px;height:84px;font-size:28px}
.art{font-size:15.5px}.art h2{font-size:22px}
}
.thumb{width:96px;height:72px;object-fit:cover;border-radius:6px;flex:none;min-height:0}
.sherlo .fld,.box>.fld,form.stack>.fld{flex:none}

/* ==== Area guide section on area pages (templates/area.php, DECISIONS/0311). Kept in this block only. ==== */
.ag-row{display:flex;flex-wrap:wrap;gap:28px;align-items:flex-start}
.ag-text{flex:999 1 380px;gap:16px}
.ag-head{font:600 19px 'Hanken Grotesk',sans-serif;color:#002A51;margin:0}
.ag-sec h3{font:700 16px 'Hanken Grotesk',sans-serif;color:#002A51;margin:0 0 6px}
.ag-sec p{margin:0 0 8px;color:#3E4750}
.ag-sec ul{margin:0;padding-left:20px;color:#3E4750}.ag-sec li{margin:0 0 4px}
.ag-get{flex:1 1 280px;max-width:360px;gap:14px}
.ag-cover{width:100%;height:auto;border-radius:8px;border:1px solid #E1E7EC;box-shadow:0 8px 24px rgba(0,42,81,.12)}
.ag-form{gap:10px;padding:18px;border:1px solid #E1E7EC;border-radius:8px;background:#fff}
.ag-form label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#3E4750}
.ag-form input[type=text],.ag-form input[type=email],.ag-form input[type=tel]{min-height:44px;padding:0 12px;border:1px solid #C9D3DC;border-radius:8px;font:15px Mulish,sans-serif}
.ag-form .ag-consent{flex-direction:row;gap:8px;align-items:flex-start;font-size:12px}
.ag-form .ag-consent input{margin-top:3px;flex:none}
.ag-get-t{font:700 17px 'Hanken Grotesk',sans-serif;color:#002A51}
.ag-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ag-msg{margin:0;padding:10px 12px;border-radius:8px;background:#EEF6E0;font-size:13.5px}.ag-msg.err{background:#FBEAEA}
@media (max-width:700px){.ag-get{max-width:none}}
/* ==== end area guide section ==== */
/* ==== Brand marks: Sherlo and the Terminal logo, as the Terminal draws them (inc/brand-marks.php; DECISIONS/0306, brand marks addendum) ====
   Copied from apps/web/src/app/globals.css (.sherlo, .sherlo-btn*, .sherlo-disc, .sherlo-dots, .tl-*) with the Terminal's
   Pearl colours: ink #0b1b2b, light #fbfbf9, muted #55585c, lime #c5d752. One rule per line (the inline printer joins lines). */
.sl-word{display:inline-flex;align-items:baseline;font-family:'Hanken Grotesk',system-ui,sans-serif;font-weight:650;letter-spacing:-0.02em;text-transform:none;white-space:nowrap}
.sl-o{position:relative;display:inline-block;width:.56em;height:.56em;margin-left:.05em;margin-right:.2em;border:.115em solid currentColor;border-radius:50%}
.sl-o::after{content:"";position:absolute;top:-.34em;right:-.34em;width:.27em;height:.27em;border-radius:50%;background:#c5d752;box-shadow:0 0 0 .05em rgba(197,215,82,.35)}
.sl-askline{display:inline-flex;align-items:baseline;gap:.28em;white-space:nowrap}
.sl-btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;height:2.6em;min-width:2.6em;padding:0 .8em;border-radius:1.3em;background:#0b1b2b;color:#fbfbf9;box-shadow:0 10px 26px rgba(11,27,43,.05),0 2px 6px rgba(0,0,0,.12);align-self:flex-start;flex:none;line-height:1}
.sl-btn.on-dark{background:#fbfbf9;color:#0b1b2b}
.sl-btn-word{display:inline-flex;align-items:baseline;font-family:'Hanken Grotesk',system-ui,sans-serif;font-weight:650;letter-spacing:-0.02em;line-height:1}
.sl-btn-sherl{display:inline-block;white-space:nowrap;overflow:hidden;max-width:6em;transition:max-width .35s ease,opacity .25s ease}
.sl-btn-o{position:relative;display:inline-block;width:.56em;height:.56em;margin-left:.05em;border:.115em solid currentColor;border-radius:50%}
.sl-btn-o::after{content:"";position:absolute;top:-.34em;right:-.34em;width:.3em;height:.3em;border-radius:50%;background:#c5d752}
.sl-disc{position:relative;display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:50%;background:#0b1b2b;color:#fbfbf9;font-family:'Hanken Grotesk',system-ui,sans-serif;font-size:18px}
.sl-disc-sm{width:28px;height:28px;font-size:13px}
.sl-disc .sl-btn-o{margin-left:0}
.sl-typing{display:none;align-items:center;gap:10px;color:#55585c;font-size:14px}
.sl-live .sl-typing{display:inline-flex}
.sl-dots{display:inline-flex;gap:5px}
.sl-dots i{width:7px;height:7px;border-radius:50%;background:#c5d752;box-shadow:0 0 0 1px rgba(11,27,43,.25)}
.sw .ask.sl-askbtn{background:#0b1b2b;color:#fbfbf9;padding:0 18px;gap:0;box-shadow:0 10px 26px rgba(11,27,43,.05),0 2px 6px rgba(0,0,0,.12);transition:box-shadow .2s ease}
.sw .ask.sl-askbtn:hover,.sw .ask.sl-askbtn:focus-visible{background:#0b1b2b;color:#fbfbf9;box-shadow:0 0 0 4px rgba(197,215,82,.35),0 10px 26px rgba(11,27,43,.05)}
.sw .ask.sl-askbtn .sl-ask{font:700 14px Mulish,system-ui,sans-serif;opacity:.88}
.sw .ask.sl-askbtn .sl-word{font-size:19px}
.sw .ft .ask.sl-askbtn,.sw .ft .ask.sl-askbtn:hover,.sw .ft .ask.sl-askbtn:focus-visible{background:#fbfbf9;color:#0b1b2b}
.dh .sl-word{font-size:20px}
.tm-lockup{display:inline-flex;flex-direction:column;align-items:flex-end;gap:.16em;line-height:1;color:#0b1b2b;vertical-align:middle}
.tm-word{display:inline-flex;align-items:center;font-family:'Hanken Grotesk',system-ui,sans-serif;font-size:.8em;font-weight:650;letter-spacing:-.04em;white-space:nowrap}
.tm-cursor{display:inline-block;width:.42em;height:.78em;margin-left:.06em;background:#c5d752}
.tm-sub{font-family:Mulish,system-ui,sans-serif;font-weight:600;font-size:max(.25em,11px);letter-spacing:.04em;color:#55585c}
.tm-powered{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.tm-by{font:600 13px Mulish,system-ui,sans-serif;color:#55585c}
.tm-src{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:0}
@media (max-width:700px){.sw .ask.sl-askbtn{padding:0 14px}.sw .ask.sl-askbtn .sl-ask{font-size:13px}.sw .ask.sl-askbtn .sl-word{font-size:17px}}
@media (prefers-reduced-motion:no-preference){
.sl-btn.is-reveal .sl-btn-sherl{max-width:0;opacity:0;animation:sl-reveal 6s ease-in-out infinite}
a:hover>.sl-btn.is-reveal .sl-btn-sherl,a:focus-visible>.sl-btn.is-reveal .sl-btn-sherl{animation:none;max-width:6em;opacity:1}
.sl-live .sl-btn-o{animation:sl-spin 1.2s linear infinite}
.sl-dots i{animation:sl-dot 1.2s infinite ease-in-out}
.sl-dots i:nth-child(2){animation-delay:.15s}
.sl-dots i:nth-child(3){animation-delay:.3s}
.tm-cursor{animation:tm-blink 1.1s steps(1) infinite}
}
@keyframes sl-reveal{0%,15%{max-width:0;opacity:0}35%,85%{max-width:6em;opacity:1}100%{max-width:0;opacity:0}}
@keyframes sl-spin{to{transform:rotate(360deg)}}
@keyframes sl-dot{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
@keyframes tm-blink{0%,49%{opacity:1}50%,100%{opacity:0}}
/* ==== end brand marks ==== */

/* ==== About us (page-about-us.php; DECISIONS/0308 addendum 2, the company profile). Kept in this block only. ==== */
.ab-hero{min-height:600px;display:flex;align-items:flex-end}
.ab-hero>img{object-position:62% 45%}
.ab-hero .ab-hi{padding-top:40px;padding-bottom:72px;gap:16px;width:100%}
.sw .ab-h1{color:#fff;max-width:780px;font-size:64px;line-height:1.02;letter-spacing:-.025em}
.ab-h1 span{color:#C5D752}
.ab-hero .lead{color:#D3DEE9;max-width:620px}
/* No navy tint (owner, 6 Nov 2026, O1): the photo at full strength with only a neutral black shade, a little deeper than
   the home banner's because the text sits at the bottom. Contrast measured on hero.webp at 1920 to 360 px (95th
   percentile of the shaded photo behind the text): headline 7.9:1 or more, intro 5.8:1, lime eyebrow 4.97:1. */
.hero.sky.ab-hero::after{background:linear-gradient(90deg,rgba(0,0,0,.66) 0%,rgba(0,0,0,.62) 60%,rgba(0,0,0,.22) 80%,rgba(0,0,0,0) 95%),linear-gradient(0deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,0) 60%)}
.hero.sky.ab-hero .ab-hi>:not(div){text-shadow:0 1px 2px rgba(0,0,0,.5),0 0 16px rgba(0,0,0,.35)}
.ab-stats{background:#001B36;color:#fff}
.ab-sg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.ab-st{padding:30px 24px;border-left:1px solid rgba(255,255,255,.14);display:flex;flex-direction:column;gap:4px;position:relative}
.ab-st:first-child{border-left:0;padding-left:0}
.ab-st b{font:700 46px/1 'Hanken Grotesk',sans-serif;color:#C5D752;font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin-bottom:6px}
.ab-st>span:not(.sr){font:600 15px 'Hanken Grotesk',sans-serif;color:#fff}
.ab-st small{font-size:13px;color:#A6BCD1}
.ab-head{display:flex;flex-direction:column;gap:8px;max-width:800px}
.ab-tl{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;position:relative}
.ab-tl::before{content:"";position:absolute;left:0;right:0;top:9px;height:2px;background:linear-gradient(90deg,#C5D752,#002A51)}
.ab-tl li{position:relative;padding-top:40px;display:flex;flex-direction:column;gap:10px}
.ab-tl li::before{content:"";position:absolute;top:0;left:0;width:12px;height:12px;border-radius:50%;background:#fff;border:4px solid #C5D752;box-shadow:0 0 0 5px #fff}
.ab-tl figure{margin:0 0 6px;border-radius:12px;overflow:hidden;aspect-ratio:5/4;background:#E9EEF3}
.ab-tl img{width:100%;height:100%;object-fit:cover;display:block}
.ab-tl p{color:#3E4750}
.ab-yr,.ab-sub{font:700 12px 'Hanken Grotesk',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#586470}
.ab-parent{margin:2px 0 8px;font:italic 500 14px 'Hanken Grotesk',sans-serif;color:#586470}
.ab-pe{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:40px;align-items:center;border-top:1px solid #E1E7EC;padding-top:36px;margin-top:8px}
.ab-big{font:700 clamp(44px,6.4vw,88px)/.98 'Hanken Grotesk',sans-serif;letter-spacing:-.035em;color:transparent;-webkit-text-stroke:1.5px #002A51;margin:0}
.ab-big span{display:block;color:#002A51;-webkit-text-stroke:0}
.ab-ceo .w{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:center}
.ab-ceo figure{margin:0;position:relative;isolation:isolate}
.ab-ceo figure img{display:block;width:100%;height:auto;border-radius:16px}
.ab-ceo figure::after{content:"";position:absolute;right:-16px;bottom:-16px;width:62%;height:62%;border:2px solid #C5D752;border-radius:16px;z-index:-1}
.sw .ab-ceo h2{color:#fff}.ab-ceo .eb{color:#C5D752}
.ab-q{margin:0;font:600 26px/1.3 'Hanken Grotesk',sans-serif;color:#fff;padding-left:20px;border-left:4px solid #C5D752}
.ab-ceo .prose{color:#D3DEE9}
.ab-tags{display:flex;flex-wrap:wrap;gap:8px}
.ab-tags span{border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:6px 13px;font-size:13px;color:#fff}
.ab-tabl{display:flex;gap:6px;flex-wrap:wrap}
.ab-tabl[hidden]{display:none}
.sw .ab-tab{min-height:44px;padding:0 16px;border-radius:999px;border:1px solid #CBD4DC;background:#fff;font:600 14px 'Hanken Grotesk',sans-serif;color:#002A51;cursor:pointer;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.sw .ab-tab:hover{border-color:#002A51}
.ab-tab i{font-style:normal;font-size:12px;color:#586470}
.sw .ab-tab[aria-selected=true]{background:#002A51;color:#fff;border-color:#002A51}
.ab-tab[aria-selected=true] i{color:#C5D752}
.ab-pans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ab-svc.on .ab-pans{display:block;margin-top:14px}
.ab-pan{background:#fff;border:1px solid #E1E7EC;border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:12px}
.ab-pan p{color:#3E4750}
.ab-pan[hidden]{display:none}
.ab-n{font:700 15px 'Hanken Grotesk',sans-serif;color:#586470}
.ab-svc.on .ab-pan{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px 36px;padding:36px 40px;align-content:start;box-shadow:0 1px 2px rgba(0,42,81,.06)}
.ab-svc.on .ab-pan>*{grid-column:2}
.ab-svc.on .ab-n{grid-column:1;grid-row:1 / span 4;font-size:96px;line-height:.9;color:#fff;-webkit-text-stroke:2px #C5D752;letter-spacing:-.04em}
.ab-svc.on .ab-pan[hidden]{display:none}
.ab-pts{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.ab-pts li{font-size:13.5px;padding:6px 12px;border-radius:999px;background:#EDF2F7;color:#0A3A66}
.ab-flow{display:flex;flex-direction:column;gap:14px;margin-top:10px}
.ab-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.ab-steps li{position:relative;background:#002A51;color:#fff;border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:8px;font:700 15px/1.25 'Hanken Grotesk',sans-serif}
.ab-steps li:not(:last-child)::after{content:"";position:absolute;right:-11px;top:50%;margin-top:-7px;border:7px solid transparent;border-left-color:#C5D752;border-right:0;z-index:1}
.ab-steps b{width:26px;height:26px;border-radius:50%;background:#C5D752;color:#002A51;display:inline-flex;align-items:center;justify-content:center;font-size:13px}
.ab-steps small{font:600 11px Mulish,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#A6BCD1}
.ab-filt[hidden]{display:none}
.ab-filt button{cursor:pointer}
.ab-proj{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ab-area{border:1px solid #E1E7EC;border-radius:12px;padding:22px 22px 24px;background:#fff;display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden}
.ab-area::before{content:"";position:absolute;left:0;top:0;right:0;height:4px;background:#C5D752}
.ab-area[data-area=london]{grid-column:span 2}
.ab-area[data-area=london]::before{background:#002A51}
.ab-area[hidden]{display:none}
.ab-area h3{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:20px}
.ab-area h3 small{font:600 12.5px Mulish,sans-serif;color:#586470;white-space:nowrap}
.ab-area ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}
.ab-area[data-area=london] ul{grid-template-columns:repeat(3,minmax(0,1fr))}
.ab-area li{font-size:14.5px;color:#272D34;padding-left:14px;position:relative;line-height:1.35}
.ab-area li::before{content:"";position:absolute;left:0;top:.45em;width:6px;height:6px;border-radius:50%;background:#C5D752}
.ab-area li span{display:block;font-size:12.5px;color:#586470}
.sw .ab-net h2{color:#fff}.ab-net .eb{color:#C5D752}.ab-net .lead{color:#D3DEE9}
.ab-map{margin:0;border-radius:16px;background:radial-gradient(ellipse at 69% 50%,#0A3A66 0%,#002A51 60%);overflow:hidden}
.ab-map svg{display:block;width:100%;height:auto}
.ab-map text{font:600 15px 'Hanken Grotesk',sans-serif;fill:#D3DEE9}
.ab-pin circle{fill:#fff}
.ab-pin.office circle{fill:#fff;stroke:#002A51;stroke-width:2}
.ab-pin.partner circle{fill:#A6BCD1}
.ab-pin.hq circle{fill:#C5D752;stroke:#002A51;stroke-width:2}
.ab-pin.hq text{fill:#C5D752;font-size:19px;font-weight:700}
.ab-pin.office text{fill:#fff;font-weight:700}
.ab-pin .ab-pulse{fill:none;stroke:#C5D752;stroke-width:2;opacity:0}
.ab-arc{fill:none;stroke:#C5D752;stroke-width:1.6;stroke-opacity:.75;stroke-linecap:round}
.ab-legend{display:flex;flex-wrap:wrap;gap:10px 26px;font-size:14px;color:#D3DEE9}
.ab-legend b{color:#fff;margin-right:4px}
.ab-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;background:#A6BCD1;margin-right:8px;vertical-align:0}
.ab-legend i.hq{background:#C5D752}.ab-legend i.office{background:#fff}
.ab-brk{border-top:1px solid rgba(255,255,255,.14);padding-top:22px}
.ab-um{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ab-um article{border-radius:12px;overflow:hidden;background:#fff;border:1px solid #E1E7EC;display:flex;flex-direction:column;box-shadow:0 1px 2px rgba(0,42,81,.06)}
.ab-um img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;background:#E9EEF3}
.ab-um .cb{padding:20px 22px 24px;gap:8px}
.ab-mono{aspect-ratio:3/2;display:flex;align-items:center;justify-content:center;background:#F3F5F7;border-bottom:1px solid #E1E7EC;font:700 44px/1 'Hanken Grotesk',sans-serif;color:#002A51;letter-spacing:.04em}
.ab-r31{display:block;align-self:flex-start;width:auto;height:52px;max-width:100%;margin-bottom:4px}
.ab-logo{aspect-ratio:3/2;display:flex;align-items:center;justify-content:center;background:#fff;border-bottom:1px solid #E1E7EC;padding:24px}
.ab-um .ab-logo img{width:auto;max-width:72%;max-height:42%;height:auto;aspect-ratio:auto;object-fit:contain;background:none}
.ab-logo.ab-dark{background:#0B1E33}.ab-um .ab-dark img{max-width:82%;max-height:56%}
.ab-pdf{margin-top:4px;font-weight:600;color:#002A51;text-decoration:underline;text-underline-offset:3px}
.ab-um h3 a{color:inherit;text-decoration:none}.ab-um h3 a:hover{text-decoration:underline}
.ab-um .ab-here{grid-column:1/-1;flex-direction:row;border-color:#C5D752;box-shadow:0 0 0 1px #C5D752}
.ab-here .ab-logo{aspect-ratio:auto;flex:0 0 34%;border-bottom:0;border-right:1px solid #E1E7EC}
.ab-here .cb{align-self:center}
.ab-um .ab-here .ab-logo img{max-height:none;max-width:78%}
@media (max-width:700px){.ab-um .ab-here{flex-direction:column}.ab-here .ab-logo{aspect-ratio:3/2;flex:none;border-right:0;border-bottom:1px solid #E1E7EC}.ab-um .ab-here .ab-logo img{max-width:72%}}
.ab-soc{display:flex;flex-direction:column;gap:8px}
.ab-soc ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.sw .ab-soc a{display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;border:1px solid #CBD5DE;border-radius:999px;font-weight:600;font-size:14px;color:#002A51;background:#fff;text-decoration:none}
.sw .ab-soc a:hover{border-color:#002A51}
.ab-off{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ab-off .box{gap:8px}
.ab-off address{font-style:normal;color:#3E4750;font-size:14.5px;line-height:1.6}
.ab-off a{font-weight:600;font-size:14.5px}
@media (prefers-reduced-motion:no-preference){
.ab.js .ab-rv{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.ab.js .ab-rv.in{opacity:1;transform:none}
.ab.js .ab-arc{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.6s cubic-bezier(.3,.7,.3,1)}
.ab.js .ab-map.in .ab-arc{stroke-dashoffset:0}
.ab-map.in .ab-pulse{transform-box:fill-box;transform-origin:center;animation:ab-pulse 2.4s ease-out 1.2s infinite}
@keyframes ab-pulse{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(3.2)}}
.sw .ab-tab{transition:background-color .15s,border-color .15s,color .15s}
}
@media (max-width:1100px){.hero.sky.ab-hero::after{background:linear-gradient(90deg,rgba(0,0,0,.66) 0%,rgba(0,0,0,.62) 85%,rgba(0,0,0,.5) 100%),linear-gradient(0deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,0) 60%)}}
@media (max-width:1000px){
.ab-sg{grid-template-columns:repeat(2,minmax(0,1fr))}.ab-st:nth-child(3){border-left:0;padding-left:0}.ab-st:nth-child(n+3){border-top:1px solid rgba(255,255,255,.14)}
.ab-tl{gap:20px}.ab-pe{grid-template-columns:minmax(0,1fr);gap:20px}
.ab-ceo .w{grid-template-columns:minmax(0,1fr);gap:40px}.ab-ceo figure{max-width:440px}
.ab-pans,.ab-proj,.ab-um{grid-template-columns:repeat(2,minmax(0,1fr))}
.ab-area[data-area=london] ul{grid-template-columns:repeat(2,minmax(0,1fr))}
.ab-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.ab-steps li:nth-child(3)::after{display:none}
}
@media (max-width:700px){
.ab-hero{min-height:560px}.ab-hero>img{object-position:72% 50%}.ab-hero .ab-hi{padding-bottom:44px}
.hero.sky.ab-hero::after{background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.66) 25%,rgba(0,0,0,.74) 100%)}
.sw .ab-h1{font-size:40px}
.ab-st{padding:20px 14px}.ab-st:nth-child(odd){padding-left:0}.ab-st b{font-size:34px}
.ab-tl{grid-template-columns:minmax(0,1fr);padding-left:30px;gap:30px}
.ab-tl::before{top:6px;bottom:6px;left:5px;right:auto;width:2px;height:auto;background:linear-gradient(180deg,#C5D752,#002A51)}
.ab-tl li{padding-top:0}.ab-tl li::before{left:-30px;top:0}
.ab-big{-webkit-text-stroke-width:1.2px}
.ab-ceo figure::after{right:-10px;bottom:-10px}.ab-q{font-size:21px}
.ab-tabl{flex-wrap:nowrap;overflow-x:auto;margin:0 -16px;padding:0 16px 4px;scrollbar-width:none}
.ab-pans,.ab-proj,.ab-um,.ab-off{grid-template-columns:minmax(0,1fr)}
.ab-svc.on .ab-pan{grid-template-columns:minmax(0,1fr);padding:24px 20px}
.ab-svc.on .ab-pan>*,.ab-svc.on .ab-n{grid-column:1;grid-row:auto}
.ab-svc.on .ab-n{font-size:56px}
.ab-steps{grid-template-columns:minmax(0,1fr);gap:12px}
.ab-steps li{flex-direction:row;align-items:center;flex-wrap:wrap;gap:6px 12px}
.ab-steps li small{flex-basis:100%;padding-left:38px;margin-top:-4px}
.ab-steps li:not(:last-child)::after{display:block;right:auto;left:22px;top:auto;bottom:-11px;margin-top:0;border:7px solid transparent;border-top-color:#C5D752;border-bottom:0}
.ab-area[data-area=london]{grid-column:auto}
.ab-area ul,.ab-area[data-area=london] ul{grid-template-columns:repeat(2,minmax(0,1fr))}
.ab-map{margin:0 -16px;border-radius:0}
.ab-map text{display:none}
.ab-legend{flex-direction:column;gap:8px}
}
/* ==== end About us ==== */
/* === Commercial and Business setup (DECISIONS/0312) === */
.hd .ndd{position:relative;display:flex}
.sw .hd .ndd>.nl{display:inline-flex;align-items:center;gap:5px}
.hd .ndm{display:none;position:absolute;top:100%;left:-14px;min-width:220px;background:#fff;border:1px solid #E1E7EC;border-radius:8px;box-shadow:0 8px 24px rgba(0,42,81,.12);padding:6px;z-index:25;flex-direction:column}
.hd .ndd:hover .ndm,.hd .ndd:focus-within .ndm{display:flex}
.sw .hd .ndm a{display:block;padding:10px 12px;border-radius:6px;color:#002A51;text-decoration:none;font:600 14px 'Hanken Grotesk',sans-serif;white-space:nowrap}
.sw .hd .ndm a:hover,.sw .hd .ndm a:focus-visible{background:#F7F9FB}
.sw .mnav a.sub{padding-left:32px;font-size:15px;font-weight:500;color:#3E4750}
@media (min-width:1001px){.ft .fg{grid-template-columns:repeat(7,minmax(0,1fr))}}
.bs-why .box b{font-family:'Hanken Grotesk',sans-serif;font-size:22px;color:#002A51;line-height:1.15}
.bs-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;counter-reset:st}
.bs-steps li{counter-increment:st;background:#fff;border:1px solid #E1E7EC;border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:6px}
.bs-steps li::before{content:counter(st);width:30px;height:30px;border-radius:50%;background:#C5D752;color:#002A51;font:700 14px 'Hanken Grotesk',sans-serif;display:inline-flex;align-items:center;justify-content:center}
.bs-cmp{overflow-x:auto;border:1px solid #E1E7EC;border-radius:12px;background:#fff}
.bs-cmp .tbl td,.bs-cmp .tbl th{white-space:normal;vertical-align:top}
.bs-cmp .tbl td:first-child{font-weight:700;color:#002A51;min-width:130px}
.bs-cmp .tbl tr:last-child td{border-bottom:0}
.bs-zone .cb{gap:8px}.bs-zone ul{margin:0;padding-left:18px;font-size:14px;color:#3E4750}
.bs-svc{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
@media (max-width:700px){.bs-cmp .tbl{font-size:13.5px}.bs-cmp .tbl td:first-child{min-width:96px}.bs-hero h1{font-size:34px}}
/* === end Commercial and Business setup === */
/* ==== Price ticker (inc/market.php sw_price_ticker; DECISIONS/0299 addendum 2). Kept in this block only, so it can be
   restyled on its own. Still by default (a row that scrolls sideways by hand); it moves only when the visitor allows
   motion: two copies of the items slide left by one copy's width (-50%) for a seamless loop, about 4s per area, and
   stop on hover, on keyboard focus and with the Pause button (.tk.paused). .inv: on the navy home banner. ==== */
.tk{--tk-bg:#F4F7F9;--tk-line:#E1E7EC;--tk-ink:#002A51;--tk-mute:#586470;--tk-up:#1E6B45;--tk-dn:#8A2E1F;--tk-fl:#586470;background:var(--tk-bg);border-top:1px solid var(--tk-line);border-bottom:1px solid var(--tk-line)}
.tk.inv{--tk-bg:#00213F;--tk-line:#16406A;--tk-ink:#fff;--tk-mute:#A6BCD1;--tk-up:#C5D752;--tk-dn:#FFA48F;--tk-fl:#A6BCD1}
.tk-bar{display:flex;align-items:stretch;min-height:44px}
.tk-tag{flex:none;display:flex;align-items:center;padding:0 14px 0 var(--gut);font:700 11px 'Hanken Grotesk',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--tk-mute);border-right:1px solid var(--tk-line)}
.tk-vp{position:relative;flex:1 1 auto;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
.tk-track{display:flex;width:max-content}
.tk-list{display:flex;margin:0;padding:0;list-style:none}
.tk-list[aria-hidden]{display:none}
.tk-list li{display:flex}
.sw .tk-list a{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 20px;white-space:nowrap;text-decoration:none;color:var(--tk-ink);border-right:1px solid var(--tk-line);font-variant-numeric:tabular-nums}
.sw .tk-list a:hover .tk-n{text-decoration:underline}
.sw .tk-list a:focus-visible{outline:2px solid var(--tk-up);outline-offset:-4px}
.tk-n{font-weight:700;font-size:14px}
.tk-p{font:600 14px 'Hanken Grotesk',sans-serif}.tk-p small{font-size:11.5px;font-weight:500;color:var(--tk-mute)}
.tk-c{font:700 13px 'Hanken Grotesk',sans-serif}.tk-c.up{color:var(--tk-up)}.tk-c.dn{color:var(--tk-dn)}.tk-c.fl{color:var(--tk-fl)}
.tk-btn{display:none;flex:none;width:44px;border:0;border-left:1px solid var(--tk-line);background:transparent;color:var(--tk-ink);cursor:pointer}
.tk-btn:focus-visible{outline:2px solid var(--tk-up);outline-offset:-4px}
.tk-ic{display:block;margin:auto;width:10px;height:12px;border-left:3px solid currentColor;border-right:3px solid currentColor}
.tk.paused .tk-ic{width:0;height:0;border:0;border-left:10px solid currentColor;border-top:6px solid transparent;border-bottom:6px solid transparent}
.tk-src{padding:6px var(--gut) 8px}.tk-src .src{font-size:11.5px;color:var(--tk-mute)}
@media (prefers-reduced-motion:no-preference){
.tk-vp{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent)}
.tk-list[aria-hidden]{display:flex}
.tk-track{animation:tk-scroll calc(var(--tk-n,10) * 4s) linear infinite}
.tk:hover .tk-track,.tk:focus-within .tk-track,.tk.paused .tk-track{animation-play-state:paused}
.tk-btn{display:block}
}
@keyframes tk-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (max-width:640px){.tk-tag{display:none}.sw .tk-list a{padding:0 14px;min-height:40px}}
/* ==== end price ticker ==== */
/* ==== Areas by lifestyle (templates/areas.php, option B) and Compare areas (inc/lifestyle.php sw_compare_section on
   /market/, option C); the owner's picks of 9 Nov 2026, DECISIONS/0299 addendum 3. Kept in this block only. Photos
   carry a neutral black shade under the words (no navy tint); nothing moves for reduced motion; heights are set before
   the photos load, so nothing shifts. html.al-js is set by an inline script before the page paints. ==== */
.al-hd{padding-top:28px;display:flex;flex-direction:column;gap:16px}
.al-hd .t1{font-size:44px;line-height:1.08}
.al-top{display:flex;justify-content:space-between;align-items:flex-end;gap:32px}
.al-suits{display:flex;flex-direction:column;gap:10px;flex:0 0 420px;background:#F3F7DC;border:1px solid #DCE6A0;border-radius:12px;padding:18px}
.al-suits strong{font:700 16px 'Hanken Grotesk',sans-serif;color:#002A51}
.al-chips{display:flex;gap:8px;flex-wrap:wrap;padding-top:6px}
.al-sec{padding-top:48px;padding-bottom:12px;display:flex;flex-direction:column;gap:18px}
.al-sh{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
.sw .al-all{font-weight:700;white-space:nowrap}
.al-grp{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;grid-auto-flow:dense}
.al-feat{grid-column:1 / span 2;grid-row:1 / span 3;position:relative;isolation:isolate;border-radius:12px;overflow:hidden;min-height:520px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;background:#1B2630}
.al-r .al-feat{grid-column:3 / span 2}
.al-im{position:absolute;inset:0;z-index:-1}
.al-im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.al-im::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.5) 38%,rgba(0,0,0,0) 62%)}
.sw .al-credit{top:10px;right:10px;bottom:auto;z-index:2;text-decoration:none;color:#fff}
.sw a.al-credit:hover{text-decoration:underline;color:#fff}
.al-in{padding:28px;display:flex;flex-direction:column;gap:8px}
.sw .al-feat h3{color:#fff;font-size:30px;font-weight:700;line-height:1.2}
.sw .al-feat h3 a{color:#fff;text-decoration:none}
.al-stretch::after{content:"";position:absolute;inset:0;z-index:1;border-radius:12px}
.sw .al-stretch:focus-visible{outline:0}.al-stretch:focus-visible::after{outline:3px solid #C5D752;outline-offset:-3px}
.al-feat p{color:#E4ECF3;max-width:480px;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.sw .al-eb{color:#C5D752}
.al-fig{display:flex;gap:18px;flex-wrap:wrap;font:700 15px 'Hanken Grotesk',sans-serif;color:#fff}
.al-feat .al-fig .up{color:#C5D752}.al-feat .al-fig .dn{color:#FFB4A3}.al-feat .al-fig .fl{color:#D3DEE9}
.al-lk{display:flex;flex-wrap:wrap;gap:16px}
.al-feat .al-lk a{position:relative;z-index:2}
.sw .al-feat .al-lk a{color:#fff;font-weight:700;font-size:14px}
.al-tile{grid-column:span 2;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;align-content:start;padding:20px;border:1px solid #E1E7EC;border-radius:12px;background:#fff}
.sw .al-tile h3 a{color:#002A51;text-decoration:none}.sw .al-tile h3 a:hover{text-decoration:underline}
.al-say{grid-column:1 / -1;font-size:14px;color:#3E4750}
.al-pr{font:700 17px 'Hanken Grotesk',sans-serif;color:#002A51;text-align:right;white-space:nowrap}
.al-pr small{display:block;font:700 13px 'Hanken Grotesk',sans-serif}
.al-tile .al-lk{grid-column:1 / -1;font-size:13.5px;padding-top:6px;border-top:1px solid #EEF2F5;margin-top:4px}
.sw a.al-more{background:#F7F9FB;text-decoration:none;color:inherit}.sw a.al-more:hover{border-color:#CBD4DC}
.sw a.al-more h3{color:#002A51}
.al-srcw{padding-top:8px}
.sw main .al-srcw .src,.sw main .cmp-sec>.src{max-width:none}
.al-az{margin-top:40px;padding-top:32px;padding-bottom:48px}
.al-azcols{columns:5;column-gap:28px;font-size:13.5px}
.sw .al-azcols a{display:block;padding:3px 0;text-decoration:none;break-inside:avoid}.sw .al-azcols a:hover{text-decoration:underline}
.al-js .al-azcols:not(.all) a:nth-child(n+26){display:none}
.al-azmore{display:none;align-self:flex-start;background:none;border:0;padding:0;min-height:24px;font:700 13.5px Mulish,sans-serif;color:#0A3A66;text-decoration:underline;cursor:pointer}
.al-js .al-azmore{display:inline-block}
.al-azs,.al-foldbtn{display:none}
@media (max-width:1100px){
.al-suits{flex-basis:320px}
.al-grp{grid-template-columns:repeat(2,minmax(0,1fr))}
.al-feat,.al-r .al-feat{grid-column:1 / -1;grid-row:auto;min-height:420px}
.al-tile{grid-column:span 1}
.al-azcols{columns:3}
}
@media (max-width:700px){
.al-hd{padding-top:16px;gap:12px}.al-hd .t1{font-size:30px}.al-br{display:none}
.al-top{flex-direction:column;align-items:stretch;gap:12px}.al-suits{display:none}
.al-chips{flex-wrap:nowrap;overflow-x:auto;padding-top:0;scrollbar-width:none}.al-chips .chip{flex:none}
.al-sec{padding-top:24px;padding-bottom:0;gap:12px}.al-sh .al-all{display:none}
.al-grp{display:flex;flex-direction:column;gap:0}
.al-feat{min-height:0;border:1px solid #E1E7EC;color:inherit;background:#fff;margin-bottom:12px;justify-content:flex-start}
.al-im{position:relative;height:210px;flex:none}.al-im::after{display:none}
.al-in{padding:16px;gap:6px}
.sw .al-feat h3{color:#002A51;font-size:21px;font-weight:600}.sw .al-feat h3 a{color:#002A51}
.al-feat p{color:#3E4750;font-size:14px;text-shadow:none}
.sw .al-eb{color:#586470}
.al-fig{color:#002A51;gap:14px}.al-feat .al-fig .up{color:#1E6B45}.al-feat .al-fig .dn{color:#8A2E1F}.al-feat .al-fig .fl{color:#586470}
.sw .al-feat .al-lk a{color:#0A3A66;font-weight:400;font-size:13.5px;text-decoration:underline}
.al-feat .al-lk{gap:14px}
.sw .al-credit{top:auto;bottom:auto;top:178px}
.al-tile{border:0;border-radius:0;border-bottom:1px solid #E1E7EC;padding:12px 0;gap:4px 10px}
.al-feat+.al-tile,.al-grp>.al-tile:first-child{border-top:1px solid #E1E7EC}
.al-say,.al-rent,.sw a.al-more{display:none}
.al-pr{font-size:15px}.al-pr small{font-size:12.5px}
.al-tile .al-lk{border-top:0;padding-top:0;margin-top:0;gap:12px;font-size:13px}
.al-fold{padding-top:0;gap:0}.al-sec:not(.al-fold)+.al-fold{padding-top:24px}
.al-fold .al-sh{display:none}
.al-js .al-foldbtn{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:56px;border:0;border-top:1px solid #E1E7EC;background:none;padding:8px 0;text-align:left;cursor:pointer;font:inherit;color:inherit}
.al-fold:last-of-type .al-foldbtn{border-bottom:1px solid #E1E7EC}
.al-foldbtn strong{display:block;font:700 17px 'Hanken Grotesk',sans-serif;color:#002A51}
.al-chev{color:#002A51;font-size:20px;flex:none}
.al-fold.open .al-chev{transform:rotate(90deg)}
.al-js .al-fold:not(.open) .al-grp{display:none}
.al-fold.open .al-grp{padding-top:12px}
.al-srcw{padding-top:14px}
.al-az{margin-top:24px;padding-top:24px;padding-bottom:28px}
.al-azcols{columns:2}.al-js .al-azcols:not(.all) a:nth-child(n+9){display:none}
.al-azl{display:none}.al-azs{display:inline}
}
/* Compare areas */
.cmp-sec{padding-top:48px;display:flex;flex-direction:column;gap:18px}
.cmp-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px}
.cmp-kpi{display:flex;gap:28px;padding-bottom:4px;flex:none}
.cmp-kpi div{display:flex;flex-direction:column}.cmp-kpi b{font:700 24px 'Hanken Grotesk',sans-serif;color:#002A51}
.cmp-tools{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.cmp-chips{display:flex;gap:8px;flex-wrap:wrap}
.cmp-right{display:flex;gap:12px;align-items:center}
html:not(.al-js) .cmp-right,html:not(.al-js) .cmp-c{display:none}
.cmp-own{display:flex;gap:8px;align-items:center;font-size:13.5px;color:#586470;cursor:pointer;min-height:44px}
.cmp-own input,.cmp-x{width:20px;height:20px;margin:0;accent-color:#002A51;cursor:pointer}
.cmp-find{display:flex;align-items:center;gap:8px;min-height:44px;width:280px;border:1px solid #CBD4DC;border-radius:8px;padding:0 12px;color:#586470;background:#fff}
.cmp-find:focus-within{outline:3px solid #C5D752;outline-offset:2px}
.cmp-find input{flex:1;min-width:0;min-height:42px;border:0;outline:0;padding:0;font:500 14.5px Mulish,sans-serif;color:#002A51;background:transparent}
.cmp-msort{display:none}
.cmp-tw{border-radius:12px}
.cmp-tbl{font-size:14.5px}
.cmp-tbl thead th{font:700 11.5px Mulish,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#586470;padding:12px 14px;background:#F7F9FB;vertical-align:bottom;white-space:nowrap;line-height:1.35}
.cmp-tbl th button{display:inline-flex;align-items:flex-end;gap:4px;padding:0;margin:0;border:0;background:none;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;text-align:inherit;line-height:inherit}
.cmp-tbl th.num button{text-align:right}
.cmp-tbl th button:hover,.cmp-tbl th[aria-sort=ascending] button,.cmp-tbl th[aria-sort=descending] button{color:#002A51}
.cmp-tbl th[aria-sort=descending] .cmp-ar::after{content:"▾"}.cmp-tbl th[aria-sort=ascending] .cmp-ar::after{content:"▴"}
.cmp-tbl tbody td,.cmp-tbl tbody th{padding:12px 14px;border-bottom:1px solid #E1E7EC;white-space:nowrap;vertical-align:middle;text-align:left;font-weight:400;font-size:14.5px;letter-spacing:0;text-transform:none;color:#272D34}
.cmp-tbl tbody td.num{text-align:right;font-variant-numeric:tabular-nums}
.cmp-tbl tbody tr:last-child>*{border-bottom:0}
.cmp-tbl tr.on>*{background:#F3F7DC}
.cmp-c{width:44px}
.sw .cmp-tbl .nm{font:700 15.5px 'Hanken Grotesk',sans-serif;color:#002A51;text-decoration:none}.sw .cmp-tbl .nm:hover{text-decoration:underline}
.cmp-tag{display:inline-block;margin-left:8px;font:600 11px Mulish,sans-serif;color:#586470;background:#EEF2F5;border-radius:4px;padding:1px 6px;vertical-align:2px}
.cmp-tbl .pp{font:700 15px 'Hanken Grotesk',sans-serif;color:#002A51}
.cmp-pbar{display:block;height:4px;border-radius:2px;background:#C5D752;margin-top:5px;margin-left:auto}
.cmp-tbl .ch{font:700 14px 'Hanken Grotesk',sans-serif}
.cmp-lbl{display:none}
.cmp-spk{display:block}
.sw .cmp-ours a{margin-right:12px}
.sw .go-a{font:700 13.5px 'Hanken Grotesk',sans-serif;text-decoration:none}
.cmp-none{padding:18px;color:#586470;margin:0}
.cmp-foot{display:flex;justify-content:space-between;align-items:center;gap:16px}
.cmp-bar{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);display:flex;align-items:center;gap:14px;max-width:calc(100vw - 32px);background:#002A51;color:#fff;border-radius:12px;padding:10px 10px 10px 18px;box-shadow:0 14px 34px rgba(0,27,54,.3);z-index:45}
.cmp-bar[hidden],.cmp-side[hidden]{display:none}
.cmp-names{font:700 13.5px 'Hanken Grotesk',sans-serif;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cmp-btns{display:flex;gap:10px;flex:none}
.sw .cmp-bar .btn{min-height:42px}
.sw .cmp-bar .cmp-ask{background:#fff;color:#002A51;border-color:#fff}
.cmp-sm{display:none}
.cmp-side{border:1px solid #E1E7EC;border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:12px;background:#fff}
.cmp-side:focus{outline:0}
.cmp-side .cmp-sh{display:flex;justify-content:space-between;align-items:center;gap:12px}
.cmp-side .tw{border-radius:8px}
.cmp-side .tbl td,.cmp-side .tbl th{white-space:normal}
@media (prefers-reduced-motion:no-preference){.cmp-bar{animation:cmp-in .18s ease-out}}
@keyframes cmp-in{from{opacity:0}to{opacity:1}}
@media (max-width:1100px){.cmp-head{flex-direction:column;align-items:flex-start;gap:12px}}
/* Above the site's ask bar (bottom right) where the two would meet. */
@media (min-width:701px) and (max-width:1500px){.cmp-bar{bottom:96px}}
@media (max-width:700px){
.cmp-sec{padding-top:32px;gap:12px}
.cmp-kpi,.cmp-right{display:none}
.cmp-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.cmp-chips .chip{flex:none}
.al-js .cmp-msort{display:flex;justify-content:space-between;align-items:center;gap:12px}
.cmp-msort .meta{white-space:nowrap}
.cmp-msort select{min-height:40px;border:1px solid #CBD4DC;border-radius:8px;padding:0 8px;font:700 13.5px 'Hanken Grotesk',sans-serif;color:#002A51;background:#fff;width:auto;max-width:56%}
.sw .cmp-tw{border:0;border-radius:0;overflow:visible;background:transparent}
.cmp-tbl,.cmp-tbl tbody{display:block}.cmp-tbl thead{display:none}
.cmp-tbl tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"n c" "p g" "r s" "o a";border:1px solid #E1E7EC;border-radius:12px;padding:14px;margin-bottom:12px;background:#fff}
.cmp-tbl tr[hidden]{display:none}
.cmp-tbl tr.on{background:#F3F7DC;border-color:#DCE6A0}
.cmp-tbl tbody td,.cmp-tbl tbody th,.cmp-tbl tr.on>*{padding:0;border:0;white-space:normal;background:transparent}
.cmp-tbl tbody tr:last-child>*{border-bottom:0}
.cmp-tbl .cmp-n{grid-area:n;padding-bottom:10px;align-self:center}.cmp-tbl .cmp-c{grid-area:c;justify-self:end;align-self:start;width:auto}
html:not(.al-js) .cmp-tbl tr{grid-template-areas:"n n" "p g" "r s" "o a"}
.cmp-tbl .cmp-psf{grid-area:p}.cmp-tbl .cmp-chg{grid-area:g}.cmp-tbl .cmp-rent{grid-area:r}.cmp-tbl .cmp-sales{grid-area:s}
.cmp-tbl .cmp-ours{grid-area:o;padding-top:10px;font-size:13.5px}.cmp-tbl .cmp-go{grid-area:a;justify-self:end;padding-top:10px}
.cmp-tbl .cmp-sp,.cmp-pbar{display:none}
.cmp-tbl tbody td.cmp-m{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:8px 10px;border:1px solid #E1E7EC;background:#fff}
.cmp-tbl tr.on td.cmp-m{background:#FBFDF1}
.cmp-tbl .cmp-chg,.cmp-tbl .cmp-sales{margin-left:-1px}.cmp-tbl .cmp-rent,.cmp-tbl .cmp-sales{margin-top:-1px}
.cmp-tbl .cmp-psf{border-radius:8px 0 0 0}.cmp-tbl .cmp-chg{border-radius:0 8px 0 0}.cmp-tbl .cmp-rent{border-radius:0 0 0 8px}.cmp-tbl .cmp-sales{border-radius:0 0 8px 0}
.cmp-tbl .cmp-m .pp,.cmp-tbl .cmp-m .pv,.cmp-tbl .cmp-m.ch>span[aria-hidden]{font:700 16px 'Hanken Grotesk',sans-serif;color:#002A51}
.cmp-tbl .cmp-m.ch>span.up{color:#1E6B45}.cmp-tbl .cmp-m.ch>span.dn{color:#8A2E1F}
.cmp-tbl .cmp-lbl{display:block;font-size:11.5px;color:#586470;font-weight:400}
.cmp-tbl .pp .cmp-lbl{display:inline;font:inherit;color:inherit}
.cmp-foot{flex-direction:column;align-items:stretch}.cmp-foot .meta{display:none}
.cmp-bar{left:0;right:0;transform:none;bottom:calc(64px + env(safe-area-inset-bottom,0px));max-width:none;border-radius:0;padding:10px 16px;gap:10px;box-shadow:0 -6px 18px rgba(0,27,54,.2)}
.sw .cmp-bar .btn{min-height:40px;padding:0 12px;font-size:13px}
.cmp-lg{display:none}.cmp-sm{display:inline}
.cmp-names{flex:1}
}
/* ==== end areas by lifestyle and compare areas ==== */
/* ==== Off-plan downloads (templates/project.php, inc/blocks.php; DECISIONS/0316): one form per file in a <details>, so it
 * opens without JavaScript; the summary looks like an outlined button; the card gets a quiet text link. ==== */
.dls details.dl{border:0;margin:0}
.dls details.dl>summary{list-style:none;cursor:pointer;justify-content:center;width:100%}
.dls details.dl>summary::-webkit-details-marker{display:none}
.dls details.dl[open]>summary{background:#F7F9FB}
.dls details.dl>form{padding:12px 0 4px;gap:10px}
.dls .btn svg{margin-right:6px;vertical-align:-3px}
.card .dl-link{font-size:13px;font-weight:700;color:#002A51;text-decoration:underline;text-underline-offset:3px;align-self:flex-start}
/* DECISIONS/0323: the download pop-up uses the snagging overlay (.snag-ov); the box's buttons stack; the file page's card. */
.dls>.btn{justify-content:center;width:100%}
.dl-ov .msg{margin:0}
.dl-hint{margin:-4px 0 0;font-size:13px}
.dl-file{max-width:720px;display:flex;flex-direction:column;gap:16px}
.dl-acts{display:flex;gap:10px;flex-wrap:wrap}
@media (max-width:700px){.dl-acts .btn{width:100%;justify-content:center}}
/* ==== end off-plan downloads ==== */

/* ---- Off-plan cluster pages (DECISIONS/0318, mockup option B) -------------------------------------------------------- */
.sw .cl{background:#fff;color:#002A51;border-color:#CBD4DC}.sw .cl:hover{border-color:#002A51}
.sw .btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}.sw .btn.ghost:hover{border-color:#fff;color:#fff}
.sw .btn.ic{padding:0 12px}
.na{color:#586470 !important;font-style:italic}
.cl-head .w{padding-top:22px;padding-bottom:30px;gap:16px}
.cl-head .eb{color:#C5D752}.cl-head .t1{color:#fff;font-size:44px}
.cl-head .sub,.cl-head .lbl{color:#A6BCD1}.cl-head .sub{font-size:12.5px}
.cl-title{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
.cl-acts{display:flex;gap:10px;flex-wrap:wrap}
.cl-sheet{display:grid;grid-template-columns:1.3fr 1fr 1.2fr 1fr;border:1px solid rgba(255,255,255,.18);border-radius:12px;overflow:hidden;color:#fff}
.cl-sheet>div{border-right:1px solid rgba(255,255,255,.18)}.cl-sheet>div:last-child{border-right:0}
.cl-sheet b{font:700 18px 'Hanken Grotesk',sans-serif;color:#fff;display:block}
.cs-price{padding:18px;display:flex;flex-direction:column;gap:4px;background:rgba(255,255,255,.06)}
.cs-price .pv.big{font:700 32px 'Hanken Grotesk',sans-serif;line-height:1.1;color:#fff}
.cs-two{display:flex;flex-direction:column}.cs-two>div{padding:14px 18px}.cs-two>div:first-child{border-bottom:1px solid rgba(255,255,255,.18)}
.cs-types{padding:14px 18px;display:flex;flex-direction:column;gap:8px}
.cs-types>div{display:flex;flex-direction:column;border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:8px}.cs-types>div b{font-size:16px}.cs-types>div span{color:#D3DEE9;font-size:14px}
.cs-plan{display:flex;flex-direction:column}.cs-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid rgba(255,255,255,.18)}.cs-three>div{padding:14px}
.cs-dld{padding:14px;display:flex;flex-direction:column;gap:6px}.cs-dld .row2{display:flex;justify-content:space-between}.cs-dld .lbl b{display:inline;font-size:inherit}.cs-dld .lbl.w{color:#fff}
.cl-head .bar,.cl-progress .bar{height:8px;border-radius:4px;background:rgba(255,255,255,.18)}.cl-head .bar i,.cl-progress .bar i{display:block;height:100%;background:#C5D752;border-radius:4px}
.cl-progress .bar{background:#E1E7EC}
.cur-btns{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px}
.cur-btns button{border:1px solid rgba(255,255,255,.3);border-radius:5px;padding:3px 7px;font:700 11.5px Mulish,sans-serif;cursor:pointer;background:transparent;color:#D3DEE9;min-height:28px}
.cur-btns button.on{background:#C5D752;color:#002A51;border-color:#C5D752}
.cur-note{font-size:12px;color:#A6BCD1}
.cl-strip{display:flex;flex-wrap:wrap;border:1px solid rgba(255,255,255,.18);border-radius:12px;overflow:hidden;color:#fff}
.cl-strip>div{flex:1 1 180px;padding:14px 18px;border-right:1px solid rgba(255,255,255,.18)}.cl-strip>div:last-child{border-right:0}
.cl-strip .lbl,.cl-strip .sub{display:block}
.cl-strip b{font:700 17px 'Hanken Grotesk',sans-serif;color:#fff}
.cl-gal{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:4px;height:260px;position:relative}
.cl-gal figure{position:relative;margin:0;overflow:hidden}.cl-gal img{display:block;width:100%;height:100%;object-fit:cover;background:#E9EEF3}
.cl-gal .more{position:absolute;right:16px;bottom:16px;background:#fff;color:#002A51;font:700 14px 'Hanken Grotesk',sans-serif;padding:10px 14px;border-radius:8px;text-decoration:none}
.cl-bar{position:sticky;top:0;z-index:20;background:#fff;box-shadow:0 6px 16px rgba(0,42,81,.08);border-bottom:1px solid #E1E7EC}
.cl-bar .w{display:flex;align-items:center;gap:20px;min-height:60px}
.cl-bar .nm{display:flex;flex-direction:column;line-height:1.2;flex:0 0 auto}.cl-bar .nm b{font:700 16px 'Hanken Grotesk',sans-serif;color:#002A51}.cl-bar .nm .meta{font-size:12.5px}
.cl-bar .cl-tabs{flex:1;display:flex;gap:4px;overflow-x:auto;min-width:0}
.sw .cl-bar .cl-tabs a{display:inline-flex;align-items:center;min-height:60px;padding:0 11px;font:600 13.5px 'Hanken Grotesk',sans-serif;color:#3E4750;text-decoration:none;border-bottom:3px solid transparent;white-space:nowrap}
.sw .cl-bar .cl-tabs a.on{color:#002A51;border-bottom-color:#C5D752}
.cl-bar .goto{display:none}.sr{position:absolute;left:-9999px}
.cl-body{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:56px;align-items:start;padding-top:40px;padding-bottom:40px}
.cl-body.one{grid-template-columns:minmax(0,1fr);gap:40px}
.cl-main{display:flex;flex-direction:column;gap:40px;min-width:0}
.cl-toc{position:sticky;top:84px;display:flex;flex-direction:column;gap:2px;border-left:2px solid #E1E7EC;padding-left:16px}
.cl-toc a{text-decoration:none;font-size:14px;padding:5px 0;color:#3E4750}.cl-toc a:hover{color:#002A51}.cl-toc .stack{margin-top:16px;gap:8px}
.cl-hl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}
.cl-hl li{display:flex;gap:12px;align-items:baseline;border-top:1px solid #E1E7EC;padding-top:10px;color:#272D34}.cl-hl b{font:700 14px 'Hanken Grotesk',sans-serif;color:#7E93A6}
.cl-am{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.cl-am>div{display:flex;gap:8px;align-items:center;border:1px solid #E1E7EC;border-radius:10px;padding:12px;font-weight:600;color:#002A51}
.lk{font-weight:700;font-size:14px;color:#002A51}
.ppbar{display:flex;height:28px;border-radius:7px;overflow:hidden;gap:2px}.ppbar i{display:flex;align-items:center;justify-content:center;height:100%;font:700 12px 'Hanken Grotesk',sans-serif;font-style:normal;color:#fff}
.ppbar .b{background:#C5D752;color:#002A51}.ppbar .c{background:#7E93A6}.ppbar .h{background:#002A51}.ppbar .p{background:#3E4750}
.pp-amt{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:13.5px;color:#3E4750}
.cl-band{padding:24px 0}.cl-pl{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:16px;align-items:end}.cl-pl .chk{grid-column:1 / -1}
.cl-loc{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;align-items:start}.cl-loc iframe{width:100%;height:280px;border:0;border-radius:12px;background:#E7ECE4}.cl-loc.big iframe{height:420px}
.lm{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #E1E7EC;font-size:14.5px}.lm b{font-family:'Hanken Grotesk',sans-serif;color:#002A51;white-space:nowrap}
.cl-fp{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.cl-fp .fp{border:1px solid #E1E7EC;border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:4px}.cl-fp b{color:#002A51}
.cl-btns{display:flex;gap:10px;flex-wrap:wrap}
.kv{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #E1E7EC;font-size:14px}.kv b{font-family:'Hanken Grotesk',sans-serif;color:#002A51;text-align:right}.kv span{color:#586470}
.cl-faq{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:40px;align-items:start}
.cl-tl{list-style:none;padding:0;position:relative;height:92px;border-top:4px solid #E1E7EC;margin:36px 0 0}
.cl-tl li{position:absolute;top:-12px;left:calc(var(--at) * 1%);transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12px;color:#586470;text-align:center;max-width:110px}
.cl-tl li::before{content:"";width:14px;height:14px;border-radius:50%;background:#7E93A6;border:3px solid #fff;box-shadow:0 0 0 1px #CBD4DC}
.cl-tl li.booking::before{background:#C5D752;width:20px;height:20px}.cl-tl li.handover::before{background:#002A51;width:20px;height:20px}
.cl-tl li:first-child{transform:none;left:0;align-items:flex-start;text-align:left}.cl-tl li:last-child{transform:translateX(-100%);align-items:flex-end;text-align:right}
.cl-tl li:nth-child(even):not(:last-child){flex-direction:column-reverse;top:auto;bottom:calc(100% - 8px)}
.cl-tl{margin-top:88px}.cl-tl li span{font-size:11.5px;line-height:1.25}
.cl-tl b{font:700 15px 'Hanken Grotesk',sans-serif;color:#002A51}
.cl-pp{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:32px;align-items:start}
.tbl tr.hl td{background:#FAFCEB}.tbl tr.tot td{font-weight:700;color:#002A51;border-top:2px solid #002A51}
.cl-ex .chips{display:flex;flex-wrap:wrap;gap:8px}
.sw .chip.on{background:#002A51;color:#fff;border-color:#002A51}
.cl-sales{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}
.cl-amlist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 32px}.cl-amlist>div{display:flex;flex-direction:column;gap:4px;border-top:1px solid #E1E7EC;padding-top:12px}.cl-amlist b{display:flex;gap:8px;align-items:center;color:#002A51}.cl-amlist span{color:#3E4750;font-size:14.5px}
.cl-galgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.cl-galgrid figure{position:relative;margin:0}.cl-galgrid img{display:block;width:100%;height:240px;object-fit:cover;border-radius:10px;background:#E9EEF3}
.cl-dlpage{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:40px;align-items:start}
.cl-rel{gap:20px;padding-top:40px;padding-bottom:40px}
.cl-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.cardB{display:grid;grid-template-columns:220px 1fr;background:#fff;border:1px solid #E1E7EC;border-radius:10px;overflow:hidden}
.cardB .img{position:relative;display:block;min-height:180px;background:#E9EEF3}.cardB .img img,.cardB .img .noimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cardB .cb{padding:14px 16px;display:flex;flex-direction:column;gap:10px}.cardB .ch{display:flex;justify-content:space-between;gap:10px;align-items:baseline;flex-wrap:wrap}
.cardB .ch a{color:#002A51;text-decoration:none}.cardB .price{font-size:16px}.cardB .dlk{font-weight:700;font-size:13.5px;color:#002A51}
.cfB{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 16px;font-size:13px}.cfB div{display:flex;flex-direction:column}
.cfB span{color:#586470;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.cfB b{font-weight:600;color:#272D34}
.cl-reg{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:40px;padding-top:40px;padding-bottom:48px;align-items:start}
.g2f{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cl-contact{flex-direction:row;align-items:center;gap:16px;text-decoration:none}
.cl-disc{background:#F5F7F9;border-top:1px solid #E1E7EC}.cl-disc p{padding:14px 0;font-size:12.5px;color:#3E4750;margin:0}
@media (max-width:1100px){.cl-sheet{grid-template-columns:1fr 1fr}.cl-sheet>div:nth-child(2){border-right:0}.cl-sheet>div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.18)}
  .cl-bar .cl-tabs{display:none}.cl-bar .goto{display:flex;flex:1}.cl-body{grid-template-columns:minmax(0,1fr)}.cl-toc{display:none}.cl-fp{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){
  .cl-head .t1{font-size:30px}.cl-title{flex-direction:column;align-items:flex-start}.cl-acts{display:none}
  .cl-sheet{grid-template-columns:1fr}.cl-sheet>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}
  .cl-gal{grid-template-columns:1fr;height:220px}.cl-gal figure:not(:first-child){display:none}
  .cl-bar .w{gap:10px;min-height:56px}.cl-bar .nm .meta,.cl-bar .btn{display:none}.cl-bar .goto select{width:100%;min-height:44px;border:1px solid #CBD4DC;border-radius:8px;padding:0 10px;font:600 15px 'Hanken Grotesk',sans-serif;color:#002A51;background:#fff}
  .cl-hl,.cl-am,.cl-amlist,.cl-galgrid,.cl-pp,.cl-faq,.cl-loc,.cl-dlpage,.cl-reg,.g2f,.cl-pl{grid-template-columns:minmax(0,1fr)}
  .cl-tl{height:auto;border-top:0;border-left:4px solid #E1E7EC;margin:8px 0 0 8px;padding-left:18px;display:flex;flex-direction:column;gap:14px}
  .cl-tl{margin-top:8px}.cl-tl li,.cl-tl li:first-child,.cl-tl li:last-child,.cl-tl li:nth-child(even):not(:last-child){position:relative;top:auto;bottom:auto;left:auto;transform:none;flex-direction:row;align-items:baseline;gap:10px;text-align:left;max-width:none}
  .cl-tl li::before{position:absolute;left:-30px;top:2px}
  /* Option B's weakness (the designer's note): on phones both card rows keep their four links, scrolled sideways. */
  .cl-cards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:6px}.cl-cards .cardB{flex:0 0 86%;scroll-snap-align:start;grid-template-columns:1fr}.cardB .img{min-height:150px}.cfB{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mbar.three .btn{padding:0 6px;font-size:13.5px}
}

/* ---- The main off-plan page, /off-plan/ (the owner's pick: option B, 9 Nov 2026; no count in the heading) ------------- */
.ob-band .eb{color:#C5D752}.sw .ob-band h1,.sw .ob-band h2{color:#fff}
.ob-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:48px;padding-top:30px;padding-bottom:36px;align-items:start}
.ob-hero h1{font-size:44px;line-height:1.08;letter-spacing:-.015em}
.ob-cols{columns:2;column-gap:28px;font-size:14.5px;color:#D3DEE9}.ob-cols p{margin:0 0 10px;break-inside:avoid}
.ob-more>summary{display:none}
.ob-acts{display:flex;gap:10px;flex-wrap:wrap}
.ob-mk{border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:14px;background:#0A3A66;color:#fff}
.ob-mk-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.ob-mk .src{color:#A6BCD1;font-size:12px}
.ob-mk .st{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:12px}
.ob-mk .st.last{border-bottom:0;padding-bottom:0}
.ob-mk .st b{font:700 30px 'Hanken Grotesk',sans-serif;color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap}
.ob-mk .st span{font-size:13px;color:#A6BCD1;max-width:55%;text-align:right}
.ob-bars{display:flex;align-items:flex-end;gap:5px;height:56px;margin-bottom:4px}
.ob-bars i{flex:1;background:rgba(255,255,255,.18);border-radius:2px 2px 0 0}.ob-bars i.k{background:#C5D752}
.ob-sec{padding-top:36px;padding-bottom:36px}.ob-sec2{padding-bottom:36px}
.ob-sh{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px;flex-wrap:wrap}.ob-sh h2{font-size:24px;line-height:1.2}
.ob-devs{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px}
.sw a.ob-dev{display:flex;flex-direction:column;gap:2px;padding:14px;border:1px solid #E1E7EC;border-radius:10px;background:#fff;text-decoration:none;color:inherit;min-width:0}
.sw a.ob-dev:hover{border-color:#002A51}
.ob-dev b{font:700 16px 'Hanken Grotesk',sans-serif;color:#002A51;overflow-wrap:anywhere}.ob-dev span{font-size:12px;color:#586470}
.ob-dev em{font:700 11px 'Hanken Grotesk',sans-serif;font-style:normal;color:#586470;letter-spacing:.06em}
.ob-coms{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.sw a.ob-com{position:relative;display:block;border-radius:10px;overflow:hidden;height:150px;text-decoration:none;background:#0A3A66}
.ob-com img{width:100%;height:100%;object-fit:cover;display:block}
.ob-com .cr{position:absolute;top:6px;right:6px;background:rgba(0,27,54,.72);color:#fff;font-size:10px;padding:1px 6px;border-radius:4px}
.ob-com div{position:absolute;inset:auto 0 0 0;padding:10px 12px;background:linear-gradient(0deg,rgba(0,20,40,.85),rgba(0,20,40,0));color:#fff}
.ob-com b{display:block;font:700 15px 'Hanken Grotesk',sans-serif;color:#fff}.ob-com span{font-size:12px;color:#D3DEE9}
.ob-all{margin-top:12px}.ob-all>summary{cursor:pointer;font:700 13px 'Hanken Grotesk',sans-serif;color:#0A3A66;list-style:none}.ob-all>summary::-webkit-details-marker{display:none}
.ob-chips{display:flex;gap:8px;flex-wrap:wrap}.ob-all .ob-chips{margin-top:10px}
.ob-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}
.ob-box{border:1px solid #E1E7EC;border-radius:12px;padding:20px;background:#fff;gap:12px}.ob-box h2{font-size:20px}
.sherlo.ob-ask{padding:18px;gap:10px;justify-content:center}
.ob-ask-h{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.ob-ask-h b{font:700 15px 'Hanken Grotesk',sans-serif;color:#002A51}
.ob-ask-in{display:flex;gap:8px;align-items:center;background:#fff;border:1px solid #CBD4DC;border-radius:999px;padding:5px 5px 5px 16px}
.ob-ask-in input{flex:1;min-width:0;border:0;background:transparent;font:500 14.5px Mulish,sans-serif;color:#002A51;min-height:38px}.ob-ask-in input:focus{outline:none}
.ob-ask-in:focus-within{outline:3px solid #C5D752;outline-offset:2px}
.ob-sug{display:flex;gap:6px;flex-wrap:wrap}
.ob-sug button{font:500 13px Mulish,sans-serif;color:#002A51;border:1px solid #DCE6A0;background:#fff;border-radius:999px;padding:5px 11px;cursor:pointer;min-height:32px}
.ob-sug button:hover{border-color:#002A51}
.ob-allp{border-top:1px solid #E1E7EC;padding-top:32px}
.ob-list{display:grid;grid-template-columns:250px minmax(0,1fr);gap:28px;align-items:start}
.ob-side{position:sticky;top:96px;border:1px solid #E1E7EC;border-radius:10px;padding:16px;background:#fff}
.sw .ob-side>summary{display:none}.ob-side h3{font-size:15px;color:#002A51}.ob-side .fld{flex:none}.ob-side .fld select{min-height:42px;padding:0 10px;font-size:14px}
.sw .more{font-size:13px;color:#0A3A66;font-weight:700;text-decoration:none}
.ob-sort{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.cnt{font-size:13px;color:#586470}.cnt b{color:#002A51}
.ob-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ob-pc{background:#fff;border:1px solid #E1E7EC;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 2px rgba(0,42,81,.06);min-width:0}
.ob-pc:hover{box-shadow:0 8px 24px rgba(0,42,81,.12)}
.ob-pc .im{position:relative}.ob-pc .im img,.ob-pc .im .noimg{height:168px !important}
.ob-pc .im .done{position:absolute;left:8px;top:8px}
.ob-pc .bd{padding:14px;display:flex;flex-direction:column;gap:8px;flex:1}
.ob-pc h3{font:700 16.5px/1.25 'Hanken Grotesk',sans-serif;margin:0}.sw .ob-pc h3 a{color:#002A51;text-decoration:none}
.ob-pc .pr{display:flex;flex-direction:column;gap:1px}.ob-pc .pr b{font:700 18px 'Hanken Grotesk',sans-serif;color:#002A51;font-variant-numeric:tabular-nums}.ob-pc .pr span{font-size:11.5px;color:#586470}
.ob-pc dl{display:grid;grid-template-columns:1fr 1fr;gap:7px 12px;margin:0;padding-top:8px;border-top:1px solid #E1E7EC}
.ob-pc dl div{min-width:0}.ob-pc dt{font:700 10px Mulish,sans-serif;letter-spacing:.07em;text-transform:uppercase;color:#586470}
.ob-pc dd{margin:0;font-size:13px;color:#002A51;font-weight:600;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
.sw .cu{color:#0A3A66;font-weight:700;text-decoration:underline;text-underline-offset:2px}
.ob-pc .cf{margin-top:auto;display:flex;flex-direction:column;gap:6px;padding-top:6px}.ob-pc .cf .btn{width:100%;min-height:38px;font-size:13px}
.ob-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.ob-pg{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.sw .ob-pg a,.ob-pg span{display:inline-grid;place-items:center;min-width:40px;height:40px;padding:0 10px;border:1px solid #CBD4DC;border-radius:8px;text-decoration:none;color:#002A51;font:600 13.5px 'Hanken Grotesk',sans-serif;background:#fff}
.ob-pg span{border:0;background:none;color:#586470}.sw .ob-pg a.on{background:#002A51;color:#fff;border-color:#002A51}.sw .ob-pg a:hover{border-color:#002A51}
.ob-ct{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:36px;align-items:start;padding-top:36px;padding-bottom:40px}
.ob-ct h2{font-size:26px}.ob-lead{color:#D3DEE9}
.ob-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:#fff;border-radius:12px;padding:18px}.ob-form .full{grid-column:1/-1}.ob-form .fld{flex:none}
.ob-ways{display:flex;flex-direction:column;gap:10px;padding-top:28px}
.ob-way{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #E1E7EC;border-radius:10px;background:#fff}
.ob-way .tx{flex:1;min-width:0;display:flex;flex-direction:column}.ob-way b{font:700 14.5px 'Hanken Grotesk',sans-serif;color:#002A51}.ob-way .tx span{font-size:12.5px;color:#586470}
.ob-way .btn{min-height:38px;font-size:13px;padding:0 12px}
@media (max-width:1180px){.ob-devs{grid-template-columns:repeat(4,minmax(0,1fr))}.ob-coms{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:1100px){.ob-hero,.ob-ct{grid-template-columns:minmax(0,1fr)}.ob-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ob-ways{padding-top:0}}
@media (max-width:860px){.ob-list,.ob-row{grid-template-columns:minmax(0,1fr)}.ob-side{position:static}}
@media (max-width:700px){
  .ob-hero{padding-top:18px;padding-bottom:22px;gap:18px}.ob-hero h1{font-size:30px;line-height:1.15}
  .ob-cols{columns:1}
  .ob-more>summary{display:block;cursor:pointer;font:700 13px 'Hanken Grotesk',sans-serif;color:#C5D752;list-style:none;margin-bottom:8px}.ob-more>summary::-webkit-details-marker{display:none}
  .ob-more[open]>summary{display:none}
  .ob-acts{display:none}
  .ob-mk{flex-direction:row;overflow-x:auto;padding:0;border:0;background:none;gap:8px;scrollbar-width:none;flex-wrap:nowrap}
  .ob-mk-h,.ob-bars-w{display:none}
  .ob-mk .st,.ob-mk .st.last{flex:0 0 150px;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:2px;border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:10px}
  .ob-mk .st b{font-size:20px}.ob-mk .st span{max-width:none;text-align:left;font-size:12px}
  .ob-mk>.src{flex:0 0 150px;align-self:center}
  .ob-sec{padding-top:22px;padding-bottom:22px}.ob-sec2{padding-bottom:22px}.ob-sh h2{font-size:19px}
  .ob-devs{grid-template-columns:repeat(2,minmax(0,1fr))}.sw .ob-devs>:nth-child(n+5){display:none}
  .ob-coms{grid-template-columns:repeat(2,minmax(0,1fr))}.sw .ob-coms>:nth-child(n+5){display:none}.sw a.ob-com{height:110px}
  .ob-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.ob-chips .chip{flex:none}.ob-all .ob-chips{flex-wrap:wrap}
  .ob-side{border:0;padding:0;background:none}
  .sw .ob-side>summary{display:inline-flex;width:100%;list-style:none}.ob-side>summary::-webkit-details-marker{display:none}
  .ob-side[open]>summary{margin-bottom:12px}.ob-side form{border:1px solid #E1E7EC;border-radius:10px;padding:14px;background:#fff}
  .ob-grid{grid-template-columns:minmax(0,1fr);gap:14px}.ob-pc .im img,.ob-pc .im .noimg{height:180px !important}
  .ob-foot{flex-direction:column;align-items:flex-start}
  .ob-ct{padding-top:22px;padding-bottom:22px;gap:18px}.ob-ct h2{font-size:19px}.ob-form{grid-template-columns:minmax(0,1fr);padding:14px}
}

/* ---- Snagging with Desality (owner's pick, 11 Nov 2026; DECISIONS/0322) ---------------------------------------------- */
/* A: the navy band. B: the tile in the results list. The form: a :target overlay (#snag), works without script. */
.snag-a{display:flex;align-items:center;gap:24px;background:#002A51;color:#fff;border-radius:12px;padding:22px 26px;margin:24px 0}
.snag-a .tx{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:4px}
.snag-a .ln,.snag-b .ln{font:700 11.5px 'Hanken Grotesk',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#C5D752}
.sw .snag-a h2{color:#fff;font:700 22px/1.2 'Hanken Grotesk',sans-serif;margin:0}
.snag-a p{color:#D3DEE9;font-size:15px;margin:0;max-width:78ch}
.snag-a .btn{flex:none}
.snag-logo{flex:none;display:flex;align-items:center}.snag-logo img{display:block;height:44px;width:auto;max-width:200px}
.snag-logo.chip-w{background:#fff;border-radius:8px;padding:8px 12px}
.snag-b{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:22px;background:#F4F7F9;border:1px solid #E1E7EC;border-radius:8px;padding:22px}
.snag-b .tx{display:flex;flex-direction:column;gap:4px}.snag-b .ln{color:#5E6B2A}
.snag-b p{margin:0;font-size:14.5px;color:#3E4750}
.snag-b ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:13.5px;color:#272D34}
.snag-b li{display:flex;gap:8px;align-items:center}.snag-b li svg{color:#1E6B45;flex:none}
.sw .snag-b .btn{border-radius:999px}
.snag-ov{display:none;position:fixed;inset:0;z-index:1000;align-items:center;justify-content:center;padding:16px}
.snag-ov:target,.snag-ov.open{display:flex}
.snag-x{position:absolute;inset:0;background:rgba(0,20,40,.55)}
.snag-dlg{position:relative;background:#fff;border-radius:12px;width:min(560px,100%);max-height:calc(100svh - 32px);overflow:auto;padding:24px;display:flex;flex-direction:column;gap:12px;box-shadow:0 20px 60px rgba(0,20,40,.3)}
.snag-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.sw .snag-c{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:-10px -10px -10px 0;font-size:26px;line-height:1;color:#586470;text-decoration:none;border-radius:8px}
.snag-f{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.snag-f .full{grid-column:1 / -1}
body.snag-lock{overflow:hidden}
@media (max-width:1100px){.snag-b{grid-template-columns:auto minmax(0,1fr)}.snag-b ul{grid-column:1 / -1;flex-direction:row;flex-wrap:wrap;gap:6px 18px}.snag-b .btn{grid-column:1 / -1;justify-self:start}}
@media (max-width:700px){
  .snag-logo img{height:34px}
  .snag-a{flex-direction:column;align-items:flex-start;gap:14px;padding:20px}.snag-a .btn{width:100%}.sw .snag-a h2{font-size:19px}
  .snag-b{grid-template-columns:minmax(0,1fr);gap:14px;padding:18px}.snag-b ul{flex-direction:column}.snag-b .btn{width:100%}
  .snag-ov{align-items:flex-end;padding:0}.snag-dlg{border-radius:12px 12px 0 0;max-height:92svh;padding:20px 16px}
  .snag-f{grid-template-columns:minmax(0,1fr)}
}
