:root {
  --bg: #101214;
  --surface: #171a1d;
  --surface-2: #1d2125;
  --text: #f3f0e9;
  --muted: #a9b0b7;
  --line: rgba(255,255,255,.11);
  --gold: #e1b85b;
  --gold-2: #f0cf80;
  --max: 1180px;
  --radius: 18px;
  --shadow: 0 24px 70px rgba(0,0,0,.22);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; }

img {
  display: block;
  max-width: 100%;
}

.shell {
  width: min(calc(100% - 48px), var(--max));
  margin-inline: auto;
}

.narrow {
  width: min(calc(100% - 48px), 820px);
}

.sr-only {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

.skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  transform: translateY(-160%);
  z-index: 1000;
  background: var(--text);
  color: #111;
  padding: 10px 14px;
  border-radius: 8px;
}

.skip-link:focus { transform: translateY(0); }

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  backdrop-filter: blur(18px);
  background: rgba(16,18,20,.82);
  border-bottom: 1px solid var(--line);
}

.header-inner {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  font-weight: 700;
}

.brand-mark {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 1px solid rgba(225,184,91,.45);
  border-radius: 50%;
  color: var(--gold-2);
  letter-spacing: .04em;
  font-size: .82rem;
}

.brand-name { letter-spacing: .02em; }

.site-nav {
  display: flex;
  align-items: center;
  gap: clamp(14px, 2vw, 28px);
}

.site-nav a {
  color: var(--muted);
  text-decoration: none;
  font-size: .92rem;
  transition: color .2s ease;
}

.site-nav a:hover,
.site-nav a:focus-visible { color: var(--text); }

.nav-toggle {
  display: none;
  width: 44px;
  height: 44px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: transparent;
  padding: 10px;
}

.nav-toggle span:not(.sr-only) {
  display: block;
  height: 2px;
  margin: 5px 0;
  background: var(--text);
}

.section { padding: clamp(72px, 9vw, 128px) 0; }
.section-soft { background: var(--surface); }

.hero {
  min-height: calc(100vh - 76px);
  display: grid;
  align-items: center;
}

.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
  gap: clamp(48px, 8vw, 110px);
  align-items: end;
}

.eyebrow,
.panel-kicker {
  margin: 0 0 18px;
  color: var(--gold-2);
  text-transform: uppercase;
  letter-spacing: .22em;
  font-size: .76rem;
  font-weight: 700;
}

.hero h1,
.page-intro h1 {
  margin: 0;
  font-size: clamp(4rem, 11vw, 8.4rem);
  line-height: .82;
  letter-spacing: -.065em;
  font-weight: 800;
}

.gold-rule {
  width: 78px;
  height: 2px;
  background: var(--gold);
  margin: 40px 0 34px;
}

.lede {
  max-width: 760px;
  margin: 0;
  font-size: clamp(1.18rem, 2vw, 1.55rem);
  line-height: 1.55;
  color: #e8e4dd;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 36px;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 18px;
  border-radius: 12px;
  text-decoration: none;
  font-weight: 700;
  border: 1px solid var(--line);
}

.button-primary {
  background: var(--gold);
  border-color: var(--gold);
  color: #171717;
}

.button-quiet { color: var(--text); }

.hero-panel {
  padding: 28px;
  background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.hero-panel p:last-child {
  margin-bottom: 0;
  color: #ccd1d5;
}

.section-heading {
  max-width: 700px;
  margin-bottom: 46px;
}

.section-heading h2,
.empty-state h2 {
  margin: 0 0 16px;
  font-size: clamp(2.2rem, 5vw, 4.3rem);
  line-height: 1;
  letter-spacing: -.045em;
}

.section-heading > p:last-child,
.prose,
.muted {
  color: var(--muted);
}

.card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.feature-card {
  min-height: 260px;
  display: flex;
  flex-direction: column;
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-2);
}

.card-number {
  margin: 0 0 auto;
  color: var(--gold);
  font-variant-numeric: tabular-nums;
  font-size: .82rem;
}

.feature-card h3 {
  margin: 36px 0 10px;
  font-size: 1.5rem;
}

.feature-card p:not(.card-number) {
  color: var(--muted);
}

.feature-card a {
  margin-top: auto;
  padding-top: 14px;
  color: var(--gold-2);
  text-decoration: none;
  font-weight: 700;
}

.split {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(40px, 8vw, 100px);
}

.prose {
  font-size: 1.08rem;
}

.page-intro {
  padding-bottom: 72px;
}

.page-intro h1 {
  font-size: clamp(3.6rem, 9vw, 7rem);
  margin-bottom: 32px;
}

.empty-state {
  padding: clamp(34px, 6vw, 64px);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-2);
}

.empty-state .button { margin-top: 18px; }

.site-footer {
  border-top: 1px solid var(--line);
  padding: 38px 0;
}

.footer-grid {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: end;
}

.footer-brand {
  margin: 0 0 6px;
  font-weight: 800;
  letter-spacing: .08em;
}

.footer-grid p { margin-top: 0; }
.footer-copy { color: var(--muted); }

@media (max-width: 980px) {
  .hero-grid,
  .split {
    grid-template-columns: 1fr;
  }

  .hero {
    min-height: auto;
  }

  .hero-panel {
    max-width: 650px;
  }

  .card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .site-nav {
    position: absolute;
    top: calc(100% + 1px);
    left: 0;
    right: 0;
    display: none;
    padding: 18px 24px 24px;
    background: #111416;
    border-bottom: 1px solid var(--line);
  }

  .site-nav.is-open {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .site-nav a {
    display: block;
    padding: 12px;
    border-radius: 10px;
    background: rgba(255,255,255,.035);
  }

  .nav-toggle {
    display: block;
  }
}

@media (max-width: 640px) {
  .shell,
  .narrow {
    width: min(calc(100% - 30px), var(--max));
  }

  .header-inner {
    min-height: 66px;
  }

  .brand-name {
    display: none;
  }

  .section {
    padding: 64px 0;
  }

  .hero {
    padding-top: 76px;
  }

  .hero h1 {
    font-size: clamp(4rem, 23vw, 6.2rem);
  }

  .hero-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .button {
    width: 100%;
  }

  .card-grid {
    grid-template-columns: 1fr;
  }

  .feature-card {
    min-height: 220px;
  }

  .site-nav.is-open {
    grid-template-columns: 1fr;
    max-height: calc(100vh - 66px);
    overflow-y: auto;
  }

  .footer-grid {
    display: grid;
    align-items: start;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}


.public-record-body {
  color:#e7e4dd;
  font-size:1.08rem;
}
.public-record-body h2,
.public-record-body h3 {
  color:var(--text);
  line-height:1.15;
}
.public-record-body a { color:var(--gold-2); }
.public-media-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:36px;
}
.public-media-card {
  margin:0;
  padding:14px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--surface-2);
}
.public-media-card img,
.public-media-card video {
  width:100%;
  height:auto;
  display:block;
  border-radius:10px;
}
.public-media-card audio { width:100%; }
.public-media-card figcaption {
  margin-top:10px;
  color:var(--muted);
  font-size:.92rem;
}
@media(max-width:720px){
  .public-media-grid{grid-template-columns:1fr;}
}


/* v6: Research public architecture */
.research-hero { padding-bottom:clamp(60px,8vw,110px); }
.research-hero-grid {
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);
  gap:clamp(40px,8vw,100px);
  align-items:end;
}
.research-hero h1 {
  margin:0;
  max-width:900px;
  font-size:clamp(3rem,7vw,6.5rem);
  line-height:.95;
  letter-spacing:-.055em;
}
.research-intro {
  margin:0 0 8px;
  color:var(--muted);
  font-size:1.08rem;
}
.research-index { display:grid; gap:20px; }
.research-card {
  display:grid;
  grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);
  min-height:320px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  background:var(--surface-2);
}
.research-card:not(:has(.research-card-media)) {
  grid-template-columns:1fr;
}
.research-card-media {
  min-height:300px;
  background:#0d0f10;
}
.research-card-media img {
  width:100%;
  height:100%;
  object-fit:cover;
}
.research-card-copy {
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(28px,5vw,58px);
}
.research-meta {
  display:flex;
  flex-wrap:wrap;
  gap:8px 18px;
  color:var(--gold-2);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.72rem;
  font-weight:700;
}
.research-card h2 {
  margin:16px 0 14px;
  font-size:clamp(2rem,4vw,3.6rem);
  line-height:1;
  letter-spacing:-.045em;
}
.research-card h2 a { text-decoration:none; }
.research-card p { color:var(--muted); font-size:1.03rem; }
.research-read {
  margin-top:18px;
  color:var(--gold-2);
  font-weight:700;
  text-decoration:none;
}
.research-card-featured {
  grid-template-columns:minmax(340px,1.05fr) minmax(0,.95fr);
}
.article-shell { width:min(calc(100% - 48px), 880px); }
.article-hero { padding-bottom:64px; }
.article-back {
  display:inline-block;
  margin-bottom:34px;
  color:var(--muted);
  text-decoration:none;
}
.article-hero h1 {
  margin:0;
  font-size:clamp(3.2rem,8vw,6.8rem);
  line-height:.92;
  letter-spacing:-.055em;
}
.article-meta {
  display:flex;
  flex-wrap:wrap;
  gap:10px 24px;
  margin-top:26px;
  color:var(--muted);
  font-size:.86rem;
}
.article-deck {
  margin:34px 0 0;
  font-size:clamp(1.25rem,2.4vw,1.65rem);
  line-height:1.5;
  color:#dfddd7;
}
.article-body {
  font-size:1.12rem;
  line-height:1.8;
  color:#e6e3dc;
}
.article-body p { margin:0 0 1.5em; }
.article-body h2 {
  margin:2em 0 .65em;
  font-size:clamp(2rem,4vw,3rem);
  line-height:1.05;
}
.article-body h3 { margin:1.8em 0 .55em; font-size:1.6rem; }
.article-body blockquote {
  margin:2em 0;
  padding:8px 0 8px 24px;
  border-left:2px solid var(--gold);
  color:var(--muted);
  font-size:1.15rem;
}
.article-body a { color:var(--gold-2); }
.article-media {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:52px;
}
.article-media-item {
  margin:0;
  padding:14px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--surface-2);
}
.article-media-item img,
.article-media-item video {
  display:block;
  width:100%;
  height:auto;
  border-radius:10px;
}
.article-media-item audio { width:100%; }
.article-media-item figcaption {
  margin-top:10px;
  color:var(--muted);
  font-size:.92rem;
}
@media(max-width:900px){
  .research-hero-grid,
  .research-card,
  .research-card-featured {
    grid-template-columns:1fr;
  }
  .research-card-media { min-height:380px; }
  .research-card-copy { padding:34px; }
}
@media(max-width:640px){
  .research-hero h1 { font-size:clamp(3rem,15vw,4.7rem); }
  .research-card-media { min-height:240px; }
  .research-card-copy { padding:24px; }
  .article-shell { width:min(calc(100% - 30px),880px); }
  .article-media { grid-template-columns:1fr; }
}


