/* Talon Edge Strategy — landing page stylesheet
   Every colour, type size, spacing, radius and easing is a token in :root below. */

/* ---------- Design tokens ---------- */
:root{
  --color-bg:#0B0F14;
  --color-bg-raised:#111822;
  --color-bg-raised-2:#162030;
  --color-border:rgba(70,100,127,.38);
  --color-border-strong:rgba(143,169,194,.55);
  --color-text:#EEF2F6;
  --color-text-muted:#A9B6C4;
  --color-text-subtle:#8FA9C2;
  --color-amber:#EA983E;
  --color-amber-hover:#F2AB5C;
  --color-on-amber:#14110B;
  --color-slate:#46647F;
  --color-slate-glow:rgba(70,100,127,.45);
  --color-error:#F4A6A6;
  --color-success:#A8E0B9;

  --font-display:'Barlow Condensed','Arial Narrow',Impact,sans-serif;
  --font-body:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;

  --text-xs:.8125rem;
  --text-sm:.9375rem;
  --text-md:1.0625rem;
  --text-lg:clamp(1.125rem,1rem + .5vw,1.375rem);
  --text-h3:clamp(1.625rem,1.4rem + .9vw,2.125rem);
  --text-h2:clamp(2.5rem,1.7rem + 2.8vw,4rem);
  --text-h1:clamp(3.25rem,1.9rem + 6vw,6.75rem);
  --text-stat:clamp(2.5rem,1.8rem + 2.4vw,3.75rem);
  --leading-body:1.65;

  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:24px;
  --space-6:32px; --space-7:48px; --space-8:64px; --space-9:96px; --space-10:128px;
  --section-y:clamp(72px,6vw + 32px,128px);

  --radius-sm:6px; --radius-md:12px; --radius-lg:20px; --radius-pill:999px;

  --content-max:1200px;
  --gutter:clamp(20px,4vw,48px);
  --measure:68ch;

  --shadow-card:0 1px 0 rgba(255,255,255,.03) inset;
  --ease:180ms ease;
  --ease-out:cubic-bezier(.2,.7,.2,1);
  --focus-ring:2px solid var(--color-amber);
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-md);line-height:var(--leading-body);overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:var(--color-text);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--color-amber)}
h1,h2,h3{margin:0;font-family:var(--font-display);font-weight:700;line-height:1;letter-spacing:-.005em;text-wrap:balance}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
button{font:inherit}
:focus-visible{outline:var(--focus-ring);outline-offset:3px;border-radius:2px}
.page{position:relative;min-height:100%;width:100%}
.container{max-width:var(--content-max);margin:0 auto;padding:0 var(--gutter)}
.section{padding:var(--section-y) 0;border-top:1px solid var(--color-border)}
.section-head{display:flex;flex-direction:column;gap:var(--space-4);max-width:var(--measure);margin-bottom:var(--space-7)}
.lead{font-size:var(--text-lg);color:var(--color-text-muted);max-width:var(--measure)}
.muted{color:var(--color-text-muted)}
.eyebrow{font-family:var(--font-body);font-size:var(--text-xs);font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--color-amber)}
.deco{pointer-events:none;user-select:none}

