:root{
    --ink: #16302A;
    --ink-deep: #0E1F1A;
    --gold: #C69A3D;
    --gold-bright: #DDB25C;
    --stone: #EDE7DA;
    --paper: #FAF8F3;
    --text: #1B2420;
    --cream: #F5F1E6;
    --muted: #6B7268;
    --muted-light: #B9C4BC;
    --line: #D8D0BE;
    --line-dark: rgba(245,241,230,0.16);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'IBM Plex Sans', sans-serif;
    color:var(--text);
    background:var(--paper);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3{font-family:'Fraunces', serif; font-weight:500; line-height:1.08; letter-spacing:-0.01em;}
  .mono{font-family:'IBM Plex Mono', monospace;}
  a{color:inherit;}
  .wrap{max-width:1080px; margin:0 auto; padding:0 32px;}
  @media (max-width:640px){ .wrap{padding:0 20px;} }

  /* ---------- WOVEN DIVIDER ---------- */
  .weave{ height:34px; width:100%; overflow:hidden; }
  .weave svg{ width:100%; height:100%; display:block; }

  /* ---------- LAUNCH BAR ---------- */
  .launch-bar{ background:var(--gold); padding:10px 0; }
  .launch-bar-inner{ display:flex; align-items:center; justify-content:center; gap:18px; flex-wrap:wrap; text-align:center; }
  .launch-text{ font-size:0.85rem; color:var(--ink-deep); }
  .launch-cta{
    font-family:'IBM Plex Mono',monospace; font-size:0.8rem; font-weight:600; color:var(--ink-deep);
    text-decoration:none; border-bottom:1.5px solid var(--ink-deep); padding-bottom:1px; white-space:nowrap;
    margin-left:18px;
  }
  .launch-cta:hover{ color:var(--ink); border-color:var(--ink); }
  @media (max-width:640px){ .launch-text{ font-size:0.78rem; } }

  /* ---------- HEADER ---------- */
  header{
    position:sticky; top:0; z-index:50;
    background:rgba(22,48,42,0.92);
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--line-dark);
  }
  .nav{ display:flex; align-items:center; justify-content:space-between; padding:18px 32px; max-width:1080px; margin:0 auto; }
  .brand-block{ display:flex; flex-direction:column; gap:5px; }
  .brand-primary{ color:var(--cream); font-family:'Fraunces',serif; font-weight:600; font-size:1.3rem; letter-spacing:0.02em; }
  .brand-primary span{ color:var(--gold-bright); }
  .brand-tagline{ font-family:'IBM Plex Mono',monospace; font-size:0.74rem; letter-spacing:0.02em; color:var(--muted-light); line-height:1.5; }
  .brand-tagline .tw2{ color:var(--gold-bright); font-weight:500; }
  .brand-parent{ font-family:'IBM Plex Mono',monospace; font-size:0.68rem; letter-spacing:0.04em; color:var(--muted-light); margin-top:4px; }
  .brand-parent .tw{ color:var(--cream); font-weight:600; }
  header .nav{ padding:22px 32px; }
  @media (max-width:640px){ .brand-tagline, .brand-parent{ display:none; } }
  .nav-links{ display:flex; align-items:center; gap:22px; }
  .nav-link{ margin-right:22px; }
  @media (max-width:640px){ .nav-links{ gap:14px; } .nav-link{ display:none; } }
  .nav-link{ color:var(--muted-light); font-size:0.88rem; text-decoration:none; border-bottom:1px solid transparent; }
  .nav-link:hover{ color:var(--cream); border-color:var(--gold-bright); }
  .nav-cta{
    background:var(--gold); color:var(--ink-deep); font-weight:600; font-size:0.85rem;
    padding:9px 18px; border-radius:3px; text-decoration:none; transition:background 0.15s ease;
    white-space:nowrap;
  }
  .nav-cta:hover{ background:var(--gold-bright); }

  /* ---------- HERO ---------- */
  .hero{
    background: radial-gradient(ellipse 900px 500px at 15% -10%, #1D3B33 0%, var(--ink) 55%), var(--ink);
    color:var(--cream);
    padding:96px 0 90px;
    position:relative;
    overflow:hidden;
  }
  .hero-weave{ position:absolute; inset:0; opacity:0.06; pointer-events:none; }
  .hero-grid{
    display:flex; gap:56px; align-items:center;
    position:relative; z-index:2;
  }
  .hero-grid > div:first-child{ flex:1.15; }
  .hero-grid > div:last-child{ flex:0.85; }
  @media (max-width:860px){ .hero-grid{ flex-direction:column; } .hero-grid > div{ flex:1 !important; width:100%; } }
  .eyebrow{
    display:inline-block; font-family:'IBM Plex Mono',monospace; font-size:0.72rem; letter-spacing:0.14em;
    text-transform:uppercase; color:var(--gold-bright); border:1px solid rgba(198,154,61,0.4);
    padding:6px 12px; border-radius:2px; margin-bottom:26px;
  }
  .hero h1{
    font-size:clamp(2.1rem, 4.4vw, 3.35rem); color:var(--cream); margin-bottom:22px;
  }
  .hero h1 em{ color:var(--gold-bright); font-style:italic; }
  .hero p.lede{
    font-size:1.08rem; color:var(--muted-light); max-width:46ch; margin-bottom:34px;
  }
  .hero-ctas{ display:flex; gap:14px; flex-wrap:wrap; align-items:center; }
  .btn-primary{
    background:var(--gold); color:var(--ink-deep); font-weight:600; font-size:0.95rem;
    padding:14px 26px; border-radius:3px; text-decoration:none; display:inline-block;
    transition:transform 0.15s ease, background 0.15s ease;
  }
  .btn-primary:hover{ background:var(--gold-bright); transform:translateY(-1px); }
  .btn-ghost{
    color:var(--cream); font-size:0.92rem; text-decoration:none; border-bottom:1px solid rgba(245,241,230,0.35);
    padding-bottom:3px; transition:border-color 0.15s ease;
  }
  .btn-ghost:hover{ border-color:var(--gold-bright); }
  .hero-note{ margin-top:16px; font-size:0.82rem; color:var(--muted-light); }

  /* ---------- GAP CARD (signature element) ---------- */
  .gapcard{
    background:linear-gradient(155deg, #1B3A32 0%, #12251F 100%);
    border:1px solid rgba(198,154,61,0.22);
    border-radius:6px; padding:32px 28px;
    box-shadow:0 24px 60px -20px rgba(0,0,0,0.5);
  }
  .gapcard .gapcard-label{
    font-family:'IBM Plex Mono',monospace; font-size:0.68rem; letter-spacing:0.12em; text-transform:uppercase;
    color:var(--muted-light); margin-bottom:18px;
  }
  .gap-row{ display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:6px; }
  .gap-figure{ text-align:center; }
  .gap-figure .num{ font-family:'IBM Plex Mono',monospace; font-weight:500; font-size:2.6rem; color:var(--cream); line-height:1; }
  .gap-figure .num.hi{ color:var(--gold-bright); }
  .gap-figure .cap{ font-size:0.72rem; color:var(--muted-light); margin-top:8px; letter-spacing:0.02em; }
  .gap-connector{ flex:1; height:1px; background:repeating-linear-gradient(to right, rgba(198,154,61,0.5) 0 6px, transparent 6px 12px); margin-bottom:20px; position:relative; }
  .gap-diff{
    text-align:center; margin-top:20px; padding-top:20px; border-top:1px solid rgba(245,241,230,0.12);
    font-size:0.86rem; color:var(--muted-light);
  }
  .gap-diff strong{ color:var(--gold-bright); font-family:'IBM Plex Mono',monospace; }

  /* ---------- PROBLEM SECTION ---------- */
  .section{ padding:88px 0; }
  .section-light{ background:var(--paper); }
  .section-stone{ background:var(--stone); }
  .kicker{
    font-family:'IBM Plex Mono',monospace; font-size:0.72rem; letter-spacing:0.14em; text-transform:uppercase;
    color:var(--gold); margin-bottom:16px; display:block;
  }
  .section h2{ font-size:clamp(1.7rem,3vw,2.3rem); margin-bottom:20px; max-width:22ch; }
  .section p.intro{ font-size:1.02rem; color:var(--muted); max-width:62ch; margin-bottom:8px; }

  .problem-grid{ display:flex; gap:28px; margin-top:52px; flex-wrap:wrap; }
  .problem-card{ flex:1; min-width:220px; }
  @media (max-width:760px){ .problem-card{ min-width:100%; } }
  .problem-card{ border-top:2px solid var(--ink); padding-top:18px; }
  .problem-card h3{ font-size:1.12rem; margin-bottom:10px; color:var(--ink); font-weight:600; }
  .problem-card p{ font-size:0.94rem; color:var(--muted); }

  /* ---------- PILLARS ---------- */
  .pillars{ margin-top:56px; display:flex; flex-direction:column; gap:2px; background:var(--line); border:1px solid var(--line); border-radius:8px; overflow:hidden; }
  .pillar{ background:var(--paper); padding:34px 32px; display:flex; gap:28px; align-items:flex-start; }
  .pillar-name{ flex:0 0 200px; }
  @media (max-width:700px){ .pillar{ flex-direction:column; gap:10px; } .pillar-name{ flex:1; } }
  .pillar-name{ font-family:'Fraunces',serif; font-weight:500; font-size:1.18rem; color:var(--ink); }
  .pillar-name .tag{ display:block; font-family:'IBM Plex Mono',monospace; font-size:0.68rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold); margin-top:6px; }
  .pillar-desc{ font-size:0.96rem; color:var(--muted); flex:1; }

  /* ---------- WHY DIFFERENT ---------- */
  .why-grid{ display:flex; gap:60px; margin-top:48px; align-items:flex-start; }
  .why-grid > div{ flex:1; }
  @media (max-width:800px){ .why-grid{ flex-direction:column; gap:36px; } }
  .credential-list{ display:flex; flex-direction:column; gap:22px; }
  .credential{ display:flex; gap:16px; align-items:flex-start; }
  .credential .mark{
    width:8px; height:8px; border-radius:50%; background:var(--gold); margin-top:8px; flex-shrink:0;
  }
  .credential p{ font-size:0.96rem; color:var(--text); }
  .credential .label{ display:block; font-family:'IBM Plex Mono',monospace; font-size:0.7rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--muted); margin-bottom:4px; }

  .quote-block{
    background:var(--ink); color:var(--cream); border-radius:8px; padding:40px 36px;
    position:relative;
  }
  .quote-block p{ font-family:'Fraunces',serif; font-style:italic; font-size:1.28rem; line-height:1.45; color:var(--cream); }
  .quote-block .attribution{ margin-top:22px; font-family:'IBM Plex Mono',monospace; font-size:0.76rem; color:var(--gold-bright); letter-spacing:0.03em; }

  /* ---------- WHO IT'S FOR ---------- */
  .who-list{ display:flex; flex-wrap:wrap; gap:20px 40px; margin-top:48px; }
  .who-item{ flex:0 0 calc(50% - 20px); }
  @media (max-width:700px){ .who-item{ flex:0 0 100%; } }
  @media (max-width:700px){ .who-list{ grid-template-columns:1fr; } }
  .who-item{ display:flex; gap:14px; padding:18px 0; border-bottom:1px solid var(--line); }
  .who-item .mono-tag{ font-family:'IBM Plex Mono',monospace; font-size:0.76rem; color:var(--gold); flex-shrink:0; padding-top:2px; }
  .who-item p{ font-size:0.96rem; color:var(--text); }

  /* ---------- CTA ---------- */
  .cta-section{
    background: radial-gradient(ellipse 800px 400px at 85% 110%, #1D3B33 0%, var(--ink) 55%), var(--ink);
    color:var(--cream); padding:96px 0; text-align:center;
  }
  .cta-section h2{ color:var(--cream); font-size:clamp(1.8rem,3.6vw,2.5rem); max-width:20ch; margin:0 auto 18px; }
  .cta-section p{ color:var(--muted-light); max-width:48ch; margin:0 auto 36px; font-size:1.02rem; }
  .cta-meta{ margin-top:22px; font-size:0.82rem; color:var(--muted-light); font-family:'IBM Plex Mono',monospace; }

  /* ---------- FOOTER ---------- */
  footer{ background:var(--ink-deep); color:var(--muted-light); padding:44px 0 36px; font-size:0.85rem; }
  .footer-grid{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; }
  footer a{ color:var(--muted-light); text-decoration:none; border-bottom:1px solid transparent; }
  footer a:hover{ border-color:var(--gold-bright); color:var(--cream); }
  .footer-links{ display:flex; gap:24px; flex-wrap:wrap; }
  .footer-links a{ margin-right:24px; }
  .footer-links a:last-child{ margin-right:0; }

  /* ---------- REVEAL ANIMATION ---------- */
  .reveal{ opacity:0; transform:translateY(14px); transition:opacity 0.6s ease, transform 0.6s ease; }
  .reveal.in{ opacity:1; transform:translateY(0); }
  @media (prefers-reduced-motion: reduce){
    html{ scroll-behavior:auto; }
    .reveal{ opacity:1; transform:none; transition:none; }
  }

  /* ---------- POWER QUOTE ---------- */
  .power-quote{
    background: radial-gradient(ellipse 700px 380px at 50% 50%, #1D3B33 0%, var(--ink) 70%), var(--ink);
    padding:76px 0; text-align:center;
  }
  .power-quote-text{
    font-family:'Fraunces',serif; font-style:italic; font-weight:500; color:var(--cream);
    font-size:clamp(1.5rem, 3.4vw, 2.2rem); max-width:24ch; margin:0 auto 20px; line-height:1.3;
  }
  .power-quote-attr{ font-family:'IBM Plex Mono',monospace; font-size:0.78rem; color:var(--gold-bright); letter-spacing:0.03em; }

  /* ---------- EVIDENCE / STATS ---------- */
  .stats-row{ display:flex; gap:32px; margin-top:48px; flex-wrap:wrap; }
  .stat-card{ flex:1; min-width:280px; background:var(--stone); border-radius:8px; padding:32px 30px; border-top:3px solid var(--gold); }
  .stat-num{ font-family:'IBM Plex Mono',monospace; font-weight:500; font-size:3.2rem; color:var(--ink); line-height:1; margin-bottom:16px; }
  .stat-pct{ font-size:1.8rem; color:var(--gold); }
  .stat-desc{ font-size:0.95rem; color:var(--muted); margin-bottom:16px; }
  .stat-source{ font-family:'IBM Plex Mono',monospace; font-size:0.72rem; color:var(--muted); letter-spacing:0.02em; }

  /* ---------- SERVICES ---------- */
  .services-list{ margin-top:48px; display:flex; flex-direction:column; gap:2px; background:var(--line); border:1px solid var(--line); border-radius:8px; overflow:hidden; }
  .service-row{ background:var(--paper); padding:32px; display:flex; gap:32px; align-items:center; justify-content:space-between; }
  .service-row.service-flagship{ background:var(--ink); }
  .service-info{ flex:1; max-width:640px; }
  .service-name{ font-family:'Fraunces',serif; font-weight:500; font-size:1.2rem; color:var(--ink); margin-bottom:10px; }
  .service-flagship .service-name{ color:var(--cream); }
  .flagship-tag{
    display:inline-block; font-family:'IBM Plex Mono',monospace; font-size:0.62rem; letter-spacing:0.1em;
    text-transform:uppercase; background:var(--gold); color:var(--ink-deep); padding:3px 8px; border-radius:2px;
    vertical-align:middle; margin-left:10px; font-weight:600;
  }
  .service-desc{ font-size:0.93rem; color:var(--muted); }
  .service-flagship .service-desc{ color:var(--muted-light); }
  .service-meta{ flex:0 0 180px; text-align:right; }
  @media (max-width:760px){
    .service-row{ flex-direction:column; align-items:flex-start; gap:16px; }
    .service-meta{ text-align:left; }
  }
  .service-price{ font-family:'IBM Plex Mono',monospace; font-size:1.15rem; font-weight:500; color:var(--ink); }
  .service-flagship .service-price{ color:var(--gold-bright); }
  .service-price-cap{ font-size:0.76rem; color:var(--muted); margin-top:4px; }
  .service-flagship .service-price-cap{ color:var(--muted-light); }
  .services-note{ margin-top:28px; font-size:0.88rem; color:var(--muted); font-style:italic; max-width:60ch; }

  /* ---------- CONTACT ---------- */
  .contact-grid{ display:flex; gap:56px; margin-top:44px; align-items:flex-start; }
  @media (max-width:800px){ .contact-grid{ flex-direction:column; gap:36px; } }
  .contact-direct{ flex:0 0 280px; }
  .contact-label{ font-family:'IBM Plex Mono',monospace; font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); margin-bottom:10px; }
  .contact-email{
    display:inline-block; font-family:'Fraunces',serif; font-size:1.3rem; color:var(--ink);
    text-decoration:none; border-bottom:1px solid var(--gold); padding-bottom:2px;
  }
  .contact-email:hover{ color:var(--gold); }
  .contact-form{ flex:1; max-width:480px; }
  .form-row{ margin-bottom:18px; }
  .form-row label{
    display:block; font-family:'IBM Plex Mono',monospace; font-size:0.72rem; letter-spacing:0.08em;
    text-transform:uppercase; color:var(--muted); margin-bottom:6px;
  }
  .form-row input, .form-row textarea{
    width:100%; font-family:'IBM Plex Sans',sans-serif; font-size:0.95rem; color:var(--text);
    background:var(--paper); border:1px solid var(--line); border-radius:3px; padding:10px 12px;
    resize:vertical;
  }
  .form-row input:focus, .form-row textarea:focus{ outline:2px solid var(--gold); outline-offset:1px; border-color:var(--gold); }
  .form-note{ margin-top:12px; font-size:0.78rem; color:var(--muted); }

  /* ---------- ABOUT / BIO ---------- */
  .about-grid{ display:flex; gap:40px; align-items:center; }
  @media (max-width:700px){ .about-grid{ flex-direction:column; align-items:flex-start; } }
  .about-photo{
    flex:0 0 120px; width:120px; height:120px; border-radius:50%;
    background:linear-gradient(155deg, #1B3A32 0%, var(--ink) 100%);
    color:var(--gold-bright); font-family:'Fraunces',serif; font-weight:600; font-size:2.1rem;
    display:flex; align-items:center; justify-content:center;
    border:1px solid rgba(198,154,61,0.3);
  }

  .debbo-callout{ margin-top:26px; padding-top:22px; border-top:1px solid var(--line); }
  .debbo-callout-name{ font-family:'Fraunces',serif; font-weight:600; font-size:0.95rem; color:var(--ink); }
  .debbo-callout-name span{ color:var(--gold); }
  .debbo-callout-tag{ font-family:'IBM Plex Mono',monospace; font-size:0.68rem; letter-spacing:0.03em; color:var(--muted); margin-top:4px; }
  .debbo-callout-tag .tw{ color:var(--ink); font-weight:600; }

  /* ---------- FAQ ---------- */
  .faq-list{ margin-top:44px; display:flex; flex-direction:column; }
  .faq-item{ padding:22px 0; border-bottom:1px solid var(--line); }
  .faq-item h3{ font-size:1.02rem; font-weight:600; color:var(--ink); margin-bottom:8px; font-family:'IBM Plex Sans',sans-serif; }
  .faq-item p{ font-size:0.94rem; color:var(--muted); max-width:64ch; }

  .nav-link.active{ color:var(--gold-bright); }

  /* ---------- PAGE HERO (About / Services / Contact) ---------- */
  .page-hero{
    background: radial-gradient(ellipse 900px 500px at 15% -10%, #1D3B33 0%, var(--ink) 55%), var(--ink);
    color:var(--cream); padding:64px 0 56px;
  }
  .page-hero .kicker{ color:var(--gold-bright); }
  .page-hero h1{ color:var(--cream); font-size:clamp(1.9rem, 3.6vw, 2.6rem); max-width:22ch; margin-bottom:14px; }
  .page-hero p{ color:var(--muted-light); max-width:52ch; font-size:1.02rem; }

  :focus-visible{ outline:2px solid var(--gold); outline-offset:2px; }