/* Frosted navigation floats over the same artwork rather than a solid bar. */
body{--header-height:102px;padding-top:var(--header-height)}
body[data-page="/"]{padding-top:0}
.site-header{position:fixed;inset:0 0 auto;height:var(--header-height);background:rgba(251,248,240,.68);backdrop-filter:blur(12px) saturate(1.15);-webkit-backdrop-filter:blur(12px) saturate(1.15);border-bottom:1px solid #1c35432b}
.site-header nav{gap:7px}
.site-header nav a{padding:10px 12px;border:1px solid #1c354338;border-radius:4px;font-size:14px;background:#fffaf440;transition:background .2s,border-color .2s}
.site-header nav a:hover,.site-header nav a[aria-current]{background:#ffffffb0;border-color:var(--blue);color:var(--blue)}
.site-header nav a[aria-current]:after{display:none}
.site-header nav a:last-child{background:var(--ink);border-color:var(--ink);color:white}
.menu-toggle{border:1px solid #1c354375;background:#ffffff80;color:var(--ink)}
.menu-toggle span{display:inline-grid;place-items:center;width:25px;height:25px;border:1px solid #1c354345;border-radius:3px;transition:rotate .2s}
.menu-toggle[aria-expanded="true"] span{rotate:45deg}
.home-world{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(160deg,#fbf5e6 8%,#edf4ef 39%,#f5edf1 70%,#e7f0f6)}
.home-world .hero{padding-top:var(--header-height);height:100svh;min-height:800px;max-height:1100px;background:transparent}
.home-world .hero-art{height:100%;mask-image:linear-gradient(#000 82%,transparent);-webkit-mask-image:linear-gradient(#000 82%,transparent)}
.home-world .hero-copy{padding-top:55px}
.home-world .paper-sticker{top:calc(var(--header-height) + 50px)}
.home-world .paper-section{background:#eef5ee66;clip-path:none;border-block:1px solid #1c354312}
.home-world .service-note{background:#fffdf4b8;backdrop-filter:blur(5px)}
.ambient-grid{position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(#50799d12 1px,transparent 1px),linear-gradient(90deg,#50799d12 1px,transparent 1px);background-size:64px 64px;animation:grid-drift 24s linear infinite;mask-image:linear-gradient(transparent 2%,#000 25%,#000 90%,transparent)}
.ambient-grid:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 15% 28%,#8cc6f040,transparent 33%),radial-gradient(ellipse at 85% 68%,#edb4b138,transparent 38%);animation:ambient-drift 15s ease-in-out infinite alternate}
@keyframes grid-drift{to{background-position:64px 64px}}
@keyframes ambient-drift{to{transform:translate3d(3%,2%,0);opacity:.6}}
.logo-marquee{overflow:hidden;margin:35px 0 15px;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.marquee-track{display:flex;width:max-content;animation:logo-travel 30s linear infinite}
.marquee-group{display:flex;flex:none;gap:24px;padding-right:24px}
.marquee-logo{width:214px;min-height:160px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:#ffffff80;border:1px solid #bacacc80;border-radius:4px}
.marquee-logo img{height:70px;width:150px;object-fit:contain}
.marquee-logo span{font-size:14px;color:var(--ink)}
.logo-marquee:hover .marquee-track,.logo-marquee.stopped .marquee-track{animation-play-state:paused}
.marquee-toggle{display:block;border:0;border-bottom:1px solid #9caeb5;background:none;color:var(--muted);font-size:14px;margin:0 0 30px;padding:5px 0}
@keyframes logo-travel{to{transform:translateX(-50%)}}
.tools-heading{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.tools-heading p{font-size:18px;max-width:530px}
.tools-heading h1{font-size:clamp(3rem,5.8vw,5.5rem);margin-bottom:20px}
.approach-assessment{border-top:1px solid #c6d4da;background:#f2f4ee;padding-bottom:20px;scroll-margin-top:120px}
.approach-assessment .page-intro h2{font-size:clamp(2.6rem,4.8vw,4.7rem)}
.roadmap-tool-marquee .marquee-logo{width:175px;min-height:140px}
.roadmap-tool-marquee .marquee-logo img{width:65px;height:55px}
.tool-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:35px 0 22px}
.tool-filters button{min-height:78px;padding:16px;text-align:left;border:1px solid #b4c4cc;background:#f1f5f480;border-radius:3px;font-size:16px;line-height:1.4;color:var(--ink);transition:background .2s,box-shadow .2s}
.tool-filters button:hover{background:#e5ecf7;box-shadow:3px 3px 0 #c6d5e5}
.tool-filters button[aria-pressed=true]{background:var(--blue);color:white;border-color:var(--blue)}
.tool-status{font-size:14px;min-height:24px}
.training-tool-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.training-tool{aspect-ratio:1;min-height:270px;padding:24px;display:flex;flex-direction:column;border:1px solid #c4d0d4;background:#fffef9;border-radius:3px;animation:arrive .25s ease}
.training-tool[hidden]{display:none}
.training-tool:nth-child(3n+2){background:#eef4fa}.training-tool:nth-child(3n+3){background:#faf0e9}
.tool-mark{height:42px;display:flex;align-items:center;margin-bottom:25px}
.tool-mark img{width:40px;height:40px;object-fit:contain}
.tool-mark>span{font:bold 21px/1.1 var(--sans);letter-spacing:-.03em;color:var(--blue)}
.training-tool h3{font-size:18px;line-height:1.3;margin-bottom:12px;letter-spacing:-.02em}
.training-tool p{font-size:15px;line-height:1.55;margin:0}
@media(max-width:1250px){
 body{--header-height:86px}
 .site-header{padding-inline:25px}
 .menu-toggle{display:flex;gap:12px;align-items:center;padding:8px 12px;border-radius:4px;font-size:15px}
 .site-header nav{display:none;position:absolute;top:calc(var(--header-height) + 10px);left:20px;right:20px;padding:18px;flex-direction:column;align-items:stretch;gap:10px;background:rgba(251,248,240,.88);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid #1c354345;box-shadow:0 18px 40px #17334018;border-radius:7px;max-height:calc(100dvh - 110px);overflow-y:auto}
 .site-header nav.open{display:flex}
 .site-header nav a{padding:14px 17px;font-size:16px;background:#ffffff45}
 .site-header .wordmark{min-width:120px}
 .training-tool-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:800px){.training-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.training-tool{aspect-ratio:auto;min-height:260px}.tools-heading{gap:25px;grid-template-columns:1fr}}
@media(max-width:600px){
 .site-header{background:rgba(251,248,240,.65)}
 .home-world .hero{height:auto;min-height:970px}
 .home-world .hero:before{background:linear-gradient(#fbf5e57a 0%,#fbf5e5eb 22%,#fbf5e5d9 48%,transparent 80%)}
 .home-world .hero-copy{padding-top:42px}
 .home-world .paper-sticker{top:auto;bottom:65px}
 .marquee-logo{width:170px;min-height:150px}.marquee-group{gap:16px;padding-right:16px}
 .tool-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .tool-filters button{font-size:14px;padding:12px;min-height:74px}
 .training-tool-grid{gap:10px}.training-tool{padding:16px;min-height:275px}.training-tool h3{font-size:16px}.training-tool p{font-size:14px}.tool-mark{margin-bottom:18px}
}
@media(max-width:360px){.training-tool-grid{grid-template-columns:1fr}.training-tool{min-height:240px;aspect-ratio:1}}
@media(prefers-reduced-motion:reduce){.ambient-grid,.ambient-grid:after,.marquee-track{animation:none}.logo-marquee{overflow-x:auto}}
.paused .logo-marquee{overflow-x:auto}

/* Confident outlined calls to action retain their contrast over the collage. */
.button.quiet{border:2px solid #294e68;background:rgba(255,253,247,.93);box-shadow:3px 4px 0 #294e6828;color:#183749;font-weight:700}
.button.quiet:hover{background:#fffdf7;border-color:var(--blue);box-shadow:4px 6px 0 #275ac133}
.button.quiet>span{border-left:1px solid #294e6838;padding-left:19px}
#possibility .button.quiet{margin-top:8px}

.campus-intro{padding-block:65px 45px;display:grid;grid-template-columns:1.15fr 1fr;gap:80px;align-items:center}
.campus-intro>.hand,.campus-intro .hand{display:block;color:var(--coral);margin-bottom:22px;font-size:2rem}
.campus-intro h1{font-size:clamp(3.4rem,6vw,6rem);margin:0}
.campus-intro-copy>p:first-child{font-size:19px;max-width:510px}
.campus-example{border-left:3px solid #c36c46;padding:8px 0 8px 20px;font-size:15px;line-height:1.9;margin:28px 0}
.campus-example strong{color:var(--ink);font-size:17px}
.campus-journey{background:#f8f4e8;padding:20px 0 50px;overflow:hidden}
.campus-map{position:relative;width:100%;max-width:1280px;margin:auto;aspect-ratio:2/3;isolation:isolate}
.campus-art{width:100%;height:100%;object-fit:contain;position:absolute;inset:0;z-index:-1}
.campus-map-caption{position:absolute;left:7%;top:2%;display:flex;align-items:center;gap:24px;color:#254365}
.campus-map-caption .hand{font-size:2rem;transform:rotate(-4deg)}
.campus-map-caption p{font-size:14px;line-height:1.5;margin:0}
.campus-note{position:absolute;width:35%;padding:30px 32px 25px;background:#fff0b2;border:1px solid #b79d5270;box-shadow:5px 10px 0 #52656b13,0 14px 24px #4254531c;transform:rotate(2deg);transition:transform .3s,box-shadow .3s}
.campus-note:hover,.campus-note:focus-within{transform:rotate(0) translateY(-5px);box-shadow:5px 14px 0 #52656b16,0 20px 32px #42545320}
.campus-note-1{top:4%;right:7%}
.campus-note-2{top:27%;left:6%;background:#e6edff;transform:rotate(-2deg);border-color:#89a3ca}
.campus-note-3{top:49%;right:5%;background:#ffe4d9;transform:rotate(1.5deg);border-color:#d4a18e}
.campus-note-4{top:73%;left:5%;background:#e8eccf;transform:rotate(-2deg);border-color:#a6b38e}
.note-pin{position:absolute;top:-9px;left:calc(50% - 9px);width:18px;height:18px;background:#c65d42;border:4px solid #e58f74;border-radius:50%;box-shadow:2px 4px 5px #4a3c3033}
.campus-level{display:block;color:#425466;font-size:12px;font-weight:700;letter-spacing:.045em;line-height:1.5;margin-bottom:15px}
.campus-note h2{font-size:clamp(1.8rem,2.7vw,2.8rem);letter-spacing:-.035em;margin-bottom:15px}
.campus-note p{font-size:16px;line-height:1.6;color:#364c55;margin-bottom:18px}
.campus-note p.hand{font-size:1.75rem;color:#294e68;line-height:1.2;margin-bottom:14px}
.campus-open{width:100%;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:15px;font-weight:700;background:#fffef980;color:var(--ink);border:1.5px solid #364c5570;border-radius:3px;padding:12px 15px}
.campus-open:hover{background:#fffef9;border-color:var(--blue)}
.campus-arrival{display:flex;align-items:center;gap:50px;border-top:1px solid #bbb99c;margin-top:25px;padding-top:35px}
.campus-arrival .hand{flex:1;color:var(--blue);font-size:2.3rem}
.campus-arrival p{flex:1;font-size:17px;margin:0}
.campus-dialog{width:min(760px,calc(100% - 32px));max-height:calc(100dvh - 48px);overflow:auto;border:1px solid #a6b7be;background:#fffdf5;color:var(--ink);padding:36px 44px;box-shadow:10px 12px 0 #e2d7b777,0 25px 90px #142e4155;border-radius:4px}
.campus-dialog::backdrop{background:#122b3dc4;backdrop-filter:blur(6px)}
body:has(.campus-dialog[open]){overflow:hidden}
.campus-dialog-top{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:18px}
.campus-dialog-top .campus-level{margin:0}
.campus-dialog-top button{flex:none;width:42px;height:42px;background:white;color:var(--ink);font-size:28px;border:1px solid #a7b9bf;border-radius:3px}
.campus-dialog h2{font-size:3rem;margin-bottom:12px}
.campus-dialog>.hand{color:var(--coral);font-size:2rem}
.campus-lessons{counter-reset:lesson;list-style:none;padding:0;margin:26px 0}
.campus-lessons li{position:relative;border-top:1px solid #d8d7c8;padding:20px 0 18px 44px;counter-increment:lesson}
.campus-lessons li:before{content:counter(lesson,decimal-leading-zero);position:absolute;left:0;top:20px;font:1.7rem var(--hand);color:var(--blue)}
.campus-lessons h3{font-size:19px;margin-bottom:8px}.campus-lessons p{font-size:16px;line-height:1.65;margin:0}
.campus-takeaway{padding:20px 24px;background:#eef1de;border-left:3px solid #8b9b62}.campus-takeaway p{margin:8px 0 0;font-size:16px}
#team-path{scroll-margin-top:130px;padding-top:85px}
@media(max-width:1000px){
 .campus-intro{gap:35px}.campus-note{padding:24px 22px 20px;width:38%}.campus-note h2{font-size:2rem}.campus-note p{font-size:15px}.campus-note p.hand{font-size:1.6rem}.campus-level{font-size:11px}.campus-map{min-height:1500px}.campus-art{object-fit:cover}.campus-note-4{top:77%}
}
@media(max-width:700px){
 .campus-intro{grid-template-columns:1fr;padding-block:42px 30px;gap:25px}.campus-intro h1{font-size:3.6rem}.campus-intro-copy>p:first-child{font-size:17px}
 .campus-map{aspect-ratio:auto;min-height:0;padding:0 24px 15px;display:flex;flex-direction:column}
 .campus-art{position:relative;inset:auto;width:calc(100% + 48px);max-width:none;height:auto;object-fit:contain;margin-left:-24px;order:1}
 .campus-map-caption{position:relative;left:auto;top:auto;order:0;padding:15px 0 25px;gap:20px}.campus-map-caption .hand{font-size:1.6rem}.campus-map-caption p{font-size:13px}
 .campus-notes{order:2;display:grid;gap:30px;padding:20px 6px 5px;border-left:2px dashed #8fa2ad;margin-left:8px}
 .campus-note{position:relative;inset:auto;width:calc(100% - 18px);margin-left:18px;padding:28px 24px 22px;transform:rotate(0deg)}
 .campus-note:before{content:'';position:absolute;width:24px;border-top:2px dashed #8fa2ad;left:-26px;top:48px}
 .campus-note h2{font-size:2.3rem}.campus-note p{font-size:16px}.campus-level{font-size:12px}
 .campus-arrival{display:block;padding-top:25px}.campus-arrival .hand{display:block;margin-bottom:20px}
 .campus-dialog{padding:24px}.campus-dialog h2{font-size:2.4rem}.campus-dialog-top{gap:12px}.campus-dialog-top .campus-level{font-size:11px}
}
