/* ============================================================
   Quantum Real Estate — Design Tokens
   ============================================================ */
:root{
  /* Color */
  --ink:        #0B1E2E;
  --ink-deep:   #071420;
  --ink-raise:  #122A3E;
  --paper:      #F6F4EF;
  --paper-alt:  #EDE9DF;
  --navy-text:  #10202C;
  --teal:       #14A38A;
  --teal-bright:#22C9AA;
  --slate:      #8DA0AC;
  --slate-dim:  #5E7480;
  --slate-light:#5B6B76;
  --white:      #FFFFFF;
  --hairline-dark:  rgba(255,255,255,0.12);
  --hairline-light: rgba(16,32,44,0.14);

  /* Type */
  --f-display: 'Space Grotesk', 'Inter', sans-serif;
  --f-body:    'Inter', sans-serif;
  --f-mono:    'JetBrains Mono', monospace;

  /* Spacing scale */
  --sp-1: 8px;  --sp-2: 16px; --sp-3: 24px; --sp-4: 32px;
  --sp-5: 48px; --sp-6: 64px; --sp-7: 96px; --sp-8: 128px;

  /* Layout */
  --container: 1240px;
  --radius: 2px;

  /* Motion */
  --ease-out: cubic-bezier(.22,.61,.36,1);
  --dur-fast: 200ms;
  --dur-med:  420ms;
}

/* ============================================================
   Reset
   ============================================================ */
*, *::before, *::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *, *::before, *::after{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important; }
}
body{
  margin:0;
  font-family:var(--f-body);
  background:var(--paper);
  color:var(--navy-text);
  -webkit-font-smoothing:antialiased;
  font-size:16px;
  line-height:1.6;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,p{ margin:0; }
button{ font-family:inherit; cursor:pointer; }
.container{ max-width:var(--container); margin-inline:auto; padding-inline:var(--sp-3); }
@media (min-width:768px){ .container{ padding-inline:var(--sp-5); } }

.skip-link{
  position:absolute; left:-9999px; top:0; background:var(--teal); color:var(--ink);
  padding:12px 20px; z-index:1000; font-weight:600;
}
.skip-link:focus{ left:var(--sp-2); top:var(--sp-2); }

:focus-visible{ outline:2px solid var(--teal); outline-offset:3px; }

/* ============================================================
   Header / Nav
   ============================================================ */
.site-header{
  position:fixed; inset:0 0 auto 0; z-index:100;
  padding:18px 0;
  transition:background var(--dur-med) var(--ease-out), padding var(--dur-med) var(--ease-out), border-color var(--dur-med) var(--ease-out);
  border-bottom:1px solid transparent;
}
.site-header.is-scrolled{
  background:rgba(11,30,46,0.86);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  padding:12px 0;
  border-bottom-color:var(--hairline-dark);
}
.header-inner{
  max-width:var(--container); margin-inline:auto; padding-inline:var(--sp-3);
  display:flex; align-items:center; justify-content:space-between; gap:var(--sp-3);
}
@media (min-width:768px){ .header-inner{ padding-inline:var(--sp-5); } }

.brand{ display:flex; align-items:center; }
.brand-mark{
  font-family:var(--f-display); font-weight:700; font-size:22px; letter-spacing:.02em;
  color:var(--white); line-height:1;
}
.brand-mark-accent{ color:var(--teal-bright); }

.main-nav{ display:none; gap:var(--sp-4); }
.main-nav a{
  font-size:14px; font-weight:500; color:var(--paper); opacity:.82;
  transition:opacity var(--dur-fast);
  white-space:nowrap;
}
.main-nav a:hover{ opacity:1; }
@media (min-width:1024px){ .main-nav{ display:flex; } }

.header-actions{ display:flex; align-items:center; gap:var(--sp-3); }
.header-actions .btn-ghost{ display:none; }
@media (min-width:1024px){ .header-actions .btn-ghost{ display:inline-flex; } }

.nav-toggle{
  display:flex; flex-direction:column; justify-content:center; gap:5px;
  width:44px; height:44px; background:transparent; border:1px solid var(--hairline-dark);
  border-radius:100px; align-items:center;
}
.nav-toggle span{ width:18px; height:2px; background:var(--paper); transition:transform var(--dur-fast), opacity var(--dur-fast); }
.nav-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
@media (min-width:1024px){ .nav-toggle{ display:none; } }

.mobile-nav{
  position:fixed; inset:0; z-index:99; background:var(--ink-deep);
  display:flex; align-items:center; justify-content:center;
  opacity:0; pointer-events:none; transition:opacity var(--dur-med) var(--ease-out);
}
.mobile-nav.is-open{ opacity:1; pointer-events:auto; }
.mobile-nav nav{ display:flex; flex-direction:column; align-items:center; gap:var(--sp-4); }
.mobile-nav a{ font-family:var(--f-display); font-size:28px; color:var(--paper); font-weight:500; }
.mobile-nav .mobile-cta{ color:var(--teal-bright); margin-top:var(--sp-2); }

/* ============================================================
   Buttons / Links
   ============================================================ */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:14px 28px; border-radius:100px; font-size:14px; font-weight:600;
  border:1px solid transparent; transition:transform var(--dur-fast) var(--ease-out), background var(--dur-fast), border-color var(--dur-fast), color var(--dur-fast);
  min-height:44px;
}
.btn:hover{ transform:translateY(-1px); }
.btn-primary{ background:var(--teal); color:var(--ink-deep); }
.btn-primary:hover{ background:var(--teal-bright); }
.btn-outline{ border-color:rgba(246,244,239,0.35); color:var(--paper); }
.btn-outline:hover{ border-color:var(--paper); }
.btn-ghost{ border-color:var(--hairline-dark); color:var(--paper); padding:10px 22px; }
.btn-ghost:hover{ border-color:var(--teal); color:var(--teal-bright); }
.btn-full{ width:100%; }

