/* ==========================================================================
   Digital Agent — static landing pages · Design System v2 "Forest Intelligence"
   Loaded AFTER ../assets/styles.css. Re-maps the page tokens to the shared brand
   system (see da-design/DESIGN_SYSTEM.md) and adjusts the few hard-coded lime values.
   No markup, heading, link or schema changes. Remove the <link> to roll back.
   ========================================================================== */

:root{
  --da-accent:#d9b679; --da-accent-hover:#e6cf98; --da-accent-glow:rgba(217,182,121,.20);
  --da-dark:#08241f; --da-dark-surface:#0a2c26; --da-dark-card:#0e3b33;
  --da-light:#f6f4ed; --da-white:#fbfaf7;
  --da-gray-100:#e5ddd5; --da-gray-300:rgba(246,244,237,.78); --da-gray-500:#5c6a66; --da-gray-700:#3f4f4a;
  --da-font-heading:'Playfair Display',Georgia,'Times New Roman',serif;
  --da-font-body:'Golos Text','Segoe UI',system-ui,-apple-system,sans-serif;
  --da-font-mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --da-radius:20px; --da-radius-sm:14px; --da-radius-btn:999px;
  --da-transition:.32s cubic-bezier(.22,1,.36,1);
  --dv2-gold-300:#e6cf98; --dv2-gold-400:#d9b679; --dv2-gold-500:#c8a46a; --dv2-gold-700:#9a7743; --dv2-gold-800:#876738;
  --dv2-f-950:#08241f; --dv2-f-900:#0a2c26; --dv2-f-800:#0e3b33; --dv2-f-700:#153e35;
  --dv2-cream-50:#fbfaf7; --dv2-cream-100:#f6f4ed; --dv2-cream-200:#f1ede4;
  --dv2-ink:#16211e; --dv2-on-dark:#f6f4ed; --dv2-on-dark-2:rgba(246,244,237,.78); --dv2-on-dark-3:rgba(246,244,237,.6);
  --dv2-mint:#5ce0b8; --dv2-line-dark:rgba(217,182,121,.16); --dv2-line-dark-2:rgba(246,244,237,.10);
  --dv2-gold-grad:linear-gradient(135deg,#e6cf98 0%,#d9b679 45%,#c8a46a 100%);
  --dv2-gold-grad-hover:linear-gradient(135deg,#f0dcae 0%,#e6cf98 45%,#d9b679 100%);
}

/* ---------- Base & typography ---------- */
body{ color:var(--da-gray-700); background:var(--da-white); font-size:1.0625rem; line-height:1.65; -webkit-font-smoothing:antialiased; }
h1,h2,h3,h4{ font-family:var(--da-font-heading); font-weight:500; letter-spacing:-.012em; line-height:1.12; }
h1{ font-size:clamp(2.3rem,1.4rem + 3vw,4rem); }
h2{ font-size:clamp(1.85rem,1.3rem + 1.6vw,3rem); }
h3{ font-size:clamp(1.25rem,1.05rem + .6vw,1.65rem); }
h4{ font-size:1.2rem; }
::selection{ background:var(--dv2-gold-400); color:var(--dv2-f-950); }
:focus-visible{ outline:2px solid var(--dv2-f-800); outline-offset:3px; }
.da-section--dark :focus-visible, .da-hero :focus-visible, .da-nav :focus-visible, .da-footer :focus-visible{ outline-color:var(--dv2-gold-400); }
.da-section--light a:not(.da-btn){ color:var(--dv2-gold-800); text-decoration-color:rgba(135,103,56,.45); }
.da-section--light a:not(.da-btn):hover{ color:var(--dv2-f-800); }
.da-section--dark{ color:var(--dv2-on-dark-2); }
.da-section--dark :is(.da-card p,.da-snippet p,.da-objection__a,.da-faq__answer-inner,.da-agent-link__text small,.da-stat__label){ color:var(--dv2-on-dark-3); }

/* mono labels */
.da-eyebrow,.da-marquee__item,.da-footer__col h4,.da-hero__badge,.da-scenario__time,.da-stat__label{
  font-family:var(--da-font-mono); font-weight:600; letter-spacing:.14em; text-transform:uppercase; font-size:.72rem;
}
.da-eyebrow{ color:var(--dv2-gold-400); }
.da-section--light .da-eyebrow{ color:var(--dv2-gold-800); }
.da-hero__badge{ display:inline-flex; align-items:center; gap:.5rem; padding:.45rem .9rem; border:1px solid rgba(217,182,121,.3); border-radius:999px; background:rgba(217,182,121,.10); color:var(--dv2-gold-300); margin-bottom:1.25rem; }

/* ---------- Navigation (glass forest) ---------- */
.da-nav{ background:rgba(8,36,31,.86); border-bottom:1px solid var(--dv2-line-dark); -webkit-backdrop-filter:blur(14px) saturate(140%); backdrop-filter:blur(14px) saturate(140%); }
.da-nav__links a{ color:var(--dv2-on-dark-2); font-size:.875rem; font-weight:500; letter-spacing:.01em; position:relative; }
.da-nav__links a:hover,.da-nav__links a.is-active{ color:var(--dv2-on-dark); }
.da-nav__links a::after{ content:""; position:absolute; left:0; right:0; bottom:-6px; height:1px; background:var(--dv2-gold-400); transform:scaleX(0); transform-origin:left; transition:transform .35s cubic-bezier(.22,1,.36,1); }
.da-nav__links a:hover::after,.da-nav__links a.is-active::after{ transform:scaleX(1); }
.da-nav__logo img,.da-footer__brand img{ filter:sepia(.7) hue-rotate(-8deg) saturate(1.45) brightness(1.08); }
.da-nav__toggle span{ background:var(--dv2-on-dark); }
@media (max-width:920px){ .da-nav__links{ background:rgba(8,36,31,.97); border-bottom-color:var(--dv2-line-dark); } }

/* ---------- Buttons ---------- */
.da-btn{ font-weight:600; font-size:.9375rem; padding:.95rem 1.8rem; letter-spacing:.01em; border-width:1.5px; }
.da-btn--primary,.da-section--dark .da-btn--primary,.da-cta-banner .da-btn--primary,.da-solutions-banner .da-btn--primary,.da-nav__cta .da-btn{
  background:var(--dv2-gold-grad); border-color:transparent; color:var(--dv2-f-950); box-shadow:0 12px 30px -12px rgba(217,182,121,.55);
}
.da-btn--primary:hover,.da-section--dark .da-btn--primary:hover,.da-cta-banner .da-btn--primary:hover,.da-solutions-banner .da-btn--primary:hover,.da-nav__cta .da-btn:hover{
  background:var(--dv2-gold-grad-hover); border-color:transparent; color:var(--dv2-f-950); box-shadow:0 20px 40px -14px rgba(217,182,121,.6); transform:translateY(-2px);
}
.da-section--light .da-btn--primary{ background:var(--dv2-f-800); border-color:var(--dv2-f-800); color:var(--dv2-cream-50); box-shadow:0 10px 26px -14px rgba(14,59,51,.6); }
.da-section--light .da-btn--primary:hover{ background:var(--dv2-f-700); border-color:var(--dv2-f-700); color:var(--dv2-cream-50); box-shadow:0 18px 34px -14px rgba(14,59,51,.6); }
.da-btn--outline{ color:var(--dv2-on-dark); border-color:rgba(246,244,237,.35); }
.da-btn--outline:hover{ border-color:var(--dv2-gold-400); color:var(--dv2-gold-300); background:rgba(217,182,121,.08); }
.da-section--light .da-btn--outline{ color:var(--dv2-f-800); border-color:rgba(14,59,51,.35); }
.da-nav__cta .da-btn{ padding:.65rem 1.25rem; font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; font-weight:700; }

/* ---------- Hero ---------- */
.da-hero{ background:linear-gradient(180deg,#08241f 0%,#0d3a31 58%,#0a2c26 100%); color:var(--dv2-on-dark); }
.da-hero::before{ display:none; }
.da-hero{ background:radial-gradient(70% 60% at 85% 0%, rgba(217,182,121,.16), transparent 62%), linear-gradient(180deg,#08241f 0%,#0d3a31 48%,#0a2c26 82%,#0a2c26 100%); }
.da-hero::after{ content:""; position:absolute; right:-10%; bottom:-30%; width:55%; height:120%; background:radial-gradient(ellipse,rgba(92,224,184,.09) 0%,transparent 62%); pointer-events:none; }
.da-hero .da-container{ position:relative; z-index:1; }
.da-hero h1{ color:var(--dv2-cream-50); text-wrap:balance; }
/* Safety net: the GSAP word reveal (interactions.js) can stall and leave the H1 clipped at translateY(100%).
   A CSS animation guarantees the words land visible (same motion, deterministic). */
.da-hero h1 .word{ line-height:1.2; padding-bottom:.06em; margin-bottom:-.06em; }
.da-hero h1 .word-inner{ animation:dv2-word-in .9s cubic-bezier(.22,1,.36,1) .25s both; }
@keyframes dv2-word-in{ from{ transform:translateY(100%); opacity:0; } to{ transform:none; opacity:1; } }
@media (prefers-reduced-motion:reduce){ .da-hero h1 .word-inner{ animation:none; transform:none!important; opacity:1!important; } }
.da-hero__lead{ color:var(--dv2-on-dark-2); font-size:1.15rem; }
.da-hero__particles canvas{ filter:sepia(1) hue-rotate(-6deg) saturate(1.1) brightness(1.05); opacity:.75; }

/* ---------- Sections, cards, blocks ---------- */
.da-section--dark .da-card{ background:rgba(255,255,255,.035); border-color:var(--dv2-line-dark-2); }
.da-section--dark .da-card:hover{ border-color:rgba(217,182,121,.45); box-shadow:0 30px 70px -30px rgba(0,0,0,.6); }
.da-section--light .da-card{ background:#fff; border-color:var(--da-gray-100); }
.da-section--light .da-card:hover{ border-color:rgba(217,182,121,.55); box-shadow:0 18px 44px -20px rgba(8,36,31,.28); }
.da-card h3{ font-size:1.35rem; }
.da-highlight{ border-left-color:var(--dv2-gold-400); background:var(--dv2-f-800); color:var(--dv2-on-dark-2); }
.da-section--light .da-highlight{ background:#fff; border-color:var(--dv2-gold-400); color:var(--da-gray-700); }
.da-timeline::before{ background:linear-gradient(to bottom,var(--dv2-gold-400),transparent); }
.da-cta-banner{ border-color:rgba(217,182,121,.28); background:var(--dv2-f-800); }
.da-cta-banner::before{ background:linear-gradient(90deg,transparent,var(--dv2-gold-400),transparent); }
.da-cta-banner p{ color:var(--dv2-on-dark-2); }
.da-cta-banner h3{ color:var(--dv2-cream-50); }
.da-faq__question{ font-family:var(--da-font-body); font-weight:600; font-size:1.05rem; }
.da-faq__question:hover{ color:var(--dv2-gold-700); }
.da-section--dark .da-faq__question:hover{ color:var(--dv2-gold-300); }
.da-table thead th{ font-family:var(--da-font-mono); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--dv2-gold-400); }
.da-table tbody tr:hover{ background:rgba(217,182,121,.05); }
.da-section--dark .da-table tbody tr:hover{ background:rgba(217,182,121,.07); }
.da-table td:first-child{ font-family:var(--da-font-body); }
.da-integration:hover,.da-usecase:hover,.da-pricing__tier:hover,.da-pricing__tier--featured{ border-color:rgba(217,182,121,.55); }
.da-integration:hover{ box-shadow:0 0 30px rgba(217,182,121,.12); }
.da-pricing__tier--featured::before{ background:var(--dv2-gold-grad); }
.da-related__link{ background:var(--dv2-f-800); border-color:var(--dv2-line-dark-2); }
.da-section--light .da-related__link{ background:var(--dv2-f-800); }
.da-related__link:hover{ border-color:var(--dv2-gold-400); color:var(--dv2-gold-300); }
.da-agent-link{ background:rgba(255,255,255,.035); border-color:var(--dv2-line-dark-2); }
.da-agent-link:hover{ border-color:rgba(217,182,121,.5); box-shadow:0 12px 30px -14px rgba(217,182,121,.35); }
.da-agent-link__icon{ background:rgba(217,182,121,.14); }
.da-section--light .da-agent-link{ background:#fff; border-color:var(--da-gray-100); color:var(--dv2-ink); }
.da-stats{ background:var(--dv2-line-dark-2); border:1px solid var(--dv2-line-dark-2); }
.da-stat{ background:var(--dv2-f-900); }
.da-stat__number{ font-family:var(--da-font-heading); font-weight:500; color:var(--dv2-gold-300); letter-spacing:-.02em; }
.da-marquee{ background:var(--dv2-f-900); border-color:var(--dv2-line-dark); }
.da-marquee__item{ color:var(--dv2-on-dark-3); }
.da-marquee__item::before{ background:var(--dv2-gold-400); }
.da-progress{ background:var(--dv2-gold-grad); box-shadow:0 0 10px rgba(217,182,121,.5); }
.da-accent-line{ background:var(--dv2-gold-400); }
.da-benefits li::before,.da-card ul li::before,.da-highlight ul li::before,.da-timeline__step::before,.da-scenario__event::before{ background:var(--dv2-gold-400); }
.da-timeline__step::before,.da-scenario__event::before{ box-shadow:0 0 12px rgba(217,182,121,.35); }
.da-snippet{ background:var(--dv2-cream-100); }
.da-section--dark .da-snippet{ background:rgba(255,255,255,.035); }

/* ---------- Footer ---------- */
.da-footer{ background:var(--dv2-f-950); border-top:1px solid var(--dv2-line-dark); color:var(--dv2-on-dark-3); position:relative; }
.da-footer::before{ content:""; position:absolute; left:0; right:0; top:-1px; height:1px; background:linear-gradient(90deg,transparent,rgba(217,182,121,.65),transparent); }
.da-footer__brand p,.da-footer__col ul a,.da-footer__bottom{ color:var(--dv2-on-dark-3); }
.da-footer__col h4{ color:var(--dv2-gold-400); }
.da-footer__col ul a:hover{ color:var(--dv2-gold-300); }
.da-footer__bottom{ font-family:var(--da-font-mono); font-size:.72rem; letter-spacing:.04em; border-top-color:var(--dv2-line-dark-2); }

/* ---------- Motion sanity ---------- */
@media (prefers-reduced-motion:reduce){ .da-hero::after{ display:none; } }
/* The pillar hero ships its own decorative .da-hero__glow (pale lime radial) - it reads as a milky green wash over the forest hero; the hero already carries gold/mint glows */
.da-hero__glow{ display:none!important; }
