:root{--cream:#f8f6ef;--paper:#fffef9;--forest:#24493e;--forest-dark:#18392f;--ink:#233b31;--muted:#657169;--line:#dce0d5;--sage:#e9eee2;--honey:#efc879;--serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',Arial,Helvetica,sans-serif;--text-body:1.0625rem;--text-ui:1rem;--text-contact:1.125rem;--body-leading:1.75;--ui-leading:1.5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:108px}body{margin:0;color:var(--ink);background:var(--cream);font-family:var(--sans);font-size:var(--text-body);line-height:var(--body-leading);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.6}img{max-width:100%;display:block}svg{display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.13}em{font-family:var(--serif);font-weight:400}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b87532;outline-offset:5px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--forest);outline-offset:2px}::selection{background:#e4c27d;color:#18392f}.container{width:calc(100% - 104px);max-width:1200px;margin-inline:auto}.icon-defs{position:absolute;width:0;height:0;overflow:hidden}.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.skip-link{position:fixed;left:20px;top:-100px;padding:12px 22px;background:var(--forest);color:white;z-index:50}.skip-link:focus{top:15px}.site-header{position:sticky;top:0;z-index:20;background:var(--cream);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:90px;gap:28px}.brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0}.brand-mark{display:flex;width:46px;height:48px;background:var(--forest);color:var(--cream);align-items:center;justify-content:center;border-radius:13px 3px 13px 3px}.brand-mark svg{width:35px;height:35px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.brand-leaf{fill:var(--honey);stroke:var(--honey)}.brand-words{display:flex;flex-direction:column;gap:3px}.brand-words strong{font-size:29px;letter-spacing:-1.3px;line-height:1}.brand-dot{color:#a6783b}.brand-words>span{font-size:var(--text-ui);letter-spacing:2.35px;text-transform:uppercase;line-height:1.3}.site-nav{display:flex;align-items:center;gap:29px;font-size:var(--text-ui);font-weight:500}.site-nav>a{padding-block:10px}.site-nav>a:hover{color:#a6783b}.header-actions{display:flex;gap:18px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;gap:19px;min-height:56px;padding:16px 23px;border:1px solid var(--forest);border-radius:5px;background:var(--forest);color:var(--paper);font-weight:600;font-size:var(--text-ui);line-height:1.3;transition:background .18s,transform .18s}.button:hover{background:var(--forest-dark);transform:translateY(-1px)}.button-small{min-height:45px;padding:13px 19px;gap:14px;font-size:var(--text-ui)}.button-small .icon{width:17px;height:17px}.menu-toggle{display:none;width:38px;height:38px;align-items:center;justify-content:center;flex-direction:column;gap:6px;background:transparent;border:0;padding:6px}.menu-toggle[hidden]{display:none}.menu-toggle span{height:1.5px;background:var(--forest);width:23px;transition:transform .2s}.menu-open .menu-toggle span:first-child{transform:translateY(3.75px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-3.75px) rotate(-45deg)}.hero{display:grid;grid-template-columns:1.12fr 1fr;gap:68px;align-items:center;padding-block:74px 80px}.eyebrow{font-size:var(--text-ui);letter-spacing:1.8px;font-weight:650;text-transform:uppercase;color:#52705b;display:flex;align-items:center;gap:12px;line-height:1.5}.eyebrow-line{width:25px;height:1px;background:#819075}.hero h1{font-size:clamp(52px,5.65vw,79px);font-weight:650;letter-spacing:-3.9px;line-height:1.045;margin-top:25px}.hero h1 em{letter-spacing:-3.4px;color:#476b50}.hero-description{max-width:474px;font-size:var(--text-body);color:var(--muted);line-height:1.8;margin-top:27px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:30px}.text-link{display:inline-flex;align-items:center;gap:10px;font-size:var(--text-ui);font-weight:600}.text-link:hover{color:#956333}.hero-call{font-size:var(--text-ui);white-space:nowrap;gap:9px}.hero-call .icon{width:17px;height:17px}.hero-footnote{font-size:var(--text-ui);color:#748072;margin-top:16px;letter-spacing:.1px}.hero-visual{position:relative;min-width:0}.hero-image-wrap{height:526px;overflow:hidden;border-radius:140px 7px 7px 7px;background:#d5dccc}.hero-image{width:100%;height:100%;object-fit:cover;object-position:50% 48%}.learning-seal{position:absolute;right:-24px;top:27px;width:105px;height:105px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;text-align:center;background:#f0cf87;border-radius:50%;transform:rotate(8deg);box-shadow:0 0 0 7px var(--cream);color:#3d4d32}.learning-seal .icon{width:24px;height:24px;stroke-width:1.3}.learning-seal span{font-size:var(--text-ui);font-weight:600;line-height:1.45}.photo-note{position:absolute;bottom:24px;left:-29px;display:flex;align-items:center;gap:15px;padding:19px 24px;background:var(--paper);border-radius:4px;box-shadow:0 9px 24px #17372c12}.note-icon{width:43px;height:43px;border-radius:50%;background:var(--sage);display:flex;align-items:center;justify-content:center}.note-icon .icon{width:22px;height:22px}.photo-note strong{font-size:var(--text-body);font-weight:600;display:block;line-height:1.5}.photo-note>span>span{font-size:var(--text-ui);color:#657169;display:block}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;padding-block:25px;border-block:1px solid var(--line)}.principles>div{display:flex;align-items:center;gap:13px;font-size:var(--text-ui);font-weight:500}.principles>div:nth-child(2){justify-content:center}.principles>div:last-child{justify-content:flex-end}.principles .icon{color:#7f916d;width:20px;height:20px}.section{padding-block:91px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:36px}.section-heading>p{font-size:var(--text-body);line-height:1.85;color:var(--muted);max-width:350px;padding-bottom:3px}.section h2,.approach-section h2,.faq-section h2{font-size:clamp(32px,3.15vw,43px);letter-spacing:-1.7px;font-weight:600;margin-top:13px;line-height:1.17}.learning-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.learning-card{padding:29px 27px 25px;border:1px solid #dce2d1;border-radius:7px;background:#edf0e5;display:flex;flex-direction:column}.middle-card{background:#f4ece0;border-color:#e7ded0}.senior-card{background:#e8eeed;border-color:#d8e2de}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px}.card-symbol{font-family:var(--serif);font-size:35px;font-style:italic;letter-spacing:-2px;color:#658055;line-height:1;width:64px;height:58px;display:flex;justify-content:center;flex-direction:column}.card-symbol>span{font-size:17px;letter-spacing:4px;margin-top:4px;font-style:normal}.card-symbol-maths{flex-direction:row;align-items:center;gap:3px;color:#a8764e}.card-symbol-maths>span{font-size:23px;letter-spacing:0;margin-top:11px}.senior-card .card-symbol{color:#59736d}.card-symbol .icon{width:42px;height:42px;stroke-width:1.1}.card-number{font-size:var(--text-ui);color:#899780;font-weight:500}.middle-card .card-number{color:#9e8b74}.card-stage{font-size:var(--text-ui);font-weight:600;letter-spacing:.8px;text-transform:uppercase;margin-bottom:12px;line-height:1.5;color:#637359}.middle-card .card-stage{color:#94724d}.senior-card .card-stage{color:#617871}.learning-card h3{font-size:24px;font-weight:600;letter-spacing:-.7px}.learning-card>p:not(.card-stage){font-size:var(--text-body);line-height:1.85;color:var(--muted);margin-top:15px}.plain-list{list-style:none;margin:21px 0 26px;padding:0;display:grid;gap:8px;font-size:var(--text-ui)}.plain-list li{display:flex;align-items:center;gap:10px}.plain-list li:before{content:'';width:4px;height:4px;background:#839771;border-radius:50%;flex-shrink:0}.card-link{border-top:1px solid #cbd5bf;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:19px;margin-top:auto;font-size:var(--text-ui);font-weight:600}.middle-card .card-link{border-color:#e0d3c1}.senior-card .card-link{border-color:#c8d6d0}.card-link:hover{color:#91663b}.card-link .icon{width:18px;height:18px}.subjects{display:flex;gap:40px;align-items:center;justify-content:space-between;margin-top:35px}.subjects h3{font-size:1.25rem;font-weight:600;letter-spacing:-.35px}.subjects p{font-size:var(--text-ui);color:var(--muted);margin-top:5px}.subjects>div:first-child{min-width:215px}.subject-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.subject-chips a{border:1px solid #d7ddd0;border-radius:30px;display:inline-flex;align-items:center;gap:6px;padding:8px 13px;font-size:var(--text-ui);background:transparent;transition:background .15s}.subject-chips a:hover{background:#e6ebde;border-color:#8b9b81}.subject-chips .icon{width:13px;height:13px}.availability-note{font-size:var(--text-ui);line-height:1.7;color:#748072;margin-top:25px}.approach-section{background:#eef1e8;padding-block:79px}.approach-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:80px;align-items:center}.approach-photo{position:relative}.approach-photo img{width:100%;height:475px;object-fit:cover;border-radius:6px 95px 6px 6px;object-position:53% 50%;background:#dce3d6}.approach-photo figcaption{font-family:var(--serif);font-size:20px;font-style:italic;line-height:1.5;letter-spacing:-.1px;padding:24px 0 0;color:#59704f}.approach-copy h2{font-size:39px;letter-spacing:-1.6px}.approach-copy h2 em{color:#5a7551;letter-spacing:-1.4px}.approach-intro{font-size:var(--text-body);line-height:1.85;color:var(--muted);margin-top:22px;margin-bottom:26px;max-width:435px}.approach-item{display:flex;gap:17px;padding-block:17px;border-top:1px solid #d8decf}.approach-item>span{font-size:var(--text-ui);color:#8a9a7b;min-width:20px;margin-top:2px}.approach-item h3{font-size:1.25rem;font-weight:600;letter-spacing:-.2px}.approach-item p{font-size:var(--text-body);line-height:1.85;color:var(--muted);margin-top:7px;max-width:370px}.how-section{padding-block:85px 79px}.steps{list-style:none;margin:0 0 40px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:43px}.steps li{border-top:1px solid #cdd5c3;padding-top:23px}.step-number{width:36px;height:36px;display:flex;justify-content:center;align-items:center;background:#e9eddf;color:#71845e;font-size:var(--text-ui);border-radius:50%;margin-bottom:18px}.steps h3{font-size:19px;font-weight:600;letter-spacing:-.45px}.steps p{font-size:var(--text-body);color:var(--muted);line-height:1.85;margin-top:12px;max-width:295px}.google-profile{display:flex;align-items:center;gap:17px;border:1px solid #dce0d5;border-radius:6px;padding:22px 25px;background:#fbfaf5;transition:background .18s}.google-profile:hover{background:#eff2e7}.profile-mark{width:43px;height:43px;border:1px solid #d8dfcc;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#697f58}.profile-mark .icon{width:19px;height:19px}.google-profile strong{font-size:var(--text-body);font-weight:600;display:block}.google-profile>span>span{display:block;font-size:var(--text-ui);color:var(--muted);margin-top:3px}.google-profile .profile-link{display:inline-flex;align-items:center;gap:8px;margin-left:auto;font-size:var(--text-ui);font-weight:600;white-space:nowrap}.profile-link .icon{width:17px;height:17px}.faq-section{background:var(--paper);border-top:1px solid var(--line);padding-block:80px 86px}.faq-grid{display:grid;grid-template-columns:.83fr 1fr;gap:85px}.faq-intro h2{font-size:39px;max-width:360px;line-height:1.2}.faq-intro>p:not(.eyebrow){margin-top:23px;font-size:var(--text-body);color:var(--muted);line-height:1.8}.faq-intro .text-link{margin-top:25px;font-size:var(--text-ui)}.faq-intro .text-link .icon{width:17px;height:17px}.faq-list{padding-top:1px}.faq-list details{border-bottom:1px solid var(--line);padding:18px 0}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:var(--text-ui);font-weight:600;cursor:pointer;line-height:1.6;padding:2px 0}.faq-list summary::-webkit-details-marker{display:none}.faq-list p{font-size:var(--text-body);color:var(--muted);line-height:1.9;padding-top:13px;max-width:440px;padding-right:14px}.faq-plus{width:16px;height:16px;position:relative;flex-shrink:0;color:#6b835c}.faq-plus:before,.faq-plus:after{content:'';width:12px;height:1.5px;background:currentColor;position:absolute;left:2px;top:7px}.faq-plus:after{transform:rotate(90deg);transition:transform .15s}.faq-list details[open] .faq-plus:after{transform:rotate(0)}.enquiry-section{background:var(--forest);color:var(--cream);padding-block:84px}.enquiry-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:92px;align-items:start}.enquiry-copy{padding-top:13px}.enquiry-copy .eyebrow{color:#bcc9aa}.enquiry-copy h2{font-size:clamp(40px,4.2vw,58px);font-weight:550;letter-spacing:-2.2px;line-height:1.13;margin-top:21px}.enquiry-copy h2 em{color:#efd398;letter-spacing:-2.5px}.enquiry-copy>p:not(.eyebrow):not(.contact-small){font-size:var(--text-body);line-height:1.95;color:#c7d1c4;margin-top:25px;max-width:338px}.contact-links{margin-top:37px;display:grid;gap:5px}.contact-links>a{display:flex;align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid #567264;min-width:0}.contact-icon{width:35px;flex-shrink:0}.contact-icon .icon{width:21px;height:21px;color:#cfdbbe}.contact-links>a>span:nth-child(2){min-width:0}.contact-links small{display:block;font-size:var(--text-ui);color:#b8c7ad;margin-bottom:4px}.contact-links strong{font-size:var(--text-contact);font-weight:500;line-height:1.5;overflow-wrap:anywhere;display:block}.contact-arrow{width:17px;height:17px;margin-left:auto;color:#b6c5a9}.contact-links>a:hover strong{color:#efcf8b}.contact-small{font-size:var(--text-ui);color:#b8c7ad;line-height:1.9;margin-top:25px;max-width:330px}.contact-small a{color:#e3e9db;border-bottom:1px solid #78917b}.contact-small .icon{display:inline-block;vertical-align:middle;width:12px;height:12px}.enquiry-panel{background:var(--cream);color:var(--ink);padding:31px 34px 27px;border-radius:7px}.form-heading{display:flex;align-items:center;gap:14px;margin-bottom:27px}.form-icon{height:41px;width:41px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#e7ecdE;color:#687e57;flex-shrink:0}.form-heading h3{font-size:19px;font-weight:600;letter-spacing:-.4px}.form-heading p{font-size:var(--text-ui);color:var(--muted);margin-top:7px;line-height:1.5}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{margin-bottom:17px;min-width:0}.field label{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px;font-size:var(--text-ui);font-weight:600;margin-bottom:7px;line-height:1.5}.field label>span:not(.optional){color:#a5773c}.optional{font-size:var(--text-ui);font-weight:400;color:#78836f;margin-left:3px}.field input,.field select,.field textarea{border:1px solid #d9dece;border-radius:4px;min-height:44px;width:100%;padding:11px 12px;color:var(--ink);background:#fffef9;font-size:var(--text-ui);line-height:1.6}.field select{padding-right:27px;appearance:auto}.field input::placeholder,.field textarea::placeholder{color:#828b7b;opacity:1;font-size:inherit}.field textarea{resize:vertical;min-height:72px;max-height:220px}.field-help{font-size:var(--text-ui);display:block;margin-top:5px;color:#78836f;line-height:1.5}.form-submit{width:100%;margin-top:1px;justify-content:flex-start;padding:15px 19px;min-height:51px;gap:11px;font-size:var(--text-ui)}.form-submit .icon{width:18px;height:18px}.form-submit .icon:last-child{margin-left:auto}.form-note{font-size:var(--text-ui);line-height:1.85;color:#74806b;margin-top:13px;max-width:370px}.form-note a{text-decoration:underline;text-underline-offset:3px}.noscript-note{font-size:var(--text-ui);margin-top:12px}.noscript-note a{text-decoration:underline}.site-footer{padding-block:43px 21px}.footer-top{display:grid;grid-template-columns:1fr .9fr 1fr;gap:35px;align-items:center;padding-bottom:36px}.footer-top .brand-mark{width:40px;height:42px}.footer-top .brand-mark svg{width:30px;height:30px}.footer-top .brand-words strong{font-size:24px}.footer-top .brand-words>span{font-size:var(--text-ui);letter-spacing:1.9px}.footer-top>p{font-family:var(--serif);font-size:var(--text-body);font-style:italic;color:#63765a;line-height:1.7}.footer-top nav{display:flex;align-items:flex-start;justify-content:flex-end;gap:11px 19px;flex-wrap:wrap;font-size:var(--text-ui)}.footer-top nav a{display:inline-flex;align-items:center;gap:3px}.footer-top nav a:hover{color:#8c632c}.footer-top nav .icon{height:13px;width:13px}.footer-bottom{border-top:1px solid var(--line);padding-top:17px;display:flex;justify-content:space-between;gap:20px;font-size:var(--text-ui);color:#78846d;line-height:1.6}.mobile-contact{display:none}.privacy-main{padding-block:70px 85px;max-width:730px}.privacy-main h1{font-size:46px;letter-spacing:-1.8px;margin-block:15px 25px}.privacy-main h2{font-size:21px;margin-top:33px;margin-bottom:12px;font-weight:600;letter-spacing:-.5px}.privacy-main>p{font-size:var(--text-body);color:var(--muted);line-height:1.9}.privacy-main a:not(.button){color:var(--forest);text-decoration:underline;text-underline-offset:4px}.privacy-main .button{margin-top:35px;font-size:var(--text-ui)}.privacy-footer{padding-block:23px;border-top:1px solid var(--line);font-size:var(--text-ui);color:var(--muted)}
@media(min-width:1500px){.hero{padding-block:90px}.hero-image-wrap{height:562px}.hero h1{font-size:79px}}
@media(max-width:1140px){.container{width:calc(100% - 80px)}.hero{gap:45px;padding-block:64px}.hero-image-wrap{height:486px}.hero h1{font-size:64px;letter-spacing:-3.5px}.hero h1 em{letter-spacing:-2.9px}.hero-description{font-size:var(--text-body)}.hero-actions{gap:16px}.hero-actions .button{font-size:var(--text-ui);padding:15px 18px;gap:13px}.hero-call{font-size:var(--text-ui)}.site-nav{gap:20px;font-size:var(--text-ui)}.learning-card{padding:25px 23px}.learning-card h3{font-size:22px}.card-stage{font-size:var(--text-ui)}.approach-grid{gap:52px}.approach-copy h2{font-size:34px}.faq-grid{gap:62px}.faq-intro h2{font-size:34px}.enquiry-grid{gap:54px}.enquiry-panel{padding:29px}.enquiry-copy h2{font-size:49px}.form-heading h3{font-size:1.1875rem}.principles>div{font-size:var(--text-ui);gap:10px}.subjects{gap:22px}}
@media(max-width:940px){.container{width:calc(100% - 64px)}.header-inner{min-height:78px;gap:22px}.brand-words strong{font-size:26px}.brand-mark{width:42px;height:44px}.site-nav{gap:16px;font-size:var(--text-ui)}.button-small{font-size:var(--text-ui);padding-inline:14px;gap:9px}.hero{gap:40px;grid-template-columns:1fr 1fr;padding-block:59px}.hero h1{font-size:clamp(47px,5.6vw,52px);letter-spacing:-2.8px}.hero h1 em{letter-spacing:-2.4px}.hero .eyebrow{font-size:var(--text-ui);letter-spacing:1.1px;gap:9px}.hero-image-wrap{height:445px;border-top-left-radius:110px}.hero-description{font-size:var(--text-body);margin-top:24px}.hero-actions{align-items:flex-start;flex-direction:column;gap:17px;margin-top:24px}.hero-footnote{font-size:var(--text-ui);margin-top:13px}.learning-seal{right:-17px;width:90px;height:90px;top:22px}.learning-seal span{font-size:var(--text-ui)}.learning-seal .icon{width:21px;height:21px}.photo-note{left:-21px;padding:16px;gap:11px;bottom:22px}.photo-note strong{font-size:var(--text-body)}.photo-note>span>span{font-size:var(--text-ui)}.note-icon{width:36px;height:36px}.principles{gap:15px;padding-block:23px}.principles>div{font-size:var(--text-ui);line-height:1.6}.principles .icon{width:18px;height:18px}.section{padding-block:65px}.section-heading{gap:30px;align-items:flex-start}.section-heading>p{font-size:var(--text-body);max-width:285px;padding-top:26px}.section h2,.approach-section h2{font-size:33px;letter-spacing:-1.25px}.learning-grid{gap:15px}.learning-card{padding:23px 19px}.learning-card h3{font-size:20px}.learning-card>p:not(.card-stage){font-size:var(--text-body)}.card-stage{letter-spacing:.4px;font-size:var(--text-ui);min-height:25px}.plain-list{font-size:var(--text-ui);gap:9px}.card-link{font-size:var(--text-ui);gap:6px}.card-link .icon{width:15px;height:15px}.subjects{align-items:flex-start;gap:26px}.subjects>div:first-child{min-width:190px}.subject-chips{gap:6px}.subject-chips a{font-size:var(--text-ui);padding:7px 11px}.subjects p{font-size:var(--text-ui)}.availability-note{font-size:var(--text-ui)}.approach-section{padding-block:65px}.approach-grid{gap:37px}.approach-photo img{height:430px}.approach-photo figcaption{font-size:17px}.approach-copy h2{font-size:30px}.approach-intro{font-size:var(--text-body)}.approach-item{gap:13px;padding-block:13px}.approach-item h3{font-size:1.25rem}.approach-item p{font-size:var(--text-body)}.steps{gap:27px}.steps h3{font-size:1.1875rem}.steps p{font-size:var(--text-body)}.faq-section{padding-block:64px}.faq-grid{grid-template-columns:.75fr 1fr;gap:42px}.faq-intro h2{font-size:31px;letter-spacing:-1.2px}.faq-list summary{font-size:var(--text-ui);gap:19px}.faq-list p{font-size:var(--text-body)}.enquiry-section{padding-block:65px}.enquiry-grid{grid-template-columns:.85fr 1.15fr;gap:38px}.enquiry-copy h2{font-size:40px;letter-spacing:-1.6px}.enquiry-copy h2 em{letter-spacing:-1.5px}.enquiry-panel{padding:25px 23px}.form-heading{gap:11px}.form-heading h3{font-size:1.1875rem}.form-heading p{font-size:var(--text-ui)}.form-icon{width:34px;height:34px}.contact-links strong{font-size:var(--text-contact)}.contact-links small{font-size:var(--text-ui)}.contact-links{margin-top:25px}.contact-icon{width:23px}.contact-links>a{gap:11px}.enquiry-copy>p:not(.eyebrow):not(.contact-small){font-size:var(--text-body)}.footer-top{gap:28px;grid-template-columns:1fr .8fr 1fr}.footer-top>p{font-size:var(--text-body)}.footer-top nav{font-size:var(--text-ui)}}
@media(max-width:760px){html{scroll-padding-top:89px}.container{width:calc(100% - 44px)}.header-inner{min-height:75px;gap:15px}.brand{gap:10px}.brand-mark{height:40px;width:38px;border-radius:11px 3px 11px 3px}.brand-mark svg{width:29px;height:29px}.brand-words strong{font-size:25px}.brand-words>span{font-size:var(--text-ui);letter-spacing:1.9px}.button-small{font-size:var(--text-ui);min-height:40px;padding:10px 13px}.button-small .icon{width:15px;height:15px}.header-actions{gap:12px}.menu-toggle:not([hidden]){display:flex}.site-nav{position:absolute;top:75px;left:0;right:0;display:flex;flex-direction:column;align-items:flex-start;background:var(--cream);padding:15px 22px 23px;border-bottom:1px solid var(--line);gap:5px;font-size:var(--text-ui)}.has-js .site-nav{display:none}.has-js .menu-open .site-nav{display:flex}.hero{grid-template-columns:1fr;gap:38px;padding-block:43px 39px;align-items:start}.hero-copy{max-width:570px}.hero .eyebrow{font-size:var(--text-ui);letter-spacing:1.25px}.hero h1{font-size:clamp(48px,8.6vw,64px);letter-spacing:-2.8px;margin-top:22px;line-height:1.065}.hero h1 em{letter-spacing:-2.2px}.hero-description{font-size:var(--text-body);line-height:1.8;margin-top:22px;max-width:490px}.hero-actions{flex-direction:row;align-items:center;gap:20px;margin-top:26px}.hero-actions .button{font-size:var(--text-ui);min-height:51px;padding:15px 18px}.hero-call{font-size:var(--text-ui)}.hero-footnote{font-size:var(--text-ui);margin-top:15px}.hero-visual{max-width:600px;width:calc(100% - 9px);margin-left:auto;margin-right:9px}.hero-image-wrap{height:440px;border-top-left-radius:100px;object-position:center 45%}.learning-seal{right:-15px;top:24px;width:91px;height:91px;box-shadow:0 0 0 6px var(--cream)}.photo-note{left:-9px;bottom:21px;padding:16px 21px}.photo-note strong{font-size:var(--text-body)}.photo-note>span>span{font-size:var(--text-ui)}.principles{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:18px 30px;padding-block:24px}.principles>div{justify-content:flex-start!important;font-size:var(--text-ui);flex:1 1 210px}.section{padding-block:52px}.section-heading{display:block;margin-bottom:27px}.section h2,.approach-section h2,.faq-section h2{font-size:33px;letter-spacing:-1.4px;line-height:1.18}.section-heading>p{font-size:var(--text-body);max-width:500px;margin-top:17px;padding:0;line-height:1.8}.learning-grid{grid-template-columns:1fr;gap:15px}.learning-card{padding:24px 25px}.card-top{margin-bottom:18px}.card-symbol{font-size:35px;height:51px}.card-number{font-size:var(--text-ui)}.card-stage{font-size:var(--text-ui);min-height:0;letter-spacing:.7px;margin-bottom:10px}.learning-card h3{font-size:26px;letter-spacing:-.7px}.learning-card>p:not(.card-stage){font-size:var(--text-body);line-height:1.8;margin-top:13px;max-width:460px}.plain-list{font-size:var(--text-ui);margin-top:18px;margin-bottom:22px;gap:7px}.card-link{font-size:var(--text-ui);padding-top:16px}.card-link .icon{width:18px;height:18px}.subjects{display:block;margin-top:29px}.subjects p{font-size:var(--text-ui)}.subject-chips{justify-content:flex-start;margin-top:17px;gap:8px}.subject-chips a{font-size:var(--text-ui);padding:8px 13px}.availability-note{margin-top:20px;font-size:var(--text-ui)}.approach-section{padding-block:51px}.approach-grid{grid-template-columns:1fr;gap:31px}.approach-photo{order:2;margin-top:0}.approach-photo img{height:330px;border-top-right-radius:76px;object-position:50% 62%}.approach-photo figcaption{font-size:18px;padding-top:18px}.approach-intro{font-size:var(--text-body);max-width:520px;margin-top:20px;margin-bottom:24px}.approach-item{padding-block:17px;gap:17px}.approach-item>span{font-size:var(--text-ui)}.approach-item h3{font-size:1.25rem}.approach-item p{font-size:var(--text-body);line-height:1.8;max-width:460px}.steps{grid-template-columns:1fr;gap:21px;margin-bottom:29px}.steps li{display:grid;grid-template-columns:38px 1fr;column-gap:16px;padding-top:20px}.step-number{grid-row:1/3;margin:0;width:34px;height:34px}.steps h3{font-size:19px;align-self:center;padding-top:7px}.steps p{grid-column:2;font-size:var(--text-body);margin-top:8px;max-width:430px}.google-profile{padding:19px 17px;gap:13px;flex-wrap:wrap}.google-profile strong{font-size:var(--text-body)}.google-profile>span>span{font-size:var(--text-ui);max-width:270px}.profile-mark{width:37px;height:37px}.google-profile .profile-link{margin-left:50px;font-size:var(--text-ui);margin-top:0}.faq-section{padding-block:52px}.faq-grid{grid-template-columns:1fr;gap:28px}.faq-intro h2{max-width:450px}.faq-intro>p:not(.eyebrow){font-size:var(--text-body);margin-top:19px}.faq-intro .text-link{margin-top:20px;font-size:var(--text-ui)}.faq-list details{padding-block:18px}.faq-list summary{font-size:var(--text-ui);line-height:1.6}.faq-list p{font-size:var(--text-body);line-height:1.85;max-width:520px;padding-right:22px}.enquiry-section{padding-block:50px 45px}.enquiry-grid{grid-template-columns:1fr;gap:35px}.enquiry-copy{padding-top:0}.enquiry-copy h2{font-size:47px;letter-spacing:-1.9px;line-height:1.12;margin-top:20px}.enquiry-copy h2 em{letter-spacing:-1.9px}.enquiry-copy>p:not(.eyebrow):not(.contact-small){font-size:var(--text-body);max-width:410px;margin-top:22px;line-height:1.8}.contact-links{max-width:450px;gap:0}.contact-links strong{font-size:var(--text-contact)}.contact-links small{font-size:var(--text-ui)}.contact-links>a{gap:15px;padding-block:15px}.contact-icon{width:26px}.contact-small{font-size:var(--text-ui);max-width:440px;margin-top:20px}.enquiry-panel{padding:27px 23px 24px}.form-heading h3{font-size:1.1875rem;max-width:260px;line-height:1.25}.form-heading p{font-size:var(--text-ui);margin-top:6px}.form-icon{width:38px;height:38px}.form-heading{margin-bottom:23px;gap:13px}.field{margin-bottom:17px}.field label{font-size:var(--text-ui)}.field input,.field select,.field textarea{font-size:var(--text-ui);min-height:46px;padding:10px 11px}.field input::placeholder,.field textarea::placeholder{font-size:inherit}.field select{font-size:var(--text-ui)}.field-help{font-size:var(--text-ui)}.field textarea{min-height:84px}.form-submit{font-size:var(--text-ui);min-height:51px}.form-note{font-size:var(--text-ui);line-height:1.75}.site-footer{padding-block:34px 88px}.footer-top{grid-template-columns:1fr 1fr;gap:23px 20px;padding-bottom:29px}.footer-top>p{font-size:var(--text-body);justify-self:end}.footer-top nav{grid-column:1/-1;justify-content:flex-start;font-size:var(--text-ui);gap:14px 22px}.footer-bottom{flex-wrap:wrap;gap:8px 18px;font-size:var(--text-ui);padding-top:17px}.footer-bottom>span:first-child{width:100%}.footer-bottom>a{margin-left:auto}.mobile-contact{position:fixed;bottom:0;left:0;right:0;z-index:19;display:grid;grid-template-columns:.65fr 1.35fr;background:var(--cream);border-top:1px solid #d2dace;padding:10px 17px calc(10px + env(safe-area-inset-bottom));gap:9px;box-shadow:0 -3px 20px #17372c07}.mobile-contact a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:41px;border-radius:4px;font-size:var(--text-ui);font-weight:600}.mobile-contact a:first-child{border:1px solid #c7d0bd;background:var(--cream)}.mobile-contact a:last-child{background:var(--forest);color:var(--cream)}.mobile-contact .icon{width:15px;height:15px}.privacy-main{padding-block:44px 58px}.privacy-main h1{font-size:37px}.privacy-footer{padding-bottom:25px}}
@media(min-width:500px) and (max-width:760px){.learning-grid{grid-template-columns:1fr}.learning-card{display:grid;grid-template-columns:1fr 1fr;column-gap:30px}.card-top,.card-stage,.learning-card h3,.learning-card>p{grid-column:1}.plain-list{grid-column:2;grid-row:2/5;margin-top:13px;align-content:center}.card-link{grid-column:1/-1;margin-top:22px}.card-stage{font-size:var(--text-ui)}}
@media(max-width:390px){.container{width:calc(100% - 36px)}.header-inner{gap:9px}.brand{gap:8px}.brand-mark{width:34px;height:36px}.brand-mark svg{width:26px;height:26px}.brand-words strong{font-size:23px}.brand-words>span{font-size:var(--text-ui);letter-spacing:1.7px}.button-small{font-size:var(--text-ui);padding-inline:10px;gap:7px;min-height:37px}.button-small .icon{display:none}.header-actions{gap:7px}.menu-toggle{width:30px}.hero h1{font-size:45px;letter-spacing:-2.5px}.hero h1 em{letter-spacing:-2.3px}.hero-actions{gap:17px}.hero-actions .button{font-size:var(--text-ui);padding-inline:15px;gap:10px}.hero-call{font-size:var(--text-ui)}.hero-image-wrap{height:355px;border-top-left-radius:91px}.learning-seal{width:83px;height:83px}.learning-seal span{font-size:var(--text-ui)}.section h2,.approach-section h2,.faq-section h2{font-size:30px}.learning-card{padding-inline:23px}.card-stage{font-size:var(--text-ui)}.enquiry-copy h2{font-size:42px}.enquiry-panel{padding-inline:20px}.form-row{grid-template-columns:1fr;gap:0}.form-heading h3{font-size:1.1875rem}.form-heading p{font-size:var(--text-ui)}.footer-top{grid-template-columns:1fr}.footer-top>p{justify-self:start}.footer-top nav{grid-column:auto}.google-profile .profile-link{margin-left:50px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.button:hover{transform:none}}


/* Shared readability and reflow rules. Text sizes stay consistent at every breakpoint. */
html { font-size: 100%; }
body { overflow-wrap: break-word; }
.hero > *, .approach-grid > *, .faq-grid > *, .enquiry-grid > *,
.section-heading > *, .learning-grid > *, .footer-top > *, .form-row > * {
  min-width: 0;
}
.hero-description, .section-heading > p, .learning-card > p:not(.card-stage),
.approach-intro, .approach-item p, .steps p, .faq-intro > p:not(.eyebrow),
.faq-list p, .enquiry-copy > p:not(.eyebrow):not(.contact-small), .privacy-main > p {
  line-height: var(--body-leading);
}
h1, h2, h3, .brand-words, .principles span, .plain-list li,
.card-stage, .contact-links strong, .footer-bottom, .privacy-main a {
  overflow-wrap: anywhere;
}
.brand { min-width: 0; max-width: 100%; }
.brand-words { min-width: 0; }
.brand-mark, .note-icon, .profile-mark { flex-shrink: 0; }
.brand-words > span, .footer-top .brand-words > span {
  letter-spacing: .075em;
  line-height: 1.5;
}
.site-nav { gap: 24px; line-height: var(--ui-leading); }
.site-nav > a { min-height: 44px; display: flex; align-items: center; }
.header-actions { flex-shrink: 0; }
.button {
  max-width: 100%; min-width: 0; min-height: 56px;
  padding: 15px 22px; gap: 14px;
  line-height: var(--ui-leading); white-space: normal;
  overflow-wrap: anywhere; text-align: center;
}
.button-small { min-height: 48px; padding: 12px 18px; gap: 10px; }
.hero-actions .button { min-height: 56px; padding: 15px 22px; gap: 14px; }
.menu-toggle { width: 44px; height: 44px; flex-shrink: 0; }
.eyebrow { display: block; line-height: 1.65; letter-spacing: .075em; }
.eyebrow-line { display: inline-block; vertical-align: middle; margin-right: 12px; }
.text-link { min-height: 44px; line-height: var(--ui-leading); }
.hero-footnote, .availability-note, .contact-small { line-height: 1.7; }
.hero-call { white-space: normal; }
.learning-seal { width: 148px; height: 148px; right: 0; padding: 12px; }
.learning-seal span { line-height: 1.5; }
.photo-note { max-width: 100%; }
.photo-note > span:last-child { min-width: 0; overflow-wrap: anywhere; }
.photo-note strong, .photo-note > span > span { line-height: 1.6; }
.principles { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.principles > div { min-width: 0; line-height: 1.6; }
.principles span { min-width: 0; }
.card-stage { letter-spacing: .025em; line-height: 1.6; min-height: 0; }
.plain-list { gap: 12px; line-height: 1.6; }
.card-link { min-height: 56px; line-height: var(--ui-leading); padding-block: 19px 4px; }
.subjects { flex-wrap: wrap; gap: 24px 40px; }
.subjects > div:first-child { flex: 1 1 240px; min-width: 0; }
.subjects p { line-height: 1.65; }
.subject-chips { flex: 2 1 480px; gap: 10px; min-width: 0; }
.subject-chips a {
  max-width: 100%; min-width: 0; min-height: 48px;
  padding: 11px 16px; line-height: var(--ui-leading);
  white-space: normal; overflow-wrap: anywhere;
}
.subject-chips .icon { width: 16px; height: 16px; }
.approach-item > span { min-width: 28px; }
.approach-item > div { min-width: 0; }
.approach-item h3, .steps h3, .subjects h3, .form-heading h3 { line-height: 1.35; }
.step-number { width: 40px; height: 40px; }
.google-profile { flex-wrap: wrap; gap: 16px; }
.google-profile > span:nth-child(2) { min-width: 0; flex: 1 1 240px; }
.google-profile strong, .google-profile > span > span { line-height: 1.6; }
.google-profile .profile-link { min-height: 44px; min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; line-height: 1.5; }
.faq-list summary { min-height: 44px; line-height: 1.6; }
.faq-list p { max-width: none; padding-right: 24px; }
.contact-links small { line-height: 1.6; }
.contact-links strong { line-height: 1.6; }
.form-heading { align-items: flex-start; }
.form-heading > div { min-width: 0; }
.form-heading p { line-height: 1.65; }
.field { margin-bottom: 22px; }
.field label { margin-bottom: 9px; line-height: 1.6; }
.optional { line-height: 1.6; }
.field input, .field select, .field textarea {
  min-width: 0; min-height: 52px; padding: 12px;
  line-height: 1.6;
}
.field select { padding-right: 30px; }
.field textarea { min-height: 112px; }
.field-help, .form-note, .noscript-note { line-height: 1.7; }
.field-example { display: none; font-size: var(--text-ui); color: #828b7b; line-height: 1.6; margin-top: 8px; }
.form-submit { min-height: 56px; padding: 15px 18px; gap: 10px; }
.form-note { max-width: none; margin-top: 18px; }
.footer-top nav { gap: 12px 22px; line-height: 1.6; }
.footer-top nav a { min-height: 44px; }
.footer-bottom { flex-wrap: wrap; gap: 12px 24px; line-height: 1.7; }
.privacy-main > .eyebrow { font-size: var(--text-ui); }
.privacy-footer { line-height: 1.7; }

@media (max-width: 1100px) {
  .header-inner { gap: 20px; min-height: 90px; padding-block: 12px; }
  .menu-toggle:not([hidden]) { display: flex; }
  .site-nav {
    position: absolute; top: 100%; left: 0; right: 0;
    flex-direction: column; align-items: stretch;
    background: var(--cream); padding: 12px 32px 20px;
    border-bottom: 1px solid var(--line); gap: 4px;
    max-height: calc(100dvh - 100px); overflow-y: auto;
  }
  .has-js .site-nav { display: none; }
  .has-js .menu-open .site-nav { display: flex; }
  html:not(.has-js) .header-inner { flex-wrap: wrap; }
  html:not(.has-js) .site-nav { position: static; flex-basis: 100%; order: 3; padding: 12px 0 0; border-bottom: 0; max-height: none; }
  .subject-chips { justify-content: flex-start; }
  .enquiry-grid { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
  .hero-actions { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 940px) {
  .learning-grid { grid-template-columns: 1fr; gap: 22px; }
  .learning-card { padding: 28px; }
  .learning-card > p:not(.card-stage), .plain-list { max-width: none; }
  .section-heading { display: block; }
  .section-heading > p { max-width: 560px; padding: 0; margin-top: 20px; }
  .approach-grid { grid-template-columns: 1fr; gap: 36px; }
  .approach-copy { order: 1; }
  .approach-photo { order: 2; }
  .approach-intro, .approach-item p { max-width: none; }
  .faq-grid { grid-template-columns: 1fr; gap: 32px; }
  .enquiry-grid { grid-template-columns: 1fr; gap: 36px; }
  .enquiry-copy > p:not(.eyebrow):not(.contact-small) { max-width: 560px; }
  .contact-links { max-width: 560px; }
  .enquiry-panel { max-width: none; }
  .footer-top { grid-template-columns: 1fr 1fr; }
  .footer-top nav { grid-column: 1 / -1; justify-content: flex-start; }
}

@media (max-width: 760px) {
  html { scroll-padding-top: 115px; scroll-padding-bottom: calc(120px + env(safe-area-inset-bottom)); }
  .hero-actions { flex-direction: row; align-items: center; gap: 20px; }
  .principles { display: grid; grid-template-columns: 1fr; gap: 20px; }
  .principles > div { flex: none; }
  .learning-card { display: flex; padding: 26px; }
  .card-top { margin-bottom: 24px; }
  .plain-list { margin-block: 22px 26px; }
  .subjects { display: block; }
  .subject-chips { margin-top: 20px; }
  .google-profile > span:nth-child(2) { flex-basis: calc(100% - 64px); }
  .google-profile .profile-link { margin-left: 59px; margin-top: 0; }
  .steps li { grid-template-columns: 40px minmax(0, 1fr); column-gap: 16px; }
  .steps h3 { padding-top: 6px; }
  .form-heading h3 { max-width: none; }
  .footer-top > p { justify-self: start; }
  .footer-bottom > span:first-child { width: auto; }
  .footer-bottom > a { margin-left: 0; }
  .site-footer { padding-bottom: calc(132px + env(safe-area-inset-bottom)); }
  .mobile-contact { grid-template-columns: minmax(0, .65fr) minmax(0, 1.35fr); padding-inline: 16px; }
  .mobile-contact a { min-height: 56px; min-width: 0; padding: 10px; line-height: 1.5; text-align: center; overflow-wrap: anywhere; }
  .mobile-contact .icon { width: 18px; height: 18px; }
  .privacy-main .button { width: auto; }
}

@media (max-width: 640px) {
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .field-example { display: block; }
  .field input.has-wrapping-example::placeholder { opacity: 0; }
  .footer-top { grid-template-columns: 1fr; gap: 24px; }
  .footer-top nav { grid-column: auto; }
}

@media (max-width: 480px) {
  html { scroll-padding-top: 20px; }
  .site-header { position: relative; }
  .header-inner { display: grid; grid-template-columns: minmax(0, 1fr) 44px; gap: 12px; padding-block: 16px; }
  .header-inner > .brand { grid-column: 1; grid-row: 1; }
  .header-actions { display: contents; }
  .header-actions .menu-toggle { grid-column: 2; grid-row: 1; }
  .header-actions .button-small, .header-inner > .button-small { grid-column: 1 / -1; grid-row: 2; width: 100%; }
  .site-nav { padding-inline: 18px; max-height: calc(100dvh - 165px); }
  html:not(.has-js) .site-nav { grid-column: 1 / -1; grid-row: 3; }
  .photo-note { position: relative; left: auto; bottom: auto; margin-top: 16px; width: 100%; padding: 16px; gap: 12px; }
  .hero-visual { width: 100%; margin-inline: 0; }
  .learning-seal { right: 8px; width: 140px; height: 140px; }
  .enquiry-panel { padding: 26px 20px; }
  .google-profile { padding: 18px; gap: 12px; }
  .google-profile .profile-link { margin-left: 0; }
  .google-profile > span:nth-child(2) { flex-basis: calc(100% - 56px); }
}

@media (max-width: 390px) {
  .hero-actions .button { width: 100%; }
  .subject-chips a { padding-inline: 12px; }
  .mobile-contact { padding-inline: 12px; }
  .mobile-contact .icon { display: none; }
  .enquiry-panel { padding-inline: 16px; }
  .form-submit { padding-inline: 12px; }
  .form-submit .icon:last-child { display: none; }
}

@media (max-width: 300px) {
  html { scroll-padding-bottom: 20px; }
  .container { width: calc(100% - 24px); }
  .header-inner > .brand { grid-column: 1 / -1; grid-row: 1; }
  .header-actions .menu-toggle { grid-row: 3; grid-column: 1 / -1; justify-self: end; }
  .site-nav { max-height: none; }
  .hero h1 { font-size: 2rem; letter-spacing: -1px; }
  .hero h1 em { letter-spacing: -1px; }
  .enquiry-copy h2 { font-size: 2rem; letter-spacing: -1px; }
  .enquiry-copy h2 em { letter-spacing: -1px; }
  .learning-seal { position: static; transform: none; box-shadow: none; border-radius: 6px; width: 100%; height: auto; margin-top: 16px; padding: 16px 12px; }
  .photo-note { padding-inline: 12px; }
  .photo-note .note-icon { display: none; }
  .learning-card, .enquiry-panel { padding-inline: 12px; }
  .form-submit .icon { display: none; }
  .field textarea { min-height: 180px; }
  .google-profile > span:nth-child(2) { flex-basis: 100%; }
  .mobile-contact { position: static; grid-template-columns: 1fr; box-shadow: none; }
  .site-footer { padding-bottom: 36px; }
}


/* Google Profile links share the supplied, uncropped logo and readable labels. */
.interface-label { text-transform: none; letter-spacing: .025em; }
.profile-logo {
  display: block; width: var(--profile-logo-size, 6rem); height: auto;
  max-width: 100%; flex-shrink: 0; object-fit: contain;
}
.profile-cta {
  display: inline-flex; align-items: center; gap: 14px;
  max-width: 100%; min-width: 0; min-height: 48px;
  padding: 14px; border: 1px solid var(--line); border-radius: 6px;
  background: var(--paper); color: var(--ink);
  font-size: var(--text-ui); font-weight: 600; line-height: 1.6;
  overflow-wrap: anywhere;
}
.profile-cta__text { flex: 1 1 0; min-width: 0; }
.profile-cta > .icon { width: 18px; height: 18px; }
.profile-cta:hover { background: var(--sage); }
.profile-cta--hero { margin-top: 22px; }
.profile-cta--contact { display: flex; margin-top: 24px; max-width: 560px; }
.profile-cta--footer { --profile-logo-size: 5rem; padding: 0; border: 0; background: transparent; font-weight: 500; }
.profile-cta--footer:hover { background: transparent; }
.google-profile { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 18px; }
.google-profile > span:nth-child(2) { min-width: 0; }
.google-profile .profile-link { margin-left: 0; margin-top: 0; }
.footer-top { align-items: start; }
.footer-top nav { align-items: center; }
.footer-bottom { align-items: center; }
.privacy-footer .container { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 24px; }

@media (max-width: 640px) {
  .google-profile { grid-template-columns: auto minmax(0, 1fr); gap: 12px 16px; }
  .google-profile > .profile-logo { grid-column: 1; grid-row: 1 / span 2; }
  .google-profile > span:nth-child(2), .google-profile .profile-link { grid-column: 2; }
  .google-profile .profile-link { grid-row: 2; }
}
@media (max-width: 480px) {
  .profile-cta > .icon { display: none; }
  .privacy-footer .container { justify-content: flex-start; }
}
@media (max-width: 360px) {
  .profile-cta { flex-direction: column; align-items: flex-start; }
  .google-profile { grid-template-columns: minmax(0, 1fr); }
  .google-profile > .profile-logo { grid-column: 1; grid-row: auto; }
  .google-profile > span:nth-child(2), .google-profile .profile-link { grid-column: 1; grid-row: auto; }
}


/* Accessible subject checklist; each full label is a generous tap target. */
.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; }
.subject-fieldset { width: 100%; min-width: 0; border: 0; padding: 0; margin: 0 0 22px; }
.subject-fieldset legend { width: 100%; padding: 0; margin-bottom: 8px; font-size: var(--text-ui); font-weight: 600; line-height: 1.6; }
.required-indicator { color: #a5773c; }
.subject-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 12px; }
.subject-fieldset .subject-choice {
  display: flex; align-items: center; flex-wrap: nowrap; gap: 12px;
  min-width: 0; min-height: 56px; margin: 0; padding: 12px;
  border: 1px solid #d9dece; border-radius: 4px; background: var(--paper);
  font-size: var(--text-ui); font-weight: 500; line-height: 1.6; cursor: pointer;
}
.subject-choice span { min-width: 0; overflow-wrap: anywhere; }
.subject-choice input[type="checkbox"] {
  appearance: auto; width: 22px; height: 22px; min-height: 22px;
  flex: 0 0 22px; margin: 0; padding: 0; accent-color: var(--forest); cursor: pointer;
}
.subject-choice.is-selected { background: var(--sage); border-color: var(--forest); }
.other-subject-field { margin-top: 18px; margin-bottom: 0; }
.form-error { font-size: var(--text-ui); line-height: 1.6; color: var(--forest-dark); font-weight: 600; margin-top: 12px; }
.other-subject-field[hidden], .form-error[hidden] { display: none; }
@media (max-width: 560px) { .subject-options { grid-template-columns: minmax(0, 1fr); } }
