/*
  Izenga Pages — public site styles (shared by every tenant site and the portal).
  Ported from the original static css/styles.css. Every rule is scoped under
  .iz-site (the public page root) so it never leaks into the Vaadin admin.
  Theme switching uses [data-theme="dark"] on <html>; colors are the variables on :root below.
  Shape rule: interactive elements (buttons, inputs, icon buttons) are full-pill;
  photography and layout blocks are square-cornered.
*/


/* Geist, served from this site (SIL Open Font License, see assets/fonts/Geist-OFL.txt). One variable-weight file per
   script; browsers download latin-ext only when a page uses those characters. */
@font-face{
  font-family:'Geist';font-style:normal;font-display:swap;font-weight:100 900;
  src:url(assets/fonts/geist-latin-wght-normal.woff2) format('woff2-variations'),
      url(assets/fonts/geist-latin-wght-normal.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Geist';font-style:normal;font-display:swap;font-weight:100 900;
  src:url(assets/fonts/geist-latin-ext-wght-normal.woff2) format('woff2-variations'),
      url(assets/fonts/geist-latin-ext-wght-normal.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* Icons are inline SVG (Phosphor, MIT): <span class="ph ph-name"><svg…></span>. Sized by font-size, coloured by
   the text colour, like the icon font they replace. Not scoped, so the admin uses them too. */
.ph{display:inline-block;width:1em;height:1em;flex-shrink:0;vertical-align:-0.125em;line-height:1;}
.ph svg{display:block;width:100%;height:100%;}

/*
  Color palette. Each site can override these per mode in its admin (Color palette); the
  overrides are written into the page as :root / :root[data-theme="dark"] rules after this file.
*/
:root{
  --primary-color:#c2410c;          /* buttons, links, highlights */
  --primary-hover-color:#9a3412;    /* buttons and links on hover */
  --on-primary-color:#ffffff;       /* text on primary buttons */
  --background-color:#fafafa;       /* page background */
  --surface-color:#f2f2f3;          /* alternate section background, cards */
  --text-color:#18181b;             /* headings and body text */
  --muted-text-color:#52525b;       /* secondary text */
  --border-color:#e4e4e7;           /* lines and outlines */
  --error-color:#b91c1c;            /* form errors */
  --nav-background-color:color-mix(in srgb, var(--background-color) 82%, transparent);

  --font:'Geist', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
  --max:1200px;
  --gutter:clamp(1rem, 4vw, 2.5rem);
  --section:clamp(5rem, 10vw, 8.5rem);
  --nav-h:64px;
  --ease:cubic-bezier(0.16, 1, 0.3, 1);
}

:root[data-theme="dark"]{
  --primary-color:#f97316;
  --primary-hover-color:#fb923c;
  --on-primary-color:#0f0f11;
  --background-color:#0f0f11;
  --surface-color:#17171a;
  --text-color:#f4f4f5;
  --muted-text-color:#a1a1aa;
  --border-color:#27272a;
  --error-color:#f87171;
}

.iz-site *,.iz-site *::before,.iz-site *::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;scroll-padding-top:64px;-webkit-text-size-adjust:100%;}
/* The page holding a site: no browser margin (8px by default) framing it, and its background when scrolled past an edge. */
body:has(> .iz-site){margin:0;background:var(--background-color);}
.iz-site{
  background:var(--background-color);
  color:var(--text-color);
  font-family:var(--font);
  font-size:1rem;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;
  min-height:100vh;
}
.iz-site img{display:block;max-width:100%;height:auto;}

/* Photo frames. The frame has the shape (aspect-ratio) and a placeholder color while the photo loads; the photo
   fills it with object-fit: cover (Tailwind's object-cover), cropping whatever doesn't fit. A photo of any shape,
   tall or wide, a broken link or one still loading keeps the same box, so the layout never moves or breaks. */
.iz-site .media-frame{position:relative;overflow:hidden;margin:0;background:var(--surface-color);}
.iz-site .media-frame > img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;}
.iz-site a{color:inherit;text-decoration:none;}
.iz-site button,.iz-site input{font:inherit;color:inherit;}
.iz-site ul,.iz-site ol{list-style:none;}
.iz-site h1,.iz-site h2,.iz-site h3{color:inherit;font-weight:600;letter-spacing:-0.025em;line-height:1.1;}
.iz-site ::selection{background:var(--primary-color);color:var(--on-primary-color);}
.iz-site :focus-visible{outline:2px solid var(--primary-color);outline-offset:3px;}

.iz-site .wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter);}
.iz-site section{padding:var(--section) 0;}

.iz-site .eyebrow{
  font-size:0.8125rem;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--primary-color);margin-bottom:1.25rem;
}
.iz-site .section-title{font-size:clamp(1.875rem, 3.6vw, 2.75rem);max-width:18ch;margin-bottom:clamp(2.5rem, 5vw, 4rem);}
.iz-site .accent{color:var(--primary-color);}


/* ---------- buttons & links ---------- */
.iz-site .btn{
  display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;
  height:48px;padding:0 1.5rem;border-radius:999px;
  font-size:0.9375rem;font-weight:500;white-space:nowrap;
  border:1px solid transparent;cursor:pointer;
  transition:background-color .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease), transform .2s var(--ease);
}
.iz-site .btn:active{transform:scale(0.98);}
.iz-site .btn .ph{font-size:1.125rem;}
.iz-site .btn-sm{height:38px;padding:0 1.1rem;font-size:0.875rem;}
.iz-site .btn-primary{background:var(--primary-color);color:var(--on-primary-color);}
.iz-site .btn-primary:hover{background:var(--primary-hover-color);}
.iz-site .btn-ghost{border-color:var(--border-color);color:var(--text-color);}
.iz-site .btn-ghost:hover{border-color:var(--text-color);}

.iz-site .text-link{
  display:inline-flex;align-items:center;gap:0.4rem;
  font-weight:500;color:var(--text-color);
  border-bottom:1px solid var(--border-color);padding-bottom:2px;
  transition:border-color .2s var(--ease), color .2s var(--ease);
}
.iz-site .text-link .ph{transition:transform .2s var(--ease);}
.iz-site .text-link:hover{color:var(--primary-color);border-color:var(--primary-color);}
.iz-site .text-link:hover .ph{transform:translateX(3px);}

.iz-site .icon-btn{
  width:38px;height:38px;border-radius:999px;border:1px solid var(--border-color);
  background:transparent;display:inline-flex;align-items:center;justify-content:center;
  color:var(--muted-text-color);cursor:pointer;font-size:1.05rem;flex-shrink:0;
  transition:color .2s var(--ease), border-color .2s var(--ease);
}
.iz-site .icon-btn:hover{color:var(--text-color);border-color:var(--muted-text-color);}
.iz-site .icon-moon{display:none;}
[data-theme="dark"] .iz-site .icon-sun{display:none;}
[data-theme="dark"] .iz-site .icon-moon{display:inline-block;}
.iz-site .icon-close{display:none;}
.iz-site .nav.is-open .icon-close{display:inline-block;}
.iz-site .nav.is-open .icon-menu{display:none;}


