:root{
  --ink:#14211b;
  --muted:#56665d;
  --deep:#0f1f19;
  --evergreen:#183a2e;
  --moss:#6d9b59;
  --blue:#4d8ead;
  --stone:#e9e3d7;
  --ivory:#faf7f0;
  --line:rgba(20,33,27,.14);
  --frame-rgb:28,74,56;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}
body.menu-open{overflow:hidden}
img{max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-weight:500}
.wrap{width:min(1180px,calc(100% - 56px));margin:auto}
.eyebrow{margin-bottom:16px;color:#547b49;font-size:11px;font-weight:850;letter-spacing:.16em;text-transform:uppercase}
.eyebrow.light{color:#c9e0ba}
.luminous-frame{position:fixed;inset:12px;z-index:80;pointer-events:none;border-radius:28px;isolation:isolate}
.luminous-frame::before{
  content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;
  background:rgba(var(--frame-rgb),.88);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  box-shadow:0 0 18px 2px rgba(var(--frame-rgb),.24),0 0 52px 5px rgba(var(--frame-rgb),.09);
  transition:background-color .22s linear,box-shadow .22s linear;
}
.luminous-frame::after{
  content:"";position:absolute;inset:-1px;border-radius:inherit;
  background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 24%,rgba(255,255,255,.12));
  opacity:.36;mix-blend-mode:screen;
}
.site-header{position:fixed;top:0;left:0;right:0;z-index:60;color:var(--ink);transition:background .25s ease,box-shadow .25s ease,color .25s ease}
.home-page .site-header{color:#f7fbf5}
.site-header.is-scrolled,.site-header:has(.menu:focus-visible){background:rgba(250,247,240,.88);backdrop-filter:blur(18px);box-shadow:0 1px 0 rgba(255,255,255,.5),0 8px 30px rgba(20,33,27,.06);color:var(--ink)}
.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:max-content}
.brand-copy{display:flex;flex-direction:column;line-height:1.05;letter-spacing:.04em}
.brand-copy strong{font-size:17px}
.brand-copy small{margin-top:4px;color:currentColor;font-size:10px;opacity:.7}
.mark{position:relative;width:39px;height:39px;border:1.5px solid currentColor;border-radius:45% 55% 50% 50%;transform:rotate(-8deg)}
.mark span{position:absolute;border-radius:999px}
.m1{bottom:5px;left:6px;width:11px;height:20px;background:#8dbe61;transform:rotate(28deg)}
.m2{top:7px;right:6px;width:12px;height:22px;background:#70b4d5;transform:rotate(55deg)}
.m3{top:4px;left:12px;width:8px;height:16px;background:#d8d0bd;transform:rotate(-45deg)}
nav{display:flex;align-items:center;gap:19px}
nav a{font-size:13px;font-weight:650;text-decoration:none;white-space:nowrap}
nav a:not(.nav-cta){opacity:.88}
nav a:not(.nav-cta):hover{opacity:1}
.nav-cta{padding:9px 13px;border:1px solid currentColor;border-radius:999px}
.menu{display:none;border:0;background:transparent;color:inherit;font:inherit;font-size:13px;font-weight:800}
.hero{position:relative;min-height:790px;min-height:100svh;overflow:hidden;display:flex;align-items:flex-end;background:var(--deep);color:#fff}
.hero-media,.hero-wash{position:absolute;inset:0}
.hero-media{background:url("/assets/images/birmingham-dawn-hero.png") center center/cover no-repeat;transform:scale(1.03);animation:hero-zoom 20s ease-out both}
.hero-wash{background:linear-gradient(90deg,rgba(6,22,18,.92) 0%,rgba(8,28,22,.7) 34%,rgba(9,24,21,.22) 67%,rgba(7,19,19,.34)),linear-gradient(0deg,rgba(7,22,18,.7),transparent 50%)}
.hero-content{position:relative;z-index:1;padding:175px 0 108px}
h1{max-width:920px;margin-bottom:25px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(51px,6.4vw,94px);letter-spacing:-.05em;line-height:.95}
.lead{max-width:710px;margin-bottom:0;color:#d6e0da;font-size:clamp(17px,1.55vw,21px)}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 19px;border-radius:999px;font-size:14px;font-weight:800;text-decoration:none;transition:transform .2s ease,background .2s ease}
.btn:hover{transform:translateY(-2px)}
.primary{background:#e3efcc;color:#173527}
.ghost{border:1px solid rgba(255,255,255,.62);color:#fff}
.hero-note{display:flex;align-items:center;gap:10px;margin:72px 0 0;color:#c0d0c7;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.hero-note span{width:30px;height:1px;background:#b6d496}
.statement{padding:118px 0 108px;background:#173429;color:#f7fbf5}
.statement-grid,.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(44px,8vw,120px)}
.statement h2,.section-intro h2,.portfolio h2,.community-grid h2,.contact h2,.hr-box h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(39px,4.3vw,65px);letter-spacing:-.035em;line-height:1.02}
.statement-copy{max-width:620px;padding-top:7px}
.statement-copy p{color:#d1ded7;font-size:18px}
.statement .eyebrow{color:#bfdb9d}
.chapter{position:relative;min-height:720px;min-height:82svh;display:flex;align-items:center;overflow:hidden;color:#fff}
.chapter-media,.chapter-shade{position:absolute;inset:0}
.chapter-media{background-position:center;background-size:cover;transform:scale(1.02);transition:transform 1.2s ease}
.chapter:hover .chapter-media{transform:scale(1.055)}
.chapter-shade{background:linear-gradient(90deg,rgba(10,28,21,.88) 0%,rgba(10,28,21,.66) 43%,rgba(10,28,21,.08) 74%),linear-gradient(0deg,rgba(10,28,21,.3),transparent 65%)}
.chapter-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,540px);width:100%}
.chapter-layout-right{justify-content:end}
.chapter-layout-right .chapter-shade{background:linear-gradient(270deg,rgba(20,57,45,.84) 0%,rgba(20,57,45,.55) 43%,rgba(20,57,45,.06) 74%),linear-gradient(0deg,rgba(21,53,44,.17),transparent 65%)}
.chapter-copy{padding:42px 0}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}
.reveal.is-visible{opacity:1;transform:translateY(0)}
.chapter-number{display:flex;align-items:center;gap:12px;margin-bottom:27px;color:#d9e9c7;font-size:14px;font-weight:850;letter-spacing:.1em}
.chapter-number::after{content:"";height:1px;width:52px;background:currentColor;opacity:.75}
.chapter-number span{font-size:11px;letter-spacing:.13em;text-transform:uppercase}
.chapter h2{margin-bottom:19px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(43px,4.8vw,74px);letter-spacing:-.04em;line-height:.98}
.chapter-copy>p:not(.chapter-number){max-width:500px;color:#e1eae5;font-size:18px}
.chapter-link{display:inline-flex;align-items:center;gap:12px;margin-top:16px;border-bottom:1px solid rgba(255,255,255,.66);padding-bottom:7px;font-size:14px;font-weight:800;text-decoration:none}
.chapter-link span{font-size:20px;transition:transform .2s ease}
.chapter-link:hover span{transform:translateX(4px)}
.chapter-consultancy .chapter-media{background-image:url("/assets/images/west-midlands-strategy.png")}
.chapter-people .chapter-media{background-image:url("/assets/images/local-business-conversation.png")}
.chapter-operations .chapter-media{background-image:url("/assets/images/stourbridge-operation.png")}
.chapter-learning{color:#253629}
.chapter-learning .chapter-media{background-image:url("/assets/images/stourbridge-learning.png")}
.chapter-learning .chapter-shade{background:linear-gradient(270deg,rgba(251,247,238,.92) 0%,rgba(251,247,238,.72) 46%,rgba(251,247,238,.04) 76%),linear-gradient(0deg,rgba(246,235,209,.28),transparent 55%)}
.chapter-learning .chapter-number{color:#5e8052}
.chapter-learning .chapter-copy>p:not(.chapter-number){color:#405247}
.chapter-learning .chapter-link{border-color:rgba(37,54,41,.55)}
.lifecycle{padding:125px 0;background:linear-gradient(145deg,#f1f1e8 0%,#dce9de 100%);color:#193429}
.section-intro{display:grid;grid-template-columns:.94fr 1.06fr;gap:clamp(42px,8vw,118px);align-items:start;margin-bottom:48px}
.section-intro>div:last-child{padding-top:9px}
.section-intro>div:last-child>p,.community-grid>div:last-child>p{color:var(--muted);font-size:18px}
.text-link{display:inline-flex;align-items:center;gap:8px;margin-top:6px;color:#27583f;font-size:14px;font-weight:850;text-decoration:none}
.text-link span{font-size:20px;transition:transform .2s ease}
.text-link:hover span{transform:translateX(4px)}
.lifecycle-track{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;overflow:hidden;margin:0;padding:1px;border-radius:22px;background:rgba(31,68,48,.13);list-style:none}
.lifecycle-track li{display:flex;min-height:150px;flex-direction:column;justify-content:space-between;padding:18px;background:rgba(255,255,255,.55)}
.lifecycle-track span,.growth-grid span,.portfolio-item>span{color:#5d9567;font-size:11px;font-weight:900;letter-spacing:.1em}
.lifecycle-track strong{font-family:Georgia,"Times New Roman",serif;font-size:22px;line-height:1.05}
.delivery-modes{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:16px}
.delivery-modes article{padding:20px;border:1px solid rgba(31,68,48,.15);border-radius:16px;background:rgba(255,255,255,.48)}
.delivery-modes span{color:#426b4a;font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.delivery-modes p{margin:9px 0 0;color:var(--muted);font-size:14px}
.growth-focus{padding:124px 0;background:linear-gradient(180deg,#eef4ec,#f9f4e9)}
.growth-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.growth-grid article{min-height:235px;padding:24px;border:1px solid rgba(42,74,52,.13);border-radius:18px;background:rgba(255,255,255,.74);box-shadow:0 12px 28px rgba(31,59,39,.035)}
.growth-grid h3{margin:45px 0 10px;font-size:22px}
.growth-grid p{margin:0;color:var(--muted);font-size:15px}
.portfolio{padding:124px 0;background:#f7f0e3}
.portfolio-intro{max-width:850px;margin-bottom:45px}
.portfolio-intro>p:last-child{max-width:690px;color:var(--muted);font-size:18px}
.portfolio-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}
.portfolio-item{position:relative;display:flex;min-height:270px;flex-direction:column;justify-content:flex-end;overflow:hidden;padding:24px;border:1px solid rgba(57,65,43,.14);border-radius:18px;background:rgba(255,255,255,.68);text-decoration:none;transition:transform .22s ease,box-shadow .22s ease,background .22s ease}
.portfolio-item::before{content:"";position:absolute;top:-78px;right:-75px;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,rgba(143,184,105,.23),transparent 68%)}
.portfolio-item:hover{transform:translateY(-4px);background:#fff;box-shadow:0 18px 32px rgba(53,54,35,.1)}
.portfolio-item>span{margin-bottom:auto}
.portfolio-item strong{position:relative;margin-top:58px;font-family:Georgia,"Times New Roman",serif;font-size:28px;line-height:1.04}
.portfolio-item p{position:relative;margin:11px 0 0;color:var(--muted);font-size:14px}
.portfolio-item em{position:relative;margin-top:18px;color:#436a49;font-size:13px;font-style:normal;font-weight:850}
.portfolio-item b{font-size:17px}
.community-impact{padding:120px 0;background:#fffdf9}
.community-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(42px,8vw,118px)}
.community-cards{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:30px 0 16px}
.community-cards article{padding:23px;border:1px solid var(--line);border-radius:17px;background:#f4f7f1}
.community-cards span{color:#53794b;font-size:10px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.community-cards h3{margin:42px 0 8px;font-family:Georgia,"Times New Roman",serif;font-size:25px}
.community-cards p{margin:0!important;color:var(--muted);font-size:14px!important}
.partnerships{padding:110px 0;background:#e8eee3}
.partnerships .statement-copy p{color:var(--muted)}
.partnerships .eyebrow{color:#507a48}
.partner-list{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin-top:26px}
.partner-list span{padding:13px 0;border-top:1px solid rgba(27,56,40,.15);font-weight:700}
.hr-callout{padding:38px 0 110px;background:#e8eee3}
.hr-box{display:flex;align-items:end;justify-content:space-between;gap:35px;padding:52px;border-radius:26px;background:linear-gradient(120deg,#e1f0d6,#e7f1ec 55%,#f7edd7)}
.hr-box h2{margin-bottom:14px;font-size:clamp(36px,4vw,57px)}
.hr-box p{max-width:700px;margin:0;color:var(--muted);font-size:17px}
.hr-box .eyebrow{color:#4c7645}
.hr-box .primary{flex:none;background:#234d39;color:#f4f6ed}
.contact{padding:115px 0;background:#faf5ea}
.contact-card{display:flex;flex-direction:column;gap:7px;padding:30px;border:1px solid rgba(42,62,43,.15);border-radius:18px;background:rgba(255,255,255,.72)}
.contact-card span{color:var(--muted);font-size:11px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.contact-card a{color:#24523b;font-size:20px;font-weight:850;text-decoration:none;word-break:break-word}
.contact-card hr{width:100%;margin:18px 0;border:0;border-top:1px solid var(--line)}
.contact-card small{color:var(--muted)}
footer{padding:26px 0;background:#153127;color:#c9d9d0}
.footer-row{display:flex;justify-content:space-between;gap:20px;font-size:12px}
.content-page{padding:148px 0 100px;background:#faf8f2}
.content-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.6fr);gap:64px}
.content-page h1{font-size:clamp(47px,5vw,70px);color:var(--ink)}
.content-page h2,.project-grid h2{margin-top:44px;font-family:Georgia,"Times New Roman",serif;font-size:36px;line-height:1.08}
.content-page p,.content-page li,.project-grid p,.project-grid li{color:var(--muted);font-size:17px}
.content-page li,.project-grid li{margin:8px 0}
.breadcrumbs{margin-bottom:24px;color:var(--muted);font-size:13px}
.breadcrumbs a,.sidebar-card a{color:#27583f;text-decoration:none}
.sidebar-card,.project-side{position:sticky;top:106px;height:max-content;padding:25px;border:1px solid var(--line);border-radius:18px;background:#f1f5ed}
.sidebar-card h3{font-size:22px}
.sidebar-card a{display:block;margin:10px 0;font-weight:750}
.faq{margin-top:55px}
.faq details{padding:17px 0;border-top:1px solid var(--line)}
.faq summary{font-weight:800;cursor:pointer}
.project-hero{padding:150px 0 62px;background:linear-gradient(135deg,#e5efe3,#f5eee0)}
.project-hero h1{max-width:920px;font-size:clamp(47px,5vw,70px);color:var(--ink)}
.project-meta{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}
.project-meta span{padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#315d43;font-size:12px;font-weight:750}
.project-body{padding:76px 0 100px;background:#faf8f2}
.project-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(270px,.58fr);gap:64px}
.project-side .side-label{display:block;margin-bottom:6px;color:var(--muted);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.project-side strong{display:block;margin-bottom:18px}
.project-side a{display:inline-flex;margin-top:10px;color:#27583f;font-weight:850;text-decoration:none}
.role-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:26px 0}
.role-list div{padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}
.role-list b{display:block;margin-bottom:6px}
.role-list p{margin:0;font-size:14px}
.disclaimer-note{margin-top:30px!important;padding:12px 14px;border-left:3px solid var(--moss);background:#f0f4ed;font-size:13px!important}
@keyframes hero-zoom{from{transform:scale(1.06)}to{transform:scale(1.01)}}
@media(max-width:1050px){
  nav{gap:12px}.nav a{font-size:12px}.portfolio-grid{grid-template-columns:repeat(2,1fr)}.lifecycle-track{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:850px){
  .wrap{width:min(100% - 34px,1180px)}.luminous-frame{inset:8px;border-radius:20px}.nav{height:72px}.menu{display:block}
  nav{position:absolute;top:72px;left:0;right:0;display:none;align-items:stretch;gap:0;padding:16px 22px 24px;background:rgba(250,247,240,.97);backdrop-filter:blur(18px);box-shadow:0 15px 30px rgba(20,33,27,.1);color:var(--ink)}
  nav.open{display:flex}nav a{padding:11px 0;font-size:14px}.nav-cta{margin-top:7px;padding:10px 13px;text-align:center}
  .hero{min-height:720px}.hero-content{padding:150px 0 72px}.hero-note{margin-top:56px}
  .statement,.lifecycle,.growth-focus,.portfolio,.community-impact,.partnerships,.contact{padding:85px 0}.statement-grid,.section-intro,.community-grid,.contact-grid{grid-template-columns:1fr;gap:26px}.chapter{min-height:660px}.chapter-layout{grid-template-columns:minmax(0,480px)}.chapter-layout-right{justify-content:start}.chapter-layout-right .chapter-shade{background:linear-gradient(90deg,rgba(20,57,45,.86),rgba(20,57,45,.55) 47%,rgba(20,57,45,.08) 78%)}.chapter-learning .chapter-shade{background:linear-gradient(90deg,rgba(251,247,238,.92),rgba(251,247,238,.67) 48%,rgba(251,247,238,.08) 78%)}.delivery-modes{grid-template-columns:1fr 1fr}.growth-grid{grid-template-columns:1fr 1fr}.hr-box{align-items:flex-start;flex-direction:column}.content-grid,.project-grid{grid-template-columns:1fr;gap:35px}.sidebar-card,.project-side{position:static}
}
@media(max-width:560px){
  .wrap{width:min(100% - 28px,1180px)}.brand-copy small{display:none}.hero-media{background-position:63% center}.hero-wash{background:linear-gradient(90deg,rgba(6,22,18,.9),rgba(8,28,22,.46) 92%),linear-gradient(0deg,rgba(7,22,18,.7),transparent 55%)}h1{font-size:48px}.lead{font-size:17px}.hero-note{font-size:10px}.chapter{min-height:620px}.chapter h2{font-size:44px}.chapter-number{align-items:flex-start;flex-direction:column;gap:9px}.chapter-number::after{display:none}.chapter-copy>p:not(.chapter-number){font-size:16px}.lifecycle-track{grid-template-columns:1fr}.lifecycle-track li{min-height:88px}.growth-grid,.portfolio-grid,.community-cards,.partner-list,.delivery-modes{grid-template-columns:1fr}.portfolio-item{min-height:220px}.hr-box{padding:34px 25px}.footer-row{flex-direction:column}.role-list{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}


/* ===== Sanctuary Official Brand v0.08 ===== */
.brand .mark,
.brand .m1,
.brand .m2,
.brand .m3 {
  display: none !important;
}

.brand-logo {
  display: block !important;
  width: 76px !important;
  height: 76px !important;
  min-width: 76px !important;
  max-width: 76px !important;
  object-fit: contain !important;
  object-position: center !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  flex: 0 0 76px !important;
}

.brand {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  overflow: visible !important;
}

@media (max-width: 700px) {
  .brand-logo {
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    max-width: 56px !important;
    flex-basis: 56px !important;
  }
}


/* ===== v0.09 permanent responsive + spacing fixes ===== */
.luminous-frame{display:none!important}
html,body{overflow-x:hidden}
.wrap{width:min(1180px,calc(100% - 152px))!important;margin-left:auto!important;margin-right:auto!important}
.official-site-link{display:inline-flex;margin:2px 0 18px;color:var(--evergreen);font-weight:800;text-decoration:none}
.project-site-button{display:inline-flex;margin-top:16px;padding:9px 12px;border:1px solid rgba(255,255,255,.2);border-radius:999px;color:#d7e8cd;text-decoration:none;font-size:12px;font-weight:800}
.project-site-muted,.project-site-inline{display:block;margin-top:14px;color:#b9cbbf;font-size:12px;font-weight:700}
.project-card-main{display:flex;flex:1;flex-direction:column;color:inherit;text-decoration:none}

.leadership{padding:110px 0;background:linear-gradient(180deg,#f7f4ec 0%,#eef4ed 100%)}
.leadership-intro{margin-bottom:48px}
.founder-feature{display:grid;grid-template-columns:minmax(240px,.62fr) minmax(0,1.38fr);gap:clamp(36px,6vw,84px);align-items:stretch;padding:34px;border:1px solid var(--line);border-radius:28px;background:rgba(255,255,255,.8);box-shadow:0 22px 60px rgba(20,33,27,.06)}
.founder-portrait{min-height:430px;border-radius:22px;overflow:hidden}
.founder-portrait-placeholder{display:grid;place-content:center;text-align:center;background:radial-gradient(circle at 70% 20%,rgba(77,142,173,.22),transparent 34%),linear-gradient(145deg,#173b2e,#315f4c);color:#fff}
.founder-portrait-placeholder span{font-family:Georgia,serif;font-size:92px;line-height:1}.founder-portrait-placeholder small{margin-top:12px;opacity:.72;text-transform:uppercase;letter-spacing:.14em}
.leadership-kicker{margin-bottom:8px;color:#547b49;font-size:11px;font-weight:850;letter-spacing:.16em;text-transform:uppercase}
.founder-copy h3,.founder-copy h2{margin-bottom:18px;font-family:Georgia,serif;font-size:clamp(42px,4vw,62px);font-weight:500;line-height:1.02}
.founder-copy p{color:var(--muted);font-size:17px}.founder-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:26px}.founder-link{background:var(--evergreen);color:#fff}
.leadership-functions{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}.leadership-functions article{padding:25px;border:1px solid var(--line);border-radius:20px;background:#fff}.leadership-functions article>span{font-size:11px;font-weight:900;letter-spacing:.12em;color:var(--blue)}.leadership-functions h3{margin:34px 0 12px;font-size:21px}.leadership-functions p{color:var(--muted);font-size:14px}.leadership-functions em{display:block;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);color:var(--evergreen);font-family:Georgia,serif;font-size:16px}.role-profile{margin-top:12px}.leadership-functions-title{margin-top:70px;font-family:Georgia,serif;font-size:42px;font-weight:500}.leadership-functions-note{max-width:760px;color:var(--muted)}
.leadership-page{padding-top:130px}.leadership-page-hero{max-width:900px;margin-bottom:48px}.leadership-page-hero h1{color:var(--ink)}.leadership-page-founder{margin-bottom:72px}

@media(max-width:1024px){.wrap{width:min(1180px,calc(100% - 96px))!important}.leadership-functions{grid-template-columns:1fr 1fr}.founder-feature{grid-template-columns:.72fr 1.28fr}}
@media(max-width:850px){
  .wrap{width:min(1180px,calc(100% - 68px))!important}
  .site-header{background:rgba(250,247,240,.96)!important;backdrop-filter:blur(18px);color:var(--ink)!important}
  .site-header .nav{position:relative;height:72px;gap:12px}
  .brand{min-width:0!important;max-width:calc(100% - 108px)}
  .menu{display:inline-flex!important;align-items:center!important;justify-content:center!important;position:relative!important;z-index:200!important;min-width:78px;padding:10px 14px;border:1px solid rgba(20,33,27,.28);border-radius:999px;background:#fff;color:var(--ink);font-size:13px;font-weight:800;cursor:pointer;pointer-events:auto!important}
  #primary-navigation{position:absolute!important;top:72px!important;left:0!important;right:0!important;display:none!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;width:100%!important;padding:18px 24px 24px!important;background:rgba(250,247,240,.99)!important;color:var(--ink)!important;box-shadow:0 20px 35px rgba(20,33,27,.14)!important;border-radius:0 0 18px 18px;z-index:190!important}
  #primary-navigation.open{display:flex!important}
  #primary-navigation a{display:block!important;width:100%!important;padding:12px 0!important;font-size:15px!important}
  #primary-navigation .nav-cta{margin-top:10px!important;padding:11px 16px!important;text-align:center!important}
  .founder-feature{grid-template-columns:1fr}.founder-portrait{min-height:340px}.leadership-functions{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){.wrap{width:min(1180px,calc(100% - 48px))!important}.leadership{padding:80px 0}.founder-feature{padding:20px}.leadership-functions{grid-template-columns:1fr}.founder-portrait{min-height:300px}.brand-logo{width:52px!important;height:52px!important;min-width:52px!important;max-width:52px!important;flex-basis:52px!important}.brand-copy small{display:none}.brand-copy strong{font-size:14px}.menu{min-width:70px;padding:9px 12px;font-size:12px}#primary-navigation{top:68px!important;padding-left:20px!important;padding-right:20px!important}}


/* ===== v0.10 founder photo ===== */
.founder-portrait-photo{display:flex;flex-direction:column;background:#f2f1ed;padding:0;overflow:hidden}
.founder-portrait-photo img{display:block;width:100%;height:100%;min-height:430px;object-fit:cover;object-position:center top}
.founder-portrait-photo figcaption{padding:14px 18px;border-top:1px solid rgba(20,33,27,.08);background:#fff;color:var(--ink);font-size:13px;font-weight:800;letter-spacing:.03em}
@media(max-width:850px){.founder-portrait-photo img{min-height:340px}}
@media(max-width:640px){.founder-portrait-photo img{min-height:300px}.founder-portrait-photo figcaption{font-size:12px;padding:12px 14px}}


/* ===== v0.11 network leadership ===== */
.network-leadership{
  margin:34px 0 30px;
  padding:30px;
  border:1px solid rgba(20,33,27,.12);
  border-radius:26px;
  background:
    radial-gradient(circle at 50% 30%,rgba(77,142,173,.09),transparent 34%),
    radial-gradient(circle at 18% 76%,rgba(109,155,89,.10),transparent 30%),
    rgba(255,255,255,.72);
  box-shadow:0 18px 55px rgba(20,33,27,.05);
}
.network-copy{
  display:grid;
  grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);
  gap:clamp(28px,5vw,70px);
  align-items:end;
}
.network-copy .eyebrow{grid-column:1/-1;margin-bottom:-8px}
.network-copy h3{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(36px,4vw,58px);
  line-height:1;
  letter-spacing:-.035em;
}
.network-copy>p{margin:0;color:var(--muted);font-size:16px}
.network-principles{
  grid-column:1/-1;
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:5px;
}
.network-principles span{
  padding:7px 10px;
  border:1px solid rgba(24,58,46,.12);
  border-radius:999px;
  background:#f5f8f3;
  color:var(--evergreen);
  font-size:11px;
  font-weight:800;
}
.network-visual{
  margin-top:22px;
  padding:10px 4px 0;
  overflow:hidden;
}
.leadership-network-svg{
  display:block;
  width:100%;
  height:auto;
  min-height:360px;
}
.network-orbit{
  fill:none;
  stroke:#7daaa0;
  stroke-width:1;
  stroke-dasharray:5 8;
  opacity:.34;
}
.orbit-two{stroke:#4d8ead;opacity:.22}
.orbit-three{stroke:#c69a48;opacity:.22}
.network-line{
  fill:none;
  stroke:url(#networkLine);
  stroke-width:2.1;
  opacity:.78;
}
.network-cross{
  fill:none;
  stroke:#6a9c8a;
  stroke-width:1.15;
  stroke-dasharray:5 7;
  opacity:.34;
}
.network-particles circle{
  fill:#2b8d87;
  opacity:.85;
}
.network-node circle{
  fill:#fdfcf8;
  stroke:#255846;
  stroke-width:2;
  filter:drop-shadow(0 7px 12px rgba(20,33,27,.10));
}
.network-node text{
  fill:#193b31;
  font-family:Inter,ui-sans-serif,system-ui,sans-serif;
  font-size:12px;
  font-weight:800;
}
.network-core circle{
  fill:#173e31;
  stroke:#a9cf9b;
  stroke-width:3;
}
.network-core .core-title{
  fill:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-size:22px;
  letter-spacing:.08em;
}
.network-core .core-sub{
  fill:#d6e7dc;
  font-size:9px;
  font-weight:650;
  letter-spacing:.04em;
}
.network-caption{
  max-width:920px;
  margin:8px auto 0;
  padding-top:16px;
  border-top:1px solid rgba(20,33,27,.10);
  color:var(--muted);
  font-size:13px;
  text-align:center;
}
.network-mobile{display:none}

@media(max-width:850px){
  .network-leadership{padding:24px}
  .network-copy{grid-template-columns:1fr;gap:16px}
  .network-copy .eyebrow,.network-principles{grid-column:auto}
  .leadership-network-svg{min-height:310px}
}
@media(max-width:640px){
  .network-leadership{padding:20px;margin:24px 0}
  .leadership-network-svg{display:none}
  .network-mobile{display:block;padding:16px 0 4px}
  .mobile-core{
    width:150px;
    height:150px;
    margin:0 auto 18px;
    border:2px solid #9bc88e;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#173e31;
    color:#fff;
    font-family:Georgia,serif;
    font-size:22px;
    text-align:center;
    box-shadow:0 12px 30px rgba(20,33,27,.16);
  }
  .mobile-network-list{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }
  .mobile-network-list span{
    position:relative;
    padding:12px 14px 12px 34px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff;
    color:var(--ink);
    font-size:13px;
    font-weight:750;
  }
  .mobile-network-list span::before{
    content:"";
    position:absolute;
    left:14px;
    top:50%;
    width:8px;height:8px;
    transform:translateY(-50%);
    border-radius:50%;
    background:#4d8ead;
    box-shadow:0 0 0 5px rgba(77,142,173,.10);
  }
  .network-caption{text-align:left}
}


/* ===== v0.12 cinematic leadership ===== */

.cinematic-founder,
.cinematic-network,
.cinematic-leadership-cards article{
  will-change:transform,opacity,filter;
}

/* Founder entrance */
.cinematic-founder{
  position:relative;
  overflow:hidden;
}
.cinematic-founder::before{
  content:"";
  position:absolute;
  inset:-20%;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 22%,rgba(77,142,173,.17),transparent 28%),
    radial-gradient(circle at 78% 76%,rgba(109,155,89,.15),transparent 31%);
  opacity:.55;
  transform:translate3d(0,0,0);
  animation:founder-atmosphere 12s ease-in-out infinite alternate;
}
.cinematic-founder .founder-portrait,
.cinematic-founder .founder-copy{
  position:relative;
  z-index:1;
}

/* Network cinematic field */
.cinematic-network{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.cinematic-network::before{
  content:"";
  position:absolute;
  inset:-35%;
  z-index:-1;
  pointer-events:none;
  background:
    conic-gradient(from 20deg at 50% 50%,
      rgba(77,142,173,.00),
      rgba(77,142,173,.12),
      rgba(109,155,89,.08),
      rgba(198,154,72,.08),
      rgba(77,142,173,.00));
  filter:blur(30px);
  animation:network-halo 18s linear infinite;
}
.cinematic-network .network-copy,
.cinematic-network .network-visual,
.cinematic-network .network-caption{
  position:relative;
  z-index:1;
}

.cinematic-network .network-line{
  stroke-dasharray:12 12;
  animation:network-flow 7s linear infinite;
}
.cinematic-network .network-cross{
  animation:network-cross-flow 11s linear infinite reverse;
}
.cinematic-network .network-particles circle{
  transform-box:fill-box;
  transform-origin:center;
  animation:network-particle-pulse 2.4s ease-in-out infinite;
}
.cinematic-network .network-particles circle:nth-child(2n){animation-delay:.35s}
.cinematic-network .network-particles circle:nth-child(3n){animation-delay:.75s}

.cinematic-network .network-core circle{
  transform-box:fill-box;
  transform-origin:center;
  animation:network-core-breathe 4.5s ease-in-out infinite;
}
.cinematic-network .network-node:not(.network-core) circle{
  transition:transform .4s ease,filter .4s ease,stroke .4s ease;
}
.cinematic-network .network-node:not(.network-core):hover circle{
  transform:scale(1.08);
  stroke:#4d8ead;
  filter:drop-shadow(0 10px 18px rgba(77,142,173,.24));
}

/* Reveal classes controlled by IntersectionObserver */
.cinematic-reveal{
  opacity:0;
  transform:translateY(34px) scale(.985);
  filter:blur(4px);
  transition:
    opacity .9s cubic-bezier(.2,.7,.2,1),
    transform .9s cubic-bezier(.2,.7,.2,1),
    filter .9s ease;
}
.cinematic-reveal.is-visible{
  opacity:1;
  transform:none;
  filter:none;
}

.cinematic-founder .founder-portrait.cinematic-reveal{
  transform:translateX(-34px) scale(.985);
}
.cinematic-founder .founder-copy.cinematic-reveal{
  transform:translateX(34px) scale(.985);
}
.cinematic-founder .founder-portrait.cinematic-reveal.is-visible,
.cinematic-founder .founder-copy.cinematic-reveal.is-visible{
  transform:none;
}

/* staggered leadership cards */
.cinematic-leadership-cards article{
  opacity:0;
  transform:translateY(28px);
  transition:
    opacity .72s cubic-bezier(.2,.7,.2,1),
    transform .72s cubic-bezier(.2,.7,.2,1),
    box-shadow .3s ease,
    border-color .3s ease;
}
.cinematic-leadership-cards.is-visible article{
  opacity:1;
  transform:none;
}
.cinematic-leadership-cards.is-visible article:nth-child(1){transition-delay:.05s}
.cinematic-leadership-cards.is-visible article:nth-child(2){transition-delay:.13s}
.cinematic-leadership-cards.is-visible article:nth-child(3){transition-delay:.21s}
.cinematic-leadership-cards.is-visible article:nth-child(4){transition-delay:.29s}
.cinematic-leadership-cards.is-visible article:nth-child(5){transition-delay:.37s}
.cinematic-leadership-cards.is-visible article:nth-child(6){transition-delay:.45s}

.cinematic-leadership-cards article:hover{
  transform:translateY(-6px);
  border-color:rgba(77,142,173,.28);
  box-shadow:0 18px 38px rgba(20,33,27,.09);
}

/* light sweep through the network section */
.cinematic-network .network-visual::after{
  content:"";
  position:absolute;
  inset:12% -25%;
  pointer-events:none;
  background:linear-gradient(110deg,
    transparent 42%,
    rgba(255,255,255,.02) 46%,
    rgba(255,255,255,.42) 50%,
    rgba(255,255,255,.02) 54%,
    transparent 58%);
  transform:translateX(-45%);
  animation:network-scan 8.5s ease-in-out infinite;
}

/* cinematic keyframes */
@keyframes founder-atmosphere{
  from{transform:translate3d(-2%,1%,0) scale(1)}
  to{transform:translate3d(2%,-1%,0) scale(1.05)}
}
@keyframes network-halo{
  to{transform:rotate(360deg)}
}
@keyframes network-flow{
  to{stroke-dashoffset:-240}
}
@keyframes network-cross-flow{
  to{stroke-dashoffset:210}
}
@keyframes network-particle-pulse{
  0%,100%{opacity:.4;transform:scale(.75)}
  50%{opacity:1;transform:scale(1.35)}
}
@keyframes network-core-breathe{
  0%,100%{transform:scale(1);filter:drop-shadow(0 0 0 rgba(109,155,89,0))}
  50%{transform:scale(1.025);filter:drop-shadow(0 0 18px rgba(109,155,89,.28))}
}
@keyframes network-scan{
  0%,18%{transform:translateX(-55%);opacity:0}
  35%{opacity:1}
  65%{opacity:.8}
  82%,100%{transform:translateX(55%);opacity:0}
}

@media(max-width:850px){
  .cinematic-founder .founder-portrait.cinematic-reveal,
  .cinematic-founder .founder-copy.cinematic-reveal{
    transform:translateY(26px) scale(.99);
  }
  .cinematic-founder .founder-portrait.cinematic-reveal.is-visible,
  .cinematic-founder .founder-copy.cinematic-reveal.is-visible{
    transform:none;
  }
  .cinematic-network::before{inset:-55%}
}

@media(max-width:640px){
  .cinematic-network .network-visual::after{display:none}
  .mobile-core{
    animation:network-core-breathe 4.5s ease-in-out infinite;
  }
  .mobile-network-list span{
    transition:transform .3s ease,box-shadow .3s ease;
  }
  .mobile-network-list span:active{
    transform:scale(.985);
  }
}

/* accessibility: disable cinematic motion when the OS requests reduced motion */
@media(prefers-reduced-motion:reduce){
  .cinematic-founder::before,
  .cinematic-network::before,
  .cinematic-network .network-line,
  .cinematic-network .network-cross,
  .cinematic-network .network-particles circle,
  .cinematic-network .network-core circle,
  .cinematic-network .network-visual::after,
  .mobile-core{
    animation:none!important;
  }
  .cinematic-reveal,
  .cinematic-leadership-cards article{
    opacity:1!important;
    transform:none!important;
    filter:none!important;
    transition:none!important;
  }
}


/* ===== v0.13 internal-page header protection ===== */

/*
  Internal content scrolls behind a fixed header, but the glass layer
  prevents titles, breadcrumbs and images from visually colliding with
  the brand/navigation.
*/
.inner-page .site-header{
  background:
    linear-gradient(180deg,rgba(250,247,240,.985),rgba(250,247,240,.945)) !important;
  color:var(--ink) !important;
  backdrop-filter:blur(20px) saturate(1.08);
  -webkit-backdrop-filter:blur(20px) saturate(1.08);
  box-shadow:
    0 1px 0 rgba(20,33,27,.08),
    0 10px 32px rgba(20,33,27,.07);
  isolation:isolate;
}

.inner-page .site-header::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 0%,rgba(109,155,89,.08),transparent 28%),
    radial-gradient(circle at 78% 0%,rgba(77,142,173,.065),transparent 30%);
}

.inner-page .site-header::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(20,33,27,.12) 18%,rgba(20,33,27,.12) 82%,transparent);
}

.inner-page .project-hero{
  padding-top:170px;
}

/* Keep long case-study titles visually clear beneath fixed navigation. */
.inner-page .project-hero h1{
  position:relative;
  z-index:1;
  margin-top:0;
}

/* Stronger official website CTA in project side cards. */
.official-site-cta{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:44px;
  margin:4px 0 20px !important;
  padding:10px 14px;
  border-radius:999px;
  background:var(--evergreen);
  color:#fff !important;
  font-size:13px;
  text-align:center;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.official-site-cta:hover{
  transform:translateY(-2px);
  background:#214d3d;
  box-shadow:0 9px 22px rgba(20,58,45,.16);
}

@media(max-width:850px){
  .inner-page .site-header{
    background:rgba(250,247,240,.985) !important;
  }
  .inner-page .project-hero{
    padding-top:132px;
  }
  .inner-page #primary-navigation{
    top:72px !important;
    max-height:calc(100vh - 72px);
    overflow-y:auto;
  }
}

@media(max-width:560px){
  .inner-page .project-hero{
    padding-top:118px;
  }
  .inner-page .project-hero h1{
    font-size:clamp(39px,12vw,52px);
    line-height:.98;
  }
}


/* ===== v0.14 standardised case-study sidebars ===== */
.standardized-project-side{
  display:flex;
  flex-direction:column;
  gap:0;
}
.standardized-project-side .side-label{
  margin-top:0;
}
.standardized-project-side > .side-label:not(:first-child){
  margin-top:28px;
}
.standardized-project-side > strong{
  display:block;
  margin-top:6px;
}
.standardized-project-side .official-site-cta{
  margin:12px 0 0 !important;
}
.standardized-project-side .back-case-studies-link{
  margin-top:28px;
  display:inline-flex;
  align-items:center;
  width:fit-content;
  font-weight:800;
}
.standardized-project-side .back-case-studies-link:hover{
  transform:translateX(-2px);
}

@media(max-width:850px){
  .standardized-project-side > .side-label:not(:first-child){
    margin-top:24px;
  }
  .standardized-project-side .back-case-studies-link{
    margin-top:24px;
  }
}


/* ===== v0.15 commercial case studies + permanent sticky header ===== */

/* Legal entity metadata */
.case-legal-meta{
  display:block;
  margin:7px 0 0;
  color:#5b6c63;
  font-size:10px;
  font-weight:800;
  letter-spacing:.055em;
  line-height:1.35;
  text-transform:uppercase;
}

/*
  Internal case-study header:
  STICKY instead of fixed. It remains visible but also occupies document flow,
  so headings and hero copy can never slide underneath the logo/navigation.
*/
.inner-page .site-header{
  position:sticky !important;
  position:-webkit-sticky !important;
  top:0 !important;
  left:auto !important;
  right:auto !important;
  z-index:1000 !important;
  width:100% !important;
  background:rgba(250,247,240,.97) !important;
  color:var(--ink) !important;
  backdrop-filter:blur(18px) saturate(1.06);
  -webkit-backdrop-filter:blur(18px) saturate(1.06);
  box-shadow:0 1px 0 rgba(20,33,27,.09),0 10px 28px rgba(20,33,27,.06);
}

.inner-page .site-header::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(109,155,89,.05),transparent 35%,rgba(77,142,173,.04));
}

.inner-page .site-header .nav{
  position:relative !important;
}

/* Hero no longer needs huge fake clearance because header is in normal flow. */
.inner-page .project-hero{
  padding-top:72px !important;
}

/* Standardised project card grid so TCM title does not drop lower. */
.home-page .case-study-grid > .portfolio-item{
  display:grid !important;
  grid-template-rows:42px 72px 28px minmax(96px,auto) 28px 28px;
  align-content:start !important;
  justify-content:stretch !important;
  min-height:320px !important;
}

.home-page .case-study-grid > .portfolio-item > span:first-child{
  margin:0 !important;
  align-self:start;
}

.home-page .case-study-grid > .portfolio-item > strong{
  align-self:start;
  margin:0 !important;
}

.home-page .case-study-grid > .portfolio-item > .case-legal-meta{
  align-self:start;
  min-height:20px;
}

.home-page .case-study-grid > .portfolio-item > p{
  align-self:start;
  margin:0 !important;
}

.home-page .case-study-grid > .portfolio-item > em{
  align-self:end;
}

.home-page .case-study-grid > .portfolio-item > .project-site-inline{
  align-self:end;
  margin:0 !important;
}

/* If a card has no legal metadata or website line, keep the same geometry
   without showing fake/placeholder content. */
.home-page .case-study-grid > .portfolio-item:not(:has(.case-legal-meta)){
  grid-template-rows:42px 72px 28px minmax(96px,auto) 28px 28px;
}

/* /projects/ grid: consistent internal rhythm */
.case-study-grid .project-card-main{
  display:grid !important;
  grid-template-rows:42px 66px 26px minmax(88px,auto) 30px;
  align-content:start;
  gap:0;
}

.case-study-grid .project-card-main .portfolio-no{
  margin:0 !important;
}

.case-study-grid .project-card-main strong{
  margin:0 !important;
  align-self:start;
}

.case-study-grid .project-card-main .case-legal-meta{
  min-height:18px;
}

.case-study-grid .project-card-main p{
  margin:0 !important;
}

.case-study-grid .project-card-main em{
  align-self:end;
}

/* TCM has intentionally no website row; no fake placeholder is rendered. */
.project-card:has(a[href="/projects/tcm-startup/"]) .project-site-muted{
  display:none !important;
}

@media(max-width:1050px){
  .home-page .case-study-grid > .portfolio-item{
    grid-template-rows:40px 68px 26px minmax(88px,auto) 28px 28px;
  }
}

@media(max-width:850px){
  .inner-page .site-header{
    background:rgba(250,247,240,.99) !important;
  }

  .inner-page .project-hero{
    padding-top:54px !important;
  }

  .inner-page #primary-navigation{
    top:72px !important;
    z-index:1001 !important;
    max-height:calc(100vh - 72px);
    overflow-y:auto;
  }

  .home-page .case-study-grid > .portfolio-item,
  .case-study-grid .project-card-main{
    grid-template-rows:auto auto auto auto auto auto;
  }

  .home-page .case-study-grid > .portfolio-item{
    min-height:0 !important;
  }
}

@media(max-width:560px){
  .inner-page .project-hero{
    padding-top:42px !important;
  }
}

/* v0.16 — Sanctuary Insights & Research homepage gateway */
.insights-teaser{padding:124px 0;background:linear-gradient(140deg,#142f25 0%,#234c39 58%,#dfe9d5 150%);color:#f7fbf5}
.insights-teaser-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(42px,8vw,118px);align-items:start}
.insights-teaser h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(39px,4.3vw,65px);font-weight:500;letter-spacing:-.035em;line-height:1.02;margin:0}
.insights-teaser-grid>div:last-child>p{max-width:650px;color:#d5e1da;font-size:18px}
.insights-teaser .eyebrow{color:#bfdb9d}
.insights-teaser .text-link{color:#e5f0dc}
.insights-teaser-points{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 20px}
.insights-teaser-points span{padding:8px 11px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.06);font-size:10px;font-weight:850;letter-spacing:.05em}
@media(max-width:760px){.insights-teaser-grid{grid-template-columns:1fr}}

/* v0.16: the Insights nav item adds width. Collapse the primary navigation a little
   earlier so the fixed header cannot wrap or collide between tablet/desktop widths. */
@media (min-width:851px) and (max-width:960px){
  .site-header .nav{position:relative}
  .menu{display:block}
  #primary-navigation{position:absolute;top:82px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;width:100%;padding:18px 24px 24px;background:rgba(250,247,240,.99);color:var(--ink);box-shadow:0 20px 35px rgba(20,33,27,.14);border-radius:0 0 18px 18px;z-index:190}
  #primary-navigation.open{display:flex}
  #primary-navigation a{display:block;width:100%;padding:11px 0;font-size:14px}
  #primary-navigation .nav-cta{margin-top:9px;padding:10px 14px;text-align:center}
}


/* ===== Portfolio expansion v0.20 ===== */
.portfolio-grid.case-study-grid{
  align-items:stretch;
}
.portfolio-grid.case-study-grid .portfolio-item{
  min-height:100%;
}
.portfolio-grid.case-study-grid .new-portfolio-project{
  background:linear-gradient(145deg,#ffffff 0%,#f3f7f1 100%);
}
@media(max-width:850px){
  .portfolio-grid.case-study-grid .portfolio-item{min-height:0}
}


/* ========================================================================== */
/* SANCTUARY v0.21 — 3D CINEMATIC REDESIGN                                   */
/* Vanilla CSS only. No framework, no external UI library.                    */
/* ========================================================================== */

:root{
  --ink:#0c1713;
  --ink-soft:#24352e;
  --paper:#f5f3ec;
  --paper-2:#ebece5;
  --glass:rgba(250,250,245,.74);
  --glass-strong:rgba(250,250,245,.90);
  --green:#164a38;
  --green-2:#2d7455;
  --lime:#8dcc45;
  --blue:#259bd1;
  --gold:#c5a15b;
  --line:rgba(18,51,40,.14);
  --shadow-3d:0 28px 70px rgba(10,34,25,.16),0 8px 22px rgba(10,34,25,.08);
  --radius-xl:32px;
  --radius-lg:24px;
  --perspective:1100px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body[data-3d-site]{
  background:
    radial-gradient(circle at 8% 7%,rgba(141,204,69,.08),transparent 24rem),
    radial-gradient(circle at 92% 18%,rgba(37,155,209,.075),transparent 28rem),
    var(--paper);
  color:var(--ink);
  overflow-x:hidden;
}
body[data-3d-site]::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  opacity:.28;
  background-image:
    linear-gradient(rgba(15,57,43,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(15,57,43,.035) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:linear-gradient(to bottom,black,transparent 82%);
}

.wrap{width:min(1240px,calc(100% - 96px))!important}

/* --- Floating glass navigation ------------------------------------------------ */
.site-header{
  top:12px!important;
  left:0!important;
  right:0!important;
  width:min(1320px,calc(100% - 36px))!important;
  margin:0 auto!important;
  border:1px solid rgba(255,255,255,.56)!important;
  border-radius:24px!important;
  background:rgba(245,245,238,.70)!important;
  color:var(--ink)!important;
  box-shadow:0 14px 44px rgba(12,39,30,.10)!important;
  backdrop-filter:blur(24px) saturate(1.35)!important;
  -webkit-backdrop-filter:blur(24px) saturate(1.35)!important;
  transform:translateZ(0);
}
.site-header.is-scrolled{
  background:rgba(245,245,238,.92)!important;
  box-shadow:0 18px 55px rgba(12,39,30,.16)!important;
}
.site-header .nav{height:82px!important}
.brand-logo{filter:drop-shadow(0 8px 12px rgba(10,40,28,.12))}
#primary-navigation a{position:relative}
#primary-navigation>a:not(.nav-cta)::after{
  content:"";position:absolute;left:0;right:100%;bottom:6px;height:1px;background:var(--green-2);transition:right .28s ease;
}
#primary-navigation>a:not(.nav-cta):hover::after{right:0}
.nav-cta{
  border:0!important;
  color:#fff!important;
  background:linear-gradient(135deg,var(--green),#247759)!important;
  box-shadow:0 10px 25px rgba(19,76,55,.19)!important;
}

/* --- Hero: image + projected 3D strategy network ------------------------------ */
.hero.hero-3d{
  min-height:100svh!important;
  display:grid;
  align-items:center;
  isolation:isolate;
  overflow:hidden;
  background:#071b15!important;
}
.hero.hero-3d::before{
  content:"";
  position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(90deg,rgba(5,26,19,.96) 0%,rgba(5,26,19,.86) 42%,rgba(5,26,19,.35) 72%,rgba(5,26,19,.65) 100%),
    linear-gradient(180deg,rgba(5,26,19,.28),rgba(5,26,19,.78));
}
.hero-media{filter:saturate(.78) contrast(1.05);transform:scale(1.025)}
.hero-wash{background:linear-gradient(180deg,transparent,rgba(5,27,20,.35))!important}
.hero-content{
  position:relative!important;
  z-index:4!important;
  width:min(1240px,calc(100% - 96px))!important;
  margin:auto!important;
  padding:180px 0 120px!important;
  pointer-events:none;
}
.hero-content>*{pointer-events:auto}
.hero-content h1{
  max-width:830px!important;
  color:#f6f3e9!important;
  font-size:clamp(60px,7.2vw,116px)!important;
  line-height:.88!important;
  letter-spacing:-.055em!important;
  text-wrap:balance;
  text-shadow:0 20px 50px rgba(0,0,0,.18);
}
.hero-content .lead{max-width:680px!important;color:rgba(244,246,238,.80)!important;font-size:18px!important}
.hero-content .eyebrow{color:#b7df87!important}
.hero-note{color:rgba(255,255,255,.60)!important}
.hero-note span{background:linear-gradient(90deg,var(--lime),var(--blue))!important}
.hero .btn.primary{
  border:0!important;
  background:linear-gradient(135deg,#d5efa7,#83c955)!important;
  color:#102018!important;
  box-shadow:0 16px 36px rgba(136,205,79,.20)!important;
}
.hero .btn.ghost{border-color:rgba(255,255,255,.28)!important;color:#fff!important;background:rgba(255,255,255,.055)!important;backdrop-filter:blur(10px)}

.hero-3d-stage{
  position:absolute;
  z-index:2;
  top:11%;right:-3%;
  width:min(58vw,920px);
  height:78%;
  perspective:var(--perspective);
  pointer-events:none;
  opacity:.95;
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.75) 16%,black 42%,black 100%);
}
.sanctuary-3d-canvas{display:block;width:100%;height:100%;filter:drop-shadow(0 20px 70px rgba(24,153,119,.16))}
.hero-3d-stage::before,.hero-3d-stage::after{
  content:"";position:absolute;border-radius:50%;pointer-events:none;mix-blend-mode:screen;
}
.hero-3d-stage::before{width:330px;height:330px;right:20%;top:18%;background:radial-gradient(circle,rgba(45,177,138,.19),transparent 67%);filter:blur(18px)}
.hero-3d-stage::after{width:240px;height:240px;right:7%;bottom:8%;background:radial-gradient(circle,rgba(36,151,209,.17),transparent 70%);filter:blur(14px)}
.hero-3d-hud{
  position:absolute;right:8%;bottom:7%;display:flex;align-items:center;gap:9px;
  color:rgba(235,244,234,.58);font-size:9px;font-weight:850;letter-spacing:.16em;
}
.hero-3d-hud i{width:34px;height:1px;background:linear-gradient(90deg,var(--lime),var(--blue));opacity:.7}

/* --- Generic 3D scene language ------------------------------------------------ */
.statement,.lifecycle,.growth-focus,.portfolio,.community-impact,.partnerships,.leadership,.hr-callout,.contact{
  position:relative;
  isolation:isolate;
}
.statement::before,.growth-focus::before,.portfolio::before,.leadership::before{
  content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;
  background:radial-gradient(circle at 78% 20%,rgba(48,136,93,.06),transparent 30rem);
}
.statement{padding:145px 0!important;background:rgba(250,249,244,.86)!important}
.statement-grid{align-items:center!important}
.statement h2,.section-intro h2,.portfolio-intro h2,.community-grid h2,.contact h2{
  letter-spacing:-.045em!important;line-height:.98!important;
}

/* Service chapters become full-height depth scenes. */
.chapter{
  min-height:86svh!important;
  margin:18px!important;
  border-radius:34px!important;
  overflow:hidden!important;
  box-shadow:var(--shadow-3d)!important;
  transform-style:preserve-3d;
}
.chapter-media{transform:scale(1.08);transition:transform 1.2s cubic-bezier(.2,.75,.2,1);will-change:transform}
.chapter:hover .chapter-media{transform:scale(1.035)}
.chapter-shade{background:linear-gradient(90deg,rgba(5,28,21,.90),rgba(5,28,21,.48) 54%,rgba(5,28,21,.18))!important}
.chapter-layout-right~*{}
.chapter-layout-right .chapter-copy{margin-left:auto}
.chapter-copy{
  max-width:620px!important;
  padding:34px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:28px!important;
  background:linear-gradient(145deg,rgba(8,35,26,.62),rgba(8,35,26,.25))!important;
  backdrop-filter:blur(17px)!important;
  box-shadow:0 25px 70px rgba(0,0,0,.22)!important;
  transform:perspective(1000px) translateZ(26px)!important;
}
.chapter-copy h2{font-size:clamp(50px,5.4vw,82px)!important;letter-spacing:-.05em!important}
.chapter-copy p{font-size:17px!important}

/* End-to-end lifecycle as a perspective runway. */
.lifecycle{padding:145px 0!important;background:linear-gradient(180deg,#eaf0e7,#f3f1e8)!important;overflow:hidden}
.lifecycle::after{
  content:"";position:absolute;left:50%;bottom:-260px;width:920px;height:520px;transform:translateX(-50%) rotateX(65deg);
  border:1px solid rgba(33,101,72,.10);border-radius:50%;box-shadow:0 0 80px rgba(58,138,94,.08);pointer-events:none;
}
.lifecycle-track{
  perspective:1000px!important;
  transform-style:preserve-3d!important;
  background:transparent!important;
  overflow:visible!important;
  gap:10px!important;
  border-radius:0!important;
}
.lifecycle-track li{
  border:1px solid rgba(30,78,55,.11)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.70)!important;
  box-shadow:0 14px 32px rgba(23,62,44,.06)!important;
  transform-style:preserve-3d;
  transition:transform .35s ease,box-shadow .35s ease,background .35s ease;
}
.lifecycle-track li:hover{transform:translateY(-10px) translateZ(38px) rotateX(2deg);box-shadow:0 25px 48px rgba(23,62,44,.14)!important;background:#fff!important}
.lifecycle-track li strong{transform:translateZ(18px)}

/* Unified 3D cards across growth / portfolio / community / leadership. */
[data-3d-grid]{perspective:1200px;transform-style:preserve-3d}
[data-3d-grid]>*{
  transform-style:preserve-3d;
  will-change:transform;
  transition:transform .22s ease-out,box-shadow .28s ease,border-color .28s ease!important;
}
[data-3d-grid]>*:hover{border-color:rgba(42,121,82,.24)!important;box-shadow:0 24px 50px rgba(15,52,36,.12)!important}

.growth-focus{padding:145px 0!important;background:linear-gradient(180deg,#f5f4ed,#e9eee7)!important}
.growth-grid{gap:18px!important}
.growth-grid article{
  min-height:270px!important;padding:28px!important;border-radius:24px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(238,243,235,.76))!important;
  overflow:hidden;position:relative;
}
.growth-grid article::after{
  content:"";position:absolute;width:150px;height:150px;right:-50px;top:-55px;border-radius:50%;
  background:radial-gradient(circle,rgba(37,155,209,.13),transparent 70%);transform:translateZ(30px);
}

.portfolio{padding:145px 0!important;background:#0a2119!important;color:#eef6ee!important}
.portfolio::before{
  background:
    radial-gradient(circle at 12% 18%,rgba(141,204,69,.12),transparent 24rem),
    radial-gradient(circle at 88% 74%,rgba(37,155,209,.10),transparent 30rem)!important;
}
.portfolio .eyebrow{color:#9fd56e!important}
.portfolio-intro>p:last-child{color:rgba(235,244,236,.68)!important}
.portfolio-grid{gap:16px!important}
.portfolio-item{
  min-height:320px!important;
  border-color:rgba(255,255,255,.10)!important;
  border-radius:26px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.095),rgba(255,255,255,.035))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;
  backdrop-filter:blur(12px);
  color:#f3f5ef!important;
}
.portfolio-item::before{background:radial-gradient(circle,rgba(141,204,69,.18),transparent 68%)!important}
.portfolio-item::after{
  content:"";position:absolute;inset:auto 18px 16px auto;width:46px;height:46px;border-radius:50%;
  border:1px solid rgba(255,255,255,.15);background:linear-gradient(135deg,rgba(141,204,69,.16),rgba(37,155,209,.13));
  transform:translateZ(36px);
}
.portfolio-item strong{color:#fff!important;transform:translateZ(24px)}
.portfolio-item p{color:rgba(234,243,235,.66)!important;transform:translateZ(15px)}
.portfolio-item em,.portfolio-item>span,.project-site-inline{color:#a8da77!important}
.portfolio-item:hover{background:linear-gradient(145deg,rgba(255,255,255,.145),rgba(255,255,255,.05))!important}

.insights-teaser{background:linear-gradient(180deg,#0a2119,#123326)!important;color:#fff!important}
.insights-teaser h2{color:#fff!important}

.community-impact{padding:145px 0!important;background:#f7f6f0!important}
.community-cards article{border-radius:24px!important;background:rgba(255,255,255,.82)!important}
.partnerships{padding:130px 0!important;background:linear-gradient(180deg,#e7ede3,#eef1e8)!important}

/* Leadership becomes the visual "command network" of the page. */
.leadership{padding:150px 0!important;background:#071c15!important;color:#edf4ed!important;overflow:hidden}
.leadership::before{
  background:
    radial-gradient(circle at 18% 8%,rgba(141,204,69,.10),transparent 25rem),
    radial-gradient(circle at 84% 62%,rgba(37,155,209,.12),transparent 30rem)!important;
}
.leadership .section-intro p,.leadership .founder-copy p,.leadership-functions p,.network-copy>p,.network-caption{color:rgba(235,245,236,.68)!important}
.leadership h2,.leadership h3,.leadership .founder-copy h3,.leadership .founder-copy h2{color:#fff!important}
.founder-feature,.network-leadership,.leadership-functions article{
  border-color:rgba(255,255,255,.10)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.035))!important;
  box-shadow:0 26px 70px rgba(0,0,0,.18)!important;
  backdrop-filter:blur(14px);
}
.founder-feature{perspective:1100px;transform-style:preserve-3d}
.founder-portrait-photo{transform:translateZ(30px);box-shadow:0 24px 55px rgba(0,0,0,.24)}
.founder-portrait-photo figcaption{background:rgba(255,255,255,.08)!important;color:#fff!important;border-color:rgba(255,255,255,.10)!important}
.network-leadership{perspective:1200px;transform:rotateX(1deg);transform-style:preserve-3d}
.network-principles span{background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.10)!important;color:#b8df8e!important}
.leadership-functions article>span{color:#82c9eb!important}
.leadership-functions em{color:#aad87f!important;border-color:rgba(255,255,255,.10)!important}

.hr-callout{background:linear-gradient(125deg,#eaf0e6,#f4eee1)!important}
.contact{padding:140px 0!important;background:#f4f1e7!important}
.contact-grid>div:last-child{border-radius:28px!important;box-shadow:0 24px 55px rgba(19,50,36,.08)!important}
footer{background:#081e17!important;color:rgba(255,255,255,.70)!important}

/* --- Internal pages: same spatial/3D design system ---------------------------- */
body.inner-page[data-3d-site]{background:linear-gradient(180deg,#f4f3ec,#ecefe8)}
.inner-page .site-header{position:sticky!important;top:12px!important}
.inner-page .project-hero,.content-page .leadership-page-hero{
  position:relative;overflow:hidden;isolation:isolate;
}
.inner-page .project-hero{
  padding:130px 0 90px!important;
  background:
    radial-gradient(circle at 82% 26%,rgba(37,155,209,.11),transparent 24rem),
    radial-gradient(circle at 70% 70%,rgba(141,204,69,.10),transparent 30rem),
    #edf0e8!important;
}
.inner-page .project-hero::after{
  content:"";position:absolute;z-index:-1;right:7%;top:18%;width:310px;height:310px;border-radius:50%;
  border:1px solid rgba(24,87,61,.16);box-shadow:inset 0 0 0 34px rgba(255,255,255,.18),inset 0 0 0 68px rgba(24,87,61,.025);
  transform:perspective(800px) rotateX(68deg) rotateZ(-16deg);
  animation:sanctuaryOrbit 16s linear infinite;
}
.inner-page .project-hero h1{max-width:1000px;font-size:clamp(54px,6vw,92px)!important;letter-spacing:-.055em!important;line-height:.92!important}
.project-body{padding:88px 0 130px!important}
.project-grid{perspective:1200px}
.project-grid>article,.project-side{
  border-radius:28px!important;
  background:rgba(255,255,255,.76)!important;
  border:1px solid rgba(19,62,43,.11)!important;
  box-shadow:0 24px 65px rgba(20,55,40,.08)!important;
}
.project-grid>article{padding:clamp(28px,4vw,54px)!important}
.project-side{transform:translateZ(18px);backdrop-filter:blur(12px)}

.content-page{background:linear-gradient(180deg,#f3f2eb,#eef1ea)}
.content-page .wrap{perspective:1200px}

/* --- Motion primitives -------------------------------------------------------- */
@keyframes sanctuaryOrbit{to{transform:perspective(800px) rotateX(68deg) rotateZ(344deg)}}
@keyframes softFloat{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-8px,0)}}

/* --- Responsive --------------------------------------------------------------- */
@media(max-width:1100px){
  .wrap,.hero-content{width:min(100% - 64px,1100px)!important}
  .hero-3d-stage{right:-16%;width:70vw;opacity:.74}
  .portfolio-grid{grid-template-columns:repeat(3,1fr)!important}
}
@media(max-width:850px){
  .wrap,.hero-content{width:min(100% - 40px,760px)!important}
  .site-header{top:8px!important;width:calc(100% - 16px)!important;border-radius:20px!important}
  .site-header .nav{height:70px!important}
  #primary-navigation{top:76px!important;border:1px solid rgba(15,53,37,.10)!important;border-radius:20px!important;background:rgba(247,247,241,.97)!important;box-shadow:0 22px 50px rgba(12,42,30,.16)!important}
  .hero.hero-3d{min-height:920px!important}
  .hero-content{padding:150px 0 100px!important}
  .hero-content h1{font-size:clamp(54px,11vw,84px)!important;max-width:720px!important}
  .hero-3d-stage{top:32%;right:-30%;width:110vw;height:62%;opacity:.48;mask-image:linear-gradient(180deg,transparent,black 18%,black)}
  .hero-3d-hud{display:none}
  .chapter{margin:10px!important;border-radius:26px!important;min-height:720px!important}
  .chapter-copy{padding:26px!important}
  .chapter-copy h2{font-size:clamp(44px,8vw,66px)!important}
  .portfolio-grid{grid-template-columns:1fr 1fr!important}
  .inner-page .project-hero{padding:110px 0 70px!important}
  .inner-page .project-hero::after{width:220px;height:220px;right:-60px;top:22%}
}
@media(max-width:560px){
  .wrap,.hero-content{width:calc(100% - 30px)!important}
  .hero.hero-3d{min-height:820px!important}
  .hero-content{padding:130px 0 80px!important}
  .hero-content h1{font-size:clamp(47px,14vw,68px)!important}
  .hero-content .lead{font-size:16px!important}
  .hero-3d-stage{top:39%;right:-53%;width:148vw;height:55%;opacity:.38}
  .statement,.lifecycle,.growth-focus,.portfolio,.community-impact,.partnerships,.leadership,.contact{padding-top:92px!important;padding-bottom:92px!important}
  .chapter{min-height:650px!important;margin:8px!important;border-radius:22px!important}
  .chapter-copy{padding:22px!important;border-radius:22px!important}
  .chapter-copy h2{font-size:43px!important}
  .portfolio-grid{grid-template-columns:1fr!important}
  .portfolio-item{min-height:270px!important}
  .lifecycle-track li:hover{transform:none}
  .inner-page .project-hero h1{font-size:clamp(45px,13vw,62px)!important}
}

/* --- Fallbacks / accessibility ------------------------------------------------ */
@supports not (backdrop-filter:blur(10px)){
  .site-header,.chapter-copy,.founder-feature,.network-leadership,.project-side{background:#f5f3ec!important}
  .chapter-copy{background:rgba(7,31,23,.94)!important}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .inner-page .project-hero::after{animation:none!important}
  [data-3d-grid]>*,.chapter-media,.lifecycle-track li{transition:none!important;transform:none!important}
  .sanctuary-3d-canvas{opacity:.52}
}


/* ========================================================================== */
/* v0.21.1 — APPROVED GLOBAL SANCTUARY HEADER                                 */
/* Mirrors the public Sanctuary Insights header across every static page.      */
/* ========================================================================== */

.site-header.global-approved-header,
.site-header.global-approved-header.is-scrolled{
  position:sticky!important;
  top:0!important;
  left:auto!important;
  right:auto!important;
  z-index:1000!important;
  width:100%!important;
  margin:0!important;
  border:0!important;
  border-bottom:1px solid rgba(20,33,27,.08)!important;
  border-radius:0!important;
  background:rgba(250,247,240,.96)!important;
  color:#14211b!important;
  box-shadow:none!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
  transform:none!important;
}

.site-header.global-approved-header .approved-nav-row{
  width:min(1180px,calc(100% - 56px))!important;
  min-height:80px!important;
  height:auto!important;
  margin:0 auto!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:22px!important;
}

.site-header.global-approved-header .approved-brand{
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  min-width:max-content!important;
  color:#14211b!important;
  text-decoration:none!important;
}

.site-header.global-approved-header .approved-brand .brand-logo{
  width:58px!important;
  height:58px!important;
  max-width:58px!important;
  object-fit:contain!important;
  filter:none!important;
}

.site-header.global-approved-header .approved-brand .brand-copy{
  display:flex!important;
  flex-direction:column!important;
  line-height:1.05!important;
}

.site-header.global-approved-header .approved-brand strong{
  color:#14211b!important;
  font-size:16px!important;
  font-weight:800!important;
  letter-spacing:.04em!important;
}

.site-header.global-approved-header .approved-brand small{
  margin-top:5px!important;
  color:#5d6b63!important;
  font-size:9px!important;
  font-weight:400!important;
}

.site-header.global-approved-header .approved-primary-navigation{
  position:static!important;
  display:flex!important;
  align-items:center!important;
  flex-direction:row!important;
  gap:18px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.site-header.global-approved-header .approved-primary-navigation a{
  position:relative!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#14211b!important;
  font-size:11px!important;
  font-weight:760!important;
  line-height:1.2!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}

.site-header.global-approved-header .approved-primary-navigation > a:not(.approved-nav-pill)::after{
  display:none!important;
}

.site-header.global-approved-header .approved-primary-navigation .approved-nav-pill{
  padding:10px 15px!important;
  border-radius:999px!important;
  color:#fff!important;
  box-shadow:0 8px 20px rgba(20,33,27,.08)!important;
}

.site-header.global-approved-header .approved-primary-navigation .approved-nav-insights{
  background:#7dcc35!important;
}

.site-header.global-approved-header .approved-primary-navigation .approved-nav-hr{
  background:#2c9fd1!important;
}

.site-header.global-approved-header .approved-nav-toggle{
  display:none!important;
  padding:8px 12px!important;
  border:1px solid rgba(20,33,27,.13)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#14211b!important;
  box-shadow:none!important;
  font:inherit!important;
  font-size:12px!important;
  font-weight:800!important;
}

@media(max-width:1180px){
  .site-header.global-approved-header .approved-primary-navigation{gap:11px!important}
  .site-header.global-approved-header .approved-primary-navigation a{font-size:10px!important}
  .site-header.global-approved-header .approved-primary-navigation .approved-nav-pill{padding:9px 12px!important}
}

@media(max-width:980px){
  .site-header.global-approved-header .approved-nav-row{position:relative!important}
  .site-header.global-approved-header .approved-nav-toggle{display:block!important}
  .site-header.global-approved-header .approved-primary-navigation{
    display:none!important;
    position:absolute!important;
    top:72px!important;
    left:0!important;
    right:0!important;
    z-index:1100!important;
    padding:16px!important;
    border:1px solid rgba(20,33,27,.13)!important;
    border-radius:16px!important;
    background:#faf7f0!important;
    box-shadow:0 18px 45px rgba(20,33,27,.10)!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:4px!important;
  }
  .site-header.global-approved-header .approved-primary-navigation.open{display:flex!important}
  .site-header.global-approved-header .approved-primary-navigation a{
    padding:9px 10px!important;
    border-radius:8px!important;
    font-size:12px!important;
  }
  .site-header.global-approved-header .approved-primary-navigation .approved-nav-pill{
    margin-top:2px!important;
    text-align:center!important;
  }
}

@media(max-width:700px){
  .site-header.global-approved-header .approved-nav-row{
    width:min(100% - 34px,1180px)!important;
  }
  .site-header.global-approved-header .approved-brand .brand-logo{
    width:48px!important;height:48px!important;max-width:48px!important;
  }
  .site-header.global-approved-header .approved-brand small{font-size:8px!important}
}

/* ========================================================================== */
/* v0.24A UI-ONLY: global animated header + readability fixes                 */
/* ========================================================================== */
:root{
  --ui24-text:#31443c;
  --ui24-text-strong:#14211b;
  --ui24-card:#fff;
}

body{color:var(--ui24-text)}
p,li{color:var(--ui24-text)}

/* Global header: visually integrated with the 3D redesign. */
.site-header.global-approved-header,
.site-header.global-approved-header.is-scrolled{
  position:sticky!important;
  top:0!important;
  z-index:1200!important;
  width:100%!important;
  margin:0!important;
  border:0!important;
  border-bottom:1px solid rgba(20,33,27,.08)!important;
  border-radius:0!important;
  background:linear-gradient(180deg,rgba(250,247,240,.98),rgba(250,247,240,.94))!important;
  color:#14211b!important;
  box-shadow:0 10px 34px rgba(16,37,29,.055)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
  transform:none!important;
  overflow:visible!important;
}
.site-header.global-approved-header::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 12% 0%,rgba(125,204,53,.11),transparent 21%),
    radial-gradient(circle at 87% 0%,rgba(44,159,209,.11),transparent 23%),
    linear-gradient(90deg,rgba(125,204,53,.06),transparent 22%,transparent 78%,rgba(44,159,209,.06));
}
.site-header.global-approved-header::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-1px;height:2px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(125,204,53,.32) 20%,rgba(44,159,209,.27) 50%,rgba(198,154,72,.22) 80%,transparent);
}
.site-header.global-approved-header .approved-nav-row{position:relative!important;z-index:1!important}
.site-header.global-approved-header .approved-primary-navigation > a:not(.approved-nav-pill){
  color:#22342d!important;
  padding:8px 0!important;
  font-size:11.5px!important;
}
.site-header.global-approved-header .approved-primary-navigation > a:not(.approved-nav-pill)::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:0!important;right:0!important;bottom:-2px!important;
  height:2px!important;border-radius:999px!important;
  background:linear-gradient(90deg,#7dcc35,#2c9fd1)!important;
  transform:scaleX(0)!important;
  transform-origin:left center!important;
  transition:transform .24s ease!important;
}
.site-header.global-approved-header .approved-primary-navigation > a:not(.approved-nav-pill):hover::after,
.site-header.global-approved-header .approved-primary-navigation > a:not(.approved-nav-pill):focus-visible::after{
  transform:scaleX(1)!important;
}
.site-header.global-approved-header .approved-primary-navigation .approved-nav-pill{
  font-size:11.5px!important;
  font-weight:800!important;
  box-shadow:0 10px 24px rgba(20,33,27,.09)!important;
}
.site-header.global-approved-header .approved-primary-navigation .approved-nav-insights{
  background:linear-gradient(135deg,#95d63f,#7dcc35)!important;
}
.site-header.global-approved-header .approved-primary-navigation .approved-nav-hr{
  background:linear-gradient(135deg,#52b4df,#2c9fd1)!important;
}

/* General contrast fixes for the areas shown in the screenshots. */
.content-page p,.content-page li,
.project-grid p,.project-grid li,
.project-side,.project-side p,.project-side li,.project-side strong,
.project-side a:not(.official-site-cta),
.statement-copy p,
.community-grid>div:last-child>p,
.founder-copy p,
.leadership-functions p,
.network-copy>p,.network-caption,
.case-study-grid .project-card-main p,
.case-study-grid .project-card-main .case-legal-meta,
.portfolio-item p,
.inner-page .project-hero p:not(.eyebrow),
.leadership-page-hero p:not(.eyebrow),
.breadcrumbs{
  color:#3f5148!important;
}

/* Pale sections and project cards must remain opaque enough for text. */
.project-grid>article,.project-side,
.content-grid>article,.sidebar-card,
.community-cards article,
.case-study-grid .project-card{
  background:rgba(255,255,255,.96)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  box-shadow:0 18px 48px rgba(20,33,27,.07)!important;
}

.project-side,.standardized-project-side{background:#fff!important}

.official-site-cta,.project-site-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:46px!important;
  padding:10px 14px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#173e31,#1f4b3b)!important;
  color:#fff!important;
  text-decoration:none!important;
  font-weight:800!important;
  box-shadow:0 10px 26px rgba(20,58,45,.14)!important;
}
.project-site-button{margin-top:14px!important}

.founder-portrait-photo figcaption{
  background:rgba(15,38,29,.91)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.10)!important;
}

/* The node and its label remain a single visual unit on hover. */
.network-node,.network-node text,.network-particles circle{pointer-events:none!important}
.cinematic-network .network-node:not(.network-core) circle{
  transition:stroke .22s ease,filter .22s ease,fill .22s ease!important;
}
.cinematic-network .network-node:not(.network-core):hover circle{
  transform:none!important;
  stroke:#255846!important;
  filter:drop-shadow(0 7px 12px rgba(20,33,27,.10))!important;
}

/* Dark leadership section gets explicit high-contrast text. */
.leadership .section-intro p,
.leadership .founder-copy p,
.leadership .network-copy>p,
.leadership .network-caption,
.leadership .leadership-functions p{
  color:rgba(241,248,244,.88)!important;
}
.leadership .founder-feature,
.leadership .network-leadership,
.leadership .leadership-functions article{
  background:rgba(255,255,255,.09)!important;
  border-color:rgba(255,255,255,.12)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.leadership .network-principles span{color:#cce5d2!important}

/* Keep the inner-page hero clear of the sticky header. */
.inner-page .project-hero{padding-top:148px!important}
@media(max-width:850px){
  .inner-page .project-hero{padding-top:126px!important}
  .site-header.global-approved-header .approved-primary-navigation{
    background:rgba(250,247,240,.985)!important;
    backdrop-filter:blur(18px)!important;
    -webkit-backdrop-filter:blur(18px)!important;
  }
}
@media(max-width:560px){.inner-page .project-hero{padding-top:108px!important}}


/* ========================================================================== */
/* v0.24B VISUAL CORRECTIONS — accumulated user review fixes                  */
/* ========================================================================== */

/* A. Educational Support chapter: high-contrast white copy on the dark glass. */
.chapter-learning .chapter-copy,
.chapter-learning .chapter-copy h2,
.chapter-learning .chapter-copy p,
.chapter-learning .chapter-copy .chapter-number,
.chapter-learning .chapter-copy .chapter-number span,
.chapter-learning .chapter-copy .chapter-link{
  color:#fff!important;
  text-shadow:0 2px 18px rgba(0,0,0,.36)!important;
}
.chapter-learning .chapter-copy p{color:rgba(255,255,255,.88)!important}
.chapter-learning .chapter-copy .chapter-number,
.chapter-learning .chapter-copy .chapter-number span{color:rgba(255,255,255,.72)!important}
.chapter-learning .chapter-copy .chapter-link{color:#d9f3c5!important}
.chapter-learning .chapter-copy{
  background:linear-gradient(145deg,rgba(6,29,22,.80),rgba(6,29,22,.48))!important;
  border-color:rgba(255,255,255,.20)!important;
}

/* B. Standard breathing room for long-form white content panels. */
.content-page .content-grid > article,
.content-page .project-grid > article{
  padding:clamp(34px,4.2vw,58px)!important;
}
.content-page .content-grid > article > :first-child,
.content-page .project-grid > article > :first-child{margin-top:0!important}
@media(max-width:700px){
  .content-page .content-grid > article,
  .content-page .project-grid > article{padding:24px!important}
}

/* C. About section becomes a living, lightweight 3D network. */
.statement-about-3d{overflow:hidden!important}
.statement-about-3d .statement-grid{grid-template-columns:minmax(0,1.05fr) minmax(330px,.95fr)!important;gap:clamp(44px,7vw,100px)!important}
.about-visual-column{min-width:0}
.about-network{
  position:relative;
  width:min(100%,620px);
  height:330px;
  margin-top:34px;
  perspective:1000px;
  border:1px solid rgba(23,79,57,.11);
  border-radius:30px;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 50%,rgba(125,204,53,.09),transparent 28%),
    radial-gradient(circle at 80% 16%,rgba(44,159,209,.08),transparent 25%),
    linear-gradient(145deg,rgba(255,255,255,.78),rgba(233,240,232,.68));
  box-shadow:0 24px 60px rgba(18,56,40,.09),inset 0 1px 0 rgba(255,255,255,.65);
}
.about-network::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.38;
  background-image:linear-gradient(rgba(23,79,57,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(23,79,57,.045) 1px,transparent 1px);
  background-size:36px 36px;
  mask-image:radial-gradient(circle at center,black,transparent 78%);
}
.about-network-stage{
  position:absolute;inset:0;
  transform-style:preserve-3d;
  transform:rotateX(4deg) rotateY(-4deg);
  transition:transform .22s ease-out;
}
.about-core{
  position:absolute;left:50%;top:50%;width:132px;height:132px;
  transform:translate(-50%,-50%) translateZ(46px);
  border-radius:50%;display:grid;place-items:center;align-content:center;gap:2px;text-align:center;
  background:linear-gradient(145deg,#173e31,#0d2b21);
  border:2px solid rgba(169,207,155,.78);
  box-shadow:0 22px 45px rgba(12,50,36,.20),0 0 0 14px rgba(125,204,53,.05),0 0 55px rgba(44,159,209,.10);
  color:#fff;animation:aboutCoreBreathe 4.6s ease-in-out infinite;
}
.about-core span{font-family:Georgia,serif;font-size:28px;line-height:1;color:#cfe9b5}.about-core strong{font-size:10px;letter-spacing:.10em}.about-core small{font-size:8px;color:rgba(255,255,255,.60)}
.about-orbit{position:absolute;left:50%;top:50%;border:1px solid rgba(23,79,57,.16);border-radius:50%;transform-style:preserve-3d;pointer-events:none}
.about-orbit-a{width:410px;height:205px;transform:translate(-50%,-50%) rotateX(68deg) rotateZ(8deg);animation:aboutOrbitA 18s linear infinite}
.about-orbit-b{width:300px;height:300px;transform:translate(-50%,-50%) rotateX(72deg) rotateZ(56deg);border-color:rgba(44,159,209,.13);animation:aboutOrbitB 23s linear infinite reverse}
.about-node{
  position:absolute;left:50%;top:50%;width:86px;height:86px;margin:-43px;
  display:grid;place-items:center;text-align:center;border-radius:50%;
  color:#153b2e;background:rgba(255,255,255,.94);border:1.5px solid rgba(31,101,73,.34);
  box-shadow:0 12px 26px rgba(19,62,44,.10);font-size:11px;font-weight:800;
  transform-style:preserve-3d;will-change:transform;
}
.about-node-1{transform:translate3d(-205px,-86px,20px)}
.about-node-2{transform:translate3d(202px,-82px,-15px)}
.about-node-3{transform:translate3d(214px,92px,28px)}
.about-node-4{transform:translate3d(-205px,92px,-10px)}
.about-node-5{transform:translate3d(0,-126px,-30px)}
.about-node-6{transform:translate3d(0,126px,18px)}
.about-pulse{position:absolute;width:8px;height:8px;border-radius:50%;background:#2c9fd1;box-shadow:0 0 0 7px rgba(44,159,209,.07);animation:aboutPulse 3s ease-in-out infinite}
.about-pulse-1{left:31%;top:39%}.about-pulse-2{right:29%;top:60%;animation-delay:1s;background:#7dcc35}.about-pulse-3{left:53%;top:24%;animation-delay:2s;background:#c59f5c}
@keyframes aboutCoreBreathe{0%,100%{transform:translate(-50%,-50%) translateZ(46px) scale(1)}50%{transform:translate(-50%,-50%) translateZ(55px) scale(1.035)}}
@keyframes aboutOrbitA{to{transform:translate(-50%,-50%) rotateX(68deg) rotateZ(368deg)}}
@keyframes aboutOrbitB{to{transform:translate(-50%,-50%) rotateX(72deg) rotateZ(416deg)}}
@keyframes aboutPulse{0%,100%{opacity:.35;transform:scale(.75)}50%{opacity:1;transform:scale(1.2)}}

/* D. Floating 3D/glass global header that follows viewport while scrolling. */
body[data-3d-site]{padding-top:0!important}
.site-header.global-approved-header,
.site-header.global-approved-header.is-scrolled{
  position:sticky!important;
  top:12px!important;
  z-index:1500!important;
  width:min(1320px,calc(100% - 32px))!important;
  margin:0 auto!important;
  border:1px solid rgba(255,255,255,.72)!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,rgba(250,247,240,.92),rgba(250,247,240,.84))!important;
  box-shadow:0 16px 42px rgba(15,48,35,.11),inset 0 1px 0 rgba(255,255,255,.72)!important;
  backdrop-filter:blur(22px) saturate(1.18)!important;
  -webkit-backdrop-filter:blur(22px) saturate(1.18)!important;
  transform:translateZ(0)!important;
  transition:min-height .25s ease,background .25s ease,box-shadow .25s ease,transform .25s ease!important;
  overflow:visible!important;
}
.site-header.global-approved-header::before{
  border-radius:inherit!important;
  background:
    radial-gradient(circle at var(--header-light-x,18%) 0%,rgba(125,204,53,.17),transparent 24%),
    radial-gradient(circle at calc(100% - var(--header-light-x,18%)) 0%,rgba(44,159,209,.14),transparent 25%),
    linear-gradient(100deg,rgba(125,204,53,.05),transparent 32%,rgba(44,159,209,.05))!important;
  animation:headerLightTravel 9s ease-in-out infinite alternate;
}
.site-header.global-approved-header::after{left:24px!important;right:24px!important;border-radius:999px!important}
.site-header.global-approved-header .approved-nav-row{min-height:78px!important;transition:min-height .25s ease!important}
.site-header.global-approved-header.is-scrolled{
  background:linear-gradient(180deg,rgba(250,247,240,.96),rgba(250,247,240,.91))!important;
  box-shadow:0 20px 52px rgba(15,48,35,.16),inset 0 1px 0 rgba(255,255,255,.82)!important;
  transform:translateY(1px) translateZ(0)!important;
}
.site-header.global-approved-header.is-scrolled .approved-nav-row{min-height:66px!important}
@keyframes headerLightTravel{from{--header-light-x:12%}to{--header-light-x:38%}}

/* Normal menu links get the line; CTA pills never do. */
.site-header.global-approved-header .approved-nav-pill::after,
.site-header.global-approved-header .approved-nav-insights::after,
.site-header.global-approved-header .approved-nav-hr::after{
  content:none!important;display:none!important;
}
.site-header.global-approved-header .approved-nav-pill{
  transition:transform .2s ease,filter .2s ease,box-shadow .2s ease!important;
}
.site-header.global-approved-header .approved-nav-pill:hover,
.site-header.global-approved-header .approved-nav-pill:focus-visible{
  transform:translateY(-2px) translateZ(8px)!important;
  filter:brightness(1.04)!important;
  text-decoration:none!important;
}
.site-header.global-approved-header .approved-nav-insights:hover{box-shadow:0 13px 30px rgba(125,204,53,.24)!important}
.site-header.global-approved-header .approved-nav-hr:hover{box-shadow:0 13px 30px rgba(44,159,209,.24)!important}

/* E. Leadership SVG node hover must never detach label and circle. */
.cinematic-network .network-node:not(.network-core) circle,
.cinematic-network .network-node:not(.network-core):hover circle{
  transform:none!important;
  transform-origin:center!important;
}
.cinematic-network .network-node:not(.network-core):hover circle{
  stroke:#4d8ead!important;
  filter:drop-shadow(0 9px 16px rgba(77,142,173,.18))!important;
}

@media(max-width:960px){
  .statement-about-3d .statement-grid{grid-template-columns:1fr!important}
  .about-network{height:300px}
  .site-header.global-approved-header{top:8px!important;width:calc(100% - 16px)!important;border-radius:18px!important}
}
@media(max-width:620px){
  .about-network{height:250px}
  .about-core{width:106px;height:106px}
  .about-node{width:66px;height:66px;margin:-33px;font-size:9px}
  .about-node-1{transform:translate3d(-130px,-64px,20px)}
  .about-node-2{transform:translate3d(130px,-62px,-15px)}
  .about-node-3{transform:translate3d(132px,68px,28px)}
  .about-node-4{transform:translate3d(-132px,68px,-10px)}
  .about-node-5{transform:translate3d(0,-94px,-30px)}
  .about-node-6{transform:translate3d(0,94px,18px)}
  .about-orbit-a{width:270px;height:140px}.about-orbit-b{width:215px;height:215px}
}
@media(prefers-reduced-motion:reduce){
  .about-core,.about-orbit,.about-pulse,.site-header.global-approved-header::before{animation:none!important}
  .about-network-stage{transform:none!important}
}


/* ========================================================================== */
/* v0.24C - INSIGHTS HEADER PARITY + CINEMATIC ABOUT/HERO                    */
/* The public main-site header intentionally uses the exact Insights markup.  */
/* ========================================================================== */
.insight-wrap{width:min(1180px,calc(100% - 56px));margin:auto}
.insight-header{
  position:sticky!important;top:12px!important;z-index:1800!important;
  width:min(1320px,calc(100% - 32px))!important;margin:0 auto!important;
  border:1px solid rgba(255,255,255,.72)!important;border-radius:22px!important;
  background:linear-gradient(180deg,rgba(250,247,240,.95),rgba(250,247,240,.88))!important;
  box-shadow:0 16px 42px rgba(15,48,35,.11),inset 0 1px 0 rgba(255,255,255,.72)!important;
  backdrop-filter:blur(22px) saturate(1.18)!important;-webkit-backdrop-filter:blur(22px) saturate(1.18)!important;
  overflow:visible!important;
}
.insight-header::before{
  content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit!important;
  background:radial-gradient(circle at 18% 0%,rgba(125,204,53,.16),transparent 24%),radial-gradient(circle at 82% 0%,rgba(44,159,209,.13),transparent 25%),linear-gradient(100deg,rgba(125,204,53,.05),transparent 32%,rgba(44,159,209,.05))!important;
}
.insight-header::after{
  content:"";position:absolute;left:24px!important;right:24px!important;bottom:-1px;height:2px;pointer-events:none;border-radius:999px!important;
  background:linear-gradient(90deg,transparent,rgba(125,204,53,.32) 20%,rgba(44,159,209,.27) 50%,rgba(198,154,72,.22) 80%,transparent);
}
.nav-row{position:relative;z-index:1;min-height:78px!important;display:flex;align-items:center;justify-content:space-between;gap:22px;transition:min-height .25s ease!important}
.insight-brand{display:flex;align-items:center;gap:11px;text-decoration:none;min-width:max-content;color:#14211b}
.insight-brand img{width:58px;height:58px;object-fit:contain}.insight-brand span{display:flex;flex-direction:column;line-height:1.05}.insight-brand strong{font-size:16px;letter-spacing:.04em}.insight-brand small{font-size:9px;margin-top:5px;color:#5d6b63}
.nav-row nav{display:flex;align-items:center;gap:18px}.nav-row nav a{position:relative;text-decoration:none;font-size:11px;font-weight:760;white-space:nowrap;color:#22342d}
.nav-row nav a:not(.nav-pill)::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;border-radius:999px;background:linear-gradient(90deg,#7dcc35,#2c9fd1);transform:scaleX(0);transform-origin:left center;transition:transform .24s ease}.nav-row nav a:not(.nav-pill):hover::after,.nav-row nav a:not(.nav-pill):focus-visible::after{transform:scaleX(1)}
.nav-pill{padding:10px 15px;border-radius:999px;color:#fff!important;box-shadow:0 10px 24px rgba(20,33,27,.09);transition:transform .2s ease,filter .2s ease,box-shadow .2s ease!important}.nav-pill::after{content:none!important;display:none!important}.nav-insights{background:linear-gradient(135deg,#95d63f,#7dcc35)}.nav-hr{background:linear-gradient(135deg,#52b4df,#2c9fd1)}.nav-pill:hover,.nav-pill:focus-visible{transform:translateY(-2px)!important;filter:brightness(1.04)!important;text-decoration:none!important}.nav-insights:hover{box-shadow:0 13px 30px rgba(125,204,53,.24)!important}.nav-hr:hover{box-shadow:0 13px 30px rgba(44,159,209,.24)!important}
.nav-toggle{display:none;border:1px solid rgba(20,33,27,.13);border-radius:999px;background:#fff;padding:8px 12px;font:inherit;font-size:12px;font-weight:800;color:#14211b}
/* Remove the former full-width header visual shell entirely. */
body>.site-header,body>.global-approved-header{display:none!important}

/* Hero message becomes a visual operating pathway rather than two huge text statements. */
.hero-content h1{max-width:760px!important;font-size:clamp(58px,6.1vw,98px)!important;line-height:.92!important}
.hero-pathways{display:grid;gap:9px;margin:28px 0 24px;max-width:820px}
.hero-pathway{display:grid;grid-template-columns:max-content 1fr max-content 1fr max-content 1fr max-content;align-items:center;gap:9px;padding:10px 13px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(8,35,26,.36);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:rgba(244,248,243,.72)}
.hero-pathway b{color:#d3eca7}.hero-pathway strong{color:#fff}.hero-pathway i{position:relative;height:1px;background:linear-gradient(90deg,rgba(141,204,69,.30),rgba(37,155,209,.70));overflow:visible}.hero-pathway i::after{content:"";position:absolute;top:-2px;left:0;width:5px;height:5px;border-radius:50%;background:#b7e07a;box-shadow:0 0 12px rgba(183,224,122,.65);animation:pathwayPulse 3.4s linear infinite}.hero-pathway:nth-child(2) i::after{animation-delay:1.2s;background:#6bc6e9}
@keyframes pathwayPulse{0%{left:0;opacity:0}12%{opacity:1}88%{opacity:1}100%{left:calc(100% - 5px);opacity:0}}

/* Cinematic Who We Are: no PowerPoint-like cards; the visual is a projected canvas. */
.about-cinematic{position:relative;isolation:isolate;overflow:hidden;padding:135px 0;background:radial-gradient(circle at 80% 30%,rgba(37,155,209,.10),transparent 28rem),radial-gradient(circle at 16% 75%,rgba(141,204,69,.08),transparent 25rem),linear-gradient(145deg,#071b15,#102d22 58%,#0a2119);color:#eef6ef}
.about-cinematic::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(174,218,194,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(174,218,194,.035) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,black,transparent 85%)}
.about-cinematic-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(500px,1.18fr);gap:70px;align-items:center}
.about-cinematic-copy .eyebrow{color:#b6dd8e!important}.about-cinematic-copy h2{margin:0 0 28px;font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:clamp(52px,5vw,80px);line-height:.96;letter-spacing:-.05em;color:#fff}.about-cinematic-copy>p{max-width:610px;color:rgba(236,245,238,.78)!important;font-size:17px}.about-cinematic-copy>p+p{margin-top:16px}
.about-capabilities{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}.about-capabilities span{padding:8px 11px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.055);color:#dbeadc;font-size:10px;font-weight:800;letter-spacing:.04em}
.about-cinematic-visual{position:relative;height:520px;perspective:1100px}.about-cinematic-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;filter:drop-shadow(0 28px 55px rgba(0,0,0,.18))}.about-core-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:148px;height:148px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid rgba(191,230,179,.52);background:radial-gradient(circle at 34% 24%,rgba(128,198,84,.22),transparent 28%),rgba(9,38,28,.84);box-shadow:0 0 0 14px rgba(141,204,69,.035),0 18px 48px rgba(0,0,0,.28),inset 0 0 30px rgba(141,204,69,.06);backdrop-filter:blur(12px);pointer-events:none}.about-core-badge small{font-size:9px;letter-spacing:.18em;color:#a9d97d}.about-core-badge strong{font-family:Georgia,serif;font-size:31px;color:#fff;line-height:1}.about-core-badge em{margin-top:7px;font-style:normal;font-size:8px;color:rgba(232,242,234,.58)}
.about-depth-label{position:absolute;min-width:90px;padding:10px 12px;text-align:center;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(12,43,32,.70);backdrop-filter:blur(9px);color:#e7f2e8;font-size:10px;font-weight:800;box-shadow:0 12px 30px rgba(0,0,0,.18);pointer-events:none;transition:transform .2s ease}.label-strategy{left:8%;top:21%}.label-people{right:5%;top:18%}.label-delivery{right:2%;bottom:22%}.label-human{left:5%;bottom:17%}.label-education{left:45%;top:5%}.label-growth{left:47%;bottom:3%}
@media(max-width:980px){.insight-header{top:8px!important;width:calc(100% - 16px)!important;border-radius:18px!important}.nav-row{position:relative}.nav-toggle{display:block}.nav-row nav{display:none;position:absolute;top:72px;left:0;right:0;padding:16px;background:#faf7f0;border:1px solid rgba(20,33,27,.13);border-radius:16px;box-shadow:0 18px 45px rgba(20,33,27,.1);flex-direction:column;align-items:stretch;gap:4px}.nav-row nav.open{display:flex}.nav-row nav a{font-size:12px;padding:9px 10px;border-radius:8px}.nav-pill{text-align:center;margin-top:2px}.about-cinematic-grid{grid-template-columns:1fr}.about-cinematic-visual{height:430px}.hero-pathway{grid-template-columns:max-content 1fr max-content 1fr max-content;}.hero-pathway span:nth-of-type(2),.hero-pathway i:nth-of-type(3){display:none}}
@media(max-width:700px){.insight-wrap{width:min(100% - 34px,1180px)}.insight-brand img{width:48px;height:48px}.insight-brand small{font-size:8px}.about-cinematic{padding:95px 0}.about-cinematic-visual{height:350px}.about-depth-label{font-size:8px;min-width:72px;padding:8px}.about-core-badge{width:118px;height:118px}.about-core-badge strong{font-size:25px}.hero-pathways{display:none}}
@media(prefers-reduced-motion:reduce){.hero-pathway i::after{animation:none}.about-cinematic-canvas{opacity:.65}}


/* ========================================================================== */
/* v0.24E — SEAMLESS STORY STACK + TRUE STICKY INSIGHTS-PARITY HEADER         */
/* ========================================================================== */

/*
  IMPORTANT:
  `overflow-x:hidden` on html/body creates a scrolling ancestor in modern
  browsers and can prevent `position:sticky` from following the viewport.
  `clip` suppresses horizontal spill without creating that sticky-breaking
  scroll container. This is the key header fix.
*/
html,
body,
body[data-3d-site]{
  overflow-x:clip!important;
  overflow-y:visible!important;
}

/* Exact floating behaviour expected from the public Insights header. */
body > .insight-header{
  position:sticky!important;
  top:12px!important;
  z-index:5000!important;
  width:min(1320px,calc(100% - 32px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
  isolation:isolate;
  will-change:transform;
}

/*
  The service chapters are one continuous visual story, not a stack of
  unrelated floating cards. Remove the ivory gutters / rounded outer shells.
*/
.home-page main > .chapter{
  width:100%!important;
  margin:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

/* A hairline transition keeps sections legible without creating a visible gap. */
.home-page main > .chapter + .chapter{
  border-top:1px solid rgba(236,244,239,.10)!important;
}

/* Remove any gap at the transition from About into the service sequence. */
.home-page .about-cinematic + .chapter{
  margin-top:0!important;
  border-top:1px solid rgba(236,244,239,.08)!important;
}

/*
  Keep all four service chapters on the same visual system. Educational
  Support previously retained remnants of a light-card treatment.
*/
.home-page .chapter-learning{
  color:#fff!important;
}
.home-page .chapter-learning .chapter-shade{
  background:
    linear-gradient(270deg,rgba(5,28,21,.90),rgba(5,28,21,.50) 54%,rgba(5,28,21,.18))!important,
    linear-gradient(0deg,rgba(5,28,21,.30),transparent 65%)!important;
}
.home-page .chapter-learning .chapter-copy{
  color:#fff!important;
  background:linear-gradient(145deg,rgba(8,35,26,.66),rgba(8,35,26,.28))!important;
  border:1px solid rgba(255,255,255,.16)!important;
}
.home-page .chapter-learning .chapter-copy h2{
  color:#fff!important;
}
.home-page .chapter-learning .chapter-copy p{
  color:rgba(255,255,255,.88)!important;
}
.home-page .chapter-learning .chapter-number,
.home-page .chapter-learning .chapter-number span{
  color:rgba(255,255,255,.72)!important;
}
.home-page .chapter-learning .chapter-link{
  color:#d9f3c5!important;
  border-color:rgba(255,255,255,.55)!important;
}

/* Desktop/tablet/mobile must not reintroduce chapter gutters. */
@media(max-width:850px){
  .home-page main > .chapter{
    margin:0!important;
    border-radius:0!important;
  }
}
@media(max-width:560px){
  .home-page main > .chapter{
    margin:0!important;
    border-radius:0!important;
  }
}

/* Browser fallback: if clip is unavailable, favour working sticky navigation. */
@supports not (overflow:clip){
  html,
  body,
  body[data-3d-site]{
    overflow-x:visible!important;
  }
}


/* ========================================================================== */
/* v0.24F — HEADER OVER CONTENT: remove the cream band behind floating nav    */
/* ========================================================================== */
body > .insight-header{
  margin-bottom:-102px!important;
}
/* The first page section now continues underneath the floating header. */
.home-page > main,
.inner-page > main{
  position:relative;
  z-index:0;
}
/* Keep inner-page content clear of the overlaid nav while preserving continuity. */
.content-page{padding-top:150px!important}
.inner-page .project-hero{padding-top:158px!important}
@media(max-width:980px){
  body > .insight-header{margin-bottom:-92px!important}
  .content-page{padding-top:132px!important}
  .inner-page .project-hero{padding-top:138px!important}
}
@media(max-width:560px){
  body > .insight-header{margin-bottom:-80px!important}
  .content-page{padding-top:116px!important}
  .inner-page .project-hero{padding-top:122px!important}
}

/* v0.26 semantic services directory */
.service-list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:28px 0 34px}
.service-list-card{padding:22px 24px;border:1px solid rgba(22,58,43,.14);border-radius:22px;background:rgba(255,255,255,.62)}
.service-list-card h2{font-size:1.25rem;margin:0 0 8px}
.service-list-card h2 a{text-decoration:none;color:inherit}
.service-list-card p{margin:0}
@media(max-width:760px){.service-list-grid{grid-template-columns:1fr}}

/* v0.27 publications and authority archive */
.publications-hero{padding:90px 0 42px}
.publications-hero h1{max-width:980px}
.publications-lead{max-width:860px;font-size:1.12rem;line-height:1.75}
.archive-note{margin-top:22px;padding:16px 18px;border-left:3px solid rgba(55,106,79,.55);background:rgba(255,255,255,.48);border-radius:0 16px 16px 0}
.publication-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0}
.publication-tabs a{padding:9px 13px;border-radius:999px;border:1px solid rgba(25,67,49,.16);text-decoration:none;background:rgba(255,255,255,.62)}
.publication-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0 44px}
.publication-card{padding:22px 24px;border:1px solid rgba(22,58,43,.14);border-radius:22px;background:rgba(255,255,255,.64)}
.publication-card h2{font-size:1.28rem;margin:6px 0 10px}
.publication-card h2 a{text-decoration:none;color:inherit}
.publication-meta{display:flex;gap:8px;flex-wrap:wrap;font-size:.85rem;opacity:.72;margin-bottom:10px}
.publication-type{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:#315d48}
.publication-record{max-width:940px;margin:0 auto}
.publication-record .record-meta{display:grid;grid-template-columns:160px 1fr;gap:8px 18px;margin:26px 0;padding:20px 0;border-top:1px solid rgba(22,58,43,.14);border-bottom:1px solid rgba(22,58,43,.14)}
.publication-record .record-meta dt{font-weight:700}
.publication-record .record-meta dd{margin:0}
.topic-chips{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}
.topic-chips span{padding:7px 10px;border-radius:999px;background:rgba(31,92,64,.08);font-size:.85rem}
.source-button{display:inline-flex;align-items:center;gap:7px;margin-top:16px}
@media(max-width:760px){.publication-grid{grid-template-columns:1fr}.publication-record .record-meta{grid-template-columns:1fr}.publications-hero{padding-top:64px}}

/* v0.28 authority archive + breathing room */
.archive-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:30px}
.archive-category-card{display:flex;flex-direction:column;gap:7px;padding:22px 24px;border:1px solid rgba(22,58,43,.14);border-radius:20px;background:rgba(255,255,255,.62);text-decoration:none;color:inherit}
.archive-category-card strong{font-family:Georgia,serif;font-size:1.65rem;line-height:1}.archive-category-card span{font-weight:650;line-height:1.35}
.taxonomy-section{padding:54px 0 30px}.taxonomy-intro{max-width:830px;line-height:1.75}.taxonomy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:26px}
.taxonomy-card{text-align:left;padding:26px 28px;border:1px solid rgba(22,58,43,.14);border-radius:24px;background:rgba(255,255,255,.64);cursor:pointer;color:inherit}
.taxonomy-card h3{margin:9px 0;font-size:1.28rem}.taxonomy-card p{margin:0;line-height:1.62}.taxonomy-count{display:inline-grid;place-items:center;min-width:34px;height:34px;padding:0 9px;border-radius:999px;background:#173e2e;color:#fff;font-weight:700}
.archive-section{padding:34px 0 72px}.archive-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}.archive-reset{padding:10px 15px;border:1px solid rgba(22,58,43,.18);border-radius:999px;background:#fff;cursor:pointer}.archive-filter-status{margin:10px 0 24px;opacity:.72}
.publication-grid-roomy{gap:24px}.publication-grid-roomy .publication-card{padding:30px 32px 28px;min-height:285px}.publication-grid-roomy .publication-card h2{margin:12px 0 16px;line-height:1.15}.publication-grid-roomy .publication-card p{line-height:1.72;margin-bottom:20px}.publication-card[hidden]{display:none!important}
.authority-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding-bottom:76px}.authority-link-card{padding:27px 29px;border-radius:22px;border:1px solid rgba(22,58,43,.14);background:rgba(255,255,255,.62);text-decoration:none;color:inherit}.authority-link-card span{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:700;color:#3f7058}.authority-link-card strong{display:block;font-family:Georgia,serif;font-size:1.32rem;margin:8px 0 10px}.authority-link-card p{margin:0;line-height:1.62}
.portfolio-subhead{margin:32px 0 18px}.professional-projects-section{padding-top:68px}.compact-section-head{max-width:920px}.professional-project-card{background:linear-gradient(145deg,rgba(248,251,248,.98),rgba(237,246,241,.9))}
@media(max-width:900px){.archive-category-grid,.authority-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.taxonomy-grid,.archive-category-grid,.authority-link-grid{grid-template-columns:1fr}.publication-grid-roomy .publication-card{padding:24px 22px}}


/* ==========================================================================
   Sanctuary v0.28.3 — /projects/ clean card layout
   Fixes fixed-row title overlap + excessive empty bottom space.
   Scoped to the projects portfolio only.
   ========================================================================== */

.inner-page .portfolio{
  background:#082d22;
}

.inner-page .portfolio > .wrap{
  width:min(1180px,calc(100% - 40px));
  margin-inline:auto;
}

.inner-page .portfolio .section-head{
  max-width:920px;
}

.inner-page .portfolio .section-head .eyebrow,
.inner-page .portfolio .portfolio-subhead{
  color:#a7d86f!important;
}

.inner-page .portfolio .section-head h2,
.inner-page .portfolio .portfolio-subhead{
  color:#fff!important;
}

.inner-page .portfolio .section-head p{
  color:rgba(239,247,242,.78)!important;
  line-height:1.72!important;
}

/* Main Sanctuary grid and earlier-professional grid both use natural content
   flow. This overrides the old fixed grid-template-rows system. */
.inner-page .portfolio .case-study-grid .project-card{
  display:flex!important;
  flex-direction:column!important;
  justify-content:stretch!important;
  min-height:350px!important;
  padding:26px!important;
  background:linear-gradient(145deg,#fbfcf9 0%,#f0f5ee 100%)!important;
  border:1px solid rgba(149,176,153,.34)!important;
  border-radius:22px!important;
  box-shadow:0 16px 38px rgba(0,0,0,.10)!important;
  overflow:hidden!important;
}

.inner-page .portfolio .case-study-grid .project-card::before{
  top:auto!important;
  bottom:-62px!important;
  right:-62px!important;
  width:150px!important;
  height:150px!important;
  background:radial-gradient(circle,rgba(124,188,93,.17),transparent 69%)!important;
}

.inner-page .portfolio .case-study-grid .project-card-main{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  grid-template-rows:none!important;
  align-content:normal!important;
  gap:0!important;
  min-height:0!important;
}

.inner-page .portfolio .case-study-grid .project-card-main .portfolio-no{
  min-height:0!important;
  margin:0 0 14px!important;
  color:#587b4b!important;
  font-size:11px!important;
  font-weight:850!important;
  line-height:1.45!important;
  letter-spacing:.06em!important;
}

.inner-page .portfolio .case-study-grid .project-card-main strong{
  min-height:0!important;
  margin:0 0 12px!important;
  color:#172a20!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(23px,1.75vw,29px)!important;
  font-weight:600!important;
  line-height:1.08!important;
  overflow:visible!important;
}

.inner-page .portfolio .case-study-grid .project-card-main .case-legal-meta{
  min-height:0!important;
  margin:0 0 15px!important;
  color:#31463a!important;
  font-size:10px!important;
  font-weight:850!important;
  line-height:1.45!important;
  letter-spacing:.055em!important;
}

.inner-page .portfolio .case-study-grid .project-card-main p{
  min-height:0!important;
  margin:0!important;
  color:#52645a!important;
  font-size:14px!important;
  line-height:1.62!important;
  overflow:visible!important;
}

.inner-page .portfolio .case-study-grid .project-card-main em{
  min-height:0!important;
  margin-top:auto!important;
  padding-top:20px!important;
  color:#71a947!important;
  font-size:13px!important;
  font-style:normal!important;
  font-weight:850!important;
  line-height:1.35!important;
}

/* Cards with a public website keep the CTA at the bottom.
   Cards without one do not reserve a fake empty row. */
.inner-page .portfolio .case-study-grid .project-site-button{
  flex:0 0 auto!important;
  margin-top:16px!important;
  min-height:44px!important;
}

.inner-page .portfolio .case-study-grid .project-card:not(:has(.project-site-button)){
  min-height:320px!important;
}

/* Earlier professional projects: three balanced cards on desktop.
   No fixed title height, so long names can wrap naturally without collision. */
#professional-projects{
  width:100%;
  padding:72px 0 18px;
}

#professional-projects .compact-section-head{
  max-width:900px;
  margin:0 0 30px;
}

#professional-projects .portfolio-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:22px!important;
}

#professional-projects .professional-project-card{
  min-height:390px!important;
}

#professional-projects .professional-project-card .project-card-main strong{
  font-size:clamp(24px,1.8vw,30px)!important;
}

/* Reduce the conspicuous empty-bottom look in the standard project cards:
   the "View case study" link now settles naturally at the content floor. */
.inner-page .portfolio .case-study-grid .project-card-main + .project-site-button{
  margin-bottom:0!important;
}

@media(max-width:1050px){
  .inner-page .portfolio .case-study-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:18px!important;
  }
  #professional-projects .portfolio-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

@media(max-width:820px){
  .inner-page .portfolio > .wrap{
    width:min(100% - 30px,1180px);
  }
  .inner-page .portfolio .case-study-grid,
  #professional-projects .portfolio-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:560px){
  .inner-page .portfolio .case-study-grid,
  #professional-projects .portfolio-grid{
    grid-template-columns:1fr!important;
  }
  .inner-page .portfolio .case-study-grid .project-card{
    min-height:0!important;
    padding:24px 22px!important;
  }
  #professional-projects .professional-project-card{
    min-height:0!important;
  }
}
