:root{--forest:#183e31;--ink:#153b2e;--muted:#5f6d64;--gold:#b38a40;--gold-light:#e3c88d;--cream:#faf8f2;--sage:#ecf0e8;--line:#dce1d7;--white:#fff;--radius:5px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:118px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.1}p+p{margin-top:20px}h1{font-size:clamp(3.6rem,6.7vw,6.25rem);font-weight:600;letter-spacing:-.065em;line-height:1.02}h2{font-size:clamp(2.2rem,3.6vw,3.55rem);font-weight:500;letter-spacing:-.045em;line-height:1.13}h3{font-size:1.55rem;font-weight:600;letter-spacing:-.035em}h1 em,h2 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.05em;color:var(--gold)}.container{width:min(1200px,calc(100% - 96px));margin-inline:auto}.section{padding-block:108px}.eyebrow{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:#777443;line-height:1.6;margin-bottom:22px}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;padding:16px 24px;min-height:54px;background:var(--forest);color:white;border:1px solid var(--forest);border-radius:var(--radius);font-size:.9rem;font-weight:600;line-height:1.4;transition:background .2s,transform .2s}.button:hover{background:#285c48;transform:translateY(-2px)}.button span,.text-link span{font-size:1.2em}.text-link{display:inline-flex;align-items:center;gap:16px;font-size:.9rem;font-weight:600;border-bottom:1px solid #c7caba;padding-bottom:5px}.text-link:hover{border-color:var(--gold);color:#87611e}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #ac842e;outline-offset:5px}.skip-link{position:fixed;top:-100px;left:20px;z-index:30;background:white;padding:15px}.skip-link:focus{top:10px}.header{position:sticky;top:0;z-index:10;background:rgba(250,248,242,.97);border-bottom:1px solid #e6e6dc}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:104px}.brand{display:block;width:220px;flex-shrink:0}.brand img{width:100%;height:auto}.header nav{display:flex;align-items:center;gap:28px;font-size:.82rem}.header nav>a:not(.button):hover{color:#866522}.button-small{font-size:.76rem;min-height:43px;padding:12px 17px;gap:15px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.04fr 1fr;gap:62px;align-items:center;padding-top:60px;padding-bottom:70px}.hero .eyebrow{display:flex;align-items:center;gap:12px}.tiny-line{display:inline-block;width:28px;height:1px;background:var(--gold);flex-shrink:0}.hero-intro{margin-top:30px;font-size:1.12rem;line-height:1.55;max-width:455px}.hero-description{font-size:.95rem;line-height:1.8;color:var(--muted);max-width:450px;margin-top:17px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:30px}.hero-notes{display:flex;flex-wrap:wrap;gap:10px 24px;font-size:.7rem;color:var(--muted);margin-top:28px}.hero-notes span:before{content:'✓';color:var(--gold);margin-right:7px}.hero-visual{padding-top:8px;position:relative}.photo-frame{position:relative;border-radius:130px 10px 10px 10px;overflow:hidden;aspect-ratio:1/1.06}.hero-portrait{width:100%;height:100%;object-fit:cover;object-position:center}.portrait-caption{display:flex;align-items:center;justify-content:space-between;border-left:2px solid var(--gold);padding:5px 22px;margin-top:20px}.caption-label{display:block;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}.portrait-caption strong{font-size:.93rem;font-weight:600}.signature-mark{font-family:Georgia,serif;font-style:italic;font-size:2.5rem;line-height:1;color:var(--gold)}.promise-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f1f0e7}.strip-inner{display:flex;justify-content:space-between;gap:20px;padding-block:21px;font-size:.73rem;letter-spacing:.015em}.strip-inner span:before{content:'✦';font-size:.8rem;color:var(--gold);margin-right:12px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:52px}.section-heading>p{max-width:335px;font-size:.95rem;color:var(--muted);padding-bottom:3px}.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}.service{border-top:1px solid #bdb59d;padding-top:24px;display:flex;flex-direction:column}.service-number{font-size:.61rem;letter-spacing:.15em;color:#83764b;font-weight:600}.service h3{font-size:1.9rem;line-height:1.2;margin:24px 0 18px}.service p,.service li{font-size:.87rem;color:var(--muted)}.service ul{list-style:none;padding:19px 0 23px;margin:0}.service li{position:relative;padding-left:17px;margin-bottom:8px;font-size:.8rem}.service li:before{content:'—';position:absolute;left:0;color:var(--gold)}.service-link{margin-top:auto;align-self:flex-start;font-size:.78rem}.subjects-section{padding-block:76px;background:var(--sage)}.subjects-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:90px}.subjects-layout>div>p:not(.eyebrow){font-size:.9rem;color:var(--muted);max-width:340px;margin-top:24px}.subject-group+.subject-group{margin-top:25px}.subject-group h3{font-size:.7rem;letter-spacing:.05em;margin-bottom:13px}.subject-tags{display:flex;flex-wrap:wrap;gap:8px}.subject-tags span{display:inline-block;background:#fafbf7;border:1px solid #d7ddd1;border-radius:3px;font-size:.87rem;padding:7px 16px}.subject-tags .gold-tag{background:#e6d5ae;border-color:#d3bb89;color:#3d3826;font-weight:600}.subject-note{font-size:.74rem;color:var(--muted);padding-top:20px}.practice-section{background:var(--forest);color:#fcfbf5;padding-block:108px}.practice-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:95px;align-items:center}.practice-images{position:relative;padding-bottom:43px;padding-right:60px}.workshop-photo{height:365px;width:100%;object-fit:cover;border-radius:3px}.practice-photo-small{position:absolute;bottom:0;right:0;width:165px;height:237px;border:7px solid var(--forest);border-radius:5px;overflow:hidden}.practice-photo-small img{width:100%;height:100%;object-fit:cover;object-position:center 33%}.image-note{font-size:.63rem;color:#c3cdbd;display:block;margin-top:13px;padding-right:90px}.practice-copy .eyebrow,.contact-copy .eyebrow{color:#d9bb77}.practice-copy h2 em,.contact-copy h2 em{color:var(--gold-light)}.practice-copy p:not(.eyebrow){font-size:.91rem;color:#d6dfd4;margin-top:24px}.light-link{color:#f0d8a7;border-bottom-color:#627564;margin-top:28px;font-size:.83rem}.light-link:hover{color:white}.about-layout{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:108px}.about-photo{position:relative}.about-photo img{width:100%;max-height:460px;object-fit:cover;object-position:center top;border-radius:5px 80px 5px 5px}.about-photo span{display:block;margin-top:12px;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.about-copy p:not(.eyebrow){color:var(--muted);font-size:.9rem;max-width:490px}.about-copy .large-copy{font-size:1.1rem!important;color:var(--ink)!important;margin-top:24px;line-height:1.55}.about-copy .text-link{margin-top:26px;font-size:.8rem}.working-section{padding:72px 0;background:#f0eee5;border-block:1px solid #e5e2d7}.working-section h2{font-size:2.65rem}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:52px;padding:0;margin:0;list-style:none}.steps li>span{display:block;font-family:Georgia,serif;font-size:2rem;color:#b49354;border-bottom:1px solid #d7d5c6;padding-bottom:13px;margin-bottom:20px}.steps h3{font-size:1.08rem;line-height:1.4;margin-bottom:12px}.steps p{color:var(--muted);font-size:.85rem}.price-layout{display:grid;grid-template-columns:1fr 1fr;gap:120px;align-items:center}.price-copy>p:not(.eyebrow){margin-top:24px;max-width:370px;font-size:.95rem;color:var(--muted)}.price-copy .muted{font-size:.75rem!important}.price-card{background:white;border:1px solid #d9d9cd;border-top:3px solid var(--gold);padding:37px 39px;border-radius:5px;box-shadow:0 14px 40px #253d2310}.price-label{font-size:.63rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.price{font-size:4.6rem;line-height:1.1;letter-spacing:-.055em;margin-top:22px}.price span{font-size:1rem;letter-spacing:0;font-weight:400;margin-left:13px;color:var(--muted)}.price-detail{font-size:.75rem;color:var(--muted);margin-top:10px}.price-card ul{list-style:none;margin:24px 0;padding:20px 0 0;border-top:1px solid var(--line)}.price-card li{font-size:.8rem;line-height:1.6;padding-left:22px;position:relative;margin-bottom:12px}.price-card li:before{content:'✓';position:absolute;left:0;color:#937032}.price-card .button{width:100%;font-size:.82rem}.price-footnote{font-size:.6rem;color:var(--muted);text-align:center;margin-top:15px}.faq-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;padding-bottom:105px}.faq-section h2{font-size:2.55rem}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:18px;cursor:pointer;list-style:none;font-size:.88rem;font-weight:600;padding:20px 0}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:1.25rem;font-weight:400;color:#9d7730}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{font-size:.85rem;color:var(--muted);padding:0 28px 24px 0}.contact-section{background:var(--forest);color:white;padding-block:92px}.contact-layout{display:grid;grid-template-columns:1fr 1.08fr;gap:90px;align-items:start}.contact-copy{padding-top:17px}.contact-copy>p:not(.eyebrow){font-size:.92rem;color:#d6dfd4;max-width:350px;margin-top:28px}.direct-contact{margin-top:40px;display:flex;flex-direction:column;gap:25px}.direct-contact a{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.direct-contact a span{font-size:.61rem;text-transform:uppercase;letter-spacing:.15em;color:#b9c8bb}.direct-contact a strong{font-size:1.2rem;letter-spacing:-.02em;font-weight:500;overflow-wrap:anywhere}.direct-contact a:hover strong{color:var(--gold-light)}.contact-copy .contact-person{font-size:.72rem!important;max-width:270px!important;margin-top:37px!important}.request-form{background:var(--cream);color:var(--ink);padding:34px;border-radius:5px}.request-form h3{font-size:1.4rem}.form-intro{font-size:.78rem;color:var(--muted);margin-top:12px;margin-bottom:25px}.request-form label{display:flex;flex-direction:column;gap:7px;font-size:.73rem;font-weight:600;margin-bottom:16px;min-width:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}input,select,textarea{min-width:0;width:100%;background:white;border:1px solid #d0d6ca;border-radius:3px;padding:11px 12px;font-size:.8rem;color:var(--ink);font-weight:400;line-height:1.5}input::placeholder,textarea::placeholder{color:#757b72;font-size:.75rem;opacity:1}textarea{resize:vertical;min-height:110px}select{padding-right:24px}input[type=date]{min-height:44px}.request-form>.button{width:100%;font-size:.8rem}.form-note{font-size:.64rem;color:var(--muted);margin-top:12px}.form-result{margin-top:20px;border-top:1px solid var(--line);padding-top:16px}.form-result p{font-size:.77rem}.copy-button{background:transparent;color:var(--ink);border:0;border-bottom:1px solid var(--gold);padding:4px 0;margin-top:10px;font-size:.72rem}#request-copy{margin-top:15px}.footer{padding:30px 0;background:#f0eee5}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:35px}.footer-brand{width:190px}.footer p{font-size:.77rem;line-height:1.8}.footer p span{color:var(--muted);font-size:.66rem}.footer-inner>a:last-child{font-size:.75rem}[hidden]{display:none!important}@media(min-width:1500px){.container{width:min(1280px,calc(100% - 120px))}.hero{gap:95px;padding-block:80px}.hero-visual{max-width:545px}}@media(max-width:1100px){.container{width:calc(100% - 64px)}.header-inner{min-height:90px}.header nav{gap:18px}.brand{width:195px}.header nav .button{font-size:.65rem;padding:11px 12px}.hero{gap:35px}.hero-actions{gap:18px}.hero-actions .button{font-size:.8rem;padding:15px 18px}.hero-actions .text-link{font-size:.75rem}.subjects-layout,.practice-layout{gap:50px}.about-layout{gap:70px}.price-layout{gap:65px}.contact-layout{gap:50px}.faq-section{gap:60px}.request-form{padding:26px}.services{gap:24px}.service h3{font-size:1.7rem}}@media(max-width:850px){html{scroll-padding-top:88px}.header-inner{min-height:82px}.brand{width:185px}.menu-toggle{display:flex;align-items:center;gap:15px;border:1px solid var(--line);border-radius:3px;background:transparent;font-size:.8rem;padding:8px 12px;color:var(--forest)}.header nav{display:none;position:absolute;top:81px;left:0;right:0;background:var(--cream);padding:22px 32px;border-bottom:1px solid var(--line);align-items:stretch;flex-direction:column;gap:18px}.header nav.is-open{display:flex}.header nav .button{font-size:.8rem;align-self:flex-start}.hero{padding-top:40px;padding-bottom:45px;gap:28px}h1{font-size:clamp(3rem,7.4vw,4rem)}.hero .eyebrow{font-size:.52rem;gap:7px;letter-spacing:.1em}.tiny-line{width:18px}.hero-intro{font-size:.95rem;margin-top:23px}.hero-description{font-size:.82rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:17px;margin-top:22px}.hero-notes{font-size:.62rem;margin-top:22px;gap:6px}.hero-visual{align-self:start;padding-top:12px}.photo-frame{border-top-left-radius:90px;aspect-ratio:1/1.23}.portrait-caption{padding-inline:12px;margin-top:14px}.portrait-caption strong{font-size:.75rem}.caption-label{font-size:.52rem}.signature-mark{font-size:2rem}.strip-inner{font-size:.62rem;gap:12px}.strip-inner span:before{margin-right:6px}.section{padding-block:75px}.section-heading{gap:35px;margin-bottom:40px}.section-heading>p{max-width:260px;font-size:.84rem}.services{gap:23px}.service h3{font-size:1.4rem}.service p{font-size:.8rem}.service li{font-size:.72rem}.service-link{font-size:.68rem}.service-number{font-size:.52rem}.subjects-layout{gap:35px;grid-template-columns:1fr 1fr}.subject-tags span{font-size:.78rem;padding:7px 12px}.practice-layout{gap:40px;grid-template-columns:1fr 1fr}.practice-section{padding-block:75px}.practice-images{padding-right:34px}.workshop-photo{height:310px}.practice-photo-small{width:120px;height:190px}.image-note{font-size:.53rem;padding-right:60px}.practice-copy p:not(.eyebrow){font-size:.81rem}.about-layout{gap:45px;grid-template-columns:.8fr 1fr}.about-photo img{height:400px}.about-copy p:not(.eyebrow){font-size:.8rem}.about-copy .large-copy{font-size:.96rem!important}.steps{gap:28px}.steps h3{font-size:.96rem}.steps p{font-size:.8rem}.working-section h2{font-size:2.2rem}.price-layout{gap:38px}.price-card{padding:27px}.price{font-size:3.9rem}.price-card .button{font-size:.73rem;padding-inline:15px}.price-footnote{font-size:.54rem}.faq-section{gap:35px}.faq-section h2{font-size:2.1rem}.faq-list summary{font-size:.79rem}.contact-layout{grid-template-columns:1fr;gap:40px}.contact-copy>p:not(.eyebrow){max-width:500px}.direct-contact{flex-direction:row;gap:60px;margin-top:25px}.contact-copy .contact-person{max-width:none!important;margin-top:20px!important}.request-form{padding:35px}.footer-brand{width:160px}.footer-inner{gap:20px}.footer p{font-size:.67rem}.footer p span{font-size:.61rem}}@media(max-width:600px){.container{width:calc(100% - 40px)}.header-inner{min-height:78px}.header nav{top:77px;padding-inline:20px}.brand{width:177px}.hero{grid-template-columns:1fr;gap:35px;padding-top:32px;padding-bottom:40px}.hero .eyebrow{font-size:.57rem;margin-bottom:21px;letter-spacing:.12em}h1{font-size:clamp(3.85rem,13.7vw,5.2rem)}h2{font-size:2.25rem}.hero-intro{font-size:1.05rem;max-width:380px}.hero-description{font-size:.88rem;max-width:380px}.hero-actions{flex-direction:row;align-items:center;gap:20px;margin-top:25px}.hero-actions .button{padding:15px 17px;font-size:.78rem}.hero-actions .text-link{font-size:.7rem}.hero-notes{gap:14px;font-size:.62rem}.hero-visual{padding-top:0}.photo-frame{aspect-ratio:1.14;border-radius:80px 5px 5px 5px}.hero-portrait{object-position:50% 40%}.portrait-caption strong{font-size:.86rem}.caption-label{font-size:.6rem}.strip-inner{display:grid;grid-template-columns:1fr;gap:7px;padding-block:18px;font-size:.71rem}.strip-inner span:before{margin-right:12px}.section{padding-block:60px}.eyebrow{font-size:.6rem;margin-bottom:15px}.section-heading{display:block;margin-bottom:32px}.section-heading>p{max-width:340px;margin-top:20px;font-size:.85rem}.services{grid-template-columns:1fr;gap:35px}.service{padding-top:20px}.service h3{font-size:1.6rem;margin:17px 0 14px}.service h3 br{display:none}.service h3 br:after{content:' '}.service p{font-size:.88rem}.service li{font-size:.79rem}.service-number{font-size:.58rem}.service ul{padding-block:16px}.service-link{font-size:.78rem}.subjects-section{padding-block:55px}.subjects-layout{grid-template-columns:1fr;gap:30px}.subjects-layout>div>p:not(.eyebrow){margin-top:20px;font-size:.87rem;max-width:400px}.subject-group h3{font-size:.7rem}.subject-tags span{font-size:.82rem}.subject-note{font-size:.68rem}.practice-section{padding-block:55px}.practice-layout{grid-template-columns:1fr;gap:30px}.practice-images{padding-right:45px;padding-bottom:40px}.workshop-photo{height:290px}.practice-photo-small{width:135px;height:210px}.image-note{font-size:.57rem;padding-right:65px}.practice-copy p:not(.eyebrow){font-size:.87rem;margin-top:20px}.about-layout{grid-template-columns:1fr;gap:34px}.about-photo{width:76%;max-width:300px}.about-photo img{height:340px;object-position:center top}.about-photo span{font-size:.6rem}.about-copy .large-copy{font-size:1rem!important;margin-top:20px}.about-copy p:not(.eyebrow){font-size:.87rem}.working-section{padding-block:50px}.working-section h2{font-size:2.15rem}.steps{grid-template-columns:1fr;gap:25px}.steps li{display:grid;grid-template-columns:45px 1fr;column-gap:18px}.steps li>span{grid-row:1/3;border:0;margin:0;padding:0;font-size:1.8rem}.steps h3{font-size:1.02rem;margin-bottom:8px}.steps p{font-size:.85rem}.price-layout{grid-template-columns:1fr;gap:30px}.price-copy>p:not(.eyebrow){margin-top:20px;font-size:.88rem;max-width:none}.price-card{padding:28px}.price-label{font-size:.6rem}.price{font-size:4.2rem}.price-card .button{font-size:.8rem}.price-footnote{font-size:.6rem}.faq-section{grid-template-columns:1fr;gap:30px;padding-bottom:60px}.faq-section h2{font-size:2.1rem}.faq-list summary{font-size:.85rem;padding-block:18px}.faq-list details p{font-size:.82rem;padding-right:12px}.contact-section{padding-block:55px}.contact-layout{gap:32px}.contact-copy{padding-top:0}.contact-copy>p:not(.eyebrow){font-size:.88rem;margin-top:20px}.direct-contact{flex-direction:column;gap:20px}.direct-contact a strong{font-size:1.12rem}.request-form{padding:24px 20px}.request-form h3{font-size:1.25rem}.form-intro{font-size:.74rem}.form-row{grid-template-columns:1fr;gap:0}input,select,textarea{font-size:1rem}.request-form label{font-size:.72rem}.footer{padding-block:24px}.footer-inner{display:grid;grid-template-columns:1fr auto;gap:20px}.footer-brand{width:168px;grid-column:1/-1}.footer p{font-size:.72rem}.footer-inner>a:last-child{font-size:.7rem;align-self:start;padding-top:2px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Schools and adult education */
.experience-section{padding-bottom:100px}
.experience-heading{max-width:680px;margin-bottom:34px}
.experience-heading>p:not(.eyebrow){margin-top:20px;color:var(--muted);font-size:.92rem;max-width:570px}
.school-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:40px}
.school-list li{display:flex;flex-direction:column;justify-content:center;min-height:104px;padding:22px 0;border-top:1px solid var(--line)}
.school-list li>span{font-size:1.1rem;line-height:1.45;font-weight:600;letter-spacing:-.02em}
.school-list small{display:block;font-size:.76rem;color:var(--muted);margin-top:4px}
.adult-education{display:grid;grid-template-columns:270px 1fr;align-items:center;gap:50px;background:#f0e7d2;border-left:3px solid var(--gold);padding:30px 36px;margin-top:30px;border-radius:0 5px 5px 0}
.adult-years strong{display:block;font-size:3.8rem;line-height:1;letter-spacing:-.06em;color:#85641f;font-weight:500}
.adult-years span{display:block;font-size:.68rem;letter-spacing:.04em;margin-top:12px;color:#655733}
.adult-copy h3{font-size:1.25rem}
.adult-copy p{margin-top:12px;font-size:.89rem;max-width:560px;color:#525d50}
@media(max-width:850px){.experience-section{padding-bottom:75px}.school-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}.school-list li>span{font-size:1rem}.adult-education{grid-template-columns:220px 1fr;gap:30px;padding:28px}.adult-copy p{font-size:.82rem}}
@media(max-width:600px){.experience-section{padding-bottom:60px}.experience-heading>p:not(.eyebrow){font-size:.87rem}.school-list{grid-template-columns:1fr}.school-list li{min-height:78px;padding-block:18px}.school-list li>span{font-size:1.03rem}.adult-education{grid-template-columns:1fr;gap:23px;padding:26px 23px;margin-top:23px}.adult-years strong{font-size:3.3rem}.adult-copy p{font-size:.85rem}}

/* School situations, request overview and teaching examples */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hero{gap:50px;align-items:center}
.hero-choice-label{margin-top:27px;font-size:.77rem;font-weight:600}
.hero-scenarios{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:12px}
.hero-scenarios button{display:flex;justify-content:space-between;align-items:center;gap:5px;min-height:72px;text-align:left;padding:13px 11px;background:transparent;border:1px solid #c9cbbb;border-radius:4px;color:var(--ink);font-size:.74rem;line-height:1.45}
.hero-scenarios button>span:last-child{color:#8a6627;font-size:1rem}
.hero-scenarios button:hover,.hero-scenarios button[aria-pressed=true]{background:#f0e7d2;border-color:#ad863e}
.hero-actions{gap:22px}.hero-actions .text-link{font-size:.78rem}.hero-actions .button{font-size:.82rem;gap:24px}
.proof-schools{display:flex;justify-content:space-between;align-items:center;gap:36px;padding-block:21px;border-bottom:1px solid var(--line);font-size:.76rem;color:var(--muted)}
.proof-schools p{max-width:750px}.proof-schools strong{font-weight:500;color:var(--ink)}
.proof-schools a{flex-shrink:0;border-bottom:1px solid #c8b88f;font-size:.72rem;color:var(--ink)}
.schoolday-section{padding-block:90px}
.scenario-switch,.lesson-selector{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:25px}
.scenario-switch button,.lesson-selector button{min-height:46px;padding:11px 20px;border:1px solid #c5cabb;background:transparent;border-radius:4px;color:var(--ink);font-size:.83rem;line-height:1.4}
.scenario-switch button[aria-pressed=true],.lesson-selector button[aria-pressed=true]{border-color:var(--forest);background:var(--forest);color:#fff}
.scenario-switch button:hover,.lesson-selector button:hover{border-color:#8a6627;box-shadow:inset 0 0 0 1px #8a6627}
.scenario-description{display:grid;grid-template-columns:1fr .8fr;gap:80px;margin-top:32px;margin-bottom:32px;align-items:start;min-height:142px}
.scenario-description h3{font-size:1.65rem;margin-bottom:17px;letter-spacing:-.035em}
.scenario-description p{font-size:.9rem;color:var(--muted)}
.school-provides{border-left:2px solid var(--gold);padding-left:24px}
.school-provides>span{font-size:.72rem;font-weight:600;display:block;margin-bottom:12px}
.school-provides p{font-size:.83rem}
.request-disclosure{border:1px solid #bec5b4;border-radius:5px;background:white;overflow:clip}
.request-disclosure>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:15px;list-style:none;padding:23px 28px;color:var(--ink);font-size:.95rem;font-weight:600;background:#f0eee5}
.request-disclosure>summary::-webkit-details-marker{display:none}
.request-disclosure>summary>span:last-child{font-size:1.5rem;font-weight:400;color:#8a6627;line-height:1}
.request-disclosure[open]>summary{border-bottom:1px solid var(--line)}
.request-disclosure[open]>summary>span:last-child{transform:rotate(45deg)}
.request-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:36px;padding:32px}
.planner-form{padding:0;background:transparent;min-width:0}
.form-step-label{color:#7b612d;font-weight:600;font-size:.66rem;letter-spacing:.07em;margin-bottom:13px}
.planner-form h3{margin-bottom:27px;font-size:1.4rem;line-height:1.3}
.planner-form label{font-size:.77rem;margin-bottom:19px}
.planner-form input,.planner-form select,.planner-form textarea{font-size:1rem;min-height:46px}
.planner-form input::placeholder,.planner-form textarea::placeholder{font-size:.85rem}
.planner-form .button{width:100%;font-size:.83rem;gap:14px}
.planner-form .form-note{font-size:.73rem;line-height:1.65;margin-top:14px}
.planner-form .form-note a{text-decoration:underline;text-underline-offset:3px}
.back-button{min-height:44px;background:none;border:0;padding:8px 0;color:var(--ink);font-size:.8rem;text-decoration:underline;text-underline-offset:4px;margin-top:7px}
.day-overview{align-self:start;border:1px solid #dedbc9;border-top:3px solid var(--gold);padding:28px;background:#f6f3e9;border-radius:4px;min-width:0}
.day-overview .eyebrow{font-size:.6rem;margin-bottom:12px;color:#7b612d}
.day-overview h3{font-size:1.4rem;line-height:1.3}
.day-overview dl{margin:20px 0 0}.day-overview dl>div{padding-block:12px;border-top:1px solid #dfdccd}
.day-overview dt{font-size:.63rem;letter-spacing:.03em;color:#686e5d;margin-bottom:4px}
.day-overview dd{margin:0;font-size:.82rem;line-height:1.5;overflow-wrap:anywhere;white-space:pre-line}
.overview-note{margin-top:19px;font-size:.73rem;color:#5a624f;border-top:1px solid #cfc7ae;padding-top:17px}
.draft-link,.copy-button{display:block;width:fit-content;font-size:.77rem;line-height:1.5;text-decoration:underline;text-underline-offset:4px;min-height:44px;padding-block:12px;margin:0;border:0;background:transparent}
.form-result p{font-size:.8rem}.form-result{padding-top:20px}#request-copy{min-height:240px;font-size:.85rem}
.available-subjects{display:grid;grid-template-columns:100px 1fr;gap:20px;margin-top:29px;font-size:.8rem;color:var(--muted)}
.available-subjects>span{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding-top:3px;color:#7b612d}
.no-script{margin-top:20px;padding:20px;background:var(--sage)}
.lessons-section{padding-block:88px;background:#edf0e8;border-top:1px solid #e0e4d7}
.lesson-selector{margin-bottom:22px}.lesson-selector button{background:#f8faf3}
.lesson-view{display:grid;grid-template-columns:1.1fr 1fr;gap:0;background:#fff;border:1px solid #d2d9c8;border-radius:5px;overflow:hidden}
.lesson-introduction,.lesson-challenge,.lesson-teaching,.lesson-output{padding:34px 36px;min-width:0}
.example-label{display:block;font-size:.62rem;letter-spacing:.025em;color:#6c704e;margin:0 0 19px}
.lesson-introduction .eyebrow{font-size:.6rem;margin-bottom:15px}.lesson-introduction h3{font-size:2rem;line-height:1.13;letter-spacing:-.045em}
#lesson-goal{margin-top:21px;font-size:.91rem;color:var(--muted)}
.lesson-meta{border-top:1px solid var(--line);margin-top:24px;padding-top:17px;color:var(--muted);font-size:.75rem}
.lesson-meta p+p{margin-top:10px}
.lesson-challenge{background:#f7f1e3;border-left:1px solid #e9e0cb}
.challenge-label{display:block;color:#7b612d;font-size:.64rem;text-transform:uppercase;letter-spacing:.09em;font-weight:600;margin-bottom:23px}
#lesson-challenge{font-size:1.05rem;line-height:1.7}
.lesson-challenge details{border-top:1px solid #d9cdb4;margin-top:24px;padding-top:8px}
.lesson-challenge summary{display:flex;align-items:center;justify-content:space-between;gap:15px;list-style:none;font-size:.81rem;font-weight:600;cursor:pointer;min-height:46px}
.lesson-challenge summary::-webkit-details-marker{display:none}.lesson-challenge summary span{font-size:1.2rem;color:#8a6627}.lesson-challenge details[open] summary span{transform:rotate(45deg)}
#lesson-answer{font-size:.84rem;color:#5c634e;margin-top:12px;line-height:1.75}
.lesson-teaching,.lesson-output{border-top:1px solid var(--line)}
.lesson-view h4{font-size:1rem;font-weight:600;margin:0 0 24px;line-height:1.4}
.lesson-teaching ol{padding:0;margin:0;list-style:none;counter-reset:lessonstep}
.lesson-teaching li{position:relative;padding-left:40px;margin-bottom:19px;counter-increment:lessonstep;font-size:.8rem;color:var(--muted)}
.lesson-teaching li:before{content:counter(lessonstep,decimal-leading-zero);position:absolute;left:0;top:0;font-size:.7rem;color:#8a6627;line-height:1.8}
.lesson-teaching strong{font-size:.83rem;font-weight:600;color:var(--ink)}.lesson-teaching p{margin-top:5px}
.lesson-output{border-left:1px solid var(--line)}
.lesson-output ul{list-style:none;padding:0;margin:0;color:var(--muted);font-size:.83rem}
.lesson-output li{padding-left:21px;position:relative;margin-bottom:15px}
.lesson-output li:before{content:'—';position:absolute;left:0;color:#8a6627}
.lesson-output details{margin-top:26px;border-block:1px solid var(--line)}
.lesson-output summary{font-size:.8rem;padding-block:14px;cursor:pointer;font-weight:600}
.lesson-output details ul{padding-top:10px;font-size:.77rem}
.lesson-output .text-link{font-size:.79rem;margin-top:25px}
.examples-note{font-size:.72rem;color:var(--muted);margin-top:22px;max-width:760px}
.handover-section{padding-block:85px;background:#f1eee4;border-block:1px solid #e5e0d2}
.handover-layout{display:grid;grid-template-columns:1fr 1.08fr;gap:85px;align-items:center}
.handover-copy>p:not(.eyebrow){margin-top:24px;font-size:.9rem;color:var(--muted)}
.handover-copy .text-link{margin-top:27px;font-size:.82rem}
.handover-preview{background:#fff;border:1px solid #d5d8c9;border-top:3px solid var(--gold);padding:29px;border-radius:5px;min-width:0;box-shadow:0 10px 25px #183e3105}
.handover-head .example-label{margin-bottom:13px}.handover-head h3{font-size:1.4rem;line-height:1.4}.handover-head>p{margin-top:8px;font-size:.76rem;color:var(--muted)}
.handover-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-top:26px;border-bottom:1px solid var(--line)}
.handover-options button{min-height:44px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:.7rem;padding:8px 2px;line-height:1.4}
.handover-options button[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--gold);background:#f5f0e3;font-weight:600}
.handover-detail{padding-top:23px;min-height:206px}.handover-detail h4{font-size:.95rem;line-height:1.5;margin:0 0 13px}.handover-detail p{font-size:.85rem;color:var(--muted);line-height:1.75}
.handover-note{font-size:.67rem;color:var(--muted);border-top:1px solid var(--line);padding-top:17px;margin-top:17px}
.contact-banner{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.contact-actions .direct-contact{margin-top:0;display:flex;flex-direction:column;gap:24px}
.contact-request{margin-top:30px;background:#e3c88d;border-color:#e3c88d;color:var(--forest);font-size:.82rem}.contact-request:hover{background:#f0dcae;border-color:#f0dcae}
.mobile-contact{display:none}
@media(max-width:1100px){.hero{gap:30px}.hero-scenarios button{font-size:.67rem;padding:11px 8px}.hero-actions{gap:15px}.hero-actions .text-link{font-size:.71rem}.scenario-description{gap:40px}.request-grid{padding:25px;gap:25px}.day-overview{padding:23px}.lesson-introduction,.lesson-challenge,.lesson-teaching,.lesson-output{padding:28px}.handover-layout{gap:45px}.contact-banner{gap:50px}}
@media(max-width:850px){.hero-scenarios{grid-template-columns:1fr}.hero-scenarios button{min-height:44px;font-size:.74rem;padding:10px 13px}.hero-scenarios br{display:none}.hero-scenarios br:after{content:' '}.hero-actions{flex-direction:column;align-items:flex-start}.hero-visual{position:sticky;top:110px}.proof-schools{display:block;font-size:.75rem}.proof-schools a{display:inline-block;margin-top:10px}.schoolday-section{padding-block:65px}.scenario-description{grid-template-columns:1fr;gap:25px;min-height:0}.school-provides{max-width:580px}.request-grid{grid-template-columns:1fr}.day-overview{padding:25px}.day-overview dl{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}.day-overview dl>div:last-child:nth-child(odd){grid-column:1/-1}.lesson-introduction,.lesson-challenge,.lesson-teaching,.lesson-output{padding:25px}.lesson-introduction h3{font-size:1.7rem}#lesson-challenge{font-size:.92rem}.lessons-section{padding-block:65px}.handover-layout{gap:35px;grid-template-columns:.9fr 1.1fr}.handover-preview{padding:22px}.handover-options{grid-template-columns:1fr 1fr;gap:4px}.handover-options button{font-size:.75rem}.handover-detail{min-height:260px}.handover-section{padding-block:65px}.contact-banner{gap:35px}.contact-actions .direct-contact a strong{font-size:1.1rem}.contact-request{font-size:.75rem;gap:14px}}
@media(max-width:600px){body{padding-bottom:calc(66px + env(safe-area-inset-bottom,0px))}.hero{gap:24px}.hero-visual{position:static;order:-1;display:grid;grid-template-columns:82px 1fr;gap:17px;align-items:center}.hero-visual .photo-frame{width:82px;height:82px;aspect-ratio:1;border-radius:50%}.hero-visual .hero-portrait{object-position:center}.portrait-caption{margin:0;padding:0;border:0}.signature-mark{display:none}.caption-label{font-size:.59rem}.portrait-caption strong{font-size:.92rem}.hero-choice-label{margin-top:24px;font-size:.8rem}.hero-scenarios{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.hero-scenarios button{font-size:.7rem;min-height:76px;padding:11px 9px;align-items:flex-start;flex-direction:column}.hero-scenarios br{display:initial}.hero-scenarios br:after{content:none}.hero-scenarios button>span:last-child{align-self:flex-end;line-height:1}.hero-actions{flex-direction:row;align-items:center;gap:18px}.hero-actions .text-link{font-size:.72rem}.hero-actions .button{font-size:.8rem;gap:14px}.proof-schools{padding-block:20px;line-height:1.75}.schoolday-section{padding-block:52px}.scenario-switch{gap:7px;display:grid;grid-template-columns:1fr;margin-bottom:25px}.scenario-switch button{text-align:left;font-size:.85rem;padding:12px 16px}.scenario-description{margin-block:25px}.scenario-description h3{font-size:1.45rem}.scenario-description p{font-size:.86rem}.school-provides{padding-left:18px}.school-provides>span{font-size:.72rem}.school-provides p{font-size:.8rem}.request-disclosure>summary{padding:19px 17px;font-size:.83rem;line-height:1.55}.request-grid{padding:23px 17px;gap:27px}.planner-form h3{font-size:1.3rem}.planner-form label{font-size:.77rem}.planner-form .button{font-size:.78rem;padding-inline:12px}.planner-form .form-note{font-size:.7rem}.day-overview{padding:22px 19px}.day-overview h3{font-size:1.25rem}.day-overview dl{display:block}.day-overview dd{font-size:.83rem}.available-subjects{display:block;margin-top:24px}.available-subjects p{margin-top:9px;font-size:.79rem;line-height:1.85}.lessons-section{padding-block:52px}.lesson-selector{display:grid;grid-template-columns:1fr 1fr;gap:8px}.lesson-selector button{font-size:.78rem;padding:11px 12px}.lesson-view{grid-template-columns:1fr}.lesson-introduction,.lesson-challenge,.lesson-teaching,.lesson-output{padding:25px 22px}.lesson-challenge,.lesson-output{border-left:0}.lesson-challenge{border-top:1px solid #e1d9c4}.lesson-introduction h3{font-size:1.85rem}#lesson-challenge{font-size:.96rem}.lesson-teaching li{font-size:.83rem;padding-left:35px}.lesson-output ul{font-size:.85rem}.lesson-meta{font-size:.76rem}.examples-note{font-size:.69rem}.handover-section{padding-block:52px}.handover-layout{grid-template-columns:1fr;gap:30px}.handover-preview{padding:23px 20px}.handover-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:2px}.handover-options button{font-size:.68rem}.handover-detail{min-height:215px}.handover-copy>p:not(.eyebrow){font-size:.87rem}.contact-banner{grid-template-columns:1fr;gap:30px}.contact-actions .direct-contact{gap:20px}.contact-actions .direct-contact a strong{font-size:1.15rem}.contact-request{width:100%;font-size:.82rem}.mobile-contact{position:fixed;bottom:0;left:0;right:0;z-index:15;display:grid;grid-template-columns:.8fr 1.2fr;gap:10px;background:var(--forest);padding:10px 20px calc(10px + env(safe-area-inset-bottom,0px));box-shadow:0 -3px 12px #183e3115}.mobile-contact a{display:flex;align-items:center;justify-content:center;min-height:44px;color:white;border:1px solid #94a191;border-radius:4px;font-size:.77rem;font-weight:600;line-height:1.3;text-align:center;padding:7px 8px}.mobile-contact a:last-child{background:var(--gold-light);border-color:var(--gold-light);color:var(--ink)}}

/* Keep the opening's large portrait beside the headline on phones. */
@media(max-width:600px){
  .hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:18px;row-gap:22px;padding-top:28px;align-items:center}
  .hero-copy{display:contents}
  .hero-copy>*{grid-column:1/-1}
  .hero-copy>.eyebrow{grid-row:1;margin:0;font-size:.56rem;letter-spacing:.09em;gap:8px}
  .hero-copy>h1{grid-column:1;grid-row:2;font-size:clamp(2rem,8.7vw,3.1rem);line-height:1.07;letter-spacing:-.055em;align-self:center}
  .hero-visual{display:block;grid-column:2;grid-row:2;order:0;position:static;align-self:stretch;padding:0;min-width:0}
  .hero-visual .photo-frame{width:100%;height:clamp(190px,55vw,280px);aspect-ratio:auto;border-radius:55px 5px 5px 5px}
  .hero-visual .hero-portrait{width:100%;height:100%;object-fit:cover;object-position:50% 42%}
  .hero-visual .portrait-caption{display:none}
  .hero-copy>.hero-intro{margin:0;max-width:none;font-size:1rem;line-height:1.65}
  .hero-copy>.hero-description{margin:0;max-width:none;font-size:.86rem;line-height:1.7}
  .hero-copy>.hero-choice-label{margin:3px 0 -10px}
  .hero-copy>.hero-scenarios{margin:0}
  .hero-copy>.hero-actions{margin:0}
  .hero-copy>.hero-notes{margin:0}
}

/* Restrained buttons and drawn icons, consistent on iOS and desktop. */
.icon-arrow{display:inline-block;width:18px;height:18px;flex:none;vertical-align:-3px}
.button{border-radius:7px;letter-spacing:.01em;box-shadow:none;transition:background .18s,border-color .18s}
.button:hover{transform:none}
.button .icon-arrow{width:17px;height:17px}
.hero-scenarios{gap:12px}
.hero-scenarios button{min-height:96px;padding:19px 16px;background:#f1eee4;border:0;border-top:2px solid #cbb47e;border-radius:0 0 5px 5px;font-size:.77rem;font-weight:500;line-height:1.6;align-items:flex-start;transition:background .18s,color .18s}
.hero-scenarios button>span:last-child{align-self:flex-end;color:#86652c;line-height:1}
.hero-scenarios button .icon-arrow{width:17px;height:17px}
.hero-scenarios button:hover{background:#e9e1cf}
.hero-scenarios button[aria-pressed=true]{background:var(--forest);border-color:var(--gold);color:#fff}
.hero-scenarios button[aria-pressed=true]>span:last-child{color:var(--gold-light)}
.hero-actions .button{padding:16px 24px;min-height:54px}
.hero-actions .text-link{font-weight:500;border-color:#b6a884;padding-bottom:8px}
.mobile-contact a{border-radius:6px;letter-spacing:.01em}
.mobile-contact a .icon-arrow{width:16px;height:16px;margin-left:12px}
@media(max-width:850px) and (min-width:601px){
 .hero-scenarios button{min-height:52px;padding:13px 16px;align-items:center;border-top:0;border-left:2px solid #cbb47e;border-radius:0 4px 4px 0}
 .hero-scenarios button>span:last-child{align-self:center}
}
@media(max-width:600px){
 .hero-copy>.hero-choice-label{margin-bottom:-6px;font-size:.81rem;font-weight:500}
 .hero-scenarios{grid-template-columns:1fr;gap:0;border-top:1px solid #c7bb9c;border-bottom:1px solid #c7bb9c}
 .hero-scenarios button{display:flex;flex-direction:row;align-items:center;min-height:63px;padding:17px 16px;border:0;border-bottom:1px solid #dedbcf;border-radius:0;background:transparent;font-size:.86rem;font-weight:500;line-height:1.5;gap:20px;text-align:left}
 .hero-scenarios button:last-child{border-bottom:0}
 .hero-scenarios button br{display:none}
 .hero-scenarios button>span:last-child{align-self:center;display:flex;align-items:center}
 .hero-scenarios button[aria-pressed=true]{background:var(--forest);border-bottom-color:var(--forest)}
 .hero-scenarios button .icon-arrow{width:18px;height:18px}
 .hero-actions{justify-content:space-between;gap:16px}
 .hero-actions .button{font-size:.79rem;padding:15px 20px;gap:18px;min-height:52px}
 .hero-actions .text-link{font-size:.75rem;gap:10px;font-weight:500}
 .mobile-contact{gap:12px;padding-top:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));box-shadow:none;border-top:1px solid #56715e}
 .mobile-contact a{min-height:44px;font-size:.75rem;font-weight:500;border-color:#849581}
 .mobile-contact a:last-child{background:#dfc58d;border-color:#dfc58d}
}

/* Public professional profile links */
.about-links{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;margin-top:26px}
.about-copy .about-links .text-link{margin-top:0}
