/* RedefineX — runtime stylesheet (RD6 Atomic v1.2)
   Generated from redefinex-brand.json. Novamira enqueues THIS file.
   Because it fully defines :root + the class library, V4 editor-seeding is
   optional_if_css_enqueued: the site renders identically before the MCP seeds. */
:root {

  /* Colours — brand roles */
  --color-primary: #B8744F;
  --color-secondary: #2E3642;
  --color-accent: #B8744F;

  /* Colours — brand shades */
  --color-primary-hover: #9C6444;
  --color-primary-light: #EAD7CC;
  --color-primary-dark: #6D432C;

  /* Colours — neutrals & surfaces */
  --color-base: #0F2239;
  --color-shade: #555E6B;
  --color-surface: #F8F6F2;
  --color-surface-2: #EEE9E2;
  --color-border: #D9D6D0;
  --color-white: #FFFFFF;
  --color-black: #000000;

  /* Colours — text */
  --color-text: #2E3642;
  --color-text-muted: #555E6B;
  --color-text-inverse: #F8F6F2;

  /* Colours — system */
  --color-success: #16A34A;
  --color-danger: #DC2626;
  --color-warning: #D97706;
  --color-info: #0284C7;

  /* Colours — states & alpha */
  --color-secondary-hover: #24384D;
  --color-accent-hover: #9C6444;
  --color-primary-a10: rgba(184,116,79,.10);
  --color-primary-a20: rgba(184,116,79,.20);
  --color-overlay: rgba(15,23,42,.55);
  --focus-ring: 0 0 0 3px rgba(184, 116, 79, 0.45);
  --focus-ring-color: #B8744F;

  /* Spacing */
  --space-3xs: 0.25rem;
  --space-2xs: 0.5rem;
  --space-xs: 0.75rem;
  --space-s: 1rem;
  --space-m: clamp(1rem, 0.9rem + 0.5vw, 1.5rem);
  --space-l: clamp(1.5rem, 1.3rem + 1vw, 2rem);
  --space-xl: clamp(2rem, 1.6rem + 2vw, 3rem);
  --space-2xl: clamp(3rem, 2.4rem + 3vw, 4.5rem);
  --space-3xl: clamp(4rem, 3rem + 5vw, 6rem);

  /* Type scale */
  --text-xs: 0.75rem;
  --text-s: 0.875rem;
  --text-base: 1rem;
  --text-m: clamp(1.125rem, 1.05rem + 0.4vw, 1.25rem);
  --text-l: clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem);
  --h6: clamp(1rem, 0.95rem + 0.3vw, 1.125rem);
  --h5: clamp(1.125rem, 1rem + 0.5vw, 1.375rem);
  --h4: clamp(1.375rem, 1.2rem + 0.8vw, 1.75rem);
  --h3: clamp(1.75rem, 1.5rem + 1.2vw, 2.25rem);
  --h2: clamp(2.25rem, 1.9rem + 1.8vw, 3rem);
  --h1: clamp(2.75rem, 2.2rem + 2.6vw, 4rem);

  /* Typography — families, weights, leading */
  --font-body: "Inter", "Aptos", -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
  --font-heading: "Newsreader", "Canela", Georgia, "Times New Roman", serif;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --leading-tight: 1.06;
  --leading-snug: 1.2;
  --leading-base: 1.5;
  --leading-loose: 1.65;

  /* Typography — tracking */
  --tracking-tight: -0.02em;
  --tracking-normal: 0;
  --tracking-wide: 0.04em;
  --tracking-wider: 0.08em;

  /* Widths */
  --width-narrow: 45rem;
  --width-content: 77.5rem;
  --width-wide: 100rem;
  --width-full: 100%;
  --measure: 65ch;\n  --ls-eyebrow: 0.18em;

  /* Radii, borders, shadows, motion, layers */
  --radius-s: 0.25rem;
  --radius-m: 0.5rem;
  --radius-l: 1rem;
  --radius-xl: 1.5rem;
  --radius-full: 9999px;
  --border-width: 1px;
  --border-width-thick: 2px;
  --shadow-s: 0 1px 2px rgba(15,23,42,.06);
  --shadow-m: 0 4px 12px rgba(15,23,42,.10);
  --shadow-l: 0 12px 32px rgba(15,23,42,.16);
  --duration-fast: 150ms;
  --duration-base: 250ms;
  --duration-slow: 400ms;
  --ease-standard: cubic-bezier(.4,0,.2,1);
  --z-base: 1;
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-overlay: 300;
  --z-modal: 400;

  /* Media — aspect-ratio & icons */
  --ratio-square: 1 / 1;
  --ratio-video: 16 / 9;
  --ratio-photo: 4 / 3;
  --ratio-portrait: 3 / 4;
  --ratio-wide: 21 / 9;
  --icon-s: 1rem;
  --icon-m: 1.5rem;
  --icon-l: 2rem;
  --icon-xl: 3rem;

  /* Form-control tokens */
  --field-height: 2.75rem;
  --field-padding-x: var(--space-s);
  --field-radius: var(--radius-m);
  --field-border: var(--border-width) solid var(--color-border);
  --field-bg: var(--color-surface);
  --field-focus-border: var(--color-primary);

  /* RedefineX extras */
  --color-cta: var(--color-accent);
  --color-cta-hover: #9C6444;
  --color-cta-soft: #C78C62;
  --color-surface-card: #FFFFFF;
  --color-surface-inset: #F1EDE6;
  --color-border-soft: #E3DED6;
  --color-text-strong: #0F2239;
  --color-text-faint: #A7A29B;
  --color-text-inverse-strong: #FFFFFF;
  --color-text-inverse-muted: #9AA6B4;
  --font-display: "Newsreader", "Canela", Georgia, "Times New Roman", serif;
  --weight-heading: 500;
  --tracking-display: -0.01em;
  --text-display-xl: clamp(3.25rem, 6vw, 5.25rem);
  --text-display-lg: clamp(2.5rem, 4.5vw, 3.75rem);
  --text-display-md: clamp(2rem, 3.2vw, 2.75rem);
  --text-display-sm: clamp(1.5rem, 2.2vw, 2rem);
}

