html,body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);-webkit-text-size-adjust:100%;margin:0}a{color:var(--color-accent-700);text-underline-offset:3px}a:hover{color:var(--color-accent-900)}.page{flex-direction:column;min-height:100vh;display:flex}.site-header{border-bottom:1px solid var(--color-divider)}.site-header__inner{justify-content:space-between;align-items:center;gap:16px;max-width:680px;margin:0 auto;padding:14px 20px;display:flex}.brand{color:var(--color-text);flex-direction:column;gap:2px;text-decoration:none;display:flex}.brand:hover{color:var(--color-text)}.brand__name{font-family:var(--font-heading);letter-spacing:.14em;text-transform:uppercase;font-size:22px;font-weight:400;line-height:1}.brand__sub{letter-spacing:.12em;text-transform:uppercase;color:var(--color-neutral-700);font-size:11px}.back-link{align-items:center;gap:6px;min-height:44px;font-size:14px;display:flex}.main{flex-direction:column;flex:1;gap:28px;width:100%;max-width:680px;margin:0 auto;padding:28px 20px 56px;display:flex}.stack-8{flex-direction:column;gap:8px;display:flex}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent-700);font-size:12px}.page-title{margin:0;font-size:38px;font-weight:400;line-height:1.05}.lead{color:var(--color-neutral-800);text-wrap:pretty;margin:0;font-size:15px;line-height:1.55}.select-label{color:var(--color-text);margin:0;font-size:14px;font-weight:600}.field>label.select-label{color:var(--color-text);margin:0;font-size:14px}.select-wrap{position:relative}.select{appearance:none;background:var(--color-neutral-100);cursor:pointer;border-color:var(--color-neutral-500);min-height:56px;padding:12px 48px 12px 16px;font-size:16px}.select-wrap svg{pointer-events:none;color:var(--color-accent-700);position:absolute;top:50%;right:16px;transform:translateY(-50%)}.session-card{background:var(--color-neutral-100);box-shadow:var(--shadow-md);gap:0;padding:0;overflow:hidden}.session-card figure{aspect-ratio:2048/1010;background:var(--color-surface);border-bottom:1px solid var(--color-divider);margin:0;position:relative}.session-card img{object-fit:cover;width:100%;height:100%;display:block}.session-card__body{flex-direction:column;gap:16px;padding:18px 16px 16px;display:flex}.session-card__kicker{color:var(--color-accent-700);font-size:11px}.session-card__title{text-wrap:balance;margin:0;font-size:26px;font-weight:600;line-height:1.05}.session-card__date{color:var(--color-text);font-size:14px}.session-card__address{color:var(--color-neutral-700);align-items:flex-start;gap:6px;font-size:13px;line-height:1.4;display:flex}.session-card__address svg{flex:none;margin-top:2px}.session-card__desc{text-align:justify;-webkit-hyphens:auto;hyphens:auto;color:var(--color-neutral-900);margin:0;font-size:14px;line-height:1.6}.price-row{border-top:1px solid var(--color-divider);justify-content:space-between;align-items:baseline;gap:12px;padding-top:12px;display:flex}.price-row__label{color:var(--color-neutral-800);font-size:13px}.price-row__hint{color:var(--color-neutral-700);font-size:12px}.price{font-family:var(--font-heading);font-feature-settings:"tnum";white-space:nowrap;font-size:30px;font-weight:600}.notice{border:1px solid var(--color-accent);border-radius:var(--radius-md);align-items:flex-start;gap:12px;padding:14px 16px;font-size:14px;line-height:1.5;display:flex}.notice svg{flex:none;margin-top:1px}.day{flex-direction:column;gap:16px;display:flex}.day__head{border-bottom:1px solid var(--color-divider);flex-direction:column;gap:4px;padding-bottom:14px;display:flex}.day__title{font-feature-settings:"tnum";margin:0;font-size:28px;font-weight:600;line-height:1.1}.day__avail{color:var(--color-neutral-800);font-size:14px}.legend{color:var(--color-neutral-800);flex-wrap:wrap;gap:8px 20px;font-size:13px;display:flex}.legend span{align-items:center;gap:8px;display:flex}.legend i{border-radius:2px;width:22px;height:14px}.legend .free{border:1px solid var(--color-accent);background:var(--color-neutral-100)}.legend .taken{border:1px dashed var(--color-neutral-500)}.sold-out{border:1px dashed var(--color-neutral-500);border-radius:var(--radius-md);text-align:center;flex-direction:column;gap:8px;padding:20px;display:flex}.sold-out__title{font-family:var(--font-heading);font-size:22px;font-weight:600}.sold-out p{color:var(--color-neutral-800);text-wrap:pretty;margin:0;font-size:14px;line-height:1.55}.timeline{margin:0;padding:0;list-style:none;position:relative}.timeline__hour{pointer-events:none;align-items:flex-start;gap:10px;display:flex;position:absolute;left:0;right:0}.timeline__hour span:first-child{width:48px;color:var(--color-neutral-700);font-feature-settings:"tnum";text-align:right;flex:none;margin-top:-8px;font-size:12px}.timeline__hour span:last-child{border-top:1px solid var(--color-divider);flex:1}.timeline__slot{position:absolute;left:62px;right:0}.slot{border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:12px;width:100%;height:100%;padding:0 18px;display:flex}.slot--free{font:inherit;color:var(--color-text);background:var(--color-neutral-100);border:1px solid var(--color-accent);box-shadow:var(--shadow-sm);cursor:pointer;text-align:left;transition:background .12s}.slot--free:hover{background:var(--color-accent-100)}.slot--free:active{background:var(--color-accent-200)}.slot--free .slot__time{font-family:var(--font-heading);font-feature-settings:"tnum";font-size:28px;font-weight:600;line-height:1}.slot--free .slot__cta{color:var(--color-accent-700);align-items:center;gap:4px;font-size:13px;display:flex}.slot--taken{border:1px dashed var(--color-neutral-500);cursor:not-allowed}.slot--taken .slot__time{font-family:var(--font-heading);font-feature-settings:"tnum";color:var(--color-neutral-600);font-size:24px;font-weight:400;line-height:1;text-decoration:line-through;text-decoration-thickness:1px}.slot--taken .slot__cta{color:var(--color-neutral-700);font-size:13px}.info{border-top:1px solid var(--color-divider);color:var(--color-neutral-800);flex-direction:column;gap:12px;padding-top:20px;font-size:13px;line-height:1.6;display:flex}.info h2{color:var(--color-text);margin:0;font-size:20px}.info p{text-align:justify;-webkit-hyphens:auto;hyphens:auto;margin:0}.overlay{z-index:50;background:color-mix(in srgb, var(--color-neutral-900) 55%, transparent);justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}.sheet{background:var(--color-bg);border:1px solid var(--color-divider);width:100%;max-width:100%;max-height:94vh;box-shadow:var(--shadow-lg);border-radius:12px 12px 0 0;flex-direction:column;display:flex;overflow-y:auto}.sheet__grip{background:var(--color-neutral-400);border-radius:2px;align-self:center;width:40px;height:4px}@media (width>=640px){.overlay{align-items:center;padding:24px}.sheet{border-radius:var(--radius-lg);max-width:540px;max-height:calc(100vh - 48px)}.sheet__grip{display:none}}.sheet__head{z-index:1;background:var(--color-bg);border-bottom:1px solid var(--color-divider);flex-direction:column;gap:10px;padding:10px 20px 16px;display:flex;position:sticky;top:0}.sheet__row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.sheet__kicker{letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent-700);font-size:11px}.sheet__title{margin:0;font-size:24px;font-weight:600;line-height:1.1}.sheet__close{flex:none;width:44px;height:44px}.sheet__meta{flex-wrap:wrap;align-items:baseline;gap:4px 14px;display:flex}.sheet__time{font-family:var(--font-heading);font-feature-settings:"tnum";font-size:30px;font-weight:600;line-height:1}.form{flex-direction:column;gap:18px;padding:20px;display:flex}.form__intro{text-align:justify;-webkit-hyphens:auto;hyphens:auto;color:var(--color-neutral-900);margin:0;font-size:14px;line-height:1.6}.form .field{flex-direction:column;gap:6px;display:flex}.form .field>label{color:var(--color-text);margin:0;font-size:14px}.form .input{background:var(--color-neutral-100);border-color:var(--color-neutral-500);min-height:50px;padding:10px 14px;font-size:16px}.form textarea.input{line-height:1.5}.form .input[aria-invalid=true]{border-color:var(--color-accent-800)}.req{color:var(--color-accent-700)}.opt{color:var(--color-neutral-700)}.field-error{color:var(--color-accent-800);align-items:center;gap:6px;font-size:13px;display:flex}.consent{cursor:pointer;border:1px solid var(--color-divider);border-radius:var(--radius-md);align-items:flex-start;gap:12px;padding:12px 14px;font-size:15px;line-height:1.45;display:flex}.consent input{width:22px;height:22px;accent-color:var(--color-accent-700);cursor:pointer;flex:none;margin:0}.hold-note{color:var(--color-neutral-800);align-items:flex-start;gap:10px;margin:0;font-size:13px;line-height:1.55;display:flex}.hold-note svg{flex:none;margin-top:2px}.form__submit{background:var(--color-bg);flex-direction:column;gap:8px;padding:4px 0 8px;display:flex;position:sticky;bottom:0}.form__submit .btn{background:var(--color-bg);min-height:54px;margin-top:0;font-size:16px}.form__submit .hint{text-align:center;color:var(--color-neutral-700);font-size:12px}.form__error{color:var(--color-accent-800);text-align:center;margin:0;font-size:14px}.honeypot{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.done{flex-direction:column;align-items:flex-start;gap:16px;padding:28px 20px 24px;display:flex}.done__icon{border:1px solid var(--color-accent);width:52px;height:52px;color:var(--color-accent-700);border-radius:50%;place-items:center;display:grid}.done h3{text-wrap:balance;margin:0;font-size:28px;font-weight:600;line-height:1.1}.done p{color:var(--color-neutral-900);text-wrap:pretty;margin:0;font-size:15px;line-height:1.6}.done p.small{color:var(--color-neutral-800);font-size:13px;line-height:1.55}.done .btn{min-height:52px;font-size:16px}.notice--error{--error:#b3261e;border:2px solid var(--error);color:var(--error);box-shadow:var(--shadow-md);background:#fdecea;padding:16px 18px;font-size:16px;font-weight:600;line-height:1.45}.notice--error svg{margin-top:0}
