/*
Theme Name: Aurvisory
Theme URI: https://aurvisory.com
Author: Aurvisory
Description: Custom block theme for Aurvisory — strategic, financial and executive advisory. Implements approved design direction 1B ("Editorial index") from Aurvisory Brand Guidelines v1.0.
Version: 1.1.0
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: aurvisory
*/

/* =====================================================================
   Aurvisory design tokens
   Website design v1.0 · direction 1B · July 2026
   Source of truth: Aurvisory Brand Guidelines v1.0 + Aurvisory Design Spec
   ===================================================================== */

:root {
  /* Colour */
  --aur-navy: #061D48;
  --aur-navy-deep: #031028;
  --aur-navy-70: #445676;
  --aur-navy-40: #8F99AD;
  --aur-navy-10: #DADDE4;
  --aur-gold: #C6A15B;
  --aur-gold-tint: #DAC294;
  --aur-charcoal: #24262B;
  --aur-slate: #6B7280;
  --aur-mist: #E4E7EC;
  --aur-cloud: #F6F7F9;
  --aur-white: #FFFFFF;

  /* Semantic */
  --aur-text: var(--aur-charcoal);
  --aur-text-secondary: var(--aur-slate);
  --aur-text-on-dark: var(--aur-navy-10);
  --aur-text-on-dark-secondary: var(--aur-navy-40);
  --aur-heading: var(--aur-navy);
  --aur-rule-on-white: var(--aur-mist);
  --aur-rule-on-cloud: var(--aur-navy-10);
  --aur-rule-on-navy: rgba(143, 153, 173, 0.28);
  --aur-accent: var(--aur-gold);

  /* Type */
  --aur-font-display: "Poppins", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --aur-font-body: "Inter", "Segoe UI", "Helvetica Neue", Arial, sans-serif;

  --aur-h1-home: clamp(36px, 4vw, 74px);
  --aur-h1: clamp(36px, 4.6vw, 68px);
  --aur-h2: clamp(30px, 3.2vw, 46px);
  --aur-h2-band: clamp(30px, 3.4vw, 48px);
  --aur-h2-expertise: clamp(27px, 2.8vw, 38px);
  --aur-h3: 22px;
  --aur-lead: clamp(16.5px, 1.3vw, 18.5px);
  --aur-body: 17px;
  --aur-body-sm: 15.5px;
  --aur-label: 11.5px;
  --aur-ui: 14px;

  --aur-lh-display: 1.04;
  --aur-lh-heading: 1.14;
  --aur-lh-body: 1.75;
  --aur-tracking-display: -0.035em;
  --aur-tracking-heading: -0.028em;
  --aur-tracking-label: 0.28em;

  /* Layout */
  --aur-container: 1400px;
  --aur-gutter: clamp(20px, 5vw, 72px);
  --aur-section-y: clamp(48px, 7vw, 100px);
  --aur-section-y-compact: clamp(48px, 6vw, 88px);
  --aur-section-y-cta: clamp(56px, 7vw, 104px);
  --aur-gap-columns: clamp(32px, 5vw, 88px);
  --aur-gap-cards: clamp(24px, 2.5vw, 36px);
  --aur-measure: 680px;
  --aur-radius: 0;

  /* Motion */
  --aur-ease: cubic-bezier(.2, .6, .2, 1);
  --aur-t-hover: 180ms;
  --aur-t-header: 220ms;
  --aur-t-reveal: 760ms;

  /* Elevation (used twice only: sticky header, cookie banner) */
  --aur-shadow-header: 0 6px 24px rgba(6, 29, 72, 0.08);
  --aur-shadow-banner: 0 20px 50px rgba(3, 16, 40, 0.18);
}

/* Base ---------------------------------------------------------------- */

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--aur-white);
  font-family: var(--aur-font-body);
  font-size: var(--aur-body);
  line-height: var(--aur-lh-body);
  color: var(--aur-text);
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3 {
  font-family: var(--aur-font-display);
  font-weight: 500;
  color: var(--aur-heading);
  text-wrap: balance;
}

h1 { font-size: var(--aur-h1); line-height: var(--aur-lh-display); letter-spacing: var(--aur-tracking-display); }
h2 { font-size: var(--aur-h2); line-height: var(--aur-lh-heading); letter-spacing: var(--aur-tracking-heading); }
h3 { font-size: var(--aur-h3); line-height: 1.25; letter-spacing: -0.018em; }
p  { text-wrap: pretty; max-width: var(--aur-measure); }

a { color: var(--aur-navy); text-decoration: none; transition: color var(--aur-t-hover) ease; }
a:hover { color: var(--aur-gold); }
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible { outline: 2px solid var(--aur-gold); outline-offset: 2px; }

img { max-width: 100%; height: auto; }

::placeholder { color: var(--aur-navy-40); opacity: 1; }

/* Layout primitives --------------------------------------------------- */

.aur-container { max-width: var(--aur-container); margin-inline: auto; padding-inline: var(--aur-gutter); }
.aur-section { padding-block: var(--aur-section-y); }
.aur-section--compact { padding-block: var(--aur-section-y-compact); }
.aur-section--line { border-top: 1px solid var(--aur-mist); }
.aur-section--line-b { border-bottom: 1px solid var(--aur-mist); }
.aur-section--cloud { background: var(--aur-cloud); }
.aur-section--navy { background: var(--aur-navy); color: var(--aur-text-on-dark); position: relative; overflow: hidden; }
.aur-section--cta { background: var(--aur-navy-deep); color: var(--aur-text-on-dark); padding-block: var(--aur-section-y-cta); }
.aur-section--navy h2, .aur-section--cta h2 { color: var(--aur-white); }
.aur-anchor { scroll-margin-top: 96px; }

