/* Homepage only. Shared directory, event detail and checkout styles stay unchanged. */
body.home47-page {--bg:#faf9f5;--card:#fff;--ink:#22382d;--muted:#61715f;--green:#2f5d46;--green-d:#234836;--line:#d9dfd1;background:#faf9f5;color:#22382d}
body.home47-page .bar {max-width:1160px;min-height:88px}
body.home47-page .brand img {width:216px;height:auto;display:block}
body.home47-page header.site nav {display:flex;align-items:center;gap:24px;width:auto;overflow:visible}
body.home47-page header.site nav a {margin:0;font-size:.9rem}
.home47 .wrap {max-width:1160px;padding-left:24px;padding-right:24px}
.home47 section {margin-top:0;margin-bottom:0}
.home47 h1,.home47 h2,.home47 h3 {color:#173f2d}
.home47 .home47-kicker {margin:0 0 12px;font:700 .72rem/1.45 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#58745f}
.home47 .home47-intro {display:grid;grid-template-columns:1.5fr 1fr;gap:48px;align-items:center;padding-top:34px;padding-bottom:34px}
.home47 .home47-intro h1 {font:700 clamp(2.5rem,4.6vw,3.6rem)/1.02 var(--serif);letter-spacing:-.035em;margin:0 0 16px}
.home47 .home47-intro h1 em {font-style:normal;color:#92701d}
.home47 .home47-deck {font-size:1.04rem;margin:0 0 22px;color:#526156}
.home47 .home47-shortcuts {display:flex;flex-wrap:wrap;gap:8px;width:100%;overflow:visible;white-space:normal}
.home47 .home47-shortcuts a {display:inline-flex;align-items:center;min-height:44px;margin:0;padding:8px 13px;border:1px solid #d5dfd1;border-radius:6px;background:#fff;color:#244e37;font-size:.85rem;font-weight:650;text-decoration:none;white-space:normal}
.home47 .home47-shortcuts a:nth-child(2) {background:#234d35;border-color:#234d35;color:white}
.home47 .home47-shortcuts a:hover {background:#edf1e8;color:#193f2c}
.home47 .home47-landscape {height:218px;position:relative;border-radius:6px;overflow:hidden;background:#315043}
.home47 .home47-landscape:after {content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(16,44,31,.75))}
.home47 .home47-landscape img {width:100%;height:100%;object-fit:cover;display:block}
.home47 .home47-landscape span {position:absolute;z-index:1;bottom:20px;left:22px;right:18px;font:700 1.45rem/1.18 var(--serif);color:#fff}
.home47 .home47-main {display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:46px;padding-top:18px;padding-bottom:42px}
.home47 .home47-section-head {display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:3px solid #244b35;padding-top:22px}
.home47 .home47-section-head .home47-kicker {margin-bottom:5px}
.home47 .home47-section-head h2 {font-size:1.8rem;margin:0}
.home47 .home47-section-head>a {font-size:.85rem;white-space:nowrap;font-weight:650;text-decoration:none}
.home47 .home47-calendar-note {font-size:.79rem;color:#677466;margin:10px 0 18px}
.home47 .home47-events {list-style:none;margin:0;padding:0;border-top:1px solid #dce2d6}
.home47 .home47-events>li {margin:0;padding:0;border-bottom:1px solid #dce2d6}
.home47 .home47-event {display:grid;grid-template-columns:58px minmax(0,1fr) 18px;gap:18px;padding:20px 2px;text-decoration:none;color:#253a2d;align-items:start}
.home47 .home47-event:hover {background:#f0f3eb}
.home47 .home47-date {display:flex;flex-direction:column;align-items:center;border:1px solid #e1dfcf;background:#f3eddb;border-radius:5px;padding:8px 3px;min-height:84px;font-size:.66rem;line-height:1.2;text-transform:uppercase;color:#6e602b}
.home47 .home47-date strong {font:700 1.8rem/1.2 var(--serif);color:#214b35}
.home47 .home47-date span:last-child {margin-top:2px}
.home47 .home47-event-copy {min-width:0}
.home47 .home47-event-copy h3 {font-size:1.32rem;line-height:1.23;margin:2px 0 7px;text-decoration:none}
.home47 .home47-when {font-size:.72rem;letter-spacing:.035em;font-weight:650;text-transform:uppercase;color:#52745c;margin:0 0 5px}
.home47 .home47-place {font-size:.84rem;line-height:1.5;color:#59675b;margin:0 0 6px}
.home47 .home47-price {font-size:.81rem;line-height:1.45;margin:0;color:#334d39}
.home47 .home47-price span {color:#71806e;white-space:nowrap}
.home47 .home47-arrow {font-size:1.25rem;color:#768a70;padding-top:28px}
.home47 .home47-more {display:flex;justify-content:space-between;padding:16px 2px;min-height:48px;font-size:.88rem;font-weight:700;text-decoration:none}
.home47 .home47-sidebar {min-width:0}
.home47 .home47-guide-panel {background:#eaf0e5;border:1px solid #dfe7d8;border-radius:7px;padding:26px 24px}
.home47 .home47-guide-panel h2 {font-size:1.85rem;margin:0 0 9px}
.home47 .home47-guide-panel>p:not(.home47-kicker) {font-size:.88rem;color:#58705a;margin:0 0 16px}
.home47 .home47-guide {display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 0;border-top:1px solid #d0dcc9;text-decoration:none;color:#27482f}
.home47 .home47-guide strong {display:block;font:700 1.06rem/1.3 var(--serif)}
.home47 .home47-guide small {display:block;font-size:.76rem;margin-top:5px;color:#61725c}
.home47 .home47-guide:hover strong {text-decoration:underline}
.home47 .home47-ahead {border-left:3px solid #d7b655;margin-top:26px;padding:3px 0 3px 20px}
.home47 .home47-ahead .home47-kicker {font-size:.66rem;margin-bottom:10px}
.home47 .home47-ahead>a {font:700 1.07rem/1.35 var(--serif);text-decoration:none}
.home47 .home47-ahead>p:not(.home47-kicker) {font-size:.79rem;margin:7px 0 0}
.home47 .home47-share {margin-top:24px;padding:20px 0;border-top:1px solid #dce2d6;font-size:.85rem}
.home47 .home47-share p {margin:5px 0 9px;color:#60715f}
.home47 .home47-share a {display:inline-block;min-height:32px;font-weight:650}
.home47 .home47-find {display:grid;grid-template-columns:1fr 1.35fr;gap:40px;align-items:center;padding-top:30px;padding-bottom:30px;border-top:1px solid #d9dfd1;border-bottom:1px solid #d9dfd1;background:#f1f1e8}
.home47 .home47-find h2 {font-size:1.7rem;margin:0 0 8px}
.home47 .home47-find p:not(.home47-kicker) {font-size:.87rem;color:#64715f;margin:0}
.home47 .home47-search {display:flex;gap:8px;margin:0}
.home47 .home47-search input {min-width:0;flex:1;border-radius:5px;background:#fff;color:#27382b;border-color:#cad4c3;font-size:.9rem}
.home47 .home47-search button {border-radius:5px;background:#244b35;border-color:#244b35;color:white;padding:10px 18px;font-size:.88rem}
.home47 .home47-directory-links {display:flex;flex-wrap:wrap;gap:4px 20px;margin-top:8px}
.home47 .home47-directory-links a {min-height:32px;display:inline-flex;align-items:center;font-size:.77rem;color:#436046}
.home47 .home47-business {display:grid;grid-template-columns:1.5fr 1fr;gap:60px;padding-top:40px;padding-bottom:32px}
.home47 .home47-business h2 {font-size:1.6rem;margin:0 0 9px}
.home47 .home47-business p:not(.home47-kicker) {font-size:.86rem;color:#63715f;margin:0 0 15px}
.home47 .home47-business-actions {display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px;font-size:.82rem}
.home47 .home47-business .btn {font-size:.82rem;padding:9px 16px;border-radius:5px;min-height:44px}
.home47 .home47-promotion {border-left:1px solid #d9dfd1;padding-left:28px;font-size:.9rem}
.home47 .home47-promotion strong {display:block;margin-bottom:8px}
.home47 .home47-promotion>a {display:block;min-height:34px;font-size:.83rem}
.home47 .home47-supporters {padding-top:20px;padding-bottom:28px;border-top:1px solid #e0e5d9}
.home47 .home47-supporters .home47-kicker {font-size:.65rem;margin:0 0 8px}
.home47 .home47-supporters p:not(.home47-kicker) {display:flex;flex-wrap:wrap;gap:6px 12px;margin:0 0 10px;font-size:.76rem}
.home47 .home47-supporters p>a {font-weight:650}
.home47 .home47-supporters span {color:#697864;margin-right:12px}
.home47 .home47-supporters>a {font-size:.75rem}
.home47 a:focus-visible,.home47 button:focus-visible,.home47 input:focus-visible {outline:3px solid #ba891d;outline-offset:4px}
@media(max-width:900px) {
 body.home47-page header.site nav {gap:15px}
 .home47 .home47-intro {grid-template-columns:1.5fr 1fr;gap:24px}
 .home47 .home47-main {grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:25px}
 .home47 .home47-section-head {align-items:start}
 .home47 .home47-section-head h2 {font-size:1.5rem}
 .home47 .home47-section-head>a {font-size:.76rem;padding-top:4px}
 .home47 .home47-guide-panel {padding:22px 18px}
 .home47 .home47-find {gap:24px;grid-template-columns:1fr 1.2fr}
}
@media(max-width:680px) {
 body.home47-page .bar {min-height:0;padding:12px 18px;gap:12px}
 body.home47-page .brand img {width:185px}
 body.home47-page header.site {position:relative}
 body.home47-page header.site nav {width:100%;justify-content:space-between;gap:8px;overflow:visible;white-space:normal}
 body.home47-page header.site nav a {font-size:.77rem;min-height:36px;display:inline-flex;align-items:center;white-space:normal}
 body.home47-page header.site nav .nav-list {padding:7px 9px;font-size:.72rem}
 .home47 .wrap {padding-left:20px;padding-right:20px}
 .home47 .home47-intro {display:block;padding-top:26px;padding-bottom:24px}
 .home47 .home47-intro h1 {font-size:2.65rem;line-height:1.04;margin-bottom:14px}
 .home47 .home47-kicker {font-size:.65rem;letter-spacing:.08em}
 .home47 .home47-deck {font-size:.92rem;max-width:320px;margin-bottom:18px}
 .home47 .home47-landscape {display:none}
 .home47 .home47-shortcuts {display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .home47 .home47-shortcuts a {justify-content:center;font-size:.79rem;padding:8px 10px;min-height:44px}
 .home47 .home47-main {display:block;padding-top:8px;padding-bottom:28px}
 .home47 .home47-section-head {padding-top:19px;align-items:center;gap:8px}
 .home47 .home47-section-head h2 {font-size:1.5rem}
 .home47 .home47-section-head>a {font-size:.74rem}
 .home47 .home47-event {grid-template-columns:49px minmax(0,1fr) 13px;gap:13px;padding:18px 0}
 .home47 .home47-date {min-height:76px}
 .home47 .home47-date strong {font-size:1.6rem}
 .home47 .home47-event-copy h3 {font-size:1.15rem}
 .home47 .home47-when {font-size:.65rem}
 .home47 .home47-place {font-size:.78rem}
 .home47 .home47-price {font-size:.75rem}
 .home47 .home47-price span {white-space:normal}
 .home47 .home47-sidebar {margin-top:23px}
 .home47 .home47-guide-panel {padding:24px}
 .home47 .home47-share {padding-bottom:0}
 .home47 .home47-find {display:block;padding-top:26px;padding-bottom:24px}
 .home47 .home47-find>div:first-child {margin-bottom:20px}
 .home47 .home47-find h2 {font-size:1.55rem}
 .home47 .home47-search input {font-size:16px;padding:10px}
 .home47 .home47-directory-links {gap:2px 18px}
 .home47 .home47-business {display:block;padding-top:30px;padding-bottom:26px}
 .home47 .home47-promotion {border-left:0;border-top:1px solid #d9dfd1;padding:23px 0 0;margin-top:26px}
 .home47 .home47-supporters p:not(.home47-kicker) {display:grid;grid-template-columns:1fr;gap:3px}
 .home47 .home47-supporters p>a:not(:first-child) {margin-top:9px}
}
@media(prefers-reduced-motion:reduce) {.home47 *{scroll-behavior:auto;transition:none}}

.home47 #local-guides { scroll-margin-top: 110px; }
