@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Playfair+Display:wght@500;600&display=swap');

:root {
  --bg: #050606;
  --panel: #0a0b0b;
  --panel-2: #101111;
  --text: #f1eee7;
  --muted: #aaa69e;
  --gold: #d4af6a;
  --amber: #e39a0b;
  --line: rgba(212, 175, 106, 0.38);
  --max: 1480px;
}

/* Production image proportions */
.hero{min-height:560px}.hero-image{width:100%;height:100%;object-fit:cover;object-position:center}
.image-card{min-height:320px;aspect-ratio:4/3}.image-card img{display:block;width:100%;height:100%;object-fit:cover}
.opportunity-section{grid-template-columns:1fr 1fr;min-height:390px}.opportunity-visual{display:flex;align-items:center;background:#050606;overflow:hidden}.opportunity-visual img{display:block;width:100%;height:auto;min-height:0;object-fit:contain}
.journey-card{grid-template-columns:1.7fr 2.7fr 1fr;min-height:230px}.journey-card>img{display:block;width:100%;height:100%;min-height:230px;object-fit:cover}
@media(max-width:900px){.image-card{min-height:0}.opportunity-section{grid-template-columns:1fr;min-height:0}.journey-card{grid-template-columns:1fr}.journey-card>img{height:auto;min-height:0;aspect-ratio:16/9}}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background:
    radial-gradient(circle at 50% -20%, rgba(212,175,106,.07), transparent 38%),
    linear-gradient(180deg, #050606 0%, #080909 100%);
  color: var(--text);
  font-family: Inter, Arial, sans-serif;
  line-height: 1.6;
}


a { color: inherit; text-decoration: none; }
img { display: block; width: 100%; }

.site-header {
  height: 84px;
  display: flex;
  align-items: center;
  gap: 34px;
  padding: 0 28px;
  border-bottom: 1px solid var(--line);
  background: rgba(4, 5, 5, .96);
  position: sticky;
  top: 0;
  z-index: 50;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-width: 220px;
}
.brand-shield {
  width: 42px;
  height: 50px;
  display: grid;
  place-items: center;
  clip-path: polygon(50% 0, 92% 13%, 84% 72%, 50% 100%, 16% 72%, 8% 13%);
  background: linear-gradient(145deg, #f0cf86, #8d5b12);
  color: #111;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 27px;
  font-weight: 700;
}
.brand-text { display: grid; line-height: 1.05; letter-spacing: .14em; font-size: 16px; }

.desktop-nav {
  margin-left: auto;
  display: flex;
  gap: 42px;
}
.desktop-nav a {
  color: #c4c0b7;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .14em;
  transition: color .25s ease;
}
.desktop-nav a:hover { color: #fff; }
.desktop-nav a::after {
  content: "";
  display: block;
  width: 0;
  height: 1px;
  background: var(--gold);
  margin-top: 6px;
  transition: width .25s ease;
}
.desktop-nav a:hover::after { width: 100%; }

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 26px;
  min-height: 50px;
  padding: 0 28px;
  border: 1px solid var(--gold);
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 700;
  font-size: 12px;
  transition: background .25s ease, color .25s ease;
}
.button-primary {
  background: linear-gradient(180deg, #e2bd70, #c98e24);
  color: #111;
}
.button-primary:hover { background: #000; color: var(--gold); }

.menu-button, .mobile-menu { display: none; }

.hero {
  position: relative;
  min-height: 590px;
  overflow: hidden;
}
.hero-image {
  position: absolute;
  inset: 0;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.hero-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.96) 0%, rgba(0,0,0,.86) 27%, rgba(0,0,0,.25) 62%, rgba(0,0,0,.06) 100%),
    linear-gradient(180deg, rgba(0,0,0,.06), rgba(0,0,0,.45));
}
.hero-content {
  position: relative;
  z-index: 2;
  max-width: 650px;
  padding: 72px 28px 68px;
  margin-left: max(0px, calc((100vw - var(--max)) / 2));
}
.eyebrow {
  margin: 0 0 14px;
  color: var(--amber);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
h1, h2, h3 { margin-top: 0; }
h1, h2 {
  font-family: "Playfair Display", Georgia, serif;
  letter-spacing: -.02em;
}
h1 {
  margin-bottom: 18px;
  font-size: clamp(3.35rem, 6vw, 6rem);
  line-height: .98;
  font-weight: 500;
}
h1 span, .final-cta h2 span { color: var(--amber); }
.hero-copy {
  max-width: 560px;
  margin: 0 0 30px;
  color: #d4d0c7;
  font-size: 17px;
}

.metric-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  max-width: var(--max);
  margin: 0 auto;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.metric {
  min-height: 170px;
  padding: 24px;
  text-align: center;
  border-right: 1px solid var(--line);
}
.metric:last-child { border-right: 0; }
.metric p {
  margin: 0 0 2px;
  color: #c3bfb6;
  font-size: 12px;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.metric strong {
  display: block;
  color: var(--amber);
  font-family: "Playfair Display", Georgia, serif;
  font-size: 46px;
  font-weight: 500;
  line-height: 1.25;
}
.metric span { display: block; max-width: 250px; margin: 0 auto; color: #aaa69e; font-size: 13px; }

.section, .opportunity-section, .journey-section, .final-cta {
  max-width: var(--max);
  margin: 0 auto;
}
.section { padding: 34px 28px 18px; }
.section-heading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 26px;
  margin-bottom: 20px;
}
.section-heading::before, .section-heading::after {
  content: "";
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, transparent, var(--line));
}
.section-heading::after { background: linear-gradient(90deg, var(--line), transparent); }
.section-heading h2 {
  margin: 0;
  text-align: center;
  font-size: clamp(2rem, 3.5vw, 3.1rem);
  font-weight: 500;
}

.feature-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.image-card {
  min-height: 390px;
  position: relative;
  overflow: hidden;
  border: 1px solid var(--line);
  background: #0b0c0c;
}
.image-card img { height: 100%; object-fit: cover; }
.image-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 34%, rgba(0,0,0,.96) 88%);
}
.image-card-content {
  position: absolute;
  z-index: 2;
  left: 24px;
  right: 24px;
  bottom: 22px;
}
.image-card-content h3 {
  margin-bottom: 8px;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 27px;
  font-weight: 500;
}
.image-card-content p { margin: 0; color: #bdb9b0; }

.opportunity-section {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  margin-top: 18px;
}
.opportunity-visual img { height: 100%; min-height: 430px; object-fit: cover; }
.opportunity-content {
  padding: 34px 42px;
  border-left: 1px solid var(--line);
}
.opportunity-content h2 {
  font-size: clamp(2rem, 3.4vw, 3rem);
  font-weight: 500;
  margin-bottom: 10px;
}
.opportunity-content article {
  padding: 18px 0;
  border-bottom: 1px solid rgba(212,175,106,.2);
}
.opportunity-content article:last-child { border-bottom: 0; }
.opportunity-content h3 { color: var(--amber); font-family: "Playfair Display", Georgia, serif; font-size: 24px; margin-bottom: 4px; }
.opportunity-content p { margin: 0; color: #b9b5ad; }

.value-section { padding-top: 28px; }
.value-flow {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
}
.value-step {
  position: relative;
  text-align: center;
  padding: 8px 20px 26px;
  border-right: 1px solid var(--line);
}
.value-step:last-child { border-right: 0; }
.value-step span {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  margin: 0 auto 10px;
  border: 1px solid var(--amber);
  border-radius: 50%;
  color: var(--amber);
  font-family: "Playfair Display", Georgia, serif;
}
.value-step h3 {
  margin-bottom: 4px;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 19px;
}
.value-step p { margin: 0; color: #aaa69e; font-size: 13px; }

.journey-section { padding: 22px 28px 0; }
.journey-card {
  display: grid;
  grid-template-columns: 1.2fr 3fr 1fr;
  border: 1px solid var(--line);
  background: #0a0b0b;
}
.journey-card > img { height: 100%; min-height: 170px; object-fit: cover; }
.journey-stops {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
}
.journey-stops article {
  padding: 24px 12px;
  border-left: 1px solid var(--line);
  text-align: center;
}
.journey-stops span, .journey-total span {
  display: block;
  color: #c9c5bd;
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.journey-stops strong { display: block; font-size: 13px; margin-top: 4px; }
.journey-stops em { display: block; color: var(--amber); font-style: normal; font-weight: 700; margin-top: 13px; text-transform: uppercase; }
.journey-total {
  padding: 20px;
  border-left: 1px solid var(--line);
  text-align: center;
}
.journey-total strong { display: block; color: var(--amber); font-family: "Playfair Display", Georgia, serif; font-size: 34px; line-height: 1.2; }
.journey-total p { margin: 0; text-transform: uppercase; font-weight: 700; }
.journey-total small { color: #aaa69e; }

.final-cta {
  display: grid;
  grid-template-columns: 82px 1fr auto;
  align-items: center;
  gap: 28px;
  margin-top: 16px;
  padding: 20px 28px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: radial-gradient(circle at 50% 0, rgba(212,175,106,.12), transparent 55%), #0a0b0b;
}
.final-cta-mark {
  width: 60px;
  height: 60px;
  display: grid;
  place-items: center;
  clip-path: polygon(50% 0, 92% 13%, 84% 72%, 50% 100%, 16% 72%, 8% 13%);
  background: linear-gradient(145deg, #f0cf86, #8d5b12);
  color: #111;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 34px;
  font-weight: 700;
}
.final-cta h2 { margin: 0; font-size: clamp(2rem, 3.6vw, 3.3rem); font-weight: 500; }
.final-cta p { margin: 0; color: #aaa69e; }

.site-footer {
  max-width: var(--max);
  margin: 26px auto 0;
  padding: 32px 28px 18px;
  display: grid;
  grid-template-columns: 1.4fr repeat(5, 1fr);
  gap: 24px;
  border-top: 1px solid var(--line);
  background: #070808;
}
.footer-brand p { max-width: 230px; color: #9f9b93; font-size: 13px; }
.footer-column { display: flex; flex-direction: column; gap: 7px; }
.footer-column h3 {
  color: var(--gold);
  font-size: 12px;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.footer-column a { color: #aaa69e; font-size: 13px; }
.footer-column a:hover { color: #000; background: var(--gold); }
.footer-bottom {
  grid-column: 1 / -1;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid rgba(212,175,106,.16);
  color: #77736d;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1);
}
.reveal.visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1080px) {
  .desktop-nav, .header-cta { display: none; }
  .site-header { justify-content: space-between; }
  .menu-button {
    display: grid;
    width: 44px;
    height: 44px;
    place-content: center;
    gap: 5px;
    border: 1px solid var(--line);
    background: transparent;
  }
  .menu-button span { width: 20px; height: 1px; background: var(--gold); }
  .mobile-menu {
    display: none;
    position: fixed;
    z-index: 49;
    top: 84px;
    left: 0;
    right: 0;
    padding: 18px 28px 24px;
    background: #070808;
    border-bottom: 1px solid var(--line);
  }
  .mobile-menu.open { display: grid; }
  .mobile-menu a { padding: 12px 0; border-bottom: 1px solid rgba(212,175,106,.14); text-transform: uppercase; font-size: 12px; letter-spacing: .1em; }

  .metric-strip { grid-template-columns: repeat(2, 1fr); }
  .metric:nth-child(2) { border-right: 0; }
  .metric:nth-child(-n+2) { border-bottom: 1px solid var(--line); }

  .feature-grid { grid-template-columns: 1fr; }
  .image-card { min-height: 470px; }
  .opportunity-section { grid-template-columns: 1fr; margin-inline: 28px; }
  .opportunity-content { border-left: 0; border-top: 1px solid var(--line); }
  .value-flow { grid-template-columns: 1fr 1fr; }
  .value-step { border-bottom: 1px solid var(--line); }
  .journey-card { grid-template-columns: 1fr; }
  .journey-stops { grid-template-columns: repeat(5, minmax(140px, 1fr)); overflow-x: auto; }
  .journey-total { border-left: 0; border-top: 1px solid var(--line); }
  .final-cta { grid-template-columns: 60px 1fr; }
  .final-cta .button { grid-column: 1 / -1; }
  .site-footer { grid-template-columns: repeat(3, 1fr); }
  .footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
  .site-header { height: 72px; padding: 0 16px; }
  .brand { min-width: auto; }
  .brand-shield { width: 34px; height: 41px; font-size: 22px; }
  .brand-text { font-size: 12px; }
  .mobile-menu { top: 72px; }

  .hero { min-height: 710px; }
  .hero-image { object-position: 66% center; }
  .hero-overlay {
    background:
      linear-gradient(180deg, rgba(0,0,0,.2) 0%, rgba(0,0,0,.55) 33%, rgba(0,0,0,.96) 66%, rgba(0,0,0,1) 100%);
  }
  .hero-content { padding: 360px 20px 42px; margin: 0; }
  h1 { font-size: clamp(3rem, 14vw, 4.6rem); }
  .hero-copy { font-size: 15px; }
  .metric-strip { grid-template-columns: 1fr; }
  .metric { border-right: 0; border-bottom: 1px solid var(--line); }
  .metric:last-child { border-bottom: 0; }

  .section, .journey-section { padding-inline: 16px; }
  .section-heading::before, .section-heading::after { display: none; }
  .section-heading h2 { text-align: left; width: 100%; }
  .image-card { min-height: 390px; }
  .opportunity-section { margin-inline: 16px; }
  .opportunity-content { padding: 28px 20px; }
  .value-flow { grid-template-columns: 1fr; }
  .value-step { border-right: 0; padding: 18px 10px; }
  .final-cta { margin-inline: 16px; padding-inline: 18px; }
  .final-cta-mark { display: none; }
  .final-cta { grid-template-columns: 1fr; }
  .site-footer { margin-top: 20px; grid-template-columns: 1fr 1fr; padding-inline: 20px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-bottom { flex-direction: column; }
}

.hero{min-height:560px}.hero-image{width:100%;height:100%;object-fit:cover;object-position:center}.image-card{min-height:320px;aspect-ratio:4/3}.image-card img{display:block;width:100%;height:100%;object-fit:cover}.opportunity-section{grid-template-columns:1fr 1fr;min-height:390px}.opportunity-visual{display:flex;align-items:center;background:#050606;overflow:hidden}.opportunity-visual img{display:block;width:100%;height:auto;min-height:0;object-fit:contain}.journey-card{grid-template-columns:1.7fr 2.7fr 1fr;min-height:230px}.journey-card>img{display:block;width:100%;height:100%;min-height:230px;object-fit:cover}@media(max-width:900px){.image-card{min-height:0}.opportunity-section{grid-template-columns:1fr;min-height:0}.journey-card{grid-template-columns:1fr}.journey-card>img{height:auto;min-height:0;aspect-ratio:16/9}}

/* Fluid tour composition across desktop, tablet, and mobile. */
.opportunity-visual img{width:100%;height:100%;object-fit:cover;object-position:26% center}
@media(min-width:701px) and (max-width:1100px){.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.image-card{min-height:0;aspect-ratio:4/3}.opportunity-section{grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-inline:28px}.opportunity-content{border-top:0;border-left:1px solid var(--line);padding:30px}.journey-card{grid-template-columns:1.5fr 2.6fr .9fr}.journey-card>img{height:100%;min-height:260px;aspect-ratio:auto}.journey-stops{grid-template-columns:repeat(5,minmax(90px,1fr));overflow:visible}.journey-stops article{padding:20px 8px}.journey-total{border-top:0;border-left:1px solid var(--line)}.value-flow{grid-template-columns:repeat(5,minmax(0,1fr))}.value-step{padding-inline:12px}}
@media(max-width:700px){.opportunity-visual img{height:auto;aspect-ratio:16/10;object-fit:cover;object-position:24% center}.journey-card>img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}.journey-stops{grid-template-columns:repeat(5,minmax(150px,1fr));overflow-x:auto}}

/* Final collision and artwork-fit correction. */
.feature-grid{align-items:stretch}
.image-card{display:grid;grid-template-rows:220px auto;min-height:390px;aspect-ratio:auto;overflow:hidden}
.image-card img{grid-row:1;position:relative;width:100%;height:220px;object-fit:cover}
.image-card:after{z-index:1;background:linear-gradient(180deg,transparent 22%,rgba(0,0,0,.3) 48%,#080909 62%);pointer-events:none}
.image-card-content{position:relative;z-index:2;left:auto;right:auto;bottom:auto;grid-row:2;padding:20px 20px 22px;background:#080909}
.image-card-content h3{font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.15}.image-card-content p{font-size:.86rem;line-height:1.55}
.opportunity-section{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1fr;min-height:520px;overflow:hidden}
.opportunity-visual{position:absolute;z-index:-1;inset:0;display:block}
.opportunity-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(5,6,6,.08) 38%,rgba(5,6,6,.92) 58%,#050606 100%)}
.opportunity-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.opportunity-content{position:relative;z-index:2;grid-column:2;padding:42px;border-left:0;background:linear-gradient(90deg,rgba(5,6,6,.1),rgba(5,6,6,.92) 22%,#050606 100%)}
@media(max-width:700px){.image-card{grid-template-rows:auto auto;min-height:0}.image-card img{height:auto;aspect-ratio:4/3}.opportunity-section{display:grid;grid-template-columns:1fr;min-height:0}.opportunity-visual{position:relative;z-index:0;inset:auto}.opportunity-visual:after{background:linear-gradient(180deg,transparent 65%,#050606 100%)}.opportunity-visual img{height:auto;aspect-ratio:16/9;object-fit:cover}.opportunity-content{grid-column:1;padding:28px 20px;background:#050606}}
