/* ────────────────────────────────────────────────────────────────────
   SDA Boots — main stylesheet
   Pixel-accurate clone of sdaboots.com (Squarespace 7.1).
   Tokens, header, footer, sections, buttons, forms, type, breakpoints.
   ──────────────────────────────────────────────────────────────────── */

/* ─── self-hosted fonts ───────────────────────────────────────────── */
/* Montserrat + Work Sans loaded via Google Fonts (see functions.php) — matches live sdaboots.com */

/* ─── tokens ──────────────────────────────────────────────────────── */
:root{
  --accent:#07bab5;
  --accent-hover:#90D4D9;
  --dark:#000936;
  --light:#f5f5f5;
  --white:#fff;
  --black:#000;
  --muted:#6b7585;

  --content:1080px;
  --wide:1400px;

  --pad-section:4rem;
  --pad-section-mobile:3rem;

  --bp-sm:480px;
  --bp-md:640px;
  --bp-lg:768px;
  --bp-xl:1024px;
  --bp-xxl:1512px;

  --ease:.25s cubic-bezier(.4,0,.2,1);

  --base-font-size:16px;
}

/* ─── reset (lean) ────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:"Montserrat",Arial,Helvetica,sans-serif;font-weight:400;line-height:1.65;color:var(--dark);background:var(--white);-webkit-font-smoothing:antialiased}
img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}
button,input,select,textarea{font:inherit;color:inherit}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,h5,h6{margin:0 0 .6em;font-family:"Montserrat",Arial,sans-serif;font-weight:700;letter-spacing:-.01em;line-height:1.15;color:var(--dark)}
h1{font-size:clamp(2rem,4vw,3.25rem)}
h2{font-size:clamp(2rem,3vw,2.75rem);line-height:1.2}
h3{font-size:clamp(1.25rem,2vw,1.5rem);line-height:1.3;font-weight:600}
h4{font-size:1.125rem;line-height:1.35;font-weight:600}
p{margin:0 0 1em}
ul,ol{padding-left:1.25em}

/* screen-reader-only */
.sr,.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--dark);color:#fff;padding:.5em 1em;z-index:100000}
.skip-link:focus{left:0}

/* ─── containers ──────────────────────────────────────────────────── */
.container{width:100%;max-width:var(--content);margin:0 auto;padding-left:1.5rem;padding-right:1.5rem}
.container-wide{max-width:var(--wide)}

/* ─── header (sticky, always solid navy — matches custom.css on live) ─ */
.site-header{
  position:sticky;
  top:0;
  z-index:9999;
  background:var(--dark);
  box-shadow:0 2px 0 rgba(0,0,0,.08);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}

.header-inner{
  display:flex;align-items:center;justify-content:space-between;
  max-width:var(--wide);margin:0 auto;
  padding:2.3125rem 1.5rem;gap:2rem;
}

.site-logo{display:flex;align-items:center;gap:.75rem}
.site-logo img{max-height:100px;width:auto}
@media (max-width:767px){.site-logo img{max-height:60px}}

