:root { --paper:#fffdf7; --ink:#143a32; --leaf:#1e4e43; --forest-dark:#062f2a; --muted:#5f706b; --line:#d8ded8; --lime:#d9f56d; --lime-deep:#b7d54b; --clay:#e8755d; --clay-text:#a83f2e; --clay-on-dark:#ff7f64; --blue:#3564c8; --pale-blue:#d7eef0; --sand:#f1ede3; --white:#ffffff; --serif: Georgia, "Times New Roman", serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial, Helvetica, sans-serif; }
a { color:inherit; text-decoration:none; }
button, input, select { font:inherit; }
button { cursor:pointer; }
svg { display:block; }
.site { overflow:hidden; min-height:100vh; }
.shell { width:min(1180px, calc(100% - 48px)); margin:0 auto; }
.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; }

.site-header { background:var(--paper); position:relative; z-index:5; }
.header-inner { align-items:center; display:flex; height:82px; justify-content:space-between; gap:24px; }
.brand { align-items:center; display:inline-flex; color:var(--ink); font-size:13px; font-weight:900; letter-spacing:.04em; line-height:.9; text-transform:uppercase; }
.brand-mark { align-items:center; background:var(--ink); border-radius:50%; display:inline-flex; height:37px; justify-content:center; margin-right:10px; overflow:hidden; position:relative; transform:rotate(-10deg); width:37px; }
.brand-mark i { border:2px solid var(--lime); border-radius:50%; height:8px; position:absolute; width:8px; }
.brand-mark i:nth-child(1) { left:8px; top:8px; }.brand-mark i:nth-child(2) { right:8px; top:10px; }.brand-mark i:nth-child(3) { bottom:8px; left:13px; }
.main-nav { align-items:center; display:flex; gap:28px; margin-left:auto; margin-right:20px; }
.main-nav a { color:var(--muted); font-size:13px; font-weight:750; }.main-nav a:hover { color:var(--ink); }
.button { align-items:center; border:1px solid transparent; border-radius:999px; display:inline-flex; font-size:13px; font-weight:800; gap:10px; justify-content:center; line-height:1; min-height:44px; padding:0 19px; transition:transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button:hover { box-shadow:0 8px 20px rgba(20,58,50,.16); transform:translateY(-2px); }
.button svg, .text-link svg { height:17px; width:17px; }.button-ink { background:var(--ink); color:var(--white); }.button-lime { background:var(--lime); color:var(--ink); }.button-clay { background:var(--clay); color:var(--white); }.button-outline { background:transparent; border-color:var(--ink); color:var(--ink); }.nav-action { min-height:40px; padding:0 15px; }
.text-link { align-items:center; color:var(--ink); display:inline-flex; font-size:14px; font-weight:900; gap:8px; padding-bottom:4px; position:relative; }.text-link:after { background:var(--lime); bottom:0; content:""; height:3px; left:0; position:absolute; transition:width .2s ease; width:34px; }.text-link:hover:after { width:100%; }

.home-hero { border-bottom:1px solid var(--line); padding:42px 0 80px; }.hero-grid { align-items:center; display:grid; gap:58px; grid-template-columns:1.01fr .99fr; }.hero-copy { padding:36px 0 26px; }.hero-copy h1, h1 { font-family:var(--serif); font-size:clamp(52px, 5.75vw, 83px); font-weight:600; letter-spacing:-.065em; line-height:.91; margin:0; max-width:660px; }.hero-copy > p { color:var(--muted); font-size:18px; line-height:1.58; margin:27px 0 30px; max-width:560px; }.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }.hero-proof { display:flex; flex-wrap:wrap; gap:20px; list-style:none; margin:31px 0 0; padding:0; }.hero-proof li { color:var(--muted); font-size:12px; font-weight:700; padding-left:15px; position:relative; }.hero-proof li:before { background:var(--clay); border-radius:50%; content:""; height:6px; left:0; position:absolute; top:4px; width:6px; }
.hero-media { aspect-ratio:4/4.3; border-radius:160px 18px 18px 18px; min-height:440px; overflow:hidden; position:relative; }.hero-media:after { border:1px solid rgba(255,255,255,.75); border-radius:150px 12px 12px 12px; bottom:23px; content:""; left:23px; pointer-events:none; position:absolute; right:23px; top:23px; }.hero-media img { height:100%; inset:0; object-fit:cover; position:absolute; width:100%; }.media-note { background:var(--paper); bottom:28px; display:flex; flex-direction:column; left:28px; padding:15px 18px; position:absolute; z-index:1; }.media-note strong { font-family:var(--serif); font-size:20px; letter-spacing:-.04em; }.media-note span { color:var(--muted); font-size:12px; margin-top:4px; }

