    :root {
      --navy: #242b57;
      --blue: #364182;
      --magenta: #a02574;
      --berry: #aa277b;
      --rose: #c64c93;
      --ink: #20233c;
      --muted: #626274;
      --line: #dfe2ee;
      --paper: #ffffff;
      --mist: #f6f7fb;
      --lavender: #f2edf5;
      --success: #168a57;
      --whatsapp: #25d366;
      --whatsapp-ink: #123822;
      --shadow: 0 24px 70px rgba(36, 43, 87, .13);
      --radius: 26px;
      --max: 1180px;
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      color: var(--ink);
      background: var(--paper);
      font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      font-size: 1rem;
      line-height: 1.65;
      text-rendering: optimizeLegibility;
      -webkit-font-smoothing: antialiased;
    }
    body.menu-open { overflow: hidden; }
    img { max-width: 100%; display: block; }
    a { color: inherit; }
    button, a { -webkit-tap-highlight-color: transparent; }
    h1, h2, h3, p { margin-top: 0; }
    h1, h2, h3 {
      font-family: "Manrope", "DM Sans", sans-serif;
      color: var(--navy);
      line-height: 1.08;
      letter-spacing: -.035em;
    }
    h1 { font-size: clamp(2.55rem, 6vw, 5.2rem); }
    h2 { font-size: clamp(2rem, 4vw, 3.65rem); }
    h3 { font-size: clamp(1.22rem, 2vw, 1.55rem); letter-spacing: -.02em; }
    p { color: var(--muted); }
    ::selection { background: rgba(160, 37, 116, .2); color: var(--navy); }
    :focus-visible { outline: 3px solid rgba(160, 37, 116, .45); outline-offset: 4px; }

    .skip-link {
      position: fixed;
      z-index: 1000;
      top: 10px;
      left: 10px;
      transform: translateY(-140%);
      padding: .75rem 1rem;
      border-radius: 10px;
      background: var(--navy);
      color: white;
      transition: transform .2s ease;
    }
    .skip-link:focus { transform: translateY(0); }

    .container { width: min(var(--max), calc(100% - 40px)); margin-inline: auto; }
    .section { padding: clamp(76px, 9vw, 128px) 0; }
    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: .55rem;
      margin-bottom: 1.15rem;
      color: var(--magenta);
      font-family: "Manrope", sans-serif;
      font-size: .78rem;
      font-weight: 800;
      letter-spacing: .13em;
      line-height: 1.3;
      text-transform: uppercase;
    }
    .eyebrow::before {
      width: 26px;
      height: 2px;
      content: "";
      background: currentColor;
    }
    .section-copy { max-width: 690px; margin-bottom: 3.25rem; }
    .section-copy h2 { margin-bottom: 1.25rem; }
    .section-copy > p { max-width: 620px; font-size: 1.12rem; }

    .top-strip {
      background: var(--magenta);
      color: white;
      font-size: .86rem;
      font-weight: 600;
    }
    .top-strip .container {
      min-height: 38px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: .7rem;
      text-align: center;
    }
    .top-strip svg { width: 15px; height: 15px; flex: 0 0 auto; }

    .site-header {
      position: sticky;
      z-index: 100;
      top: 0;
      border-bottom: 1px solid rgba(36, 43, 87, .08);
      background: rgba(255,255,255,.94);
      backdrop-filter: blur(18px);
    }
    .nav {
      min-height: 86px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1.5rem;
    }
    .brand { display: inline-flex; align-items: center; text-decoration: none; }
    .brand img { width: 206px; height: auto; }
    .nav-links { display: flex; align-items: center; gap: clamp(1rem, 2vw, 2rem); }
    .nav-links > a:not(.nav-cta) {
      position: relative;
      color: var(--navy);
      font-size: .94rem;
      font-weight: 650;
      text-decoration: none;
    }
    .nav-links > a:not(.nav-cta)::after {
      position: absolute;
      right: 0;
      bottom: -7px;
      left: 0;
      height: 2px;
      content: "";
      background: var(--magenta);
      transform: scaleX(0);
      transform-origin: right;
      transition: transform .25s ease;
    }
    .nav-links > a:hover::after { transform: scaleX(1); transform-origin: left; }
    .menu-toggle {
      width: 46px;
      height: 46px;
      display: none;
      place-items: center;
      border: 1px solid var(--line);
      border-radius: 14px;
      background: white;
      color: var(--navy);
      cursor: pointer;
    }
    .menu-toggle svg { width: 23px; height: 23px; }

    .button {
      min-height: 52px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: .7rem;
      padding: .85rem 1.25rem;
      border: 1px solid transparent;
      border-radius: 14px;
      font-family: "Manrope", sans-serif;
      font-size: .96rem;
      font-weight: 750;
      line-height: 1.15;
      text-align: center;
      text-decoration: none;
      transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
    }
    .button:hover { transform: translateY(-2px); }
    .button svg { width: 19px; height: 19px; flex: 0 0 auto; }
    .button-primary {
      background: var(--whatsapp);
      color: var(--whatsapp-ink);
      box-shadow: 0 13px 30px rgba(37, 211, 102, .22);
    }
    .button-primary:hover { background: #20c660; box-shadow: 0 16px 36px rgba(37, 211, 102, .3); }
    .button-secondary { border-color: rgba(36, 43, 87, .2); background: rgba(255,255,255,.76); color: var(--navy); }
    .button-secondary:hover { background: white; box-shadow: 0 10px 30px rgba(36,43,87,.09); }
    .nav-cta { min-height: 44px; padding: .7rem 1rem; border-radius: 12px; }

    .hero {
      position: relative;
      min-height: 760px;
      overflow: hidden;
      display: grid;
      align-items: center;
      background:
        radial-gradient(circle at 78% 18%, rgba(198,76,147,.2), transparent 27%),
        radial-gradient(circle at 72% 85%, rgba(54,65,129,.2), transparent 31%),
        linear-gradient(135deg, #f8f8fc 0%, #f2edf5 48%, #eef1fa 100%);
    }
    .hero::before {
      position: absolute;
      inset: 0;
      content: "";
      opacity: .33;
      pointer-events: none;
      background-image:
        linear-gradient(rgba(54,65,129,.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(54,65,129,.08) 1px, transparent 1px);
      background-size: 72px 72px;
      mask-image: linear-gradient(90deg, transparent 5%, black 50%, transparent 100%);
    }
    .hero::after {
      position: absolute;
      right: -18vw;
      bottom: -46vw;
      width: 72vw;
      aspect-ratio: 1;
      content: "";
      border: 1px solid rgba(54,65,129,.13);
      border-radius: 50%;
      box-shadow: 0 0 0 74px rgba(54,65,129,.035), 0 0 0 148px rgba(54,65,129,.027);
    }
    .hero-grid {
      position: relative;
      z-index: 2;
      display: grid;
      grid-template-columns: minmax(0, 1.05fr) minmax(370px, .95fr);
      align-items: center;
      gap: clamp(2.5rem, 5vw, 6rem);
      padding: 80px 0 68px;
    }
    .hero-kicker {
      display: inline-flex;
      align-items: center;
      gap: .6rem;
      margin-bottom: 1.5rem;
      padding: .5rem .8rem;
      border: 1px solid rgba(54,65,129,.15);
      border-radius: 999px;
      background: rgba(255,255,255,.7);
      color: var(--blue);
      font-size: .78rem;
      font-weight: 750;
      letter-spacing: .07em;
      text-transform: uppercase;
    }
    .hero-kicker span { width: 8px; height: 8px; border-radius: 50%; background: var(--magenta); box-shadow: 0 0 0 5px rgba(160,37,116,.1); }
    .hero h1 { max-width: 760px; margin-bottom: 1.5rem; }
    .hero h1 em { color: var(--magenta); font-style: normal; }
    .hero-lead { max-width: 680px; margin-bottom: 2rem; color: #55576b; font-size: clamp(1.08rem, 1.8vw, 1.28rem); line-height: 1.65; }
    .hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-bottom: 2.1rem; }
    .hero-note { display: flex; align-items: flex-start; gap: .75rem; max-width: 625px; }
    .hero-note svg { width: 20px; height: 20px; flex: 0 0 auto; margin-top: .18rem; color: var(--magenta); }
    .hero-note p { margin: 0; font-size: .94rem; }
    .hero-visual { position: relative; align-self: end; min-height: 620px; }
    .portrait-orbit {
      position: absolute;
      inset: 6% -4% 0 1%;
      border: 1px solid rgba(54,65,129,.18);
      border-radius: 50% 50% 42% 48%;
      transform: rotate(5deg);
    }
    .portrait-orbit::before, .portrait-orbit::after {
      position: absolute;
      content: "";
      border-radius: 50%;
    }
    .portrait-orbit::before { inset: 9%; border: 1px dashed rgba(160,37,116,.25); }
    .portrait-orbit::after { inset: 26%; border: 1px solid rgba(54,65,129,.1); }
    .hero-photo {
      position: absolute;
      z-index: 2;
      right: 2%;
      bottom: 0;
      width: 82%;
      max-height: 625px;
      object-fit: contain;
      object-position: bottom;
      filter: drop-shadow(0 28px 38px rgba(36,43,87,.2));
    }
    .hero-stamp {
      position: absolute;
      z-index: 3;
      right: -2%;
      bottom: 10%;
      width: 138px;
      aspect-ratio: 1;
      display: grid;
      place-items: center;
      border: 1px solid rgba(255,255,255,.6);
      border-radius: 50%;
      background: rgba(36,43,87,.94);
      color: white;
      font-family: "Manrope", sans-serif;
      font-size: .77rem;
      font-weight: 750;
      letter-spacing: .04em;
      line-height: 1.3;
      text-align: center;
      box-shadow: var(--shadow);
      transform: rotate(5deg);
    }
    .route-line {
      position: absolute;
      z-index: 1;
      top: 23%;
      right: 7%;
      width: 84%;
      height: 190px;
      border-top: 2px dashed rgba(160,37,116,.32);
      border-radius: 50%;
      transform: rotate(-10deg);
    }
    .route-dot { position: absolute; z-index: 4; width: 14px; height: 14px; border: 4px solid white; border-radius: 50%; background: var(--magenta); box-shadow: 0 6px 18px rgba(160,37,116,.35); }
    .route-dot.one { top: 17%; left: 6%; }
    .route-dot.two { top: 27%; right: 2%; }

    .trust-bar {
      position: relative;
      z-index: 5;
      margin-top: -1px;
      border-top: 1px solid rgba(36,43,87,.08);
      border-bottom: 1px solid rgba(36,43,87,.08);
      background: white;
    }
    .trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
    .trust-item { min-height: 116px; display: flex; align-items: center; gap: .9rem; padding: 1.35rem; border-right: 1px solid var(--line); }
    .trust-item:last-child { border-right: 0; }
    .trust-icon { width: 42px; height: 42px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 13px; background: var(--lavender); color: var(--magenta); }
    .trust-icon svg { width: 21px; height: 21px; }
    .trust-item strong { display: block; color: var(--navy); font-family: "Manrope", sans-serif; font-size: .98rem; line-height: 1.25; }
    .trust-item small { display: block; margin-top: .25rem; color: var(--muted); font-size: .82rem; line-height: 1.35; }

    .audiences { background: var(--paper); }
    .audience-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
    .audience-panel {
      position: relative;
      min-height: 440px;
      overflow: hidden;
      padding: clamp(2rem, 4vw, 3.4rem);
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: var(--mist);
    }
    .audience-panel.dark { border-color: transparent; background: var(--navy); color: white; }
    .audience-panel::after {
      position: absolute;
      right: -75px;
      bottom: -90px;
      width: 260px;
      aspect-ratio: 1;
      content: "";
      border: 1px solid rgba(160,37,116,.2);
      border-radius: 50%;
      box-shadow: 0 0 0 45px rgba(160,37,116,.04), 0 0 0 90px rgba(160,37,116,.03);
    }
    .audience-panel.dark::after { border-color: rgba(255,255,255,.14); box-shadow: 0 0 0 45px rgba(255,255,255,.025), 0 0 0 90px rgba(255,255,255,.018); }
    .panel-number { display: block; margin-bottom: 5rem; color: var(--magenta); font-family: "Manrope", sans-serif; font-size: .8rem; font-weight: 800; letter-spacing: .13em; }
    .audience-panel.dark .panel-number { color: #f080bd; }
    .audience-panel h3 { position: relative; z-index: 2; max-width: 450px; margin-bottom: 1rem; font-size: clamp(1.8rem, 3vw, 2.55rem); }
    .audience-panel.dark h3, .audience-panel.dark p { color: white; }
    .audience-panel p { position: relative; z-index: 2; max-width: 500px; margin-bottom: 1.5rem; }
    .text-link { position: relative; z-index: 2; display: inline-flex; align-items: center; gap: .5rem; color: var(--magenta); font-weight: 750; text-decoration: none; }
    .audience-panel.dark .text-link { color: #f3a5d1; }
    .text-link svg { width: 17px; transition: transform .2s ease; }
    .text-link:hover svg { transform: translateX(4px); }

    .care { background: var(--mist); }
    .care-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--line); }
    .care-item { min-height: 288px; padding: 2.1rem; background: white; }
    .care-item svg { width: 30px; height: 30px; margin-bottom: 2.2rem; color: var(--magenta); }
    .care-item h3 { margin-bottom: .8rem; }
    .care-item p { margin: 0; font-size: .95rem; }

    .journey { overflow: hidden; background: var(--navy); color: white; }
    .journey h2, .journey h3, .journey p { color: white; }
    .journey .eyebrow { color: #f19bc8; }
    .journey .section-copy > p { color: rgba(255,255,255,.72); }
    .steps { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
    .steps::before { position: absolute; top: 31px; right: 12%; left: 12%; height: 1px; content: ""; background: linear-gradient(90deg, transparent, rgba(255,255,255,.28), transparent); }
    .step { position: relative; z-index: 2; }
    .step-index { width: 64px; height: 64px; display: grid; place-items: center; margin-bottom: 1.5rem; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; background: var(--navy); color: #f3a5d1; font-family: "Manrope", sans-serif; font-weight: 800; }
    .step h3 { margin-bottom: .75rem; font-size: 1.2rem; }
    .step p { color: rgba(255,255,255,.68); font-size: .92rem; }

    .doctor-grid { display: grid; grid-template-columns: minmax(340px, .85fr) minmax(0, 1.15fr); align-items: center; gap: clamp(3rem, 7vw, 7.5rem); }
    .doctor-photo {
      position: relative;
      overflow: hidden;
      min-height: 630px;
      border-radius: 34px;
      background:
        radial-gradient(circle at 55% 28%, rgba(255,255,255,.9), transparent 30%),
        linear-gradient(145deg, #f4edf3 0%, #e8ebf7 100%);
      box-shadow: var(--shadow);
    }
    .doctor-photo::before { position: absolute; z-index: 1; inset: 0; content: ""; background: linear-gradient(180deg, transparent 68%, rgba(36,43,87,.08)); pointer-events: none; }
    .doctor-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: center bottom; }
    .doctor-copy h2 { margin-bottom: 1.3rem; }
    .doctor-copy > p { font-size: 1.08rem; }
    .credentials { margin: 2rem 0 2.2rem; padding: 0; list-style: none; }
    .credentials li { display: flex; gap: .8rem; padding: .9rem 0; border-bottom: 1px solid var(--line); color: var(--ink); }
    .credentials svg { width: 19px; height: 19px; flex: 0 0 auto; margin-top: .2rem; color: var(--magenta); }
    .registration { margin-bottom: 1.7rem; color: var(--blue); font-family: "Manrope", sans-serif; font-size: .9rem; font-weight: 800; letter-spacing: .04em; }

    .locations { background: var(--lavender); }
    .location-grid { display: grid; grid-template-columns: 1fr 1fr 1.12fr; gap: 1rem; }
    .location-card { min-height: 270px; display: flex; flex-direction: column; padding: 2rem; border: 1px solid rgba(54,65,129,.12); border-radius: 22px; background: rgba(255,255,255,.76); }
    .location-card.featured { border-color: transparent; background: var(--magenta); color: white; }
    .location-card svg { width: 27px; height: 27px; margin-bottom: 2.3rem; color: var(--magenta); }
    .location-card.featured svg { color: white; }
    .location-card h3 { margin-bottom: .65rem; }
    .location-card p { margin-bottom: 1.5rem; font-size: .94rem; }
    .location-card.featured h3, .location-card.featured p { color: white; }
    .location-card .text-link { margin-top: auto; }
    .location-card.featured .text-link { color: white; }
    .location-card .button { margin-top: auto; }
    .location-card .button svg { width: 19px; height: 19px; margin: 0; color: inherit; }

    .english-note { padding: 60px 0; background: white; }
    .english-box { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 2rem; padding: clamp(2rem, 5vw, 4rem); border: 1px solid var(--line); border-radius: var(--radius); background: linear-gradient(125deg, #fff 0%, #f7f4f8 100%); }
    .english-mark { display: flex; align-items: center; gap: .75rem; color: var(--magenta); font-family: "Manrope", sans-serif; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
    .english-mark svg { width: 28px; height: 28px; }
    .english-box h2 { margin-bottom: 1rem; font-size: clamp(1.8rem, 3vw, 2.8rem); }
    .english-box p { margin-bottom: 1.3rem; }

    .faq-grid { display: grid; grid-template-columns: .76fr 1.24fr; align-items: start; gap: clamp(3rem, 7vw, 7rem); }
    .faq-intro { position: sticky; top: 130px; }
    .faq-intro h2 { margin-bottom: 1.2rem; }
    .faq-list { border-top: 1px solid var(--line); }
    details { border-bottom: 1px solid var(--line); }
    summary { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 1.2rem; padding: 1rem 0; color: var(--navy); font-family: "Manrope", sans-serif; font-size: 1.08rem; font-weight: 750; line-height: 1.35; cursor: pointer; list-style: none; }
    summary::-webkit-details-marker { display: none; }
    summary::after { width: 32px; height: 32px; flex: 0 0 auto; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; content: "+"; color: var(--magenta); font-size: 1.25rem; font-weight: 500; transition: transform .2s ease, background .2s ease; }
    details[open] summary::after { content: "−"; background: var(--lavender); transform: rotate(180deg); }
    details p { max-width: 710px; padding: 0 3.4rem 1.45rem 0; }

    .final-cta { padding: 0 0 clamp(76px, 9vw, 128px); }
    .cta-panel {
      position: relative;
      overflow: hidden;
      display: grid;
      grid-template-columns: 1fr auto;
      align-items: center;
      gap: 2rem;
      padding: clamp(2.2rem, 6vw, 5rem);
      border-radius: 32px;
      background: var(--navy);
      color: white;
    }
    .cta-panel::before { position: absolute; top: -150px; right: 7%; width: 330px; aspect-ratio: 1; content: ""; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; box-shadow: 0 0 0 55px rgba(255,255,255,.025), 0 0 0 110px rgba(255,255,255,.018); }
    .cta-panel h2 { position: relative; z-index: 2; max-width: 760px; margin-bottom: 1rem; color: white; }
    .cta-panel p { position: relative; z-index: 2; max-width: 710px; margin: 0; color: rgba(255,255,255,.72); font-size: 1.05rem; }
    .cta-panel .button { position: relative; z-index: 2; min-width: 220px; background: var(--whatsapp); color: var(--whatsapp-ink); box-shadow: 0 16px 35px rgba(0,0,0,.16); }
    .video-embed {
      display: block;
      box-sizing: border-box;
      width: min(900px, calc(100% - 40px));
      max-width: 900px;
      margin: 80px auto 0;
    }
    .video-embed iframe {
      display: block;
      box-sizing: border-box;
      width: 100% !important;
      height: auto !important;
      aspect-ratio: 16 / 9;
      border: 0;
      border-radius: 20px;
      box-shadow: var(--shadow);
      background: #111;
    }
    @media (max-width: 720px) {
      .video-embed {
        width: calc(100% - 28px);
        margin-top: 80px;
      }
    }

    footer { padding: 52px 0 28px; border-top: 1px solid var(--line); background: white; }
    .footer-grid { display: grid; grid-template-columns: 1.2fr .8fr .8fr; gap: 2rem; padding-bottom: 2.6rem; }
    .footer-brand img { width: 220px; height: auto; aspect-ratio: 800 / 348; object-fit: contain; margin-bottom: 1rem; }
    .footer-brand p { max-width: 390px; font-size: .91rem; }
    .footer-column h3 { margin-bottom: 1rem; font-size: .98rem; letter-spacing: 0; }
    .footer-column a { display: block; margin: .52rem 0; color: var(--muted); font-size: .9rem; text-decoration: none; }
    .footer-column a:hover { color: var(--magenta); }
    .footer-bottom { display: flex; justify-content: space-between; gap: 1rem; padding-top: 1.4rem; border-top: 1px solid var(--line); }
    .footer-bottom p { margin: 0; font-size: .78rem; }

    .whatsapp-float {
      position: fixed;
      z-index: 90;
      right: 22px;
      bottom: 22px;
      width: 58px;
      height: 58px;
      display: grid;
      place-items: center;
      border: 3px solid white;
      border-radius: 50%;
      background: #25d366;
      color: white;
      box-shadow: 0 14px 34px rgba(20,116,66,.3);
      transition: transform .2s ease;
    }
    .whatsapp-float:hover { transform: translateY(-3px) scale(1.03); }
    .whatsapp-float svg { width: 28px; height: 28px; }

    @media (max-width: 1100px) {
      .nav-links {
        position: fixed;
        inset: 125px 18px auto;
        display: none;
        align-items: stretch;
        flex-direction: column;
        gap: 0;
        padding: 1.1rem;
        border: 1px solid var(--line);
        border-radius: 20px;
        background: white;
        box-shadow: var(--shadow);
      }
      .menu-open .nav-links { display: flex; }
      .nav-links > a:not(.nav-cta) { padding: .9rem .6rem; border-bottom: 1px solid var(--line); }
      .nav-links .nav-cta { margin-top: .8rem; }
      .menu-toggle { display: grid; }
      .hero { min-height: auto; }
      .hero-grid { grid-template-columns: 1fr; padding-top: 68px; }
      .hero-copy { text-align: center; }
      .hero h1, .hero-lead, .hero-note { margin-right: auto; margin-left: auto; }
      .hero-actions { justify-content: center; }
      .hero-note { text-align: left; }
      .hero-visual { width: min(600px, 92vw); min-height: 570px; margin-inline: auto; }
      .trust-grid { grid-template-columns: 1fr 1fr; }
      .trust-item:nth-child(2) { border-right: 0; }
      .trust-item:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
      .care-grid { grid-template-columns: 1fr 1fr; }
      .steps { grid-template-columns: 1fr 1fr; gap: 2rem 1.5rem; }
      .steps::before { display: none; }
      .doctor-grid { grid-template-columns: 1fr; }
      .doctor-photo { min-height: 500px; }
      .location-grid { grid-template-columns: 1fr 1fr; }
      .location-card.featured { grid-column: 1 / -1; }
      .faq-grid { grid-template-columns: 1fr; }
      .faq-intro { position: static; }
      .faq-intro p { max-width: 680px; }
      .cta-panel { grid-template-columns: 1fr; }
      .cta-panel .button { justify-self: start; }
    }

    @media (max-width: 720px) {
      .container { width: min(100% - 28px, var(--max)); }
      .section { padding: 72px 0; }
      .top-strip .container { min-height: 44px; font-size: .77rem; }
      .nav { min-height: 76px; }
      .brand img { width: 172px; }
      .nav-links { inset: 120px 14px auto; }
      .hero-grid { gap: 1rem; padding-top: 54px; }
      .hero h1 { font-size: clamp(2.5rem, 13vw, 4rem); }
      .hero-actions { flex-direction: column; }
      .hero-actions .button { width: 100%; }
      .hero-visual { min-height: 465px; }
      .hero-photo { right: 7%; width: 88%; max-height: 500px; }
      .hero-stamp { right: 0; bottom: 4%; width: 108px; font-size: .65rem; }
      .trust-grid { grid-template-columns: 1fr; }
      .trust-item { min-height: 94px; border-right: 0; border-bottom: 1px solid var(--line); }
      .trust-item:last-child { border-bottom: 0; }
      .audience-grid, .care-grid, .steps, .location-grid, .english-box, .footer-grid { grid-template-columns: 1fr; }
      .audience-panel { min-height: 390px; }
      .panel-number { margin-bottom: 3.4rem; }
      .care-item { min-height: auto; }
      .care-item svg { margin-bottom: 1.4rem; }
      .location-card.featured { grid-column: auto; }
      .doctor-photo { min-height: 400px; margin: 0; }
      .english-box { gap: 1.2rem; }
      .cta-panel { padding: 2.3rem 1.4rem; border-radius: 24px; }
      .cta-panel .button { width: 100%; }
      .footer-bottom { flex-direction: column; }
      .whatsapp-float { right: 14px; bottom: 14px; width: 54px; height: 54px; }
    }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
    }
    section[id] { scroll-margin-top: 110px; }
    .nav-links > a.language-link {
      padding: .55rem .78rem;
      border: 1px solid var(--navy);
      border-radius: 10px;
      background: var(--navy);
      color: white;
      white-space: nowrap;
      transition: background .2s ease, border-color .2s ease, color .2s ease;
    }
    .nav-links > a.language-link::after { display: none; }
    .nav-links > a.language-link:hover { border-color: var(--magenta); background: var(--magenta); color: white; }
    .concierge { background: var(--mist); }
    .concierge-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: start; margin-bottom: 3rem; }
    .concierge-intro h2 { margin-bottom: 1.25rem; }
    .concierge-intro p { font-size: 1.08rem; }
    .concierge-note { margin-top: 1.5rem; font-size: .9rem !important; }
    .support-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
    .support-list li { padding: 1.3rem 0; border-bottom: 1px solid var(--line); }
    .support-list strong { display: block; margin-bottom: .45rem; color: var(--navy); font-family: "Manrope", sans-serif; }
    .support-list p { margin: 0; font-size: 1rem; }
    .service-note { padding: 1.4rem 1.7rem; border: 1px solid var(--line); border-left: 4px solid var(--magenta); border-radius: 12px; background: white; }
    .service-note p { margin: .4rem 0 0; font-size: .95rem; }
    .service-note strong { color: var(--navy); }
    .emergency-note { margin-top: 1.6rem; font-size: .95rem; }
    .en-page .hero h1 { font-size: clamp(2.55rem, 5.5vw, 4.6rem); }
    .en-page .hero-stamp { font-size: .73rem; }
    @media (max-width: 1100px) {
      .concierge-intro { grid-template-columns: 1fr; gap: 2rem; }
    }
    @media (max-width: 720px) {
      .concierge-intro { grid-template-columns: 1fr; gap: 2rem; }
      .en-page .hero h1 { font-size: clamp(2.5rem, 11vw, 3.6rem); }
    }
