
/* Layout: sticky header, navy hero with live due-dates card, then alternating paper and tint bands. Heading column left, working content right on desktop; single column on phones. */
:root{
  --navy:#1A3553; --navy-ink:#FFFFFF; --navy-mute:#B9C6D9; --navy-pale:#A8C3E0;
  --bg:#FBFBFB; --tint:#EDF0F7; --card:#FFFFFF; --fg:#181A29; --mute:#4B566B; --line:#D5DBE6; --line2:#BCC7D8; --mid:#446888;
  --btn:#1A3553; --btn-fg:#FFFFFF; --hero:#1A3553; --chip:#FFFFFF; --field:#8794AA;
  --display:'Jost',system-ui,sans-serif; --body:'IBM Plex Sans',system-ui,sans-serif; --mono:'IBM Plex Mono',ui-monospace,monospace;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0E1A2B; --tint:#13233A; --card:#172A44; --fg:#E8EEF6; --mute:#A9B7CB; --line:#2A3E5B; --line2:#35506f; --mid:#8FB0D3;
  --btn:#E8EEF6; --btn-fg:#12243B; --hero:#142A47; --chip:#172A44; --field:#5C7596; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0E1A2B; --tint:#13233A; --card:#172A44; --fg:#E8EEF6; --mute:#A9B7CB; --line:#2A3E5B; --line2:#35506f; --mid:#8FB0D3;
  --btn:#E8EEF6; --btn-fg:#12243B; --hero:#142A47; --chip:#172A44; --field:#5C7596; color-scheme:dark}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-text-size-adjust:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--display);font-weight:500;letter-spacing:-.03em;text-wrap:balance;margin:0}
p{margin:0}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--mid);outline-offset:3px;border-radius:4px}
.w{max-width:1200px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--mid)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 26px;border-radius:4px;border:0;background:var(--btn);color:var(--btn-fg);font-weight:600;font-size:16px;cursor:pointer;transition:transform .15s,opacity .15s}
.btn:hover{opacity:.9}.btn:active{transform:scale(.98)}
.btn.light{background:#fff;color:#1A3553}
/* header */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:#fff}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) body::before{background:#0E1A2B}}
:root[data-theme="dark"] body::before{background:#0E1A2B}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--card);border-bottom:1px solid var(--line)}
.hd{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:68px}
.logo{display:flex;align-items:center;gap:12px}
.logo span.t{background:#fff;border-radius:8px;padding:3px;display:block;line-height:0}
.logo img{width:50px;height:50px;display:block}
.logo b{font-family:var(--display);font-weight:500;font-size:20px;letter-spacing:-.02em;display:none}
nav.d{display:none;gap:30px;font-weight:500;font-size:15.5px}
nav.d a{padding:6px 0;border-bottom:2px solid transparent}
nav.d a:hover,nav.d a.on{border-bottom-color:var(--mid)}
.hd .btn{min-height:42px;padding:0 20px;font-size:15px;display:none}
.burger{width:46px;height:46px;border:1px solid var(--line2);border-radius:8px;background:transparent;cursor:pointer;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px}
.burger i{display:block;width:20px;height:2px;background:var(--fg);transition:transform .25s,opacity .2s}
.burger[aria-expanded="true"] i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] i:nth-child(2){opacity:0}
.burger[aria-expanded="true"] i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.menu{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s;background:var(--card)}
.menu.open{grid-template-rows:1fr;border-top:1px solid var(--line)}
.menu>div{overflow:hidden}
.menu a{display:block;padding:16px 0;font-family:var(--display);font-size:24px;letter-spacing:-.02em;border-bottom:1px solid var(--line)}
.menu .btn{width:100%;margin:18px 0 22px}
@media(min-width:900px){nav.d{display:flex}.hd .btn{display:inline-flex}.burger,.menu{display:none}.logo b{display:block}.logo img{width:56px;height:56px}}
/* hero */
.hero{background:var(--hero);color:#fff;position:relative;overflow:hidden}
.hero::after{content:"sk";position:absolute;right:-6%;top:-18%;font-family:var(--display);font-size:min(90vw,820px);line-height:1;letter-spacing:-.06em;color:rgba(255,255,255,.045);pointer-events:none}
.hero .w{position:relative;z-index:1;display:grid;gap:36px;padding-top:44px;padding-bottom:48px}
.hero .kick{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--navy-mute)}
.hero h1{font-size:clamp(38px,9vw,60px);line-height:1.03;margin:16px 0 18px}
.hero .lead{font-size:18px;line-height:1.55;color:var(--navy-mute);max-width:540px}
.hero .cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;margin-top:28px}
.hero .cta a.l{font-weight:600;border-bottom:2px solid var(--navy-pale);padding-bottom:3px}
.due{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:6px 20px 16px}
.due .hh{display:flex;justify-content:space-between;gap:12px;font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--navy-mute);padding:14px 0 10px}
.dr{display:grid;grid-template-columns:70px 1fr auto;gap:14px;align-items:center;padding:11px 0;border-top:1px solid rgba(255,255,255,.2);border-radius:0;transition:background .2s}
.dr .n{font-family:var(--display);font-weight:500;font-size:44px;line-height:1;letter-spacing:-.02em;color:var(--navy-pale)}
.dr b{display:block;font-size:17px;font-weight:600;line-height:1.25}
.dr small{display:block;font-size:13.5px;color:var(--navy-mute);line-height:1.35;margin-top:2px}
.dr .tag{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:4px 9px;border-radius:99px;border:1px solid rgba(255,255,255,.28);color:var(--navy-mute);white-space:nowrap}
.dr.next{background:rgba(168,195,224,.14);margin:0 -12px;padding-left:12px;padding-right:12px;border-radius:8px;border-top-color:transparent}
.dr.next .tag{background:#fff;color:#1A3553;border-color:#fff;font-weight:500}
.due p{font-size:13px;color:var(--navy-mute);padding-top:12px;border-top:1px solid rgba(255,255,255,.2)}
@media(min-width:900px){.hero .w{grid-template-columns:1.12fr 1fr;gap:64px;align-items:center;padding-top:56px;padding-bottom:60px}}
/* facts */
.facts{background:var(--card);border-bottom:1px solid var(--line)}
.facts .w{display:grid;grid-template-columns:1fr 1fr}
.facts .f{padding:22px 0;border-bottom:1px solid var(--line)}
.facts .f:nth-child(even){padding-left:20px;border-left:1px solid var(--line)}
.facts .f:nth-last-child(-n+3){border-bottom:0}.facts .f:nth-child(2){padding-left:20px;border-left:1px solid var(--line)}
.facts .big{font-family:var(--display);font-weight:500;font-size:34px;line-height:1;letter-spacing:-.03em}
.facts .sm{font-size:14px;color:var(--mute);margin-top:6px;line-height:1.35}
.facts .f.reg{grid-column:1/-1;border-left:0!important;padding-left:0!important;border-top:1px solid var(--line)}.facts .reg{font-family:var(--mono);font-size:12px;line-height:1.8;color:var(--mute);letter-spacing:.02em;overflow-wrap:anywhere}
@media(min-width:900px){.facts .w{grid-template-columns:repeat(3,1fr)}.facts .f{border-bottom:0;padding:28px 28px}.facts .f:first-child{padding-left:0}.facts .f:nth-child(n+2){border-left:1px solid var(--line)}.facts .f.reg{grid-column:auto;border-top:0;border-left:1px solid var(--line)!important;padding-left:28px!important}.facts .big{font-size:44px}}
/* sections */
section{padding-block:64px}
section.t{background:var(--tint)}
.two{display:grid;gap:32px;grid-template-columns:minmax(0,1fr)}.two>*{min-width:0}
.sh h2{font-size:clamp(32px,6vw,46px);line-height:1.04;margin:14px 0 16px}
.sh p{color:var(--mute);max-width:340px}
.sh .note{margin-top:24px;border-left:3px solid var(--navy);padding:2px 0 2px 14px;font-size:15px;color:var(--fg);max-width:300px}
:root[data-theme="dark"] .sh .note{border-color:var(--mid)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .sh .note{border-color:var(--mid)}}
@media(min-width:900px){.two{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:64px}.sh{position:sticky;top:100px;align-self:start}}
/* tabs */
.tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin:0 -20px 18px;padding-inline:20px;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{flex:none;min-height:46px;padding:0 18px;border:1px solid var(--line2);border-radius:99px;background:var(--card);cursor:pointer;font-weight:500;font-size:15px;display:flex;align-items:center;gap:10px;transition:background .15s}
.tab em{font-style:normal;font-family:var(--mono);font-size:12px;color:var(--mute)}
.tab[aria-selected="true"]{background:var(--btn);color:var(--btn-fg);border-color:var(--btn)}
.tab[aria-selected="true"] em{color:inherit;opacity:.8}
@media(min-width:900px){.tabs{margin-inline:0;padding-inline:0;flex-wrap:wrap}}
.panel{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:22px 22px 8px}
.panel .ph{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:6px}
.panel .ph h3{font-size:26px;line-height:1.1}
.panel .ph span{font-family:var(--display);font-size:44px;line-height:1;letter-spacing:-.03em;color:var(--mid)}
.panel .intro{color:var(--mute);font-size:15.5px;margin-bottom:10px}
.items{list-style:none;margin:0;padding:0;display:grid}
.items li{padding:13px 0;border-top:1px solid var(--line);font-size:16px;line-height:1.4;animation:up .35s both}
.items li small{display:block;color:var(--mute);font-size:14px;margin-top:2px}
@media(min-width:700px){.items{grid-template-columns:1fr 1fr;gap:0 36px}}
@keyframes up{from{transform:translateY(8px)}to{transform:none}}
.fee{margin-top:16px;display:grid;gap:12px}
.fee div{border:1px solid var(--line);border-radius:10px;padding:16px 18px;background:var(--card);font-size:15px;color:var(--mute)}
.fee b{display:block;color:var(--fg);font-family:var(--display);font-weight:500;font-size:19px;margin-bottom:3px}
@media(min-width:700px){.fee{grid-template-columns:repeat(3,1fr)}}
/* registrations */
.led{border-top:2px solid var(--navy);display:grid}
:root[data-theme="dark"] .led{border-color:var(--mid)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .led{border-color:var(--mid)}}
.row{display:grid;gap:14px;padding:22px 0;border-bottom:1px solid var(--line2)}
.row h3{font-size:25px;line-height:1.12;margin-bottom:8px}
.row p{color:var(--mute);font-size:15.5px}
.chips{display:flex;flex-wrap:wrap;gap:8px;align-content:flex-start}
.chips span{border:1px solid var(--line2);background:var(--chip);border-radius:99px;padding:5px 13px;font-size:14px}
@media(min-width:700px){.row{grid-template-columns:5fr 7fr;gap:32px}}
/* leadership */
.people{display:grid;gap:18px}
.pc{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.ph1{height:150px;background:var(--tint);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center}
.ph1 i{width:92px;height:92px;border-radius:50%;border:1px dashed var(--mid);display:flex;align-items:center;justify-content:center;text-align:center;font-style:normal;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);line-height:1.35}
.pc .b{padding:20px 22px 22px}
.pc h3{font-size:28px;line-height:1.1}
.pc .r{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--mid);margin:8px 0 12px}
.pc .y{font-family:var(--display);font-size:22px;color:var(--mid);margin-bottom:6px}
.pc p{color:var(--mute);font-size:15.5px;line-height:1.55;margin-bottom:12px}
.pc .k{font-size:14.5px}
.team{margin-top:18px;border:1px solid var(--line);border-radius:12px;background:var(--card);padding:18px 22px;display:grid;gap:14px}
.team .lab{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.team .ms{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.team .m{display:flex;align-items:center;gap:10px;font-size:15px}
.team .m i{flex:none;width:40px;height:40px;border-radius:50%;border:1px dashed var(--mid);background:var(--tint)}
.team .m small{display:block;color:var(--mute);font-size:13px}
@media(min-width:700px){.people{grid-template-columns:1fr 1fr}.team{grid-template-columns:90px 1fr;align-items:center}.team .ms{grid-template-columns:repeat(4,1fr)}}
/* how */
.steps{display:grid;gap:16px;margin-top:32px}
.st{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:22px}
.st h3{font-size:23px;line-height:1.15;margin-bottom:8px}
.st p{color:var(--mute);font-size:15.5px}
.st .ic{width:44px;height:44px;margin-bottom:16px;color:var(--mid)}
@media(min-width:700px){.steps{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.steps{grid-template-columns:repeat(4,1fr)}}
/* faq */
details{border-bottom:1px solid var(--line)}
.fq{border-top:2px solid var(--navy)}
:root[data-theme="dark"] .fq{border-color:var(--mid)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .fq{border-color:var(--mid)}}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;font-family:var(--display);font-weight:500;font-size:21px;line-height:1.25;letter-spacing:-.015em;min-height:56px}
summary::-webkit-details-marker{display:none}
summary::after{content:"";flex:none;width:12px;height:12px;border-right:2px solid var(--mid);border-bottom:2px solid var(--mid);transform:rotate(45deg) translate(-2px,-2px);transition:transform .25s}
details[open] summary::after{transform:rotate(-135deg) translate(-2px,-2px)}
details .a{padding:0 0 20px;color:var(--mute);font-size:16px;max-width:620px;animation:up .3s both}
/* clients */
/* contact */
.ct{display:grid;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--card)}
.ct .l{background:var(--hero);color:#fff;padding:32px 26px;display:grid;gap:22px;align-content:start}
.ct .l h2{font-size:42px;line-height:1}
.ct .l p{color:var(--navy-mute)}
.ct .l small{display:block;font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--navy-mute);margin-bottom:4px}
.ct .l div div{font-size:17px;line-height:1.5;overflow-wrap:anywhere}
.cp{margin-top:6px;background:transparent;border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:99px;padding:6px 14px;font-size:13px;cursor:pointer;min-height:36px}
form{padding:28px 26px;display:grid;gap:20px}
.fl label{display:block;font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin-bottom:4px}
.fl input,.fl select,.fl textarea{width:100%;border:0;border-bottom:1px solid var(--field);background:transparent;padding:10px 0;font-size:17px;border-radius:0;min-height:46px}
.fl textarea{resize:vertical;min-height:90px}
.fl select option{color:#181A29;background:#fff}
.fl .err{display:none;color:#B3261E;font-size:13.5px;margin-top:4px}
:root[data-theme="dark"] .fl .err{color:#FF9B93}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .fl .err{color:#FF9B93}}
.fl.bad .err{display:block}.fl.bad input,.fl.bad textarea{border-bottom-color:#B3261E}
.two2{display:grid;gap:20px}
.done{padding:32px 26px;display:none;align-content:start;gap:16px}
.done h3{font-size:30px}
.done pre{margin:0;white-space:pre-wrap;font-family:var(--mono);font-size:13.5px;line-height:1.6;background:var(--tint);border:1px solid var(--line);border-radius:8px;padding:16px;overflow-wrap:anywhere}
.done .acts{display:flex;flex-wrap:wrap;gap:12px}
.done .btn.o{background:transparent;color:var(--fg);border:1px solid var(--line2)}
.done p{color:var(--mute);font-size:15.5px}
@media(min-width:900px){.ct{grid-template-columns:.85fr 1.15fr}.ct .l{padding:44px}form,.done{padding:44px}.two2{grid-template-columns:1fr 1fr}}
footer{background:var(--card);border-top:1px solid var(--line);padding-block:26px;font-size:13.5px;color:var(--mute)}
footer .w{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px}
.th{background:transparent;border:1px solid var(--line2);border-radius:99px;min-height:36px;padding:0 14px;font-size:13px;cursor:pointer;color:var(--mute)}
/* reveal: content is visible at rest; only a small lift animates */
.js .rv{transform:translateY(18px);transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.js .rv.in{transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .rv{transform:none;transition:none}.items li,details .a{animation:none}}

.pagehead{background:var(--hero);color:#fff;position:relative;overflow:hidden}
.pagehead .w{padding-top:44px;padding-bottom:44px;display:grid;gap:14px;position:relative;z-index:1}
.pagehead h1{font-size:clamp(34px,7vw,52px);line-height:1.04}
.pagehead p{color:var(--navy-mute);max-width:620px;font-size:18px}
.crumb{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--navy-mute)}
.crumb a{border-bottom:1px solid var(--navy-mute)}
.stack{display:grid;gap:16px}
.cards{display:grid;gap:14px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:22px;display:grid;gap:8px;align-content:start;transition:border-color .2s,transform .2s;cursor:pointer;text-align:left;width:100%}
.card:hover{border-color:var(--mid);transform:translateY(-2px)}
.card h3{font-size:23px;line-height:1.15}
.card p{color:var(--mute);font-size:15.5px}
.card .go{font-weight:600;font-size:15px;color:var(--mid);margin-top:6px}
.card .go::after{content:" \2192"}
.card .k{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mid)}
@media(min-width:700px){.cards.c2{grid-template-columns:repeat(2,1fr)}.cards.c3{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1000px){.cards.c4{grid-template-columns:repeat(4,1fr)}}
.band{background:var(--hero);color:#fff;border-radius:14px;padding:30px 26px;display:grid;gap:18px}
.band h2{font-size:clamp(28px,5vw,38px);line-height:1.05}
.band p{color:var(--navy-mute);max-width:560px}
@media(min-width:800px){.band{grid-template-columns:1fr auto;align-items:center;padding:36px 40px}}
.sec-h{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 32px;margin-bottom:28px}
.sec-h h2{font-size:clamp(30px,6vw,44px);line-height:1.04;margin-top:12px}
.sec-h p{color:var(--mute);max-width:420px}
.tl{color:var(--mid);font-weight:600;border-bottom:2px solid var(--mid);padding-bottom:2px;cursor:pointer;background:none;border-top:0;border-left:0;border-right:0;font-size:15.5px}
/* service detail */
.sd{display:grid;gap:36px}
.sd h2{font-size:28px;margin-bottom:12px}
.sd ul{margin:0;padding:0;list-style:none;display:grid}
.sd li{padding:12px 0;border-top:1px solid var(--line);font-size:16px}
.sd .def{font-size:20px;line-height:1.5;max-width:720px}
.sd .side{display:grid;gap:14px;align-content:start}
.sd .box{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:20px}
.sd .box h3{font-size:19px;margin-bottom:6px}
.sd .box p{color:var(--mute);font-size:15.5px}
@media(min-width:900px){.sd{grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:56px}.sd .side{position:sticky;top:100px}}
.other{display:flex;flex-wrap:wrap;gap:8px}
.other button{border:1px solid var(--line2);background:var(--card);border-radius:99px;min-height:42px;padding:0 16px;cursor:pointer;font-size:14.5px}
.other button[aria-current="true"]{background:var(--btn);color:var(--btn-fg);border-color:var(--btn)}
/* calendar */
.cal{display:grid;gap:28px}
.ctl{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center;justify-content:space-between;margin-bottom:16px}
.mnav{display:flex;align-items:center;gap:10px}
.mnav button{width:46px;height:46px;border:1px solid var(--line2);background:var(--card);border-radius:8px;cursor:pointer;font-size:20px;line-height:1}
.mnav b{font-family:var(--display);font-weight:500;font-size:28px;letter-spacing:-.02em;min-width:170px;text-align:center}
.filt{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}
.filt::-webkit-scrollbar{display:none}
.filt button{flex:none;min-height:42px;padding:0 15px;border:1px solid var(--line2);background:var(--card);border-radius:99px;cursor:pointer;font-size:14.5px;display:flex;align-items:center;gap:8px}
.filt button[aria-pressed="true"]{background:var(--btn);color:var(--btn-fg);border-color:var(--btn)}
.dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex:none}
.k0{background:#1A3553}.k1{background:#3B7DBF}.k2{background:#7FA6CC}.k3{background:#C98A1E}.k4{background:#6D5BA6}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .k0{background:#E8EEF6}}
:root[data-theme="dark"] .k0{background:#E8EEF6}
.grid7{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--card)}
.grid7 .dh{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);text-align:center;padding:10px 0;border-bottom:1px solid var(--line);background:var(--tint)}
.grid7 .c{min-height:64px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:6px;display:flex;flex-direction:column;gap:4px;align-items:flex-start;background:transparent;border-top:0;border-left:0;text-align:left;font-size:14px;cursor:default;border-radius:0}
.grid7 .c:nth-child(7n){border-right:0}
.grid7 .c .dn{font-variant-numeric:tabular-nums}
.grid7 .c.has{cursor:pointer}.grid7 .c.has:hover{background:var(--tint)}
.grid7 .c.today .dn{background:var(--btn);color:var(--btn-fg);border-radius:99px;padding:0 7px}
.grid7 .c.sel{background:var(--tint);box-shadow:inset 0 0 0 2px var(--mid)}
.grid7 .c .dots{display:flex;gap:3px;flex-wrap:wrap}
.grid7 .c .dots i{width:8px;height:8px}
.grid7 .c.out{opacity:.35}
@media(min-width:800px){.grid7 .c{min-height:92px;padding:8px 10px}}
.ev{display:grid;grid-template-columns:62px 1fr;gap:14px;padding:16px 0;border-top:1px solid var(--line);align-items:start;transition:background .2s}
.ev .d{font-family:var(--display);font-size:38px;line-height:1;letter-spacing:-.02em;color:var(--mid)}
.ev .d small{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin-top:4px}
.ev b{display:flex;gap:8px;align-items:center;font-weight:600;font-size:17px;line-height:1.3}
.ev p{color:var(--mute);font-size:15px;margin-top:2px}
.ev.sel{background:var(--tint);margin:0 -14px;padding-left:14px;padding-right:14px;border-radius:8px}
.ev.past .d,.ev.past b{opacity:.55}
.note2{border-left:3px solid var(--mid);padding:2px 0 2px 14px;font-size:15px;color:var(--mute);max-width:640px}
@media(min-width:1000px){.cal{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:start}}
/* bottom bar */
.bar{position:fixed;left:0;right:0;bottom:0;z-index:55;background:var(--card);border-top:1px solid var(--line);padding:10px max(16px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));display:flex;gap:10px}
.bar .btn{flex:1;min-height:46px;font-size:15px;padding:0 12px}
.bar .btn.o{background:transparent;color:var(--fg);border:1px solid var(--line2)}
@media(min-width:900px){.bar{display:none}}
@media(max-width:899px){body footer{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}footer .ft a{min-height:40px;display:flex;align-items:center}footer .th{min-height:44px;padding-inline:14px}footer .fb{gap:10px}}
main{padding-bottom:78px}
@media(min-width:900px){main{padding-bottom:0}}
.small{font-size:14px;color:var(--mute)}

.tg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tm{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.tm .ph{aspect-ratio:4/5;background:var(--tint);display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line)}
.tm .ph i{width:56px;height:56px;border-radius:50%;border:1px dashed var(--mid)}
.tm .bd{padding:12px 14px 14px}
.tm b{display:block;font-size:16px;line-height:1.25}
.tm small{display:block;color:var(--mute);font-size:13.5px;margin-top:2px}
@media(min-width:700px){.tg{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}
@media(min-width:1000px){.tg{grid-template-columns:repeat(5,minmax(0,1fr))}}

@media (hover:none){.cl div.lg img{filter:none;opacity:1}}







.cl{display:block}
.lwp{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}
.lw{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#E3E8F0}
.lc{background:#fff;height:112px;display:flex;align-items:center;justify-content:center;padding:18px 22px;transition:background .25s}
.lc img{max-width:84%;max-height:56px;width:auto;height:auto;object-fit:contain;filter:grayscale(1);opacity:.7;transition:filter .3s,opacity .3s,transform .3s}
.lc img.lo-eco{max-height:80px;max-width:62%}.lc img.lo-ifqm,.lc img.lo-rv{max-height:72px;max-width:62%}.lc img.lo-nunam{max-width:70%}
.lc:hover{background:#F6F8FC}.lc:hover img{filter:none;opacity:1;transform:scale(1.05)}
@media (hover:none){.lc img{filter:none;opacity:1}}
.lwf{background:var(--hero);color:#fff;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 24px;padding:18px 24px}
.lwf span{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--navy-mute)}
.lwf b{font-family:var(--display);font-weight:500;font-size:26px;letter-spacing:-.02em}
@media(min-width:700px){.lw{grid-template-columns:repeat(4,minmax(0,1fr))}.lc{height:128px}}
@media(min-width:1000px){.lw{grid-template-columns:repeat(6,minmax(0,1fr))}.lc{height:132px}.lc img{max-height:60px}.lwf{padding:20px 32px}}

.lwf{justify-content:flex-end}

.calc{display:grid;gap:22px}
.ci{display:grid;gap:20px;align-content:start;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px}
.ci[hidden]{display:none}
.rates{display:flex;flex-wrap:wrap;gap:8px}
.rates button{min-height:42px;padding:0 14px;border:1px solid var(--line2);background:var(--card);border-radius:99px;cursor:pointer;font-size:14.5px}
.rates button[aria-pressed="true"]{background:var(--btn);color:var(--btn-fg);border-color:var(--btn)}
.chk{display:flex;gap:10px;align-items:center;font-size:15.5px;min-height:44px}
.chk input{width:20px;height:20px}
.co{background:var(--hero);color:#fff;border-radius:14px;padding:26px;display:grid;gap:4px;align-content:start}
.co .big{font-family:var(--display);font-weight:500;font-size:clamp(38px,8vw,54px);line-height:1;letter-spacing:-.03em;margin:6px 0 14px;font-variant-numeric:tabular-nums}
.co .lab{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--navy-mute)}
.co .r{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-top:1px solid rgba(255,255,255,.2);font-variant-numeric:tabular-nums}
.co .r span:first-child{color:var(--navy-mute)}
.co .r b{font-weight:600;text-align:right}
.co .hint{font-size:13.5px;color:var(--navy-mute);padding-top:10px;border-top:1px solid rgba(255,255,255,.2)}
@media(min-width:900px){.calc{grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:32px;align-items:start}.co{position:sticky;top:100px}}

.co details.bk{border-top:1px solid rgba(255,255,255,.2)}
.co details.bk summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:11px 0;cursor:pointer;list-style:none;font-family:var(--body);font-size:inherit;font-weight:400;letter-spacing:0;min-height:0;line-height:1.5}
.co details.bk summary::-webkit-details-marker{display:none}
.co details.bk summary span{color:var(--navy-mute);display:flex;align-items:center;gap:10px}
.co details.bk summary span::before{content:"";width:8px;height:8px;border-right:2px solid var(--navy-pale);border-bottom:2px solid var(--navy-pale);transform:rotate(-45deg);transition:transform .2s;flex:none}
.co details.bk[open] summary span::before{transform:rotate(45deg)}
.co details.bk summary::after{display:none}
.co details.bk summary b{font-weight:600;text-align:right}
.co details.bk .sub{margin:0 0 10px 18px;padding:2px 0 2px 14px;border-left:2px solid rgba(168,195,224,.5);display:grid;gap:2px;animation:up .25s both}
.co details.bk .sub div{display:flex;justify-content:space-between;gap:16px;font-size:14.5px;padding:5px 0;color:var(--navy-mute)}
.co details.bk .sub div b{color:#fff;font-weight:500}
.co .bh{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--navy-pale);padding-top:12px}

.tgs{padding-block:0 8px}.tgp{margin:0}.tgp img{display:block;width:100%;height:auto;border-radius:14px;background:#E9EDF6}.tgp figcaption{margin-top:10px;font-size:14px;color:var(--mute)}
.jump{padding-top:20px;padding-bottom:4px}

/* ---- multi-page additions ---- */
.skip{position:absolute;left:-9999px;top:0;background:#fff;color:#1A3553;padding:12px 18px;z-index:100;font-weight:600}
.skip:focus{left:12px;top:12px}
a.card{color:inherit}
.other a{border:1px solid var(--line2);background:var(--card);border-radius:99px;min-height:42px;padding:0 16px;font-size:14.5px;display:inline-flex;align-items:center}
.other a[aria-current="true"]{background:var(--btn);color:var(--btn-fg);border-color:var(--btn)}
.other a:hover{border-color:var(--mid)}
.tl{display:inline-block}
a.tl{border-bottom:2px solid var(--mid)}
.tabs,.js-only{display:none}
.js .tabs{display:flex}
.fp{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:22px 22px 8px;margin-bottom:14px}
.fp .ph{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:6px}
.fp .ph h3{font-size:26px;line-height:1.1}
.fp .ph span{font-family:var(--display);font-size:44px;line-height:1;letter-spacing:-.03em;color:var(--mid)}
.fp .intro{color:var(--mute);font-size:15.5px;margin-bottom:10px}
.js .fp{margin-bottom:0}
.fp[hidden]{display:none}
.how{display:grid;gap:0;margin:0;padding:0;list-style:none;counter-reset:h}
.how li{counter-increment:h;display:grid;grid-template-columns:34px 1fr;gap:12px;padding:14px 0;border-top:1px solid var(--line);font-size:16.5px}
.how li::before{content:counter(h);font-family:var(--display);font-size:24px;line-height:1.2;color:var(--mid)}
.exs{display:grid;gap:14px}
.ex{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:20px 22px}
.ex h3{font-size:21px;margin-bottom:6px}
.ex p{color:var(--mute);font-size:16px}
@media(min-width:800px){.exs.two{grid-template-columns:1fr 1fr}}
.mgrid{display:grid;gap:14px}
.mo{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px 20px}
.mo h3{font-size:22px;margin-bottom:6px}
.mo ul{list-style:none;margin:0;padding:0}
.mo li{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:8px 0;border-top:1px solid var(--line);font-size:15px;line-height:1.4}
.mo li b{font-family:var(--display);font-weight:500;font-size:20px;color:var(--mid);line-height:1.1}
.mo li small{display:block;color:var(--mute);font-size:13.5px}
@media(min-width:700px){.mgrid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.mgrid{grid-template-columns:repeat(3,1fr)}}
.cal-on .nojs{display:none}
.nojs-note{font-size:15px;color:var(--mute)}
.prose p{margin:0 0 14px;max-width:680px;font-size:17px}
.prose h2{font-size:30px;margin:28px 0 10px}
.prose h3{font-size:21px;margin:22px 0 8px}
.prose ul{padding-left:20px;max-width:680px}
.prose li{margin-bottom:8px}
.crumb a:hover{border-bottom-color:#fff}
.sent{display:none;padding:32px 26px;align-content:start;gap:14px}
.sent h3{font-size:30px}.sent p{color:var(--mute)}
@media(min-width:900px){.sent{padding:44px}}
.sendErr{display:none;color:#B3261E;font-size:15px}
:root[data-theme="dark"] .sendErr{color:#FF9B93}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .sendErr{color:#FF9B93}}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
footer{padding-block:44px 28px}
.ft{display:grid;gap:28px;grid-template-columns:1fr 1fr}
.ft .a{grid-column:1/-1}
.ft h4{font-family:var(--mono);font-weight:500;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mid);margin:0 0 10px}
.ft a{display:block;padding:5px 0;font-size:15px;color:var(--fg)}
.ft a:hover{color:var(--mid)}
.ft p{font-size:14.5px;line-height:1.6;max-width:360px}
.ft .nm{font-family:var(--display);font-size:22px;color:var(--fg);margin-bottom:8px}
.fb{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;margin-top:32px;padding-top:20px;border-top:1px solid var(--line);font-size:13.5px}
@media(min-width:900px){.ft{grid-template-columns:1.6fr 1fr 1fr 1fr}.ft .a{grid-column:auto}}
footer .w{display:block}
.tools4{display:grid;gap:14px}
@media(min-width:700px){.tools4{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.tools4{grid-template-columns:repeat(3,1fr)}}
.tm .ph img{width:100%;height:100%;object-fit:cover;display:block}
.ph1{height:auto;aspect-ratio:1/1;overflow:hidden;background:var(--tint)}
.ph1 img{width:100%;height:100%;object-fit:cover;object-position:50% 0;display:block}
.tm .ph{overflow:hidden}
.ck{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:8px}.ck li{padding-left:22px;position:relative}.ck li:before{content:"";position:absolute;left:0;top:.72em;width:10px;height:2px;background:var(--mid)}
.tm .bd em{display:block;margin-top:6px;font-style:normal;font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--mid)}
.lwp{background:transparent}
.lw{background:transparent;gap:0}
.lc{background:transparent;outline:1px solid var(--line);outline-offset:-.5px}
.lc:hover{background:rgba(26,53,83,.04)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .lw{background:#EDF0F7}:root:not([data-theme="light"]) .lc{outline-color:#D5DBE6}}
:root[data-theme="dark"] .lw{background:#EDF0F7}:root[data-theme="dark"] .lc{outline-color:#D5DBE6}
.pcw{container-type:inline-size;min-width:0}
.pcw .pc{height:100%}
.ph1{display:flex;align-items:center;justify-content:center}
.ph1 i{width:64px;height:64px;border-radius:50%;border:1px dashed var(--mid);display:flex;align-items:center;justify-content:center;text-align:center;font-style:normal;font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--mid);line-height:1.3}
@container (min-width:460px){.pc{display:grid;grid-template-columns:40% 1fr}.pc .ph1{height:100%;aspect-ratio:4/5}}
@font-face{font-family:'Jost';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jost-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jost-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/jost-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-500-normal.woff2) format('woff2')}