.section { padding:105px 0; }.section-heading { align-items:end; display:flex; gap:30px; justify-content:space-between; margin-bottom:42px; }.section-heading h2, h2 { font-family:var(--serif); font-size:clamp(37px, 4vw, 58px); font-weight:600; letter-spacing:-.06em; line-height:.96; margin:0; }.section-heading p { color:var(--muted); font-size:16px; line-height:1.55; margin:0; max-width:330px; }.section-label { color:var(--clay); font-size:11px; font-weight:900; letter-spacing:.13em; margin:0 0 16px; text-transform:uppercase; }.section-label.light { color:var(--lime); }
.path-section { border-bottom:1px solid var(--line); }.path-rail { display:grid; grid-template-columns:repeat(4,1fr); }.path-link { border-left:1px solid var(--line); min-height:260px; padding:0 28px 0 27px; position:relative; transition:background .2s ease; }.path-link:last-child { border-right:1px solid var(--line); }.path-link:hover { background:var(--sand); }.path-icon { align-items:center; color:var(--ink); display:flex; height:45px; margin:0 0 43px; width:45px; }.path-icon svg { height:36px; width:36px; }.path-link h3 { font-family:var(--serif); font-size:25px; letter-spacing:-.04em; margin:0 0 10px; }.path-link p { color:var(--muted); font-size:14px; line-height:1.52; margin:0; max-width:210px; }.path-arrow { bottom:0; color:var(--clay); height:28px; position:absolute; right:26px; width:28px; }.path-arrow svg { height:100%; width:100%; }