/* ---------- nav ---------- */
.iz-site .nav{
  position:sticky;top:0;z-index:50;
  background:var(--nav-background-color);
  backdrop-filter:saturate(160%) blur(12px);
  -webkit-backdrop-filter:saturate(160%) blur(12px);
  border-bottom:1px solid var(--border-color);
}
.iz-site .nav-inner{
  max-width:var(--max);margin:0 auto;padding:0 var(--gutter);
  height:var(--nav-h);display:flex;align-items:center;gap:2rem;
}
.iz-site .brand{display:flex;align-items:center;gap:0.7rem;font-weight:600;font-size:0.9375rem;letter-spacing:-0.01em;white-space:nowrap;}
/* Logos keep their own shape (object-fit: contain) inside a fixed height and a maximum width, so a very wide or
   very tall logo can't push the menu around. */
.iz-site .brand img{height:28px;width:auto;max-width:min(10rem, 40vw);object-fit:contain;object-position:left center;}
.iz-site .nav-links{display:flex;gap:1.75rem;margin-left:auto;}
.iz-site .nav-links a{font-size:0.9rem;color:var(--muted-text-color);transition:color .2s var(--ease);}
.iz-site .nav-links a:hover{color:var(--text-color);}
.iz-site .nav-actions{display:flex;align-items:center;gap:0.6rem;}
.iz-site .menu-btn{display:none;}

@media (max-width:900px){
  .iz-site .nav-inner{gap:1rem;}
  .iz-site .nav-actions{margin-left:auto;}
  .iz-site .menu-btn{display:inline-flex;}
  .iz-site .nav-links{
    display:none;position:absolute;top:var(--nav-h);left:0;right:0;
    flex-direction:column;gap:0;margin:0;
    padding:0.5rem var(--gutter) 1.25rem;
    background:var(--background-color);border-bottom:1px solid var(--border-color);
  }
  .iz-site .nav.is-open .nav-links{display:flex;}
  .iz-site .nav-links a{padding:0.85rem 0;font-size:1.0625rem;color:var(--text-color);border-bottom:1px solid var(--border-color);}
  .iz-site .nav-links a:last-child{border-bottom:0;}
}
@media (max-width:520px){
  .iz-site .brand span{display:none;}
}


/* ---------- hero ---------- */
.iz-site .hero{padding:clamp(2.5rem, 5vw, 4rem) 0 clamp(3rem, 6vw, 5rem);}
.iz-site .hero-grid{
  display:grid;grid-template-columns:1.25fr 0.75fr;gap:clamp(2rem, 6vw, 6rem);
  align-items:center;min-height:calc(100dvh - var(--nav-h) - 8rem);
}
.iz-site .hero h1{font-size:clamp(2.5rem, 5vw, 4rem);letter-spacing:-0.04em;line-height:1.04;text-wrap:balance;}
.iz-site .hero .lede{font-size:clamp(1.0625rem, 1.4vw, 1.1875rem);color:var(--muted-text-color);max-width:40ch;margin:1.75rem 0 2.25rem;}
.iz-site .cta-row{display:flex;flex-wrap:wrap;gap:0.75rem;}
.iz-site .hero-media{
  aspect-ratio:4/5;
  max-height:calc(100dvh - var(--nav-h) - 6rem);
}
.iz-site .hero-media > img{object-position:50% 25%;}

@media (max-width:860px){
  .iz-site .hero-grid{grid-template-columns:1fr;min-height:0;gap:2.5rem;}
  .iz-site .hero-media{aspect-ratio:4/3;max-height:none;}
  .iz-site .hero-media > img{object-position:50% 30%;}
}


/* ---------- welcome ---------- */
.iz-site .welcome{border-top:1px solid var(--border-color);padding:clamp(3.5rem, 7vw, 5.5rem) 0;}
.iz-site .welcome-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem, 6vw, 6rem);}
.iz-site .welcome-item h2{font-size:1.5rem;margin-bottom:0.9rem;}
.iz-site .welcome-item p{color:var(--muted-text-color);max-width:46ch;margin-bottom:1.5rem;}
@media (max-width:760px){ .iz-site .welcome-grid{grid-template-columns:1fr;} }


/* ---------- calling ---------- */
.iz-site .calling{background:var(--surface-color);}
.iz-site .statement{
  font-size:clamp(1.875rem, 4.2vw, 3.5rem);font-weight:500;
  letter-spacing:-0.035em;line-height:1.1;max-width:22ch;
}
.iz-site .calling-body{max-width:62ch;margin-top:2.5rem;color:var(--muted-text-color);font-size:1.0625rem;}
.iz-site .calling-body p + p{margin-top:1rem;}
.iz-site .flames{display:flex;flex-wrap:wrap;gap:0.75rem;margin-top:1.5rem;}
.iz-site .flames li{
  font-weight:500;font-size:0.9375rem;
  padding:0.6rem 1.1rem;border:1px solid var(--border-color);border-radius:999px;background:var(--background-color);
}
.iz-site .flames li span{color:var(--muted-text-color);font-weight:400;margin-left:0.35rem;}

.iz-site .anchors{
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem, 5vw, 5rem);
  margin-top:clamp(4rem, 8vw, 6rem);padding-top:clamp(2.5rem, 5vw, 3.5rem);
  border-top:1px solid var(--border-color);
}
.iz-site .anchor{margin:0;}
.iz-site .anchor blockquote{font-size:clamp(1.25rem, 2vw, 1.5rem);font-weight:500;letter-spacing:-0.02em;line-height:1.3;}
.iz-site .anchor figcaption{font-size:0.875rem;font-weight:500;color:var(--primary-color);margin-top:1rem;}
.iz-site .anchor p{color:var(--muted-text-color);font-size:0.9375rem;margin-top:0.75rem;max-width:48ch;}
@media (max-width:760px){ .iz-site .anchors{grid-template-columns:1fr;} }


/* ---------- leadership ---------- */
/* Photo on one side spanning the height; heading and story on the other, at the bottom. The heading comes first in
   the markup so it reads before the photo wherever they stack. */
