
:root{--blue:#123c7c;--blue2:#0b5ed7;--red:#c9252d;--ink:#172033;--muted:#667085;--paper:#f7f9fc;--line:#e4e8f0;--white:#fff;--gold:#f4b400;--shadow:0 20px 55px rgba(16,24,40,.12);--radius:22px;--max:1180px;--font:'Inter',system-ui,-apple-system,Segoe UI,sans-serif;--display:'Playfair Display',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);line-height:1.65}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.container{width:min(var(--max),calc(100% - 40px));margin-inline:auto}.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.92);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);box-shadow:0 8px 30px rgba(16,24,40,.05)}.nav-shell{min-height:76px;display:flex;align-items:center;gap:24px}.logo{font-weight:900;font-size:1.25rem;display:flex;align-items:center;gap:.55rem;color:var(--blue)}.logo-mark{font-size:1.65rem}.main-nav{margin-left:auto;display:flex;align-items:center;gap:20px}.main-nav ul{display:flex;gap:6px;list-style:none;margin:0;padding:0}.nav-link{display:inline-flex;padding:.72rem .9rem;border-radius:999px;font-weight:800;color:#344054}.nav-link:hover,.nav-link[aria-current="page"]{background:#edf4ff;color:var(--blue2)}.nav-shop{background:#fff4e5;color:#9a5b00}.has-dropdown{position:relative}.dropdown-menu{display:none;position:absolute;top:100%;left:0;min-width:230px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:10px}.has-dropdown:hover .dropdown-menu{display:grid}.dropdown-menu a{padding:10px 12px;border-radius:12px;font-weight:700;color:#475467}.dropdown-menu a:hover{background:#f2f7ff;color:var(--blue)}.site-search{position:relative;display:flex;background:#fff;border:1px solid var(--line);border-radius:999px;overflow:hidden;box-shadow:0 10px 20px rgba(16,24,40,.05)}.site-search input{border:0;padding:.8rem 1rem;width:230px;outline:0}.site-search button,.hero-search button,.btn{border:0;background:linear-gradient(135deg,var(--blue2),var(--blue));color:#fff;font-weight:900;border-radius:999px;padding:.82rem 1.1rem;cursor:pointer;box-shadow:0 12px 22px rgba(11,94,215,.22)}.nav-toggle,.nav-backdrop{display:none}.hero{position:relative;isolation:isolate;overflow:hidden;background:#061735;color:white}.hero .bg{position:absolute;inset:0;z-index:-2}.hero .bg img{width:100%;height:100%;object-fit:cover;filter:saturate(1.05) contrast(1.02)}.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(6,23,53,.95),rgba(6,23,53,.72),rgba(6,23,53,.28))}.hero-inner{min-height:560px;display:grid;grid-template-columns:1fr .78fr;gap:44px;align-items:center;padding:54px 0}.kicker,.eyebrow{margin:0 0 .75rem;color:var(--red);font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}.hero .kicker{color:#ffcc66}.hero h1,.article-hero h1{font-family:var(--display);font-size:clamp(3rem,7vw,6.4rem);line-height:.92;margin:.4rem 0 1rem;color:#fff}.hero .lead{font-size:1.22rem;max-width:760px;color:rgba(255,255,255,.88)}.waving-flag{font-size:clamp(4rem,9vw,7rem);display:inline-block;animation:wave 1.25s ease-in-out infinite;transform-origin:70% 70%;filter:drop-shadow(0 8px 18px rgba(0,0,0,.35))}@keyframes wave{0%,100%{transform:skewY(0deg) rotate(0deg) scale(1)}25%{transform:skewY(4deg) rotate(-2deg) scale(1.03)}50%{transform:skewY(-3deg) rotate(2deg) scale(.98)}75%{transform:skewY(3deg) rotate(-1deg) scale(1.02)}}.hero-search{display:flex;gap:8px;background:#fff;border-radius:999px;padding:7px;max-width:720px;margin:26px 0 18px}.hero-search input{flex:1;border:0;outline:0;padding:0 16px;font-size:1rem}.quick-pills,.badge-row{display:flex;gap:10px;flex-wrap:wrap}.quick-pills a,.badge{padding:.55rem .78rem;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(255,255,255,.13);color:white;font-weight:800;font-size:.9rem}.badge{background:#eef5ff;color:var(--blue);border-color:#d6e6ff}.photo-stack{display:grid;grid-template-columns:1fr 1fr;gap:16px}.photo-stack img{height:190px;width:100%;object-fit:cover;border-radius:24px;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.25)}.photo-stack img:first-child{grid-column:1/-1;height:230px}.section{padding:70px 0}.section.compact{padding:42px 0}.alt{background:#fff}.section-title{text-align:center;max-width:760px;margin:0 auto 34px}.section-title h2,.split h2,.prose h2{font-family:var(--display);font-size:clamp(2rem,4vw,3.6rem);line-height:1.05;margin:.25rem 0;color:var(--blue)}.section-title p{color:var(--muted)}.grid{display:grid;gap:22px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-5{grid-template-columns:repeat(5,1fr)}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 10px 26px rgba(16,24,40,.06);transition:.25s ease;display:block}.card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.card-img{width:100%;height:205px;object-fit:cover}.card-body{padding:22px}.card-body h3{margin:0 0 .45rem;color:var(--blue);font-size:1.22rem}.card-body p{margin:0;color:var(--muted)}.image-card{min-height:315px;border-radius:var(--radius);overflow:hidden;background-size:cover;background-position:center;position:relative;display:flex;align-items:flex-end;box-shadow:var(--shadow);transition:.25s}.image-card:hover{transform:translateY(-5px)}.image-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.76))}.image-card>div{position:relative;color:white;padding:24px}.image-card h3{font-size:1.35rem;margin:0 0 .35rem}.image-card p{margin:0;color:rgba(255,255,255,.88)}.stats-strip{margin-top:-36px;position:relative;z-index:3;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);display:grid;grid-template-columns:repeat(5,1fr);overflow:hidden}.stats-strip div{padding:22px;text-align:center;border-right:1px solid var(--line)}.stats-strip div:last-child{border-right:0}.stats-strip strong{display:block;color:var(--red);font-size:2rem;line-height:1}.stats-strip span{font-weight:800;color:#475467}.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:42px;align-items:center}.mosaic{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.mosaic img{height:150px;width:100%;object-fit:cover;border-radius:18px;box-shadow:0 10px 25px rgba(16,24,40,.08)}.mosaic img:nth-child(2),.mosaic img:nth-child(5){height:205px}.check-list{list-style:none;padding:0;margin:22px 0}.check-list li{margin:10px 0;padding-left:30px;position:relative;color:#475467}.check-list li:before{content:"✓";position:absolute;left:0;color:var(--red);font-weight:900}.article-hero{background:linear-gradient(135deg,#08285e,#0b5ed7);color:white;padding:64px 0}.article-hero-grid{display:grid;grid-template-columns:1fr .62fr;gap:42px;align-items:center}.article-hero img{width:100%;height:360px;object-fit:cover;border-radius:28px;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.2)}.article-hero p{font-size:1.1rem;color:rgba(255,255,255,.88)}.prose{max-width:980px}.prose p{color:#475467}.callout{background:#fff8e8;border:1px solid #f8d899;border-left:6px solid var(--gold);border-radius:18px;padding:18px 20px;margin:24px 0;color:#6a4a00}.itinerary{display:grid;gap:14px;margin:22px 0}.day,.toolbox,.robust-toolbox{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:0 10px 25px rgba(16,24,40,.05)}.day h3{margin-top:0;color:var(--blue)}.deep-image-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.deep-image-grid article{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 10px 25px rgba(16,24,40,.05)}.deep-image-grid img{height:170px;width:100%;object-fit:cover}.deep-image-grid div{padding:18px}.deep-image-grid h3{margin:0 0 .3rem;color:var(--blue)}.robust-toolbox{margin-top:24px;display:flex;justify-content:space-between;gap:22px;align-items:center;background:linear-gradient(135deg,#fff,#eef5ff)}.tool-links{display:flex;gap:10px;flex-wrap:wrap}.tool-links a{padding:.65rem .85rem;border-radius:999px;background:#fff;border:1px solid var(--line);font-weight:800;color:var(--blue)}.feature-band{background:linear-gradient(135deg,#0b1e42,#123c7c);color:white;border-radius:28px;padding:34px;display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;overflow:hidden}.feature-band h2{font-family:var(--display);font-size:2.6rem;line-height:1;margin:0 0 12px}.feature-band p{color:rgba(255,255,255,.86)}.feature-band img{height:320px;width:100%;object-fit:cover;border-radius:22px}.state-table{width:100%;border-collapse:collapse;background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 10px 26px rgba(16,24,40,.06)}.state-table th,.state-table td{text-align:left;padding:15px 18px;border-bottom:1px solid var(--line)}.state-table th{background:#eef5ff;color:var(--blue)}.state-table a{font-weight:900;color:var(--blue2)}.site-footer{background:#081a3a;color:white;padding:60px 0 25px;margin-top:50px}.footer-grid{display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:26px}.footer-grid h3,.footer-grid h4{margin:0 0 12px}.footer-grid p,.footer-bottom{color:rgba(255,255,255,.7)}.footer-grid a{display:block;color:rgba(255,255,255,.82);margin:7px 0}.footer-grid a:hover{color:white}.footer-bottom{border-top:1px solid rgba(255,255,255,.15);margin-top:34px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}#back-to-top{position:fixed;right:22px;bottom:22px;border:0;border-radius:999px;width:48px;height:48px;background:var(--red);color:#fff;font-weight:900;box-shadow:var(--shadow);cursor:pointer;display:none}.tiny{font-size:.85rem}.search-results{position:absolute;right:0;top:calc(100% + 8px);background:white;color:var(--ink);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:10px;min-width:280px;z-index:50}.search-results a{display:block;padding:9px 10px;border-radius:10px;color:var(--blue);font-weight:800}.search-results a:hover{background:#eef5ff}@media(max-width:980px){.main-nav{display:none}.nav-toggle{display:grid;margin-left:auto;gap:5px;border:0;background:#eef5ff;border-radius:12px;padding:10px}.nav-toggle span{display:block;width:25px;height:3px;background:var(--blue);border-radius:2px}.nav-open .main-nav{display:grid;position:fixed;inset:76px 0 auto 0;background:white;padding:22px;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}.nav-open .main-nav ul{display:grid}.nav-open .site-search{width:100%}.nav-open .site-search input{width:100%}.hero-inner,.article-hero-grid,.split,.feature-band{grid-template-columns:1fr}.grid-4,.grid-5,.deep-image-grid{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(2,1fr)}.stats-strip{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.container{width:min(100% - 24px,var(--max))}.hero-inner{min-height:auto;padding:46px 0}.hero-search{border-radius:20px;display:grid}.grid-2,.grid-3,.grid-4,.grid-5,.deep-image-grid{grid-template-columns:1fr}.stats-strip{grid-template-columns:1fr}.photo-stack,.mosaic{grid-template-columns:1fr}.article-hero img{height:240px}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.robust-toolbox{display:block}.site-search{display:none}}

/* =========================================================
   POLISHED ON THIS PAGE NAVIGATION
   ========================================================= */
.table-of-contents{
  width:min(var(--max),calc(100% - 40px));
  margin:34px auto 22px;
  padding:0;
  border-radius:32px;
  background:
    radial-gradient(circle at 12% 18%,rgba(255,255,255,.28),transparent 28%),
    radial-gradient(circle at 88% 12%,rgba(244,180,0,.20),transparent 30%),
    linear-gradient(135deg,#08285e 0%,#0b5ed7 56%,#c9252d 100%);
  box-shadow:0 28px 70px rgba(16,24,40,.18);
  overflow:hidden;
  position:relative;
  isolation:isolate;
}
.table-of-contents:before{
  content:"★";
  position:absolute;
  right:24px;
  top:-48px;
  font-size:210px;
  line-height:1;
  color:rgba(255,255,255,.08);
  z-index:-1;
}
.table-of-contents:after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:8px;
  background:linear-gradient(90deg,#c9252d 0 33%,#fff 33% 66%,#0b5ed7 66% 100%);
  opacity:.9;
}
.toc-inner{
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:28px;
  align-items:center;
  padding:30px;
}
.toc-heading{
  color:#fff;
  text-align:center;
  padding:8px 12px;
}
.toc-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:.42rem .72rem;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.25);
  color:#ffe6a6;
  font-weight:900;
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.toc-heading h2{
  margin:.75rem 0 .55rem;
  color:#fff;
  font-family:var(--display);
  font-size:clamp(2rem,4vw,3rem);
  line-height:1;
}
.toc-heading p{
  margin:0 auto;
  max-width:360px;
  color:rgba(255,255,255,.84);
  font-weight:600;
  line-height:1.55;
}
.toc-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.toc-list li{margin:0;padding:0;min-width:0;}
.toc-list a{
  min-height:58px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:10px;
  align-items:center;
  padding:13px 15px;
  border-radius:18px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(255,255,255,.35);
  color:#102a56;
  font-weight:900;
  box-shadow:0 12px 28px rgba(5,18,46,.14);
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease,border-color .22s ease;
}
.toc-list a:hover,
.toc-list a:focus-visible{
  transform:translateY(-3px);
  background:#fff;
  border-color:#ffe6a6;
  box-shadow:0 18px 38px rgba(5,18,46,.24);
  outline:0;
}
.toc-icon{
  width:36px;
  height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:linear-gradient(135deg,#eef5ff,#fff5e3);
  font-size:1.08rem;
  box-shadow:inset 0 0 0 1px rgba(11,94,215,.08);
}
.toc-text{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.toc-arrow{
  color:var(--red);
  font-size:1.15rem;
  transition:transform .22s ease;
}
.toc-list a:hover .toc-arrow{transform:translateX(3px)}
.toc-level-2 a{
  background:rgba(255,255,255,.86);
  font-size:.95rem;
}
@media(max-width:900px){
  .toc-inner{grid-template-columns:1fr;padding:24px;gap:20px}
  .toc-heading p{max-width:650px}
}
@media(max-width:620px){
  .table-of-contents{width:min(100% - 24px,var(--max));margin:22px auto 14px;border-radius:24px}
  .toc-inner{padding:18px}
  .toc-list{grid-template-columns:1fr;gap:10px}
  .toc-list a{min-height:54px;padding:11px 12px;border-radius:15px}
  .toc-icon{width:32px;height:32px}
}


/* =========================================================
   ON-DEMAND XML ITINERARIES
   ========================================================= */
.itinerary-demand {
  background: linear-gradient(135deg, rgba(0,82,204,.09), rgba(227,28,35,.08));
  border-top: 1px solid rgba(0,82,204,.12);
  border-bottom: 1px solid rgba(227,28,35,.12);
}
.itinerary-demand .section-title {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}
.itinerary-actions {
  display: flex;
  justify-content: center;
  gap: 1rem;
  flex-wrap: wrap;
  margin: 1.5rem 0 2rem;
}
.itinerary-actions .btn-primary {
  border: 0;
}
.itinerary-actions .btn-secondary {
  background: white;
}
.itinerary-placeholder,
.loading-copy {
  max-width: 900px;
  margin: 0 auto;
  padding: 1.25rem;
  text-align: center;
  background: white;
  border: 1px dashed rgba(0,82,204,.35);
  border-radius: 18px;
  color: var(--neutral-600);
}
.itinerary-loaded {
  max-width: 1180px;
  margin: 0 auto;
}
.itinerary-summary {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 1.5rem;
  align-items: center;
  background: #fff;
  border-radius: 24px;
  padding: 1.5rem;
  box-shadow: 0 18px 50px rgba(0,82,204,.12);
  border: 1px solid rgba(0,82,204,.12);
  margin-bottom: 1.25rem;
}
.itinerary-summary h3 { margin: .25rem 0 .5rem; }
.cost-pill {
  min-width: 190px;
  padding: 1rem;
  border-radius: 18px;
  background: linear-gradient(135deg, var(--primary-navy), var(--primary-red));
  color: white;
  text-align: center;
}
.cost-pill strong { display:block; font-size: 1.35rem; }
.cost-pill span { display:block; opacity: .88; font-size:.85rem; }
.itinerary-day-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1rem;
}
.itinerary-day-card {
  background: #fff;
  border: 1px solid rgba(0,82,204,.13);
  border-radius: 22px;
  padding: 1.25rem;
  box-shadow: 0 10px 28px rgba(13,13,12,.07);
}
.itinerary-day-card h4 { margin: .75rem 0; color: var(--primary-navy); }
.itinerary-day-card p { font-size: .95rem; margin-bottom: .75rem; }
.day-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .75rem;
}
.day-top span {
  background: rgba(0,82,204,.1);
  color: var(--primary-navy);
  padding: .35rem .7rem;
  border-radius: 999px;
  font-weight: 800;
  font-size: .8rem;
}
.day-top strong {
  color: var(--primary-red);
  font-size: 1.05rem;
}
.cost-breakdown {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: .55rem;
  margin: 1rem 0;
}
.cost-breakdown div {
  background: var(--neutral-50);
  border-radius: 14px;
  padding: .65rem;
}
.cost-breakdown dt { font-size: .72rem; text-transform: uppercase; letter-spacing:.04em; color: var(--neutral-500); font-weight: 800; }
.cost-breakdown dd { margin: .15rem 0 0; color: var(--neutral-800); font-weight: 800; }
.planning-note {
  background: rgba(255,215,0,.16);
  border-left: 4px solid var(--star-gold);
  padding: .8rem;
  border-radius: 12px;
}
@media (max-width: 760px){
  .itinerary-summary { grid-template-columns: 1fr; }
  .cost-pill { width: 100%; }
}


/* =========================================================
   Itinerary nav, classroom hub and shop art upgrades
   ========================================================= */
.nav-itinerary{background:linear-gradient(135deg,#E31C23,#b71c1c)!important;color:#fff!important;box-shadow:0 8px 20px rgba(227,28,35,.22)}
.nav-itinerary:hover{transform:translateY(-1px);filter:brightness(1.04)}
.planner-shell{display:grid;grid-template-columns:minmax(280px,380px) 1fr;gap:2rem;align-items:start}.planner-control-panel,.planner-result-panel{background:#fff;border:1px solid var(--neutral-200);border-radius:24px;padding:2rem;box-shadow:var(--shadow-lg)}.planner-control-panel label{margin-top:1rem}.planner-control-panel textarea{width:100%;border:2px solid var(--neutral-200);border-radius:16px;padding:1rem;font-family:var(--font-body)}.planner-days{display:grid;gap:1rem}.planner-day{display:grid;grid-template-columns:1fr 190px;gap:1rem;background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid var(--neutral-200);border-radius:20px;padding:1.25rem}.planner-day span{display:inline-flex;background:#0052CC;color:white;border-radius:999px;padding:.25rem .65rem;font-weight:800;font-size:.78rem}.planner-day aside{background:#eff6ff;border-radius:16px;padding:1rem;color:#0f172a}.planner-day aside strong{display:block;color:#E31C23;font-size:1.1rem}.planner-day aside small{display:block;margin-top:.4rem;line-height:1.5}.custom-itinerary-head{background:linear-gradient(135deg,#0052CC,#003d7a);color:#fff;border-radius:22px;padding:1.5rem;margin-bottom:1rem}.custom-itinerary-head h2,.custom-itinerary-head p{color:#fff}.cost-pill{display:inline-flex;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);padding:.5rem .8rem;border-radius:999px}.planner-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.25rem}.state-chip-board{margin-top:2rem;background:linear-gradient(135deg,#f8fafc,#eff6ff);border:1px solid #dbeafe;border-radius:24px;padding:1.5rem}.state-chip-board div{display:flex;flex-wrap:wrap;gap:.65rem}.state-chip-board button{border:0;background:#fff;color:#0052CC;font-weight:800;border-radius:999px;padding:.65rem .9rem;box-shadow:var(--shadow-sm);cursor:pointer}.state-chip-board button:hover{background:#0052CC;color:#fff}.mini-step{background:#fff;border:1px solid var(--neutral-200);border-radius:22px;padding:1.5rem;box-shadow:var(--shadow-sm)}.mini-step span{width:44px;height:44px;border-radius:14px;background:#E31C23;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:900;margin-bottom:1rem}.itinerary-hero code{background:rgba(255,255,255,.16);padding:.15rem .4rem;border-radius:.4rem}
.resource-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.resource-card{background:#fff;border:1px solid var(--neutral-200);border-radius:22px;padding:1.4rem;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.resource-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(#0052CC,#E31C23)}.resource-card h3{font-size:1.18rem;margin-bottom:.55rem}.resource-card a{font-weight:800;color:#0052CC}.path-card{display:block;background:#fff;border:1px solid var(--neutral-200);border-radius:24px;padding:1.5rem;text-decoration:none;color:inherit;box-shadow:var(--shadow-sm);transition:.2s}.path-card span{font-size:2.2rem}.path-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-xl);border-color:#0052CC}.worksheet-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.worksheet{background:#fff;border:2px dashed #bfdbfe;border-radius:20px;padding:1.4rem}.rubric-wrap{overflow:auto;background:#fff;border-radius:24px;box-shadow:var(--shadow-lg);border:1px solid var(--neutral-200)}.rubric{width:100%;border-collapse:collapse}.rubric th{background:#0052CC;color:#fff;text-align:left;padding:1rem}.rubric td{padding:1rem;border-top:1px solid var(--neutral-200);vertical-align:top}.prompt-cloud{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center}.prompt-cloud span{background:#fff;border:1px solid #dbeafe;color:#003d7a;border-radius:999px;padding:.8rem 1rem;font-weight:800;box-shadow:var(--shadow-sm)}.classroom-band{background:linear-gradient(135deg,#003d7a,#0052CC)!important}.classroom-band h2,.classroom-band p{color:#fff!important}
.shop-hero{background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.16),transparent 35%),linear-gradient(135deg,#003d7a 0%,#0052CC 55%,#E31C23 100%);padding:6rem 0 4rem;color:#fff;text-align:center}.shop-hero h1{color:#fff;font-size:clamp(2.6rem,6vw,5.8rem);max-width:980px;margin:0 auto 1rem}.shop-hero p{color:rgba(255,255,255,.92);max-width:780px;margin:0 auto 1.2rem}.art-commerce{display:grid;grid-template-columns:330px 1fr;gap:2rem;align-items:center}.art-copy{background:#fff;border-radius:28px;padding:2rem;box-shadow:var(--shadow-xl);border:1px solid var(--neutral-200)}.art-wall{display:grid;grid-template-columns:repeat(5,1fr);grid-auto-rows:150px;gap:.75rem;padding:.75rem;background:#0f172a;border-radius:32px;box-shadow:var(--shadow-2xl)}.art-tile{position:relative;overflow:hidden;border-radius:22px;display:block;color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.14)}.art-tile:nth-child(1),.art-tile:nth-child(5){grid-row:span 2}.art-tile:nth-child(3){grid-column:span 2}.art-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:.35s}.art-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.72),rgba(0,0,0,.05))}.art-tile span,.art-tile em{position:absolute;z-index:2;left:1rem;right:1rem}.art-tile span{bottom:2.1rem;font-weight:900;font-size:1rem}.art-tile em{bottom:.8rem;font-style:normal;font-size:.85rem;color:#fff}.art-tile:hover img{transform:scale(1.08)}.shop-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.shop-card{background:#fff;border:1px solid var(--neutral-200);border-radius:24px;padding:1.5rem;box-shadow:var(--shadow-sm)}
@media(max-width:900px){.planner-shell,.art-commerce{grid-template-columns:1fr}.planner-day{grid-template-columns:1fr}.art-wall{grid-template-columns:repeat(2,1fr);grid-auto-rows:160px}.art-tile:nth-child(n){grid-column:auto;grid-row:auto}}

/* === Final professional UX/content upgrade === */
.main-nav{gap:12px}.main-nav ul{gap:4px;align-items:center}.nav-link{padding:.68rem .78rem;font-size:.92rem}.nav-itinerary{background:linear-gradient(135deg,#E31C23,#b71c1c)!important;color:#fff!important;box-shadow:0 8px 20px rgba(227,28,35,.24);white-space:nowrap}.nav-itinerary:before{content:'🧭';margin-right:.35rem}.nav-shop:before{content:'🛒';margin-right:.35rem}.professional-expansion-v2{border-top:1px solid var(--line)}.pro-info-grid .info-card,.info-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 12px 30px rgba(16,24,40,.06)}.info-card h3{margin:0 0 .5rem;color:var(--blue);font-size:1.2rem}.info-card p{margin:0;color:#475467}.image-strip article{background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 12px 30px rgba(16,24,40,.06)}.image-strip img{height:190px;width:100%;object-fit:cover}.image-strip h3{margin:18px 18px 6px;color:var(--blue)}.image-strip p{margin:0 18px 20px;color:#475467}.two-column-read{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:30px}.two-column-read section{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:0 12px 30px rgba(16,24,40,.06)}.two-column-read h3{margin-top:0;color:var(--blue);font-size:1.35rem}.state-deep-dive .feature-band,.city-deep-dive .feature-band,.shop-art-boost .feature-band{margin:24px 0 26px}.state-deep-dive .feature-band img,.city-deep-dive .feature-band img{min-height:360px}.sitewide-depth{background:linear-gradient(180deg,#fff,#f2f7ff)}.mega-classroom{background:#fff}.shop-art-boost a{font-weight:900;color:var(--blue2)}.shop-art-boost .feature-band a{color:#fff}.itinerary-page-boost{background:#eef5ff}.article-hero .eyebrow{color:#ffcc66}.article-hero h1{font-size:clamp(2.8rem,6vw,5.6rem)}.dropdown-menu a:first-child{background:#f7fbff;color:var(--blue)}
@media(max-width:1180px){.site-search input{width:170px}.nav-link{font-size:.86rem;padding:.6rem .65rem}.main-nav{gap:8px}}
@media(max-width:980px){.nav-open .main-nav{display:grid}.nav-open .main-nav ul{gap:8px}.nav-open .nav-link{font-size:1rem;padding:.8rem 1rem}.two-column-read{grid-template-columns:1fr}.site-search{display:flex}.site-search input{width:100%}}


/* ===== America Explorer flag branding and itinerary reliability polish ===== */
.logo{gap:.45rem}.logo .logo-mark{display:inline-block;filter:drop-shadow(0 2px 3px rgba(0,0,0,.16));animation:tinyFlagWave 2.8s ease-in-out infinite;transform-origin:70% 70%}
@keyframes tinyFlagWave{0%,100%{transform:rotate(0) scale(1)}25%{transform:rotate(-6deg) scale(1.08)}50%{transform:rotate(4deg) scale(.98)}75%{transform:rotate(-3deg) scale(1.04)}}
.flag-wave-strip{position:relative;overflow:hidden;background:linear-gradient(90deg,#b91c1c,#fff,#0b4ea2);border-bottom:1px solid rgba(0,0,0,.08);height:42px;display:flex;align-items:center;white-space:nowrap;box-shadow:inset 0 1px rgba(255,255,255,.6)}
.flag-wave-strip .flag-track{display:inline-flex;gap:28px;align-items:center;animation:flagTicker 34s linear infinite;padding-left:100%;font-weight:900;color:#0f172a;text-shadow:0 1px 0 rgba(255,255,255,.75)}
.flag-wave-strip span{display:inline-flex;gap:8px;align-items:center;background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.85);border-radius:999px;padding:6px 14px;box-shadow:0 6px 14px rgba(15,23,42,.1)}
@keyframes flagTicker{0%{transform:translateX(0)}100%{transform:translateX(-100%)}}
.flag-photo-band{background:linear-gradient(135deg,#071a3d,#0b4ea2 54%,#b91c1c);color:#fff;border-radius:28px;overflow:hidden;box-shadow:0 24px 60px rgba(11,78,162,.22);display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch}.flag-photo-band .flag-copy{padding:42px}.flag-photo-band h2,.flag-photo-band p{color:#fff}.flag-photo-band .flag-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px}.flag-photo-band img{width:100%;height:100%;min-height:180px;object-fit:cover;border-radius:18px;box-shadow:0 10px 24px rgba(0,0,0,.28);animation:slowFlagFloat 7s ease-in-out infinite}.flag-photo-band img:nth-child(2){animation-delay:1.4s}.flag-photo-band img:nth-child(3){animation-delay:2.5s}.flag-photo-band img:nth-child(4){animation-delay:3.4s}@keyframes slowFlagFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.025)}}
.flag-card{position:relative;overflow:hidden}.flag-card:before{content:'🇺🇸';position:absolute;right:18px;top:14px;font-size:42px;opacity:.12;animation:tinyFlagWave 3.2s ease-in-out infinite}.itinerary-error{padding:28px;border:2px solid #fecaca;background:#fff1f2;border-radius:18px;color:#7f1d1d}.loading-copy{padding:22px;border-radius:16px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;font-weight:700}.planner-day aside small{display:block;line-height:1.5;margin-top:.35rem}.itinerary-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin:22px 0}.cost-pill span{display:block;font-size:.8rem;font-weight:700;opacity:.75}.site-footer h3{display:flex;gap:.35rem;align-items:center}
@media(max-width:820px){.flag-photo-band{grid-template-columns:1fr}.flag-photo-band .flag-copy{padding:28px}.flag-wave-strip{height:38px}.flag-wave-strip .flag-track{gap:14px}.flag-photo-band .flag-photo-grid{grid-template-columns:1fr 1fr}.flag-photo-band img{min-height:120px}}


/* =========================================================
   Premium Create Itinerary UX + Live Builder
   ========================================================= */
.upgraded-planner{
  display:grid;
  grid-template-columns:minmax(320px, .78fr) minmax(360px, 1.22fr);
  gap:1.5rem;
  align-items:start;
}
.upgraded-control,
.upgraded-result{
  border-radius:28px;
  border:1px solid rgba(0,82,204,.18);
  box-shadow:0 24px 60px rgba(0,82,204,.12);
}
.upgraded-control{
  position:sticky;
  top:96px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 55%,#fff5f5 100%);
  padding:1.35rem;
}
.upgraded-control .control-intro{font-size:.98rem;color:#4b5563;margin-bottom:1rem;line-height:1.6}
.destination-search-box{display:flex;align-items:center;gap:.65rem;background:#fff;border:2px solid rgba(0,82,204,.16);border-radius:18px;padding:.35rem .75rem;margin:.35rem 0 1rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
.destination-search-box input{border:0!important;box-shadow:none!important;padding:.7rem .25rem!important;background:transparent!important;font-weight:700;color:#0f172a}
.select-card{position:relative;margin:.35rem 0 1rem;background:#fff;border:2px solid rgba(0,82,204,.16);border-radius:18px;box-shadow:0 10px 24px rgba(15,23,42,.06);overflow:hidden}
.select-card select{appearance:none;border:0!important;box-shadow:none!important;background:transparent!important;padding:1rem 3rem 1rem 1rem!important;font-weight:800;color:#0f172a;cursor:pointer}
.select-card-icon{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:#0052CC;color:#fff;width:30px;height:30px;border-radius:999px;display:grid;place-items:center;font-weight:900;pointer-events:none}
.planner-button-row{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:.9rem}.planner-button-row .btn{flex:1;min-width:180px}.tiny-trust-notes{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.tiny-trust-notes span{background:rgba(0,82,204,.08);color:#003d7a;border:1px solid rgba(0,82,204,.14);border-radius:999px;padding:.4rem .65rem;font-size:.78rem;font-weight:800}.upgraded-result{background:linear-gradient(135deg,#0b1f4d 0%,#0052CC 52%,#E31C23 100%);padding:1rem;min-height:520px}.upgraded-result .itinerary-placeholder{background:rgba(255,255,255,.95);border-radius:24px;padding:2rem;text-align:center;color:#1f2937;font-size:1.05rem;min-height:480px;display:grid;place-items:center;line-height:1.7}.destination-board{margin-top:2rem;background:linear-gradient(135deg,#f8fbff,#fff5f5);border:1px solid rgba(0,82,204,.12);border-radius:28px;padding:1.25rem;box-shadow:0 20px 50px rgba(0,82,204,.08)}.destination-board h3{margin:.2rem 0 .35rem;text-align:center}.destination-board>p{text-align:center;margin:0 0 1rem;color:#4b5563}.destination-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.85rem;max-height:540px;overflow:auto;padding:.25rem}.destination-card{border:1px solid rgba(0,82,204,.16);background:#fff;border-radius:18px;overflow:hidden;text-align:left;box-shadow:0 10px 22px rgba(15,23,42,.08);cursor:pointer;transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease}.destination-card:hover,.destination-card.active{transform:translateY(-4px);box-shadow:0 18px 36px rgba(0,82,204,.18);border-color:#E31C23}.destination-card img{width:100%;height:88px;object-fit:cover;display:block;background:#dbeafe}.destination-card span{display:block;font-weight:900;color:#003d7a;padding:.65rem .75rem .1rem}.destination-card small{display:block;color:#6b7280;font-weight:700;padding:0 .75rem .75rem;font-size:.75rem}.live-builder{background:rgba(255,255,255,.96);border-radius:24px;min-height:500px;padding:1rem}.builder-status{display:flex;gap:1rem;align-items:center;background:linear-gradient(135deg,#f8fbff,#fff);border:1px solid rgba(0,82,204,.12);border-radius:20px;padding:1rem;margin-bottom:.9rem}.builder-status strong{color:#003d7a}.builder-status p{margin:.2rem 0 0;color:#4b5563}.spinner{width:42px;height:42px;border-radius:50%;border:4px solid #dbeafe;border-top-color:#E31C23;animation:spin .9s linear infinite;flex:0 0 auto}.spinner.done{animation:none;border-color:#22c55e;position:relative}.spinner.done:after{content:'✓';position:absolute;inset:0;display:grid;place-items:center;color:#16a34a;font-weight:900}.build-progress{height:12px;background:#e5e7eb;border-radius:999px;overflow:hidden;margin-bottom:1rem}.build-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#0052CC,#E31C23);transition:width .55s ease}.live-itinerary-stream{display:grid;gap:1rem}.reveal-day{animation:revealDay .45s ease both}@keyframes revealDay{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.live-overview{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;background:#fff;border:1px solid rgba(0,82,204,.13);border-radius:22px;padding:1.1rem;box-shadow:0 12px 28px rgba(15,23,42,.07)}.live-overview h2{margin:.2rem 0 .5rem}.live-overview aside{background:linear-gradient(135deg,#0052CC,#003d7a);color:#fff;border-radius:18px;padding:1rem;min-width:180px;text-align:center}.live-overview aside strong{display:block;font-size:1.35rem}.live-overview aside span,.live-overview aside small{display:block;color:rgba(255,255,255,.84);font-weight:700}.route-intel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.route-intel article,.final-planner-notes{background:#fff;border:1px solid rgba(0,82,204,.12);border-radius:20px;padding:1rem;box-shadow:0 10px 24px rgba(15,23,42,.06)}.route-intel h3,.final-planner-notes h3{margin:0 0 .35rem;color:#0052CC}.route-intel p,.final-planner-notes p{margin:0;color:#4b5563}.live-day-card{background:#fff;border:1px solid rgba(0,82,204,.14);border-radius:24px;padding:1.1rem;box-shadow:0 16px 34px rgba(15,23,42,.08);position:relative;overflow:hidden}.live-day-card:before{content:'';position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(#0052CC,#E31C23)}.day-card-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:.7rem}.day-card-head span{background:#eef4ff;color:#003d7a;border-radius:999px;padding:.35rem .65rem;font-weight:900}.day-card-head strong{background:#fff5f5;color:#b71c1c;border-radius:999px;padding:.35rem .65rem;font-weight:900}.live-day-card h3{margin:.2rem 0 .8rem;color:#003d7a}.day-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.day-columns p,.itinerary-extra p{margin:0;background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;padding:.8rem;color:#374151}.day-columns b{display:block;color:#0052CC;margin-bottom:.25rem}.itinerary-extra{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:.75rem}.cost-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin:.9rem 0 0}.cost-grid div{background:linear-gradient(135deg,#f8fbff,#fff);border:1px solid rgba(0,82,204,.12);border-radius:14px;padding:.65rem;text-align:center}.cost-grid dt{font-size:.72rem;text-transform:uppercase;color:#6b7280;font-weight:900}.cost-grid dd{margin:0;color:#003d7a;font-size:1.05rem;font-weight:900}.final-planner-notes .planner-actions{margin-top:1rem;display:flex;gap:.7rem;flex-wrap:wrap}@media(max-width:980px){.upgraded-planner{grid-template-columns:1fr}.upgraded-control{position:relative;top:auto}.day-columns,.route-intel,.itinerary-extra{grid-template-columns:1fr}.live-overview{grid-template-columns:1fr}.cost-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.destination-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cost-grid{grid-template-columns:1fr}.upgraded-result{padding:.45rem}.live-builder{padding:.65rem}.destination-card img{height:74px}}


/* =========================================================
   TIGHT PROFESSIONAL UX SYSTEM — no oversized hero blocks
   ========================================================= */
:root{--tight-blue:#0b4ea2;--tight-red:#c81e1e;--tight-ink:#111827;--tight-muted:#5b6472;--tight-line:#e5e7eb;--tight-bg:#f7f9fc;--tight-card:#ffffff;--tight-radius:18px;--tight-shadow:0 10px 26px rgba(15,23,42,.08)}
body{background:var(--tight-bg);color:var(--tight-ink);font-size:15px;line-height:1.55}.site-header{box-shadow:0 2px 14px rgba(15,23,42,.06);border-bottom:1px solid rgba(15,23,42,.08)}.nav-shell,.site-header .container{min-height:64px}.logo{display:flex;align-items:center;gap:.45rem;font-size:1.32rem}.logo-mark{display:inline-block;animation:flagPulse 2.8s ease-in-out infinite}.main-nav ul{gap:.25rem}.nav-link{padding:.55rem .78rem;border-radius:999px;font-size:.9rem}.nav-itinerary{background:linear-gradient(135deg,var(--tight-red),#e05252)!important;color:#fff!important}.nav-shop{border:1px solid rgba(11,78,162,.18)}.site-search{max-width:260px}.site-search input{height:38px}.site-search button{height:38px}.flag-wave-strip{height:34px;overflow:hidden;background:linear-gradient(90deg,#072f6b,#0b4ea2,#c81e1e);color:#fff;font-weight:800;font-size:.82rem}.flag-track{display:flex;gap:2rem;white-space:nowrap;align-items:center;height:34px;animation:flagTrack 28s linear infinite}.flag-wave-strip.compact{height:30px}.flag-wave-strip.compact .flag-track{height:30px}.hero,.tight-hero,.home-hero{min-height:0!important;height:auto!important;padding:1.4rem 0!important;margin:0!important;overflow:hidden}.hero h1,.home-hero h1{font-size:clamp(2rem,4.2vw,4rem)!important;line-height:.95!important;margin:.2rem 0 .65rem!important;letter-spacing:-.05em}.hero .lead,.lead{font-size:1rem!important;max-width:62ch;margin-bottom:1rem!important;color:var(--tight-muted)}.home-hero{background:linear-gradient(135deg,#fff,#eef5ff 60%,#fff1f1);border-bottom:1px solid var(--tight-line)}.home-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:1.25rem;align-items:center}.waving-flag{font-size:3.2rem!important;line-height:1;margin-bottom:.35rem;display:inline-block;animation:waveFlag 1.35s ease-in-out infinite;transform-origin:70% 70%;filter:drop-shadow(0 5px 8px rgba(0,0,0,.16))}.eyebrow,.kicker{font-size:.73rem;letter-spacing:.14em;text-transform:uppercase;color:var(--tight-blue);font-weight:900;margin:0 0 .35rem}.hero-search{display:flex;gap:.5rem;max-width:620px;background:#fff;border:1px solid var(--tight-line);padding:.38rem;border-radius:999px;box-shadow:var(--tight-shadow)}.hero-search input{border:0;outline:0;flex:1;padding:.55rem .85rem;background:transparent}.hero-search button,.btn{border:0;border-radius:999px;background:linear-gradient(135deg,var(--tight-blue),#063a78);color:#fff;padding:.62rem 1rem;font-weight:800}.quick-pills,.badge-row,.mini-link-row{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.85rem}.quick-pills a,.badge,.mini-link-row a,.link-cloud a{display:inline-flex;align-items:center;border:1px solid rgba(11,78,162,.16);background:#fff;color:var(--tight-blue);padding:.5rem .75rem;border-radius:999px;font-weight:800;font-size:.86rem;text-decoration:none}.quick-pills a:hover,.nav-card:hover,.link-cloud a:hover{transform:translateY(-2px);box-shadow:var(--tight-shadow)}.container{max-width:1180px}.section,.compact-section{padding:1.65rem 0!important;margin:0!important}.section.alt,.compact-section.alt,.section-alt{background:#eef4fb!important}.section-title,.compact-heading{text-align:left;max-width:820px;margin:0 0 1rem!important}.section-title h2,.compact-heading h2,h2{font-size:clamp(1.45rem,2.4vw,2.35rem)!important;line-height:1.05!important;margin:.1rem 0 .45rem!important;letter-spacing:-.035em}.section-title p,.compact-heading p{margin:0;color:var(--tight-muted)}.grid{gap:1rem!important}.grid-4{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important}.grid-3{grid-template-columns:repeat(auto-fit,minmax(235px,1fr))!important}.grid-5{grid-template-columns:repeat(auto-fit,minmax(165px,1fr))!important}.card,.nav-card,.image-strip article,.info-card,.mini-step,.region-section,.city-group,.category-section{border-radius:var(--tight-radius)!important;border:1px solid var(--tight-line)!important;background:#fff!important;box-shadow:0 6px 16px rgba(15,23,42,.06)!important;overflow:hidden}.card:hover,.image-strip article:hover,.info-card:hover,.nav-card:hover{transform:translateY(-3px);box-shadow:var(--tight-shadow)!important}.card-img,.image-strip img{height:145px!important;width:100%;object-fit:cover}.card-body{padding:1rem!important}.card h3,.image-strip h3,.nav-card strong{font-size:1.05rem!important;margin:.1rem 0 .35rem!important;color:var(--tight-blue)}.card p,.image-strip p,.nav-card span{font-size:.92rem;color:var(--tight-muted);margin:0}.nav-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.8rem}.nav-card{display:block;padding:1rem;text-decoration:none}.compact-gallery,.hero-image-grid,.mosaic{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:.55rem!important}.compact-gallery img,.hero-image-grid img,.mosaic img{height:128px!important;width:100%;object-fit:cover;border-radius:16px;box-shadow:0 7px 16px rgba(15,23,42,.1)}.hero-image-grid img:first-child{grid-row:span 2;height:264px!important}.region-mini-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.region-mini-grid a{min-height:128px;border-radius:18px;padding:1rem;color:#fff;text-decoration:none;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(to top,rgba(0,0,0,.78),rgba(0,0,0,.08)),var(--bg);background-size:cover;background-position:center;box-shadow:var(--tight-shadow);overflow:hidden}.region-mini-grid b{font-size:1.08rem}.region-mini-grid span{font-size:.86rem;opacity:.92}.split,.split-tight{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:center}.check-list{display:grid;gap:.4rem;margin:.8rem 0;padding:0;list-style:none}.check-list li{padding:.55rem .75rem;background:#fff;border:1px solid var(--tight-line);border-radius:12px}.link-cloud{display:flex;flex-wrap:wrap;gap:.5rem}.stats-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.7rem;margin-top:1rem}.stats-strip div{background:#fff;border:1px solid var(--tight-line);border-radius:16px;padding:.85rem;text-align:center}.stats-strip strong{display:block;color:var(--tight-blue);font-size:1.4rem}.feature-band,.flag-photo-band,.two-column-read{padding:1rem!important;border-radius:18px!important;background:#fff!important;border:1px solid var(--tight-line)!important;box-shadow:var(--tight-shadow)!important}.feature-band img{max-height:230px!important;object-fit:cover;border-radius:14px}.table-of-contents{max-width:950px;margin:1rem auto!important;padding:1rem!important;border-radius:20px!important;background:linear-gradient(135deg,#092f68,#0b4ea2 70%,#c81e1e)!important;color:#fff!important;box-shadow:var(--tight-shadow)!important}.table-of-contents h3{color:#fff!important;text-align:center;margin:0 0 .7rem!important;font-size:1.25rem!important}.table-of-contents ul{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:.45rem!important;margin:0!important;padding:0!important}.table-of-contents li{list-style:none!important;margin:0!important}.table-of-contents a{display:inline-flex!important;color:#fff!important;background:rgba(255,255,255,.14)!important;border:1px solid rgba(255,255,255,.24)!important;border-radius:999px!important;padding:.48rem .7rem!important;text-decoration:none!important;font-weight:800!important;font-size:.85rem!important}.table-of-contents a::after{content:' →';opacity:.7}.state-hero,.page-hero{padding:1.25rem 0!important}.state-hero img,.page-hero img{max-height:260px!important;object-fit:cover}.destination-card{border:1px solid var(--tight-line)!important;border-radius:16px!important;background:#fff!important;box-shadow:0 5px 14px rgba(15,23,42,.06)!important;padding:.55rem!important;text-align:left!important}.destination-card img{height:92px!important;border-radius:12px!important;object-fit:cover}.destination-card span{font-weight:900;color:var(--tight-blue)}.itinerary-builder-panel,.itinerary-selector,.trip-builder-panel{border-radius:20px!important;background:#fff!important;border:1px solid var(--tight-line)!important;box-shadow:var(--tight-shadow)!important;padding:1rem!important}.itinerary-output,.itinerary-results{margin-top:1rem}.itinerary-day,.day-card{border-radius:18px!important;border:1px solid var(--tight-line)!important;background:#fff!important;box-shadow:0 5px 14px rgba(15,23,42,.06)!important;padding:1rem!important;margin-bottom:.8rem!important}.site-footer{margin-top:0!important;padding:2rem 0 1rem!important;background:#081f45!important}.footer-grid{gap:1rem!important}.footer-grid h3,.footer-grid h4{color:#fff!important;margin:0 0 .6rem!important}.footer-grid a{display:block;margin:.25rem 0;color:rgba(255,255,255,.78)!important}.footer-bottom{padding-top:1rem!important;font-size:.86rem}.image-card{min-height:170px!important;border-radius:18px!important}.image-card div{padding:1rem!important}.breadcrumb{padding:.7rem 0!important;background:#fff;border-bottom:1px solid var(--tight-line)}article{max-width:none!important}article p{margin-bottom:.8rem}.contact-form-section,.contact-info{background:#fff;border:1px solid var(--tight-line);border-radius:18px;padding:1rem;margin:1rem 0}.form-group{margin-bottom:.75rem}input,textarea,select{border-radius:14px!important}.submit-button{border:0;border-radius:999px;background:var(--tight-blue);color:#fff;padding:.7rem 1rem;font-weight:900}.shop-art,.amazon-art{min-height:0!important}@keyframes flagPulse{0%,100%{transform:rotate(0) scale(1)}50%{transform:rotate(-3deg) scale(1.08)}}@keyframes waveFlag{0%,100%{transform:skewX(0) rotate(0)}25%{transform:skewX(-8deg) rotate(-3deg)}50%{transform:skewX(7deg) rotate(2deg)}75%{transform:skewX(-4deg) rotate(-1deg)}}@keyframes flagTrack{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:860px){.home-hero-grid,.split,.split-tight{grid-template-columns:1fr}.main-nav{padding:1rem}.site-search{max-width:none;width:100%}.hero-search{border-radius:18px;flex-direction:column}.hero-search button{width:100%}.hero-image-grid img:first-child{height:150px!important;grid-row:auto}.compact-gallery img,.hero-image-grid img,.mosaic img{height:130px!important}.section,.compact-section{padding:1.15rem 0!important}.footer-grid{grid-template-columns:1fr 1fr!important}.table-of-contents ul{justify-content:flex-start!important}.nav-card-grid{grid-template-columns:1fr}.waving-flag{font-size:2.6rem!important}}
@media(max-width:560px){.footer-grid{grid-template-columns:1fr!important}.grid-4,.grid-3,.grid-5{grid-template-columns:1fr!important}.region-mini-grid{grid-template-columns:1fr}.hero h1,.home-hero h1{font-size:2.35rem!important}.container{padding-left:1rem!important;padding-right:1rem!important}}


/* Enhanced itinerary detail polish */
.route-intel{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));}
.live-day-card .itinerary-extra p,.itinerary-day-card p{line-height:1.55;}
.live-day-card .itinerary-extra{background:rgba(0,82,204,.055);border:1px solid rgba(0,82,204,.12);border-radius:16px;padding:14px;margin:12px 0;}
.itinerary-day-card{border-left:5px solid var(--flag-blue);}
.planning-note{background:rgba(227,28,35,.055);border-radius:12px;padding:10px 12px;}
.final-planner-notes{background:linear-gradient(135deg, rgba(0,82,204,.08), rgba(227,28,35,.07));border:1px solid rgba(0,82,204,.16);border-radius:20px;padding:22px;}

/* Clean layout update: remove generated On This Page blocks sitewide. */
.table-of-contents{display:none!important;}


/* Request update: stronger waving flag and deeper food/culture UX */
.flag-photo-wave{width:92px;height:58px;border-radius:10px;overflow:hidden;box-shadow:0 10px 24px rgba(15,23,42,.18);margin:.35rem 0 .7rem;perspective:500px;background:#fff;display:inline-block}
.flag-photo-wave img{width:115%;height:100%;object-fit:cover;transform-origin:left center;animation:realFlagWave 2.2s ease-in-out infinite;filter:saturate(1.05)}
@keyframes realFlagWave{0%,100%{transform:translateX(-4px) rotateY(0deg) skewX(0deg)}25%{transform:translateX(-2px) rotateY(16deg) skewX(-5deg)}50%{transform:translateX(-5px) rotateY(-10deg) skewX(4deg)}75%{transform:translateX(-1px) rotateY(12deg) skewX(-3deg)}}
.waving-flag{animation:waveFlag 1.35s ease-in-out infinite, flagPulse 3.8s ease-in-out infinite;display:inline-block;transform-origin:70% 70%}
.food-deep-dive .image-strip article,.culture-deep-dive .image-strip article{min-height:245px}
.food-deep-dive .image-strip img,.culture-deep-dive .image-strip img{height:132px!important}
.food-planner .check-list li,.culture-planner .check-list li{font-size:.94rem}
.info-card{padding:1rem}.info-card h3{margin:.1rem 0 .35rem;color:var(--tight-blue)}.info-card p{margin:0;color:var(--tight-muted);font-size:.94rem;line-height:1.55}
.itinerary-actions a[href$="create-travel-itinerary.html"]{background:#fff;border:1px solid var(--tight-line);color:var(--tight-blue)}
@media(max-width:860px){.flag-photo-wave{width:76px;height:48px}.food-deep-dive .image-strip img,.culture-deep-dive .image-strip img{height:120px!important}}


/* Bookmark icon and organized web/support deployment polish */
.logo-mark{display:inline-flex;align-items:center;justify-content:center;animation:tinyFlagWave 2.4s ease-in-out infinite;transform-origin:70% 70%}
@keyframes tinyFlagWave{0%,100%{transform:rotate(0deg) scale(1)}25%{transform:rotate(-4deg) scale(1.04)}55%{transform:rotate(4deg) scale(.98)}80%{transform:rotate(-2deg) scale(1.02)}}
.site-header .logo::before{content:"";width:22px;height:22px;display:inline-block;background:url('bookmark-icon.svg') center/contain no-repeat;margin-right:.45rem;vertical-align:-4px;border-radius:6px}
.table-of-contents,.toc,.on-this-page{display:none!important}


/* Final UX polish: image flag logo, page loader, compact food/culture layouts */
.logo{display:inline-flex;align-items:center;gap:.55rem;white-space:nowrap}.logo-flag-img{width:30px;height:20px;object-fit:cover;border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.page-loader{position:fixed;inset:0;z-index:99999;background:radial-gradient(circle at top left,rgba(227,28,35,.22),transparent 35%),linear-gradient(135deg,#05142e,#0052cc 55%,#e31c23);display:grid;place-items:center;transition:opacity .45s ease,visibility .45s ease}.page-loader.hide{opacity:0;visibility:hidden}.loader-card{width:min(360px,86vw);background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);box-shadow:0 30px 80px rgba(0,0,0,.35);border-radius:28px;padding:2rem;text-align:center;color:#fff;backdrop-filter:blur(14px)}.loader-symbols{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1rem}.loader-flag-img{width:96px;height:62px;object-fit:cover;border-radius:10px;box-shadow:0 12px 30px rgba(0,0,0,.3);animation:photoFlagWave 1.25s ease-in-out infinite;transform-origin:left center}.loader-eagle{font-size:4rem;filter:drop-shadow(0 10px 18px rgba(0,0,0,.28));animation:eagleGlide 1.5s ease-in-out infinite}.loader-card strong{display:block;font-family:var(--font-display);font-size:1.6rem;letter-spacing:.01em}.loader-card span{display:block;opacity:.86;margin-top:.35rem}.loader-bar{height:6px;border-radius:999px;background:rgba(255,255,255,.22);overflow:hidden;margin-top:1.25rem}.loader-bar i{display:block;height:100%;width:45%;background:#fff;border-radius:999px;animation:loaderSlide 1s ease-in-out infinite}@keyframes photoFlagWave{0%,100%{transform:perspective(240px) rotateY(0) skewY(0)}50%{transform:perspective(240px) rotateY(-12deg) skewY(2deg)}}@keyframes eagleGlide{0%,100%{transform:translateY(0) translateX(0) rotate(-3deg)}50%{transform:translateY(-8px) translateX(8px) rotate(3deg)}}@keyframes loaderSlide{0%{transform:translateX(-120%)}100%{transform:translateX(260%)}}
.compact-hero{padding:2rem 0;background:linear-gradient(135deg,#f8fafc,#eff6ff);border-bottom:1px solid var(--neutral-200)}.compact-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:1.5rem;align-items:center}.compact-hero h1{font-size:clamp(2rem,4vw,3.4rem);margin:.25rem 0 .6rem}.compact-hero p{max-width:760px}.compact-hero img{width:100%;height:260px;object-fit:cover;border-radius:24px;box-shadow:var(--shadow-lg)}.tight-section{padding-top:2.5rem;padding-bottom:2.5rem}.compact-title{text-align:center;max-width:820px;margin:0 auto 1.5rem}.region-recipe-nav{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center}.region-recipe-nav a{background:#fff;border:1px solid #dbeafe;color:#0052cc;font-weight:850;padding:.7rem 1rem;border-radius:999px;box-shadow:var(--shadow-sm)}.region-recipe-nav a:hover{background:#0052cc;color:#fff}.food-region-head{display:grid;grid-template-columns:1fr 340px;gap:1.5rem;align-items:center;margin-bottom:1.5rem}.food-region-head.reverse{grid-template-columns:340px 1fr}.food-region-head.reverse>div{grid-column:2}.food-region-head.reverse>img{grid-column:1;grid-row:1}.food-region-head img{width:100%;height:230px;object-fit:cover;border-radius:24px;box-shadow:var(--shadow-md)}.recipe-grid{align-items:stretch}.recipe-card{background:#fff;border:1px solid var(--neutral-200);border-radius:24px;overflow:hidden;box-shadow:var(--shadow-sm)}.recipe-card img{width:100%;height:185px;object-fit:cover}.recipe-card h3,.recipe-card p,.recipe-card ul{margin-left:1.25rem;margin-right:1.25rem}.recipe-card h3{margin-top:1rem;margin-bottom:.5rem}.recipe-card ul{padding-left:1rem;margin-bottom:1.25rem;color:var(--neutral-600);line-height:1.65}.route-grid .info-card{min-height:170px}.best-culture-grid .card-img{height:190px}.numbered-culture-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.numbered-culture-list article{background:#fff;border:1px solid var(--neutral-200);border-radius:22px;padding:1.25rem;box-shadow:var(--shadow-sm)}.numbered-culture-list span{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#0052cc,#e31c23);color:#fff;font-weight:900;margin-bottom:.8rem}.numbered-culture-list h3{font-size:1.08rem;margin-bottom:.45rem}.numbered-culture-list p{font-size:.96rem;margin-bottom:0}.planner-button-row .btn-secondary[href="create-travel-itinerary.html"]{display:none!important}.upgraded-control textarea,#travel-style,#trip-notes{display:none!important}.upgraded-control label[for="travel-style"],.upgraded-control label[for="trip-notes"]{display:none!important}.planner-button-row{display:flex;gap:.75rem;flex-wrap:wrap}.planner-button-row .btn-primary{width:100%;justify-content:center}.live-overview p strong:contains("Travel style"){display:none}
@media(max-width:820px){.compact-hero-grid,.food-region-head,.food-region-head.reverse{grid-template-columns:1fr}.food-region-head.reverse>div,.food-region-head.reverse>img{grid-column:auto;grid-row:auto}.compact-hero img,.food-region-head img{height:210px}.page-loader .loader-card{padding:1.4rem}.loader-eagle{font-size:3rem}.loader-flag-img{width:82px;height:54px}}


/* =========================================================
   Culture + Shop substantial upgrade
   ========================================================= */
.mini-hero{padding:2.2rem 0 1.4rem;background:linear-gradient(135deg,rgba(0,82,204,.08),rgba(227,28,35,.07));border-bottom:1px solid var(--neutral-200)}
.mini-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:1.25rem;align-items:center}
.mini-hero h1{font-size:clamp(2rem,4vw,3.5rem);margin:0 0 .55rem;line-height:1.02}.mini-hero p{font-size:1rem;max-width:780px;margin-bottom:1rem}.chip-row{display:flex;flex-wrap:wrap;gap:.55rem}.chip-row a{background:#fff;border:1px solid var(--neutral-200);border-radius:999px;padding:.55rem .85rem;font-weight:800;color:var(--primary-navy);box-shadow:var(--shadow-xs)}.chip-row a:hover{border-color:var(--primary-red);transform:translateY(-1px)}
.hero-mini-stack{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.hero-mini-stack img{width:100%;height:120px;object-fit:cover;border-radius:18px;box-shadow:var(--shadow-md)}.hero-mini-stack img:first-child{grid-row:span 2;height:250px}.shop-stack img:first-child{object-position:center}
.culture-dashboard,.shop-command{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.culture-dashboard article{background:#fff;border:1px solid var(--neutral-200);border-radius:18px;padding:1rem;text-align:center;box-shadow:var(--shadow-sm)}.culture-dashboard strong{display:block;font-size:2rem;color:var(--primary-red);line-height:1}.culture-dashboard span{font-weight:800;color:var(--primary-navy);font-size:.9rem;text-transform:uppercase;letter-spacing:.04em}
.culture-feature-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:1rem}.culture-feature{background:#fff;border:1px solid var(--neutral-200);border-radius:22px;overflow:hidden;box-shadow:var(--shadow-sm)}.culture-feature img{width:100%;height:170px;object-fit:cover}.culture-feature div,.culture-feature:not(.large){padding:1rem}.culture-feature h3{font-size:1.15rem;margin:.25rem 0 .4rem}.culture-feature p{font-size:.95rem;margin-bottom:.5rem}.culture-feature.large{grid-row:span 2;display:grid;grid-template-rows:auto 1fr}.culture-feature.large img{height:310px}.culture-feature.large h3{font-size:1.65rem}.culture-feature a{font-weight:900;color:var(--primary-red)}
.music-timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:.85rem}.music-timeline article{background:#fff;border:1px solid var(--neutral-200);border-top:5px solid var(--primary-red);padding:1rem;border-radius:18px;box-shadow:var(--shadow-sm)}.music-timeline span{display:inline-block;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--primary-blue);margin-bottom:.35rem}.music-timeline h3{font-size:1.05rem;margin:.1rem 0 .35rem}.music-timeline p{font-size:.9rem;margin:0}
.pro-card-grid{gap:1rem}.pro-card{background:#fff;border:1px solid var(--neutral-200);border-radius:22px;padding:0 0 1rem;overflow:hidden;box-shadow:var(--shadow-sm)}.pro-card img{width:100%;height:170px;object-fit:cover}.pro-card h3,.pro-card p,.pro-card ul{padding-left:1rem;padding-right:1rem}.pro-card h3{font-size:1.2rem;margin:1rem 0 .35rem}.pro-card ul{margin:.5rem 0 0 1rem;color:var(--neutral-600);font-size:.9rem}
.museum-lanes{display:grid;grid-template-columns:repeat(4,1fr);gap:.85rem}.museum-lanes article{background:#fff;border:1px solid var(--neutral-200);border-radius:18px;padding:1rem;box-shadow:var(--shadow-sm)}.museum-lanes h3{font-size:1.1rem}.museum-lanes a{font-weight:900;color:var(--primary-red)}
.sports-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.85rem}.sports-grid article{background:linear-gradient(135deg,rgba(0,82,204,.08),rgba(255,255,255,.95));border:1px solid var(--neutral-200);border-radius:18px;padding:1rem}.sports-grid h3{font-size:1.05rem}.sports-grid p{font-size:.92rem;margin:0}
.route-board{display:grid;gap:.85rem}.route-board article{display:grid;grid-template-columns:170px 1fr;gap:1rem;align-items:center;background:#fff;border:1px solid var(--neutral-200);border-radius:20px;overflow:hidden;box-shadow:var(--shadow-sm)}.route-board img{width:100%;height:135px;object-fit:cover}.route-board h3{font-size:1.2rem;margin:0 0 .25rem}.route-board p{margin:0 0 .35rem}.route-board span{font-weight:900;color:var(--primary-red);font-size:.9rem}
.culture-gallery img{height:120px!important}
.shop-command a{background:#fff;border:1px solid var(--neutral-200);border-radius:18px;padding:1rem;text-decoration:none;box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;gap:.7rem;align-items:center}.shop-command strong{color:var(--primary-navy);font-size:1.05rem}.shop-command span{color:var(--primary-red);font-weight:900}.shop-command a:hover{transform:translateY(-2px);border-color:var(--primary-red)}
.premium-art-wall{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:190px;gap:.85rem}.premium-art-tile{position:relative;overflow:hidden;border-radius:22px;box-shadow:var(--shadow-md);border:1px solid rgba(255,255,255,.55);color:#fff;text-decoration:none;background:#111}.premium-art-tile img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease;filter:saturate(1.08) contrast(1.03)}.premium-art-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.72))}.premium-art-tile b,.premium-art-tile span{position:absolute;z-index:2;left:1rem;right:1rem}.premium-art-tile b{bottom:2.15rem;font-size:1.05rem}.premium-art-tile span{bottom:.9rem;font-weight:800;font-size:.82rem;color:rgba(255,255,255,.88)}.premium-art-tile:hover img{transform:scale(1.08)}.premium-art-tile.tall{grid-row:span 2}.premium-art-tile.wide{grid-column:span 2}
.kit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.kit-grid article{background:#fff;border:1px solid var(--neutral-200);border-radius:20px;padding:1rem;box-shadow:var(--shadow-sm)}.kit-grid h3{font-size:1.15rem}.kit-grid ul{padding-left:1.1rem;color:var(--neutral-600);font-size:.92rem;margin-bottom:1rem}.kit-grid .btn{width:100%;padding:.75rem 1rem}
.pantry-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.pantry-grid article{background:#fff;border:1px solid var(--neutral-200);border-radius:20px;overflow:hidden;box-shadow:var(--shadow-sm)}.pantry-grid img{width:100%;height:145px;object-fit:cover}.pantry-grid h3,.pantry-grid p,.pantry-grid a{margin-left:1rem;margin-right:1rem}.pantry-grid h3{font-size:1.1rem;margin-top:1rem}.pantry-grid a{display:inline-block;margin-bottom:1rem;font-weight:900;color:var(--primary-red)}
.class-shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.class-shop-grid article{background:#fff;border:1px solid var(--neutral-200);border-radius:20px;padding:1rem;box-shadow:var(--shadow-sm)}
.destination-shop-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.85rem}.destination-shop-grid a{position:relative;border-radius:18px;overflow:hidden;height:150px;box-shadow:var(--shadow-sm);color:#fff;text-decoration:none}.destination-shop-grid img{width:100%;height:100%;object-fit:cover}.destination-shop-grid span{position:absolute;inset:auto .8rem .8rem .8rem;z-index:2;font-weight:900}.destination-shop-grid a:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.65))}
@media (max-width: 1000px){.mini-hero-grid,.culture-feature-grid{grid-template-columns:1fr}.culture-dashboard,.shop-command,.music-timeline,.museum-lanes,.sports-grid,.kit-grid,.pantry-grid,.destination-shop-grid{grid-template-columns:repeat(2,1fr)}.premium-art-wall{grid-template-columns:repeat(2,1fr)}.route-board article{grid-template-columns:130px 1fr}.culture-feature.large img{height:230px}}
@media (max-width: 640px){.culture-dashboard,.shop-command,.music-timeline,.museum-lanes,.sports-grid,.kit-grid,.pantry-grid,.class-shop-grid,.destination-shop-grid{grid-template-columns:1fr}.premium-art-wall{grid-template-columns:1fr;grid-auto-rows:210px}.premium-art-tile.wide,.premium-art-tile.tall{grid-column:auto;grid-row:auto}.route-board article{grid-template-columns:1fr}.route-board img{height:170px}.hero-mini-stack{grid-template-columns:1fr 1fr}.hero-mini-stack img:first-child{grid-row:auto;height:120px}}


/* Canada-style top navigation upgrade */
.main-nav > ul { gap: .35rem; }
.main-nav .nav-link { white-space: nowrap; }
.nav-itinerary { background: linear-gradient(135deg, rgba(227,28,35,.12), rgba(0,82,204,.10)); color: var(--primary-navy); border: 1px solid rgba(0,82,204,.15); }
@media (max-width: 1120px){ .main-nav > ul { gap: .2rem; } .main-nav .nav-link { padding-left:.55rem; padding-right:.55rem; font-size:.88rem; } }

/* Culture and Who's Who upgraded pages */
.canada-style-search{max-width:960px;margin:auto;text-align:center;padding:1.25rem;border-radius:22px;background:linear-gradient(135deg,rgba(0,82,204,.10),rgba(227,28,35,.09));border:1px solid rgba(0,82,204,.14);box-shadow:0 14px 34px rgba(0,0,0,.06)}
.canada-style-search h2{margin:.2rem 0 .75rem}.canada-style-search input{width:min(760px,100%);padding:1rem 1.1rem;border-radius:999px;border:2px solid rgba(0,82,204,.22);font-weight:700;background:white;box-shadow:0 8px 24px rgba(0,0,0,.05)}
.culture-chip-row{display:flex;gap:.55rem;justify-content:center;flex-wrap:wrap;margin-top:.9rem}.culture-chip-row a{display:inline-flex;padding:.45rem .75rem;border-radius:999px;background:#fff;color:var(--primary-navy);border:1px solid rgba(0,82,204,.18);font-weight:800;font-size:.9rem}.culture-chip-row a:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,82,204,.12)}
.culture-directory-grid .pro-card a{font-weight:800;color:var(--primary-navy)}
.research-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem}.research-steps article{background:#fff;border:1px solid rgba(0,82,204,.13);border-radius:18px;padding:1.1rem;box-shadow:0 10px 26px rgba(0,0,0,.05)}.research-steps b{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#0052CC,#E31C23);color:white;margin-bottom:.5rem}.research-steps h3{margin:.2rem 0 .35rem;font-size:1.05rem}.research-steps p{margin:0}.who-directory-grid .pro-card ul{margin:.65rem 0 0;padding-left:1.1rem}.who-directory-grid .pro-card li{margin:.18rem 0;color:var(--neutral-700);font-weight:650}.culture-hero-canada-style,.who-hero-canada-style{background:linear-gradient(135deg,rgba(0,82,204,.08),rgba(227,28,35,.07))}.culture-search-section,.who-search-section{padding-top:1.25rem;padding-bottom:1.25rem}


/* AdSense approval/trust polish */
.compact-header .logo{display:flex;align-items:center;gap:.55rem;font-weight:800;letter-spacing:-.02em}.logo-flag{width:28px;height:20px;object-fit:cover;border-radius:3px;box-shadow:0 2px 5px rgba(0,0,0,.18)}
.policy-page{max-width:960px;padding-top:2rem;padding-bottom:3rem}.policy-page h1{margin-bottom:.75rem}.policy-page h2{margin-top:2rem;margin-bottom:.75rem}.policy-page p{font-size:1rem;line-height:1.75}.policy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1.25rem 0}.policy-grid article,.contact-card{background:#fff;border:1px solid rgba(0,82,204,.16);border-radius:18px;padding:1.15rem;box-shadow:0 10px 25px rgba(0,0,0,.05)}
.affiliate-disclosure,.small-note{font-size:.92rem;color:#4b5563;background:#f8fafc;border-left:4px solid var(--primary-blue,#0052CC);padding:.75rem 1rem;border-radius:12px;margin:1rem 0}.contact-form{display:grid;gap:.65rem}.contact-form input,.contact-form textarea{border:1px solid #d6dce8;border-radius:12px;padding:.8rem}.contact-form label{font-weight:700;color:#1f2937}.site-footer a{display:block;margin:.25rem 0;color:rgba(255,255,255,.82)}
.ad-placeholder{display:none!important}.adsense-ready main{min-height:55vh}

/* Root-index web/support restructure refinements */
.compact-rich-section{padding-top:2rem;padding-bottom:2rem}.tight-grid{gap:1rem}.info-card{border-left:4px solid var(--primary-red);box-shadow:0 8px 20px rgba(0,82,204,.08)}.info-card .card-content{padding:1.25rem}.info-card h3{font-size:1.1rem;margin:.1rem 0 .5rem;color:var(--primary-navy)}.info-card p{margin:0;font-size:.96rem;line-height:1.65}


/* =========================================================
   Culture page substantial UX upgrade
   ========================================================= */
.culture-pro-page .culture-pro-hero{padding:2.2rem 0 1.4rem;background:linear-gradient(135deg,rgba(0,82,204,.08),rgba(227,28,35,.06));border-bottom:1px solid rgba(0,82,204,.12)}
.culture-pro-hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:1.4rem;align-items:center}.culture-pro-hero h1{font-size:clamp(2rem,4vw,3.6rem);line-height:1.02;margin:.2rem 0 .8rem}.culture-lead{font-size:1.04rem;line-height:1.65;max-width:72ch;margin-bottom:1rem}.culture-mini-actions{display:flex;flex-wrap:wrap;gap:.65rem}.culture-mini-actions a{background:#fff;border:1px solid rgba(0,82,204,.18);border-radius:999px;padding:.55rem .9rem;font-weight:800;box-shadow:0 8px 20px rgba(0,0,0,.06)}.culture-flag-card{background:#fff;border:1px solid rgba(0,82,204,.16);border-radius:22px;overflow:hidden;box-shadow:0 18px 35px rgba(0,0,0,.10)}.culture-flag-card img{width:100%;height:210px;object-fit:cover;display:block}.culture-flag-card div{padding:1rem}.culture-flag-card strong{display:block;color:var(--primary-navy);font-size:1.1rem}.culture-flag-card span{display:block;color:var(--neutral-600);margin-top:.25rem}.culture-finder-strip{padding:1.2rem 0}.culture-finder-card{background:linear-gradient(135deg,#003d7a,#0052cc 58%,#e31c23);color:#fff;border-radius:22px;padding:1.25rem;display:grid;grid-template-columns:1.1fr 1fr;gap:1rem;align-items:center;box-shadow:0 18px 40px rgba(0,82,204,.18)}.culture-finder-card h2,.culture-finder-card .eyebrow{color:#fff;margin:.15rem 0}.culture-finder-card input{grid-column:1/-1;background:#fff;border:0;border-radius:16px;padding:1rem 1.1rem;font-size:1rem;box-shadow:inset 0 0 0 2px rgba(255,255,255,.4)}.culture-chip-row.improved{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.6rem}.culture-chip-row.improved a{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:.55rem .8rem;font-weight:800}.culture-chip-row.improved a:hover{background:#fff;color:#0052cc}.tight-section{padding-top:2.6rem;padding-bottom:2.6rem}.culture-feature-wall{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.culture-feature-wall article{display:grid;grid-template-columns:120px 1fr;background:#fff;border:1px solid rgba(0,82,204,.13);border-radius:20px;overflow:hidden;box-shadow:0 12px 26px rgba(0,0,0,.08);transition:.22s ease}.culture-feature-wall article:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(0,82,204,.16)}.culture-feature-wall img{width:100%;height:100%;min-height:190px;object-fit:cover}.culture-feature-wall div{padding:1rem}.culture-feature-wall span{display:inline-block;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#e31c23;font-weight:900;margin-bottom:.25rem}.culture-feature-wall h3{font-size:1.18rem;margin:.1rem 0 .45rem}.culture-feature-wall p{font-size:.93rem;line-height:1.55;margin-bottom:.7rem}.culture-feature-wall a,.culture-lanes a,.museum-lanes a,.culture-story-grid a,.regional-culture-grid a,.culture-route-board a,.culture-sports-grid a{font-weight:900;color:#0052cc}.culture-lanes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.85rem}.culture-lanes article{background:#fff;border:1px solid rgba(0,82,204,.12);border-top:4px solid #e31c23;border-radius:18px;padding:1rem;box-shadow:0 10px 24px rgba(0,0,0,.06)}.culture-lanes strong{color:#0052cc;font-size:.82rem;text-transform:uppercase;letter-spacing:.07em}.culture-lanes h3{font-size:1.05rem;margin:.4rem 0}.culture-lanes p{font-size:.92rem;line-height:1.55}.better-museums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.better-museums article,.culture-sports-grid article{background:#fff;border-radius:18px;border:1px solid rgba(0,82,204,.13);padding:1.1rem;box-shadow:0 10px 24px rgba(0,0,0,.06)}.culture-story-grid,.regional-culture-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.culture-story-grid article,.regional-culture-grid article{background:#fff;border:1px solid rgba(0,82,204,.13);border-radius:20px;overflow:hidden;box-shadow:0 12px 28px rgba(0,0,0,.07)}.culture-story-grid img,.regional-culture-grid img{width:100%;height:145px;object-fit:cover;display:block}.culture-story-grid h3,.regional-culture-grid h3{padding:1rem 1rem 0;margin:0;font-size:1.1rem}.culture-story-grid p,.regional-culture-grid p{padding:0 1rem;margin:.55rem 0;line-height:1.55;font-size:.92rem}.culture-story-grid a,.regional-culture-grid a{display:block;padding:0 1rem 1rem}.culture-route-board article{align-items:stretch}.culture-route-board article div{display:flex;flex-direction:column}.culture-route-board article a{margin-top:auto}.culture-planner-panel{background:linear-gradient(135deg,rgba(0,82,204,.08),rgba(227,28,35,.07));border:1px solid rgba(0,82,204,.14);border-radius:24px;padding:1.4rem;display:grid;grid-template-columns:1fr 1.2fr auto;gap:1.2rem;align-items:center}.culture-day-formula{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.culture-day-formula span{display:block;background:#fff;border:1px solid rgba(0,82,204,.10);border-radius:16px;padding:.85rem;color:var(--neutral-600);font-size:.92rem}.culture-day-formula strong{display:block;color:#0052cc;margin-bottom:.2rem}.culture-pro-page .pro-card a{display:inline-block;margin-top:.3rem}.culture-pro-page .section-title.compact-title{margin-bottom:1.2rem}.culture-pro-page .section-title.compact-title p{max-width:820px;margin-left:auto;margin-right:auto}@media (max-width:1050px){.culture-pro-hero-grid,.culture-finder-card,.culture-planner-panel{grid-template-columns:1fr}.culture-feature-wall{grid-template-columns:1fr 1fr}.culture-lanes,.better-museums,.culture-story-grid,.regional-culture-grid{grid-template-columns:1fr 1fr}.culture-planner-panel .btn{justify-self:start}}@media (max-width:680px){.culture-feature-wall,.culture-lanes,.better-museums,.culture-story-grid,.regional-culture-grid,.culture-day-formula{grid-template-columns:1fr}.culture-feature-wall article{grid-template-columns:1fr}.culture-feature-wall img{height:180px;min-height:0}.culture-pro-hero{padding-top:1.4rem}.culture-mini-actions a{width:100%;text-align:center}}


/* State deep-dive upgrades */
.state-deep-dive { padding-top: 2.25rem; }
.compact-title { max-width: 900px; margin-left:auto; margin-right:auto; text-align:center; }
.state-insight-grid { display:grid; grid-template-columns: 1.5fr 1fr 1fr; gap:1rem; margin:1.25rem 0 1.5rem; }
.state-insight { background:#fff; border:1px solid rgba(0,82,204,.14); border-radius:18px; padding:1.1rem; box-shadow:0 10px 26px rgba(0,0,0,.06); }
.state-insight.lead-card { display:grid; grid-template-columns: 180px 1fr; gap:1rem; align-items:center; }
.state-insight img { width:100%; height:150px; object-fit:cover; border-radius:14px; }
.state-insight h3, .content-panel h3, .state-planner-strip h3 { margin-top:0; margin-bottom:.45rem; }
.state-insight p, .content-panel p, .state-planner-strip p { margin-bottom:.35rem; }
.pill-cloud { display:flex; flex-wrap:wrap; gap:.45rem; margin-top:.7rem; }
.mini-pill { display:inline-flex; align-items:center; border-radius:999px; padding:.38rem .68rem; background:rgba(0,82,204,.08); color:#073b78; border:1px solid rgba(0,82,204,.16); font-size:.86rem; font-weight:700; }
.state-rich-blocks { margin:1.4rem 0; align-items:stretch; }
.content-panel { background:linear-gradient(180deg,#fff,#f8fbff); border:1px solid rgba(0,82,204,.14); border-radius:18px; padding:1.25rem; box-shadow:0 10px 26px rgba(0,0,0,.05); }
.content-panel.image-panel img { width:100%; height:220px; object-fit:cover; border-radius:14px; margin-bottom:1rem; }
.check-list, .compact-list { margin:.5rem 0 0 1.15rem; }
.check-list li, .compact-list li { margin:.45rem 0; line-height:1.55; }
.state-planner-strip { display:grid; grid-template-columns: repeat(3, 1fr); gap:1rem; background:linear-gradient(135deg, rgba(0,82,204,.10), rgba(227,28,35,.08)); border:1px solid rgba(0,82,204,.16); border-radius:22px; padding:1.2rem; margin:1.5rem 0; }
.state-planner-strip > div { background:rgba(255,255,255,.82); border-radius:16px; padding:1rem; }
.state-idea-cards { margin:1.35rem 0; }
.state-callout { margin-top:1.4rem; }
@media (max-width: 900px){ .state-insight-grid, .state-planner-strip { grid-template-columns:1fr; } .state-insight.lead-card { grid-template-columns:1fr; } }


/* Homepage link robustness + compact professional content blocks */
.homepage-link-robust-upgrade { padding-top: 2rem; padding-bottom: 2rem; }
.compact-feature { gap: 1.25rem; align-items: stretch; }
.compact-feature .feature-img { max-height: 260px; object-fit: cover; border-radius: 18px; box-shadow: 0 14px 30px rgba(15,23,42,.12); }
.robust-mini-grid { margin-top: 1rem; }
.info-card { background:#fff; border:1px solid rgba(15,23,42,.10); border-radius:16px; padding:1rem; box-shadow:0 8px 20px rgba(15,23,42,.06); }
.info-card h3 { margin:0 0 .4rem; font-size:1.05rem; color:var(--primary-navy,#0052CC); }
.info-card p { margin:0; font-size:.95rem; line-height:1.55; }
.compact-trust-strip { padding: 1rem 0; }
.trust-panel { display:flex; gap:.75rem; align-items:center; justify-content:center; flex-wrap:wrap; padding: .85rem 1rem; border-radius: 16px; background: linear-gradient(90deg, rgba(0,82,204,.10), rgba(227,28,35,.10)); border:1px solid rgba(0,82,204,.15); text-align:center; }
.trust-panel strong { color:var(--primary-navy,#0052CC); }
.trust-panel span { color:#475569; }
@media (max-width: 760px){ .compact-feature { display:block; } .compact-feature .feature-img { width:100%; margin-top:1rem; } }

.deeper-homepage-target-detail{padding-top:2rem;padding-bottom:2rem;background:linear-gradient(180deg,#fff,rgba(0,82,204,.035));}
.compact-title{max-width:850px;margin:0 auto 1rem;text-align:center;}
.image-ribbon{margin-top:1rem;display:grid;grid-template-columns:180px 1fr;gap:1rem;align-items:center;border-radius:18px;overflow:hidden;background:#0f2f6f;color:white;box-shadow:0 12px 28px rgba(15,23,42,.12)}
.image-ribbon img{width:100%;height:120px;object-fit:cover}.image-ribbon p{margin:0;padding:1rem;color:white;line-height:1.55}
@media(max-width:700px){.image-ribbon{grid-template-columns:1fr}.image-ribbon img{height:160px}}

/* Where Could I Live — USA affordability tool */
.live-tool-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);gap:1.25rem;align-items:stretch;margin:1.2rem auto;}
.live-tool-hero .mini-hero-copy{background:linear-gradient(135deg,rgba(0,82,204,.12),rgba(227,28,35,.08));border:1px solid rgba(0,82,204,.18);border-radius:22px;padding:1.4rem;box-shadow:0 12px 30px rgba(15,23,42,.08)}
.live-tool-hero h1{font-size:clamp(2rem,4vw,3.4rem);margin:.2rem 0 .6rem;line-height:1}
.live-tool-hero p{font-size:1rem;margin:.4rem 0;color:#46556a}.live-tool-photo{min-height:280px;border-radius:22px;background-size:cover;background-position:center;position:relative;overflow:hidden;box-shadow:0 16px 34px rgba(15,23,42,.16)}
.live-tool-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,6,23,.05),rgba(2,6,23,.55))}.live-tool-photo span{position:absolute;left:1rem;bottom:1rem;z-index:2;color:white;font-weight:800;font-size:1.15rem;max-width:80%}
.live-builder{display:grid;grid-template-columns:320px minmax(0,1fr);gap:1rem;align-items:start;margin:1rem 0 1.8rem}.live-controls{position:sticky;top:86px;background:#fff;border:1px solid #d9e4f3;border-radius:22px;padding:1rem;box-shadow:0 16px 35px rgba(15,23,42,.08)}
.live-controls h2{font-size:1.35rem;margin:.2rem 0 .7rem}.control-block{margin:.85rem 0}.control-block label,.mode-title{display:block;font-weight:800;color:#15345d;margin:0 0 .35rem}.live-controls input[type="number"],.live-controls input[type="search"],.live-controls select{width:100%;border:1px solid #c8d6e7;border-radius:14px;padding:.78rem .85rem;background:#f8fbff;font:inherit}.mode-grid{display:grid;gap:.5rem}.mode-grid label{display:flex;gap:.55rem;align-items:flex-start;border:1px solid #dbe7f4;background:#f8fbff;border-radius:14px;padding:.7rem;cursor:pointer;font-weight:650;color:#334155}.mode-grid small{display:block;color:#64748b;font-weight:500}.mode-grid input{margin-top:.2rem}.panel-note{font-size:.9rem;color:#5b6778;line-height:1.5;margin:.8rem 0 0}.live-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:1rem}.live-card{background:#fff;border:1px solid #dce7f4;border-radius:22px;overflow:hidden;box-shadow:0 12px 26px rgba(15,23,42,.08);transition:transform .2s ease, box-shadow .2s ease}.live-card:hover{transform:translateY(-3px);box-shadow:0 18px 34px rgba(15,23,42,.13)}.live-card img{width:100%;height:155px;object-fit:cover;display:block;background:#e8eef7}.live-card-body{padding:1rem}.live-rank{display:inline-flex;background:#eaf2ff;color:#004aa3;border-radius:999px;padding:.25rem .55rem;font-size:.78rem;font-weight:850;margin-bottom:.45rem}.live-card h3{font-size:1.35rem;margin:.1rem 0 .35rem}.live-card p{font-size:.93rem;margin:.35rem 0;color:#526276}.live-cost{display:grid;gap:.15rem;margin:.65rem 0;padding:.7rem;border-radius:14px;background:linear-gradient(135deg,#f8fbff,#fff3f3);border:1px solid #e3edf8}.live-cost strong{font-size:1.2rem;color:#0f2f5d}.live-cost span{font-size:.82rem;color:#64748b}.live-fit{font-weight:700;color:#1f3658!important}.live-tags{display:flex;gap:.4rem;flex-wrap:wrap;margin:.7rem 0}.live-tags span{background:#f1f5f9;border:1px solid #dbe3ef;border-radius:999px;padding:.25rem .5rem;font-size:.78rem;color:#334155}.live-actions{display:flex;gap:.5rem;flex-wrap:wrap}.live-actions a,.live-actions button{border:0;border-radius:999px;background:#0052cc;color:#fff;text-decoration:none;padding:.55rem .75rem;font-weight:800;font-size:.86rem;cursor:pointer}.live-actions a:nth-child(2){background:#e31c23}.live-actions button{background:#0f172a}.live-section-card{background:#fff;border:1px solid #dce7f4;border-radius:22px;padding:1.1rem;box-shadow:0 12px 26px rgba(15,23,42,.07);margin:1rem 0}.compare-row{display:grid;grid-template-columns:1fr 1fr auto;gap:.7rem;align-items:end}.compare-row select{width:100%;border:1px solid #c8d6e7;border-radius:14px;padding:.78rem;background:#f8fbff}.compare-row button{border:0;border-radius:14px;background:#0f172a;color:white;padding:.82rem 1rem;font-weight:850}.compare-table-wrap{overflow:auto}.compare-table{width:100%;border-collapse:separate;border-spacing:0;margin-top:.8rem;background:#fff;border:1px solid #dbe7f4;border-radius:16px;overflow:hidden}.compare-table th{background:#0f3d7a;color:#fff;text-align:left}.compare-table th,.compare-table td{padding:.75rem;border-bottom:1px solid #e7eef8;vertical-align:top}.compare-table tr:last-child td{border-bottom:0}.live-guide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin:1rem 0}.live-guide-grid article{background:linear-gradient(135deg,#ffffff,#f7fbff);border:1px solid #dce7f4;border-radius:20px;padding:1rem}.live-guide-grid h3{font-size:1.1rem;margin:.1rem 0 .4rem}.live-guide-grid p{font-size:.92rem;color:#56677c;margin:0}.budget-pills{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0}.budget-pills button{border:1px solid #c9d7ea;background:white;color:#0f3d7a;border-radius:999px;padding:.45rem .7rem;font-weight:800;cursor:pointer}@media(max-width:900px){.live-tool-hero,.live-builder{grid-template-columns:1fr}.live-controls{position:relative;top:auto}.compare-row{grid-template-columns:1fr}.live-tool-photo{min-height:210px}}

/* Cuisine & Beverages upgrade */
.cuisine-hero .live-tool-photo{min-height:260px;background-size:cover;background-position:center;}
.compact-title{margin-bottom:1rem;}
.state-food-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;}
.state-food-card{display:flex;flex-direction:column;border:1px solid rgba(0,82,204,.14);border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 8px 22px rgba(0,0,0,.06);text-decoration:none;color:inherit;transition:.2s ease;}
.state-food-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(0,82,204,.14);border-color:var(--primary-blue,#0052CC);}
.state-food-card img{width:100%;height:118px;object-fit:cover;background:#eef2f7;}
.state-food-card span{font-weight:800;color:#073b7a;padding:.8rem .9rem .2rem;font-size:1.02rem;}
.state-food-card small{padding:0 .9rem .9rem;color:#5a5a58;line-height:1.35;}
.cuisine-region{padding-top:2rem;padding-bottom:1rem;}
.recipe-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;}
.recipe-card{background:#fff;border:1px solid rgba(0,82,204,.13);border-radius:18px;padding:1.1rem;box-shadow:0 8px 22px rgba(0,0,0,.05);}
.recipe-card h3{margin-top:0;margin-bottom:.55rem;color:#0052CC;}
.recipe-card a{font-weight:800;}
.timeline{display:grid;gap:.9rem;}
.timeline>div{background:linear-gradient(135deg,#ffffff,#f5f8ff);border-left:5px solid #E31C23;border-radius:16px;padding:1rem 1.2rem;box-shadow:0 6px 18px rgba(0,0,0,.05);}
.clean-list{display:grid;gap:.65rem;margin-left:1.1rem;}
.compact-callout{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;margin-bottom:1rem;background:linear-gradient(135deg,rgba(0,82,204,.07),rgba(227,28,35,.06));}
.culture-bottom{background:linear-gradient(135deg,#f8fbff,#fff7f7);border:1px solid rgba(0,82,204,.12);}
@media(max-width:720px){.compact-callout{display:block}.state-food-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));}.state-food-card img{height:96px;}}


/* 2026 UX cleanup: America Explorer nav, centered Cuisine, stronger Classroom and tools */
.logo{gap:.7rem}.logo span{letter-spacing:-.02em}.logo-flag{width:34px;height:24px;object-fit:cover;border-radius:4px;box-shadow:0 2px 7px rgba(0,0,0,.16)}
.centered-hero{text-align:center}.centered-hero .container{max-width:920px}.compact-hero{padding:46px 0;background:linear-gradient(135deg,#f7fbff,#fff);border-bottom:1px solid var(--line)}.compact-hero h1{font-family:var(--display);font-size:clamp(2.1rem,4.5vw,4rem);line-height:1.02;margin:.3rem 0}.compact-hero p{font-size:1.08rem;color:#475467;max-width:860px}.centered-hero p{margin-left:auto;margin-right:auto}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.centered-hero .hero-actions{justify-content:center}.btn.secondary{background:#fff;color:var(--blue);border:1px solid var(--line);box-shadow:none}.content-band{padding:42px 0}.section-heading{text-align:center;max-width:860px;margin:0 auto 24px}.section-heading h2{font-family:var(--display);font-size:clamp(1.8rem,3.2vw,3rem);margin:.2rem 0}.section-heading p{color:#667085}.card-grid{display:grid;gap:18px}.card-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card-grid article,.class-card,.price-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:0 12px 35px rgba(16,24,40,.06)}.image-card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 14px 38px rgba(16,24,40,.08);text-align:left}.image-card img{width:100%;height:210px;object-fit:cover}.image-card>div{padding:20px}.text-link{color:var(--blue2);font-weight:900}.small{font-size:.94rem;color:#667085}.image-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;padding:24px 0}.image-strip img{height:150px;width:100%;object-fit:cover;border-radius:18px;box-shadow:0 10px 24px rgba(16,24,40,.1)}
.cuisine-page main{text-align:center}.cuisine-region .card-grid{text-align:left}.state-food-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}.mini-state-tile{display:grid;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 10px 24px rgba(16,24,40,.06);text-align:left}.mini-state-tile img{height:110px;width:100%;object-fit:cover}.mini-state-tile span{font-weight:900;color:var(--blue);padding:12px 12px 2px}.mini-state-tile small{padding:0 12px 12px;color:#667085}.recipe-lab article{text-align:left}.resource-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.resource-pill{background:#fff;border:1px solid var(--line);border-radius:999px;padding:.8rem 1rem;font-weight:900;box-shadow:0 8px 20px rgba(16,24,40,.06)}.class-card{text-align:left}.class-card ul{margin:.5rem 0 0 1.1rem;color:#667085}.student-focus{background:linear-gradient(135deg,#eef6ff,#fff8ec);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.center{text-align:center}.tool-panel{max-width:900px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:16px;box-shadow:var(--shadow)}.tool-panel label{text-align:left;font-weight:900}.tool-panel input,.tool-panel select{width:100%;margin-top:6px;padding:.9rem 1rem;border:1px solid var(--line);border-radius:14px}.checkline{grid-column:1/-1;display:flex;gap:10px;align-items:center}.checkline input{width:auto}.price-card span{display:inline-flex;padding:.28rem .7rem;border-radius:999px;background:#edf4ff;color:var(--blue);font-weight:900}.home-hero-tight{padding:36px 0;background:linear-gradient(135deg,#061735,#123c7c);color:#fff}.hero-tight-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:26px;align-items:center}.home-hero-tight h1{font-family:var(--display);font-size:clamp(2.4rem,5vw,5rem);line-height:1;margin:.3rem 0}.home-hero-tight p{color:rgba(255,255,255,.88);max-width:760px}.flag-wave-card{display:inline-flex;align-items:center;gap:14px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:22px;padding:12px 16px;margin-bottom:12px}.flag-wave-card img{width:90px;height:58px;object-fit:cover;border-radius:8px;animation:flagWave 1.6s ease-in-out infinite;transform-origin:left center}.flag-wave-card span{font-size:2.4rem;animation:eagleFloat 2.4s ease-in-out infinite}.hero-photo-stack{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hero-photo-stack img{width:100%;height:190px;object-fit:cover;border-radius:22px;box-shadow:0 20px 50px rgba(0,0,0,.22)}.hero-photo-stack img:first-child{grid-row:span 2;height:392px}.home-tile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.home-tile{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 12px 35px rgba(16,24,40,.08)}.home-tile img{height:150px;width:100%;object-fit:cover}.home-tile span{display:inline-flex;margin:14px 16px 0;padding:.25rem .65rem;border-radius:999px;background:#edf4ff;color:var(--blue);font-weight:900;font-size:.78rem}.home-tile h3{margin:8px 16px 4px;color:var(--blue)}.home-tile p{margin:0 16px 18px;color:#667085;font-size:.94rem}@keyframes flagWave{0%,100%{transform:perspective(300px) rotateY(0deg) skewY(0deg)}50%{transform:perspective(300px) rotateY(13deg) skewY(2deg)}}@keyframes eagleFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@media(max-width:950px){.card-grid.three,.card-grid.four,.home-tile-grid,.hero-tight-grid{grid-template-columns:1fr 1fr}.tool-panel{grid-template-columns:1fr}.image-strip{grid-template-columns:repeat(2,1fr)}.hero-photo-stack img:first-child{height:220px;grid-row:auto}}@media(max-width:620px){.card-grid.three,.card-grid.four,.home-tile-grid,.hero-tight-grid{grid-template-columns:1fr}.hero-photo-stack{grid-template-columns:1fr}.image-strip{grid-template-columns:1fr}.compact-hero{padding:34px 0}.nav-shell{min-height:64px}.main-nav ul{gap:2px}}


/* ===== Compare City Prices: top-mounted match builder ===== */
.compare-page .price-tool .live-builder{
  display:block !important;
  background:linear-gradient(135deg,#f7fbff,#fff7f7);
  border:1px solid #d9e4f3;
  border-radius:26px;
  padding:1rem;
  box-shadow:0 18px 42px rgba(15,23,42,.08);
}
.compare-page .price-tool .live-controls{
  position:relative !important;
  top:auto !important;
  width:100%;
  margin:0 0 1.15rem 0;
  display:grid;
  grid-template-columns:repeat(4,minmax(180px,1fr));
  gap:.8rem;
  align-items:end;
  border:1px solid rgba(0,82,204,.16);
  background:#fff;
  border-radius:22px;
  box-shadow:0 12px 28px rgba(15,23,42,.07);
}
.compare-page .price-tool .live-controls h2{
  grid-column:1/-1;
  margin:0;
  padding:.15rem 0 .35rem;
  border-bottom:1px solid #e6eef8;
}
.compare-page .price-tool .live-controls .panel-note{grid-column:1/-1;margin:.15rem 0 0;background:#f8fbff;border:1px solid #dfeafa;border-radius:14px;padding:.75rem .9rem;}
.compare-page .price-tool .mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.compare-page .price-tool .section-heading{margin-top:.35rem !important;}
.compare-page .price-tool .live-results{grid-template-columns:repeat(auto-fit,minmax(285px,1fr));}
@media(max-width:1050px){.compare-page .price-tool .live-controls{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:650px){.compare-page .price-tool .live-controls{grid-template-columns:1fr}.compare-page .price-tool .mode-grid{grid-template-columns:1fr}}

/* ===== Who's Who expansion cards ===== */
.whoswho-deep-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-top:1rem}.whoswho-deep-card{background:#fff;border:1px solid #dce7f4;border-radius:20px;padding:1rem;box-shadow:0 10px 24px rgba(15,23,42,.06)}.whoswho-deep-card h3{margin:.1rem 0 .45rem;color:#0b4ea2}.whoswho-deep-card p{margin:0;color:#526276}.profile-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.85rem}.profile-mini{background:linear-gradient(135deg,#fff,#f7fbff);border:1px solid #dce7f4;border-radius:18px;padding:.9rem}.profile-mini b{display:block;color:#0f2f5d;margin-bottom:.2rem}.profile-mini span{display:block;font-size:.87rem;color:#5b6778}.regional-people-map{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1rem}.regional-people-map article{border-radius:20px;padding:1rem;background:linear-gradient(135deg,#0b4ea2,#0f2f5d);color:#fff}.regional-people-map h3{color:#fff;margin:.1rem 0 .45rem}.regional-people-map p{color:rgba(255,255,255,.9);margin:0}

/* ===== Smart Shop page ===== */
.smart-shop-panel{background:linear-gradient(135deg,#eef5ff,#fff4f4);border:1px solid #d9e4f3;border-radius:26px;padding:1.2rem;box-shadow:0 16px 38px rgba(15,23,42,.08)}.smart-shop-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,320px);gap:1rem;align-items:end;margin-bottom:1rem}.smart-shop-head h2{margin:.1rem 0 .4rem}.smart-shop-head p{margin:0;color:#526276}.smart-shop-select label{display:block;font-weight:850;color:#15345d;margin-bottom:.35rem}.smart-shop-select select{width:100%;border:1px solid #c8d6e7;border-radius:14px;padding:.8rem;background:#fff;font:inherit}.smart-shop-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.smart-product-card{display:block;background:#fff;border:1px solid #dce7f4;border-radius:20px;overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 10px 24px rgba(15,23,42,.07);transition:transform .2s ease, box-shadow .2s ease}.smart-product-card:hover{transform:translateY(-4px);box-shadow:0 18px 34px rgba(15,23,42,.13)}.smart-product-card img{width:100%;height:135px;object-fit:cover;background:#e8eef7}.smart-product-card div{padding:.9rem}.smart-product-card b{display:block;color:#0b4ea2;font-size:1rem;margin-bottom:.3rem}.smart-product-card span{display:block;color:#526276;font-size:.9rem}.smart-product-card small{display:inline-flex;margin-top:.55rem;background:#eaf2ff;color:#0b4ea2;border-radius:999px;padding:.28rem .55rem;font-weight:850}.shop-context-pill{display:inline-flex;gap:.35rem;align-items:center;background:#fff;border:1px solid #dce7f4;border-radius:999px;padding:.4rem .65rem;color:#0f2f5d;font-weight:850;margin:.5rem 0}.state-bestseller-note{font-size:.9rem;color:#5b6778;margin-top:.65rem}@media(max-width:760px){.smart-shop-head{grid-template-columns:1fr}}

/* Who's Who major upgrade */
.who-hero{padding:44px 0 28px;background:linear-gradient(135deg,#f7fbff,#fff7f4)}
.who-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:28px;align-items:stretch}.who-hero h1{font-size:clamp(2.1rem,4vw,4rem);margin:.2rem 0 1rem}.who-hero p{font-size:1.05rem}.who-hero-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:14px;box-shadow:var(--shadow)}.who-hero-card img{height:230px;width:100%;object-fit:cover;border-radius:18px}.who-hero-card h2{margin:1rem 0 .3rem}.who-search-panel{margin-top:20px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:0 14px 35px rgba(16,24,40,.08)}.who-search-panel label{display:block;font-weight:900;color:var(--blue);margin-bottom:8px}.who-search-panel input{width:100%;border:1px solid var(--line);border-radius:999px;padding:13px 16px;font:inherit;outline:0}.who-chip-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.who-chip-row button{border:0;background:#edf4ff;color:var(--blue);font-weight:850;border-radius:999px;padding:9px 12px;cursor:pointer}.compact-person-section{padding-top:44px;padding-bottom:34px}.person-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.person-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 10px 28px rgba(16,24,40,.06);transition:.2s ease}.person-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.person-icon{font-size:1.9rem}.person-card h3{margin:.4rem 0 .25rem}.person-place{font-weight:900;color:var(--red);font-size:.92rem}.person-card a{display:inline-block;margin-top:8px;font-weight:900;color:var(--blue)}.route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.route-grid article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px}.route-line{font-weight:900;color:var(--red)}.legacy-state-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.state-legacy-card{display:block;background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 10px 28px rgba(16,24,40,.06)}.state-legacy-card img{height:170px;width:100%;object-fit:cover}.state-legacy-card span{display:block;font-weight:950;color:var(--blue);font-size:1.25rem;padding:14px 16px 0}.state-legacy-card p{padding:0 16px 16px;margin:.3rem 0 0}.rich-list{padding-left:1.2rem}.rich-list li{margin:.55rem 0}.compact-gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px}.compact-gallery img{height:150px;width:100%;object-fit:cover;border-radius:18px}
@media(max-width:900px){.who-hero-grid,.person-grid,.route-grid,.legacy-state-grid{grid-template-columns:1fr 1fr}.person-grid{gap:12px}}@media(max-width:640px){.who-hero-grid,.person-grid,.route-grid,.legacy-state-grid{grid-template-columns:1fr}.who-hero{padding-top:24px}.who-chip-row button{flex:1 1 auto}.compact-gallery img{height:120px}}


/* Expanded Who's Who atlas */
.state-people-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.state-people-card{background:#fff;border:1px solid rgba(11,61,145,.14);border-radius:18px;overflow:hidden;box-shadow:0 8px 24px rgba(11,61,145,.08);display:flex;flex-direction:column}.state-people-card img{width:100%;height:150px;object-fit:cover}.state-people-card div{padding:1rem}.state-people-card h3{margin:.1rem 0 .5rem;color:var(--primary-navy,#0b3d91)}.state-people-card p{font-size:.94rem;line-height:1.55;margin:.35rem 0}.state-people-card a{font-weight:800}.deep-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.deep-field-card{background:linear-gradient(180deg,#fff,#f7f9ff);border:1px solid rgba(11,61,145,.14);border-radius:18px;padding:1.1rem;box-shadow:0 8px 22px rgba(0,0,0,.06)}.deep-field-card .field-icon{font-size:2rem;margin-bottom:.5rem}.deep-field-card h3{margin:.1rem 0 .5rem}.deep-field-card p{font-size:.95rem;line-height:1.6}.profile-essay-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.profile-essay-card{background:#fff;border-left:5px solid var(--flag-red,#c1121f);border-radius:16px;padding:1rem;box-shadow:0 7px 20px rgba(0,0,0,.06)}.profile-essay-card h3{margin:.1rem 0 .25rem}.profile-essay-card .person-place{font-weight:800;color:var(--primary-navy,#0b3d91);font-size:.9rem}.teacher-project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.teacher-project-grid article{background:#fff;border:1px solid rgba(11,61,145,.14);border-radius:16px;padding:1rem}.expanded-who-intro .card-grid article,.deep-fields .deep-field-card,.profile-library .profile-essay-card{transition:transform .2s ease,box-shadow .2s ease}.expanded-who-intro .card-grid article:hover,.deep-fields .deep-field-card:hover,.profile-library .profile-essay-card:hover,.state-people-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(11,61,145,.13)}


/* Clean focused shop page */
.shop-focus-shell{display:grid;gap:1rem}.shop-intro-strip{background:#fff;border:1px solid var(--line,#e4e8f0);border-radius:22px;padding:1rem 1.15rem;display:flex;justify-content:space-between;gap:1rem;align-items:center;box-shadow:0 10px 26px rgba(15,23,42,.07)}.shop-intro-strip h1{margin:0;font-size:clamp(1.65rem,3vw,2.4rem)}.shop-intro-strip p{margin:.25rem 0 0;color:#526276}.shop-intro-strip img{width:110px;height:72px;object-fit:cover;border-radius:16px;box-shadow:0 8px 20px rgba(15,23,42,.12)}.travel-buy-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.travel-buy-card{background:#fff;border:1px solid #dce7f4;border-radius:20px;overflow:hidden;box-shadow:0 10px 24px rgba(15,23,42,.07);text-decoration:none;color:inherit;transition:transform .18s ease,box-shadow .18s ease}.travel-buy-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(15,23,42,.12)}.travel-buy-card img{width:100%;height:132px;object-fit:cover}.travel-buy-card div{padding:.95rem}.travel-buy-card b{display:block;color:#0b4ea2;font-size:1rem;margin-bottom:.25rem}.travel-buy-card span{display:block;color:#526276;font-size:.9rem}.travel-buy-card small{display:inline-flex;margin-top:.6rem;background:#eaf2ff;color:#0b4ea2;border-radius:999px;padding:.28rem .55rem;font-weight:850}.shop-disclosure-clean{font-size:.92rem;color:#667085;text-align:center;margin:.5rem auto 0;max-width:760px}.external-canada-link{font-weight:900;color:#0b4ea2!important}
@media(max-width:900px){.travel-buy-grid{grid-template-columns:repeat(2,1fr)}.shop-intro-strip{align-items:flex-start}.shop-intro-strip img{display:none}}@media(max-width:560px){.travel-buy-grid{grid-template-columns:1fr}}


/* Clickable USA map on Explore page */
.usa-click-map-section { padding-top: 2rem; }
.map-title { max-width: 820px; margin-inline: auto; text-align: center; }
.usa-map-card {
  background: linear-gradient(135deg, rgba(11,61,145,.08), rgba(191,10,48,.08));
  border: 1px solid rgba(11,61,145,.18);
  border-radius: 24px;
  padding: clamp(1rem, 2vw, 1.5rem);
  box-shadow: 0 18px 45px rgba(11, 61, 145, .12);
  overflow-x: auto;
}
.usa-map-legend {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem 1rem;
  justify-content: center;
  margin-bottom: 1rem;
  font-size: .88rem;
  font-weight: 700;
  color: #243047;
}
.usa-map-legend span { display: inline-flex; align-items: center; gap: .35rem; }
.usa-map-legend .dot { width: .7rem; height: .7rem; border-radius: 50%; display: inline-block; }
.dot.northeast { background: #174ea6; }
.dot.southeast { background: #bf0a30; }
.dot.midwest { background: #2f7d32; }
.dot.southwest { background: #c45a12; }
.dot.west { background: #5d3fd3; }
.usa-click-map {
  min-width: 980px;
  display: grid;
  grid-template-columns: repeat(15, minmax(48px, 1fr));
  grid-template-rows: repeat(7, 58px);
  gap: .45rem;
  padding: .75rem;
  background:
    radial-gradient(circle at 18% 20%, rgba(255,255,255,.75), transparent 24%),
    linear-gradient(180deg, #f7fbff, #eef4fb);
  border-radius: 20px;
  border: 1px solid rgba(15,23,42,.08);
}
.state-map-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: .1rem;
  min-height: 54px;
  padding: .35rem;
  border-radius: 12px;
  color: #fff;
  text-decoration: none;
  border: 1px solid rgba(255,255,255,.55);
  box-shadow: 0 6px 14px rgba(15, 23, 42, .12);
  transform: translateZ(0);
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.state-map-tile strong { font-size: 1rem; line-height: 1; letter-spacing: .03em; }
.state-map-tile span { font-size: .58rem; line-height: 1.05; font-weight: 700; max-width: 100%; }
.state-map-tile:hover,
.state-map-tile:focus-visible {
  transform: translateY(-4px) scale(1.035);
  box-shadow: 0 14px 24px rgba(15, 23, 42, .22);
  filter: saturate(1.15);
  outline: 3px solid rgba(255,215,0,.85);
  outline-offset: 2px;
}
.region-northeast { background: linear-gradient(135deg, #174ea6, #0b3d91); }
.region-southeast { background: linear-gradient(135deg, #bf0a30, #8f0624); }
.region-midwest { background: linear-gradient(135deg, #2f7d32, #1f5b23); }
.region-southwest { background: linear-gradient(135deg, #c45a12, #8f3e0a); }
.region-west { background: linear-gradient(135deg, #5d3fd3, #36218e); }
.usa-map-help {
  margin: 1rem auto 0;
  max-width: 840px;
  text-align: center;
  color: #243047;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 999px;
  padding: .75rem 1rem;
  font-size: .95rem;
}
.map-route-callouts { margin-top: 1.25rem; }
@media (max-width: 760px) {
  .usa-map-card { border-radius: 18px; }
  .usa-click-map { min-width: 860px; grid-template-rows: repeat(7, 52px); }
  .state-map-tile span { display: none; }
  .usa-map-help { border-radius: 14px; }
}