.inline-media {
  margin:2.2em 0;
  padding:14px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--surface-2);
}
.inline-media img,
.inline-media video {
  width:100%;
  height:auto;
  display:block;
  border-radius:10px;
}
.inline-media audio { width:100%; }
.inline-media figcaption {
  margin-top:10px;
  color:var(--muted);
  font-size:.92rem;
}


/* v8: inline media size + alignment */
.inline-media--wide {
  width:100%;
}
.inline-media--medium {
  width:min(72%, 680px);
}
.inline-media--small {
  width:min(42%, 360px);
}
.inline-media--center {
  margin-left:auto;
  margin-right:auto;
}
.inline-media--left {
  float:left;
  margin:0.45em 2em 1.25em 0;
}
.inline-media--right {
  float:right;
  margin:0.45em 0 1.25em 2em;
}
.article-body::after {
  content:"";
  display:block;
  clear:both;
}
@media(max-width:720px){
  .inline-media--medium,
  .inline-media--small,
  .inline-media--left,
  .inline-media--right {
    width:100%;
    float:none;
    margin:2.2em 0;
  }
}


/* v10 article typography controls */
.article-body font[size="2"]{font-size:.86em}.article-body font[size="3"]{font-size:1em}.article-body font[size="4"]{font-size:1.2em}.article-body font[size="5"]{font-size:1.5em}.article-body font[size="6"]{font-size:2em;line-height:1.2}
.article-body font[face="Arial"]{font-family:Arial,Helvetica,sans-serif}.article-body font[face="Georgia"]{font-family:Georgia,"Times New Roman",serif}.article-body font[face="Courier New"]{font-family:"Courier New",Courier,monospace}.article-body font[face="Trebuchet MS"]{font-family:"Trebuchet MS",Arial,sans-serif}.article-body font[face="Verdana"]{font-family:Verdana,Geneva,sans-serif}
.article-body h4{margin:1.6em 0 .5em;font-size:1.25rem;line-height:1.25}

