@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap');
:root{--bg:#fafbef;--ink:#14233e;--muted:#526174;--accent:#1746bd;--line:#d5ddc9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:18px;line-height:1.7}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:7px}button{font:inherit;cursor:pointer}header{height:84px;position:fixed;top:0;z-index:10;background:#fafbefF5;width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 max(32px,calc((100vw - 1080px)/2));font-family:'IBM Plex Mono',monospace;font-size:13px;border-bottom:1px solid #dce3d1}.wordmark{font-size:16px}.mark{padding-left:12px;color:var(--accent)}.chapter{color:#627287;font-size:11px}.header-contact{font-size:12px}.header-contact span{padding-left:13px}main,footer{max-width:1080px;margin:auto}section{position:relative;min-height:700px;display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center;padding:100px 0;border-bottom:1px solid var(--line)}.hero{min-height:calc(100svh - 20px);padding-top:130px;gap:65px;grid-template-columns:1.25fr 1fr}.eyebrow,.figure-label,figcaption,.scroll,.tags,.available,.access-note{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:1.5px}.eyebrow{color:var(--accent);margin-bottom:25px}h1,h2{font-weight:400;letter-spacing:-2.4px;line-height:1.1;margin:0 0 30px}h1{font-size:clamp(48px,5.7vw,74px)}h1 span,h2 span{color:#1746bd}h2{font-size:clamp(36px,4vw,48px)}p{color:var(--muted);margin:0 0 19px}.intro>p{max-width:510px;font-size:19px}.intro .small-intro{font-size:16px;color:#626f82;max-width:440px}.text-links{display:flex;gap:24px;margin:31px 0;font-family:'IBM Plex Mono',monospace;font-size:11px}.available{display:inline-flex;align-items:center;gap:9px;font-size:9px;letter-spacing:1.1px;border:1px solid #c7d593;padding:8px 12px;color:var(--accent)}.available i{width:6px;height:6px;background:var(--accent);border-radius:50%}.hero-art{background:#eaf1d6;border:1px solid #d2ddb9;border-radius:8px;transform:rotate(-2deg)}figure{margin:0;position:relative;overflow:hidden}.figure-label{display:flex;justify-content:space-between;padding:23px 24px;color:#526b8f;font-size:9px}.hero-art svg{display:block;width:100%}figcaption{font-size:9px;letter-spacing:.5px;padding:20px 24px;color:#526b8f}.scroll{position:absolute;bottom:28px;font-size:9px;color:#617489}.rail{position:fixed;right:24px;top:45%;display:flex;flex-direction:column;gap:23px;z-index:12}.rail a{display:block;width:15px;height:2px;background:#b4c29c;padding:5px 0;background-clip:content-box}.rail a.active{width:27px;background-color:var(--accent)}.scene{min-height:430px;border-radius:7px;background:#eef2e5;border:1px solid #d1ddbd}.scene figcaption{position:absolute;bottom:0}.copy p{font-size:17px}.tags{display:flex;gap:8px;flex-wrap:wrap;margin:27px 0 30px;letter-spacing:.3px;font-size:9px;color:#4d6590}.tags span{border:1px solid #ced9bd;padding:3px 9px}.project-link{display:flex;justify-content:space-between;border-bottom:1px solid #1746bd;padding:8px 0;max-width:260px;font-size:13px}.project-link span{color:var(--accent)}.reverse .scene{order:2}.reverse .copy{order:1}.phone{width:270px;margin:8px auto 70px;border:1px solid #9caed4;border-radius:15px;background:#f8faee;overflow:hidden;transform:rotate(-4deg);box-shadow:15px 20px 0 #dae3c9}.phone-head{padding:18px;display:flex;gap:10px;align-items:center;font-size:14px;border-bottom:1px solid #c5d4b4}.pippa-dot{background:#d3ee75;color:#1746bd;padding:2px 11px;border-radius:50%;font-size:22px}.phone-head small{display:block;font-size:8px;color:#63778a}.chat{padding:20px 16px 12px;min-height:180px}.bubble{font-size:12px;line-height:1.6;border-radius:8px;padding:11px 14px;margin-bottom:12px}.user{background:#1746bd;margin-left:25px;color:#f5f8ee}.response{background:#e6edda;margin-right:20px;color:#415774}.chat-time{font-size:7px;letter-spacing:1px;color:#607a8e}.phone button{width:100%;background:#e3edc8;color:#1746bd;padding:12px 16px;border:0;border-top:1px solid #c3d3b0;font-size:10px;display:flex;justify-content:space-between}.lab{margin:10px 28px 75px;background:#f9fbee;color:#183662;padding:23px;transform:rotate(2deg)}.lab-top{font-size:11px;border-bottom:1px solid #d4dfbd;padding-bottom:16px;display:flex;justify-content:space-between}.lab-title{font-size:30px;letter-spacing:-1px;line-height:1.12;margin:26px 0}.lab-title em{font-style:normal;color:#1746bd}.steps{display:flex;gap:7px}.steps button{padding:8px;border:1px solid #b0c690;background:transparent;font-size:10px;color:#1746bd}.steps button.selected{background:#1746bd;color:#f9fbee}.lab p{color:#52678a;font-size:12px;line-height:1.7;min-height:43px;margin-top:18px}.lab-bottom{border-top:1px solid #ccdbb5;padding-top:14px;font-size:8px;letter-spacing:1px}.academy{background:#eef4dc}.academy-sheet{background:#fcfcf3;color:#1746bd;margin:7px 32px 73px;padding:25px;transform:rotate(-2deg)}.academy-brand{font-size:25px;display:flex;align-items:center;gap:14px}.academy-brand span{font-size:9px;letter-spacing:1px}.academy-sheet h3{font-size:23px;font-weight:400;line-height:1.2;margin:20px 0}.idea-row{display:flex;gap:12px;border-top:1px solid #d4ddc4;padding:8px 0;font-size:11px}.idea-row span{color:#7180a1}.idea-row p{margin:0;color:#4b5f83;font-size:11px}.avatars{display:flex;align-items:center;margin-top:15px}.avatars i{font-style:normal;background:#deedbb;border:2px solid #fcfcf3;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:8px;margin-right:-6px}.avatars span{font-size:8px;margin-left:16px}.access-note{display:block;font-size:9px;letter-spacing:0;color:#64758b;margin-top:10px}.events{background:#eaf0df;border-color:#cbd7b3}.badge-wall{display:flex;justify-content:center;gap:17px;margin-top:55px}.badge{width:145px;height:210px;background:#ddefb8;color:#1746bd;padding:18px 13px;position:relative;transform:rotate(-9deg);box-shadow:8px 12px #d4dfbd}.badge.second{background:#d5ec7a;transform:rotate(9deg);margin-top:18px}.lanyard{position:absolute;width:10px;height:57px;top:-57px;left:65px;background:#1746bd}.badge small{font-size:7px;letter-spacing:1px}.badge strong{display:block;font-size:29px;line-height:1.25;letter-spacing:-1px;margin:22px 0}.badge span{font-size:6px;letter-spacing:.6px}.contact{display:block;padding:110px 0;min-height:auto}.contact h2{font-size:clamp(40px,4.8vw,60px)}.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:110px;margin-top:50px}.contact p{font-size:17px}.contact strong{color:var(--ink);font-weight:500}.contact-email{display:inline-block;font-size:25px;margin-top:15px;border-bottom:1px solid #1746bd}.contact-details>div{margin-bottom:28px}.contact-details span{font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:1px;color:#63718c}.contact-details p{font-size:14px;margin:5px 0}.contact-details>a{display:block;font-size:13px;margin-top:13px}footer{display:flex;justify-content:space-between;padding:30px 0 40px;font-size:10px;color:#526b8f;font-family:'IBM Plex Mono',monospace}footer span{font-size:9px}.skip{position:fixed;top:-100px;left:20px;z-index:20;background:var(--accent);color:var(--bg);padding:10px}.skip:focus{top:10px}@media(max-width:1160px){main,footer{margin-left:60px;margin-right:60px}section{gap:50px}}@media(max-width:760px){body{font-size:16px}header{padding:0 24px;height:68px}.chapter{display:none}.rail{display:none}main,footer{margin:0 24px}section,.hero{display:flex;flex-direction:column;align-items:stretch;gap:38px;padding:70px 0;min-height:auto}.hero{padding-top:120px;padding-bottom:90px}h1{font-size:53px}h2{font-size:38px}.hero-art{width:min(100%,400px);align-self:center}.intro>p{font-size:17px}.text-links{gap:20px;font-size:10px}.scroll{bottom:30px}.reverse .scene{order:0}.reverse .copy{order:0}.scene{min-height:430px}.contact-grid{display:block;margin-top:30px}.contact-details{margin-top:45px}.contact-email{font-size:23px}footer{gap:25px;flex-wrap:wrap}footer span{width:100%;order:3}.figure-label{font-size:8px}.badge{width:130px}.lanyard{left:58px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Portrait and banner palette */
.hero-art.portrait{background:#f9faf2;transform:none;border:1px solid #d2ddb9;overflow:hidden}.portrait img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}.portrait figcaption{display:flex;justify-content:space-between;gap:10px;background:#1746bd;color:#f9fbee;padding:17px 19px;font-size:8px}.available{background:#eafaad;color:#173c91}.event-banner{margin:35px 22px 65px}.event-banner img{display:block;width:100%;height:auto;border:1px solid #d2dfb8}.event-motto{font-size:52px;color:#1746bd;line-height:1.02;letter-spacing:-2px;margin:30px 12px 0}.event-motto span{color:#566e88}.events{min-height:450px}.lab-title em{color:#1746bd}.header-contact{color:#1746bd}.project-link:hover{background:#eaf4d2}::selection{background:#d5ec7a;color:#173c91}
