/* Erie Canal Guide — interim template styles. Field-guide identity (2026-07): Cinzel wordmark,
   Cormorant Garamond display, Libre Baskerville headings, Source Sans 3 body/UI. */
:root{
	/* palette — Canal Navy / Canal Gold / Cream */
	--ecg-navy:#0F2E56; --ecg-navy-2:#1c4372; --ecg-gold:#C9962C; --ecg-gold-dk:#7a5a17;
	--ecg-water:#2c5f7c; --ecg-cream:#F8F4EC; --ecg-ink:#1f2937; --ecg-muted:#6b7280;
	--ecg-line:#e6ded0; --ecg-max:960px;
	/* type system — --ecg-gold-dk is the AA-safe gold for small text on cream */
	--ecg-logo:"Cinzel",Georgia,"Times New Roman",serif;
	--ecg-display:"Cormorant Garamond",Georgia,"Times New Roman",serif;
	--ecg-serif:"Libre Baskerville",Georgia,"Times New Roman",serif;
	--ecg-sans:"Source Sans 3",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
.ecg-body{margin:0;background:var(--ecg-cream);color:var(--ecg-ink);
	font-family:var(--ecg-sans);
	line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
.ecg-body a{color:var(--ecg-water);text-decoration:none;}
.ecg-body a:hover{text-decoration:underline;}

/* masthead */
.ecg-masthead{background:var(--ecg-navy);}
.ecg-brand{display:flex;flex-direction:row;align-items:center;gap:15px;max-width:var(--ecg-max);margin:0 auto;
	padding:13px 20px;text-decoration:none;}
.ecg-brand:hover{text-decoration:none;}
.ecg-brand-mark{width:58px;height:58px;flex:none;display:block;}
.ecg-brand-text{display:flex;flex-direction:column;gap:3px;}

/* canal-line motif — the real Erie Canal centerline (35 lock coords), a recurring map device */
.ecg-canal-line{display:block;width:100%;height:20px;}
.ecg-route{background:var(--ecg-navy);}                                  /* continues the masthead */
.ecg-route .ecg-canal-line{height:22px;}
.ecg-route-line{color:var(--ecg-gold);opacity:.9;}
.ecg-canal-divider{max-width:var(--ecg-max);margin:2px auto 30px;padding:0 20px;}
.ecg-canal-divider .ecg-canal-line{height:26px;}
.ecg-divider-line{color:var(--ecg-gold-dk);opacity:.5;}
.ecg-footer-route{max-width:var(--ecg-max);margin:0 auto;padding:22px 0 8px;}
.ecg-footer-route .ecg-canal-line{height:26px;}
.ecg-footer-line{color:var(--ecg-gold);opacity:.6;}

/* primary nav + mega menu */
.ecg-masthead{position:relative;z-index:50;}
.ecg-masthead-inner{max-width:var(--ecg-max);margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;}
.ecg-masthead-inner .ecg-brand{max-width:none;margin:0;padding:12px 0;}
.ecg-nav-toggle{display:none;}
.ecg-nav-list{list-style:none;display:flex;gap:0;margin:0;padding:0;align-items:center;}
.ecg-nav-item{position:relative;}
.ecg-nav-item>a{display:flex;align-items:center;gap:5px;color:#e7ecf4;font-family:var(--ecg-sans);font-weight:600;
	font-size:.8rem;letter-spacing:.09em;text-transform:uppercase;padding:20px 12px;text-decoration:none;border-bottom:2px solid transparent;}
.ecg-nav-item>a:hover{color:#fff;text-decoration:none;border-bottom-color:var(--ecg-gold);}
.ecg-caret{font-size:.62rem;opacity:.75;}
.ecg-mega{position:absolute;top:100%;left:0;z-index:60;min-width:600px;max-width:88vw;
	background:#fff;border:1px solid var(--ecg-line);border-top:3px solid var(--ecg-gold);border-radius:0 0 14px 14px;
	box-shadow:0 20px 44px rgba(15,46,86,.24);opacity:0;visibility:hidden;pointer-events:none;
	transform:translateY(7px);transition:opacity .14s ease,transform .14s ease;}
.ecg-nav-item.has-mega:hover .ecg-mega,.ecg-nav-item.has-mega:focus-within .ecg-mega{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);}
.ecg-nav-item:last-child .ecg-mega{left:auto;right:0;} /* History (rightmost) opens leftward */
.ecg-mega-inner{display:grid;gap:14px 26px;padding:22px 26px;}
.ecg-mega-sections{grid-template-columns:repeat(3,minmax(158px,1fr));}
.ecg-mega-history{grid-template-columns:minmax(196px,1fr) 2fr;min-width:560px;}
.ecg-mega-col h4{font-family:var(--ecg-sans);font-size:.66rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
	color:var(--ecg-gold-dk);margin:0 0 9px;border:0;padding:0;}
.ecg-mega-col ul{list-style:none;margin:0;padding:0;}
.ecg-mega-col li{margin:0 0 2px;}
.ecg-mega-col a{color:var(--ecg-navy);font-size:.9rem;line-height:1.35;text-decoration:none;display:block;padding:2px 0;}
.ecg-mega-col a:hover{color:var(--ecg-water);text-decoration:none;}
.ecg-mega-feature{border-right:1px solid var(--ecg-line);padding-right:22px;}
.ecg-mega-cornerstone{font-family:var(--ecg-serif);font-weight:700;font-size:1.02rem;color:var(--ecg-navy);display:block;margin:0 0 10px;line-height:1.28;}
.ecg-mega-all{font-size:.8rem;font-weight:700;letter-spacing:.04em;color:var(--ecg-gold-dk);}
.ecg-mega-featlist ul{columns:2;column-gap:26px;}
.ecg-mega-featlist li{break-inside:avoid;}

@media(max-width:900px){
	.ecg-masthead-inner{padding:0 16px;}
	.ecg-nav{width:100%;}
	.ecg-nav-toggle{display:inline-flex;align-items:center;gap:9px;position:absolute;top:20px;right:16px;
		background:transparent;border:1px solid rgba(255,255,255,.32);color:#fff;font-family:var(--ecg-sans);
		font-weight:700;font-size:.74rem;letter-spacing:.11em;text-transform:uppercase;padding:8px 13px;border-radius:8px;cursor:pointer;}
	.ecg-nav-bars,.ecg-nav-bars::before,.ecg-nav-bars::after{display:block;width:16px;height:2px;background:#fff;}
	.ecg-nav-bars{position:relative;}
	.ecg-nav-bars::before,.ecg-nav-bars::after{content:"";position:absolute;left:0;}
	.ecg-nav-bars::before{top:-5px;} .ecg-nav-bars::after{top:5px;}
	.ecg-nav-list{display:none;flex-direction:column;width:100%;gap:0;padding:4px 0 12px;}
	.ecg-nav.is-open .ecg-nav-list{display:flex;}
	.ecg-nav-item{width:100%;}
	.ecg-nav-item>a{padding:12px 2px;font-size:.88rem;letter-spacing:.06em;border-bottom:1px solid rgba(255,255,255,.12);}
	.ecg-mega{position:static;transform:none;opacity:1;visibility:visible;pointer-events:auto;display:none;
		min-width:0;max-width:none;background:transparent;border:0;box-shadow:none;border-radius:0;}
	.ecg-nav-item.has-mega.open .ecg-mega{display:block;}
	.ecg-mega-inner{grid-template-columns:1fr !important;gap:10px;padding:2px 0 12px 12px;min-width:0;}
	.ecg-mega-col h4{color:var(--ecg-gold);}
	.ecg-mega-col a,.ecg-mega-cornerstone{color:#dbe4f0;}
	.ecg-mega-feature{border-right:0;padding-right:0;}
	.ecg-mega-featlist ul{columns:1;}
}
.ecg-brand-name{font-family:var(--ecg-logo);color:#fff;font-size:1.5rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;}
.ecg-brand-tag{font-family:var(--ecg-sans);color:var(--ecg-gold);font-size:.7rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;}

/* layout */
.ecg-main{max-width:var(--ecg-max);margin:0 auto;padding:24px 20px 48px;}
.ecg-breadcrumb{font-size:.82rem;color:var(--ecg-muted);margin:8px 0 22px;}
.ecg-breadcrumb a{color:var(--ecg-muted);}

/* hero */
.ecg-hero{border-bottom:1px solid var(--ecg-line);padding-bottom:22px;margin-bottom:26px;}
.ecg-eyebrow{display:flex;gap:10px;align-items:center;margin-bottom:12px;flex-wrap:wrap;}
.ecg-badge{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
	padding:4px 11px;border-radius:999px;color:#fff;}
.ecg-badge.is-nys{background:var(--ecg-water);}
.ecg-badge.is-federal{background:var(--ecg-gold-dk);}
.ecg-tag{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
	color:var(--ecg-navy);border:1px solid var(--ecg-line);padding:3px 10px;border-radius:999px;background:#fff;}
.ecg-title{font-family:var(--ecg-display);font-size:3rem;line-height:1.04;margin:.06em 0 .16em;
	color:var(--ecg-navy);font-weight:700;letter-spacing:0;}
.ecg-sub{margin:0;color:var(--ecg-muted);font-size:1.02rem;}
/* ambient "which waterway / which canal era" tag */
.ecg-waterway{margin:14px 0 0;display:inline-block;font-size:.83rem;font-weight:600;color:var(--ecg-water);
	background:#eef4f7;border:1px solid #d5e3ea;border-left:3px solid var(--ecg-water);
	border-radius:6px;padding:7px 13px;line-height:1.4;}
.ecg-waterway strong{color:var(--ecg-navy);}
.ecg-waterway-link{display:inline-block;margin-left:4px;font-weight:700;color:var(--ecg-gold-dk);white-space:nowrap;border-bottom:1px solid transparent;}
.ecg-waterway-link:hover{border-bottom-color:var(--ecg-gold-dk);text-decoration:none;}
/* featured deep-dive story block (section hubs) */
.ecg-story{background:#fff;border:1px solid var(--ecg-line);border-radius:14px;padding:4px 24px 10px;margin-bottom:28px;}
/* history feature articles + the /history/ hub */
.ecg-tag.is-accent{background:var(--ecg-gold);color:var(--ecg-navy);border-color:var(--ecg-gold-dk);}
.ecg-feature{max-width:760px;margin:0 auto;}
.ecg-feature-head{border-bottom:1px solid var(--ecg-line);padding-bottom:18px;margin-bottom:24px;}
.ecg-feature-title{font-family:var(--ecg-display);font-weight:700;font-size:3.2rem;line-height:1.02;letter-spacing:0;}
.ecg-deck{font-family:var(--ecg-display);font-size:1.5rem;line-height:1.45;color:var(--ecg-navy-2);font-style:italic;font-weight:600;margin:.5em 0 0;}
.ecg-feature-hero{margin:0 0 26px;}
.ecg-feature-hero img{width:100%;height:auto;border-radius:12px;display:block;}
.ecg-feature-hero figcaption{font-size:.8rem;color:var(--ecg-muted);margin-top:6px;}
.ecg-feature-body{font-size:1.08rem;line-height:1.72;}
.ecg-feature-body h2{font-family:var(--ecg-serif);font-weight:700;font-size:1.4rem;line-height:1.28;color:var(--ecg-navy);border-left:4px solid var(--ecg-gold);padding-left:13px;margin:1.9em 0 .5em;}
.ecg-feature-body h3{font-family:var(--ecg-serif);font-weight:700;font-size:1.12rem;color:var(--ecg-navy-2);margin:1.6em 0 .4em;}
.ecg-feature-body a{color:var(--ecg-water);border-bottom:1px solid #cfe0e8;}
.ecg-feature-body a:hover{border-bottom-color:var(--ecg-water);}
.ecg-feature-sources{margin-top:34px;}
.ecg-feature-sources .ecg-prose{font-size:.9rem;color:var(--ecg-muted);}
/* inline diagram */
.ecg-diagram-fig{margin:26px 0;padding:18px;background:#fff;border:1px solid var(--ecg-line);border-radius:14px;box-shadow:0 6px 22px rgba(22,35,63,.06);overflow-x:auto;}
.ecg-diagram{display:block;width:100%;height:auto;max-width:100%;}
/* /history/ hub cards */
.ecg-hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin:24px 0 8px;}
.ecg-hub-card{display:block;background:#fff;border:1px solid var(--ecg-line);border-radius:14px;padding:20px 22px;transition:transform .12s,box-shadow .12s,border-color .12s;}
.ecg-hub-card:hover{text-decoration:none;transform:translateY(-2px);box-shadow:0 8px 24px rgba(22,35,63,.10);border-color:var(--ecg-gold);}
.ecg-hub-card.is-cornerstone{grid-column:1/-1;background:var(--ecg-navy);border-color:var(--ecg-gold);}
.ecg-hub-card.is-cornerstone .ecg-hub-title,.ecg-hub-card.is-cornerstone .ecg-hub-deck{color:#fff;}
.ecg-hub-kicker{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ecg-gold-dk);}
.ecg-hub-card.is-cornerstone .ecg-hub-kicker{color:var(--ecg-gold);}
.ecg-hub-title{font-family:var(--ecg-serif);font-size:1.2rem;font-weight:700;color:var(--ecg-navy);margin:4px 0 8px;line-height:1.3;}
.ecg-hub-deck{font-size:.95rem;color:var(--ecg-muted);line-height:1.5;}

/* /history/ hub — magazine feature cards */
.ecg-hero-history{border-bottom:0;margin-bottom:18px;}
.ecg-featgrid-heading{font-family:var(--ecg-serif);font-weight:700;font-size:1.4rem;color:var(--ecg-navy);margin:10px 0 16px;padding-bottom:8px;border-bottom:2px solid var(--ecg-line);}
.ecg-featgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(272px,1fr));gap:22px;margin:0 0 34px;}
.ecg-featgrid-lead{grid-template-columns:1fr;margin-bottom:30px;}
.ecg-featgrid>*{height:100%;}
.ecg-featcard{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid var(--ecg-line);border-radius:14px;overflow:hidden;
	text-decoration:none;transition:transform .12s,box-shadow .12s,border-color .12s;}
.ecg-featcard:hover{text-decoration:none;transform:translateY(-3px);box-shadow:0 12px 30px rgba(15,46,86,.15);border-color:var(--ecg-gold);}
.ecg-featcard-media{display:block;aspect-ratio:16/10;overflow:hidden;background:#e8eef2;flex:none;}
.ecg-featcard-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease;}
.ecg-featcard:hover .ecg-featcard-media img{transform:scale(1.04);}
.ecg-featcard-body{display:flex;flex-direction:column;gap:7px;padding:17px 20px 18px;flex:1 1 auto;}
.ecg-featcard-title{font-family:var(--ecg-serif);font-weight:700;font-size:1.1rem;line-height:1.26;color:var(--ecg-navy);}
.ecg-featcard-deck{font-size:.89rem;line-height:1.5;color:var(--ecg-muted);
	display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.ecg-featcard-cta{font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ecg-gold-dk);margin-top:auto;padding-top:8px;}
/* magazine departments */
.ecg-dept{margin:0 0 32px;}
.ecg-dept-heading{display:flex;align-items:center;gap:18px;font-family:var(--ecg-serif);font-weight:700;font-size:1.3rem;
	color:var(--ecg-navy);margin:8px 0 18px;}
.ecg-dept-heading span{flex:none;}
.ecg-dept-heading::after{content:"";flex:1;height:2px;background:var(--ecg-line);}
.ecg-featcard.is-corner{flex-direction:row;background:linear-gradient(120deg,var(--ecg-navy),var(--ecg-navy-2));border-color:var(--ecg-gold);}
.ecg-featcard.is-corner .ecg-featcard-media{flex:0 0 45%;aspect-ratio:auto;min-height:300px;}
.ecg-featcard.is-corner .ecg-featcard-body{justify-content:center;padding:32px 36px;gap:10px;}
.ecg-featcard.is-corner .ecg-hub-kicker{color:var(--ecg-gold);}
.ecg-featcard.is-corner .ecg-featcard-title{color:#fff;font-size:1.9rem;line-height:1.12;}
.ecg-featcard.is-corner .ecg-featcard-deck{color:#c8d3e4;font-size:1.02rem;line-height:1.55;}
.ecg-featcard.is-corner .ecg-featcard-cta{color:var(--ecg-gold);font-size:.8rem;}
@media(max-width:640px){ .ecg-featcard.is-corner{flex-direction:column;} .ecg-featcard.is-corner .ecg-featcard-media{flex:none;min-height:0;aspect-ratio:16/10;} .ecg-featcard.is-corner .ecg-featcard-title{font-size:1.5rem;} }

/* single feature — drop cap + related */
.ecg-feature-body>p:first-of-type::first-letter{font-family:var(--ecg-display);font-weight:700;font-size:3.6rem;line-height:.82;
	float:left;margin:.06em .1em -.02em 0;color:var(--ecg-gold-dk);}
.ecg-feature-related{max-width:760px;margin:38px auto 0;border-top:2px solid var(--ecg-line);padding-top:22px;}
.ecg-feature-related h2{font-family:var(--ecg-serif);font-weight:700;font-size:1.3rem;color:var(--ecg-navy);margin:0 0 16px;}
.ecg-feature-related .ecg-featgrid{grid-template-columns:repeat(3,1fr);}
@media(max-width:640px){ .ecg-feature-related .ecg-featgrid{grid-template-columns:1fr;} }

/* stats grid */
.ecg-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin:0 0 30px;}
.ecg-stat{background:#fff;border:1px solid var(--ecg-line);border-radius:12px;padding:16px 18px;
	display:flex;flex-direction:column;gap:3px;box-shadow:0 1px 0 rgba(22,35,63,.03);}
.ecg-stat-label{font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ecg-muted);}
.ecg-stat-value{font-size:1.25rem;font-weight:700;color:var(--ecg-navy);}
.ecg-stat-sub{font-size:.8rem;color:var(--ecg-muted);}

/* sections */
.ecg-section{margin:0 0 30px;}
.ecg-section h2{font-family:var(--ecg-serif);font-weight:700;font-size:1.3rem;line-height:1.25;color:var(--ecg-navy);
	border-left:4px solid var(--ecg-gold);padding-left:13px;margin:0 0 12px;}
.ecg-prose{font-size:1.05rem;}
.ecg-prose p{margin:0 0 1em;}

/* verification */
.ecg-verify{display:flex;flex-wrap:wrap;gap:12px;align-items:center;background:#fff;
	border:1px solid var(--ecg-line);border-radius:10px;padding:12px 16px;font-size:.85rem;}
.ecg-conf{font-weight:700;}
.ecg-conf-verified{color:#2f7a3f;}
.ecg-conf-partial{color:var(--ecg-gold-dk);}
.ecg-conf-unverified{color:#b23b3b;}
.ecg-src{color:var(--ecg-muted);}

/* footer */
.ecg-footer{background:var(--ecg-navy);color:#cdd6e6;margin-top:44px;padding:0 20px;}
.ecg-fine{font-size:.78rem;color:var(--ecg-gold);}
.ecg-footer-cols{max-width:var(--ecg-max);margin:0 auto;display:grid;grid-template-columns:1.7fr 1fr 1fr 1.35fr;gap:30px;padding:16px 0 34px;}
.ecg-footer-brand{max-width:350px;}
.ecg-footer-mark{display:block;margin:0 0 12px;}
.ecg-footer-name{font-family:var(--ecg-logo);font-size:1.05rem;letter-spacing:.09em;text-transform:uppercase;color:#fff;margin:0 0 9px;}
.ecg-footer-blurb{font-size:.86rem;line-height:1.55;color:#b9c4d8;margin:0;}
.ecg-footer-col h4{font-family:var(--ecg-sans);font-size:.69rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--ecg-gold);margin:4px 0 12px;border:0;padding:0;}
.ecg-footer-col ul{list-style:none;margin:0;padding:0;}
.ecg-footer-col li{margin:0 0 7px;line-height:1.3;}
.ecg-footer-col a{color:#cdd6e6;font-size:.88rem;text-decoration:none;}
.ecg-footer-col a:hover{color:#fff;text-decoration:underline;}
.ecg-footer-col a strong{color:var(--ecg-gold);}
.ecg-footer-bar{border-top:1px solid rgba(255,255,255,.12);}
.ecg-footer-legal{max-width:var(--ecg-max);margin:0 auto;padding:16px 20px 0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;}
.ecg-footer-legal a{color:#b9c4d8;font-size:.8rem;letter-spacing:.02em;}
.ecg-footer-legal a:hover{color:var(--ecg-gold);}
.ecg-footer-bar .ecg-fine{max-width:var(--ecg-max);margin:0 auto;padding:10px 0 22px;text-align:center;font-size:.75rem;color:#8ea0bd;}

/* Utility pages (about / contact / privacy / terms / affiliate disclosure) */
.ecg-page{max-width:760px;margin:0 auto;}
.ecg-page-head{margin:0 0 20px;}
.ecg-page-body p,.ecg-page-body li{font-family:var(--ecg-serif);line-height:1.75;}
.ecg-page-body h2{font-family:var(--ecg-display);color:var(--ecg-navy);font-size:1.7rem;font-weight:700;margin:1.6em 0 .35em;}
.ecg-page-body h3{font-family:var(--ecg-sans);font-weight:700;color:var(--ecg-navy);font-size:1.02rem;margin:1.4em 0 .3em;}
.ecg-page-body a{color:var(--ecg-water);text-decoration:underline;}
.ecg-page-body .ecg-updated{font-size:.85rem;color:var(--ecg-muted);font-style:italic;margin-bottom:1.6em;}
@media(max-width:760px){ .ecg-footer-cols{grid-template-columns:1fr 1fr;gap:24px;} .ecg-footer-brand{grid-column:1/-1;max-width:none;} }
@media(max-width:460px){ .ecg-footer-cols{grid-template-columns:1fr;} }

/* card grid (archives) */
.ecg-cardgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:14px;margin:6px 0 20px;}
.ecg-card{background:#fff;border:1px solid var(--ecg-line);border-radius:12px;padding:16px 18px;
	display:flex;flex-direction:column;gap:6px;text-decoration:none;transition:transform .12s,box-shadow .12s,border-color .12s;}
.ecg-card:hover{text-decoration:none;transform:translateY(-2px);box-shadow:0 6px 20px rgba(22,35,63,.10);border-color:var(--ecg-gold);}
.ecg-card-top{display:flex;align-items:center;justify-content:space-between;}
.ecg-card-num{font-size:1.5rem;font-weight:700;color:var(--ecg-navy);letter-spacing:-.01em;}
.ecg-chip{font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;
	padding:3px 8px;border-radius:999px;}
.ecg-chip.is-nys{background:var(--ecg-water);}
.ecg-chip.is-federal{background:var(--ecg-gold-dk);}
.ecg-card-title{font-size:1.05rem;font-weight:700;color:var(--ecg-ink);}
.ecg-card-meta{font-size:.85rem;color:var(--ecg-muted);}

/* amenity pills (marina) */
.ecg-amenities{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px;}
.ecg-amenity{font-size:.8rem;font-weight:600;color:var(--ecg-navy);background:#fff;border:1px solid var(--ecg-line);
	padding:6px 12px;border-radius:999px;}
.ecg-amenity.no{color:#b0b3ba;text-decoration:line-through;background:#faf9f6;}
.ecg-amenity .dot{color:#2f7a3f;font-weight:800;margin-right:5px;}

/* section hub */
.ecg-lead{font-size:1.12rem;color:#374151;margin-top:14px;}
.ecg-lead p:first-child{margin-top:0;}
.ecg-whatshere{margin:6px 0 30px;}
.ecg-whatshere h2{font-family:var(--ecg-sans);font-size:.92rem;color:var(--ecg-gold-dk);text-transform:uppercase;letter-spacing:.14em;
	font-weight:700;margin:0 0 14px;border:0;padding:0;}
.ecg-modal-block{margin:0 0 26px;padding:0 0 22px;border-bottom:1px solid var(--ecg-line);}
.ecg-modal-block:last-of-type{border-bottom:none;}
.ecg-modal-block h2{font-family:var(--ecg-serif);font-weight:700;font-size:1.35rem;line-height:1.25;color:var(--ecg-navy);margin:0 0 12px;display:flex;align-items:center;gap:10px;}
.ecg-modal-icon{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;
	background:var(--ecg-navy);color:#fff;border-radius:10px;font-size:1.1rem;}
.ecg-modal-block .ecg-prose ul{margin:0 0 1em;padding-left:1.2em;}
.ecg-modal-block .ecg-prose li{margin:.3em 0;}

/* homepage */
.ecg-home-hero{text-align:center;padding:14px 0 20px;}
.ecg-home-title{font-family:var(--ecg-display);font-size:3.6rem;line-height:1.02;color:var(--ecg-navy);font-weight:700;letter-spacing:0;margin:0 0 14px;}
.ecg-home-tag{font-size:1.12rem;color:#374151;max-width:720px;margin:0 auto;}
.ecg-map-wrap{margin:8px 0 34px;}
#ecg-map{height:520px;width:100%;border-radius:14px;border:1px solid var(--ecg-line);box-shadow:0 4px 24px rgba(22,35,63,.08);background:#e8eef2;z-index:0;}
.ecg-map-legend{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:14px;}
.ecg-legend-item{display:inline-flex;align-items:center;gap:7px;font-size:.85rem;font-weight:600;color:var(--ecg-navy);
	background:#fff;border:1px solid var(--ecg-line);border-radius:999px;padding:6px 14px;cursor:pointer;transition:opacity .12s,background .12s;}
.ecg-legend-item:not(.is-on){opacity:.4;background:#f3f1ec;}
.ecg-legend-dot{width:12px;height:12px;border-radius:50%;display:inline-block;border:1.5px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.08);}

.ecg-explore{margin:0 0 34px;}
.ecg-explore h2,.ecg-home-about h2{font-family:var(--ecg-serif);font-weight:700;font-size:1.5rem;color:var(--ecg-navy);text-align:center;margin:0 0 18px;}
.ecg-explore-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:14px;}
.ecg-explore-card{display:flex;flex-direction:column;gap:3px;background:var(--ecg-navy);color:#fff;border-radius:14px;padding:20px 18px;
	text-decoration:none;transition:transform .12s,box-shadow .12s;border-bottom:3px solid var(--ecg-gold);}
.ecg-explore-card:hover{text-decoration:none;transform:translateY(-3px);box-shadow:0 10px 26px rgba(22,35,63,.22);}
.ecg-explore-count{font-family:var(--ecg-display);font-size:2.6rem;font-weight:700;color:var(--ecg-gold);line-height:1;}
.ecg-explore-name{font-size:1.05rem;font-weight:700;}
.ecg-explore-sub{font-size:.8rem;color:#cdd6e6;}
.ecg-home-about{text-align:center;max-width:760px;margin:0 auto 10px;}
.ecg-home-about .ecg-prose{font-size:1.08rem;color:#374151;}

/* ---- media (Session 03): figures, credits, gallery, video ---- */
/* responsive credited figures */
.ecg-figure,.ecg-hero-figure{margin:0 0 22px;}
.ecg-hero-figure{margin:2px 0 26px;}
.ecg-figure img,.ecg-hero-figure img{width:100%;height:auto;display:block;border-radius:12px;
	box-shadow:0 6px 22px rgba(22,35,63,.10);background:#e8eef2;}
.ecg-credit{font-size:.78rem;color:var(--ecg-muted);margin-top:7px;line-height:1.4;}
.ecg-credit a{color:var(--ecg-muted);border-bottom:1px solid #d8d4c8;}
.ecg-credit a:hover{color:var(--ecg-water);text-decoration:none;border-bottom-color:var(--ecg-water);}
.ecg-credit .ecg-lic{white-space:nowrap;}

/* branded hero fallback — no-photo pages get a navy canal ribbon + crest watermark */
.ecg-brandhero{position:relative;overflow:hidden;height:168px;margin:2px 0 26px;border-radius:14px;
	background:linear-gradient(120deg,var(--ecg-navy) 0%,var(--ecg-navy-2) 100%);box-shadow:0 6px 22px rgba(15,46,86,.14);}
.ecg-brandhero-canal{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);padding:0 26px;}
.ecg-brandhero-canal .ecg-canal-line{height:78px;}
.ecg-brandhero-line{color:var(--ecg-gold);opacity:.48;}
.ecg-brandhero-crest{position:absolute;right:-12px;bottom:-16px;width:132px;height:132px;opacity:.16;pointer-events:none;}
.ecg-brandhero-kind{position:absolute;left:24px;top:17px;font-family:var(--ecg-sans);font-size:.7rem;font-weight:700;
	letter-spacing:.17em;text-transform:uppercase;color:rgba(255,255,255,.6);}
@media(max-width:520px){ .ecg-brandhero{height:130px;} .ecg-brandhero-canal .ecg-canal-line{height:56px;} }

/* gallery */
.ecg-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin:6px 0 8px;}
.ecg-gallery-item{margin:0;min-width:0;}
.ecg-gallery-item img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:10px;background:#e8eef2;}
.ecg-gallery-item .ecg-credit{font-size:.72rem;margin-top:5px;}

/* privacy-first video facade */
.ecg-video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;}
.ecg-video{position:relative;display:flex;flex-direction:column;justify-content:flex-end;
	aspect-ratio:16/9;width:100%;padding:16px;border:0;cursor:pointer;text-align:left;
	border-radius:12px;overflow:hidden;color:#fff;
	background:linear-gradient(160deg,var(--ecg-navy-2),var(--ecg-navy));
	box-shadow:0 6px 22px rgba(22,35,63,.14);transition:transform .12s,box-shadow .12s;}
.ecg-video:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(22,35,63,.22);}
.ecg-video-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
	width:62px;height:62px;display:flex;align-items:center;justify-content:center;
	background:rgba(201,162,75,.95);color:var(--ecg-navy);border-radius:50%;
	font-size:1.5rem;padding-left:5px;box-shadow:0 4px 14px rgba(0,0,0,.3);transition:background .12s;}
.ecg-video:hover .ecg-video-play{background:var(--ecg-gold);}
.ecg-video-title{position:relative;font-size:.92rem;font-weight:600;line-height:1.35;
	text-shadow:0 1px 3px rgba(0,0,0,.5);}
.ecg-video.is-playing{aspect-ratio:16/9;padding:0;cursor:default;background:#000;}
.ecg-video.is-playing:hover{transform:none;}
.ecg-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:12px;}

/* archive card thumbnails */
.ecg-card-media{display:block;margin:-16px -18px 12px;border-radius:12px 12px 0 0;overflow:hidden;
	aspect-ratio:16/10;background:#e8eef2;}
.ecg-card-media img{width:100%;height:100%;object-fit:cover;display:block;}

/* homepage hero image band */
.ecg-home-hero.has-image{position:relative;background-size:cover;background-position:center;
	border-radius:16px;padding:52px 26px 46px;margin:0 0 14px;overflow:hidden;
	box-shadow:0 8px 30px rgba(22,35,63,.18);}
.ecg-home-hero.has-image .ecg-home-title{color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.35);}
.ecg-home-hero.has-image .ecg-home-tag{color:#eef2f7;text-shadow:0 1px 6px rgba(0,0,0,.4);}
.ecg-home-hero-credit{position:absolute;right:10px;bottom:8px;font-size:.68rem;color:rgba(255,255,255,.8);}
.ecg-home-hero-credit a{color:rgba(255,255,255,.85);text-decoration:underline;}

@media(max-width:520px){ .ecg-title{font-size:2.3rem;} .ecg-feature-title{font-size:2.4rem;} .ecg-home-title{font-size:2.5rem;}
	.ecg-deck{font-size:1.28rem;} #ecg-map{height:400px;}
	.ecg-home-hero.has-image{padding:34px 18px 30px;} }
/* Places to Eat — featured tier */
.ecg-chip.is-featured{background:var(--ecg-gold);color:#fff;border-color:var(--ecg-gold);}
.ecg-card.is-featured{border-color:var(--ecg-gold);box-shadow:0 0 0 1px var(--ecg-gold) inset;}
.ecg-card-offer{display:block;margin-top:.35rem;font-size:.85rem;color:var(--ecg-gold);font-weight:600;}
.ecg-eat .ecg-card-meta{color:var(--ecg-water);}

/* Places archive — category filter */
.ecg-place-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.5rem;}
.ecg-filter{background:transparent;border:1px solid var(--ecg-line);color:var(--ecg-ink);border-radius:999px;padding:.35rem .85rem;font:inherit;font-size:.9rem;cursor:pointer;transition:all .15s;}
.ecg-filter:hover{border-color:var(--ecg-gold);}
.ecg-filter.is-active{background:var(--ecg-navy);border-color:var(--ecg-navy);color:#fff;}
.ecg-filter-n{opacity:.6;font-size:.8em;margin-left:.15rem;}

/* Provisions & Shops */
.ecg-chip.is-shop{background:var(--ecg-water);color:#fff;border-color:var(--ecg-water);}
.ecg-shop .ecg-card-meta{color:var(--ecg-water);}

/* ============================================================
   Session 04b — facet landing pages + region pages
   ============================================================ */
.ecg-facet-count{margin:.4rem 0 0;color:var(--ecg-gold-dk);font-family:var(--ecg-sans);
	font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;}
.ecg-facet-intro{max-width:var(--ecg-max);margin:0 0 24px;}
.ecg-facet-intro p{margin:0 0 1em;}
.ecg-facet-intro h2{font-family:var(--ecg-serif);font-size:1.3rem;color:var(--ecg-navy);
	margin:1.4em 0 .5em;padding-bottom:.25em;border-bottom:1px solid var(--ecg-line);}
.ecg-facet-intro ul{margin:0 0 1em;padding-left:1.2em;}
.ecg-facet-intro li{margin:.3em 0;}
.ecg-card-amen{color:#2f7a3f;font-weight:600;}
.ecg-facet-empty{color:var(--ecg-muted);font-style:italic;margin:0 0 24px;}
.ecg-facet-crosslinks{border-top:2px solid var(--ecg-line);margin-top:30px;padding-top:20px;}
.ecg-facet-crosslinks h2{font-family:var(--ecg-serif);font-size:1.15rem;color:var(--ecg-navy);margin:0 0 12px;}
.ecg-crosslink-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px;}
.ecg-crosslink-list li{margin:0;}
.ecg-crosslink-list a{color:var(--ecg-water);font-weight:600;font-size:.98rem;text-decoration:none;
	border-bottom:1px solid transparent;}
.ecg-crosslink-list a:hover{border-bottom-color:var(--ecg-water);}
.ecg-region-towns{margin:8px 0 26px;}
.ecg-region-towns>h2{font-family:var(--ecg-serif);font-size:1.3rem;color:var(--ecg-navy);
	margin:0 0 14px;padding-bottom:.25em;border-bottom:1px solid var(--ecg-line);}

/* Sources block (rendered at the foot of /plan/ + /faq/ prose) */
.ecg-sources{border-top:1px solid var(--ecg-line);margin-top:28px;padding-top:16px;
	font-size:.85rem;color:var(--ecg-muted);}
.ecg-sources h2{font-family:var(--ecg-serif);font-size:1rem;color:var(--ecg-navy);margin:0 0 8px;}
.ecg-sources ol{margin:0;padding-left:1.4em;}
.ecg-sources li{margin:.25em 0;}
.ecg-sources a{color:var(--ecg-water);}

/* FAQ — visible Q&A blocks */
.ecg-faq-item{border-bottom:1px solid var(--ecg-line);padding:16px 0;}
.ecg-faq-item:first-of-type{border-top:1px solid var(--ecg-line);}
.ecg-faq-q{font-family:var(--ecg-serif);font-size:1.12rem;font-weight:700;color:var(--ecg-navy);margin:0 0 .4em;}
.ecg-faq-a{margin:0;color:var(--ecg-ink);}
.ecg-faq-a p{margin:0 0 .6em;}
.ecg-faq-a p:last-child{margin-bottom:0;}

/* Plan hub — guide cards */
.ecg-plan-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin:6px 0 24px;}
.ecg-plan-card{display:block;padding:20px 22px;border:1px solid var(--ecg-line);border-radius:12px;
	background:#fff;text-decoration:none;transition:box-shadow .15s,transform .15s;}
.ecg-plan-card:hover{box-shadow:0 6px 20px rgba(15,46,86,.10);transform:translateY(-2px);}
.ecg-plan-card h3{font-family:var(--ecg-serif);font-size:1.18rem;color:var(--ecg-navy);margin:0 0 .4em;}
.ecg-plan-card p{margin:0;color:var(--ecg-muted);font-size:.95rem;}

/* 04b — Plan mega panel + all-regions link */
.ecg-mega-plan{grid-template-columns:repeat(3,minmax(178px,1fr));min-width:600px;}
.ecg-mega-allregions{grid-column:1/-1;border-top:1px solid var(--ecg-line);padding-top:10px;margin-top:2px;}
.ecg-mega-allregions a{color:var(--ecg-gold-dk);font-size:.82rem;font-weight:700;letter-spacing:.04em;}

.ecg-filter-note{font-size:.85rem;color:var(--ecg-muted);margin:-6px 0 16px;}
.ecg-filter-note a{color:var(--ecg-water);}