.article-tag {
  color:inherit;
  text-decoration:none;
  border-bottom:1px solid rgba(231,185,79,.35);
}
.article-tag:hover,
.article-tag:focus { color:#e7b94f; border-bottom-color:#e7b94f; }


/* v12: post sharing and browser-native PDF export */
.share-panel {
  margin-top: 32px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(255,255,255,.025);
}
.share-panel-heading {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 14px;
  margin-bottom: 14px;
}
.share-panel-heading strong { color: var(--text); }
.share-panel-heading span {
  color: var(--muted);
  font-size: .9rem;
}
.share-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.share-button {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 9px 13px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #111416;
  color: var(--text);
  font: inherit;
  font-size: .9rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
}
.share-button:hover,
.share-button:focus-visible {
  border-color: var(--gold);
  color: var(--gold-2);
}
.share-button.share-pdf {
  background: var(--gold);
  border-color: var(--gold);
  color: #111;
}
.share-button.share-pdf:hover,
.share-button.share-pdf:focus-visible {
  background: var(--gold-2);
  color: #111;
}
.share-status {
  min-height: 1.2em;
  margin: 10px 0 0;
  color: var(--gold-2);
  font-size: .86rem;
}
.article-share-footer {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  margin-top: 54px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
  color: var(--muted);
}
.text-share-link {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--gold-2);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.print-source-credit { display: none; }

@media (max-width: 640px) {
  .share-panel-heading {
    display: grid;
    gap: 4px;
  }
  .share-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .share-button { width: 100%; }
  .article-share-footer {
    display: grid;
  }
}

@media print {
  @page {
    size: auto;
    margin: .72in .62in .72in;
  }

  html,
  body {
    background: #fff !important;
    color: #111 !important;
  }

  body {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 11pt;
  }

  .site-header,
  .site-footer,
  .article-back,
  .share-panel,
  .article-share-footer,
  .no-print,
  .skip-link {
    display: none !important;
  }

  .print-source-credit {
    display: block;
    position: static;
    margin: 0 0 12pt;
    padding: 0 0 5pt;
    border-bottom: .5pt solid #aaa;
    color: #555 !important;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 7.5pt;
    line-height: 1.25;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  main,
  .section,
  .section-soft,
  .article-hero {
    background: transparent !important;
  }

  .section {
    padding: 0 !important;
  }

  .article-hero {
    margin-top: 0 !important;
    margin-bottom: 22pt;
  }

  .shell,
  .article-shell {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
  }

  .eyebrow,
  .article-meta,
  .article-deck,
  .article-body,
  .article-body p,
  .article-body li,
  .article-body blockquote,
  figcaption {
    color: #111;
  }

  .article-hero h1 {
    margin-top: 0;
    color: #111 !important;
    font-size: 25pt;
    line-height: 1.05;
  }

  .article-deck {
    font-size: 12pt;
  }

  .article-body {
    font-size: 10.8pt;
    line-height: 1.48;
  }

  .article-body h2,
  .article-body h3,
  .article-body h4 {
    color: #111 !important;
    break-after: avoid-page;
    page-break-after: avoid;
  }

  .article-body a,
  .article-tag {
    color: #111 !important;
    text-decoration: underline;
  }

  .inline-media,
  .article-media-item {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .inline-media img,
  .article-media-item img {
    max-width: 100% !important;
    height: auto !important;
  }

  video,
  audio {
    display: none !important;
  }
}


/* v13: Treasure Hunting discovery hub */
.treasure-hero {
  padding-bottom: 48px;
}
.treasure-hero-grid,
.section-heading-row {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
  gap: 48px;
  align-items: end;
}
.treasure-hero h1,
.section-heading-row h2 {
  margin-bottom: 0;
}
.treasure-intro p,
.section-heading-row > p {
  color: var(--muted);
  margin: 0;
}
.treasure-intro {
  display: grid;
  gap: 12px;
}
.topic-entry-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 28px;
}
.topic-entry-card {
  display: block;
  min-height: 220px;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #171a1c;
  color: inherit;
  text-decoration: none;
  transition: transform .16s ease, border-color .16s ease;
}
.topic-entry-card:hover,
.topic-entry-card:focus-visible {
  transform: translateY(-2px);
  border-color: var(--gold);
}
.topic-entry-meta {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: var(--gold-2);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.topic-entry-card h3 {
  margin: 34px 0 10px;
  font-size: clamp(1.45rem, 2.5vw, 2.2rem);
}
.topic-entry-card p {
  color: var(--muted);
}
.topic-entry-link {
  display: inline-block;
  margin-top: 10px;
  color: var(--gold-2);
  font-weight: 800;
}

@media (max-width: 800px) {
  .treasure-hero-grid,
  .section-heading-row {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

@media (max-width: 620px) {
  .topic-entry-grid {
    grid-template-columns: 1fr;
  }
  .topic-entry-card {
    min-height: 0;
  }
}


/* v14: destination-based public architecture */
.home-destination-hero {
  padding-top: clamp(72px, 9vw, 136px);
  padding-bottom: clamp(72px, 9vw, 120px);
}
.home-destination-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
  gap: clamp(44px, 7vw, 100px);
  align-items: end;
}
.home-name-block h1 {
  margin: 0;
  font-size: clamp(5rem, 12vw, 10.5rem);
  line-height: .76;
  letter-spacing: -.065em;
}
.home-purpose {
  padding-bottom: 10px;
}
.home-purpose-lede {
  margin: 0 0 14px;
  color: var(--text);
  font-size: clamp(1.6rem, 2.8vw, 2.55rem);
  font-weight: 800;
  line-height: 1.05;
}
.home-purpose > p:not(.home-purpose-lede) {
  color: var(--muted);
  font-size: 1.02rem;
  line-height: 1.75;
}
.home-purpose .button {
  margin-top: 18px;
}
.destination-heading {
  margin-bottom: 30px;
}
.destination-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.destination-card {
  min-height: 300px;
  display: flex;
  flex-direction: column;
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #171a1c;
  color: inherit;
  text-decoration: none;
  transition: transform .16s ease, border-color .16s ease, background .16s ease;
}
.destination-card:hover,
.destination-card:focus-visible {
  transform: translateY(-2px);
  border-color: var(--gold);
  background: #1a1d20;
}
.destination-card-top {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: baseline;
}
.destination-number,
.destination-kicker {
  font-size: .75rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .1em;
}
.destination-number { color: var(--gold-2); }
.destination-kicker { color: var(--muted); }
.destination-card h3 {
  margin: 56px 0 14px;
  font-size: clamp(1.8rem, 3vw, 3rem);
  line-height: 1;
}
.destination-card p {
  max-width: 58ch;
  color: var(--muted);
  line-height: 1.65;
}
.destination-link {
  margin-top: auto;
  padding-top: 26px;
  color: var(--gold-2);
  font-weight: 800;
}
.home-latest-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 28px;
}
.home-latest-card,
.destination-empty {
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #171a1c;
}
.home-latest-card h3 {
  margin: 18px 0 12px;
  font-size: 1.45rem;
  line-height: 1.15;
}
.home-latest-card h3 a {
  color: inherit;
  text-decoration: none;
}
.home-latest-card h3 a:hover { color: var(--gold-2); }
.home-latest-card > p:not(.eyebrow),
.destination-empty p {
  color: var(--muted);
}
.destination-hero {
  padding-bottom: 52px;
}
.destination-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
  gap: 48px;
  align-items: end;
}
.destination-hero h1 {
  margin-bottom: 0;
}
.destination-intro h2 {
  margin: 0 0 12px;
  font-size: 1rem;
  color: var(--gold-2);
  text-transform: uppercase;
  letter-spacing: .08em;
}
.destination-intro p {
  margin: 0;
  color: var(--muted);
  line-height: 1.7;
}
.destination-record-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 28px;
}
.destination-record-card {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #171a1c;
}
.destination-record-media {
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
}
.destination-record-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.destination-record-copy {
  padding: 22px;
}
.destination-record-copy h3 {
  margin: 14px 0 10px;
  font-size: 1.55rem;
}
.destination-record-copy h3 a {
  color: inherit;
  text-decoration: none;
}
.destination-record-copy p {
  color: var(--muted);
}
@media (max-width: 980px) {
  .site-nav {
    gap: 15px;
  }
  .site-nav a {
    font-size: .82rem;
  }
}
@media (max-width: 840px) {
  .home-destination-grid,
  .destination-hero-grid {
    grid-template-columns: 1fr;
  }
  .home-latest-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 680px) {
  .destination-card-grid,
  .destination-record-grid {
    grid-template-columns: 1fr;
  }
  .destination-card {
    min-height: 0;
  }
  .destination-card h3 {
    margin-top: 34px;
  }
}


/* v15: About Stacey */
.about-hero-grid {
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);
  gap:clamp(42px,7vw,96px);
  align-items:end;
}
.about-hero h1 { margin-bottom:0; }
.about-intro { display:grid; gap:14px; }
.about-intro p { margin:0; color:var(--muted); line-height:1.72; }
.about-intro .about-intro-lede {
  color:var(--text);
  font-size:clamp(1.35rem,2.4vw,2rem);
  font-weight:800;
  line-height:1.18;
}
.about-profile-grid {
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:18px;
}
.about-profile-card,.about-quick-card {
  padding:clamp(24px,4vw,42px);
  border:1px solid var(--line);
  border-radius:18px;
  background:#171a1c;
}
.about-profile-card h2 {
  max-width:15ch;
  font-size:clamp(2rem,4vw,3.8rem);
  line-height:.98;
}
.about-profile-card > p:not(.eyebrow) {
  max-width:70ch;
  color:var(--muted);
  line-height:1.72;
}
.about-quick-links { display:grid; margin-top:24px; }
.about-quick-links a {
  display:flex; justify-content:space-between; gap:18px;
  padding:15px 0; border-bottom:1px solid var(--line);
  color:var(--text); text-decoration:none; font-weight:700;
}
.about-quick-links a:hover { color:var(--gold-2); }
.personal-feed {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:28px;
}
.personal-post-card {
  overflow:hidden; border:1px solid var(--line);
  border-radius:18px; background:#171a1c;
}
.personal-post-image {
  display:block; aspect-ratio:16/9; overflow:hidden;
  border-bottom:1px solid var(--line);
}
.personal-post-image img { width:100%; height:100%; object-fit:cover; }
.personal-post-copy { padding:24px; }
.personal-post-copy h3 { margin:14px 0 10px; font-size:1.6rem; }
.personal-post-copy h3 a { color:inherit; text-decoration:none; }
.personal-post-copy h3 a:hover { color:var(--gold-2); }
.personal-post-copy p { color:var(--muted); line-height:1.6; }
.about-gallery-grid {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px; margin-top:28px;
}
.about-gallery-item {
  position:relative; display:block; overflow:hidden;
  min-height:240px; border:1px solid var(--line); border-radius:16px;
  background:#111; color:#fff;
}
.about-gallery-item img {
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  transition:transform .2s ease;
}
.about-gallery-item::after {
  content:""; position:absolute; inset:40% 0 0;
  background:linear-gradient(transparent,rgba(0,0,0,.86));
}
.about-gallery-item span {
  position:absolute; z-index:2; left:16px; right:16px; bottom:15px;
  font-weight:800;
}
.about-gallery-item:hover img { transform:scale(1.025); }
.gallery-placeholder-grid {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px; margin-top:28px;
}
.gallery-placeholder-grid div {
  display:flex; align-items:flex-end; min-height:220px; padding:18px;
  border:1px dashed var(--line); border-radius:16px;
  background:linear-gradient(145deg,#181b1e,#101214);
}
.gallery-placeholder-grid span {
  color:var(--muted); font-weight:800; text-transform:uppercase;
  letter-spacing:.08em; font-size:.75rem;
}
@media (max-width:850px) {
  .about-hero-grid,.about-profile-grid { grid-template-columns:1fr; }
  .about-gallery-grid,.gallery-placeholder-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:650px) {
  .personal-feed { grid-template-columns:1fr; }
}
@media (max-width:480px) {
  .about-gallery-grid,.gallery-placeholder-grid { grid-template-columns:1fr; }
  .about-gallery-item,.gallery-placeholder-grid div { min-height:200px; }
}


/* v16: approved cinematic homepage implementation */
.home-wide-shell {
  width:min(calc(100% - 40px), 1760px);
  margin-inline:auto;
}
.home-cinematic-hero {
  position:relative;
  overflow:hidden;
  min-height:470px;
  background:
    radial-gradient(circle at 83% 10%, rgba(235,164,64,.12), transparent 28%),
    linear-gradient(100deg,#071016 0%,#101418 56%,#18130e 100%);
  border-bottom:1px solid rgba(225,184,91,.18);
}
.home-cinematic-overlay {
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(5,10,13,.2),rgba(5,10,13,.08) 50%,rgba(5,10,13,.12)),
    radial-gradient(circle at 45% 100%,rgba(225,184,91,.06),transparent 35%);
  pointer-events:none;
}
.home-cinematic-grid {
  position:relative;
  z-index:1;
  min-height:470px;
  display:grid;
  grid-template-columns:minmax(430px,1.02fr) minmax(420px,.9fr) minmax(390px,.78fr);
  align-items:center;
  gap:clamp(28px,3.5vw,64px);
  padding-block:48px;
}
.home-brand-graphic {
  align-self:center;
  border-right:1px solid rgba(225,184,91,.8);
  padding-right:clamp(26px,3vw,54px);
}
.home-brand-graphic img {
  width:100%;
  max-width:610px;
  margin-inline:auto;
  mix-blend-mode:screen;
  border-radius:2px;
}
.home-welcome-copy {
  padding-block:20px;
}
.home-welcome-copy .eyebrow {
  margin-bottom:16px;
}
.home-welcome-copy h1 {
  margin:0 0 18px;
  max-width:14ch;
  font-size:clamp(2.35rem,3.4vw,4.25rem);
  line-height:.98;
  letter-spacing:-.045em;
}
.home-welcome-intro,
.home-welcome-closing {
  max-width:46ch;
  color:#d6d8da;
  font-size:clamp(1rem,1.25vw,1.22rem);
  line-height:1.55;
}
.home-welcome-closing {
  margin-top:16px;
  color:#f0f0ed;
}
.home-hero-cta {
  display:inline-flex;
  margin-top:12px;
  color:var(--gold-2);
  text-decoration:none;
  font-weight:800;
}
.home-hero-cta:hover { color:#fff; }

.home-compass-scene {
  align-self:stretch;
  min-height:350px;
  margin-right:-20px;
  background:
    linear-gradient(90deg,#101418 0%,rgba(16,20,24,.05) 30%),
    url('/assets/images/home/hero-compass.jpg') center right / cover no-repeat;
  border-radius:0 0 0 42px;
  box-shadow:inset 30px 0 38px rgba(16,18,20,.9);
}

.home-destination-strip {
  padding:16px 0 38px;
  background:#080c0f;
  border-bottom:1px solid var(--line);
}
.home-destination-card-grid {
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:14px;
}
.home-visual-card {
  min-width:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  border:1px solid rgba(255,255,255,.13);
  border-radius:13px;
  background:linear-gradient(#151a1e,#0c1114);
  color:inherit;
  text-decoration:none;
  box-shadow:0 16px 36px rgba(0,0,0,.22);
  transition:transform .16s ease,border-color .16s ease;
}
.home-visual-card:hover,
.home-visual-card:focus-visible {
  transform:translateY(-3px);
  border-color:rgba(225,184,91,.72);
}
.home-visual-card-image {
  aspect-ratio:1.62/1;
  overflow:hidden;
  background:#161a1d;
}
.home-visual-card-image img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .2s ease;
}
.home-visual-card:hover .home-visual-card-image img { transform:scale(1.035); }
.home-visual-card-body {
  min-height:245px;
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:20px 16px 18px;
  text-align:center;
}
.home-card-kicker {
  color:var(--gold-2);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.home-visual-card h2 {
  margin:12px 0 10px;
  font-size:clamp(1rem,1.15vw,1.28rem);
  line-height:1.05;
}
.home-visual-card p {
  margin:0;
  color:#adb4ba;
  font-size:.88rem;
  line-height:1.45;
}
.home-card-arrow {
  display:grid;
  place-items:center;
  width:43px;
  height:35px;
  margin-top:auto;
  border:1px solid rgba(225,184,91,.68);
  border-radius:999px;
  color:var(--gold-2);
  font-size:1.2rem;
  line-height:1;
}
.home-latest-section {
  background:#101214;
}

@media (max-width:1480px) {
  .home-cinematic-grid {
    grid-template-columns:minmax(390px,1fr) minmax(390px,.92fr) minmax(320px,.68fr);
  }
  .home-destination-card-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .home-visual-card-body { min-height:220px; }
}
@media (max-width:1120px) {
  .home-cinematic-grid {
    grid-template-columns:minmax(360px,.9fr) minmax(400px,1.1fr);
  }
  .home-compass-scene {
    grid-column:1/-1;
    min-height:250px;
    margin:0;
    border-radius:20px;
    background-position:center 54%;
    box-shadow:inset 0 34px 38px rgba(16,18,20,.68);
  }
}
@media (max-width:820px) {
  .home-cinematic-grid {
    grid-template-columns:1fr;
    gap:22px;
    padding-block:28px 34px;
  }
  .home-brand-graphic {
    border-right:0;
    border-bottom:1px solid rgba(225,184,91,.5);
    padding:0 0 24px;
  }
  .home-brand-graphic img { max-width:560px; }
  .home-welcome-copy { padding:0; }
  .home-welcome-copy h1 { max-width:none; }
  .home-compass-scene { min-height:220px; }
  .home-destination-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:520px) {
  .home-wide-shell { width:min(calc(100% - 24px),1760px); }
  .home-cinematic-hero { min-height:0; }
  .home-cinematic-grid { min-height:0; }
  .home-brand-graphic img { width:112%; max-width:none; margin-left:-6%; }
  .home-compass-scene { min-height:180px; }
  .home-destination-card-grid { grid-template-columns:1fr; }
  .home-visual-card {
    display:grid;
    grid-template-columns:125px 1fr;
  }
  .home-visual-card-image {
    height:100%;
    aspect-ratio:auto;
  }
  .home-visual-card-body {
    min-height:175px;
    align-items:flex-start;
    text-align:left;
  }
  .home-card-arrow { margin-top:auto; }
}

/* v16: homepage admin editor */
.homepage-destination-editor {
  display:grid;
  gap:14px;
  margin-top:18px;
}
.homepage-destination-row {
  display:grid;
  grid-template-columns:150px 1fr .8fr 1.8fr 1fr 90px 72px;
  gap:12px;
  align-items:end;
  padding:14px;
  border:1px solid rgba(231,185,79,.2);
  border-radius:14px;
  background:#101315;
}
.homepage-destination-preview img {
  width:100%;
  height:72px;
  object-fit:cover;
  border-radius:8px;
  margin-bottom:6px;
}
.homepage-destination-preview {
  font-size:.82rem;
  color:var(--muted);
}
.homepage-destination-preview strong {
  display:block;
  color:var(--text);
}
.homepage-description-field textarea { min-height:76px; }
.homepage-visible-field {
  justify-content:center;
  min-height:46px;
}
.admin-sticky-save {
  position:sticky;
  bottom:14px;
  z-index:20;
  display:flex;
  justify-content:flex-end;
  padding:12px 0;
}
@media (max-width:1200px) {
  .homepage-destination-row {
    grid-template-columns:130px 1fr 1fr;
  }
  .homepage-description-field { grid-column:2/-1; }
}
@media (max-width:720px) {
  .homepage-destination-row {
    grid-template-columns:1fr;
  }
  .homepage-description-field { grid-column:auto; }
  .homepage-destination-preview img { height:130px; }
  .homepage-visible-field { justify-content:flex-start; }
}


/* v16.1 hotfix: continuous hero atmosphere + smoky logo blend */
.home-cinematic-hero {
  position:relative;
  overflow:hidden;
  background:#081015;
}
.home-cinematic-backdrop {
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(4,10,14,.90) 0%, rgba(4,10,14,.62) 22%, rgba(8,12,15,.42) 48%, rgba(10,10,10,.26) 72%, rgba(18,10,4,.10) 100%),
    url('/assets/images/home/hero-compass.jpg') center right / cover no-repeat;
  transform:scale(1.06);
  filter:saturate(.92) contrast(1.02) brightness(.78);
}
.home-cinematic-overlay {
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 28% 42%, rgba(235,164,64,.08), transparent 34%),
    radial-gradient(circle at 82% 22%, rgba(235,164,64,.12), transparent 26%),
    linear-gradient(90deg, rgba(4,10,14,.30), rgba(4,10,14,.06) 45%, rgba(4,10,14,.04));
  pointer-events:none;
}
.home-brand-graphic {
  position:relative;
  border-right:1px solid rgba(225,184,91,.8);
  padding-right:clamp(26px,3vw,54px);
}
.home-brand-graphic::before {
  content:"";
  position:absolute;
  inset:-10% -2% -10% -8%;
  z-index:-1;
  background:radial-gradient(ellipse at center, rgba(4,10,14,.72) 0%, rgba(4,10,14,.40) 50%, transparent 76%);
  filter:blur(12px);
}
.home-brand-graphic img {
  width:100%;
  max-width:650px;
  margin-inline:auto;
  display:block;
  border-radius:0;
  mix-blend-mode:normal;
  filter:drop-shadow(0 10px 32px rgba(0,0,0,.48));
}
.home-welcome-copy {
  position:relative;
  z-index:2;
  padding:30px 28px;
}
.home-welcome-copy::before {
  content:"";
  position:absolute;
  inset:-16px -24px;
  z-index:-1;
  background:
    radial-gradient(ellipse at center, rgba(4,9,12,.70) 0%, rgba(4,9,12,.48) 52%, rgba(4,9,12,.18) 72%, transparent 86%);
  filter:blur(10px);
}
.home-compass-scene {
  position:relative;
  align-self:stretch;
  min-height:350px;
  margin-right:-20px;
  background:
    linear-gradient(90deg, rgba(10,13,15,.05), rgba(10,13,15,0) 42%);
  border-radius:0;
  box-shadow:none;
}
@media (max-width:1120px) {
  .home-cinematic-backdrop {
    background-position:64% center;
  }
  .home-compass-scene {
    grid-column:1/-1;
    min-height:220px;
    margin:0;
    background:
      linear-gradient(180deg, rgba(8,12,15,.26), rgba(8,12,15,.05)),
      url('/assets/images/home/hero-compass.jpg') center 58% / cover no-repeat;
    border-radius:18px;
    box-shadow:inset 0 30px 34px rgba(8,12,15,.45);
  }
}
@media (max-width:820px) {
  .home-brand-graphic {
    border-right:0;
    border-bottom:1px solid rgba(225,184,91,.5);
    padding:0 0 20px;
  }
  .home-welcome-copy {
    padding:8px 4px 4px;
  }
  .home-welcome-copy::before {
    inset:-10px -12px;
  }
}


/* v16.2 cleanup: clean feathered logo source, no baked-in ghost text */
.home-brand-graphic {
  isolation:isolate;
}
.home-brand-graphic::after {
  content:"";
  position:absolute;
  inset:4% 2% 2% -3%;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 55% 38%, rgba(226,164,72,.08), transparent 34%),
    radial-gradient(ellipse at center, rgba(8,14,18,.34), transparent 72%);
  filter:blur(18px);
}


/* v16.3 hotfix: approved single-sun hero, clean layers, no ghost lettering */
.home-cinematic-hero {
  position:relative;
  overflow:hidden;
  background:#071016;
}
.home-cinematic-backdrop {
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,
      rgba(4,10,14,.82) 0%,
      rgba(4,10,14,.48) 30%,
      rgba(5,10,13,.34) 52%,
      rgba(8,9,9,.22) 72%,
      rgba(18,10,4,.10) 100%),
    url('/assets/images/home/hero-atmosphere-clean.jpg') center / cover no-repeat;
  filter:saturate(.92) contrast(1.03) brightness(.78);
  transform:none;
}
.home-cinematic-overlay {
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse at 30% 40%, rgba(232,164,71,.08), transparent 30%),
    linear-gradient(180deg, rgba(3,8,11,.06), rgba(3,8,11,.20));
  pointer-events:none;
}
.home-brand-graphic {
  position:relative;
  isolation:isolate;
  border-right:1px solid rgba(225,184,91,.82);
  padding-right:clamp(26px,3vw,54px);
}
.home-brand-graphic::before {
  content:"";
  position:absolute;
  inset:-8% -4% -10% -8%;
  z-index:-1;
  background:radial-gradient(ellipse at 48% 45%,
    rgba(5,11,15,.36) 0%,
    rgba(5,11,15,.20) 44%,
    transparent 76%);
  filter:blur(20px);
}
.home-brand-graphic::after {
  display:none;
}
.home-brand-graphic img {
  width:108%;
  max-width:690px;
  margin-left:-5%;
  display:block;
  border-radius:0;
  mix-blend-mode:normal;
  filter:drop-shadow(0 12px 34px rgba(0,0,0,.30));
}
.home-welcome-copy {
  position:relative;
  z-index:3;
  padding:28px 26px;
}
.home-welcome-copy::before {
  content:"";
  position:absolute;
  inset:-12px -20px;
  z-index:-1;
  background:radial-gradient(ellipse at center,
    rgba(4,9,12,.58) 0%,
    rgba(4,9,12,.32) 52%,
    rgba(4,9,12,.08) 76%,
    transparent 88%);
  filter:blur(12px);
}
.home-compass-scene {
  position:relative;
  align-self:stretch;
  min-height:350px;
  margin-right:-20px;
  border-radius:0;
  box-shadow:none;
  background:url('/assets/images/home/hero-compass-clean.png') center right / contain no-repeat;
}
@media (max-width:1120px) {
  .home-cinematic-backdrop {
    background-position:center;
  }
  .home-compass-scene {
    grid-column:1/-1;
    min-height:220px;
    margin:0;
    border-radius:18px;
    background:
      linear-gradient(180deg, rgba(8,12,15,.10), rgba(8,12,15,.02)),
      url('/assets/images/home/hero-compass-clean.png') center right / contain no-repeat;
  }
}
@media (max-width:820px) {
  .home-brand-graphic {
    border-right:0;
    border-bottom:1px solid rgba(225,184,91,.5);
    padding:0 0 20px;
  }
  .home-brand-graphic img {
    width:108%;
    margin-left:-4%;
  }
  .home-welcome-copy {
    padding:8px 4px 4px;
  }
}