.iz-site .leader-grid{
  display:grid;grid-template-columns:0.8fr 1.2fr;grid-template-rows:1fr auto auto;
  grid-template-areas:"media ." "media heading" "media copy";
  column-gap:clamp(2.5rem, 7vw, 7rem);align-items:end;
}
.iz-site .leader-grid:not(:has(.leader-media)){grid-template-columns:minmax(0, 1fr);grid-template-rows:auto;grid-template-areas:"heading" "copy";}
.iz-site .leader-heading{grid-area:heading;font-size:clamp(1.875rem, 3.6vw, 2.75rem);margin-bottom:2.5rem;}
.iz-site .leader-media{grid-area:media;aspect-ratio:4/5;}
.iz-site .leader-media > img{object-position:50% 15%;}
.iz-site .leader-copy{grid-area:copy;}
.iz-site .leader-copy h3{font-size:1.25rem;letter-spacing:-0.015em;}
.iz-site .leader-copy .role{color:var(--primary-color);font-size:0.9375rem;font-weight:500;margin:0.3rem 0 1.25rem;}
.iz-site .leader-copy > p{color:var(--muted-text-color);max-width:54ch;}
.iz-site .facts{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;
  margin-top:2.5rem;padding-top:1.75rem;border-top:1px solid var(--border-color);
}
.iz-site .facts dt{font-size:0.8125rem;color:var(--muted-text-color);}
.iz-site .facts dd{font-size:1.75rem;font-weight:500;letter-spacing:-0.03em;margin-top:0.25rem;}
.iz-site .affiliations{margin-top:2rem;font-size:0.9375rem;color:var(--muted-text-color);}
.iz-site .affiliations span{display:block;font-size:0.8125rem;color:var(--text-color);font-weight:500;margin-bottom:0.35rem;}
@media (max-width:860px){
  /* Stacked: heading, then photo, then story. */
  .iz-site .leader-grid{grid-template-columns:minmax(0, 1fr);grid-template-rows:auto;grid-template-areas:"heading" "media" "copy";row-gap:2.5rem;}
  .iz-site .leader-heading{margin-bottom:0;}
  .iz-site .leader-media{max-width:420px;}
}
@media (max-width:480px){ .iz-site .facts{grid-template-columns:1fr 1fr;} }


/* ---------- mission ---------- */
.iz-site .mission{border-top:1px solid var(--border-color);}
.iz-site .mission-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(2.5rem, 6vw, 6rem);row-gap:3rem;}
.iz-site .mission-grid article{padding-top:1.5rem;border-top:1px solid var(--border-color);}
.iz-site .mission-grid h3{font-size:1.25rem;letter-spacing:-0.015em;margin-bottom:0.75rem;max-width:26ch;}
.iz-site .mission-grid p{color:var(--muted-text-color);max-width:48ch;}
@media (max-width:700px){ .iz-site .mission-grid{grid-template-columns:1fr;row-gap:2rem;} }


/* ---------- gallery ---------- */
.iz-site .gallery{padding-top:0;}
.iz-site .gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(0.75rem, 1.5vw, 1.25rem);align-items:start;}
.iz-site .gallery-item{aspect-ratio:3/4;}
.iz-site .gallery-item > img{object-position:50% 20%;}
.iz-site .gallery-grid .gallery-item:nth-child(even){margin-top:clamp(2rem, 5vw, 4rem);}
@media (max-width:900px){
  .iz-site .gallery-grid{grid-template-columns:1fr 1fr;}
}


/* ---------- gatherings ---------- */
.iz-site .gatherings{background:var(--surface-color);}
.iz-site .schedule li{
  display:grid;grid-template-columns:10rem 1fr 16rem;gap:2rem;align-items:baseline;
  padding:2rem 0;border-top:1px solid var(--border-color);
}
.iz-site .schedule li:last-child{border-bottom:1px solid var(--border-color);}
.iz-site .schedule .time{font-size:1.5rem;font-weight:500;letter-spacing:-0.03em;color:var(--primary-color);}
.iz-site .schedule h3{font-size:1.25rem;letter-spacing:-0.015em;margin-bottom:0.35rem;}
.iz-site .schedule p{color:var(--muted-text-color);}
.iz-site .schedule .meta{display:flex;flex-direction:column;gap:0.2rem;font-size:0.9375rem;color:var(--muted-text-color);text-align:right;}
@media (max-width:820px){
  .iz-site .schedule li{grid-template-columns:1fr;gap:0.6rem;}
  .iz-site .schedule .meta{text-align:left;flex-direction:row;flex-wrap:wrap;gap:0 1.25rem;}
}


/* ---------- resources + newsletter ---------- */
.iz-site .resources-grid{display:grid;grid-template-columns:1.2fr 0.8fr;gap:clamp(3rem, 7vw, 7rem);align-items:start;}
.iz-site .resource-list li a{
  display:grid;grid-template-columns:auto 1fr auto;gap:1.25rem;align-items:start;
  padding:1.5rem 0;border-top:1px solid var(--border-color);
  transition:color .2s var(--ease);
}
.iz-site .resource-list li:last-child a{border-bottom:1px solid var(--border-color);}
.iz-site .resource-list .ph{font-size:1.375rem;color:var(--muted-text-color);margin-top:0.1rem;transition:color .2s var(--ease), transform .2s var(--ease);}
.iz-site .resource-list strong{display:block;font-weight:600;font-size:1.0625rem;margin-bottom:0.2rem;}
.iz-site .resource-list span{color:var(--muted-text-color);}
.iz-site .resource-list a:hover strong,.iz-site .resource-list a:hover .ph{color:var(--primary-color);}
.iz-site .resource-list a:hover .ph-arrow-up-right{transform:translate(2px,-2px);}

.iz-site .newsletter{padding:2rem;border:1px solid var(--border-color);background:var(--surface-color);}
.iz-site .newsletter h3{font-size:1.25rem;letter-spacing:-0.015em;}
.iz-site .newsletter > p{color:var(--muted-text-color);margin:0.6rem 0 1.75rem;font-size:0.9375rem;}
.iz-site .newsletter-form label{display:block;font-size:0.875rem;font-weight:500;margin-bottom:0.5rem;}
.iz-site .field-row{display:flex;gap:0.5rem;flex-wrap:wrap;}
.iz-site .field-row input{
  flex:1;min-width:0;height:48px;padding:0 1.25rem;border-radius:999px;
  border:1px solid var(--border-color);background:var(--background-color);color:var(--text-color);
  transition:border-color .2s var(--ease);
}
.iz-site .field-row input::placeholder{color:var(--muted-text-color);}
.iz-site .field-row input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary-color) 22%, transparent);}
.iz-site .form-status{font-size:0.875rem;color:var(--muted-text-color);margin-top:0.75rem;min-height:1.4em;}
.iz-site .has-error input{border-color:var(--error-color);}
.iz-site .has-error .form-status{color:var(--error-color);}
@media (max-width:900px){ .iz-site .resources-grid{grid-template-columns:1fr;} }
@media (max-width:420px){ .iz-site .field-row .btn{width:100%;} .iz-site .field-row input{flex-basis:100%;} }


