/* Generated by scripts/subset-fonts.py. Exact ranges avoid fetching Latin fonts for CJK glyphs. */
@font-face{font-family:'Barlow Semi Condensed';font-style:italic;font-weight:700;font-display:swap;src:url("/assets/barlow-semi-condensed-bold-italic-latin.woff2") format('woff2');unicode-range:U+0020-007E,U+00A0-0113,U+0116-012B,U+012D-0131,U+0133-0137,U+0139-013E,U+0140-0148,U+014A-014D,U+014F-017E,U+2010,U+2013-2014,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2030,U+2032-2033,U+2039-203A,U+2044,U+20A3,U+20AC,U+20BA,U+20BD,U+2122,U+2212}
@font-face{font-family:'Barlow Semi Condensed';font-style:italic;font-weight:700;font-display:swap;src:url("/assets/barlow-semi-condensed-bold-italic.woff2") format('woff2');unicode-range:U+0000,U+000D,U+018F,U+0192,U+01A0-01A1,U+01AF-01B0,U+01CD-01CE,U+01D4,U+01E5,U+01E7,U+01E9,U+01EF,U+01FF,U+0218-021B,U+021F,U+0228-0229,U+0237,U+0259,U+0292,U+02BB-02BC,U+02C6-02C7,U+02C9,U+02D8-02DD,U+0300-0304,U+0306-030C,U+0312-0313,U+031B,U+0323,U+0326-0328,U+0335-0338,U+0394,U+03A9,U+03BC,U+03C0,U+1E80-1E85,U+1EA0-1EF9,U+2074-2079,U+2113,U+2126,U+212E,U+215B-215E,U+2202,U+2206,U+220F,U+2211,U+2215,U+2219-221A,U+221E,U+222B,U+2248,U+2260,U+2264-2265,U+25CA,U+27E9,U+FB01-FB02}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url("/assets/ibm-plex-sans-regular-latin.woff2") format('woff2');unicode-range:U+0020-007E,U+00A0-017F,U+2000-200D,U+2010-2015,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2028-2029,U+202F-2030,U+2032-2033,U+2039-203A,U+2044,U+20A1,U+20A4,U+20A6,U+20A8-20AE,U+20B1-20B2,U+20B4-20B5,U+20B8-20BA,U+20BD,U+20BF,U+2122,U+2190-2199,U+21A9-21AA,U+21B0-21B3,U+21B6-21B7,U+21BA-21BB,U+21C4,U+21C6,U+2212,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url("/assets/ibm-plex-sans-regular.woff2") format('woff2');unicode-range:U+018F,U+0192,U+01A0-01A1,U+01AF-01B0,U+01CD-01DC,U+01FA-01FF,U+0218-021B,U+0237,U+0259,U+02BB-02BC,U+02C6-02C7,U+02D8-02DD,U+0300-0304,U+0306-030C,U+0312,U+0315,U+031B,U+0323,U+0326-0328,U+037E,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03CE,U+0400-045F,U+0462-0463,U+046A-046B,U+0472-0475,U+0490-04C2,U+04CF-04D9,U+04DC-04E9,U+04EE-04F9,U+0524-0525,U+0E3F,U+1E80-1E85,U+1E9E,U+1EA0-1EF9,U+2070,U+2074-2079,U+2080-2089,U+2113,U+2116,U+2126,U+212E,U+2150-2151,U+2153-215E,U+2202,U+2206,U+220F,U+2211,U+2215,U+2219-221A,U+221E,U+222B,U+2236,U+2248,U+2260,U+2264-2265,U+25CA,U+2713,U+274C,U+2B0E-2B11,U+ECE0,U+EFCC,U+FB01-FB02}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url("/assets/ibm-plex-sans-semibold-latin.woff2") format('woff2');unicode-range:U+0020-007E,U+00A0-017F,U+2000-200D,U+2010-2015,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2028-2029,U+202F-2030,U+2032-2033,U+2039-203A,U+2044,U+20A1,U+20A4,U+20A6,U+20A8-20AE,U+20B1-20B2,U+20B4-20B5,U+20B8-20BA,U+20BD,U+20BF,U+2122,U+2190-2199,U+21A9-21AA,U+21B0-21B3,U+21B6-21B7,U+21BA-21BB,U+21C4,U+21C6,U+2212,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url("/assets/ibm-plex-sans-semibold.woff2") format('woff2');unicode-range:U+018F,U+0192,U+01A0-01A1,U+01AF-01B0,U+01CD-01DC,U+01FA-01FF,U+0218-021B,U+0237,U+0259,U+02BB-02BC,U+02C6-02C7,U+02D8-02DD,U+0300-0304,U+0306-030C,U+0312,U+0315,U+031B,U+0323,U+0326-0328,U+037E,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03CE,U+0400-045F,U+0462-0463,U+046A-046B,U+0472-0475,U+0490-04C2,U+04CF-04D9,U+04DC-04E9,U+04EE-04F9,U+0524-0525,U+0E3F,U+1E80-1E85,U+1E9E,U+1EA0-1EF9,U+2070,U+2074-2079,U+2080-2089,U+2113,U+2116,U+2126,U+212E,U+2150-2151,U+2153-215E,U+2202,U+2206,U+220F,U+2211,U+2215,U+2219-221A,U+221E,U+222B,U+2236,U+2248,U+2260,U+2264-2265,U+25CA,U+2713,U+274C,U+2B0E-2B11,U+ECE0,U+EFCC,U+FB01-FB02}
@font-face{font-family:'Caveat';font-style:normal;font-weight:500;font-display:swap;src:url("/assets/caveat-medium-latin.woff2") format('woff2');unicode-range:U+0020-007E,U+00A0-017E,U+2010,U+2013-2014,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2030,U+2032-2033,U+2039-203A,U+2044,U+2052,U+20A1,U+20A3-20A4,U+20A6,U+20A9,U+20AC,U+20AE,U+20B4,U+20B8-20BA,U+20BD,U+2122,U+2212}
@font-face{font-family:'Caveat';font-style:normal;font-weight:500;font-display:swap;src:url("/assets/caveat-medium.woff2") format('woff2');unicode-range:U+0000,U+000D,U+018F,U+0192,U+01C4-01CC,U+01D4,U+01E5,U+01E7,U+01E9-01EB,U+01EF,U+01F1-01F5,U+01FA-021B,U+021F,U+0237,U+0259,U+0292,U+02BC,U+02C6-02C7,U+02C9,U+02D8-02DD,U+0300-0304,U+0306-0308,U+030A-030C,U+030F,U+0311,U+0323,U+0326-0328,U+0335,U+03BC,U+0400-045F,U+0462-0463,U+046A-046B,U+0472-0475,U+048A-04A5,U+04A8-04FF,U+0510-0513,U+051A-051D,U+0524-0529,U+052E-052F,U+1E0C-1E0D,U+1E24-1E25,U+1E44-1E45,U+1E5A-1E5B,U+1E62-1E63,U+1E6C-1E6D,U+1E80-1E85,U+1E92-1E93,U+1EB8-1EB9,U+1EBC-1EBD,U+1ECA-1ECD,U+1EE4-1EE5,U+1EF2-1EF3,U+1EF8-1EF9,U+2070,U+2074-2079,U+2080-2089,U+2116,U+2120,U+2153-2154,U+215B-215E,U+2215,U+2219,U+2248,U+2260,U+2264-2265,U+27E8-27E9,U+F6C3,U+FB00-FB04}

