:root{--bg:#f4f5fb;--surface:#fff;--surface-2:#eef0f8;--text:#0e1530;--muted:#4b5675;--border:#c9d0e4;--brand:#4338ca;--brand-hover:#3730a3;--on-brand:#fff;--brand-soft:#eceeff;--brand-line:#4338ca;--brand-text:#3730a3;--focus:#1d4ed8;--danger:#b42318;--danger-bg:#fef3f2;--danger-border:#f1a9a2;--warn-text:#7a4a00;--warn-bg:#fff6e0;--warn-border:#e6c477;--info-text:#1e3a8a;--info-bg:#eef4ff;--info-border:#b7cbf7;--panel-a:#12154a;--panel-b:#3a36c9;--panel-text:#fff;--panel-muted:#dfe2ff;--radius:16px;--radius-sm:12px;--shadow:0 1px 2px #0e15300f, 0 12px 32px #0e153014;--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#0a0e24;--surface:#121835;--surface-2:#1a2146;--text:#eef0ff;--muted:#aab3d6;--border:#2f3a6e;--brand:#4f46e5;--brand-hover:#4338ca;--on-brand:#fff;--brand-soft:#1f2556;--brand-line:#8f98ff;--brand-text:#b4bcff;--focus:#8ea6ff;--danger:#ff9b92;--danger-bg:#3a1620;--danger-border:#7a3140;--warn-text:#ffd48a;--warn-bg:#33270f;--warn-border:#6d5320;--info-text:#b9ccff;--info-bg:#14234d;--info-border:#2f4a8a;--shadow:0 1px 2px #0000004d, 0 12px 32px #00000059}}*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.55}h1,h2,h3,p,ul,ol,dl,dd,fieldset{margin:0;padding:0}ul,ol{list-style:none}fieldset{border:0;min-width:0}button,input{font:inherit;color:inherit}button{cursor:pointer}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:6px}[tabindex="-1"]:focus{outline:none}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;border-radius:var(--radius-sm);background:var(--brand);color:var(--on-brand);padding:12px 18px;font-weight:600;text-decoration:none;position:fixed;top:-80px;left:12px}.skip-link:focus{top:12px}.shell{grid-template-columns:minmax(0,1fr);min-height:100dvh;display:grid}.brand-panel{color:var(--panel-text);background:radial-gradient(120% 90% at 100% 0%, #8c96ff61 0%, transparent 55%), radial-gradient(90% 80% at 0% 100%, #463cdc73 0%, transparent 60%), linear-gradient(160deg, var(--panel-a), var(--panel-b));border-bottom-right-radius:28px;border-bottom-left-radius:28px;flex-direction:column;gap:28px;padding:20px 16px 28px;display:flex;position:relative;overflow:hidden}.brand-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.wordmark{letter-spacing:.14em;align-items:center;gap:10px;font-size:1.15rem;font-weight:800;display:inline-flex}.wordmark-mark{background:linear-gradient(135deg,#fff 0%,#b8c0ff 100%);border-radius:7px;width:22px;height:22px;box-shadow:0 0 0 4px #ffffff29}.lang-list{background:#ffffff1f;border-radius:999px;gap:4px;padding:4px;display:flex}.lang-link{min-height:40px;color:var(--panel-text);border-radius:999px;align-items:center;padding:0 12px;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.lang-link:hover{background:#ffffff29}.lang-link[aria-current=page]{color:var(--panel-a);background:#fff}.brand-panel :focus-visible{outline-color:#fff}.hero{gap:14px;max-width:34rem;display:grid}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--panel-muted);font-size:.8125rem;font-weight:700}.hero h1{letter-spacing:-.02em;text-wrap:balance;font-size:clamp(1.75rem,1.2rem + 2.6vw,2.75rem);line-height:1.1}.lead{color:var(--panel-muted);max-width:32rem;font-size:1.0625rem}.facts{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.facts li{background:#ffffff24;border-radius:999px;padding:6px 12px;font-size:.875rem;font-weight:600}@media (max-width:699px){.brand-panel{gap:14px;padding:14px 16px 20px}.hero{gap:10px}.hero h1{font-size:1.6rem}.lead{display:none}.facts li{padding:4px 10px;font-size:.8125rem}}.booking-main{justify-content:center;align-items:flex-start;padding:20px 16px 48px;display:flex}.booking-main:focus{outline:none}@media (min-width:700px){.brand-panel{padding:28px 40px 40px}.booking-main{padding:32px 32px 64px}}@media (min-width:1000px){.shell{grid-template-columns:minmax(360px,5fr) minmax(0,7fr)}.brand-panel{border-radius:0 32px 32px 0;justify-content:space-between;height:100dvh;padding:40px 48px;position:sticky;top:0}.hero{gap:18px}.booking-main{align-items:center;padding:48px 56px}}.wizard{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;max-width:640px;box-shadow:var(--shadow);padding:20px 16px 24px}@media (min-width:700px){.wizard{padding:32px 36px 36px}}.progress{margin-bottom:24px}.progress-count{color:var(--muted);margin-bottom:10px;font-size:.875rem;font-weight:600}.progress-track{background:var(--surface-2);border-radius:999px;height:6px;overflow:hidden}.progress-fill{background:var(--brand);transform-origin:0;border-radius:999px;width:100%;height:100%}.progress-steps{justify-content:space-between;gap:4px;margin-top:14px;display:flex}.progress-steps li{text-align:center;flex-direction:column;flex:1;align-items:center;gap:6px;min-width:0;display:flex}.progress-dot{border:2px solid var(--border);background:var(--surface);width:28px;height:28px;color:var(--muted);border-radius:50%;place-items:center;font-size:.8125rem;font-weight:700;display:grid}.progress-dot svg{stroke-width:2.5px;width:16px;height:16px}.is-current .progress-dot{border-color:var(--brand-line);background:var(--brand);color:var(--on-brand)}.is-done .progress-dot{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-text)}.progress-label{color:var(--muted);font-size:.8125rem;line-height:1.2}.is-current .progress-label{color:var(--text);font-weight:700}@media (max-width:559px){.progress-label,.is-current .progress-label{display:none}}.step{gap:16px;display:grid}.step-title{letter-spacing:-.01em;text-wrap:balance;font-size:clamp(1.35rem,1.1rem + 1vw,1.75rem);line-height:1.2}.step-hint{color:var(--muted)}.actions{justify-content:space-between;align-items:center;gap:12px;margin-top:8px;display:flex}.btn{border-radius:var(--radius-sm);border:1px solid #0000;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:0 24px;font-weight:700;transition:background-color .15s,transform .1s,box-shadow .15s;display:inline-flex}.btn-primary{background:var(--brand);color:var(--on-brand);box-shadow:0 6px 16px #4338ca47}.btn-primary:hover:not(:disabled){background:var(--brand-hover)}.btn-primary:active:not(:disabled){transform:translateY(1px)}.btn-ghost{border-color:var(--border);color:var(--text);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--surface-2)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}@media (max-width:479px){.actions .btn-primary{flex:1}}.icon-btn{border:1px solid var(--border);background:var(--surface);border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.icon-btn:hover:not(:disabled){background:var(--surface-2)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.link-btn{min-height:32px;color:var(--brand-text);text-underline-offset:3px;background:0 0;border:0;margin-left:10px;padding:6px 4px;font-weight:600;text-decoration:underline}.spinner{border:2.5px solid #fff6;border-top-color:currentColor;border-radius:50%;width:18px;height:18px}.topic-grid{grid-template-columns:minmax(0,1fr);gap:10px;display:grid}@media (min-width:560px){.topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.topic-card{cursor:pointer;display:block;position:relative}.topic-body{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);align-items:center;gap:14px;height:100%;min-height:76px;padding:14px 16px;transition:border-color .15s,background-color .15s,box-shadow .15s;display:flex}.topic-card:hover .topic-body{border-color:var(--brand-line)}.topic-icon{background:var(--brand-soft);width:44px;height:44px;color:var(--brand-text);border-radius:12px;flex:none;place-items:center;display:grid}.topic-text{flex:1;gap:2px;min-width:0;display:grid}.topic-name{font-weight:700;line-height:1.25}.topic-desc{color:var(--muted);font-size:.875rem;line-height:1.35}.topic-check{background:var(--brand);width:24px;height:24px;color:var(--on-brand);opacity:0;border-radius:50%;flex:none;place-items:center;transition:opacity .15s,transform .15s;display:grid;transform:scale(.7)}.topic-check svg{stroke-width:3px;width:15px;height:15px}.topic-card input:checked+.topic-body{border-color:var(--brand-line);background:var(--brand-soft);box-shadow:0 0 0 1px var(--brand-line)}.topic-card input:checked+.topic-body .topic-check{opacity:1;transform:scale(1)}.topic-card input:focus-visible+.topic-body{outline:3px solid var(--focus);outline-offset:2px}.calendar-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.calendar-title{text-transform:capitalize;font-size:1.0625rem}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.calendar-dow{text-align:center;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);cursor:default;padding-bottom:4px;font-size:.75rem;font-weight:700;text-decoration:none}.day{background:var(--brand-soft);min-height:44px;color:var(--brand-text);border:1.5px solid #0000;border-radius:12px;font-weight:700;transition:background-color .12s,border-color .12s}.day:hover:not(:disabled){border-color:var(--brand-line)}.day[aria-pressed=true]{background:var(--brand);border-color:var(--brand-line);color:var(--on-brand);box-shadow:0 0 0 1px var(--brand-line)}.day:disabled{color:var(--muted);opacity:.55;cursor:not-allowed;background:0 0;font-weight:400}.slot-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px;display:grid}.slot{cursor:pointer;display:block}.slot-body{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font-variant-numeric:tabular-nums;place-items:center;min-height:48px;font-weight:700;transition:border-color .12s,background-color .12s;display:grid}.slot:hover .slot-body{border-color:var(--brand-line)}.slot input:checked+.slot-body{background:var(--brand);border-color:var(--brand-line);color:var(--on-brand);box-shadow:0 0 0 1px var(--brand-line)}.slot input:focus-visible+.slot-body{outline:3px solid var(--focus);outline-offset:2px}.slot-note{color:var(--muted);align-items:center;gap:8px;font-size:.9375rem;display:flex}.slot-note svg{flex:none;width:18px;height:18px}.form{gap:18px;display:grid}.field{gap:6px;display:grid}.field label{font-size:.9375rem;font-weight:700}.field input{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-height:48px;color:var(--text);width:100%;padding:0 14px;font-size:1rem}.field textarea{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-height:96px;color:var(--text);font:inherit;resize:vertical;width:100%;padding:12px 14px;font-size:1rem;line-height:1.5}.field input:hover,.field textarea:hover{border-color:var(--muted)}.hp-field{width:1px;height:1px;position:absolute;top:auto;left:-10000px;overflow:hidden}.summary .note-text{white-space:pre-wrap;overflow-wrap:anywhere}.field input[aria-invalid=true]{border-color:var(--danger);background:var(--danger-bg)}.muted{color:var(--muted);font-weight:400}.hint{color:var(--muted);font-size:.875rem}.field-error{color:var(--danger);font-size:.875rem;font-weight:600}.notice{border-radius:var(--radius-sm);border:1px solid;padding:12px 14px;font-size:.9375rem}.notice ul{margin-top:6px;padding-left:18px;list-style:outside}.notice a{color:inherit;font-weight:600}.notice-info{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}.notice-warn{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn-text)}.notice-error{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.summary{border:1px solid var(--border);border-radius:var(--radius-sm);display:grid;overflow:hidden}.summary>div{gap:2px;padding:12px 16px;display:grid}.summary>div+div{border-top:1px solid var(--border)}.summary dt{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.8125rem;font-weight:700}.summary dd{overflow-wrap:anywhere;font-weight:600}@media (min-width:560px){.summary>div{grid-template-columns:140px minmax(0,1fr);align-items:baseline;gap:16px}}.success{justify-items:start;gap:16px;display:grid}.success .summary,.success .notice{width:100%}.success-mark{background:var(--brand-soft);width:56px;height:56px;color:var(--brand-text);border-radius:50%;place-items:center;display:grid}.success-mark svg{stroke-width:2.5px;width:30px;height:30px}.badge{letter-spacing:.04em;border:1px solid;border-radius:999px;align-items:center;padding:6px 12px;font-size:.8125rem;font-weight:800;display:inline-flex}.badge-pending{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn-text)}.reference{-webkit-user-select:all;user-select:all;overflow-wrap:anywhere;font-size:.9375rem}.skeleton{border-radius:var(--radius-sm);background:var(--surface-2)}.skeleton-card{min-height:76px}.skeleton-calendar{min-height:320px}.topic-grid[aria-busy=true]{display:grid}@media (prefers-reduced-motion:no-preference){.step{animation:.28s ease-out step-in}.progress-fill{transition:transform .35s}.skeleton{animation:1.4s ease-in-out infinite pulse}.spinner{animation:.8s linear infinite spin}@keyframes step-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes pulse{50%{opacity:.55}}@keyframes spin{to{transform:rotate(360deg)}}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (forced-colors:active){.topic-card input:checked+.topic-body,.slot input:checked+.slot-body,.day[aria-pressed=true]{outline:3px solid highlight}}