*, *::before, *::after { box-sizing: border-box; }
html { font-size: 100%; }
body {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: var(--leading-base);
  color: var(--color-text);
  background: var(--color-surface);
  -webkit-font-smoothing: antialiased;
}
h1,h2,h3,h4,h5,h6 {
  font-family: var(--font-heading);
  font-weight: var(--weight-heading, var(--weight-bold));
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-display, var(--tracking-tight));
}
:where(h1,h2,h3,h4,h5,h6){color:var(--color-text-strong)}

/* ── RD6 class library (standard v1.2 — identical across every site) ───────── */

/* Structure */
.section{padding-block:var(--space-2xl);position:relative}
.section--sm{padding-block:var(--space-xl)}
.section--lg{padding-block:var(--space-3xl)}
.section--muted{background:var(--color-surface-2)}
.section--accent{background:var(--color-primary);color:var(--color-text-inverse);--color-text-strong:var(--color-text-inverse);--color-text:var(--color-text-inverse)}
.section--dark{background:var(--color-base);color:var(--color-text-inverse);--color-text-strong:var(--color-text-inverse);--color-text:var(--color-text-inverse)}
.container{width:100%;max-width:var(--width-content);margin-inline:auto;padding-inline:var(--space-m)}
.container--narrow{max-width:var(--width-narrow)}
.container--wide{max-width:var(--width-wide)}

/* Layout primitives */
.stack{display:flex;flex-direction:column;gap:var(--space-m)}
.cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-m)}
.grid{display:grid;gap:var(--space-l)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.grid-auto{grid-template-columns:repeat(auto-fit,minmax(min(16rem,100%),1fr))}
.center{display:grid;place-items:center}

/* Flex & alignment */
.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}
.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}
.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}
.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}