/* v16.4 hotfix: clean compass crop + stronger edge feathering */
.home-compass-scene {
  position:relative;
  align-self:stretch;
  min-height:350px;
  margin-right:-20px;
  border-radius:0;
  box-shadow:none;
  background:
    radial-gradient(ellipse at 72% 62%, rgba(224,155,65,.05), transparent 48%),
    url('/assets/images/home/hero-compass-clean-v2.png') center right / contain no-repeat;
}
@media (max-width:1120px) {
  .home-compass-scene {
    grid-column:1/-1;
    min-height:220px;
    margin:0;
    border-radius:18px;
    box-shadow:none;
    background:
      radial-gradient(ellipse at 70% 60%, rgba(224,155,65,.05), transparent 50%),
      url('/assets/images/home/hero-compass-clean-v2.png') center right / contain no-repeat;
  }
}


/* v16.5 hotfix: full-scene approved hero plate */
.home-cinematic-hero {
  position:relative;
  overflow:hidden;
  min-height:590px;
  background:#071016;
}
.home-cinematic-backdrop {
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,
      rgba(4,9,12,.38) 0%,
      rgba(4,9,12,.20) 34%,
      rgba(4,9,12,.12) 58%,
      rgba(4,9,12,.04) 100%),
    url('/assets/images/home/hero-approved-scene-v16.5.jpg') center / cover no-repeat;
  filter:none;
  transform:none;
}
.home-cinematic-overlay {
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(3,8,11,.06), rgba(3,8,11,.18));
  pointer-events:none;
}
.home-cinematic-grid {
  position:relative;
  z-index:2;
  min-height:590px;
  display:grid;
  grid-template-columns:minmax(430px,1.02fr) minmax(430px,.94fr) minmax(320px,.62fr);
  align-items:center;
  gap:clamp(26px,3vw,56px);
  padding-block:44px;
}
.home-brand-graphic {
  position:relative;
  isolation:isolate;
  border-right:1px solid rgba(225,184,91,.82);
  padding-right:clamp(24px,2.8vw,48px);
}
.home-brand-graphic::before {
  content:"";
  position:absolute;
  inset:-8% -4% -10% -8%;
  z-index:-1;
  background:radial-gradient(ellipse at 48% 45%,
    rgba(5,11,15,.32) 0%,
    rgba(5,11,15,.18) 48%,
    transparent 78%);
  filter:blur(18px);
}
.home-brand-graphic::after { display:none; }
.home-brand-graphic img {
  width:108%;
  max-width:700px;
  margin-left:-5%;
  display:block;
  border-radius:0;
  mix-blend-mode:normal;
  filter:drop-shadow(0 14px 34px rgba(0,0,0,.28));
}
.home-welcome-copy {
  position:relative;
  z-index:3;
  padding:24px 22px;
}
.home-welcome-copy::before {
  content:"";
  position:absolute;
  inset:-12px -20px;
  z-index:-1;
  background:radial-gradient(ellipse at center,
    rgba(4,9,12,.46) 0%,
    rgba(4,9,12,.25) 54%,
    rgba(4,9,12,.06) 78%,
    transparent 90%);
  filter:blur(12px);
}
.home-compass-scene {
  min-height:360px;
  margin-right:-10px;
  background:none !important;
  box-shadow:none !important;
}
@media (max-width:1120px) {
  .home-cinematic-grid {
    grid-template-columns:minmax(340px,.92fr) minmax(390px,1.08fr);
    min-height:560px;
  }
  .home-compass-scene {
    display:none;
  }
  .home-cinematic-backdrop {
    background-position:58% center;
  }
}
@media (max-width:820px) {
  .home-cinematic-hero { min-height:0; }
  .home-cinematic-grid {
    min-height:0;
    grid-template-columns:1fr;
    gap:18px;
    padding-block:26px 34px;
  }
  .home-brand-graphic {
    border-right:0;
    border-bottom:1px solid rgba(225,184,91,.5);
    padding:0 0 18px;
  }
  .home-brand-graphic img {
    width:108%;
    margin-left:-4%;
  }
  .home-welcome-copy {
    padding:10px 4px 4px;
  }
  .home-cinematic-backdrop {
    background-position:42% center;
  }
}


