/* Pharma M&E • paleta da arte: verde escuro, petróleo, verde água, creme e branco. */
:root{
  --v-esc:#0d4a3d; --v-pet:#17695a; --v-med:#2a8576; --agua:#7cc3b6; --creme:#f6efd0; --creme-cl:#fbf7e3; --txt:#12382f;
  --sans:'Montserrat',system-ui,sans-serif; --serif:'Playfair Display',Georgia,serif; --script:'Dancing Script',cursive;
  --coracoes:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90'%3E%3Cpath d='M45 60C30 50 28 39 33 33c4-4 10-3 12 3 2-6 8-7 12-3 5 6 3 17-12 27z' fill='none' stroke='white' stroke-opacity='.55' stroke-width='2'/%3E%3C/svg%3E");
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);font-weight:500;color:var(--txt);background:var(--creme);line-height:1.65;overflow-x:hidden}
body.fechado{overflow:hidden}
h2{font-family:var(--sans);font-weight:800;font-size:1.55rem;line-height:1.2;letter-spacing:.02em}
:focus-visible{outline:3px solid var(--agua);outline-offset:3px}

/* Marca */
.logo{text-align:center;line-height:.9}
.logo .p{display:block;font-weight:800;font-size:2.3rem;color:var(--v-esc);letter-spacing:.01em}
.logo .me{display:block;font-family:var(--serif);font-weight:800;font-size:4.8rem;line-height:.95;background:linear-gradient(180deg,var(--agua),var(--v-med));-webkit-background-clip:text;background-clip:text;color:transparent}
.logo.claro .p{color:var(--creme)}
.script{font-family:var(--script);font-weight:700}
.batimento{width:min(80%,300px);height:auto;color:var(--v-med);display:block;margin:6px auto}
.batimento.claro{color:var(--agua)}
.batimento path{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:desenha 3.4s ease-in-out infinite}
@keyframes desenha{0%{stroke-dashoffset:1}55%,85%{stroke-dashoffset:0}100%{stroke-dashoffset:-1}}

/* Botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:15px 34px;border:0;border-radius:99px;cursor:pointer;text-decoration:none;font:800 1rem var(--sans);letter-spacing:.06em;color:var(--creme);background:var(--v-esc);box-shadow:0 8px 18px rgba(13,74,61,.28);transition:transform .2s,box-shadow .2s,background .2s}
.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(1px);box-shadow:0 3px 8px rgba(13,74,61,.3)}
.btn-claro{background:var(--creme);color:var(--v-esc)}
.btn-zap{background:#1f8f5f;color:#fff;width:100%;max-width:340px}.btn-zap svg{width:24px;height:24px}
.btn-contorno{background:transparent;color:var(--v-esc);border:2px solid var(--v-esc);box-shadow:none;width:100%;max-width:340px;margin-top:14px}

/* Abertura */
.abertura{position:fixed;inset:0;z-index:50;display:grid;grid-template-rows:1fr auto;text-align:center;background:var(--creme) var(--coracoes);transition:transform 1s cubic-bezier(.7,0,.2,1),opacity .8s ease .2s}
.abertura.saindo{transform:translateY(-100%);opacity:0;pointer-events:none}
.abertura-topo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:24px 22px 8px}
.abertura .logo .p{font-size:1.9rem}.abertura .logo .me{font-size:4rem}
.convidado{font-size:1.02rem;margin-top:10px}
.abertura .script{font-size:clamp(3.4rem,17vw,5.4rem);line-height:1;color:var(--v-pet)}
.filial{font-weight:800;letter-spacing:.12em;font-size:.85rem;color:var(--v-esc)}
.celebre{max-width:30ch;margin-top:10px;font-size:.95rem}
.abertura-fundo{background:var(--v-esc);padding:34px 20px calc(30px + env(safe-area-inset-bottom));border-radius:50% 50% 0 0/34px 34px 0 0}

