/*
Theme Name: AURAEVON
Theme URI: https://www.auraevon.com
Author: Md. Shijan Ali
Author URI: https://md-shijan-ali.netlify.app/
Description: Premium navy-and-gold block theme for AURAEVON GROUP FZE-LLC, Dubai. Single-page homepage built entirely from core blocks and patterns, so every text, image and link is editable in the WordPress Site Editor.
Version: 1.2.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: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: auraevon-theme
Tags: block-patterns, full-site-editing, custom-colors, one-column, accessibility-ready, translation-ready
*/

/* ==========================================================
   LAYOUT VARIABLES  (all optional — the defaults below match the design)
   Override any of them in  Appearance → Editor → Styles → ⋮ → Additional CSS, e.g.
       :root { --aev-hero-min-h: 22rem; --aev-hero-text-max-w: 34rem; }
   Units are rem. On desktop 1rem scales with the screen (16px @1024px → 20px @1280px+),
   so values keep their proportions. Variable (default):
     --aev-container (64rem)         width of every section's inner content box
     --aev-header-min-h (6.5rem)     header height            --aev-footer-min-h (4.6rem)  footer height
     --aev-hero-min-h (16.6rem)      hero height              --aev-hero-pad-left (8.45rem) hero text indent
     --aev-hero-text-max-w (26.5rem) hero paragraph width
     --aev-card-min-h (15.5rem)      venture card height      --aev-card-text-max-w (12.6rem) card text width
     --aev-about-text-max-w (none)   about paragraph width
     --aev-photo-w (12.7rem)         leadership photo width   --aev-photo-h (16rem)  photo height
     --aev-bio-max-w (none)          leadership bio width
     --aev-mission-min-h (8.6rem)    mission band height      --aev-mission-text-max-w (none) mission text width
     --aev-contact-text-max-w (56rem) / --aev-contact-details-max-w (41.5rem)
   The easiest way to change any of these: Appearance → AURAEVON Layout (number fields, no CSS).
   Block-level control without code: select a block → Advanced → "Additional CSS class(es)"
   and add the helper classes defined at the very end of this file (aev-mw-*, aev-minh-* ...).
   ========================================================== */

/* ==========================================================
   Desktop (>=1024px) is built to the 1024px design canvas:
   1rem = 16px at 1024px wide, and the layout scales
   proportionally up to 1280px (then stays centred).
   Fonts + colour presets come from theme.json.
   ========================================================== */

