:root{
  --teal:#1F5C6B;
  --teal-deep:#143F4A;
  --clay:#D5694A;
  --gold:#E9C46A;
  --cream:#FBF4DD;
  --paper:#FFFDF6;
  --ink:#20292B;
  --ink-soft:#45565A;
  --on-dark:#F4F1E6;
  --serif:"Fraunces",Georgia,serif;
  --sans:"Pontano Sans",system-ui,sans-serif;
  --container:1200px;
  --radius:14px;
}
*,*::before,*::after{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
html{scroll-behavior:smooth}
body{
  margin:0;font-family:var(--sans);color:var(--ink);
  background:var(--paper);line-height:1.65;-webkit-font-smoothing:antialiased;
  font-size:17px;
}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--teal)}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.1;margin:0}
em{font-style:italic}
.skip{position:absolute;left:-999px;top:0;background:var(--clay);color:#fff;padding:.6rem 1rem;z-index:200}
.skip:focus{left:8px;top:8px}

.container,.header__inner,.about__grid,.mission__grid,.services,.framework__grid,
.leadership,.projects__grid,.partners,.contact__grid,.footer__inner,.quote__inner{
  width:100%;max-width:var(--container);margin-inline:auto;padding-inline:24px;
}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--sans);font-weight:700;font-size:.95rem;
  padding:.85rem 1.6rem;border-radius:999px;text-decoration:none;
  cursor:pointer;border:2px solid transparent;transition:.2s ease;min-height:48px;
}
.btn--cta{background:var(--clay);color:#fff}
.btn--cta:hover{background:#c25336;transform:translateY(-2px)}
.btn--outline{background:transparent;color:var(--teal);border-color:var(--teal)}
.btn--outline:hover{background:var(--teal);color:#fff}

/* Utility strip */
.util{background:var(--teal-deep);color:var(--on-dark);font-size:.8rem;letter-spacing:.04em}
.util__inner{max-width:var(--container);margin-inline:auto;padding:.55rem 24px;display:flex;
  gap:.8rem;justify-content:center;flex-wrap:wrap;text-align:center}
.util .dot{opacity:.5}

/* Header */
.site-header{position:sticky;top:0;z-index:100;background:var(--teal-deep);
  transition:box-shadow .25s ease,background .25s ease}
.site-header.scrolled{box-shadow:0 6px 22px rgba(0,0,0,.28)}
.header__inner{display:flex;align-items:center;gap:1.5rem;padding-block:.7rem}
.brand{display:flex;align-items:center;flex-shrink:0}
.brand img{height:42px;width:auto}
.nav{margin-left:auto}
.nav__list{display:flex;gap:.3rem;list-style:none;margin:0;padding:0;align-items:center}
.nav__link{color:var(--on-dark);text-decoration:none;font-size:.92rem;font-weight:400;
  padding:.55rem .7rem;border-radius:8px;display:inline-flex;align-items:center;gap:.3rem}
.nav__link:hover{color:var(--gold)}
.caret{font-size:.7em}
.has-sub{position:relative}
.subnav{position:absolute;top:100%;left:0;min-width:210px;background:var(--paper);
  border-radius:12px;box-shadow:0 18px 40px rgba(0,0,0,.22);list-style:none;margin:0;
  padding:.5rem;opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s ease;z-index:10}
.has-sub:hover .subnav,.has-sub:focus-within .subnav{opacity:1;visibility:visible;transform:translateY(4px)}
.subnav a{display:block;color:var(--ink);text-decoration:none;padding:.55rem .7rem;
  border-radius:8px;font-size:.9rem}
.subnav a:hover{background:var(--cream);color:var(--teal)}
.header__cta{padding:.6rem 1.3rem;min-height:40px}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;
  cursor:pointer;padding:8px;margin-left:auto}
.hamburger span{width:26px;height:3px;background:var(--on-dark);border-radius:2px;transition:.2s}

/* Mobile menu */
.m-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:110}
.mobile-menu{position:fixed;top:0;right:0;height:100%;width:min(85%,320px);
  background:var(--teal-deep);z-index:120;padding:5rem 1.5rem 2rem;
  transform:translateX(100%);transition:transform .28s ease;overflow-y:auto}
.mobile-menu.open{transform:translateX(0)}
.mobile-menu__close{position:absolute;top:1.2rem;right:1.2rem;background:none;border:none;
  color:var(--on-dark);font-size:1.5rem;cursor:pointer}
.mobile-menu ul{list-style:none;margin:0;padding:0}
.mobile-menu a{display:block;color:var(--on-dark);text-decoration:none;padding:.85rem 0;
  border-bottom:1px solid rgba(244,241,230,.12);font-size:1.05rem}
.mobile-menu .m-sub a{padding-left:.8rem;font-size:.95rem;opacity:.8}
.mobile-menu__cta{margin-top:1.5rem;width:100%}

/* Kicker */
.kicker{font-family:var(--sans);font-weight:700;text-transform:uppercase;
  letter-spacing:.16em;font-size:.74rem;color:var(--teal);margin:0 0 .9rem}
.kicker--gold{color:var(--clay)}

/* HERO */
.hero{position:relative;background:var(--teal-deep);color:var(--on-dark);overflow:hidden}
.hero__texture{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:.13;mix-blend-mode:luminosity}
.hero__framework{position:absolute;right:-8%;bottom:-22%;width:60%;max-width:680px;
  opacity:.24;pointer-events:none}
.hero__inner{position:relative;max-width:var(--container);margin-inline:auto;
  padding:7rem 24px 6.5rem}
.hero__title{font-size:clamp(2.3rem,6vw,4.4rem);max-width:16ch;letter-spacing:-.01em}
/* Non-italic accent — replaces banned italic-for-elegance pattern */
.hero__accent{color:var(--gold);font-weight:700;font-style:normal}
.hero__sub{max-width:56ch;font-size:1.15rem;margin:1.6rem 0 2.2rem;color:rgba(244,241,230,.88)}
.hero__actions{display:flex;gap:1.2rem;flex-wrap:wrap;align-items:center}
/* Text-link CTA — replaces banned filled+outlined dual-pill pattern */
.hero__link{
  display:inline-flex;align-items:center;gap:.35rem;
  color:rgba(244,241,230,.82);text-decoration:none;
  font-size:.98rem;font-weight:600;
  border-bottom:1.5px solid rgba(244,241,230,.32);
  padding-bottom:3px;min-height:48px;
  transition:color .2s ease,border-color .2s ease;
}
.hero__link:hover{color:var(--gold);border-bottom-color:var(--gold)}

/* ABOUT */
.about{padding:5.5rem 0;background:var(--paper)}
.about__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:3.5rem;align-items:center}
.about__media{position:relative}
.about__media img{border-radius:var(--radius);box-shadow:0 24px 50px rgba(20,63,74,.25);
  width:100%;object-fit:cover}
