/* space-grotesk-regular - latin_latin-ext */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Space Grotesk';
    font-style: normal;
    font-weight: 400;
    src: url('fonts/space-grotesk-v22-latin_latin-ext-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* space-grotesk-500 - latin_latin-ext */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Space Grotesk';
    font-style: normal;
    font-weight: 500;
    src: url('fonts/space-grotesk-v22-latin_latin-ext-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* space-grotesk-600 - latin_latin-ext */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Space Grotesk';
    font-style: normal;
    font-weight: 600;
    src: url('fonts/space-grotesk-v22-latin_latin-ext-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* space-grotesk-700 - latin_latin-ext */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Space Grotesk';
    font-style: normal;
    font-weight: 700;
    src: url('fonts/space-grotesk-v22-latin_latin-ext-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* inter-regular - latin_latin-ext */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    src: url('fonts/inter-v20-latin_latin-ext-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* inter-500 - latin_latin-ext */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Inter';
    font-style: normal;
    font-weight: 500;
    src: url('fonts/inter-v20-latin_latin-ext-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* inter-600 - latin_latin-ext */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Inter';
    font-style: normal;
    font-weight: 600;
    src: url('fonts/inter-v20-latin_latin-ext-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* caveat-regular - latin_latin-ext */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Caveat';
    font-style: normal;
    font-weight: 400;
    src: url('fonts/caveat-v23-latin_latin-ext-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* caveat-500 - latin_latin-ext */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Caveat';
    font-style: normal;
    font-weight: 500;
    src: url('fonts/caveat-v23-latin_latin-ext-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* caveat-600 - latin_latin-ext */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Caveat';
    font-style: normal;
    font-weight: 600;
    src: url('fonts/caveat-v23-latin_latin-ext-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* caveat-700 - latin_latin-ext */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Caveat';
    font-style: normal;
    font-weight: 700;
    src: url('fonts/caveat-v23-latin_latin-ext-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}




  :root {
      --paper: #F6F2E9;      /* warm laid-paper cream */
      --paper-deep: #EFE9DB; /* slightly sunk panel */
      --ink: #1C1B17;        /* warm soft black */
      --ink-2: #56524A;      /* ink wash, secondary text */
      --rule: rgba(28,27,23,0.18);
      --rule-soft: rgba(28,27,23,0.10);
      --mark: #7C2D26;       /* accent — used once or twice only */
      --accent: #b98e4e;     /* warm orange — primary CTA highlight */
      --accent-deep: #b8591a;
  }

  * { margin: 0; padding: 0; box-sizing: border-box; }
  html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

  body {
      background: var(--paper);
      color: var(--ink);
      font-family: 'Inter', -apple-system, sans-serif;
      font-weight: 400;
      font-size: 17px;
      line-height: 1.65;
      letter-spacing: -0.005em;
  }

  ::selection { background: var(--ink); color: var(--paper); }

  .wrap { max-width: 1080px; margin: 0 auto; padding: 0 40px; }
  .narrow { max-width: 720px; }

  h1, h2, h3, .display { font-family: 'Space Grotesk', sans-serif; }

  /* utility label — tracked mono caps */
  .label {
      font-family: 'Space Grotesk', sans-serif;
      font-size: .7rem; font-weight: 500;
      letter-spacing: .18em; text-transform: uppercase;
      color: var(--ink-2);
  }

  a { color: inherit; }

  /* ---------- Masthead ---------- */
  header {
      position: fixed; inset: 0 0 auto 0; z-index: 50;
      background: rgba(246,242,233,0.82);
      backdrop-filter: blur(12px);
      border-bottom: 1px solid var(--rule-soft);
  }
  .masthead { display: flex; align-items: center; justify-content: space-between; height: 70px; }
  .ms-name { font-family: 'Space Grotesk', sans-serif; font-weight: 600; font-size: 1.05rem; letter-spacing: -.01em; text-decoration: none; display: flex; align-items: center; gap: 10px; }
  .ms-word { display: flex; flex-direction: column; line-height: 1.05; }
  .ms-by { font-family: 'Caveat', cursive; font-weight: 500; font-size: 1.15rem; color: var(--ink-2); align-self: flex-end; margin-bottom: -2px; }
  .ms-name .mk { width: 32px; height: 32px; }
  .ms-nav { display: flex; gap: 8px; align-items: center; }
  .ms-nav a { font-size: .9rem; font-weight: 500; text-decoration: none; color: var(--ink-2); transition: color .2s; padding: 6px 14px; border-radius: 6px; }
  .ms-nav a:hover { color: var(--ink); background: var(--rule-soft); }
  .ms-nav a.enquire { color: var(--paper); background: var(--ink); }
  .ms-nav a.enquire:hover { background: #000; color: var(--paper); }
  .burger { display: none; background: none; border: none; cursor: pointer; flex-direction: column; gap: 5px; }
  .burger span { width: 22px; height: 2px; background: var(--ink); border-radius: 2px; }


  .construction-banner {
      background: var(--mark);      /* muted oxblood, on-brand */
      color: #fff;
      text-align: center;
      padding: 10px 16px;
      margin-top: 70px;             /* clears the fixed header (70px tall) */
      font-family: 'Space Grotesk', sans-serif;
      font-size: .85rem;
      font-weight: 500;
      letter-spacing: .02em;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
  }
  .cb-dot {
      width: 7px; height: 7px; border-radius: 50%;
      background: #fff;
      animation: cb-pulse 2s ease-in-out infinite;
  }
  @keyframes cb-pulse { 0%,100% { opacity: 1; } 50% { opacity: .35; } }
  .cb-dot {
      width: 7px; height: 7px; border-radius: 50%;
      background: #fff;
      animation: cb-pulse 2s ease-in-out infinite;
  }
  @keyframes cb-pulse { 0%,100% { opacity: 1; } 50% { opacity: .35; } }
  /* ---------- Hero ---------- */
  .hero { padding: 180px 0 120px; position: relative; overflow: hidden; }
  .hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr auto; gap: 60px; align-items: center; }
  .hero-bg {
      position: absolute;
      right: -60px;
      top: 50%;
      transform: translateY(-50%);
      width: 426px;
      height: auto;
      opacity: 0.8;
      z-index: 0;
      pointer-events: none;
  }
  .eyebrow { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 30px; }
  .eyebrow .tick { width: 7px; height: 7px; border-radius: 50%; background: var(--accent); }
  .hero h1 {
      font-weight: 500; font-size: clamp(2.8rem, 7vw, 5.4rem); line-height: 1.0;
      letter-spacing: -.035em; margin-bottom: 0;
  }
  .hero h1 .muted { color: var(--ink-2); }
  .hero-text { max-width: 800px; }
  .hero .deck {
      max-width: 560px; margin-top: 30px; color: var(--ink-2);
      font-size: 1.2rem; line-height: 1.55;
  }
  .hero-actions { margin-top: 40px; display: flex; gap: 12px; flex-wrap: wrap; }

  .btn {
      font-family: 'Inter', sans-serif; font-size: .95rem; font-weight: 500; letter-spacing: 0;
      text-decoration: none; padding: 13px 26px; border-radius: 8px; transition: all .2s; cursor: pointer; display: inline-flex; align-items: center; gap: 8px;
  }
  .btn-solid { background: var(--ink); color: var(--paper); border: 1px solid var(--ink); }
  .btn-solid:hover { background: #000; transform: translateY(-1px); }
  .btn-line { background: transparent; color: var(--ink); border: 1px solid var(--rule); }
  .btn-line:hover { border-color: var(--ink); background: var(--rule-soft); }
  .btn-accent { background: var(--accent); color: #fff; border: 1px solid var(--accent); box-shadow: 0 8px 20px -10px rgba(210,105,30,0.5); }
  .btn-accent:hover { background: var(--accent-deep); border-color: var(--accent-deep); transform: translateY(-1px); }

  /* ---------- Section scaffolding ---------- */
  section { padding: 100px 0; }
  .sec-head { margin-bottom: 56px; max-width: 760px; }
  .sec-num { font-family: 'Space Grotesk', sans-serif; font-size: .8rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-2); display: block; margin-bottom: 18px; }
  .sec-head h2 {
      font-weight: 500; font-size: clamp(2rem, 4.2vw, 3rem); letter-spacing: -.03em; line-height: 1.05;
  }
  .sec-head .standfirst { margin-top: 18px; color: var(--ink-2); font-size: 1.12rem; line-height: 1.55; }

  /* ---------- Experience (CV) ---------- */

  .standfirst-btn { margin-top: 20px; }

  .lede {
      font-family: 'Space Grotesk', sans-serif; font-weight: 400;
      font-size: clamp(1.4rem, 2.4vw, 1.7rem); line-height: 1.4; letter-spacing: -.02em; margin-bottom: 24px;
  }
  .cv-grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 72px; align-items: start; }
  .cv-intro { color: var(--ink-2); margin-bottom: 48px; }
  .timeline { display: grid; gap: 0; }
  .tl-item { display: grid; grid-template-columns: 130px 1fr; gap: 28px; padding: 28px 0; border-top: 1px solid var(--rule-soft); }
  .tl-item:last-child { border-bottom: 1px solid var(--rule-soft); }
  .tl-when { font-family: 'Space Grotesk', sans-serif; font-size: .9rem; font-weight: 500; color: var(--ink-2); padding-top: 3px; }
  .tl-what h3 { font-weight: 500; font-size: 1.25rem; letter-spacing: -.02em; line-height: 1.2; }
  .tl-where { color: var(--accent); font-size: .92rem; font-weight: 500; margin: 4px 0 10px; }
  .tl-what p { color: var(--ink-2); font-size: 1rem; }
  .tl-list { list-style: none; padding: 0; margin: 6px 0 0; display: flex; flex-direction: column; gap: 4px; }
  .tl-list li { position: relative; padding-left: 18px; color: var(--ink-2); font-size: 1rem; line-height: 1.5; }
  .tl-list li::before { content: '·'; position: absolute; left: 4px; color: var(--ink-2); }

  .cv-points { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 16px; }
  .cv-points li { position: relative; padding-left: 28px; color: var(--ink-2); font-size: 1.02rem; line-height: 1.5; }
  .cv-points li::before {
      content: '';
      position: absolute;
      left: 0;
      top: 0.6em;
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: var(--accent);
  }

  .about-card { background: var(--paper-deep); border: 1px solid var(--rule-soft); border-radius: 14px; padding: 34px; position: sticky; top: 100px; }
  .about-card .name { font-family: 'Space Grotesk', sans-serif; font-weight: 600; font-size: 1.3rem; letter-spacing: -.01em; }
  .about-card .role { color: var(--ink-2); font-size: .95rem; margin-top: 4px; margin-bottom: 24px; }
  .about-card .creds { list-style: none; display: flex; flex-direction: column; gap: 0; }
  .about-card .creds li { padding: 16px 0; border-top: 1px solid var(--rule-soft); display: flex; flex-direction: column; gap: 6px; }
  .about-card .creds li strong { font-family: 'Space Grotesk', sans-serif; font-weight: 600; font-size: .82rem; letter-spacing: .04em; text-transform: uppercase; color: var(--ink-2); }
  .about-card .creds li span { font-family: 'Space Grotesk', sans-serif; font-size: .92rem; font-weight: 500; color: var(--ink); line-height: 1.5;  overflow-wrap: anywhere;}
  .about-card .card-link { display: inline-block; margin-top: 26px; font-family: 'Space Grotesk', sans-serif; font-size: .92rem; font-weight: 500; color: var(--ink); text-decoration: none; transition: color .2s; }
  .about-card .card-link:hover { color: var(--accent); }
  .about-pic {width: 300px; display: block;  margin: auto; opacity: 0.8}

  /* ---------- Services — modern stacked rows ---------- */
  .catalogue { display: grid; gap: 0; }
  .entry {
      display: grid; grid-template-columns: 1fr 1.1fr; gap: 40px;
      padding: 32px 0; border-top: 1px solid var(--rule-soft); align-items: start;
  }
  .entry:last-child { border-bottom: 1px solid var(--rule-soft); }
  .entry h3 { font-weight: 500; font-size: 1.4rem; letter-spacing: -.02em; line-height: 1.15; display: flex;  align-items: center;  gap: 0.6em;}
  .entry .body p { color: var(--ink-2); font-size: 1rem; }
  .entry .terms { font-family: 'Space Grotesk', sans-serif; font-size: .82rem; font-weight: 500; letter-spacing: 0; color: var(--ink-2); opacity: .8; margin-top: 14px; display: block; }
  .entry-icon {
      width: 1.4em;        /* scales with the heading font-size */
      height: auto;
      flex-shrink: 0;
      color: var(--accent); /* or remove to inherit the h3 text color */
  }

  /* ---------- What distinguishes me (USPs) ---------- */
  .usp-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
  .usp { padding: 32px; border: 1px solid var(--rule-soft); border-radius: 14px; background: var(--paper); }
  .usp h3 { font-weight: 500; font-size: 1.3rem; letter-spacing: -.02em; margin-bottom: 12px; display: flex; align-items: center; gap: .5em; }
  .usp-ico { width: 1.4em; height: 1.4em; flex-shrink: 0; color: var(--accent); }
  .usp p { color: var(--ink-2); font-size: 1rem; line-height: 1.55; }

  /* ---------- Ledger (stats) ---------- */
  .ledger { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--rule-soft); border: 1px solid var(--rule-soft); border-radius: 14px; overflow: hidden; }
  .led { text-align: left; padding: 36px 30px; background: var(--paper); }
  .led .fig { font-family: 'Space Grotesk', sans-serif; font-weight: 500; font-size: 3.2rem; line-height: 1; letter-spacing: -.04em; }
  .led .cap { font-size: .92rem; color: var(--ink-2); margin-top: 12px; }

  /* ---------- Whitepapers ---------- */
  .wp-list { display: grid; gap: 0; }

  .wp {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 32px;
      align-items: start;
      padding: 32px 0;
      border-top: 1px solid var(--rule-soft);
  }
  .wp:last-child { border-bottom: 1px solid var(--rule-soft); }

  .wp-title { font-weight: 500; font-size: 1.35rem; letter-spacing: -.02em; line-height: 1.2; margin-bottom: 10px; }
  .wp-desc { color: var(--ink-2); font-size: 1rem; line-height: 1.55; max-width: 60ch; }
  .wp-meta {
      display: inline-block; margin-top: 12px;
      font-family: 'Space Grotesk', sans-serif; font-size: .78rem; font-weight: 500;
      letter-spacing: .08em; text-transform: uppercase; color: var(--ink-2); opacity: .75;
  }
  .wp-action { padding-top: 4px; }
  .wp-toggle { white-space: nowrap; }

  /* form is collapsed by default, revealed by JS */
  .wp-form-slot { grid-column: 1 / -1; }
  .wp-form {
      display: none;
      margin-top: 24px;
      padding: 28px;
      background: var(--paper-deep);
      border: 1px solid var(--rule-soft);
      border-radius: 14px;
      max-width: 620px;
  }
  .wp.open .wp-form { display: block; }

  /* honeypot — hidden from humans, tempting to bots */
  .wp-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }

  .wp-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 18px; }
  .wp-field label {
      display: block; margin-bottom: 7px;
      font-family: 'Space Grotesk', sans-serif; font-size: .74rem; font-weight: 500;
      letter-spacing: .1em; text-transform: uppercase; color: var(--ink-2);
  }
  .wp-opt { text-transform: none; letter-spacing: 0; opacity: .7; }
  .wp-field input {
      width: 100%; padding: 12px 14px;
      font-family: 'Inter', sans-serif; font-size: 1rem; color: var(--ink);
      background: var(--paper); border: 1px solid var(--rule); border-radius: 8px;
      transition: border-color .2s;
  }
  .wp-field input:focus { outline: none; border-color: var(--ink); }
  .wp-field input:user-invalid { border-color: var(--mark); }

  .wp-consent {
      display: flex; gap: 11px; align-items: flex-start;
      margin-bottom: 12px; font-size: .92rem; line-height: 1.5; color: var(--ink-2); cursor: pointer;
  }
  .wp-consent input { margin-top: 3px; width: 16px; height: 16px; accent-color: var(--accent); flex-shrink: 0; cursor: pointer; }
  .wp-consent a { color: var(--ink); }
  .wp-consent em { font-style: normal; font-weight: 600; color: var(--ink); }

  .wp-form button[type="submit"] { margin-top: 14px; }
  .wp-note { margin-top: 14px; font-size: .85rem; color: var(--ink-2); opacity: .8; }

  .wp-status { margin-top: 14px; font-size: .95rem; display: none; }
  .wp-status.show { display: block; }
  .wp-status.ok { color: #2c6e49; }
  .wp-status.err { color: var(--mark); }


  /* ---------- Contact ---------- */
  .contact-grid { display: grid; grid-template-columns: 1fr auto; gap: 60px; align-items: center; }
  .contact h2 { font-weight: 500; font-size: clamp(2.2rem, 5vw, 3.4rem); letter-spacing: -.035em; line-height: 1.0; }
  .contact .deck { margin-top: 22px; color: var(--ink-2); font-size: 1.15rem; max-width: 480px; line-height: 1.55; }

  .imprint { display: flex; flex-direction: column; gap: 14px; }
  .imprint a, .imprint span { font-size: 1.05rem; text-decoration: none; display: flex; align-items: center; gap: 12px; color: var(--ink); }
  .imprint a { transition: color .2s; }
  .imprint a:hover { color: var(--mark); }
  .imprint .imprint-cta { margin-top: 10px; color: #fff; display: inline-flex; justify-content: center; }
  .imprint .imprint-cta:hover { color: #fff; }
  .imprint .k { font-family: 'Space Grotesk', sans-serif; font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-2); width: 64px; flex-shrink: 0; }

  /* ---------- Footer ---------- */
  footer { border-top: 1px solid var(--rule); padding: 40px 0; }
  .foot { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 14px; }
  .foot .label { color: var(--ink-2); display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; }
  .foot .label a { color: var(--ink-2); text-decoration: none; border-bottom: 1px solid var(--rule); padding-bottom: 1px; transition: color .2s, border-color .2s; }
  .foot .label a:hover { color: var(--ink); border-color: var(--ink); }
  .foot .label a.foot-social { color: var(--ink-2); display: inline-flex; text-decoration: none; border-bottom: none; padding-bottom: 0; transition: color .2s; }
  .foot .label a.foot-social:hover { color: var(--accent); border-color: transparent; }

  /* ---------- Marks (padlock) ---------- */
  .pmark { display: block; }
  .pmark .stroke { fill: none; stroke: currentColor; stroke-width: 6; }
  .pmark .fillk { fill: currentColor; }

  /* ---------- Reveal ---------- */
  .rv { opacity: 0; transform: translateY(16px); transition: opacity .7s ease, transform .7s ease; }
  .rv.in { opacity: 1; transform: none; }

  @media (max-width: 860px) {
      section { padding: 40px 0; }
      .wrap { padding: 0 22px; }
      .hero { padding: 130px 0 70px; }
      .hero h1 { font-size: clamp(2.2rem, 9vw, 3rem); overflow-wrap: break-word; }
      .sec-head { margin-bottom: 36px; }
      .ms-nav { position: fixed; inset: 70px 0 auto 0; flex-direction: column; gap: 6px; align-items: stretch; background: var(--paper); padding: 20px 24px 28px; border-bottom: 1px solid var(--rule); transform: translateY(-130%); transition: transform .35s; }
      .ms-nav.open { transform: none; }
      .ms-nav a { padding: 12px 14px; }
      .burger { display: flex; }
      .hero-grid { grid-template-columns: 1fr; gap: 30px; }
      .hero-bg {
          position: static;
          transform: none;
          order: -1;
          width: 280px;
          margin: 0 auto;
          opacity: 0.8;
      }
      .cv-grid { grid-template-columns: 1fr; gap: 40px; }
      .usp-grid { grid-template-columns: 1fr; }
      .about-card { position: static; padding: 24px; }
      .tl-item { grid-template-columns: 1fr; gap: 8px; }
      .entry { grid-template-columns: 1fr; gap: 12px; }
      .quotes { grid-template-columns: 1fr; }
      .ledger { grid-template-columns: 1fr 1fr; }
      .wp { grid-template-columns: 1fr; gap: 16px; }
      .wp-action { padding-top: 0; }
      .wp-toggle { width: 100%; justify-content: center; }
      .wp-row { grid-template-columns: 1fr; }
      .wp-form { padding: 22px; }
      .contact-grid { grid-template-columns: 1fr; gap: 36px; }
      .foot { flex-direction: column; align-items: flex-start; gap: 8px; }
  }
  @media (prefers-reduced-motion: reduce) { .rv { opacity: 1; transform: none; transition: none; } html { scroll-behavior: auto; } }
