:root{--paper:#fffaf0;--white:#fffefa;--ink:#283d38;--green:#28574d;--orange:#aa4027;--yellow:#f4cd66;--mint:#e9f0e8;--line:#c9cbbd;--muted:#5d695f;--radius:24px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;color:var(--ink);background:var(--paper);font:400 18px/1.9 "Kiwi Maru","Yu Gothic",sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p,figure{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,summary{touch-action:manipulation}button,a{color:inherit}a{text-decoration:none}button{cursor:pointer}img{display:block;max-width:100%;height:auto;object-fit:cover}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #c84f2f;outline-offset:5px}button{border:0}h1,h2,h3,h4{font-family:"Kiwi Maru","Yu Gothic",sans-serif;font-weight:500;line-height:1.6}h2{font-size:clamp(32px,3.5vw,46px);letter-spacing:.035em}h3{font-size:26px}h4{font-size:22px}.wrap{max-width:1200px;margin:0 auto;padding:0 36px}.section{padding-top:112px;padding-bottom:112px}.section-label{font-size:16px;font-weight:500;letter-spacing:.18em;color:var(--orange);margin-bottom:18px}.section-lead{margin:26px 0 50px;line-height:2.1}.section-top{display:flex;align-items:center;justify-content:space-between;gap:35px}.section-top .flower{width:110px;color:var(--orange);flex-shrink:0}.center-heading{text-align:center;margin-bottom:50px}.center-heading p:last-child{margin-top:24px}.button{min-height:64px;border-radius:9px 9px 20px 9px;display:inline-flex;align-items:center;justify-content:center;gap:34px;padding:17px 26px;font-size:18px;font-weight:500;line-height:1.5;transition:transform .2s,background .2s}.button span{font-size:23px}.button:hover{transform:translateY(-3px)}.primary{background:var(--orange);color:white;box-shadow:3px 5px 0 #8f392822}.primary:hover{background:#ad3d22}.outline{border:1px solid var(--ink);background:transparent}.small{font-size:16px;min-height:50px;padding:11px 18px;gap:16px}.text-button{padding:16px 0;border-bottom:1px solid currentColor;border-radius:0;background:transparent;font-weight:500;font-size:17px}.text-button span{margin-left:14px}.small-note{font-size:16px;line-height:1.9;color:var(--muted)}.center{text-align:center}.mobile{display:none}.skip{position:absolute;left:20px;top:-80px;z-index:100;background:#fff;padding:12px}.skip:focus{top:10px}.header{height:100px;padding:0 36px;display:flex;align-items:center;gap:32px;background:#fffaf0f2;backdrop-filter:blur(16px);position:sticky;top:0;z-index:20;border-bottom:1px solid #283d3812}.brand{display:flex;gap:12px;align-items:center;flex-shrink:0;font-family:"Kiwi Maru","Yu Gothic",sans-serif;font-size:25px;font-weight:500;line-height:1.3;letter-spacing:.01em}.brand small{display:block;font:500 16px/1.7 "Kiwi Maru",sans-serif;letter-spacing:.13em;margin-top:4px}.brand-mark{display:grid;place-items:center;background:var(--green);color:var(--paper);width:53px;height:57px;border-radius:17px 17px 8px 17px;font-size:31px;transform:rotate(-5deg)}.header nav{display:flex;align-items:center;justify-content:flex-end;gap:26px;flex:1;font-size:16px;font-weight:600;white-space:nowrap}.header nav a{position:relative}.header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:2px;background:var(--orange);transition:right .2s}.header nav a:hover:after{right:0}.menu-toggle{display:none;background:transparent;width:48px;height:48px;padding:10px}.menu-toggle span{display:block;height:2px;background:var(--ink);margin:8px 0}.mobile-menu{position:fixed;inset:100px 0 auto;background:var(--paper);padding:24px;z-index:19;border-bottom:2px solid var(--green)}.mobile-menu a{display:block;padding:12px 4px;border-bottom:1px solid var(--line)}.mobile-menu .button{margin-top:20px;width:100%}[hidden]{display:none!important}.hero{position:relative;max-width:1440px;min-height:730px;margin:auto;display:grid;grid-template-columns:44% 56%;padding:74px 0 90px 6%;gap:0;overflow:hidden}.hero-copy{position:relative;z-index:2;padding-top:15px}.eyebrow{font-size:18px;font-weight:600;letter-spacing:.08em;margin-bottom:25px}.hero h1{font-size:clamp(41px,4.6vw,66px);line-height:1.5;font-weight:500;letter-spacing:.025em;white-space:nowrap}.red-dot{color:var(--orange)}.hero-school{font-size:23px;font-weight:500;margin-top:22px}.hero-school span{font-size:17px;font-weight:500}.recruit{display:inline-flex;gap:11px;align-items:center;font-size:16px;margin-top:25px;padding:9px 15px;background:#f5df94;border:1px solid #c9ad5d;border-radius:3px;transform:rotate(-1.5deg)}.recruit b{font-size:16px}.tiny-flower{font-size:21px}.hero-description{margin-top:25px;font-size:18px}.hero-actions{display:flex;align-items:center;gap:22px;margin-top:25px;flex-wrap:wrap}.hero-detail{font-size:16px;font-weight:500;margin-top:18px}.hero-detail i{color:var(--orange);font-style:normal;padding:0 8px}.hero-visual{position:relative;align-self:center;margin-left:20px}.hero-image{width:100%;height:535px;overflow:hidden;border-radius:100px 0 0 30px;position:relative;background:var(--mint)}.hero-image:after{content:"";position:absolute;inset:12px -10px 12px 12px;border:1px solid #fff9;border-radius:90px 0 0 22px;pointer-events:none}.hero-image img{height:100%;width:100%;object-position:52% center}.hero-seal{position:absolute;right:40px;bottom:-38px;display:grid;align-content:center;text-align:center;width:160px;height:160px;line-height:1.5;background:var(--yellow);border:1px dashed var(--green);outline:6px solid var(--yellow);border-radius:50%;font-size:16px;transform:rotate(10deg);box-shadow:4px 8px 0 #283d3810}.hero-seal strong{font-family:"Kiwi Maru",sans-serif;font-size:29px;letter-spacing:.04em}.hero-scribble{position:absolute;left:4px;top:-50px;width:85px;color:var(--orange);transform:rotate(-20deg)}.photo-note{position:absolute;left:30px;bottom:-52px;font-size:16px;letter-spacing:.05em;transform:rotate(-3deg)}.scroll-note{position:absolute;left:6%;bottom:18px;font-size:16px;letter-spacing:.2em}.scroll-note span{margin-left:24px;font-size:26px}.ticker{display:flex;justify-content:center;align-items:center;gap:35px;overflow:hidden;white-space:nowrap;background:var(--green);color:#fff9e7;padding:19px 0;font-size:17px;letter-spacing:.16em}.ticker b{color:var(--yellow);font-size:24px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.intro-photos{position:relative;height:620px}.polaroid{background:var(--white);padding:12px 12px 0;box-shadow:2px 4px 14px #283d3814;position:absolute;width:94%;border:1px solid #d2cfbf}.polaroid img{width:100%;aspect-ratio:1.52;object-fit:cover}.polaroid figcaption{font-family:"Kiwi Maru",sans-serif;padding:12px;font-size:18px;text-align:center}.polaroid.first{transform:rotate(-5deg);left:0;top:10px}.polaroid.second{transform:rotate(6deg);left:15%;top:285px;width:84%}.intro-photos>.flower{position:absolute;width:108px;height:108px;bottom:0;left:-15px;color:var(--orange);transform:rotate(18deg)}.intro-copy p:not(.section-label){margin-top:25px}.under-note{display:inline-block;border-bottom:2px solid var(--yellow);font-size:16px;margin-top:26px}.rhythm{display:grid;grid-template-columns:1.08fr 1fr 1fr 1fr;align-items:start;gap:20px;padding-top:44px;padding-bottom:52px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.rhythm-heading h2{font-size:27px}.rhythm-heading .section-label{font-size:16px}.rhythm-item{padding:10px 0 10px 22px;border-left:1px solid var(--line);display:flex;gap:10px;position:relative;min-height:170px}.rhythm-item>div>span{font-size:16px;font-weight:500;color:var(--green)}.rhythm-item h3{font-size:20px;margin:12px 0}.rhythm-item p{font-size:16px;line-height:1.8}.rhythm-no{font-family:Georgia,serif;color:var(--orange);font-size:24px;line-height:1.5}.rhythm-item>b{position:absolute;right:0;bottom:-10px;font-size:21px;color:var(--orange)}.rhythm-foot{grid-column:2/-1;font-size:16px;color:var(--muted)}.learning{background:linear-gradient(0deg,#e9f0e8 0%,#e9f0e8 78%,#fffaf0 100%);margin-top:30px}.hand-circle{width:126px;height:126px;display:flex;flex-wrap:wrap;align-content:center;justify-content:center;border:2px solid var(--orange);border-radius:47% 53% 52% 48%;color:var(--orange);font-size:18px;line-height:1.3;transform:rotate(8deg);text-align:center;flex-shrink:0}.hand-circle strong{font-size:42px;font-family:Georgia,serif}.online-feature{display:grid;grid-template-columns:1.25fr 1fr;gap:0;align-items:center}.wide-photo{border-radius:22px 70px 22px 22px;overflow:hidden}.wide-photo img{width:100%;min-height:400px;height:100%;object-fit:cover}.online-note{position:relative;background:#fffdf4;padding:38px 36px;border:1px solid #d9dccf;margin-left:-18px;transform:rotate(1.5deg);box-shadow:3px 4px 0 #283d3808}.online-note h3{font-size:26px;margin-bottom:20px}.online-note p:not(.section-label){font-size:16px;line-height:2}.note-pin{position:absolute;width:64px;height:24px;background:#eac9778c;top:-12px;left:calc(50% - 32px);transform:rotate(-6deg)}.note-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:22px}.note-tags span{border:1px solid #c9d0c3;font-size:16px;padding:5px 7px;border-radius:4px}.online-small{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:35px}.online-small img{aspect-ratio:1.5;width:100%;border-radius:12px}.online-small figcaption{font-size:16px;margin-top:12px;font-weight:500}.subjects{margin-top:90px}.mini-heading{display:flex;justify-content:space-between;gap:30px;align-items:baseline;padding-bottom:24px;border-bottom:1px solid #b8c7b5}.mini-heading h3{font-size:28px}.mini-heading .section-label{font-size:16px;white-space:nowrap}.subject-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:36px}.subject-grid img{width:100%;aspect-ratio:1.1;object-position:center;border-radius:80px 80px 10px 10px}.subject-type{display:inline-block;font-size:16px;font-weight:500;color:var(--green);margin:20px 0 10px;border-bottom:2px solid var(--orange);padding-bottom:4px}.subject-grid h4{font-size:19px}.subject-grid p{font-size:16px;line-height:1.9;margin-top:10px}.curriculum{display:grid;grid-template-columns:1fr 1fr;gap:55px;margin-top:72px;padding:36px 0;border-top:1px solid #b8c7b5}.curriculum h3{font-size:26px}.curriculum p:not(.section-label){font-size:16px;line-height:2;margin-top:20px}.curriculum details{align-self:start;border:1px solid #b8c7b5;background:#ffffff65;border-radius:12px;overflow:hidden}.curriculum summary{padding:22px 24px;font-weight:500;cursor:pointer;list-style:none;font-size:18px;display:flex;justify-content:space-between;align-items:center}.curriculum summary::-webkit-details-marker{display:none}.curriculum summary span{font-size:24px;color:var(--orange)}.curriculum-content{border-top:1px solid #b8c7b5;padding:22px}.curriculum-content label{font-size:16px;display:block;margin-bottom:8px}.curriculum select{padding:10px 15px;border:1px solid var(--green);border-radius:6px;background:var(--paper);width:100%}.month-lesson{display:flex;gap:15px;padding:12px 0;border-bottom:1px dashed #b8c7b5;font-size:16px}.month-lesson b{color:var(--orange);font-family:Georgia,serif;font-size:20px}.support-strip{display:flex;align-items:center;gap:25px;border:1px solid #b8c7b5;border-radius:65px;padding:28px 38px;margin-top:20px}.support-strip>span{font-size:55px;line-height:1;color:var(--green)}.support-strip h3{font-size:23px;margin-bottom:6px}.support-strip p{font-size:16px}.school-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px 30px}.school-card figure{position:relative}.school-card img{width:100%;aspect-ratio:1.43;border-radius:17px}.school-card figure span{position:absolute;bottom:-12px;left:18px;padding:5px 17px;transform:rotate(-3deg);background:var(--yellow);font-size:16px;font-weight:500}.school-card:nth-child(2n) figure span{transform:rotate(3deg);background:#dce7d6}.school-card h3{font-size:22px;margin-top:28px;margin-bottom:12px}.school-card p{font-size:16px}.school-note{margin-top:50px;display:flex;gap:45px;align-items:center;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);padding:24px 0}.school-note b{font-size:20px;white-space:nowrap}.school-note p{font-size:16px;line-height:1.9}.adventure{background:#f4dfc6;position:relative;overflow:hidden}.adventure:before{content:"";height:15px;background:radial-gradient(circle at 10px 0,var(--paper) 11px,transparent 12px) 0 0/20px 16px;position:absolute;inset:0 0 auto}.adventure-heading{position:relative;max-width:790px;margin:0 auto 68px;text-align:center}.adventure-heading h2{font-size:clamp(37px,4.3vw,60px);line-height:1.6}.adventure-heading h2 span{color:var(--orange);background:linear-gradient(transparent 72%,#f1be6575 72%)}.adventure-heading p:not(.section-label){margin:25px 0;line-height:2.1}.adventure-heading .spark{position:absolute;left:-50px;top:80px;width:90px;color:var(--orange);transform:rotate(-10deg)}.outline-pill{display:inline-block;border:1px solid var(--ink);border-radius:30px;padding:8px 22px;font-size:16px;font-weight:500}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:54px 28px}.event-image{position:relative}.event-image img{aspect-ratio:1.43;width:100%;border-radius:12px}.event-number{position:absolute;left:13px;top:-19px;width:49px;height:49px;background:var(--paper);display:grid;place-items:center;border:1px solid var(--ink);border-radius:50%;font-family:Georgia,serif;font-size:23px;transform:rotate(-9deg)}.event-type{margin-top:18px!important;font-size:16px!important;font-weight:500;color:var(--orange)}.event-card h3{font-size:22px;margin-top:8px}.event-card>p:last-child{font-size:16px;margin-top:13px}.event-foot{font-size:16px;text-align:center;margin-top:38px}.annual-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.annual-grid article{border:1px solid #d5cebf;background:var(--white);padding:12px 12px 26px;position:relative;transform:rotate(-2deg)}.annual-grid article:nth-child(2){transform:rotate(2deg)}.annual-grid article:before{content:"";position:absolute;background:#d4cdae99;top:-9px;left:40%;width:90px;height:22px;transform:rotate(-8deg)}.annual-grid img{width:100%;aspect-ratio:1.6}.annual-grid article>div{padding:22px 18px 0}.annual-grid span{font-size:16px;color:var(--orange);font-weight:500}.annual-grid h3{font-size:26px;margin-top:7px}.annual-grid p{font-size:17px;margin-top:10px}.pricing{background:var(--green);color:var(--paper)}.price-layout{display:grid;grid-template-columns:1fr 1.08fr;gap:75px;align-items:center}.price-heading .section-label{color:var(--yellow)}.price-heading h2{font-size:42px}.price-heading p:not(.section-label){font-size:17px;margin-top:30px}.price-heading .flower{width:160px;color:var(--yellow);margin-top:40px;transform:rotate(10deg)}.price-sheet{position:relative;background:var(--paper);color:var(--ink);padding:36px;border-radius:15px;box-shadow:10px 10px 0 #143e35;transform:rotate(1deg)}.price-sheet-top{font-size:16px;font-weight:600;border-bottom:1px solid var(--line);padding-bottom:18px}.price-badge{position:absolute;right:25px;top:19px;background:var(--yellow);border-radius:50%;width:79px;height:79px;display:grid;align-content:center;text-align:center;line-height:1.6;font-size:16px;transform:rotate(9deg)}.price-badge b{font-size:21px}.price-number{display:flex;align-items:baseline;gap:9px;margin:26px 0 22px;white-space:nowrap}.price-number>span{font-size:19px}.price-number strong{font-size:76px;line-height:1.25;font-family:"Kiwi Maru",sans-serif;font-weight:500;letter-spacing:-.03em;color:var(--orange)}.price-number>b{font-size:27px}.fee-included h3,.fee-extras h3{font-size:17px}.fee-included ul{list-style:none;padding:0;margin:12px 0 20px}.fee-included li{font-size:16px;margin:8px 0}.fee-included li:before{content:"✓";font-weight:500;margin-right:12px;color:var(--orange)}.fee-extras{border-top:1px dashed var(--line);padding-top:18px;margin-bottom:18px}.fee-extras p{font-size:16px;line-height:1.9;margin-top:9px}.price-sheet .small-note{font-size:16px}.payment-method{display:flex;gap:24px;border-top:1px solid var(--line);padding-top:20px;margin-top:22px;font-size:16px;line-height:1.9}.payment-method b{white-space:nowrap}.founders-top{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:center}.founders-top p:not(.section-label){margin-top:28px}.founders-top h2{font-size:38px}.founders-wide{border:12px solid var(--white);outline:1px solid #d5cebf;transform:rotate(3deg)}.founders-wide img{width:100%;aspect-ratio:1.4}.founder-profiles{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:70px}.founder-profiles article{display:grid;grid-template-columns:150px 1fr;gap:24px;align-items:center}.founder-profiles img{width:150px;height:190px;border-radius:75px 75px 12px 12px}.founder-profiles h3{font-size:27px;margin-top:6px}.founder-profiles .section-label{font-size:16px;margin:0}.founder-profiles p:not(.section-label){font-size:16px;line-height:1.9;margin-top:12px}.steps{background:#f1ecd9}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;counter-reset:steps}.steps-grid article{position:relative;padding:0 5px}.step-number{font-family:Georgia,serif;font-style:italic;font-size:44px;color:var(--orange);line-height:1.1}.steps-grid h3{font-size:22px;margin:20px 0 15px}.steps-grid p{font-size:16px}.steps-grid article:not(:last-child):after{content:"→";position:absolute;top:17px;right:-30px;font-size:28px;color:var(--green)}.steps .small-note{margin-top:42px}.faq{display:grid;grid-template-columns:.75fr 1.5fr;gap:85px}.faq-heading .flower{width:110px;color:var(--orange);margin-top:40px}.faq-list{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}.faq summary{list-style:none;display:flex;align-items:baseline;gap:15px;padding:22px 0;cursor:pointer;font-size:18px;font-weight:600;line-height:1.8}.faq summary::-webkit-details-marker{display:none}.q-letter{color:var(--orange);font-family:Georgia,serif;font-size:24px;flex-shrink:0}.plus{margin-left:auto;font-size:25px;color:var(--orange);padding-left:8px}.faq details[open] .plus{transform:rotate(45deg)}.answer{font-size:16px;padding:0 24px 25px 40px;line-height:2;color:#43554b}.join{position:relative;background:var(--yellow);text-align:center;overflow:hidden}.join:before,.join:after{content:"";position:absolute;color:#fff9;font-size:240px;font-family:serif;line-height:1;left:-70px;top:80px;transform:rotate(-15deg)}.join:after{left:auto;right:-70px;bottom:-60px;top:auto;font-size:320px}.join-inner{position:relative;z-index:1}.join h2{font-size:clamp(36px,4.3vw,56px)}.join-inner>p:not(.section-label):not(.recruit):not(.small-note){margin:25px 0}.join .recruit{background:#fff6d3;margin-top:5px;transform:rotate(-1deg)}.join-actions{display:flex;justify-content:center;gap:22px;margin:32px 0 18px}.join .outline{background:var(--paper);min-width:255px}.join .small-note{color:#4d513e}footer{padding:55px 0 30px;background:var(--paper)}.footer-top{display:flex;align-items:center;gap:35px}.footer-top>p{font-size:16px}.sister-link{margin-left:auto;font-size:16px;border-bottom:1px solid currentColor}.footer-bottom{display:flex;gap:22px;align-items:center;margin-top:34px;padding-top:24px;border-top:1px solid var(--line);font-size:16px}.footer-bottom>span{margin-right:auto}.mobile-cta{display:none}dialog{border:1px solid #c5c8b9;border-radius:22px;max-width:680px;width:calc(100% - 30px);padding:0;color:var(--ink);background:var(--paper);max-height:90vh;box-shadow:0 20px 80px #0003}dialog::backdrop{background:#152e28ab;backdrop-filter:blur(4px)}.dialog-content{padding:42px}.dialog-content>h2{font-size:29px;margin-bottom:15px}.dialog-content>p:not(.section-label){font-size:16px}.dialog-close{position:sticky;float:right;right:12px;top:12px;border-radius:50%;width:44px;height:44px;background:#e8eadc;font-size:30px;line-height:1}.dialog-content form{margin-top:25px}.dialog-content label{display:block;font-weight:500;font-size:16px;margin:20px 0}.dialog-content label>span{font-size:16px;margin-left:10px;color:var(--orange)}.dialog-content label>.optional{color:var(--muted)}.dialog-content input:not([type=radio]):not([type=checkbox]):not([type=hidden]),.dialog-content select,.dialog-content textarea{width:100%;margin-top:8px;padding:12px 14px;border:1px solid #afb7a7;border-radius:5px;background:var(--white);color:var(--ink);font-size:17px}.dialog-content fieldset{border:1px solid #c5c8b9;border-radius:8px;padding:8px 18px;margin-top:20px}.dialog-content legend{font-size:16px}.dialog-content .radio{display:inline-flex;align-items:center;gap:8px;margin:6px 26px 8px 0}.dialog-content .check{display:flex;gap:12px;align-items:center}.dialog-content input[type=radio],.dialog-content input[type=checkbox]{width:20px;height:20px;accent-color:var(--green)}.form-preview-note{font-size:16px;line-height:1.8;color:var(--muted);margin:20px 0}.dialog-content .button{width:100%}.review-label{font-size:20px;font-weight:500;margin:25px 0}.dialog-content dl{margin:20px 0}.dialog-content dt{font-size:16px;color:var(--muted);border-top:1px solid var(--line);padding-top:12px}.dialog-content dd{margin:0 0 15px;font-size:17px;overflow-wrap:anywhere}.lock-scroll{overflow:hidden}
@media(min-width:1450px){.hero{padding-left:calc((100% - 1260px)/2)}}@media(max-width:1150px){.header{gap:20px;padding:0 24px}.header nav{gap:18px;font-size:16px}.brand{font-size:22px}.header-cta{font-size:16px;gap:10px}.hero{grid-template-columns:47% 53%;padding-left:4%;min-height:670px}.hero h1{font-size:51px}.hero-school{font-size:21px}.hero-school span{font-size:16px}.hero-image{height:500px}.hero-actions{gap:12px}.hero .button{font-size:16px;padding:16px 20px;gap:20px}.text-button{font-size:16px}.intro{gap:60px}.intro-photos{height:560px}.polaroid.second{top:260px}.rhythm{gap:12px}.rhythm-item{padding-left:15px}.rhythm-item h3{font-size:18px}.rhythm-item p{font-size:16px}.rhythm-item>div>span{font-size:16px}.price-layout{gap:45px}.faq{gap:45px}.founder-profiles{gap:30px}.founder-profiles article{grid-template-columns:120px 1fr;gap:18px}.founder-profiles img{width:120px;height:160px}.price-sheet{padding:28px}.price-number strong{font-size:68px}}
@media(max-width:960px){.header{height:82px}.header nav{display:none}.header-cta{margin-left:auto}.menu-toggle{display:block}.mobile-menu{top:82px}.hero{padding-top:45px;padding-bottom:90px;min-height:auto}.hero h1{font-size:clamp(34px,5vw,48px)}.eyebrow{font-size:16px}.hero-school{font-size:18px}.hero-school span{font-size:16px}.recruit{font-size:16px;gap:8px;padding:8px 10px}.recruit b{font-size:16px}.hero-image{height:480px}.hero-seal{width:125px;height:125px;font-size:16px;right:25px;bottom:-25px}.hero-seal strong{font-size:24px}.photo-note{font-size:16px;left:10px}.hero-scribble{width:65px}.hero-actions{display:block}.hero-actions .text-button{margin-top:8px;display:block}.hero-description{font-size:16px}.hero-detail{font-size:16px}.section{padding-top:85px;padding-bottom:85px}.wrap{padding-left:28px;padding-right:28px}.intro{gap:48px}.intro h2{font-size:33px}.intro-copy p:not(.section-label){font-size:16px;margin-top:19px}.intro-photos{height:500px}.polaroid.second{top:230px;left:10%;width:90%}.polaroid figcaption{font-size:16px}.intro-photos>.flower{width:90px;bottom:10px}.under-note{font-size:16px}.rhythm{grid-template-columns:repeat(3,1fr);padding-top:35px}.rhythm-heading{grid-column:1/-1;margin-bottom:12px}.rhythm-heading h2 br{display:none}.rhythm-foot{grid-column:1/-1}.rhythm-item{padding-left:15px;min-height:150px}.rhythm-item h3{font-size:20px}.rhythm-item p{font-size:16px}.online-feature{grid-template-columns:1fr 1fr}.online-note{padding:26px;margin-left:-25px}.online-note h3{font-size:22px}.online-note p:not(.section-label){font-size:16px}.wide-photo img{min-height:420px}.online-small{gap:18px}.online-small figcaption{font-size:16px}.mini-heading{display:block}.mini-heading h3{font-size:26px}.subject-grid{grid-template-columns:repeat(2,1fr);gap:35px}.subject-grid img{aspect-ratio:1.4}.subject-grid h4{font-size:22px}.curriculum{gap:30px}.curriculum h3{font-size:23px}.school-grid{grid-template-columns:repeat(2,1fr)}.school-note{display:block}.school-note p{margin-top:12px}.event-grid{grid-template-columns:repeat(2,1fr)}.event-card h3{font-size:23px}.adventure-heading .spark{left:-5px;width:65px;top:30px}.price-layout{grid-template-columns:1fr 1fr;gap:30px}.price-heading h2{font-size:32px}.price-heading p:not(.section-label){font-size:16px}.price-sheet-top>span:first-child{font-size:16px;display:block;max-width:130px}.price-number strong{font-size:56px}.price-number>span{font-size:16px}.price-sheet{padding:25px}.price-badge{right:17px}.fee-included li{font-size:16px}.payment-method{display:block}.payment-method p{margin-top:7px}.founders-top{gap:35px}.founders-top h2{font-size:29px}.founders-top p:not(.section-label){font-size:16px}.founder-profiles article{grid-template-columns:100px 1fr;gap:15px}.founder-profiles img{width:100px;height:135px}.founder-profiles p:not(.section-label){font-size:16px}.steps-grid{gap:30px}.steps-grid h3{font-size:20px}.steps-grid p{font-size:16px}.steps-grid article:not(:last-child):after{right:-23px}.faq{grid-template-columns:1fr;gap:25px}.faq-heading .flower{display:none}.faq-heading h2 br{display:none}.footer-top{flex-wrap:wrap;gap:20px}.sister-link{margin-left:0}.footer-top>p{margin-left:auto}.footer-bottom{font-size:16px}}
@media(max-width:640px){html{scroll-padding-top:90px}body{font-size:17px;line-height:1.95}.wrap{padding-left:23px;padding-right:23px}.section{padding-top:68px;padding-bottom:68px}.section-label{font-size:16px;letter-spacing:.13em;margin-bottom:14px}h2{font-size:31px;line-height:1.65}.mobile{display:block}.desktop{display:none}.header{height:76px;padding:0 18px;gap:10px}.brand{font-size:21px;gap:9px}.brand-mark{width:43px;height:48px;font-size:27px;border-radius:14px 14px 7px 14px}.brand small{font-size:16px;margin-top:2px}.header-cta{display:none}.menu-toggle{margin-left:auto}.mobile-menu{top:76px}.hero{display:flex;flex-direction:column;padding:38px 0 65px;overflow:hidden}.hero-copy{padding:0 23px}.eyebrow{font-size:16px;letter-spacing:.045em;margin-bottom:19px}.hero h1{font-size:clamp(34px,9.1vw,55px);line-height:1.55}.hero-school{font-size:20px;margin-top:19px}.hero-school span{font-size:16px}.hero .recruit{margin-top:17px;font-size:16px;padding:8px 12px}.hero .recruit b{font-size:16px}.hero-description{font-size:16px;margin-top:19px}.hero-description br{display:none}.hero-actions{display:flex;gap:17px;margin-top:22px;align-items:center}.hero-actions .button{font-size:16px;gap:15px;min-height:58px;padding:15px 18px}.hero-actions .text-button{font-size:16px;margin-top:0;padding:13px 0}.hero-actions .text-button span{margin-left:4px}.hero-detail{font-size:16px;margin-top:13px}.hero-visual{width:100%;margin:39px 0 0 25px;padding-left:9px}.hero-image{height:340px;border-radius:65px 0 0 20px}.hero-image img{object-position:50%}.hero-image:after{border-radius:55px 0 0 15px;inset:10px -10px 10px 10px}.hero-seal{width:112px;height:112px;right:41px;bottom:-22px;font-size:16px;outline-width:4px}.hero-seal strong{font-size:23px}.hero-scribble{top:-30px;left:4px;width:54px}.photo-note{bottom:-38px;left:18px;font-size:16px}.scroll-note{display:none}.ticker{gap:22px;padding:13px 0;font-size:16px;letter-spacing:.09em}.ticker b{font-size:21px}.intro{display:flex;flex-direction:column-reverse;gap:35px}.intro-copy{width:100%}.intro-copy h2{font-size:34px}.intro-copy p:not(.section-label){font-size:17px}.intro-photos{width:100%;height:540px;max-width:410px}.polaroid.first{width:91%;left:1%;top:15px}.polaroid.second{width:82%;left:16%;top:255px}.polaroid figcaption{padding:9px;font-size:16px}.intro-photos>.flower{width:85px;bottom:17px}.under-note{font-size:16px}.rhythm{grid-template-columns:1fr;padding-top:27px;padding-bottom:30px;gap:0}.rhythm-heading h2{font-size:26px;margin-bottom:25px}.rhythm-heading h2 br{display:block}.rhythm-item{border-left:0;border-top:1px solid var(--line);padding:20px 30px 20px 0;gap:19px;min-height:auto}.rhythm-no{font-size:30px}.rhythm-item>div>span{font-size:16px}.rhythm-item h3{font-size:23px;margin:3px 0 5px}.rhythm-item p{font-size:16px}.rhythm-item>b{bottom:40px;right:8px}.rhythm-foot{font-size:16px;margin-top:18px}.learning{margin-top:0;background:var(--mint)}.section-top{gap:15px;align-items:flex-start}.section-top .flower{width:60px;margin-top:30px}.section-top h2{font-size:30px}.hand-circle{width:83px;height:83px;font-size:16px;flex-shrink:0;margin-top:25px}.hand-circle strong{font-size:30px}.section-lead{font-size:16px;line-height:2;margin:24px 0 30px}.section-lead br{display:none}.online-feature{grid-template-columns:1fr}.wide-photo{border-radius:15px 55px 15px 15px}.wide-photo img{min-height:0;aspect-ratio:1.35;width:100%;height:auto}.online-note{margin:-8px 10px 0;padding:30px 24px;transform:rotate(1deg)}.online-note h3{font-size:24px}.online-note p:not(.section-label){font-size:16px}.online-note p br{display:none}.note-tags{gap:7px}.note-tags span{font-size:16px}.online-small{grid-template-columns:1fr;gap:22px;margin-top:34px}.online-small figure{display:grid;grid-template-columns:46% 1fr;gap:18px;align-items:center}.online-small figcaption{font-size:16px;margin:0}.online-small img{aspect-ratio:1.1}.subjects{margin-top:60px}.mini-heading h3{font-size:24px}.subject-grid{gap:28px 18px;margin-top:27px}.subject-grid img{border-radius:60px 60px 9px 9px;aspect-ratio:1}.subject-grid h4{font-size:17px;line-height:1.7}.subject-grid p{font-size:16px;line-height:1.9}.subject-type{font-size:16px;line-height:1.8;min-height:22px;margin:15px 0 7px}.curriculum{grid-template-columns:1fr;gap:25px;margin-top:45px;padding-top:30px}.curriculum h3{font-size:26px}.curriculum p:not(.section-label){font-size:16px;margin-top:16px}.curriculum summary{padding:20px;font-size:17px}.curriculum-content{padding:20px}.curriculum-content p.small-note{font-size:16px}.support-strip{padding:22px 24px;gap:14px;align-items:flex-start;border-radius:18px}.support-strip>span{font-size:37px;padding-top:3px}.support-strip h3{font-size:19px}.support-strip p{font-size:16px}.school-grid{grid-template-columns:1fr;gap:36px}.school-card img{aspect-ratio:1.5;border-radius:15px}.school-card h3{font-size:24px;margin-top:24px}.school-card p{font-size:16px}.school-note{margin-top:32px}.school-note b{font-size:18px;white-space:normal}.school-note p{font-size:16px}.school-note p br{display:none}.adventure-heading{margin-bottom:45px}.adventure-heading h2{font-size:34px}.adventure-heading p:not(.section-label){font-size:16px}.adventure-heading .spark{left:-15px;top:94px;width:44px}.outline-pill{font-size:16px;padding:7px 16px}.event-grid{grid-template-columns:1fr;gap:38px}.event-card h3{font-size:25px}.event-card>p:last-child{font-size:16px}.event-type{font-size:16px!important}.event-image img{aspect-ratio:1.5;border-radius:12px}.event-number{width:44px;height:44px;font-size:22px;top:-13px}.event-foot{font-size:16px;line-height:1.8}.center-heading p:last-child{font-size:16px;margin-top:18px}.annual-grid{grid-template-columns:1fr;gap:42px;margin-top:40px}.annual-grid article>div{padding:18px 12px 0}.annual-grid h3{font-size:25px}.annual-grid p{font-size:16px}.annual-grid article{padding-bottom:24px}.price-layout{grid-template-columns:1fr;gap:35px}.price-heading{position:relative}.price-heading h2{font-size:32px}.price-heading p:not(.section-label){font-size:16px;margin-top:22px}.price-heading .flower{position:absolute;width:70px;right:0;top:-10px}.price-sheet{padding:28px 23px;transform:rotate(.7deg)}.price-sheet-top>span:first-child{max-width:180px;font-size:16px}.price-number strong{font-size:71px}.price-number>span{font-size:18px}.price-badge{width:73px;height:73px;right:19px;top:20px}.fee-included li{font-size:16px}.fee-included h3,.fee-extras h3{font-size:18px}.fee-extras p{font-size:16px}.price-sheet .small-note{font-size:16px}.payment-method{font-size:16px;display:flex;gap:18px}.payment-method p{margin:0}.founders-top{grid-template-columns:1fr;gap:36px}.founders-top h2{font-size:32px}.founders-top p:not(.section-label){font-size:17px;margin-top:24px}.founders-wide{margin:0 8px;border-width:9px}.founders-wide img{aspect-ratio:1.5}.founder-profiles{grid-template-columns:1fr;gap:30px;margin-top:40px}.founder-profiles article{grid-template-columns:125px 1fr;gap:22px}.founder-profiles img{width:125px;height:167px}.founder-profiles p:not(.section-label){font-size:16px}.founder-profiles h3{font-size:26px}.steps-grid{grid-template-columns:1fr;gap:28px}.steps-grid article{padding:0 0 0 65px;min-height:100px}.step-number{position:absolute;left:0;top:0;font-size:37px}.steps-grid h3{font-size:21px;margin:0 0 12px}.steps-grid p{font-size:16px}.steps-grid article:not(:last-child):after{content:"↓";left:17px;right:auto;top:auto;bottom:-31px;font-size:23px}.steps .small-note{font-size:16px}.faq{gap:25px}.faq-heading h2 br{display:block}.faq summary{font-size:16px;gap:10px;padding:20px 0}.q-letter{font-size:22px}.plus{font-size:22px;padding-left:0}.answer{padding:0 10px 22px 30px;font-size:16px}.join h2{font-size:35px}.join-inner>p:not(.section-label):not(.recruit):not(.small-note){font-size:16px}.join-actions{flex-direction:column;max-width:340px;margin:28px auto 17px;gap:14px}.join .recruit{font-size:16px;gap:8px;padding:8px 12px}.join .recruit b{font-size:16px}.join:before{font-size:140px;left:-65px;top:50px}.join:after{font-size:190px;right:-90px}.join .small-note{font-size:16px}footer{padding:40px 0 100px}.footer-top{flex-direction:column;align-items:flex-start;gap:20px}.footer-top>p{margin-left:0;font-size:16px}.footer-bottom{gap:15px;flex-wrap:wrap;margin-top:25px;font-size:16px}.footer-bottom>span{width:100%;margin-right:0}.mobile-cta{position:fixed;inset:auto 0 0;z-index:18;display:flex;background:var(--paper);padding:10px 12px calc(10px + env(safe-area-inset-bottom));gap:8px;border-top:1px solid #d5cebf;box-shadow:0 -3px 20px #0001}.mobile-cta button{font-size:16px;flex:1;background:var(--orange);color:white;padding:13px 12px;border-radius:7px;font-weight:500;min-height:50px;display:flex;justify-content:space-between}.mobile-cta button+button{background:var(--green)}dialog{max-height:91dvh}.dialog-content{padding:28px 24px}.dialog-content>h2{font-size:25px}.dialog-close{right:8px;top:8px;width:37px;height:37px;font-size:26px}.dialog-content>.section-label{font-size:16px}.dialog-content label{font-size:16px}.dialog-content .button{font-size:17px}.form-preview-note{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Explicit rows avoid anonymous text items in grid and flex badges. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.asterisk{display:block;width:22px;height:22px;flex:0 0 auto}
.recruit{transform:none;flex-wrap:nowrap;gap:10px}
.recruit b,.recruit>span{white-space:nowrap}
.ticker b{display:flex;align-items:center}
.ticker .asterisk{width:23px;height:23px}
.hero-description>span{display:block}
.hero-seal{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:16px;transform:none;line-height:1.4}
.hero-seal>span,.hero-seal>strong{display:block;white-space:nowrap;margin:0}
.hero-seal strong{line-height:1.35}
.hand-circle{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:center;justify-content:center;gap:3px;transform:none;line-height:1.3;padding:14px}
.badge-frequency{display:block;white-space:nowrap}
.badge-duration{display:flex;align-items:baseline;justify-content:center;gap:5px;white-space:nowrap}
.hand-circle .badge-duration strong{line-height:1.1;font-style:normal;font-family:"Kiwi Maru","Yu Gothic",sans-serif}
.price-badge{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1px;transform:none}
.price-badge>span,.price-badge>b{display:block;white-space:nowrap}
.heading-line{display:block}
.join:before,.join:after{content:"";width:210px;height:210px;background:transparent;opacity:.45;border:2px solid #fff;border-radius:47% 53% 55% 45%;transform:rotate(-12deg)}
.join:after{width:270px;height:270px}
body.lock-scroll .mobile-cta{display:none}
@media(max-width:640px){
html{scroll-padding-top:24px}
.header{position:relative;height:72px;backdrop-filter:none}
.mobile-menu{position:absolute;top:72px}
.hero{padding-top:28px;padding-bottom:64px}
.hero h1{font-size:clamp(32px,8.8vw,48px);line-height:1.48;letter-spacing:0}
.eyebrow{font-size:16px;letter-spacing:0;line-height:1.8;margin-bottom:15px}
.hero-school{display:flex;align-items:baseline;flex-wrap:wrap;gap:0;font-size:20px;line-height:1.7}
.hero-school span{font-size:16px;white-space:nowrap}
.hero .recruit,.join .recruit{font-size:16px;gap:7px;padding:9px 10px}
.hero .recruit b,.join .recruit b{font-size:16px}
.recruit .asterisk{width:18px;height:18px}
.hero-description{font-size:16px;line-height:1.85;margin-top:20px;letter-spacing:0}
.hero-description>span{display:block}
.hero-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin-top:20px;max-width:400px}
.hero-actions .button{font-size:18px;min-height:58px;padding:15px 20px;justify-content:space-between}
.hero-actions .text-button{align-self:center;font-size:17px;min-height:44px;margin:0;padding:8px 0}
.hero-detail{font-size:16px;line-height:1.8}
.hero-visual{width:calc(100% - 24px);margin:32px 0 0 24px;padding:0}
.hero-image{height:auto;aspect-ratio:1.18;border-radius:48px 0 0 20px}
.hero-seal{width:122px;height:122px;right:18px;bottom:-23px;font-size:16px;padding:10px;gap:3px}
.hero-seal strong{font-size:23px}
.photo-note{font-size:16px;max-width:calc(100% - 40px);left:0;bottom:-45px;transform:none;letter-spacing:0}
.ticker{font-size:16px;gap:22px}
.ticker .asterisk{width:18px;height:18px}
.learning .section-top{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.learning .section-top>div:first-child{width:100%;min-width:0}
.learning .section-top h2,.school .section-top h2{font-size:clamp(22px,7vw,32px);line-height:1.6;letter-spacing:0}
.learning .hand-circle{display:inline-flex;flex-direction:row;gap:10px;margin:0;width:auto;height:auto;padding:8px 17px;border-width:1.5px;border-radius:30px;font-size:16px}
.learning .hand-circle strong{font-size:26px}
.learning .badge-duration{gap:3px}
.school .section-top{display:block;position:relative}
.school .section-top .flower{position:absolute;top:-20px;right:0;width:38px;margin:0}
.section-lead{line-height:2;letter-spacing:0;overflow-wrap:break-word}
.mobile-cta:not(.is-visible){display:none}
.mobile-cta button{min-height:48px;font-size:16px}
.join:before{width:125px;height:125px}
.join:after{width:150px;height:150px}
}

/* Individual staff portraits only. */
.founders-top{grid-template-columns:1fr;text-align:center}.founders-top>div{max-width:760px;margin:0 auto}.founder-profiles{max-width:1040px;margin:48px auto 0;gap:48px}.founder-profiles article{grid-template-columns:180px minmax(0,1fr);gap:26px}.founder-profiles img{width:180px;height:225px}
@media(max-width:960px){.founder-profiles article{grid-template-columns:130px minmax(0,1fr);gap:20px}.founder-profiles img{width:130px;height:170px}.founder-profiles{gap:30px}}
@media(max-width:640px){.founders-top{text-align:left}.founder-profiles{margin-top:32px;grid-template-columns:1fr}.founder-profiles article{grid-template-columns:125px minmax(0,1fr);gap:22px}.founder-profiles img{width:125px;height:167px}}

@media(max-width:640px){.founder-profiles h3{font-size:clamp(24px,6.4vw,26px);letter-spacing:0}}

/* Readable typography throughout the site. */
body{font-size:18px;line-height:1.9}
main p:not(.section-label):not(.small-note):not(.event-type):not(.recruit):not(.hero-school):not(.price-number):not(.fact-label):not(.fact-number):not(.fact-note):not(.hero-cost-note){font-size:18px}
.section-label,.subject-type,.event-type,.note-tags span,.under-note,.outline-pill,.annual-grid article>div>span,.school-card figure>span,.rhythm-foot,.rhythm-item>div>span,.event-foot,.hero-cost-note{font-size:16px}
.section-label{letter-spacing:.08em}
.brand small{font-size:16px;line-height:1.5;letter-spacing:.04em}
.small-note,.curriculum-content p.small-note,.price-sheet .small-note,.steps .small-note,.join .small-note{font-size:16px;line-height:1.85}
.online-small figcaption,.polaroid figcaption,.photo-note,.month-lesson,.fee-included li,.payment-method,.answer,.faq summary,.school-note p,.founder-profiles p:not(.section-label){font-size:18px}
.button,.header-cta,.text-button,.dialog-content .button,.mobile-cta button{font-size:18px}
.note-tags span{padding:6px 10px}
.subject-grid h4{font-size:22px;line-height:1.65}
.subject-grid p{font-size:18px}
.school-card p,.event-card>p:last-child,.steps-grid p,.support-strip p{font-size:18px}
.support-strip{border-radius:28px}
footer .footer-top>p{font-size:18px}
.footer-bottom,.sister-link{font-size:16px;line-height:1.8}
.footer-bottom a{display:inline-flex;align-items:center;min-height:44px}
#application-dialog :is(input,textarea,select,label,legend,dd){font-size:18px}
#application-dialog label>span,#application-dialog dt,#application-dialog .form-preview-note{font-size:16px}
#application-dialog label>span{display:inline-block}
.rhythm{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;padding-top:36px;padding-bottom:36px}
.rhythm-heading,.rhythm-foot{grid-column:1/-1}
.rhythm-heading h2 br{display:none}
.rhythm-item{min-width:0;padding-left:20px}
.rhythm-item h3{font-size:24px;line-height:1.6}
.rhythm-item p{font-size:18px}
.rhythm-item>div{min-width:0}
.rhythm-item>b{bottom:0}
.price-sheet{transform:none}
.price-sheet-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center}
.price-sheet-top>span:first-child{font-size:16px;max-width:none;line-height:1.8}
.price-badge{position:static;width:80px;height:80px;font-size:16px}
.price-badge b{font-size:24px}
.price-number strong{font-size:clamp(54px,6vw,76px)}
.fee-included h3,.fee-extras h3{font-size:20px}
.fee-extras p{font-size:18px}
.payment-method{font-size:18px;flex-wrap:wrap;gap:6px 20px}
.founder-profiles article{align-items:start}
.founder-profiles img{margin-top:6px}
.founder-profiles h3{line-height:1.5}


/* Open composition: one horizontal gutter, with small shared illustration details. */
:root{--font-body:"Kiwi Maru","Yu Gothic",sans-serif;--font-heading:"Kiwi Maru","Yu Gothic",sans-serif;--font-numeral:"Kiwi Maru",sans-serif}
body{font-family:var(--font-body);font-weight:500;font-feature-settings:"palt" 1}
h1,h2,h3,h4,.brand{font-family:var(--font-heading);font-feature-settings:"palt" 1}
.brand small{font-family:var(--font-body)}
.price-number strong,.rhythm-no,.month-lesson>b{font-family:var(--font-numeral);font-variant-numeric:tabular-nums}
.hero.hero-open{display:block;max-width:none;min-height:0;margin:0;padding:0;overflow:visible}
.hero-open .hero-composition{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:56px;align-items:center;padding-top:52px;padding-bottom:48px}
.hero-open .hero-copy{min-width:0;padding:0}
.hero-open .eyebrow{font-size:18px;font-weight:500;line-height:1.8;letter-spacing:0;margin:0 0 18px}
.hero-open h1{font-size:clamp(40px,4.5vw,60px);font-weight:500;line-height:1.55;letter-spacing:.02em;white-space:normal}
.hero-open .hero-heading-line{display:block;white-space:normal}
.hero-open .marker-line{background:linear-gradient(transparent 80%,#f5d677a8 80%,#f5d677a8 94%,transparent 94%);box-decoration-break:clone;-webkit-box-decoration-break:clone}
.hero-open .hero-school{display:flex;flex-wrap:wrap;align-items:baseline;gap:0;margin:22px 0 0;font-size:24px;line-height:1.8;font-weight:500}
.hero-open .hero-school>span{font-family:var(--font-body);font-size:18px;font-weight:500;white-space:normal}
.hero-open .recruit-ticket{position:relative;display:inline-flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin:18px 0 0;padding:10px 17px;background:#f7e6af;border:0;border-radius:4px;line-height:1.7;font-size:18px;font-weight:500;transform:none;white-space:normal}
.hero-open .recruit-ticket:before,.hero-open .recruit-ticket:after{content:"";position:absolute;top:calc(50% - 5px);width:10px;height:10px;border-radius:50%;background:var(--paper)}
.hero-open .recruit-ticket:before{left:-5px}.hero-open .recruit-ticket:after{right:-5px}
.hero-open .recruit-ticket b{padding-left:14px;border-left:1px dashed #857644;font-size:18px;font-weight:500;white-space:normal}
.hero-open .recruit-ticket>span{white-space:normal}
.hero-open .hero-visual{position:relative;min-width:0;width:100%;margin:0;padding:0}
.hero-open .hero-image{position:relative;width:100%;height:auto;aspect-ratio:1.5;border-radius:64px 12px 40px 12px;background:var(--mint)}
.hero-open .hero-image:after{display:none}
.hero-open .hero-image img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-open .hero-visual:before{content:"";position:absolute;left:30px;top:-6px;z-index:2;width:66px;height:16px;background:repeating-linear-gradient(135deg,#e6c575cc 0 3px,#f4dfa0e6 3px 7px);transform:rotate(-7deg)}
.hero-open .photo-rays{position:absolute;top:-35px;right:-4px;width:56px;height:56px;color:var(--orange);z-index:2;pointer-events:none}
.hero-open .photo-note{position:static;display:flex;align-items:flex-start;gap:12px;max-width:none;margin:18px 0 0;padding:0;font-size:18px;font-weight:500;line-height:1.8;letter-spacing:0;text-align:left;transform:none}
.hero-open .photo-note>span>span{display:inline-block}
.hero-open .note-book{width:32px;height:32px;flex:0 0 32px;margin-top:1px;color:var(--green)}
.hero-open .hero-guide{background:#eef2e9;border-top:1px solid #d9e0d1;border-bottom:1px solid #d9e0d1}
.hero-open .hero-guide-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.55fr);gap:42px;align-items:center;padding-top:28px;padding-bottom:28px}
.hero-open .hero-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;padding:0;border:0}
.hero-open .hero-fact{min-width:0;margin:0;padding:6px 12px;text-align:center}
.hero-open .hero-fact+.hero-fact{border-left:1px solid #c5d1c0}
.hero-open .hero-fact dt{display:flex;align-items:center;justify-content:center;gap:7px;min-height:38px;font-size:18px;font-weight:500;line-height:1.6;margin:0}
.hero-open .hero-fact dt svg{width:30px;height:30px;flex:0 0 30px;color:var(--green)}
.hero-open .hero-fact dd{display:flex;flex-direction:column;align-items:center;gap:3px;margin:5px 0 0;line-height:1.65}
.hero-open .hero-fact dd>strong{font-family:var(--font-heading);font-size:30px;line-height:1.4;font-weight:500;letter-spacing:0;white-space:nowrap}
.hero-open .fact-numeral,.hero-open .price-amount{font-family:var(--font-numeral);font-weight:500;font-variant-numeric:tabular-nums}
.hero-open .fact-numeral{font-size:1.12em;margin:0 2px}
.hero-open .hero-fact-price dd>strong{color:var(--orange)}
.hero-open .price-amount{font-size:38px}
.hero-open .price-unit{font-size:20px;margin-left:3px}
.hero-open .hero-fact dd>span{font-size:18px}
.hero-open .hero-entry{min-width:0}
.hero-open .hero-actions{display:grid;grid-template-columns:1fr;gap:12px;max-width:none;margin:0}
.hero-open .hero-actions .button{display:flex;justify-content:space-between;gap:16px;width:100%;min-width:0;min-height:60px;padding:15px 22px;border-radius:10px;font-family:var(--font-body);font-weight:500;font-size:18px;line-height:1.65;box-shadow:none}
.hero-open .hero-admission{background:var(--white);border:1px solid var(--green);color:var(--green)}
.hero-open .hero-cost-note{font-size:16px;line-height:1.85;color:var(--muted);text-align:left;margin:14px 0 0}
.ticker{background:var(--paper);color:var(--green);font-family:var(--font-heading);font-weight:500;font-size:20px;letter-spacing:.06em;padding:26px 20px;gap:24px;white-space:normal;flex-wrap:wrap}
.ticker>b{color:var(--orange)}.ticker>span{white-space:normal}
.section-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:16px;letter-spacing:.04em;line-height:1.6;font-weight:500}
.section-kicker:before{content:"";flex:0 0 22px;width:22px;height:3px;background:var(--orange);border-radius:2px;box-shadow:0 5px 0 #e2b87b}
.section-kicker .chapter-index{display:inline-grid;place-items:center;min-width:32px;min-height:32px;padding:0 6px;border:1px solid currentColor;border-radius:10px 10px 2px 10px;font-family:var(--font-numeral);font-size:16px;letter-spacing:0}
.section-kicker:has(.chapter-index):before{display:none}
.center-heading .section-kicker,.founders-top .section-kicker,.join .section-kicker{justify-content:center}
.founder-profiles article>p{grid-column:1/-1;margin:0}
.founder-heading{align-self:center}.founder-heading .section-label{display:block;margin-bottom:8px}
@media(max-width:1100px){
.hero-open .hero-composition{gap:32px}
.hero-open .hero-guide-inner{grid-template-columns:1fr;gap:24px}
.hero-open .hero-actions{grid-template-columns:1fr 1fr}
.hero-open .hero-cost-note{text-align:center}
}
@media(max-width:960px){
.hero-open .hero-composition{grid-template-columns:1fr;max-width:760px;gap:42px;padding-top:40px;padding-bottom:32px}
.hero-open h1{font-size:48px}
.hero-open .hero-school{font-size:24px}
.hero-open .hero-image{aspect-ratio:1.6}
.price-layout{gap:28px}
}
@media(max-width:640px){
.wrap{padding-left:20px;padding-right:20px}
.header{height:80px;padding:0 20px;gap:8px}
.brand{font-size:clamp(21px,5.6vw,24px);gap:10px}
.brand-mark{width:44px;height:48px;font-size:28px}
.brand small{font-size:16px;letter-spacing:.02em}
.menu-toggle{width:64px;height:58px;padding:4px 0;margin-left:auto;flex:0 0 64px}
.menu-toggle span{width:28px;height:2px;margin:6px auto}
.menu-toggle b{display:block;font:500 16px/1.3 var(--font-body);letter-spacing:0;margin-top:6px}
.mobile-menu{top:80px}
.hero-open .hero-composition{gap:34px;padding-top:30px;padding-bottom:28px}
.hero-open .eyebrow{font-size:18px;line-height:1.8;margin:0 0 14px;font-feature-settings:"palt" 1}
.hero-open h1{font-size:clamp(2rem,9.6vw,2.625rem);line-height:1.6;letter-spacing:.025em}
.hero-open .hero-school{font-size:22px;line-height:1.8;margin-top:18px}
.hero-open .hero-school>span{font-size:18px}
.hero-open .recruit-ticket{font-size:18px;padding:10px 14px;gap:8px 12px;margin-top:16px}
.hero-open .recruit-ticket b{font-size:18px;padding-left:12px}
.hero-open .hero-visual{width:100%;margin:0;padding:0}
.hero-open .hero-image{aspect-ratio:1.5;border-radius:44px 10px 30px 10px}
.hero-open .hero-visual:before{left:25px;width:58px;height:14px;top:-5px}
.hero-open .photo-rays{width:48px;height:48px;top:-29px;right:-3px}
.hero-open .photo-note{font-size:18px;line-height:1.8;margin-top:18px;gap:10px}
.hero-open .note-book{width:30px;height:30px;flex-basis:30px}
.hero-open .hero-guide-inner{display:block;padding-top:4px;padding-bottom:26px}
.hero-open .hero-facts{display:block}
.hero-open .hero-fact{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:18px 0;text-align:left}
.hero-open .hero-fact+.hero-fact{border-left:0;border-top:1px solid #c5d1c0}
.hero-open .hero-fact dt{justify-content:flex-start;gap:10px;font-size:18px;line-height:1.6}
.hero-open .hero-fact dt svg{width:32px;height:32px;flex-basis:32px}
.hero-open .hero-fact dd{align-items:flex-end;gap:0;margin:0}
.hero-open .hero-fact dd>strong{font-size:26px}
.hero-open .hero-fact dd>span{font-size:18px}
.hero-open .hero-fact-price{padding:20px 0 22px}
.hero-open .hero-fact-price dt{font-size:22px}
.hero-open .price-amount{font-size:42px}
.hero-open .price-unit{font-size:20px;margin-left:4px}
.hero-open .hero-actions{grid-template-columns:1fr;gap:12px}
.hero-open .hero-actions .button{min-height:60px;font-size:18px;padding:15px 20px}
.hero-open .hero-cost-note{text-align:left;font-size:16px;margin-top:14px}
.ticker{font-size:20px;padding:24px 20px;gap:16px}
.ticker>span:last-child,.ticker>b{display:none}
.section-kicker{font-size:16px}
.founders-top .section-kicker{justify-content:flex-start}
.section h2{letter-spacing:.02em}
.rhythm{grid-template-columns:1fr;gap:0}
.rhythm-heading h2 br{display:block}
.rhythm-item{padding:22px 28px 22px 0;min-height:0}
.rhythm-item h3{font-size:24px}.rhythm-item>b{bottom:40px}
.rhythm-foot{margin-top:20px;font-size:16px}
.online-small figure{grid-template-columns:1fr;gap:12px}
.online-small img{aspect-ratio:1.6}
.online-small figcaption{font-size:18px}
.subject-grid{grid-template-columns:1fr;gap:32px}
.subject-grid article{display:grid;grid-template-columns:104px minmax(0,1fr);gap:10px 20px;align-items:start}
.subject-grid img{grid-column:1;grid-row:1/3;width:104px;aspect-ratio:1;border-radius:34px 34px 8px 8px}
.subject-type{grid-column:2;justify-self:start;margin:0;font-size:16px}
.subject-grid h4{grid-column:2;font-size:22px;line-height:1.65}
.subject-grid p{grid-column:1/-1;font-size:18px;margin-top:6px}
.price-sheet-top>span:first-child{font-size:16px;max-width:none}
.price-number strong{font-size:clamp(54px,15vw,70px)}
.price-sheet{padding:26px 20px}
.price-badge{width:76px;height:76px;font-size:16px}
.payment-method{display:block;font-size:18px}.payment-method p{margin-top:6px}
.founders-top h2{font-size:32px}
.founder-profiles article{grid-template-columns:125px minmax(0,1fr);gap:18px 22px}
.founder-profiles p{font-size:18px}.founder-profiles h3{font-size:24px}
.join .recruit{font-size:16px;gap:6px;padding:9px 10px}.join .recruit b{font-size:16px}
.mobile-cta button{font-size:18px}
.footer-bottom{font-size:16px;gap:14px}
}
@media(max-width:374px){
.hero-open .hero-school{font-size:21px}
.hero-open .recruit-ticket{padding:9px 12px;gap:7px 9px}
.hero-open .recruit-ticket b{padding-left:9px}
.subject-grid article{grid-template-columns:90px minmax(0,1fr);column-gap:16px}.subject-grid img{width:90px}
.founder-profiles article{grid-template-columns:104px minmax(0,1fr);gap:16px 18px}
.founder-profiles img{width:104px;height:139px}
}