:root{--cream:#f7f6f0;--paper:#fffef9;--green:#496553;--deep:#26342d;--muted:#707b73;--line:#dfe5db;--pale:#e9eee6;--lav:#eee9f3;--shadow:0 22px 60px rgba(35,53,43,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--deep);font-family:'DM Sans',sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}.site-header{height:86px;padding:0 max(5vw,24px);display:flex;align-items:center;justify-content:space-between;gap:30px;background:rgba(247,246,240,.93);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.brand{font-size:27px;font-weight:800;letter-spacing:-1.4px;white-space:nowrap}.brand span{color:var(--green)}.nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:700}.nav>a:not(.nav-cta){color:#5f6b63}.nav>a:hover{color:var(--green)}.nav-cta{background:var(--green);color:white;padding:15px 23px;border-radius:19px;font-size:15px}.nav-cta span,.button span{margin-left:8px}.menu-toggle{display:none;background:none;border:0;font-size:26px;color:var(--deep)}.section{padding:100px max(5vw,24px);max-width:1440px;margin:auto}.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:55px;align-items:center;padding-top:76px;padding-bottom:82px;min-height:640px}.eyebrow,.section-kicker{font-size:12px;letter-spacing:2px;font-weight:800;color:var(--green)}.eyebrow{display:inline-flex;align-items:center;gap:11px;background:#e8eee5;border:1px solid #d8e2d6;border-radius:99px;padding:12px 19px;letter-spacing:.6px;font-size:13px}.pulse{width:9px;height:9px;border-radius:50%;background:#7b9c83;box-shadow:0 0 0 6px #dce7dc}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(48px,6.2vw,82px);line-height:1.04;letter-spacing:-4px;margin:35px 0 22px;font-weight:800}h1 em,h2 em{font-family:'Playfair Display',serif;color:var(--green);font-weight:600;letter-spacing:-2px}.lead{font-size:21px;line-height:1.65;color:var(--muted);max-width:620px;margin-bottom:30px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:4px;border:0;border-radius:20px;padding:17px 25px;font:700 15px 'DM Sans',sans-serif;cursor:pointer;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px);box-shadow:0 10px 25px #26342d1a}.primary{background:var(--green);color:white}.secondary{background:var(--paper);color:var(--green);border:1px solid #dce2d9}.mini-points{display:flex;gap:20px;flex-wrap:wrap;color:#65736a;font-size:12px;font-weight:700;margin-top:28px}.hero-art{min-height:440px;position:relative;border:1px solid #dce4d9;border-radius:36px;background:linear-gradient(145deg,#e8eee5,#f2f0e7);overflow:hidden;display:flex;align-items:center;justify-content:center}.art-circle{position:absolute;width:420px;height:420px;border:1px solid #cbd7ca;border-radius:50%;top:20px;left:50%;transform:translateX(-50%);box-shadow:0 0 0 45px #ffffff1a,0 0 0 95px #ffffff12}.art-label{position:absolute;background:var(--paper);padding:14px 24px;border-radius:24px;box-shadow:var(--shadow);font-size:17px;font-weight:800;z-index:2}.label-one{top:52px;left:35px;transform:rotate(-5deg)}.label-two{top:83px;right:24px;transform:rotate(5deg)}.book-stack{position:relative;margin-top:90px;width:250px;height:235px;z-index:1}.book{position:absolute;width:245px;height:67px;border-radius:7px 15px 15px 7px;display:flex;align-items:center;justify-content:center;font:700 13px 'Playfair Display',serif;letter-spacing:2px;box-shadow:0 12px 15px #26342d20;border:5px solid #fff9}.book-a{background:#526d59;color:#fff;bottom:20px;transform:rotate(-8deg)}.book-b{background:#c6b6a0;color:#334138;bottom:80px;transform:rotate(5deg);left:12px}.book-c{background:#b7c1b1;color:#334138;bottom:140px;transform:rotate(-4deg);left:-5px}.art-note{position:absolute;bottom:28px;right:24px;font-family:'Playfair Display',serif;font-size:18px;line-height:1.35;transform:rotate(-4deg);z-index:2}.spark{position:absolute;color:#77917d;font-size:30px}.spark-a{top:165px;left:45px}.spark-b{right:42px;bottom:120px}.quote-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:0 max(5vw,24px) 70px;max-width:1440px;margin:auto}.quote-strip article{background:var(--paper);border:1px solid var(--line);border-radius:25px;padding:30px}.quote-source{font-size:10px;letter-spacing:1.5px;font-weight:800;color:var(--green)}blockquote{font:500 23px/1.5 'Playfair Display',serif;margin:20px 0;color:#31483a}.quote-strip p{color:var(--muted);font-size:13px;margin-bottom:0}.intro,.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:end}.intro{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}h2{font-size:clamp(34px,4vw,51px);line-height:1.16;letter-spacing:-2px;margin:14px 0 0} .intro>p,.section-heading>p{max-width:440px;color:var(--muted);font-size:17px;margin-bottom:4px}.subject-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:15px;margin-top:45px}.subject-card{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:26px 22px;transition:transform .2s,box-shadow .2s}.subject-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.subject-icon{display:grid;place-items:center;width:51px;height:51px;border-radius:17px;background:var(--pale);color:var(--green);font-size:22px;font-weight:800;margin-bottom:24px}.subject-card h3{font-size:18px;margin-bottom:9px}.subject-card p{font-size:13px;color:var(--muted);margin:0}.teachers-section{padding-top:75px}.teacher-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:44px}.teacher-card{padding:35px;background:var(--paper);border:1px solid var(--line);border-radius:32px;box-shadow:0 12px 45px #26342d08}.teacher-top{display:flex;justify-content:space-between;align-items:start}.avatar{height:92px;width:92px;border:6px solid white;border-radius:28px;display:grid;place-items:center;font:700 46px 'Playfair Display',serif;box-shadow:0 12px 30px #26342d12}.avatar-d{background:linear-gradient(140deg,#d9e1d5,#aebead);color:#405a49}.avatar-a{background:linear-gradient(140deg,#e4d8c6,#b7c0b1);color:#405a49}.small-star{font-size:25px;color:#9bb09d}.teacher-card h3{font-size:36px;letter-spacing:-1px;margin:22px 0 0}.teacher-meta{color:var(--muted);margin:0;font-size:15px}.language{color:var(--green);font-weight:700;margin:12px 0 20px}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.tags span{background:#edf1eb;border-radius:99px;padding:8px 13px;font-size:12px;font-weight:800}.tags.purple span{background:var(--lav)}.results{background:#eff5ed;border:1px solid #dbe8d7;border-radius:17px;padding:16px 18px;color:#435e49;font-size:14px;line-height:1.65}.teacher-description{margin:23px 0 14px;font-size:15px;color:#69766e;line-height:1.75}.teacher-description strong{color:var(--deep)}.teacher-card ul{padding-left:20px;color:#69766e;font-size:14px;line-height:1.9;margin-bottom:25px}.teacher-card .button{margin-top:4px}.how{background:#eaf0e7;max-width:none}.how>.section-heading,.how .steps{max-width:1300px;margin-left:auto;margin-right:auto}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px}.steps article{background:#f9faf5;border:1px solid #dce5d8;border-radius:24px;padding:28px}.steps article>span{font:600 28px 'Playfair Display',serif;color:#8ba28d}.steps h3{font-size:20px;margin:14px 0 7px}.steps p{color:var(--muted);margin:0;font-size:14px}.booking-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start}.booking-intro h2{margin-bottom:20px}.booking-intro>p{color:var(--muted);font-size:17px}.contact-note{background:#eaf0e7;border:1px solid #dce5d8;border-radius:18px;padding:19px;font-size:14px;font-weight:700;margin:27px 0;color:#66736a}.contact-note a{display:inline-block;color:var(--green);font-size:21px;margin-top:5px}.clarity strong{color:var(--green)}.booking-form{background:var(--paper);border:1px solid var(--line);border-radius:30px;padding:32px;box-shadow:var(--shadow)}label{display:block;font-size:13px;font-weight:800;margin:0 0 8px}input,select,textarea{font:500 15px 'DM Sans',sans-serif;color:var(--deep);width:100%;background:#fff;border:1px solid #dce2d9;border-radius:14px;padding:15px;margin-bottom:19px;outline:none;min-height:53px}textarea{resize:vertical;min-height:90px}input:focus,select:focus,textarea:focus{border-color:#78957f;box-shadow:0 0 0 3px #e7eee5}select:disabled{background:#f2f2ed;color:#9aa19b}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.optional,.form-help{color:#89928b;font-size:12px;font-weight:500}.submit-button{width:100%;margin-top:2px}.form-help{text-align:center;line-height:1.5;margin:12px 0 0}.form-status{font-size:13px;color:var(--green);font-weight:700}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px}.review-grid article{padding:27px;background:var(--paper);border:1px solid var(--line);border-radius:23px}.stars{color:#c49a43;letter-spacing:3px}.review-grid p{margin:15px 0;color:#58675d}.review-grid span{font-size:12px;font-weight:800;color:var(--green)}.review-note{font-size:11px;color:#8b938d;margin-top:18px}.footer{padding:35px max(5vw,24px);border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer .brand{font-size:22px}.footer p,.footer small{font-size:12px;color:var(--muted);margin:0}.footer>a:not(.brand){font-weight:800;color:var(--green);font-size:13px}
@media(max-width:1000px){.nav{gap:17px}.nav a{font-size:12px}.hero{gap:30px}.subject-grid{grid-template-columns:repeat(3,1fr)}.section{padding-top:75px;padding-bottom:75px}.hero{padding-top:55px}.booking-section{gap:30px}.teacher-card{padding:27px}}@media(max-width:720px){.site-header{height:75px;padding:0 22px}.brand{font-size:25px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--cream);border-bottom:1px solid var(--line);padding:20px 24px 25px;flex-direction:column;align-items:stretch;gap:16px}.nav.open{display:flex}.nav a{font-size:15px!important}.nav-cta{text-align:center}.section{padding:65px 22px}.hero{display:flex;flex-direction:column;align-items:stretch;gap:35px;padding-top:45px;padding-bottom:55px}.eyebrow{font-size:10px;padding:10px 13px}h1{font-size:clamp(45px,12vw,66px);letter-spacing:-2.8px;margin-top:28px}h1 em,h2 em{letter-spacing:-1px}.lead{font-size:17px}.hero-actions{display:grid;grid-template-columns:1fr}.button{padding:16px 18px;border-radius:16px}.mini-points{gap:10px 15px}.hero-art{min-height:360px;border-radius:28px}.art-circle{width:310px;height:310px;top:25px}.label-one{left:15px;top:35px;font-size:13px;padding:11px 14px}.label-two{right:12px;top:66px;font-size:13px;padding:11px 14px}.book-stack{transform:scale(.82);margin-top:65px}.art-note{font-size:15px;bottom:20px;right:16px}.quote-strip{grid-template-columns:1fr;padding:0 22px 40px;gap:12px}.quote-strip article{padding:23px}.quote-strip blockquote{font-size:21px}.intro,.section-heading{display:block}.intro>p,.section-heading>p{margin-top:22px;font-size:15px}.section-heading h2{font-size:36px}.subject-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:28px}.subject-card{padding:20px 16px;border-radius:19px}.subject-icon{height:44px;width:44px;margin-bottom:17px}.subject-card h3{font-size:16px}.subject-card p{font-size:12px}.teacher-grid{grid-template-columns:1fr;gap:16px;margin-top:30px}.teacher-card{padding:24px;border-radius:25px}.teacher-card h3{font-size:32px}.teacher-meta{font-size:13px}.teacher-description{font-size:14px}.steps{grid-template-columns:1fr;gap:12px}.steps article{padding:23px}.booking-section{grid-template-columns:1fr;gap:28px}.booking-form{padding:22px;border-radius:24px}.form-row{grid-template-columns:1fr;gap:0}.review-grid{grid-template-columns:1fr;gap:12px}.footer{padding:28px 22px;display:grid;grid-template-columns:1fr;gap:10px}.footer small{margin-top:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* FAQ section */
.faq-section{padding-top:70px;padding-bottom:70px}.faq-list{max-width:1000px;margin:36px auto 0;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:var(--paper)}.faq-list details+details{border-top:1px solid var(--line)}.faq-list summary{cursor:pointer;list-style:none;padding:21px 25px;font-weight:800;display:flex;align-items:center;justify-content:space-between;gap:18px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'+';font-size:22px;font-weight:500;color:var(--green)}.faq-list details[open] summary::after{content:'−'}.faq-list details p{padding:0 25px 22px;margin:0;color:var(--muted);max-width:850px}.review-grid span{display:none}.footer{row-gap:12px}
@media(max-width:720px){.faq-section{padding-top:55px;padding-bottom:55px}.faq-list{margin-top:26px;border-radius:19px}.faq-list summary{padding:18px;font-size:14px}.faq-list details p{padding:0 18px 19px;font-size:14px}}


/* Pricing section */
.pricing-section{padding-top:82px;padding-bottom:90px;background:linear-gradient(180deg,rgba(233,238,230,.52),rgba(247,246,240,0));max-width:none}
.pricing-section>.section-heading,.pricing-grid,.pricing-note{max-width:1300px;margin-left:auto;margin-right:auto}
.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:38px;align-items:stretch}
.price-card{position:relative;display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:28px;padding:30px;box-shadow:0 14px 40px rgba(35,53,43,.045);overflow:hidden}
.price-card.featured{border-color:#9eaf9e;box-shadow:0 22px 50px rgba(35,53,43,.10);background:linear-gradient(155deg,#fffef9 0%,#eef3eb 100%)}
.price-top{display:flex;align-items:center;gap:14px;min-height:62px}
.price-icon{width:54px;height:54px;display:grid;place-items:center;background:var(--pale);border-radius:18px;color:var(--green);flex:0 0 auto}
.price-icon svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.price-label{font-size:14px;font-weight:800;color:var(--green)}
.price-value{font-family:'Playfair Display',serif;font-size:clamp(38px,4vw,50px);font-weight:700;letter-spacing:-1.5px;line-height:1.2;margin:23px 0 8px;color:var(--deep)}
.price-value span{font:600 14px 'DM Sans',sans-serif;letter-spacing:0;color:var(--muted)}
.price-value.price-custom{font-size:27px;letter-spacing:-.7px;line-height:1.35;margin-top:26px;min-height:61px}
.price-description{font-size:14px;color:var(--muted);min-height:47px;margin-bottom:16px}
.price-card ul{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:12px;color:#56645b;font-size:13px}
.price-card li{position:relative;padding-left:25px}
.price-card li::before{content:'✓';position:absolute;left:0;top:0;color:var(--green);font-weight:800}
.price-button{margin-top:auto;width:100%;min-height:52px}
.popular-label{position:absolute;top:0;right:24px;background:var(--green);color:white;font-size:10px;letter-spacing:.7px;text-transform:uppercase;font-weight:800;padding:8px 12px;border-radius:0 0 12px 12px}
.pricing-note{font-size:12px;color:var(--muted);margin-top:22px;text-align:center}
@media(max-width:1000px){.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.group-price{grid-column:1/-1}.group-price .price-description{min-height:0}}
@media(max-width:720px){.pricing-section{padding:58px 22px}.pricing-grid{grid-template-columns:1fr;gap:14px;margin-top:26px}.group-price{grid-column:auto}.price-card{padding:24px;border-radius:23px}.price-value{font-size:43px}.price-value.price-custom{font-size:25px;min-height:0}.price-description{min-height:0}.popular-label{right:18px}.pricing-note{text-align:left;line-height:1.6}}

/* Responsive refinements and consistent line icons */
.subject-icon svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.avatar-m{background:linear-gradient(140deg,#d8ded0,#b5c3b3);color:#405a49}
@media(min-width:1001px){.teacher-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.teacher-card{padding:28px}.teacher-card h3{font-size:31px}.teacher-card .results{font-size:13px}}
@media(max-width:1000px) and (min-width:721px){.teacher-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.contact-secondary{display:inline-block;margin-top:8px;font-size:12px;font-weight:500;color:var(--muted)}.contact-secondary a{font-size:13px;margin-top:0}
/* Hero line illustration: keep the SVG scaled and centered on every screen */
.art-wash{position:absolute;inset:0;background:radial-gradient(ellipse at 52% 38%,rgba(255,255,255,.72),transparent 48%),linear-gradient(145deg,#e8eee5 0%,#f4f0e5 100%);z-index:0}
.hero-portrait{position:absolute;z-index:1;left:50%;top:50%;transform:translate(-50%,-50%);width:min(100%,390px);height:auto;max-height:94%;color:#496553;overflow:visible}
.art-note{background:rgba(255,254,249,.9);border:1px solid #dfe5db;border-radius:18px;padding:12px 16px;max-width:190px}
@media(max-width:720px){.hero-portrait{width:min(100%,330px);max-height:88%}.art-note{font-size:14px;max-width:155px}}


/* Classic, image-free hero panel and refined literary cards */
.hero{grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,68px)}
.hero-side-panel{min-height:440px;position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:clamp(30px,4vw,54px);border:1px solid #d8e1d5;border-radius:34px;background:linear-gradient(145deg,#eef2e9 0%,#f9f7ef 76%);box-shadow:0 22px 60px rgba(35,53,43,.045)}
.hero-side-panel:before{content:"";position:absolute;z-index:-1;width:300px;height:300px;right:-120px;top:-125px;border:1px solid #d5dfd1;border-radius:50%;box-shadow:0 0 0 26px rgba(255,255,255,.18),0 0 0 54px rgba(255,255,255,.12)}
.hero-side-panel:after{content:"";position:absolute;z-index:-1;width:210px;height:210px;left:-130px;bottom:-120px;border:1px solid #d5dfd1;border-radius:50%;box-shadow:0 0 0 24px rgba(255,255,255,.18)}
.panel-topline{display:flex;align-items:center;gap:10px;font-size:10px;font-weight:800;letter-spacing:1.65px;color:#647767}.panel-dot{width:7px;height:7px;border-radius:50%;background:#7f9a81;box-shadow:0 0 0 4px #dce7d9}.panel-index{margin-left:auto;color:#8b988b;letter-spacing:1px}.panel-rule{height:1px;background:#dbe3d7;margin:24px 0 30px}.panel-overline{font-size:11px;letter-spacing:2px;font-weight:800;color:#728575;margin-bottom:9px}.panel-number{font-size:clamp(76px,8vw,112px);line-height:1;font-weight:800;letter-spacing:-8px;color:#334b3a}.panel-number span{font-family:'Playfair Display',serif;font-size:.58em;font-weight:500;color:#a1b19f;margin:0 10px;vertical-align:12px}.panel-title{font:600 clamp(18px,2vw,24px) 'Playfair Display',serif;color:#526c58;margin:13px 0 10px}.panel-description{max-width:290px;font-size:14px;line-height:1.8;color:#758077;margin:0}.panel-bottom{display:flex;align-items:center;gap:13px;border-top:1px solid #dbe3d7;margin-top:30px;padding-top:21px}.panel-check{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:#dfe9dc;color:#496553;font-weight:800}.panel-bottom strong,.panel-bottom small{display:block}.panel-bottom strong{font-size:12px;color:#3d5142}.panel-bottom small{font-size:11px;color:#879187;margin-top:2px}.panel-arrow{margin-left:auto;color:#6e8a71;font-size:21px}.panel-corner{position:absolute;width:8px;height:8px;border:1px solid #aabca8;border-radius:2px;transform:rotate(45deg)}.corner-one{right:30px;bottom:31px}.corner-two{right:46px;bottom:31px}
.work-card{position:relative;overflow:hidden}.work-card:after{content:"";position:absolute;left:0;top:0;width:3px;height:0;background:#829a83;transition:height .25s}.work-card:hover:after{height:100%}.work-index{height:100px;display:flex;align-items:center;gap:15px;margin-bottom:23px;padding:20px 22px;border:1px solid #e0e6dc;border-radius:19px;background:linear-gradient(120deg,#f0f3ec,#faf8f0);position:relative;overflow:hidden}.work-index:after{content:"";position:absolute;width:92px;height:92px;border:1px solid #dbe4d8;border-radius:50%;right:-27px;top:-37px;box-shadow:0 0 0 14px rgba(255,255,255,.28)}.work-index-number{font:600 34px 'Playfair Display',serif;color:#7b947d;letter-spacing:-1px}.work-index-label{font-size:9px;line-height:1.6;letter-spacing:1.35px;font-weight:800;color:#758276;max-width:130px}.work-index-rule{height:1px;background:#d4dfd1;flex:1;min-width:15px}.work-card h3{margin-top:9px}.work-author{letter-spacing:1.7px}.subject-card,.teacher-card,.price-card,.review-grid article,.steps article,.faq-list details{transition:border-color .2s,box-shadow .2s,transform .2s}.teacher-card:hover,.price-card:hover,.review-grid article:hover{border-color:#c8d5c5;box-shadow:0 20px 48px rgba(35,53,43,.075)}.section-kicker{display:inline-flex;align-items:center;gap:9px}.section-kicker:before{content:"";display:inline-block;width:18px;height:1px;background:#91a58f}.section-heading{margin-bottom:4px}.section{scroll-margin-top:92px}.footer small{letter-spacing:.2px}
@media(max-width:900px){.hero{grid-template-columns:1fr;min-height:0;gap:34px}.hero-side-panel{min-height:350px}.panel-number{font-size:clamp(76px,14vw,104px)}.works-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.hero-side-panel{min-height:330px;padding:27px;border-radius:25px}.panel-rule{margin:19px 0 25px}.panel-bottom{margin-top:24px}.work-index{height:82px;padding:16px;gap:11px}.work-index-number{font-size:29px}.work-index-label{font-size:8px;letter-spacing:1px}.works-grid{grid-template-columns:1fr}.hero{padding-top:44px;padding-bottom:58px}.panel-number{letter-spacing:-5px}.panel-number span{margin:0 6px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* Netlify Forms honeypot: invisible to visitors, available to spam filters. */
.hidden-field{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
button[aria-busy="true"]{opacity:.7;cursor:wait}

/* Teacher profile photos: visual-only enhancement; booking logic unchanged. */
.teacher-card .avatar{overflow:hidden;display:block;flex:0 0 92px;padding:0;position:relative}
.teacher-card .avatar img{display:block;width:100%;height:100%;object-fit:cover;border-radius:20px}

/* Editorial teacher cards using the user's exact uploaded portraits */
.site-header{border-bottom:1px solid #d9ded4;background:rgba(247,246,240,.96)}
.brand{font-family:'Playfair Display',serif;letter-spacing:-.8px}
.hero{grid-template-columns:1.05fr .95fr;gap:7vw;align-items:center;padding-top:56px;padding-bottom:52px}
.hero h1{font-size:clamp(42px,4.2vw,62px);line-height:1.03;letter-spacing:-2px;max-width:760px}
.hero h1 em{font-style:normal;color:#496553}
.hero .eyebrow{background:transparent;border:0;padding:0;letter-spacing:1.8px;font-size:11px;color:#496553}
.hero .eyebrow .pulse{display:none}
.hero .lead{max-width:620px;font-size:17px;line-height:1.65}
.hero-side-panel{min-height:290px;background:transparent;border:0;border-left:1px solid #b9c5b8;border-radius:0;box-shadow:none;padding:22px 34px;display:flex;flex-direction:column;justify-content:center}
.hero-side-panel .panel-topline{font-size:10px;letter-spacing:1.8px;color:#496553}
.hero-side-panel .panel-number{font-family:'Playfair Display',serif;font-size:clamp(24px,2.4vw,38px);line-height:1.25;letter-spacing:-1px;color:#24483d;max-width:370px}
.hero-side-panel .panel-title{font-family:'Playfair Display',serif;font-size:23px;font-style:italic;line-height:1.45;color:#24483d}
.hero-side-panel .panel-description{font-size:14px;color:#65746a}
.hero-side-panel .panel-bottom{border-top:1px solid #d4ddd2;padding-top:15px}
.works-section{display:none}
.quote-strip{padding-top:8px;padding-bottom:38px;grid-template-columns:repeat(3,1fr)}
.quote-strip article{background:transparent;border:0;border-top:1px solid #d4ddd2;border-radius:0;padding:18px 10px}
.quote-strip article:not(:first-child){border-left:1px solid #d4ddd2;padding-left:26px}
.quote-strip blockquote{font-size:20px;line-height:1.4}
.intro{padding-top:45px;padding-bottom:45px}
.teachers-section{padding-top:40px}
.teachers-section .section-heading h2{font-size:clamp(28px,3vw,38px);letter-spacing:-1px}
.teachers-section .section-kicker{font-size:10px;letter-spacing:1.6px}
.teacher-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:26px}
.teacher-card{display:grid;grid-template-columns:minmax(100px,38%) minmax(0,1fr);grid-template-rows:auto;column-gap:18px;align-content:start;padding:18px;border-radius:20px;background:transparent;box-shadow:none;min-width:0}
.teacher-top{grid-column:1;grid-row:1 / span 8;display:block;align-self:stretch;min-width:0}
.teacher-card .avatar{width:100%;height:310px;min-height:0;max-height:none;border:0;border-radius:7px;box-shadow:none;flex:none}
.teacher-card .avatar img{width:100%;height:100%;min-height:0;object-fit:cover;border-radius:7px;object-position:center 45%}
.teacher-card .small-star{display:none}
.teacher-card h3{grid-column:2;font-size:26px;margin:2px 0 5px;line-height:1.1}
.teacher-card .teacher-meta{grid-column:2;font-size:12px;line-height:1.5}
.teacher-card .language{grid-column:2;font-size:12px;margin:8px 0 12px}
.teacher-card .tags{grid-column:2;gap:5px;margin:7px 0 10px}
.teacher-card .tags span{font-size:10px;padding:6px 8px}
.teacher-card .results{grid-column:2;padding:10px;font-size:11px;line-height:1.5;border-radius:10px}
.teacher-card .teacher-description{grid-column:2;font-size:12px;line-height:1.55;margin:10px 0}
.teacher-card ul{grid-column:2;font-size:11px;line-height:1.5;padding-left:15px;margin:0 0 12px}
.teacher-card .button{grid-column:2;font-size:11px;padding:10px 12px;border-radius:99px;align-self:end;white-space:normal}
.teacher-card .button span{display:inline}
.footer{border-top:1px solid #d4ddd2}
@media(max-width:1050px){.teacher-grid{grid-template-columns:1fr}.teacher-card{grid-template-columns:170px minmax(0,1fr)}.teacher-card .avatar{height:280px}.teacher-card .avatar img{height:100%;min-height:0}.hero{gap:30px}.hero-side-panel{padding:18px 22px}}
@media(max-width:720px){.hero{display:flex;gap:28px;padding-top:40px}.hero h1{font-size:clamp(40px,10vw,56px)}.hero-side-panel{min-height:220px;border-left:0;border-top:1px solid #b9c5b8;padding:24px 0 0}.quote-strip{grid-template-columns:1fr;padding:0 22px 35px}.quote-strip article:not(:first-child){border-left:0;padding-left:10px}.teacher-grid{grid-template-columns:1fr}.teacher-card{grid-template-columns:110px minmax(0,1fr);padding:14px;column-gap:14px}.teacher-card .avatar{height:230px}.teacher-card .avatar img{height:100%;min-height:0}.teacher-card h3{font-size:24px}.teacher-card .results{font-size:10px}.teacher-card ul{font-size:10px}.teachers-section .section-heading h2{font-size:32px}}


/* Final teacher-card alignment fix: equal portrait size and balanced card heights */
@media (min-width: 1051px) {
  .teacher-grid { align-items: stretch; }
  .teacher-card { min-height: 100%; grid-template-columns: minmax(120px, 38%) minmax(0, 1fr); grid-template-rows: auto auto auto auto auto auto auto 1fr; align-content: stretch; }
  .teacher-top { grid-row: 1 / -1; align-self: stretch; height: 100%; }
  .teacher-card .avatar { height: 100%; min-height: 360px; max-height: none; }
  .teacher-card .avatar img { height: 100%; min-height: 360px; object-fit: cover; object-position: center center; }
  .teacher-card .button { margin-top: auto; }
}
@media (max-width: 1050px) {
  .teacher-grid { align-items: stretch; }
  .teacher-card { grid-template-columns: minmax(130px, 34%) minmax(0, 1fr); }
  .teacher-top { grid-row: 1 / -1; align-self: stretch; height: 100%; }
  .teacher-card .avatar { height: 100%; min-height: 300px; }
  .teacher-card .avatar img { height: 100%; min-height: 300px; object-fit: cover; object-position: center center; }
}
@media (max-width: 720px) {
  .teacher-card { grid-template-columns: 112px minmax(0, 1fr); column-gap: 14px; }
  .teacher-card .avatar { min-height: 250px; }
  .teacher-card .avatar img { min-height: 250px; }
}
