/* ============ TOKENS ============ */
:root {
  --text-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
  --text-sm: clamp(0.875rem, 0.8rem + 0.35vw, 1rem);
  --text-base: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
  --text-lg: clamp(1.125rem, 1rem + 0.75vw, 1.5rem);
  --text-xl: clamp(1.5rem, 1.2rem + 1.25vw, 2.25rem);
  --text-2xl: clamp(2rem, 1.2rem + 2.5vw, 3.5rem);
  --text-3xl: clamp(2.5rem, 1rem + 4vw, 5rem);
  --text-hero: clamp(2.75rem, 0.8rem + 6vw, 6.5rem);

  --space-1:.25rem; --space-2:.5rem; --space-3:.75rem; --space-4:1rem;
  --space-5:1.25rem; --space-6:1.5rem; --space-8:2rem; --space-10:2.5rem;
  --space-12:3rem; --space-16:4rem; --space-20:5rem; --space-24:6rem; --space-32:8rem;

  --radius-sm:.375rem; --radius-md:.5rem; --radius-lg:.875rem; --radius-xl:1.25rem; --radius-full:9999px;
  --transition-interactive: 220ms cubic-bezier(.16,1,.3,1);
  --content-wide: 1180px;

  --font-display: 'Clash Display', 'Times New Roman', serif;
  --font-body: 'General Sans', 'Helvetica Neue', sans-serif;
}

/* DARK (default brand mode) — forged iron */
:root, [data-theme="dark"] {
  --color-bg: #0b0b0d;
  --color-surface: #131316;
  --color-surface-2: #1a1a1e;
  --color-surface-3: #202026;
  --color-border: #2a2a30;
  --color-border-soft: #202024;
  --color-text: #f2efe8;
  --color-text-muted: #a3a09a;
  --color-text-faint: #6a6862;

  --color-gold: #d8a63d;
  --color-gold-bright: #f0c565;
  --color-gold-deep: #a97c22;
  --color-gold-glow: rgba(216,166,61,.16);

  --shadow-md: 0 8px 28px rgba(0,0,0,.45);
  --shadow-lg: 0 24px 60px rgba(0,0,0,.6);
  --shadow-gold: 0 10px 40px rgba(216,166,61,.22);

  --hero-scrim-1: rgba(11,11,13,.30);
  --hero-scrim-2: rgba(11,11,13,.92);
}

/* LIGHT — refined ivory + gold */
[data-theme="light"] {
  --color-bg: #f6f4ee;
  --color-surface: #fffdf8;
  --color-surface-2: #f1eee5;
  --color-surface-3: #ebe7db;
  --color-border: #ddd7c8;
  --color-border-soft: #e6e1d4;
  --color-text: #1c1a16;
  --color-text-muted: #6b675d;
  --color-text-faint: #a09b8e;

  --color-gold: #a97c22;
  --color-gold-bright: #c99a34;
  --color-gold-deep: #8a6318;
  --color-gold-glow: rgba(169,124,34,.12);

  --shadow-md: 0 8px 28px rgba(60,50,20,.10);
  --shadow-lg: 0 24px 60px rgba(60,50,20,.16);
  --shadow-gold: 0 10px 40px rgba(169,124,34,.20);

  --hero-scrim-1: rgba(20,18,12,.35);
  --hero-scrim-2: rgba(20,18,12,.55);
}

/* ============ BASE ============ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth;scroll-padding-top:5rem}
body{min-height:100dvh;line-height:1.65;font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background:var(--color-bg);overflow-x:hidden;transition:background .4s ease,color .4s ease}
img,svg{display:block;max-width:100%;height:auto}
ul[role="list"]{list-style:none}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{text-wrap:balance;line-height:1.08;font-family:var(--font-display);font-weight:600}
p{text-wrap:pretty}
::selection{background:var(--color-gold-glow);color:var(--color-text)}
:focus-visible{outline:2px solid var(--color-gold);outline-offset:3px;border-radius:var(--radius-sm)}
button{cursor:pointer;background:none;border:none;color:inherit;font:inherit}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

.container{width:100%;max-width:var(--content-wide);margin-inline:auto;padding-inline:clamp(1.25rem,5vw,2.5rem)}
.section{padding-block:clamp(var(--space-16),9vw,var(--space-32))}

/* ============ REVEAL ============ */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.reveal.in{opacity:1;transform:none}

