/* ============ Nav ============ */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:100;
  padding:22px 40px;
  display:flex; align-items:center; justify-content:space-between;
  color:var(--cream);
  transition: background .45s ease, backdrop-filter .45s ease, color .45s ease, padding .35s ease, border-color .45s ease;
  border-bottom:1px solid transparent;
}
.nav.scrolled{
  background: rgba(245,239,228,0.82);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
  color: var(--forest-deep);
  padding: 14px 40px;
  border-bottom-color: rgba(31,58,46,0.10);
}
@media (max-width:720px){
  .nav{padding:18px 22px}
  .nav.scrolled{padding:12px 22px}
}
.nav .links{ display:flex; gap:38px; font-size:12px; letter-spacing:.18em; text-transform:uppercase; font-weight:500;}
.nav .links a{ position:relative; }
.nav .links a::after{
  content:""; position:absolute; left:0; right:100%; bottom:-6px; height:1px; background:currentColor;
  transition:right .35s cubic-bezier(.2,.7,.2,1);
}
.nav .links a:hover::after{ right:0; }
@media (max-width:860px){ .nav .links{display:none} }
.nav .book{
  border:1px solid currentColor; padding:10px 18px; border-radius:999px;
  font-size:11px; letter-spacing:.18em; text-transform:uppercase; font-weight:500;
  transition: background .35s cubic-bezier(.2,.7,.2,1), color .35s cubic-bezier(.2,.7,.2,1), border-color .35s cubic-bezier(.2,.7,.2,1), letter-spacing .35s cubic-bezier(.2,.7,.2,1);
}
.nav .book:hover{
  background:var(--gold);
  color:var(--forest-deep);
  border-color:var(--gold);
  letter-spacing:.22em;
}

/* ============ HERO ============ */
.hero{
  background:var(--forest);
  color:var(--cream);
  position:relative;
  min-height:100vh;
  padding:140px 0 90px;
  overflow:hidden;
  isolation:isolate;
}
.hero::before{
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(ellipse at 80% 10%, rgba(201,166,107,0.18), transparent 55%),
    radial-gradient(ellipse at 10% 90%, rgba(42,74,59,0.9), transparent 60%);
  z-index:-1;
}
.hero-grid{
  display:grid; grid-template-columns: 1fr; gap:60px; align-items:end;
  min-height:calc(100vh - 230px);
}
.hero-meta{
  display:flex; justify-content:space-between; align-items:center;
  border-top:1px solid var(--hairline);
  padding-top:22px;
  color:var(--cream);
}
.hero-h1{
  font-size: clamp(58px, 9.2vw, 168px);
  letter-spacing:-.025em;
}
.hero-h1 .line{ display:block; }
.hero-h1 .indent{ padding-left: 9vw; }
.hero-sub{
  display:grid; grid-template-columns: 1fr 1fr 1fr; gap:60px;
  margin-top:54px;
  align-items:start;
}
@media (max-width:920px){
  .hero-sub{ grid-template-columns:1fr; gap:36px;}
  .hero-h1 .indent{ padding-left:6vw; }
}
.hero-sub .col p{ max-width: 36ch; }
.hero-cta{ display:flex; gap:14px; flex-wrap:wrap; margin-top:8px;}
.hero-index{
  font-family:var(--serif); font-style:italic; font-size:22px; color:var(--gold);
}
.hero-coord{
  font-family:var(--sans); font-size:11px; letter-spacing:.22em; text-transform:uppercase; opacity:.7;
}

/* Floating ornamental marks */
.ornament{
  position:absolute; pointer-events:none; color:var(--gold); opacity:.5;
  font-family:var(--serif); font-style:italic;
}
.ornament-1{ top:130px; right:8%; font-size:14px; letter-spacing:.3em; text-transform:uppercase; color:var(--cream); opacity:.45;}

/* Marquee ticker */
.ticker{
  background:var(--forest-deep); color:var(--cream);
  border-top:1px solid var(--hairline);
  border-bottom:1px solid var(--hairline);
  overflow:hidden;
  padding:18px 0;
  font-family:var(--serif); font-style:italic;
  font-size:28px;
}
.ticker-track{
  display:flex; gap:60px; white-space:nowrap;
  animation: scroll-x 38s linear infinite;
  width:max-content;
}
.ticker-track span{ display:inline-flex; align-items:center; gap:60px; }
.ticker-track .sep{
  display:inline-block; width:8px; height:8px; border-radius:50%;
  background:var(--gold);
}
@keyframes scroll-x{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}

