:root {
  color-scheme: light;
  --gt-brand: #087f8c;
  --gt-ink: #17324d;
  --gt-muted: #52687a;
  --gt-surface: #ffffff;
  --gt-background: #f7fafc;
  --gt-border: #d8e4ea;
  --gt-success: #16835b;
  --gt-warning: #c27803;
  --gt-error: #b42318;
  --gt-focus: #f4a261;
  --gt-space-1: .35rem;
  --gt-space-2: .5rem;
  --gt-space-3: .75rem;
  --gt-space-4: 1rem;
  --gt-space-5: 1.5rem;
  --gt-space-6: 2rem;
  --gt-radius: .6rem;
  --gt-shadow: 0 .35rem 1.2rem rgba(16,47,70,.05);
  --gt-page-width: 72rem;
  --gt-reading-width: 48rem;
  --gt-control-height: 2.75rem;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #17324d;
  background: #f7fafc;
}
.page-shell{width:min(100% - 2rem,64rem);margin:2rem auto}.community-nav{display:flex;gap:1rem;flex-wrap:wrap}.community-form{display:grid;gap:1rem;max-width:48rem;margin:1.5rem 0}.community-form label{display:grid;gap:.35rem;font-weight:700}.community-form input,.community-form select,.community-form textarea{padding:.75rem;border:1px solid #b8c8cf;border-radius:.4rem;font:inherit}.community-form textarea{min-height:7rem}.submission-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem}.submission-cards article{padding:1rem;border:1px solid #d8e4ea;border-radius:.6rem}

* {
  box-sizing: border-box;
}

body {
  min-height: 100vh;
  margin: 0;
  display: grid;
  grid-template-rows: auto 1fr auto;
}

.site-header,
.site-footer,
main {
  width: min(100% - 2rem, 72rem);
  margin-inline: auto;
}

.site-header,
.site-footer {
  padding-block: 1.25rem;
}

.admin-auth,
.admin-dashboard {
  max-width: 38rem;
  padding-block: 4rem;
}

.admin-auth form,
.admin-dashboard form {
  display: grid;
  gap: 0.75rem;
}

input {
  width: 100%;
  padding: 0.8rem;
  border: 1px solid #9fb2c1;
  border-radius: 0.4rem;
  font: inherit;
}

button {
  border: 0;
  cursor: pointer;
}

.form-error {
  padding: 0.75rem;
  border-left: 0.25rem solid #b42318;
  color: #7a271a;
  background: #fef3f2;
}

.brand {
  color: #087f8c;
  font-size: 1.25rem;
  font-weight: 800;
  text-decoration: none;
}

.hero,
.error-page {
  max-width: 44rem;
  padding-block: clamp(4rem, 12vw, 9rem);
}

.eyebrow,
.error-code {
  color: #087f8c;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

h1 {
  max-width: 18ch;
  margin-block: 0.5rem 1rem;
  font-size: clamp(2.5rem, 8vw, 5rem);
  line-height: 1;
}

p {
  font-size: 1.05rem;
  line-height: 1.7;
}

.status {
  margin-top: 2rem;
  padding: 1rem;
  border-left: 0.25rem solid #f4a261;
  background: #ffffff;
}

.button {
  display: inline-block;
  margin-top: 1rem;
  padding: 0.75rem 1rem;
  border-radius: 0.5rem;
  color: #ffffff;
  background: #087f8c;
  font-weight: 700;
  text-decoration: none;
}

.site-footer {
  border-top: 1px solid #dce6ec;
  color: #52687a;
}

.creator-profile{display:grid;gap:1.5rem}.creator-avatar{width:6rem;height:6rem;object-fit:cover;border-radius:50%}.creator-stats{display:flex;gap:1rem;flex-wrap:wrap}.creator-stats div,.creator-card{padding:1rem;border:1px solid #d8e4ea;border-radius:.75rem;background:#fff}.creator-stats dd{margin:0;font-size:1.75rem;font-weight:700}.creator-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem}.creator-card img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:.5rem}@media(max-width:40rem){.creator-grid{grid-template-columns:1fr}}
.recommendation-page{display:grid;gap:1.5rem}.recommendation-filters{display:grid;grid-template-columns:repeat(2,minmax(10rem,1fr)) auto;align-items:end;gap:1rem}.recommendation-filters select{width:100%;padding:.75rem;border:1px solid #9fb2c1;border-radius:.4rem;background:#fff}.recommendation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem}.recommendation-card{padding:1rem;border:1px solid #d8e4ea;border-radius:.75rem;background:#fff}.recommendation-card img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:.5rem}.recommendation-badges{display:flex;flex-wrap:wrap;gap:.4rem}.recommendation-badges span{padding:.2rem .5rem;border-radius:1rem;background:#e8f5f6;font-size:.8rem;font-weight:700}.commercial-disclosure{padding:.6rem;border-left:.2rem solid #f4a261;background:#fff8ed}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem}.placement-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem}@media(max-width:40rem){.recommendation-filters{grid-template-columns:1fr}.recommendation-grid{grid-template-columns:1fr}}
.search-page{display:grid;gap:1.5rem}.search-form{display:grid;grid-template-columns:minmax(14rem,2fr) repeat(2,minmax(10rem,1fr)) auto;align-items:end;gap:1rem}.search-form select{width:100%;padding:.75rem;border:1px solid #9fb2c1;border-radius:.4rem;background:#fff}.search-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem}.search-card{padding:1rem;border:1px solid #d8e4ea;border-radius:.75rem;background:#fff}.search-card img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:.5rem}.search-form :focus-visible,.search-card a:focus-visible,.pagination a:focus-visible{outline:.2rem solid #f4a261;outline-offset:.15rem}@media(max-width:48rem){.search-form{grid-template-columns:1fr}.search-grid{grid-template-columns:1fr}}
.skip-link{position:absolute;left:-999rem;top:.5rem}.skip-link:focus{left:.5rem;z-index:10;padding:.75rem;background:#fff}.site-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.public-menu nav,.site-footer nav,.hero-actions,.destination-nav,.category-links{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.public-menu summary{cursor:pointer;padding:.65rem}.public-menu form{display:inline}.public-menu button{padding:.4rem;background:transparent;color:inherit;font:inherit}.public-hero,.destination-hero{padding-block:clamp(3rem,8vw,7rem)}.public-hero,.destination-hero,main>section{margin-bottom:3rem}.compact-search{display:grid;grid-template-columns:minmax(14rem,1fr) auto;align-items:end;gap:1rem;max-width:40rem}.destination-grid,.public-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem}.destination-grid article,.public-content-card{padding:1rem;border:1px solid #d8e4ea;border-radius:.75rem;background:#fff}.destination-grid img,.public-content-card img,.detail-image,.destination-hero>img{width:100%;max-height:28rem;object-fit:cover;border-radius:.6rem}.category-links a{padding:1rem;border:1px solid #d8e4ea;border-radius:.6rem;background:#fff;text-decoration:none}.listing-filter{display:flex;align-items:end;gap:1rem}.listing-filter select{padding:.75rem}.site-footer{display:grid;grid-template-columns:2fr 3fr auto;gap:1.5rem;align-items:start}.site-header a:focus-visible,.site-footer a:focus-visible,.public-content-card a:focus-visible,.public-menu summary:focus-visible{outline:.2rem solid #f4a261;outline-offset:.15rem}@media(max-width:48rem){.compact-search,.site-footer{grid-template-columns:1fr}.site-header{align-items:flex-start}.public-menu nav{flex-direction:column;align-items:flex-start}.destination-grid,.public-card-grid{grid-template-columns:1fr}.hero-actions,.destination-nav,.category-links{align-items:stretch;flex-direction:column}.listing-filter{align-items:stretch;flex-direction:column}}

/* Stage 14B shared presentation refinements. */
button, input, select, textarea { min-height: var(--gt-control-height); }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible,
a:focus-visible, summary:focus-visible { outline: 3px solid var(--gt-focus); outline-offset: 3px; }
.public-menu summary { min-height: var(--gt-control-height); display: inline-flex; align-items: center; }
.public-menu[open] summary { color: var(--gt-brand); background: #e8f5f6; border-radius: var(--gt-radius); }
.public-menu a, .public-menu button { min-height: var(--gt-control-height); display: inline-flex; align-items: center; }
.legal-page { max-width: var(--gt-reading-width); }
.legal-page > header, .legal-page > section { margin-bottom: var(--gt-space-6); }
.legal-page p, .legal-page li, .public-content-card h3 { overflow-wrap: anywhere; }
.public-content-card, .recommendation-card, .search-card { min-width: 0; box-shadow: var(--gt-shadow); }
.public-content-card img, .recommendation-card img, .search-card img { aspect-ratio: 16 / 9; object-fit: cover; background: #e8f0f3; }
.public-content-card .media-failed { display: block; min-height: 9rem; background: #e8f0f3; }
.pagination a, .pagination span { min-height: var(--gt-control-height); display: inline-flex; align-items: center; }
@media (max-width: 48rem) {
  .site-header { flex-wrap: wrap; }
  .public-menu { width: 100%; }
  .public-menu nav { padding-top: var(--gt-space-2); }
  .public-menu a, .public-menu button { width: 100%; justify-content: flex-start; }
  .site-footer { grid-template-columns: 1fr; }
  .site-footer nav { display: grid; grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); }
  .site-footer nav a { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; } }