/* v16.6 hotfix: approved single-light-source hero */
.home-cinematic-hero {
  position:relative;
  overflow:hidden;
  min-height:590px;
  background:#071016;
}
.home-cinematic-backdrop {
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,
      rgba(3,8,11,.32) 0%,
      rgba(3,8,11,.18) 34%,
      rgba(3,8,11,.08) 62%,
      rgba(3,8,11,.02) 100%),
    url('/assets/images/home/hero-approved-single-sun-v16.6.jpg') center / cover no-repeat;
  filter:none;
  transform:none;
}
.home-cinematic-overlay {
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(2,7,10,.05), rgba(2,7,10,.14));
  pointer-events:none;
}
.home-cinematic-grid {
  position:relative;
  z-index:2;
  min-height:590px;
  display:grid;
  grid-template-columns:minmax(430px,1.03fr) minmax(430px,.94fr) minmax(320px,.62fr);
  align-items:center;
  gap:clamp(26px,3vw,56px);
  padding-block:42px;
}
.home-brand-graphic {
  position:relative;
  isolation:isolate;
  border-right:1px solid rgba(225,184,91,.82);
  padding-right:clamp(24px,2.8vw,48px);
}
.home-brand-graphic::before {
  content:"";
  position:absolute;
  inset:-10% -4% -12% -8%;
  z-index:-1;
  background:radial-gradient(ellipse at 49% 44%,
    rgba(5,11,15,.26) 0%,
    rgba(5,11,15,.14) 52%,
    transparent 80%);
  filter:blur(22px);
}
.home-brand-graphic::after { display:none; }
.home-brand-graphic img {
  width:109%;
  max-width:705px;
  margin-left:-5%;
  display:block;
  border-radius:0;
  mix-blend-mode:normal;
  filter:drop-shadow(0 14px 34px rgba(0,0,0,.24));
}
.home-welcome-copy {
  position:relative;
  z-index:3;
  padding:22px 20px;
}
.home-welcome-copy::before {
  content:"";
  position:absolute;
  inset:-10px -18px;
  z-index:-1;
  background:radial-gradient(ellipse at center,
    rgba(4,9,12,.38) 0%,
    rgba(4,9,12,.20) 56%,
    rgba(4,9,12,.04) 80%,
    transparent 90%);
  filter:blur(11px);
}
.home-compass-scene {
  min-height:360px;
  margin-right:-10px;
  background:none !important;
  box-shadow:none !important;
}
@media (max-width:1120px) {
  .home-cinematic-grid {
    grid-template-columns:minmax(340px,.92fr) minmax(390px,1.08fr);
    min-height:555px;
  }
  .home-compass-scene { display:none; }
  .home-cinematic-backdrop { background-position:58% center; }
}
@media (max-width:820px) {
  .home-cinematic-hero { min-height:0; }
  .home-cinematic-grid {
    min-height:0;
    grid-template-columns:1fr;
    gap:18px;
    padding-block:26px 34px;
  }
  .home-brand-graphic {
    border-right:0;
    border-bottom:1px solid rgba(225,184,91,.5);
    padding:0 0 18px;
  }
  .home-brand-graphic img {
    width:108%;
    margin-left:-4%;
  }
  .home-welcome-copy { padding:10px 4px 4px; }
  .home-cinematic-backdrop { background-position:40% center; }
}


/* v16.7 hotfix: zero-artifact hero, single sun behind ridge */
.home-cinematic-hero {
  position:relative;
  overflow:hidden;
  min-height:590px;
  background:#071016;
}
.home-cinematic-backdrop {
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,
      rgba(4,10,14,.78) 0%,
      rgba(4,10,14,.48) 31%,
      rgba(4,10,14,.28) 54%,
      rgba(4,10,14,.18) 74%,
      rgba(4,10,14,.10) 100%),
    url('/assets/images/home/hero-backdrop-clean-v16.7.jpg') center / cover no-repeat;
  filter:none;
  transform:none;
}
.home-cinematic-overlay {
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse at 28% 42%, rgba(226,159,62,.04), transparent 34%),
    linear-gradient(180deg, rgba(3,8,11,.03), rgba(3,8,11,.17));
  pointer-events:none;
}
.home-cinematic-grid {
  position:relative;
  z-index:2;
  min-height:590px;
  display:grid;
  grid-template-columns:minmax(430px,1.03fr) minmax(430px,.94fr) minmax(320px,.62fr);
  align-items:center;
  gap:clamp(26px,3vw,56px);
  padding-block:42px;
}
.home-brand-graphic {
  position:relative;
  isolation:isolate;
  border-right:1px solid rgba(225,184,91,.82);
  padding-right:clamp(24px,2.8vw,48px);
}
.home-brand-graphic::before {
  content:"";
  position:absolute;
  inset:-10% -5% -12% -8%;
  z-index:-1;
  background:radial-gradient(ellipse at 50% 45%,
    rgba(5,11,15,.28) 0%,
    rgba(5,11,15,.14) 52%,
    transparent 80%);
  filter:blur(22px);
}
.home-brand-graphic::after { display:none; }
.home-brand-graphic img {
  width:109%;
  max-width:705px;
  margin-left:-5%;
  display:block;
  border-radius:0;
  mix-blend-mode:normal;
  filter:drop-shadow(0 14px 34px rgba(0,0,0,.26));
}
.home-welcome-copy {
  position:relative;
  z-index:3;
  padding:22px 20px;
}
.home-welcome-copy::before {
  content:"";
  position:absolute;
  inset:-10px -18px;
  z-index:-1;
  background:radial-gradient(ellipse at center,
    rgba(4,9,12,.40) 0%,
    rgba(4,9,12,.22) 56%,
    rgba(4,9,12,.05) 80%,
    transparent 90%);
  filter:blur(11px);
}
.home-compass-scene {
  align-self:stretch;
  min-height:370px;
  margin-right:-12px;
  background:url('/assets/images/home/hero-compass-v16.7.png') center right / contain no-repeat !important;
  box-shadow:none !important;
  border-radius:0 !important;
}
@media (max-width:1120px) {
  .home-cinematic-grid {
    grid-template-columns:minmax(340px,.92fr) minmax(390px,1.08fr);
    min-height:555px;
  }
  .home-compass-scene { display:none; }
  .home-cinematic-backdrop { background-position:center; }
}
@media (max-width:820px) {
  .home-cinematic-hero { min-height:0; }
  .home-cinematic-grid {
    min-height:0;
    grid-template-columns:1fr;
    gap:18px;
    padding-block:26px 34px;
  }
  .home-brand-graphic {
    border-right:0;
    border-bottom:1px solid rgba(225,184,91,.5);
    padding:0 0 18px;
  }
  .home-brand-graphic img {
    width:108%;
    margin-left:-4%;
  }
  .home-welcome-copy { padding:10px 4px 4px; }
}