/* ---------- closing ---------- */
.iz-site .why{border-top:1px solid var(--border-color);text-align:center;}
.iz-site .why .wrap{max-width:820px;}
.iz-site .why blockquote{font-size:clamp(2.25rem, 5.5vw, 4.25rem);font-weight:500;letter-spacing:-0.04em;line-height:1.05;}
.iz-site .why .ref{font-size:0.875rem;font-weight:500;color:var(--primary-color);margin-top:1.25rem;}
.iz-site .why .body{color:var(--muted-text-color);max-width:56ch;margin:1.75rem auto 2.5rem;}


/* ---------- connect ---------- */
.iz-site .connect{background:var(--surface-color);}
.iz-site .contact-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:clamp(2rem, 5vw, 4rem);margin-bottom:3rem;}
.iz-site .contact-grid > div{padding-top:1.5rem;border-top:1px solid var(--border-color);}
.iz-site .contact-grid dt{font-size:0.875rem;color:var(--muted-text-color);margin-bottom:0.75rem;}
.iz-site .contact-value{font-size:1.25rem;font-weight:500;letter-spacing:-0.02em;transition:color .2s var(--ease);}
.iz-site .contact-value:hover{color:var(--primary-color);}
.iz-site .contact-value.muted{color:var(--muted-text-color);font-size:1.0625rem;}
.iz-site .contact-value.break{font-size:1.0625rem;overflow-wrap:anywhere;}
.iz-site .contact-grid .note{color:var(--muted-text-color);font-size:0.9375rem;margin-top:0.75rem;}
@media (max-width:860px){ .iz-site .contact-grid{grid-template-columns:1fr;} }


/* ---------- footer ---------- */
.iz-site .footer{border-top:1px solid var(--border-color);padding:2.5rem 0;}
.iz-site .footer-inner{display:grid;grid-template-columns:1fr auto;gap:1.5rem 2rem;align-items:center;}
.iz-site .footer-brand{display:flex;align-items:center;gap:0.8rem;}
.iz-site .footer-brand img{height:28px;width:auto;max-width:10rem;object-fit:contain;object-position:left center;}
.iz-site .footer-brand strong{display:block;font-weight:600;font-size:0.9375rem;}
.iz-site .footer-brand span{font-size:0.875rem;color:var(--muted-text-color);}
.iz-site .social{display:flex;gap:0.5rem;}
.iz-site .social a{
  width:40px;height:40px;border-radius:999px;border:1px solid var(--border-color);
  display:inline-flex;align-items:center;justify-content:center;font-size:1.125rem;
  color:var(--muted-text-color);transition:color .2s var(--ease), border-color .2s var(--ease);
}
.iz-site .social a:hover{color:var(--primary-color);border-color:var(--primary-color);}
.iz-site .copyright{grid-column:1 / -1;font-size:0.8125rem;color:var(--muted-text-color);padding-top:1.5rem;border-top:1px solid var(--border-color);}
@media (max-width:560px){ .iz-site .footer-inner{grid-template-columns:1fr;} }


/* ---------- section layouts ----------
   Each section's chosen design (see SectionLayout) is a modifier class on the section, e.g. .hero--centered.
   The first layout of each section is the default and needs no rules of its own. */

/* nav */
.iz-site .nav--centered .nav-inner{display:grid;grid-template-columns:1fr auto 1fr;}
.iz-site .nav--centered .brand{grid-column:2;grid-row:1;}
.iz-site .nav--centered .nav-links{grid-column:1;grid-row:1;margin-left:0;}
.iz-site .nav--centered .nav-actions{grid-column:3;grid-row:1;justify-self:end;}
.iz-site .nav--bold{
  --nav-ink:var(--background-color);
  background:var(--text-color);color:var(--nav-ink);border-bottom-color:transparent;
}
.iz-site .nav--bold .nav-links a{color:color-mix(in srgb, var(--nav-ink) 68%, transparent);}
.iz-site .nav--bold .nav-links a:hover{color:var(--nav-ink);}
.iz-site .nav--bold .icon-btn{color:color-mix(in srgb, var(--nav-ink) 75%, transparent);border-color:color-mix(in srgb, var(--nav-ink) 25%, transparent);}
.iz-site .nav--bold .icon-btn:hover{color:var(--nav-ink);border-color:var(--nav-ink);}
@media (max-width:900px){
  .iz-site .nav--centered .nav-inner{display:flex;}
  .iz-site .nav--bold .nav-links{background:var(--text-color);border-bottom-color:transparent;}
  .iz-site .nav--bold .nav-links a{color:var(--nav-ink);border-bottom-color:color-mix(in srgb, var(--nav-ink) 15%, transparent);}
}

