:root{
  --wine:#48171F;
  --wine-2:#5A2029;
  --wine-3:#331016;
  --rose:#E7A79F;
  --rose-light:#F4CBC5;
  --cream:#FAF5F2;
  --paper:#FFFDFC;
  --text:#3A2024;
  --muted:#7D666A;
  --line:rgba(72,23,31,.14);
  --shadow:0 24px 70px rgba(72,23,31,.14);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"DM Sans",sans-serif;
  color:var(--text);
  background:var(--paper);
  line-height:1.65;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(1160px,calc(100% - 40px));margin-inline:auto}

.header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,253,252,.88);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(72,23,31,.08);
}
.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:12px}
.monogram{
  width:46px;height:46px;border-radius:50%;
  display:grid;place-items:center;
  color:var(--cream);background:var(--wine);
  font-family:"Playfair Display",serif;font-size:18px;
}
.brand-text{display:flex;flex-direction:column;line-height:1.15}
.brand-text strong{font-family:"Playfair Display",serif;font-size:17px;font-weight:600;letter-spacing:.02em}
.brand-text small{margin-top:4px;color:var(--muted);font-size:11px;letter-spacing:.08em}
.nav-links{display:flex;align-items:center;gap:27px;font-size:14px}
.nav-links>a:not(.btn){color:#64494e;transition:.2s}
.nav-links>a:not(.btn):hover{color:var(--wine)}
.menu-btn{display:none;border:0;background:none;font-size:26px;color:var(--wine)}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:52px;padding:0 24px;border-radius:999px;
  background:var(--wine);color:white;font-weight:600;font-size:14px;
  box-shadow:0 12px 30px rgba(72,23,31,.18);
  transition:transform .2s ease,background .2s ease,box-shadow .2s ease;
}
.btn:hover{transform:translateY(-2px);background:var(--wine-2);box-shadow:0 18px 35px rgba(72,23,31,.23)}
.btn-small{min-height:42px;padding:0 18px}
.btn-ghost{background:transparent;color:var(--wine);border:1px solid rgba(72,23,31,.25);box-shadow:none}
.btn-ghost:hover{background:rgba(72,23,31,.06);box-shadow:none}
.btn-light{background:var(--cream);color:var(--wine)}
.btn-light:hover{background:white}