.aur-split { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: var(--aur-gap-columns); align-items: start; }
.aur-split--center { align-items: center; }
.aur-split--end { align-items: end; }
.aur-split--narrow { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); }

.aur-copy { display: flex; flex-direction: column; gap: 24px; max-width: var(--aur-measure); }
.aur-copy > p { margin: 0; }
.aur-copy--tight { gap: 22px; }

/* Text helpers (match copy hierarchy in the reference implementation) */
.aur-text-slate { color: var(--aur-slate); }
.aur-text-ondark { color: var(--aur-navy-10); }
.aur-text-ondark2 { color: var(--aur-navy-40); }
.aur-pull { font-family: var(--aur-font-display); font-size: 21px; line-height: 1.5; font-weight: 500; letter-spacing: -0.015em; color: var(--aur-navy); }
.aur-pull--gold { font-family: var(--aur-font-display); font-size: 19px; line-height: 1.5; font-weight: 400; letter-spacing: -0.012em; color: var(--aur-gold); }

/* Headings ------------------------------------------------------------ */

.aur-h1-home { font-size: var(--aur-h1-home); line-height: 1.03; }
.aur-h2-band { font-size: var(--aur-h2-band); line-height: 1.1; letter-spacing: -0.03em; }
.aur-h2-expertise { font-size: var(--aur-h2-expertise); line-height: 1.15; }
.aur-max-420 { max-width: 420px; }
.aur-max-460 { max-width: 460px; }
.aur-max-480 { max-width: 480px; }
.aur-max-520 { max-width: 520px; }
.aur-max-560 { max-width: 560px; }
.aur-max-620 { max-width: 620px; }
.aur-max-660 { max-width: 660px; }
.aur-max-760 { max-width: 760px; }

/* Eyebrow ------------------------------------------------------------- */

.aur-eyebrow { display: flex; align-items: center; gap: 16px; font-size: var(--aur-label); font-weight: 600;
  letter-spacing: var(--aur-tracking-label); text-transform: uppercase; color: var(--aur-gold); margin: 0 0 26px; }
.aur-eyebrow::before { content: ""; width: 52px; height: 1px; background: var(--aur-gold); flex: none; }
.aur-eyebrow--bare::before { content: none; } /* on navy the rule is dropped */

/* Buttons ------------------------------------------------------------- */

.aur-btn { display: inline-block; font-family: var(--aur-font-body); font-size: var(--aur-ui); font-weight: 500;
  line-height: 1; text-decoration: none; padding: 17px 30px; border: 1px solid transparent; border-radius: var(--aur-radius); cursor: pointer;
  transition: background var(--aur-t-hover) ease, color var(--aur-t-hover) ease, border-color var(--aur-t-hover) ease; }
.aur-btn--primary { background: var(--aur-navy); border-color: var(--aur-navy); color: var(--aur-white); }
.aur-btn--primary:hover { background: var(--aur-gold); border-color: var(--aur-gold); color: var(--aur-navy-deep); }
.aur-btn--gold { background: var(--aur-gold); border-color: var(--aur-gold); color: var(--aur-navy-deep); }
.aur-btn--gold:hover { background: var(--aur-gold-tint); border-color: var(--aur-gold-tint); color: var(--aur-navy-deep); }
.aur-btn--outline-dark { background: transparent; border-color: var(--aur-navy-70); color: var(--aur-white); }
.aur-btn--outline-dark:hover { border-color: var(--aur-gold); color: var(--aur-gold); }
.aur-link-gold { display: inline-block; border-bottom: 1px solid var(--aur-gold); padding-bottom: 5px;
  font-size: var(--aur-ui); font-weight: 500; color: var(--aur-navy); }
.aur-link-gold:hover { color: var(--aur-gold); }
.aur-link-gold--ondark { color: var(--aur-gold); }
.aur-link-gold--ondark:hover { color: var(--aur-gold-tint); }
.aur-actions { display: flex; flex-wrap: wrap; gap: 20px 28px; align-items: center; }
.aur-actions--16 { gap: 16px; }

/* Numbered index (home hero, About purpose list) ----------------------- */

.aur-index { border-top: 1px solid var(--aur-navy); padding-top: 18px; flex: 0 1 440px; min-width: 300px; }
.aur-index__label { font-size: 11px; font-weight: 600; letter-spacing: 0.24em; text-transform: uppercase; color: var(--aur-slate); margin-bottom: 6px; }
.aur-index__list { display: flex; flex-direction: column; }
.aur-index__row { display: flex; gap: 18px; padding: 17px 0; border-bottom: 1px solid var(--aur-navy-10);
  text-decoration: none; transition: background var(--aur-t-hover) ease; }
.aur-index__row:last-child { border-bottom: 0; }
.aur-index__row:hover { background: var(--aur-cloud); }
.aur-index__num { font-family: var(--aur-font-display); font-size: 11px; color: var(--aur-gold); padding-top: 4px; flex: none; }
.aur-index__title { font-family: var(--aur-font-display); font-size: 17px; font-weight: 500; color: var(--aur-navy); }

/* Home hero ------------------------------------------------------------ */

.aur-hero-home { display: flex; flex-wrap: wrap; gap: clamp(40px, 5vw, 80px); align-items: start;
  padding-block: clamp(48px, 7vw, 96px) clamp(48px, 6vw, 84px); }
