/* 19 Channing - approved master release 2026.09.20-r2.
   Shared refinements live here; keep the editorial Food and Story layouts intact. */
:root { --header-height:108px; --masthead:108px; --hr-header:108px; --focus:#b25232; }
html { scroll-padding-top:calc(var(--header-height) + 24px); }
body { font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; }
[hidden] { display:none!important; }
:focus-visible { outline:3px solid var(--focus); outline-offset:5px; }
img { height:auto; }
.icon { width:26px; height:26px; flex-shrink:0; vertical-align:middle; }
button, summary, a { -webkit-tap-highlight-color:transparent; }
button, summary { cursor:pointer; }
button { touch-action:manipulation; }
.btn { min-height:48px; line-height:1.4; text-align:center; }
.btn-glass { border-color:#e9e6dd; color:#fff; background:#132219c7; }
.text-link { display:inline-flex; align-items:center; gap:8px; min-height:44px; text-decoration:underline; text-underline-offset:4px; color:var(--brick-dark); font-size:14px; font-weight:700; }
body .site-header { z-index:70; background:#f5f0e8f7; }
body .nav-wrap { max-width:1280px; min-height:108px; padding:8px 26px; gap:22px; }
body .brand { gap:12px; flex-shrink:0; }
body .brand-logo { width:88px; height:88px; object-fit:contain; border-radius:0; background:none; border:0; box-shadow:none; }
body .brand-text { font-family:Georgia,serif; font-size:23px; font-weight:500; letter-spacing:-.02em; white-space:nowrap; }
body .brand-text small { font:650 10px/1.7 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; letter-spacing:.11em; margin-top:2px; }
body .nav-links { gap:19px; font-size:13px; }
body .nav-links>a { min-height:44px; display:inline-flex; align-items:center; white-space:nowrap; }
body .nav-links .airbnb-link { padding:12px 17px!important; }
body .menu-btn { align-items:center; gap:8px; min-height:46px; padding:8px 12px; color:var(--ink); }
body .site-footer { background:#17251f; color:#f4f0e7; padding:52px 0 24px; }
body .footer-grid { display:grid; grid-template-columns:1.6fr 1fr 1fr; align-items:start; gap:35px; }
.footer-brand { display:flex; align-items:center; gap:18px; }
.footer-brand img { width:112px; height:112px; flex:none; object-fit:contain; }
.footer-brand h3 { margin:0 0 8px; font:400 23px/1.2 Georgia,serif; }
body .footer-brand p { margin:0; font-size:13px; color:#ced5ce; }
body .footer-grid strong { display:block; font-size:12px; text-transform:uppercase; letter-spacing:.09em; color:#ddd1b8; margin:15px 0 10px; }
body .footer-links { display:grid; gap:2px; }
body .footer-links a { padding:7px 0; font-size:14px; line-height:1.5; color:#f5f0e8; }
.footer-links a:hover,.footer-bottom a:hover { text-decoration:underline; text-underline-offset:4px; }
body .footer-bottom { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; border-top:1px solid #7085785c; margin-top:35px; padding-top:22px; font-size:12px; color:#d0d6cf; }
.footer-bottom>div { display:flex; gap:22px; flex-wrap:wrap; }
.footer-bottom a { display:inline-block; min-height:30px; }
body .footer-note { margin:12px 0 0; color:#bdc7bf; font-size:11px; }
.photo-link { display:block; position:relative; cursor:zoom-in; min-width:0; overflow:hidden; }
.photo-link>img { display:block; width:100%; }
.photo-link:focus-visible { outline-offset:-5px; }
.photo-hint { display:none; }
/* Homepage: readable typography is backed by a continuous dark scrim. */
body .hero { min-height:615px; align-items:center; }
body .hero:after { background:linear-gradient(90deg,rgba(12,25,20,.85) 0%,rgba(12,25,20,.80) 47%,rgba(12,25,20,.32) 100%),linear-gradient(0deg,#1520199c,transparent); }
body .hero-inner { padding:64px 24px 76px; }
.home-hero-heading { display:flex; gap:30px; align-items:center; }
.home-hero-logo { width:196px; height:196px; object-fit:contain; flex:none; filter:drop-shadow(0 4px 20px #0005); }
body .hero h1 { font-size:clamp(45px,5.4vw,75px); line-height:1.07; max-width:860px; letter-spacing:-.035em; }
body .hero p { max-width:730px; font-size:19px; line-height:1.7; color:#fffdf5; text-shadow:none; }
.hero .eyebrow { color:#e2ca9c; }
body .feature-visual { min-height:0; }
body .feature-visual>.photo-link { height:480px; }
body .feature-visual>.photo-link>img { height:100%; min-height:0; object-fit:cover; }
.home-history-image { height:500px; background:#793b2e!important; }
.home-history-image>img { position:absolute; width:100%; height:100%; object-fit:cover; filter:grayscale(.65); }
.history-image-shade { position:absolute; inset:0; background:linear-gradient(0deg,#491d15ed 0%,#682b20db 70%,#682b2094); }
.history-image-copy { position:relative; z-index:1; padding:36px; height:100%; display:flex; flex-direction:column; justify-content:flex-end; }
.history-image-copy .eyebrow { color:#ead7b7; }
.history-image-copy h2 { color:#fffdf6; font:400 clamp(33px,3.5vw,47px)/1.14 Georgia,serif; margin:5px 0 25px; letter-spacing:-.025em; }
.image-credit-inline { color:#f0ddd5; font-size:11px; }
.cta-band { scroll-margin-top:var(--header-height); }
/* Your Stay: a quiet gallery and structured essentials, not floating badges. */
.stay-intro { padding-top:64px; padding-bottom:35px; }
.stay-intro h1 { font:400 clamp(50px,6vw,76px)/1.05 Georgia,serif; letter-spacing:-.04em; margin:0 0 22px; }
.stay-intro>p { max-width:760px; font-size:19px; color:#59655c; }
.stay-intro .eyebrow { color:#82623a; }
.stay-gallery { display:grid; grid-template-columns:1.6fr 1fr; grid-template-rows:235px 235px; gap:12px; }
.stay-gallery .photo-link { border-radius:14px; }
.stay-gallery .stay-photo-main { grid-row:1/3; }
.stay-gallery img { width:100%; height:100%; object-fit:cover; }
.stay-gallery .stay-photo-main img { object-position:56% 55%; }
.amenity-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
.amenity-grid>div { border-top:1px solid #cbbd9e; padding-top:22px; }
.amenity-grid .icon { color:#637959; width:30px; height:30px; margin-bottom:14px; }
.amenity-grid h3 { font:400 24px/1.25 Georgia,serif; margin:0 0 10px; }
.amenity-grid p { color:var(--muted); font-size:15px; margin:0; }
.parking-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.parking-card { padding:30px; border:1px solid var(--line); border-radius:18px; background:var(--cream); }
.parking-card .icon { width:32px; height:32px; color:#697b58; }
.parking-card h3 { font:400 31px/1.15 Georgia,serif; margin:17px 0 12px; }
.parking-card p { font-size:16px; color:#5d655e; }
.parking-upgrade { background:#eef1e9; border-color:#cbd5c7; }
.parking-card .small-label { display:block; font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#5c704b; }
.parking-card strong { color:var(--ink); }
.comfort-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:28px; align-items:stretch; }
.wifi-card { background:#2c4537; color:#fffdf6; border-radius:20px; padding:32px; }
.wifi-card>.icon { width:36px; height:36px; color:#d8cbaa; }
.wifi-card h3 { font:400 35px/1.15 Georgia,serif; margin:20px 0; }
.wifi-card dl { margin:0 0 20px; }
.wifi-card dt { color:#d9ddce; font-size:12px; letter-spacing:.09em; text-transform:uppercase; margin-top:19px; }
.wifi-card dd { margin:6px 0 0; font-size:23px; color:#fff; overflow-wrap:anywhere; }
.wifi-card dd code { font:inherit; }
.wifi-card p { color:#e0e5dc; font-size:14px; }
.wifi-card .copy-btn { border:1px solid #becbb9; background:#fffdf7; color:#1c3826; border-radius:7px; min-height:44px; padding:9px 13px; font-size:13px; font-weight:700; }
.copy-btn .icon { width:17px; height:17px; }
.copy-feedback { display:block; min-height:1.5em; font-size:12px; }
.comfort-stack { display:grid; gap:20px; }
.comfort-stack>article { padding:26px 29px; border:1px solid var(--line); background:var(--paper); border-radius:16px; }
.comfort-stack h3 { font:400 26px/1.25 Georgia,serif; margin:10px 0 8px; }
.comfort-stack p { color:var(--muted); font-size:15px; margin:0; }
.comfort-stack .icon { color:#6b7b57; }
.outdoor-feature { display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:50px; }
.outdoor-feature>.photo-link { height:480px; border-radius:20px; }
.outdoor-feature img { height:100%; object-fit:cover; object-position:43% center; }
.outdoor-feature h2 { font:400 clamp(34px,4vw,50px)/1.1 Georgia,serif; letter-spacing:-.025em; margin:15px 0 24px; }
.outdoor-feature p { color:#616a60; }
.outdoor-feature .eyebrow { color:#82643f; }
.outdoor-feature .icon { color:#52724e; }
.transport-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:23px; }
.transport-grid>article { padding:28px 26px; border:1px solid var(--line); border-radius:18px; background:var(--paper); }
.transport-grid .icon { color:#617c50; width:32px; height:32px; }
.transport-grid h3 { font:400 27px/1.15 Georgia,serif; margin:18px 0 14px; }
.transport-grid p { color:var(--muted); font-size:15px; }
.source-note { font-size:12px; color:#73766c; margin-top:24px; }
/* Food: preserve approved editorial entries, add orthogonal price filtering. */
.filter-shell { top:var(--header-height)!important; padding:14px 0; z-index:40; }
.filter-row { gap:12px 20px; }
.filterbar { flex-wrap:wrap; overflow:visible; width:auto; gap:8px; }
.filter-btn,.price-filter { min-height:44px; transition:background .16s,border-color .16s; }
.filter-btn { padding:10px 16px; }
.price-filters { display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
.price-filters>span { font-size:12px; font-weight:650; color:#566555; margin-right:5px; }
.price-filter { border:1px solid #c9c8ba; background:transparent; color:#364d3b; border-radius:8px; padding:7px 11px; font-size:12px; font-weight:700; }
.price-filter[aria-pressed="true"] { background:#e0e7dc; border-color:#57724b; color:#1d3824; box-shadow:inset 0 -2px #57724b; }
.filter-meta { display:flex; gap:10px; align-items:center; font-size:12px; }
.filter-meta button,.reset-filters { min-height:44px; padding:7px 10px; background:transparent; border:1px solid #c6c7ba; border-radius:6px; font-size:12px; color:#405a42; }
.price-key { font-size:13px; color:#626a5e; line-height:1.7; padding:0 0 18px; max-width:80ch; }
.price-key strong { color:#385237; }
.restaurant-image>.photo-link { display:block; position:absolute; inset:0; width:100%; height:100%; }
.restaurant-image>.photo-link>img { width:100%; height:100%; object-fit:cover; }
.restaurant-image { min-height:390px; }
.restaurant-card { scroll-margin-top:calc(var(--header-height) + 160px); }
.restaurant-card:hover { transform:none; }
.restaurant-heading { gap:12px; }
.restaurant-heading h2 { font-size:35px; }
.price-tag { display:inline-block; background:#eee6d5; color:#685a3d; border:1px solid #d8c9ac; border-radius:6px; font:700 12px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; letter-spacing:.1em; padding:4px 8px; }
.review-meta { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:0 0 20px; font-size:12px; color:#64705f; }
.price-note { font-size:12px; line-height:1.6; color:#67705e; padding:12px 0; }
.review-details summary { padding:15px 0; min-height:48px; }
.review-grid { gap:22px; }
.review-block p,.review-block ul { font-size:15px; line-height:1.7; }
.mini-gallery,.mini-gallery.two { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px 9px; }
.mini-gallery figure { margin:0; min-width:0; }
.mini-gallery a { border-radius:10px; display:block; overflow:hidden; }
.mini-gallery img { height:130px; width:100%; object-fit:cover; transition:transform .2s; }
.mini-gallery a:hover img { transform:scale(1.03); }
.mini-gallery figcaption { font-size:11px; line-height:1.45; color:#6a7064; padding:7px 2px 0; }
.no-results { margin:0 0 30px; }
.no-results[hidden] { display:none; }
/* Rules: PDF terminology, every rule visible, kitchen immediately after smoking. */
.hr-page .hr-strict { border-color:#dcb6a9; border-top:4px solid #a3412d; background:#fff8f3; }
.hr-strict .hr-section-head { border-color:#ead0c3; }
.hr-strict .hr-section-head h2 { color:#783022; }
.hr-strict .hr-section-icon { background:#f1ddd2; color:#973c27; }
.strict-label { display:inline-block; font:800 10px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; text-transform:uppercase; letter-spacing:.08em; color:#8d3726; background:#f2ddd1; border:1px solid #d5afa0; padding:4px 8px; margin-top:8px; border-radius:5px; }
.hr-page .hr-rule-list li { font-size:16px; line-height:1.72; }
.hr-page .hr-strict .hr-lead-rule { color:#713023; }
.hr-page .hr-step { margin-top:24px; border-top:1px solid #e5ded0; padding-top:17px; }
.hr-page .hr-step h3 { font-size:16px; margin:0 0 12px; color:#476344; }
.hr-page .hr-consequence { color:#722b20; background:#f7e5dc; }
.hr-page .hr-lead-rule { font-size:18px; line-height:1.65; }
.hr-page .hr-section-head { align-items:flex-start; }
.hr-page .hr-section-head h2 { line-height:1.25; padding-top:4px; margin-bottom:0; }
.hr-page .hr-fee { background:#f0ece2; padding:13px 17px; border-left:3px solid #aa9467; margin:18px 0 0; font-size:14px; }
.hr-page .hr-quiet { display:block; }
.hr-page .hr-quiet strong { margin-right:10px; }
.hr-sidebar { z-index:45; }
.hr-chapters a[href="#kitchen"] { color:#843a2b; }
/* FAQ: independent page, predictable categories and touch-friendly disclosure. */
.faq-layout { display:grid; grid-template-columns:235px minmax(0,1fr); gap:54px; padding-top:55px; padding-bottom:70px; align-items:start; }
.faq-index { position:sticky; top:calc(var(--header-height) + 26px); border-left:1px solid #d0c4ae; padding-left:22px; }
.faq-index h2 { font:700 11px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; letter-spacing:.12em; text-transform:uppercase; color:#826341; margin:0 0 12px; }
.faq-index a { display:block; min-height:43px; padding:9px 0; font-size:14px; color:#52634d; }
.faq-index a:hover { text-decoration:underline; }
.faq-group { scroll-margin-top:calc(var(--header-height) + 22px); margin:0 0 45px; }
.faq-group>h2 { display:flex; align-items:center; gap:12px; font:400 32px/1.2 Georgia,serif; color:#354c34; margin:0 0 20px; }
.faq-group>h2>.icon { color:#7c805d; }
.faq-item { border-bottom:1px solid #ded4c2; background:#fffdf7; }
.faq-item:first-of-type { border-top:1px solid #ded4c2; }
.faq-item summary { min-height:64px; padding:19px 23px; display:grid; grid-template-columns:minmax(0,1fr) 24px; align-items:center; gap:18px; list-style:none; font-size:17px; font-weight:650; line-height:1.45; color:#263e2f; }
.faq-question { min-width:0; }
.faq-item summary>.faq-chevron { display:block; width:22px; height:22px; margin:0; justify-self:center; align-self:center; color:#8a653e; transition:transform .16s ease; }
.faq-item[open] summary>.faq-chevron { transform:rotate(180deg); }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { content:none; display:none; }
.faq-item[open] summary::after { content:none; display:none; }
.faq-item[open] { background:#fffdf8; box-shadow:0 5px 22px #53431a06; }
.faq-answer { padding:0 23px 22px; color:#5b6458; font-size:16px; line-height:1.8; }
.faq-answer p { margin:0 0 14px; }
.faq-answer p:last-child { margin-bottom:0; }
.faq-answer a { color:#4c6140; text-decoration:underline; text-underline-offset:4px; }
.faq-answer strong { color:#344832; }
.faq-answer ul { padding-left:19px; }
.faq-answer li { margin-bottom:10px; }
.faq-item { scroll-margin-top:calc(var(--header-height) + 25px); }
.faq-contact { border:1px solid #cabba0; border-radius:16px; padding:28px; background:#eee8db; }
.faq-contact h2 { font:400 30px/1.2 Georgia,serif; margin:0 0 12px; }
.faq-contact p { color:#5a6456; }
.grocery-list { display:grid; gap:18px; }
.grocery-list>div { border-left:3px solid #d0c49f; padding-left:16px; }
.prose-page { max-width:900px; margin:auto; padding:65px 24px 85px; }
.prose-page h1 { font:400 clamp(44px,5vw,66px)/1.12 Georgia,serif; letter-spacing:-.025em; margin:15px 0 28px; }
.prose-page h2 { font:400 28px/1.25 Georgia,serif; margin:34px 0 16px; color:#3b543c; }
.prose-page p { color:#596253; line-height:1.85; font-size:16px; }
.prose-page a { text-decoration:underline; text-underline-offset:4px; color:#385433; }
/* Existing story/neighborhood imagery uses the common gallery. */
.journey-photo .photo-link,.cover-image .photo-link,.neighborhood-feature .photo-link { width:100%; }
.journey-photo .photo-link>img { height:auto; }
.neighborhood-page .remote-image-wrap { background:#e4e7d9; }
.neighborhood-page .remote-image-wrap>a.photo-link { height:100%; min-height:360px; }
.neighborhood-page .remote-image-wrap>a.photo-link>img { width:100%; height:100%; min-height:360px; object-fit:cover; }
.journey-cover .photo-link { border-radius:2px; }
.photo-fallback { display:none!important; }
/* Accessible native dialog: only the image scales, captions never overlap it. */
.site-lightbox { width:min(1140px,96vw); max-width:96vw; height:auto; max-height:94dvh; padding:16px 22px 20px; border:1px solid #bdb49f; border-radius:10px; background:#fcf9f1; color:#22372a; box-shadow:0 30px 120px #0008; overflow:auto; }
.site-lightbox::backdrop { background:rgba(8,20,15,.88); }
.site-lightbox .lightbox-close { position:static; display:block; margin:0 0 12px auto; border:1px solid #bfc6b5; background:#fffdf5; color:#29412e; border-radius:7px; padding:9px 15px; min-height:44px; min-width:83px; font-size:14px; }
.site-lightbox figure { margin:0; text-align:center; }
.site-lightbox figure>img { width:auto; max-width:100%; height:auto; max-height:calc(90dvh - 175px); object-fit:contain; margin:0 auto; border-radius:3px; }
.site-lightbox figcaption { padding:12px 4px 5px; max-width:850px; margin:auto; font-size:14px; line-height:1.5; color:#4f604d; }
.lightbox-controls { display:flex; justify-content:center; align-items:center; gap:25px; margin-top:8px; }
.lightbox-controls button { min-height:44px; padding:8px 14px; background:#e8eddf; color:#28402b; border:1px solid #bbc7b0; border-radius:6px; font-size:13px; }
.lightbox-count { font-size:12px; min-width:50px; text-align:center; }
@media(min-width:1151px) { body .menu-btn { display:none; } body .nav-links { display:flex; position:static; width:auto; } }
@media(max-width:1150px) {
 body .nav-wrap { min-height:96px; padding:8px 24px; }
 body .brand-logo { width:78px; height:78px; }
 body .menu-btn { display:flex; }
 body .nav-links { display:none; position:absolute; top:100%; left:0; right:0; padding:15px 24px 24px; background:#f7f2e9; border-bottom:1px solid #d3c4ad; box-shadow:0 13px 24px #1a261918; max-height:calc(100dvh - var(--header-height)); overflow-y:auto; gap:0; }
 body .nav-links.open { display:grid; grid-template-columns:1fr 1fr; gap:5px 18px; }
 body .nav-links>a { padding:12px; min-height:49px; font-size:15px; }
 body .nav-links .airbnb-link { justify-content:center; margin-top:3px; }
 .footer-brand { flex-direction:column; align-items:flex-start; }
 .stay-gallery { grid-template-rows:205px 205px; }
}
@media(max-width:900px) {
 .stay-intro { padding-top:44px; }
 .amenity-grid { grid-template-columns:repeat(2,1fr); }
 .outdoor-feature { gap:32px; }
 .outdoor-feature>.photo-link { height:430px; }
 .transport-grid { gap:14px; }
 .transport-grid>article { padding:23px 20px; }
 .transport-grid h3 { font-size:25px; }
 .home-hero-logo { width:157px; height:157px; }
 body .hero { min-height:540px; }
 .faq-layout { gap:30px; grid-template-columns:180px minmax(0,1fr); }
 .hr-page .hr-jump-panel { top:calc(100% + 3px); }
 .hr-page .hr-sidebar { position:sticky; }
}
@media(max-width:700px) {
 html { scroll-padding-top:calc(var(--header-height) + 15px); }
 body .nav-wrap { min-height:90px; padding:7px 16px; gap:12px; }
 body .brand { gap:10px; }
 body .brand-logo { width:72px; height:72px; }
 body .brand-text { font-size:22px; }
 body .brand-text small { font-size:9px; }
 body .menu-btn { padding:8px 10px; gap:5px; font-size:13px; }
 body .menu-btn .icon { width:20px; height:20px; }
 .container { padding-left:20px; padding-right:20px; }
 .section { padding:58px 0; }
 .section-head { gap:21px; margin-bottom:28px; }
 .section-head h2 { font-size:38px; }
 .section-head p { font-size:16px; }
 .page-hero { padding:50px 0 40px; }
 .page-hero h1 { font-size:50px; line-height:1.04; }
 .page-hero p { font-size:17px; line-height:1.7; }
 body .hero { min-height:570px; }
 body .hero-inner { padding:40px 20px 64px; }
 .home-hero-heading { gap:16px; align-items:center; }
 .home-hero-logo { width:104px; height:104px; }
 body .hero h1 { font-size:39px; line-height:1.04; }
 .home-hero-heading .eyebrow { font-size:9px; letter-spacing:.11em; margin-bottom:12px; }
 body .hero p { font-size:17px; line-height:1.75; margin-top:24px; }
 .hero-actions { gap:10px; }
 .hero-actions .btn { font-size:12px; padding:13px 15px; }
 body .feature-visual>.photo-link { height:360px; }
 .home-history-image { height:400px; }
 .history-image-copy { padding:27px; }
 .history-image-copy h2 { font-size:35px; }
 .stay-intro { padding-top:38px; padding-bottom:25px; }
 .stay-intro h1 { font-size:53px; }
 .stay-intro>p { font-size:17px; }
 .stay-gallery { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:295px 155px; gap:8px; }
 .stay-gallery .stay-photo-main { grid-row:1; grid-column:1/-1; }
 .stay-gallery .photo-link { border-radius:9px; }
 .amenity-grid { gap:26px 20px; }
 .amenity-grid h3 { font-size:23px; }
 .amenity-grid p { font-size:14px; }
 .parking-grid,.comfort-grid,.outdoor-feature,.transport-grid { grid-template-columns:1fr; gap:18px; }
 .parking-card { padding:25px; }
 .wifi-card { padding:28px; }
 .comfort-stack>article { padding:24px; }
 .outdoor-feature>.photo-link { height:320px; }
 .outdoor-feature>div { padding-top:12px; }
 .outdoor-feature h2 { font-size:39px; }
 .transport-grid>article { padding:26px; }
 .transport-grid h3 { font-size:28px; }
 .transport-grid p { font-size:16px; }
 .filter-shell { padding:10px 0; margin-bottom:24px; }
 .filter-row { gap:9px; }
 .filterbar { gap:6px; flex-wrap:wrap; width:100%; overflow:visible; padding-bottom:0; }
 .filter-btn { font-size:12px; padding:9px 12px; }
 .price-filters { gap:5px; }
 .price-filter { min-height:38px; padding:6px 10px; }
 .filter-meta { margin-left:auto; }
 .price-key { font-size:12px; }
 .restaurant-grid { gap:22px; }
 .restaurant-image { min-height:0; height:250px; }
 .restaurant-body { padding:24px 21px; }
 .restaurant-heading h2 { font-size:33px; }
 .restaurant-summary { font-size:16px; }
 .restaurant-actions .btn { font-size:13px; }
 .review-grid { grid-template-columns:1fr; gap:20px; }
 .mini-gallery,.mini-gallery.two { grid-template-columns:1fr 1fr; }
 .mini-gallery img { height:125px; }
 .faq-layout { display:block; padding-top:30px; padding-bottom:50px; }
 .faq-index { position:static; padding:0 0 22px; border:0; margin-bottom:24px; border-bottom:1px solid #cfc2a9; }
 .faq-index nav { display:flex; flex-wrap:wrap; gap:5px 10px; }
 .faq-index a { display:inline-flex; min-height:40px; border:1px solid #d5c9b5; border-radius:6px; padding:8px 11px; font-size:12px; background:#fffdf5; }
 .faq-group { margin-bottom:36px; }
 .faq-group>h2 { font-size:29px; }
 .faq-item summary { font-size:16px; padding:19px 17px; }
 .faq-answer { padding:0 17px 21px; font-size:15px; }
 .faq-contact { padding:25px; }
 body .footer-grid { grid-template-columns:1fr 1fr; gap:24px 18px; }
 .footer-brand { grid-column:1/-1; flex-direction:row; align-items:center; gap:18px; }
 .footer-brand img { width:95px; height:95px; }
 .footer-brand h3 { font-size:22px; }
 .footer-bottom>div { gap:9px 20px; }
 .site-lightbox { padding:10px 12px 15px; width:96vw; }
 .site-lightbox figure>img { max-height:calc(90dvh - 165px); }
 .site-lightbox figcaption { font-size:12px; }
 .lightbox-controls { gap:10px; }
 .lightbox-controls button { font-size:12px; padding:8px 10px; }
 .neighborhood-page .remote-image-wrap>a.photo-link,.neighborhood-page .remote-image-wrap>a.photo-link>img { min-height:245px; }
}
@media(max-width:380px) {
 body .brand-text { font-size:18px; }
 body .brand-logo { width:66px; height:66px; }
 body .menu-btn span { display:none; }
 .home-hero-heading { gap:13px; }
 .home-hero-logo { width:89px; height:89px; }
 body .hero h1 { font-size:33px; }
 .home-hero-heading .eyebrow { font-size:8px; letter-spacing:.06em; }
 .stay-gallery { grid-template-rows:255px 128px; }
 .filter-btn { padding:8px 9px; font-size:11px; }
 .price-filters>span { margin-right:0; font-size:11px; }
 .price-filter { padding:6px 8px; }
 .filter-meta { font-size:11px; }
 .hr-page .hr-section h2 { font-size:21px; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto!important; }
 *,*::before,*::after { animation:none!important; transition:none!important; }
}
@media print {
 .site-header,.site-footer,.filter-shell,.faq-index,.journey-rail,.journey-mobile-index,.hr-sidebar,.site-lightbox,.hero-actions,.hr-download-box { display:none!important; }
 .faq-layout,.hr-layout,.journey-layout { display:block; }
 .faq-item:not([open]) .faq-answer { display:block; }
 .section,.prose-page { padding-block:20px; }
 .restaurant-card,.hr-section,.faq-item { break-inside:avoid; }
 a { color:inherit; }
}

.wifi-card .btn-outline { color:#223d29; background:#fffdf5; border-color:#d1d6c2; } .wifi-card dd small { font-size:12px; display:block; color:#d2dbc9; margin-top:5px; }

@media(max-width:700px){body .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body .footer-grid>.footer-brand{grid-column:1/-1;min-width:0}.footer-brand>div{min-width:0}.footer-brand h3{overflow-wrap:break-word}}

/* R2: venue answers follow the same native FAQ pattern, with compact route links. */
.venue-intro { margin:-2px 0 22px; color:#5b6458; font-size:15px; line-height:1.75; }
.venue-intro p { margin:0 0 12px; }
.venue-quick-links { display:flex; flex-wrap:wrap; gap:8px; margin:17px 0; }
.venue-quick-links a { display:inline-flex; align-items:center; min-height:40px; padding:7px 12px; border:1px solid #d3c5ad; border-radius:7px; color:#405638; background:#f4eee3; text-decoration:none; font-size:13px; }
.venue-quick-links a:hover { background:#e6ecdf; border-color:#768564; }
.venue-address { display:block; font-style:normal; color:#5b6458; font-size:14px; margin:0 0 18px; }
.venue-kind { display:block; color:#826341; font-size:11px; text-transform:uppercase; font-weight:700; letter-spacing:.07em; margin-bottom:4px; }
.venue-route { margin:0 0 18px; padding-left:16px; border-left:3px solid #c4cbb6; }
.venue-route h3 { font:650 14px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; color:#324c35; margin:0 0 7px; }
.venue-route p { font-size:15px; line-height:1.75; }
.venue-actions { display:flex; flex-wrap:wrap; gap:9px; margin:18px 0; }
.faq-answer .venue-actions a { min-height:44px; display:inline-flex; align-items:center; justify-content:center; border:1px solid #bcc8b2; padding:9px 13px; border-radius:7px; text-decoration:none; color:#304b34; background:#eaf0e3; font-size:13px; font-weight:650; }
.faq-answer .venue-actions a:hover { background:#dae5cf; }
.faq-answer .venue-official { font-size:13px; line-height:1.65; margin-top:12px; }
@media(max-width:700px) {
 .home-hero-logo { display:none; }
 .home-hero-heading { display:block; }
 .faq-item summary { grid-template-columns:minmax(0,1fr) 24px; gap:14px; align-items:center; }
 .venue-actions a { flex:1 1 135px; }
 .venue-quick-links { gap:7px; }
}
@media(prefers-reduced-motion:reduce) { .faq-item summary>.faq-chevron { transition:none; } }