/* Generated by scripts/content-base-styles.mjs. Edit the shared source styles. */
:root {
  --sc-canvas:      #08090b;
  --sc-surface:     #101217;
  --sc-ink:         #f4f2ef;
  --sc-ink-soft:    #9a9ba1;
  --sc-accent:      #d8ff3e;
  --sc-accent-ink:  #08090b;

  --sc-hairline:    color-mix(in oklab, var(--sc-ink) 12%, transparent);
  --sc-hairline-strong: color-mix(in oklab, var(--sc-ink) 22%, transparent);
  --sc-font-display: "Instrument Sans", "Geist", system-ui, sans-serif;
  --sc-font-text:    "Geist", system-ui, sans-serif;
  --sc-font-mono:    "Geist Mono", ui-monospace, monospace;
  --sc-t-xs:   clamp(0.75rem, 0.72rem + 0.15vw, 0.82rem);
  --sc-t-sm:   clamp(0.875rem, 0.84rem + 0.18vw, 0.95rem);
  --sc-t-base: clamp(1rem, 0.96rem + 0.22vw, 1.125rem);
  --sc-t-lg:   clamp(1.2rem, 1.1rem + 0.5vw, 1.5rem);
  --sc-t-xl:   clamp(1.6rem, 1.35rem + 1.2vw, 2.25rem);
  --sc-t-2xl:  clamp(2.1rem, 1.6rem + 2.4vw, 3.4rem);
  --sc-t-3xl:  clamp(2.8rem, 1.9rem + 4.2vw, 5rem);
  --sc-t-4xl:  clamp(3.4rem, 1.9rem + 6.6vw, 7.5rem);

  --sc-track-tight:  -0.035em;
  --sc-track-snug:   -0.02em;
  --sc-track-normal: -0.005em;
  --sc-track-wide:    0.08em;

  --sc-leading-none: 0.94;
  --sc-leading-tight: 1.06;
  --sc-leading-body: 1.62;

  --sc-measure: 62ch;
  --sc-1: 0.25rem;  --sc-2: 0.5rem;   --sc-3: 0.75rem;  --sc-4: 1rem;
  --sc-5: 1.5rem;   --sc-6: 2rem;     --sc-7: 3rem;     --sc-8: 4rem;
  --sc-9: 6rem;     --sc-10: 8rem;    --sc-11: 12rem;
  --sc-section: clamp(4.5rem, 9vw, 11rem);
  --sc-gutter:  clamp(1.25rem, 5vw, 5.5rem);
  --sc-maxw:    82rem;
  --sc-r-sm: 6px;  --sc-r-md: 12px;  --sc-r-lg: 20px;  --sc-r-pill: 999px;
  --sc-shadow-color: 220 40% 2%;
  --sc-e1: 0 1px 2px hsl(var(--sc-shadow-color) / 0.28),
           0 2px 6px -1px hsl(var(--sc-shadow-color) / 0.20);
  --sc-e2: 0 2px 4px hsl(var(--sc-shadow-color) / 0.24),
           0 8px 18px -4px hsl(var(--sc-shadow-color) / 0.30);
  --sc-e3: 0 4px 8px hsl(var(--sc-shadow-color) / 0.22),
           0 18px 40px -8px hsl(var(--sc-shadow-color) / 0.38),
           0 48px 90px -24px hsl(var(--sc-shadow-color) / 0.30);
  --sc-edge: inset 0 1px 0 color-mix(in oklab, var(--sc-ink) 10%, transparent);
  --sc-ease-out:    cubic-bezier(0.23, 1, 0.32, 1);
  --sc-ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
  --sc-ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);
  --sc-d-fast: 160ms;  --sc-d-base: 240ms;  --sc-d-slow: 420ms;

  --sc-z-stage: 1; --sc-z-copy: 20; --sc-z-chrome: 60;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body {
  margin: 0;
  background: var(--sc-canvas);
  color: var(--sc-ink);
  font-family: var(--sc-font-text);
  font-size: var(--sc-t-base);
  line-height: var(--sc-leading-body);
  letter-spacing: var(--sc-track-normal);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-synthesis-weight: none;
  overflow-x: clip;
}
img, video, canvas, svg { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; color: inherit; }
::selection { background: var(--sc-accent); color: var(--sc-accent-ink); }
:root { caret-color: var(--sc-accent); accent-color: var(--sc-accent); }
:focus-visible {
  outline: 2px solid var(--sc-accent);
  outline-offset: 3px;
  border-radius: var(--sc-r-sm);
}
:where(a) { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 0.22em; }
@supports (scrollbar-color: auto) {
  html { scrollbar-color: color-mix(in oklab, var(--sc-ink) 26%, transparent) transparent; scrollbar-width: thin; }
}