/* ============ Sections ============ */
section{ position:relative; }
.sec-head{
  display:grid; grid-template-columns: 120px 1fr; gap:60px;
  align-items:end;
  padding: 110px 0 50px;
  border-bottom:1px solid var(--hairline-dark);
}
.dark .sec-head{ border-bottom-color:var(--hairline); }
.sec-num{
  font-family:var(--serif); font-style:italic; font-size:22px;
  color:var(--gold);
}
.sec-title{
  font-family:var(--serif); font-size:clamp(36px, 5.2vw, 72px);
  line-height:1; letter-spacing:-.02em; margin:0;
}
.sec-title em{ font-style:italic; color:var(--gold);}
@media (max-width:720px){ .sec-head{ grid-template-columns:1fr; gap:24px; padding:80px 0 36px;} }

/* === Philosophy === */
.philosophy{
  background:var(--cream);
  padding-bottom:90px;
}
.phil-grid{
  display:grid; grid-template-columns: 1fr 1fr; gap:80px;
  padding:60px 0 30px;
  align-items:start;
}
@media (max-width:860px){ .phil-grid{grid-template-columns:1fr; gap:30px;}}
.phil-quote{
  font-family:var(--serif); font-size:clamp(34px, 4.3vw, 56px);
  line-height:1.05; letter-spacing:-.015em;
}
.phil-quote em{ font-style:italic; color:var(--gold);}
.phil-body p{ max-width: 44ch; font-size:17px; line-height:1.65; font-weight:300;}
.phil-body p + p{ margin-top:1em;}

/* === Services === */
.services{ background:var(--forest); color:var(--cream); padding-bottom:120px; }
.services.dark{ color:var(--cream); }
.svc-list{ border-top:1px solid var(--hairline); }
.svc-row{
  display:grid; grid-template-columns: 70px 0.9fr 1.4fr 90px; gap:40px;
  padding:38px 0;
  border-bottom:1px solid var(--hairline);
  align-items:start;
  cursor:pointer;
  transition: padding .4s ease, background .4s ease;
}
.svc-row:hover{
  padding-left:18px;
  background:linear-gradient(90deg, rgba(201,166,107,0.06), transparent 60%);
}
.svc-num{
  font-family:var(--serif); font-style:italic; font-size:18px; color:var(--gold);
  padding-top:8px;
}
.svc-name{
  font-family:var(--serif); font-size:clamp(28px, 3vw, 42px); line-height:1; letter-spacing:-.015em;
}
.svc-name em{ font-style:italic; color:var(--gold);}
.svc-desc{ font-size:15px; line-height:1.6; opacity:.88; font-weight:300; max-width:48ch; padding-top:8px;}
.svc-mark{
  display:flex; justify-content:flex-end; align-items:center; padding-top:14px;
}
.svc-mark .ring{
  position:relative;
  width:42px; height:42px; border-radius:50%;
  border:1px solid var(--hairline);
  background-color:transparent;
  transition:transform .35s ease, border-color .35s ease, background-color .35s ease;
}
.svc-mark .ring::before,
.svc-mark .ring::after{
  content:"";
  position:absolute;
  top:50%; left:50%;
  background-color:var(--gold);
}
.svc-mark .ring::before{
  width:14px; height:2px;
  transform:translate(-50%, -50%);
}
.svc-mark .ring::after{
  width:2px; height:14px;
  transform:translate(-50%, -50%);
}
.svc-row:hover .svc-mark .ring{
  transform:rotate(90deg); border-color:var(--gold); background-color:rgba(201,166,107,0.1);
}
@media (max-width:860px){
  .svc-row{ grid-template-columns: 50px 1fr; }
  .svc-mark{ display:none;}
  .svc-desc{ grid-column: 2;}
}

/* === Stats strip === */
.stats{
  background:var(--forest-deep); color:var(--cream);
  padding:80px 0;
  border-top:1px solid var(--hairline);
}
.stats-grid{
  display:grid; grid-template-columns: repeat(4,1fr); gap:40px;
}
@media (max-width:860px){ .stats-grid{grid-template-columns:1fr 1fr;}}
.stat{ border-left:1px solid var(--hairline); padding:6px 0 6px 22px;}
.stat .n{
  font-family:var(--serif); font-size:clamp(46px, 5.5vw, 78px);
  line-height:1; letter-spacing:-.025em;
}
.stat .n em{ font-style:italic; color:var(--gold);}
.stat .l{ font-size:12px; letter-spacing:.16em; text-transform:uppercase; opacity:.75; margin-top:14px;}

