/* ==========================================================================
   Mulla Mulla Consulting — site stylesheet
   Structure: design tokens -> base -> components -> layout/page -> responsive
   ========================================================================== */

/* ---- Fonts ---- */
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400&family=Source+Sans+3:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&family=Lora:ital,wght@0,400;0,500;0,600;1,400;1,500&family=IBM+Plex+Mono:wght@400;500;600&display=swap");

/* ---- Tokens: color ---- */
:root{
  --green-900:#111C1B; --green-800:#182726; --green-700:#233535; --green-600:#2E4442;
  --green-500:#3C5551; --green-400:#587570; --green-300:#89A39D; --green-200:#BFD0CB; --green-100:#E4ECE8;

  --gold-700:#8F6721; --gold-600:#B98A34; --gold-500:#D9B45F; --gold-400:#E7CB86;
  --gold-300:#F0D89B; --gold-200:#F7E9C6; --gold-100:#FBF4E4;

  --pindan-700:#7E2F1C; --pindan-600:#9C4025; --pindan-500:#B4522A; --pindan-400:#C97050;
  --pindan-300:#E0A188; --pindan-200:#F1D3C6; --pindan-100:#FAEDE7;

  --spinifex-600:#8A7B33; --spinifex-500:#AC9B4C; --spinifex-400:#C4B573; --spinifex-300:#DCD2A6; --spinifex-200:#EFEAD2;

  --saltwater-700:#1D5B60; --saltwater-600:#26737A; --saltwater-500:#2E8D92; --saltwater-400:#67AFB1; --saltwater-300:#A6CFCE; --saltwater-200:#DCEBEA;

  --ochre-600:#C4861B; --ochre-500:#E0A731; --ochre-400:#EDC167;

  --bone-000:#FFFFFF; --bone-050:#FBF8F3; --bone-100:#F4EDE2; --bone-200:#E9DFCF; --bone-300:#D6C9B4;
  --bone-400:#B4A68F; --bone-500:#8B7F6C; --bone-600:#665D4F; --bone-700:#463F35; --bone-800:#2B261F; --bone-900:#191612;

  --brand:var(--green-700); --brand-strong:var(--green-900); --brand-soft:var(--green-100);
  --accent:var(--gold-500); --accent-strong:var(--gold-600); --accent-soft:var(--gold-100);
  --earth:var(--pindan-500); --earth-soft:var(--pindan-100);
  --water:var(--saltwater-500); --water-soft:var(--saltwater-200);

  --surface-page:var(--bone-050); --surface-card:var(--bone-000); --surface-sunken:var(--bone-100);
  --surface-inverse:var(--green-700); --surface-inverse-deep:var(--green-900); --surface-accent:var(--gold-100);

  --text-heading:var(--green-900); --text-body:var(--bone-700); --text-muted:var(--bone-500);
  --text-on-inverse:var(--bone-100); --text-on-inverse-muted:var(--green-300); --text-on-accent:var(--green-900);
  --text-link:var(--saltwater-700); --text-link-hover:var(--pindan-600);

  --border-hairline:var(--bone-200); --border-strong:var(--bone-300);
  --border-inverse:color-mix(in oklab, var(--gold-500) 30%, transparent);
  --border-focus:var(--gold-600);

  --status-success:#3D7A4E; --status-success-soft:#E4EFE6;
  --status-warning:var(--ochre-500); --status-warning-soft:#FBEECF;
  --status-danger:var(--pindan-600); --status-danger-soft:var(--pindan-100);
  --status-info:var(--saltwater-600); --status-info-soft:var(--saltwater-200);

  --gradient-gold:linear-gradient(135deg,#F0D89B 0%,#D9B45F 46%,#B98A34 100%);
  --gradient-country:linear-gradient(160deg,var(--green-700) 0%,var(--green-900) 100%);
  --gradient-protect:linear-gradient(to top,rgba(17,28,27,.88) 0%,rgba(17,28,27,.35) 45%,rgba(17,28,27,0) 100%);
}

/* ---- Tokens: elevation ---- */
:root{
  --shadow-none:none;
  --shadow-xs:0 1px 2px rgba(17,28,27,.06);
  --shadow-sm:0 1px 3px rgba(17,28,27,.07),0 1px 2px rgba(17,28,27,.05);
  --shadow-md:0 4px 12px rgba(17,28,27,.08),0 1px 3px rgba(17,28,27,.05);
  --shadow-lg:0 14px 34px rgba(17,28,27,.11),0 3px 8px rgba(17,28,27,.06);
  --shadow-xl:0 28px 64px rgba(17,28,27,.16);
  --shadow-inset-hairline:inset 0 0 0 1px rgba(17,28,27,.06);
  --shadow-inset-gold:inset 0 0 0 1px rgba(217,180,95,.34);
  --ring-focus:0 0 0 3px rgba(217,180,95,.45);
  --ring-focus-inverse:0 0 0 3px rgba(240,216,155,.38);
  --blur-veil:saturate(1.1) blur(14px);
}

/* ---- Tokens: motion ---- */
:root{
  --ease-standard:cubic-bezier(.22,.61,.36,1);
  --ease-entrance:cubic-bezier(.16,.84,.44,1);
  --ease-exit:cubic-bezier(.4,0,.7,.2);
  --duration-instant:90ms; --duration-fast:160ms; --duration-base:240ms; --duration-slow:420ms; --duration-reveal:700ms;
  --transition-control:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard);
  --press-scale:0.985;
}
@media (prefers-reduced-motion:reduce){:root{--duration-fast:1ms;--duration-base:1ms;--duration-slow:1ms;--duration-reveal:1ms;}}

