@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@600;700;800;900&family=Varela+Round&display=swap');
:root{--brand:#45ac34;--blue:#10a9d3;--deep:#075b84;--yellow:#f5bd16;--ink:#173542;--paper:#f6fbfc;--white:#fff;--mint:#dff4e2}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Varela Round",Arial,sans-serif}.brandbar{height:92px;padding:0 clamp(1.2rem,6vw,6rem);display:flex;align-items:center;gap:2rem;background:white;border-bottom:1px solid #e1e9ea}.brand img{display:block;width:clamp(145px,17vw,220px)}.brandbar>span{margin-left:auto;color:#58717a;font-size:.78rem}.back{color:var(--brand);text-decoration:none;font-size:.85rem}.hero{position:relative;min-height:calc(92vh - 92px);overflow:hidden;padding:7vw;display:flex;align-items:center;background:linear-gradient(125deg,#087aa5,var(--blue) 60%,#70d3ec);color:white}.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 16%,rgba(255,255,255,.22),transparent 28%),linear-gradient(90deg,transparent 48%,rgba(255,255,255,.08))}.hero-copy{position:relative;z-index:2;width:61%;max-width:820px}.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.16em;font:900 .72rem "Nunito",sans-serif}.hero h1{margin:.5rem 0 1.3rem;font:900 clamp(3.7rem,7.4vw,7rem)/.86 "Nunito",sans-serif;letter-spacing:-.055em}.hero h1 em{display:inline-block;color:var(--yellow);font-style:normal}.lead{max-width:590px;font-size:clamp(1rem,1.7vw,1.25rem);line-height:1.6}.actions{display:flex;gap:.8rem;margin-top:2rem;flex-wrap:wrap}.actions button,.actions a{padding:1rem 1.25rem;border-radius:5px;font:800 .9rem "Nunito",sans-serif;cursor:pointer}.primary{border:2px solid var(--yellow);background:var(--yellow);color:#193d4b}.secondary{border:2px solid white;color:white;text-decoration:none}.cover-wrap{position:absolute;z-index:1;right:5vw;width:min(28vw,385px);height:78%;}.cover-wrap img{width:100%;height:100%;object-fit:cover;object-position:center top;border:5px solid white;border-radius:7px;box-shadow:0 25px 60px rgba(0,64,88,.38);transform:rotate(2deg)}.puzzle{position:absolute;width:74px;aspect-ratio:1;border-radius:16px;background:var(--yellow);z-index:2}.p1{left:-42px;top:8%;transform:rotate(-13deg)}.p2{right:-34px;top:38%;background:var(--brand);transform:rotate(18deg)}.p3{left:-20px;bottom:5%;background:#e64d91;transform:rotate(9deg)}main{padding:clamp(4rem,8vw,8rem) clamp(1rem,7vw,7rem)}.intro{display:grid;grid-template-columns:1.15fr .85fr;gap:5vw;align-items:end;margin-bottom:4rem}.intro .kicker{color:var(--brand)}h2{margin:.4rem 0;color:var(--ink);font:900 clamp(2.8rem,5.5vw,5rem)/.96 "Nunito",sans-serif;letter-spacing:-.045em}.intro h2 span{color:var(--blue)}.intro>p{line-height:1.75;color:#60777f}.tracks{display:grid;gap:2rem}.track{display:grid;grid-template-columns:260px 1fr;overflow:hidden;border-radius:8px;background:white;box-shadow:0 12px 38px rgba(16,84,104,.08)}.track>header{padding:2rem;background:var(--brand);color:white}.track.blue>header{background:var(--deep)}.track>header span{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase}.track>header h3{margin:3rem 0 .2rem;font:900 2.4rem/1 "Nunito",sans-serif}.track>header p{margin:0;opacity:.84}.session-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#dce9eb}.session-card{min-height:280px;padding:1.4rem;border:0;background:white;color:var(--ink);text-align:left;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer;transition:.2s}.session-card:hover{background:#eff9fb;transform:translateY(-4px)}.session-number{color:var(--blue);font:900 2.6rem "Nunito",sans-serif}.session-card small{color:#6d858d}.session-card h4{margin:.45rem 0;font:900 1.45rem/1.05 "Nunito",sans-serif}.session-card p{font-size:.78rem;color:#759098}.session-card b{color:var(--brand);font-size:.82rem}dialog{width:min(1040px,95vw);max-height:92vh;padding:0;border:0;border-radius:8px;background:white;color:var(--ink);box-shadow:0 30px 100px #003b4d88}dialog::backdrop{background:rgba(0,55,73,.78);backdrop-filter:blur(5px)}.close{position:sticky;z-index:3;float:right;top:1rem;margin:1rem;width:44px;height:44px;border:0;border-radius:50%;background:var(--brand);color:white;font-size:1.7rem;cursor:pointer}.session-view,.book-view{padding:clamp(2rem,6vw,5rem)}.session-view .kicker,.book-view .kicker{color:var(--brand)}.topic{color:#657e86}.download{display:flex;justify-content:space-between;gap:1rem;margin:1.5rem 0;padding:1rem 1.2rem;border-radius:5px;background:#fff4c8;color:var(--ink);text-decoration:none}.download b{color:#856400}.video-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2rem}.video-item{padding:1rem;border:1px solid #dce8e9;border-radius:6px}.video{position:relative;aspect-ratio:16/9;background:#07394a}.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.video-placeholder{aspect-ratio:16/9;display:grid;place-content:center;gap:.5rem;text-align:center;background:linear-gradient(135deg,#d9eef2,#eef7f8);color:#64818a}.video-placeholder span{font-size:2.4rem;color:var(--blue)}.video-item h5{margin:.8rem 0 0;font:800 1rem/1.25 "Nunito",sans-serif}.book-view iframe{display:block;width:100%;height:70vh;border:1px solid #dce8e9;background:#eee}.book-view>a{display:block;margin-top:.8rem;color:var(--deep);text-align:right}footer{display:flex;align-items:center;gap:2rem;padding:2.3rem clamp(1.2rem,7vw,7rem);background:#18343b;color:white;font-size:.82rem}footer img{width:150px;filter:brightness(0) invert(1)}footer div{display:flex;flex-direction:column;gap:.25rem}footer strong{font:800 1rem "Nunito",sans-serif}footer span{color:#bed2d6}footer a{margin-left:auto;color:white}@media(max-width:850px){.brandbar>span{display:none}.hero{padding:3.5rem 1.5rem;display:block}.hero-copy{width:100%}.cover-wrap{position:relative;right:auto;width:min(78%,300px);height:430px;margin:3rem auto 0}.track{grid-template-columns:1fr}.track>header h3{margin:1.5rem 0 .2rem}.session-grid{grid-template-columns:1fr}.session-card{min-height:220px}.intro{grid-template-columns:1fr}.video-list{grid-template-columns:1fr}}@media(max-width:520px){.brandbar{height:76px}.back{font-size:0}.back::after{content:"↗";font-size:1.2rem}.hero h1{font-size:3.4rem}.cover-wrap{height:360px}.puzzle{width:54px}.actions{display:grid}.intro{margin-bottom:2rem}footer{align-items:flex-start;flex-direction:column;gap:1rem}footer a{margin-left:0}}
