/* ============================================================
   James Goodyear · New Construction Specialist
   Editorial architecture magazine aesthetic —
   warm ivory, deep graphite, muted gold.
============================================================ */

:root{
  --ivory: #f5f1ea;
  --ivory-2: #ece6da;
  --sand:  #d9cfbd;
  --ink:   #16181b;
  --graphite: #2a2d31;
  --mute:  #6b6f75;
  --rule:  rgba(22,24,27,.12);
  --gold:  #b8975a;
  --gold-hi:#d4b07c;

  --serif: "Cormorant Garamond", Georgia, serif;
  --sans:  "Inter", system-ui, -apple-system, sans-serif;

  --maxw: 1240px;
  --gutter: clamp(20px, 4vw, 56px);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family: var(--sans);
  color: var(--ink);
  background: var(--ivory);
  -webkit-font-smoothing: antialiased;
  line-height: 1.6;
  overflow-x: hidden;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}

::selection{ background: var(--gold); color: #111 }

/* ============ NAV ============ */
.nav{
  position: fixed; top:0; left:0; right:0; z-index: 50;
  display:flex; align-items:center; justify-content:space-between;
  padding: 18px var(--gutter);
  color: var(--ivory);
  transition: background .35s ease, color .35s ease, backdrop-filter .35s ease, border-color .35s ease;
  border-bottom: 1px solid transparent;
}
.nav.is-stuck{
  background: rgba(245,241,234,.92);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: var(--ink);
  border-bottom-color: var(--rule);
}
.nav__brand{display:flex;align-items:center;gap:10px;letter-spacing:.02em}
.monogram{width:38px;height:26px;color:currentColor}
.monogram--gold{color:var(--gold)}
.nav__name{font-family:var(--serif); font-style:italic; font-size:20px; letter-spacing:.01em}
.nav__links{display:flex;align-items:center;gap:28px;font-size:13px;letter-spacing:.16em;text-transform:uppercase}
.nav__links a{opacity:.85;transition:opacity .2s}
.nav__links a:hover{opacity:1}
.nav__cta{
  padding:9px 16px; border:1px solid currentColor; border-radius:999px;
  opacity:1 !important;
}
.nav.is-stuck .nav__cta{border-color:var(--ink)}
.nav__phone{
  display:inline-flex; align-items:center; gap:6px;
  font-size:12px; letter-spacing:.08em; text-transform:none;
  opacity:.85 !important;
  font-variant-numeric: tabular-nums;
}
.nav__phone:hover{ opacity:1 !important; color: var(--gold-hi) }
.nav__phone svg{ opacity: .8 }
@media (max-width: 900px){
  .nav__links{ gap: 18px }
  .nav__phone span{ display:none }
  .nav__phone{ padding: 6px; }
}
@media (max-width: 720px){
  .nav__links a:not(.nav__cta):not(.nav__phone){display:none}
  .nav__name{display:none}
}

/* ============ FULL-BLEED SCENES ============ */
.scene{
  position: relative;
  min-height: 100vh;
  min-height: 100svh;
  width: 100%;
  overflow: hidden;
  display: flex;
}
.hero{ min-height: 100vh; min-height: 100svh }
.scene--mid{ min-height: 80vh }
.scene--contact{ min-height: 100vh }

.scene__bg{
  position:absolute; inset: -10% 0; /* extra for parallax travel */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  will-change: transform;
  transform: translate3d(0, var(--py, 0px), 0) scale(1.05);
}
.scene__scrim{ position:absolute; inset:0; pointer-events:none }
.scene__scrim--hero{
  background:
    linear-gradient(180deg, rgba(10,12,14,.55) 0%, rgba(10,12,14,.25) 35%, rgba(10,12,14,.78) 100%);
}
.scene__scrim--bottom{
  background: linear-gradient(180deg, rgba(10,12,14,0) 30%, rgba(10,12,14,.85) 100%);
}
.scene__scrim--center{
  background: radial-gradient(ellipse at center, rgba(10,12,14,.25) 0%, rgba(10,12,14,.85) 80%);
}

.scene__content{
  position: relative; z-index:2;
  width:100%; max-width: var(--maxw);
  margin:0 auto; padding: 140px var(--gutter) 100px;
  color: var(--ivory);
}
.scene__content--center{ text-align:center; align-self:center; margin-top:auto; margin-bottom:auto; padding-top: 180px }
.scene__content--bottom-left{ align-self:end; text-align:left }

/* Text readability plate — soft semi-opaque backing behind overlay copy */
.scene__content > .eyebrow,
.scene__content > h1,
.scene__content > h2,
.scene__content > .display,
.scene__content > .lede,
.scene__content > p,
.scene__content .pull p,
.scene__content .pull footer,
.scene__content .pull__mark{
  position: relative;
  display: inline-block;
  isolation: isolate;
}
/* Eyebrow must always sit on its own line above the heading */
.scene__content > .eyebrow{ display: table; z-index: 3 }
.scene__content--center > .eyebrow{ margin-left:auto; margin-right:auto }
.scene__content > .eyebrow::before,
.scene__content > h1::before,
.scene__content > h2::before,
.scene__content > .display::before,
.scene__content > .lede::before,
.scene__content > p::before,
.scene__content .pull p::before,
.scene__content .pull footer::before{
  content:"";
  position:absolute;
  inset: -0.35em -0.7em;
  background: rgba(14,16,20,.38);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border-radius: 4px;
  z-index: -1;
}
.scene__content > .lede::before{ inset: -0.6em -1em }
.scene__content > .display::before{ inset: 0.05em -0.4em 0.05em -0.4em }
.scene__content > h2::before{ inset: 0.05em -0.4em 0.05em -0.4em }
.scene__content .pull p::before{ inset: -0.4em -0.9em }
/* Block-level wrappers need explicit display for the ::before to sit right */
.scene__content > h1, .scene__content > h2, .scene__content > .display{ display:inline-block; max-width: 100% }
.scene__content--center > h1, .scene__content--center > h2, .scene__content--center > .display{ display:block }
.scene__content--center > h1::before, .scene__content--center > h2::before, .scene__content--center > .display::before{ inset: 0.05em -0.35em }

/* ============ TYPOGRAPHY ============ */
.eyebrow{
  font-family: var(--sans);
  text-transform:uppercase;
  letter-spacing:.28em;
  font-size:11px;
  font-weight:500;
  color: var(--mute);
  margin-bottom: 22px;
}
.eyebrow--light{ color: rgba(245,241,234,.75) }
.eyebrow--gold{ color: var(--gold-hi) }

.display{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(46px, 8vw, 112px);
  line-height: .98;
  letter-spacing: -.015em;
  margin-bottom: 28px;
}
.display em{ font-style:italic; font-weight:300; color: var(--gold-hi) }
.display__line{ display:block }
.display--md{ font-size: clamp(38px, 5.5vw, 72px) }
.display--lg{ font-size: clamp(52px, 9vw, 128px) }

.h-serif{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(32px, 4.5vw, 54px);
  line-height: 1.08;
  letter-spacing: -.01em;
  color: var(--ink);
  margin-bottom: 28px;
  max-width: 22ch;
}
.h-serif--center{ margin-left:auto; margin-right:auto; text-align:center; max-width: 26ch }
.h-serif em{ font-style: italic; color: var(--gold) }

.lede{
  font-size: clamp(16px, 1.4vw, 20px);
  max-width: 58ch;
  margin: 0 auto 36px;
  color: rgba(245,241,234,.85);
  font-weight: 300;
}
.scene__content--bottom-left .lede{ margin-left:0 }

/* ============ BUTTONS ============ */
.btn{
  display:inline-block;
  padding: 15px 28px;
  font-size: 13px;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 500;
  border-radius: 2px;
  transition: transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease;
  border: 1px solid transparent;
}
.btn:hover{ transform: translateY(-2px) }
.btn--gold{
  background: var(--gold);
  color: #131313;
  border-color: var(--gold);
}
.btn--gold:hover{ background: var(--gold-hi); border-color: var(--gold-hi) }
.btn--ghost{
  background: transparent;
  color: var(--ivory);
  border-color: rgba(245,241,234,.55);
}
.btn--ghost:hover{ background: rgba(245,241,234,.1); border-color: var(--ivory) }
.btn--lg{ padding: 19px 38px; font-size: 13px }

.hero__cta{display:flex; gap:14px; justify-content:center; flex-wrap:wrap}

.scroll-hint{
  position:absolute; bottom: 32px; left: 50%; transform: translateX(-50%);
  color: rgba(245,241,234,.7);
  font-size:11px; letter-spacing:.28em; text-transform:uppercase;
  display:flex; flex-direction:column; align-items:center; gap:10px;
  z-index:2;
}
.scroll-hint span{
  width:1px; height:42px;
  background: linear-gradient(to bottom, rgba(245,241,234,.7), transparent);
  animation: pulse 2.2s ease-in-out infinite;
}
@keyframes pulse{ 0%,100%{opacity:.3} 50%{opacity:1} }

/* ============ BANDS (content over ivory) ============ */
.band{
  position: relative;
  padding: clamp(80px, 12vh, 140px) 0;
}
.band--light{ background: var(--ivory) }
.band--dim{ background: var(--ivory-2) }
.band__inner{
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 var(--gutter);
}

.split{
  display:grid;
  grid-template-columns: 220px 1fr;
  gap: clamp(30px, 6vw, 80px);
  align-items:start;
}
.split__body p{
  font-size: clamp(16px, 1.2vw, 18px);
  color: var(--graphite);
  margin-bottom: 20px;
  max-width: 62ch;
}
.split__body p em{ font-style: italic; color: var(--ink); font-weight: 500 }
@media (max-width:780px){
  .split{ grid-template-columns: 1fr }
}

/* ============ PORTFOLIO CARDS ============ */
.grid{ display:grid; gap: 30px }
.grid--3{ grid-template-columns: repeat(3, 1fr) }
.grid--4{ grid-template-columns: repeat(4, 1fr) }
@media (max-width: 1200px){ .grid--4{ grid-template-columns: repeat(3, 1fr) } }
@media (max-width: 960px){ .grid--3{ grid-template-columns: 1fr 1fr } .grid--4{ grid-template-columns: 1fr 1fr } }
@media (max-width: 640px){ .grid--3{ grid-template-columns: 1fr } .grid--4{ grid-template-columns: 1fr } }

.card{
  background: var(--ivory);
  border: 1px solid var(--rule);
  transition: transform .4s ease, box-shadow .4s ease;
  overflow: hidden;
}
.card:hover{
  transform: translateY(-4px);
  box-shadow: 0 24px 60px -30px rgba(0,0,0,.2);
}
.card__img{
  aspect-ratio: 4/3;
  background-size: cover;
  background-position: center;
  transition: transform .8s ease;
}
.card:hover .card__img{ transform: scale(1.04) }
.card__meta{ padding: 24px 26px 28px }
.card__tag{
  display:inline-block;
  font-size: 10px; letter-spacing:.24em; text-transform:uppercase;
  color: var(--gold);
  margin-bottom: 10px;
  font-weight: 500;
}
.card h3{
  font-family: var(--serif);
  font-weight: 500;
  font-size: 28px;
  letter-spacing: -.01em;
  margin-bottom: 6px;
}
.card__sub{ font-size:13px; color: var(--mute); margin-bottom: 14px; letter-spacing:.02em }
.card__note{
  font-size: 13px;
  color: var(--graphite);
  border-top: 1px solid var(--rule);
  padding-top: 14px;
  font-style: italic;
}

/* ============ PULL QUOTE ============ */
.pull{
  max-width: 900px; margin: 0 auto;
  text-align:center;
  color: var(--ivory);
  padding: 0 12px;
}
.pull__mark{
  display:block;
  font-family: var(--serif);
  font-style: italic;
  font-size: clamp(80px, 10vw, 140px);
  line-height: .6;
  color: var(--gold-hi);
  margin-bottom: 12px;
}
.pull p{
  font-family: var(--serif);
  font-weight: 300;
  font-style: italic;
  font-size: clamp(22px, 2.6vw, 38px);
  line-height: 1.3;
  letter-spacing: -.005em;
  margin-bottom: 26px;
}
.pull footer{
  font-size: 12px; letter-spacing: .22em; text-transform: uppercase;
  color: rgba(245,241,234,.7);
}

/* ============ INCENTIVE (HERO CTA) ============ */
.incentive{
  position: relative; overflow:hidden;
  min-height: 100vh; min-height: 100svh;
  display:flex; align-items:center; justify-content:center;
  color: var(--ivory);
  text-align:center;
}
.incentive__bg{
  position:absolute; inset:-10% 0;
  background-size: cover; background-position: center;
  will-change: transform;
  transform: translate3d(0, var(--py, 0px), 0) scale(1.05);
}
.incentive__scrim{
  position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(10,10,12,.82), rgba(10,10,12,.62) 40%, rgba(10,10,12,.92));
}
.incentive__inner{
  position:relative; z-index:2;
  max-width: 1080px;
  padding: 140px var(--gutter);
  width:100%;
}
/* Incentive overlay text plates */
.incentive__inner > .eyebrow,
.incentive__inner > .display,
.incentive__inner > .incentive__foot{
  position:relative;
  display:inline-block;
  isolation: isolate;
}
.incentive__inner > .eyebrow{ display:table; margin-left:auto; margin-right:auto }
.incentive__inner > .incentive__foot{ display:table; margin-left:auto; margin-right:auto }
.incentive__inner > .eyebrow::before,
.incentive__inner > .display::before,
.incentive__inner > .incentive__foot::before{
  content:"";
  position:absolute;
  inset: -0.35em -0.7em;
  background: rgba(14,16,20,.35);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border-radius: 4px;
  z-index:-1;
}
.incentive__inner > .display::before{ inset: 0.05em -0.35em }
.incentive__list{
  list-style:none;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin: 44px auto 44px;
  max-width: 920px;
}
.incentive__list li{
  border: 1px solid rgba(212,176,124,.28);
  padding: 28px 20px;
  backdrop-filter: blur(2px);
  background: rgba(10,10,12,.18);
}
.incentive__num{
  display:block;
  font-family: var(--serif);
  font-style: italic;
  font-size: clamp(40px, 5vw, 64px);
  color: var(--gold-hi);
  line-height: 1;
  margin-bottom: 12px;
}
.incentive__label{
  display:block;
  font-size: 13px;
  line-height: 1.5;
  color: rgba(245,241,234,.85);
  letter-spacing: .01em;
}
@media (max-width: 760px){
  .incentive__list{ grid-template-columns: 1fr; max-width: 420px }
}
.incentive__foot{
  margin-top: 22px;
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(245,241,234,.55);
}