/* ---- Tokens: radius ---- */
:root{
  --radius-xs:3px; --radius-sm:6px; --radius-md:10px; --radius-lg:16px; --radius-xl:24px; --radius-round:999px;
  --radius-card:var(--radius-lg); --radius-control:var(--radius-sm); --radius-media:var(--radius-md);
  --border-width:1px; --border-width-thick:2px; --rule-accent-width:3px;
}

/* ---- Tokens: spacing ---- */
:root{
  --space-0:0; --space-025:2px; --space-05:4px; --space-075:6px; --space-1:8px; --space-15:12px;
  --space-2:16px; --space-25:20px; --space-3:24px; --space-4:32px; --space-5:40px; --space-6:48px;
  --space-7:64px; --space-8:80px; --space-9:104px; --space-10:128px;
  --section-y:clamp(56px,8vw,var(--space-9));
  --gutter:clamp(20px,5vw,var(--space-6));
  --container-max:1200px; --container-prose:760px; --container-wide:1440px;
}

/* ---- Tokens: typography ---- */
:root{
  --font-display:"Montserrat",-apple-system,"Segoe UI",sans-serif;
  --font-body:"Source Sans 3",-apple-system,"Segoe UI",sans-serif;
  --font-editorial:"Lora",Georgia,"Times New Roman",serif;
  --font-mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",monospace;

  --weight-light:300; --weight-regular:400; --weight-medium:500; --weight-semibold:600; --weight-bold:700; --weight-extrabold:800;

  --text-display-1:clamp(2.75rem,5.4vw,4.5rem);
  --text-display-2:clamp(2.25rem,4vw,3.25rem);
  --text-display-3:clamp(1.75rem,2.8vw,2.375rem);
  --leading-display:1.06; --tracking-display:-0.022em;

  --text-h4:1.5rem; --text-h5:1.1875rem; --text-h6:1.0625rem;
  --leading-heading:1.24; --tracking-heading:-0.012em;

  --text-lead:1.25rem; --text-body-lg:1.0625rem; --text-body-md:1rem; --text-body-sm:0.9375rem; --text-caption:0.8125rem;
  --leading-body:1.62; --leading-tight:1.4;

  --text-eyebrow:0.75rem; --tracking-eyebrow:0.22em; --tracking-wordmark:0.02em;

  --measure-prose:66ch; --measure-narrow:44ch;
}