.aur-hero-home__main { flex: 1 1 560px; min-width: 0; }
.aur-hero-home__main .aur-eyebrow { margin-bottom: clamp(24px, 3vw, 40px); }
.aur-hero-home h1 { margin: 0; }
.aur-hero-home__lead { margin: clamp(28px, 3vw, 40px) 0 0; max-width: 600px;
  font-size: clamp(17px, 1.35vw, 19px); line-height: 1.7; color: var(--aur-charcoal); }
.aur-hero-home .aur-actions { margin-top: clamp(32px, 3.4vw, 46px); }

/* Page hero (inner pages) ---------------------------------------------- */

.aur-page-hero { padding-block: clamp(44px, 6vw, 88px) clamp(44px, 5vw, 76px); }
.aur-page-hero .aur-eyebrow { margin-bottom: 30px; }
.aur-page-hero h1 { margin: 0; }
.aur-page-hero__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(360px, 1fr)); gap: clamp(32px, 5vw, 80px); align-items: end; }
.aur-standfirst { margin: 0; font-size: var(--aur-lead); line-height: 1.72; color: var(--aur-charcoal);
  max-width: 560px; border-left: 2px solid var(--aur-gold); padding-left: clamp(22px, 2.5vw, 34px); }
.aur-standfirst--stack { display: flex; flex-direction: column; gap: 18px; }
.aur-standfirst--stack p { margin: 0; }
.aur-standfirst--stack p + p { font-size: 16px; color: var(--aur-slate); }

/* Statement panel (gold left border) ----------------------------------- */

.aur-statement { border-left: 2px solid var(--aur-gold); padding-left: clamp(22px, 2.5vw, 40px);
  display: flex; flex-direction: column; gap: 20px; max-width: 660px; font-size: 16.5px; line-height: 1.75; }
.aur-statement p { margin: 0; }

/* Capability cards (home, six-up hairline grid) ------------------------- */

.aur-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 1px;
  background: var(--aur-navy-10); border: 1px solid var(--aur-navy-10); }
.aur-card { background: var(--aur-white); padding: clamp(28px, 3vw, 40px); display: flex; flex-direction: column;
  gap: 14px; text-decoration: none; transition: background var(--aur-t-hover) ease; }
.aur-card:hover { background: var(--aur-cloud); }
.aur-card__num { font-family: var(--aur-font-display); font-size: 11px; letter-spacing: 0.12em; color: var(--aur-gold); }
.aur-card__title { font-family: var(--aur-font-display); font-size: 21px; font-weight: 500; letter-spacing: -0.015em; color: var(--aur-navy); }
.aur-card__desc { font-size: var(--aur-body-sm); line-height: 1.7; color: var(--aur-slate); }

/* Principle columns (home, five-up) ------------------------------------ */

.aur-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: clamp(28px, 3vw, 44px); border-top: 1px solid var(--aur-navy); padding-top: 34px; }
.aur-col { display: flex; flex-direction: column; gap: 12px; }
.aur-col__title { font-family: var(--aur-font-display); font-size: 18px; font-weight: 500; color: var(--aur-navy); }
.aur-col__desc { font-size: var(--aur-body-sm); line-height: 1.7; color: var(--aur-slate); }

/* Principles grid (About, six cards on 2px rules) ----------------------- */

.aur-principles { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: clamp(28px, 3vw, 48px) clamp(32px, 4vw, 72px); }
.aur-principle { border-top: 2px solid var(--aur-navy); padding-top: 24px; }
.aur-principle__num { font-family: var(--aur-font-display); font-size: 11px; letter-spacing: 0.14em; color: var(--aur-gold); margin-bottom: 14px; }
.aur-principle__title { font-family: var(--aur-font-display); font-size: 22px; font-weight: 500; letter-spacing: -0.018em; color: var(--aur-navy); margin-bottom: 14px; }
.aur-principle__desc { font-size: 16px; line-height: 1.72; color: var(--aur-slate); }

/* Purpose rows (About, numbered rows on navy) --------------------------- */

.aur-purpose { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 0 48px; }
.aur-purpose__row { display: flex; gap: 16px; padding: 16px 0; border-top: 1px solid var(--aur-rule-on-navy); }
.aur-purpose__num { font-family: var(--aur-font-display); font-size: 11px; color: var(--aur-gold); padding-top: 4px; flex: none; }
.aur-purpose__text { font-size: 16px; line-height: 1.6; color: var(--aur-white); }
.aur-purpose-label { font-size: 12px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--aur-navy-40); margin-bottom: 24px; }

/* Expertise sections ---------------------------------------------------- */

.aur-exp { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: clamp(32px, 5vw, 80px); align-items: start; padding-block: clamp(52px, 6vw, 88px); }
.aur-exp__head { max-width: 400px; }
.aur-exp__num { font-family: var(--aur-font-display); font-size: 12px; letter-spacing: 0.18em; color: var(--aur-gold); margin-bottom: 18px; }
.aur-exp__head h2 { margin: 0 0 14px; font-size: var(--aur-h2-expertise); line-height: 1.15; }
.aur-exp__sub { font-family: var(--aur-font-display); font-size: 17px; font-weight: 400; line-height: 1.5; color: var(--aur-slate); }
.aur-section--navy .aur-exp__sub { color: var(--aur-navy-40); }
.aur-exp__body { max-width: 760px; }
.aur-exp__body > p { margin: 0 0 20px; font-size: 17px; line-height: 1.75; }
.aur-exp__body > p.aur-exp__intro2 { margin-bottom: 34px; color: var(--aur-slate); }
.aur-section--navy .aur-exp__body > p { color: var(--aur-navy-10); }
.aur-section--navy .aur-exp__body > p.aur-exp__intro2 { color: var(--aur-navy-40); }
.aur-exp__close { margin: 34px 0 26px !important; font-size: 16.5px !important; }