/* Seções */
.sec{position:relative;padding:64px 22px;text-align:center;overflow:hidden}
.wrap{max-width:560px;margin:0 auto}
.verde{background:linear-gradient(170deg,var(--v-pet),var(--v-esc));color:var(--creme)}
.verde h2{color:#fff}
.creme{background:var(--creme) var(--coracoes)}
.branco{background:#fff}
.sec h2{margin-bottom:14px}
.sub,.suave{opacity:.9}

.principal{padding-top:56px}
.fita{position:relative;display:inline-block;margin:0 14px 26px;padding:16px 38px;background:linear-gradient(180deg,var(--v-med),var(--v-pet));border-radius:12px;font-weight:800;font-size:1.45rem;line-height:1.2;letter-spacing:.03em;color:#fff}
.fita::before,.fita::after{content:"";position:absolute;top:14px;width:34px;height:100%;background:var(--v-med);filter:brightness(.78);z-index:-1}
.fita::before{left:-22px;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,28% 50%)}.fita::after{right:-22px;clip-path:polygon(0 0,100% 0,72% 50%,100% 100%,0 100%)}
.pilares{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:30px 0 26px;font-weight:800;font-size:.72rem;letter-spacing:.06em}
.ic{display:grid;place-items:center;width:74px;height:74px;margin:0 auto 10px;border-radius:50%;background:var(--agua);box-shadow:0 6px 14px rgba(0,0,0,.2)}
.ic svg{width:40px;height:40px;fill:none;stroke:var(--v-esc);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}

.etiqueta{font-weight:800;letter-spacing:.2em;font-size:.8rem;color:var(--v-med)}
.dia{font-weight:800;font-size:7rem;line-height:1;color:var(--v-esc)}
.mes{font-weight:800;font-size:1.9rem;letter-spacing:.18em;color:var(--v-pet)}
.ano{font-weight:700;opacity:.7;letter-spacing:.1em}
.hora{display:inline-block;margin:14px 0 26px;padding:6px 28px;border-top:2px solid var(--agua);border-bottom:2px solid var(--agua);font-weight:800;font-size:2.4rem;color:var(--v-med)}
.contagem{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:380px;margin:0 auto}
.contagem div{background:var(--v-esc);color:var(--creme);border-radius:16px;padding:14px 2px;box-shadow:0 8px 16px rgba(13,74,61,.22)}
.contagem b{display:block;font-size:1.8rem;line-height:1.1;font-variant-numeric:tabular-nums;color:var(--agua)}
.contagem small{font-size:.58rem;font-weight:800;letter-spacing:.08em}
.hoje{font-weight:800;font-size:1.4rem;color:var(--v-esc);background:var(--agua);border-radius:16px;padding:18px 16px}

.mensagem p{margin-bottom:16px;font-size:1.05rem}.mensagem .destaque{font-size:1.2rem;font-weight:700}
.fecho{margin-top:26px;padding-top:22px;border-top:2px solid rgba(124,195,182,.55);font-family:var(--script);font-weight:700;font-size:1.65rem;line-height:1.3;color:var(--agua)}

.cards{display:grid;gap:16px;margin-top:22px}
.card{background:#fff;border-radius:24px;padding:28px 22px;box-shadow:0 10px 24px rgba(13,74,61,.14);border:2px solid rgba(42,133,118,.18)}
.card .ic{width:80px;height:80px;background:var(--v-med)}.card .ic svg{stroke:#fff}
.card h3{font-weight:800;font-size:1.1rem;letter-spacing:.04em;color:var(--v-esc);margin-bottom:6px}

.galeria{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:20px}
.galeria button{aspect-ratio:4/5;padding:0;border:0;cursor:zoom-in;overflow:hidden;border-radius:22px;background:var(--creme);box-shadow:0 8px 18px rgba(13,74,61,.18)}
.galeria img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.galeria button:hover img{transform:scale(1.05)}

.cartao-local{background:rgba(255,255,255,.08);border:2px solid rgba(124,195,182,.5);border-radius:28px;padding:32px 22px}
.pin{width:46px;height:46px;fill:none;stroke:var(--agua);stroke-width:2.6;margin-bottom:8px}
.nome-local{font-family:var(--serif);font-weight:800;font-size:1.7rem;color:#fff}.endereco{margin:6px 0 22px;font-weight:700}

.contato .telefone{font-weight:800;font-size:1.7rem;color:var(--v-pet);margin-bottom:18px}
.rodape .logo .p{font-size:1.9rem}.rodape .logo .me{font-size:3.6rem}
.rodape .script{font-size:2.4rem;line-height:1.1;color:var(--creme);margin:10px 0 18px}
.slogan{margin:14px 0 4px;font-weight:700;color:var(--agua)}.rodape .telefone{font-weight:800;margin-bottom:20px}
.credito{margin-top:34px;font-size:.78rem;opacity:.65}

.lightbox{position:fixed;inset:0;z-index:100;background:rgba(6,30,24,.92);display:grid;place-items:center;padding:20px}
.lightbox[hidden]{display:none}.lightbox img{max-width:100%;max-height:85vh;border-radius:18px}
.lightbox button{position:absolute;top:16px;right:16px;width:46px;height:46px;border:0;border-radius:50%;font-size:1.2rem;cursor:pointer}
.musica{position:fixed;right:14px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:60;border:0;border-radius:99px;padding:11px 16px;background:#fff;color:var(--v-esc);font:700 .85rem var(--sans);cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,.28)}
.musica[hidden]{display:none}
.aviso{position:fixed;left:50%;bottom:84px;translate:-50% 0;z-index:120;max-width:88%;padding:12px 20px;border-radius:99px;background:var(--v-esc);color:#fff;font-weight:700;font-size:.9rem;box-shadow:0 8px 20px rgba(0,0,0,.3)}
.aviso[hidden]{display:none}

.js .rev{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}
.js .rev.in{opacity:1;transform:none}

@media (min-width:700px){.galeria{gap:16px}.cards{grid-template-columns:1fr 1fr}.abertura .logo .me{font-size:5rem}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition-duration:.01ms!important}html{scroll-behavior:auto}.batimento path{stroke-dashoffset:0}}
