/* Semantic sentence case in HTML, established display style in CSS. */
.hero h1,.blog-intro h1,.places-directory .page-head h1,.places-directory .detail-head h1{text-transform:uppercase}
dialog.modal:not([open]){display:none}
.directory-index{margin:42px 0 28px;border:1px solid #dac9b9;border-radius:18px;background:#fff8f0;padding:20px 24px}
.directory-index>summary{cursor:pointer;font-size:16px;font-weight:800;line-height:1.5;list-style-position:inside}
.directory-index[open]>summary{margin-bottom:24px}
.directory-index section+section{margin-top:30px;padding-top:26px;border-top:1px solid #e0cebf}
.directory-index h2{font-size:32px;line-height:1.2;margin-bottom:16px}
.directory-index h3{font-size:25px;line-height:1.3;margin-bottom:9px}
.directory-index article+article{margin-top:24px}
.directory-index p{font-size:14px;line-height:1.7;margin-bottom:10px}
.directory-index .directory-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}
.places-directory .directory-links a,.places-directory .coffee-contact{display:inline-flex;align-items:center;min-height:44px;padding:10px 15px;border:1px solid #234b42;border-radius:12px;font-size:13px;font-weight:800}
.coffee-section{padding:26px 24px;margin:28px 0;border:1px solid #dac9b9;border-radius:18px;background:#fff8f0;scroll-margin-top:85px}
.places-directory .coffee-section h2{font-size:32px;line-height:1.25;margin-bottom:14px}
.coffee-section p{font-size:14px;max-width:680px}
.places-directory .coffee-contact{background:#234b42;color:#fff8f0}
.coffee-note a{text-decoration:underline;text-underline-offset:4px}
[id^="directory-"]{scroll-margin-top:85px}
.story-next-step{margin-top:32px;padding:25px;border:1px solid var(--line,#dac9b9);border-radius:18px;background:var(--paper,#fff8f0)}
.story-content .story-next-step h2{font-size:30px;line-height:1.25;margin:0 0 14px}
.story-content .story-next-step p{font-size:16px;line-height:1.7;margin:0 0 18px}
.story-next-actions{display:flex;flex-wrap:wrap;gap:12px}
.story-next-actions .button{white-space:normal;text-align:center}
@media(max-width:600px){.story-next-step{padding:20px}.story-next-actions{flex-direction:column;align-items:stretch}.story-content .story-next-step h2{font-size:27px}}
@media(max-width:600px){.directory-index,.coffee-section{padding:18px}.directory-index>summary{font-size:14px}.directory-index h2,.places-directory .coffee-section h2{font-size:28px}.directory-links{flex-direction:column;align-items:flex-start}}

/* Approved homepage structure: help first, stories next, support afterwards. */
.site-nav a.nav-support,.mobile-nav a.nav-support{background:#234b42;color:#fff8f0;border:1px solid #234b42;border-radius:10px;padding:11px 15px;min-height:42px;display:inline-flex;align-items:center;justify-content:center}
.site-nav a.nav-support:hover{background:#376458;color:white}
.hero .hero-buttons{display:flex;flex-wrap:wrap;gap:12px}
.hero .hero-buttons .button{padding:14px 18px;min-height:54px;font-size:13px;justify-content:center;white-space:normal;text-align:center}
.hero-story-link{flex-basis:100%;width:fit-content;padding:9px 0;font-size:14px;font-weight:800;text-decoration:underline;text-underline-offset:5px}
.help-compact .help-head{margin-bottom:30px}
.help-compact h2,.cooperation h2,.help-compact h3{text-transform:uppercase}
.help-compact .service{height:auto;min-height:0;padding:25px 22px;scroll-margin-top:95px}
.help-compact .service h3{font-size:clamp(28px,3vw,40px);line-height:1.16;min-height:2.32em;margin:20px 0 18px}
.help-compact .service p{font-size:14px;line-height:1.6}
.help-compact .service-summary{margin-bottom:22px}
.help-compact .service-footer{margin-top:auto;display:flex;flex-direction:column;align-items:stretch;border-top:0;padding-top:10px;gap:12px}
.help-compact .service-footer>strong{font-size:14px}
.help-compact .service-footer .button{justify-content:center;text-align:center;min-height:49px;font-size:13px;white-space:normal}
.consultation-rates{display:grid;gap:7px;padding:11px 0;border-block:1px solid #d9beac;margin-bottom:12px}
.consultation-rates>span{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px}
.help-compact .service-scope{font-size:12px;line-height:1.5;margin-bottom:10px}
.service-details{border-top:1px solid #dac9b9;margin-top:20px}
.service-details summary{cursor:pointer;min-height:46px;padding:14px 0;font-size:13px;font-weight:800;list-style-position:inside}
.service-details>div{padding:3px 0 0}
.help-compact .service-details p{font-size:13px;line-height:1.6}
.other-methods{border-block:1px solid #75948b;margin:15px 0 18px}
.other-methods>summary{cursor:pointer;min-height:55px;padding:18px 0;font-size:17px;font-weight:800;list-style-position:inside}
.other-methods-list{padding-bottom:10px}
.other-methods .method{width:100%}
.support .support-purpose{font-weight:750;line-height:1.5}
.cooperation{padding:85px 0;background:#ecd8cb;border-bottom:1px solid #d6bcaa}
.cooperation-layout{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}
.cooperation h2{font-size:clamp(38px,4.4vw,62px);line-height:1.2;margin-top:20px}
.cooperation p{font-size:17px;line-height:1.6}
.advertising-main{padding-top:65px;padding-bottom:80px;max-width:1080px}
.advertising-main>section+section{margin-top:65px;padding-top:45px;border-top:1px solid #dac9b9}
.advertising-main h1{font-size:clamp(52px,7.5vw,96px);text-transform:uppercase;line-height:1.16;margin:24px 0 28px}
.advertising-main h1 span{color:#bc6d56}
.advertising-main h2{font-size:clamp(32px,4vw,48px);margin-bottom:23px}
.advertising-main p{max-width:800px;font-size:17px;line-height:1.65}
.advertising-main .advertising-lead{font-size:22px}
.advertising-intro>.button,.ad-process>.button{margin-top:10px}
.ad-metrics{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:30px 0 18px}
.ad-metrics>div{padding:26px;background:#f0ded0;border:1px solid #dcc5b5;border-radius:16px}
.ad-metrics strong{display:block;font-family:var(--display);font-size:clamp(32px,4vw,52px);font-weight:500;margin-bottom:8px}
.ad-metrics span{font-size:14px;line-height:1.5;display:block}
.advertising-main .ad-note{font-size:13px;color:#647568}
.ad-format-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ad-format-grid article{border:1px solid #dcc5b5;border-radius:16px;padding:24px;background:#fff7ef}
.ad-format-grid h3{font-size:27px;line-height:1.3;margin-bottom:15px}
.ad-format-grid p{font-size:14px;line-height:1.65;margin:0}
@media(min-width:821px) and (max-width:1150px){.site-nav{gap:8px!important}.site-nav a{font-size:12px!important}.site-nav a.nav-support{padding:9px 11px}.header-line{gap:12px}}
@media(max-width:820px){.hero .hero-buttons{display:grid;grid-template-columns:1fr;width:100%}.hero .hero-buttons .button{width:100%}.hero-story-link{justify-self:start;min-height:44px}.cooperation-layout{grid-template-columns:1fr;gap:25px}.cooperation{padding:60px 0}.cooperation p{font-size:16px}.help-compact .service h3{min-height:0}.ad-format-grid{grid-template-columns:1fr}.advertising-main{padding-top:40px}.advertising-main p{font-size:16px}.advertising-main .advertising-lead{font-size:19px}.advertising-main>section+section{margin-top:40px;padding-top:30px}}
@media(max-width:480px){.ad-metrics{grid-template-columns:1fr}.advertising-main h1{font-size:clamp(42px,11vw,56px)}.advertising-main .button{width:100%;justify-content:center;text-align:center;white-space:normal}.cooperation .button{width:100%;justify-content:center;text-align:center}}
