:root{--forest:#173d35;--forest-2:#0f312a;--green:#27644f;--sage:#789e85;--lime:#d9e3cf;--cream:#f8f7ef;--paper:#fffefa;--gold:#ebae63;--ink:#1b302a;--muted:#566b61;--line:#dfE5dc;--radius:18px;--shadow:0 13px 28px rgba(21,50,42,.06)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font:16px/1.6 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #d68b44;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.11;letter-spacing:-.035em}h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:500}h2{font-size:clamp(2.15rem,3.7vw,3.4rem)}h1{font-size:clamp(3.25rem,6vw,6rem)}h1 em,h2 em{font-weight:400;color:var(--green)}.shell{max-width:1220px;padding-left:34px;padding-right:34px;margin:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100px;left:12px;background:white;z-index:100;padding:10px 20px}.skip-link:focus{top:10px}.eyebrow{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:#557767}.dot{padding:0 3px;color:#b99563}.stage-banner{background:#d8e8da;color:#1a4438;min-height:29px;padding:5px 16px;text-align:center;font-size:.66rem;font-weight:800;letter-spacing:.13em}.stage-banner-secondary{font-weight:500;letter-spacing:.035em}.stage-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#b16b30;margin-right:8px;vertical-align:1px}.site-header{background:var(--paper);border-bottom:1px solid #ebeee8;position:relative;z-index:20}.header-inner{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:30px}.logo{display:flex;gap:11px;align-items:center;text-decoration:none;white-space:nowrap}.brand-mark{display:grid;place-items:center;position:relative;width:46px;height:46px;border-radius:12px;background:var(--forest);color:#f8ead4;font-family:Georgia,serif;font-size:1.7rem;font-weight:bold;letter-spacing:-.06em}.brand-swoosh{position:absolute;right:3px;bottom:-6px;font-size:1.4rem;color:var(--gold)}.brand-words{display:flex;flex-direction:column;line-height:1.1}.brand-words strong{font-family:Georgia,serif;letter-spacing:-.06em;font-size:1.65rem;color:var(--forest)}.brand-dot,.footer-brand span{color:#d99043}.brand-words small{color:#63796c;font-size:.5rem;letter-spacing:.19em;margin-top:6px;font-weight:800}.site-nav{display:flex;align-items:center;gap:29px;margin-left:auto}.site-nav a{text-decoration:none;font-size:.84rem;color:#3d5048;font-weight:650;white-space:nowrap;position:relative}.site-nav a:hover,.site-nav a.active{color:#af6a38}.site-nav a.active:after{content:"";position:absolute;bottom:-9px;height:2px;background:var(--gold);left:0;right:0}.header-search{height:38px;width:38px;display:grid;place-items:center;text-decoration:none;border:1px solid #d7dfd5;border-radius:50%;font-size:1.6rem}.menu-toggle{display:none;border:0;background:transparent;font-weight:bold;font:inherit}.hero{color:#f7f2e6;background:var(--forest);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;width:580px;height:580px;border:1px solid #ffffff13;border-radius:50%;left:-300px;bottom:-440px}.hero-grid{display:grid;grid-template-columns:1fr .96fr;gap:64px;min-height:540px;align-items:center;padding-top:63px;padding-bottom:67px}.hero-kicker{color:#eec18c;font-size:.72rem;letter-spacing:.12em;font-weight:800;text-transform:uppercase;margin-bottom:22px;display:flex;align-items:center;gap:12px}.kicker-line{width:26px;height:1px;background:var(--gold)}.hero h1{max-width:625px;margin:0 0 24px;line-height:1.065}.hero h1 em{color:var(--gold)}.hero-description{font-size:1.03rem;max-width:470px;color:#d2ded4;line-height:1.8;margin:0 0 30px}.hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:17px;min-height:47px;padding:12px 19px;border:1px solid transparent;text-decoration:none;font-weight:750;font-size:.8rem;border-radius:7px;transition:transform .15s,background .15s;cursor:pointer}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--gold);color:#2f2e22}.btn-outline{border-color:#759587;color:#fff}.btn-outline:hover{background:#ffffff15}.btn-cream{background:#f5e8cb;color:var(--forest)}.btn-dark{background:var(--forest);color:white}.hero-footnote{color:#91b6a7;font-size:.73rem;margin:31px 0 0}.hero-scene{height:435px;border:1px solid #71918160;border-radius:20px;position:relative;overflow:hidden;background:linear-gradient(#265f50,#3c7d65);box-shadow:0 20px 35px #092e264b}.hero-scene:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 80% 13%,#ffffff1a,transparent 65%)}.hero-scene svg{position:absolute;left:0;bottom:14px;width:100%;height:auto}.scene-caption{position:absolute;z-index:1;top:21px;left:24px;display:flex;align-items:center;gap:12px;color:#fff}.scene-caption-icon{display:grid;place-items:center;border:1px solid #cce3c385;width:39px;height:39px;border-radius:50%;font-size:1.55rem;color:var(--gold)}.scene-caption span:last-child{display:flex;flex-direction:column}.scene-caption small{font-size:.52rem;font-weight:700;letter-spacing:.17em;color:#c7dfd1}.scene-caption strong{font-family:Georgia,serif;font-size:1.2rem}.scene-bottom{position:absolute;bottom:15px;left:23px;right:23px;display:flex;justify-content:space-between;color:#dbe9de;font-size:.56rem;letter-spacing:.11em;font-weight:700}.quick-links{background:#fffefa;border-bottom:1px solid #e3e9e1}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr)}.quick-grid a{display:flex;align-items:center;gap:15px;padding:28px 12px 27px 0;text-decoration:none;position:relative}.quick-grid a+a{border-left:1px solid var(--line);padding-left:24px}.quick-icon{display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:50%;background:#e8eee6;color:var(--forest);font-size:1.45rem}.quick-grid strong,.quick-grid small{display:block}.quick-grid strong{font-size:.82rem}.quick-grid small{color:var(--muted);font-size:.72rem;margin-top:1px}.quick-arrow{margin-left:auto;color:#849887}.section-block{padding-top:80px;padding-bottom:87px}.section-head{display:flex;gap:20px;justify-content:space-between;align-items:end;margin-bottom:30px}.section-kicker{color:#a66b37;margin-bottom:10px}.section-head h2{margin-bottom:11px}.section-head p:not(.eyebrow){color:var(--muted);margin-bottom:0}.text-link{text-decoration:none;font-weight:800;color:var(--forest);font-size:.8rem;white-space:nowrap;padding-bottom:6px;border-bottom:1px solid #829d87}.text-link span{margin-left:10px;color:#ad7d42}.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.place-card{display:flex;flex-direction:column;background:var(--paper);text-decoration:none;border:1px solid #e4e9e1;border-radius:12px;overflow:hidden;box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s}.place-card:hover{transform:translateY(-4px);box-shadow:0 18px 34px rgba(19,61,53,.1)}.card-art{height:170px;overflow:hidden;position:relative;display:block;background:linear-gradient(150deg,#d8ddc5,#b4c8b3)}.art-place{background:linear-gradient(150deg,#e7d2af,#acbfa2)}.art-guide{background:linear-gradient(150deg,#c6dcd1,#a1b8a1)}.art-sun{position:absolute;right:19%;top:19%;width:56px;height:56px;border-radius:50%;background:#f6d391}.art-hill{position:absolute;left:-10%;width:140%;border-radius:45% 50% 0 0}.art-hill-one{height:110px;bottom:5px;background:#6e9e83;transform:rotate(-7deg)}.art-hill-two{height:83px;bottom:-18px;background:#306d56;transform:rotate(4deg)}.art-line{height:90px;position:absolute;bottom:-20px;left:46%;width:50px;border-radius:50%;border:12px solid #bddace;transform:rotate(30deg)}.art-place .art-hill-one{background:#7b9b7b}.art-place .art-hill-two{background:#355f4f}.art-guide .art-hill-one{background:#84a6a1}.card-body{padding:22px 24px 23px;display:flex;flex:1;flex-direction:column}.card-body .eyebrow{line-height:1.4;font-size:.61rem;min-height:24px}.card-body strong{font-family:Georgia,serif;font-size:1.55rem;font-weight:500;letter-spacing:-.03em;line-height:1.2;margin:11px 0 12px}.card-desc{font-size:.83rem;color:var(--muted);line-height:1.75;flex:1}.card-link{display:flex;justify-content:space-between;margin-top:23px;padding-top:15px;border-top:1px solid #e7eae2;color:var(--forest);font-size:.75rem;font-weight:800}.card-link span{color:#be884b}.feature-band{background:#234f41;color:#fff7e9}.feature-layout{min-height:380px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding-top:46px;padding-bottom:46px}.feature-illustration{height:270px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;border:1px solid #ffffff26;border-radius:13px;background:repeating-radial-gradient(circle at center,#ffffff00 0 28px,#ffffff10 29px 30px);overflow:hidden}.feature-ring{border-radius:50%;width:168px;height:168px;display:flex;align-items:center;flex-direction:column;justify-content:center;border:1px solid #e8c18870;background:#174333a6;box-shadow:0 0 0 28px #c4dfbc0c}.feature-symbol{font-family:Georgia,serif;font-size:6rem;line-height:.9;color:#e8bb7f}.feature-small{color:#e8bb7f;font-size:.67rem;letter-spacing:.22em;font-weight:bold}.feature-illustration>p{font-family:Georgia,serif;text-align:center;line-height:1.3;color:#ecf1e4;font-size:1rem;margin:15px 0 0}.light-kicker{color:#dfbb81}.feature-copy h2{font-size:clamp(2.8rem,4.3vw,4.1rem);margin:8px 0 15px}.feature-copy h2 em{color:var(--gold)}.feature-copy>p:not(.eyebrow){color:#d1e0d4;line-height:1.85;max-width:470px;margin-bottom:25px}.research-note{margin-bottom:90px;display:flex;gap:70px;justify-content:space-between;align-items:center;padding-top:38px;padding-bottom:38px;background:#e8ece1;border:1px solid #d7e0d3;border-radius:14px}.research-note>div{max-width:680px}.research-note h2{font-size:2.4rem;margin:6px 0 12px}.research-note p:last-child{color:#5a7164;font-size:.88rem;margin:0}.site-footer{background:var(--forest-2);color:#deeadf}.footer-top{padding-top:65px;padding-bottom:65px;display:flex;justify-content:space-between;gap:70px}.footer-brand{font-family:Georgia,serif;color:#fff9e9;text-decoration:none;letter-spacing:-.05em;font-size:2rem}.footer-top p{font-size:.85rem;color:#a9c6b7;margin-top:10px}.footer-nav{display:flex;gap:110px}.footer-nav div{display:flex;flex-direction:column;gap:8px}.footer-nav strong{font-size:.85rem;color:#fae8c5;margin-bottom:7px}.footer-nav a{color:#b5cbbf;font-size:.8rem;text-decoration:none}.footer-nav a:hover{text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;gap:20px;color:#99b9ab;border-top:1px solid #ffffff26;padding-top:24px;padding-bottom:30px;font-size:.65rem;letter-spacing:.06em}.page-top{background:#e7eee4;padding:39px 0 65px}.breadcrumbs{font-size:.73rem;color:#61776a;margin-bottom:31px}.breadcrumbs a{color:#4f6657;text-decoration:none}.breadcrumbs span{margin:0 5px}.page-top h1{color:var(--forest);font-size:clamp(2.9rem,5.2vw,5rem);max-width:890px;margin:5px 0 18px}.page-top h1 em{color:#538166}.page-intro{max-width:765px;color:#526e5e;font-size:1.08rem;line-height:1.75;margin:0}.detail-top{padding-bottom:56px}.detail-top h1{font-size:clamp(3rem,4.7vw,4.7rem)}.listing-wrap{padding-top:63px;padding-bottom:96px}.listing-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px;gap:20px}.listing-heading h2{font-size:2rem;margin:0}.listing-heading span{font-size:.78rem;color:var(--muted)}.list-end{text-align:center;border-top:1px solid var(--line);padding-top:25px;margin-top:45px;color:var(--muted);font-size:.8rem}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:72px;padding-top:66px;padding-bottom:100px}.article-main h2{font-size:2.65rem;margin:38px 0 25px}.article-main p{font-size:1rem;line-height:1.95;color:#3f594a;max-width:720px}.draft-note{display:flex;align-items:start;gap:15px;padding:18px 20px;background:#e9efe6;border-left:3px solid #94ad89;color:#405c4c;font-size:.79rem;line-height:1.6}.draft-note strong{white-space:nowrap;color:#235542}.article-aside{display:flex;flex-direction:column;gap:22px}.aside-panel{background:#fffefa;border:1px solid #e4e8df;border-radius:10px;padding:26px}.aside-panel .eyebrow{color:#8e693e}.aside-panel p{color:var(--muted);font-size:.82rem;margin:15px 0}.aside-panel dl{margin:14px 0 0}.aside-panel dt{font-size:.65rem;text-transform:uppercase;color:#809387;letter-spacing:.1em;margin-top:17px;font-weight:750}.aside-panel dd{margin:3px 0 0;font-size:.9rem}.source-links{list-style:none;margin:15px 0 0;padding:0}.source-links li{padding:9px 0;border-bottom:1px solid #e9ede6}.source-links li:last-child{border-bottom:0}.source-links a{font-size:.82rem;line-height:1.5;text-decoration:none;color:#28644c;font-weight:700}.source-links a span{color:#c08b4f}.article-next{border-top:1px solid var(--line);margin-top:52px;padding-top:29px}.article-next h3{font:500 1.65rem Georgia,serif;margin:7px 0 18px}.mini-links{display:flex;gap:12px;flex-wrap:wrap}.mini-links a{display:inline-flex;padding:10px 15px;border-radius:6px;background:#e6eee5;color:#22523d;text-decoration:none;font-size:.79rem;font-weight:700;gap:10px}.landing-content{padding-top:64px;padding-bottom:103px}.honest-panel{display:flex;gap:30px;align-items:start;border:1px solid #dce5db;background:#fffefa;box-shadow:var(--shadow);padding:42px;max-width:960px;border-radius:14px}.honest-panel h2{font-size:2rem}.honest-panel p{color:var(--muted);line-height:1.85}.panel-icon{width:72px;height:72px;display:grid;place-items:center;background:#e8efe6;color:#456f56;font-size:2.5rem;border-radius:50%;flex:none}.resource-row{display:flex;flex-wrap:wrap;gap:11px;margin-top:24px}.resource-row a{display:inline-flex;border:1px solid #ccd9cd;background:#eaf1e8;padding:9px 13px;border-radius:6px;text-decoration:none;font-weight:700;color:#265d46;font-size:.76rem}.source-table-wrap{max-width:950px}.source-table-wrap h2{font-size:2.4rem}.source-table-wrap>p{color:var(--muted)}.source-row{padding:20px 5px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dce5db;text-decoration:none;gap:20px}.source-row strong,.source-row small{display:block}.source-row strong{color:#1f4837;font-size:.94rem}.source-row small{color:#607669;font-size:.8rem;margin-top:3px}.source-row>span:last-child{color:#a97641;font-size:1.15rem}.prose-page{max-width:920px;margin-left:auto;margin-right:auto}.prose-page h2{font-size:2.2rem;margin-top:30px}.prose-page p{color:#4c6756;line-height:1.9}.search-form{background:#fffefa;border:1px solid var(--line);border-radius:11px;padding:23px;max-width:830px}.search-form label{display:block;font-size:.8rem;font-weight:700;margin-bottom:10px}.search-form-row{display:flex;gap:10px}.search-form input{flex:1;min-width:0;border:1px solid #ccd8cd;border-radius:6px;padding:11px 15px;font:inherit;font-size:1rem}.search-head{font-size:1.9rem;margin:42px 0 25px}.search-hint{font-size:.85rem;margin-top:25px;color:var(--muted)}.search-hint a{color:#2f745b}
@media(max-width:1120px){.site-nav{gap:16px}.site-nav a{font-size:.75rem}.hero-grid{gap:30px}.hero-scene{height:375px}.feature-layout{gap:45px}}@media(max-width:900px){.shell{padding-left:24px;padding-right:24px}.menu-toggle{display:flex;align-items:center;gap:9px;cursor:pointer}.header-inner{min-height:78px}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:20px 24px 25px;background:var(--paper);box-shadow:0 12px 22px #143f3326;flex-direction:column;align-items:stretch;gap:0}.site-nav.is-open{display:flex}.site-nav a{padding:12px 5px;font-size:.95rem}.site-nav a.active:after{bottom:4px}.header-search{margin-left:auto}.hero-grid{grid-template-columns:1fr;gap:32px;padding-top:59px;padding-bottom:52px}.hero-copy{max-width:720px}.hero h1{max-width:680px}.hero-scene{height:330px;max-width:720px;width:100%}.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-grid a{gap:10px}.quick-grid a+a{padding-left:12px}.quick-icon{display:none}.feature-layout{gap:30px}.detail-layout{grid-template-columns:minmax(0,1fr) 275px;gap:32px}.footer-nav{gap:55px}}@media(max-width:630px){.shell{padding-left:19px;padding-right:19px}.stage-banner{font-size:.57rem}.stage-banner-secondary{display:none}.brand-mark{height:39px;width:39px}.brand-words strong{font-size:1.4rem}.brand-words small{font-size:.42rem}.header-inner{gap:13px}.hero h1{font-size:clamp(3.1rem,13vw,4.5rem)}.hero-grid{padding-top:44px;padding-bottom:44px}.hero-description{font-size:.94rem}.hero-actions{align-items:stretch}.hero-actions .btn{width:100%}.hero-scene{height:278px}.scene-bottom{font-size:.44rem}.quick-grid{grid-template-columns:1fr}.quick-grid a,.quick-grid a+a{padding:15px 0;border-left:0;border-bottom:1px solid var(--line)}.quick-icon{display:grid}.section-block{padding-top:55px;padding-bottom:61px}.section-head{align-items:start;flex-direction:column}.section-head h2{font-size:2.6rem}.cards-grid{grid-template-columns:1fr;gap:19px}.card-art{height:165px}.feature-layout{grid-template-columns:1fr;padding-top:42px;padding-bottom:48px;gap:22px}.feature-illustration{height:215px}.feature-ring{height:135px;width:135px}.feature-symbol{font-size:5rem}.feature-copy h2{font-size:3rem}.research-note{flex-direction:column;gap:19px;margin-bottom:65px;padding-top:29px;padding-bottom:30px;align-items:start}.research-note h2{font-size:2.1rem}.footer-top{flex-direction:column;gap:32px;padding-top:46px;padding-bottom:45px}.footer-nav{gap:50px}.footer-bottom{flex-direction:column;gap:6px}.page-top{padding-top:27px;padding-bottom:46px}.page-top h1{font-size:clamp(2.65rem,11vw,3.5rem)}.page-intro{font-size:1rem}.detail-layout{grid-template-columns:1fr;padding-top:36px;padding-bottom:70px;gap:28px}.article-main h2{font-size:2.15rem;margin-top:30px}.draft-note{flex-direction:column;gap:5px}.listing-wrap,.landing-content{padding-top:41px;padding-bottom:66px}.listing-heading{align-items:start;flex-direction:column;gap:6px}.honest-panel{padding:25px;flex-direction:column;gap:15px}.panel-icon{height:52px;width:52px}.honest-panel h2{font-size:1.8rem}.search-form-row{flex-direction:column}.resource-row{flex-direction:column}.mini-links{flex-direction:column}.scene-caption{top:14px;left:15px}.scene-caption-icon{width:30px;height:30px;font-size:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.place-card{transition:none}}

.stage-signout{display:inline-block;margin-left:20px}.stage-signout button{color:inherit;border:1px solid currentColor;border-radius:5px;background:transparent;padding:3px 10px;cursor:pointer;font:inherit;font-size:11px}.stage-signout button:hover{opacity:.8}

/* Stage 2 — additional sections in the original approved Longford palette */
.section-tile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.section-tile{min-height:226px;display:flex;flex-direction:column;text-decoration:none;padding:24px;background:var(--paper);border:1px solid #dce6da;border-radius:12px;box-shadow:var(--shadow);transition:transform .15s,border-color .15s}
a.section-tile:hover{transform:translateY(-3px);border-color:#9ab7a5}
.tile-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:25px}
.tile-symbol{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#e6efe6;color:#2e644e;font-size:1.45rem}
.tile-top .eyebrow{font-size:.57rem;color:#a17547;text-align:right}
.section-tile strong{font-family:Georgia,serif;font-size:1.42rem;font-weight:500;line-height:1.22;letter-spacing:-.02em}
.tile-desc{color:var(--muted);font-size:.8rem;line-height:1.7;margin:9px 0 18px}
.tile-bottom{margin-top:auto;padding-top:13px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#245e47;font-size:.75rem;font-weight:800}
.tile-bottom.quiet{font-weight:600;color:#6f806f}
.sections-home{padding-top:8px}
.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}
.resource-card{display:flex;flex-direction:column;gap:12px;min-height:185px;padding:26px;border:1px solid #dae4d9;border-radius:11px;background:var(--paper);text-decoration:none;transition:border-color .15s}
.resource-card:hover{border-color:#7fa58b}
.resource-card strong{font:500 1.53rem/1.25 Georgia,serif;color:var(--forest)}
.resource-card>span:not(.eyebrow):not(.resource-cta){font-size:.84rem;color:var(--muted);line-height:1.7}
.resource-cta{font-weight:800;color:#28634c;font-size:.76rem;margin-top:auto;padding-top:9px}
.section-subhead{max-width:900px;margin-bottom:30px}
.section-subhead h2{margin-bottom:12px}
.section-subhead p:not(.eyebrow){color:var(--muted);line-height:1.8;margin:0}
.with-margin{margin-top:64px}
.notice-strip{display:flex;align-items:flex-start;gap:17px;background:#e6eee4;border:1px solid #d3dfd2;border-left:4px solid #8baa89;padding:24px 26px;border-radius:9px;margin-top:31px}
.notice-strip strong{flex:0 0 230px;color:#254e3b;font-size:.92rem}
.notice-strip span{font-size:.85rem;color:#455f4e;line-height:1.75}
.notice-strip a{color:#216348;font-weight:700}
.steps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}
.step-card{background:var(--paper);border:1px solid #dce5d9;padding:27px;border-radius:11px}
.step-card>span{font-family:Georgia,serif;font-size:2.35rem;color:#bb8c57}
.step-card h3{font:500 1.45rem Georgia,serif;margin:10px 0}
.step-card p{font-size:.85rem;line-height:1.8;color:var(--muted);margin:0}
.visit-route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}
.visit-route{background:var(--paper);border:1px solid #dce5d9;border-radius:12px;padding:30px}
.visit-route h3{font:500 1.8rem Georgia,serif;margin:14px 0}
.visit-route p{font-size:.9rem;color:var(--muted);line-height:1.8}
.visit-route .mini-links{margin-top:20px}
.related-heading{margin-top:59px}
.search-sections{margin:0 0 28px}
.search-sections:empty{display:none}
.directory-message{max-width:none;margin-top:38px}
.footer-nav{gap:64px}
@media(max-width:1140px){.site-nav{gap:15px}.site-nav a{font-size:.75rem}}
@media(max-width:1060px){.menu-toggle{display:flex;align-items:center;gap:9px;cursor:pointer}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:20px 24px 25px;background:var(--paper);box-shadow:0 12px 22px #143f3326;flex-direction:column;align-items:stretch;gap:0}.site-nav.is-open{display:flex}.site-nav a{padding:12px 5px;font-size:.95rem}.header-search{margin-left:auto}}
@media(max-width:900px){.section-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-nav{gap:34px}.footer-top{gap:35px}}
@media(max-width:630px){.section-tile-grid,.resource-grid,.steps-grid,.visit-route-grid{grid-template-columns:1fr}.section-tile{min-height:198px}.resource-card{min-height:170px}.notice-strip{flex-direction:column;gap:9px}.notice-strip strong{flex:unset}.footer-nav{flex-wrap:wrap;gap:28px 46px}.directory-message{margin-top:24px}.with-margin{margin-top:45px}}
@media(prefers-reduced-motion:reduce){.section-tile,.resource-card{transition:none}}

/* Stage 3: approved palette and layout, additional content discovery components */
.related-guides{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:15px}
.related-guides a{border:1px solid #dce6da;background:#fff;border-radius:9px;padding:13px 13px 29px;display:flex;flex-direction:column;gap:8px;text-decoration:none;position:relative;color:#173d35;min-height:111px}
.related-guides a:hover{background:#eef4ee;border-color:#83a492}
.related-guides strong{font-family:var(--sans,Arial,sans-serif);font-size:.92rem;line-height:1.25}
.related-label{color:#a07545;text-transform:uppercase;font-size:.61rem;letter-spacing:.11em;font-weight:700}
.related-arrow{position:absolute;bottom:10px;right:12px;color:#307459}
.area-explore{background:#f5f2e8;border:1px solid #e0dfce;border-radius:14px;padding:28px;margin-bottom:36px}
.area-explore .section-subhead{margin-bottom:22px}
.region-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.region-grid>div{display:flex;flex-direction:column;gap:11px;padding:16px;background:#fff;border:1px solid #e3e8de;border-radius:10px}
.region-grid strong{color:#173d35;font-size:.96rem;margin-bottom:2px}
.region-grid a{font-size:.87rem;color:#356b54;text-decoration:none}
.region-grid a:hover{text-decoration:underline}
.visit-inspiration{background:#17493e;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px;border-radius:14px;padding:34px;margin-bottom:32px}
.visit-inspiration h2{font-size:clamp(1.45rem,3vw,2.2rem);line-height:1.15;margin:10px 0;color:#fff}
.visit-inspiration h2 em{color:#e8bb74}
.visit-inspiration p{max-width:59ch;opacity:.88;line-height:1.6}
.visit-inspiration .eyebrow{color:#eac68f}
.visit-inspiration .mini-links a{background:#f5e8cb;color:#17493e;border:1px solid #f5e8cb;font-weight:750;text-decoration:none}
.visit-inspiration .mini-links a:hover,.visit-inspiration .mini-links a:focus-visible{background:#e8bb74;color:#173d35;border-color:#e8bb74}
.inspiration-emblem{font-size:7.2rem;line-height:1;color:#d6ae70;opacity:.7}
.discovery-row{margin:34px 0;padding:28px;display:flex;justify-content:space-between;align-items:center;gap:35px;background:#f5f2e8;border:1px solid #e5e0d2;border-radius:13px}
.discovery-row>div{max-width:700px}
.discovery-row h3{margin:8px 0;color:#173d35;font-size:1.3rem}
.discovery-row p{margin:0;line-height:1.6;color:#53605a}
.discovery-row .btn{white-space:nowrap}
@media(max-width:920px){.region-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.related-guides{grid-template-columns:1fr}.related-guides a{min-height:86px}.discovery-row{align-items:flex-start;flex-direction:column}.inspiration-emblem{font-size:5.4rem}}
@media(max-width:560px){.region-grid{grid-template-columns:1fr}.area-explore{padding:20px}.visit-inspiration{padding:24px}.inspiration-emblem{display:none}.discovery-row{padding:20px}}

/* Stage 4 – private editor + managed listings, preserving approved palette */
.managed-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:38px}
.managed-card{background:var(--paper);border:1px solid #dbe5dc;border-radius:12px;padding:27px;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:flex-start;gap:11px}
.managed-card h3{font:500 clamp(1.4rem,2.4vw,1.85rem)/1.22 Georgia,serif;color:var(--forest);margin:0}
.managed-card p{color:var(--muted);line-height:1.65;margin:0;font-size:.88rem}
.managed-card .listing-meta{font-weight:800;font-size:.78rem;color:#355b49}
.managed-card .listing-source{font-size:.73rem;color:#6a786b;margin-top:auto}
.managed-card a{margin-top:4px;font-size:.83rem}
.editor-empty{padding:27px;border:1px dashed #bbcbba;border-radius:12px;background:#f6f5ed;color:#315c49;margin:18px 0 30px}
.editor-empty strong{font:500 1.4rem Georgia,serif}
.editor-empty p{font-size:.84rem;line-height:1.75;margin:9px 0 0;color:var(--muted)}
.directory-filter{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:20px;background:#f3f2e9;padding:16px 18px;border-radius:10px}
.directory-filter label{font-size:.83rem;font-weight:800;color:var(--forest)}
.directory-filter input[type=search],.directory-filter select{padding:12px;min-width:210px;border-radius:8px;border:1px solid #bdcdbf;background:#fff;flex:1}
.directory-filter .btn{padding:12px 20px;font-size:.76rem}
.directory-live{margin:20px 0 44px}
.editor-footer-link{color:inherit;text-underline-offset:3px}
.editor-page{max-width:1190px}
.editor-intro{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:20px 0 35px}
.editor-intro h2{font:500 2rem Georgia,serif;margin:0 0 9px;color:var(--forest)}
.editor-intro p{font-size:.86rem;color:var(--muted);line-height:1.7;max-width:75ch;margin:0}
.editor-signal{background:#e2ede3;color:#2c654b;padding:9px 12px;border-radius:5px;font-size:.64rem;letter-spacing:.1em;font-weight:900;white-space:nowrap}
.editor-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px;border-bottom:1px solid var(--line);padding-bottom:17px}
.editor-tabs a{color:#35634e;text-decoration:none;padding:10px 18px;border-radius:7px;background:#eaf0e8;font-size:.85rem;font-weight:800}
.editor-tabs a.chosen{background:#17493e;color:white}
.editor-tabs a span{display:inline-block;padding:2px 7px;background:#ffffff2c;border-radius:9px;font-size:.72rem;margin-left:5px}
.editor-workspace{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);gap:20px;align-items:start}
.editor-form-panel,.editor-list-panel{background:var(--paper);padding:26px;border:1px solid #dce5da;border-radius:12px}
.editor-panel-head{display:flex;gap:18px;justify-content:space-between;align-items:center;margin-bottom:18px}
.editor-page h2{font:500 1.5rem/1.25 Georgia,serif;margin:0;color:var(--forest)}
.editor-new-link{font-size:.78rem;color:#2b674b;font-weight:700}
.editor-form{display:flex;flex-direction:column;gap:16px}
.editor-form label{display:flex;flex-direction:column;gap:6px;color:#25483b;font-size:.78rem;font-weight:800}
.editor-form input,.editor-form select,.editor-form textarea{font-family:inherit;background:white;border:1px solid #c7d5c8;border-radius:7px;padding:11px 12px;font-size:.93rem;color:#243f32;width:100%;min-width:0}
.editor-form input:focus,.editor-form select:focus,.editor-form textarea:focus{outline:2px solid #7ba990;outline-offset:1px}
.editor-form textarea{resize:vertical;min-height:100px}
.editor-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.editor-hint{font-size:.78rem;color:#657566;line-height:1.7;margin:0}
.editor-submit{align-self:flex-start;border:none;cursor:pointer}
.editor-list-hint{font-size:.8rem;color:var(--muted);margin:12px 0 19px;line-height:1.65}
.editor-list-empty{padding:20px;border-radius:10px;background:#f4f5ef;font-size:.82rem;color:#687b67;line-height:1.6}
.editor-record{display:flex;flex-direction:column;gap:9px;text-decoration:none;padding:17px 0;border-bottom:1px solid #e3e9e2}
.editor-record:hover strong{text-decoration:underline}
.editor-record strong{font-size:.95rem;color:var(--forest);line-height:1.4}
.editor-record small{color:var(--muted);font-size:.78rem}
.editor-record-top{display:flex;justify-content:space-between;align-items:center}
.editor-record-top>span:last-child{color:#26644b}
.editor-pill{background:#efe9de;color:#7e603c;padding:4px 8px;border-radius:12px;font-size:.63rem;font-weight:800}
.editor-pill.live{background:#d9eadd;color:#2f6a4b}
.editor-error,.editor-notice{margin:14px 0 22px;padding:18px 23px;border:1px solid #d9af93;border-left:4px solid #b77751;border-radius:8px;background:#fff1e8;font-size:.86rem;line-height:1.65}
.editor-notice{border-color:#b2ceba;border-left-color:#458d63;background:#e7f1e7;color:#225d3e}
.editor-help{margin-top:30px;padding:25px;border-radius:10px;background:#f0eee4;border:1px solid #e0dccd}
.editor-help h2{margin-bottom:12px}.editor-help p{font-size:.86rem;line-height:1.8;color:#526457;margin:7px 0}.editor-help code{background:#e3e2d6;padding:2px 5px;border-radius:3px}
@media(max-width:900px){.editor-workspace{grid-template-columns:1fr}.managed-grid{grid-template-columns:1fr}}
@media(max-width:600px){.editor-intro{flex-direction:column;align-items:flex-start}.editor-form-panel,.editor-list-panel{padding:20px}.editor-two{grid-template-columns:1fr}.editor-signal{white-space:normal}.directory-filter{align-items:stretch;flex-direction:column}}

.stage-editor-link{color:#e9cb9d;text-decoration:underline;text-underline-offset:3px;font-size:.69rem;font-weight:800;margin-left:13px}.stage-editor-link:hover{color:white}

/* Directory: first-class individual listings. Uses the existing green/cream/gold palette. */
.directory-business-card h3 a{color:inherit;text-decoration:none}
.directory-business-card h3 a:hover{text-decoration:underline;text-decoration-color:#c59b56;text-underline-offset:4px}
.directory-card-actions{width:100%;margin-top:auto;padding-top:15px;display:flex;gap:17px;align-items:center;flex-wrap:wrap}
.directory-card-actions a{font-weight:750;text-decoration:none}
.directory-card-actions .text-link{color:var(--forest)}
.directory-small-link{font-size:.78rem;color:#567667}
.directory-index-footnote{font-size:.78rem;line-height:1.7;color:var(--muted);max-width:770px;margin:16px 0}
.directory-profile-layout{display:grid;grid-template-columns:minmax(0,1fr) 305px;gap:60px}
.directory-profile-main{min-width:0}
.directory-profile-main h2{font-size:clamp(2rem,4vw,3rem);line-height:1.2;margin:16px 0 22px}
.directory-profile-intro{font-size:1.1rem;line-height:1.85;color:#3f594a;max-width:740px}
.directory-contact-actions{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0}
.directory-contact-actions .btn{font-size:.8rem}
.directory-contact-actions .btn-outline{color:var(--forest);border:1px solid #abc5af;background:#e8f0e7}
.directory-awaiting-contact{font-size:.84rem;color:#6a786b;margin-top:22px}
.directory-research-note{margin-top:50px;padding:20px 24px;border:1px solid #dce5db;background:#f3f5ef;border-radius:9px}
.directory-research-note strong{font-size:.82rem;color:var(--forest)}
.directory-research-note p{font-size:.79rem;line-height:1.8;color:var(--muted);margin-bottom:0}
.directory-research-note a{color:#2b684e}
.directory-back{display:inline-block;margin-bottom:26px;font-size:.82rem;font-weight:750}
@media(max-width:850px){.directory-profile-layout{grid-template-columns:1fr;gap:28px}}

/* Stage 6: compact private directory enrichment panel, matching the approved palette */
.directory-import{background:#f3f5ef;border:1px solid #d4e0d5;padding:22px 24px;border-radius:10px;margin:18px 0 24px;display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.directory-import h3{font-size:1.18rem;color:var(--forest);margin:0 0 6px}
.directory-import p{font-size:.86rem;max-width:680px;margin:0;color:var(--muted)}
.directory-import form{margin:0}
.directory-import button{cursor:pointer}

/* Stage 13 — browse and audit usability, approved palette retained */
.ml-directory-filter{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 18px;padding:23px;margin:28px 0 32px;align-items:end}
.ml-filter-field{min-width:0;display:flex;flex-direction:column;gap:8px}
.ml-filter-field label{font-size:.78rem;font-weight:800;color:var(--forest)}
.ml-directory-filter input[type=search],.ml-directory-filter select{width:100%;min-width:0;min-height:47px;margin:0;font:inherit;font-size:.9rem;border:1px solid #bdcdbf;border-radius:7px;background:#fff;padding:11px 13px;color:var(--forest)}
.ml-filter-search{grid-column:span 2}
.ml-filter-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ml-filter-actions .btn{min-height:47px;padding:12px 17px;white-space:nowrap}
.ml-clear{color:#315944;text-decoration:underline;text-underline-offset:3px;font-size:.85rem;font-weight:750}
.ml-directory-paging{border-top:1px solid var(--line);padding:24px 0 38px;display:flex;justify-content:space-between;align-items:center;gap:16px;color:var(--muted);font-weight:700;font-size:.88rem}
.ml-directory-paging>div{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.ml-directory-paging a{display:inline-flex;padding:11px 17px;border:1px solid #c7d8cb;border-radius:6px;background:#eaf1e8;color:#265d46;text-decoration:none}
.directory-card-contact{display:flex;gap:9px;flex-wrap:wrap;align-items:center;color:#35634d;font-size:.75rem;margin-top:6px}
.directory-card-contact span{background:#edf2e9;padding:5px 8px;border-radius:4px}
.ml-audit-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0 25px}
.ml-audit-metric{background:#fffefa;border:1px solid #dbe5dc;border-radius:10px;padding:22px;display:flex;flex-direction:column;gap:7px}
.ml-audit-metric strong{font:500 2.4rem Georgia,serif;color:var(--forest)}
.ml-audit-metric span{color:var(--muted);font-size:.8rem}
.ml-audit-toolbar{margin-top:40px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:22px}
.ml-audit-toolbar h2{font-size:2rem;margin:0 0 6px}.ml-audit-toolbar p{margin:0;color:var(--muted);font-size:.85rem}
.ml-audit-filters{display:flex;flex-wrap:wrap;gap:9px;margin:25px 0}
.ml-audit-filters a{display:inline-block;border:1px solid #d0ddcf;border-radius:6px;padding:9px 12px;background:#f4f5ee;color:#315944;font-size:.8rem;text-decoration:none;font-weight:700}
.ml-audit-filters a.chosen{background:var(--forest);color:white;border-color:var(--forest)}
.ml-audit-count{font-size:.9rem;color:var(--muted)}
.ml-audit-list{display:flex;flex-direction:column;border-top:1px solid #d4dfd3;margin:18px 0}
.ml-audit-row{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:18px 4px;border-bottom:1px solid #d4dfd3}
.ml-audit-row h3{font:500 1.3rem Georgia,serif;color:var(--forest);margin:0 0 6px}
.ml-audit-row p{font-size:.8rem;color:var(--muted);margin:0 0 9px}
.ml-audit-row>a{white-space:nowrap;font-size:.82rem;font-weight:750}
.ml-audit-flags{display:flex;gap:6px;flex-wrap:wrap}
.ml-audit-flags span{font-size:.68rem;background:#f2ede1;border-radius:3px;color:#765a2c;padding:5px 7px}
@media(max-width:900px){.ml-directory-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.ml-audit-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:630px){.ml-directory-filter{display:flex;flex-direction:column;align-items:stretch;padding:17px;gap:16px}.ml-filter-search{grid-column:auto}.ml-filter-actions{flex-direction:column;align-items:stretch}.ml-filter-actions .btn{width:100%}.ml-directory-paging{flex-direction:column;align-items:stretch}.ml-directory-paging>div{justify-content:space-between}.ml-audit-toolbar{align-items:stretch}.ml-audit-toolbar .btn{width:100%}.ml-audit-metrics{gap:9px}.ml-audit-metric{padding:15px}.ml-audit-metric strong{font-size:1.9rem}.ml-audit-row{align-items:flex-start;flex-direction:column}.ml-audit-row>a{white-space:normal}}

/* Stage 14: town and village hubs, existing forest / cream / gold identity retained */
.town-hub{margin:42px 0 58px;padding:35px 36px;background:#f6f4ea;border:1px solid #e0dfd3;border-radius:14px}
.town-hub-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 22px}
.town-hub-head>div:first-child{max-width:710px}
.town-hub-head h2,.town-nearby h2{font:500 clamp(1.65rem,3.6vw,2.5rem)/1.16 Georgia,serif;color:#173d35;margin:10px 0 13px}
.town-hub-head h2 em,.town-nearby h2 em{color:#bd8f54}
.town-hub-head p:not(.eyebrow),.town-nearby>p:not(.eyebrow),.town-essentials p{color:#526357;line-height:1.7;font-size:.89rem;max-width:71ch;margin:0}
.town-hub-count{flex-shrink:0;text-align:center;min-width:125px;background:#e8eee3;border:1px solid #d6dfd2;padding:18px 20px;border-radius:10px;display:flex;flex-direction:column;gap:3px}
.town-hub-count strong{font:500 2.5rem/1 Georgia,serif;color:#17493e}
.town-hub-count span{font-size:.75rem;color:#476954}
.town-category-links{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 24px}
.town-category-links a{background:#fff;color:#245c46;text-decoration:none;padding:10px 12px;border:1px solid #d6e4d9;border-radius:6px;font-size:.77rem;font-weight:750}
.town-category-links a:hover,.town-nearby-grid a:hover{border-color:#85ae95;background:#ebf2e9}
.town-category-links a span{margin-left:6px;color:#7e6848}
.town-business-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.town-business{min-width:0;display:flex;flex-direction:column;gap:10px;padding:19px;background:#fff;border:1px solid #d8e1d7;border-radius:9px}
.town-business h3{margin:0;font:500 1.36rem/1.25 Georgia,serif;color:#173d35}
.town-business h3 a{color:inherit;text-decoration:none}
.town-business h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.town-business p{margin:0 0 8px;font-size:.79rem;color:#5d695f;line-height:1.6;flex:1}
.town-business-bottom{display:flex;flex-direction:column;gap:8px;font-size:.74rem}
.town-business-bottom span{color:#52705e}
.town-business-bottom a{color:#2d694c;text-decoration:none;font-weight:800}
.town-business-bottom a:hover{text-decoration:underline}
.town-all-link{margin:26px 0 0}
.town-all-link .btn{font-size:.81rem}
.town-scope{font-size:.74rem;color:#6b7568;line-height:1.65;margin:21px 0 0}
.town-empty{background:#fff;border:1px dashed #cbd8cb;padding:20px 23px;border-radius:9px;margin:20px 0}
.town-empty p{font-size:.9rem;color:#5c6b5d;line-height:1.7}
.town-extras{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(240px,1fr);gap:24px;margin:0 0 70px}
.town-nearby,.town-essentials{padding:25px 27px;border:1px solid #dfe7dc;border-radius:12px;background:#fffefa}
.town-nearby-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:22px}
.town-nearby-grid a{display:flex;flex-direction:column;gap:11px;min-height:140px;padding:18px 15px;text-decoration:none;border:1px solid #d9e5d8;border-radius:8px;background:#f5f8f3}
.town-nearby-grid strong{font:500 1.14rem/1.2 Georgia,serif;color:#173d35}
.town-nearby-grid .text-link{margin-top:auto;font-size:.74rem;color:#2d694c}
.town-essentials h3{font:500 1.7rem/1.25 Georgia,serif;color:#173d35;margin:14px 0}
.town-essentials ul{margin:20px 0 18px;padding-left:19px;line-height:1.9}
.town-essentials a{font-size:.82rem;color:#2f694e}
.town-map-link{display:inline-block;padding-top:12px;border-top:1px solid #e2e9df;text-decoration:none;font-weight:800}
.town-profile-link{margin:15px 0 20px;font-size:.86rem}
.town-profile-link a{display:inline-block;padding:9px 13px;border:1px solid #cadfcf;background:#ebf2e9;border-radius:6px;color:#26604a;text-decoration:none;font-weight:750}
.town-profile-link a:hover{background:#d9e9db}
.town-card-count{font-size:.7rem;font-weight:750;color:#496a54}
@media(max-width:980px){.town-business-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.town-extras{grid-template-columns:1fr}}
@media(max-width:690px){.town-hub{padding:21px 19px;margin:26px 0 38px}.town-hub-head{align-items:flex-start;flex-direction:column}.town-hub-count{flex-direction:row;min-width:0;align-items:center;padding:10px 16px;gap:10px}.town-hub-count strong{font-size:2rem}.town-business-grid,.town-nearby-grid{grid-template-columns:1fr}.town-nearby,.town-essentials{padding:21px}.town-nearby-grid a{min-height:100px}.town-all-link .btn{width:100%;white-space:normal;text-align:center}}


/* Stage 15 – County Longford What's On: keeps established forest, cream and gold colours. */
.events-count-band{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:31px 35px;border-radius:16px;background:var(--forest);color:white;margin-bottom:28px}.events-count-band .eyebrow{color:#f2c88f}.events-count-band h2{color:white;font-size:clamp(2rem,3.4vw,3.1rem);margin:9px 0}.events-count-band h2 em{color:#eac088}.events-count-band p{color:#ecf4ee;opacity:.9;font-size:.89rem;line-height:1.75;max-width:670px;margin:0}.events-count-number{text-align:center;min-width:115px;border-left:1px solid #ffffff40;padding-left:25px}.events-count-number strong{display:block;font:500 3.5rem Georgia,serif;color:#ecca95;line-height:1}.events-count-number span{white-space:nowrap;font-size:.74rem;color:#edf5ec}.events-filter{display:flex;align-items:end;gap:12px;background:#f0f2e9;border:1px solid #dce7d9;border-radius:12px;padding:21px 24px;margin-bottom:36px;flex-wrap:wrap}.events-filter label{display:flex;flex:1;min-width:195px;gap:7px;flex-direction:column;color:#365747;font-size:.77rem;font-weight:700}.events-filter select{height:44px;background:#fff;color:#243f32;border:1px solid #cbd8c8;border-radius:7px;padding:0 11px;font:inherit;font-weight:500}.events-filter button{min-height:44px;white-space:nowrap}.event-clear{font-size:.79rem;color:#36664b;font-weight:700;padding:13px 4px}.event-month-heading{display:flex;gap:22px;justify-content:space-between;align-items:end;margin:28px 0 21px}.event-month-heading h2{font-size:clamp(2rem,3.6vw,2.75rem);margin:3px 0 0}.event-month-heading .eyebrow{margin-bottom:0}.event-month-nav{display:flex;gap:6px;flex-wrap:wrap}.event-month-nav a{display:inline-block;text-decoration:none;border:1px solid #d1ddce;background:#fffefa;color:var(--forest);border-radius:6px;padding:9px 12px;font-size:.78rem;font-weight:700}.event-month-nav a:hover{background:#e4eee0}.events-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #d6e1d4;border-left:1px solid #d6e1d4;border-radius:10px;overflow:hidden;background:#fffefa}.events-weekday{padding:10px 5px;text-align:center;background:#e4eee3;color:#315944;letter-spacing:.09em;text-transform:uppercase;font-size:.66rem;font-weight:800;border-right:1px solid #d6e1d4;border-bottom:1px solid #d6e1d4}.events-blank,.events-day{min-height:118px;border-right:1px solid #d6e1d4;border-bottom:1px solid #d6e1d4;padding:9px 6px}.events-blank{background:#f4f5ee}.events-day.today{background:#fff3db}.events-day-num{display:block;font-size:.85rem;font-weight:800;color:#354e41;margin:0 0 7px 5px}.events-day a{font-size:.68rem;line-height:1.35;display:block;overflow:hidden;text-overflow:ellipsis;word-break:break-word;padding:5px 7px;margin-bottom:4px;text-decoration:none;background:#e0eee1;color:#23573e;border-radius:5px}.events-day a:hover{text-decoration:underline;background:#c5e3c7}.events-more{font-size:.62rem;color:#637868;padding-left:6px}.events-below{padding-top:35px}.events-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.event-entry{background:#fffefa;border:1px solid #d8e4d7;border-radius:12px;display:flex;align-items:start;gap:16px;padding:20px;min-height:180px;box-shadow:0 6px 16px #193c3010}.event-date-badge{flex:0 0 57px;display:grid;place-items:center;padding:8px 4px;border-radius:9px;background:#e6eee0;color:#1d563e}.event-date-badge strong{font:500 2rem/1 Georgia,serif}.event-date-badge span{font-size:.68rem;letter-spacing:.08em;font-weight:800}.event-entry-content{min-width:0;flex:1}.event-entry .eyebrow{font-size:.61rem;color:#956c38;margin-bottom:5px}.event-entry h3{font:500 1.36rem/1.2 Georgia,serif;margin:0 0 8px}.event-entry h3 a{text-decoration:none;color:var(--forest)}.event-entry h3 a:hover{text-decoration:underline}.event-when{font-size:.75rem;font-weight:750;color:#326347;margin-bottom:7px}.event-summary{font-size:.81rem;line-height:1.65;color:#65776a;margin:0 0 13px}.event-bottom{display:flex;align-items:center;justify-content:space-between;gap:9px;border-top:1px solid #e7eae1;padding-top:11px;color:#647568;font-size:.71rem}.event-bottom a{white-space:nowrap;color:#1d6e4a;font-weight:800}.event-detail{margin-bottom:28px;background:#fefcf5;border:1px solid #decb9f;border-left:5px solid #d3a45f;border-radius:13px;padding:27px 32px;scroll-margin-top:22px}.event-detail-close{font-size:.78rem;font-weight:750;color:#376b50;display:inline-block;margin:0 0 23px}.event-detail h2{font-size:clamp(1.8rem,3vw,2.65rem);margin:10px 0 7px}.event-detail>p{max-width:800px;color:#4a6756;line-height:1.75}.event-detail-date{font-weight:800;color:#1c5940!important}.event-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}.event-facts>div{border-top:1px solid #dfddc9;padding-top:10px}.event-facts dt{font-size:.67rem;letter-spacing:.1em;text-transform:uppercase;color:#7b815d;font-weight:800}.event-facts dd{margin:4px 0 0;color:#224b38;font-size:.88rem;font-weight:650}.event-buttons{display:flex;gap:10px;flex-wrap:wrap}.event-smallprint{font-size:.74rem!important;color:#788474!important;margin:17px 0 0}.stage15-events .with-margin{margin-top:71px}
@media(max-width:900px){.events-results{grid-template-columns:1fr}.events-day{min-height:108px}.events-day a{font-size:.63rem}.event-month-heading{align-items:start;flex-direction:column}}
@media(max-width:650px){.events-count-band{padding:24px;gap:15px}.events-count-number{min-width:74px;padding-left:12px}.events-count-number strong{font-size:2.5rem}.events-count-number span{white-space:normal}.events-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.events-weekday{font-size:.52rem}.events-day{padding:5px 2px;min-height:58px}.events-day-num{font-size:.72rem;margin:0 0 5px 3px}.events-day a{font-size:0;line-height:0;width:8px;height:8px;background:#399164;border-radius:50%;padding:0;margin:3px auto;overflow:hidden}.events-more{font-size:.5rem;padding:0 1px;display:block;text-align:center}.events-filter{padding:16px;flex-direction:column;align-items:stretch}.events-filter label{min-width:unset;flex:unset}.event-month-nav a{padding:8px;font-size:.72rem}.event-entry{gap:10px;padding:15px}.event-date-badge{flex-basis:46px}.event-date-badge strong{font-size:1.55rem}.event-facts{grid-template-columns:1fr 1fr}.event-detail{padding:20px}.event-buttons a{width:100%;justify-content:center;text-align:center}}

/* Stage 16: heritage editorial additions; preserves approved existing colours/layout. */
.heritage-visitor-note{background:#eef1e8;border-left:4px solid #bf985c;padding:20px 22px;margin:26px 0 8px;border-radius:0 9px 9px 0}
.heritage-visitor-note p{margin:8px 0 10px!important;color:#245448}.heritage-visitor-note a{color:#1d4a3a;font-weight:700;text-underline-offset:3px}.heritage-trip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:18px 0 28px}.heritage-trip{background:#f7f6f0;border:1px solid #dddcd1;border-radius:14px;padding:26px 24px}.heritage-trip h3{font-size:1.5rem;margin:14px 0 12px;color:#194a40}.heritage-trip p{line-height:1.7;color:#506259}.heritage-trip .mini-links{margin-top:18px}.heritage-era-bar{background:#e9eee6;border:1px solid #d7ded4;border-radius:15px;padding:26px 28px;display:flex;gap:24px;justify-content:space-between;align-items:center;margin-bottom:20px}.heritage-era-bar strong{display:block;color:#184a3e;font-size:1.45rem;margin:8px 0}.heritage-era-bar p{margin:0;color:#52695e}.heritage-era-links{display:grid;grid-template-columns:repeat(2,max-content);gap:10px}.heritage-era-links a{padding:9px 12px;border:1px solid #bdd0c3;border-radius:30px;color:#184a3e;font-weight:650;text-decoration:none;background:#fff}.heritage-era-links a:hover{background:#e2eae0}.stage16-featured{padding-top:30px}@media(max-width:900px){.heritage-trip-grid{grid-template-columns:1fr 1fr}.heritage-era-bar{display:block}.heritage-era-links{margin-top:18px}}@media(max-width:620px){.heritage-trip-grid{grid-template-columns:1fr}.heritage-era-links{grid-template-columns:repeat(2,minmax(0,1fr))}.heritage-era-links a{font-size:.9rem;text-align:center}.heritage-era-bar{padding:21px}}

/* Stage 17 · News, local notices and community information */
.bulletin-intro{display:flex;align-items:center;justify-content:space-between;gap:2rem;background:#edf1e7;border:1px solid #d6dfcf;border-radius:18px;padding:2rem;margin:0 0 2rem}
.bulletin-intro>div:first-child{max-width:680px}.bulletin-intro h2{font-family:Georgia,serif;font-size:clamp(2rem,3.2vw,3rem);line-height:1.1;margin:.5rem 0}.bulletin-intro h2 em,.bulletin-headline h2 em{color:#aa7943;font-weight:400}.bulletin-intro p{line-height:1.6;color:#405347}
.bulletin-stats{display:flex;gap:1rem;flex-wrap:wrap}.bulletin-stats>div{min-width:95px;display:flex;flex-direction:column;align-items:center;gap:5px;padding:.8rem;border-left:1px solid #c4d3c1}.bulletin-stats strong{font:700 2.1rem Georgia,serif;color:#285b43}.bulletin-stats span{font-size:.76rem;color:#57655c}
.bulletin-filter{display:flex;align-items:end;gap:1rem;flex-wrap:wrap;background:#f5f3ea;border:1px solid #e2dfd3;border-radius:15px;padding:1.25rem;margin-bottom:2rem}.bulletin-filter label{display:grid;gap:.4rem;min-width:185px;font-size:.85rem;font-weight:650;flex:1}.bulletin-filter select{width:100%;border:1px solid #cacfc6;border-radius:8px;background:#fff;padding:.75rem;font:inherit}.bulletin-filter .text-link{padding-bottom:.75rem}
.bulletin-headline{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.15rem}.bulletin-headline h2{font-family:Georgia,serif;font-size:clamp(1.65rem,2.5vw,2.35rem);margin:.4rem 0 0}.bulletin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}.bulletin-card{border:1px solid #e1dfd5;border-radius:14px;padding:1.55rem;background:#fff;display:flex;flex-direction:column;gap:.65rem;min-width:0}.bulletin-card-meta{display:flex;justify-content:space-between;gap:1rem;align-items:center}.bulletin-card-meta time{font-size:.77rem;color:#6c746a}.bulletin-card h3{font:600 1.45rem/1.25 Georgia,serif;margin:0}.bulletin-card h3 a{color:#254b3a;text-decoration:none}.bulletin-card h3 a:hover{text-decoration:underline}.bulletin-card p{line-height:1.55;color:#4a544e;flex:1;margin:0}.bulletin-card-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.85rem}.bulletin-card-footer a{font-weight:700;color:#285b43;text-decoration:none}.bulletin-card-footer span{color:#67766b}.bulletin-provenance{border-top:1px solid #ece9df;padding-top:.7rem;font-size:.76rem;color:#72796f}.bulletin-caution{margin:2rem 0;padding:1.2rem 1.5rem;border-left:4px solid #98713c;background:#faf4e7;border-radius:5px}.bulletin-caution p{margin:.25rem 0 0;line-height:1.6}.bulletin-caution a{color:#285b43}
.bulletin-detail{background:#fff;border:1px solid #d4d9cf;border-top:5px solid #356249;border-radius:13px;padding:2rem;margin:0 0 2rem}.bulletin-detail h2{font:600 clamp(1.8rem,3vw,2.8rem)/1.15 Georgia,serif;margin:1rem 0;color:#254b3a}.bulletin-detail>p:not(.eyebrow){max-width:800px;line-height:1.7}.bulletin-facts{display:flex;flex-wrap:wrap;gap:1.5rem;margin:1.5rem 0}.bulletin-facts div{display:grid;gap:.25rem}.bulletin-facts dt{font-size:.77rem;text-transform:uppercase;color:#738075}.bulletin-facts dd{margin:0;font-weight:700}.bulletin-actions{display:flex;gap:.8rem;flex-wrap:wrap}
.stage17-home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.stage17-home-grid a{padding:1.3rem;border:1px solid #dcded4;border-radius:12px;background:#f9f8f3;text-decoration:none;display:flex;flex-direction:column;gap:.5rem}.stage17-home-grid strong{color:#285b43;font:600 1.3rem Georgia,serif}.stage17-home-grid span{color:#6a736a;font-size:.86rem}
@media(max-width:820px){.bulletin-intro{flex-direction:column;align-items:stretch}.bulletin-stats>div:first-child{border-left:none}.bulletin-grid{grid-template-columns:1fr}.stage17-home-grid{grid-template-columns:1fr}.bulletin-headline{align-items:start;flex-direction:column}}
@media(max-width:500px){.bulletin-intro,.bulletin-detail{padding:1.3rem}.bulletin-filter{flex-direction:column;align-items:stretch}.bulletin-filter label{width:100%}.bulletin-stats{justify-content:space-around}.bulletin-stats>div{min-width:75px}}

/* Stage 18 — accessibility refinements, matching the existing palette */
:where(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid #b16b30; outline-offset: 3px; }
:where(select, textarea) { font: inherit; }
@media (max-width: 1060px) {
  .site-nav a { min-height: 44px; display: flex; align-items: center; }
  .menu-toggle { min-height: 44px; min-width: 64px; justify-content: center; }
}
@media (max-width: 630px) {
  .header-inner { gap: 10px; }
  .stage-banner { line-height: 1.5; }
  .stage-signout { margin-left: 10px; }
  .ml-directory-filter > *, .search-form, .editor-form { min-width: 0; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* Keep primary actions and the private-editor link readable on both backgrounds. */
.stage-banner .stage-editor-link, .stage-banner .stage-editor-link:hover { color: #21513f; }
.hero-actions .btn-primary { background: #e6ae61; color: #243b2e; }
.hero-actions .btn-primary:hover { background: #f0c47d; color: #173d35; }
/* Stage 19 — editorial checks and policy pages (uses the established theme). */
.stage19-review{padding-top:36px;padding-bottom:80px}.stage19-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.stage19-metrics>div{padding:22px;background:var(--paper);border:1px solid var(--line);border-radius:11px;display:flex;flex-direction:column;gap:4px}.stage19-metrics strong{color:var(--forest);font:500 2.4rem Georgia,serif;line-height:1}.stage19-metrics span{font-size:.81rem;color:var(--muted)}.stage19-explain{margin:20px 0 32px;font-size:.88rem;line-height:1.7;color:var(--muted)}.stage19-toolbar{display:flex;justify-content:space-between;align-items:center;gap:30px;margin:36px 0 19px}.stage19-toolbar h2{font-size:2rem;margin-bottom:8px}.stage19-toolbar p{color:var(--muted);margin:0}.stage19-filter{display:flex;gap:14px;align-items:end;flex-wrap:wrap;background:#e9eee5;border:1px solid var(--line);border-radius:11px;padding:20px}.stage19-filter label{font-size:.76rem;font-weight:800;flex:1;min-width:185px}.stage19-filter select{display:block;width:100%;margin-top:7px;min-height:45px;padding:8px;border:1px solid #aabdad;border-radius:6px;background:white;color:var(--forest);font:inherit}.stage19-summary{margin:23px 0 16px;color:var(--muted)}.stage19-review-list{display:grid;gap:12px}.stage19-review-item{display:flex;gap:24px;justify-content:space-between;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:11px;padding:21px 23px}.stage19-review-item h3{font:500 1.55rem Georgia,serif;color:var(--forest);margin:7px 0 9px}.stage19-review-item .eyebrow{margin:0}.stage19-flags{display:flex;flex-wrap:wrap;gap:6px}.stage19-flags span{font-size:.7rem;border:1px solid #d9ceac;border-radius:5px;padding:3px 8px;background:#f9f2db;color:#654a26}.stage19-source,.stage19-no-flag{margin:9px 0 0;color:var(--muted);font-size:.76rem}.stage19-row-actions{display:flex;flex-direction:column;gap:9px;flex:none;text-align:right}.stage19-row-actions a{font-size:.82rem;font-weight:800;color:var(--forest);text-decoration:underline;text-underline-offset:4px}.stage19-paging{display:flex;justify-content:space-between;align-items:center;margin:26px 0;gap:20px;font-size:.9rem}.stage19-paging div{display:flex;gap:22px}.stage19-paging a{color:var(--forest);font-weight:800}.stage19-editor-note{padding:25px 29px;margin:30px 0;border-left:4px solid var(--green);background:#e9eee5;border-radius:0 11px 11px 0}.stage19-editor-note h3{font:500 1.6rem Georgia,serif;margin:0 0 6px}.stage19-editor-note p{margin:0}.stage19-prose{max-width:960px;padding-bottom:95px}.stage19-prose h2{font-size:2.1rem;margin-top:42px;margin-bottom:10px}.stage19-prose p{line-height:1.85}.stage19-prose a{color:#215a49;text-underline-offset:3px}.stage19-prelaunch{padding:18px 22px;background:#faedd9;color:#694920;border-left:4px solid #bb8a41;border-radius:5px;font-weight:750}
@media(max-width:820px){.stage19-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.stage19-toolbar{align-items:start;flex-direction:column}.stage19-review-item{align-items:flex-start;flex-direction:column}.stage19-row-actions{flex-direction:row;text-align:left;flex-wrap:wrap}}
@media(max-width:480px){.stage19-metrics{gap:8px}.stage19-metrics>div{padding:14px}.stage19-metrics strong{font-size:1.9rem}.stage19-filter{padding:14px}.stage19-review-item{padding:17px}.stage19-paging{flex-direction:column;align-items:flex-start}}

/* Stage 21: private verification decision cards; approved palette retained. */
.stage21-intro{margin-top:16px}.stage21-intro h2{font:500 1.7rem Georgia,serif;margin:0 0 9px;color:var(--forest)}
.stage21-intro a{display:inline-block;margin-top:12px;color:var(--forest);font-weight:800}
.stage21-case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0 32px}
.stage21-case{background:var(--paper);border:1px solid var(--line);border-radius:11px;padding:24px;min-width:0}
.stage21-case h3{font:500 1.55rem Georgia,serif;color:var(--forest);margin:8px 0 13px}
.stage21-case p{font-size:.87rem;line-height:1.65}.stage21-next{background:#e9eee5;padding:12px 14px;border-radius:6px}
.stage21-actions{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}
.stage21-actions a,.stage21-case .stage19-source a{text-decoration:underline;color:var(--forest);font-weight:750;text-underline-offset:3px}
@media(max-width:760px){.stage21-case-grid{grid-template-columns:1fr}.stage21-case{padding:19px}}

/* Stage 22: unobtrusive verified social links */
.directory-social-links{margin:1.1rem 0;padding:.85rem 1rem;border:1px solid #ddd6b9;border-radius:12px;background:#faf8ec}.directory-social-links>div{display:flex;flex-wrap:wrap;gap:.6rem;margin:.5rem 0}.directory-social-links a{color:#24583a;font-weight:700;text-decoration:underline;text-underline-offset:3px}.directory-social-links small{display:block;color:#5b665a}.directory-social-mini{font-size:.78rem;color:#356445;margin:.35rem 0}.editor-social-fields{margin:1rem 0}

/* Stage 23 — self-hosted, precision-labelled location explorer. Existing palette unchanged. */
.ml-map-wrap{padding-top:1.4rem;padding-bottom:4.2rem}.ml-map-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:1.4rem}.ml-map-heading h2{font-family:Georgia,serif;font-size:clamp(2rem,3.9vw,3.1rem);line-height:1.12;color:#173d35;margin:.4rem 0}.ml-map-heading h2 em{color:#aa8a4c}.ml-map-heading p{max-width:650px;color:#53685b}.ml-map-metrics{display:flex;gap:.8rem;flex-wrap:wrap}.ml-map-metrics span{display:block;padding:.7rem .85rem;border:1px solid #d8dec9;border-radius:12px;color:#325548;background:#f6f7ee;font-size:.84rem}.ml-map-metrics strong{font-size:1.15rem;color:#173d35;margin-right:.2rem}
.ml-map-controls{display:flex;align-items:end;flex-wrap:wrap;gap:1rem;border:1px solid #dfdfd0;background:#faf9f1;border-radius:15px;padding:1rem;margin-bottom:.7rem}.ml-map-query-label{font-weight:650;font-size:.83rem;color:#23483a;flex:1;min-width:220px}.ml-map-query-label input{display:block;margin-top:.4rem;padding:.7rem .85rem;width:100%;min-width:0;border:1px solid #b8c7b5;border-radius:8px;color:#173d35;background:#fff;font:inherit}.ml-map-layer-choices{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;padding-bottom:.6rem;font-size:.87rem;color:#244a3b}.ml-map-layer-choices label{display:inline-flex;align-items:center;gap:.4rem;cursor:pointer}.ml-map-layer-choices input{accent-color:#285e48}.ml-map-zoom{display:flex;gap:.3rem;padding-bottom:.05rem}.ml-map-zoom button{border:1px solid #b8c7b5;border-radius:8px;min-height:39px;min-width:39px;padding:0 .7rem;background:#fff;color:#204a39;cursor:pointer;font:inherit;font-weight:700}.ml-map-zoom button:hover,.ml-map-zoom button:focus-visible{background:#e4eddd;outline:2px solid #b99655;outline-offset:1px}
.ml-map-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);border-radius:17px;overflow:hidden;border:1px solid #d4ddc9;box-shadow:0 10px 28px rgba(27,57,41,.09);background:#faf9f1}.ml-map-canvas{min-width:0;background:#e9ede1}.ml-map-svg{width:100%;display:block;aspect-ratio:890/650;cursor:grab;touch-action:none}.ml-map-svg.ml-map-dragging{cursor:grabbing}.ml-map-watermark{font-family:Georgia,serif;font-size:27px;font-weight:600;fill:#8aaa91;opacity:.38;letter-spacing:2px}.ml-map-axis{font:12px system-ui,sans-serif;fill:#6b8671}.ml-map-compass text{font:14px system-ui,sans-serif;font-weight:700;fill:#214d40}.ml-map-point{cursor:pointer;outline:none}.ml-map-halo{fill:#fff;stroke:#c5d2ba;stroke-width:1.5;opacity:.92}.ml-map-dot{fill:#2c7155;stroke:#fff;stroke-width:1.7}.ml-map-point-business .ml-map-halo{stroke:#c19b50;fill:#fff6d8}.ml-map-point-business .ml-map-dot{fill:#ba903e}.ml-map-point:hover .ml-map-halo,.ml-map-active .ml-map-halo,.ml-map-point:focus-visible .ml-map-halo{stroke:#244f3f;stroke-width:3}.ml-map-hidden{display:none}.ml-map-attribution{font-size:.72rem;margin:0;padding:.55rem .85rem;color:#546b5b;background:#edf0e6;line-height:1.6}.ml-map-attribution a{color:#245940;text-decoration:underline}.ml-map-side{border-left:1px solid #d5ddce;display:flex;flex-direction:column;max-height:670px;min-height:510px}.ml-map-selected{padding:1.3rem;border-bottom:1px solid #d5ddce;background:#f7f7ee}.ml-map-selected h3{font-family:Georgia,serif;color:#1a4536;font-size:1.45rem;margin:.5rem 0}.ml-map-selected p{font-size:.87rem;color:#53685b;line-height:1.55;margin:.35rem 0 .8rem}.ml-map-selected-actions{display:flex;gap:.85rem;flex-wrap:wrap}.ml-map-selected-actions a{font-size:.83rem;color:#2a5d46;font-weight:700}.ml-map-results-head{padding:.85rem 1rem;display:flex;justify-content:space-between;gap:.3rem;color:#1c493a;font-size:.88rem}.ml-map-results-head span{color:#6b796c}.ml-map-list{overflow-y:auto;min-height:0;flex:1}.ml-map-list-row{display:flex;align-items:center;border-top:1px solid #e6e8dc;gap:.25rem;background:#fff}.ml-map-list-row:hover,.ml-map-row-active{background:#ecf4e8}.ml-map-locate{display:flex;align-items:center;gap:.6rem;text-align:left;border:0;background:transparent;color:#1e4739;cursor:pointer;padding:.8rem 1rem;flex:1;font:inherit}.ml-map-locate strong{display:block;font-size:.87rem}.ml-map-locate small{display:block;color:#647567;font-size:.73rem;margin-top:.2rem}.ml-map-list-row>a{font-size:1.25rem;color:#28644c;padding:.6rem .85rem}.ml-map-list-dot{display:block;flex:none;width:10px;height:10px;border-radius:50%;background:#2c7155}.ml-map-business-dot{background:#ba903e}.ml-map-no-results{font-size:.86rem;padding:1rem;color:#556b59}.ml-map-qualifier{border:1px solid #dbe1d5;border-radius:0 0 12px 12px;padding:1.1rem 1.3rem;background:#f7f7ef;color:#4d6556;font-size:.85rem;line-height:1.55}.ml-map-qualifier strong{color:#214d3b}.ml-map-qualifier p{margin:.3rem 0}.ml-map-qualifier a{color:#2c5f44;font-weight:650;text-decoration:underline}.ml-map-entry-link{display:inline-flex;margin:.8rem 0;color:#285b44;font-weight:700;font-size:.92rem}.ml-map-home-link{margin-top:1rem}.ml-map-home-link a{display:inline-block;color:#285b44;font-weight:700;text-decoration:underline}.ml-map-list-row[hidden],.ml-map-no-results[hidden],.ml-map-selected-actions a[hidden]{display:none!important}
@media(max-width:860px){.ml-map-heading{display:block}.ml-map-metrics{margin-top:.9rem}.ml-map-layout{grid-template-columns:1fr}.ml-map-side{border-left:0;border-top:1px solid #d5ddce;max-height:none;min-height:auto}.ml-map-list{max-height:300px}.ml-map-svg{max-height:520px}.ml-map-controls{gap:.6rem}.ml-map-layer-choices{flex-basis:100%}}
@media(max-width:520px){.ml-map-wrap{padding-bottom:2.5rem}.ml-map-svg{min-height:300px}.ml-map-selected{padding:1rem}.ml-map-query-label{min-width:100%}.ml-map-controls{padding:.85rem}.ml-map-metrics span{font-size:.76rem}}

/* Stage 23 Leaflet / OpenStreetMap upgrade — keep the approved green, cream and gold palette. */
.ml-leaflet-map-container{position:relative;min-height:510px;background:#e1ebdd;isolation:isolate}
.ml-leaflet-map{width:100%;height:510px;min-height:360px;z-index:0}
.ml-map-load-panel{position:absolute;inset:0;z-index:500;display:flex;justify-content:center;align-items:center;padding:2rem;background:radial-gradient(circle at 22% 30%,#d5e1ce,#f3f1e8 58%,#e4eadc)}
.ml-map-load-panel[hidden]{display:none!important}
.ml-map-load-inner{text-align:center;max-width:360px;color:#234b3a}
.ml-map-load-inner h3{font-family:Georgia,serif;font-size:clamp(1.5rem,3vw,2rem);color:#173d35;margin:.7rem 0}
.ml-map-load-inner>p{font-size:.9rem;line-height:1.55;margin:.65rem 0}
.ml-map-load-inner button{border:0;border-radius:10px;padding:.9rem 1.3rem;color:white;background:#285c45;font-weight:700;cursor:pointer;margin:.7rem 0;font:inherit}
.ml-map-load-inner button:hover,.ml-map-load-inner button:focus-visible{background:#173d35;outline:3px solid #c49a52;outline-offset:3px}
.ml-map-load-inner button:disabled{opacity:.6;cursor:wait}
.ml-map-load-inner .ml-map-load-privacy{font-size:.75rem;color:#596d5f;max-width:340px;margin:1rem auto 0}
.ml-map-load-status{min-height:1em;color:#8b4827;font-weight:650}
.ml-map-warning{inset:auto 1rem 1rem;align-items:start;padding:.8rem;background:#fff9e9;border:1px solid #b99a57;border-radius:10px;box-shadow:0 4px 18px #33442a33}
.ml-map-warning .ml-map-load-inner>*:not(.ml-map-load-status){display:none}
.ml-map-warning .ml-map-load-status{margin:0;max-width:none}
.ml-map-side{max-height:710px}
.ml-map-canvas .leaflet-container{font-family:inherit;color:#244b3c;background:#e4edde}
.ml-map-canvas .leaflet-control-attribution{font-size:10px;background:#fffffff0;padding:2px 5px}
.ml-map-canvas .leaflet-control-scale-line{border-color:#275640;background:#ffffffe8;color:#214d3d}
.ml-map-canvas .leaflet-popup-content-wrapper{border-radius:10px;box-shadow:0 5px 20px #173d3540}
.ml-popup{min-width:145px;display:flex;flex-direction:column;gap:.35rem}
.ml-popup strong{font-size:.95rem;color:#173d35}
.ml-popup small{font-size:.76rem;color:#607463}
.ml-popup a{font-size:.82rem;font-weight:700;color:#286448;text-decoration:underline}
@media(max-width:860px){.ml-leaflet-map-container{min-height:410px}.ml-leaflet-map{height:410px}.ml-map-side{max-height:none}}
@media(max-width:520px){.ml-leaflet-map-container{min-height:355px}.ml-leaflet-map{height:355px;min-height:355px}.ml-map-load-panel{padding:.85rem}.ml-map-load-inner .ml-map-load-privacy{font-size:.71rem}}

/* Stage 23 heritage/visitor overlays: retains the approved green, cream and gold UI. */
.ml-map-dot-town{background:#2c7155}
.ml-map-dot-business{background:#bb8c37}
.ml-map-dot-heritage{background:#956541}
.ml-map-dot-visitor{background:#427d79}
.ml-map-metrics{max-width:630px}
.ml-map-metrics span{white-space:nowrap}
@media(max-width:520px){.ml-map-metrics{display:grid;grid-template-columns:1fr 1fr;gap:.45rem}.ml-map-metrics span{padding:.5rem .6rem}.ml-map-layer-choices{gap:.55rem 1rem}}

/* Stage 23 completion: preserve approved palette and map layout. */
.ml-map-dot-outdoors{background:#58794d}.ml-map-dot-canal{background:#4b7796}
.ml-walk-guides{padding:1.3rem 1.45rem;border:1px solid #d5ddce;background:#f8f7f1;border-radius:14px;margin:1.25rem 0}
.ml-walk-head h3{color:#174839;font-size:1.45rem;margin:.45rem 0}.ml-walk-head p{max-width:770px;color:#536b5f;margin:.3rem 0 1.25rem}
.ml-walk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.ml-walk-grid article{padding:1.1rem;background:#fffdf8;border:1px solid #dae0d5;border-radius:10px}.ml-walk-grid h4{color:#174839;font-size:1.05rem;margin:.4rem 0}.ml-walk-grid p{font-size:.9rem;line-height:1.6;color:#50675c}.ml-walk-grid a{color:#1a6448;text-decoration:underline;font-weight:650}
@media(max-width:780px){.ml-walk-grid{grid-template-columns:1fr}}

/* Stage 24: additions use existing type, green/cream/gold and responsive design. */
.ml-town24{margin:2rem 0 1.8rem;padding:1.4rem;border:1px solid #d8ddcf;border-radius:12px;background:#faf9f1}
.ml-town24 h2{font-size:1.55rem;color:#174839;line-height:1.25;margin:.45rem 0 1.1rem}
.ml-town24-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
.ml-town24-panel{padding:1rem 1.1rem;background:#fffdf9;border:1px solid #dfe3d8;border-radius:10px}
.ml-town24-panel h3{font-size:1rem;color:#174839;margin:.25rem 0 .5rem}
.ml-town24-panel p{font-size:.92rem;line-height:1.65;color:#53675d;margin:0 0 .85rem}
.ml-town24-panel ul{padding-left:1.15rem;margin:.25rem 0 1rem}
.ml-town24-panel li{margin:.3rem 0;font-size:.92rem}
.ml-town24-panel a,.ml-town24-practical a{color:#1b6047;text-decoration:underline;text-underline-offset:3px;font-weight:650}
.ml-town24-practical{display:flex;align-items:center;justify-content:space-between;gap:1.1rem;margin-top:.85rem;padding:1rem;border-radius:9px;background:#f0f1e7}
.ml-town24-practical p{margin:0;color:#486355;font-size:.9rem;line-height:1.5;max-width:65%}
.ml-town24-practical div{display:flex;flex-direction:column;gap:.4rem;font-size:.88rem}
@media(max-width:740px){.ml-town24-grid{grid-template-columns:1fr}.ml-town24-practical{display:block}.ml-town24-practical p{max-width:none;margin-bottom:.7rem}}

/* Stage 24: researched long-form town storytelling inside approved visual system */
.ml-town24-depth{margin-top:1.1rem;padding:1.25rem 1.35rem;border:1px solid #dce3d5;border-radius:12px;background:#fffdf9}
.ml-town24-depth-heading{margin-bottom:.85rem}
.ml-town24-depth-heading h3{font-size:1.3rem;line-height:1.25;color:#174839;margin:.4rem 0 .8rem}
.ml-town24-depth>p{color:#485d51;font-size:.94rem;line-height:1.8;margin:0 0 .9rem;max-width:77ch}
.ml-town24-stops{margin:1.25rem 0 .8rem;border-top:1px solid #e0e5d9;padding-top:1rem}
.ml-town24-stops h3{font-size:1.07rem;color:#174839;margin:0 0 .85rem}
.ml-town24-stops ol{list-style:none;counter-reset:town-stops;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:0;padding:0}
.ml-town24-stops li{counter-increment:town-stops;position:relative;background:#f4f5ec;border:1px solid #e2e5da;border-radius:9px;padding:1.1rem .9rem .95rem}
.ml-town24-stops li:before{content:counter(town-stops);display:inline-grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:50%;background:#d8e4d7;color:#174839;font-weight:750;font-size:.75rem;margin-bottom:.65rem}
.ml-town24-stops li strong{display:block;font-size:.9rem;color:#194b3b;margin-bottom:.3rem}
.ml-town24-stops li span{display:block;color:#56675c;line-height:1.55;font-size:.85rem}
.ml-town24-sources{padding-top:.9rem;margin-top:1rem;border-top:1px solid #e0e5d9}
.ml-town24-sources strong{font-size:.88rem;color:#244d3e}
.ml-town24-sources ul{display:flex;flex-wrap:wrap;gap:.35rem 1rem;margin:.5rem 0 .6rem;padding:0;list-style:none}
.ml-town24-sources li{font-size:.85rem}
.ml-town24-sources a{color:#1b6047;text-underline-offset:3px}
.ml-town24-sources p{font-size:.79rem;color:#697970;line-height:1.5;margin:0}
@media(max-width:800px){.ml-town24-stops ol{grid-template-columns:1fr}.ml-town24-depth{padding:1rem}.ml-town24-stops li{padding:.85rem}.ml-town24-stops li:before{margin-bottom:.3rem}}

/* Stage 24 continuation: sourced visitor and community information */
.ml-town24-field{border-top:1px solid #dce3d5;margin-top:1.4rem;padding-top:1.35rem}
.ml-town24-field>h3{font-size:1.24rem;color:#174839;margin:.35rem 0 .95rem;line-height:1.3}
.ml-town24-field-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:.85rem}
@media(min-width:741px){.ml-town24-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ml-town24-field-card{min-width:0;border:1px solid #e0e5d9;border-radius:10px;background:#fffdf9;padding:1.1rem 1.15rem}
.ml-town24-field-card .eyebrow{font-size:.7rem;color:#8a713b;letter-spacing:.11em}
.ml-town24-field-card h4{font-size:1.08rem;line-height:1.35;color:#174839;margin:.45rem 0 .65rem}
.ml-town24-field-card p{font-size:.9rem;color:#4d6256;line-height:1.68;margin:0 0 .9rem}
.ml-town24-field-card a,.ml-town24-field-related a{color:#1b6047;font-weight:650;text-decoration:underline;text-underline-offset:3px;font-size:.88rem}
.ml-town24-field-related{margin:.9rem 0 .35rem;color:#516459;font-size:.88rem}
.ml-town24-field-note{margin:.4rem 0 .1rem;font-size:.79rem;line-height:1.55;color:#68796d}
@media(max-width:740px){.ml-town24-field-grid{grid-template-columns:minmax(0,1fr)}.ml-town24-field-card{padding:1rem}.ml-town24-field{padding-top:1rem}}
@media(max-width:360px){.ml-town24{padding:1rem}.ml-town24-depth{padding:1rem}}

/* Stage 25 — practical visitor-plan pages. Inherits the existing approved palette. */
.ml25-page{padding-top:3rem;padding-bottom:5rem}
.ml25-intro{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:1.5rem}
.ml25-intro>div{max-width:780px}
.ml25-intro h2{font-size:clamp(2rem,3.4vw,3rem);margin:.4rem 0 1rem}
.ml25-intro p:not(.eyebrow){color:var(--muted);line-height:1.75;margin:0}
.ml25-map-link{white-space:nowrap;color:var(--forest);font-weight:700;text-underline-offset:4px;font-size:.85rem}
.ml25-filters{display:flex;flex-wrap:wrap;gap:.6rem;padding:1.15rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ml25-filters a{display:inline-block;border:1px solid #cad9ca;background:#fffefa;border-radius:100px;padding:.58rem 1.1rem;text-decoration:none;font-size:.85rem;font-weight:700;color:var(--forest)}
.ml25-filters a:hover{background:#ebf1ea}
.ml25-filters a[aria-current=page]{color:#fff;background:var(--forest);border-color:var(--forest)}
.ml25-count{font-size:.85rem;color:var(--muted);margin:1.25rem 0}
.ml25-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.ml25-card{display:flex;flex-direction:column;gap:.85rem;min-width:0;padding:1.6rem 1.7rem;background:var(--paper);border:1px solid #dbe5d8;border-radius:12px;box-shadow:var(--shadow)}
.ml25-card-top{display:flex;align-items:start;justify-content:space-between;gap:.8rem}
.ml25-card-top .eyebrow{color:#916332}
.ml25-area{color:#66786e;font-size:.74rem;text-align:right}
.ml25-card h3{font:500 clamp(1.43rem,2.1vw,1.78rem)/1.2 Georgia,serif;margin:0;color:var(--forest)}
.ml25-card h3 a{text-decoration:none}.ml25-card h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.ml25-card>p{font-size:.9rem;line-height:1.7;color:var(--muted);margin:0}
.ml25-preview{display:flex;flex-wrap:wrap;gap:.4rem;margin:.15rem 0 .3rem}
.ml25-preview span{display:inline-block;background:#eff3eb;border:1px solid #e0e8df;color:#315842;padding:.35rem .55rem;font-size:.7rem;border-radius:5px}
.ml25-card-cta{margin-top:auto;align-self:start;padding-top:.5rem;color:var(--green);font-weight:800;font-size:.83rem;text-underline-offset:4px}
.ml25-caution{border:1px solid #dbe3d3;border-left:4px solid #a68a58;padding:1.15rem 1.3rem;background:#f4f2e7;border-radius:8px;margin:2rem 0}
.ml25-caution strong{display:block;font-size:.9rem;color:var(--forest);margin-bottom:.4rem}
.ml25-caution p{margin:0;font-size:.88rem;line-height:1.7;color:#4f6154}
.ml25-bottom-links{display:flex;gap:.7rem 1.2rem;flex-wrap:wrap;margin:1.6rem 0}
.ml25-bottom-links a{color:var(--green);font-size:.83rem;font-weight:750;text-underline-offset:4px}
.ml25-detail{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(235px,1fr);gap:2.3rem;align-items:start;padding-top:3rem;padding-bottom:5rem}
.ml25-detail-main{min-width:0}.ml25-detail-heading{margin:2rem 0 1.7rem}.ml25-detail-heading h2{font-size:clamp(1.8rem,2.7vw,2.6rem);margin:.4rem 0 .7rem}
.ml25-detail-heading p:not(.eyebrow){color:var(--muted);line-height:1.7;max-width:72ch}
.ml25-stops{counter-reset:none;padding:0;margin:0;list-style:none;display:flex;flex-direction:column;gap:1rem}
.ml25-stops li{min-width:0;display:flex;gap:1.1rem;align-items:flex-start;padding:1.35rem;border:1px solid #dce5d9;border-radius:11px;background:var(--paper)}
.ml25-stop-number{display:grid;place-items:center;flex:none;width:2.2rem;height:2.2rem;background:#dce9da;color:var(--forest);font-weight:850;border-radius:50%;font-size:.88rem}
.ml25-stop-content{min-width:0}.ml25-stop-content .eyebrow{color:#8f713e;font-size:.62rem}
.ml25-stop-content h3{font:500 1.4rem/1.26 Georgia,serif;margin:.45rem 0 .6rem;color:var(--forest)}
.ml25-stop-content h3 a{text-decoration:none}.ml25-stop-content h3 a:hover{text-decoration:underline}
.ml25-stop-content p{color:var(--ink);font-size:.92rem;line-height:1.7;margin-bottom:.5rem}
.ml25-stop-summary{color:var(--muted);font-size:.79rem;line-height:1.6}
.ml25-detail-aside{position:relative;min-width:0}.ml25-detail-aside .aside-panel{margin-bottom:1rem}.ml25-detail-aside .aside-panel p{line-height:1.65}
.ml25-side-note{font-size:.76rem;color:var(--muted);border-top:1px solid var(--line);padding-top:.8rem}
.ml25-related{margin:1.5rem 0 1rem;background:#f1f3e9;border:1px solid #dee6d9;border-radius:11px;padding:1.2rem}
.ml25-related h3{font:500 1.32rem Georgia,serif;color:var(--forest);margin:.4rem 0 1rem}
.ml25-related-links{display:flex;flex-wrap:wrap;gap:.6rem}
.ml25-related-links a{background:#fffefa;border:1px solid #d5e0d4;border-radius:7px;padding:.65rem .85rem;color:var(--green);text-decoration:none;font-size:.8rem;font-weight:700;line-height:1.4}
.ml25-related-links a:hover{text-decoration:underline}
.ml25-visit-promo{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin:0 0 2.5rem;background:#e7eee3;border:1px solid #d1dfce;border-radius:12px;padding:1.5rem 1.8rem}
.ml25-visit-promo h2{font:500 clamp(1.4rem,2.1vw,2rem) Georgia,serif;color:var(--forest);margin:.4rem 0}
.ml25-visit-promo p:not(.eyebrow){font-size:.9rem;color:var(--muted);max-width:65ch;line-height:1.7;margin:0}
.ml25-visit-promo a{white-space:nowrap}
@media(max-width:820px){.ml25-detail{grid-template-columns:1fr;gap:1.5rem}.ml25-intro{align-items:start;flex-direction:column;gap:1rem}}
@media(max-width:660px){.ml25-page{padding-top:2rem;padding-bottom:3rem}.ml25-card-grid{grid-template-columns:1fr}.ml25-card{padding:1.25rem}.ml25-detail{padding-top:2rem}.ml25-stops li{padding:1rem;gap:.75rem}.ml25-stop-number{width:1.8rem;height:1.8rem}.ml25-visit-promo{flex-direction:column;align-items:flex-start;padding:1.15rem}.ml25-filters{gap:.4rem}.ml25-filters a{padding:.5rem .75rem;font-size:.79rem}}

/* Stage 26 — community service discovery. Approved forest/cream/gold system. */
.ml26-page{padding-top:3rem;padding-bottom:5rem}
.ml26-intro{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-bottom:1.6rem}
.ml26-intro>div{max-width:720px}
.ml26-intro h2,.ml26-results-heading h2,.ml26-official h2{font:500 clamp(1.7rem,2.5vw,2.45rem)/1.15 Georgia,serif;color:var(--forest);margin:.55rem 0}
.ml26-intro h2 em,.ml26-results-heading h2 em,.ml26-official h2 em{color:#a27b49}
.ml26-intro p:not(.eyebrow),.ml26-results-heading p:not(.eyebrow){font-size:.9rem;line-height:1.7;color:var(--muted)}
.ml26-directory-btn{flex-shrink:0;color:var(--forest)!important;border-color:#809b82!important}
.ml26-topics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:0 0 3.3rem}
.ml26-topic{display:flex;flex-direction:column;gap:.5rem;background:#fffcf6;border:1px solid #d7e1d6;border-radius:12px;padding:1.2rem 1.3rem;text-decoration:none;min-height:190px;color:var(--forest)}
.ml26-topic:hover,.ml26-topic:focus-visible,.ml26-topic.is-selected{border-color:#819b82;background:#eef4e9}
.ml26-topic-symbol{display:grid;place-items:center;width:34px;height:34px;background:#e4eee2;border-radius:50%;font-size:1.13rem;color:#487459}
.ml26-topic strong{font:500 1.24rem/1.27 Georgia,serif}
.ml26-topic small{font-size:.79rem;color:var(--muted);line-height:1.5;flex:1}
.ml26-topic-count{font-size:.74rem;font-weight:750;color:#30664d}
.ml26-results{scroll-margin-top:2.5rem}
.ml26-results-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}
.ml26-results-heading p:not(.eyebrow){margin:.35rem 0 0}
.ml26-total{white-space:nowrap;font-weight:750;font-size:.8rem;color:var(--forest);background:#e8f0e6;border-radius:30px;padding:.55rem 1rem}
.ml26-form{display:grid;grid-template-columns:1fr 1fr 1.05fr auto;gap:.75rem;background:#f5f1e7;border:1px solid #e1dacc;padding:1.1rem;border-radius:12px;margin-bottom:1.3rem;align-items:end}
.ml26-form label{font-weight:750;font-size:.75rem;color:var(--forest);display:flex;flex-direction:column;gap:.5rem;min-width:0}
.ml26-form select,.ml26-form input{appearance:auto;min-width:0;width:100%;font:inherit;font-weight:400;font-size:.83rem;min-height:43px;border:1px solid #b9cabd;border-radius:5px;padding:.5rem .6rem;background:#fff;color:#234939}
.ml26-form-buttons{display:flex;align-items:center;flex-direction:column;gap:.5rem}
.ml26-form-buttons .btn{white-space:nowrap;padding:.78rem .9rem}
.ml26-form-buttons>a{font-size:.74rem;color:#356b54;text-decoration:underline}
.ml26-listings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.ml26-listing{background:var(--paper);border:1px solid #dce5d9;border-radius:10px;padding:1.3rem 1.45rem;min-width:0;display:flex;flex-direction:column}
.ml26-listing h3{font:500 1.25rem/1.28 Georgia,serif;margin:.65rem 0;color:var(--forest)}
.ml26-listing h3 a{text-decoration:none}.ml26-listing h3 a:hover{text-decoration:underline}
.ml26-listing p{font-size:.83rem;line-height:1.68;color:var(--muted);margin:0 0 1rem;flex:1}
.ml26-actions{display:flex;gap:1rem;flex-wrap:wrap;border-top:1px solid #e2e9df;padding-top:.8rem}
.ml26-actions a{font-size:.76rem;font-weight:750;color:#2b684d;text-decoration:none}
.ml26-actions a:hover{text-decoration:underline}
.ml26-pager{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem .2rem;color:var(--muted);font-size:.84rem}
.ml26-pager>div{display:flex;gap:1.2rem}
.ml26-pager a,.ml26-empty a{color:#2b684d;font-weight:750}
.ml26-empty{border:1px dashed #a7b9a5;border-radius:10px;padding:2rem;background:#fbf9f1}
.ml26-empty h3{color:var(--forest)}.ml26-empty p{color:var(--muted);line-height:1.7}
.ml26-official{margin-top:3.5rem}.ml26-official .section-subhead{margin-bottom:1.3rem}
.ml26-official .resource-card{min-height:165px;padding:1.3rem}.ml26-official .resource-card strong{font-size:1.22rem}
.ml26-note{margin-top:2rem;padding:1.2rem 1.4rem;border-left:3px solid #b99361;background:#f6f0e3;border-radius:5px}
.ml26-note strong{color:var(--forest)}.ml26-note p{font-size:.81rem;line-height:1.7;color:#586158;margin:.4rem 0 0}
.ml26-town-prompt{background:#ecf1e7;border:1px solid #d7e2d1;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.5rem 1.75rem;margin:1.5rem 0 1.7rem}
.ml26-town-prompt h2{font:500 1.5rem Georgia,serif;color:var(--forest);margin:.4rem 0}.ml26-town-prompt p{font-size:.86rem;color:var(--muted);line-height:1.6;margin:0;max-width:65ch}
.ml26-town-prompt>.btn,.ml26-town-prompt>a{flex-shrink:0}
@media(max-width:1100px){.ml26-form{grid-template-columns:repeat(3,minmax(0,1fr))}.ml26-form-buttons{grid-column:1/-1;flex-direction:row;justify-content:flex-start}.ml26-topic{min-height:206px}}
@media(max-width:770px){.ml26-topics{grid-template-columns:repeat(2,minmax(0,1fr))}.ml26-town-prompt,.ml26-intro{flex-direction:column;align-items:flex-start}.ml26-form{grid-template-columns:1fr 1fr}.ml26-form label:last-of-type{grid-column:1/-1}}
@media(max-width:580px){.ml26-page{padding-top:2rem;padding-bottom:3rem}.ml26-topics,.ml26-listings,.ml26-form{grid-template-columns:1fr}.ml26-form label:last-of-type{grid-column:auto}.ml26-topic{min-height:0}.ml26-results-heading{align-items:flex-start;flex-direction:column}.ml26-form-buttons{flex-direction:column;align-items:stretch}.ml26-pager{align-items:flex-start;flex-direction:column}.ml26-town-prompt{padding:1.2rem}.ml26-total{white-space:normal}}

/* Stage 27 — focused accessibility corrections, preserving approved colours/layout. */
:where(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #ad6b24; outline-offset:3px; }
:where(.site-nav a,.menu-toggle,.header-search,.editor-tabs a,.ml25-filters a,.ml26-topic):focus-visible { border-radius:4px; }
:target { scroll-margin-block-start:1.5rem; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } }

/* Narrow-screen fixes found by the Stage 27 DOM overflow audit. */
.stage19-review .text-link { white-space: normal; overflow-wrap: anywhere; }
.stage19-review .stage19-editor-note, .stage19-review .stage19-toolbar { min-width: 0; }
@media (max-width: 420px) {
  .ml-map-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ml-map-metrics span { min-width: 0; white-space: normal; overflow-wrap: anywhere; }
}
/* The dark-action buttons need an explicit colour background (rather than
   relying on a shorthand that may be overridden by native button styling). */
.btn.btn-dark { background-color: #173d35; color:#fff; }
/* Increase contrast of small gold/green labels without changing the palette. */
.site-nav a.active { color:#925126; }
.section-kicker { color:#855120; }
.aside-panel dt { color:#4d6859; }
.ml-town24 h2 em, .ml-town24-depth h2 em { color:#95662e; }

/* Stage 28 — private news collection inbox. Existing green, cream and gold palette. */
.ml28-inbox{padding-top:38px}.ml28-info{display:flex;gap:26px;align-items:center;justify-content:space-between;background:#f1f5ed;border:1px solid #d8e1d6;border-radius:12px;padding:28px;margin-bottom:28px}.ml28-info h2{font-size:2.25rem;margin:.25rem 0 10px}.ml28-info p{max-width:810px;margin:0 0 12px;color:#425e4f;font-size:.9rem;line-height:1.75}.ml28-info .btn-outline,.ml28-approve .btn-outline,.ml28-item .btn-outline{color:#215540;border-color:#8caa96}.ml28-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:26px}.ml28-status{min-width:0;background:#fffdf8;border:1px solid #dce5d8;padding:22px;border-radius:11px}.ml28-status h3{color:#1c4938;font:500 1.35rem Georgia,serif;margin:8px 0}.ml28-status p{color:#586c5e;font-size:.8rem;margin:4px 0;overflow-wrap:anywhere}.ml28-status a,.ml28-meta a{font-size:.8rem;color:#245943;font-weight:700}.ml28-tabs{display:flex;flex-wrap:wrap;gap:9px;margin:16px 0 22px}.ml28-tabs a{display:inline-block;border:1px solid #c5d5c5;border-radius:7px;padding:9px 12px;background:#fcfcf5;color:#24533e;text-decoration:none;font-size:.79rem;font-weight:700}.ml28-tabs a.selected{background:#234a3b;color:#fff}.ml28-list{display:grid;gap:16px}.ml28-item{min-width:0;background:#fffefa;border:1px solid #dce5d8;border-radius:12px;padding:23px;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.95fr);gap:25px;align-items:start}.ml28-item h3{font:500 1.5rem Georgia,serif;color:#214637;margin:7px 0 12px;overflow-wrap:anywhere}.ml28-item p{color:#526659;font-size:.88rem;line-height:1.75;overflow-wrap:anywhere}.ml28-item .ml28-meta{font-size:.76rem}.ml28-alert{font-weight:750;color:#8a4b20!important}.ml28-approve{display:grid;gap:10px}.ml28-approve label{display:grid;gap:5px;color:#355442;font-size:.76rem;font-weight:750}.ml28-approve input,.ml28-approve textarea{width:100%;max-width:100%;min-width:0;border:1px solid #c5d5c6;border-radius:6px;padding:10px;background:#fff;font:inherit;font-size:.85rem;color:#253f32}.ml28-date-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ml28-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.ml28-inbox .editor-notice{margin-bottom:22px}
@media(max-width:850px){.ml28-info{flex-direction:column;align-items:flex-start}.ml28-item{grid-template-columns:1fr}}
@media(max-width:560px){.ml28-status-grid,.ml28-date-grid{grid-template-columns:1fr}.ml28-info{padding:20px}.ml28-item{padding:18px}.ml28-actions .btn{flex:1}}

.ml28-source-form{margin-top:12px}.ml28-source-form .btn{min-height:36px;padding:8px 12px;color:#24553f;border-color:#b0c2b0;font-size:.74rem;white-space:normal;text-align:left}.ml28-status .ml28-source-form{display:block}
/* Stage 29 — private event collection controls; inherits approved Stage 28 surfaces. */
.ml29-inbox .ml29-settings{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0 0 22px}
.ml29-inbox .ml29-settings .editor-hint{flex:1 1 350px;max-width:780px}
.ml29-inbox .notice-strip{margin-bottom:22px;overflow-wrap:anywhere}
.ml29-inbox .ml28-approve input[type="datetime-local"],.ml29-inbox .ml28-approve select{width:100%;max-width:100%;min-width:0;border:1px solid #c5d5c6;border-radius:6px;padding:10px;background:#fff;font:inherit;font-size:.85rem;color:#253f32}
.ml29-inbox .ml28-item{grid-template-columns:minmax(0,1fr) minmax(0,.95fr)}
.ml29-inbox .ml28-trigger-url{background:#f4f7ee;border:1px solid #d8e1d6;border-radius:9px;padding:15px;margin:0 0 16px;overflow-wrap:anywhere}
.ml29-inbox .ml28-trigger-url label{display:block;font-size:.8rem;font-weight:700}
.ml29-inbox .ml28-trigger-url input{width:100%;max-width:100%;border:1px solid #aac3ad;padding:10px;margin-top:8px;border-radius:6px;background:white;font:inherit;font-size:.83rem}
@media(max-width:750px){.ml29-inbox .ml28-item{grid-template-columns:minmax(0,1fr)}.ml29-inbox .ml28-date-grid{grid-template-columns:minmax(0,1fr)}.ml29-inbox .ml28-status-grid{grid-template-columns:minmax(0,1fr)}}

/* Stage 30: substantiated longform guide section rhythm */
.ml30-guide-section { margin-top: 2rem; border-top: 1px solid rgba(70,85,69,.16); padding-top: 1.45rem; }
.ml30-guide-section h2 { margin: 0 0 1rem; }
.ml30-guide-section p { margin-bottom: 1rem; }
.heritage-era-links { flex-wrap: wrap; }

.ml30-theme-nav { display:flex; flex-wrap:wrap; align-items:center; gap:.65rem 1rem; padding:1.25rem 0 1.5rem; }
.ml30-theme-nav strong { font-size:.85rem; margin-right:.3rem; }
.ml30-theme-nav a { color:inherit; text-decoration:underline; text-underline-offset:4px; font-size:.88rem; }
.ml30-theme-nav a:hover, .ml30-theme-nav a:focus-visible { text-decoration-thickness:2px; }
.ml30-story-shelf { scroll-margin-top:2rem; margin:1.7rem 0 3rem; }
.ml30-story-shelf .listing-heading { display:flex; justify-content:space-between; align-items:baseline; gap:1rem; flex-wrap:wrap; }
.ml30-story-shelf .listing-heading p { margin:.4rem 0 0; }
.ml30-story-shelf .cards-grid { margin-top:1.2rem; }
/* Photographs complement the original illustrations, with source credit kept beside the image. */
.ml-card-photo{position:relative;display:block;overflow:hidden;background:#d9e5d9}
.ml-card-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.ml-card-photo small{position:absolute;bottom:0;right:0;max-width:100%;padding:5px 9px;background:#17382cb8;color:#fff;font-size:.58rem;letter-spacing:.015em;text-align:right;line-height:1.3;z-index:2}
.ml-photo-feature,.ml-photo-archive{margin:0 0 31px;max-width:100%}
.ml-photo-image{width:100%;aspect-ratio:16/10;background:linear-gradient(135deg,#dce7d8,#cadcc8);border-radius:10px;overflow:hidden}
.ml-photo-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.ml-photo-feature figcaption,.ml-photo-archive figcaption{font-size:.76rem;line-height:1.6;color:#576b5d;margin-top:9px}
.ml-photo-feature figcaption a,.ml-photo-archive figcaption a{color:#28664b;text-decoration:underline;text-underline-offset:2px}
.ml-photo-credit{display:inline}
.ml-photo-archive{max-width:500px;margin-top:30px;padding:16px;background:#f3f1e8;border:1px solid #e0e2d8;border-radius:10px}
.ml-photo-archive .ml-photo-image{aspect-ratio:4/3;background:#e8e3da}
@media(max-width:630px){.ml-photo-feature{margin-bottom:24px}.ml-photo-archive{padding:11px}}
/* Private collection monitor */
.ml31-centre{padding-top:2.2rem;padding-bottom:4rem}
.ml31-intro,.ml31-section-heading,.ml31-schedule{display:flex;justify-content:space-between;align-items:center;gap:1.5rem}
.ml31-intro h2{font-size:clamp(1.8rem,3vw,2.5rem);margin:.4rem 0}.ml31-intro p{max-width:700px}
.ml31-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin:2rem 0}
.ml31-summary>div,.ml31-summary>a{padding:1.15rem;background:var(--cream,#f4f5ef);border:1px solid rgba(20,63,50,.12);border-radius:14px;display:flex;flex-direction:column;gap:.4rem;text-decoration:none;color:inherit}
.ml31-summary strong{font-size:2rem;color:#214b3c;font-weight:700}.ml31-summary span{font-size:.92rem}
.ml31-schedule{border:1px solid rgba(30,67,53,.2);padding:1.45rem;border-radius:15px;margin-bottom:2rem}.ml31-schedule p{max-width:820px;font-size:.94rem}.ml31-schedule h3{margin-top:0}
.ml31-table-section{margin:2.5rem 0}.ml31-section-heading{border-bottom:1px solid rgba(20,63,50,.17);padding-bottom:.65rem;margin-bottom:1rem}.ml31-section-heading h3{margin:0}
.ml31-source-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.ml31-source-card{border:1px solid rgba(20,63,50,.16);border-radius:14px;padding:1.2rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.ml31-source-main{flex:1 1 260px}.ml31-source-main h4{margin:.3rem 0;font-size:1.13rem}.ml31-source-main p{font-size:.91rem;line-height:1.5}.ml31-source-main a{font-size:.91rem}
.ml31-source-actions{display:flex;align-items:flex-start;flex-direction:column;gap:.8rem}.ml31-source-actions form{margin:0}.ml31-source-actions button{font-size:.85rem}
.ml31-status{display:inline-block;padding:.28rem .65rem;border-radius:40px;background:#e9eee9;font-weight:700;font-size:.77rem;color:#325b46}
.ml31-status-error,.ml31-status-stale{background:#fff0e4;color:#88452c}.ml31-status-paused{background:#eaeae8;color:#565e59}.ml31-status-waiting{background:#f8f0d7;color:#7c601e}
@media(max-width:850px){.ml31-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.ml31-source-list{grid-template-columns:1fr}}
@media(max-width:540px){.ml31-intro,.ml31-schedule,.ml31-section-heading{align-items:flex-start;flex-direction:column}.ml31-summary strong{font-size:1.6rem}.ml31-source-card{padding:1rem}}

/* Private review tools: stage 35 */
.ml35-review-tools{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:14px 18px;margin-top:22px;border:1px solid #d7e2d8;border-radius:10px;background:#f6f8f3}
.ml35-review-tools p{margin:0;font-size:.85rem;color:#3d5b4b;max-width:540px}
.ml35-source-filter{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:0}
.ml35-source-filter label{font-weight:700;color:#285441;font-size:.82rem}
.ml35-source-filter select{max-width:350px;padding:9px;border:1px solid #a9c3b1;border-radius:6px;background:#fff;color:#264535;font:inherit;font-size:.83rem}
.ml35-source-filter button{font-size:.82rem;padding:8px 12px}
.ml35-verify{font-weight:700;color:#79532f!important;margin-top:12px!important}
.ml35-review-shortcuts{margin:-.4rem 0 1.5rem;font-size:.9rem;color:#456351}
.ml35-review-shortcuts a{font-weight:700;color:#1b533e}
@media(max-width:600px){.ml35-source-filter{width:100%}.ml35-source-filter select{max-width:100%;width:100%}}

.search-group-title{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.4rem,2.5vw,1.9rem);font-weight:500;margin:25px 0 19px;color:var(--forest)}
.search-more{margin:12px 0 30px}
.search-more .btn{max-width:100%;white-space:normal;text-align:center}
@media(max-width:630px){.search-group-title{margin:28px 0 14px}.search-more .btn{width:100%}}

@media (max-width:1060px) {
  html:not(.js) .site-nav { display:flex; }
  html:not(.js) .menu-toggle { display:none; }
}
.listing-heading h3{font:500 clamp(1.4rem,2.6vw,1.8rem)/1.2 Georgia,"Times New Roman",serif;color:var(--forest);margin:0}


/* Stage 61: keep search centered on desktop, move it into the left-side menu on mobile. */
.header-search{flex:0 0 38px;display:flex;align-items:center;justify-content:center;line-height:1;padding:0;color:var(--forest)}
.header-search svg{display:block;flex:none}
.mobile-nav-search{display:none}
@media(max-width:1060px){
  .header-inner{justify-content:space-between}
  .menu-toggle{order:0;flex:0 0 auto;min-height:44px;display:flex;align-items:center;justify-content:center;gap:9px;padding:7px 10px;color:var(--forest);border:1px solid #d7dfd5;border-radius:8px}
  .menu-toggle .hamburger{font-size:1.2rem;line-height:1}
  .header-inner>.logo{order:1;margin-left:auto}
  .header-search{display:none}
  .site-nav{order:2}
  .mobile-nav-search{display:block;margin:0 0 11px;padding:0 0 18px;border-bottom:1px solid #dfe7dd}
  .mobile-nav-search label{display:block;margin:0 0 8px;color:var(--forest);font-size:.85rem;font-weight:750}
  .mobile-nav-search-row{display:flex;gap:8px}
  .mobile-nav-search input{min-width:0;flex:1;width:100%;padding:10px 12px;border:1px solid #b5c7b7;border-radius:7px;font:inherit;font-size:1rem;background:white;color:var(--forest)}
  .mobile-nav-search button{padding:10px 15px;min-height:44px;border:0;border-radius:7px;background:var(--forest);color:#fff;font:inherit;font-weight:700;cursor:pointer}
}
@media(max-width:420px){
  .menu-toggle{min-width:44px;padding:8px}
  .menu-toggle .menu-label{display:none}
  .brand-words strong{font-size:1.25rem}
  .brand-words small{font-size:.37rem}
}

/* Brand asset update: preserve current page geometry */
.brand-mark{background:transparent;overflow:hidden}
.brand-mark img{display:block;width:100%;height:100%;border-radius:12px}
.hero-scene .hero-custom-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:48% 50%;display:block}
.hero-scene:before{pointer-events:none;z-index:0}
.hero-scene .scene-caption,.hero-scene .scene-bottom{z-index:2}