/* v16.8: single baked hero image — no layered logo/text/compass */
.home-cinematic-hero-baked {
  min-height:0 !important;
  padding:0 !important;
  overflow:hidden;
  background:#071016 !important;
}
.home-baked-hero-wrap {
  position:relative;
  width:100%;
  margin:0;
  background:#071016;
}
.home-baked-hero-image {
  display:block;
  width:100%;
  height:auto;
  margin:0;
}
.home-baked-hero-cta {
  position:absolute;
  left:44%;
  top:73%;
  width:14%;
  height:12%;
  border-radius:10px;
  text-decoration:none;
}
.home-baked-hero-cta:focus-visible {
  outline:2px solid var(--gold-2);
  outline-offset:3px;
}
.sr-only {
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

/* Keep the hero readable on smaller screens by allowing horizontal composition
   to crop modestly rather than shrinking the baked typography too far. */
@media (max-width:820px) {
  .home-baked-hero-wrap {
    height:clamp(430px,78vw,620px);
    overflow:hidden;
  }
  .home-baked-hero-image {
    width:auto;
    max-width:none;
    height:100%;
    position:absolute;
    left:50%;
    top:0;
    transform:translateX(-50%);
  }
  .home-baked-hero-cta {
    left:43%;
    top:73%;
    width:22%;
    height:12%;
  }
}


/* v17.1 — About Stacey spacing and hierarchy polish */
.about-hero {
  padding:clamp(46px,5.6vw,78px) 0 !important;
}
.about-hero-grid {
  align-items:center;
  gap:clamp(34px,5vw,72px);
}
.about-hero h1 {
  max-width:720px;
  margin:.18em 0 0;
  font-size:clamp(2.55rem,4.8vw,5.15rem);
  line-height:.96;
}
.about-intro {
  gap:12px;
}
.about-intro .about-intro-lede {
  font-size:clamp(1.25rem,2vw,1.72rem);
  line-height:1.22;
}
.about-profile-grid {
  gap:16px;
}
.section-soft {
  padding-top:clamp(46px,5vw,72px) !important;
  padding-bottom:clamp(46px,5vw,72px) !important;
}
.about-profile-card,
.about-quick-card {
  padding:clamp(22px,3vw,34px);
}
.about-profile-card h2 {
  max-width:18ch;
  margin:.18em 0 .45em;
  font-size:clamp(1.95rem,3.2vw,3.15rem);
  line-height:1.02;
}
.about-profile-card > p:not(.eyebrow) {
  max-width:68ch;
}
.about-quick-card .eyebrow,
.about-profile-card .eyebrow {
  margin-bottom:18px;
}
.about-quick-links a {
  padding:13px 0;
}
#updates.section {
  padding-top:clamp(54px,5.5vw,82px);
}
#gallery.section {
  padding-top:clamp(54px,5.5vw,82px);
}
.section-heading-row {
  margin-bottom:26px;
}
.personal-feed {
  margin-top:20px;
}
.about-gallery-grid,
.gallery-placeholder-grid {
  margin-top:20px;
}

@media (max-width:850px) {
  .about-hero {
    padding:38px 0 46px !important;
  }
  .section-soft {
    padding-top:40px !important;
    padding-bottom:40px !important;
  }
}


/* v17.2 — About Stacey profile/media */
.about-profile-card-with-image {
  display:grid;
  grid-template-columns:minmax(210px,.68fr) minmax(0,1.32fr);
  gap:clamp(22px,3vw,38px);
  align-items:stretch;
}
.about-profile-photo {
  position:relative;
  min-height:330px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:14px;
  background:#0d1114;
}
.about-profile-photo img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.about-profile-photo::after {
  content:"";
  position:absolute;
  inset:55% 0 0;
  background:linear-gradient(transparent,rgba(0,0,0,.72));
  pointer-events:none;
}
.about-profile-photo span {
  position:absolute;
  z-index:2;
  left:14px;
  right:14px;
  bottom:12px;
  font-size:.78rem;
  color:#fff;
}
.about-profile-copy {
  align-self:center;
}
@media (max-width:760px) {
  .about-profile-card-with-image {
    grid-template-columns:1fr;
  }
  .about-profile-photo {
    min-height:360px;
  }
}


/* v18 — Professional destination */
.professional-hero {
  padding:clamp(54px,6vw,90px) 0;
  border-bottom:1px solid rgba(220,177,83,.16);
  background:
    radial-gradient(circle at 78% 20%,rgba(205,147,58,.10),transparent 29%),
    linear-gradient(135deg,#071016,#0d1216 62%,#14110e);
}
.professional-hero-grid {
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(330px,.82fr);
  gap:clamp(40px,6vw,90px);
  align-items:center;
}
.professional-hero h1 {
  max-width:800px;
  margin:.18em 0 0;
  font-size:clamp(2.7rem,5vw,5.4rem);
  line-height:.95;
  letter-spacing:-.045em;
}
.professional-hero-copy { color:var(--muted); line-height:1.7; }
.professional-lede {
  margin-top:0;
  color:var(--text);
  font-size:clamp(1.18rem,1.7vw,1.5rem);
  line-height:1.4;
}
.professional-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:25px; }
.professional-overview-grid {
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:16px;
}
.professional-overview-card,.professional-strengths-card {
  padding:clamp(25px,3vw,38px);
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(255,255,255,.025);
}
.professional-overview-card h2 {
  max-width:15ch;
  margin:.2em 0 .5em;
  font-size:clamp(2rem,3.1vw,3.15rem);
  line-height:1.02;
}
.professional-overview-card > p:last-child { color:var(--muted); line-height:1.7; }
.professional-strength-list { display:grid; }
.professional-strength-list > div {
  display:grid;
  grid-template-columns:140px 1fr;
  gap:20px;
  padding:17px 0;
  border-bottom:1px solid var(--line);
}
.professional-strength-list > div:last-child { border-bottom:0; }
.professional-strength-list strong { color:var(--text); }
.professional-strength-list span { color:var(--muted); line-height:1.5; }
.professional-work-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.professional-work-card {
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(255,255,255,.025);
}
.professional-work-image { display:block; aspect-ratio:16/9; overflow:hidden; }
.professional-work-image img { width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }
.professional-work-card:hover .professional-work-image img { transform:scale(1.025); }
.professional-work-copy { padding:24px; }
.professional-work-copy h3 { margin:.4em 0; font-size:1.35rem; }
.professional-work-copy h3 a { color:var(--text); text-decoration:none; }
.professional-work-copy > p { color:var(--muted); line-height:1.6; }
.professional-resume-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);
  gap:clamp(40px,7vw,90px);
  align-items:center;
}
.professional-resume-grid h2 { margin:.2em 0 .4em; font-size:clamp(2rem,3.4vw,3.6rem); }
.professional-resume-grid > div:first-child > p:last-child { color:var(--muted); line-height:1.7; }
.professional-document-placeholder {
  min-height:220px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:28px;
  border:1px solid rgba(220,177,83,.3);
  border-radius:18px;
  background:linear-gradient(145deg,#151b1f,#0b1013);
}
.professional-document-placeholder > span {
  margin-bottom:auto;
  color:var(--gold-2);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.18em;
}
.professional-document-placeholder strong { font-size:1.35rem; }
.professional-document-placeholder small { margin-top:8px; color:var(--muted); }
.professional-contact {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(40px,7vw,100px);
  align-items:center;
}
.professional-contact h2 { margin:.2em 0 0; font-size:clamp(2rem,3.4vw,3.6rem); }
.professional-contact > div:last-child { color:var(--muted); line-height:1.7; }

@media (max-width:960px) {
  .professional-work-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .professional-hero-grid,.professional-overview-grid,.professional-resume-grid,.professional-contact {
    grid-template-columns:1fr;
  }
  .professional-work-grid { grid-template-columns:1fr; }
  .professional-strength-list > div { grid-template-columns:1fr; gap:5px; }
  .professional-actions .button { width:100%; text-align:center; }
}

/* v18.1 — resume-backed Professional content */
.professional-impact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.professional-impact-card{padding:clamp(25px,3vw,36px);border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.025)}
.professional-impact-number{display:block;margin-bottom:20px;color:var(--gold-2);font-size:clamp(2.1rem,4vw,4rem);font-weight:800;line-height:1;letter-spacing:-.04em}
.professional-impact-card h3{margin:0 0 12px;font-size:1.35rem}
.professional-impact-card p{color:var(--muted);line-height:1.65}
.professional-impact-card small{display:block;margin-top:22px;color:var(--gold-2);font-weight:700;letter-spacing:.04em}
.professional-published-work{margin-top:54px}
.professional-timeline{border-top:1px solid var(--line)}
.professional-timeline>div{display:grid;grid-template-columns:130px minmax(260px,1fr) minmax(180px,.6fr);gap:25px;padding:20px 0;border-bottom:1px solid var(--line);align-items:baseline}
.professional-timeline span{color:var(--gold-2);font-size:.84rem;font-weight:800;letter-spacing:.05em}
.professional-timeline strong{font-size:1.08rem}
.professional-timeline em{color:var(--muted);font-style:normal}
.professional-toolkit-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,7vw,90px);align-items:center}
.professional-toolkit-grid h2{margin:.2em 0 0;font-size:clamp(2rem,3.2vw,3.4rem);line-height:1.04}
.professional-chip-list{display:flex;flex-wrap:wrap;gap:10px}
.professional-chip-list span{padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.025);font-size:.9rem}
@media(max-width:760px){
 .professional-impact-grid,.professional-toolkit-grid{grid-template-columns:1fr}
 .professional-timeline>div{grid-template-columns:1fr;gap:4px}
}