:root{--sc-canvas:#f0f0ed;--sc-surface:#fff;--sc-ink:#20272b;--sc-ink-soft:#4e5c51;--sc-accent:#215834;--sc-accent-ink:#fff;--sc-font-display:'Barlow Semi Condensed',sans-serif;--sc-font-text:'IBM Plex Sans',sans-serif;--pine:#215834;--porcelain:#f0f0ed;--ink:#20272b;--gutter:clamp(24px,4.5vw,80px);--nav:88px}
*{box-sizing:border-box}html{scroll-padding-top:108px;scroll-behavior:smooth}body{margin:0;background:var(--porcelain);color:var(--ink);font:16px/1.55 var(--sc-font-text)}h1,h2,h3,p,figure,blockquote{margin:0}h1,h2{font-family:var(--sc-font-display);font-style:italic;font-weight:700;letter-spacing:-.025em;line-height:1.02;text-wrap:balance}h2{font-size:clamp(44px,5.5vw,80px)}h2 span{color:var(--pine)}h3{font-size:27px;line-height:1.15;font-weight:600}p{text-wrap:pretty}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:disabled{opacity:.3;cursor:default}a,button{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #759480;outline-offset:5px}[hidden]{display:none!important}.wrap{width:min(100%,var(--site-max,1440px));padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:110px}.eyebrow{font-size:13px;font-weight:600;margin-bottom:16px}.button{display:inline-flex;gap:28px;align-items:center;justify-content:space-between;min-height:54px;padding:15px 24px;border:1px solid transparent;border-radius:100px;background:var(--pine);color:white;font-size:14px;font-weight:600;line-height:1.25;transition:background .2s,transform .2s}.button:hover{background:#173f25;transform:translateY(-2px)}.button>span{font-size:22px;line-height:1}.button-light{background:var(--porcelain);color:var(--pine)}.button-light:hover{background:white}.button-small{min-height:44px;font-size:11px;padding:11px 18px;gap:15px}.button-outline{background:transparent;color:var(--pine);border-color:#21583460}.button-outline:hover{background:#e1e5db}.tour-note{font-size:12px;margin-top:15px;line-height:1.4}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #21583450;padding:12px 0 9px;font-size:14px;font-weight:600}.text-link:hover{color:var(--pine);border-color:var(--pine)}.text-link>span{font-size:21px}.skip-link{position:fixed;left:20px;top:-100px;z-index:300;padding:12px;background:white}.skip-link:focus{top:12px}
.header{height:var(--nav);display:flex;align-items:center;padding-inline:clamp(24px,3vw,48px);gap:24px;position:sticky;top:0;z-index:100;background:var(--porcelain);border-bottom:1px solid #21583412}.brand{display:block;width:96px;flex-shrink:0}.brand img{height:auto;object-fit:contain}.desktop-nav{display:flex;align-items:center;gap:clamp(12px,1.4vw,22px);margin-left:auto}.desktop-nav a,.member-link{font-size:11px;font-weight:600;white-space:nowrap}.desktop-nav a:hover,.member-link:hover{color:var(--pine);text-decoration:underline;text-underline-offset:5px}.header-actions{display:flex;align-items:center;gap:20px}.member-link{font-size:10px}.menu-button{border:0;background:transparent;color:var(--pine);font-size:12px;font-weight:600;align-items:center;gap:12px;min-height:44px}.menu-button span{font-size:24px}.mobile-nav{position:absolute;left:0;right:0;top:100%;padding:15px var(--gutter) 24px;background:var(--porcelain);border-bottom:1px solid #bcc7bb;box-shadow:0 16px 28px #12321b15}.mobile-nav a{display:block;padding:12px 0;border-bottom:1px solid #21583420}h1{font-size:clamp(76px,8.5vw,132px);line-height:.98;letter-spacing:-.03em}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:40px}address{font-size:15px;font-style:normal;margin-top:28px;line-height:1.7}
@media(min-width:1201px){.menu-button{display:none!important}}@media(max-width:1200px){.desktop-nav,.member-link{display:none}.header-actions{margin-left:auto}.js .menu-button{display:flex}}
@media(max-width:800px){:root{--gutter:28px}.section{padding-block:75px}h1{font-size:clamp(65px,10vw,85px)}}
@media(max-width:600px){:root{--nav:74px;--gutter:22px}html{scroll-padding-top:90px}.header{padding-inline:18px;gap:12px}.brand{width:76px}.header-actions{gap:12px}.header .button-small{font-size:10px;padding:10px 13px;min-height:40px;gap:9px}.header .button-small span{font-size:16px}.menu-button{font-size:0;gap:0;padding:0 4px}.menu-button span{font-size:26px}h1{font-size:clamp(45px,12vw,70px)}.section{padding-block:70px}h2{font-size:43px}.section-heading{margin-bottom:30px}}
html:not(.js) .desktop-nav{display:flex;flex-wrap:wrap;order:3;width:100%;margin:0;gap:14px}html:not(.js) .header{height:auto;min-height:88px;flex-wrap:wrap;padding-block:12px;position:relative}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Shared navigation: readable type and a flat, grouped mobile menu. */
.desktop-nav{gap:clamp(16px,1.5vw,24px)}
.desktop-nav>a,.desktop-nav .lessons-menu>summary{font:600 13px/1.35 var(--sc-font-text);letter-spacing:0}
.desktop-nav>a,.desktop-nav .lessons-menu>summary{min-height:44px;display:flex;align-items:center}
.header .member-link{font:400 12px/1.4 var(--sc-font-text)}
.header .button-small{font-family:var(--sc-font-text);font-size:13px}
.desktop-nav a[aria-current=page]{color:var(--pine);text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}
.lessons-menu{position:relative}
.lessons-menu>summary{display:flex;align-items:center;gap:7px;list-style:none;cursor:pointer;white-space:nowrap}
.lessons-menu>summary::-webkit-details-marker{display:none}
.nav-chevron{display:block;width:14px;height:14px;flex:none;transition:transform .2s}
.lessons-menu[open] .nav-chevron{transform:rotate(180deg)}
.lessons-menu>summary:hover,.lessons-menu:has(a[aria-current=page])>summary{color:var(--pine)}
.lessons-dropdown{position:absolute;top:calc(100% + 8px);left:-18px;width:310px;background:#fff;border:1px solid #d8dfd4;border-radius:15px;box-shadow:0 12px 34px #132f1b1f;padding:8px;z-index:210}
.lessons-dropdown a{display:flex;flex-direction:column;gap:5px;padding:14px;border-radius:8px;white-space:normal;line-height:1.4;font-family:var(--sc-font-text);text-transform:none;letter-spacing:normal}
.lessons-dropdown a:hover,.lessons-dropdown a[aria-current=page]{background:#f0f0ed;color:#215834;text-decoration:none}
.lessons-dropdown strong{font-size:15px;font-weight:600}
.lessons-dropdown a>span{font-size:13px;font-weight:400;color:#4e5c51}
.lessons-menu summary:focus-visible,.mobile-nav a:focus-visible{outline:2px solid #759480;outline-offset:4px;border-radius:4px}
.mobile-nav{max-height:calc(100dvh - var(--nav));overflow:auto;overscroll-behavior:contain;padding:22px var(--gutter) max(26px,env(safe-area-inset-bottom));border:0;box-shadow:0 18px 28px #12321b18;font-family:var(--sc-font-text)}
.mobile-nav a{border:0;min-height:44px;padding:9px 0;font-size:18px;font-weight:600;line-height:1.35;letter-spacing:-.015em}
.mobile-nav a[aria-current=page]{color:var(--pine)}
.mobile-nav a:hover{color:var(--pine)}
.mobile-lesson-group{margin:22px 0}
.mobile-lesson-group>p{margin:0 0 5px;font-size:13px;line-height:1.5;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#59685c}
.mobile-lesson-group>a{display:flex;flex-direction:column;gap:4px;padding-block:10px}
.mobile-lesson-group strong{font-size:inherit;font-weight:inherit}
.mobile-lesson-group a>span{font-size:13px;font-weight:400;letter-spacing:0;line-height:1.45;color:#4e5c51}
.mobile-nav-account{margin-top:22px}
.mobile-nav-account a{font-size:15px;font-weight:400;letter-spacing:0}
#performance-coaching-prices{scroll-margin-top:120px}
@media(min-width:1201px) and (max-width:1350px){.header{gap:18px}.desktop-nav{gap:16px}.header-actions{gap:14px}}
@media(max-width:600px){.header .button-small{font-size:12px}.mobile-nav{padding-top:18px}}
@media(prefers-reduced-motion:reduce){.nav-chevron{transition:none}}

/* Lessons overview and independent native disclosure keep both destinations accessible. */
.lessons-nav-group{display:flex;align-items:center;gap:0}
.desktop-nav .lessons-overview{font:600 13px/1.35 var(--sc-font-text);min-height:44px;display:flex;align-items:center}
.lessons-nav-group.is-current>.lessons-overview{color:var(--pine)}
.desktop-nav .lessons-menu>summary{width:32px;justify-content:center;gap:0}
.lessons-nav-group .lessons-dropdown{left:-88px}
.mobile-lesson-group .lesson-overview-link>span{display:none}

/* Editorial reading styles; shared marketing pages keep their display typography. */
.content-page{--reading-dark:#0b241b;--reading-sage:#f0f4ed;--reading-muted:#59625e;--reading-rule:#dfe3dc;background:var(--porcelain)}
.reading-main{max-width:1200px;padding-bottom:64px}
.reading-main :is(h1,h2,h3){font-family:var(--sc-font-text);font-style:normal;font-weight:600;text-transform:none;letter-spacing:-.025em;text-wrap:pretty}
.reading-main h1{font-size:48px;line-height:1.15}.reading-main h2{font-size:28px;line-height:1.3}.reading-main h3{font-size:21px;line-height:1.4}
.reading-main :is(section[id],h2[id],h3[id]){scroll-margin-top:24px}
.reading-sr-only,.guide-search>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.reading-kicker,.reading-meta,.reading-byline{font-size:12px;line-height:1.6;color:var(--reading-muted)}
.reading-kicker{font-weight:600;color:var(--pine);margin-bottom:12px}.reading-meta{margin-bottom:9px}.reading-meta span{white-space:nowrap}
.draft-notice{font-size:12px;line-height:1.6;color:#6b604d;border-left:2px solid #c9bc9e;padding:4px 12px;margin-bottom:22px}
.library-heading{padding:54px 0 32px}.library-heading>p{font-size:16px;line-height:1.65;margin-top:16px;color:var(--reading-muted);max-width:650px}
.reading-inline{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--pine);margin-top:14px}
.reading-inline:hover,.comparison-principles a:hover{text-decoration:underline;text-underline-offset:4px}
.library-tools{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:12px 0 30px;min-width:0}
.topic-filters{display:flex;gap:25px;overflow-x:auto;max-width:100%;scrollbar-width:thin;overscroll-behavior-x:contain;padding:4px 0}
.topic-filters button{flex:none;border:0;border-bottom:2px solid transparent;background:none;padding:12px 0;min-height:44px;font-size:13px;white-space:nowrap;color:var(--reading-muted)}
.topic-filters button[aria-pressed=true]{border-bottom-color:var(--pine);color:var(--pine);font-weight:600}.topic-filters button:focus-visible{outline-offset:-2px}
.guide-search{width:205px;flex:none}.guide-search input{width:100%;min-height:44px;padding:10px 14px;border:1px solid var(--reading-rule);border-radius:8px;background:#fff;font:inherit;font-size:13px;color:var(--ink)}
.library-status{font-size:12px;color:var(--reading-muted);margin:-14px 0 20px}.library-empty{font-size:16px;padding:30px 0;color:var(--reading-muted)}
.reading-grid,.comparison-library{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 26px}
.reading-card,.comparison-choice{min-width:0}.reading-card-link,.comparison-choice>a{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid #dce1d9;border-radius:14px;overflow:hidden;box-shadow:0 3px 12px #172d2105;transition:box-shadow .2s,border-color .2s}
.reading-cover{aspect-ratio:1.6;border-radius:0;overflow:hidden;background:var(--reading-sage)}.reading-cover img{object-position:center;transition:transform .3s}
.reading-card-copy,.comparison-choice-copy{padding:20px 22px 24px;flex:1}.reading-card h3,.comparison-choice h3{font-size:22px;line-height:1.35;letter-spacing:-.02em}
.reading-card-copy>p:not(.reading-meta),.comparison-choice-copy>p:not(.reading-meta){font-size:14px;line-height:1.6;color:var(--reading-muted);margin-top:10px}
.reading-art{position:relative;isolation:isolate;background:var(--reading-dark);color:#d0deca;display:flex;align-items:center;padding:25px}.reading-art>span{font:italic 900 95px/1 var(--sc-font-display);opacity:.08;position:absolute;right:12px;bottom:2px}.reading-art i{border:1px solid #bbceb93b;width:120px;height:120px;border-radius:50%;box-shadow:0 0 0 28px #bbceb90c,0 0 0 56px #bbceb909;position:absolute;right:-20px;top:14px}.reading-art>b{font:italic 600 31px/1.15 var(--sc-font-display);z-index:1}
.comparison-art{background:#e5ece0;border-radius:0;display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;text-align:center;aspect-ratio:2.1;padding:22px;color:var(--pine)}
.comparison-art>span{font-size:18px;font-weight:600;line-height:1.35}.comparison-art>i{font-size:12px;font-style:normal;color:var(--reading-muted)}.comparison-choice:nth-child(even) .comparison-art{background:#eee9df}
.comparison-principles{max-width:740px;font-size:13px;color:var(--reading-muted);line-height:1.7;margin-top:38px}.comparison-principles a{color:var(--pine)}
.reading-breadcrumb{display:flex;flex-wrap:wrap;gap:9px;font-size:12px;line-height:1.6;color:var(--reading-muted);padding:28px 0 20px}.reading-breadcrumb a:hover{text-decoration:underline}
.article-heading{max-width:820px;padding:8px 0 32px}.article-deck{font-size:16px;line-height:1.65;color:var(--reading-muted);max-width:720px;margin-top:18px}.reading-byline{display:flex;flex-wrap:wrap;gap:5px 10px;align-items:center;margin-top:18px}.article-heading .reading-kicker{margin-bottom:10px}
.article-cover{border-radius:12px;overflow:hidden;aspect-ratio:2.8;max-height:370px}.article-cover img{object-position:center 47%}
.comparison-article .article-heading{max-width:none;container-type:inline-size;padding-block:48px 56px;text-align:center}
.reading-main.comparison-article h1{font-size:clamp(17px,6.7cqw,48px);white-space:nowrap;text-wrap:nowrap;font-weight:500;letter-spacing:-.035em}
.comparison-vs{color:#626e64}
.comparison-dates{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;text-align:center;gap:12px 28px;margin-top:24px;font-size:12px;line-height:1.6;color:#4e5c51}
.comparison-dates>span{white-space:nowrap}.comparison-dates .date-label{color:#697269;margin-right:6px}
.comparison-summary{margin-top:12px;--chart-highlight:#e6ebe2;--chart-muted:#5f6a61;--chart-rule:#d9dfd5}
.comparison-table table{background:transparent;table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;font-size:14px;line-height:1.65;text-align:left}
.comparison-table th,.comparison-table td{vertical-align:middle;overflow-wrap:break-word;padding:22px 26px;border:0;border-bottom:1px solid #d9dfd570}
.comparison-table th:first-child{width:26%}.comparison-table thead{position:sticky;top:var(--nav);z-index:4}.comparison-table thead th{background:var(--porcelain);font-size:18px;font-weight:500;padding-block:28px;color:var(--chart-muted);text-align:center}
.comparison-table tbody th{font-size:13px;font-weight:400;color:var(--chart-muted)}.comparison-table tbody td{text-align:center;vertical-align:top}.comparison-table tr>:nth-child(2){background:var(--chart-highlight);color:#203c2a}.comparison-table tr>:nth-child(3){color:#626e64}
.comparison-table thead th:nth-child(2){border-radius:14px 14px 0 0}.comparison-table tbody tr:last-child td:nth-child(2){border-radius:0 0 14px 14px}.comparison-table tbody tr:last-child>*{border-bottom:0}
.comparison-wordmark{width:min(100%,230px);height:auto;object-fit:contain;margin-inline:auto}
.publisher-note{font-size:12px;color:var(--reading-muted);line-height:1.6;margin-top:18px}
.article-grid{display:grid;grid-template-columns:210px minmax(0,700px);gap:64px;justify-content:space-between;margin-top:46px}.article-aside{position:sticky;top:calc(var(--nav) + 25px);align-self:start}.article-body{min-width:0}
.article-contents summary{font-size:13px;font-weight:600;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer}.article-contents summary::-webkit-details-marker{display:none}.article-contents summary span{transition:transform .2s}.article-contents[open] summary span{transform:rotate(180deg)}
.article-contents nav{display:grid;gap:3px;margin-top:10px}.article-contents nav a{font-size:13px;line-height:1.55;padding:9px 12px;border-left:2px solid transparent;color:var(--reading-muted)}.article-contents nav a[aria-current=location]{border-left-color:var(--pine);background:var(--reading-sage);color:var(--pine)}.article-contents nav a:hover{color:var(--pine)}.reading-back{display:inline-block;margin-top:24px;font-size:12px;color:var(--pine)}
.article-takeaway{border-left:2px solid #9fb195;padding:2px 0 2px 20px;margin-bottom:30px}.article-takeaway .reading-kicker{margin-bottom:7px}.article-takeaway>p:last-child{font-size:16px;line-height:1.7}
.article-prose{font-size:16px;line-height:1.75;color:#37413b;overflow-wrap:break-word}.article-prose h2,.article-sources h2{margin:36px 0 16px;color:var(--ink)}.article-prose h3{margin:25px 0 12px}.article-prose p{margin:16px 0}.article-prose ul,.article-prose ol{padding-left:22px;margin:18px 0}.article-prose li{padding-left:4px;margin:8px 0}.article-prose a,.article-sources a{color:var(--pine);text-decoration:underline;text-underline-offset:3px}.article-prose strong{font-weight:600}.article-prose blockquote{border-left:2px solid #9fb195;padding:2px 22px;margin:24px 0;background:var(--reading-sage)}.article-prose img{height:auto;border-radius:10px}
.article-sources{font-size:14px;line-height:1.7;color:var(--reading-muted)}.article-sources ul{list-style:none;padding:0}.article-sources li{padding:10px 0}.article-sources small{display:block;font-size:12px}
.reading-cta{margin-top:50px;padding:28px 30px;border-radius:12px;background:#fff;border:1px solid #dce1d9;display:flex;align-items:center;justify-content:space-between;gap:24px}.reading-main .reading-cta h2{font-size:24px;line-height:1.3}.reading-cta p{font-size:14px;line-height:1.65;margin-top:8px;max-width:470px;color:var(--reading-muted)}.reading-cta .button{font-size:13px;min-height:44px;flex:none;padding:12px 18px;background:var(--pine);color:white}.article-body .reading-cta{display:block}.article-body .reading-cta .button{margin-top:20px}
.reading-progress{position:fixed;top:var(--nav);left:0;right:0;height:2px;background:#719267;z-index:90;transform:scaleX(0);transform-origin:left;pointer-events:none}
.related-reading{margin-top:58px;border-top:1px solid var(--reading-rule);padding-top:30px}.reading-section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.reading-section-head>a{font-size:13px;color:var(--pine)}.related-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.related-list>a{position:relative;padding-right:25px}.reading-main .related-list h3{font-size:18px;line-height:1.4;margin-top:8px}.related-list>a>span:last-child{position:absolute;right:0;top:28px;color:var(--pine)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.reading-card-link:hover,.comparison-choice>a:hover{border-color:#b8c7b4;box-shadow:0 6px 18px #172d210b}.reading-card-link:hover img{transform:scale(1.025)}.reading-card-link:hover h3,.comparison-choice>a:hover h3,.related-list>a:hover h3{color:var(--pine)}}
@media(max-width:1100px){.library-tools{flex-wrap:wrap;gap:16px}.article-grid{grid-template-columns:185px minmax(0,1fr);gap:38px}.reading-grid,.comparison-library{grid-template-columns:repeat(2,minmax(0,1fr))}.comparison-table th,.comparison-table td{padding:18px 20px}}
@media(max-width:800px){.reading-main h1{font-size:36px}.library-heading{padding-top:36px}.article-grid{grid-template-columns:1fr;gap:25px;margin-top:30px}.article-aside{position:static}.article-contents{border-block:1px solid var(--reading-rule);padding:4px 0}.article-contents nav{padding-bottom:12px;margin-top:0}.reading-back{display:none}.article-cover{aspect-ratio:2}.reading-cta{display:block}.reading-cta .button{margin-top:20px}.related-list{grid-template-columns:1fr 1fr}.comparison-table th:first-child{width:22%}}
@media(max-width:600px){.reading-main{padding-inline:20px;padding-bottom:40px}.reading-main h1{font-size:32px}.reading-main h2{font-size:24px}.reading-main h3{font-size:20px}.library-heading{padding:30px 0 24px}.library-tools{display:block;margin-bottom:24px}.topic-filters{gap:22px;margin-bottom:16px}.guide-search{display:block;width:100%}.reading-grid,.comparison-library{grid-template-columns:1fr;gap:32px}.reading-cover{aspect-ratio:1.8}.reading-card-copy,.comparison-choice-copy{padding:18px 18px 22px}.reading-main .reading-card h3,.reading-main .comparison-choice h3{font-size:22px}.comparison-art{aspect-ratio:2.7}.comparison-art>span{font-size:19px}.reading-breadcrumb{padding-top:22px;font-size:12px}.reading-breadcrumb>span:last-child,.reading-breadcrumb>span:nth-last-child(2){display:none}.article-heading{padding:6px 0 26px}.article-deck{margin-top:16px}.article-cover{aspect-ratio:1.7}.reading-byline{font-size:12px}.draft-notice{font-size:11px;margin-bottom:18px}
.comparison-article .article-heading{padding-block:32px 38px}.comparison-dates{gap:9px 16px;margin-top:18px;font-size:11px}.comparison-dates .date-label{margin-right:4px}
.comparison-summary{margin-top:6px}.comparison-table table,.comparison-table thead,.comparison-table tbody{display:block}.comparison-table tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.comparison-table thead th.criterion-heading{display:none}.comparison-table th,.comparison-table td{width:auto!important;padding:16px 14px;font-size:14px;border:0}.comparison-table thead th{font-size:15px;line-height:1.45;padding:22px 14px;display:flex;align-items:center;justify-content:center}
.comparison-table tbody tr{grid-template-rows:auto 1fr}.comparison-table tbody th{grid-column:1;grid-row:1;background:var(--chart-highlight);padding:18px 14px 0;font-size:12px;font-weight:400;line-height:1.5;color:var(--chart-muted);text-align:left}
.comparison-table tbody td:nth-child(2){grid-column:1;grid-row:2;padding-top:10px}.comparison-table tbody td:nth-child(3){grid-column:2;grid-row:2;display:block;padding-top:10px}
.comparison-table tbody td{border-bottom:1px solid #d9dfd570}.comparison-table thead th:nth-child(2){border-radius:12px 12px 0 0}.comparison-table tbody tr:last-child td{border-bottom:0}.comparison-wordmark{width:100%;max-width:160px}
.publisher-note{font-size:11px}.article-takeaway{padding-left:16px}.article-prose{line-height:1.7}.article-prose h2,.article-sources h2{margin-top:30px}.reading-cta{padding:24px;margin-top:36px}.reading-main .reading-cta h2{font-size:22px}.related-reading{margin-top:40px}.reading-section-head{align-items:flex-start;flex-direction:column;gap:10px}.related-list{grid-template-columns:1fr;gap:24px}}
@media(prefers-reduced-motion:reduce){.content-page *,.content-page *:before{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reading-progress{display:none}}
.content-page .footer .social-icon{width:17px;height:17px;flex-shrink:0}.content-page .footer .social-link{display:inline-flex;align-items:center;gap:6px}.content-page .footer>div{flex-wrap:wrap}.content-page .footer a[lang]{white-space:nowrap}

/* Topic and time are distinct, compact metadata rather than a sentence. */
.card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin-bottom:14px;font-size:11px;line-height:1.5;color:var(--reading-muted)}
.card-topic{display:inline-block;background:#edf2e9;color:#31533a;padding:5px 9px;border-radius:5px;font-weight:500}
.card-read-time{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;margin-left:auto}
.card-read-time svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.25;flex:none}
.comparison-choice .card-read-time{margin-left:0}.comparison-choice .card-meta{margin-bottom:12px}


/* Per-article FAQs use native details, with answers in server-rendered HTML. */
.comparison-faq{margin-top:42px}.reading-main .comparison-faq h2{margin-bottom:20px}
.comparison-faq-list{display:grid;gap:0;border-top:1px solid #21583435}.comparison-faq details{background:transparent;border:0;border-bottom:1px solid #21583435;border-radius:0;padding:0}
.comparison-faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 0;font-size:15px;line-height:1.5;font-weight:500;cursor:pointer;list-style:none}
.comparison-faq summary::-webkit-details-marker{display:none}.comparison-faq summary>span{color:var(--pine);font-size:21px;line-height:1;flex:none}.comparison-faq details[open] summary>span{transform:rotate(45deg)}
.comparison-faq details>p{padding-bottom:20px;font-size:15px;line-height:1.7;color:var(--reading-muted)}
@media(max-width:600px){.comparison-faq{margin-top:32px}.comparison-faq details{padding-inline:0}.comparison-faq summary{font-size:14px;gap:14px}.comparison-faq details>p{font-size:14px}}

/* A compact studio invitation, using the service pages' display typography. */
.reading-cta-comparison{position:relative;isolation:isolate;overflow:hidden;background:#10291d;border:0;color:white}
.reading-cta-comparison>.reading-cta-photo{position:absolute;z-index:-2;inset:-8px;width:calc(100% + 16px);height:calc(100% + 16px);max-width:none;object-fit:cover;object-position:center 56%}
.reading-cta-comparison::before{content:"";position:absolute;z-index:-1;inset:0;background:rgba(8,29,19,.9);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);mask-image:linear-gradient(90deg,#000 0%,#000 35%,transparent 90%);-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 35%,transparent 90%)}
.reading-main :is(.reading-cta-comparison,.reading-cta-practice) h2{font-family:var(--sc-font-display);font-style:italic;font-weight:600;letter-spacing:-.015em;text-transform:uppercase;color:white}
.reading-cta-comparison p{color:#edf1e9}
.reading-cta-comparison .button{background:var(--porcelain);color:var(--pine)}
@media(max-width:800px){.reading-cta-comparison::before{background:rgba(8,29,19,.93);mask-image:linear-gradient(90deg,#000 0%,#000 40%,rgba(0,0,0,.75) 65%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 40%,rgba(0,0,0,.75) 65%,transparent 100%)}}

/* Discovery has a wider, brand-led introduction; articles retain reading widths. */
.reading-main.comparison-discovery{max-width:1400px}
.comparison-discovery .library-heading{padding-block:64px 48px}
.comparison-discovery .library-heading h1{font-family:var(--sc-font-display);font-style:italic;font-weight:600;text-transform:uppercase;font-size:clamp(44px,4.6vw,68px);line-height:1.05;letter-spacing:-.02em}
.comparison-discovery .library-heading h1>span{color:var(--pine)}
.comparison-discovery .comparison-library{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.comparison-discovery .comparison-choice>a{background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}
.comparison-discovery .comparison-choice-copy{background:transparent;padding:18px 2px 0}
.comparison-discovery .comparison-art{display:flex;justify-content:center;aspect-ratio:auto;height:clamp(130px,14vw,180px);background:#fff;color:var(--ink);padding:24px;border:1px solid #dce1d9;border-radius:14px;transition:border-color .2s}
.comparison-discovery .comparison-art>span{font-size:24px;font-weight:500;letter-spacing:-.025em;overflow-wrap:anywhere}
.comparison-discovery .comparison-choice>a:hover{box-shadow:none}
.comparison-discovery .comparison-choice>a:hover .comparison-art{border-color:#b8c7b4}
.comparison-discovery .comparison-choice>a:hover h3{color:var(--ink)}
.comparison-discovery .comparison-choice h3{font-size:16px;line-height:1.4;font-weight:600}
.comparison-discovery .comparison-choice .card-meta{margin:10px 0 0;font-size:12px}
.comparison-discovery .discovery-faq{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:60px;margin-top:96px}
.comparison-discovery .discovery-faq h2{font-family:var(--sc-font-display);font-style:italic;font-weight:600;text-transform:uppercase;font-size:32px;line-height:1.1;margin:0}
@media(max-width:800px){.comparison-discovery .library-heading{padding-block:38px 32px}.comparison-discovery .discovery-faq{grid-template-columns:1fr;gap:24px;margin-top:64px}}
@media(max-width:600px){.comparison-discovery .comparison-library{grid-template-columns:1fr;gap:24px}.comparison-discovery .comparison-choice-copy{padding:16px 2px 0}.comparison-discovery .discovery-faq h2{font-size:28px}}
.comparison-faq details>p a{color:var(--pine);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.comparison-faq details>p a:hover{text-decoration-thickness:2px}
.comparison-scope{font-size:13px;line-height:1.6;color:var(--reading-muted);max-width:620px;margin:18px auto 0}

/* Guide discovery follows the open comparison-card treatment. */
.reading-main.guide-discovery{max-width:1400px}
.guide-discovery .library-heading{padding-block:64px 48px}
.guide-discovery .library-heading h1{font-family:var(--sc-font-display);font-style:italic;font-weight:600;text-transform:uppercase;font-size:clamp(44px,4.6vw,68px);line-height:1.05;letter-spacing:-.02em}
.guide-discovery .library-heading h1>span{color:var(--pine)}
.guide-discovery .reading-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 28px}
.guide-discovery .reading-card-link{background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}
.guide-discovery .reading-cover{border:1px solid #dce1d9;border-radius:14px;aspect-ratio:1.8}
.guide-discovery .reading-card-copy{background:transparent;padding:18px 2px 0}
.guide-discovery .reading-card h3{font-size:16px;line-height:1.4;font-weight:600}
.guide-discovery .card-meta{justify-content:flex-start;gap:10px;margin:10px 0 0;font-size:12px}
.guide-discovery .card-topic{color:#254b34;background:#e5ebe0;font-weight:500;padding:4px 8px}
.guide-discovery .card-read-time{margin-left:0;color:#69726c}
.guide-discovery .reading-card-link:hover{box-shadow:none}
.guide-discovery .reading-card-link:hover .reading-cover{border-color:#b8c7b4}
@media(max-width:800px){.guide-discovery .library-heading{padding-block:38px 32px}}
@media(max-width:600px){.guide-discovery .reading-grid{grid-template-columns:1fr;gap:30px}.guide-discovery .reading-card-copy{padding:16px 2px 0}}

.guide-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 28px;font-size:12px;color:var(--reading-muted)}
.guide-sort,.guide-view{display:flex;align-items:center;gap:10px}
.guide-sort select{font:500 12px var(--sc-font-text);color:var(--ink);background:transparent;border:0;min-height:44px;max-width:150px;padding:8px 4px;cursor:pointer}
.guide-view{gap:4px}.guide-view>span{margin-right:7px}
.guide-view button{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:8px;background:transparent;color:#748076;cursor:pointer}
.guide-view button[aria-pressed=true]{background:#e1e8dc;color:var(--pine)}
.guide-view button:hover{background:#e8ede4;color:var(--pine)}
.guide-view svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.4;stroke-linecap:round}
.guide-discovery .reading-grid[data-view=list]{grid-template-columns:1fr;gap:24px}
.guide-discovery .reading-grid[data-view=list] .reading-card-link{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;align-items:center}
.guide-discovery .reading-grid[data-view=list] .reading-card-copy{padding:0}
@media(max-width:600px){.guide-toolbar{gap:8px;margin-bottom:24px}.guide-sort{gap:5px}.guide-discovery .reading-grid[data-view=list] .reading-card-link{grid-template-columns:100px minmax(0,1fr);gap:14px}.guide-discovery .reading-grid[data-view=list] .reading-cover{aspect-ratio:1}.guide-discovery .reading-grid[data-view=list] .reading-art{padding:10px}.guide-discovery .reading-grid[data-view=list] .reading-art>b{font-size:18px}.guide-discovery .reading-grid[data-view=list] .card-meta{gap:6px;font-size:11px}.guide-discovery .reading-grid[data-view=list] .card-topic{padding:3px 5px}}

.guide-card-summary{display:none}
.guide-discovery .reading-grid[data-view=list] .guide-card-summary{display:block;max-width:660px;font-size:14px;line-height:1.6;color:var(--reading-muted);margin-top:10px}
@media(max-width:600px){.guide-discovery .reading-grid[data-view=list] .reading-card-link{align-items:start}.guide-discovery .reading-grid[data-view=list] .guide-card-summary{font-size:13px;line-height:1.55}}

.guide-toolbar{flex-wrap:wrap;gap:16px 28px}
.guide-toolbar .topic-filters{min-width:0;margin:0;gap:24px}
.guide-display-controls{display:flex;align-items:center;gap:24px;margin-left:auto;flex-shrink:0}
@media(max-width:800px){.guide-toolbar .topic-filters{width:100%}.guide-display-controls{width:100%;justify-content:space-between;margin-left:0}}

/* Guides reuse comparison CTA dimensions; the recreated banner fits the space. */
.reading-cta-practice>.reading-cta-photo{inset:auto;top:0;right:14%;width:auto;height:100%;object-fit:contain;object-position:center;mask-image:linear-gradient(90deg,transparent,#000 18%,#000 90%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 18%,#000 90%,transparent)}
@media(max-width:800px){.reading-cta-practice>.reading-cta-photo{right:-10%}}
@media(max-width:600px){.reading-cta-practice>.reading-cta-photo{inset:0;width:100%;height:100%;object-fit:cover;object-position:70% center;mask-image:none;-webkit-mask-image:none}}
/* Keep both image CTAs equally compact when one description uses fewer lines. */
@media(min-width:601px){.reading-cta-comparison p{min-height:3.3em}}

/* Semantic headings retain the approved compact visual scale. */
.reading-main .comparison-faq summary h3{font:inherit;letter-spacing:normal;margin:0;text-wrap:pretty}
.library-disclosure,.comparison-status{font-size:12px;line-height:1.6;color:var(--reading-muted)}
.library-disclosure{margin:-8px 0 24px;max-width:760px}.comparison-status{margin-top:8px}
/* Reserve the enhanced toolbar before deferred JS binds controls; no-JS stays hidden. */
.js .has-guides .guide-toolbar[hidden]{display:flex!important;visibility:hidden}

@media(max-width:600px){.guide-discovery .reading-breadcrumb>span,.comparison-discovery .reading-breadcrumb>span{display:inline}}

/* Keep educational tables readable without widening the page on a phone. */
.guide-article .article-data-table{max-width:100%;overflow-x:auto;margin-block:24px;border:1px solid var(--reading-rule);border-radius:8px}
.guide-article .article-data-table table{min-width:480px;width:100%;border-collapse:collapse;font-size:14px;line-height:1.75}
.guide-article .article-data-table :is(th,td){padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--reading-rule)}
.guide-article .article-data-table th{background:#e6ebe2;font-weight:600}
.guide-article .article-data-table tr:last-child td{border-bottom:0}
.guide-article .article-data-table:focus-visible{outline:2px solid var(--pine);outline-offset:3px}
.guide-article .launch-angle-table :is(th,td):not(:first-child){text-align:center;font-variant-numeric:tabular-nums}
.guide-article .launch-angle-table thead th{vertical-align:middle;line-height:1.4}
.guide-article .launch-angle-table thead small{display:block;margin-top:3px;font-size:.85em;font-weight:400;color:var(--reading-muted)}
.guide-article .launch-angle-table tbody th{background:transparent;font-weight:500}
.guide-article .launch-angle-table tbody tr:nth-child(even){background:rgba(29,72,50,.035)}
.guide-article .launch-angle-table tbody td{font-weight:500}
.guide-article .launch-angle-table .launch-angle-group-start :is(th,td){border-top:2px solid var(--reading-rule)}
.guide-article .launch-angle-table tbody tr:last-child th{border-bottom:0}

.guide-article .article-data-table:not(.article-data-table-wide) table{min-width:0;table-layout:fixed}
.guide-article .article-data-table:not(.article-data-table-wide) :is(th,td):first-child{width:36%}
@media(max-width:600px){.guide-article .article-data-table:not(.article-data-table-wide) :is(th,td){padding:10px;font-size:13px}.guide-article .article-data-table-wide::before{content:'Swipe to read the table →';display:block;position:sticky;left:0;padding:8px 12px;font-size:11px;color:var(--reading-muted)}:lang(zh-HK) .guide-article .article-data-table-wide::before{content:'左右滑動查看完整表格 →'}}

/* Preserve composed editorial artwork, including its wordmarks. */
.article-cover.article-cover-full{aspect-ratio:auto;max-height:none}
.article-cover.article-cover-full img{height:auto;object-fit:contain}
.reading-cover.reading-cover-full{background:#111b25}
.reading-cover.reading-cover-full img{object-fit:contain}

/* Existing Latin fonts with local Chinese fallback; no CJK font download. */
:lang(zh-HK) :is(.guide-discovery,.comparison-discovery){font-family:'IBM Plex Sans','PingFang HK','PingFang TC','Microsoft JhengHei',system-ui,sans-serif}
:lang(zh-HK) :is(.guide-discovery,.comparison-discovery) :is(.library-heading h1,.reading-cta h2){font-family:inherit;font-style:normal;letter-spacing:0;line-height:1.35}
:lang(zh-HK) :is(.guide-discovery,.comparison-discovery) .library-heading h1{font-size:clamp(34px,4vw,56px)}
:lang(zh-HK) :is(.guide-discovery,.comparison-discovery) .library-heading p{line-height:1.8}
:lang(zh-HK) :is(.guide-discovery,.comparison-discovery) .reading-cta h2{font-size:clamp(26px,3vw,38px)}
:lang(zh-HK) :is(.guide-discovery,.comparison-discovery) .reading-cta p{line-height:1.8}
:lang(zh-HK) :is(.guide-discovery,.comparison-discovery) [lang=en]{font-family:'IBM Plex Sans',sans-serif}
:lang(zh-HK) :is(.guide-discovery,.comparison-discovery) .guide-language{display:block;color:var(--reading-muted,#66726b);font-size:11px;margin-top:6px}
@media(max-width:600px){:lang(zh-HK) :is(.guide-discovery,.comparison-discovery) .guide-display-controls{flex-wrap:wrap;gap:12px 18px}:lang(zh-HK) :is(.guide-discovery,.comparison-discovery) .reading-cta h2{font-size:27px}}
:lang(zh-HK) :is(.guide-discovery,.comparison-discovery) .library-heading h1 span{display:inline-block}
:lang(zh-HK) :is(.guide-discovery,.comparison-discovery) .reading-cta h2{text-wrap:balance}

:lang(zh-HK) .comparison-discovery .discovery-faq h2{font-family:inherit;font-style:normal;letter-spacing:0;font-size:clamp(28px,3vw,40px);line-height:1.4}
:lang(zh-HK) .comparison-discovery .comparison-faq :is(h3,p){line-height:1.8}
:lang(zh-HK) .comparison-discovery .library-disclosure{line-height:1.8}
/* Chinese article typography retains the existing Latin brand/body fonts. */
:lang(zh-HK) :is(.comparison-article,.guide-article){font-family:'IBM Plex Sans','PingFang HK','PingFang TC','Microsoft JhengHei',system-ui,sans-serif}
:lang(zh-HK) :is(.comparison-article,.guide-article) :is(h2,h3){font-family:inherit;letter-spacing:0;line-height:1.55;font-style:normal}
:lang(zh-HK) :is(.comparison-article,.guide-article) :is(p,li,td){line-height:1.85}
:lang(zh-HK) :is(.comparison-article,.guide-article) [lang=en]{font-family:'IBM Plex Sans',sans-serif}
:lang(zh-HK) :is(.comparison-article,.guide-article) .article-prose h2{font-size:clamp(22px,2.3vw,29px)}
:lang(zh-HK) :is(.comparison-article,.guide-article) .article-contents a{line-height:1.7}
:lang(zh-HK) .comparison-article .article-data-table{max-width:100%;overflow-x:auto;margin-block:24px;border:1px solid var(--reading-rule);border-radius:8px}
:lang(zh-HK) .comparison-article .article-data-table table{min-width:520px;width:100%;border-collapse:collapse;font-size:14px;line-height:1.8}
:lang(zh-HK) .comparison-article .article-data-table :is(th,td){padding:12px 14px;text-align:left;border-bottom:1px solid var(--reading-rule)}
:lang(zh-HK) .comparison-article .article-data-table th{background:#e6ebe2;font-weight:600}
:lang(zh-HK) :is(.comparison-article,.guide-article) .reading-cta h2{font-family:inherit;font-style:normal;font-size:clamp(24px,2.6vw,32px);letter-spacing:0}
:lang(zh-HK) .comparison-article .comparison-faq h3{font-size:15px}
@media(max-width:600px){:lang(zh-HK) .comparison-article .comparison-table :is(th,td){font-size:13px;overflow-wrap:anywhere}:lang(zh-HK) .comparison-article .comparison-dates{gap:8px 14px}:lang(zh-HK) .comparison-article .comparison-table tbody th{font-size:12px}}

:lang(zh-HK) .guide-article .article-heading h1{font-family:inherit;font-style:normal;letter-spacing:0;line-height:1.4;font-size:clamp(28px,3.5vw,44px);text-wrap:balance}
:lang(zh-HK) .guide-article .reading-kicker{letter-spacing:.04em}

/* Shared footer: the same deep green as the homepage practice section. */
.site-footer{background:#0b241b;color:#f0f0ed;font-family:var(--sc-font-text);font-size:14px;line-height:1.6}
.site-footer-inner{padding-block:56px 25px}
.site-footer-grid{display:grid;grid-template-columns:1.05fr 1fr .9fr 1.4fr;gap:42px}
.site-footer h2{font-family:var(--sc-font-text);font-size:12px;font-weight:600;font-style:normal;line-height:1.4;letter-spacing:.07em;text-transform:uppercase;margin:7px 0 19px;color:#fff}
.site-footer a{color:#d5e0d6;text-decoration:none;transition:color .15s}
.site-footer a:hover{color:#fff;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.site-footer a:focus-visible{outline:2px solid #d7e8ce;outline-offset:5px;border-radius:2px}
.site-footer-logo{display:block;width:130px;margin-bottom:19px}
.site-footer-logo img{display:block;width:100%;height:auto;filter:brightness(0) invert(1)}
.site-footer-brand>p{font-size:13px;line-height:1.65;color:#c2d0c5;margin:0}
.site-footer-socials{display:flex;gap:16px;flex-wrap:wrap;margin-top:19px}
.site-footer-socials a{display:inline-flex;align-items:center;gap:7px;min-height:36px;font-size:12px}
.site-footer-socials svg{height:17px;width:17px;flex-shrink:0}
.site-footer-nav ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.site-footer-nav li{margin:0;padding:0}
.site-footer-nav a{display:inline-flex;align-items:center;gap:5px;min-height:30px;line-height:1.5}
.site-footer-visit address{font-size:13px;font-style:normal;line-height:1.7;color:#d5e0d6}
.site-footer-directions{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:9px;font-size:12px}
.site-footer-directions a{min-height:32px;display:inline-flex;align-items:center;gap:10px}
.site-footer-whatsapp{display:inline-flex;align-items:center;gap:10px;min-height:44px;margin-top:13px;font-size:12px}
.site-footer-whatsapp svg{width:23px;height:23px;flex-shrink:0}
.site-footer-whatsapp strong{display:block;font-size:14px;line-height:1.6;font-weight:500;color:#fff}
.site-footer-access{font-size:12px;line-height:1.7;color:#bdcdc0;margin:14px 0 0;max-width:300px}
.site-footer-access span{display:inline-block;margin-top:5px}
.site-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #ffffff24;margin-top:38px;padding-top:18px;font-size:12px;color:#b9c9bd}
.site-footer-bottom p{margin:0}.site-footer-bottom a{min-height:32px;display:inline-flex;align-items:center;gap:8px}
.site-footer-bottom{flex-wrap:wrap}.site-footer-legal{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px}
.site-footer-trademark{display:block;margin-top:8px;font-size:10px;line-height:1.6;color:#aebfb3}
@media(max-width:1100px){.site-footer-grid{gap:28px;grid-template-columns:1fr 1fr 1fr 1.35fr}.site-footer-socials{display:grid;gap:2px}}
@media(max-width:900px){.site-footer-grid{grid-template-columns:1fr 1fr;gap:35px 45px}.site-footer-brand{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;column-gap:28px;align-items:center}.site-footer-logo{grid-row:1/3;margin-bottom:0}.site-footer-socials{display:flex;margin-top:7px;gap:16px}.site-footer-visit{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;column-gap:45px;align-items:start}.site-footer-visit h2{grid-column:1/-1}.site-footer-visit address{grid-column:1;grid-row:2/4}.site-footer-directions{grid-column:1;grid-row:4;margin-top:8px}.site-footer-whatsapp{grid-column:2;grid-row:2;margin-top:0}.site-footer-access{grid-column:2;grid-row:3/5;margin-top:10px}}
@media(max-width:600px){.site-footer-inner{padding:36px 24px 22px}.site-footer-grid{gap:28px 20px}.site-footer-brand{display:block}.site-footer-logo{width:112px;margin-bottom:14px}.site-footer-socials{margin-top:10px}.site-footer h2{margin:0 0 12px;font-size:11px}.site-footer-nav a{font-size:13px;min-height:36px}.site-footer-nav ul{gap:3px}.site-footer-visit{display:block}.site-footer-whatsapp{margin-top:12px}.site-footer-access{margin-top:12px;max-width:340px}.site-footer-bottom{margin-top:28px;padding-top:14px;font-size:11px}.site-footer-trademark{font-size:9px;max-width:310px}}
@media(prefers-reduced-motion:reduce){.site-footer a{transition:none}}

/* One outer container for marketing pages and site chrome. Editorial reading
   widths remain in content.css; backgrounds and visual stages can span the viewport. */
:root{--site-max:1440px;--site-gutter:clamp(24px,4.5vw,64px);--site-edge:max(var(--site-gutter),calc((100vw - var(--site-max))/2 + var(--site-gutter)))}
body:not(.content-page){--gutter:var(--site-gutter)}
.wrap{width:min(100%,var(--site-max))}
body:not(.content-page) .wrap{padding-inline:var(--site-gutter)}
.site-footer-inner.wrap{max-width:var(--site-max);padding-inline:var(--site-gutter)}
.header{padding-inline:var(--site-edge)}
.mobile-nav{padding-inline:var(--site-gutter)}
/* The home hero has a full-width photo and a separate content layer. */
.hero-copy{width:min(100%,var(--site-max));margin-inline:auto;padding-inline:var(--site-gutter)}
.purpose-intro h2,.beat-copy,.play-copy{left:var(--site-edge)}
.purpose-intro h2,.purpose-nav{right:var(--site-edge)}
.purpose-nav{left:var(--site-edge)}
.example-note{left:var(--site-edge)}
/* Shot labels share the heading’s desktop coordinate system. */
@media(min-width:1001px){
 .ball-world{width:min(82vw,1180.8px);right:calc(max(0px,(100% - var(--site-max))/2) - min(8vw,115.2px))}
 .shot-readouts{inset-inline:max(0px,calc((100% - var(--site-max))/2))}
 .shot-reading:nth-child(1){left:45%;top:8%}
}
/* Solid-colour lesson sections keep their backgrounds edge to edge. */
body:not(.content-page) .site-full-bleed.wrap{width:100%;max-width:none;padding-inline:var(--site-edge)}
/* Keep the membership illustration unrestricted while aligning its text and offer. */
@media(min-width:801px){
 .membership-opening{grid-template-columns:calc(50% + min(4vw,57.6px)) minmax(0,1fr)}
 .membership-page .sport-content.wrap{padding-left:var(--site-edge)}
 .membership-reading{padding-right:var(--site-edge)}
}
.membership-page .membership-details.wrap{width:100%;max-width:none;padding:0;margin:0}
@media(max-width:1000px){:root{--site-gutter:32px}}
@media(max-width:800px){.membership-reading{padding-inline:var(--site-gutter)}}
@media(max-width:600px){:root{--site-gutter:24px}}

/* Shared visual treatment for descriptive text within the marketing-page H1s. */
.hero #hero-heading .hero-location,
.facility-hero #facility-heading .facility-heading-label,
.sport-content h1 .membership-heading-label,
.foundations-page .foundation-masthead h1 .foundation-heading-label,
.pc-hero h1>.pc-heading-label,
.lessons-hero h1 .lessons-heading-label,
.find-intro h1 .find-hero-kicker{display:block;font:600 12px/1.5 var(--sc-font-text);letter-spacing:.025em;text-transform:none;white-space:normal;text-wrap:pretty;margin-bottom:20px}
@media(max-width:600px){
.hero #hero-heading .hero-location,
.facility-hero #facility-heading .facility-heading-label,
.sport-content h1 .membership-heading-label,
.foundations-page .foundation-masthead h1 .foundation-heading-label,
.pc-hero h1>.pc-heading-label,
.lessons-hero h1 .lessons-heading-label,
.find-intro h1 .find-hero-kicker{font-size:11px;line-height:1.5;letter-spacing:.025em;margin-bottom:18px}
}

/* Shared language switch: local homepages, no automatic redirection. */
.language-switch{font-size:12px;font-weight:500;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:44px;color:var(--pine)}
.language-switch:hover{text-decoration:underline;text-underline-offset:4px}

/* Hong Kong copy uses system CJK fonts; no additional font download. */
:root:lang(zh-HK){--sc-font-text:'PingFang HK','PingFang TC','Microsoft JhengHei',system-ui,sans-serif;--sc-font-display:var(--sc-font-text)}
:lang(zh-HK) h1,:lang(zh-HK) h2,:lang(zh-HK) h3,:lang(zh-HK) .hero-title,:lang(zh-HK) .membership-title{font-style:normal;letter-spacing:.015em;line-height:1.25}
:lang(zh-HK) .hero #hero-heading .hero-title{font-size:clamp(48px,5.5vw,80px);line-height:1.3;font-weight:700;letter-spacing:.01em}
:lang(zh-HK) .hero-description{max-width:520px;line-height:1.85}
:lang(zh-HK) .purpose-intro h2{font-size:clamp(58px,6.2vw,90px);line-height:1.25}
:lang(zh-HK) .beat-copy h3,:lang(zh-HK) .play-copy h3{font-size:clamp(40px,4.6vw,68px);line-height:1.25}
:lang(zh-HK) .beat-copy>p:last-child{max-width:350px;font-size:17px;line-height:1.75}
:lang(zh-HK) .tour h2,:lang(zh-HK) .services h2,:lang(zh-HK) .membership-heading .membership-title,:lang(zh-HK) .visit h2,:lang(zh-HK) .regular h2,:lang(zh-HK) .closing h2{font-size:clamp(38px,4.3vw,64px);line-height:1.3}
:lang(zh-HK) .service-copy h3{font-style:normal;font-size:28px;line-height:1.25}
:lang(zh-HK) .service-copy p{line-height:1.75}
:lang(zh-HK) .pricing-option h3{font-style:normal;font-size:28px}
:lang(zh-HK) .rate-number{font-family:system-ui,sans-serif;font-style:normal;letter-spacing:-.045em}
:lang(zh-HK) .rate-number span{letter-spacing:0}
:lang(zh-HK) .founder-note blockquote{font-family:var(--sc-font-text);font-size:23px;line-height:1.65}
:lang(zh-HK) .routine-copy h3,:lang(zh-HK) .training-copy h3{font-size:26px;line-height:1.5}
:lang(zh-HK) .faq h2{font-size:clamp(32px,3.5vw,50px);line-height:1.4}
:lang(zh-HK) .faq summary{line-height:1.7}
:lang(zh-HK) .faq p,:lang(zh-HK) .site-footer-access{line-height:1.9}
:lang(zh-HK) .desktop-nav{gap:18px}
:lang(zh-HK) .desktop-nav>a,:lang(zh-HK) .lessons-overview{font-size:13px}
:lang(zh-HK) .map-destination{font-size:16px}
@media(max-width:1000px){:lang(zh-HK) .hero #hero-heading .hero-title{font-size:clamp(40px,6vw,64px)}}
@media(max-width:600px){
 :lang(zh-HK) .header{gap:12px;padding-inline:18px}
 :lang(zh-HK) .header-actions{gap:10px}
 :lang(zh-HK) .header .button-small{padding-inline:12px;font-size:11px;gap:8px}
 :lang(zh-HK) .hero #hero-heading .hero-title{font-size:clamp(30px,8vw,46px);line-height:1.45;letter-spacing:.01em}
 :lang(zh-HK) .hero-description{font-size:14px;line-height:1.85;max-width:340px;margin-block:20px 24px}
 :lang(zh-HK) .hero .tour-note{font-size:11px}
 :lang(zh-HK) .purpose-intro h2{font-size:clamp(42px,11vw,64px)}
 :lang(zh-HK) .beat-copy h3,:lang(zh-HK) .play-copy h3{font-size:clamp(30px,8.3vw,44px);line-height:1.35}
 :lang(zh-HK) .beat-copy>p:last-child{font-size:14px;line-height:1.75;max-width:290px;margin-top:14px}
 :lang(zh-HK) .purpose-nav{gap:13px}
 :lang(zh-HK) .purpose-nav button{font-size:11px}
 :lang(zh-HK) .play-copy>p:last-child{font-size:15px}
 :lang(zh-HK) .tour h2,:lang(zh-HK) .services h2,:lang(zh-HK) .membership-heading .membership-title,:lang(zh-HK) .visit h2,:lang(zh-HK) .regular h2,:lang(zh-HK) .closing h2{font-size:clamp(29px,8vw,42px);line-height:1.45}
 :lang(zh-HK) .tour-copy>p:not(.tour-note){line-height:1.85;max-width:260px}
 :lang(zh-HK) .service-copy h3{font-size:25px;line-height:1.3}
 :lang(zh-HK) .service-copy p{font-size:14px;line-height:1.8}
 :lang(zh-HK) .service-copy .text-link{font-size:12px}
 :lang(zh-HK) .pricing-option h3{font-size:24px}
 :lang(zh-HK) .membership-rates .rate-number{font-size:clamp(36px,10vw,56px)}
 :lang(zh-HK) .founder-note blockquote{font-size:18px}
 :lang(zh-HK) .routine-copy h3,:lang(zh-HK) .training-copy h3{font-size:20px;line-height:1.55}
 :lang(zh-HK) .faq h2{font-size:30px}
 :lang(zh-HK) .mobile-nav a{font-size:15px}
}
@media(max-width:360px){:lang(zh-HK) .header .brand{width:70px}:lang(zh-HK) .header-actions{gap:6px}:lang(zh-HK) .purpose-nav{gap:8px}}
/* Preserve authored Chinese phrase breaks in the equipment story. */
:lang(zh-HK) .beat-copy h3 br{display:initial}
:lang(zh-HK) .routine-copy h3{text-wrap:balance;line-break:strict}

/* English programme names retain the English brand face; CJK text stays on system fonts. */
:lang(zh-HK) .service-copy h3.programme-name{font-family:'Barlow Semi Condensed',sans-serif;font-style:italic;font-weight:700;font-size:clamp(28px,2.3vw,35px);line-height:1.02;letter-spacing:-.015em}
@media(min-width:1001px) and (max-width:1200px){:lang(zh-HK) .service-copy h3.programme-name{font-size:28px}}
@media(min-width:601px) and (max-width:1000px){:lang(zh-HK) .service-copy h3.programme-name{font-size:30px}}
@media(max-width:600px){:lang(zh-HK) .service-copy h3.programme-name{font-size:28px;line-height:1.04}}
@media(max-width:380px){:lang(zh-HK) .service-copy h3.programme-name{font-size:26px}}
