@import url('https://fonts.googleapis.com/css2?family=Yomogi&family=Zen+Maru+Gothic:wght@400;500;700;900&display=swap');
:root{--paper:#fffdf5;--ink:#243583;--blue:#4979c5;--grid:#d9e4f4;--red:#df583c;--yellow:#f8dc6c;--dark:#222e61;--quiet:#515e84}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#e5dfd1;color:var(--ink);font-family:'Zen Maru Gothic',sans-serif;line-height:1.8}img{display:block;max-width:100%}a{color:inherit}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--red);outline-offset:3px}.skip{position:absolute;left:-999px;top:0;background:#fff;padding:10px;z-index:100}.skip:focus{left:10px}.demo-banner{background:var(--ink);color:#fff;text-align:center;padding:7px 5vw;font-size:10px;line-height:1.6}.header{min-height:74px;background:var(--paper);padding:12px 4vw;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:2px solid var(--ink)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:21px;font-weight:900;line-height:1.1}.brand-icon{display:grid;place-items:center;width:43px;height:43px;border:3px solid var(--ink);border-radius:50%;background:var(--yellow);font-family:'Yomogi',cursive;transform:rotate(-9deg)}.brand small{display:block;margin-top:4px;font:700 9px/1.3 'Zen Maru Gothic',sans-serif;letter-spacing:.08em;color:var(--quiet)}.header nav{display:flex;align-items:center;gap:28px}.header nav a{font-size:11px;font-weight:700;text-decoration:none;white-space:nowrap}.header nav .back{border-bottom:2px solid var(--red);color:var(--red)}
.hero{min-height:750px;position:relative;display:grid;grid-template-columns:56% 44%;align-items:center;overflow:hidden;padding:55px 4vw 80px 9vw;background-color:var(--paper);background-image:linear-gradient(90deg,transparent 0 7.1%,#e88079 7.1% 7.25%,transparent 7.25%),linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:100% 100%,29px 29px,29px 29px}.holes{position:absolute;z-index:2;left:1.5vw;top:13%;bottom:13%;display:flex;flex-direction:column;justify-content:space-around}.holes i{width:19px;height:19px;border-radius:50%;background:#b9af9b;box-shadow:inset 2px 2px 4px #817a70}.page-number{position:absolute;top:27px;right:5vw;margin:0;padding:2px 9px;background:var(--yellow);font-size:11px;font-weight:900;letter-spacing:.15em}.hero-title{position:relative;z-index:2;padding:20px 0}.scribble{position:absolute;top:-27px;left:39%;font-family:'Yomogi',cursive;font-size:130px;line-height:1;color:var(--red);transform:rotate(-20deg);opacity:.7}.hero h1{font-family:'Yomogi','Zen Maru Gothic',cursive;font-size:clamp(54px,6.3vw,106px);font-weight:400;line-height:1.45;letter-spacing:-.08em;margin:20px 0 27px;transform:rotate(-2deg)}.hero h1 em{font-style:normal;color:var(--red);display:inline-block;border-bottom:8px solid var(--yellow);line-height:1.18}.hero-title p{max-width:500px;font-size:15px;font-weight:700;line-height:2}.hero-link{display:inline-flex;gap:45px;justify-content:space-between;align-items:center;padding:8px 18px;margin-top:25px;background:var(--ink);color:#fff;font-size:14px;font-weight:900;text-decoration:none;transform:rotate(-3deg);box-shadow:6px 6px 0 var(--yellow)}.hero-link span{font-size:25px}.hero-photo{position:relative;z-index:1;margin:0 0 0 -2vw;transform:rotate(5deg);background:#fff;border:14px solid #fff;box-shadow:16px 18px 0 #aebbd1,0 18px 40px #27365951}.hero-photo img{width:100%;height:440px;object-fit:cover}.hero-photo figcaption{text-align:right;font-size:10px;font-weight:900;letter-spacing:.14em;padding:7px 0 0}.hero-doodle{position:absolute;right:8vw;bottom:20px;width:250px;color:var(--red);transform:rotate(-7deg)}.hero-doodle svg{width:100%;height:auto;overflow:visible}.hero-doodle path{stroke-dasharray:500;stroke-dashoffset:500;animation:draw-line 3s ease-out forwards}
.desk{position:relative;display:grid;grid-template-columns:38% 52% 10%;min-height:690px;padding:95px 4vw 90px 6vw;background:#f6e6b3;gap:0}.desk-heading{padding:32px 25px 0 0}.desk-heading>span,.path-heading>span,.note-head>span,.closing>span{font-size:12px;font-weight:900;letter-spacing:.14em}.desk h2,.path h2,.note-head h2,.closing h2{font-family:'Yomogi','Zen Maru Gothic',cursive;font-weight:400;line-height:1.4;letter-spacing:-.06em}.desk h2{font-size:clamp(46px,5vw,80px);margin:22px 0 28px}.desk-heading p{font-size:14px;max-width:460px;line-height:2}.desk-image{position:relative;margin:20px 0 0;align-self:center;padding:14px 14px 30px;background:var(--paper);transform:rotate(-3deg);box-shadow:12px 16px 0 #d1bf8f}.desk-image img{width:100%;height:460px;object-fit:cover}.desk-image figcaption{text-align:right;font-size:10px;font-weight:900;letter-spacing:.12em;margin-top:7px}.margin-note{position:absolute;right:1vw;top:110px;writing-mode:vertical-rl;font-size:12px;font-weight:900;letter-spacing:.1em}.margin-note span{display:block;margin-top:15px;font:400 25px/1.5 'Yomogi',cursive;color:var(--red)}
.path{padding:105px 6vw 125px;background:var(--paper);background-image:linear-gradient(var(--grid) 1px,transparent 1px);background-size:100% 32px}.path-heading{display:grid;grid-template-columns:1fr 1fr;gap:0 4vw;align-items:end}.path-heading>span{grid-column:1/-1}.path h2{font-size:clamp(56px,7vw,100px);margin:12px 0 18px}.path-heading>p{font-size:14px;max-width:420px;line-height:2}.path-track{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:5vw;margin:80px auto 0;max-width:1300px;min-height:260px}.path-line{position:absolute;inset:-10px 0 auto;width:100%;height:210px;color:var(--red)}.path-line path{stroke-dasharray:1500;stroke-dashoffset:1500;animation:draw-line 5s ease-out .3s forwards}.path-track article{position:relative;padding-top:70px}.path-track article:nth-of-type(2){padding-top:150px}.path-track article:nth-of-type(3){padding-top:55px}.path-track article>span{display:grid;place-items:center;width:70px;height:70px;background:var(--yellow);border:3px solid var(--ink);border-radius:50%;font:400 36px/1 'Yomogi',cursive;transform:rotate(-11deg)}.path-track h3{font-size:29px;font-weight:900;margin:13px 0 6px}.path-track p{font-size:13px;max-width:260px;margin:0}
.note-section{padding:105px 5vw 130px;background:#394992;color:#fff}.note-head{max-width:1200px;margin:0 auto 45px}.note-head h2{font-size:clamp(53px,6vw,90px);margin:15px 0 20px}.note-head h2 em{font-style:normal;color:var(--yellow)}.note-head p{font-size:14px;max-width:600px}.notebook{display:grid;grid-template-columns:50% 50%;max-width:1370px;margin:auto;background:var(--paper);color:var(--ink);box-shadow:20px 24px 0 #1d2b67;border:2px solid var(--ink)}.paper-controls,.paper-result{position:relative;background-color:var(--paper);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:29px 29px}.paper-controls{padding:53px 5vw 45px 7vw;border-right:3px solid var(--ink);background-image:linear-gradient(90deg,transparent 0 8%,#f4aaa1 8% 8.3%,transparent 8.3%),linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:100% 100%,29px 29px,29px 29px}.binder{position:absolute;right:-11px;top:50px;bottom:50px;width:18px;z-index:2;background:repeating-linear-gradient(0deg,transparent 0 33px,#1e2b6a 33px 37px,#fff 37px 45px,#1e2b6a 45px 49px,transparent 49px 85px)}.group{margin-bottom:27px}.group>span{display:inline-block;font:400 17px/1.3 'Yomogi',cursive;color:var(--red);transform:rotate(-3deg)}.group h3{font-size:18px;font-weight:900;margin:7px 0 11px}.options{display:flex;flex-wrap:wrap;gap:9px}.option{border:2px solid var(--ink);background:#fffdfa;color:var(--ink);padding:9px 15px;min-height:42px;font-size:13px;font-weight:900;cursor:pointer;transform:rotate(-1deg);transition:transform .18s ease,background .18s ease}.option:nth-child(2n){transform:rotate(2deg)}.option:hover{transform:rotate(0) translateY(-3px)}.option.active{background:var(--yellow);box-shadow:4px 4px 0 var(--ink)}.guard{font-size:11px;font-weight:700;line-height:1.8;margin:10px 0 0}.paper-result{padding:34px 4vw}.memo-image{position:relative;margin:0 0 25px;padding:10px 10px 27px;background:#fff;border:1px solid #aab7d5;transform:rotate(2deg);box-shadow:7px 8px 0 #d3d9e8}.memo-image img{width:100%;height:300px;object-fit:cover}.memo-image figcaption{position:absolute;bottom:5px;right:12px;font-size:10px;font-weight:900;letter-spacing:.1em}.memo-content{padding:8px 15px 10px}.memo-kicker{font-size:11px;font-weight:900;letter-spacing:.1em;color:var(--red)}.memo-content h3{font:400 clamp(28px,3vw,46px)/1.4 'Yomogi',cursive;margin:8px 0 16px}.memo-content dl{margin:0 0 22px}.memo-content dl div{display:grid;grid-template-columns:145px 1fr;gap:15px;border-bottom:2px dotted #9caee0;padding:8px 0;font-size:14px}.memo-content dt{font-weight:700}.memo-content dd{font-weight:900;margin:0}.reset{border:2px solid var(--ink);background:var(--red);color:#fff;padding:9px 17px;font-size:12px;font-weight:900;cursor:pointer;transform:rotate(-3deg)}.memo-content>p{font-size:11px;font-weight:700;line-height:1.7}.closing{padding:100px 6vw;background:var(--yellow)}.closing h2{font-size:clamp(67px,9vw,130px);margin:30px 0 35px}.closing p{font-size:14px;max-width:610px}.closing a{display:inline-block;margin-top:30px;border-bottom:3px solid var(--ink);font-size:17px;font-weight:900;text-decoration:none}footer{display:flex;justify-content:space-between;gap:20px;padding:26px 5vw;background:#253578;color:#fff;font-size:11px;font-weight:700}footer a{text-decoration:none}
@keyframes draw-line{to{stroke-dashoffset:0}}
@media(max-width:980px){.hero{grid-template-columns:56% 44%;min-height:690px}.hero h1{font-size:clamp(54px,6vw,75px)}.hero-photo img{height:390px}.desk{grid-template-columns:42% 58%;padding-right:7vw}.margin-note{display:none}.desk-image img{height:400px}.paper-controls{padding-left:5vw}.paper-result{padding:30px 3vw}}
@media(max-width:720px){.header nav a:not(.back){display:none}.hero{grid-template-columns:1fr;min-height:0;padding:65px 7vw 100px 13vw}.hero h1{font-size:clamp(59px,10vw,85px)}.hero-photo{width:80%;margin:30px 0 0 10%;transform:rotate(3deg)}.hero-photo img{height:350px}.hero-doodle{right:3vw;bottom:5px;width:190px}.desk{grid-template-columns:1fr;padding:65px 7vw}.desk-heading{padding:0}.desk h2{font-size:clamp(51px,9vw,75px)}.desk-image{margin:30px 0 0;max-width:650px}.path{padding:75px 7vw}.path-heading{display:block}.path h2{font-size:clamp(60px,10vw,90px)}.path-track{display:block;margin-top:40px;padding-left:80px;min-height:0}.path-line{width:160px;height:100%;inset:0 auto 0 0;transform:rotate(88deg);display:none}.path-track:before{content:"";position:absolute;left:35px;top:15px;bottom:10px;width:5px;background:var(--red);border-radius:8px}.path-track article,.path-track article:nth-of-type(2),.path-track article:nth-of-type(3){padding:0 0 40px}.path-track article>span{position:absolute;left:-80px;top:0}.note-section{padding:75px 5vw 90px}.notebook{grid-template-columns:1fr;box-shadow:9px 12px 0 #1d2b67}.paper-controls{padding:40px 7vw 35px 11vw;border-right:0;border-bottom:3px solid var(--ink)}.binder{display:none}.paper-result{padding:28px 7vw}.memo-image img{height:300px}.closing{padding:80px 7vw}}
@media(max-width:430px){.demo-banner{font-size:9px}.header{min-height:65px}.brand{font-size:17px}.brand-icon{width:38px;height:38px}.brand small{font-size:8px}.header nav a{font-size:10px}.hero{padding-left:14vw;padding-right:5vw}.holes{left:2vw}.holes i{width:14px;height:14px}.hero h1{font-size:clamp(53px,12vw,68px)}.hero-title p{font-size:13px}.hero-photo{width:94%;margin-left:0;border-width:9px}.hero-photo img{height:255px}.hero-doodle{width:150px}.desk-image img{height:260px}.path-track{padding-left:64px}.path-track article>span{left:-65px;width:55px;height:55px;font-size:28px}.path-track:before{left:26px}.path h2{font-size:clamp(42px,11vw,47px)}.note-head h2{font-size:clamp(47px,11vw,65px)}.paper-controls{padding-left:11vw}.paper-result{padding:25px 6vw}.memo-image img{height:210px}.memo-content dl div{grid-template-columns:1fr;gap:0}.memo-content dd{padding-left:10px}.closing h2{font-size:clamp(60px,14vw,80px)}footer{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hero-doodle path,.path-line path{stroke-dashoffset:0}}

/* Classroom photograph with a lower-right notebook label and a desk inset. */
.hero{display:block;min-height:760px;padding:1px 5vw 80px;overflow:hidden}
.hero-photo{width:calc(100% - 12vw);margin:46px 0 0 10vw;transform:none;border:10px solid #fff;box-shadow:14px 14px 0 #aebbd1}
.hero-photo img{height:550px;object-position:center 53%}
.hero-title{position:absolute;z-index:4;right:4vw;bottom:38px;width:min(530px,44vw);padding:25px 32px 30px;background:var(--paper);border-left:10px solid var(--red);box-shadow:10px 12px 0 #24358355}
.hero h1{font-family:'Zen Maru Gothic',sans-serif;font-size:clamp(68px,7vw,112px);font-weight:900;letter-spacing:-.07em;line-height:1.18;transform:none;margin:5px 0 14px}
.hero-title p{font-size:13px;line-height:1.8;margin:0}
.hero-link{margin-top:16px;transform:none}
.hero-desk-inset{position:absolute;z-index:3;left:3vw;bottom:22px;width:min(29vw,380px);margin:0;transform:rotate(-6deg);border:9px solid #fff;background:#fff;box-shadow:12px 14px 0 #24358366}
.hero-desk-inset img{width:100%;height:205px;object-fit:cover}
.hero-desk-inset figcaption{text-align:right;font-size:10px;font-weight:900;letter-spacing:.12em}
.scribble,.hero-doodle{display:none}
@media(max-width:720px){
  .hero{min-height:0;padding:1px 5vw 45px;display:flex;flex-direction:column}
  .hero-photo{order:1;width:100%;margin:24px 0 0;border-width:6px}
  .hero-photo img{height:clamp(245px,58vw,345px)}
  .hero-title{order:2;position:relative;right:auto;bottom:auto;width:calc(100% - 5vw);margin:-26px 0 0 auto;padding:19px 20px 25px}
  .hero h1{font-size:clamp(58px,12vw,84px);margin:4px 0 12px}
  .hero-title p{font-size:12px}
  .hero-desk-inset{order:3;position:relative;left:auto;bottom:auto;width:52%;margin:-12px auto 0 0;border-width:6px}
  .hero-desk-inset img{height:135px}
}