/* Expandable capability list ------------------------------------------- */

.aur-cap-head { font-size: 11px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--aur-navy); padding-bottom: 12px; border-bottom: 1px solid var(--aur-navy); }
.aur-section--navy .aur-cap-head { color: var(--aur-gold); border-bottom-color: var(--aur-gold); }
.aur-cap-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 0 44px;
  list-style: none; margin: 0; padding: 0; }
.aur-cap-list li { font-size: var(--aur-body-sm); line-height: 1.6; color: var(--aur-charcoal);
  padding: 13px 0; border-bottom: 1px solid var(--aur-rule-on-white); }
.aur-section--cloud .aur-cap-list li { border-bottom-color: var(--aur-rule-on-cloud); }
.aur-section--navy .aur-cap-list li { color: var(--aur-white); border-bottom-color: var(--aur-rule-on-navy); }
.aur-cap-list.is-collapsed li:nth-child(n+5) { display: none; }
.aur-cap-toggle { margin-top: 20px; font-family: var(--aur-font-body); font-size: 13px; font-weight: 500;
  letter-spacing: 0.04em; color: var(--aur-navy); background: transparent; border: none; padding: 6px 0;
  cursor: pointer; border-bottom: 1px solid var(--aur-gold); transition: color var(--aur-t-hover) ease; }
.aur-cap-toggle:hover { color: var(--aur-gold); }
.aur-section--navy .aur-cap-toggle { color: var(--aur-white); }
.aur-section--navy .aur-cap-toggle:hover { color: var(--aur-gold); }

/* Insight teasers (home) ------------------------------------------------ */

.aur-teasers { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: var(--aur-gap-cards); }
.aur-teaser { display: flex; flex-direction: column; gap: 16px; border-top: 2px solid var(--aur-navy);
  padding-top: 24px; text-decoration: none; transition: border-top-color var(--aur-t-hover) ease; }
.aur-teaser:hover { border-top-color: var(--aur-gold); }
.aur-teaser__cat { font-size: 11px; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--aur-gold); }
.aur-teaser__title { font-family: var(--aur-font-display); font-size: 22px; line-height: 1.28; font-weight: 500; letter-spacing: -0.018em; color: var(--aur-navy); }
.aur-teaser__desc { font-size: var(--aur-body-sm); line-height: 1.7; color: var(--aur-slate); }

/* Insight category blocks (Insights page) ------------------------------- */

.aur-insight-groups { display: flex; flex-direction: column; gap: clamp(44px, 5vw, 72px); }
.aur-insightcat { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: clamp(28px, 4vw, 72px); align-items: start; border-top: 2px solid var(--aur-navy); padding-top: 28px; }
.aur-insightcat__head { max-width: 380px; }
.aur-insightcat__num { font-family: var(--aur-font-display); font-size: 11px; letter-spacing: 0.16em; color: var(--aur-gold); margin-bottom: 14px; }
.aur-insightcat__head h3 { margin: 0 0 14px; font-size: clamp(22px, 2.2vw, 30px); line-height: 1.2; letter-spacing: -0.024em; }
.aur-insightcat__desc { margin: 0; font-size: var(--aur-body-sm); line-height: 1.7; color: var(--aur-slate); }
.aur-insightlist { display: flex; flex-direction: column; }
.aur-insightlist a, .aur-insightlist span { display: flex; gap: 20px; align-items: baseline; padding: 16px 0;
  border-bottom: 1px solid var(--aur-mist); font-size: 17px; line-height: 1.5; color: var(--aur-navy);
  text-decoration: none; transition: padding-left var(--aur-t-hover) ease, color var(--aur-t-hover) ease; }
.aur-insightlist a:last-child, .aur-insightlist span:last-child { border-bottom: 0; }
.aur-insightlist a:hover { color: var(--aur-gold); padding-left: 8px; }

/* Article (single insight) ---------------------------------------------- */

.aur-article-hero { padding-block: clamp(44px, 6vw, 80px) clamp(36px, 4vw, 56px); }
.aur-article-hero .aur-eyebrow { margin-bottom: 26px; }
.aur-article-hero h1 { margin: 0; max-width: 900px; }
.aur-article-body { padding-block: clamp(40px, 5vw, 72px); }
.aur-article-body .aur-prose { max-width: var(--aur-measure); }
.aur-prose > * { max-width: var(--aur-measure); }
.aur-prose p { margin: 0 0 24px; font-size: 17px; line-height: 1.75; }
.aur-prose h2 { margin: 40px 0 18px; font-size: clamp(24px, 2.4vw, 32px); }
.aur-prose h3 { margin: 32px 0 14px; }
.aur-prose ul, .aur-prose ol { margin: 0 0 24px; padding-left: 22px; }
.aur-prose li { margin-bottom: 8px; }

/* Subscribe (Insights) --------------------------------------------------- */

.aur-subscribe { max-width: 560px; }
.aur-subscribe__label { display: block; font-size: 11px; font-weight: 600; letter-spacing: 0.2em;
  text-transform: uppercase; color: var(--aur-navy); margin-bottom: 12px; }