.chips{list-style:none;margin:1.4rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem}
.chips li{background:var(--cream);color:var(--teal);font-size:.78rem;font-weight:700;
  padding:.45rem .85rem;border-radius:999px;border:1px solid rgba(31,92,107,.18)}
.about__text h2{font-size:clamp(2rem,4vw,3rem);color:var(--teal);margin-bottom:1.2rem}
.about__text p{margin:0 0 1.2rem;color:var(--ink-soft);max-width:62ch}
.about__text .btn{margin-top:.5rem}

/* MISSION */
.mission{padding:5.5rem 0;background:var(--cream)}
.mission__grid{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem}
.mission__left h2{font-size:clamp(2rem,4vw,3rem);color:var(--teal);margin-bottom:1.4rem}
.mission__lead{font-family:var(--serif);font-size:1.25rem;line-height:1.5;color:var(--ink)}
.mission__right h3{font-size:1.8rem;color:var(--teal);margin-bottom:.6rem}
.mission__intro{color:var(--ink-soft);margin:0 0 1.4rem}
.values{list-style:none;margin:0;padding:0;counter-reset:v}
.values li{position:relative;padding:1.1rem 0 1.1rem 3.2rem;border-top:1px solid rgba(31,92,107,.18);
  color:var(--ink)}
.values li span{position:absolute;left:0;top:1rem;font-family:var(--serif);font-weight:600;
  color:var(--clay);font-size:1.1rem}

