/* CatchWave v7.1 — consolidated design tokens, components, accessibility, responsive rules */
:root {
  --navy:#081b46; --navy-2:#102b67; --blue:#1758e8; --blue-dark:#1046c3;
  --ink:#152644; --muted:#50617e; --pale:#f3f7ff; --line:#dce6f6;
  --font-display:"Segoe UI Variable Display","Aptos Display","Helvetica Neue",Arial,system-ui,sans-serif;
  --font-body:"Segoe UI Variable Text","Aptos","Segoe UI",-apple-system,BlinkMacSystemFont,Arial,sans-serif;
  --radius:22px; --shadow:0 22px 55px rgba(21,61,125,.12);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:#fff;color:var(--ink);font:400 16px/1.7 var(--font-body);-webkit-font-smoothing:antialiased}
button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}
strong{font-weight:720}p{margin:0 0 19px}h1,h2,h3{font-family:var(--font-display);font-weight:750;letter-spacing:-.052em;line-height:1.12;margin:0 0 22px}h1{font-size:clamp(2.7rem,6.4vw,5.9rem)}h2{font-size:clamp(2.2rem,4vw,3.8rem)}h3{font-size:clamp(1.35rem,2vw,1.75rem)}
::selection{background:#c6dbff;color:#071a45}
a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid #5994ff;outline-offset:4px}
.shell{width:min(1180px,calc(100% - 44px));margin-inline:auto}.narrow{max-width:785px}
.skip-link{position:absolute;z-index:150;top:-100px;left:16px;padding:10px 16px;background:#fff;border:2px solid var(--blue)}.skip-link:focus{top:9px}
.site-header{position:sticky;top:0;z-index:70;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(15px)}
.main-nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{font:800 1.75rem/1 var(--font-display);letter-spacing:-.08em;color:var(--navy);white-space:nowrap}.brand span{color:var(--blue)}.brand i{color:var(--blue);font-style:normal}
.nav-links{display:flex;align-items:center;gap:clamp(12px,2.3vw,30px)}.nav-links>a{font-size:.875rem;font-weight:700;line-height:1.35;white-space:nowrap}.nav-links>a:not(.nav-cta):hover,.nav-links>a[aria-current="page"]{color:var(--blue)}
.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 24px;border-radius:100px;background:var(--blue);border:1px solid var(--blue);color:#fff;font-weight:750;line-height:1.3;text-align:center;transition:transform .24s ease,background .24s ease,box-shadow .24s ease}
.nav-cta{font-size:.8rem;padding:11px 19px}.nav-cta:hover,.btn:hover{background:var(--blue-dark);box-shadow:0 8px 20px #1758e821;transform:translateY(-2px)}
.btn--outline{background:#fff;color:var(--navy);border-color:#bed2f2}.btn--outline:hover{background:#eef4ff;color:var(--navy)}.btn--light{background:#fff;color:var(--navy);border-color:#fff}.btn--light:hover{color:var(--navy);background:#dce9ff}
.menu-toggle{display:none;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:48px;height:48px;background:#eff5ff;border:1px solid #cfddf5;border-radius:13px;flex:0 0 auto}
.menu-toggle span{display:block;width:20px;height:2px;background:var(--navy);border-radius:2px;transition:transform .2s ease,opacity .2s ease}
.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-7px) rotate(-45deg)}
.hero{overflow:hidden;background:linear-gradient(125deg,#f7faff 1%,#eaf2ff 64%,#dce9ff 100%)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(290px,.8fr);align-items:center;gap:28px;padding:105px 0 94px}.hero-copy{position:relative;z-index:1}
.hero--compact{padding:91px 0 83px}.hero--compact h1{max-width:950px}
.hero h1 em{font-style:normal;color:var(--blue);text-wrap:balance}.hero h1{max-width:850px;line-height:1.02;margin:15px 0 26px;text-wrap:balance}
.eyebrow{font-size:.76rem;text-transform:uppercase;letter-spacing:.17em;color:#1b53b9;font-weight:800;margin:0 0 15px}
.lead{font-size:clamp(1.06rem,1.7vw,1.28rem);line-height:1.67;color:#3d5277;max-width:750px}.hero .lead strong{color:#213e73}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 0}.hero-disclaimer{margin-top:26px;font-size:.78rem;color:#647595}
.blue{color:var(--blue)}.text-link{color:var(--blue-dark);font-weight:750;text-underline-offset:5px}.text-link:hover{text-decoration:underline}
.hero-art{height:440px;position:relative;display:grid;place-items:center;isolation:isolate}.orbit{position:absolute;inset:17px;border:1px solid #a7c3f2;border-radius:50%;transform:rotate(-11deg)}.orbit--two{inset:53px 0;transform:rotate(23deg);border-style:dashed}
.book{width:255px;min-height:356px;position:relative;z-index:2;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(145deg,#2366f6,#123a94 65%,#07255e);border-left:12px solid #112d69;border-radius:6px 15px 15px 6px;transform:rotate(8deg);box-shadow:25px 35px 55px #0d3a8545;color:#fff;padding:31px 26px}.book span{letter-spacing:.14em;font-weight:700;font-size:.62rem}.book strong{font-size:2.38rem;line-height:1.05;letter-spacing:-.08em;font-family:var(--font-display)}.book strong i{font-style:normal;color:#b9d3ff}.art-stamp{position:absolute;right:5%;bottom:20px;z-index:3;background:#fff;color:#1c4baf;padding:12px 18px;box-shadow:0 15px 40px #0a3e8220;font:800 .8rem var(--font-display);letter-spacing:.14em}
.section{padding:95px 0}.section--top{padding-top:45px}.section--pale{background:var(--pale)}.section--dark{background:var(--navy);color:#fff}.section--dark .eyebrow{color:#9abfff}.section--dark .lead{color:#cedbf6}.section--dark .btn--light{color:var(--navy)}
.section-intro{max-width:850px;margin-bottom:39px}.grid{display:grid;gap:20px}.grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.tile{display:flex;flex-direction:column;min-width:0;min-height:270px;padding:36px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;transition:transform .27s ease,box-shadow .27s ease,border-color .27s ease}.tile:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#b7cbed}
.tile h3{margin:21px 0 15px;letter-spacing:-.045em}.tile p{font-size:.96rem;color:#536481;line-height:1.72}.tile__num{font:800 .78rem var(--font-display);letter-spacing:.1em;color:#5372ac}.tile__action{font-weight:800;font-size:.9rem;color:#1453cf;margin-top:auto}.tile--literature{background:#091e4b;color:#fff;border-color:#091e4b}.tile--literature .tile__num,.tile--literature p{color:#c9d8f6}.tile--literature .tile__action{color:#b4d0ff}.tile--children{background:#e5f1ff}.tile--essay{background:#f1efff}.tile--education{background:#e5f6f7}.tile--journal{background:#fff}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:clamp(28px,5vw,70px)}.split--hero{align-items:center}
.steps{counter-reset:count}.step{display:flex;gap:20px;border-top:1px solid #d3def0;padding:23px 0}.step:last-child{border-bottom:1px solid #d3def0}.step::before{counter-increment:count;content:'0' counter(count);padding-top:4px;font:800 .82rem var(--font-display);color:var(--blue)}.step strong{font-weight:800;display:block;margin-bottom:5px}.step p{color:var(--muted);margin:0;font-size:.96rem}
.feature{padding:42px;min-height:400px;border-radius:var(--radius);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.feature h2{margin:35px 0 18px;max-width:470px}.feature p{margin:0;font-size:1.02rem}.feature__number{font:800 .8rem var(--font-display);letter-spacing:.15em}
.feature--literature{background:#081e4a;color:#fff}.feature--children{background:#e1f0ff;color:#103468}.feature--essay{background:#efedff;color:#32306d}.feature--education{background:#dff3f5;color:#125260}
.breadcrumbs{padding-top:23px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:.82rem;color:#586c8d}.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}
.page-title{font-size:clamp(2.6rem,5.5vw,5.2rem)}.article-title{font-size:clamp(2.35rem,5.2vw,4.6rem)}.pills{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0 31px}.pills span{display:inline-block;border:1px solid #bed1ed;color:#264f96;border-radius:99px;background:#fff;font-size:.81rem;font-weight:650;padding:8px 13px}
.focus-list{border-top:1px solid #ccddf4}.focus-item{border-bottom:1px solid #ccddf4;padding:22px 0}.focus-item h3{margin:8px 0;font-size:1.35rem}.focus-item p{margin:0;color:#50617d}.focus-mark{font:800 .73rem var(--font-display);color:var(--blue)}
.prose{max-width:805px}.prose>section{margin-top:40px}.prose p{font-size:1.05rem;line-height:1.83;color:#405270}.prose h2{margin:35px 0 14px;font-size:clamp(1.7rem,3.5vw,2.4rem)}.prose .lead{font-size:1.17rem}.note{font-size:.87rem!important;color:#64728d!important}
.editor-note{border-left:3px solid var(--blue);padding:17px 23px;background:#f1f6ff;margin:40px 0;border-radius:0 14px 14px 0}.editor-note p{font-size:.9rem;margin:4px 0 0}
.dna-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.panel{border:1px solid var(--line);border-radius:24px;padding:34px;min-width:0}.panel h2{font-size:2rem}.panel--blue{background:#f0f6ff;border-color:#c7d8f3}.field{display:grid;gap:7px;margin:0 0 21px}.field label{font-weight:760}.field select{background:#fff;color:var(--ink);border:1px solid #a6bedf;border-radius:12px;padding:11px 13px;min-height:50px;width:100%}.mt-16{margin-top:16px}.dna-result h2{font-size:1.75rem}.dna-result p{color:#435674}.dna-result ul{padding-left:23px}.dna-result li{margin-bottom:8px;color:#394e70}
.site-footer{padding:57px 0 25px;background:#061530;color:#dae5fa}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px}.brand--footer{color:#fff;display:inline-block;margin-bottom:16px}.footer-description{color:#aec3e6;max-width:400px;font-size:.92rem}.footer-heading{font-size:1rem;letter-spacing:0;color:#fff;margin:3px 0 19px}.footer-links{display:flex;flex-direction:column;gap:10px;font-size:.9rem}.footer-links a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid #30425f;margin-top:40px;padding-top:20px;font-size:.78rem;color:#a7b8d8}
/* Text must remain readable even if JavaScript fails. Motion is progressive enhancement. */
.reveal{opacity:1;transform:none}
@media (prefers-reduced-motion:no-preference){
  html{scroll-behavior:smooth}.motion-ready .reveal{opacity:0;transform:translateY(16px);transition:opacity .65s ease,transform .65s cubic-bezier(.25,.7,.2,1)}.motion-ready .reveal.is-visible{opacity:1;transform:none}
  .hero-art .book{animation:book-arrive 1s ease-out both}.hero-art .orbit--one{animation:orbit-breathe 8s ease-in-out infinite alternate}
  @keyframes book-arrive{from{opacity:.7;transform:translateY(14px) rotate(6deg)}to{opacity:1;transform:translateY(0) rotate(8deg)}}
  @keyframes orbit-breathe{from{transform:rotate(-11deg) scale(.985)}to{transform:rotate(-7deg) scale(1.02)}}
}
@media(max-width:1000px){.main-nav{gap:14px}.nav-links{gap:13px}.nav-links>a{font-size:.8rem}.nav-cta{padding:10px 13px}.grid--three{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-grid{grid-template-columns:1.1fr .9fr}.hero-art{height:350px}.book{width:210px;min-height:300px}.book strong{font-size:1.95rem}}
@media(max-width:760px){
 .shell{width:calc(100% - 34px)}.main-nav{min-height:66px}.menu-toggle{display:flex}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;box-shadow:0 16px 27px #0e3b781a;padding:14px 17px 23px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}
 .nav-links.is-open{display:flex}.nav-links>a{font-size:1rem;white-space:normal;padding:13px 5px;border-bottom:1px solid #e4ecf9;min-height:45px}.nav-links .nav-cta{margin-top:15px;border:0;color:#fff;justify-content:center}
 .hero-grid{grid-template-columns:1fr;padding:61px 0 49px;gap:4px}.hero-art{height:300px}.book{width:188px;min-height:268px;padding:24px}.book strong{font-size:1.75rem}.orbit{inset:14px 19%}.orbit--two{inset:30px 16%}.art-stamp{right:17%;bottom:9px}
 .hero--compact{padding:61px 0}.section{padding:64px 0}.section--top{padding-top:31px}.split,.dna-grid{grid-template-columns:1fr;gap:26px}.feature{min-height:300px}.grid--two,.grid--three{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr;gap:24px}.footer-grid>div:first-child{grid-column:1/-1}
}
@media(max-width:440px){.hero h1{font-size:clamp(2.58rem,11.7vw,3.8rem)}.tile{padding:27px;min-height:0}.actions .btn{width:100%}.panel{padding:24px}.feature{padding:27px;min-height:280px}.hero-art{height:268px}.book{min-height:244px;width:172px}.book strong{font-size:1.6rem}.lead{font-size:1.04rem}.section{padding:54px 0}.section--top{padding-top:31px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* Do not delay the homepage's likely Largest Contentful Paint (hero text). */
@media(prefers-reduced-motion:no-preference){.motion-ready .hero .reveal{opacity:1;transform:none;transition:none}}
