:root{color-scheme:dark;font-family:'DM Sans',Arial,sans-serif;color:#fffdf6;background:#072d30}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid white;outline-offset:8px}#experience{position:relative;width:100%;height:100svh;min-height:440px;overflow:hidden;isolation:isolate;touch-action:none}#world,.shade,.grain{position:absolute;inset:0;width:100%;height:100%}#world{background:#0a535c}.shade{pointer-events:none;background:linear-gradient(180deg,rgba(0,27,29,.28),transparent 35%,rgba(0,24,25,.08) 55%,rgba(0,22,25,.60)),linear-gradient(90deg,rgba(0,22,25,.14),transparent 60%)}.grain{pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='white' filter='url(%23n)' opacity='.7' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}header{position:absolute;left:4.4%;right:4.4%;top:42px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:16px;text-decoration:none;color:inherit}.brand svg{width:54px;height:38px;fill:none;stroke:currentColor;stroke-width:2.5}.brand span{font-weight:600;font-size:18px;letter-spacing:4px;line-height:1.08}.header-right{display:flex;align-items:center;gap:28px}.perspective{display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:2.4px}.perspective i{height:5px;width:5px;border-radius:50%;background:#e2f4c3;box-shadow:0 0 12px #d7eccb}.icon-button{border:1px solid #ffffff55;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;background:#ffffff07;backdrop-filter:blur(8px)}.icon-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4}.icon-button svg[hidden]{display:none}.icon-button:hover{background:#ffffff20}.caption{position:absolute;left:7.7%;bottom:19%;pointer-events:none;text-shadow:0 2px 25px #002c2d20;transition:opacity .35s,transform .35s}.caption.changing{opacity:0;transform:translateY(10px)}.eyebrow{display:flex;align-items:center;gap:13px;font-size:9px;font-weight:500;letter-spacing:2.6px}.line{width:34px;height:1px;background:#fff9}h1{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;font-size:clamp(76px,8.7vw,150px);line-height:.86;letter-spacing:-4px;margin:27px 0 0}h1 em{font-weight:400}.chapters{position:absolute;right:4.5%;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:15px}.chapters button{position:relative;width:32px;height:24px;display:flex;align-items:center;justify-content:center;border:0;background:none}.chapters i{display:block;width:5px;height:5px;border-radius:50%;background:#fff7;transition:.3s}.chapters button[aria-current=true] i{background:white;box-shadow:0 0 0 6px #ffffff08,0 0 0 7px #fff6}.chapters span{position:absolute;right:40px;font-size:10px;letter-spacing:1px;white-space:nowrap;opacity:0;transform:translateX(5px);transition:.25s}.chapters button:hover span,.chapters button:focus-visible span{opacity:1;transform:translateX(0)}footer{position:absolute;left:4.4%;right:4.4%;bottom:32px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff35;padding-top:24px}.world-label{font-size:9px;letter-spacing:2.1px;opacity:.75}.scroll-hint{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;font-size:8px;letter-spacing:2.1px;opacity:.85}.scroll-hint svg{height:24px;width:16px;fill:none;stroke:currentColor;stroke-width:1}.scroll-hint path{animation:scroll 2.4s infinite}@keyframes scroll{0%,100%{transform:translateY(0);opacity:.4}50%{transform:translateY(4px);opacity:1}}#direction{display:flex;align-items:center;gap:14px;font-size:9px;letter-spacing:2px;background:none;border:0;padding:0}#direction svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1;transition:transform .4s}.infinity{font-size:30px;line-height:1;margin-left:16px}#loader{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;background:#072d30;transition:opacity 1s;z-index:5}#loader svg{width:65px;fill:none;stroke:#fff;stroke-width:2;animation:pulse 2s infinite}#loader span{font-size:10px;letter-spacing:4px}@keyframes pulse{50%{opacity:.3}}#loader.loaded{opacity:0;pointer-events:none}#error{position:absolute;inset:0;place-content:center;text-align:center;background:#072d30;z-index:6}#error:not([hidden]){display:grid}#error button{margin:20px auto;border:1px solid #fff7;padding:12px 25px;background:transparent}@media(max-width:650px){header{top:26px;left:7%;right:7%}.brand svg{width:39px}.brand span{font-size:14px;letter-spacing:3px}.brand{gap:11px}.perspective{display:none}.caption{left:8%;bottom:24%}h1{font-size:clamp(70px,17vw,110px);letter-spacing:-2.8px}.eyebrow{font-size:8px;letter-spacing:1.5px}.chapters{right:5%}footer{left:7%;right:7%;bottom:25px;padding-top:21px}.world-label{display:none}.scroll-hint{position:static;transform:none;font-size:7px;letter-spacing:1.2px}#direction{font-size:8px;gap:7px}.infinity{margin-left:7px;font-size:26px}.icon-button{width:36px;height:36px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Brand reference: original Wave Hanson artwork from the supplied Keynote deck.
   Original logo colors: blue #316ca4 and indigo #2e2c77.
   The deck names Helvetica Neue and Graphik Semibold; platform sans-serif
   fallbacks are used where those fonts are not installed. */
:root{--brand-blue:#316ca4;--brand-indigo:#2e2c77;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;background:var(--brand-indigo)}
.brand{display:block;width:330px;padding:14px 17px;background:#fff;border:1px solid #fff9;box-shadow:0 3px 25px #061b3220}
.brand img{display:block;width:100%;height:auto}.brand span{display:none}
.caption{left:4.4%;bottom:18%;padding:25px 30px 30px;background:rgba(255,255,255,.92);border-left:3px solid var(--brand-indigo);backdrop-filter:blur(16px);text-shadow:none;color:var(--brand-blue)}
.eyebrow{color:var(--brand-indigo);font-weight:500}.line{background:var(--brand-indigo);opacity:.4}
h1{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:700;font-size:clamp(46px,5.4vw,82px);line-height:.95;letter-spacing:-2px;text-transform:uppercase;margin-top:22px}h1 em{font-style:normal;font-weight:700}
.perspective i{background:#fff;box-shadow:0 0 0 3px #316ca455}
.icon-button{color:var(--brand-indigo);background:#fffffff0;border-color:#fff}.icon-button:hover{background:white;color:var(--brand-blue)}
.chapters button[aria-current=true] i{background:#fff;box-shadow:0 0 0 5px #316ca4,0 0 0 6px #fff8}
#loader,#error{background:var(--brand-indigo)}
@media(max-width:650px){.brand{width:235px;padding:10px 12px}.caption{left:7%;bottom:23%;padding:20px 22px 23px}h1{font-size:clamp(38px,10vw,60px);letter-spacing:-1.2px}.eyebrow{font-size:7px;gap:8px}.eyebrow .line{width:22px}header{gap:15px}.header-right{gap:0}}
@media(max-width:360px){.brand{width:205px}.caption{padding:18px}h1{font-size:35px}}
#founder[hidden]{display:none}#founder{position:absolute;inset:0;z-index:3;background:#f4f5f9;color:#2e2c77;display:grid;grid-template-columns:minmax(230px,.85fr) 1.15fr;gap:7vw;padding:130px 9vw 70px;align-items:center;overflow-y:auto;touch-action:pan-y}.founder-photo{position:relative;overflow:hidden;aspect-ratio:556/740;max-height:62vh;border-radius:3px;background:#e9e9ef}.founder-photo img{position:absolute;width:368.35%;max-width:none;height:auto;left:-26.44%;top:-35.54%}.founder-copy{max-width:620px}.founder-kicker{font-size:10px;letter-spacing:2px;color:#316ca4}.founder-copy h2{font-size:clamp(40px,5.5vw,84px);letter-spacing:-3px;line-height:.97;margin:20px 0;color:#316ca4}.founder-copy p{font-size:15px;line-height:1.65}.founder-copy .founder-intro{font-size:19px;font-weight:600}.founder-copy .founder-award{border-left:2px solid #316ca4;padding-left:15px;font-size:13px;margin:25px 0}.founder-link{color:#2e2c77;font-size:17px;text-underline-offset:6px}.founder-link span{margin-left:15px}.founder-copy .design-credit{font-size:11px;opacity:.7;margin-top:30px}#restart{background:none;border:0;padding:8px 0;color:#316ca4;font-size:12px}header{z-index:4}.founder-open .header-right,.founder-open .caption,.founder-open .chapters,.founder-open footer{visibility:hidden}.founder-open .brand{box-shadow:none;border:none}.caption h1{font-size:clamp(38px,5vw,76px)}#founder-nav{margin-top:14px}#founder-nav i{border:1px solid white;background:transparent;width:8px;height:8px}.founder-copy a:focus-visible,.founder-copy button:focus-visible{outline-color:#316ca4}
@media(max-width:650px){#founder{display:block;padding:110px 7vw 35px}.founder-photo{width:100%;height:290px;aspect-ratio:auto;max-height:none}.founder-photo img{width:368.35%;top:-47vw}.founder-copy{padding-top:25px}.founder-copy h2{font-size:48px;letter-spacing:-2px}.founder-copy p{font-size:14px}.caption h1{font-size:clamp(32px,8.5vw,50px)}}

/* One native page scroll: four zoom chapters, then the founder. */
html{scroll-behavior:smooth}body{overflow-x:hidden;overflow-y:auto;background:#f4f5f9}#journey{height:450svh}#experience{position:sticky;top:0;height:100svh;touch-action:pan-y}#world{touch-action:pan-y}#founder{position:relative;inset:auto;min-height:100svh;overflow:visible;padding-top:85px}.header-right{display:flex}footer .scroll-hint{left:auto;right:0;transform:none}.founder-photo{max-height:70vh}#founder-nav{display:none}@media(max-width:650px){#journey{height:400svh}#founder{padding-top:55px;padding-bottom:55px}.founder-photo{max-height:none}.scroll-hint{margin-left:auto}.caption h1{font-size:clamp(31px,8.5vw,50px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
