:root {
  --black: #070707;
  --panel: #0f0f0d;
  --ivory: #f1ede4;
  --muted: #d9d0bf;
  --gold: #c98323;
  --gold-soft: #a86f28;
  --line: rgba(201,131,35,.45);
  --serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
}
* { box-sizing: border-box; }
html { background: var(--black); scroll-behavior: smooth; }
body { margin: 0; color: var(--ivory); background: var(--black); font-family: var(--serif); }
a { color: inherit; text-decoration: none; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 100; padding: .7rem 1rem; background: var(--ivory); color: #111; }
.skip-link:focus { top: 1rem; }
.site-header { position: absolute; z-index: 20; top: 0; left: 0; width: 100%; min-height: 106px; display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 1.15rem clamp(1.3rem,4vw,4rem); background: linear-gradient(180deg,rgba(0,0,0,.72),rgba(0,0,0,0)); }
.brand { display: flex; align-items: center; gap: 1rem; flex: 0 0 auto; }
.brand-mark { color: var(--gold); font-family: "Allura", "Brush Script MT", cursive; font-size: clamp(3.8rem,5.8vw,6.2rem); line-height: .72; letter-spacing: -.06em; transform: rotate(-3deg); transform-origin: center; }
.brand-text { display: flex; flex-direction: column; min-width: 245px; }
.brand-name { font-size: clamp(1.35rem,2vw,2rem); letter-spacing: .09em; text-transform: uppercase; line-height: 1; }
.brand-role { display: flex; align-items: center; gap: .65rem; margin-top: .45rem; color: var(--gold); font-size: .95rem; letter-spacing: .42em; text-transform: uppercase; white-space: nowrap; }
.brand-role i { display: block; width: 34px; height: 1px; background: var(--gold); opacity: .8; }
.nav-links { display: flex; align-items: center; gap: clamp(1.4rem,3vw,3.6rem); font-size: .9rem; letter-spacing: .08em; text-transform: uppercase; }
.nav-links a { opacity: .92; transition: color .2s ease, opacity .2s ease; white-space: nowrap; }
.nav-links a:hover,.nav-links a:focus-visible { color: var(--gold); opacity: 1; }
.menu-button { display: none; background: transparent; border: 0; padding: .45rem; }
.menu-button span { display: block; width: 25px; height: 1px; margin: 6px 0; background: var(--ivory); }
.home-hero { position: relative; min-height: 680px; height: min(74vw,760px); overflow: hidden; display: flex; align-items: flex-end; }
.hero-picture,.hero-picture img,.hero-overlay { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-picture img { object-fit: cover; object-position: center; }
.hero-overlay { background: linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.82) 25%,rgba(0,0,0,.38) 51%,rgba(0,0,0,.06) 74%),linear-gradient(180deg,rgba(0,0,0,.24),rgba(0,0,0,.02) 65%,rgba(0,0,0,.32)); }
.hero-content { position: relative; z-index: 2; width: min(680px,49vw); margin: 0 0 clamp(3.2rem,5.5vw,6rem) clamp(1.4rem,9vw,9rem); }
h1 { margin: 0; font-size: clamp(3rem,4.5vw,5.25rem); line-height: .94; font-weight: 500; letter-spacing: -.025em; text-wrap: balance; }
h1 span { display: block; }
h1 .gold { color: var(--gold); }
.rule { width: 66px; height: 1px; margin: 1.75rem 0 1.25rem; background: var(--gold); }
.tagline { max-width: 540px; margin: 0; font-size: clamp(1.2rem,1.45vw,1.6rem); line-height: 1.22; }
.availability { margin: .75rem 0 1.35rem; color: var(--gold); font-size: clamp(1.08rem,1.25vw,1.36rem); }
.button { display: inline-flex; align-items: center; justify-content: center; min-width: 315px; padding: 1rem 2rem; border: 1px solid var(--gold); color: var(--gold); font-size: 1rem; letter-spacing: .2em; text-transform: uppercase; transition: background .2s ease,color .2s ease,transform .2s ease; }
.button:hover,.button:focus-visible { background: var(--gold); color: #090909; transform: translateY(-1px); }
.quote-band { min-height: 105px; display: grid; grid-template-columns: minmax(60px,1fr) auto minmax(60px,1fr); gap: 2.7rem; align-items: center; padding: 1.3rem clamp(2rem,4vw,4.5rem) .85rem; background: linear-gradient(90deg,#0b0b0a,#16140f 50%,#0b0b0a); }
.quote-line { height: 1px; background: var(--line); }
.quote-band blockquote { margin: 0; text-align: center; }
.quote-band p { margin: 0; color: var(--gold); font-size: clamp(1.45rem,2vw,2.25rem); line-height: 1.1; font-style: italic; }
.quote-band cite { display: block; margin-top: .55rem; font-style: normal; font-size: .9rem; letter-spacing: .28em; text-transform: uppercase; }
.pathways { display: grid; grid-template-columns: repeat(4,1fr); padding: .5rem clamp(2rem,5vw,5rem) 1rem; background: radial-gradient(circle at center,#171510 0,#0c0c0b 74%); }
.path-card { position: relative; min-height: 205px; display: flex; flex-direction: column; align-items: center; text-align: center; padding: 1.1rem clamp(.85rem,2vw,2.4rem) 1rem; }
.path-card + .path-card::before { content:""; position:absolute; left:0; top:20%; height:65%; width:1px; background:rgba(201,131,35,.28); }
.path-icon { width: 48px; height: 48px; margin-bottom: .45rem; color: var(--gold); }
.path-card em { color: var(--gold); font-size: clamp(1rem,1.15vw,1.25rem); line-height: 1.1; }
.card-title { margin: .55rem 0 .5rem; font-size: clamp(1.45rem,1.65vw,1.9rem); letter-spacing: .05em; text-transform: uppercase; }
.card-copy { max-width: 315px; font-size: clamp(.95rem,1vw,1.08rem); line-height: 1.3; color: var(--ivory); }
.path-card:hover .card-title,.path-card:focus-visible .card-title { color: var(--gold); }
.site-footer { background:#0c0c0b; padding: .45rem 1rem 1.2rem; text-align:center; color:#d7c6a5; font-size:.92rem; }
.site-footer p { margin:0; }
@media (max-width:1100px) {
  .site-header { min-height: 88px; }
  .brand-text { min-width: 190px; }
  .brand-name { font-size: 1.25rem; }
  .brand-role { font-size: .73rem; }
  .nav-links { gap: 1.25rem; font-size: .76rem; }
  .home-hero { height: 720px; }
  .hero-content { margin-left: 5vw; width: 52vw; }
}
@media (max-width:850px) {
  .site-header { position: absolute; align-items: flex-start; padding: 1rem 1.25rem; }
  .brand-mark { font-size: 4rem; }
  .brand-text { min-width: 0; }
  .brand-name { font-size: 1rem; }
  .brand-role { font-size: .62rem; letter-spacing: .3em; }
  .brand-role i { width: 18px; }
  .menu-button { display: block; margin-left: auto; }
  .nav-links { display: none; position: absolute; top: 78px; right: 1rem; width: min(320px,calc(100vw - 2rem)); flex-direction: column; align-items: stretch; gap: 0; padding: .7rem; background: rgba(9,9,8,.97); border: 1px solid rgba(201,131,35,.35); }
  .nav-links.open { display: flex; }
  .nav-links a { padding: .85rem 1rem; border-bottom: 1px solid rgba(255,255,255,.08); }
  .home-hero { min-height: 850px; height: 100svh; align-items: flex-end; }
  .hero-picture img { object-position: center 45%; }
  .hero-overlay { background: linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.08) 34%,rgba(0,0,0,.18) 58%,rgba(0,0,0,.96) 80%,#070707 100%); }
  .hero-content { width: auto; margin: 0 1.5rem 3rem; }
  h1 { font-size: clamp(3.25rem,11vw,5rem); line-height: .92; }
  .tagline { max-width: 34rem; }
  .quote-band { grid-template-columns: 1fr; gap: .7rem; padding: 1.5rem 1rem; }
  .quote-line { display:none; }
  .pathways { grid-template-columns: repeat(2,1fr); padding: .75rem 1rem 1.5rem; }
  .path-card:nth-child(3)::before { display:none; }
}
@media (max-width:560px) {
  .brand-mark { font-size: 3.25rem; }
  .brand-name { font-size: .9rem; letter-spacing:.06em; }
  .brand-role { font-size:.53rem; }
  .home-hero { min-height: 820px; }
  .hero-picture img { object-position: center top; }
  .hero-content { margin:0 1.15rem 2.2rem; }
  h1 { font-size: clamp(2.85rem,13.5vw,4.5rem); }
  .rule { margin:1.25rem 0 1rem; }
  .tagline { font-size:1.18rem; }
  .availability { font-size:1.08rem; }
  .button { min-width:100%; padding:.9rem 1rem; }
  .pathways { grid-template-columns:1fr; }
  .path-card { min-height:190px; }
  .path-card + .path-card::before { left:15%; top:0; width:70%; height:1px; }
  .path-card:nth-child(3)::before { display:block; }
  .path-icon { width:44px;height:44px; }
}
@media (prefers-reduced-motion: reduce) { * { scroll-behavior:auto!important; transition:none!important; } }