/* hero */
.iz-site .hero-grid:not(:has(.hero-media)){grid-template-columns:minmax(0, 52rem);min-height:0;padding-block:clamp(2rem, 6vw, 5rem);}
.iz-site .hero--mirrored .hero-grid:has(.hero-media){grid-template-columns:0.75fr 1.25fr;}
.iz-site .hero--mirrored .hero-media{order:-1;}
.iz-site .hero--centered .hero-grid{grid-template-columns:1fr;justify-items:center;text-align:center;min-height:0;gap:clamp(2.5rem, 5vw, 4rem);}
.iz-site .hero--centered .hero-grid:not(:has(.hero-media)){grid-template-columns:1fr;}
.iz-site .hero--centered .hero-copy{max-width:52rem;padding-top:clamp(1.5rem, 4vw, 3rem);}
.iz-site .hero--centered .lede{margin-inline:auto;}
.iz-site .hero--centered .cta-row{justify-content:center;}
.iz-site .hero--centered .hero-media{width:100%;}
.iz-site .hero--centered .hero-media{aspect-ratio:21/9;max-height:none;}
.iz-site .hero--centered .hero-media > img{object-position:50% 35%;}
.iz-site .hero--overlay{position:relative;isolation:isolate;padding:0;background:var(--surface-color);}
.iz-site .hero--overlay .hero-grid{grid-template-columns:minmax(0, 46rem);min-height:calc(100dvh - var(--nav-h));padding-block:clamp(4rem, 10vw, 8rem);align-content:end;}
.iz-site .hero--overlay .hero-media{position:absolute;inset:0;z-index:-1;aspect-ratio:auto;max-height:none;}
.iz-site .hero--overlay .hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(to top, rgb(0 0 0 / 0.72), rgb(0 0 0 / 0.15) 70%);}
.iz-site .hero--overlay:has(.hero-media) .hero-copy{color:#fff;}
.iz-site .hero--overlay:has(.hero-media) .lede{color:rgb(255 255 255 / 0.82);}
.iz-site .hero--overlay:has(.hero-media) .btn-ghost{color:#fff;border-color:rgb(255 255 255 / 0.45);}
.iz-site .hero--overlay:has(.hero-media) .btn-ghost:hover{border-color:#fff;}
.iz-site .hero--overlay .hero-grid:not(:has(.hero-media)){min-height:0;align-content:center;}
@media (max-width:860px){
  .iz-site .hero--mirrored .hero-grid:has(.hero-media){grid-template-columns:1fr;}
  .iz-site .hero--centered .hero-media{aspect-ratio:4/3;}
  .iz-site .hero--overlay .hero-grid{min-height:80dvh;}
}

/* welcome */
.iz-site .welcome--cards{border-top:0;}
.iz-site .welcome--cards .welcome-grid{gap:clamp(1rem, 2.5vw, 1.5rem);}
.iz-site .welcome--cards .welcome-item{background:var(--surface-color);border:1px solid var(--border-color);padding:clamp(1.75rem, 3.5vw, 2.75rem);}
.iz-site .welcome--stacked .welcome-grid{grid-template-columns:1fr;max-width:46rem;margin-inline:auto;text-align:center;gap:0;}
.iz-site .welcome--stacked .welcome-item{padding:clamp(2rem, 4vw, 3rem) 0;}
.iz-site .welcome--stacked .welcome-item + .welcome-item{border-top:1px solid var(--border-color);}
.iz-site .welcome--stacked .welcome-item h2{font-size:clamp(1.5rem, 2.6vw, 2rem);}
.iz-site .welcome--stacked .welcome-item p{margin-inline:auto;}

/* calling */
.iz-site .calling--centered .wrap{text-align:center;}
.iz-site .calling--centered .statement,.iz-site .calling--centered .calling-body{margin-inline:auto;}
.iz-site .calling--centered .flames{justify-content:center;}
.iz-site .calling--centered .anchor p{margin-inline:auto;}

/* leadership */
.iz-site .leader--photo-right .leader-grid{grid-template-columns:1.2fr 0.8fr;grid-template-areas:". media" "heading media" "copy media";}
.iz-site .leader--profile .leader-grid{
  grid-template-columns:minmax(0, 1fr);grid-template-rows:auto;grid-template-areas:"heading" "media" "copy";
  justify-items:center;text-align:center;row-gap:2.5rem;
}
.iz-site .leader--profile .leader-heading{margin-bottom:0;}
.iz-site .leader--profile .leader-media{width:min(18rem, 70vw);}
.iz-site .leader--profile .leader-media{aspect-ratio:1/1;}
.iz-site .leader--profile .leader-copy{max-width:44rem;}
.iz-site .leader--profile .leader-copy > p{margin-inline:auto;}
.iz-site .leader--profile .facts{grid-template-columns:repeat(auto-fit, minmax(8rem, 1fr));}
.iz-site .leader--profile .leader-grid:not(:has(.leader-media)){grid-template-areas:"heading" "copy";}
@media (max-width:860px){
  /* Photo right stacks like the others: heading, photo, story. */
  .iz-site .leader--photo-right .leader-grid{grid-template-columns:minmax(0, 1fr);grid-template-areas:"heading" "media" "copy";}
}

/* missions */
.iz-site .mission--cards .mission-grid{grid-template-columns:repeat(3, 1fr);gap:clamp(1rem, 2vw, 1.5rem);}
.iz-site .mission--cards .mission-grid article{border:1px solid var(--border-color);background:var(--surface-color);padding:clamp(1.5rem, 3vw, 2.25rem);}
.iz-site .mission--numbered .mission-grid{grid-template-columns:1fr;row-gap:0;counter-reset:mission;}
.iz-site .mission--numbered .mission-grid article{
  display:grid;grid-template-columns:5rem minmax(0, 1fr) minmax(0, 1.3fr);gap:2rem;align-items:baseline;
  padding:2rem 0;counter-increment:mission;
}
.iz-site .mission--numbered .mission-grid article:last-child{border-bottom:1px solid var(--border-color);}
.iz-site .mission--numbered .mission-grid article::before{
  content:counter(mission, decimal-leading-zero);
  font-size:1.5rem;font-weight:500;letter-spacing:-0.03em;color:var(--primary-color);
}
.iz-site .mission--numbered .mission-grid h3{margin:0;}
@media (max-width:900px){ .iz-site .mission--cards .mission-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:700px){
  .iz-site .mission--cards .mission-grid{grid-template-columns:1fr;}
  .iz-site .mission--numbered .mission-grid article{grid-template-columns:3rem 1fr;gap:0.5rem 1rem;}
  .iz-site .mission--numbered .mission-grid p{grid-column:2;}
}

/* gallery */
.iz-site .gallery--grid .gallery-grid{grid-template-columns:repeat(3, 1fr);}
.iz-site .gallery--grid .gallery-item{aspect-ratio:1/1;}
.iz-site .gallery--grid .gallery-grid .gallery-item:nth-child(even){margin-top:0;}
.iz-site .gallery--mosaic .gallery-grid{grid-auto-rows:clamp(9rem, 17vw, 15rem);align-items:stretch;}
/* Mosaic frames take their shape from the grid rows instead of a fixed ratio. */
.iz-site .gallery--mosaic .gallery-item{aspect-ratio:auto;height:100%;}
.iz-site .gallery--mosaic .gallery-grid .gallery-item:nth-child(even){margin-top:0;}
.iz-site .gallery--mosaic .gallery-grid .gallery-item:first-child{grid-column:span 2;grid-row:span 2;}
/* The last photo stretches to the end of its row, so the mosaic never ends with a hole. */
.iz-site .gallery--mosaic .gallery-grid .gallery-item:last-child:not(:first-child){grid-column-end:-1;}
@media (max-width:900px){ .iz-site .gallery--grid .gallery-grid{grid-template-columns:1fr 1fr;} }

/* gatherings */
.iz-site .gatherings--cards .schedule{display:grid;grid-template-columns:repeat(auto-fit, minmax(16rem, 1fr));gap:clamp(1rem, 2vw, 1.5rem);}
.iz-site .gatherings--cards .schedule li{
  grid-template-columns:1fr;gap:0.75rem;align-content:start;
  padding:clamp(1.5rem, 3vw, 2rem);border:1px solid var(--border-color);background:var(--background-color);
}
.iz-site .gatherings--cards .schedule li:last-child{border-bottom:1px solid var(--border-color);}
.iz-site .gatherings--cards .schedule .meta{text-align:left;padding-top:0.75rem;border-top:1px solid var(--border-color);}

/* resources */
.iz-site .resources--stacked .resources-grid{grid-template-columns:1fr;gap:clamp(3rem, 6vw, 5rem);}
.iz-site .resources--stacked .resource-list{display:grid;grid-template-columns:repeat(auto-fit, minmax(18rem, 1fr));column-gap:clamp(1.5rem, 4vw, 3rem);}
.iz-site .resources--stacked .resource-list li:last-child a{border-bottom:0;}
.iz-site .resources--stacked .newsletter{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(2rem, 5vw, 4rem);align-items:center;padding:clamp(2rem, 4vw, 3rem);}
.iz-site .resources--stacked .newsletter-form{grid-column:2;grid-row:1 / span 2;}
.iz-site .resources--stacked .newsletter > p{margin-bottom:0;}
@media (max-width:760px){
  .iz-site .resources--stacked .newsletter{grid-template-columns:1fr;}
  .iz-site .resources--stacked .newsletter-form{grid-column:auto;grid-row:auto;margin-top:1.5rem;}
}

/* closing */
.iz-site .why--banner{background:var(--primary-color);color:var(--on-primary-color);border-top:0;}
.iz-site .why--banner .ref{color:inherit;opacity:0.8;}
.iz-site .why--banner .body{color:inherit;opacity:0.85;}
.iz-site .why--banner .btn-primary{background:var(--on-primary-color);color:var(--primary-color);}
.iz-site .why--banner .btn-primary:hover{background:color-mix(in srgb, var(--on-primary-color) 88%, var(--primary-color));}

/* contact */
.iz-site .connect--centered .wrap{text-align:center;}
.iz-site .connect--centered .section-title{margin-inline:auto;}
.iz-site .connect--centered .contact-grid{grid-template-columns:repeat(auto-fit, minmax(14rem, 1fr));}
.iz-site .connect--centered .contact-grid > div{border-top:0;padding-top:0;}

/* footer */
.iz-site .footer--centered .footer-inner{grid-template-columns:1fr;justify-items:center;text-align:center;}
.iz-site .footer--centered .footer-brand{flex-direction:column;gap:0.6rem;}
.iz-site .footer--centered .footer-brand img{object-position:center;}
.iz-site .footer--centered .copyright{width:100%;}
.iz-site .footer--minimal{padding:1.5rem 0;}
.iz-site .footer--minimal .footer-brand{display:none;}
.iz-site .footer--minimal .copyright{grid-column:auto;grid-row:1;padding:0;border:0;}
.iz-site .footer--dark{
  --footer-ink:var(--background-color);
  background:var(--text-color);color:var(--footer-ink);border-top:0;
}
.iz-site .footer--dark .footer-brand span,.iz-site .footer--dark .copyright{color:color-mix(in srgb, var(--footer-ink) 65%, transparent);}
.iz-site .footer--dark .copyright{border-top-color:color-mix(in srgb, var(--footer-ink) 15%, transparent);}
.iz-site .footer--dark .social a{color:color-mix(in srgb, var(--footer-ink) 75%, transparent);border-color:color-mix(in srgb, var(--footer-ink) 25%, transparent);}
.iz-site .footer--dark .social a:hover{color:var(--footer-ink);border-color:var(--footer-ink);}

/* ---------- numbers ---------- */
.iz-site .stats{padding:clamp(3rem, 6vw, 4.5rem) 0;border-top:1px solid var(--border-color);}
.iz-site .stats .section-title{margin-bottom:2rem;}
.iz-site .stats-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(10rem, 1fr));}
.iz-site .stat{display:flex;flex-direction:column-reverse;gap:0.35rem;padding:0.5rem clamp(1rem, 3vw, 2rem);text-align:center;}
.iz-site .stat + .stat{border-left:1px solid var(--border-color);}
.iz-site .stat dd{font-size:clamp(2rem, 4vw, 2.75rem);font-weight:600;letter-spacing:-0.03em;line-height:1;color:var(--primary-color);}
.iz-site .stat dt{font-size:0.875rem;color:var(--muted-text-color);}
.iz-site .stats--band{background:var(--primary-color);color:var(--on-primary-color);border-top:0;}
.iz-site .stats--band .stat dd,.iz-site .stats--band .stat dt{color:inherit;}
.iz-site .stats--band .stat dt{opacity:0.85;}
.iz-site .stats--band .stat + .stat{border-left-color:color-mix(in srgb, var(--on-primary-color) 25%, transparent);}
@media (max-width:600px){
  .iz-site .stats-grid{grid-template-columns:1fr 1fr;row-gap:1.5rem;}
  .iz-site .stat + .stat{border-left:0;}
}

/* ---------- testimonials ---------- */
.iz-site .testimonials{background:var(--surface-color);}
.iz-site .testimonial-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(17rem, 1fr));gap:clamp(1rem, 2vw, 1.5rem);}
.iz-site .testimonial{margin:0;padding:clamp(1.5rem, 3vw, 2rem);background:var(--background-color);border:1px solid var(--border-color);display:flex;flex-direction:column;gap:1.25rem;}
.iz-site .testimonial-mark{font-size:1.75rem;color:var(--primary-color);}
.iz-site .testimonial blockquote{font-size:1.0625rem;line-height:1.6;}
.iz-site .testimonial figcaption{display:flex;align-items:center;gap:0.75rem;margin-top:auto;}
.iz-site .testimonial-avatar{flex:none;width:3rem;aspect-ratio:1;border-radius:999px;}
.iz-site .testimonial-who strong{display:block;font-weight:600;}
.iz-site .testimonial-who span{display:block;font-size:0.875rem;color:var(--primary-color);}
.iz-site .testimonial-faces{display:none;}
/* Spotlight: everyone's photo in a cluster beside large, open quotes. */
.iz-site .testimonials--spotlight .testimonials-inner:has(.testimonial-faces){display:grid;grid-template-columns:0.8fr 1.2fr;gap:clamp(2rem, 6vw, 5rem);align-items:center;}
.iz-site .testimonials--spotlight .testimonial-faces{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem 1.5rem;}
.iz-site .testimonial-face{width:clamp(4rem, 9vw, 6.5rem);aspect-ratio:1;border-radius:999px;border:4px solid var(--background-color);box-shadow:0 8px 24px rgb(0 0 0 / 0.08);}
.iz-site .testimonial-face:nth-child(3n+2){width:clamp(5rem, 12vw, 8.5rem);}
.iz-site .testimonial-face:nth-child(even){margin-top:2.5rem;}
.iz-site .testimonials--spotlight .testimonial-grid{grid-template-columns:1fr;}
.iz-site .testimonials--spotlight .testimonial{background:none;border:0;padding:0;}
.iz-site .testimonials--spotlight .testimonial + .testimonial{padding-top:2rem;border-top:1px solid var(--border-color);}
.iz-site .testimonials--spotlight .testimonial blockquote{font-size:clamp(1.125rem, 2vw, 1.375rem);}
.iz-site .testimonials--spotlight .testimonial-avatar{display:none;}
@media (max-width:760px){
  .iz-site .testimonials--spotlight .testimonials-inner:has(.testimonial-faces){grid-template-columns:1fr;}
  .iz-site .testimonial-face:nth-child(even){margin-top:0;}
}