/* Spacing utilities */
.gap-3xs{gap:var(--space-3xs)}.gap-2xs{gap:var(--space-2xs)}.gap-xs{gap:var(--space-xs)}.gap-s{gap:var(--space-s)}
.gap-m{gap:var(--space-m)}.gap-l{gap:var(--space-l)}.gap-xl{gap:var(--space-xl)}.gap-2xl{gap:var(--space-2xl)}.gap-3xl{gap:var(--space-3xl)}
.pad-s{padding:var(--space-s)}.pad-m{padding:var(--space-m)}.pad-l{padding:var(--space-l)}.pad-xl{padding:var(--space-xl)}.pad-2xl{padding:var(--space-2xl)}.pad-3xl{padding:var(--space-3xl)}
.pad-block-s{padding-block:var(--space-s)}.pad-block-m{padding-block:var(--space-m)}.pad-block-l{padding-block:var(--space-l)}.pad-block-xl{padding-block:var(--space-xl)}
.pad-inline-s{padding-inline:var(--space-s)}.pad-inline-m{padding-inline:var(--space-m)}.pad-inline-l{padding-inline:var(--space-l)}
.mt-s{margin-top:var(--space-s)}.mt-m{margin-top:var(--space-m)}.mt-l{margin-top:var(--space-l)}.mt-xl{margin-top:var(--space-xl)}
.mb-s{margin-bottom:var(--space-s)}.mb-m{margin-bottom:var(--space-m)}.mb-l{margin-bottom:var(--space-l)}.mb-xl{margin-bottom:var(--space-xl)}
.mt-0{margin-top:0}.mb-0{margin-bottom:0}.mx-auto{margin-inline:auto}

/* Width */
.w-full{width:100%}.maxw-narrow{max-width:var(--width-narrow)}.maxw-content{max-width:var(--width-content)}.maxw-wide{max-width:var(--width-wide)}.measure{max-width:var(--measure)}

/* Typography */
.h1{font-size:var(--h1)}.h2{font-size:var(--h2)}.h3{font-size:var(--h3)}.h4{font-size:var(--h4)}.h5{font-size:var(--h5)}.h6{font-size:var(--h6)}
.h1,.h2,.h3,.h4,.h5,.h6{font-family:var(--font-heading);font-weight:var(--weight-heading,var(--weight-bold));line-height:var(--leading-tight);letter-spacing:var(--tracking-display,var(--tracking-tight));color:var(--color-text-strong)}
.text-xs{font-size:var(--text-xs)}.text-s{font-size:var(--text-s)}.text-base{font-size:var(--text-base)}.text-m{font-size:var(--text-m)}.text-l{font-size:var(--text-l)}
.text-display-xl{font-family:var(--font-display);font-size:var(--text-display-xl);font-weight:var(--weight-heading);line-height:var(--leading-tight);letter-spacing:var(--tracking-display)}
.text-display-lg{font-family:var(--font-display);font-size:var(--text-display-lg);font-weight:var(--weight-heading);line-height:var(--leading-tight);letter-spacing:var(--tracking-display)}
.text-display-md{font-family:var(--font-display);font-size:var(--text-display-md);font-weight:var(--weight-heading);line-height:var(--leading-snug)}
.text-display-sm{font-family:var(--font-display);font-size:var(--text-display-sm);font-weight:var(--weight-heading);line-height:var(--leading-snug)}
.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}
.weight-regular{font-weight:var(--weight-regular)}.weight-medium{font-weight:var(--weight-medium)}.weight-semibold{font-weight:var(--weight-semibold)}.weight-bold{font-weight:var(--weight-bold)}
.leading-tight{line-height:var(--leading-tight)}.leading-snug{line-height:var(--leading-snug)}.leading-base{line-height:var(--leading-base)}.leading-loose{line-height:var(--leading-loose)}
.uppercase{text-transform:uppercase;letter-spacing:var(--tracking-wider)}
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.balance{text-wrap:balance}

/* Colour utilities */
.bg-primary{background:var(--color-primary)}.bg-secondary{background:var(--color-secondary)}.bg-accent{background:var(--color-accent)}
.bg-base{background:var(--color-base)}.bg-surface{background:var(--color-surface)}.bg-surface-2{background:var(--color-surface-2)}
.bg-card{background:var(--color-surface-card)}.bg-success{background:var(--color-success)}.bg-danger{background:var(--color-danger)}
.text-primary{color:var(--color-primary)}.text-accent{color:var(--color-accent)}.text-muted{color:var(--color-text-muted)}.text-faint{color:var(--color-text-faint)}.text-inverse{color:var(--color-text-inverse)}.text-strong{color:var(--color-text-strong)}
.border-primary{border:var(--border-width) solid var(--color-primary)}.border-shade{border:var(--border-width) solid var(--color-shade)}.border-default{border:var(--border-width) solid var(--color-border)}

