.wpcf7 .screen-reader-response{position:absolute;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;margin:-1px;padding:0;border:0;word-wrap:normal!important;word-break:normal!important}.wpcf7 .hidden-fields-container{display:none}.wpcf7 form .wpcf7-response-output{margin:2em .5em 1em;padding:.2em 1em;border:2px solid #00a0d2}.wpcf7 form.init .wpcf7-response-output,.wpcf7 form.resetting .wpcf7-response-output,.wpcf7 form.submitting .wpcf7-response-output{display:none}.wpcf7 form.sent .wpcf7-response-output{border-color:#46b450}.wpcf7 form.failed .wpcf7-response-output,.wpcf7 form.aborted .wpcf7-response-output{border-color:#dc3232}.wpcf7 form.spam .wpcf7-response-output{border-color:#f56e28}.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.unaccepted .wpcf7-response-output,.wpcf7 form.payment-required .wpcf7-response-output{border-color:#ffb900}.wpcf7-form-control-wrap{position:relative}.wpcf7-not-valid-tip{color:#dc3232;font-size:1em;font-weight:400;display:block}.use-floating-validation-tip .wpcf7-not-valid-tip{position:relative;top:-2ex;left:1em;z-index:100;border:1px solid #dc3232;background:#fff;padding:.2em .8em;width:24em}.wpcf7-list-item{display:inline-block;margin:0 0 0 1em}.wpcf7-list-item-label::before,.wpcf7-list-item-label::after{content:" "}.wpcf7-spinner{visibility:hidden;display:inline-block;background-color:#23282d;opacity:.75;width:24px;height:24px;border:none;border-radius:100%;padding:0;margin:0 24px;position:relative}form.submitting .wpcf7-spinner{visibility:visible}.wpcf7-spinner::before{content:'';position:absolute;background-color:#fbfbfc;top:4px;left:4px;width:6px;height:6px;border:none;border-radius:100%;transform-origin:8px 8px;animation-name:spin;animation-duration:1000ms;animation-timing-function:linear;animation-iteration-count:infinite}@media (prefers-reduced-motion:reduce){.wpcf7-spinner::before{animation-name:blink;animation-duration:2000ms}}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes blink{from{opacity:0}50%{opacity:1}to{opacity:0}}.wpcf7 [inert]{opacity:.5}.wpcf7 input[type="file"]{cursor:pointer}.wpcf7 input[type="file"]:disabled{cursor:default}.wpcf7 .wpcf7-submit:disabled{cursor:not-allowed}.wpcf7 input[type="url"],.wpcf7 input[type="email"],.wpcf7 input[type="tel"]{direction:ltr}.wpcf7-reflection>output{display:list-item;list-style:none}.wpcf7-reflection>output[hidden]{display:none}@font-face{font-display:swap;font-family:Roboto;font-stretch:100%;font-style:normal;font-weight:400;src:url(/wp-content/plugins/pojo-accessibility/assets/build/fonts/Roboto-400-cyrillic-ext.ef54216e.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Roboto;font-stretch:100%;font-style:normal;font-weight:400;src:url(/wp-content/plugins/pojo-accessibility/assets/build/fonts/Roboto-400-cyrillic.969ea6a3.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Roboto;font-stretch:100%;font-style:normal;font-weight:400;src:url(/wp-content/plugins/pojo-accessibility/assets/build/fonts/Roboto-400-greek-ext.04782fd5.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Roboto;font-stretch:100%;font-style:normal;font-weight:400;src:url(/wp-content/plugins/pojo-accessibility/assets/build/fonts/Roboto-400-greek.9e4a3805.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Roboto;font-stretch:100%;font-style:normal;font-weight:400;src:url(/wp-content/plugins/pojo-accessibility/assets/build/fonts/Roboto-400-symbols.f5851590.woff2) format("woff2");unicode-range:u+0001-000c,u+000e-001f,u+007f-009f,u+20dd-20e0,u+20e2-20e4,u+2150-218f,u+2190,u+2192,u+2194-2199,u+21af,u+21e6-21f0,u+21f3,u+2218-2219,u+2299,u+22c4-22c6,u+2300-243f,u+2440-244a,u+2460-24ff,u+25a0-27bf,u+28??,u+2921-2922,u+2981,u+29bf,u+29eb,u+2b??,u+4dc0-4dff,u+fff9-fffb,u+10140-1018e,u+10190-1019c,u+101a0,u+101d0-101fd,u+102e0-102fb,u+10e60-10e7e,u+1d2c0-1d2d3,u+1d2e0-1d37f,u+1f0??,u+1f100-1f1ad,u+1f1e6-1f1ff,u+1f30d-1f30f,u+1f315,u+1f31c,u+1f31e,u+1f320-1f32c,u+1f336,u+1f378,u+1f37d,u+1f382,u+1f393-1f39f,u+1f3a7-1f3a8,u+1f3ac-1f3af,u+1f3c2,u+1f3c4-1f3c6,u+1f3ca-1f3ce,u+1f3d4-1f3e0,u+1f3ed,u+1f3f1-1f3f3,u+1f3f5-1f3f7,u+1f408,u+1f415,u+1f41f,u+1f426,u+1f43f,u+1f441-1f442,u+1f444,u+1f446-1f449,u+1f44c-1f44e,u+1f453,u+1f46a,u+1f47d,u+1f4a3,u+1f4b0,u+1f4b3,u+1f4b9,u+1f4bb,u+1f4bf,u+1f4c8-1f4cb,u+1f4d6,u+1f4da,u+1f4df,u+1f4e3-1f4e6,u+1f4ea-1f4ed,u+1f4f7,u+1f4f9-1f4fb,u+1f4fd-1f4fe,u+1f503,u+1f507-1f50b,u+1f50d,u+1f512-1f513,u+1f53e-1f54a,u+1f54f-1f5fa,u+1f610,u+1f650-1f67f,u+1f687,u+1f68d,u+1f691,u+1f694,u+1f698,u+1f6ad,u+1f6b2,u+1f6b9-1f6ba,u+1f6bc,u+1f6c6-1f6cf,u+1f6d3-1f6d7,u+1f6e0-1f6ea,u+1f6f0-1f6f3,u+1f6f7-1f6fc,u+1f7??,u+1f800-1f80b,u+1f810-1f847,u+1f850-1f859,u+1f860-1f887,u+1f890-1f8ad,u+1f8b0-1f8bb,u+1f8c0-1f8c1,u+1f900-1f90b,u+1f93b,u+1f946,u+1f984,u+1f996,u+1f9e9,u+1fa00-1fa6f,u+1fa70-1fa7c,u+1fa80-1fa89,u+1fa8f-1fac6,u+1face-1fadc,u+1fadf-1fae9,u+1faf0-1faf8,u+1fb??}@font-face{font-display:swap;font-family:Roboto;font-stretch:100%;font-style:normal;font-weight:400;src:url(/wp-content/plugins/pojo-accessibility/assets/build/fonts/Roboto-400-vietnamese.b13ae75f.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Roboto;font-stretch:100%;font-style:normal;font-weight:400;src:url(/wp-content/plugins/pojo-accessibility/assets/build/fonts/Roboto-400-latin-ext.6d1ff22c.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Roboto;font-stretch:100%;font-style:normal;font-weight:400;src:url(/wp-content/plugins/pojo-accessibility/assets/build/fonts/Roboto-400-latin.75e6c243.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Roboto;font-stretch:100%;font-style:normal;font-weight:500;src:url(/wp-content/plugins/pojo-accessibility/assets/build/fonts/Roboto-500-cyrillic-ext.ef54216e.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Roboto;font-stretch:100%;font-style:normal;font-weight:500;src:url(/wp-content/plugins/pojo-accessibility/assets/build/fonts/Roboto-500-cyrillic.969ea6a3.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Roboto;font-stretch:100%;font-style:normal;font-weight:500;src:url(/wp-content/plugins/pojo-accessibility/assets/build/fonts/Roboto-500-greek-ext.04782fd5.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Roboto;font-stretch:100%;font-style:normal;font-weight:500;src:url(/wp-content/plugins/pojo-accessibility/assets/build/fonts/Roboto-500-greek.9e4a3805.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Roboto;font-stretch:100%;font-style:normal;font-weight:500;src:url(/wp-content/plugins/pojo-accessibility/assets/build/fonts/Roboto-500-symbols.f5851590.woff2) format("woff2");unicode-range:u+0001-000c,u+000e-001f,u+007f-009f,u+20dd-20e0,u+20e2-20e4,u+2150-218f,u+2190,u+2192,u+2194-2199,u+21af,u+21e6-21f0,u+21f3,u+2218-2219,u+2299,u+22c4-22c6,u+2300-243f,u+2440-244a,u+2460-24ff,u+25a0-27bf,u+28??,u+2921-2922,u+2981,u+29bf,u+29eb,u+2b??,u+4dc0-4dff,u+fff9-fffb,u+10140-1018e,u+10190-1019c,u+101a0,u+101d0-101fd,u+102e0-102fb,u+10e60-10e7e,u+1d2c0-1d2d3,u+1d2e0-1d37f,u+1f0??,u+1f100-1f1ad,u+1f1e6-1f1ff,u+1f30d-1f30f,u+1f315,u+1f31c,u+1f31e,u+1f320-1f32c,u+1f336,u+1f378,u+1f37d,u+1f382,u+1f393-1f39f,u+1f3a7-1f3a8,u+1f3ac-1f3af,u+1f3c2,u+1f3c4-1f3c6,u+1f3ca-1f3ce,u+1f3d4-1f3e0,u+1f3ed,u+1f3f1-1f3f3,u+1f3f5-1f3f7,u+1f408,u+1f415,u+1f41f,u+1f426,u+1f43f,u+1f441-1f442,u+1f444,u+1f446-1f449,u+1f44c-1f44e,u+1f453,u+1f46a,u+1f47d,u+1f4a3,u+1f4b0,u+1f4b3,u+1f4b9,u+1f4bb,u+1f4bf,u+1f4c8-1f4cb,u+1f4d6,u+1f4da,u+1f4df,u+1f4e3-1f4e6,u+1f4ea-1f4ed,u+1f4f7,u+1f4f9-1f4fb,u+1f4fd-1f4fe,u+1f503,u+1f507-1f50b,u+1f50d,u+1f512-1f513,u+1f53e-1f54a,u+1f54f-1f5fa,u+1f610,u+1f650-1f67f,u+1f687,u+1f68d,u+1f691,u+1f694,u+1f698,u+1f6ad,u+1f6b2,u+1f6b9-1f6ba,u+1f6bc,u+1f6c6-1f6cf,u+1f6d3-1f6d7,u+1f6e0-1f6ea,u+1f6f0-1f6f3,u+1f6f7-1f6fc,u+1f7??,u+1f800-1f80b,u+1f810-1f847,u+1f850-1f859,u+1f860-1f887,u+1f890-1f8ad,u+1f8b0-1f8bb,u+1f8c0-1f8c1,u+1f900-1f90b,u+1f93b,u+1f946,u+1f984,u+1f996,u+1f9e9,u+1fa00-1fa6f,u+1fa70-1fa7c,u+1fa80-1fa89,u+1fa8f-1fac6,u+1face-1fadc,u+1fadf-1fae9,u+1faf0-1faf8,u+1fb??}@font-face{font-display:swap;font-family:Roboto;font-stretch:100%;font-style:normal;font-weight:500;src:url(/wp-content/plugins/pojo-accessibility/assets/build/fonts/Roboto-500-vietnamese.b13ae75f.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Roboto;font-stretch:100%;font-style:normal;font-weight:500;src:url(/wp-content/plugins/pojo-accessibility/assets/build/fonts/Roboto-500-latin-ext.6d1ff22c.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Roboto;font-stretch:100%;font-style:normal;font-weight:500;src:url(/wp-content/plugins/pojo-accessibility/assets/build/fonts/Roboto-500-latin.75e6c243.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Roboto;font-stretch:100%;font-style:normal;font-weight:600;src:url(/wp-content/plugins/pojo-accessibility/assets/build/fonts/Roboto-600-cyrillic-ext.ef54216e.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Roboto;font-stretch:100%;font-style:normal;font-weight:600;src:url(/wp-content/plugins/pojo-accessibility/assets/build/fonts/Roboto-600-cyrillic.969ea6a3.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Roboto;font-stretch:100%;font-style:normal;font-weight:600;src:url(/wp-content/plugins/pojo-accessibility/assets/build/fonts/Roboto-600-greek-ext.04782fd5.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Roboto;font-stretch:100%;font-style:normal;font-weight:600;src:url(/wp-content/plugins/pojo-accessibility/assets/build/fonts/Roboto-600-greek.9e4a3805.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Roboto;font-stretch:100%;font-style:normal;font-weight:600;src:url(/wp-content/plugins/pojo-accessibility/assets/build/fonts/Roboto-600-symbols.f5851590.woff2) format("woff2");unicode-range:u+0001-000c,u+000e-001f,u+007f-009f,u+20dd-20e0,u+20e2-20e4,u+2150-218f,u+2190,u+2192,u+2194-2199,u+21af,u+21e6-21f0,u+21f3,u+2218-2219,u+2299,u+22c4-22c6,u+2300-243f,u+2440-244a,u+2460-24ff,u+25a0-27bf,u+28??,u+2921-2922,u+2981,u+29bf,u+29eb,u+2b??,u+4dc0-4dff,u+fff9-fffb,u+10140-1018e,u+10190-1019c,u+101a0,u+101d0-101fd,u+102e0-102fb,u+10e60-10e7e,u+1d2c0-1d2d3,u+1d2e0-1d37f,u+1f0??,u+1f100-1f1ad,u+1f1e6-1f1ff,u+1f30d-1f30f,u+1f315,u+1f31c,u+1f31e,u+1f320-1f32c,u+1f336,u+1f378,u+1f37d,u+1f382,u+1f393-1f39f,u+1f3a7-1f3a8,u+1f3ac-1f3af,u+1f3c2,u+1f3c4-1f3c6,u+1f3ca-1f3ce,u+1f3d4-1f3e0,u+1f3ed,u+1f3f1-1f3f3,u+1f3f5-1f3f7,u+1f408,u+1f415,u+1f41f,u+1f426,u+1f43f,u+1f441-1f442,u+1f444,u+1f446-1f449,u+1f44c-1f44e,u+1f453,u+1f46a,u+1f47d,u+1f4a3,u+1f4b0,u+1f4b3,u+1f4b9,u+1f4bb,u+1f4bf,u+1f4c8-1f4cb,u+1f4d6,u+1f4da,u+1f4df,u+1f4e3-1f4e6,u+1f4ea-1f4ed,u+1f4f7,u+1f4f9-1f4fb,u+1f4fd-1f4fe,u+1f503,u+1f507-1f50b,u+1f50d,u+1f512-1f513,u+1f53e-1f54a,u+1f54f-1f5fa,u+1f610,u+1f650-1f67f,u+1f687,u+1f68d,u+1f691,u+1f694,u+1f698,u+1f6ad,u+1f6b2,u+1f6b9-1f6ba,u+1f6bc,u+1f6c6-1f6cf,u+1f6d3-1f6d7,u+1f6e0-1f6ea,u+1f6f0-1f6f3,u+1f6f7-1f6fc,u+1f7??,u+1f800-1f80b,u+1f810-1f847,u+1f850-1f859,u+1f860-1f887,u+1f890-1f8ad,u+1f8b0-1f8bb,u+1f8c0-1f8c1,u+1f900-1f90b,u+1f93b,u+1f946,u+1f984,u+1f996,u+1f9e9,u+1fa00-1fa6f,u+1fa70-1fa7c,u+1fa80-1fa89,u+1fa8f-1fac6,u+1face-1fadc,u+1fadf-1fae9,u+1faf0-1faf8,u+1fb??}@font-face{font-display:swap;font-family:Roboto;font-stretch:100%;font-style:normal;font-weight:600;src:url(/wp-content/plugins/pojo-accessibility/assets/build/fonts/Roboto-600-vietnamese.b13ae75f.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Roboto;font-stretch:100%;font-style:normal;font-weight:600;src:url(/wp-content/plugins/pojo-accessibility/assets/build/fonts/Roboto-600-latin-ext.6d1ff22c.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Roboto;font-stretch:100%;font-style:normal;font-weight:600;src:url(/wp-content/plugins/pojo-accessibility/assets/build/fonts/Roboto-600-latin.75e6c243.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Roboto;font-stretch:100%;font-style:normal;font-weight:700;src:url(/wp-content/plugins/pojo-accessibility/assets/build/fonts/Roboto-700-cyrillic-ext.ef54216e.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Roboto;font-stretch:100%;font-style:normal;font-weight:700;src:url(/wp-content/plugins/pojo-accessibility/assets/build/fonts/Roboto-700-cyrillic.969ea6a3.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Roboto;font-stretch:100%;font-style:normal;font-weight:700;src:url(/wp-content/plugins/pojo-accessibility/assets/build/fonts/Roboto-700-greek-ext.04782fd5.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Roboto;font-stretch:100%;font-style:normal;font-weight:700;src:url(/wp-content/plugins/pojo-accessibility/assets/build/fonts/Roboto-700-greek.9e4a3805.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Roboto;font-stretch:100%;font-style:normal;font-weight:700;src:url(/wp-content/plugins/pojo-accessibility/assets/build/fonts/Roboto-700-symbols.f5851590.woff2) format("woff2");unicode-range:u+0001-000c,u+000e-001f,u+007f-009f,u+20dd-20e0,u+20e2-20e4,u+2150-218f,u+2190,u+2192,u+2194-2199,u+21af,u+21e6-21f0,u+21f3,u+2218-2219,u+2299,u+22c4-22c6,u+2300-243f,u+2440-244a,u+2460-24ff,u+25a0-27bf,u+28??,u+2921-2922,u+2981,u+29bf,u+29eb,u+2b??,u+4dc0-4dff,u+fff9-fffb,u+10140-1018e,u+10190-1019c,u+101a0,u+101d0-101fd,u+102e0-102fb,u+10e60-10e7e,u+1d2c0-1d2d3,u+1d2e0-1d37f,u+1f0??,u+1f100-1f1ad,u+1f1e6-1f1ff,u+1f30d-1f30f,u+1f315,u+1f31c,u+1f31e,u+1f320-1f32c,u+1f336,u+1f378,u+1f37d,u+1f382,u+1f393-1f39f,u+1f3a7-1f3a8,u+1f3ac-1f3af,u+1f3c2,u+1f3c4-1f3c6,u+1f3ca-1f3ce,u+1f3d4-1f3e0,u+1f3ed,u+1f3f1-1f3f3,u+1f3f5-1f3f7,u+1f408,u+1f415,u+1f41f,u+1f426,u+1f43f,u+1f441-1f442,u+1f444,u+1f446-1f449,u+1f44c-1f44e,u+1f453,u+1f46a,u+1f47d,u+1f4a3,u+1f4b0,u+1f4b3,u+1f4b9,u+1f4bb,u+1f4bf,u+1f4c8-1f4cb,u+1f4d6,u+1f4da,u+1f4df,u+1f4e3-1f4e6,u+1f4ea-1f4ed,u+1f4f7,u+1f4f9-1f4fb,u+1f4fd-1f4fe,u+1f503,u+1f507-1f50b,u+1f50d,u+1f512-1f513,u+1f53e-1f54a,u+1f54f-1f5fa,u+1f610,u+1f650-1f67f,u+1f687,u+1f68d,u+1f691,u+1f694,u+1f698,u+1f6ad,u+1f6b2,u+1f6b9-1f6ba,u+1f6bc,u+1f6c6-1f6cf,u+1f6d3-1f6d7,u+1f6e0-1f6ea,u+1f6f0-1f6f3,u+1f6f7-1f6fc,u+1f7??,u+1f800-1f80b,u+1f810-1f847,u+1f850-1f859,u+1f860-1f887,u+1f890-1f8ad,u+1f8b0-1f8bb,u+1f8c0-1f8c1,u+1f900-1f90b,u+1f93b,u+1f946,u+1f984,u+1f996,u+1f9e9,u+1fa00-1fa6f,u+1fa70-1fa7c,u+1fa80-1fa89,u+1fa8f-1fac6,u+1face-1fadc,u+1fadf-1fae9,u+1faf0-1faf8,u+1fb??}@font-face{font-display:swap;font-family:Roboto;font-stretch:100%;font-style:normal;font-weight:700;src:url(/wp-content/plugins/pojo-accessibility/assets/build/fonts/Roboto-700-vietnamese.b13ae75f.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Roboto;font-stretch:100%;font-style:normal;font-weight:700;src:url(/wp-content/plugins/pojo-accessibility/assets/build/fonts/Roboto-700-latin-ext.6d1ff22c.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Roboto;font-stretch:100%;font-style:normal;font-weight:700;src:url(/wp-content/plugins/pojo-accessibility/assets/build/fonts/Roboto-700-latin.75e6c243.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}.ea11y-skip-to-content-link{clip:rect(1px,1px,1px,1px);align-items:center;background-color:#fff;border:1px solid #2563eb;border-radius:12px;clip-path:inset(50%);color:#0c0d0e;display:flex;gap:8px;height:1px;margin:-1px;overflow:hidden;padding:0;pointer-events:none;position:fixed;text-decoration:none;width:1px;word-wrap:normal!important}.ea11y-skip-to-content-link:focus{clip:auto!important;clip-path:none;height:auto;inset-block-start:30px;inset-inline-start:30px;padding:16px 24px;pointer-events:auto;width:auto;z-index:100000}.ea11y-skip-to-content-link:focus+.ea11y-skip-to-content-backdrop{background-color:rgb(0 0 0 / .5);inset:0;position:fixed;z-index:9999}/*
Theme Name: Guided Path Classes
Description: Hand-coded theme for guidedpathclasses.com — no page builder, ported from the Astro rebuild to keep the same performance budget.
Author: Guided Path Classes
Version: 1.0.0
Text Domain: guided-path-classes
*/
:root{--brand-900: #4a3a0c;--brand-700: #6b5210;--brand-600: #8b6b14;--brand-500: #a6811c;--brand-100: #f3e7c4;--brand-50: #faf3df;--gold-line: #e2cf8f;--gold-strong: #c9a227;--accent-600: #8a431a;--accent-500: #b5591f;--accent-400: #d98a3d;--accent-50: #fbeee2;--ink-900: #0c1f26;--ink-700: #274049;--ink-500: #5a7178;--ink-300: #9fb0b6;--line: #ebe2cb;--surface: #fdfbf6;--surface-alt: #f7f1e1;--success: #167a3c;--wa: #167a3c;--wa-dark: #0f6a31;--serif: 'Newsreader','Iowan Old Style',Georgia,serif;--step--1: clamp(0.9rem,0.87rem + 0.15vw,0.95rem);--step-0: clamp(1rem,0.96rem + 0.2vw,1.09rem);--step-1: clamp(1.2rem,1.12rem + 0.38vw,1.45rem);--step-2: clamp(1.45rem,1.3rem + 0.72vw,1.95rem);--step-3: clamp(1.75rem,1.5rem + 1.25vw,2.6rem);--step-4: clamp(2.1rem,1.68rem + 2.05vw,3.4rem);--radius: 14px;--radius-sm: 9px;--shadow-sm: 0 1px 2px rgba(60,45,10,0.06),0 2px 8px rgba(60,45,10,0.05);--shadow-md: 0 4px 14px rgba(60,45,10,0.09),0 12px 32px rgba(60,45,10,0.07);--wrap: 1140px;--gutter: clamp(1rem,0.6rem + 2vw,2rem);--callbar-h: 88px}*,*::before,*::after{box-sizing: border-box}html{-webkit-text-size-adjust: 100%;scroll-behavior: smooth}@media (prefers-reduced-motion: reduce){html{scroll-behavior: auto}*,*::before,*::after{animation-duration: 0.01ms !important;transition-duration: 0.01ms !important}}body{margin: 0;background: var(--surface);color: var(--ink-700);font-family: 'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;font-size: var(--step-0);line-height: 1.65;-webkit-font-smoothing: antialiased;padding-bottom: var(--callbar-h)}@media (min-width: 860px){body{padding-bottom: 0}}h1,h2,h3,h4{color: var(--ink-900);font-family: var(--serif);line-height: 1.1;letter-spacing: -0.014em;margin: 0 0 0.5em;font-weight: 500;text-wrap: balance}h1 em,h2 em,h3 em{font-style: italic}h1 em,h2 em{color: var(--brand-600)}h1{font-size: var(--step-4)}h2{font-size: var(--step-3)}h3{font-size: var(--step-1);line-height: 1.2}h4{font-family: inherit;font-weight: 600;letter-spacing: -0.01em}p{margin: 0 0 1rem;text-wrap: pretty}p:last-child{margin-bottom: 0}a{color: var(--brand-700)}img,svg,video{max-width: 100%;height: auto;display: block}:where(a,button,input,textarea,select,summary):focus-visible{outline: 3px solid var(--accent-500);outline-offset: 2px;border-radius: 4px}.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}.skip-link{position: fixed;left: 8px;top: -60px;z-index: 100;background: var(--ink-900);color: #fff;padding: 0.7rem 1.1rem;border-radius: 0 0 var(--radius-sm) var(--radius-sm);text-decoration: none;transition: top 0.15s}.skip-link:focus,.skip-link:focus-visible{top: 0}.wrap{width: min(100% - (var(--gutter) * 2),var(--wrap));margin-inline: auto}.section{padding-block: clamp(3rem,2rem + 5vw,5.5rem)}.section--alt{background: var(--surface-alt)}.section__head{max-width: 46rem;margin-bottom: clamp(1.75rem,1rem + 3vw,3rem)}.section__head--center{margin-inline: auto;text-align: center}.eyebrow{display: inline-block;font-size: var(--step--1);font-weight: 600;letter-spacing: 0.09em;text-transform: uppercase;color: var(--brand-600);margin-bottom: 0.6rem}.lede{font-size: var(--step-1);color: var(--ink-500);line-height: 1.55}.grid{display: grid;gap: clamp(1rem,0.7rem + 1.4vw,1.6rem)}.grid--2{grid-template-columns: 1fr}.grid--3{grid-template-columns: 1fr}.grid--4{grid-template-columns: repeat(2,1fr)}@media (min-width: 620px){.grid--2{grid-template-columns: repeat(2,1fr)}}@media (min-width: 760px){.grid--3{grid-template-columns: repeat(3,1fr)}}@media (min-width: 900px){.grid--4{grid-template-columns: repeat(4,1fr)}}.btn{display: inline-flex;align-items: center;justify-content: center;gap: 0.55rem;min-height: 50px;padding: 0.8rem 1.5rem;border: 2px solid transparent;border-radius: 999px;font: inherit;font-weight: 600;font-size: var(--step-0);text-decoration: none;cursor: pointer;text-align: center;transition: background-color 0.16s,border-color 0.16s,color 0.16s,transform 0.12s}.btn:active{transform: translateY(1px)}.btn svg{width: 19px;height: 19px;flex-shrink: 0}.btn--primary{background: var(--accent-500);color: #fff}.btn--primary:hover{background: var(--accent-600)}.btn--whatsapp{background: var(--wa);color: #fff}.btn--whatsapp:hover{background: var(--wa-dark)}.btn--outline{background: transparent;color: var(--brand-700);border-color: var(--brand-600)}.btn--outline:hover{background: var(--brand-50)}.btn--block{width: 100%}@media (min-width: 520px){.btn--block{width: auto}}.btn-row{display: flex;flex-wrap: wrap;gap: 0.8rem}.card{background: #fff;border: 1px solid var(--line);border-radius: var(--radius);padding: clamp(1.25rem,1rem + 1vw,1.75rem);box-shadow: var(--shadow-sm);height: 100%}.card h3{margin-bottom: 0.45rem}.card p{color: var(--ink-500);font-size: var(--step-0)}.card__icon{width: 46px;height: 46px;border-radius: 12px;display: grid;place-items: center;background: var(--brand-50);color: var(--brand-600);margin-bottom: 1rem}.card__icon svg{width: 24px;height: 24px}.tick-list{list-style: none;margin: 1rem 0 0;padding: 0;display: grid;gap: 0.5rem}.tick-list li{position: relative;padding-left: 1.6rem;font-size: var(--step--1);color: var(--ink-700)}.tick-list li::before{content: '';position: absolute;left: 0;top: 0.44em;width: 0.95rem;height: 0.5rem;border-left: 2.5px solid var(--success);border-bottom: 2.5px solid var(--success);transform: rotate(-45deg)}.stack>* + *{margin-top: 1rem}.center{text-align: center}.muted{color: var(--ink-500)}.hdr{position: sticky;top: 0;z-index: 50;background: var(--surface);border-bottom: 1px solid var(--line)}.hdr__top-inner{display: flex;flex-wrap: wrap;align-items: center;justify-content: center;gap: 0.4rem 1.5rem;padding-block: 0.5rem}@media (min-width: 860px){.hdr__top-inner{justify-content: space-between}}.hdr__contacts{display: flex;flex-wrap: wrap;justify-content: center;gap: 0.4rem 1.5rem}@media (min-width: 860px){.hdr__contacts{justify-content: flex-start}}.hdr__contact{display: inline-flex;align-items: center;gap: 0.45rem;min-height: 44px;color: inherit;text-decoration: none}.hdr__contact svg{width: 15px;height: 15px;opacity: 0.85}.hdr__contact--wide{display: none}@media (min-width: 700px){.hdr__contact--wide{display: inline-flex}}.hdr__social{list-style: none;display: none;margin: 0;padding: 0;gap: 0.5rem;flex-shrink: 0}.hdr__social svg{width: 12px;height: 12px}@media (min-width: 1080px){.hdr__social{display: flex}}.hdr__main{display: flex;align-items: center;justify-content: space-between;gap: 1rem;padding-block: 0.7rem}.hdr__logo{display: flex;align-items: center;min-height: 44px;text-decoration: none;flex-shrink: 0}.hdr__logo img{width: 160px;height: auto}@media (min-width: 560px){.hdr__logo img{width: 190px}}@media (min-width: 860px) and (max-width: 1079px){.hdr__logo img{width: 164px}}@media (min-width: 1080px){.hdr__logo img{width: 205px}}.hdr__toggle{display: inline-grid;place-items: center;width: 46px;height: 46px;background: var(--brand-50);color: var(--brand-700);border: 1px solid var(--brand-100);border-radius: 11px;cursor: pointer}.hdr__toggle svg{width: 24px;height: 24px}.hdr__toggle .ico-close{display: none}.hdr__toggle[aria-expanded='true'] .ico-open{display: none}.hdr__toggle[aria-expanded='true'] .ico-close{display: block}@media (min-width: 860px){.hdr__toggle{display: none}}.hdr__nav{display: none}.hdr__nav.is-open{display: block;position: absolute;inset-inline: 0;top: 100%;background: var(--surface);border-bottom: 1px solid var(--line);box-shadow: var(--shadow-md);padding: 0.75rem var(--gutter) 1.25rem}.hdr__nav>ul{list-style: none;margin: 0;padding: 0}.hdr__navlink{display: block;padding: 0.8rem 0.25rem;color: var(--ink-700);text-decoration: none;font-weight: 600;border-bottom: 1px solid var(--line)}.hdr__navlink[aria-current='page']{color: var(--brand-600)}.hdr__cta{margin-top: 1rem;width: 100%}.hdr__navlink-wrap{display: flex;align-items: center}.hdr__navitem--has-sub .hdr__navlink-wrap .hdr__navlink{flex: 1}.hdr__subtoggle{display: inline-flex;align-items: center;justify-content: center;width: 44px;height: 44px;flex-shrink: 0;background: none;border: 0;color: var(--ink-500);cursor: pointer}.hdr__subtoggle-ico{width: 14px;height: 14px;transform: rotate(90deg);transition: transform 0.2s}.hdr__subtoggle[aria-expanded='true'] .hdr__subtoggle-ico{transform: rotate(-90deg)}.hdr__submenu{list-style: none;margin: 0;padding: 0;display: none}.hdr__submenu.is-open{display: grid}.hdr__submenu-link{display: block;padding: 0.8rem 0.25rem 0.8rem 1.5rem;color: var(--ink-700);text-decoration: none;font-weight: 600;font-size: 0.93rem;border-bottom: 1px solid var(--line)}.hdr__submenu-link[aria-current='page']{color: var(--brand-600)}@media (min-width: 860px){.hdr__nav{display: flex;align-items: center;gap: 1.15rem}.hdr__nav>ul{display: flex;gap: 1.05rem}.hdr__navlink{padding: 0.35rem 0;border-bottom: 2px solid transparent;font-size: 0.97rem}.hdr__navlink:hover{color: var(--brand-600)}.hdr__navlink[aria-current='page']{border-bottom-color: var(--accent-500)}.hdr__cta{margin-top: 0;width: auto;min-height: 44px;padding: 0.55rem 1.1rem;font-size: 0.92rem;white-space: nowrap;flex-shrink: 0}.hdr__navitem--has-sub{position: relative}.hdr__subtoggle{display: none}.hdr__submenu{position: absolute;top: 100%;left: -0.75rem;min-width: 13rem;padding: 1.1rem 0.5rem 0.5rem;background: var(--surface);border: 1px solid var(--line);border-radius: var(--radius-sm);box-shadow: var(--shadow-md);z-index: 10}.hdr__navitem--has-sub:hover .hdr__submenu,.hdr__navitem--has-sub:focus-within .hdr__submenu{display: grid}.hdr__submenu-link{padding: 0.6rem 0.7rem;border-bottom: 0;border-radius: 7px;font-size: 0.9rem;white-space: nowrap}.hdr__submenu-link:hover{background: var(--brand-50);color: var(--brand-600)}}.callbar{position: fixed;inset-inline: 10px;bottom: calc(10px + env(safe-area-inset-bottom));z-index: 60;display: grid;grid-template-columns: 1fr 1fr;gap: 8px;padding: 8px;background: rgba(253,251,246,0.86);-webkit-backdrop-filter: blur(14px) saturate(1.2);backdrop-filter: blur(14px) saturate(1.2);border: 1px solid var(--gold-line);border-radius: 24px;box-shadow: 0 18px 40px -14px rgba(60,45,10,0.4),0 2px 8px rgba(60,45,10,0.1),inset 0 1px 0 rgba(255,255,255,0.8);animation: gpcRise 0.6s cubic-bezier(0.2,0.8,0.2,1) 0.5s both}.callbar__btn{position: relative;display: flex;align-items: center;justify-content: center;gap: 0.6rem;min-height: 54px;padding-inline: 0.5rem;border-radius: 17px;text-decoration: none;color: #fff;font-weight: 600;font-size: 0.98rem;letter-spacing: 0.005em;box-shadow: inset 0 1px 0 rgba(255,255,255,0.28),inset 0 -2px 0 rgba(0,0,0,0.1),0 6px 14px -6px rgba(60,45,10,0.5);transition: transform 0.15s ease,filter 0.15s ease}.callbar__btn:active{transform: scale(0.97);filter: brightness(0.95)}.callbar__ico{display: grid;place-items: center;width: 30px;height: 30px;border-radius: 50%;background: rgba(255,255,255,0.2);flex-shrink: 0}.callbar__btn svg{width: 17px;height: 17px}.callbar__btn--call{background: linear-gradient(180deg,#b8591f 0%,#a24815 100%)}.callbar__btn--wa{background: linear-gradient(180deg,#178040 0%,#0f6a31 100%)}@keyframes gpcRise{from{transform: translateY(24px);opacity: 0}to{transform: none;opacity: 1}}@media (prefers-reduced-motion: reduce){.callbar{animation: none}}@media (min-width: 860px){.callbar{display: none}}.stats-strip{padding-block: clamp(1.5rem,1rem + 2vw,2.5rem)}.stats-strip + .section{padding-top: clamp(1.5rem,1rem + 2vw,2.5rem)}.fml{overflow: hidden;border-block: 1px solid var(--line);background: var(--surface-alt);-webkit-mask-image: linear-gradient(90deg,transparent 0%,#000 6%,#000 94%,transparent 100%);mask-image: linear-gradient(90deg,transparent 0%,#000 6%,#000 94%,transparent 100%)}.fml__track{display: flex;align-items: center;gap: 3rem;width: max-content;padding-block: 0.9rem;animation: fmlRTL 110s linear infinite;will-change: transform}.fml:hover .fml__track,.fml:focus-within .fml__track{animation-play-state: paused}@keyframes fmlRTL{from{transform: translateX(0)}to{transform: translateX(-50%)}}.fchip{flex-shrink: 0;white-space: nowrap;font-family: var(--serif);font-style: italic;font-weight: 500;font-size: clamp(0.96rem,0.9rem + 0.28vw,1.06rem);color: var(--ink-900)}.fchip--sci{color: var(--brand-700)}@media (prefers-reduced-motion: reduce){.fml__track{animation: none}}.sband{list-style: none;margin: 0;padding: 0;display: grid;grid-template-columns: repeat(2,1fr);border: 1px solid var(--line);border-radius: var(--radius-sm);overflow: hidden;background: var(--surface);box-shadow: var(--shadow-sm)}@media (min-width: 760px){.sband{grid-template-columns: repeat(4,1fr)}}.sband__item{border-right: 1px solid var(--line);border-bottom: 1px solid var(--line)}.sband__item:nth-child(2n){border-right: 0}@media (min-width: 760px){.sband__item{border-bottom: 0}.sband__item:nth-child(2n){border-right: 1px solid var(--line)}.sband__item:last-child{border-right: 0}}.sband__item:nth-last-child(-n + 2){border-bottom: 0}.sband__item>.sband__value,.sband__item>.sband__label{padding-inline: 1.25rem}.sband__item>.sband__value{padding-top: 1.4rem}.sband__item>.sband__label{padding-bottom: 1.4rem}.sband__value{display: block;font-family: var(--serif);font-weight: 500;font-size: 1.6rem;line-height: 1.15;color: var(--ink-900)}@media (min-width: 480px){.sband__value{font-size: 2rem}}.sband__label{display: block;margin-top: 0.55rem;font-size: var(--step--1);color: var(--ink-500)}.sband__link{display: block;padding: 1.4rem 1.25rem;text-decoration: none;transition: background-color 0.15s ease}.sband__link:hover,.sband__link:focus-visible{background: var(--brand-50)}.sband__value--link{color: var(--ink-900)}.sband__star{color: #fbbc04;margin-left: 0.08em}.sband__unit{font-family: 'Inter',system-ui,sans-serif;font-weight: 500;font-size: 0.5em;color: var(--ink-500);margin-left: 0.2em;letter-spacing: 0}.sband__label--link{color: var(--ink-700);text-decoration: underline;text-decoration-color: var(--brand-100)}.sband__link:hover .sband__label--link,.sband__link:focus-visible .sband__label--link{text-decoration-color: currentColor}.cls{list-style: none;margin: 0;padding: 0}.cls__more{margin-top: 1.75rem}.cls__card{display: block;background: var(--surface-alt);border: 2px solid var(--line);border-radius: 18px;padding: 1.35rem 1.25rem 1.5rem;box-shadow: 0 5px 0 #ebe2cb;color: inherit;text-decoration: none;height: 100%;transition: transform 0.15s ease,box-shadow 0.15s ease}.cls__card:hover{transform: translateY(-2px);box-shadow: 0 7px 0 #ebe2cb}.cls__card h3{margin-bottom: 0.4rem}.cls__card p:last-child{color: var(--ink-500);font-size: var(--step--1);line-height: 1.6;margin: 0}.tops{list-style: none;margin: 0;padding: 0;display: grid;grid-template-columns: repeat(2,1fr);gap: 1px;background: var(--line);border: 1px solid var(--line);border-radius: var(--radius-sm);overflow: hidden}@media (min-width: 700px){.tops{grid-template-columns: repeat(3,1fr)}}.top{background: var(--surface);padding: 1.35rem 1.25rem;text-align: center}.top__marks{margin: 0;font-family: var(--serif);font-size: 2rem;line-height: 1;font-variant-numeric: tabular-nums}.top__maths{color: var(--accent-500)}.top__marks i{font-style: normal;color: var(--ink-500);opacity: 0.55;padding: 0 0.15rem}.top__name{margin: 0.6rem 0 0;font-size: var(--step-0);font-weight: 600}.top__year{margin: 0.15rem 0 0;font-size: var(--step--1);color: var(--ink-500)}.tops__key{margin: 0.85rem 0 0;text-align: center;font-size: var(--step--1);color: var(--ink-500)}.tops__key i{font-style: normal;opacity: 0.55;padding: 0 0.15rem}.why{position: relative;overflow: hidden;perspective: 1100px;perspective-origin: 50% 40%}.why__inner{position: relative;z-index: 1}.solids{position: absolute;inset: 0;z-index: 0;display: none;pointer-events: none}@media (min-width: 1200px){.solids{display: block}}.solid{position: absolute;transform-style: preserve-3d;animation: solidSpin 22s linear infinite;opacity: 0.5}.solid--a{top: 8%;right: 6%;width: 90px;height: 90px;animation-duration: 26s}.solid--b{bottom: 12%;right: 16%;width: 60px;height: 60px;animation-duration: 19s;animation-direction: reverse}@keyframes solidSpin{from{transform: rotateX(0) rotateY(0)}to{transform: rotateX(360deg) rotateY(360deg)}}@media (prefers-reduced-motion: reduce){.solid{animation: none;transform: rotateX(-18deg) rotateY(28deg)}}.faq{display: grid;gap: 0.7rem;max-width: 50rem}.faq__item{background: var(--surface);border: 1px solid var(--line);border-radius: var(--radius-sm)}.faq__item summary{cursor: pointer;list-style: none;padding: 1rem 1.2rem;min-height: 44px;font-weight: 600;color: var(--ink-900);display: flex;align-items: center;justify-content: space-between;gap: 1rem}.faq__item summary::-webkit-details-marker{display: none}.faq__item summary::after{content: '';flex-shrink: 0;width: 0.6rem;height: 0.6rem;border-right: 2.5px solid var(--brand-600);border-bottom: 2.5px solid var(--brand-600);transform: rotate(45deg);transition: transform 0.2s}.faq__item[open] summary::after{transform: rotate(-135deg)}.faq__item p{padding: 0 1.2rem 1.15rem;color: var(--ink-500);margin: 0}.rbox{position: relative;border: 1px solid var(--line);border-radius: var(--radius);background: var(--surface);box-shadow: var(--shadow-sm);padding-top: clamp(1.1rem,0.9rem + 0.7vw,1.4rem)}.rbox--tint{background: var(--surface-alt)}.rbox__head{display: flex;align-items: center;justify-content: space-between;gap: 1rem;flex-wrap: wrap;padding: 0 clamp(1.1rem,0.9rem + 0.7vw,1.5rem) 1.1rem;border-bottom: 1px solid var(--line)}.rbox__rating{display: flex;align-items: center;gap: 0.6rem;flex-wrap: wrap}.rbox__g{width: 26px;height: 26px;flex-shrink: 0}.rbox__score{font-family: var(--serif);font-size: 1.9rem;line-height: 1;color: var(--ink-900);font-variant-numeric: tabular-nums}.rbox__stars{display: flex;gap: 1px}.rbox__stars svg{width: 14px;height: 14px;fill: #fbbc04;stroke: none}.rbox__count{font-size: var(--step--1);color: var(--ink-500)}.rbox__link{flex-shrink: 0}.rbox__foot{display: flex;justify-content: flex-end;padding: 0.7rem clamp(1.1rem,0.9rem + 0.7vw,1.5rem) clamp(1.1rem,0.9rem + 0.7vw,1.4rem)}.rbox__pause{display: inline-flex;align-items: center;gap: 0.5rem;min-height: 36px;padding: 0.4rem 0.9rem;border-radius: 999px;border: 1px solid var(--line);background: var(--surface);color: var(--ink-700);font: inherit;font-size: var(--step--1);font-weight: 600;cursor: pointer}.rbox__pause:hover{border-color: var(--ink-500)}.rbox__pause svg{width: 13px;height: 13px}.rcaption{margin-top: 0.9rem;text-align: center;font-size: var(--step--1);color: var(--ink-500)}.flow{overflow: hidden;-webkit-mask-image: linear-gradient(90deg,transparent 0%,#000 6%,#000 94%,transparent 100%);mask-image: linear-gradient(90deg,transparent 0%,#000 6%,#000 94%,transparent 100%)}.flow__track{display: flex;align-items: stretch;gap: 1rem;width: max-content;animation: flowRTL 46s linear infinite;will-change: transform}.flow:hover .flow__track,.flow:focus-within .flow__track{animation-play-state: paused}@keyframes flowRTL{from{transform: translateX(0)}to{transform: translateX(-50%)}}.rcard{flex: 0 0 320px;background: var(--surface);border: 1px solid var(--line);border-radius: var(--radius-sm);padding: 1.25rem 1.35rem 1.4rem;box-shadow: var(--shadow-sm)}.rcard__head{display: flex;align-items: center;gap: 0.7rem}.rcard__avatar{flex-shrink: 0;width: 38px;height: 38px;border-radius: 50%;display: grid;place-items: center;color: #fff;font-weight: 600;font-size: 0.95rem}.rcard__who{min-width: 0;display: flex;flex-direction: column}.rcard__name{font-weight: 600;font-size: var(--step-0);color: var(--ink-900);white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.rcard__meta{font-size: 0.72rem;color: var(--ink-500)}.rcard__stars{display: flex;gap: 2px;margin-top: 0.6rem}.rcard__stars svg{width: 14px;height: 14px;fill: #fbbc04;stroke: none}.rcard__text{margin-top: 0.6rem;font-size: var(--step--1);line-height: 1.6;color: var(--ink-700)}@media (prefers-reduced-motion: reduce){.flow__track{animation: none;transform: translateX(-8%)}}.pillars{list-style: none;margin: 0;padding: 0}.pillars__h{font-size: var(--step-1);margin-bottom: 0.5rem}.clist{list-style: none;margin: 0;padding: 0;display: grid;gap: 1.25rem}@media (min-width: 780px){.clist{grid-template-columns: repeat(2,1fr)}}.clist__item{display: flex;flex-direction: column}.clist__head{margin-bottom: 0.5rem}.clist__item h2{font-size: var(--step-2);margin-bottom: 0}.clist__item h2 a{color: inherit;text-decoration: none}.clist__item h2 a:hover{color: var(--brand-600);text-decoration: underline}.clist__subject{display: inline-block;font-size: 0.74rem;font-weight: 600;letter-spacing: 0.07em;text-transform: uppercase;color: var(--brand-600);background: var(--brand-50);border-radius: 999px;padding: 0.25rem 0.65rem;margin-bottom: 0.7rem}/* same logo-colour recipe as the home page's class grid (.cls), so the two pages match */
.clist__item { --cc: #0067b3; }
.clist__item:nth-child(2) { --cc: #d9420b; }
.clist__item:nth-child(3) { --cc: #007020; }
.clist__item:nth-child(4) { --cc: #a65d00; }
.clist__item .clist__subject { background: var(--cc); border-color: var(--cc); color: #fff; }
.clist__ctas { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: auto; }
.clist .tick-list { margin-bottom: 1.5rem; }
.cformulas { list-style: none; margin: 0 0 1.5rem; padding: 0.9rem 0 0; border-top: 1px solid var(--line); display: grid; gap: 0.5rem; }
.cformulas li { display: flex; align-items: baseline; gap: 0.55rem; flex-wrap: wrap; }
.cformulas__tag { flex-shrink: 0; font-size: 0.64rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--accent-600); }
.cformulas__tag--sci { color: var(--success); }
.cformulas__text { font-family: var(--serif); font-style: italic; font-size: var(--step--1); color: var(--ink-700); }

/* ==========================================================================
   Gallery page
   ========================================================================== */









.gal { list-style: none; margin: 0; padding: 0; display: grid; gap: clamp(0.6rem, 0.4rem + 0.9vw, 1.1rem); grid-template-columns: repeat(2, 1fr); }
@media (min-width: 900px) { .gal { grid-template-columns: repeat(3, 1fr); } }
.gal img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: var(--radius-sm); border: 1px solid var(--line); }

.vids, .rvids { list-style: none; margin: 0; padding: 0; }
.vid, .rvid { position: relative; display: block; width: 100%; padding: 0; border: 1px solid var(--line); border-radius: var(--radius-sm); overflow: hidden; background: #000; cursor: pointer; text-align: left; }
.vid img, .rvid img { width: 100%; aspect-ratio: 16/9; object-fit: cover; opacity: 0.88; transition: opacity 0.2s; }
.vid:hover img, .rvid:hover img { opacity: 1; }
.vid__play, .rvid__play { position: absolute; inset: 0; margin: auto; width: 64px; height: 64px; border-radius: 50%; background: rgba(0, 0, 0, 0.62); border: 2px solid #fff; }
.vid__play::after, .rvid__play::after { content: ''; position: absolute; inset: 0; margin: auto; width: 0; height: 0; border-left: 18px solid #fff; border-top: 11px solid transparent; border-bottom: 11px solid transparent; transform: translateX(3px); }
.vid__title, .rvid__cap { display: block; padding: 0.8rem 1rem; background: var(--surface); color: var(--ink-900); font-weight: 600; font-size: var(--step--1); text-align: left; }
.rvid__note { display: block; margin-top: 0.2rem; color: var(--ink-500); font-size: var(--step--1); font-weight: 400; }
.vid iframe, .rvid iframe { width: 100%; aspect-ratio: 16/9; border: 0; display: block; }

/* ==========================================================================
   Results page
   ========================================================================== */




.figs { list-style: none; margin: 0 0 clamp(2.5rem, 2rem + 2vw, 3.5rem); padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); border: 1px solid var(--line); border-radius: var(--radius-sm); overflow: hidden; background: var(--surface); }
@media (min-width: 760px) { .figs { grid-template-columns: repeat(4, 1fr); } }
.figs li { padding: 1.4rem 1.25rem; border-right: 1px solid var(--line); }
.figs li:last-child { border-right: 0; }
@media (max-width: 759px) { .figs li:nth-child(2n) { border-right: 0; } .figs li:nth-child(-n + 2) { border-bottom: 1px solid var(--line); } }
.figs b { display: block; font-family: var(--serif); font-weight: 500; font-size: 2.2rem; line-height: 1; font-variant-numeric: tabular-nums; }
.figs b span { font-size: 1.1rem; color: var(--ink-500); }
.figs > li > span { display: block; margin-top: 0.55rem; font-size: var(--step--1); color: var(--ink-500); }

.year { margin-bottom: clamp(2.25rem, 1.5rem + 3vw, 3.25rem); }
.year__cap { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: 0.9rem; }
.year__cap h2 { font-size: var(--step-2); }
.year__cap .muted { font-size: var(--step--1); }
.sheet { width: 100%; border-collapse: collapse; }
.sheet th, .sheet td { text-align: left; padding: 0.85rem 0.6rem; border-bottom: 1px solid var(--line); }
.sheet thead th { border-bottom: 2px solid var(--ink-900); font-size: 0.7rem; font-weight: 600; letter-spacing: 0.09em; text-transform: uppercase; color: var(--ink-500); padding-bottom: 0.5rem; }
.sheet__rank { width: 3rem; color: var(--ink-500); font-size: var(--step--1); font-variant-numeric: tabular-nums; font-weight: 400; }
.sheet__name { font-weight: 600; font-size: var(--step-0); }
.sheet__num { text-align: right; width: 5.5rem; font-family: var(--serif); font-size: 1.45rem; font-weight: 500; line-height: 1; font-variant-numeric: tabular-nums; }
.sheet__num--maths { color: var(--accent-500); }
.sheet thead .sheet__num { font-family: inherit; font-size: 0.7rem; }
.note { margin-top: 1.5rem; max-width: 62ch; font-size: var(--step--1); line-height: 1.7; color: var(--ink-500); }

/* ==========================================================================
   Teachers page
   ========================================================================== */









.tprofile { display: grid; gap: 2rem; align-items: start; }
@media (min-width: 860px) {
  .tprofile { grid-template-columns: 320px 1fr; gap: 3rem; }
  .tprofile__card { position: sticky; top: 7rem; }
}
.tprofile__card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-sm); padding: 1.75rem; text-align: center; }
.tprofile__avatar { width: 160px; height: 160px; margin: 0 auto 1.1rem; border-radius: 50%; display: block; object-fit: cover; object-position: center 38%; border: 3px solid var(--surface); box-shadow: 0 0 0 1px var(--line), var(--shadow-sm); }
.tprofile__name { font-size: var(--step-2); margin-bottom: 0.2rem; }
.tprofile__role { color: var(--brand-600); font-weight: 600; margin-bottom: 0.35rem; }
.tprofile__creds { color: var(--ink-500); font-size: var(--step--1); }
.tprofile__meta { list-style: none; margin: 1.35rem 0 0; padding: 1.25rem 0 0; border-top: 1px solid var(--line); display: grid; gap: 0.75rem; text-align: left; }
.tprofile__meta li { display: flex; align-items: center; gap: 0.6rem; font-size: var(--step--1); font-weight: 600; color: var(--ink-700); }
.tprofile__meta svg { width: 18px; height: 18px; color: var(--brand-600); flex-shrink: 0; }
.tprofile__body > p { margin: 1.1rem 0 0; }

.thl { list-style: none; margin: 2rem 0 0; padding: 0; display: grid; gap: 1.6rem; }
.thl li { border-left: 3px solid var(--brand-100); padding-left: 1.25rem; }
.thl h3 { font-size: var(--step-1); margin-bottom: 0.3rem; }
.thl p { color: var(--ink-500); margin: 0; }

.tquote { margin: 1.75rem 0 0; padding: 1.25rem 1.5rem; background: var(--surface); border: 1px solid var(--line); border-left: 3px solid var(--brand-500); border-radius: var(--radius); }
.tquote p { margin: 0 0 0.5rem; font-size: var(--step-1); font-weight: 600; font-style: italic; color: var(--ink-700); }
.tquote cite { font-style: normal; font-size: var(--step--1); color: var(--ink-500); }

.tquals { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.tquals__row { display: grid; gap: 0.15rem 1.5rem; padding: 1.1rem 0; border-bottom: 1px solid var(--line); }
.tquals__row:first-child { padding-top: 0; }
.tquals__row:last-child { border-bottom: none; }
@media (min-width: 700px) { .tquals__row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 5.5rem; align-items: baseline; } }
.tquals__degree { font-weight: 600; color: var(--ink-700); }
.tquals__inst { color: var(--ink-500); font-size: var(--step--1); }
.tquals__detail { font-weight: 600; color: var(--brand-600); font-variant-numeric: tabular-nums; }
@media (min-width: 700px) { .tquals__detail { text-align: right; } }

.ttimeline { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.ttimeline__row { display: grid; gap: 0.3rem 1.5rem; padding: 1.4rem 0; border-bottom: 1px solid var(--line); }
.ttimeline__row:first-child { padding-top: 0; }
.ttimeline__row:last-child { border-bottom: none; }
@media (min-width: 700px) { .ttimeline__row { grid-template-columns: 220px 1fr; } }
.ttimeline__period { font-variant-numeric: tabular-nums; font-size: var(--step--1); font-weight: 600; color: var(--brand-600); }
.ttimeline__content h3 { font-size: var(--step-1); margin-bottom: 0.2rem; }
.ttimeline__role { font-weight: 600; color: var(--ink-700); margin: 0 0 0.25rem; }
.ttimeline__content p:last-child { margin-bottom: 0; }

/* ==========================================================================
   Privacy / Terms
   ========================================================================== */



.prose { max-width: 62rem; }
.prose .updated { font-size: var(--step--1); color: var(--ink-500); margin-bottom: 1.5rem; }
.prose h2 { font-size: var(--step-1); margin-top: 2rem; }
.prose ul { padding-left: 1.2rem; }
.prose li { margin-bottom: 0.5rem; }
.prose .note { background: var(--surface-alt); border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 1.1rem 1.3rem; margin-top: 2.5rem; font-size: var(--step--1); }

/* ==========================================================================
   Class-group detail pages
   ========================================================================== */





.cgroup__intro { max-width: 62rem; display: grid; gap: 1rem; margin-bottom: 1.75rem; }
.cgroup__intro .lede { margin: 0; }
.curr { display: grid; gap: 2rem; }
.curr__block { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-sm); padding: 1.5rem 1.75rem; }
.curr__block h3 { font-size: var(--step-1); margin-bottom: 1rem; }
.curr__cols { display: grid; gap: 1.5rem; }
@media (min-width: 640px) { .curr__cols { grid-template-columns: 1fr 1fr; } }
.curr__label { font-size: 0.72rem; font-weight: 600; letter-spacing: 0.07em; text-transform: uppercase; color: var(--accent-600); margin-bottom: 0.6rem; }
.curr__label--sci { color: var(--success); }
.curr__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; }
.curr__list li { font-size: var(--step--1); color: var(--ink-700); padding-left: 1.1rem; position: relative; }
.curr__list li::before { content: ''; position: absolute; left: 0; top: 0.55em; width: 5px; height: 5px; border-radius: 50%; background: var(--brand-500); }
.curr__note { max-width: 52rem; margin-inline: auto; text-align: center; }
.cformulas--page { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.9rem; max-width: 42rem; margin-inline: auto; }
.cformulas--page li { display: flex; align-items: baseline; gap: 0.6rem; flex-wrap: wrap; }

/* ==========================================================================
   Notes (blog)
   ========================================================================== */




.chips { display: flex; flex-wrap: wrap; gap: 0.5rem; padding-bottom: 1.5rem; margin-bottom: 0.5rem; border-bottom: 1px solid var(--line); }
.chip { display: inline-flex; align-items: center; gap: 0.5rem; min-height: 40px; padding: 0.35rem 0.9rem; border: 1px solid var(--line); border-radius: 999px; font-size: 0.72rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-700); text-decoration: none; transition: border-color 0.16s ease, color 0.16s ease, background-color 0.16s ease; }
.chip:hover { border-color: var(--ink-500); }
.chip span { font-size: 0.68rem; color: var(--ink-500); font-weight: 600; }



.rows { list-style: none; margin: 0; padding: 0; }
.row { display: block; padding: clamp(1.4rem, 1rem + 1.5vw, 2rem) 0; border-bottom: 1px solid var(--line); text-decoration: none; color: inherit; }
.row:hover .row__title { color: var(--accent-500); }
.row:hover .row__go { gap: 0.7rem; }
.row__topic { margin: 0 0 0.7rem; font-size: 0.7rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--brand-600); }
.row__title { font-size: var(--step-2); max-width: 28ch; margin-bottom: 0.5rem; transition: color 0.16s ease; }
.row__dek { color: var(--ink-500); max-width: 62ch; line-height: 1.65; margin-bottom: 1rem; }
.row__foot { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin: 0; }
.row__date { font-size: 0.7rem; font-weight: 600; letter-spacing: 0.08em; color: var(--ink-500); }
.row__date i { font-style: normal; opacity: 0.5; padding: 0 0.2rem; }
.row__go { display: inline-flex; align-items: center; gap: 0.45rem; font-size: var(--step--1); font-weight: 600; color: var(--accent-500); transition: gap 0.16s ease; }
.row__go svg { width: 15px; height: 15px; }

/* Single post */

.crumb { display: flex; gap: 0.5rem; font-size: var(--step--1); font-weight: 600; color: var(--ink-500); margin-bottom: 0.9rem; }
.crumb a { color: var(--brand-600); }

.byline { font-size: var(--step--1); color: var(--ink-500); margin: 0; line-height: 1.8; }
.byline i { font-style: normal; opacity: 0.5; padding: 0 0.15rem; }
.byline__for { color: var(--ink-700); }

article .prose { max-width: 68ch; margin-inline: auto; padding-block: clamp(2rem, 1.5rem + 3vw, 3.25rem); font-size: var(--step-0); line-height: 1.75; color: var(--ink-700); }
article .prose h2 { margin-top: 2.25em; margin-bottom: 0.5em; font-size: var(--step-2); color: var(--ink-900); }
article .prose h2:first-child { margin-top: 0; }
article .prose h3 { margin-top: 1.9em; margin-bottom: 0.4em; font-size: var(--step-1); }
article .prose p { margin-bottom: 1.1em; }
article .prose strong { color: var(--ink-900); font-weight: 600; }
article .prose a { color: var(--brand-700); text-underline-offset: 3px; }
article .prose ul, article .prose ol { margin: 0 0 1.3em; padding-left: 1.3em; }
article .prose li { margin-bottom: 0.5em; }
article .prose li::marker { color: var(--accent-500); }
article .prose hr { border: 0; border-top: 1px solid var(--line); margin-block: 2.25em; }
article .prose code { background: var(--surface-alt); border: 1px solid var(--line); border-radius: 4px; padding: 0.1em 0.35em; font-size: 0.92em; }
article .prose em { color: var(--ink-900); }

.next { display: block; text-decoration: none; color: inherit; border: 1px solid var(--line); border-left: 3px solid var(--accent-500); border-radius: var(--radius-sm); background: var(--surface); padding: clamp(1.25rem, 1rem + 1.5vw, 1.75rem); transition: transform 0.16s ease; }
.next:hover { transform: translateY(-2px); }
.next__label { display: block; font-size: 0.7rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-500); margin-bottom: 0.5rem; }
.next__title { display: block; font-family: var(--serif); font-size: var(--step-1); color: var(--ink-900); margin-bottom: 0.7rem; max-width: 30ch; }
.next__go { display: inline-flex; align-items: center; gap: 0.45rem; font-size: var(--step--1); font-weight: 600; color: var(--accent-500); }
.next__go svg { width: 15px; height: 15px; }

/* 404 */
.nf { text-align: center; }
.nf .lede { max-width: 40rem; margin-inline: auto; }
.nf__links { list-style: none; margin: 2rem 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem; }
.nf__links a { display: inline-flex; align-items: center; min-height: 44px; padding: 0.5rem 1.1rem; background: var(--brand-50); border: 1px solid var(--brand-100); border-radius: 999px; color: var(--brand-700); text-decoration: none; font-weight: 600; font-size: var(--step--1); }
.nf__links a:hover { background: var(--brand-100); }
.nf__actions { justify-content: center; }


/* ==========================================================================
   Brass & Ivory layer — light header strip, footer, gold chips, motion toggle
   ========================================================================== */
.hdr__top { background: var(--brand-100); color: var(--brand-700); font-size: var(--step--1); border-bottom: 1px solid var(--gold-line); }
.hdr__contact:hover { color: var(--ink-900); }
.hdr__social a { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: rgba(107, 82, 16, 0.12); color: var(--brand-700); }
.hdr__social a:hover { background: var(--accent-500); color: #fff; }

/* pale-gold chip: one recipe for every small label on the site */
.cls__chip, .clist__subject, .gchip {
  display: inline-flex; align-items: center; gap: 0.5em;
  background: var(--brand-100); color: var(--brand-700); border: 1px solid var(--gold-line);
  border-radius: 999px; padding: 0.3rem 0.8rem; font-size: 0.78rem; font-weight: 600; line-height: 1.3; letter-spacing: 0;
}
.cls__chip { margin-bottom: 0.85rem; }
/* class cards take the logo's colours: blue,orange,green,amber */ .cls li{--cc: #0067b3;--cc-ink: #fff}.cls li:nth-child(2){--cc: #d9420b}.cls li:nth-child(3){--cc: #007020}.cls li:nth-child(4){--cc: #a65d00}.cls .cls__chip{background: var(--cc);border-color: var(--cc);color: var(--cc-ink)}.cls .cls__card:hover{border-color: var(--cc)}.clist__subject{text-transform: uppercase;letter-spacing: 0.07em;font-size: 0.72rem;margin-bottom: 0.7rem}.chip--on{background: var(--gold-strong);border-color: #b08d1c;color: var(--ink-900)}.chip--on span{color: var(--brand-700)}.gchip__dot{width: 0.55em;height: 0.55em;border-radius: 50%;background: var(--accent-500);flex-shrink: 0}.gchip__dot--v{background: var(--brand-500)}.ftr{background: var(--surface-alt);color: var(--ink-700);border-top: 1px solid var(--line);padding-block: clamp(2.5rem,2rem + 3vw,4rem) 0}.ftr__grid{display: grid;gap: 2.25rem}@media (min-width: 700px){.ftr__grid{grid-template-columns: repeat(2,1fr);gap: 2.5rem}}@media (min-width: 980px){.ftr__grid{grid-template-columns: 1.3fr 1.15fr 1fr 1.15fr}}.ftr__links--split{grid-template-columns: repeat(2,1fr);column-gap: 1rem}.ftr__brand{font-family: var(--serif);color: var(--ink-900);font-weight: 500;font-size: 1.6rem;letter-spacing: -0.012em;line-height: 1.1;margin-bottom: 0.7rem}.ftr__tag{font-size: var(--step--1);max-width: 34ch;line-height: 1.6}.ftr__h{color: var(--brand-700);font-family: inherit;font-size: 0.78rem;font-weight: 600;letter-spacing: 0.12em;text-transform: uppercase;margin-bottom: 1rem}.ftr__links{list-style: none;margin: 0;padding: 0;display: grid;gap: 0.15rem}.ftr__links a,.ftr__addr{display: flex;align-items: center;gap: 0.6rem;color: inherit;text-decoration: none;padding: 0.55rem 0;font-size: var(--step--1);min-height: 44px}.ftr__links a:hover{color: var(--accent-600);text-decoration: underline;text-underline-offset: 3px}.ftr__links svg{width: 17px;height: 17px;flex-shrink: 0;color: var(--brand-500)}.ftr__addr{align-items: flex-start}.ftr__addr svg{margin-top: 0.35rem}.ftr__social{list-style: none;display: flex;gap: 0.6rem;margin: 1.25rem 0 0;padding: 0}.ftr__social a{display: grid;place-items: center;width: 44px;height: 44px;border-radius: 50%;background: var(--brand-100);border: 1px solid var(--gold-line);color: var(--brand-700);transition: background-color 0.15s,color 0.15s}.ftr__social a:hover{background: var(--accent-500);border-color: var(--accent-500);color: #fff}.ftr__social svg{width: 19px;height: 19px}.ftr__base{margin-top: 2.5rem;border-top: 1px solid var(--line);padding-block: 1.25rem;display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 0.75rem 1.5rem}.ftr__base p{font-size: 0.82rem;margin: 0;color: var(--ink-500)}.mtoggle{display: inline-flex;align-items: center;gap: 0.5rem;min-height: 36px;padding: 0.3rem 0.9rem;border-radius: 999px;border: 1px solid var(--gold-line);background: var(--brand-100);color: var(--brand-700);font: inherit;font-size: 0.78rem;font-weight: 600;cursor: pointer}.mtoggle:hover{background: #ecdca8}.mtoggle__dot{width: 0.55rem;height: 0.55rem;border-radius: 50%;background: var(--wa)}.mtoggle[aria-pressed='false'] .mtoggle__dot{background: var(--ink-300)}.hero{position: relative;overflow: hidden;isolation: isolate;border-bottom: 1px solid var(--line);background: radial-gradient(820px 520px at 80% 35%,#fbf0cf 0%,rgba(251,240,207,0) 70%),var(--surface);min-height: min(78vh,700px);display: flex;flex-direction: column;justify-content: center;padding-block: clamp(2.5rem,1.5rem + 5vw,5rem) clamp(2rem,1.5rem + 3vw,3.5rem)}.hero__fx{position: absolute;inset: 0;width: 100%;height: 100%;z-index: -1;opacity: 0.5}@media (min-width: 700px){.hero__fx{opacity: 1;-webkit-mask-image: linear-gradient(90deg,transparent 26%,#000 56%);mask-image: linear-gradient(90deg,transparent 26%,#000 56%)}}.hero__inner{display: flex;flex-direction: column;gap: clamp(1.75rem,1rem + 3vw,2.75rem)}.hero__copy{max-width: 37rem}.hero__rating{display: flex;align-items: center;flex-wrap: wrap;gap: 0.6rem;margin-bottom: 1.1rem}.hero__stars{display: inline-flex;gap: 2px;color: var(--gold-strong)}.hero__stars svg{width: 15px;height: 15px}.hero__rating span:last-child{font-size: var(--step--1);color: var(--ink-700);font-weight: 500}.hero__rating b{color: var(--ink-900);font-weight: 600}.hero h1{font-size: clamp(2.4rem,1.2rem + 4.8vw,4.3rem);line-height: 1.02;letter-spacing: -0.014em}.hero__sub{margin-top: 1.1rem;max-width: 32rem;font-size: var(--step-0);line-height: 1.65;color: var(--ink-700)}.hero__actions{display: flex;flex-wrap: wrap;gap: 0.75rem;margin-top: 1.75rem}.hero__steps{list-style: none;margin: 0;padding: 0;display: flex;flex-wrap: wrap;gap: 0.6rem}.hstep{display: inline-flex;align-items: center;gap: 0.55rem;padding: 0.35rem 0.95rem 0.35rem 0.4rem;background: rgba(255,255,255,0.8);border: 1px solid var(--line);border-radius: 999px;font-size: 0.84rem;font-weight: 600;color: var(--ink-700)}.hstep__ico{width: 30px;height: 30px;border-radius: 50%;background: var(--brand-100);color: var(--brand-700);display: grid;place-items: center;flex-shrink: 0}.hstep__ico svg{width: 15px;height: 15px}.phero{position: relative;overflow: hidden;isolation: isolate;border-bottom: 1px solid var(--line);background: linear-gradient(180deg,var(--surface) 0%,#f8efd6 100%);padding-block: clamp(2.25rem,1.5rem + 3.5vw,4rem) clamp(5.25rem,3.5rem + 6vw,8.5rem)}.phero__fx{position: absolute;left: 0;right: 0;bottom: 0;width: 100%;height: clamp(110px,calc(60px + 10vw),170px);z-index: -1}.phero__inner{display: grid;gap: 2rem;align-items: center}@media (min-width: 860px){.phero--split .phero__inner{grid-template-columns: 1.25fr 1fr;gap: 3rem}}.phero h1{font-size: var(--step-4);max-width: 20ch}.phero .lede{max-width: 46ch}.phero__crumb{display: flex;flex-wrap: wrap;gap: 0.5rem;font-size: var(--step--1);font-weight: 600;color: var(--ink-500);margin-bottom: 0.9rem}.phero__crumb a{color: var(--brand-700)}.phero .byline{margin-top: 0.9rem}.phero__card{background: #fff;border: 1px solid var(--gold-line);border-radius: var(--radius);box-shadow: var(--shadow-md);padding: clamp(1.25rem,1rem + 1vw,1.75rem)}.phero__card dl{margin: 0;display: grid;gap: 1rem}.phero__card div{display: grid;gap: 0.15rem}.phero__card dt{font-size: 0.72rem;font-weight: 600;letter-spacing: 0.1em;text-transform: uppercase;color: var(--brand-700)}.phero__card dd{margin: 0;font-weight: 600;color: var(--ink-900)}.phero__call{display: grid;gap: 0.25rem;padding: 1.25rem 1.5rem;background: #fff;border: 1px solid var(--gold-line);border-radius: var(--radius);box-shadow: var(--shadow-md);text-decoration: none;color: var(--ink-900)}.phero__call-label{font-size: 0.72rem;font-weight: 600;letter-spacing: 0.1em;text-transform: uppercase;color: var(--brand-700)}.phero__call-num{display: inline-flex;align-items: center;gap: 0.6rem;font-family: var(--serif);font-size: var(--step-3);line-height: 1.1}.phero__call-num svg{width: 26px;height: 26px;color: var(--accent-500)}.phero__strip{display: flex;gap: 0.6rem}.phero__strip img{flex: 1;min-width: 0;aspect-ratio: 3/4;object-fit: cover;border-radius: var(--radius-sm);border: 4px solid #fff;box-shadow: var(--shadow-md);transform: rotate(-2deg)}.phero__strip img:nth-child(2){transform: rotate(1.5deg);margin-top: 1rem}.phero__strip img:nth-child(3){transform: rotate(-1deg)}.cta{position: relative;overflow: hidden;isolation: isolate;text-align: center;border-top: 1px solid var(--line);background: linear-gradient(180deg,var(--surface) 0%,#f8edcf 100%);padding-block: clamp(3.5rem,2.5rem + 5vw,6rem)}.cta__fx{position: absolute;inset: 0;width: 100%;height: 100%;z-index: -1}.cta__inner{max-width: 42rem;margin-inline: auto}.cta h2{font-size: var(--step-4)}.cta .lede{max-width: 34rem;margin-inline: auto;color: var(--ink-700)}.cta h2,.cta .lede,.cta .eyebrow{text-shadow: 0 0 14px rgba(253,247,228,0.95),0 0 5px rgba(253,247,228,0.9)}.cta__actions{display: flex;flex-wrap: wrap;justify-content: center;gap: 0.75rem;margin-top: 1.75rem}.gd{padding-block: clamp(2rem,1.4rem + 3vw,3.5rem)}.gd__grid{display: grid;gap: 1.75rem;align-items: center}@media (min-width: 1000px){.gd__grid{grid-template-columns: 0.6fr 1.4fr;gap: 2.5rem}}.gd__facts{list-style: none;margin: 1.5rem 0 0;padding: 0;display: flex;flex-wrap: wrap;gap: 0.5rem}.gd__desk{background: #fff;border: 1px solid var(--gold-line);border-radius: 22px;padding: clamp(0.9rem,0.6rem + 1.4vw,1.4rem);box-shadow: 0 28px 50px -30px rgba(107,82,16,0.4),0 2px 6px rgba(60,45,10,0.05)}.gd__head{display: flex;flex-wrap: wrap;align-items: baseline;justify-content: space-between;gap: 0.4rem 1rem;margin-bottom: 0.9rem}.gd__head h3{font-size: 1.25rem;margin: 0}.gd__head span{font-size: 0.78rem;color: var(--ink-500)}.gd__plot{border: 1px solid var(--line);border-radius: 14px;overflow: hidden;background: #fffdf7}.gd__plot svg{display: block;width: 100%;height: auto}.gd__legend{display: flex;flex-wrap: wrap;gap: 0.4rem 1rem;margin: 0.7rem 0 0;font-size: 0.78rem;color: var(--ink-500)}.gd__legend span{display: inline-flex;align-items: center;gap: 0.4rem}.gd__legend .gchip__dot{width: 0.6em;height: 0.6em}.gd__ctrls{display: grid;gap: 0.85rem;margin-top: 1rem}.gd__ctrl{display: grid;grid-template-columns: 8.6rem 1fr 3rem;gap: 0.75rem;align-items: center;font-size: 0.85rem}.gd__ctrl label,.gd__ctrl .gd__lbl{color: var(--ink-900);font-weight: 600;line-height: 1.25}.gd__ctrl small{display: block;font-weight: 400;color: var(--ink-500);font-size: 0.76rem}.gd__ctrl output{font: 600 0.95rem/1 var(--serif);font-variant-numeric: tabular-nums;text-align: right;color: var(--ink-900)}.gd__ctrl input[type='range']{width: 100%;accent-color: var(--accent-500);min-height: 28px;margin: 0}.gd__dir{display: flex;gap: 0.4rem}@media (max-width: 520px){.gd__ctrl{grid-template-columns: 1fr 3rem}.gd__ctrl label,.gd__ctrl .gd__lbl{grid-column: 1 / 3}.gd__ctrl input,.gd__dir{grid-column: 1}.gd__ctrl output{grid-column: 2}}.gd__presets{display: flex;flex-wrap: wrap;align-items: center;gap: 0.4rem;margin-top: 1rem}.gd__presets-lbl{font-size: 0.78rem;font-weight: 600;color: var(--ink-500);margin-right: 0.25rem}button.gchip{cursor: pointer;min-height: 44px;padding-inline: 1.05rem;font-size: 0.84rem;font-family: inherit;transition: background-color 0.15s ease}button.gchip:hover{background: #ecdca8}button.gchip[aria-pressed='true']{background: var(--gold-strong);border-color: #b08d1c;color: var(--ink-900)}button.gchip--eq{font: italic 500 1rem/1.2 var(--serif)}.gd__result{margin-top: 1.1rem;padding-top: 1rem;border-top: 1px solid var(--line)}.gd__eq{font: italic 500 1.5rem/1.2 var(--serif);color: var(--ink-900);margin: 0}.gd__res{display: flex;flex-wrap: wrap;gap: 0.4rem;margin-top: 0.7rem}.gd__fm{margin-top: 0.8rem;font-size: 0.8rem;color: var(--ink-500)}.gd__fm i{font-family: var(--serif);font-size: 0.98rem;color: var(--ink-700)}.contact{display: grid;gap: 2.5rem;align-items: start}@media (min-width: 900px){.contact{grid-template-columns: 0.95fr 1.05fr;gap: 3.5rem}}.contact__ways{display: grid;gap: 0.75rem}.wcard{display: flex;align-items: center;gap: 1rem;padding: 1rem 1.15rem;border: 1px solid var(--line);border-radius: var(--radius);background: #fff;box-shadow: var(--shadow-sm);text-decoration: none;color: var(--ink-900);transition: border-color 0.15s,transform 0.15s}.wcard:hover{border-color: var(--gold-strong);transform: translateY(-1px)}.wcard strong{display: block;font-weight: 600}.wcard em{font-style: normal;color: var(--ink-500);font-size: var(--step--1)}.wcard__icon{width: 44px;height: 44px;border-radius: 50%;background: var(--brand-100);color: var(--brand-700);display: grid;place-items: center;flex-shrink: 0}.wcard__icon svg{width: 20px;height: 20px}.wcard--accent .wcard__icon{background: var(--accent-500);color: #fff}.wcard--wa .wcard__icon{background: var(--wa);color: #fff}.contact__form h2{font-size: var(--step-2)}.field{margin-bottom: 1rem}.field label{display: block;font-weight: 600;color: var(--ink-900);margin-bottom: 0.35rem;font-size: var(--step--1)}.field input,.field select,.field textarea{width: 100%;min-height: 48px;padding: 0.7rem 0.9rem;border: 1px solid #8f8459;border-radius: var(--radius-sm);background: #fff;font: inherit;color: var(--ink-900)}.field textarea{min-height: 110px;resize: vertical}.field input[aria-invalid='true']{border-color: #b3261e;box-shadow: 0 0 0 1px #b3261e}.hp{position: absolute;left: -9999px;width: 1px;height: 1px;overflow: hidden}.form__note{margin-top: 0.75rem;font-size: var(--step--1);color: var(--ink-500)}.cmap iframe{width: 100%;height: 380px;border: 0;border-radius: var(--radius)}.fgrid{list-style: none;margin: 0;padding: 0}.fgrid>.card{--ic: #0067b3;position: relative;transition: transform 0.2s ease,box-shadow 0.2s ease,border-color 0.2s ease}.fgrid>.card:nth-child(6n + 2){--ic: #d9420b}.fgrid>.card:nth-child(6n + 3){--ic: #007020}.fgrid>.card:nth-child(6n + 4){--ic: #b26a00}.fgrid>.card:nth-child(6n + 5){--ic: #0040a0}.fgrid>.card:nth-child(6n + 6){--ic: #4d7f00}.fgrid>.card:hover{transform: translateY(-3px);border-color: var(--ic);box-shadow: var(--shadow-md)}@media (prefers-reduced-motion: reduce){.fgrid .card__icon svg,.fgrid .card__icon::before,.fgrid .card__icon::after{animation: none}}html[data-motion='off'] .fgrid .card__icon svg,html[data-motion='off'] .fgrid .card__icon::before,html[data-motion='off'] .fgrid .card__icon::after,html[data-motion='off'] .fml__track,html[data-motion='off'] .flow__track,html[data-motion='off'] .solid{animation-play-state: paused}/* "Google" in the Google wordmark colours */ .gword{font-weight: 700;letter-spacing: 0.01em}.gword b{font-weight: 700}.gword__0,.gword__3{color: #4285f4}.gword__1,.gword__5{color: #ea4335}.gword__2{color: #fbbc04}.gword__4{color: #34a853}.mapblk__grid{display: grid;gap: 2rem;align-items: stretch}@media (min-width: 900px){.mapblk__grid{grid-template-columns: 0.85fr 1.15fr;gap: 3rem}}.mapblk__info{display: flex;flex-direction: column;justify-content: center}.mapblk__addr{display: flex;gap: 0.9rem;font-style: normal;margin-bottom: 1.25rem}.mapblk__addr strong{color: var(--ink-900)}.mapblk__pin{flex-shrink: 0;width: 44px;height: 44px;border-radius: 50%;display: grid;place-items: center;background: var(--brand-100);border: 1px solid var(--gold-line);color: var(--accent-500)}.mapblk__pin svg{width: 21px;height: 21px}.mapblk__hours{margin: 0 0 1.5rem;display: grid;gap: 0.35rem;max-width: 22rem}.mapblk__hours div{display: flex;justify-content: space-between;gap: 1rem;padding: 0.55rem 0;border-bottom: 1px solid var(--line)}.mapblk__hours dt{color: var(--ink-700)}.mapblk__hours dd{margin: 0;font-weight: 600;color: var(--ink-900);font-variant-numeric: tabular-nums}.mapblk__map{position: relative;min-height: 360px;border-radius: var(--radius);overflow: hidden;border: 1px solid var(--gold-line);box-shadow: var(--shadow-md);background: #f1ead6}.mapblk__map iframe{position: absolute;inset: 0;width: 100%;height: 100%;border: 0;z-index: 1}.mapblk__facade{z-index: 2;transition: opacity 0.35s ease}.mapblk__facade.is-done{opacity: 0;pointer-events: none}.mapblk__open{position: absolute;left: 0.75rem;top: 0.75rem;z-index: 3;padding: 0.4rem 0.85rem;border-radius: 999px;background: #fff;border: 1px solid var(--gold-line);box-shadow: var(--shadow-sm);font-size: 0.8rem;font-weight: 600;color: var(--brand-700);text-decoration: none}.mapblk__open:hover{background: var(--brand-100)}.mapblk__facade{position: absolute;inset: 0;width: 100%;border: 0;padding: 0;cursor: pointer;font: inherit;color: var(--ink-900);background: #f2efe9;overflow: hidden}/* shown at exactly the scale of Google's map (1 map pixel = 1 screen pixel, twice the detail for sharp screens), pin at the centre */
.mapblk__img { position: absolute; left: 50%; top: 50%; width: 700px; height: 520px; max-width: none; transform: translate(-50%, -50%); }
.mapblk__marker { position: absolute; left: 50%; top: 50%; width: 34px; height: 54px; margin: -54px 0 0 -17px; filter: drop-shadow(0 3px 3px rgba(0, 0, 0, 0.3)); }
.mapblk__marker svg { display: block; width: 100%; height: 100%; }
.mapblk__marker::after { content: ''; position: absolute; left: 50%; bottom: -3px; width: 16px; height: 6px; margin-left: -8px; border-radius: 50%; background: rgba(0, 0, 0, 0.22); filter: blur(2px); z-index: -1; }
.mapblk__label { position: absolute; left: 50%; top: calc(50% + 14px); transform: translateX(-50%); padding: 0.4rem 0.9rem; border-radius: 10px; background: #fff; border: 1px solid var(--gold-line); box-shadow: var(--shadow-sm); text-align: center; font-size: 0.8rem; line-height: 1.3; white-space: nowrap; }
.mapblk__label strong { display: block; }
.mapblk__show { position: absolute; left: 0.75rem; bottom: 0.75rem; padding: 0.55rem 1.1rem; border-radius: 999px; background: var(--accent-500); color: #fff; font-weight: 600; font-size: 0.85rem; box-shadow: var(--shadow-sm); }
.mapblk__facade:hover .mapblk__show, .mapblk__facade:focus-visible .mapblk__show { background: var(--accent-600); }
.mapblk__credit { position: absolute; right: 0; bottom: 0; padding: 0.15rem 0.5rem; background: rgba(255, 255, 255, 0.8); font-size: 0.66rem; color: var(--ink-700); }

/* Menu links are interface text: Inter medium, light and quick to scan. FAQ questions read like short headings, so they stay Newsreader. */
.hdr__navlink { font-family: 'Inter', system-ui, sans-serif; font-weight: 500; font-size: 1.02rem; letter-spacing: 0; }
.hdr__submenu-link { font-family: 'Inter', system-ui, sans-serif; font-weight: 500; font-size: 0.95rem; }
@media (min-width: 860px) { .hdr__navlink { font-size: 0.95rem; } .hdr__submenu-link { font-size: 0.9rem; } }

/* Name-like text in Newsreader (medium), where it used to be heavy Inter */
.top__name, .sheet__name, .vid__title, .rvid__cap, .wcard strong, .phero__card dd, .tquals__degree, .ttimeline__role, .tprofile__role { font-family: var(--serif); font-weight: 500; letter-spacing: -0.005em; }
.top__name { font-size: 1.2rem; }
.sheet__name { font-size: 1.2rem; }
.vid__title, .rvid__cap { font-size: 1.05rem; }
.wcard strong { font-size: 1.15rem; }
.phero__card dd { font-size: 1.12rem; }
.tquals__degree { font-size: 1.15rem; }
.ttimeline__role { font-size: 1.1rem; }
.tprofile__role { font-size: 1.2rem; color: var(--brand-600); }
.tquote p { font-family: var(--serif); font-weight: 500; }

/* Introduction lines under headings: Inter regular, one step smaller than before and a darker grey, so they read cleanly beside the Newsreader headline */
.lede, .hero__sub { font-family: 'Inter', system-ui, sans-serif; font-weight: 400; color: var(--ink-700); letter-spacing: 0; }
.lede { font-size: clamp(1.04rem, 0.98rem + 0.38vw, 1.2rem); line-height: 1.65; }
.hero__sub { font-size: clamp(1rem, 0.96rem + 0.3vw, 1.12rem); line-height: 1.65; }

/* bold tags follow the site's semibold,not the browser's heavy default */
b, strong { font-weight: 600; }
.gword b { font-weight: 700; }

/* ==========================================================================
   Call-to-action motion: a soft glint crossing the button, a ringing phone, a pulse behind the WhatsApp icon.
   Transform and opacity only, paused by the footer Motion switch and by reduced-motion settings.
   ========================================================================== */
.btn--primary, .btn--whatsapp, .callbar__btn { position: relative; overflow: hidden; isolation: isolate; }
.btn--primary::after, .btn--whatsapp::after, .callbar__btn::after {
  content: ''; position: absolute; top: -10%; bottom: -10%; left: 0; width: 38%; z-index: 1; pointer-events: none;
  background: linear-gradient(100deg, transparent 0%, rgba(255, 255, 255, 0.38) 50%, transparent 100%);
  transform: translateX(-160%) skewX(-18deg); animation: gpcGlint 6.5s ease-in-out infinite;
}
.btn--whatsapp::after, .callbar__btn--wa::after { animation-delay: 1.6s; }
.hdr__cta::after { animation-delay: 3.2s; }
@keyframes gpcGlint { 0%, 62% { transform: translateX(-160%) skewX(-18deg); } 100% { transform: translateX(420%) skewX(-18deg); } }

.btn--primary, .btn--whatsapp { transition: background-color 0.16s, border-color 0.16s, color 0.16s, transform 0.15s ease, box-shadow 0.2s ease; }
.btn--primary:hover { transform: translateY(-2px); box-shadow: 0 12px 24px -10px rgba(138, 67, 26, 0.6); }
.btn--whatsapp:hover { transform: translateY(-2px); box-shadow: 0 12px 24px -10px rgba(15, 106, 49, 0.6); }
.btn--primary:active, .btn--whatsapp:active { transform: translateY(0); }

.callbar__ico { position: relative; }
.callbar__ico::before { content: ''; position: absolute; inset: 0; border-radius: 50%; box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.5); animation: gpcBadge 2.8s ease-out infinite; }
.callbar__btn--wa .callbar__ico::before { animation-delay: 1.2s; }
@keyframes gpcBadge { 0% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.5); } 70%, 100% { box-shadow: 0 0 0 10px rgba(255, 255, 255, 0); } }
.callbar__btn--call .callbar__ico svg { transform-origin: 50% 50%; animation: gpcRing 5s ease-in-out infinite; }
@keyframes gpcRing { 0%, 22%, 100% { transform: rotate(0); } 3%, 9%, 15% { transform: rotate(-16deg); } 6%, 12%, 18% { transform: rotate(16deg); } }

@media (prefers-reduced-motion: reduce) {
  .btn--primary::after, .btn--whatsapp::after, .callbar__btn::after, .callbar__ico::before, .callbar__btn--call .callbar__ico svg { animation: none; }
}
html[data-motion='off'] .btn--primary::after, html[data-motion='off'] .btn--whatsapp::after, html[data-motion='off'] .callbar__btn::after,
html[data-motion='off'] .callbar__ico::before, html[data-motion='off'] .callbar__btn--call .callbar__ico svg { animation-play-state: paused; }

/* ---- the same care for every other button and call card ---- */
.btn--outline, .phero__call { position: relative; overflow: hidden; isolation: isolate; }
.btn--outline::after, .phero__call::after {
  content: ''; position: absolute; top: -10%; bottom: -10%; left: 0; width: 36%; z-index: 1; pointer-events: none;
  background: linear-gradient(100deg, transparent 0%, rgba(201, 162, 39, 0.3) 50%, transparent 100%);
  transform: translateX(-160%) skewX(-18deg); animation: gpcGlint 7.5s ease-in-out 2.4s infinite;
}
.btn--outline { transition: background-color 0.16s, border-color 0.16s, color 0.16s, transform 0.15s ease, box-shadow 0.2s ease; }
.btn--outline:hover { transform: translateY(-2px); box-shadow: 0 12px 24px -12px rgba(107, 82, 16, 0.5); }
.btn--outline:active { transform: translateY(0); }
.phero__call { transition: transform 0.15s ease, box-shadow 0.2s ease; }
.phero__call:hover { transform: translateY(-2px); box-shadow: 0 16px 30px -14px rgba(107, 82, 16, 0.5); }

/* icons inside buttons: the arrow leans forward on hover, the phone rings now and then, WhatsApp breathes */
.btn svg { transition: transform 0.18s ease; }
.btn:hover .ico-arrow { transform: translateX(3px); }
.callbar__btn--call .callbar__ico .ico-phone { animation: gpcRing 5s ease-in-out infinite; }

@media (prefers-reduced-motion: reduce) {
  .btn--outline::after, .phero__call::after, .callbar__btn--call .callbar__ico .ico-phone { animation: none; }
}
html[data-motion='off'] .btn--outline::after, html[data-motion='off'] .phero__call::after, html[data-motion='off'] .callbar__btn--call .callbar__ico .ico-phone { animation-play-state: paused; }

/* ==========================================================================
   Icon badge on every button: a whitish circle behind the icon with a soft ring pulsing out of it,
   the same as the Call Now / WhatsApp bar. Solid buttons use white; outline buttons use gold.
   ========================================================================== */
.btn > svg { box-sizing: content-box; width: 17px; height: 17px; padding: 6.5px; border-radius: 50%; background: rgba(255, 255, 255, 0.2); animation: gpcBadge 2.8s ease-out infinite; }
.btn--outline > svg { background: rgba(201, 162, 39, 0.2); animation-name: gpcBadgeGold; }
.btn--whatsapp > svg { animation-delay: 1.2s; }
.hdr__cta > svg { width: 14px; height: 14px; padding: 5.5px; }
@keyframes gpcBadgeGold { 0% { box-shadow: 0 0 0 0 rgba(201, 162, 39, 0.5); } 70%, 100% { box-shadow: 0 0 0 9px rgba(201, 162, 39, 0); } }
@keyframes gpcBadgeCopper { 0% { box-shadow: 0 0 0 0 rgba(181, 89, 31, 0.4); } 70%, 100% { box-shadow: 0 0 0 10px rgba(181, 89, 31, 0); } }
@keyframes gpcBadgeGreen { 0% { box-shadow: 0 0 0 0 rgba(22, 122, 60, 0.4); } 70%, 100% { box-shadow: 0 0 0 10px rgba(22, 122, 60, 0); } }

/* the tap-to-call card and the contact option cards get the same badge */
.phero__call-num svg { box-sizing: content-box; width: 20px; height: 20px; padding: 7px; border-radius: 50%; background: rgba(181, 89, 31, 0.14); animation: gpcBadgeCopper 2.8s ease-out infinite; }
.wcard__icon { animation: gpcBadgeGold 3s ease-out infinite; }
.wcard--accent .wcard__icon { animation-name: gpcBadgeCopper; }
.wcard--wa .wcard__icon { animation-name: gpcBadgeGreen; animation-delay: 1s; }
.wcard:nth-child(3n) .wcard__icon { animation-delay: 1.5s; }

@media (prefers-reduced-motion: reduce) { .btn > svg, .phero__call-num svg, .wcard__icon { animation: none; } }
html[data-motion='off'] .btn > svg, html[data-motion='off'] .phero__call-num svg, html[data-motion='off'] .wcard__icon { animation-play-state: paused; }

/* ==========================================================================
   Social icons: white circles with a gold edge and each network's own colour,so they read clearly on the pale header strip and the footer. Hover fills the circle with the network colour. ========================================================================== */ .hdr__social{gap: 0.6rem;align-items: center}.hdr__social a,.ftr__social a{position: relative;display: grid;place-items: center;border-radius: 50%;background: #fff;border: 1px solid var(--gold-line);color: var(--brand-700);box-shadow: 0 1px 3px rgba(60,45,10,0.14);transition: background-color 0.16s ease,color 0.16s ease,border-color 0.16s ease,transform 0.16s ease,box-shadow 0.16s ease}.hdr__social a{width: 34px;height: 34px}.hdr__social svg{width: 16px;height: 16px}.hdr__social a::after{content: '';position: absolute;inset: -5px}.ftr__social a{width: 44px;height: 44px}.hdr__social a[aria-label="Facebook"],.ftr__social a[aria-label="Facebook"]{--sc: #1877f2}.hdr__social a[aria-label="Instagram"],.ftr__social a[aria-label="Instagram"]{--sc: #d62976}.hdr__social a[aria-label="LinkedIn"],.ftr__social a[aria-label="LinkedIn"]{--sc: #0a66c2}.hdr__social a[aria-label^="X"],.ftr__social a[aria-label^="X"]{--sc: #14171a}.hdr__social a,.ftr__social a{color: var(--sc,var(--brand-700))}.hdr__social a:hover,.ftr__social a:hover,.hdr__social a:focus-visible,.ftr__social a:focus-visible{background: var(--sc,var(--accent-500));border-color: var(--sc,var(--accent-500));color: #fff;transform: translateY(-2px);box-shadow: 0 8px 16px -8px var(--sc,rgba(60,45,10,0.5))}/* ========================================================================== Formula strip: Maths in dark ink,Science in the logo's green, each run opened by a small tag
   ========================================================================== */
.fchip--sci { color: #0b5a29; }
.ftag { flex-shrink: 0; margin-right: -1.5rem; padding: 0.18rem 0.65rem; border-radius: 999px; font: 600 0.68rem/1.4 'Inter', system-ui, sans-serif; letter-spacing: 0.09em; text-transform: uppercase; }
.ftag--maths { background: #fbe6d6; color: #8a431a; }
.ftag--sci { background: #dcefdf; color: #0f6a31; }

/* exponents and subscripts in formulas: real <sup>/<sub>, sized consistently and kept from stretching the line */
.fchip sup, .fchip sub, .cformulas__text sup, .cformulas__text sub { font-size: 0.72em; line-height: 0; position: relative; vertical-align: baseline; font-style: italic; }
.fchip sup, .cformulas__text sup { top: -0.5em; }
.fchip sub, .cformulas__text sub { top: 0.28em; }
.curr__foot { margin: 1rem 0 0; font-size: var(--step--1); color: var(--ink-500); }

/* ==========================================================================
   Feature icon tiles, refined: a jewel-like tile inside a fine gold hairline. A slow gleam travels round the hairline,
   a soft sheen glides across the tile face now and then, and on hover the tile fills with its colour.
   ========================================================================== */
@property --gpc-beam { syntax: '<angle>'; inherits: false; initial-value: 0deg; }
.fgrid .card__icon {
  position: relative; isolation: isolate; display: grid; place-items: center; width: 54px; height: 54px; border-radius: 16px; margin: 0.5rem 0 1.3rem 0.5rem; color: var(--ic);
  background: linear-gradient(160deg, #fff 0%, color-mix(in srgb, var(--ic) 11%, #fff) 100%);
  border: 1px solid color-mix(in srgb, var(--ic) 34%, #fff);
  box-shadow: inset 0 1px 0 #fff, 0 8px 16px -10px color-mix(in srgb, var(--ic) 60%, transparent);
  transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
.fgrid .card__icon svg { position: relative; z-index: 1; width: 24px; height: 24px; transition: transform 0.3s ease; }
.fgrid .card__icon::before {
  content: ''; position: absolute; inset: -6px; z-index: -1; border-radius: 22px; padding: 1px; pointer-events: none;
  background: conic-gradient(from var(--gpc-beam), rgba(201, 162, 39, 0.3) 0deg, rgba(201, 162, 39, 0.3) 250deg, rgba(226, 190, 80, 0.95) 322deg, #fffbe8 352deg, rgba(201, 162, 39, 0.3) 360deg);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude;
  animation: gpcBeam 7s linear infinite;
}
.fgrid .card__icon::after {
  content: ''; position: absolute; inset: 0; z-index: 2; border-radius: inherit; pointer-events: none;
  background: linear-gradient(115deg, transparent 38%, rgba(255, 255, 255, 0.9) 50%, transparent 62%) no-repeat; background-size: 260% 100%; background-position: 170% 0;
  animation: gpcSheen 8s ease-in-out infinite;
}
@keyframes gpcBeam { to { --gpc-beam: 360deg; } }
@keyframes gpcSheen { 0%, 58% { background-position: 170% 0; } 100% { background-position: -70% 0; } }
.fgrid > .card:nth-child(2n) .card__icon::before { animation-delay: -2.4s; }
.fgrid > .card:nth-child(3n) .card__icon::before { animation-delay: -4.8s; }
.fgrid > .card:nth-child(2n) .card__icon::after { animation-delay: -2.7s; }
.fgrid > .card:nth-child(3n) .card__icon::after { animation-delay: -5.4s; }
.fgrid > .card:hover .card__icon { color: #fff; border-color: var(--ic); background: linear-gradient(160deg, color-mix(in srgb, var(--ic) 78%, #fff) 0%, var(--ic) 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 14px 24px -12px var(--ic); }
.fgrid > .card:hover .card__icon svg { transform: scale(1.1); }

/* Graph Desk, compact: plot on the left, equation and controls on the right, so the whole desk fits on one screen */
.gd__desk { padding: clamp(0.85rem, 0.6rem + 1vw, 1.2rem); }
.gd__head { margin-bottom: 0.6rem; }
.gd__body { display: grid; gap: 0.9rem; }
@media (min-width: 720px) { .gd__body { grid-template-columns: 0.95fr 1.05fr; gap: 1.25rem; align-items: start; } }
.gd__legend { margin-top: 0.5rem; }
.gd__right { display: grid; gap: 0.8rem; align-content: start; }
.gd__result { margin: 0; padding: 0 0 0.75rem; border-top: 0; border-bottom: 1px solid var(--line); }
.gd__eq { font-size: 1.35rem; }
.gd__res { margin-top: 0.5rem; }
.gd__ctrls { margin-top: 0; gap: 0.55rem; }
.gd__ctrl { grid-template-columns: 5.4rem 1fr 2rem; gap: 0.5rem; }
.gd__ctrl small { font-size: 0.7rem; }
.gd__ctrl input[type='range'] { min-height: 24px; }
.gd__presets { margin-top: 0; }
button.gchip { min-height: 40px; }
.gd__fm { margin: 0.6rem 0 0; padding-top: 0.6rem; border-top: 1px solid var(--line); }
@media (max-width: 520px) { .gd__ctrl { grid-template-columns: 1fr 2rem; } }

/* ==========================================================================
   FAQ, refined: an open editorial list, not boxed cards. Questions in light, larger Newsreader; a fine gold hairline between
   items; a small gold circle with a plus that turns into a minus when open; answers ease in.
   ========================================================================== */
.faq { gap: 0; max-width: 52rem; border-top: 1px solid var(--gold-line); }
.faq__item { background: transparent; border: 0; border-bottom: 1px solid var(--gold-line); border-radius: 0; }
.faq__item summary { padding: 1.4rem 0.35rem; gap: 1.5rem; font-family: var(--serif); font-weight: 400; font-size: var(--step-1); line-height: 1.32; letter-spacing: -0.01em; color: var(--ink-900); transition: color 0.2s ease, padding-left 0.25s ease; }
.faq__item summary:hover { color: var(--brand-600); padding-left: 0.7rem; }
.faq__item[open] summary { color: var(--brand-600); }
.faq__item summary::after {
  width: 32px; height: 32px; border: 1px solid var(--gold-line); border-radius: 50%; transform: none;
  background: linear-gradient(var(--brand-700), var(--brand-700)) center / 12px 1.5px no-repeat, linear-gradient(var(--brand-700), var(--brand-700)) center / 1.5px 12px no-repeat, #fff;
  box-shadow: 0 1px 3px rgba(60, 45, 10, 0.12);
  transition: background-size 0.25s ease, background-color 0.25s ease, box-shadow 0.25s ease;
}
.faq__item summary:hover::after { box-shadow: 0 4px 10px -4px rgba(107, 82, 16, 0.5); }
.faq__item[open] summary::after { transform: none; background-color: var(--brand-100); background-size: 12px 1.5px, 1.5px 0; }
.faq__item p { padding: 0 3.6rem 1.6rem 0.35rem; margin: 0; font-size: 1.04rem; line-height: 1.75; color: var(--ink-700); max-width: 44rem; }
.faq__item[open] p { animation: gpcFaqIn 0.4s cubic-bezier(0.2, 0.8, 0.2, 1); }
@keyframes gpcFaqIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .faq__item[open] p { animation: none; } .faq__item summary, .faq__item summary::after { transition: none; } }

/* ==========================================================================
   Type-size audit (measured in Chrome at desktop and phone width). Secondary reading text is no smaller than 14.4px, small
   uppercase labels no smaller than 12px, and the closing heading no longer matches a page title.
   ========================================================================== */
.hdr__top { font-size: 0.85rem; }
.eyebrow { font-size: clamp(0.8rem, 0.78rem + 0.1vw, 0.86rem); letter-spacing: 0.11em; }
.cformulas__tag, .ftag, .sheet thead th, .row__topic, .next__label, .phero__card dt, .phero__call-label, .curr__label { font-size: 0.75rem; }
.chip { font-size: 0.76rem; }
.chip span, .rcard__meta, .row__date { font-size: 0.78rem; }
.gd__ctrl small { font-size: 0.76rem; }
.mapblk__credit { font-size: 0.72rem; }
.hstep { font-size: 0.88rem; }
.vid__title, .rvid__cap { line-height: 1.35; }
.cta h2 { font-size: var(--step-3); }
.sheet thead .sheet__num { font-size: 0.75rem; }
.gd__fm { font-size: 0.88rem; }
.ftr__base p { font-size: 0.86rem; }

/* Two neighbouring sections with the same background would stack their padding into one large empty gap (about 176px).
   The second one drops its top padding, so the pair keeps a single normal gap. */
.section--alt + .section--alt { padding-top: 0; }
.section:not(.section--alt):not(.cta):not(.stats-strip) + .section:not(.section--alt):not(.cta):not(.stats-strip) { padding-top: 0; }

/* ==========================================================================
   Class labels on the home cards: glossy enamel pills in the logo colours, with a soft glint that sweeps across now and
   then and a small star that twinkles at the end. On hover the pill lifts and the glint runs faster.
   ========================================================================== */
.cls .cls__chip {
  position: relative; overflow: hidden; isolation: isolate; padding: 0.4rem 1.6rem 0.4rem 0.95rem; font-size: 0.8rem; letter-spacing: 0.01em; text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
  border: 1px solid color-mix(in srgb, var(--cc) 72%, #000);
  background: linear-gradient(180deg, color-mix(in srgb, var(--cc) 88%, #fff) 0%, var(--cc) 52%, color-mix(in srgb, var(--cc) 86%, #000) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45), inset 0 -1px 0 rgba(0, 0, 0, 0.14), 0 7px 12px -8px var(--cc);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.cls .cls__chip::after {
  content: ''; position: absolute; top: -20%; bottom: -20%; left: 0; width: 42%; z-index: 1; pointer-events: none;
  background: linear-gradient(100deg, transparent 0%, rgba(255, 255, 255, 0.6) 50%, transparent 100%);
  transform: translateX(-180%) skewX(-20deg); animation: gpcGlint 6.5s ease-in-out infinite;
}
.cls .cls__chip::before {
  content: ''; position: absolute; right: 0.55rem; top: 50%; width: 8px; height: 8px; margin-top: -4px; z-index: 1; background: #fff; opacity: 0.9;
  clip-path: polygon(50% 0, 62% 38%, 100% 50%, 62% 62%, 50% 100%, 38% 62%, 0 50%, 38% 38%); animation: gpcTwinkle 3.4s ease-in-out infinite;
}
.cls li:nth-child(2) .cls__chip::after { animation-delay: 1.4s; } .cls li:nth-child(2) .cls__chip::before { animation-delay: 0.8s; }
.cls li:nth-child(3) .cls__chip::after { animation-delay: 2.8s; } .cls li:nth-child(3) .cls__chip::before { animation-delay: 1.6s; }
.cls li:nth-child(4) .cls__chip::after { animation-delay: 4.2s; } .cls li:nth-child(4) .cls__chip::before { animation-delay: 2.4s; background: #fff8e0; }
@keyframes gpcTwinkle { 0%, 100% { transform: scale(0.55) rotate(0); opacity: 0.55; } 50% { transform: scale(1.15) rotate(45deg); opacity: 1; } }
.cls .cls__card:hover .cls__chip { transform: translateY(-2px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), inset 0 -1px 0 rgba(0, 0, 0, 0.14), 0 12px 16px -8px var(--cc); }
.cls .cls__card:hover .cls__chip::after { animation-duration: 1.6s; animation-delay: 0s; }
@media (prefers-reduced-motion: reduce) { .cls .cls__chip::after, .cls .cls__chip::before { animation: none; } }
html[data-motion='off'] .cls .cls__chip::after, html[data-motion='off'] .cls .cls__chip::before { animation-play-state: paused; }

/* ==========================================================================
   The Path: a winding gold path with six stops, a light travelling along it. Replaces the card grid in "Why parents choose us".
   ========================================================================== */
.path { position: relative; max-width: 64rem; margin-inline: auto; }
.path__svg { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; overflow: visible; }
.path__base { fill: none; stroke: var(--gold-line); stroke-width: 1.6; stroke-dasharray: 1 7; stroke-linecap: round; }
.path__list { position: relative; z-index: 1; list-style: none; margin: 0; padding: 0; }
.path__stop { --ic: #0067b3; position: relative; display: grid; grid-template-columns: 1fr 84px 1fr; align-items: center; gap: 0 1.4rem; padding-block: 1.35rem; }
.path__stop:nth-child(6n + 2) { --ic: #d9420b; }
.path__stop:nth-child(6n + 3) { --ic: #007020; }
.path__stop:nth-child(6n + 4) { --ic: #b26a00; }
.path__stop:nth-child(6n + 5) { --ic: #0040a0; }
.path__stop:nth-child(6n + 6) { --ic: #4d7f00; }
.path__med {
  position: relative; isolation: isolate; grid-column: 2; grid-row: 1; justify-self: center; display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; color: var(--ic);
  background: linear-gradient(160deg, #fff 0%, color-mix(in srgb, var(--ic) 11%, #fff) 100%); border: 1px solid color-mix(in srgb, var(--ic) 34%, #fff);
  box-shadow: inset 0 1px 0 #fff, 0 8px 16px -10px color-mix(in srgb, var(--ic) 60%, transparent);
  transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
.path__med svg { width: 27px; height: 27px; transition: transform 0.3s ease; }
.path__med::before {
  content: ''; position: absolute; inset: -6px; z-index: -1; border-radius: 50%; padding: 1px; pointer-events: none;
  background: conic-gradient(from var(--gpc-beam), rgba(201, 162, 39, 0.3) 0deg, rgba(201, 162, 39, 0.3) 250deg, rgba(226, 190, 80, 0.95) 322deg, #fffbe8 352deg, rgba(201, 162, 39, 0.3) 360deg);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; animation: gpcBeam 7s linear infinite;
}
.path__stop:nth-child(2n) .path__med::before { animation-delay: -2.4s; }
.path__stop:nth-child(3n) .path__med::before { animation-delay: -4.8s; }
.path__stop:hover .path__med { color: #fff; border-color: var(--ic); background: linear-gradient(160deg, color-mix(in srgb, var(--ic) 78%, #fff), var(--ic)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 14px 24px -12px var(--ic); }
.path__stop:hover .path__med svg { transform: scale(1.1); }
.path__text { grid-column: 1; grid-row: 1; justify-self: end; max-width: 26rem; text-align: right; }
.path__stop:nth-child(even) .path__text { grid-column: 3; justify-self: start; text-align: left; }
.path__text h3 { font-size: clamp(1.3rem, 1.15rem + 0.7vw, 1.65rem); margin-bottom: 0.4rem; }
.path__text p { color: var(--ink-700); }
@media (max-width: 640px) {
  .path__stop { grid-template-columns: 64px 1fr; gap: 0 1.1rem; padding-block: 1.1rem; }
  .path__med, .path__stop:nth-child(even) .path__med { grid-column: 1; justify-self: start; width: 56px; height: 56px; }
  .path__med svg { width: 24px; height: 24px; }
  .path__text, .path__stop:nth-child(even) .path__text { grid-column: 2; justify-self: start; text-align: left; }
}

/* The comet: a bright gold-white head with a tail of fading particles, running the whole path on a slow loop.
   Each stop lights up briefly as the comet reaches it (its delay is set from the real layout by assets/path.js). */
.path__comet { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
.path__comet i {
  position: absolute; left: 0; top: 0; display: block; width: 6px; height: 6px; margin: 0; border-radius: 50%; background: #e6b432; opacity: 0;
  offset-rotate: 0deg; offset-anchor: 50% 50%; animation: gpcComet 12s linear infinite; will-change: offset-distance;
}
.path__comet i:nth-child(1) { width: 11px; height: 11px; background: radial-gradient(circle, #fffef4 0 30%, #ffe27a 62%, #e6b432 100%); box-shadow: 0 0 10px 3px rgba(255, 214, 90, 0.75), 0 0 26px 8px rgba(226, 158, 40, 0.35); }
.path__comet i:nth-child(2) { width: 8px; height: 8px; background: #f3c94a; box-shadow: 0 0 10px 2px rgba(240, 190, 60, 0.6); }
.path__comet i:nth-child(3) { width: 7px; height: 7px; background: #efb238; }
.path__comet i:nth-child(n + 4) { width: 5px; height: 5px; background: #e8993a; }
.path__comet i:nth-child(n + 9) { width: 4px; height: 4px; background: #d9762e; }
.path__comet i:nth-child(n + 14) { width: 3px; height: 3px; background: #d9642a; }
.path__comet i:nth-child(n + 18) { width: 2px; height: 2px; }
@keyframes gpcComet { 0% { offset-distance: 0%; opacity: 0; } 2% { opacity: 1; } 96% { opacity: 1; } 100% { offset-distance: 100%; opacity: 0; } }
/* the tail fades: each particle is a little fainter than the one ahead */
.path__comet i:nth-child(4) { filter: opacity(0.85); } .path__comet i:nth-child(5) { filter: opacity(0.78); } .path__comet i:nth-child(6) { filter: opacity(0.7); }
.path__comet i:nth-child(7) { filter: opacity(0.62); } .path__comet i:nth-child(8) { filter: opacity(0.55); } .path__comet i:nth-child(9) { filter: opacity(0.48); }
.path__comet i:nth-child(10) { filter: opacity(0.42); } .path__comet i:nth-child(11) { filter: opacity(0.36); } .path__comet i:nth-child(12) { filter: opacity(0.3); }
.path__comet i:nth-child(13) { filter: opacity(0.25); } .path__comet i:nth-child(14) { filter: opacity(0.2); } .path__comet i:nth-child(15) { filter: opacity(0.16); }
.path__comet i:nth-child(16) { filter: opacity(0.12); } .path__comet i:nth-child(17) { filter: opacity(0.09); } .path__comet i:nth-child(18) { filter: opacity(0.06); }
.path__comet i:nth-child(n + 19) { filter: opacity(0.04); }
.path__med { animation: gpcLit 12s linear infinite; animation-delay: calc(var(--pass, 0) * 12s - 0.15s); }
.path__med::after { content: ''; position: absolute; inset: -2px; border-radius: 50%; border: 2px solid var(--ic); opacity: 0; pointer-events: none; animation: gpcRipple 12s linear infinite; animation-delay: calc(var(--pass, 0) * 12s); }
@keyframes gpcLit { 0% { box-shadow: inset 0 1px 0 #fff, 0 0 22px 2px color-mix(in srgb, var(--ic) 55%, transparent); } 5% { box-shadow: inset 0 1px 0 #fff, 0 0 10px 0 color-mix(in srgb, var(--ic) 25%, transparent); } 9%, 100% { box-shadow: inset 0 1px 0 #fff, 0 8px 16px -10px color-mix(in srgb, var(--ic) 60%, transparent); } }
@keyframes gpcRipple { 0% { opacity: 0.9; transform: scale(1); } 6% { opacity: 0; transform: scale(1.9); } 100% { opacity: 0; transform: scale(1.9); } }
@media (prefers-reduced-motion: reduce) { .path__comet { display: none; } .path__med, .path__med::before, .path__med::after { animation: none; } }
html[data-motion='off'] .path__comet { visibility: hidden; }
html[data-motion='off'] .path__med, html[data-motion='off'] .path__med::before, html[data-motion='off'] .path__med::after { animation-play-state: paused; }

/* Footer: site pages together under Explore; Privacy and Terms sit with the copyright line, where legal links belong */
.ftr__left { display: flex; flex-wrap: wrap; align-items: center; gap: 0.25rem 1.75rem; }
.ftr__legal { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0 1.5rem; }
.ftr__legal a { display: inline-flex; align-items: center; min-height: 44px; font-size: 0.86rem; color: var(--ink-700); text-decoration: none; }
.ftr__legal a:hover { color: var(--accent-600); text-decoration: underline; text-underline-offset: 3px; }

/* ==========================================================================
   Footer polish: a lead line and a supporting sentence under the name, Explore in two columns, contact icons in gold-hairline
   medallions, and the legal links set apart from the copyright line.
   ========================================================================== */
@media (min-width: 980px) { .ftr__grid { grid-template-columns: 1.45fr 1.3fr 1fr 1.35fr; } }
.ftr__lead { font-family: var(--serif); font-style: italic; font-weight: 400; font-size: 1.3rem; line-height: 1.3; letter-spacing: -0.005em; color: var(--ink-900); margin: 0 0 0.6rem; max-width: 19rem; text-wrap: balance; }
.ftr__tag { font-size: 0.95rem; line-height: 1.65; max-width: 23rem; color: var(--ink-700); text-wrap: pretty; }
.ftr__links--split { grid-auto-flow: column; grid-template-rows: repeat(3, auto); grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.5rem; }

.ftr__links--contact a { gap: 0.9rem; }
.ftr__ico {
  --ic: #0067b3; display: grid; place-items: center; flex-shrink: 0; width: 38px; height: 38px; border-radius: 50%; color: var(--ic);
  background: linear-gradient(160deg, #fff 0%, color-mix(in srgb, var(--ic) 11%, #fff) 100%); border: 1px solid color-mix(in srgb, var(--ic) 34%, #fff);
  box-shadow: inset 0 1px 0 #fff, 0 6px 12px -8px color-mix(in srgb, var(--ic) 60%, transparent);
  transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}
.ftr__links .ftr__ico svg { width: 17px; height: 17px; color: inherit; margin: 0; opacity: 1; }
.ftr__links--contact li:nth-child(1) .ftr__ico, .ftr__links--contact li:nth-child(2) .ftr__ico { --ic: #d9420b; }
.ftr__links--contact li:nth-child(3) .ftr__ico { --ic: #007020; }
.ftr__links--contact li:nth-child(4) .ftr__ico { --ic: #0067b3; }
.ftr__links--contact li:nth-child(5) .ftr__ico { --ic: #b26a00; }
.ftr__links--contact a:hover .ftr__ico { color: #fff; border-color: var(--ic); background: linear-gradient(160deg, color-mix(in srgb, var(--ic) 78%, #fff), var(--ic)); transform: translateY(-1px); }
.ftr__addr .ftr__ico { margin-top: 0.1rem; }

.ftr__base { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 0.5rem 1.5rem; }
.ftr__base .mtoggle { justify-self: end; }
.ftr__legal { justify-self: center; gap: 0; }
.ftr__legal li + li::before { content: ''; display: inline-block; width: 1px; height: 14px; margin: 0 1.25rem; background: var(--gold-line); vertical-align: middle; }
.ftr__legal li { display: inline-flex; align-items: center; }
@media (max-width: 860px) {
  .ftr__base { grid-template-columns: 1fr; justify-items: start; }
  .ftr__base .mtoggle, .ftr__legal { justify-self: start; }
}

/* Footer contact badges: a slow gold gleam travels once around each hairline, out of step with its neighbours. */
.ftr__ico { position: relative; isolation: isolate; }
.ftr__ico::before {
  content: ''; position: absolute; inset: -5px; z-index: -1; border-radius: 50%; padding: 1px; pointer-events: none;
  background: conic-gradient(from var(--gpc-beam), rgba(201, 162, 39, 0.28) 0deg, rgba(201, 162, 39, 0.28) 250deg, rgba(226, 190, 80, 0.95) 322deg, #fffbe8 352deg, rgba(201, 162, 39, 0.28) 360deg);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude;
  animation: gpcBeam 9s linear infinite;
}
.ftr__links--contact li:nth-child(2) .ftr__ico::before { animation-delay: -1.8s; }
.ftr__links--contact li:nth-child(3) .ftr__ico::before { animation-delay: -3.6s; }
.ftr__links--contact li:nth-child(4) .ftr__ico::before { animation-delay: -5.4s; }
.ftr__links--contact li:nth-child(5) .ftr__ico::before { animation-delay: -7.2s; }
@media (prefers-reduced-motion: reduce) { .ftr__ico::before { animation: none; } }
html[data-motion='off'] .ftr__ico::before { animation-play-state: paused; }

/* ==========================================================================
   Call and WhatsApp buttons: a solid white icon badge with the icon in the button's own colour (readable at a glance),and a slightly lighter,richer green with a soft gradient. The green stays dark enough for white text (4.8 to 1). ========================================================================== */ :root{--wa: #16833f;--wa-dark: #0f6a31}.btn--whatsapp{background: linear-gradient(180deg,#1b9147 0%,var(--wa) 55%,#11703a 100%)}.btn--primary>svg{background: #fff;color: var(--accent-500)}.btn--whatsapp>svg{background: #fff;color: var(--wa)}.btn--primary>svg,.btn--whatsapp>svg{width: 19px;height: 19px;padding: 6px;stroke-width: 2.3;box-shadow: 0 1px 3px rgba(0,0,0,0.18);animation-name: gpcBadge}.hdr__cta>svg{width: 15px;height: 15px;padding: 5px}.callbar__btn--call{background: linear-gradient(180deg,#bd5f24 0%,#a24815 100%)}.callbar__btn--wa{background: linear-gradient(180deg,#1b9147 0%,#12773a 100%)}.callbar__btn--call .callbar__ico{background: #fff;color: #b5591f;box-shadow: 0 1px 3px rgba(0,0,0,0.18)}.callbar__btn--wa .callbar__ico{background: #fff;color: #16833f;box-shadow: 0 1px 3px rgba(0,0,0,0.18)}.callbar__btn svg{width: 19px;height: 19px;stroke-width: 2.3}.btn--primary,.btn--whatsapp{gap: 0.7rem}.btn--primary>svg,.btn--whatsapp>svg{box-sizing: border-box;width: 24px;height: 24px;padding: 0;border-radius: 0;background: none;box-shadow: none;animation: none;color: inherit;stroke-width: 2.5}.btn--primary>svg.ico-whatsapp,.btn--whatsapp>svg.ico-whatsapp{width: 25px;height: 25px}.hdr__cta>svg{width: 20px;height: 20px;padding: 0}.btn--primary{background: linear-gradient(180deg,#c4642a 0%,#a94d18 100%)}.btn--whatsapp{background: linear-gradient(180deg,#1c964a 0%,#16863f 50%,#12733a 100%)}.btn--primary:hover{background: linear-gradient(180deg,#b8591f 0%,#9a4415 100%)}.btn--whatsapp:hover{background: linear-gradient(180deg,#16843f 0%,#10723a 50%,#0d6432 100%)}.callbar__ico{width: auto;height: auto;border-radius: 0;background: none !important;box-shadow: none !important;color: #fff !important}.callbar__ico::before{display: none}.callbar__btn svg{width: 24px;height: 24px}.callbar__btn .ico-whatsapp{width: 25px;height: 25px}.callbar__btn--call{background: linear-gradient(180deg,#c4642a 0%,#a94d18 100%)}.callbar__btn--wa{background: linear-gradient(180deg,#1c964a 0%,#16863f 50%,#12733a 100%)}.phero{padding-block: clamp(2.5rem,1.8rem + 4vw,4.75rem)}.phero__art{position: absolute;inset: 0;z-index: -1;pointer-events: none;overflow: hidden}.phero .eyebrow{font-size: clamp(0.8rem,0.78rem + 0.1vw,0.86rem)}.phero--about{background: radial-gradient(700px 420px at 10% 15%,#fbf1d3,transparent 70%),linear-gradient(180deg,var(--surface),#f8efd6)}.art-dots{position: absolute;inset: 0;background-image: radial-gradient(circle,rgba(139,107,20,0.3) 1.7px,transparent 2.3px);background-size: 30px 30px;-webkit-mask-image: linear-gradient(100deg,transparent 35%,#000 82%);mask-image: linear-gradient(100deg,transparent 35%,#000 82%)}.phero--classes{background: linear-gradient(180deg,var(--surface),#f8efd6)}.art-grid{position: absolute;inset: 0;background-image: repeating-linear-gradient(0deg,rgba(166,129,28,0.1) 0 1px,transparent 1px 34px),repeating-linear-gradient(90deg,rgba(166,129,28,0.1) 0 1px,transparent 1px 34px);-webkit-mask-image: linear-gradient(90deg,transparent 15%,#000 65%);mask-image: linear-gradient(90deg,transparent 15%,#000 65%)}.art-curve{position: absolute;right: 5%;top: 50%;transform: translateY(-50%);width: min(46vw,540px);height: auto}/* Class pages: the class's own colour, with its numerals as a ghost behind the title */
.phero--class { --cc: #0067b3; background: radial-gradient(640px 380px at 92% 10%, color-mix(in srgb, var(--cc) 11%, #fff), transparent 72%), linear-gradient(180deg, var(--surface), #f8efd6); }
.phero--class .eyebrow { color: var(--cc); }
.art-ring { position: absolute; right: -17%; top: -62%; width: min(62vw, 660px); aspect-ratio: 1; border-radius: 50%; border: 1px solid color-mix(in srgb, var(--cc) 28%, transparent); box-shadow: 0 0 0 26px color-mix(in srgb, var(--cc) 5%, transparent), 0 0 0 27px color-mix(in srgb, var(--cc) 12%, transparent); }
.art-numeral { position: absolute; right: 3%; bottom: -6%; font: italic 500 clamp(8rem, 22vw, 18rem) / 0.9 var(--serif); letter-spacing: -0.05em; color: color-mix(in srgb, var(--cc) 13%, transparent); white-space: nowrap; }

/* Teachers: her portrait in an arch, inside a double gold frame */
.phero--teacher { background: radial-gradient(600px 420px at 85% 30%, #fbf1d3, transparent 70%), linear-gradient(180deg, var(--surface), #f8efd6); }
.tphoto { position: relative; margin: 0; justify-self: center; width: min(100%, 280px); }
.tphoto img { width: 100%; aspect-ratio: 5 / 6; object-fit: cover; object-position: center 25%; border-radius: 999px 999px 24px 24px; border: 6px solid #fff; box-shadow: 0 30px 50px -28px rgba(107, 82, 16, 0.55); }
.tphoto::before { content: ''; position: absolute; inset: -14px; z-index: -1; border: 1px solid var(--gold-line); border-radius: 999px 999px 34px 34px; }
.phero__creds { list-style: none; margin: 1.4rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; }

/* Results: marksheet paper, with a margin line and the examiner's tick */ .phero--results{background: repeating-linear-gradient(180deg,transparent 0 35px,rgba(166,129,28,0.13) 35px 36px),linear-gradient(180deg,var(--surface),#f8efd6)}.phero--results::before{content: '';position: absolute;top: 0;bottom: 0;left: clamp(0.75rem,4vw,3.25rem);width: 1px;background: rgba(217,66,11,0.28);z-index: -1}.art-tick{position: absolute;right: 7%;top: 50%;transform: translateY(-50%);width: min(30vw,340px);opacity: 0.32}.phero--contact{background: linear-gradient(180deg,var(--surface),#f8efd6)}.art-rings{position: absolute;right: -8%;top: 50%;width: min(72vw,740px);aspect-ratio: 1;transform: translateY(-50%);border-radius: 50%;background: repeating-radial-gradient(circle,transparent 0 46px,rgba(166,129,28,0.17) 46px 47px);-webkit-mask-image: radial-gradient(circle,#000 25%,transparent 68%);mask-image: radial-gradient(circle,#000 25%,transparent 68%)}.phero--gallery{background: radial-gradient(560px 360px at 85% 40%,#fbf1d3,transparent 70%),linear-gradient(180deg,var(--surface),#f8efd6)}.phero--gallery .phero__strip{justify-content: center;padding: 0.75rem 0 1.25rem}.phero--gallery .phero__strip img{flex: 0 0 34%;aspect-ratio: 1 / 1.14;border: 8px solid #fff;border-bottom-width: 30px;border-radius: 3px;margin-inline: -12px;transform: rotate(-6deg);box-shadow: 0 18px 30px -16px rgba(60,45,10,0.5)}.phero--gallery .phero__strip img:nth-child(2){transform: rotate(3deg) translateY(16px);margin-top: 0;z-index: 1}.phero--gallery .phero__strip img:nth-child(3){transform: rotate(-2deg)}.phero--notes{background: repeating-linear-gradient(180deg,transparent 0 39px,rgba(166,129,28,0.09) 39px 40px),linear-gradient(180deg,var(--surface),#f8efd6)}.art-mark{position: absolute;right: 7%;top: 50%;transform: translateY(-52%);font: italic 400 clamp(11rem,26vw,22rem) / 1 var(--serif);color: color-mix(in srgb,var(--brand-500) 17%,transparent)}.phero--post{background: linear-gradient(180deg,var(--surface),#f8efd6)}.art-date{position: absolute;right: 7%;top: 50%;transform: translateY(-50%);text-align: center}.art-date b{display: block;font: 400 clamp(7rem,16vw,13rem) / 0.9 var(--serif);color: color-mix(in srgb,var(--brand-500) 19%,transparent)}.art-date i{display: block;margin-top: 0.4rem;font: 600 1.05rem / 1 'Inter',system-ui,sans-serif;font-style: normal;letter-spacing: 0.28em;text-transform: uppercase;color: color-mix(in srgb,var(--brand-600) 55%,transparent)}.phero--legal{background: linear-gradient(180deg,var(--surface),#f8efd6)}.art-doc{position: absolute;right: 9%;top: 50%;transform: translateY(-50%);width: min(26vw,250px);color: color-mix(in srgb,var(--brand-500) 42%,transparent)}@media (max-width: 720px){.art-curve,.art-tick,.art-date,.art-doc{display: none}.art-numeral,.art-mark{opacity: 0.55}.phero--gallery .phero__strip img{flex-basis: 36%}}.btn--outline>svg{box-sizing: border-box;width: 22px;height: 22px;padding: 0;border-radius: 0;background: none;box-shadow: none;animation: none;stroke-width: 2.3;color: var(--brand-700)}.btn--outline{gap: 0.65rem}.phero--earth{padding-block: clamp(2.25rem,1.6rem + 3vw,3.75rem) 0;text-align: center;background: radial-gradient(1100px 720px at 50% 40%,#fffaf0 0%,#fbf3df 56%,#f3e6c6 100%);min-height: 620px}.phero--earth .phero__inner{display: block}.phero--earth .phero__copy{max-width: 46rem;margin-inline: auto}.phero--earth h1{max-width: none;margin-inline: auto}.phero--earth .lede{margin-inline: auto;max-width: 46ch}.phero--earth .eyebrow{color: var(--cc,#8a431a)}.earth__poster{position: absolute;left: 50%;top: var(--earth-top,300px);width: var(--earth-d,460px);aspect-ratio: 1;transform: translateX(-50%);border-radius: 50%;background-color: #2a6aa8;background-image: url('/wp-content/themes/guided-path-classes/assets/earth/earth-map.jpg');background-size: 200% 100%;background-position: 93% 50%;box-shadow: inset -34px -28px 70px rgba(6,30,70,.5),inset 24px 18px 50px rgba(255,255,255,.28),0 0 0 7px rgba(169,210,247,.35),0 0 60px rgba(120,170,230,.35);transition: opacity .8s ease}.earth__cv{position: absolute;inset: 0;width: 100%;height: 100%;display: block;opacity: 0;transition: opacity .8s ease}.earth__cv.is-ready{opacity: 1}.earth__cv.is-ready~.earth__poster,.earth__poster:has(~.earth__cv.is-ready){opacity: 0}@media (max-width: 700px){.earth__poster{box-shadow: inset -22px -18px 44px rgba(6,30,70,.5),inset 14px 10px 34px rgba(255,255,255,.28),0 0 0 5px rgba(169,210,247,.35)}}.hart{position: absolute;inset: 0;pointer-events: none;overflow: hidden}.hart__grid{position: absolute;inset: 0;background-image: repeating-linear-gradient(0deg,color-mix(in srgb,var(--cc,#a6811c) 16%,transparent) 0 1px,transparent 1px 34px),repeating-linear-gradient(90deg,color-mix(in srgb,var(--cc,#a6811c) 16%,transparent) 0 1px,transparent 1px 34px);-webkit-mask-image: linear-gradient(100deg,transparent 30%,#000 74%);mask-image: linear-gradient(100deg,transparent 30%,#000 74%)}.hart__svg{position: absolute;left: 0;top: -9%;width: 100%;height: 118%}.hart__draw{stroke-dasharray: 1400;animation: hartDraw 2.6s cubic-bezier(.2,.8,.2,1) both}@keyframes hartDraw{from{stroke-dashoffset: 1400}to{stroke-dashoffset: 0}}.hart__spin{transform-box: view-box;animation: hartSpin 9s linear infinite}.hart__spin--rev{animation-direction: reverse;animation-duration: 13s}.hart__spin--slow{animation-duration: 70s}@keyframes hartSpin{to{transform: rotate(360deg)}}.hart__tw{transform-box: fill-box;transform-origin: center;animation: hartTw 3.2s ease-in-out infinite}@keyframes hartTw{0%,100%{opacity: .25;transform: scale(.85)}50%{opacity: 1;transform: scale(1.15)}}.hart__bub{animation: hartBub 2.4s ease-in infinite}@keyframes hartBub{0%{transform: translateY(0);opacity: .8}100%{transform: translateY(-30px);opacity: 0}}@media (max-width: 820px){.hart{opacity: .3}}@media (prefers-reduced-motion: reduce){.hart *{animation: none !important}}html[data-motion='off'] .hart *{animation-play-state: paused !important}.hart__cv{position: absolute;inset: 0;width: 100%;height: 100%;display: block;opacity: 0;transition: opacity .8s ease}.hart__cv.is-ready{opacity: 1}@media (max-width: 820px){.hart__cv.is-ready{opacity: .32}}.sph__tags{position: absolute;inset: 0;pointer-events: none}.sph__tag{position: absolute;display: block;pointer-events: auto;font-weight: 700;font-size: .95rem;line-height: 1.35;color: var(--cc);text-decoration: none}.sph__tag span{display: block;font-weight: 400;font-size: .84rem;color: var(--ink-500)}.sph__tag:hover b,.sph__tag:focus-visible b{text-decoration: underline}.sph__tag--tl{left: 6%;top: 22%}.sph__tag--tr{right: 6%;top: 22%;text-align: right}.sph__tag--bl{left: 6%;bottom: 18%}.sph__tag--br{right: 6%;bottom: 18%;text-align: right}.phero--sphere{position: relative;display: flex;align-items: center;justify-content: center;min-height: min(78vh,700px);padding-block: 1.5rem;text-align: center;overflow: hidden;background: radial-gradient(1100px 700px at 50% 46%,#fffaf0 0%,#fbf3df 55%,#f3e6c6 100%)}.phero--sphere .phero__inner{display: block;width: 100%}.phero--sphere .phero__copy{position: relative;max-width: 34rem;margin-inline: auto}.phero--sphere .phero__copy::before{content: '';position: absolute;inset: -50px -70px;z-index: -1;background: radial-gradient(closest-side,rgba(255,250,240,.97),rgba(255,250,240,.9) 55%,rgba(255,250,240,0))}.phero--sphere h1{max-width: none;margin-inline: auto;font-size: clamp(2rem,1.4rem + 2vw,2.9rem)}.phero--sphere .lede{margin-inline: auto;max-width: 31ch;font-size: 1.05rem}.phero--sphere .sph__tags{z-index: 2}@media (min-width: 701px) and (max-height: 720px){.phero--sphere{padding-block: 1rem}.phero--sphere .phero__copy{max-width: 26rem}.phero--sphere .eyebrow{margin-bottom: .3rem}.phero--sphere h1{font-size: clamp(1.7rem,1.2rem + 1.5vw,2.3rem);margin-bottom: .55rem}.phero--sphere .lede{font-size: .95rem;line-height: 1.5;max-width: 34ch}.sph__tag{font-size: .9rem}}@media (max-width: 700px){.phero--sphere{min-height: 0;padding-block: 2.25rem 11.5rem}.phero--sphere .sph__tags{inset: auto 12px 12px 12px;display: grid;grid-template-columns: 1fr 1fr;gap: .55rem}.phero--sphere .sph__tag{position: static;text-align: left !important;padding: .55rem .75rem;background: rgba(255,255,255,.88);border: 1px solid var(--gold-line);border-radius: 10px}}.curr__cols>div{--lc: #0b5fa8;--lc2: #2a8ad8;--lt: #eaf3fc;--ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 5H6l7 7-7 7h12'/%3E%3C/svg%3E")}.curr__cols>div:has(.curr__label--sci){--lc: #0a7a2f;--lc2: #2fae5c;--lt: #e8f6ec;--ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round'%3E%3Cellipse cx='12' cy='12' rx='10' ry='4'/%3E%3Cellipse cx='12' cy='12' rx='10' ry='4' transform='rotate(60 12 12)'/%3E%3Cellipse cx='12' cy='12' rx='10' ry='4' transform='rotate(120 12 12)'/%3E%3Ccircle cx='12' cy='12' r='1.6' fill='white'/%3E%3C/svg%3E"); }
.curr__block .curr__label { position: relative; overflow: hidden; isolation: isolate; display: inline-flex; align-items: center; gap: .6rem; font-size: 1.02rem; font-weight: 700; letter-spacing: .1em; color: var(--lc); background: linear-gradient(135deg, #fff 0%, var(--lt) 60%, color-mix(in srgb, var(--lc2) 22%, #fff) 100%); border: 1px solid color-mix(in srgb, var(--lc) 30%, transparent); border-radius: 999px; padding: .42rem 1.1rem .42rem .5rem; margin-bottom: 1rem; box-shadow: 0 1px 0 #fff inset, 0 6px 16px -8px color-mix(in srgb, var(--lc) 55%, transparent); }
.curr__block .curr__label--sci { color: var(--lc); }
.curr__block .curr__label::before { content: ''; flex: none; width: 1.7rem; height: 1.7rem; border-radius: 50%; background: var(--ic) center / 62% no-repeat, linear-gradient(140deg, var(--lc2), var(--lc)); box-shadow: 0 0 0 0 color-mix(in srgb, var(--lc2) 50%, transparent); animation: currRing 3.2s ease-out infinite; }
.curr__block .curr__label::after { content: ''; position: absolute; z-index: -1; top: 0; bottom: 0; left: -40%; width: 40%; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .85), transparent); transform: skewX(-18deg); animation: currSheen 5.5s ease-in-out infinite; }
.curr__cols > div .curr__label { background-clip: padding-box; }
.curr__cols > div .curr__label > i { display: none; }
.curr__cols > div .curr__list li { font-size: var(--step-0); transition: transform .25s ease, color .25s ease; }
.curr__cols > div .curr__list li::before { background: linear-gradient(140deg, var(--lc2), var(--lc)); width: 7px; height: 7px; top: .6em; transition: transform .25s ease, box-shadow .25s ease; }
.curr__cols > div .curr__list li:hover { transform: translateX(4px); color: var(--lc); }
.curr__cols > div .curr__list li:hover::before { transform: scale(1.35); box-shadow: 0 0 0 4px color-mix(in srgb, var(--lc2) 22%, transparent); }
@keyframes currRing { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--lc2) 45%, transparent); } 70%, 100% { box-shadow: 0 0 0 9px transparent; } }
@keyframes currSheen { 0%, 55% { left: -40%; } 100% { left: 140%; } }
@media (prefers-reduced-motion: reduce) { .curr__block .curr__label::before, .curr__block .curr__label::after { animation: none; } .curr__block .curr__label::after { display: none; } }
html[data-motion='off'] .curr__block .curr__label::before, html[data-motion='off'] .curr__block .curr__label::after { animation: none; }
html[data-motion='off'] .curr__block .curr__label::after { display: none; }

/* /classes/ cards: the Maths / Maths & Science tag in the same premium chip as the curriculum labels: pale gradient, round icon badges, slow sheen, breathing ring. */
.clist__item .clist__subject {
  --sg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 5H6l7 7-7 7h12'/%3E%3C/svg%3E");
  --at: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.1' stroke-linecap='round'%3E%3Cellipse cx='12' cy='12' rx='10' ry='4'/%3E%3Cellipse cx='12' cy='12' rx='10' ry='4' transform='rotate(60 12 12)'/%3E%3Cellipse cx='12' cy='12' rx='10' ry='4' transform='rotate(120 12 12)'/%3E%3Ccircle cx='12' cy='12' r='1.7' fill='white'/%3E%3C/svg%3E");
  --bl: radial-gradient(circle closest-side, #1f78c8 96%, transparent 100%); --gr: radial-gradient(circle closest-side, #1d9a48 96%, transparent 100%);
  position: relative; overflow: hidden; isolation: isolate; display: inline-flex; align-items: center; gap: .6rem;
  font-size: 1rem; font-weight: 700; letter-spacing: .1em; color: #0b5fa8; padding: .42rem 1.1rem .42rem .5rem; margin-bottom: 1rem;
  background: linear-gradient(135deg, #fff 0%, #eaf3fc 60%, #cfe3f7 100%); border: 1px solid rgba(11, 95, 168, .3);
  box-shadow: 0 1px 0 #fff inset, 0 6px 16px -8px rgba(11, 95, 168, .55);
}
.clist__item .clist__subject--both { background: linear-gradient(135deg, #fff 0%, #eaf3fc 45%, #e6f5ea 100%); border-color: rgba(11, 95, 168, .28); }
.clist__item .clist__subject::before { content: ''; flex: none; height: 1.7rem; background-repeat: no-repeat; animation: subRing 3.2s ease-out infinite; border-radius: 999px; }
.clist__item .clist__subject--maths::before { width: 1.7rem; background-image: var(--sg), var(--bl); background-size: 62% 62%, 100% 100%; background-position: center, center; }
.clist__item .clist__subject--both::before { width: 1.7rem; background-image: var(--sg), var(--bl); background-size: 62% 62%, 100% 100%; background-position: center, center; }
.clist__item .clist__subject::after { content: ''; position: absolute; z-index: -1; top: 0; bottom: 0; left: -40%; width: 40%; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .85), transparent); transform: skewX(-18deg); animation: currSheen 5.5s ease-in-out infinite; }
.clist__item:nth-child(2) .clist__subject::after { animation-delay: 1.2s; } .clist__item:nth-child(3) .clist__subject::after { animation-delay: 2.4s; } .clist__item:nth-child(4) .clist__subject::after { animation-delay: 3.6s; }
@keyframes subRing { 0% { box-shadow: 0 0 0 0 rgba(42, 138, 216, .45); } 70%, 100% { box-shadow: 0 0 0 9px rgba(42, 138, 216, 0); } }
@media (prefers-reduced-motion: reduce) { .clist__item .clist__subject::before, .clist__item .clist__subject::after { animation: none; } .clist__item .clist__subject::after { display: none; } }
html[data-motion='off'] .clist__item .clist__subject::before, html[data-motion='off'] .clist__item .clist__subject::after { animation: none; }
html[data-motion='off'] .clist__item .clist__subject::after { display: none; }

/* The same Maths / Science chip family wherever a subject is named: formula rows and the small class labels on every class page. Static (the marquee already moves). */
.ftag { --lc: #0b5fa8; --lt: #eaf3fc; --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 5H6l7 7-7 7h12'/%3E%3C/svg%3E"); display: inline-flex; align-items: center; gap: .45rem; padding: .22rem .8rem .22rem .26rem; font-size: .78rem; font-weight: 700; letter-spacing: .1em; color: var(--lc); background: linear-gradient(135deg, #fff, var(--lt)); border: 1px solid color-mix(in srgb, var(--lc) 30%, transparent); box-shadow: 0 4px 10px -6px color-mix(in srgb, var(--lc) 60%, transparent); }
.ftag::before { content: ''; flex: none; width: 1.3rem; height: 1.3rem; border-radius: 50%; background: var(--ic) center / 62% no-repeat, linear-gradient(140deg, #2a8ad8, var(--lc)); }
.ftag--maths { background: linear-gradient(135deg, #fff, var(--lt)); color: var(--lc); }
.ftag--sci { --lc: #0a7a2f; --lt: #e8f6ec; --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round'%3E%3Cellipse cx='12' cy='12' rx='10' ry='4'/%3E%3Cellipse cx='12' cy='12' rx='10' ry='4' transform='rotate(60 12 12)'/%3E%3Cellipse cx='12' cy='12' rx='10' ry='4' transform='rotate(120 12 12)'/%3E%3Ccircle cx='12' cy='12' r='1.7' fill='white'/%3E%3C/svg%3E"); background: linear-gradient(135deg, #fff, var(--lt)); color: var(--lc); }
.ftag--sci::before { background: var(--ic) center / 62% no-repeat, linear-gradient(140deg, #2fae5c, var(--lc)); }
.cformulas__tag { padding: .14rem .6rem; border-radius: 999px; font-weight: 700; color: #0b5fa8; background: #eaf3fc; border: 1px solid rgba(11, 95, 168, .25); }
.cformulas__tag--sci { color: #0a7a2f; background: #e8f6ec; border-color: rgba(10, 122, 47, .25); }

/* Social icons: solid network colour with a white icon, larger, so each one reads at a glance. X is violet (it was black). */
.hdr__social a[aria-label^="X"], .ftr__social a[aria-label^="X"] { --sc: #6d3fd6; }
.hdr__social a[aria-label="Instagram"], .ftr__social a[aria-label="Instagram"] { --sc: #d62976; --sbg: linear-gradient(135deg, #feda75 0%, #fa7e1e 28%, #d62976 62%, #4f5bd5 100%); }
.hdr__social a, .ftr__social a { background: var(--sbg, var(--sc, var(--brand-700))); border-color: transparent; color: #fff; box-shadow: 0 3px 8px -3px color-mix(in srgb, var(--sc, #6b5210) 70%, transparent); }
.hdr__social a { width: 36px; height: 36px; }
.hdr__social svg { width: 18px; height: 18px; }
.ftr__social a { width: 46px; height: 46px; }
.ftr__social svg { width: 22px; height: 22px; }
.hdr__social a:hover, .ftr__social a:hover, .hdr__social a:focus-visible, .ftr__social a:focus-visible { background: var(--sbg, var(--sc)); filter: brightness(1.08) saturate(1.1); transform: translateY(-2px) scale(1.06); color: #fff; }

/* /classes/ cards: one badge each, and a different icon per class: flask, atom, integral, graduation cap. */
.clist__item:nth-child(1) .clist__subject { --sg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3h6M10 3v6l-5 9a2 2 0 0 0 2 3h10a2 2 0 0 0 2-3l-5-9V3'/%3E%3Cpath d='M7.5 15h9'/%3E%3C/svg%3E"); }
.clist__item:nth-child(2) .clist__subject { --sg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='12' cy='12' rx='10' ry='4'/%3E%3Cellipse cx='12' cy='12' rx='10' ry='4' transform='rotate%2860 12 12%29'/%3E%3Cellipse cx='12' cy='12' rx='10' ry='4' transform='rotate%28120 12 12%29'/%3E%3Ccircle cx='12' cy='12' r='1.7' fill='white'/%3E%3C/svg%3E"); }
.clist__item:nth-child(3) .clist__subject { --sg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3.5c-3 0-3 2-3 4.5v8c0 2.5 0 4.5-3 4.5'/%3E%3C/svg%3E"); }
.clist__item:nth-child(4) .clist__subject { --sg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m22 10-10-5L2 10l10 5z'/%3E%3Cpath d='M6 12v5c3 2 9 2 12 0v-5'/%3E%3C/svg%3E"); }
.clist__item:nth-child(2) .clist__subject::before { background-size: 70% 70%, 100% 100%; }

/* Classes hero: the two calls to action sit centred under the intro, inside the sphere. */
.phero--sphere .hero__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .7rem; margin-top: 1.25rem; }
.phero--sphere .hero__actions .btn { position: relative; z-index: 2; }
@media (min-width: 701px) and (max-height: 720px) { .phero--sphere .hero__actions { margin-top: .8rem; gap: .5rem; } .phero--sphere .hero__actions .btn { padding: .55rem 1rem; font-size: .9rem; min-height: 0; } }
@media (max-width: 700px) { .phero--sphere .hero__actions { margin-top: 1rem; } }

/* Classes hero: the four "how to start" steps. Along the bottom of the hero on wide screens, under the buttons on a phone. */
.phero--sphere .hero__steps--in { display: none; justify-content: center; margin-top: 1.1rem; }
.phero--sphere .sph__steps { position: absolute; left: 50%; bottom: 1.1rem; transform: translateX(-50%); z-index: 3; flex-wrap: nowrap; justify-content: center; white-space: nowrap; }
@media (max-width: 700px) {
  .phero--sphere .hero__steps--in { display: flex; }
  .phero--sphere .sph__steps { display: none; }
}

/* ==========================================================================
   Results page, premium: a gold rosette in the hero, figure cards, marksheets as raised cards with mark bars and a star on the
   year's highest marks. Bars fill once on load (still under the motion switch and reduced-motion). ========================================================================== */ .phero--results{background: radial-gradient(900px 520px at 82% 40%,#fbf0cf 0%,rgba(251,240,207,0) 70%),linear-gradient(180deg,#fffdf7,#f8efd6)}.phero--results::before{display: none}.art-medal{right: 6%;width: min(34vw,400px);opacity: 1;filter: drop-shadow(0 22px 30px rgba(166,129,28,.22))}.phero--results h1{max-width: 15ch}.figs{gap: 1rem;border: 0;border-radius: 0;background: transparent;overflow: visible}.figs li{position: relative;padding: 1.5rem 1.3rem 1.3rem;border: 1px solid var(--gold-line);border-radius: 16px;background: linear-gradient(180deg,#fff,#fbf5e4);box-shadow: 0 1px 0 #fff inset,0 14px 26px -18px rgba(120,90,15,.45);transition: transform .25s ease,box-shadow .25s ease;overflow: hidden}.figs li::before{content: '';position: absolute;left: 0;right: 0;top: 0;height: 3px;background: linear-gradient(90deg,#f4d78a,#c9a227,#a6811c)}.figs li:hover{transform: translateY(-3px);box-shadow: 0 1px 0 #fff inset,0 22px 30px -18px rgba(120,90,15,.55)}.figs li:last-child,.figs li:nth-child(2n),.figs li:nth-child(-n + 2){border: 1px solid var(--gold-line)}.figs__ico{position: absolute;right: 1rem;top: 1.1rem;width: 34px;height: 34px;border-radius: 50%;display: grid;place-items: center;color: #7a5a08;background: radial-gradient(circle at 30% 25%,#fff6d6,#f1d67c);box-shadow: 0 0 0 5px rgba(201,162,39,.12)}.figs__ico svg{width: 17px;height: 17px}.figs b{font-size: 2.6rem;font-weight: 500;background: linear-gradient(135deg,#7a5a08 0%,#b98a12 55%,#7a5a08 100%);-webkit-background-clip: text;background-clip: text;color: transparent;-webkit-text-fill-color: transparent}.figs b span{-webkit-text-fill-color: var(--ink-500);color: var(--ink-500);background: none}.year{margin-bottom: clamp(2.5rem,2rem + 3vw,3.75rem)}.year__cap{align-items: flex-end;padding-bottom: .9rem;margin-bottom: 1rem;background: linear-gradient(90deg,#c9a227,rgba(201,162,39,0)) bottom / 100% 1px no-repeat}.year__cap h2{position: relative;padding-left: 1.7rem}.year__cap h2::before{content: '✦';position: absolute;left: 0;top: .12em;font-size: .8em;color: #c9a227}.sheet{border-collapse: separate;border-spacing: 0;border: 1px solid var(--gold-line);border-radius: 16px;overflow: hidden;background: #fff;box-shadow: 0 16px 30px -22px rgba(120,90,15,.5)}.sheet thead th{border-bottom: 1px solid var(--gold-line);background: linear-gradient(180deg,#fbf3dc,#f6eccd);color: #7a5a08;padding: .8rem .8rem}.sheet tbody th,.sheet tbody td{padding: .95rem .8rem;border-bottom: 1px solid #f1e7cb;vertical-align: middle}.sheet tbody tr:last-child>*{border-bottom: 0}.sheet tbody tr{transition: background-color .2s ease}.sheet tbody tr:hover{background: #fffaea}.sheet__rank{width: 3.6rem}.sheet tbody .sheet__rank{color: #8a6a12;font-weight: 700}.sheet__num{width: 11rem;text-align: left}.sheet thead .sheet__num{text-align: left}.mk{--c1: #d97a3a;--c2: #b5591f;display: grid;gap: .4rem;min-width: 7rem}.mk--sci{--c1: #34b06a;--c2: #0f7a3a}.mk b{font-family: var(--serif);font-weight: 500;font-size: 1.5rem;line-height: 1;color: var(--c2)}.mk i{display: block;height: 6px;border-radius: 999px;background: rgba(120,90,15,.1);position: relative;overflow: hidden}.mk i::before{content: '';position: absolute;inset: 0 auto 0 0;width: var(--v);border-radius: inherit;background: linear-gradient(90deg,var(--c1),var(--c2));transform-origin: left;animation: rsBar 1.1s cubic-bezier(.2,.7,.2,1) both}.mk--top b{display: inline-flex;align-items: center;gap: .4rem;width: max-content;padding: .18rem .65rem .18rem .5rem;border-radius: 999px;color: #5c4306;background: linear-gradient(135deg,#fbe7a1,#e9c34f);box-shadow: 0 6px 12px -8px #a6811c}.mk--top b::before{content: '★';font-size: .7em}.mk--top i::before{background: linear-gradient(90deg,#f4d78a,#c9a227)}@keyframes rsBar{from{transform: scaleX(0)}to{transform: scaleX(1)}}.rkey{margin: -.5rem 0 1.5rem;font-size: var(--step--1);color: var(--ink-500)}.rkey__star{display: inline-grid;place-items: center;width: 1.4rem;height: 1.4rem;margin-right: .35rem;border-radius: 50%;color: #5c4306;background: linear-gradient(135deg,#fbe7a1,#e9c34f);font-size: .75rem}.note{max-width: none;padding: 1.1rem 1.3rem;border: 1px solid var(--gold-line);border-radius: 14px;background: linear-gradient(180deg,#fffdf6,#fbf5e4)}@media (prefers-reduced-motion: reduce){.mk i::before{animation: none}}html[data-motion='off'] .mk i::before{animation: none}@media (max-width: 640px){.sheet__num{width: auto}.mk{min-width: 4.6rem}.mk b{font-size: 1.3rem}.sheet tbody th,.sheet tbody td,.sheet thead th{padding-inline: .55rem}}.sband{gap: 1rem;border: 0;border-radius: 0;background: transparent;overflow: visible;box-shadow: none}.sband__item,.sband__item:nth-child(2n),.sband__item:last-child{position: relative;overflow: hidden;border: 1px solid var(--gold-line);border-radius: 16px;background: linear-gradient(180deg,#fff,#fbf5e4);box-shadow: 0 1px 0 #fff inset,0 14px 26px -18px rgba(120,90,15,.45);transition: transform .25s ease,box-shadow .25s ease}.sband__item::before{content: '';position: absolute;left: 0;right: 0;top: 0;height: 3px;background: linear-gradient(90deg,#f4d78a,#c9a227,#a6811c)}.sband__item:hover{transform: translateY(-3px);box-shadow: 0 1px 0 #fff inset,0 22px 30px -18px rgba(120,90,15,.55)}.sband__value{background: linear-gradient(135deg,#7a5a08 0%,#b98a12 55%,#7a5a08 100%);-webkit-background-clip: text;background-clip: text;color: transparent;-webkit-text-fill-color: transparent}.sband__value .sband__unit{-webkit-text-fill-color: var(--ink-500);color: var(--ink-500)}.sband__value .sband__star{-webkit-text-fill-color: #fbbc04;color: #fbbc04}.sband__value--link{color: transparent}.card{position: relative;overflow: hidden;border-color: var(--gold-line);background: linear-gradient(180deg,#fff,#fdf8ea);box-shadow: 0 1px 0 #fff inset,0 14px 26px -20px rgba(120,90,15,.45);transition: transform .25s ease,box-shadow .25s ease,border-color .25s ease}.card::before{content: '';position: absolute;left: 0;right: 0;top: 0;height: 2px;background: linear-gradient(90deg,rgba(244,215,138,0),#c9a227 50%,rgba(244,215,138,0));opacity: .9}.card:hover{transform: translateY(-3px);border-color: #d9bd63;box-shadow: 0 1px 0 #fff inset,0 24px 34px -20px rgba(120,90,15,.55)}.card h3,.card h2{letter-spacing: -0.005em}.section__head--center h2::after{content: '';display: block;width: 84px;height: 9px;margin: .8rem auto 0;background: linear-gradient(90deg,rgba(201,162,39,0),#c9a227 30%,#c9a227 70%,rgba(201,162,39,0)) center / 100% 1px no-repeat;position: relative}.section__head--center .lede{margin-top: .6rem}.tprofile__card{border-color: var(--gold-line);background: linear-gradient(180deg,#fff,#fbf5e4);box-shadow: 0 1px 0 #fff inset,0 20px 34px -22px rgba(120,90,15,.5);position: relative;overflow: hidden}.tprofile__card::before{content: '';position: absolute;left: 0;right: 0;top: 0;height: 3px;background: linear-gradient(90deg,#f4d78a,#c9a227,#a6811c)}.tprofile__avatar{border: 3px solid #fff;box-shadow: 0 0 0 3px #d9bd63,0 16px 26px -12px rgba(120,90,15,.5)}.tquals__row{padding-inline: .9rem;margin-inline: -.9rem;border-radius: 12px;border-bottom-color: #f1e7cb;transition: background-color .2s ease}.tquals__row:hover{background: #fffaea}.tquals__detail{display: inline-block;justify-self: start;padding: .12rem .7rem;border-radius: 999px;color: #5c4306;background: linear-gradient(135deg,#fbe7a1,#e9c34f);box-shadow: 0 6px 12px -8px #a6811c}@media (min-width: 640px){.tquals__detail{justify-self: end}}.ttimeline__row{padding-inline: .9rem;margin-inline: -.9rem;border-radius: 12px;border-bottom-color: #f1e7cb;transition: background-color .2s ease}.ttimeline__row:hover{background: #fffaea}.ttimeline__period{display: inline-block;justify-self: start;align-self: start;padding: .2rem .7rem;border-radius: 999px;color: #7a5a08;background: #fbf1cf;border: 1px solid var(--gold-line)}.phero__card{border-color: var(--gold-line);box-shadow: 0 1px 0 #fff inset,0 24px 40px -24px rgba(120,90,15,.5)}@media (prefers-reduced-motion: reduce){.sband__item,.card{transition: none}.sband__item:hover,.card:hover{transform: none}}.gal li{position: relative}.gal img{border: 1px solid var(--gold-line);border-radius: 14px;padding: 5px;background: #fff;box-shadow: 0 14px 26px -18px rgba(120,90,15,.5);transition: transform .35s ease,box-shadow .35s ease}.gal li:hover img{transform: translateY(-4px) scale(1.015);box-shadow: 0 26px 34px -20px rgba(120,90,15,.6)}.field input,.field select,.field textarea{border-color: #d3c08a;background: linear-gradient(180deg,#fff,#fffdf7);border-radius: 12px;transition: border-color .2s ease,box-shadow .2s ease}.field input:focus,.field select:focus,.field textarea:focus{outline: none;border-color: #c9a227;box-shadow: 0 0 0 4px rgba(201,162,39,.22)}.contact__form{padding: clamp(1.25rem,1rem + 1.5vw,2rem);border: 1px solid var(--gold-line);border-radius: 18px;background: linear-gradient(180deg,#fff,#fdf8ea);box-shadow: 0 1px 0 #fff inset,0 24px 40px -26px rgba(120,90,15,.5);position: relative;overflow: hidden}.contact__form::before{content: '';position: absolute;left: 0;right: 0;top: 0;height: 3px;background: linear-gradient(90deg,#f4d78a,#c9a227,#a6811c)}.contact__ways>*{border-color: var(--gold-line)}@media (prefers-reduced-motion: reduce){.gal img{transition: none}.gal li:hover img{transform: none}}.phero--notes{background: radial-gradient(900px 520px at 82% 40%,#fbf0cf 0%,rgba(251,240,207,0) 70%),linear-gradient(180deg,#fffdf7,#f8efd6)}.art-mark{color: transparent;background: linear-gradient(160deg,#f4d78a,#c9a227 60%,#a6811c);-webkit-background-clip: text;background-clip: text;-webkit-text-fill-color: transparent;opacity: .55;filter: drop-shadow(0 18px 24px rgba(166,129,28,.22))}.rows{display: grid;gap: 1.1rem}.row{position: relative;overflow: hidden;padding: clamp(1.4rem,1rem + 1.5vw,2rem) clamp(1.4rem,1rem + 1.5vw,2.2rem);border: 1px solid var(--gold-line);border-radius: 18px;background: linear-gradient(180deg,#fff,#fdf8ea);box-shadow: 0 1px 0 #fff inset,0 14px 26px -20px rgba(120,90,15,.45);transition: transform .25s ease,box-shadow .25s ease,border-color .25s ease}.row::before{content: '';position: absolute;left: 0;right: 0;top: 0;height: 3px;background: linear-gradient(90deg,#f4d78a,#c9a227,#a6811c)}.row:hover{transform: translateY(-3px);border-color: #d9bd63;box-shadow: 0 1px 0 #fff inset,0 26px 36px -22px rgba(120,90,15,.55)}.row__topic{display: inline-block;padding: .22rem .75rem;border-radius: 999px;color: #7a5a08;background: #fbf1cf;border: 1px solid var(--gold-line)}.row__go{padding: .45rem 1rem;border-radius: 999px;color: #fff;background: linear-gradient(135deg,#c8672b,#a6481a);box-shadow: 0 8px 14px -8px #a6481a}.row__go svg{stroke: #fff}@media (prefers-reduced-motion: reduce){.row{transition: none}.row:hover{transform: none}}.phero--about .phero__card{background: rgba(255,253,246,.26);-webkit-backdrop-filter: none;backdrop-filter: none;border: 1px solid rgba(217,189,99,.75);box-shadow: 0 1px 0 rgba(255,255,255,.8) inset,0 24px 40px -26px rgba(120,90,15,.45)}.phero--about .phero__card dd{text-shadow: 0 1px 0 rgba(255,255,255,.7)}.phero--class{min-height: min(78vh,700px);display: flex;flex-direction: column;justify-content: center}.phero--class h1{font-size: clamp(2.4rem,1.2rem + 4vw,4rem);line-height: 1.04}.phero--class .lede{font-size: clamp(1.05rem,1rem + .3vw,1.25rem)}.phero--class .hero__actions{display: flex;flex-wrap: wrap;gap: .7rem;margin-top: 1.5rem}@media (max-width: 700px){.phero--class{min-height: 0}}/* Every hero: calls to action,then the four "how to start" steps,left-aligned under the intro. */ .phero .hero__actions{display: flex;flex-wrap: wrap;gap: .7rem;margin-top: 1.5rem}.phero .hero__steps--page{margin-top: 1.25rem}.phero .hero__steps--page{gap: .45rem}.phero .hero__steps--page .hstep{font-size: .78rem;padding: .25rem .75rem .25rem .3rem;gap: .45rem;white-space: nowrap}.phero .hero__steps--page .hstep__ico{width: 26px;height: 26px}.phero .hero__steps--page .hstep__ico svg{width: 13px;height: 13px}.phero__copy:has(.hero__steps--page){max-width: 40rem}/* /classes/ card tags in each card's own colour (blue, orange, green, amber) instead of one pale blue. */
.clist__item .clist__subject, .clist__item .clist__subject--both {
  --bl: radial-gradient(circle closest-side, var(--cc) 96%, transparent 100%);
  color: var(--cc);
  background: linear-gradient(135deg, #fff 0%, color-mix(in srgb, var(--cc) 10%, #fff) 55%, color-mix(in srgb, var(--cc) 26%, #fff) 100%);
  border: 1px solid color-mix(in srgb, var(--cc) 45%, transparent);
  box-shadow: 0 1px 0 #fff inset, 0 8px 18px -8px color-mix(in srgb, var(--cc) 65%, transparent);
}
.clist__item .clist__subject::before { animation-name: subRingC; }
@keyframes subRingC { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--cc) 50%, transparent); } 70%, 100% { box-shadow: 0 0 0 9px transparent; } }
/* The 6th to 8th hero stays light. Only the panel behind the tree, on the right, is a deep warm dusk, so the tree's lights glow. */ .phero--class .phero__art:has(.hart__cv[data-scene="tree"])::before{content: '';position: absolute;inset: 0;background: radial-gradient(ellipse 230px 200px at 74% 34%,rgba(214,170,80,.3) 0%,rgba(214,170,80,0) 100%),radial-gradient(ellipse 470px 400px at 74% 50%,rgba(72,98,146,.86) 0%,rgba(88,114,160,.78) 40%,rgba(128,150,190,.52) 62%,rgba(180,194,218,.22) 82%,rgba(190,202,224,0) 100%)}@media (max-width: 820px){.phero--class .phero__art:has(.hart__cv[data-scene="tree"])::before{display: none}}.phero--class .hart__svg{top: 0;height: 100%}.phero--class .phero__art:has(.hart__cv[data-scene="lattice"])::before{content: '';position: absolute;inset: 0;background: radial-gradient(ellipse 480px 420px at 78% 50%,rgba(244,215,138,.55) 0%,rgba(244,215,138,.22) 55%,rgba(244,215,138,0) 100%)}@media (max-width: 1200px){.phero--class .phero__art:has(.hart__cv[data-scene="atom"]) .hart__svg{display: none}}.phero--class .phero__art:has(.hart__cv[data-scene="earth"])::before{content: '';position: absolute;inset: 0;background: radial-gradient(ellipse 480px 430px at 74% 50%,rgba(72,98,146,.86) 0%,rgba(88,114,160,.78) 42%,rgba(128,150,190,.5) 64%,rgba(180,194,218,.2) 82%,rgba(190,202,224,0) 100%)}.phero--class .phero__art:has(.hart__cv[data-scene="earth"]) .hart__cv{z-index: 2}@media (max-width: 820px){.phero--class .phero__art:has(.hart__cv[data-scene="earth"])::before{display: none}}@media (min-width: 860px){.phero--about .phero__aside{justify-self: start}.phero--about .phero__card{width: max-content;max-width: 100%}}.phero--teacher{background: radial-gradient(640px 460px at 82% 40%,#fbedc0 0%,rgba(251,237,192,0) 72%),linear-gradient(180deg,#fffdf7,#f8efd6)}.tphoto{overflow: visible}.tphoto::before{inset: -18px;border-color: #d9bd63;box-shadow: 0 0 40px rgba(244,215,138,.55),0 0 0 1px rgba(255,255,255,.6) inset}.tphoto__ring{position: absolute;inset: -46px;z-index: -1;border-radius: 50%;border: 1.5px dashed rgba(201,162,39,.6);animation: tpSpin 60s linear infinite}.tphoto__ring--2{inset: -78px;border: 1px dotted rgba(201,162,39,.5);animation-duration: 90s;animation-direction: reverse}.tphoto__spark{position: absolute;z-index: 2;color: #e0a800;text-shadow: 0 0 10px rgba(244,215,138,.9);animation: hartTw 3.2s ease-in-out infinite}.tphoto__spark--a{top: -20px;right: -30px;font-size: 26px}.tphoto__spark--b{bottom: 40px;left: -46px;font-size: 18px;animation-delay: 1s}.tphoto__spark--c{top: 40%;right: -54px;font-size: 14px;animation-delay: 1.8s}@keyframes tpSpin{to{transform: rotate(360deg)}}.tphoto img{border-color: #fff;box-shadow: 0 0 0 3px #d9bd63,0 34px 54px -26px rgba(107,82,16,.65)}.tprofile__card{position: sticky;top: 6rem}.tprofile__name{background: linear-gradient(135deg,#5c4306,#b98a12 55%,#5c4306);-webkit-background-clip: text;background-clip: text;-webkit-text-fill-color: transparent}.tprofile__meta{border-top-color: #efe1b0}.tprofile__meta svg{color: #b98a12}.tquote{position: relative;padding: 1.6rem 1.8rem 1.4rem 3.6rem;border: 1px solid var(--gold-line);border-left: 1px solid var(--gold-line);border-radius: 18px;background: linear-gradient(135deg,#fffdf6,#fbf1cf);box-shadow: 0 20px 34px -24px rgba(120,90,15,.5);overflow: hidden}.tquote::before{content: '\201C';position: absolute;left: .9rem;top: -.4rem;font: 400 5.2rem/1 var(--serif);background: linear-gradient(160deg,#f4d78a,#c9a227 60%,#a6811c);-webkit-background-clip: text;background-clip: text;-webkit-text-fill-color: transparent}.tquote p{font-size: clamp(1.15rem,1.05rem + .5vw,1.4rem);line-height: 1.4;color: #3a2f0d}.thl{grid-template-columns: 1fr;gap: 1rem;counter-reset: th}@media (min-width: 720px){.thl{grid-template-columns: 1fr 1fr}}.thl li{counter-increment: th;position: relative;padding: 1.3rem 1.3rem 1.2rem;border: 1px solid var(--gold-line);border-radius: 16px;background: linear-gradient(180deg,#fff,#fdf8ea);box-shadow: 0 14px 26px -20px rgba(120,90,15,.45);transition: transform .25s ease,box-shadow .25s ease;overflow: hidden}.thl li::before{content: '';position: absolute;left: 0;right: 0;top: 0;height: 3px;background: linear-gradient(90deg,#f4d78a,#c9a227,#a6811c)}.thl li:hover{transform: translateY(-3px);box-shadow: 0 24px 34px -20px rgba(120,90,15,.55)}.thl h3{font-size: 1.12rem}.tquals__row{align-items: center;padding: 1rem .9rem;border: 1px solid #f1e7cb;border-radius: 14px;margin: 0 0 .7rem;background: #fff;box-shadow: 0 10px 22px -20px rgba(120,90,15,.5)}.tquals__row:first-child{padding-top: 1rem}.tquals__row:last-child{border-bottom: 1px solid #f1e7cb}@media (min-width: 640px){.tquals__row{grid-template-columns: 1.1fr 1.3fr auto 8rem}.tquals__row:not(:has(.tquals__bar)){grid-template-columns: 1.1fr 1.3fr auto}}.tquals__bar{display: block;height: 7px;border-radius: 999px;background: rgba(120,90,15,.1);position: relative;overflow: hidden}.tquals__bar::before{content: '';position: absolute;inset: 0 auto 0 0;width: var(--v);border-radius: inherit;background: linear-gradient(90deg,#f4d78a,#c9a227,#a6811c);transform-origin: left;animation: rsBar 1.1s cubic-bezier(.2,.7,.2,1) both}.ttimeline{position: relative;padding-left: 1.6rem}.ttimeline::before{content: '';position: absolute;left: 6px;top: .6rem;bottom: .6rem;width: 2px;background: linear-gradient(180deg,#c9a227,rgba(201,162,39,.15))}.ttimeline__row{position: relative;border-bottom: 0;padding-block: 1rem}.ttimeline__row:first-child{padding-top: 1rem}.ttimeline__row::before{content: '';position: absolute;left: -1.6rem;top: 1.45rem;width: 14px;height: 14px;border-radius: 50%;background: radial-gradient(circle at 35% 30%,#fff6d6,#e0a800);box-shadow: 0 0 0 4px rgba(201,162,39,.2),0 0 14px rgba(244,215,138,.8)}.ttimeline__row:first-child::before{animation: currRing 3.2s ease-out infinite}@media (prefers-reduced-motion: reduce){.tphoto__ring,.tphoto__spark,.tquals__bar::before,.ttimeline__row::before{animation: none}.thl li{transition: none}}html[data-motion='off'] .tphoto__ring,html[data-motion='off'] .tphoto__spark,html[data-motion='off'] .tquals__bar::before,html[data-motion='off'] .ttimeline__row::before{animation: none}.hart__spin.hart__lap{animation-name: hartSpin;animation-timing-function: linear;animation-iteration-count: infinite}.thl{grid-template-columns: 1fr !important;gap: .9rem;margin-top: 2.25rem}.thl li{display: grid;grid-template-columns: 3rem 1fr;column-gap: 1.1rem;align-items: start;padding: 1.35rem 1.6rem 1.3rem 1.3rem;border-radius: 18px;overflow: visible}.thl li::before{content: '✦';position: static;grid-row: 1 / span 2;width: 3rem;height: 3rem;height: 3rem;border-radius: 50%;display: grid;place-items: center;font-size: 1.15rem;color: #fff;background: radial-gradient(circle at 30% 25%,#f4d78a,#c9a227 60%,#a6811c);box-shadow: 0 0 0 5px rgba(201,162,39,.16),0 10px 16px -8px #a6811c}.thl li h3{grid-column: 2;font-size: 1.3rem;line-height: 1.25;margin: 0 0 .3rem;color: var(--ink-900)}.thl li p{grid-column: 2;color: var(--ink-700);font-size: 1.02rem;line-height: 1.6}.thl li:hover{transform: translateY(-2px)}@media (max-width: 520px){.thl li{grid-template-columns: 2.4rem 1fr;column-gap: .8rem;padding: 1.1rem}.thl li::before{width: 2.4rem;height: 2.4rem;font-size: .95rem}.thl li h3{font-size: 1.15rem}}.thl{gap: 0 !important;margin-top: 2.5rem;border-top: 1px solid #e2cf8f}.thl li,.thl li:hover{display: grid;grid-template-columns: minmax(0,15rem) 1fr;column-gap: 2.25rem;align-items: baseline;padding: 1.5rem .25rem;border: 0;border-bottom: 1px solid #ecdfb4;border-radius: 0;background: none;box-shadow: none;transform: none;overflow: visible;transition: background-color .25s ease}.thl li::before{content: '✦';position: absolute;left: -1.4rem;top: 1.65rem;width: auto;height: auto;display: block;background: none;box-shadow: none;border-radius: 0;font-size: .8rem;color: #c9a227;opacity: 0;transition: opacity .25s ease,transform .25s ease;transform: translateX(-4px)}.thl li:hover::before{opacity: 1;transform: none}.thl li:hover{background: linear-gradient(90deg,rgba(251,241,207,.7),rgba(251,241,207,0))}.thl li h3{grid-column: 1;margin: 0;font-size: 1.35rem;line-height: 1.25;background: linear-gradient(135deg,#4a3608,#a6811c 60%,#4a3608);-webkit-background-clip: text;background-clip: text;-webkit-text-fill-color: transparent}.thl li p{grid-column: 2;margin: 0;color: var(--ink-700);font-size: 1.03rem;line-height: 1.65}@media (max-width: 720px){.thl li,.thl li:hover{grid-template-columns: 1fr;row-gap: .35rem}.thl li h3,.thl li p{grid-column: 1}.thl li::before{display: none}}@media (min-width: 640px){.tquals__row,.tquals__row:not(:has(.tquals__bar)){grid-template-columns: 1.1fr 1.3fr 5.5rem 8rem}.tquals__detail{justify-self: start}}.tquals__bar:not([style]){background: none}@media (min-width: 640px){.tquals__row,.tquals__row:not(:has(.tquals__bar)){grid-template-columns: 1.1fr 1.3fr 7.5rem 8rem}}.tquals__detail{white-space: nowrap}.tquals__bar{display: none !important}@media (min-width: 640px){.tquals__row,.tquals__row:not(:has(.tquals__bar)){grid-template-columns: 1.1fr 1.3fr auto;column-gap: 2rem}.tquals__detail{justify-self: end}}.tquals__inst,.tquals__degree{text-align: left}@media (min-width: 640px){.tquals__row,.tquals__row:not(:has(.tquals__bar)){grid-template-columns: 1.15fr 1.35fr 8.5rem}}@media (min-width: 640px){.tquals__detail{justify-self: start !important}.tquals__row,.tquals__row:not(:has(.tquals__bar)){grid-template-columns: 1.15fr 1.35fr 9rem}}.ttimeline__row::before{left: -.7rem;animation: tlPulse 8s ease-out infinite}.ttimeline__row:first-child::before{animation: tlPulse 8s ease-out infinite}.ttimeline__row:nth-child(2)::before{animation-delay: 1.2s}.ttimeline__row:nth-child(3)::before{animation-delay: 2.4s}.ttimeline__row:nth-child(4)::before{animation-delay: 3.6s}.ttimeline__row:nth-child(5)::before{animation-delay: 4.8s}.ttimeline__row:nth-child(6)::before{animation-delay: 6s}@keyframes tlPulse{0%,12%,100%{box-shadow: 0 0 0 4px rgba(201,162,39,.2),0 0 14px rgba(244,215,138,.8);transform: scale(1)}4%{box-shadow: 0 0 0 10px rgba(201,162,39,0),0 0 26px rgba(255,216,90,1);transform: scale(1.25)}}.ttimeline::after{content: '';position: absolute;left: 1px;top: .6rem;width: 14px;height: 14px;border-radius: 50%;background: radial-gradient(circle,#fff 0%,#ffe27a 40%,rgba(255,216,90,0) 72%);box-shadow: 0 0 16px 6px rgba(255,216,90,.55);animation: tlTravel 8s linear infinite;pointer-events: none}@keyframes tlTravel{0%{top: .6rem;opacity: 0}6%{opacity: 1}94%{opacity: 1}100%{top: calc(100% - 1.2rem);opacity: 0}}.ttimeline__period{position: relative;overflow: hidden;isolation: isolate}.ttimeline__period::after{content: '';position: absolute;z-index: -1;top: 0;bottom: 0;left: -40%;width: 40%;background: linear-gradient(100deg,transparent,rgba(255,255,255,.85),transparent);transform: skewX(-18deg);animation: currSheen 5.5s ease-in-out infinite}.ttimeline__row:nth-child(2) .ttimeline__period::after{animation-delay: .8s}.ttimeline__row:nth-child(3) .ttimeline__period::after{animation-delay: 1.6s}.ttimeline__row:nth-child(4) .ttimeline__period::after{animation-delay: 2.4s}.ttimeline__row:nth-child(5) .ttimeline__period::after{animation-delay: 3.2s}.ttimeline__row:nth-child(6) .ttimeline__period::after{animation-delay: 4s}@media (prefers-reduced-motion: reduce){.ttimeline::after{display: none}.ttimeline__period::after{display: none}}html[data-motion='off'] .ttimeline::after,html[data-motion='off'] .ttimeline__period::after{display: none}.tquals__detail{min-width: 5.6rem;text-align: center;box-sizing: border-box}.ttimeline{padding-left: 2.6rem}.ttimeline::before{background: linear-gradient(0deg,#8a5bd6,#1f7ad8 22%,#1d9a48 42%,#e6a800 62%,#e0561f 82%,#d62976);opacity: .75}.ttimeline__row{--dc: #d62976;--dc2: #ff8fc0}.ttimeline__row:nth-child(1){--dc: #d62976;--dc2: #ff9cc6}.ttimeline__row:nth-child(2){--dc: #e0561f;--dc2: #ffb07a}.ttimeline__row:nth-child(3){--dc: #e6a800;--dc2: #ffe27a}.ttimeline__row:nth-child(4){--dc: #1d9a48;--dc2: #8be39b}.ttimeline__row:nth-child(5){--dc: #1f7ad8;--dc2: #8fd0ff}.ttimeline__row:nth-child(6){--dc: #8a5bd6;--dc2: #c9a8ff}.ttimeline__row::before{left: -1.6rem;width: 16px;height: 16px;top: 1.4rem;background: radial-gradient(circle at 35% 30%,#fff,var(--dc2) 45%,var(--dc));box-shadow: 0 0 0 4px color-mix(in srgb,var(--dc) 22%,transparent),0 0 16px color-mix(in srgb,var(--dc) 70%,transparent);animation-name: tlPulseC}@keyframes tlPulseC{0%,12%,100%{box-shadow: 0 0 0 4px color-mix(in srgb,var(--dc) 22%,transparent),0 0 16px color-mix(in srgb,var(--dc) 70%,transparent);transform: scale(1)}4%{box-shadow: 0 0 0 11px color-mix(in srgb,var(--dc) 0%,transparent),0 0 30px var(--dc);transform: scale(1.3)}}.ttimeline__period{border-color: color-mix(in srgb,var(--dc) 45%,transparent);background: color-mix(in srgb,var(--dc2) 22%,#fff);color: color-mix(in srgb,var(--dc) 70%,#3a2f0d)}.ttimeline::after{left: -1px;top: auto;bottom: .4rem;width: 18px;height: 20px;border-radius: 0;box-shadow: none;background: linear-gradient(0deg,#8a5bd6,#1f7ad8,#1d9a48,#e6a800,#e0561f,#d62976);clip-path: polygon(50% 0,100% 100%,50% 68%,0 100%);filter: drop-shadow(0 0 6px rgba(255,216,90,.9));animation: tlUp 7s linear infinite}@keyframes tlUp{0%{bottom: .4rem;opacity: 0}8%{opacity: 1}92%{opacity: 1}100%{bottom: calc(100% - 1.6rem);opacity: 0}}@media (max-width: 640px){.ttimeline{padding-left: 2.2rem}.ttimeline__row::before{left: -1.4rem}}.ttimeline::before{background: linear-gradient(0deg,#8a5bd6,#1f7ad8 22%,#1d9a48 42%,#e6a800 62%,#e0561f 82%,#d62976) bottom / 100% 0% no-repeat,linear-gradient(180deg,rgba(201,162,39,.28),rgba(201,162,39,.28));opacity: 1;animation: tlFill 7s linear infinite}@keyframes tlFill{0%{background-size: 100% 0%,100% 100%;opacity: 1}88%{background-size: 100% 100%,100% 100%;opacity: 1}96%{background-size: 100% 100%,100% 100%;opacity: .2}100%{background-size: 100% 0%,100% 100%;opacity: 1}}.ttimeline::after{left: -1px;animation-name: tlUp2;animation-duration: 7s}@keyframes tlUp2{0%{bottom: calc(.6rem - 10px);opacity: 0}4%{opacity: 1}88%{bottom: calc(100% - .6rem - 10px);opacity: 1}96%,100%{bottom: calc(100% - .6rem - 10px);opacity: 0}}@media (prefers-reduced-motion: reduce){.ttimeline::before{animation: none;background-size: 100% 100%,100% 100%}}html[data-motion='off'] .ttimeline::before{animation: none;background-size: 100% 100%,100% 100%}.ttimeline::after{left: -6px;width: 26px;height: 32px;clip-path: none;box-shadow: none;background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 30'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='1' x2='0' y2='0'%3E%3Cstop offset='0' stop-color='%230067b3'/%3E%3Cstop offset='.25' stop-color='%230067b3'/%3E%3Cstop offset='.5' stop-color='%23007020'/%3E%3Cstop offset='.72' stop-color='%23f0a800'/%3E%3Cstop offset='1' stop-color='%23d9420b'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M12 1 L23 27 L12 20 L1 27 Z' fill='url%28%23g%29' stroke='%23fff8dc' stroke-width='1.6' stroke-linejoin='round'/%3E%3Cpath d='M12 4 L12 17' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' opacity='.85'/%3E%3C/svg%3E") center / 100% 100% no-repeat,radial-gradient(circle at 50% 55%,rgba(255,236,150,.95) 0%,rgba(255,216,90,.5) 38%,rgba(255,216,90,0) 70%);filter: drop-shadow(0 0 5px #fff3b0) drop-shadow(0 0 12px rgba(255,190,40,.95));animation: tlUp2 7s linear infinite,tlShine 1.1s ease-in-out infinite alternate;transform-origin: 50% 60%}@keyframes tlShine{from{filter: drop-shadow(0 0 4px #fff3b0) drop-shadow(0 0 9px rgba(255,190,40,.8))}to{filter: drop-shadow(0 0 8px #fff) drop-shadow(0 0 20px rgba(255,170,30,1))}}@keyframes tlUp2{0%{bottom: calc(.6rem - 16px);opacity: 0}4%{opacity: 1}88%{bottom: calc(100% - .6rem - 16px);opacity: 1}96%,100%{bottom: calc(100% - .6rem - 16px);opacity: 0}}.ttimeline__period{white-space: nowrap}@media (min-width: 700px){.ttimeline__row{grid-template-columns: 15.5rem 1fr}}.ttimeline__period{max-width: 100%}.sheet thead th.sheet__num{position: relative;font-size: .85rem;font-weight: 800;letter-spacing: .12em;padding: .95rem .8rem .8rem;border-bottom: 3px solid var(--hc);color: var(--hc);background: linear-gradient(180deg,color-mix(in srgb,var(--hc) 14%,#fff),color-mix(in srgb,var(--hc) 5%,#fff))}.sheet thead th.sheet__num:nth-of-type(3){--hc: #b5591f}.sheet thead th.sheet__num:nth-of-type(4){--hc: #0f7a3a}.sheet thead th.sheet__num::before{content: '';display: inline-block;width: .6rem;height: .6rem;margin-right: .5rem;border-radius: 50%;background: var(--hc);box-shadow: 0 0 0 4px color-mix(in srgb,var(--hc) 20%,transparent);vertical-align: .05em;animation: hdPulse 3s ease-out infinite}@keyframes hdPulse{0%{box-shadow: 0 0 0 0 color-mix(in srgb,var(--hc) 45%,transparent)}70%,100%{box-shadow: 0 0 0 8px transparent}}@media (prefers-reduced-motion: reduce){.sheet thead th.sheet__num::before{animation: none}}html[data-motion='off'] .sheet thead th.sheet__num::before{animation: none}.phero--gallery .phero__strip{position: relative;display: block;width: min(100%,520px);justify-self: center;height: 400px;padding: 0}.phero--gallery .phero__strip img{position: absolute;flex: none;width: 82%;height: auto;aspect-ratio: auto;object-fit: contain;margin: 0;border: 7px solid #fff;border-bottom-width: 22px;border-radius: 3px;box-shadow: 0 22px 34px -16px rgba(60,45,10,.55)}.phero--gallery .phero__strip img:nth-child(1){left: 0;top: 0;transform: rotate(-4deg);z-index: 1}.phero--gallery .phero__strip img:nth-child(2){right: 0;top: 118px;transform: rotate(3deg);z-index: 2}.phero--gallery .phero__strip img:nth-child(3){left: 4%;top: 236px;transform: rotate(-2deg);z-index: 3}@media (max-width: 860px){.phero--gallery .phero__strip{height: 330px;width: min(100%,420px)}.phero--gallery .phero__strip img:nth-child(2){top: 96px}.phero--gallery .phero__strip img:nth-child(3){top: 192px}}.phero--gallery .phero__strip img{animation: galIn1 1s cubic-bezier(.2,.8,.2,1) both,galFloat 6s ease-in-out 1s infinite}.phero--gallery .phero__strip img:nth-child(1){--r: -4deg;--x: -60px;animation-name: galIn,galFloat}.phero--gallery .phero__strip img:nth-child(2){--r: 3deg;--x: 60px;animation-name: galIn,galFloat;animation-delay: .15s,1.2s;animation-duration: 1s,7s}.phero--gallery .phero__strip img:nth-child(3){--r: -2deg;--x: -60px;animation-name: galIn,galFloat;animation-delay: .3s,1.4s;animation-duration: 1s,8s}@keyframes galIn{from{opacity: 0;transform: translateX(var(--x)) rotate(calc(var(--r) * 2))}to{opacity: 1;transform: rotate(var(--r))}}@keyframes galFloat{0%,100%{transform: translate(0,0) rotate(var(--r))}50%{transform: translate(6px,-10px) rotate(calc(var(--r) + 1deg))}}@media (prefers-reduced-motion: reduce){.phero--gallery .phero__strip img{animation: none !important;transform: rotate(var(--r))}}html[data-motion='off'] .phero--gallery .phero__strip img{animation: none !important;transform: rotate(var(--r))}.mk--na b{font-family: var(--serif);font-weight: 500;font-size: 1.15rem;letter-spacing: .06em;color: var(--ink-300)}@media (min-width: 760px){.figs{grid-template-columns: repeat(3,1fr)}}@media (max-width: 759px){.figs li:last-child{grid-column: 1 / -1}}.rs-arc{stroke-dasharray: 622 628;animation: rsArc 2.2s cubic-bezier(.2,.7,.2,1) both}.rs-arc{filter: drop-shadow(0 0 6px rgba(244,215,138,.9))}@keyframes rsArc{from{stroke-dashoffset: 628}to{stroke-dashoffset: 0}}@media (prefers-reduced-motion: reduce){.rs-arc{animation: none}}html[data-motion='off'] .rs-arc{animation: none}@media (min-width: 640px){.curr__cols:not(:has(.curr__label--sci)){grid-template-columns: 1fr}.curr__cols:not(:has(.curr__label--sci)) .curr__list{display: block;columns: 2;column-gap: 3rem}.curr__cols:not(:has(.curr__label--sci)) .curr__list li{break-inside: avoid;margin-bottom: .5rem}}/* Class 11-12: how the week runs. Three lit "class" days alternating with practice days;the lit days glow in turn. */ .wk{list-style: none;margin: 0 auto;padding: 0;max-width: 60rem;display: grid;grid-template-columns: repeat(6,1fr);gap: .6rem}.wk__d{display: grid;gap: .15rem;text-align: center;padding: 1.1rem .4rem;border: 1px dashed #d9c98f;border-radius: 16px;background: rgba(255,255,255,.5);color: var(--ink-500)}.wk__d b{font-family: var(--serif);font-weight: 500;font-size: 1.15rem}.wk__d span{font-size: .75rem;letter-spacing: .08em;text-transform: uppercase}.wk__d--on{position: relative;border: 1px solid #d9bd63;background: linear-gradient(180deg,#fff,#fbe9ad);color: #5c4306;box-shadow: 0 14px 24px -16px rgba(120,90,15,.6);animation: wkGlow 4.5s ease-in-out infinite}.wk__d--on:nth-child(3){animation-delay: 1.5s}.wk__d--on:nth-child(5){animation-delay: 3s}.wk__d--on::before{content: '✦';position: absolute;top: .35rem;right: .55rem;font-size: .8rem;color: #c9a227}@keyframes wkGlow{0%,100%{box-shadow: 0 14px 24px -16px rgba(120,90,15,.6);transform: none}12%{box-shadow: 0 0 0 5px rgba(244,215,138,.5),0 16px 28px -14px rgba(120,90,15,.7);transform: translateY(-3px)}30%{box-shadow: 0 14px 24px -16px rgba(120,90,15,.6);transform: none}}.wk__facts{list-style: none;margin: 1.5rem auto 0;padding: 0;display: flex;justify-content: center;flex-wrap: wrap;gap: .75rem}.wk__facts li{display: inline-flex;align-items: baseline;gap: .5rem;padding: .5rem 1.1rem;border: 1px solid var(--gold-line);border-radius: 999px;background: #fdf8ea}.wk__facts b{font-family: var(--serif);font-size: 1.3rem;font-weight: 500;color: #7a5a08}.wk__facts span{color: var(--ink-500);font-size: .9rem}@media (max-width: 640px){.wk{grid-template-columns: repeat(3,1fr)}}@media (prefers-reduced-motion: reduce){.wk__d--on{animation: none}}html[data-motion='off'] .wk__d--on{animation: none}.wk{grid-template-columns: 1fr minmax(4.5rem,.7fr) 1fr minmax(4.5rem,.7fr) 1fr;align-items: center;max-width: 48rem;gap: 0}.wk__d{padding: 1.4rem .6rem}.wk__gap{display: grid;justify-items: center;gap: .35rem}.wk__gap i{width: 100%;border-top: 2px dotted #d9bd63}.wk__gap em{font-style: normal;font-size: .72rem;letter-spacing: .06em;text-transform: uppercase;color: var(--ink-500);text-align: center}@media (max-width: 640px){.wk{grid-template-columns: 1fr;gap: .4rem}.wk__gap{grid-template-columns: 1fr}.wk__gap i{width: 0;height: 1.2rem;border-top: 0;border-left: 2px dotted #d9bd63}}.wk__d--1{--dc: #0067b3;--dl: #e4f0fb}.wk__d--2{--dc: #d9420b;--dl: #fde9df}.wk__d--3{--dc: #007020;--dl: #e0f3e6}.wk__d--on{border-color: color-mix(in srgb,var(--dc) 45%,transparent);background: linear-gradient(180deg,#fff,var(--dl));color: var(--dc);box-shadow: 0 14px 24px -16px color-mix(in srgb,var(--dc) 65%,transparent)}.wk__d--on::before{color: var(--dc)}.wk__d--on b{color: var(--dc)}.wk__ico{display: grid;place-items: center;width: 2.6rem;height: 2.6rem;margin: 0 auto .35rem;border-radius: 50%;color: #fff;background: radial-gradient(circle at 30% 25%,color-mix(in srgb,var(--dc) 55%,#fff),var(--dc));box-shadow: 0 0 0 5px color-mix(in srgb,var(--dc) 16%,transparent)}.wk__d span.wk__ico{text-transform: none;letter-spacing: 0}.wk__ico svg{width: 1.3rem;height: 1.3rem}.wk__d--on span:last-child{color: var(--dc);font-weight: 700}.wk__gap:nth-of-type(2) i,.wk__gap:nth-child(2) i{border-top-color: #d9420b}.wk__gap:nth-child(4) i{border-top-color: #007020}@keyframes wkGlow{0%,100%{transform: none}12%{box-shadow: 0 0 0 5px color-mix(in srgb,var(--dc) 25%,transparent),0 16px 28px -14px color-mix(in srgb,var(--dc) 70%,transparent);transform: translateY(-3px)}30%{transform: none}}.wk{max-width: 60rem;grid-template-columns: 1fr minmax(7rem,.8fr) 1fr minmax(7rem,.8fr) 1fr}.wk__d{padding: 1.8rem 1rem 1.6rem;border-radius: 22px;border-width: 1.5px;background: linear-gradient(165deg,#fff 0%,var(--dl) 100%);box-shadow: 0 1px 0 #fff inset,0 26px 40px -26px color-mix(in srgb,var(--dc) 75%,transparent)}.wk__d::after{content: '';position: absolute;left: 12%;right: 12%;top: 0;height: 4px;border-radius: 0 0 6px 6px;background: linear-gradient(90deg,transparent,var(--dc),transparent)}.wk__ico{width: 3.6rem;height: 3.6rem;margin-bottom: .7rem;box-shadow: 0 0 0 7px color-mix(in srgb,var(--dc) 14%,transparent),0 12px 20px -8px var(--dc)}.wk__ico svg{width: 1.7rem;height: 1.7rem}.wk__d b{font-size: 1.85rem;line-height: 1.1;letter-spacing: -.01em}.wk__d span.wk__num,.wk__d--on span:last-child{font-size: .95rem;font-weight: 800;letter-spacing: .16em}.wk__d--on::before{top: .7rem;right: .9rem;font-size: 1rem}.wk__gap{position: relative;padding-inline: .4rem;gap: .55rem}.wk__gap i{position: relative;border-top-width: 3px}.wk__gap i::after{content: '';position: absolute;top: -8px;left: 0;width: 13px;height: 13px;border-radius: 50%;background: radial-gradient(circle,#fff 0%,#ffe27a 45%,rgba(255,216,90,0) 75%);box-shadow: 0 0 12px 3px rgba(255,200,60,.7);animation: wkRun 3.4s linear infinite}.wk__gap:nth-child(4) i::after{animation-delay: 1.7s}@keyframes wkRun{0%{left: 0;opacity: 0}12%{opacity: 1}88%{opacity: 1}100%{left: calc(100% - 13px);opacity: 0}}.wk__gap em{font-size: .95rem;font-weight: 700;letter-spacing: .04em;text-transform: none;color: #5c4306;padding: .3rem .8rem;border-radius: 999px;background: #fbf1cf;border: 1px solid var(--gold-line);white-space: nowrap}.wk__facts li{padding: .65rem 1.4rem;border-radius: 999px;background: linear-gradient(180deg,#fff,#fbf1cf);box-shadow: 0 10px 18px -14px rgba(120,90,15,.6)}.wk__facts b{font-size: 1.5rem}.wk__facts span{font-size: 1rem;color: var(--ink-700)}@media (max-width: 900px){.wk{grid-template-columns: 1fr minmax(4rem,.5fr) 1fr minmax(4rem,.5fr) 1fr}.wk__gap em{white-space: normal;font-size: .8rem;text-align: center}.wk__d b{font-size: 1.4rem}}@media (max-width: 640px){.wk{grid-template-columns: 1fr}.wk__gap i::after{display: none}.wk__gap em{white-space: nowrap}}@media (prefers-reduced-motion: reduce){.wk__gap i::after{display: none}}html[data-motion='off'] .wk__gap i::after{display: none}.curr__block{padding: 2rem 2.25rem 1.9rem;border-radius: 22px}.curr__block h3{display: flex;align-items: center;gap: 1rem;margin: 0 0 1.4rem;font-size: clamp(1.9rem,1.6rem + 1vw,2.5rem);line-height: 1.1;letter-spacing: -.01em;background: linear-gradient(135deg,#3d2e06 0%,#a6811c 60%,#3d2e06 100%);-webkit-background-clip: text;background-clip: text;-webkit-text-fill-color: transparent}.curr__block h3::after{content: '';flex: 1;height: 2px;border-radius: 2px;background: linear-gradient(90deg,#d9bd63,rgba(217,189,99,0))}.curr__block .curr__label{font-size: 1.15rem;padding: .55rem 1.5rem .55rem .6rem;margin-bottom: 1.4rem;gap: .8rem}.curr__block .curr__label::before{width: 2.2rem;height: 2.2rem;background-size: 60%}.curr__cols>div .curr__list{gap: .7rem}.curr__cols>div .curr__list li{font-size: 1.08rem;line-height: 1.45;color: var(--ink-900);padding-left: 1.4rem}.curr__cols>div .curr__list li::before{top: .62em;width: 8px;height: 8px}@media (max-width: 640px){.curr__block{padding: 1.4rem 1.2rem}}.curr__block:nth-child(2) .curr__cols:not(:has(.curr__label--sci))>div{--lc: #d9420b;--lc2: #ff8a4c;--lt: #fdeee5;--ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15.5 3.5c-3 0-3 2-3 4.5v8c0 2.5 0 4.5-3 4.5'/%3E%3C/svg%3E")}.eyebrow{color: #765a0d}@media (max-width: 700px){.clist__head h2 a{display: inline-block;padding-block: .45rem}.prose a,.legal a,.tprose a,main p a{display: inline-block;padding-block: .3rem}.phero--sphere{padding-bottom: 14.5rem}.phero--class h1,.phero--sphere h1{text-wrap: balance}}@media (max-width: 360px){.sheet__rank{width: 2rem;padding-inline: .35rem}.sheet tbody th,.sheet tbody td,.sheet thead th{padding-inline: .35rem}.sheet__num{width: auto}.mk{min-width: 3.4rem}.mk--top b{padding-inline: .4rem}.sheet__name{font-size: 1.05rem}}/* ========================================================================== Blog,more professional and easier to read: larger type,a clear "short answer" box,tidy tables and buttons,a featured image,a teacher box under every post,a reading bar,and two-column cards on the Notes page. ========================================================================== */ article .prose{max-width: 42rem;font-size: 1.13rem;line-height: 1.85;color: #2c3c42}article .prose p{margin-bottom: 1.25em}article .prose h2{position: relative;margin-top: 2.6em;padding-bottom: .55em;font-size: clamp(1.5rem,1.3rem + 1vw,1.9rem);line-height: 1.25}article .prose h2::after{content: '';position: absolute;left: 0;bottom: 0;width: 56px;height: 3px;border-radius: 3px;background: linear-gradient(90deg,#c9a227,#f4d78a)}article .prose h2:first-child{margin-top: 0}article .prose ul,article .prose ol{margin-bottom: 1.5em}article .prose li{margin-bottom: .6em}article .prose blockquote{margin: 0 0 2em;padding: 1.15rem 1.35rem;border: 1px solid var(--gold-line);border-left: 5px solid #c9a227;border-radius: 14px;background: linear-gradient(135deg,#fffdf6,#fbf1cf);font-size: 1.06rem;line-height: 1.7;color: #3a2f0d}article .prose blockquote p{margin: 0}article .prose blockquote strong{color: #7a5a08}article .prose table{width: 100%;margin: 1.6em 0 2em;font-size: .98rem;line-height: 1.5;border-collapse: separate;border-spacing: 0;border: 1px solid var(--gold-line);border-radius: 14px;overflow: hidden;background: #fff}article .prose th,article .prose td{padding: .8rem 1rem;text-align: left;vertical-align: top;border-bottom: 1px solid #f1e7cb}article .prose thead th{background: linear-gradient(180deg,#fbf3dc,#f6eccd);color: #7a5a08;font-size: .8rem;letter-spacing: .08em;text-transform: uppercase}article .prose tbody tr:last-child td{border-bottom: 0}article .prose tbody tr:nth-child(even) td{background: #fffdf7}article .prose tbody td:first-child{font-weight: 600;color: var(--ink-900)}@media (max-width: 640px){article .prose{font-size: 1.06rem}article .prose table{display: block;overflow-x: auto}}article .prose .btn{text-decoration: none;margin: .25rem .25rem .25rem 0}article .prose .btn--primary{color: #fff}article .prose .btn--outline{color: var(--brand-700)}.post__hero{margin: 0 0 2.2rem;border-radius: 18px;overflow: hidden;border: 1px solid var(--gold-line);box-shadow: 0 22px 40px -28px rgba(120,90,15,.55)}.post__hero img{display: block;width: 100%;height: auto}.authorbox{display: flex;gap: 1.25rem;align-items: center;max-width: 42rem;margin: 0 auto 3rem;padding: 1.4rem 1.5rem;border: 1px solid var(--gold-line);border-radius: 18px;background: linear-gradient(135deg,#fff,#fbf3dc);box-shadow: 0 16px 30px -24px rgba(120,90,15,.5)}.authorbox img{flex: none;width: 88px;height: 88px;border-radius: 50%;object-fit: cover;object-position: center 25%;border: 3px solid #fff;box-shadow: 0 0 0 3px #d9bd63}.authorbox__name{margin: 0 0 .2rem;font-family: var(--serif);font-size: 1.25rem;color: var(--ink-900)}.authorbox__bio{margin: 0 0 .5rem;font-size: .98rem;line-height: 1.55;color: var(--ink-700)}.authorbox__links{margin: 0;font-size: .95rem;font-weight: 600}.authorbox__links a{color: var(--brand-700)}.authorbox__links span{margin-inline: .35rem;color: #c9a227}@media (max-width: 560px){.authorbox{flex-direction: column;text-align: center}}.readbar{position: fixed;left: 0;top: 0;z-index: 60;height: 4px;width: 100%;background: linear-gradient(90deg,#c9a227,#d9420b);transform-origin: left;transform: scaleX(0);pointer-events: none}@supports (animation-timeline: scroll()){.readbar{animation: readGrow linear both;animation-timeline: scroll(root)}@keyframes readGrow{to{transform: scaleX(1)}}}@media (min-width: 1000px){.rows{grid-template-columns: 1fr 1fr;gap: 1.4rem}}.row--img{display: flex;flex-direction: column}.row__img{display: block;margin: -2rem -2.2rem 1.1rem;aspect-ratio: 16 / 9;overflow: hidden}.row__img img{width: 100%;height: 100%;object-fit: cover;display: block}:root{--joinchat-ico:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M3.516%203.516c4.686-4.686%2012.284-4.686%2016.97%200s4.686%2012.283%200%2016.97a12%2012%200%200%201-13.754%202.299l-5.814.735a.392.392%200%200%201-.438-.44l.748-5.788A12%2012%200%200%201%203.517%203.517zm3.61%2017.043.3.158a9.85%209.85%200%200%200%2011.534-1.758c3.843-3.843%203.843-10.074%200-13.918s-10.075-3.843-13.918%200a9.85%209.85%200%200%200-1.747%2011.554l.16.303-.51%203.942a.196.196%200%200%200%20.219.22zm6.534-7.003-.933%201.164a9.84%209.84%200%200%201-3.497-3.495l1.166-.933a.79.79%200%200%200%20.23-.94L9.561%206.96a.79.79%200%200%200-.924-.445l-2.023.524a.797.797%200%200%200-.588.88%2011.754%2011.754%200%200%200%2010.005%2010.005.797.797%200%200%200%20.88-.587l.525-2.023a.79.79%200%200%200-.445-.923L14.6%2013.327a.79.79%200%200%200-.94.23z%22%2F%3E%3C%2Fsvg%3E");--joinchat-font:-apple-system,blinkmacsystemfont,"Segoe UI",roboto,oxygen-sans,ubuntu,cantarell,"Helvetica Neue",sans-serif}.joinchat{--sep:20px;--bottom:var(--sep);--s:60px;--h:calc(.5 * var(--s));--header:max(50px,1.16667 * var(--s));--vh:100vh;--ch:142;--cs:70%;--cl:49%;--bw:1;--text:hsl(0deg 0% clamp(0%,1000% * var(--bw),100%)/clamp(70%,1000% * var(--bw),100%));--hover:hsl(var(--ch) var(--cs) calc(20% + var(--cl)));--hsl:var(--ch) var(--cs) var(--cl);--color:hsl(var(--hsl));--dark:hsl(var(--ch) var(--cs) calc(-10% + var(--cl)));--bg:hsl(var(--hsl)/4%);--msg:var(--color);color:var(--text);display:none;position:fixed;z-index:9000;right:var(--sep);bottom:var(--bottom);font:16px/1.625em var(--joinchat-font);letter-spacing:0;animation:joinchat_show .5s cubic-bezier(.18,.89,.32,1.28) 10ms both;transform:scale3d(0,0,0);transform-origin:calc(-.5 * var(--s)) calc(-.25 * var(--s));-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:manipulation;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:rgb(0 0 0/0);contain:style}.joinchat *,.joinchat :after,.joinchat :before{box-sizing:border-box}.joinchat--show{display:block;transform:scaleX(1)}.joinchat--left{right:auto;left:var(--sep)}.joinchat--dark{--msg:var(--dark)}.joinchat--noanim{animation:none}.joinchat--chatbox:not(.joinchat--noanim){transform-origin:0 0;animation-timing-function:ease-in-out}.joinchat--hidden{display:none!important}@supports not (width:clamp(1px,1%,10px)){.joinchat{--text:hsl(0deg 0% calc(1% * var(--bw))/90%)}}.joinchat__button{position:absolute;z-index:2;bottom:8px;right:8px;height:var(--s);width:var(--s);background:#25d366 var(--joinchat-ico) 50%/60% no-repeat;color:inherit;border-radius:50%;box-shadow:1px 6px 24px 0 rgba(7,94,84,.24);cursor:pointer;transition:background-color .2s linear}.joinchat__button:hover{background-color:#128c7e}.joinchat:has(.joinchat__chatbox) .joinchat__button:hover{transition-duration:1.5s}.joinchat__button:active{background-color:#128c7e;transition:none}.joinchat--left .joinchat__button{right:auto;left:8px}.joinchat--chatbox .joinchat__button{display:none}.joinchat__button__ico{position:absolute;inset:0;display:flex;border-radius:50%;overflow:hidden;color:var(--text)!important}.joinchat__button__ico svg{width:var(--ico-size,100%);height:var(--ico-size,100%);margin:calc(.5 * (100% - var(--ico-size, 1)))}.joinchat__button:has(.joinchat__button__ico){background:var(--color);box-shadow:1px 6px 24px 0 hsl(var(--ch) var(--cs) calc(-10% + var(--cl))/24%)}.joinchat__button:has(.joinchat__button__ico):active,.joinchat__button:has(.joinchat__button__ico):hover{background:var(--hover)}.joinchat__button__image{position:absolute;inset:1px;border-radius:50%;overflow:hidden;opacity:0}.joinchat__button__image img,.joinchat__button__image video{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.joinchat--show .joinchat__button__image{animation:joinchat_image_loop 20s linear 5s infinite normal both}.joinchat--img .joinchat__button__image{opacity:1;animation:none}.joinchat__badge{position:absolute;z-index:2;bottom:calc(-8px + var(--s));right:4px;width:20px;height:20px;border:none;border-radius:50%;background:#e82c0c;color:#fff;font-size:12px;font-weight:600;line-height:20px;text-align:center;box-shadow:none;opacity:0;pointer-events:none}.joinchat--left .joinchat__badge{right:auto;left:calc(-8px + var(--s))}.joinchat__badge.joinchat__badge--in{animation:joinchat_badge_in .5s cubic-bezier(.27,.9,.41,1.28) 1 both}.joinchat__badge.joinchat__badge--out{animation:joinchat_badge_out .4s cubic-bezier(.215,.61,.355,1) 1 both}.joinchat__tooltip{position:absolute;top:calc(-16px + var(--h));right:calc(16px + var(--s));max-width:calc(100vw - 45px - var(--s));height:32px;padding:0 14px;border:none;border-radius:16px;background:#fff;color:rgba(0,0,0,.8);line-height:31px;white-space:nowrap;opacity:0;transition:opacity .3s ease-out .4s;filter:drop-shadow(0 1px 4px rgba(0,0,0,.4));pointer-events:none}.joinchat__tooltip:after{content:"";display:block;position:absolute;top:10px;right:-6px;border:8px solid transparent;border-width:6px 0 6px 8px;border-left-color:#fff}.joinchat__tooltip div{width:-moz-max-content;width:max-content;max-width:100%;overflow:hidden;text-overflow:ellipsis}.joinchat--tooltip .joinchat__tooltip{animation:joinchat_tootlip 20s linear 5s 1 normal both}.joinchat--chatbox .joinchat__tooltip{display:none}.joinchat--left .joinchat__tooltip{right:auto;left:calc(16px + var(--s))}.joinchat--left .joinchat__tooltip:after{left:-6px;right:auto;border-color:transparent;border-width:6px 8px 6px 0;border-right-color:#fff}.joinchat__qr{position:absolute;z-index:2;bottom:calc(24px + var(--s));right:8px;display:none;flex-direction:column-reverse;width:228px;min-height:200px;padding:14px 14px 10px;border:none;border-radius:16px;background:#fff;color:rgba(0,0,0,.8);text-align:center;white-space:nowrap;filter:drop-shadow(0 1px 4px rgba(0,0,0,.4));animation:joinchat_badge_in .4s cubic-bezier(.11,.84,.83,1.01) .5s both;pointer-events:none}.joinchat__qr:after{content:"";display:block;position:absolute;bottom:-6px;right:calc(-6px + var(--h));border:8px solid transparent;border-width:8px 6px 0;border-top-color:#fff}.joinchat--left .joinchat__qr{left:8px;right:auto}.joinchat--left .joinchat__qr:after{left:calc(-6px + var(--h));right:auto}.joinchat__qr div{font-size:14px;color:#4a4a4a;overflow:hidden;text-overflow:ellipsis}.joinchat__qr canvas{display:block;width:200px;height:200px;margin:0;image-rendering:pixelated}.joinchat__chatbox{content-visibility:hidden;contain-intrinsic-size:auto 400px auto 240px;display:flex;flex-direction:column;position:absolute;bottom:0;right:0;z-index:1;width:calc(100vw - 2 * var(--sep));max-width:400px;max-height:calc(var(--vh) - var(--bottom) - var(--sep));border-radius:calc(2px + var(--h));background:#fff linear-gradient(180deg,var(--color),var(--color) var(--header),var(--bg) var(--header),var(--bg));box-shadow:0 2px 6px 0 rgba(0,0,0,.5);text-align:left;overflow:hidden;transform:scale3d(0,0,0);opacity:0;transition:opacity 80ms,transform 0s linear 81ms}[dir=rtl] .joinchat__chatbox{text-align:right}.joinchat--chatbox .joinchat__chatbox{content-visibility:visible;opacity:1;transform:scaleX(1);transition:opacity .2s ease-out,transform 0s linear}.joinchat--left .joinchat__chatbox{right:auto;left:0}.joinchat--dark .joinchat__chatbox{background:#1a1a1a linear-gradient(180deg,var(--dark),var(--dark) var(--header),var(--bg) var(--header),var(--bg))}.joinchat__header{display:flex;flex-flow:row;align-items:center;position:relative;flex-shrink:0;height:var(--header);padding:0 70px 0 26px;margin:0}[dir=rtl] .joinchat__header{padding:0 26px 0 70px}.joinchat__header span{font-size:19px;font-weight:600;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.8}.joinchat__header a{font-size:11px;line-height:18px;color:inherit!important;text-decoration:none!important;fill:currentcolor;opacity:.8}.joinchat__header a svg{display:inline-block;width:auto;height:18px;vertical-align:-30%}.joinchat__header a:active,.joinchat__header a:hover{color:inherit!important;text-decoration:none!important;opacity:.9;filter:drop-shadow(0 1px 3px rgba(0,0,0,.3))}.joinchat__wa{display:block;fill:currentcolor;opacity:.8}.joinchat__close{--size:34px;position:absolute;top:calc(50% - .5 * var(--size));right:24px;width:var(--size);height:var(--size);border-radius:50%;background:rgba(0,0,0,.4) url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M24%202.4%2021.6%200%2012%209.6%202.4%200%200%202.4%209.6%2012%200%2021.6%202.4%2024l9.6-9.6%209.6%209.6%202.4-2.4-9.6-9.6z%22%2F%3E%3C%2Fsvg%3E") 50%/12px no-repeat;cursor:pointer;transition:background-color .3s ease-out}.joinchat__close:hover{background-color:rgba(0,0,0,.6)}.joinchat__close:active{background-color:rgba(0,0,0,.7)}[dir=rtl] .joinchat__close{right:auto;left:24px}.joinchat__scroll{display:flex;flex-direction:column-reverse;overflow:hidden scroll;scroll-behavior:smooth;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.joinchat__scroll::-webkit-scrollbar{width:4px;background:rgb(0 0 0/0)}.joinchat__scroll::-webkit-scrollbar-thumb{border-radius:2px;background:rgb(0 0 0/0)}.joinchat--blur .joinchat__scroll{background:hsl(var(--hsl)/2%);backdrop-filter:blur(10px)}.joinchat__scroll:hover::-webkit-scrollbar-thumb{background:rgba(0,0,0,.2)}.joinchat__content{display:flex;flex-direction:column;width:calc(100% + 4px);padding:20px 0 8px}.joinchat__content:after{content:"";display:block;position:absolute;bottom:0;left:0;right:4px;height:calc(20px + var(--s));background:#fff linear-gradient(180deg,var(--bg),var(--bg));-webkit-mask-image:linear-gradient(rgb(0 0 0/0),rgb(0 0 0/60%) 25%,rgb(0 0 0/92%) 70%,rgb(0 0 0/100%) 95%,rgb(0 0 0/100%));mask-image:linear-gradient(rgb(0 0 0/0),rgb(0 0 0/60%) 25%,rgb(0 0 0/92%) 70%,rgb(0 0 0/100%) 95%,rgb(0 0 0/100%));pointer-events:none}.joinchat--dark .joinchat__content:after{background-color:#1a1a1a}.joinchat__open{position:sticky;z-index:2;bottom:8px;align-self:flex-end;display:flex;flex-direction:row;min-width:var(--s);height:var(--s);margin:0 8px;background:var(--color);color:inherit;border-radius:var(--h);box-shadow:0 1px 2px 0 rgba(0,0,0,.3);overflow:hidden;cursor:pointer;transition:background-color .2s linear}[dir=rtl] .joinchat__open{align-self:flex-start}.joinchat__open:active,.joinchat__open:hover{background:var(--hover)}.joinchat--left .joinchat__open{align-self:flex-start}[dir=rtl] .joinchat--left .joinchat__open{align-self:flex-end}.joinchat--optout .joinchat__open{background-color:#999;pointer-events:none}.joinchat__open__icon{flex-shrink:0;width:var(--s);height:var(--s);max-width:var(--s);padding:calc(.18 * var(--s));margin:0;overflow:hidden}[dir=rtl] .joinchat__open__icon{transform:rotateY(180deg)}.joinchat__open__icon path{fill:none!important;stroke:var(--text)!important;stroke-linecap:round;stroke-width:33px;animation:none}.joinchat__open__icon .joinchat__pa{--stroke:1097}.joinchat__open__icon .joinchat__pb{--stroke:1020}.joinchat--chatbox .joinchat__open__icon path{stroke-dasharray:var(--stroke);stroke-dashoffset:var(--stroke);animation:joinchat_send_svg 6s .2s ease-in-out infinite}.joinchat--chatbox .joinchat__open__icon .joinchat__pb{animation-delay:3.2s}.joinchat--optout .joinchat__open__icon path{animation:none}.joinchat--optout .joinchat__open__icon .joinchat__pa{stroke-dasharray:0}.joinchat__open__text{--mw:0;max-width:var(--mw);width:-moz-fit-content;width:fit-content;padding:0;font-weight:600;line-height:var(--s);white-space:nowrap;opacity:0;overflow:hidden;text-overflow:ellipsis}.joinchat--chatbox .joinchat__open__text{--mw:min(384px - var(--s),100vw - 16px - var(--s) - 2 * var(--sep));padding:0 4px 0 24px;opacity:1}[dir=rtl] .joinchat__open__text{padding:0 24px 0 4px}.joinchat--chatbox.joinchat--opening .joinchat__open__text{animation:joinchat_open_text .45s ease-out both}@keyframes joinchat_open_text{0%{max-width:0;opacity:0}60%{max-width:var(--mw);opacity:0}to{max-width:var(--mw);opacity:1}}.joinchat__optin{padding:0 16px;margin-bottom:16px;color:#4a4a4a;font-size:13px;line-height:1.33}.joinchat__optin a{display:inline;padding:0;color:inherit!important;text-decoration:underline}.joinchat__optin a:hover{text-decoration-thickness:2px}.joinchat__optin input{position:absolute;visibility:hidden}.joinchat__optin label{position:relative;display:block;margin:0;padding:0 0 0 30px;color:inherit;font:inherit;cursor:pointer}.joinchat__optin label:before{content:"";display:block;position:absolute;top:min(50% - 11px,5px);left:0;width:22px;height:22px;border:3px solid var(--color);border-radius:4px;background:#fff;box-shadow:0 0 0 1px var(--text);transition:box-shadow .3s ease-in-out}.joinchat--dark .joinchat__optin label:before{background:#000}.joinchat__optin label:after{content:"";display:none;position:absolute;top:min(50% - 8px,8px);left:8px;width:6px;height:14px;border:solid var(--text);border-width:0 3px 3px 0;transform:rotate(45deg)}[dir=rtl] .joinchat__optin label{padding:0 30px 0 0}[dir=rtl] .joinchat__optin label:before{left:auto;right:0}[dir=rtl] .joinchat__optin label:after{left:auto;right:8px}.joinchat__optin input:checked+label:before{box-shadow:0 0 0 1px var(--text),inset 0 0 0 10px var(--color)}.joinchat__optin input:checked+label:after{display:block}.joinchat--dark .joinchat__optin{color:#d8d8d8}.joinchat__chat{--peak_l:path("M17 25V0C17 12.877 6.082 14.9 1.031 15.91c-1.559.31-1.179 2.272.004 2.272C9.609 18.182 17 18.088 17 25z");--peak_r:path("M0 25.68V0c0 13.23 10.92 15.3 15.97 16.34 1.56.32 1.18 2.34 0 2.34-8.58 0-15.97-.1-15.97 7Z");--peak:var(--peak_l);display:flex;flex-direction:column;align-items:flex-start;min-height:100px;padding-bottom:10px;transition:height .2s ease-out}[dir=rtl] .joinchat__chat{--peak:var(--peak_r)}.joinchat__bubble{flex-shrink:0;position:relative;min-width:60px;max-width:calc(100% - 52px);min-height:56px;padding:15px 20px;margin:0 26px 16px;border-radius:26px;background:#fff;color:#4a4a4a;word-break:break-word;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3));transform-origin:0 50%;animation:joinchat_show .22s cubic-bezier(0,0,.58,1.19) 10ms both}[dir=rtl] .joinchat__bubble{transform-origin:100% 50%}.joinchat__bubble:before{content:"";display:block;position:absolute;bottom:18px;left:-15px;width:17px;height:25px;background:inherit;clip-path:var(--peak)}[dir=rtl] .joinchat__bubble:before{left:auto;right:-15px}.joinchat--dark .joinchat__bubble{background:#505050;color:#d8d8d8}.joinchat__bubble.joinchat__bubble--loading{width:70px;border:none;background:transparent url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Ccircle%20cx%3D%224%22%20cy%3D%2212%22%20r%3D%223%22%3E%3Canimate%20id%3D%22c%22%20attributeName%3D%22cy%22%20begin%3D%220%3Ba.end%2B0.1s%22%20calcMode%3D%22spline%22%20dur%3D%220.4s%22%20keySplines%3D%22.33%2C.66%2C.66%2C1%3B.33%2C0%2C.66%2C.33%22%20values%3D%2212%3B6%3B12%22%2F%3E%3C%2Fcircle%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%223%22%3E%3Canimate%20attributeName%3D%22cy%22%20begin%3D%22c.begin%2B0.1s%22%20calcMode%3D%22spline%22%20dur%3D%220.4s%22%20keySplines%3D%22.33%2C.66%2C.66%2C1%3B.33%2C0%2C.66%2C.33%22%20values%3D%2212%3B6%3B12%22%2F%3E%3C%2Fcircle%3E%3Ccircle%20cx%3D%2220%22%20cy%3D%2212%22%20r%3D%223%22%3E%3Canimate%20id%3D%22a%22%20attributeName%3D%22cy%22%20begin%3D%22c.begin%2B0.2s%22%20calcMode%3D%22spline%22%20dur%3D%220.4s%22%20keySplines%3D%22.33%2C.66%2C.66%2C1%3B.33%2C0%2C.66%2C.33%22%20values%3D%2212%3B6%3B12%22%2F%3E%3C%2Fcircle%3E%3C%2Fsvg%3E") 20px 20px no-repeat!important;transform-origin:50%!important;animation:joinchat_show .1s ease-out 10ms both}.joinchat--dark .joinchat__bubble.joinchat__bubble--loading{filter:invert(.5)}.joinchat__bubble.joinchat__bubble--note{min-height:0;padding:0;background:none!important;font-size:13px;line-height:1.33;filter:none;animation:none}.joinchat__bubble.joinchat__bubble--media{padding:5px}.joinchat__bubble.joinchat__bubble--loading:before,.joinchat__bubble.joinchat__bubble--note:before{content:none}.joinchat__bubble a{color:var(--msg)!important;font-size:1em;text-decoration:underline}.joinchat__bubble a:active,.joinchat__bubble a:hover{color:var(--hover)!important;border-color:var(--hover)}.joinchat__bubble a.joinchat__btn{display:inline-block;min-height:46px;max-width:100%;padding:10px 20px;margin:5px 0;border:3px solid var(--msg);border-radius:23px;line-height:20px;text-align:center;text-decoration:none!important;overflow:hidden;text-overflow:ellipsis}.joinchat__bubble a.joinchat__btn+.joinchat__bubble a.joinchat__btn{margin-top:-5px}.joinchat__bubble img,.joinchat__bubble video{max-width:100%;height:auto;margin:.2em 0;border-radius:4px;box-shadow:0 1px 5px rgb(0 0 0/10%)}.joinchat__bubble .joinchat--inline{display:inline-block;margin:-10px 0;border-radius:0;box-shadow:none;vertical-align:middle}.joinchat__bubble--media .joinchat--inline,.joinchat__bubble--media img,.joinchat__bubble--media video{display:block;margin:0;border-radius:21px;box-shadow:none}.joinchat__bubble code{padding:2px 5px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}.joinchat__bubble hr{width:100%!important;height:0!important;padding:0!important;border:none!important;border-top:2px solid var(--msg)!important;margin:10px 0!important}.joinchat__bubble hr+br{display:none}.joinchat__header{anchor-name:--joinchat-header}.joinchat__powered{display:unset;position:absolute;position-anchor:--joinchat-header;position-area:bottom left;left:-75px;top:75px;width:130px;height:20px;padding:0;margin:0;background:#fff!important;color:#0009!important;border:none!important;border-radius:4px 4px 0 0!important;font:11px/20px var(--joinchat-font)!important;text-align:center!important;text-decoration:none!important;transition:opacity .2s ease-out;box-shadow:0 2px 6px 0 #0003!important;transform:rotate(-90deg);opacity:0}@supports not (position-anchor:--x){.joinchat__powered{display:none}}.joinchat--chatbox .joinchat__powered{opacity:1;transition:opacity .2s ease-out,color .5s ease-out}.joinchat__powered span{font-weight:600}.joinchat__powered:active,.joinchat__powered:hover{color:#000!important;text-decoration:none!important;transition:color .2s ease-out}.joinchat--left .joinchat__powered{position-area:bottom right;left:auto;right:-75px;transform:rotate(90deg)}.joinchat--dark .joinchat__powered{background:#ddd!important}@keyframes joinchat_show{0%{transform:scale3d(0,0,0)}to{transform:scaleX(1)}}@keyframes joinchat_badge_in{0%{opacity:0;transform:translate3d(0,50px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes joinchat_badge_out{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,-20px,0)}}@keyframes joinchat_send_svg{0%,50%,to{stroke-dashoffset:var(--stroke)}5%,45%{stroke-dashoffset:0}}@keyframes joinchat_image_loop{0%{opacity:0}3%,20%{opacity:1}25%,to{opacity:0}}@keyframes joinchat_tootlip{0%{opacity:0;transform:scaleY(0)}1%,20%{opacity:1;transform:scaleX(1)}25%,to{opacity:0;transform:scaleX(1)}}.joinchat__woo-btn__wrapper{clear:both}.joinchat__woo-btn{--s:40px;display:inline-block;box-sizing:border-box;height:var(--s);max-width:100%;padding:0 calc(.5 * var(--s)) 0 var(--s);background:#25d366 var(--joinchat-ico) calc(.2 * var(--s)) 50% no-repeat;background-size:calc(.6 * var(--s));color:#fff;border-radius:calc(.5 * var(--s));font:700 calc(.35 * var(--s))/var(--s) var(--joinchat-font);white-space:nowrap;text-overflow:ellipsis;overflow:hidden;cursor:pointer;transition:background-color .2s}.joinchat__woo-btn:empty{padding-right:0}.joinchat__woo-btn:hover{background-color:#128c7e}@media (orientation:landscape) and (height >= 481px),(orientation:portrait) and (width >= 481px){.joinchat--mobile{display:none!important}}@media (width <= 767px){.joinchat--footer-bar{--bottom:76px!important}}@media (orientation:landscape) and (height <= 480px),(width <= 480px){.joinchat{--sep:6px;--header:max(50px,.91667 * var(--s))}.joinchat__header__text{font-size:17px}.joinchat__close{--size:28px}.joinchat__bubble{max-width:calc(100% - 40px);padding:16px;margin:0 20px 10px;line-height:24px}.joinchat:has(.joinchat__powered) .joinchat__content{padding-top:40px}.joinchat--left .joinchat__powered,.joinchat--right .joinchat__powered{position-area:bottom center;z-index:2;top:0;left:0;right:0;transform:none;border-radius:0 0 4px 4px}}@media (hover:hover){.joinchat__button:hover .joinchat__tooltip{opacity:1;animation:none;transition:opacity .2s}.joinchat--btn .joinchat__button:hover~.joinchat__qr,.joinchat--chatbox:has(.joinchat__open:hover) .joinchat__qr{display:flex}}@media (prefers-color-scheme:dark){.joinchat--dark-auto{--msg:var(--dark)}.joinchat--dark-auto .joinchat__chatbox{background:#1a1a1a linear-gradient(180deg,var(--dark),var(--dark) var(--header),var(--bg) var(--header),var(--bg))}.joinchat--dark-auto .joinchat__content:after{background-color:#1a1a1a}.joinchat--dark-auto .joinchat__optin label:before{background:#000}.joinchat--dark-auto .joinchat__optin{color:#d8d8d8}.joinchat--dark-auto .joinchat__bubble{background:#505050;color:#d8d8d8}.joinchat--dark-auto .joinchat__bubble.joinchat__bubble--loading{filter:invert(.5)}.joinchat--dark-auto .joinchat__powered{background:#ddd!important}}@media (prefers-reduced-motion){.joinchat,.joinchat__open__icon path{animation:none}.joinchat__open__icon .joinchat__pa{stroke-dasharray:0}.joinchat--chatbox.joinchat--opening .joinchat__open__text{animation:none}.joinchat__bubble{animation:none!important}}