/* ---------- Skip link ---------- */
.skip{position:absolute;left:var(--space-4);top:-100px;z-index:100;padding:12px 16px;background:var(--color-amber);color:var(--color-on-amber);font-weight:700;border-radius:var(--radius-sm);text-decoration:none}
.skip:focus{top:var(--space-4)}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;min-width:44px;padding:0 22px;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--text-sm);font-weight:700;letter-spacing:.01em;line-height:1;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:background var(--ease),border-color var(--ease),color var(--ease)}
.btn svg{width:16px;height:16px;flex:none}
.btn-primary{background:var(--color-amber);color:var(--color-on-amber)}
.btn-primary:hover{background:var(--color-amber-hover);color:var(--color-on-amber)}
.btn-secondary{background:transparent;color:var(--color-text);border-color:var(--color-border-strong)}
.btn-secondary:hover{background:rgba(70,100,127,.18);border-color:var(--color-text-subtle);color:var(--color-text)}
.btn-group{display:flex;flex-wrap:wrap;gap:var(--space-3)}
.btn-block{width:100%}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;background:transparent;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer}
.icon-btn svg{width:22px;height:22px}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(11,15,20,.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:background var(--ease),border-color var(--ease)}
.site-header.is-scrolled{background:rgba(11,15,20,.9);border-bottom-color:var(--color-border)}
.header-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);min-height:80px}
.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--color-text)}
.brand:hover{color:var(--color-text)}
.brand svg{width:36px;height:36px}
.wordmark{font-family:var(--font-display);font-weight:600;font-size:1.375rem;letter-spacing:.08em;text-transform:uppercase;line-height:1}
.dot{color:var(--color-amber)}
.nav-desktop{display:none;align-items:center;gap:var(--space-6)}
.nav-desktop ul{display:flex;gap:var(--space-6)}
.nav-link{font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted);text-decoration:none;padding:12px 0;display:inline-block}
.nav-link:hover{color:var(--color-text)}
.menu-toggle{display:inline-flex}
.mobile-menu{border-top:1px solid var(--color-border);background:rgba(11,15,20,.97);padding:var(--space-4) 0 var(--space-6)}
.mobile-menu ul{display:flex;flex-direction:column}
.mobile-menu .nav-link{display:block;padding:14px 0;font-size:var(--text-lg);color:var(--color-text);border-bottom:1px solid var(--color-border)}
.mobile-menu .btn{margin-top:var(--space-5)}

/* ---------- Hero (eagle) ---------- */
.hero{position:relative;overflow:hidden;padding:clamp(80px,10vw,150px) 0 clamp(96px,11vw,176px);min-height:640px;display:flex;align-items:center}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-7);width:100%}
.hero-copy{display:flex;flex-direction:column;gap:var(--space-4);max-width:560px}
.hero h1{font-size:clamp(3rem,1.6rem + 4.8vw,5.25rem);line-height:.94;letter-spacing:-.01em}
.hero .lead{max-width:30rem;font-size:var(--text-md);color:#C2CCD8}
.hero-visual{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero-img{position:absolute;inset:0;background-image:url("assets/images/eagle-hero.jpg");background-size:cover;background-position:70% 50%;background-repeat:no-repeat}
.hero-wash{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,15,20,.92) 0%,rgba(11,15,20,.8) 28%,rgba(11,15,20,.45) 46%,rgba(11,15,20,.05) 58%,rgba(11,15,20,0) 100%)}
.hero-wash-y{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,15,20,.4) 0%,rgba(11,15,20,0) 20%,rgba(11,15,20,0) 86%,var(--color-bg) 100%)}

/* ---------- Proof strip ---------- */
.proof{padding:0 0 var(--section-y);border-top:0}
.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--color-border);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}
.stat{background:var(--color-bg-raised);padding:var(--space-6) var(--space-5);display:flex;flex-direction:column;gap:var(--space-2)}
.stat-number{font-family:var(--font-display);font-weight:700;font-size:var(--text-stat);line-height:1;color:var(--color-text)}
.stat-prefix{font-size:.42em;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);vertical-align:.18em;margin-right:.1em}
.stat-label{font-size:var(--text-sm);color:var(--color-text-muted);max-width:22ch}

/* ---------- Services ---------- */
.cards{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-5)}
.card{background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);box-shadow:var(--shadow-card);transition:border-color var(--ease)}
.card:hover{border-color:var(--color-border-strong)}
.card-icon{width:48px;height:48px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;background:rgba(70,100,127,.22);border:1px solid var(--color-border);color:var(--color-amber)}
.card-icon svg{width:24px;height:24px}
.card-kicker{font-size:var(--text-xs);font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--color-text-subtle)}
.card h3{font-size:var(--text-h3);line-height:1.05}
.card p{color:var(--color-text-muted);font-size:var(--text-md)}
.includes{margin-top:auto;padding-top:var(--space-4);border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-2)}
.includes-label{font-size:.6875rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-subtle)}
.includes ul{display:flex;flex-wrap:wrap;gap:6px}
.includes li{font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1;color:#F0B261;padding:6px 9px;border:1px solid rgba(234,152,62,.32);border-radius:var(--radius-sm);background:rgba(234,152,62,.08)}
.aside-note{margin-top:var(--space-6);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted)}
.text-link{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--color-text);text-decoration:none;border-bottom:1px solid var(--color-border-strong);padding:10px 0;min-height:44px}
.text-link:hover{color:var(--color-amber);border-bottom-color:var(--color-amber)}
.text-link svg{width:14px;height:14px}

