/* ============================================================
   blaukos — shared stylesheet
   Single source of truth for both pages.
   Do not duplicate rules into page files.
   ============================================================ */

/* ─── FONTS (self-hosted, see README-DEPLOY.md) ─────────────── */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300;font-display:swap;
  src:url('fonts/cormorant-garamond-v21-latin_latin-ext-300.woff2') format('woff2'),
       url('fonts/cormorant-garamond-v22-latin_latin-ext-300.woff2') format('woff2'),
       url('fonts/cormorant-garamond-latin_latin-ext-300.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:300;font-display:swap;
  src:url('fonts/cormorant-garamond-v21-latin_latin-ext-300italic.woff2') format('woff2'),
       url('fonts/cormorant-garamond-v22-latin_latin-ext-300italic.woff2') format('woff2'),
       url('fonts/cormorant-garamond-latin_latin-ext-300italic.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;
  src:url('fonts/cormorant-garamond-v21-latin_latin-ext-regular.woff2') format('woff2'),
       url('fonts/cormorant-garamond-v22-latin_latin-ext-regular.woff2') format('woff2'),
       url('fonts/cormorant-garamond-latin_latin-ext-regular.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
/* weight 600 is required by the wordmark — without it the browser fakes bold */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;
  src:url('fonts/cormorant-garamond-v21-latin_latin-ext-600.woff2') format('woff2'),
       url('fonts/cormorant-garamond-v22-latin_latin-ext-600.woff2') format('woff2'),
       url('fonts/cormorant-garamond-latin_latin-ext-600.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;
  src:url('fonts/dm-sans-v17-latin_latin-ext-regular.woff2') format('woff2'),
       url('fonts/dm-sans-v15-latin_latin-ext-regular.woff2') format('woff2'),
       url('fonts/dm-sans-latin_latin-ext-regular.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;
  src:url('fonts/dm-sans-v17-latin_latin-ext-500.woff2') format('woff2'),
       url('fonts/dm-sans-v15-latin_latin-ext-500.woff2') format('woff2'),
       url('fonts/dm-sans-latin_latin-ext-500.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

/* ─── TOKENS ────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  /* surfaces */
  --navy:#0B1221; --navy-2:#111b2e; --navy-3:#162240;
  /* accent */
  --teal:#2DD4BF; --tdim:rgba(45,212,191,.12); --tmid:rgba(45,212,191,.35);
  --border:rgba(45,212,191,.15);
  /* text — --muted raised from #64748B to meet WCAG AA (4.5:1) on all three surfaces */
  --white:#f8fafc; --muted-strong:#94a3b8; --muted:#7C8BA1;
  --danger:#ef4444;
  /* type */
  --sf:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --ss:'DM Sans',system-ui,-apple-system,sans-serif;
  /* radii — three steps, nothing else */
  --r-sm:4px; --r-md:8px; --r-full:999px;
  /* rhythm */
  --sp-section:6.5rem; --sp-lg:3.5rem; --sp-md:1.5rem;
  --shell:1100px;
}
html{scroll-behavior:smooth;overflow-x:hidden;scroll-padding-top:80px}
body{background:var(--navy);color:var(--white);font-family:var(--ss);font-size:16px;
  font-weight:400;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden;width:100%}
.wrap{max-width:var(--shell);margin:0 auto;padding:0 2rem}
.section{padding:var(--sp-section) 0}
.bg2{background:var(--navy-2)} .bg3{background:var(--navy-3)}
.rule{height:1px;background:linear-gradient(90deg,transparent,var(--teal),transparent);opacity:.22}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ─── TYPE SCALE (identical on every page) ──────────────────── */
h1{font-family:var(--sf);font-size:clamp(2.4rem,6vw,4.5rem);font-weight:300;line-height:1.08;letter-spacing:-.01em}
h2{font-family:var(--sf);font-size:clamp(1.9rem,4vw,3rem);font-weight:300;line-height:1.15}
h1 em,h2 em{font-style:italic;color:var(--teal)}
h3{font-family:var(--ss);font-size:1rem;font-weight:500;line-height:1.35;color:var(--white)}
h4{font-family:var(--ss);font-size:.9rem;font-weight:500;line-height:1.35;color:var(--white)}
.lbl{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);
  margin-bottom:1rem;display:block;font-weight:500}
.lead{color:var(--muted-strong);font-size:1.02rem;line-height:1.8;margin-top:1.1rem}
.note{font-size:.85rem;color:var(--muted);line-height:1.7}
.subhead{font-family:var(--sf);font-size:clamp(1.15rem,2.5vw,1.35rem);font-weight:300;
  color:var(--white);max-width:36ch;line-height:1.4;margin:.4rem 0 .9rem}

/* ─── FOCUS (keyboard visibility — quality floor) ───────────── */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{
  outline:2px solid var(--teal);outline-offset:3px;border-radius:var(--r-sm)}

/* ─── BUTTONS ───────────────────────────────────────────────── */
.btn{display:inline-block;padding:.9rem 2rem;border-radius:var(--r-sm);text-decoration:none;
  font-size:.9rem;font-family:var(--ss);white-space:nowrap;cursor:pointer;transition:opacity .2s,border-color .2s,background .2s}
.btn-primary{background:var(--teal);color:var(--navy);font-weight:500;border:1px solid var(--teal)}
.btn-primary:hover{opacity:.88}
.btn-secondary{border:1px solid rgba(255,255,255,.22);color:var(--white);background:transparent}
.btn-secondary:hover{border-color:var(--teal);background:var(--tdim)}

/* ─── NAV ───────────────────────────────────────────────────── */
nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(11,18,33,.94);
  backdrop-filter:blur(18px);border-bottom:1px solid var(--border)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;max-width:var(--shell);
  margin:0 auto;padding:0 2rem;height:66px}
.logo{font-family:var(--sf);font-size:1.3rem;font-weight:600;color:var(--teal);
  text-decoration:none;display:flex;align-items:center;gap:.55rem;z-index:1001}
.logo img{height:26px;width:26px;object-fit:contain;display:block}
.nav-links{display:flex;gap:1.6rem;align-items:center;list-style:none}
.nav-links a{color:var(--muted-strong);text-decoration:none;font-size:.875rem;transition:color .2s}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--white)}
.nav-links a.nav-cta{border:1px solid var(--teal);color:var(--teal);padding:.42rem 1.1rem;
  border-radius:var(--r-sm);font-size:.78rem;letter-spacing:.09em;text-transform:uppercase}
.nav-links a.nav-cta:hover{background:var(--tdim);color:var(--teal)}
.mob-btn{display:none;background:none;border:none;cursor:pointer;z-index:1001;
  width:44px;height:44px;position:relative;margin-right:-7px}
.mob-btn span{display:block;width:30px;height:2px;background:var(--teal);position:absolute;left:7px;transition:.3s ease}
.mob-btn span:nth-child(1){top:11px}
.mob-btn span:nth-child(2){top:21px}
.mob-btn span:nth-child(3){top:31px}
.mob-btn.open span:nth-child(1){transform:translateY(10px) rotate(45deg)}
.mob-btn.open span:nth-child(2){opacity:0}
.mob-btn.open span:nth-child(3){transform:translateY(-10px) rotate(-45deg)}

/* ─── HERO ──────────────────────────────────────────────────── */
.hero{min-height:auto;display:flex;align-items:center;padding:9rem 0 5rem;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;top:-180px;right:-180px;width:650px;height:650px;
  border-radius:var(--r-full);background:radial-gradient(circle,rgba(45,212,191,.07) 0%,transparent 68%);pointer-events:none}
.hero-body{font-size:1.02rem;color:var(--muted-strong);max-width:58ch;line-height:1.85;margin-bottom:2.5rem}
.hero-ctas{display:flex;gap:1rem;flex-wrap:wrap}
.trustbar{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border);
  display:flex;gap:.75rem 1.5rem;flex-wrap:wrap;align-items:center}
