/* ============================================================
   Variant A — "Clinical Light"
   Juan Manuel Morales Tamajón · Osteópata D.O. · Marbella
   Ivory ground · near-black ink · sand accents · deep bronze CTA accent
   Contrast (WCAG 2.2): ink/ivory 16.9:1 · ink-soft/ivory 7.2:1 ·
   bronze/ivory 6.6:1 · ivory/bronze-deep 7.8:1 · ivory/ink 16.9:1
   ============================================================ */

/* Self-hosted fonts (C4.1, 2026-09-23): byte-identical mirror of the Google Fonts
   css2 response for Newsreader (ital,opsz,wght 0,6..72,400/500/600 + 1,6..72,400)
   and Hanken Grotesk (wght 400/500/600/700) — same variable woff2 files, same
   unicode-range subsets, font-display: swap. No third-party request remains.
   Newsreader latin (2026-10-23, perf-mobile-lcp): a subset file (scripts/make-fonts.py: the characters the
   site uses + Spanish/Catalan/English margin, wght 400-800, opsz 18-72) serves those characters; the full
   Google file serves the rest of the latin range. Pixel-identical; check-production fails when a page uses a
   character outside a subset. Newsreader: SIL Open Font License 1.1, assets/fonts/OFL-Newsreader.txt. */
/* cyrillic-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../assets/fonts/hanken-grotesk-normal-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../assets/fonts/hanken-grotesk-normal-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../assets/fonts/hanken-grotesk-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../assets/fonts/hanken-grotesk-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../assets/fonts/hanken-grotesk-normal-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../assets/fonts/hanken-grotesk-normal-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../assets/fonts/hanken-grotesk-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../assets/fonts/hanken-grotesk-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../assets/fonts/hanken-grotesk-normal-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../assets/fonts/hanken-grotesk-normal-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../assets/fonts/hanken-grotesk-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../assets/fonts/hanken-grotesk-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../assets/fonts/hanken-grotesk-normal-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../assets/fonts/hanken-grotesk-normal-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../assets/fonts/hanken-grotesk-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../assets/fonts/hanken-grotesk-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(../assets/fonts/newsreader-italic-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(../assets/fonts/newsreader-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin, rest (full file) */
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(../assets/fonts/newsreader-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-001F, U+007F-009F, U+00A2-00A6, U+00A9, U+00AC-00AF, U+00B1-00B3, U+00B5-00B6, U+00B8-00B9, U+00BC-00BE, U+00C2-00C6, U+00CA-00CC, U+00CE, U+00D0, U+00D4-00D6, U+00D8-00D9, U+00DB, U+00DD-00DF, U+00E2-00E6, U+00EA-00EC, U+00EE, U+00F0, U+00F4-00F9, U+00FB, U+00FD-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0329, U+2000-2012, U+2015-2017, U+201A-201B, U+201E-2025, U+2027-206F, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin, subset */
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(../assets/fonts/newsreader-italic-latin-subset.42260554.woff2) format('woff2');
  unicode-range: U+0020-007E, U+00A0-00A1, U+00A7-00A8, U+00AA-00AB, U+00B0, U+00B4, U+00B7, U+00BA-00BB, U+00BF-00C1, U+00C7-00C9, U+00CD, U+00CF, U+00D1-00D3, U+00D7, U+00DA, U+00DC, U+00E0-00E1, U+00E7-00E9, U+00ED, U+00EF, U+00F1-00F3, U+00FA, U+00FC, U+0308, U+2013-2014, U+2018-2019, U+201C-201D, U+2026, U+20AC;
}
/* vietnamese */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../assets/fonts/newsreader-normal-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../assets/fonts/newsreader-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin, rest (full file) */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../assets/fonts/newsreader-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-001F, U+007F-009F, U+00A2-00A6, U+00A9, U+00AC-00AF, U+00B1-00B3, U+00B5-00B6, U+00B8-00B9, U+00BC-00BE, U+00C2-00C6, U+00CA-00CC, U+00CE, U+00D0, U+00D4-00D6, U+00D8-00D9, U+00DB, U+00DD-00DF, U+00E2-00E6, U+00EA-00EC, U+00EE, U+00F0, U+00F4-00F9, U+00FB, U+00FD-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0329, U+2000-2012, U+2015-2017, U+201A-201B, U+201E-2025, U+2027-206F, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin, subset */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../assets/fonts/newsreader-normal-latin-subset.8b2a6981.woff2) format('woff2');
  unicode-range: U+0020-007E, U+00A0-00A1, U+00A7-00A8, U+00AA-00AB, U+00B0, U+00B4, U+00B7, U+00BA-00BB, U+00BF-00C1, U+00C7-00C9, U+00CD, U+00CF, U+00D1-00D3, U+00D7, U+00DA, U+00DC, U+00E0-00E1, U+00E7-00E9, U+00ED, U+00EF, U+00F1-00F3, U+00FA, U+00FC, U+0308, U+2013-2014, U+2018-2019, U+201C-201D, U+2026, U+20AC;
}
/* vietnamese */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../assets/fonts/newsreader-normal-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../assets/fonts/newsreader-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin, rest (full file) */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../assets/fonts/newsreader-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-001F, U+007F-009F, U+00A2-00A6, U+00A9, U+00AC-00AF, U+00B1-00B3, U+00B5-00B6, U+00B8-00B9, U+00BC-00BE, U+00C2-00C6, U+00CA-00CC, U+00CE, U+00D0, U+00D4-00D6, U+00D8-00D9, U+00DB, U+00DD-00DF, U+00E2-00E6, U+00EA-00EC, U+00EE, U+00F0, U+00F4-00F9, U+00FB, U+00FD-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0329, U+2000-2012, U+2015-2017, U+201A-201B, U+201E-2025, U+2027-206F, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin, subset */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../assets/fonts/newsreader-normal-latin-subset.8b2a6981.woff2) format('woff2');
  unicode-range: U+0020-007E, U+00A0-00A1, U+00A7-00A8, U+00AA-00AB, U+00B0, U+00B4, U+00B7, U+00BA-00BB, U+00BF-00C1, U+00C7-00C9, U+00CD, U+00CF, U+00D1-00D3, U+00D7, U+00DA, U+00DC, U+00E0-00E1, U+00E7-00E9, U+00ED, U+00EF, U+00F1-00F3, U+00FA, U+00FC, U+0308, U+2013-2014, U+2018-2019, U+201C-201D, U+2026, U+20AC;
}
/* vietnamese */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../assets/fonts/newsreader-normal-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../assets/fonts/newsreader-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin, rest (full file) */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../assets/fonts/newsreader-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-001F, U+007F-009F, U+00A2-00A6, U+00A9, U+00AC-00AF, U+00B1-00B3, U+00B5-00B6, U+00B8-00B9, U+00BC-00BE, U+00C2-00C6, U+00CA-00CC, U+00CE, U+00D0, U+00D4-00D6, U+00D8-00D9, U+00DB, U+00DD-00DF, U+00E2-00E6, U+00EA-00EC, U+00EE, U+00F0, U+00F4-00F9, U+00FB, U+00FD-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0329, U+2000-2012, U+2015-2017, U+201A-201B, U+201E-2025, U+2027-206F, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin, subset */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../assets/fonts/newsreader-normal-latin-subset.8b2a6981.woff2) format('woff2');
  unicode-range: U+0020-007E, U+00A0-00A1, U+00A7-00A8, U+00AA-00AB, U+00B0, U+00B4, U+00B7, U+00BA-00BB, U+00BF-00C1, U+00C7-00C9, U+00CD, U+00CF, U+00D1-00D3, U+00D7, U+00DA, U+00DC, U+00E0-00E1, U+00E7-00E9, U+00ED, U+00EF, U+00F1-00F3, U+00FA, U+00FC, U+0308, U+2013-2014, U+2018-2019, U+201C-201D, U+2026, U+20AC;
}

/* Refined Clinical — approved local direction, 16 October 2026.
   Existing self-hosted fonts above; source text and structured data stay in HTML. */