/* ---- Base ---- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-body);font-size:var(--text-body-md);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;text-wrap:pretty;overflow-x:hidden}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--text-heading);font-weight:var(--weight-bold);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);margin:0 0 var(--space-2)}
h1{font-size:var(--text-display-1);font-weight:var(--weight-extrabold);line-height:var(--leading-display);letter-spacing:var(--tracking-display)}
h2{font-size:var(--text-display-2);font-weight:var(--weight-bold);line-height:1.1;letter-spacing:var(--tracking-display)}
h3{font-size:var(--text-display-3)}
h4{font-size:var(--text-h4)}
h5{font-size:var(--text-h5)}
h6{font-size:var(--text-h6)}
p{margin:0 0 var(--space-2);max-width:var(--measure-prose)}
a{color:var(--text-link);text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:color-mix(in oklab,currentColor 40%,transparent);transition:color var(--duration-fast) var(--ease-standard),text-decoration-color var(--duration-fast) var(--ease-standard)}
a:hover{color:var(--text-link-hover);text-decoration-color:currentColor}
strong{font-weight:var(--weight-semibold);color:var(--text-heading)}
small{font-size:var(--text-caption)}
code,kbd{font-family:var(--font-mono);font-size:.92em}
hr{border:0;border-top:1px solid var(--border-hairline);margin:var(--space-4) 0}
img{max-width:100%}
::selection{background:var(--gold-300);color:var(--green-900)}
:focus-visible{outline:none;box-shadow:var(--ring-focus)}
.mm-eyebrow{font-family:var(--font-display);font-size:var(--text-eyebrow);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--gold-600);margin:0 0 var(--space-15)}
.mm-container{max-width:var(--container-max);margin:0 auto;padding-inline:var(--gutter)}

/* ==========================================================================
   Components (from the Mulla Mulla design system)
   ========================================================================== */

/* Button */
.mm-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);font-family:var(--font-display);font-weight:var(--weight-semibold);letter-spacing:.01em;border:var(--border-width) solid transparent;border-radius:var(--radius-control);cursor:pointer;text-decoration:none;transition:var(--transition-control)}
.mm-btn:focus-visible{outline:none;box-shadow:var(--ring-focus)}
.mm-btn:active:not(:disabled){transform:scale(var(--press-scale))}
.mm-btn:disabled,.mm-btn[aria-disabled="true"]{cursor:not-allowed;opacity:.42;transform:none}
.mm-btn--sm{height:34px;padding:0 var(--space-2);font-size:var(--text-caption)}
.mm-btn--md{height:42px;padding:0 var(--space-25);font-size:var(--text-body-sm)}
.mm-btn--lg{height:52px;padding:0 var(--space-4);font-size:var(--text-body-lg)}
.mm-btn--block{width:100%}
.mm-btn--primary{background:var(--green-700);color:var(--bone-050);box-shadow:var(--shadow-sm)}
.mm-btn--primary:hover:not(:disabled){background:var(--green-600);box-shadow:var(--shadow-md)}
.mm-btn--accent{background:var(--gradient-gold);color:var(--green-900);box-shadow:var(--shadow-sm)}
.mm-btn--accent:hover:not(:disabled){filter:brightness(1.05);box-shadow:var(--shadow-md)}
.mm-btn--secondary{background:transparent;color:var(--green-700);border-color:var(--border-strong)}
.mm-btn--secondary:hover:not(:disabled){background:var(--bone-100);border-color:var(--green-400)}
.mm-btn--ghost{background:transparent;color:var(--green-700)}
.mm-btn--ghost:hover:not(:disabled){background:var(--bone-100)}
.mm-btn--onInverse{background:var(--gold-300);color:var(--green-900)}
.mm-btn--onInverse:hover:not(:disabled){background:var(--gold-200)}
.mm-btn--onInverse:focus-visible{box-shadow:var(--ring-focus-inverse)}
.mm-btn--outlineInverse{background:transparent;color:var(--gold-300);border-color:var(--border-inverse)}
.mm-btn--outlineInverse:hover:not(:disabled){background:rgba(240,216,155,.1);border-color:var(--gold-400)}

/* Card */
.mm-card{position:relative;background:var(--surface-card);border:var(--border-width) solid var(--border-hairline);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard)}
.mm-card--inverse{background:var(--gradient-country);border-color:var(--border-inverse);color:var(--text-on-inverse)}
.mm-card--inverse .mm-card__title{color:var(--gold-300)}
.mm-card--inverse .mm-card__body{color:var(--green-200)}
.mm-card--interactive{cursor:pointer}
.mm-card--interactive:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px);border-color:var(--border-strong)}
.mm-card--crest::after{content:"";position:absolute;left:0;top:0;width:var(--rule-accent-width);height:100%;background:var(--gradient-gold)}
.mm-card__pad{padding:var(--space-3)}
.mm-card__title{font-family:var(--font-display);font-size:var(--text-h5);font-weight:var(--weight-bold);letter-spacing:var(--tracking-heading);color:var(--text-heading);margin:0 0 var(--space-1)}
.mm-card__body{font-size:var(--text-body-sm);color:var(--text-body);margin:0;max-width:none}

