:root,.dark{color-scheme:light;--background:#fff;--foreground:#1c3040;--card:#fff;--card-foreground:#1c3040;--popover:#fff;--popover-foreground:#1c3040;--primary:#152b3b;--primary-foreground:#fff;--secondary:#eef2f3;--secondary-foreground:#1c3040;--muted:#f6f7f5;--muted-foreground:#5e6b74;--accent:#eef2f3;--accent-foreground:#1c3040;--destructive:#a13d37;--border:#dce1e0;--input:#c6d0d3;--ring:#b09663;--radius:0.25rem}
:root{--navy:#152b3b;--navy-deep:#102330;--ink:#1c3040;--text-muted:#5e6b74;--gold:#b09663;--gold-light:#d8c49e;--paper:#f6f7f5;--line:#dce1e0;--white:#fff;--serif:'Noto Serif JP','Yu Mincho','Hiragino Mincho ProN',serif;--sans:'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.95;-webkit-font-smoothing:antialiased}body,button{font-feature-settings:'palt'}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #bc9454;outline-offset:5px}img{display:block;max-width:100%}figure,p,h1,h2,h3,h4,dl,dd{margin:0}h1,h2,h3,h4{font-weight:500}h1,h2{font-family:var(--serif);line-height:1.65;letter-spacing:.035em}h2{font-size:clamp(1.8rem,2.75vw,2.65rem)}h3{line-height:1.75}p{overflow-wrap:anywhere}::selection{background:#d6c29a;color:var(--navy)}.container{width:min(1160px,calc(100% - 112px));margin-inline:auto}.section-pad{padding-block:112px}.skip-link{position:fixed;top:12px;left:12px;transform:translateY(-200%);z-index:100;background:white;color:var(--ink);padding:12px 20px}.skip-link:focus{transform:none}.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.97);border-bottom:1px solid #e7e9e8}.header-inner{min-height:100px;max-width:1440px;padding:18px 48px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:inline-flex;flex-direction:column;align-items:flex-start;flex-shrink:0}.brand-name{font-family:var(--serif);font-size:1.72rem;letter-spacing:.09em;font-weight:600;line-height:1.45}.brand-no{font-size:.7em;margin-inline:.13em}.brand-sub{font-size:.75rem;letter-spacing:.25em;line-height:2.2;margin-top:4px}.main-nav{display:flex;align-items:center;gap:32px;font-size:.875rem;font-weight:500}.main-nav>a{position:relative;white-space:nowrap;padding:7px 0}.main-nav>a:not(.nav-cta):after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .2s}.main-nav>a:hover:after{transform:scaleX(1)}.main-nav .nav-cta{background:var(--navy);color:#fff;padding:13px 22px;display:flex;gap:22px;align-items:center;transition:background .2s}.main-nav .nav-cta:hover{background:#2d485a}.nav-cta span{color:var(--gold-light);font-size:1.2rem}.menu-toggle{display:none}.hero{background:var(--navy);color:#fff;overflow:hidden}.hero-inner{width:min(1328px,calc(100% - 112px));margin:auto;display:grid;grid-template-columns:1fr .96fr;gap:42px;align-items:center;padding:72px 0 46px}.hero-copy{padding:14px 0 0 16px}.eyebrow{font-size:.8125rem;letter-spacing:.1em;font-weight:500;color:var(--text-muted);display:flex;align-items:center;gap:14px}.eyebrow.light{color:#d7dfe2}.short-rule{width:30px;height:1px;background:var(--gold-light)}.hero h1{font-size:clamp(2.3rem,4.3vw,4rem);line-height:1.58;letter-spacing:.02em;margin:28px 0 26px;white-space:normal}.hero h1>span{color:#ead8b5}.hero-description{color:#dce3e7;line-height:2.1;font-size:1rem}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:34px;flex-wrap:wrap}.button{min-height:54px;display:inline-flex;align-items:center;justify-content:space-between;gap:38px;padding:13px 24px;font-size:.9375rem;font-weight:500;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-light{color:var(--navy);background:#fff}.button-light:hover{background:#ecefe9}.button span{font-size:1.2rem}.text-link{font-size:.875rem;display:inline-flex;align-items:center;gap:30px;border-bottom:1px solid #93a0a5;padding-bottom:5px;transition:opacity .2s}.text-link:hover{opacity:.7}.light-link{color:#e5e9ea;border-bottom-color:#637886}.hero-note{display:flex;gap:13px;align-items:center;margin-top:40px;font-size:.875rem;color:#d4dee4;line-height:1.8}.hero-note strong{font-weight:500;color:#fff}.sun-icon{font-size:1.8rem;line-height:1;color:var(--gold-light);font-family:serif}.hero-visual{position:relative;padding-top:3px;min-width:0}.hero-image-wrap{position:relative;height:560px}.hero-image-wrap:before{content:'';position:absolute;inset:18px -16px -16px 18px;border:1px solid #6c6e60;z-index:0}.hero-image-wrap img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;object-position:57% 50%}.hero-visual figcaption{padding-top:30px;display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:.8125rem;letter-spacing:.045em;color:#e6e4db}.image-note{font-size:.75rem;letter-spacing:0;color:#b5c2c9}.hero-bottom{width:min(1328px,calc(100% - 112px));margin:auto;border-top:1px solid #3a4c57;display:flex;justify-content:space-between;align-items:center;gap:24px;color:#c8d2d8;font-size:.8125rem;padding:23px 16px}.hero-bottom>a{display:flex;align-items:center;gap:24px;font-size:.75rem;letter-spacing:.15em}.hero-bottom>a span{font-size:1.3rem;color:var(--gold-light)}.section-label{display:flex;align-items:center;gap:17px;font-size:.8125rem;letter-spacing:.12em;color:var(--text-muted);margin-bottom:40px}.section-label>span{font-family:Georgia,serif;color:var(--gold);font-size:.9375rem;letter-spacing:.04em}.section-label:after{content:'';width:52px;height:1px;background:var(--line);margin-left:1px}.two-column{display:grid;grid-template-columns:1fr 1.12fr;gap:90px}.choice h2{font-size:clamp(2rem,3.2vw,3rem);line-height:1.65}.prose p+p{margin-top:21px}.prose{color:var(--text-muted);line-height:2}.prose .lead{font-size:1.03rem;font-weight:500;color:var(--ink);line-height:2.1;margin-bottom:22px}.principle-row{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:67px;padding-top:34px;border-top:1px solid var(--line)}.principle-row>div{position:relative;padding:0 29px;border-left:1px solid var(--line)}.principle-row>div:first-child{padding-left:0;border:0}.principle-row>div:last-child{padding-right:0}.principle-number{font:1rem Georgia,serif;color:var(--gold);display:block;margin-bottom:13px}.principle-row h3{font-size:1.16rem;font-family:var(--serif);margin-bottom:12px}.principle-row p{font-size:.9375rem;color:var(--text-muted);line-height:1.9}.approach{background:var(--paper)}.approach-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:72px}.small-heading{font-size:.875rem;color:var(--text-muted);margin-bottom:18px}.approach h2{font-size:clamp(1.8rem,2.7vw,2.55rem);line-height:1.85;letter-spacing:.01em}.approach h2 em{font-style:normal;position:relative;display:inline-block}.approach h2 em:after{content:'';height:2px;bottom:8px;background:var(--gold);position:absolute;left:0;right:0}.statement-rule{width:46px;height:1px;background:var(--gold);margin:31px 0}.approach-statement>p:not(.small-heading){font-size:.9375rem;color:var(--text-muted);line-height:2}.approach-statement>p+p{margin-top:18px}.method-step{display:flex;gap:24px;padding:30px 0;border-bottom:1px solid #d5dcda}.method-step:first-child{padding-top:0}.step-number{font:1.35rem Georgia,serif;color:var(--gold);padding-top:8px;flex-shrink:0}.method-step h3{font-size:1.13rem;font-weight:500;margin-bottom:12px;line-height:1.8}.method-step p{font-size:.9375rem;color:var(--text-muted);line-height:1.95}.method-note{font-size:.875rem;line-height:1.9;margin-top:25px;color:var(--text-muted);border-left:2px solid var(--gold);padding-left:18px}.teacher{background:var(--navy);color:white}.inverse{color:#c5d0d7}.inverse:after{background:#435763}.teacher-grid{display:grid;grid-template-columns:1fr 1.07fr;gap:112px}.teacher-message h2{font-size:clamp(2rem,3vw,2.85rem);line-height:1.7;margin-bottom:30px}.teacher-message>p{color:#c5d1d9;font-size:.9375rem;line-height:2.1}.teacher-profile{padding-top:8px}.profile-role{color:var(--gold-light);font-size:.875rem;letter-spacing:.025em}.teacher-name{margin:20px 0 22px;display:flex;align-items:baseline;gap:25px}.teacher-name>span:first-child{font-size:2.6rem;letter-spacing:.13em;font-family:var(--serif)}.name-reading{color:#c5d1d9;font-size:.875rem;letter-spacing:.08em}.profile-intro{font-size:.9375rem;line-height:2;color:#d4dde2}.experience-list{margin-top:29px;border-top:1px solid #405461}.experience-list>div{display:grid;grid-template-columns:73px 1fr;gap:15px;border-bottom:1px solid #405461;padding:15px 0;font-size:.875rem}.experience-list dt{color:var(--gold-light)}.experience-list dd{color:#d4dde2}.profile-closing{font-family:var(--serif);font-size:1rem;color:#f1f1e8;margin-top:29px;line-height:2}.section-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:45px}.section-heading-row>p{font-size:.9375rem;color:var(--text-muted);line-height:2;padding-bottom:7px}.support-list{border-top:1px solid var(--line)}.support-item{display:grid;grid-template-columns:.72fr 1.8fr;gap:55px;border-bottom:1px solid var(--line);padding:31px 0 32px;align-items:start}.support-category>span{font-size:.75rem;letter-spacing:.1em;color:var(--text-muted);line-height:1.6;display:block;margin:5px 0 7px}.support-category h3{font-family:var(--serif);font-size:1.3rem}.support-detail h4{font-size:1.06rem;font-weight:500;margin-bottom:7px}.support-detail>p{font-size:.9375rem;color:var(--text-muted);line-height:1.9}.daytime-panel{display:grid;grid-template-columns:1fr 1.15fr;gap:47px;background:#eef2f3;margin-top:50px;padding:35px 38px 38px;border-left:3px solid var(--gold)}.daytime-heading{display:flex;gap:24px;align-items:flex-start}.daytime-icon{color:#8c7247;font-family:serif;font-size:2.15rem;line-height:1.4}.daytime-heading h3{font-family:var(--serif);font-size:1.3rem;line-height:1.9}.daytime-panel>div:last-child p{font-size:.9375rem;color:var(--text-muted);line-height:1.95}.daytime-panel>div:last-child .daytime-emphasis{font-weight:500;color:var(--ink);margin-bottom:9px}.motivation{background:var(--paper);padding:75px 0 78px;border-top:1px solid #ebeeea;border-bottom:1px solid #ebeeea}.motivation-inner{text-align:center}.motivation .eyebrow{justify-content:center;color:#806b49;font-size:.875rem;letter-spacing:.12em}.motivation h2{font-size:clamp(1.7rem,2.7vw,2.3rem);margin:20px 0 26px}.motivation p:not(.eyebrow){font-size:.9375rem;color:var(--text-muted);line-height:2.05}.motivation p+p{margin-top:18px}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.plan-card{border:1px solid var(--line);padding:31px 30px 33px;background:#fff}.plan-frequency{font-size:1rem;line-height:1.4;display:flex;align-items:baseline;gap:5px}.plan-frequency>span{font-family:Georgia,serif;font-size:2.3rem;line-height:1;margin-inline:3px}.plan-count{font-size:.8125rem;color:var(--text-muted);margin-top:9px}.plan-price{white-space:nowrap;margin-top:29px;font-size:.9375rem;display:flex;align-items:baseline;flex-wrap:wrap;gap:5px;line-height:1.5}.plan-price>span:first-child{font-family:Georgia,serif;font-size:2.65rem;letter-spacing:-.015em;font-variant-numeric:lining-nums tabular-nums}.plan-price .per-month{font-size:.8125rem;color:var(--text-muted);margin-left:1px}.plan-rule{height:1px;background:var(--line);margin:24px 0}.plan-card h3{font-family:var(--serif);font-size:1.1rem;margin-bottom:12px}.plan-card>p:last-child{font-size:.875rem;color:var(--text-muted);line-height:1.95}.plan-featured{background:var(--navy);color:#fff;border-color:var(--navy);box-shadow:inset 0 3px 0 var(--gold)}.plan-featured .plan-count,.plan-featured .per-month{color:#b9c9d3}.plan-featured .plan-rule{background:#465c6a}.plan-featured>p:last-child{color:#d2dde3}.plan-note{color:var(--text-muted);font-size:.875rem;margin-top:22px;line-height:1.9}.area{background:#eef2f3;padding:72px 0 78px}.area-inner{display:grid;grid-template-columns:1fr 1.06fr;gap:100px}.area .eyebrow{letter-spacing:.16em;color:#766445;margin-bottom:17px;font-size:.75rem}.area h2{font-size:clamp(1.8rem,2.6vw,2.45rem);line-height:1.75}.area-content{padding-top:12px}.area-cities{font-family:var(--serif);font-size:1.45rem;line-height:2;letter-spacing:.025em}.area-cities>span:not(.area-other){color:#869399;font-size:1rem;padding-inline:12px}.area-other{font-size:.875rem;color:var(--text-muted);margin-left:20px}.area-content>p:not(.area-cities){font-size:.9375rem;line-height:2;color:var(--text-muted);margin-top:17px}.area-content .text-link{margin-top:23px}.site-footer{background:var(--navy-deep);color:#edf1f2;padding-top:50px}.footer-top{display:flex;align-items:center;gap:65px;padding-bottom:41px}.footer-brand .brand-name{font-size:1.65rem}.footer-brand .brand-sub{color:#a5b6c2}.footer-top>p{font-size:.875rem;color:#b4c3cc;line-height:2}.back-top{display:flex;align-items:center;justify-content:center;margin-left:auto;width:48px;height:48px;border:1px solid #485b66;color:var(--gold-light);transition:background .2s}.back-top:hover{background:#2b4353}.footer-bottom{border-top:1px solid #354956;padding-top:20px;padding-bottom:22px;display:flex;justify-content:space-between;align-items:center;gap:20px;color:#aebfc9;font-size:.75rem}.footer-bottom small{font-size:.75rem}.mobile-br{display:none}
@media(min-width:1500px){.hero-inner{gap:70px}.hero h1{font-size:4.1rem}.hero-image-wrap{height:590px}.hero-copy{padding-left:32px}}
@media(max-width:1150px){.header-inner{padding-inline:30px;gap:20px}.main-nav{gap:22px;font-size:.875rem}.brand-name{font-size:1.5rem}.main-nav .nav-cta{padding:12px 17px;gap:15px}.container{width:calc(100% - 80px)}.hero-inner,.hero-bottom{width:calc(100% - 80px)}.hero-inner{gap:30px;padding-top:58px}.hero-copy{padding-left:0}.hero-image-wrap{height:510px}.hero-actions{gap:22px}.hero-note{margin-top:29px}.hero-visual figcaption{align-items:flex-start;flex-direction:column;gap:4px}.two-column{gap:55px}.approach-grid{gap:50px}.teacher-grid{gap:68px}.section-pad{padding-block:88px}.plan-card{padding:27px 23px}.plan-price>span:first-child{font-size:2.25rem}.section-heading-row{gap:35px}.daytime-panel{gap:30px;padding-inline:28px}.daytime-heading{gap:15px}.daytime-heading h3{font-size:1.16rem}.area-inner{gap:60px}}
@media(max-width:900px){html{scroll-padding-top:92px}.header-inner{min-height:86px;padding:16px 28px;flex-wrap:wrap;gap:16px}.main-nav{width:100%;justify-content:space-between;gap:15px}.js .main-nav{display:none;flex-direction:column;align-items:stretch;gap:0;padding:8px 0 12px;border-top:1px solid var(--line)}.js .main-nav.is-open{display:flex}.js .main-nav>a{padding:15px 8px;white-space:normal;font-size:.9375rem}.js .main-nav .nav-cta{margin-top:10px;padding:15px 18px;justify-content:space-between}.js .menu-toggle{display:flex;align-items:center;gap:13px;background:none;border:1px solid var(--line);font-size:.8125rem;padding:9px 12px;line-height:1.5;cursor:pointer;color:var(--navy)}.menu-lines{width:19px;height:12px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;position:relative}.menu-lines:after{content:'';position:absolute;top:4px;left:0;width:19px;border-top:1px solid currentColor}.menu-toggle[aria-expanded=true] .menu-lines{border:0}.menu-toggle[aria-expanded=true] .menu-lines:before,.menu-toggle[aria-expanded=true] .menu-lines:after{content:'';position:absolute;left:0;top:5px;width:19px;height:1px;background:currentColor;transform:rotate(45deg);border:0}.menu-toggle[aria-expanded=true] .menu-lines:after{transform:rotate(-45deg)}.hero-inner{grid-template-columns:1fr .85fr;gap:32px;padding-top:43px}.hero h1{font-size:clamp(2rem,4.35vw,2.5rem)}.hero-image-wrap{height:480px}.hero-description{font-size:.9375rem}.hero-actions{gap:18px;margin-top:25px}.hero-note{font-size:.8125rem}.hero-visual figcaption{font-size:.75rem}.hero-bottom{padding-inline:0}.two-column{gap:34px}.choice h2{font-size:2.2rem}.principle-row>div{padding-inline:20px}.principle-row h3{font-size:1.05rem}.principle-row p{font-size:.875rem}.approach-grid{grid-template-columns:1fr;gap:42px}.approach-statement{display:grid;grid-template-columns:1.2fr 1fr;column-gap:45px}.approach-statement .small-heading{grid-column:1/-1}.approach h2{font-size:2rem;grid-row:2/5}.statement-rule{margin:12px 0 22px}.approach-statement>p+p{margin-top:15px}.method-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.method-step{display:block;border-top:1px solid #d5dcda;padding-top:18px;border-bottom:0;padding-bottom:0}.method-step:first-child{padding-top:18px}.step-number{display:block;margin-bottom:14px}.method-step h3{font-size:1.03rem}.method-note{grid-column:1/-1;margin-top:3px}.teacher-grid{gap:40px;grid-template-columns:1fr 1.05fr}.teacher-message h2{font-size:2rem}.teacher-name{gap:15px}.teacher-name>span:first-child{font-size:2.2rem}.name-reading{font-size:.8125rem}.section-heading-row{align-items:flex-start;gap:30px}.section-heading-row>p{max-width:44%;padding-top:6px}.support-item{grid-template-columns:.85fr 1.8fr;gap:30px}.daytime-panel{grid-template-columns:1fr;gap:20px;padding:28px 30px}.daytime-heading{align-items:center}.daytime-heading h3 br{display:none}.daytime-panel>div:last-child{padding-left:48px}.plan-grid{gap:13px}.plan-card{padding:25px 19px}.plan-price{gap:4px}.plan-price>span:first-child{font-size:1.9rem}.plan-card h3{font-size:1rem}.plan-price .per-month{display:block;width:100%;margin-top:4px}.area-inner{gap:38px;grid-template-columns:1fr 1fr}.area-cities{font-size:1.25rem}.area-cities>span:not(.area-other){padding-inline:7px}.footer-top{gap:38px}}
@media(max-width:640px){body{line-height:1.95}.container{width:calc(100% - 48px)}.section-pad{padding-block:68px}.header-inner{padding:14px 22px;min-height:79px;gap:13px}.brand-name{font-size:1.3rem;letter-spacing:.055em}.brand-sub{font-size:.75rem;letter-spacing:.18em;line-height:1.6}.js .menu-toggle{font-size:.75rem;padding:9px;gap:9px}.hero-inner{width:100%;display:flex;flex-direction:column;align-items:stretch;gap:38px;padding:46px 0 30px}.hero-copy{padding:0 26px}.hero .eyebrow{font-size:.75rem;gap:11px}.short-rule{width:24px}.hero h1{font-size:clamp(1.9rem,7.45vw,2.9rem);line-height:1.6;margin-top:24px;margin-bottom:21px;letter-spacing:.025em}.hero-description{font-size:.9375rem;line-height:2.1}.hero-actions{gap:21px;margin-top:26px;align-items:center}.button{min-height:52px;padding:12px 18px;gap:22px;font-size:.875rem}.hero-actions .text-link{font-size:.8125rem}.hero-note{margin-top:29px;font-size:.8125rem;gap:11px}.hero-note br{display:none}.hero-note p{display:flex;flex-direction:column}.hero-note .sun-icon{font-size:1.6rem}.hero-visual{margin:0 26px 0 40px;padding-top:0}.hero-image-wrap{height:300px}.hero-image-wrap:before{inset:12px -12px -12px 12px}.hero-image-wrap img{object-position:50% 55%}.hero-visual figcaption{padding-top:25px;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:5px 12px;font-size:.75rem;letter-spacing:0}.image-note{font-size:.75rem}.hero-bottom{width:calc(100% - 52px);gap:16px;padding:17px 0;color:#bacbd5;font-size:.75rem;align-items:center}.hero-bottom>span{max-width:250px}.hero-bottom>a{font-size:.75rem;gap:11px}.hero-bottom>a span{font-size:1.2rem}.section-label{font-size:.75rem;margin-bottom:28px;gap:13px}.section-label:after{width:38px}.two-column{grid-template-columns:1fr;gap:29px}.choice h2{font-size:2rem;line-height:1.7}.choice-intro h2 br:nth-child(2){display:none}.prose .lead{font-size:.96rem;margin-bottom:16px}.prose{font-size:.9375rem}.prose p+p{margin-top:17px}.principle-row{margin-top:38px;padding-top:0;grid-template-columns:1fr;border-top:1px solid var(--line)}.principle-row>div{border-left:0;border-bottom:1px solid var(--line);padding:24px 0 24px 40px;position:relative}.principle-row>div:first-child{padding:24px 0 24px 40px;border-bottom:1px solid var(--line)}.principle-row>div:last-child{padding-right:0}.principle-number{position:absolute;left:0;top:29px;font-size:.9rem}.principle-row h3{font-size:1.15rem;margin-bottom:8px}.principle-row p{font-size:.9375rem;line-height:1.9}.principle-row p br{display:none}.approach-grid{gap:37px}.approach-statement{display:block}.small-heading{font-size:.8125rem;margin-bottom:13px}.approach h2{font-size:clamp(1.65rem,7vw,2.1rem);line-height:1.8}.approach h2 em:after{bottom:5px}.statement-rule{margin:25px 0}.approach-statement>p:not(.small-heading){font-size:.9375rem}.approach-statement>p+p{margin-top:15px}.method-steps{display:block}.method-step{display:flex;gap:19px;border-top:1px solid #d5dcda;padding:23px 0}.method-step:first-child{padding-top:23px}.step-number{font-size:1.25rem;padding-top:5px;margin:0}.method-step h3{font-size:1.08rem;margin-bottom:9px}.method-step p{font-size:.9375rem}.method-note{margin-top:5px;font-size:.875rem;padding-left:15px}.teacher-grid{grid-template-columns:1fr;gap:34px}.teacher-message h2{font-size:2rem;line-height:1.65;margin-bottom:21px}.teacher-message>p{font-size:.9375rem}.teacher-profile{border-top:1px solid #4b5d69;padding-top:29px}.teacher-name{margin:16px 0 20px;gap:24px}.teacher-name>span:first-child{font-size:2.5rem}.profile-role{font-size:.8125rem}.profile-intro{font-size:.9375rem}.experience-list{margin-top:24px}.experience-list>div{grid-template-columns:65px 1fr;font-size:.875rem;gap:15px;padding:14px 0}.profile-closing{font-size:.9375rem;margin-top:24px}.section-heading-row{display:block;margin-bottom:30px}.section-heading-row h2{font-size:1.95rem;line-height:1.7}.section-heading-row>p{max-width:100%;font-size:.9375rem;padding:0;margin-top:22px}.support-item{grid-template-columns:1fr;gap:12px;padding:24px 0 26px}.support-category{display:flex;align-items:baseline;justify-content:space-between;gap:15px;flex-direction:row-reverse}.support-category>span{font-size:.75rem;margin:0;letter-spacing:.09em}.support-category h3{font-size:1.25rem}.support-detail h4{font-size:1rem;margin-bottom:6px}.support-detail>p{font-size:.9375rem}.daytime-panel{margin-top:32px;padding:25px 22px;gap:18px}.daytime-heading{gap:16px;align-items:flex-start}.daytime-heading h3{font-size:1.13rem;line-height:1.85}.daytime-heading h3 br{display:block}.daytime-icon{font-size:1.7rem;line-height:1.65}.daytime-panel>div:last-child{padding-left:0}.daytime-panel>div:last-child p{font-size:.875rem;line-height:2}.daytime-panel>div:last-child .daytime-emphasis{font-size:.9375rem}.motivation{padding-block:53px}.motivation-inner{text-align:left}.motivation .eyebrow{justify-content:flex-start;font-size:.8125rem}.motivation h2{font-size:1.8rem;margin:18px 0 24px;line-height:1.65}.motivation p:not(.eyebrow){font-size:.9375rem}.mobile-br{display:block}.desktop-br{display:none}.plan-grid{grid-template-columns:1fr;gap:20px}.plan-card{padding:28px 25px;display:grid;grid-template-columns:1fr auto;gap:0 10px}.plan-frequency{grid-column:1;grid-row:1;font-size:1rem}.plan-frequency>span{font-size:2rem}.plan-count{grid-column:1;grid-row:2;margin-top:6px}.plan-price{grid-column:2;grid-row:1/3;margin:0;justify-content:flex-end;align-content:center;gap:3px;font-size:.875rem}.plan-price>span:first-child{font-size:2.5rem}.plan-price .per-month{font-size:.75rem;text-align:right;width:100%;margin-top:0}.plan-rule{grid-column:1/-1;margin:22px 0 20px}.plan-card h3{grid-column:1/-1;font-size:1.13rem;margin-bottom:8px}.plan-card>p:last-child{grid-column:1/-1;font-size:.9375rem}.plan-note{font-size:.8125rem;line-height:1.9;margin-top:19px}.area{padding:53px 0}.area-inner{grid-template-columns:1fr;gap:25px}.area h2{font-size:1.9rem}.area .eyebrow{font-size:.75rem;margin-bottom:14px}.area-content{padding-top:0}.area-cities{font-size:1.4rem}.area-cities>span:not(.area-other){padding-inline:10px}.area-content>p:not(.area-cities){font-size:.875rem}.area-content .text-link{font-size:.8125rem}.site-footer{padding-top:36px}.footer-top{display:grid;grid-template-columns:1fr 44px;gap:25px;padding-bottom:31px}.footer-brand .brand-name{font-size:1.5rem}.footer-top>p{grid-column:1;grid-row:2;font-size:.8125rem}.back-top{grid-column:2;grid-row:1/3;width:44px;height:44px;align-self:start;margin-top:4px}.footer-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding-top:18px;padding-bottom:24px;font-size:.75rem}.footer-bottom small{font-size:.75rem}}
@media(max-width:360px){.header-inner{padding-inline:18px}.brand-name{font-size:1.2rem}.js .menu-toggle span:first-child{font-size:.75rem}.container{width:calc(100% - 40px)}.hero-copy{padding-inline:22px}.hero h1{font-size:1.85rem}.hero-visual{margin-left:28px;margin-right:22px}.hero-image-wrap{height:260px}.hero-actions{gap:16px}.button{gap:16px;padding-inline:15px}.plan-card{padding:24px 20px}.plan-price>span:first-child{font-size:2.15rem}.area-cities{font-size:1.25rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.site-header{position:static}.main-nav,.menu-toggle,.hero-actions,.hero-bottom>a,.back-top{display:none!important}.container,.hero-inner,.hero-bottom{width:100%}.section-pad{padding-block:35px}.hero{print-color-adjust:exact}.hero-image-wrap{height:320px}.plan-card,.support-item,.method-step{break-inside:avoid}.site-footer{padding-top:20px}}


.lesson-duration{display:block;margin-top:2px}.lesson-conditions{margin-top:34px;border-top:1px solid var(--line)}.lesson-conditions>div{display:grid;grid-template-columns:140px 1fr;gap:28px;padding:21px 0;border-bottom:1px solid var(--line);font-size:.9375rem;line-height:1.95}.lesson-conditions dt{font-weight:500;color:var(--ink)}.lesson-conditions dd{color:var(--text-muted)}.lesson-conditions strong{font-weight:500;color:var(--ink)}.consultation{background:var(--paper);border-top:1px solid var(--line)}.consultation-free{display:inline-block;padding:4px 19px;border:1px solid var(--gold);color:#78613a;font-size:.875rem;letter-spacing:.1em;margin-bottom:20px}.consultation-grid{align-items:center}.consultation h2{font-size:clamp(1.9rem,3vw,2.7rem)}
@media(max-width:640px){.lesson-conditions{margin-top:26px}.lesson-conditions>div{grid-template-columns:1fr;gap:7px;padding:19px 0;font-size:.9375rem}.consultation-free{margin-bottom:17px;padding:4px 16px}.consultation-grid{gap:27px}.consultation h2{font-size:1.95rem}}

.faq{border-top:1px solid var(--line)}.faq-grid{display:grid;grid-template-columns:.75fr 1.55fr;gap:60px;align-items:start}.faq h2{font-size:clamp(1.8rem,2.6vw,2.45rem)}.faq-list{min-width:0;border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-item summary{display:grid;grid-template-columns:26px 1fr 26px;align-items:start;gap:16px;list-style:none;cursor:pointer;padding:24px 0;font-size:1rem;font-weight:500;line-height:1.95}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.faq-item summary:hover{color:#80653c}.faq-q{font-family:Georgia,serif;font-size:1.2rem;font-weight:400;color:#8c7348;line-height:1.65}.faq-toggle{position:relative;display:block;width:25px;height:25px;border:1px solid #c3cdcf;border-radius:50%;margin-top:3px}.faq-toggle:before,.faq-toggle:after{content:'';position:absolute;background:currentColor;left:7px;top:11px;width:9px;height:1px}.faq-toggle:after{transform:rotate(90deg)}.faq-item[open] .faq-toggle:after{display:none}.faq-answer{padding:0 42px 25px;color:var(--text-muted);font-size:1rem;line-height:2}.faq-answer strong{font-weight:500;color:var(--ink)}
@media(max-width:900px){.faq-grid{grid-template-columns:1fr;gap:29px}}
@media(max-width:640px){.faq-grid{gap:26px}.faq h2{font-size:1.95rem}.faq-item summary{grid-template-columns:22px 1fr 24px;gap:11px;padding:22px 0;font-size:1rem}.faq-answer{padding:0 0 23px 33px;font-size:1rem;line-height:1.95}.faq-toggle{width:24px;height:24px}.faq-toggle:before,.faq-toggle:after{left:6px;top:10px}.faq-q{font-size:1.1rem}}
@media print{.faq-item{break-inside:avoid}.faq-item:not([open])>.faq-answer{display:block!important}.faq-toggle{display:none}}

.hero-portrait .hero-image-wrap{height:auto;aspect-ratio:1}.hero-portrait .hero-image-wrap img{height:auto;object-position:center}.hero-portrait figcaption{flex-direction:row;flex-wrap:wrap;align-items:flex-end;gap:18px;padding-top:30px}.hero-person{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.hero-person>span{font-size:.875rem;line-height:1.8;letter-spacing:.01em;color:#c7d4dc}.hero-person strong{font-family:var(--serif);font-weight:500;font-size:1.65rem;letter-spacing:.12em;line-height:1.6;color:#fff}.hero-profile-link{display:inline-flex;align-items:center;gap:20px;padding:7px 0;border-bottom:1px solid #71828c;font-size:.875rem;white-space:nowrap;color:#f1eee5;transition:opacity .2s}.hero-profile-link:hover{opacity:.75}.hero-profile-link>span{color:var(--gold-light);font-size:1.15rem}.profile-heading{display:flex;align-items:center;gap:24px;margin-bottom:24px}.profile-heading>div{flex:1;min-width:0}.profile-headshot{display:block;flex-shrink:0;width:112px;height:140px;object-fit:cover;object-position:50% 40%;border:1px solid #56615d}.profile-heading .teacher-name{margin:12px 0 0;flex-wrap:wrap;column-gap:18px;row-gap:2px}.profile-heading .teacher-name .name-reading{white-space:nowrap}
@media(max-width:900px){.profile-heading{gap:18px}.profile-headshot{width:88px;height:110px}}
@media(max-width:640px){.hero-portrait figcaption{padding-top:26px;gap:12px}.hero-person>span{font-size:.875rem}.hero-person strong{font-size:1.5rem}.hero-profile-link{gap:11px;font-size:.875rem}.profile-heading{gap:18px;margin-bottom:24px}.profile-heading .teacher-name{margin-top:9px;column-gap:14px}.profile-heading .teacher-name>span:first-child{font-size:2.15rem}}


.contact{background:#fff;border-top:1px solid var(--line)}.contact-grid{display:grid;grid-template-columns:.9fr 1.15fr;gap:90px;align-items:start}.contact-intro h2{font-size:clamp(1.9rem,3vw,2.7rem);margin-bottom:27px}.contact-intro p{color:var(--text-muted);font-size:1rem;line-height:2}.contact-intro p+p{margin-top:22px}.contact-intro .contact-small{font-size:.875rem;border-left:2px solid var(--gold);padding-left:18px;margin-top:32px}.contact-form{position:relative;min-width:0}.contact-field{margin-bottom:24px;min-width:0}.contact-field [data-slot=label]{font-size:.9375rem;line-height:1.8;margin-bottom:10px;gap:13px;flex-wrap:wrap;color:var(--ink)}.required-label{font-size:.75rem;line-height:1.7;color:#80633a;letter-spacing:.05em}.optional-label{font-size:.75rem;color:var(--text-muted);font-weight:400}.contact-form .contact-control{width:100%;height:auto;min-height:52px;border:1px solid #bdc9ce;background:#fff;color:var(--ink);padding:12px 15px;border-radius:2px;font-size:1rem;line-height:1.7;box-shadow:none}.contact-control::placeholder{color:#707f86}.contact-control[aria-invalid=true]{border-color:#a13d37}.contact-two{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-form .contact-message{resize:vertical;min-height:190px;field-sizing:fixed}.contact-select-menu{font-family:var(--sans);background:#fff;color:var(--ink);z-index:100}.contact-select-menu [data-slot=select-item]{font-size:1rem;line-height:1.8;padding-block:9px}.contact-form .field-hint{font-size:.8125rem;color:var(--text-muted);line-height:1.8;margin-top:6px}.contact-form .field-error{font-size:.875rem;color:#943e35;margin-top:7px;line-height:1.8}.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-privacy{font-size:.875rem;color:var(--text-muted);line-height:1.9;margin:5px 0 23px}.contact-form .contact-submit{width:100%;height:auto;min-height:56px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;border-radius:2px;padding:15px 22px;font-size:1rem;white-space:normal;line-height:1.8}.contact-submit>span{color:var(--gold-light);font-size:1.25rem}.contact-submit:hover{background:#2b485a}.contact-error{font-size:.9375rem;line-height:1.9;background:#fff4f1;border-left:3px solid #ae5546;color:#86352e;padding:14px 17px;margin-bottom:20px}.contact-success{background:#f1f4f3;border-top:3px solid var(--gold);padding:35px 32px;outline:none}.success-mark{display:block;font-size:1.8rem;color:#8b734a;margin-bottom:14px}.contact-success h3{font-family:var(--serif);font-size:1.5rem;margin-bottom:16px}.contact-success p{font-size:1rem;color:var(--text-muted);line-height:1.9}.contact-success .contact-secondary{margin-top:25px;white-space:normal;height:auto;min-height:46px;font-size:.875rem;border-radius:2px;padding:10px 16px}.owner-inbox-link{font-size:.75rem;text-decoration:underline;text-underline-offset:4px}.inbox-header{max-width:1160px;padding:30px 40px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.inbox-main{width:min(920px,calc(100% - 80px));margin:55px auto 80px}.inbox-main h1{font-size:2.2rem;margin:15px 0 20px}.inbox-intro{color:var(--text-muted);font-size:.9375rem;line-height:2;margin-bottom:35px}.inquiry-card{border:1px solid var(--line);padding:30px 34px;margin-bottom:24px;background:#fff}.inquiry-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.inquiry-heading h2{font-size:1.5rem;overflow-wrap:anywhere}.inquiry-heading h2 span{font-size:.875rem;margin-left:12px}.inquiry-heading time{color:var(--text-muted);font-size:.875rem;white-space:nowrap}.inquiry-meta{margin-top:22px}.inquiry-meta>div{display:grid;grid-template-columns:65px 1fr;gap:18px;font-size:.9375rem;padding:5px 0}.inquiry-meta dt{color:var(--text-muted)}.inquiry-meta dd{overflow-wrap:anywhere}.inquiry-message{white-space:pre-wrap;font-size:1rem;line-height:2;border-top:1px solid var(--line);padding-top:23px;margin:22px 0 24px;overflow-wrap:anywhere}.inbox-empty{background:var(--paper);border:1px solid var(--line);padding:55px 25px;border-radius:2px}.inbox-empty [data-slot=empty-description]{font-size:1rem;line-height:1.9}.inbox-notice{background:var(--paper);padding:30px;border-left:3px solid var(--gold);line-height:2}.inbox-notice .text-link{margin-top:20px}.inbox-pagination{margin-top:35px}.inbox-pagination a{font-size:.9375rem;min-height:44px}.inbox-page-number{font-size:.875rem;color:var(--text-muted);padding:10px 18px}
@media(max-width:1150px){.main-nav{gap:18px}.contact-grid{gap:55px}}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr;gap:37px}.contact-intro .contact-small{margin-top:22px}.inbox-main{width:calc(100% - 64px)}}
@media(max-width:640px){.contact-grid{gap:31px}.contact-intro h2{font-size:1.95rem;margin-bottom:22px}.contact-two{grid-template-columns:1fr;gap:0}.contact-field{margin-bottom:23px}.contact-field [data-slot=label]{font-size:.9375rem}.contact-success{padding:28px 24px}.contact-success h3{font-size:1.3rem}.inbox-header{padding:22px 24px;gap:20px}.inbox-header .brand-name{font-size:1.2rem}.inbox-header .text-link{font-size:.8125rem}.inbox-main{width:calc(100% - 48px);margin-top:35px}.inbox-main h1{font-size:1.8rem}.inquiry-card{padding:23px 21px}.inquiry-heading{display:block}.inquiry-heading time{display:block;margin-top:8px}.inquiry-meta>div{grid-template-columns:48px 1fr;gap:12px}.inquiry-message{font-size:1rem}.inbox-page-number{padding-inline:9px}.inbox-pagination a{font-size:.8125rem}}

/* The tutor's judgment, made visible through an explanation of the lesson. */
.main-nav{flex-wrap:wrap}
.hero-description{max-width:30em;font-size:1rem}
.choice-heading>p{font-family:var(--serif);font-size:1.15rem;line-height:2;margin-top:29px;color:var(--text-muted)}
.choice-subtitle{font-family:var(--serif);font-size:1.4rem;line-height:1.85;color:var(--ink);margin-bottom:22px}
.choice .prose,.principle-row p,.method-step p,.approach-statement>p:not(.small-heading),.teacher-message>p{font-size:1rem}
.teacher-message>p+p{margin-top:24px}
.belief-quote{display:block;font-family:var(--serif);font-size:1.1rem;line-height:2;color:var(--ink);margin-bottom:15px}
.approach-statement strong{font-weight:500;color:var(--ink)}
.method-step p+p{margin-top:13px}
.teacher-message .teacher-aspiration{margin-top:29px;padding-top:24px;border-top:1px solid #405461}
.teacher-aspiration>span{display:block;font-family:var(--serif);font-size:1.2rem;line-height:1.9;color:var(--gold-light);margin-bottom:15px}
.learning-gap{margin-top:60px;padding:42px 44px;background:#fff;border:1px solid var(--line);display:grid;grid-template-columns:1fr 1.05fr;gap:38px 50px;align-items:center}
.gap-explanation h3{font-family:var(--serif);font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.85;margin-bottom:22px}
.gap-explanation>p:not(.small-heading){font-size:1rem;line-height:2;color:var(--text-muted)}
.gap-explanation>p+p{margin-top:18px}
.gap-figure{min-width:0;padding-block:18px}
.gap-endpoints{display:flex;justify-content:space-between;gap:22px;font-size:.875rem;line-height:1.8;color:var(--ink)}
.gap-endpoints>span{max-width:46%}
.gap-endpoints>span:last-child{text-align:right}
.gap-diagram{display:block;width:100%;height:auto;margin:20px 0 26px;overflow:visible}
.gap-diagram path{fill:none;stroke-width:3;vector-effect:non-scaling-stroke}
.stair-foundation{stroke:var(--navy)}
.stair-discovery{stroke:#957540;stroke-dasharray:7 7}
.gap-figure figcaption{display:flex;justify-content:center;align-items:baseline;gap:12px;color:#765c32;font-size:.875rem;line-height:1.9}
.gap-legend{display:block;width:30px;flex-shrink:0;border-top:2px dashed #957540;transform:translateY(-4px)}
.teaching-example{grid-column:1/-1;display:grid;grid-template-columns:150px 1fr;gap:34px;border-top:1px solid var(--line);padding-top:29px}
.example-label{font-size:.875rem;color:var(--text-muted);line-height:1.8;padding-top:4px}
.example-label>span{display:block;color:var(--ink);margin-top:8px;font-size:1rem}
.example-question{font-family:var(--serif);font-size:1.35rem;line-height:1.9;margin-bottom:12px;color:var(--ink)}
.teaching-example>div>p:last-child{font-size:1rem;line-height:2;color:var(--text-muted)}
@media(min-width:901px) and (max-width:1200px){
  .header-inner{min-height:86px;padding:16px 30px;flex-wrap:wrap;gap:16px}
  .main-nav{width:100%;justify-content:space-between;gap:15px}
  .js .main-nav{display:none;flex-direction:column;align-items:stretch;gap:0;padding:8px 0 12px;border-top:1px solid var(--line)}
  .js .main-nav.is-open{display:flex}
  .js .main-nav>a{padding:15px 8px;white-space:normal;font-size:.9375rem}
  .js .main-nav .nav-cta{margin-top:10px;padding:15px 18px;justify-content:space-between}
  .js .menu-toggle{display:flex;align-items:center;gap:13px;background:none;border:1px solid var(--line);font-size:.8125rem;padding:9px 12px;line-height:1.5;cursor:pointer;color:var(--navy)}
  .menu-lines{width:19px;height:12px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;position:relative}
  .menu-lines:after{content:'';position:absolute;top:4px;left:0;width:19px;border-top:1px solid currentColor}
  .menu-toggle[aria-expanded=true] .menu-lines{border:0}
  .menu-toggle[aria-expanded=true] .menu-lines:before,.menu-toggle[aria-expanded=true] .menu-lines:after{content:'';position:absolute;left:0;top:5px;width:19px;height:1px;background:currentColor;transform:rotate(45deg);border:0}
  .menu-toggle[aria-expanded=true] .menu-lines:after{transform:rotate(-45deg)}
}
@media(max-width:900px){
  .learning-gap{grid-template-columns:1fr;gap:30px;padding:34px}
  .gap-explanation h3{font-size:1.75rem}
  .gap-figure{width:min(100%,520px);margin-inline:auto;padding-block:8px}
  .teaching-example{grid-template-columns:135px 1fr;gap:24px}
}
@media(max-width:640px){
  .choice h2{font-size:clamp(1.72rem,7.7vw,2rem)}
  .choice-heading>p{font-size:1.05rem;margin-top:20px}
  .choice-subtitle{font-size:1.25rem;margin-bottom:19px}
  .teacher-message>p+p{margin-top:20px}
  .learning-gap{margin-top:35px;padding:25px 22px;gap:27px}
  .gap-explanation h3{font-size:1.4rem}
  .gap-explanation h3 br{display:none}
  .gap-explanation .small-heading{font-size:.875rem}
  .gap-figure{padding-block:4px}
  .gap-endpoints{gap:18px}
  .gap-figure figcaption{gap:10px;justify-content:flex-start}
  .gap-legend{width:23px}
  .teaching-example{grid-template-columns:1fr;gap:15px;padding-top:24px}
  .example-label{display:flex;gap:17px;flex-wrap:wrap;align-items:baseline;padding:0}
  .example-label>span{margin:0;font-size:.875rem}
  .example-question{font-size:1.22rem;margin-bottom:10px}
}
@media print{.learning-gap{break-inside:avoid}}

/* A portrait of the person behind the lessons. */
.teacher-detail-link{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:54px;border:1px solid #81908d;margin-top:28px;padding:13px 20px;color:#fff;font-size:.9375rem;line-height:1.8;transition:background .2s,border-color .2s}
.teacher-detail-link>span{color:var(--gold-light);font-size:1.2rem;flex-shrink:0}
.teacher-detail-link:hover{background:#233e4f;border-color:var(--gold-light)}
.portrait-hero{padding:26px 0 90px;background:#fff}
.portrait-back{display:inline-flex;align-items:center;gap:14px;min-height:44px;font-size:.875rem;color:var(--text-muted)}
.portrait-back:hover{color:var(--ink);text-decoration:underline;text-underline-offset:5px}
.portrait-hero-grid{display:grid;grid-template-columns:1.1fr .88fr;gap:88px;align-items:center;margin-top:40px}
.portrait-page .eyebrow{font-size:.875rem}
.portrait-intro h1{font-size:clamp(2rem,3.2vw,3rem);line-height:1.8;margin:24px 0 30px;letter-spacing:.025em}
.portrait-intro>p:not(.eyebrow){font-size:1rem;line-height:2.1;color:var(--text-muted)}
.portrait-intro>p+p{margin-top:21px}
.portrait-intro .portrait-lead{color:var(--ink)}
.portrait-name{display:flex;flex-wrap:wrap;align-items:center;gap:15px 27px;border-top:1px solid var(--line);padding-top:27px;margin-top:34px}
.portrait-name>span:first-child{font-family:var(--serif);font-size:2.3rem;letter-spacing:.12em;line-height:1.6}
.portrait-name>span:last-child{font-size:.875rem;color:var(--text-muted);line-height:1.9}
.portrait-role{display:block;margin-top:4px}
.portrait-photo{min-width:0}
.portrait-photo img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 40%}
.portrait-photo figcaption{padding-top:17px;font-size:.875rem;color:var(--text-muted);line-height:1.8;border-bottom:1px solid var(--gold);padding-bottom:17px}
.portrait-activities{background:var(--paper);border-top:1px solid var(--line)}
.portrait-section-heading{display:grid;grid-template-columns:1.05fr 1fr;gap:85px;align-items:end}
.portrait-section-heading>p{font-size:1rem;color:var(--text-muted);line-height:2}
.portrait-activity-list{margin-top:54px;border-top:1px solid var(--line)}
.portrait-activity{display:grid;grid-template-columns:.85fr 1.6fr;gap:85px;padding:43px 0 45px;border-bottom:1px solid var(--line)}
.portrait-activity-title>span{display:block;color:#806538;font-size:.875rem;letter-spacing:.12em;margin-bottom:16px;line-height:1.6}
.portrait-activity-title h3{font-family:var(--serif);font-size:1.6rem;line-height:1.85}
.portrait-activity>div:last-child p{font-size:1rem;line-height:2;color:var(--text-muted)}
.portrait-activity>div:last-child .portrait-activity-role{font-weight:500;color:var(--ink);margin-bottom:18px}
.portrait-activity>div:last-child p+p{margin-top:17px}
.portrait-conviction{padding:81px 0 85px;background:var(--navy);color:#fff;text-align:center}
.portrait-conviction .eyebrow{justify-content:center;color:#c8d4dc;margin-bottom:25px}
.portrait-conviction-text{font-family:var(--serif);font-size:clamp(1.3rem,2.5vw,2rem);line-height:2;letter-spacing:.025em}
.portrait-conviction-text>span{display:block;color:var(--gold-light);margin-top:13px}
.portrait-values-grid{display:grid;grid-template-columns:.9fr 1.18fr;gap:90px;align-items:start}
.portrait-values-copy h3{font-family:var(--serif);font-size:1.4rem;line-height:1.9;margin-bottom:20px}
.portrait-values-copy p{font-size:1rem;line-height:2;color:var(--text-muted)}
.portrait-values-copy p+p{margin-top:17px}
.portrait-values-copy article+article{border-top:1px solid var(--line);margin-top:34px;padding-top:31px}
.portrait-values-copy>.text-link{margin-top:30px;font-size:.9375rem}
.portrait-contact{padding:63px 0 66px;background:#eef2f3;border-top:1px solid var(--line)}
.portrait-contact-inner{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:center}
.portrait-contact h2{font-size:clamp(1.5rem,2.5vw,2.1rem);margin:17px 0 20px}
.portrait-contact p:not(.eyebrow){font-size:1rem;line-height:2;color:var(--text-muted)}
.portrait-contact-actions{display:flex;flex-direction:column;align-items:stretch;gap:22px}
.portrait-contact-button{background:var(--navy);color:#fff;font-size:1rem;min-height:56px}
.portrait-contact-button:hover{background:#2b485a}
.portrait-contact-button>span{color:var(--gold-light)}
.portrait-contact-actions>.text-link{align-self:center;font-size:.875rem;gap:20px}
.portrait-footer .footer-bottom>a{font-size:.875rem;text-decoration:underline;text-underline-offset:5px}
@media(max-width:1150px){
  .portrait-hero-grid{gap:50px}
  .portrait-section-heading{gap:50px}
  .portrait-activity{gap:55px}
  .portrait-values-grid{gap:55px}
}
@media(max-width:900px){
  .portrait-hero{padding-bottom:65px}
  .portrait-hero-grid{gap:35px;grid-template-columns:1.05fr 1fr;margin-top:25px}
  .portrait-intro h1{font-size:2rem;margin-block:20px 24px}
  .portrait-name{gap:10px 19px;padding-top:22px;margin-top:26px}
  .portrait-name>span:first-child{font-size:2rem}
  .portrait-section-heading{grid-template-columns:1fr;gap:24px}
  .portrait-section-heading>p{max-width:40em}
  .portrait-activity{grid-template-columns:.8fr 1.4fr;gap:35px}
  .portrait-activity-title h3{font-size:1.4rem}
  .portrait-values-grid{grid-template-columns:1fr;gap:35px}
  .portrait-values-grid h2 br:last-child{display:none}
  .portrait-contact-inner{grid-template-columns:1fr;gap:30px}
  .portrait-contact-actions{align-items:flex-start}
  .portrait-contact-actions>.text-link{align-self:flex-start}
}
@media(max-width:760px){
  .portrait-hero-grid{grid-template-columns:1fr;gap:33px}
  .portrait-photo{grid-row:1;width:min(100%,410px);justify-self:center}
  .portrait-photo img{aspect-ratio:1}
  .portrait-intro h1{font-size:clamp(1.7rem,5.7vw,2.5rem)}
}
@media(max-width:640px){
  .teacher-detail-link{padding-inline:17px;gap:16px}
  .portrait-hero{padding:18px 0 58px}
  .portrait-hero-grid{margin-top:20px;gap:31px}
  .portrait-photo figcaption{font-size:.875rem;padding-block:13px}
  .portrait-intro h1{line-height:1.8;margin:18px 0 24px}
  .portrait-name>span:first-child{font-size:2rem}
  .portrait-section-heading h2{font-size:1.85rem}
  .portrait-activity-list{margin-top:33px}
  .portrait-activity{grid-template-columns:1fr;gap:22px;padding-block:29px 32px}
  .portrait-activity-title>span{margin-bottom:9px}
  .portrait-activity-title h3{font-size:1.4rem}
  .portrait-activity-title h3 br{display:none}
  .portrait-activity>div:last-child .portrait-activity-role{margin-bottom:14px}
  .portrait-conviction{padding-block:55px 58px;text-align:left}
  .portrait-conviction .eyebrow{justify-content:flex-start;margin-bottom:20px}
  .portrait-conviction-text{font-size:1.25rem;line-height:2}
  .portrait-conviction-text br{display:none}
  .portrait-conviction-text>span{margin-top:20px}
  .portrait-values-grid h2{font-size:1.9rem}
  .portrait-values-copy h3{font-size:1.25rem}
  .portrait-values-copy article+article{margin-top:29px;padding-top:27px}
  .portrait-contact{padding-block:47px 50px}
  .portrait-contact h2{font-size:1.6rem}
  .portrait-contact-actions{align-items:stretch}
  .portrait-contact-actions>.text-link{align-self:center}
}
@media print{.portrait-back,.portrait-contact-actions{display:none}.portrait-hero{padding:20px 0}.portrait-photo{max-width:300px}.portrait-conviction{print-color-adjust:exact}.portrait-activity{break-inside:avoid}}

.portrait-origin{border-top:1px solid var(--line);background:#fff}
.portrait-origin-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:85px;align-items:start}
.portrait-origin h2{font-size:clamp(1.8rem,2.7vw,2.5rem)}
.origin-setting{color:var(--text-muted);font-size:.9375rem;line-height:1.9;margin-top:24px}
.origin-story p{font-size:1rem;line-height:2.1;color:var(--text-muted)}
.origin-story>p+p{margin-top:23px}
.origin-story strong{font-weight:500;color:var(--ink)}
.origin-outcome{border-left:2px solid var(--gold);padding-left:25px;margin-top:32px}
.origin-outcome h3{font-family:var(--serif);font-size:1.35rem;line-height:1.95;margin-bottom:19px}
@media(max-width:1150px){.portrait-origin-grid{gap:50px}}
@media(max-width:900px){.portrait-origin-grid{grid-template-columns:1fr;gap:29px}.origin-setting{margin-top:18px}}
@media(max-width:640px){.portrait-origin h2{font-size:1.8rem}.origin-outcome{padding-left:19px;margin-top:27px}.origin-outcome h3{font-size:1.2rem}.origin-outcome h3 br{display:none}}

.recall-principle{display:grid;grid-template-columns:.85fr 1.2fr;gap:65px;margin-top:58px;padding-top:46px;border-top:1px solid #d5dcda;align-items:start}
.recall-heading h3{font-family:var(--serif);font-size:clamp(1.6rem,2.35vw,2rem);line-height:1.85;margin-bottom:24px}
.recall-heading>p:not(.small-heading),.recall-example>p:not(.example-label){font-size:1rem;line-height:2;color:var(--text-muted)}
.recall-heading>p+p{margin-top:20px}
.recall-heading strong{font-weight:500;color:var(--ink)}
.recall-example{min-width:0;background:#fff;padding:31px 33px 29px;border:1px solid var(--line)}
.recall-example h4{font-family:var(--serif);font-size:1.4rem;line-height:1.9;margin:12px 0 19px}
.recall-example [data-slot=table-container]{margin-top:25px}
.recall-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:1rem;line-height:1.85}
.recall-table caption{caption-side:top;text-align:left;font-size:.875rem;line-height:1.9;color:var(--text-muted);padding-bottom:13px;margin:0}
.recall-table th,.recall-table td{white-space:normal;overflow-wrap:anywhere;padding:18px 17px;vertical-align:top;height:auto;text-align:left;border-bottom:1px solid var(--line)}
.recall-table thead th{font-size:.875rem;font-weight:500;background:var(--navy);color:#fff;padding-block:12px}
.recall-table th:first-child{width:43%}
.recall-table tbody th{font-weight:500;background:#f6f7f5;color:var(--ink)}
.recall-table tbody tr:hover{background:transparent}
.recall-table td strong{font-weight:500;color:var(--ink)}
.recall-table tbody span{display:block;font-size:.875rem;font-weight:400;line-height:1.9;color:var(--text-muted);margin-top:8px}
.recall-followup{margin-top:24px}
.recall-example>p.recall-note{font-size:.875rem;line-height:1.95;border-left:2px solid var(--gold);padding-left:16px;margin-top:22px}
.recall-example>p.recall-source{font-size:.875rem;line-height:1.9;margin-top:17px}
.recall-source a{text-decoration:underline;text-underline-offset:4px}
.recall-source a:hover{color:var(--ink)}
@media(max-width:1150px){.recall-principle{gap:42px}.recall-example{padding-inline:27px}}
@media(max-width:900px){.recall-principle{grid-template-columns:1fr;gap:29px}.recall-heading h3{margin-bottom:20px}}
@media(max-width:640px){.recall-principle{margin-top:35px;padding-top:31px}.recall-heading h3{font-size:1.6rem}.recall-example{padding:24px 18px}.recall-example h4{font-size:1.25rem}.recall-example h4 br{display:none}.recall-table th,.recall-table td{padding:14px 10px}.recall-table th:first-child{width:42%}}
@media print{.recall-principle{display:block}.recall-example{margin-top:25px;break-inside:avoid}}

.support-detail p.support-after-lessons{margin-top:18px}
.support-followup-link{font-size:.9375rem;line-height:1.9;margin-top:18px;gap:18px}
.portrait-mentorship{background:var(--paper);border-top:1px solid var(--line)}
.portrait-mentorship h2{font-size:clamp(1.8rem,2.7vw,2.5rem)}
.mentorship-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.mentorship-story-copy{min-width:0}
.mentorship-story-copy h2{margin-bottom:25px}
.mentorship-photo{min-width:0}
.mentorship-photo img{width:100%;height:auto}
.mentorship-history{margin-top:45px;padding:32px 35px;background:#fff;border-top:2px solid var(--gold)}
.mentorship-history>h3{font-family:var(--serif);font-size:1.25rem;line-height:1.9;margin-bottom:27px}
.mentorship-history-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px}
.mentorship-history h4{font-size:.9375rem;font-weight:500;line-height:1.9;margin-bottom:13px}
.mentorship-history p{font-size:.9375rem;line-height:2;color:var(--text-muted)}
.mentorship-history p.mentorship-source{font-size:.8125rem;margin-top:15px;overflow-wrap:anywhere}
.mentorship-source a{text-decoration:underline;text-underline-offset:4px}
.mentorship-source a:hover{color:var(--ink)}
.mentorship-history p.mentorship-history-closing{margin-top:26px;padding-top:23px;border-top:1px solid var(--line);color:var(--ink)}
@media(max-width:900px){.mentorship-story{grid-template-columns:1fr;gap:32px}.mentorship-photo{width:min(100%,640px);justify-self:center}.mentorship-history-grid{grid-template-columns:1fr;gap:25px}.mentorship-history-grid article+article{border-top:1px solid var(--line);padding-top:24px}}
@media(max-width:640px){.portrait-mentorship h2{font-size:1.8rem}.mentorship-history{margin-top:30px;padding:24px 21px}.mentorship-history>h3{font-size:1.15rem;margin-bottom:22px}.support-followup-link{font-size:.875rem}}

.portrait-beliefs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 56px;margin-top:44px}
.portrait-values-copy.portrait-beliefs-grid>article{min-width:0;border-top:1px solid var(--line);margin:0;padding-top:28px}
.portrait-beliefs-link{margin-top:32px;font-size:.9375rem}
@media(max-width:900px){.portrait-beliefs-grid{grid-template-columns:1fr;gap:30px;margin-top:32px}}
@media(max-width:640px){.portrait-values-copy.portrait-beliefs-grid>article{padding-top:24px}.portrait-beliefs-link{font-size:.875rem;gap:18px}}

.case-preview{display:grid;grid-template-columns:1.15fr .85fr;gap:54px;align-items:center;margin-top:48px;padding:40px 42px;background:var(--navy);color:#fff}
.case-preview .case-eyebrow{font-size:.875rem;line-height:1.8;color:var(--gold-light);margin-bottom:16px}
.case-preview h3{font-family:var(--serif);font-size:clamp(1.5rem,2.2vw,1.85rem);line-height:1.85;margin-bottom:20px}
.case-preview>div>p:not(.case-eyebrow):not(.case-preview-score){font-size:1rem;line-height:2;color:#d9e2e6}
.case-preview-link{font-size:.9375rem;line-height:1.9;margin-top:24px;gap:20px}
.case-preview-result{border-left:1px solid #526471;padding-left:35px;min-width:0}
.case-preview-score{display:flex;flex-wrap:wrap;align-items:baseline;gap:16px;font-size:clamp(2rem,3.7vw,3rem);line-height:1.5;font-variant-numeric:tabular-nums;margin:8px 0}
.case-preview-score strong{font-weight:500;color:var(--gold-light)}
.case-preview-score .case-score-arrow{font-family:var(--sans);font-size:1.3rem;color:#c4cfd6}
.case-preview .case-preview-result>p.case-preview-pass{font-weight:500;color:#fff;margin-top:20px}
.case-preview .case-preview-result>p.case-preview-condition{font-size:.875rem;margin-top:14px;color:#c4cfd6}
.portrait-case{background:#fff;border-top:1px solid var(--line)}
.case-context{display:flex;flex-wrap:wrap;gap:22px 55px;border-block:1px solid var(--line);padding-block:23px;margin-top:35px}
.case-context dt{font-size:.875rem;line-height:1.9;color:var(--text-muted);margin-bottom:6px}
.case-context dd{font-size:1rem;line-height:1.9}
.case-current-plan{font-size:.875rem;line-height:1.9;color:var(--text-muted);margin-top:15px}
.case-teaching-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;margin-top:38px}
.case-teaching-grid h3{font-family:var(--serif);font-size:1.2rem;line-height:1.9;margin-bottom:18px}
.case-teaching-grid p{font-size:1rem;line-height:2;color:var(--text-muted)}
.case-teaching-grid p+p{margin-top:16px}
.case-evidence{background:var(--paper);padding:35px;margin-top:40px;border-top:2px solid var(--gold)}
.case-evidence-heading{display:flex;flex-wrap:wrap;gap:14px 25px;align-items:baseline;margin-bottom:25px}
.case-evidence-heading h3{font-family:var(--serif);font-size:1.4rem;line-height:1.9}
.case-evidence-heading p{font-size:.9375rem;line-height:1.9;color:var(--text-muted)}
.case-score-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:1rem;line-height:1.8;background:#fff}
.case-score-table th,.case-score-table td{white-space:normal;overflow-wrap:anywhere;text-align:left;padding:15px 20px;height:auto;border-bottom:1px solid var(--line)}
.case-score-table thead th{background:var(--navy);color:#fff;font-size:.875rem;font-weight:500}
.case-score-table tbody th{font-weight:500;color:var(--ink)}
.case-score-table td strong{font-weight:600;color:var(--ink)}
.case-score-table td>span{display:block;font-size:.875rem;color:var(--text-muted)}
.case-score-table caption{font-size:.875rem;line-height:1.9;text-align:left;color:var(--text-muted);padding-top:14px;margin:0}
.case-score-table tr:hover{background:transparent}
.case-proof-grid{display:grid;grid-template-columns:minmax(0,1.96fr) minmax(0,1fr);gap:26px;align-items:start;margin-top:28px}
.case-proof-grid figure{min-width:0}
.case-proof-grid a{display:block;background:#fff;border:1px solid var(--line)}
.case-proof-grid img{display:block;width:100%;height:auto}
.case-proof-grid figcaption{font-size:.875rem;line-height:1.9;color:var(--text-muted);margin-top:12px}
.case-source{font-size:.875rem;line-height:2;color:var(--text-muted);border-top:1px solid var(--line);margin-top:26px;padding-top:21px;overflow-wrap:anywhere}
.case-source a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:1000px){.case-preview{gap:32px;padding:32px}.case-preview-result{padding-left:25px}.case-teaching-grid{grid-template-columns:1fr;gap:25px}.case-teaching-grid article+article{border-top:1px solid var(--line);padding-top:24px}}
@media(max-width:760px){.case-preview{grid-template-columns:1fr;gap:27px}.case-preview-result{border-left:0;border-top:1px solid #526471;padding:24px 0 0}.case-preview-score{font-size:2.6rem}.case-proof-grid{grid-template-columns:1fr;gap:27px}.case-proof-grid figure:last-child{width:min(100%,373px);justify-self:center}}
@media(max-width:640px){.case-preview{padding:28px 23px;margin-top:32px}.case-preview h3{font-size:1.45rem}.case-preview-link{font-size:.875rem}.case-context{gap:17px 30px;margin-top:27px}.case-teaching-grid{margin-top:30px}.case-evidence{padding:25px 17px;margin-top:30px}.case-score-table th,.case-score-table td{padding:13px 9px}.case-score-table thead th{font-size:.8125rem}.case-source{padding-top:18px}.case-proof-grid{margin-top:24px}}
@media print{.case-preview{print-color-adjust:exact}.case-proof-grid figure{break-inside:avoid}}

body.kanata-site{padding:0;overflow-x:clip}body.kanata-site:before,body.kanata-site:after{display:none}body.kanata-site .site-header{margin:0}body.kanata-site #main{margin:0;padding:0;max-width:none;width:100%}body.kanata-site table{border-collapse:collapse}body.kanata-site .site-header a,body.kanata-site .site-footer a{text-decoration:none}.kanata-site.admin-bar .site-header{top:32px}.contact-control{font:inherit}.contact-select-native{appearance:auto}.kanata-site .contact-submit{border:0;cursor:pointer}.kanata-site .contact-submit:disabled{opacity:.65;cursor:wait}.kanata-site .contact-success[hidden],.kanata-site .contact-form[hidden],.kanata-site .contact-error[hidden]{display:none}@media(max-width:782px){.kanata-site.admin-bar .site-header{top:46px}}

/* Pressure and cap comparison: key labels remain HTML for small screens. */
.pressure-comparison{margin:28px 0 30px;padding-top:23px;border-top:1px solid var(--line)}
.pressure-comparison>figcaption{font-family:var(--serif);font-size:1.1rem;font-weight:500;line-height:1.8;color:var(--ink)}
.pressure-orientation{font-size:.75rem!important;line-height:1.8!important;color:var(--text-muted);margin:10px 0 18px}
.pressure-cards{display:grid;gap:17px}
.pressure-card{border:1px solid #d7e2e7;background:#f5f9fb;overflow:hidden;break-inside:avoid}
.pressure-high{border-color:#e5ddcf;background:#fbf8f2}
.pressure-card h5{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin:0;padding:12px;font-size:.9375rem;font-weight:500;line-height:1.65;border-bottom:1px solid #d7e2e7}
.pressure-high h5{border-color:#e5ddcf}
.pressure-card h5 strong{color:#356b86;font-weight:600}.pressure-high h5 strong{color:#94692d}
.pressure-connect{color:#8c9aa1}
.pressure-panel-grid{display:grid;grid-template-columns:1fr 1fr;padding:16px 10px;gap:10px}
.pressure-panel{min-width:0;text-align:center}
.pressure-panel+.pressure-panel{border-left:1px solid #dce1e0;padding-left:10px}
.pressure-panel-name{font-size:.8125rem;line-height:1.65;color:var(--text-muted)}
.pressure-panel svg{display:block;width:100%;max-width:180px;height:auto;margin:5px auto 0}
.pressure-result{font-size:.9375rem;font-weight:600;line-height:1.65;color:#356b86;margin-top:6px}
.pressure-high .pressure-result{color:#94692d}
.pressure-result span{display:block;font-size:.8125rem;line-height:1.8;font-weight:500}
.pressure-explanation{font-size:.875rem;line-height:1.9;color:var(--ink);margin:18px 0 10px}
.pressure-footnote{font-size:.75rem;line-height:1.9;color:var(--text-muted)}
.area-cities .area-localities{font-size:.62em;letter-spacing:0;margin-left:.1em;white-space:nowrap}
@media(max-width:640px){.pressure-panel-grid{gap:7px;padding:13px 7px}.pressure-panel+.pressure-panel{padding-left:7px}.pressure-panel-name{font-size:.75rem}.pressure-card h5{font-size:.875rem;gap:9px}.pressure-result{font-size:.875rem}}
