@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Inter:wght@400;500;600;700&display=swap");:root{--brick:#8e3122;--brick-deep:#6f2519;--ink:#241a0d;--ink-soft:#4a4034;--ink-faint:#8a7c62;--cream:#f7f2e8;--paper:#fffdf8;--line:#e6ddcb;--gold:#9c5a1a;--ok:#4a5740}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--cream);color:var(--ink);font-family:Inter,-apple-system,system-ui,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}.serif,h1,h2,h3{font-family:Cormorant Garamond,Georgia,serif}h1,h2,h3{font-weight:600;letter-spacing:-.01em;margin:0}.wrap{max-width:940px;margin:0 auto;padding:0 20px}.masthead{background:var(--ink);color:var(--paper);padding:40px 0 34px;text-align:center}.masthead .brand{font-family:Cormorant Garamond,serif;font-size:34px;letter-spacing:.18em;text-transform:uppercase}.masthead .kicker{display:block;margin-top:8px;color:#d9c9a8;font-size:12px;letter-spacing:.22em;text-transform:uppercase}.masthead .sub{margin:10px 0 0;color:#bdae94;font-style:italic;font-family:Cormorant Garamond,serif;font-size:19px}section{padding:34px 0}.card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:26px}.card+.card{margin-top:20px}label{display:block;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:6px}input[type=date],input[type=email],input[type=number],input[type=text],input[type=time],select,textarea{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);font:inherit;font-size:15px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brick)}textarea{resize:vertical}.grid3{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px}.row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:999px;border:1px solid transparent;font:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:all .15s ease}.btn-primary{background:var(--brick);color:#fff}.btn-primary:hover:not(:disabled){background:var(--brick-deep)}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn-ghost:hover:not(:disabled){border-color:var(--ink)}.btn:disabled{opacity:.45;cursor:not-allowed}.note{font-size:13.5px;color:var(--ink-faint)}.err{color:var(--brick)}.err,.ok{font-size:14px;margin-top:10px}.ok{color:var(--ok);font-weight:600}.resv{display:flex;gap:26px;flex-wrap:wrap;align-items:center;justify-content:space-between}.resv-item .l{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint)}.resv-item .v{font-family:Cormorant Garamond,serif;font-size:21px;font-weight:600}.course{margin-bottom:30px}.course-head{display:flex;align-items:baseline;gap:12px;border-bottom:2px solid var(--brick);padding-bottom:8px;margin-bottom:14px}.course-head h2{font-size:25px;color:var(--brick);text-transform:uppercase;letter-spacing:.06em}.course-rule{font-style:italic;color:var(--ink-faint);font-family:Cormorant Garamond,serif;font-size:17px}.course-count{margin-left:auto;font-size:12.5px;font-weight:600;color:var(--ink-faint)}.course-count.done{color:var(--ok)}.items{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:10px;gap:10px}.item{display:flex;gap:11px;align-items:flex-start;padding:13px 15px;cursor:pointer;border:1px solid var(--line);border-radius:11px;background:var(--paper);transition:all .13s ease}.item:hover{border-color:var(--ink-faint)}.item.on{border-color:var(--brick);background:#fdf6f3;box-shadow:inset 0 0 0 1px var(--brick)}.item.off{opacity:.45}.item input{margin:3px 0 0;width:16px;height:16px;accent-color:var(--brick);flex:none}.item-name{font-weight:600;font-size:15px}.item-desc{font-size:13px;color:var(--ink-soft);line-height:1.45}.item-tags{font-size:12px;margin-left:5px;letter-spacing:2px}.plus20{display:inline-block;margin-left:7px;background:var(--brick);color:#fff;font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:999px;letter-spacing:.04em;vertical-align:1px}.totals{width:100%;border-collapse:collapse}.totals td{padding:9px 0;border-bottom:1px solid var(--line);font-size:15px}.totals td:last-child{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.totals tr.sum td{font-weight:700;border-bottom:2px solid var(--ink)}.totals tr.grand td{font-family:Cormorant Garamond,serif;font-size:26px;font-weight:700;border-bottom:none;padding-top:14px}.totals .muted{color:var(--ink-faint);font-size:13px}.tier{display:flex;gap:10px;align-items:center;padding:12px 15px;border-radius:10px;background:#fdf6f3;border:1px solid var(--brick);font-size:14px;margin-bottom:18px}.legend{display:flex;gap:18px;flex-wrap:wrap;font-size:12.5px;margin-top:8px}.fine,.legend{color:var(--ink-faint)}.fine{font-size:12px;line-height:1.7}footer{background:var(--ink);color:#bdae94;padding:26px 0;margin-top:40px;text-align:center;font-size:13px}.modal-veil{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(36,26,13,.62);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:veil-in .22s ease both}.modal{position:relative;width:100%;max-width:520px;max-height:calc(100vh - 40px);overflow-y:auto;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:38px 34px 30px;text-align:center;box-shadow:0 26px 60px rgba(36,26,13,.3);animation:modal-in .26s cubic-bezier(.2,.8,.3,1) both}.modal-x{position:absolute;top:12px;right:14px;background:none;border:none;cursor:pointer;font-size:24px;line-height:1;color:var(--ink-faint);padding:4px 8px;border-radius:999px}.modal-x:hover{color:var(--ink)}.modal-seal{width:54px;height:54px;margin:0 auto 16px;border-radius:999px;background:var(--brick);color:#fff;font-size:27px;line-height:54px;font-weight:700}.modal-title{font-size:38px;color:var(--brick);letter-spacing:.01em}.modal-lead{margin:8px 0 0;font-size:15.5px;color:var(--ink-soft)}.modal-facts{display:grid;grid-template-columns:1fr 1fr;grid-gap:1px;gap:1px;margin:22px 0 18px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}.modal-facts>div{background:var(--paper);padding:12px 14px;text-align:left}.modal-facts span{display:block;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint)}.modal-facts b{font-family:Cormorant Garamond,serif;font-size:19px;font-weight:600}.modal-note{font-size:13.5px;color:var(--ink-faint);margin:0 0 22px}.modal-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.modal-actions .btn{text-decoration:none}.modal-timer{font-size:12.5px;color:var(--ink-faint);margin:16px 0 0}@keyframes veil-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.modal,.modal-veil{animation:none}}@media (max-width:720px){.grid3,.items{grid-template-columns:1fr}.masthead .brand{font-size:26px}.modal{padding:32px 22px 26px}.modal-title{font-size:32px}.modal-facts{grid-template-columns:1fr}.modal-actions .btn{width:100%}}