/* === portal chrome === */
/* portal-chrome: elcomercio — hat+footer only, no site CSS */
/* IvyPresto Headline @font-face dropped: not used by any hat/footer class (donor logo is an inline SVG wordmark, not text). */
@font-face {
  font-display: fallback;

  font-family: Roboto;

  font-style: normal;

  font-weight: 400;

  src:
    url(../index/roboto-v20-latin-regular.woff2) format("woff2"),
    url(../index/roboto-v20-latin-regular.woff) format("woff");

  unicode-range: u+00??, u+0131, u+0152-0153, u+02bb-02bc, u+02c6, u+02da, u+02dc, u+2000-206f, u+2074, u+20ac, u+2122, u+2191, u+2193, u+2212, u+2215, u+feff, u+fffd;
}

@font-face {
  font-display: fallback;

  font-family: Roboto;

  font-style: normal;

  font-weight: 500;

  src:
    url(../index/roboto-v20-latin-500.woff2) format("woff2"),
    url(../index/roboto-v20-latin-500.woff) format("woff");

  unicode-range: u+00??, u+0131, u+0152-0153, u+02bb-02bc, u+02c6, u+02da, u+02dc, u+2000-206f, u+2074, u+20ac, u+2122, u+2191, u+2193, u+2212, u+2215, u+feff, u+fffd;
}

@font-face {
  font-display: fallback;

  font-family: Roboto;

  font-style: normal;

  font-weight: 600;

  src:
    url(../index/roboto-v20-latin-600.woff2) format("woff2"),
    url(../index/roboto-v20-latin-600.woff) format("woff");

  unicode-range: u+00??, u+0131, u+0152-0153, u+02bb-02bc, u+02c6, u+02da, u+02dc, u+2000-206f, u+2074, u+20ac, u+2122, u+2191, u+2193, u+2212, u+2215, u+feff, u+fffd;
}

@font-face {
  font-display: fallback;

  font-family: Roboto;

  font-style: normal;

  font-weight: 700;

  src:
    url(../index/roboto-v20-latin-700.woff2) format("woff2"),
    url(../index/roboto-v20-latin-700.woff) format("woff");

  unicode-range: u+00??, u+0131, u+0152-0153, u+02bb-02bc, u+02c6, u+02da, u+02dc, u+2000-206f, u+2074, u+20ac, u+2122, u+2191, u+2193, u+2212, u+2215, u+feff, u+fffd;
}

@font-face {
  font-display: swap;

  font-family: Roboto;

  font-style: normal;

  font-weight: 900;

  src:
    local("Roboto Black"),
    local("Roboto-Black"),
    url(../index/Roboto-Black.woff2) format("woff2"),
    url(../index/Roboto-Black.woff) format("woff");

  unicode-range: u+00??, u+0131, u+0152-0153, u+02bb-02bc, u+02c6, u+02da, u+02dc, u+2000-206f, u+2074, u+20ac, u+2122, u+2191, u+2193, u+2212, u+2215, u+feff, u+fffd;
}

@font-face {
  font-display: swap;

  font-family: Roboto;

  font-style: italic;

  font-weight: 300;

  src:
    local("Roboto"),
    local("Roboto-Light-Italic"),
    url(../index/roboto-latin-300italic.woff2) format("woff2"),
    url(../index/roboto-latin-300italic.woff) format("woff");

  unicode-range: u+00??, u+0131, u+0152-0153, u+02bb-02bc, u+02c6, u+02da, u+02dc, u+2000-206f, u+2074, u+20ac, u+2122, u+2191, u+2193, u+2212, u+2215, u+feff, u+fffd;
}

/* === localized article fonts: Libre Franklin (headline/body) + Lora (quotes) ===
   Files already existed in fonts/ but had no @font-face rules — headline/body
   was silently falling back to Arial. unicode-range verified 1:1 against the
   local subset files (39 files match the Google Fonts CSS2 fetch order). */
