/* Editorial hierarchy and compact visitor journeys */
:root{--ink:#253f32;--muted:#58685d;--paper:#fcfbf8;--line:#dde2d5;--accent:#9e613d}
.section{padding-block:64px}.section.compact{padding-block:36px 52px}
.page-intro{padding-block:48px 32px}.page-intro h1{font-size:clamp(2.4rem,4.5vw,4rem)}
.page-intro p{max-width:720px;color:var(--muted)}.eyebrow{letter-spacing:.11em;color:#78654c}
.button{border-radius:6px}.text-link{gap:10px}
summary{cursor:pointer;min-height:44px}
summary:focus-visible{outline:3px solid #a76139;outline-offset:5px}
.card-body h3 a:hover,.stay-card h3 a:hover{text-decoration:underline;text-underline-offset:5px}
.card-body p{color:var(--muted)}.card-body h3 a>span{font-size:.8em;white-space:nowrap}
.card-text{padding:26px;border:1px solid var(--line);border-radius:8px;background:white}
.card-text .card-body{padding:0}.card-text .save{position:static;margin-top:16px}
.discovery-nav{margin-bottom:28px}.nav-mobile-only{display:none}
.main-nav a[aria-current]{color:#96562f;text-decoration:underline;text-underline-offset:7px}
.has-navigation .site-header{position:sticky;top:0;z-index:1100}
@media(min-width:1101px){
 .site-header{height:84px;padding-inline:4%;gap:18px}
 .main-nav{display:flex;position:static;flex-direction:row;align-items:center;gap:22px;padding:0;border:0;box-shadow:none;overflow:visible;font-size:.86rem;max-height:none}
 .menu-toggle,.business-quick-nav{display:none}.header-actions{display:flex;gap:15px;margin-left:0}
}
@media(max-width:1100px){
 .site-header{height:auto;min-height:74px;padding:14px 5%;flex-wrap:wrap;gap:12px}
 .brand-word{font-size:1.2rem}.header-actions{display:none}.menu-toggle{margin-left:auto}
 .main-nav{order:3;position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;padding:10px 0 0;gap:0 12px;border:0;box-shadow:none;white-space:normal;font-size:.95rem;max-height:none;overflow:visible}
 .main-nav a{min-height:44px;padding:10px 5px}.main-nav .nav-mobile-only{display:block}
 .has-navigation .site-header{height:74px;min-height:74px;flex-wrap:nowrap;padding-block:0}
 .has-navigation .main-nav{display:none;position:absolute;top:100%;left:0;right:0;width:auto;padding:14px 5%;border-bottom:1px solid var(--line);box-shadow:0 12px 24px #18332214;max-height:calc(100svh - 74px);overflow:auto}
 .has-navigation .main-nav.open{display:flex}
 .business-quick-nav{padding:2px 5%;border-color:var(--line)}.business-quick-nav a{font-size:.83rem}
}
.home-hero{height:490px;min-height:490px;max-height:none}
.home-hero .hero-content{padding:58px 7% 65px;max-width:890px}
.home-hero h1{font-size:clamp(3rem,5.3vw,5rem);line-height:1.04}
.home-hero .hero-kicker{margin-bottom:20px}
.home-hero p{max-width:510px;margin:21px 0 25px}
.home-hero .hero-location{font-size:.76rem;bottom:20px}
.home-hero .hero-shortcuts a{min-height:36px;display:inline-flex;align-items:center}
.home-intents{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0 7%;border-bottom:1px solid var(--line);background:#f3f1e8}
.home-intents a{display:flex;gap:14px;align-items:center;min-height:84px;padding:14px 20px;border-inline-end:1px solid var(--line)}
.home-intents a:first-child{border-inline-start:1px solid var(--line)}
.home-intents a>span:first-child{color:#977e57;font-size:.72rem}
.home-intents strong{font-size:.92rem;font-weight:500}.home-intents a>span:last-child{margin-left:auto}
.home-intents a:hover{background:#e8ecdf}
.business-entry-grid{gap:26px}.business-entry{background:white;border-color:var(--line);border-radius:10px}
.business-entry figure>picture{height:225px}.business-entry figcaption{font-size:.7rem;padding:7px 20px;background:#f3f3eb}
.business-entry>div{padding:23px 26px}.business-entry h3{font-size:2rem;margin-bottom:18px}
.business-entry .eyebrow{margin-bottom:7px}
.business-featured-link{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:16px;margin-top:20px;font-size:.88rem;min-height:60px}
.business-featured-link small{display:block;font-size:.76rem;color:var(--muted)}
.business-featured-link:hover>span:first-child{text-decoration:underline}
.business-home .section-head p{font-size:.9rem}
.home-discoveries{border-top:1px solid var(--line)}.home-discoveries .card-image{height:235px}
.discovery-paths{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:30px;padding-top:20px;border-top:1px solid var(--line)}
.discovery-paths a{font-size:.86rem;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:5px}
.duration-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.duration-cards>a{display:flex;flex-direction:column;align-items:flex-start;padding:28px;min-width:0;border:1px solid #d9dece;background:var(--paper);border-radius:8px}
.duration-number{font-size:1.1rem;background:#e8eddf;border-radius:30px;padding:7px 15px;margin-bottom:24px}
.duration-cards h3{font-size:1.65rem}.duration-cards p{font-size:.88rem;margin-top:12px}
.duration-cards a>span:last-child{margin-top:20px;align-self:flex-end;font-size:1.5rem}
.duration-cards a:hover{border-color:#6b8267}
.on-site{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center}
.on-site p{margin-top:20px;max-width:430px}.on-site-actions{display:flex;align-items:center;gap:12px 24px;flex-wrap:wrap;margin-top:24px}
.on-site nav>a{display:grid;grid-template-columns:1fr auto;gap:3px 14px;padding:22px 0;border-bottom:1px solid var(--line);min-height:90px}
.on-site nav>a:first-child{border-top:1px solid var(--line)}
.on-site nav strong{font-weight:500;font-size:1rem}.on-site nav span{grid-column:1;font-size:.85rem;color:var(--muted)}
.on-site nav b{grid-column:2;grid-row:1/3;align-self:center;font-weight:400}
.on-site nav a:hover strong{text-decoration:underline;text-underline-offset:5px}
.directory-intro{background:#f1f1e8;border-bottom:1px solid var(--line);padding-block:42px 34px}
.directory-intro h1{font-size:clamp(2.35rem,4.1vw,3.6rem)}
.business-directory{padding-top:28px}.business-filters{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;align-items:end;background:transparent;padding:0;gap:16px;border-radius:0;margin-bottom:17px}
.business-filters label{min-width:0;font-size:.83rem;color:var(--ink)}
.business-filters input,.business-filters select{background:white;border:1px solid #aebcaa;border-radius:5px}
.business-filters button{font-size:.83rem}.directory-count{font-size:.86rem;color:var(--muted);margin-bottom:22px}
.stay-grid{gap:24px}.stay-grid .stay-card{border-radius:8px;box-shadow:none}
.stay-card .eyebrow{font-size:.72rem;line-height:1.5}.stay-card h3{font-size:1.55rem}
.stay-card .directory-body{padding:22px}.stay-card .stay-type{font-size:.78rem;color:#765939}
.stay-card .stay-description{display:block;font-size:.89rem;line-height:1.65;overflow:visible}
.stay-benefits li{font-size:.75rem}.stay-card-actions{padding-bottom:0}
.stay-card-actions .button{background:#254a38;color:white;border-color:#254a38;font-size:.82rem}
.stay-card-actions .text-link{font-size:.78rem}
.listing-photo figcaption{font-size:.73rem;line-height:1.6}.stay-card .listing-photo figcaption{padding:9px 16px}
.selection-details{margin-top:32px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.86rem;max-width:860px;color:var(--muted)}
.selection-details summary{display:flex;align-items:center;gap:12px;color:var(--ink)}
.selection-details summary:before{content:'+';font-size:1.3rem}.selection-details[open] summary:before{content:'−'}
.selection-details p{margin:10px 0;max-width:780px}
.directory-next{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:28px;flex-wrap:wrap}
.directory-next p{font-size:.9rem}
.stay-detail-hero .eyebrow{font-size:.75rem}.stay-detail-hero h1{font-size:clamp(2.4rem,4vw,3.8rem)}
.stay-detail-hero .listing-photo>.responsive-picture{min-height:340px}
.stay-detail-layout{gap:50px}.stay-detail-layout article>p{margin:22px 0 30px;font-size:1rem;color:var(--muted);max-width:720px}
.stay-booking{background:#f2f3eb;border-color:var(--line);border-radius:8px;scroll-margin-top:100px}
.stay-booking .text-link{font-size:.85rem}.stay-booking .caption{font-size:.8rem}
.listing-sources{margin-top:24px;font-size:.8rem}
.listing-preview .directory-body{padding:24px}.listing-preview h3{font-size:1.6rem}
.listing-preview .preview-date{font-size:.85rem;font-weight:600;color:#785c39;margin:0 0 12px}
.listing-preview .preview-location{font-size:.85rem;margin-top:10px}
.listing-preview .preview-summary{font-size:.9rem;margin-top:14px}
.listing-preview .text-link{margin-top:18px}
.listing-preview.no-photo{border-top:3px solid #c4b38e}
.directory-grid .listing-preview{border:1px solid var(--line);border-radius:8px}
.directory-grid .listing-preview.no-photo{border-top:3px solid #c4b38e}
.collection-notes{margin-top:32px;max-width:850px;font-size:.88rem}
.collection-notes>summary{padding-block:12px;border-top:1px solid var(--line)}
.collection-notes .prose{margin-top:20px}.collection-notes h2{font-size:1.6rem}
.listing-detail{max-width:880px}.listing-detail .directory-body{padding:28px}
.footer-top{grid-template-columns:1.6fr 1fr 1fr 1fr;gap:42px}
.footer-top>div:first-child>p{max-width:260px}.footer-top a{min-height:36px;display:inline-flex;align-items:center}
.footer-top .brand{display:flex}.footer-top .text-link{font-size:.8rem}
.footer-bottom nav{display:flex;flex-wrap:wrap;gap:12px 22px}.footer-bottom nav a{min-height:36px;display:inline-flex;align-items:center}
@media(max-width:900px){
 .on-site{gap:35px}.duration-cards{gap:15px}.duration-cards>a{padding:22px}
 .footer-top{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.footer-top>div:first-child{grid-column:1/-1}
 .business-home .section-head{align-items:flex-start}.home-intents a{padding-inline:12px;gap:10px}
}
@media(max-width:700px){
 .section{padding-block:44px}.section.compact{padding-block:26px 40px}.page-intro{padding-block:34px 24px}
 .home-hero{height:auto;min-height:490px}.home-hero .hero-content{padding:40px 6% 76px}.home-hero h1{font-size:3.1rem}
 .home-hero .hero-kicker{font-size:.64rem;letter-spacing:.15em}.home-hero p{font-size:.93rem}
 .home-hero .hero-location{right:6%;left:6%;bottom:20px}.home-hero .search-form input{font-size:.84rem}
 .home-hero .search-form button{padding:14px 10px;font-size:.75rem}.home-hero .search-form button span{display:none}
 .home-intents{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 6%}
 .home-intents a{min-height:65px;border-bottom:1px solid var(--line);border-inline:0;padding:10px 5px;gap:8px}
 .home-intents a:first-child{border-inline:0}.home-intents a:nth-child(odd){margin-right:16px}.home-intents strong{font-size:.84rem}
 .business-entry figure>picture{height:200px}.business-entry>div{padding:20px}.business-entry h3{font-size:1.8rem}
 .business-home .section-head p{font-size:.86rem}.business-entry-grid{gap:24px}.business-home .section-head{gap:15px}
 .home-discoveries .card-image{height:215px}.discovery-paths{gap:2px 16px}
 .duration-cards,.on-site{grid-template-columns:1fr}.duration-cards>a{display:grid;grid-template-columns:auto 1fr auto;gap:17px;align-items:center;padding:22px 18px}
 .duration-number{margin:0;font-size:.9rem;padding:7px 11px}.duration-cards h3{font-size:1.3rem}.duration-cards p{font-size:.8rem;margin-top:7px}
 .duration-cards a>span:last-child{margin:0;align-self:center}.on-site{gap:30px}
 .business-filters{grid-template-columns:1fr;gap:12px}.business-filters button{justify-self:start;min-height:44px;padding:9px 15px}
 .business-directory{padding-top:24px}.directory-intro h1{font-size:2.3rem}.directory-intro p{font-size:.93rem}
 .stay-detail-hero .listing-photo>.responsive-picture{min-height:0;aspect-ratio:3/2}
 .stay-detail-layout{gap:28px}.stay-detail-layout .stay-booking{order:-1}
 .footer-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.footer-bottom{gap:15px}
 .listing-preview .directory-body{padding:20px}.listing-detail .directory-body{padding:22px}
}
@media(max-width:380px){.brand-word{font-size:1.05rem}.brand-mark{width:28px}.brand{gap:8px}.brand-word small{display:none}.menu-toggle{font-size:.8rem;padding-inline:9px}.home-hero h1{font-size:2.8rem}.duration-cards>a{gap:12px}.duration-cards p{font-size:.77rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.stay-card:hover{transform:none}}

.search-form:focus-within{outline:3px solid #aa693f;outline-offset:4px}
@media(min-width:1101px){.header-actions .map-link{display:inline-flex;align-items:center}}

/* Documentary guides and local-only budget tool */
.editorial-meta{color:var(--muted,#626c63);font-size:.9rem;margin:0 0 1.5rem}.editorial-sections{max-width:1120px}.article-contents{border:1px solid #d4ddd3;border-radius:16px;background:#f5f6ed;padding:1.5rem;margin-bottom:2rem}.article-contents ol{display:grid;grid-template-columns:1fr 1fr;gap:.6rem 2rem;margin:1rem 0 0;padding-left:1.5rem}.article-contents a{text-decoration:underline;text-underline-offset:3px}.editorial-sections .prose{max-width:76ch}.editorial-sections section[id]{scroll-margin-top:8rem}.section-sources{font-size:.86rem;color:#536356;border-left:3px solid #d4ddd3;padding:.3rem 0 .3rem 1rem}.section-sources a{text-decoration:underline}.editorial-sources{border-top:1px solid #d4ddd3;margin-top:3rem;padding-top:1.5rem}.comparison-wrap{max-width:100%;overflow-x:auto;margin:1.5rem 0 2.5rem;border:1px solid #d4ddd3;border-radius:12px}.comparison{border-collapse:collapse;width:100%;min-width:580px;font-size:.96rem;line-height:1.65}.comparison caption{text-align:left;font-weight:650;padding:1rem;background:#e8eedf}.comparison th,.comparison td{padding:1rem;text-align:left;vertical-align:top;border-bottom:1px solid #d4ddd3}.comparison thead{background:#f5f6ed}.comparison tbody th{width:26%;font-weight:600}.budget-tool{padding:1.5rem;background:#f5f6ed;border:1px solid #d4ddd3;border-radius:16px;margin:2rem 0}.budget-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.5rem 0}.budget-inputs label{display:grid;gap:.4rem;font-size:.95rem}.budget-inputs input{width:100%;min-height:46px;border:1px solid #81917f;border-radius:8px;background:white;padding:.7rem;color:#223c2b;font:inherit}.budget-tool output{display:block;font-weight:650;line-height:1.8;margin-top:1.5rem}.budget-tool .button{margin:0 .5rem .5rem 0}.home-guides{border-top:1px solid #e2e7dc}.home-guides .card-text{background:#f5f6ed}.home-guides .card-body{padding:1.8rem}
@media(max-width:650px){.article-contents ol,.budget-inputs{grid-template-columns:1fr}.budget-tool{padding:1rem}.comparison th,.comparison td{padding:.8rem}.editorial-sections section[id]{scroll-margin-top:10rem}}
