:root{--paper:#f8f6ef;--ink:#253c33;--muted:#5b6860;--line:#d9ded3;--green:#254a3d;--accent:#b45f31;--serif:"Hiragino Mincho ProN","Yu Mincho",serif;--sans:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);-webkit-font-smoothing:antialiased;line-height:1.85}a{color:inherit;text-decoration:none}button{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}::selection{background:#efd7b5}.section-shell{width:min(1160px,calc(100% - 96px));margin-inline:auto}.skip-link{position:fixed;left:12px;top:12px;padding:8px 20px;background:var(--green);color:white;z-index:10;transform:translateY(-160%)}.skip-link:focus{transform:none}.demo-banner{background:#e8ece3;display:flex;justify-content:center;gap:13px;align-items:center;padding:8px 24px;font-size:11px;line-height:1.6;color:#425648;letter-spacing:.035em}.demo-tag{font-weight:700;border:1px solid #a9b4a3;border-radius:3px;padding:1px 6px;white-space:nowrap}.site-header{width:min(1280px,calc(100% - 80px));margin:auto;display:flex;align-items:center;justify-content:space-between;min-height:112px}.brand{display:flex;align-items:center;gap:13px;font-family:var(--serif);font-weight:600;font-size:20px;letter-spacing:.065em;line-height:1.5}.brand small{font-family:var(--sans);display:block;font-size:9px;letter-spacing:.22em;margin-top:3px;font-weight:500}.brand-symbol{border:1px solid #87998b;border-radius:50%;height:43px;width:43px;display:grid;place-items:center;font-size:28px;font-style:italic;line-height:1;padding-bottom:3px;letter-spacing:-.08em}.site-header nav{display:flex;gap:30px;align-items:center;font-size:12px;font-weight:600}.site-header nav a:not(.nav-contact):hover{color:var(--accent)}.nav-contact{border:1px solid #a8b3a7;padding:9px 17px;border-radius:2px}.nav-contact span{margin-left:16px}.hero{display:grid;grid-template-columns:1.06fr 1fr;gap:50px;padding:44px 0 68px;align-items:center}.eyebrow{font-size:11px;letter-spacing:.15em;font-weight:700;margin:0 0 23px;line-height:1.8}.hero-copy .eyebrow{letter-spacing:.07em}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);display:inline-block;margin-right:8px;vertical-align:1px}h1,h2,h3,p{margin-top:0}h1{font-family:var(--serif);font-size:clamp(40px,4.9vw,65px);line-height:1.48;letter-spacing:-.04em;font-weight:500;margin:0 0 24px}.underline-word{position:relative;white-space:nowrap}.underline-word:after{content:"";position:absolute;left:0;right:0;bottom:4px;height:7px;background:#eacbab;z-index:-1;transform:rotate(-2deg)}.hero-description{font-size:14px;line-height:2.1;letter-spacing:.035em;color:var(--muted);margin-bottom:27px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:14px 23px;border-radius:3px;font-size:13px;font-weight:600;border:1px solid transparent;cursor:pointer;transition:background .2s,transform .2s}.primary{background:var(--green);color:#fff}.primary:hover{background:#376451;transform:translateY(-2px)}.button span{font-size:18px;line-height:1}.text-link{display:block;width:fit-content;font-size:11px;margin-top:15px;color:var(--muted)}.text-link span{padding-left:8px}.text-link:hover{text-decoration:underline}.hero-caption{display:flex;gap:20px;margin-top:34px;font-size:10px;color:var(--muted);letter-spacing:.04em}.hero-art{position:relative;min-width:0;padding:14px 6px 28px 2px}.notebook{background:#eeeede;border:1px solid #c8d0c2;box-shadow:12px 16px 0 #e6e8dc;transform:rotate(2deg);position:relative}.notebook:before{content:"";position:absolute;left:15px;top:20px;bottom:20px;width:7px;background:radial-gradient(circle,#718679 2px,transparent 3px) 0 0/7px 27px repeat-y}.notebook-top{display:flex;justify-content:space-between;margin:18px 18px 0 37px;padding-bottom:14px;border-bottom:1px solid #c9d0c0;font-size:11px;font-weight:600}.notebook-top span:last-child{font-size:9px;letter-spacing:.16em;color:var(--muted)}.paper-grid{margin:15px 17px 0 37px;background-image:linear-gradient(#dbe0cf88 1px,transparent 1px),linear-gradient(90deg,#dbe0cf88 1px,transparent 1px);background-size:22px 22px;position:relative}.formula{font-family:Georgia,serif;font-size:29px;letter-spacing:.055em;padding:15px 18px 0}.graph{display:block;width:100%;height:auto;margin-top:-6px;overflow:visible}.graph text{fill:#36554c;font-family:Georgia,serif;font-size:18px}.graph .graph-note{fill:var(--accent);font-family:var(--sans);font-size:12px}.equation-note{font-family:Georgia,serif;font-size:26px;padding:0 17px 21px;margin-top:-5px}.equation-note>.equation-caption{display:block;font-family:var(--sans);font-size:11px;color:var(--muted);padding-top:10px}.notebook-bottom{display:flex;align-items:center;justify-content:space-between;background:var(--green);color:#f0f1de;padding:10px 20px 10px 37px;font-size:10px;letter-spacing:.05em}.notebook-bottom span:last-child{font-size:22px}.art-sticker{position:absolute;right:-13px;bottom:66px;background:#e8c093;color:#61442e;padding:20px 22px;font-family:var(--serif);font-size:18px;line-height:1.6;transform:rotate(-8deg);box-shadow:2px 5px 8px #34453812}.art-coordinate{font-family:Georgia,serif;font-style:italic;font-size:11px;text-align:right;color:#6d7d6d;margin:25px 0 0;letter-spacing:.07em}.subject-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:23px 0;gap:24px}.subject-strip p{margin:0;font-family:var(--serif);font-size:17px;white-space:nowrap}.subject-strip>div{display:flex;gap:24px;font-size:11px;color:var(--muted)}.lesson-section{display:grid;grid-template-columns:1fr 1.4fr;gap:72px;padding:110px 0}.section-intro h2,.process-heading h2,.contact-panel h2{font-family:var(--serif);font-size:35px;line-height:1.65;font-weight:500;letter-spacing:.015em;margin-bottom:20px}.section-intro>p:last-child{font-size:13px;color:var(--muted);line-height:2}.lesson-list article{display:flex;gap:21px;padding:28px 0;border-top:1px solid var(--line)}.lesson-list article:last-child{border-bottom:1px solid var(--line)}.lesson-list h3{font-size:16px;font-weight:600;margin-bottom:9px;line-height:1.8}.lesson-list p{font-size:12px;color:var(--muted);line-height:2;margin:0}.item-number{font-family:Georgia,serif;font-style:italic;color:var(--accent);font-size:19px;line-height:1.5}.item-symbol{margin-left:auto;font-size:24px;font-weight:400;min-width:22px}.process-wrap{background:var(--green);color:#f7f6e9;padding:69px 0 75px}.process-heading{display:flex;justify-content:space-between;align-items:flex-end}.process-heading .eyebrow{color:#b9cbb8;margin-bottom:9px}.process-heading h2{margin:0;font-size:33px}.process-heading>p{font-size:12px;color:#d0dbcc;margin:0 0 7px;line-height:1.9}.process-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:47px;margin:37px 0 0}.process-list li{border-top:1px solid #8eaa9455;padding-top:20px}.step-number{font-family:Georgia,serif;font-size:11px;letter-spacing:.13em;color:#d6b68b}.process-list h3{font-size:17px;font-weight:500;margin:10px 0 13px}.process-list p{font-size:12px;line-height:2;color:#d0dbcc;margin:0}.price-section{display:grid;grid-template-columns:1fr 1.4fr;gap:72px;padding:110px 0 90px}.price-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:24px 0;gap:20px}.price-row:nth-child(2){border-bottom:1px solid var(--line)}.plan-label{font-size:9px;letter-spacing:.17em;color:var(--accent);font-weight:700}.price-row h3{font-family:var(--serif);font-size:24px;font-weight:500;line-height:1.5;margin:5px 0 6px}.price-row p{font-size:11px;color:var(--muted);margin:0}.price-value{text-align:right;white-space:nowrap}.duration{font-size:10px;color:var(--muted);display:block}.price-value strong{font-family:Georgia,serif;font-size:38px;line-height:1.4;font-weight:400}.price-value strong span{font-family:var(--sans);font-size:12px;margin-left:7px}.price-note{font-size:10px;color:var(--muted);margin:14px 0 22px;line-height:1.8}.preparation{display:flex;gap:15px;padding:20px;background:#ebeee5;border-radius:2px}.preparation>span{font-size:22px;font-weight:300;line-height:1.2}.preparation p{font-size:11px;margin:0;line-height:2;color:var(--muted)}.preparation strong{color:var(--ink);font-size:12px}.faq-section{display:grid;grid-template-columns:1fr 1.4fr;gap:72px;padding:20px 0 100px}.faq-section h2{font-family:var(--serif);font-size:28px;font-weight:500}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:18px;list-style:none;padding:21px 0;font-size:13px;cursor:pointer;font-weight:500}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:20px;line-height:1;font-weight:300;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{font-size:12px;line-height:2;color:var(--muted);margin:0 0 23px;padding-right:20px}.contact-panel{display:flex;align-items:center;justify-content:space-between;gap:40px;background:#eee2ce;padding:52px 55px;border-radius:3px}.contact-panel .eyebrow{color:#866a48;margin-bottom:13px}.contact-panel h2{font-size:34px;margin-bottom:15px}.contact-panel p{font-size:12px;color:#60634f;line-height:2;margin:0}.contact-action{text-align:center;flex-shrink:0}.contact-action p{font-size:10px;margin-top:12px}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:46px 0 35px}.site-footer .brand{font-size:16px}.site-footer .brand-symbol{width:34px;height:34px;font-size:23px}.site-footer .brand small{font-size:8px}.site-footer p{font-size:9px;color:var(--muted);line-height:1.9;margin:0}.back-top{font-size:10px;white-space:nowrap}.back-top:hover{text-decoration:underline}dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:5px;padding:0;width:min(480px,calc(100% - 36px));max-height:calc(100% - 48px);box-shadow:0 24px 90px #10251944}dialog::backdrop{background:#182a2488;backdrop-filter:blur(3px)}.dialog-body{padding:34px}.dialog-body h2{font-family:var(--serif);font-size:24px;line-height:1.6;font-weight:500;margin:12px 0 20px}.dialog-body p{font-size:13px;color:var(--muted);line-height:2}.dialog-body form{margin-top:24px}.dialog-body button{width:100%}
@media(min-width:1400px){.hero{padding-top:66px;padding-bottom:80px}.hero-art{padding-inline:15px}.hero-caption{margin-top:44px}}
@media(max-width:1000px){.section-shell{width:calc(100% - 64px)}.site-header{width:calc(100% - 64px)}.hero{gap:24px}.hero-copy .eyebrow{font-size:10px}.hero-description{font-size:13px}h1{font-size:46px}.formula{font-size:25px}.art-sticker{font-size:15px;padding:15px;right:-8px}.subject-strip{flex-wrap:wrap;gap:12px}.lesson-section,.price-section,.faq-section{gap:35px;grid-template-columns:1fr 1.5fr}.section-intro h2{font-size:30px}.contact-panel{padding:38px 32px}.contact-panel h2{font-size:30px}.contact-action .button{gap:16px}.site-footer{flex-wrap:wrap}.site-footer p{margin-left:auto}.back-top{margin-left:auto}}
@media(max-width:700px){.demo-banner{padding:8px 18px;justify-content:flex-start;font-size:9px;gap:9px;align-items:flex-start}.demo-tag{margin-top:1px}.section-shell,.site-header{width:calc(100% - 40px)}.site-header{min-height:87px}.brand{font-size:16px;gap:9px;letter-spacing:.025em}.brand-symbol{height:34px;width:34px;font-size:23px}.brand small{font-size:8px;letter-spacing:.13em}.site-header nav{gap:12px;font-size:10px}.site-header nav a:first-child{display:none}.nav-contact{padding:7px 10px}.nav-contact span{margin-left:7px}.hero{grid-template-columns:1fr;gap:30px;padding:24px 0 40px}.hero-copy .eyebrow{font-size:10px;margin-bottom:17px}h1{font-size:clamp(39px,10.8vw,55px);line-height:1.55;margin-bottom:18px}.hero-description{font-size:13px;margin-bottom:24px}.button{padding:13px 22px;font-size:12px;gap:32px}.hero-caption{margin-top:25px;font-size:9px}.hero-art{width:min(410px,100%);margin:0 auto;padding:9px 16px 17px 1px}.notebook{box-shadow:8px 10px 0 #e6e8dc;transform:rotate(1.6deg)}.notebook-top{margin-top:15px;padding-bottom:12px}.paper-grid{margin-top:12px}.formula{font-size:25px}.graph{max-height:270px}.equation-note{font-size:24px;padding-bottom:18px}.notebook-bottom{padding-block:8px;font-size:9px}.art-sticker{bottom:62px;right:2px;font-size:15px;padding:14px 18px}.art-coordinate{margin-top:19px;font-size:10px}.subject-strip{padding:20px 0;gap:12px}.subject-strip p{font-size:16px}.subject-strip>div{gap:8px 18px;flex-wrap:wrap;font-size:10px}.lesson-section,.price-section,.faq-section{grid-template-columns:1fr;gap:26px;padding:62px 0}.section-intro .eyebrow,.faq-section .eyebrow{margin-bottom:13px}.section-intro h2{font-size:29px;margin-bottom:15px}.section-intro>p:last-child{margin-bottom:0;font-size:12px}.lesson-list article{padding:24px 0;gap:16px}.lesson-list h3{font-size:14px}.lesson-list p{font-size:12px}.item-number{font-size:18px}.item-symbol{font-size:22px}.process-wrap{padding:44px 0}.process-heading{display:block}.process-heading h2{font-size:28px}.process-heading>p{margin-top:13px}.process-heading>p br{display:none}.process-list{grid-template-columns:1fr;gap:24px;margin-top:28px}.process-list li{padding-top:18px}.process-list h3{margin:8px 0;font-size:16px}.price-section{padding-bottom:48px}.price-row{padding:23px 0;gap:14px}.price-row h3{font-size:23px}.price-row p{font-size:10px;max-width:180px}.price-value strong{font-size:34px}.faq-section{padding:16px 0 50px;gap:12px}.faq-section h2{font-size:26px;margin-bottom:9px}.faq-list summary{font-size:12px;padding:20px 0}.contact-panel{display:block;padding:31px 26px}.contact-panel h2{font-size:28px}.contact-panel p{font-size:11px}.contact-action{margin-top:25px;text-align:left}.contact-action .button{width:100%;font-size:12px}.contact-action p{font-size:9px;text-align:center}.site-footer{padding:31px 0 27px;gap:20px}.site-footer p{width:100%;margin:0;order:3;font-size:9px}.site-footer .brand{font-size:14px}.back-top{font-size:9px}.dialog-body{padding:26px}.dialog-body h2{font-size:21px}.dialog-body p{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
