:root{--shell-width:1180px;--shell-gutter:clamp(1rem, 3vw, 2rem);--section-space:clamp(4.5rem, 8vw, 8rem);--header-height:4.75rem;--font-body:"Segoe UI", Arial, sans-serif;--font-heading:"Segoe UI", Arial, sans-serif;--font-number:ui-monospace, "Cascadia Mono", Consolas, monospace;--bg:#efe9db;--bg-alt:#e8e0cc;--surface:#f9f5ea;--surface-raised:#f9f5ea;--surface-subtle:#e8e0cc;--text:#2a3040;--text-soft:#666350;--text-faint:#6f6957;--accent:#34456e;--accent-strong:#24314f;--accent-soft:#dfe3ee;--on-accent:#fff;--secondary:#a34733;--border:#cfc4a6;--border-strong:#b3a47e;--focus:#a34733;--success:#26704a;--success-soft:#dff1e6;--danger:#b23f3f;--danger-soft:#fae2e2;--warning:#856214;--warning-soft:#f8eccb;--neutral:#5c6672;--neutral-soft:#e8ebef;--radius-xs:.5rem;--radius-sm:.625rem;--radius:.875rem;--radius-lg:1.375rem;--shadow-sm:0 1px 2px #3f351e1f;--shadow:0 14px 34px #3f351e24;--shadow-strong:0 22px 55px #3f351e2e;--sheet-stack:-.85rem -.85rem 0 0 var(--surface), -.85rem -.85rem 0 1px var(--border);--card-bg:var(--surface);--header-bg:#efe9dbe6;--button-radius:.625rem;--hatch:repeating-linear-gradient(45deg, transparent 0 14px, color-mix(in srgb, var(--accent) 3%, transparent) 14px 15px);--hatch-rust:repeating-linear-gradient(-45deg, transparent 0 14px, color-mix(in srgb, var(--secondary) 4%, transparent) 14px 15px)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);min-width:320px;color:var(--text);font-family:var(--font-body);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.65}button,input,textarea,select{color:inherit;font:inherit}button,summary,[type=radio],[type=checkbox]{cursor:pointer}button:disabled,fieldset:disabled label{cursor:not-allowed}a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:.08em}img,svg{max-width:100%;display:block}h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin-block-start:0}h1,h2,h3,h4{color:var(--text);font-family:var(--font-heading);letter-spacing:-.03em;text-wrap:balance;font-weight:820;line-height:1.12}h1{margin-block-end:1.4rem;font-size:clamp(2.35rem,5.4vw,4.6rem)}h2{margin-block-end:1.15rem;font-size:clamp(1.9rem,3.9vw,3.2rem)}h3{margin-block-end:.75rem;font-size:clamp(1.2rem,2vw,1.55rem)}h4{margin-block-end:.6rem;font-size:1.05rem}p:last-child,ul:last-child,ol:last-child{margin-block-end:0}ul,ol{margin-block-start:0}::selection{background:var(--accent);color:var(--on-accent)}.site{background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--font-body);line-height:1.55;overflow-x:clip}.shell{width:min(100% - (2 * var(--shell-gutter)), var(--shell-width));margin-inline:auto}.grid{display:grid}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.skip-link{z-index:1000;border-radius:var(--radius-xs);background:var(--text);color:var(--bg);padding:.65rem 1rem;font-weight:700;transition:transform .16s;position:fixed;inset-block-start:.75rem;inset-inline-start:.75rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible,.focus-ring:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.eyebrow{color:var(--secondary);letter-spacing:.14em;text-transform:uppercase;margin-block-end:.8rem;font-size:.72rem;font-weight:850;line-height:1.3}.card{border:1px solid var(--border);border-radius:var(--radius);background-color:var(--card-bg);background-image:var(--hatch);box-shadow:var(--shadow-sm)}.badge{border:1px solid var(--border);background:var(--surface);min-height:1.75rem;color:var(--text-soft);font-family:var(--font-body);letter-spacing:.03em;border-radius:999px;align-items:center;padding:.3rem .68rem;font-size:.74rem;font-weight:780;line-height:1.15;display:inline-flex}.button{border-radius:var(--button-radius);text-align:center;border:1px solid #0000;justify-content:center;align-items:center;min-height:3rem;padding:.72rem 1.15rem;font-weight:760;line-height:1.2;text-decoration:none;transition:transform .16s,background-color .16s,border-color .16s,box-shadow .16s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-2px)}.button:active:not(:disabled){transform:translateY(0)}.button:disabled{opacity:.48}.button--primary{background:var(--accent);color:var(--on-accent);box-shadow:0 8px 20px color-mix(in srgb, var(--accent) 24%, transparent)}.button--primary:hover:not(:disabled){background:var(--accent-strong);box-shadow:0 12px 26px color-mix(in srgb, var(--accent) 30%, transparent)}.button--secondary{border-color:var(--border);background:var(--surface);color:var(--text-soft)}.button--secondary:hover:not(:disabled){border-color:var(--accent);color:var(--text)}[data-placeholder=true]{border-style:dashed}.site-header{z-index:100;min-height:var(--header-height);border-block-end:1px solid var(--border);background:var(--header-bg);-webkit-backdrop-filter:blur(16px)saturate(140%);backdrop-filter:blur(16px)saturate(140%);position:sticky;inset-block-start:0}.site-header__inner{min-height:var(--header-height);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(1rem,2.5vw,2.5rem);display:grid}.site-header__brand,.site-footer__brand{color:var(--text);align-items:center;gap:.7rem;font-weight:800;line-height:1.1;text-decoration:none;display:inline-flex}.site-header__brand-copy{gap:.2rem;display:grid}.site-header__brand-name{font-size:.9rem}.site-header__brand-role{color:var(--text-soft);letter-spacing:.09em;text-transform:uppercase;font-size:.66rem;font-weight:750}.site-header__navigation ul{justify-content:center;align-items:center;gap:clamp(.75rem,1.6vw,1.45rem);margin:0;padding:0;list-style:none;display:flex}.site-header__nav-link{min-height:2.2rem;color:var(--text-soft);border:1px solid #0000;border-radius:999px;align-items:center;padding:.4rem .7rem;font-size:.8rem;font-weight:750;line-height:1;text-decoration:none;display:inline-flex}.site-header__nav-link:hover{border-color:var(--border);background:var(--surface);color:var(--accent)}.site-header__actions{align-items:center;gap:.9rem;display:flex}.site-header__cta{min-height:2.65rem;padding-inline:1rem;font-size:.82rem}.site-footer{border-block-start:1px solid var(--border);background-color:var(--surface);background-image:var(--hatch)}.site-footer__inner{padding-block:clamp(2.75rem,5vw,4.5rem) 1.5rem}.site-footer__topline{grid-template-columns:minmax(0,1.15fr) minmax(20rem,.85fr);gap:3rem;display:grid}.site-footer__identity{max-width:38rem}.site-footer__identity>p{color:var(--text-soft);margin-block:1rem 0}.site-footer__phone-value{color:var(--text);font-weight:750}.site-footer__bottomline a{color:var(--text-soft);font-size:.85rem}.site-footer__notices{border-block:1px solid var(--border);max-width:44rem;color:var(--text-faint);gap:1.25rem;margin-block-start:2.5rem;padding-block:1.3rem;font-size:.78rem;display:grid}.site-footer__notices p{margin:0}.site-footer__bottomline{color:var(--text-faint);gap:1rem;padding-block-start:1.3rem;font-size:.82rem;display:flex}.site-footer__bottomline p{margin:0}.section{padding-block:var(--section-space);scroll-margin-block-start:calc(var(--header-height) + 1rem);position:relative}.section-heading{max-width:49rem;margin-block-end:clamp(2rem,4vw,3.5rem)}.section-heading>p:not(.eyebrow){max-width:44rem;color:var(--text-soft);font-size:clamp(1rem,1.5vw,1.15rem)}.section-note,figcaption{color:var(--text-faint);font-size:.78rem;line-height:1.55}.section-note[role=note]{border-inline-start:2px solid var(--border-strong);max-width:52rem;margin-block:1.5rem 0;padding-inline-start:.85rem}.section-actions{flex-wrap:wrap;align-items:center;gap:1rem;margin-block-start:2rem;display:flex}.section-hero{background-color:var(--bg);background-image:var(--hatch), radial-gradient(circle at 82% 18%, var(--accent-soft), transparent 28rem), linear-gradient(155deg, var(--surface) 0%, var(--bg) 70%);padding-block:clamp(4rem,8vw,8rem);overflow:hidden}.section-hero:before{border:3px double var(--border-strong);background:repeating-conic-gradient(color-mix(in srgb, var(--accent) 9%, transparent) 0 6deg, transparent 6deg 24deg);content:"";opacity:.5;border-radius:50%;width:22rem;height:22rem;position:absolute;inset:10% auto auto -11rem}.section-hero__layout{grid-template-columns:minmax(0,1.08fr) minmax(23rem,.92fr);align-items:center;gap:clamp(2.5rem,6vw,6rem);display:grid;position:relative}.section-hero__lead{max-width:43rem;color:var(--text-soft);font-size:clamp(1.08rem,1.7vw,1.3rem)}.section-hero__actions{flex-wrap:wrap;gap:.8rem;margin-block:2rem 1.15rem;display:flex}.badge-row{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.section-hero__audience-note{color:var(--text-faint);margin-block:1rem 0;font-size:.86rem}.section-hero__price{flex-wrap:wrap;align-items:baseline;gap:.5rem;margin-block:1.25rem .4rem;display:flex}.section-hero__price-value{color:var(--secondary);font-family:var(--font-number);font-size:clamp(1.3rem,2.4vw,1.75rem);font-weight:850;line-height:1.1}.section-hero__price-unit{color:var(--text-soft);font-size:.95rem;font-weight:650}.section-hero__price-link{color:var(--accent);font-size:.9rem;font-weight:750}.section-hero__price-link:hover{color:var(--accent-strong)}.section-diagnostic,.section-method,.section-faq{background:color-mix(in srgb, var(--bg-alt) 88%, transparent)}.section-diagnostic{border-block:1px solid var(--border)}.section-faq__list{gap:.65rem;max-width:58rem;display:grid}.section-faq__item{scroll-margin-block-start:calc(var(--header-height) + 1rem);transition:border-color .16s;overflow:clip}.section-faq__item[open]{border-color:var(--accent)}.section-faq__item summary{min-height:3.7rem;color:var(--text);font-family:var(--font-heading);padding:1.15rem 3.5rem 1.15rem 1.25rem;font-size:1.05rem;font-weight:650;line-height:1.35;list-style:none;position:relative}.section-faq__item summary::-webkit-details-marker{display:none}.section-faq__item summary:before,.section-faq__item summary:after{background:var(--accent);content:"";border-radius:999px;width:1rem;height:2px;transition:transform .16s;position:absolute;inset-block-start:50%;inset-inline-end:1.25rem;transform:translateY(-50%)}.section-faq__item summary:after{transform:translateY(-50%)rotate(90deg)}.section-faq__item[open] summary:after{transform:translateY(-50%)rotate(0)}.section-faq__answer{color:var(--text-soft);padding:0 1.25rem 1.25rem}.section-faq__answer>p{margin-block-end:0}.section-faq__answer>p+p{margin-block-start:.7rem}.section-faq__points{gap:.45rem;margin-block:.8rem 0;padding-inline-start:1.1rem;display:grid}.section-faq__points+p{margin-block-start:.9rem}.section-faq__points li{padding-inline-start:.35rem}.section-faq__points li::marker{color:var(--secondary)}.section-faq__points strong{color:var(--text);font-weight:650}.section-faq__action{margin-block-start:1rem}.cookie-notice{z-index:110;padding-block:.8rem max(.8rem, env(safe-area-inset-bottom));border-block-start:1px solid var(--border-strong);background-color:var(--surface);background-image:var(--hatch);position:fixed;inset:auto 0 0;box-shadow:0 -12px 34px #3f351e2e}.cookie-notice__inner{justify-content:space-between;align-items:center;gap:1rem 2rem;display:flex}.cookie-notice__copy{max-width:58rem;color:var(--text-soft);font-size:.92rem}.cookie-notice__copy p{margin:0 0 .2rem}.cookie-notice__details--short{display:none}.cookie-notice a{color:var(--accent);font-weight:700}.cookie-notice .button{flex:none;min-height:2.65rem;padding:.6rem 1.15rem}.privacy-page{background:var(--bg);min-height:100vh}.privacy-page .section{padding-block:clamp(3rem,6vw,5rem)}.privacy-page__document{max-width:64rem}.privacy-page__back{color:var(--accent);margin-block-end:1.25rem;font-size:.86rem;font-weight:750;display:inline-block}.privacy-page__back:hover{color:var(--accent-strong)}.privacy-page .section-heading h1{max-width:50rem;font-size:clamp(2.2rem,5vw,3.75rem);line-height:1.06}.privacy-page__operator{margin-block-end:clamp(2rem,5vw,3.5rem);padding:clamp(1.25rem,3vw,2rem)}.privacy-page__operator>h2{margin-block-start:0;font-size:clamp(1.4rem,3vw,1.9rem)}.privacy-page__operator[data-placeholder=true]{border-color:var(--warning);background-color:color-mix(in srgb, var(--warning-soft) 58%, var(--surface))}.privacy-page__example-note{color:var(--text-soft);margin-block:-.35rem 1.25rem;font-size:.9rem}.privacy-page__details,.privacy-page__inline-details{gap:0;margin:0;display:grid}.privacy-page__details>div,.privacy-page__inline-details>div{border-block-start:1px solid var(--border);grid-template-columns:minmax(10rem,.35fr) minmax(0,1fr);gap:.5rem 1.25rem;padding-block:.65rem;display:grid}.privacy-page__details dt,.privacy-page__inline-details dt{color:var(--text);font-weight:750}.privacy-page__details dd,.privacy-page__inline-details dd{overflow-wrap:anywhere;color:var(--text-soft);margin:0}.privacy-page__sections{width:min(100%,58rem)}.privacy-page__section{border-block-start:1px solid var(--border);padding-block:clamp(1.5rem,3vw,2.25rem)}.privacy-page__section h2{margin-block-start:0;font-size:clamp(1.35rem,2.5vw,1.75rem)}.privacy-page__section p,.privacy-page__section li{color:var(--text-soft)}.privacy-page__section p{max-width:52rem}.privacy-page__section p:last-child,.privacy-page__section ul:last-child{margin-block-end:0}.privacy-page__section ul{padding-inline-start:1.25rem}.privacy-page__inline-details{margin-block-start:1rem}.privacy-page__links{gap:.35rem;list-style:none;display:grid}.privacy-page__links a,.privacy-page__section a,.privacy-page__details a{color:var(--accent)}.privacy-page__section li+li{margin-block-start:.45rem}.privacy-page .section-actions{max-width:58rem;margin-block-start:1.5rem}@media (max-width:1120px){.site-header__inner{gap:1rem}.site-header__brand-role{display:none}.site-header__navigation ul{justify-content:flex-start;gap:.85rem}.site-header__nav-link{font-size:.76rem}.section-hero__layout{grid-template-columns:minmax(0,1fr) minmax(21rem,.78fr);gap:2.5rem}}@media (max-width:900px){:root{--section-space:clamp(4rem, 10vw, 6rem)}.site-header__navigation{scrollbar-width:none;min-width:0;overflow-x:auto}.site-header__navigation::-webkit-scrollbar{display:none}.site-header__navigation ul{width:max-content}.site-footer__topline,.section-hero__layout{grid-template-columns:1fr}.section-hero__content{max-width:48rem}}@media (max-width:760px){:root{--header-height:4.15rem;--shell-gutter:1rem;--section-space:3.75rem}body{font-size:.98rem}h1{font-size:clamp(2.35rem,12vw,3.6rem)}h2{font-size:clamp(1.85rem,9vw,2.7rem)}.site-header__inner{grid-template-columns:minmax(0,1fr) auto}.site-header__navigation{display:none}.site-header__brand-name{text-overflow:ellipsis;white-space:nowrap;max-width:9.5rem;font-size:.78rem;display:block;overflow:hidden}.site-header__actions{min-width:0}.site-header__cta{max-width:10.5rem;min-height:2.55rem;padding-inline:.75rem;font-size:.72rem}.site-footer__topline{gap:2rem}.site-footer__bottomline{flex-direction:column}.section-heading{margin-block-end:2rem}.section-hero{padding-block:4rem}.section-actions{grid-template-columns:1fr;align-items:stretch;display:grid}.section-actions .button{width:100%}.section-hero__actions,.section-hero .badge-row{display:none}#main-content{flex-direction:column;display:flex}.section-hero{order:1}.section-about-teacher{order:2}.section-diagnostic{order:3}.section-method{order:4}.section-faq{order:5}.cookie-notice{padding-block:.55rem max(.55rem, env(safe-area-inset-bottom))}.cookie-notice__inner{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.35rem .5rem;display:grid}.cookie-notice__copy{display:contents}.cookie-notice__copy p{grid-column:1/-1;margin:0;font-size:.72rem;line-height:1.35}.cookie-notice__details{display:none}.cookie-notice__details--short{font-size:.7rem;line-height:1.3;display:inline}.cookie-notice .button{min-height:0;padding:.35rem .7rem;font-size:.75rem}.privacy-page .section{padding-block:2.75rem}.privacy-page .section-heading h1{text-wrap:pretty;font-size:1.95rem}.privacy-page__operator{padding:1.1rem}.privacy-page__details>div,.privacy-page__inline-details>div{grid-template-columns:1fr;gap:.15rem}.privacy-page .section-actions{align-items:stretch}.privacy-page .section-actions .button{width:100%}}@media (max-width:440px){.site-header__brand-name{max-width:7.5rem}.site-header__cta{max-width:9.25rem}.badge-row{grid-template-columns:1fr;display:grid}.badge-row .badge{justify-content:center}.cookie-notice__copy p{font-size:.68rem}.cookie-notice__details--short{font-size:.66rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (forced-colors:active){.card,.button,.badge,.cookie-notice,input{border:1px solid canvastext}.button--primary{color:buttontext;background:buttonface}}@media print{.site-header,.site-footer,.cookie-notice,.button{display:none!important}.section{break-inside:avoid;padding-block:2rem}.card{box-shadow:none}}
