@import "tailwindcss";

:root { --ink:#122333; --muted:#60717e; --blue:#276c94; --blue-deep:#114b6e; --pale:#edf5f8; --line:#cfdae0; --paper:#fafcfb; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--font-geist-sans), Arial, sans-serif; }
a { color:inherit; text-decoration:none; }
main { overflow:hidden; }
.hero { min-height:100svh; position:relative; display:flex; align-items:center; justify-content:center; padding:100px 24px 120px; background:radial-gradient(circle at 50% 45%,#fff 0,#fbfdfd 45%,#edf5f7 110%); }
.hero-inner { width:min(1040px,100%); text-align:center; position:relative; z-index:1; }
.eyebrow,.section-kicker,.era-label { margin:0 0 30px; color:var(--blue); font-size:14px; font-weight:650; letter-spacing:.18em; text-transform:uppercase; }
.hero h1 { margin:0; font-size:clamp(4.5rem,11.5vw,10.5rem); font-weight:430; line-height:.86; letter-spacing:-.075em; }
.hero-subtitle { margin:28px 0 42px; color:#3b5262; font-family:Georgia,serif; font-size:clamp(1.35rem,2.5vw,2rem); font-style:italic; }
.definition-rule { width:44px; height:1px; background:var(--blue); margin:0 auto 38px; }
.definition { max-width:860px; margin:auto; color:#405361; font-size:clamp(1.15rem,1.65vw,1.32rem); line-height:1.75; }
.definition strong { color:var(--ink); }
.ambient { position:absolute; border:1px solid rgba(39,108,148,.1); border-radius:50%; }
.ambient-one { width:48vw;height:48vw;max-width:690px;max-height:690px;left:-25vw;top:-20vw; }
.ambient-two { width:28vw;height:28vw;right:-12vw;bottom:-10vw; }
.scroll-cue { position:absolute; bottom:28px; display:flex; flex-direction:column; align-items:center; gap:10px; color:#536975; font-size:12px; letter-spacing:.16em; text-transform:uppercase; }
.scroll-cue i { width:1px;height:26px;background:#8296a1; }
.section { padding:clamp(100px,13vw,190px) 5vw; }
.narrow { width:min(860px,100%); margin:auto; }
.intro-copy>p { color:#506571; font-size:clamp(1.05rem,1.7vw,1.35rem); line-height:1.8; }
.intro-copy h2 { margin:100px 0 54px; font-family:var(--font-geist-sans),Arial,sans-serif; font-size:clamp(2.4rem,5.3vw,5rem); font-weight:440; line-height:1.08; letter-spacing:-.055em; }
.intro-copy strong { color:var(--blue-deep); }
.evolution-wrap { width:min(1440px,100%); margin:150px auto 0; position:relative; }
.visual-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:55px; }
.visual-heading .era-label { margin:0 0 9px; }
.visual-heading h3 { margin:0; max-width:690px; font-family:var(--font-geist-sans),Arial,sans-serif; font-size:clamp(2.1rem,4vw,4.4rem); font-weight:440; line-height:1.08; letter-spacing:-.055em; }
.evolution-art { background:#fff; border:1px solid #dbe5e8; border-radius:30px; padding:clamp(18px,2.5vw,40px); box-shadow:0 22px 70px rgba(23,64,82,.08); }
.evolution-art img { display:block; width:100%; height:auto; border-radius:16px; }
.evolution-labels { display:grid; grid-template-columns:repeat(6,1fr); gap:10px; padding:24px 1% 2px; color:#48606c; font-size:clamp(.8rem,1.1vw,1rem); line-height:1.3; text-align:center; }
.evolution-labels span:last-child { color:var(--blue-deep); font-weight:700; }
.evolution-wrap blockquote { max-width:680px;margin:78px auto 0;text-align:center;color:#58707d;font-family:Georgia,serif;font-size:clamp(1.15rem,2vw,1.55rem);font-style:italic;line-height:1.6; }
.now { background:#102d3f;color:#f6fbfd;text-align:left;position:relative; }
.now .section-kicker { color:#90bed0; }.now h2 { margin:0 0 45px;font-family:var(--font-geist-sans),Arial,sans-serif;font-size:clamp(2.8rem,6vw,5.7rem);font-weight:440;line-height:1;letter-spacing:-.06em; }
.now .narrow>p:not(.section-kicker) { max-width:720px;color:#b8c9d2;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.75; }
.now .requirement { color:#fff!important;font-weight:600;margin-top:38px; }
.imagine { background:#f3f7f7; }
.imagine-grid { width:min(1200px,100%);margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:10vw; }
.imagine-heading { position:sticky;top:110px;align-self:start; }.imagine-heading h2 { font-family:var(--font-geist-sans),Arial,sans-serif;font-size:clamp(2.7rem,5vw,5rem);font-weight:440;line-height:1.05;letter-spacing:-.06em; }
.possibility { display:grid;grid-template-columns:45px 1fr;gap:22px;padding:36px 0;border-top:1px solid #cad8dc; }.possibility:last-child{border-bottom:1px solid #cad8dc}
.possibility span { color:#527281;font-size:18px;font-weight:650;letter-spacing:.08em;padding-top:5px; }.possibility p{margin:0;font-size:clamp(1.3rem,2.2vw,2rem);line-height:1.4;letter-spacing:-.025em;}
.opportunity { width:min(870px,100%);margin:150px auto 0;text-align:center;font-family:Georgia,serif;font-size:clamp(1.8rem,3.6vw,3.25rem);line-height:1.3;color:#244c61; }
.final-question { min-height:90svh;padding:120px 5vw;display:flex;align-items:center;justify-content:center;text-align:center;background:#fff; }
.question-inner { width:min(1000px,100%); }
.question-inner>p { color:#526a76;font-size:clamp(1.2rem,1.8vw,1.45rem);letter-spacing:.02em; }.question-inner h2 { margin:28px 0 0;font-family:var(--font-geist-sans),Arial,sans-serif;font-size:clamp(2.3rem,4vw,3.8rem);font-weight:440;line-height:1.1;letter-spacing:-.05em; }
.question-pause { height:120px;display:flex;justify-content:center;align-items:center; }.question-pause span{height:62px;width:1px;background:linear-gradient(var(--line),transparent)}
.question-inner h3 { margin:28px 0 0;color:var(--blue-deep);font-size:clamp(2.8rem,5.8vw,5.6rem);font-weight:440;line-height:1.04;letter-spacing:-.055em; }
footer {
  padding:72px 6vw;
  background:#102d3f;
  color:#c4d1d7;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,520px));
  justify-content:center;
  gap:clamp(50px,8vw,120px);
  font-size:14px;
  line-height:1.7;
}
footer>div { display:flex;flex-direction:column;gap:14px; }
footer strong { color:#fff;font-size:22px;font-weight:500;letter-spacing:-.035em; }
footer p { margin:0; }
.footer-left,.footer-right { width:100%;max-width:none; }
.footer-left p { color:#d3dfe4; }
.footer-right { justify-self:stretch;text-align:left; }
.footer-right p:first-child { color:#fff;font-weight:500; }
@media(max-width:850px){.visual-heading{display:block}.visual-heading .era-label{margin-bottom:24px}.evolution-labels{font-size:12px}.imagine-grid{grid-template-columns:1fr;gap:70px}.imagine-heading{position:static}footer{grid-template-columns:1fr;gap:40px}.footer-right{justify-self:start;text-align:left}.question-inner h3 br{display:none}}
@media(max-width:560px){.hero h1{font-size:4.15rem}.hero{padding-inline:18px}.section{padding-inline:24px}.evolution-art{padding:10px;border-radius:18px;overflow-x:auto}.evolution-art img{width:780px;max-width:none}.evolution-labels{width:780px;font-size:12px;padding-bottom:8px}.intro-copy h2{margin-top:75px}.final-question{padding-inline:22px}.question-pause{height:120px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
