:root {
  --ink: #17221f;
  --ink-soft: #34443d;
  --paper: #faf7ef;
  --paper-deep: #f1eadb;
  --sage: #b8c5b1;
  --sage-deep: #65775f;
  --gold: #d5a941;
  --gold-deep: #a87819;
  --night: #16241f;
  --night-2: #22352d;
  --line: rgba(23, 34, 31, 0.16);
  --white: #fffdf8;
  --shadow: 0 22px 55px rgba(24, 35, 31, 0.12);
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Plus Jakarta Sans", Arial, sans-serif;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.65;
}

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

a { color: inherit; text-decoration: none; }

button { font: inherit; }

.skip-link {
  left: 1rem;
  position: absolute;
  top: -4rem;
  z-index: 99;
  background: var(--gold);
  color: var(--night);
  font-weight: 800;
  padding: .75rem 1rem;
}

.skip-link:focus { top: 1rem; }

.container { width: min(1120px, calc(100% - 2.5rem)); margin-inline: auto; }

.site-header {
  background: rgba(250, 247, 239, .94);
  border-bottom: 1px solid rgba(23, 34, 31, .08);
  position: sticky;
  top: 0;
  z-index: 20;
  backdrop-filter: blur(16px);
}

.nav { align-items: center; display: flex; justify-content: space-between; min-height: 74px; gap: 1rem; }

.brand { align-items: center; display: inline-flex; gap: .68rem; font-family: var(--serif); font-size: 1.35rem; font-weight: 700; letter-spacing: -.02em; }

.brand-mark { align-items: center; background: var(--night); border-radius: 50%; color: var(--gold); display: inline-flex; font-family: var(--serif); font-size: 1.35rem; font-weight: 700; height: 34px; justify-content: center; width: 34px; }

.nav-links { align-items: center; display: flex; font-size: .86rem; font-weight: 700; gap: 1.2rem; }

.nav-links a { color: var(--ink-soft); }
.nav-links a:hover { color: var(--gold-deep); }

.eyebrow { color: var(--gold-deep); display: block; font-size: .72rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }

.display { font-family: var(--serif); font-size: clamp(3rem, 8vw, 6.25rem); font-weight: 600; letter-spacing: -.055em; line-height: .89; margin: .9rem 0 1.4rem; }
.display.small { font-size: clamp(2.8rem, 6vw, 4.7rem); }

h2 { font-family: var(--serif); font-size: clamp(2.25rem, 4.5vw, 3.75rem); font-weight: 600; letter-spacing: -.045em; line-height: .95; margin: .65rem 0 1rem; }
h3 { font-family: var(--serif); font-size: 1.75rem; letter-spacing: -.025em; line-height: 1.05; margin: 0 0 .8rem; }

.lead { color: var(--ink-soft); font-size: 1.08rem; max-width: 44rem; }
.body-copy { color: var(--ink-soft); max-width: 46rem; }
.body-copy p { margin: 0 0 1rem; }

.button-row { align-items: center; display: flex; flex-wrap: wrap; gap: .85rem; margin-top: 1.8rem; }

.button {
  align-items: center;
  border: 1px solid transparent;
  cursor: pointer;
  display: inline-flex;
  font-size: .88rem;
  font-weight: 800;
  gap: .55rem;
  justify-content: center;
  letter-spacing: .01em;
  min-height: 52px;
  padding: .82rem 1.2rem;
  transition: background .18s ease, color .18s ease, transform .18s ease;
}

