:root{
  --bg:#F3E5E5;
  --paper:#FFFDFD;
  --text:#3A2A33;
  --title:#24161F;
  --primary:#7C3E58;
  --primary-2:#8E4F6A;
  --secondary:#D8BEC8;
  --soft:#F8EEF1;
  --line:rgba(124,62,88,.14);
  --shadow:0 22px 60px rgba(74,43,56,.10);
}

*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{
  font-family:"DM Sans",system-ui,sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 0 0,rgba(255,255,255,.85),transparent 34%),
    radial-gradient(circle at 100% 10%,rgba(216,190,200,.45),transparent 30%),
    var(--bg);
}
a{color:inherit}
svg{
  width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;
}

/* DESKTOP / TABLET */
.bio-card{
  width:min(760px,calc(100vw - 32px));
  margin:14px auto;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.84);
  border-radius:28px;
  background:var(--paper);
  box-shadow:var(--shadow);
}

.hero{
  position:relative;
  padding:24px 30px 18px;
  overflow:hidden;
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(248,238,241,.92));
}
.hero::after{
  content:"";position:absolute;width:210px;height:210px;right:-82px;top:-100px;
  border:1px solid rgba(124,62,88,.10);border-radius:50%;
}
.brandline{
  position:relative;z-index:5;display:flex;align-items:center;gap:9px;margin-bottom:12px;
}
.brand-symbol{
  width:25px;height:25px;padding:5px;border:1px solid rgba(124,62,88,.23);
  border-radius:50%;color:var(--primary);
}
.brand-name{
  font-size:10.5px;font-weight:700;letter-spacing:.31em;color:var(--title);
}
.hero-grid{
  position:relative;z-index:2;display:grid;grid-template-columns:.88fr 1.12fr;
  gap:22px;align-items:center;
}
.eyebrow{
  margin:0 0 6px;font-size:10px;line-height:1.2;font-weight:700;
  letter-spacing:.09em;color:var(--primary);
}
h1{
  margin:0;font-size:60px;line-height:.86;letter-spacing:-.06em;
  font-weight:700;color:var(--title);
}
.hero-subtitle{
  max-width:255px;margin:11px 0 0;font-size:14px;line-height:1.38;color:#594750;
}
.script-line{
  margin:10px 0 0;font-family:"Caveat",cursive;font-size:24px;line-height:1;
  color:var(--primary-2);transform:rotate(-2deg);transform-origin:left center;
}
.portrait-area{
  position:relative;min-height:246px;display:grid;place-items:center;
}
.shape{position:absolute;pointer-events:none}
.shape-a{
  width:72%;aspect-ratio:.83;top:2px;right:6%;border-radius:38% 42% 30% 45%;
  background:rgba(216,190,200,.44);transform:rotate(4deg);
}
.shape-b{
  width:59%;aspect-ratio:.86;top:21px;right:18%;border-radius:45% 28% 42% 32%;
  border:1px solid rgba(124,62,88,.06);background:rgba(243,229,229,.84);
  transform:rotate(-7deg);
}
.portrait-card{
  position:relative;z-index:2;width:79%;height:236px;overflow:hidden;border-radius:22px;
  background:linear-gradient(145deg,#f4e4e9,#e8d2db);
  box-shadow:0 14px 28px rgba(66,40,51,.09);
}
.portrait-img{
  width:100%;height:100%;display:block;object-fit:contain;object-position:center bottom;
}
.leaf-chip{
  position:absolute;z-index:4;right:3%;top:42%;width:39px;height:39px;padding:9px;
  display:grid;place-items:center;border:1px solid rgba(124,62,88,.12);border-radius:50%;
  background:rgba(255,250,251,.96);color:var(--primary);
  box-shadow:0 8px 18px rgba(78,43,59,.08);
}
.seal{
  position:absolute;z-index:4;right:2%;bottom:1px;width:86px;min-height:60px;padding:8px 7px;
  display:grid;place-items:center;text-align:center;border:1px solid rgba(124,62,88,.12);
  border-radius:15px;background:rgba(255,251,252,.97);color:var(--primary);
  box-shadow:0 8px 20px rgba(73,40,54,.07);
}
.seal span,.seal strong{
  display:block;font-size:6.6px;line-height:1.22;letter-spacing:.08em;
}

.steps{padding:18px 30px 9px;background:#fff}
.steps-header{margin:0 auto 11px;text-align:center}
.steps-header h2{
  margin:0;font-size:26px;line-height:1.06;font-weight:700;color:var(--title);
}
.steps-header p{
  max-width:520px;margin:4px auto 0;font-size:10.5px;line-height:1.32;color:#796570;
}
.cards{display:grid;gap:7px}
.step-card{
  display:grid;grid-template-columns:44px 1fr 18px;gap:11px;align-items:center;
  min-height:60px;padding:9px 12px;text-decoration:none;border:1px solid var(--line);
  border-radius:14px;background:#fff;
}
.step-primary{
  color:#fff;border-color:transparent;background:linear-gradient(135deg,#874660,var(--primary));
}
.step-icon{
  width:44px;height:44px;padding:10px;display:grid;place-items:center;border-radius:50%;
  background:var(--soft);color:var(--primary);
}
.step-primary .step-icon{background:rgba(255,255,255,.15);color:#fff}
.step-copy{min-width:0}
.step-copy strong{
  display:block;font-size:14px;line-height:1.12;font-weight:700;color:var(--title);
}
.step-primary .step-copy strong{color:#fff}
.step-copy small{
  display:block;margin-top:3px;font-size:10.2px;line-height:1.25;color:#725d68;
}
.step-primary .step-copy small{color:rgba(255,255,255,.84)}
.step-topline{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.badge{
  display:inline-flex;width:max-content;padding:2px 6px;border-radius:999px;
  background:rgba(255,255,255,.17);font-size:6px;font-weight:700;letter-spacing:.09em;color:#fff;
}
.step-arrow{font-size:17px;line-height:1;color:var(--primary-2)}
.step-primary .step-arrow{color:#fff}
.new-here{
  display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center;
  min-height:56px;padding:8px 12px;border:1px solid rgba(124,62,88,.08);
  border-radius:14px;background:linear-gradient(135deg,rgba(243,229,229,.97),rgba(216,190,200,.35));
}
.new-icon{
  width:42px;height:42px;padding:9px;display:grid;place-items:center;border-radius:50%;
  background:#fff;color:var(--primary);
}
.new-copy strong{display:block;font-size:13.5px;line-height:1.12;color:var(--title)}
.new-copy small{
  display:block;margin-top:3px;font-size:10px;line-height:1.25;color:#705b65;
}

.bottom{
  display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;
  padding:8px 30px 14px;background:#fff;
}
.social{display:flex;align-items:center;gap:11px}
.social p{margin:0;white-space:nowrap;font-size:9.5px;color:#816d77}
.social-row{display:flex;gap:7px}
.social-row a{
  width:34px;height:34px;padding:8px;display:grid;place-items:center;text-decoration:none;
  border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--primary);
}
footer{min-width:190px;text-align:right}
footer strong{
  display:block;font-size:13px;line-height:1;letter-spacing:.15em;color:var(--title);
}
footer span{
  display:block;margin-top:4px;font-size:6.2px;letter-spacing:.23em;color:var(--primary-2);
}
footer em{
  display:block;margin-top:5px;font-size:7.5px;font-style:normal;color:#765f6a;
}

/* MOBILE */
@media (max-width:640px){
  body{background:var(--paper)}
  .bio-card{
    width:100%;margin:0;border:0;border-radius:0;box-shadow:none;
    min-height:100dvh;
  }

  .hero{padding:18px 16px 13px}
  .brandline{margin-bottom:10px}
  .brand-symbol{width:23px;height:23px;padding:4px}
  .brand-name{font-size:10px}

  .hero-grid{
    grid-template-columns:.84fr 1.16fr;
    gap:8px;
  }
  .eyebrow{margin-bottom:5px;font-size:8.4px}
  h1{font-size:52px;line-height:.86}
  .hero-subtitle{
    max-width:185px;margin-top:9px;font-size:12.2px;line-height:1.32;
  }
  .script-line{margin-top:9px;font-size:21px;line-height:1}

  .portrait-area{min-height:210px}
  .portrait-card{width:86%;height:205px;border-radius:19px}
  .shape-a{width:74%;right:3%}
  .shape-b{width:61%;right:15%}
  .leaf-chip{right:0;width:34px;height:34px;padding:7px}
  .seal{right:0;width:74px;min-height:51px;padding:6px 5px}
  .seal span,.seal strong{font-size:5.7px}

  .steps{padding:13px 14px 7px}
  .steps-header{margin-bottom:8px}
  .steps-header h2{font-size:25px}
  .steps-header p{
    max-width:350px;margin-top:3px;font-size:10px;line-height:1.25;
  }

  .cards{gap:6px}
  .step-card{
    grid-template-columns:40px 1fr 16px;
    gap:9px;
    min-height:56px;
    padding:7px 10px;
    border-radius:13px;
  }
  .step-icon{width:40px;height:40px;padding:9px}
  .step-copy strong{font-size:13.5px}
  .step-copy small{
    margin-top:2px;font-size:10px;line-height:1.2;
  }
  .badge{padding:2px 5px;font-size:5.3px}
  .step-arrow{font-size:15px}

  .new-here{
    grid-template-columns:39px 1fr;
    gap:9px;
    min-height:54px;
    padding:6px 10px;
    border-radius:13px;
  }
  .new-icon{width:39px;height:39px;padding:9px}
  .new-copy strong{font-size:13px}
  .new-copy small{margin-top:2px;font-size:9.8px;line-height:1.2}

  .bottom{
    grid-template-columns:1fr;
    gap:6px;
    padding:8px 14px 12px;
  }
  .social{
    justify-content:center;
    flex-direction:column;
    gap:5px;
  }
  .social p{font-size:9px}
  .social-row{gap:7px}
  .social-row a{
    width:36px;height:36px;padding:8px;border-radius:10px;
  }
  footer{
    min-width:0;
    text-align:center;
  }
  footer strong{font-size:13.5px}
  footer span{margin-top:3px;font-size:6.2px}
  footer em{margin-top:4px;font-size:7.5px}
}

/* Pequenos ajustes para telas baixas, sem encolher a tipografia principal */
@media (max-width:640px) and (max-height:760px){
  .hero{padding-top:12px;padding-bottom:9px}
  .brandline{margin-bottom:6px}
  .portrait-area{min-height:195px}
  .portrait-card{height:190px}
  .steps{padding-top:9px}
  .bottom{padding-top:5px;padding-bottom:8px}
}

@media (prefers-reduced-motion:reduce){
  *{transition:none!important}
}