/* ============ SHARED BITS ============ */
.eyebrow{display:inline-block;font-size:var(--text-xs);letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--color-text-muted)}
.eyebrow--gold{color:var(--color-gold);position:relative;padding-left:1.6rem}
.eyebrow--gold::before{content:"";position:absolute;left:0;top:50%;width:1.1rem;height:1px;background:var(--color-gold)}
.grad{color:var(--color-gold);background:linear-gradient(100deg,var(--color-gold-deep),var(--color-gold-bright) 45%,var(--color-gold-deep));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.section-head{max-width:640px;margin-bottom:clamp(var(--space-10),5vw,var(--space-16))}
.section-title{font-size:var(--text-2xl);margin:var(--space-4) 0 var(--space-4);letter-spacing:-.01em}
.section-sub{color:var(--color-text-muted);font-size:var(--text-base);max-width:56ch}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-body);font-weight:600;font-size:var(--text-sm);padding:.85rem 1.5rem;border-radius:var(--radius-full);border:1px solid transparent;transition:var(--transition-interactive);white-space:nowrap}
.btn--sm{padding:.6rem 1.15rem}
.btn--lg{padding:1.05rem 2rem;font-size:var(--text-base)}
.btn--gold{background:linear-gradient(160deg,var(--color-gold-bright),var(--color-gold-deep));color:#161206;box-shadow:var(--shadow-gold)}
.btn--gold:hover{transform:translateY(-2px);filter:brightness(1.08)}
.btn--ghost{border-color:var(--color-border);color:var(--color-text);background:transparent}
.btn--ghost:hover{border-color:var(--color-gold);color:var(--color-gold)}
.icon-btn{width:2.4rem;height:2.4rem;display:grid;place-items:center;border-radius:var(--radius-full);color:var(--color-text-muted);border:1px solid var(--color-border)}
.icon-btn:hover{color:var(--color-gold);border-color:var(--color-gold)}

/* ============ HEADER ============ */
.header{position:sticky;top:0;z-index:60;background:color-mix(in srgb,var(--color-bg) 82%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color .3s,background .3s}
.header.scrolled{border-bottom-color:var(--color-border-soft)}
.header__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);height:4.5rem}
.brand{display:flex;align-items:center;gap:.65rem;color:var(--color-gold)}
.brand__mark{flex-shrink:0}
.brand__text{display:flex;flex-direction:column;line-height:1;font-family:var(--font-display);font-weight:600;font-size:1rem;letter-spacing:.14em;color:var(--color-text)}
.brand__text em{font-style:normal;font-family:var(--font-body);font-weight:500;font-size:.62rem;letter-spacing:.34em;text-transform:uppercase;color:var(--color-gold);margin-top:.2rem}
.nav{display:flex;gap:var(--space-8)}
.nav a{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:500;position:relative}
.nav a:hover{color:var(--color-text)}
.nav a::after{content:"";position:absolute;left:0;bottom:-.4rem;width:0;height:1px;background:var(--color-gold);transition:width .25s}
.nav a:hover::after{width:100%}
.header__actions{display:flex;align-items:center;gap:var(--space-3)}

/* ============ HERO ============ */
.hero{position:relative;min-height:92vh;display:flex;align-items:center;overflow:hidden}
.hero__bg{position:absolute;inset:0;background:url('assets/hero-forge.jpg') center/cover no-repeat;transform:scale(1.05)}
.hero__scrim{position:absolute;inset:0;background:linear-gradient(90deg,var(--hero-scrim-2) 0%,var(--hero-scrim-1) 55%,transparent 100%),linear-gradient(to top,var(--color-bg) 2%,transparent 45%)}
.hero__inner{position:relative;z-index:2;padding-block:clamp(var(--space-20),12vh,var(--space-32));max-width:760px}
.hero__title{font-size:var(--text-hero);font-weight:600;letter-spacing:-.02em;margin:var(--space-6) 0 var(--space-6);color:#fff}
[data-theme="light"] .hero__title{color:#fff}
.hero__lede{font-size:var(--text-lg);line-height:1.55;color:rgba(242,239,232,.9);max-width:58ch}
[data-theme="light"] .hero__lede{color:rgba(255,255,255,.94)}
.hero__cta{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-8)}
.hero__stats{display:flex;flex-wrap:wrap;gap:clamp(var(--space-6),5vw,var(--space-16));margin-top:clamp(var(--space-10),6vh,var(--space-16));padding-top:var(--space-8);border-top:1px solid rgba(255,255,255,.14)}
.hero__stats li{display:flex;flex-direction:column;gap:.25rem}
.hero__stats strong{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-gold-bright);font-weight:600}
.hero__stats span{font-size:var(--text-xs);color:rgba(242,239,232,.7);letter-spacing:.02em}
[data-theme="light"] .hero__stats span{color:rgba(255,255,255,.85)}
.hero__scroll{position:absolute;left:50%;bottom:1.6rem;transform:translateX(-50%);z-index:3;width:1.4rem;height:2.3rem;border:1px solid rgba(255,255,255,.4);border-radius:var(--radius-full)}
.hero__scroll span{position:absolute;left:50%;top:.4rem;transform:translateX(-50%);width:3px;height:6px;border-radius:2px;background:var(--color-gold-bright);animation:scrolldot 1.8s infinite}
@keyframes scrolldot{0%{opacity:0;top:.4rem}40%{opacity:1}100%{opacity:0;top:1.3rem}}