/* ============ PROCESS ============ */
.steps{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2px;
  margin-top: 60px;
  background: var(--rule);
  border: 1px solid var(--rule);
}
.step{
  background: var(--ivory);
  padding: 40px 32px 44px;
}
.step__num{
  font-family: var(--serif);
  font-style: italic;
  font-size: 32px;
  color: var(--gold);
  margin-bottom: 18px;
  border-bottom: 1px solid var(--rule);
  padding-bottom: 16px;
}
.step h3{
  font-family: var(--serif);
  font-weight: 500;
  font-size: 24px;
  margin-bottom: 10px;
  letter-spacing: -.005em;
}
.step p{ font-size: 14px; color: var(--graphite); line-height: 1.6 }
@media (max-width: 900px){ .steps{ grid-template-columns: 1fr 1fr } }
@media (max-width: 520px){ .steps{ grid-template-columns: 1fr } }

/* ============ FORM ============ */
.form{
  max-width: 720px;
  margin: 40px auto 0;
  text-align:left;
  background: rgba(10,10,12,.52);
  backdrop-filter: blur(10px);
  padding: 40px;
  border: 1px solid rgba(212,176,124,.25);
}
@media (max-width: 620px){ .form{ padding: 28px 22px } }
.form__row{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-bottom: 4px;
}
@media (max-width: 620px){ .form__row{ grid-template-columns: 1fr; gap: 0 } }
.form label{ display:block; margin-bottom: 18px }
.form label:not(.check) > span{
  display:block;
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(245,241,234,.7);
  margin-bottom: 6px;
}
.check > span{
  font-size: 14px;
  letter-spacing: 0;
  text-transform: none;
  color: var(--ivory);
  font-family: var(--sans);
  margin: 0;
}
.form input, .form select, .form textarea{
  width:100%;
  background: transparent;
  border: 0; border-bottom: 1px solid rgba(245,241,234,.35);
  padding: 10px 2px;
  color: var(--ivory);
  font-family: var(--sans);
  font-size: 15px;
  outline: none;
  transition: border-color .2s;
}
.form textarea{ resize: vertical; min-height: 80px; font-family: var(--sans) }
.form input:focus, .form select:focus, .form textarea:focus{ border-color: var(--gold-hi) }
.form select{ appearance:none; background-image: linear-gradient(45deg, transparent 50%, var(--gold-hi) 50%, var(--gold-hi) 60%, transparent 60%); background-position: right 6px center; background-repeat: no-repeat; background-size: 10px 10px; padding-right: 22px }
.form select option{ background: #16181b; color: var(--ivory) }

/* Honeypot — hidden from humans */
.form__hp{ position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden }

/* Multi-step */
.form--multi{ position: relative }
.form__step{ display: none; animation: stepIn .35s ease both }
.form__step.is-active{ display: block }
@keyframes stepIn{
  from { opacity: 0; transform: translateY(8px) }
  to   { opacity: 1; transform: translateY(0) }
}
.form__step-title{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 28px;
  line-height: 1.15;
  letter-spacing: -.01em;
  margin: 0 0 6px;
  color: var(--ivory);
}
.form__step-sub{
  font-size: 14px;
  color: rgba(245,241,234,.72);
  margin: 0 0 22px;
  line-height: 1.55;
}
.form__nav{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid rgba(245,241,234,.1);
}
.form__nav > span{ flex: 0 0 auto }

/* Progress bar */
.form__progress{
  margin: 0 0 28px;
}
.form__progress-bar{
  position: relative;
  height: 2px;
  background: rgba(245,241,234,.12);
  overflow: hidden;
  margin-bottom: 10px;
}
.form__progress-bar span{
  position: absolute;
  left: 0; top: 0;
  height: 100%;
  width: 25%;
  background: var(--gold-hi);
  transition: width .35s ease;
}
.form__progress-steps{
  display: flex;
  justify-content: space-between;
  font-size: 10px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(245,241,234,.4);
}
.form__progress-steps span.is-active{ color: var(--gold-hi) }
.form__progress-steps span.is-done{ color: rgba(245,241,234,.6) }
@media (max-width: 480px){
  .form__progress-steps{ font-size: 9px; letter-spacing: .15em }
}

/* Checkbox grid */
.form__checks{
  border: 0;
  padding: 0;
  margin: 0 0 22px;
}
.form__checks legend{
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(245,241,234,.7);
  margin-bottom: 12px;
  padding: 0;
}
.form__checks{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 18px;
}
.form__checks legend{ grid-column: 1 / -1 }
@media (max-width: 480px){ .form__checks{ grid-template-columns: 1fr } }

.check{
  display: flex !important;
  align-items: center;
  gap: 10px;
  margin: 0 !important;
  padding: 10px 12px;
  background: rgba(245,241,234,.03);
  border: 1px solid rgba(245,241,234,.12);
  cursor: pointer;
  transition: all .18s ease;
  font-size: 14px;
  color: var(--ivory);
}
.check:hover{
  border-color: rgba(212,176,124,.4);
  background: rgba(212,176,124,.05);
}
.check input[type="checkbox"]{
  appearance: none;
  -webkit-appearance: none;
  width: 16px !important;
  height: 16px;
  border: 1px solid rgba(245,241,234,.35);
  background: transparent;
  position: relative;
  cursor: pointer;
  flex: 0 0 auto;
  padding: 0;
}
.check input[type="checkbox"]:checked{
  background: var(--gold-hi);
  border-color: var(--gold-hi);
}
.check input[type="checkbox"]:checked::after{
  content: "✓";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #111;
  font-size: 12px;
  font-weight: 700;
}
.check input[type="checkbox"]:checked + span{ color: var(--gold-hi) }
.check:has(input:checked){
  border-color: var(--gold-hi);
  background: rgba(212,176,124,.08);
}

.form__privacy{
  font-size: 12px;
  color: rgba(245,241,234,.55);
  line-height: 1.6;
  margin: 12px 0 0;
}

.form__thanks{
  display:none;
  margin-top: 18px;
  color: var(--gold-hi);
  font-size: 13px;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-align: center;
}
.form.is-sent .form__thanks{ display:block }
.form.is-sent button{ display:none }

/* ============ FOOTER ============ */
.foot{
  background: var(--ink);
  color: var(--ivory);
  padding: 56px 0 0;
}
.foot__inner{
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 var(--gutter) 36px;
  display:flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 30px;
  flex-wrap: wrap;
}
.foot__brand{ display:flex; align-items:flex-start; gap:14px }
.foot__brand > div{ line-height: 1.5 }
.foot__name{ font-family: var(--serif); font-style: italic; font-size: 22px }
.foot__tag{ font-size: 11px; letter-spacing:.22em; text-transform:uppercase; color: rgba(245,241,234,.6); margin-top: 2px }
.foot__lic{ font-size: 12px; color: rgba(245,241,234,.55); margin-top: 6px; letter-spacing:.04em }
.foot__meta{ font-size: 13px; color: rgba(245,241,234,.75); text-align: right; line-height: 1.7 }
.foot__phone{
  display: block;
  color: var(--gold-hi);
  text-decoration: none;
  font-family: var(--serif);
  font-size: 22px;
  font-style: italic;
  letter-spacing: .01em;
  font-variant-numeric: tabular-nums;
  margin-bottom: 2px;
}
.foot__phone:hover{ color: var(--ivory) }
.foot__email{ display:block; color: var(--gold-hi); text-decoration:none; font-size: 14px; letter-spacing:.02em }
.foot__email:hover{ color: var(--ivory) }
.foot__brokerage{ margin-top: 10px; font-size: 12px; color: rgba(245,241,234,.7); letter-spacing:.02em }
.foot__brokerage strong{ color: rgba(245,241,234,.95); font-weight: 500; letter-spacing:.04em }
@media (max-width: 620px){ .foot__meta{ text-align:left } }

.foot__legal{
  border-top: 1px solid rgba(245,241,234,.08);
  padding: 22px 0 28px;
}
.foot__legal-inner{
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 var(--gutter);
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 26px;
  align-items: center;
}
.foot__eho{
  display:flex;
  align-items:center;
  gap: 10px;
  color: rgba(245,241,234,.75);
  font-size: 11px;
  letter-spacing:.18em;
  text-transform: uppercase;
  white-space: nowrap;
}
.foot__disclaimer{
  font-size: 11px;
  line-height: 1.7;
  color: rgba(245,241,234,.5);
  margin: 0;
  letter-spacing:.01em;
}
.foot__copyright{
  font-size: 11px;
  color: rgba(245,241,234,.4);
  white-space: nowrap;
  letter-spacing:.04em;
}
@media (max-width: 860px){
  .foot__legal-inner{ grid-template-columns: 1fr; gap: 16px; text-align: left }
  .foot__eho, .foot__copyright{ white-space: normal }
}

/* ============ REVEAL ANIMATIONS ============ */
.reveal{ opacity: 0; transform: translateY(30px); transition: opacity .9s ease, transform .9s ease }
.reveal.is-in{ opacity:1; transform: none }

@media (prefers-reduced-motion: reduce){
  .scene__bg, .incentive__bg{ transform: none !important }
  .reveal{ opacity:1 !important; transform: none !important; transition: none }
  .scroll-hint span{ animation: none }
}