/* SERVICES */
/* position:relative + overflow:hidden enables the decorative watermark inside */
.services{padding:5.5rem 24px;background:var(--paper);position:relative;overflow:hidden}
.services__watermark{
  position:absolute;right:-4%;bottom:-6%;
  width:42%;max-width:460px;
  opacity:.065;pointer-events:none;z-index:0;
}
.services__head{max-width:64ch;margin-bottom:3rem;position:relative;z-index:1}
.services__head h2{font-size:clamp(2.2rem,5vw,3.4rem);color:var(--teal);margin-bottom:1.2rem}
.services__intro{color:var(--ink-soft);font-size:1.05rem}
.services__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;position:relative;z-index:1}
.svc-card{background:var(--cream);border-radius:var(--radius);padding:2.2rem 1.8rem;
  border:1px solid rgba(31,92,107,.12);border-left:4px solid var(--teal);
  transition:.25s ease}
.svc-card:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(20,63,74,.16)}
.svc-card__num{font-family:var(--serif);font-size:2.4rem;color:var(--gold);font-weight:600;
  display:block;line-height:1;margin-bottom:.6rem}
.svc-card h3{font-size:1.5rem;color:var(--teal);margin-bottom:.7rem}
.svc-card p{color:var(--ink-soft);font-size:.97rem;margin:0}

/* FRAMEWORK */
.framework{padding:5.5rem 0;background:var(--teal-deep);color:var(--on-dark)}
.framework__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:3.5rem;align-items:center}
.framework__text h2{font-size:clamp(1.9rem,4vw,2.8rem);margin-bottom:1.4rem;color:#fff}
.framework__text p{color:rgba(244,241,230,.9);margin:0 0 1.8rem}
.framework__text a:not(.btn){color:var(--gold)}
.framework__fig{margin:0;background:var(--cream);border-radius:var(--radius);
  padding:1.6rem;box-shadow:0 28px 60px rgba(0,0,0,.35)}
.framework__fig img{border-radius:8px}

/* LEADERSHIP */
.leadership{padding:5.5rem 24px;background:var(--cream)}
.leadership__head{max-width:60ch;margin-bottom:3rem}
.leadership__head h2{font-size:clamp(2.2rem,5vw,3.4rem);color:var(--teal);margin-bottom:.8rem}
.leadership__head p{color:var(--ink-soft)}
.leadership__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem}
.media-card{background:var(--paper);border-radius:var(--radius);overflow:hidden;
  display:flex;flex-direction:column;box-shadow:0 12px 30px rgba(20,63,74,.1);transition:.25s ease}
.media-card:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(20,63,74,.18)}
.media-card__img{aspect-ratio:4/3;background:var(--teal-deep);overflow:hidden}
.media-card__img img{width:100%;height:100%;object-fit:cover}
.media-card__body{padding:1.5rem;display:flex;flex-direction:column;gap:.7rem;flex:1}
.media-card__body h3{font-size:1.3rem;color:var(--teal)}
.media-card__body p{color:var(--ink-soft);font-size:.93rem;margin:0;flex:1}
.link-arrow{font-weight:700;text-decoration:none;color:var(--clay);font-size:.92rem}
.link-arrow:hover{text-decoration:underline}

/* QUOTE */
.quote{position:relative;color:#fff;min-height:520px;display:flex;align-items:center;overflow:hidden}
.quote__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:50% 42%}
.quote__scrim{position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(20,63,74,.82) 0%,rgba(20,63,74,.55) 55%,rgba(20,63,74,.35) 100%)}
.quote__inner{position:relative;display:flex;justify-content:flex-end;padding-block:4rem}
.quote__card{background:var(--paper);color:var(--ink);max-width:560px;margin:0;
  padding:2.5rem;border-radius:var(--radius);box-shadow:0 30px 70px rgba(0,0,0,.4)}
