:root{--cream:#fbf8f2;--paper:#fffdf9;--ink:#283c34;--muted:#687269;--ochre:#a34c2e;--ochre-light:#f2e0cf;--line:#deded3;--green:#223e33;--gold:#dfb778;--radius:18px;--sans:Arial,Helvetica,sans-serif;--serif:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}a{color:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{text-underline-offset:4px}img{display:block;width:100%;object-fit:cover}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #aa693e;outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif);line-height:1.08;letter-spacing:-.045em}h1{font-size:clamp(44px,5.1vw,76px)}h2{font-size:clamp(34px,3.8vw,52px)}h3{font-size:21px;font-weight:600;line-height:1.3}em{font-weight:400}.wrap{max-width:1280px;width:calc(100% - 112px);margin:auto}.section{padding:100px 0;scroll-margin-top:30px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;display:flex;align-items:center;gap:10px;margin-bottom:24px}.eyebrow:before{content:'';height:1px;width:28px;background:currentColor}.muted{color:var(--muted)}.small{font-size:13px}.accent{color:var(--ochre)}.pill{border:1px solid var(--line);border-radius:99px;padding:6px 12px;font-size:12px;line-height:1.4;display:inline-flex;align-items:center;gap:7px}.dot{width:6px;height:6px;border-radius:50%;background:#a34c2e;display:inline-block}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;border:1px solid transparent;border-radius:8px;padding:15px 22px;font-weight:600;font-size:14px;line-height:1.3;text-decoration:none;transition:background .2s,transform .2s;min-height:49px}.button:hover{transform:translateY(-2px)}.primary{color:white;background:var(--ochre)}.primary:hover{background:#823a21}.outline{border-color:#c3c8bc;background:transparent;color:var(--ink)}.outline:hover{background:#eee9df}.light{background:var(--cream);color:var(--ink)}.icon{width:22px;height:22px;display:inline-block;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.arrow{font-size:20px;line-height:1}.skip{position:fixed;top:-90px;left:15px;z-index:1000;padding:12px;background:var(--ink);color:#fff}.skip:focus{top:10px}.topline{padding:8px 15px;text-align:center;background:var(--green);color:#f2efe3;font-size:11px;letter-spacing:.05em}.site-header{position:sticky;top:0;z-index:50;background:rgba(251,248,242,.96);backdrop-filter:blur(14px);border-bottom:1px solid #e6e4da}.header-inner{height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;flex-shrink:0}.brand-mark{width:40px;height:43px;color:var(--ochre)}.brand-copy{display:flex;flex-direction:column;font-family:var(--serif);font-size:22px;line-height:1.1;letter-spacing:-.03em}.brand-copy small{font-family:var(--sans);font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-top:5px}.nav{display:flex;gap:25px}.nav a{font-size:12px;text-decoration:none;transition:color .2s}.nav a:hover{color:var(--ochre)}.header-actions{display:flex;align-items:center;gap:22px}.lang-switch{display:flex;gap:3px;align-items:center;font-size:12px}.lang-switch button{border:0;background:transparent;color:var(--muted);padding:7px;font-size:11px;border-radius:4px}.lang-switch button[aria-pressed=true]{background:#ebe6dc;color:var(--ink);font-weight:700}.header-cta{padding:12px 15px;min-height:43px;font-size:12px}.mobile-toggle{display:none;border:0;background:transparent;color:var(--ink);padding:8px}.hero{padding:64px 0 64px;display:grid;grid-template-columns:1.06fr 1fr;gap:60px;align-items:center}.hero h1 span{display:block}.hero h1 em{color:var(--ochre)}.hero .eyebrow{margin-bottom:27px}.hero-lead{font-size:16px;line-height:1.8;max-width:440px;margin:25px 0 25px;color:#606b62}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.hero-note{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);margin-top:17px}.hero-note .icon{width:15px;height:15px}.hero-image{position:relative;padding:0 0 24px 22px}.hero-image:before{content:'';position:absolute;inset:25px -15px 0 0;background:#e9d7bf;border-radius:150px 12px 12px 12px;z-index:-1}.hero-image img{height:476px;border-radius:150px 12px 12px 12px;object-position:48% center}.hero-image figure{margin:0}.photo-label{position:absolute;right:20px;bottom:46px;border-radius:7px;background:rgba(255,253,249,.94);padding:13px 18px;display:flex;align-items:center;gap:13px;font-size:12px;box-shadow:0 10px 30px #0001}.photo-label small{display:block;color:var(--muted);font-size:10px}.hero-stamp{position:absolute;left:-12px;top:25px;width:95px;height:95px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--green);color:#f8f0dd;border:5px solid var(--cream);border-radius:50%;line-height:1.4;text-align:center;font-size:9px;letter-spacing:.05em}.hero-stamp strong{font:italic 23px var(--serif);margin-bottom:2px}.trust-strip{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 0;margin-bottom:7px;gap:20px}.trust-item{display:flex;align-items:center;justify-content:center;gap:14px;font-size:12px}.trust-item .icon{color:var(--ochre)}.trust-item:not(:last-child){border-right:1px solid var(--line)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:36px;margin-bottom:42px}.section-head p{max-width:350px;font-size:14px;color:var(--muted)}.course-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);gap:0 54px}.course{padding:27px 0 26px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:55px 1fr 30px;align-items:start;gap:12px;text-decoration:none}.course:hover h3{color:var(--ochre)}.course-number{font:italic 27px var(--serif);color:#b2835c;line-height:1.2}.course p{font-size:13px;color:var(--muted);margin-top:10px;max-width:360px}.course .pill{margin-top:17px;background:var(--paper);font-size:10px;padding:4px 9px}.course .arrow{margin-top:2px;color:var(--ochre)}.method{background:var(--green);color:#faf5e8;position:relative;overflow:hidden}.method .eyebrow{color:#dcb17b}.method-intro{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:start}.method-intro>div:first-child>p{color:#d0d7cf;font-size:14px;max-width:420px;margin:25px 0}.about{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:center}.portrait-frame{position:relative;max-width:440px}.portrait-frame img{height:470px;border-radius:12px 12px 100px 12px;object-position:50% 8%;object-fit:cover}.portrait-frame:before{content:'';position:absolute;inset:19px 22px -19px -20px;border:1px solid #cdaa7e;border-radius:12px 12px 100px 12px;z-index:-1}.portrait-caption{position:absolute;bottom:22px;left:22px;color:white;background:var(--green);border-radius:5px;padding:13px 20px;font-size:11px}.portrait-caption strong{display:block;font:24px var(--serif)}.about-copy>p{font-size:14px;color:var(--muted);margin:22px 0}.about-copy .quote{font:italic 24px/1.5 var(--serif);color:var(--ochre);padding-left:23px;border-left:2px solid #ca9e6c}.experience{display:flex;gap:26px;align-items:start;margin-top:26px}.experience div{flex:1;padding-top:18px;border-top:1px solid var(--line)}.experience strong{display:block;font:23px var(--serif);color:var(--ink)}.experience span{font-size:11px;color:var(--muted);display:block;margin-top:4px}.pricing{background:#f0ede3}.price-head{text-align:center;max-width:650px;margin:0 auto 30px}.price-head .eyebrow{justify-content:center}.price-head>p{font-size:14px;color:var(--muted);margin-top:20px}.prices{max-width:930px;display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:auto}.price-card{background:var(--paper);padding:34px 36px;border:1px solid #dcded0;border-radius:12px;position:relative}.price-card.online{border-top:3px solid var(--ochre)}.price-type{display:flex;align-items:center;gap:12px}.price-type h3{font-size:19px}.price-type .icon{color:var(--ochre)}.price-tag{display:flex;align-items:baseline;gap:10px;margin-top:23px}.price-tag strong{font:57px/1.15 var(--serif);letter-spacing:-.05em}.price-tag span{font-size:13px;color:var(--muted)}.price-card .hourly{font-size:12px;color:var(--muted);margin:5px 0 17px}.tax-line{min-height:56px;background:#eff2e9;padding:12px 15px;border-radius:6px;font-size:12px;color:#425b40;line-height:1.5;margin-bottom:24px}.tax-line strong{font-size:16px}.online .tax-line{background:#f7ecdf;color:#965333}.price-card ul{list-style:none;padding:0;margin:20px 0 27px;min-height:100px}.price-card li{font-size:12px;display:flex;gap:9px;margin:9px 0}.price-card li:before{content:'✓';color:#57734a}.price-card .button{width:100%}.price-footnote{font-size:11px;color:var(--muted);max-width:930px;margin:23px auto 0}.payment-note{max-width:930px;margin:26px auto 0;display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #d0d3c6;padding-top:20px;font-size:12px}.text-button{background:none;border:0;color:var(--ochre);padding:4px 0;font-size:12px;font-weight:600;text-decoration:underline;text-underline-offset:5px}.area{position:relative;background:var(--green);color:white;min-height:355px;display:flex;align-items:center}.area img{position:absolute;inset:0;height:100%;width:100%;object-position:center 53%;opacity:.42}.area:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#172e26e8,#172e2620)}.area .wrap{z-index:1;position:relative;padding:65px 0}.area h2{max-width:630px}.area p{font-size:14px;margin:17px 0 23px;max-width:500px;color:#e7e8e1}.towns{display:flex;flex-wrap:wrap;gap:9px}.towns .pill{background:#faf8ee18;border-color:#faf8ee66}.resource-box{border:1px solid var(--line);border-radius:14px;display:grid;grid-template-columns:.8fr 1.3fr;overflow:hidden}.resource-art{background:#e9dfcd;min-height:300px;display:flex;align-items:center;justify-content:center;position:relative}.resource-art .icon{height:100px;width:100px;stroke-width:.55;color:#7c5b38}.resource-art:before{content:'';position:absolute;width:190px;height:190px;border:1px solid #bfa57d;border-radius:50%}.resource-copy{padding:38px 45px;background:var(--paper)}.resource-copy .pill{font-size:10px;color:var(--ochre);border-color:#d6baa1}.resource-copy h3{font:29px/1.2 var(--serif);margin:17px 0}.resource-copy p{font-size:13px;color:var(--muted);max-width:500px}.resource-types{display:flex;gap:16px;flex-wrap:wrap;margin-top:24px;font-size:11px;color:#60695d}.resource-types span{display:flex;align-items:center;gap:7px}.resource-types .icon{height:15px;width:15px}.faq{padding-top:0}.faq-grid{display:grid;grid-template-columns:.8fr 1.3fr;gap:65px}.faq-list details{border-top:1px solid var(--line);padding:20px 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;display:flex;gap:15px;align-items:center;justify-content:space-between;cursor:pointer;font-size:14px;font-weight:600}.faq-list summary:after{content:'+';font-weight:400;font-size:22px;color:var(--ochre)}.faq-list details[open] summary:after{content:'−'}.faq-list details p{font-size:13px;color:var(--muted);padding-top:15px}.contact{background:#ece7db}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.contact-copy>p{font-size:14px;color:var(--muted);margin:24px 0;max-width:350px}.contact-methods{display:flex;flex-direction:column;gap:17px;margin:35px 0}.contact-methods a{display:flex;align-items:center;gap:12px;font-size:13px;text-decoration:none;overflow-wrap:anywhere}.contact-methods .icon{color:var(--ochre)}.contact-copy .small{font-size:12px;max-width:330px;color:var(--muted)}.contact-form{background:var(--paper);padding:30px;border:1px solid #dedbd1;border-radius:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 18px}.field{display:flex;flex-direction:column;gap:7px}.field.wide{grid-column:1/-1}.field label{font-size:11px;font-weight:600}.field input,.field select,.field textarea{border:1px solid #d7dbce;border-radius:5px;padding:11px 12px;background:#fffefb;color:var(--ink);width:100%;font-size:12px;min-width:0;min-height:43px}.field input::placeholder,.field textarea::placeholder{color:#899083;opacity:1}.field textarea{resize:vertical;min-height:90px}.field[hidden]{display:none}.form-caption{font-size:11px;color:var(--muted);margin:18px 0 19px;line-height:1.6}.form-caption a{color:var(--ochre)}.contact-form .button{width:100%}.form-how{font-size:10px;color:var(--muted);margin-top:12px;text-align:center}.footer{background:#f9f5ec;padding:42px 0 25px}.footer-top{display:flex;justify-content:space-between;gap:30px;align-items:center;padding-bottom:29px;border-bottom:1px solid var(--line)}.footer-brand p{font-size:12px;color:var(--muted);margin-top:12px}.footer-social{display:flex;gap:24px;font-size:12px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:20px;font-size:10px;color:var(--muted)}.footer-links{display:flex;gap:17px;flex-wrap:wrap}.footer-links button{font-size:10px;background:none;border:0;color:var(--muted);padding:0;cursor:pointer}.footer-links button:hover{text-decoration:underline}.back-top{width:40px;height:40px;border:1px solid #d6d5c8;border-radius:50%;display:grid;place-items:center;text-decoration:none;color:var(--ochre)}dialog{border:1px solid var(--line);border-radius:14px;max-width:680px;width:calc(100% - 34px);padding:0;background:var(--paper);color:var(--ink);max-height:87dvh;box-shadow:0 20px 100px #0003}dialog::backdrop{background:#10281ec7;backdrop-filter:blur(4px)}.dialog-inner{padding:34px}.dialog-heading{display:flex;justify-content:space-between;align-items:start;gap:20px}.dialog-heading h2{font-size:30px;letter-spacing:-.025em}.dialog-close{border:1px solid var(--line);border-radius:50%;background:transparent;min-width:32px;width:32px;height:32px;display:grid;place-items:center;padding:0;font-size:21px;line-height:1}.dialog-body{font-size:13px;margin-top:24px;overflow-wrap:anywhere}.dialog-body h3{font-size:15px;margin:25px 0 8px}.dialog-body p{margin:12px 0}.dialog-body ul{padding-left:19px}.dialog-body .button{margin-top:15px}.dialog-body a{color:var(--ochre)}.dialog-body a.button{color:white}.dialog-body a.outline{color:var(--ink)}.dialog-body .notice{background:#f3e8d9;padding:13px 17px;border-radius:6px}.draft{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.75 var(--sans);padding:18px;background:#f2f2e9;border:1px solid #e1e1d6;border-radius:8px;max-height:280px;overflow:auto}.draft-buttons{display:flex;gap:10px;flex-wrap:wrap}.draft-buttons .button{flex:1;min-width:170px}.copy-status{font-size:12px;min-height:23px;margin-top:10px}.no-js{padding:20px;background:#f6ead8}.no-js a{color:var(--ochre)}
@media(min-width:1500px){.hero{padding-top:80px;padding-bottom:80px;gap:90px}.hero-image img{height:530px}}
@media(max-width:1120px){.wrap{width:calc(100% - 64px)}.nav{gap:16px}.header-actions{gap:12px}.hero{gap:30px}.hero-image img{height:450px}.hero h1{font-size:57px}.hero-image:before{right:-5px}.about{gap:55px}.contact-grid{gap:40px}.header-cta{display:none}}
@media(max-width:800px){.wrap{width:calc(100% - 40px)}.header-inner{height:74px}.nav{position:absolute;left:0;right:0;top:74px;background:var(--cream);border-bottom:1px solid var(--line);padding:20px;flex-direction:column;gap:0;display:none;box-shadow:0 12px 15px #0001}.nav.open{display:flex}.nav a{padding:13px 10px;font-size:14px}.mobile-toggle{display:block}.header-actions{gap:8px}.hero{padding-top:38px;grid-template-columns:1fr;gap:35px}.hero h1{font-size:clamp(43px,8.4vw,65px)}.hero-lead{max-width:560px;font-size:14px}.hero-image{max-width:600px;width:100%;margin:auto;padding-left:16px}.hero-image img{height:355px;border-radius:90px 10px 10px 10px}.hero-image:before{border-radius:90px 10px 10px 10px;right:0}.hero-stamp{left:0;width:80px;height:80px;top:15px}.hero-stamp strong{font-size:20px}.trust-strip{gap:10px;padding:20px 0}.trust-item{flex-direction:column;gap:6px;text-align:center;font-size:10px}.trust-item .icon{width:21px}.section{padding:65px 0}.section-head{align-items:start;flex-direction:column;gap:20px;margin-bottom:30px}.section-head p{max-width:none}.course-grid{gap:0 26px}.course{grid-template-columns:30px 1fr 15px;gap:10px}.course h3{font-size:18px}.course-number{font-size:24px}.method-intro,.about,.contact-grid,.faq-grid{grid-template-columns:1fr;gap:35px}.method-intro>div:first-child>p{max-width:none}.portrait-frame{max-width:360px;margin:auto;width:calc(100% - 20px)}.portrait-frame img{height:390px;object-position:50% 2%}.about-copy .quote{font-size:22px}.prices{gap:16px}.price-card{padding:25px 23px}.price-tag strong{font-size:49px}.price-card ul{min-height:120px}.resource-box{grid-template-columns:.6fr 1fr}.resource-copy{padding:30px 25px}.resource-art .icon{width:80px;height:80px}.resource-art:before{width:130px;height:130px}.faq{padding-top:0}.contact-copy>p{max-width:none}.contact-methods{margin:25px 0}.contact-form{padding:25px}.footer-top{align-items:start}.footer-bottom{flex-direction:column;gap:15px}.area .wrap{padding:50px 0}.area h2{max-width:570px}.brand-copy{font-size:20px}.brand-mark{width:33px}.photo-label{font-size:11px;bottom:40px}}
@media(max-width:520px){.topline{font-size:10px;padding:7px 10px}.header-inner{gap:12px}.brand-copy small{font-size:8px}.brand-copy{font-size:20px}.brand-mark{width:29px}.hero h1{font-size:45px}.hero .eyebrow{font-size:9px;letter-spacing:.12em}.hero-actions{gap:9px}.hero-actions .button{padding:13px 15px;font-size:12px;gap:11px}.hero-image img{height:300px;object-position:48% center}.hero-note{font-size:10px}.hero{padding-bottom:35px}.section{padding:55px 0}.course-grid{grid-template-columns:1fr}.course{grid-template-columns:35px 1fr 25px}.course p{font-size:12px}.course .pill{font-size:10px}.course h3{font-size:20px}.prices{grid-template-columns:1fr}.price-card{padding:28px}.price-card ul{min-height:0}.payment-note{flex-direction:column;align-items:start;gap:8px}.resource-box{grid-template-columns:1fr}.resource-art{min-height:160px}.resource-art:before{width:110px;height:110px}.resource-art .icon{width:65px;height:65px}.resource-copy{padding:26px}.faq{padding-top:0}.form-grid{grid-template-columns:1fr}.field.wide{grid-column:auto}.contact-form{padding:21px}.footer-top{flex-direction:column;gap:22px}.footer-social{gap:20px;align-items:center}.footer-links{gap:14px}.experience{gap:16px}.experience strong{font-size:20px}.portrait-frame img{height:365px}.dialog-inner{padding:24px}.dialog-heading h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
/* Separate pages share one menu, with the current page visibly selected. */
.nav{gap:6px}.nav a{padding:9px 10px;border-radius:6px;white-space:nowrap}.nav a[aria-current=page]{background:#eee4d6;color:var(--ochre);font-weight:700;box-shadow:inset 0 -2px var(--ochre)}.page-main{min-height:calc(100svh - 340px)}.page-main:not([data-page=home]) h1{font-size:clamp(34px,3.8vw,52px)}.page-main>.section:first-child{padding-top:65px}.page-main[data-page=home] .trust-strip{margin-bottom:65px}.page-main[data-page=contact] .faq{padding-top:65px}.page-main[data-page=tarifs] .pricing{padding-bottom:65px}.page-main[data-page=ressources] .section{padding-bottom:65px}.page-main[data-page=methode] .about{padding-top:75px;padding-bottom:75px}@media(max-width:1120px){.nav{gap:2px}.nav a{padding:8px;font-size:11px}}@media(max-width:800px){.nav{gap:0}.nav a{padding:13px 14px;font-size:14px}.page-main>.section:first-child{padding-top:45px}.page-main[data-page=home] .trust-strip{margin-bottom:40px}.page-main[data-page=methode] .about{padding:55px 0}.page-main[data-page=contact] .faq{padding-top:50px}}

/* Footer social links, styled as accessible buttons. */
.footer-social{gap:12px;align-items:center;flex-wrap:wrap}.footer-social .social-button{gap:9px;padding:11px 16px;min-height:44px;font-size:12px;color:#fff;border-radius:8px;white-space:nowrap}.social-button .icon{width:18px;height:18px}.social-external{font-size:15px;line-height:1;margin-left:2px}.social-facebook{background:#0866ff}.social-facebook:hover{background:#0754d4}.footer-social .social-whatsapp{background:#25d366;color:#123b22}.footer-social .social-whatsapp:hover{background:#20bd5b}.footer-social .back-top{flex-shrink:0}
@media(max-width:520px){.footer-social{gap:10px}.footer-social .social-button{padding:11px 13px;gap:7px}}

/* Persistent social shortcuts with space below the footer on small screens. */
.floating-social{position:fixed;right:max(12px,env(safe-area-inset-right));bottom:calc(22px + env(safe-area-inset-bottom));z-index:40;display:flex;flex-direction:column;gap:10px}.floating-social-link{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:#fff;text-decoration:none;box-shadow:0 3px 12px #10281e33;transition:transform .2s,background .2s}.floating-social-link:hover{transform:translateY(-2px)}.floating-social-link .icon{width:23px;height:23px}.floating-social .social-whatsapp{background:#25d366;color:#123b22}.floating-social .social-whatsapp:hover{background:#20bd5b}body:has(dialog[open]) .floating-social,body:has(.mobile-toggle[aria-expanded=true]) .floating-social{visibility:hidden;pointer-events:none}
@media(max-width:800px){.floating-social{right:calc(14px + env(safe-area-inset-right));bottom:calc(14px + env(safe-area-inset-bottom));flex-direction:row;gap:10px}.floating-social-link{width:48px;height:48px}.footer{padding-bottom:calc(90px + env(safe-area-inset-bottom))}body:has(.contact-form :is(input,select,textarea):focus) .floating-social{visibility:hidden;pointer-events:none}}
@media print{.floating-social{display:none}}

/* Make the tutoring offer explicit at first glance. */
.hero h1{font-size:clamp(44px,4.5vw,64px)}.hero-subjects{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:24px 0 0}.hero-subjects li{padding:5px 10px;border:1px solid #d9cbb7;border-radius:5px;background:#f5ecdf;color:var(--ink);font-size:12px;font-weight:600;line-height:1.5}.hero .hero-lead{margin-top:19px;max-width:490px;font-size:15px}.hero .eyebrow{margin-bottom:23px}
@media(max-width:800px){.hero h1{font-size:clamp(39px,7vw,58px)}.hero .hero-lead{font-size:14px}.hero-subjects{margin-top:21px}.hero .eyebrow{font-size:10px;letter-spacing:.12em}}
@media(max-width:520px){.hero h1{font-size:clamp(35px,10vw,43px)}.hero-subjects{gap:7px}.hero-subjects li{font-size:11px;padding:4px 9px}.hero .eyebrow{font-size:9px}}

/* Introduce Thomas alongside the local landscape on the home page. */
.hero-tutor{position:absolute;left:-18px;bottom:-8px;z-index:1;display:block;width:180px;border:5px solid var(--cream);border-radius:13px;background:var(--paper);box-shadow:0 9px 28px #283c3426;color:var(--ink);text-decoration:none;overflow:hidden;transition:transform .2s,box-shadow .2s}.hero-image .hero-tutor-photo{width:100%;height:182px;object-fit:cover;object-position:50% 0;border-radius:8px 8px 0 0}.hero-tutor-copy{padding:12px 12px 13px;display:flex;flex-direction:column;gap:3px}.hero-tutor-role{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.hero-tutor-copy strong{font-family:var(--serif);font-size:21px;font-weight:400;line-height:1.2;letter-spacing:-.03em}.hero-tutor-link{font-size:11px;color:var(--ochre);margin-top:5px;display:flex;align-items:center;justify-content:space-between;gap:8px}.hero-tutor:hover{transform:translateY(-3px);box-shadow:0 12px 30px #283c3433}.hero-tutor:hover .hero-tutor-link{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1120px) and (min-width:801px){.hero-tutor{width:155px;left:-8px;bottom:-15px}.hero-image .hero-tutor-photo{height:156px}.hero-tutor-copy strong{font-size:18px}.hero-image .photo-label{top:20px;bottom:auto;right:15px}}
@media(max-width:800px){.hero-tutor{width:160px;left:0;bottom:-8px}.hero-image .hero-tutor-photo{height:170px}.hero-image .photo-label{top:18px;right:14px;bottom:auto}.hero-tutor-copy strong{font-size:19px}}
@media(max-width:520px){.hero-image>figure>img{height:350px}.hero-tutor{width:150px;bottom:-12px}.hero-image .hero-tutor-photo{height:155px}.hero-tutor-copy{padding:10px}.hero-tutor-copy strong{font-size:18px}.hero-tutor-role{font-size:9px}.hero-image .photo-label{padding:9px 11px;font-size:10px;gap:8px}.hero-image .photo-label small{font-size:9px}.hero-image .photo-label .icon{width:17px;height:17px}}

.hero-tutor-image{height:182px;overflow:hidden;border-radius:8px 8px 0 0}.hero-image .hero-tutor-photo{height:100%;border-radius:0;transform:scale(1.45);transform-origin:50% 8%}
@media(max-width:1120px) and (min-width:801px){.hero-tutor-image{height:156px}}
@media(max-width:800px){.hero-tutor-image{height:170px}}
@media(max-width:520px){.hero-tutor-image{height:155px}}


/* Give each town equal visibility and distinguish the at-home service. */
.topline{display:flex;justify-content:center;flex-wrap:wrap;gap:2px 24px}.hero-area{display:flex;align-items:flex-start;gap:11px;margin-top:24px;padding:1px 0 1px 14px;border-left:3px solid #c4935a}.hero-area>.icon{color:var(--ochre);width:20px;height:20px;flex-shrink:0;margin-top:1px}.hero-area p{font-size:12px;color:var(--muted);line-height:1.5}.hero-area ul{display:grid;grid-template-columns:max-content max-content;gap:1px 27px;list-style:none;padding:0;margin:5px 0 0}.hero-area li{font-size:18px;line-height:1.55;font-weight:600}.hero-subjects{margin-top:22px}.footer-brand p{max-width:400px}
@media(max-width:520px){.topline{gap:0 20px;letter-spacing:0}.hero-area{margin-top:21px;padding-left:11px;gap:8px}.hero-area ul{gap:1px 22px}.hero-area li{font-size:16px}.hero-area p{font-size:11px}.hero-subjects{margin-top:19px}}

/* One subject per row, with a compact photograph and its lesson details. */
.course-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.course-list>li{margin:0;padding:0;min-width:0}
.course-list .course{grid-template-columns:36px 168px minmax(0,1fr) 24px;gap:26px;align-items:center;padding:26px 0;min-width:0}
.course-list .course-number{font-size:27px}
.course-media{display:block;overflow:hidden;border-radius:8px;background:#eee4d6;aspect-ratio:4/3}
.course-media img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.course:hover .course-media img{transform:scale(1.035)}
.course-copy{min-width:0}
.course-list h2{font-family:var(--sans);font-size:24px;font-weight:600;line-height:1.3;letter-spacing:-.02em;overflow-wrap:anywhere}
.course:hover h2{color:var(--ochre)}
.course-list p{font-size:14px;line-height:1.7;max-width:740px;margin-top:9px}
.course-list .pill{margin-top:12px;font-size:11px}
.course-list .arrow{margin:0;font-size:23px}
.course-list .course:focus-visible{outline-offset:5px;border-radius:4px}
@media(max-width:900px){.course-list .course{grid-template-columns:28px 120px minmax(0,1fr) 20px;gap:20px}.course-list h2{font-size:22px}}
@media(max-width:640px){.course-list .course{grid-template-columns:80px minmax(0,1fr) 18px;gap:14px;padding:23px 0;align-items:start}.course-list .course-number{display:none}.course-media{margin-top:3px;aspect-ratio:1/1}.course-list h2{font-size:20px}.course-list p{font-size:13px;line-height:1.6}.course-list .pill{font-size:10px;margin-top:11px}.course-list .arrow{font-size:20px;margin-top:3px}}

/* Curriculum page, with qualifications and a chronological teaching history. */
.career-hero{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:90px;align-items:center;padding-bottom:65px}.career-hero .eyebrow{margin-bottom:19px}.career-qualification{font:29px/1.3 var(--serif);color:var(--ochre);margin-top:22px;max-width:620px}.career-intro,.career-current{font-size:14px;line-height:1.8;color:var(--muted);max-width:640px;margin-top:18px}.career-current{margin-top:10px}.career-portrait{width:100%;margin:0}.career-portrait img{height:350px;object-position:50% 8%;border-radius:12px 12px 75px 12px}.career-portrait:before{border-radius:12px 12px 75px 12px}.career-jumps{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:27px}.career-jumps a{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:600;color:var(--ochre);text-decoration:none;padding:6px 0;border-bottom:1px solid #caa786}.career-jumps a:hover{color:var(--ink);border-color:var(--ink)}.career-columns{display:grid;grid-template-columns:.9fr 1.3fr;gap:90px;padding-bottom:70px}.career-section{scroll-margin-top:115px}.career-columns h2,.career-research h2{font-size:34px;letter-spacing:-.035em}.career-education,.career-timeline,.career-industry{list-style:none;padding:0;margin:30px 0 0}.career-education li{padding:0 0 23px;margin-bottom:23px;border-bottom:1px solid var(--line)}.career-date{font-size:11px;letter-spacing:.035em;color:var(--ochre);font-weight:600;margin-bottom:8px}.career-columns h3,.career-industry h3{font-size:18px;line-height:1.4}.career-place{font-size:13px;font-weight:600;margin-top:5px}.career-detail{font-size:13px;line-height:1.8;color:var(--muted);margin-top:9px}.career-distinction{padding:17px 20px;background:#f2e7d8;border-left:3px solid #bc8c54;border-radius:0 7px 7px 0}.career-distinction span{display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ochre)}.career-distinction strong{display:block;font-size:14px;margin-top:5px}.career-timeline{border-left:1px solid #c9cdbf;margin-left:5px;padding-left:29px}.career-timeline li{position:relative;padding:0 0 28px}.career-timeline li:last-child{padding-bottom:0}.career-timeline li:before{content:'';position:absolute;top:4px;left:-34px;width:9px;height:9px;border-radius:50%;background:var(--ochre);box-shadow:0 0 0 5px var(--cream)}.career-skills{margin-top:45px}.career-skills h2{font-size:28px}.career-skills ul{padding-left:18px;margin:20px 0 27px;font-size:13px;color:var(--muted)}.career-skills li{padding:3px 0}.career-skills li::marker{color:var(--ochre)}.career-skills dl{margin:13px 0 0}.career-skills dl div{display:grid;grid-template-columns:75px 1fr;gap:12px;font-size:12px;margin:7px 0}.career-skills dt{font-weight:600}.career-skills dd{margin:0;color:var(--muted)}.career-research{padding:55px 0;background:#f0ede3;scroll-margin-top:88px}.career-research .section-head{gap:35px;margin-bottom:28px}.career-research .section-head p{max-width:510px}.career-industry{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin:0}.career-industry li{padding-top:22px;border-top:1px solid #cbd0c0}.career-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;padding:38px 0 55px}.method-profile-link{padding:30px 0 45px}
@media(max-width:1240px){.header-cta{display:none}.career-hero{gap:60px}.career-columns{gap:60px}}
@media(max-width:900px){.career-hero{grid-template-columns:minmax(0,1fr) 250px;gap:45px}.career-portrait img{height:310px}.career-columns{gap:40px}.career-jumps{gap:8px 16px}.career-industry{gap:24px}}
@media(max-width:800px){.career-hero{grid-template-columns:1fr;gap:35px;padding-bottom:55px}.career-portrait{width:260px;max-width:calc(100% - 20px);margin:auto}.career-portrait img{height:300px}.career-columns{grid-template-columns:1fr;gap:45px;padding-bottom:50px}.career-qualification{font-size:26px}.career-intro,.career-current{max-width:none}.career-columns h2,.career-research h2{font-size:30px}.career-skills{margin-top:35px}.career-skills h2{font-size:26px}.career-industry{grid-template-columns:1fr;gap:25px}.career-research{padding:45px 0}.career-research .section-head{gap:17px}.career-actions{padding:30px 0 45px}.career-section{scroll-margin-top:95px}.method-profile-link{padding:25px 0 35px}}

/* The three lesson locations share one comparison, with room for translated copy. */
.hero-tutor-offer{display:inline-block;margin-top:10px;color:var(--ochre);font-size:13px;font-weight:600;text-underline-offset:3px;text-decoration:underline}
.prices{max-width:1160px;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.price-card{padding:30px 25px;display:flex;flex-direction:column;border-top:3px solid #dcded0}
.price-card.tutor{border-top-color:var(--ochre)}
.price-card.online{border-top-color:#dcded0}
.price-type{min-height:52px}.price-type .icon{flex-shrink:0}.price-type h3{line-height:1.3}
.price-card .tax-line{min-height:64px;display:flex;align-items:center;flex-wrap:wrap;gap:0 4px}
.tutor .tax-line{background:#f7ecdf;color:#965333}
.price-card ul{flex:1;min-height:112px}
.price-card .button{min-height:58px;text-align:center;line-height:1.5}
.price-footnote,.payment-note{max-width:1160px}
.mode-hint{font-size:12px;color:var(--muted);line-height:1.5;margin-top:8px}
@media(max-width:1000px){.prices{grid-template-columns:1fr;max-width:560px}.price-type{min-height:0}.price-card ul{min-height:0}.price-card .tax-line{min-height:56px}.price-footnote,.payment-note{max-width:560px}}

/* Show the tax-adjusted cost alongside the full amount actually payable. */
.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}
.price-card.home{border-top-color:#527148}
.price-tag.tax-price{flex-wrap:wrap;gap:3px 13px}
.tax-price s{font:28px/1.2 var(--serif);color:#767a6f;text-decoration-thickness:1.5px}
.tax-price strong{color:var(--green)}
.tax-price .price-unit{white-space:nowrap}
.tax-after-label{font-size:13px;font-weight:700;line-height:1.5;color:#3e5d36;margin:7px 0 8px}
.price-card.home .hourly{margin-top:0}
.price-card .tax-payment{display:block;padding:13px 15px;line-height:1.6}
.tax-payment p+p{font-size:11px;margin-top:5px}
.tax-payment strong{white-space:nowrap}

/* Hourly pricing, with no duration selector or repeated hourly amount. */
.price-card .price-tag{margin-bottom:18px}
.price-card.home .price-tag{margin-bottom:4px}
.price-card .tax-after-label{margin-bottom:18px}

/* Illustrative scenes complement the CV while keeping its chronology readable. */
.career-scene{margin:24px 0 0;min-width:0}
.career-scene img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:10px;background:#e9e1d3}
.career-scene--section img{height:270px;aspect-ratio:auto}
.career-scene figcaption{font-size:10px;line-height:1.5;color:var(--muted);margin-top:8px;letter-spacing:.015em}
.career-scene--entry{max-width:440px;margin:17px 0 4px}
.career-scene--entry img{aspect-ratio:2/1}
.career-scene--wide{margin:0 0 30px}
.career-scene--wide img{height:280px;aspect-ratio:auto;object-position:center 58%}
@media(max-width:800px){.career-scene--section img{height:auto;aspect-ratio:16/10}.career-scene{margin-top:20px}.career-scene--wide{margin:0 0 25px}.career-scene--wide img{height:auto;aspect-ratio:16/10}.career-scene--entry{margin-top:16px}.career-scene figcaption{font-size:10px}}
/* Teaching approach: concrete explanations, with a readable numbered sequence. */
.method-intro{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:68px;align-items:center}
.method-opening h1{font-size:clamp(40px,4.4vw,64px)}
.method-intro>div.method-opening:first-child>p{font-size:16px;max-width:560px;line-height:1.8;margin:24px 0;color:#dbe1da}
.method-jump{display:inline-flex;align-items:center;gap:20px;color:#eed0a0;font-size:14px;font-weight:600;margin-top:8px}
.method-jump span{font-size:21px;text-decoration:none}
.method-notebook{background:var(--cream);color:var(--ink);border-radius:12px;padding:36px 38px;box-shadow:12px 12px 0 #ffffff0b}
.method-notebook .eyebrow{color:var(--ochre);font-size:10px;letter-spacing:.12em}
.method-notebook h2{font-size:33px;line-height:1.15;letter-spacing:-.025em}
.method-notebook dl{margin:24px 0 20px}
.method-notebook dl>div{padding:15px 0;border-bottom:1px solid var(--line)}
.method-notebook dt{font-size:15px;font-weight:700;line-height:1.4}
.method-notebook dd{margin:6px 0 0;font-size:14px;line-height:1.65;color:var(--muted)}
.method-notebook-foot{font-size:12px;line-height:1.6;color:var(--muted)}
.method-section-head{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:end;margin-bottom:45px}
.method-section-head>p{font-size:16px;color:var(--muted);max-width:450px}
.method-sequence{list-style:none;margin:0;padding:0}
.method-sequence li{display:grid;grid-template-columns:50px minmax(180px,0.8fr) minmax(0,1.8fr);gap:30px;align-items:start;padding:31px 0;border-top:1px solid var(--line)}
.method-sequence li:last-child{border-bottom:1px solid var(--line)}
.method-number{font:italic 30px var(--serif);color:var(--ochre);line-height:1.1}
.method-sequence h3{font-size:20px;line-height:1.45}
.method-sequence p{font-size:16px;line-height:1.8;color:var(--muted);max-width:690px}
.method-adapt{background:#f0ede3}
.method-contexts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px;margin-top:42px}
.method-contexts article{border-top:2px solid #c8b299;padding-top:24px}
.method-contexts h3{font-size:19px;margin-bottom:14px}
.method-contexts p{font-size:15px;line-height:1.8;color:var(--muted)}
.method-goal{display:flex;align-items:center;justify-content:space-between;gap:35px;border-top:1px solid #d7d4c8;margin-top:42px;padding-top:32px}
.method-goal p{max-width:640px;font:24px/1.45 var(--serif)}
.method-goal .button{flex-shrink:0}
@media(max-width:1000px){.method-intro{gap:38px}.method-notebook{padding:28px}.method-section-head{gap:35px}.method-sequence li{grid-template-columns:40px minmax(160px,.8fr) minmax(0,1.5fr);gap:22px}.method-contexts{gap:25px}}
@media(max-width:800px){.method-intro,.method-section-head{grid-template-columns:1fr;gap:32px}.method-intro{align-items:start}.method-notebook{max-width:600px;width:100%;margin:0 auto}.method-opening h1{font-size:clamp(40px,7.5vw,58px)}.method-section-head{margin-bottom:30px}.method-section-head>p{max-width:600px}.method-sequence li{grid-template-columns:36px minmax(0,1fr);gap:10px 18px;padding:25px 0}.method-sequence p{grid-column:2}.method-contexts{grid-template-columns:1fr;gap:28px}.method-contexts article{padding-top:20px}.method-contexts h3{margin-bottom:10px}.method-goal{align-items:flex-start;flex-direction:column;gap:24px}.method-goal p{font-size:24px}}
@media(max-width:480px){.method-notebook{padding:26px 23px}.method-notebook h2{font-size:30px}.method-intro>div.method-opening:first-child>p{font-size:15px;line-height:1.8}.method-sequence h3{font-size:18px}.method-sequence p{font-size:15px}.method-number{font-size:26px}.method-goal .button{width:100%}}

/* Group quote offer, separate from the individual hourly rates. */
.group-offer{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:28px 32px;margin:32px 0;background:#f2e7d9;border:1px solid #e1d0bc;border-radius:12px}
.group-offer h2{font:600 22px/1.35 var(--sans);letter-spacing:0;color:var(--ochre);margin-bottom:10px}
.group-offer p{font-size:15px;line-height:1.75;max-width:760px;color:var(--ink)}
.group-offer .button{flex-shrink:0}
.individual-rates-title{font:600 19px/1.4 var(--sans);letter-spacing:0;margin:0 0 20px}
.group-request-hint{font-size:12px;line-height:1.6;color:var(--muted);margin-top:8px}
@media(max-width:700px){.group-offer{flex-direction:column;align-items:flex-start;gap:20px;padding:24px}.group-offer h2{font-size:20px}.group-offer .button{width:100%}}

/* Flag controls retain language labels for screen readers and tooltips. */
.lang-switch{gap:4px;flex-shrink:0}
.lang-switch button,.payment-page .lang-switch a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:6px;border:1px solid transparent;border-radius:7px;background:transparent}
.lang-switch button[aria-pressed=true],.payment-page .lang-switch a[aria-current=page]{background:#eee5d7;border-color:var(--ochre);box-shadow:inset 0 -2px 0 var(--ochre)}
.lang-switch button:hover,.payment-page .lang-switch a:hover{background:#eee5d7}
.lang-switch .language-flag{width:30px;height:20px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 0 1px #0004)}