/* ---------- Approach ---------- */
.steps{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-6)}
.step{position:relative;display:flex;flex-direction:column;gap:var(--space-4)}
.step-num{position:relative;z-index:1;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--color-bg);border:1px solid var(--color-border-strong);box-shadow:0 0 40px rgba(70,100,127,.35);font-family:var(--font-display);font-weight:700;font-size:1.5rem;color:var(--color-amber)}
.step h3{font-size:var(--text-h3);line-height:1.05}
.step p{color:var(--color-text-muted);max-width:36ch}
.closing{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--color-border);font-family:var(--font-display);font-weight:600;font-size:var(--text-h3);line-height:1.15;color:var(--color-text);max-width:30ch}

/* ---------- About ---------- */
.about-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-7);align-items:center}
.portrait{display:block;width:100%;max-width:400px;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-raised-2)}
.about-copy{display:flex;flex-direction:column;gap:var(--space-5);max-width:var(--measure)}
.about-copy p{color:var(--color-text-muted)}
.about-copy h2{font-size:var(--text-h2)}
.link-row{display:flex;flex-wrap:wrap;gap:var(--space-5)}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-7)}
.contact-intro{display:flex;flex-direction:column;gap:var(--space-4)}
.contact-intro h2{font-size:var(--text-h2)}
.form{display:flex;flex-direction:column;gap:var(--space-5);background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-6)}
.field{display:flex;flex-direction:column;gap:var(--space-2)}
.label{font-size:var(--text-sm);font-weight:700;color:var(--color-text)}
.input{width:100%;min-height:48px;padding:12px 14px;background:var(--color-bg);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-text);font-family:var(--font-body);font-size:1rem;line-height:1.4;transition:border-color var(--ease)}
.input::placeholder{color:#6F8296}
.input:hover{border-color:var(--color-text-subtle)}
.input[aria-invalid="true"]{border-color:var(--color-error)}
textarea.input{min-height:150px;resize:vertical}
.error{display:flex;align-items:center;gap:6px;color:var(--color-error);font-size:var(--text-sm);font-weight:600}
.error svg{width:16px;height:16px;flex:none}
.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.status{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:var(--color-bg);font-size:var(--text-sm);font-weight:600}
.status svg{width:18px;height:18px;flex:none;margin-top:2px}
.status-success{color:var(--color-success);border-color:rgba(168,224,185,.45)}
.status-error{color:var(--color-error);border-color:rgba(244,166,166,.45)}
.prefer{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border);font-size:var(--text-sm);color:var(--color-text-muted)}
.email-text{font-weight:700;color:var(--color-text);font-family:var(--font-body)}
.copied{color:var(--color-success);font-weight:700;min-width:5ch}

/* ---------- Footer ---------- */
.site-footer{border-top:1px solid var(--color-border);padding:var(--space-7) 0 var(--space-6)}
.footer-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-5)}
.footer-links{display:flex;flex-wrap:wrap;gap:var(--space-5)}
.footer-links a{font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted);text-decoration:none;padding:12px 0;display:inline-block}
.footer-links a:hover{color:var(--color-text)}
.legal{margin-top:var(--space-6);display:flex;flex-direction:column;gap:4px}
.legal-1{font-size:var(--text-sm);color:var(--color-text-muted)}
.legal-2{font-size:var(--text-xs);color:var(--color-text-subtle)}