/* Fields */
.mm-field{display:flex;flex-direction:column;gap:var(--space-075)}
.mm-field__label{font-family:var(--font-display);font-size:var(--text-caption);font-weight:var(--weight-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--bone-600)}
.mm-field__req{color:var(--pindan-500);margin-left:2px}
.mm-field__hint{font-size:var(--text-caption);color:var(--text-muted)}
.mm-field__error{font-size:var(--text-caption);color:var(--status-danger);font-weight:var(--weight-medium)}
.mm-input,.mm-textarea,.mm-select{width:100%;font-family:var(--font-body);font-size:var(--text-body-md);color:var(--text-heading);background:var(--surface-card);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-control);transition:var(--transition-control)}
.mm-input,.mm-select{height:44px;padding:0 var(--space-15)}
.mm-textarea{padding:var(--space-15);min-height:104px;resize:vertical;line-height:var(--leading-body);font-family:inherit}
.mm-input::placeholder,.mm-textarea::placeholder{color:var(--bone-400)}
.mm-input:hover,.mm-textarea:hover,.mm-select:hover{border-color:var(--green-400)}
.mm-input:focus,.mm-textarea:focus,.mm-select:focus{outline:none;border-color:var(--gold-600);box-shadow:var(--ring-focus)}
.mm-input--invalid,.mm-textarea--invalid,.mm-select--invalid{border-color:var(--status-danger)}
.mm-selectwrap{position:relative;display:flex;align-items:center}
.mm-select{appearance:none;padding-right:var(--space-5);cursor:pointer}
.mm-selectwrap__chev{position:absolute;right:var(--space-15);color:var(--bone-500);pointer-events:none;font-size:11px}

/* Checkbox / Radio / Switch */
.mm-check{display:inline-flex;align-items:flex-start;gap:var(--space-15);cursor:pointer;font-size:var(--text-body-sm);color:var(--text-body)}
.mm-check input{position:absolute;opacity:0;width:0;height:0}
.mm-check__box{flex:none;width:20px;height:20px;margin-top:1px;border:var(--border-width-thick) solid var(--border-strong);border-radius:var(--radius-xs);background:var(--surface-card);display:flex;align-items:center;justify-content:center;color:transparent;transition:var(--transition-control)}
.mm-check__box--radio{border-radius:var(--radius-round)}
.mm-check:hover .mm-check__box{border-color:var(--green-400)}
.mm-check input:checked+.mm-check__box{background:var(--green-700);border-color:var(--green-700);color:var(--gold-300)}
.mm-check input:checked+.mm-check__box--radio{background:var(--surface-card);border-color:var(--green-700);box-shadow:inset 0 0 0 4px var(--green-700)}
.mm-check input:focus-visible+.mm-check__box{box-shadow:var(--ring-focus)}
.mm-check__label{line-height:1.45}
.mm-check__desc{display:block;font-size:var(--text-caption);color:var(--text-muted);margin-top:2px}
.mm-switch{display:inline-flex;align-items:center;gap:var(--space-15);cursor:pointer;font-size:var(--text-body-sm);color:var(--text-body)}
.mm-switch input{position:absolute;opacity:0;width:0;height:0}
.mm-switch__track{flex:none;width:44px;height:24px;border-radius:var(--radius-round);background:var(--bone-300);padding:3px;display:flex;transition:background-color var(--duration-base) var(--ease-standard)}
.mm-switch__knob{width:18px;height:18px;border-radius:var(--radius-round);background:var(--bone-000);box-shadow:var(--shadow-sm);transition:transform var(--duration-base) var(--ease-standard)}
.mm-switch input:checked+.mm-switch__track{background:var(--green-700)}
.mm-switch input:checked+.mm-switch__track .mm-switch__knob{transform:translateX(20px);background:var(--gold-300)}
.mm-switch input:focus-visible+.mm-switch__track{box-shadow:var(--ring-focus)}

/* Breadcrumb */
.mm-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1);font-size:var(--text-caption);color:var(--text-muted);font-family:var(--font-body)}
.mm-crumbs a{color:var(--text-muted);text-decoration:none}
.mm-crumbs a:hover{color:var(--green-700);text-decoration:underline}
.mm-crumbs__sep{color:var(--bone-300)}
.mm-crumbs__current{color:var(--green-900);font-weight:var(--weight-semibold)}

