/* ═══════════════════════════════════════════════
   ALTA ORIGIN — main.css
   Complete design system: tokens, reset, layout,
   navigation, hero, all sections, quiz, results.
═══════════════════════════════════════════════ */

/* ── TOKENS ── */
:root {
  --ink:    #0C0B09;
  --ink2:   #161410;
  --ink3:   #1E1B16;
  --cream:  #F4EEE2;
  --cream2: #EAE0CE;
  --cream3: #D8CCBA;
  --gold:   #C9A96E;
  --gold2:  #E2C48A;
  --terra:  #9E4E2A;
  --terra2: #C46A3E;
  --olive:  #3B3F2C;
  --olive2: #525740;
  --olive3: #C6CCAA;
  --sand:   #D6C8A8;
  --muted:  rgba(244,238,226,.5);
  --muted2: rgba(244,238,226,.22);
  --serif:  'Cormorant Garamond', Georgia, serif;
  --sans:   'Jost', sans-serif;
  --ease:   cubic-bezier(.25,0,.1,1);
}

/* ── RESET ── */
*,*::before,*::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
  font-family: var(--sans); background: var(--ink);
  color: var(--cream); font-weight: 300;
  overflow-x: hidden; cursor: none;
}
a    { text-decoration: none; color: inherit; }
img  { display: block; width: 100%; object-fit: cover; }
button { cursor: none; font-family: var(--sans); }
.alta-no-scroll { overflow: hidden; }
::-webkit-scrollbar { width: 3px; }
::-webkit-scrollbar-track { background: var(--ink); }
::-webkit-scrollbar-thumb { background: rgba(201,169,110,.3); }

/* ── CURSOR ── */
#altaCursor, #altaCursorRing {
  position: fixed; pointer-events: none; z-index: 9999;
  transform: translate(-50%,-50%); border-radius: 50%;
}
#altaCursor {
  width: 8px; height: 8px; background: var(--gold);
  transition: width .3s, height .3s, background .3s;
  mix-blend-mode: difference;
}
#altaCursorRing {
  width: 36px; height: 36px; z-index: 9998;
  border: .5px solid rgba(201,169,110,.55);
  transition: width .4s var(--ease), height .4s var(--ease);
}
body.alta-cursor-hover #altaCursor     { width: 14px; height: 14px; }
body.alta-cursor-hover #altaCursorRing { width: 56px; height: 56px; }

/* ── GRAIN ── */
#altaGrain {
  display:none;
}
@keyframes grain {
  0%,100%{transform:translate(0,0)} 20%{transform:translate(-3%,2%)}
  40%{transform:translate(2%,-3%)} 60%{transform:translate(-2%,3%)} 80%{transform:translate(3%,-2%)}
}

/* ── NAVIGATION ── */
.alta-nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 500;
  display: flex; justify-content: space-between; align-items: center;
  padding: 22px 52px; transition: all .5s var(--ease);
}
.alta-nav--scrolled {
  background: rgba(12,11,9,.92); backdrop-filter: blur(16px);
  padding: 15px 52px; border-bottom: .5px solid rgba(201,169,110,.1);
}
.alta-logo {
  font-family: var(--serif); font-size: 22px; font-weight: 300;
  letter-spacing: .22em; text-transform: uppercase; color: var(--cream); line-height: 1;
}
.alta-logo-script {
  display: block; font-size: 11px; letter-spacing: .02em;
  color: var(--gold); font-style: italic; font-weight: 300; margin-top: -3px;
}
.alta-logo-sm { font-family: var(--serif); font-size: 18px; font-weight: 300; letter-spacing: .2em; text-transform: uppercase; color: var(--cream); }
.alta-nav__links { display: flex; gap: 38px; }
.alta-nav__links a { font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: rgba(244,238,226,.5); transition: color .25s; font-weight: 400; }
.alta-nav__links a:hover { color: var(--cream); }
.alta-nav-cta {
  font-size: 10px; letter-spacing: .2em; text-transform: uppercase;
  padding: 10px 26px; background: transparent; border: .5px solid rgba(201,169,110,.45);
  color: var(--gold); font-weight: 400; transition: all .25s;
}
.alta-nav-cta:hover { background: rgba(201,169,110,.08); border-color: var(--gold); }
.alta-nav-ham { display: none; flex-direction: column; gap: 5px; background: none; border: none; padding: 4px; }
.alta-nav-ham span { display: block; width: 24px; height: .5px; background: var(--cream); transition: all .3s; }

/* ── MOBILE MENU ── */
.alta-mob-menu {
  position: fixed; inset: 0; z-index: 490; background: var(--ink);
  display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 32px;
  opacity: 0; pointer-events: none; transition: opacity .4s var(--ease);
}
.alta-mob-menu.open { opacity: 1; pointer-events: all; }
.alta-mob-menu a { font-family: var(--serif); font-size: 34px; font-weight: 300; color: rgba(244,238,226,.55); letter-spacing: .08em; transition: color .2s; }
.alta-mob-menu a:hover { color: var(--cream); }