.text-link{
  display:inline-block; margin-top:var(--sp-2); font-weight:600; color:var(--teal);
  border-bottom:1px solid transparent; transition:border-color var(--dur-fast);
}
.text-link:hover{ border-color:var(--teal); }

/* ============================================================
   Type helpers
   ============================================================ */
.eyebrow{
  font-family:var(--f-mono); font-size:12px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--teal-bright); margin-bottom:var(--sp-2); font-weight:500;
}
.eyebrow-light{ color:var(--teal-bright); }
.eyebrow-dark{ color:var(--teal); }

h2{
  font-family:var(--f-display); font-weight:600; font-size:clamp(28px,4.6vw,46px);
  line-height:1.12; letter-spacing:-0.01em; color:var(--paper);
}
h2.h-dark{ color:var(--navy-text); }

.section-lede{
  margin-top:var(--sp-3); max-width:52ch; font-size:17px; line-height:1.7; color:var(--slate);
}
.section-lede.lede-dark{ color:var(--slate-light); }

/* ============================================================
   Reveal on scroll
   ============================================================ */
.reveal{ opacity:0; transform:translateY(24px); transition:opacity 700ms var(--ease-out), transform 700ms var(--ease-out); }
.reveal.is-visible{ opacity:1; transform:translateY(0); }
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
}

/* ============================================================
   Hero
   ============================================================ */
.hero{
  position:relative; min-height:100dvh; display:flex; flex-direction:column;
  align-items:center; justify-content:center; overflow:hidden; background:var(--ink-deep);
}
.hero-media{ position:absolute; inset:0; z-index:0; }
.hero-media-solid{ background:var(--ink-deep); }
.hero-video{ width:100%; height:100%; object-fit:cover; }
.hero-scrim{
  position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(7,20,32,0.55) 0%, rgba(7,20,32,0.35) 32%, rgba(7,20,32,0.78) 78%, rgba(7,20,32,0.96) 100%);
}
.hero-glow{
  position:absolute; inset:0; mix-blend-mode:screen; opacity:.5; pointer-events:none;
  background:
    radial-gradient(600px 400px at 18% 12%, rgba(20,163,138,0.35), transparent 60%),
    radial-gradient(700px 500px at 85% 85%, rgba(20,163,138,0.18), transparent 60%);
}

.hero-mark{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  pointer-events:none; overflow:hidden;
}
.hero-mark-frame{ position:relative; width:min(78vw,880px); aspect-ratio:2.1/1; }
.hero-mark-text{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  font-family:var(--f-display); font-weight:700; letter-spacing:0.02em; line-height:1;
  font-size:clamp(120px,20vw,300px); color:transparent;
  -webkit-text-stroke:1.5px rgba(34,201,170,0.16);
  text-stroke:1.5px rgba(34,201,170,0.16);
  user-select:none;
}
@supports not (-webkit-text-stroke: 1px black){
  .hero-mark-text{ color:rgba(34,201,170,0.07); }
}
.hero-mark-shine{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  font-family:var(--f-display); font-weight:700; letter-spacing:0.02em; line-height:1;
  font-size:clamp(120px,20vw,300px); user-select:none;
  background-image:linear-gradient(100deg,
    transparent 40%, rgba(255,255,255,0.9) 48%, rgba(34,201,170,1) 52%, transparent 60%);
  background-size:280% 100%;
  background-position:-90% 0;
  -webkit-background-clip:text; background-clip:text;
  color:transparent; -webkit-text-fill-color:transparent;
  animation:markShine 5.5s linear infinite;
}
@keyframes markShine{
  0%{ background-position:-90% 0; }
  100%{ background-position:190% 0; }
}
@media (prefers-reduced-motion: reduce){ .hero-mark-shine{ animation:none; background-position:50% 0; } }

