:root{
  --bg:#0a0b0e;
  --bg-2:#0e1014;
  --bg-3:#12141a;
  --ivory:#ece7dd;
  --ivory-dim:#c9c3b6;
  --muted:#8f8a7e;
  --hair:rgba(236,231,221,.12);
  --hair-strong:rgba(236,231,221,.22);
  --gold:#c9a962;
  --gold-dim:#8a7440;
  --gold-soft:rgba(201,169,98,.12);
  --max:1120px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  color:var(--ivory);background:var(--bg);
  line-height:1.65;-webkit-font-smoothing:antialiased;
  background-image:
    radial-gradient(1100px 520px at 75% -8%, rgba(201,169,98,.06), transparent 70%),
    radial-gradient(900px 500px at -10% 30%, rgba(201,169,98,.03), transparent 70%);
  background-attachment:fixed;
}
::selection{background:var(--gold);color:var(--bg)}
h1,h2,h3,.serif{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:.005em;color:var(--ivory)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 28px}
.eyebrow{
  display:inline-flex;align-items:center;gap:14px;
  font-size:11px;letter-spacing:.26em;text-transform:uppercase;
  color:var(--gold);font-weight:500;margin-bottom:22px;
}
.eyebrow::before{content:"";display:block;width:28px;height:1px;background:var(--gold-dim)}
section{padding:110px 0}
.btn{
  display:inline-block;padding:16px 34px;font-size:12px;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;
  text-decoration:none;border-radius:0;transition:all .45s cubic-bezier(.22,1,.36,1);
  cursor:pointer;border:1px solid transparent;
}
.btn-primary{border-color:var(--gold-dim);color:var(--gold);background:transparent}
.btn-primary:hover{background:var(--gold);border-color:var(--gold);color:var(--bg)}
.btn-ghost{border-color:var(--hair-strong);color:var(--ivory)}
.btn-ghost:hover{border-color:var(--ivory);background:var(--ivory);color:var(--bg)}
.btn-gold{background:var(--gold);border-color:var(--gold);color:var(--bg)}
.btn-gold:hover{background:transparent;color:var(--gold)}

/* NAV */
nav{
  position:sticky;top:0;z-index:50;background:rgba(10,11,14,.82);
  backdrop-filter:blur(12px);border-bottom:1px solid var(--hair);
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:78px}
.logo{
  font-family:Georgia,serif;font-size:16px;color:var(--ivory);text-decoration:none;
  display:inline-flex;align-items:center;gap:16px;letter-spacing:.04em;
}
.logo::before{
  content:"AE";display:flex;align-items:center;justify-content:center;
  width:38px;height:38px;border:1px solid var(--gold-dim);color:var(--gold);
  font-size:13px;letter-spacing:.12em;padding-left:2px;
}
.logo b{font-weight:400}
.logo span{color:var(--gold-dim)}
.nav-links{display:flex;gap:36px;align-items:center}
.nav-links a{
  font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ivory-dim);text-decoration:none;transition:color .3s;
  padding-bottom:4px;border-bottom:1px solid transparent;
}
.nav-links a:hover{color:var(--gold)}
.nav-links a.active{color:var(--gold);border-bottom-color:var(--gold-dim)}
.nav-links .btn{padding:12px 24px;font-size:11px;color:var(--gold);border-bottom:1px solid var(--gold-dim)}
.nav-links a.btn:hover{color:var(--bg)}
.nav-links a.btn.active{color:var(--gold)}
.nav-links a.btn.active:hover{color:var(--bg)}

/* PAGE HEADER (interior pages) */
.page-hero{padding:120px 0 96px;border-bottom:1px solid var(--hair)}
.page-hero h1{font-size:clamp(34px,4.4vw,56px);line-height:1.14;max-width:24ch;margin-bottom:26px}
.page-hero h1 em{font-style:italic;color:var(--gold)}
.page-hero p{font-size:17px;color:var(--ivory-dim);max-width:60ch;font-weight:300}

