:root{
  color-scheme:light;
  --ink:#123f3b;
  --deep-teal:#0b3734;
  --teal:#17665d;
  --soft-teal:#e4f3ef;
  --cream:#fffaf2;
  --gold:#ffd36a;
  --coral:#ef7b68;
  --white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:inherit}
.skip{position:fixed;z-index:100;left:12px;top:-60px;background:#fff;color:#173e3c;padding:10px 14px}.skip:focus{top:12px}
.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}
.home-header{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:12px clamp(20px,4vw,64px);background:var(--deep-teal);color:#fff;border-bottom:1px solid rgba(255,255,255,.16)}
.home-brand{display:flex;align-items:center;gap:15px;text-decoration:none}
.home-brand img{display:block;width:118px;height:58px;object-fit:contain;filter:brightness(0) invert(1)}
.home-brand span{font-size:13px;line-height:1.25;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.68)}
.home-header nav{display:flex;align-items:center;gap:clamp(18px,3vw,42px)}
.home-header nav a{min-height:44px;display:inline-flex;align-items:center;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:700;color:rgba(255,255,255,.84)}
.home-header nav a:hover,.home-header nav a:focus-visible{color:#fff}
.photo-hero{position:relative;isolation:isolate;min-height:calc(100svh - 82px);overflow:hidden;display:flex;align-items:center;padding:clamp(42px,7vw,110px) clamp(22px,6vw,90px)}
.hero-photo{position:absolute;z-index:-3;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 63%;filter:saturate(1.04) brightness(.96)}
.photo-shade{position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,rgba(5,43,39,.9) 0%,rgba(8,53,48,.76) 40%,rgba(10,57,51,.3) 72%,rgba(8,45,41,.14) 100%),linear-gradient(0deg,rgba(5,37,34,.46),transparent 45%)}
.hero-copy{width:min(850px,72vw);color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.3)}
.eyebrow{margin:0 0 22px;text-transform:uppercase;letter-spacing:.16em;font-size:13px;line-height:1.5;font-weight:750;color:var(--gold)}
.hero-copy>.eyebrow::before{content:"";display:inline-block;width:30px;height:3px;margin:0 11px 3px 0;border-radius:999px;background:var(--coral)}
.hero-copy h1{max-width:830px;margin:0;font:400 clamp(3rem,7vw,7.4rem)/.94 Georgia,"Times New Roman",serif;letter-spacing:-.055em;text-wrap:balance}
.hero-copy h1 em{font-weight:400;color:#fff}
.hero-lede{max-width:690px;margin:28px 0 0;font-size:clamp(1.05rem,1.7vw,1.35rem);line-height:1.6;color:rgba(255,255,255,.87);text-shadow:0 2px 12px rgba(0,0,0,.45)}
.hero-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:34px;text-shadow:none}
.hero-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 20px;border-radius:5px;text-decoration:none;font-size:15px;font-weight:750}
.hero-primary{gap:22px;background:var(--gold);color:#173e3c;border:1px solid var(--gold)}
.hero-primary:hover{background:#ffdf86}
.hero-secondary{background:rgba(10,39,36,.55);border:1px solid rgba(255,255,255,.42);color:#fff;backdrop-filter:blur(7px)}
.hero-secondary:hover{background:rgba(10,39,36,.78)}
.hero-newsletter{max-width:760px;margin-top:34px;padding:18px 20px;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);align-items:center;gap:22px;background:rgba(9,34,32,.55);border:1px solid rgba(255,255,255,.24);border-radius:7px;backdrop-filter:blur(8px);text-shadow:none}
.hero-newsletter strong,.hero-newsletter span{display:block}.hero-newsletter strong{font:600 18px/1.35 Georgia,serif}.hero-newsletter span{margin-top:3px;font-size:13px;line-height:1.4;color:rgba(255,255,255,.76)}
.newsletter-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}
.newsletter-entry input,.newsletter-entry button{min-height:46px;border-radius:4px;font:inherit}
.newsletter-entry input{min-width:0;padding:10px 12px;background:rgba(255,255,255,.97);border:1px solid #fff;color:#173e3c;font-size:16px}
.newsletter-entry input::placeholder{color:#526562;opacity:1}
.newsletter-entry button{padding:10px 14px;border:1px solid var(--gold);background:var(--gold);color:#173e3c;font-size:14px;font-weight:750;opacity:1}
.photo-note{position:absolute;right:24px;bottom:18px;margin:0;color:rgba(255,255,255,.76);font-size:12px;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 1px 8px rgba(0,0,0,.55)}
.home-after{max-width:1240px;margin:0 auto;padding:48px 30px 70px;display:flex;align-items:end;justify-content:space-between;gap:28px}
.home-after .eyebrow{color:var(--teal);margin-bottom:8px}.home-after h2{font:400 clamp(2.1rem,4vw,3.4rem)/1 Georgia,serif;margin:0}
.quick-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}.quick-links a{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid #c4d9d3;border-radius:999px;text-decoration:none;background:#fff;font-size:14px}.quick-links a:hover{background:var(--soft-teal);border-color:#9bc7bd}.quick-links a:first-child{background:var(--soft-teal);border-color:#a8d3ca;color:#104b45;font-weight:700}
@media(max-width:820px){
  .home-header{align-items:flex-start;flex-direction:column;gap:3px;padding:10px 18px 8px}.home-brand img{width:96px;height:45px}.home-brand span{display:none}.home-header nav{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.home-header nav a{justify-content:center;font-size:10px;letter-spacing:.07em}
  .photo-hero{min-height:calc(100svh - 105px);align-items:flex-end;padding:70px 20px 34px}.hero-photo{object-position:center 58%}.photo-shade{background:linear-gradient(0deg,rgba(7,28,26,.92) 0%,rgba(8,30,28,.62) 52%,rgba(8,30,28,.12) 100%)}.hero-copy{width:100%}.hero-copy h1{font-size:clamp(2.65rem,11.5vw,4.8rem);line-height:.98;letter-spacing:-.05em}.hero-lede{font-size:1rem;line-height:1.5;margin-top:18px}.hero-actions{margin-top:22px}.hero-actions a{min-height:48px;padding:10px 14px}.hero-newsletter{grid-template-columns:1fr;margin-top:22px;padding:14px 15px;gap:12px}.photo-note{display:none}
  .home-after{display:block;padding:34px 20px 72px}.quick-links{justify-content:flex-start;margin-top:22px}
}
@media(max-width:440px){.hero-actions{display:grid;grid-template-columns:1fr}.hero-actions a{width:100%}.newsletter-entry{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* The welcome is independent of the directory's search layout. */
a:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
.home-after a:focus-visible{outline-color:var(--teal)}
.browse-note{margin:12px 0 0;font-size:14px;color:#e8f2ed}
.hero-newsletter{grid-template-columns:minmax(0,1fr) auto}
.hero-newsletter h2{margin:0;font:500 20px/1.3 Georgia,serif}
.hero-newsletter p{margin:6px 0 0;color:#e8f2ed;font-size:14px;line-height:1.5}
.hero-newsletter .newsletter-status{color:var(--gold);font-size:13px;line-height:1.5;max-width:125px}
.home-after{align-items:center}
.home-after h2{font-size:clamp(1.8rem,3.6vw,3rem);max-width:620px;line-height:1.1}
.home-after p:not(.eyebrow){max-width:600px;line-height:1.65;color:#486864}
.story-link{display:inline-flex;gap:16px;align-items:center;min-height:44px;line-height:1.5;max-width:220px;text-underline-offset:5px}
.home-footer{background:var(--deep-teal);color:white;padding:30px clamp(20px,4vw,64px);display:flex;justify-content:space-between;gap:25px;align-items:center}
.home-footer>a{font:italic 27px Georgia,serif;text-decoration:none}
.home-footer nav{display:flex;flex-wrap:wrap;gap:4px 24px}
.home-footer nav a{display:inline-flex;align-items:center;min-height:44px;font-size:14px}
@media(max-width:820px){
 .photo-hero{min-height:calc(100svh - 108px);padding-top:100px}
 .hero-newsletter{grid-template-columns:1fr;gap:7px}
 .hero-newsletter .newsletter-status{max-width:none}
 .home-after .story-link{max-width:none;margin-top:12px}
 .home-footer{display:block}
 .home-footer nav{margin-top:15px}
}

/* Home shows real plans (critic review 2026-09-29). */
.home-now,.home-quick,.home-towns{max-width:1240px;margin:0 auto;padding:36px 30px 0}
.home-now-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}
.home-now h2,.home-quick h2,.home-towns h2{font:400 clamp(1.7rem,3vw,2.4rem)/1.1 Georgia,serif;margin:0 0 16px}
.home-now-head a{font-weight:700;color:var(--teal)}
.home-picks{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.home-pick{display:grid;gap:4px;padding:16px 18px;border:1px solid #dfe6dc;border-left:5px solid var(--teal);border-radius:16px;background:var(--white);text-decoration:none;min-height:24px}
.home-pick strong{font-size:1.05rem;line-height:1.3}
.home-pick span{color:#4b5f58;font-size:.93rem}
.home-pick:hover strong,.home-pick:focus-visible strong{text-decoration:underline}
.home-hint{color:#4b5f58;margin:8px 0}
.home-chips{display:flex;flex-wrap:wrap;gap:10px}
.home-chips a{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border:1px solid var(--teal);border-radius:999px;background:var(--white);font-weight:600;text-decoration:none;color:var(--teal)}
.home-town-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.home-town-list a{display:flex;align-items:center;min-height:48px;padding:10px 16px;border-radius:14px;background:var(--soft-teal);font-weight:700;text-decoration:none}
@media(max-width:600px){.home-now,.home-quick,.home-towns{padding:28px 18px 0}}