.trustbar-lbl{font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.badge{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--muted-strong)}
.badge svg{color:var(--teal);flex-shrink:0}

/* ─── GRIDS ─────────────────────────────────────────────────── */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start;margin-top:var(--sp-lg)}
.grid-2 > *{min-width:0}
.grid-2.tight{gap:3rem}
.stack{display:flex;flex-direction:column;gap:.8rem}
.measure{max-width:64ch}

/* ─── CARDS ─────────────────────────────────────────────────── */
.card{background:var(--navy);border:1px solid var(--border);border-radius:var(--r-md);
  padding:1.2rem 1.4rem;display:flex;gap:1rem}
.card h3{font-size:.9rem;margin-bottom:.22rem}
.card p{font-size:.84rem;color:var(--muted);line-height:1.65}
.card-icon{width:32px;height:32px;flex-shrink:0;background:var(--tdim);border-radius:var(--r-sm);
  display:flex;align-items:center;justify-content:center}
.card-icon svg{stroke:var(--teal)}
.card-lg{background:var(--navy-2);border:1px solid var(--border);border-radius:var(--r-md);padding:2rem 1.75rem}
.card-lg h3{font-size:1rem;margin-bottom:.75rem}
.card-lg p{font-size:.875rem;color:var(--muted);line-height:1.7}
.card-lg .card-icon{width:40px;height:40px;border-radius:var(--r-sm);margin-bottom:1.25rem;border:1px solid var(--border)}