/* Banner */
.mm-banner{display:flex;gap:var(--space-2);align-items:flex-start;padding:var(--space-2) var(--space-25);border-radius:var(--radius-md);border:var(--border-width) solid transparent;font-size:var(--text-body-sm)}
.mm-banner__title{font-family:var(--font-display);font-weight:var(--weight-semibold);color:var(--text-heading);margin:0 0 2px}
.mm-banner--brand{background:var(--gold-100);border-color:var(--gold-300);color:var(--gold-700)}

/* Toast */
.mm-toast{display:flex;align-items:flex-start;gap:var(--space-2);min-width:290px;max-width:420px;padding:var(--space-2);background:var(--green-900);color:var(--bone-100);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);border:var(--border-width) solid var(--border-inverse);animation:mm-toast-in var(--duration-base) var(--ease-entrance)}
@keyframes mm-toast-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.mm-toast__title{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-body-sm);color:var(--gold-300);margin:0 0 2px}
.mm-toast__body{font-size:var(--text-caption);color:var(--green-200);margin:0}
.mm-toast__close{margin-left:auto;background:none;border:0;color:var(--green-300);cursor:pointer;padding:0;line-height:1;font-size:16px}
.mm-toast__close:hover{color:var(--gold-300)}

/* Brand: SectionHeading */
.mm-sect{display:flex;flex-direction:column;gap:var(--space-1)}
.mm-sect__eyebrow+.mm-sect__title{margin-top:var(--space-05)}
.mm-sect__eyebrow{font-family:var(--font-display);font-size:var(--text-eyebrow);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--gold-600);margin:0}
.mm-sect__title{font-family:var(--font-display);font-weight:var(--weight-bold);letter-spacing:var(--tracking-display);line-height:1.1;color:var(--text-heading);margin:0;font-size:var(--text-display-3)}
.mm-sect__title--lg{font-size:var(--text-display-2)}
.mm-sect__intro{font-size:var(--text-lead);line-height:1.5;color:var(--text-body);margin:0;max-width:var(--measure-prose)}
.mm-sect__rule{width:56px;height:var(--rule-accent-width);border-radius:2px;background:var(--gradient-gold);margin-top:2px}
.mm-sect--inverse .mm-sect__title{color:var(--bone-100)}
.mm-sect--inverse .mm-sect__intro{color:var(--green-200)}
.mm-sect--inverse .mm-sect__eyebrow{color:var(--gold-400)}

/* Brand: PullQuote */
.mm-quote{display:flex;flex-direction:column;gap:var(--space-2);padding-left:var(--space-3);border-left:var(--rule-accent-width) solid var(--gold-500);margin:0}
.mm-quote__text{font-family:var(--font-editorial);font-size:clamp(1.25rem,2.2vw,1.75rem);line-height:1.4;color:var(--text-heading);margin:0;max-width:32ch}
.mm-quote__attr{font-family:var(--font-display);font-size:var(--text-caption);font-weight:var(--weight-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--gold-600);margin:0}
.mm-quote__role{display:block;font-weight:var(--weight-regular);letter-spacing:.02em;text-transform:none;color:var(--text-muted);margin-top:2px}
.mm-quote--inverse .mm-quote__text{color:var(--bone-100)}
.mm-quote--inverse .mm-quote__role{color:var(--green-300)}
.mm-quote--inverse{border-left-color:var(--gold-400)}

/* Brand: AcknowledgementOfCountry */
.mm-ack{display:flex;flex-direction:column;gap:var(--space-15);padding:var(--space-3);border-radius:var(--radius-card);background:var(--green-900);color:var(--green-200);border:var(--border-width) solid var(--border-inverse)}
.mm-ack__label{font-family:var(--font-display);font-size:var(--text-eyebrow);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--gold-500);margin:0}
.mm-ack__text{font-family:var(--font-editorial);font-size:var(--text-body-sm);line-height:1.6;margin:0;max-width:78ch}