.hero-content{
  position:relative; z-index:1; width:100%; max-width:960px; padding:0 var(--sp-3);
  text-align:center; display:flex; flex-direction:column; align-items:center;
}
@media (min-width:768px){ .hero-content{ padding:0 var(--sp-5); } }

.hero-cycle{
  position:relative; min-height:100px; display:flex; align-items:center; justify-content:center;
  padding:0 var(--sp-2); width:100%; max-width:100%;
}
.typewriter-text{
  font-family:var(--f-mono); font-weight:500; font-size:clamp(21px,7.2vw,66px);
  color:var(--paper); letter-spacing:-0.01em; text-shadow:0 0 28px rgba(34,201,170,0.35);
  min-width:0; overflow-wrap:break-word; text-align:center;
}
.typewriter-cursor{
  display:inline-block; width:3px; height:clamp(21px,6.5vw,60px); margin-left:6px;
  background:var(--teal-bright); vertical-align:-0.12em;
  animation:caretBlink 900ms steps(1) infinite;
  box-shadow:0 0 12px rgba(34,201,170,0.7);
}
@keyframes caretBlink{ 0%,49%{ opacity:1; } 50%,100%{ opacity:0; } }
@media (prefers-reduced-motion: reduce){ .typewriter-cursor{ animation:none; } }
.hero-cycle.is-done{ display:none; }

.hero-final{ opacity:0; transform:translateY(14px); transition:opacity 900ms var(--ease-out), transform 900ms var(--ease-out); }
.hero-final.is-visible{ opacity:1; transform:none; }

.hero-headline{
  font-family:var(--f-display); font-weight:600; letter-spacing:-0.02em;
  font-size:clamp(40px,8.5vw,88px); line-height:1.04; color:var(--white);
  margin-top:var(--sp-2);
}
.hero-sub{
  margin:var(--sp-3) auto 0; max-width:56ch; font-size:clamp(15px,1.6vw,18px);
  line-height:1.7; color:rgba(246,244,239,0.82);
}
.hero-actions{ display:flex; flex-wrap:wrap; gap:var(--sp-2); justify-content:center; margin-top:var(--sp-4); }

.scroll-cue{
  position:absolute; bottom:var(--sp-4); left:50%; transform:translateX(-50%); z-index:1;
  width:26px; height:42px; border:1.5px solid rgba(246,244,239,0.4); border-radius:100px;
}
.scroll-cue span{
  position:absolute; top:8px; left:50%; transform:translateX(-50%);
  width:4px; height:4px; border-radius:50%; background:var(--teal-bright);
  animation:cueDrop 1.8s ease-in-out infinite;
}
@keyframes cueDrop{ 0%{ opacity:1; top:8px; } 70%{ opacity:0; top:24px; } 100%{ opacity:0; top:8px; } }
@media (prefers-reduced-motion: reduce){ .scroll-cue span{ animation:none; top:8px; opacity:1; } }
@media (max-width:640px){ .scroll-cue{ display:none; } }

/* ============================================================
   Statement strip
   ============================================================ */
.statement{ background:var(--paper); padding:var(--sp-7) 0; }
.statement-text{
  font-family:var(--f-display); font-weight:500; font-size:clamp(22px,3.6vw,36px);
  line-height:1.4; color:var(--navy-text); max-width:920px; margin-inline:auto; text-align:center;
  letter-spacing:-0.01em;
}
.statement-text em{ color:var(--teal); font-style:normal; }

/* ============================================================
   Sections (generic)
   ============================================================ */
.section{ padding:var(--sp-7) 0; }
.section-dark{ background:var(--ink); }
.section-light{ background:var(--paper); }

.section-head{ max-width:680px; }
.section-head-left{ max-width:none; }
.section-head-center{ max-width:720px; margin-inline:auto; text-align:center; }
.section-head-center .section-lede{ margin-inline:auto; }