/* ─── PILLARS ───────────────────────────────────────────────── */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);
  border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;margin-top:var(--sp-lg)}
.pillar{background:var(--navy);padding:2rem 1.75rem;transition:background .2s}
.pillar:hover{background:var(--navy-2)}
.pillar-num{font-family:var(--sf);font-size:2.4rem;font-weight:300;color:var(--teal);opacity:.38;line-height:1;margin-bottom:1rem}
.pillar h3{margin-bottom:.55rem}
.pillar p{font-size:.86rem;color:var(--muted);line-height:1.7}

/* ─── STEPS ─────────────────────────────────────────────────── */
.steps{display:grid;grid-template-columns:1fr 1fr;gap:0 4rem;margin-top:var(--sp-lg)}
.step{display:flex;gap:1.25rem;padding:1.4rem 0;border-bottom:1px solid var(--border)}
.step:nth-last-child(-n+2){border-bottom:none}
.step-num{font-family:var(--sf);font-size:1.4rem;font-weight:300;color:var(--teal);min-width:1.8rem;line-height:1}
.step h3{font-size:.92rem;margin-bottom:.3rem}
.step p{font-size:.84rem;color:var(--muted);line-height:1.65}

/* ─── WHY NOW (regulatory drivers) ──────────────────────────── */
.drivers{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:var(--sp-lg)}
.driver{background:var(--navy-2);border:1px solid var(--border);border-top:3px solid var(--teal);
  border-radius:var(--r-md);padding:2rem 1.85rem;display:flex;flex-direction:column}
.driver-meta{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin-bottom:.7rem}
.driver h3{font-family:var(--sf);font-size:1.4rem;font-weight:400;line-height:1.2;margin-bottom:.9rem}
.driver p{font-size:.88rem;color:var(--muted);line-height:1.72}
.driver p + p{margin-top:.75rem}
.driver-list{list-style:none;display:flex;flex-direction:column;gap:.55rem;margin-top:1rem}
.driver-list li{font-size:.86rem;color:var(--muted-strong);padding-left:1.1rem;position:relative;line-height:1.6}
.driver-list li::before{content:'—';position:absolute;left:0;color:var(--teal)}
.driver-status{margin-top:auto;padding-top:1.25rem;font-size:.75rem;color:var(--muted);
  border-top:1px solid var(--border);line-height:1.6}
.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);
  border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;margin-top:1.5rem}
.flow-cell{background:var(--navy);padding:1.35rem 1.25rem}
.flow-cell.accent{background:var(--navy-3)}
.flow-step{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);display:block;margin-bottom:.5rem}
.flow-cell h4{font-size:.86rem;margin-bottom:.4rem}
.flow-cell p{font-size:.78rem;color:var(--muted);line-height:1.6}
.tagrow{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.85rem}
.tag{font-size:.68rem;letter-spacing:.05em;color:var(--teal);border:1px solid var(--tmid);
  border-radius:var(--r-sm);padding:.22rem .55rem}

/* ─── RISK ALLOCATION (plant operators) ─────────────────────── */
.alloc{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:var(--sp-lg)}
.alloc-col{background:var(--navy-2);border:1px solid var(--border);border-radius:var(--r-md);padding:1.85rem 1.65rem}
.alloc-col.highlight{border-color:var(--tmid);background:var(--navy-3)}
.alloc-who{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--teal);margin-bottom:.6rem}
.alloc-col h3{font-family:var(--sf);font-size:1.3rem;font-weight:400;margin-bottom:1rem}
.alloc-list{list-style:none;display:flex;flex-direction:column;gap:.6rem}
.alloc-list li{font-size:.85rem;color:var(--muted-strong);padding-left:1.1rem;position:relative;line-height:1.6}
.alloc-list li::before{content:'—';position:absolute;left:0;color:var(--teal);opacity:.6}
.alloc-foot{margin-top:2rem;background:var(--tdim);border:1px solid var(--tmid);
  border-radius:var(--r-md);padding:1.5rem 1.75rem}