/* ---------- Responsive ---------- */
@media (min-width:600px){
  .stats{grid-template-columns:repeat(4,minmax(0,1fr))}
  .about-grid{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}
  .btn-block{width:auto}
}
@media (min-width:1024px){
  .nav-desktop{display:flex}
  .menu-toggle{display:none}
  .hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .cards{grid-template-columns:repeat(3,minmax(0,1fr))}
  .steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-7)}
  .steps::before{content:"";position:absolute;left:28px;right:28px;top:28px;height:1px;background:linear-gradient(90deg,rgba(143,169,194,0),var(--color-border-strong) 12%,var(--color-border-strong) 88%,rgba(143,169,194,0))}
  .about-grid{grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:var(--space-9)}
  .contact-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--space-9)}
}
@media (max-width:1023px){
  /* Stacked hero: the eagle sits above the copy, head and talons in frame, copy fades up from the bottom */
  .hero{min-height:0;align-items:flex-start;padding-top:66vw;padding-bottom:var(--space-8)}
  .hero-img{background-size:150% auto;background-position:100% 0;opacity:1}
  .hero-wash{background:linear-gradient(180deg,rgba(11,15,20,.35) 0,rgba(11,15,20,0) 12vw,rgba(11,15,20,0) 50vw,rgba(11,15,20,.88) 66vw,var(--color-bg) 78vw)}
  .hero-wash-y{display:none}
  .hero-copy{max-width:640px}
  .portrait{max-width:360px}
}
@media (max-width:599px){
  .wordmark{font-size:1.0625rem;letter-spacing:.07em;white-space:nowrap}
  .brand svg{width:32px;height:32px}
  .hero{padding-top:90vw}
  .hero-img{background-size:210% auto;background-position:96% 0}
  .hero-wash{background:linear-gradient(180deg,rgba(11,15,20,.4) 0,rgba(11,15,20,0) 16vw,rgba(11,15,20,0) 70vw,rgba(11,15,20,.9) 90vw,var(--color-bg) 102vw)}
  .hero .btn-group .btn{width:100%}
  .portrait{max-width:300px;margin:0 auto}
}
/* ---------- Motion ---------- */
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes heroImg{from{opacity:0;transform:scale(1.06) translateX(16px)}to{opacity:1;transform:none}}
@keyframes dotIn{0%{transform:scale(.12);opacity:1}100%{transform:scale(1);opacity:1}}
@keyframes popIn{0%{transform:scale(.15);opacity:0}30%{opacity:1}100%{transform:scale(1);opacity:1}}
@keyframes menuIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.hero-img{animation:heroImg 1.6s var(--ease-out) both}
.hero-copy>*{animation:rise .8s var(--ease-out) both}
.hero-copy>:nth-child(1){animation-delay:.15s}
.hero-copy>:nth-child(2){animation-delay:.28s}
.hero-copy>:nth-child(3){animation-delay:.42s}
.hero-copy>:nth-child(4){animation-delay:.56s}
.hero h1 .dot{display:inline-block;transform-origin:50% 60%;animation:dotIn .7s cubic-bezier(.16,1,.3,1) both}
.hero h1 .dot:nth-of-type(1){animation-delay:1s}
.hero h1 .dot:nth-of-type(2){animation-delay:1.2s}
.js [data-reveal]{opacity:0;transform:translateY(20px);transition:opacity .75s var(--ease-out),transform .75s var(--ease-out);transition-delay:var(--d,0ms)}
[data-reveal].is-visible{opacity:1;transform:none}
.js [data-reveal] .dot{display:inline-block;opacity:0;transform-origin:50% 60%}
[data-reveal].is-visible .dot{animation:dotIn .7s cubic-bezier(.16,1,.3,1) both;animation-delay:.5s}
[data-reveal].is-visible .dot:nth-of-type(2){animation-delay:.7s}
[data-reveal].is-visible .dot:nth-of-type(3){animation-delay:.9s}
/* Service cards: a bigger entrance, one after another — rise and sharpen, icon pops, a light sweeps across */
@keyframes cardIn{0%{opacity:0;transform:translateY(48px) scale(.95);filter:blur(8px)}55%{filter:blur(0)}100%{opacity:1;transform:none;filter:blur(0)}}
@keyframes sweep{0%{background-position:130% 0;opacity:1}100%{background-position:-30% 0;opacity:0}}
.js .card[data-reveal]{transition:none;opacity:0;transform:translateY(48px) scale(.95)}
.card[data-reveal].is-visible{opacity:1;transform:none;animation:cardIn 1s cubic-bezier(.16,1,.3,1) backwards;animation-delay:var(--d,0ms)}
.js .card .card-icon{opacity:0}
.card.is-visible .card-icon{opacity:1;animation:popIn .6s cubic-bezier(.16,1,.3,1) backwards;animation-delay:calc(var(--d,0ms) + 420ms)}
.card.is-visible::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,rgba(234,152,62,0) 35%,rgba(234,152,62,.14) 50%,rgba(234,152,62,0) 65%);background-size:300% 100%;background-repeat:no-repeat;animation:sweep 1.1s ease-out both;animation-delay:calc(var(--d,0ms) + 520ms)}
.steps::before{transform:scaleX(0);transform-origin:left center;transition:transform 1.6s var(--ease-out) .35s}
.steps.is-visible::before{transform:scaleX(1)}
.js .step .step-num{opacity:0}
.step.is-visible .step-num{animation:popIn .6s cubic-bezier(.16,1,.3,1) backwards;animation-delay:calc(var(--d,0ms) + 120ms);opacity:1}
.js .stat-number{opacity:0;transition:opacity .45s var(--ease-out)}
.stat-number.is-on{opacity:1}
.mobile-menu{animation:menuIn .25s ease both}
.status{animation:rise .45s var(--ease-out) both}
.stat-number{font-variant-numeric:tabular-nums}