.aur-subscribe__row { display: flex; flex-wrap: wrap; gap: 12px; }
.aur-subscribe__row input { flex: 1 1 240px; }
.aur-subscribe__note { margin-top: 12px; font-size: 13.5px; line-height: 1.6; color: var(--aur-slate); }
.aur-subscribe__note.is-error { color: var(--aur-navy); }
.aur-subscribe__done { border-left: 2px solid var(--aur-gold); padding: 6px 0 6px 22px; }
.aur-subscribe__done-title { font-family: var(--aur-font-display); font-size: 19px; font-weight: 500; color: var(--aur-navy); margin-bottom: 8px; }
.aur-subscribe__done-note { font-size: 14.5px; line-height: 1.7; color: var(--aur-slate); }
.aur-btn--subscribe { padding: 15px 28px; }

/* Forms ------------------------------------------------------------------ */

.aur-field { width: 100%; box-sizing: border-box; font-family: var(--aur-font-body); font-size: 15px;
  color: var(--aur-charcoal); background: var(--aur-white); border: 1px solid var(--aur-navy-10);
  padding: 14px 15px; border-radius: var(--aur-radius); }
.aur-field:focus { border-color: var(--aur-navy); outline: none; }
.aur-field[aria-invalid="true"] { border-color: var(--aur-gold); }
select.aur-field { appearance: none; }
textarea.aur-field { line-height: 1.6; resize: vertical; }

.aur-form { background: var(--aur-cloud); border: 1px solid var(--aur-navy-10); border-top: 2px solid var(--aur-navy);
  padding: clamp(28px, 3.5vw, 48px); max-width: 720px; }
.aur-form__label { font-size: 11px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--aur-navy); margin-bottom: 30px; }
.aur-form__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 24px; }
.aur-form__row { margin-top: 24px; }
.aur-form label.aur-form__field-label { display: block; font-size: 13px; font-weight: 500; color: var(--aur-navy); margin-bottom: 8px; }
.aur-form__consent { display: flex; gap: 14px; align-items: flex-start; margin-top: 26px; cursor: pointer; }
.aur-form__consent input { width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--aur-navy); flex: none; cursor: pointer; }
.aur-form__consent span { font-size: 14.5px; line-height: 1.65; color: var(--aur-slate); }
.aur-form__consent.is-invalid span { color: var(--aur-navy); }
.aur-form__error { display: none; margin-top: 24px; border-left: 2px solid var(--aur-gold); background: var(--aur-white);
  padding: 16px 18px; font-size: 14.5px; line-height: 1.65; color: var(--aur-navy); }
.aur-form__error.is-visible { display: block; }
.aur-form__submit { margin-top: 30px; }
.aur-btn--submit { padding: 17px 32px; }
.aur-form__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

.aur-form-success { display: none; background: var(--aur-navy); padding: clamp(32px, 4vw, 56px); max-width: 720px; }
.aur-form-success.is-visible { display: block; }
.aur-form-success__eyebrow { font-size: 11px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--aur-gold); margin-bottom: 24px; }
.aur-form-success h3 { margin: 0 0 20px; font-size: clamp(22px, 2.2vw, 30px); line-height: 1.25; letter-spacing: -0.022em; color: var(--aur-white); }
.aur-form-success__note { margin: 0 0 30px; font-size: 16.5px; line-height: 1.75; color: var(--aur-navy-10); max-width: 520px; }
.aur-form-success__rail { border-top: 1px solid rgba(143, 153, 173, 0.3); padding-top: 24px;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 20px 40px; }
.aur-form-success__key { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--aur-navy-40); margin-bottom: 8px; }
.aur-form-success__val { font-family: var(--aur-font-display); font-size: 16px; color: var(--aur-white); }
.aur-form-success__again { margin-top: 32px; font-family: var(--aur-font-body); font-size: 13.5px; font-weight: 500;
  color: var(--aur-gold); background: transparent; border: none; padding: 6px 0; cursor: pointer;
  border-bottom: 1px solid var(--aur-gold); }
.aur-form-success__again:hover { color: var(--aur-gold-tint); }

/* Contact info column ----------------------------------------------------- */

.aur-contact-info { max-width: 420px; display: flex; flex-direction: column; gap: 44px; }
.aur-contact-info h2 { margin: 0 0 20px; font-size: clamp(26px, 2.6vw, 34px); line-height: 1.18; letter-spacing: -0.026em; }
.aur-contact-block { border-top: 1px solid var(--aur-navy-10); padding-top: 28px; }
.aur-contact-block__label { font-size: 11px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--aur-gold); margin-bottom: 14px; }
.aur-contact-email { font-family: var(--aur-font-display); font-size: 19px; font-weight: 500; color: var(--aur-navy);
  border-bottom: 1px solid var(--aur-gold); padding-bottom: 4px; text-decoration: none; }
.aur-contact-email:hover { color: var(--aur-gold); }

/* Arch graphic ------------------------------------------------------------- */

.aur-arch { position: absolute; bottom: -1px; pointer-events: none; }
.aur-arch svg { display: block; width: 100%; height: 100%; }
.aur-arch--home { right: -60px; width: 620px; height: 310px; opacity: 0.55; }
.aur-arch--center { left: 50%; transform: translateX(-50%); width: 900px; height: 450px; opacity: 0.4; }
.aur-arch--fd { right: -80px; width: 560px; height: 280px; opacity: 0.5; }
.aur-arch--insights { right: -100px; top: -60px; bottom: auto; width: 640px; height: 320px; opacity: 0.4; }
.aur-band-content { position: relative; }