.button:active { transform: scale(.975); }
.button.primary { background: var(--gold); color: var(--night); }
.button.primary:hover { background: #e2ba5d; }
.button.dark { background: var(--night); color: var(--white); }
.button.dark:hover { background: var(--night-2); }
.button.ghost { border-color: rgba(250, 247, 239, .48); color: var(--white); }
.button.ghost:hover { background: rgba(250, 247, 239, .1); }
.button.arrow::after { content: "→"; font-size: 1.12rem; }

.hero { overflow: hidden; position: relative; }
.hero-home { background: var(--night); color: var(--white); min-height: 695px; padding: 6.2rem 0 4.5rem; }
.hero-home::before { background: radial-gradient(circle, rgba(213, 169, 65, .24), transparent 66%); content: ""; height: 620px; left: -190px; position: absolute; top: -250px; width: 620px; }
.hero-home::after { border: 1px solid rgba(250, 247, 239, .1); border-radius: 50%; content: ""; height: 680px; position: absolute; right: -230px; top: -190px; width: 680px; }

.home-hero-grid { align-items: center; display: grid; gap: 3rem; grid-template-columns: 1.1fr .9fr; position: relative; z-index: 1; }
.hero-home .lead { color: rgba(255, 253, 248, .78); }
.hero-home .eyebrow { color: #e8c36c; }
.hero-home .mini-note { color: rgba(255, 253, 248, .62); font-size: .77rem; margin: .75rem 0 0; max-width: 36rem; }

.orbital-list { display: grid; gap: .8rem; margin: 0; padding: 0; list-style: none; }
.orbit { align-items: center; background: rgba(250, 247, 239, .08); border: 1px solid rgba(250, 247, 239, .13); display: flex; gap: 1rem; padding: .8rem 1rem; }
.orbit:nth-child(2) { margin-left: 8%; }
.orbit:nth-child(3) { margin-left: 18%; }
.orbit:nth-child(4) { margin-left: 9%; }
.orbit:nth-child(5) { margin-left: 1%; }
.orbit-number { color: var(--gold); font-family: var(--serif); font-size: 1.8rem; font-weight: 600; min-width: 40px; }
.orbit-copy strong { display: block; font-size: .82rem; }
.orbit-copy span { color: rgba(255,253,248,.65); display: block; font-size: .72rem; }

.offer-hero { background: var(--night); color: var(--white); padding: 3.5rem 0 4rem; }
.offer-hero-grid { align-items: center; display: grid; gap: 3rem; grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr); }
.offer-hero .lead { color: rgba(255, 253, 248, .8); }
.offer-hero .eyebrow { color: #e8c36c; }
.hero-art { min-height: 425px; overflow: hidden; position: relative; }
.hero-art::after { background: linear-gradient(135deg, rgba(22,36,31,.1), rgba(22,36,31,.38)); content: ""; inset: 0; position: absolute; }
.hero-art img { height: 100%; object-fit: cover; position: absolute; width: 100%; }
.hero-art-tag { background: var(--paper); bottom: 1rem; color: var(--night); font-size: .71rem; font-weight: 800; left: 1rem; letter-spacing: .09em; padding: .5rem .7rem; position: absolute; text-transform: uppercase; z-index: 1; }

.trust-strip { background: var(--paper-deep); border-bottom: 1px solid var(--line); }
.trust-strip .container { display: grid; grid-template-columns: repeat(3, 1fr); }
.trust-item { border-right: 1px solid var(--line); color: var(--ink-soft); font-size: .78rem; font-weight: 700; padding: 1rem 1.25rem; text-align: center; }
.trust-item:last-child { border-right: none; }

section { padding: 6rem 0; }
.section-deep { background: var(--paper-deep); }
.section-night { background: var(--night); color: var(--white); }
.section-night .lead, .section-night .body-copy { color: rgba(255,253,248,.74); }
.section-night .eyebrow { color: #e8c36c; }

.section-heading { display: grid; gap: 2rem; grid-template-columns: .78fr 1.22fr; margin-bottom: 3rem; }
.section-heading .lead { margin-top: 1.5rem; }

.offer-grid { display: grid; gap: 1px; grid-template-columns: repeat(5, 1fr); background: var(--line); }
.offer-card { background: var(--paper); min-height: 480px; padding: 1.35rem; position: relative; }
.offer-card.featured { background: var(--night); color: var(--white); }
.offer-card .card-image { height: 155px; margin: -.15rem -.15rem 1.2rem; overflow: hidden; }
.offer-card .card-image img { height: 100%; object-fit: cover; width: 100%; }
.offer-card .card-index { color: var(--gold-deep); font-size: .69rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.offer-card.featured .card-index { color: #e8c36c; }
.offer-card h3 { font-size: 1.75rem; margin-top: .45rem; }
.offer-card p { color: var(--ink-soft); font-size: .79rem; line-height: 1.55; }
.offer-card.featured p { color: rgba(255,253,248,.7); }
.text-link { bottom: 1.35rem; color: var(--gold-deep); font-size: .78rem; font-weight: 800; left: 1.35rem; position: absolute; }
.featured .text-link { color: #e8c36c; }
.text-link::after { content: " →"; }

.how-grid { display: grid; gap: 1px; grid-template-columns: repeat(3, 1fr); background: rgba(250,247,239,.14); }
.how-step { border: 1px solid rgba(250,247,239,.12); min-height: 260px; padding: 1.7rem; }
.how-index { color: var(--gold); font-family: var(--serif); font-size: 3rem; line-height: 1; }
.how-step p { font-size: .87rem; }

.statement { border-left: 2px solid var(--gold); color: var(--night); font-family: var(--serif); font-size: clamp(2rem, 4.2vw, 3.6rem); letter-spacing: -.04em; line-height: 1; margin: 0; max-width: 52rem; padding-left: 1.5rem; }

.story-grid { align-items: start; display: grid; gap: 4rem; grid-template-columns: .8fr 1.2fr; }
.story-side { border-top: 1px solid var(--line); padding-top: 1rem; }
.story-side p { color: var(--ink-soft); font-size: .83rem; }

.experience-grid { display: grid; gap: 1px; grid-template-columns: repeat(5, 1fr); background: var(--line); }
.experience-card { background: var(--paper); min-height: 225px; padding: 1.2rem; }
.experience-card .micro { color: var(--gold-deep); display: block; font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.experience-card h3 { font-size: 1.45rem; margin-top: .7rem; }
.experience-card p { color: var(--ink-soft); font-size: .8rem; line-height: 1.55; }

.vsl-frame { background: #0d1714; border: 1px solid rgba(250,247,239,.17); margin-top: 2.2rem; min-height: 340px; padding: 1.2rem; position: relative; }
.vsl-frame::before { background: radial-gradient(circle at 76% 18%, rgba(213,169,65,.34), transparent 26%), linear-gradient(140deg, #15231e, #0d1714 58%, #254134); content: ""; inset: 0; position: absolute; }
.vsl-content { align-items: center; color: var(--white); display: flex; flex-direction: column; inset: 0; justify-content: center; padding: 2rem; position: absolute; text-align: center; }
.play-mark { align-items: center; border: 1px solid rgba(250,247,239,.5); border-radius: 50%; display: flex; font-size: 1.1rem; height: 64px; justify-content: center; margin-bottom: 1.25rem; padding-left: 3px; width: 64px; }
.vsl-content h3 { font-size: clamp(1.7rem, 4vw, 2.5rem); max-width: 36rem; }
.vsl-content p { color: rgba(255,253,248,.68); font-size: .83rem; margin: 0; max-width: 32rem; }
.vsl-label { bottom: 1rem; color: rgba(255,253,248,.55); font-size: .67rem; font-weight: 700; left: 1.2rem; letter-spacing: .1em; position: absolute; text-transform: uppercase; z-index: 1; }

.deliverable-grid { display: grid; gap: 1px; grid-template-columns: repeat(5, 1fr); background: var(--line); }
.deliverable { background: var(--paper); min-height: 205px; padding: 1.2rem; }
.deliverable svg { color: var(--gold-deep); height: 26px; margin-bottom: .85rem; width: 26px; }
.deliverable h3 { font-size: 1.35rem; }
.deliverable p { color: var(--ink-soft); font-size: .78rem; line-height: 1.55; }

.adaptation { display: grid; gap: 2.5rem; grid-template-columns: .85fr 1.15fr; }
.adaptation-panel { background: var(--night); color: var(--white); padding: 2rem; }
.adaptation-panel .eyebrow { color: #e8c36c; }
.adaptation-panel p { color: rgba(255,253,248,.74); font-size: .91rem; }
.adaptation-list { display: grid; gap: 1px; grid-template-columns: repeat(2, 1fr); background: var(--line); }
.adaptation-list div { background: var(--paper); padding: 1.4rem; }
.adaptation-list strong { display: block; font-family: var(--serif); font-size: 1.35rem; line-height: 1; margin-bottom: .5rem; }
.adaptation-list span { color: var(--ink-soft); font-size: .78rem; line-height: 1.55; }

.faq-layout { display: grid; gap: 4rem; grid-template-columns: .8fr 1.2fr; }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); padding: 1.15rem 0; }
.faq-list summary { cursor: pointer; font-size: .93rem; font-weight: 800; list-style: none; padding-right: 1.5rem; position: relative; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; color: var(--gold-deep); font-size: 1.35rem; font-weight: 400; position: absolute; right: .2rem; top: -.35rem; }
.faq-list details[open] summary::after { content: "–"; }
.faq-list p { color: var(--ink-soft); font-size: .85rem; margin: .8rem 1.3rem .15rem 0; }

.cta-band { background: var(--gold); color: var(--night); padding: 4.6rem 0; }
.cta-band-grid { align-items: end; display: grid; gap: 2rem; grid-template-columns: 1.2fr .8fr; }
.cta-band h2 { margin-bottom: 0; }
.cta-band .button { justify-self: end; }

.care-note { background: rgba(250,247,239,.08); border-left: 2px solid var(--gold); color: rgba(255,253,248,.78); font-size: .82rem; margin-top: 1.8rem; padding: 1rem 1.2rem; }

.site-footer { background: #0d1714; color: rgba(255,253,248,.72); padding: 2.6rem 0; }
.footer-grid { align-items: start; display: grid; gap: 2rem; grid-template-columns: 1.2fr .8fr; }
.footer-grid p { font-size: .75rem; margin: .6rem 0 0; max-width: 38rem; }
.footer-links { display: flex; flex-wrap: wrap; font-size: .76rem; font-weight: 700; gap: .8rem 1.1rem; justify-content: flex-end; }
.footer-links a:hover { color: var(--gold); }
.copyright { border-top: 1px solid rgba(250,247,239,.12); color: rgba(255,253,248,.45); font-size: .67rem; margin-top: 2rem; padding-top: 1rem; }

.notice { background: #e8e2d6; border-left: 2px solid var(--gold-deep); color: var(--ink-soft); font-size: .78rem; margin-top: 1.5rem; padding: .85rem 1rem; }

@media (max-width: 940px) {
  .home-hero-grid, .offer-hero-grid, .section-heading, .story-grid, .adaptation, .faq-layout, .cta-band-grid { grid-template-columns: 1fr; }
  .home-hero-grid { gap: 3.5rem; }
  .hero-home { min-height: auto; }
  .hero-art { min-height: 400px; }
  .offer-grid { grid-template-columns: repeat(3, 1fr); }
  .experience-grid, .deliverable-grid { grid-template-columns: repeat(3, 1fr); }
  .how-grid { grid-template-columns: 1fr; }
  .cta-band .button { justify-self: start; }
}

@media (max-width: 650px) {
  .container { width: min(100% - 2rem, 1120px); }
  .site-header { position: relative; }
  .nav { min-height: 64px; }
  .nav-links a:not(.nav-home) { display: none; }
  .nav-links { gap: .7rem; }
  .brand { font-size: 1.12rem; }
  .hero-home { padding: 4rem 0 3.1rem; }
  .offer-hero { padding: 2.5rem 0 3rem; }
  .display { font-size: clamp(3.25rem, 15vw, 4.3rem); }
  .lead { font-size: 1rem; }
  .button { width: 100%; }
  .button-row { align-items: stretch; flex-direction: column; }
  .orbit:nth-child(n) { margin-left: 0; }
  .hero-art { min-height: 300px; }
  .trust-strip .container { grid-template-columns: 1fr; }
  .trust-item { border-bottom: 1px solid var(--line); border-right: 0; }
  .trust-item:last-child { border-bottom: 0; }
  section { padding: 4.1rem 0; }
  .offer-grid, .experience-grid, .deliverable-grid { grid-template-columns: 1fr; }
  .offer-card { min-height: 380px; }
  .card-image { height: 180px !important; }
  .deliverable { min-height: 0; }
  .adaptation-list { grid-template-columns: 1fr; }
  .vsl-frame { min-height: 290px; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-links { justify-content: flex-start; }
}

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