:root{--bg:#f7f8fa;--surface:#ffffff;--soft:#eef0f3;--line:#e3e5ea;--fg:#1b1d22;--muted:#6b7079;--faint:#c4c8cf;--accent:#4f8be8;--accent-fg:#ffffff;--link:#2c6fdb;--mark:#f6dc7b;--mark-fg:#1b1d22;--ok-soft:#e2f2e9;--warn-soft:#fbf0d9;--plate:transparent;--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#15171b;--surface:#1e2127;--soft:#262a31;--line:#30343c;--fg:#e8eaee;--muted:#9aa0aa;--faint:#4a4f58;--accent:#6ea1f0;--accent-fg:#0f1420;--link:#8db6f5;--mark:#6b5a17;--mark-fg:#fff6d6;--ok-soft:#1d3328;--warn-soft:#352b17;--plate:#ffffff;color-scheme:dark}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font);font-size:17px;line-height:1.85;padding-block:0 72px}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.wrap{max-width:860px;margin:0 auto;display:flex;flex-direction:column;gap:30px;padding-inline:16px;padding-block:32px 0}h1{font-size:clamp(1.7rem,4.4vw,2.6rem);font-weight:500;letter-spacing:-.01em;line-height:1.2;text-align:center;text-wrap:balance}h1,h2{margin:0}h2{font-size:.95rem;font-weight:700}.masthead{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.logo-plate{display:inline-block;background:var(--plate);border-radius:6px;padding:4px 8px;line-height:0}.logo-plate img{display:block;width:min(190px,55vw);height:auto}.affil{font-size:.92rem;color:var(--muted);text-wrap:balance}.step h2{font-size:1.08rem;margin:0 0 4px}.note,.step h2{font-weight:700}.note{font-style:italic}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}p{margin:0}[hidden]{display:none!important}mark{background:var(--mark);color:var(--mark-fg);padding:0 2px;font-weight:700}.cal{align-self:center;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 2px 10px rgba(20,30,50,.07);padding:12px 10px 10px;width:min(300px,100%)}.cal-head{display:flex;align-items:center;justify-content:space-between;gap:4px;padding:0 4px 4px}.nav{background:none;border:0;color:var(--fg);font-size:1.15rem;line-height:1;width:28px;height:28px;border-radius:50%;cursor:pointer}.nav:disabled{color:var(--faint);cursor:default}.my{display:flex;align-items:center;gap:6px}.my select{font:inherit;font-size:1rem;border:0;background:transparent;color:var(--fg);padding:2px;cursor:pointer;width:auto}.grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-row-gap:2px;row-gap:2px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:center}.dow{font-size:.7rem;font-weight:700;color:var(--muted);padding:2px 0 6px}.d{font:inherit;font-size:.86rem;width:36px;height:36px;margin:auto;border-radius:50%;border:0;background:transparent;color:var(--fg);cursor:pointer}.d:disabled{color:var(--faint);cursor:default}.d:not(:disabled):hover{background:var(--line)}.d[aria-pressed=true]{background:var(--accent);color:var(--accent-fg);font-weight:700}.dayhead{text-align:center;font-size:1.35rem;font-weight:500;padding-bottom:14px;border-bottom:1px solid var(--line)}.times{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));grid-gap:10px;gap:10px;padding-block:18px 6px}.time{font:inherit;font-size:.95rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;padding:6px 8px;background:var(--surface);color:var(--fg);border:1px solid var(--muted);border-radius:4px;cursor:pointer}.time:hover,.time[aria-pressed=true]{border-color:var(--accent)}.time[aria-pressed=true]{background:var(--accent);color:var(--accent-fg)}.none,.tz{text-align:center;color:var(--muted);font-size:.9rem}.none{grid-column:1/-1}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:24px;min-width:0}.card,form{display:flex;flex-direction:column;gap:14px}label{display:block;font-size:.88rem;font-weight:600;min-width:0}label>input,label>select,label>textarea{display:block;margin-top:5px}label>.hint{display:block;margin-top:2px}.check,.radios label{display:flex}input,select,textarea{font:inherit;font-weight:400;color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;width:100%}textarea{min-height:96px;resize:vertical}.row{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}@media (max-width:540px){.row{grid-template-columns:1fr}}fieldset{border:0;padding:0;margin:0;min-width:0}legend{font-size:.88rem;font-weight:600;padding:0;margin-bottom:4px}.radios{display:flex;gap:18px;flex-wrap:wrap}.check,.radios label{flex-direction:row;align-items:flex-start;gap:8px;font-weight:400}.radios{row-gap:6px}.check input,.radios input{width:auto;margin-top:6px}.reg-title{font-size:1.45rem;font-weight:500}.hint{font-size:.85rem;font-weight:400;color:var(--muted)}.req{color:#c0392b}.group{display:flex;flex-direction:column;gap:14px;border-top:1px solid var(--line);padding-top:18px}.group-h{font-size:1.02rem;font-weight:700;padding:0;margin-bottom:2px}fieldset>legend+.hint{margin-top:-2px}.ec,.sub{display:flex;flex-direction:column;gap:12px;padding:14px;border-radius:6px;background:var(--bg);border:1px solid var(--line)}.ec h3{margin:0}.ec h3,.policy{font-size:.9rem}.policy{max-height:340px;overflow-y:auto;padding:16px;border:1px solid var(--line);border-radius:6px;background:var(--bg);line-height:1.65}.policy h3{font-size:.92rem;margin:14px 0 4px}.policy h3:first-child{margin-top:0}.policy p{max-width:68ch;margin:0 0 8px}.policy ul{margin:0 0 8px;padding-left:20px;max-width:66ch}.policy li{margin-bottom:4px}.policy h3:first-child{font-size:1rem;text-transform:uppercase;letter-spacing:.04em}.consents{gap:10px}.consents,.statements{display:flex;flex-direction:column}.statements{margin:8px 0 12px;padding-left:20px;font-size:.92rem;line-height:1.55;gap:6px}.statements.plain{list-style:none;padding-left:0}.agree{padding:12px 14px;border:1px solid var(--line);border-radius:6px;background:var(--bg);font-weight:600}.agree input{margin-top:5px}.consents .check{font-size:.92rem;line-height:1.5}.consents .check input{margin-top:3px}.sigwrap{position:relative;border:1px dashed var(--muted);border-radius:6px;overflow:hidden;background:#ffffff}#sig{display:block;width:100%;height:170px;touch-action:none;cursor:crosshair}.sigline{position:absolute;left:16px;right:16px;bottom:30px;border-top:1px solid #c4c8cf;font-size:.75rem;color:#8a8f98;padding-top:2px;pointer-events:none}.sig-actions{display:flex;justify-content:flex-end}.btn.small{padding:5px 12px;font-size:.85rem}input[readonly]{color:var(--muted)}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.chosen{padding:12px 14px;border-radius:10px;background:var(--bg);border:1px solid var(--line);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.btn{font:inherit;font-weight:600;border-radius:6px;padding:10px 22px;border:1px solid var(--accent);background:var(--accent);color:var(--accent-fg);cursor:pointer;align-self:flex-start}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.ghost{background:transparent;color:var(--link);border-color:var(--link)}.notice{padding:12px 14px;border-radius:10px;font-size:.9rem;background:var(--warn-soft);color:var(--fg)}.done{background:var(--ok-soft);border-color:transparent}.done .when{font-weight:700;font-size:1.05rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}dialog.modal{border:0;padding:0;border-radius:12px;width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow-y:auto;line-height:1.6;background:var(--surface);color:var(--fg);box-shadow:0 20px 60px rgba(0,0,0,.25)}dialog.modal::-webkit-backdrop{background:rgba(15,18,24,.55)}dialog.modal::backdrop{background:rgba(15,18,24,.55)}.modal-body{padding:28px;display:flex;flex-direction:column;gap:14px}@media (max-width:480px){.modal-body{padding:22px 20px}}.modal-body h2{font-size:1.3rem;font-weight:600;margin:0;line-height:1.3}.modal-when{font-weight:700;font-size:1.05rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;padding:12px 14px;border-radius:8px;background:var(--ok-soft)}.modal-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:4px}.btn.link{background:transparent;border-color:transparent;color:var(--link);padding-inline:8px}a.btn{display:inline-block}a.btn,a.btn:hover{text-decoration:none}.booking-ref{padding:12px 14px;border-radius:8px;background:var(--soft);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.consent-intro{font-size:.92rem;line-height:1.55;margin-top:2px}@media (max-width:480px){.card{padding:18px 16px}}