@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@400;500;600;700&family=DM+Sans:wght@400;500;600&family=Patrick+Hand&display=swap');
:root{--ink:#293c50;--blue:#2456a6;--red:#ba4535;--green:#347452;--muted:#54616b;--paper:#fffef9;--rule:#d9e4ea;--hand:'Caveat','Segoe Print','Bradley Hand',cursive;--print:'Patrick Hand','Segoe Print',cursive}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:28px}
body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.75 'DM Sans',sans-serif}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit;cursor:pointer}
a{color:inherit;text-decoration:none}
button:focus-visible,a:focus-visible{outline:3px solid #d95b36;outline-offset:5px}
.wrap{width:min(1240px,calc(100% - 88px));margin-inline:auto}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-block:25px 35px}
.brand{font:700 39px/1.3 var(--hand);color:var(--blue);transform:rotate(-3deg);white-space:nowrap}
.brand span{color:var(--red);display:inline-block;border-bottom:2px solid currentColor;border-radius:0 0 48% 12%;padding:0 3px 4px}
.site-header nav{display:flex;align-items:center;gap:36px;font:24px/1.3 var(--hand)}
.site-header nav>a{position:relative;min-height:42px;padding:6px 0}
.site-header nav>a:hover{color:var(--red);text-decoration:underline;text-decoration-style:wavy;text-decoration-thickness:1px;text-underline-offset:7px}
.site-header nav>.nav-button{padding:8px 22px;color:var(--blue);border:2px solid currentColor;border-radius:48% 44% 47% 42% / 44% 50% 42% 51%;transform:rotate(3deg)}
.hero{display:grid;grid-template-columns:1.04fr 1fr;align-items:center;gap:66px;padding-block:28px 44px}
.hero-art{position:relative;margin:15px 0 20px 8px;padding:12px 12px 50px;background:#fff;transform:rotate(-2.4deg);box-shadow:1px 3px 9px #26385120;border:1px solid #d9d8d2}
.hero-art:before,.hero-art:after{content:'';position:absolute;z-index:1;top:-13px;width:94px;height:29px;background:#efd880b0;border:1px solid #c5b16735;pointer-events:none}
.hero-art:before{left:22px;transform:rotate(-20deg)}
.hero-art:after{right:15px;transform:rotate(24deg)}
.hero-art>img{display:block;width:100%;height:360px;object-fit:cover;object-position:left center}
.art-label{display:block;text-align:center;font:27px/1.1 var(--hand);color:var(--blue);margin:15px 0 -34px;transform:rotate(-2deg)}
.hero-copy{padding:4px 0 8px;min-width:0}
.eyebrow,.tiny-label{font:23px/1.4 var(--hand);margin:0 0 14px;color:var(--red)}
h1,h2,h3,h4{font-family:var(--hand);font-weight:700;line-height:1.1;margin:0}
h1{font-size:clamp(70px,7.7vw,112px);letter-spacing:-2px;transform:rotate(-2deg);color:var(--blue);margin:9px 0 24px}
h1>span{position:relative;display:inline-block;color:var(--red);padding:0 12px 5px 0;isolation:isolate}
h1>span:after{content:'';position:absolute;z-index:-1;inset:69% -3px 10% -4px;background:#ffe17c;transform:rotate(-3deg);border-radius:14% 6% 17% 9%}
.hero-copy>p:not(.eyebrow){font-size:18px;max-width:430px;line-height:1.8;margin:22px 0}
.button{display:inline-flex;gap:18px;align-items:center;padding:10px 20px;font:700 27px/1.5 var(--hand);border:2px solid var(--blue);border-radius:5px 13px 7px 4px;background:#ffe087;color:var(--blue);transform:rotate(-1.7deg)}
.button:hover{background:#ffd362;transform:rotate(0deg)}
.button span{font-size:31px}
.hero-note{display:block;font:22px/1.4 var(--hand);color:var(--green);transform:rotate(-3deg);margin-top:23px}
.intro{display:grid;grid-template-columns:.83fr 1.17fr;gap:72px;padding-block:53px 67px;border-top:2px dashed #adbbc8}
.intro-heading{padding-top:5px}
.intro h2{font-size:44px;line-height:1.2;transform:rotate(-2deg)}
.intro h2 span{color:var(--red);text-decoration:underline;text-decoration-style:wavy;text-decoration-thickness:2px;text-underline-offset:7px}
.intro-text{border-left:2px solid #e2a6a0;padding-left:28px;background:repeating-linear-gradient(transparent 0,transparent 31px,#ccddec6b 32px,transparent 33px);background-position:0 4px}
.intro-text p{margin:0 0 15px;line-height:2.05;max-width:700px}
.skill-tags{display:flex;flex-wrap:wrap;gap:12px 22px;padding-top:5px}
.skill-tags span{font:25px/1.4 var(--hand);color:var(--blue);border-bottom:2px solid currentColor;border-radius:0 0 40% 20%;padding:0 4px}
.skill-tags span:nth-child(2){color:var(--red);transform:rotate(3deg)}
.skill-tags span:nth-child(3){color:var(--green);transform:rotate(-3deg)}
.skill-tags span:nth-child(4){color:#875695}
.video-world{padding:57px 0 76px;background-color:#f5fafb;background-image:linear-gradient(#dce8ed75 1px,transparent 1px),linear-gradient(90deg,#dce8ed75 1px,transparent 1px);background-size:24px 24px;border-top:1px solid #c6d8de;border-bottom:1px solid #c6d8de}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px}
.section-heading h2{font-size:59px;color:var(--blue);transform:rotate(-1.5deg)}
.section-heading .eyebrow{font-size:22px}
.collection-note{font:27px/1.2 var(--hand);color:var(--red);transform:rotate(5deg);padding:10px 16px;border-bottom:2px solid currentColor;border-radius:0 0 35% 40%;margin-bottom:8px}
.topic-nav{display:flex;flex-wrap:wrap;gap:13px;margin:34px 0 58px;padding:0 5px}
.topic-nav a{position:relative;display:flex;align-items:baseline;gap:9px;background:#ffe492;padding:10px 17px 11px;font:25px/1.4 var(--hand);box-shadow:1px 2px 2px #293c501c;transform:rotate(-2deg);border-bottom:1px solid #b69f4b40}
.topic-nav a:nth-child(2){background:#d2ebd8;transform:rotate(2deg)}
.topic-nav a:nth-child(3){background:#ffd7c2;transform:rotate(-1deg)}
.topic-nav a:nth-child(4){background:#fff0a7;transform:rotate(3deg)}
.topic-nav a:nth-child(5){background:#f6d7e0;transform:rotate(-2deg)}
.topic-nav a:nth-child(6){background:#d2e5f6;transform:rotate(1deg)}
.topic-nav a>span{font:16px var(--print);opacity:.8}
.topic-nav a:hover{transform:rotate(0deg) translateY(-3px);text-decoration:underline;text-underline-offset:5px}
.collection{--tint:#f4dd9b;--accent:#99671b;margin-top:62px;scroll-margin-top:28px}
.collection.mint{--tint:#c9e8d4;--accent:#2c7350}
.collection.peach{--tint:#ffd6bd;--accent:#ab4e29}
.collection.yellow{--tint:#ffe69a;--accent:#816015}
.collection.pink{--tint:#f6cfdb;--accent:#a34366}
.collection.blue{--tint:#cde4f7;--accent:#2456a6}
.collection-heading{display:flex;align-items:center;gap:23px;margin:0 0 30px}
.category-number{font:52px/1 var(--hand);color:var(--accent);border:2px solid currentColor;border-radius:49% 42% 48% 44%;width:70px;height:70px;display:grid;place-items:center;transform:rotate(-7deg);flex-shrink:0}
.collection-heading .tiny-label{font-size:21px;color:var(--accent);margin:0 0 2px}
.collection-heading h3{font-size:42px}
.collection-heading p:last-child{font-size:16px;line-height:1.7;margin:10px 0 0;max-width:820px;color:var(--muted)}
.video-count{margin-left:auto;white-space:nowrap;font:23px var(--hand);color:var(--accent);transform:rotate(5deg);padding:8px;border-bottom:2px solid currentColor;border-radius:0 0 50% 20%}
.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:34px 28px;padding:0 5px}
.video-card{position:relative;background:#fffefa;padding:10px 10px 0;border:1px solid #d7d9d2;box-shadow:2px 4px 5px #26385112;transform:rotate(-.7deg);transition:transform .18s}
.video-card:nth-child(3n+2){transform:rotate(.8deg);margin-top:12px}
.video-card:nth-child(3n){transform:rotate(-.4deg)}
.video-card:before{content:'';position:absolute;width:68px;height:20px;top:-10px;left:calc(50% - 34px);background:var(--tint);opacity:.85;z-index:2;transform:rotate(-5deg);border-left:1px dashed #9f937955;border-right:1px dashed #9f937955;pointer-events:none}
.video-card:nth-child(even):before{transform:rotate(6deg)}
.video-card:hover,.video-card:focus-within{transform:rotate(0deg)}
.video-image{position:relative;display:block;width:100%;aspect-ratio:16/9;padding:0;border:0;background:var(--tint);overflow:hidden}
.video-image img{display:block;object-fit:cover;width:100%;height:100%}
.video-image img[hidden]{display:none}
.play-button{position:absolute;bottom:10px;left:10px;display:grid;place-items:center;width:41px;height:39px;font-size:16px;padding-left:3px;border:2px solid var(--ink);border-radius:46% 43% 48% 40%;background:#fffef4eb;color:var(--ink)}
.card-body{padding:14px 12px 20px}
.card-tag{font:19px/1.4 var(--hand);color:var(--accent);display:inline-block;border-bottom:2px solid var(--tint);margin-bottom:8px}
.card-body h4{font:400 28px/1.2 var(--print);color:var(--ink)}
.card-body h4 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.card-body p{font-size:16px;line-height:1.75;color:var(--muted);margin:12px 0 13px}
.watch-link{background:none;border:0;border-bottom:1.5px solid var(--accent);border-radius:0 0 50% 15%;padding:2px 3px;color:var(--accent);font:24px/1.45 var(--hand);text-align:left}
.watch-link:hover{color:var(--blue)}
.closing{text-align:center;padding-block:58px 64px}
.closing .eyebrow{transform:rotate(-4deg);margin-bottom:10px;font-size:25px}
.closing h2{font-size:49px;color:var(--blue)}
.closing p:not(.eyebrow){margin:20px 0;font-size:18px}
.closing a{font:26px/1.4 var(--hand);color:var(--green);text-decoration:underline;text-decoration-style:wavy;text-decoration-thickness:1.5px;text-underline-offset:6px}
.signature{display:block;font:37px/1.5 var(--hand);color:var(--blue);margin-top:24px;transform:rotate(-5deg)}
footer{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:2px dashed #abbcc8;padding-block:22px;font-size:14px}
footer p{color:var(--muted)}
.footer-brand{font:700 28px/1.3 var(--hand);color:var(--blue)}
footer>a:last-child{font:23px var(--hand)}
dialog{border:2px solid var(--ink);border-radius:4px 10px 7px 3px;background:var(--paper);padding:24px;width:min(900px,calc(100% - 30px));max-height:92dvh;color:var(--ink)}
dialog::backdrop{background:#172a40bf}
.player-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}
.player-head h2{font:32px/1.2 var(--print)}
.player-head button{border:1.5px solid var(--ink);flex-shrink:0;width:44px;height:44px;border-radius:45% 49% 40% 47%;background:#ffe492;color:var(--ink);font-size:20px}
#player-container{aspect-ratio:16/9;background:#24364a;overflow:hidden}
iframe{border:0;display:block;width:100%;height:100%}
#player-description{color:var(--muted)}
#youtube-link{color:var(--blue);font:25px var(--hand);text-decoration:underline;text-underline-offset:5px}
.player-note{font-size:13px;color:var(--muted);margin-bottom:0}
.modal-open{overflow:hidden}
.skip-link{position:fixed;top:-80px;left:20px;background:var(--ink);color:white;padding:12px 20px;z-index:10}
.skip-link:focus{top:10px}
@media(max-width:1000px){
.wrap{width:calc(100% - 52px)}.hero{gap:40px}.hero-art>img{height:340px}
.site-header nav{gap:22px}.intro{gap:35px}.intro h2{font-size:39px}
.section-heading h2{font-size:51px}.collection-note{font-size:23px}
.video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 24px}
.video-card:nth-child(3n+2){margin-top:0}.video-card:nth-child(even){margin-top:12px}
}
@media(max-width:650px){
.wrap{width:calc(100% - 36px)}.site-header{flex-wrap:wrap;padding-block:19px 20px;gap:18px}
.brand{font-size:36px}.site-header nav{width:100%;justify-content:space-between;gap:15px;font-size:23px}
.site-header nav>.nav-button{padding:6px 16px}.hero{grid-template-columns:1fr;gap:20px;padding-block:12px 38px}
.hero-art{margin:15px 9px 12px;padding:9px 9px 43px}.hero-art>img{height:280px}.art-label{font-size:26px;margin-bottom:-30px}
.hero-copy{padding:8px 8px 0}.hero-copy .eyebrow{font-size:23px;max-width:320px}
h1{font-size:84px;line-height:1.05;margin:12px 0 23px}h1 br{display:none}h1>span{margin-left:5px}
.hero-copy>p:not(.eyebrow){font-size:17px}.button{font-size:25px;padding:9px 16px}.hero-note{font-size:23px;margin-top:22px}
.intro{grid-template-columns:1fr;gap:26px;padding-block:35px 43px}.intro h2{font-size:40px}.intro h2 br{display:none}
.intro-text{padding-left:18px}.skill-tags{gap:12px 16px}.skill-tags span{font-size:24px}
.video-world{padding-top:37px;padding-bottom:48px}.section-heading{display:block}.section-heading h2{font-size:46px}
.section-heading .eyebrow{font-size:21px}.collection-note{display:block;margin-top:19px;width:max-content;font-size:23px;padding-left:0;transform:rotate(-3deg)}
.topic-nav{gap:13px 10px;margin:26px 0 38px;padding:0 3px}.topic-nav a{font-size:24px;padding:8px 12px;gap:7px}
.collection{margin-top:43px}.collection-heading{gap:13px;align-items:flex-start;margin-bottom:25px}
.category-number{width:48px;height:50px;font-size:35px;margin-top:5px}.collection-heading>div{min-width:0;flex:1}
.collection-heading .tiny-label{font-size:19px}.collection-heading h3{font-size:34px}.collection-heading p:last-child{font-size:16px}
.video-count{display:none}.video-grid{grid-template-columns:1fr;gap:28px;padding-inline:5px}
.video-card:nth-child(even){margin-top:0}.video-card{transform:rotate(-.5deg)}.card-body{padding:13px 13px 21px}
.card-body h4{font-size:29px}.card-body p{font-size:16px}.closing{padding-block:39px 45px}.closing h2{font-size:41px}
.closing p:not(.eyebrow){font-size:17px}footer{flex-wrap:wrap;gap:12px;padding-block:20px}footer p{order:3;width:100%;margin:0}
dialog{padding:16px}.player-head h2{font-size:27px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