/* HOME HERO */
.hero{padding:130px 0 110px;border-bottom:1px solid var(--hair)}
.hero .wrap{display:grid;grid-template-columns:1.35fr .9fr;gap:72px;align-items:center}
.hero h1{font-size:clamp(40px,5vw,64px);line-height:1.1;margin-bottom:28px}
.hero h1 em{font-style:italic;color:var(--gold)}
.hero p.lede{font-size:18px;color:var(--ivory-dim);max-width:54ch;margin-bottom:44px;font-weight:300}
.hero-ctas{display:flex;gap:18px;flex-wrap:wrap}
.hero-note{margin-top:26px;font-size:12px;letter-spacing:.08em;color:var(--muted)}
.hero-panel{
  background:var(--bg-2);border:1px solid var(--hair);border-top:1px solid var(--gold-dim);
  padding:42px 38px;position:relative;
}
.hero-panel::before{
  content:"";position:absolute;top:-1px;left:0;width:64px;height:1px;background:var(--gold);
}
.hero-panel h3{
  font-family:inherit;font-size:11px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--gold);margin-bottom:24px;font-weight:500;
}
.hero-panel ul{list-style:none}
.hero-panel li{
  padding:15px 0;border-bottom:1px solid var(--hair);
  font-size:14.5px;color:var(--ivory-dim);display:flex;gap:14px;align-items:baseline;font-weight:300;
}
.hero-panel li:last-child{border-bottom:none}
.hero-panel li::before{content:"—";color:var(--gold-dim);flex-shrink:0}

/* STAT BAND */
.stats{border-bottom:1px solid var(--hair);padding:64px 0;background:var(--bg-2)}
.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.stat{padding:6px 36px;border-left:1px solid var(--hair)}
.stat:first-child{border-left:none;padding-left:0}
.stat .num{font-family:Georgia,serif;font-size:46px;line-height:1;color:var(--ivory)}
.stat .num span{color:var(--gold);font-size:.6em}
.stat .lbl{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:14px}

/* SECTION HEADINGS */
.sec-head h2{font-size:clamp(30px,3.6vw,46px);max-width:26ch;margin-bottom:18px;line-height:1.16}
.sec-head h2 em{font-style:italic;color:var(--gold)}
.sec-head .intro{color:var(--ivory-dim);font-size:16px;max-width:62ch;margin-bottom:64px;font-weight:300}

/* TWO PATHS */
.path-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--hair)}
.path{
  background:var(--bg);padding:52px 48px;position:relative;
  transition:background .5s;
}
.path::before{
  content:"";position:absolute;top:0;left:0;width:52px;height:1px;background:var(--gold);
  transition:width .6s cubic-bezier(.22,1,.36,1);
}
.path:hover{background:var(--bg-2)}
.path:hover::before{width:100%}
.path .tag{
  font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;font-weight:500;
  color:var(--gold);margin-bottom:18px;display:block;
}
.path h3{font-size:27px;margin-bottom:16px}
.path h3 a{color:inherit;text-decoration:none;transition:color .3s}
.path h3 a:hover{color:var(--gold)}
.path p{color:var(--ivory-dim);font-size:15px;margin-bottom:24px;font-weight:300}
.path ul{list-style:none}
.path li{
  padding:12px 0 12px 28px;position:relative;font-size:14.5px;
  border-top:1px solid var(--hair);color:var(--ivory-dim);font-weight:300;
}
.path li::before{content:"›";position:absolute;left:4px;color:var(--gold-dim)}
.path .more{
  display:inline-block;margin-top:24px;font-size:11px;font-weight:600;
  letter-spacing:.2em;text-transform:uppercase;color:var(--gold);text-decoration:none;
  border-bottom:1px solid var(--gold-dim);padding-bottom:4px;transition:border-color .3s;
}
.path .more:hover{border-bottom-color:var(--gold)}
.path.alt .tag,.path.alt li::before,.path.alt .more{color:var(--gold)}

/* SERVICES GRID */
.tinted{background:var(--bg-2);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hair)}
.svc{
  background:var(--bg);padding:44px 38px;display:flex;flex-direction:column;
  transition:background .5s;position:relative;
}
.tinted .svc{background:var(--bg-2)}
.svc:hover{background:var(--bg-3)}
.svc .n{
  font-family:Georgia,serif;font-size:13px;letter-spacing:.14em;color:var(--gold);
  margin-bottom:22px;display:block;
}
.svc h3{font-size:21px;margin-bottom:14px}
.svc p{font-size:14px;color:var(--ivory-dim);font-weight:300}
.svc .fit{margin-top:auto;padding-top:22px;font-size:12px;color:var(--muted);letter-spacing:.02em}
.svc .fit b{color:var(--gold);font-weight:600;text-transform:uppercase;font-size:10.5px;letter-spacing:.18em}