/* === Method === */
.method{ background:var(--cream); padding-bottom:110px;}
.method-grid{
  display:grid; grid-template-columns: repeat(4, 1fr); gap:30px;
  padding:60px 0 0;
}
@media (max-width:920px){ .method-grid{grid-template-columns:1fr 1fr; gap:40px;}}
@media (max-width:600px){ .method-grid{grid-template-columns:1fr;}}
.step{
  padding:30px 28px 38px;
  border:1px solid var(--hairline-dark);
  border-radius:2px;
  background:var(--cream-warm);
  position:relative;
  transition: transform .5s cubic-bezier(.2,.7,.2,1), background .4s;
}
.step:hover{ transform:translateY(-6px); background:var(--cream-deep);}
.step .roman{
  font-family:var(--serif); font-style:italic; font-size:20px; color:var(--gold);
  margin-bottom:30px; display:block;
}
.step h3{
  font-family:var(--serif); font-size:32px; font-weight:400;
  line-height:1.05; letter-spacing:-.015em; margin:0 0 14px;
}
.step p{ font-size:14px; line-height:1.6; font-weight:300; max-width:30ch; margin:0;}
.step .tick{
  position:absolute; top:30px; right:28px;
  font-family:var(--sans); font-size:10px; letter-spacing:.18em; text-transform:uppercase; opacity:.5;
}

/* === Case studies === */
.cases{ background:var(--forest); color:var(--cream); padding-bottom:120px;}
.case-grid{
  display:grid; grid-template-columns: 1fr 1fr; gap:40px; padding:60px 0 0;
}
@media (max-width:860px){ .case-grid{grid-template-columns:1fr;}}
.case{
  border:1px solid var(--hairline); border-radius:2px;
  overflow:hidden;
  background:var(--forest-soft);
  transition: transform .5s cubic-bezier(.2,.7,.2,1), border-color .4s;
}
.case:hover{ border-color:var(--gold); transform:translateY(-6px);}
.case-img{
  aspect-ratio: 4/3;
  background:
    repeating-linear-gradient(135deg, rgba(245,239,228,0.04) 0 10px, rgba(245,239,228,0.0) 10px 22px),
    linear-gradient(160deg, var(--forest-deep), var(--forest-soft));
  position:relative;
  display:grid; place-items:center;
}
.case-img .ph{
  font-family:'JetBrains Mono', ui-monospace, monospace;
  font-size:11px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--cream); opacity:.55;
  padding:8px 14px; border:1px dashed rgba(245,239,228,0.25);
}
.case-img .badge{
  position:absolute; top:18px; left:18px;
  font-family:var(--serif); font-style:italic; font-size:14px;
  color:var(--gold);
}
.case-body{
  padding:30px 32px 36px;
  display:grid; grid-template-columns: 1fr auto; gap:14px 30px; align-items:end;
}
.case-body h3{
  font-family:var(--serif); font-size:30px; font-weight:400;
  line-height:1.05; letter-spacing:-.015em; margin:0;
  grid-column:1/-1;
}
.case-tag{ font-size:11px; letter-spacing:.18em; text-transform:uppercase; opacity:.7;}
.case-metrics{
  display:flex; gap:36px; padding:18px 32px 26px;
  border-top:1px solid var(--hairline);
}
.case-metric .v{
  font-family:var(--serif); font-size:28px; line-height:1; color:var(--gold);
}
.case-metric .v em{ font-style:italic;}
.case-metric .k{ font-size:10px; letter-spacing:.18em; text-transform:uppercase; opacity:.7; margin-top:6px;}

/* === Testimonial === */
.testimonial{
  background:var(--cream); padding:140px 0;
  position:relative;
}
.testimonial::before{
  content:"“"; position:absolute;
  font-family:var(--serif); font-style:italic;
  font-size:340px; line-height:.6; color:var(--gold); opacity:.18;
  top:90px; left:6%;
}
.test-wrap{ max-width:920px; margin:0 auto; text-align:center; padding:0 24px; position:relative;}
.test-quote{
  font-family:var(--serif); font-size:clamp(32px, 4vw, 52px);
  line-height:1.18; letter-spacing:-.015em;
}
.test-quote em{ font-style:italic; color:var(--gold);}
.test-attr{
  margin-top:42px; display:inline-flex; align-items:center; gap:18px;
  font-size:12px; letter-spacing:.16em; text-transform:uppercase;
}
.test-attr .rule{ width:48px; height:1px; background:var(--gold); }

