.language-select{background:transparent;border:1px solid var(--line);border-radius:4px;color:var(--ink);font:500 12px var(--sans);padding:9px 25px 9px 10px;max-width:160px}.reservation-section{padding:85px 0;background:var(--sea);scroll-margin-top:100px}.reservation-inner{display:grid;grid-template-columns:.7fr 1.3fr;gap:60px;align-items:start}.reservation-intro h2{margin:20px 0}.reservation-intro p{font-size:13px;color:var(--muted);line-height:2}.calendar-shell,#reservation-calendar{background:var(--white);padding:28px;border-radius:8px}.calendar-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:22px}.calendar-toolbar h3{font-size:23px;line-height:1.3}.calendar-controls{display:flex;align-items:center;gap:6px}.calendar-controls button{background:var(--paper);border:1px solid var(--line);border-radius:4px;min-height:38px;padding:5px 12px;font-size:12px}.calendar-controls button:disabled{opacity:.35;cursor:default}.calendar-legend{display:flex;gap:10px 16px;flex-wrap:wrap;font-size:10px;margin:14px 0 20px}.calendar-legend span:before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;background:#d8d8ce}.legend-open:before{background:#1e6650!important}.legend-full:before{background:#b23c32!important}.legend-closed:before{background:#77786c!important}.calendar-table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:4px}.calendar-table th{font-size:11px;font-weight:500;padding-bottom:12px;color:var(--muted)}.calendar-table td{height:69px;padding:0;vertical-align:top}.calendar-day{width:100%;height:100%;min-height:69px;border:1px solid transparent;border-radius:5px;display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;background:#f1f1e9;padding:7px 2px}.date-number{font:600 17px/1.25 Arial,sans-serif}.date-state{font-size:10px;line-height:1.3}.state-open{background:#e7f2e7;color:#1e5644;border-color:#bbd4bc}.state-open:hover,.state-open:focus-visible{background:#d5e9d7;border-color:#285f4f;transform:translateY(-1px)}.state-full{background:#f9e5df;color:#993b32}.state-closed{background:#e7e6df;color:#60615a}.state-preparing{background:#f2f0e8;color:#7b7b70}.state-past{background:transparent;color:#b7b9b0}.calendar-day:disabled{cursor:default}.calendar-day[aria-current=date] .date-number{text-decoration:underline;text-underline-offset:5px}.calendar-day.selected{outline:2px solid var(--ink)}.calendar-footnote{font-size:10px;color:var(--muted);margin-top:16px}.calendar-help{font-size:12px;margin-top:9px;line-height:1.9}.calendar-message{padding:35px 0;font-size:13px;line-height:2}.calendar-help:empty{display:none}.reservation-dialog{width:min(580px,calc(100% - 28px))}.reservation-dialog .dialog-content{padding:36px}.reservation-dialog h2{font-size:26px;line-height:1.5;max-width:90%}.booking-form{display:grid;gap:18px;margin-top:22px}.selected-date{font-size:17px!important;font-weight:700;color:var(--ink)}.form-field{display:flex;flex-direction:column;gap:7px}.form-field label{font-size:12px;font-weight:600;line-height:1.6}.form-field input,.form-field select,.form-field textarea{width:100%;padding:11px 12px;background:white;border:1px solid #aebcb4;border-radius:4px;min-height:44px;font:14px/1.7 var(--sans);color:var(--ink)}.form-field textarea{min-height:90px!important}.form-field input:focus,.form-field select:focus{outline:2px solid #2d6d59;outline-offset:2px}.field-hint{font-size:10px;line-height:1.8;color:var(--muted)}.form-total{display:grid;grid-template-columns:1fr auto;gap:4px;background:var(--sea);padding:16px;border-radius:5px}.form-total>span{font-size:12px}.form-total strong{font:700 25px/1.3 Arial,sans-serif}.form-total small{grid-column:1/-1;text-align:right;font-size:10px}.request-pending{font-size:11px!important;padding:15px;background:#f5ecd8;border-left:3px solid #bd9b61;line-height:1.9;margin-top:15px!important}.consent-label{display:flex;gap:12px;font-size:11px;line-height:1.9}.consent-label input{width:20px;height:20px;flex-shrink:0;margin-top:3px;accent-color:var(--ink)}.booking-form>.button{width:100%;justify-content:center;margin-top:5px}.booking-form .text-link{justify-self:start;font-size:11px}.request-summary{margin:25px 0}.request-summary>div{display:grid;grid-template-columns:.65fr 1fr;gap:18px;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px}.request-summary dt{color:var(--muted)}.request-summary dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.reservation-dialog .button{width:100%;margin-top:14px;justify-content:center}.form-error{font-size:12px;color:#a13b31;line-height:1.8;margin:15px 0;white-space:pre-wrap}.form-error:empty{display:none}.receipt-reference{background:var(--sea);border-radius:6px;padding:18px;margin-top:25px;display:flex;flex-direction:column;gap:6px}.receipt-reference span{font-size:11px}.receipt-reference strong{font:700 22px/1.5 monospace;overflow-wrap:anywhere}.booking-form [hidden]{display:none!important}.reservation-feedback{font-size:12px;margin-top:15px}.reservation-feedback:empty{display:none}html:not([lang=ja]) h1{white-space:normal;font-family:var(--sans);font-size:clamp(35px,4.2vw,60px);line-height:1.2}html:not([lang=ja]) h2{font-family:var(--sans);line-height:1.4}html:not([lang=ja]) .hero-intro{max-width:35em}html[lang=en] .brand-main{font-size:30px;letter-spacing:-.05em}html[lang=en] .hero-copy{padding-right:15px}html[lang=en] nav{font-size:11px;gap:18px}.site-header{gap:25px}.site-header nav{gap:20px}.site-header .brand{min-width:120px}
@media(max-width:1100px){.site-header{padding-inline:28px;gap:16px}.site-header nav{gap:13px;font-size:11px}.language-select{font-size:10px;max-width:130px}.reservation-inner{gap:30px;grid-template-columns:.7fr 1.3fr}.calendar-shell,#reservation-calendar{padding:20px}.calendar-toolbar h3{font-size:19px}}
@media(max-width:900px){.reservation-inner{grid-template-columns:1fr;gap:26px}.reservation-section{padding:50px 0}.reservation-intro p{font-size:12px}.reservation-intro h2{font-size:29px}.site-header nav{gap:11px}.site-header{gap:12px}.language-select{margin-left:auto}}
@media(max-width:800px){.site-header{gap:14px;padding-inline:22px}.menu-toggle{order:3;flex-shrink:0}.language-select{order:2;max-width:135px;font-size:11px;min-height:38px}.site-header nav{gap:0;order:4}.calendar-shell,#reservation-calendar{padding:18px 12px}.calendar-toolbar{gap:10px;margin-bottom:15px}.calendar-toolbar h3{font-size:18px}.calendar-controls button{padding:4px 10px;font-size:11px;min-width:32px}.calendar-legend{gap:8px 11px;font-size:8px}.calendar-table{border-spacing:3px}.calendar-table th{font-size:9px;padding-bottom:8px}.calendar-table td,.calendar-day{min-height:57px;height:57px}.date-number{font-size:15px}.date-state{font-size:8px}.calendar-help{font-size:10px}.calendar-footnote{font-size:9px}.reservation-dialog .dialog-content{padding:30px 23px}.reservation-dialog h2{font-size:22px}.request-summary>div{font-size:11px;gap:13px}.request-summary{margin-top:19px}.form-field label{font-size:11px}.form-field input,.form-field select,.form-field textarea{font-size:16px}.booking-form{gap:16px}.consent-label{font-size:10px}.hero h1{white-space:normal}html:not([lang=ja]) h1{font-size:38px;line-height:1.15}html[lang=en] .brand-main{font-size:24px}.hero-actions .button{max-width:100%;text-align:left}.hero-actions{gap:10px 18px}.hero-rate{gap:7px}.hero-rate small{font-size:9px}.footer-links{max-width:60%;flex-wrap:wrap}.price-panel .price-value small{margin-left:0;display:block}.rate-note{max-width:100%}html[lang=ko] .calendar-legend{font-size:9px}}
@media(max-width:360px){.site-header{padding-inline:16px;gap:8px}.language-select{max-width:119px;padding-left:6px;padding-right:16px}.brand-main{font-size:25px}.menu-toggle{width:36px;height:36px}.calendar-toolbar h3{font-size:16px}.calendar-controls button{padding:4px 7px;font-size:9px}.date-state{font-size:7px}.calendar-day{min-height:52px}.reservation-dialog .dialog-content{padding:27px 19px}html:not([lang=ja]) h1{font-size:33px}}
.hero h1>.hero-line{color:var(--ink)}.hero h1>.hero-accent{color:var(--accent)}.button [data-i18n],.text-link [data-i18n],.scroll-hint>[data-i18n]{font:inherit;letter-spacing:inherit}summary>[data-i18n]{font:inherit;color:inherit;transform:none!important}.site-header .language-select{margin-left:auto}
.calendar-time{display:grid;grid-template-columns:1fr auto;gap:8px 20px;align-items:center;background:var(--paper);padding:14px 16px;border-radius:5px;margin-bottom:20px}.calendar-time label{font-size:12px;font-weight:600}.calendar-time input{font:500 16px var(--sans);min-height:42px;width:125px;padding:7px 10px;border:1px solid #aebcb4;border-radius:4px;background:white;color:var(--ink)}.calendar-time p{grid-column:1/-1;font-size:10px;color:var(--muted);line-height:1.8}.return-date{font-size:12px!important;color:var(--muted);margin-top:-12px}@media(max-width:800px){.calendar-time{padding:12px;gap:8px}.calendar-time label{font-size:11px}.calendar-time p{font-size:9px}.calendar-time input{width:115px}}
html[lang=ko]{--sans:'Apple SD Gothic Neo','Malgun Gothic',sans-serif}html[lang=zh-TW]{--sans:'PingFang TC','Microsoft JhengHei',sans-serif}html[lang=zh-CN]{--sans:'PingFang SC','Microsoft YaHei',sans-serif}
.reservation-intro h2{text-wrap:balance}
@media(min-width:801px) and (max-width:1100px){.site-header{height:88px}.menu-toggle{order:3;display:flex;flex-direction:column;justify-content:center;gap:7px;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:none;padding:10px;flex-shrink:0}.menu-toggle span{height:1px;background:var(--ink);width:100%}.site-header nav{order:4;display:none;position:absolute;top:88px;left:0;width:100%;padding:20px 28px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch}.site-header nav.is-open{display:flex}.site-header nav>a{font-size:14px;border-bottom:1px solid var(--line)}.site-header nav .button{margin-top:15px}}