/* ---------- team ---------- */
.iz-site .team-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(14rem, 1fr));gap:clamp(1.5rem, 3vw, 2.5rem);}
.iz-site .team-member{display:flex;flex-direction:column;gap:1rem;}
.iz-site .team-photo{aspect-ratio:4/5;}
.iz-site .team-photo > img{object-position:50% 20%;}
.iz-site .team-text h3{font-size:1.125rem;letter-spacing:-0.015em;}
.iz-site .team-text .role{color:var(--primary-color);font-size:0.875rem;font-weight:500;margin:0.25rem 0 0.75rem;}
.iz-site .team-text p:not(.role){color:var(--muted-text-color);font-size:0.9375rem;}
/* Side by side: photo beside the text, two people per row. */
.iz-site .team--rows .team-grid{grid-template-columns:repeat(auto-fill, minmax(min(100%, 26rem), 1fr));}
.iz-site .team--rows .team-member{display:grid;grid-template-columns:minmax(8rem, 0.8fr) 1.2fr;gap:1.5rem;align-items:start;}
.iz-site .team--rows .team-member:not(:has(.team-photo)){grid-template-columns:1fr;}

/* ---------- questions ---------- */
.iz-site .faq .section-title{margin-inline:auto;text-align:center;}
.iz-site .faq-list{max-width:52rem;margin-inline:auto;border-top:1px solid var(--border-color);}
.iz-site .faq-item{border-bottom:1px solid var(--border-color);}
.iz-site .faq-item summary{
  display:flex;justify-content:space-between;align-items:center;gap:1.5rem;
  padding:1.25rem 0;font-weight:600;font-size:1.0625rem;cursor:pointer;list-style:none;
}
.iz-site .faq-item summary::-webkit-details-marker{display:none;}
.iz-site .faq-toggle{flex:none;color:var(--primary-color);transition:transform .2s var(--ease);}
.iz-site .faq-item[open] .faq-toggle{transform:rotate(45deg);}
.iz-site .faq-answer{padding:0 0 1.5rem;color:var(--muted-text-color);max-width:62ch;}
.iz-site .faq-answer p + p{margin-top:0.75rem;}
/* Two columns: every answer shown, nothing to open. */
.iz-site .faq--columns .faq-list{max-width:none;border-top:0;display:grid;grid-template-columns:repeat(auto-fit, minmax(min(100%, 22rem), 1fr));column-gap:clamp(2rem, 5vw, 4rem);}
.iz-site .faq--columns .faq-item summary{cursor:default;pointer-events:none;}
.iz-site .faq--columns .faq-toggle{display:none;}