/* === CTA Closer === */
.closer{
  background:var(--forest-deep); color:var(--cream);
  padding:160px 0 120px;
  position:relative; overflow:hidden;
}
.closer::before{
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(ellipse at 50% 20%, rgba(201,166,107,0.18), transparent 50%);
}
.closer-inner{ position:relative; text-align:center;}
.closer h2{
  font-family:var(--serif); font-size:clamp(54px, 8vw, 132px);
  line-height:.98; letter-spacing:-.025em; margin:0 auto;
  max-width:14ch;
}
.closer h2 em{ font-style:italic; color:var(--gold);}
.closer p{
  max-width:48ch; margin:34px auto 44px; font-size:17px; line-height:1.6; font-weight:300; opacity:.85;
}
.closer .cta-row{ display:flex; justify-content:center; gap:14px; flex-wrap:wrap;}
.closer .btn-primary:hover{
  background:var(--cream); color:var(--forest-deep); border-color:var(--cream);
}

/* === Footer === */
footer{
  background:var(--forest-deep); color:var(--cream);
  padding:60px 0 40px;
  border-top:1px solid var(--hairline);
}
.foot-grid{
  display:grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap:60px;
  padding-bottom:60px;
}
@media (max-width:860px){ .foot-grid{grid-template-columns:1fr 1fr; gap:40px;}}
.foot-grid h4{
  font-family:var(--sans); font-size:11px; font-weight:500; letter-spacing:.18em;
  text-transform:uppercase; opacity:.6; margin:0 0 18px;
}
.foot-grid a{ display:block; padding:6px 0; font-size:14px; opacity:.9;}
.foot-grid a:hover{ color:var(--gold);}
.foot-mark{
  font-family:var(--serif); font-size:48px; line-height:1; letter-spacing:-.02em;
}
.foot-mark em{ font-style:italic; color:var(--gold);}
.foot-bot{
  border-top:1px solid var(--hairline);
  display:flex; justify-content:space-between; align-items:center;
  padding-top:24px; font-size:11px; letter-spacing:.14em; text-transform:uppercase; opacity:.6;
}
@media (max-width:600px){ .foot-bot{flex-direction:column; gap:14px; text-align:center;}}

/* ============ Animations ============ */
.reveal{ opacity:0; transform:translateY(28px); transition: opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1); }
.reveal.in{ opacity:1; transform:none; }
.reveal.d1{ transition-delay:.08s;}
.reveal.d2{ transition-delay:.16s;}
.reveal.d3{ transition-delay:.24s;}
.reveal.d4{ transition-delay:.32s;}
.reveal.d5{ transition-delay:.40s;}
.reveal.d6{ transition-delay:.48s;}

/* Hero entrance */
.hero .line, .hero-sub > *, .hero-meta > *{
  opacity:0; transform:translateY(40px);
  animation: rise 1.05s cubic-bezier(.2,.7,.2,1) forwards;
}
.hero .line:nth-child(1){ animation-delay:.12s;}
.hero .line:nth-child(2){ animation-delay:.22s;}
.hero .line:nth-child(3){ animation-delay:.32s;}
.hero-sub > *:nth-child(1){ animation-delay:.55s;}
.hero-sub > *:nth-child(2){ animation-delay:.65s;}
.hero-sub > *:nth-child(3){ animation-delay:.75s;}
.hero-meta > *{ animation-delay:.95s;}
@keyframes rise{
  from{opacity:0; transform:translateY(40px);}
  to{opacity:1; transform:none;}
}

/* tiny rotating sigil */
.sigil{
  width:84px; height:84px; border-radius:50%;
  border:1px solid var(--gold);
  display:grid; place-items:center;
  position:relative;
  animation: rot 28s linear infinite;
}

