@font-face {
  font-family: "Raleway";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("./raleway-400-normal-C5eIEfLm.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: "Raleway";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("./raleway-400-normal-sMcq1OIP.woff") format("woff");
  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: "Raleway";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("./raleway-400-normal-B1ZxqHSH.woff2") format("woff2");
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

@font-face {
  font-family: "Raleway";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("./raleway-400-normal-BOk4FNQ-.woff") format("woff");
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

@font-face {
  font-family: "Raleway";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("./raleway-400-normal-B4d0sYmR.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: "Raleway";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("./raleway-400-normal-DoUy7GWe.woff") format("woff");
  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: "Raleway";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("./raleway-400-normal-CTw6K1Xj.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: "Raleway";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("./raleway-400-normal-CTqj18iX.woff") format("woff");
  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: "Raleway";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("./raleway-400-normal-zbv6uFvq.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: "Raleway";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("./raleway-400-normal-QD38Acpa.woff") format("woff");
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

@font-face {
  font-family: "Raleway";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("./raleway-500-normal-D-8sZNrj.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: "Raleway";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("./raleway-500-normal-tXW-zgej.woff") format("woff");
  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: "Raleway";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("./raleway-500-normal-ejPie8pt.woff2") format("woff2");
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

@font-face {
  font-family: "Raleway";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("./raleway-500-normal-BkwshvnN.woff") format("woff");
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

@font-face {
  font-family: "Raleway";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("./raleway-500-normal-CFJA9GaE.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: "Raleway";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("./raleway-500-normal-D3Od-NQz.woff") format("woff");
  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: "Raleway";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("./raleway-500-normal-CL-kow7V.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: "Raleway";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("./raleway-500-normal-BFCCtoZS.woff") format("woff");
  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: "Raleway";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("./raleway-500-normal-DoOSefR2.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: "Raleway";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("./raleway-500-normal-BLgs1t5N.woff") format("woff");
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

@font-face {
  font-family: "Raleway";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("./raleway-600-normal-Dim-CLtL.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: "Raleway";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("./raleway-600-normal-BYS3Hyhk.woff") format("woff");
  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: "Raleway";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("./raleway-600-normal-Bf6BVg0_.woff2") format("woff2");
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

@font-face {
  font-family: "Raleway";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("./raleway-600-normal-PnINYvQl.woff") format("woff");
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

@font-face {
  font-family: "Raleway";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("./raleway-600-normal-DmsT1QjI.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: "Raleway";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("./raleway-600-normal-BLsvr1L6.woff") format("woff");
  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: "Raleway";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("./raleway-600-normal-BNRw9Zee.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: "Raleway";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("./raleway-600-normal-CzgBZgE0.woff") format("woff");
  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: "Raleway";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("./raleway-600-normal-ClRuJVnq.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: "Raleway";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("./raleway-600-normal-BPa6pe9i.woff") format("woff");
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

@font-face {
  font-family: "Raleway";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("./raleway-700-normal-BVpQLp0x.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: "Raleway";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("./raleway-700-normal-JVwBSLev.woff") format("woff");
  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: "Raleway";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("./raleway-700-normal-Dynwhvvt.woff2") format("woff2");
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

@font-face {
  font-family: "Raleway";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("./raleway-700-normal-Y0JCLxAF.woff") format("woff");
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

@font-face {
  font-family: "Raleway";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("./raleway-700-normal-BSYX0AAR.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: "Raleway";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("./raleway-700-normal-D9ggOV46.woff") format("woff");
  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: "Raleway";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("./raleway-700-normal-DhRR6XW-.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: "Raleway";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("./raleway-700-normal-BT2zqTaJ.woff") format("woff");
  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: "Raleway";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("./raleway-700-normal-BYzsFH9R.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: "Raleway";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("./raleway-700-normal-D0MeO1Y4.woff") format("woff");
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

@font-face {
  font-family: "Raleway";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("./raleway-800-normal-CKUvXht-.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: "Raleway";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("./raleway-800-normal-BBfTZwPM.woff") format("woff");
  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: "Raleway";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("./raleway-800-normal-C7l3Z_5A.woff2") format("woff2");
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

@font-face {
  font-family: "Raleway";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("./raleway-800-normal-DIxZ9cHN.woff") format("woff");
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

@font-face {
  font-family: "Raleway";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("./raleway-800-normal-b8JWSoG4.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: "Raleway";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("./raleway-800-normal-BYu5X6B0.woff") format("woff");
  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: "Raleway";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("./raleway-800-normal-BIUEBZ2q.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: "Raleway";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("./raleway-800-normal-DTw4gCiS.woff") format("woff");
  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: "Raleway";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("./raleway-800-normal-QT0AS1RO.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: "Raleway";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("./raleway-800-normal-QCFF6VWb.woff") format("woff");
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

.font-raleway {
  font-family: var(--font-raleway);
}

:root { --ink:#101b2c; --teal:#007e83; --mint:#c7f0df; --muted:#52606b; --line:#dce1df; --paper:#fff; font-family:'Raleway',sans-serif; color:var(--ink); background:var(--paper); font-synthesis:none; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:110px; }
body { margin:0; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button,input,textarea { font:inherit; color:inherit; }
button,a,summary { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible { outline:2px solid var(--teal); outline-offset:6px; }
::selection { background:var(--mint); color:var(--ink); }
h1,h2,h3,p { margin:0; }
p { line-height:1.7; }
.wrap { width:min(1280px,calc(100% - 112px)); margin-inline:auto; }
.site-header { position:sticky; top:0; z-index:20; min-height:96px; padding:18px 40px; background:#fff; display:flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid var(--line); }
.logo-frame { position:relative; display:block; width:172px; aspect-ratio:770/200; overflow:hidden; }
.logo-frame img { position:absolute; width:124.675325%; max-width:none; height:auto; left:-7.142857%; top:-85%; }
.brand { display:block; flex-shrink:0; }
.site-header nav { display:flex; gap:28px; align-items:center; }
.site-header nav a { padding:14px 0; font-size:13px; font-weight:600; position:relative; }
.site-header nav a::after { content:''; position:absolute; bottom:7px; left:0; width:100%; height:2px; background:var(--teal); transform:scaleX(0); transform-origin:left; transition:transform .2s; }
.site-header nav a:hover::after,.site-header nav a[aria-current]::after { transform:scaleX(1); }
.header-cta { display:flex; gap:26px; align-items:center; background:var(--ink); color:white; padding:14px 20px; border-radius:4px; font-size:14px; font-weight:600; }
.header-cta span,.text-link span,.submit span { display:inline-block; transition:transform .25s; }
.header-cta:hover span,.text-link:hover span,.submit:hover span { transform:translate(3px,-3px); }
.skip-link { position:fixed; z-index:99; left:16px; top:-100px; padding:14px; background:var(--ink); color:white; }
.skip-link:focus { top:12px; }
.hero { padding-top:42px; padding-bottom:36px; }
.hero-top { display:flex; justify-content:space-between; align-items:center; min-height:44px; font-size:13px; }
.hero-top p::before { content:''; width:7px; height:7px; display:inline-block; margin-right:10px; background:var(--teal); }
#replay { border:0; background:none; padding:12px 0 12px 16px; font-size:13px; color:var(--muted); }
#replay span { display:inline-block; margin-left:10px; font-size:20px; }
#replay:hover span { transform:rotate(-35deg); }
.wordmark { position:relative; padding:32px 0 14px; }
.letters { display:flex; justify-content:center; font-size:clamp(88px,20vw,280px); font-weight:700; line-height:1; letter-spacing:-.055em; user-select:none; }
.letter { position:relative; display:inline-block; transform-origin:50% 90%; }
.letter:last-child { margin-right:.045em; }
.letter-dot { position:absolute; width:.085em; height:.085em; background:var(--teal); top:.155em; left:50%; transform:translateX(-50%); }
.studio { display:block; text-align:right; margin-right:4%; margin-top:14px; letter-spacing:.72em; font-size:clamp(12px,1.35vw,19px); font-weight:600; }
.hero-bottom { display:grid; grid-template-columns:1.3fr 1fr; gap:10%; margin-top:56px; align-items:start; }
h1 { font-size:clamp(26px,3vw,42px); letter-spacing:-.035em; font-weight:500; line-height:1.2; max-width:23ch; }
h1 em { font-style:normal; color:var(--teal); }
.hero-intro { padding-top:3px; max-width:43ch; font-size:16px; color:var(--muted); }
.text-link { display:inline-flex; align-items:center; gap:22px; font-weight:600; color:var(--ink); min-height:44px; margin-top:22px; border-bottom:1px solid var(--ink); font-size:14px; }
.hero-next { display:flex; justify-content:space-between; align-items:center; margin-top:48px; padding-top:20px; border-top:1px solid var(--line); font-size:12px; }
.hero-next span { font-size:22px; }
.section { padding-top:112px; padding-bottom:112px; }
.section-intro { display:grid; grid-template-columns:1fr 2.2fr; gap:48px; margin-bottom:60px; }
.eyebrow { font-size:12px; font-weight:600; padding-top:8px; }
h2 { font-size:clamp(32px,4.2vw,58px); line-height:1.1; letter-spacing:-.045em; font-weight:500; }
.section-intro p:not(.eyebrow) { max-width:53ch; color:var(--muted); margin-top:24px; font-size:16px; }
.service { border-top:1px solid var(--line); }
.service:last-child { border-bottom:1px solid var(--line); }
.service summary { display:grid; grid-template-columns:56px 1fr 44px; gap:20px; align-items:center; padding:30px 0; cursor:pointer; list-style:none; }
.service summary::-webkit-details-marker { display:none; }
.service-number { font-size:12px; color:var(--teal); }
.service h3 { font-size:clamp(22px,2.5vw,34px); letter-spacing:-.035em; font-weight:500; transition:transform .25s; }
.service summary:hover h3 { transform:translateX(6px); }
.toggle { position:relative; width:36px; height:36px; justify-self:end; }
.toggle::before,.toggle::after { content:''; position:absolute; background:var(--ink); width:18px; height:1px; left:9px; top:18px; transition:transform .2s; }
.toggle::after { transform:rotate(90deg); }
.service[open] .toggle::after { transform:rotate(0); }
.service[open] h3 { color:var(--teal); }
.service-body { padding:0 64px 34px 76px; display:grid; grid-template-columns:1.5fr 1fr; gap:10%; align-items:end; }
.service-body p { color:var(--muted); font-size:16px; max-width:62ch; }
.service-body .text-link { justify-self:end; white-space:nowrap; }
.process { background:var(--mint); }
.process .section-intro p:not(.eyebrow) { color:#354f49; }
.steps { display:grid; grid-template-columns:repeat(4,1fr); gap:38px; padding:0; margin:0; list-style:none; }
.steps li { border-top:1px solid #709c8b; padding-top:16px; }
.step-number { font-size:13px; }
.steps h3 { margin-top:44px; margin-bottom:16px; font-size:23px; letter-spacing:-.04em; font-weight:600; }
.steps p { font-size:14px; color:#354f49; }
.why { background:var(--ink); color:white; }
.why-layout { display:grid; grid-template-columns:1fr 1fr; gap:12%; }
.why .eyebrow { color:#c7d0d6; margin-bottom:36px; }
.why h2 { font-size:clamp(38px,4.5vw,64px); }
.square { display:inline-block; width:.14em; height:.14em; background:var(--teal); margin-left:.12em; }
.why .square { background:var(--mint); }
.brand-mark { width:114px; margin-top:48px; color:var(--mint); transition:transform .6s cubic-bezier(.2,.8,.2,1); }
.brand-mark:hover { transform:rotate(-25deg); }
.reasons article { padding:26px 0; border-top:1px solid #3c4857; }
.reasons h3 { font-size:24px; font-weight:500; letter-spacing:-.025em; margin-bottom:12px; }
.reasons p { color:#c7d0d6; font-size:15px; }
.contact>.eyebrow { margin-bottom:32px; }
.contact>h2 { font-size:clamp(48px,7vw,96px); }
.contact-layout { display:grid; grid-template-columns:1fr 1.2fr; gap:12%; margin-top:64px; }
.contact-copy>p:first-child { max-width:39ch; color:var(--muted); font-size:16px; }
.email-link { display:inline-flex; gap:16px; align-items:center; margin-top:34px; font-size:clamp(16px,1.8vw,23px); font-weight:600; min-height:44px; border-bottom:1px solid var(--ink); }
.response-note { margin-top:14px; font-size:12px; color:var(--muted); }
form { position:relative; display:grid; gap:25px; }
form label { display:block; font-size:13px; font-weight:600; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
input,textarea { display:block; width:100%; min-width:0; border:0; border-radius:0; border-bottom:1px solid #a2aca8; background:none; padding:12px 0; font-size:16px; margin-top:6px; }
textarea { resize:vertical; }
.optional { color:var(--muted); font-weight:400; }
.form-note { color:var(--muted); font-size:12px; }
.submit { background:var(--teal); color:white; display:flex; gap:70px; justify-content:space-between; align-items:center; justify-self:start; border:0; border-radius:4px; padding:16px 22px; font-weight:600; font-size:14px; }
#form-status { font-size:13px; color:var(--teal); }
#form-status:empty { display:none; }
.honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.site-footer { border-top:1px solid var(--line); }
.footer-top { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:40px 0; }
.footer-top p { font-size:13px; color:var(--muted); }
.back-top { font-size:13px; display:flex; gap:18px; min-height:44px; align-items:center; }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:24px 0; border-top:1px solid var(--line); font-size:11px; color:var(--muted); }
.legal { display:flex; gap:24px; }
@media(min-width:1500px) { .letters { font-size:280px; } }
@media(max-width:1100px) { .site-header { padding:16px 28px; gap:16px; } .site-header nav { gap:18px; } .site-header nav a { font-size:12px; } .logo-frame { width:145px; } .wrap { width:calc(100% - 64px); } .steps { gap:24px; } .service-body { gap:36px; } }
@media(max-width:850px) { html { scroll-padding-top:140px; } .site-header { flex-wrap:wrap; padding:12px 24px 0; row-gap:4px; } .site-header nav { order:3; width:100%; justify-content:space-between; gap:12px; } .header-cta { padding:10px 16px; min-height:44px; } .hero-bottom { gap:48px; } .section-intro { grid-template-columns:1fr 2fr; gap:30px; } .service-body { display:block; } .service-body .text-link { margin-top:18px; } .steps { grid-template-columns:1fr 1fr; gap:40px; } .why-layout { gap:8%; } .contact-layout { gap:8%; } .form-row { grid-template-columns:1fr; } .email-link { font-size:16px; } .footer-top { flex-wrap:wrap; } }
@media(max-width:600px) { .wrap { width:calc(100% - 40px); } .site-header { padding-inline:20px; } .site-header nav { flex-wrap:wrap; column-gap:18px; row-gap:0; justify-content:flex-start; } .site-header nav a { font-size:11px; padding:12px 0; } .site-header nav a:last-child { display:none; } .hero { padding-top:24px; } .hero-top { font-size:11px; } .wordmark { padding-top:36px; } .letters { font-size:20vw; } .studio { font-size:10px; margin-right:1%; margin-top:10px; } .hero-bottom { grid-template-columns:1fr; gap:24px; margin-top:38px; } h1 { font-size:32px; max-width:20ch; } .hero-intro { font-size:15px; max-width:37ch; } .hero-next { margin-top:34px; } .section { padding-top:72px; padding-bottom:72px; } .section-intro { display:block; margin-bottom:36px; } .section-intro .eyebrow { margin-bottom:22px; } h2 { font-size:37px; } .section-intro p:not(.eyebrow) { font-size:15px; margin-top:20px; } .service summary { grid-template-columns:22px 1fr 30px; gap:12px; padding:25px 0; } .service h3 { font-size:23px; } .service-body { padding:0 0 28px 34px; } .service-body p { font-size:14px; } .service-body .text-link { font-size:12px; } .steps { gap:32px 24px; } .steps h3 { font-size:21px; margin-top:26px; } .steps p { font-size:13px; } .why-layout { grid-template-columns:1fr; gap:36px; } .why h2 br { display:none; } .why h2 { max-width:12ch; } .brand-mark { width:74px; margin-top:24px; } .reasons h3 { font-size:23px; } .contact>h2 { font-size:48px; } .contact-layout { grid-template-columns:1fr; gap:44px; margin-top:32px; } .email-link { font-size:19px; } .form-row { grid-template-columns:1fr 1fr; gap:18px; } .footer-top { gap:26px; padding:30px 0; } .footer-top p { order:3; width:100%; } .footer-bottom { align-items:flex-start; flex-direction:column; gap:12px; } .legal { gap:18px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; animation:none!important; } }

.site-header nav a { min-height:44px; display:inline-flex; align-items:center; }

/* Menos recursos decorativos; títulos y contenido con jerarquía directa. */
.hero-top p::before { content:none; }
.section-intro { display:block; max-width:780px; }
.section-intro h2 { font-size:clamp(30px,3vw,42px); }
.service summary { grid-template-columns:1fr 44px; }
.service summary:hover h3 { transform:none; }
.service-body { display:block; padding-left:0; max-width:760px; }
.steps h3 { margin-top:16px; }
.why h2 { font-size:clamp(32px,3.5vw,48px); max-width:13ch; }
.contact>h2 { font-size:clamp(36px,4vw,54px); }
.header-cta,.submit { gap:0; }
@media(max-width:600px) { .service summary { grid-template-columns:1fr 30px; } .service-body { padding-left:0; } }

/* Portada con identidad propia y lectura más cómoda. */
.hero { width:100%; max-width:none; margin:0; padding:40px max(32px,calc((100vw - 1280px)/2)) 30px; background:#101b2c; color:#f5f8f6; overflow:hidden; }
.hero-top { color:#cdd9d5; }
.hero #replay { color:#cdd9d5; }
.hero .letter-dot { background:#65ddc3; }
.hero .wordmark { padding-top:40px; }
.hero .letter { cursor:grab; touch-action:pan-y; }
.hero .letter.is-dragging { cursor:grabbing; z-index:2; }
.hero h1 { font-weight:500; }
.hero h1 em { color:#80e5cd; }
.hero-intro { color:#d8e0dd; font-weight:500; font-size:18px; }
.hero .text-link { color:#f5f8f6; border-color:#90a49e; font-size:16px; }
.hero-next { border-color:#40504f; color:#cdd9d5; }
.hero :focus-visible { outline-color:#80e5cd; }
.play-hint { color:#b1c3bd; font-size:12px; margin-top:12px; min-height:20px; }
.hero-bottom { margin-top:36px; }
.section-intro { margin-bottom:44px; }
.section-intro p:not(.eyebrow) { font-size:18px; color:#35434e; font-weight:500; }
article.service { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:8%; padding:40px 0; }
article.service h3 { color:var(--ink); font-size:clamp(25px,2.7vw,36px); font-weight:600; max-width:21ch; line-height:1.25; }
article.service .service-body { padding:0; max-width:54ch; }
article.service .service-body p { font-size:18px; line-height:1.8; color:#35434e; font-weight:500; }
.steps { grid-template-columns:1fr 1fr; gap:40px 9%; }
.steps h3 { font-size:26px; }
.steps p { font-size:18px; color:#253e36; font-weight:500; max-width:45ch; }
.why { background:#f3f4f1; color:var(--ink); }
.reasons article { border-color:#c9cfca; padding:28px 0; }
.reasons h3 { font-weight:600; font-size:26px; }
.reasons p { font-size:18px; color:#35434e; font-weight:500; }
.contact-copy>p:first-child { font-size:18px; color:#35434e; font-weight:500; }
form label { font-size:15px; }
.form-note { font-size:14px; }
@media(max-width:850px) { .hero { padding-inline:32px; } .hero-intro { font-size:17px; } }
@media(max-width:600px) {
 .hero { padding:24px 20px 28px; }
 .hero .wordmark { padding-top:32px; }
 .hero-bottom { margin-top:24px; }
 .hero h1 { font-size:30px; }
 .hero-intro { font-size:17px; }
 .play-hint { font-size:11px; margin-top:18px; }
 article.service { grid-template-columns:1fr; gap:18px; padding:30px 0; }
 article.service h3 { max-width:23ch; font-size:25px; }
 article.service .service-body p,.steps p,.reasons p { font-size:17px; line-height:1.75; }
 .steps { grid-template-columns:1fr; gap:28px; }
 .steps h3 { margin-top:10px; }
 .section-intro p:not(.eyebrow) { font-size:17px; }
 .reasons h3 { font-size:24px; }
}

/* Tarjetas de servicios: ambas caras comparten altura y giran como una pieza. */
.service-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.flip-card { position:relative; perspective:1500px; min-width:0; }
.flip-rotor { display:grid; position:relative; transform-style:preserve-3d; transition:transform 850ms cubic-bezier(.2,.75,.2,1); }
.flip-face { grid-area:1/1; min-height:350px; padding:42px; border:1px solid #d8e3de; border-radius:16px; backface-visibility:hidden; -webkit-backface-visibility:hidden; overflow-wrap:break-word; }
.flip-front { background:#f0f5f2; color:#101b2c; display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; gap:36px; position:relative; transform:translateZ(1px); }
.flip-front h3 { font-size:clamp(25px,2.6vw,36px); font-weight:600; line-height:1.2; letter-spacing:-.035em; max-width:19ch; padding-right:28px; }
.service-icon { width:84px; height:84px; color:#007e83; transition:transform 650ms cubic-bezier(.2,.75,.2,1); }
.flip-corner { position:absolute; right:26px; bottom:28px; color:#007e83; }
.flip-corner svg { width:24px; height:24px; }
.flip-back { background:#101b2c; color:#f3f8f5; border-color:#101b2c; transform:rotateY(180deg); display:flex; align-items:center; }
.flip-back p { font-size:clamp(17px,1.5vw,20px); font-weight:500; line-height:1.75; max-width:42ch; }
.flip-trigger { position:absolute; inset:0; width:100%; height:100%; border:0; border-radius:16px; padding:0; background:transparent; cursor:pointer; z-index:2; }
.flip-trigger:focus-visible { outline:3px solid #007e83; outline-offset:6px; }
.flip-card.is-flipped .flip-rotor { transform:translateY(-5px) rotateY(180deg); }
.flip-card:nth-child(even).is-flipped .flip-rotor { transform:translateY(-5px) rotateY(-180deg); }
.flip-card.is-flipped .service-icon { transform:translateY(-8px) rotate(-8deg); }
@media(max-width:850px) { .flip-face { padding:30px; min-height:360px; } .flip-front h3 { font-size:27px; } .flip-back p { font-size:17px; } }
@media(max-width:600px) { .service-list { grid-template-columns:1fr; gap:20px; } .flip-face { min-height:330px; padding:30px; } .flip-front h3 { font-size:29px; } .service-icon { width:72px; height:72px; } }
@media(prefers-reduced-motion:reduce) { .flip-rotor,.flip-face { transform:none!important; } .flip-front { visibility:visible; } .flip-back { visibility:hidden; } .flip-card.is-flipped .flip-front { visibility:hidden; } .flip-card.is-flipped .flip-back { visibility:visible; } }

/* Cómo trabajamos: verde del logo y una única línea de tiempo. */
.process { background:#00858a; color:#fff; }
.process .section-intro p:not(.eyebrow) { color:#fff; }
.timeline-scroll { overflow-x:auto; padding:8px 0 20px; scroll-snap-type:x proximity; scrollbar-color:#bdece6 #007277; scrollbar-width:thin; }
.timeline-scroll:focus-visible { outline:2px solid #fff; outline-offset:8px; }
.process .steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; min-width:900px; }
.process .steps li { position:relative; border:0; padding:0 30px 0 0; scroll-snap-align:start; }
.process .steps li::before { content:''; position:absolute; left:0; right:0; top:24px; height:1px; background:rgba(255,255,255,.55); }
.process .steps li:last-child::before { right:calc(100% - 24px); }
.timeline-point { display:flex; align-items:center; justify-content:center; position:relative; z-index:1; width:48px; height:48px; border:1px solid #fff; border-radius:50%; color:#fff; background:#00858a; font-size:14px; font-weight:600; }
.process .steps h3 { margin:28px 0 16px; font-size:25px; color:#fff; }
.process .steps p { font-size:17px; line-height:1.75; color:#fff; font-weight:500; }
@media(max-width:600px) {
 .process .steps { min-width:1050px; }
 .process .steps li { padding-right:36px; }
 .process .steps h3 { font-size:24px; }
 .process .steps p { font-size:17px; }
 .timeline-scroll { margin-right:-20px; padding-right:20px; }
}

/* Motivos a la izquierda; el símbolo responde a cada apertura. */
.why { background:#f3f4f1; }
.why h2 { max-width:23ch; margin-bottom:56px; }
.why-layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); align-items:center; gap:8%; }
.reason { border-top:1px solid #c4ceca; }
.reason:last-child { border-bottom:1px solid #c4ceca; }
.reason summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:25px 0; cursor:pointer; min-height:80px; }
.reason summary::-webkit-details-marker { display:none; }
.reason summary h3 { margin:0; font-size:clamp(22px,2vw,28px); line-height:1.25; letter-spacing:-.025em; font-weight:600; }
.reason[open] summary h3 { color:#00777c; }
.reason-toggle { flex-shrink:0; position:relative; width:28px; height:28px; }
.reason-toggle::before,.reason-toggle::after { content:''; position:absolute; top:13px; left:5px; width:18px; height:2px; background:#00777c; transition:transform .35s ease; }
.reason-toggle::after { transform:rotate(90deg); }
.reason[open] .reason-toggle::after { transform:rotate(0deg); }
.reason-content { padding:0 40px 28px 0; }
.reason-content p { font-size:18px; line-height:1.8; font-weight:500; color:#35434e; max-width:46ch; }
.why-art { width:100%; aspect-ratio:1; display:grid; place-items:center; }
.why-symbol { display:block; width:100%; max-width:500px; height:auto; overflow:visible; }
@supports (interpolate-size:allow-keywords) {
 .reason { interpolate-size:allow-keywords; }
 .reason::details-content { height:0; overflow:hidden; transition:height .45s cubic-bezier(.2,.75,.2,1),content-visibility .45s; transition-behavior:allow-discrete; }
 .reason[open]::details-content { height:auto; }
}
@media(max-width:700px) {
 .why h2 { margin-bottom:32px; }
 .why-layout { grid-template-columns:minmax(0,1fr); gap:28px; }
 .why-art { width:220px; margin-inline:auto; }
 .reason summary { padding:22px 0; }
 .reason summary h3 { font-size:23px; }
 .reason-content { padding-right:12px; }
 .reason-content p { font-size:17px; }
}

/* Pie con el mismo azul de la portada. */
.site-footer.wrap { width:100%; max-width:none; margin:0; padding-inline:max(32px,calc((100vw - 1280px)/2)); background:#101b2c; color:#f5f8f6; border-top:0; }
.site-footer .footer-top p,.site-footer .footer-bottom { color:#cdd9d5; }
.site-footer .footer-bottom { border-color:#40504f; }
.site-footer .brand { background:#fff; padding:8px 12px; border-radius:4px; }
.site-footer a:focus-visible { outline-color:#80e5cd; }
@media(max-width:600px) { .site-footer.wrap { padding-inline:20px; } }

.site-footer .brand { background:transparent; padding:0; border-radius:0; }
.footer-logo-white { display:block; width:190px; height:auto; }
@media(max-width:600px) { .footer-logo-white { width:165px; } }

/* Primera pantalla: cabecera + portada. */
.hero { min-height:calc(100svh - var(--header-height,96px)); display:flex; flex-direction:column; justify-content:space-between; gap:16px; padding-top:clamp(16px,3svh,36px); padding-bottom:clamp(16px,3svh,30px); }
.hero .wordmark { padding-top:0; padding-bottom:0; }
.hero .letters { font-size:min(20vw,30svh,280px); }
.hero .hero-bottom { margin-top:12px; }
.hero .hero-next { margin-top:12px; flex-shrink:0; }
.hero .play-hint { margin-top:0; }
@media(max-width:600px) { .hero { gap:14px; } .hero .letters { font-size:20vw; } }

/* Alineación del nombre: STUDIO usa el ancho real de las letras. */
.hero .wordmark { width:max-content; max-width:100%; align-self:center; margin-top:clamp(20px,4svh,40px); }
.hero .letters { letter-spacing:0; }
.hero .letter { letter-spacing:0; margin-right:-.055em; }
.hero .letter:last-child { margin-right:0; }
.hero .letter-dot { left:50%; top:.155em; transform:translateX(-50%); }
.hero .studio { display:flex; justify-content:flex-end; gap:.72em; letter-spacing:0; margin-right:0; margin-top:14px; }
@media(max-width:600px) { .hero .wordmark { margin-top:20px; } .hero .studio { margin-top:10px; } }

.hero .studio { width:max-content; margin-left:auto; }

/* Cuatro propuestas de frontal para comparar, conservando el mismo reverso. */
.variant-label { font-size:11px; font-weight:600; letter-spacing:.06em; position:relative; z-index:1; }
.flip-front[class*="variant-"] { min-height:400px; gap:20px; padding:32px; overflow:hidden; }
.variant-art { display:block; align-self:center; width:min(100%,340px); height:190px; flex-shrink:0; }
.flip-front[class*="variant-"] h3 { position:relative; z-index:1; padding:0; }
.flip-front.variant-a { background:#c7f0df; border-color:#aacfbf; justify-content:flex-start; }
.variant-a h3 { font-size:clamp(42px,4.5vw,66px); max-width:9ch; line-height:1.03; letter-spacing:-.055em; margin-top:auto; }
.type-art { position:absolute; right:25px; top:68px; display:flex; align-items:center; gap:8px; transform:rotate(-9deg); }
.type-art>span { font-size:70px; font-weight:700; color:#00858a; letter-spacing:-.07em; }
.type-art svg { width:50px; height:50px; transform:translateY(25px); }
.flip-front.variant-b { background:#fafbf8; border-color:#c3cfc5; }
.variant-b h3 { font-size:34px; max-width:16ch; }
.geometry-art { transform:rotate(-3deg); }
.flip-front.variant-c { background:#f4efe7; border-color:#e0d7c8; }
.variant-c h3 { font-size:30px; max-width:22ch; }
.illustration-art { width:100%; height:170px; }
.flip-front.variant-d { background:#101b2c; color:#fff; border-color:#101b2c; }
.variant-d .variant-label { color:#9dc8bd; }
.variant-d h3 { font-size:34px; max-width:16ch; }
.contrast-art { width:100%; height:190px; }
@media(max-width:850px) { .flip-front[class*="variant-"] { padding:26px; min-height:420px; } .type-art>span { font-size:56px; } .variant-a h3 { font-size:46px; } .variant-b h3,.variant-d h3 { font-size:29px; } .variant-c h3 { font-size:27px; } }
@media(max-width:600px) { .flip-front[class*="variant-"] { min-height:390px; } .variant-a h3 { font-size:52px; } .variant-art { max-width:320px; } }

/* Variante elegida: contraste e iconos lineales, sin decoración. */
.flip-front.contrast-final { min-height:380px; padding:38px; background:#101b2c; color:#f5f8f6; border-color:#101b2c; gap:40px; }
.minimal-service-icon { width:88px; height:88px; color:#80e5cd; flex-shrink:0; }
.contrast-final h3 { font-size:clamp(27px,2.5vw,36px); line-height:1.2; max-width:21ch; padding-right:0; font-weight:600; }
@media(max-width:600px) { .flip-front.contrast-final { min-height:330px; padding:30px; } .minimal-service-icon { width:76px; height:76px; } .contrast-final h3 { font-size:28px; } }

/* Variante ilustrada: escenas propias para cada servicio. */
.flip-front.illustrated-final { min-height:390px; padding:32px; background:#f4efe7; border-color:#e0d7c8; color:#101b2c; gap:30px; }
.service-illustration { display:block; width:100%; height:210px; flex-shrink:0; }
.illustrated-final h3 { padding:0; font-size:clamp(27px,2.5vw,34px); line-height:1.2; font-weight:600; max-width:22ch; }
@media(max-width:600px) { .flip-front.illustrated-final { padding:26px; min-height:350px; gap:22px; } .service-illustration { height:170px; } .illustrated-final h3 { font-size:27px; } }

/* Ilustraciones redondas, con masas de color de la marca. */
.flip-front.illustrated-final { background:#f0f5f2; border-color:#d8e3de; }

.illustrated-final .service-illustration { transform:scale(.85); transform-origin:center; }

/* Servicios en una fila en escritorio. */
.service-list { grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.flip-front.illustrated-final { min-height:365px; padding:24px; gap:24px; }
.illustrated-final .service-illustration { height:155px; }
.illustrated-final h3 { font-size:25px; line-height:1.2; }
.flip-back { padding:26px; }
.flip-back p { font-size:16px; line-height:1.65; }
@media(max-width:1100px) {
 .service-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .flip-front.illustrated-final { min-height:360px; padding:30px; }
 .illustrated-final .service-illustration { height:185px; }
 .illustrated-final h3 { font-size:28px; }
 .flip-back { padding:30px; }
 .flip-back p { font-size:17px; }
}
@media(max-width:600px) {
 .service-list { grid-template-columns:minmax(0,1fr); }
 .flip-front.illustrated-final { min-height:350px; padding:26px; }
 .illustrated-final .service-illustration { height:170px; }
 .illustrated-final h3 { font-size:27px; }
}