/* Radius & shadow */
.radius-s{border-radius:var(--radius-s)}.radius-m{border-radius:var(--radius-m)}.radius-l{border-radius:var(--radius-l)}.radius-xl{border-radius:var(--radius-xl)}.radius-full{border-radius:var(--radius-full)}
.shadow-s{box-shadow:var(--shadow-s)}.shadow-m{box-shadow:var(--shadow-m)}.shadow-l{box-shadow:var(--shadow-l)}

/* Position / overflow / z */
.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}
.sticky-top{position:sticky;top:0;z-index:var(--z-sticky)}.inset-0{inset:0}
.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-x-auto{overflow-x:auto}
.z-base{z-index:var(--z-base)}.z-dropdown{z-index:var(--z-dropdown)}.z-sticky{z-index:var(--z-sticky)}.z-overlay{z-index:var(--z-overlay)}.z-modal{z-index:var(--z-modal)}

/* Image / media */
.media{position:relative;overflow:hidden;border-radius:var(--radius-m)}
.ratio-square{aspect-ratio:var(--ratio-square)}.ratio-video{aspect-ratio:var(--ratio-video)}.ratio-photo{aspect-ratio:var(--ratio-photo)}.ratio-portrait{aspect-ratio:var(--ratio-portrait)}.ratio-wide{aspect-ratio:var(--ratio-wide)}
.object-cover{object-fit:cover}.object-contain{object-fit:contain}.object-center{object-position:center}.object-top{object-position:top}
.img-cover{width:100%;height:100%;object-fit:cover;display:block}

/* Sizing / placement */
.w-auto{width:auto}.h-full{height:100%}.h-auto{height:auto}.size-full{width:100%;height:100%}
.min-h-screen{min-height:100svh}.min-h-70{min-height:70svh}
.col-span-2{grid-column:span 2}.col-span-3{grid-column:span 3}.col-span-full{grid-column:1/-1}.row-span-2{grid-row:span 2}
.self-start{align-self:start}.self-center{align-self:center}.self-end{align-self:end}.self-stretch{align-self:stretch}
.order-first{order:-1}.order-last{order:99}.order-1{order:1}.order-2{order:2}.order-3{order:3}

/* Prose */
.prose{max-width:var(--measure)}
.prose h1,.prose h2,.prose h3,.prose h4{font-family:var(--font-heading);line-height:var(--leading-tight);color:var(--color-text-strong,var(--color-text))}
.prose p{font-size:var(--text-base);line-height:var(--leading-loose);margin-block-end:var(--space-s)}
.prose a{color:var(--color-primary);text-underline-offset:2px}
.prose ul,.prose ol{padding-inline-start:var(--space-l)}.prose li{margin-block-end:var(--space-2xs)}
.prose blockquote{border-inline-start:3px solid var(--color-accent);padding-inline-start:var(--space-m);font-style:italic;color:var(--color-shade)}
.prose img{max-width:100%;border-radius:var(--radius-m)}
.prose--wide{max-width:var(--width-content)}