/* ---------- Tokens (mapped to theme.json presets) ---------- */
:root {
  --navy-950: var(--wp--preset--color--navy-950, #040a18);
  --navy-900: var(--wp--preset--color--navy-900, #06101f);
  --navy-850: var(--wp--preset--color--navy-850, #081529);
  --navy-800: var(--wp--preset--color--navy-800, #0a1b36);
  --navy-700: var(--wp--preset--color--navy-700, #102a52);

  --gold-200: var(--wp--preset--color--gold-200, #ffe9a8);
  --gold-300: var(--wp--preset--color--gold-300, #ffd96e);
  --gold-400: var(--wp--preset--color--gold-400, #f6c23e);
  --gold-500: var(--wp--preset--color--gold-500, #eba81f);
  --gold-600: var(--wp--preset--color--gold-600, #b87d12);
  --yellow:   var(--wp--preset--color--yellow, #ffc83a);

  --text:      var(--wp--preset--color--text, #f1f4fa);
  --text-soft: var(--wp--preset--color--text-soft, #d3dae8);
  --ink-gold:  var(--wp--preset--color--ink-gold, #2a1c05);
  --cream-200: var(--wp--preset--color--cream-200, #f3d98f);

  --grad-gold-text: var(--wp--preset--gradient--gold-text, linear-gradient(180deg, #fff0b8 0%, #f8c846 48%, #e29a1c 100%));
  --grad-gold-btn:  var(--wp--preset--gradient--gold-button, linear-gradient(180deg, #ffe9a2 0%, #f9cb55 45%, #eca51d 100%));
  --grad-mission:   var(--wp--preset--gradient--mission-band, linear-gradient(90deg, #f1d58c 0%, #fdf0c9 38%, #fbe7ae 62%, #efd081 100%));
  --line-gold: linear-gradient(90deg, transparent, var(--gold-500) 20%, var(--gold-300) 50%, var(--gold-500) 80%, transparent);

  --font-display: var(--wp--preset--font-family--playfair-display, "Playfair Display", Georgia, serif);
  --font-body: var(--wp--preset--font-family--poppins, Poppins, system-ui, sans-serif);

  --header-h: 4.5rem;

  /* Icons: the client's SVG pack (assets/images/icons/), inlined as data URIs and used as CSS masks so they take any colour */
  --icon-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none'%3E%3Cpath d='M9 32h44m-17-17 17 17-17 17' stroke='%23E6B94C' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --icon-ext:   url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none'%3E%3Cpath d='M32 14h19v19M51 14 27 38' stroke='%23E6B94C' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M46 38v12H14V18h12' stroke='%23E6B94C' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");
  --icon-mail:  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none'%3E%3Crect x='8' y='16' width='48' height='32' rx='2' stroke='%23E6B94C' stroke-width='3'/%3E%3Cpath d='M9 19 32 37 55 19' stroke='%23E6B94C' stroke-width='3' stroke-linejoin='round'/%3E%3C/svg%3E");
  --icon-pin:   url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none'%3E%3Cpath d='M32 57S14 37 14 25a18 18 0 1 1 36 0C50 37 32 57 32 57Z' stroke='%23E6B94C' stroke-width='3'/%3E%3Ccircle cx='32' cy='25' r='7' stroke='%23E6B94C' stroke-width='3'/%3E%3C/svg%3E");
  --icon-send:  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 2 11 13M22 2l-7 20-4-9-9-4 20-7Z'/%3E%3C/svg%3E");
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-h) + var(--wp-admin--admin-bar--height, 0px) + .5rem);
  -webkit-text-size-adjust: 100%;
}

body { margin: 0; overflow-x: hidden; }

figure { margin: 0; }
img, svg { max-width: 100%; }
h1, h2, h3, p { margin: 0; }
a { text-decoration: none; }

:focus-visible { outline: 2px solid var(--gold-300); outline-offset: 3px; border-radius: 4px; }

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

/* shared: icon mask helper */
.hero .btn-gold > .wp-block-button__link::after,
.vcard__btn > .wp-block-button__link::after,
.contact .btn-gold > .wp-block-button__link::before,
.main-nav .nav-cta > .wp-block-navigation-item__content::before,
.contact__email::before,
.contact__location::before {
  content: ""; flex: none; background-color: currentColor;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-position: center; mask-position: center;
  -webkit-mask-size: contain; mask-size: contain;
}

/* ---------- Shared: section label with fading gold lines ---------- */
.label {
  display: flex; align-items: center; justify-content: center; gap: 1rem;
  font-family: var(--font-body); font-size: .95rem; font-weight: 600;
  letter-spacing: .3em; text-transform: uppercase; text-align: center;
  color: var(--yellow);
}
.label--lines::before,
.label--lines::after {
  content: ""; flex: 1 1 0; max-width: 9.5rem; height: 1.5px;
  background: linear-gradient(90deg, transparent, var(--gold-500));
}
.label--lines::after { transform: scaleX(-1); }

/* ---------- Shared: gold buttons (core/button) ---------- */
.btn-gold > .wp-block-button__link {
  display: inline-flex; align-items: center; justify-content: center; gap: .6rem;
  padding: .7rem 1.6rem;
  font: 600 .95rem/1.2 var(--font-body);
  color: #2a1a02;
  background: var(--grad-gold-btn);
  border: 0; border-radius: 999px;
  box-shadow: 0 0 0 1px rgba(255,214,110,.6), 0 4px 18px rgba(240,170,30,.4), inset 0 1px 0 rgba(255,255,255,.55);
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.btn-gold > .wp-block-button__link:hover { transform: translateY(-2px); filter: brightness(1.06); color: #2a1a02; text-decoration: none; }
.hero .btn-gold > .wp-block-button__link::after { width: 1.25em; height: 1.25em; -webkit-mask-image: var(--icon-arrow); mask-image: var(--icon-arrow); }
.contact .btn-gold > .wp-block-button__link::before { width: 1.25em; height: 1.25em; -webkit-mask-image: var(--icon-send); mask-image: var(--icon-send); }

/* ==========================================================
   HEADER  (template part → patterns/header.php)
   ========================================================== */
.site-header-wrap { position: sticky; top: 0; z-index: 50; }
.admin-bar .site-header-wrap { top: var(--wp-admin--admin-bar--height, 32px); }

.site-header {
  position: relative;
  background: linear-gradient(180deg, #050b19 0%, #091528 100%);
}
.site-header::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1.5px;
  background: var(--line-gold); opacity: .9;
}
.site-header__inner {
  display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; gap: 1rem;
  min-height: var(--header-h); padding: .5rem 1rem;
}
.brand { position: relative; }
.brand img { width: 6.4rem; height: auto; }

.main-nav { margin: 0; }
.main-nav .wp-block-navigation__container { gap: .9rem; flex-wrap: nowrap; }
.main-nav .wp-block-navigation-item__content {
  font-family: var(--font-body); font-size: .78rem; font-weight: 400;
  color: var(--text); white-space: nowrap; transition: color .2s;
}
.main-nav .wp-block-navigation-item__content:hover { color: var(--gold-300); text-decoration: none; }

.main-nav .nav-cta > .wp-block-navigation-item__content {
  display: inline-flex; align-items: center; gap: .45rem;
  padding: .4rem .85rem; font-weight: 500;
  color: var(--yellow);
  border: 1.5px solid var(--yellow); border-radius: 999px;
  background: rgba(255,200,58,.05);
  box-shadow: 0 0 10px rgba(255,200,58,.25), inset 0 0 8px rgba(255,200,58,.12);
}
.main-nav .nav-cta > .wp-block-navigation-item__content::before { display: none; width: 1.35rem; height: 1.35rem; -webkit-mask-image: var(--icon-mail); mask-image: var(--icon-mail); }
.main-nav .nav-cta > .wp-block-navigation-item__content:hover { background: rgba(255,200,58,.14); color: var(--yellow); }

/* mobile menu (hamburger overlay under 600px) */
.main-nav .wp-block-navigation__responsive-container-open { color: var(--yellow); }
.main-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem; }
.main-nav .is-menu-open .wp-block-navigation__container { gap: 1.25rem; align-items: flex-start; flex-direction: column; }
.main-nav .is-menu-open .wp-block-navigation-item__content { font-size: 1.1rem; }

/* ==========================================================
   HERO  (patterns/hero.php)
   ========================================================== */
.hero {
  position: relative; isolation: isolate; overflow: hidden; min-height: var(--aev-hero-min-h, 0px);
  padding: var(--aev-hero-pad-top, 2.6rem) 0 var(--aev-hero-pad-bottom, 3rem);
  background: var(--navy-950);
}
.hero__media { position: absolute; inset: 0; z-index: -1; margin: 0; }
.hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: right bottom; }
.hero__media::after {   /* readability fade over the photo */
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(4,10,24,.93) 0%, rgba(4,10,24,.8) 62%, rgba(4,10,24,.3) 100%);
}
/* gold swooshes */
.hero::before, .hero::after {
  content: ""; position: absolute; z-index: 0; pointer-events: none;
  background: url("assets/images/swoosh.svg") no-repeat center / 100% 100%;
  width: 8rem; height: 4.6rem; opacity: .9;
}
.hero::before { left: 0; top: 0; }
.hero::after  { right: 0; bottom: 0; transform: rotate(180deg); }

.hero__inner { position: relative; z-index: 1; display: grid; justify-items: start; padding: 1.4rem 1.25rem 0; }

.hero__eyebrow, :where(.hero__inner > p:first-child) {
  margin-bottom: var(--aev-hero-gap-eyebrow, .6rem);
  font-size: .72rem; font-weight: 500; letter-spacing: .3em; text-transform: uppercase;
}
.hero__title, :where(.hero__inner > h1) {
  font-family: var(--font-display); font-style: italic; font-weight: 700;
  font-size: clamp(2.5rem, 11vw, 3.4rem); line-height: 1.02; letter-spacing: -.005em;
  background: var(--grad-gold-text); -webkit-background-clip: text; background-clip: text;
  color: transparent;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.45));
  padding-block: .1em; margin-block: -.1em var(--aev-hero-gap-title, .8rem);
}
.hero__tagline, :where(.hero__inner > h1 + p) {
  margin-bottom: var(--aev-hero-gap-tagline, .7rem);
  font-size: .72rem; font-weight: 500; letter-spacing: .24em; text-transform: uppercase;
}
.hero__text, :where(.hero__inner > h1 + p + p) { max-width: var(--aev-hero-text-max-w, 26rem); margin-bottom: var(--aev-hero-gap-text, 1.3rem); font-size: .92rem; line-height: 1.45; text-shadow: 0 1px 8px rgba(0,0,0,.6); }
.hero__actions { margin: 0; }

/* ==========================================================
   VENTURES  (patterns/ventures.php)
   ========================================================== */
.ventures {
  padding: var(--aev-ventures-pad-top, 1.6rem) 1rem var(--aev-ventures-pad-bottom, 2rem);
  background:
    radial-gradient(ellipse 70% 60% at 50% 100%, rgba(16,42,82,.55), transparent 70%),
    var(--navy-900);
}
.ventures__grid { display: grid; gap: var(--aev-card-gap, 1rem); grid-template-columns: 1fr; max-width: 24rem; margin: var(--aev-ventures-title-gap, 1.2rem) auto 0; }

.vcard {
  position: relative; overflow: hidden;
  display: flex; flex-direction: column; align-items: center; text-align: center; min-height: var(--aev-card-min-h, 0px);
  padding: var(--aev-card-pad-top, 1.1rem) 1.1rem 1rem;
  border-radius: .8rem; border: 2px solid var(--gold-500);
  background-color: #08142a; background-repeat: no-repeat;
  box-shadow: 0 0 0 1px rgba(255,214,110,.25), 0 0 14px rgba(255,185,40,.55), inset 0 0 22px rgba(255,185,40,.18);
  transition: transform .25s ease, box-shadow .25s ease;
}
.vcard:hover { transform: translateY(-3px); box-shadow: 0 0 0 1px rgba(255,214,110,.4), 0 0 24px rgba(255,185,40,.75), inset 0 0 26px rgba(255,185,40,.25); }
.vcard > * { position: relative; z-index: 1; }

/* The card artwork is a Group background image (editable: select the card → Styles → Background).
   This overlay keeps the text readable whichever image is used. */
.vcard::before {
  content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background:
    linear-gradient(180deg, rgba(8,20,42,.05) 0%, rgba(8,20,42,.45) 48%, rgba(8,20,42,.78) 100%),
    linear-gradient(90deg, rgba(8,20,42,0) 0%, rgba(8,20,42,.25) 100%);
}
.vcard--pe .vcard__logo img { filter: brightness(1.55) saturate(1.1); }   /* Pereluno mark has navy strokes */
.vcard--build::before { background: linear-gradient(180deg, rgba(8,20,42,.66) 0%, rgba(8,20,42,.8) 55%, rgba(8,20,42,.9) 100%); }   /* the clinic photo is bright */
.vcard--lg::before    { background: linear-gradient(180deg, rgba(8,20,42,.35) 0%, rgba(8,20,42,.6) 50%, rgba(8,20,42,.82) 100%); }

.vcard__logo { width: 3.2rem; height: 3.2rem; margin: 0 0 var(--aev-card-gap-logo, .4rem); filter: drop-shadow(0 0 6px rgba(255,190,50,.35)); }
.vcard__logo img { width: 100%; height: 100%; object-fit: contain; }
.vcard__logo--b { margin-bottom: .1rem; }

.vcard__name, :where(.vcard > h3) { margin-bottom: var(--aev-card-gap-name, .55rem); line-height: 1.05; color: #fff; }
.vcard__name--serif { font-family: var(--font-display); font-weight: 500; font-size: 1.45rem; }
.vcard__name--small { font-family: var(--font-display); font-weight: 500; font-size: 1.1rem; }
.vcard__name--sans  { font-family: var(--font-body); font-weight: 700; font-size: 1.45rem; letter-spacing: -.01em; }

.vcard__tag, :where(.vcard > h3 + p) {
  margin-bottom: var(--aev-card-gap-tag, .6rem);
  font-size: .82rem; font-weight: 600; line-height: 1.08;
  text-transform: uppercase; letter-spacing: .005em; color: var(--yellow);
}
.vcard__tag--case { text-transform: none; font-size: .88rem; }
.vcard__text, :where(.vcard > h3 + p + p) { max-width: var(--aev-card-text-max-w, 14rem); margin-bottom: var(--aev-card-gap-text, .9rem); font-size: .76rem; line-height: 1.28; color: #fff; }

.vcard .wp-block-buttons { margin-top: auto; justify-content: center; }
.vcard__btn > .wp-block-button__link {
  display: inline-flex; align-items: center; justify-content: center; gap: .45rem;
  min-width: 8.4rem; padding: .32rem .9rem;
  font-family: var(--font-body); font-size: .78rem; font-weight: 500; line-height: 1.4;
  color: var(--yellow);
  background: rgba(8,16,34,.55);
  border: 1.5px solid var(--yellow); border-radius: 999px;
  box-shadow: 0 0 8px rgba(255,200,58,.25);
  transition: background .2s, color .2s;
}
.vcard__btn > .wp-block-button__link:hover { background: rgba(255,200,58,.18); color: var(--gold-200); text-decoration: none; }
.vcard__btn > .wp-block-button__link::after { width: 1.05em; height: 1.05em; -webkit-mask-image: var(--icon-ext); mask-image: var(--icon-ext); }

/* ==========================================================
   ABOUT  (patterns/about.php)
   ========================================================== */
.about {
  position: relative; padding: var(--aev-about-pad-top, 1.6rem) 1.25rem var(--aev-about-pad-bottom, 1.6rem);
  background-color: var(--navy-850); background-repeat: no-repeat;
}
.about, .leadership, .contact { background-size: cover; background-position: center; }
/* Mission artwork = navy / cream band / navy. Stretch it so only the cream band is visible at every screen size. */
.mission { background-size: 100% 185%; background-position: 50% 50%; }
.about::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; background: linear-gradient(90deg, rgba(4,10,24,.35) 0%, rgba(4,10,24,.62) 40%, rgba(4,10,24,.62) 100%); }
.about > * { position: relative; z-index: 1; }
.about::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1.5px; background: var(--line-gold); opacity: .55; }
.about__inner { display: grid; gap: var(--aev-about-gap, 1rem); justify-items: center; }
.about__emblem { width: 9rem; filter: drop-shadow(0 0 12px rgba(255,190,50,.35)); }
.about__emblem img { width: 100%; height: auto; }
.about__body { padding-top: 1rem; border-top: 1.5px solid var(--gold-500); text-align: left; }
.about__title, :where(.about__body > h2) {
  margin-bottom: .45rem;
  font-family: var(--font-body); font-size: .95rem; font-weight: 700;
  letter-spacing: .3em; text-transform: uppercase; color: var(--text);
}
.about__body p { max-width: var(--aev-about-text-max-w, none); font-size: .9rem; line-height: 1.4; }
.about__body strong { font-weight: 700; color: #fff; }

/* ==========================================================
   LEADERSHIP  (patterns/leadership.php)
   ========================================================== */
.leadership {
  padding: var(--aev-leadership-pad-top, 1.6rem) 1.25rem var(--aev-leadership-pad-bottom, 1.6rem);
  background-color: #050d1d; background-repeat: no-repeat;
}
.leadership__inner { display: grid; gap: var(--aev-leadership-gap, 1.2rem); }

.leadership__photo {
  width: min(100%, 14rem); justify-self: center; aspect-ratio: 4 / 5; overflow: hidden;
  border-radius: .9rem; border: 3px solid var(--gold-500);
  box-shadow: 0 0 0 1px rgba(255,214,110,.35), 0 0 18px rgba(255,185,40,.4);
}
.leadership__photo img { width: 100%; height: 100%; object-fit: cover; }

.leadership__kicker, :where(.leadership__body > p:first-child) { margin-bottom: .1rem; font-size: .72rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--yellow); }
.leadership__role, :where(.leadership__body > h2) {
  font-family: var(--font-display); font-style: italic; font-weight: 500;
  font-size: clamp(1.8rem, 8vw, 2.1rem); line-height: 1.12; color: #fff;
}
.leadership__name, :where(.leadership__body > h2 + p) {
  font-family: var(--font-display); font-style: italic; font-weight: 600;
  font-size: clamp(1.6rem, 7vw, 1.85rem); line-height: 1.12;
  background: var(--grad-gold-text); -webkit-background-clip: text; background-clip: text; color: transparent;
}
.leadership__org, :where(.leadership__body > h2 + p + p) { margin-top: .5rem; font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }

.credentials { display: grid; gap: .5rem; margin: .8rem 0; }
.credentials__item { display: flex; flex-wrap: nowrap; align-items: center; gap: .6rem; font-size: .82rem; line-height: 1.3; }
.credentials__item p { min-width: 0; }
.credentials__icon { width: 1.35rem; flex: none; }
.credentials__icon img { width: 100%; height: auto; }

.leadership__bio {
  display: grid; gap: var(--aev-bio-gap, .5rem); max-width: var(--aev-bio-max-w, none); padding-top: .8rem;
  border-top: 1.5px solid var(--gold-600);
  font-size: .78rem; line-height: 1.38;
}

/* ==========================================================
   MISSION  (patterns/mission.php)
   ========================================================== */
.mission {
  padding: var(--aev-mission-pad-top, 1.6rem) 1.25rem var(--aev-mission-pad-bottom, 1.6rem);
  background-color: var(--cream-200, #f3d98f); background-repeat: no-repeat; color: var(--ink-gold);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.55), inset 0 -1px 0 rgba(120,80,10,.25);
}
.mission__inner { display: grid; gap: 1rem; }
.mission__head { display: flex; flex-wrap: nowrap; align-items: center; gap: 1rem; }
.mission__icon { width: 3.2rem; height: 3.2rem; flex: none; }
.mission__icon img { width: 100%; height: 100%; }
.mission__label {
  font-family: var(--font-body); font-size: 1.2rem; font-weight: 700;
  letter-spacing: .2em; text-transform: uppercase; color: #1c1405;
}
.mission__body { display: grid; gap: var(--aev-mission-gap, .5rem); max-width: var(--aev-mission-text-max-w, none); font-size: .84rem; line-height: 1.35; }
.mission__headline, :where(.mission__body > p:first-child) {
  margin-bottom: .2rem;
  font-family: var(--font-display); font-style: italic; font-weight: 600;
  font-size: clamp(1.5rem, 6.5vw, 1.8rem); line-height: 1.12; color: #3a2606;
}

/* ==========================================================
   CONTACT  (patterns/contact.php)
   ========================================================== */
.contact {
  position: relative; overflow: hidden; text-align: center;
  padding: var(--aev-contact-pad-top, 1.6rem) 1.25rem var(--aev-contact-pad-bottom, 3.4rem);
  background-color: var(--navy-950); background-repeat: no-repeat;
}

.contact__inner { position: relative; z-index: 1; display: grid; justify-items: center; gap: .55rem; }
.contact__title, :where(.contact__inner > h3) {
  font-family: var(--font-display); font-style: italic; font-weight: 600;
  font-size: clamp(1.9rem, 8.5vw, 2.3rem); line-height: 1.1; color: #fff;
}
.contact__text, :where(.contact__inner > h3 + p) { max-width: var(--aev-contact-text-max-w, 36rem); font-size: .85rem; line-height: 1.4; }

.contact__details {
  display: grid; gap: .7rem; width: 100%; max-width: var(--aev-contact-details-max-w, 38rem);
  margin: .6rem 0 var(--aev-contact-btn-gap, .8rem); padding-top: .9rem;
  border-top: 1.5px solid transparent; border-image: var(--line-gold) 1;
}
.contact__email, .contact__location { display: flex; align-items: center; justify-content: center; gap: .6rem; font-size: 1rem; font-weight: 500; }
.contact__email a { font-weight: 600; color: inherit; transition: color .2s; }
.contact__email a:hover { color: var(--gold-300); text-decoration: none; }
.contact__email::before, .contact__location::before { width: 1.6rem; height: 1.6rem; color: var(--yellow); }
.contact__email::before    { -webkit-mask-image: var(--icon-mail); mask-image: var(--icon-mail); }
.contact__location::before { -webkit-mask-image: var(--icon-pin);  mask-image: var(--icon-pin); }

.contact__actions { margin: 0; }
.btn-gold--lg > .wp-block-button__link { padding: .75rem 2.4rem; font-size: 1.05rem; }

/* ==========================================================
   FOOTER  (patterns/footer.php)
   ========================================================== */
.site-footer { position: relative; background: var(--navy-950); padding: 1.2rem 1.25rem; }
.site-footer::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1.5px; background: var(--line-gold); opacity: .8; }
.site-footer__inner { display: grid; gap: .9rem; justify-items: center; text-align: center; }
.site-footer__name { font-size: .95rem; line-height: 1.25; }
.site-footer__loc { font-size: .85rem; color: var(--text-soft); }
.site-footer__site a { color: var(--yellow); font-weight: 700; font-size: 1.05rem; }
.site-footer__legal { display: flex; flex-wrap: nowrap; align-items: center; justify-content: center; gap: 1.1rem; font-size: .82rem; }
.site-footer__legal > p + p { padding-left: 1.1rem; border-left: 1.5px solid var(--gold-500); }
.site-footer__legal a { color: var(--text); transition: color .2s; }
.site-footer__legal a:hover { color: var(--gold-300); text-decoration: none; }

/* ==========================================================
   INNER PAGES (Privacy Policy, Terms of Use, any other page, 404, posts)
   ========================================================== */
.page-hero {
  position: relative; text-align: center; overflow: hidden;
  padding: 2.4rem 1.25rem 2.2rem;
  background:
    linear-gradient(180deg, rgba(4,10,24,.55), rgba(4,10,24,.85)),
    url("assets/images/bg-leadership.webp") center / cover no-repeat,
    var(--navy-950);
  border-bottom: 1px solid rgba(240,195,90,.35);
}
.page-hero::after {                       /* gold hairline under the title band */
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1.5px;
  background: var(--line-gold);
}
.page-hero__eyebrow { margin-bottom: .6rem; font-size: .72rem; font-weight: 500; letter-spacing: .32em; text-transform: uppercase; color: var(--yellow); }
.page-title {
  margin: 0; padding-block: .06em;
  font-family: var(--font-display); font-style: italic; font-weight: 600;
  font-size: clamp(2.1rem, 8vw, 3rem); line-height: 1.1;
  background: var(--grad-gold-text); -webkit-background-clip: text; background-clip: text; color: transparent;
}
.page-title a { color: inherit; }

.page-body { padding: 2rem 1rem 3.5rem; background: radial-gradient(ellipse 60% 40% at 50% 0%, rgba(16,42,82,.5), transparent 70%), var(--navy-900); }
.page-content {
  max-width: var(--aev-legal-width, 54rem); margin-inline: auto !important;
  padding: 1.6rem 1.25rem 1.8rem;
  border: 1px solid rgba(240,195,90,.28); border-radius: .9rem;
  background: rgba(255,255,255,.025);
  box-shadow: 0 0 0 1px rgba(255,214,110,.06), 0 12px 40px rgba(0,0,0,.35);
  font-size: .9rem; line-height: 1.75; color: var(--text-soft);
}
.page-content > * + * { margin-top: 1rem; }
.page-content p { max-width: none; }
.page-content h2 {
  margin-top: 2.2rem; padding-left: .85rem;
  font-family: var(--font-display); font-weight: 600; font-size: 1.45rem; line-height: 1.25; color: #fff;
  border-left: 3px solid var(--gold-500);
}
.page-content > h2:first-of-type, .page-content > .legal-meta + h2 { margin-top: 1.6rem; }
.page-content h3 { margin-top: 1.5rem; font-family: var(--font-body); font-weight: 600; font-size: .95rem; letter-spacing: .02em; color: var(--yellow); }
.page-content ul, .page-content ol { padding-left: 1.3rem; }
.page-content li { padding-left: .2rem; }
.page-content li + li { margin-top: .4rem; }
.page-content li::marker { color: var(--gold-400); }
.page-content strong { color: #fff; font-weight: 600; }
.page-content a { color: var(--yellow); text-decoration: underline; text-underline-offset: 3px; }
.page-content a:hover { color: var(--gold-300); }
.legal-meta {
  padding: .7rem 1rem; font-size: .78rem; letter-spacing: .04em; color: var(--text);
  border: 1px solid rgba(240,195,90,.25); border-radius: .5rem; background: rgba(240,195,90,.06);
}
.legal-copy { margin-top: 2.2rem !important; padding-top: 1.1rem; font-size: .78rem; text-align: center; color: var(--text-soft); border-top: 1px solid rgba(240,195,90,.25); }
.page-main--404 { padding: 3rem 1.25rem 4rem; min-height: 55vh; text-align: center; background: var(--navy-900); }
.page-main--404 .wp-block-search { margin-top: 1.5rem; }
.page-main--404 .wp-block-search__input { background: rgba(255,255,255,.06); color: var(--text); border: 1px solid var(--gold-600); border-radius: 999px; padding: .6rem 1rem; }
.page-main--404 .wp-block-search__button { color: #2a1a02; background: var(--grad-gold-btn); border: 0; border-radius: 999px; padding: .6rem 1.4rem; font-weight: 600; }
.page-back { margin-top: 1.5rem; }
.page-back a { text-decoration: underline; text-underline-offset: 3px; }
.page-main:not(.page-main--404) { padding: 0; }   /* index.html / posts keep a simple layout */

/* ==========================================================
   PHONES (<640px): the section artwork is 3:1, phone sections are tall — keep only the useful part
   (!important because the block's own background settings are inline styles)
   ========================================================== */
@media (max-width: 639px) {
  .about   { background-size: auto 125% !important; background-position: 50% 0 !important; }     /* keeps the gold hairline out of the paragraph */
}

/* ==========================================================
   TABLET (>=640px)
   ========================================================== */
@media (min-width: 640px) {
  .site-header__inner { padding-inline: 1.75rem; }
  .brand img { width: 8rem; }
  .main-nav .wp-block-navigation__container { gap: 1.8rem; }
  .main-nav .wp-block-navigation-item__content { font-size: .9rem; }
  .main-nav .nav-cta > .wp-block-navigation-item__content::before { display: block; }

  .hero { padding: var(--aev-hero-pad-top, 3.5rem) 0 var(--aev-hero-pad-bottom, 4rem); }
  .hero__inner { padding: 0 2.5rem; }
  .hero__eyebrow, :where(.hero__inner > p:first-child) { font-size: .8rem; }
  .hero__tagline, :where(.hero__inner > h1 + p) { font-size: .82rem; }
  .hero__media::after { background: linear-gradient(90deg, rgba(4,10,24,.92) 0%, rgba(4,10,24,.6) 45%, rgba(4,10,24,.05) 80%); }
  .hero::before, .hero::after { width: 11rem; height: 6.3rem; }

  .ventures { padding-inline: 1.5rem; }
  .ventures__grid { grid-template-columns: repeat(2, 1fr); max-width: 44rem; }

  .about__inner { grid-template-columns: 9rem 1fr; gap: var(--aev-about-gap, 1.8rem); justify-items: start; align-items: center; }
  .about__body { border-top: 0; border-left: 1.5px solid var(--gold-500); padding: .2rem 0 .2rem 1.6rem; }

  .leadership__inner { grid-template-columns: 13rem 1fr; gap: var(--aev-leadership-gap, 2rem); align-items: start; }
  .leadership__photo { width: 100%; }

  .mission__inner { grid-template-columns: 15rem 1fr; gap: 1.6rem; align-items: center; }
  .mission__body { padding-left: 1.6rem; border-left: 1.5px solid #1c1405; }

  .contact__details { grid-template-columns: 1fr 1fr; gap: 0; }
  .contact__details > p + p { border-left: 1.5px solid var(--gold-500); }

  .site-footer__inner { grid-template-columns: 1fr auto 1fr; text-align: left; align-items: center; justify-items: stretch; }
  .site-footer__site { text-align: center; }
  .site-footer__legal { justify-self: end; }
}

/* ==========================================================
   DESKTOP (>=1024px) — built to the 1024px design canvas
   ========================================================== */
@media (min-width: 1024px) {
  html { font-size: min(1.5625vw, 20px); }
  :root { --header-h: 6.5rem; }

  /* ----- Header (105px) ----- */
  .site-header__inner { max-width: var(--aev-container, 64rem); margin-inline: auto; padding: 0 4.1rem 0 4.4rem; min-height: var(--aev-header-min-h, 6.5rem); justify-content: space-between; }
  .brand img { width: 11.3rem; }
  .brand::after {
    content: ""; position: absolute; right: -2.55rem; top: 50%; transform: translateY(-50%);
    width: 1.5px; height: 2.9rem;
    background: linear-gradient(180deg, transparent, var(--gold-400), transparent);
  }
  /* WordPress resets margins on flex children (.is-layout-flex > :is(*, div)), so use a more specific selector */
  .site-header__inner > .main-nav { margin-left: auto; }
  .main-nav .wp-block-navigation__container { gap: 4.2rem; }
  .main-nav .nav-cta { margin-left: -.9rem; }
  .main-nav .wp-block-navigation-item__content { font-size: 1rem; }
  .main-nav .nav-cta > .wp-block-navigation-item__content { padding: .5rem 1.45rem; gap: .6rem; border-width: 2px; }

  /* ----- Hero (265px) ----- */
  .hero { min-height: var(--aev-hero-min-h, 16.6rem); padding: var(--aev-hero-pad-top, 1.1rem) 0 var(--aev-hero-pad-bottom, 0rem); }
  .hero__inner { max-width: var(--aev-container, 64rem); margin-inline: auto; padding: 0 0 0 var(--aev-hero-pad-left, 8.45rem); }
  .hero__eyebrow, :where(.hero__inner > p:first-child) { margin-bottom: var(--aev-hero-gap-eyebrow, .45rem); font-size: .8rem; line-height: 1.2; letter-spacing: .36em; }
  .hero__title, :where(.hero__inner > h1) { margin-block: -.1em var(--aev-hero-gap-title, .55rem); font-size: 2.85rem; line-height: .84; font-weight: 600; }
  .hero__tagline, :where(.hero__inner > h1 + p) { margin-bottom: var(--aev-hero-gap-tagline, .3rem); font-size: .9rem; line-height: 1.25; letter-spacing: .32em; }
  .hero__text, :where(.hero__inner > h1 + p + p) { max-width: var(--aev-hero-text-max-w, 26.5rem); margin-bottom: var(--aev-hero-gap-text, .5rem); font-size: .8rem; line-height: 1.38; }
  .hero .btn-gold > .wp-block-button__link { min-width: 13.9rem; padding: .5rem 1.4rem; font-size: .88rem; }
  .hero__media::after { background: linear-gradient(90deg, #040a18 0%, rgba(4,10,24,.96) 24%, rgba(4,10,24,.5) 38%, rgba(4,10,24,0) 52%); }
  .hero::before { width: 12.8rem; height: 7.2rem; }
  .hero::after  { width: 12.2rem; height: 6.8rem; }

  /* ----- Ventures (298px) ----- */
  .ventures { padding: var(--aev-ventures-pad-top, .55rem) 1.55rem var(--aev-ventures-pad-bottom, .5rem); }
  .ventures > * { max-width: var(--aev-container, 64rem); margin-inline: auto; }
  .label { font-size: 1.06rem; line-height: 1.2; }
  .label--lines::before, .label--lines::after { max-width: 9.4rem; }
  .ventures .label { margin-bottom: var(--aev-ventures-title-gap, .8rem); }
  .ventures__grid { grid-template-columns: repeat(4, 1fr); gap: var(--aev-card-gap, .95rem); max-width: var(--aev-container, 64rem); margin-top: 0; }

  .vcard { min-height: var(--aev-card-min-h, 15.5rem); padding: var(--aev-card-pad-top, .6rem) .85rem; border-radius: .75rem; }
  .vcard__logo { width: 3rem; height: 3rem; margin-bottom: var(--aev-card-gap-logo, .3rem); }
  .vcard__logo--b { margin-bottom: 0; }
  .vcard__name, :where(.vcard > h3) { margin-bottom: var(--aev-card-gap-name, .4rem); }
  .vcard__name--serif { font-size: 1.42rem; }
  .vcard__name--small { font-size: 1.04rem; }
  .vcard__name--sans  { font-size: 1.42rem; }
  .vcard__tag, :where(.vcard > h3 + p) { margin-bottom: var(--aev-card-gap-tag, .5rem); font-size: .84rem; }
  .vcard__tag--case { font-size: .88rem; }
  .vcard__text, :where(.vcard > h3 + p + p) { max-width: var(--aev-card-text-max-w, 12.6rem); margin-bottom: var(--aev-card-gap-text, .5rem); font-size: .72rem; line-height: 1.22; }
  .vcard__btn > .wp-block-button__link { min-width: 8.5rem; padding: .2rem .8rem; font-size: .8rem; }

  /* ----- About (135px) ----- */
  .about { padding: var(--aev-about-pad-top, .95rem) 0 var(--aev-about-pad-bottom, .85rem); }
  .about__inner { max-width: var(--aev-container, 64rem); margin-inline: auto; padding: 0 3.4rem 0 6.5rem; grid-template-columns: 9.5rem 1fr; gap: var(--aev-about-gap, 2.5rem); }
  .about__emblem { width: 9.5rem; }
  .about__body { padding: .1rem 0 .1rem 2.55rem; }
  .about__title, :where(.about__body > h2) { margin-bottom: .35rem; font-size: 1.06rem; line-height: 1.2; }
  .about__body p { font-size: .94rem; line-height: 1.24; }

  /* ----- Leadership (297px) ----- */
  .leadership { padding: var(--aev-leadership-pad-top, 1.1rem) 0 var(--aev-leadership-pad-bottom, 1rem); }
  .leadership__inner { max-width: var(--aev-container, 64rem); margin-inline: auto; padding: 0 2.4rem 0 4.2rem; grid-template-columns: 12.7rem 1fr; gap: var(--aev-leadership-gap, 2.8rem); align-items: start; }
  .leadership__photo { width: var(--aev-photo-w, 12.7rem); height: var(--aev-photo-h, 16rem); aspect-ratio: auto; margin-top: .2rem; }
  .leadership__body { margin-top: -.35rem; }
  .leadership__kicker, :where(.leadership__body > p:first-child) { font-size: .78rem; line-height: 1.2; margin-bottom: .1rem; }
  .leadership__role, :where(.leadership__body > h2) { font-size: 2.12rem; line-height: 1; }
  .leadership__name, :where(.leadership__body > h2 + p) { margin-top: .1rem; font-size: 1.88rem; line-height: 1.05; }
  .leadership__org, :where(.leadership__body > h2 + p + p) { margin-top: .3rem; font-size: .78rem; line-height: 1.2; }
  .credentials { gap: 0; margin: .4rem 0 .3rem; }
  .credentials__item { gap: .8rem; min-height: 1.75rem; padding-left: .3rem; font-size: .84rem; }
  .credentials__icon { width: 1.4rem; }
  .leadership__bio { gap: var(--aev-bio-gap, .4rem); padding-top: .45rem; font-size: .75rem; line-height: 1.33; }

  /* ----- Mission (138px) ----- */
  .mission { padding: 0; }
  .mission__inner { max-width: var(--aev-container, 64rem); margin-inline: auto; padding: var(--aev-mission-pad-top, 1rem) 4.4rem var(--aev-mission-pad-bottom, 1rem) 4.25rem; grid-template-columns: 17.9rem 1fr; gap: 0; min-height: var(--aev-mission-min-h, 8.6rem); }
  .mission__icon { width: 3.3rem; height: 3.3rem; }
  .mission__label { font-size: 1.32rem; }
  .mission__body { gap: var(--aev-mission-gap, .4rem); padding-left: 1.7rem; font-size: .82rem; line-height: 1.28; }
  .mission__headline, :where(.mission__body > p:first-child) { margin-bottom: .05rem; font-size: 1.64rem; line-height: 1.1; white-space: nowrap; }

  /* ----- Contact (220px) ----- */
  .contact { padding: var(--aev-contact-pad-top, .6rem) 0 var(--aev-contact-pad-bottom, 1.5rem); }
  .contact__inner { max-width: var(--aev-container, 64rem); margin-inline: auto; gap: 0; }
  .contact .label { width: 100%; margin-bottom: .3rem; padding-inline: 11rem; }
  .contact__title, :where(.contact__inner > h3) { margin-bottom: .3rem; font-size: 2.15rem; line-height: 1.1; }
  .contact__text, :where(.contact__inner > h3 + p) { max-width: var(--aev-contact-text-max-w, 56rem); margin-bottom: .45rem; font-size: .84rem; line-height: 1.4; }
  .contact__details { max-width: var(--aev-contact-details-max-w, 41.5rem); margin: 0 0 var(--aev-contact-btn-gap, .95rem); padding-top: .6rem; }
  .contact__email, .contact__location { font-size: 1.18rem; line-height: 1.3; }
  .contact .btn-gold > .wp-block-button__link { min-width: 17.5rem; padding: .62rem 2.4rem; font-size: 1.13rem; }

  /* ----- Footer (74px) ----- */
  .site-footer { padding: 0; }
  .site-footer__inner { max-width: var(--aev-container, 64rem); margin-inline: auto; padding: 0 3rem 0 3.25rem; min-height: var(--aev-footer-min-h, 4.6rem); grid-template-columns: 18.75rem 20.2rem 1fr; gap: 0; align-items: center; justify-items: stretch; }
  .site-footer__org { display: flex; flex-direction: column; justify-content: center; height: 2.5rem; border-right: 1.5px solid var(--gold-500); text-align: left; }
  .site-footer__name { font-size: 1.04rem; line-height: 1.2; }
  .site-footer__loc { font-size: .93rem; }
  .site-footer__site a { font-size: 1.18rem; }
  .site-footer__legal { justify-self: stretch; justify-content: center; align-items: center; gap: 1.6rem; height: 2.5rem; border-left: 1.5px solid var(--gold-500); font-size: .88rem; }
  .site-footer__legal > p + p { padding-left: 1.6rem; }

  /* ----- Inner pages ----- */
  .page-hero { padding: 2.6rem 1.5rem 2.4rem; }
  .page-hero__eyebrow { font-size: .8rem; }
  .page-title { font-size: 2.9rem; }
  .page-body { padding: 2.2rem 1.55rem 3.2rem; }
  .page-content { padding: 2rem 3.1rem 2.3rem; font-size: .82rem; }
  .page-content h2 { font-size: 1.35rem; }
  .page-content h3 { font-size: .9rem; }
  .legal-meta { font-size: .72rem; }
}


/* ==========================================================
   HELPER CLASSES — add in block → Advanced → Additional CSS class(es)
   (!important so they always beat the section's own rules)
   ========================================================== */
.aev-mw-16 { max-width: 16rem !important; }
.aev-mw-20 { max-width: 20rem !important; }
.aev-mw-24 { max-width: 24rem !important; }
.aev-mw-28 { max-width: 28rem !important; }
.aev-mw-32 { max-width: 32rem !important; }
.aev-mw-36 { max-width: 36rem !important; }
.aev-mw-40 { max-width: 40rem !important; }
.aev-mw-44 { max-width: 44rem !important; }
.aev-mw-48 { max-width: 48rem !important; }
.aev-mw-52 { max-width: 52rem !important; }
.aev-mw-56 { max-width: 56rem !important; }
.aev-mw-60 { max-width: 60rem !important; }
.aev-mw-64 { max-width: 64rem !important; }
.aev-mw-none { max-width: none !important; }
.aev-center { margin-left: auto !important; margin-right: auto !important; }
.aev-text-left { text-align: left !important; }
.aev-text-center { text-align: center !important; }
.aev-text-right { text-align: right !important; }
.aev-minh-8 { min-height: 8rem !important; }
.aev-minh-10 { min-height: 10rem !important; }
.aev-minh-12 { min-height: 12rem !important; }
.aev-minh-14 { min-height: 14rem !important; }
.aev-minh-16 { min-height: 16rem !important; }
.aev-minh-18 { min-height: 18rem !important; }
.aev-minh-20 { min-height: 20rem !important; }
.aev-minh-24 { min-height: 24rem !important; }
.aev-minh-28 { min-height: 28rem !important; }
.aev-minh-32 { min-height: 32rem !important; }
.aev-minh-40 { min-height: 40rem !important; }
.aev-pad-x-0 { padding-left: 0 !important; padding-right: 0 !important; }
.aev-pad-y-0 { padding-top: 0 !important; padding-bottom: 0 !important; }

/* posts list (index.html) */
.page-main--list { padding: 2.5rem 1.25rem 3.5rem !important; background: var(--navy-900); }