/* ============================================================
   Philosophy — reframe table
   ============================================================ */
.reframe-table{ margin-top:var(--sp-6); border-top:1px solid var(--hairline-dark); }
.reframe-row{
  display:grid; grid-template-columns:1fr auto auto 1fr; align-items:center; gap:var(--sp-2);
  padding:var(--sp-3) 0; border-bottom:1px solid var(--hairline-dark);
}
.reframe-table-wide .reframe-row{
  grid-template-columns:0.85fr 1fr auto 1.5fr;
  gap:var(--sp-4);
}
@media (min-width:1024px){
  .reframe-table-wide .reframe-row{ grid-template-columns:0.7fr 0.9fr auto 1.7fr; gap:var(--sp-6); padding-right:var(--sp-4); }
}
.reframe-head{
  font-family:var(--f-mono); font-size:11px; text-transform:uppercase; letter-spacing:.1em;
  color:var(--slate); padding-bottom:var(--sp-2);
}
.reframe-head .reframe-arrow{ visibility:hidden; }
.reframe-sector{ font-family:var(--f-display); font-weight:600; color:var(--paper); font-size:18px; }
.reframe-row:not(.reframe-head) span:nth-child(2){ color:var(--slate); font-size:15px; }
.reframe-arrow{ color:var(--teal); font-family:var(--f-mono); }
.reframe-tomorrow{ color:var(--teal-bright); font-weight:600; font-size:15px; }

@media (max-width:640px){
  .reframe-row, .reframe-table-wide .reframe-row{ grid-template-columns:1fr auto; grid-template-rows:auto auto; row-gap:6px; }
  .reframe-sector{ grid-column:1/-1; }
  .reframe-head{ display:none; }
}

/* ============================================================
   Platform — investment cycle diagram
   ============================================================ */
.cycle-wrap{ margin-top:var(--sp-6); display:flex; justify-content:center; }
.cycle-diagram{
  position:relative; width:100%; max-width:760px; aspect-ratio:1/1;
  display:none;
}
.cycle-ring{ position:absolute; inset:0; width:100%; height:100%; }
.cycle-ring circle{ fill:none; stroke:var(--hairline-light); stroke-width:1.5; stroke-dasharray:4 8; }
.cycle-center{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  text-align:center; padding:0 26%;
}
.cycle-center span{ font-family:var(--f-display); font-size:16px; color:var(--slate-light); font-weight:500; line-height:1.5; }

.cycle-node{
  position:absolute; width:250px; text-align:center;
  left:calc(50% + (cos((var(--i) * 90deg - 90deg)) * 44%));
  top:calc(50% + (sin((var(--i) * 90deg - 90deg)) * 44%));
  transform:translate(-50%,-50%);
}
.cycle-num{ font-family:var(--f-mono); color:var(--teal); font-size:15px; font-weight:600; }
.cycle-node h3{ font-family:var(--f-display); font-size:22px; font-weight:600; color:var(--navy-text); margin-top:6px; }
.cycle-node p{ font-size:15px; color:var(--slate-light); margin-top:6px; line-height:1.55; }

@media (min-width:768px){
  .cycle-diagram{ display:block; }
  .cycle-list-fallback{ display:none; }
}
.cycle-list-fallback{
  display:grid; gap:var(--sp-3); width:100%; max-width:640px;
}
@media (min-width:768px){ .cycle-list-fallback{ display:none; } }
.cycle-list-fallback .cycle-item{
  border:1px solid var(--hairline-light); border-radius:8px; padding:var(--sp-3);
  display:flex; gap:var(--sp-3); align-items:flex-start;
}
.cycle-list-fallback .cycle-num{ min-width:32px; }
.cycle-list-fallback h3{ font-family:var(--f-display); font-size:19px; font-weight:600; color:var(--navy-text); }
.cycle-list-fallback p{ margin-top:4px; font-size:14.5px; color:var(--slate-light); line-height:1.55; }

/* ============================================================
   Focus areas grid
   ============================================================ */
