/* nosey site pages + the full-screen menu (also used by the map app) */
:root{--ink:#F3F0E8;--ink-2:#A19D94;--ink-3:#66635D;--line:rgba(255,255,255,.1);--fill:rgba(255,255,255,.06);--lamp:#FFB547;--moon:#8FC8FF;--ease:cubic-bezier(.2,.8,.2,1);--sans:'Outfit',system-ui,sans-serif;--mono:'IBM Plex Mono',ui-monospace,monospace}

/* ---------- menu ---------- */
.mbtn{position:relative;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.14);background:rgba(20,20,20,.48);-webkit-backdrop-filter:blur(24px) saturate(170%);backdrop-filter:blur(24px) saturate(170%);cursor:pointer;flex:none;z-index:91;transition:background .2s}
.mbtn:hover{background:rgba(40,40,40,.6)}
.mbtn i{position:absolute;left:14px;right:14px;height:1.8px;border-radius:1px;background:var(--ink);transition:transform .35s var(--ease),top .35s var(--ease)}
.mbtn i:first-child{top:17px}.mbtn i:last-child{top:25px}
.mbtn[aria-expanded="true"] i:first-child{top:21px;transform:rotate(45deg)}.mbtn[aria-expanded="true"] i:last-child{top:21px;transform:rotate(-45deg)}
.menu{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.84);-webkit-backdrop-filter:blur(28px) saturate(130%);backdrop-filter:blur(28px) saturate(130%);overflow:auto;opacity:0;transition:opacity .35s var(--ease);font-family:var(--sans);color:var(--ink)}
.menu.open{opacity:1}
.menu[hidden]{display:block;visibility:hidden;pointer-events:none}
.minner{min-height:100%;display:flex;flex-direction:column;justify-content:space-between;gap:48px;padding:120px clamp(20px,6vw,88px) 40px;max-width:1280px;margin:0 auto}
.mcols{display:grid;grid-template-columns:repeat(3,1fr);gap:40px clamp(24px,5vw,72px)}
.mlab{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:18px}
.mcol a{display:block;font-size:clamp(24px,2.6vw,36px);font-weight:500;letter-spacing:-.02em;line-height:1.15;padding:6px 0;color:var(--ink);text-decoration:none;opacity:0;transform:translateY(10px);transition:opacity .45s var(--ease),transform .45s var(--ease),color .2s}
.menu.open .mcol a{opacity:1;transform:none}
.mcol a:hover{color:var(--lamp)}
.menu.open .mcol:nth-child(2) a{transition-delay:.04s}.menu.open .mcol:nth-child(3) a{transition-delay:.08s}
.mfoot{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:24px}
.mfoot nav{display:flex;gap:20px;flex-wrap:wrap}
.mfoot nav a{font-size:14px;color:var(--ink-2);text-decoration:none}.mfoot nav a:hover{color:var(--ink)}
.btn-ink{display:inline-flex;align-items:center;height:44px;padding:0 22px;border-radius:999px;background:var(--ink);color:#000;font-weight:500;font-size:15px;text-decoration:none}
body.mopen{overflow:hidden}
@media (max-width:760px){.mcols{grid-template-columns:1fr;gap:32px}.minner{padding-top:96px}.mcol a{font-size:28px}}

/* ---------- site pages ---------- */
body.sp{margin:0;background:#000;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;line-height:1.6;overflow:auto;height:auto}
.sp *{box-sizing:border-box}
.sp a{color:inherit}
.shead{position:sticky;top:0;z-index:80;display:flex;align-items:center;gap:10px;padding:16px clamp(16px,4vw,40px);background:linear-gradient(180deg,rgba(0,0,0,.92),rgba(0,0,0,.6) 70%,transparent)}
.slogo img{display:block;height:30px;width:auto}
.sgap{flex:1}
.sopen{height:44px;display:inline-flex;align-items:center;padding:0 18px;border-radius:999px;border:1px solid rgba(255,255,255,.14);font-size:14px;color:var(--ink);text-decoration:none}
.sopen:hover{background:var(--fill)}
.smain{max-width:760px;margin:0 auto;padding:56px 20px 96px}
.kick{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--lamp);margin:0 0 18px}
.kick a{text-decoration:none}
.sp h1{font-size:clamp(40px,6vw,68px);line-height:1;letter-spacing:-.035em;font-weight:650;margin:0}
.lede{font-size:clamp(18px,2vw,21px);color:var(--ink-2);margin:22px 0 0;max-width:600px}
.lede a{color:var(--ink)}
.upd{font-family:var(--mono);font-size:12px;color:var(--ink-3);margin:20px 0 0}
.sp section{margin-top:56px}
.sp h2{font-size:24px;font-weight:600;letter-spacing:-.02em;margin:0 0 12px}
.sp h3{font-size:18px;font-weight:600;margin:0 0 6px}
.sp section p,.sp section li{color:#CFCBC2;font-size:17px}
.sp section p+p{margin-top:12px}
.sp ul{padding-left:20px;margin:12px 0 0}.sp li{margin:6px 0}
.sp table{width:100%;border-collapse:collapse;margin-top:16px;font-size:15px}
.sp th,.sp td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.sp th{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:500}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:48px}
.steps div,.cards div{padding:20px;border-radius:18px;background:var(--fill);border:1px solid var(--line)}
.steps b{font-family:var(--mono);font-size:12px;color:var(--lamp)}.steps h3{margin-top:10px}.steps p{color:var(--ink-2);font-size:15px;margin:0}
.cards{display:grid;gap:10px;margin-top:40px}.cards .label{display:block;margin-bottom:6px}.cards a{font-size:20px}.cards p{margin:0;color:var(--ink-2)}
.label{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:56px}
.btn-lamp,.btn-ghost{display:inline-flex;align-items:center;height:52px;padding:0 26px;border-radius:999px;font-size:16px;font-weight:500;text-decoration:none}
.btn-lamp{background:var(--lamp);color:#111}.btn-ghost{border:1px solid rgba(255,255,255,.2);color:var(--ink)}
.faq{margin-top:40px;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line);padding:18px 0}
.faq summary{cursor:pointer;font-size:18px;font-weight:500;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::after{content:'+';color:var(--ink-3);font-size:22px;line-height:1}.faq details[open] summary::after{content:'–'}
.faq summary::-webkit-details-marker{display:none}
.faq p{color:#CFCBC2;margin:10px 0 0}
.posts{display:grid;gap:10px;margin-top:40px}
.posts a{display:block;padding:22px;border-radius:18px;background:var(--fill);border:1px solid var(--line);text-decoration:none;transition:border-color .2s}
.posts a:hover{border-color:rgba(255,255,255,.25)}.posts p{color:var(--ink-2);margin:0}
.sfoot{border-top:1px solid var(--line);padding:48px clamp(16px,4vw,40px) 40px;max-width:1280px;margin:0 auto}
.fcols{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.flab{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px}
.fcols a{display:block;color:var(--ink-2);text-decoration:none;font-size:14px;padding:3px 0}.fcols a:hover{color:var(--ink)}
.flegal{display:flex;gap:18px;flex-wrap:wrap;margin-top:36px;font-size:13px;color:var(--ink-3)}
.flegal a{color:var(--ink-3);text-decoration:none}.flegal a:hover{color:var(--ink)}
.fattr{font-size:12px;color:var(--ink-3);margin-top:14px;max-width:760px}
/* mortgage calculator */
.calc{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:40px}
.cin,.cout{padding:22px;border-radius:20px;background:var(--fill);border:1px solid var(--line)}
.cin label{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin-bottom:16px}
.cin label small{font-family:var(--sans);text-transform:none;letter-spacing:0;color:var(--ink-3);font-size:12px;margin-left:6px}
.cin span{display:flex;align-items:center;margin-top:6px;height:48px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid var(--line);padding:0 14px}
.cin span:focus-within{border-color:rgba(255,255,255,.35)}
.cin .money::before{content:'£';color:var(--ink-2);margin-right:6px;font-size:17px}
.cin .pct::after{content:'%';color:var(--ink-2);font-size:17px}.cin .yrs::after{content:'years';color:var(--ink-2);font-size:15px}
.cin input{flex:1;min-width:0;border:0;outline:0;background:none;color:var(--ink);font:500 18px var(--sans)}
.seg2{display:flex;flex-wrap:wrap;gap:4px;padding:3px;border-radius:999px;background:rgba(255,255,255,.06);margin-top:6px}
.seg2+.seg2{margin-top:10px}
.seg2 button{flex:1;height:36px;border:0;border-radius:999px;background:none;color:var(--ink-2);font:14px var(--sans);cursor:pointer;padding:0 10px}
.seg2 button.on{background:rgba(255,255,255,.12);color:var(--ink)}
.cout .big b{display:block;font-size:56px;font-weight:650;letter-spacing:-.04em;line-height:1.05;margin-top:6px}
.row3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}.row3 b{display:block;font-size:19px;font-weight:600;margin-top:4px}
.fine{font-size:12.5px;color:var(--ink-3);margin-top:22px}
@media (max-width:760px){.steps,.fcols,.calc{grid-template-columns:1fr}.sopen{display:none}.cout .big b{font-size:44px}}
