
:root{
  /* Palette */
  --navy-deep:   #192a3d;
  --navy-teal:   #023a51;
  --slate:       #59667d;
  --sky:         #6494aa;
  --crimson:     #a63d40;
  --sand:        #DDCBA4;
  --white:       #ffffff;

  --off-white:#f7f8fa;
  --line:rgba(89,102,125,.16);
  --shadow-soft:0 16px 44px rgba(25,42,61,.08);
  --shadow-large:0 28px 80px rgba(25,42,61,.16);
  --max:1180px;
  --radius:34px;
}
*{box-sizing:border-box}
html{scroll-behaviour:smooth}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Arial,sans-serif;background:var(--off-white);colour:var(--navy-deep);line-height:1.45}
a{text-decoration:none;colour:inherit}
.skip-link{position:absolute;left:-999px;top:10px;background:var(--white);colour:var(--navy-deep);padding:10px;z-index:999}.skip-link:focus{left:10px}

/* Navigation contains the logo. */
.site-nav{position:sticky;top:0;z-index:1000;display:flex;align-items:centre;justify-content:space-between;gap:26px;padding:14px clamp(18px,4vw,56px);background:rgba(255,255,255,.86);backdrop-filter:blur(24px);border-bottom:1px solid var(--line)}
.nav-logo{display:flex;align-items:centre;gap:14px;min-width:270px}
.nav-logo img{width:52px;height:52px;border-radius:14px;box-shadow:0 10px 24px rgba(25,42,61,.18)}
.nav-brand{display:flex;flex-direction:column}
.nav-brand strong{font-size:17px;letter-spacing:-.02em;colour:var(--navy-deep)}
.nav-brand small{font-size:11px;font-weight:800;letter-spacing:.10em;text-transform:uppercase;colour:var(--slate)}
.nav-links{display:flex;align-items:centre;justify-content:flex-end;gap:24px;flex:1}
.nav-links>a,.nav-mega-button{font:inherit;font-size:14px;font-weight:700;colour:var(--navy-deep);opacity:.9;background:transparent;border:0;padding:10px 0;cursor:pointer}
.nav-links>a:hover,.nav-mega-button:hover{opacity:1;colour:var(--crimson)}
.nav-group{position:relative}.mega-menu{position:absolute;top:46px;left:50%;transform:translateX(-50%) translateY(10px);width:min(980px,calc(100vw - 36px));background:rgba(255,255,255,.95);backdrop-filter:blur(24px);border:1px solid rgba(89,102,125,.18);border-radius:30px;box-shadow:var(--shadow-large);padding:24px;display:grid;grid-template-columns:.75fr 1.25fr;gap:22px;opacity:0;visibility:hidden;pointer-events:none;transition:.2s ease;z-index:1100}.nav-group:hover .mega-menu,.nav-group.open .mega-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.mega-intro{padding:10px 8px}.mega-intro h2{font-size:38px;margin:0 0 10px;letter-spacing:-.06em}.mega-intro p:not(.eyebrow){colour:var(--slate);margin:0}.mega-grid{display:grid;grid-template-columns:1fr;gap:10px}.mega-card{display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:start;background:#f7f8fa;border:1px solid rgba(89,102,125,.12);border-radius:20px;padding:14px;transition:.2s ease}.mega-card:hover{background:var(--white);box-shadow:var(--shadow-soft);transform:translateY(-2px)}.mega-card strong{font-size:16px;colour:var(--navy-deep)}.mega-card small{grid-column:2;colour:var(--slate);line-height:1.35}.mega-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:centre;background:rgba(221,203,164,.42);colour:var(--navy-teal)}.mega-icon img{width:28px;height:28px}
.nav-toggle{display:none;border:0;border-radius:999px;background:var(--navy-deep);colour:var(--white);padding:9px 14px}
.nav-cta,.button{display:inline-flex;align-items:centre;justify-content:centre;border-radius:999px;background:var(--crimson);colour:var(--white)!important;padding:11px 18px!important;font-weight:750;font-size:14px;border:0;cursor:pointer;box-shadow:0 10px 24px rgba(166,61,64,.20)}.button.dark{background:var(--navy-deep);box-shadow:0 10px 24px rgba(25,42,61,.18)}.button.light{background:var(--white);colour:var(--navy-deep)!important;box-shadow:0 12px 30px rgba(25,42,61,.18)}.button.subtle{background:rgba(221,203,164,.38);colour:var(--navy-teal)!important;box-shadow:none}
.eyebrow{margin:0 0 14px;colour:var(--crimson);text-transform:uppercase;letter-spacing:.15em;font-size:12px;font-weight:900}.eyebrow.light{colour:var(--sand)}
.hero{max-width:1480px;min-height:86vh;margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:centre;padding:clamp(62px,8vw,118px) clamp(22px,5vw,76px)}
h1,h2,h3{line-height:.96;letter-spacing:-.06em}.hero h1{font-size:clamp(62px,8.8vw,124px);margin:0 0 24px}.hero h1 span{display:block;colour:var(--sky)}.lead{font-size:clamp(21px,2.5vw,31px);colour:var(--navy-teal);max-width:820px;margin:0 0 22px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.role-line{margin-top:26px;colour:var(--slate);font-weight:750}
.hero-visual{position:relative;min-height:590px;border-radius:50px;overflow:hidden;background:url('/assets/images/hero-abstract.svg') centre/cover no-repeat;box-shadow:var(--shadow-large);border:1px solid rgba(255,255,255,.85)}.hero-visual:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 68% 20%,rgba(255,255,255,.88),transparent 28%),linear-gradient(180deg,transparent,rgba(255,255,255,.18))}
.float-stack{position:absolute;z-index:2;left:7%;right:7%;top:8%;display:grid;gap:14px}.float-stat{background:rgba(255,255,255,.75);border:1px solid rgba(255,255,255,.86);backdrop-filter:blur(18px);box-shadow:0 20px 60px rgba(25,42,61,.12);border-radius:26px;padding:18px 20px;display:flex;justify-content:space-between;align-items:centre;gap:20px}.float-stat strong{font-size:clamp(32px,4.2vw,52px);letter-spacing:-.08em;colour:var(--navy-deep)}.float-stat span{font-size:14px;colour:var(--slate);font-weight:800;text-align:right;max-width:220px}
.stats{max-width:var(--max);margin:0 auto;padding:0 22px 50px;display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.stat{position:relative;overflow:hidden;background:var(--white);border-radius:26px;padding:26px 18px;text-align:centre;box-shadow:var(--shadow-soft);border:1px solid rgba(255,255,255,.8)}.stat:after{content:"";position:absolute;inset:auto -20px -60px -20px;height:80px;background:radial-gradient(circle,rgba(221,203,164,.55),transparent 65%)}.stat strong{display:block;font-size:clamp(30px,4vw,54px);letter-spacing:-.08em;position:relative;z-index:1;colour:var(--navy-deep)}.stat span{display:block;colour:var(--slate);font-size:13px;font-weight:850;margin-top:6px;position:relative;z-index:1}
.section{max-width:var(--max);margin:0 auto;padding:78px 22px}.section-head{text-align:centre;max-width:890px;margin:0 auto 38px}.section-head h2{font-size:clamp(42px,6vw,78px);margin:0 0 16px}.section-head p{font-size:20px;colour:var(--slate);margin:0 auto}
.story-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.story-card{position:relative;overflow:hidden;background:var(--white);border-radius:34px;padding:26px;min-height:360px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--shadow-soft);border:1px solid rgba(255,255,255,.86);transition:.25s ease}.story-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-large)}.story-card:before{content:"";position:absolute;right:-90px;top:-90px;width:230px;height:230px;border-radius:50%;background:radial-gradient(circle,rgba(100,148,170,.22),transparent 70%)}.icon-badge{width:62px;height:62px;border-radius:22px;display:grid;place-items:centre;background:rgba(221,203,164,.42);colour:var(--navy-teal);margin-bottom:24px;position:relative;z-index:1}.icon-badge img{width:38px;height:38px}.story-card h3{font-size:28px;margin:0 0 12px;position:relative;z-index:1}.story-card p{font-size:16px;colour:var(--slate);margin:0;position:relative;z-index:1}.text-link{colour:var(--crimson);font-weight:900;margin-top:24px;position:relative;z-index:1}
.image-row{max-width:var(--max);margin:0 auto;padding:0 22px 80px;display:grid;grid-template-columns:1.2fr .8fr;gap:20px}.image-placeholder{min-height:430px;border-radius:42px;background:centre/cover no-repeat;box-shadow:var(--shadow-soft);border:1px solid rgba(255,255,255,.86)}.image-placeholder.profile{background-image:url('/assets/images/profile-placeholder.svg')}.image-placeholder.data{background-image:url('/assets/images/data-placeholder.svg')}
.dark-panel{background:linear-gradient(180deg,var(--navy-deep),#111827);colour:var(--white);margin-top:30px}.dark-panel p{colour:#d9e0e8}.proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.proof-card{position:relative;overflow:hidden;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:32px;padding:30px;min-height:210px}.proof-card:after{content:"";position:absolute;right:-50px;bottom:-50px;width:160px;height:160px;border-radius:50%;background:rgba(221,203,164,.18)}.proof-card strong{display:block;font-size:54px;letter-spacing:-.08em;colour:var(--sand)}.proof-card span{display:block;colour:#d6dce6;font-weight:750;margin-top:8px}
.cta-band{max-width:var(--max);margin:74px auto;padding:42px;border-radius:42px;background:linear-gradient(135deg,var(--navy-deep),var(--navy-teal));colour:var(--white);display:flex;justify-content:space-between;align-items:centre;gap:28px;box-shadow:var(--shadow-large)}.cta-band h2{font-size:clamp(38px,5vw,60px);margin:0 0 10px}.cta-band p{margin:0;max-width:760px;colour:rgba(255,255,255,.86);font-size:19px}
.page-hero{max-width:var(--max);margin:0 auto;padding:84px 22px 42px;display:grid;grid-template-columns:1fr .72fr;gap:34px;align-items:end}.page-hero h1{font-size:clamp(54px,8vw,104px);margin:0 0 22px}.page-hero p:not(.eyebrow){font-size:24px;colour:var(--slate);max-width:880px}.page-hero-visual{min-height:330px;border-radius:38px;background:centre/cover no-repeat;box-shadow:var(--shadow-soft);border:1px solid rgba(255,255,255,.86)}
.page-layout{max-width:var(--max);margin:0 auto;padding:0 22px 70px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.panel{background:var(--white);border-radius:34px;padding:34px;box-shadow:var(--shadow-soft);border:1px solid rgba(255,255,255,.86)}.panel.feature{grid-column:span 2;display:grid;grid-template-columns:.8fr 1.2fr;gap:28px;align-items:centre}.panel h2{font-size:40px;margin:0 0 16px}.panel p{font-size:18px;colour:var(--slate)}.mini-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px}.mini-stat{background:#f7f8fa;border-radius:22px;padding:18px;text-align:centre;border:1px solid rgba(89,102,125,.10)}.mini-stat strong{display:block;font-size:32px;letter-spacing:-.06em;colour:var(--navy-deep)}.mini-stat span{font-size:12px;colour:var(--slate);font-weight:850}.support-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.support-list span{border-radius:999px;background:rgba(221,203,164,.42);colour:var(--navy-teal);font-weight:800;padding:9px 13px;font-size:13px}.proof-list{display:grid;gap:12px}.proof-item{padding:16px;border-radius:18px;background:#f7f8fa;font-weight:750;colour:var(--navy-deep)}
.faq-wrap{max-width:940px;margin:0 auto;padding:0 22px 76px}.faq-item{background:var(--white);border-radius:24px;overflow:hidden;margin:12px 0;box-shadow:var(--shadow-soft);border:1px solid rgba(255,255,255,.86)}.faq-q{width:100%;display:flex;justify-content:space-between;gap:18px;text-align:left;background:transparent;border:0;padding:22px 24px;font-size:18px;font-weight:850;cursor:pointer;colour:var(--navy-deep)}.faq-a{display:none;padding:0 24px 24px;colour:var(--slate);font-size:17px}.faq-item.open .faq-a{display:block}
.contact-grid{max-width:var(--max);margin:0 auto;padding:0 22px 84px;display:grid;grid-template-columns:.82fr 1.18fr;gap:20px}.contact-card,.form-card{background:var(--white);border-radius:36px;padding:36px;box-shadow:var(--shadow-soft);border:1px solid rgba(255,255,255,.86)}.contact-card p{colour:var(--slate);font-size:18px}label{display:block;font-weight:850;margin:16px 0 7px}input,select,textarea{width:100%;border:1px solid rgba(89,102,125,.25);border-radius:16px;padding:14px 15px;background:var(--white);font:inherit}textarea{min-height:160px}.honeypot{position:absolute;left:-10000px}
.footer{background:var(--white);border-top:1px solid var(--line);padding:48px clamp(22px,5vw,70px);display:flex;justify-content:space-between;gap:24px}.footer p{colour:var(--slate);max-width:660px}.footer-links{display:flex;gap:18px;flex-wrap:wrap;colour:var(--crimson);font-weight:850}
@media(max-width:1180px){.story-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1120px){
.site-nav{align-items:centre}.nav-logo{min-width:auto}.nav-toggle{display:inline-flex}.nav-links{display:none;position:absolute;top:82px;left:14px;right:14px;background:rgba(255,255,255,.97);border:1px solid var(--line);border-radius:26px;padding:18px;box-shadow:var(--shadow-large);flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.nav-links>a,.nav-mega-button{font-size:15px;text-align:left;padding:8px}.mega-menu{position:static;transform:none;width:100%;display:none;opacity:1;visibility:visible;pointer-events:auto;box-shadow:none;border-radius:22px;margin-top:8px;grid-template-columns:1fr}.nav-group.open .mega-menu{display:grid}
.hero,.page-hero,.page-layout,.contact-grid,.image-row,.panel.feature{grid-template-columns:1fr}.stats{grid-template-columns:repeat(3,1fr)}.proof-grid{grid-template-columns:1fr}.hero-visual{min-height:460px}.cta-band,.footer{flex-direction:column;align-items:flex-start}
}
@media(max-width:640px){.nav-logo img{width:46px;height:46px}.nav-brand strong{font-size:15px}.nav-brand small{font-size:10px}.hero h1,.page-hero h1{font-size:54px}.section-head h2{font-size:42px}.stats,.mini-stats{grid-template-columns:repeat(2,1fr)}.story-grid{grid-template-columns:1fr}.hero{padding-top:48px}.float-stat{align-items:flex-start;flex-direction:column}.float-stat span{text-align:left}.story-card{min-height:auto}.page-hero p:not(.eyebrow){font-size:20px}}


/* NAV LOGO FIX: logo is inside navigation.php and is forced visible here. */
.site-nav{
  position:sticky;
  top:0;
  z-index:1000;
  display:flex;
  align-items:centre;
  justify-content:space-between;
  gap:28px;
  padding:14px clamp(18px,4vw,56px);
  background:rgba(255,255,255,.90);
  backdrop-filter:blur(24px);
  border-bottom:1px solid var(--line);
}

.nav-logo{
  display:flex !important;
  align-items:centre;
  gap:16px;
  flex:0 0 auto;
  min-width:320px;
  colour:var(--navy-deep);
  text-decoration:none;
}

.nav-logo-img,
.nav-logo img{
  display:block !important;
  width:64px !important;
  height:64px !important;
  max-width:64px !important;
  max-height:64px !important;
  object-fit:contain;
  border-radius:16px;
  box-shadow:0 12px 26px rgba(25,42,61,.22);
}

.nav-brand{
  display:flex !important;
  flex-direction:column;
  line-height:1.1;
}

.nav-name{
  display:block;
  font-size:18px;
  font-weight:800;
  letter-spacing:-.02em;
  colour:var(--navy-deep);
}

.nav-title{
  display:block;
  margin-top:5px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
  colour:var(--slate);
}

.nav-links{
  display:flex;
  align-items:centre;
  justify-content:flex-end;
  gap:24px;
  flex:1;
}

@media(max-width:1120px){
  .nav-logo{min-width:auto;}
  .nav-logo-img,.nav-logo img{
    width:56px !important;
    height:56px !important;
  }
}


/* FINAL NAV LOGO OVERRIDE: 200px logo, no box, no brand text. */
.nav-logo{
  display:flex !important;
  align-items:centre !important;
  flex:0 0 auto !important;
  min-width:auto !important;
  width:auto !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  text-decoration:none !important;
}

.nav-logo-img,
.nav-logo img{
  display:block !important;
  width:200px !important;
  height:auto !important;
  max-width:200px !important;
  max-height:none !important;
  object-fit:contain !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  padding:0 !important;
  margin:0 !important;
}

.nav-brand,
.nav-name,
.nav-title{
  display:none !important;
}

@media(max-width:760px){
  .nav-logo-img,
  .nav-logo img{
    width:160px !important;
    max-width:160px !important;
  }
}


/* FINAL REQUEST OVERRIDES
   - logo stored in assets/images
   - 200px logo, no box
   - sticky nav
   - hamburger + Menu at 1080px and mobile
   - all buttons same colour and same radius as cards
*/
:root{
  --button-colour: var(--crimson);
  --button-radius: 34px;
}

.site-nav{
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 28px !important;
  padding: 14px clamp(18px,4vw,56px) !important;
  background: rgba(255,255,255,.90) !important;
  backdrop-filter: blur(24px) !important;
  border-bottom: 1px solid var(--line) !important;
}

.nav-logo{
  display:flex !important;
  align-items:center !important;
  flex:0 0 auto !important;
  min-width:auto !important;
  width:auto !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  text-decoration:none !important;
}

.nav-logo-img,
.nav-logo img{
  display:block !important;
  width:200px !important;
  height:auto !important;
  max-width:200px !important;
  max-height:none !important;
  object-fit:contain !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  padding:0 !important;
  margin:0 !important;
}

.nav-toggle{
  display:none;
  align-items:center;
  gap:10px;
  border:0;
  border-radius:var(--button-radius);
  background:var(--button-colour);
  color:var(--white);
  padding:13px 18px;
  font-weight:850;
  line-height:1;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(166,61,64,.20);
}

.hamburger-lines{
  position:relative;
  display:inline-block;
  width:22px;
  height:14px;
}

.hamburger-lines::before,
.hamburger-lines::after{
  content:"";
  position:absolute;
  left:0;
  width:22px;
  height:2px;
  border-radius:999px;
  background:currentColor;
}

.hamburger-lines::before{top:2px;}
.hamburger-lines::after{bottom:2px;}

.menu-word{
  display:inline-block;
  font-size:14px;
  letter-spacing:.02em;
}

/* All site buttons use same colour and radius as cards */
.button,
.nav-cta,
.pill-link,
button.button,
input[type="submit"],
.form-card button[type="submit"]{
  background:var(--button-colour) !important;
  color:var(--white) !important;
  border-radius:var(--button-radius) !important;
  box-shadow:0 10px 24px rgba(166,61,64,.20) !important;
}

.button.dark,
.button.light,
.button.subtle{
  background:var(--button-colour) !important;
  color:var(--white) !important;
  border-radius:var(--button-radius) !important;
}

@media(max-width:1080px){
  .site-nav{
    align-items:center !important;
  }

  .nav-toggle{
    display:inline-flex !important;
  }

  .nav-links{
    display:none !important;
    position:absolute !important;
    top:92px !important;
    left:14px !important;
    right:14px !important;
    background:rgba(255,255,255,.97) !important;
    border:1px solid var(--line) !important;
    border-radius:34px !important;
    padding:18px !important;
    box-shadow:var(--shadow-large) !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:12px !important;
  }

  .nav-links.open{
    display:flex !important;
  }

  .nav-links > a,
  .nav-mega-button{
    font-size:16px !important;
    text-align:left !important;
    padding:12px 10px !important;
  }

  .mega-menu{
    position:static !important;
    transform:none !important;
    width:100% !important;
    display:none !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    box-shadow:none !important;
    border-radius:28px !important;
    margin-top:8px !important;
    grid-template-columns:1fr !important;
  }

  .nav-group.open .mega-menu{
    display:grid !important;
  }
}

@media(max-width:640px){
  .nav-logo-img,
  .nav-logo img{
    width:170px !important;
    max-width:170px !important;
  }

  .nav-links{
    top:84px !important;
  }
}