.focus-grid{
  margin-top:var(--sp-6); display:grid; gap:1px; background:var(--hairline-dark);
  border:1px solid var(--hairline-dark); grid-template-columns:1fr;
}
@media (min-width:640px){ .focus-grid{ grid-template-columns:1fr 1fr; } }
@media (min-width:1024px){ .focus-grid{ grid-template-columns:repeat(4,1fr); } }
.focus-card{ background:var(--ink); padding:var(--sp-4); transition:background var(--dur-fast); }
.focus-card:hover{ background:var(--ink-raise); }
.focus-card h3{
  font-family:var(--f-display); font-size:17px; font-weight:600; color:var(--paper);
  line-height:1.35; min-height:46px;
}
.focus-card ul{ margin-top:var(--sp-3); display:flex; flex-direction:column; gap:8px; }
.focus-card li{
  font-size:14px; color:var(--slate); padding-left:16px; position:relative;
}
.focus-card li::before{
  content:''; position:absolute; left:0; top:9px; width:6px; height:1px; background:var(--teal);
}

/* ============================================================
   Track record
   ============================================================ */
.track-grid{ display:grid; gap:var(--sp-6); }
@media (min-width:1024px){ .track-grid{ grid-template-columns:1fr 1fr; align-items:center; gap:var(--sp-7); } }

.stat-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--hairline-light); border:1px solid var(--hairline-light); }
.stat-card{ background:var(--paper); padding:var(--sp-4); display:flex; flex-direction:column; gap:8px; }
.stat-card-wide{ grid-column:1/-1; }
.stat-num{ font-family:var(--f-mono); font-weight:600; font-size:clamp(30px,4vw,42px); color:var(--navy-text); }
.stat-num small{ font-size:16px; font-weight:500; color:var(--slate-light); margin-left:6px; }
.stat-num-sm{ font-size:clamp(20px,2.6vw,26px); }
.stat-label{ font-size:13px; color:var(--slate-light); letter-spacing:.02em; }

/* ============================================================
   Value grid
   ============================================================ */
.value-grid{
  margin-top:var(--sp-6); display:grid; gap:var(--sp-3);
  grid-template-columns:1fr;
}
@media (min-width:640px){ .value-grid{ grid-template-columns:1fr 1fr; } }
@media (min-width:1024px){ .value-grid{ grid-template-columns:repeat(3,1fr); } }

.value-card{
  position:relative; padding:var(--sp-4); border:1px solid var(--hairline-dark); border-radius:12px;
  background:var(--ink-raise); overflow:hidden;
  transition:
    opacity 700ms var(--ease-out), transform 700ms var(--ease-out),
    border-color 220ms var(--ease-out), box-shadow 220ms var(--ease-out), background 220ms var(--ease-out);
  transition-delay: calc(var(--d, 0) * 90ms);
}
.value-card::before{
  content:''; position:absolute; inset:0; opacity:0; pointer-events:none;
  background:radial-gradient(220px 140px at 85% -10%, rgba(34,201,170,0.22), transparent 70%);
  transition:opacity 260ms ease;
}
.value-card:hover{
  border-color:rgba(34,201,170,0.45); transform:translateY(-4px);
  box-shadow:0 16px 32px -18px rgba(0,0,0,0.5);
}
.value-card:hover::before{ opacity:1; }
.value-num{
  display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px;
  border-radius:50%; border:1.5px solid rgba(34,201,170,0.45); color:var(--teal-bright);
  font-family:var(--f-mono); font-size:13px; font-weight:600; position:relative; z-index:1;
}
.value-card h3{
  position:relative; z-index:1; margin-top:var(--sp-3);
  font-family:var(--f-display); font-size:18px; font-weight:600; color:var(--paper); line-height:1.3;
}
.value-card p{ position:relative; z-index:1; margin-top:8px; font-size:14.5px; color:var(--slate); line-height:1.6; }
.value-footnote{ margin-top:var(--sp-5); font-size:15px; color:var(--teal-bright); max-width:60ch; font-style:italic; }

/* ============================================================
   Advisory
   ============================================================ */
.section-advisory{ background:var(--paper-alt); padding:var(--sp-6) 0; }
.advisory-inner{ display:grid; gap:var(--sp-5); }
@media (min-width:1024px){ .advisory-inner{ grid-template-columns:0.9fr 1.1fr; gap:var(--sp-7); align-items:start; } }
.advisory-roles{ display:grid; gap:var(--sp-2); }
@media (min-width:560px){ .advisory-roles{ grid-template-columns:1fr 1fr 1fr; } }
.role-card{ background:var(--paper); border:1px solid var(--hairline-light); border-radius:8px; padding:var(--sp-3); }
.role-card h3{ font-family:var(--f-display); font-size:16px; font-weight:600; color:var(--navy-text); }
.role-card p{ margin-top:8px; font-size:13.5px; color:var(--slate-light); line-height:1.6; }