/* PROCESS STEPS */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-left:1px solid var(--hair)}
.step{padding:8px 36px 8px 32px;border-right:1px solid var(--hair)}
.step .n{
  font-family:Georgia,serif;font-size:54px;line-height:1;display:block;margin-bottom:22px;
  color:transparent;-webkit-text-stroke:1px var(--gold-dim);
}
.step h3{font-size:19px;margin-bottom:12px}
.step p{font-size:13.5px;color:var(--ivory-dim);font-weight:300}

/* SAVINGS / FEATURE BAND */
.savings{background:var(--bg-3);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.savings .wrap{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.savings h2{font-size:clamp(30px,3.4vw,44px);margin-bottom:22px;line-height:1.16}
.savings p{color:var(--ivory-dim);font-size:15.5px;margin-bottom:18px;font-weight:300}
.save-list{list-style:none;margin-top:8px}
.save-list li{
  background:var(--bg-2);border:1px solid var(--hair);border-left:1px solid var(--gold-dim);
  padding:20px 26px;margin-bottom:14px;font-size:15px;transition:border-color .4s;
}
.save-list li:hover{border-left-color:var(--gold)}
.save-list b{color:var(--ivory);display:block;margin-bottom:5px;font-size:15.5px;font-family:Georgia,serif;font-weight:400}
.save-list span{color:var(--muted);font-size:13.5px;font-weight:300}

/* ABOUT */
.about-grid{display:grid;grid-template-columns:.8fr 1.3fr;gap:72px;align-items:start}
.about-photo{
  aspect-ratio:4/5;background:
    radial-gradient(400px 300px at 30% 20%, rgba(201,169,98,.14), transparent),
    var(--bg-2);
  border:1px solid var(--hair);display:flex;align-items:center;justify-content:center;position:relative;
}
.about-photo::after{
  content:"";position:absolute;inset:14px;border:1px solid var(--hair);pointer-events:none;
}
.about-photo .mono{font-family:Georgia,serif;font-size:88px;color:var(--gold);letter-spacing:.08em}
.about-copy p{color:var(--ivory-dim);font-size:15.5px;margin-bottom:18px;max-width:62ch;font-weight:300}
blockquote.pull{
  border-left:1px solid var(--gold);padding:10px 0 10px 28px;margin:34px 0;
  font-family:Georgia,serif;font-size:21px;font-style:italic;color:var(--ivory);line-height:1.5;
}

/* PRINCIPLES / VALUE CARDS */
.val-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hair)}
.val{background:var(--bg-2);padding:38px 34px;transition:background .5s}
.tinted .val{background:var(--bg-2)}
.val:hover{background:var(--bg-3)}
.val h3{font-size:18px;margin-bottom:12px}
.val h3::before{
  content:"";display:block;width:26px;height:1px;background:var(--gold-dim);margin-bottom:18px;
}
.val p{font-size:13.5px;color:var(--ivory-dim);font-weight:300}

/* FAQ */
.faq{max-width:780px}
.faq details{border-bottom:1px solid var(--hair);padding:26px 0}
.faq summary{
  font-family:Georgia,serif;font-size:19px;cursor:pointer;list-style:none;
  display:flex;justify-content:space-between;align-items:center;gap:18px;
  transition:color .3s;
}
.faq summary:hover{color:var(--gold)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:22px;color:var(--gold);flex-shrink:0;font-family:Georgia,serif}
.faq details[open] summary{color:var(--gold)}
.faq details[open] summary::after{content:"–"}
.faq details p{margin-top:16px;color:var(--ivory-dim);font-size:14.5px;max-width:60ch;font-weight:300}