.header-nav{display:flex;align-items:center;gap:2rem}
.header-nav-list{display:flex;align-items:center;gap:1.75rem}
.header-nav-items{display:flex;list-style:none;margin:0;padding:0;gap:1.75rem}
.header-nav-list a,
.header-nav-items a,
.site-header a:not(.btn-cta){color:#fff;font-family:"Montserrat",Arial,sans-serif;font-weight:700;font-size:1.0625rem;letter-spacing:.01em;transition:color var(--ease)}
.site-header .current-menu-item > a,
.site-header .current_page_item > a,
.site-header .current-menu-ancestor > a{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.site-header a:not(.btn-cta):hover{color:var(--accent)}
.header-nav-item-link.is-active{color:var(--accent)}

.header-cta .btn-cta{
  display:inline-block;background:var(--accent);color:var(--dark);
  border:1px solid var(--accent);border-radius:0;
  padding:1.1em 2.2em;font-family:"Montserrat";font-weight:600;
  font-size:.9375rem;text-transform:uppercase;letter-spacing:.04em;
  transition:background-color var(--ease),color var(--ease),border-color var(--ease);
}
.header-cta .btn-cta:hover{background:var(--white);color:var(--dark);border-color:var(--white)}

/* mobile nav toggle */
.nav-toggle{display:none;background:none;border:0;padding:.5em;cursor:pointer}
.nav-toggle .bar{display:block;width:24px;height:2px;background:#fff;margin:5px 0;transition:transform var(--ease),opacity var(--ease)}

@media (max-width:1023px){
  .nav-toggle{display:block;z-index:10001;position:relative}
  .header-nav{
    position:fixed;inset:0;
    background:var(--dark);
    flex-direction:column;justify-content:center;gap:2rem;
    transform:translateX(100%);transition:transform var(--ease);
  }
  .header-nav-items,.header-nav-list{flex-direction:column;gap:1.75rem;font-size:1.5rem}
  body.nav-open .header-nav{transform:translateX(0)}
  body.nav-open .nav-toggle .bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
  body.nav-open .nav-toggle .bar:nth-child(2){opacity:0}
  body.nav-open .nav-toggle .bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}

/* push first section past sticky header (live site does this in custom.css) */
.site-main > section:first-child,
.site-main > article > .section:first-child,
.site-main > .section:first-child{padding-top:120px}
@media (max-width:767px){
  .site-main > section:first-child,
  .site-main > article > .section:first-child,
  .site-main > .section:first-child{padding-top:110px}
}

/* ─── sections ────────────────────────────────────────────────────── */
.section{padding:var(--pad-section) 0;position:relative}
.section-light{background:var(--light)}
.section-dark{background:var(--dark);color:#fff}
.section-dark h1,.section-dark h2,.section-dark h3,.section-dark h4{color:#fff}
.section-accent{background:var(--accent);color:#fff}
.section-accent h1,.section-accent h2,.section-accent h3{color:#fff}
@media (max-width:767px){.section{padding:var(--pad-section-mobile) 0}}

/* ─── hero (full-bleed cover with overlay) ────────────────────────── */
.hero{
  position:relative;min-height:78vh;
  display:flex;align-items:center;justify-content:flex-start;
  color:#fff;text-align:left;
  overflow:hidden;
}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,9,54,.35) 0%,rgba(0,9,54,.7) 100%);z-index:1}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.hero-inner{position:relative;z-index:2;max-width:var(--wide);width:100%;margin:0 auto;padding:120px 1.5rem 4rem}
.hero h1{color:#fff;max-width:18ch}
.hero p{color:#fff;font-size:clamp(1rem,1.4vw,1.25rem);font-weight:300;max-width:46ch}
.hero .eyebrow{color:var(--accent);margin-bottom:1rem}
@media (max-width:767px){.hero{min-height:62vh}.hero-inner{padding:110px 1.5rem 3rem}}

/* ─── investors hero (mirrors sdaboots.com/investors §686c8dbd5455dc5a9026b93a) ─── */
.hero-investors{
  min-height:602px;height:auto;
  background-size:cover;background-position:center;background-repeat:no-repeat;
  display:flex;align-items:center;justify-content:center;
  text-align:center;color:#fff;
  padding:120px 1.5rem 3rem;
}
.hero-investors::before{
  content:"";position:absolute;inset:0;
  background:rgba(1,9,55,.45);
  z-index:1;
}
.hero-investors .hero-inner{
  position:relative;z-index:2;
  max-width:880px;margin:0 auto;padding:0;
  display:flex;flex-direction:column;gap:1.25rem;align-items:center;
}
.hero-investors .hero-eyebrow,
.hero-investors .hero-subtitle{color:#0abab5;margin:0;max-width:none;letter-spacing:normal}
.hero-investors h1,
.hero-investors .hero-tagline{color:#fff;margin:0;max-width:none;letter-spacing:normal}
.hero-investors .hero-eyebrow{
  font-family:"Montserrat",Arial,sans-serif;
  font-size:clamp(1.5rem,2.03vw,1.83rem);line-height:1.344;font-weight:600;
}
.hero-investors h1{
  font-family:"Montserrat",Arial,sans-serif;
  font-size:clamp(2rem,3.23vw,2.91rem);line-height:1.287;font-weight:600;
}
.hero-investors .hero-subtitle{
  font-family:"Montserrat",Arial,sans-serif;
  font-size:clamp(1.5rem,2.03vw,1.83rem);line-height:1.344;font-weight:600;
}
.hero-investors .hero-tagline{
  font-family:"Montserrat",Arial,sans-serif;
  font-size:clamp(1.125rem,1.55vw,1.398rem);line-height:1.366;font-weight:600;
  max-width:640px;
}
.hero-investors strong{font-weight:700}
@media (max-width:767px){
  .hero-investors{min-height:60vh;padding:110px 1.5rem 3rem}
  .hero-investors .hero-inner{gap:1rem;max-width:520px}
}

/* ─── homepage hero variant (text + circular framework diagram) ───── */
.hero-home{min-height:680px;max-height:780px;align-items:stretch}
.hero-home .hero-inner.hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
  grid-template-rows:1fr auto;
  align-items:start;
  gap:1rem 2.5rem;
  padding:40px 1.5rem 1.5rem;
}
.hero-home .hero-text{align-self:center;padding-top:0}
.hero-home .hero-text h1{font-size:clamp(1.5rem,2.4vw,2.25rem);line-height:1.2;margin:0;max-width:none;white-space:normal;font-weight:600}
.hero-home .hero-circle{display:flex;align-items:center;justify-content:center}
.hero-home .hero-circle img{width:424px;height:441px;max-width:100%;object-fit:contain;filter:drop-shadow(0 24px 60px rgba(0,0,0,.35))}
.hero-home .hero-boots{
  grid-column:1/-1;
  justify-content:center;
  flex-wrap:nowrap;
  padding:1.25rem 0 0;margin-top:1.25rem;
  gap:.6rem 1rem;
}
.hero-home .hero-boots span{color:#fff;letter-spacing:.16em;font-size:clamp(.7rem,.9vw,.875rem);white-space:nowrap}
.hero-home .hero-boots .sep{color:#fff;opacity:.55}
/* angled teal shape on left edge — mirrors live Squarespace overlay */
.hero-home .hero-shape{
  position:absolute;left:0;top:0;width:min(28vw,360px);height:78%;z-index:1;pointer-events:none;
  background:linear-gradient(135deg,rgba(7,186,181,.55) 0%,rgba(7,186,181,.18) 60%,rgba(7,186,181,0) 100%);
  clip-path:polygon(0 0,100% 0,0 100%);
}
@media (max-width:1023px){
  .hero-home .hero-inner.hero-grid{grid-template-columns:1fr;gap:1.5rem}
  .hero-home .hero-circle{order:-1}
  .hero-home .hero-circle img{width:min(72%,420px)}
  .hero-home .hero-text h1{text-align:center;margin-left:auto;margin-right:auto}
  .hero-home .hero-shape{width:60vw;height:38%}
}
@media (max-width:639px){
  .hero-home{min-height:78vh}
  .hero-home .hero-boots{flex-wrap:wrap;gap:.4rem .75rem;padding:1.25rem 1rem 0;box-sizing:border-box;max-width:100%}
  .hero-home .hero-boots span{font-size:.6875rem;letter-spacing:.14em}
  .hero-home .hero-boots .sep:last-child{display:none}
}

/* Eyebrow labels — ONE style sitewide, identical to the investors page. The investors markup uses
   .inv-eyebrow-rule (see .inv-title-block further down); this rule mirrors it exactly so every
   eyebrow, on every template, renders as Work Sans 500 / 18px / .28em tracking / uppercase /
   accent, with a 32px accent rule either side.

   Heads up: mu-plugins/sda-visual-parity.php pins font-family, font-weight (500), letter-spacing
   and color with !important, so those four properties here are inert — change them there, not
   here. font-size and the ::before/::after rules are not pinned, so they come from this rule. */
.eyebrow{
  display:inline-flex;align-items:center;gap:.75rem;
  font-family:"Work Sans",Arial,sans-serif;font-weight:500;
  font-size:1.125rem;letter-spacing:.28em;text-transform:uppercase;
  color:var(--accent);
}
.eyebrow::before,.eyebrow::after{
  content:"";display:block;flex:0 0 32px;width:32px;height:1px;background:var(--accent);
}

/* ─── buttons ─────────────────────────────────────────────────────── */
.btn{
  display:inline-block;
  font-family:"Montserrat",Arial,sans-serif;font-weight:600;
  font-size:.875rem;text-transform:uppercase;letter-spacing:.04em;
  padding:.95em 2em;border:1px solid currentColor;border-radius:0;
  background:transparent;color:currentColor;cursor:pointer;
  transition:background-color var(--ease),color var(--ease),border-color var(--ease);
}
.btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.btn-light{color:#fff;border-color:#fff}
.btn-light:hover{background:#fff;color:var(--dark);border-color:#fff}
/* Secondary button for LIGHT backgrounds. .btn-light is white text on a white border and
   disappears on anything pale — use this instead wherever the section background is light. */
.btn-outline{background:transparent;color:var(--dark);border-color:var(--dark)}
.btn-outline:hover{background:var(--dark);color:#fff;border-color:var(--dark)}
.btn-row{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}

/* ─── grids / columns ─────────────────────────────────────────────── */
.grid{display:grid;gap:2rem}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:1023px){.grid-4,.grid-5{grid-template-columns:repeat(2,1fr)}}
@media (max-width:767px){.grid-2,.grid-3,.grid-4,.grid-5{grid-template-columns:1fr}}

/* ─── feature cards ───────────────────────────────────────────────── */
.feature-card{padding:2rem;background:var(--white);border:1px solid rgba(0,9,54,.08)}
.feature-card .icon{width:48px;height:48px;color:var(--accent);margin-bottom:1rem}
.feature-card h3{margin-bottom:.5rem}
.section-light .feature-card{background:var(--white)}

/* ─── stat row ────────────────────────────────────────────────────── */
.stat{text-align:center;padding:1.5rem 1rem}
.stat .num{font-family:"Montserrat",sans-serif;font-weight:700;font-size:clamp(2.5rem,4vw,3.5rem);color:var(--accent);line-height:1;display:block}
.stat .lbl{font-family:"Work Sans",sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.12em;font-size:.8125rem;margin-top:.5rem;display:block}

/* ─── BOOTS acronym strip ─────────────────────────────────────────── */
.boots-strip{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem 1.5rem;padding:2rem 1.5rem;text-align:center}
.boots-strip span{font-family:"Montserrat";font-weight:600;font-size:.8125rem;text-transform:uppercase;letter-spacing:.18em;color:var(--accent)}
.boots-strip .sep{color:var(--dark);opacity:.3}

/* ─── testimonials ────────────────────────────────────────────────── */
.testimonial{background:var(--white);padding:2rem;border:1px solid rgba(0,9,54,.08);margin:0;display:flex;flex-direction:column;gap:1rem}
.testimonial .t-photo img{width:80px;height:80px;border-radius:50%;object-fit:cover}
.testimonial .t-quote{font-style:italic;font-size:1.0625rem;line-height:1.6;color:var(--dark);margin:0;font-family:"Montserrat"}
.testimonial .t-meta{display:flex;flex-direction:column;gap:.15rem}
.testimonial .t-meta strong{font-weight:600}
.testimonial .t-meta span{font-family:"Work Sans";font-size:.8125rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}

/* ─── numbered journey list (Participants /participants) ──────────── */
.journey{counter-reset:journey;list-style:none;padding:0;display:grid;gap:1.5rem;grid-template-columns:1fr}
.journey li{counter-increment:journey;background:var(--white);padding:1.5rem 1.5rem 1.5rem 5rem;position:relative;border:1px solid rgba(0,9,54,.08)}
.journey li::before{content:counter(journey);position:absolute;left:1.5rem;top:1.25rem;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;font-family:"Montserrat";font-weight:700;font-size:1.125rem;border-radius:50%}
.journey li h3{margin:0 0 .25em;font-size:1.0625rem}

/* ─── news cards ──────────────────────────────────────────────────── */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
@media (max-width:1023px){.news-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:767px){.news-grid{grid-template-columns:1fr}}
.news-section__title{font-family:"Montserrat",Arial,sans-serif;font-weight:700;letter-spacing:-.01em;font-size:clamp(1.6rem,2.6vw,2.25rem);color:var(--dark);margin:0 0 1.75rem;padding-bottom:.6rem;border-bottom:2px solid rgba(7,186,181,.4)}
.news-section--other{padding-top:1rem}

.news-card{background:var(--white);border:1px solid rgba(0,9,54,.08);transition:transform var(--ease),box-shadow var(--ease);display:flex;flex-direction:column}
.news-card:hover{transform:translateY(-2px);box-shadow:0 12px 32px -16px rgba(0,9,54,.25)}
.news-card a{display:flex;flex-direction:column;height:100%}
.news-card .thumb{aspect-ratio:3/2;overflow:hidden}
.news-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.news-card:hover .thumb img{transform:scale(1.04)}
.news-card .body{padding:1.5rem;flex:1;display:flex;flex-direction:column;gap:.5rem}
.news-card time{font-family:"Work Sans";font-weight:500;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;color:var(--accent)}
.news-card h3{font-size:1.125rem;margin:0;line-height:1.3}

/* ─── single post ─────────────────────────────────────────────────── */
.single-post-header{padding:120px 1.5rem 3rem;text-align:center;background:var(--light)}
.single-post-header-inner{max-width:760px;margin:0 auto}
.single-post-header .meta{font-family:"Work Sans";text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;color:var(--accent);margin-bottom:1rem}
.single-post-header h1{max-width:32ch;margin-left:auto;margin-right:auto}
.single-post-hero{max-width:760px;margin:0 auto;padding:0 1.5rem}
.single-post-content{max-width:760px;margin:0 auto;padding:3rem 1.5rem}
.single-post-content img{margin:1.5rem 0}
.single-post-content h2{margin-top:2rem}

/* ─── PREMIUM SINGLE POST (editorial upgrade) ─────────────────────── */
:root{
	--editorial-cream:#FBF8F2;
	--editorial-ink:#1A1F36;
	--editorial-rule:rgba(0,9,54,.08);
}
/* Reading progress bar */
.reading-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:9999;background:transparent;pointer-events:none}
.reading-progress__bar{display:block;height:100%;width:0%;background:linear-gradient(90deg,var(--accent),#7be0db);transform-origin:left center;transition:width .08s linear;box-shadow:0 0 0 1px rgba(7,186,181,.08)}

/* Premium header overrides */
.premium-single .single-post-header{padding:140px 1.5rem 3.25rem;background:var(--editorial-cream);position:relative}
.premium-single .single-post-header::after{content:"";position:absolute;left:50%;bottom:1.5rem;transform:translateX(-50%);width:48px;height:1px;background:var(--editorial-rule)}
.premium-single .single-post-header-inner{max-width:1440px}
.premium-single .eyebrow-pill{display:inline-block;font-family:"Work Sans",sans-serif;font-weight:500;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);padding:.45em 1em;border:1px solid rgba(7,186,181,.35);border-radius:999px;margin-bottom:1.5rem;transition:background var(--ease),color var(--ease),border-color var(--ease)}
.premium-single .eyebrow-pill:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.serif-display{font-family:"Montserrat",Arial,Helvetica,sans-serif!important;font-weight:700;letter-spacing:-.02em;line-height:1.12;color:var(--dark);font-size:clamp(2.4rem,5.2vw,4rem)!important}
.premium-single .single-post-header h1.serif-display{max-width:22ch;margin:.6rem auto 1.4rem}
.premium-single .single-post-header .meta{color:var(--muted);font-family:"Work Sans",sans-serif;font-weight:500;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;margin:0}
.premium-single .meta-sep{display:inline-block;margin:0 .55em;color:rgba(0,9,54,.25)}
.premium-single .meta-author,.premium-single .meta-read{color:var(--dark)}

/* Hero with Ken-Burns parallax */
.premium-single .single-post-hero{max-width:1440px;margin:-1px auto 0;padding:0 1.5rem;overflow:visible}
.premium-single .single-post-hero-frame{position:relative;overflow:hidden;border-radius:6px;box-shadow:0 24px 60px -28px rgba(0,9,54,.45),0 4px 12px -6px rgba(0,9,54,.18);aspect-ratio:16/9;background:var(--light)}
.premium-single .single-post-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;will-change:transform;transform:scale(1.06)}

/* Prose body */
.premium-single .single-post-content{max-width:1440px;padding:3.5rem 1.5rem 2rem;font-size:1.0625rem;line-height:1.78;color:var(--editorial-ink)}
.premium-single .single-post-content p{margin:0 0 1.2em}
.premium-single .single-post-content h2,
.premium-single .single-post-content h3{font-family:"Montserrat",Arial,sans-serif;font-weight:700;color:var(--dark);letter-spacing:-.01em;line-height:1.2;margin-top:2.6rem;margin-bottom:.9rem}
.premium-single .single-post-content h2{font-size:clamp(1.55rem,2.4vw,1.95rem)}
.premium-single .single-post-content h3{font-size:clamp(1.2rem,1.8vw,1.45rem)}
.premium-single .single-post-content a{color:var(--dark);background-image:linear-gradient(var(--accent),var(--accent));background-size:100% 1px;background-position:0 100%;background-repeat:no-repeat;padding-bottom:1px;transition:background-size var(--ease),color var(--ease)}
.premium-single .single-post-content a:hover{color:var(--accent);background-size:100% 2px}
/* CTA panels in post content set the dark navy inline as their background, and prose links are
   var(--dark) — the same navy — so they read as invisible until hovered. Lift links inside any such
   panel to white. Buttons in those panels set their own colour inline, so they stay as authored. */
.premium-single .single-post-content [style*="#000936"] a{color:#fff}
.premium-single .single-post-content [style*="#000936"] a:hover{color:var(--accent)}
.premium-single .single-post-content strong{color:var(--dark)}

/* Dropcap — first letter of first paragraph */
.premium-single .single-post-content > p:first-of-type::first-letter,
.premium-single .single-post-content > .wp-block-paragraph:first-of-type p::first-letter{
	font-family:"Montserrat",Arial,sans-serif;font-weight:700;
	float:left;font-size:4.6rem;line-height:.9;padding:.18em .12em 0 0;margin:0 .1em 0 0;color:var(--dark)
}

/* Pull-quote upgrade (wp:quote) */
.premium-single .single-post-content blockquote,
.premium-single .single-post-content .wp-block-quote{
	position:relative;margin:2.4rem 0;padding:1.6rem 0 1.6rem 2rem;border-left:3px solid var(--accent);background:transparent;font-family:"Montserrat",Arial,sans-serif;font-style:italic;
	font-size:clamp(1.2rem,1.9vw,1.55rem);line-height:1.45;color:var(--dark)
}
/* Theme ::before quote suppressed (2026-06-22): the autoblog mu-plugin now
   injects the canonical quote-glyph inside the blockquote, so this pseudo-quote
   was a duplicate. */
.premium-single .single-post-content blockquote::before{content:none}
.premium-single .single-post-content blockquote p{margin:0 0 .6em}
.premium-single .single-post-content blockquote p:last-child{margin-bottom:0}
.premium-single .single-post-content blockquote cite{display:block;margin-top:.6em;font-style:normal;font-family:"Work Sans",sans-serif;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}

/* Lists */
.premium-single .single-post-content ul,
.premium-single .single-post-content ol{padding-left:1.4em;margin:1.2em 0}
.premium-single .single-post-content li{margin-bottom:.45em}

/* Images & figures */
.premium-single .single-post-content figure.wp-block-image{margin:2.2rem 0}
.premium-single .single-post-content figure.wp-block-image img{display:block;width:100%;height:auto;border-radius:4px;transition:transform .7s cubic-bezier(.2,.6,.2,1)}
.premium-single .single-post-content figure.wp-block-image:hover img{transform:scale(1.018)}
.premium-single .single-post-content figcaption,
.premium-single .single-post-content .wp-element-caption{margin-top:.7rem;font-family:"Work Sans",sans-serif;font-size:.82rem;letter-spacing:.04em;color:var(--muted);text-align:left;font-weight:500}

/* Gallery — cleaner 2-col grid w/ hover */
.premium-single .single-post-content .wp-block-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:2.4rem 0;padding:0}
.premium-single .single-post-content .wp-block-gallery > figure{margin:0!important}
.premium-single .single-post-content .wp-block-gallery img{display:block;width:100%;height:280px;object-fit:cover;border-radius:4px;cursor:zoom-in;transition:transform .55s cubic-bezier(.2,.6,.2,1),filter .35s var(--ease)}
.premium-single .single-post-content .wp-block-gallery figure:hover img{transform:scale(1.04);filter:brightness(1.04)}
@media (max-width:640px){
	.premium-single .single-post-content .wp-block-gallery{grid-template-columns:1fr}
	.premium-single .single-post-content .wp-block-gallery img{height:240px}
}

/* Footer (author + next article) */
.premium-single .single-post-footer{max-width:1440px;margin:0 auto;padding:2.5rem 1.5rem 4rem;display:grid;gap:2.5rem}
.premium-single .author-card{display:flex;gap:1.1rem;align-items:flex-start;padding:1.6rem;background:var(--editorial-cream);border-radius:8px;border:1px solid var(--editorial-rule)}
.premium-single .author-card__avatar{width:64px;height:64px;border-radius:50%;flex-shrink:0;object-fit:cover}
.premium-single .author-card__meta{flex:1;min-width:0}
.premium-single .author-card__meta .eyebrow{display:block;font-size:.7rem;letter-spacing:.18em!important;color:var(--muted);margin-bottom:.25rem}
.premium-single .author-card__name{display:block;font-family:"Montserrat",Arial,sans-serif;font-size:1.25rem;font-weight:700;color:var(--dark);letter-spacing:-.01em;margin-bottom:.35rem}
.premium-single .author-card__bio{margin:0;font-size:.92rem;line-height:1.6;color:var(--muted)}
.premium-single .next-article{display:grid;grid-template-columns:160px 1fr;gap:1.25rem;align-items:center;padding:1.25rem;border:1px solid var(--editorial-rule);border-radius:8px;text-decoration:none;color:var(--dark);background:#fff;transition:transform var(--ease),box-shadow var(--ease),border-color var(--ease)}
.premium-single .next-article:hover{transform:translateY(-2px);box-shadow:0 16px 36px -22px rgba(0,9,54,.35);border-color:rgba(7,186,181,.4)}
.premium-single .next-article__img{display:block;width:160px;height:110px;border-radius:4px;background-size:cover;background-position:center;flex-shrink:0}
.premium-single .next-article__body{display:flex;flex-direction:column;gap:.35rem;position:relative;padding-right:1.6rem}
.premium-single .next-article__body .eyebrow{display:block;font-size:.7rem;letter-spacing:.18em!important;color:var(--muted)}
/* "Written by" / "Continue reading" reuse .eyebrow but are metadata labels, not section eyebrows:
   they keep their small muted treatment and take no accent rules. The !important on their tracking
   outranks the sitewide pin in sda-visual-parity.php (higher specificity wins between !importants). */
.premium-single .author-card__meta .eyebrow::before,
.premium-single .author-card__meta .eyebrow::after,
.premium-single .next-article__body .eyebrow::before,
.premium-single .next-article__body .eyebrow::after{content:none}
.premium-single .next-article__title{font-family:"Montserrat",Arial,sans-serif;font-size:1.15rem;font-weight:700;color:var(--dark);line-height:1.25}
.premium-single .next-article__arrow{position:absolute;right:0;top:50%;transform:translateY(-50%);color:var(--accent);font-size:1.4rem;transition:transform var(--ease)}
.premium-single .next-article:hover .next-article__arrow{transform:translateY(-50%) translateX(4px)}
@media (max-width:640px){
	.premium-single .next-article{grid-template-columns:1fr;text-align:left}
	.premium-single .next-article__img{width:100%;height:160px}
}

/* Back to top */
.back-to-top{position:fixed;right:1.4rem;bottom:1.4rem;width:46px;height:46px;border-radius:50%;border:1px solid var(--editorial-rule);background:#fff;color:var(--dark);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 12px 28px -16px rgba(0,9,54,.4);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity var(--ease),transform var(--ease),visibility var(--ease),background var(--ease),color var(--ease);z-index:99}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.back-to-top:hover{background:var(--accent);color:#fff;border-color:var(--accent)}

/* Reveal classes (initial state) */
.premium-single .reveal-up{opacity:0;transform:translateY(28px)}
.premium-single .reveal-in{opacity:1;transform:translateY(0);transition:opacity .9s cubic-bezier(.2,.6,.2,1),transform .9s cubic-bezier(.2,.6,.2,1)}

/* Lightbox (gallery image fullscreen) */
.lightbox{position:fixed;inset:0;background:rgba(0,9,54,.92);display:flex;align-items:center;justify-content:center;z-index:100000;opacity:0;visibility:hidden;transition:opacity .25s ease;cursor:zoom-out;padding:2rem}
.lightbox.is-open{opacity:1;visibility:visible}
.lightbox img{max-width:min(96vw,1400px);max-height:90vh;width:auto;height:auto;border-radius:6px;box-shadow:0 30px 80px -10px rgba(0,0,0,.6);object-fit:contain}
.lightbox__close{position:absolute;top:1rem;right:1.2rem;width:44px;height:44px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:50%;color:#fff;font-size:1.25rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.lightbox__close:hover{background:rgba(255,255,255,.18)}

@media (prefers-reduced-motion: reduce){
	.premium-single .single-post-hero-img{transform:none!important}
	.premium-single .reveal-up{opacity:1!important;transform:none!important}
	.reading-progress__bar{transition:none}
	.premium-single .single-post-content figure.wp-block-image img,
	.premium-single .single-post-content .wp-block-gallery img,
	.premium-single .next-article{transition:none!important}
}

/* ─── News listing hero banner ────────────────────────────────────── */
.news-banner{position:relative;min-height:460px;display:flex;align-items:center;justify-content:center;text-align:center;background-size:cover;background-position:center;overflow:hidden;isolation:isolate;padding:140px 1.5rem 80px}
.news-banner__overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,rgba(0,9,54,.78) 0%,rgba(0,9,54,.62) 50%,rgba(7,186,181,.42) 100%)}
.news-banner__overlay::before,
.news-banner__overlay::after{content:"";position:absolute;width:0;height:0;border-style:solid;opacity:.35}
/* teal diamond left */
.news-banner__overlay::before{left:6%;top:18%;border-width:90px 80px 90px 0;border-color:transparent var(--accent) transparent transparent}
/* teal diamond right */
.news-banner__overlay::after{right:6%;bottom:14%;border-width:90px 0 90px 80px;border-color:transparent transparent transparent var(--accent)}
.news-banner__inner{position:relative;z-index:2;max-width:920px}
.news-banner__title{font-family:"Montserrat",Arial,sans-serif;font-weight:700;letter-spacing:-.01em;line-height:1.15;font-size:clamp(2.25rem,4.5vw,3.75rem);color:var(--accent);margin:0 0 1rem;text-shadow:0 2px 24px rgba(0,9,54,.45)}
.news-banner__lead{color:#fff;font-size:clamp(1.125rem,1.9vw,1.5rem);max-width:700px;margin:0 auto;line-height:1.5;font-weight:600}
@media (max-width:640px){
	.news-banner{min-height:380px;padding:130px 1.5rem 60px}
	.news-banner__overlay::before,
	.news-banner__overlay::after{display:none}
}

/* ─── forms (newsletter) ──────────────────────────────────────────── */
.sda-newsletter-form,
.fluentform .ff-el-form-control,
.newsletter-form{display:flex;gap:.5rem;max-width:520px;margin:0 auto;flex-wrap:wrap}
.sda-newsletter-form input[type=email],
.newsletter-form input[type=email],
.fluentform input[type=text],
.fluentform input[type=email],
.fluentform input[type=tel],
.fluentform textarea{
  flex:1;min-width:0;
  border:1px solid rgba(0,9,54,.2);border-radius:0;
  padding:.85em 1em;font-family:"Montserrat";font-size:1rem;
  background:#fff;color:var(--dark);
  transition:border-color var(--ease),box-shadow var(--ease);
}
.section-dark .sda-newsletter-form input[type=email],
.section-dark .fluentform input[type=email]{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.3)}
.sda-newsletter-form input:focus,
.fluentform input:focus,
.fluentform textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px rgba(7,186,181,.18)}
.sda-newsletter-form button,
.fluentform .ff-btn,
.fluentform .ff-btn-submit{
  background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:0;
  padding:.85em 1.75em;font-family:"Montserrat";font-weight:600;
  font-size:.875rem;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;
  transition:background-color var(--ease),border-color var(--ease);
}
.sda-newsletter-form button:hover,
.fluentform .ff-btn:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
/* FluentForm 6.x ships `.ff-default .ff_btn_style{border-radius:7px;font-weight:500}` which ties
   on specificity (0,2,0) with the rule above but loads after main.css, so it wins on source order.
   Bump specificity so the footer newsletter CTA keeps the theme's square Montserrat 600 button. */
.footer-newsletter .fluentform .ff-btn,
.footer-newsletter .fluentform .ff-btn-submit{
  border-radius:0;
  font-family:"Montserrat",Arial,sans-serif;
  font-weight:600;
}

.fluentform .ff-el-input--label label,
.fluentform .ff-el-form-check label{
  font-family:"Work Sans";font-weight:500;
  text-transform:uppercase;letter-spacing:.08em;
  font-size:.75rem;color:var(--dark);
}

/* ─── footer ──────────────────────────────────────────────────────── */
.site-footer{background:var(--dark);color:#fff;font-size:.975rem;padding:4rem 0 2rem;font-family:"Montserrat",Arial,sans-serif}
.site-footer a{color:rgb(131,220,218);text-decoration:underline;transition:color var(--ease)}
.site-footer a:hover{color:#fff}
.footer-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,1.4fr) minmax(0,1.2fr);
  gap:3rem;
  align-items:start;
}
@media (max-width:1023px){.footer-grid{grid-template-columns:1fr 1fr;gap:2.5rem}.footer-cta{grid-column:1/-1}}
@media (max-width:639px){.footer-grid{grid-template-columns:1fr;gap:2rem}}

/* LEFT — PNP logo + compliance + social */
.footer-brand{display:flex;flex-direction:column;gap:1.25rem}
.footer-brand-logo{display:block;width:100%;max-width:340px;height:auto}
.footer-compliance p{font-size:12px;line-height:19.2px;color:#fff;margin:0 0 12px}
.footer-compliance p:last-child{margin-bottom:0}
.footer-compliance a{color:rgb(131,220,218);text-decoration:underline}
.footer-social{list-style:none;padding:0;margin:.5rem 0 0;display:flex;gap:12px;align-items:center}
.footer-social a{
  display:inline-flex;align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:50%;
  color:#fff;background:transparent;text-decoration:none;
  box-shadow:0 0 0 2px #fff inset;
  transition:color var(--ease),box-shadow var(--ease);
}
.footer-social a:hover{color:rgb(131,220,218);box-shadow:0 0 0 2px rgb(131,220,218) inset}
.footer-social svg{display:block}

/* MID — 3 link columns */
.footer-nav{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,2fr);gap:1.5rem}
.footer-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}
.footer-col address{font-style:normal;line-height:1.6;font-size:15.6px;color:#fff}
.footer-col li,.footer-col li a{font-size:15.6px;line-height:24.96px}
.footer-heading{
  font-family:"Montserrat",Arial,sans-serif;font-weight:700;
  font-size:15.6px;line-height:24.96px;color:#fff;
  margin:0 0 .75rem;letter-spacing:normal;text-transform:none;
}
@media (max-width:639px){.footer-nav{grid-template-columns:1fr;gap:2rem}}

/* RIGHT — newsletter + NDIS badges */
.footer-cta{display:flex;flex-direction:column;gap:2rem}
.footer-newsletter h2.newsletter-form-header-title{
  font-family:"Montserrat",Arial,sans-serif;font-weight:600;
  font-size:19.2px;line-height:26.88px;color:#fff;
  margin:0 0 1rem;letter-spacing:normal;
}
.sda-newsletter-form{display:flex;flex-wrap:wrap;gap:.75rem;align-items:stretch}
.sda-newsletter-form input[type="email"]{
  flex:1 1 220px;min-width:200px;
  padding:14px 18px;font:400 13.2px/1.1 "Montserrat",Arial,sans-serif;
  background:#fff;color:#000;border:1px solid rgba(0,0,0,.12);
}
.sda-newsletter-form .btn{
  padding:14px 24px;font:600 18px/1 "Montserrat",Arial,sans-serif;
  background:rgb(131,220,218);color:#fff;border:0;
  text-transform:uppercase;cursor:pointer;text-decoration:none;
  transition:opacity .15s ease;
}
.sda-newsletter-form .btn:hover{opacity:.88}
.sda-newsletter-form .sr{position:absolute;left:-9999px}
.footer-newsletter .ff-el-input--label,
.footer-newsletter .ff-el-input--label label{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.footer-ndis-badges{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}
.footer-ndis-cert{max-height:160px;width:auto;height:auto;display:block}
.footer-ndis-support{max-height:110px;width:auto;height:auto;display:block;border-radius:50%}

/* ─── youtube embeds ──────────────────────────────────────────────── */
.video-embed{position:relative;aspect-ratio:16/9;background:#000;overflow:hidden}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ─── ESG-aligned intro section (mirrors sdaboots.com/investors §6948d0974df86e7048827222) ─── */
.esg-intro .esg-intro-head{
  max-width:1180px;margin:0 auto;text-align:center;
  display:flex;flex-direction:column;gap:1.25rem;
}
.esg-intro .esg-intro-head h2{
  font-family:"Montserrat",Arial,sans-serif;
  font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.25;
  font-weight:600;color:var(--dark);margin:0;
}
.esg-intro .esg-intro-head h2 strong{font-weight:700}
.esg-intro .esg-intro-head h3{
  font-family:"Montserrat",Arial,sans-serif;
  font-size:clamp(1.125rem,1.6vw,1.375rem);line-height:1.35;
  font-weight:500;color:var(--dark);margin:0;
}
.esg-intro .esg-intro-head p{
  font-family:"Montserrat",Arial,sans-serif;
  font-size:1rem;line-height:1.6;color:var(--dark);
  max-width:980px;margin:0 auto;
}
.esg-intro .esg-intro-video{
  max-width:980px;margin:2.5rem auto 0;
}
.esg-intro .esg-intro-caption{
  text-align:center;font-family:"Montserrat",Arial,sans-serif;
  font-size:1rem;line-height:1.55;color:var(--muted);
  margin:1.25rem auto 0;max-width:880px;
}
@media (max-width:767px){
  .esg-intro .esg-intro-head{gap:1rem}
  .esg-intro .esg-intro-head h2{font-size:1.375rem}
  .esg-intro .esg-intro-head h3{font-size:1.0625rem}
  .esg-intro .esg-intro-video{margin-top:2rem}
}

/* ─── 404 ─────────────────────────────────────────────────────────── */
.error-404{padding:120px 1.5rem 4rem;text-align:center;min-height:60vh;display:flex;flex-direction:column;justify-content:center;align-items:center}
.error-404 h1{font-size:clamp(3rem,8vw,6rem);color:var(--accent);margin-bottom:.5rem}

/* ─── HIA Apollo callout — mirrors live data-section-id 6941fe3ea68e11470812b5a5 ───
   2-col grid: left = badges row + heading; right = two big award images side-by-side.
   Background gray (live's full-bleed image dropped per design pref). */
/* The Investorpage14 artwork sits in the outer 27% (left) / 31% (right) of the image, leaving
   only ~41% clear in the middle — narrower than the 1400px content container on any real screen,
   so the teal shapes land under the award badges and cards. Blend it back toward the page grey
   (same lighten treatment already used below 1023px) so the awards stay legible over it. */
.hia-callout{
  background-color:rgba(245,245,245,.82);
  background-blend-mode:lighten;
  background-size:cover;background-position:center;background-repeat:no-repeat;
  padding:6rem 0;
  position:relative;
}
.hia-callout .hia-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:2.5rem;
  align-items:center;
}
/* LEFT — badges (top, side-by-side) + heading (below) */
.hia-callout .hia-left{display:flex;flex-direction:column;align-items:center;gap:1.5rem;text-align:center}
.hia-callout .hia-badges{
  display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;
  align-items:center;justify-items:center;
  width:100%;max-width:380px;
}
.hia-callout .hia-badge{width:100%;max-width:170px;height:auto;object-fit:contain;border-radius:4px}
.hia-callout .hia-text{max-width:560px}
.hia-callout .hia-text h2{
  font-family:"Montserrat",Arial,sans-serif;
  font-size:24px;line-height:32.256px;
  color:rgb(1,9,55);
  margin:0 0 24px;font-weight:600;letter-spacing:normal;
}
.hia-callout .hia-text h2 strong{font-weight:700}
.hia-callout .hia-text h4{
  font-family:"Montserrat",Arial,sans-serif;
  font-size:15.6px;line-height:21.5779px;
  color:rgb(0,0,0);
  margin:24px 0 0;font-weight:600;letter-spacing:normal;
}
.hia-callout .hia-text h4 strong{font-weight:700}
/* RIGHT — two large award PNGs side-by-side */
.hia-callout .hia-right{
  display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;
  align-items:center;justify-items:center;
}
.hia-callout .hia-award{
  width:100%;max-width:320px;height:auto;
  object-fit:contain;
  filter:drop-shadow(0 12px 28px rgba(0,0,0,.18));
}
@media (max-width:1023px){
  .hia-callout{padding:4rem 0;background-color:rgba(255,255,255,.85);background-blend-mode:lighten}
  .hia-callout .hia-grid{grid-template-columns:1fr;gap:2rem}
  .hia-callout .hia-right{order:2}
  .hia-callout .hia-left{order:1}
}
@media (max-width:639px){
  .hia-callout .hia-badges{max-width:300px}
  .hia-callout .hia-badge{max-width:140px}
  .hia-callout .hia-award{max-width:200px}
}

/* ─── Testimonials carousel — mirrors live section 6941e5fa60a3c77bd7331730 ─── */
.testimonials-section{background:#fff!important;padding:3.3vmax 0}
.testimonials-section .container-fluid{max-width:1500px;margin:0 auto;padding:0 4vw;position:relative}
.testimonial-carousel{position:relative;padding:0 76px}
.testimonial-track{
  display:flex;overflow-x:auto;scroll-snap-type:x mandatory;
  scrollbar-width:none;-ms-overflow-style:none;
  gap:0;
}
.testimonial-track::-webkit-scrollbar{display:none}
.testimonial-slide{
  flex:0 0 33.3333%;scroll-snap-align:start;
  display:flex;flex-direction:column;align-items:center;
  padding:0 1rem;
}
.testimonial-image{
  width:200px;height:200px;border-radius:50%;overflow:hidden;
  margin-bottom:16px;
}
.testimonial-image img{
  width:100%;height:100%;object-fit:cover;display:block;
}
.testimonial-content{
  width:90%;max-width:300px;text-align:center;
}
.testimonial-content h2{
  font-family:"Montserrat",Arial,sans-serif;
  font-size:1.6rem;line-height:25.8048px;font-weight:600;
  color:rgb(1,9,55);letter-spacing:normal;
  margin:0 0 8px;
}
.testimonial-content p{
  font-family:"Montserrat",Arial,sans-serif;
  font-size:0.9rem;line-height:19.2px;font-weight:400;
  color:rgb(1,9,55);margin:0;
  white-space:pre-wrap;
}
.testimonial-nav{
  position:absolute;top:50%;transform:translateY(-50%);
  width:60px;height:60px;border-radius:50%;
  background:rgb(10,186,181);border:0;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  z-index:2;transition:opacity .2s ease;
  padding:0;
}
.testimonial-nav:hover{opacity:.85}
.testimonial-prev{left:0}
.testimonial-next{right:0}
.testimonial-nav svg{display:block}
@media (max-width:1023px){
  .testimonial-slide{flex:0 0 50%}
  .testimonial-content{width:70%}
}
@media (max-width:639px){
  .testimonial-carousel{padding:0 50px}
  .testimonial-slide{flex:0 0 100%}
  .testimonial-content{width:80%}
  .testimonial-nav{width:44px;height:44px}
  .testimonial-nav svg{width:24px;height:24px}
}
/* A carousel with fewer testimonials than visible columns would show the same person twice on
   screen at once, so narrow the columns to the number of slides available (providers page has 2).
   Higher specificity than the plain .testimonial-slide rules above, so it holds at every width. */
.testimonial-carousel--cols-2 .testimonial-slide{flex:0 0 50%}
.testimonial-carousel--cols-1 .testimonial-slide{flex:0 0 100%}
@media (max-width:639px){
  .testimonial-carousel--cols-2 .testimonial-slide{flex:0 0 100%}
}

/* ─── Awards + Featured Projects strip ───
   Three deliberate states, driven by a grid rather than flex-wrap so the rows stay even:
     wide    → one row of every logo (--aw-all), each shrinking with the viewport
     mid     → ceil(count/2) columns, so nine logos break 5 + 4 instead of 8 + 1
     mobile  → a fixed 3-wide grid (3x3 at nine logos)
   --aw-all / --aw-half are written inline by front-page.php from the actual logo count. */
.awards-strip{padding:4rem 0;background:var(--white)}
.awards-strip__inner{width:100%;padding:0 2rem;box-sizing:border-box}
/* Flex rather than grid: the column widths are still computed from --aw-cols so every logo gets an
   identical slot, but a short final row centres itself instead of hugging the left with a gap at
   the end (nine logos leave the second row one short). */
.awards-row{
  --aw-cols:var(--aw-all,9);
  --aw-gap:clamp(1rem,1.8vw,2.5rem);
  display:flex;flex-wrap:wrap;
  justify-content:center;align-items:center;
  gap:var(--aw-gap);
}
.awards-row__logo{
  flex:0 0 calc((100% - (var(--aw-cols) - 1) * var(--aw-gap)) / var(--aw-cols));
  max-width:calc((100% - (var(--aw-cols) - 1) * var(--aw-gap)) / var(--aw-cols));
  height:auto;
  max-height:clamp(96px,9vw,220px);
  object-fit:contain;
}
.awards-row__logo--project{border-radius:8px}
/* Below this the single row squeezes the logos past legibility, so split into two even rows. */
@media (max-width:1400px){
  .awards-row{--aw-cols:var(--aw-half,5)}
  .awards-row__logo{max-height:clamp(110px,13vw,180px)}
}
@media (max-width:639px){
  .awards-strip{padding:3rem 0}
  .awards-strip__inner{padding:0 1.25rem}
  .awards-row{--aw-cols:3;--aw-gap:1rem}
  .awards-row__logo{max-height:120px}
}

/* ─── Ready to Take The Next Step? — mirrors live section ─── */
.next-step-section{background:var(--light)!important;padding:3.3vmax 0}
.next-step-section .container-wide{max-width:1500px}
.next-step-head{text-align:center;max-width:1112px;margin:0 auto 2.5rem;padding:0 4rem}
.next-step-head h2{
  font-family:"Montserrat",Arial,sans-serif;
  font-size:24px;line-height:32.256px;font-weight:600;
  color:rgb(1,9,55);
  margin:0 0 .75rem;letter-spacing:normal;
}
.next-step-head p{
  font-family:"Montserrat",Arial,sans-serif;
  font-size:15.6px;line-height:24.96px;font-weight:400;
  color:#000;margin:0;letter-spacing:normal;
}
.audience-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:11px;max-width:1112px;margin:0 auto;
}
.audience-card{
  display:flex;flex-direction:column;text-decoration:none;
  position:relative;color:inherit;background:transparent;
}
.audience-card .audience-image{
  position:relative;width:100%;aspect-ratio:3/2;overflow:hidden;
}
.audience-card .audience-image img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .35s ease;
}
.audience-card .audience-overlay{
  position:absolute;inset:0;background:rgba(0,0,0,.5);opacity:0;
  transition:opacity .25s ease;pointer-events:none;
}
.audience-card:hover .audience-overlay{opacity:1}
.audience-card:hover .audience-image img{transform:scale(1.03)}
.audience-card .audience-button{
  display:flex;align-items:center;justify-content:center;
  width:100%;
  background:rgb(10,186,181);color:#fff;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:18px;font-weight:600;
  text-transform:uppercase;letter-spacing:normal;
  padding:0 57.6px;line-height:normal;
  min-height:69px;
  border:1px solid #fff;
  text-align:center;
  transition:background-color .2s ease;
}
.audience-card:hover .audience-button{background:#089b97}
@media (max-width:767px){
  .next-step-head{padding:0 1rem}
  .next-step-head h2{font-size:24px;line-height:1.3}
  .next-step-head p{font-size:15px;line-height:1.55}
  .audience-grid{grid-template-columns:1fr;gap:24px;max-width:480px}
  .audience-card .audience-button{font-size:17px}
}

/* ─── 3-up differentiator cards — mirrors sdaboots.com section 6941e5fa60a3c77bd733172a ─── */
.differentiator-eyebrow{margin-bottom:2rem}
.differentiator-eyebrow p{
  max-width:none;margin:0 auto;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:24px;line-height:1.6;font-weight:600;
  color:#000;
  letter-spacing:0;text-transform:none;
}
.differentiator-grid{gap:2rem;align-items:stretch}
/* Matched to .inv-impact-card on /investors/ — teal top rule, resting shadow, same hover lift,
   icon size and type scale. This grid is 3-up like the investors one, so the padding and the
   110px icon carry over unchanged. The icon is no longer forced into a 90x90 box: max-width with
   auto height keeps its natural proportions, exactly as the investors cards do. These cards carry
   no body copy, so the heading sits directly under the icon. */
.differentiator-card{
  background:#fff;
  border:0;
  border-top:3px solid var(--accent);
  padding:2.5rem 2rem;
  text-align:center;
  display:flex;flex-direction:column;gap:1rem;align-items:center;
  box-shadow:0 18px 40px -32px rgba(0,9,54,.18);
  transition:transform var(--ease),box-shadow var(--ease);
}
.differentiator-card:hover{
  transform:translateY(-3px);
  box-shadow:0 24px 50px -32px rgba(0,9,54,.24);
}
.differentiator-card .differentiator-icon{
  max-width:110px;width:auto;height:auto;display:block;margin:0 auto;
}
.differentiator-card h2{
  font-family:"Montserrat",Arial,sans-serif;font-weight:600;
  font-size:1.125rem;line-height:1.25;color:var(--dark);
  margin:0;max-width:none;
}
@media (max-width:767px){
  .differentiator-card{padding:2rem 1.5rem}
  .differentiator-card h2{font-size:1.0625rem}
}

/* ─── About the program section (matches sdaboots.com left-headings + right-body) ─── */
.about-program-headings h3{
  font-family:"Montserrat",Arial,sans-serif;
  font-weight:700;
  font-size:clamp(1.5rem,2.2vw,2rem);
  line-height:1.2;
  color:var(--dark);
  margin:0;
}
.about-program-body p{
  font-size:1rem;
  line-height:1.65;
  margin:0 0 1rem;
}
.about-program-body p:last-child{margin-bottom:0}

/* ─── utility ─────────────────────────────────────────────────────── */
.text-center{text-align:center}
.muted{color:var(--muted)}
.hidden{display:none!important}
.lead{font-size:clamp(1.0625rem,1.4vw,1.25rem);font-weight:300;line-height:1.55}

/* ─── centered hero variant (matches sdaboots.com /investors, /about-us) ── */
body.hero--center .hero .hero-inner{
  text-align:center;
  max-width:880px;
  margin:0 auto;
}
body.hero--center .hero .hero-inner .lead,
body.hero--center .hero .hero-inner p{margin-left:auto;margin-right:auto}
body.hero--center .hero h1{
  color:var(--accent);
  margin-left:auto;margin-right:auto;
  max-width:18ch;
  line-height:1.05;
}
body.hero--center .hero .eyebrow{color:var(--accent)}
/* investors hero overrides body.hero--center — alternating teal/white to match sdaboots.com */
body.hero--center .hero-investors h1{color:#fff;max-width:none;line-height:1.287}
body.hero--center .hero-investors .hero-eyebrow,
body.hero--center .hero-investors .hero-subtitle{color:#0abab5}
body.hero--center .hero-investors .hero-tagline{color:#fff}
body.hero--center .hero .btn-row{justify-content:center}

/* /about-us — hero eyebrow hidden, "with you, for you" inline (matches live) */
body.page-about .hero .eyebrow{display:none}
body.page-about .hero .hero-inner img{margin:0 auto;max-width:340px}
body.page-about .hero .hero-inner{text-align:center;max-width:980px;margin:0 auto}

/* ─── /investors — 5-up investment highlights cards ───────────────── */
.inv-highlights{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:1.25rem;
  margin-bottom:2.5rem;
}
.inv-highlights-card{
  background:var(--white);
  border:1px solid rgba(0,9,54,.08);
  padding:1.75rem 1.25rem;
  display:flex;flex-direction:column;
  text-align:center;
  min-height:220px;
}
.inv-highlights-card h3{
  font-size:.9375rem;
  text-transform:uppercase;letter-spacing:.08em;
  font-weight:600;color:var(--dark);
  margin:0 0 1rem;
}
.inv-highlights-card p{
  margin:0;
  font-size:.95rem;
  line-height:1.5;
  color:var(--dark);
}
.inv-highlights-card .inv-figure{
  font-family:"Montserrat",sans-serif;font-weight:700;
  font-size:clamp(1.75rem,2.6vw,2.25rem);
  color:var(--accent);
  line-height:1.1;
}
.inv-highlights-card sup{font-size:.5em;vertical-align:super;font-weight:600}
.inv-footnotes{
  max-width:880px;margin:0 auto;
  font-size:.8125rem;line-height:1.55;color:var(--muted);
  text-align:left;
}
@media (max-width:1023px){
  .inv-highlights{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:639px){
  .inv-highlights{grid-template-columns:1fr}
  .inv-highlights-card{min-height:0}
}

/* ─── /investors — contact cards (3-up, photo + role + quote) ─────── */
.contact-cards{align-items:stretch}
.contact-card{
  background:var(--white);
  border:1px solid rgba(0,9,54,.08);
  margin:0;
  padding:2rem 1.75rem;
  display:flex;flex-direction:column;gap:1.25rem;
  text-align:center;
}
.contact-card-photo{display:flex;justify-content:center}
.contact-card-photo img{
  width:140px;height:140px;border-radius:50%;
  object-fit:cover;display:block;
}
.contact-card h3{
  font-size:1.125rem;
  margin:0 0 .75rem;
  font-weight:700;color:var(--dark);
}
.contact-card blockquote{
  margin:0;padding:0;border:0;
  font-size:.95rem;line-height:1.6;
  font-style:italic;color:var(--dark);
  text-align:left;
}

/* ─── /investors — Disclaimer block ───────────────────────────────── */
.disclaimer{max-width:880px;margin:0 auto}
.disclaimer h3{
  font-size:1.125rem;font-weight:700;
  margin:0 0 1rem;
}
.disclaimer p{
  font-size:.8125rem;line-height:1.65;color:var(--muted);
  margin:0 0 1rem;
}
.disclaimer p:last-child{margin-bottom:0}

/* ──────────────────────────────────────────────────────────────────────
   Chevron motif system — sampled from Investorpage14.webp marketing accent.
   Clusters of interlocking parallelograms in solid teal, pale teal,
   teal-duotone photo and B&W photo, used as corner accents on hero and
   feature sections to match outbound marketing collateral.
   ────────────────────────────────────────────────────────────────────── */
:root{
  --pale:#b5e5e3;          /* pale teal sampled from Investorpage14 */
  --duo-tint:rgba(7,186,181,.78);
}

/* host: any section that contains a chev-cluster must be relative + clip overflow */
.has-chev{position:relative;overflow:hidden}

/* the cluster wrapper — absolutely positioned at a section corner. */
.chev-cluster{
  position:absolute;
  pointer-events:none;
  z-index:1;
  width:clamp(180px,26vw,420px);
  aspect-ratio:1.55/1;
}
.chev-cluster--tl{top:0;left:0}
.chev-cluster--tr{top:0;right:0;transform:scaleX(-1)}
.chev-cluster--br{bottom:0;right:0;transform:rotate(180deg)}
.chev-cluster--bl{bottom:0;left:0;transform:scaleY(-1)}

/* large variant for hero corners */
.chev-cluster--xl{width:clamp(240px,32vw,540px)}
/* compact variant for inline section accents */
.chev-cluster--sm{width:clamp(140px,18vw,260px)}

/* the individual chevron tile */
.chev{
  position:absolute;
  display:block;
  background-color:var(--accent);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  opacity:0;
  transform:translate3d(0,12px,0);
  transition:opacity .8s cubic-bezier(.4,0,.2,1), transform .8s cubic-bezier(.4,0,.2,1);
}
.chev-cluster.is-revealed .chev{opacity:1;transform:none}
.chev-cluster.is-revealed .chev:nth-child(1){transition-delay:.05s}
.chev-cluster.is-revealed .chev:nth-child(2){transition-delay:.18s}
.chev-cluster.is-revealed .chev:nth-child(3){transition-delay:.30s}
.chev-cluster.is-revealed .chev:nth-child(4){transition-delay:.42s}

/* fill variants */
.chev--teal{background-color:var(--accent)}
.chev--pale{background-color:var(--pale)}
.chev--navy{background-color:var(--dark)}
.chev--photo{
  /* teal-duotone effect via blend-mode over a teal base */
  background-color:var(--accent);
  background-blend-mode:luminosity;
  filter:saturate(.85);
}
.chev--bw{
  background-color:#1d2230;
  background-blend-mode:luminosity;
  filter:grayscale(1) contrast(1.05);
}

/* clip-path shape variants — parallelograms cut at ~45° */
.chev--A{clip-path:polygon(0 0,100% 0,72% 100%,0 100%)}             /* leans right, big */
.chev--B{clip-path:polygon(28% 0,100% 0,100% 100%,0 100%)}           /* leans left, big */
.chev--C{clip-path:polygon(0 0,100% 0,100% 70%,72% 100%,0 100%)}     /* lower-right notch */
.chev--D{clip-path:polygon(0 0,100% 100%,0 100%)}                    /* triangle wedge */
.chev--E{clip-path:polygon(0 0,72% 0,100% 100%,28% 100%)}            /* slim chevron */
.chev--F{clip-path:polygon(0 30%,72% 0,100% 70%,28% 100%)}           /* diamond / shifted */

/* default 4-tile composition (matches Investorpage14 top-left corner) */
.chev-cluster .chev:nth-child(1){top:0;left:0;width:62%;height:62%}
.chev-cluster .chev:nth-child(2){top:24%;left:38%;width:46%;height:58%}
.chev-cluster .chev:nth-child(3){top:0;left:48%;width:28%;height:35%}
.chev-cluster .chev:nth-child(4){bottom:6%;left:8%;width:24%;height:30%}

/* a tighter, 3-tile composition variant */
.chev-cluster--tri .chev:nth-child(1){top:0;left:0;width:64%;height:60%}
.chev-cluster--tri .chev:nth-child(2){bottom:0;left:30%;width:54%;height:58%}
.chev-cluster--tri .chev:nth-child(3){top:46%;left:0;width:28%;height:42%}
.chev-cluster--tri .chev:nth-child(4){display:none}

/* background-atmosphere variant — pushed behind content, low opacity, no entrance animation */
.chev-cluster--bg{
  z-index:0;
  opacity:.22;
  width:clamp(280px, 38vw, 620px);
  filter:saturate(.85);
  pointer-events:none;
}
.chev-cluster--bg.chev-cluster--tl{top:-6%;left:-4%}
.chev-cluster--bg.chev-cluster--br{bottom:-6%;right:-4%}
.chev-cluster--bg .chev{
  opacity:1;          /* always visible, no reveal stagger */
  transform:none;
  transition:none;
}
.chev-bg-host{position:relative;overflow:hidden;isolation:isolate}
.chev-bg-host > .container,
.chev-bg-host > .container-wide{position:relative;z-index:1}
@media (max-width:767px){
  .chev-cluster--bg{opacity:.16;width:clamp(180px,55vw,360px)}
}

/* a quiet single-shape sparkle for sprinkling on otherwise plain backgrounds */
.chev-sparkle{
  position:absolute;
  width:clamp(46px,5vw,84px);
  aspect-ratio:1.4/1;
  background:var(--pale);
  opacity:.55;
  pointer-events:none;
  z-index:0;
  clip-path:polygon(0 0,100% 0,72% 100%,0 100%);
}
.chev-sparkle--teal{background:var(--accent);opacity:.4}

/* section divider — slim chevron strip used between sections (decorative) */
.chev-divider{
  height:14px;width:100%;
  background:repeating-linear-gradient(135deg,
    var(--accent) 0 28px,
    var(--pale)   28px 56px,
    transparent   56px 84px);
  mask-image:linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
  -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
  opacity:.65;
}

/* mobile: shrink + drop the 4th tile to reduce noise */
@media (max-width:767px){
  .chev-cluster{width:clamp(120px,42vw,220px)}
  .chev-cluster .chev:nth-child(4){display:none}
  .chev-cluster--sm{display:none}
}

/* reduced-motion: drop animation, but keep the visual */
@media (prefers-reduced-motion: reduce){
  .chev{opacity:1;transform:none;transition:none}
}

/* tweak existing hero corner accent to harmonise with chevrons —
   keep the legacy .hero-shape but tone it down so the chev-cluster reads as primary accent */
.hero-home .hero-shape{opacity:.55}

/* HIA callout variant — chev-driven (replaces Investor+page+14 background) */
.hia-callout--chev{
  background-image:none!important;
  background-color:#f5f5f5;
  padding:7rem 0 6rem;
}
.hia-callout--chev .hia-grid{position:relative;z-index:2}
@media (max-width:767px){
  .hia-callout--chev{padding:5rem 0 4rem}
}

/* ensure chev cluster on white-bg sections has a subtle outer glow so pale tiles don't melt away */
.section-light .chev-cluster .chev--pale,
.hia-callout--chev .chev-cluster .chev--pale{
  box-shadow:0 0 0 1px rgba(7,186,181,.18);
}

/* keep content above chev-clusters site-wide */
.has-chev > .container,
.has-chev > .container-wide,
.has-chev .hia-grid,
.has-chev .next-step-head,
.has-chev .audience-grid,
.has-chev .esg-intro-head,
.has-chev .inv-highlights,
.has-chev .inv-footnotes{position:relative;z-index:2}

/* ════════════════════════════════════════════════════════════════════
   /investors PREMIUM REBUILD — editorial fund-page treatment.
   No chev clusters here. Vocabulary: oversized type, hairline rules,
   vertical eyebrow labels, dark navy feature panel for the $10M call-out,
   architectural project cards, vertical-accent testimonials.
   ════════════════════════════════════════════════════════════════════ */
.page-investors-rebuild{}

/* hero — refined: tighter gradient, scroll cue, no chev */
.inv-hero{
  position:relative;
  min-height:clamp(620px, 86vh, 920px);
  display:flex;align-items:center;justify-content:center;
  text-align:center;color:#fff;overflow:hidden;
  padding:140px 1.5rem 6rem;
  background-size:cover;background-position:center;background-repeat:no-repeat;
}
.inv-hero::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(180deg, rgba(0,9,54,.25) 0%, rgba(0,9,54,.55) 50%, rgba(0,9,54,.85) 100%),
    radial-gradient(80% 60% at 80% 30%, rgba(7,186,181,.18) 0%, transparent 65%);
}
.inv-hero .inv-hero-inner{
  position:relative;z-index:2;
  max-width:1080px;margin:0 auto;
  display:flex;flex-direction:column;gap:1.5rem;align-items:center;
}
.inv-hero .inv-eyebrow{
  font-family:"Work Sans",Arial,sans-serif;font-weight:500;
  font-size:1.0625rem;text-transform:uppercase;letter-spacing:.32em;
  color:var(--accent);margin:0;
  padding:.5rem 1rem;
  border-top:1px solid rgba(7,186,181,.4);
  border-bottom:1px solid rgba(7,186,181,.4);
}
.inv-hero h1{
  color:#fff;margin:0;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:clamp(2.25rem, 5.2vw, 4.375rem);
  font-weight:700;line-height:1.05;letter-spacing:-.02em;
}
.inv-hero h1 .accent{color:var(--accent);font-weight:700}
.inv-hero .inv-subtitle{
  color:#fff;margin:0;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:clamp(1.125rem, 1.8vw, 1.5rem);
  font-weight:400;line-height:1.4;
  max-width:48ch;
}
.inv-hero .inv-tagline{
  color:rgba(255,255,255,.85);
  font-family:"Montserrat",Arial,sans-serif;
  font-size:clamp(1rem, 1.4vw, 1.125rem);
  font-weight:300;line-height:1.55;
  max-width:62ch;margin:0;
}
.inv-hero .inv-hero-cta{
  display:inline-flex;gap:1rem;margin-top:1rem;
}
.inv-hero .scroll-cue{
  position:absolute;left:50%;bottom:2.5rem;transform:translateX(-50%);
  z-index:2;color:#fff;font-family:"Work Sans";font-size:.75rem;
  letter-spacing:.28em;text-transform:uppercase;opacity:.7;
  display:flex;flex-direction:column;align-items:center;gap:.5rem;
}
.inv-hero .scroll-cue::after{
  content:"";width:1px;height:38px;background:var(--accent);
  animation:scrollPulse 2.4s ease-in-out infinite;
}
@keyframes scrollPulse{
  0%,100%{transform:scaleY(.3);transform-origin:top;opacity:.4}
  50%{transform:scaleY(1);transform-origin:top;opacity:1}
}
@media (prefers-reduced-motion: reduce){
  .inv-hero .scroll-cue::after{animation:none;opacity:.8}
}
@media (max-width:767px){
  .inv-hero{min-height:78vh;padding:120px 1.5rem 5rem}
  .inv-hero .scroll-cue{display:none}
}

/* unified section title block (vertical eyebrow + display H2 + optional lede) */
.inv-title-block{
  max-width:880px;margin:0 auto 3rem;
  text-align:center;
  display:flex;flex-direction:column;gap:.75rem;align-items:center;
}
.inv-title-block .inv-eyebrow-rule{
  display:inline-flex;align-items:center;gap:.75rem;
  font-family:"Work Sans",Arial,sans-serif;font-weight:500;
  font-size:1.125rem;letter-spacing:.28em;text-transform:uppercase;
  color:var(--accent);margin:0;
}
.inv-title-block .inv-eyebrow-rule::before,
.inv-title-block .inv-eyebrow-rule::after{
  content:"";display:block;width:32px;height:1px;background:var(--accent);
}
.inv-title-block h2{
  font-family:"Montserrat",Arial,sans-serif;
  font-size:clamp(1.75rem, 3vw, 2.625rem);
  font-weight:700;line-height:1.15;letter-spacing:-.015em;
  color:var(--dark);margin:0;max-width:24ch;
}
/* Sentence-length section heading. The shared 24ch measure is tuned for short display lines and
   breaks an 88-character sentence over four lines, so this variant widens the block and eases the
   type down enough to land on two lines from roughly 1200px up. Below that it reflows naturally
   rather than shrinking the heading further. */
.inv-title-block--wide{max-width:1200px}
.inv-title-block--wide h2{
  max-width:47ch;
  font-size:clamp(1.5rem, 2.35vw, 2.125rem);
}
.inv-title-block .lede{
  font-family:"Montserrat",Arial,sans-serif;
  font-size:clamp(1rem,1.3vw,1.125rem);line-height:1.6;
  color:var(--muted);margin:.5rem 0 0;max-width:62ch;font-weight:400;
}

/* generic body 2-col / 1-col with hairline top rule */
.inv-rule-top{position:relative}
.inv-rule-top::before{
  content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:60px;height:2px;background:var(--accent);
}
.inv-prose{max-width:880px;margin:0 auto;font-size:1.0625rem;line-height:1.75;color:var(--dark)}
.inv-prose p{margin:0 0 1.1em}
.inv-prose p:last-child{margin-bottom:0}
.inv-prose ul{padding-left:1.25em;margin:0 0 1.1em}
.inv-prose ul li{margin-bottom:.5em}
.inv-prose ul li::marker{color:var(--accent)}

.inv-two-col{
  display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:start;
  max-width:1180px;margin:0 auto;
}
.inv-two-col > div{font-size:1.0625rem;line-height:1.75;color:var(--dark)}
.inv-two-col > div p{margin:0 0 1.1em}
.inv-two-col > div p:last-child{margin-bottom:0}
.inv-two-col > div ul{padding-left:1.25em;margin:0 0 1.1em}
.inv-two-col > div ul li{margin-bottom:.5em}
.inv-two-col > div ul li::marker{color:var(--accent)}
@media (max-width:767px){.inv-two-col{grid-template-columns:1fr;gap:2rem}}

/* dark navy feature panel — used for Secured Bonds $10M moment */
.inv-feature-dark{
  background:var(--dark);color:#fff;
  position:relative;overflow:hidden;
  padding:6rem 0;
}
.inv-feature-dark::before{
  content:"";position:absolute;inset:0;z-index:0;
  background:radial-gradient(60% 60% at 20% 30%, rgba(7,186,181,.22) 0%, transparent 60%),
             radial-gradient(50% 50% at 80% 80%, rgba(7,186,181,.12) 0%, transparent 60%);
  pointer-events:none;
}
.inv-feature-dark .container,
.inv-feature-dark .container-wide{position:relative;z-index:1}
.inv-feature-dark h2,
.inv-feature-dark h3,
.inv-feature-dark h4{color:#fff}
.inv-feature-dark .inv-eyebrow-rule{color:var(--accent)}
.inv-feature-dark .inv-eyebrow-rule::before,
.inv-feature-dark .inv-eyebrow-rule::after{background:var(--accent)}
.inv-feature-dark .inv-display-fig{
  font-family:"Montserrat",Arial,sans-serif;
  font-size:clamp(2.5rem, 7vw, 5.25rem);
  font-weight:700;line-height:1.05;letter-spacing:-.03em;
  color:#fff;margin:.5rem 0;
}
/* Keep the headline on a single line where it fits; below that let it wrap rather than overflow. */
.inv-nowrap{white-space:nowrap}
@media (max-width:600px){
  .inv-nowrap{white-space:normal}
}
.inv-feature-dark .inv-display-fig .currency{color:var(--accent);font-weight:700}
.inv-feature-dark .inv-display-sub{
  font-family:"Work Sans",Arial,sans-serif;font-weight:500;
  font-size:.875rem;letter-spacing:.24em;text-transform:uppercase;
  color:rgba(255,255,255,.7);margin:0;
}
.inv-feature-dark .inv-prose{color:rgba(255,255,255,.92);max-width:760px;margin-top:2rem}
.inv-feature-dark .inv-prose p{color:rgba(255,255,255,.92)}
.inv-feature-dark .inv-prose strong,
.inv-feature-dark .inv-prose h3{color:#fff}
.inv-feature-dark hr{
  border:0;height:1px;background:rgba(255,255,255,.12);
  max-width:300px;margin:2rem auto;
}

/* 5-up investment highlights — premium strip with hairline dividers + dramatic figures */
.inv-highlights-v2{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:0;
  max-width:1280px;margin:0 auto;
  background:#fff;
  border-top:1px solid rgba(0,9,54,.1);
  border-bottom:1px solid rgba(0,9,54,.1);
}
.inv-highlights-v2 > .inv-hi-card{
  position:relative;
  padding:2.5rem 1.5rem;
  border-right:1px solid rgba(0,9,54,.1);
  text-align:center;
  display:flex;flex-direction:column;gap:.75rem;
  background:#fff;
  transition:background-color var(--ease);
}
.inv-highlights-v2 > .inv-hi-card:last-child{border-right:0}
.inv-highlights-v2 > .inv-hi-card:hover{background:rgba(7,186,181,.04)}
.inv-highlights-v2 > .inv-hi-card .inv-dot{
  width:6px;height:6px;border-radius:50%;background:var(--accent);
  margin:0 auto;
}
.inv-highlights-v2 > .inv-hi-card .inv-label{
  font-family:"Work Sans",Arial,sans-serif;font-weight:500;
  font-size:.6875rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--muted);margin:0;
}
.inv-highlights-v2 > .inv-hi-card .inv-fig{
  font-family:"Montserrat",Arial,sans-serif;font-weight:700;
  font-size:clamp(1.5rem,2.4vw,2.25rem);line-height:1.05;
  color:var(--dark);margin:.25rem 0 0;
}
.inv-highlights-v2 > .inv-hi-card .inv-fig sup{font-size:.5em;vertical-align:super;font-weight:600}
.inv-highlights-v2 > .inv-hi-card .inv-fig .currency{color:var(--accent)}
.inv-highlights-v2 > .inv-hi-card .inv-prose-sm{
  font-family:"Montserrat",Arial,sans-serif;
  font-size:.875rem;line-height:1.5;color:var(--dark);margin:.25rem 0 0;
}
@media (max-width:1023px){
  .inv-highlights-v2{grid-template-columns:repeat(2,1fr)}
  .inv-highlights-v2 > .inv-hi-card{border-right:1px solid rgba(0,9,54,.1);border-bottom:1px solid rgba(0,9,54,.1)}
  .inv-highlights-v2 > .inv-hi-card:nth-child(2n){border-right:0}
  .inv-highlights-v2 > .inv-hi-card:last-child{grid-column:1/-1;border-bottom:0}
}
@media (max-width:639px){
  .inv-highlights-v2{grid-template-columns:1fr}
  .inv-highlights-v2 > .inv-hi-card{border-right:0;border-bottom:1px solid rgba(0,9,54,.1)}
  .inv-highlights-v2 > .inv-hi-card:last-child{grid-column:1;border-bottom:0}
}

/* architectural project card (HESTIA / GRACES) */
.inv-projects{
  display:grid;grid-template-columns:1fr 1fr;gap:2rem;max-width:1280px;margin:0 auto;
}
@media (max-width:767px){.inv-projects{grid-template-columns:1fr}}
.inv-project{
  position:relative;background:#fff;
  display:flex;flex-direction:column;
  box-shadow:0 30px 60px -40px rgba(0,9,54,.25);
  overflow:hidden;
  transition:transform var(--ease),box-shadow var(--ease);
}
.inv-project:hover{transform:translateY(-4px);box-shadow:0 36px 70px -36px rgba(0,9,54,.32)}
.inv-project .inv-project-photo{
  position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--light);
}
.inv-project .inv-project-photo img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .5s ease;
}
.inv-project:hover .inv-project-photo img{transform:scale(1.04)}
.inv-project .inv-project-photo::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, transparent 50%, rgba(0,9,54,.45) 100%);
  pointer-events:none;
}
.inv-project .inv-project-tag{
  position:absolute;top:1.25rem;left:1.25rem;z-index:2;
  font-family:"Work Sans",Arial,sans-serif;font-weight:500;
  font-size:.6875rem;letter-spacing:.28em;text-transform:uppercase;
  color:#fff;padding:.4rem .9rem;
  background:rgba(7,186,181,.92);
}
.inv-project .inv-project-body{
  padding:2.25rem 2rem;
  border-left:3px solid var(--accent);
}
.inv-project .inv-project-body h2{
  font-family:"Montserrat",Arial,sans-serif;font-weight:700;
  font-size:clamp(1.75rem,2.4vw,2.125rem);line-height:1.1;letter-spacing:-.01em;
  margin:0 0 .35em;color:var(--dark);
}
.inv-project .inv-project-body h3{
  font-family:"Montserrat",Arial,sans-serif;font-weight:500;
  font-size:1.0625rem;line-height:1.4;color:var(--accent);
  margin:0 0 1.25em;
}
.inv-project .inv-project-body p{
  font-size:1rem;line-height:1.7;color:var(--dark);margin:0 0 1em;
}
.inv-project .inv-project-body p:last-child{margin-bottom:0}

/* testimonials with vertical teal accent rule */
.inv-testimonials{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;
  max-width:1280px;margin:0 auto;
}
@media (max-width:1023px){.inv-testimonials{grid-template-columns:1fr}}
.inv-testimonial{
  position:relative;background:#fff;
  padding:2.25rem 2rem 2rem 2.5rem;
  border-left:3px solid var(--accent);
  display:flex;flex-direction:column;gap:1.25rem;
  box-shadow:0 24px 50px -32px rgba(0,9,54,.18);
}
.inv-testimonial .inv-testimonial-quote::before{
  content:"“";font-family:"Montserrat",Georgia,serif;
  font-size:4rem;line-height:.8;color:var(--accent);
  display:block;margin:-.5rem 0 -.5rem;
}
.inv-testimonial blockquote{
  margin:0;font-style:italic;font-size:1rem;line-height:1.65;color:var(--dark);
}
.inv-testimonial .inv-testimonial-meta{display:flex;align-items:center;gap:1rem;margin-top:auto;padding-top:1rem;border-top:1px solid rgba(0,9,54,.08)}
.inv-testimonial .inv-testimonial-meta img{
  width:64px;height:64px;border-radius:50%;object-fit:cover;flex-shrink:0;
}
.inv-testimonial .inv-testimonial-meta-text{display:flex;flex-direction:column;gap:.15rem}
.inv-testimonial .inv-testimonial-meta-text strong{
  font-family:"Montserrat";font-weight:600;font-size:1rem;color:var(--dark);
}
.inv-testimonial .inv-testimonial-meta-text span{
  font-family:"Work Sans";font-size:.75rem;color:var(--muted);
  text-transform:uppercase;letter-spacing:.12em;
}

/* impact cards — refined hover */
.inv-impact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;max-width:1180px;margin:0 auto}
@media (max-width:1023px){.inv-impact{grid-template-columns:1fr}}
.inv-impact-card{
  background:#fff;padding:2.5rem 2rem;text-align:center;
  border-top:3px solid var(--accent);
  display:flex;flex-direction:column;gap:1rem;align-items:center;
  box-shadow:0 18px 40px -32px rgba(0,9,54,.18);
  transition:transform var(--ease),box-shadow var(--ease);
}
.inv-impact-card:hover{transform:translateY(-3px);box-shadow:0 24px 50px -32px rgba(0,9,54,.24)}
.inv-impact-card img{max-width:110px;height:auto;display:block}
.inv-impact-card h3{
  font-family:"Montserrat",sans-serif;font-weight:600;
  font-size:1.125rem;margin:0;color:var(--dark);
}
.inv-impact-card p{font-size:.9375rem;line-height:1.65;color:var(--dark);margin:0}

/* contact intro panel */
.inv-contact-intro{
  max-width:880px;margin:0 auto 3rem;text-align:center;
  display:flex;flex-direction:column;gap:1rem;align-items:center;
}
.inv-contact-intro h2{
  font-family:"Montserrat",Arial,sans-serif;
  font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.3;font-weight:600;
  color:var(--dark);margin:0;letter-spacing:-.005em;
}
.inv-contact-intro .inv-manager{
  font-family:"Work Sans",Arial,sans-serif;
  font-size:.875rem;line-height:1.6;color:var(--muted);
  letter-spacing:.04em;max-width:62ch;
}
.inv-contact-intro .inv-contact-links{
  display:flex;gap:2rem;flex-wrap:wrap;justify-content:center;
  font-family:"Montserrat";font-weight:500;margin-top:.5rem;
}
.inv-contact-intro .inv-contact-links a{
  color:var(--dark);border-bottom:1px solid var(--accent);
  padding-bottom:.15rem;transition:color var(--ease);
}
.inv-contact-intro .inv-contact-links a:hover{color:var(--accent)}

/* governance brochure panel */
.inv-brochure-panel{
  background:#fff;padding:2.5rem;
  border:1px solid rgba(0,9,54,.1);
  position:relative;
}
.inv-brochure-panel::before{
  content:"";position:absolute;top:0;left:0;width:60px;height:3px;background:var(--accent);
}
.inv-brochure-panel h2{
  font-family:"Montserrat";font-weight:700;
  font-size:clamp(1.25rem,1.8vw,1.5rem);line-height:1.25;margin:0 0 .75rem;color:var(--dark);
}
.inv-brochure-panel p{margin:0 0 1.25rem;color:var(--dark);font-size:1rem;line-height:1.6}

/* disclaimer refined */
.inv-disclaimer{
  max-width:880px;margin:0 auto;padding:2rem 0;
  border-top:1px solid rgba(0,9,54,.1);
}
.inv-disclaimer h3{
  font-family:"Work Sans",Arial,sans-serif;font-weight:500;
  font-size:.75rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--muted);margin:0 0 1rem;
}
.inv-disclaimer p{font-size:.8125rem;line-height:1.7;color:var(--muted);margin:0 0 1em}
.inv-disclaimer p:last-child{margin-bottom:0}

/* intro graphics strip (2-up + wide break) — show as a unified panel */
.inv-graphics-strip{
  display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;
  max-width:1180px;margin:0 auto;
}
@media (max-width:767px){.inv-graphics-strip{grid-template-columns:1fr;gap:1rem}}
.inv-graphics-strip img{
  width:100%;height:auto;display:block;
  box-shadow:0 24px 50px -32px rgba(0,9,54,.18);
}
.inv-graphics-wide img{width:100%;height:auto;display:block;max-width:1280px;margin:0 auto}

/* scroll reveal */
.reveal{opacity:0;transform:translate3d(0,28px,0);transition:opacity .9s cubic-bezier(.4,0,.2,1), transform .9s cubic-bezier(.4,0,.2,1)}
.reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none;transition:none}}

/* /about-us — CSR editorial narrative */
.about-csr .about-csr-prose{
  max-width:760px;margin:0 auto 2.25rem;
  font-size:1.0625rem;line-height:1.75;color:var(--dark);
}
.about-csr .about-csr-prose p{margin:0 0 1em}
.about-csr .about-csr-prose p:last-child{margin-bottom:0}
.about-csr .about-csr-pillar{
  max-width:760px;margin:2.25rem auto;
  padding:1.75rem 0 1.75rem 1.75rem;
  border-left:3px solid var(--accent);
  background:rgba(7,186,181,.04);
  padding-right:1.5rem;
  padding-top:1.75rem;padding-bottom:1.75rem;
}
.about-csr .about-csr-pillar h3{
  font-family:"Montserrat",Arial,sans-serif;font-weight:600;
  font-size:clamp(1.125rem,1.55vw,1.25rem);line-height:1.3;
  color:var(--dark);margin:0 0 .85rem;
}
.about-csr .about-csr-pillar p{
  font-size:1rem;line-height:1.75;color:var(--dark);margin:0 0 .9em;
}
.about-csr .about-csr-pillar p:last-child{margin-bottom:0}
.about-csr .about-csr-pillar strong{color:var(--dark);font-weight:700}
.about-csr .about-csr-pillar em{color:var(--accent);font-style:normal;font-weight:500}
.about-csr .about-csr-photo{
  max-width:1080px;margin:3rem auto;
}
.about-csr .about-csr-cta{
  text-align:center;max-width:62ch;margin:3rem auto 0;
}
.about-csr .about-csr-cta p{
  font-size:1.0625rem;line-height:1.65;color:var(--dark);margin:0 0 1.5rem;
}
@media (max-width:639px){
  .about-csr .about-csr-pillar{padding:1.5rem 1rem 1.5rem 1.25rem;margin:1.75rem auto}
}

/* /about-us — Committee pillars (separated from Advisory Board portraits) */
.about-committee-pillars{background:#fff;padding-top:4.5rem;padding-bottom:5rem;border-top:1px solid rgba(7,186,181,.18)}
.about-committee-pillars .feature-card{
  background:#fff;
  border:1px solid rgba(0,9,54,.08);
  padding:2rem 1.5rem;
  text-align:center;
  transition:transform var(--ease),box-shadow var(--ease);
}
.about-committee-pillars .feature-card:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 40px -32px rgba(0,9,54,.20);
}
.about-committee-pillars .feature-card h4{
  font-family:"Montserrat",Arial,sans-serif;font-weight:600;
  font-size:1.125rem;color:var(--dark);margin:0 0 .5rem;
}
.about-committee-pillars .feature-card p{
  font-size:.9375rem;line-height:1.55;color:var(--dark);margin:0;
}

/* /about-us — Our Story editorial layout (smaller lede + subhead with body beneath) */
.about-our-story .about-our-story-head{max-width:880px;margin:0 auto 2.5rem}
.about-our-story .about-our-story-lede{
  color:var(--accent);
  font-family:"Montserrat",Arial,sans-serif;
  font-weight:600;
  font-size:clamp(1.0625rem, 1.65vw, 1.375rem);
  line-height:1.45;letter-spacing:0;
  margin:.5rem auto 0;
  max-width:64ch;
}
.about-our-story .about-our-story-body{
  max-width:760px;margin:0 auto;
  font-size:1rem;line-height:1.75;color:var(--dark);
}
.about-our-story .about-our-story-subhead{
  font-family:"Work Sans",Arial,sans-serif;font-weight:500;
  font-size:.8125rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--accent);margin:0 0 1.25rem;
}
.about-our-story .about-our-story-body p{margin:0 0 1.1em}
.about-our-story .about-our-story-body p:last-child{margin-bottom:0}

/* /participants — short hero variant */
.hero.hero--short{min-height:54vh}
@media (max-width:767px){.hero.hero--short{min-height:44vh}}

/* /participants — Walkthrough cover linked to virtual 3D tour */
/* Pull-quote — replaces the plain bordered box. Uses the site's teal top rule (as on the impact
   cards), an oversized quote glyph and a proper attribution line instead of a boxed paragraph. */
.sda-pullquote{
  position:relative;
  max-width:820px;margin:3.5rem auto 0;
  padding:2.75rem 1.5rem 0;
  text-align:center;
  border-top:3px solid var(--accent);
}
.sda-pullquote::before{
  content:"\201C";
  position:absolute;top:-.18em;left:50%;transform:translateX(-50%);
  font-family:"Montserrat",Arial,sans-serif;font-weight:700;
  font-size:5rem;line-height:1;color:var(--accent);opacity:.22;
  pointer-events:none;
}
.sda-pullquote blockquote{
  margin:0;
  font-family:"Montserrat",Arial,sans-serif;font-weight:500;
  font-size:clamp(1.0625rem,1.5vw,1.3125rem);line-height:1.6;
  color:var(--dark);
}
.sda-pullquote figcaption{
  margin-top:1.25rem;
  font-family:"Work Sans",Arial,sans-serif;font-weight:500;
  font-size:.75rem;text-transform:uppercase;letter-spacing:.18em;
  color:var(--accent);
}
.sda-pullquote figcaption strong{
  display:block;margin-bottom:.25rem;
  font-family:"Montserrat",Arial,sans-serif;font-weight:600;
  font-size:.9375rem;letter-spacing:.06em;color:var(--dark);
}
@media (max-width:639px){
  .sda-pullquote{padding-top:2.25rem}
  .sda-pullquote::before{font-size:3.5rem}
}
.participant-walkthrough-intro{
  max-width:1080px;margin:0 auto 1.5rem;
  text-align:center;font-size:1.0625rem;line-height:1.6;color:var(--dark);
}
.participant-walkthrough-link{
  position:relative;display:block;
  max-width:1080px;margin:0 auto;
  text-decoration:none;color:inherit;cursor:pointer;
  overflow:hidden;border-radius:0;
  box-shadow:0 24px 50px -32px rgba(0,9,54,.22);
  transition:transform var(--ease),box-shadow var(--ease);
}
.participant-walkthrough-link:hover{
  transform:translateY(-3px);
  box-shadow:0 32px 60px -32px rgba(0,9,54,.32);
}
.participant-walkthrough-img{
  width:100%;height:auto;display:block;
  transition:transform .5s ease;
}
.participant-walkthrough-link:hover .participant-walkthrough-img{transform:scale(1.02)}
.participant-walkthrough-cta{
  position:absolute;
  left:50%;top:50%;
  transform:translate(-50%,-50%);
  display:inline-flex;align-items:center;gap:.55rem;
  background:rgba(0,9,54,.92);color:#fff;
  font-family:"Montserrat",Arial,sans-serif;font-weight:600;
  font-size:.9375rem;letter-spacing:.06em;text-transform:uppercase;
  padding:1em 1.75em;border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  transition:background-color var(--ease),transform var(--ease);
}
.participant-walkthrough-link:hover .participant-walkthrough-cta{
  background:var(--accent);transform:translate(-50%,-50%) scale(1.04);
}
.participant-walkthrough-cta svg{flex-shrink:0}
@media (max-width:639px){
  .participant-walkthrough-cta{font-size:.8125rem;padding:.85em 1.4em}
}

/* /participants — Exclusive Offer 2-col with masked vertical kitchen image */
.participant-exclusive{padding-top:0;padding-bottom:0;overflow:hidden}
.participant-exclusive .container-wide{padding-left:0;padding-right:0;max-width:none}
.participant-exclusive .participant-exclusive-grid{
  display:grid;
  grid-template-columns:minmax(0,5fr) minmax(0,7fr);
  gap:0;
  align-items:stretch;
  min-height:560px;
}
.participant-exclusive .participant-exclusive-img{
  position:relative;
  overflow:hidden;
  min-height:560px;
}
.participant-exclusive .participant-exclusive-img img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  object-position:center 35%;
  display:block;
}
.participant-exclusive .participant-exclusive-img::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(90deg, transparent 0%, transparent 75%, var(--accent) 100%);
  pointer-events:none;
}
.participant-exclusive .participant-exclusive-content{
  background:var(--accent);
  color:#fff;
  padding:5rem 3.5rem;
  display:flex;flex-direction:column;justify-content:center;
  text-align:left;
}
.participant-exclusive .participant-exclusive-content h2{
  color:#fff;font-family:"Montserrat",Arial,sans-serif;font-weight:700;
  font-size:clamp(1.75rem, 2.8vw, 2.5rem);line-height:1.15;letter-spacing:-.01em;
  margin:0 0 1.25rem;max-width:18ch;
}
.participant-exclusive .participant-exclusive-content .lead{
  color:#fff;font-size:1.1875rem;line-height:1.55;font-weight:400;margin:0 0 1.25rem;
}
.participant-exclusive .participant-exclusive-content .lead strong{font-weight:700}
.participant-exclusive .participant-exclusive-content .guidance{
  color:#fff;font-size:1rem;line-height:1.65;opacity:.95;margin:0 0 1.75rem;max-width:48ch;
}
.participant-exclusive .participant-exclusive-content .btn-cta{
  display:inline-block;align-self:flex-start;
  background:#fff;color:var(--dark);border:1px solid #fff;
  padding:1.1em 2.2em;
  font-family:"Montserrat";font-weight:700;
  font-size:.9375rem;text-transform:uppercase;letter-spacing:.04em;
  transition:background-color var(--ease),color var(--ease);
}
.participant-exclusive .participant-exclusive-content .btn-cta:hover{background:var(--dark);color:#fff}
.participant-exclusive .participant-exclusive-content .tnc{
  color:rgba(255,255,255,.85);font-size:.8125rem;margin:1.5rem 0 0;letter-spacing:.02em;
}
@media (max-width:767px){
  .participant-exclusive .participant-exclusive-grid{grid-template-columns:1fr;min-height:0}
  .participant-exclusive .participant-exclusive-img{min-height:340px}
  .participant-exclusive .participant-exclusive-img::after{
    background:linear-gradient(180deg, transparent 0%, transparent 75%, var(--accent) 100%);
  }
  .participant-exclusive .participant-exclusive-content{padding:3rem 1.5rem}
}

/* /participants — "Hear why we differ" video (after 5 pillars) */
.participant-differ .participant-differ-video{position:relative;max-width:980px;margin:0 auto}
.participant-differ .video-embed{
  position:relative;width:100%;aspect-ratio:16/9;
  box-shadow:0 36px 70px -36px rgba(0,9,54,.32);
}
.participant-differ .video-embed iframe{
  position:absolute;inset:0;width:100%;height:100%;border:0;
}
.participant-differ .participant-differ-video::before,
.participant-differ .participant-differ-video::after{
  content:"";position:absolute;width:46px;height:46px;
  border:2px solid var(--accent);z-index:2;pointer-events:none;
}
.participant-differ .participant-differ-video::before{top:-12px;left:-12px;border-right:0;border-bottom:0}
.participant-differ .participant-differ-video::after{bottom:-12px;right:-12px;border-left:0;border-top:0}

/* /participants — Participant perspective video (above testimonials) */
.participant-perspective .video-embed{
  position:relative;width:100%;aspect-ratio:16/9;
  max-width:980px;margin:0 auto;
  box-shadow:0 36px 70px -36px rgba(0,9,54,.32);
}
.participant-perspective .video-embed iframe{
  position:absolute;inset:0;width:100%;height:100%;border:0;
}
.participant-perspective .participant-perspective-video{position:relative;max-width:980px;margin:0 auto}
.participant-perspective .participant-perspective-video::before,
.participant-perspective .participant-perspective-video::after{
  content:"";position:absolute;width:46px;height:46px;
  border:2px solid var(--accent);z-index:2;pointer-events:none;
}
.participant-perspective .participant-perspective-video::before{top:-12px;left:-12px;border-right:0;border-bottom:0}
.participant-perspective .participant-perspective-video::after{bottom:-12px;right:-12px;border-left:0;border-top:0}
.participant-perspective .participant-perspective-body{
  max-width:760px;margin:2.5rem auto 0;
  font-size:1.0625rem;line-height:1.75;color:var(--dark);text-align:center;
}

/* /participants — Resource thumbnails grid (3-up PDF guides with CTA buttons) */
.participant-resources-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:2.25rem;
  max-width:1180px;margin:0 auto;
  align-items:stretch;
}
.participant-resources-card{
  display:flex;flex-direction:column;gap:0;
}
.participant-resources-thumb-link{
  display:block;overflow:hidden;
  box-shadow:0 24px 50px -32px rgba(0,9,54,.22);
  transition:transform var(--ease),box-shadow var(--ease);
}
.participant-resources-thumb-link:hover{
  transform:translateY(-4px);
  box-shadow:0 30px 60px -32px rgba(0,9,54,.28);
}
.participant-resources-thumb{
  width:100%;height:auto;display:block;
  transition:transform .5s ease;
}
.participant-resources-thumb-link:hover .participant-resources-thumb{transform:scale(1.02)}
.participant-resources-btn{
  display:flex;align-items:center;justify-content:center;
  width:100%;
  background:var(--accent);color:#fff;
  border:1px solid #fff;
  font-family:"Montserrat",Arial,sans-serif;font-weight:600;
  font-size:1.0625rem;letter-spacing:.04em;
  text-transform:uppercase;text-decoration:none;
  padding:1.1em 1.5em;line-height:1.1;
  text-align:center;
  transition:background-color var(--ease),opacity var(--ease),transform var(--ease);
  opacity:.92;
}
.participant-resources-card:hover .participant-resources-btn,
.participant-resources-btn:hover,
.participant-resources-btn:focus-visible{
  background:#089b97;opacity:1;
}
@media (max-width:767px){
  .participant-resources-grid{grid-template-columns:1fr;gap:1.75rem;max-width:480px}
  .participant-resources-btn{font-size:.9375rem;padding:1em 1.25em}
}

/* /participants — Apollo flagship 2-col video + text */
.participant-flagship{padding-top:5rem;padding-bottom:5rem}
.participant-flagship .participant-flagship-grid{
  display:grid;
  grid-template-columns:minmax(0,7fr) minmax(0,5fr);
  gap:3.5rem;
  align-items:center;
  max-width:1280px;margin:0 auto;
}
.participant-flagship .participant-flagship-video{position:relative}
.participant-flagship .participant-flagship-video .video-embed{
  position:relative;width:100%;aspect-ratio:16/9;
  box-shadow:0 36px 70px -36px rgba(0,9,54,.32);
}
.participant-flagship .participant-flagship-video .video-embed iframe{
  position:absolute;inset:0;width:100%;height:100%;border:0;
}
.participant-flagship .participant-flagship-video::before,
.participant-flagship .participant-flagship-video::after{
  content:"";position:absolute;width:46px;height:46px;
  border:2px solid var(--accent);z-index:2;pointer-events:none;
}
.participant-flagship .participant-flagship-video::before{top:-12px;left:-12px;border-right:0;border-bottom:0}
.participant-flagship .participant-flagship-video::after{bottom:-12px;right:-12px;border-left:0;border-top:0}
/* Type comes from the sitewide .eyebrow rule so this matches the investors page; only the
   bottom spacing is page-specific. */
.participant-flagship .participant-flagship-body p.eyebrow{margin:0 0 .75rem}
.participant-flagship .participant-flagship-body h2{
  font-family:"Montserrat";font-weight:700;
  font-size:clamp(1.75rem, 2.8vw, 2.5rem);line-height:1.15;letter-spacing:-.01em;
  margin:0 0 1.25rem;max-width:22ch;color:var(--dark);
}
.participant-flagship .participant-flagship-body p{font-size:1rem;line-height:1.7;color:var(--dark);margin:0 0 1.5rem}
@media (max-width:1023px){
  .participant-flagship .participant-flagship-grid{grid-template-columns:1fr;gap:2.5rem}
}

/* /participants — 5 pillars in one row */
.participant-pillars-grid{
  display:grid;
  grid-template-columns:repeat(5, minmax(0,1fr));
  gap:1.25rem;
  max-width:1280px;margin:0 auto;
}
/* Matched to .inv-impact-card on /investors/ — teal top rule instead of a hairline box, resting
   shadow, same hover lift and type scale. Padding and icon are a shade tighter than the investors
   cards only because this grid runs 5-up rather than 3-up. */
.participant-pillars-grid .feature-card{
  background:#fff;
  border:0;
  border-top:3px solid var(--accent);
  padding:2rem 1.25rem;
  text-align:center;
  display:flex;flex-direction:column;gap:1rem;align-items:center;
  box-shadow:0 18px 40px -32px rgba(0,9,54,.18);
  transition:transform var(--ease),box-shadow var(--ease);
}
.participant-pillars-grid .feature-card:hover{
  transform:translateY(-3px);
  box-shadow:0 24px 50px -32px rgba(0,9,54,.24);
}
.participant-pillars-grid .feature-card img{max-width:96px;height:auto;margin:0 auto;display:block}
.participant-pillars-grid .feature-card h3{
  font-family:"Montserrat",sans-serif;font-weight:600;
  font-size:1.0625rem;line-height:1.25;color:var(--dark);margin:0;
}
.participant-pillars-grid .feature-card p{
  font-size:.9375rem;line-height:1.65;color:var(--dark);margin:0;
}
@media (max-width:1023px){
  .participant-pillars-grid{grid-template-columns:repeat(3, 1fr);gap:1rem}
}
@media (max-width:639px){
  .participant-pillars-grid{grid-template-columns:repeat(2, 1fr)}
}

/* /support-providers — Plan 2026 image + text 2-col */
.sp-plan2026{padding:3.5rem 0}
/* Plan 2026 provider clip — the section runs container-wide since its image was removed, so the
   embed is constrained and centred rather than stretching edge to edge. */
.sp-plan2026 .sp-plan2026-video{margin:2.5rem auto 0;max-width:900px}
.sp-plan2026 .sp-plan2026-video .video-embed{border-radius:8px}
.sp-plan2026 .sp-plan2026-video figcaption{
  margin-top:.9rem;text-align:center;
  font-family:"Work Sans",Arial,sans-serif;font-size:.95rem;line-height:1.6;color:var(--muted);
}
.sp-plan2026 .sp-plan2026-grid{
  display:grid;
  grid-template-columns:minmax(0,5fr) minmax(0,7fr);
  gap:3rem;
  align-items:center;
  max-width:1180px;margin:0 auto;
}
.sp-plan2026 .sp-plan2026-img-wrap{position:relative}
.sp-plan2026 .sp-plan2026-img{
  width:100%;height:auto;display:block;
  border-radius:8px;
  box-shadow:0 30px 60px -32px rgba(0,9,54,.22);
}
/* Type comes from the sitewide .eyebrow rule so this matches the investors page; only the
   bottom spacing is page-specific. */
.sp-plan2026 .sp-plan2026-body p.eyebrow{margin:0 0 .75rem}
.sp-plan2026 .sp-plan2026-body h2{
  font-family:"Montserrat",Arial,sans-serif;font-weight:700;
  font-size:clamp(1.75rem, 2.6vw, 2.25rem);line-height:1.18;letter-spacing:-.01em;
  color:var(--dark);margin:0 0 1.25rem;max-width:22ch;
}
.sp-plan2026 .sp-plan2026-body p{
  font-size:1rem;line-height:1.7;color:var(--dark);margin:0 0 1em;
}
.sp-plan2026 .sp-plan2026-body p:last-child{margin-bottom:0}
@media (max-width:767px){
  .sp-plan2026{padding:2.5rem 0}
  .sp-plan2026 .sp-plan2026-grid{grid-template-columns:1fr;gap:2rem}
}

/* /support-providers — Strategic B2B section bg graphic (Artboard 2 copy 4) top-left */
.sp-strategic{position:relative;overflow:hidden;isolation:isolate}
.sp-strategic.has-bg-graphic::before{
  content:"";
  position:absolute;
  top:0;left:0;
  width:min(440px, 34vw);
  aspect-ratio:768/316;
  background-image:var(--sp-bg-graphic);
  background-repeat:no-repeat;
  background-position:left top;
  background-size:contain;
  opacity:.45;
  z-index:0;
  pointer-events:none;
}
.sp-strategic > .container{position:relative;z-index:1}
@media (max-width:767px){
  .sp-strategic.has-bg-graphic::before{
    width:min(240px, 60vw);
    opacity:.32;
  }
}

/* /support-providers — Compliance section bg graphic (Artboard 2) flush bottom-right */
.sp-compliance{position:relative;overflow:hidden;isolation:isolate}
.sp-compliance.has-bg-graphic::before{
  content:"";
  position:absolute;
  bottom:0;right:0;
  width:min(640px, 48vw);
  aspect-ratio:1536/632;
  background-image:var(--sp-compliance-bg);
  background-repeat:no-repeat;
  background-position:right bottom;
  background-size:contain;
  opacity:.9;
  z-index:0;
  pointer-events:none;
}
.sp-compliance > .container{position:relative;z-index:1}
@media (max-width:767px){
  .sp-compliance.has-bg-graphic::before{
    width:min(320px, 72vw);
    opacity:.85;
  }
}

/* /investors — Provider Partnerships section bg graphic (Artboard 2 copy 4) full-bleed behind content */
.inv-pp.has-bg-graphic::before{
  content:"";
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:min(1280px, 92%);
  aspect-ratio:2048/842;
  background-image:var(--inv-pp-bg);
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  opacity:.10;
  z-index:0;
  pointer-events:none;
}
@media (max-width:767px){
  .inv-pp.has-bg-graphic::before{opacity:.08}
}

/* featured-project + awards strips on /investors */
.inv-proj-strip{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:1.25rem;align-items:center;justify-content:center;
  max-width:1280px;margin:0 auto;
}
.inv-proj-strip .inv-proj-strip-img{
  width:100%;height:auto;display:block;border-radius:6px;
  box-shadow:0 20px 44px -32px rgba(0,9,54,.20);
}
.inv-awards-strip{
  display:flex;flex-wrap:wrap;gap:2.5rem 3rem;
  align-items:center;justify-content:center;
  max-width:1180px;margin:0 auto;
}
.inv-awards-strip .inv-award-badge{
  max-height:96px;width:auto;object-fit:contain;
  filter:grayscale(.1);
  transition:filter var(--ease),transform var(--ease);
}
.inv-awards-strip .inv-award-badge:hover{filter:grayscale(0);transform:translateY(-2px)}
@media (max-width:639px){
  .inv-awards-strip{gap:1.75rem 2rem}
  .inv-awards-strip .inv-award-badge{max-height:72px}
}

/* video frame refined */
.inv-video-frame{
  position:relative;max-width:1080px;margin:2.5rem auto 0;
  box-shadow:0 30px 70px -32px rgba(0,9,54,.28);
}
.inv-video-frame::before,
.inv-video-frame::after{
  content:"";position:absolute;width:48px;height:48px;
  border:2px solid var(--accent);z-index:2;pointer-events:none;
}
.inv-video-frame::before{top:-12px;left:-12px;border-right:0;border-bottom:0}
.inv-video-frame::after{bottom:-12px;right:-12px;border-left:0;border-top:0}
.inv-video-caption{
  font-family:"Work Sans";font-size:.875rem;letter-spacing:.04em;
  color:var(--muted);text-align:center;margin:1.5rem auto 0;max-width:62ch;
}

/* footer chev-divider sits flush above the dark footer */
.site-footer .chev-divider{
  height:10px;width:100%;
  background:repeating-linear-gradient(135deg,
    var(--accent) 0 24px,
    var(--pale)   24px 48px,
    transparent   48px 72px);
  margin:0 0 2.5rem;
  opacity:.85;
  mask-image:linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
  -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
}

/* chev-themed callout (replaces orange manifesto border on /about-us) */
.chev-callout{
  position:relative;
  background:#fff;
  border:0;
  padding:2.25rem 2.5rem;
  margin:3rem auto 0;
  max-width:760px;
  font-style:italic;
  text-align:center;
  font-size:.9375rem;
  line-height:1.7;
  box-shadow:0 24px 60px -32px rgba(0,9,54,.18);
}
.chev-callout::before,
.chev-callout::after{
  content:"";
  position:absolute;
  width:64px;height:44px;
  background:var(--accent);
  clip-path:polygon(0 0,100% 0,72% 100%,0 100%);
}
.chev-callout::before{top:-14px;left:-14px}
.chev-callout::after{bottom:-14px;right:-14px;transform:rotate(180deg);background:var(--pale)}
@media (max-width:639px){
  .chev-callout{padding:1.75rem 1.5rem;margin:2.5rem 1rem 0}
  .chev-callout::before,
  .chev-callout::after{width:44px;height:30px}
}

/* ───── Register Your Interest form ───── */
/* Square corners throughout, matching the theme's buttons and panels elsewhere on the site. */
.sda-register-form{background:var(--white);border-radius:0;padding:2rem 1.75rem;box-shadow:0 18px 50px -30px rgba(0,9,54,.35);border:1px solid rgba(7,186,181,.18)}
.sda-register-form .sda-field{display:flex;flex-direction:column;margin-bottom:1.1rem}
.sda-register-form .sda-field label{font-weight:600;color:var(--dark);font-size:.95rem;margin-bottom:.4rem}
.sda-register-form .sda-optional{font-weight:400;color:#8a8f9c;font-size:.85rem;margin-left:.25rem}
.sda-register-form input[type=text],
.sda-register-form input[type=email],
.sda-register-form input[type=tel],
.sda-register-form select,
.sda-register-form textarea{width:100%;padding:.85rem 1rem;font:inherit;color:var(--dark);background:#fff;border:1px solid #d6dce4;border-radius:0;transition:border-color .15s ease,box-shadow .15s ease;box-sizing:border-box;line-height:1.4}
.sda-register-form input:focus,
.sda-register-form select:focus,
.sda-register-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(7,186,181,.18)}
.sda-register-form textarea{resize:vertical;min-height:120px}
.sda-register-form .sda-register-submit{width:100%;padding:.95rem 1.25rem;font-size:1rem;font-weight:700;letter-spacing:.02em;margin-top:.5rem}
.sda-register-form .sda-fieldset{border:none;padding:0;margin:0 0 1.1rem}
.sda-register-form .sda-legend{font-weight:700;color:var(--dark);font-size:1rem;margin-bottom:.6rem;padding:0}
.sda-register-form .sda-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.sda-register-form .sda-row .sda-field{margin-bottom:0}
.sda-register-form .sda-req{color:#c5343b;margin-left:.15rem;font-weight:600}
@media (max-width:600px){.sda-register-form .sda-row{grid-template-columns:1fr}}


/* === SDABOOTS NEWS PARITY — mirror live Squarespace article (20260624) START === */
/* Live uses a ~596px centred editorial column, white header, plain eyebrow,
   a contained natural-aspect lead image, and a small left-floated intro card. */
.single-post.premium-single .single-post-header{background:#fff;padding:120px 1.5rem 2rem}
.single-post.premium-single .single-post-header::after{content:none}
.single-post.premium-single .single-post-header-inner{max-width:860px}
.single-post.premium-single .single-post-header h1.serif-display{max-width:100%;margin:.4rem auto 0;font-size:clamp(1.85rem,3.2vw,2.55rem)!important;line-height:1.16}
/* eyebrow: plain grey small-caps, no pill */
.single-post.premium-single .eyebrow-pill{display:inline-block;border:none;background:none;padding:0;border-radius:0;color:var(--muted);font-family:"Work Sans",sans-serif;font-weight:500;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:1.1rem}
.single-post.premium-single .eyebrow-pill:hover{background:none;border:none;color:var(--accent)}
/* lead hero: contained, natural aspect, no crop / heavy shadow */
.single-post.premium-single .single-post-hero{max-width:644px;margin:0 auto;padding:0 1.5rem}
.single-post.premium-single .single-post-hero-frame{aspect-ratio:auto;overflow:visible;border-radius:2px;box-shadow:none;background:transparent}
.single-post.premium-single .single-post-hero-img{position:static;width:100%;height:auto;object-fit:initial;transform:none!important}
/* body column → narrow editorial measure */
.single-post.premium-single .single-post-content{max-width:644px;padding:2.4rem 1.5rem 2rem;font-size:1rem;line-height:1.7}
.single-post.premium-single .single-post-footer{max-width:644px}
/* kill the premium dropcap (live has none) */
.single-post.premium-single .single-post-content > p:first-of-type::first-letter,
.single-post.premium-single .single-post-content > .wp-block-paragraph:first-of-type p::first-letter{font-size:inherit;line-height:inherit;float:none;padding:0;margin:0;color:inherit;font-family:inherit;font-weight:inherit}
/* intro "card": small image floated left, intro text wraps right.
   WP renders resized images as <div class="wp-block-image"><figure class="alignleft is-resized">… */
.single-post.premium-single .single-post-content .wp-block-image:has(> figure.alignleft){display:contents}
.single-post.premium-single .single-post-content figure.alignleft{float:left;max-width:268px;margin:.2rem 1.6rem .8rem 0}
.single-post.premium-single .single-post-content figure.alignleft img{width:100%;border-radius:2px;margin:0}
/* intro repeat (h3) = bold italic dark, clears the float, full width */
.single-post.premium-single .single-post-content h3{clear:left;font-style:italic;font-size:1.12rem;line-height:1.5;color:var(--dark);margin-top:1.4rem}
.single-post.premium-single .single-post-content h2{font-size:1.5rem}
/* galleries → slideshow (match live): single 3:2 slide + side arrows + thumb strip */
.single-post.premium-single .single-post-content .wp-block-gallery{display:block;grid-template-columns:none;gap:0;margin:2rem 0;padding:0}
.single-post.premium-single .single-post-content .wp-block-gallery.sda-slideshow{position:relative}
.single-post.premium-single .single-post-content .wp-block-gallery.sda-slideshow > figure{display:none;width:100%!important;max-width:100%!important;flex-basis:100%!important;margin:0!important}
.single-post.premium-single .single-post-content .wp-block-gallery.sda-slideshow > figure.is-active{display:block}
.single-post.premium-single .single-post-content .wp-block-gallery.sda-slideshow > figure img{width:100%;height:auto!important;aspect-ratio:3/2;object-fit:cover;border-radius:2px;cursor:zoom-in;margin:0}
.single-post.premium-single .single-post-content .wp-block-gallery .sda-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:42px;height:42px;border:none;border-radius:50%;background:rgba(255,255,255,.72);color:#1a1a2e;font-size:1.6rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.18);transition:background .2s}
.single-post.premium-single .single-post-content .wp-block-gallery .sda-arrow:hover{background:#fff}
.single-post.premium-single .single-post-content .wp-block-gallery .sda-prev{left:12px}
.single-post.premium-single .single-post-content .wp-block-gallery .sda-next{right:12px}
.single-post.premium-single .single-post-content .sda-thumbs{display:flex;gap:8px;margin:.55rem 0 0;overflow-x:auto;padding-bottom:4px}
.single-post.premium-single .single-post-content .sda-thumb{flex:0 0 auto;width:84px;height:56px;border:none;padding:0;background:none;cursor:pointer;opacity:.5;transition:opacity .2s}
.single-post.premium-single .single-post-content .sda-thumb.is-active{opacity:1}
.single-post.premium-single .single-post-content .sda-thumb img{width:100%;height:100%!important;object-fit:cover;border-radius:2px;display:block;margin:0}
/* mobile: stack the intro card (no awkward float), keep slideshow tidy */
@media (max-width:600px){
  .single-post.premium-single .single-post-content figure.alignleft{float:none;max-width:320px;margin:.4rem auto 1.2rem;display:block}
  .single-post.premium-single .single-post-content h3{clear:none}
  .single-post.premium-single .single-post-content .sda-thumb{width:64px;height:44px}
}
/* === SDABOOTS NEWS PARITY — END === */

/* === EVOSION 1440 CONVENTION — autoblog main content (2026-06-29, VERO) ============
   User 2026-06-29: the 644px "Squarespace parity" measure (block above, 2026-06-24)
   reads "too narrow". Restore the GLOBAL 1440px convention to the AUTOBLOG MAIN
   CONTENT only — article title block, lead hero, body, article footer — single
   column, no sidebar. Site nav (.site-header) + site footer left untouched.
   Scoped to body.evosion-auto-blog so ordinary editorial posts are unaffected.
   Responsive clamp gutter kept at every width below the 1440 cap. ================== */
body.evosion-auto-blog .single-post.premium-single .single-post-header-inner,
body.evosion-auto-blog .single-post.premium-single .single-post-hero,
body.evosion-auto-blog .single-post.premium-single .single-post-content,
body.evosion-auto-blog .single-post.premium-single .single-post-footer{
  max-width:1440px;margin-left:auto;margin-right:auto;
  padding-left:clamp(20px,4vw,48px);padding-right:clamp(20px,4vw,48px);
}
/* keep the H1 line-length readable even though its container is now 1440 */
body.evosion-auto-blog .single-post.premium-single .single-post-header h1.serif-display{max-width:34ch}
/* rule 11 — 60px breathing room between the article and the site header / footer */
body.evosion-auto-blog .single-post.premium-single .single-post-header{padding-top:60px}
body.evosion-auto-blog .single-post.premium-single .single-post-footer{padding-bottom:60px}
/* === END 1440 CONVENTION === */

/* ============================================================
   AUTO-BLOG 2-COLUMN SIDEBAR (user 2026-07-01)
   The 2-col grid, 340px sticky sidebar, 45px gap, mobile stacking,
   mobile-TOC-hide and the TOC-click / smooth-scroll / evoOffset JS all
   come from the canonical evosion-autoblog-display.php mu-plugin (keyed
   on #evosion-maindiv / .evosion-autoblog-grid / .maindiv / -main / -side).
   Here we ONLY: frame the body at 1440, defeat SDA's 760px content + hero
   reading caps so both fill the grid, and hide the author card /
   "continue reading" next-article on auto-blog singles (markup kept — the
   same bespoke rule used on premium-blog to hide author/prev-next).
   ============================================================ */
body.evosion-auto-blog .sda-autoblog-wrap{width:100%;max-width:1440px;margin:0 auto;padding:0 1.5rem;box-sizing:border-box}
/* Hero fills the 1440 frame (theme caps .single-post-hero at 760 centred) */
body.evosion-auto-blog .premium-single .sda-autoblog-wrap .single-post-hero{max-width:none;margin:0 0 2.25rem;padding:0}
/* Content fills its grid column (theme caps .single-post-content at 760
   centred w/ 1.5rem side padding + 3rem top padding). The canonical
   .evosion-autoblog-content rule already forces max-width:none; zero the
   theme's side + top padding so the column edge lines up flush with the
   sidebar AND the first content block starts at the grid top. */
body.evosion-auto-blog .premium-single .sda-autoblog-wrap .single-post-content{max-width:none;margin:0;padding:0}
/* Top-align the first content block (Key Takeaways / first H2) with the
   Table-of-Contents card (user 2026-07-01: "key takeaways align with the
   table of contents"): the first heading/callout carries a top margin that
   would push the whole content column below the card. The 36px breathing
   room under the hero is on the hero's margin-bottom, shared by both columns. */
body.evosion-auto-blog .premium-single .evosion-autoblog-content > *:first-child{margin-top:0!important}
/* Hide author card + next-article on auto-blog singles (kept in markup) */
body.evosion-auto-blog .single-post.premium-single .single-post-footer{display:none!important}
/* FAQ accordion chevron: the shell's marker-hide + open-rotate rules are
   scoped to `.entry-content`, which SDA's body doesn't carry (we kept the
   theme's `.single-post-content prose` classes), so re-assert them on
   `.evosion-autoblog-content` — the `.evosion-faq-chevron` span is only ever
   emitted on the auto-blog FAQ, so this can't touch other <details> on site. */
body.evosion-auto-blog .evosion-autoblog-content details > summary:has(.evosion-faq-chevron){list-style:none}
body.evosion-auto-blog .evosion-autoblog-content details > summary::-webkit-details-marker{display:none}
body.evosion-auto-blog .evosion-autoblog-content details > summary::marker{content:""}
body.evosion-auto-blog .evosion-autoblog-content .evosion-faq-chevron{transition:transform .25s ease}
body.evosion-auto-blog .evosion-autoblog-content details[open] > summary > .evosion-faq-chevron{transform:rotate(180deg)}
/* === END AUTO-BLOG SIDEBAR === */

/* ─── Video frames: decorative corner brackets removed ───
   The teal L-shaped accents sat outside the top-left / bottom-right of every video embed. Removed
   sitewide; the drop shadow alone now frames them. Done as one override so the original
   per-section rules stay intact and this is revertable in a single place. */
.participant-differ .participant-differ-video::before,
.participant-differ .participant-differ-video::after,
.participant-perspective .participant-perspective-video::before,
.participant-perspective .participant-perspective-video::after,
.participant-flagship .participant-flagship-video::before,
.participant-flagship .participant-flagship-video::after,
.inv-video-frame::before,
.inv-video-frame::after{content:none}

/* Decorative teal chevrons removed from the .chev-callout quote box (top-left / bottom-right);
   the drop shadow alone frames it now. Kept as an override so the original rules are revertable. */
.chev-callout::before,
.chev-callout::after{content:none}

/* ─── About us: founders ───
   Full-width alternating rows — Marcus photo-left, Eva photo-right — instead of two stacked cards.
   The reverse variant swaps the grid track widths and the children's order so the bio leads. */
.founder-row{
  display:grid;
  grid-template-columns:minmax(0,340px) minmax(0,1fr);
  gap:3rem;align-items:start;
  max-width:1100px;margin:0 auto;
}
.founder-row + .founder-row{
  margin-top:3.5rem;padding-top:3.5rem;
  border-top:1px solid rgba(7,186,181,.35);
}
.founder-row--reverse{grid-template-columns:minmax(0,1fr) minmax(0,340px)}
.founder-row--reverse .founder-photo{order:2}
.founder-row--reverse .founder-bio{order:1}
.founder-photo img{
  width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 18%;
  display:block;border-radius:6px;
}
.founder-bio h3{margin:0 0 .35rem}
.founder-bio .founder-role{
  margin:0 0 1.25rem;color:var(--accent);
  font-family:"Work Sans",Arial,sans-serif;font-weight:500;
  font-size:.8125rem;text-transform:uppercase;letter-spacing:.14em;
}
.founder-bio p{margin:0 0 1em;line-height:1.7}
.founder-bio p:last-child{margin-bottom:0}
@media (max-width:767px){
  .founder-row,
  .founder-row--reverse{grid-template-columns:1fr;gap:1.5rem}
  .founder-row--reverse .founder-photo,
  .founder-row--reverse .founder-bio{order:0}
  .founder-photo img{max-width:320px;margin:0 auto}
  .founder-row + .founder-row{margin-top:2.5rem;padding-top:2.5rem}
}

/* Inline story link inside the CSR pillars. */
.about-csr-link{
  display:inline-block;margin-top:.25rem;
  font-family:"Work Sans",Arial,sans-serif;font-weight:500;
  font-size:.9375rem;color:var(--accent);
  text-decoration:underline;text-underline-offset:3px;
}
.about-csr-link:hover{color:var(--accent-hover)}

/* ─── FluentForm buttons: square, sitewide ───
   FluentForm 6.x ships `.ff-default .ff_btn_style{border-radius:7px;font-weight:500}` (0,2,0) and
   loads after main.css, so it beat the theme's own rule on source order. Three classes here
   (0,3,0) so every form button matches the theme's square Montserrat 600 buttons — previously
   only the footer newsletter was corrected. */
.fluentform .ff-btn.ff_btn_style,
.fluentform .ff-btn-submit.ff_btn_style{
  border-radius:0;
  font-family:"Montserrat",Arial,sans-serif;
  font-weight:600;
}

/* Hero sub-heading (register banner) — h1 is already white via .hero h1, but an h3 in the hero
   inherited the dark body colour and was unreadable over the photo. */
.hero .hero-inner h3{color:rgba(255,255,255,.94)}

/* ─── Visible keyboard focus (WCAG 2.4.7) ───
   FluentForm ships `.ff_btn_style:focus{outline:0}` and substitutes only opacity:.8, which is
   imperceptible on the teal button — keyboard users had no indication of where they were. That
   matters more than usual on a disability-sector site. Scoped to :focus-visible so pointer users
   see no change at all. Ring colour is switched per context so it never lands teal-on-teal or
   navy-on-navy. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.btn:focus-visible,
.fluentform .ff-btn:focus-visible,
.fluentform .ff-btn.ff_btn_style:focus-visible{
  outline:3px solid var(--accent);
  outline-offset:3px;
}
/* Teal-filled controls: an accent ring would vanish, so use navy. */
.btn-primary:focus-visible,
.btn-cta:focus-visible,
.testimonial-nav:focus-visible,
.sda-register-form .btn:focus-visible,
.fluentform .ff-btn.ff_btn_style:focus-visible{
  outline:3px solid var(--dark);
  outline-offset:3px;
}
/* Navy surfaces: navy ring would vanish, so use white. */
.site-header a:focus-visible,
.site-header button:focus-visible,
.section-dark a:focus-visible,
.section-dark .btn:focus-visible,
.inv-feature-dark a:focus-visible,
.site-footer a:focus-visible,
.site-footer button:focus-visible{
  outline:3px solid #fff;
  outline-offset:3px;
}

/* Centred hero variant (register page). Deliberately NOT the body.hero--center block above —
   that one is orphaned (no template sets the body class) and also recolours the h1 teal, which
   would lose contrast against the banner photo. Here the h1 stays white. */
.hero--centered .hero-inner{text-align:center}
.hero--centered .hero-inner h1,
.hero--centered .hero-inner h3,
.hero--centered .hero-inner p{margin-left:auto;margin-right:auto}

/* ─── Investors: seed project renders ───
   Three-up architectural render galleries (HESTIA / The GRACES), mirroring sdaboots.com/investors.
   Square corners to match the rest of the site. */
.inv-renders{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(1rem,1.6vw,1.75rem);
  max-width:1280px;margin:0 auto;
}
.inv-render{
  width:100%;height:auto;display:block;
  border-radius:0;
  box-shadow:0 24px 50px -34px rgba(0,9,54,.30);
}
.inv-project-location{
  margin:-.35rem 0 .9rem;
  font-family:"Work Sans",Arial,sans-serif;font-weight:500;
  font-size:.8125rem;text-transform:uppercase;letter-spacing:.16em;
  color:var(--accent);
}
@media (max-width:900px){
  .inv-renders{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:600px){
  .inv-renders{grid-template-columns:1fr}
}

/* Virtual walkthrough card — same interaction language as the participants 3D tour. */
.inv-walkthrough{max-width:980px;margin:3rem auto 0;text-align:center}
.inv-walkthrough h3{margin:0 0 1.25rem}
.inv-walkthrough-link{
  position:relative;display:block;
  text-decoration:none;color:inherit;cursor:pointer;
  overflow:hidden;border-radius:0;
  box-shadow:0 24px 50px -32px rgba(0,9,54,.28);
  transition:transform var(--ease),box-shadow var(--ease);
}
.inv-walkthrough-link:hover{transform:translateY(-3px);box-shadow:0 32px 60px -32px rgba(0,9,54,.38)}
.inv-walkthrough-img{width:100%;height:auto;display:block;transition:transform .5s ease}
.inv-walkthrough-link:hover .inv-walkthrough-img{transform:scale(1.02)}
.inv-walkthrough-cta{
  position:absolute;left:50%;bottom:1.5rem;transform:translateX(-50%);
  display:inline-flex;align-items:center;gap:.6rem;
  background:var(--accent);color:#fff;
  font-family:"Montserrat",Arial,sans-serif;font-weight:600;
  font-size:.875rem;text-transform:uppercase;letter-spacing:.04em;
  padding:.95em 1.75em;
}
.inv-walkthrough-link:hover .inv-walkthrough-cta{background:var(--accent-hover)}

/* Two-testimonial carousels: the slide is already half the track, but the inner column was still
   capped at 300px, leaving the pair looking cramped. Let the copy use the space it has. */
.testimonial-carousel--cols-2 .testimonial-content{max-width:460px;width:92%}
@media (max-width:1023px){
  .testimonial-carousel--cols-2 .testimonial-content{max-width:none;width:80%}
}

/* ─── Seed projects: shared copy ───
   The descriptive copy applies to BOTH developments, so the cards carry only the render, name and
   location, and the prose sits once beneath the pair. Tighter card padding since the body is now
   just a label, and the shared block picks up the same teal rule the cards use. */
.inv-project .inv-project-body--label{
  padding:1.5rem 2rem 1.75rem;
}
.inv-project .inv-project-body--label .inv-project-location{margin-bottom:0}
.inv-projects-shared{
  max-width:1280px;margin:2.5rem auto 0;
  padding:2.25rem 2rem;
  background:#fff;
  border-left:3px solid var(--accent);
  box-shadow:0 18px 40px -34px rgba(0,9,54,.20);
}
.inv-projects-shared h3{
  font-family:"Montserrat",Arial,sans-serif;font-weight:600;
  font-size:1.125rem;line-height:1.35;color:var(--dark);
  margin:0 0 .75rem;
}
.inv-projects-shared h3 + p{margin-top:0}
.inv-projects-shared p{
  font-size:1.0625rem;line-height:1.75;color:var(--dark);margin:0 0 1.1em;
}
.inv-projects-shared p:last-child{margin-bottom:0}
.inv-projects-shared > h3:not(:first-child){margin-top:2rem}
@media (max-width:639px){
  .inv-projects-shared{padding:1.75rem 1.5rem;margin-top:2rem}
}