:root {
  --ivory:#faf8f4; --ivory-deep:#eeeae1; --sand:#e6dfd1;
  --sand-line:#ccc9be; --sand-mute:#777064;
  --ink:#292c27; --ink-soft:#62645b; --bronze:#625238; --bronze-deep:#51432d;
  --font-display:"Newsreader",Georgia,serif;
  --font-body:"Hanken Grotesk",Arial,sans-serif;
  --fs-hero:clamp(2.5rem,4.6vw,4.25rem);
  --fs-h2:clamp(2rem,3.2vw,3.1rem); --fs-h3:clamp(1.5rem,2vw,1.9rem);
  --fs-lead:1.1875rem; --fs-body:1.0625rem; --fs-small:.9375rem;
  --sp-1:.5rem; --sp-2:1rem; --sp-3:1.75rem; --sp-4:2.75rem;
  --sp-5:4.5rem; --sp-6:7rem; --measure:42rem; --wrap:78rem;
}
* {box-sizing:border-box;margin:0;padding:0}
html {scroll-behavior:smooth;scroll-padding-top:2rem}
body {overflow-wrap:anywhere;font:var(--fs-body)/1.65 var(--font-body);color:var(--ink);background:var(--ivory);-webkit-font-smoothing:antialiased}
::selection {background:var(--ink);color:var(--ivory)}
img {display:block;max-width:100%;height:auto}
/* <picture> only chooses the AVIF/WebP source; the <img> keeps its layout as if it were the direct child. */
picture {display:contents}
button,input,textarea,select {font:inherit}
button,a,summary {touch-action:manipulation}
a {color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}
a:hover {color:var(--bronze)}
:focus-visible {outline:3px solid var(--bronze);outline-offset:5px}
main:focus {outline:none}
[hidden] {display:none!important}
h1,h2,h3 {font-family:var(--font-display);font-weight:400;text-wrap:balance;overflow-wrap:break-word}
h1 {font-size:var(--fs-hero);line-height:1.06;letter-spacing:-.025em}
h2 {font-size:var(--fs-h2);line-height:1.14;letter-spacing:-.02em}
h3 {font-size:var(--fs-h3);line-height:1.25}
p,li {max-width:var(--measure)}
.wrap {width:min(var(--wrap),calc(100% - 7rem));margin-inline:auto}
.skip {position:absolute;left:1rem;top:-100px;z-index:50;padding:12px 20px;background:var(--ink);color:var(--ivory)}
.skip:focus {top:12px;color:var(--ivory)}
/* A typographic masthead with real language choices. */
.site-head {width:min(var(--wrap),calc(100% - 7rem));min-height:108px;margin:auto;display:flex;align-items:center;gap:28px;border-bottom:1px solid var(--sand-line)}
.brand {display:flex;align-items:center;gap:12px;text-decoration:none;margin-right:auto}
.brand img {width:36px;height:30px}
.brand-text {line-height:1.2}
.brand-text strong {display:block;font:500 26px/1.2 var(--font-display)}
.brand-text small {display:block;font-size:12px;color:var(--ink-soft);margin-top:6px;letter-spacing:.025em}
.site-nav {display:flex;align-items:center;gap:22px;order:2}
.site-nav a {font-size:14px;text-decoration:none;padding:13px 0}
.site-nav a:hover,.site-nav a[aria-current=page] {text-decoration:underline}
.langs {display:flex;align-items:center;gap:4px;order:3}
.langs a {min-width:40px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;text-decoration:none}
.langs a[aria-current] {text-decoration:underline}
.nav-toggle {display:none;min-height:44px;padding:8px 0;background:none;border:0;border-bottom:1px solid var(--sand-line);color:var(--ink);cursor:pointer}
/* Clear primary contact, with the existing assessment route retained as text. */
.btn {display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 24px;border:1px solid var(--ink);border-radius:3px;background:var(--ink);color:var(--ivory);font:500 16px/1.4 var(--font-body);text-align:center;text-decoration:none;cursor:pointer;transition:background .18s ease}
.btn:hover {background:var(--bronze);border-color:var(--bronze);color:var(--ivory)}
.btn-ghost {background:transparent;color:var(--ink)}
/* WhatsApp action: recognisable green, white label 4.89:1 (#008069), hover 7.67:1 (#075E54). Size, padding and radius stay .btn. */
.btn-whatsapp {background:#008069;border-color:#008069;color:#fff}
.btn-whatsapp:hover {background:#075E54;border-color:#075E54;color:#fff}
.btn-whatsapp .wa-glyph {flex:none;margin-right:10px}
.btn-link {background:transparent;color:var(--ink);border-color:transparent;border-radius:0;padding:10px 0;min-height:44px;text-align:left;justify-content:flex-start;text-decoration:underline}
.btn-link:hover {background:transparent;border-color:transparent;color:var(--bronze)}
.hero-cta,.urgent-cta {display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px}
.hero-cta .btn-primary {order:0}
.hero-cta .btn-link {order:1}
.btn-note {font-size:14px;color:var(--ink-soft);margin-top:14px}
/* Tap-to-call line above each WhatsApp button: quiet label, legible number, 44px tap target. */
.call-line {display:flex;flex-wrap:wrap;align-items:baseline;gap:0 10px;margin-bottom:4px;font-size:15px;color:var(--ink-soft)}
.call-line a {display:inline-flex;align-items:center;min-height:44px;color:var(--ink);font-weight:500;font-size:17px;font-variant-numeric:tabular-nums;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:var(--sand-line)}
.call-line a:hover {color:var(--bronze);text-decoration-color:currentColor}
.call-line + .urgent-cta {margin-top:0}
.urgent-hero .call-line {margin-top:28px}
/* Portrait and treatment photographs retain their full visual context. */
.hero {padding-block:48px 40px}
.hero-grid {display:grid;grid-template-columns:1.08fr .92fr;gap:64px;align-items:center}
.hero-grid>* {min-width:0}
.hero-copy {padding-block:20px}
.hero-copy h1 {margin-bottom:26px;max-width:17ch}
.page-home h1 {font-size:clamp(3rem,5.4vw,4.875rem);max-width:15ch}
.hero-lead {font-size:var(--fs-lead);color:var(--ink-soft);max-width:42ch;margin-bottom:26px}
.hero-where {color:var(--ink-soft);font-size:15px;margin-bottom:24px}
.hero-photo {height:630px}
.hero-photo img {width:100%;height:100%;object-fit:contain;object-position:center}
.hero-photo img.blend {mix-blend-mode:multiply}
.hero-photo.plate {height:590px}
.hero-photo.plate img {object-fit:cover;object-position:center 35%}
.visit-facts {margin:24px 0;font-size:14px;color:var(--ink-soft)}
.visit-facts p+p {margin-top:8px}
.visit-facts p:not(:first-child) {color:var(--ink)}
/* Tap targets (D108, mobile-a11y-polish): vertical padding on these inline links enlarges the hit area to about
   30 px without moving the line (padding on inline boxes does not change line height). */
.visit-facts a,.mt-2>a:only-child {padding-block:6px}
/* Service routes form an index, not a collection of decorative cards. */
.doors-section {padding-block:10px 28px}
.doors {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;list-style:none;border-top:1px solid var(--sand-line);border-bottom:1px solid var(--sand-line)}
.doors li {display:flex}
.doors a {display:flex;flex-direction:column;gap:8px;width:100%;padding:25px 0;text-decoration:none}
.door-label {font-size:18px;line-height:1.4}
.door-to {font-size:14px;color:var(--ink-soft);margin-top:auto}
.doors a:hover .door-label {text-decoration:underline;text-underline-offset:5px}
/* Editorial content: meaningful sections, readable measure and quiet rhythm. */
.section {padding-block:88px}
.section-tint,.contact {background:var(--ivory-deep)}
.offset {display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}
.offset>* {min-width:0}
.offset>header h2 {max-width:17ch}
.offset>header .lead {margin-top:20px}
.prose>p+p {margin-top:1.15em}
/* Sub-headings inside running text (sitewide since 2026-11-08, D159; first used page-scoped on lumbago): the reset (* {margin:0})
   left .prose>h3 with no space below (and none above unless a .mt-3/.mt-4 class gave it). 44/12, 28 px top on phones, none as a first child.
   Wins over .mt-4 (same 44 px on desktop) and .mt-3 (28 -> 44 px on desktop); channel-profile titles keep their own, more specific rule. */
.prose>h3 {margin-top:var(--sp-4);margin-bottom:12px}
.prose>h3:first-child {margin-top:0}
@media(max-width:760px){ .prose>h3 {margin-top:var(--sp-3)} .prose>h3:first-child {margin-top:0} }
.prose strong {font-weight:600}
.lead {font-size:var(--fs-lead);color:var(--ink-soft)}
.home-original-statement {font:400 30px/1.28 var(--font-display);margin-bottom:24px}
.marked {list-style:none}
.marked>li {padding:22px 0;border-bottom:1px solid var(--sand-line)}
.marked>li:first-child {padding-top:0}
.marked>li p {color:var(--ink-soft)}
.marked>li h3 {font-size:27px}
ol.marked {counter-reset:step}
ol.marked>li {counter-increment:step}
ol.marked>li h3::before {content:counter(step) ".";margin-right:.4em;color:var(--bronze);font-variant-numeric:lining-nums tabular-nums}
.home-service-layout {display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;margin-top:42px;align-items:start}
.service-feature img {width:100%;height:610px;object-fit:contain;mix-blend-mode:multiply}
.svc-row {display:grid;grid-template-columns:1fr 44px;column-gap:20px;padding:30px 0;border-bottom:1px solid var(--sand-line)}
.svc-row:first-child {padding-top:0}
.svc-row h3 {font-size:29px}
.svc-row h3 a {text-decoration:none}
.svc-row h3 a:hover {text-decoration:underline}
.svc-row p {grid-column:1;font-size:17px;color:var(--ink-soft);margin-top:14px}
.svc-where {display:block;font-size:14px;margin-top:12px}
.svc-go {grid-column:2;grid-row:1/3;display:flex;align-items:center;justify-content:center;min-height:44px;text-decoration:none}
.svc-go svg {width:24px;height:24px}
.svc-urgent {display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:60px;padding-top:40px;border-top:1px solid var(--sand-line)}
.svc-urgent h3 {margin-bottom:16px}
.svc-urgent p {color:var(--ink-soft)}
.svc-urgent .rate {font-size:18px;color:var(--ink);margin-bottom:14px}
.svc-urgent .btn {margin-top:12px}
.about-grid {display:grid;grid-template-columns:1.2fr .8fr;gap:90px;align-items:center}
.about-grid>* {min-width:0}
.about-grid h2 {max-width:22ch}
.about-grid .photo img {max-height:600px;width:100%;object-fit:contain;mix-blend-mode:multiply}
.about-grid .photo.plate img {height:520px;object-fit:cover;object-position:center 30%;mix-blend-mode:normal}
.about-teaser .about-grid {grid-template-columns:1.15fr .85fr}
.pullquote {font:400 clamp(2rem,3vw,2.75rem)/1.22 var(--font-display);max-width:27ch;letter-spacing:-.02em}
.attrib {font-size:15px;color:var(--ink-soft);margin-top:22px}
.history {background:var(--ivory-deep);padding:40px;max-width:820px;margin:auto}
.history .era,.offset>header .era {font-size:15px;color:var(--bronze)}
/* Section eyebrows ("Tarifas", "Preguntas frecuentes"): the history eyebrow style, spaced like the history H3 below it. */
.offset>header .era {margin-bottom:16px}
.history h3 {margin:16px 0 24px}
.history ol {padding-left:25px}
.history li+li {margin-top:22px}
.history blockquote {font:italic 400 21px/1.5 var(--font-display);margin-top:12px}
.history .note {margin-top:25px;font-size:15px;color:var(--ink-soft)}
.statement {padding-block:65px;border-block:1px solid var(--sand-line)}
.statement p {font:400 clamp(2rem,3vw,2.75rem)/1.2 var(--font-display);max-width:30ch}
.statement em {color:var(--bronze)}
/* Native disclosures preserve all approved answers and FAQ schema matching. */
.faq {border-top:1px solid var(--sand-line)}
.faq details {border-bottom:1px solid var(--sand-line)}
.faq summary {cursor:pointer;min-height:58px;padding:20px 30px 20px 0;list-style:none;position:relative;font:500 18px/1.45 var(--font-body)}
.faq summary::-webkit-details-marker {display:none}
.faq summary::after {content:"";position:absolute;right:5px;top:27px;width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}
.faq details[open] summary::after {transform:rotate(225deg);top:31px}
.faq details>div {padding-bottom:25px;color:var(--ink-soft)}
.faq details>div p+p {margin-top:15px}
.contact-grid {display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}
.contact-grid>* {min-width:0}
.contact h2 {max-width:17ch}
.contact dl {display:grid;grid-template-columns:145px 1fr;gap:15px 25px;align-items:baseline}
.contact dt {font-size:15px;color:var(--ink-soft)}
.contact dd {font-size:16px;min-width:0;overflow-wrap:anywhere}
.contact dd a {display:inline-block;min-height:32px}
.contact .langs-note {margin-top:25px;font-size:15px;color:var(--ink-soft)}
.site-foot {border-top:1px solid var(--sand-line);padding:60px 0 30px}
.foot-grid {display:grid;grid-template-columns:1.2fr .7fr 1fr;gap:65px;margin-bottom:40px}
.foot-grid>* {min-width:0}
.site-foot .brand-text strong {font-size:24px}
.site-foot .brand-text small {font-size:13px}
.foot-tag {font:italic 400 22px/1.4 var(--font-display);max-width:24ch;margin-top:22px;color:var(--ink-soft)}
.site-foot h3 {font-family:var(--font-body);font-size:16px;font-weight:500;margin-bottom:15px}
.site-foot ul {list-style:none}
.site-foot li {font-size:15px;color:var(--ink-soft);margin-bottom:10px}
.site-foot li a {display:inline-block;padding:5px 0;text-decoration:none;min-height:32px}
.site-foot a:hover {text-decoration:underline}
.foot-legal {display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--sand-line);padding-top:20px;font-size:14px}
.foot-legal>a {padding:12px 0;min-height:44px}
.foot-legal>a+a {margin-left:28px}
.foot-legal>a:last-of-type {margin-right:auto}
/* Legal notice: owner details as label/value pairs; draft placeholders highlighted (never published, check-production). */
.legal-data {display:grid;grid-template-columns:max-content minmax(0,1fr);gap:10px 28px;margin-top:1.15em}
.legal-data dt {font-weight:600}
.legal-data dd {margin:0}
mark.pending {font:inherit;background:#ffe58a;outline:1px solid #c9a227;color:var(--ink);padding:0 .25em;border:0;border-radius:2px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.legal-data a {display:inline-flex;align-items:center;min-height:44px;margin-block:-11px}
/* Read mode uses the same system, with headings attached to their paragraphs. */
.legal-head {padding-bottom:0;max-width:960px}
.legal-head .lead {margin-top:24px}
.legal-head .small-note {margin-top:16px}
.legal-doc {max-width:960px}
.legal-doc .prose {max-width:720px}
.legal-doc .prose>ul {padding-left:1.25em;margin-top:1.15em}
.legal-doc .prose>ul li+li {margin-top:.9em}
.legal-doc .prose>ul+p,.legal-doc .prose>dl+p {margin-top:1.15em}
.legal-doc .prose h2 {font-size:32px;margin:40px 0 18px}
.legal-doc .prose h2:first-child {margin-top:0}
.legal-doc .offset+.offset {margin-top:55px}
.legal-doc .offset {grid-template-columns:1fr;gap:24px}
.legal-doc .offset>header h2 {max-width:none;font-size:32px}
/* Urgent care retains its factual boundaries and explicit 112 notice. */
.urgent-hero {padding-block:75px 55px}
.urgent-grid {display:grid;grid-template-columns:1.1fr .9fr;gap:90px;align-items:center}
.urgent-grid>* {min-width:0}
.urgent-hero h1 {max-width:15ch;margin-bottom:26px}
.urgent-hero .lead {max-width:43ch}
.urgent-cta {margin-top:28px;gap:15px 28px}
.rate-card {padding:40px;background:var(--ink);color:var(--ivory)}
.rate-card .rate-line {font:400 32px/1.25 var(--font-display)}
.rate-card .rate-sub {margin-top:25px;font-size:16px;color:var(--sand)}
.rate-card :focus-visible {outline-color:var(--ivory)}
.disclaimer-112 {margin-top:24px;font-size:16px;padding-block:20px;border-block:1px solid var(--sand-line)}
.sos-pill {display:block;margin:0 auto;padding:14px 22px;background:var(--ink);color:var(--ivory);font-size:14px;text-align:center;text-decoration:none;min-height:48px}
.sos-pill:hover {background:var(--bronze);color:var(--ivory)}
/* Keep keyboard-focused content above fixed contact controls at every width. */
html.sos-managed {scroll-padding-bottom:calc(100px + env(safe-area-inset-bottom))}
.sos-managed .sos-pill {position:fixed;right:22px;bottom:22px;z-index:30;border-radius:3px}
.urgent-bar {display:none}
.sos-managed .is-docked {visibility:hidden;pointer-events:none}
body.page-urgent .sos-pill {display:none}
body.page-mayores {font-size:1.125rem}
body.page-mayores .faq summary,body.page-mayores .contact dd {font-size:1.125rem}
.pending {font-size:14px;background:var(--ivory-deep);color:var(--ink-soft);padding:8px 12px;border:1px solid var(--sand-line)}
.center-measure {max-width:var(--measure)}
.mt-2 {margin-top:var(--sp-2)} .mt-3 {margin-top:var(--sp-3)} .mt-4 {margin-top:var(--sp-4)} .mb-3 {margin-bottom:var(--sp-3)}
.small-note {font-size:14px;color:var(--ink-soft)}
.photo-block img {width:100%}
/* Tablet has its own navigation break before the long ES labels collide. */
@media(max-width:1150px){
 .site-head,.wrap {width:calc(100% - 64px)}
 .site-head {flex-wrap:wrap;gap:8px 20px;padding-block:18px;min-height:96px}
 .site-head .langs {order:2}
 .site-nav {order:4;width:100%;justify-content:space-between;gap:12px;border-top:1px solid var(--sand-line);padding-top:8px}
 .js .nav-toggle {display:block;order:3}
 .js .site-nav:not(.open) {display:none}
 .hero-grid {gap:35px}
 .hero-photo {height:570px}
 .hero-photo.plate {height:530px}
 .home-service-layout,.offset,.contact-grid {gap:45px}
 .about-grid,.urgent-grid {gap:50px}
 .foot-grid {gap:35px}
 .rate-card {padding:30px}
}
@media(max-width:760px){
 :root {--fs-hero:2.5rem;--fs-h2:2.125rem;--fs-lead:1.0625rem;--fs-body:1rem}
 html {scroll-padding-top:20px}
 .site-head,.wrap {width:calc(100% - 40px)}
 .site-head {min-height:88px;gap:8px 14px;padding-block:16px}
 .brand-text strong {font-size:21px}
 .brand-text small {font-size:12px}
 .langs {gap:0}.langs a {min-width:32px}
 .site-nav {display:grid;grid-template-columns:1fr 1fr;gap:4px 20px}
 .site-nav a {font-size:16px;min-height:48px;padding-block:10px}
 .nav-toggle {font-size:14px}
 .hero {padding-block:34px 25px}
 .hero-grid {display:flex;flex-direction:column;gap:22px}
 .hero-copy {padding:0;width:100%}
 .hero-copy h1 {max-width:19ch;margin-bottom:24px}
 .page-home h1 {font-size:46px;max-width:15ch}
 .hero-lead {max-width:100%;margin-bottom:24px}
 .hero-photo {height:410px;width:100%}
 .hero-photo.plate {height:450px}
 .hero-photo.plate img {object-position:center 30%}
 .hero-cta {gap:8px;align-items:flex-start;flex-direction:column}
 .btn {font-size:16px;min-height:50px;padding:13px 20px}
 .btn-link {padding:10px 0;min-height:44px}
 .visit-facts {font-size:14px;margin:20px 0}
 .btn-note {font-size:14px;margin-top:12px}
 .doors {grid-template-columns:1fr 1fr;gap:0 22px}
 .doors a {padding:20px 0}
 .doors li:nth-child(n+3) {border-top:1px solid var(--sand-line)}
 .door-label {font-size:18px}.door-to {font-size:14px}
 .section {padding-block:56px}
 .offset,.contact-grid,.about-grid,.about-teaser .about-grid,.urgent-grid {grid-template-columns:1fr;gap:30px}
 .offset>header h2,.contact h2 {max-width:23ch}
 .home-original-statement {font-size:26px}
 .home-service-layout {display:flex;flex-direction:column;gap:25px;margin-top:28px}
 .service-feature {width:100%}.service-feature img {height:360px}
 .svc-row {padding:25px 0;column-gap:12px}
 .svc-row h3 {font-size:27px}
 .svc-row p {font-size:16px}
 .svc-go {align-self:start;grid-row:1;min-height:48px}
 .svc-urgent {grid-template-columns:1fr;gap:25px;margin-top:38px;padding-top:30px}
 .about-grid .photo img {max-height:460px}
 .about-grid .photo.plate img {height:410px;object-position:center 30%}
 .pullquote {font-size:30px}
 .history {padding:28px 24px}
 .statement {padding-block:42px}
 .statement p {font-size:32px}
 .marked>li h3 {font-size:25px}
 .faq summary {font-size:17px;padding-block:20px;min-height:58px}
 .contact dl {grid-template-columns:1fr;gap:4px}
 .contact dt {margin-top:15px}
 .contact dd {font-size:16px}
 .contact dd a {padding-block:8px;min-height:44px}
 .contact .langs-note {font-size:15px}
 .foot-grid {grid-template-columns:1fr 1fr;gap:30px 20px}
 .foot-grid>div:first-child {grid-column:1/-1}
 .site-foot {padding-top:42px;padding-bottom:86px}
 .site-foot .brand-text strong {font-size:24px}
 .site-foot .brand {align-items:flex-start}
 .site-foot li a {min-height:44px;padding-block:10px}
 .site-foot li {margin-bottom:4px}
 .foot-tag {font-size:21px;max-width:28ch}
 .foot-legal {flex-wrap:wrap;gap:20px}
 .foot-legal>a+a {margin-left:0}
 .legal-data {grid-template-columns:minmax(0,1fr);gap:2px}
 .legal-data dd+dt {margin-top:12px}
 .legal-doc .prose h2,.legal-doc .offset>header h2 {font-size:28px}
 .legal-doc .offset+.offset {margin-top:35px}
 .urgent-hero {padding-block:40px 20px}
 .urgent-hero h1 {max-width:14ch}
 .urgent-cta {gap:12px 22px}
 .urgent-cta .btn-primary {width:100%}
 .rate-card {padding:30px 26px}
 .rate-card .rate-line {font-size:29px}
 .sos-managed .sos-pill {right:12px;left:12px;bottom:12px;padding-bottom:max(14px,env(safe-area-inset-bottom))}
 .urgent-bar {display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px 20px;background:var(--ivory);border-top:1px solid var(--sand-line)}
 .sos-managed .urgent-bar {position:fixed;bottom:0;left:0;right:0;z-index:30;padding-bottom:max(12px,env(safe-area-inset-bottom))}
 .urgent-bar .btn {font-size:15px;padding:10px 12px}
 .urgent-bar .btn-whatsapp .wa-glyph {width:18px;height:18px;margin-right:8px}
}
@media(max-width:390px){
 .site-head {gap:7px 10px}
 .brand-text strong {font-size:19px}
 .brand-text small {font-size:12px}
 .langs a {min-width:28px}
 .nav-toggle {font-size:13px}
 .page-home h1 {font-size:41px}
 h1 {font-size:36px}
 .foot-grid {grid-template-columns:1fr}.foot-grid>div:first-child {grid-column:auto}
}
@media(prefers-reduced-motion:reduce){
 html {scroll-behavior:auto}
 .btn {transition:none}
}
@media print{
 .site-head,.site-foot,.sos-pill,.urgent-bar,.hero-cta,.urgent-cta {display:none!important}
 .wrap {width:100%}.section {padding-block:25px}
 body {background:white;color:black;font-size:12pt}
 .hero-photo {height:280px}
 .faq details>div {display:block!important}
}

/* Navigation option A (Igor D34/D40-D42): grouped disclosures on native details/summary, no hover-only state.
   Generated markup: scripts/site-chrome.mjs. Footer site map, breadcrumbs and related-page rows below. */
.site-head {position:relative}
.nav-a .nav-top {display:flex;align-items:center;gap:30px;list-style:none}
.nav-a .nav-top>li {max-width:none}
.nav-group {position:relative}
.nav-group>summary {display:flex;align-items:center;gap:9px;min-height:44px;font-size:14px;list-style:none;cursor:pointer}
.nav-group>summary::-webkit-details-marker {display:none}
.nav-group>summary::after {content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .18s ease}
.nav-group[open]>summary::after {transform:translateY(1px) rotate(225deg)}
.nav-group>summary:hover,.nav-group[open]>summary {color:var(--bronze)}
.nav-group.has-current>summary {text-decoration:underline;text-underline-offset:4px}
.nav-panel {position:absolute;top:calc(100% + 18px);left:-28px;z-index:40;width:max-content;min-width:15rem;padding:20px 30px 18px;background:var(--ivory);border:1px solid var(--sand-line);box-shadow:0 22px 40px -28px rgb(41 44 39 / .35)}
.nav-panel ul {list-style:none}
.nav-a .nav-panel a {display:flex;align-items:center;min-height:40px;padding:6px 0;font-size:16px;text-decoration:none}
.nav-a .nav-panel a:hover,.nav-a .nav-panel a[aria-current=page],.nav-a .nav-top>li>a[aria-current=page] {text-decoration:underline;text-underline-offset:4px}
.nav-sub {margin:0 0 4px 14px;padding-left:14px;border-left:1px solid var(--sand-line)}
.nav-a .nav-panel .nav-sub a {min-height:36px;font-size:15px;color:var(--ink-soft)}
.nav-a .nav-panel .nav-sub a:hover {color:var(--bronze)}
.nav-a .nav-urgent {display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid var(--ink);border-radius:3px;font-weight:500;text-decoration:none}
.nav-a .nav-urgent:hover {background:var(--ink);color:var(--ivory);text-decoration:none}
.nav-a .nav-contact {display:none}
.site-nav .nav-contact .btn {padding:13px 20px;font-size:16px;text-decoration:none}
.site-nav .nav-contact .call-line a {font-size:17px;padding:0}
@media (prefers-reduced-motion:reduce){.nav-group>summary::after{transition:none}}
@media(max-width:1150px){
 .site-nav.nav-a {display:block;padding-top:0}
 .js .site-nav.nav-a:not(.open) {display:none}
 .nav-a .nav-top {display:block;width:100%}
 .nav-a .nav-top>li {border-bottom:1px solid var(--sand-line)}
 .nav-group>summary,.nav-a .nav-top>li>a {display:flex;align-items:center;min-height:56px;font-size:17px;padding:0}
 .nav-group>summary {justify-content:space-between;padding-right:6px}
 .nav-group>summary::after {width:8px;height:8px}
 .nav-panel {position:static;width:auto;min-width:0;padding:0 0 14px;border:0;background:none;box-shadow:none}
 .nav-a .nav-panel a,.nav-a .nav-panel .nav-sub a {min-height:44px;font-size:16px}
 .nav-a .nav-panel>ul {margin-left:2px;padding-left:16px;border-left:1px solid var(--sand-line)}
 .nav-a .nav-panel a {color:var(--ink-soft)}
 body:has(.site-nav.open) .urgent-bar,body:has(.site-nav.open) .sos-pill {visibility:hidden}
 .nav-a .nav-urgent {border:0;padding:0;border-radius:0;width:100%}
 .nav-a .nav-urgent:hover {background:none;color:var(--bronze)}
 .nav-a .nav-contact {display:grid;gap:4px;padding:18px 0 8px}
 .nav-a .nav-contact .btn {width:100%}
}
@media(max-width:760px){.site-nav.nav-a {grid-template-columns:none}}

.foot-grid-map {grid-template-columns:minmax(0,3.4fr) minmax(0,1fr);gap:40px 56px}
.foot-grid-map>div:first-child {grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;align-items:end;column-gap:56px}
.foot-map {display:grid;grid-template-columns:1.4fr 1fr 1.1fr .8fr;gap:28px}
.foot-map a[aria-current=page] {text-decoration:underline}
@media(max-width:1150px){.foot-grid-map {grid-template-columns:1fr}.foot-grid-map>div:first-child {grid-column:auto;display:block}}
@media(max-width:760px){.foot-map {grid-template-columns:1fr 1fr;gap:30px 20px}}

.crumbs {padding-top:22px}
.crumbs ol {display:flex;flex-wrap:wrap;list-style:none;font-size:14px;color:var(--ink-soft)}
.crumbs li {display:flex;align-items:center;max-width:none}
.crumbs li:not(:last-child)::after {content:"/";padding:0 10px;color:var(--sand-mute)}
.crumbs a {display:inline-flex;align-items:center;min-height:44px;color:var(--ink-soft);text-underline-offset:4px}
.crumbs a:hover {color:var(--bronze)}
.crumbs a[aria-current=page] {color:var(--ink);text-decoration:none}
.crumbs + section {padding-top:24px}
@media(max-width:760px){.crumbs {padding-top:10px}.crumbs + section {padding-top:12px}}

.related {padding-block:72px 88px}
.related h2 {font-size:var(--fs-h3);margin-bottom:22px}
.rel-list {list-style:none;border-top:1px solid var(--sand-line)}
.rel-row {position:relative;display:grid;grid-template-columns:1fr 44px;column-gap:20px;max-width:none;padding:24px 0;border-bottom:1px solid var(--sand-line)}
.rel-row h3 {font-size:25px}
.rel-row h3 a {text-decoration:none}
.rel-row h3 a::after {content:"";position:absolute;inset:0}
.rel-row:hover h3 a {text-decoration:underline;text-underline-offset:5px;color:var(--bronze)}
.rel-row:has(a:focus-visible) {outline:3px solid var(--bronze);outline-offset:5px}
.rel-row h3 a:focus-visible {outline:none}
.rel-row p {grid-column:1;margin-top:6px;font-size:16px;color:var(--ink-soft)}
.rel-row .svc-go {pointer-events:none}
@media(max-width:760px){.related {padding-block:48px 56px}.rel-row h3 {font-size:23px}}
@media print{.crumbs,.related .svc-go{display:none}}

/* About page (content-SEO fixes, Igor D55 #4, 2026-10-18): motto under the name, qualification rows, diploma figures. */
.page-sobre-mi .hero-copy h1,.page-about .hero-copy h1 {margin-bottom:14px}
.hero-motto {font:italic 400 clamp(1.375rem,2vw,1.625rem)/1.3 var(--font-display);color:var(--bronze);max-width:30ch;margin-bottom:22px}
.creds>li {padding:18px 0}
.creds>li h3 {font-size:22px;line-height:1.3}
.creds>li p {font-size:16px}
.diplomas {list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:28px}
.diplomas li {max-width:none}
.diplomas a {display:block;padding:6px;border:1px solid var(--sand-line);background:#fff;transition:border-color .18s ease}
.diplomas a:hover {border-color:var(--bronze)}
.diplomas img {width:100%;height:auto}
.diplomas figcaption {margin-top:12px;font-size:15px;color:var(--ink-soft)}
@media(max-width:760px){.diplomas {grid-template-columns:1fr;gap:24px}}
@media(prefers-reduced-motion:reduce){.diplomas a {transition:none}}

/* Opt-in /g/ profile channel (layout "profile", scripts/channel-profile.cjs): profile channels reuse the home components without changing short channel pages. */
body.page-channel.channel-profile .channel-profile-title {font-size:clamp(46px,5vw,68px);line-height:1.04;max-width:17ch;margin-bottom:24px}
body.page-channel.channel-profile .visit-facts {font-size:16px}
body.page-channel.channel-profile .hero-photo img {mix-blend-mode:multiply}
body.page-channel.channel-profile .profile-section-title {font-size:var(--fs-h2);line-height:1.12;margin-bottom:24px}
body.page-channel.channel-profile .profile-row-title {font-size:27px;line-height:1.2}
body.page-channel.channel-profile .profile-row-title a {text-decoration:none}
body.page-channel.channel-profile .profile-row-title a:hover {text-decoration:underline}
body.page-channel.channel-profile .svc-urgent {margin-top:0;padding-top:0;border-top:0}
body.page-channel.channel-profile .channel-profile-language+ .channel-profile-language {border-top:1px solid var(--sand-line)}
body.page-channel.channel-profile .profile-lang-jump {margin:-6px 0 22px;font-size:15px}
@media(max-width:760px){body.page-channel.channel-profile .profile-lang-jump {margin:-14px 0 6px}}
body.page-channel.channel-profile .profile-address-link {margin-top:10px}
body.page-channel.channel-profile [id] {scroll-margin-top:24px}
body.page-channel.channel-profile .price-group .profile-row-title {margin-bottom:18px}
body.page-channel.channel-profile ol.marked>li h4::before {content:counter(step) ".";margin-right:.4em;color:var(--bronze);font-variant-numeric:lining-nums tabular-nums}
body.page-channel.channel-profile .contact-grid {grid-template-columns:1.1fr .9fr;gap:64px}
body.page-channel.channel-profile .contact dl {margin-block:24px;grid-template-columns:110px minmax(0,1fr)}
body.page-channel.channel-profile .home-service-layout>* {min-width:0}
body.page-channel.channel-profile h4 {font-family:var(--font-display);font-weight:400;text-wrap:balance;overflow-wrap:break-word}
body.page-channel.channel-profile .service-feature img {height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;mix-blend-mode:normal}
body.page-channel.channel-profile #es,body.page-channel.channel-profile #en {scroll-margin-top:-2rem}
body.page-channel.channel-profile .visit-facts p:first-child {color:var(--ink)}
body.page-channel.channel-profile .svc-row .profile-row-title {font-size:29px}
body.page-channel.channel-profile .offset .prose {max-width:none}
body.page-channel.channel-profile .profile-mini {display:none}
@media(max-width:760px){body.page-channel.channel-profile .profile-mini {display:block;float:right;width:100px;height:134px;margin:4px 0 8px 16px;overflow:hidden;background:var(--paper)}
 body.page-channel.channel-profile .profile-mini img {display:block;width:168px;max-width:none;height:auto;margin:-22px 0 0 -34px;mix-blend-mode:multiply}
 body.page-channel.channel-profile .visit-facts {clear:both;margin-bottom:12px}
 body.page-channel.channel-profile .channel-profile-title {margin-bottom:16px}
 body.page-channel.channel-profile .hero-lead {line-height:1.45;margin-bottom:16px}}
@media(max-width:760px){
 body.page-channel.channel-profile .channel-profile-title {font-size:clamp(36px,10vw,46px)}
 body.page-channel.channel-profile .profile-section-title {font-size:32px}
 body.page-channel.channel-profile .profile-row-title {font-size:25px}
 body.page-channel.channel-profile .contact-grid {grid-template-columns:1fr;gap:30px}
 body.page-channel.channel-profile .contact dl {grid-template-columns:1fr;gap:2px}
 body.page-channel.channel-profile .service-feature img {aspect-ratio:4/3}
 body.page-channel.channel-profile main p>a:only-child {display:inline-flex;align-items:center;min-height:44px}
 body.page-channel.channel-profile .contact dd+dt {margin-top:16px}
 body.page-channel.channel-profile .btn {max-width:100%;white-space:normal;text-align:left}
}

/* Channel landing pages (/qr/, /g/, /panatta/, /villa/; deploy/channels.json, scripts/channel-pages.cjs): one screen per
   language, WhatsApp first; the second language repeats the block below a rule, without the portrait. */
.page-channel .site-head {min-height:96px}
.channel {padding-block:56px 64px}
.channel-second {border-top:1px solid var(--sand-line);padding-block:48px 64px}
.channel-grid {display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}
.channel-grid>* {min-width:0}
.channel h1,.channel h2 {max-width:17ch;margin-bottom:22px}
.channel-second h2 {font-size:clamp(1.9rem,2.8vw,2.6rem);line-height:1.12}
.channel .lead {max-width:44ch;margin-bottom:22px}
.channel .hero-cta {margin-top:4px}
.channel-photo {max-width:340px;justify-self:end}
.channel-photo img {width:100%;height:auto;mix-blend-mode:multiply}
.channel-foot {padding:28px 0 44px;font-size:14px;color:var(--ink-soft)}
.channel-foot p {max-width:60rem}
.channel-foot p+p {margin-top:10px}
.channel-foot a {display:inline-block;padding:12px 0;min-height:44px}
.channel-112 {margin-top:8px;color:var(--ink)}
@media(max-width:760px){
 .page-channel .site-head {min-height:80px}
 .channel {padding-block:30px 44px}
 .channel-second {padding-block:36px 44px}
 .channel-grid {display:flex;flex-direction:column;gap:28px}
 .channel h1 {max-width:16ch}
 .channel-photo {order:2;max-width:220px;justify-self:start;align-self:flex-start}
 .channel-foot {padding:24px 0 36px}
}

/* Cookie consent bar (js/consent.js, D64; layout D66 after the European Commission banner): fixed to the
   bottom so it never shifts the page (no CLS); not a modal. Info icon + text, then "Accept all" and "Accept only
   essential" as two identical solid buttons of equal width (grid columns of 1fr): one row on wide screens, under
   the text on medium ones, a compact bar with the two side by side under the text on phones (D108). While it is open (html.consent-open, height in
   --consent-h) the page gets matching bottom padding and the fixed contact shortcuts sit above it. */
.consent {position:fixed;left:0;right:0;bottom:0;z-index:45;max-height:50vh;max-height:50dvh;overflow-y:auto;background:var(--sand);border-top:2px solid var(--ink);box-shadow:0 -6px 24px rgba(41,44,39,.12);padding:18px 0 max(18px,env(safe-area-inset-bottom))}
.consent-in {display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"icon text actions";align-items:center;gap:14px 16px}
.consent-icon {grid-area:icon;align-self:start;width:24px;height:24px;margin-top:1px;color:var(--ink)}
.consent-icon-i {stroke:var(--sand)}
.consent-icon-dot {fill:var(--sand)}
.consent-text {grid-area:text;max-width:68ch;font-size:1rem;line-height:1.55;text-wrap:pretty}
.consent-text a {color:var(--ink);white-space:nowrap;padding-block:4px}
@media(max-width:360px){.consent-text a {white-space:normal}}
.consent-text a:hover {color:var(--bronze)}
.consent-actions {grid-area:actions;display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:12px;margin-left:24px}
.consent-actions .btn {min-width:9rem}
/* Per-purpose choice (consent-choose): «Elegir» is the lighter third control (outline, as wide as its word); accept and
   reject stay the two identical solid buttons. Its panel (built on the first tap) sits under the row: essential (always
   on, a static switch), the two switches, Save. */
.consent-actions .consent-more {min-width:0;padding-inline:16px}
.consent-panel {grid-column:2/-1;display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px 28px;padding-top:14px;border-top:1px solid rgba(41,44,39,.25)}
.consent-panel[hidden] {display:none}
.consent-purpose {display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:12px;align-items:center;flex:1 1 15rem;max-width:22rem}
.consent-purpose input[type=checkbox],.consent-switch-on {grid-row:1/span 2;align-self:start;appearance:none;-webkit-appearance:none;margin:0;width:44px;height:26px;border:2px solid var(--ink);border-radius:13px;background:radial-gradient(circle,var(--ink) 0 6px,transparent 7px) 2px 50%/18px 18px no-repeat,var(--ivory);cursor:pointer}
.consent-purpose input[type=checkbox]:checked,.consent-switch-on {background:radial-gradient(circle,var(--ivory) 0 6px,transparent 7px) calc(100% - 2px) 50%/18px 18px no-repeat,var(--ink)}
.consent-switch-on {display:block;cursor:default}
.consent-purpose input[type=checkbox]:focus-visible {outline-offset:2px}
.consent-purpose label,.consent-name {font-weight:500;line-height:1.35;cursor:pointer;padding-block:2px}
.consent-name {margin:0;cursor:default}
.consent-always {font-weight:400;color:var(--ink-soft)}
.consent-note {grid-column:2;margin:0;font-size:.875rem;line-height:1.4;color:var(--ink-soft)}
.consent-save {align-self:center;min-width:9rem}
/* Save stays in view while the panel scrolls inside the bar on short phones (sand halo masks what scrolls under it). */
.consent-panel .consent-save {position:sticky;bottom:0;box-shadow:0 -14px 12px -2px var(--sand)}
/* …and a switch reached with Tab scrolls into view above it (WCAG 2.4.11), not under it. */
.consent.consent-choosing {scroll-padding-bottom:76px}
.consent-purposes {display:grid;gap:14px;max-width:36rem;margin-top:24px;padding-top:20px;border-top:1px solid rgba(41,44,39,.25)}
.consent-purposes .consent-purpose {max-width:none}
.consent-purposes .consent-save {justify-self:start;margin-top:4px;background:transparent;color:var(--ink)}
.consent-purposes .consent-save:hover {background:var(--bronze);border-color:var(--bronze);color:var(--ivory)}
html.consent-open body {padding-bottom:var(--consent-h,0px)}
html.consent-open {scroll-padding-bottom:calc(var(--consent-h,0px) + 16px)}
html.consent-open.sos-managed {scroll-padding-bottom:calc(var(--consent-h,0px) + 100px + env(safe-area-inset-bottom))}
html.consent-open.sos-managed .sos-pill {bottom:calc(var(--consent-h,0px) + 16px)}
.consent-settings {display:inline-grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:12px;margin-top:20px}
.consent-settings .btn[aria-pressed="true"] {background:var(--ink);color:var(--ivory)}
.consent-settings .btn[aria-pressed="true"]:hover {background:var(--bronze);border-color:var(--bronze)}
.visually-hidden {position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* «Modo interno» confirmation (scripts/analytics.cjs, D117): shown only after opening the private ?modo-interno=on|off link. */
.internal-note {margin:0;padding:10px 16px;background:var(--ink);color:var(--ivory);font-size:.95rem;line-height:1.45;text-align:center}
/* Wide screens: the text may run longer, so the policy link stays on the second line. */
@media(min-width:1181px){.consent-text {max-width:80ch}
 /* Three controls in the row (consent-choose): slightly tighter buttons so the text keeps its three lines and the bar
    its pre-«Elegir» height (the hero booking link stays above it at 1440x900). */
 .consent-actions {margin-left:8px}
 .consent-actions .btn {padding-inline:18px;font-size:15px}
 .consent-actions .consent-more {padding-inline:14px}
}
/* Medium widths: the buttons move under the text, aligned with it, still side by side. */
@media(max-width:1180px){
 .consent-in {grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon text" ". actions"}
 .consent-actions {justify-self:start;margin-left:0}
}
/* Phones (D108, mobile-consent-bar-compact): a compact bar so the hero's phone, WhatsApp and booking lines stay
   in the first view at 375x812. The icon sits in the text's first-line indent so the text runs full width, then
   the two buttons side by side at equal width (grid columns of 1fr, same style), "Accept all" first; 44 px
   buttons; text and labels unchanged (D67). */
@media(max-width:760px){
 .consent {padding-top:8px;padding-bottom:max(10px,env(safe-area-inset-bottom));max-height:60vh;max-height:60dvh}
 .consent-in {grid-template-columns:minmax(0,1fr);grid-template-areas:"text" "actions";gap:8px}
 .consent-icon {grid-area:text;width:18px;height:18px;margin-top:1px}
 .consent-text {font-size:.8125rem;line-height:1.45;text-indent:26px}
 .consent-actions {justify-self:stretch;gap:6px}
 .consent-actions .btn {min-width:0;min-height:44px;padding:5px 6px;font-size:14px;line-height:1.25;text-wrap:balance}
 .consent-actions .consent-more {padding-inline:9px}
 .consent-panel {grid-column:1/-1;flex-direction:column;flex-wrap:nowrap;gap:10px;padding-top:10px}
 .consent-purpose {flex:none;max-width:none;font-size:.875rem}
 .consent-note {font-size:.8125rem}
 .consent-panel .consent-save {align-self:stretch;min-height:44px}
 html.consent-open.sos-managed .urgent-bar {bottom:var(--consent-h,0px);padding-bottom:12px}
}
@media(max-width:560px){
 .consent-settings {display:grid;grid-auto-flow:row;grid-template-columns:minmax(0,1fr)}
}
/* Narrow phones with three controls: the two solid buttons get the space back, so the English labels keep two lines. */
@media(max-width:374px){
 .consent-actions {gap:4px}
 .consent-actions .btn {padding-inline:4px}
 .consent-actions .consent-more {padding-inline:6px}
}
/* Short screens (phone landscape, small windows, 200 % zoom): a compact bar (smaller text, 44 px buttons; on
   narrow ones the two buttons side by side again) and the floating Urgencias pill hidden while the bar is open
   (the hero and page keep their urgent links; the Urgencias page's WhatsApp bar stays, lifted above the bar). */
@media(max-height:500px){
 .consent {padding-top:8px;padding-bottom:max(8px,env(safe-area-inset-bottom));max-height:50vh;max-height:50dvh}
 .consent-in {gap:8px 12px}
 .consent-icon {width:20px;height:20px;margin-top:0}
 .consent-text {font-size:.875rem;line-height:1.4}
 .consent-actions {gap:8px}
 .consent-actions {justify-self:stretch}
 .consent-actions .btn {min-height:44px;padding:8px 16px;font-size:15px}
 html.consent-open.sos-managed .sos-pill {display:none}
 html.consent-open.sos-managed {scroll-padding-bottom:calc(var(--consent-h,0px) + 16px)}
}
/* Very short screens (400 % zoom, 320×256): no icon, buttons on top so they stay in view; the text scrolls below. */
@media(max-height:300px){
 .consent-icon {display:none}
 .consent-text {text-indent:0}
 .consent {max-height:60vh;max-height:60dvh}
 .consent-in {grid-template-columns:minmax(0,1fr);grid-template-areas:"actions" "text"}
 .consent-text {font-size:.8125rem;line-height:1.35}
}
@media(max-width:760px) and (max-height:500px){
 .consent-actions {grid-template-columns:repeat(2,minmax(0,1fr)) auto}
 .consent-text a {white-space:normal}
 html.consent-open.sos-managed .urgent-bar {padding-top:8px;padding-bottom:8px}
 html.consent-open.sos-managed .urgent-bar .btn {min-height:44px;padding:8px 12px}
}
/* Cookie pages: the state line is filled by consent.js; its space is reserved so nothing below moves. */
[data-consent-settings] {margin-top:1.15em}
.consent-state {min-height:3.3em;font-weight:500}
.consent-settings .btn {min-width:9rem}
.consent-text a:focus-visible {outline-offset:2px}
@media(min-width:761px){.consent-state {min-height:1.65em}}
@media(max-width:400px){.consent-state {min-height:4.95em}}
h2#eleccion,h2#choice {scroll-margin-top:24px}
.not-found-cookies a {display:inline-flex;align-items:center;min-height:44px}
@media print{.consent{display:none!important}html.consent-open body{padding-bottom:0}}
/* SEO phase 1 (2026-10-22): byline under the H1, quotable definitions, fact rows (prices page, "De un vistazo"),
   hub links. Same paper/ink world: rules, not boxes; type does the hierarchy. */
.byline {margin:-12px 0 22px;font-size:14px;line-height:1.5;color:var(--ink-soft)}
.byline a {color:var(--ink);text-decoration-color:var(--sand-line);text-underline-offset:4px;padding-block:4px}
.byline a:hover {color:var(--bronze);text-decoration-color:currentColor}
.urgent-hero .byline {margin-top:-8px}
dfn {font-style:normal;font-weight:600;color:var(--ink)}
.fact-rows {margin:0;border-top:1px solid var(--sand-line)}
.fact-rows>div {display:grid;grid-template-columns:minmax(9rem,.42fr) minmax(0,1fr);gap:6px 28px;padding:18px 0;border-bottom:1px solid var(--sand-line)}
.fact-rows dt {font-weight:600;color:var(--ink)}
.fact-rows dd {margin:0;color:var(--ink-soft)}
.fact-rows dd strong {color:var(--ink);font-weight:600}
.price-rows dd .price {display:block;font:400 26px/1.2 var(--font-display);color:var(--ink);font-variant-numeric:lining-nums tabular-nums}
.price-rows dd .price + span {display:block;margin-top:4px}
.price-rows dd .price-ask {font:inherit;color:var(--ink-soft)}
.byline time {white-space:nowrap}
.prose>.lead+.marked {margin-top:28px}
.price-group+.price-group {margin-top:56px}
.price-group h3 {font-size:27px;margin-bottom:18px}
.hub-links {margin-top:28px;color:var(--ink-soft)}
.hub-links a {color:var(--ink)}
.hub-links a:hover {color:var(--bronze)}
@media(max-width:760px){
 .byline {margin:-10px 0 20px}
 .prose>.lead+.marked {margin-top:22px}
 .fact-rows>div {grid-template-columns:minmax(0,1fr);gap:4px;padding:16px 0}
 .price-rows dd .price {font-size:24px}
 .price-group+.price-group {margin-top:40px}
 .price-group h3 {font-size:25px}
}
/* Phase 2 article pages (2026-10-22; comparison + situation drafts, body class page-guide): quotable definition,
   comparison table (stacked under 760 px), sources list. Draft placeholders use the existing mark.pending style. */
.prose .definition {margin:1.6em 0 0;padding-top:1.1em;border-top:1px solid var(--sand-line);font:400 1.375rem/1.4 var(--font-display);color:var(--ink);max-width:36ch}
.prose>.definition:first-child {margin-top:0}
.prose .definition+* {margin-top:1.4em}
.page-guide .prose>p+.marked {margin-top:1.4em}
.cmp-wrap {margin-top:var(--sp-4)}
.cmp-table {width:100%;table-layout:fixed;border-collapse:collapse;font-size:var(--fs-small);font-variant-numeric:lining-nums tabular-nums;overflow-wrap:normal;hyphens:manual}
.cmp-table caption {text-align:left;caption-side:top;padding-bottom:14px;color:var(--ink-soft);font-size:var(--fs-small)}
.cmp-table th,.cmp-table td {overflow-wrap:anywhere;text-align:left;vertical-align:top;padding:16px 18px 16px 0;border-bottom:1px solid var(--sand-line)}
.cmp-table thead th {font:400 1.375rem/1.25 var(--font-display);border-bottom:1px solid var(--ink);padding:12px 18px 12px 0;vertical-align:bottom}
.cmp-table thead td:first-child {width:16%}
.cmp-table tbody th {font-weight:600}
.cmp-table thead th:nth-child(2),.cmp-table td:nth-child(2) {background:var(--ivory-deep);padding-left:16px}
.cmp-table th:nth-child(n+3),.cmp-table td:nth-child(n+3) {padding-left:16px}
.sources {margin-top:var(--sp-3);padding-top:18px;border-top:1px solid var(--sand-line);font-size:var(--fs-small);color:var(--ink-soft)}
.sources h3 {font:600 var(--fs-small)/1.4 var(--font-body);color:var(--ink);margin-bottom:8px}
.sources ul {list-style:none}
.sources li+li {margin-top:6px}
@media(max-width:760px){
 .cmp-table caption {display:block;width:auto}
 .cmp-table thead {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .cmp-table,.cmp-table tbody,.cmp-table tr,.cmp-table th,.cmp-table td {display:block;width:auto}
 .cmp-table tr {padding:18px 0;border-bottom:1px solid var(--sand-line)}
 .cmp-table tbody th {width:auto;border:0;padding:0 0 10px;font:400 1.25rem/1.3 var(--font-display)}
 .cmp-table td {border:0;padding:8px 0}
 .cmp-table td,.cmp-table td:nth-child(n+3) {padding-left:0}
 .cmp-table td:nth-child(2) {padding:10px 12px;margin-inline:-12px}
 .cmp-table td::before {content:attr(data-label);display:block;font-weight:600;font-size:var(--fs-small);color:var(--ink-soft);margin-bottom:2px}
}
/* Condition pages (2026-10-22, D79 Option C; first: /es/ciatica/ + /en/sciatica/): the "when to see a doctor or call 112"
   box (COPY-RULES H3, register S07) sits inside .prose on a tinted section; the source note stays small. */
.red-flags {margin:0;padding:22px 24px 20px;border:1px solid var(--ink);border-top:3px solid var(--ink);background:var(--ivory)}
.red-flags .lead {margin:0 0 12px;color:var(--ink);font-weight:500}
.red-flags .lead a {color:inherit}
.red-flags ul {margin:0 0 16px;padding-left:1.2em}
.red-flags li {margin:6px 0}
.red-flags p+p {margin-top:12px;padding-top:12px;border-top:1px solid var(--sand-line)}
.red-flags .source-note {font-size:var(--fs-small);color:var(--ink-soft)}
/* Head-pain page (2026-11-02, UI/UX/impeccable critics): three urgency levels with equal dividers, larger labels, 44px tap height on 112 links. */
body.page-dolor-de-cabeza .red-flags .lead, body.page-headache .red-flags .lead {font-size:var(--fs-lead)}
body.page-dolor-de-cabeza .red-flags ul+p.lead, body.page-headache .red-flags ul+p.lead, body.page-dolor-de-cabeza .red-flags p+p.lead, body.page-headache .red-flags p+p.lead {margin-top:18px;padding-top:14px;border-top:1px solid var(--sand-line)}
body.page-dolor-de-cabeza .red-flags > p.lead:first-child, body.page-headache .red-flags > p.lead:first-child {font-size:1.375rem;font-weight:600;padding-left:12px;border-left:3px solid var(--ink)}
body.page-dolor-de-cabeza .red-flags a[href^="tel:"], body.page-headache .red-flags a[href^="tel:"] {display:inline-block;padding:11px 4px;margin:-11px -4px}
body.page-dolor-de-cabeza .red-flags p.lead+p:not(.lead), body.page-headache .red-flags p.lead+p:not(.lead) {margin-top:0;padding-top:0;border-top:0}
/* The floating «Urgencias 24/7» WhatsApp pill contradicts the box («llama al 112»): hidden on condition pages, as on /urgencias/. */
body.page-condition .sos-pill {display:none}
/* Condition pages on phones: a shorter hero photo so the red-flag box arrives within the first two screens (UX + impeccable critics). */
@media(max-width:760px){ .red-flags {padding:18px 16px 16px} body.page-condition .hero-photo.plate {height:320px} body.page-condition .hero-photo.plate img {object-position:center 30%} }
/* Phase 1 rollout: a paragraph after numbered steps gets its own gap */
.prose>.marked+p {margin-top:28px}
@media (max-width:760px) {
 .prose>.marked+p {margin-top:22px}
}
/* Clinic map (Igor 2026-10-23, D109 amended): Google Maps embed by coordinates, created by main.js only after
   «Aceptar todas las cookies» or a tap on the box's button. The frame has a fixed height, so the box and the
   iframe take the same space (no layout shift). Body: San Pedro «Cómo llegar» + home contact; foot: every footer. */
.gmap {margin:22px 0 0}
.gmap-frame {position:relative;height:340px;border:1px solid var(--sand-line);border-radius:3px;background:var(--ivory-deep);overflow:hidden}
.contact .gmap-frame {background:var(--ivory)}
.gmap-frame iframe {display:block;width:100%;height:100%;border:0}
.gmap-box {height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;text-align:center}
.gmap-pin {color:var(--bronze);flex:none}
.gmap-box .btn {min-height:48px;padding:11px 20px}
.gmap-box p {max-width:30ch;font-size:var(--fs-small);line-height:1.45;color:var(--ink-soft)}
html:not(.js) .gmap-frame {display:none}
.gmap-frame:has(iframe:focus-visible) {outline:3px solid var(--bronze);outline-offset:5px}
.gmap-caption {margin-top:14px;font-size:var(--fs-small);color:var(--ink-soft)}
.gmap-links {display:flex;flex-wrap:wrap;gap:0 22px;margin-top:0;font-size:var(--fs-small)}
.gmap-links a {display:inline-flex;align-items:center;min-height:44px}
.marked>li .gmap-links a,.contact .gmap-links a {color:var(--ink)}
.gmap-foot {margin-top:6px}
.gmap-foot .gmap-frame {height:150px}
.gmap-foot .gmap-box {gap:6px;padding:10px 12px}
.gmap-foot .gmap-pin {width:22px;height:22px}
.gmap-foot .gmap-box .btn {min-height:44px;padding:8px 14px;font-size:15px}
.gmap-foot .gmap-box p {font-size:13px;line-height:1.35}
.gmap-foot .gmap-links {margin-top:2px}
@media(max-width:760px){ .gmap-frame {height:280px} .gmap-foot .gmap-frame {height:150px} }
/* Free tools (Phase 3, STRATEGY § 1.4; first: the desk set-up checklist, 2026-10-24).
   Body class page-tool. Web: a text hero without photo, the checklist as ruled groups in two columns (no boxes), native
   checkboxes drawn in ink; nothing is stored or sent (D113). Print: A4, one or two sheets, the checklist in two columns with
   empty tick boxes, a fill-in line and the source; chrome, FAQ, related rows and contact are left out. */
.tool-hero {padding-block:20px 64px}
.tool-hero h1 {max-width:20ch;margin-bottom:26px;text-wrap:balance}
.tool-hero .hero-lead {max-width:var(--measure)}
.tool-photo {max-height:620px}
.tool-photo img {object-position:center 25%}
.tool-actions-end {margin-top:48px}
.tool-actions .btn-link {min-height:44px}
.tool-note {margin-top:18px;max-width:var(--measure);font-size:var(--fs-small);color:var(--ink-soft)}
.tool-actions {display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin-top:30px}
.tool-actions .btn svg {margin-right:10px;flex:none}
.tool-actions p {font-size:var(--fs-small);color:var(--ink-soft)}
html:not(.js) [data-print],html:not(.js) [data-clear] {display:none}
.checklist {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 72px}
.chk-group {min-width:0;margin:0;padding:22px 0 0;border:0;border-top:1px solid var(--ink)}
.chk-group legend {float:left;width:100%;padding:0;margin:0 0 14px}
.chk-group legend h2 {font-size:30px;line-height:1.15}
.chk-group legend+* {clear:both}
.chk-list {list-style:none}
.chk-list li+li {border-top:1px solid var(--sand-line)}
.chk-list label {display:grid;grid-template-columns:24px minmax(0,1fr);gap:16px;align-items:start;padding:13px 0;min-height:44px;cursor:pointer}
.chk-list input {appearance:none;-webkit-appearance:none;width:22px;height:22px;margin:2px 0 0;border:1.5px solid var(--ink);border-radius:2px;background:var(--ivory);display:grid;place-content:center;cursor:pointer}
.chk-list input::before {content:"";width:12px;height:12px;background:var(--ivory);clip-path:polygon(14% 52%,0 66%,38% 100%,100% 22%,86% 8%,38% 72%);transform:scale(0);transition:transform .12s ease-out}
.chk-list input:checked {background:var(--ink)}
.chk-list input:checked::before {transform:scale(1)}
.chk-list input:focus-visible {outline:3px solid var(--bronze);outline-offset:5px}
.chk-list label:hover input:not(:checked) {border-color:var(--bronze)}
.chk-list input:checked+span {color:var(--ink-soft)}
.chk-list .figure {font-variant-numeric:lining-nums tabular-nums;white-space:nowrap}
.print-only {display:none}
.tool-sources ul {list-style:none}
.tool-sources li {padding:14px 0;border-bottom:1px solid var(--sand-line)}
.tool-sources .prose {max-width:none}
.tool-sources .prose>p:first-child {max-width:var(--measure)}
.tool-sources ul {margin-top:18px;border-top:1px solid var(--sand-line)}
.tool-sources li a {color:var(--ink);text-underline-offset:4px;text-decoration-color:var(--sand-line)}
.tool-sources li a:hover {color:var(--bronze);text-decoration-color:currentColor}
.tool-sources li span {display:block;margin-top:2px;font-size:var(--fs-small);color:var(--ink-soft)}
.tool-sources .checked {margin-top:18px;font-size:var(--fs-small);color:var(--ink-soft)}
.contact .tool-closing {max-width:44ch;margin-bottom:22px;color:var(--ink)}
.contact .tool-closing a {color:inherit;text-underline-offset:4px}
.chk-group legend h2 a {text-decoration:none}
/* Illustrated desk guide (2026-10-24, Igor «option 1 plus everything that will improve it»): an overview scene with
   numbered markers (live HTML, never baked into the image), then each group as a row: «así sí / así no» drawings (good first)
   beside its checklist. Marks are an icon plus a word (never colour alone); fault cues are thin dashed ink over the drawing. */
.tool-scene {padding-block:0 var(--sp-5)}
.tool-scene h2 {font-size:clamp(1.75rem,2.6vw,2.4rem);margin-bottom:12px}
.tool-scene .scene-intro {max-width:var(--measure);color:var(--ink-soft)}
.scene-fig {position:relative;margin:28px 0 0;border:1px solid var(--sand-line);background:var(--ivory)}
.scene-fig img {width:100%}
.scene-pin {position:absolute;transform:translate(-50%,-50%);display:grid;place-content:center;width:30px;height:30px;border-radius:50%;background:var(--ink);color:var(--ivory);font:600 15px/1 var(--font-body);font-variant-numeric:lining-nums tabular-nums;box-shadow:0 0 0 3px var(--ivory);text-decoration:none}
/* Marker positions on desk-scene.jpg (1400×840), in % of the drawing */
.pin-mesa {left:79%;top:57.8%} .pin-silla {left:34%;top:50%} .pin-pies {left:59%;top:75.5%}
.pin-teclado {left:51%;top:47.5%} .pin-pantalla {left:60%;top:26.7%} .pin-luz {left:17%;top:14.4%}
.scene-key {list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 28px;margin-top:20px;border-top:1px solid var(--sand-line)}
.scene-key li {max-width:none;border-bottom:1px solid var(--sand-line)}
.scene-key .has-pin .chk-num {background:var(--ink);color:var(--ivory)}
.scene-key a {display:flex;align-items:center;gap:12px;min-height:48px;padding:8px 0;text-decoration:none;color:var(--ink)}
.scene-key a:hover {color:var(--bronze)}
.scene-key a:hover span:last-child {text-decoration:underline}
.chk-num {display:inline-grid;place-content:center;flex:none;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--ink);font:600 13px/1 var(--font-body);font-variant-numeric:lining-nums tabular-nums;letter-spacing:0;color:var(--ink)}
.chk-group legend h2 {display:flex;align-items:center;gap:14px}
.chk-group legend h2 .chk-num {width:30px;height:30px;font-size:14px}
.tool-list .guide-intro {max-width:var(--measure);margin-bottom:40px;color:var(--ink-soft)}
.tool-list .tool-actions-end {margin-top:56px;padding-top:28px;border-top:1px solid var(--sand-line)}
.checklist.is-guide {grid-template-columns:minmax(0,1fr);gap:64px}
.is-guide .chk-row {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 64px;align-items:start}
.pair {display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pair figure {margin:0;min-width:0}
.pair-img {position:relative;border:1px solid var(--sand-line);background:var(--ivory)}
.pair-img img {width:100%;aspect-ratio:1}
.pair-img svg.cue {position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.cue * {fill:none;stroke:var(--ink);stroke-width:1.6;stroke-dasharray:5 4;stroke-linecap:round;vector-effect:non-scaling-stroke}
.pair figcaption {margin-top:12px;font-size:var(--fs-small);line-height:1.45;color:var(--ink)}
/* A group with one drawing (Pausas): the caption sits beside it instead of leaving an empty half. */
.pair>figure:only-child {grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:end}
.pair>figure:only-child figcaption {margin-top:0}
.pair .mark {display:flex;align-items:center;gap:7px;margin-bottom:4px;font-weight:600}
.pair .mark svg {width:18px;height:18px;flex:none}
@media(min-width:1001px){ .scene-body {display:grid;grid-template-columns:minmax(0,2.2fr) minmax(230px,1fr);gap:0 48px;align-items:center} .scene-body .scene-key {grid-template-columns:minmax(0,1fr)} }
@media(max-width:1000px){ .is-guide .chk-row {gap:20px 40px} .scene-key {grid-template-columns:repeat(2,minmax(0,1fr))} }
@media(max-width:760px){
 .tool-scene {padding-block:0 48px}
 .scene-fig {margin-top:20px}
 .scene-pin {width:26px;height:26px;font-size:13px;box-shadow:0 0 0 2px var(--ivory)}
 .scene-key {gap:0 20px}
 .checklist.is-guide {gap:48px}
 .is-guide .chk-row {grid-template-columns:minmax(0,1fr)}
 .pair {gap:10px}
 .pair>figure:only-child {gap:10px}
 .tool-list .guide-intro {margin-bottom:32px;font-size:1.125rem}
}
@media(forced-colors:active){ .scene-pin,.chk-num {border:2px solid CanvasText} .cue * {stroke:CanvasText} }
@media(max-width:1000px){ .checklist {gap:48px 48px} }
@media(max-width:760px){
 .tool-hero {padding-block:28px 40px}
 .checklist {grid-template-columns:minmax(0,1fr);gap:40px}
 .chk-group legend h2 {font-size:26px}
 .tool-actions .btn {width:100%}
 .tool-hero h1 {max-width:none}
 .tool-photo {display:none}
}
/* The floating «Urgencias 24/7» pill covers checklist lines on a tick-through page: hidden on tool pages (as on condition pages); the header keeps its 24/7 link. */
body.page-tool .sos-pill {display:none}
@media(forced-colors:active){ .chk-list input {appearance:auto;-webkit-appearance:auto;border:0} .chk-list input::before {display:none} }
@media(prefers-reduced-motion:reduce){ .chk-list input::before {transition:none} }
@media print{
 @page deskcheck {size:A4;margin:11mm 13mm 11mm}
 body.page-tool {page:deskcheck;font-size:9pt;line-height:1.32;background:#fff;color:#000}
 body.page-tool main>section:not(.tool-hero):not(.tool-list):not(.tool-sources),body.page-tool .crumbs,body.page-tool .tool-actions,body.page-tool .byline,body.page-tool .sos-pill,body.page-tool .tool-photo {display:none!important}
 body.page-tool .tool-hero .hero-grid {display:block}
 body.page-tool .tool-hero .hero-copy {padding:0}
 body.page-tool .tool-hero {padding:0 0 3mm}
 body.page-tool .tool-hero h1 {font-size:17pt;line-height:1.1;max-width:none;margin:0 0 2.5mm}
 body.page-tool .tool-hero .hero-lead {margin:0;font-size:9pt;line-height:1.35;max-width:none;color:#000}
 body.page-tool .tool-note {margin-top:1.5mm;font-size:8pt;max-width:none;color:#333}
 body.page-tool .print-only {display:block}
 body.page-tool .print-fill {display:flex;gap:9mm;max-width:none;margin-top:2.5mm;font-size:9pt}
 body.page-tool .print-fill span {flex:1 1 0;border-bottom:.6pt solid #000;padding-bottom:1mm}
 body.page-tool .tool-list {padding:1mm 0 0;background:none}
 body.page-tool .checklist {display:block;column-count:2;column-gap:9mm}
 body.page-tool .chk-group {break-inside:avoid;padding-top:1.4mm;margin:0 0 3mm;border-top:.8pt solid #000}
 body.page-tool .chk-group legend {margin-bottom:1mm}
 body.page-tool .chk-group legend h2 {font-size:11pt}
 body.page-tool .chk-list li+li {border-top:.4pt solid #bbb}
 body.page-tool .chk-list label {grid-template-columns:3.4mm minmax(0,1fr);gap:2.2mm;padding:.7mm 0;min-height:0;font-size:9pt}
 body.page-tool .chk-list input {width:3.4mm;height:3.4mm;margin-top:.5mm;border:.8pt solid #000;background:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 body.page-tool .chk-list input:checked {background:#000}
 body.page-tool .chk-list input:checked+span {color:#000}
 body.page-tool .tool-sources {margin-top:1.5mm;padding:1.5mm 0 0;border-top:.8pt solid #000;font-size:7pt;line-height:1.3;color:#333;break-inside:avoid}
 body.page-tool .tool-sources .offset {display:block}
 body.page-tool .tool-sources h2 {font-size:10pt;font-family:var(--font-display);font-weight:400;margin:0 0 1mm;max-width:none}
 body.page-tool .tool-sources ul {margin-top:0;border:0}
 body.page-tool .tool-sources li {padding:.3mm 0;border:0}
 body.page-tool .tool-sources li span {display:inline;margin:0 0 0 1.5mm;font-size:7pt}
 body.page-tool .tool-sources li a {text-decoration:none;color:#000}
 body.page-tool .tool-sources .prose>p:first-child {display:none}
 body.page-tool .tool-sources .checked {margin-top:.5mm;font-size:7pt}
 body.page-tool .print-footer {margin-top:1.2mm;font-size:7pt;color:#333}
 body.page-tool .is-guide .chk-group {margin-bottom:2.2mm}
 body.page-tool .is-guide .chk-list label {padding:.45mm 0;font-size:8.6pt;line-height:1.27}
 body.page-tool .tool-scene,body.page-tool .guide-intro,body.page-tool .pair .is-bad,body.page-tool .pair figcaption,body.page-tool .is-bad .cue {display:none!important}
 body.page-tool .pair>figure:only-child {display:block}
 body.page-tool .cue * {stroke:#000;stroke-width:.8;stroke-dasharray:2 1.5}
 body.page-tool .checklist.is-guide {display:block;column-count:2;column-gap:9mm}
 body.page-tool .is-guide .chk-row {display:grid;grid-template-columns:17mm minmax(0,1fr);gap:0 2.5mm}
 body.page-tool .pair {display:block}
 body.page-tool .pair-img {border:.4pt solid #999;background:#fff}
 body.page-tool .chk-group legend h2 .chk-num {width:5mm;height:5mm;font-size:7pt;border-width:.8pt}
 body.page-tool .chk-group legend h2 {gap:2mm}
}
/* Condition pages (articles-next5, 2026-10-29): per-photo focus so heads are not cut (UI critic). */
body.page-condition .hero-photo.plate img.focus-top {object-position:center 8%}
body.page-condition .hero-photo.plate img.focus-low {object-position:center 70%}
@media(max-width:760px){ body.page-condition .hero-photo.plate img.focus-top {object-position:center 8%} body.page-condition .hero-photo.plate img.focus-low {object-position:center 70%} }
body.page-condition .hero-photo.plate img.focus-mid {object-position:center 45%}
@media(max-width:760px){ body.page-condition .hero-photo.plate img.focus-mid {object-position:center 38%} }

/* Flagship condition pages (lumbago sample, 2026-11-08): exercise rows = drawing + steps, rules between rows (no cards).
   Drawings share one 320x180 grid (side views, floor line, 7-unit body stroke, bronze arrow). */
.exercise-list {list-style:none;margin:28px 0 24px;padding:0}
.exercise-list>li {display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);column-gap:28px;align-items:start;padding:26px 0;border-top:1px solid var(--sand-line)}
.exercise-list>li:last-child {border-bottom:1px solid var(--sand-line)}
.exercise-list>li>h3 {grid-column:2;margin:0 0 10px;font-size:25px}
.exercise-list>li>p {grid-column:2;margin:0 0 10px;color:var(--ink)}
.exercise-list .ex-fig {grid-column:1;grid-row:1 / span 3;margin:0}
.exercise-list .ex-svg {display:block;width:100%;height:auto;aspect-ratio:16/9;border:1px solid var(--sand-line);background:var(--ivory)}
.exercise-list .ex-fig figcaption {margin-top:8px;font-size:var(--fs-small);line-height:1.45;color:var(--ink-soft)}
.ex-before {margin:22px 0 6px;padding:18px 20px;background:var(--ivory-deep)}
.ex-before p {margin:0 0 8px}
.ex-before p:last-child {margin-bottom:0}
/* Flagship condition pages (lumbago 2026-11-08; ciática/sciatica added 2026-11-08, D159; dolor de cuello/neck pain added 2026-11-09): sources, «Antes de empezar» box, red-flag box spacing. */
body.page-lumbago .prose>.sources:first-child,body.page-ciatica .prose>.sources:first-child,body.page-sciatica .prose>.sources:first-child,body.page-dolor-de-cuello .prose>.sources:first-child,body.page-neck-pain .prose>.sources:first-child {margin-top:0}
body.page-lumbago .sources li+li,body.page-ciatica .sources li+li,body.page-sciatica .sources li+li,body.page-dolor-de-cuello .sources li+li,body.page-neck-pain .sources li+li {margin-top:var(--sp-1)}
body.page-lumbago .ex-before,body.page-lumbago .prose>.sources,body.page-ciatica .ex-before,body.page-ciatica .prose>.sources,body.page-sciatica .ex-before,body.page-dolor-de-cuello .ex-before,body.page-neck-pain .ex-before,body.page-sciatica .prose>.sources,body.page-dolor-de-cuello .prose>.sources,body.page-neck-pain .prose>.sources {max-width:var(--measure)}
body.page-lumbago .ex-before,body.page-ciatica .ex-before,body.page-sciatica .ex-before,body.page-dolor-de-cuello .ex-before,body.page-neck-pain .ex-before {margin-bottom:var(--sp-2)}
body.page-lumbago .red-flags a[href^="tel:"],body.page-ciatica .red-flags a[href^="tel:"],body.page-sciatica .red-flags a[href^="tel:"],body.page-dolor-de-cuello .red-flags a[href^="tel:"],body.page-neck-pain .red-flags a[href^="tel:"] {display:inline-block;padding-block:11px;margin-block:-11px}
body.page-lumbago .red-flags > p:not(.lead):not(.source-note),body.page-ciatica .red-flags > p:not(.lead):not(.source-note),body.page-sciatica .red-flags > p:not(.lead):not(.source-note),body.page-dolor-de-cuello .red-flags > p:not(.lead):not(.source-note),body.page-neck-pain .red-flags > p:not(.lead):not(.source-note) {margin-top:26px}
body.page-ciatica .hero-photo.plate img.focus-mid,body.page-sciatica .hero-photo.plate img.focus-mid {object-position:center 72%}
@media(max-width:760px){ body.page-ciatica .hero-photo.plate img.focus-mid,body.page-sciatica .hero-photo.plate img.focus-mid {object-position:center 60%} }
body.page-dolor-de-cuello .hero-photo.plate img.focus-mid,body.page-neck-pain .hero-photo.plate img.focus-mid {object-position:center 80%}
@media(min-width:761px) and (max-width:1150px){ body.page-dolor-de-cuello .hero-photo.plate img.focus-mid,body.page-neck-pain .hero-photo.plate img.focus-mid {object-position:center 85%} }
@media(max-width:760px){ body.page-dolor-de-cuello .hero-photo.plate img.focus-mid,body.page-neck-pain .hero-photo.plate img.focus-mid {object-position:center 62%} }
@media(max-width:1000px){
 .exercise-list>li {grid-template-columns:minmax(0,1fr)}
 .exercise-list .ex-fig {grid-row:auto;grid-column:1;max-width:18rem;margin:0 0 14px}
 .exercise-list>li>h3,.exercise-list>li>p {grid-column:1}
 }
@media(max-width:760px){ .exercise-list>li>h3 {font-size:23px} }
@media(min-width:761px) and (max-width:1150px){ body.page-lumbago .hero-photo.plate img.focus-low {object-position:center 78%} }
@media print{ .exercise-list>li {break-inside:avoid} }
