:root{--cream:#f8f4e9;--ink:#32271e;--muted:#766d61;--blue:#afc2c6;--gold:#d1a14a}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,'PingFang SC','Microsoft YaHei',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid #956920;outline-offset:5px}header{display:flex;justify-content:space-between;align-items:center;padding:24px 6%;border-bottom:1px solid #32271e20}.brand{font-weight:900;font-size:32px;letter-spacing:-1.5px}.brand span{display:block;font-size:9px;letter-spacing:2px;margin-top:5px}nav{display:flex;align-items:center;gap:28px;font-size:14px}nav select{background:transparent;border:1px solid #32271e55;padding:9px 14px;border-radius:22px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:6%;padding:65px 6% 70px;align-items:center;max-width:1500px;margin:auto}.eyebrow{font-size:11px;font-weight:bold;letter-spacing:2.5px;margin:0 0 25px}h1{font-size:clamp(48px,5.7vw,86px);line-height:1.04;letter-spacing:-4px;margin:0 0 28px;white-space:pre-line}p{line-height:1.7}.intro{font-size:17px;color:var(--muted);max-width:460px}.actions{display:flex;align-items:center;gap:25px;margin-top:30px}.button{display:inline-block;padding:17px 25px;border-radius:5px;background:var(--ink);color:var(--cream);font-weight:bold;font-size:14px}.text-link{font-size:13px;border-bottom:1px solid;padding-bottom:4px}.small{font-size:12px;color:var(--muted);margin-top:20px}.hero-art{height:470px;background:var(--blue);position:relative;border-radius:140px 140px 8px 8px;overflow:hidden;padding:30px}.sun{position:absolute;width:150px;height:150px;background:#f0d39c;border-radius:50%;right:30px;top:28px}.arch{position:absolute;background:#607d7f;border-radius:140px 140px 0 0;bottom:40px;left:11%;width:67%;height:340px;padding:70px 35px;color:var(--cream)}.arch span{font-size:48px;font-weight:900;line-height:1.05;letter-spacing:-2px}.pillow{height:35px;background:#dfd8c8;width:110%;position:absolute;bottom:35px;left:15%;border-radius:20px;transform:rotate(-8deg);box-shadow:0 12px #3a5356}.art-note{position:absolute;right:18px;bottom:115px;font-size:11px;font-weight:bold;line-height:1.5;transform:rotate(90deg)}.art-bottom{position:absolute;bottom:14px;left:25px;right:25px;font-size:9px;letter-spacing:1px;display:flex;justify-content:space-between}.strip{background:var(--ink);color:var(--cream);display:flex;justify-content:space-between;padding:20px 6%;font-size:13px;letter-spacing:1px}.section{padding:80px 6%;max-width:1500px;margin:auto}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px}.section-heading>p{max-width:280px;color:var(--muted);font-size:14px}h2{font-size:clamp(30px,3.2vw,46px);line-height:1.15;letter-spacing:-1.5px;margin:0 0 20px;white-space:pre-line}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0 30px}.filters button{border:1px solid #32271e30;border-radius:30px;background:transparent;padding:10px 18px;font-size:13px}.filters button.active{background:var(--ink);color:var(--cream)}.rooms{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.room-card{border:1px solid #32271e20;border-radius:8px;overflow:hidden;background:#fffdf7}.room-illustration{height:140px;display:flex;align-items:center;justify-content:center;position:relative;background:#cbd6d5}.men .room-illustration{background:#d4cdbb}.private .room-illustration{background:#e3c78f}.room-illustration>span{font-size:90px;line-height:1;color:#52696a}.room-illustration small{position:absolute;bottom:12px;left:18px;font-size:9px;letter-spacing:2px}.room-content{padding:22px}.room-qty{font-size:11px;color:var(--muted);margin:0 0 10px}h3{font-size:19px;margin:0;letter-spacing:-.4px}.room-content>p:not(.room-qty){font-size:12px;color:var(--muted)}.room-price{display:flex;align-items:baseline;gap:8px;margin:23px 0 15px}.room-price strong{font-size:25px}.room-price span{font-size:10px;color:var(--muted)}.pending{display:block;border-top:1px solid #32271e15;padding-top:14px;color:var(--muted);font-size:12px}.footnote{font-size:12px;color:var(--muted);max-width:850px;margin-top:26px}.cafe{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;background:#eae3d3;max-width:none}.cafe>div>p:not(.eyebrow){max-width:470px}.cafe-art{background:#7e4430;border-radius:8px;height:390px;position:relative;color:#f5e5c7;padding:30px 40px;overflow:hidden}.coffee{font-size:85px;display:block}.cafe-art p{font-size:40px;font-weight:900;line-height:1.1;letter-spacing:-1px}.stamp{position:absolute;right:25px;bottom:25px;border:1px solid #f5e5c780;border-radius:50%;padding:26px 13px;font-size:10px;transform:rotate(-15deg);text-align:center}.visit{text-align:center;padding-top:90px;padding-bottom:90px}.visit>p{color:var(--muted)}.visit-note{font-size:13px;max-width:600px;margin:25px auto 0;padding:20px;border-top:1px solid #32271e25}footer{border-top:1px solid #32271e25;padding:35px 6%;display:flex;justify-content:space-between;align-items:center}footer p,footer>span{font-size:10px;letter-spacing:1px}@media(min-width:1500px){.cafe{padding-left:calc((100vw - 1320px)/2);padding-right:calc((100vw - 1320px)/2)}}@media(max-width:850px){header{padding:20px 5%}nav{gap:14px;font-size:12px}.hero{padding:45px 5%;gap:25px}h1{letter-spacing:-2px}.hero-art{height:390px}.arch{height:280px;padding:65px 22px}.arch span{font-size:35px}.actions{flex-wrap:wrap;gap:18px}.rooms{grid-template-columns:repeat(2,1fr)}.section{padding:60px 5%}.cafe{gap:5%}.cafe-art{padding:25px;height:350px}.cafe-art p{font-size:32px}}@media(max-width:560px){header{align-items:start}.brand{font-size:26px}.brand span{font-size:7px;letter-spacing:1px}nav{gap:10px;flex-wrap:wrap;justify-content:end;max-width:190px}nav a{font-size:11px}.hero{grid-template-columns:1fr}.hero-art{height:340px;margin-top:15px;max-width:420px;width:100%}.arch{height:270px}.arch span{font-size:40px}.hero h1{font-size:56px}.intro{font-size:15px}.strip{font-size:10px;gap:20px;line-height:1.6}.section-heading{display:block}.section-heading>p{max-width:none}.rooms{grid-template-columns:1fr}.room-illustration{height:130px}.cafe{grid-template-columns:1fr;gap:35px}.cafe-art{height:320px}.cafe-art p{font-size:35px}footer{flex-wrap:wrap;gap:20px}footer>span{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.visit-actions{justify-content:center}

header{position:sticky;top:0;z-index:20;background:var(--cream)}.nav-book{background:var(--ink);color:var(--cream);padding:12px 18px;border-radius:4px;font-weight:800}.photo-hero{max-width:none;margin:0;min-height:660px;padding:90px 8% 140px;display:flex;position:relative;background:#3c4139 url('assets/cohub-community.webp') center 48%/cover no-repeat;color:#fff}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,23,20,.82),rgba(18,23,20,.35) 65%,rgba(18,23,20,.16))}.photo-hero .hero-copy{position:relative;z-index:1;max-width:680px}.photo-hero h1{font-size:clamp(55px,6.3vw,94px)}.photo-hero .intro{color:#fffdf2;max-width:540px;font-size:18px}.photo-hero .small{color:#eee;max-width:480px}.hero-book{background:var(--gold);color:var(--ink);margin-top:15px;padding:18px 30px}.image-caption{position:absolute;bottom:85px;right:25px;font-size:10px;color:#eee}.booking-section{position:relative;z-index:2;margin:-65px auto 40px;max-width:1280px;width:88%;background:var(--cream);box-shadow:0 12px 40px #0002;border-radius:8px;padding:30px}.booking-heading{display:flex;justify-content:space-between;gap:25px;align-items:center}.booking-heading .eyebrow{margin-bottom:10px}.booking-heading h2{font-size:27px;margin-bottom:15px}.booking-heading>p{font-size:13px}.booking-heading>p span{color:var(--muted);font-size:11px}#stay-search{display:grid;grid-template-columns:1.3fr 1fr 1fr .6fr 1fr;align-items:stretch;border:1px solid #32271e30;border-radius:5px;overflow:hidden}#stay-search label,.booking-location{display:flex;flex-direction:column;gap:9px;padding:18px 15px;border-right:1px solid #32271e20;min-width:0}#stay-search label span,.booking-location>span{font-size:9px;font-weight:bold;letter-spacing:1.3px}.booking-location strong{font-size:13px}#stay-search input{width:100%;min-width:0;background:transparent;border:0;color:var(--ink);font:inherit;font-size:14px}#stay-search button{border:0;border-radius:0;font-size:12px;padding:15px}.booking-disclaimer{font-size:11px;color:var(--muted);margin-bottom:0}#search-error{font-size:12px;color:#a23622;margin:8px 0}.stay-summary:empty{display:none}.stay-summary{background:#dce5e2;padding:15px;font-size:13px;border-radius:4px}.room-enquiry{font-weight:bold;color:var(--ink)}.room-enquiry:hover{text-decoration:underline}.room-illustration>span{font-variant-emoji:text}@media(max-width:850px){.photo-hero{min-height:600px;padding:75px 6% 125px}.booking-section{width:92%;padding:22px}#stay-search{grid-template-columns:1fr 1fr}.booking-location{grid-column:1/-1}.booking-heading{align-items:start}.booking-heading>p{max-width:190px}#stay-search button{min-height:60px}.booking-heading h2{font-size:23px}nav{gap:12px}}@media(max-width:560px){header{align-items:center}nav{max-width:230px}nav a:not(.nav-book){display:none}.photo-hero{min-height:650px;padding-top:85px;background-position:62% center}.photo-hero h1{font-size:57px;letter-spacing:-2px}.photo-hero .intro{font-size:16px}.hero-overlay{background:linear-gradient(90deg,#121714bc,#12171460)}.booking-heading{display:block}.booking-heading>p{max-width:none}.booking-section{margin-top:-55px}.image-caption{bottom:72px;right:15px;font-size:9px}#stay-search label{padding:15px 10px}.booking-location{padding:15px 10px}.nav-book{font-size:11px;padding:10px 12px}.photo-hero .small{max-width:310px}}

.room-details{width:100%;text-align:left;border:0;background:transparent;padding:14px 0;font:inherit;font-size:12px;cursor:pointer}.room-details:hover{text-decoration:underline}.faq{max-width:1000px}.faq details{border-bottom:1px solid #32271e25;padding:22px 0}.faq summary{cursor:pointer;font-weight:bold;line-height:1.6}.faq details p{font-size:14px;color:var(--muted);max-width:750px}.mobile-book{display:none}dialog{border:0;border-radius:12px;padding:40px;width:min(540px,92vw);max-height:88vh;overflow:auto;background:var(--cream);color:var(--ink);box-shadow:0 20px 80px #0004}dialog::backdrop{background:#121714bb}.dialog-close{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:30px;color:var(--ink);padding:4px 10px}.estimate{background:#dce5e2;padding:20px;border-radius:6px;margin-top:20px}.estimate>span{display:block;font-size:12px}.estimate>strong{display:block;font-size:34px;margin-top:10px}.estimate p{font-size:12px;margin-bottom:0}dialog h2{font-size:30px}dialog .button{margin-top:15px}@media(max-width:560px){.mobile-book{display:block;position:fixed;bottom:12px;right:16px;z-index:25;background:var(--gold);color:var(--ink);box-shadow:0 4px 20px #0003}footer{padding-bottom:90px}dialog{padding:35px 24px}}

.provider-booking{margin-bottom:20px}.provider-booking[hidden]{display:none}

.opening-notice{background:#e9dfc8;border-left:3px solid var(--gold);padding:16px 20px;font-size:13px;margin-bottom:25px}.company-details strong{font-size:12px}.company-details p{margin:7px 0;line-height:1.6}.image-caption{bottom:20px}.photo-hero{padding-bottom:90px}.mobile-book{max-width:80vw}@media(max-width:560px){footer{align-items:flex-start}.company-details{width:100%}}

.back-link{display:inline-block;margin:32px 6% 0;font-size:13px}.stay-page>.section{padding-top:35px}.back-link:hover{text-decoration:underline}

.supply-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin:40px 0}.supply-card{padding:32px;background:#fffdf7;border:1px solid #32271e20;border-radius:8px}.supply-card h2{font-size:28px}.supply-card>p:not(.eyebrow){color:var(--muted);font-size:14px}.supply-card .text-link{display:inline-block;margin-top:18px}.supply-teaser{background:#dce5e2;max-width:none}.supply-teaser>p{max-width:800px}.supply-page h1{font-size:clamp(40px,5vw,70px)}@media(max-width:560px){.supply-grid{grid-template-columns:1fr}.supply-card{padding:25px}nav a[href="supply.html"]{display:block;font-size:11px}}
.beer-hero{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.beer-hero h1{font-size:clamp(48px,5vw,76px)}.beer-hero img{width:100%;height:auto;border-radius:10px}.beer-hero .back-link{margin:0 0 25px}.brewer-story{background:#eae3d3;max-width:none}.brewer-story>p{max-width:950px}.brew-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:35px 0}.brew-stats strong{display:block;font-size:28px}.brew-stats span{display:block;font-size:12px;margin-top:8px;color:var(--muted)}.brewer-story li{padding:6px 0;line-height:1.5}.beer-tools{display:flex;gap:20px;margin:25px 0}.beer-tools label{display:flex;flex-direction:column;gap:8px;font-size:12px;flex:1}.beer-tools input,.beer-tools select{font:inherit;font-size:15px;color:var(--ink);padding:13px;border:1px solid #32271e35;border-radius:5px;background:#fffdf7;width:100%}.beer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.beer-card{padding:25px;background:#fffdf7;border:1px solid #32271e25;border-radius:9px;display:flex;flex-direction:column}.beer-card[hidden]{display:none}.beer-card-top{display:flex;align-items:start;gap:15px;justify-content:space-between}.beer-card-top>div{flex:1}.beer-card-top img{width:125px;height:90px;object-fit:contain;border-radius:5px;background:#ffb600}.beer-card h3{font-size:20px;line-height:1.3}.beer-style{font-size:12px;color:var(--muted)}.beer-specs{display:grid;grid-template-columns:1fr 1fr;gap:15px;border-top:1px solid #32271e20;padding-top:18px;margin-top:18px}.beer-specs dt{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.beer-specs dd{margin:6px 0 0;font-size:13px;font-weight:bold;line-height:1.5}.beer-card>p{font-size:14px;line-height:1.65}.beer-order{margin-top:auto;display:flex;gap:20px;border-top:1px solid #32271e20;padding-top:18px;font-size:12px;font-weight:bold}.beer-order a:hover{text-decoration:underline}.beer-contact{background:#dce5e2;max-width:none}.beer-contact>p{max-width:850px}#beer-empty{padding:25px;background:#eae3d3}@media(max-width:850px){.beer-hero{gap:25px}.brew-stats{grid-template-columns:repeat(2,1fr)}.beer-grid{grid-template-columns:1fr}}@media(max-width:560px){.beer-hero{grid-template-columns:1fr}.beer-tools{flex-direction:column}.beer-card{padding:20px}.beer-card-top img{width:100px}.beer-contact .actions{align-items:start}.beer-page .eyebrow{font-size:10px;letter-spacing:1.5px}}@media print{header,footer,.beer-tools,.beer-order,.beer-contact .actions{display:none}.beer-grid{display:block}.beer-card{break-inside:avoid;margin-bottom:20px}.beer-card[hidden]{display:flex}.beer-hero{display:block}.beer-hero img{max-width:350px}.section{padding:20px}body{background:white}}
.beer-purchase{margin-top:auto;border-top:1px solid #32271e20;padding-top:20px}.product-prices{display:grid;grid-template-columns:1fr 1fr;gap:15px}.product-prices span{display:block;font-size:10px;color:var(--muted);line-height:1.5}.product-prices strong{display:block;font-size:20px;margin-top:6px}.priced-format{font-size:11px;color:var(--muted)}.add-controls{display:grid;grid-template-columns:1fr 65px;gap:10px}.add-controls label{font-size:11px;display:flex;flex-direction:column;gap:5px}.add-controls select,.add-controls input,.cart-qty,#manual-copy{padding:10px;font:inherit;background:white;border:1px solid #32271e30;border-radius:4px;min-width:0;width:100%}.add-to-cart{grid-column:1/-1;border:0;cursor:pointer}.price-policy{padding:18px;background:#e9dfc8;font-size:13px}.cart-launcher{position:fixed;right:20px;bottom:20px;z-index:30;padding:16px 22px;border:0;border-radius:30px;background:var(--ink);color:var(--cream);font:inherit;font-weight:bold;box-shadow:0 5px 25px #0003;cursor:pointer}.cart-launcher span{background:var(--gold);color:var(--ink);border-radius:20px;padding:4px 8px;margin-left:8px}.cart-notice{position:fixed;bottom:80px;right:20px;z-index:40;max-width:calc(100vw - 40px);background:var(--ink);color:white;border-radius:6px;padding:15px;font-size:13px}#cart-dialog{width:min(850px,95vw)}.cart-line{display:grid;grid-template-columns:1fr 65px 100px 65px;gap:12px;align-items:center;padding:20px 0;border-bottom:1px solid #32271e20}.cart-line h3{font-size:16px}.cart-line p{font-size:11px;color:var(--muted);margin:6px 0 0}.cart-line label{font-size:10px}.cart-line>strong{font-size:13px}.remove-line,.clear-cart{border:0;background:transparent;color:var(--ink);text-decoration:underline;cursor:pointer;padding:8px 0;font:inherit;font-size:12px}.cart-share{display:flex;flex-wrap:wrap;align-items:center;gap:15px;margin-top:25px}.cart-share .button{border:0;font-size:12px}.cart-subtotal{display:flex;justify-content:space-between;gap:15px;font-size:18px}.cart-share a[hidden]{display:none}.clear-cart{margin-top:25px}.cart-empty{padding:30px 0}.cart-share button:disabled,.clear-cart:disabled{opacity:.4;cursor:default}#cart-totals>p:not(.cart-subtotal){font-size:12px}#cart-share-status{font-size:12px}#manual-copy-label{font-size:12px}@media(max-width:560px){.cart-line{grid-template-columns:1fr 65px}.cart-line>strong{grid-column:1}.cart-line .remove-line{grid-column:2}.cart-launcher{bottom:14px;right:14px;font-size:13px}.product-prices strong{font-size:18px}#cart-dialog{padding:35px 20px}.cart-share{gap:10px}.cart-share .button{padding:13px}.cart-subtotal{font-size:16px}.beer-page+footer{padding-bottom:100px}}@media print{.beer-purchase,.cart-launcher,.cart-notice{display:none}}

.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;pointer-events:none}.video-toggle{position:absolute;right:22px;bottom:20px;z-index:3;border:1px solid #fff7;background:#17221dbb;color:white;padding:10px 15px;border-radius:4px;font:inherit;font-size:11px;cursor:pointer}.video-toggle[hidden]{display:none}@media(max-width:560px){.hero-video{object-position:62% center}.video-toggle{right:15px;bottom:15px;font-size:10px}}