/* ============ THESIS ============ */
.thesis__grid{display:grid;grid-template-columns:1fr;gap:var(--space-6);max-width:960px}
.thesis__lead{font-size:var(--text-xl);font-weight:500;letter-spacing:-.01em;line-height:1.25}
.thesis__body{color:var(--color-text-muted);font-size:var(--text-lg);max-width:70ch}

/* ============ FOCUS ============ */
.focus__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:var(--space-5)}
.fcard{position:relative;background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);padding:var(--space-8) var(--space-6) var(--space-6);overflow:hidden;transition:var(--transition-interactive)}
.fcard::before{content:"";position:absolute;left:0;top:0;height:3px;width:0;background:linear-gradient(90deg,var(--color-gold-deep),var(--color-gold-bright));transition:width .4s}
.fcard:hover{transform:translateY(-4px);border-color:var(--color-border);box-shadow:var(--shadow-md)}
.fcard:hover::before{width:100%}
.fcard__num{font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:.2em;color:var(--color-gold);font-weight:600}
.fcard h3{font-size:var(--text-lg);margin:var(--space-3) 0 var(--space-3)}
.fcard p{color:var(--color-text-muted);font-size:var(--text-sm);margin-bottom:var(--space-5)}
.fcard ul{display:flex;flex-direction:column;gap:.5rem}
.fcard li{font-size:var(--text-sm);color:var(--color-text);padding-left:1.15rem;position:relative}
.fcard li::before{content:"";position:absolute;left:0;top:.62em;width:.4rem;height:.4rem;border-radius:2px;background:var(--color-gold);transform:rotate(45deg)}
.focus__note{margin-top:var(--space-10);font-size:var(--text-base);color:var(--color-text-muted);max-width:75ch;padding:var(--space-5) var(--space-6);border-left:2px solid var(--color-gold);background:var(--color-surface)}
.focus__note strong{color:var(--color-text)}

/* ============ SERVICES ============ */
.tier-tag{display:inline-block;font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--color-text-faint);margin-bottom:var(--space-6);margin-top:var(--space-8)}
.services__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-5)}
.scard{position:relative;background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);padding:var(--space-6);display:flex;flex-direction:column;transition:var(--transition-interactive)}
.scard:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--color-border)}
.scard--feature{border-color:var(--color-gold);box-shadow:var(--shadow-gold)}
.scard--bundle{background:linear-gradient(165deg,var(--color-surface-2),var(--color-surface));border-color:var(--color-gold-deep)}
.scard__flag{position:absolute;top:-.7rem;left:var(--space-6);font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;padding:.3rem .7rem;border-radius:var(--radius-full);background:var(--color-gold);color:#161206}
.scard__flag--save{background:var(--color-surface-3);color:var(--color-gold-bright);border:1px solid var(--color-gold-deep)}
.scard h3{font-size:var(--text-lg);margin-bottom:var(--space-3)}
.scard p{color:var(--color-text-muted);font-size:var(--text-sm);flex:1;margin-bottom:var(--space-5)}
.scard__price{display:flex;align-items:baseline;gap:.5rem;padding-top:var(--space-4);border-top:1px solid var(--color-border-soft)}
.scard__amt{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;color:var(--color-gold-bright)}
.scard__unit{font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:.03em}
.services__note{margin-top:var(--space-8);font-size:var(--text-base);color:var(--color-text-muted);max-width:78ch}
.services__note strong{color:var(--color-gold)}

.ladder{display:flex;align-items:stretch;gap:var(--space-4);flex-wrap:wrap}
.ladder__step{flex:1;min-width:200px;background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);padding:var(--space-6)}
.ladder__k{display:block;font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-gold-bright);font-weight:600;margin-bottom:var(--space-3)}
.ladder__step p{font-size:var(--text-sm);color:var(--color-text-muted)}
.ladder__arrow{display:flex;align-items:center;color:var(--color-gold);font-size:1.4rem}