/* CONTACT */
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:72px;align-items:start}
.contact-card{
  background:var(--bg-2);border:1px solid var(--hair);border-top:1px solid var(--gold-dim);
  padding:46px 42px;position:relative;
}
.contact-card::before{
  content:"";position:absolute;top:-1px;left:0;width:64px;height:1px;background:var(--gold);
}
.contact-card h3{font-size:23px;margin-bottom:16px}
.contact-card p{color:var(--ivory-dim);font-size:14.5px;margin-bottom:28px;font-weight:300}
.contact-card .btn{width:100%;text-align:center;margin-bottom:18px}
.contact-card .mail{
  display:block;text-align:center;color:var(--muted);font-size:13px;
  letter-spacing:.06em;text-decoration:none;transition:color .3s;
}
.contact-card .mail:hover{color:var(--gold)}
.next-list{list-style:none;counter-reset:step}
.next-list li{
  counter-increment:step;padding:26px 0 26px 72px;position:relative;border-bottom:1px solid var(--hair);
}
.next-list li::before{
  content:counter(step,decimal-leading-zero);position:absolute;left:0;top:26px;
  font-family:Georgia,serif;font-size:24px;color:transparent;-webkit-text-stroke:1px var(--gold-dim);
}
.next-list b{display:block;font-size:17px;margin-bottom:6px;font-family:Georgia,serif;font-weight:400}
.next-list span{color:var(--ivory-dim);font-size:14px;font-weight:300}

/* CTA BAND */
.cta{
  text-align:center;padding:130px 0;border-top:1px solid var(--hair);
  background:
    radial-gradient(700px 340px at 50% 115%, rgba(201,169,98,.1), transparent 70%),
    var(--bg-2);
}
.cta .eyebrow{justify-content:center}
.cta .eyebrow::after{content:"";display:block;width:28px;height:1px;background:var(--gold-dim)}
.cta h2{font-size:clamp(30px,3.8vw,50px);max-width:26ch;margin:0 auto 22px;line-height:1.15}
.cta p{color:var(--ivory-dim);max-width:52ch;margin:0 auto 46px;font-size:16px;font-weight:300}
.cta-mail{
  display:block;margin-top:30px;color:var(--muted);font-size:13px;
  letter-spacing:.06em;text-decoration:none;transition:color .3s;
}
.cta-mail:hover{color:var(--gold)}

footer{background:var(--bg);border-top:1px solid var(--hair);color:var(--muted);padding:52px 0;font-size:12px;letter-spacing:.04em}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;align-items:center}
footer a{
  color:var(--ivory-dim);text-decoration:none;margin-left:22px;
  font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;transition:color .3s;
}
footer a:hover{color:var(--gold)}
footer .fnav a:first-child{margin-left:0}

/* ENTRANCE VEIL */
#veil{
  position:fixed;inset:0;z-index:100;background:var(--bg);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;
  transition:opacity 1s ease .9s,visibility 1s ease .9s;
}
#veil.lift{opacity:0;visibility:hidden}
#veil .v-mono{
  width:76px;height:76px;border:1px solid var(--gold-dim);color:var(--gold);
  display:flex;align-items:center;justify-content:center;
  font-family:Georgia,serif;font-size:26px;letter-spacing:.12em;padding-left:3px;
  animation:veilIn 1.1s cubic-bezier(.22,1,.36,1) both;
}
#veil .v-line{
  font-size:10px;letter-spacing:.34em;text-transform:uppercase;color:var(--muted);
  animation:veilIn 1.1s cubic-bezier(.22,1,.36,1) .25s both;
}
@keyframes veilIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* SCROLL REVEAL (classes applied by site.js only) */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1)}
.reveal.in{opacity:1;transform:none}

@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;transition:none}
  #veil{display:none}
}

@media(max-width:900px){
  section{padding:72px 0}
  .hero,.page-hero{padding:72px 0}
  .hero .wrap,.savings .wrap,.about-grid,.contact-grid{grid-template-columns:1fr;gap:44px}
  .stats .wrap{grid-template-columns:repeat(2,1fr);gap:32px 0}
  .stat{padding:6px 24px}
  .stat:nth-child(odd){border-left:none;padding-left:0}
  .path-grid,.svc-grid,.val-grid{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr;border-left:none}
  .step{border-right:none;border-left:1px solid var(--hair);margin-bottom:28px}
  .nav-links a:not(.btn){display:none}
}