.quote__card p{font-family:var(--serif);font-size:1.3rem;line-height:1.45;color:var(--teal);margin:0 0 1.4rem}
.quote__card footer{font-size:.92rem;color:var(--ink-soft)}
/* Attribution row: avatar + text */
.quote__attr-row{display:flex;align-items:flex-start;gap:.85rem;flex-wrap:nowrap}
.quote__avatar{
  width:44px;height:44px;border-radius:50%;
  object-fit:cover;object-position:50% 12%;
  border:2px solid var(--teal);flex-shrink:0;
}
.quote__attr-row > div{display:flex;flex-direction:column;gap:.3rem;min-width:0}
.quote__who{display:block;font-weight:700;color:var(--ink)}
.quote__card cite{font-style:normal}
.quote__card cite a{color:var(--clay)}

/* PROJECTS */
.projects{padding:5.5rem 0;background:var(--paper)}
.projects__grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:3rem;align-items:start}
.projects__intro h2{font-size:clamp(2.2rem,5vw,3.4rem);color:var(--teal);margin-bottom:1rem}
.projects__intro p{color:var(--ink-soft)}
/* Small brand mark — gives the projects intro a brand signature on the light bg */
.projects__brand-mark{height:56px;width:auto;margin-top:2.8rem;opacity:.38;display:block}
.accordion{border-top:2px solid var(--teal)}
.acc-item{border-bottom:1px solid rgba(31,92,107,.2)}
.acc-trigger{width:100%;background:none;border:none;cursor:pointer;display:flex;
  align-items:center;justify-content:space-between;gap:1.5rem;text-align:left;
  padding:1.5rem 0;font-family:var(--serif);font-size:1.25rem;color:var(--ink);font-weight:500}
.acc-trigger:hover{color:var(--teal)}
.acc-icon{position:relative;flex-shrink:0;width:22px;height:22px}
.acc-icon::before,.acc-icon::after{content:"";position:absolute;background:var(--clay);
  transition:.25s ease}
.acc-icon::before{top:50%;left:0;width:100%;height:2px;transform:translateY(-50%)}
.acc-icon::after{left:50%;top:0;width:2px;height:100%;transform:translateX(-50%)}
.acc-trigger[aria-expanded="true"] .acc-icon::after{transform:translateX(-50%) scaleY(0)}
.acc-panel{padding:0 0 1.8rem}
.acc-panel p{color:var(--ink-soft);margin:0 0 1rem}
.acc-funder{font-family:var(--sans);font-weight:700;color:var(--teal);font-size:.85rem;
  text-transform:uppercase;letter-spacing:.08em}

/* PARTNERS */
.partners{padding:4.5rem 24px;background:var(--cream)}
.partners__head{text-align:center;font-size:1.4rem;color:var(--teal);margin-bottom:2.5rem;font-weight:500}
.partners__grid{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(5,1fr);gap:2rem;align-items:center;justify-items:center}
.partners__grid li{width:100%;display:flex;align-items:center;justify-content:center}
.partners__grid img{max-height:64px;width:auto;object-fit:contain;filter:grayscale(1);
  opacity:.72;transition:.25s ease}
.partners__grid img:hover{filter:grayscale(0);opacity:1}

