:root {
  --ink: #0b0b10;
  --paper: #f6f4f1;
  --soft: #e9e7e8;
  --violet: #6c4dff;
  --magenta: #e637a5;
  --cobalt: #3157ff;
  --cyan: #55d6d0;
  --line: rgba(11,11,16,.18);
  --sans: "DM Sans", Arial, sans-serif;
  --serif: "Playfair Display", Georgia, serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); }
a { color: inherit; }
img { display: block; max-width: 100%; }
.skip-link { position: fixed; left: 1rem; top: -4rem; z-index: 100; background: white; padding: .8rem 1rem; }
.skip-link:focus { top: 1rem; }
.site-header { position: fixed; z-index: 50; inset: 0 0 auto; display: flex; align-items: center; justify-content: space-between; padding: 1.4rem 2rem; color: white; mix-blend-mode: difference; }
.wordmark { font-size: .95rem; font-weight: 600; text-decoration: none; letter-spacing: .02em; }
.site-nav { display: flex; gap: 1.8rem; }
.site-nav a { font-size: .82rem; text-decoration: none; }
.menu-toggle { display: none; color: inherit; background: none; border: 0; font: inherit; }
.hero { position: relative; min-height: 100svh; background: #11131a; color: white; overflow: hidden; }
.hero-image-wrap { position: absolute; inset: 0; }
.hero-image { width: 100%; height: 100%; object-fit: cover; object-position: 60% 24%; filter: saturate(.82) contrast(1.04); }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,6,12,.83) 0%, rgba(8,9,17,.31) 47%, rgba(8,9,17,.08) 100%), linear-gradient(0deg, rgba(6,7,13,.67), transparent 45%); }
.hero-shade::after { content:""; position:absolute; inset:auto -10% -36% 20%; height:58%; background:linear-gradient(105deg,transparent 5%,rgba(49,87,255,.22) 34%,rgba(230,55,165,.23) 54%,rgba(85,214,208,.13) 73%,transparent 94%); filter:blur(60px); transform:rotate(-6deg); }
.hero-copy { position: relative; z-index: 2; min-height: 100svh; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; padding: 9rem 5vw 5.5rem; }
.eyebrow, .section-number { text-transform: uppercase; letter-spacing: .14em; font-size: .68rem; font-weight: 600; }
.hero h1 { margin: 1rem 0 2rem; max-width: 900px; font-size: clamp(3.6rem, 8.2vw, 8.5rem); line-height: .88; letter-spacing: -.055em; font-weight: 500; }
.hero h1 em, .connect h2 em { font-family: var(--serif); font-weight: 500; }
.text-link { display: inline-flex; gap: .8rem; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: .35rem; font-size: .78rem; text-transform: uppercase; letter-spacing: .13em; }
.hero-social { position: absolute; z-index: 3; right: 2rem; bottom: 2rem; display: flex; gap: 1.5rem; }
.hero-social a { font-size: .72rem; text-transform: uppercase; letter-spacing: .12em; text-decoration: none; }
.section { padding: 8rem 5vw; }
.section-number { margin: 0 0 3.5rem; opacity: .58; }
.intro-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 8vw; align-items: start; }
.intro h2, .impact-heading h2, .roots h2, .connect h2 { margin: 0; font-weight: 500; letter-spacing: -.045em; }
.intro h2 { font-size: clamp(2.8rem, 5.3vw, 6rem); line-height: .98; }
.intro-copy { max-width: 540px; padding-top: .5rem; }
.intro-copy p { margin: 0 0 1.4rem; font-size: clamp(1rem, 1.35vw, 1.25rem); line-height: 1.65; }
.impact { background: var(--ink); color: var(--paper); }
.impact-heading { display: flex; justify-content: space-between; align-items: end; margin-bottom: 3.5rem; }
.impact-heading .section-number { margin: 0; }
.impact-heading h2 { font-family: var(--serif); font-style: italic; font-size: clamp(2.4rem, 4vw, 4.8rem); }
.impact-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.impact-card { min-height: 590px; display: flex; flex-direction: column; padding: 1.4rem; background: #14141b; border: 1px solid rgba(255,255,255,.13); overflow: hidden; }
.card-art { height: 55%; margin: -1.4rem -1.4rem 2rem; position: relative; overflow: hidden; }
.art-grid { background: linear-gradient(140deg,#dedce1 0%,#767589 42%,#20213a 100%); }
.art-grid::before { content:""; position:absolute; inset:-20%; background: repeating-linear-gradient(90deg,transparent 0 38px,rgba(255,255,255,.3) 39px 40px), repeating-linear-gradient(0deg,transparent 0 38px,rgba(255,255,255,.3) 39px 40px); transform: rotate(17deg); }
.art-grid::after { content:""; position:absolute; inset:0; background:linear-gradient(120deg,transparent 27%,rgba(85,214,208,.55) 44%,rgba(108,77,255,.64) 59%,transparent 78%); mix-blend-mode:screen; }
.art-ribbon { background: #181226; }
.art-ribbon::before { content:""; position:absolute; width: 138%; height: 48%; left:-18%; top:23%; background:linear-gradient(90deg,var(--cobalt),var(--violet) 42%,var(--magenta) 76%,#ff5c7a); border-radius: 50%; transform: rotate(-17deg); box-shadow: 0 0 0 38px rgba(255,255,255,.045),0 22px 70px rgba(230,55,165,.26); }
.art-spotlight { background: radial-gradient(circle at 50% 54%,#26263a 0 9%,#101016 52%,#08080d 100%); }
.art-spotlight::before { content:""; position:absolute; width: 230px; height: 230px; left:50%; top:50%; transform:translate(-50%,-50%); border-radius:50%; background:radial-gradient(circle at 35% 30%,#fff 0 5%,#d6d6ff 19%,#8c78ff 43%,#e637a5 72%,rgba(230,55,165,0) 74%); box-shadow:0 0 100px 30px rgba(108,77,255,.33); }
.card-index { margin: 0 0 auto; font-size: .7rem; opacity: .5; }
.impact-card h3 { margin: 2rem 0 .8rem; font-size: 2rem; font-weight: 500; }
.impact-card > p:last-child { margin: 0; line-height: 1.55; opacity: .72; max-width: 33ch; }
.roots { display: grid; grid-template-columns: 1.2fr .8fr; min-height: 85vh; background: var(--soft); }
.roots-art { position: relative; min-height: 650px; overflow: hidden; isolation:isolate; background:linear-gradient(145deg,#0b0b12 0%,#161321 48%,#07070b 100%); }
.roots-art::before { content:""; position:absolute; inset:-20%; background:conic-gradient(from 200deg at 48% 58%,transparent 0 17%,rgba(49,87,255,.72) 22%,rgba(108,77,255,.82) 28%,rgba(230,55,165,.8) 34%,rgba(255,102,122,.58) 40%,rgba(85,214,208,.6) 47%,transparent 56% 100%); filter:blur(28px); transform:rotate(-9deg); }
.roots-art::after { content:""; position:absolute; inset:0; background:linear-gradient(120deg,rgba(255,255,255,.06),transparent 26% 74%,rgba(255,255,255,.04)); }
.prism { position:absolute; display:block; border-radius:50%; filter:blur(1px); mix-blend-mode:screen; }
.prism-one { width:42vw; height:42vw; min-width:330px; min-height:330px; left:-9%; top:11%; border:1px solid rgba(255,255,255,.28); box-shadow:0 0 0 42px rgba(49,87,255,.08),0 0 0 84px rgba(230,55,165,.05); }
.prism-two { width:23vw; height:23vw; min-width:220px; min-height:220px; right:8%; bottom:11%; background:radial-gradient(circle at 34% 30%,rgba(255,255,255,.88),rgba(108,77,255,.68) 24%,rgba(230,55,165,.52) 50%,rgba(85,214,208,.08) 72%,transparent 74%); box-shadow:0 0 90px rgba(108,77,255,.42); }
.prism-three { width:58%; height:1px; right:-8%; top:38%; border-radius:0; background:linear-gradient(90deg,transparent,var(--cyan),#fff,var(--magenta),transparent); transform:rotate(-23deg); box-shadow:0 0 18px rgba(255,255,255,.75); }
.roots-copy { display: flex; flex-direction: column; justify-content: center; padding: 7vw; }
.roots-copy .section-number { margin-bottom: 4rem; }
.roots-kicker { text-transform: uppercase; letter-spacing: .14em; font-size: .7rem; color: var(--violet); }
.roots h2 { font-size: clamp(3rem, 5vw, 5.8rem); line-height: .98; margin: 1rem 0 2rem; }
.roots-copy > p:last-child { max-width: 42ch; line-height: 1.65; }
.connect { position:relative; overflow:hidden; background:linear-gradient(132deg,#20153d 0%,#4f2fb3 43%,#9d2e88 72%,#d43b7e 100%); color: #fff; }
.connect::before { content:""; position:absolute; width:55vw; height:55vw; right:-20vw; top:-27vw; border-radius:50%; border:1px solid rgba(255,255,255,.22); box-shadow:0 0 0 60px rgba(255,255,255,.035),0 0 0 120px rgba(255,255,255,.025); }
.connect > * { position:relative; z-index:1; }
.connect h2 { font-size: clamp(4.5rem, 10vw, 10rem); line-height: .82; margin-bottom: 6rem; }
.connect-links { border-top: 1px solid rgba(255,255,255,.45); }
.connect-links a { display: flex; justify-content: space-between; align-items: center; padding: 1.35rem 0; border-bottom: 1px solid rgba(255,255,255,.45); text-decoration: none; transition: padding .25s ease, opacity .25s ease; }
.connect-links a:hover { padding-left: 1rem; opacity: .72; }
.connect-links span:first-child { font-size: clamp(1.2rem, 2vw, 2rem); }
.connect-links span:last-child { font-size: .75rem; text-transform: uppercase; letter-spacing: .1em; }
.site-footer { display:flex; justify-content:space-between; padding: 1.5rem 2rem; background:var(--ink); color:var(--paper); font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; }
.site-footer a { text-decoration:none; }
@media (max-width: 850px) {
  .site-header { padding: 1.15rem 1.1rem; mix-blend-mode: normal; background: linear-gradient(rgba(0,0,0,.45), transparent); }
  .menu-toggle { display:flex; align-items:center; gap:.6rem; text-transform:uppercase; letter-spacing:.12em; font-size:.68rem; cursor:pointer; }
  .menu-icon, .menu-icon::before { display:block; content:""; width:18px; height:1px; background:currentColor; transition:.25s; }
  .menu-icon::before { transform:translateY(5px); }
  .site-nav { position:fixed; inset:0; z-index:-1; display:flex; flex-direction:column; justify-content:center; padding:3rem; gap:1.3rem; background:var(--ink); opacity:0; pointer-events:none; transition:.25s; }
  .site-nav.open { opacity:1; pointer-events:auto; }
  .site-nav a { font-family:var(--serif); font-size:clamp(2.7rem,12vw,5rem); }
  .menu-toggle[aria-expanded="true"] .menu-icon { transform:rotate(45deg); }
  .menu-toggle[aria-expanded="true"] .menu-icon::before { transform:rotate(90deg); }
  .hero-image { object-position: 57% 20%; }
  .hero-shade { background:linear-gradient(0deg,rgba(7,8,15,.84),rgba(7,8,15,.05) 74%); }
  .hero-copy { padding: 7rem 1.15rem 5.5rem; }
  .hero h1 { font-size:clamp(3.4rem,15vw,5.8rem); }
  .hero-social { left:1.15rem; right:auto; bottom:1.4rem; }
  .section { padding: 6rem 1.15rem; }
  .section-number { margin-bottom:2.5rem; }
  .intro-grid { grid-template-columns:1fr; gap:2.5rem; }
  .impact-heading { display:block; }
  .impact-heading .section-number { margin-bottom:2rem; }
  .impact-cards { grid-template-columns:1fr; }
  .impact-card { min-height:510px; }
  .roots { grid-template-columns:1fr; }
  .roots-art { min-height:65vh; }
  .prism-one { width:78vw; height:78vw; }
  .prism-two { width:48vw; height:48vw; }
  .roots-copy { padding:5rem 1.15rem; }
  .connect h2 { margin-bottom:4rem; }
  .site-footer { padding:1.3rem 1.15rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { transition:none !important; }
}
.strategy-photo {
  background-image: url("assets/strategy.jpg");
  background-size: cover;
  background-position: center;
}
.leadership-photo {
  background-image: url("assets/HRC_Panel.jpg");
  background-size: cover;
  background-position: center;
}
.connection-photo {
  background-image: url("assets/connection.jpg");
  background-size: cover;
  background-position: center;
}
