@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-ext-wght-normal-DCwSJGxG.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-wght-normal-D_ZTVpCC.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-bg:#fff;--color-surface:#fff;--color-card:#f6f9fd;--color-panel:#f6f8fb;--color-sky-100:#eaf3ff;--color-sky-200:#d9e8fb;--color-sky-300:#b7d1f3;--color-sky-500:#1f6fd1;--color-sky-600:#12457f;--color-sky-700:#0c3363;--color-ink:#0d2235;--color-ink-soft:#52677a;--color-border:#e4eaf1;--color-accent:#f6d043;--color-accent-pale:#fff8d9;--color-green-pale:#eef8f1;--color-green:#1f7a45;--color-primary:var(--color-sky-600);--color-primary-hover:var(--color-sky-700);--color-primary-contrast:#fff;--color-highlight:var(--color-sky-500);--color-success-bg:#e6f6ec;--color-success-text:#1d6b3a;--color-warning-bg:#fff6dc;--color-warning-text:#7a5600;--color-danger-bg:#fdecec;--color-danger-border:#f3b9b9;--color-danger-text:#a23131;--font-heading:"Bricolage Grotesque Variable", "Bricolage Grotesque", system-ui, sans-serif;--font-body:"Figtree Variable", "Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;--radius:22px;--radius-sm:12px;--shadow-sm:0 1px 2px #0d22350d;--shadow-md:0 24px 50px -24px #0d22354d;--shadow-button:0 8px 22px -10px #12457fbf}*,:before,:after{box-sizing:border-box}html{scrollbar-gutter:stable;-webkit-text-size-adjust:100%}body{min-height:100vh;font-family:var(--font-body);color:var(--color-ink);background:var(--color-bg);-webkit-font-smoothing:antialiased;flex-direction:column;margin:0;font-size:1.0625rem;line-height:1.55;display:flex}h1,h2,h3{font-family:var(--font-heading);letter-spacing:-.025em;margin:0 0 .6em;font-weight:800;line-height:1.1}h1{letter-spacing:-.035em;font-size:clamp(2rem,4vw,2.9rem)}h2{font-size:1.4rem}h3{font-size:1.12rem;font-weight:700}p{margin:0 0 1em}a{color:var(--color-primary)}.muted{color:var(--color-ink-soft)}.small{font-size:.875rem}.container{width:100%;max-width:76rem;margin:0 auto;padding:0 1.25rem}.site-header{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border);background:#ffffffeb;position:sticky;top:0}.site-header__inner{align-items:center;gap:1.5rem;min-height:4.25rem;display:flex}.wordmark{font-family:var(--font-heading);letter-spacing:-.02em;color:var(--color-ink);white-space:nowrap;align-items:center;gap:.6rem;font-size:1.5rem;font-weight:800;text-decoration:none;display:inline-flex}.wordmark__duck{background:url(/logo.png) 50%/contain no-repeat;flex-shrink:0;width:2.4rem;height:2.4rem;transition:transform .3s}.wordmark:hover .wordmark__duck{transform:rotate(-12deg)translateY(-2px)}.site-nav{flex:1;align-items:center;gap:.25rem;display:flex}body>main,body>.shell{flex:1 0 auto}.site-nav a,.account-nav a:not(.btn){color:var(--color-ink-soft);white-space:nowrap;border-radius:999px;padding:.45rem .75rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:color .15s,background .15s}.site-nav a:hover,.account-nav a:not(.btn):hover{color:var(--color-ink);background:var(--color-panel)}.site-nav a.active,.account-nav a.active{color:var(--color-ink);background:var(--color-sky-100)}.account-nav{align-items:center;gap:.25rem;display:flex}.site-header .menu-toggle,.site-header .header-quick{display:none}.site-menu{display:contents}@media (width<=860px){.site-header .menu-toggle,.site-header .header-quick{display:inline-flex}.site-header .menu-toggle{justify-content:center;align-items:center;width:2.6rem;height:2.6rem;padding:0}.site-header__inner{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.5rem;padding-top:.6rem;padding-bottom:.6rem;display:grid}.wordmark{min-width:0;font-size:1.25rem}}@media (width<=400px){.site-header__inner:has(.header-quick) .wordmark__name{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}}@media (width<=860px){.wordmark__duck{width:2rem;height:2rem}.site-menu{z-index:2;max-height:calc(100dvh - var(--site-header-height,4rem));background:var(--color-surface);border-top:3px solid var(--color-primary);padding:.75rem 1.25rem 1.25rem;display:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 24px 40px -12px #0d223559}.site-header.open .site-menu{display:block}.site-nav,.account-nav{flex-direction:column;align-items:stretch}.account-nav{border-top:1px solid var(--color-border);margin-top:.5rem;padding-top:.5rem}.site-nav a,.account-nav a:not(.btn){padding:.7rem .75rem;font-size:1.05rem}.menu-backdrop{z-index:19;inset:0;top:var(--site-header-height,4rem);cursor:pointer;background:#0d223573;border:0;position:fixed}.site-header.open .btn.menu-toggle,.site-header.open .btn.menu-toggle:hover{background:var(--color-primary);color:var(--color-primary-contrast)}.site-nav a,.account-nav a,.account-nav button{border-radius:var(--radius-sm);text-align:left}}.shell{grid-template-columns:15rem 1fr;gap:2rem;padding-top:2rem;padding-bottom:4rem;display:grid}.sidebar{align-self:start;position:sticky;top:6rem}.sidebar__title{text-transform:uppercase;letter-spacing:.08em;color:var(--color-ink-soft);margin:0 0 .5rem .8rem;font-size:.75rem;font-weight:600}.menu-list{flex-direction:column;gap:.15rem;display:flex}.menu-list__group{text-transform:uppercase;letter-spacing:.1em;color:var(--color-ink-soft);opacity:.8;cursor:default;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;margin:1.1rem 0 .35rem;padding:0 .8rem;font-size:.68rem;font-weight:700;display:flex}.menu-list__group:after{content:"";border-top:1px solid var(--color-border);flex:1}.menu-list__group:first-child{margin-top:.25rem}.menu-list a{border-radius:var(--radius-sm);color:var(--color-ink);padding:.5rem .8rem;font-weight:500;text-decoration:none}.menu-list a:hover{background:var(--color-sky-100)}.menu-list a.active{background:var(--color-ink);color:#fff}.shell__main{min-width:0}@media (width>=861px) and (width<=105.99rem){.shell--wide{max-width:none}}@media (width>=106rem){.shell--wide{grid-template-columns:15rem minmax(0,1fr) 15rem;max-width:110rem}}@media (width<=860px){.shell{grid-template-columns:minmax(0,1fr);gap:1rem;padding-top:1rem}.sidebar{display:none}}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.page-header h1{margin:0}.back-link{margin-bottom:.75rem;font-size:.9rem;text-decoration:none;display:inline-block}.site-footer{background:var(--color-ink);color:#b9c7d4;flex-shrink:0;margin-top:5rem;padding:3.5rem 0 2.5rem;font-size:.9rem}.site-footer__inner{flex-wrap:wrap;justify-content:space-between;gap:1rem;display:flex}.btn{min-height:2.75rem;font:inherit;white-space:nowrap;cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;padding:0 1.15rem;font-size:.95rem;font-weight:700;text-decoration:none;transition:background .15s,border-color .15s,transform .15s,box-shadow .15s;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:var(--color-primary-contrast);box-shadow:var(--shadow-button)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px)}.btn-secondary{background:var(--color-surface);border:1.5px solid var(--color-border);color:var(--color-ink)}.btn-secondary:hover:not(:disabled){border-color:var(--color-ink)}.btn-lg{min-height:3.25rem;padding:0 1.6rem;font-size:1rem}.btn-danger{background:var(--color-surface);border-color:var(--color-danger-border);color:var(--color-danger-text)}.btn-danger:hover:not(:disabled){background:var(--color-danger-bg)}.btn-ghost{color:var(--color-ink);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--color-sky-100)}.btn-sm{min-height:2.1rem;padding:0 .8rem;font-size:.875rem}.btn-swish{border-color:var(--color-border);color:var(--color-ink);background:#fff}.actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.form{flex-direction:column;gap:1rem;display:flex}.form-row{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:1rem;display:grid}.field{flex-direction:column;gap:.3rem;display:flex}.field>span:first-child,.field legend{font-size:.9rem;font-weight:600}.field .hint{color:var(--color-ink-soft);font-size:.8rem}.field-error{color:var(--color-danger-text);font-size:.85rem}.inherit__label{align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;display:flex}.inherit__value{border:1px dashed var(--color-border);border-radius:var(--radius-sm);background:var(--color-panel);flex-wrap:wrap;align-items:center;gap:.25rem .6rem;min-height:2.8rem;padding:.35rem .4rem .35rem .85rem;display:flex}.inherit__text{white-space:pre-line;flex:auto}.inherit__value .btn{margin-left:auto}.inherit.is-overridden .input{border-color:var(--color-warning-text);box-shadow:inset 3px 0 0 var(--color-accent)}.link-button{color:var(--color-primary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.form-section{margin:.5rem 0 0;font-size:1.05rem}.course-info{border:1px dashed var(--color-border);border-radius:var(--radius-sm);background:var(--color-panel);gap:.5rem;padding:.75rem .9rem;display:grid}.course-info__head{justify-content:space-between;gap:1rem;font-size:.9rem;display:flex}.course-info__part p{white-space:pre-line;margin:.15rem 0 0}.input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;height:2.8rem;color:var(--color-ink);font:inherit;padding:0 .85rem}textarea.input{resize:vertical;height:auto;min-height:6rem;padding:.6rem .85rem}.input:focus{outline:2px solid var(--color-sky-300);outline-offset:0;border-color:var(--color-sky-500)}.checkbox{cursor:pointer;align-items:flex-start;gap:.55rem;display:flex}.checkbox input{width:1.05rem;height:1.05rem;accent-color:var(--color-primary);margin-top:.3rem}fieldset{border:0;margin:0;padding:0}.choice-list{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.5rem;display:grid}.choice{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;align-items:center;gap:.6rem;padding:.7rem .9rem;display:flex}.choice:has(input:checked){border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.choice input{accent-color:var(--color-primary)}.choice small{color:var(--color-ink-soft);display:block}.card{background:var(--color-card);border:1.5px solid var(--color-border);border-radius:var(--radius);padding:1.5rem}@media (width<=640px){.container .card:not(.card .card):not(.modal .card){border-left:0;border-right:0;border-radius:0;margin-left:-1.25rem;margin-right:-1.25rem;padding-left:1.25rem;padding-right:1.25rem}.container .card.now-card{border-left:6px solid var(--color-border)}}.card+.card,.card+.section,.section+.section{margin-top:1.25rem}.card h2{margin-bottom:.8rem}.card-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem;display:flex}.card-header h2{margin:0}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1rem;display:grid}.grid-cards>.card{margin-top:0}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:.95rem}.table th,.table td{text-align:left;border-bottom:1px solid var(--color-border);vertical-align:top;padding:.65rem .75rem}.table td .btn-sm{margin-top:-.35rem;margin-bottom:-.35rem}.table th{text-transform:uppercase;letter-spacing:.05em;color:var(--color-ink-soft);font-size:.8rem;font-weight:600}.table tr:last-child td{border-bottom:0}.table .num{text-align:right;white-space:nowrap}.list{margin:0;padding:0;list-style:none}.list li{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 0;display:flex}.list li:last-child{border-bottom:0}.badge{background:var(--color-sky-100);color:var(--color-sky-700);white-space:nowrap;border-radius:999px;padding:.15rem .6rem;font-size:.78rem;font-weight:600;display:inline-block}.badge-success{background:var(--color-success-bg);color:var(--color-success-text)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning-text)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger-text)}.badge-muted{color:var(--color-ink-soft);background:#eef2f5}.alert{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-sky-100);padding:.8rem 1rem}.alert-error{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger-text)}.alert-success{background:var(--color-success-bg);color:var(--color-success-text);border-color:#b7e2c6}.alert-warning{background:var(--color-warning-bg);color:var(--color-warning-text);border-color:#f1dc9c}.empty{text-align:center;color:var(--color-ink-soft);padding:2rem 1rem}.loading{text-align:center;color:var(--color-ink-soft);padding:3rem 1rem}.spinner{vertical-align:-.2rem;border:2px solid;border-right-color:#0000;border-radius:50%;width:1.1rem;height:1.1rem;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}dl.details{grid-template-columns:max-content 1fr;gap:.45rem 1.25rem;margin:0;display:grid}dl.details dt{color:var(--color-ink-soft)}dl.details dd{margin:0}@media (width<=640px){dl.details{grid-template-columns:minmax(0,1fr);gap:0}dl.details dt{font-size:.85rem;font-weight:600}dl.details dt:not(:first-child){margin-top:.75rem}dl.details dd{overflow-wrap:anywhere}}.modal-backdrop{z-index:50;background:#12374f59;justify-content:center;align-items:flex-start;padding:6vh 1rem 1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--color-surface);border-radius:var(--radius);width:100%;max-width:34rem;box-shadow:var(--shadow-md);padding:1.5rem}.modal h2{margin-bottom:1rem}.hero{background:linear-gradient(180deg, var(--color-sky-200) 0%, var(--color-bg) 100%);padding:4.5rem 0 3.5rem}.hero h1{max-width:18ch;font-size:clamp(2.2rem,5vw,3.6rem)}.hero p{max-width:38rem;color:var(--color-ink-soft);font-size:1.15rem}.hero .actions{justify-content:flex-start;margin-top:1.5rem}.section{padding:3rem 0}.notice-banner{background:var(--color-accent);color:var(--color-ink);text-align:center;padding:.6rem 1rem;font-weight:600}.auth-card{max-width:30rem;margin:3rem auto}.signup-card{max-width:44rem;margin:2.5rem auto}.error-page{text-align:center;max-width:36rem;margin:6rem auto;padding:0 1.25rem}.payment-status{border-radius:var(--radius-sm);background:var(--color-sky-100);align-items:center;gap:.75rem;padding:1rem;display:flex}.mock-banner{font-size:.85rem}.input[aria-invalid=true]{border-color:var(--color-danger-text);outline-color:var(--color-danger-border)}.multiselect{position:relative}.multiselect summary{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;align-items:center;list-style:none;display:flex;overflow:hidden}.multiselect summary::-webkit-details-marker{display:none}.multiselect summary:after{content:"▾";color:var(--color-ink-soft);margin-left:auto;padding-left:.5rem}.multiselect__menu{z-index:30;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);min-width:100%;max-height:18rem;box-shadow:var(--shadow-md);flex-direction:column;gap:.4rem;padding:.75rem;display:flex;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto}.segmented{background:var(--color-sky-100);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.segmented button{font:inherit;color:var(--color-ink-soft);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.4rem .9rem;font-size:.9rem;font-weight:600}.segmented button.active{background:var(--color-surface);color:var(--color-ink);box-shadow:var(--shadow-sm)}.toolbar{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1rem;display:flex}.toolbar .input{width:auto}.toolbar .spacer{flex:1}.timegrid-wrap,.monthgrid-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);overflow-x:auto}.timegrid-wrap{overflow-y:hidden}.timegrid{min-width:min-content;padding-bottom:10px;display:grid}.timegrid__corner,.timegrid__head{z-index:2;background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:.5rem;position:sticky;top:0}.timegrid__head{text-align:center;border-left:1px solid var(--color-border);flex-direction:column;font-size:.9rem;display:flex}.timegrid__head.is-today{background:var(--color-sky-100)}.timegrid__axis{position:relative}.timegrid__axis span{color:var(--color-ink-soft);font-size:.72rem;position:absolute;right:.4rem;transform:translateY(-50%)}.timegrid__col{border-left:1px solid var(--color-border);position:relative}.timegrid__col.is-shaded{background:repeating-linear-gradient(45deg,#f6f8fa,#f6f8fa 8px,#eef2f5 8px 16px)}.timegrid__shade-label{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;color:var(--color-ink-soft);text-align:center;font-size:.75rem;font-weight:600;position:absolute;top:.4rem;left:.4rem;right:.4rem}.timegrid__line{border-top:1px dashed #e3edf5;position:absolute;left:0;right:0}.timegrid__band{color:var(--color-danger-text);background:repeating-linear-gradient(45deg,#a231310f,#a231310f 8px,#a231311f 8px 16px);padding:.2rem .3rem;font-size:.72rem;position:absolute;left:0;right:0;overflow:hidden}.timegrid__event{box-sizing:border-box;background:var(--color-sky-200);min-height:0;color:var(--color-ink);font:inherit;text-align:left;cursor:pointer;z-index:1;border:1px solid #12374f26;border-radius:6px;flex-direction:column;align-items:flex-start;gap:0;padding:.15rem .35rem;font-size:.75rem;line-height:1.2;display:flex;position:absolute;overflow:hidden}.timegrid__event:hover{z-index:3;box-shadow:var(--shadow-md)}.timegrid__event.has-conflict{border:2px solid var(--color-danger-text)}.timegrid__event.is-cancelled{opacity:.55;text-decoration:line-through;background:repeating-linear-gradient(45deg,#fff,#fff 6px,#f1f4f7 6px 12px)!important}.timegrid__time{font-weight:700}.timegrid__title{overflow-wrap:anywhere;-webkit-box-orient:vertical;font-weight:600;display:-webkit-box;overflow:hidden}.timegrid__time,.timegrid__sub{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.timegrid__sub{color:var(--color-ink-soft)}.timegrid__inline-title{font-weight:600}.monthgrid{grid-template-columns:2.2rem repeat(7,minmax(7rem,1fr));min-width:min-content;display:grid}.monthgrid__dayname{text-align:center;border-bottom:1px solid var(--color-border);text-transform:capitalize;padding:.5rem;font-size:.85rem;font-weight:600}.monthgrid__week{border-bottom:1px solid var(--color-border);justify-content:center;align-items:flex-start;padding-top:.5rem;display:flex}.monthgrid__cell{border-left:1px solid var(--color-border);border-bottom:1px solid var(--color-border);flex-direction:column;gap:2px;min-height:7rem;padding:.3rem;display:flex}.monthgrid__cell.is-outside{background:#fafcfd}.monthgrid__cell.is-outside .monthgrid__date{color:#a3b4c2}.monthgrid__cell.is-today .monthgrid__date{background:var(--color-primary);color:#fff}.monthgrid__cell.is-shaded{background:repeating-linear-gradient(45deg,#f6f8fa,#f6f8fa 8px,#eef2f5 8px 16px)}.monthgrid__date{font:inherit;cursor:pointer;color:var(--color-ink);background:0 0;border:0;border-radius:999px;align-self:flex-start;padding:.1rem .4rem;font-size:.85rem;font-weight:700}.monthgrid__shade{color:var(--color-ink-soft);font-size:.72rem;font-weight:600}.monthgrid__event,.monthgrid__more{border:0;border-left:3px solid var(--color-sky-500);background:var(--color-sky-100);font:inherit;text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;color:var(--color-ink);border-radius:4px;padding:.1rem .3rem;font-size:.72rem;overflow:hidden}.monthgrid__event.has-conflict{background:var(--color-danger-bg)}.monthgrid__event.is-cancelled{opacity:.6;text-decoration:line-through}.monthgrid__more{color:var(--color-primary);background:0 0;border-left-color:#0000;font-weight:600}.legend{color:var(--color-ink-soft);flex-wrap:wrap;gap:1rem;margin-top:.75rem;font-size:.8rem;display:flex}.legend span:before{content:"";vertical-align:-.1rem;background:var(--swatch,var(--color-sky-200));border:var(--swatch-border,1px solid #12374f26);border-radius:3px;width:.8rem;height:.8rem;margin-right:.35rem;display:inline-block}.swatch{background:var(--color-sky-200);vertical-align:0;border:1px solid #12374f26;border-radius:3px;width:.7rem;height:.7rem;margin-right:.45rem;display:inline-block}.batchbar{z-index:5;border-radius:var(--radius-sm);background:var(--color-sky-100);border:1px solid var(--color-sky-300);flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.6rem .8rem;display:flex;position:sticky;top:4.5rem}.table tr.is-past td{color:var(--color-ink-soft)}.linklike{font:inherit;color:var(--color-primary);cursor:pointer;text-align:left;background:0 0;border:0;padding:0;text-decoration:underline}.inline-picker{align-items:center;gap:.25rem;display:inline-flex}.inline-picker .input{width:9rem;height:2.1rem}.pattern{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fbfdff;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.pattern__head{justify-content:space-between;align-items:center;display:flex}.ledger+.ledger{border-top:1px solid var(--color-border);margin-top:1.25rem;padding-top:1.25rem}.ledger__head{flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-bottom:.4rem;display:flex}span.cap,strong.cap{display:inline-block}.cap:first-letter{text-transform:uppercase}.agefinder{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:1.75rem}.agefinder__result{flex-direction:column;gap:1rem;margin-top:1rem;display:flex}.agefinder__period p{margin-bottom:.5rem}.chips{flex-wrap:wrap;gap:.5rem;display:flex}.chip{background:var(--color-sky-100);color:var(--color-sky-600);border:1.5px solid #0000;border-radius:999px;padding:.45rem .95rem;font-weight:700;text-decoration:none;display:inline-block}.chip:hover{border-color:var(--color-sky-600)}.prose{max-width:46rem}.prose p,.prose li{font-size:1.05rem}.prose h2{margin-top:2rem}.lead{color:var(--color-ink-soft);max-width:44rem;font-size:1.25rem;line-height:1.5}.page-hero{padding:3rem 0 2rem}.page-hero h1{letter-spacing:-.04em;max-width:22ch;font-size:clamp(2.2rem,4.6vw,3.4rem);line-height:1.05}.breadcrumbs{color:var(--color-ink-soft);margin-bottom:.75rem;font-size:.85rem}.breadcrumbs a{color:var(--color-ink-soft)}.facts{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem;margin:1.5rem 0;display:grid}.fact{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.9rem 1rem}.fact span{color:var(--color-ink-soft);font-size:.8rem;display:block}.fact strong{font-size:1.1rem}.checklist{margin:0 0 1rem;padding:0;list-style:none}.checklist li{margin-bottom:.45rem;padding-left:1.8rem;position:relative}.checklist li:before{content:"✓";color:var(--color-primary);font-weight:700;position:absolute;top:0;left:0}.two-col{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;gap:2rem;display:grid}@media (width<=860px){.two-col{grid-template-columns:minmax(0,1fr)}}.review{margin:0}.review blockquote{margin:0 0 .5rem;font-size:1rem}.review figcaption{color:var(--color-ink-soft);font-weight:600}.level-card{color:inherit;flex-direction:column;text-decoration:none;transition:transform .15s,box-shadow .15s;display:flex}.level-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.level-card .meta{color:var(--color-ink-soft);margin-top:auto;padding-top:.75rem;font-size:.85rem}.faq details{border-bottom:1px solid var(--color-border);padding:.9rem 0}.faq summary{cursor:pointer;font-size:1.05rem;font-weight:600}.faq details p{margin:.6rem 0 0}.site-footer__cols{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:1.5rem;margin-bottom:1.5rem;display:grid}.site-footer h3{color:#fff;letter-spacing:0;margin-bottom:.6rem;font-size:.95rem}.site-footer ul{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.site-footer a{color:#dfe7ee}.term-status{border-radius:var(--radius-sm);background:#ffffffb3;padding:.6rem 1rem;display:inline-block;color:var(--color-ink)!important;font-size:1rem!important}.hero__text .prose p{color:var(--color-ink-soft);max-width:38rem;font-size:1.15rem}.list li.is-unbooked strong{color:var(--color-ink-soft);text-decoration:line-through}.person-card+.person-card{margin-top:1.25rem}.person-card__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.person-card__head h2{margin:0}.stat-row{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;display:flex}.door-code{letter-spacing:.1em;font-family:ui-monospace,monospace;font-size:1.3rem;font-weight:700}.card-attention{background:#fffcf2;border-color:#f1dc9c}.tabs{flex-wrap:wrap;gap:.4rem;margin-bottom:1.25rem;display:flex}.tabs a,.tabs button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-ink);font:inherit;cursor:pointer;border-radius:999px;padding:.45rem .9rem;font-weight:600;text-decoration:none}.tabs .active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.course-option{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 0;display:flex}.course-option:last-child{border-bottom:0}button.chip{font:inherit;cursor:pointer;font-weight:600}.chip-active,.chip-active:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.dot{vertical-align:.05rem;border-radius:50%;width:.65rem;height:.65rem;display:inline-block}.dot-green{background:#2f9e5b}.dot-red{background:#d64545}.attendance-grid td,.attendance-grid th{text-align:center;white-space:nowrap}.attendance-grid td:first-child,.attendance-grid th:first-child{text-align:left}.attendance-grid .cell-present{color:var(--color-success-text);font-weight:700}.attendance-grid .cell-absent{color:var(--color-danger-text);font-weight:700}.attendance-grid .cell-unbooked{color:var(--color-warning-text)}.attendance-grid th.is-cancelled{opacity:.6;text-decoration:line-through}.datetime-input{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:.4rem;display:grid}.unbook-rule{flex-direction:column;gap:.4rem;display:flex}.unbook-rule .inline-picker .input{height:2.8rem}details.more{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fbfdff;padding:.75rem 1rem}details.more summary{cursor:pointer;font-weight:600}details.more[open] summary{margin-bottom:.75rem}.occupancy{border-collapse:collapse;min-width:100%;font-size:.8rem}.occupancy th,.occupancy td{border:1px solid var(--color-border);vertical-align:top;padding:2px}.occupancy thead th{background:var(--color-surface);padding:.5rem;position:sticky;top:0}.occupancy tbody th{white-space:nowrap;color:var(--color-ink-soft);padding:.3rem .5rem;font-weight:600}.occ-cell{color:var(--color-ink);background:var(--color-sky-100);border-radius:4px;min-width:10rem;margin:1px 0;padding:.25rem .4rem;text-decoration:none;display:block}.occ-cell.is-full strong:after{content:" ●";color:var(--color-ink)}.occ-queue{background:var(--color-danger-text);color:#fff;border-radius:3px;margin-left:.3rem;padding:0 .3rem;font-size:.7rem;font-weight:700}.occ-staff{float:right;color:var(--color-ink-soft)}.big-number{color:var(--color-primary);font-size:2rem}.hbar{grid-template-columns:8rem 1fr 3rem;align-items:center;gap:.75rem;margin-bottom:.4rem;display:grid}.hbar__track{background:var(--color-sky-100);border-radius:999px;height:.9rem;overflow:hidden}.hbar__fill{background:var(--color-primary);border-radius:999px;height:100%;display:block}.bar{background:linear-gradient(90deg, var(--color-primary) var(--w), var(--color-sky-100) var(--w));vertical-align:.05rem;border-radius:999px;width:4rem;height:.5rem;margin-right:.5rem;display:inline-block}.mail-preview{white-space:pre-wrap;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fbfdff;max-height:26rem;margin:0;padding:1rem;font-family:inherit;font-size:.9rem;overflow:auto}.audience{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1.5rem;display:grid}.criterion{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fbfdff;flex-direction:column;gap:.5rem;margin-bottom:.6rem;padding:.75rem;display:flex}.criterion__head{justify-content:space-between;align-items:center;display:flex}.save-bar{background:linear-gradient(180deg, #eff9ff00, var(--color-bg) 40%);padding:.75rem 0;position:sticky;bottom:0}.mfa-qr{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.mfa-qr img{border:1px solid var(--color-border);background:#fff;border-radius:8px}.mfa-secret{letter-spacing:.05em;word-break:break-all;font-size:.95rem}.recovery-codes{columns:2;background:var(--color-sky-100);border-radius:8px;padding:.75rem 1rem;font-size:1rem;line-height:1.8}ol.steps{margin:0;padding-left:1.25rem}.impersonation-bar{background:var(--color-warning-bg);border-bottom:1px solid var(--color-border);color:var(--color-warning-text);font-size:.9rem}.impersonation-bar__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-top:.45rem;padding-bottom:.45rem;display:flex}.impersonation-bar__button{background:var(--color-ink);border-color:var(--color-ink);color:#fff}.eyebrow{background:var(--color-sky-100);color:var(--color-sky-600);border-radius:999px;align-items:center;gap:.55rem;margin:0 0 1.25rem;padding:.4rem .95rem;font-size:.85rem;font-weight:700;display:inline-flex}.eyebrow:before{content:"";background:var(--color-sky-500);border-radius:50%;width:.45rem;height:.45rem;animation:2s infinite eyebrow-pulse}@keyframes eyebrow-pulse{50%{opacity:.3}}.home-hero{padding:3rem 0 4.5rem}.home-hero__grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center;gap:3rem;display:grid}.home-hero h1{letter-spacing:-.04em;margin:0 0 1.25rem;font-size:clamp(2.6rem,5.8vw,4.6rem);line-height:1}.home-hero h1 em{color:var(--color-highlight);font-style:normal}.home-hero__text p{color:var(--color-ink-soft);max-width:36ch;font-size:1.25rem;line-height:1.5}.home-hero__text strong{color:var(--color-ink)}.home-hero .actions{justify-content:flex-start;margin-top:1.75rem}.home-hero__photo{justify-self:end;width:100%;max-width:30rem}.home-hero__photo img{aspect-ratio:1;object-fit:cover;width:100%;height:auto;box-shadow:var(--shadow-md);border-radius:48% 52% 46% 54%/50% 44% 56% 50%;display:block}@media (prefers-reduced-motion:reduce){.eyebrow:before{animation:none}}.home-facts{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));display:grid}.home-fact{border-left:1px solid var(--color-border);padding:1.6rem 1.5rem}.home-fact:first-child{border-left:0;padding-left:0}.home-fact strong{font-family:var(--font-heading);letter-spacing:-.025em;margin-bottom:.4rem;font-size:1.5rem;font-weight:800;line-height:1.1;display:block}.home-fact p{color:var(--color-ink-soft);margin:0;font-size:.95rem}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:1.75rem;display:flex}.section-head h2{letter-spacing:-.035em;margin:0;font-size:clamp(2rem,4vw,2.9rem)}.section-head p{max-width:44ch;color:var(--color-ink-soft);margin:0}.group-cards{grid-template-columns:repeat(auto-fit,minmax(19rem,1fr));gap:1.25rem;display:grid}.group-card{border-radius:var(--radius);background:var(--color-panel);color:inherit;flex-direction:column;padding:1.75rem;text-decoration:none;transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}a.group-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.group-card--babysim{background:var(--color-sky-100)}.group-card--simskola{background:var(--color-green-pale)}.group-card--finder{background:var(--color-surface);border:1.5px solid var(--color-border)}.group-card--finder h2{font-size:1.5rem}.group-card__age{background:var(--color-surface);color:var(--color-sky-600);border-radius:999px;align-self:flex-start;padding:.3rem .8rem;font-size:.8rem;font-weight:700}.group-card h3{font-family:var(--font-heading);letter-spacing:-.03em;margin:1rem 0 .5rem;font-size:1.8rem;font-weight:800;line-height:1.05}.group-card>p{color:var(--color-ink-soft)}.group-card__levels{margin:0 0 1.25rem;padding:0;list-style:none}.group-card__levels li{border-top:1px solid #0d223514;justify-content:space-between;gap:1rem;padding:.5rem 0;font-size:.95rem;font-weight:600;display:flex}.group-card__levels li .muted{white-space:nowrap;font-weight:500}.group-card__go{color:var(--color-sky-600);margin-top:auto;font-weight:700}.group-card__go:after{content:" →";transition:transform .2s;display:inline-block}a.group-card:hover .group-card__go:after{transform:translate(4px)}.quote{background:var(--color-ink);color:#fff;border-radius:32px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:2rem;margin:0;padding:3rem 3.5rem;display:grid;position:relative;overflow:hidden}.quote__mark{font-family:var(--font-heading);color:var(--color-accent);font-size:8rem;font-weight:800;line-height:.75}.quote blockquote{max-width:46ch;font-family:var(--font-heading);letter-spacing:-.01em;margin:.5rem 0 1rem;font-size:clamp(1.25rem,2.2vw,1.6rem);font-weight:500;line-height:1.35}.quote figcaption{opacity:.7;font-weight:600}.stars{color:var(--color-accent);letter-spacing:3px}.quote__duck{aspect-ratio:1;background:url(/logo.png) 50%/contain no-repeat;width:9rem;position:absolute;bottom:-2rem;right:2.5rem;transform:rotate(-10deg)}.reviews-row{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1.25rem;margin-top:1.25rem;display:grid}.review--more{color:var(--color-sky-600);background:var(--color-sky-100);border-color:#0000;place-items:center;font-weight:700;text-decoration:none;display:grid}@media (width<=860px){.home-hero__grid{grid-template-columns:minmax(0,1fr)}.home-hero__photo{order:-1;justify-self:center;max-width:min(13rem,33svh)}.home-fact{border-left:0;border-top:1px solid var(--color-border);padding-left:0}.quote{grid-template-columns:minmax(0,1fr);padding:2rem}.quote__mark{display:none}.quote__duck{width:6rem}}.group-card--finder .agefinder{box-shadow:none;background:0 0;border:0;padding:0}.reviews-row>.card,.group-cards>.card{margin-top:0}.group-hero{padding:3rem 0 2.5rem}.group-hero__grid{grid-template-columns:minmax(0,1fr) 23rem;align-items:start;gap:3rem;display:grid}.group-hero h1{letter-spacing:-.04em;margin:0 0 1rem;font-size:clamp(2.4rem,5vw,3.8rem);line-height:1.02}.keyfacts{border-radius:var(--radius);background:var(--color-panel);gap:.9rem;padding:1.6rem;display:grid}.keyfacts h2{margin:0 0 .25rem;font-size:1.15rem}.keyfacts__item{color:var(--color-ink);grid-template-columns:2.6rem minmax(0,1fr);align-items:center;gap:.8rem;font-size:.95rem;font-weight:600;display:grid}.keyfacts__icon{background:var(--color-surface);width:2.6rem;height:2.6rem;color:var(--color-sky-500);border-radius:12px;place-items:center;display:grid}a.keyfacts__link{color:var(--color-sky-600);text-decoration:none}a.keyfacts__link:hover .keyfacts__icon{background:var(--color-sky-600);color:#fff}.pillars{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1.5rem;margin:.5rem 0 1rem;display:grid}.pillar{border-top:3px solid var(--color-ink);color:var(--color-ink-soft);padding-top:1.25rem}.pillar:nth-child(3n+2){border-color:var(--color-sky-500)}.pillar:nth-child(3n+3){border-color:var(--color-sky-600)}.pillar p{margin:0}.pillar p>strong:first-child{font-family:var(--font-heading);letter-spacing:-.015em;color:var(--color-ink);margin-bottom:.45rem;font-size:1.2rem;font-weight:700;display:block}.ladder{gap:.75rem;display:grid}.rung{border:1.5px solid var(--color-border);color:inherit;border-radius:18px;grid-template-columns:3.75rem minmax(0,1fr) auto;align-items:center;gap:1.25rem;padding:1.15rem 1.4rem;text-decoration:none;transition:border-color .2s,transform .2s;display:grid}.rung:hover{border-color:var(--color-ink);transform:translate(4px)}.rung__num{background:var(--color-sky-100);width:3.25rem;height:3.25rem;color:var(--color-sky-600);font-family:var(--font-heading);border-radius:50%;place-items:center;font-size:1.5rem;font-weight:800;display:grid}.rung--parent .rung__num{background:var(--color-green-pale);color:var(--color-green)}.rung h3{margin:0 0 .2rem;font-size:1.2rem}.rung p{color:var(--color-ink-soft);margin:0;font-size:.95rem}.rung__meta{text-align:right;color:var(--color-ink-soft);white-space:nowrap;font-size:.875rem}.rung__meta strong{font-family:var(--font-heading);color:var(--color-ink);font-size:1.3rem;font-weight:800;display:block}.tag{background:var(--color-green-pale);color:var(--color-green);font-family:var(--font-body);letter-spacing:0;vertical-align:.2em;border-radius:999px;margin-left:.5rem;padding:.15rem .6rem;font-size:.75rem;font-weight:700;display:inline-block}.tag--solo{background:var(--color-sky-100);color:var(--color-sky-600)}@media (width<=860px){.group-hero__grid{grid-template-columns:minmax(0,1fr)}.rung{grid-template-columns:3rem minmax(0,1fr)}.rung__meta{text-align:left;grid-column:2}}.list li.upcoming{justify-content:flex-start;gap:1rem}.upcoming__info{flex:1;min-width:0}.date-tile{background:var(--color-panel);border-radius:14px;flex:0 0 4.25rem;place-items:center;padding:.45rem 0;line-height:1.1;display:grid}.date-tile span{text-transform:uppercase;letter-spacing:.04em;color:var(--color-ink-soft);font-size:.7rem;font-weight:700}.date-tile b{font-family:var(--font-heading);font-size:1.5rem;font-weight:800}.list li.upcoming.is-unbooked .date-tile{opacity:.5}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.tooltip{z-index:1000;background:var(--color-ink);color:#fff;white-space:pre-line;pointer-events:none;border-radius:10px;width:max-content;max-width:18rem;padding:.45rem .7rem;font-size:.82rem;font-weight:500;line-height:1.4;animation:.12s ease-out tooltip-in;position:fixed;transform:translate(-50%,-100%);box-shadow:0 10px 30px -10px #0d223573}.tooltip--below{transform:translate(-50%)}.tooltip:after{content:"";left:calc(50% + var(--arrow-shift,0px));border:6px solid #0000;border-top-color:var(--color-ink);position:absolute;top:100%;translate:-50%}.tooltip--below:after{border-top-color:#0000;border-bottom-color:var(--color-ink);top:auto;bottom:100%}@keyframes tooltip-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.tooltip{animation:none}}[data-tooltip]{cursor:help}a[data-tooltip],button[data-tooltip]{cursor:pointer}.danger-zone{border-color:var(--color-danger-border)}.danger-zone h2{color:var(--color-danger-text)}.batch-series{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.batch-series>select{width:auto}.batch-rows th,.batch-rows td{vertical-align:middle;padding:.45rem .3rem}.batch-rows th:first-child,.batch-rows td:first-child{padding-left:0}.batch-rows th:last-child,.batch-rows td:last-child{width:1%;padding-right:0}.batch-rows td:first-child .input{min-width:7.5rem}.batch-rows td:nth-child(2){width:6rem}.batch-rows td:nth-child(2) .input{min-width:4.75rem}.batch-rows td:nth-child(3) .input{min-width:6.5rem}.btn.icon-button{padding:.4rem;line-height:0}.date-chips{flex-wrap:wrap;gap:.3rem;display:flex}.date-chip{border:1px solid var(--color-sky-300);background:var(--color-sky-100);color:var(--color-ink);font:inherit;cursor:pointer;border-radius:999px;padding:.15rem .5rem;font-size:.8rem}.date-chip.is-skipped{border-color:var(--color-border);color:var(--color-ink-soft);background:0 0;text-decoration:line-through}.date-chip.is-closed{border-style:dashed}.date-chip:disabled{cursor:default}.chip--returning{border-style:dashed}.chip--returning:after{content:" ★";color:var(--color-highlight)}.returning-note{color:var(--color-ink-soft);margin:-.25rem 0 .75rem;font-size:.9rem}.rec-course+.rec-course{border-top:1px solid var(--color-border);margin-top:1.5rem;padding-top:1rem}.rec-course h3{margin:0 0 .5rem;font-size:1rem}.finder-period h2{margin-top:0}.finder-period+.finder-period{margin-top:1.5rem}.finder-period.is-next{border-color:var(--color-highlight);background:linear-gradient(180deg, var(--color-sky-100), var(--color-surface) 9rem);box-shadow:var(--shadow-md)}.finder-period__next{background:var(--color-primary);color:var(--color-primary-contrast)}.finder-period.is-started{box-shadow:none;opacity:.6;background:0 0;border-style:dashed}.finder-period.is-started h2{font-size:1.15rem}.finder-period__badge{vertical-align:middle;margin-left:.5rem}.finder-period.is-started .finder-levels{filter:grayscale()}.finder-period.is-collapsed .finder-levels{pointer-events:none;max-height:7rem;overflow:hidden;-webkit-mask-image:linear-gradient(#000 20%,#0000);mask-image:linear-gradient(#000 20%,#0000)}.finder-period__more{margin-top:.25rem}.finder-note{margin-top:2.5rem}.finder-levels{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1rem;margin-top:1rem;display:grid}.finder-level{border:1.5px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:inherit;flex-direction:column;gap:.4rem;padding:1.25rem;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.finder-level:hover{border-color:var(--color-highlight);transform:translateY(-2px)}.finder-level h3,.finder-level p{margin:0}.finder-level__facts{color:var(--color-ink-soft);font-size:.9rem}.finder-level__go{color:var(--color-primary);margin-top:auto;padding-top:.5rem;font-size:.9rem;font-weight:600}.contact-layout{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;gap:1.5rem;display:grid}.contact-aside{gap:1rem;display:grid}.contact-aside .card,.contact-layout>.card{margin:0}.contact-aside .card h2{margin-top:0}@media (width<=860px){.contact-layout{grid-template-columns:minmax(0,1fr)}}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.day-nav strong{margin-left:.5rem}.day-nav .input{width:100%}.pass-row.needs-attention{box-shadow:inset 3px 0 0 var(--color-danger-text);padding-left:.75rem}.pass-row.is-cancelled{opacity:.6}.pass-row__badges{flex-wrap:wrap;gap:.3rem;margin-top:.25rem;display:flex}.th-with-control{align-items:center;gap:1rem;display:inline-flex}.th-with-control .checkbox{text-transform:none;letter-spacing:normal;font-weight:400}.home-hero__login{margin:1rem 0 0}.date-input{align-items:center;display:flex;position:relative}.date-input .input{padding-right:2.8rem}.date-input__button{border-radius:var(--radius-sm);width:2.2rem;height:2.2rem;color:var(--color-ink-soft);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex;position:absolute;right:.35rem}.date-input__button:hover,.date-input__button[aria-expanded=true]{background:var(--color-sky-100);color:var(--color-primary)}.date-picker{z-index:30;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);width:19rem;max-width:calc(100vw - 2rem);box-shadow:var(--shadow-md);padding:.75rem;position:absolute;top:calc(100% + .4rem);left:0}.date-picker__head{align-items:center;gap:.35rem;margin-bottom:.5rem;display:flex}.date-picker__head .input{flex:auto;min-width:0;height:2.3rem;padding:0 .5rem}.date-picker__head select:last-of-type{flex:0 0 5.5rem}.date-picker__grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:.15rem;display:grid}.date-picker__weekday{color:var(--color-ink-soft);padding:.2rem 0;font-size:.72rem}.date-picker__day{height:2.2rem;color:var(--color-ink);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;font-size:.9rem}.date-picker__day:hover{background:var(--color-sky-100)}.date-picker__day.is-today{box-shadow:inset 0 0 0 1px var(--color-sky-300)}.date-picker__day.is-selected{background:var(--color-primary);color:var(--color-primary-contrast)}.user-search .input{flex:18rem;width:auto}.range-inputs{align-items:center;gap:.4rem;display:flex}.range-inputs .input{width:5rem}.email-choices{flex-direction:column;gap:.5rem;display:flex}.email-choices .btn{overflow-wrap:anywhere;justify-content:flex-start}.now-list{gap:1rem;display:grid}.now-card{border-left:6px solid var(--color-border);flex-direction:column;align-items:flex-start;gap:.5rem;display:flex}.now-card h2{margin:0}.now-card .btn{width:100%;max-width:22rem;margin-top:.5rem}.now-card:not(.is-live){opacity:.85}.drawer-menus{display:none}@media (width<=860px){.site-menu--tabs .drawer-menus{display:block}.site-menu--tabs .site-nav,.site-menu--tabs .account-nav a{display:none}.drawer-menus .tabs{margin-bottom:.75rem}.drawer-menus .tabs button{flex:1;padding:.5rem .6rem;font-size:.95rem}.drawer-menus .menu-list a{padding:.7rem .75rem;font-size:1.05rem}.site-menu--tabs .account-nav{align-items:flex-start}}.pager{justify-content:center;align-items:center;gap:1rem;margin-top:1rem;display:flex}.pager--top{margin:0 0 1rem}.action-choices{gap:.6rem;display:grid}.action-choice{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font:inherit;text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.85rem 1rem;display:flex}.action-choice:hover{border-color:var(--color-primary);background:var(--color-sky-100)}.logout-button__label{display:none}@media (width<=860px){.logout-button__icon{display:none}.logout-button__label{display:inline}}
