@font-face{font-family:HS;src:local('Songti SC'),local('STSong')}*{box-sizing:border-box}html{color-scheme:light}body{margin:0;background:#f5f1e9;color:#3b302a;font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft Yahei',sans-serif;line-height:1.65}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}.wrap{max-width:1110px;margin:auto;padding:0 26px}.top{background:#f5f1e9;border-bottom:1px solid #dfd5c8}.top .wrap{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:14px;text-decoration:none}.mark{display:inline-grid;place-items:center;border:1px solid #927963;width:44px;height:44px;border-radius:50%;font-family:HS,serif;font-size:25px}.brand strong{font-family:HS,serif;font-size:22px;font-weight:500;letter-spacing:.16em}.brand small{display:block;font-family:Georgia,serif;font-size:10px;letter-spacing:.24em;text-transform:uppercase}.top nav{display:flex;gap:20px;font-size:13px;color:#6b5849}.top nav a{text-decoration:none}.top nav a:hover{text-decoration:underline}.hero{position:relative;min-height:300px;display:flex;align-items:end;background:#272f34 url('/photos/sunrise-clouds.webp') center 51%/cover}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(30,34,35,.77),rgba(30,34,35,.14)),linear-gradient(0deg,rgba(30,34,35,.4),transparent 70%)}.hero .wrap{position:relative;width:100%;padding-top:70px;padding-bottom:48px;color:#fff}.kicker{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:#ba9774;font-weight:600}.hero .kicker{color:#e8c49e}.hero h1{font-family:HS,serif;font-size:clamp(38px,5vw,62px);font-weight:500;letter-spacing:.1em;line-height:1.25;margin:12px 0 8px}.hero p{max-width:590px;margin:0;color:#f5e9da;font-size:15px}.main{padding:54px 0 90px}.intro{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:28px}.intro h2{font-family:HS,serif;font-size:32px;font-weight:500;letter-spacing:.07em;margin:6px 0}.intro p{max-width:520px;color:#75675c;margin:0;font-size:14px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 34px;padding:0;list-style:none}.steps li{background:#ebe3d7;padding:17px 20px;font-size:13px}.steps b{font-family:Georgia,serif;color:#a46d45;margin-right:10px}.panel{background:#fffaf3;border:1px solid #e1d5c6;padding:28px;box-shadow:0 10px 40px rgba(61,46,33,.045)}.grid{display:grid;grid-template-columns:1.1fr .9fr;gap:25px}.field-grid{display:grid;grid-template-columns:1fr 1fr 120px;gap:14px}.field{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#796759}.field input,.field select,.field textarea{width:100%;min-height:46px;border:1px solid #d9cab9;background:#fff;color:#3b302a;padding:10px 12px;border-radius:0;outline:0}.field input:focus,.field select:focus{border-color:#8d6748;box-shadow:0 0 0 2px #d9bea450}.btn{border:1px solid #5b4535;background:#5b4535;color:#fff;min-height:46px;padding:10px 22px;font-weight:600;letter-spacing:.05em}.btn:hover{background:#463327}.btn.secondary{background:transparent;color:#5b4535}.btn.secondary:hover{background:#eee6dc}.actions{margin-top:18px;display:flex;flex-wrap:wrap;gap:10px}.notice{border-left:3px solid #ac805b;background:#f4ecdf;padding:12px 15px;margin:20px 0;color:#685443;font-size:13px}.muted{color:#796e62;font-size:13px}.error{color:#a5362d;font-size:13px;min-height:21px}.success{color:#386649}.room-list{display:grid;gap:10px;margin-top:17px}.room{width:100%;text-align:left;background:#fff;border:1px solid #dfd2c2;padding:15px 18px;color:#3b302a;display:flex;justify-content:space-between;gap:10px;align-items:center}.room:hover:not(:disabled),.room.selected{border-color:#a47854;background:#f3e9dc}.room strong{font-family:HS,serif;font-size:19px;font-weight:500}.room small{display:block;color:#7e6c5b;font-size:12px}.room .price{white-space:nowrap;color:#865f43;font-size:18px}.room.unavailable{opacity:.52}.side h3,.panel h3{font-family:HS,serif;font-size:24px;font-weight:500;margin:0 0 14px}.summary{border-top:1px solid #e5d8ca;margin:22px 0;padding-top:17px}.sumrow{display:flex;justify-content:space-between;gap:12px;margin:8px 0;font-size:14px}.sumrow strong{font-weight:600}.sumrow.emph{font-size:18px;color:#8b603f}.tiny{font-size:12px;color:#8d7c6d}.footer{background:#342b27;color:#ded1c1;padding:27px 0;font-size:12px}.footer .wrap{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}.status-card{max-width:650px;margin:45px auto}.code{font-family:Georgia,serif;letter-spacing:.15em;font-size:25px;color:#865f43}.pill{display:inline-block;border:1px solid #cdb39a;padding:4px 12px;font-size:12px;color:#7e593e}.admin{padding:35px 0 80px}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}.table th,.table td{border-bottom:1px solid #e5d8ca;padding:12px 10px;text-align:left;vertical-align:top}.table th{color:#796758;font-size:11px;letter-spacing:.1em}.table button{margin:2px;border:1px solid #a88970;background:transparent;color:#674d39;padding:5px 9px;font-size:12px}.table button:hover{background:#f0e4d8}.table input[type=number]{width:90px}.login-panel{max-width:470px}.admin-sections{display:grid;gap:20px}.admin-form{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.admin-form .field{min-width:140px}.admin-form .field.small{min-width:90px}.hide{display:none!important}html[lang=en] h1,html[lang=en] h2,html[lang=en] h3,html[lang=en] .room strong{font-family:Georgia,serif;letter-spacing:.015em}@media(max-width:760px){.top .wrap{min-height:68px}.brand strong{font-size:18px}.brand small{font-size:8px}.top nav{font-size:12px;gap:10px}.hero{min-height:255px}.hero .wrap{padding-top:40px;padding-bottom:38px}.main{padding:36px 0 65px}.intro{display:block}.intro h2{font-size:26px}.steps{grid-template-columns:1fr;gap:7px}.steps li{padding:10px 14px}.grid{grid-template-columns:1fr}.panel{padding:21px}.field-grid{grid-template-columns:1fr 1fr}.field-grid .field:last-child{grid-column:1/-1}.room{padding:13px}.footer .wrap{display:block}}
html[lang=en] body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.7}
html[lang=en] .hero h1{font-size:clamp(42px,5vw,64px);letter-spacing:-.035em;line-height:1.08}
html[lang=en] .hero p{max-width:640px;font-size:16px;line-height:1.75}
html[lang=en] .intro h2{letter-spacing:-.02em;font-size:clamp(30px,3vw,38px)}
html[lang=en] .intro p{font-size:15px;line-height:1.7}
html[lang=en] .panel h3{letter-spacing:-.015em}
html[lang=en] .room strong{font-size:21px;letter-spacing:-.01em}
html[lang=en] .room small{font-size:13px}
html[lang=en] .steps li{font-size:14px}
html[lang=en] .tiny{font-size:13px;line-height:1.7}
@media(max-width:760px){html[lang=en] .hero h1{font-size:44px}html[lang=en] .intro h2{font-size:31px}}
.breakfast-panel{margin:22px 0;padding:20px;border:1px solid #dfd2c2;background:#fbf6ee}.breakfast-panel h3{margin:0 0 6px}.breakfast-panel .muted{margin:0 0 14px;line-height:1.7}.bf-day{display:flex;flex-wrap:wrap;align-items:end;gap:10px;border-top:1px solid #e7dbce;padding:12px 0}.bf-date{width:100%;font-weight:600;color:#5b4535;font-size:13px}.bf-tier{display:flex;align-items:center;gap:7px;color:#6b5849;font-size:13px}.bf-tier select{min-width:48px;height:36px;border:1px solid #d9cab9;background:#fff;color:#3b302a;padding:4px}.bf-admin{margin-top:7px;max-width:490px;white-space:normal}.bf-admin summary{cursor:pointer;color:#795838}.bf-admin-day{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #e7dbce}.bf-admin-day b{width:100%}.bf-admin-day input{width:45px;border:1px solid #d9cab9;padding:3px}.breakfast-detail{border-top:1px solid #e5d8ca;margin:16px 0;padding-top:13px}.breakfast-detail h2{font-family:Georgia,serif;font-size:18px;font-weight:500;margin:0 0 6px}.breakfast-detail p{margin:3px 0;color:#6b5849;font-size:13px}
.dinner-check{display:flex;align-items:center;gap:8px;font-size:14px;color:#5b4535;font-weight:600;cursor:pointer}.dinner-check input{accent-color:#8b603f;width:18px;height:18px}.dinner-fields{display:grid;grid-template-columns:1.3fr 1fr 100px;gap:10px;margin-top:15px}.dinner-fields .field{min-width:0}.dinner-fields select,.dinner-fields input{min-width:0}@media(max-width:760px){.dinner-fields{grid-template-columns:1fr 1fr}.dinner-fields .field:first-child{grid-column:1/-1}}
.dinner-fields{grid-template-columns:1fr 110px}.dinner-cards{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dinner-card{position:relative;display:block;border:1px solid #d9cab9;background:#fff;cursor:pointer;overflow:hidden}.dinner-card input{position:absolute;top:10px;left:10px;z-index:1;accent-color:#6b4b35;width:17px;height:17px}.dinner-card img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.dinner-card span{display:block;padding:9px 11px;font-size:13px;font-weight:600;line-height:1.35}.dinner-card:has(input:checked){border-color:#8b603f;box-shadow:0 0 0 2px #8b603f}.dinner-card:has(input:focus-visible){outline:2px solid #8b603f;outline-offset:2px}@media(max-width:760px){.dinner-fields{grid-template-columns:1fr 1fr}.dinner-cards{grid-column:1/-1}}
.dinner-photo-pair{display:grid;grid-template-rows:auto 68px;gap:3px;background:#fff}.dinner-photo-pair img{display:block;width:100%;object-fit:cover}.dinner-photo-pair img:first-child{aspect-ratio:3/2;height:auto}.dinner-photo-pair img:last-child{height:68px;aspect-ratio:auto;object-position:center 48%}
.admin-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:12px;align-items:center}.admin-overview>div{min-height:90px;padding:17px 19px;background:#eee5d9;border:1px solid #dfd2c2}.admin-overview strong{display:block;font:30px Georgia,serif;color:#694832;line-height:1.2}.admin-overview span{font-size:12px;color:#796759}.admin-overview p{margin:0}.admin-overview .btn{white-space:nowrap}.menu-editor{display:grid;grid-template-columns:80px 1fr auto;align-items:center;gap:10px;margin:9px 0;color:#694832;font-size:13px}.menu-editor input{min-width:0;min-height:40px;border:1px solid #d9cab9;padding:8px 10px;background:#fff}.menu-editor button{border:1px solid #a88970;background:#fff;color:#674d39;padding:8px 13px}
@media(max-width:760px){.admin-overview{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-overview>div{padding:13px 10px;min-height:76px}.admin-overview strong{font-size:25px}.admin-overview p,.admin-overview .btn{grid-column:1/-1}.admin .panel{padding:18px}.admin .table-wrap{overflow-x:auto;border:1px solid #eadfd3}.admin .table{min-width:820px}.admin #breakfast-prep .table,.admin #rates-admin .table,.admin #blocks .table,.admin #rooms-admin .table{min-width:570px}.menu-editor{grid-template-columns:1fr auto}.menu-editor strong{grid-column:1/-1}}
.dinner-extra{display:grid;gap:14px;margin-top:14px}.dinner-extra-row{padding:14px;background:#f7f0e7;border:1px solid #e2d4c4}.dinner-extra-row .dinner-fields{margin-top:0}.dinner-admin-item{min-width:240px;white-space:normal;padding:9px 0;border-bottom:1px solid #e5d8ca}.dinner-admin-item:last-child{border-bottom:0}.dinner-admin-fields{display:grid;gap:5px;margin:7px 0}.dinner-admin-fields label{display:flex;align-items:center;justify-content:space-between;gap:8px}.dinner-admin-fields input{width:135px;max-width:100%;border:1px solid #d9cab9;padding:4px 6px;background:#fff}.dinner-admin-item button{margin:3px 4px 3px 0;border:1px solid #a88970;background:#fff;padding:5px 9px;color:#674d39}
@media(max-width:760px){.admin #orders .table{min-width:0;white-space:normal}.admin #orders thead{display:none}.admin #orders tbody{display:grid;gap:14px}.admin #orders tr{display:block;background:#fff;border:1px solid #e4d6c6;padding:6px 13px}.admin #orders td{display:grid;grid-template-columns:88px minmax(0,1fr);gap:8px;align-items:start;padding:10px 0;overflow-wrap:anywhere}.admin #orders td::before{content:attr(data-label);font-size:11px;font-weight:700;color:#93745e;letter-spacing:.03em}.admin #orders td button{margin:2px 5px 5px 0}.admin #orders .bf-admin-day{display:block}.admin #orders .bf-admin-day label{display:inline-flex;margin:3px 8px 3px 0}}
.main.wrap,.admin.wrap{padding-left:26px;padding-right:26px}@media(max-width:760px){.main.wrap,.admin.wrap{padding-left:18px;padding-right:18px}}
.menu-editor{grid-template-columns:80px minmax(0,1fr) minmax(0,1fr) auto}.menu-editor label{display:flex;flex-direction:column;gap:3px;color:#7c6655;font-size:11px}@media(max-width:760px){.menu-editor{grid-template-columns:1fr auto}.menu-editor label{grid-column:1/-1}.menu-editor button{grid-column:2}}
.meal-hero{position:relative;background:#332c28 url('/photos/breakfast-soymilk.jpg') center 54%/cover;min-height:300px;display:flex;align-items:end}.meal-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(37,29,24,.84),rgba(37,29,24,.18)),linear-gradient(0deg,rgba(37,29,24,.35),transparent)}.meal-hero .wrap{position:relative;width:100%;color:#fff;padding-top:80px;padding-bottom:47px}.meal-hero .kicker{color:#efd0aa}.meal-hero h1{font:500 clamp(35px,5vw,59px)/1.22 HS,serif;letter-spacing:.06em;margin:12px 0}.meal-hero p{max-width:600px;color:#f5ede4;margin:0}.meal-lookup{margin:26px 0 38px;border-left:4px solid #a77b57}.meal-lookup-form{display:flex;gap:12px;align-items:end}.meal-lookup-form .field{flex:1;min-width:0}.meal-order-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 28px;margin:25px 0;background:#e9dfd2}.meal-order-strip h3{font:500 28px HS,serif;margin:3px 0}.meal-order-strip p{margin:0;color:#6d5b4e;font-size:13px}.meal-order-strip .btn{white-space:nowrap}.meal-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.meal-section{min-width:0}.meal-section-head{border-bottom:1px solid #e1d5c6;padding-bottom:18px;margin-bottom:10px}.meal-index{font:600 11px Georgia,serif;letter-spacing:.22em;color:#a57a58}.meal-section h2,.meal-help h2{font:500 31px/1.3 HS,serif;margin:8px 0}.meal-section-head p{font-size:13px;color:#78695d;margin:0}.meal-day{padding:17px 0;border-bottom:1px solid #eadfd3}.meal-day-title{font:600 15px Georgia,serif;color:#604937;margin-bottom:11px}.meal-tier{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:7px 0;font-size:13px;color:#5f5045}.meal-tier select{min-width:58px;height:36px;background:#fff;border:1px solid #d9cab9;padding:4px 8px}.meal-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;font-size:13px}.meal-bottom strong{display:block;color:#8c5d3d;font-size:23px}.meal-dinner-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.meal-dinner-card{display:block;position:relative;background:#fff;border:1px solid #d9cab9;cursor:pointer}.meal-dinner-card:has(input:checked){border-color:#8b603f;box-shadow:0 0 0 2px #8b603f}.meal-dinner-card input{position:absolute;top:10px;left:10px;accent-color:#6b4b35}.meal-dinner-card img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}.meal-dinner-card span{display:block;padding:10px;font-size:13px;font-weight:600}.meal-dinner-fields{display:grid;grid-template-columns:1fr 110px;gap:10px;margin:18px 0}.meal-existing{border-top:1px solid #eadfd3;margin-top:25px;padding-top:18px}.meal-existing h3{font-size:19px}.meal-dinner-row{font-size:13px;line-height:1.6;border-bottom:1px solid #eadfd3;padding-bottom:9px}.meal-help{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #d9cab9;margin-top:45px;padding:28px 0}.meal-help p{margin:0;color:#75675c;font-size:13px}html[lang=en] .meal-hero h1,html[lang=en] .meal-section h2,html[lang=en] .meal-help h2{font-family:Georgia,serif;letter-spacing:-.035em}@media(max-width:760px){.meal-hero{min-height:265px}.meal-hero h1{font-size:37px}.meal-lookup-form,.meal-order-strip,.meal-help{display:block}.meal-lookup-form .btn,.meal-order-strip .btn,.meal-help .btn{margin-top:14px}.meal-grid{grid-template-columns:1fr}.meal-order-strip{padding:20px}.meal-section{padding:19px}.meal-bottom{align-items:end}.meal-dinner-fields{grid-template-columns:1fr 100px}}
.meal-quick-link{display:flex;align-items:center;justify-content:space-between;gap:20px;text-decoration:none;background:#e7d8c8;border-left:4px solid #936b4d;padding:18px 21px;margin:-10px 0 25px}.meal-quick-link strong{font:500 21px HS,serif;color:#4d392d}.meal-quick-link span{font-size:13px;color:#745840}.meal-quick-link:hover{background:#dec8b2}@media(max-width:760px){.meal-quick-link{display:block}.meal-quick-link span{display:block;margin-top:7px}.top nav{gap:10px;font-size:11px}.top .wrap{gap:10px}}