/* ── Components ────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2xs);padding:var(--space-xs) var(--space-m);border-radius:var(--radius-m);font-weight:var(--weight-medium);line-height:1;text-decoration:none;border:0;cursor:pointer;transition:background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}
.btn:focus-visible{outline:0;box-shadow:var(--focus-ring)}
.btn--primary{background:var(--color-cta,var(--color-primary));color:var(--color-text-inverse-strong,var(--color-text-inverse))}
.btn--primary:hover{background:var(--color-cta-hover,var(--color-primary-hover))}
.btn--secondary{background:var(--color-base);color:var(--color-text-inverse)}
.btn--secondary:hover{background:var(--color-secondary)}
.btn--ghost{background:transparent;border:var(--border-width) solid var(--color-base);color:var(--color-base)}
.btn--ghost:hover{background:var(--color-base);color:var(--color-text-inverse)}
.btn--sm{padding:var(--space-2xs) var(--space-s);font-size:var(--text-s)}
.btn--lg{padding:var(--space-s) var(--space-l);font-size:var(--text-m)}

.card{background:var(--color-surface-card,var(--color-surface));border:var(--border-width) solid var(--color-border-soft,var(--color-border));border-radius:var(--radius-l);padding:var(--space-l);box-shadow:var(--shadow-s);--color-text-strong:var(--color-base);--color-text:var(--color-secondary)}
.card--feature{border-top:3px solid var(--color-accent)}
.card--bordered{box-shadow:none}

.badge{display:inline-flex;align-items:center;padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-medium);background:var(--color-primary-light);color:var(--color-primary-dark)}
.tag{display:inline-flex;align-items:center;padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-full);font-size:var(--text-xs);background:var(--color-surface-2);color:var(--color-shade)}
.tag--active{background:var(--color-accent);color:var(--color-text-inverse-strong,var(--color-text-inverse))}
.link{color:var(--color-primary);text-underline-offset:2px;text-decoration:underline}
.link:hover{color:var(--color-primary-hover)}

/* Forms */
.form{display:flex;flex-direction:column;gap:var(--space-m)}
.field{display:flex;flex-direction:column;gap:var(--space-2xs)}
.label{font-size:var(--text-s);font-weight:var(--weight-medium);color:var(--color-text)}
.input,.textarea,.select{height:var(--field-height);padding-inline:var(--field-padding-x);background:var(--field-bg);border:var(--field-border);border-radius:var(--field-radius);font:inherit;color:var(--color-text)}
.textarea{height:auto;min-height:7rem;padding-block:var(--space-2xs)}
.input:focus,.textarea:focus,.select:focus{outline:0;border-color:var(--field-focus-border);box-shadow:var(--focus-ring)}
.input--error{border-color:var(--color-danger)}
.field-hint{font-size:var(--text-xs);color:var(--color-text-muted)}
.field-error{font-size:var(--text-xs);color:var(--color-danger)}
.checkbox,.radio{accent-color:var(--color-primary);inline-size:var(--icon-s)}

/* Navigation */
.nav{display:flex;align-items:center;justify-content:space-between;gap:var(--space-m)}
.brand{font-family:var(--font-heading);font-weight:var(--weight-semibold);font-size:var(--text-l);color:var(--color-text-strong,var(--color-text));text-decoration:none}
.nav-menu{display:flex;align-items:center;gap:var(--space-l);list-style:none;margin:0;padding:0}
.nav-link{color:var(--color-text);font-weight:var(--weight-medium);padding-block:var(--space-2xs);text-decoration:none}
.nav-link:hover,.nav-link:focus{color:var(--color-accent)}
.nav-link--active{color:var(--color-accent)}
.nav-toggle{display:none}
.footer-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-l)}

/* Common components */
.eyebrow{text-transform:uppercase;letter-spacing:var(--ls-eyebrow,var(--tracking-wider));font-size:var(--text-s);font-weight:var(--weight-semibold);color:var(--color-accent)}
.section-header{display:flex;flex-direction:column;gap:var(--space-s);max-width:var(--width-narrow);margin-inline:auto;text-align:center}
.lead{font-size:var(--text-m);color:var(--color-text-muted);line-height:var(--leading-base)}
.alert{display:flex;gap:var(--space-s);padding:var(--space-s) var(--space-m);border-radius:var(--radius-m)}
.alert--info{background:var(--color-primary-light);color:var(--color-primary-dark)}
.alert--success{background:rgba(22,163,74,.12);color:var(--color-success)}
.alert--warning{background:rgba(217,119,6,.12);color:var(--color-warning)}
.alert--danger{background:rgba(220,38,38,.10);color:var(--color-danger)}
.avatar{inline-size:var(--icon-xl);aspect-ratio:1;border-radius:var(--radius-full);object-fit:cover}
.stat{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3xs)}
.stat__value{font-family:var(--font-heading);font-size:var(--h3);font-weight:var(--weight-heading,var(--weight-bold));color:var(--color-accent)}
.stat__label{font-size:var(--text-s);color:var(--color-text-muted)}
.divider{border:0;border-top:var(--field-border);margin-block:var(--space-l)}