/* ============ Mobile refinements ============ */
@media (max-width:720px){
  .nav{ padding:14px 18px; }
  .nav.scrolled{ padding:10px 18px; }
  .nav .brand{ font-size:18px; }
  .nav .brand-mark{ width:22px; height:22px; }
  .nav .book{ padding:8px 14px; font-size:10px; letter-spacing:.14em; }

  .hero{ padding:104px 0 56px; min-height:auto; }
  .hero-grid{ gap:36px; min-height:0; }
  .hero-h1{ font-size:clamp(46px, 13.5vw, 86px); letter-spacing:-.025em; line-height:.98; }
  .hero-h1 .indent{ padding-left:0; }
  .hero-sub{ margin-top:34px; gap:34px; }
  .hero-sub .col p{ max-width:none; }
  .hero-sub .col[style*="gap:22px"]{ gap:18px !important; }
  .hero-cta{ width:100%; margin-top:4px; }
  .hero-cta .btn,
  .hero-sub .btn-ghost-light{ width:100%; justify-content:space-between; align-self:stretch !important; }
  .hero-meta{
    flex-direction:column; align-items:flex-start; gap:8px;
    padding-top:20px; margin-top:6px;
  }
  .hero-index{ font-size:18px; }
  .hero-coord{ font-size:10px; letter-spacing:.18em; line-height:1.5; }
  .ornament-1{ top:84px; right:22px; font-size:10.5px; letter-spacing:.26em; }

  .ticker{ padding:14px 0; font-size:18px; }
  .ticker-track{ gap:36px; }
  .ticker-track span{ gap:36px; }
  .ticker-track .sep{ width:6px; height:6px; }

  .sec-head{ padding:72px 0 28px; gap:14px; }
  .sec-num{ font-size:17px; }
  .sec-title{ font-size:clamp(34px, 9vw, 48px); line-height:1.02; }

  .philosophy{ padding-bottom:72px; }
  .phil-grid{ padding:34px 0 6px; gap:28px; }
  .phil-quote{ font-size:clamp(28px, 7.4vw, 40px); line-height:1.08; }
  .phil-body p{ font-size:15.5px; max-width:none; line-height:1.65; }

  .services{ padding-bottom:72px; }
  .svc-list{ border-top-color:rgba(245,239,228,0.18); }
  .svc-row{
    grid-template-columns:34px 1fr;
    gap:10px 14px;
    padding:24px 0;
    border-bottom-color:rgba(245,239,228,0.12);
  }
  .svc-row:hover{ padding-left:0; background:transparent; }
  .svc-num{ font-size:14px; padding-top:8px; letter-spacing:0; }
  .svc-name{ font-size:clamp(24px, 7vw, 30px); line-height:1.05; }
  .svc-desc{ font-size:14px; padding-top:6px; line-height:1.6; opacity:.82; }

  .stats{ padding:60px 0; }
  .stats-grid{ grid-template-columns:1fr 1fr; gap:32px 22px; }
  .stat{ padding:4px 0 4px 16px; border-left-color:rgba(245,239,228,0.18); }
  .stat .n{ font-size:clamp(40px, 11vw, 56px); }
  .stat .l{ font-size:10.5px; margin-top:10px; letter-spacing:.14em; line-height:1.45; }

  .method{ padding-bottom:80px; }
  .method-grid{ padding:34px 0 0; gap:16px; }
  .step{ padding:26px 24px 30px; border-radius:3px; }
  .step .roman{ margin-bottom:14px; font-size:17px; }
  .step h3{ font-size:25px; line-height:1.08; margin-bottom:12px; }
  .step p{ font-size:14px; max-width:none; }
  .step .tick{ top:26px; right:24px; font-size:9.5px; }

  .closer{ padding:88px 0 84px; }
  .closer h2{ font-size:clamp(40px, 11.5vw, 62px); max-width:none; line-height:1.02; letter-spacing:-.02em; }
  .closer p{ font-size:15.5px; margin:22px auto 30px; padding:0 6px; line-height:1.65; }
  .closer .cta-row{ flex-direction:column; align-items:stretch; gap:12px; }
  .closer .cta-row .btn{ justify-content:space-between; }
  .sigil{ width:68px; height:68px; margin-bottom:8px; }
  .sigil svg{ width:68px; height:68px; }
  .closer-inner > div:first-child{ margin-bottom:36px !important; }

  footer{ padding:56px 0 32px; }
  .foot-grid{ grid-template-columns:1fr 1fr; gap:34px 28px; padding-bottom:40px; }
  .foot-grid > div:first-child{ grid-column:1 / -1; margin-bottom:6px; }
  .foot-grid > div:nth-child(4){ grid-column:1 / -1; }
  .foot-grid h4{ margin-bottom:14px; }
  .foot-grid a{ font-size:13.5px; padding:5px 0; }
  .foot-mark{ font-size:36px; }
  .foot-bot{ font-size:10px; letter-spacing:.12em; gap:10px; padding-top:22px; }

  .btn{ padding:15px 22px; font-size:12px; letter-spacing:.12em; gap:12px; }
}