/* ============================================================
   Team
   ============================================================ */
.founder-card{
  margin-top:var(--sp-6); display:grid; grid-template-columns:auto 1fr; gap:var(--sp-4);
  align-items:flex-start; padding-bottom:var(--sp-6); border-bottom:1px solid var(--hairline-dark);
}
.founder-avatar{
  width:88px; height:88px; border-radius:50%; background:linear-gradient(150deg, var(--teal), var(--ink-raise));
  color:var(--ink-deep); display:flex; align-items:center; justify-content:center;
  font-family:var(--f-display); font-weight:700; font-size:24px; flex-shrink:0;
}
.founder-copy h3{ font-family:var(--f-display); font-size:22px; font-weight:600; color:var(--paper); }
.founder-copy h3 span{ font-weight:400; color:var(--slate); font-size:16px; }
.founder-copy p{ margin-top:var(--sp-2); color:var(--slate); font-size:15px; line-height:1.75; max-width:70ch; }

.team-grid{ margin-top:var(--sp-6); display:grid; gap:var(--sp-4); grid-template-columns:1fr; }
@media (min-width:640px){ .team-grid{ grid-template-columns:1fr 1fr; } }
@media (min-width:1024px){ .team-grid{ grid-template-columns:repeat(3,1fr); } }
.team-card{ border:1px solid var(--hairline-dark); border-radius:8px; padding:var(--sp-3); }
.team-initial{
  display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px;
  border-radius:50%; background:var(--ink-raise); color:var(--teal-bright);
  font-family:var(--f-mono); font-size:13px; font-weight:600;
}
.team-card h3{ font-family:var(--f-display); font-size:16px; font-weight:600; color:var(--paper); margin-top:var(--sp-2); }
.team-role{ font-size:12px; color:var(--teal); text-transform:uppercase; letter-spacing:.08em; margin-top:2px; font-weight:600; }
.team-card p:last-child{ margin-top:var(--sp-2); font-size:13.5px; color:var(--slate); line-height:1.65; }

/* ============================================================
   Contact
   ============================================================ */
.section-contact{ background:var(--ink-deep); padding:var(--sp-7) 0; }
.contact-grid{ display:grid; gap:var(--sp-6); }
@media (min-width:1024px){ .contact-grid{ grid-template-columns:1fr 1fr; gap:var(--sp-7); } }

.contact-detail{ margin-top:var(--sp-5); display:flex; flex-direction:column; gap:4px; }
.contact-label{ font-family:var(--f-mono); font-size:11px; text-transform:uppercase; letter-spacing:.1em; color:var(--slate); }
.contact-detail a{ font-family:var(--f-display); font-size:20px; color:var(--teal-bright); font-weight:500; }
.contact-detail a:hover{ text-decoration:underline; }

.contact-form{ display:flex; flex-direction:column; gap:var(--sp-3); }
.form-row{ display:flex; flex-direction:column; gap:6px; }
.form-row label{ font-size:13px; color:var(--slate); font-weight:500; }
.form-row input, .form-row textarea{
  background:var(--ink-raise); border:1px solid var(--hairline-dark); border-radius:6px;
  color:var(--paper); padding:13px 14px; font-family:var(--f-body); font-size:15px;
  transition:border-color var(--dur-fast); resize:vertical;
}
.form-row input:focus, .form-row textarea:focus{ border-color:var(--teal); outline:none; }
.form-row input::placeholder, .form-row textarea::placeholder{ color:var(--slate-dim); }

/* ============================================================
   Footer
   ============================================================ */
.site-footer{ background:var(--ink-deep); border-top:1px solid var(--hairline-dark); padding:var(--sp-6) 0 var(--sp-4); }
.footer-inner{ display:grid; gap:var(--sp-5); }
@media (min-width:768px){ .footer-inner{ grid-template-columns:1fr auto; grid-template-rows:auto auto; align-items:start; } }
.footer-brand{ display:flex; flex-direction:column; gap:var(--sp-2); align-items:flex-start; }
.footer-brand p{ font-size:13.5px; color:var(--slate); max-width:32ch; }
.footer-nav{ display:flex; flex-wrap:wrap; gap:var(--sp-3); }
.footer-nav a{ font-size:13.5px; color:var(--slate); }
.footer-nav a:hover{ color:var(--teal-bright); }
.footer-copy{ font-size:12px; color:var(--slate-dim); grid-column:1/-1; margin-top:var(--sp-4); padding-top:var(--sp-3); border-top:1px solid var(--hairline-dark); }
