:root{--sand: #f3ede1;--sand2: #e9e0cf;--card: #fbf8f1;--sage: #a9bfa4;--sage-d: #46614f;--blue: #1e3a4c;--blue2: #2d5468;--ink: #1f2d33;--muted: #566567;--line: #d8cfbb;--err: #8a2f22;--errbg: #f7e4df;--okbg: #e2eddd;--offbg: #f4e9c9}[hidden]{display:none!important}html{scroll-behavior:smooth}body{font-family:Nunito,system-ui,sans-serif;color:var(--ink);background:var(--sand);line-height:1.55}.wrap{max-width:1120px;margin:0 auto;padding:0 20px}h1,h2,h3,.brand{font-family:Fraunces,Georgia,serif}h1{font-size:clamp(2.3rem,6vw,4rem);font-weight:500;line-height:1.08;color:var(--blue)}.ttl{font-size:clamp(1.8rem,3.6vw,2.5rem);font-weight:500;margin-bottom:22px;color:var(--blue)}:focus-visible{outline:3px solid var(--blue2);outline-offset:2px}.top{position:sticky;top:33px;z-index:50;background:#f3ede1f0;backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.top-in{display:flex;align-items:center;justify-content:space-between;height:62px;gap:12px}.brand{font-size:1.4rem;font-weight:600;color:var(--blue);letter-spacing:.01em}.brand span{color:var(--sage-d)}.nav{display:flex;gap:22px;align-items:center}.nav a{font-size:.95rem;color:var(--muted)}.nav a:hover{color:var(--blue)}.nav-cta{color:var(--sand)!important;background:var(--blue);padding:9px 18px;border-radius:999px;font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--blue);color:var(--sand);font:700 1rem Nunito,sans-serif;padding:13px 26px;border-radius:999px;border:2px solid var(--blue);cursor:pointer}.btn:hover{background:var(--blue2);border-color:var(--blue2)}.btn[disabled]{opacity:.5;cursor:not-allowed}.btn.ghost{background:transparent;color:var(--blue);border-color:var(--blue)}.btn.ghost:hover{background:var(--sand2)}.btn.sm{padding:7px 16px;font-size:.9rem}.btn.danger{background:transparent;color:var(--err);border-color:var(--err)}.btn.danger:hover{background:var(--errbg)}.muted{color:var(--muted)}.small{font-size:.85rem}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.hero{padding:56px 0 72px;background:radial-gradient(circle at 78% 30%,#dfe8d6 0%,var(--sand) 62%);overflow:hidden}.hero-in{display:grid;gap:40px;align-items:center}.pill{display:inline-block;border:1px solid var(--sage-d);color:var(--sage-d);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;padding:5px 14px;border-radius:999px;font-weight:700}.hero h1{margin:18px 0}.lead{color:var(--muted);font-size:1.15rem;max-width:32rem;margin-bottom:26px}.breath-wrap{display:grid;place-items:center}.breath{position:relative;width:min(340px,78vw);aspect-ratio:1;display:grid;place-items:center}.breath .ring{position:absolute;inset:0;border-radius:50%;border:2px solid var(--sage);opacity:.55}.breath .ring.r2{inset:9%;opacity:.35}.breath .disc{position:absolute;inset:14%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#cfddc9,var(--sage) 70%);transform:scale(.85);animation:breathe 14s infinite;will-change:transform}.breath .phases{position:relative;height:2rem;width:100%;text-align:center;font-family:Fraunces,Georgia,serif;font-size:1.5rem;color:var(--blue)}.phase{position:absolute;inset:0;opacity:0;animation:var(--a) 14s infinite}.phase.in{--a: p-in}.phase.hold{--a: p-hold}.phase.out{--a: p-out}.static-txt{display:none;position:relative;text-align:center;font-family:Fraunces,Georgia,serif;font-size:1.35rem;color:var(--blue)}.breath-cap{margin-top:12px;text-align:center;font-size:.85rem;color:var(--muted)}@keyframes breathe{0%{transform:scale(.62);animation-timing-function:ease-in-out}28.57%{transform:scale(1);animation-timing-function:linear}57.14%{transform:scale(1);animation-timing-function:ease-in-out}to{transform:scale(.62)}}@keyframes p-in{0%{opacity:0}5%{opacity:1}23%{opacity:1}29%{opacity:0}to{opacity:0}}@keyframes p-hold{0%,26%{opacity:0}32%{opacity:1}52%{opacity:1}58%{opacity:0}to{opacity:0}}@keyframes p-out{0%,55%{opacity:0}62%{opacity:1}94%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.breath .disc{animation:none;transform:scale(.85)}.phase{display:none}.static-txt{display:block}html{scroll-behavior:auto}}@media(min-width:860px){.hero-in{grid-template-columns:1.15fr 1fr}}.sec{padding:68px 0}.sec.alt{background:var(--sand2)}.demo-note{font-size:.88rem;color:var(--muted);border:1px dashed var(--sage-d);border-radius:12px;padding:10px 14px;margin-bottom:18px;background:var(--card)}.demo-note b{color:var(--sage-d)}.demo-note a,.lnk{color:var(--blue2);text-decoration:underline}.banner{border-radius:12px;padding:12px 16px;margin-bottom:16px;font-size:.95rem;border:1px solid}.banner.off{border-color:#b9973f;background:var(--offbg);color:#4d3d0f}.banner.err{border-color:var(--err);background:var(--errbg);color:var(--err)}.banner.ok{border-color:var(--sage-d);background:var(--okbg);color:#24401f}.banner.info{border-color:var(--blue2);background:#e4edf1;color:var(--blue)}.filters{display:grid;gap:14px;margin-bottom:18px;padding:16px;background:var(--card);border:1px solid var(--line);border-radius:16px}@media(min-width:900px){.filters{grid-template-columns:repeat(3,auto) 1fr;align-items:end}}.filters fieldset{border:none}.filters legend{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700;margin-bottom:6px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{background:var(--sand);border:1.5px solid var(--line);color:var(--ink);border-radius:999px;padding:6px 14px;cursor:pointer;font:600 .9rem Nunito,sans-serif;min-height:36px}.chip:hover{border-color:var(--sage-d)}.chip[aria-pressed=true]{background:var(--sage-d);color:#fff;border-color:var(--sage-d)}.weeknav{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.weeknav strong{font-family:Fraunces,serif;font-size:1.2rem;color:var(--blue);min-width:11ch;text-align:center}.plan{display:grid;gap:12px;grid-template-columns:1fr}@media(min-width:720px){.plan{grid-template-columns:repeat(3,1fr)}}@media(min-width:1040px){.plan{grid-template-columns:repeat(7,1fr)}}.day{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px;display:flex;flex-direction:column;gap:8px;min-height:80px}.day.today{border-color:var(--sage-d);box-shadow:0 0 0 2px #a9bfa455}.day.past{opacity:.55}.day h3{font-size:1.05rem;font-weight:600;color:var(--blue);display:flex;justify-content:space-between;align-items:baseline}.day h3 small{color:var(--muted);font:600 .8rem Nunito,sans-serif}.day .empty{color:var(--muted);font-size:.85rem}.course{text-align:left;background:#e7efe3;border:1.5px solid #c3d3bd;border-radius:12px;padding:9px 10px;display:grid;gap:2px;cursor:pointer;font:inherit;color:var(--ink)}.course:hover{border-color:var(--sage-d);background:#dde9d8}.course .t{font-size:.8rem;color:var(--sage-d);font-weight:800}.course b{font-family:Fraunces,serif;font-weight:600;font-size:1.02rem;color:var(--blue)}.course .m{font-size:.78rem;color:var(--muted)}.course .seats{font-size:.82rem;font-weight:700;color:var(--sage-d);margin-top:3px}.course .seats.few{color:#7a4d0a}.course .seats.none{color:var(--err)}.course.full{background:#f1e9df;border-color:#dccbb5}.status-line{color:var(--muted);font-size:.9rem;margin-top:12px}dialog{margin:auto;max-height:92vh;overflow:auto;border:none;border-radius:20px;padding:0;max-width:min(520px,94vw);width:100%;background:var(--card);color:var(--ink);box-shadow:0 30px 80px -20px #14283280}dialog::backdrop{background:#1e3a4c73}.dlg-in{padding:26px}.dlg-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.dlg-head h2{font-size:1.6rem;font-weight:500;color:var(--blue)}.x{background:none;border:1.5px solid var(--line);border-radius:50%;width:38px;height:38px;cursor:pointer;font-size:1.1rem;color:var(--ink);flex:none}.form{display:grid;gap:14px;margin-top:16px}.form label{display:block;font-size:.88rem;font-weight:700;color:var(--sage-d);margin-bottom:4px}.form input,.form textarea,.form select,.adm input,.adm select{width:100%;background:#fff;color:var(--ink);border:1.5px solid #b9b19c;border-radius:10px;padding:10px 12px;font:inherit}.form textarea{min-height:64px;resize:vertical}.form input[aria-invalid=true]{border-color:var(--err)}.err-txt{color:var(--err);font-size:.85rem;margin-top:4px;min-height:1em}.two{display:grid;gap:14px}@media(min-width:560px){.two{grid-template-columns:1fr 1fr}}.confirm-box{text-align:center;padding:8px 0}.confirm-box h3{font-size:1.7rem;font-weight:500;color:var(--blue);margin-bottom:6px;outline:none}.ref{display:inline-block;font-family:ui-monospace,Consolas,monospace;font-size:1.5rem;letter-spacing:.12em;color:var(--blue);border:2px solid var(--sage-d);border-radius:12px;padding:6px 16px;margin:12px 0;user-select:all;background:#fff}.facts{list-style:none;display:inline-grid;gap:4px;text-align:left;margin:8px 0 14px}.facts li span{color:var(--muted);display:inline-block;min-width:76px}.actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:8px}.lookup{margin-top:30px;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--card)}.lookup h3{font-size:1.4rem;font-weight:500;color:var(--blue)}.lookup .row{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.lookup .row input{flex:1 1 180px;background:#fff;border:1.5px solid #b9b19c;border-radius:10px;padding:10px 12px;font:inherit;text-transform:uppercase;color:var(--ink)}.lookup-res{margin-top:14px}.tag{display:inline-block;font-size:.78rem;font-weight:700;padding:2px 10px;border-radius:999px;border:1.5px solid var(--line);background:#fff}.tag.confirmed{border-color:var(--sage-d);color:#24401f;background:var(--okbg)}.tag.waitlist{border-color:#b9973f;color:#4d3d0f;background:var(--offbg)}.tag.pending{border-color:var(--blue2);color:var(--blue)}.tag.cancelled{border-color:var(--err);color:var(--err);background:var(--errbg)}.team{display:grid;gap:16px}@media(min-width:720px){.team{grid-template-columns:repeat(3,1fr)}}.member{text-align:center;padding:26px;background:var(--card);border:1px solid var(--line);border-radius:18px}.member svg{width:112px;height:112px;margin:0 auto 12px;display:block}.member h3{font-size:1.35rem;font-weight:600;color:var(--blue)}.member p{color:var(--muted);font-size:.92rem;margin-top:4px}.prices{display:grid;gap:16px}@media(min-width:720px){.prices{grid-template-columns:repeat(3,1fr)}}.price{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px}.price.hl{border:2px solid var(--sage-d)}.price h3{font-size:1.25rem;color:var(--blue);font-weight:600}.price .p{font-family:Fraunces,serif;font-size:2.2rem;color:var(--blue);margin:8px 0}.price ul{list-style:none;color:var(--muted);font-size:.95rem;display:grid;gap:4px}.price li:before{content:"– ";color:var(--sage-d)}.faq details{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:4px 18px;margin-bottom:10px}.faq summary{cursor:pointer;padding:14px 0;font-weight:700;color:var(--blue)}.faq p{padding:0 0 14px;color:var(--muted)}.foot{background:var(--blue);color:#cfdbe0;font-size:.85rem;padding:26px 0;text-align:center}.adm{padding:40px 0 80px;min-height:70vh}.adm h1{font-size:clamp(1.9rem,4.5vw,2.8rem);margin:0 0 10px}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px}.login{max-width:460px;margin:30px auto}.cred{border:2px dashed var(--sage-d);border-radius:12px;padding:12px 16px;margin:14px 0;background:#fff}.cred code{font-family:ui-monospace,Consolas,monospace;color:var(--blue);font-size:1.1rem;font-weight:700}.tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin:18px 0}.tab{background:none;border:none;color:var(--muted);font:700 1rem Nunito,sans-serif;padding:10px 16px;cursor:pointer;border-bottom:3px solid transparent}.tab[aria-selected=true]{color:var(--blue);border-bottom-color:var(--sage-d)}.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-bottom:16px}.toolbar .fld{min-width:150px}.fld>label{display:block;font-size:.85rem;font-weight:700;color:var(--sage-d);margin-bottom:4px}.counts{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.sub{font-family:Fraunces,serif;font-size:1.25rem;font-weight:500;color:var(--blue);margin:18px 0 8px}.tbl{width:100%;border-collapse:collapse}.tbl th{text-align:left;font-weight:700;color:var(--muted);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;padding:8px 10px;border-bottom:2px solid var(--line)}.tbl td{padding:10px;border-bottom:1px solid var(--line);vertical-align:middle;font-size:.93rem}.tbl select,.tbl input{padding:7px 9px}.tbl .refc{font-family:ui-monospace,Consolas,monospace;font-size:.85rem;color:var(--blue);font-weight:700}.tbl input[type=number]{width:84px}.tbl input[type=text]{min-width:170px}.tbl input[type=checkbox]{width:auto}@media(max-width:719px){.tbl thead{position:absolute;left:-9999px}.tbl tr{display:block;border:1px solid var(--line);border-radius:12px;margin-bottom:10px;padding:8px;background:#fff}.tbl td{display:flex;justify-content:space-between;gap:12px;border:none;padding:5px 8px}.tbl td:before{content:attr(data-l);color:var(--muted);font-size:.8rem}.tbl input[type=text]{min-width:0}.nav a:not(.nav-cta){display:none}}.row-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:16px}.reset-zone{margin-top:30px;padding-top:20px;border-top:1px solid var(--line)}.checkline{display:inline-flex;align-items:center;gap:6px;font-weight:600;margin-right:12px}.checkline input{width:auto}.newc{margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
