:root{--paper:#f7f6f2;--white:#fff;--ink:#13162b;--muted:#5e6378;--line:#e4e2da;--violet:#5b4bf5;--violet-soft:#eceafe;--marker:#ffd84d;--coral:#ff7a59;--coral-soft:#ffede7;--mint:#22b98f;--mint-soft:#e2f7f0;--sun-soft:#fff6d6;--display:"Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;--body:"Source Sans 3", "Segoe UI", system-ui, sans-serif;--wrap:72rem;--radius:1.5rem;--shadow:0 1px 2px #13162b0a, 0 12px 32px -12px #13162b24}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:6rem;overflow-x:clip}body{font-family:var(--body);color:var(--ink);background:var(--paper);font-size:1.125rem;line-height:1.6;overflow-x:clip}a{color:var(--violet)}a:focus-visible,button:focus-visible{outline:3px solid var(--violet);outline-offset:3px;border-radius:6px}::selection{background:var(--marker);color:var(--ink)}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 1.5rem;position:relative}h1,h2,h3{font-family:var(--display);letter-spacing:-.02em;font-weight:700;line-height:1.05}h2{font-size:clamp(2rem,5vw,3.25rem)}h3{letter-spacing:-.01em;margin-bottom:.5rem;font-size:1.35rem}p{max-width:38em}section{padding:6rem 0}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--violet);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.85rem;font-weight:600;display:inline-flex}.eyebrow:before{content:"";background:currentColor;border-radius:2px;width:1.5rem;height:2px}.section-head{margin-bottom:3rem}.btn{background:var(--ink);color:var(--white);border:2px solid var(--ink);border-radius:999px;align-items:center;gap:.5rem;padding:1rem 1.6rem;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex}.btn:hover{background:var(--violet);border-color:var(--violet);transform:translateY(-2px);box-shadow:0 10px 24px -8px #5b4bf599}.btn span{transition:transform .2s}.btn:hover span{transform:translate(4px)}.btn-ghost{color:var(--ink);background:0 0}.btn-ghost:hover{background:var(--ink);border-color:var(--ink);color:var(--white);box-shadow:none}.btn-small{padding:.55rem 1.1rem;font-size:.95rem}.nav{z-index:50;padding:1rem 0;position:sticky;top:0}.nav-pill{-webkit-backdrop-filter:blur(14px)saturate(1.4);box-shadow:var(--shadow);background:#ffffffe0;border:1px solid #13162b0f;border-radius:999px;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:.5rem;display:grid}.logo{font-family:var(--display);color:var(--ink);align-items:center;gap:.6rem;font-size:1.1rem;font-weight:700;text-decoration:none;display:inline-flex}.logo-mark{background:var(--violet);width:2rem;height:2rem;color:var(--white);border-radius:.6rem;place-items:center;font-weight:800;display:grid;transform:rotate(-6deg)}.nav ul{gap:2rem;list-style:none;display:flex}.nav-pill .logo{justify-self:start;padding-left:.6rem}.nav-pill .btn{justify-self:end}.nav ul a{color:var(--muted);font-size:1rem;font-weight:600;text-decoration:none;transition:color .15s}.nav ul a:hover{color:var(--ink)}.hero{isolation:isolate;padding:4rem 0 6rem;position:relative}.hero .wrap{grid-template-columns:1.25fr 1fr;align-items:center;gap:4rem;display:grid}.hero h1{letter-spacing:-.035em;margin-bottom:1.5rem;font-size:clamp(2.75rem,7vw,5.25rem);font-weight:800}.hero p{color:var(--muted);margin-bottom:2.25rem;font-size:1.25rem}.hero-actions{flex-wrap:wrap;gap:.75rem;display:flex}.highlight{white-space:nowrap;z-index:0;position:relative}.highlight:after{content:"";z-index:-1;background:var(--marker);transform-origin:0;border-radius:.2em;height:.38em;animation:.8s cubic-bezier(.65,0,.35,1) .3s both swipe;position:absolute;bottom:.05em;left:-.1em;right:-.1em;transform:skew(-8deg)scaleX(1)}@keyframes swipe{0%{transform:skew(-8deg)scaleX(0)}}.blob{z-index:-1;filter:blur(70px);opacity:.55;pointer-events:none;border-radius:50%;position:absolute}.blob-1{background:#c9c2ff;width:32rem;height:32rem;animation:14s ease-in-out infinite float;top:-10rem;right:-6rem}.blob-2{background:#ffd3c4;width:22rem;height:22rem;animation:18s ease-in-out infinite reverse float;bottom:-4rem;right:22%}.blob-3{background:#ffe89a;width:18rem;height:18rem;animation:16s ease-in-out infinite float;top:20%;left:-8rem}@keyframes float{0%,to{transform:translate(0)scale(1)}50%{transform:translate(2rem,-1.5rem)scale(1.08)}}.hero-card{position:relative}.countdown{background:var(--ink);color:var(--white);border-radius:2rem;padding:2.25rem;position:relative;overflow:hidden;transform:rotate(1.5deg);box-shadow:0 30px 60px -20px #13162b73}.countdown:before{content:"";pointer-events:none;background:radial-gradient(circle at 100% 0,#5b4bf58c,#0000 55%);position:absolute;inset:0}.countdown>*{position:relative}.countdown-label{letter-spacing:.08em;text-transform:uppercase;color:#ffffffb3;align-items:center;gap:.55rem;font-size:.85rem;font-weight:600;display:inline-flex}.pulse{background:var(--mint);border-radius:50%;width:.55rem;height:.55rem;animation:2s infinite pulse;box-shadow:0 0 #22b98fb3}@keyframes pulse{70%{box-shadow:0 0 0 .6rem #22b98f00}to{box-shadow:0 0 #22b98f00}}.countdown-number{align-items:baseline;gap:.5rem;margin-top:.75rem;display:flex}.countdown .days{font-family:var(--display);letter-spacing:-.05em;color:var(--marker);font-size:clamp(5rem,13vw,8.5rem);font-weight:800;line-height:.9}.countdown .unit{font-family:var(--display);font-size:1.6rem;font-weight:500}.countdown p{color:#ffffffb8;margin-top:1rem;font-size:1rem}.countdown-meta{flex-wrap:wrap;gap:.5rem;margin-top:1.5rem;display:flex}.countdown-meta span{background:#ffffff14;border:1px solid #ffffff1f;border-radius:999px;padding:.4rem .85rem;font-size:.9rem}.countdown-meta strong{color:var(--marker)}.chip{z-index:2;font-family:var(--display);background:var(--white);box-shadow:var(--shadow);white-space:nowrap;border-radius:1rem;place-items:center;padding:.55rem .9rem;font-size:1.05rem;font-weight:700;animation:6s ease-in-out infinite bob;display:grid;position:absolute}.chip-math{color:var(--violet);top:-1.5rem;left:-1.75rem;transform:rotate(-8deg)}.chip-cz{color:var(--coral);animation-delay:-1.5s;top:30%;right:-1.75rem}.chip-en{color:var(--mint);animation-delay:-3s;bottom:-1.25rem;left:12%}.chip-fy{background:var(--marker);animation-delay:-4.5s;bottom:22%;left:-2.5rem}@keyframes bob{50%{translate:0 -10px}}.marquee{background:var(--violet);color:var(--white);z-index:1;margin:0 -2rem;padding:1rem 0;position:relative;overflow:hidden;transform:rotate(-1.5deg);-webkit-mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.marquee-track{width:max-content;animation:40s linear infinite marquee;display:flex}.marquee-track span{font-family:var(--display);white-space:nowrap;padding:0 1.5rem;font-size:1.35rem;font-weight:700}.marquee-track span:after{content:"✦";color:var(--marker);margin-left:3rem}@keyframes marquee{to{transform:translate(-50%)}}.subject-list{grid-template-columns:repeat(2,1fr);gap:1.25rem;display:grid}.subject{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:2rem;transition:transform .25s,box-shadow .25s,border-color .25s;position:relative;overflow:hidden}.subject:hover{box-shadow:var(--shadow);border-color:#0000;transform:translateY(-4px)}.subject:after{content:"";background:var(--tint);opacity:.7;border-radius:50%;width:12rem;height:12rem;transition:transform .4s;position:absolute;top:-5rem;right:-5rem}.subject:hover:after{transform:scale(1.25)}.subject>*{z-index:1;position:relative}.subject p{color:var(--muted);font-size:1.05rem}.subject-icon{min-width:3.25rem;height:3.25rem;font-family:var(--display);background:var(--accent);color:var(--white);border-radius:1rem;place-items:center;margin-bottom:1.25rem;padding:0 .7rem;font-size:1.15rem;font-weight:800;display:inline-grid}.subject-math{--accent:var(--violet);--tint:var(--violet-soft)}.subject-cz{--accent:var(--coral);--tint:var(--coral-soft)}.subject-en{--accent:var(--mint);--tint:var(--mint-soft)}.subject-fy{--accent:var(--ink);--tint:var(--sun-soft)}.subject-fy .subject-icon{background:var(--marker);color:var(--ink)}.formats{grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-top:1.25rem;display:grid}.format{border-radius:var(--radius);border:2px dashed var(--line);align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.format-icon{font-size:1.75rem;line-height:1}.format strong{font-family:var(--display);font-size:1.15rem;display:block}.format span{color:var(--muted);font-size:1rem}.process{background:var(--ink);color:var(--white);border-radius:3rem;margin:0 1rem}.process .eyebrow{color:var(--marker)}.steps{counter-reset:step;grid-template-columns:repeat(3,1fr);gap:1.25rem;list-style:none;display:grid}.steps li{counter-increment:step;border-radius:var(--radius);background:#ffffff0d;border:1px solid #ffffff1a;padding:2rem;transition:background .25s,transform .25s;position:relative}.steps li:hover{background:#ffffff17;transform:translateY(-4px)}.steps li:before{content:"0" counter(step);font-family:var(--display);letter-spacing:-.04em;background:linear-gradient(135deg, var(--marker), var(--coral));color:#0000;-webkit-background-clip:text;background-clip:text;margin-bottom:1.5rem;font-size:3.5rem;font-weight:800;line-height:1;display:block}.steps p{color:#ffffffb3;font-size:1.05rem}.about .wrap{grid-template-columns:1fr 1.4fr;align-items:center;gap:5rem;display:grid}.about h2{margin-bottom:1.5rem}.photo-frame{position:relative}.photo-frame:before{content:"";background:linear-gradient(135deg, var(--violet), var(--coral));border-radius:2rem;position:absolute;inset:0;transform:rotate(-5deg)}.photo{aspect-ratio:4/5;background:var(--line);color:var(--muted);text-align:center;border-radius:2rem;place-items:center;padding:1rem;font-size:1rem;display:grid;position:relative;overflow:hidden;transform:rotate(2deg)}.photo img{object-fit:cover;object-position:50% 45%;width:100%;height:100%;position:absolute;inset:0}.sticker{z-index:2;background:var(--marker);font-family:var(--display);box-shadow:var(--shadow);border-radius:1rem;padding:.8rem 1.1rem;font-size:1rem;font-weight:700;line-height:1.2;position:absolute;bottom:2rem;right:-1.5rem;transform:rotate(-6deg)}.about p+p{margin-top:1rem}.about p{color:var(--muted)}.facts{flex-direction:column;gap:.6rem;margin-top:2rem;list-style:none;display:flex}.facts li{background:var(--white);border:1px solid var(--line);border-radius:1rem;align-items:center;gap:.75rem;padding:.85rem 1.1rem;display:flex}.facts li:before{content:"✓";background:var(--mint-soft);width:1.6rem;height:1.6rem;color:var(--mint);border-radius:50%;flex:none;place-items:center;font-size:.9rem;font-weight:700;display:grid}.prices{padding-top:2rem}.price-cards{grid-template-columns:repeat(3,1fr);align-items:stretch;gap:1.25rem;display:grid}.price-card{border-radius:var(--radius);background:var(--white);border:1px solid var(--line);flex-direction:column;padding:2rem;transition:transform .25s,box-shadow .25s;display:flex;position:relative}.price-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.price-card p{color:var(--muted);margin-bottom:2rem;font-size:1rem}.price{font-family:var(--display);letter-spacing:-.03em;margin-top:auto;font-size:2.25rem;font-weight:800}.price-card-featured{background:var(--violet);color:var(--white);border-color:var(--violet);transform:translateY(-.75rem);box-shadow:0 24px 48px -16px #5b4bf58c}.price-card-featured:hover{transform:translateY(-1.1rem);box-shadow:0 28px 56px -16px #5b4bf599}.price-card-featured p{color:#ffffffc7}.badge{background:var(--marker);color:var(--ink);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:.3rem .8rem;font-size:.8rem;font-weight:700;position:absolute;top:-.85rem;left:2rem}.prices .note{color:var(--muted);margin-top:2rem;font-size:1rem}.contact{padding-top:2rem}.contact-card{isolation:isolate;background:linear-gradient(135deg, #2a1fb8 0%, var(--violet) 55%, #8c6bff 100%);color:var(--white);border-radius:2.5rem;padding:clamp(2rem,6vw,4.5rem);position:relative;overflow:hidden}.blob-contact{background:var(--coral);opacity:.6;width:24rem;height:24rem;bottom:-10rem;right:-6rem}.contact h2{max-width:14em;margin-bottom:1.25rem;font-size:clamp(2.25rem,5.5vw,3.75rem);font-weight:800}.contact p{color:#fffc}.contact-links{grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2.5rem;display:grid}.contact-links a{color:var(--white);font-family:var(--display);white-space:nowrap;-webkit-backdrop-filter:blur(8px);background:#ffffff1a;border:1px solid #fff3;border-radius:1.25rem;flex-direction:column;gap:.15rem;padding:1rem 1.2rem;font-size:1.05rem;font-weight:700;text-decoration:none;transition:background .2s,transform .2s,color .2s;display:flex}.contact-links a:hover{background:var(--white);color:var(--ink);transform:translateY(-3px)}.contact-links small{font-family:var(--body);letter-spacing:.08em;text-transform:uppercase;opacity:.7;font-size:.8rem;font-weight:600}footer{color:var(--muted);text-align:center;padding:2.5rem 0;font-size:.95rem}.booking-section{padding-top:2rem}.booking-section .section-head p{color:var(--muted);margin-top:1rem}.booking{grid-template-columns:1.5fr 1fr;align-items:start;gap:1.25rem;display:grid}.booking-calendar,.booking-form,.booking-done{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem}.week-nav{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.week-nav strong{font-family:var(--display);font-size:1.15rem}.week-nav button{border:1px solid var(--line);background:var(--paper);cursor:pointer;width:2.5rem;height:2.5rem;color:var(--ink);border-radius:50%;font-size:1.1rem;transition:background .15s,color .15s}.week-nav button:hover:not(:disabled){background:var(--ink);color:var(--white)}.week-nav button:disabled{opacity:.35;cursor:default}.day-grid{grid-template-columns:repeat(7,1fr);gap:.5rem;transition:opacity .2s;display:grid}.day-grid.is-loading{opacity:.4}.day-head{text-align:center;border-bottom:1px solid var(--line);margin-bottom:.5rem;padding-bottom:.5rem}.day-head span{font-weight:700;display:block}.day-head small{color:var(--muted);font-size:.85rem}.day-slots{flex-direction:column;gap:.4rem;display:flex}.day-empty{text-align:center;color:var(--line)}.slot{border:1px solid var(--violet-soft);background:var(--violet-soft);color:var(--violet);font:700 .95rem var(--body);cursor:pointer;border-radius:.75rem;padding:.5rem .25rem;transition:background .15s,color .15s,transform .15s}.slot:hover{background:var(--violet);color:var(--white)}.slot.is-active,.slot.is-active:hover{background:var(--ink);border-color:var(--ink);color:var(--marker);transform:scale(1.04)}.booking-message{color:var(--muted);margin-top:1rem;font-size:1rem}.booking-form{flex-direction:column;gap:1rem;display:flex}.booking-picked{background:var(--paper);border:2px dashed var(--line);font-family:var(--display);color:var(--muted);border-radius:1rem;padding:.9rem 1.1rem;font-weight:700}.booking-picked.is-set{background:var(--ink);border:2px solid var(--ink);color:var(--marker)}.booking-picked small{font:600 .75rem var(--body);letter-spacing:.08em;text-transform:uppercase;opacity:.7;display:block}.booking-form label,.admin-card label{flex-direction:column;gap:.35rem;font-size:.95rem;font-weight:600;display:flex}.optional{color:var(--muted);font-weight:400}.booking-form input,.booking-form select,.booking-form textarea,.admin-card input{font:inherit;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:.75rem;width:100%;padding:.7rem .9rem;font-size:1rem;font-weight:400}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus,.admin-card input:focus{outline:2px solid var(--violet);outline-offset:1px;background:var(--white)}.field-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.booking-form fieldset{border:0}.booking-form legend{margin-bottom:.35rem;font-size:.95rem;font-weight:600}.pills{flex-wrap:wrap;gap:.5rem;display:flex}.pill input{opacity:0;pointer-events:none;position:absolute}.pill span{border:1px solid var(--line);cursor:pointer;border-radius:999px;padding:.5rem 1rem;font-size:.95rem;font-weight:600;transition:background .15s,color .15s;display:inline-block}.pill input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--white)}.pill input:focus-visible+span{outline:3px solid var(--violet);outline-offset:2px}.booking-form .btn{justify-content:center}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.btn:disabled:hover{background:var(--ink);border-color:var(--ink)}.hp{width:1px;height:1px;position:absolute;left:-9999px}.form-error{color:#c2360f;background:var(--coral-soft);border-radius:.75rem;padding:.7rem 1rem;font-size:.95rem}.booking-done{text-align:center;max-width:36rem;margin:0 auto;padding:3rem 1.5rem}.booking-done p{color:var(--muted);margin:.75rem auto 0}.booking-done-icon{background:var(--mint);width:3.5rem;height:3.5rem;color:var(--white);border-radius:50%;place-items:center;margin-bottom:1rem;font-size:1.6rem;font-weight:700;display:inline-grid}.admin{min-height:100vh}.admin-login{place-items:center;padding:1.5rem;display:grid}.admin-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem}.admin-login .admin-card{flex-direction:column;gap:1rem;width:100%;max-width:24rem;padding:2rem;display:flex}.admin-login h1{font-size:2rem}.admin-login p{color:var(--muted)}.admin-login .btn{justify-content:center}.admin-top{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#ffffffeb;position:sticky;top:0}.admin-top .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-top:.75rem;padding-bottom:.75rem;display:flex}.admin-tabs{background:var(--paper);border-radius:999px;gap:.25rem;padding:.25rem;display:flex}.admin-tabs button{font:600 .95rem var(--body);color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.5rem 1rem}.admin-tabs button.is-active{background:var(--white);color:var(--ink);box-shadow:var(--shadow)}.admin-body{padding-top:1.5rem;padding-bottom:4rem}.admin-toolbar{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.admin-toolbar .week-nav{gap:.75rem;margin:0}.admin-muted{color:var(--muted);margin-bottom:1rem;font-size:.95rem}.admin-toolbar .admin-muted{flex:20rem;margin:0}.admin-notice{background:var(--mint-soft);color:#0e6b51;border-radius:1rem;justify-content:space-between;align-items:center;gap:1rem;max-width:none;margin-bottom:1rem;padding:.8rem 1.1rem;font-weight:600;display:flex}.admin-notice button{cursor:pointer;color:inherit;background:0 0;border:0;font-size:1.3rem}.move-banner{background:var(--marker);border-radius:1rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.9rem 1.2rem;display:flex}.legend{color:var(--muted);flex-wrap:wrap;gap:1rem;margin-left:auto;font-size:.9rem;list-style:none;display:flex}.legend li{align-items:center;gap:.4rem;display:flex}.legend i{border:1px solid var(--line);border-radius:.25rem;width:.9rem;height:.9rem}.cal-scroll{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:.75rem;overflow-x:auto}.cal{border-collapse:separate;border-spacing:4px;table-layout:fixed;width:100%;min-width:44rem}.cal th{padding:.25rem;font-size:.9rem;font-weight:700}.cal thead th small{color:var(--muted);font-weight:400;display:block}.cal thead th.is-today{color:var(--violet)}.cal tbody th{text-align:right;width:3.5rem;color:var(--muted);padding-right:.5rem;font-weight:600}.cal td{padding:0}.cell{cursor:pointer;width:100%;height:3rem;font:600 .8rem var(--body);-webkit-user-select:none;user-select:none;touch-action:none;border:1px solid #0000;border-radius:.6rem;flex-direction:column;justify-content:center;align-items:center;padding:0 .3rem;line-height:1.15;transition:filter .15s,transform .1s;display:flex;overflow:hidden}.cell:hover:not(:disabled){filter:brightness(.94)}.cell:active:not(:disabled){transform:scale(.96)}.cell strong,.cell small{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.cell-off,.legend .cell-off{background:var(--paper);color:var(--muted)}.cell-open,.legend .cell-open{background:var(--mint-soft);color:#0e6b51;border-color:#bfebdd}.cell-extra,.legend .cell-extra{background:var(--mint-soft);color:#0e6b51;border:1px dashed var(--mint)}.cell-blocked,.legend .cell-blocked{background:repeating-linear-gradient(135deg, var(--coral-soft) 0 6px, #ffe0d6 6px 12px);color:#c2360f;border-color:#ffc9b8}.cell-booked,.legend .cell-booked{background:var(--violet);color:var(--white)}.cell-booked small{opacity:.8;font-weight:400}.cell.is-past{opacity:.4;cursor:default}.cell-booked.is-past{opacity:.6;cursor:pointer}.cell.is-moving{outline:3px solid var(--marker);outline-offset:1px}.modal-backdrop{z-index:60;background:#13162b73;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal{width:100%;max-width:28rem;box-shadow:0 30px 60px -20px #13162b80}.modal-actions{flex-wrap:wrap;gap:.5rem;margin-top:1.25rem;display:flex}.btn-danger{background:#c2360f;border-color:#c2360f}.btn-danger:hover{box-shadow:none;background:#9e2a0a;border-color:#9e2a0a}.booking-info h3{margin-bottom:.2rem;font-size:1.4rem}.booking-info-slot{color:var(--violet);margin-bottom:.75rem;font-weight:700}.booking-info dl{grid-template-columns:auto 1fr;gap:.3rem 1rem;font-size:.95rem;display:grid}.booking-info dt{color:var(--muted)}.booking-info dd{overflow-wrap:anywhere}.booking-list{grid-template-columns:repeat(auto-fill,minmax(20rem,1fr));gap:1rem;display:grid}.booking-row{position:relative}.booking-row.is-cancelled{opacity:.6}.badge-muted{background:var(--paper);border-radius:999px;padding:.2rem .6rem;font-size:.8rem;font-weight:700;position:absolute;top:1.25rem;right:1.25rem}.reveal-ready [data-reveal]{opacity:0;transition:opacity .7s,transform .7s cubic-bezier(.2,.7,.2,1);transform:translateY(24px)}.reveal-ready [data-reveal].is-in{opacity:1;transform:none}.reveal-ready .subject-list>:nth-child(2),.reveal-ready .steps>:nth-child(2),.reveal-ready .price-cards>:nth-child(2){transition-delay:.1s}.reveal-ready .subject-list>:nth-child(3),.reveal-ready .steps>:nth-child(3),.reveal-ready .price-cards>:nth-child(3){transition-delay:.2s}.reveal-ready .subject-list>:nth-child(4){transition-delay:.3s}.reveal-ready .price-card-featured.is-in{transform:translateY(-.75rem)}@media (max-width:900px){.hero .wrap{grid-template-columns:1fr;gap:4rem}.hero-card{max-width:30rem;margin:0 1.5rem}.price-cards{grid-template-columns:1fr;max-width:30rem}.price-card-featured,.reveal-ready .price-card-featured.is-in{transform:none}.booking{grid-template-columns:1fr}}@media (max-width:600px){.day-grid{grid-template-columns:1fr;gap:0}.day{border-bottom:1px solid var(--line);grid-template-columns:4.5rem 1fr;align-items:center;gap:.75rem;padding:.6rem 0;display:grid}.day-head{text-align:left;border:0;margin:0;padding:0}.day-slots{flex-flow:wrap}.day-empty{text-align:left}.slot{padding:.45rem .8rem}.field-row{grid-template-columns:1fr}.booking-calendar,.booking-form{padding:1.1rem}.admin-tabs{order:3;width:100%;overflow-x:auto}.legend{margin-left:0}}@media (max-width:1100px){.contact-links{grid-template-columns:1fr;max-width:26rem}}@media (max-width:420px){.contact-links a{white-space:normal;overflow-wrap:anywhere;padding:1rem;font-size:.9rem}}@media (max-width:760px){section{padding:4rem 0}.nav ul{display:none}.nav-pill{justify-content:space-between;display:flex}.about .wrap{grid-template-columns:1fr;gap:3rem}.subject-list,.steps,.formats{grid-template-columns:1fr}.photo-frame{max-width:18rem;margin-left:1rem}.process{border-radius:2rem;margin:0 .5rem}.chip-cz{right:-1rem}.chip-fy{left:-1.5rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.reveal-ready [data-reveal]{opacity:1;transform:none}}.schedule{-webkit-user-select:none;user-select:none}.admin-tabs button{white-space:nowrap}