/* Header -------------------------------------------------------------------- */

.aur-header { position: sticky; top: 0; z-index: 40; background: var(--aur-white); border-bottom: 1px solid var(--aur-mist);
  transition: box-shadow var(--aur-t-header) ease; font-family: var(--aur-font-body); }
.aur-header.is-condensed { box-shadow: var(--aur-shadow-header); }
.aur-header__inner { max-width: var(--aur-container); margin: 0 auto; display: flex; align-items: center;
  justify-content: space-between; flex-wrap: wrap; gap: 18px 32px; padding: 26px var(--aur-gutter);
  transition: padding var(--aur-t-header) ease; }
.aur-header.is-condensed .aur-header__inner { padding-block: 14px; }
.aur-header__logo { display: block; flex: none; }
.aur-header__logo img { height: 26px; width: auto; display: block; transition: height var(--aur-t-header) ease; }
.aur-header.is-condensed .aur-header__logo img { height: 22px; }
.aur-header__right { display: flex; align-items: center; flex-wrap: wrap; gap: 16px 38px; }
.aur-nav { display: flex; flex-wrap: wrap; gap: 12px 32px; font-size: 13.5px; font-weight: 500; }
.aur-nav a { text-decoration: none; padding-bottom: 4px; color: var(--aur-slate); border-bottom: 1px solid transparent; }
.aur-nav a:hover { color: var(--aur-navy); }
.aur-nav a.is-active { color: var(--aur-navy); border-bottom-color: var(--aur-gold); }
.aur-header__cta { text-decoration: none; font-size: 13px; font-weight: 500; color: var(--aur-white);
  background: var(--aur-navy); padding: 13px 22px; white-space: nowrap;
  transition: background var(--aur-t-hover) ease, color var(--aur-t-hover) ease; }
.aur-header__cta:hover { background: var(--aur-gold); color: var(--aur-navy-deep); }

/* Footer -------------------------------------------------------------------- */

.aur-footer { background: var(--aur-navy-deep); color: var(--aur-navy-10); font-family: var(--aur-font-body); }
.aur-footer__grid { max-width: var(--aur-container); margin: 0 auto;
  padding: clamp(48px, 7vw, 84px) var(--aur-gutter) 40px;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 48px 56px; }
.aur-footer__brand { display: flex; flex-direction: column; gap: 22px; min-width: 240px; }
.aur-footer__brand img { height: 24px; width: 126px; display: block; align-self: flex-start; }
.aur-footer__statement { margin: 0; font-size: 15px; line-height: 1.7; color: var(--aur-navy-40); max-width: 300px; }
.aur-footer__rule { width: 40px; height: 1px; background: var(--aur-gold); }
.aur-footer__label { font-size: 11px; font-weight: 600; letter-spacing: 0.24em; text-transform: uppercase; color: var(--aur-gold); margin-bottom: 20px; }
.aur-footer__label--gap { margin-top: 32px; }
.aur-footer__links { display: flex; flex-direction: column; gap: 12px; font-size: 14.5px; }
.aur-footer__links a { text-decoration: none; color: var(--aur-navy-10); }
.aur-footer__links a:hover { color: var(--aur-gold); }
.aur-footer__email { text-decoration: none; font-size: 14.5px; color: var(--aur-white);
  border-bottom: 1px solid var(--aur-navy-70); padding-bottom: 3px; }
.aur-footer__email:hover { color: var(--aur-gold); border-bottom-color: var(--aur-gold); }
.aur-footer__corp { margin: 0 0 14px; font-size: 14px; line-height: 1.75; color: var(--aur-navy-40); }
.aur-footer__acca { margin: 20px 0 0; font-size: 13px; line-height: 1.7; color: var(--aur-slate); }
.aur-footer__bar { max-width: var(--aur-container); margin: 0 auto;
  padding: 26px var(--aur-gutter) 44px; border-top: 1px solid rgba(143, 153, 173, 0.2);
  display: flex; flex-wrap: wrap; gap: 14px 32px; justify-content: space-between; align-items: center; }
.aur-footer__copy { font-size: 13px; color: var(--aur-slate); }
.aur-footer__legal { display: flex; flex-wrap: wrap; gap: 28px; font-size: 13px; }
.aur-footer__legal a { text-decoration: none; color: var(--aur-navy-40); }
.aur-footer__legal a:hover { color: var(--aur-gold); }

/* Cookie banner --------------------------------------------------------------- */

.aur-cookie { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; display: none; font-family: var(--aur-font-body); }
.aur-cookie.is-open { display: block; }
.aur-cookie__wrap { max-width: var(--aur-container); margin: 0 auto; padding: 0 clamp(12px, 4vw, 40px) clamp(12px, 3vw, 32px); }
.aur-cookie__card { background: var(--aur-white); border: 1px solid var(--aur-navy-10); border-top: 2px solid var(--aur-gold);
  box-shadow: var(--aur-shadow-banner); padding: clamp(22px, 3vw, 32px) clamp(22px, 3.5vw, 40px);
  display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px 48px; align-items: center; }
