:root { --ink:#183b5b; --muted:#647e95; --blue:#146fa8; --navy:#0b3d65; --sky:#eaf7ff; --line:#d9e9f3; --white:#fff; --teal:#159da9; --soft:#f6fbff; --shadow:0 18px 45px rgba(26,83,124,.10); }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body { margin:0; color:var(--ink); font-family:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif; background:#fff; line-height:1.6; }
    h1,h2,h3,p { margin-top:0; }
    h1,h2,h3 { font-family:Manrope,system-ui,sans-serif; line-height:1.17; letter-spacing:-.035em; }
    a { color:inherit; text-decoration:none; }
    button,input,select { font:inherit; }
    button { cursor:pointer; }
    .container { max-width:1160px; margin:0 auto; padding:0 24px; }
    .eyebrow { display:inline-flex; align-items:center; gap:8px; font-weight:800; letter-spacing:.115em; color:var(--blue); font-size:.72rem; text-transform:uppercase; }
    .eyebrow::before { content:''; width:8px; height:8px; background:#2cbbbd; border-radius:50%; }
    .btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:15px 23px; border-radius:12px; border:1px solid transparent; font-size:.94rem; font-weight:800; transition:transform .2s,box-shadow .2s; }
    .btn:hover { transform:translateY(-2px); box-shadow:0 10px 25px rgba(18,96,145,.14); }
    .btn.primary { background:var(--blue); color:#fff; }
    .btn.light { background:#fff; color:var(--blue); border-color:#cddfea; }
    .btn.small { padding:11px 17px; font-size:.84rem; }
    .btn:focus-visible, a:focus-visible, input:focus-visible,select:focus-visible, .day:focus-visible { outline:3px solid #3fb6d0; outline-offset:3px; }
    header { position:sticky; z-index:50; top:0; background:rgba(255,255,255,.95); backdrop-filter:blur(16px); border-bottom:1px solid #e7f0f5; }
    .nav { min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:22px; }
    .brand { display:flex; align-items:center; gap:11px; min-width:max-content; }
    .brand-mark { width:46px; height:46px; display:grid; place-items:center; color:#fff; font-size:24px; border-radius:14px; background:linear-gradient(145deg,#1f9cb9,#1766a1); box-shadow:0 7px 18px #177eac26; }
    .brand strong { display:block; font:800 1.06rem Manrope,sans-serif; letter-spacing:-.03em; }
    .brand small { display:block; font-size:.69rem; font-weight:800; color:var(--blue); letter-spacing:.06em; text-transform:uppercase; line-height:1.2; }
    .nav-links { display:flex; align-items:center; gap:30px; font-size:.88rem; font-weight:700; }
    .nav-links a:hover { color:var(--blue); }
    .nav-toggle { display:none; border:1px solid var(--line); background:#fff; border-radius:10px; padding:7px 12px; color:var(--ink); font-weight:800; }
    .hero { position:relative; overflow:hidden; padding:85px 0 90px; background:radial-gradient(circle at 82% 20%,#d7f0fa 0,transparent 36%),linear-gradient(120deg,#f4fbff,#eaf6fd 74%,#dff2fa); }
    .hero::before { content:''; position:absolute; width:340px;height:340px; border:60px solid #fff7; border-radius:50%; right:-130px;top:-150px; }
    .hero-grid { display:grid; grid-template-columns:1.02fr .98fr; gap:55px; align-items:center; position:relative; }
    .hero h1 { font-size:clamp(2.4rem,4.6vw,4.5rem); font-weight:800; margin:19px 0 23px; }
    .hero h1 span { color:inherit; }
    .hero p { max-width:540px; color:#55748f; font-size:1.13rem; }
    .hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin:28px 0 35px; }
    .hero-proof { display:flex; flex-wrap:wrap; gap:23px; color:#396580; font-size:.86rem; font-weight:700; }
    .hero-proof span { display:inline-flex; align-items:center; gap:8px; }
    .check { color:var(--teal); font-weight:900; }
    .hero-art { position:relative; min-height:460px; display:flex; align-items:center; justify-content:center; }
    .pet-frame { width:100%; height:435px; border-radius:175px 175px 28px 28px; position:relative; overflow:hidden; background:linear-gradient(145deg,#bce6ef,#6cb3d0); box-shadow:var(--shadow); }
    .pet-frame img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }


    section { padding:92px 0; scroll-margin-top:87px; }
    .section-head { max-width:700px; margin:0 auto 40px; text-align:center; }
    .section-head h2,.split-copy h2 { font-size:clamp(1.85rem,3vw,2.8rem); margin:14px 0 13px; }
    .section-head p,.split-copy p { color:var(--muted); }
    .cards { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }
    .card { padding:29px 22px; border:1px solid #e0ecf3; border-radius:20px; background:#fff; box-shadow:0 7px 26px #14496d09; }
    .card-icon { width:62px;height:62px; border-radius:17px; display:grid;place-items:center; background:#eaf7ff; font-size:30px; margin-bottom:24px; }
    .card h3 { font-size:1.06rem; margin-bottom:11px; }
    .card p { font-size:.9rem; color:var(--muted);margin:0; }
    .services-footnote { font-size:.82rem;color:var(--muted);text-align:center;margin:25px auto 0;max-width:850px; }
    .soft-section { background:var(--soft); }
    .split { display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:70px; }
    .illustration { min-height:370px; border-radius:28px; background:linear-gradient(145deg,#d5eff9,#b7e2f0); padding:18px; display:grid;place-items:center; }
    .illustration img { display:block; width:100%; height:355px; object-fit:cover; border-radius:17px; }
    .areas { display:flex;flex-wrap:wrap;gap:10px;margin:23px 0 29px; }
    .area { padding:10px 15px; border:1px solid #cce5f3; border-radius:25px; background:#fff; font-size:.86rem;font-weight:700;color:#376280; }
    .about .split { grid-template-columns:1fr 1fr; }
    .about .illustration { background:#e7f5fa; }
    .about p { margin-bottom:22px; }
    .note { border-left:3px solid #54bac2; background:#edf8fc; padding:15px 18px; border-radius:0 10px 10px 0; font-size:.85rem; color:#46718c; }
    .booking { background:linear-gradient(135deg,#e9f7ff,#f8fcff); }
    .booking-wrap { display:grid; grid-template-columns:.8fr 1.2fr; gap:50px; align-items:start; }
    .booking-copy h2 { font-size:clamp(2rem,3.3vw,3rem); margin:13px 0 17px; }
    .booking-copy p { color:var(--muted); }
    .steps { margin:30px 0 0; padding:0; list-style:none; display:grid;gap:15px; }
    .steps li { display:flex;align-items:center;gap:12px;font-weight:700;font-size:.9rem; }
    .steps b { width:31px;height:31px;border-radius:50%;background:#d1eafa;display:grid;place-items:center;color:var(--blue);flex-shrink:0; }
    .booking-card { background:#fff; border-radius:22px; padding:30px;box-shadow:var(--shadow);border:1px solid #dcecf6; }
    .booking-card h3 { font-size:1.24rem; margin:0 0 20px; }
    .calendar-head { display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px; }
    .calendar-head strong { font-family:Manrope,sans-serif; font-size:1rem;text-transform:capitalize; }
    .cal-buttons { display:flex;gap:7px; }
    .cal-buttons button { width:37px;height:37px;border:1px solid var(--line);border-radius:10px;background:#f6fbfe;color:var(--blue);font-weight:800; }
    .weekdays,.calendar-days { display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px; }
    .weekdays span { text-align:center; font-size:.72rem; font-weight:800; color:#7a96a9;padding:7px 0; }
    .day { aspect-ratio:1.08; min-width:0; border:1px solid transparent; background:#f5faff; border-radius:10px;color:#2e5875;font-weight:800;font-size:.82rem; }
    .day:not(:disabled):hover { border-color:#83c8e7; }
    .day:disabled { color:#bfd0dc; cursor:not-allowed;background:#fafcfd; }
    .day.selected { color:#fff; background:var(--blue); }
    .day.spacer { background:none; }
    .field-grid { display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px; }
    .field { display:flex;flex-direction:column;gap:6px; min-width:0; }
    .field.full { grid-column:1/-1; }
    .field label { font-size:.79rem;font-weight:800;color:#496b86; }
    .field input,.field select { width:100%; min-width:0; background:#fbfdff; border:1px solid #d5e6ef; border-radius:10px;padding:12px;color:var(--ink); }
    .booking-card .btn { width:100%; margin-top:20px; }
    .booking-caption { margin:13px 0 0;color:#778fa1;font-size:.76rem;text-align:center; }
    .faq-list { display:grid;gap:11px;max-width:800px;margin:auto; }
    details { background:#fff;border:1px solid #e1edf4;border-radius:13px;padding:17px 20px; }
    summary { cursor:pointer;font-weight:800;font-size:.95rem; }
    details p { padding-top:12px;margin:0;color:var(--muted);font-size:.9rem; }




    footer { background:#092f4e;color:#d9e9f3;padding:35px 0; }
    footer .container { display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px; }
    footer strong { color:#fff; }
    footer p { margin:0;color:#a8c3d5;font-size:.8rem; }
    .floating-contact { position:fixed;right:20px;bottom:20px;z-index:60;background:#168d7d;color:#fff;padding:13px 19px;border-radius:50px;box-shadow:0 13px 32px #156d6980;font-weight:800;font-size:.85rem; }
    .floating-contact:hover { background:#087263; }
    @media(max-width:990px) { .cards { grid-template-columns:repeat(2,1fr); }.nav-links { gap:15px; }.hero-grid { gap:25px; }.hero-art { min-height:390px; }.pet-frame { height:370px; }.split { gap:35px; }.booking-wrap { gap:22px; } }
    @media(max-width:700px) {
      .container { padding:0 19px; }.nav { min-height:72px; }.nav-toggle { display:block; }.nav > .btn { display:none; }
      .nav-links { display:none; position:absolute;top:72px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:20px;flex-direction:column;align-items:stretch;gap:15px;box-shadow:0 15px 30px #224c6b16; }.nav-links.open { display:flex; }
      .hero { padding:60px 0 50px; }.hero-grid,.split,.about .split,.booking-wrap { grid-template-columns:1fr; }.hero h1 { font-size:clamp(2.25rem,9vw,3.3rem); }.hero p { font-size:1rem; }.hero-art { min-height:320px; margin-top:10px; }.pet-frame { height:325px;max-width:430px; }
      section { padding:66px 0; }.section-head { margin-bottom:27px; }.cards { gap:12px; }.card { padding:20px 16px; }.card-icon { margin-bottom:15px; }.split { gap:28px; }.illustration,.illustration img { min-height:270px;height:270px; }.booking-card { padding:20px 16px; }.floating-contact { right:12px;bottom:12px; }
    }
    @media(max-width:420px) { .cards { grid-template-columns:1fr; }.brand strong { font-size:.95rem; }.hero-actions .btn { width:100%; }.field-grid { grid-template-columns:1fr; }.day { border-radius:7px;font-size:.75rem; }.booking-card { padding:19px 13px; } }
    @media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .btn { transition:none; } }
    /* Currículo profissional: leitura rápida, blocos expansíveis e boa hierarquia em qualquer tela. */
    .about { background:#fff; }
    .about-intro { display:grid;grid-template-columns: minmax(0,1.2fr) minmax(290px,.8fr);gap:48px;align-items:center; }
    .about .eyebrow { margin-bottom:5px; }
    .about .about-title { margin:13px 0 7px;font-size:clamp(2rem,3.4vw,3.05rem); }
    .about .full-name { font-size:1.03rem;font-weight:800;color:var(--navy);margin:0 0 4px; }
    .about .professional-id { font-size:.86rem;color:var(--blue);font-weight:700;letter-spacing:.01em;margin:0 0 18px; }
    .about .about-lead { color:#4b6a84;font-size:1.04rem;line-height:1.8;margin:0 0 19px; }
    .credentials { display:flex;flex-wrap:wrap;gap:9px;margin:0 0 22px; }
    .credential { border:1px solid #cbe7f0;background:#f1faff;border-radius:999px;padding:7px 12px;font-size:.77rem;font-weight:800;color:#236a8a; }
    .about-figure { margin:0;background:linear-gradient(145deg,#d8f0fa,#a8d9ec);padding:14px;border-radius:28px;box-shadow:var(--shadow); }
    .about-figure img { width:100%;height:345px;object-fit:cover;display:block;border-radius:17px; }
    .about-figure figcaption { font-size:.74rem;color:#486d85;padding:10px 4px 1px;text-align:center; }
    .about-feature { padding:21px 24px;margin-top:21px;border-radius:15px;border-left:4px solid #28aaba;background:#e9f7fb;color:#245471;font-weight:700;font-size:.95rem;line-height:1.7; }
    .journey-head { display:flex;justify-content:space-between;align-items:end;gap:20px;margin:45px 0 17px; }
    .journey-head h3 { font-size:1.44rem;margin:0; }
    .journey-head p { margin:0;color:var(--muted);font-size:.85rem; }
    .journey-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;align-items:start; }
    .journey { border:1px solid #dcecf5;background:#fff;border-radius:17px;overflow:hidden;box-shadow:0 7px 21px rgba(13,65,100,.04); }
    .journey summary { display:flex;align-items:center;justify-content:space-between;gap:11px;min-height:106px;padding:18px 18px;list-style:none;cursor:pointer; }
    .journey summary::-webkit-details-marker { display:none; }
    .journey summary:hover { background:#f2faff; }
    .journey .summary-body { display:flex;align-items:center;gap:13px; }
    .journey .journey-icon { flex:none;width:47px;height:47px;display:grid;place-items:center;border-radius:13px;background:#eaf8ff;font-size:23px; }
    .journey .summary-body strong { font:800 .95rem Manrope,sans-serif;color:#183b5b;display:block;line-height:1.35; }
    .journey .summary-body small { display:block;color:#68869c;font-size:.77rem;line-height:1.35;margin-top:4px; }
    .journey .chevron { display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;background:#e8f4fa;color:#1a77a2;font-size:20px;transition:transform .2s; }
    .journey[open] .chevron { transform:rotate(45deg); }
    .journey[open] { border-color:#a9dbe9;box-shadow:0 12px 28px rgba(22,108,158,.09); }
    .journey-content { border-top:1px solid #e4eef4;padding:18px 20px 20px;color:#55738b;font-size:.87rem;line-height:1.75; }
    .journey-content p { margin:0 0 12px; }
    .journey-content p:last-child { margin-bottom:0; }
    .journey-content ul { padding-left:19px;margin:5px 0 0; }
    .journey-content li + li { margin-top:7px; }
    .journey-content strong { color:#275773; }
    @media(max-width:990px) { .about-intro { gap:28px; }.journey summary { min-height:84px; } }
    @media(max-width:700px) { .journey-grid { grid-template-columns:1fr; }.about-intro { grid-template-columns:1fr;gap:25px; }.about-figure { max-width:480px;width:100%;margin:0 auto; }.about-figure img { height:285px; }.journey-head { display:block;margin-top:33px; }.journey-head p { margin-top:8px; }.about-feature { padding:17px 18px; }.journey summary { min-height:80px; } }
    @media(max-width:420px) { .about .about-title { font-size:2rem; }.about-figure img { height:245px; }.journey .journey-icon { width:40px;height:40px; }.journey summary { padding:14px 13px; } }

    /* V2: carrosséis reais, opções múltiplas e calendário com estado visual. */
    .slider { position:relative;overflow:hidden;touch-action:pan-y;isolation:isolate; }
    .slides-track { display:flex;height:100%;will-change:transform;transition:transform .38s ease; }
    .slide { min-width:100%;width:100%;height:100%;flex:0 0 100%;overflow:hidden; }
    .slide img { width:100%;height:100%;display:block; }
    .portrait-slider .slide img {object-fit:cover;object-position:center 26%;}
    .slide-arrow { position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:43px;height:43px;border-radius:50%;background:#ffffffdc;color:#164f77;border:1px solid #ffffffaf;font-size:2rem;line-height:1;box-shadow:0 6px 20px #163b5a36;display:grid;place-items:center; }
    .slide-arrow:hover {background:#fff;}
    .slide-arrow.previous {left:11px;}.slide-arrow.next {right:11px;}
    .slide-dots {position:absolute;bottom:13px;left:0;right:0;display:flex;justify-content:center;gap:7px;z-index:2;flex-wrap:wrap;padding:0 54px;}
    .slide-dots button {width:8px;height:8px;border:0;padding:0;border-radius:99px;background:#fff8;box-shadow:0 0 0 1px #163b5a2e;}
    .slide-dots button.active {width:23px;background:#fff;}
    .hero-art .pet-frame {background:#205b55;}
    .about-figure {min-width:0;}
    .consult-slider {height:390px;border-radius:18px;background:#d6edf7;}
    .consult-slider .slide {display:grid;place-items:center;background:linear-gradient(135deg,#daeff8,#f4fbff);}
    .about-figure .consult-slider img {width:100%;height:100%;object-fit:contain;}
    .consult-slider .slide-arrow {width:37px;height:37px;}
    .consult-slider .slide-dots {bottom:12px;}
    .consult-slider .slide-dots button {background:#1773a84d;}
    .consult-slider .slide-dots button.active {background:#146fa8;}
    .calendar-legend {display:flex;flex-wrap:wrap;gap:14px;margin:15px 0 5px;font-size:.74rem;font-weight:700;color:#5b7690;}
    .calendar-legend span {display:inline-flex;align-items:center;gap:6px;}
    .legend-dot {width:10px;height:10px;display:inline-block;border-radius:50%;}
    .legend-dot.available {background:#6bc9b9;}.legend-dot.busy {background:#f2ae68;}.legend-dot.blocked {background:#bfcdd6;}
    .day.available {background:#eff9fd;color:#225779;}
    .day.lotado {background:#fff3e5;color:#946332;cursor:not-allowed;border-color:#ffe4c6;}
    .day.blocked {background:#edf0f3;color:#8499aa;cursor:not-allowed;text-decoration:line-through;}
    .day.selected {background:var(--blue);color:#fff;}
    .availability-notice {font-size:.77rem;color:#657d90;margin:10px 0 0;}
    .availability-notice.warn {color:#a15425;}
    .services-field {margin:0;padding:0;border:0;min-width:0;}
    .services-field legend {font-size:.79rem;font-weight:800;color:#496b86;padding:0;margin-bottom:8px;}
    .services-field legend small {font-size:.74rem;font-weight:500;color:#6b8ca4;}
    .service-options {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
    .service-options label {position:relative;display:flex;align-items:center;gap:9px;padding:11px 10px;border:1px solid #d8e6ee;background:#f8fcff;border-radius:10px;font-size:.8rem;line-height:1.35;font-weight:700;cursor:pointer;color:#365f7f;}
    .service-options label:has(input:checked) {border-color:#59b7cd;background:#e7f8fb;color:#0e6380;}
    .service-options input {accent-color:#0b83a3;inline-size:16px;block-size:16px;flex-shrink:0;margin:0;}
    .services-picked {color:#507d94;font-size:.77rem;margin:8px 0 0;}
    .direct-contact {display:flex;flex-direction:column;align-items:center;margin-top:20px;border-top:1px solid #e5eef4;padding-top:18px;gap:5px;}
    .direct-contact span {font-size:.82rem;color:#5e8195;}
    .booking-card .btn.whatsapp {margin-top:6px;background:#11866f;color:#fff;border-radius:12px;}
    .btn.whatsapp:hover {background:#086e5e;}
    .admin-link {margin-left:8px;color:#c3e9ff;text-decoration:underline;text-underline-offset:3px;}
    @media(max-width:700px){.consult-slider {height:370px;}.hero .pet-frame{height:350px;}.slide-arrow{width:38px;height:38px;}.service-options{grid-template-columns:1fr 1fr;}.booking-wrap{gap:26px;}}
    @media(max-width:420px){.service-options{grid-template-columns:1fr;}.consult-slider{height:350px;}.hero .pet-frame{height:310px;}.calendar-legend{gap:9px;font-size:.66rem;}.hero-floating{left:8px;font-size:.76rem;}}
    @media(prefers-reduced-motion:reduce){.slides-track{transition:none;}}


    /* V4: fotografias originais visíveis por inteiro, em molduras verticais.
       Não aplicar object-fit: cover nos carrosséis: ele recorta os animais e os rostos. */
    .hero .hero-art {
      min-width:0;
      min-height:0;
      display:flex;
      align-items:center;
      justify-content:center;
    }
    .hero .portrait-slider {
      width:min(100%,390px);
      height:auto;
      aspect-ratio:2 / 3;
      max-width:390px;
      min-height:0;
      border-radius:48% 48% 24px 24px / 31% 31% 24px 24px;
      background:#e4f4f8;
      margin:0 auto;
    }
    .slider .slides-track {
      height:100%;
      min-width:0;
    }
    .slider .slide {
      display:flex;
      align-items:center;
      justify-content:center;
      flex:0 0 100%;
      width:100%;
      height:100%;
      min-width:0;
      min-height:0;
      overflow:hidden;
      background:#e6f4fa;
    }
    .hero .portrait-slider .slide { background:#245445; }
    .slider .slide > img,
    .hero .portrait-slider .slide > img,
    .about-figure .consult-slider .slide > img {
      display:block;
      width:100%;
      height:100%;
      max-width:100%;
      max-height:100%;
      min-width:0;
      min-height:0;
      object-fit:contain;
      object-position:center center;
      flex:none;
      border-radius:0;
    }
    /* A caixa recebe dimensões próximas às fotografias verticais,
       sem ampliação artificial, sem cortar o conteúdo. */
    .about-intro {grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center;}
    .about-figure {
      width:100%;
      max-width:465px;
      min-width:0;
      margin:0 auto;
      padding:12px;
    }
    .about-figure .consult-slider {
      width:100%;
      height:auto;
      aspect-ratio:3 / 4;
      min-height:0;
      background:linear-gradient(140deg,#d5ecf8,#edf9ff);
      border-radius:17px;
    }
    .about-figure .consult-slider .slide {
      background:linear-gradient(140deg,#d5ecf8,#f1faff);
    }
    .about-figure .consult-slider .slide > img {
      background:transparent;
    }
    .about-figure figcaption {padding:12px 8px 3px;line-height:1.45;}
    /* Foto da seção de regiões: mesmo princípio, nada de object-fit:cover. */
    .soft-section .illustration {
      min-width:0;
      min-height:450px;
    }
    .soft-section .illustration > img {
      height:450px;
      min-height:0;
      object-fit:contain;
      object-position:center;
    }
    @media (max-width:990px) {
      .hero .portrait-slider {width:min(100%,350px);}
    }
    @media (max-width:700px) {
      .hero .portrait-slider { width:min(100%,390px); height:auto; aspect-ratio:2 / 3; }
      .hero .hero-art {min-height:0;}
      .about-intro {grid-template-columns:minmax(0,1fr);}
      .about-figure {max-width:430px;}
      .about-figure .consult-slider {height:auto;aspect-ratio:3 / 4;}
      .soft-section .illustration {min-height:380px;}
      .soft-section .illustration > img {height:380px;min-height:0;}
    }
    @media (max-width:420px) {
      .hero .portrait-slider {width:min(100%,355px);height:auto;aspect-ratio:2 / 3;}
      .about-figure .consult-slider {height:auto;aspect-ratio:3 / 4;}
      .about-figure {padding:9px;}
      .soft-section .illustration {min-height:330px;}
      .soft-section .illustration > img {height:330px;min-height:0;}
    }

    /* Ajuste extra: cabeçalho realmente responsivo em celulares estreitos. */
    @media (max-width:700px) {
      .nav {gap:8px;}
      .brand {min-width:0;flex:1 1 auto;gap:8px;}
      .brand-mark {width:41px;height:41px;flex:0 0 41px;}
      .brand > span:last-child {min-width:0;}
      .brand strong {font-size:.92rem;}
      .brand small {font-size:.58rem;letter-spacing:0;overflow-wrap:anywhere;}
      .nav-toggle {flex:none;padding:7px 9px;font-size:.88rem;}
    }

    /* Tablet: o menu compacto também evita rolagem horizontal entre 701 e 900px. */
    @media (min-width:701px) and (max-width:900px) {
      .nav {gap:10px;min-height:72px;}
      .brand {min-width:0;flex:1 1 auto;}
      .brand-mark {flex:0 0 46px;}
      .nav-toggle {display:block;flex:none;}
      .nav > .btn {display:none;}
      .nav-links {display:none;position:absolute;top:72px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:20px;flex-direction:column;align-items:stretch;gap:15px;box-shadow:0 15px 30px #224c6b16;}
      .nav-links.open {display:flex;}
    }

/* Contatos falham de forma segura sem numero validado. */
a.contact-unavailable {
  opacity: .55;
  filter: grayscale(.4);
  cursor: not-allowed;
  pointer-events: none;
}
.contact-config-warning {
  margin: 14px 0;
  padding: 12px 16px;
  border: 1px solid #b9dbea;
  border-radius: 12px;
  background: #edf7ff;
  color: #123d5a;
  font-size: .92rem;
  line-height: 1.5;
}

/* V7: Zazuu e calendário apenas com dias liberados */
.zazuu-partner {display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:30px;padding:26px 29px;background:linear-gradient(120deg,#edfaff,#f8fcff);border:1px solid #bde2ef;border-radius:20px;box-shadow:0 9px 26px rgba(18,96,145,.07)}
.zazuu-copy {max-width:750px}
.zazuu-partner h3 {font-size:clamp(1.15rem,2vw,1.45rem);margin:9px 0 8px}
.zazuu-partner p {font-size:.9rem;color:var(--muted);margin:0}
.zazuu-link {background:#126f8f;color:#fff;white-space:nowrap;flex-shrink:0}
.zazuu-link:hover {background:#0b556d}
.other-regions {font-weight:700;font-size:.91rem;margin:-11px 0 24px;color:#47738b}
.calendar-days .day.empty-date {border:0;background:transparent;pointer-events:none;cursor:default}
.calendar-days .day.available {background:#eaf7ff;border:1px solid #a1d8eb;color:#0a5b86}
.calendar-days .day.available.selected {background:var(--blue);color:#fff;border-color:var(--blue)}
@media(max-width:700px){.zazuu-partner{padding:22px;flex-direction:column;align-items:stretch;gap:20px}.zazuu-link{white-space:normal;text-align:center}}
