:root{
  --bg:#F5F7FB; --panel:#FFFFFF; --ink:#14213D; --muted:#5A6680; --line:#DDE3EE;
  --navy:#12284C; --navy2:#1C3A6B; --sun:#F6B93B; --coral:#E2553D; --teal:#1E8A7A; --tint:#EAF0FA;
  --on-navy:#F4F7FD; --on-navy-muted:#B9C6DE; --shadow:0 18px 40px -22px rgba(18,40,76,.45);
  --font:"Plus Jakarta Sans","Segoe UI",Helvetica,Arial,sans-serif;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#0D1524; --panel:#162238; --ink:#EAF0FA; --muted:#A5B2CB; --line:#2A3A57;
    --navy:#0A1830; --navy2:#16305A; --tint:#1A2A45; --shadow:0 18px 40px -22px rgba(0,0,0,.8);
  }
}
:root[data-theme="dark"]{
  --bg:#0D1524; --panel:#162238; --ink:#EAF0FA; --muted:#A5B2CB; --line:#2A3A57;
  --navy:#0A1830; --navy2:#16305A; --tint:#1A2A45; --shadow:0 18px 40px -22px rgba(0,0,0,.8);
}
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:1.03rem;line-height:1.65}
h1,h2,h3{line-height:1.12;margin:0 0 .55em;letter-spacing:-.022em;font-weight:800}
h1{font-size:clamp(2.1rem,5.4vw,3.6rem)}
h2{font-size:clamp(1.55rem,3.2vw,2.2rem)}
h3{font-size:1.18rem;font-weight:700;letter-spacing:-.01em}
p{margin:0 0 1em;max-width:66ch}
a{color:var(--navy2)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) main a:not(.btn):not(.card):not(.door){color:#9CC0FF}}
:root[data-theme="dark"] main a:not(.btn):not(.card):not(.door){color:#9CC0FF}
:focus-visible{outline:3px solid var(--sun);outline-offset:3px;border-radius:4px}
.wrap{max-width:72rem;margin:0 auto;padding:0 1.25rem}
svg{max-width:100%}

/* header */
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--panel);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:1rem;padding:.7rem 1.25rem;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:.6rem;font-weight:800;font-size:1.2rem;text-decoration:none;color:var(--ink);margin-right:auto}
.brand i{display:grid;place-items:center;width:2.3rem;height:2.3rem;border-radius:.7rem;background:var(--navy);color:var(--sun);font-style:normal;font-size:.8rem;font-weight:800;letter-spacing:.02em}
nav.main{display:flex;gap:.2rem;align-items:center;font-weight:600;font-size:.95rem}
nav.main a{color:var(--ink);text-decoration:none;padding:.5rem .8rem;border-radius:999px}
nav.main a:hover{background:var(--tint)}
nav.main a[aria-current="page"]{background:var(--navy);color:var(--on-navy)}
#menu{display:none;background:none;border:1px solid var(--line);border-radius:.6rem;padding:.5rem .7rem;font:inherit;font-weight:700;color:var(--ink);cursor:pointer}
@media (max-width:900px){
  #menu{display:block}
  nav.main{display:none;flex-direction:column;align-items:stretch;width:100%}
  nav.main.open{display:flex}
  .bar .btn{display:none}
}
.btn{display:inline-block;font:inherit;font-weight:700;background:var(--coral);color:#fff;text-decoration:none;padding:.8rem 1.35rem;border:0;border-radius:999px;cursor:pointer;box-shadow:0 10px 20px -12px var(--coral)}
.btn:hover{filter:brightness(1.07)}
.btn.ghost{background:transparent;color:var(--ink);box-shadow:none;border:2px solid var(--line)}
.btn.sun{background:var(--sun);color:#1b1503;box-shadow:none}

.page{padding-bottom:4.5rem}

/* hero bands */
.band{background:linear-gradient(140deg,var(--navy) 0%,var(--navy2) 100%);color:var(--on-navy);position:relative;overflow:hidden}
.band .wrap{position:relative;padding-top:3.5rem;padding-bottom:3.5rem}
.band p{color:var(--on-navy-muted);font-size:1.15rem}
.band.small .wrap{padding-top:2.75rem;padding-bottom:2.75rem}
.band::after{content:"";position:absolute;right:-8rem;top:-8rem;width:26rem;height:26rem;border-radius:50%;background:radial-gradient(circle,rgba(246,185,59,.28),transparent 65%)}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:2.5rem;align-items:center}
.hero h1 em{font-style:normal;color:var(--sun)}
.pill{display:inline-block;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:var(--on-navy);padding:.3rem .85rem;border-radius:999px;font-size:.85rem;font-weight:600;margin-bottom:1.1rem}
.cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}
@media (max-width:820px){.hero{grid-template-columns:1fr}.hero .art{max-width:24rem}}