/* ── Responsive (structural only; fluid tokens handle spacing/type) ──────── */
@media (max-width:64em){ /* tablet ≤1024 */
  .grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}
  .footer-nav{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:47.9375em){ /* mobile ≤767 */
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
  .footer-nav{grid-template-columns:1fr}
  .nav-menu{display:none}
  .nav-toggle{display:inline-flex}
  .hide\@mobile{display:none!important}
}
@media (min-width:48em){ .show\@mobile{display:none!important} }
@media (min-width:64.0625em){ .hide\@desktop{display:none!important} }
@media (max-width:64em){ .show\@desktop{display:none!important} }

/* PARITY PASS 3 additions */
.arrow-link *{color:var(--color-accent)}
.arrow-link{display:inline-flex;align-items:center;gap:var(--space-2xs);font-family:var(--font-body);font-weight:var(--weight-semibold);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--color-accent);text-decoration:none}
.arrow-link::after{content:'\2192';display:inline-block;transition:transform var(--duration-fast) var(--ease-standard)}
.arrow-link:hover::after{transform:translateX(3px)}
.divider-v{border-inline-start:var(--border-width) solid var(--border-on-dark,rgba(248,246,242,.16))}

.section--charcoal{background:#2E3642;color:var(--color-text-inverse);--color-text-strong:var(--color-text-inverse);--color-text:var(--color-text-inverse)}
.elementor-loop-container,.elementor-loop-container>*{align-items:stretch}
.elementor-loop-container .e-loop-item,.elementor-loop-container article{height:100%}
.card{height:100%}
.card .card-foot{margin-block-start:auto}

/* PASS4 element sizes (from standalone reference @1440) */
.hero-title{font-size:clamp(2.4rem, 1.3rem + 4.2vw, 5rem);line-height:1.05;letter-spacing:-0.015em}
.lead-hero{font-size:17px;line-height:1.7;color:var(--color-text)}
.pillar-body{font-size:14.5px;line-height:1.6;color:var(--color-text-faint)}
.cta-title{font-size:clamp(1.75rem,3vw,2.75rem);line-height:1.12}

/* icon fill guard */
.icon svg,[class*="icon-"] svg,svg[class*="icon-"]{fill:none;stroke:currentColor;stroke-width:1.5}

.eyebrow-dash{display:inline-flex;align-items:center;gap:.6em}
.eyebrow-dash::before{content:'';inline-size:1.75rem;block-size:1px;background:currentColor;flex:none}

.btn--arrow::after{content:"→";margin-inline-start:.55em;display:inline-block;font-weight:400}

/* ===== RX-RESPONSIVE-2026-07-13 — mobile/tablet tuning (single source, all pages) ===== */
:root{
  --h1: clamp(2.1rem, 1.55rem + 2.8vw, 4rem);
  --h2: clamp(1.8rem, 1.45rem + 1.7vw, 3rem);
  --h3: clamp(1.45rem, 1.25rem + 1vw, 2.25rem);
  --h4: clamp(1.25rem, 1.1rem + 0.7vw, 1.75rem);
  --text-display-xl: clamp(2.6rem, 1.7rem + 4.2vw, 5.25rem);
  --text-display-lg: clamp(2rem, 1.4rem + 3vw, 3.75rem);
  --text-display-md: clamp(1.75rem, 1.4rem + 1.8vw, 2.75rem);
}
/* tablet <=1024 */
@media (max-width: 64em){
  .elementor .grid-3, .elementor .grid-4 { grid-template-columns: repeat(2, 1fr); }
}
/* mobile <=767 — reliable collapse + tighter rhythm */
@media (max-width: 47.9375em){
  .elementor .grid-2, .elementor .grid-3 { grid-template-columns: 1fr !important; }
  .elementor .grid-4 { grid-template-columns: repeat(2, 1fr) !important; }
  .elementor .cluster { gap: var(--space-s); }
  .elementor .section { padding-block: var(--space-xl) !important; }
}
/* ===== RX-HEADER-MOBILE-2026-07-13 ===== */
@media (max-width: 47.9375em){
  .elementor .e-hdrL-cta{ display: none !important; }
  .e-hdrL-band{ position: relative; }
  .elementor-element-hdrL-menu{ position: static !important; }
  .elementor-element-hdrL-menu .elementor-nav-menu--dropdown{
    position: absolute !important; top: 100% !important; left: 0 !important; right: 0 !important;
    width: 100% !important; max-width: 100vw !important; z-index: 999 !important;
    background: var(--color-surface, #F8F6F2) !important;
    box-shadow: 0 12px 28px rgba(15,34,57,.14) !important;
  }
  .elementor-element-hdrL-menu .elementor-nav-menu--dropdown a.elementor-item{
    padding: 0.9rem var(--space-m) !important; white-space: nowrap;
  }
}
/* ===== RX-TABLET-FIX-2026-07-13 — tablet range (burger shows <=1024) ===== */
@media (max-width: 64em){
  .e-hdrL-band{ position: relative; }
  .elementor-element-hdrL-menu{ position: static !important; }
  .elementor-element-hdrL-menu .elementor-nav-menu--dropdown{
    position: absolute !important; top: 100% !important; left: 0 !important; right: 0 !important;
    width: 100% !important; max-width: 100vw !important; z-index: 999 !important;
    background: var(--color-surface, #F8F6F2) !important; box-shadow: 0 12px 28px rgba(15,34,57,.14) !important;
  }
  .elementor-element-hdrL-menu .elementor-nav-menu--dropdown a.elementor-item{ padding: 0.9rem var(--space-m) !important; white-space: nowrap; }
  .elementor .e-disc2col{ grid-template-columns: 1fr !important; }
  .elementor .e-pillwrap{ grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 47.9375em){
  .elementor .e-pillwrap{ grid-template-columns: 1fr !important; }
}
/* ===== RX-DRAWER-2026-07-13 — mobile/tablet slide-in side menu (<=1024) ===== */
@media (max-width: 64em){
  /* keep the header bar (logo + burger/X) above the drawer so it stays clickable */
  .e-hdrL-band{ position: relative; z-index: 100001 !important; background: var(--color-surface, #F8F6F2); }
  .elementor-element-hdrL-menu{ position: static !important; }
  /* the menu container -> fixed right-side drawer */
  .elementor-element-hdrL-menu .elementor-nav-menu--dropdown{
    position: fixed !important; inset: 0 0 0 auto !important;
    height: 100vh !important; height: 100dvh !important;
    width: min(84vw, 330px) !important; max-width: 330px !important; max-height: none !important;
    transform: translateX(100%); transition: transform .3s cubic-bezier(.4,0,.2,1) !important;
    background: var(--color-secondary, #0F2239) !important; z-index: 100000 !important;
    padding: 4.75rem var(--space-l) var(--space-l) !important; overflow-y: auto !important;
    box-shadow: -18px 0 48px rgba(0,0,0,.30) !important; border: 0 !important;
    display: block !important;
  }
  .elementor-element-hdrL-menu .elementor-nav-menu--dropdown[aria-hidden="false"]{ transform: translateX(0) !important; box-shadow: -18px 0 48px rgba(0,0,0,.30), 0 0 0 100vw rgba(10,22,38,.48) !important; }
  .elementor-element-hdrL-menu .elementor-nav-menu--dropdown .elementor-nav-menu{ display: block !important; }
  .elementor-element-hdrL-menu .elementor-nav-menu--dropdown .elementor-item{
    color: var(--color-text-inverse, #F8F6F2) !important;
    border-bottom: 1px solid rgba(248,246,242,.12) !important;
    padding: 1rem 0 !important; font-size: 1.12rem !important; letter-spacing: .01em;
  }
  .elementor-element-hdrL-menu .elementor-nav-menu--dropdown .elementor-item:hover,
  .elementor-element-hdrL-menu .elementor-nav-menu--dropdown .elementor-item.elementor-item-active{ color: var(--color-accent, #B8744F) !important; }
  /* burger/X sits above the drawer */
  .elementor-element-hdrL-menu .elementor-menu-toggle{ position: relative; z-index: 100002 !important; }
}
/* ===== RX-STICKY-DISC2-2026-07-13 ===== */
/* Sticky header on all breakpoints (drawer z-index 100001 at <=64em still wins over the panel) */
.elementor-location-header{ position: sticky !important; top: 0 !important; z-index: 1000; }
.e-hdrL-band{ background: var(--color-surface, #F8F6F2); box-shadow: 0 1px 0 rgba(15,34,57,.07); }
@media (max-width: 64em){ .elementor-location-header{ z-index: 100001 !important; } }
/* Activiteiten — Discipline 02 (Asset Management): image on top on mobile like the others */
@media (max-width: 47.9375em){
  [data-id="ax29"]{ order: -1 !important; }
}
/* ===== RX-FORM-LABEL-2026-07-13 — more space between form label and field ===== */
.elementor-field-group > label, .elementor-field-group .elementor-field-label{ display: block; margin-bottom: 10px !important; }
/* ===== RX-DRAWER-V2-2026-07-13 — logo + close X inside drawer, clickable overlay ===== */
.rx-drawer-head{ display: none; }
.rx-drawer-overlay{ position: fixed; inset: 0; background: rgba(10,22,38,.5); opacity: 0; pointer-events: none; transition: opacity .3s ease; z-index: 100050; }
@media (max-width: 64em){
  .elementor-element-hdrL-menu .elementor-nav-menu--dropdown{ z-index: 100060 !important; padding: 0 0 var(--space-l) !important; }
  .elementor-element-hdrL-menu .elementor-nav-menu--dropdown[aria-hidden="false"]{ box-shadow: -18px 0 48px rgba(0,0,0,.30) !important; }
  .rx-drawer-head{ display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.05rem var(--space-l); position: sticky; top: 0; background: var(--color-secondary,#0F2239); border-bottom: 1px solid rgba(248,246,242,.12); z-index: 1; }
  .rx-drawer-logo{ display: inline-flex; align-items: center; }
  .rx-drawer-logo img{ height: 26px; width: auto; display: block; }
  .rx-drawer-close{ background: transparent; border: 0; cursor: pointer; color: var(--color-text-inverse,#F8F6F2); font-size: 2rem; line-height: 1; padding: 0 .25rem; margin: 0; opacity: .8; }
  .rx-drawer-close:hover, .rx-drawer-close:focus{ opacity: 1; color: var(--color-accent,#B8744F); }
  .elementor-element-hdrL-menu .elementor-nav-menu--dropdown .elementor-nav-menu{ padding: .5rem var(--space-l) 0 !important; }
  body.rx-drawer-open .rx-drawer-overlay{ opacity: 1; pointer-events: auto; }
}
/* ===== RX-POLISH-2026-07-13 ===== */
.stat-unit{font-size:.55em;color:var(--color-accent);font-weight:var(--weight-medium);letter-spacing:0}
.contact-link{color:inherit;text-decoration:none}
.contact-link:hover,.contact-link:focus{color:var(--color-accent)}
a.e-carditem{cursor:pointer;text-decoration:none;transition:box-shadow .2s ease, transform .2s ease}
a.e-carditem:hover{box-shadow:var(--shadow-m);transform:translateY(-2px)}

/* ===== RX-HEADER-POLISH-2026-07-17 (active underline: ~2px, ~10% shorter) ===== */
.elementor-element-hdrL-menu .e--pointer-underline .elementor-item:before,
.elementor-element-hdrL-menu .e--pointer-underline .elementor-item:after{ height:2px !important; bottom:0 !important; left:5% !important; right:5% !important; width:auto !important; }

/* ===== RX-HERO-LIFT-2026-07-17 (compacter hero band; filter lifted) ===== */
.elementor .rx-herolift{ padding-block:3rem 4rem !important; }
.elementor .rx-filterlift{ padding-block-start:2rem !important; }

/* RX-CARD-CREDIT */
.e-ccredit{font-style:italic;}
.e-ccredit:empty{display:none!important;}

/* RX-PHOTO-CREDIT */
.elementor-element-heroslider{ position:relative; }
.elementor-element-heroslider::after{ content:'© KCAP – Marcel IJzerman'; position:absolute; right:14px; bottom:10px; z-index:4; font-size:11px; line-height:1; letter-spacing:.02em; color:rgba(255,255,255,.5); pointer-events:none; font-family:Inter,sans-serif; }

/* RX-CREDIT-PRELINE */
.e-ccredit{white-space:pre-line;}