/* ── BUTTONS ── */
.alta-btn-gold {
  font-family: var(--sans); font-size: 10px; letter-spacing: .22em; text-transform: uppercase;
  padding: 16px 40px; background: var(--gold); color: var(--ink); border: none;
  font-weight: 500; transition: background .25s, transform .15s;
}
.alta-btn-gold:hover { background: var(--gold2); transform: translateY(-1px); }
.alta-btn-outline {
  font-family: var(--sans); font-size: 10px; letter-spacing: .22em; text-transform: uppercase;
  padding: 16px 28px; background: transparent; color: var(--cream);
  border: .5px solid rgba(244,238,226,.25); transition: border-color .25s;
}
.alta-btn-outline:hover { border-color: rgba(244,238,226,.7); }
.alta-btn-access {
  font-family: var(--sans); font-size: 9px; letter-spacing: .18em; text-transform: uppercase;
  padding: 9px 18px; background: transparent; color: var(--gold);
  border: .5px solid rgba(201,169,110,.3); transition: all .25s;
}
.alta-btn-access:hover { background: rgba(201,169,110,.08); border-color: var(--gold); }

/* ── SECTION UTILITIES ── */
.alta-eyebrow {
  font-size: 9px; letter-spacing: .32em; text-transform: uppercase; color: var(--gold);
  margin-bottom: 20px; display: flex; align-items: center; gap: 14px;
}
.alta-eyebrow::before { content: ''; width: 32px; height: .5px; background: var(--gold); }
.alta-eyebrow--terra { color: var(--terra); }
.alta-eyebrow--terra::before { background: var(--terra); }
.alta-section-title { font-family: var(--serif); font-size: clamp(34px,3.5vw,54px); font-weight: 300; line-height: 1.1; color: var(--cream); }
.alta-section-title em { font-style: italic; color: var(--gold2); }
.alta-section-title--dark { color: var(--ink); }
.alta-divider { height: .5px; background: rgba(201,169,110,.1); }

/* ── REVEAL ANIMATIONS ── */
.reveal { opacity: 0; transform: translateY(30px); transition: opacity .9s var(--ease), transform .9s var(--ease); }
.reveal.vis { opacity: 1; transform: translateY(0); }
.rd1 { transition-delay: .1s; } .rd2 { transition-delay: .2s; }
.rd3 { transition-delay: .3s; } .rd4 { transition-delay: .4s; }