/* CONTACT */
.contact{padding:5.5rem 0;background:var(--teal-deep);color:var(--on-dark)}
.contact__grid{display:grid;grid-template-columns:1fr 1.1fr;gap:3.5rem;align-items:start}
.contact__intro .kicker--gold{color:var(--gold)}
.contact__intro h2{font-size:clamp(2.2rem,5vw,3.4rem);color:#fff;margin-bottom:1.2rem}
.contact__intro p{color:rgba(244,241,230,.88)}
/* Dr. Tucker-Seeley profile card in contact intro */
.contact__dr-profile{
  display:flex;align-items:center;gap:.9rem;
  margin-top:2rem;padding-top:1.6rem;
  border-top:1px solid rgba(244,241,230,.14);
}
.contact__dr-avatar{
  width:54px;height:54px;border-radius:50%;
  object-fit:cover;object-position:50% 12%;
  border:2px solid rgba(233,196,106,.5);
  flex-shrink:0;
}
.contact__dr-info{display:flex;flex-direction:column;gap:.25rem;min-width:0}
.contact__dr-info strong{color:var(--on-dark);font-size:.93rem;font-weight:700;display:block}
.contact__dr-info span{color:rgba(244,241,230,.55);font-size:.82rem;display:block}
.contact__form{background:var(--paper);color:var(--ink);padding:2.4rem;border-radius:var(--radius);
  box-shadow:0 26px 60px rgba(0,0,0,.3)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.field{margin-bottom:1.2rem;min-width:0}
.field label{display:block;font-weight:700;font-size:.85rem;margin-bottom:.4rem;color:var(--ink)}
.req{color:var(--ink-soft);font-weight:400}
.field input,.field textarea{width:100%;padding:.8rem .9rem;border:1.5px solid rgba(31,92,107,.3);
  border-radius:8px;font-family:var(--sans);font-size:1rem;color:var(--ink);background:#fff}
.field input:focus,.field textarea:focus{border-color:var(--teal);outline:none;
  box-shadow:0 0 0 3px rgba(31,92,107,.15)}
.field textarea{resize:vertical}
.field.invalid input,.field.invalid textarea{border-color:var(--clay)}
.err{display:block;color:var(--clay);font-size:.8rem;margin-top:.35rem;font-weight:700}
.form-success{margin-top:1.2rem;color:var(--teal);font-weight:700}

/* FOOTER */
.site-footer{background:var(--paper);padding:3.5rem 0 2rem;border-top:1px solid rgba(31,92,107,.12)}
.footer__inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.footer__brand img{height:90px;width:auto}
.footer__nav{display:flex;flex-wrap:wrap;gap:1.2rem}
.footer__nav a{color:var(--ink-soft);text-decoration:none;font-size:.9rem}
.footer__nav a:hover{color:var(--teal)}
.footer__social a{color:var(--teal)}
.footer__social a:hover{color:var(--clay)}
/* Footer copyright row with small brand mark */
.footer__copy-row{
  display:flex;align-items:center;justify-content:center;
  gap:.65rem;flex-wrap:wrap;margin-top:2.5rem;
}
.footer__copy-mark{height:26px;width:auto;opacity:.3;flex-shrink:0}
.footer__copy{text-align:center;color:var(--ink-soft);font-size:.82rem;margin:0}

/* Reveal */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}

/* RESPONSIVE */
@media(max-width:980px){
  .nav,.header__cta{display:none}
  .hamburger{display:flex}
  .about__grid,.mission__grid,.framework__grid,.projects__grid,.contact__grid{
    grid-template-columns:1fr;gap:2.5rem}
  .leadership__grid,.services__cards{grid-template-columns:1fr 1fr}
  .partners__grid{grid-template-columns:repeat(3,1fr);gap:1.6rem}
  .quote__inner{justify-content:center}
  .framework__fig{order:-1}
  .projects__brand-mark{margin-top:1.5rem}
}
@media(max-width:620px){
  body{font-size:16px}
  .hero__inner{padding:4.5rem 24px 4.5rem}
  .leadership__grid,.services__cards,.field-row{grid-template-columns:1fr}
  .partners__grid{grid-template-columns:repeat(2,1fr)}
  .quote__card{padding:1.8rem}
  .quote__card p{font-size:1.1rem}
  .quote__attr-row{flex-wrap:nowrap}
  .util__inner{font-size:.72rem}
  .footer__inner{flex-direction:column;text-align:center}
  .footer__nav{justify-content:center}
  .footer__copy-row{gap:.5rem}
  .services__watermark{width:70%;opacity:.05}
}