/* Brand: Logo */
.mm-logo{display:inline-flex;align-items:center;gap:var(--space-15);text-decoration:none}
.mm-logo__mark{display:block;height:100%;width:auto}
.mm-logo__type{display:flex;flex-direction:column;line-height:1}
.mm-logo__name{font-family:var(--font-display);font-weight:var(--weight-extrabold);letter-spacing:var(--tracking-wordmark);color:var(--green-900)}
.mm-logo__sub{font-family:var(--font-display);font-weight:var(--weight-medium);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--gold-600)}
.mm-logo--inverse .mm-logo__name{color:var(--gold-300)}
.mm-logo--inverse .mm-logo__sub{color:var(--green-300)}

/* generic icon tiles / round social buttons / lucide sizing */
.icon-tile{display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:var(--gold-100);color:var(--gold-700);flex:none}
.icon-tile--sm{width:44px;height:44px;margin-bottom:var(--space-2)}
.icon-tile--md{width:48px;height:48px;margin-bottom:var(--space-2)}
.icon-round{display:flex;align-items:center;justify-content:center;border-radius:var(--radius-round);border:1px solid var(--border-inverse);color:var(--gold-300);flex:none;transition:var(--transition-control)}
.icon-round:hover{background:rgba(240,216,155,.12);text-decoration:none}
.icon-round--sm{width:34px;height:34px}
.icon-round--md{width:36px;height:36px}
[data-lucide]{display:block}

/* ==========================================================================
   Site chrome — header / footer
   ========================================================================== */
.site-header{position:sticky;top:0;z-index:30;background:rgba(35,53,53,.92);backdrop-filter:var(--blur-veil);-webkit-backdrop-filter:var(--blur-veil);border-bottom:1px solid var(--border-inverse)}
.site-header__inner{display:flex;align-items:center;gap:var(--space-4);height:82px}
.site-header__logo{text-decoration:none;height:44px;display:inline-flex}
.site-header__logo .mm-logo__mark{height:44px}
.site-header__logo .mm-logo__name{font-size:15px}
.site-header__logo .mm-logo__sub{font-size:6.8px;margin-top:3px}
.site-nav{display:flex;gap:var(--space-4);margin-left:auto;align-items:center}
.site-nav a{text-decoration:none;font-family:var(--font-display);font-size:15px;white-space:nowrap;font-weight:500;color:var(--green-300);border-bottom:2px solid transparent;padding-bottom:3px}
.site-nav a:hover{color:var(--bone-100)}
.site-nav a[aria-current="page"]{font-weight:600;color:var(--bone-100);border-bottom-color:var(--gold-500)}
.nav-toggle{display:none;margin-left:auto;background:none;border:0;color:var(--bone-100);width:40px;height:40px;align-items:center;justify-content:center;cursor:pointer;border-radius:var(--radius-sm)}
.nav-toggle:hover{background:rgba(240,216,155,.1)}

.site-footer{background:var(--gradient-country);color:var(--green-200);padding-top:var(--space-7)}
.site-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--space-6)}
.site-footer__logo{display:block}
.site-footer__logo img{height:110px;width:auto;display:block}
.site-footer__list{list-style:none;padding:0;margin:0;display:grid;gap:8px;font-size:14px}
.site-footer__list a{color:var(--green-200);text-decoration:none}
.site-footer__list a:hover{color:var(--gold-300)}
.site-footer__contact{display:grid;gap:8px;font-size:14px;line-height:1.6}
.site-footer__contact a{color:var(--gold-300);text-decoration:none}
.site-footer__social{display:flex;gap:var(--space-2);margin-top:var(--space-2)}
.site-footer__ack{padding-top:var(--space-6);padding-bottom:var(--space-4)}
.site-footer__bottom{border-top:1px solid rgba(217,180,95,.2)}
.site-footer__bottom-inner{display:flex;justify-content:space-between;padding:var(--space-2) var(--gutter);font-size:12.5px;color:var(--green-300);flex-wrap:wrap;gap:8px}

/* ==========================================================================
   Home
   ========================================================================== */
.hero{position:relative;background:var(--gradient-country);color:var(--bone-100);overflow:hidden}
.hero__inner{display:grid;grid-template-columns:1fr 1.1fr;gap:var(--space-7);align-items:center;padding-top:var(--space-8);padding-bottom:var(--space-8)}
.hero__title{color:var(--bone-100);max-width:16ch;font-size:clamp(3.25rem,6.4vw,5.5rem)}
.hero__lead{font-size:var(--text-lead);line-height:1.5;color:var(--green-200);max-width:46ch;margin-top:var(--space-3)}
.hero__actions{display:flex;gap:var(--space-15);margin-top:var(--space-4);flex-wrap:wrap}
.hero__media img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);background:var(--bone-200)}