/* ============ PROCESS ============ */
.process__list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-6);counter-reset:step}
.process__list li{display:flex;gap:var(--space-4);align-items:flex-start}
.process__n{flex-shrink:0;width:2.6rem;height:2.6rem;display:grid;place-items:center;border-radius:var(--radius-full);border:1px solid var(--color-gold-deep);color:var(--color-gold-bright);font-family:var(--font-display);font-weight:600}
.process__list h3{font-size:var(--text-base);font-family:var(--font-body);font-weight:600;margin-bottom:.35rem}
.process__list p{font-size:var(--text-sm);color:var(--color-text-muted)}

/* ============ ABOUT ============ */
.about__grid{display:grid;grid-template-columns:1.3fr .9fr;gap:clamp(var(--space-8),5vw,var(--space-20));align-items:start}
.about__col p{color:var(--color-text-muted);margin-top:var(--space-4);max-width:60ch}
.about__where{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-8);align-items:center}
.about__where span{font-family:var(--font-display);font-weight:600;font-size:var(--text-sm);color:var(--color-gold-bright);padding:.4rem .9rem;border:1px solid var(--color-border);border-radius:var(--radius-full)}
.about__where span.muted{font-family:var(--font-body);font-weight:400;color:var(--color-text-faint);border:none;padding-left:0}
.principles{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);padding:var(--space-8)}
.principles h3{font-size:var(--text-lg);margin-bottom:var(--space-5);color:var(--color-gold-bright)}
.principles ul{display:flex;flex-direction:column;gap:var(--space-4)}
.principles li{font-size:var(--text-sm);color:var(--color-text-muted);padding-left:1.4rem;position:relative;line-height:1.55}
.principles li::before{content:"";position:absolute;left:0;top:.5em;width:.5rem;height:.5rem;background:var(--color-gold);transform:rotate(45deg)}
.principles strong{color:var(--color-text);display:block}

/* ============ CTA ============ */
.cta{position:relative;overflow:hidden}
.cta__bg{position:absolute;inset:0;background:radial-gradient(ellipse 80% 120% at 50% 0%,var(--color-gold-glow),transparent 60%);z-index:0}
.cta__inner{position:relative;z-index:1;text-align:center;max-width:680px;margin-inline:auto}
.cta__title{font-size:var(--text-2xl);margin:var(--space-4) 0 var(--space-4)}
.cta__sub{color:var(--color-text-muted);font-size:var(--text-lg);margin-inline:auto;max-width:52ch}
.cta__actions{display:flex;gap:var(--space-4);justify-content:center;flex-wrap:wrap;margin-top:var(--space-8)}
.cta__foot{margin-top:var(--space-8);font-size:var(--text-sm);color:var(--color-text-faint);letter-spacing:.02em}

/* ============ FOOTER ============ */
.footer{border-top:1px solid var(--color-border-soft);padding-block:var(--space-10)}
.footer__inner{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);text-align:center}
.footer__brand{display:flex;align-items:center;gap:.6rem;color:var(--color-gold);font-family:var(--font-display);font-weight:600;letter-spacing:.1em;font-size:var(--text-sm)}
.footer__brand span{color:var(--color-text)}
.footer__tag{font-family:var(--font-display);color:var(--color-gold-bright);letter-spacing:.05em;font-size:var(--text-base)}
.footer__meta{font-size:var(--text-xs);color:var(--color-text-faint);letter-spacing:.03em}

/* ============ RESPONSIVE ============ */
@media (max-width:860px){
  .nav{display:none}
  .about__grid{grid-template-columns:1fr}
  .ladder__arrow{display:none;transform:rotate(90deg)}
}
@media (max-width:540px){
  .header__actions .btn--sm{display:none}
  .hero__stats{gap:var(--space-6)}
  .brand__text{font-size:.9rem}
}