.alloc-foot p{font-family:var(--sf);font-size:1.08rem;font-style:italic;font-weight:300;color:var(--teal);line-height:1.6}

/* ─── FACILITY GRID ─────────────────────────────────────────── */
.facilities{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;margin-top:var(--sp-lg)}
.facility{background:var(--navy);border:1px solid var(--border);border-radius:var(--r-md);padding:1.5rem 1.25rem;text-align:center}
.facility h3{font-size:.92rem;margin-bottom:.4rem}
.facility p{font-size:.8rem;color:var(--muted);line-height:1.55}

/* ─── NUMBERED OFFER LIST ───────────────────────────────────── */
.offer{display:flex;flex-direction:column}
.offer-item{display:flex;gap:1.25rem;padding:1.5rem 0;border-bottom:1px solid var(--border)}
.offer-item:last-child{border-bottom:none}
.offer-num{font-family:var(--sf);font-size:1.5rem;font-weight:300;color:var(--teal);min-width:2rem;line-height:1}
.offer-item h3{margin-bottom:.32rem}
.offer-item p{font-size:.86rem;color:var(--muted);line-height:1.68}

/* ─── COMPARISON / TIMELINE ─────────────────────────────────── */
.compare-layout{display:flex;flex-direction:column;gap:var(--sp-lg);margin-top:var(--sp-lg)}
.compare-text{max-width:72ch}
.compare-text p{color:var(--muted-strong);font-size:1.02rem;margin-top:1.1rem;line-height:1.85}
.callout{background:var(--tdim);border:1px solid var(--tmid);border-radius:var(--r-md);padding:1.65rem 1.85rem;margin-top:1.5rem}
.callout p{font-family:var(--sf);font-size:1.05rem;color:var(--teal);font-weight:300;font-style:italic;
  line-height:1.65;margin:0 0 .65rem}
.callout cite{font-size:.72rem;color:var(--muted);font-style:normal;display:block;line-height:1.6}
.tl-outer{background:var(--navy-2);border:1px solid var(--border);border-radius:var(--r-md);padding:2.5rem 2rem;overflow-x:auto}
.tl-head{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--teal);text-align:center;margin-bottom:2.25rem}
.tl-top,.tl-bot{display:grid;grid-template-columns:repeat(5,1fr);gap:1.5rem;min-width:850px}
.tl-cell{padding:.5rem;text-align:center}
.tl-cat{display:block;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);opacity:.8;margin-bottom:.5rem}
.tl-cell h3{font-size:.84rem;margin-bottom:.35rem}
.tl-cell p{font-size:.78rem;color:var(--muted);line-height:1.55}
.tl-dots{display:flex;align-items:center;justify-content:space-between;position:relative;
  padding:.75rem 0;margin:.8rem 0;min-width:850px}
.tl-dots::before{content:'';position:absolute;left:4%;right:4%;top:50%;height:2px;background:var(--teal);opacity:.25}
.tl-dot{width:36px;height:36px;border-radius:var(--r-full);background:var(--navy-3);border:1.5px solid var(--teal);
  display:flex;align-items:center;justify-content:center;font-family:var(--sf);font-size:.95rem;color:var(--teal);
  position:relative;z-index:1;flex-shrink:0}
.tl-mobile{display:none}

/* ─── PROCESS PHASES ────────────────────────────────────────── */
.phases{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:var(--sp-lg)}
.phase{background:var(--navy-2);border:1px solid var(--border);border-radius:var(--r-md);padding:1.85rem 1.65rem}
.phase-lbl{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--teal);margin-bottom:.65rem}
.phase h3{font-family:var(--sf);font-size:1.35rem;font-weight:400;margin-bottom:1rem}
.phase-list{list-style:none;display:flex;flex-direction:column;gap:.55rem}
.phase-list li{font-size:.85rem;color:var(--muted-strong);padding-left:1.1rem;position:relative;line-height:1.65}
.phase-list li::before{content:'—';position:absolute;left:0;color:var(--teal);opacity:.6}