.aur-cookie__title { font-family: var(--aur-font-display); font-size: 17px; font-weight: 500; color: var(--aur-navy); margin-bottom: 10px; }
.aur-cookie__text { margin: 0; font-size: 14.5px; line-height: 1.7; color: var(--aur-slate); max-width: 640px; }
.aur-cookie__actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: flex-end; }
.aur-cookie__btn { font-family: var(--aur-font-body); font-size: 13.5px; font-weight: 500; padding: 13px 22px; cursor: pointer;
  transition: background var(--aur-t-hover) ease, color var(--aur-t-hover) ease, border-color var(--aur-t-hover) ease; }
.aur-cookie__btn--accept { color: var(--aur-white); background: var(--aur-navy); border: 1px solid var(--aur-navy); }
.aur-cookie__btn--accept:hover { background: var(--aur-gold); border-color: var(--aur-gold); color: var(--aur-navy-deep); }
.aur-cookie__btn--reject { color: var(--aur-navy); background: transparent; border: 1px solid var(--aur-navy-10); }
.aur-cookie__btn--reject:hover { border-color: var(--aur-navy); }
.aur-cookie__btn--manage { color: var(--aur-slate); background: transparent; border: none; padding: 13px 6px;
  text-decoration: underline; text-decoration-color: var(--aur-gold); text-underline-offset: 4px; }
.aur-cookie__btn--manage:hover { color: var(--aur-navy); }

/* Scroll reveal (JS applies inline styles; class kept for reference) ----------- */

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

/* Generic archive / index fallback --------------------------------------------- */

.aur-loop { display: flex; flex-direction: column; }
.aur-loop .wp-block-post { padding: 16px 0; border-bottom: 1px solid var(--aur-mist); }

/* Touch targets ------------------------------------------------------------------ */

@media (pointer: coarse) {
  .aur-nav a, .aur-footer__links a, .aur-footer__legal a, .aur-insightlist a { padding-top: 8px; padding-bottom: 8px; }
}

/* =====================================================================
   Native block content (v1.1) — pages hold their sections as editable
   core blocks; these rules supply spacing, numbering and button styles
   so editors never touch layout.
   ===================================================================== */

/* Canvas pages: sections stack flush; kill injected block gaps. */
.aur-canvas .entry-content > * { margin-block-start: 0 !important; margin-block-end: 0 !important; }
.aur-canvas main > .entry-content { margin: 0; }

/* Contextual heading/paragraph rhythm (replaces inline margins). */
.aur-split > .wp-block-heading { margin: 0; }
.aur-sect-head h1, .aur-sect-head .wp-block-heading:where(h1) { margin: 0; }
.aur-sect-head h2 { margin: 0 0 22px; }
.aur-sect-head > p:not(.aur-eyebrow) { margin: 0; }
.aur-page-hero .aur-sect-head h1 { margin: 0; }
.aur-mb-sect { margin-bottom: clamp(40px, 5vw, 64px) !important; }
.aur-h2-sm { font-size: clamp(26px, 2.6vw, 36px); line-height: 1.18; letter-spacing: -0.026em; }
.aur-band-content h2 { margin: 0; }
.aur-copy--cta { gap: 30px; }
.aur-copy--sm { font-size: 16.5px; gap: 20px; }
.aur-text-navy { color: var(--aur-navy); }
.aur-text-sm { font-size: 15.5px; color: var(--aur-slate); }
.aur-text-xs { font-size: 14px; color: var(--aur-slate); }

/* Buttons (core blocks). */
.wp-block-buttons.aur-actions { gap: 16px 28px !important; align-items: center; }
.aur-hero-home .wp-block-buttons.aur-actions { margin-top: clamp(32px, 3.4vw, 46px); }
.wp-block-button .wp-block-button__link { border-radius: 0; }
.wp-block-button.is-style-aur-gold .wp-block-button__link { background: var(--aur-gold); color: var(--aur-navy-deep); }
.wp-block-button.is-style-aur-gold .wp-block-button__link:hover { background: var(--aur-gold-tint); color: var(--aur-navy-deep); }
.wp-block-button.is-style-aur-outline-dark .wp-block-button__link { background: transparent; border: 1px solid var(--aur-navy-70); color: var(--aur-white); padding: 16px 29px; }
.wp-block-button.is-style-aur-outline-dark .wp-block-button__link:hover { border-color: var(--aur-gold); color: var(--aur-gold); background: transparent; }
.wp-block-button.is-style-aur-link-gold .wp-block-button__link { background: transparent; color: var(--aur-navy); padding: 0 0 5px; border-bottom: 1px solid var(--aur-gold); border-radius: 0; }
.wp-block-button.is-style-aur-link-gold .wp-block-button__link:hover { color: var(--aur-gold); background: transparent; }
.aur-section--navy .is-style-aur-link-gold .wp-block-button__link,
.aur-section--cta .is-style-aur-link-gold .wp-block-button__link { color: var(--aur-gold); }
.aur-section--navy .is-style-aur-link-gold .wp-block-button__link:hover,
.aur-section--cta .is-style-aur-link-gold .wp-block-button__link:hover { color: var(--aur-gold-tint); }

/* Text-link paragraphs (gold underline). */
.aur-plink { margin: 0; }
.aur-plink a { display: inline-block; border-bottom: 1px solid var(--aur-gold); padding-bottom: 5px;
  font-size: var(--aur-ui); font-weight: 500; color: var(--aur-navy); text-decoration: none; }
.aur-plink a:hover { color: var(--aur-gold); }
.aur-section--navy .aur-plink a { color: var(--aur-gold); }
.aur-section--navy .aur-plink a:hover { color: var(--aur-gold-tint); }
.aur-view-all { margin: clamp(32px, 3.4vw, 48px) 0 0 !important; }

