/* ============ BASE ============ */
:root{
  --bg:#FFF8FA; --surface:#fff;
  --rose-50:#FDF0F5; --rose-100:#FBDFEA; --rose-200:#F7C6D9;
  --primary:#D6336C; --primary-dark:#A61E4D; --primary-light:#E8699A;
  --ink:#3B1D2C; --muted:#8C6575; --gold:#C9A26B;
  --grad:linear-gradient(135deg,var(--primary-light),var(--primary) 55%,var(--primary-dark));
  --shadow-sm:0 4px 14px rgba(166,30,77,.08);
  --shadow-md:0 12px 32px rgba(166,30,77,.13);
  --shadow-lg:0 24px 60px rgba(59,29,44,.16);
  --r-md:20px; --r-lg:28px;
  --ease:cubic-bezier(.22,1,.36,1);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{font-family:'Jost',sans-serif;font-weight:400;color:var(--ink);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button,input,select,textarea{font:inherit;color:inherit}
::selection{background:var(--rose-200)}
h1,h2,h3{font-family:'Cormorant Garamond',serif;line-height:1.15;font-weight:600}
.container{width:min(1160px,88%);margin-inline:auto}
.section{padding:clamp(4.5rem,9vw,7.5rem) 0;position:relative}
.section-alt{background:linear-gradient(180deg,#FDEFF5,#FFF8FA);border-radius:56px 56px 0 0}
.narrow{max-width:820px}
.skip-link{position:absolute;left:-999px;top:8px;z-index:999;background:var(--primary);color:#fff;padding:.6rem 1rem;border-radius:10px}
.skip-link:focus{left:8px}

/* Tipos utilitários */
.eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-size:.78rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--primary);margin-bottom:1.1rem}
.eyebrow::before{content:"";width:28px;height:2px;background:var(--grad);border-radius:2px}
.section-title{font-size:clamp(2.1rem,4.4vw,3.3rem);letter-spacing:-.01em;margin-bottom:1rem}
.section-title em{font-style:italic;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{color:var(--muted);font-size:clamp(1.02rem,1.6vw,1.18rem);max-width:58ch}
.section-head{max-width:640px;margin-bottom:clamp(2.4rem,5vw,4rem)}
.section-head.center{margin-inline:auto;text-align:center}
.section-head.center .lead{margin-inline:auto}
.section-head.center .eyebrow::before{display:none}

/* Ícones */
.ic{width:1em;height:1em;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ic-fill .ic,.ic.fill{fill:currentColor;stroke:none}

/* Botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;font-weight:500;border:none;cursor:pointer;border-radius:999px;transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .3s,color .3s;will-change:transform}
.btn .ic{transition:transform .35s var(--ease)}
.btn:hover .ic{transform:translateX(4px)}
.btn-primary{background:var(--grad);background-size:150% 150%;color:#fff;padding:.95rem 2rem;box-shadow:0 10px 26px rgba(214,51,108,.35)}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(214,51,108,.45)}
.btn-ghost{background:transparent;color:var(--primary);padding:.95rem 2rem;box-shadow:inset 0 0 0 1.5px var(--rose-200)}
.btn-ghost:hover{background:var(--rose-50);transform:translateY(-3px)}
.btn-light{background:#fff;color:var(--primary-dark);padding:.95rem 2rem;box-shadow:0 12px 30px rgba(0,0,0,.18)}
.btn-light:hover{transform:translateY(-3px)}
.btn-lg{font-size:1.02rem;padding:1.05rem 2.3rem}
.btn-sm{font-size:.9rem;padding:.62rem 1.35rem}