/* ── HERO ── */
.alta-hero {
  height: 100vh; min-height: 700px;
  display: grid; grid-template-columns: 1fr 1fr; overflow: hidden;
}
.alta-hero__left {
  display: flex; flex-direction: column; justify-content: center;
  padding: 120px 60px 80px 52px; background: var(--ink); position: relative; z-index: 2;
}
.alta-hero__left .alta-eyebrow { opacity: 0; animation: fadeUp 1s .3s var(--ease) both; }
.alta-hero__h1 {
  font-family: var(--serif); font-size: clamp(46px,4.2vw,70px); font-weight: 300;
  line-height: 1.08; color: var(--cream); margin-bottom: 24px;
  opacity: 0; animation: fadeUp 1s .45s var(--ease) both;
}
.alta-hero__h1 em { font-style: italic; color: var(--gold2); }
.alta-hero__sub {
  font-size: 14px; color: var(--muted); line-height: 1.9; max-width: 380px; margin-bottom: 48px;
  opacity: 0; animation: fadeUp 1s .6s var(--ease) both;
}
.alta-hero__btns { display: flex; gap: 16px; flex-wrap: wrap; opacity: 0; animation: fadeUp 1s .75s var(--ease) both; }
.alta-scroll-hint {
  position: absolute; bottom: 40px; left: 52px;
  display: flex; align-items: center; gap: 12px;
  opacity: 0; animation: fadeUp 1s 1s var(--ease) both;
}
.alta-scroll-line { width: .5px; height: 40px; background: rgba(201,169,110,.4); animation: pulse 2s ease-in-out infinite; }
@keyframes pulse { 0%,100%{transform:scaleY(1);transform-origin:top} 50%{transform:scaleY(.4);transform-origin:top} }
.alta-scroll-hint span { font-size: 8px; letter-spacing: .28em; text-transform: uppercase; color: rgba(201,169,110,.5); writing-mode: vertical-rl; }
.alta-hero__right { position: relative; overflow: hidden; }
.alta-hero__img,.alta-hero__img-placeholder { position: absolute; inset: 0; width: 100%; height: 100%; animation: zoomIn 9s var(--ease) both; }
.alta-hero__img { object-fit: cover; object-position: center; }
.alta-hero__bg-svg { position: absolute; inset: 0; }
.alta-hero__img-placeholder svg, .alta-hero__bg-svg svg { width: 100%; height: 100%; display: block; }
@keyframes zoomIn { from{transform:scale(1.08)} to{transform:scale(1.02)} }
.alta-hero__ov1 { position: absolute; inset: 0; background: linear-gradient(105deg,rgba(12,11,9,1) 0%,rgba(12,11,9,.25) 45%,transparent 70%); }
.alta-hero__ov2 { position: absolute; inset: 0; background: linear-gradient(to bottom,rgba(12,11,9,.15) 0%,rgba(12,11,9,.55) 100%); }
.alta-hero__caption { position: absolute; bottom: 40px; right: 36px; font-size: 8px; letter-spacing: .22em; text-transform: uppercase; color: rgba(244,238,226,.28); text-align: right; opacity: 0; animation: fadeIn 1s 1.4s both; }
@keyframes fadeUp  { from{opacity:0;transform:translateY(28px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeIn  { from{opacity:0} to{opacity:1} }

/* ── BRAND STORY ── */
.alta-brand {
  padding: 120px 52px; display: grid; grid-template-columns: 1fr 1fr;
  gap: 80px; align-items: center; background: var(--ink2); position: relative; overflow: hidden;
}
.alta-brand::before { content:''; position:absolute; top:-80px; right:-80px; width:480px; height:480px; background:radial-gradient(circle,rgba(59,63,44,.28) 0%,transparent 70%); pointer-events:none; }
.alta-brand__visual { position: relative; height: 540px; }
.alta-brand__img { position: absolute; inset: 0; overflow: hidden; }
.alta-brand__img img,.alta-brand__img svg { width:100%;height:100%; object-fit:cover; }
.alta-brand__img2 { position: absolute; bottom: -24px; right: -24px; width: 54%; height: 52%; border: 4px solid var(--ink2); overflow: hidden; }
.alta-brand__img2 img, .alta-brand__img2 svg { width:100%;height:100%; object-fit:cover; }
.alta-brand__title { font-family:var(--serif); font-size:clamp(36px,3vw,52px); font-weight:300; line-height:1.12; color:var(--cream); margin-bottom:26px; }
.alta-brand__title em { font-style:italic; color:var(--gold2); }
.alta-brand__body { font-size:14px; color:var(--muted); line-height:1.95; margin-bottom:20px; }
.alta-pillars { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:rgba(201,169,110,.1); margin-top:40px; }
.alta-pillar { background:var(--ink2); padding:20px 18px; }
.alta-pillar__num { font-family:var(--serif); font-size:26px; font-weight:300; color:rgba(201,169,110,.15); line-height:1; margin-bottom:6px; }
.alta-pillar__title { font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--cream); margin-bottom:5px; font-weight:400; }
.alta-pillar__text { font-size:11px; color:var(--muted); line-height:1.7; }

/* ── COLLECTION ── */
.alta-collection { padding: 120px 52px; background: var(--cream); }
.alta-collection__header { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:60px; }
.alta-collection__link { font-size:9px; letter-spacing:.2em; text-transform:uppercase; color:var(--terra); border-bottom:.5px solid var(--terra); padding-bottom:2px; }
.alta-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.alta-card { background:var(--ink); overflow:hidden; transition:transform .4s var(--ease); }
.alta-card:hover { transform:translateY(-6px); }
.alta-card__img { height:300px; position:relative; overflow:hidden; }
.alta-card__bg { position:absolute; inset:0; background-size:cover; background-position:center; transition:transform .6s var(--ease); }
.alta-card__bg--placeholder { background:none; }
.alta-card__bg--placeholder svg { width:100%;height:100%;display:block; transition:transform .6s var(--ease); }
.alta-card:hover .alta-card__bg,
.alta-card:hover .alta-card__bg--placeholder svg { transform:scale(1.04); }
.alta-card__ov { position:absolute; inset:0; background:linear-gradient(to top,rgba(12,11,9,.9) 0%,rgba(12,11,9,.1) 65%); }
.alta-badge { position:absolute; top:18px; left:18px; font-size:8px; letter-spacing:.16em; text-transform:uppercase; padding:4px 10px; }
.badge-lim { background:rgba(158,78,42,.82); color:#F4EEE2; }
.badge-new { background:rgba(59,63,44,.85); color:#C6CCAA; }
.badge-mem { background:rgba(201,169,110,.2); color:var(--gold); }
.alta-card__body { padding:26px 22px 30px; }
.alta-card__region { font-size:9px; letter-spacing:.18em; text-transform:uppercase; color:rgba(201,169,110,.55); margin-bottom:7px; }
.alta-card__name { font-family:var(--serif); font-size:22px; font-weight:300; color:var(--cream); line-height:1.2; margin-bottom:14px; }
.alta-card__tags { display:flex; flex-wrap:wrap; gap:4px; margin-bottom:18px; }
.alta-tag { font-size:9px; letter-spacing:.1em; padding:3px 9px; border:.5px solid rgba(201,169,110,.2); color:rgba(201,169,110,.6); }
.alta-card__foot { display:flex; justify-content:space-between; align-items:center; padding-top:14px; border-top:.5px solid rgba(201,169,110,.1); }
.alta-card__price { font-family:var(--serif); font-size:20px; font-weight:300; color:var(--sand); }
.alta-card__price span { font-size:11px; color:rgba(214,200,168,.45); }

/* ── MEMBERSHIP ── */
.alta-membership { padding:120px 52px; background:var(--ink3); position:relative; overflow:hidden; }
.alta-membership::after { content:''; position:absolute; bottom:-150px; left:50%; transform:translateX(-50%); width:700px; height:350px; border-radius:50%; background:radial-gradient(ellipse,rgba(201,169,110,.04) 0%,transparent 70%); pointer-events:none; }
.alta-membership__header { text-align:center; margin-bottom:68px; }
.alta-membership__header .alta-eyebrow { justify-content:center; }
.alta-membership__header .alta-eyebrow::before { display:none; }
.alta-membership__header .alta-eyebrow::after { content:''; width:32px; height:.5px; background:var(--gold); }
.alta-tiers { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(201,169,110,.1); }
.alta-tier { background:var(--ink3); padding:46px 34px; position:relative; transition:background .3s; }
.alta-tier:hover { background:#1c1a14; }
.alta-tier--featured { background:#1a1810; }
.alta-tier--featured::before { content:''; position:absolute; top:0; left:0; right:0; height:1.5px; background:linear-gradient(90deg,transparent,var(--gold),var(--gold2),var(--gold),transparent); }
.alta-tier__num { font-family:var(--serif); font-size:68px; font-weight:300; color:rgba(201,169,110,.07); line-height:1; margin-bottom:24px; }
.alta-tier__name { font-family:var(--serif); font-size:26px; font-weight:300; color:var(--cream); margin-bottom:5px; }
.alta-tier__tagline { font-family:var(--serif); font-style:italic; font-size:13px; color:rgba(201,169,110,.55); margin-bottom:32px; }
.alta-tier__price { font-family:var(--serif); font-size:40px; font-weight:300; color:var(--gold); line-height:1; }
.alta-tier__price sup { font-size:16px; vertical-align:super; }
.alta-tier__note { font-size:10px; color:rgba(201,169,110,.38); margin-bottom:32px; margin-top:2px; }
.alta-tier__perks { list-style:none; margin-bottom:36px; }
.alta-tier__perks li { font-size:12px; color:var(--muted); line-height:1.6; padding:9px 0; border-bottom:.5px solid rgba(201,169,110,.07); display:flex; gap:12px; }
.alta-tier__perks li::before { content:'—'; color:var(--gold); font-size:10px; flex-shrink:0; margin-top:1px; }
.alta-btn-tier { font-family:var(--sans); font-size:9px; letter-spacing:.22em; text-transform:uppercase; padding:14px 24px; width:100%; transition:all .25s; }
.alta-btn-tier-outline { background:transparent; color:var(--cream); border:.5px solid rgba(244,238,226,.18); }
.alta-btn-tier-outline:hover { border-color:var(--gold); color:var(--gold); }
.alta-btn-tier-gold { background:var(--gold); color:var(--ink); border:none; }
.alta-btn-tier-gold:hover { background:var(--gold2); }
.alta-btn-tier-invite { background:transparent; color:var(--gold); border:.5px solid rgba(201,169,110,.38); }
.alta-btn-tier-invite:hover { background:rgba(201,169,110,.06); }

/* ── ORIGIN ── */
.alta-origin { position:relative; }
.alta-origin__hero { height:68vh; min-height:480px; position:relative; display:flex; align-items:flex-end; padding:0 52px 68px; }
.alta-origin__bg-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 30%; }
.alta-origin__bg-svg { position:absolute; inset:0; }
.alta-origin__bg-svg svg { width:100%; height:100%; display:block; }
.alta-origin__ov { position:absolute; inset:0; background:linear-gradient(to top,rgba(12,11,9,.96) 0%,rgba(12,11,9,.38) 55%,rgba(12,11,9,.08) 100%); }
.alta-origin__content { position:relative; z-index:2; max-width:600px; }
.alta-origin__title { font-family:var(--serif); font-size:clamp(42px,4vw,66px); font-weight:300; line-height:1.1; color:var(--cream); margin-bottom:14px; }
.alta-origin__title em { font-style:italic; color:var(--gold2); }
.alta-origin__sub { font-size:14px; color:var(--muted); line-height:1.85; max-width:420px; }
.alta-origin__stats { display:grid; grid-template-columns:repeat(4,1fr); border-top:.5px solid rgba(201,169,110,.1); }
.alta-os { padding:38px 34px; border-right:.5px solid rgba(201,169,110,.1); background:var(--ink2); }
.alta-os:last-child { border-right:none; }
.alta-os__num { font-family:var(--serif); font-size:42px; font-weight:300; color:var(--cream); line-height:1; margin-bottom:5px; }
.alta-os__label { font-size:9px; letter-spacing:.18em; text-transform:uppercase; color:rgba(201,169,110,.42); }
.alta-origin__stories { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:rgba(201,169,110,.08); }
.alta-story { background:var(--ink2); padding:54px 50px; position:relative; }
.alta-story__num { font-family:var(--serif); font-size:76px; font-weight:300; color:rgba(201,169,110,.05); position:absolute; top:36px; right:44px; line-height:1; }
.alta-story__label { font-size:9px; letter-spacing:.26em; text-transform:uppercase; color:var(--gold); margin-bottom:18px; }
.alta-story__title { font-family:var(--serif); font-size:28px; font-weight:300; color:var(--cream); margin-bottom:14px; line-height:1.25; }
.alta-story__text { font-size:13px; color:var(--muted); line-height:1.9; }
.alta-story__img { margin-top:30px; height:210px; overflow:hidden; }
.alta-story__img img,.alta-story__img--svg { width:100%; height:100%; object-fit:cover; }

/* ── WAITLIST ── */
.alta-waitlist { padding:140px 52px; background:var(--olive); position:relative; overflow:hidden; }
.alta-waitlist::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 80% 60% at 20% 40%,rgba(201,169,110,.07) 0%,transparent 60%),radial-gradient(ellipse 50% 80% at 80% 60%,rgba(12,11,9,.5) 0%,transparent 70%); pointer-events:none; }
.alta-waitlist__inner { max-width:580px; margin:0 auto; text-align:center; position:relative; z-index:2; }
.alta-waitlist .alta-eyebrow { justify-content:center; }
.alta-waitlist .alta-eyebrow::before { display:none; }
.alta-waitlist .alta-eyebrow::after { content:''; width:32px; height:.5px; background:var(--gold); }
.alta-waitlist__title { font-family:var(--serif); font-size:clamp(38px,3.5vw,58px); font-weight:300; line-height:1.1; color:var(--cream); margin-bottom:14px; }
.alta-waitlist__title em { font-style:italic; color:var(--gold2); }
.alta-waitlist__sub { font-size:14px; color:rgba(198,204,170,.62); line-height:1.85; margin-bottom:48px; }

/* ── FORM ── */
.alta-wl-form { display:flex; flex-direction:column; gap:14px; }
.alta-form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.alta-form-field { position:relative; }
.alta-form-field input,.alta-form-field select {
  width:100%; padding:17px 20px; background:rgba(12,11,9,.45);
  border:.5px solid rgba(198,204,170,.18); color:var(--cream);
  font-family:var(--sans); font-size:13px; font-weight:300;
  outline:none; appearance:none; transition:border-color .25s;
}
.alta-form-field input::placeholder { color:rgba(198,204,170,.32); }
.alta-form-field input:focus,.alta-form-field select:focus { border-color:rgba(201,169,110,.5); }
.alta-form-field select {
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='rgba(198,204,170,.38)'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 18px center;
}
.alta-form-field select option { background:var(--olive); }
.alta-form-error { display:none; font-size:11px; color:#e88; margin-top:4px; }
.alta-form-error--global { text-align:center; margin-top:10px; }
.alta-btn-submit {
  font-family:var(--sans); font-size:10px; letter-spacing:.24em; text-transform:uppercase;
  padding:19px; background:var(--gold); color:var(--ink); border:none; font-weight:500;
  transition:background .25s, transform .15s; margin-top:6px;
}
.alta-btn-submit:hover:not(:disabled) { background:var(--gold2); transform:translateY(-1px); }
.alta-btn-submit:disabled { opacity:.6; }
.alta-form-note { font-size:10px; color:rgba(198,204,170,.28); margin-top:14px; letter-spacing:.05em; }

/* ── SUCCESS STATE ── */
.alta-success { text-align:center; padding:16px 0; animation:fadeUp .7s var(--ease) both; }
.alta-success__star { font-family:var(--serif); font-size:52px; color:var(--gold); margin-bottom:16px; line-height:1; }
.alta-success__title { font-family:var(--serif); font-size:32px; font-weight:300; color:var(--cream); margin-bottom:12px; }
.alta-success__msg { font-size:13px; color:rgba(198,204,170,.6); line-height:1.85; margin-bottom:36px; max-width:420px; margin-left:auto; margin-right:auto; }
.alta-btn-quiz-start {
  font-family:var(--sans); font-size:10px; letter-spacing:.22em; text-transform:uppercase;
  padding:16px 42px; background:transparent; color:var(--gold);
  border:.5px solid rgba(201,169,110,.45); transition:all .25s; display:inline-block;
}
.alta-btn-quiz-start:hover { background:rgba(201,169,110,.08); border-color:var(--gold); }
.alta-skip-link { display:block; margin-top:16px; font-size:10px; color:rgba(198,204,170,.3); letter-spacing:.1em; cursor:none; transition:color .2s; }
.alta-skip-link:hover { color:rgba(198,204,170,.6); }

/* ── QUIZ OVERLAY ── */
.alta-quiz-overlay {
  position:fixed; inset:0; z-index:800; background:var(--ink);
  overflow-y:auto; flex-direction:column;
}
.alta-quiz-nav {
  display:flex; justify-content:space-between; align-items:center;
  padding:22px 52px; border-bottom:.5px solid rgba(201,169,110,.1); flex-shrink:0; gap:24px;
}
.alta-quiz-progress-bar { flex:1; height:.5px; background:rgba(201,169,110,.12); position:relative; }
.alta-quiz-progress-fill { height:100%; background:var(--gold); transition:width .6s var(--ease); }
.alta-quiz-step-label { font-size:9px; letter-spacing:.22em; text-transform:uppercase; color:rgba(201,169,110,.5); white-space:nowrap; }
.alta-quiz-close { background:none; border:none; color:rgba(244,238,226,.4); font-size:10px; letter-spacing:.18em; text-transform:uppercase; transition:color .2s; }
.alta-quiz-close:hover { color:var(--cream); }
.alta-quiz-body { flex:1; display:flex; align-items:center; justify-content:center; padding:60px 52px; }
.alta-quiz-inner { width:100%; max-width:680px; transition:opacity .45s ease, transform .45s ease; }
.alta-quiz-q-num { font-size:9px; letter-spacing:.3em; text-transform:uppercase; color:var(--gold); margin-bottom:18px; }
.alta-quiz-q { font-family:var(--serif); font-size:clamp(32px,3.5vw,50px); font-weight:300; color:var(--cream); line-height:1.2; margin-bottom:10px; }
.alta-quiz-q-sub { font-size:13px; color:var(--muted); margin-bottom:44px; line-height:1.8; }
.alta-quiz-opts { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.alta-quiz-opt {
  padding:22px 24px; border:.5px solid rgba(244,238,226,.13);
  text-align:left; background:transparent; color:var(--cream); position:relative; overflow:hidden;
  transition:all .25s;
}
.alta-quiz-opt:hover { border-color:rgba(201,169,110,.4); background:rgba(201,169,110,.04); }
.alta-quiz-opt.selected { border-color:var(--gold); background:rgba(201,169,110,.07); }
.alta-quiz-opt.selected::after { content:''; position:absolute; top:0; left:0; width:2px; height:100%; background:var(--gold); }
.alta-opt-title { font-family:var(--serif); font-size:18px; font-weight:300; color:var(--cream); margin-bottom:4px; text-align:left; }
.alta-opt-desc { font-size:11px; color:var(--muted); line-height:1.65; text-align:left; }
.alta-quiz-foot { display:flex; justify-content:space-between; align-items:center; margin-top:44px; padding-top:26px; border-top:.5px solid rgba(201,169,110,.1); }
.alta-quiz-back-btn { font-family:var(--sans); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:rgba(201,169,110,.3); background:none; border:none; transition:color .2s; }
.alta-quiz-back-btn:hover { color:var(--gold); }
.alta-quiz-next-btn { font-family:var(--sans); font-size:10px; letter-spacing:.22em; text-transform:uppercase; padding:14px 36px; background:var(--gold); color:var(--ink); border:none; font-weight:500; transition:all .25s; opacity:.35; pointer-events:none; }
.alta-quiz-next-btn.active { opacity:1; pointer-events:all; }
.alta-quiz-next-btn.active:hover { background:var(--gold2); transform:translateY(-1px); }

/* ── RESULT OVERLAY ── */
.alta-result-overlay { position:fixed; inset:0; z-index:900; background:var(--ink); overflow-y:auto; flex-direction:column; }
.alta-result-nav { display:flex; justify-content:space-between; align-items:center; padding:22px 52px; border-bottom:.5px solid rgba(201,169,110,.1); flex-shrink:0; }
.alta-result-close { background:none; border:none; color:rgba(244,238,226,.35); font-size:10px; letter-spacing:.18em; text-transform:uppercase; transition:color .2s; }
.alta-result-close:hover { color:var(--cream); }
.alta-result-body { flex:1; display:grid; grid-template-columns:1fr 1.1fr; min-height:0; }
.alta-result-left { padding:72px 52px; display:flex; flex-direction:column; justify-content:center; border-right:.5px solid rgba(201,169,110,.1); }
.alta-result-right { padding:60px 48px; display:flex; flex-direction:column; gap:20px; background:var(--ink2); overflow-y:auto; }
.alta-result-eyebrow { font-size:9px; letter-spacing:.28em; text-transform:uppercase; color:var(--gold); margin-bottom:20px; display:flex; align-items:center; gap:14px; }
.alta-result-eyebrow::before { content:''; width:28px; height:.5px; background:var(--gold); }
.alta-result-archetype { font-family:var(--serif); font-size:clamp(44px,5vw,72px); font-weight:300; color:var(--cream); line-height:1.02; margin-bottom:16px; }
.alta-result-archetype em { font-style:italic; color:var(--gold2); }
.alta-result-tagline { font-family:var(--serif); font-style:italic; font-size:17px; color:rgba(201,169,110,.7); margin-bottom:32px; }
.alta-result-desc { font-size:14px; color:var(--muted); line-height:1.95; margin-bottom:36px; }
.alta-result-reserved { padding:24px 0; border-top:.5px solid rgba(201,169,110,.1); }
.alta-reserved-label { font-size:9px; letter-spacing:.22em; text-transform:uppercase; color:rgba(201,169,110,.5); margin-bottom:8px; }
.alta-reserved-msg { font-family:var(--serif); font-size:16px; color:var(--cream); line-height:1.6; margin-bottom:6px; }
.alta-reserved-sub { font-size:12px; color:var(--muted); line-height:1.7; }
.alta-result-cta { display:flex; gap:12px; margin-top:32px; flex-wrap:wrap; }
.alta-profile-card { background:linear-gradient(135deg,rgba(59,63,44,.8) 0%,rgba(30,27,22,.9) 100%); border:.5px solid rgba(201,169,110,.15); padding:32px; position:relative; overflow:hidden; }
.alta-profile-card__bg { position:absolute; inset:0; font-family:var(--serif); font-size:150px; font-weight:300; color:rgba(201,169,110,.04); line-height:1; display:flex; align-items:center; justify-content:flex-end; padding-right:20px; pointer-events:none; }
.alta-profile-card__content { position:relative; z-index:1; }
.alta-profile-card__label { font-size:9px; letter-spacing:.2em; text-transform:uppercase; color:rgba(201,169,110,.45); margin-bottom:10px; }
.alta-profile-card__name { font-family:var(--serif); font-size:22px; color:var(--cream); margin-bottom:8px; }
.alta-profile-card__region { font-size:11px; color:var(--muted); margin-bottom:14px; line-height:1.6; }
.alta-profile-card__user { font-size:10px; color:rgba(201,169,110,.4); border-top:.5px solid rgba(201,169,110,.12); padding-top:12px; }
.alta-result-card,.alta-result-tier { background:rgba(201,169,110,.05); border:.5px solid rgba(201,169,110,.15); padding:24px; }
.alta-rc-label { font-size:9px; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); margin-bottom:10px; }
.alta-rc-value { font-family:var(--serif); font-size:15px; color:var(--cream); line-height:1.6; }
.alta-result-tier__name { font-family:var(--serif); font-size:24px; color:var(--cream); margin-bottom:4px; }
.alta-result-tier__price { font-family:var(--serif); font-size:20px; color:var(--gold2); margin-bottom:8px; }
.alta-result-tier__note { font-size:11px; color:var(--muted); line-height:1.7; }

/* ── JOURNAL ── */
.alta-journal { padding:80px 52px; background:var(--cream2); display:grid; grid-template-columns:260px 1fr; gap:56px; align-items:start; }
.alta-journal-left .alta-eyebrow { color:var(--terra); }
.alta-journal-left .alta-eyebrow::before { background:var(--terra); }
.alta-j-title { font-family:var(--serif); font-size:34px; font-weight:300; color:var(--ink); line-height:1.2; }
.alta-j-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.alta-j-card { cursor:none; }
.alta-j-img { height:175px; overflow:hidden; margin-bottom:16px; }
.alta-j-img img,.alta-j-img-bg { width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease); }
.alta-j-card:hover .alta-j-img img,
.alta-j-card:hover .alta-j-img-bg { transform:scale(1.04); }
.alta-j-tag { font-size:8px; letter-spacing:.2em; text-transform:uppercase; color:var(--terra); margin-bottom:7px; }
.alta-j-h { font-family:var(--serif); font-size:18px; font-weight:400; color:var(--ink); line-height:1.3; margin-bottom:6px; }
.alta-j-x { font-size:11px; color:rgba(12,11,9,.48); line-height:1.7; }

/* ── SINGLE JOURNAL ── */
.alta-single { max-width:760px; margin:0 auto; padding:120px 40px 80px; }
.alta-single__meta { font-size:9px; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); margin-bottom:28px; }
.alta-single__title { font-family:var(--serif); font-size:clamp(36px,4vw,60px); font-weight:300; color:var(--cream); line-height:1.1; margin-bottom:32px; }
.alta-single__featured { margin-bottom:48px; height:480px; object-fit:cover; width:100%; }
.alta-single__content { font-size:16px; color:var(--muted); line-height:1.9; }
.alta-single__content h2 { font-family:var(--serif); font-size:28px; font-weight:300; color:var(--cream); margin:40px 0 16px; }
.alta-single__content p { margin-bottom:20px; }

/* ── SINGLE COFFEE ── */
.alta-coffee-single { display:grid; grid-template-columns:1fr 1fr; min-height:100vh; padding-top:80px; }
.alta-coffee-single__img { position:sticky; top:80px; height:calc(100vh - 80px); overflow:hidden; }
.alta-coffee-single__img img,.alta-coffee-single__img svg { width:100%; height:100%; object-fit:cover; }
.alta-coffee-single__body { padding:80px 60px; }
.alta-coffee-single__region { font-size:9px; letter-spacing:.26em; text-transform:uppercase; color:var(--gold); margin-bottom:16px; }
.alta-coffee-single__title { font-family:var(--serif); font-size:clamp(40px,4vw,60px); font-weight:300; color:var(--cream); line-height:1.08; margin-bottom:32px; }
.alta-coffee-single__price { font-family:var(--serif); font-size:36px; color:var(--cream); margin-bottom:32px; }
.alta-coffee-single__notes { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:32px; }
.alta-coffee-single__section { margin-bottom:28px; }
.alta-coffee-single__label { font-size:9px; letter-spacing:.22em; text-transform:uppercase; color:rgba(201,169,110,.4); margin-bottom:10px; }
.alta-coffee-single__text { font-size:13px; color:var(--muted); line-height:1.9; }

/* ── FOOTER ── */
footer.alta-footer { background:var(--ink); border-top:.5px solid rgba(201,169,110,.08); }
.alta-foot-top { padding:68px 52px 48px; display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:36px; }
.alta-foot-brand-text { font-size:12px; color:var(--muted); line-height:1.8; max-width:250px; margin-top:16px; }
.alta-foot-col-title { font-size:9px; letter-spacing:.22em; text-transform:uppercase; color:rgba(201,169,110,.45); margin-bottom:18px; }
.alta-foot-links { list-style:none; }
.alta-foot-links li { margin-bottom:10px; }
.alta-foot-links a { font-size:12px; color:rgba(244,238,226,.38); transition:color .2s; }
.alta-foot-links a:hover { color:var(--cream); }
.alta-foot-bottom { padding:22px 52px; border-top:.5px solid rgba(201,169,110,.07); display:flex; justify-content:space-between; align-items:center; }
.alta-foot-copy { font-size:10px; color:rgba(244,238,226,.18); letter-spacing:.1em; }
.alta-foot-soc { display:flex; gap:22px; }
.alta-foot-soc a { font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:rgba(244,238,226,.28); transition:color .2s; }
.alta-foot-soc a:hover { color:var(--gold); }

/* ── RESPONSIVE ── */
@media (max-width:1024px) {
  .alta-hero { grid-template-columns:1fr; }
  .alta-hero__right { display:none; }
  .alta-hero__left { padding:130px 36px 80px; }
  .alta-brand { grid-template-columns:1fr; padding:80px 36px; }
  .alta-brand__visual { height:360px; }
  .alta-brand__img2 { display:none; }
  .alta-cards { grid-template-columns:1fr 1fr; }
  .alta-collection { padding:80px 36px; }
  .alta-tiers { grid-template-columns:1fr; }
  .alta-membership { padding:80px 36px; }
  .alta-origin__stats { grid-template-columns:1fr 1fr; }
  .alta-origin__stories { grid-template-columns:1fr; }
  .alta-foot-top { grid-template-columns:1fr 1fr; }
  .alta-journal { grid-template-columns:1fr; gap:32px; }
  .alta-j-cards { grid-template-columns:1fr 1fr; }
  nav.alta-nav { padding:20px 36px; }
  nav.alta-nav--scrolled { padding:14px 36px; }
  .alta-nav__links,.alta-nav-cta { display:none; }
  .alta-nav-ham { display:flex; }
  .alta-result-body { grid-template-columns:1fr; }
  .alta-result-right { padding:40px 36px; }
  .alta-result-left { padding:52px 36px; }
  .alta-quiz-opts { grid-template-columns:1fr; }
  .alta-quiz-body { padding:44px 36px; }
  .alta-quiz-nav { padding:18px 36px; }
  .alta-coffee-single { grid-template-columns:1fr; }
  .alta-coffee-single__img { position:relative; height:50vh; }
}
@media (max-width:640px) {
  .alta-cards { grid-template-columns:1fr; }
  .alta-alta-form-row,.alta-form-row { grid-template-columns:1fr; }
  .alta-j-cards { grid-template-columns:1fr; }
  .alta-foot-top { grid-template-columns:1fr; padding:48px 24px 36px; }
  .alta-foot-bottom { flex-direction:column; gap:14px; text-align:center; padding:20px 24px; }
  .alta-pillars { grid-template-columns:1fr; }
  .alta-waitlist { padding:100px 24px; }
  .alta-collection,.alta-brand,.alta-membership { padding:80px 24px; }
  .alta-origin__hero { padding:0 24px 48px; }
  .alta-story { padding:40px 26px; }
  .alta-result-cta { flex-direction:column; }
}