/* v18.2 — finished Professional contact/resume */
.professional-resume-button{margin-top:18px;align-self:flex-start}
.contact-page{min-height:calc(100vh - 170px);padding:clamp(60px,8vw,110px) 0;background:radial-gradient(circle at 18% 12%,rgba(205,147,58,.08),transparent 27%)}
.contact-page-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(420px,1fr);gap:clamp(45px,8vw,110px);align-items:start}
.contact-page h1{margin:.15em 0 .35em;font-size:clamp(3rem,6vw,6rem);line-height:.95;letter-spacing:-.05em}
.contact-lede{max-width:600px;font-size:1.25rem;line-height:1.55}
.contact-form-card{padding:clamp(24px,3vw,38px);border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.025)}
.public-contact-form{display:grid;gap:17px}
.public-contact-form label{display:grid;gap:7px;font-weight:700}
.public-contact-form input,.public-contact-form select,.public-contact-form textarea{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:9px;background:#0d1114;color:var(--text);font:inherit}
.public-contact-form textarea{resize:vertical}
.contact-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-honeypot{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
@media(max-width:760px){.contact-page-grid,.contact-two{grid-template-columns:1fr}.contact-page-grid{gap:35px}.public-contact-form .button{width:100%}}
/* v19 — Music & ADDI */
.music-page,.song-page{background:#0b0d0f}.music-hero{position:relative;min-height:760px;overflow:hidden;background:#090a0b}.music-hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,#080a0c 0%,rgba(8,10,12,.92) 37%,rgba(8,10,12,.38) 75%,#080a0c 100%),url('/assets/images/music/burnt-bridges-wide.jpg') center/cover no-repeat;opacity:.68}.music-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,.65fr);gap:clamp(45px,7vw,100px);align-items:center;min-height:760px;padding-top:70px;padding-bottom:70px}.music-hero-copy h1{max-width:800px;margin:.18em 0 .32em;font-size:clamp(3.2rem,6vw,6.8rem);line-height:.91;letter-spacing:-.055em}.music-hero-copy>p:not(.eyebrow){max-width:650px;font-size:1.16rem;line-height:1.65;color:#d4d0c9}.music-fire-button{margin-top:18px;border-color:#9b4a1c;background:linear-gradient(135deg,#e29b36,#a4471e);color:#090909}.music-hero-art{justify-self:end;width:min(100%,420px);box-shadow:0 25px 90px rgba(0,0,0,.65);border:1px solid rgba(232,153,57,.28)}.music-hero-art img{display:block;width:100%;aspect-ratio:9/16;object-fit:cover}.music-addi{background:radial-gradient(circle at 50% 0,rgba(177,68,19,.1),transparent 35%),#0d1012}.music-heading h2{font-size:clamp(2.3rem,4vw,4.5rem)}.music-release-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.music-release-card{overflow:hidden;border:1px solid #333;border-radius:18px;background:#141719}.music-release-art{display:block;aspect-ratio:16/10;overflow:hidden;background:#090909}.music-release-art img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.music-release-card:hover .music-release-art img{transform:scale(1.02)}.music-release-copy{padding:28px}.music-release-copy h3{font-size:clamp(2rem,3vw,3.2rem);margin:.15em 0 .45em}.music-release-copy h3 a{color:#f4f0e8;text-decoration:none}.music-release-copy audio{width:100%;margin:4px 0 20px;accent-color:#d57a2d}.music-other-grid{display:grid;grid-template-columns:.8fr 1fr;gap:clamp(40px,8vw,120px);align-items:start}.music-other h2{font-size:clamp(2.5rem,4.5vw,5rem);line-height:1}.music-other-grid>div:last-child{font-size:1.15rem;line-height:1.7}.song-hero{position:relative;min-height:760px;display:flex;align-items:end;background-image:linear-gradient(90deg,rgba(4,5,6,.96),rgba(4,5,6,.62) 48%,rgba(4,5,6,.16)),var(--song-bg);background-size:cover;background-position:center}.song-hero-shade{position:absolute;inset:0;background:linear-gradient(0deg,#090b0d 0,transparent 48%)}.song-hero-inner{position:relative;padding-top:120px;padding-bottom:90px}.song-hero h1{margin:.1em 0 0;font-size:clamp(4.2rem,9vw,9.5rem);line-height:.84;letter-spacing:-.06em;text-shadow:0 4px 35px #000}.song-artist{font-size:1.45rem;font-weight:800;letter-spacing:.16em;color:#ef9a3d}.song-player{margin-top:35px;max-width:620px;padding:18px 20px;border:1px solid rgba(238,155,63,.35);border-radius:14px;background:rgba(8,10,11,.86);backdrop-filter:blur(8px)}.song-player span{display:block;margin-bottom:8px;color:#ef9a3d;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em}.song-player audio{width:100%;accent-color:#d9792b}.video-frame{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:18px;border:1px solid #333;background:#000;box-shadow:0 30px 80px rgba(0,0,0,.35)}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.song-info-grid,.song-lyrics-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(45px,8vw,120px)}.song-prose,.lyrics-text{font-size:1.08rem;line-height:1.85;color:#d9d5ce}.stream-links{display:flex;flex-wrap:wrap;gap:10px}.song-lyrics h2,.song-info-grid h2{font-size:clamp(2.5rem,4vw,4.5rem)}.song-back{padding-top:25px;padding-bottom:55px}
@media(max-width:820px){.music-hero{min-height:auto}.music-hero-grid{grid-template-columns:1fr;min-height:auto;padding-top:90px}.music-hero-art{justify-self:start;width:min(72vw,380px)}.music-release-grid,.music-other-grid,.song-info-grid,.song-lyrics-grid{grid-template-columns:1fr}.song-hero{min-height:650px;background-position:65% center}.song-hero-inner{padding-bottom:60px}}
@media(max-width:560px){.music-hero-copy h1{font-size:3.25rem}.music-hero-art{width:100%}.music-release-grid{gap:16px}.music-release-copy{padding:20px}.song-hero{min-height:570px}.song-hero h1{font-size:4.2rem}.song-player{padding:14px}.stream-links .button{width:100%}}
/* v19.2 Songs on the Side */
.music-side-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:30px}.music-side-card{overflow:hidden;border:1px solid #333;border-radius:18px;background:#141719}.music-side-card h3{font-size:clamp(1.8rem,3vw,2.8rem);margin:.15em 0 .35em}.music-side-card h3 a{color:#f4f0e8;text-decoration:none}.music-side-card p:not(.eyebrow){color:#cfcac2;line-height:1.65}.music-side-card audio{width:100%;margin:8px 0 18px;accent-color:#d57a2d}.music-side-empty{max-width:760px;font-size:1.08rem;line-height:1.7;margin-top:25px}@media(max-width:820px){.music-side-grid{grid-template-columns:1fr}}

/* v20 Photography & Travel */
.photo-travel-page { background:#0d1113; }
.photo-travel-hero { position:relative; min-height:54vh; display:grid; align-items:end; overflow:hidden; background:linear-gradient(135deg,#172229 0%,#25352f 46%,#111416 100%); }
.photo-travel-hero::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 72% 30%,rgba(231,185,79,.19),transparent 26%),linear-gradient(120deg,rgba(4,9,11,.12),rgba(4,9,11,.76)); }
.photo-travel-hero-shade { position:absolute; inset:0; background:linear-gradient(0deg,rgba(7,10,11,.94),transparent 68%); }
.photo-travel-hero-inner { position:relative; z-index:1; padding-top:110px; padding-bottom:72px; max-width:980px; margin:0 auto; text-align:center; }
.photo-travel-hero h1 { max-width:900px; margin:10px auto 20px; font-size:clamp(2.8rem,6vw,5.7rem); line-height:.98; letter-spacing:-.045em; }
.photo-travel-hero p:last-child { max-width:760px; margin:0 auto; font-size:clamp(1.05rem,2vw,1.3rem); line-height:1.65; color:#d0d6d5; }
.photo-trip-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.photo-trip-card { overflow:hidden; border:1px solid rgba(255,255,255,.1); border-radius:20px; background:#131719; }
.photo-trip-image { display:block; aspect-ratio:16/9; overflow:hidden; }
.photo-trip-image img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.photo-trip-card:hover img { transform:scale(1.025); }
.photo-trip-card>div { padding:24px; }
.photo-trip-card h3 { margin:.35rem 0 .7rem; font-size:1.55rem; }
.photo-journal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.photo-journal-item { position:relative; aspect-ratio:4/3; border-radius:16px; overflow:hidden; background:#15191b; border:1px solid rgba(255,255,255,.08); }
.photo-journal-item img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease,filter .35s ease; }
.photo-journal-item span { position:absolute; left:0; right:0; bottom:0; padding:38px 16px 14px; color:white; font-weight:700; background:linear-gradient(transparent,rgba(0,0,0,.78)); }
.photo-journal-item:hover img { transform:scale(1.035); }
.photo-travel-empty { padding:48px; border:1px dashed rgba(255,255,255,.16); border-radius:20px; text-align:center; background:rgba(255,255,255,.025); }
.photo-travel-empty h3 { margin:.5rem 0 .8rem; font-size:1.7rem; }
@media (max-width:800px){.photo-trip-grid{grid-template-columns:1fr}.photo-journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-travel-hero-inner{padding-top:88px;padding-bottom:54px}}
@media (max-width:520px){.photo-journal-grid{grid-template-columns:1fr}.photo-travel-empty{padding:30px 20px}}

/* v20.2 Photography & Travel gallery/detail polish */
.photo-journal-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start}
.photo-journal-item{aspect-ratio:auto;min-height:230px;display:block}
.photo-journal-item img{display:block;width:100%;height:auto;min-height:230px;max-height:520px;object-fit:cover}
.photo-journal-item:nth-child(5n+1) img{aspect-ratio:4/5}
.photo-journal-item:nth-child(5n+2) img{aspect-ratio:16/10}
.photo-journal-item:nth-child(5n+3) img{aspect-ratio:1/1}
.photo-journal-item:nth-child(5n+4) img{aspect-ratio:3/2}
.photo-journal-item:nth-child(5n) img{aspect-ratio:4/3}

.photography-record .article-shell{max-width:1120px}
.photography-record .article-media{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:none}
.photography-record .article-media-item{margin:0;background:#111517;border:1px solid rgba(255,255,255,.09);border-radius:18px;overflow:hidden}
.photography-record .article-media-item img,.photography-record .article-media-item video{width:100%;height:auto;max-height:78vh;object-fit:contain;background:#080a0b;cursor:zoom-in}
.photography-record .article-media-item video{cursor:default}
.photography-record .article-media-item figcaption{padding:12px 15px 15px;color:#b8c0c4}
.photography-record .article-media-item:first-child:nth-last-child(1){grid-column:1/-1;max-width:980px;margin-inline:auto}
.photo-lightbox{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:32px;background:rgba(0,0,0,.94)}
.photo-lightbox.is-open{display:flex}
.photo-lightbox img{max-width:min(96vw,1600px);max-height:90vh;width:auto;height:auto;box-shadow:0 20px 70px rgba(0,0,0,.55)}
.photo-lightbox button{border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(10,10,10,.72);color:#fff;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .16s ease,border-color .16s ease,transform .16s ease}
.photo-lightbox button:hover{background:rgba(35,35,35,.9);border-color:rgba(255,255,255,.5)}
.photo-lightbox-close{position:absolute;top:18px;right:22px;width:46px;height:46px;font-size:1.8rem}
.photo-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:54px;height:54px;font-size:2.5rem;z-index:2}
.photo-lightbox-nav:hover{transform:translateY(-50%) scale(1.04)}
.photo-lightbox-prev{left:22px}
.photo-lightbox-next{right:22px}
.photo-lightbox-caption{position:absolute;left:88px;right:88px;bottom:18px;color:#eee;text-align:center;font-size:.95rem}
@media(max-width:800px){.photography-record .article-media{grid-template-columns:1fr}.photo-lightbox{padding:18px 58px}.photo-lightbox-nav{width:44px;height:44px;font-size:2rem}.photo-lightbox-prev{left:8px}.photo-lightbox-next{right:8px}.photo-lightbox-caption{left:58px;right:58px}.photo-journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.photo-journal-grid{grid-template-columns:1fr}.photo-journal-item img{max-height:none}}

/* v21 Thoughts & Ideas */
.thoughts-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 78% 20%,rgba(231,185,79,.10),transparent 34%),linear-gradient(145deg,#0d1113 0%,#15191b 58%,#0d1012 100%);border-bottom:1px solid rgba(255,255,255,.07)}
.thoughts-hero-inner{max-width:960px;padding-top:92px;padding-bottom:82px}
.thoughts-hero h1{max-width:850px;margin:.25rem 0 .5rem;font-size:clamp(2.6rem,6vw,5.8rem);line-height:.96;letter-spacing:-.045em}
.thoughts-punchline{margin:.6rem 0 0;color:#e7b94f;font-size:clamp(1.25rem,2.5vw,2rem);font-weight:700;letter-spacing:-.02em}
.thoughts-intro{max-width:760px;margin:2rem 0 0;color:#c4cbcf;font-size:1.12rem;line-height:1.78}
.thoughts-shell{max-width:1180px}
.thoughts-heading-row{margin-bottom:30px}
.thoughts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.thought-card{display:grid;grid-template-columns:1fr;border:1px solid rgba(255,255,255,.09);border-radius:18px;overflow:hidden;background:#111517;min-width:0}
.thought-card--with-image{grid-template-columns:minmax(180px,.72fr) minmax(0,1.28fr)}
.thought-card-media{display:block;min-height:240px;background:#090b0c}
.thought-card-media img{display:block;width:100%;height:100%;min-height:240px;object-fit:cover}
.thought-card-copy{padding:26px;display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.thought-meta{display:flex;gap:10px;flex-wrap:wrap;color:#9da6ab;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em}
.thought-meta span+span:before{content:'•';margin-right:10px;color:#5f686d}
.thought-card h3{margin:.8rem 0 .75rem;font-size:1.55rem;line-height:1.16}
.thought-card h3 a{color:#f4f1e9;text-decoration:none}
.thought-card p{margin:0 0 1.2rem;color:#aeb7bc;line-height:1.65}
.thought-card .research-read{margin-top:auto}
.thoughts-empty{max-width:760px}

/* v21 moderated public comments */
.public-comments{margin-top:54px;padding-top:42px;border-top:1px solid rgba(255,255,255,.10)}
.comments-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:24px}
.comments-heading h2{margin:.15rem 0 0}
.comments-heading>p{max-width:410px;margin:0;color:#9ea7ac;text-align:right}
.comment-thread{display:grid;gap:14px;margin:0 0 34px}
.public-comment{padding:22px 24px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:#121618}
.public-comment-meta{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:12px}
.public-comment-meta strong{color:#eee9dc}
.public-comment-meta time{font-size:.8rem;color:#8f989d}
.public-comment-body{color:#c5ccd0;line-height:1.72;overflow-wrap:anywhere}
.comments-empty{margin:0 0 28px;color:#9fa8ad}
.comment-form-card{padding:28px;border:1px solid rgba(231,185,79,.20);border-radius:18px;background:linear-gradient(145deg,rgba(231,185,79,.055),rgba(255,255,255,.018))}
.comment-form-card h3{margin:0 0 .45rem;font-size:1.5rem}
.comment-form-card>p{margin:0 0 20px;color:#9fa8ad}
.comment-form{display:grid;gap:16px}
.comment-form label{display:grid;gap:7px;color:#d7dcde;font-weight:650}
.comment-form input,.comment-form textarea{width:100%;border:1px solid rgba(255,255,255,.15);border-radius:10px;background:#0d1113;color:#f0f2f2;padding:12px 13px;font:inherit}
.comment-form textarea{resize:vertical;min-height:140px}
.comment-form input:focus,.comment-form textarea:focus{outline:2px solid rgba(231,185,79,.45);outline-offset:1px;border-color:#e7b94f}
.comment-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.comment-submit-row{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.comment-submit-row span{color:#8f989d;font-size:.84rem}
.comment-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.thoughts-record .article-body{font-size:1.08rem;line-height:1.78}

@media(max-width:900px){.thoughts-grid{grid-template-columns:1fr}.thought-card--with-image{grid-template-columns:minmax(180px,.58fr) minmax(0,1.42fr)}}
@media(max-width:680px){.thoughts-hero-inner{padding-top:68px;padding-bottom:58px}.thought-card--with-image{grid-template-columns:1fr}.thought-card-media{min-height:210px}.thought-card-media img{min-height:210px;max-height:330px}.comments-heading{align-items:flex-start;flex-direction:column;gap:8px}.comments-heading>p{text-align:left}.comment-two{grid-template-columns:1fr}.comment-submit-row .button{width:100%}.public-comment-meta{align-items:flex-start;flex-direction:column;gap:3px}}

/* v22 For Sale */
.sale-hero{background:radial-gradient(circle at 78% 24%,rgba(231,185,79,.10),transparent 30%),linear-gradient(145deg,#0d1113,#17191a 62%,#0d1012);border-bottom:1px solid rgba(255,255,255,.07)}
.sale-hero-inner{max-width:900px;padding-top:92px;padding-bottom:82px}.sale-hero h1{font-size:clamp(2.8rem,6vw,5.7rem);line-height:.98;letter-spacing:-.045em;max-width:850px;margin:.3rem 0 1rem}.sale-lead{max-width:760px;font-size:1.2rem;line-height:1.7;color:#d1d6d8}.sale-note{color:#929ba0}.sale-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.sale-card{border:1px solid rgba(255,255,255,.09);border-radius:18px;overflow:hidden;background:#111517}.sale-media{display:block;aspect-ratio:4/3;background:#090b0c}.sale-media img{width:100%;height:100%;object-fit:cover}.sale-copy{padding:22px}.sale-top{display:flex;justify-content:space-between;gap:14px;align-items:center}.sale-status{font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;color:#e7b94f}.sale-price{font-size:1.25rem;color:#f4f1e9}.sale-card h3{font-size:1.45rem;margin:.75rem 0}.sale-card h3 a{color:#f4f1e9;text-decoration:none}.sale-card p{color:#aeb7bc;line-height:1.6}.sale-sold .sale-media img{opacity:.58;filter:saturate(.6)}.sale-sold .sale-status{color:#929ba0}@media(max-width:900px){.sale-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.sale-grid{grid-template-columns:1fr}.sale-hero-inner{padding-top:68px;padding-bottom:58px}}

/* v22.3 — For Sale inquiry flow */
.sale-listing-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:28px 0 6px;padding:18px 20px;border:1px solid rgba(231,185,79,.28);border-radius:16px;background:rgba(231,185,79,.045)}
.sale-listing-summary>div{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.sale-detail-price{font-size:1.75rem;color:#f4f1e9}.sale-inquiry-section{margin-top:48px;padding-top:36px;border-top:1px solid var(--line)}
.sale-inquiry-card{margin-top:22px;padding:clamp(24px,3vw,36px);border:1px solid rgba(231,185,79,.28);border-radius:18px;background:linear-gradient(145deg,rgba(231,185,79,.055),rgba(255,255,255,.018))}.sale-inquiry-card h3{margin-top:0;font-size:1.55rem}.sale-inquiry-card>p{color:#aeb7bc}.sale-inquiry-form{display:grid;gap:17px;margin-top:22px}.sale-inquiry-form label{display:grid;gap:7px;font-weight:700}.sale-inquiry-form input,.sale-inquiry-form textarea{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:9px;background:#0d1114;color:var(--text);font:inherit}.sale-inquiry-form textarea{resize:vertical}.sale-unavailable-note{margin-top:22px;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025);color:#b8c0c4}.turnstile-wrap{min-height:65px}.sale-inquiry-form .contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:680px){.sale-listing-summary{align-items:flex-start;flex-direction:column}.sale-listing-summary .button,.sale-inquiry-form .button{width:100%}}

/* v22.5 — V1 responsive polish: preserve approved desktop hero, add a true mobile composition */
.home-mobile-hero-content { display:none; }

/* Center the second row of three cards at intermediate desktop/laptop widths. */
@media (min-width:1121px) and (max-width:1480px) {
  .home-destination-card-grid {
    grid-template-columns:repeat(8,minmax(0,1fr));
  }
  .home-destination-card-grid > .home-visual-card {
    grid-column:span 2;
  }
  .home-destination-card-grid > .home-visual-card:nth-child(5) { grid-column:2 / span 2; }
  .home-destination-card-grid > .home-visual-card:nth-child(6) { grid-column:4 / span 2; }
  .home-destination-card-grid > .home-visual-card:nth-child(7) { grid-column:6 / span 2; }
}

/* Phone-only homepage hero. Desktop/tablet keep the approved baked v16.10 artwork untouched. */
@media (max-width:520px) {
  .home-cinematic-hero-baked {
    background:#071016 !important;
  }
  .home-baked-hero-wrap {
    height:auto;
    min-height:0;
    overflow:hidden;
    background:
      linear-gradient(180deg,rgba(5,10,14,.40) 0%,rgba(5,10,14,.74) 46%,rgba(5,10,14,.96) 100%),
      url('/assets/images/home/hero-backdrop-clean-v16.7.jpg') center / cover no-repeat;
  }
  .home-baked-hero-image,
  .home-baked-hero-cta {
    display:none;
  }
  .home-mobile-hero-content {
    display:block;
    position:relative;
    z-index:1;
    padding:64px 20px 58px;
  }
  .home-mobile-hero-eyebrow {
    margin:0 0 12px;
    color:var(--gold-2);
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.16em;
    line-height:1.4;
    text-transform:uppercase;
  }
  .home-mobile-hero-content h1 {
    max-width:11ch;
    margin:0 0 22px;
    color:#f4f1e9;
    font-size:clamp(2.55rem,12.5vw,3.35rem);
    line-height:.92;
    letter-spacing:-.05em;
  }
  .home-mobile-hero-intro,
  .home-mobile-hero-closing {
    max-width:34rem;
    margin:0;
    color:#d6d8d8;
    font-size:1rem;
    line-height:1.58;
  }
  .home-mobile-hero-closing {
    margin-top:18px;
    color:#f0eee8;
  }
  .home-mobile-hero-link {
    display:inline-flex;
    align-items:center;
    gap:7px;
    margin-top:20px;
    color:var(--gold-2);
    font-weight:800;
    text-decoration:none;
  }
  .home-mobile-hero-link:hover,
  .home-mobile-hero-link:focus-visible {
    color:#fff;
  }
}


/* v22.6.2 — visitor-pass homepage hero visibility hardening */
@media (min-width:521px) {
  .home-mobile-hero-content {
    display:none !important;
  }
}
@media (max-width:520px) {
  .home-mobile-hero-content {
    display:block !important;
  }
}