.promise-band{background:var(--gold-100);border-bottom:1px solid var(--gold-200)}
.promise-band__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5);padding-top:var(--space-6);padding-bottom:var(--space-6)}
.promise-band h5{margin:0;font-size:var(--text-h5);color:var(--green-900)}
.promise-band p{font-size:15px;margin:6px 0 0;color:var(--bone-700)}

.meet{padding-top:var(--section-y);padding-bottom:var(--section-y)}
.meet__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--space-7);align-items:start}
.meet__photos{display:grid;gap:var(--space-3)}
.meet__photos img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius-media);box-shadow:var(--shadow-md);background:var(--bone-200)}
.meet__text{display:grid;gap:var(--space-2);margin-top:var(--space-3);font-size:var(--text-body-lg);line-height:1.55;max-width:58ch}
.meet__text p{margin:0;max-width:none}
.meet__quote{font-family:var(--font-editorial);font-size:1.25rem;line-height:1.4;color:var(--text-heading);border-left:3px solid var(--gold-500);padding-left:var(--space-3);margin:var(--space-4) 0 0;max-width:34ch}

.services-grid{padding-top:var(--section-y);padding-bottom:var(--section-y)}
.services-grid__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);margin-top:var(--space-5)}
.services-grid__cards .mm-card-title-fix{white-space:nowrap}

.photo-band{position:relative;overflow:hidden;color:var(--bone-100)}
.photo-band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.photo-band::after{content:"";position:absolute;inset:0;background:var(--gradient-protect)}
.photo-band__content{position:relative;height:100%;display:flex;align-items:flex-end;padding-bottom:var(--space-5)}
.photo-band--reach{height:340px}
.photo-band--reach img{object-position:center 60%}
.photo-band__content h3{color:var(--gold-600);margin:0;text-shadow:0 2px 10px rgba(17,28,27,.55)}
.photo-band__content p{color:var(--green-200);font-size:var(--text-body-lg);margin-top:var(--space-15)}
.photo-band__content .mm-eyebrow{color:var(--gold-400)}

.approach{background:var(--surface-sunken);border-top:1px solid var(--border-hairline);border-bottom:1px solid var(--border-hairline)}
.approach__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--space-7);align-items:center;padding-top:var(--section-y);padding-bottom:var(--section-y)}
.approach__grid img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--radius-media);background:var(--bone-200)}
.approach__steps{display:grid;gap:var(--space-3);margin-top:var(--space-3)}
.approach__step{display:flex;gap:var(--space-25)}
.approach__step-num{font:800 15px/1 var(--font-display);color:var(--gold-600);padding-top:3px;min-width:24px;flex:none}
.approach__step h5{margin:0;font-size:var(--text-h5)}
.approach__step p{font-size:15px;margin:4px 0 0}

.voices{background:var(--green-900);color:var(--bone-100)}
.voices__inner{padding-top:var(--section-y);padding-bottom:var(--section-y)}
.voices__quote-wrap{margin-top:var(--space-4);min-height:150px}
.voices__dots{display:flex;gap:8px;margin-top:var(--space-3);align-items:center;flex-wrap:wrap}
.voices__dot{width:10px;height:10px;border-radius:999px;border:0;cursor:pointer;background:rgba(240,216,155,.28);transition:all var(--duration-base) var(--ease-standard);padding:0}
.voices__dot[aria-current="true"]{width:28px;background:var(--gold-400)}
.voices__more{margin-left:var(--space-3)}

.cta-band{background:var(--gradient-gold)}
.cta-band__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);padding-top:var(--space-7);padding-bottom:var(--space-7);flex-wrap:wrap}
.cta-band h3{color:var(--green-900);margin:0;max-width:26ch}
.cta-band p{color:var(--green-700);font-size:var(--text-body-lg);margin:var(--space-1) 0 0}

/* ==========================================================================
   Services / Partners page-hero, breadcrumb band
   ========================================================================== */
.page-hero{background:var(--gradient-country);color:var(--bone-100)}
.page-hero__inner{padding-top:var(--space-5);padding-bottom:var(--space-7)}
.page-hero__crumbs{margin-bottom:var(--space-4)}

