/* Camada premium — identidade Gabriela Seabra */
:root {
  --paper: #fdfaf7;
  --paper-2: #f6eee8;
  --paper-3: #efe3dc;
  --paper-sun: #f8edf0;
  --ink: #143968;
  --ink-2: #3e5578;
  --ink-3: #77869a;
  --terra: #17406f;
  --terra-deep: #0d2e59;
  --terra-soft: rgba(23, 64, 111, .10);
  --terra-line: rgba(23, 64, 111, .25);
  --sage: #b98b94;
  --sage-deep: #92646e;
  --sage-soft: rgba(185, 139, 148, .16);
  --hair: rgba(20, 57, 104, .12);
  --hair-2: rgba(20, 57, 104, .22);
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "DM Sans", system-ui, sans-serif;
  --maxw: 1240px;
  --radius: 26px;
}

body { background: var(--paper); letter-spacing: .002em; }
body::before { content:""; position: fixed; inset: 0; pointer-events: none; z-index: 0; opacity: .42; background: radial-gradient(circle at 4% 18%, rgba(248, 224, 229, .55), transparent 24%), radial-gradient(circle at 93% 70%, rgba(197, 215, 232, .36), transparent 28%); }
body > * { position: relative; }
h1, h2, h3, h4 { font-weight: 550; letter-spacing: -.025em; }
.site-header.scrolled { background: rgba(253, 250, 247, .8); border-bottom-color: var(--hair); }
.brand .mono { display: none; }
/* A marca inteira no menu: nenhum pedaço do arquivo é ampliado ou recortado. */
.brand { min-width: 220px; min-height: 48px; align-items: center; }
.brand::before { content: ""; width: 220px; height: 48px; display: inline-block; flex: none; background: url("gabriela-seabra-logo.png") left center / contain no-repeat; }
.brand > span:not(.mono) { display: none; }
.eyebrow { color: var(--sage-deep); }
.eyebrow::before { background: var(--sage-deep); }
.btn--primary { background: var(--ink); box-shadow: 0 10px 24px -15px rgba(13, 46, 89, .7); }
.btn--primary:hover { background: #071f42; transform: translateY(-2px); }
.btn--ghost:hover { background: #fff; border-color: var(--ink); }
.hero { min-height: min(760px, 100svh); display: flex; align-items: center; background: linear-gradient(115deg, #fffdfb 0%, #fdf8f8 48%, #edf3f8 100%); }
.hero::after { content:""; position: absolute; width: min(48vw, 650px); height: min(48vw, 650px); right: -15vw; bottom: -18vw; border: 1px solid rgba(20, 57, 104, .14); border-radius: 50%; pointer-events: none; }
.hero h1 em, .pullquote, .link-arrow { color: var(--sage-deep); }
.hero-ambient .b1 { background: radial-gradient(circle, rgba(185,139,148,.26), transparent 68%); filter: blur(30px); }
.hero-ambient .b2 { background: radial-gradient(circle, rgba(44,105,159,.15), transparent 68%); filter: blur(30px); }
.portrait { background: linear-gradient(145deg, #fff 0%, #f5e8e8 52%, #eaf2f7 100%); border-radius: 50% 50% 42% 42% / 44% 44% 56% 56%; box-shadow: 0 35px 70px -38px rgba(13,46,89,.5); }
.portrait::after { content: ""; position:absolute; inset: 9%; border: 1px solid rgba(20,57,104,.18); border-radius: inherit; pointer-events:none; }
.portrait .ph-frame { display: none; }
.portrait .ph-initial { color: var(--ink); opacity: .16; }
.portrait .ph-tag { color: var(--ink); background: rgba(255,255,255,.82); }
.brand-portrait { aspect-ratio: 1.22 / 1; padding: clamp(28px, 4vw, 54px); display: grid; place-items: center; overflow: visible; border-radius: 34px; }
.brand-portrait::after { border-radius: 24px; }
.brand-portrait .logo-art { width: min(100%, 520px); max-height: 100%; object-fit: contain; filter: drop-shadow(0 22px 24px rgba(13,46,89,.10)); animation: logo-float 7s ease-in-out infinite; }
.brand-portrait .ph-initial, .brand-portrait .ph-tag { display:none; }
.photo-portrait { border-radius: 28px; overflow: hidden; background: #e9edf1; }
.photo-portrait::after { border-radius: 19px; }
.photo-portrait .photo-art { width: 100%; height: 100%; object-fit: cover; object-position: center 26%; transform: scale(1.01); transition: transform 1.2s var(--ease-soft); }
.photo-portrait:hover .photo-art { transform: scale(1.05); }
.photo-portrait .ph-frame, .photo-portrait .ph-initial, .photo-portrait .ph-tag { display: none; }
.bot-trap { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(1px, 1px, 1px, 1px) !important; white-space: nowrap !important; }
.map-card { margin-top: 1.6rem; min-height: 150px; border: 1px solid var(--hair); border-radius: 24px; padding: 28px; display: flex; align-items: center; gap: 16px; background: radial-gradient(circle at 88% 16%, rgba(185,139,148,.28), transparent 34%), linear-gradient(130deg, #f5e9e7, #edf3f8); transition: transform .35s var(--ease-soft), box-shadow .35s var(--ease); }
.map-card:hover { transform: translateY(-4px); box-shadow: 0 22px 38px -28px rgba(13,46,89,.52); }
.map-card__pin { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; background: var(--ink); color: #fff; font-size: 1.5rem; }
.map-card strong { display: block; font-family: var(--serif); font-size: 1.5rem; }
.map-card small { display: block; margin-top: 2px; color: var(--ink-2); }
.map-card > :last-child { margin-left: auto; color: var(--sage-deep); font-size: 1.35rem; }
.contact-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.tile, .post-card { background: rgba(255,255,255,.72); backdrop-filter: blur(8px); }
.tile:hover, .post-card:hover { transform: translateY(-7px); box-shadow: 0 28px 54px -38px rgba(13,46,89,.46); }
.tile .ic { background: rgba(23,64,111,.09); color: var(--ink); }
.tile.sage .ic { background: var(--sage-soft); color: var(--sage-deep); }
.section--alt { background: linear-gradient(110deg, #f8f0ed, #f4f7fa); }
.cta-band { background: #0f3563; box-shadow: 0 30px 60px -35px rgba(13,46,89,.8); }
.cta-band::before { background: radial-gradient(80% 120% at 100% 0%, rgba(243,193,203,.28), transparent 60%); }
.site-footer { background: #eaf0f5; }
.wa-float { background: var(--ink); box-shadow: 0 14px 30px -10px rgba(13,46,89,.52); }
.wa-float:hover { background: #071f42; }
.read-progress { background: var(--sage-deep); }

/* Movimento discreto, sem comprometer a leitura. */
@keyframes logo-float { 0%, 100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-12px) rotate(-1deg); } }
@keyframes halo-pulse { 0%,100% { transform: scale(1); opacity:.35; } 50% { transform: scale(1.06); opacity:.62; } }
.hero::before { content:""; position:absolute; right: 4%; top: 11%; width: 15px; height: 15px; border-radius:50%; background: var(--sage); box-shadow: 0 0 0 16px rgba(185,139,148,.10), 0 0 0 38px rgba(185,139,148,.06); animation: halo-pulse 5s ease-in-out infinite; }
.js .reveal { transition-duration: 1s; }
.js .hero .reveal { transition-duration: 1.25s; }

@media (max-width: 860px) { .hero { min-height: auto; } .brand { min-width: 152px; min-height: 36px; } .brand::before { width: 152px; height: 36px; } }
@media (max-width: 440px) { .brand { min-width: 130px; } .brand::before { width: 130px; height: 31px; } }
@media (prefers-reduced-motion: reduce) { .brand-portrait .logo-art, .hero::before { animation: none; } }