/* ─── TEAM ──────────────────────────────────────────────────── */
.team{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:3rem}
.team > *{min-width:0}
.member{background:var(--navy);border:1px solid var(--border);border-radius:var(--r-md);
  padding:2rem;border-left:3px solid var(--teal)}
.member-name{font-family:var(--sf);font-size:1.5rem;font-weight:400;line-height:1.15}
.member-role{font-size:.76rem;color:var(--teal);letter-spacing:.09em;text-transform:uppercase;margin:.35rem 0 1rem}
.member-facts{list-style:none;display:flex;flex-direction:column;gap:.4rem;
  padding-bottom:1.1rem;margin-bottom:1.1rem;border-bottom:1px solid var(--border)}
.member-facts li{font-size:.8rem;color:var(--muted-strong);padding-left:1.1rem;position:relative;line-height:1.55}
.member-facts li::before{content:'—';position:absolute;left:0;color:var(--teal);opacity:.6}
.member-bio{font-size:.86rem;color:var(--muted);line-height:1.78}
.member-link{display:inline-block;margin-top:1.1rem;font-size:.78rem;color:var(--teal);text-decoration:none;
  border-bottom:1px solid var(--tmid);padding-bottom:2px}
.member-link:hover{border-bottom-color:var(--teal)}

/* ─── FORMS ─────────────────────────────────────────────────── */
.field{margin-bottom:.9rem}
label{display:block;font-size:.72rem;color:var(--muted-strong);letter-spacing:.09em;
  text-transform:uppercase;margin-bottom:.38rem}
input,textarea{width:100%;background:var(--navy-2);border:1px solid var(--border);border-radius:var(--r-sm);
  padding:.78rem 1rem;color:var(--white);font-family:var(--ss);font-size:.9rem;outline:none;transition:border-color .2s}
input:focus,textarea:focus{border-color:var(--teal)}
input::placeholder,textarea::placeholder{color:var(--muted)}
.field-error{color:var(--danger);font-size:.75rem;display:block;margin-top:.25rem}
.form-status{padding:1rem;border-radius:var(--r-sm);margin-bottom:1rem;font-size:.9rem;line-height:1.6}
.form-status.ok{background:var(--tdim);border:1px solid var(--teal);color:var(--teal)}
.form-status.err{color:var(--danger);font-size:.85rem;padding:0;background:none;border:none}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}
.contact-grid > *{min-width:0}
.contact-detail{margin-top:1.25rem;font-size:.875rem;color:var(--muted);line-height:1.7}
.contact-detail a{color:var(--teal);text-decoration:none}
.gate{margin-top:2rem;background:var(--navy-2);border:1px solid var(--border);border-radius:var(--r-md);padding:1.6rem 1.7rem}
.gate h3{margin-bottom:.4rem}
.gate p{font-size:.84rem;color:var(--muted);line-height:1.65;margin-bottom:1rem}
.gate .field{margin-bottom:.7rem}

/* ─── FOOTER ────────────────────────────────────────────────── */
footer{background:var(--navy-2);border-top:1px solid var(--border);padding:2.25rem 0}
.footer-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}
.footer-mark{font-family:var(--sf);font-size:1.05rem;color:var(--teal)}
.footer-meta{font-size:.78rem;color:var(--muted)}
.footer-links{display:flex;gap:1.5rem}
.footer-links a{font-size:.78rem;color:var(--muted);text-decoration:none;transition:color .2s}
.footer-links a:hover{color:var(--teal)}

/* ─── ERROR PAGE ────────────────────────────────────────────── */
.errorpage{min-height:70vh;display:flex;align-items:center;padding:9rem 0 5rem}
.errorpage .code{font-family:var(--sf);font-size:clamp(4rem,12vw,8rem);font-weight:300;color:var(--teal);opacity:.35;line-height:1}