.hero{
  min-height:760px;position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 80% 14%,rgba(231,167,159,.16),transparent 28%),
    linear-gradient(135deg,var(--wine-3),var(--wine) 55%,#5e252e);
  color:white;
}
.hero:after{
  content:"";position:absolute;inset:auto 0 0;height:120px;
  background:linear-gradient(to bottom,transparent,rgba(20,0,5,.16));
}
.hero-grid{
  min-height:760px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;
  gap:70px;padding-top:60px;padding-bottom:70px;position:relative;z-index:2;
}
.eyebrow{
  display:inline-block;font-size:12px;letter-spacing:.22em;font-weight:600;color:var(--rose-light);
  margin-bottom:18px
}
.eyebrow.dark{color:#9D6468}
.hero h1,.section-heading h2,.cta h2{
  font-family:"Playfair Display",serif;font-weight:500;line-height:1.05;margin:0;
}
.hero h1{font-size:clamp(52px,6vw,82px);max-width:780px;letter-spacing:-.025em}
.hero h1 em{color:var(--rose-light);font-weight:500}
.hero-copy>p{max-width:630px;color:#eadcdf;font-size:18px;margin:26px 0 32px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.hero .btn{background:var(--rose-light);color:var(--wine)}
.hero .btn:hover{background:#ffe3de}
.hero .btn-ghost{background:transparent;color:white;border-color:rgba(255,255,255,.3)}
.hero-note{margin-top:34px;color:#d7c3c7;font-size:13px;display:flex;align-items:center;gap:10px}
.hero-note span{width:28px;height:1px;background:var(--rose)}

.hero-card{position:relative;display:flex;justify-content:center}
.logo-frame{
  width:min(470px,90vw);aspect-ratio:1;border-radius:42% 42% 18% 18%;
  overflow:hidden;border:1px solid rgba(255,255,255,.16);
  box-shadow:0 35px 80px rgba(15,0,5,.28);
}
.logo-frame img{width:100%;height:100%;object-fit:cover}
.soft-card{
  position:absolute;right:-14px;bottom:-34px;width:300px;
  padding:23px 26px;border-radius:18px;background:rgba(250,245,242,.97);
  color:var(--wine);box-shadow:var(--shadow);display:flex;gap:12px;
}
.soft-card span{font-family:"Playfair Display",serif;font-size:44px;color:var(--rose);line-height:1}
.soft-card p{margin:3px 0 0;font-family:"Playfair Display",serif;font-size:19px;line-height:1.35}

.section{padding:110px 0}
.split{display:grid;grid-template-columns:.95fr 1.05fr;gap:100px}
.section-heading h2{font-size:clamp(38px,4.5vw,58px);color:var(--wine);max-width:760px}
.section-heading.centered{text-align:center;max-width:760px;margin:0 auto 48px}
.section-heading.centered h2{margin-inline:auto}
.section-heading.centered p{color:var(--muted);max-width:620px;margin:18px auto 0}
.about-text{font-size:17px;color:#624b50;padding-top:12px}
.about-text p{margin:0 0 20px}
.credential{display:inline-block;margin-top:14px;padding:10px 15px;border:1px solid var(--line);border-radius:999px;color:var(--wine);font-weight:600;font-size:13px}

.services{background:var(--cream)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.service-card{
  background:var(--paper);padding:34px;border-radius:22px;border:1px solid rgba(72,23,31,.08);
  min-height:300px;transition:.25s ease;
}
.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.service-card.featured{background:var(--wine);color:white}
.icon{font-family:"Playfair Display",serif;color:var(--rose);font-size:18px;margin-bottom:48px}
.service-card h3{font-family:"Playfair Display",serif;font-size:27px;margin:0 0 14px;font-weight:500}
.service-card p{margin:0;color:var(--muted)}
.service-card.featured p{color:#dfcdd0}

.quote-section{background:#F2DEDA;padding:85px 0}
.quote-wrap{text-align:center;max-width:850px}
.quote-mark{font-family:"Playfair Display",serif;color:var(--rose);font-size:74px;line-height:.5}
blockquote{font-family:"Playfair Display",serif;color:var(--wine);font-size:clamp(32px,4vw,51px);line-height:1.2;margin:20px auto 0}

.process{background:white}
.steps{margin-top:45px;border-top:1px solid var(--line)}
.step{
  display:grid;grid-template-columns:90px 1fr;gap:20px;padding:28px 4px;border-bottom:1px solid var(--line);
}
.step>span{
  width:46px;height:46px;border-radius:50%;display:grid;place-items:center;
  background:var(--cream);color:var(--wine);font-family:"Playfair Display",serif;
}
.step h3{margin:0 0 5px;font-family:"Playfair Display",serif;font-size:24px;color:var(--wine)}
.step p{margin:0;color:var(--muted)}

.faq{background:var(--cream)}
.faq-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}
details{border-bottom:1px solid var(--line);padding:20px 0}
summary{cursor:pointer;list-style:none;font-family:"Playfair Display",serif;font-size:21px;color:var(--wine);padding-right:32px;position:relative}
summary::-webkit-details-marker{display:none}
summary:after{content:"+";position:absolute;right:2px;top:0;font-family:"DM Sans";font-weight:400}
details[open] summary:after{content:"–"}
details p{color:var(--muted);margin:12px 35px 2px 0}

.cta{
  padding:105px 0;
  background:linear-gradient(135deg,var(--wine-3),var(--wine-2));
  color:white;text-align:center
}
.cta-inner{max-width:760px}
.cta h2{font-size:clamp(46px,6vw,70px)}
.cta p{color:#eadcdf;max-width:570px;margin:18px auto 28px}

.footer{background:#260c11;color:#d6c0c4;padding:34px 0}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:22px;font-size:13px}
.footer strong{font-family:"Playfair Display",serif;font-size:20px;color:white}
.footer p{margin:4px 0 0}
.footer a{color:var(--rose-light)}

.whatsapp-float{
  position:fixed;z-index:60;right:24px;bottom:24px;
  background:var(--rose-light);color:var(--wine);padding:13px 18px;border-radius:999px;
  display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;
  box-shadow:0 15px 35px rgba(72,23,31,.25);transition:.2s;
}
.whatsapp-float:hover{transform:translateY(-3px)}

.reveal{opacity:0;transform:translateY(22px);transition:.75s ease}
.reveal.visible{opacity:1;transform:none}

@media(max-width:900px){
  .menu-btn{display:block}
  .nav-links{
    display:none;position:absolute;top:82px;left:20px;right:20px;padding:20px;
    border-radius:16px;background:var(--paper);box-shadow:var(--shadow);
    flex-direction:column;align-items:stretch
  }
  .nav-links.open{display:flex}
  .hero-grid,.split,.faq-grid{grid-template-columns:1fr}
  .hero-grid{padding-top:85px;gap:60px}
  .hero{min-height:auto}
  .hero-card{padding-bottom:30px}
  .cards{grid-template-columns:1fr}
  .split,.faq-grid{gap:42px}
  .section{padding:82px 0}
}
@media(max-width:620px){
  .container{width:min(100% - 28px,1160px)}
  .brand-text small{display:none}
  .hero-grid{padding-top:62px;padding-bottom:65px}
  .hero h1{font-size:47px}
  .hero-copy>p{font-size:16px}
  .hero-actions{flex-direction:column}
  .hero-actions .btn{width:100%}
  .soft-card{position:relative;right:auto;bottom:auto;width:92%;margin:-18px auto 0}
  .section{padding:68px 0}
  .section-heading h2{font-size:39px}
  .service-card{min-height:auto}
  .step{grid-template-columns:58px 1fr}
  .footer-inner{flex-direction:column;align-items:flex-start}
  .whatsapp-float span:last-child{display:none}
  .whatsapp-float{width:52px;height:52px;padding:0;justify-content:center;font-size:20px}
}


/* Perfil com fotografia */
.about-profile{
  display:grid;
  grid-template-columns:minmax(320px,.85fr) minmax(380px,1.15fr);
  gap:86px;
  align-items:center;
}
.portrait-wrap{
  position:relative;
  max-width:480px;
  margin-inline:auto;
  padding:18px 18px 56px 0;
}
.portrait-accent{
  position:absolute;
  width:78%;
  height:86%;
  right:0;
  top:0;
  border-radius:160px 160px 32px 32px;
  background:linear-gradient(160deg,#eed0ca,#b87178);
  opacity:.58;
}
.portrait{
  position:relative;
  z-index:2;
  width:88%;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:center 16%;
  border-radius:160px 160px 26px 26px;
  box-shadow:0 28px 65px rgba(72,23,31,.18);
}
.portrait-badge{
  position:absolute;
  z-index:3;
  right:0;
  bottom:18px;
  width:min(300px,78%);
  background:rgba(255,253,252,.96);
  border:1px solid rgba(72,23,31,.10);
  box-shadow:0 18px 44px rgba(72,23,31,.14);
  border-radius:16px;
  padding:17px 20px;
  backdrop-filter:blur(10px);
}
.portrait-badge strong{
  display:block;
  font-family:"Playfair Display",serif;
  color:var(--wine);
  font-size:19px;
  font-weight:600;
}
.portrait-badge span{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:12px;
  letter-spacing:.04em;
}
.about-text h2{
  font-family:"Playfair Display",serif;
  color:var(--wine);
  font-size:clamp(38px,4.5vw,58px);
  line-height:1.08;
  font-weight:500;
  margin:0 0 25px;
}
.about-actions{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  margin-top:28px;
}

/* Página "Conheça meu trabalho" */
.profile-page{
  background:var(--cream);
}
.profile-header{
  background:linear-gradient(135deg,var(--wine-3),var(--wine) 58%,#642832);
  color:white;
}
.profile-header .nav{
  height:82px;
}
.back-link{
  color:#eadcdf;
  font-size:14px;
}
.back-link:hover{color:white}
.profile-hero{
  position:relative;
  overflow:hidden;
  padding:75px 0 95px;
}
.profile-hero:before{
  content:"";
  position:absolute;
  width:440px;height:440px;
  border-radius:50%;
  background:rgba(231,167,159,.12);
  top:-210px;right:-100px;
}
.profile-hero-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:80px;
  align-items:center;
}
.profile-photo-card{
  position:relative;
  max-width:460px;
}
.profile-photo-card:after{
  content:"";
  position:absolute;
  left:-22px;
  bottom:-22px;
  width:75%;
  height:75%;
  border:1px solid rgba(244,203,197,.40);
  border-radius:190px 190px 24px 24px;
  z-index:-1;
}
.profile-photo-card img{
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:center 15%;
  border-radius:190px 190px 28px 28px;
  box-shadow:0 35px 80px rgba(15,0,5,.30);
}
.profile-copy h1{
  margin:0;
  font-family:"Playfair Display",serif;
  font-weight:500;
  font-size:clamp(48px,6vw,78px);
  line-height:1.02;
}
.profile-copy h1 em{color:var(--rose-light);font-weight:500}
.profile-copy .lead{
  color:#eadcdf;
  font-size:18px;
  max-width:650px;
  margin:24px 0 26px;
}
.profile-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.profile-meta span{
  padding:9px 13px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  color:#f0dfe2;
  font-size:12px;
}
.bio-section{
  padding:90px 0;
}
.bio-intro{
  max-width:840px;
  margin:0 auto 55px;
  text-align:center;
}
.bio-intro h2{
  font-family:"Playfair Display",serif;
  font-size:clamp(38px,5vw,58px);
  line-height:1.1;
  color:var(--wine);
  font-weight:500;
  margin:0 0 18px;
}
.bio-intro p{color:var(--muted);margin:0}
.bio-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:20px;
}
.bio-card{
  background:var(--paper);
  border:1px solid rgba(72,23,31,.08);
  border-radius:22px;
  padding:32px;
  box-shadow:0 16px 45px rgba(72,23,31,.06);
}
.bio-card.wide{grid-column:1/-1}
.bio-card .number{
  font-family:"Playfair Display",serif;
  color:var(--rose);
  font-size:18px;
  margin-bottom:24px;
}
.bio-card h3{
  font-family:"Playfair Display",serif;
  color:var(--wine);
  font-size:27px;
  font-weight:500;
  margin:0 0 13px;
}
.bio-card p{color:var(--muted);margin:0 0 12px}
.bio-card p:last-child{margin-bottom:0}
.bio-card strong{color:var(--text)}
.interests{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}
.interests span{
  background:var(--cream);
  color:var(--wine);
  border:1px solid var(--line);
  padding:8px 12px;
  border-radius:999px;
  font-size:12px;
}
.profile-cta{
  margin-top:45px;
  padding:38px;
  border-radius:24px;
  color:white;
  background:linear-gradient(135deg,var(--wine-3),var(--wine-2));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.profile-cta h3{
  margin:0 0 7px;
  font-family:"Playfair Display",serif;
  font-size:30px;
  font-weight:500;
}
.profile-cta p{margin:0;color:#dfcdd0}

@media(max-width:900px){
  .about-profile,.profile-hero-grid{grid-template-columns:1fr}
  .about-profile{gap:42px}
  .portrait-wrap{max-width:430px}
  .profile-hero-grid{gap:50px}
  .profile-photo-card{max-width:430px;margin-inline:auto}
  .bio-grid{grid-template-columns:1fr}
  .bio-card.wide{grid-column:auto}
}
@media(max-width:620px){
  .portrait-wrap{padding-right:8px}
  .portrait{width:94%}
  .portrait-badge{right:0;width:86%}
  .profile-hero{padding:55px 0 75px}
  .profile-copy h1{font-size:46px}
  .bio-section{padding:68px 0}
  .profile-cta{padding:28px;flex-direction:column;align-items:flex-start}
}

/* Ajuste de contraste da página Conheça meu trabalho */
.profile-page .eyebrow { color:#D77F82; }
.profile-page .profile-copy .lead { color:#F3D8D7; }
.profile-page .profile-meta span {
  color:#F7E4E2;
  border-color:rgba(244,203,197,.38);
  background:rgba(244,203,197,.08);
}
.profile-page .profile-copy h1 em { color:#F0A6A3; }
.profile-page .back-link { color:#F2D4D2; }
.profile-page .back-link:hover { color:#FFFFFF; }

.instagram-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:42px;
  padding:0 18px;
  border-radius:999px;
  border:1px solid rgba(244,203,197,.42);
  color:#F6DEDC;
  font-weight:600;
  font-size:13px;
  transition:.2s ease;
}
.instagram-link:hover{
  background:var(--rose-light);
  color:var(--wine);
  transform:translateY(-2px);
}
.instagram-link.light{
  border-color:var(--line);
  color:var(--wine);
  background:rgba(255,255,255,.55);
}
.instagram-link.light:hover{background:var(--rose-light)}


/* Reforço de contraste do botão Conheça minha trajetória */
.about-actions .btn,
.hero-actions .btn-ghost[href="trabalho.html"]{
  color:#F08F94 !important;
  border-color:#F08F94 !important;
  font-weight:700;
}
.about-actions .btn:hover,
.hero-actions .btn-ghost[href="trabalho.html"]:hover{
  background:#F08F94 !important;
  color:#48171F !important;
  border-color:#F08F94 !important;
}


/* Contraste reforçado no texto principal da página de trajetória */
.profile-page .profile-copy .lead{
  color:#FFFFFF !important;
  opacity:1 !important;
  font-weight:500;
}
.profile-page .profile-meta span{
  color:#FFFFFF !important;
  opacity:1 !important;
  border-color:rgba(255,255,255,.50) !important;
  background:rgba(255,255,255,.10) !important;
  font-weight:600;
}


/* Rosa mais forte — apresentação da trajetória */
.profile-page .profile-copy .lead{
  color:#F2A3A6 !important;
  opacity:1 !important;
  font-weight:500;
}
.profile-page .profile-meta span{
  color:#F2A3A6 !important;
  opacity:1 !important;
  border-color:rgba(242,163,166,.65) !important;
  background:rgba(242,163,166,.10) !important;
  font-weight:600;
}


/* Crédito discreto do desenvolvedor */
.developer-credit{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:9px;
  padding-left:16px;
  border-left:1px solid rgba(244,203,197,.16);
  color:rgba(214,192,196,.48);
  font-size:10px;
  white-space:nowrap;
}
.developer-credit a{
  color:rgba(231,167,159,.55);
  transition:.2s ease;
}
.developer-credit a:hover{
  color:var(--rose-light);
}
@media(max-width:900px){
  .developer-credit{
    margin-left:0;
    padding-left:0;
    border-left:0;
    white-space:normal;
  }
}

/* Demandas clínicas */
.demands-card h4{
  margin:28px 0 16px;
  font-family:"Playfair Display",serif;
  color:var(--wine);
  font-size:22px;
  font-weight:500;
}
.demands-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.demands-grid span{
  display:flex;
  align-items:center;
  min-height:48px;
  padding:10px 13px;
  border-radius:12px;
  background:var(--cream);
  border:1px solid var(--line);
  color:#66484d;
  font-size:12px;
  line-height:1.35;
}
.demands-grid span:before{
  content:"";
  width:5px;height:5px;flex:0 0 5px;
  margin-right:9px;border-radius:50%;
  background:#D77F82;
}
.professional-goal{
  margin-top:26px !important;
  padding:20px 22px;
  border-left:3px solid #D77F82;
  background:#FAF5F2;
  border-radius:0 14px 14px 0;
  color:#5B4146 !important;
}
@media(max-width:900px){.demands-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.demands-grid{grid-template-columns:1fr}}


/* =========================================================
   RESPONSIVIDADE MOBILE REFEITA
   ========================================================= */

html, body{
  max-width:100%;
  overflow-x:hidden;
}

img, svg, video{
  max-width:100%;
  height:auto;
}

@media (max-width: 768px){

  body{
    font-size:16px;
  }

  .container{
    width:calc(100% - 28px);
    max-width:none;
  }

  /* HEADER */
  .nav{
    height:70px;
    gap:12px;
  }

  .brand{
    min-width:0;
    gap:10px;
  }

  .monogram{
    width:40px;
    height:40px;
    font-size:16px;
    flex:0 0 40px;
  }

  .brand-text{
    min-width:0;
  }

  .brand-text strong{
    font-size:15px;
    white-space:nowrap;
  }

  .brand-text small{
    display:block;
    font-size:9px;
    letter-spacing:.05em;
  }

  .menu-btn{
    display:block;
    flex:0 0 auto;
    font-size:24px;
  }

  .nav-links{
    top:76px;
    left:14px;
    right:14px;
    width:auto;
    max-height:calc(100vh - 92px);
    overflow:auto;
    border-radius:18px;
    padding:18px;
  }

  .nav-links a{
    width:100%;
    text-align:center;
  }

  .nav-links .btn{
    width:100%;
  }

  /* HERO */
  .hero{
    min-height:auto;
  }

  .hero-grid{
    min-height:auto;
    grid-template-columns:1fr;
    gap:34px;
    padding-top:48px;
    padding-bottom:54px;
  }

  .hero-copy{
    width:100%;
  }

  .hero h1{
    font-size:clamp(42px, 12vw, 58px);
    line-height:1.02;
    max-width:100%;
  }

  .hero-copy>p{
    max-width:100%;
    font-size:16px;
    line-height:1.65;
    margin:20px 0 26px;
  }

  .hero-actions{
    width:100%;
    flex-direction:column;
    gap:10px;
  }

  .hero-actions .btn{
    width:100%;
    min-height:50px;
  }

  .hero-note{
    margin-top:22px;
    font-size:12px;
    line-height:1.4;
  }

  .hero-card{
    width:100%;
    padding-bottom:0;
  }

  .logo-frame{
    width:min(100%, 430px);
    margin-inline:auto;
    border-radius:28px;
    aspect-ratio:1/1;
  }

  .soft-card{
    position:relative;
    right:auto;
    bottom:auto;
    width:calc(100% - 20px);
    max-width:360px;
    margin:-24px auto 0;
    padding:18px 20px;
  }

  .soft-card p{
    font-size:17px;
  }

  /* SEÇÕES GERAIS */
  .section{
    padding:64px 0;
  }

  .section-heading{
    width:100%;
  }

  .section-heading h2,
  .about-text h2{
    font-size:clamp(34px, 9.5vw, 44px);
    line-height:1.08;
  }

  .section-heading.centered{
    margin-bottom:32px;
  }

  .split,
  .faq-grid,
  .about-profile{
    grid-template-columns:1fr;
    gap:34px;
  }

  /* FOTO / SOBRE */
  .portrait-wrap{
    width:100%;
    max-width:390px;
    padding:12px 8px 46px 0;
    margin-inline:auto;
  }

  .portrait{
    width:94%;
    aspect-ratio:4/5;
    border-radius:120px 120px 24px 24px;
  }

  .portrait-accent{
    width:76%;
    height:84%;
    border-radius:120px 120px 28px 28px;
  }

  .portrait-badge{
    width:84%;
    right:0;
    bottom:10px;
    padding:14px 16px;
  }

  .portrait-badge strong{
    font-size:17px;
  }

  .about-text{
    padding-top:0;
    font-size:16px;
  }

  .about-actions{
    align-items:stretch;
    flex-direction:column;
  }

  .about-actions .btn,
  .about-actions .credential{
    width:100%;
    text-align:center;
    justify-content:center;
  }

  /* CARDS */
  .cards{
    grid-template-columns:1fr;
    gap:14px;
  }

  .service-card{
    min-height:auto;
    padding:26px 22px;
  }

  .icon{
    margin-bottom:26px;
  }

  .service-card h3{
    font-size:24px;
  }

  /* FRASE */
  .quote-section{
    padding:60px 0;
  }

  blockquote{
    font-size:clamp(30px, 8.5vw, 42px);
  }

  /* PASSOS */
  .steps{
    margin-top:30px;
  }

  .step{
    grid-template-columns:50px 1fr;
    gap:14px;
    padding:22px 0;
  }

  .step>span{
    width:40px;
    height:40px;
  }

  .step h3{
    font-size:21px;
  }

  /* FAQ */
  .faq-grid{
    gap:28px;
  }

  summary{
    font-size:19px;
  }

  /* CTA */
  .cta{
    padding:72px 0;
  }

  .cta h2{
    font-size:clamp(40px, 11vw, 56px);
  }

  .cta .btn{
    width:100%;
  }

  /* FOOTER */
  .footer{
    padding:28px 0;
  }

  .footer-inner{
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
  }

  .footer-inner > *{
    width:100%;
  }

  .developer-credit{
    margin-left:0;
    padding-left:0;
    border-left:0;
    white-space:normal;
    display:flex;
    flex-wrap:wrap;
    gap:6px 10px;
    font-size:10px;
  }

  .whatsapp-float{
    right:14px;
    bottom:14px;
    width:50px;
    height:50px;
    padding:0;
    justify-content:center;
    border-radius:50%;
  }

  .whatsapp-float span:last-child{
    display:none;
  }

  /* PÁGINA CONHEÇA MEU TRABALHO */
  .profile-header .nav{
    min-height:70px;
    height:auto;
    padding:10px 0;
    align-items:center;
  }

  .profile-header .nav > div:last-child{
    gap:8px !important;
    justify-content:flex-end;
  }

  .profile-header .instagram-link{
    min-height:36px;
    padding:0 12px;
    font-size:11px;
  }

  .back-link{
    font-size:11px;
    white-space:nowrap;
  }

  .profile-hero{
    padding:44px 0 62px;
  }

  .profile-hero-grid{
    grid-template-columns:1fr;
    gap:34px;
  }

  .profile-photo-card{
    width:100%;
    max-width:360px;
    margin-inline:auto;
  }

  .profile-photo-card img{
    border-radius:130px 130px 24px 24px;
  }

  .profile-copy{
    width:100%;
  }

  .profile-copy h1{
    font-size:clamp(42px, 12vw, 56px);
    line-height:1;
    overflow-wrap:anywhere;
  }

  .profile-copy .lead{
    font-size:16px;
    line-height:1.65;
    max-width:100%;
  }

  .profile-meta{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }

  .profile-meta span{
    width:100%;
    text-align:center;
    font-size:12px;
  }

  .bio-section{
    padding:62px 0;
  }

  .bio-intro{
    margin-bottom:34px;
  }

  .bio-intro h2{
    font-size:clamp(34px, 9.5vw, 44px);
  }

  .bio-grid{
    grid-template-columns:1fr;
    gap:14px;
  }

  .bio-card,
  .bio-card.wide{
    grid-column:auto;
    padding:24px 20px;
  }

  .bio-card h3{
    font-size:24px;
  }

  .demands-grid{
    grid-template-columns:1fr;
    gap:8px;
  }

  .demands-grid span{
    min-height:44px;
    font-size:13px;
  }

  .professional-goal{
    padding:16px 17px;
  }

  .profile-cta{
    margin-top:30px;
    padding:24px 20px;
    flex-direction:column;
    align-items:stretch;
  }

  .profile-cta h3{
    font-size:26px;
  }

  .profile-cta > div:last-child{
    width:100%;
    flex-direction:column;
  }

  .profile-cta .instagram-link,
  .profile-cta .btn{
    width:100%;
  }
}

@media (max-width: 420px){

  .container{
    width:calc(100% - 22px);
  }

  .brand-text strong{
    font-size:14px;
  }

  .brand-text small{
    font-size:8px;
  }

  .hero h1{
    font-size:39px;
  }

  .section-heading h2,
  .about-text h2,
  .bio-intro h2{
    font-size:34px;
  }

  .profile-copy h1{
    font-size:40px;
  }

  .eyebrow{
    font-size:10px;
    letter-spacing:.16em;
  }

  .portrait-badge{
    width:90%;
  }

  .portrait-badge strong{
    font-size:15px;
  }

  .portrait-badge span{
    font-size:10px;
  }

  .service-card,
  .bio-card{
    border-radius:18px;
  }
}