.services-list{padding-top:var(--section-y);padding-bottom:var(--section-y)}
.services-list__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}
.service-card__body{min-height:44px}
.service-card__deliver-title{margin-top:var(--space-3);margin-bottom:var(--space-1)}
.service-card__list{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.service-card__list li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;color:var(--text-body)}
.service-card__list li svg,.service-card__list li [data-lucide]{color:var(--gold-600);flex:none;margin-top:3px}
.services-cta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-6)}
.services-cta h3{margin:0;max-width:26ch}

.partners-intro{background:var(--surface-sunken);border-bottom:1px solid var(--border-hairline)}
.partners-intro__inner{padding-top:var(--space-7);padding-bottom:var(--space-6)}
.testimonials{background:var(--green-900);color:var(--bone-100)}
.testimonials__inner{padding-top:var(--section-y);padding-bottom:var(--section-y)}
.testimonials__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);margin-top:var(--space-5)}
.partners-cta{background:var(--gradient-gold)}
.partners-cta__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);padding-top:var(--space-7);padding-bottom:var(--space-7);flex-wrap:wrap}
.partners-cta h3{color:var(--green-900);margin:0;max-width:28ch}

.photo-band--partners{height:300px}
.photo-band--partners img{object-position:center 15%}

/* ==========================================================================
   Contact
   ========================================================================== */
.contact{padding-top:var(--space-7);padding-bottom:var(--section-y)}
.contact__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--space-6);align-items:start}
.contact__form{display:grid;gap:var(--space-3);margin-top:var(--space-4);max-width:560px}
.contact__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}
.contact fieldset{border:0;padding:0;margin:0;display:grid;gap:8px}
.contact fieldset legend{margin-bottom:4px;padding:0}
.contact__actions{display:flex;gap:var(--space-15);margin-top:var(--space-1);flex-wrap:wrap}
.contact__aside{display:grid;gap:var(--space-3)}
.contact__card-body{display:grid;gap:10px}
.contact__card-row{display:flex;gap:10px;align-items:center}
.contact__card-social{display:flex;gap:var(--space-2);margin-top:var(--space-3)}
.contact__photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-media);background:var(--bone-200)}
.toast-wrap{position:fixed;right:24px;bottom:24px;z-index:60}
.toast-wrap[hidden]{display:none}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 980px){
  .hero__inner{grid-template-columns:1fr;padding-top:var(--space-6);padding-bottom:var(--space-6)}
  .hero__media{order:-1}
  .promise-band__grid{grid-template-columns:1fr;gap:var(--space-3)}
  .meet__grid{grid-template-columns:1fr}
  .meet__photos{grid-template-columns:repeat(3,1fr)}
  .services-grid__cards{grid-template-columns:repeat(2,1fr)}
  .approach__grid{grid-template-columns:1fr}
  .services-list__grid{grid-template-columns:1fr}
  .testimonials__grid{grid-template-columns:1fr}
  .contact__grid{grid-template-columns:1fr}
  .site-footer__grid{grid-template-columns:1fr 1fr}
}

@media (max-width: 720px){
  .site-nav{position:fixed;top:82px;left:0;right:0;background:var(--green-900);flex-direction:column;align-items:flex-start;gap:0;padding:var(--space-2) var(--gutter) var(--space-3);border-bottom:1px solid var(--border-inverse);transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-standard)}
  .site-nav.is-open{opacity:1;transform:none;pointer-events:auto}
  .site-nav a{width:100%;padding:var(--space-15) 0;border-bottom:1px solid rgba(217,180,95,.12)}
  .site-nav .mm-btn{margin-top:var(--space-2)}
  .nav-toggle{display:inline-flex}
  .site-header__inner{gap:var(--space-2)}
  .promise-band__grid{grid-template-columns:1fr}
  .meet__photos{grid-template-columns:1fr 1fr}
  .services-grid__cards{grid-template-columns:1fr}
  .contact__row{grid-template-columns:1fr}
  .site-footer__grid{grid-template-columns:1fr;gap:var(--space-4)}
  .site-footer__bottom-inner{flex-direction:column}
  .cta-band__inner,.partners-cta__inner,.services-cta{flex-direction:column;align-items:flex-start}
  .hero__actions,.contact__actions{width:100%}
  .hero__actions .mm-btn,.contact__actions .mm-btn{flex:1}
}

@media (max-width: 480px){
  .meet__photos{grid-template-columns:1fr}
}
