
  :root{
    --cream:#faf7f1;
    --paper:#ffffff;
    --sage:#e3eee5;
    --sage-deep:#6f9c82;
    --sage-ink:#3f6552;
    --lilac:#eae4f6;
    --lilac-deep:#8a76b8;
    --lilac-ink:#5c4a86;
    --blush:#f6e7ea;
    --rose-deep:#c67a94;
    --rose-ink:#8a4a63;
    --gold:#e7dcc4;
    --coral:#ffe2d4;
    --coral-deep:#e2734f;
    --coral-ink:#a2482c;
    --azul:#dfedf5;
    --azul-deep:#4c8aac;
    --azul-ink:#265468;
    --ocre:#f6e6c0;
    --ocre-deep:#c68a2a;
    --ocre-ink:#815a12;
    --ink:#332f38;
    --ink-soft:#6c6472;
    --ink-faint:#a79fac;
    --line:#e7e0d8;
    --shadow-sm: 0 3px 14px -6px rgba(51,47,56,0.14);
    --shadow: 0 14px 34px -14px rgba(51,47,56,0.20);
    --shadow-lift: 0 20px 40px -16px rgba(51,47,56,0.26);
    --radius-lg: 24px;
    --radius-md: 16px;
    --radius-sm: 11px;
    --serif: 'Fraunces', Georgia, 'Iowan Old Style', 'Palatino Linotype', Palatino, serif;
    --sans: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    font-family:var(--sans);
    background:
      radial-gradient(ellipse 900px 460px at 10% -8%, #eef3ea 0%, transparent 60%),
      radial-gradient(ellipse 760px 560px at 105% 0%, #efe9f7 0%, transparent 55%),
      var(--cream);
    color:var(--ink);
    line-height:1.6;
    min-height:100vh;
  }
  @media (prefers-reduced-motion: reduce){ *{animation-duration:0.001ms !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;} }
  a{color:inherit;}
  h1,h2,h3,h4{font-family:var(--serif); font-weight:400; margin:0 0 8px 0; color:var(--ink);}
  p{margin:0 0 12px 0;}
  ::selection{background:var(--sage); color:var(--sage-ink);}
  button{font-family:inherit; cursor:pointer;}
  img{max-width:100%; display:block;}
  .skip-link{
    position:absolute; left:-999px; top:0; background:var(--sage-deep); color:#fff;
    padding:10px 16px; border-radius:0 0 10px 0; z-index:200;
  }
  .skip-link:focus{left:0;}
  :focus-visible{outline:3px solid var(--sage-deep); outline-offset:2px; border-radius:4px;}

  /* ---------- Header ---------- */
  header.site-header{
    position:sticky; top:0; z-index:80;
    background:rgba(250,247,241,0.9); backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .header-inner{
    max-width:900px; margin:0 auto; padding:12px 18px;
    display:flex; align-items:center; justify-content:space-between; gap:12px;
  }
  .brand{display:flex; align-items:center; gap:10px; background:none; border:none; padding:0;}
  .brand-logo{width:46px; height:46px; object-fit:contain; flex:0 0 auto;}
  .brand-text{display:flex; flex-direction:column; align-items:flex-start; line-height:1.1;}
  .brand-name{font-family:var(--serif); font-size:17px; color:var(--ink);}
  .brand-sub{font-size:10.5px; color:var(--ink-faint); letter-spacing:0.3px;}
  .header-right{display:flex; align-items:center; gap:10px;}
  .eesap-badge{height:26px; opacity:0.92;}
  .hamburger{
    display:flex; flex-direction:column; gap:4px; background:none; border:1px solid var(--line);
    border-radius:10px; padding:9px 10px;
  }
  .hamburger span{width:18px; height:2px; background:var(--ink); border-radius:2px;}

  /* ---------- Nav ---------- */
  nav.main-nav{
    background:var(--paper); border-bottom:1px solid var(--line);
  }
  .nav-list{
    max-width:900px; margin:0 auto; list-style:none; padding:6px 10px; margin:0 auto;
    display:flex; gap:4px; overflow-x:auto; scrollbar-width:none;
  }
  .nav-list::-webkit-scrollbar{display:none;}
  .nav-item{
    display:flex; align-items:center; gap:6px; white-space:nowrap;
    background:none; border:none; padding:10px 13px; border-radius:999px;
    font-size:13.5px; color:var(--ink-soft); font-weight:600;
  }
  .nav-item:hover{background:var(--cream); color:var(--ink);}
  .nav-item.active{background:var(--sage); color:var(--sage-ink);}
  .nav-item.help-item{color:var(--rose-ink);}
  .nav-item.help-item.active{background:var(--blush); color:var(--rose-ink);}

  /* Mobile drawer */
  @media (max-width:760px){
    .hamburger{display:flex;}
    nav.main-nav{
      position:fixed; inset:0; z-index:100; background:rgba(51,47,56,0.4);
      display:none;
    }
    nav.main-nav.open{display:block;}
    .nav-list{
      flex-direction:column; background:var(--paper); max-width:82%; height:100%;
      padding:70px 18px 30px 18px; overflow-y:auto; box-shadow:var(--shadow);
    }
    .nav-item{justify-content:flex-start; font-size:15.5px; padding:13px 14px;}
    .nav-close{
      position:absolute; top:16px; left:16px; background:none; border:1px solid var(--line);
      border-radius:10px; padding:8px 12px; font-size:14px; z-index:10;
    }
  }
  @media (min-width:761px){
    .hamburger, .nav-close{display:none;}
    nav.main-nav{position:static; background:var(--paper);}
  }

  /* ---------- Layout ---------- */
  main{max-width:900px; margin:0 auto; padding:8px 20px 60px 20px;}
  .view{display:none;}
  .view.active{display:block; animation:fadein 0.4s ease;}
  @keyframes fadein{from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:translateY(0);}}

  .container-narrow{max-width:640px; margin:0 auto;}

  /* ---------- Badges ---------- */
  .badge{
    display:inline-flex; align-items:center; gap:5px; font-size:11.5px; font-weight:700;
    padding:5px 10px; border-radius:999px; letter-spacing:0.2px;
  }
  .badge.evidencia{background:#e4f0e7; color:var(--sage-ink);}
  .badge.informacao{background:#eef1f6; color:#4b5b73;}
  .badge.profissional{background:var(--blush); color:var(--rose-ink);}

  /* ---------- Cards ---------- */
  .card{
    background:var(--paper); border-radius:var(--radius-lg); padding:22px;
    box-shadow:var(--shadow-sm); border:1px solid var(--line); margin-bottom:16px;
  }
  .card.tinted-sage{background:linear-gradient(165deg, #f1f7f2 0%, var(--paper) 60%);}
  .card.tinted-lilac{background:linear-gradient(165deg, #f4f1fa 0%, var(--paper) 60%);}
  .card.tinted-rose{background:linear-gradient(165deg, #fbf1f4 0%, var(--paper) 60%);}
  .card.tinted-gold{background:linear-gradient(165deg, #f9f5ec 0%, var(--paper) 60%);}
  .card-head{display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:6px;}
  .card-icon{font-size:24px; flex-shrink:0;}

  /* ---------- Hero ---------- */
  .hero{text-align:center; padding:30px 6px 14px 6px;}
  .hero-illustration{width:220px; height:180px; margin:0 auto 16px auto;}
  .hero h1{font-size:36px; letter-spacing:0.2px;}
  .hero .tagline{font-family:var(--serif); font-style:italic; color:var(--sage-ink); font-size:17.5px; margin-bottom:16px;}
  .hero p.lead{max-width:460px; margin:0 auto 24px auto; color:var(--ink-soft); font-size:15.5px;}
  .hero-actions{display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-bottom:8px;}

  .quick-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:30px;}
  @media (max-width:680px){.quick-grid{grid-template-columns:repeat(2,1fr);}}
  .quick-btn{
    display:flex; flex-direction:column; align-items:center; gap:8px; text-align:center;
    border:1px solid var(--line); background:var(--paper); border-radius:var(--radius-md);
    padding:18px 10px; box-shadow:var(--shadow-sm); transition:transform 0.15s ease;
  }
  .quick-btn:hover{transform:translateY(-2px);}
  .quick-btn:active{transform:scale(0.97);}
  .quick-btn .icon{font-size:23px;}
  .quick-btn .label{font-size:13px; font-weight:600; color:var(--ink);}

  /* ---------- Buttons ---------- */
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    border:none; border-radius:999px; padding:14px 24px; font-size:15px; font-weight:600;
    background:var(--sage-deep); color:#fff; box-shadow:var(--shadow-sm); text-decoration:none;
  }
  .btn:hover{filter:brightness(1.04);}
  .btn:active{transform:scale(0.97);}
  .btn.outline{background:transparent; border:1.5px solid var(--sage-deep); color:var(--sage-ink); box-shadow:none;}
  .btn.lilac-btn{background:var(--lilac-deep);}
  .btn.rose-btn{background:var(--rose-deep);}
  .btn.ghost{background:var(--cream); color:var(--ink); box-shadow:none; border:1px solid var(--line);}
  .btn.small{padding:9px 17px; font-size:13.5px;}
  .btn.full{width:100%;}
  .btn-row{display:flex; gap:10px; flex-wrap:wrap;}
  .evidence-btn{
    display:inline-flex; align-items:center; gap:6px; background:none; border:1px solid var(--sage-deep);
    color:var(--sage-ink); border-radius:999px; padding:7px 13px; font-size:12.5px; font-weight:700;
  }
  .evidence-btn:hover{background:var(--sage);}

  /* ---------- Section header ---------- */
  .section-head{margin:20px 2px 16px 2px;}
  .section-head .eyebrow{font-size:12.5px; font-weight:700; letter-spacing:0.4px; color:var(--sage-ink); margin-bottom:4px;}
  .section-head h2{font-size:26px;}
  .section-head .sub{color:var(--ink-soft); font-size:15px; max-width:520px;}

  /* ---------- Accordion (topic cards) ---------- */
  .topic-card{margin-bottom:14px;}
  .topic-card summary{
    list-style:none; cursor:pointer; display:flex; align-items:center; gap:12px;
    font-family:var(--serif); font-size:18px; color:var(--ink);
  }
  .topic-card summary::-webkit-details-marker{display:none;}
  .topic-card summary .chevron{margin-left:auto; color:var(--sage-deep); font-size:20px; transition:transform 0.2s ease;}
  .topic-card[open] summary .chevron{transform:rotate(45deg);}
  .topic-card .topic-body{padding-top:12px; color:var(--ink-soft); font-size:14.5px;}
  .topic-card .topic-body p:last-of-type{margin-bottom:10px;}
  .topic-card .badges-row{display:flex; gap:8px; flex-wrap:wrap; margin:10px 0 4px 0;}

  /* ---------- Tabs (trimestre) ---------- */
  .tabs{display:flex; gap:8px; margin-bottom:14px; flex-wrap:wrap;}
  .tab-btn{
    border:1px solid var(--line); background:var(--paper); border-radius:999px; padding:9px 16px;
    font-size:13.5px; font-weight:600; color:var(--ink-soft);
  }
  .tab-btn.active{background:var(--lilac); color:var(--lilac-ink); border-color:var(--lilac-deep);}
  .tab-panel{display:none;}
  .tab-panel.active{display:block; animation:fadein 0.3s ease;}

  /* ---------- Timeline (parto) ---------- */
  .timeline{display:flex; gap:6px; margin:18px 0 6px 0; overflow-x:auto; padding-bottom:4px;}
  .timeline-step{
    flex:1; min-width:130px; text-align:center; padding:14px 10px; border-radius:var(--radius-md);
    border:1.5px solid var(--line); background:var(--paper); font-size:13.5px; font-weight:600; color:var(--ink-soft);
    position:relative;
  }
  .timeline-step .num{
    width:26px; height:26px; border-radius:50%; background:var(--sage); color:var(--sage-ink);
    display:flex; align-items:center; justify-content:center; margin:0 auto 8px auto; font-size:13px; font-weight:700;
  }
  .timeline-step.active{border-color:var(--sage-deep); background:var(--sage); color:var(--sage-ink);}
  .timeline-step.active .num{background:var(--sage-deep); color:#fff;}
  .timeline-panel{margin-top:14px;}

  /* ---------- Feelings ---------- */
  .feeling-grid{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:6px;}
  .feeling-chip{
    display:flex; align-items:center; gap:8px; background:var(--paper); border:1.5px solid var(--line);
    border-radius:999px; padding:12px 16px; font-size:14.5px; box-shadow:var(--shadow-sm);
  }
  .feeling-chip.selected{border-color:var(--rose-deep); background:var(--blush); color:var(--rose-ink);}
  .response-panel{
    margin-top:14px; padding:20px; border-radius:var(--radius-md);
    background:linear-gradient(160deg, var(--lilac) 0%, #f6f2fb 100%); display:none;
  }
  .response-panel.show{display:block; animation:fadein 0.3s ease;}

  /* ---------- Breathing / relax tool ---------- */
  .practice-wrap{display:flex; flex-direction:column; align-items:center; padding:14px 0 6px 0;}
  .practice-circle{
    width:150px; height:150px; border-radius:50%;
    background:radial-gradient(circle at 35% 30%, #ffffff, var(--sage) 70%);
    box-shadow: 0 0 0 10px rgba(111,156,130,0.12), var(--shadow);
    display:flex; align-items:center; justify-content:center; text-align:center; padding:10px;
    font-family:var(--serif); font-size:16px; color:var(--sage-ink);
    transform:scale(0.82); transition: transform 4s ease-in-out;
  }
  .practice-circle.inhale, .practice-circle.hold{transform:scale(1.12);}
  .practice-circle.hold{transition:transform 0.4s ease;}
  .practice-circle.exhale{transform:scale(0.82); transition: transform 6s ease-in-out;}
  .practice-caption{margin-top:16px; color:var(--ink-soft); font-size:14px; text-align:center; min-height:20px;}
  .dots-row{display:flex; gap:7px; margin-top:14px;}
  .step-dot{width:9px; height:9px; border-radius:50%; background:var(--line);}
  .step-dot.done{background:var(--sage-deep);}
  .step-dot.current{background:var(--lilac-deep);}

  /* ---------- Journal ---------- */
  textarea.journal{
    width:100%; min-height:140px; border-radius:var(--radius-md); border:1.5px solid var(--line);
    padding:16px; font-family:var(--sans); font-size:15px; color:var(--ink); resize:vertical; background:var(--cream);
  }
  textarea.journal:focus{outline:none; border-color:var(--sage-deep);}

  /* ---------- Lists ---------- */
  .soft-list{list-style:none; margin:0; padding:0;}
  .soft-list li{display:flex; gap:10px; align-items:flex-start; padding:10px 2px; border-bottom:1px solid var(--line); font-size:15px;}
  .soft-list li:last-child{border-bottom:none;}
  .soft-list .dot{color:var(--sage-deep); font-size:15px; margin-top:2px;}

  /* ---------- Consultation add tool ---------- */
  .add-row{display:flex; gap:8px; margin-top:12px;}
  .add-row input{flex:1; border:1.5px solid var(--line); border-radius:999px; padding:12px 16px; font-size:14.5px; background:var(--cream); color:var(--ink);}
  .add-row input:focus{outline:none; border-color:var(--sage-deep);}
  .add-row button{border:none; background:var(--sage-deep); color:#fff; border-radius:50%; width:44px; height:44px; font-size:20px; flex-shrink:0;}
  ul.consult-list{list-style:none; margin:14px 0 0 0; padding:0;}
  ul.consult-list li{display:flex; justify-content:space-between; align-items:center; gap:10px; background:var(--cream); border-radius:var(--radius-sm); padding:11px 14px; margin-bottom:8px; font-size:14.5px;}
  ul.consult-list li button{background:none; border:none; color:var(--ink-faint); font-size:16px;}
  .empty-note{color:var(--ink-faint); font-size:14px; padding:8px 2px;}

  /* ---------- Preferences tool ---------- */
  .pref-grid{display:flex; flex-direction:column; gap:10px; margin:14px 0;}
  .pref-item{
    display:flex; align-items:flex-start; gap:12px; background:var(--cream); border:1.5px solid var(--line);
    border-radius:var(--radius-md); padding:13px 15px; font-size:14.5px;
  }
  .pref-item input[type=checkbox]{width:20px; height:20px; margin-top:2px; accent-color:var(--sage-deep); flex-shrink:0;}
  .pref-item.checked{border-color:var(--sage-deep); background:var(--sage);}
  #prefSummary{white-space:pre-line; background:var(--cream); border-radius:var(--radius-md); padding:16px; font-size:14px; margin-top:10px; display:none;}

  /* ---------- Checklist (medicamentos) ---------- */
  .check-item{
    display:flex; align-items:center; gap:12px; background:var(--cream); border:1.5px solid var(--line);
    border-radius:var(--radius-md); padding:13px 15px; margin-bottom:10px; font-size:14.5px;
  }
  .check-item input[type=checkbox]{width:20px; height:20px; accent-color:var(--rose-deep); flex-shrink:0;}

  /* ---------- Help cards ---------- */
  .help-card{background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-md); padding:20px; box-shadow:var(--shadow-sm); margin-bottom:14px;}
  .help-card .top-row{display:flex; align-items:center; gap:10px; margin-bottom:8px;}
  .help-card .icon-badge{width:38px; height:38px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:18px; flex-shrink:0;}
  .help-card h3{font-size:17px; margin:0;}
  .help-card p{font-size:14.5px; color:var(--ink-soft);}
  .help-card.urgent{border:1.5px solid var(--rose-deep); background:linear-gradient(160deg,#fbeef2,#fff);}

  /* ---------- Modal (evidências) ---------- */
  .modal-overlay{
    position:fixed; inset:0; background:rgba(51,47,56,0.45); display:none; align-items:flex-end;
    justify-content:center; z-index:150; padding:0;
  }
  .modal-overlay.open{display:flex; animation:fadein 0.2s ease;}
  .modal-box{
    background:var(--paper); border-radius:22px 22px 0 0; max-width:560px; width:100%;
    max-height:85vh; overflow-y:auto; padding:26px 24px 30px 24px; box-shadow:var(--shadow);
  }
  @media (min-width:640px){
    .modal-overlay{align-items:center;}
    .modal-box{border-radius:22px; margin:20px;}
  }
  .modal-close{float:right; background:var(--cream); border:1px solid var(--line); border-radius:50%; width:34px; height:34px; font-size:16px;}
  .modal-source{border-top:1px solid var(--line); padding:12px 0; font-size:14px;}
  .modal-source:first-of-type{border-top:none;}
  .modal-source .inst{font-weight:700; color:var(--sage-ink); font-size:13.5px;}
  .modal-source a{color:var(--lilac-ink); text-decoration:underline; text-underline-offset:2px; font-size:13.5px;}

  /* ---------- Library / reference grids ---------- */
  .ref-category{margin-bottom:24px;}
  .ref-category h3{font-size:18px; border-bottom:1.5px solid var(--line); padding-bottom:8px; margin-bottom:12px;}
  .ref-entry{padding:12px 2px; border-bottom:1px solid var(--line); font-size:14px;}
  .ref-entry:last-child{border-bottom:none;}
  .ref-entry .ref-inst{font-weight:700; color:var(--ink); font-size:14.5px;}
  .ref-entry .ref-meta{color:var(--ink-faint); font-size:12.5px; margin-bottom:3px;}
  .ref-entry a{color:var(--sage-ink); text-decoration:underline; text-underline-offset:2px;}

  /* ---------- Team / sobre ---------- */
  .team-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:16px;}
  @media (max-width:560px){.team-grid{grid-template-columns:repeat(2,1fr);}}
  .team-card{text-align:center; background:var(--cream); border-radius:var(--radius-md); padding:16px 8px; font-size:13.5px; font-weight:600; color:var(--ink);}
  .team-photo{
    width:64px; height:64px; border-radius:50%; object-fit:cover; object-position:center 25%;
    margin:0 auto 8px auto; display:block; border:2px solid var(--line);
  }
  .eesap-block{display:flex; align-items:center; gap:16px; margin-top:22px; padding:18px; background:var(--cream); border-radius:var(--radius-md);}
  .eesap-block img{height:52px; width:auto;}

  /* ---------- Disclaimer / footer ---------- */
  .disclaimer{background:#f2ece5; border:1px solid var(--line); border-radius:var(--radius-md); padding:16px 18px; font-size:13.5px; color:var(--ink-soft);}
  .disclaimer strong{color:var(--ink);}
  footer.site-footer{
    border-top:1px solid var(--line); background:var(--paper); margin-top:40px;
  }
  .footer-inner{max-width:900px; margin:0 auto; padding:26px 20px 34px 20px;}
  .footer-inner .disclaimer{margin-bottom:16px;}
  .footer-meta{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:12.5px; color:var(--ink-faint);}
  .footer-meta img{height:30px;}

  /* ---------- Floating help pill ---------- */
  .help-fab{
    position:fixed; right:16px; bottom:16px; z-index:70;
    display:flex; align-items:center; gap:7px; background:var(--rose-deep); color:#fff;
    border:none; border-radius:999px; padding:13px 18px; font-size:13.5px; font-weight:700;
    box-shadow:0 10px 26px -8px rgba(198,122,148,0.55);
  }
  @media (max-width:760px){ .help-fab span.txt{display:none;} .help-fab{padding:14px;} }

  /* ---------- Exames — busca ---------- */
  .exam-search-wrap{position:relative; margin-bottom:16px;}
  .exam-search-wrap .search-icon{position:absolute; left:16px; top:50%; transform:translateY(-50%); font-size:16px; color:var(--ink-faint); pointer-events:none;}
  .exam-search-wrap input{
    width:100%; border:1.5px solid var(--line); border-radius:999px; padding:14px 18px 14px 42px;
    font-size:15px; background:var(--paper); color:var(--ink); box-shadow:var(--shadow-sm);
  }
  .exam-search-wrap input:focus{outline:none; border-color:var(--lilac-deep);}
  .exam-search-clear{position:absolute; right:8px; top:50%; transform:translateY(-50%); background:var(--cream); border:1px solid var(--line); border-radius:50%; width:28px; height:28px; font-size:13px; display:none; align-items:center; justify-content:center;}
  .exam-search-clear.show{display:flex;}

  /* ---------- Exames — filtros ---------- */
  .exam-filters{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:22px;}
  .exam-filter-btn{
    border:1.5px solid var(--line); background:var(--paper); border-radius:999px; padding:9px 15px;
    font-size:13px; font-weight:600; color:var(--ink-soft); white-space:nowrap;
  }
  .exam-filter-btn.active{background:var(--sage-deep); color:#fff; border-color:var(--sage-deep);}

  /* ---------- Exames — mais procurados ---------- */
  .exam-featured-row{display:flex; gap:10px; overflow-x:auto; padding:2px 2px 10px 2px; margin-bottom:6px; scrollbar-width:thin;}
  .exam-chip{
    flex-shrink:0; display:flex; align-items:center; gap:8px; background:var(--paper); border:1.5px solid var(--line);
    border-radius:999px; padding:10px 16px; font-size:13.5px; font-weight:600; color:var(--ink); box-shadow:var(--shadow-sm);
    transition:transform 0.15s ease, border-color 0.15s ease;
  }
  .exam-chip:hover{transform:translateY(-2px); border-color:var(--lilac-deep);}
  .exam-chip .ic{font-size:15px;}

  /* ---------- Exames — categorias e grid ---------- */
  .exam-category-block{margin-bottom:26px;}
  .exam-category-title{display:flex; align-items:center; gap:9px; font-size:17.5px; margin-bottom:12px; color:var(--ink);}
  .exam-category-title .cat-ic{font-size:19px;}
  .exam-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:12px;}
  @media (max-width:520px){.exam-grid{grid-template-columns:1fr;}}
  .exam-card{
    text-align:left; display:flex; flex-direction:column; gap:6px; background:var(--paper); border:1px solid var(--line);
    border-radius:var(--radius-md); padding:16px 16px; box-shadow:var(--shadow-sm); transition:transform 0.15s ease, box-shadow 0.15s ease;
  }
  .exam-card:hover{transform:translateY(-2px); box-shadow:var(--shadow);}
  .exam-card .exam-card-top{display:flex; align-items:center; gap:9px;}
  .exam-card .exam-card-ic{font-size:19px; flex-shrink:0;}
  .exam-card .exam-card-name{font-size:14.5px; font-weight:700; color:var(--ink); line-height:1.3;}
  .exam-card .exam-card-when{font-size:12.5px; color:var(--ink-faint); margin:0;}
  .exam-no-results{color:var(--ink-faint); font-size:14.5px; text-align:center; padding:34px 10px;}
  .exam-intro-note{background:var(--lilac); border-radius:var(--radius-md); padding:14px 16px; font-size:13.5px; color:var(--lilac-ink); margin-bottom:14px;}

  /* ---------- Exames — modal específico ---------- */
  .exam-modal-title{display:flex; align-items:center; gap:10px; margin-bottom:4px;}
  .exam-modal-title .ic{font-size:24px;}
  .exam-modal-cat{font-size:12px; font-weight:700; letter-spacing:0.3px; color:var(--lilac-ink); text-transform:uppercase; margin-bottom:6px;}
  .exam-block{margin-top:16px;}
  .exam-block h4{font-size:14px; font-weight:700; color:var(--sage-ink); margin-bottom:5px; display:flex; align-items:center; gap:6px;}
  .exam-block p{font-size:14.5px; color:var(--ink-soft); margin-bottom:0;}
  .exam-warning{margin-top:18px; background:#f2ece5; border:1px solid var(--line); border-radius:var(--radius-md); padding:14px 16px; font-size:13.5px; color:var(--ink-soft);}
  .exam-warning strong{color:var(--ink);}
  .exam-science{margin-top:16px; border-top:1px solid var(--line); padding-top:14px;}
  .exam-science-label{font-size:12.5px; font-weight:700; color:var(--sage-ink); margin-bottom:8px;}
  .exam-ask-btn{margin-top:18px;}
  .exam-questions-panel{display:none; margin-top:14px; background:var(--cream); border-radius:var(--radius-md); padding:14px;}
  .exam-questions-panel.show{display:block; animation:fadein 0.25s ease;}
  .exam-question-item{display:flex; justify-content:space-between; align-items:flex-start; gap:10px; padding:10px 4px; border-bottom:1px solid var(--line); font-size:14px; color:var(--ink);}
  .exam-question-item:last-child{border-bottom:none;}
  .exam-copy-btn{flex-shrink:0; border:1px solid var(--sage-deep); background:none; color:var(--sage-ink); border-radius:999px; padding:6px 12px; font-size:12px; font-weight:700; white-space:nowrap;}
  .exam-copy-btn.copied{background:var(--sage-deep); color:#fff; border-color:var(--sage-deep);}

  /* ---------- Clínica Escola — destaques e banners ---------- */
  .card.tinted-clinic{
    background:linear-gradient(160deg, #eef4f0 0%, #f3eef9 55%, var(--paper) 100%);
    border:1.5px solid rgba(138,118,184,0.30);
  }
  .clinic-banner-inner{display:flex; gap:16px; align-items:flex-start; flex-wrap:wrap;}
  .clinic-banner-icon{
    width:52px; height:52px; border-radius:50%; flex-shrink:0;
    background:linear-gradient(135deg, var(--sage) 0%, var(--lilac) 100%);
    display:flex; align-items:center; justify-content:center; font-size:24px; box-shadow:var(--shadow-sm);
  }
  .clinic-banner-text{flex:1; min-width:220px;}
  .clinic-banner-text h3{font-size:17px; margin-bottom:6px;}
  .clinic-banner-text p{font-size:14px; color:var(--ink-soft); margin-bottom:12px;}

  /* ---------- Clínica Escola — página ---------- */
  .clinic-hero{text-align:center; padding:32px 20px;}
  .clinic-hero-icon{
    width:64px; height:64px; border-radius:50%; margin:0 auto 14px auto;
    background:linear-gradient(135deg, var(--sage) 0%, var(--lilac) 100%);
    display:flex; align-items:center; justify-content:center; font-size:29px; box-shadow:var(--shadow-sm);
  }
  .clinic-hero h3{font-size:20px; max-width:480px; margin:0 auto 10px auto;}
  .clinic-hero p{max-width:540px; margin:0 auto; color:var(--ink-soft); font-size:15px;}

  .section-sub-head{margin:26px 2px 12px 2px;}
  .section-sub-head h3{font-size:18px; margin:0; color:var(--ink);}

  .clinic-services-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-bottom:6px;}
  @media (max-width:600px){.clinic-services-grid{grid-template-columns:1fr;}}
  .clinic-service-card h4{font-size:16px; margin:8px 0 6px 0;}
  .clinic-service-card p{font-size:13.5px; color:var(--ink-soft);}
  .clinic-audience-tag{
    display:inline-block; margin-top:6px; font-size:11.5px; font-weight:700; color:var(--sage-ink);
    background:var(--sage); border-radius:999px; padding:5px 11px;
  }

  .clinic-steps{display:flex; flex-direction:column; gap:16px; margin-top:16px;}
  .clinic-step{display:flex; gap:14px; align-items:flex-start;}
  .clinic-step-num{
    width:30px; height:30px; border-radius:50%; background:var(--sage-deep); color:#fff;
    display:flex; align-items:center; justify-content:center; font-weight:700; font-size:14px; flex-shrink:0;
  }
  .clinic-step strong{font-size:14.5px; color:var(--ink);}
  .clinic-step p{font-size:13.5px; color:var(--ink-soft); margin:2px 0 0 0;}

  .clinic-cta{text-align:center; padding:30px 22px;}
  .clinic-cta h3{font-size:19px;}
  .clinic-phone{
    display:inline-flex; align-items:center; gap:6px; margin-top:16px; font-size:15px; font-weight:700;
    color:var(--sage-ink); text-decoration:none;
  }
  .clinic-phone:hover{text-decoration:underline;}

  /* ============================================================
     REDESIGN — sistema visual, ilustrações e microanimações
  ============================================================ */

  /* ---------- Movimento base ---------- */
  @keyframes floaty{ 0%,100%{ transform:translateY(0) rotate(0deg); } 50%{ transform:translateY(-7px) rotate(2deg); } }
  @keyframes floatySlow{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-4px); } }
  @keyframes breathe{ 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.025); } }
  @keyframes babySleep{ 0%,100%{ transform:translateY(0) rotate(0deg); } 50%{ transform:translateY(-2px) rotate(-1.5deg); } }
  @keyframes sparkle{ 0%,100%{ opacity:0.35; transform:scale(0.9); } 50%{ opacity:0.9; transform:scale(1.05); } }

  .deco-float{ animation:floaty 6s ease-in-out infinite; }
  .deco-float.d2{ animation-delay:0.8s; animation-duration:7s; }
  .deco-float.d3{ animation-delay:1.6s; animation-duration:5.5s; }
  .breathe-el{ animation:breathe 5.5s ease-in-out infinite; transform-origin:center; }
  .baby-motif{ animation:babySleep 4.5s ease-in-out infinite; transform-origin:center; }
  .sparkle-el{ animation:sparkle 3.2s ease-in-out infinite; }

  @media (prefers-reduced-motion: reduce){
    .deco-float, .breathe-el, .baby-motif, .sparkle-el{ animation:none !important; }
  }

  /* ---------- Reveal ao entrar / trocar de seção ---------- */
  .reveal{ opacity:1; transform:none; }
  .js .reveal{
    opacity:0; transform:translateY(18px);
    transition:opacity 0.6s ease, transform 0.6s ease;
  }
  .js .reveal.in-view{ opacity:1; transform:translateY(0); }

  /* ---------- Elevação suave dos cards ---------- */
  .card{ transition:transform 0.25s ease, box-shadow 0.25s ease; }
  .card:hover{ transform:translateY(-3px); box-shadow:var(--shadow-lift); }
  .exam-card, .clinic-service-card{ transition:transform 0.2s ease, box-shadow 0.2s ease; }

  /* ---------- Ícones em círculo (substituem emoji como recurso principal) ---------- */
  .icon-circle{
    display:flex; align-items:center; justify-content:center; flex-shrink:0; border-radius:50%;
    width:44px; height:44px; background:linear-gradient(150deg, var(--sage) 0%, #f4f8ef 100%);
  }
  .icon-circle svg{ width:56%; height:56%; }
  .icon-circle svg *{ fill:none; stroke:var(--sage-ink); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
  .icon-circle--coral{ background:linear-gradient(150deg, var(--coral) 0%, #fff3ec 100%); }
  .icon-circle--coral svg *{ stroke:var(--coral-ink); }
  .icon-circle--lilac{ background:linear-gradient(150deg, var(--lilac) 0%, #f6f2fb 100%); }
  .icon-circle--lilac svg *{ stroke:var(--lilac-ink); }
  .icon-circle--azul{ background:linear-gradient(150deg, var(--azul) 0%, #f0f7fb 100%); }
  .icon-circle--azul svg *{ stroke:var(--azul-ink); }
  .icon-circle--ocre{ background:linear-gradient(150deg, var(--ocre) 0%, #fbf3e0 100%); }
  .icon-circle--ocre svg *{ stroke:var(--ocre-ink); }
  .icon-circle--rose{ background:linear-gradient(150deg, var(--blush) 0%, #fdf3f5 100%); }
  .icon-circle--rose svg *{ stroke:var(--rose-ink); }

  /* ---------- Ícone inline junto ao eyebrow (substitui o emoji de categoria) ---------- */
  .eyebrow{ display:inline-flex; align-items:center; gap:7px; }
  .eyebrow-ico{ width:17px; height:17px; flex-shrink:0; }
  .eyebrow-ico *{ fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }

  /* ---------- Ícones na navegação ---------- */
  .nav-item .nav-ico{ width:18px; height:18px; flex-shrink:0; }
  .nav-item .nav-ico *{ fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }

  /* ---------- Elementos decorativos (flores, estrelas, blobs) ---------- */
  .deco-layer{ position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:0; }
  .deco-shape{ position:absolute; opacity:0.7; }
  .deco-shape svg{ width:100%; height:100%; display:block; }
  .section-head{ position:relative; }

  /* ---------- Hero — nova composição ---------- */
  .hero{
    text-align:left; padding:26px 4px 10px 4px; position:relative;
    display:grid; grid-template-columns:1.05fr 0.95fr; gap:28px; align-items:center;
  }
  @media (max-width:760px){ .hero{ grid-template-columns:1fr; text-align:center; padding-top:14px; } }
  .hero-copy{ position:relative; z-index:1; }
  .hero .tagline{ font-family:var(--serif); font-style:italic; color:var(--sage-ink); font-size:18px; margin-bottom:14px; }
  .hero h1{ font-size:40px; letter-spacing:0.2px; line-height:1.08; }
  .hero p.lead{ max-width:440px; color:var(--ink-soft); font-size:15.5px; margin:0 0 24px 0; }
  @media (max-width:760px){ .hero p.lead{ margin-left:auto; margin-right:auto; } }
  .hero-actions{ display:flex; gap:12px; flex-wrap:wrap; }
  @media (max-width:760px){ .hero-actions{ justify-content:center; } }

  .hero-art{ position:relative; display:flex; align-items:center; justify-content:center; min-height:280px; }
  .hero-art .orbit-icon{ position:absolute; }
  .hero-art .orbit-icon .icon-circle{ box-shadow:var(--shadow-sm); }
  @media (max-width:760px){ .hero-art{ min-height:230px; margin-top:6px; } }

  /* ---------- "O que você precisa hoje?" — acesso rápido redesenhado ---------- */
  .today-head{ margin:34px 2px 16px 2px; text-align:left; }
  .today-head h2{ font-size:22px; margin-bottom:2px; }
  .today-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
  @media (max-width:760px){ .today-grid{ grid-template-columns:repeat(2,1fr); } }
  @media (max-width:460px){ .today-grid{ grid-template-columns:1fr; } }
  .today-tile{
    display:flex; align-items:center; gap:14px; text-align:left; background:var(--paper);
    border:1px solid var(--line); border-radius:var(--radius-md); padding:16px; box-shadow:var(--shadow-sm);
    transition:transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
  }
  .today-tile:hover{ transform:translateY(-3px); box-shadow:var(--shadow-lift); border-color:transparent; }
  .today-tile .icon-circle{ width:50px; height:50px; }
  .today-tile-text{ min-width:0; }
  .today-tile-title{ font-size:14.5px; font-weight:700; color:var(--ink); display:block; line-height:1.3; }
  .today-tile-sub{ font-size:12.5px; color:var(--ink-faint); display:block; margin-top:2px; }

  /* ---------- Bebê como motivo recorrente ---------- */
  .baby-corner{
    position:absolute; right:14px; top:14px; width:46px; height:46px; opacity:0.9; z-index:1;
  }
  .baby-inline{ display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; flex-shrink:0; }

  /* ---------- Botões extra de identidade por seção ---------- */
  .btn.coral-btn{ background:var(--coral-deep); }
  .btn.azul-btn{ background:var(--azul-deep); }
  .btn.ocre-btn{ background:var(--ocre-deep); }

  /* ============================================================
     Identidade de cor por seção — "onde estou"
  ============================================================ */
  #view-parto .eyebrow, #view-parto .exam-modal-cat{ color:var(--coral-ink); }
  #view-parto .evidence-btn{ border-color:var(--coral-deep); color:var(--coral-ink); }
  #view-parto .evidence-btn:hover{ background:var(--coral); }
  #view-parto .tab-btn.active{ background:var(--coral); color:var(--coral-ink); border-color:var(--coral-deep); }
  #view-parto .timeline-step.active{ border-color:var(--coral-deep); background:var(--coral); color:var(--coral-ink); }
  #view-parto .timeline-step.active .num{ background:var(--coral-deep); }
  #view-parto .pref-item.checked{ border-color:var(--coral-deep); background:var(--coral); }

  #view-emocional .eyebrow{ color:var(--lilac-ink); }
  #view-emocional .feeling-chip.selected{ border-color:var(--lilac-deep); background:var(--lilac); color:var(--lilac-ink); }

  #view-exames .eyebrow{ color:var(--azul-ink); }
  #view-exames .exam-search-wrap input:focus{ border-color:var(--azul-deep); }
  #view-exames .exam-filter-btn.active{ background:var(--azul-deep); border-color:var(--azul-deep); }
  #view-exames .exam-chip:hover{ border-color:var(--azul-deep); }
  #view-exames .exam-modal-cat{ color:var(--azul-ink); }
  #view-exames .exam-block h4{ color:var(--azul-ink); }
  #view-exames .exam-science-label{ color:var(--azul-ink); }
  #view-exames .exam-copy-btn{ border-color:var(--azul-deep); color:var(--azul-ink); }
  #view-exames .exam-copy-btn.copied{ background:var(--azul-deep); border-color:var(--azul-deep); }
  #view-exames .exam-intro-note{ background:var(--azul); color:var(--azul-ink); }

  #view-medicamentos .eyebrow{ color:var(--ocre-ink); }

  #view-saude .eyebrow, #view-referencias .eyebrow, #view-sobre .eyebrow{ color:var(--sage-ink); }
  #view-evidencias .eyebrow{ color:var(--sage-ink); }
  #view-ajuda .eyebrow{ color:var(--rose-ink); }
  #view-clinica .eyebrow{ color:var(--lilac-ink); }
/* ============================================================
   MEU PRÉ-NATAL — camada de redesign visual (identidade rosé)
   ============================================================ */
:root{
  --cream:#fdf8f6;
  --paper:#ffffff;

  --blush:#fbe6ea;
  --rose-deep:#c26a89;
  --rose-ink:#8d3f5d;

  --sage:#e8f0e9;
  --sage-deep:#7ba58c;
  --sage-ink:#4a6f5c;

  --lilac:#f0eaf8;
  --lilac-deep:#8f7bbf;
  --lilac-ink:#5e4a8c;

  --coral:#fbe3dc;
  --coral-deep:#c9705e;
  --coral-ink:#8f4130;

  --azul:#f4e6ef;
  --azul-deep:#a4638e;
  --azul-ink:#6d3760;

  --ocre:#f9e8d8;
  --ocre-deep:#bc8759;
  --ocre-ink:#835530;

  --gold:#efdccb;
  --ink:#3a2f34;
  --ink-soft:#6f6068;
  --ink-faint:#a1929a;
  --line:#f1e2e4;

  --rose-grad:linear-gradient(135deg,#c26a89 0%,#d98ca1 55%,#e7a9a0 100%);
  --shadow-sm:0 3px 14px -6px rgba(141,63,93,0.18);
  --shadow:0 16px 34px -18px rgba(141,63,93,0.28);
  --shadow-lift:0 26px 46px -20px rgba(141,63,93,0.34);
  --radius-lg:28px;
  --radius-md:20px;
  --radius-sm:13px;
}

body{
  background:
    radial-gradient(ellipse 900px 480px at 8% -10%, #fceff1 0%, transparent 62%),
    radial-gradient(ellipse 780px 560px at 104% -2%, #f4ecf9 0%, transparent 58%),
    radial-gradient(ellipse 700px 420px at 50% 110%, #fbf1ea 0%, transparent 60%),
    var(--cream);
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4{ letter-spacing:-0.01em; }
::selection{ background:var(--blush); color:var(--rose-ink); }

/* ---------- Cabeçalho ---------- */
header.site-header{
  background:rgba(255,253,253,0.82);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.brand-name{ letter-spacing:-0.02em; }
@media (max-width:460px){
  .header-inner{padding:8px 12px;}
  .brand{gap:8px; min-width:0;}
  .brand-logo{width:40px; height:40px;}
  .brand-name{font-size:15px;}
  .brand-sub{font-size:9px;}
  .eesap-badge{height:22px;}
}

/* ---------- Botões ---------- */
.btn{
  background:var(--rose-grad);
  border-radius:999px;
  box-shadow:0 10px 22px -12px rgba(141,63,93,0.55);
  transition:transform .22s ease, box-shadow .22s ease, filter .22s ease;
}
.btn:hover{ transform:translateY(-2px); box-shadow:0 16px 28px -12px rgba(141,63,93,0.5); filter:saturate(1.05); }
.btn:active{ transform:translateY(0); }
.btn.outline{ background:transparent; color:var(--rose-ink); border:1.6px solid var(--rose-deep); box-shadow:none; }
.btn.outline:hover{ background:var(--blush); }
.btn.ghost{ background:#fff; }
.btn.rose-btn{ background:var(--rose-grad); }
.btn.lilac-btn{ background:linear-gradient(135deg,#8f7bbf,#b39ad6); }
.btn.coral-btn{ background:linear-gradient(135deg,#c9705e,#e39a86); }
.btn.azul-btn{ background:linear-gradient(135deg,#a4638e,#c98cae); }
.btn.ocre-btn{ background:linear-gradient(135deg,#bc8759,#d9ab7f); }

/* ---------- Cards ---------- */
.card{
  border-radius:var(--radius-lg);
  border:1px solid var(--line);
  box-shadow:var(--shadow-sm);
}
.card:hover{ box-shadow:var(--shadow); }

/* ---------- Hero ---------- */
.hero{ padding-top:34px; }
.hero .tagline{ color:var(--rose-ink); }
.hero h1{
  font-size:clamp(38px,6vw,58px);
  background:linear-gradient(120deg,#5a2b41 0%,#a8506e 60%,#c98a86 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero-art{ min-height:380px; }
.hero-figure{ position:relative; width:100%; display:flex; align-items:flex-end; justify-content:center; }
.hero-figure img{
  position:relative; z-index:1; width:86%; max-width:340px; height:auto;
}
.hero-figure-glow{
  display:none;
}
.hero-art .orbit-icon .icon-circle{
  background:rgba(255,255,255,0.92);
  border:1px solid var(--line);
  box-shadow:var(--shadow-sm);
  backdrop-filter:blur(6px);
}
@media (max-width:760px){
  .hero-art{ min-height:320px; }
  .hero-figure img{ width:70%; max-width:260px; }
}

/* ---------- Atalhos "O que você precisa hoje?" ---------- */
.today-grid{ gap:16px; }
.today-tile{
  position:relative; overflow:hidden; border-radius:var(--radius-lg);
  padding:18px 84px 18px 18px; min-height:112px;
  flex-direction:column; align-items:flex-start; gap:10px;
  background:linear-gradient(160deg,#ffffff 0%, #fffafb 100%);
  border:1px solid var(--line);
}
.today-tile::after{
  content:""; position:absolute; right:-4px; bottom:-6px; width:80px; height:80px;
  background-repeat:no-repeat; background-position:bottom right; background-size:contain;
  opacity:0.92; transition:transform .3s ease, opacity .3s ease; pointer-events:none;
}
.today-tile:hover::after{ transform:translateY(-4px) scale(1.05); opacity:1; }
.today-tile:hover{ border-color:var(--rose-deep); }
.today-tile .icon-circle{ transition:transform .3s ease; width:44px; height:44px; }
.today-tile:hover .icon-circle{ transform:rotate(-6deg) scale(1.06); }
.today-tile-title{ font-size:15px; }
.today-grid .today-tile:nth-child(1)::after{ background-image:url("/illustrations/saude.png"); }
.today-grid .today-tile:nth-child(2)::after{ background-image:url("/illustrations/exames.png"); }
.today-grid .today-tile:nth-child(3)::after{ background-image:url("/illustrations/parto.png"); }
.today-grid .today-tile:nth-child(4)::after{ background-image:url("/illustrations/emocional.png"); }
.today-grid .today-tile:nth-child(5)::after{ background-image:url("/illustrations/medicamentos.png"); }
.today-grid .today-tile:nth-child(6)::after{ background-image:url("/illustrations/consultas.png"); }
@media (max-width:460px){ .today-tile{ padding-right:84px; } .today-tile::after{ width:74px; height:74px; } }

/* aparição suave dos atalhos */
.today-grid .today-tile{ animation:mpn-rise .6s ease both; }
.today-grid .today-tile:nth-child(2){ animation-delay:.06s; }
.today-grid .today-tile:nth-child(3){ animation-delay:.12s; }
.today-grid .today-tile:nth-child(4){ animation-delay:.18s; }
.today-grid .today-tile:nth-child(5){ animation-delay:.24s; }
.today-grid .today-tile:nth-child(6){ animation-delay:.3s; }

/* ---------- Ilustração discreta no topo das seções ---------- */
.view .section-head{ position:relative; padding-right:150px; min-height:132px; }
.view .section-head::after{
  content:""; position:absolute; right:0; top:-6px; width:132px; height:132px;
  background-repeat:no-repeat; background-position:top right; background-size:contain;
  opacity:0.95; pointer-events:none;
  animation:mpn-fade .9s ease both;
}
#view-saude .section-head::after{ background-image:url("/illustrations/saude.png"); }
#view-exames .section-head::after{ background-image:url("/illustrations/exames.png"); }
#view-parto .section-head::after{ background-image:url("/illustrations/parto.png"); }
#view-emocional .section-head::after{ background-image:url("/illustrations/emocional.png"); }
#view-medicamentos .section-head::after{ background-image:url("/illustrations/medicamentos.png"); }
#view-clinica .section-head::after{ background-image:url("/illustrations/descanso.png"); }
#view-sobre .section-head::after{ background-image:url("/illustrations/consultas.png"); }
#view-evidencias .section-head::after,
#view-referencias .section-head::after,
#view-ajuda .section-head::after{ content:none; }
#view-evidencias .section-head,
#view-referencias .section-head,
#view-ajuda .section-head{ padding-right:0; min-height:0; }
@media (max-width:700px){
  .view .section-head{ padding-right:96px; min-height:0; }
  .view .section-head::after{ width:88px; height:88px; opacity:0.9; }
}
@media (max-width:420px){
  .view .section-head::after{ display:none; }
  .view .section-head{ padding-right:0; }
}

/* ---------- Navegação ---------- */
.nav-item:hover{ background:var(--blush); color:var(--rose-ink); }
.nav-item.active{ background:var(--blush); color:var(--rose-ink); }

/* ---------- Micro animações ---------- */
@keyframes mpn-rise{ from{opacity:0; transform:translateY(16px);} to{opacity:1; transform:translateY(0);} }
@keyframes mpn-fade{ from{opacity:0;} to{opacity:.95;} }
@keyframes mpn-breathe{ 0%,100%{transform:scale(1);} 50%{transform:scale(1.05);} }
@keyframes mpn-float{ 0%,100%{transform:translateY(0);} 50%{transform:translateY(-8px);} }
.hero-art .orbit-icon{ animation:mpn-float 6s ease-in-out infinite; }
.hero-art .orbit-icon.d2{ animation-duration:7.5s; animation-delay:-2s; }
.hero-art .orbit-icon.d3{ animation-duration:8.5s; animation-delay:-4s; }
.hero-copy > *{ animation:mpn-rise .7s ease both; }
.hero-copy > *:nth-child(2){ animation-delay:.08s; }
.hero-copy > *:nth-child(3){ animation-delay:.16s; }
.hero-copy > *:nth-child(4){ animation-delay:.24s; }

/* ============================================================
   Tela de boas-vindas
   ============================================================ */
.mpn-splash{
  position:fixed; inset:0; z-index:9999;
  display:flex; align-items:center; justify-content:center; padding:24px;
  background:
    radial-gradient(ellipse 700px 420px at 20% 0%, #fce9ee 0%, transparent 60%),
    radial-gradient(ellipse 640px 480px at 100% 100%, #f3ebf9 0%, transparent 60%),
    #fdf7f4;
  animation:mpn-fade-in .4s ease both;
}
.mpn-splash.is-leaving{ animation:mpn-splash-out .5s ease forwards; }
@keyframes mpn-fade-in{ from{opacity:0;} to{opacity:1;} }
@keyframes mpn-splash-out{ to{ opacity:0; visibility:hidden; } }

.mpn-splash-inner{
  max-width:520px; width:100%; text-align:center;
  display:flex; flex-direction:column; align-items:center; gap:4px;
}
.mpn-splash-art{ position:relative; width:min(260px,62vw); }
.mpn-splash-art img{
  position:relative; z-index:1; width:100%; height:auto;
}
.mpn-splash-art::before{
  content:none;
}
@keyframes mpn-sway{ 0%,100%{transform:translateY(0);} 50%{transform:translateY(-6px);} }

.mpn-splash-petal{
  position:absolute; border-radius:50%; opacity:0; animation:mpn-petal .9s ease forwards;
}
.mpn-splash h1{
  font-family:var(--serif); font-size:clamp(30px,7vw,42px); margin:14px 0 2px;
  background:linear-gradient(120deg,#5a2b41 0%,#a8506e 60%,#c98a86 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  animation:mpn-rise .7s ease .45s both;
}
.mpn-splash .mpn-splash-tagline{
  font-family:var(--serif); font-style:italic; color:var(--rose-ink); font-size:16.5px;
  margin:0 0 6px; animation:mpn-rise .7s ease .6s both;
}
.mpn-splash .mpn-splash-welcome{
  color:var(--ink-soft); font-size:15px; max-width:400px; margin:8px auto 0;
  animation:mpn-rise .7s ease .75s both;
}
.mpn-splash .mpn-splash-actions{
  display:flex; gap:12px; align-items:center; justify-content:center; flex-wrap:wrap;
  margin-top:20px; animation:mpn-rise .7s ease .9s both;
}
.mpn-splash-skip{
  background:none; border:none; color:var(--ink-faint); font-size:13.5px; text-decoration:underline;
  font-family:inherit; padding:8px;
}
.mpn-splash-skip:hover{ color:var(--rose-ink); }
@keyframes mpn-petal{ from{opacity:0; transform:translateY(10px) scale(.6);} to{opacity:.85; transform:translateY(0) scale(1);} }

@media (prefers-reduced-motion: reduce){
  .hero-figure img, .mpn-splash-art img, .hero-copy > *, .today-grid .today-tile,
  .hero-art .orbit-icon, .hero-figure-glow, .mpn-splash-art::before{ animation:none !important; }
}

/* Hide Lovable badge */
#lovable-badge {
  display: none !important;
}
