@font-face { font-family: 'Fraunces'; font-style: normal; font-weight: 600; font-display: swap; src: url(/assets/fonts/Fraunces-600.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Outfit'; font-style: normal; font-weight: 400; font-display: swap; src: url(/assets/fonts/Outfit-400.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Outfit'; font-style: normal; font-weight: 600; font-display: swap; src: url(/assets/fonts/Outfit-600.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'DM Mono'; font-style: normal; font-weight: 400; font-display: swap; src: url(/assets/fonts/DMMono-400.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'DM Mono'; font-style: normal; font-weight: 500; font-display: swap; src: url(/assets/fonts/DMMono-500.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
:root{--ink:#4A1F3A;--ink2:#6E4A60;--cream:#FFF8F0;--paper:#fff;--pink:#F6B8C8;--mint:#BFE6D3;--butter:#FFE49A;--lilac:#D9CCF2;--berry:#8E2C5C;--line:#E8D5DA;--sub:#F6B8C8;--staff:#D9CCF2;--ncf:#8E2C5C;--card:#FFE49A}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:16px/1.6 'Outfit',system-ui,sans-serif;color:var(--ink);background-color:var(--cream);
background-image:radial-gradient(circle at 8% 12%,var(--pink) 0 5px,transparent 6px),radial-gradient(circle at 92% 8%,var(--mint) 0 7px,transparent 8px),radial-gradient(circle at 15% 70%,var(--butter) 0 6px,transparent 7px),radial-gradient(circle at 88% 60%,var(--lilac) 0 6px,transparent 7px),radial-gradient(circle at 50% 30%,var(--mint) 0 3px,transparent 4px),radial-gradient(circle at 35% 90%,var(--pink) 0 4px,transparent 5px),radial-gradient(circle at 72% 82%,var(--berry) 0 2px,transparent 3px),radial-gradient(circle at 25% 38%,var(--berry) 0 2px,transparent 3px);background-size:420px 420px;}
a{color:var(--berry);text-underline-offset:3px}a:hover{color:var(--ink)}
h1,h2,h3{font-family:'Fraunces',Georgia,serif;font-weight:600;line-height:1.15;color:var(--ink);margin:0 0 .5em}
h1{font-size:clamp(2rem,5vw,3.2rem);margin-top:.4em}h2{font-size:1.65rem;margin-top:1.6em}h3{font-size:1.2rem}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:9}
.top{background:var(--ink);color:var(--cream);position:sticky;top:0;z-index:5}
.top .wrap{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}
.brand{display:flex;align-items:center;gap:10px;color:var(--cream);text-decoration:none;font-family:'Fraunces',serif;font-weight:600;font-size:1.35rem}.brand svg{width:36px;height:36px}.brand:hover{color:#fff}
.top nav ul{display:flex;gap:6px;list-style:none;margin:0;padding:0;flex-wrap:wrap}.top nav a{display:block;color:var(--ink);background:var(--pink);padding:5px 14px;border-radius:99px;text-decoration:none;font-size:.92rem;font-weight:600}
.top nav li:nth-child(2n) a{background:var(--mint)}.top nav li:nth-child(3n) a{background:var(--butter)}.top nav a[aria-current]{background:#fff;outline:2px solid var(--pink)}
.indep{margin-left:auto;font-size:.85rem}.indep a{color:var(--cream)}
main{padding-bottom:50px}.crumbs{font-size:.85rem;margin:16px 0 0;color:var(--ink2)}
.lede{font-size:1.15rem;max-width:62ch;color:var(--ink2)}.small{font-size:.86rem;color:var(--ink2)}
.btn{display:inline-block;background:var(--berry);color:#fff;border:0;border-radius:99px;padding:11px 24px;font:600 1rem 'Outfit',sans-serif;text-decoration:none;cursor:pointer}.btn:hover{background:var(--ink);color:#fff}
.btn.alt{background:#fff;color:var(--berry);border:2px solid var(--berry)}
.card{background:var(--paper);border:2px solid var(--ink);border-radius:20px;padding:20px;box-shadow:5px 5px 0 var(--pink)}
.card h3{margin-top:0}
.doors{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}
.door{display:block;border:2px solid var(--ink);border-radius:26px;padding:26px;text-decoration:none;color:var(--ink);background:var(--pink);box-shadow:6px 6px 0 var(--ink);transition:transform .1s}.door:hover{transform:translate(-2px,-2px);color:var(--ink)}
.door.g{background:var(--mint)}.door h2{margin:0 0 6px;font-size:1.9rem}.door p{margin:.2em 0}.door .go{font-weight:700;margin-top:10px;display:block}
.hero{padding:24px 0 6px}
.board{background:var(--paper);border:2px solid var(--ink);border-radius:22px;padding:22px;box-shadow:6px 6px 0 var(--mint)}
form.lf{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:12px;align-items:end;margin-bottom:12px}
label{display:block;font-weight:600;font-size:.88rem}
input,select,textarea{width:100%;font:inherit;border:2px solid var(--ink);border-radius:12px;padding:8px 10px;background:#fff;color:var(--ink);margin-top:4px}
input:focus,select:focus,textarea:focus,a:focus-visible,button:focus-visible{outline:3px solid var(--berry);outline-offset:2px}
.legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.84rem;margin:10px 0}.legend span::before{content:'';display:inline-block;width:14px;height:14px;border-radius:4px;margin-right:6px;vertical-align:-2px;border:1.5px solid var(--ink)}
.legend .k0::before{background:var(--sub)}.legend .k1::before{background:var(--staff)}.legend .k2::before{background:var(--ncf)}.legend .k3::before{background:var(--card)}.legend .kx::before{background:repeating-linear-gradient(45deg,#fff 0 3px,var(--ink2) 3px 5px)}
.legend.gl .k0::before{background:var(--mint)}.legend.gl .k1::before{background:var(--butter)}
.lrow{display:grid;grid-template-columns:150px 1fr 90px;grid-template-areas:'n b t' '. note note';gap:2px 12px;align-items:center;padding:7px 0;border-top:1px dotted var(--ink2)}
.lname{grid-area:n;font-weight:600}.lbar{grid-area:b;display:flex;height:26px;border-radius:8px;overflow:hidden;background:#f6efe9}.ltotal{grid-area:t;text-align:right;font-family:'DM Mono',monospace;font-weight:500}.ltotal span{font-size:.75rem;color:var(--ink2)}
.lnote{grid-area:note;font-size:.8rem;color:var(--ink2)}
.lbar i{display:block;height:100%;border-right:1.5px solid var(--ink)}.lbar .s0{background:var(--sub)}.lbar .s1{background:var(--staff)}.lbar .s2{background:var(--ncf)}.lbar .s3{background:var(--card)}
.lbar.g .s0,[data-mode=gym] .lbar .s0{background:var(--mint)}[data-mode=gym] .lbar .s1{background:var(--butter)}
.lbar .sx{width:34px;flex:none;background:repeating-linear-gradient(45deg,#fff 0 3px,var(--ink2) 3px 5px);border-right:0}
.pill{font-size:.68rem;padding:1px 8px;border-radius:99px;border:1.5px solid var(--ink);font-weight:600;white-space:nowrap}.p3{background:var(--butter)}.pf{background:var(--lilac)}.pq{background:#fff}
.yearline{background:var(--butter);border:2px solid var(--ink);border-radius:14px;padding:10px 14px;margin-top:12px;font-weight:600}
.tabs{display:flex;gap:8px;margin:16px 0}.tabs a{padding:7px 20px;border-radius:99px;border:2px solid var(--ink);text-decoration:none;color:var(--ink);font-weight:600;background:#fff}.tabs a[aria-current]{background:var(--ink);color:#fff}
table{border-collapse:collapse;width:100%;background:#fff;border:2px solid var(--ink);border-radius:14px;overflow:hidden;font-size:.94rem}th,td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}th{background:var(--pink);font-weight:600}.num{text-align:right;font-family:'DM Mono',monospace}
.scroll{overflow-x:auto}
.cols2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.cols3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.pb{list-style:none;margin:0;padding:0}.pb li{display:flex;align-items:baseline;gap:8px;padding:5px 0}.pb li .k{flex:none;font-weight:600}.pb li .d{flex:1;border-bottom:2px dotted var(--ink2);min-width:20px;transform:translateY(-4px)}.pb li .v{text-align:right;font-family:'DM Mono',monospace;font-size:.92rem;max-width:60%}
.facts{padding-left:20px}.plain{padding-left:20px}.plain li{margin:.35em 0}
.callout{background:var(--butter);border:2px solid var(--ink);border-radius:16px;padding:12px 16px;margin:16px 0}
.cflt{border:2px dashed var(--berry);border-radius:18px;padding:16px;background:#fff;margin:14px 0}.cflt h3{margin-top:0}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;margin:18px 0}
.vc{display:block;text-decoration:none;color:var(--ink)}.vc:hover{color:var(--ink)}.vc .big{font-family:'DM Mono',monospace;font-size:1.4rem;color:var(--berry)}
.tape{background:repeating-linear-gradient(135deg,#fff 0 10px,#fbeff4 10px 20px)}.tapebar{font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--berry)}
.mailform{display:grid;gap:12px;max-width:640px}
.adv-table th:first-child{width:34%}
.foot{background:var(--ink);color:var(--cream);padding:34px 0;margin-top:30px}.foot .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:26px}.foot a{color:var(--pink)}.foot ul{list-style:none;margin:6px 0 0;padding:0}.foot li{margin:.3em 0}.foot .small{color:#e7d3de}.clioos{margin:10px 0 0;font-size:.85rem}
@media(max-width:820px){.doors,.cols2,.cols3{grid-template-columns:1fr}.foot .wrap{grid-template-columns:1fr 1fr}.lrow{grid-template-columns:1fr 80px;grid-template-areas:'n t' 'b b' 'note note'}.indep{display:none}.pb li .v{max-width:55%}}
@media(max-width:520px){.foot .wrap{grid-template-columns:1fr}.top nav a{padding:4px 11px;font-size:.85rem}body{background-size:300px 300px}.cards{grid-template-columns:1fr}}
