/* FLY8 Study • Tower Method visual system. No external assets, frameworks, or trackers. */
:root{
  color-scheme:dark;
  --cream:#081321;--ink:#ecf5ff;--muted:#a7b9ca;--kiwi:#7fe4ed;--kiwi-deep:#b0f3fa;
  --peach:#7ee7e8;--peach-soft:#112338;--line:#26384e;--on-deep:#f3fbff;
  --link:#90e4f4;--bug:#f1767e;--warn-bg:#253125;--warn-fg:#ffe4a2;
  --hero:#081321;--hero-text:#edf7ff;--focus:#8de8f3;--surface:#101f31;
  --display:"Bricolage Grotesque","Avenir Next","Segoe UI",system-ui,sans-serif;
  --body:"Atkinson Hyperlegible","Segoe UI",system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px;accent-color:var(--kiwi)}
body{margin:0;min-height:100vh;background:var(--cream);color:var(--ink);font:400 17px/1.65 var(--body);overflow-wrap:anywhere}
::selection{background:#70dae9;color:#081321}
:focus-visible{outline:3px solid var(--focus);outline-offset:4px;border-radius:4px}
a{color:var(--link);text-underline-offset:.22em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
.skip{position:absolute;z-index:99;left:-9999px;top:9px;background:#c9f8ff;color:#071320;padding:12px 16px;border-radius:8px}
.skip:focus{left:12px}
h1,h2,h3{font-family:var(--display);line-height:1.12;letter-spacing:-.035em;margin:0;font-weight:800;text-wrap:balance}
p,li{text-wrap:pretty}
.in{width:min(100%,1220px);padding-inline:clamp(20px,4.6vw,50px);margin-inline:auto}
header{position:sticky;top:0;z-index:40;background:rgba(8,19,33,.92);border-bottom:1px solid rgba(153,197,221,.13);backdrop-filter:blur(18px)}
.top{min-height:82px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 28px}
.brand,.foot-brand{display:inline-flex;align-items:center;gap:10px;font:800 1.28rem/1 var(--display);color:var(--ink);text-decoration:none;letter-spacing:-.04em;white-space:nowrap}
.brand-light,.foot-brand span{font-weight:700;color:#a8d9e6}
.brand-emblem{width:40px;height:40px;display:inline-grid;place-items:center;flex:none}
.bug{filter:brightness(1.8) saturate(.75)}
.top nav{display:flex;align-items:center;flex-wrap:wrap;gap:2px clamp(12px,2vw,24px)}
.top nav a{color:#c5d2df;text-decoration:none;font-size:.88rem;font-weight:700;min-height:44px;padding:10px 0;display:inline-flex;align-items:center;border-bottom:2px solid transparent;white-space:nowrap}
.top nav a:hover,.top nav a[aria-current=page]{color:#fff;border-color:#76d7e4}
.top nav a.nav-cta{color:#071a2a;padding:10px 16px;background:#8de4ee;border:1px solid #8de4ee;border-radius:10px;min-height:42px;margin-left:2px;gap:8px}
.top nav a.nav-cta:hover{border-color:#d4fcff;background:#c4f7fa}
.draft,.tbc{background:var(--warn-bg);color:var(--warn-fg);padding:8px 0}
.draft p{margin:0}
.tbc{padding:2px 6px;border-radius:4px}
.btn{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:12px 22px;border-radius:12px;background:#86e6ee;color:#061a28;text-decoration:none;cursor:pointer;font:700 1rem/1.2 var(--body);box-shadow:0 8px 30px rgba(54,198,225,.15);transition:background .2s,transform .2s,border-color .2s}
.btn:hover{background:#c0f7f7;transform:translateY(-2px);text-decoration:none}
.btn-ghost,.btn-outline{background:transparent;color:var(--ink);border-color:#507087;box-shadow:none}
.btn-ghost:hover,.btn-outline:hover{background:rgba(113,203,232,.1);border-color:#96dbe8}
.cta{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.eyebrow,.kicker,.micro-label,.visual-overline,.card-tail{font-size:.73rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.eyebrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:#a4d3df;letter-spacing:.10em}
.pulse-dot{width:7px;height:7px;border-radius:50%;background:#71e5b6;box-shadow:0 0 0 5px rgba(113,229,182,.12)}
.eyebrow-divider{color:#5d8199}
.gradient-text{background:linear-gradient(100deg,#f1fbff 2%,#82d8f2 43%,#94a9ff 99%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero{position:relative;isolation:isolate;background:radial-gradient(ellipse 80% 90% at 77% 40%,rgba(28,101,140,.22),transparent 66%),radial-gradient(ellipse 45% 60% at 30% -20%,rgba(66,126,173,.12),transparent 75%),#081321;overflow:hidden;color:var(--hero-text)}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(128,194,233,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(128,194,233,.035) 1px,transparent 1px);background-size:58px 58px;mask-image:linear-gradient(90deg,transparent 5%,black 100%);pointer-events:none}
.hero-glow{position:absolute;width:550px;height:550px;right:7%;top:5%;background:radial-gradient(circle,rgba(75,157,227,.18),transparent 68%);filter:blur(25px);pointer-events:none}
.hero-layout{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);align-items:center;gap:clamp(36px,5vw,76px);padding-block:100px 80px;position:relative}
.hero h1{font-size:clamp(3.3rem,5.6vw,5.65rem);letter-spacing:-.065em;line-height:1.02;margin:22px 0 24px;max-width:12ch}
.hero-lead{max-width:550px;color:#bfd0df;font-size:clamp(1.02rem,1.4vw,1.16rem);line-height:1.75;margin:0 0 30px}
.hero .btn{min-width:196px}
.dl-note{color:#abc2d0;font-size:.85rem;margin:14px 0 0}
.hero-points{display:flex;align-items:center;gap:15px 24px;flex-wrap:wrap;margin-top:36px;color:#93adc1;font-size:.83rem}
.hero-points span{display:inline-flex;align-items:center;gap:8px}
.hero-points svg{width:17px;height:17px;fill:none;stroke:#7fe2c6;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hero-visual{position:relative;min-height:526px;display:grid;place-items:center}
.visual-halo{position:absolute;inset:8% 4% 4%;border-radius:50%;border:1px solid rgba(114,201,246,.08);box-shadow:0 0 0 62px rgba(71,131,171,.016),0 0 0 135px rgba(71,131,171,.016);pointer-events:none}
.visual-card{position:relative;width:min(100%,440px);background:linear-gradient(145deg,rgba(22,47,68,.97),rgba(9,26,44,.99));border:1px solid #315675;border-radius:25px;padding:24px;box-shadow:0 28px 100px rgba(0,0,0,.45),0 0 55px rgba(64,170,214,.1);transform:rotate(-2deg)}
.visual-card::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,rgba(176,242,255,.08),transparent 40%)}
.visual-top,.visual-bottom{display:flex;justify-content:space-between;gap:10px;align-items:center}
.micro-label{color:#7d9eb5;font-size:.61rem}
.visual-indicator{display:flex;align-items:center;gap:7px;color:#b9e6ee;font-size:.6rem;letter-spacing:.11em;font-weight:700}
.visual-indicator span,.minidot{width:6px;height:6px;background:#83f3d0;border-radius:50%;display:inline-block}
.visual-heading{display:flex;align-items:center;justify-content:space-between;padding-block:27px 19px}
.visual-overline{color:#85b6cc;font-size:.6rem;letter-spacing:.16em;margin:0 0 9px}
.visual-heading h2{font-size:clamp(1.65rem,3vw,2.2rem);letter-spacing:-.035em}
.visual-symbol{color:#87d9e7;font-size:2.4rem}
.floor-stack{display:grid;gap:9px;padding:5px 0 22px}
.floor{display:flex;align-items:center;gap:11px;min-height:43px;border:1px solid rgba(141,204,237,.17);border-radius:10px;background:rgba(16,45,70,.75);padding:9px 13px;box-shadow:inset 0 1px rgba(255,255,255,.035)}
.floor-five{width:77%;margin:auto;background:linear-gradient(90deg,rgba(83,188,220,.24),rgba(53,118,170,.25));border-color:rgba(132,230,247,.48)}
.floor-four{width:82%;margin:auto}.floor-three{width:88%;margin:auto}.floor-two{width:94%;margin:auto}.floor-one{width:100%}
.floor-number{color:#81b5cb;font-size:.72rem;font-weight:700;font-variant-numeric:tabular-nums}
.floor-title{font-size:.87rem;color:#d5e7f1;font-weight:700;flex:1}
.floor-mark{font-size:.58rem;color:#79dbe4}
.floor-five .floor-title{color:#e5fdff}
.visual-bottom{font-size:.62rem;color:#8ca9bf;font-weight:700;letter-spacing:.07em;border-top:1px solid #29425a;padding-top:18px}
.visual-bottom span:first-child{display:flex;align-items:center;gap:8px}
.ladybug-stamp{position:absolute;right:-9px;bottom:-11px;background:#1b3146;border:1px solid #426680;padding:8px;border-radius:50%;box-shadow:0 10px 25px rgba(0,0,0,.3)}
.floating-label{position:absolute;display:flex;align-items:center;gap:10px;border:1px solid #3b5b76;border-radius:13px;background:#122b43;padding:11px 14px;box-shadow:0 16px 50px rgba(0,0,0,.3)}
.floating-label strong,.floating-label small{display:block;line-height:1.35}
.floating-label strong{font-size:.73rem;color:#e8f6ff}
.floating-label small{font-size:.65rem;color:#92aabe;margin-top:3px}
.float-icon{background:#263d5b;color:#a4c0ff;display:grid;place-items:center;border-radius:9px;width:30px;height:30px;font-size:1.2rem}
.float-icon-cyan{background:#1d4850;color:#81e6dc}
.float-one{top:9%;left:-6%;transform:rotate(4deg)}
.float-two{right:-7%;bottom:9%;transform:rotate(4deg)}
.visual-caption{position:absolute;bottom:-40px;text-align:center;color:#68879c;font-size:.65rem}
.hero-rule{display:flex;justify-content:space-between;gap:12px;border-top:1px solid rgba(134,198,232,.15);padding-block:16px 20px;color:#607f97;font-size:.65rem;letter-spacing:.18em;font-weight:700}
.section{padding-block:clamp(70px,8vw,112px)}
.section-head{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);align-items:end;gap:32px;margin-bottom:36px}
.kicker{color:#73cedb;margin:0 0 16px;font-size:.72rem;letter-spacing:.16em}
.section h2{font-size:clamp(2.15rem,4.2vw,3.65rem);letter-spacing:-.05em}
.section-head h2{max-width:690px}
.section-head h2 span,.perspective-heading h2 span{color:#80cbdc}
.section-head>p{max-width:330px;color:#a3b9cb;line-height:1.7;margin:0}
.intro-section{background:linear-gradient(180deg,#0b1b2b,#0d1b2c)}
.method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.method-card{min-height:315px;padding:30px 27px;border:1px solid #284258;border-radius:19px;background:linear-gradient(145deg,#152c43,#102438);display:flex;flex-direction:column;position:relative;transition:border-color .2s,transform .2s}
.method-card:hover{border-color:#4e88a0;transform:translateY(-3px)}
.method-index{font-size:.76rem;font-weight:700;letter-spacing:.1em;color:#88a9bf}
.method-icon{font-size:2rem;color:#76dce8;margin:30px 0 18px}
.method-card h3{font-size:1.35rem;margin-bottom:12px}
.method-card p{color:#acc1cf;font-size:.94rem;line-height:1.68;margin:0 0 22px}
.card-tail{margin-top:auto;color:#7dabbf;font-size:.66rem}
.method-note{margin:23px 0 0;color:#8ba5b7;font-size:.86rem}
.features-section{background:#081321}
.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.feature-card{border:1px solid #23394e;background:#0d1f31;border-radius:16px;padding:28px;min-height:232px;transition:border-color .2s}
.feature-card:hover{border-color:#3c7793}
.feature-symbol{display:grid;place-items:center;width:42px;height:42px;border:1px solid #2e6073;border-radius:12px;color:#81dce7;background:#183447;font:700 1.5rem/1 var(--display);margin-bottom:22px}
.feature-card h3{font-size:1.19rem;margin-bottom:11px}
.feature-card p{margin:0;color:#a4b9c9;font-size:.91rem;line-height:1.7}
.perspective-section{background:linear-gradient(125deg,#112b3e,#0c2435 65%,#0b1d2b)}
.perspective-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,100px)}
.perspective-heading>p:not(.kicker){color:#b3c8d6;max-width:510px;line-height:1.78}
.inline-link{display:inline-flex;align-items:center;gap:10px;color:#8ce8ee;font-weight:700;text-decoration:none;border-bottom:1px solid #5b91a9;padding-bottom:5px;margin-top:8px}
.inline-link:hover{border-color:#b4f5fa}
.principles{border-top:1px solid #335266}
.principles>div{display:flex;gap:18px;padding:23px 0;border-bottom:1px solid #335266}
.principle-mark{color:#80d9e4;font-size:.79rem;font-weight:700;letter-spacing:.1em;padding-top:2px}
.principles h3{font-size:1.13rem;margin-bottom:7px}
.principles p{font-size:.9rem;color:#afc5d2;line-height:1.7;margin:0}
.access-section{background:#081321;padding-bottom:75px}
.access-panel{position:relative;background:radial-gradient(ellipse at 100% 0,rgba(55,153,194,.18),transparent 55%),linear-gradient(145deg,#142b42,#102238);border:1px solid #2d5169;border-radius:25px;padding:clamp(28px,4.5vw,56px);display:grid;grid-template-columns:1.2fr .8fr;gap:36px}
.access-panel h2{max-width:600px}
.access-copy>p:not(.kicker){max-width:575px;color:#b5cbd7;margin:22px 0 27px;line-height:1.75}
.access-copy strong{color:#e5f9ff}
.access-steps{display:grid;grid-template-columns:1fr 1fr;gap:11px;align-self:center}
.access-steps>div{display:flex;flex-direction:column;gap:6px;border:1px solid #34546e;background:rgba(8,26,43,.45);border-radius:14px;padding:20px 18px;min-height:128px}
.access-steps span{font-size:.7rem;color:#84d7e8;font-weight:700;letter-spacing:.1em}
.access-steps strong{font:800 1.15rem/1.2 var(--display)}
.access-steps small{font-size:.81rem;line-height:1.35;color:#9cb6c8}
.access-disclosure{margin-top:18px}
.access-disclosure p{color:#9bb3c2;font-size:.83rem;margin:0}
.foot{border-top:1px solid #263b50;background:#091521;color:#93a9bb;font-size:.91rem;padding:52px 0 26px}
.foot .in{display:grid;gap:16px}
.foot a{color:#c3d9e6}
.foot nav{display:flex;gap:5px 21px;flex-wrap:wrap}
.foot nav a{padding:6px 0;display:inline-flex;min-height:35px}
.foot p{margin:0}
.foot-layout{grid-template-columns:1.6fr .7fr .8fr;gap:28px 42px!important}
.foot-about p{max-width:320px;line-height:1.65;margin:14px 0 12px}
.foot-about small{color:#748ea1;font-size:.77rem}
.foot-links strong{display:block;color:#e5f2fc;font-size:.9rem;margin-bottom:14px}
.foot-links nav{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.foot-links nav a{color:#a7becd;padding:1px 0;text-decoration:none;min-height:30px}
.foot-links nav a:hover{color:#c9faff}
.foot-bottom{grid-column:1/-1;border-top:1px solid #26394c;padding-top:23px;margin-top:18px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.foot-bottom small{color:#7590a3}
.doc{display:grid;gap:30px;padding-block:54px 86px}
.doc article{max-width:72ch}
.doc h1{font-size:clamp(2.2rem,5vw,3.6rem);margin:0 0 18px}
.doc .lead{font-size:1.15rem;line-height:1.75;color:#b5cad9}
.doc h2{font-size:1.55rem;margin:44px 0 13px;scroll-margin-top:110px}
.doc h3{font-size:1.17rem;margin:28px 0 8px}
.doc p,.doc li{margin:0 0 15px;line-height:1.76}
.doc li{padding-left:3px}
.doc ul,.doc ol{padding-left:1.35em}
.doc a:not(.btn){display:inline-block;padding:1px 0}
.toc{font-size:.92rem;border:1px solid #2a4359;border-radius:14px;padding:8px 18px;align-self:start;background:#11243a}
.toc summary{cursor:pointer;font:700 .97rem var(--body);padding:10px 0;min-height:44px;display:flex;align-items:center}
.toc ol{list-style:none;margin:0 0 13px;padding:0}
.toc li{margin:0;padding:0}
.toc a{display:block;padding:5px 0;color:#afc5d5}
.soon{background:#1e3143;border:1px solid #36536a;border-radius:12px;padding:8px 18px;margin:0 0 18px}
.soon p{margin:10px 0}
.btn[hidden],.soon[hidden],.facts[hidden]{display:none}
.doc .btn{color:#061b29;text-decoration:none}
.facts{display:grid;gap:10px;margin:0 0 24px;padding:20px;border:1px solid #2c4c65;border-radius:12px;background:#112439}
.facts div{display:grid;gap:3px}
.facts dt{color:#99afc1;font-size:.86rem}
.facts dd{margin:0}
.facts code,.doc code{font:600 .9rem ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere;word-break:break-word}
#code-box{color:#101e30!important;background:#e6f5fa!important}
@media(min-width:900px){
  .doc.has-toc{grid-template-columns:240px minmax(0,1fr);gap:60px}
  .doc.has-toc .toc{position:sticky;top:110px;order:-1}
}
@media(max-width:1080px){
  .float-one{left:0}.float-two{right:0}
  .hero-layout{gap:35px}.hero h1{font-size:clamp(3rem,5.7vw,4.5rem)}
}
@media(max-width:850px){
  .top{min-height:77px;align-items:center}
  .top nav{gap:6px 14px}
  .hero-layout{grid-template-columns:1fr;padding-block:70px 65px;gap:32px}
  .hero-copy{max-width:660px}
  .hero h1{font-size:clamp(3.1rem,8vw,4.8rem)}
  .hero-visual{width:min(100%,580px);justify-self:center;min-height:560px}
  .section-head{grid-template-columns:1fr;gap:18px}
  .section-head>p{max-width:620px}
  .method-grid{grid-template-columns:1fr 1fr}
  .method-card:last-child{grid-column:1/-1;min-height:0}
  .feature-grid{grid-template-columns:1fr 1fr}
  .perspective-layout,.access-panel{grid-template-columns:1fr}
  .access-steps{max-width:620px}
}
@media(max-width:600px){
  html{scroll-padding-top:120px}
  .in{padding-inline:20px}
  .top{padding-block:11px;gap:10px;align-items:flex-start}
  .brand{font-size:1.12rem}.brand-emblem,.brand-emblem svg{width:33px;height:33px}
  .top nav{width:100%;gap:3px 15px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px;scrollbar-width:none}
  .top nav::-webkit-scrollbar{display:none}
  .top nav a{font-size:.79rem;min-height:38px;white-space:nowrap;padding:8px 0}
  .top nav a.nav-cta{padding:9px 12px;min-height:36px;margin:0}
  .site-header .top{flex-direction:column}
  .hero-layout{padding-block:54px 54px}
  .hero h1{font-size:clamp(2.75rem,12vw,4rem)}
  .hero-lead{font-size:1rem;line-height:1.7}
  .eyebrow{font-size:.65rem}
  .hero .cta{align-items:stretch}
  .hero .btn{flex:1 1 185px}
  .hero-points{margin-top:26px;gap:9px}
  .hero-visual{min-height:510px}
  .visual-card{width:95%;padding:18px;transform:rotate(-1deg)}
  .visual-heading h2{font-size:1.75rem}
  .floating-label{display:none}
  .visual-caption{bottom:-30px}
  .hero-rule{font-size:.58rem}
  .hero-rule span:last-child{display:none}
  .method-grid,.feature-grid{grid-template-columns:1fr}
  .method-card,.method-card:last-child{grid-column:auto;min-height:255px}
  .method-icon{margin:18px 0 13px}
  .feature-card{min-height:0;padding:24px}
  .feature-symbol{margin-bottom:14px}
  .section{padding-block:66px}
  .section h2{font-size:clamp(2rem,9vw,2.65rem)}
  .access-panel{padding:28px 22px}
  .access-steps{gap:8px}
  .access-steps>div{padding:15px 11px;min-height:115px}
  .access-steps strong{font-size:1rem}
  .foot-layout{grid-template-columns:1fr 1fr;gap:27px 18px!important}
  .foot-about{grid-column:1/-1}
  .foot-bottom{margin-top:0}
  .doc{padding-block:36px 70px}
  .doc h1{font-size:2.3rem}
  .doc .lead{font-size:1.04rem}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .btn,.method-card,.feature-card{transition:none}
  .btn:hover,.method-card:hover{transform:none}
}