/* Numbered index as an editable list (numerals via CSS counters). */
ul.aur-index__list { list-style: none; margin: 0; padding: 0; counter-reset: aurindex; display: flex; flex-direction: column; }
ul.aur-index__list li { counter-increment: aurindex; border-bottom: 1px solid var(--aur-navy-10); }
ul.aur-index__list li:last-child { border-bottom: 0; }
ul.aur-index__list li:hover { background: var(--aur-cloud); }
ul.aur-index__list li a { display: flex; gap: 18px; padding: 17px 0; text-decoration: none;
  font-family: var(--aur-font-display); font-size: 17px; font-weight: 500; color: var(--aur-navy); }
ul.aur-index__list li a::before { content: counter(aurindex, decimal-leading-zero);
  font-size: 11px; font-weight: 400; color: var(--aur-gold); padding-top: 4px; flex: none; }

/* Capability cards: auto numerals, heading + paragraph inside. */
.aur-cards { counter-reset: aurcard; }
.aur-card { counter-increment: aurcard; }
.aur-card::before { content: counter(aurcard, decimal-leading-zero);
  font-family: var(--aur-font-display); font-size: 11px; letter-spacing: 0.12em; color: var(--aur-gold); }
.aur-card h3 { margin: 0; font-size: 21px; letter-spacing: -0.015em; line-height: 1.3; }
.aur-card h3 a { color: var(--aur-navy); text-decoration: none; }
.aur-card h3 a:hover { color: var(--aur-gold); }
.aur-card p { margin: 0; font-size: var(--aur-body-sm); line-height: 1.7; color: var(--aur-slate); }

/* Principle columns (home). */
.aur-col h3 { margin: 0; font-size: 18px; letter-spacing: -0.01em; }
.aur-col p { margin: 0; font-size: var(--aur-body-sm); line-height: 1.7; color: var(--aur-slate); }

/* Principles grid (About): auto numerals. */
.aur-principles { counter-reset: aurprin; }
.aur-principle { counter-increment: aurprin; }
.aur-principle::before { content: counter(aurprin, decimal-leading-zero); display: block; margin-bottom: 14px;
  font-family: var(--aur-font-display); font-size: 11px; letter-spacing: 0.14em; color: var(--aur-gold); }
.aur-principle h3 { margin: 0 0 14px; font-size: 22px; letter-spacing: -0.018em; }
.aur-principle p { margin: 0; font-size: 16px; line-height: 1.72; color: var(--aur-slate); }

/* Purpose rows (About, on navy) as an editable list. */
ul.aur-purpose { list-style: none; margin: 0; padding: 0; counter-reset: aurpurpose;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 0 48px; }
ul.aur-purpose li { counter-increment: aurpurpose; display: flex; gap: 16px; padding: 16px 0;
  border-top: 1px solid var(--aur-rule-on-navy); font-size: 16px; line-height: 1.6; color: var(--aur-white); }
ul.aur-purpose li::before { content: counter(aurpurpose, decimal-leading-zero);
  font-family: var(--aur-font-display); font-size: 11px; color: var(--aur-gold); padding-top: 4px; flex: none; }
.aur-purpose-note { margin: 32px 0 0 !important; font-size: 16.5px; max-width: 620px; }

/* Expertise sections: numerals count across the page. */
.aur-canvas .entry-content { counter-reset: aurexp; }
section.aur-exp-section { counter-increment: aurexp; }
.aur-exp-section .aur-exp__head::before { content: counter(aurexp, decimal-leading-zero); display: block;
  margin-bottom: 18px; font-family: var(--aur-font-display); font-size: 12px; letter-spacing: 0.18em; color: var(--aur-gold); }
.aur-exp__sub { margin: 0; }
.aur-cap-head { margin: 0 !important; }

/* Insight teasers (home). */
.aur-teaser__cat, .aur-teaser__desc { margin: 0; }
h3.aur-teaser__title { margin: 0; font-size: 22px; line-height: 1.28; letter-spacing: -0.018em; }
.aur-teaser__title a { color: var(--aur-navy); text-decoration: none; }
.aur-teaser__title a:hover { color: var(--aur-gold); }

/* Contact page. */
.aur-contact-grid { gap: clamp(40px, 5vw, 88px); }
.aur-contact-info h2 { margin: 0 0 20px; }
.aur-contact-block__label { margin: 0 0 14px; }
p.aur-contact-email { margin: 0; }
.aur-contact-email a { font-family: var(--aur-font-display); font-size: 19px; font-weight: 500;
  color: var(--aur-navy); border-bottom: 1px solid var(--aur-gold); padding-bottom: 4px; text-decoration: none; }
.aur-contact-email a:hover { color: var(--aur-gold); }

/* Subscribe privacy note. */
.aur-subscribe__privacy { margin: 10px 0 0; font-size: 13px; line-height: 1.6; color: var(--aur-slate); }
.aur-subscribe__privacy a { border-bottom: 1px solid var(--aur-gold); padding-bottom: 2px; }

/* Cookie banner "Manage Preferences" as a link. */
a.aur-cookie__btn--manage { display: inline-block; }

/* WordPress necessities ----------------------------------------------------------- */

.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip-link.screen-reader-text:focus { position: fixed; top: 8px; left: 8px; z-index: 100; width: auto; height: auto;
  clip: auto; padding: 12px 18px; background: var(--aur-navy); color: var(--aur-white); font-size: 14px; }
