:root{--green:#006600;--dark:#162b20;--paper:#fbfcf8;--line:#cdd9cf;--muted:#506354;--gold:#e4cf91}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--dark);font:16px/1.8 "Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif}a{color:var(--green)}header{padding:20px 6%;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;align-items:center}.brand{font-family:serif;font-size:21px;text-decoration:none;letter-spacing:.06em}.wrap{max-width:1100px;margin:auto;padding:50px 24px 90px}h1,h2,h3{font-family:"Yu Mincho",serif;font-weight:500}h1{font-size:36px;line-height:1.5;margin:8px 0 15px}h2{font-size:26px;margin:0 0 18px}.eyebrow{font-size:12px;letter-spacing:.2em;color:var(--green)}.lead{color:var(--muted);max-width:740px}.tabs{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--line);margin:30px 0 26px;padding-bottom:12px}.tabs a{padding:9px 18px;text-decoration:none;border:1px solid var(--line)}.tabs a:hover,.tabs a[aria-current]{background:var(--green);color:white}.panel{background:#fff;border:1px solid var(--line);border-top:3px solid var(--green);padding:28px;margin:20px 0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.booking-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:24px}label{display:block;margin-bottom:16px;font-size:14px}input:not([type=checkbox]),select{display:block;width:100%;padding:12px;border:1px solid #98af9d;background:white;color:var(--dark);font:inherit;margin-top:5px;border-radius:0}input[type=checkbox]{width:18px;height:18px;vertical-align:middle;margin-right:8px}.check{display:flex;align-items:flex-start;gap:6px}button,.button{cursor:pointer;display:inline-block;border:1px solid var(--green);padding:12px 20px;background:var(--green);color:white;font:inherit;text-decoration:none;text-align:center}button.secondary,.button.secondary{background:white;color:var(--green)}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #d0af54;outline-offset:3px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.notice{padding:16px 20px;background:#edf3ed;border-left:3px solid var(--green);margin:18px 0}.error{background:#fff0eb;border-color:#9d3525;color:#792d20}.muted,.small{color:var(--muted);font-size:14px}.amount{font-family:serif;font-size:40px;line-height:1.5;color:var(--green)}.rate-table{border-collapse:collapse;width:100%;font-size:14px}.rate-table th,.rate-table td{text-align:left;padding:11px 8px;border-bottom:1px solid var(--line)}.rate-table th{background:#edf3ed}.scroll{overflow:auto}details{border-top:1px solid var(--line);padding-top:15px;margin-top:18px}summary{cursor:pointer;color:var(--green)}.status{display:inline-block;background:#edf3ed;padding:3px 10px;font-size:12px}.photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.photos img{width:100%;height:230px;object-fit:cover}.photos figure{margin:0}.hidden,[hidden]{display:none!important}footer{padding:30px 6%;background:var(--dark);color:white;font-size:13px}.empty{padding:22px;border:1px dashed var(--line);color:var(--muted)}.room-note{min-height:50px;font-size:14px;color:var(--muted)}@media(max-width:780px){header{align-items:flex-start;flex-direction:column;gap:8px}.wrap{padding-top:30px}.booking-layout,.grid{grid-template-columns:1fr}.panel{padding:22px}h1{font-size:28px}.photos{grid-template-columns:1fr 1fr}.tabs a{padding:8px 12px;font-size:14px}}
html{scroll-behavior:smooth;scroll-padding-top:20px}header nav{display:flex;flex-wrap:wrap;gap:20px;align-items:center}.steps{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;padding:0;margin:30px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.steps li{padding:16px 8px;font-size:14px}.steps span{color:var(--green);font-family:serif;font-size:22px;margin-right:9px}.booking-summary{align-self:start;position:sticky;top:20px}.booking-summary #checkout{width:100%}.booking-summary .amount{margin:14px 0}.booking-summary h3{font-size:22px}.section-heading{display:flex;gap:16px;justify-content:space-between;align-items:baseline;flex-wrap:wrap}.booking-card{padding:22px 0;border-bottom:1px solid var(--line)}.booking-card:last-child{border-bottom:0}.booking-card h3{margin:12px 0 6px}.booking-card p{margin:6px 0}.booking-card button{margin-top:14px}.booking-id{overflow-wrap:anywhere}.status.confirmed{background:var(--green);color:#fff}.rate-table tbody th{font-weight:400;background:transparent}.rate-table td{white-space:nowrap}input[readonly]{background:#f1f4ef}footer{display:flex;justify-content:space-between;gap:20px}footer a{color:white}section{scroll-margin-top:24px}@media(max-width:780px){.booking-summary{position:static}.steps{grid-template-columns:1fr}.steps li{padding:8px 0}.steps li+li{border-top:1px solid var(--line)}.section-heading{align-items:flex-start}.booking-layout{gap:0}.booking-layout>.panel{margin:12px 0}header nav{font-size:14px;gap:16px}.rate-table{min-width:480px}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.calendar-panel .eyebrow{margin:0 0 8px}.calendar-panel h2{margin-bottom:8px}.calendar-toolbar{display:flex;justify-content:space-between;gap:24px;align-items:center;margin:24px 0 16px}.calendar-toolbar label{margin:0;min-width:240px}.calendar-navigation{display:flex;align-items:center;gap:10px}.calendar-navigation h3{white-space:nowrap;min-width:145px;text-align:center;margin:0;font-size:22px}.calendar-navigation button{padding:8px 12px}.calendar-legend{display:flex;flex-wrap:wrap;gap:8px 20px;list-style:none;padding:12px 0;margin:0;border-block:1px solid var(--line);font-size:13px}.calendar-legend b{font-size:22px;vertical-align:middle;margin-right:4px}.calendar-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:24px;align-items:start}.month-calendar{border-collapse:separate;border-spacing:4px;table-layout:fixed;width:100%;margin:-4px}.month-calendar th{font-weight:400;font-size:13px;color:var(--muted);padding-bottom:8px}.month-calendar th:first-child{color:#a4402f}.month-calendar td{padding:0;vertical-align:top}.calendar-day{width:100%;min-height:96px;padding:7px 3px;background:#f7fbf6;border:1px solid #d0e0d0;border-radius:4px;display:flex;flex-direction:column;align-items:center;line-height:1.3}.calendar-date{align-self:flex-start;font-size:14px;padding-left:5px;color:var(--dark)}.calendar-symbol{font-size:29px;line-height:1.2;margin-top:4px}.calendar-percent{font-size:12px;margin-top:3px}.occupancy-low{color:#24613b}.occupancy-medium{color:#806119}.occupancy-high{color:#994c1b}.occupancy-full{color:#8f3430}.calendar-day.occupancy-medium{background:#fff9e9;border-color:#e4d4a9}.calendar-day.occupancy-high{background:#fff0e5;border-color:#ecc6aa}.calendar-day.occupancy-full{background:#f9e8e5;border-color:#dfbbb7}.calendar-day[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--green);border-color:var(--green)}.calendar-day[aria-current=date] .calendar-date{font-weight:bold;text-decoration:underline;text-underline-offset:3px}.calendar-day:hover:not(:disabled){filter:brightness(.97)}.calendar-day:disabled{opacity:1;cursor:default;background:#f4f5f3;border-color:#e8ebe5;color:#808a80}.calendar-day:disabled .calendar-date{color:#7c867c}.calendar-unknown .calendar-symbol{font-size:24px}.calendar-detail{background:#f3f6f0;padding:22px;min-width:0;border-radius:5px}.calendar-detail h3{font-size:24px;margin:0 0 8px}.calendar-detail h4{font-size:14px;margin:20px 0 6px}.calendar-detail p{margin:8px 0;overflow-wrap:anywhere}.calendar-total{font-size:18px}.calendar-timeline{height:12px;background:#d7e8d4;position:relative;overflow:hidden;border-radius:8px;margin-top:18px}.timeline-busy{position:absolute;top:0;bottom:0;background:#9b5c3c}.timeline-labels{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:3px}.calendar-time-actions{display:flex;flex-direction:column;gap:8px;margin:16px 0}.calendar-time-actions button{font-size:13px;padding:10px}.calendar-footnote{border-top:1px solid var(--line);padding-top:18px;margin:24px 0 0;font-size:12px}
@media(max-width:900px){.calendar-layout{grid-template-columns:1fr}.calendar-toolbar{align-items:flex-start;flex-direction:column;gap:16px}.calendar-toolbar label{width:100%}.calendar-navigation{width:100%;justify-content:space-between}.calendar-detail{margin-top:6px}.calendar-day{min-height:88px}}
@media(max-width:480px){.calendar-panel{padding:18px 12px}.calendar-panel h2{font-size:24px}.calendar-navigation{gap:5px}.calendar-navigation h3{min-width:110px;font-size:20px}.calendar-navigation button{padding:8px 10px;font-size:13px}.month-calendar{border-spacing:2px;margin:-2px}.calendar-day{min-height:77px;padding:6px 1px}.calendar-date{font-size:12px;padding-left:3px}.calendar-symbol{font-size:24px}.calendar-percent{font-size:10px}.calendar-legend{gap:4px 12px;font-size:11px}.calendar-legend b{font-size:20px}.calendar-detail{padding:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.contract-applicant{border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.check input[type=checkbox]{flex:0 0 18px}footer{flex-wrap:wrap}