/* Hover and focus life */
.btn{transition:background var(--ease),border-color var(--ease),color var(--ease),transform var(--ease),box-shadow var(--ease)}
.btn svg{transition:transform var(--ease)}
.btn:hover{transform:translateY(-1px)}
.btn:hover svg{transform:translate(2px,-2px)}
.btn-primary:hover{box-shadow:0 10px 28px rgba(234,152,62,.28)}
.nav-link{position:relative}
.nav-link::after{content:"";position:absolute;left:0;right:0;bottom:7px;height:1px;background:var(--color-amber);transform:scaleX(0);transform-origin:left center;transition:transform var(--ease)}
.nav-link:hover::after{transform:scaleX(1)}
.brand svg{transition:transform .5s var(--ease-out)}
.brand:hover svg{transform:rotate(-10deg)}
.card{position:relative;transition:border-color var(--ease),transform .25s var(--ease-out),box-shadow .25s var(--ease-out)}
.card::before{content:"";position:absolute;left:24px;right:24px;top:-1px;height:1px;background:linear-gradient(90deg,rgba(234,152,62,0),rgba(234,152,62,.75),rgba(234,152,62,0));opacity:0;transition:opacity var(--ease)}
.card:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(0,0,0,.4)}
.card:hover::before{opacity:1}
.card-icon{transition:background var(--ease),border-color var(--ease),transform .25s var(--ease-out)}
.card:hover .card-icon{background:rgba(234,152,62,.14);border-color:rgba(234,152,62,.4);transform:translateY(-2px)}
.includes li{transition:background var(--ease),color var(--ease),border-color var(--ease)}
.includes li:hover{background:rgba(234,152,62,.18);border-color:rgba(234,152,62,.5);color:#F6C98A}
.stat{transition:background var(--ease)}
.stat:hover{background:var(--color-bg-raised-2)}
.stat-number{transition:color var(--ease)}
.stat:hover .stat-number{color:var(--color-amber)}
.step-num{transition:border-color var(--ease),box-shadow var(--ease),transform .25s var(--ease-out)}
.step:hover .step-num{border-color:var(--color-amber);box-shadow:0 0 44px rgba(234,152,62,.3);transform:translateY(-2px)}
.portrait{transition:transform .6s var(--ease-out),border-color var(--ease)}
.portrait:hover{transform:scale(1.015);border-color:var(--color-border-strong)}
.input:focus-visible{outline:none;border-color:var(--color-amber);box-shadow:0 0 0 3px rgba(234,152,62,.2)}
.icon-btn{transition:border-color var(--ease),background var(--ease)}
.icon-btn:hover{border-color:var(--color-text-subtle);background:rgba(70,100,127,.18)}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none !important;animation:none !important;scroll-behavior:auto !important}
  [data-reveal],[data-reveal] .dot,.step-num,.stat-number,.card-icon{opacity:1 !important;transform:none !important;filter:none !important}
  .steps::before{transform:none !important}
  .card.is-visible::after{display:none}
  .btn:hover,.card:hover,.card-icon,.step-num,.portrait:hover{transform:none !important}
}
@media print{
  [data-reveal],[data-reveal] .dot,.hero-copy>*,.hero-img,.step-num,.stat-number,.card-icon{opacity:1 !important;transform:none !important;animation:none !important;filter:none !important}
  .card.is-visible::after{display:none}
}
html{scroll-behavior:smooth}

[hidden]{display:none !important}