@font-face {
  font-family: "Libre Franklin";

  font-style: normal;

  font-weight: 400;

  font-display: swap;

  src: url("../index/Libre_Franklin-400-normal-0.woff2") format("woff2");

  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: "Libre Franklin";

  font-style: normal;

  font-weight: 400;

  font-display: swap;

  src: url("../index/Libre_Franklin-400-normal-1.woff2") format("woff2");

  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Libre Franklin";

  font-style: normal;

  font-weight: 400;

  font-display: swap;

  src: url("../index/Libre_Franklin-400-normal-2.woff2") format("woff2");

  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: "Libre Franklin";

  font-style: normal;

  font-weight: 400;

  font-display: swap;

  src: url("../index/Libre_Franklin-400-normal-3.woff2") format("woff2");

  unicode-range:
    U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113,
    U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Libre Franklin";

  font-style: normal;

  font-weight: 400;

  font-display: swap;

  src: url("../index/Libre_Franklin-400-normal-4.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;
}

@font-face {
  font-family: "Libre Franklin";

  font-style: normal;

  font-weight: 600;

  font-display: swap;

  src: url("../index/Libre_Franklin-600-normal-5.woff2") format("woff2");

  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: "Libre Franklin";

  font-style: normal;

  font-weight: 600;

  font-display: swap;

  src: url("../index/Libre_Franklin-600-normal-6.woff2") format("woff2");

  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Libre Franklin";

  font-style: normal;

  font-weight: 600;

  font-display: swap;

  src: url("../index/Libre_Franklin-600-normal-7.woff2") format("woff2");

  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: "Libre Franklin";

  font-style: normal;

  font-weight: 600;

  font-display: swap;

  src: url("../index/Libre_Franklin-600-normal-8.woff2") format("woff2");

  unicode-range:
    U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113,
    U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Libre Franklin";

  font-style: normal;

  font-weight: 600;

  font-display: swap;

  src: url("../index/Libre_Franklin-600-normal-9.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;
}

@font-face {
  font-family: "Libre Franklin";

  font-style: normal;

  font-weight: 700;

  font-display: swap;

  src: url("../index/Libre_Franklin-700-normal-10.woff2") format("woff2");

  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: "Libre Franklin";

  font-style: normal;

  font-weight: 700;

  font-display: swap;

  src: url("../index/Libre_Franklin-700-normal-11.woff2") format("woff2");

  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Libre Franklin";

  font-style: normal;

  font-weight: 700;

  font-display: swap;

  src: url("../index/Libre_Franklin-700-normal-12.woff2") format("woff2");

  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: "Libre Franklin";

  font-style: normal;

  font-weight: 700;

  font-display: swap;

  src: url("../index/Libre_Franklin-700-normal-13.woff2") format("woff2");

  unicode-range:
    U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113,
    U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Libre Franklin";

  font-style: normal;

  font-weight: 700;

  font-display: swap;

  src: url("../index/Libre_Franklin-700-normal-14.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;
}

@font-face {
  font-family: "Libre Franklin";

  font-style: normal;

  font-weight: 800;

  font-display: swap;

  src: url("../index/Libre_Franklin-800-normal-15.woff2") format("woff2");

  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: "Libre Franklin";

  font-style: normal;

  font-weight: 800;

  font-display: swap;

  src: url("../index/Libre_Franklin-800-normal-16.woff2") format("woff2");

  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Libre Franklin";

  font-style: normal;

  font-weight: 800;

  font-display: swap;

  src: url("../index/Libre_Franklin-800-normal-17.woff2") format("woff2");

  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: "Libre Franklin";

  font-style: normal;

  font-weight: 800;

  font-display: swap;

  src: url("../index/Libre_Franklin-800-normal-18.woff2") format("woff2");

  unicode-range:
    U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113,
    U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Libre Franklin";

  font-style: normal;

  font-weight: 800;

  font-display: swap;

  src: url("../index/Libre_Franklin-800-normal-19.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;
}

@font-face {
  font-family: "Libre Franklin";

  font-style: normal;

  font-weight: 900;

  font-display: swap;

  src: url("../index/Libre_Franklin-900-normal-20.woff2") format("woff2");

  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: "Libre Franklin";

  font-style: normal;

  font-weight: 900;

  font-display: swap;

  src: url("../index/Libre_Franklin-900-normal-21.woff2") format("woff2");

  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Libre Franklin";

  font-style: normal;

  font-weight: 900;

  font-display: swap;

  src: url("../index/Libre_Franklin-900-normal-22.woff2") format("woff2");

  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: "Libre Franklin";

  font-style: normal;

  font-weight: 900;

  font-display: swap;

  src: url("../index/Libre_Franklin-900-normal-23.woff2") format("woff2");

  unicode-range:
    U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113,
    U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Libre Franklin";

  font-style: normal;

  font-weight: 900;

  font-display: swap;

  src: url("../index/Libre_Franklin-900-normal-24.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;
}

@font-face {
  font-family: "Lora";

  font-style: italic;

  font-weight: 400;

  font-display: swap;

  src: url("../index/Lora-400-italic-25.woff2") format("woff2");

  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: "Lora";

  font-style: italic;

  font-weight: 400;

  font-display: swap;

  src: url("../index/Lora-400-italic-26.woff2") format("woff2");

  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Lora";

  font-style: italic;

  font-weight: 400;

  font-display: swap;

  src: url("../index/Lora-400-italic-27.woff2") format("woff2");

  unicode-range:
    U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9,
    U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E,
    U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211,
    U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD,
    U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
}

@font-face {
  font-family: "Lora";

  font-style: italic;

  font-weight: 400;

  font-display: swap;

  src: url("../index/Lora-400-italic-28.woff2") format("woff2");

  unicode-range:
    U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6,
    U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C,
    U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E,
    U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3,
    U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9,
    U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513,
    U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7,
    U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1,
    U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8,
    U+1FB00-1FBFF;
}

@font-face {
  font-family: "Lora";

  font-style: italic;

  font-weight: 400;

  font-display: swap;

  src: url("../index/Lora-400-italic-29.woff2") format("woff2");

  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: "Lora";

  font-style: italic;

  font-weight: 400;

  font-display: swap;

  src: url("../index/Lora-400-italic-30.woff2") format("woff2");

  unicode-range:
    U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113,
    U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Lora";

  font-style: italic;

  font-weight: 400;

  font-display: swap;

  src: url("../index/Lora-400-italic-31.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;
}

@font-face {
  font-family: "Lora";

  font-style: normal;

  font-weight: 400;

  font-display: swap;

  src: url("../index/Lora-400-normal-32.woff2") format("woff2");

  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: "Lora";

  font-style: normal;

  font-weight: 400;

  font-display: swap;

  src: url("../index/Lora-400-normal-33.woff2") format("woff2");

  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Lora";

  font-style: normal;

  font-weight: 400;

  font-display: swap;

  src: url("../index/Lora-400-normal-34.woff2") format("woff2");

  unicode-range:
    U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9,
    U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E,
    U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211,
    U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD,
    U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
}

@font-face {
  font-family: "Lora";

  font-style: normal;

  font-weight: 400;

  font-display: swap;

  src: url("../index/Lora-400-normal-35.woff2") format("woff2");

  unicode-range:
    U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6,
    U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C,
    U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E,
    U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3,
    U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9,
    U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513,
    U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7,
    U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1,
    U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8,
    U+1FB00-1FBFF;
}

@font-face {
  font-family: "Lora";

  font-style: normal;

  font-weight: 400;

  font-display: swap;

  src: url("../index/Lora-400-normal-36.woff2") format("woff2");

  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: "Lora";

  font-style: normal;

  font-weight: 400;

  font-display: swap;

  src: url("../index/Lora-400-normal-37.woff2") format("woff2");

  unicode-range:
    U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113,
    U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Lora";

  font-style: normal;

  font-weight: 400;

  font-display: swap;

  src: url("../index/Lora-400-normal-38.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;
}

.icon {
  background-image: url(../index/icons_sprites_ec_4.png);

  background-repeat: no-repeat;

  display: inline-block;

  flex-shrink: 0;

  vertical-align: middle;
}

.bg-account-circle {
  background-position: 0 0;

  height: 24px;

  width: 24px;
}

.bg-c-logo {
  background-position: -264px 0;

  height: 20px;

  width: 18px;
}

.bg-close {
  background-position: -96px -96px;

  height: 24px;

  width: 24px;
}

.bg-email {
  background-position: -48px -120px;
}

.bg-email,
.bg-error {
  height: 24px;

  width: 24px;
}

.bg-facebook {
  background-position: -96px -120px;

  height: 24px;

  width: 24px;
}

.bg-games {
  background-position: -144px -120px;

  height: 24px;

  width: 24px;
}

.bg-instagram {
  background-position: -120px -144px;

  height: 24px;

  width: 24px;
}

.bg-keyboard-arrow-up {
  background-position: -168px 0;

  height: 24px;

  width: 24px;
}

.bg-linkedin {
  background-position: -264px -20px;

  height: 18px;

  width: 18px;
}

.bg-menu {
  background-position: 0 -168px;

  height: 24px;

  width: 24px;
}

.bg-merlin-bot {
  background-position: -48px -168px;

  height: 24px;

  width: 24px;
}

.bg-newsmode {
  background-position: -120px -168px;

  height: 24px;

  width: 24px;
}

.bg-search {
  background-position: -192px -192px;
}

.bg-search,
.bg-sell {
  height: 24px;

  width: 24px;
}

.bg-sell {
  background-position: -216px 0;
}

.bg-store {
  background-position: -48px -216px;

  height: 24px;

  width: 24px;
}

.bg-tiktok {
  background-position: -144px -216px;

  height: 24px;

  width: 24px;
}

.bg-tune,
.bg-video {
  height: 24px;

  width: 24px;
}

.bg-video {
  background-position: -240px 0;
}

.bg-x {
  background-position: -64px -240px;

  height: 19px;

  width: 20px;
}

.bg-youtube {
  background-position: 0 -240px;

  height: 24px;

  width: 24px;
}

.invert {
  filter: invert(1);
}

.m-0 {
  margin: 0;
}

.p-0 {
  padding: 0;
}

.h,
.h__top-bar {
  background-color: #ffcb05;
}

.h__top-bar {
  grid-gap: 22px;

  align-items: center;

  border-bottom: 1px solid rgba(0, 0, 0, 0.14902);

  display: flex;

  font:
    500 0.875rem/1rem Roboto,
    Helvetica Neue,
    arial,
    sans-serif;

  gap: 22px;

  justify-content: space-between;

  margin-left: auto;

  margin-right: auto;

  max-width: 1290px;

  overflow: hidden;

  padding: 5px;

  white-space: nowrap;
}

/* Base layout for the top promo bar's three segments (title / text / link) — this must
   hold at every width, not just >=1024px. It was previously only declared inside the
   two @media blocks below, so the 640-1023px range (e.g. 768) had no display:flex at
   all and the three segments ran together with zero gap. Media blocks now only tweak
   font-size/gap per breakpoint; the text segment alone truncates with ellipsis so the
   title and the "Suscribete aqui" link always stay fully visible and gapped. */
.h__top-bar-inner {
  align-items: center;

  display: flex;

  flex-wrap: nowrap;

  gap: 10px;

  min-width: 0;

  overflow: hidden;

  font:
    500 0.875rem/1.2rem Roboto,
    Helvetica Neue,
    arial,
    sans-serif;
}

.h__top-bar-title {
  font-weight: 700;

  flex-shrink: 0;

  white-space: nowrap;
}

.h__top-bar-text {
  font-weight: 400;

  flex: 1 1 auto;

  min-width: 0;

  overflow: hidden;

  text-overflow: ellipsis;

  white-space: nowrap;
}

.h__top-bar-link {
  color: #000;

  text-decoration: underline;

  font-weight: 600;

  flex-shrink: 0;

  white-space: nowrap;
}

.h__main {
  background-color: #ffcb05;

  justify-content: flex-start;


}

.h__container,
.h__main {
  align-items: center;

  display: flex;
}

.h__container {


  justify-content: space-between;

  max-width: 1290px;
}

.h__container--main {
  padding-left: 16px;

  padding-right: 16px;

  width: 100%;
}

.h__logo {
  flex-shrink: 0;
}

.h__logo-img {
  height: 55px;

  width: auto;
}

.h__nav {
  background-color: #ffcb05;

  border-top: 1px solid rgba(0, 0, 0, 0.14902);

  height: 53px;
}

.h__nav .h__container {
  grid-gap: 8px;

  align-items: center;

  display: flex;

  gap: 8px;

  overflow: hidden;

  padding: 0 16px;
}

.h_height1,
.h_height2 {
  height: 60px;
}

.h__menu-toggle {
  align-items: center;

  background: #fc0;

  border: 1px solid rgba(0, 0, 0, 0.2);

  border-radius: 100px;

  cursor: pointer;

  display: flex;

  height: 36px;

  justify-content: center;

  width: 36px;
}

.h__menu-toggle:hover {
  border-color: #000;
}

.h__nav-list {
  -webkit-overflow-scrolling: touch;

  -ms-overflow-style: none;

  align-items: center;

  display: flex;

  flex: 1 1;

  flex-wrap: nowrap;

  list-style: none;

  margin: 0;

  max-width: calc(100% - 50px);

  overflow-x: auto;

  overflow-y: hidden;

  padding: 0;

  scrollbar-width: none;
}

.h__nav-list::-webkit-scrollbar {
  height: 0;

  width: 0;
}

.h__nav-item {
  flex-shrink: 0;
}

.h__nav-link {
  color: #000;

  display: block;

  font:
    400 0.875rem/1.25rem Roboto,
    Helvetica Neue,
    arial,
    sans-serif;

  padding: 13px 8px;

  position: relative;

  text-decoration: none;

  transition: color 0.2s ease;

  white-space: nowrap;
}

.h__nav-link:after {
  background-color: #000;

  bottom: 0;

  content: "";

  height: 2px;

  left: 50%;

  position: absolute;

  transform: translateX(-50%);

  transition: width 0.3s ease;

  width: 0;
}

.h__nav-link:hover {
  color: #000;
}

.h__nav-link:hover:after {
  width: 100%;
}

.h__nav-icons {
  align-items: center;

  display: none;

  list-style: none;

  margin: 0;

  padding: 0;
}

.h__nav-icon-link {
  grid-gap: 5px;

  align-items: center;

  color: #000;

  display: flex;

  font:
    400 0.875rem/1.25rem Roboto,
    Helvetica Neue,
    arial,
    sans-serif;

  gap: 5px;

  max-height: 30px;

  padding: 3px 8px;

  text-decoration: none;

  transition: color 0.2s ease;
}

.h__nav-icon-link:hover {
  border-radius: 25px;

  outline: 1px solid rgba(0, 0, 0, 0.14902);
}

.h__nav-icon-link .icon {
  transform: scale(0.834);

  transform-origin: center;
}

.h__mobile-menu {
  background-color: #fff;
}

.h__mobile-menu,
.h__mobile-menu-overlay {
  display: none;

  height: 100vh;

  left: 0;

  position: fixed;

  top: 0;

  width: 100vw;

  z-index: 11;
}

.h__mobile-menu-overlay {
  background-color: rgba(0, 0, 0, 0.69804);
}

.h__mobile-menu-header {
  align-items: center;

  display: flex;

  justify-content: space-between;

  padding: 18px 16px;
}

.h__mobile-menu-logo {
  height: 27px;

  width: auto;
}

.h__mobile-menu-close {
  align-items: center;

  background: none;

  border: 1px solid #e0e0e0;

  border-radius: 50%;

  cursor: pointer;

  display: flex;

  font:
    800 0.923rem/.923rem Roboto,
    Helvetica Neue,
    arial,
    sans-serif;

  height: 30px;

  justify-content: center;

  width: 30px;
}

.h__mobile-menu-close:hover {
  border-color: #000;
}

.h__mobile-menu-close-icon {
  position: relative;

  top: 0;

  transform: scale(0.8);
}

.h__mobile-menu-content {
  height: 95%;

  overflow-y: auto;

  padding: 0 16px;
}

.h__mobile-menu-subscription {
  background-color: #f5f5f5;

  border-radius: 4px;

  margin: 0;

  padding: 20px 0;

  text-align: center;

  width: 100%;
}

.h__mobile-menu-subtitle {
  color: #000;

  font:
    400 1rem/1.25rem Roboto,
    Helvetica Neue,
    arial,
    sans-serif;

  margin: 0 16px 10px;
}

.h__mobile-menu-subscribe-btn {
  grid-gap: 8px;

  align-items: center;

  background-color: #000;

  border: none;

  border-radius: 24px;

  color: #fff;

  cursor: pointer;

  display: flex;

  font:
    500 1rem/1.25rem Roboto,
    Helvetica Neue,
    arial,
    sans-serif;

  gap: 8px;

  justify-content: center;

  margin: 0 auto 10px;

  padding: 10px 24px;
}

.h__mobile-menu-subscribe-btn:hover {
  background-color: #333;
}

.h__mobile-menu-subscribe-icon {
  align-items: center;

  background-color: #fc0;

  border-radius: 50%;

  color: #000;

  display: flex;

  font:
    700 1.256rem/1.256rem Roboto,
    Helvetica Neue,
    arial,
    sans-serif;

  height: 24px;

  justify-content: center;

  width: 24px;
}

.h__mobile-menu-login {
  color: #000;

  font:
    400 1rem/1.25rem Roboto,
    Helvetica Neue,
    arial,
    sans-serif;

  text-decoration: none;
}

.h__mobile-menu-login:hover {
  text-decoration: underline;
}

.h__mobile-menu-search {
  margin-bottom: 8px;

  margin-top: 20px;

  padding: 0;

  position: relative;
}

.h__mobile-menu-search-content {
  background-color: #000;

  border: none;

  border-radius: 50%;

  cursor: pointer;

  height: 30px;

  position: absolute;

  right: 16px;

  top: 10px;

  width: 30px;
}

.h__mobile-menu-search-content .ml {
  margin-left: -3px;
}

.h__mobile-menu-search-content:hover {
  background-color: #333;
}

.h__mobile-menu-search-input {
  border: 1px solid #e0e0e0;

  border-radius: 100px;

  box-sizing: border-box;

  font:
    400 1rem/1.5rem Roboto,
    Helvetica Neue,
    arial,
    sans-serif;

  outline: none;

  padding: 12px 16px;

  width: 100%;
}

.h__mobile-menu-search-input:focus {
  border-color: #fc0;
}

.h__mobile-menu-search-input::-moz-placeholder {
  color: #9e9e9e;
}

.h__mobile-menu-search-input::placeholder {
  color: #9e9e9e;
}

.h__mobile-menu-list {
  list-style: none;

  margin: 0;

  padding: 0;
}

.h__mobile-menu-item {
  align-items: center;

  border-bottom: 1px solid #626262;

  display: flex;

  height: 53px;

  margin: 0;
}

.h__mobile-menu-item:last-child {
  border-bottom: none;
}

.h__mobile-menu-link {
  align-items: center;

  color: #000;

  display: flex;

  font:
    500 1.125rem/1.5rem Roboto,
    Helvetica Neue,
    arial,
    sans-serif;

  padding: 0;

  text-decoration: none;

  transition:
    color 0.2s ease,
    background-color 0.2s ease;
}

.h__mobile-menu-link > * + * {
  margin-left: 13px;
}

.h__mobile-menu-link,
.h__mobile-menu-link:active,
.h__mobile-menu-link:focus,
.h__mobile-menu-link:hover,
.h__mobile-menu-link:link,
.h__mobile-menu-link:visited {
  color: #000;

  text-decoration: none;
}

.h__mobile-menu-link:active {
  background-color: #f5f5f5;
}

.h__mobile-menu-badge {
  -webkit-user-select: none;

  -moz-user-select: none;

  align-items: center;

  background-color: #ffcb05;

  border-radius: 999px;

  color: #000;

  cursor: default;

  display: inline-flex;

  flex-shrink: 0;

  font:
    400 0.875rem/1.25rem Roboto,
    Helvetica Neue,
    arial,
    sans-serif;

  justify-content: center;

  margin-left: 8px;

  padding: 5px 12px;

  user-select: none;

  white-space: nowrap;
}

.h__mobile-menu-item .icon,
.h__mobile-menu-link .icon {
  display: inline-block;

  transform-origin: left;
}

.h__mobile-menu-item .icon {
  margin: 0;
}

.h__mobile-menu-sections {
  border-top: 1px solid #626262;

  margin: 24px 0 0;

  padding-top: 0;
}

.h__mobile-menu-section {
  align-items: flex-start;

  border-bottom: 1px solid #626262;

  display: flex;

  flex-direction: column;
}

.h__mobile-menu-section:last-child {
  border-bottom: none;
}

.h__mobile-menu-section-title {
  grid-gap: 8px;

  align-items: center;

  background: none;

  border: none;

  color: #000;

  cursor: default;

  display: flex;

  font:
    500 1.125rem/1.5rem Roboto,
    Helvetica Neue,
    arial,
    sans-serif;

  gap: 8px;

  justify-content: space-between;

  min-height: 54px;

  padding: 0;

  text-align: left;

  width: 100%;
}

.h__mobile-menu-section-title:hover {
  color: #000;
}

.h__mobile-menu-section-title > a {
  grid-gap: 8px;

  align-items: center;

  color: #000;

  display: flex;

  font: inherit;

  gap: 8px;

  text-decoration: none;
}

.h__mobile-menu-section-toggle {
  align-items: center;

  background: none;

  border: none;

  cursor: pointer;

  display: flex;

  padding: 0;
}

.h__mobile-menu-arrow {
  color: #999;

  margin-left: auto;

  transform-origin: center;

  transition: transform 0.3s ease;
}

.h__mobile-menu-arrow.rotated {
  transform: rotate(180deg);
}

.h__mobile-menu-footer {
  margin: 20px 0 35px;

  padding-top: 0;
}

.h__mobile-menu-footer-text {
  color: #000;

  font:
    500 1.125rem/1.5rem Roboto,
    Helvetica Neue,
    arial,
    sans-serif;

  margin-bottom: 7px;
}

.h__mobile-menu-subsection {
  list-style: none;

  margin: 0;

  padding-bottom: 10px;
}

.h__mobile-menu-subsection li {
  margin-bottom: 3px;
}

.h__mobile-menu-subsection li a {
  color: #000;

  font:
    400 1rem/1.875rem Roboto,
    Helvetica Neue,
    arial,
    sans-serif;

  text-decoration: none;
}

.h__mobile-menu-footer-links {
  list-style: none;

  margin: 0;

  padding: 0;
}

.h__mobile-menu-footer-links li {
  margin-bottom: 0;
}

.h__mobile-menu-footer-links li a {
  color: #000;

  font:
    400 1rem/1.875rem Roboto,
    Helvetica Neue,
    arial,
    sans-serif;

  text-decoration: none;
}

.h__mobile-menu-social-icons {
  grid-gap: 24px;

  align-items: center;

  display: flex;

  gap: 24px;

  margin-bottom: 24px;

  margin-top: 24px;
}

.h__mobile-menu-social-icons .icon {
  cursor: pointer;

  transition: opacity 0.2s ease;
}

.h__mobile-menu-social-icons .icon:hover {
  opacity: 0.7;
}

.h__mobile-menu-first-icon {
  margin: 0;
}

.h__mobile-menu-copyright {
  color: #000;

  font:
    400 1.077rem/1.538rem Roboto,
    Helvetica Neue,
    arial,
    sans-serif;
}

.h__sticky {
  background-color: #ffcb05;

  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);

  left: 0;

  opacity: 0;

  position: relative;

  top: auto;

  transition: top 0.3s ease-in-out;

  width: 100%;

  z-index: 10;
}

.h__sticky.visible {
  opacity: 1;

  top: 0;
}

.h_logo-sec {
  height: 23px;

  margin-left: 8px;

  width: 142px;
}

.h_cont1 {
  align-items: center;

  display: flex;

  flex-direction: row;
}

.h_merlin-desktop {
  display: none;
}

.h_merlin-mobile {
  display: flex;
}

.h_merlin-box {
  align-items: center;

  background-color: #000;

  border-radius: 80px;

  flex-direction: row;

  height: 36px;

  justify-content: center;

  text-decoration: none;

  width: 36px;
}

.h_merlin-box > .icon {
  filter: invert(1);
}

.h_merlin-img {
  height: 29.17px;

  width: 24.75px;
}

.h_merlin-mobile-img {
  display: block;

  width: 36px;

  height: 36px;

  border-radius: 50%;
}

/* Live site's own mobile Merlin icon is the plain bg-merlin-bot sprite glyph
   (wand+glasses, white-on-black via the existing .h_merlin-box>.icon filter:
   invert(1) rule below) — confirmed by inspecting the live elcomercio.pe DOM
   (2026-08-24), not a raster image. Center it like the sprite icons in the
   nav row; the surrounding 36px black circle comes from .h_merlin-box. */
.h_merlin-box > .icon.bg-merlin-bot {
  margin: 0;
}

.h_merlin-text {
  display: none;

  margin-left: 0;
}

.h_notification {
  display: none;
}

.h_singwall-button {
  align-items: center;

  background-color: #000;

  border: none;

  border-radius: 100px;

  color: #fff;

  cursor: pointer;

  display: flex;

  flex-direction: row;

  height: 36px;

  justify-content: center;

  margin-left: 7px;

  text-decoration: none;

  width: 36px;
}

.h_singwall-img {
  height: 20px;

  width: 20px;
}

.h_iconec,
.h_singwall-username {
  display: none;
}

/* Subscribe slot has two campaign assets (user-supplied, El Comercio Days
   S/6-al-mes campaign): a 36x36 circular badge and a 285x44 wide pill.
   Live site (checked 2026-08-24) applies the CIRCULAR one as the mobile/
   tablet icon-row badge (<1024px, next to the Merlin + login circles) and
   the WIDE pill only at >=1024px full-nav desktop. Base/default here = the
   <1024px circular badge at its native 36x36 size (matches the Merlin/login
   circle diameter exactly, no squeeze); the >=1024px block below swaps to
   the wide pill and hides the circular one. Previous version reused the
   wide pill for mobile too (scaled down to 48px), which is what produced a
   squashed oval instead of a circle at 320/375 — same asset, wrong slot. */
.h_subscribe-anim--mobile {
  display: block;

  width: 36px;

  height: 26px;

  border-radius: 50%;
}

.h_subscribe-anim--desktop {
  display: none;
}

.stories-l-card__header__live > svg {
  margin-bottom: 2.5px;
}

.stories-l-item__link-wrapper-icon-title > svg {
  float: left;

  margin: 2px 7px 0 0;
}

.tb-modal__close svg {
  color: #fff;

  display: block;

  pointer-events: none;
}

.pg__nav svg {
  display: block;

  height: 20px;

  width: 20px;
}

.list-rep-card__note .bg-c-logo {
  transform: scale(0.8);
}

.sv_short__youtube svg path {
  fill: #fff;
}

.mst-r__h .icon {
  transform: scale(0.585);

  transform-origin: center;
}

.fs-wi.c-2x1 .fs-wi__tag-icon svg {
  display: block;

  height: 100%;

  width: 100%;
}

.fs-wi.c-2x1 .fs-wi__tag--media > .icon {
  filter: invert(1);

  transform: scale(0.8335);
}

.fs-wi.c-3x1 .fs-wi__tag-icon svg {
  display: block;

  height: 100%;

  width: 100%;
}

.fs-wi.c-3x1 .fs-wi__tag--media > .icon {
  filter: invert(1);

  transform: scale(0.8335);
}

.fs-wi.default .fs-wi__tag-icon svg {
  display: block;

  height: 100%;

  width: 100%;
}

.fs-wi.default .fs-wi__tag--media > .icon {
  filter: invert(1);

  transform: scale(0.8335);
}

.fs-wis.default .fs-wis__tag-icon svg {
  display: block;

  height: 100%;

  width: 100%;
}

.fs-wis.default .fs-wis__tag--media > .icon {
  filter: invert(1);

  transform: scale(0.8335);
}

.fs-wis.c-2x2 .fs-wis__tag-icon svg {
  display: block;

  height: 100%;

  width: 100%;
}

.fs-wis.c-2x2 .fs-wis__tag--media > .icon {
  filter: invert(1);

  transform: scale(0.8335);
}

.fs-wis.c-3x1 .fs-wis__tag-icon svg,
.fs-wis.c-3xauto .fs-wis__tag-icon svg {
  display: block;

  height: 100%;

  width: 100%;
}

.fs-wis.c-3x1 .fs-wis__tag--media > .icon,
.fs-wis.c-3xauto .fs-wis__tag--media > .icon {
  filter: invert(1);

  transform: scale(0.8335);
}

.mrk__hd-lk .icon {
  transform: scale(0.585);

  transform-origin: center;
}

.flex {
  display: flex;
}

.footer {
  --gap: 20px;

  grid-gap: var(--gap);

  background: #f4f4f4;

  color: #000;

  display: flex;

  flex-direction: column;

  gap: var(--gap);

  isolation: isolate;

  margin-top: 20px;

  position: relative;
}

.footer__section .footer__title .icon {
  transform: rotate(180deg);
}

.footer__section .footer__toggle:checked + .footer__title .icon {
  transform: rotate(0deg);

  transition: transform 0.3s ease;
}

.footer__title .icon {
  backface-visibility: hidden;

  display: inline-block;

  flex-shrink: 0;

  transform: rotateX(0deg);

  transition: transform 0.35s ease-in-out;
}

.footer__title .icon.bg-top {
  zoom: 0.488;
}

.footer__list--icons .footer__link .icon {
  flex-shrink: 0;
}

.footer__badge-img {
  aspect-ratio: 109/56;

  display: block;

  height: auto;

  max-width: 90px;
}

.footer__legal .footer__scroll-button .icon {
  flex-shrink: 0;
}

.footer__legal .footer__scroll-button .icon.bg-top {
  zoom: 0.488;
}

.list .blog-post-item__badge .icon {
  zoom: 0.488;

  filter: invert(1);
}

.list .blog-post-item__badge--premium .icon {
  zoom: 0.388;

  filter: none;
}

.newsletter-subscriptions__item-button g,
.newsletter-subscriptions__item-button mask,
.newsletter-subscriptions__item-button rect,
.newsletter-subscriptions__item-button svg {
  pointer-events: none;
}

.separator-society_arrowcont svg {
  color: #000;
}

.react-calendar__navigation__next-button svg {
  transform: rotate(90deg);
}

.react-calendar__navigation__prev-button svg {
  transform: rotate(-90deg);
}

.react-calendar__navigation__next2-button svg,
.react-calendar__navigation__next-button svg,
.react-calendar__navigation__prev2-button svg,
.react-calendar__navigation__prev-button svg {
  height: 20px;

  width: 20px;
}

.by-minute_score_left-part svg {
  margin-right: 4px;
}

@media screen and (min-width: 640px) and (max-width: 1023px) {
  .h__top-bar {
    padding: 15px 20px;
  }

  .h__container--main {
    padding-left: 20px;

    padding-right: 20px;
  }

  .h__nav .h__container {
    grid-gap: 16px;

    gap: 16px;

    padding: 0 20px;
  }
}

@media screen and (min-width: 1024px) {
  .h__top-bar {
    justify-content: normal;

    max-height: 39px;
  }

  .h__main {
    display: block;
  }

  .h__container {
    margin-left: auto;

    margin-right: auto;
  }

  .h__container--main {


    padding-left: 0;

    padding-right: 0;
  }

  .h__menu-toggle {
    height: 44px;

    width: 44px;
  }

  .h__nav-link {
    font:
      400 1rem/1.5rem Roboto,
      Helvetica Neue,
      arial,
      sans-serif;
  }

  .h__nav-icons {
    display: flex;
  }

  .h_logo-sec {
    height: 55px;

    margin-left: 25px;

    width: 343px;
  }

  .h_merlin-desktop {
    display: flex;
  }

  .h_merlin-mobile {
    display: none;
  }

  .h_merlin-box {
    border-radius: 23px;

    height: 44px;

    margin-left: 25px;

    padding: 0 14px;

    width: -moz-fit-content;

    width: fit-content;
  }

  .h_merlin-img {
    height: 24px;

    width: 24px;
  }

  .h_merlin-text {
    color: #fff;

    display: block;

    font:
      500 1rem/1.25rem Roboto,
      Helvetica Neue,
      arial,
      sans-serif;

    letter-spacing: 0;

    margin-left: 9px;

    white-space: nowrap;
  }

  .h_subscribe {
    margin-right: 10px;
  }

  .h_subscribe-box {
    align-items: center;

    border: 1px solid rgba(0, 0, 0, 0.2);

    border-radius: 100px;

    display: flex;

    flex-direction: row;

    height: 44px;

    justify-content: center;

    text-decoration: none;

    width: auto;

    overflow: hidden;

    padding: 0;
  }

  .h_subscribe-anim--mobile {
    display: none;
  }

  .h_subscribe-anim--desktop {
    display: block;

    width: 267px;

    border-radius: 100px;
  }

  .h_singwall-button {
    height: 44px;

    margin-left: 10px;

    min-width: 103px;

    padding-left: 15px;

    padding-right: 15px;

    width: auto;
  }

  .h_singwall-username {
    color: #fff;

    display: block;

    font:
      500 1rem/1.25rem Roboto,
      Helvetica Neue,
      arial,
      sans-serif;

    letter-spacing: 0;

    margin-left: 10px;
  }
}

@media screen and (max-width: 1023px) {
  .h_subscribe-box {
    width: auto;

    padding: 0;

    margin-left: 7px;
  }
}

@media screen and (max-width: 639px) {
  .h__top-bar {
    grid-gap: 8px;

    gap: 8px;

    padding: 6px 16px;
  }

  .h__top-bar,
  .h__top-date,
  .h__top-text {
    font:
      500 1.077rem/1.538rem Roboto,
      Helvetica Neue,
      arial,
      sans-serif;
  }

  .h__main {
    min-height: 60px;
  }

  .h__container {
    height: 100%;
  }

  .h__logo-img {
    height: 22px;
  }

  .h__top-bar-inner {
    gap: 6px;

    font-size: 0.875rem;

    line-height: 1.2rem;
  }

  /* No further shrink needed here (2026-08-24 fix): the mobile subscribe slot
   now uses its correct native-36x36 circular asset (see .h_subscribe-anim--
   mobile above), the same diameter as the Merlin and login circles either
   side of it — it already fits the 320px row without overflow, unlike the
   old 285x44-pill-squeezed-to-48px substitute this block used to shrink. */
}

.land-footer-slim {
  display: flex;

  flex-direction: column;

  align-items: center;

  justify-content: center;

  gap: 12px;

  padding: 28px 16px 32px;

  text-align: center;
}

.land-footer-slim img,
.land-footer-slim svg {
  display: block;

  height: 32px;

  width: auto;

  max-width: 180px;
}

.land-footer-slim .land-footer-copy {
  margin: 0;

  font-size: 13px;

  line-height: 1.4;
}

/* Donor sticky-hat clone must not enter document flow (nested scrollbar + ghost height) */
#sticky-nav,
[class*="stickyPrimaryNav"],
[class*="sticky-nav"] {
  display: none !important;

  height: 0 !important;

  overflow: hidden !important;

  pointer-events: none !important;
}

/* Horizontal channel/nav strip only — never a vertical bar inside the hat.
   Outer wrap stays overflow hidden (or the page grows a 320 scrollbar).
   Inner nowrap list is the only overflow-x:auto. */
#bbc-header .hZiVmC,
#bbc-header [class*="HeaderNav"],
#bbc-header .kidpOc {
  overflow-x: auto !important;

  overflow-y: hidden !important;

  max-width: 100% !important;

  min-width: 0 !important;
}

[data-mol-fe-xpmodule-navigation] [class*="subListWrapper"] {
  overflow-x: hidden !important;

  overflow-y: hidden !important;

  max-width: 100% !important;

  min-width: 0 !important;
}

[data-mol-fe-xpmodule-navigation] [class*="channeList"],
[data-mol-fe-xpmodule-navigation] [class*="carouselViewport"] {
  overflow-x: auto !important;

  overflow-y: hidden !important;

  max-width: 100% !important;

  min-width: 0 !important;
}

#bbc-header .hZiVmC,
[data-mol-fe-xpmodule-navigation] {
  max-width: 100% !important;
}

/* Hat stays in the page flow. Never position:fixed/sticky on the portal hat/nav —
   a hanging bar distracts from the article. Bottom .sticky-cta is allowed.

   Do NOT set position on `#bbc-header > *` or every HeaderStyled child — that
   wrecks the BBC grid (logo/nav vanish, leftover blue sliver).
   Do NOT leave overflow-x:auto without overflow-y:hidden: CSS then computes
   overflow-y to auto and draws a nested vertical scrollbar in the hat. */
header,
header.main-header,
#bbc-header,
.sapo-bsu,
.bsu-container,
.ec-hat,
.h,
#nav-wm-container,
.site-header,
#masthead,
[data-mol-fe-xpmodule-navigation],
[class*="mastHead"],
[class*="desktopNavBarContainer"],
[class*="mobileNavBarContainer"],
[class*="HeaderNav"] {
  position: relative !important;

  top: auto !important;
}

/* Donor sticky-hat clone must not enter document flow (nested scrollbar + ghost height) */
#sticky-nav,
[class*="stickyPrimaryNav"],
[class*="sticky-nav"] {
  display: none !important;

  height: 0 !important;

  overflow: hidden !important;

  pointer-events: none !important;
}

/* Horizontal channel/nav strip only — never a vertical bar inside the hat.
   Outer wrap stays overflow hidden (or the page grows a 320 scrollbar).
   Inner nowrap list is the only overflow-x:auto. */
#bbc-header .hZiVmC,
#bbc-header [class*="HeaderNav"],
#bbc-header .kidpOc {
  overflow-x: auto !important;

  overflow-y: hidden !important;

  max-width: 100% !important;

  min-width: 0 !important;
}

[data-mol-fe-xpmodule-navigation] [class*="subListWrapper"] {
  overflow-x: hidden !important;

  overflow-y: hidden !important;

  max-width: 100% !important;

  min-width: 0 !important;
}

[data-mol-fe-xpmodule-navigation] [class*="channeList"],
[data-mol-fe-xpmodule-navigation] [class*="carouselViewport"] {
  overflow-x: auto !important;

  overflow-y: hidden !important;

  max-width: 100% !important;

  min-width: 0 !important;
}

#bbc-header .hZiVmC,
[data-mol-fe-xpmodule-navigation] {
  max-width: 100% !important;
}

/* land-dead-nav: chrome + related cards look like links, do not navigate */
a:not([href]),
a[href=""],
a[data-testid="internal-link"] {
  cursor: pointer !important;
}

/* === article typography (missing base CSS — mobile-first, style-zone: article, not hat) ===
   Article font stays the ORIGINAL Libre Franklin/Lora (see @font-face above), never
   Arial/Georgia. Hat keeps its own Roboto stack untouched (landing-style-zones.md). */
article {
  max-width: 720px;

  margin: 0 auto;

  padding: 20px 16px 40px;

  font-family: "Libre Franklin", Arial, sans-serif;

  font-size: 15px;

  line-height: 1.6;

  color: #1a1a1a;
}

article p,
article .qa,
article .interview-meta {
  margin: 0 0 18px;
}

article b {
  font-weight: 700;
}

.breadcrumb {
  font-family: "Libre Franklin", Arial, sans-serif;

  font-size: 14px;

  font-weight: 700;

  letter-spacing: 0.04em;

  text-transform: uppercase;

  color: #626262;

  margin: 0 0 12px;
}

.breadcrumb .urgent {
  color: #c1272d;
}

.headline {
  font-family: "Libre Franklin", Arial, sans-serif;

  font-weight: 800;

  font-size: 26px;

  line-height: 1.25;

  color: #000;

  margin: 0 0 14px;
}

.subheadline {
  font-family: "Libre Franklin", Arial, sans-serif;

  font-weight: 400;

  font-size: 15px;

  line-height: 1.5;

  color: #333;

  margin: 0 0 20px;
}

article h2 {
  font-family: "Libre Franklin", Arial, sans-serif;

  font-weight: 800;

  font-size: 21px;

  line-height: 1.3;

  color: #000;

  margin: 32px 0 14px;
}

/* Content images/pictures — never wider than the article column (horizontal-scroll fix) */
article picture,
article picture source,
article img.lp-img {
  display: block;

  max-width: 100%;

  width: 100%;

  height: auto;
}

article picture {
  margin: 24px 0 0;

  border-radius: 6px;

  overflow: hidden;
}

.photo-caption {
  font-family: "Libre Franklin", Arial, sans-serif;

  font-size: 15px;

  line-height: 1.4;

  color: #626262;

  margin: 8px 0 20px;
}

.author-block {
  display: flex;

  align-items: center;

  gap: 12px;

  margin: 0 0 24px;

  padding: 16px 0;

  border-top: 1px solid #e0e0e0;

  border-bottom: 1px solid #e0e0e0;
}

.author-avatar {
  flex: 0 0 auto;

  width: 40px;

  height: 40px;

  border-radius: 50%;

  background: #fc0;

  color: #000;

  display: flex;

  align-items: center;

  justify-content: center;

  font-family: "Libre Franklin", Arial, sans-serif;

  font-weight: 700;

  font-size: 14px;
}

.author-name {
  font-family: "Libre Franklin", Arial, sans-serif;

  font-weight: 700;

  font-size: 14px;

  color: #000;
}

.author-meta {
  font-family: "Libre Franklin", Arial, sans-serif;

  font-size: 14px;

  color: #626262;
}

.declaration {
  font-family: "Lora", Georgia, serif;

  font-style: italic;

  font-weight: 400;

  font-size: 19px;

  line-height: 1.5;

  color: #000;

  border-left: 4px solid #fc0;

  padding: 4px 0 4px 18px;

  margin: 24px 0;
}

.interview-meta {
  font-family: "Libre Franklin", Arial, sans-serif;

  font-size: 14px;

  line-height: 1.5;

  color: #333;

  background: #f5f5f5;

  border-radius: 6px;

  padding: 14px 16px;
}

.qa {
  margin: 24px 0;
}

.qa .q,
.qa .a {
  font-family: "Libre Franklin", Arial, sans-serif;

  font-size: 15px;

  line-height: 1.6;

  margin: 0 0 14px;
}

.qa .q {
  color: #000;
}



.fb-comment-body,
.fb-comment-text {
  font-family: "Libre Franklin", Arial, sans-serif;

  font-size: 15px;

  line-height: 1.5;
}

.fb-comment-meta {
  display: flex;

  gap: 12px;

  font-size: 13px;

  color: #626262;

  margin-top: 4px;
}

.speaker-name {
  font-weight: 800;
}

article a.profitiva-link {
  color: #c1272d;

  font-weight: 700;

  text-decoration: underline;
}

/* Comment shots inside .fb-screenshot are attachments, not hero images — stay
   compact (landing-comment-shots-240.md canon), never inherit the 100%-wide
   article picture rule above. */
.fb-screenshot,
.fb-screenshot picture {
  display: block;

  max-width: 240px !important;

  width: auto !important;

  line-height: 0;
}

.fb-screenshot img,
.fb-screenshot .fb-shot {
  display: block !important;

  width: auto !important;

  max-width: 240px !important;

  height: auto !important;

  aspect-ratio: auto !important;

  margin: 8px 0 0 !important;

  border-radius: 8px;
}

@media (min-width: 768px) {
  article {
    padding: 32px 24px 48px;

    font-size: 16px;
  }

  .headline {
    font-size: 34px;
  }

  .subheadline,
  .photo-caption,
  .qa .q,
  .qa .a,
  .fb-comment-body,
  .fb-comment-text {
    font-size: 16px;
  }

  article h2 {
    font-size: 25px;
  }

  .declaration {
    font-size: 22px;
  }
}

/* === registration / CTA / calculator blocks (mobile-first, article style-zone) ===
   Accent color reuses .profitiva-link / .breadcrumb .urgent (#c1272d) — no new
   brand color invented. Structure mirrors reference/252_offer_archive patterns
   (registration-block, reg-step, table.income, cta-button, sticky-cta), colors
   swapped to this land's own accent. */
.income-cta-block {
  background: #fef4f4;

  border-left: 4px solid #c1272d;

  padding: 18px 16px;

  margin: 24px 0;

  border-radius: 4px;
}

.income-cta-block h3 {
  margin: 0 0 10px;

  font-size: 17px;

  font-weight: 700;

  color: #c1272d;

  line-height: 1.35;
}

.income-cta-block p {
  font-size: 15px;

  line-height: 1.6;

  margin: 0 0 12px;
}

.income-cta-block p:last-child {
  margin-bottom: 0;
}

table.income {
  width: 100%;

  border-collapse: collapse;

  font-size: 13px;

  margin: 16px 0;

  table-layout: fixed;
}

table.income thead th {
  background: #c1272d;

  color: #fff;

  text-align: left;

  padding: 8px 6px;

  font-weight: 600;

  font-size: 12px;

  line-height: 1.3;
}

table.income tbody td {
  padding: 10px 6px;

  border-bottom: 1px solid #eee;

  font-size: 13px;

  line-height: 1.3;

  word-break: break-word;
}

table.income tbody tr:last-child td {
  border-bottom: none;
}

table.income td.capital {
  font-weight: 700;

  color: #1a1a1a;
}

table.income td.income-base {
  color: #333;
}

table.income td.income-growth {
  font-weight: 700;

  color: #c1272d;
}

.calculator-block {
  background: #fff;

  border: 2px solid #c1272d;

  border-radius: 6px;

  padding: 18px 14px;

  margin: 24px 0;
}

.calculator-block h4 {
  font-size: 16px;

  font-weight: 700;

  margin: 0 0 16px;

  color: #c1272d;

  text-transform: uppercase;

  letter-spacing: 0.5px;
}

.calc-row {
  display: flex;

  justify-content: space-between;

  align-items: baseline;

  margin-bottom: 10px;
}

.calc-label {
  font-size: 14px;

  color: #666;
}

.calc-amount {
  font-size: 22px;

  font-weight: 700;

  color: #1a1a1a;
}

#calcSlider {
  width: 100%;

  accent-color: #c1272d;
}

.calc-range-labels {
  display: flex;

  justify-content: space-between;

  font-size: 12px;

  color: #999;

  margin: 6px 0 16px;
}

.calc-result {
  background: #fef4f4;

  border-left: 4px solid #c1272d;

  padding: 12px 14px;

  margin-bottom: 16px;

  border-radius: 4px;
}

.calc-result-label {
  font-size: 13px;

  color: #666;

  margin-bottom: 4px;
}

.calc-result-value {
  font-size: 19px;

  font-weight: 800;

  color: #c1272d;

  line-height: 1.25;

  margin-bottom: 6px;
}

.calc-disclaimer {
  font-size: 11px;

  color: #999;

  font-style: italic;
}

.platform-card {
  background: #fafafa;

  border: 1px solid #e0e0e0;

  border-radius: 6px;

  padding: 16px 14px;

  margin: 24px 0;
}

.platform-card h3 {
  margin: 0 0 12px;

  font-size: 16px;

  line-height: 1.4;
}

.platform-card .grid {
  display: grid;

  grid-template-columns: 1fr;

  gap: 12px;
}

.platform-card .item {
  font-size: 14px;

  line-height: 1.5;

  color: #333;

  padding-bottom: 12px;

  border-bottom: 1px solid #eee;
}

.platform-card .item:last-child {
  padding-bottom: 0;

  border-bottom: none;
}

.platform-card .item b {
  display: block;

  color: #c1272d;

  font-weight: 700;

  margin-bottom: 2px;
}

.registration-block {
  background: #fef4f4;

  border: 1px solid #c1272d;

  padding: 18px 14px;

  margin: 28px 0;

  border-radius: 4px;
}

.registration-block h2 {
  margin-top: 0;

  color: #c1272d;

  font-size: 20px;

  line-height: 1.3;
}

.reg-step {
  display: flex;

  gap: 12px;

  align-items: flex-start;

  margin-bottom: 14px;
}

.reg-step-num {
  background: #c1272d;

  color: #fff;

  width: 26px;

  height: 26px;

  min-width: 26px;

  border-radius: 50%;

  display: flex;

  align-items: center;

  justify-content: center;

  font-weight: 700;

  font-size: 13px;

  flex-shrink: 0;
}

.reg-step-text {
  font-size: 15px;

  line-height: 1.5;

  padding-top: 2px;
}

.deadline-line {
  font-size: 15px;

  line-height: 1.5;

  margin: 16px 0;
}

.deadline-line b {
  font-weight: 700;

  color: #c1272d;
}

.warning-block {
  background: #fff8e6;

  border: 1px solid #f0c020;

  border-radius: 4px;

  padding: 12px 14px;

  margin: 14px 0;

  font-size: 14px;

  line-height: 1.5;

  color: #4a3b00;
}

.cta-button {
  display: block;

  background: #c1272d;

  color: #fff;

  text-align: center;

  padding: 16px 14px;

  text-decoration: none;

  font-size: 15px;

  font-weight: 800;

  letter-spacing: 0.5px;

  margin: 24px 0 0;

  border-radius: 4px;

  text-transform: uppercase;

  transition: background 0.2s;
}

.cta-button:hover {
  background: #9e1f24;
}

.cta-button.cta-calc {
  margin: 0;

  padding: 14px;

  font-size: 14px;
}

/* Bottom sticky CTA — hat is NOT sticky (landing-no-sticky-hat.md), this bottom
   bar is the explicitly-allowed exception. body gets padding-bottom below so it
   never covers article/comments text. margin:0 resets the browser UA default
   (8px), which otherwise left a visible gutter around the whole page. */
body {
  margin: 0;

  padding-bottom: 60px;
}

/* ==== Comments section (.fb-*) — was completely unstyled: no container
   max-width (full-bleed on desktop), no bubble/avatar layout. ==== */
.fb-section {
  background: #f0f2f5;

  padding: 28px 0 22px;

  margin-top: 30px;

  border-top: 1px solid #e0e0e0;
}

.fb-header {
  max-width: 680px;

  margin: 0 auto 16px;

  padding: 0 16px;

  font-size: 17px;

  font-weight: 700;

  color: #050505;
}

.fb-input-area {
  max-width: 680px;

  margin: 0 auto 18px;

  padding: 0 16px;

  display: flex;

  gap: 8px;

  align-items: center;
}

.fb-input-avatar {
  width: 32px;

  height: 32px;

  border-radius: 50%;

  background: #d8dade;

  flex-shrink: 0;
}

.fb-input-field {
  flex: 1;

  min-width: 0;

  background: #fff;

  border-radius: 18px;

  padding: 9px 14px;

  font-size: 14px;

  color: #65676b;
}

.fb-comment {
  max-width: 680px;

  margin: 0 auto 16px;

  padding: 0 16px;

  display: flex;

  gap: 8px;

  align-items: flex-start;
}

.fb-comment.reply {
  max-width: 680px;

  margin-left: auto;

  margin-right: auto;

  padding-left: 60px;
}

.fb-avatar {
  width: 36px;

  height: 36px;

  border-radius: 50%;

  flex-shrink: 0;

  overflow: hidden;
}

.fb-avatar img {
  display: block;

  width: 100%;

  height: 100%;

  object-fit: cover;
}

.fb-comment-body {
  flex: 1;

  min-width: 0;
}

.fb-comment-bubble {
  background: #fff;

  border-radius: 18px;

  padding: 8px 12px;

  min-width: 0;

  overflow-wrap: break-word;

  word-break: break-word;
}

.fb-comment-author {
  font-size: 13px;

  font-weight: 600;

  color: #050505;

  margin-bottom: 2px;
}

.fb-comment-meta .like {
  margin-left: auto;

  background: #fff;

  border: 1px solid #ced0d4;

  border-radius: 12px;

  padding: 1px 8px;

  font-size: 11px;
}

@media (max-width: 480px) {
  .fb-comment.reply {
    padding-left: 40px;
  }
}

.sticky-cta {
  box-sizing: border-box;

  position: fixed;

  left: 50%;

  bottom: calc(12px + env(safe-area-inset-bottom));

  transform: translateX(-50%);

  width: calc(100% - 24px);

  max-width: 420px;

  background: #c1272d;

  color: #fff;

  text-align: center;

  padding: 12px 16px;

  text-decoration: none;

  font-size: 14px;

  line-height: 1.2;

  font-weight: 800;

  letter-spacing: 0.4px;

  text-transform: uppercase;

  border-radius: 8px;

  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);

  z-index: 9999;

  white-space: nowrap;

  overflow: hidden;

  text-overflow: ellipsis;

  transition: background 0.2s;
}

.sticky-cta:hover {
  background: #9e1f24;
}

@media (min-width: 480px) {
  .platform-card .grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (min-width: 768px) {
  .income-cta-block {
    padding: 24px 26px;
  }

  .income-cta-block h3 {
    font-size: 20px;
  }

  .income-cta-block p {
    font-size: 16px;
  }

  table.income {
    font-size: 14px;
  }

  table.income thead th {
    padding: 12px 14px;

    font-size: 13px;
  }

  table.income tbody td {
    padding: 12px 14px;

    font-size: 14px;
  }

  .calculator-block {
    padding: 24px;
  }

  .calculator-block h4 {
    font-size: 18px;
  }

  .calc-amount {
    font-size: 26px;
  }

  .calc-result-value {
    font-size: 22px;
  }

  .registration-block {
    padding: 26px;
  }

  .registration-block h2 {
    font-size: 24px;
  }

  .reg-step-num {
    width: 28px;

    height: 28px;

    min-width: 28px;

    font-size: 14px;
  }

  .cta-button {
    padding: 20px;

    font-size: 17px;
  }

  .cta-button.cta-calc {
    padding: 16px;

    font-size: 15px;
  }

  .sticky-cta {
    font-size: 16px;

    padding: 16px 20px;
  }
}

/* ==== merged: offer-form.css ==== */
/* ==== Offer registration form (product=offer) ====
   Scoped to #registro / .registro-* only — does not touch chrome or article zones.
   Accent color matches this land's existing article accent (#c1272d). */
.registro-form-wrap,
.registro-form-wrap * {
  box-sizing: border-box;
}

.registro-form-wrap {
  background: #f7f7f7;

  border: 1px solid #e0e0e0;

  border-radius: 10px;

  padding: 24px 18px;

  margin: 22px 0 0;
}

.registro-title {
  font-size: 19px;

  font-weight: 800;

  color: #1a1a1a;

  text-align: center;

  margin: 0 0 18px;

  line-height: 1.3;
}

.registro-form {
  display: flex;

  flex-direction: column;

  gap: 12px;
}

.registro-form input {
  width: 100%;

  padding: 14px 15px;

  font-size: 16px;

  border: 1.5px solid #dadada;

  border-radius: 8px;

  background: #fff;

  color: #1a1a1a;

  outline: none;

  transition:
    border-color 0.15s,
    box-shadow 0.15s;

  font-family: inherit;

  -webkit-appearance: none;
}

.registro-form input::placeholder {
  color: #9a9a9a;
}

.registro-form input:focus {
  border-color: #c1272d;

  box-shadow: 0 0 0 3px rgba(193, 39, 45, 0.12);
}

.registro-form input.invalid,
.registro-form input.error-input {
  border-color: #c1272d;
}

.phone-wrap {
  position: relative;
}

.phone-cc {
  position: absolute;

  top: 50%;

  left: 14px;

  transform: translateY(-50%);

  font-size: 15px;

  color: #626262;

  pointer-events: none;
}

.phone-wrap input {
  padding-left: 52px;
}

.registro-btn {
  width: 100%;

  padding: 15px 20px;

  background: #c1272d;

  color: #fff;

  border: none;

  border-radius: 8px;

  font-size: 16px;

  font-weight: 700;

  cursor: pointer;

  margin-top: 4px;

  transition:
    background 0.15s,
    transform 0.1s;

  font-family: inherit;

  letter-spacing: 0.2px;
}

.registro-btn:hover {
  background: #a01f24;
}

.registro-btn:active {
  transform: translateY(1px);
}

.registro-btn:disabled {
  opacity: 0.65;

  cursor: not-allowed;
}

.registro-note {
  font-size: 15px;

  color: #626262;

  text-align: center;

  margin: 8px 0 0;

  line-height: 1.4;
}

.registro-error {
  display: none;

  color: #c1272d;

  font-size: 13px;

  margin: 2px 0 0;

  text-align: center;
}

.registro-error.show {
  display: block;
}

.registro-done {
  display: none;

  align-items: center;

  gap: 10px;

  padding: 14px 16px;

  background: #eaf6ec;

  color: #1f9d5b;

  border-radius: 8px;

  font-size: 14.5px;

  font-weight: 600;

  margin-top: 4px;

  line-height: 1.4;
}

.registro-done.show {
  display: flex;
}

.registro-done svg {
  flex: none;
}

@media (max-width: 520px) {
  .registro-form-wrap {
    padding: 20px 14px;
  }

  .registro-title {
    font-size: 17px;
  }

  .registro-form input {
    font-size: 15.5px;

    padding: 13px 14px;
  }

  .phone-wrap input {
    padding-left: 50px;
  }
}