@media (max-width:420px){
  .hero-h1{ font-size:clamp(40px, 14vw, 64px); }
  .ticker{ font-size:16px; padding:14px 0; }
  .stats-grid{ gap:26px 18px; }
  .stat{ padding-left:12px; }
  .stat .n{ font-size:clamp(34px, 11vw, 46px); }
  .sec-title{ font-size:clamp(30px, 9.5vw, 42px); }
  .closer h2{ font-size:clamp(36px, 11vw, 54px); }
}
@keyframes rot{ to{ transform:rotate(360deg);} }
.sigil-inner{
  font-family:var(--serif); font-style:italic; color:var(--gold); font-size:14px;
}
.sigil-text{
  position:absolute; inset:0;
  font-family:var(--sans); font-size:9px; letter-spacing:.32em; text-transform:uppercase;
  color:var(--gold);
}
.sigil-text svg{ overflow:visible; }

/* ============================================================
   Atmosphere — layered gradients & faint orbits
   Adds depth to flat sections without breaking the minimalist tone.
   ============================================================ */
.hero, .services, .stats, .closer, .philosophy, .method, footer{
  overflow:hidden;
  isolation:isolate;
}

/* Hero — enrich existing wash with a third gold pool + faint orbit ring */
.hero::before{
  background:
    radial-gradient(ellipse 80% 60% at 78% -8%, rgba(201,166,107,0.20), transparent 60%),
    radial-gradient(ellipse 100% 70% at -10% 110%, rgba(42,74,59,0.95), transparent 60%),
    radial-gradient(ellipse 70% 50% at 50% 130%, rgba(201,166,107,0.06), transparent 60%),
    linear-gradient(180deg, #1F3A2E 0%, #1A322A 55%, #15281F 100%);
}
.hero::after{
  content:""; position:absolute;
  width:120vmax; height:120vmax;
  top:-66vmax; right:-52vmax;
  border:1px solid rgba(201,166,107,0.06);
  border-radius:50%;
  pointer-events:none;
  z-index:-1;
}

/* Services — gold pool top-right, forest depth bottom-left */
.services::before{
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(ellipse 90% 60% at 110% 0%, rgba(201,166,107,0.10), transparent 55%),
    radial-gradient(ellipse 70% 60% at -10% 100%, rgba(42,74,59,0.65), transparent 55%);
  pointer-events:none;
  z-index:-1;
}

/* Stats — quiet horizontal band of warmth */
.stats::before{
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(ellipse 60% 120% at 50% 50%, rgba(201,166,107,0.05), transparent 70%),
    linear-gradient(90deg, transparent 0%, rgba(42,74,59,0.40) 50%, transparent 100%);
  pointer-events:none;
  z-index:-1;
}

/* Closer — enrich gradient + add a faint celestial orbit */
.closer::before{
  background:
    radial-gradient(ellipse 80% 50% at 50% 12%, rgba(201,166,107,0.22), transparent 55%),
    radial-gradient(ellipse 70% 50% at 0% 115%, rgba(42,74,59,0.85), transparent 60%),
    radial-gradient(ellipse 70% 50% at 100% 115%, rgba(42,74,59,0.55), transparent 60%);
  z-index:-1;
}
.closer::after{
  content:""; position:absolute;
  width:90vmax; height:90vmax;
  bottom:-58vmax; left:50%;
  transform:translateX(-50%);
  border:1px solid rgba(201,166,107,0.06);
  border-radius:50%;
  pointer-events:none;
  z-index:-1;
}

/* Footer — barely-there warmth so it doesn't read as a flat slab */
footer::before{
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(ellipse 90% 80% at 100% 100%, rgba(201,166,107,0.06), transparent 60%),
    radial-gradient(ellipse 70% 60% at 0% 0%, rgba(42,74,59,0.55), transparent 55%);
  pointer-events:none;
  z-index:-1;
}

/* Cream sections — warm gold + cool forest washes for subtle depth */
.philosophy::before{
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(ellipse 90% 60% at 100% 0%, rgba(201,166,107,0.08), transparent 55%),
    radial-gradient(ellipse 70% 50% at 0% 100%, rgba(31,58,46,0.045), transparent 55%);
  pointer-events:none;
  z-index:-1;
}
.method::before{
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(ellipse 80% 50% at 0% 10%, rgba(201,166,107,0.07), transparent 55%),
    radial-gradient(ellipse 80% 50% at 100% 90%, rgba(31,58,46,0.045), transparent 55%);
  pointer-events:none;
  z-index:-1;
}