/* ---------- new designs of existing sections ---------- */
/* Hero, soft panel: the split hero on the alternate background. */
.iz-site .hero--soft{background:var(--surface-color);}
.iz-site .hero--soft .eyebrow{display:inline-block;padding:0.35rem 0.85rem;border-radius:999px;background:var(--background-color);}
/* Services, banner with cards: heading on a color band, a card (with icon) per service. */
.iz-site .mission-icon{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;margin-bottom:1rem;border-radius:999px;background:color-mix(in srgb, var(--primary-color) 12%, transparent);color:var(--primary-color);font-size:1.375rem;}
.iz-site .mission--banner{border-top:0;padding-block:clamp(2.5rem, 5vw, 4rem);}
.iz-site .mission--banner .wrap{background:var(--primary-color);color:var(--on-primary-color);padding:clamp(2rem, 5vw, 3.5rem);}
.iz-site .mission--banner .section-title{max-width:22ch;}
.iz-site .mission--banner .mission-grid{grid-template-columns:repeat(auto-fit, minmax(13rem, 1fr));gap:clamp(0.75rem, 1.5vw, 1rem);}
.iz-site .mission--banner .mission-grid article{background:var(--background-color);color:var(--text-color);border-top:0;padding:1.75rem 1.25rem;text-align:center;box-shadow:0 10px 30px rgb(0 0 0 / 0.08);}
.iz-site .mission--banner .mission-grid h3{margin-inline:auto;font-size:1.0625rem;}
.iz-site .mission--banner .mission-grid p{margin-inline:auto;font-size:0.9375rem;}
/* Links & newsletter, color band: everything on the primary color. */
.iz-site .resources--band{background:var(--primary-color);color:var(--on-primary-color);}
.iz-site .resources--band .resource-list a,.iz-site .resources--band .resource-list li:last-child a{border-color:color-mix(in srgb, var(--on-primary-color) 25%, transparent);}
.iz-site .resources--band .resource-list span,.iz-site .resources--band .resource-list .ph{color:inherit;opacity:0.85;}
.iz-site .resources--band .newsletter{background:none;border:0;padding:0;}
.iz-site .resources--band .newsletter > p,.iz-site .resources--band .form-status{color:inherit;opacity:0.85;}
.iz-site .resources--band .newsletter-form label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
.iz-site .resources--band .btn-primary{background:var(--on-primary-color);color:var(--primary-color);}
/* Newsletter on its own: heading on the left, the form on the right. */
.iz-site .resources--band .resources-grid:not(:has(.resource-list)){grid-template-columns:1fr;}
.iz-site .resources--band .resources-grid:not(:has(.resource-list)) .newsletter{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(2rem, 5vw, 4rem);align-items:center;}
.iz-site .resources--band .resources-grid:not(:has(.resource-list)) .newsletter h3{font-size:clamp(1.5rem, 3vw, 2.25rem);letter-spacing:-0.025em;}
.iz-site .resources--band .resources-grid:not(:has(.resource-list)) .newsletter > p{margin-bottom:0;}
.iz-site .resources--band .resources-grid:not(:has(.resource-list)) .newsletter-form{grid-column:2;grid-row:1 / span 2;}
@media (max-width:760px){
  .iz-site .resources--band .resources-grid:not(:has(.resource-list)) .newsletter{grid-template-columns:1fr;}
  .iz-site .resources--band .resources-grid:not(:has(.resource-list)) .newsletter-form{grid-column:auto;grid-row:auto;margin-top:1.25rem;}
}


/* ---------- wide photo on color (hero), numbered on color (services), showcase (links) ---------- */
/* Hero: headline on top, a wide photo below whose lower part rests on the primary color, which a following
   "Numbered on color" section continues. */