.tool-band { background:var(--ink); padding:74px 0; }.tool-band.slim { padding:56px 0; }.tool-card { align-items:start; display:grid; gap:46px; grid-template-columns:.83fr 1.17fr; }.tool-card-drill { color:var(--paper); }.tool-intro h2 { font-family:var(--serif); font-size:clamp(36px, 3.6vw, 51px); font-weight:600; letter-spacing:-.055em; line-height:.98; margin:0; }.tool-intro > p:not(.tool-label) { color:var(--muted); font-size:16px; line-height:1.56; margin:18px 0 0; max-width:410px; }.tool-card-drill .tool-intro > p:not(.tool-label) { color:#c4d2cc; }.tool-label { color:var(--clay); font-size:11px; font-weight:900; letter-spacing:.13em; margin:0 0 15px; text-transform:uppercase; }.tool-card-drill .tool-label { color:var(--lime); }.tool-form { min-width:0; }.form-grid { display:grid; gap:13px; grid-template-columns:repeat(2,1fr); }.field { display:grid; gap:8px; }.field span { color:inherit; font-size:11px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }.tool-card-drill .field { color:var(--paper); }.field select { appearance:none; background:var(--white); background-image:linear-gradient(45deg, transparent 50%, var(--ink) 50%),linear-gradient(135deg, var(--ink) 50%, transparent 50%); background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%; background-repeat:no-repeat; background-size:5px 5px,5px 5px; border:0; border-radius:3px; color:var(--ink); min-height:50px; outline-color:var(--lime-deep); padding:0 40px 0 14px; width:100%; }.tool-form > .button { margin-top:18px; }.tool-result { background:var(--lime); color:var(--ink); margin-top:18px; padding:17px 18px; }.tool-result strong { display:block; font-family:var(--serif); font-size:21px; letter-spacing:-.03em; }.tool-result p { font-size:14px; line-height:1.5; margin:7px 0; }.tool-result span { color:#46603b; font-size:12px; line-height:1.4; }.tool-result.pale { background:var(--sand); }.tool-result.clay-result { background:#f7dbd3; }.compact-tool .court-board { display:none; }.court-board { border:1px solid rgba(255,255,255,.55); height:205px; margin-top:30px; overflow:hidden; position:relative; width:190px; }.court-board:before, .court-board:after { border-color:rgba(255,255,255,.55); border-style:solid; content:""; position:absolute; }.court-board:before { border-left-width:1px; height:100%; left:50%; }.court-board:after { border-top-width:1px; left:0; top:50%; width:100%; }.court-board i { background:var(--lime); border-radius:50%; height:12px; position:absolute; width:12px; }.court-board i:nth-of-type(1) { left:25px; top:30px; }.court-board i:nth-of-type(2) { right:28px; top:64px; }.court-board i:nth-of-type(3) { bottom:32px; left:48px; }.court-board i:nth-of-type(4) { bottom:58px; right:37px; }.court-board b { background:var(--clay); border-radius:50%; height:12px; position:absolute; width:12px; }.court-board b:nth-of-type(1) { left:64px; top:65px; }.court-board b:nth-of-type(2) { right:56px; top:37px; }.court-board b:nth-of-type(3) { bottom:24px; left:29px; }.court-board b:nth-of-type(4) { bottom:66px; right:23px; }

.editorial-section { border-bottom:1px solid var(--line); }.editorial-grid { align-items:center; display:grid; gap:70px; grid-template-columns:.95fr 1.05fr; }.editorial-grid h2, .health-grid h2 { max-width:520px; }.big-copy { color:var(--muted); font-size:18px; line-height:1.6; margin:23px 0 28px; max-width:520px; }.city-geometry { background:var(--sand); height:365px; min-height:365px; overflow:hidden; position:relative; }.city-geometry:before { background:var(--clay); clip-path:polygon(0 0, 62% 0, 48% 100%, 0 100%); content:""; inset:0; position:absolute; }.city-geometry:after { border:1px solid rgba(20,58,50,.32); content:""; inset:30px; position:absolute; }.map-street { background:var(--paper); height:13px; position:absolute; transform:rotate(-30deg); z-index:1; }.street-a { left:53%; top:50px; width:66%; }.street-b { left:35%; top:180px; width:74%; }.street-c { left:50%; top:300px; width:55%; }.map-block { background:var(--lime); position:absolute; transform:rotate(-30deg); z-index:1; }.block-a { height:75px; right:100px; top:118px; width:85px; }.block-b { bottom:45px; height:58px; right:225px; width:62px; }.pin { background:var(--ink); border:4px solid var(--paper); border-radius:50% 50% 50% 0; height:28px; position:absolute; transform:rotate(-45deg); width:28px; z-index:2; }.pin:after { background:var(--lime); border-radius:50%; content:""; height:7px; left:7px; position:absolute; top:7px; width:7px; }.pin-one { right:115px; top:73px; }.pin-two { right:250px; top:210px; }.pin-three { right:62px; bottom:83px; }

.health-band { background:var(--sand); }.health-grid { align-items:center; display:grid; gap:80px; grid-template-columns:1fr 1fr; }.health-visual { background:var(--ink); height:345px; overflow:hidden; position:relative; }.health-orbit { border:1px solid var(--lime); border-radius:50%; height:440px; left:-70px; position:absolute; top:-55px; width:440px; }.health-orbit:after { border:1px solid var(--lime); border-radius:50%; content:""; inset:55px; position:absolute; }.health-check { align-items:center; background:var(--paper); bottom:28px; display:flex; gap:15px; left:28px; max-width:310px; padding:18px; position:absolute; z-index:1; }.health-check span { color:var(--ink); height:40px; width:40px; }.health-check span svg { height:100%; width:100%; }.health-check b { display:block; font-family:var(--serif); font-size:20px; letter-spacing:-.04em; }.health-check p { color:var(--muted); font-size:12px; line-height:1.35; margin:4px 0 0; }

.reads-section { border-bottom:1px solid var(--line); }.read-grid { display:grid; gap:16px; grid-template-columns:repeat(3,1fr); }.read-card { color:var(--ink); display:flex; flex-direction:column; min-height:285px; padding:27px; position:relative; transition:transform .2s ease; }.read-card:hover { transform:translateY(-5px); }.read-card.clay { background:var(--clay); color:var(--white); }.read-card.lime { background:var(--lime); }.read-card.blue { background:var(--blue); color:var(--white); }.read-card > span { font-size:11px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }.read-card h3 { font-family:var(--serif); font-size:30px; font-weight:600; letter-spacing:-.05em; line-height:1; margin:30px 0 13px; max-width:300px; }.read-card p { color:inherit; font-size:14px; line-height:1.5; margin:0; max-width:300px; opacity:.84; }.read-card > svg { bottom:26px; height:26px; position:absolute; right:26px; width:26px; }

.newsletter-band, .newsletter-page { background:var(--ink); color:var(--paper); }.newsletter-band { padding:70px 0; }.newsletter-grid { align-items:center; display:grid; gap:50px; grid-template-columns:1fr .9fr; }.newsletter-grid h2, .newsletter-page h1 { font-family:var(--serif); font-size:clamp(39px, 4vw, 60px); font-weight:600; letter-spacing:-.06em; line-height:.95; margin:0; max-width:570px; }.newsletter-grid p:not(.section-label), .newsletter-page > div > p:not(.section-label) { color:#c5d1cb; font-size:16px; line-height:1.55; margin:18px 0 0; max-width:480px; }.newsletter-cta { justify-self:start; }.newsletter-page { padding:116px 0 105px; }.newsletter-page .newsletter-cta { margin-top:34px; }.newsletter-notes { display:grid; gap:28px; grid-template-columns:repeat(3,1fr); }.newsletter-notes span { color:var(--clay); font-size:11px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }.newsletter-notes h2 { font-family:var(--serif); font-size:32px; font-weight:600; letter-spacing:-.045em; line-height:1.04; margin:13px 0 0; }

.collection-hero, .tool-page-hero, .city-hero { border-bottom:1px solid var(--line); padding:100px 0 86px; }.collection-hero > .shell, .tool-page-hero > .shell, .city-hero > .shell { max-width:1180px; }.collection-hero span, .city-hero .section-label { color:var(--clay); font-size:11px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }.collection-hero h1, .tool-page-hero h1, .city-hero h1 { margin:20px 0 22px; max-width:850px; }.collection-hero p, .tool-page-hero p, .city-hero p { color:var(--muted); font-size:18px; line-height:1.58; margin:0; max-width:610px; }.collection-hero .button, .city-hero .button { margin-top:30px; }.tools-hero { background:var(--sand); }.collection-body { padding-bottom:120px; }.resource-grid { display:grid; gap:16px; grid-template-columns:repeat(2,1fr); }.resource-card { border:1px solid var(--line); min-height:230px; padding:26px; position:relative; transition:background .2s ease, transform .2s ease; }.resource-card:hover { background:var(--sand); transform:translateY(-3px); }.resource-card h3 { font-family:var(--serif); font-size:27px; letter-spacing:-.045em; margin:26px 0 9px; }.resource-card p { color:var(--muted); font-size:14px; line-height:1.5; margin:0; max-width:380px; }.resource-card > svg { bottom:24px; color:var(--clay); height:24px; position:absolute; right:24px; width:24px; }.resource-icon { color:var(--ink); display:block; height:34px; width:34px; }.resource-icon svg { height:100%; width:100%; }

.article-shell { padding:58px 0 115px; }.article-grid { display:grid; gap:82px; grid-template-columns:minmax(0, 1fr) 285px; max-width:1120px; }.article-main { max-width:715px; }.breadcrumbs { display:flex; flex-wrap:wrap; gap:9px; margin:0 0 46px; }.breadcrumbs a, .breadcrumbs span { color:var(--muted); font-size:12px; font-weight:700; }.breadcrumbs a:hover { color:var(--ink); }.article-main h1 { font-size:clamp(47px, 5vw, 73px); }.article-lead { color:var(--muted); font-size:20px; line-height:1.55; margin:26px 0 34px; max-width:690px; }.quick-answer { border-left:5px solid var(--lime-deep); margin:0 0 52px; padding:6px 0 6px 22px; }.quick-answer span, .court-tip span, .next-guide span, .article-aside span, .city-callout span { color:var(--clay); display:block; font-size:11px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }.quick-answer p { font-family:var(--serif); font-size:23px; letter-spacing:-.035em; line-height:1.25; margin:8px 0 0; }.article-section { margin:0 0 40px; }.article-section h2 { font-size:36px; margin:0 0 16px; }.article-section p { color:var(--muted); font-size:17px; line-height:1.72; margin:0; }.article-section ul { color:var(--muted); display:grid; gap:10px; font-size:16px; line-height:1.55; margin:18px 0 0; padding-left:19px; }.court-tip { background:var(--lime); margin:50px 0 24px; padding:26px 28px; }.court-tip span { color:var(--ink); }.court-tip p { font-family:var(--serif); font-size:25px; letter-spacing:-.04em; line-height:1.2; margin:10px 0 0; }.source-note { color:var(--muted); font-size:13px; line-height:1.5; }.source-note a { color:var(--ink); font-weight:800; text-decoration:underline; text-decoration-color:var(--lime-deep); text-decoration-thickness:2px; }.next-guide { align-items:center; border-top:1px solid var(--line); display:flex; justify-content:space-between; margin-top:52px; padding-top:28px; }.next-guide span { color:var(--muted); }.next-guide h3 { font-family:var(--serif); font-size:30px; letter-spacing:-.045em; margin:9px 0 0; }.article-aside { align-self:start; display:grid; gap:20px; position:sticky; top:25px; }.article-aside > div { border-top:1px solid var(--ink); padding-top:16px; }.article-aside h3 { font-family:var(--serif); font-size:29px; letter-spacing:-.045em; line-height:1.03; margin:10px 0; }.article-aside p { color:var(--muted); font-size:14px; line-height:1.5; margin:0; }.article-aside a { border-bottom:1px solid var(--line); display:block; font-size:14px; font-weight:800; padding:12px 0; }.article-aside a:hover { color:var(--clay); }

.city-layout { align-items:start; display:grid; gap:80px; grid-template-columns:minmax(0,1fr) 330px; }.city-layout h2 { font-size:43px; max-width:620px; }.check-list { counter-reset:check; display:grid; gap:0; list-style:none; margin:38px 0 0; padding:0; }.check-list li { border-top:1px solid var(--line); display:grid; gap:20px; grid-template-columns:50px 1fr; padding:18px 0; }.check-list li:before { color:var(--clay); content:"0" counter(check); counter-increment:check; font-family:var(--serif); font-size:25px; }.check-list b { display:block; font-family:var(--serif); font-size:25px; letter-spacing:-.04em; }.check-list span { color:var(--muted); display:block; font-size:15px; line-height:1.5; margin-top:5px; }.city-callout { background:var(--clay); color:var(--white); padding:30px; }.city-callout span { color:var(--paper); }.city-callout h3 { font-family:var(--serif); font-size:35px; letter-spacing:-.05em; line-height:.97; margin:14px 0; }.city-callout p { font-size:14px; line-height:1.55; margin:0 0 22px; }.city-callout a { border-bottom:2px solid var(--lime); font-size:13px; font-weight:900; padding-bottom:3px; }

.tool-page-hero { background:var(--sand); }.tool-page-body { padding-top:78px; }.tool-card-paddle, .tool-card-rules, .tool-card-warmup, .tool-card-court { background:var(--sand); padding:38px; }.tool-card-paddle .tool-intro > p:not(.tool-label), .tool-card-rules .tool-intro > p:not(.tool-label), .tool-card-warmup .tool-intro > p:not(.tool-label), .tool-card-court .tool-intro > p:not(.tool-label) { color:var(--muted); }.rules-form { display:grid; gap:17px; }.rules-form > .field { max-width:300px; }.rules-card { background:var(--white); border:1px solid var(--line); padding:23px; }.rules-card > span { color:var(--clay); font-size:11px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }.rules-card h3 { font-family:var(--serif); font-size:31px; letter-spacing:-.05em; margin:11px 0 16px; }.rules-card ul { color:var(--muted); display:grid; gap:8px; font-size:14px; line-height:1.48; margin:0; padding-left:18px; }.rules-card p { color:var(--muted); font-size:14px; line-height:1.48; margin:17px 0; }.text-button { background:transparent; border:0; border-bottom:2px solid var(--lime-deep); color:var(--ink); font-size:13px; font-weight:900; padding:0 0 4px; }.warmup-layout { display:grid; gap:22px; grid-template-columns:.8fr 1.2fr; }.timer-face { background:var(--ink); color:var(--paper); display:flex; flex-direction:column; justify-content:center; min-height:270px; padding:28px; }.timer-face > span { color:var(--lime); font-size:11px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }.timer-face strong { font-family:var(--serif); font-size:70px; font-weight:500; letter-spacing:-.07em; line-height:1; margin:13px 0 24px; }.timer-actions { align-items:center; display:flex; gap:17px; }.timer-actions .text-button { color:var(--paper); border-color:var(--lime); }.routine-list { background:var(--white); padding:22px 25px; }.timer-toggle { display:flex; gap:6px; margin-bottom:18px; }.timer-toggle button { background:transparent; border:1px solid var(--line); color:var(--ink); font-size:12px; font-weight:900; min-height:36px; padding:0 12px; }.timer-toggle button.active { background:var(--lime); border-color:var(--lime-deep); }.routine-list ol { color:var(--muted); display:grid; gap:12px; font-size:14px; line-height:1.4; margin:0; padding-left:21px; }.tool-index { border-top:1px solid var(--ink); }.tool-index-row { align-items:center; border-bottom:1px solid var(--line); display:grid; gap:20px; grid-template-columns:48px 48px 1fr 28px; padding:24px 0; transition:padding .2s ease; }.tool-index-row:hover { padding-left:13px; }.tool-index-row > span { color:var(--clay); font-family:var(--serif); font-size:23px; }.tool-index-row i { color:var(--ink); display:block; height:36px; width:36px; }.tool-index-row i svg { height:100%; width:100%; }.tool-index-row h2 { font-family:var(--serif); font-size:32px; letter-spacing:-.045em; margin:0 0 5px; }.tool-index-row p { color:var(--muted); font-size:14px; line-height:1.45; margin:0; }.tool-index-row > svg { color:var(--clay); height:26px; width:26px; }

.about-grid { display:grid; gap:80px; grid-template-columns:.9fr 1.1fr; }.about-grid h2 { font-size:48px; }.about-grid > div > p { color:var(--muted); font-size:17px; line-height:1.72; }.about-principles { border-top:1px solid var(--ink); }.about-principles > div { border-bottom:1px solid var(--line); display:grid; gap:20px; grid-template-columns:50px 1fr 1fr; padding:22px 0; }.about-principles span { color:var(--clay); font-family:var(--serif); font-size:25px; }.about-principles h3 { font-family:var(--serif); font-size:25px; letter-spacing:-.04em; margin:0; }.about-principles p { color:var(--muted); font-size:14px; line-height:1.5; margin:0; }

.site-footer { background:var(--sand); border-top:1px solid var(--line); padding:58px 0 25px; }.footer-grid { display:grid; gap:40px; grid-template-columns:2fr 1fr 1fr; }.footer-brand { margin-bottom:16px; }.site-footer p { color:var(--muted); font-size:14px; margin:0; }.site-footer h3 { font-size:12px; letter-spacing:.1em; margin:0 0 16px; text-transform:uppercase; }.site-footer a:not(.brand) { color:var(--muted); display:block; font-size:14px; margin:0 0 11px; }.site-footer a:not(.brand):hover { color:var(--ink); }.footer-bottom { border-top:1px solid var(--line); color:var(--muted); display:flex; font-size:11px; justify-content:space-between; margin-top:45px; padding-top:19px; }

@media (max-width:900px) { .shell { width:min(100% - 32px, 680px); }.main-nav { display:none; }.header-inner { height:72px; }.nav-action { font-size:12px; min-height:38px; }.hero-grid, .editorial-grid, .health-grid, .newsletter-grid, .about-grid { grid-template-columns:1fr; }.home-hero { padding:24px 0 54px; }.hero-copy { padding:25px 0 8px; }.hero-media { aspect-ratio:4/3; border-radius:105px 14px 14px 14px; min-height:0; }.path-rail { grid-template-columns:repeat(2,1fr); }.path-link { border-top:1px solid var(--line); min-height:220px; padding:25px 22px; }.path-link:nth-child(odd) { border-left:1px solid var(--line); }.path-link:nth-child(even) { border-right:1px solid var(--line); }.path-icon { margin-bottom:28px; }.section { padding:75px 0; }.section-heading { align-items:start; display:block; margin-bottom:31px; }.section-heading p { margin-top:16px; }.tool-card { grid-template-columns:1fr; }.tool-card-paddle, .tool-card-rules, .tool-card-warmup, .tool-card-court { padding:28px; }.editorial-grid, .health-grid { gap:38px; }.city-geometry { height:290px; min-height:290px; order:-1; }.read-grid, .newsletter-notes { grid-template-columns:1fr; }.read-card { min-height:220px; }.resource-grid { grid-template-columns:1fr; }.collection-hero, .tool-page-hero, .city-hero { padding:75px 0 65px; }.article-grid, .city-layout { grid-template-columns:1fr; }.article-aside { display:none; }.article-shell { padding:41px 0 70px; }.warmup-layout { grid-template-columns:1fr; }.footer-grid { grid-template-columns:1fr 1fr; }.footer-grid > :first-child { grid-column:1/-1; }.newsletter-cta { justify-self:start; }.about-principles > div { grid-template-columns:42px 1fr; }.about-principles p { grid-column:2; }.tool-index-row { grid-template-columns:38px 36px 1fr 22px; gap:13px; }.tool-index-row h2 { font-size:27px; }.tool-index-row p { font-size:13px; } }
@media (max-width:520px) { .shell { width:min(100% - 26px, 680px); }.brand { font-size:11px; }.brand-mark { height:32px; width:32px; }.nav-action { padding:0 12px; }.nav-action svg { display:none; }.hero-copy h1, h1 { font-size:48px; }.hero-copy > p, .big-copy { font-size:16px; }.hero-proof { gap:11px; }.hero-proof li { font-size:11px; }.hero-media { border-radius:80px 12px 12px 12px; }.media-note { bottom:16px; left:16px; padding:12px; }.section-heading h2, h2 { font-size:39px; }.path-rail { grid-template-columns:1fr; }.path-link, .path-link:nth-child(even) { border-left:1px solid var(--line); border-right:1px solid var(--line); min-height:185px; }.path-link:nth-child(n+2) { border-top:1px solid var(--line); }.tool-band { padding:50px 0; }.form-grid { grid-template-columns:1fr; }.city-geometry { height:240px; min-height:240px; }.city-geometry:after { inset:18px; }.pin-two { right:185px; }.map-block.block-b { right:145px; }.health-visual { height:290px; }.health-orbit { height:390px; width:390px; }.health-check { bottom:18px; left:18px; right:18px; max-width:none; }.tool-card-paddle, .tool-card-rules, .tool-card-warmup, .tool-card-court { padding:22px; }.timer-face strong { font-size:58px; }.tool-page-body { padding-top:52px; }.article-main h1 { font-size:46px; }.article-lead { font-size:18px; }.quick-answer p, .court-tip p { font-size:22px; }.next-guide { align-items:start; flex-direction:column; gap:20px; }.footer-grid { grid-template-columns:1fr; }.footer-grid > :first-child { grid-column:auto; }.footer-bottom { flex-direction:column; gap:8px; }.tool-index-row { grid-template-columns:30px 32px 1fr; }.tool-index-row > svg { display:none; }.tool-index-row h2 { font-size:24px; } }

/* 2026 content, accessibility, and local-guide upgrade */
#main-content:focus { outline:none; }
.skip-link { background:var(--lime); border:2px solid var(--ink); color:var(--ink); font-size:13px; font-weight:900; left:16px; padding:11px 15px; position:fixed; top:12px; transform:translateY(-160%); transition:transform .15s ease; z-index:100; }
.skip-link:focus { transform:translateY(0); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible { outline:3px solid var(--blue); outline-offset:3px; }
.main-nav a[aria-current="page"], .mobile-nav a[aria-current="page"] { color:var(--ink); text-decoration:underline; text-decoration-color:var(--clay); text-decoration-thickness:3px; text-underline-offset:7px; }
.path-rail { grid-template-columns:repeat(5,1fr); }
.field input { background:var(--white); border:1px solid transparent; border-radius:3px; color:var(--ink); min-height:50px; outline-color:var(--lime-deep); padding:0 14px; width:100%; }
.field small { color:var(--muted); font-size:11px; line-height:1.35; }
.tool-card-drill .field small { color:#c4d2cc; }
.tool-result ol, .tool-result ul { display:grid; font-size:13px; gap:6px; line-height:1.48; margin:10px 0 13px; padding-left:20px; }
.tool-result .result-link { align-items:center; border-bottom:2px solid currentColor; display:inline-flex; font-size:13px; font-weight:900; gap:6px; margin:3px 0 12px; padding-bottom:2px; }
.tool-result .result-link svg { height:16px; width:16px; }
.tool-page-body .tool-card-drill { background:var(--ink); padding:38px; }
.rules-actions { align-items:center; display:flex; flex-wrap:wrap; gap:18px; }
.rules-actions a { border-bottom:2px solid var(--clay); font-size:13px; font-weight:900; padding-bottom:4px; }
.timer-controls { display:grid; gap:4px; grid-template-columns:auto minmax(170px,1fr); margin-bottom:20px; }
.timer-controls .timer-toggle { margin:18px 0 0; }
.timer-controls .field select { border:1px solid var(--line); min-height:42px; }
.routine-caution { border-top:1px solid var(--line); color:var(--muted); font-size:11px; line-height:1.5; margin:19px 0 0; padding-top:14px; }
.home-value { background:var(--sand); border-bottom:1px solid var(--line); }
.value-grid, .editorial-copy-grid { display:grid; gap:80px; grid-template-columns:.88fr 1.12fr; }
.value-grid h2, .editorial-copy-grid h2 { max-width:560px; }
.value-grid > div:last-child p, .editorial-copy-grid > div:last-child > p { color:var(--muted); font-size:17px; line-height:1.72; margin:0 0 18px; }
.hero-breadcrumbs { margin:0 0 34px; }
.collection-hero .hero-breadcrumbs span, .tool-page-hero .hero-breadcrumbs span, .city-hero .hero-breadcrumbs span { color:var(--muted); font-size:12px; font-weight:700; letter-spacing:0; text-transform:none; }
.collection-hero .hero-breadcrumbs a, .tool-page-hero .hero-breadcrumbs a, .city-hero .hero-breadcrumbs a { color:var(--muted); font-size:12px; font-weight:700; }
.collection-intro { background:var(--sand); border-bottom:1px solid var(--line); }
.takeaway-list { border-top:1px solid var(--line); display:grid; gap:0; list-style:none; margin:30px 0 0; padding:0; }
.takeaway-list li { border-bottom:1px solid var(--line); color:var(--ink); font-size:14px; font-weight:800; line-height:1.45; padding:13px 0 13px 30px; position:relative; }
.takeaway-list li:before { color:var(--clay); content:"✓"; left:2px; position:absolute; }
.medical-note { background:#edf5f3; border:1px solid #bfd5cf; margin:-22px 0 38px; padding:18px 20px; }
.medical-note strong { font-family:var(--serif); font-size:20px; }
.medical-note p { color:var(--muted); font-size:13px; line-height:1.55; margin:6px 0 0; }
.city-fact-band { background:var(--ink); color:var(--paper); }
.city-fact-band > .shell { display:grid; grid-template-columns:repeat(4,1fr); }
.city-fact-band > .shell > div { border-left:1px solid rgba(255,255,255,.18); min-height:118px; padding:23px; }
.city-fact-band > .shell > div:last-child { border-right:1px solid rgba(255,255,255,.18); }
.city-fact-band span { color:var(--lime); font-family:var(--serif); font-size:20px; }
.city-fact-band p { font-size:13px; font-weight:800; line-height:1.4; margin:11px 0 0; }
.city-content { padding-top:88px; }
.location-list { border-top:1px solid var(--ink); margin-top:34px; }
.location-card { border-bottom:1px solid var(--line); display:grid; gap:22px; grid-template-columns:.85fr 1.15fr; padding:26px 0; }
.location-card > div > span { color:var(--clay); display:block; font-size:10px; font-weight:900; letter-spacing:.1em; margin-bottom:8px; text-transform:uppercase; }
.location-card h3 { font-family:var(--serif); font-size:28px; letter-spacing:-.045em; line-height:1.05; margin:0 0 9px; }
.location-card address { color:var(--muted); font-size:12px; font-style:normal; font-weight:700; }
.location-card > p { color:var(--muted); font-size:15px; line-height:1.63; margin:0; }
.location-card > a { align-items:center; color:var(--ink); display:inline-flex; font-size:12px; font-weight:900; gap:7px; grid-column:2; width:max-content; }
.location-card > a svg { height:16px; width:16px; }
.city-advice, .before-you-go, .city-sources { border-top:1px solid var(--ink); margin-top:72px; padding-top:35px; }
.city-advice > div { display:grid; gap:14px; grid-template-columns:repeat(3,1fr); margin-top:30px; }
.city-advice article { background:var(--sand); padding:22px; }
.city-advice h3 { font-family:var(--serif); font-size:23px; letter-spacing:-.04em; line-height:1.08; margin:0 0 12px; }
.city-advice p, .city-sources p { color:var(--muted); font-size:14px; line-height:1.58; margin:0; }
.city-sources ul { display:grid; gap:9px; list-style:none; margin:22px 0 0; padding:0; }
.city-sources a { border-bottom:2px solid var(--lime-deep); font-size:13px; font-weight:900; }
.city-sticky { position:sticky; top:24px; }
.city-callout .text-link { color:var(--white); }
.city-callout .text-link:after { background:var(--lime); }
.city-callout hr { border:0; border-top:1px solid rgba(255,255,255,.35); margin:28px 0; }
.city-callout strong { display:block; font-size:11px; letter-spacing:.1em; margin-bottom:9px; text-transform:uppercase; }
.tools-explainer { background:var(--sand); border-top:1px solid var(--line); }
.tool-explanation { border-top:1px solid var(--line); }
.tool-copy-grid { display:grid; gap:80px; grid-template-columns:1.05fr .95fr; }
.tool-copy-grid > div > p:not(.section-label) { color:var(--muted); font-size:17px; line-height:1.72; margin:22px 0 0; }
.tool-copy-grid > ol { border-top:1px solid var(--ink); list-style:none; margin:0; padding:0; }
.tool-copy-grid > ol > li { border-bottom:1px solid var(--line); display:grid; gap:17px; grid-template-columns:40px 1fr; padding:21px 0; }
.tool-copy-grid > ol > li > span { color:var(--clay); font-family:var(--serif); font-size:23px; }
.tool-copy-grid h3 { font-family:var(--serif); font-size:25px; letter-spacing:-.04em; margin:0 0 7px; }
.tool-copy-grid li p { color:var(--muted); font-size:14px; line-height:1.5; margin:0; }
.tool-boundary { background:var(--sand); border-top:1px solid var(--line); }
.tool-boundary > .shell { display:grid; gap:65px; grid-template-columns:1.15fr .85fr; }
.tool-boundary > .shell > div:first-child { align-items:flex-start; display:flex; gap:18px; }
.tool-boundary > .shell > div:first-child > svg { color:var(--clay); flex:0 0 auto; height:42px; width:42px; }
.tool-boundary p:not(.section-label) { color:var(--muted); font-size:15px; line-height:1.6; margin:0; }
.tool-boundary h2 { font-size:36px; margin-bottom:20px; }
.tool-boundary .text-link { display:flex; margin:0 0 14px; width:max-content; }
.newsletter-explainer { border-top:1px solid var(--line); margin-top:70px; max-width:800px; padding-top:40px; }
.newsletter-explainer h2 { font-size:42px; }
.newsletter-explainer p { color:var(--muted); font-size:16px; line-height:1.65; margin:20px 0 25px; }
.policy-hero { background:var(--sand); }
.policy-content > .shell { max-width:820px; }
.policy-updated { color:var(--clay); font-size:11px !important; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.policy-summary { background:var(--ink); color:var(--paper); margin:24px 0 46px; padding:24px 26px; }
.policy-summary strong { color:var(--lime); display:block; font-size:11px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.policy-summary p { color:#e2ebe7; font-size:15px; line-height:1.65; margin:8px 0 0; }
.policy-content section { border-top:1px solid var(--line); margin-top:42px; padding-top:32px; }
.policy-content h2 { font-size:39px; }
.policy-content p, .policy-content li { color:var(--muted); font-size:16px; line-height:1.72; }
.policy-content ul { display:grid; gap:8px; padding-left:20px; }
.not-found { min-height:580px; }
.not-found .hero-actions { margin-top:32px; }
.footer-grid { grid-template-columns:1.75fr repeat(3,1fr); }
.footer-review { margin-top:13px !important; max-width:250px; }

@media (max-width:900px) {
  .path-rail { grid-template-columns:repeat(2,1fr); }
  .value-grid, .editorial-copy-grid, .tool-copy-grid, .tool-boundary > .shell { gap:42px; grid-template-columns:1fr; }
  .city-fact-band > .shell { grid-template-columns:repeat(2,1fr); }
  .city-fact-band > .shell > div:nth-child(2) { border-right:1px solid rgba(255,255,255,.18); }
  .city-fact-band > .shell > div:nth-child(n+3) { border-top:1px solid rgba(255,255,255,.18); }
  .city-sticky { position:static; }
  .city-advice > div { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:repeat(3,1fr); }
  .footer-grid > :first-child { grid-column:1/-1; }
}

@media (max-width:620px) {
  .timer-controls, .location-card { grid-template-columns:1fr; }
  .timer-controls .timer-toggle { margin:0; }
  .location-card > a { grid-column:1; }
  .city-fact-band > .shell { grid-template-columns:1fr; }
  .city-fact-band > .shell > div, .city-fact-band > .shell > div:nth-child(2) { border-right:1px solid rgba(255,255,255,.18); border-top:1px solid rgba(255,255,255,.18); }
  .city-fact-band > .shell > div:first-child { border-top:0; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-grid > :first-child { grid-column:auto; }
  .tool-page-body .tool-card-drill { padding:22px; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *, *:before, *:after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.01ms !important; }
}

@media print {
  .site-header, .mobile-nav, .site-footer, .tool-page-hero, .tool-explanation, .tool-boundary, .tool-intro, .rules-form > .field, .rules-form > .button { display:none !important; }
  body, .tool-card-rules, .rules-card { background:#fff !important; color:#000 !important; }
  .tool-page-body, .section { padding:0 !important; }
  .tool-card, .rules-form { display:block !important; }
  .rules-card { border:2px solid #000; margin:20mm auto; max-width:170mm; }
  .rules-actions { display:none; }
}