/* doors */
.doors{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:-2.5rem;position:relative;z-index:2}
.door{display:flex;gap:1.1rem;align-items:flex-start;background:var(--panel);color:var(--ink);text-decoration:none;border-radius:1.4rem;padding:1.6rem;box-shadow:var(--shadow);border:1px solid var(--line);transition:transform .15s}
.door:hover{transform:translateY(-3px)}
.door h2{font-size:1.4rem;margin-bottom:.25em}
.door p{margin:0 0 .6em;color:var(--muted);font-size:.98rem}
.door b{color:var(--coral)}
.ico{flex:none;display:grid;place-items:center;width:3.4rem;height:3.4rem;border-radius:1rem;background:var(--tint);color:var(--navy2)}
.ico.sun{background:#FFF1CF;color:#8A5A00}.ico.coral{background:#FDE5E0;color:#B23A26}.ico.teal{background:#DDF3EF;color:#136457}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ico{background:#22365A;color:#BcD2FF}}
:root[data-theme="dark"] .ico{background:#22365A;color:#BCD2FF}
@media (max-width:700px){.doors{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.door{transition:none}}

section.block{padding-top:4rem}
.sub{color:var(--muted);font-size:1.1rem;margin-bottom:2rem}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15.5rem,1fr));gap:1.25rem}
.card{display:block;background:var(--panel);border:1px solid var(--line);border-radius:1.25rem;padding:1.6rem;text-decoration:none;color:var(--ink)}
a.card:hover{border-color:var(--navy2);box-shadow:var(--shadow)}
.card .ico{margin-bottom:1rem}
.card p{color:var(--muted);font-size:.98rem;margin-bottom:.6em}
.card .more{font-weight:700;color:var(--coral)}

.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:1.25rem;overflow:hidden;margin-top:3rem}
.facts div{background:var(--panel);padding:1.3rem 1.4rem}
.facts strong{display:block;font-size:1.7rem;font-weight:800;letter-spacing:-.02em;color:var(--navy2)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .facts strong{color:var(--sun)}}
:root[data-theme="dark"] .facts strong{color:var(--sun)}
.facts span{color:var(--muted);font-size:.93rem}

