:root{--ink:#183e40;--green:#096c74;--deep:#064e54;--muted:#526769;--pale:#e8f4f2;--line:#d0e0dc;--red:#a64e3c;--serif:Georgia,"Yu Mincho","Hiragino Mincho ProN",serif;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;color:var(--ink);background:#fff;font-synthesis:none;font-size:16px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:108px}body{margin:0}a{color:inherit;text-decoration:none}a:hover{color:var(--green)}a,button{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin:0 0 1rem}h1,h2,h3{font-family:var(--serif);font-weight:400}h2{font-size:clamp(1.6rem,2.3vw,2.25rem);letter-spacing:.055em;color:var(--deep);line-height:1.35}h3{font-size:clamp(1.2rem,1.6vw,1.55rem);line-height:1.8}p{line-height:1.95}small,.note{font-size:.875rem}.note{color:var(--muted);line-height:1.8;margin-top:1.2rem}.wrap{width:min(1380px,90%);margin-inline:auto}.z-header{min-height:86px;display:flex;align-items:center;gap:28px;padding:16px 4%;background:#fff;position:relative;z-index:10}.z-brand{font-family:var(--serif);font-size:1.8rem;letter-spacing:.18em;color:var(--deep);line-height:1.2;white-space:nowrap}.z-brand small{display:block;letter-spacing:.09em;font-size:.625rem;margin-top:7px}.z-nav{display:flex;align-items:center;justify-content:center;gap:clamp(16px,1.8vw,30px);flex:1}.z-nav a{font-size:.875rem;white-space:nowrap;padding:12px 0}.button{display:inline-flex;justify-content:center;align-items:center;gap:18px;padding:12px 24px;min-height:46px;border:1px solid var(--green);background:var(--green);color:#fff;font-size:.9375rem;letter-spacing:.055em;border-radius:3px;line-height:1.5;text-align:center;transition:background .2s}.button:hover{background:var(--deep);color:#fff}.button.light{background:#fff;color:var(--deep);border-color:#fff}.button.light:hover{background:var(--pale)}.button.outline{color:var(--green);background:transparent;padding:10px 18px}.button.outline:hover{background:var(--green);color:#fff}.header-booking{white-space:nowrap}.menu-toggle{display:none}.skip-link{position:fixed;top:12px;left:12px;transform:translateY(-180%);z-index:30;background:#fff;padding:12px;color:var(--deep)}.skip-link:focus{transform:none}.z-hero{position:relative;min-height:650px;min-height:min(780px,calc(100svh - 86px));display:grid;place-items:center;isolation:isolate;padding:55px 24px 80px;color:white;text-align:center;background:#234f59}.hero-photo,.reservation-photo{position:absolute;inset:0;z-index:-2}.hero-photo{object-position:50% 58%}.z-hero:before,.reservation:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,35,40,.38),rgba(3,35,40,.5));z-index:-1}.hero-content{max-width:860px}.hero-name{font-family:var(--serif);font-size:clamp(3.1rem,6.8vw,6.4rem);line-height:1.1;letter-spacing:.16em;margin:0 0 10px}.hero-tagline{letter-spacing:.17em;font-family:var(--serif);font-size:clamp(.75rem,1.2vw,1rem);margin-bottom:28px}.hero-content h1{font-size:clamp(1.9rem,3.3vw,3.1rem);line-height:1.65;letter-spacing:.13em;margin-bottom:20px}.hero-content>p:not(.hero-name):not(.hero-tagline){font-family:var(--serif);font-size:1.125rem}.actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:28px}.actions .button{min-width:196px}.scroll-cue{position:absolute;bottom:24px;font-size:.75rem;letter-spacing:.14em}.scroll-cue:hover{color:white;text-decoration:underline}.welcome{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:6%;padding-block:64px}.welcome>img{aspect-ratio:1.65;max-height:420px}.section-copy>p{font-size:1rem}.welcome h2{margin-bottom:20px}.welcome h3{font-size:clamp(1.2rem,1.7vw,1.6rem)}.center-heading{display:flex;justify-content:center;gap:20px;align-items:baseline;margin-bottom:26px}.center-heading h2{font-size:1.6rem}.center-heading p{font-family:var(--serif);font-size:.875rem;letter-spacing:.08em}.highlights{padding-block:4px 64px}.highlights-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}.highlight{text-align:center}.highlight img{height:auto;aspect-ratio:1.7}.highlight h3{font-size:1.25rem;color:var(--green);margin:12px 0 4px;line-height:1.5}.highlight p{font-size:.875rem;line-height:1.85;margin:0}.highlight strong{font-weight:500}.highlight:hover img,.destination:hover img{filter:brightness(.93)}.stay{display:grid;grid-template-columns:1.1fr 1fr .66fr;gap:30px;align-items:center;margin-bottom:64px}.stay>img{min-height:330px;max-height:460px}.stay h3{font-size:1.45rem}.stay .section-copy>p{font-size:.9375rem}.stay .section-copy>.note{font-size:.875rem}.experience-pair{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:stretch;margin-bottom:66px}.food{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;padding:26px 0;align-items:center}.food h2,.tarti h2{font-size:1.7rem}.food h3,.tarti h3{font-size:1.3rem}.food .section-copy p,.tarti .section-copy p{font-size:.9375rem}.food .photo-placeholder{height:240px}.photo-placeholder{background:linear-gradient(135deg,#edf4f2,#dce9e5);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:130px;padding:20px;text-align:center;color:#46615e;gap:10px;border-bottom:2px solid #b4cdc4}.photo-placeholder span{font-family:var(--serif);font-size:1.1rem}.photo-placeholder small{font-size:.875rem}.beer-note{grid-column:1/-1;padding:20px 0 0;border-top:1px solid var(--line);display:flex;gap:24px;align-items:baseline}.beer-note h3{font-size:1.2rem;white-space:nowrap}.beer-note p{font-size:.875rem;line-height:1.8;margin:0}.tarti{display:grid;grid-template-columns:1.1fr 1fr;gap:18px;background:var(--pale);padding:30px;align-items:center}.tarti .eyebrow{font-family:var(--serif);font-size:.75rem!important;letter-spacing:.08em;margin-top:-10px}.tarti>img{height:270px;object-position:54% 50%}.tarti .button{font-size:.875rem;padding-inline:10px;gap:8px}.tarti-notice{grid-column:1/-1;margin:0;border-top:1px solid #bbd5ce;padding-top:15px;font-size:.875rem;line-height:1.8}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px}.section-heading>div{display:flex;gap:24px;align-items:baseline;flex-wrap:wrap}.section-heading h2{margin-bottom:0}.section-heading p{font-family:var(--serif);font-size:.9375rem;margin:0}.destination-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}.destination img,.destination .photo-placeholder{aspect-ratio:1.55;height:auto;min-height:0}.destination .photo-placeholder{padding:12px}.destination .photo-placeholder>span{display:none}.destination{text-align:center}.destination h3{font-size:1rem;font-weight:500;margin:10px 0 0}.destination p{font-size:.875rem;margin:0}.discover{padding-bottom:50px}.location{background:#f0f6f3;padding:46px 0}.location-grid{display:grid;grid-template-columns:1fr 1.1fr .65fr;gap:40px;align-items:center}.location h3{font-size:1.4rem;margin:15px 0}.location h3 small{display:block}.location p,.location address{font-size:.9375rem;line-height:1.9}.location address{font-style:normal;margin-bottom:20px}.text-link{border-bottom:1px solid var(--green);padding-bottom:4px;font-size:.9375rem;line-height:2}.location-map iframe{border:0;width:100%;height:220px;background:#dce9e5;display:block}.location-map a{display:inline-block;font-size:.875rem;text-decoration:underline;padding-top:12px}.stay-facts{display:grid;grid-template-columns:1fr 1fr;gap:32px 20px;margin:0}.stay-facts dt{font-family:var(--serif);font-size:.875rem;letter-spacing:.04em;margin-bottom:10px}.stay-facts dd{margin:0;font-size:.9375rem;white-space:nowrap}.reservation{position:relative;isolation:isolate;text-align:center;color:white;padding:66px 20px;min-height:385px;background:#174a50;display:grid;place-items:center}.reservation:before{background:rgba(8,30,38,.17)}.reservation-copy h2,.reservation-copy p{text-shadow:0 2px 10px rgba(0,0,0,.72)}.reservation-photo{object-position:50% 52%}.reservation h2{color:white;font-size:clamp(2rem,3.5vw,3rem);letter-spacing:.09em}.reservation-copy>p:not(.booking-notice){font-family:var(--serif);font-size:1.25rem}.reservation-copy>.eyebrow{font-size:.875rem!important;letter-spacing:.12em}.booking-notice{font-size:.875rem;line-height:1.6;margin:16px auto 0;max-width:480px}.z-footer{padding:32px 4%;display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}.z-footer .z-brand{font-size:1.5rem}.z-footer p{font-family:var(--serif);font-size:.875rem;margin:0}.z-footer nav{display:flex;gap:20px;font-size:.875rem;flex-wrap:wrap}.z-footer>small{font-size:.75rem;color:var(--muted)}.detail{max-width:960px;padding-block:40px 80px;min-height:70vh}.back-link{display:inline-block;font-size:.875rem;margin-bottom:40px}.detail h1{font-size:clamp(2rem,4vw,3.7rem);margin-bottom:20px}.detail-lead{font-family:var(--serif);font-size:1.5rem}.detail>img,.spot-detail>img{height:auto;max-height:530px;object-fit:cover;margin:30px 0}.detail h2{margin-top:40px}.detail p,.detail li{line-height:2}.detail ul{padding-left:1.5rem}.detail address{font-style:normal;line-height:2}.detail .photo-placeholder{min-height:240px;margin-block:28px}.info-note{background:var(--pale);padding:24px;margin-block:36px}.info-note h2{margin-top:0}.detail details{border-bottom:1px solid var(--line);padding:20px 0}.detail summary{cursor:pointer;line-height:1.8}.detail details p{margin-top:16px}.spot-detail{padding-block:15px 30px;border-bottom:1px solid var(--line)}
@media(min-width:1600px){.z-hero{min-height:780px}}@media(max-width:1200px){.z-header{gap:18px}.z-brand{font-size:1.5rem}.z-nav{gap:16px}.header-booking{padding-inline:18px}.stay{grid-template-columns:1fr 1fr}.stay-side{display:none}.food{grid-template-columns:1fr}.food .photo-placeholder{height:180px}.beer-note{display:block}.tarti{grid-template-columns:1fr}.tarti>img{height:260px;grid-row:2}.location-grid{grid-template-columns:1fr 1fr}.stay-facts{grid-column:1/-1;grid-template-columns:repeat(4,1fr)}}
@media(max-width:1100px){html{scroll-padding-top:24px}.z-header{flex-wrap:wrap;justify-content:space-between}.z-nav{order:4;flex-basis:100%;flex-wrap:wrap}.has-js .z-nav{display:none}.has-js .z-nav.is-open{display:flex;justify-content:flex-start;padding-block:10px}.menu-toggle:not([hidden]){display:inline-flex;align-items:center;gap:12px;min-height:44px;background:transparent;border:1px solid var(--line);color:var(--ink);padding:8px 12px;font:inherit;font-size:.875rem;margin-left:auto}.highlights-grid{gap:14px}.highlight h3{font-size:1.1rem}.section-heading,.section-heading>div{align-items:flex-start}.section-heading>div{display:block}.section-heading p{margin-top:12px}.destination-grid{grid-template-columns:repeat(3,1fr);gap:25px 18px}.location-grid{gap:30px}.welcome{gap:30px}.desktop-break{display:none}}
@media(max-width:700px){.wrap{width:88%}.z-header{padding:15px 6%;gap:12px;min-height:78px}.z-brand{font-size:1.35rem}.z-brand small{font-size:.5rem;letter-spacing:.055em}.header-booking{font-size:.8125rem;padding:8px 12px;min-height:40px}.menu-toggle:not([hidden]){font-size:.8125rem;padding:8px}.menu-toggle span{display:none}.z-nav{gap:12px 25px}.z-hero{min-height:600px;padding:58px 20px 70px}.hero-photo{object-position:48% 50%}.hero-name{font-size:3.1rem;letter-spacing:.12em}.hero-tagline{font-size:.65rem;letter-spacing:.10em}.hero-content h1{font-size:1.8rem;letter-spacing:.06em}.hero-content>p:not(.hero-name):not(.hero-tagline){font-size:.9375rem}.actions{gap:12px;flex-direction:column;align-items:center}.actions .button{min-width:224px}.welcome{grid-template-columns:1fr;padding-block:40px;gap:22px}.welcome h2{font-size:1.65rem}.welcome>img{aspect-ratio:1.4}.center-heading{display:block;text-align:center;margin-bottom:22px}.center-heading h2{margin-bottom:8px}.highlights{padding-bottom:42px}.highlights-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 16px}.highlight:last-child{grid-column:1/-1;width:calc(50% - 8px);justify-self:center}.highlight h3{font-size:1.1rem}.highlight p{font-size:.875rem}.stay{grid-template-columns:1fr;gap:26px;margin-bottom:42px}.stay>img{min-height:0;aspect-ratio:1.4}.stay .section-copy>p{font-size:1rem}.experience-pair{grid-template-columns:1fr;gap:32px;margin-bottom:42px}.food{padding:0;gap:22px}.food .photo-placeholder{height:200px}.beer-note{display:block}.tarti{padding:26px 22px;gap:20px}.tarti>img{height:auto;aspect-ratio:1.2}.tarti .section-copy p,.food .section-copy p{font-size:1rem}.tarti-notice{font-size:.875rem}.section-heading{display:block}.section-heading .button{margin-top:18px}.section-heading h2{font-size:1.55rem}.destination-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 15px}.destination h3{font-size:.9375rem}.destination p{font-size:.875rem}.location{padding-block:36px}.location-grid{grid-template-columns:1fr;gap:28px}.stay-facts{grid-template-columns:1fr 1fr;gap:26px}.location-map iframe{height:240px}.reservation{padding:48px 24px;min-height:400px}.z-footer{padding:32px 6%;display:grid;gap:24px}.z-footer nav{gap:20px}.detail{padding-top:26px;overflow-wrap:anywhere}.detail h1{font-size:2rem}.detail-lead{font-size:1.25rem}.detail h2{font-size:1.5rem}.detail .photo-placeholder{min-height:180px}.back-link{margin-bottom:28px}}
@media(max-width:380px){.z-header{column-gap:8px}.z-brand{font-size:1.1rem}.z-brand small{font-size:.45rem}.menu-toggle:not([hidden]){padding:7px}.header-booking{padding-inline:8px}.hero-name{font-size:2.7rem}.hero-content h1{font-size:1.6rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Keep the keyboard-only shortcut outside the visual layout until focused. */
.skip-link:not(:focus){clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap;padding:0}
/* Let enlarged text wrap without forcing grid tracks beyond the viewport. */
.hero-content{min-width:0;width:100%;overflow-wrap:anywhere}
.hero-name{font-size:clamp(3.1rem,6.8vw,6.4rem);overflow-wrap:normal}
@media(max-width:700px){.hero-name{font-size:min(3.1rem,12.5vw);letter-spacing:.12em}.z-hero{grid-template-columns:minmax(0,1fr)}.hero-content h1{overflow-wrap:anywhere}.button{max-width:100%}.experience-pair>*,.tarti>*,.food>*,.location-grid>*,.stay-facts>div{min-width:0}.stay-facts dd{white-space:normal}.z-footer{overflow-wrap:anywhere}}

/* Availability: only blocked dates are definitive; all other future dates require confirmation. */
.availability{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(320px,1fr);gap:6%;padding-block:72px 84px;align-items:start}.availability-intro .eyebrow{color:var(--green);letter-spacing:.18em}.availability-intro p{color:var(--muted)}.availability-panel{padding:24px;border:1px solid var(--line);background:#fff}.availability-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.availability-toolbar h3{font-size:1.25rem;margin:0}.availability-toolbar button{border:1px solid var(--line);background:#fff;color:var(--deep);min-width:44px;min-height:44px;cursor:pointer}.availability-toolbar button:disabled{opacity:.35;cursor:default}.availability-status,.availability-note{font-size:.82rem;color:var(--muted);line-height:1.6}.availability-status{min-height:2.4em;margin:14px 0}.availability-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}.availability-weekday{font-size:.78rem;color:var(--muted);padding:8px 0}.availability-day{display:grid;place-items:center;min-height:42px;font-size:.9rem}.availability-day.is-blocked,.availability-legend .is-blocked{background:#eee0dc;color:#78382b}.availability-day.is-unknown,.availability-legend .is-unknown{background:#e8f4f2;color:var(--deep)}.availability-day.is-past{color:#a7afb0;background:#f7f7f7}.availability-legend{display:flex;flex-wrap:wrap;gap:12px 20px;margin:20px 0 12px;font-size:.78rem}.availability-legend span{display:flex;align-items:center;gap:7px}.availability-legend i{width:15px;height:15px;display:inline-block}.availability-note{margin-bottom:18px}@media(max-width:800px){.availability{grid-template-columns:1fr;padding-block:48px;gap:18px}.availability-panel{padding:16px}}@media(max-width:380px){.availability-day{min-height:36px}}

/* Guest inquiry beneath the availability calendar. */
.inquiry{padding-block:32px 100px}.inquiry-heading{text-align:center;max-width:690px;margin:0 auto 32px}.inquiry-heading .eyebrow{color:var(--green);letter-spacing:.18em}.inquiry-heading p{color:var(--muted)}.inquiry-options{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.8fr);gap:24px;align-items:start}.inquiry-card{border:1px solid var(--line);background:#fff;padding:clamp(22px,3vw,40px)}.inquiry-card h3{color:var(--deep);margin-bottom:8px}.inquiry-card>p{color:var(--muted)}.inquiry-card form{display:grid;gap:8px;margin-top:22px}.inquiry-card form label{font-size:.95rem;margin-top:10px}.required{color:#a0332b}.inquiry-card input:not([type=hidden]),.inquiry-card textarea{width:100%;padding:12px 14px;border:1px solid #a7bfba;border-radius:3px;background:#fff;color:var(--ink);font:inherit;font-size:1rem}.inquiry-card textarea{resize:vertical;min-height:135px}.inquiry-card input:focus-visible,.inquiry-card textarea:focus-visible{outline:2px solid var(--green);outline-offset:2px}.inquiry-card form .button{margin-top:16px;justify-self:start;cursor:pointer;font:inherit}.inquiry-honey{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.inquiry-card .inquiry-fine{font-size:.84rem;line-height:1.7;color:var(--muted);margin-top:20px}.inquiry-line img{width:194px;height:194px;object-fit:contain;margin:24px auto;background:#fff}@media(max-width:800px){.inquiry{padding-block:20px 64px}.inquiry-options{grid-template-columns:1fr}.inquiry-card form .button{width:100%}}

.booking-page-intro{padding-top:42px;text-align:center}.booking-page-intro .back-link{display:inline-block;margin-bottom:24px}.booking-page-intro h1{font-size:clamp(2rem,4vw,3.25rem);color:var(--deep)}.booking-page-intro p{max-width:720px;margin-inline:auto;color:var(--muted)}.booking-page-intro+.availability{padding-top:36px}@media(max-width:800px){.booking-page-intro{padding-top:30px}.booking-page-intro+.availability{padding-top:24px}}

.photo-credit{font-size:.75rem;line-height:1.7;color:var(--muted);margin-top:18px}.photo-credit a{text-decoration:underline;text-underline-offset:2px}.spot-detail .photo-credit{margin-top:0}

.food .food-feature-image{height:240px;object-fit:cover;object-position:center 67%}.food-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0 40px}.food-photo-grid img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#edf4f2}@media(max-width:1200px){.food .food-feature-image{height:220px}}@media(max-width:700px){.food .food-feature-image{height:230px}.food-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}

.detail>img.tarti-profile-image{width:min(100%,780px);height:auto;max-height:none;margin:30px auto}

.stay-photo-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin:26px 0 44px}.stay-photo-grid img{width:calc((100% - 32px)/3);height:auto;aspect-ratio:3/2;object-fit:cover}@media(max-width:700px){.stay-photo-grid{gap:10px;margin-bottom:32px}.stay-photo-grid img{width:calc((100% - 10px)/2)}}

.language-toggle{flex:none;white-space:nowrap;border:1px solid var(--line);border-radius:3px;background:#fff;color:var(--deep);font:inherit;font-size:.8125rem;min-height:40px;padding:7px 11px;cursor:pointer}.language-toggle:hover{background:var(--pale)}.language-toggle:focus-visible{outline:3px solid var(--red);outline-offset:3px}@media(max-width:1100px){.language-toggle{order:3}.header-booking{order:4}.z-nav{order:5}}@media(max-width:700px){.language-toggle{font-size:.75rem;padding:7px 8px}}@media(max-width:380px){.z-header{column-gap:6px}.language-toggle{padding:6px}}

.beer-photo-composition{position:relative;width:min(100%,860px);aspect-ratio:1.65;margin:30px auto 42px}.beer-photo-composition img{position:absolute;display:block;object-fit:cover}.beer-photo-server{top:5%;left:0;width:79%;height:88%;object-position:center}.beer-photo-pour{top:10%;right:0;width:37%;height:88%;object-position:center;border:5px solid #fff;box-shadow:0 12px 28px rgba(0,34,45,.2)}@media(max-width:700px){.beer-photo-composition{aspect-ratio:1.12;margin:24px auto 32px}.beer-photo-server{top:2%;width:82%;height:79%}.beer-photo-pour{top:17%;width:46%;height:80%;border-width:3px}}