/* ─── MOTION ────────────────────────────────────────────────── */
.fade{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}
.fade.in{opacity:1;transform:none}
/* If JS never runs, nothing may stay invisible. */
.no-js .fade{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .fade{opacity:1;transform:none;transition:none}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

/* ══ RESPONSIVE ═════════════════════════════════════════════ */
@media(max-width:1024px){
  .grid-2,.compare-layout{gap:3rem}
  .steps{grid-template-columns:1fr}
  .step:nth-last-child(-n+2){border-bottom:1px solid var(--border)}
  .step:last-child{border-bottom:none}
  .flow{grid-template-columns:1fr 1fr}
}
@media(max-width:980px){
  .tl-top,.tl-bot,.tl-dots{display:none}
  .tl-outer{overflow-x:visible;padding:2rem 1.5rem}
  .tl-mobile{display:flex;flex-direction:column;gap:2.5rem;position:relative;padding-left:1.5rem}
  .tl-mobile::before{content:'';position:absolute;left:29px;top:0;bottom:0;width:2px;background:var(--border)}
  .tlm-step{position:relative}
  .tlm-num{position:absolute;left:-34px;top:0;width:34px;height:34px;border-radius:var(--r-full);
    background:var(--navy-3);border:1.5px solid var(--teal);display:flex;align-items:center;justify-content:center;
    font-family:var(--sf);font-size:.9rem;color:var(--teal);z-index:2}
  .tlm-cards{display:flex;flex-direction:column;gap:.75rem}
  .tlm-card{background:var(--navy-3);border:1px solid var(--border);border-radius:var(--r-md);padding:1.25rem}
  .tlm-card.ref{border-left:3px solid var(--muted)}
  .tlm-card.main{border-left:3px solid var(--teal);background:rgba(45,212,191,.03)}
  .tlm-tag{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;display:block;margin-bottom:.4rem}
  .tlm-tag.goo{color:var(--muted-strong)}
  .tlm-tag.bioccs{color:var(--teal)}
  .tlm-card h3{font-size:.88rem;margin-bottom:.28rem}
  .tlm-card p{font-size:.8rem;color:var(--muted);line-height:1.55}
  .tl-head{margin-bottom:1.25rem}
}
@media(max-width:860px){
  .grid-2,.contact-grid,.team,.compare-layout{grid-template-columns:1fr;gap:2.5rem}
  .pillars,.phases,.drivers,.alloc{grid-template-columns:1fr}
  .flow{grid-template-columns:1fr}
  .section{padding:4.5rem 0}
  .hero{padding:7.5rem 0 4rem}
  .nav-links{display:flex;position:fixed;top:0;left:0;width:100%;height:100dvh;background:var(--navy);
    flex-direction:column;justify-content:center;align-items:center;gap:2.5rem;
    transform:translateY(-100%);transition:transform .4s ease;opacity:0;pointer-events:none;z-index:999}
  .nav-links.active{transform:translateY(0);opacity:1;pointer-events:all}
  .nav-links a{font-size:1.25rem;color:var(--white)}
  .mob-btn{display:block}
}
@media(max-width:640px){
  /* iOS Safari zooms the page in when a focused field is below 16px */
  input,textarea{font-size:16px}
  /* uppercase micro-labels get a floor on small screens */
  .flow-step,.tl-cat,.tlm-tag{font-size:.72rem}
  .block{padding:1.75rem 1.35rem}
  .legal{padding:7.5rem 0 4rem}
}
@media(max-width:540px){
  .hero-ctas{flex-direction:column}
  .hero-ctas .btn{text-align:center;width:100%}
  .wrap{padding:0 1.25rem}
}
/* ─── LEGAL PAGES (Impressum / Privacy) ─────────────────────── */
.legal{padding:9rem 0 6rem}
.legal .wrap{max-width:760px}
.legal h1{margin-bottom:.75rem}
.legal .updated{font-size:.8rem;color:var(--muted);margin-bottom:2.5rem}
.block{background:var(--navy-2);border:1px solid var(--border);border-radius:var(--r-md);
  padding:2.25rem 2rem;margin-bottom:1.25rem}
.block h2{font-family:var(--sf);font-size:1.3rem;font-weight:400;color:var(--teal);margin-bottom:1.1rem}
.block h3{font-size:.9rem;margin:1.25rem 0 .4rem}
.block p,.block li{font-size:.93rem;color:var(--muted-strong);line-height:1.8;margin-bottom:.5rem}
.block p:last-child,.block li:last-child{margin-bottom:0}
.block strong{color:var(--white);font-weight:500}
.block a{color:var(--teal);text-decoration:none;border-bottom:1px solid var(--tmid)}
.block a:hover{border-bottom-color:var(--teal)}
.block ul{list-style:none;padding:0;margin:.5rem 0}
.block ul li{padding-left:1.1rem;position:relative}
.block ul li::before{content:'—';position:absolute;left:0;color:var(--teal);opacity:.6}
.block .todo{color:var(--danger);font-weight:500}