.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(13.5rem,1fr));gap:1.25rem;counter-reset:s;list-style:none;padding:0;margin:0}
.steps li{counter-increment:s;background:var(--panel);border:1px solid var(--line);border-radius:1.25rem;padding:1.4rem;font-size:.98rem;color:var(--muted)}
.steps li::before{content:counter(s);display:grid;place-items:center;width:2.3rem;height:2.3rem;border-radius:50%;background:var(--sun);color:#1b1503;font-weight:800;margin-bottom:.8rem}
.steps li strong{display:block;color:var(--ink);font-size:1.05rem;margin-bottom:.2rem}

.strip{background:var(--navy);color:var(--on-navy);border-radius:1.5rem;padding:2rem;display:flex;flex-wrap:wrap;gap:1.25rem;align-items:center;justify-content:space-between;margin-top:4rem}
.strip h2{margin:0 0 .2em;font-size:1.5rem}.strip p{margin:0;color:var(--on-navy-muted)}

/* plans */
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.1rem}
.plan{background:var(--panel);border:1px solid var(--line);border-radius:1.25rem;padding:1.5rem;display:flex;flex-direction:column}
.plan.top{border:2px solid var(--coral);position:relative}
.plan.top::before{content:"Most complete";position:absolute;top:-.8rem;left:1.2rem;background:var(--coral);color:#fff;font-size:.78rem;font-weight:700;padding:.15rem .7rem;border-radius:999px}
.plan .who{color:var(--muted);font-size:.93rem;min-height:3.2em}
.plan .from{font-size:.85rem;color:var(--muted);margin-top:.6rem}
.plan .price{font-size:2.1rem;font-weight:800;letter-spacing:-.03em;line-height:1.1}
.plan .price small{font-size:.9rem;font-weight:600;color:var(--muted);letter-spacing:0}
.plan ul{list-style:none;padding:0;margin:1rem 0 0;font-size:.95rem}
.plan li{padding:.3rem 0 .3rem 1.6rem;position:relative}
.plan li::before{content:"";position:absolute;left:0;top:.72rem;width:.85rem;height:.45rem;border-left:3px solid var(--teal);border-bottom:3px solid var(--teal);transform:rotate(-45deg)}

.scroll{overflow-x:auto;border:1px solid var(--line);border-radius:1.25rem;background:var(--panel)}
table{border-collapse:collapse;width:100%;min-width:44rem;font-size:.97rem}
th,td{padding:1rem 1.1rem;text-align:left;border-bottom:1px solid var(--line)}
thead th{background:var(--navy);color:var(--on-navy);font-weight:700;font-size:.9rem}
tbody th{font-weight:800}
td.fee{font-weight:800;font-size:1.12rem;white-space:nowrap}
td.na{color:var(--muted)}
tbody tr:last-child>*{border-bottom:0}
.note{font-size:.92rem;color:var(--muted)}

details{background:var(--panel);border:1px solid var(--line);border-radius:1rem;padding:1.1rem 1.3rem;margin-bottom:.7rem}
summary{font-weight:700;font-size:1.08rem;cursor:pointer}
details ul{margin:.8rem 0 .2rem;padding-left:1.2rem;max-width:72ch;color:var(--muted)}
details li{margin-bottom:.4rem}
details p{margin:.8rem 0 0;color:var(--muted)}

.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1.25rem}
.checks{list-style:none;padding:0;margin:0}
.checks li{padding:.45rem 0 .45rem 2rem;position:relative}
.checks li::before{content:"";position:absolute;left:.2rem;top:.95rem;width:.95rem;height:.5rem;border-left:3px solid var(--teal);border-bottom:3px solid var(--teal);transform:rotate(-45deg)}
.draft{border:2px dashed var(--sun);border-radius:1rem;padding:.9rem 1.1rem;font-size:.92rem;color:var(--muted);max-width:66ch}

form{display:grid;gap:1rem}
label{font-weight:700;font-size:.93rem;display:grid;gap:.35rem}
input,select,textarea{font:inherit;padding:.75rem .9rem;border:1px solid var(--line);border-radius:.8rem;background:var(--bg);color:var(--ink);width:100%}
textarea{min-height:8rem}
#formMsg{font-weight:700;min-height:1.5em;color:var(--teal)}

footer{background:var(--navy);color:var(--on-navy-muted);padding:3rem 0;font-size:.95rem}
footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:2rem}
footer h3{color:var(--on-navy);font-size:1rem}
footer a{color:var(--on-navy-muted);text-decoration:none;display:block;padding:.15rem 0}
footer a:hover{color:var(--sun)}
footer p{margin:0 0 .3em}

