
/* Layout: blue hero with lead form on the right, then an alternating run of infographic bands. Brand blue and sun yellow come from the live site. */
:root{
  --ink:#2d3e50; --brand:#007a93; --brand-deep:#005f73; --sun:#ffc53a; --sun-ink:#4a3600;
  --bg:#f5f8fa; --surface:#ffffff; --surface-2:#eaf0f6; --fg:#33475b; --muted:#516f90; --line:#cbd6e2;
  --hero-1:#0d2a4d; --hero-2:#1a5a9c; --on-hero:#ffffff; --on-hero-muted:#c9dcf1;
  --seg-a:#007a93; --seg-b:#ffc53a; --seg-c:#00a4bd; --seg-d:#ff5c35;
  --good:#127a4a; --good-bg:#e0f4ea;
  --f-display:"Lexend Deca","Segoe UI",system-ui,sans-serif;
  --f-body:"Lexend Deca","Segoe UI",system-ui,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#16212e; --surface:#1c2a3a; --surface-2:#26384c; --fg:#eaf0f6; --muted:#a9bdd1; --line:#34495e;
  --brand:#4fc3d8; --brand-deep:#8fdcea; --sun-ink:#ffe69a; --good:#5fd69b; --good-bg:#10382a;
  --seg-a:#4fc3d8; --seg-b:#ffc53a; --seg-c:#2cc3d9; --seg-d:#ff7a59; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#16212e; --surface:#1c2a3a; --surface-2:#26384c; --fg:#eaf0f6; --muted:#a9bdd1; --line:#34495e;
  --brand:#4fc3d8; --brand-deep:#8fdcea; --sun-ink:#ffe69a; --good:#5fd69b; --good-bg:#10382a;
  --seg-a:#4fc3d8; --seg-b:#ffc53a; --seg-c:#2cc3d9; --seg-d:#ff7a59; color-scheme:dark}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:16px;line-height:1.6;padding-inline:0}
h1,h2,h3,h4{font-family:var(--f-display);line-height:1.15;margin:0;text-wrap:balance}
p{margin:0}
a{color:var(--brand)}
:focus-visible{outline:3px solid var(--sun);outline-offset:2px}
.wrap{max-width:1160px;margin-inline:auto;padding-inline:20px}
.band{padding-block:56px}
.band.alt{background:var(--surface)}
.eyebrow{font-family:var(--f-mono);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--brand);font-weight:600}
.sec-head{display:grid;gap:10px;max-width:760px;margin-bottom:32px}
.sec-head h2{font-size:clamp(26px,3.4vw,38px);font-weight:800}
.sec-head p{color:var(--muted)}
.btn{display:inline-flex;align-items:center;gap:8px;font:700 16px var(--f-body);text-decoration:none;border-radius:999px;padding:14px 26px;border:2px solid transparent;cursor:pointer}
.btn-sun{background:var(--sun);color:#1c1500}
.btn-sun:hover{filter:brightness(.95)}
.btn-ghost{border-color:rgba(255,255,255,.55);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.1)}
.btn-blue{background:var(--brand-deep);color:#fff}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .btn-blue{background:var(--brand);color:#06182b}}
:root[data-theme="dark"] .btn-blue{background:var(--brand);color:#06182b}

/* top bar */
.topbar{background:var(--ink);color:#d6e4f6;font-size:14px}
.topbar .wrap{display:flex;gap:8px 24px;justify-content:space-between;align-items:center;flex-wrap:wrap;padding-block:9px}
.topbar a{color:#fff;font-weight:600;text-decoration:none}
.crumbs{font-size:13px}
.crumbs a{color:#9fc3ea;font-weight:500}

/* hero */
.hero{background:linear-gradient(135deg,var(--hero-1),var(--hero-2));color:var(--on-hero);position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;background:var(--sun);opacity:.14}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:44px;padding-block:52px 60px;position:relative;z-index:1;align-items:start}
.hero .eyebrow{color:var(--sun)}
.hero h1{font-size:clamp(34px,5vw,56px);font-weight:800;letter-spacing:-.015em;margin-block:12px 18px}
.hero h1 em{font-style:normal;color:var(--sun)}
.hero .lede{font-size:18px;color:var(--on-hero-muted);max-width:60ch}
.ticks{list-style:none;padding:0;margin:22px 0 28px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
.ticks li{display:flex;gap:10px;align-items:flex-start;font-weight:500}
.ticks svg{flex:none;margin-top:3px}
.cta-row{display:flex;flex-wrap:wrap;gap:12px}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:34px}
.fact{border-top:3px solid var(--sun);padding-top:10px}
.fact b{display:block;font:800 clamp(24px,3vw,32px)/1.1 var(--f-display);font-variant-numeric:tabular-nums}
.fact span{font-size:13.5px;color:var(--on-hero-muted)}

/* lead form */
.lead{background:var(--surface);color:var(--fg);border-radius:18px;padding:26px;box-shadow:0 24px 60px rgba(4,16,34,.35)}
.lead h2{font-size:24px;font-weight:800}
.lead .sub{color:var(--muted);font-size:14.5px;margin:6px 0 18px}
.field{display:grid;gap:5px;margin-bottom:12px}
.field label{font-size:13.5px;font-weight:600}
.field input,.field select,.field textarea{font:inherit;color:var(--fg);background:var(--bg);border:1.5px solid var(--line);border-radius:10px;padding:11px 13px;width:100%;min-width:0}
.field textarea{resize:vertical;min-height:70px}
.lead .btn{width:100%;justify-content:center;margin-top:4px}
.lead .fine{font-size:12.5px;color:var(--muted);margin-top:10px}
.ok{display:none;background:var(--good-bg);color:var(--good);border-radius:10px;padding:12px 14px;font-weight:600;margin-top:12px}
.ok.show{display:block}

/* answer box */
.answer{display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px;background:var(--surface-2);border:1.5px solid var(--line);border-radius:18px;padding:28px}
.answer .q{font:800 54px/1 var(--f-display);color:var(--brand)}
.answer h2{font-size:clamp(22px,2.6vw,30px);margin-bottom:10px}
.answer p{max-width:75ch}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.chip{font-size:13.5px;font-weight:600;padding:6px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--line)}

/* key facts grid */
.kgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}
.kcard{background:var(--bg);border:1.5px solid var(--line);border-radius:14px;padding:20px;display:grid;gap:6px;align-content:start}
.alt .kcard{background:var(--bg)}
.kcard .big{font:800 34px/1 var(--f-display);color:var(--brand);font-variant-numeric:tabular-nums}
.kcard h3{font-size:17px}
.kcard p{color:var(--muted);font-size:14.5px}

/* process timeline */
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;position:relative}
.steps::before{content:"";position:absolute;left:4%;right:4%;top:27px;height:4px;background:linear-gradient(90deg,var(--seg-a),var(--sun));border-radius:4px}
.step{position:relative;padding:0 8px;text-align:center;display:grid;gap:8px;justify-items:center;align-content:start}
.dot{width:56px;height:56px;border-radius:50%;background:var(--surface);border:4px solid var(--brand);display:grid;place-items:center;font:800 20px var(--f-display);color:var(--brand);position:relative;z-index:1}
.step:last-child .dot{background:var(--sun);border-color:var(--sun);color:#1c1500}
.step h3{font-size:15.5px}
.step p{font-size:13.5px;color:var(--muted)}
.when{font-family:var(--f-mono);font-size:12px;font-weight:600;background:var(--surface-2);padding:3px 9px;border-radius:999px;color:var(--brand-deep)}
.note{font-size:13.5px;color:var(--muted);margin-top:22px}

/* fees */
.fee-wrap{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px;align-items:start;margin-bottom:34px}
.calc{background:var(--bg);border:1.5px solid var(--line);border-radius:18px;padding:24px}
.calc label{font-weight:700;font-size:14px}
.calc select{font:inherit;color:var(--fg);background:var(--surface);border:1.5px solid var(--line);border-radius:10px;padding:11px 13px;width:100%;margin-top:6px}
.total{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-block:18px 14px}
.total b{font:800 clamp(36px,5vw,50px)/1 var(--f-display);font-variant-numeric:tabular-nums}
.total span{color:var(--muted);font-size:14px}
.bar{display:flex;height:30px;border-radius:8px;overflow:hidden;background:var(--line)}
.bar i{display:block;height:100%;transition:width .35s ease}
.legend{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:9px}
.legend li{display:flex;align-items:center;gap:10px;font-size:14.5px}
.legend .sw{width:14px;height:14px;border-radius:4px;flex:none}
.legend .amt{margin-left:auto;font-family:var(--f-mono);font-weight:600;font-variant-numeric:tabular-nums}
.included{display:grid;gap:12px}
.included h3{font-size:20px}
.included ul{margin:0;padding:0;list-style:none;display:grid;gap:9px}
.included li{display:flex;gap:10px}
.included li svg{flex:none;margin-top:4px}
.tbl{overflow-x:auto;border:1.5px solid var(--line);border-radius:14px;background:var(--surface)}
table{border-collapse:collapse;width:100%;min-width:640px;font-size:15px}
caption{text-align:left;padding:16px 18px;font:700 17px var(--f-display);caption-side:top}
th,td{padding:11px 16px;text-align:right;border-top:1px solid var(--line);font-variant-numeric:tabular-nums}
thead th{background:var(--surface-2);font-size:13px;line-height:1.3;vertical-align:bottom;border-top:0}
th:first-child,td:first-child{text-align:left}
tbody th{font-weight:600}
td.tot{font-weight:700;font-family:var(--f-mono)}
tbody tr:hover{background:var(--surface-2)}
tr.sel{background:color-mix(in srgb,var(--sun) 28%,transparent)}
.cmp td,.cmp th{text-align:left}
.cmp td:nth-child(2),.cmp th:nth-child(2){background:color-mix(in srgb,var(--brand) 9%,transparent)}
.cmp thead th:nth-child(2){background:var(--brand-deep);color:#fff}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cmp thead th:nth-child(2){color:#06182b;background:var(--brand)}}
:root[data-theme="dark"] .cmp thead th:nth-child(2){color:#06182b;background:var(--brand)}

/* benefits */
.bgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
.bcard{border-radius:16px;padding:24px;display:grid;gap:10px;align-content:start;color:#fff}
.bcard h3{font-size:19px}
.bcard p{font-size:14.5px;opacity:.93}
.bcard .ic{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.2);display:grid;place-items:center}
.b1{background:#007a93}.b2{background:#33475b}.b3{background:#d9431b}.b4{background:#9a5b00}.b5{background:#2d3e50}.b6{background:#5c6bc0}

/* documents + compliance */
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.panel{background:var(--bg);border:1.5px solid var(--line);border-radius:16px;padding:24px}
.panel h3{font-size:20px;margin-bottom:12px}
.panel h4{font-size:15px;margin:14px 0 6px;color:var(--brand)}
.checks{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.checks li{display:flex;gap:10px}
.checks svg{flex:none;margin-top:4px}
.cal{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.cal div{background:var(--surface);border:1.5px solid var(--line);border-radius:14px;padding:18px;display:grid;gap:6px;align-content:start}
.cal b{font:700 13px var(--f-mono);color:var(--brand);letter-spacing:.04em;text-transform:uppercase}
.cal h3{font-size:17px}
.cal p{font-size:14px;color:var(--muted)}

/* why */
.why{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:36px;align-items:center}
.why ul{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:14px}
.why li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px}
.why li b{display:block}
.why li span{color:var(--muted);font-size:15px}
.why .ico{width:40px;height:40px;border-radius:50%;background:var(--sun);display:grid;place-items:center;color:#1c1500}
.cardphone{background:linear-gradient(135deg,var(--hero-1),var(--hero-2));color:#fff;border-radius:20px;padding:30px;display:grid;gap:14px}
.cardphone h3{font-size:26px}
.cardphone p{color:var(--on-hero-muted)}
.cardphone .num{font:600 24px var(--f-mono);color:var(--sun);text-decoration:none}

/* faq */
.faq{border:1.5px solid var(--line);border-radius:14px;background:var(--surface);margin-bottom:10px}
.faq summary{list-style:none;cursor:pointer;padding:16px 20px;display:flex;justify-content:space-between;gap:16px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary h3{font-size:17px;font-family:var(--f-body);font-weight:600;text-wrap:pretty}
.faq summary::after{content:"+";font:700 24px var(--f-display);color:var(--brand);flex:none}
.faq[open] summary::after{content:"\2212"}
.faq p{padding:0 20px 18px;color:var(--muted);max-width:80ch}

/* cta + footer */
.ctaband{background:var(--sun);color:#2d3e50;padding-block:52px;text-align:left;border-block:6px solid #2d3e50}
.ctaband .wrap{display:flex;flex-wrap:wrap;gap:20px 40px;justify-content:space-between;align-items:center}
.ctaband h2{font-size:clamp(24px,3vw,34px);font-weight:800;max-width:24ch;color:#2d3e50}
.ctaband p{color:#3a2e00;margin-top:8px;max-width:56ch;font-weight:500}
.ctaband .btn{background:#2d3e50;color:#fff}
.ctaband .btn:hover{background:#005f73}
.ctaband :focus-visible{outline-color:#2d3e50}
.disc{font-size:13.5px;color:var(--muted)}
.disc h2{font-size:18px;color:var(--fg);margin-bottom:10px}
.disc p+p{margin-top:8px}
footer{background:var(--ink);color:#c5d6ec;padding-block:30px;font-size:14.5px}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 30px}
footer a{color:#fff;font-weight:600}

/* preview notes */
.seo{border:2px dashed var(--brand);border-radius:16px;padding:24px;background:var(--surface)}
.seo h2{font-size:22px;margin-bottom:6px}
.seo dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 20px;margin:16px 0 0;font-size:14.5px}
.seo dt{font-weight:700}
.seo dd{margin:0;color:var(--muted);overflow-wrap:anywhere}
.seo code{font-family:var(--f-mono);font-size:13px;background:var(--surface-2);padding:1px 6px;border-radius:5px;color:var(--fg)}
.pill{display:inline-block;font:600 12px var(--f-mono);background:var(--sun);color:#1c1500;border-radius:999px;padding:3px 10px;margin-bottom:10px;letter-spacing:.04em}

@media (max-width:980px){
  .hero .wrap,.fee-wrap,.why{grid-template-columns:minmax(0,1fr)}
  .steps{grid-template-columns:minmax(0,1fr);gap:22px}
  .steps::before{left:27px;right:auto;top:6%;bottom:6%;width:4px;height:auto;background:linear-gradient(180deg,var(--seg-a),var(--sun))}
  .step{grid-template-columns:56px minmax(0,1fr);text-align:left;justify-items:start;column-gap:16px;padding:0}
  .step .dot{grid-row:1 / span 3}
  .two{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
  .band{padding-block:40px}
  .ticks{grid-template-columns:minmax(0,1fr)}
  .facts{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .answer{grid-template-columns:minmax(0,1fr)}
  .answer .q{font-size:40px}
  .seo dl{grid-template-columns:minmax(0,1fr)}
  .lead{padding:20px}
}
@media (prefers-reduced-motion:reduce){.bar i{transition:none}}

/* four-colour bright variant */
:root{--zr:#ff5c35;--zg:#00a4bd;--zb:#007a93;--zy:#ffc53a;--hbg1:#fffaf7;--hbg2:#ffece3;--hfg:#2d3e50;--hmuted:#516f90;--hbtn:#2d3e50;--cta-bg:#2d3e50;--cta-p:#cbd3df}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--zr:#ff7a59;--zg:#2cc3d9;--zb:#4fc3d8;--hbg1:#16212e;--hbg2:#1c2a3a;--hfg:#eaf0f6;--hmuted:#a9bdd1;--hbtn:#ffffff;--cta-bg:#1c2a3a}}
:root[data-theme="dark"]{--zr:#ff7a59;--zg:#2cc3d9;--zb:#4fc3d8;--hbg1:#16212e;--hbg2:#1c2a3a;--hfg:#eaf0f6;--hmuted:#a9bdd1;--hbtn:#ffffff;--cta-bg:#1c2a3a}
.topbar{border-bottom:4px solid;border-image:linear-gradient(90deg,#ff5c35 0 25%,#00a4bd 25% 50%,#007a93 50% 75%,#ffc53a 75% 100%) 1}
.hero{background:linear-gradient(180deg,var(--hbg1),var(--hbg2));color:var(--hfg)}
.hero::after{display:none}
.hero .eyebrow{color:var(--zr)}
.hero h1 em{color:var(--zr)}
.hero .lede,.fact span{color:var(--hmuted)}
.hero .btn-ghost{border-color:var(--hbtn);color:var(--hbtn)}
.hero .btn-ghost:hover{background:var(--surface-2)}
.btn-sun{background:var(--zr);color:#fff}
.btn-sun:hover{filter:brightness(.92)}
.fact:nth-child(1){border-top-color:var(--zr)}.fact:nth-child(2){border-top-color:var(--zg)}.fact:nth-child(3){border-top-color:var(--zb)}
.lead{border:1.5px solid var(--line);box-shadow:0 18px 44px rgba(28,36,48,.14)}
.eyebrow{color:var(--zr)}
.cardphone{background:var(--cta-bg)}
.cardphone p{color:var(--cta-p)}
.cardphone .num{color:var(--zy)}
.cardphone .btn-ghost{border-color:#fff;color:#fff}
.ctaband{background:var(--cta-bg);color:#fff;border-block:0;border-top:6px solid;border-image:linear-gradient(90deg,#ff5c35 0 25%,#00a4bd 25% 50%,#007a93 50% 75%,#ffc53a 75% 100%) 1}
.ctaband h2{color:#fff}
.ctaband p{color:var(--cta-p)}
.ctaband .btn{background:var(--zr);color:#fff}
.ctaband .btn:hover{background:#e8481f}
.ctaband :focus-visible{outline-color:#fff}
.kcard:nth-child(4n+1) .big{color:var(--zr)}.kcard:nth-child(4n+2) .big{color:var(--zg)}.kcard:nth-child(4n+3) .big{color:var(--zb)}.kcard:nth-child(4n) .big{color:#b87400}
.step:last-child .dot{background:var(--zy);border-color:var(--zy)}
.cmp thead th:nth-child(2){background:var(--zb)}
.pill{background:var(--zy)}

/* booking popup + inline embed */
button.btn{font-family:var(--f-body)}
.book-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:32px;align-items:start}
.book-box{border:1.5px solid var(--line);border-radius:18px;background:var(--surface);min-height:360px;padding:12px;overflow:hidden}
.book-fb{display:grid;gap:10px;justify-items:start;padding:22px;color:var(--muted)}
.book-fb[hidden]{display:none}
dialog.book-dlg{border:0;border-radius:20px;padding:0;width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 32px);background:var(--surface);color:var(--fg);box-shadow:0 30px 80px rgba(0,0,0,.45)}
dialog.book-dlg::backdrop{background:rgba(6,12,24,.62)}
.book-dlg header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}
.book-dlg h2{font-size:20px;font-weight:800}
.book-dlg .x{font:700 22px/1 var(--f-body);background:var(--surface-2);color:var(--fg);border:0;border-radius:50%;width:38px;height:38px;cursor:pointer}
.book-dlg .body{padding:12px 16px 18px;overflow:auto;max-height:calc(100vh - 120px)}
@media (max-width:980px){.book-grid{grid-template-columns:minmax(0,1fr)}}

/* card hover effects */
.kcard,.bcard,.panel,.cal div,.calc,.answer,.faq,.book-box,.fact,.cardphone,.lead,.step{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background-color .25s ease}
.bcard .ic,.step .dot{transition:transform .3s ease,background-color .25s ease,color .25s ease}
.faq summary h3{transition:color .2s ease}
@media (hover:hover){
  .kcard:hover,.panel:hover,.cal div:hover,.calc:hover,.answer:hover,.book-box:hover{transform:translateY(-6px);box-shadow:0 18px 38px rgba(8,18,38,.18);border-color:var(--brand)}
  .bcard:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 22px 44px rgba(8,18,38,.32)}
  .bcard:hover .ic{transform:rotate(-8deg) scale(1.12);background:rgba(255,255,255,.32)}
  .fact:hover{transform:translateY(-4px)}
  .cardphone:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(8,18,38,.35)}
  .lead:hover{transform:translateY(-4px)}
  .step:hover{transform:translateY(-6px)}
  .step:hover .dot{transform:scale(1.12);background:var(--brand);color:#fff;border-color:var(--brand)}
  .step:last-child:hover .dot{background:var(--sun);color:#1c1500;border-color:var(--sun)}
  .faq:hover{border-color:var(--brand);box-shadow:0 10px 26px rgba(8,18,38,.14)}
  .faq:hover summary h3{color:var(--brand)}
  .chip{transition:transform .2s ease,border-color .2s ease}
  .chip:hover{transform:translateY(-2px);border-color:var(--brand)}
  .btn{transition:transform .2s ease,box-shadow .2s ease,filter .2s ease,background-color .2s ease}
  .btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(8,18,38,.28)}
  tbody tr{transition:background-color .15s ease}
}
.kcard:focus-within,.faq:focus-within{border-color:var(--brand)}
@media (prefers-reduced-motion:reduce){
  .kcard,.bcard,.panel,.cal div,.calc,.answer,.faq,.book-box,.fact,.cardphone,.lead,.step,.btn,.chip{transition:none}
  .kcard:hover,.bcard:hover,.panel:hover,.cal div:hover,.calc:hover,.answer:hover,.book-box:hover,.fact:hover,.cardphone:hover,.lead:hover,.step:hover,.btn:hover,.chip:hover,.bcard:hover .ic,.step:hover .dot{transform:none}
}

/* orange button set */
.hero .btn-sun,.lead .btn-sun,.cardphone .btn-sun,.band .btn-sun,.btn-blue,.band.alt .btn-blue{background:#ff5c35;color:#fff;border-color:#ff5c35}
.hero .btn-sun:hover,.lead .btn-sun:hover,.cardphone .btn-sun:hover,.band .btn-sun:hover,.btn-blue:hover,.band.alt .btn-blue:hover{background:#e8481f;border-color:#e8481f;filter:none}
.ctaband .btn,.ctaband .btn.btn-sun{background:#ff5c35;color:#fff}
.ctaband .btn:hover{background:#e8481f}

/* orange-and-navy palette tweaks */
.eyebrow,.hero .eyebrow,.hero h1 em{color:#d4411a}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .eyebrow,:root:not([data-theme="light"]) .hero .eyebrow,:root:not([data-theme="light"]) .hero h1 em{color:#ff7a59}}
:root[data-theme="dark"] .eyebrow,:root[data-theme="dark"] .hero .eyebrow,:root[data-theme="dark"] .hero h1 em{color:#ff7a59}
.hero .btn-ghost{border-color:#33475b;color:#33475b}
.btn{border-radius:8px}
.hero .btn-ghost:hover{background:#eaf0f6}
.kcard:nth-child(4n+4) .big{color:#b86100}
.step:last-child .dot{color:#2d3e50}

/* ---- orange buttons and serif headings on the contrast palette: light and dark bands, indigo and amber ---- */
:root{--f-display:"Newsreader",Georgia,"Times New Roman",serif;--f-body:"DM Sans","Segoe UI",system-ui,sans-serif;
  --ink:#0b1220;--brand:#4338ca;--brand-deep:#3730a3;--sun:#f6c453;--sun-ink:#1c1500;
  --bg:#ffffff;--surface:#ffffff;--surface-2:#eef0f8;--fg:#0b1220;--muted:#475069;--line:#d9deea;
  --seg-a:#4338ca;--seg-b:#d99a00;--seg-c:#0f9d6e;--seg-d:#d9462b;--zr:#ff4800;--zg:#0f9d6e;--zb:#4338ca;--zy:#f6c453;--good:#0f766e;--good-bg:#d8efe9}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0b1220;--surface:#151f36;--surface-2:#1d2a47;--fg:#eef1fb;--muted:#aab4d0;--line:#2b3a5c;--brand:#a5b4fc;--brand-deep:#c7d2fe;--seg-a:#818cf8;--seg-b:#fbbf24;--seg-c:#34d399;--seg-d:#fb7185;--good:#5fd6cf;--good-bg:#10393a;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#0b1220;--surface:#151f36;--surface-2:#1d2a47;--fg:#eef1fb;--muted:#aab4d0;--line:#2b3a5c;--brand:#a5b4fc;--brand-deep:#c7d2fe;--seg-a:#818cf8;--seg-b:#fbbf24;--seg-c:#34d399;--seg-d:#fb7185;--good:#5fd6cf;--good-bg:#10393a;color-scheme:dark}
body{font-family:var(--f-body)}
h1,h2,h3,h4{font-family:var(--f-display);font-weight:300;letter-spacing:-.01em}
.kcard h3,.step h3,.bcard h3,.cal h3,.panel h3,.included h3,.cardphone h3,.lead h2,.faq summary h3,.why li b,.book-dlg h2,.seo h2,.disc h2,caption{font-family:var(--f-body);font-weight:500;letter-spacing:0}
.hero h1{font-weight:300;font-size:clamp(36px,5vw,56px);line-height:1.1}
.sec-head h2,.answer h2,.why h2,#book h2,.ctaband h2{font-weight:300;font-size:clamp(30px,4vw,44px);line-height:1.12}
.kcard .big,.fact b,.total b,.answer .q{font-family:var(--f-display);font-weight:300}
.eyebrow{font-family:var(--f-body);font-size:14px;font-weight:500;letter-spacing:.04em;color:var(--brand)}
/* light and dark bands */
.band{--bg:#ffffff;--surface:#ffffff;--surface-2:#eef0f8;--fg:#0b1220;--muted:#475069;--line:#d9deea;--brand:#4338ca;--brand-deep:#3730a3;--seg-a:#4338ca;--seg-b:#d99a00;--seg-c:#0f9d6e;--seg-d:#d9462b;background:var(--bg);color:var(--fg)}
.band.alt{--bg:#151f36;--surface:#0b1220;--surface-2:#1d2a47;--fg:#eef1fb;--muted:#aab4d0;--line:#2b3a5c;--brand:#a5b4fc;--brand-deep:#c7d2fe;--seg-a:#818cf8;--seg-b:#fbbf24;--seg-c:#34d399;--seg-d:#fb7185;background:var(--surface);color:var(--fg)}
#process{background:var(--bg);color:var(--fg);--muted:#475069;--line:#d9deea}
.lead{--surface:#ffffff;--bg:#f3f5fa;--fg:#0b1220;--muted:#475069;--line:#d9deea;--brand:#4338ca;color:var(--fg)}
.topbar{background:#0b1220;color:#d6dcf5;border:0;border-image:none;box-shadow:none}
.topbar a,.crumbs a{color:#fff;font-weight:500}
.crumbs a{color:#a8b4f0}
.hero{background:linear-gradient(135deg,#0b1220 0%,#1e1b5c 100%);color:#fff}
.hero .eyebrow{color:var(--sun)}
.hero h1 em{font-style:normal;color:var(--sun)}
.hero .lede,.fact span{color:#cdd3f5}
.fact,.fact:nth-child(n){border-top:2px solid var(--sun)}
.ticks svg circle{fill:#f6c453}
.ticks svg path{stroke:#1c1500}
/* buttons: orange primary, white and orange-outline secondary */
.btn{font-weight:500;font-size:16px;padding:12px 24px;border-radius:8px;border:2px solid transparent}
.btn-sun,.btn-blue,.hero .btn-sun,.lead .btn-sun,.cardphone .btn-sun,.band .btn-sun,.band.alt .btn-blue,.ctaband .btn,.ctaband .btn.btn-sun{background:#ff4800;color:#fff;border-color:transparent}
.btn-sun:hover,.btn-blue:hover,.hero .btn-sun:hover,.lead .btn-sun:hover,.cardphone .btn-sun:hover,.band .btn-sun:hover,.band.alt .btn-blue:hover,.ctaband .btn:hover,.ctaband .btn.btn-sun:hover{background:#e03f00;border-color:transparent;filter:none}
.btn-ghost,.hero .btn-ghost{background:#fff;color:#ff4800;border-color:#ff4800}
.btn-ghost:hover,.hero .btn-ghost:hover{background:#fff1ec}
.cardphone .btn-ghost{background:rgba(255,255,255,.1);color:#f8f5ee;border-color:#f8f5ee}
.cardphone .btn-ghost:hover{background:rgba(255,255,255,.2)}
@media (hover:hover){.btn:hover{transform:none;box-shadow:none}}
/* cards: 16px radius, hairline border */
.kcard,.panel,.calc,.book-box,.cal div,.faq,.answer,.lead,.tbl{border:1px solid var(--line);border-radius:16px;box-shadow:none}
.kcard{padding:32px 32px 24px}
.band .kcard,.band .panel,.band .calc,.band .book-box,.band .cal div,.band .faq,.band .tbl{background:var(--surface)}
.band.alt .kcard,.band.alt .panel,.band.alt .calc,.band.alt .book-box,.band.alt .cal div,.band.alt .faq{background:var(--bg)}
.band.alt .tbl{background:var(--bg)}
.band .answer{background:var(--surface-2)}
.lead{background:#fff;box-shadow:0 18px 44px rgba(4,8,24,.35)}
.lead .field input,.lead .field select,.lead .field textarea{border-radius:8px}
.kcard .big,.kcard:nth-child(n) .big{color:var(--brand)}
.band.alt .kcard .big,.band.alt .kcard:nth-child(n) .big{color:var(--sun)}
@media (hover:hover){.kcard:hover,.panel:hover,.cal div:hover,.calc:hover,.answer:hover,.book-box:hover,.faq:hover,.lead:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(8,18,38,.18);border-color:var(--brand)}
.faq:hover summary h3{color:var(--brand)}}
/* benefit cards */
.bcard{color:#fff;border-radius:16px}
.bcard p{color:#fff;opacity:.93}
.bcard .ic{background:rgba(255,255,255,.2)}
.bcard .ic svg{stroke:#fff}
.b1{background:#4338ca}.b2{background:#0f766e}.b3{background:#be185d}.b4{background:#b45309}.b5{background:#0b1220}.b6{background:#6d28d9}
@media (hover:hover){.bcard:hover{transform:translateY(-4px) scale(1);box-shadow:0 14px 30px rgba(8,18,38,.32)}.bcard:hover .ic{transform:none;background:rgba(255,255,255,.3)}}
/* timeline */
.steps::before{background:linear-gradient(90deg,var(--seg-a),var(--sun))}
.dot{background:var(--surface);border-color:var(--brand);color:var(--brand)}
.step:last-child .dot{background:var(--sun);border-color:var(--sun);color:#1c1500}
.when{background:var(--surface-2);color:var(--brand)}
@media (hover:hover){.step:hover .dot{background:var(--brand);color:#fff;border-color:var(--brand)}.step:last-child:hover .dot{background:var(--sun);color:#1c1500;border-color:var(--sun)}}
/* tables, including the comparison table */
thead th{background:var(--surface-2);color:var(--fg)}
tbody th,tbody td{color:var(--fg)}
tr.sel{background:color-mix(in srgb,var(--sun) 30%,transparent)}
tbody tr:hover{background:var(--surface-2)}
.cmp thead th:nth-child(2){background:var(--brand);color:#ffffff}
.band.alt .cmp thead th:nth-child(2){background:var(--brand);color:#0b1220}
.cmp tbody td:nth-child(2),.cmp tbody th:nth-child(2){background:color-mix(in srgb,var(--brand) 14%,transparent);color:var(--fg);font-weight:600}
.chip{border-radius:8px;background:var(--surface)}
/* cta, cards, footer */
.ctaband{background:linear-gradient(135deg,#0b1220 0%,#1e1b5c 100%);color:#fff;border:0;border-image:none}
.ctaband h2{color:#fff}
.ctaband p{color:#cdd3f5}
.cardphone{background:linear-gradient(135deg,#0b1220,#2a2780);border-radius:16px}
.cardphone .num{color:var(--sun);font-family:var(--f-display);font-weight:300}
footer{background:#0b1220;color:#c5cde8}
.pill{background:var(--sun);color:#1c1500}
.seo{background:var(--surface);color:var(--fg)}

/* ===== Deo & Associates additions on the reference palette ===== */
:root{--accent:#ff4800;--navy:#1B2742;--navy-2:#3A3A94;--navy-3:#4745B0}
html{scroll-behavior:smooth;scroll-padding-top:90px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip:focus{position:fixed;left:12px;top:12px;width:auto;height:auto;clip:auto;background:#fff;color:#0b1220;padding:10px 14px;border-radius:8px;z-index:100}
.btn-sm{padding:9px 16px;font-size:15px}
.btn-block{width:100%;justify-content:center}
a.btn{text-decoration:none}
.fine{font-size:13px;color:var(--muted)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hidden-step{display:none}
.form-ok{display:none;background:var(--good-bg);color:var(--good);border-radius:10px;padding:12px 14px;font-weight:500;margin-top:12px}
.form-ok.show{display:block}
.field input.bad,.field select.bad{border-color:#d9462b}
.kcard ul{margin:6px 0 0;padding-left:18px;font-size:14.5px;color:var(--muted);display:grid;gap:3px}
.kcard a.more{font-weight:500;color:var(--brand);text-decoration:none;margin-top:8px}
.kcard a.more:hover{text-decoration:underline}
a.kcard{text-decoration:none;color:inherit}
a.kcard h3{color:var(--fg)}
.kcard .big svg{display:block}
.leftt td,.leftt th{text-align:left;vertical-align:top}
.steps.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.steps.three::before{left:17%;right:17%}
.steps.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.steps.four::before{left:12.5%;right:12.5%}
.steps.five{grid-template-columns:repeat(5,minmax(0,1fr))}
.steps.five::before{left:10%;right:10%}
.steps.six{grid-template-columns:repeat(6,minmax(0,1fr))}
.steps.six::before{left:8%;right:8%}
.answer blockquote{margin:0;font:300 clamp(20px,2.4vw,26px)/1.4 var(--f-display)}
.answer cite{display:block;margin-top:14px;font-style:normal;color:var(--muted);font-size:15px}
.answer ul{margin:12px 0 0;padding-left:20px}
.stars{color:#d99a00;letter-spacing:3px;margin-bottom:8px}
.ctaband{padding-block:56px}
.ctaband .cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.ctaband .lead h2{color:var(--fg);max-width:none;font-size:24px;font-weight:500}
.ctaband .lead .sub{color:var(--muted);margin-top:6px}
.ctaband .lead p{color:var(--muted)}
.ctaband .eyebrow{color:#f6c453}
.contact-list{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:14px}
.contact-list b{font:500 12px/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:#C0C9E4;display:block;margin-bottom:3px}
.contact-list a{color:#fff;font-weight:500}
.cta-inline{display:flex;flex-wrap:wrap;gap:16px 32px;justify-content:space-between;align-items:center}
.cta-inline h2{max-width:26ch}

/* lighter darks */
.topbar{background:var(--navy)}
.hero,.ctaband{background:linear-gradient(135deg,#1B2742 0%,#3A3A94 100%)}
.cardphone{background:linear-gradient(135deg,#1B2742,#4745B0)}
.band.alt{--bg:#26335A;--surface:#1B2742;--surface-2:#32426E;--fg:#eef1fb;--muted:#C0C9E4;--line:#4A5A88;--brand:#a5b4fc;--brand-deep:#c7d2fe;--seg-a:#818cf8;--seg-b:#fbbf24;--seg-c:#34d399;--seg-d:#fb7185;background:var(--surface);color:var(--fg)}
footer{background:var(--navy);color:#c5cde8}

/* header + mega menu (light tint) */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:#EEF0F8;color:#0b1220;border-bottom:1px solid #D9DEEA}
.hbar{display:flex;align-items:center;gap:20px;min-height:72px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;font:700 19px/1.05 var(--f-body);white-space:nowrap}
.logo svg{width:52px;height:auto;flex:none;display:block}
.logo small{display:block;font:500 10.5px/1.2 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:#475069;margin-top:5px}
.nav{display:flex;align-items:center;gap:2px;margin-inline-start:10px}
.nav-item{position:static}
.nav-btn,.nav-link{display:inline-flex;align-items:center;gap:6px;padding:10px 13px;border-radius:8px;background:none;border:0;font:500 16px/1 var(--f-body);color:#0b1220;cursor:pointer;text-decoration:none}
.nav-btn:hover,.nav-link:hover,.nav-btn[aria-expanded="true"],.nav-link[aria-current="page"]{background:#fff}
.chev{width:10px;height:10px;transition:transform .15s}
.nav-btn[aria-expanded="true"] .chev{transform:rotate(180deg)}
.header-cta{margin-inline-start:auto;display:flex;align-items:center;gap:10px}
.burger{display:none;margin-inline-start:auto;background:#fff;border:1px solid #D9DEEA;border-radius:10px;width:44px;height:44px;cursor:pointer;color:#0b1220}
.mega{position:absolute;left:0;right:0;top:100%;background:#EEF0F8;border-bottom:1px solid #D9DEEA;box-shadow:0 14px 30px rgba(8,18,38,.14);display:none}
.mega.open{display:block}
.mega-grid{display:grid;grid-template-columns:repeat(4,1fr) 1.15fr;gap:28px;padding-block:28px}
.mega-3{grid-template-columns:repeat(3,1fr) 1.15fr}
.mega-2{grid-template-columns:repeat(2,1fr) 1.15fr}
.mega h3{font:500 12px/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:#475069;margin-bottom:14px}
.mega ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.mega a{display:block;padding:7px 10px;margin-inline:-10px;border-radius:8px;text-decoration:none;font-weight:500;font-size:15.5px;color:#0b1220}
.mega a:hover{background:#fff;color:#3730a3}
.mega a span{display:block;font-weight:400;font-size:13.5px;color:#475069}
.mega-feature{background:linear-gradient(135deg,#1B2742,#4745B0);color:#fff;border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:12px;justify-content:space-between;align-items:flex-start}
.mega-feature p{color:#E6EAFF;font-size:15px}
.mega-feature h3{color:#C7D2FE;margin:0}
.mega .mega-feature a.btn{color:#fff;margin:0;padding:9px 16px}
.mega .mega-feature a.btn:hover{background:#e03f00;color:#fff}

/* breadcrumbs */
.bc{background:var(--bg-soft,#EEF0F8);border-bottom:1px solid #D9DEEA;font-size:14px}
.bc ol{list-style:none;margin:0;padding:10px 0;display:flex;flex-wrap:wrap;gap:4px 8px;color:#475069}
.bc li+li::before{content:"/";margin-right:8px;color:#9aa3bf}
.bc a{color:#3730a3;text-decoration:none}
.bc a:hover{text-decoration:underline}

/* inner hero */
.hero.sub .wrap{padding-block:40px 48px}
.hero.sub h1{font-size:clamp(32px,4.4vw,48px)}
.hero.plain .wrap{grid-template-columns:minmax(0,1fr)}
.hero.plain .lede{max-width:70ch}

/* prose / articles / legal */
.prose{max-width:780px}
.prose h2{font-size:clamp(26px,3vw,34px);margin:40px 0 14px;font-weight:300}
.prose h3{font-size:20px;margin:26px 0 8px;font-family:var(--f-body);font-weight:500}
.prose p{margin:0 0 16px}
.prose ul,.prose ol{margin:0 0 18px;padding-left:22px;display:grid;gap:6px}
.prose a{color:var(--brand)}
.prose .meta{font:500 13px/1.4 var(--f-mono);color:var(--muted);margin-bottom:22px}
.toc{border:1px solid var(--line);border-radius:14px;padding:18px 22px;background:var(--surface-2);margin:0 0 28px}
.toc b{font:500 12px/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.toc ol{margin:10px 0 0;padding-left:20px;display:grid;gap:4px}
.callout{border-left:4px solid #ff4800;background:#FFF1EC;color:#0b1220;padding:14px 18px;border-radius:0 12px 12px 0;margin:0 0 20px}

/* two-col layout for service body */
.cols{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:40px;align-items:start}
.side{position:sticky;top:96px;display:grid;gap:16px}
.side .panel{padding:20px}
.side h3{font-size:18px;margin-bottom:10px;font-family:var(--f-body);font-weight:500}
.linklist{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.linklist a{color:var(--brand);text-decoration:none;font-weight:500}
.linklist a:hover{text-decoration:underline}
.chips a.chip{text-decoration:none;color:inherit}
.chips a.chip:hover{border-color:var(--brand)}
.checks li{align-items:flex-start}
.checks svg{color:var(--brand)}
.tag{display:inline-block;font:500 12px/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;padding:5px 9px;border-radius:999px;background:var(--surface-2);color:var(--brand-deep);margin-bottom:10px}

/* offices */
.offices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.office{border:1px solid var(--line);border-radius:16px;padding:26px;background:var(--surface)}
.office h3{font-size:22px;margin-bottom:8px;font-family:var(--f-body);font-weight:500}
.office address{font-style:normal;color:var(--muted);margin-bottom:12px}
.office .hours{font-size:14.5px;color:var(--muted);margin:10px 0 14px}
.office .btn{margin-right:8px;margin-top:4px}

/* resources: calendar + chooser */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.fbtn{padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--fg);font:500 14px/1 var(--f-body);cursor:pointer}
.fbtn[aria-pressed="true"]{background:#4338ca;border-color:#4338ca;color:#fff}
.quiz{border:1px solid var(--line);border-radius:16px;padding:26px;background:var(--surface)}
.quiz fieldset{border:0;margin:0 0 18px;padding:0}
.quiz legend{font:500 17px/1.4 var(--f-body);margin-bottom:10px;padding:0}
.opt{display:flex;flex-wrap:wrap;gap:8px}
.opt label{cursor:pointer}
.opt input{position:absolute;opacity:0;pointer-events:none}
.opt span{display:inline-block;padding:10px 16px;border:1px solid var(--line);border-radius:8px;background:var(--bg);font-weight:500}
.opt input:checked+span{background:#4338ca;border-color:#4338ca;color:#fff}
.opt input:focus-visible+span{outline:3px solid #f6c453;outline-offset:2px}
.result{display:none;margin-top:8px;padding:18px 20px;border-radius:12px;background:#E3E6F8;color:#0b1220}
.result.show{display:block}
.result b{font-family:var(--f-display);font-weight:400;font-size:24px;display:block;margin-bottom:6px}
.sticky-first th:first-child,.sticky-first td:first-child{position:sticky;left:0;background:var(--surface);z-index:1}
.tbl td,.tbl th{vertical-align:top}

/* blog */
.post-card{display:grid;gap:10px;align-content:start}
.post-card h3{font-size:22px;font-family:var(--f-display);font-weight:400;line-height:1.25}
.post-card a{text-decoration:none;color:inherit}
.post-card a:hover h3{color:var(--brand)}

/* booking dialog */
dialog#book{border:0;padding:0;border-radius:16px;background:#fff;color:#0b1220;width:min(760px,calc(100vw - 24px));max-height:calc(100dvh - 24px);box-shadow:0 30px 80px rgba(0,0,0,.45)}
dialog#book::backdrop{background:rgba(6,12,24,.62)}
.dlg-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 28px 8px}
.dlg-head h2{font-size:1.9rem;font-weight:300}
.dlg-head p{color:#475069;font-size:15px;margin-top:4px}
.x{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid #D9DEEA;background:none;color:#0b1220;font-size:18px;cursor:pointer}
.x:hover{background:#EEF0F8}
.dlg-body{padding:12px 28px 28px;overflow:auto;max-height:calc(100dvh - 140px);--bg:#f3f5fa;--fg:#0b1220;--muted:#475069;--line:#D9DEEA;--surface-2:#EEF0F8}
#crumbs{display:flex;gap:8px;flex-wrap:wrap;font:500 12px/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:#475069;margin-bottom:16px}
#crumbs span.on{color:#d4411a}
.days{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;margin-bottom:16px}
.day{flex:none;width:68px;padding:10px 0;border-radius:12px;border:1px solid #D9DEEA;background:#f3f5fa;color:#0b1220;cursor:pointer;text-align:center;font:500 13px/1.3 var(--f-body)}
.day b{display:block;font:300 1.5rem/1.2 var(--f-display)}
.day:hover{border-color:#4338ca}
.day[aria-pressed="true"]{background:#4338ca;border-color:#4338ca;color:#fff}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}
.slot{padding:11px 0;border-radius:8px;border:1px solid #D9DEEA;background:#f3f5fa;color:#0b1220;cursor:pointer;font:500 14px/1 var(--f-mono)}
.slot:hover:not(:disabled){border-color:#ff4800}
.slot[aria-pressed="true"]{background:#ff4800;border-color:#ff4800;color:#fff}
.slot:disabled{opacity:.4;text-decoration:line-through;cursor:not-allowed}
.dlg-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px}
.summary{background:#EEF0F8;border-radius:12px;padding:14px 16px;font-size:15px;margin-bottom:16px}
.tz{font:500 12px/1.4 var(--f-mono);color:#475069;margin-bottom:10px}
.banner{background:rgba(246,196,83,.28);border-radius:10px;padding:10px 14px;font-size:13.5px;margin-bottom:14px}
dialog#book .field input,dialog#book .field select,dialog#book .field textarea{border-radius:8px;background:#f3f5fa;color:#0b1220}
dialog#book .field label{color:#0b1220}
dialog#book .fine{color:#475069}
dialog#book .btn-ghost{background:#fff}

/* footer */
footer{padding-block:56px 28px}
.foot-grid{flex:1 1 100%;display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:32px}
footer h4{font:500 12px/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:#AEB9E0;margin-bottom:14px;font-family:var(--f-mono)}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
footer a{font-weight:500;text-decoration:none;color:#fff}
footer a:hover{color:#f6c453;text-decoration:underline}
footer address{font-style:normal;color:#C0C9E4;font-size:14.5px;margin-bottom:12px}
.foot-brand p{color:#C0C9E4;margin-block:14px;max-width:34ch}
.foot-brand .logo{color:#fff}
.foot-brand .logo small{color:#C0C9E4}
.foot-brand .btn{color:#fff}
.foot-brand .btn:hover{text-decoration:none;color:#fff}
.foot-bottom{flex:1 1 100%;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:20px;padding-top:20px;border-top:1px solid #3E4E7E;color:#C0C9E4;font-size:14px}
.foot-bottom a{font-weight:400}
.social{display:flex;gap:10px;margin-top:14px}
.social a{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid #4A5A88;font:500 13px/1 var(--f-mono)}
.foot-note{flex:1 1 100%;color:#9AA8D2;font-size:13px;margin-top:10px}

@media (max-width:1100px){
  .steps.six{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:28px}
  .steps.six::before{display:none}
  .steps.five{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:28px}
  .steps.five::before{display:none}
}
@media (max-width:1020px){
  .nav,.header-cta .btn-ghost{display:none}
  .burger{display:grid;place-items:center}
  .header-cta{margin-inline-start:0}
  .hbar{gap:12px}
  .logo{flex:1}
  .nav.open{display:flex;flex-direction:column;align-items:stretch;position:absolute;left:0;right:0;top:100%;background:#EEF0F8;border-bottom:1px solid #D9DEEA;padding:12px 20px 20px;margin:0;max-height:calc(100dvh - 72px);overflow:auto;gap:2px}
  .nav.open .nav-btn,.nav.open .nav-link{width:100%;justify-content:space-between;padding:14px 12px}
  .mega{position:static;box-shadow:none;border:0;background:transparent}
  .mega-grid,.mega-3,.mega-2{grid-template-columns:1fr;gap:18px;padding-block:8px 16px;padding-inline:12px}
  .mega-feature{display:none}
  .cols{grid-template-columns:minmax(0,1fr)}
  .side{position:static}
}
@media (max-width:980px){
  .steps.three,.steps.four,.steps.five,.steps.six{grid-template-columns:minmax(0,1fr);gap:22px}
  .steps.three::before,.steps.four::before,.steps.five::before,.steps.six::before{left:27px;right:auto}
  .steps.five::before,.steps.six::before{display:block}
  .ctaband .cta-grid,.offices{grid-template-columns:minmax(0,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr}
  .foot-brand{grid-column:1/-1}
}
@media (max-width:560px){
  .row2{grid-template-columns:1fr}
  .logo small{display:none}
  .logo svg{width:44px}
  .logo{font-size:17px}
  .header-cta .btn-sm{padding:9px 12px;font-size:14px}
  .dlg-head,.dlg-body{padding-inline:18px}
  .foot-grid{grid-template-columns:1fr}
  .hero .btn,.cta-row .btn{width:100%;justify-content:center}
}
@media print{.site-header,.topbar,footer,.ctaband,dialog{display:none!important}}
.pvbar{background:#1B2742;color:#fff;text-align:center;font:500 13px/1.4 var(--f-body);padding:8px 16px}
html,body{margin:0;padding:0;overflow-x:clip}
.tbl{overflow-x:auto;-webkit-overflow-scrolling:touch}
@media(max-width:700px){.topbar{display:none}.hbar>.btn,.hbar .btn-sm[data-book]{display:none}.pvbar{font-size:12px;padding:6px 12px}.hbar{gap:8px}}
.btn,.nav-btn,.nav-link{white-space:nowrap}
/* readable text on dark alt bands */
.band.alt .eyebrow{color:#f6c453}
.band.alt .sec-head p,.band.alt .step p,.band.alt>.wrap>p,.band.alt .sec-head+p{color:#cdd3f5}
.band.alt .step .when{color:#cdd3f5}

/* quote dialog shares booking dialog styles */
/* booking dialog */
dialog#qdlg{border:0;padding:0;border-radius:16px;background:#fff;color:#0b1220;width:min(760px,calc(100vw - 24px));max-height:calc(100dvh - 24px);box-shadow:0 30px 80px rgba(0,0,0,.45)}
dialog#qdlg::backdrop{background:rgba(6,12,24,.62)}
dialog#qdlg .field input,dialog#qdlg .field select,dialog#qdlg .field textarea{border-radius:8px;background:#f3f5fa;color:#0b1220}
dialog#qdlg .field label{color:#0b1220}
dialog#qdlg .fine{color:#475069}
dialog#qdlg .btn-ghost{background:#fff}

dialog#qdlg{width:min(520px,calc(100vw - 24px))}
.mbar{display:none}
@media(max-width:700px){.mbar{display:flex;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:#EEF0F8;border-top:1px solid #D9DEEA;box-shadow:0 -6px 20px rgba(27,39,66,.12)}.mbar .btn{flex:1;justify-content:center;padding:12px 8px;font-size:14px;white-space:nowrap}body{padding-bottom:72px}}
/* sticky header + mobile menu like bizsetups */
.nav-cta{display:none}
.header-cta .l-short{display:none}
@media(max-width:1020px){
.site-header{position:sticky;top:0;z-index:60}
.hbar .header-cta{display:flex;margin-inline-start:auto;gap:8px}
.hbar .header-cta .btn-ghost{display:none}
.hbar .header-cta .btn-sun.btn-sm{display:inline-flex;padding:10px 16px;font-size:14px;border-radius:999px;white-space:nowrap}
.header-cta .l-long{display:none}.header-cta .l-short{display:inline}
.burger{margin-inline-start:0;border-radius:999px;background:#EEF0F8;border-color:#D9DEEA}
.nav.open{position:fixed;left:0;right:0;top:var(--hh,72px);bottom:0;height:auto;max-height:none;background:#fff;padding:0 20px;border:0;margin:0;overflow-y:auto;display:flex;flex-direction:column;align-items:stretch;gap:0;z-index:59}
.nav.open .nav-item{border-bottom:1px solid #E3E7F0}
.nav.open .nav-btn,.nav.open .nav-link{width:100%;justify-content:space-between;padding:18px 2px;font-size:18px;font-weight:500;border-radius:0;background:none}
.nav.open .nav-btn .chev{width:14px;height:14px;color:#475069;transform:rotate(-90deg);transition:transform .2s}
.nav.open .nav-btn[aria-expanded="true"] .chev{transform:rotate(90deg)}
.nav.open .mega.open{display:block;padding-bottom:10px}
.nav.open .mega a{padding:12px 6px;font-size:16px;margin-inline:0}
.nav.open .mega h3{margin:14px 6px 6px}
.nav.open .nav-cta{display:block;margin-top:auto;position:sticky;bottom:0;background:#fff;border-top:1px solid #E3E7F0;padding:14px 0 calc(16px + env(safe-area-inset-bottom,0px))}
.nav.open .nav-cta .btn{width:100%;justify-content:center;padding:15px 18px;font-size:16px;border-radius:12px}
.nav.open{overscroll-behavior:contain}
}

@media(max-width:480px){.hbar{gap:6px;min-height:64px}.hbar .logo{min-width:0;flex:1 1 auto;gap:6px}.hbar .logo svg{width:34px;height:30px;flex:none}.hbar .logo span{font-size:14.5px;line-height:1.15;white-space:normal}.hbar .logo small{display:none}.hbar .header-cta{flex:none}.hbar .header-cta .btn-sun.btn-sm{padding:9px 12px;font-size:13px}.burger{width:40px;height:40px;flex:none}}

/* mobile: dialogs as full-height sheets, keyboard-safe */
@media(max-width:700px){
dialog#book[open],dialog#qdlg[open]{position:fixed;inset:0;margin:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh;border-radius:0;display:flex;flex-direction:column;overflow:hidden}
dialog#book .dlg-head,dialog#qdlg .dlg-head{flex:none;padding:14px 16px 8px}
dialog#book .dlg-head h2,dialog#qdlg .dlg-head h2{font-size:1.35rem}
dialog#book .dlg-head p,dialog#qdlg .dlg-head p{font-size:13.5px}
dialog#book .dlg-body,dialog#qdlg .dlg-body{flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:8px 16px calc(24px + env(safe-area-inset-bottom,0px))}
.field input,.field select,.field textarea{font-size:16px}
body:has(input:focus,select:focus,textarea:focus) .mbar{display:none}
.field input,.field select,.field textarea{scroll-margin-top:96px;scroll-margin-bottom:40vh}
}

/* booking popup (Nimbus Pop embed) */
dialog#book{width:min(880px,calc(100vw - 24px))}
dialog#book .dlg-body{padding-top:8px}
#inline-container{min-height:160px}
#inline-container iframe{display:block;width:100%;border:0;border-radius:12px;background:#fff}
@media(max-width:700px){dialog#book .dlg-body{padding-left:8px;padding-right:8px}#inline-container iframe{border-radius:8px}}

/* popups: always fit the screen, scroll inside */
dialog#book[open],dialog#qdlg[open]{display:flex;flex-direction:column;overflow:hidden;max-height:calc(100dvh - 24px)}
dialog#book[open]{height:min(780px,calc(100dvh - 24px))}
dialog#book .dlg-head,dialog#qdlg .dlg-head{flex:none}
dialog#book .dlg-body,dialog#qdlg .dlg-body{flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
dialog#book .dlg-body{overflow:hidden;padding-bottom:12px;display:flex;flex-direction:column}
dialog#book #inline-container{flex:1 1 auto;min-height:0;height:100%}
dialog#book #inline-container iframe{height:100%!important;min-height:0}
@media(max-width:700px){dialog#book[open]{height:100dvh;max-height:100dvh}dialog#book .dlg-body{padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}}

/* mobile call-back form: compact, fits one screen */
@media(max-width:700px){
dialog#qdlg .dlg-head{padding:10px 14px 2px}
dialog#qdlg .dlg-head h2{font-size:1.2rem;line-height:1.2}
dialog#qdlg .dlg-head p{display:none}
dialog#qdlg .x{width:34px;height:34px}
dialog#qdlg .dlg-body{padding:4px 14px calc(10px + env(safe-area-inset-bottom,0px))}
dialog#qdlg .lead-form{display:grid;grid-template-columns:1fr 1fr;column-gap:10px;row-gap:0}
dialog#qdlg .lead-form>.field:nth-of-type(1),dialog#qdlg .lead-form>.row2,dialog#qdlg .lead-form>.field:nth-of-type(5),dialog#qdlg .lead-form>.btn,dialog#qdlg .lead-form>.form-ok,dialog#qdlg .lead-form>.fine{grid-column:1/-1}
dialog#qdlg .field{margin:0 0 7px}
dialog#qdlg .row2{gap:10px;margin:0}
dialog#qdlg .field label{font-size:12px;margin:0 0 2px;line-height:1.2}
dialog#qdlg .field input,dialog#qdlg .field select{height:40px;padding:6px 10px;font-size:16px}
dialog#qdlg .field textarea{height:54px;min-height:0;padding:7px 10px;font-size:16px}
dialog#qdlg .lead-form>.btn{margin-top:2px;padding:12px 16px}
dialog#qdlg .lead-form .fine,dialog#qdlg .dlg-body>.fine{display:none}
dialog#qdlg .form-ok{margin:8px 0 0;padding:8px 10px;font-size:13.5px}
}

/* blog post content */
.prose figure{margin:22px 0}.prose figure img{display:block;max-width:100%;height:auto;border-radius:12px}.prose figcaption{font-size:13px;opacity:.7;margin-top:6px}
.prose .tbl{overflow-x:auto;margin:18px 0}.prose table{border-collapse:collapse;width:100%;min-width:480px;font-size:15px}.prose th,.prose td{border:1px solid rgba(120,130,160,.35);padding:8px 10px;text-align:left;vertical-align:top}.prose th{background:rgba(67,56,202,.10)}

/* blog cards: graphic header, three per row */
.post-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:26px!important}
@media(max-width:980px){.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:620px){.post-grid{grid-template-columns:1fr!important;gap:20px!important}}
.post-card{padding:0!important;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.post-card .pc-img{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;aspect-ratio:16/9;padding:16px 18px;color:#fff;text-decoration:none;overflow:hidden;background:linear-gradient(135deg,var(--c1),var(--c2))}
.post-card .pc-img::before{content:"";position:absolute;width:210px;height:210px;border-radius:50%;right:-60px;top:-70px;background:radial-gradient(circle at 30% 30%,rgba(246,196,83,.55),rgba(246,196,83,0) 70%)}
.post-card .pc-img::after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;left:-40px;bottom:-60px;background:rgba(255,255,255,.10)}
.post-card .pc-ic{position:absolute;top:14px;right:16px;width:50px;height:50px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.18);backdrop-filter:blur(2px);z-index:1}
.post-card .pc-k{position:relative;z-index:1;font:500 11px/1 "IBM Plex Mono",monospace;letter-spacing:.14em;text-transform:uppercase;color:#f6c453}
.post-card .pc-img b{position:relative;z-index:1;font:400 clamp(18px,1.9vw,23px)/1.2 Newsreader,Georgia,serif;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;max-width:92%}
.post-card .pc-body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.post-card .pc-body h3{font-size:1.15rem;line-height:1.3;margin:0}
.post-card .pc-body .fine{margin-top:auto}

/* blog layout v2 */
.bp-hero{position:relative;overflow:hidden;color:#fff;padding:46px 0 42px;background:linear-gradient(135deg,#0d1530 0%,#1B2742 55%,#3A3A94 100%)}
.bp-hero::after{content:"";position:absolute;right:-100px;top:-110px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(246,196,83,.38),rgba(246,196,83,0) 68%)}
.bp-hero .wrap{position:relative;z-index:1}
.bp-eyebrow{margin:0;font:500 12px/1 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:#f6c453}
.bp-hero h1{margin:14px 0 14px;font-family:var(--f-display);font-weight:300;font-size:clamp(30px,4.2vw,48px);line-height:1.1;color:#fff;max-width:900px}
.bp-lede{margin:0;max-width:760px;font-size:18px;line-height:1.55;color:#d9def5}
.bp-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.bp-meta span{font:500 12px/1 var(--f-mono);color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.24);padding:8px 12px;border-radius:999px}
.bp-wrap{padding:34px 0 28px}
.bp-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start}
.bp-main{min-width:0}
.bp-card,.bp-answer{border-radius:18px;padding:26px 28px;margin:0 0 20px;font-family:var(--f-body)}
.bp-card{background:var(--surface);color:var(--fg);border:1px solid var(--line);box-shadow:0 1px 0 rgba(0,0,0,.03)}
.bp-card h2{display:flex;align-items:center;gap:12px;margin:0 0 14px;font-family:var(--f-display);font-weight:400;font-size:clamp(22px,2.4vw,28px);line-height:1.2;color:var(--fg)}
.bp-card h3{font-family:var(--f-body);font-weight:500;font-size:17px;margin:18px 0 6px;color:var(--fg)}
.bp-card p,.bp-card li{font-size:16.5px;line-height:1.7;color:var(--fg)}
.bp-card p{margin:0 0 12px}
.bp-card a{color:var(--brand);text-decoration:underline;text-underline-offset:3px}
.bp-n{flex:none;display:inline-grid;place-items:center;min-width:36px;height:36px;border-radius:10px;background:#4338ca;color:#fff;font:500 13px var(--f-mono)}
.bp-lab{font:500 11px/1 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:#f6c453;margin-bottom:10px}
.bp-answer{background:linear-gradient(135deg,#1B2742,#3A3A94);color:#fff;border:0}
.bp-answer p{margin:0 0 10px;font-size:19px;line-height:1.55;color:#fff}.bp-answer a{color:#f6c453}
.bp-key{border-left:6px solid #ff4800}
.bp-card ul{list-style:none;margin:10px 0 0;padding:0}
.bp-card ul li{position:relative;padding-left:28px;margin:9px 0}
.bp-card ul li::before{content:"";position:absolute;left:5px;top:.65em;width:9px;height:9px;border-radius:50%;background:#4338ca}
.bp-key ul li::before{content:"✓";background:none;width:auto;height:auto;top:0;left:3px;color:#ff4800;font-weight:700}
.bp-steps{list-style:none;counter-reset:st;margin:14px 0 0;padding:0;display:grid;gap:12px}
.bp-steps li{counter-increment:st;display:flex;gap:14px;align-items:flex-start;background:var(--surface-2);border-radius:14px;padding:14px 16px;margin:0}
.bp-steps li::before{content:counter(st);flex:none;width:32px;height:32px;border-radius:50%;background:#ff4800;color:#fff;display:grid;place-items:center;font:700 14px var(--f-body)}
.bp-steps li span{padding-top:3px}
.bp-tbl{overflow-x:auto;margin:14px 0 4px;border:1px solid var(--line);border-radius:12px}
.bp-tbl table{width:100%;min-width:520px;border-collapse:collapse;font-size:15px}
.bp-tbl th{background:#1B2742;color:#fff;text-align:left;font-weight:500;padding:12px 14px}
.bp-tbl td{padding:12px 14px;border-top:1px solid var(--line);vertical-align:top;color:var(--fg)}
.bp-tbl tbody tr:nth-child(even) td{background:var(--surface-2)}
.bp-tip,.bp-warn{border-radius:14px;padding:16px 18px;margin:16px 0 0}
.bp-tip{background:#f6c453;color:#1B2742}.bp-warn{background:#fff1ea;color:#5b1c00;border:1px solid #ff9a73;border-left:6px solid #ff4800}
.bp-tip b,.bp-warn b{display:block;font:500 11px/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px}
.bp-card .bp-tip p,.bp-card .bp-warn p{margin:0;color:inherit}.bp-card .bp-tip a,.bp-card .bp-warn a{color:inherit}
.bp-faq{display:grid;gap:14px}.bp-q{background:var(--surface-2);border-radius:14px;padding:16px 18px}.bp-q h3{margin:0 0 6px}.bp-q p{margin:0}
.bp-rel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.bp-rel a{display:flex;flex-direction:column;gap:10px;text-decoration:none!important;background:var(--surface-2);border-top:4px solid #ff4800;border-radius:12px;padding:16px;color:var(--fg)!important}
.bp-rel a b{font-weight:500;line-height:1.35}.bp-rel a span{font:500 12px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--brand)}
.bp-disc{font-size:13px;line-height:1.6;color:var(--muted);margin:6px 2px 0}
.bp-side{position:sticky;top:96px;display:grid;gap:16px}
.bp-tocd,.bp-cta{border-radius:18px;padding:20px 22px}
.bp-tocd{background:var(--surface);color:var(--fg);border:1px solid var(--line)}.bp-tocd .bp-lab{color:var(--brand)}
.bp-tocd ol{margin:0;padding-left:20px}.bp-tocd li{margin:8px 0;font-size:14.5px;line-height:1.4}.bp-tocd a{color:var(--fg);text-decoration:none}.bp-tocd a:hover{color:var(--brand);text-decoration:underline}
.bp-cta{background:linear-gradient(135deg,#1B2742,#3A3A94);color:#fff;display:grid;gap:10px}
.bp-cta h3{margin:0;font-family:var(--f-display);font-weight:400;font-size:22px;color:#fff}.bp-cta p{margin:0 0 4px;color:#d9def5;font-size:14.5px}
.bp-cta .btn-ghost{background:#fff;color:#1B2742;border-color:#fff}
.bp-toc-m{display:none}
@media(max-width:980px){.bp-grid{grid-template-columns:1fr}.bp-side{position:static}.bp-tocd{display:none}
.bp-toc-m{display:flex;gap:8px;overflow-x:auto;margin:0 0 18px;padding-bottom:4px}.bp-toc-m a{flex:none;font-size:13px;background:var(--surface);color:var(--fg);border:1px solid var(--line);border-radius:999px;padding:8px 12px;text-decoration:none}}
@media(max-width:620px){.bp-card,.bp-answer{padding:20px 18px}.bp-rel{grid-template-columns:1fr}.bp-hero{padding:34px 0 30px}.bp-lede{font-size:16.5px}}

/* soft theme v3 */
main:has(.bp-wrap),main:has(.post-grid){background:#eef0f8;color:#243055}
main:has(.post-grid) .sec,main:has(.post-grid) section{--fg:#243055}
.bp-hero{background:linear-gradient(135deg,#dfe4fb 0%,#e9e6fb 55%,#fbefd9 100%);color:#243055;border-bottom:1px solid #d3d8f0}
.bp-hero::after{background:radial-gradient(circle,rgba(246,196,83,.28),rgba(246,196,83,0) 68%)}
.bp-eyebrow{color:#4338ca}
.bp-hero h1{color:#243055;font-weight:400}
.bp-lede{color:#3d4668}
.bp-meta span{color:#243055;background:#fff;border:1px solid #cfd5ee}
main:has(.bp-wrap) .bc,main:has(.bp-wrap) .bc a,main:has(.bp-wrap) .bc li{color:#4a5378}
.bp-card,.bp-tocd{background:#fff;color:#243055;border:1px solid #d9deef;box-shadow:0 2px 8px rgba(36,48,85,.06);transition:transform .2s,box-shadow .2s,border-color .2s}
.bp-card:hover,.bp-tocd:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(67,56,202,.14);border-color:#b9c0ee}
.bp-card h2,.bp-card h3,.bp-card p,.bp-card li,.bp-card td{color:#243055}
.bp-card a{color:#4338ca}
.bp-answer{background:#e3e7fb;color:#243055;border:1px solid #c4cbf0;border-left:6px solid #4338ca;transition:transform .2s,box-shadow .2s}
.bp-answer:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(67,56,202,.14)}
.bp-answer p{color:#243055}.bp-answer a{color:#4338ca}
.bp-lab,.bp-tocd .bp-lab{color:#4338ca}
.bp-key{border-left:6px solid #e0693a}.bp-key ul li::before{color:#d4572a}
.bp-n{background:#5b52d6}
.bp-steps li,.bp-q{background:#f3f5fc;border:1px solid #e0e4f4;transition:background .2s,transform .2s,border-color .2s}
.bp-steps li:hover,.bp-q:hover{background:#e9ecfb;border-color:#b9c0ee;transform:translateX(3px)}
.bp-steps li::before{background:#e0693a}
.bp-tbl{border-color:#d9deef}.bp-tbl th{background:#4a52a8;color:#fff}.bp-tbl td{border-color:#e3e6f3;color:#243055}.bp-tbl tbody tr:nth-child(even) td{background:#f5f6fc}.bp-tbl tbody tr:hover td{background:#eaedfb}
.bp-tip{background:#fdf0cc;color:#4a3a05;border:1px solid #efd68a}.bp-warn{background:#fdece4;color:#5b2a14;border:1px solid #f0bfa8;border-left:6px solid #e0693a}
.bp-rel a{background:#f3f5fc;border:1px solid #e0e4f4;border-top:4px solid #e0693a;color:#243055!important;transition:transform .2s,box-shadow .2s,background .2s}
.bp-rel a:hover{transform:translateY(-4px);box-shadow:0 10px 22px rgba(67,56,202,.15);background:#e9ecfb}
.bp-rel a span{color:#4338ca}
.bp-tocd a{color:#243055}.bp-tocd a:hover{color:#4338ca}
.bp-cta{background:#e3e7fb;color:#243055;border:1px solid #c4cbf0}
.bp-cta h3{color:#243055}.bp-cta p{color:#3d4668}
.bp-cta .btn-ghost{background:#fff;color:#243055;border:1px solid #b9c0ee}
.bp-cta .btn-sun{background:#e0693a;color:#fff}
.bp-disc{color:#4a5378}
.bp-toc-m a{background:#fff;color:#243055;border-color:#cfd5ee}
.post-grid{gap:22px}
.post-card{background:#fff!important;color:#243055;border:1px solid #d9deef!important;border-radius:18px;overflow:hidden;box-shadow:0 2px 8px rgba(36,48,85,.06);transition:transform .22s,box-shadow .22s,border-color .22s;display:flex;flex-direction:column}
.post-card:hover,.post-card:focus-within{transform:translateY(-6px);box-shadow:0 16px 34px rgba(67,56,202,.18);border-color:#9aa3e6!important}
.post-card .pc-img{transition:filter .25s}.post-card:hover .pc-img{filter:brightness(1.06) saturate(.95)}
.post-card .pc-body{flex:1;display:flex;flex-direction:column}
.post-card h3{color:#243055;transition:color .2s}.post-card:hover h3{color:#4338ca}
.post-card p{color:#3d4668}.post-card .fine{color:#5a6384;margin-top:auto}
.post-card .tag{background:#e3e7fb;color:#4338ca}
.post-card a{text-decoration:none}
.post-card a:focus-visible{outline:3px solid #4338ca;outline-offset:2px}
.post-card:hover .pc-ic{transform:scale(1.1) rotate(-4deg)}.post-card .pc-ic{transition:transform .25s}
main:has(.post-grid) h1,main:has(.post-grid) h2{color:#243055}
@media(hover:none){.post-card:hover,.bp-card:hover,.bp-answer:hover{transform:none}}

/* soft theme v3b */
main:has(.post-grid) .hero{background:linear-gradient(135deg,#dfe4fb 0%,#e9e6fb 55%,#fbefd9 100%)!important;border-bottom:1px solid #d3d8f0}
main:has(.post-grid) .hero h1{color:#243055!important}
main:has(.post-grid) .hero .lede{color:#3d4668!important}
main:has(.post-grid) .hero .eyebrow{color:#4338ca!important}
main:has(.post-grid) .hero .btn-sun{background:#e0693a;color:#fff}
main:has(.post-grid) .hero .btn-ghost{background:#fff;color:#243055;border:1px solid #b9c0ee}
main:has(.post-grid) .sec,main:has(.post-grid) .band,main:has(.post-grid) section:not(.hero){background:transparent}

/* soft theme v3c */
.post-card .pc-img{filter:brightness(1.22) saturate(.85)}
.post-card:hover .pc-img{filter:brightness(1.3) saturate(.95)}