.iz-site .hero--wide .hero-grid{grid-template-columns:1fr;min-height:0;gap:clamp(2.5rem, 5vw, 4rem);}
.iz-site .hero--wide .hero-copy{max-width:48rem;}
.iz-site .hero--wide .lede{max-width:46ch;}
.iz-site .hero--wide .hero-media{justify-self:end;width:min(100%, 46rem);aspect-ratio:16/10;max-height:none;}
.iz-site .hero--wide .hero-media > img{object-position:50% 40%;}
.iz-site .hero--wide:has(.hero-media){
  padding-bottom:clamp(2rem, 4vw, 3rem);
  background:linear-gradient(to bottom, var(--background-color) calc(100% - clamp(8rem, 18vw, 15rem)),
    var(--primary-color) 0);
}
/* Services: numbered rows on the primary color. */
.iz-site .mission--band{background:var(--primary-color);color:var(--on-primary-color);border-top:0;}
.iz-site .hero--wide:has(.hero-media) + .mission--band{padding-top:clamp(2rem, 5vw, 4rem);}
.iz-site .mission--band .section-title{max-width:16ch;}
.iz-site .mission--band .mission-grid{grid-template-columns:1fr;row-gap:0;counter-reset:mission;}
.iz-site .mission--band .mission-grid article{
  display:grid;grid-template-columns:4rem minmax(0, 1fr) minmax(0, 1.2fr);gap:0.75rem 2rem;align-items:baseline;
  padding:1.75rem 0;counter-increment:mission;
  border-top:1px solid color-mix(in srgb, var(--on-primary-color) 24%, transparent);
}
.iz-site .mission--band .mission-grid article:last-child{border-bottom:1px solid color-mix(in srgb, var(--on-primary-color) 24%, transparent);}
.iz-site .mission--band .mission-grid article::before{content:counter(mission, decimal-leading-zero) "/";font-size:0.9375rem;opacity:0.75;}
.iz-site .mission--band .mission-icon{display:none;}
.iz-site .mission--band .mission-grid h3{margin:0;max-width:none;}
.iz-site .mission--band .mission-grid p{color:inherit;opacity:0.82;}
@media (max-width:700px){
  .iz-site .mission--band .mission-grid article{grid-template-columns:3rem minmax(0, 1fr);}
  .iz-site .mission--band .mission-grid p{grid-column:2;}
}
/* Links: a dark band with a row per link (photo or icon beside the text), the sign-up centered below. */
.iz-site .resources--showcase{background:color-mix(in srgb, var(--primary-color) 3%, #1b1c22);color:#f4f4f7;}
.iz-site .resources--showcase .resources-grid{grid-template-columns:1fr;gap:clamp(4rem, 8vw, 6rem);}
.iz-site .showcase-list{display:grid;gap:clamp(2.5rem, 5vw, 4rem);}
.iz-site .showcase-item{display:grid;grid-template-columns:minmax(0, 0.85fr) minmax(0, 1.15fr);gap:clamp(1.5rem, 5vw, 4rem);align-items:center;}
.iz-site .showcase-media{aspect-ratio:4/3;}
.iz-site .showcase-icon{
  display:grid;place-items:center;font-size:clamp(3rem, 7vw, 5rem);
  color:color-mix(in srgb, var(--primary-color) 55%, #fff);
  background:rgb(255 255 255 / 0.05);border:1px solid rgb(255 255 255 / 0.08);
}
.iz-site .showcase-text h3{font-size:clamp(1.25rem, 2.2vw, 1.625rem);letter-spacing:-0.02em;}
.iz-site .showcase-text p{color:rgb(244 244 247 / 0.7);margin:0.75rem 0 1.5rem;max-width:46ch;}
.iz-site .resources--showcase .btn-ghost{color:inherit;border-color:rgb(255 255 255 / 0.35);}
.iz-site .resources--showcase .btn-ghost:hover{border-color:#fff;}
.iz-site .resources--showcase .newsletter{background:none;border:0;padding:0;text-align:center;}
.iz-site .resources--showcase .resources-grid > div + .newsletter{padding-top:clamp(3rem, 6vw, 4.5rem);border-top:1px solid rgb(255 255 255 / 0.1);}
.iz-site .resources--showcase .newsletter h3{font-size:clamp(1.75rem, 3.5vw, 2.5rem);letter-spacing:-0.03em;}
.iz-site .resources--showcase .newsletter > p,.iz-site .resources--showcase .form-status{color:rgb(244 244 247 / 0.7);}
.iz-site .resources--showcase .newsletter > p{max-width:52ch;margin-inline:auto;}
.iz-site .resources--showcase .newsletter-form{max-width:34rem;margin-inline:auto;}
.iz-site .resources--showcase .newsletter-form label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
.iz-site .resources--showcase .field-row input{background:rgb(255 255 255 / 0.06);border-color:rgb(255 255 255 / 0.16);color:#fff;}
.iz-site .resources--showcase .field-row input::placeholder{color:rgb(244 244 247 / 0.5);}
@media (max-width:760px){ .iz-site .showcase-item{grid-template-columns:1fr;} }

/* hint shown by the visual editor in sections that are still empty */
.iz-site .editor-hint{color:var(--muted-text-color);border:1px dashed var(--border-color);padding:2rem;text-align:center;}


/* ---------- motion ---------- */
@media (prefers-reduced-motion: no-preference){
  .iz-site .hero-copy > *{animation:rise .9s var(--ease) both;}
  .iz-site .hero-copy > :nth-child(2){animation-delay:.06s;}
  .iz-site .hero-copy > :nth-child(3){animation-delay:.12s;}
  .iz-site .hero-copy > :nth-child(4){animation-delay:.18s;}
  .iz-site .hero-media{animation:fade 1.2s var(--ease) .1s both;}
  @keyframes rise{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
  @keyframes fade{from{opacity:0;transform:scale(1.02);}to{opacity:1;transform:none;}}
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .iz-site *,.iz-site *::before,.iz-site *::after{transition:none !important;animation:none !important;}
}

/* ---------- platform additions ---------- */
.iz-site .message-page{min-height:70vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:1.25rem;padding-top:4rem;padding-bottom:4rem;}
.iz-site .message-page h1{font-size:clamp(2rem, 4vw, 3rem);letter-spacing:-0.035em;}
.iz-site .message-page .lede{color:var(--muted-text-color);max-width:52ch;}
.iz-site .showcase a{display:block;}
.iz-site .showcase figcaption{font-size:0.875rem;color:var(--muted-text-color);margin-top:0.75rem;}
.iz-site .showcase figcaption a{color:var(--primary-color);}
.iz-site .mission-grid article .eyebrow{margin-bottom:0.5rem;}
.preview-banner{position:sticky;top:0;z-index:60;display:flex;gap:1rem;justify-content:center;align-items:center;flex-wrap:wrap;padding:0.5rem 1rem;background:#18181b;color:#fafafa;font:500 0.875rem/1.4 'Geist', system-ui, sans-serif;}
.preview-banner a{color:#fdba74;}
.preview-banner + .iz-site .nav{top:2.3rem;}