.tintband{background:var(--tint);margin-top:4rem;padding:3.5rem 0}
.tintband section.block,.navyband section.block{padding-top:0}
.navyband{background:linear-gradient(140deg,var(--navy),var(--navy2));color:var(--on-navy);margin-top:4rem;padding:3.5rem 0}
.navyband .sub,.navyband p{color:var(--on-navy-muted)}
.navyband .checks li{font-weight:600}
.navyband .checks li::before{border-color:var(--sun)}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.4rem;padding:0;list-style:none}
.chips li{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:.3rem .85rem;font-size:.88rem;font-weight:600;color:var(--on-navy)}
.age{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem;margin-top:1.5rem}
.age div{background:var(--panel);border:1px solid var(--line);border-left:5px solid var(--sun);border-radius:1rem;padding:1.1rem 1.2rem}
.age div:nth-child(2){border-left-color:var(--teal)}.age div:nth-child(3){border-left-color:var(--coral)}
.age strong{display:block;font-size:1.05rem}.age span{color:var(--muted);font-size:.95rem}
.finder{background:var(--panel);border:1px solid var(--line);border-radius:1.5rem;box-shadow:var(--shadow);display:grid;grid-template-columns:1.25fr .75fr;overflow:hidden}
.finder .q{padding:1.75rem}
.finder fieldset{border:0;padding:0;margin:0 0 1.4rem}
.finder legend{font-weight:800;margin-bottom:.6rem;padding:0}
.opts{display:flex;flex-wrap:wrap;gap:.5rem}
.opts button{font:inherit;font-weight:600;font-size:.95rem;padding:.6rem 1rem;border-radius:999px;border:2px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer}
.opts button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:var(--on-navy)}
.opts button:disabled{opacity:.4;cursor:not-allowed;text-decoration:line-through}
.finder .a{background:linear-gradient(160deg,var(--navy),var(--navy2));color:var(--on-navy);padding:1.75rem;display:flex;flex-direction:column;justify-content:center}
.finder .a .lvl{font-weight:700;color:var(--sun)}
.finder .a .big{font-size:clamp(2.6rem,6vw,3.6rem);font-weight:800;letter-spacing:-.03em;line-height:1.05;margin:.2rem 0}
.finder .a p{color:var(--on-navy-muted);font-size:.95rem;margin:0 0 1rem}
@media (max-width:760px){.finder{grid-template-columns:1fr}}
table.matrix{min-width:46rem}
table.matrix td{text-align:center}
table.matrix thead th:not(:first-child){text-align:center}
table.matrix tbody th{font-weight:600}
table.matrix tr.grp th{background:var(--tint);font-weight:800;font-size:.88rem}
.yes{display:inline-block;width:1rem;height:.55rem;border-left:3px solid var(--teal);border-bottom:3px solid var(--teal);transform:rotate(-45deg)}
.no{color:var(--line)}
.fit{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem}
.fit div{background:var(--panel);border:1px solid var(--line);border-radius:1.1rem;padding:1.2rem 1.3rem}
.fit strong{display:block;color:var(--coral);margin-bottom:.2rem}
.fit span{color:var(--muted);font-size:.96rem}
.res{border-top:1px solid rgba(255,255,255,.18);padding:.8rem 0}
.res:first-child{border-top:0}
.res .row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.res .nm{font-weight:700;font-size:1.05rem}
.res .pr{font-weight:800;font-size:1.6rem;letter-spacing:-.02em;white-space:nowrap}
.res .pr small{font-size:.8rem;font-weight:600;color:var(--on-navy-muted)}
.res .ds{color:var(--on-navy-muted);font-size:.9rem;margin:.15rem 0 0}
.finder .a{justify-content:flex-start}
.deal{list-style:none;padding:0;margin:0}
.deal li{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.7rem 0;border-top:1px solid var(--line);font-weight:600}
.deal s{color:var(--muted);font-weight:500;margin-right:.6rem}
.deal b{font-size:1.25rem;font-weight:800;color:var(--coral);white-space:nowrap}
.deal li>span:last-child{white-space:nowrap}
.stay .ph{margin:-1.6rem -1.6rem 1.2rem;border-radius:1.25rem 1.25rem 0 0;overflow:hidden;height:9.5rem}
.stay .ph svg{display:block;width:100%;height:100%}
.stay .checks{color:var(--muted);font-size:.97rem}
.who b{color:var(--ink)}.who{color:var(--muted)}
.vs{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.vs>div{border-radius:1.25rem;padding:1.6rem}
.vs .them{background:var(--panel);border:1px dashed var(--line);color:var(--muted)}
.vs .them ul{margin:0;padding-left:1.2rem}.vs .them li{padding:.35rem 0}
.vs .us{background:linear-gradient(150deg,var(--navy),var(--navy2));color:var(--on-navy);box-shadow:var(--shadow)}
.vs .us li{font-weight:600}.vs .us .checks li::before{border-color:var(--sun)}
@media (max-width:700px){.vs{grid-template-columns:1fr}}
.where{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1.25rem}
.where>div{background:var(--panel);border:1px solid var(--line);border-radius:1.25rem;padding:1.4rem}
.where>div.main{border-top:5px solid var(--coral)}
.where ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.45rem}
.where li{background:var(--tint);border-radius:999px;padding:.3rem .8rem;font-size:.92rem;font-weight:600}
mark.tbd{background:#FFF1CF;color:#5c3d00;border:1px dashed #C98A00;border-radius:.3rem;padding:0 .3rem;font-weight:700}
.chain{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:1.25rem;overflow:hidden;background:var(--panel)}
.chain a{display:block;padding:1.3rem 1.3rem 1.3rem 1.8rem;text-decoration:none;color:var(--ink);position:relative;border-left:1px solid var(--line)}
.chain a:first-child{border-left:0;padding-left:1.3rem}
.chain a:not(:first-child)::before{content:"+";position:absolute;left:-.85rem;top:50%;margin-top:-.85rem;width:1.7rem;height:1.7rem;border-radius:50%;background:var(--sun);color:#1b1503;font-weight:800;display:grid;place-items:center;z-index:1}
.chain b{display:block;font-size:1.05rem}.chain span{color:var(--muted);font-size:.92rem}
.chain a:hover{background:var(--tint)}
@media (max-width:800px){.chain{grid-template-columns:1fr}.chain a{border-left:0;border-top:1px solid var(--line);padding-left:1.3rem}.chain a:first-child{border-top:0}.chain a:not(:first-child)::before{left:50%;top:-.85rem;margin:0 0 0 -.85rem}}
.app fieldset{border:0;border-top:1px solid var(--line);padding:1.4rem 0 .4rem;margin:0}
.app fieldset:first-child{border-top:0;padding-top:0}
.app legend{font-weight:800;font-size:1.2rem;padding:0 .6rem 0 0}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}
.fgrid .wide{grid-column:1/-1}
@media (max-width:640px){.fgrid{grid-template-columns:1fr}}
.fmsg{font-weight:700;min-height:1.5em;color:var(--teal)}
.plan .pnote{font-size:.88rem;color:var(--coral);font-weight:600;margin:.5rem 0 0}
.short{margin-top:1.5rem;background:var(--panel);border:1px solid var(--line);border-left:5px solid var(--sun);border-radius:1rem;padding:1.3rem 1.5rem;max-width:44rem}
.short p{margin-bottom:.6rem}
.pay{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1.25rem}
.pay>div{background:var(--panel);border:1px solid var(--line);border-radius:1.25rem;padding:1.5rem}
.pay .n{display:grid;place-items:center;width:2.3rem;height:2.3rem;border-radius:50%;background:var(--sun);color:#1b1503;font-weight:800;margin-bottom:.8rem}
.pay h3{margin-bottom:.15em}
.pay .tag{color:var(--coral);font-weight:700;font-size:.9rem;margin-bottom:.7rem}
.pay p{color:var(--muted);font-size:.97rem}
.pay .fee-line{color:var(--ink);font-weight:700;margin:0;padding-top:.7rem;border-top:1px solid var(--line)}
.legal{max-width:46rem}
.legal h2{font-size:1.3rem;margin-top:2rem}
.legal h2:first-child{margin-top:0}
.legal ul{padding-left:1.2rem;max-width:66ch}
.legal li{margin-bottom:.4rem}
.need{list-style:none;counter-reset:n;padding:0;margin:0}
.need li{counter-increment:n;position:relative;padding:0 0 1.1rem 3.2rem}
.need li:last-child{padding-bottom:0}
.need li::before{content:counter(n);position:absolute;left:0;top:0;display:grid;place-items:center;width:2.3rem;height:2.3rem;border-radius:50%;background:var(--sun);color:#1b1503;font-weight:800}
.need strong{display:block}
.need span{color:var(--muted);font-size:.96rem}
.need.small li::before{background:var(--tint);color:var(--navy2);width:2rem;height:2rem;font-size:.9rem}
.need.small li{padding-left:2.8rem}
.fast{margin:1.2rem 0 0;padding:.8rem 1rem;border-radius:.8rem;background:var(--tint);font-weight:700}
#payment,#needed,#refer{scroll-margin-top:5.5rem}
label.chk{display:flex;gap:.6rem;align-items:flex-start;font-weight:500;font-size:.95rem}
label.chk input{width:1.15rem;height:1.15rem;margin-top:.25rem;flex:none}
table.cov{min-width:44rem}
table.cov tbody th{width:20%;font-weight:800}
table.cov td{color:var(--muted);vertical-align:top}
table.cov td:last-child{color:var(--ink)}
.sr{position:absolute;left:-999rem}

.hp{position:absolute;left:-999rem}
