/* =========================================================
   NORTE — landing page
   Lilac · original (faithful to reference)
   ========================================================= */

/* ---------- Fonts ---------- */
@font-face{font-family:"Made Tommy";src:url("assets/fonts/MADETommySoft-Light.otf") format("opentype");font-weight:300;font-style:normal;font-display:block}
@font-face{font-family:"Made Tommy";src:url("assets/fonts/MADETommySoft-Regular.otf") format("opentype");font-weight:400;font-style:normal;font-display:block}
@font-face{font-family:"Made Tommy";src:url("assets/fonts/MADETommySoft-Medium.otf") format("opentype");font-weight:500;font-style:normal;font-display:block}
@font-face{font-family:"Made Tommy";src:url("assets/fonts/MADETommySoft-Bold.otf") format("opentype");font-weight:700;font-style:normal;font-display:block}
@font-face{font-family:"Made Tommy";src:url("assets/fonts/MADETommySoft-ExtraBold.otf") format("opentype");font-weight:800;font-style:normal;font-display:block}
@font-face{font-family:"Made Tommy";src:url("assets/fonts/MADETommySoft-Black.otf") format("opentype");font-weight:900;font-style:normal;font-display:block}
@font-face{font-family:"Caveat";src:url("assets/fonts/Caveat-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Caveat";src:url("assets/fonts/Caveat-Medium.ttf") format("truetype");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Caveat";src:url("assets/fonts/Caveat-SemiBold.ttf") format("truetype");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Caveat";src:url("assets/fonts/Caveat-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}

/* ---------- Tokens ---------- */
:root{
  --c-purple: #7A5CFA;
  --c-purple-deep: #5C42D6;
  --c-purple-darkest: #2B1F70;
  --c-yellow: #FBC44A;
  --c-yellow-deep: #E8A91F;
  --c-ink: #1B1640;       /* deep navy-indigo for body text */
  --c-ink-soft: #4A4677;
  --c-cream: #F7F1E8;
  --c-cream-2: #FDF8EE;
  --c-bg-lilac-1: #EFE7F8;
  --c-bg-lilac-2: #F7E8EE;
  --c-bg-lilac-3: #E5DBFB;
  --c-card-edge: rgba(122, 92, 250, 0.15);
  --c-shadow: 0 30px 60px -28px rgba(91, 64, 192, 0.35), 0 8px 20px -10px rgba(60, 40, 140, 0.18);
  --c-shadow-lg: 0 50px 90px -36px rgba(91, 64, 192, 0.45), 0 12px 30px -10px rgba(60, 40, 140, 0.22);
  --r-card: 32px;
  --r-card-sm: 22px;
  --r-pill: 999px;
  --gutter: 18px;
  --maxw: 480px;
  --maxw-wide: 1100px;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
html{
  background:#F1EAF9;
  color:var(--c-ink);
  font-family:"Made Tommy", system-ui, sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  scroll-behavior:smooth;
}
body{
  position:relative;
  overflow-x:hidden;
  min-height:100vh;
  font-size:16px;
  line-height:1.55;
}
img{display:block;max-width:100%;height:auto}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
a{color:inherit;text-decoration:none}

/* ---------- Ambient backdrop ---------- */
.ambient{
  position:fixed; inset:0;
  z-index:-1;
  background:
    radial-gradient(120% 80% at 90% 10%, #F1D9E7 0%, transparent 55%),
    radial-gradient(110% 90% at 0% 30%, #E1D2FB 0%, transparent 60%),
    radial-gradient(140% 100% at 50% 110%, #C8B6F2 0%, transparent 60%),
    linear-gradient(180deg, #EFE5FA 0%, #F4EAF3 50%, #E9DCFA 100%);
}
.ambient-blob{
  position:absolute;
  border-radius:50%;
  filter:blur(60px);
  opacity:.7;
  pointer-events:none;
  will-change:transform;
}
.ambient-blob.a{width:55vw;height:55vw;left:-12vw;top:8vh;background:radial-gradient(circle, #D6BFFB 0%, transparent 70%)}
.ambient-blob.b{width:60vw;height:60vw;right:-15vw;top:35vh;background:radial-gradient(circle, #F2C8DB 0%, transparent 70%)}
.ambient-blob.c{width:80vw;height:80vw;left:10vw;top:120vh;background:radial-gradient(circle, #B8A2F0 0%, transparent 70%);opacity:.45}
.ambient-noise{
  position:absolute; inset:0;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.4 0 0 0 0 0.3 0 0 0 0 0.6 0 0 0 0.5 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.4'/></svg>");
  opacity:.18; mix-blend-mode:overlay;
}

/* ---------- Page container ---------- */
.page{
  max-width:var(--maxw);
  margin:0 auto;
  padding:18px var(--gutter) 64px;
  display:flex;
  flex-direction:column;
  gap:22px;
}

/* ---------- Promo banner (high-impact sale strip) ---------- */
.promo-banner{
  position:relative;
  z-index:3;
  display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:10px 16px;
  padding:14px 20px;
  background: linear-gradient(90deg, #FF3B30 0%, #FF7A1A 50%, #FFB400 100%);
  color:#fff;
  border-radius:var(--r-card-sm);
  font-family:"Made Tommy"; font-weight:800; font-size:15px;
  letter-spacing:.02em;
  text-align:center;
  box-shadow: 0 14px 32px -10px rgba(255, 59, 48, 0.55), 0 0 0 2px rgba(255,255,255,.35) inset;
  transition: transform .15s ease, box-shadow .2s ease;
  animation: bannerPulse 1.8s ease-in-out infinite;
  overflow:hidden;
  text-decoration:none;
}
.promo-banner::before{
  content:"";
  position:absolute; inset:0;
  background: repeating-linear-gradient(45deg, rgba(255,255,255,.08) 0 10px, transparent 10px 20px);
  pointer-events:none;
}
.promo-banner:hover{
  transform: translateY(-1px) scale(1.005);
  box-shadow: 0 18px 38px -10px rgba(255, 59, 48, 0.65), 0 0 0 2px rgba(255,255,255,.5) inset;
}
.promo-banner__badge{
  display:inline-flex; align-items:center;
  padding:5px 11px;
  background:#fff; color:#E11D2A;
  border-radius:var(--r-pill);
  font-size:12px; font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  box-shadow: 0 2px 6px rgba(0,0,0,.2);
  animation: badgeBlink 1s ease-in-out infinite;
}
.promo-banner__text{
  text-shadow: 0 1px 2px rgba(0,0,0,.25);
  font-weight:700;
}
.promo-banner__cta{
  display:inline-flex; align-items:center; gap:6px;
  padding:9px 16px;
  background:#fff; color:#E11D2A;
  border-radius:var(--r-pill);
  font-size:13px; font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
  transition: background .2s ease, transform .2s ease;
  white-space:nowrap;
  box-shadow: 0 4px 10px rgba(0,0,0,.18);
}
.promo-banner:hover .promo-banner__cta{background:#FFF3C4}
.promo-banner__cta::after{
  content:"→";
  font-size:13px;
  transition: transform .2s ease;
}
.promo-banner:hover .promo-banner__cta::after{transform: translateX(3px)}

@keyframes bannerPulse{
  0%,100%{box-shadow: 0 14px 32px -10px rgba(255, 59, 48, 0.55), 0 0 0 2px rgba(255,255,255,.35) inset}
  50%{box-shadow: 0 20px 40px -8px rgba(255, 122, 26, 0.75), 0 0 0 2px rgba(255,255,255,.55) inset}
}
@keyframes badgeBlink{
  0%,100%{opacity:1; transform:scale(1)}
  50%{opacity:.85; transform:scale(1.06)}
}

/* ---------- Blog side popover (fixed) ---------- */
.blog-pop{
  position:fixed; right:0; top:38%;
  z-index:50; display:flex; align-items:flex-start;
  font-family:"Made Tommy";
}
.blog-pop__tab{
  appearance:none; border:0; cursor:pointer;
  background: linear-gradient(135deg, #7A5CFA 0%, #A78BFA 100%);
  color:#fff; padding:14px 10px;
  border-radius:14px 0 0 14px;
  font-weight:800; font-size:12px; letter-spacing:.14em;
  writing-mode:vertical-rl; transform:rotate(180deg);
  box-shadow: -6px 6px 18px -6px rgba(122,92,250,.55);
  display:flex; flex-direction:column; align-items:center; gap:6px;
}
.blog-pop__tab .dot{
  width:8px; height:8px; border-radius:50%;
  background:#FF3B30;
  box-shadow:0 0 0 0 rgba(255,59,48,.6);
  animation: dotPulse 1.6s ease-in-out infinite;
}
@keyframes dotPulse{
  0%{ box-shadow:0 0 0 0 rgba(255,59,48,.6) }
  100%{ box-shadow:0 0 0 10px rgba(255,59,48,0) }
}
.blog-pop__card{
  width:280px; margin-right:8px;
  background:#fff; border-radius:16px;
  padding:16px 16px 14px;
  box-shadow: 0 20px 40px -12px rgba(60,40,120,.28), 0 0 0 1px rgba(0,0,0,.04);
  animation: popIn .22s ease-out;
}
@keyframes popIn{
  from{ opacity:0; transform: translateX(10px) scale(.96) }
  to{ opacity:1; transform: translateX(0) scale(1) }
}
.blog-pop__eyebrow{
  display:flex; align-items:center; gap:8px;
  font-size:11px; font-weight:800; letter-spacing:.12em;
  color:#7A5CFA; text-transform:uppercase; margin-bottom:8px;
}
.blog-pop__eyebrow .new{
  background:#FF3B30; color:#fff;
  padding:2px 7px; border-radius:999px; font-size:10px;
}
.blog-pop__title{
  font-size:15px; font-weight:800; color:#1a1530;
  line-height:1.3; margin:0 0 8px;
}
.blog-pop__meta{ font-size:12px; color:#6b6485; margin-bottom:12px }
.blog-pop__actions{ display:flex; gap:8px; align-items:center; justify-content:space-between }
.blog-pop__read{
  flex:1; display:inline-flex; align-items:center; justify-content:center; gap:6px;
  background:#7A5CFA; color:#fff;
  padding:9px 12px; border-radius:999px;
  font-size:12px; font-weight:800; letter-spacing:.04em;
  text-decoration:none;
}
.blog-pop__read:hover{ background:#6646e8 }
.blog-pop__close{
  appearance:none; background:transparent; border:0; cursor:pointer;
  color:#9a93b0; font-size:18px; padding:4px 8px; line-height:1;
}
.blog-pop__close:hover{ color:#1a1530 }
@media (max-width:520px){ .blog-pop__card{ width:240px } }

/* ---------- HERO ---------- */
.hero{
  position:relative;
  min-height:96vh;
  display:flex; flex-direction:column;
  padding-bottom:32px;
}

.hero-backdrop-mark{
  position:absolute;
  left:50%; bottom:-2vh;
  transform:translateX(-50%);
  width:140%;
  max-width:none;
  opacity:.22;
  filter: blur(.4px);
  pointer-events:none;
  z-index:0;
  -webkit-mask-image:linear-gradient(180deg, #000 70%, transparent 100%);
          mask-image:linear-gradient(180deg, #000 70%, transparent 100%);
}

/* nav pill */
.nav-pill{
  position:relative;
  z-index:3;
  display:flex; align-items:center; justify-content:space-between;
  gap:16px;
  padding:14px 18px 14px 22px;
  background:#FFFFFFEE;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-radius:var(--r-pill);
  box-shadow:var(--c-shadow);
  border:1px solid #FFFFFF;
}
.nav-brand{display:flex;align-items:center}
.nav-brand img{height:22px;width:auto}
.nav-burger{
  width:38px;height:38px;border-radius:50%;
  display:grid; place-items:center; gap:1px;
  background:transparent;
  position:relative;
}
.nav-burger span{
  display:block; width:16px; height:1.5px;
  background:var(--c-ink);
  border-radius:2px;
  transition: transform .25s ease, opacity .25s ease;
}
.nav-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(1.5px) rotate(45deg)}
.nav-burger[aria-expanded="true"] span:nth-child(2){transform:translateY(-1.5px) rotate(-45deg)}

/* mobile menu drawer */
.menu-drawer{
  position:relative;
  z-index:2;
  display:none;
  flex-direction:column;
  margin-top:10px;
  padding:12px 8px;
  background:#FFFFFFEE;
  backdrop-filter: blur(8px);
  border-radius:24px;
  box-shadow:var(--c-shadow);
}
.menu-drawer.is-open{display:flex}
.menu-drawer a{
  padding:12px 16px;
  font-weight:500;
  font-size:17px;
  border-radius:14px;
}
.menu-drawer a:hover{background:#F2ECFB}

/* hero body */
.hero-inner{
  position:relative;
  z-index:2;
  margin-top:40px;
  display:flex; flex-direction:column;
  align-items:center; text-align:center;
  gap:26px;
}
.hero-eyebrow{
  font-family:"Made Tommy";
  font-weight:500;
  font-size:13px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--c-purple);
  margin:0 0 -12px;
}
.hero-headline{
  font-family:"Made Tommy";
  font-weight:500;
  font-size: clamp(36px, 11vw, 56px);
  line-height:1.02;
  letter-spacing:-0.02em;
  color:var(--c-ink);
  margin:8px 0 0;
  text-wrap:balance;
}
.hero-headline em{
  font-family:"Caveat";
  font-style:normal;
  font-weight:700;
  color:var(--c-purple);
  font-size:1.15em;
  line-height:0.9;
  display:inline-block;
  transform:translateY(.04em) rotate(-2deg);
}

/* floating brand mark */
.hero-mark-stage{
  position:relative;
  width: min(72vw, 320px);
  aspect-ratio: 1 / 1;
  display:grid; place-items:center;
  margin:6px 0;
  will-change:transform;
}
.hero-mark{
  width:100%; height:100%;
  object-fit:contain;
  filter: drop-shadow(0 24px 30px rgba(91,64,192,.35));
  animation: float 6s ease-in-out infinite;
}
.hero-mark-shadow{
  position:absolute;
  left:50%; bottom:-2%;
  width:60%; height:14px;
  transform:translateX(-50%);
  background:radial-gradient(ellipse at center, rgba(91,64,192,.35), transparent 70%);
  filter:blur(8px);
  animation: shadowPulse 6s ease-in-out infinite;
}
@keyframes float{
  0%,100%{transform:translateY(0) rotate(-2deg)}
  50%{transform:translateY(-14px) rotate(2deg)}
}
@keyframes shadowPulse{
  0%,100%{transform:translateX(-50%) scale(1);opacity:.7}
  50%{transform:translateX(-50%) scale(0.78);opacity:.45}
}

.hero-nav-list{
  list-style:none; padding:0; margin:8px 0 0;
  display:flex; flex-direction:column; gap:2px;
  font-family:"Made Tommy";
  font-weight:400;
  font-size: clamp(20px, 5.5vw, 24px);
  color:var(--c-ink);
  opacity:.78;
}
.hero-nav-list a{display:inline-block;padding:4px 8px;border-radius:8px;transition:background .2s, color .2s}
.hero-nav-list a:hover{background:#FFFFFF80;color:var(--c-purple-deep)}

/* ---------- CTA Pills ---------- */
.cta-pill{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:14px 26px;
  border-radius:var(--r-pill);
  font-family:"Made Tommy"; font-weight:600; font-size:16px;
  letter-spacing:.005em;
  white-space:nowrap;
  transition: transform .15s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
  position:relative;
}
.cta-pill svg{transition:transform .25s ease}
.cta-pill:hover{transform:translateY(-1px)}
.cta-pill:hover svg{transform:translateX(3px)}
.cta-pill:active{transform:translateY(0)}

.cta-pill--dark{
  background:#1B1640;
  color:#fff;
  box-shadow: 0 14px 28px -12px rgba(27,22,64,.55), 0 0 0 1px rgba(255,255,255,.05) inset;
}
.cta-pill--dark:hover{background:#2A2160}

.cta-pill--purple{
  background:var(--c-purple);
  color:#fff;
  box-shadow: 0 14px 28px -12px rgba(122,92,250,.65);
}
.cta-pill--purple:hover{background:var(--c-purple-deep)}

.cta-pill--yellow{
  background:var(--c-yellow);
  color:#3C2A05;
  box-shadow: 0 14px 28px -12px rgba(232,169,31,.55);
}
.cta-pill--yellow:hover{background:var(--c-yellow-deep);color:#1F1602}

.cta-pill--ghost-invert{
  background:transparent;
  color:#fff;
  box-shadow: 0 0 0 1.5px rgba(255,255,255,.5) inset;
}
.cta-pill--ghost-invert:hover{background:rgba(255,255,255,.1);box-shadow: 0 0 0 1.5px rgba(255,255,255,.9) inset}

.cta-pill--block{display:flex;width:100%}

.cta-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.cta-row .cta-pill{flex:1 1 auto;min-width:170px}

/* ---------- Card base ---------- */
.card{
  position:relative;
  border-radius:var(--r-card);
  padding:32px 26px;
  box-shadow:var(--c-shadow);
  overflow:hidden;
  isolation:isolate;
}
.card--cream{
  background:linear-gradient(180deg, #FDF8EE 0%, #F7F1E8 100%);
  color:var(--c-ink);
  border:1px solid #FFFFFF80;
}
.card--white{
  background:#FFFFFF;
  color:var(--c-ink);
  border:1px solid #FFFFFFCC;
}

/* eyebrow + headlines + lead */
.eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-family:"Made Tommy"; font-weight:600; font-size:13px;
  text-transform:uppercase; letter-spacing:.16em;
  color:var(--c-purple-deep);
  margin:0 0 14px;
}
.eyebrow--dark{color:var(--c-ink)}
.eyebrow--invert{color:#fff;opacity:.9}
.eye-dot{
  width:8px;height:8px;border-radius:50%;background:var(--c-purple);
  box-shadow:0 0 0 4px rgba(122,92,250,.18);
}
.eye-dot--yellow{background:var(--c-yellow);box-shadow:0 0 0 4px rgba(251,196,74,.25)}

.section-h2{
  font-family:"Made Tommy"; font-weight:500;
  font-size: clamp(30px, 8vw, 44px);
  line-height:1.04;
  letter-spacing:-0.02em;
  color:var(--c-ink);
  margin:0 0 18px;
  text-wrap:balance;
}
.section-h2--sm{font-size: clamp(28px, 7.5vw, 38px)}
.section-h2--center{text-align:center}
.section-h2--invert{color:#fff}
.section-h2 em{
  font-family:"Caveat";
  font-style:normal;
  font-weight:700;
  color:var(--c-purple);
  font-size:1.18em;
  line-height:0.9;
  display:inline-block;
  transform:translateY(.05em) rotate(-2deg);
}
.section-h2--invert em{color:var(--c-yellow)}

.section-lead{
  font-size:17px; line-height:1.55;
  color:var(--c-ink-soft);
  margin:0 0 18px;
  max-width:46ch;
  text-wrap:pretty;
}
.section-lead--center{text-align:center;margin-left:auto;margin-right:auto}
.section-lead--invert{color:rgba(255,255,255,.82)}
.section-lead strong{color:var(--c-ink);font-weight:600}
.section-lead--invert strong{color:#fff}
.muted{color:var(--c-ink-soft);font-weight:400}

/* ---------- Sobre quick-facts ---------- */
.quick-facts{
  list-style:none; padding:0; margin:24px 0 0;
  display:grid; grid-template-columns: repeat(3, 1fr);
  gap:10px;
}
.quick-facts li{
  display:flex; flex-direction:column;
  padding:14px 12px;
  background:#FFFFFFAA;
  border:1px solid #FFFFFF;
  border-radius:18px;
  text-align:center;
}
.qf-num{
  font-family:"Made Tommy"; font-weight:700; font-size:24px;
  color:var(--c-purple-deep);
  letter-spacing:-.02em;
  line-height:1;
}
.qf-num--sm{font-size:15px;letter-spacing:-.01em;line-height:1.1}
.qf-lbl{
  display:block; margin-top:6px;
  font-size:12px; line-height:1.25;
  color:var(--c-ink-soft);
}

/* ---------- FORM ---------- */
.lead-form{display:flex;flex-direction:column;gap:14px;margin-top:8px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width: 420px){
  .field-row{grid-template-columns:1fr}
}
.field{display:flex;flex-direction:column;gap:6px}
.field label{
  font-family:"Made Tommy"; font-weight:600; font-size:13px;
  letter-spacing:.02em; color:var(--c-ink);
  padding-left:4px;
}
.field input,
.field textarea,
.field select{
  font:inherit;
  width:100%;
  padding:14px 16px;
  background:#FBF7EF;
  color:var(--c-ink);
  border:1.5px solid rgba(122,92,250,.18);
  border-radius:16px;
  outline:none;
  transition:border-color .15s, background .15s, box-shadow .15s;
}
.field input::placeholder,
.field textarea::placeholder{color:#9F9BBE}
.field input:focus,
.field textarea:focus,
.field select:focus{
  border-color:var(--c-purple);
  background:#fff;
  box-shadow: 0 0 0 4px rgba(122,92,250,.12);
}
.field textarea{resize:vertical;min-height:84px}
.select-wrap{position:relative}
.select-wrap select{appearance:none;-webkit-appearance:none;padding-right:40px;cursor:pointer}
.select-wrap::after{
  content:"";
  position:absolute; right:18px; top:50%;
  width:9px;height:9px;
  border-right:2px solid var(--c-purple-deep);
  border-bottom:2px solid var(--c-purple-deep);
  transform: translateY(-65%) rotate(45deg);
  pointer-events:none;
}

.chip-group{display:flex;flex-wrap:wrap;gap:8px}
.chip{
  display:inline-flex; align-items:center;
  padding:10px 16px;
  background:#FBF7EF;
  border:1.5px solid rgba(122,92,250,.18);
  border-radius:var(--r-pill);
  cursor:pointer;
  transition:all .15s ease;
  font-weight:500; font-size:15px;
}
.chip input{position:absolute;opacity:0;pointer-events:none}
.chip:hover{border-color:rgba(122,92,250,.4)}
.chip:has(input:checked){
  background:var(--c-ink);
  color:#fff;
  border-color:var(--c-ink);
}

/* multi-select list (inline checkboxes) */
.multi-list{
  display:flex; flex-direction:column; gap:6px;
  padding:8px;
  background:#FBF7EF;
  border:1.5px solid rgba(122,92,250,.18);
  border-radius:16px;
}
@media (min-width: 520px){
  .multi-list{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px}
}

/* multi-select dropdown (legacy, unused) */
.multi-select{position:relative}
.multi-select__btn{
  width:100%;
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 16px;
  background:#FBF7EF;
  color:var(--c-ink);
  border:1.5px solid rgba(122,92,250,.18);
  border-radius:16px;
  font:inherit;
  text-align:left;
  transition:border-color .15s, background .15s, box-shadow .15s;
  cursor:pointer;
  position:relative;
  padding-right:40px;
}
.multi-select__btn::after{
  content:"";
  position:absolute; right:18px; top:50%;
  width:9px;height:9px;
  border-right:2px solid var(--c-purple-deep);
  border-bottom:2px solid var(--c-purple-deep);
  transform: translateY(-65%) rotate(45deg);
  transition: transform .2s ease;
}
.multi-select__btn[aria-expanded="true"]::after{
  transform: translateY(-25%) rotate(-135deg);
}
.multi-select__btn[aria-expanded="true"]{
  border-color:var(--c-purple);
  background:#fff;
  box-shadow: 0 0 0 4px rgba(122,92,250,.12);
}
.multi-select__label[data-empty="true"]{color:#9F9BBE}
.multi-select__menu{
  position:absolute;
  left:0; right:0; top:calc(100% + 6px);
  background:#fff;
  border:1.5px solid rgba(122,92,250,.22);
  border-radius:16px;
  padding:6px;
  box-shadow: 0 20px 40px -16px rgba(91,64,192,.4), 0 6px 14px -6px rgba(60,40,140,.18);
  z-index:20;
  display:flex; flex-direction:column; gap:2px;
}
.multi-opt{
  display:flex; align-items:center; gap:12px;
  padding:11px 12px;
  border-radius:12px;
  cursor:pointer;
  transition: background .15s;
  font-size:15px;
}
.multi-opt:hover{background:#F4EEFF}
.multi-opt input{position:absolute;opacity:0;pointer-events:none}
.multi-opt__box{
  width:20px;height:20px;flex-shrink:0;
  border:1.5px solid rgba(122,92,250,.4);
  border-radius:6px;
  background:#fff;
  display:grid; place-items:center;
  transition: background .15s, border-color .15s;
  position:relative;
}
.multi-opt__box::after{
  content:"";
  width:10px;height:6px;
  border-left:2px solid #fff;
  border-bottom:2px solid #fff;
  transform: rotate(-45deg) translate(1px,-1px) scale(0);
  transition: transform .15s ease;
}
.multi-opt:has(input:checked) .multi-opt__box{
  background:var(--c-purple);
  border-color:var(--c-purple);
}
.multi-opt:has(input:checked) .multi-opt__box::after{
  transform: rotate(-45deg) translate(1px,-1px) scale(1);
}
.multi-opt:has(input:checked){background:#F7F2FF}

/* consent checkbox */
.consent{
  display:flex; align-items:flex-start; gap:12px;
  padding:4px 4px 4px 2px;
  font-size:14px; line-height:1.45;
  color:var(--c-ink-soft);
  cursor:pointer;
  margin-top:4px;
}
.consent input{position:absolute;opacity:0;pointer-events:none}
.consent__box{
  width:22px;height:22px;flex-shrink:0;
  margin-top:1px;
  border:1.5px solid rgba(122,92,250,.45);
  border-radius:7px;
  background:#fff;
  display:grid; place-items:center;
  transition: background .15s, border-color .15s;
  position:relative;
}
.consent__box::after{
  content:"";
  width:11px;height:6px;
  border-left:2px solid #fff;
  border-bottom:2px solid #fff;
  transform: rotate(-45deg) translate(1px,-1px) scale(0);
  transition: transform .15s ease;
}
.consent:has(input:checked) .consent__box{
  background:var(--c-purple);
  border-color:var(--c-purple);
}
.consent:has(input:checked) .consent__box::after{
  transform: rotate(-45deg) translate(1px,-1px) scale(1);
}
.consent__txt{flex:1}
.consent__link{
  color:var(--c-purple-deep);
  font-weight:700;
  border-bottom:1.5px solid currentColor;
}
.consent__link:hover{color:var(--c-purple)}

.form-foot{
  font-size:13px; color:var(--c-ink-soft);
  margin:6px 4px 0;
  text-align:center;
}

/* ---------- SERVICES ---------- */
.services-wrap{
  display:flex; flex-direction:column; gap:16px;
}
.services-head{padding:8px 6px 6px;text-align:center}
.services-head .eyebrow{justify-content:center}

.svc-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap:14px;
}
@media (min-width: 640px){
  .svc-grid{grid-template-columns:1fr 1fr}
}

.svc-card{
  position:relative;
  background:linear-gradient(180deg, #FFFFFF 0%, #FBF6EE 100%);
  border:1px solid #FFFFFFE6;
  border-radius:var(--r-card-sm);
  padding:24px 22px 22px;
  box-shadow:var(--c-shadow);
  overflow:hidden;
  min-height:200px;
  display:flex; flex-direction:column;
}
.svc-card h3{
  font-family:"Made Tommy"; font-weight:500;
  font-size: 26px; line-height:1.05;
  letter-spacing:-.015em;
  color:var(--c-ink);
  margin:14px 0 8px;
}
.svc-card p{
  font-size:15px; line-height:1.5;
  color:var(--c-ink-soft);
  margin:0;
}
.svc-num{
  font-family:"Caveat"; font-weight:600;
  font-size:28px;
  color:var(--c-purple);
  opacity:.65;
  line-height:1;
}
.svc-card--accent{
  background:linear-gradient(160deg, #EEE4FF 0%, #FAEFFF 100%);
  border-color: rgba(122,92,250,.22);
}
.svc-card--accent .svc-num{color:var(--c-purple-deep);opacity:.85}
.svc-card--dark{
  background:linear-gradient(160deg, #EEE4FF 0%, #FAEFFF 100%);
  border-color: rgba(122,92,250,.22);
}
.svc-card--dark .svc-num{color:var(--c-purple-deep);opacity:.85}

/* tiny decorative star in service cards */
.svc-card::after{
  content:"";
  position:absolute; top:14px; right:18px;
  width:14px;height:14px;
  background:
    conic-gradient(from 0deg, transparent 0 40deg, var(--c-yellow) 40deg 50deg, transparent 50deg 130deg, var(--c-yellow) 130deg 140deg, transparent 140deg 220deg, var(--c-yellow) 220deg 230deg, transparent 230deg 310deg, var(--c-yellow) 310deg 320deg, transparent 320deg);
  opacity:.55;
  clip-path: polygon(50% 0%, 55% 45%, 100% 50%, 55% 55%, 50% 100%, 45% 55%, 0% 50%, 45% 45%);
  background: var(--c-yellow);
}
.svc-card--accent::after{background:var(--c-purple)}
.svc-card--dark::after{background:var(--c-yellow);opacity:.9}

/* ---------- NORTE DAY ---------- */
.card--day{
  background:
    radial-gradient(120% 80% at 100% 0%, #4B2D88 0%, transparent 55%),
    radial-gradient(120% 80% at 0% 100%, #5C42D6 0%, transparent 60%),
    linear-gradient(180deg, #2A1A6D 0%, #1B1240 100%);
  color:#fff;
  border:1px solid rgba(255,255,255,.08);
}
.card--day .eyebrow,
.card--club .eyebrow{color:#fff}

.day-photo{
  position:relative;
  margin:18px 0 22px;
  border-radius:22px;
  overflow:hidden;
  background:#0D0830;
  box-shadow: 0 30px 60px -20px rgba(0,0,0,.5);
}
.day-photo img{
  width:100%; height:auto; display:block;
  transition: transform .8s ease;
}
.day-photo::after{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 60%, rgba(20,12,60,.5) 100%);
  pointer-events:none;
}

.day-pills{
  list-style:none; padding:0; margin:18px 0;
  display:flex; flex-wrap:wrap; gap:8px;
}
.day-pills li{
  padding:10px 18px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);
  border-radius:var(--r-pill);
  font-size:16px; font-weight:500;
  color:#fff;
}
.day-pills li em{
  font-family:"Caveat"; font-style:normal; font-weight:700;
  color:var(--c-yellow);
  font-size:1.25em;
  margin-left:4px;
  display:inline-block;
  transform:translateY(.05em);
}

/* ---------- NORTE CLUB ---------- */
.card--club{
  background:
    radial-gradient(100% 70% at 0% 0%, #38226D 0%, transparent 55%),
    radial-gradient(120% 80% at 100% 100%, #6B3FB6 0%, transparent 60%),
    linear-gradient(180deg, #1F1245 0%, #2E1A6B 100%);
  color:#fff;
  border:1px solid rgba(255,255,255,.08);
}
.club-photo{
  position:relative;
  margin:18px 0 22px;
  border-radius:22px;
  overflow:hidden;
  background:#0D0830;
  box-shadow: 0 30px 60px -20px rgba(0,0,0,.5);
}
.club-photo img{
  width:100%; height:auto; display:block;
}
.club-photo::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 60%, rgba(20,12,60,.4) 100%);
  pointer-events:none;
}

.club-pills{
  list-style:none; padding:0; margin:18px 0 8px;
  display:flex; flex-direction:column; gap:8px;
  color:rgba(255,255,255,.85);
}
.club-pills li{
  padding:14px 18px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  font-size:17px;
}
.club-pills li span{
  color:var(--c-yellow);
  font-weight:600;
}
.club-tag{
  font-family:"Made Tommy"; font-weight:500;
  font-size:22px; line-height:1.2;
  color:#fff;
  margin:14px 0 18px;
}
.club-tag em{
  font-family:"Caveat"; font-style:normal; font-weight:700;
  color:var(--c-yellow); font-size:1.25em;
  display:inline-block; transform:translateY(.05em) rotate(-2deg);
}

/* ---------- NEWSLETTER ---------- */
.card--news{
  background:linear-gradient(180deg, #EEE4FF 0%, #F8EFFF 100%);
  border:1px solid #FFFFFFCC;
  position:relative;
}
.news-clouds{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.news-clouds .cloud{
  position:absolute;
  background:#FFFFFF;
  border-radius:50%;
  opacity:.7;
  filter:blur(2px);
}
.news-clouds .c1{width:80px;height:32px;left:-10px;top:18px;border-radius:60px}
.news-clouds .c2{width:120px;height:46px;right:10px;top:60px;border-radius:80px;opacity:.5}
.news-clouds .c3{width:60px;height:24px;left:40%;top:-8px;border-radius:60px;opacity:.6}

.news-form{
  display:flex; gap:10px; margin-top:14px;
  background:#FFFFFF;
  padding:8px;
  border-radius:var(--r-pill);
  border:1px solid rgba(122,92,250,.18);
  box-shadow:var(--c-shadow);
}
.news-form input{
  flex:1; min-width:0;
  border:0; background:transparent;
  padding:10px 18px;
  font:inherit; color:var(--c-ink);
  outline:none;
}
.news-form input::placeholder{color:#9F9BBE}
.news-form button{flex-shrink:0}

/* ---------- CONTACT ---------- */
.contact-grid{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.contact-row{
  display:flex; align-items:center; gap:14px;
  padding:16px 18px;
  background:#FFFFFF;
  border:1px solid rgba(122,92,250,.14);
  border-radius:20px;
  transition: transform .15s ease, border-color .15s;
}
.contact-row:hover{transform:translateY(-1px);border-color:rgba(122,92,250,.35)}
.contact-row--static{cursor:default}
.contact-row--static:hover{transform:none}
.contact-ico{
  width:42px;height:42px; flex-shrink:0;
  background:#F2ECFB;
  border-radius:14px;
  display:grid; place-items:center;
  color:var(--c-purple-deep);
}
.contact-row > div{flex:1;min-width:0}
.contact-lbl{
  margin:0; font-size:12px;
  text-transform:uppercase; letter-spacing:.12em;
  color:var(--c-ink-soft);
  font-weight:600;
}
.contact-val{
  margin:2px 0 0;
  font-size:16px; line-height:1.35;
  color:var(--c-ink);
  font-weight:500;
  word-break:break-word;
}
.contact-go{color:var(--c-purple);flex-shrink:0;opacity:.6}
.contact-row:hover .contact-go{opacity:1}

.map-card{
  display:flex; flex-direction:column;
  margin-top:14px;
  background:#fff;
  border:1px solid rgba(122,92,250,.14);
  border-radius:22px;
  overflow:hidden;
  transition: transform .15s ease;
}
.map-card:hover{transform:translateY(-1px)}
.map-faux{position:relative;height:160px;background:#F4EEFF}
.map-faux svg{width:100%;height:100%;display:block}
.map-pin{
  position:absolute; left:62%; top:48%;
  transform:translate(-50%,-50%);
}
.pin-dot{
  position:relative; z-index:2;
  display:block; width:18px;height:18px;
  background:var(--c-purple);
  border:3px solid #fff;
  border-radius:50%;
  box-shadow: 0 6px 14px -2px rgba(122,92,250,.6);
}
.pin-ring{
  position:absolute; left:50%; top:50%;
  width:48px;height:48px;
  margin:-24px 0 0 -24px;
  border-radius:50%;
  background:rgba(122,92,250,.18);
  animation: ping 2.2s ease-out infinite;
}
@keyframes ping{
  0%{transform:scale(.4);opacity:.9}
  100%{transform:scale(1.4);opacity:0}
}
.map-meta{padding:18px 20px}
.map-open{
  display:inline-flex; align-items:center; gap:6px;
  margin-top:10px;
  font-size:13px; font-weight:600;
  color:var(--c-purple-deep);
  letter-spacing:.02em;
}

/* ---------- FOOTER ---------- */
.site-foot{
  margin-top:20px;
  padding:40px 24px 30px;
  text-align:center;
  border-top:1px dashed rgba(122,92,250,.25);
}
.foot-mark{height:64px;width:auto;margin:0 auto 18px}
@media (min-width: 900px){
  .foot-mark{height:80px;margin-bottom:22px}
}
.foot-tag{
  font-family:"Made Tommy"; font-weight:500;
  font-size:18px; color:var(--c-ink);
  margin:0 0 20px;
}
.foot-links{
  list-style:none; padding:0; margin:0 0 22px;
  display:flex; flex-wrap:wrap; gap:6px 14px;
  justify-content:center;
  font-size:14px; color:var(--c-ink-soft);
}
.foot-links a:hover{color:var(--c-purple-deep)}
.foot-fine{font-size:12px;color:var(--c-ink-soft);opacity:.7;margin:0}

/* ---------- Reveal-on-scroll ---------- */
[data-reveal]{
  opacity:0;
  transform: translateY(28px);
  transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1);
}
[data-reveal].is-in{
  opacity:1;
  transform: translateY(0);
}

/* svc-card stagger */
.svc-grid .svc-card{transition-delay:0ms}

/* reduce motion */
@media (prefers-reduced-motion: reduce){
  .hero-mark, .hero-mark-shadow, .pin-ring{animation:none !important}
  [data-reveal]{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}

/* ---------- Desktop layout ---------- */
@media (min-width: 900px){
  :root{ --gutter: 32px; }
  .page{
    max-width: var(--maxw-wide);
    padding-top: 28px;
    padding-bottom: 80px;
    gap: 28px;
  }
  .hero{min-height: 92vh; padding-bottom: 80px}
  .hero-inner{margin-top: 64px; gap: 36px}
  .hero-headline{font-size: clamp(56px, 7vw, 96px)}
  .hero-mark-stage{width: min(380px, 36vw)}
  .hero-nav-list{
    flex-direction:row; justify-content:center; gap:18px;
    font-size:22px;
  }
  .hero-backdrop-mark{width: min(100%, 1400px); bottom:0}

  .card{padding: 56px 56px}
  .card--day, .card--club{padding: 56px 56px}
  .section-h2{font-size: clamp(40px, 4.4vw, 56px)}
  .section-lead{font-size:18px;max-width:60ch}

  .svc-grid{grid-template-columns: repeat(4, 1fr)}
  .svc-card{min-height: 240px; padding: 28px 24px}
  .svc-card h3{font-size: 28px}

  /* form: wider */
  .lead-form{max-width: 720px; margin-left:auto; margin-right:auto}
  .field-row{grid-template-columns: 1fr 1fr}

  /* contact: 2-up */
  .contact-grid{display:grid;grid-template-columns: 1fr 1fr; gap:14px}
  .map-card{flex-direction:row; align-items:stretch}
  .map-faux{height:auto; flex: 1 1 60%}
  .map-meta{flex: 1 1 40%; padding: 32px}

  .day-photo, .club-photo{aspect-ratio:auto}
  .day-photo img, .club-photo img{width:100%;height:auto}

  /* center cream/white cards a bit narrower for readability */
  #sobre, #form, #news, #contato{max-width: 920px; margin-left:auto; margin-right:auto; width:100%}
}

@media (min-width: 1200px){
  .hero-headline{font-size:104px}
}

/* ---------- BLOG ---------- */
.blog-topnav{display:flex;align-items:center;gap:6px;font-family:"Made Tommy";font-weight:500;font-size:15px}
.blog-topnav a{padding:8px 14px;border-radius:var(--r-pill);color:var(--c-ink);transition:background .2s,color .2s}
.blog-topnav a:hover{background:#F2ECFB;color:var(--c-purple-deep)}
.blog-topnav a.is-active{background:var(--c-purple);color:#fff}

.blog-hero{text-align:center;padding:40px 26px}
.blog-hero .section-h2{margin-left:auto;margin-right:auto}

.blog-search{
  position:relative;
  margin:22px auto 18px;
  max-width:520px;
}
.blog-search input{
  width:100%;
  padding:16px 18px 16px 48px;
  background:#FFFFFF;
  color:var(--c-ink);
  border:1.5px solid rgba(122,92,250,.18);
  border-radius:var(--r-pill);
  font:inherit;
  font-size:15px;
  outline:none;
  box-shadow:0 8px 22px -14px rgba(91,64,192,.35);
  transition:border-color .15s, box-shadow .15s;
}
.blog-search input:focus{
  border-color:var(--c-purple);
  box-shadow:0 0 0 4px rgba(122,92,250,.14), 0 8px 22px -14px rgba(91,64,192,.35);
}
.blog-search__icon{
  position:absolute;left:18px;top:50%;transform:translateY(-50%);
  color:var(--c-purple-deep);display:flex;
}

.blog-filters{
  display:flex;flex-wrap:wrap;justify-content:center;gap:8px;
  margin-top:8px;
}
.blog-pill{
  padding:8px 16px;
  background:#FFFFFFCC;
  border:1px solid var(--c-card-edge);
  border-radius:var(--r-pill);
  font-family:"Made Tommy";font-weight:600;font-size:13px;
  color:var(--c-ink);
  letter-spacing:.01em;
  transition:background .2s,color .2s,border-color .2s,transform .15s;
}
.blog-pill:hover{transform:translateY(-1px);border-color:var(--c-purple)}
.blog-pill.is-active{
  background:var(--c-purple);color:#fff;border-color:var(--c-purple);
  box-shadow:0 10px 22px -12px rgba(122,92,250,.6);
}

.blog-grid{
  display:grid;grid-template-columns:1fr;gap:18px;
}
.blog-card{
  display:flex;flex-direction:column;gap:12px;
  padding:26px 24px;
  transition:transform .2s ease, box-shadow .2s ease;
  cursor:pointer;
}
.blog-card:hover{transform:translateY(-3px);box-shadow:var(--c-shadow-lg)}
.blog-card__tag{
  align-self:flex-start;
  padding:5px 12px;
  background:rgba(122,92,250,.12);
  color:var(--c-purple-deep);
  border-radius:var(--r-pill);
  font-family:"Made Tommy";font-weight:700;font-size:11px;
  letter-spacing:.1em;text-transform:uppercase;
}
.blog-card__title{
  font-family:"Made Tommy";font-weight:600;
  font-size:22px;line-height:1.15;letter-spacing:-.015em;
  color:var(--c-ink);margin:0;
  text-wrap:balance;
}
.blog-card__excerpt{
  font-size:15px;line-height:1.5;color:var(--c-ink-soft);margin:0;
}
.blog-card__meta{
  display:flex;align-items:center;gap:8px;
  font-size:13px;color:var(--c-ink-soft);
}
.blog-card__cta{
  display:inline-flex;align-items:center;gap:8px;
  margin-top:4px;
  font-family:"Made Tommy";font-weight:700;font-size:14px;
  color:var(--c-purple-deep);
}

.blog-empty{padding:40px 26px;text-align:center}

/* Article */
.blog-article{padding:36px 26px}
.blog-back{
  display:inline-flex;align-items:center;gap:6px;
  font-family:"Made Tommy";font-weight:600;font-size:13px;
  color:var(--c-purple-deep);
  margin-bottom:18px;
  transition:color .2s, transform .15s;
}
.blog-back:hover{color:var(--c-purple);transform:translateX(-2px)}
.blog-article__title{
  font-family:"Made Tommy";font-weight:600;
  font-size:clamp(30px,7.5vw,42px);line-height:1.05;letter-spacing:-.02em;
  color:var(--c-ink);margin:6px 0 10px;text-wrap:balance;
}
.blog-article__subtitle{
  font-size:17px;line-height:1.5;color:var(--c-ink-soft);
  font-style:italic;margin:0 0 18px;
}
.blog-article__meta{
  display:flex;flex-wrap:wrap;gap:8px;
  font-size:13px;color:var(--c-ink-soft);
  padding-bottom:20px;border-bottom:1px solid var(--c-card-edge);
  margin-bottom:24px;
}
.blog-article__body{
  font-size:16.5px;line-height:1.7;color:var(--c-ink);
}
.blog-article__body p{margin:0 0 16px;text-wrap:pretty}
.blog-article__body p.lead{font-size:18px;color:var(--c-ink);font-weight:500}
.blog-article__body h2{
  font-family:"Made Tommy";font-weight:600;
  font-size:26px;line-height:1.15;letter-spacing:-.015em;
  margin:32px 0 12px;color:var(--c-ink);
}
.blog-article__body h3{
  font-family:"Made Tommy";font-weight:600;
  font-size:19px;line-height:1.25;
  margin:24px 0 8px;color:var(--c-purple-deep);
}
.blog-article__body ul{padding-left:22px;margin:0 0 18px}
.blog-article__body li{margin-bottom:6px}
.blog-article__body strong{color:var(--c-ink);font-weight:700}
.blog-article__body blockquote{
  margin:24px 0;
  padding:18px 22px;
  background:#FFFFFFAA;
  border-left:3px solid var(--c-purple);
  border-radius:14px;
  font-family:"Made Tommy";font-weight:500;font-size:18px;
  color:var(--c-ink);
  text-align:center;
}
.blog-article__body blockquote em{
  font-family:"Caveat";font-style:normal;font-weight:700;
  color:var(--c-purple);font-size:1.25em;line-height:.9;
  display:inline-block;transform:translateY(.05em) rotate(-2deg);
}
.blog-article__tags{
  list-style:none;padding:0;margin:24px 0 0;
  display:flex;flex-wrap:wrap;gap:8px;
}
.blog-article__tags li{
  padding:5px 12px;
  background:#FFFFFFCC;
  border:1px solid var(--c-card-edge);
  border-radius:var(--r-pill);
  font-size:12px;color:var(--c-ink-soft);font-weight:500;
}
.blog-article__cta{
  margin-top:32px;padding:26px;
  background:linear-gradient(135deg, rgba(122,92,250,.08), rgba(251,196,74,.12));
  border-radius:var(--r-card-sm);
  text-align:center;
}
.blog-article__cta h3{
  font-family:"Made Tommy";font-weight:600;font-size:20px;
  margin:0 0 6px;color:var(--c-ink);
}
.blog-article__cta p{margin:0 0 16px;color:var(--c-ink-soft);font-size:15px}

@media (min-width: 720px){
  .blog-grid{grid-template-columns:1fr 1fr}
  .blog-article{padding:48px 44px}
  .blog-hero{padding:56px 36px}
}
@media (min-width: 1024px){
  .blog-grid{grid-template-columns:repeat(3, 1fr)}
}
