:root {
  --brand:#061B27;
  --brand-2:#092A3B;
  --brand-3:#0D3B55;
  --accent:#2A8DE4;
  --accent-soft:#BFE2FF;
  --ice:#F3F9FD;
  --paper:#FFFFFF;
  --text:#071923;
  --muted:#5D7180;
  --line:rgba(6,27,39,.12);
  --line-dark:rgba(255,255,255,.15);
  --shadow:0 24px 80px rgba(6,27,39,.18);
  --soft-shadow:0 14px 44px rgba(6,27,39,.10);
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:linear-gradient(180deg,#F8FCFF 0%,#EEF7FD 48%,#FAFDFF 100%);
  color:var(--text);
  overflow-x:hidden;
  line-height:1.6;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.container{width:min(1160px,calc(100% - 40px));margin:0 auto}

.header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(6,27,39,.88);
  backdrop-filter:blur(20px) saturate(140%);
  -webkit-backdrop-filter:blur(20px) saturate(140%);
  border-bottom:1px solid rgba(255,255,255,.10);
}
.nav{
  height:74px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  color:#fff;
}
.brand{
  display:flex;
  align-items:center;
  gap:13px;
  min-width:0;
}
.brand-symbol{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:15px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(191,226,255,.28);
  box-shadow:0 10px 34px rgba(0,0,0,.14);
  padding:8px;
  flex:0 0 auto;
}
.brand-symbol img{width:100%;height:100%;object-fit:contain}
.brand-text strong{
  display:block;
  line-height:1.02;
  font-size:.98rem;
  letter-spacing:.01em;
  white-space:nowrap;
}
.brand-text span{
  display:block;
  color:var(--accent-soft);
  letter-spacing:.28em;
  font-size:.66rem;
  font-weight:800;
  margin-top:4px;
}
.nav-links{
  display:flex;
  align-items:center;
  gap:26px;
  color:rgba(255,255,255,.84);
  font-weight:650;
  font-size:.94rem;
}
.nav-links a:hover{color:#fff}
.nav-cta{
  background:linear-gradient(135deg,var(--accent),#1666A7);
  padding:12px 18px;
  border-radius:13px;
  color:#fff!important;
  box-shadow:0 16px 38px rgba(0,0,0,.18);
}
.mobile-cta{
  display:none;
  background:linear-gradient(135deg,var(--accent),#1666A7);
  padding:10px 13px;
  border-radius:12px;
  color:#fff;
  font-weight:850;
  font-size:.84rem;
}

.hero{
  background:
    radial-gradient(circle at 20% 15%,rgba(42,141,228,.22),transparent 34%),
    linear-gradient(180deg,var(--brand) 0%,#082333 100%);
  color:#fff;
  position:relative;
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute;
  right:-180px;
  top:60px;
  width:620px;
  height:620px;
  background:url("assets/asset-001-f8d75b81.png") center/contain no-repeat;
  opacity:.035;
  pointer-events:none;
}
.hero-inner{
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:58px;
  align-items:center;
  min-height:760px;
  padding:66px 0 92px;
}
.hero-copy{position:relative;z-index:2}
.kicker,.eyebrow{
  color:var(--accent-soft);
  text-transform:uppercase;
  letter-spacing:.22em;
  font-weight:850;
  font-size:.78rem;
  margin-bottom:22px;
}
h1,h2{
  font-family:"Instrument Serif",Georgia,serif;
  font-weight:400;
  letter-spacing:-.045em;
  line-height:.98;
  margin:0;
}
h1{font-size:clamp(4.2rem,7vw,7rem)}
h1 em{display:block;color:#63B3FF;font-style:italic}
.hero-line{width:74px;height:1px;background:var(--accent-soft);margin:28px 0}
.lead{
  font-size:1.18rem;
  line-height:1.65;
  color:rgba(255,255,255,.84);
  max-width:560px;
}
.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}
.btn{
  min-height:56px;
  padding:0 22px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:850;
  transition:.25s ease;
  text-align:center;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:linear-gradient(135deg,var(--accent),#1666A7);color:#fff;box-shadow:0 18px 42px rgba(17,102,187,.30)}
.btn-outline{border:1px solid rgba(255,255,255,.62);color:#fff;background:rgba(255,255,255,.055);backdrop-filter:blur(12px)}
.btn-with-icon{gap:12px}
.btn-icon-wrap{
  width:30px;
  height:30px;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16);
  flex:0 0 auto;
}
.btn-icon{
  width:18px;
  height:18px;
  display:block;
}
.btn-outline .btn-icon-wrap{
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
}

.hero-photo-wrap{position:relative;z-index:1}
.hero-photo{
  border-radius:32px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  background:#0b2745;
  box-shadow:var(--shadow);
}
.hero-photo img{width:100%;height:600px;object-fit:cover;object-position:center 18%;filter:saturate(.96) contrast(1.04) brightness(.99)}
.hero-brand-badge{
  position:absolute;
  left:-24px;
  bottom:28px;
  right:34px;
  background:rgba(6,27,39,.74);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-radius:22px;
  padding:18px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  box-shadow:0 22px 60px rgba(0,0,0,.22);
}
.hero-brand-badge img{width:46px;height:46px;object-fit:contain}
.hero-brand-badge strong{display:block;font-size:1rem}
.hero-brand-badge span{display:block;color:rgba(255,255,255,.66);font-size:.88rem}

.trust{
  margin-top:-44px;
  position:relative;
  z-index:4;
}
.trust-card{
  background:rgba(6,27,39,.92);
  color:#fff;
  border-radius:24px;
  box-shadow:var(--shadow);
  display:grid;
  grid-template-columns:repeat(4,1fr);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(18px);
}
.trust-item{padding:26px 28px;border-right:1px solid rgba(255,255,255,.12)}
.trust-item:last-child{border-right:0}
.trust-item strong{display:block;text-transform:uppercase;letter-spacing:.06em;font-size:.80rem}
.trust-item span{color:rgba(255,255,255,.68);font-size:.82rem}

.section{padding:94px 0}
.about{background:#fff;position:relative;overflow:hidden}
.about::after{
  content:"";
  position:absolute;
  right:-120px;
  bottom:30px;
  width:420px;
  height:420px;
  background:url("assets/asset-002-67cd9349.png") center/contain no-repeat;
  opacity:.035;
}
.about-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:68px;align-items:center;position:relative;z-index:1}
.about-img img{height:520px;width:100%;object-fit:cover;object-position:center 24%;border-radius:26px;box-shadow:0 20px 70px rgba(8,37,66,.14);filter:saturate(.95) contrast(1.03) brightness(.995)}
.eyebrow{color:var(--accent);margin-bottom:18px}
h2{font-size:clamp(2.65rem,4.8vw,4.75rem);color:var(--text)}
h2 span{color:var(--accent)}
.small-line{width:70px;height:2px;background:var(--accent);margin:24px 0}
.text{color:#425766;line-height:1.82;font-size:1.05rem}

.area-section{background:linear-gradient(180deg,#EEF7FD,#F8FCFF);text-align:center}
.area-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}
.area{
  padding:26px;
  border-radius:24px;
  background:rgba(255,255,255,.74);
  border:1px solid rgba(6,27,39,.08);
  box-shadow:var(--soft-shadow);
}
.area-icon{
  margin:0 auto 16px;
  width:58px;
  height:58px;
  border-radius:20px;
  display:grid;
  place-items:center;
  background:rgba(6,27,39,.045);
  border:1px solid rgba(6,27,39,.08);
  padding:12px;
}
.area-icon img{width:100%;height:100%;object-fit:contain}
.area h3{font-size:1rem;margin:0 0 10px;color:var(--text)}
.area p{font-size:.9rem;color:#526879;line-height:1.55;margin:0}

.office{
  background:
    radial-gradient(circle at 18% 18%,rgba(42,141,228,.18),transparent 30%),
    linear-gradient(180deg,var(--brand) 0%,#071923 100%);
  color:#fff;
  position:relative;
  overflow:hidden;
}
.office::before{
  content:"";
  position:absolute;
  left:-130px;
  top:60px;
  width:420px;
  height:420px;
  background:url("assets/asset-001-f8d75b81.png") center/contain no-repeat;
  opacity:.04;
}
.office-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:46px;align-items:center;position:relative;z-index:1}
.office h2{color:#fff}
.office p{color:rgba(255,255,255,.78);max-width:520px}
.office-img{border-radius:28px;overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.14)}
.office-img img{height:460px;width:100%;object-fit:cover;object-position:center 36%}

.process{background:#fff}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:38px}
.process-card{padding:28px;border-radius:24px;background:rgba(238,247,253,.74);border:1px solid rgba(6,27,39,.08);box-shadow:var(--soft-shadow)}
.process-card b{display:grid;place-items:center;width:44px;height:44px;background:var(--brand);color:#fff;border-radius:14px;margin-bottom:28px}
.process-card h3{margin:0 0 12px;color:var(--text)}
.process-card p{color:#526879;line-height:1.65;margin:0;font-size:.94rem}

.cta{background:linear-gradient(135deg,var(--brand),#092F45);color:#fff;padding:58px 0 82px;position:relative;overflow:hidden}
.cta::after{
  content:"";
  position:absolute;
  right:40px;
  top:20px;
  width:240px;
  height:240px;
  background:url("assets/asset-001-f8d75b81.png") center/contain no-repeat;
  opacity:.045;
}
.cta-grid{display:grid;grid-template-columns:1fr .9fr;gap:32px;align-items:center;position:relative;z-index:1}
.cta h2{color:#fff;font-size:3.2rem}
.cta p{color:rgba(255,255,255,.72)}
.cta-actions{display:flex;gap:14px;justify-content:flex-end;flex-wrap:wrap}

.footer{background:#04101A;color:rgba(255,255,255,.68);padding:36px 0;font-size:.92rem}
.footer-grid{display:flex;justify-content:space-between;align-items:center;gap:24px}
.footer-brand{display:flex;align-items:center;gap:14px}
.footer-brand img{width:48px;height:48px;object-fit:contain}
.footer strong{color:#fff;display:block}
.floating{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:60;
  background:linear-gradient(135deg,var(--accent),#1666A7);
  color:#fff;
  padding:15px 20px;
  border-radius:999px;
  font-weight:900;
  box-shadow:0 18px 42px rgba(5,25,48,.28);
}
.reveal{opacity:0;transform:translateY(28px);filter:blur(6px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1),filter .8s cubic-bezier(.2,.8,.2,1)}
.reveal.visible{opacity:1;transform:none;filter:none}

@media(max-width:980px){
  .container{width:min(100% - 32px,1160px)}
  .nav{height:66px}
  .nav-links{display:none}
  .mobile-cta{display:inline-flex}
  .brand-symbol{width:40px;height:40px;border-radius:13px}
  .brand-text strong{font-size:.82rem}
  .brand-text span{font-size:.58rem;letter-spacing:.22em}
  .hero-inner{grid-template-columns:1fr;gap:26px;min-height:0;padding:26px 0 56px}
  .hero-photo-wrap{order:-1;margin-top:12px}
  .hero-photo{border-radius:24px}
  .hero-photo img{height:430px;object-position:center 16%}
  .hero-brand-badge{position:static;margin-top:14px;display:flex;padding:16px}
  .kicker{font-size:.68rem;letter-spacing:.16em;margin-bottom:16px}
  h1{font-size:clamp(3.05rem,14vw,4.55rem)}
  .hero-line{margin:20px 0;width:58px}
  .lead{font-size:1rem;line-height:1.62}
  .actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:24px}
  .hero-copy > .actions{display:none}
  .btn{width:100%;min-height:54px}
  .trust{margin-top:0;background:var(--brand);padding-bottom:18px}
  .trust-card{grid-template-columns:1fr 1fr;border-radius:20px}
  .trust-item{padding:20px;border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}
  .trust-item:nth-child(2n){border-right:0}
  .trust-item:nth-last-child(-n+2){border-bottom:0}
  .section{padding:68px 0}
  .about-grid,.office-grid,.cta-grid{grid-template-columns:1fr;gap:34px}
  .about-img{order:-1}
  .about-img img{height:420px;border-radius:22px;object-position:center 24%}
  h2{font-size:clamp(2.35rem,10vw,3.3rem)}
  .area-grid{grid-template-columns:1fr 1fr;gap:12px}
  .area{padding:22px 16px}
  .office-img{order:-1}
  .office-img img{height:360px}
  .process-grid{grid-template-columns:1fr 1fr;gap:12px}
  .process-card{padding:22px}
  .cta-actions{justify-content:stretch;display:grid}
  .footer-grid{display:block}
  .footer-grid>div+div{margin-top:16px}
  .floating{left:16px;right:16px;text-align:center;padding:14px 18px}
}

@media(max-width:520px){
  .container{width:min(100% - 24px,1160px)}
  .brand-text strong{max-width:170px;overflow:hidden;text-overflow:ellipsis}
  .mobile-cta{font-size:.78rem;padding:9px 11px}
  .hero-inner{padding-top:16px}
  .hero-photo img{height:360px;object-position:center 14%}
  .hero-brand-badge{align-items:flex-start}
  .hero-brand-badge img{width:40px;height:40px}
  .trust-card{grid-template-columns:1fr}
  .trust-item,.trust-item:nth-child(2n),.trust-item:nth-last-child(-n+2){border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}
  .trust-item:last-child{border-bottom:0}
  .about-img img{height:350px;object-position:center 24%}
  .area-grid{grid-template-columns:1fr}
  .office-img img{height:300px}
  .process-grid{grid-template-columns:1fr}
  .section{padding:58px 0}
  .cta{padding-bottom:86px}
}

.instagram-strip {
  background: linear-gradient(180deg, #F8FCFF 0%, #EEF7FD 100%);
  padding: 74px 0;
  position: relative;
  overflow: hidden;
}
.instagram-strip::before {
  content: "";
  position: absolute;
  right: -140px;
  top: -120px;
  width: 360px;
  height: 360px;
  background: url("assets/asset-001-f8d75b81.png") center/contain no-repeat;
  opacity: .045;
  pointer-events: none;
}
.instagram-card {
  position: relative;
  z-index: 1;
  border-radius: 32px;
  background: rgba(255,255,255,.74);
  border: 1px solid rgba(6,27,39,.10);
  box-shadow: var(--soft-shadow);
  padding: 26px;
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 26px;
  align-items: center;
}
.instagram-copy {
  display: grid;
  gap: 12px;
}
.instagram-profile {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-weight: 900;
  color: var(--brand);
}
.instagram-profile img {
  width: 38px;
  height: 38px;
  object-fit: contain;
  padding: 7px;
  border-radius: 13px;
  background: var(--brand);
}
.instagram-copy h2 {
  font-size: clamp(2.2rem, 4vw, 3.6rem);
}
.instagram-copy p {
  color: var(--muted);
  margin: 0;
  max-width: 520px;
}
.instagram-preview-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
.instagram-post {
  position: relative;
  min-height: 250px;
  border-radius: 22px;
  overflow: hidden;
  background: var(--brand);
  box-shadow: 0 14px 44px rgba(6,27,39,.12);
}
.instagram-post img {
  width: 100%;
  height: 100%;
  min-height: 250px;
  object-fit: cover;
}
.instagram-post:nth-child(1) img {
  object-position: center 28%;
}
.instagram-post:nth-child(2) img {
  object-position: center 25%;
}
.instagram-post:nth-child(3) img {
  object-position: center 38%;
}
.instagram-post::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 38%, rgba(6,27,39,.82) 100%);
}
.instagram-post span {
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 16px;
  z-index: 2;
  color: #fff;
  font-weight: 850;
  line-height: 1.25;
}
.instagram-mini {
  color: var(--accent);
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: .72rem;
  font-weight: 900;
}

@media(max-width:980px) {
  .instagram-strip {
    padding: 58px 0;
  }
  .instagram-card {
    grid-template-columns: 1fr;
    padding: 22px;
  }
  .instagram-preview-row {
    grid-template-columns: repeat(4, 1fr);
  }
  .instagram-post, .instagram-post img {
    min-height: 190px;
  }
}

@media(max-width:520px) {
  .instagram-preview-row {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 6px;
  }
  .instagram-post {
    min-width: 74%;
    scroll-snap-align: start;
  }
  .instagram-post, .instagram-post img {
    min-height: 230px;
  }
}


.maps-section {
  background: linear-gradient(180deg, #FFFFFF 0%, #F3F9FD 100%);
  padding: 78px 0;
  position: relative;
  overflow: hidden;
}
.maps-section::before {
  content: "";
  position: absolute;
  left: -130px;
  bottom: -140px;
  width: 380px;
  height: 380px;
  background: url("assets/asset-001-f8d75b81.png") center/contain no-repeat;
  opacity: .035;
  pointer-events: none;
}
.maps-card {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 26px;
  align-items: stretch;
  border-radius: 34px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(6,27,39,.10);
  box-shadow: var(--soft-shadow);
  padding: 26px;
  overflow: hidden;
}
.maps-copy {
  padding: 16px 8px 16px 6px;
  display: grid;
  align-content: center;
  gap: 14px;
}
.maps-copy h2 {
  font-size: clamp(2.25rem, 4vw, 3.7rem);
}
.maps-copy p {
  color: var(--muted);
  margin: 0;
  max-width: 520px;
}
.maps-address {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 18px;
  border-radius: 20px;
  background: rgba(6,27,39,.045);
  border: 1px solid rgba(6,27,39,.08);
  color: var(--brand);
  font-weight: 850;
}
.maps-pin {
  width: 38px;
  height: 38px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: var(--brand);
  color: #fff;
  flex: 0 0 auto;
}
.maps-frame {
  min-height: 390px;
  border-radius: 26px;
  overflow: hidden;
  border: 1px solid rgba(6,27,39,.10);
  box-shadow: 0 18px 54px rgba(6,27,39,.12);
  background: #DDECF5;
}
.maps-frame iframe {
  width: 100%;
  height: 100%;
  min-height: 390px;
  border: 0;
  display: block;
}
@media(max-width:980px) {
  .maps-section { padding: 58px 0; }
  .maps-card { grid-template-columns: 1fr; padding: 22px; }
  .maps-frame, .maps-frame iframe { min-height: 340px; }
}
@media(max-width:520px) {
  .maps-card { border-radius: 26px; padding: 16px; }
  .maps-copy { padding: 6px 2px 10px; }
  .maps-frame, .maps-frame iframe { min-height: 300px; }
  .maps-address { padding: 14px; }
}


/* Ajuste fino do título da seção Sobre para não isolar "Basso" em outra linha */
.about-title{
  font-size:clamp(2.55rem,4.25vw,4.35rem);
  line-height:.98;
  letter-spacing:-.055em;
}
.about-title .title-name{
  display:inline-block;
  white-space:nowrap;
  color:var(--accent);
}
.about-title .title-prefix{
  display:inline;
}
@media(max-width:760px){
  .about-title{
    font-size:clamp(2.25rem,8.4vw,3.25rem);
    line-height:1.02;
  }
  .about-title .title-prefix{
    display:block;
  }
  .about-title .title-name{
    display:block;
    white-space:nowrap;
    font-size:.92em;
    letter-spacing:-.06em;
  }
}
@media(max-width:390px){
  .about-title{
    font-size:clamp(2.02rem,8.1vw,2.65rem);
  }
  .about-title .title-name{
    font-size:.88em;
  }
}


.reviews-section {
  background:
    radial-gradient(circle at 90% 10%, rgba(42,141,228,.12), transparent 32%),
    linear-gradient(180deg, #FFFFFF 0%, #F3F9FD 100%);
  padding: 82px 0;
  position: relative;
  overflow: hidden;
}
.reviews-section::before {
  content: "";
  position: absolute;
  left: -120px;
  top: -90px;
  width: 360px;
  height: 360px;
  background: url("assets/asset-001-f8d75b81.png") center/contain no-repeat;
  opacity: .035;
  pointer-events: none;
}
.reviews-shell {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: 28px;
  align-items: stretch;
}
.reviews-summary {
  border-radius: 32px;
  background: var(--brand);
  color: #fff;
  padding: 34px;
  box-shadow: var(--shadow);
  position: relative;
  overflow: hidden;
}
.reviews-summary::after {
  content: "";
  position: absolute;
  right: -70px;
  bottom: -80px;
  width: 230px;
  height: 230px;
  background: url("assets/asset-001-f8d75b81.png") center/contain no-repeat;
  opacity: .06;
}
.reviews-summary .eyebrow {
  color: var(--accent-soft);
}
.reviews-summary h2 {
  color: #fff;
  font-size: clamp(2.35rem, 4vw, 3.9rem);
}
.rating-line {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 26px 0 12px;
  font-weight: 900;
}
.stars {
  letter-spacing: .08em;
  color: #FFD36A;
  font-size: 1.25rem;
}
.reviews-summary p {
  color: rgba(255,255,255,.78);
  margin: 0 0 24px;
}
.reviews-summary .btn {
  position: relative;
  z-index: 1;
}
.review-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.review-card {
  border-radius: 26px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(6,27,39,.10);
  box-shadow: var(--soft-shadow);
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 260px;
}
.review-card small {
  color: var(--accent);
  text-transform: uppercase;
  letter-spacing: .14em;
  font-weight: 900;
  font-size: .70rem;
}
.review-card h3 {
  margin: 18px 0 10px;
  color: var(--brand);
  font-size: 1.08rem;
}
.review-card p {
  color: var(--muted);
  margin: 0;
  font-size: .94rem;
  line-height: 1.62;
}
.review-card .quote-mark {
  color: rgba(6,27,39,.12);
  font-family: Georgia, serif;
  font-size: 3.2rem;
  line-height: .7;
  margin-top: 22px;
}
.reviews-note {
  margin-top: 18px;
  color: var(--muted);
  font-size: .9rem;
}

@media(max-width:980px) {
  .reviews-section {
    padding: 62px 0;
  }
  .reviews-shell {
    grid-template-columns: 1fr;
  }
  .review-cards {
    grid-template-columns: 1fr 1fr;
  }
}

@media(max-width:620px) {
  .reviews-summary {
    padding: 26px;
    border-radius: 26px;
  }
  .review-cards {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 8px;
  }
  .review-card {
    min-width: 78%;
    min-height: 250px;
    scroll-snap-align: start;
  }
}


/* Ajuste do preview do Instagram com posts reais */
.instagram-preview-row{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  align-items:stretch;
}
.instagram-post{
  position:relative;
  min-height:0;
  aspect-ratio:4 / 5;
  border-radius:22px;
  overflow:hidden;
  background:var(--brand);
  box-shadow:0 14px 44px rgba(6,27,39,.12);
}
.instagram-post img{
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
  object-position:center center;
}
.instagram-post span{
  position:absolute;
  left:14px;
  right:14px;
  bottom:14px;
  z-index:2;
  color:#fff;
  font-weight:850;
  line-height:1.25;
  text-shadow:0 2px 12px rgba(0,0,0,.28);
}
.instagram-post::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent 46%, rgba(6,27,39,.82) 100%);
}
@media(max-width:980px){
  .instagram-preview-row{
    grid-template-columns:repeat(2,1fr);
  }
  .instagram-post{
    aspect-ratio:4 / 5;
  }
}
@media(max-width:520px){
  .instagram-preview-row{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    padding-bottom:6px;
  }
  .instagram-post{
    min-width:74%;
    aspect-ratio:4 / 5;
    scroll-snap-align:start;
    flex:0 0 auto;
  }
}


/* Preview do Instagram com 6 posts */
.instagram-preview-row{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px;
  align-items:stretch;
}
.instagram-post{
  position:relative;
  min-height:0;
  aspect-ratio:4 / 5;
  border-radius:22px;
  overflow:hidden;
  background:var(--brand);
  box-shadow:0 14px 44px rgba(6,27,39,.12);
}
.instagram-post img{
  width:100%;
  height:100%;
  min-height:0 !important;
  object-fit:cover;
  object-position:center center;
}
.instagram-post span{
  position:absolute;
  left:14px;
  right:14px;
  bottom:14px;
  z-index:2;
  color:#fff;
  font-weight:850;
  line-height:1.25;
  text-shadow:0 2px 12px rgba(0,0,0,.28);
}
.instagram-post::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent 46%, rgba(6,27,39,.82) 100%);
}
@media(max-width:980px){
  .instagram-preview-row{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:520px){
  .instagram-preview-row{
    display:flex !important;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    padding-bottom:6px;
  }
  .instagram-post{
    min-width:74%;
    aspect-ratio:4 / 5;
    scroll-snap-align:start;
    flex:0 0 auto;
  }
}


/* Ajuste da seção Sobre */
.about-eyebrow{
  color: var(--text) !important;
}
.about-title{
  font-size:clamp(2.55rem,4.25vw,4.35rem);
  line-height:.98;
  letter-spacing:-.055em;
  color: var(--text) !important;
}
.about-title .title-prefix{
  color: var(--text) !important;
  display:inline;
}
.about-title .title-name{
  color: var(--accent) !important;
  display:inline-block;
  white-space:nowrap;
}
@media(max-width:760px){
  .about-title{
    font-size:clamp(2.25rem,8.4vw,3.25rem);
    line-height:1.02;
  }
  .about-title .title-prefix{
    display:block;
  }
  .about-title .title-name{
    display:block;
    white-space:nowrap;
    font-size:.92em;
    letter-spacing:-.06em;
  }
}
@media(max-width:390px){
  .about-title{
    font-size:clamp(2.02rem,8.1vw,2.65rem);
  }
  .about-title .title-name{
    font-size:.88em;
  }
}

/* Card do Instagram sem label extra */
.instagram-post span{
  position:absolute;
  left:14px;
  right:14px;
  bottom:14px;
  z-index:2;
  color:#fff;
  font-weight:850;
  line-height:1.25;
  text-shadow:0 2px 12px rgba(0,0,0,.28);
}





/* Avaliações em duas colunas, com 7 comentários e espaçamento mais próximo */
.reviews-section {
  background:
    radial-gradient(circle at 90% 10%, rgba(42,141,228,.12), transparent 32%),
    linear-gradient(180deg, #FFFFFF 0%, #F3F9FD 100%);
  padding: 82px 0;
  position: relative;
  overflow: hidden;
}
.reviews-section::before {
  content: "";
  position: absolute;
  left: -120px;
  top: -90px;
  width: 360px;
  height: 360px;
  background: url("assets/asset-001-f8d75b81.png") center/contain no-repeat;
  opacity: .035;
  pointer-events: none;
}
.reviews-shell {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: 28px;
  align-items: start;
}
.reviews-summary {
  border-radius: 32px;
  background: var(--brand);
  color: #fff;
  padding: 34px;
  box-shadow: var(--shadow);
  position: sticky;
  top: 96px;
  overflow: hidden;
}
.reviews-summary::after {
  content: "";
  position: absolute;
  right: -70px;
  bottom: -80px;
  width: 230px;
  height: 230px;
  background: url("assets/asset-001-f8d75b81.png") center/contain no-repeat;
  opacity: .06;
}
.reviews-summary .eyebrow {
  color: var(--accent-soft);
}
.reviews-summary h2 {
  color: #fff;
  font-size: clamp(2.35rem, 4vw, 3.9rem);
}
.rating-line {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 26px 0 12px;
  font-weight: 900;
  flex-wrap: wrap;
}
.stars {
  letter-spacing: .08em;
  color: #FFD36A;
  font-size: 1.25rem;
}
.reviews-summary p {
  color: rgba(255,255,255,.78);
  margin: 0 0 24px;
}

.reviews-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 14px;
  align-items: start;
}
.reviews-col {
  display: grid;
  gap: 14px;
  align-content: start;
}
.review-shot {
  display: block;
  background: #fff;
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid rgba(6,27,39,.08);
  box-shadow: var(--soft-shadow);
  transition: transform .22s ease, box-shadow .22s ease;
}
.review-shot:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 40px rgba(6,27,39,.14);
}
.review-shot img {
  width: 100%;
  height: auto;
  display: block;
}

@media(max-width:980px) {
  .reviews-section {
    padding: 62px 0;
  }
  .reviews-shell {
    grid-template-columns: 1fr;
  }
  .reviews-summary {
    position: relative;
    top: auto;
  }
}

@media(max-width:620px) {
  .reviews-columns {
    display: flex;
    overflow-x: auto;
    gap: 12px;
    scroll-snap-type: x mandatory;
    padding-bottom: 6px;
  }
  .reviews-col {
    min-width: 86%;
    flex: 0 0 auto;
    scroll-snap-align: start;
  }
}


/* Camada premium: transparência, profundidade e transições */
:root{
  --glass-bg: rgba(255,255,255,.68);
  --glass-border: rgba(255,255,255,.42);
  --glass-dark: rgba(6,27,39,.68);
  --ease-premium: cubic-bezier(.2,.8,.2,1);
}

body::before{
  content:"";
  position:fixed;
  inset:-20%;
  z-index:-2;
  background:
    radial-gradient(circle at 15% 12%, rgba(42,141,228,.10), transparent 28%),
    radial-gradient(circle at 85% 30%, rgba(6,27,39,.08), transparent 32%),
    radial-gradient(circle at 55% 88%, rgba(42,141,228,.08), transparent 30%);
  pointer-events:none;
}

.header{
  background: rgba(6,27,39,.72) !important;
  backdrop-filter: blur(22px) saturate(150%) !important;
  -webkit-backdrop-filter: blur(22px) saturate(150%) !important;
  transition: background .35s var(--ease-premium), box-shadow .35s var(--ease-premium), border-color .35s var(--ease-premium);
}
.header.is-scrolled{
  background: rgba(6,27,39,.88) !important;
  box-shadow: 0 18px 48px rgba(6,27,39,.22);
  border-bottom-color: rgba(255,255,255,.18);
}

.hero{
  isolation:isolate;
}
.hero::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:160px;
  background:linear-gradient(180deg, transparent, rgba(248,252,255,.10));
  pointer-events:none;
}
.hero-photo,
.about-img img,
.office-img,
.trust-card,
.instagram-card,
.maps-card,
.review-shot,
.area,
.process-card{
  transition:
    transform .42s var(--ease-premium),
    box-shadow .42s var(--ease-premium),
    border-color .42s var(--ease-premium),
    filter .42s var(--ease-premium);
}

.hero-photo,
.office-img,
.about-img img{
  box-shadow:
    0 28px 90px rgba(6,27,39,.22),
    inset 0 1px 0 rgba(255,255,255,.16) !important;
}
.hero-photo:hover,
.office-img:hover,
.about-img img:hover{
  transform: translateY(-4px);
  box-shadow:
    0 34px 105px rgba(6,27,39,.28),
    inset 0 1px 0 rgba(255,255,255,.18) !important;
}

.trust-card,
.reviews-summary,
.cta{
  backdrop-filter: blur(18px) saturate(135%);
  -webkit-backdrop-filter: blur(18px) saturate(135%);
}

.area,
.process-card,
.instagram-card,
.maps-card,
.review-shot{
  background: var(--glass-bg) !important;
  backdrop-filter: blur(18px) saturate(140%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  border-color: rgba(6,27,39,.08) !important;
}

.area:hover,
.process-card:hover,
.review-shot:hover,
.instagram-post:hover{
  transform: translateY(-5px);
  box-shadow: 0 26px 70px rgba(6,27,39,.14) !important;
}

.btn{
  position:relative;
  overflow:hidden;
}
.btn::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg, transparent 0%, rgba(255,255,255,.28) 45%, transparent 70%);
  transform:translateX(-120%);
  transition: transform .75s var(--ease-premium);
}
.btn:hover::before{
  transform:translateX(120%);
}

.reveal{
  opacity:0;
  transform:translateY(34px) scale(.985);
  filter:blur(10px);
  transition:
    opacity .9s var(--ease-premium),
    transform .9s var(--ease-premium),
    filter .9s var(--ease-premium);
}
.reveal.visible{
  opacity:1;
  transform:none;
  filter:none;
}

.instagram-post{
  transition:
    transform .42s var(--ease-premium),
    box-shadow .42s var(--ease-premium),
    filter .42s var(--ease-premium);
}
.instagram-post img{
  transition: transform .7s var(--ease-premium), filter .7s var(--ease-premium);
}
.instagram-post:hover img{
  transform:scale(1.045);
  filter:saturate(1.04) contrast(1.03);
}

.review-shot img{
  transition: transform .55s var(--ease-premium);
}
.review-shot:hover img{
  transform:scale(1.015);
}

.maps-frame{
  transition:
    transform .42s var(--ease-premium),
    box-shadow .42s var(--ease-premium);
}
.maps-frame:hover{
  transform: translateY(-3px);
  box-shadow: 0 28px 80px rgba(6,27,39,.18) !important;
}

.section,
.instagram-strip,
.maps-section,
.reviews-section{
  position:relative;
}
.section::before,
.instagram-strip::after,
.maps-section::after,
.reviews-section::after{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  width:min(920px,80%);
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg, transparent, rgba(6,27,39,.10), transparent);
  pointer-events:none;
}

@media (prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after{
    transition:none !important;
    animation:none !important;
    scroll-behavior:auto !important;
  }
}


/* Camada experimental: transições variadas e mais premium */
:root{
  --hero-parallax: 0px;
  --photo-tilt-x: 0deg;
  --photo-tilt-y: 0deg;
}

/* variantes de entrada: cada seção entra de um jeito */
.reveal.fx-left:not(.visible){
  opacity:0;
  transform:translateX(-54px) translateY(14px);
  filter:blur(12px);
}
.reveal.fx-right:not(.visible){
  opacity:0;
  transform:translateX(54px) translateY(14px);
  filter:blur(12px);
}
.reveal.fx-scale:not(.visible){
  opacity:0;
  transform:scale(.94) translateY(20px);
  filter:blur(10px);
}
.reveal.fx-rise-deep:not(.visible){
  opacity:0;
  transform:translateY(70px) scale(.975);
  filter:blur(14px);
}
.reveal.fx-clip:not(.visible){
  opacity:0;
  transform:translateY(28px);
  clip-path:inset(16% 0 16% 0 round 28px);
  filter:blur(8px);
}
.reveal.fx-card:not(.visible){
  opacity:0;
  transform:translateY(40px) scale(.965);
  filter:blur(8px);
}
.reveal.fx-review:not(.visible){
  opacity:0;
  transform:translateY(44px) rotateX(5deg) scale(.97);
  filter:blur(9px);
}
.reveal.fx-clip.visible{
  clip-path:inset(0 0 0 0 round 28px);
}

/* hero com profundidade e parallax suave */
.hero-photo-wrap{
  perspective:1200px;
}
.hero-photo{
  transform-style:preserve-3d;
  will-change:transform;
  transition:transform .65s cubic-bezier(.2,.8,.2,1), box-shadow .65s cubic-bezier(.2,.8,.2,1);
}
.hero-photo img{
  will-change:transform;
  transform:translateY(var(--hero-parallax)) scale(1.025);
  transition:transform .28s linear, filter .6s cubic-bezier(.2,.8,.2,1);
}
.hero-photo:hover{
  transform:rotateX(var(--photo-tilt-x)) rotateY(var(--photo-tilt-y)) translateY(-6px);
}

/* brilho sutil de borda em foto/card principal */
.hero-photo,
.instagram-card,
.maps-card,
.reviews-summary{
  position:relative;
}
.hero-photo::before,
.instagram-card::before,
.maps-card::before,
.reviews-summary::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  padding:1px;
  background:linear-gradient(135deg, rgba(255,255,255,.46), rgba(42,141,228,.08), rgba(255,255,255,.14));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
  opacity:.9;
  z-index:2;
}

/* títulos com sensação mais editorial */
.about-title,
.reviews-summary h2,
.instagram-copy h2,
.maps-copy h2,
.cta h2{
  text-wrap:balance;
}
.reveal.visible .about-title,
.reveal.visible h2{
  animation:titleSettle .9s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes titleSettle{
  from{letter-spacing:-.085em; transform:translateY(10px); opacity:.7;}
  to{letter-spacing:-.045em; transform:translateY(0); opacity:1;}
}

/* cards entram com stagger real pelo nth-child */
.area:nth-child(1), .process-card:nth-child(1), .instagram-post:nth-child(1), .review-shot:nth-child(1){transition-delay:.02s!important}
.area:nth-child(2), .process-card:nth-child(2), .instagram-post:nth-child(2), .review-shot:nth-child(2){transition-delay:.08s!important}
.area:nth-child(3), .process-card:nth-child(3), .instagram-post:nth-child(3), .review-shot:nth-child(3){transition-delay:.14s!important}
.area:nth-child(4), .process-card:nth-child(4), .instagram-post:nth-child(4), .review-shot:nth-child(4){transition-delay:.20s!important}
.area:nth-child(5), .process-card:nth-child(5), .instagram-post:nth-child(5), .review-shot:nth-child(5){transition-delay:.26s!important}
.area:nth-child(6), .process-card:nth-child(6), .instagram-post:nth-child(6), .review-shot:nth-child(6){transition-delay:.32s!important}

/* áreas de atuação com microinteração diferente */
.area{
  transform-origin:center bottom;
}
.area:hover{
  transform:translateY(-7px) scale(1.015)!important;
}
.area-icon{
  transition:transform .55s cubic-bezier(.2,.8,.2,1), background .35s ease;
}
.area:hover .area-icon{
  transform:translateY(-4px) rotate(-3deg) scale(1.08);
}

/* avaliações: menos "cards parados", mais profundidade */
.review-shot{
  transform-origin:center top;
}
.review-shot:hover{
  transform:translateY(-6px) scale(1.012)!important;
}

/* instagram com efeito de galeria */
.instagram-post{
  isolation:isolate;
}
.instagram-post::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(255,255,255,.22), transparent 38%);
  opacity:0;
  z-index:2;
  transition:opacity .45s cubic-bezier(.2,.8,.2,1);
  pointer-events:none;
}
.instagram-post:hover::before{
  opacity:1;
}
.instagram-post span{
  transition:transform .45s cubic-bezier(.2,.8,.2,1), opacity .45s cubic-bezier(.2,.8,.2,1);
}
.instagram-post:hover span{
  transform:translateY(-4px);
}

/* mapa com máscara mais sofisticada */
.maps-frame{
  overflow:hidden;
  position:relative;
}
.maps-frame::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,.10), transparent 32%, rgba(6,27,39,.08));
  mix-blend-mode:soft-light;
}

/* botão flutuante com pulso discreto */
.floating{
  animation:floatingPulse 3.8s ease-in-out infinite;
}
@keyframes floatingPulse{
  0%,100%{box-shadow:0 18px 42px rgba(5,25,48,.28);}
  50%{box-shadow:0 18px 50px rgba(42,141,228,.38);}
}

@media(max-width:980px){
  .reveal.fx-left:not(.visible),
  .reveal.fx-right:not(.visible){
    transform:translateY(36px);
  }
  .hero-photo img{
    transform:translateY(0) scale(1.01);
  }
  .floating{
    animation:none;
  }
}



/* Carrossel do ambiente / consultório - versão mais horizontal */
.office-grid{
  display:grid;
  grid-template-columns:.76fr 1.24fr;
  gap:46px;
  align-items:center;
  position:relative;
  z-index:1;
}
.office-carousel{
  display:grid;
  gap:14px;
}
.office-carousel-stage{
  position:relative;
  border-radius:28px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:var(--shadow);
  background:rgba(255,255,255,.05);
  aspect-ratio: 16 / 9.6;
  min-height:0;
}
.office-carousel-stage img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
  transform:scale(1.01);
  transition:opacity .36s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1),filter .7s cubic-bezier(.2,.8,.2,1);
}
.office-carousel-stage:hover img{
  transform:scale(1.035);
  filter:saturate(1.02) contrast(1.02);
}
.office-carousel-stage::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 40%,rgba(6,27,39,.84) 100%);
}
.office-carousel-caption{
  position:absolute;
  left:22px;
  right:86px;
  bottom:22px;
  z-index:2;
  color:#fff;
}
.office-carousel-caption small{
  display:block;
  text-transform:uppercase;
  letter-spacing:.18em;
  color:var(--accent-soft);
  font-weight:900;
  font-size:.72rem;
  margin-bottom:6px;
}
.office-carousel-caption strong{
  display:block;
  font-size:1.18rem;
  line-height:1.25;
}
.office-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:46px;
  height:46px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(6,27,39,.70);
  color:#fff;
  display:grid;
  place-items:center;
  font-size:2rem;
  line-height:1;
  cursor:pointer;
  z-index:3;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  transition:background .22s ease,transform .22s ease;
}
.office-nav:hover{
  background:rgba(6,27,39,.92);
  transform:translateY(-50%) scale(1.05);
}
.office-prev{left:16px}
.office-next{right:16px}

.office-carousel-thumbs{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.office-thumb{
  padding:0;
  border:2px solid transparent;
  border-radius:16px;
  overflow:hidden;
  background:rgba(255,255,255,.08);
  cursor:pointer;
  opacity:.72;
  box-shadow:0 12px 34px rgba(0,0,0,.14);
  transition:opacity .22s ease,transform .22s ease,border-color .22s ease;
}
.office-thumb:hover{
  opacity:1;
  transform:translateY(-2px);
}
.office-thumb.is-active{
  opacity:1;
  border-color:var(--accent);
}
.office-thumb img{
  width:100%;
  height:76px;
  object-fit:cover;
  display:block;
}

@media(max-width:980px){
  .office-grid{
    grid-template-columns:1fr;
    gap:34px;
  }
  .office-carousel{
    order:-1;
  }
  .office-carousel-stage{
    border-radius:24px;
    aspect-ratio: 16 / 10.5;
  }
}

@media(max-width:520px){
  .office-carousel-stage{
    aspect-ratio: 16 / 11.5;
  }
  .office-carousel-caption{
    left:16px;
    right:58px;
    bottom:16px;
  }
  .office-carousel-caption strong{
    font-size:1rem;
  }
  .office-nav{
    width:38px;
    height:38px;
    font-size:1.55rem;
  }
  .office-prev{left:10px}
  .office-next{right:10px}
  .office-carousel-thumbs{
    display:flex;
    overflow-x:auto;
    gap:8px;
    padding-bottom:6px;
    scroll-snap-type:x mandatory;
  }
  .office-thumb{
    min-width:28%;
    flex:0 0 auto;
    scroll-snap-align:start;
  }
  .office-thumb img{
    height:64px;
  }
}


/* Ajuste de alinhamento da caixa azul de avaliações */
.reviews-shell{
  align-items:start !important;
}
.reviews-summary{
  align-self:start !important;
  margin-top:0 !important;
  top:24px !important;
}
.reviews-columns{
  align-items:start !important;
}



/* Tratamentos ampliados - lista final */
.area-grid-expanded{
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:14px !important;
  text-align:center;
}
.area-grid-expanded .area{
  padding:22px 16px;
  min-height:216px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
}
.area-grid-expanded .area h3{
  font-size:.94rem;
  line-height:1.25;
}
.area-grid-expanded .area p{
  font-size:.82rem;
  line-height:1.52;
}
.area-grid-expanded .area-icon{
  width:50px;
  height:50px;
  margin-bottom:13px;
}
@media(max-width:1280px){
  .area-grid-expanded{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }
}
@media(max-width:980px){
  .area-grid-expanded{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}
@media(max-width:760px){
  .area-grid-expanded{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .area-grid-expanded .area{
    min-height:210px;
  }
}
@media(max-width:520px){
  .area-grid-expanded{
    grid-template-columns:1fr !important;
  }
  .area-grid-expanded .area{
    min-height:0;
    padding:22px 18px;
  }
}


/* Ajuste do texto ampliado no Sobre o médico */
.about-copy{
  margin-top:0;
}
.about-copy .text{
  margin:0 0 14px;
}
.about-copy .text:last-child{
  margin-bottom:0;
}
@media(max-width:760px){
  .about-copy .text{
    font-size:.98rem;
    line-height:1.62;
  }
}


/* Ajuste dos cards da consulta com textos ampliados */
.process-grid-detailed{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:22px !important;
}
.process-grid-detailed .process-card{
  padding:30px;
  min-height:260px;
}
.process-grid-detailed .process-card b{
  margin-bottom:22px;
}
.process-grid-detailed .process-card h3{
  font-size:1.16rem;
}
.process-grid-detailed .process-card p{
  font-size:.95rem;
  line-height:1.68;
}
@media(max-width:820px){
  .process-grid-detailed{
    grid-template-columns:1fr !important;
  }
  .process-grid-detailed .process-card{
    min-height:0;
  }
}


/* Ajuste de enquadramento da nova foto no Sobre o médico */
.about .portrait img,
.about-photo img,
.about-image img{
  object-fit:cover;
  object-position:center top;
}


/* Versão leve premium: efeitos simplificados e melhor performance */
*{
  scroll-behavior:smooth;
}
.reveal,
.fx-left,
.fx-right,
.fx-card{
  transition:opacity .42s ease, transform .42s ease !important;
}
.reveal{
  transform:translateY(14px) !important;
}
.reveal.visible,
.reveal.is-visible,
.fx-left.visible,
.fx-right.visible,
.fx-card.visible{
  transform:none !important;
}
.hero-photo,
.portrait,
.office-carousel-stage,
.review-card,
.area,
.process-card,
.instagram-card{
  will-change:auto !important;
}
.hero-photo img,
.portrait img,
.office-carousel-stage img,
.instagram-card img,
.review-card img{
  transition:opacity .28s ease, transform .28s ease !important;
}
.hero-photo:hover img,
.portrait:hover img,
.instagram-card:hover img,
.review-card:hover img{
  transform:none !important;
}
.office-carousel-stage:hover img{
  transform:scale(1.012) !important;
}
.area:hover,
.process-card:hover,
.review-card:hover,
.instagram-card:hover{
  transform:translateY(-3px) !important;
}
header,
.site-header,
.header{
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.glass,
.area,
.process-card,
.review-card,
.instagram-card,
.office-carousel-stage{
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.floating-whatsapp,
.whatsapp-float{
  animation:none !important;
}
@media (prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after{
    animation:none !important;
    transition:none !important;
    scroll-behavior:auto !important;
  }
}

/* Páginas internas — TDAH e Teste ASRS-18 */
.topic-page main,
.test-page main{
  background:linear-gradient(180deg,#F8FCFF 0%,#EEF7FD 48%,#FAFDFF 100%);
}
.topic-hero,
.test-hero{
  background:
    radial-gradient(circle at 82% 18%, rgba(42,141,228,.22), transparent 34%),
    linear-gradient(180deg,var(--brand) 0%,#082333 100%);
  color:#fff;
  position:relative;
  overflow:hidden;
  padding:84px 0 72px;
}
.topic-hero-grid,
.test-hero-grid{
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:56px;
  align-items:center;
}
.topic-hero h1,
.test-hero h1{
  font-size:clamp(4rem,7vw,6.7rem);
}
.topic-hero h1 em,
.test-hero h1 em{
  display:block;
  color:#63B3FF;
  font-style:italic;
}
.topic-hero .lead,
.test-hero .lead{
  max-width:640px;
}
.topic-card-dark,
.test-card-dark{
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.15);
  border-radius:28px;
  padding:28px;
  box-shadow:var(--shadow);
}
.topic-card-dark h2,
.topic-card-dark h3,
.test-card-dark h2,
.test-card-dark h3{
  color:#fff;
}
.topic-card-dark p,
.test-card-dark p{
  color:rgba(255,255,255,.78);
}
.topic-pills{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:22px;
}
.topic-pill{
  border:1px solid rgba(191,226,255,.25);
  color:#fff;
  background:rgba(255,255,255,.06);
  padding:9px 12px;
  border-radius:999px;
  font-weight:800;
  font-size:.82rem;
}
.topic-section,
.test-section{
  padding:88px 0;
  background:#fff;
}
.topic-section.alt,
.test-section.alt{
  background:linear-gradient(180deg,#F3F9FD 0%,#FFFFFF 100%);
}
.topic-grid,
.test-grid{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:44px;
  align-items:start;
}
.topic-sticky,
.test-sticky{
  position:sticky;
  top:100px;
}
.topic-box,
.test-box{
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--soft-shadow);
  border-radius:28px;
  padding:30px;
}
.topic-box.blue,
.test-box.blue{
  background:var(--brand);
  color:#fff;
  overflow:hidden;
  position:relative;
}
.topic-box.blue h2,
.topic-box.blue h3,
.test-box.blue h2,
.test-box.blue h3{
  color:#fff;
}
.topic-box.blue p,
.test-box.blue p{
  color:rgba(255,255,255,.76);
}
.topic-box h2,
.test-box h2{
  font-size:clamp(2.1rem,4vw,3.2rem);
}
.topic-list{
  display:grid;
  gap:14px;
  margin:0;
  padding:0;
  list-style:none;
}
.topic-list li{
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  padding:18px 20px;
  color:var(--muted);
  box-shadow:0 10px 34px rgba(6,27,39,.06);
}
.topic-list strong{
  display:block;
  color:var(--brand);
  margin-bottom:5px;
}
.topic-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.info-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  padding:24px;
  box-shadow:var(--soft-shadow);
}
.info-card h3{
  font-size:1.08rem;
}
.info-card p{
  font-size:.94rem;
  margin-bottom:0;
}
.topic-callout,
.test-callout{
  margin-top:24px;
  border-left:4px solid var(--accent);
  background:#F3F9FD;
  border-radius:18px;
  padding:18px 20px;
  color:var(--muted);
}
.topic-steps{
  display:grid;
  gap:16px;
}
.topic-step{
  display:grid;
  grid-template-columns:54px 1fr;
  gap:16px;
  align-items:start;
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  padding:22px;
  box-shadow:var(--soft-shadow);
}
.topic-step b{
  width:54px;
  height:54px;
  border-radius:17px;
  background:var(--brand);
  color:#fff;
  display:grid;
  place-items:center;
}
.topic-step p{
  margin-bottom:0;
}
.topic-faq{
  display:grid;
  gap:14px;
}
.topic-faq details{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:18px 20px;
  box-shadow:0 10px 30px rgba(6,27,39,.06);
}
.topic-faq summary{
  cursor:pointer;
  font-weight:850;
  color:var(--brand);
}
.topic-faq p{
  margin:12px 0 0;
}
.breadcrumb{
  color:rgba(255,255,255,.65);
  font-weight:750;
  margin-bottom:20px;
  font-size:.9rem;
}
.breadcrumb a{
  color:#fff;
}
.refs{
  font-size:.82rem;
  color:var(--muted);
}
.refs a{
  text-decoration:underline;
  text-underline-offset:3px;
}

/* Página do teste ASRS */
.asrs-wrap{
  display:grid;
  gap:22px;
}
.asrs-progress{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
  font-size:.9rem;
  color:var(--muted);
}
.asrs-progress-bar{
  flex:1;
  height:10px;
  background:#E3EEF6;
  border-radius:999px;
  overflow:hidden;
}
.asrs-progress-fill{
  width:0%;
  height:100%;
  background:linear-gradient(135deg,var(--accent),#1666A7);
  transition:width .25s ease;
}
.asrs-form{
  display:grid;
  gap:16px;
}
.asrs-question{
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:var(--soft-shadow);
  padding:22px;
}
.asrs-question-head{
  display:grid;
  grid-template-columns:48px 1fr;
  gap:14px;
  align-items:start;
  margin-bottom:18px;
}
.asrs-question-number{
  width:48px;
  height:48px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:var(--brand);
  color:#fff;
  font-weight:900;
}
.asrs-question h3{
  margin:0;
  font-size:1.04rem;
  line-height:1.4;
}
.asrs-part{
  display:inline-flex;
  margin-top:8px;
  padding:5px 9px;
  border-radius:999px;
  background:#EEF7FD;
  color:var(--accent);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.asrs-options{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
}
.asrs-options label{
  cursor:pointer;
  border:1px solid var(--line);
  border-radius:16px;
  padding:12px 8px;
  text-align:center;
  color:var(--muted);
  font-size:.82rem;
  font-weight:800;
  background:#FAFDFF;
  transition:.18s ease;
}
.asrs-options input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.asrs-options label:has(input:checked){
  background:linear-gradient(135deg,var(--accent),#1666A7);
  color:#fff;
  border-color:transparent;
  box-shadow:0 12px 28px rgba(42,141,228,.22);
}
.asrs-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:8px;
}
.asrs-warning{
  display:none;
  border-radius:18px;
  padding:14px 16px;
  background:#FFF6E1;
  color:#7B5500;
  border:1px solid #F1D48B;
  font-weight:750;
}
.asrs-result{
  display:none;
  border-radius:30px;
  padding:30px;
  background:var(--brand);
  color:#fff;
  box-shadow:var(--shadow);
  margin-top:24px;
}
.asrs-result h2{
  color:#fff;
  font-size:clamp(2rem,4vw,3rem);
}
.asrs-result p{
  color:rgba(255,255,255,.78);
}
.asrs-result-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:22px 0;
}
.asrs-score-card{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.13);
  border-radius:20px;
  padding:18px;
}
.asrs-score-card strong{
  display:block;
  font-size:1.9rem;
  line-height:1;
  color:#fff;
}
.asrs-score-card span{
  display:block;
  color:rgba(255,255,255,.7);
  font-size:.82rem;
  margin-top:8px;
}
.asrs-result-note{
  background:rgba(255,255,255,.07);
  border-left:4px solid var(--accent-soft);
  border-radius:18px;
  padding:16px 18px;
  margin-top:18px;
}
.asrs-result .btn-outline{
  border-color:rgba(255,255,255,.62);
  color:#fff;
}
.asrs-scale-help{
  font-size:.9rem;
  color:var(--muted);
  margin-top:12px;
}
@media(max-width:980px){
  .topic-hero-grid,
  .test-hero-grid,
  .topic-grid,
  .test-grid{
    grid-template-columns:1fr;
  }
  .topic-sticky,
  .test-sticky{
    position:relative;
    top:auto;
  }
  .topic-cards{
    grid-template-columns:1fr;
  }
  .topic-hero,
  .test-hero{
    padding:58px 0;
  }
}
@media(max-width:720px){
  .asrs-options{
    grid-template-columns:1fr;
  }
  .asrs-options label{
    text-align:left;
    padding:13px 14px;
  }
  .asrs-result-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:620px){
  .topic-step,
  .asrs-question-head{
    grid-template-columns:1fr;
  }
  .topic-step b,
  .asrs-question-number{
    width:48px;
    height:48px;
  }
  .topic-hero h1,
  .test-hero h1{
    font-size:clamp(3.2rem,16vw,4.7rem);
  }
}


/* Ajustes ASRS-18 corrigido */
.asrs-interpretation-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:18px;
}
.asrs-interpretation-card{
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.07);
  border-radius:20px;
  padding:18px;
}
.asrs-interpretation-card strong{
  color:#fff;
  display:block;
  font-size:1.9rem;
  line-height:1;
}
.asrs-interpretation-card span{
  color:rgba(255,255,255,.72);
  display:block;
  margin-top:8px;
  font-size:.88rem;
}
.asrs-criteria-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  margin-top:24px;
}
.asrs-criterion{
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  padding:18px;
  box-shadow:0 10px 34px rgba(6,27,39,.06);
}
.asrs-criterion b{
  width:42px;
  height:42px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:var(--brand);
  color:#fff;
  margin-bottom:12px;
}
.asrs-criterion p{
  margin:0;
  color:var(--muted);
  font-size:.9rem;
}
.asrs-positive-list{
  display:grid;
  gap:10px;
  margin-top:16px;
}
.asrs-positive-item{
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  padding:12px 14px;
  color:rgba(255,255,255,.82);
  font-size:.9rem;
}
.asrs-positive-item strong{
  color:#fff;
}
.asrs-empty-positive{
  color:rgba(255,255,255,.72);
  margin-top:14px;
}
.asrs-result-grid.two{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
@media(max-width:980px){
  .asrs-criteria-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:720px){
  .asrs-interpretation-grid,
  .asrs-result-grid.two{
    grid-template-columns:1fr;
  }
}


/* Ajustes ASRS-18 v2: numeração 1A–9A e 1B–9B */
.asrs-question-number{
  font-size:.95rem;
  letter-spacing:.02em;
}


/* Resultado ASRS-18 em PDF/Impressão */
button.btn{
  border:0;
  cursor:pointer;
  font:inherit;
}
button.btn-outline{
  border:1px solid rgba(255,255,255,.62);
}
.pdf-report{
  display:none;
}
@media print{
  body.asrs-printing *{
    visibility:hidden !important;
  }
  body.asrs-printing #asrsPdfReport,
  body.asrs-printing #asrsPdfReport *{
    visibility:visible !important;
  }
  body.asrs-printing #asrsPdfReport{
    display:block !important;
    position:absolute;
    left:0;
    top:0;
    width:100%;
    padding:0;
    color:#111;
    background:#fff;
    font-family:Arial, Helvetica, sans-serif;
  }
  @page{
    size:A4;
    margin:16mm;
  }
}
.pdf-document{
  width:100%;
  max-width:760px;
  margin:0 auto;
  color:#111;
  background:#fff;
  font-family:Arial, Helvetica, sans-serif;
  line-height:1.45;
}
.pdf-header{
  border-bottom:2px solid #061B27;
  padding-bottom:14px;
  margin-bottom:18px;
}
.pdf-header h1{
  font-family:Georgia, 'Times New Roman', serif;
  font-size:28px;
  line-height:1.1;
  margin:0 0 8px;
  letter-spacing:-.02em;
  color:#061B27;
}
.pdf-header p{
  margin:3px 0;
  font-size:12px;
  color:#333;
}
.pdf-section{
  margin:18px 0;
}
.pdf-section h2{
  font-family:Georgia, 'Times New Roman', serif;
  font-size:20px;
  margin:0 0 8px;
  color:#061B27;
}
.pdf-box{
  border:1px solid #C9D6DF;
  border-radius:10px;
  padding:12px 14px;
  margin:10px 0;
  background:#F7FBFE;
}
.pdf-score-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:12px 0;
}
.pdf-score{
  border:1px solid #C9D6DF;
  border-radius:10px;
  padding:12px;
  background:#fff;
}
.pdf-score strong{
  display:block;
  font-size:24px;
  color:#061B27;
}
.pdf-score span{
  display:block;
  font-size:12px;
  color:#555;
}
.pdf-list{
  margin:8px 0 0;
  padding-left:18px;
}
.pdf-list li{
  margin-bottom:5px;
  font-size:12px;
}
.pdf-disclaimer{
  font-size:11px;
  color:#444;
  border-top:1px solid #C9D6DF;
  margin-top:20px;
  padding-top:12px;
}

/* Correção mobile - ASRS */
@media(max-width: 760px){
  .test-page .reveal,
  .test-page .fx-left,
  .test-page .fx-right,
  .test-page .fx-card,
  .test-page .fx-rise-deep,
  .test-page .fx-scale,
  .test-page .fx-clip{
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    filter:none !important;
    clip-path:none !important;
  }
  .test-page .asrs-wrap,
  .test-page .asrs-form,
  .test-page .asrs-question,
  .test-page .asrs-options{
    display:grid !important;
    opacity:1 !important;
    visibility:visible !important;
  }
  .test-page .asrs-options{
    grid-template-columns:1fr !important;
  }
  .test-page .asrs-options label{
    display:block !important;
    min-height:48px;
    opacity:1 !important;
    visibility:visible !important;
  }
  .test-page .test-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
  }
  .test-page .test-section{
    min-height:auto !important;
    overflow:visible !important;
  }
}
.asrs-options label.is-selected{
  background:linear-gradient(135deg,var(--accent),#1666A7);
  color:#fff;
  border-color:transparent;
  box-shadow:0 12px 28px rgba(42,141,228,.22);
}


/* Áreas — cards, página central e links relacionados */
.area-intro{max-width:780px;margin:18px auto 0;color:var(--muted);font-size:1.03rem;line-height:1.7}
.area .card-link{display:inline-flex;margin-top:16px;color:var(--accent);font-weight:900;font-size:.88rem}
.areas-more-card{margin-top:34px;border-radius:30px;background:linear-gradient(135deg,var(--brand),#092F45);color:#fff;border:1px solid rgba(255,255,255,.12);box-shadow:var(--shadow);padding:30px;display:grid;grid-template-columns:1.15fr .85fr;gap:28px;text-align:left;align-items:center;position:relative;overflow:hidden}
.areas-more-card::after{content:"";position:absolute;right:-80px;top:-80px;width:260px;height:260px;background:url("assets/asset-001-f8d75b81.png") center/contain no-repeat;opacity:.055;pointer-events:none}
.areas-more-card h3{font-family:"Instrument Serif",Georgia,serif;font-size:clamp(2.2rem,4vw,3.5rem);line-height:1;letter-spacing:-.045em;margin:0 0 14px;color:#fff}
.areas-more-card p{color:rgba(255,255,255,.76);margin:0;line-height:1.72;max-width:760px}.areas-more-actions{display:grid;gap:12px;position:relative;z-index:1}.areas-more-card .btn-outline{border-color:rgba(255,255,255,.55);color:#fff}
.related-grid .area.mini{padding:22px;text-align:left}.related-grid .area.mini .area-icon{margin:0 0 14px}.areas-directory-page .areas-directory-group:nth-child(even){background:linear-gradient(180deg,#F3F9FD 0%,#FFFFFF 100%)}.areas-directory-page .area-grid{margin-top:0;text-align:center}.areas-directory-page .area{text-align:center}.areas-directory-page .topic-section{padding:74px 0}
@media(max-width:980px){.areas-more-card{grid-template-columns:1fr;text-align:left;padding:26px}.areas-more-actions{display:grid}}
@media(max-width:520px){.area .card-link{margin-top:12px}.areas-more-card{border-radius:24px;padding:22px}}

/* Ajustes landing: bloco de outras áreas mais compacto */
.areas-more-card{
  margin-top:26px;
  border-radius:24px;
  padding:22px 24px;
  grid-template-columns:1.35fr .65fr;
  gap:22px;
  box-shadow:0 18px 50px rgba(6,27,39,.18);
}
.areas-more-card::after{
  width:210px;
  height:210px;
  right:-70px;
  top:-70px;
}
.areas-more-card h3{
  font-size:clamp(1.75rem,3vw,2.45rem);
  line-height:1.03;
  margin-bottom:10px;
}
.areas-more-card p{
  line-height:1.55;
  font-size:.96rem;
  max-width:720px;
}
.areas-more-card .eyebrow{
  margin-bottom:8px;
}
.areas-more-actions{
  gap:10px;
}
.areas-more-actions .btn{
  min-height:48px;
  padding:0 18px;
  border-radius:13px;
}
@media(max-width:980px){
  .areas-more-card{padding:22px;grid-template-columns:1fr;gap:18px}
}
@media(max-width:520px){
  .areas-more-card{padding:20px;border-radius:22px}
  .areas-more-card h3{font-size:2rem}
}

/* Correção mobile — Avaliações e Instagram
   Mantém o desktop como está e, no celular, evita cortes/estouro das imagens. */
@media (max-width: 760px) {
  .reviews-section {
    overflow: hidden !important;
  }

  .reviews-shell {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .reviews-summary {
    position: relative !important;
    top: auto !important;
    padding: 24px !important;
    border-radius: 26px !important;
  }

  .reviews-columns {
    display: flex !important;
    gap: 14px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 4px 2px 14px !important;
    margin: 0 -2px !important;
    align-items: flex-start !important;
  }

  .reviews-col {
    display: contents !important;
  }

  .review-shot {
    flex: 0 0 88% !important;
    width: 88% !important;
    max-width: 430px !important;
    min-width: 0 !important;
    scroll-snap-align: start !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    transform: none !important;
  }

  .review-shot img {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
    display: block !important;
    transform: none !important;
  }

  .review-shot:hover,
  .review-shot:hover img {
    transform: none !important;
  }

  .instagram-strip {
    overflow: hidden !important;
  }

  .instagram-card {
    grid-template-columns: 1fr !important;
    padding: 22px !important;
    border-radius: 26px !important;
    overflow: hidden !important;
  }

  .instagram-preview-row {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 14px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 2px 2px 14px !important;
    margin: 0 -2px !important;
    align-items: flex-start !important;
  }

  .instagram-post {
    flex: 0 0 82% !important;
    width: 82% !important;
    min-width: 0 !important;
    aspect-ratio: auto !important;
    min-height: 0 !important;
    height: auto !important;
    scroll-snap-align: start !important;
    background: #fff !important;
    border: 1px solid rgba(6,27,39,.10) !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    transform: none !important;
  }

  .instagram-post img {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-width: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: #fff !important;
    display: block !important;
    transform: none !important;
  }

  .instagram-post::after,
  .instagram-post::before {
    display: none !important;
  }

  .instagram-post span {
    position: static !important;
    display: block !important;
    color: var(--brand) !important;
    background: #fff !important;
    padding: 12px 13px 14px !important;
    font-size: .9rem !important;
    line-height: 1.35 !important;
    text-shadow: none !important;
  }

  .instagram-post:hover,
  .instagram-post:hover img,
  .instagram-card:hover img {
    transform: none !important;
  }
}

@media (max-width: 420px) {
  .review-shot {
    flex-basis: 91% !important;
    width: 91% !important;
  }

  .instagram-post {
    flex-basis: 88% !important;
    width: 88% !important;
  }

  .reviews-summary h2,
  .instagram-copy h2 {
    font-size: clamp(2rem, 11vw, 2.65rem) !important;
  }
}

/* Ajustes mobile finais — menu, redução de rolagem e padronização de carrosséis */
.mobile-menu-panel{
  display:none;
}
.mobile-menu-toggle{
  border:0;
  cursor:pointer;
  font-family:inherit;
}
.mobile-scroll-hint{
  display:none;
}
.review-pair{
  display:grid;
  gap:14px;
}

@media(max-width:980px){
  .mobile-cta.mobile-menu-toggle{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,.08) !important;
    border:1px solid rgba(191,226,255,.32) !important;
    color:#fff !important;
    box-shadow:none !important;
    padding:10px 13px !important;
    border-radius:13px !important;
    font-weight:850 !important;
    letter-spacing:.01em;
    min-height:42px;
    white-space:nowrap;
  }
  .mobile-cta.mobile-menu-toggle[aria-expanded="true"]{
    background:linear-gradient(135deg,var(--accent),#1666A7) !important;
    border-color:rgba(255,255,255,.26) !important;
  }
  .mobile-menu-panel{
    position:fixed;
    left:12px;
    right:12px;
    top:74px;
    z-index:1100;
    display:grid;
    gap:8px;
    padding:12px;
    border-radius:22px;
    background:rgba(6,27,39,.97);
    border:1px solid rgba(191,226,255,.24);
    box-shadow:0 22px 58px rgba(0,0,0,.34);
    backdrop-filter:blur(14px);
    opacity:0;
    visibility:hidden;
    transform:translateY(-8px);
    pointer-events:none;
    transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
  }
  .mobile-menu-panel.is-open{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
    pointer-events:auto;
  }
  .mobile-menu-panel a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-height:48px;
    padding:12px 14px;
    border-radius:14px;
    color:rgba(255,255,255,.9);
    font-weight:750;
    background:rgba(255,255,255,.045);
    border:1px solid rgba(255,255,255,.075);
  }
  .mobile-menu-panel a:hover{
    color:#fff;
    background:rgba(42,141,228,.20);
    border-color:rgba(191,226,255,.22);
  }
  .mobile-menu-panel a.mobile-menu-primary{
    background:linear-gradient(135deg,var(--accent),#1666A7);
    color:#fff;
    justify-content:center;
  }

  /* O bloco de credenciais já aparece abaixo da foto no mobile; esconder para reduzir rolagem. */
  .trust{
    display:none !important;
  }
}

@media(max-width:820px){
  .process-grid-detailed{
    display:flex !important;
    grid-template-columns:none !important;
    gap:14px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scroll-snap-type:x mandatory !important;
    -webkit-overflow-scrolling:touch !important;
    padding:4px 2px 14px !important;
    margin-top:22px !important;
    align-items:stretch !important;
  }
  .process-grid-detailed .process-card{
    flex:0 0 84% !important;
    width:84% !important;
    max-width:390px !important;
    min-height:310px !important;
    scroll-snap-align:start !important;
    display:flex !important;
    flex-direction:column !important;
    transform:none !important;
  }
  .process-grid-detailed .process-card b{
    margin-bottom:18px !important;
  }
  .mobile-scroll-hint{
    display:block;
    margin:14px auto 0;
    color:#6B7E8D;
    font-weight:750;
    font-size:.92rem;
  }
}

@media(max-width:420px){
  .process-grid-detailed .process-card{
    flex-basis:88% !important;
    width:88% !important;
    min-height:330px !important;
  }
}

@media(max-width:760px){
  /* Avaliações: slides com altura estável; avaliações curtas agrupadas em pares. */
  .reviews-columns.reviews-carousel{
    display:flex !important;
    grid-template-columns:none !important;
    gap:14px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scroll-snap-type:x mandatory !important;
    -webkit-overflow-scrolling:touch !important;
    padding:4px 2px 14px !important;
    margin:0 -2px !important;
    align-items:stretch !important;
  }
  .reviews-columns.reviews-carousel .review-slide{
    flex:0 0 88% !important;
    width:88% !important;
    max-width:430px !important;
    min-width:0 !important;
    height:clamp(245px, 58vw, 345px) !important;
    scroll-snap-align:start !important;
    transform:none !important;
  }
  .reviews-columns.reviews-carousel > .review-shot.review-slide{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#fff !important;
  }
  .reviews-columns.reviews-carousel > .review-shot.review-slide img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    display:block !important;
  }
  .reviews-columns.reviews-carousel .review-pair{
    display:grid !important;
    grid-template-rows:1fr 1fr !important;
    gap:12px !important;
  }
  .reviews-columns.reviews-carousel .review-pair .review-shot{
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    min-width:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:18px !important;
    overflow:hidden !important;
    background:#fff !important;
    scroll-snap-align:none !important;
    transform:none !important;
  }
  .reviews-columns.reviews-carousel .review-pair .review-shot img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    display:block !important;
    transform:none !important;
  }

  /* Instagram: todos os posts do carrossel mobile ficam com tamanho padronizado. */
  .instagram-preview-row{
    align-items:stretch !important;
  }
  .instagram-post{
    flex:0 0 78% !important;
    width:78% !important;
    max-width:310px !important;
    height:410px !important;
    display:flex !important;
    flex-direction:column !important;
    background:#fff !important;
    border:1px solid rgba(6,27,39,.10) !important;
    border-radius:20px !important;
    overflow:hidden !important;
    scroll-snap-align:start !important;
    transform:none !important;
  }
  .instagram-post img{
    width:100% !important;
    height:330px !important;
    min-height:330px !important;
    object-fit:cover !important;
    object-position:center center !important;
    display:block !important;
    transform:none !important;
    background:#fff !important;
  }
  .instagram-post span{
    position:static !important;
    flex:1 1 auto !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden !important;
    color:var(--brand) !important;
    background:#fff !important;
    padding:12px 13px 14px !important;
    font-size:.9rem !important;
    line-height:1.35 !important;
    text-shadow:none !important;
    min-height:72px;
  }
}

@media(max-width:420px){
  .reviews-columns.reviews-carousel .review-slide{
    flex-basis:91% !important;
    width:91% !important;
    height:clamp(250px, 68vw, 335px) !important;
  }
  .instagram-post{
    flex-basis:82% !important;
    width:82% !important;
    height:392px !important;
  }
  .instagram-post img{
    height:314px !important;
    min-height:314px !important;
  }
}

/* Ajuste mobile — Áreas em carrossel e CTA de outras áreas mais enxuto */
@media(max-width:760px){
  .area-section .area-grid-expanded{
    display:flex !important;
    grid-template-columns:none !important;
    gap:14px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scroll-snap-type:x mandatory !important;
    -webkit-overflow-scrolling:touch !important;
    padding:4px 2px 14px !important;
    margin-top:24px !important;
    margin-left:-2px !important;
    margin-right:-2px !important;
    align-items:stretch !important;
    text-align:center !important;
  }
  .area-section .area-grid-expanded .area{
    flex:0 0 82% !important;
    width:82% !important;
    max-width:340px !important;
    min-width:0 !important;
    min-height:250px !important;
    scroll-snap-align:start !important;
    transform:none !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
  }
  .area-section .areas-mobile-hint{
    display:block !important;
    margin-top:10px !important;
  }
  .area-section .areas-more-card{
    margin-top:22px !important;
  }
  .area-section .areas-more-card .areas-more-actions{
    display:block !important;
  }
  .area-section .areas-more-card .btn-outline{
    display:none !important;
  }
}
@media(max-width:420px){
  .area-section .area-grid-expanded .area{
    flex-basis:86% !important;
    width:86% !important;
  }
}

/* Página Áreas de atendimento — busca e filtros */
.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.areas-search-section{
  padding:34px 0 18px;
  background:linear-gradient(180deg,#F8FCFF 0%,#EEF7FD 100%);
  position:relative;
  z-index:2;
}
.areas-search-card{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:28px;
  align-items:center;
  padding:28px;
  border-radius:30px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(6,27,39,.10);
  box-shadow:var(--soft-shadow);
}
.areas-search-copy h2{
  font-size:clamp(2rem,3.2vw,3.1rem);
  line-height:1;
  margin:0;
}
.areas-search-copy p{
  color:var(--muted);
  margin:16px 0 0;
  line-height:1.68;
}
.areas-search-control{
  display:grid;
  gap:14px;
}
.areas-search-input-wrap{
  min-height:64px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:0 18px;
  border-radius:20px;
  background:#fff;
  border:1px solid rgba(6,27,39,.12);
  box-shadow:0 14px 34px rgba(6,27,39,.08);
}
.areas-search-input-wrap span{
  font-size:1.5rem;
  color:var(--accent);
  line-height:1;
  transform:translateY(-1px);
}
.areas-search-input-wrap input{
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  color:var(--text);
  font:inherit;
  font-weight:650;
  min-width:0;
}
.areas-search-input-wrap input::placeholder{
  color:#7B8D9B;
  font-weight:600;
}
.areas-filter-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.areas-filter-chip{
  border:1px solid rgba(6,27,39,.10);
  background:rgba(6,27,39,.045);
  color:#36505F;
  border-radius:999px;
  padding:10px 13px;
  font-family:inherit;
  font-weight:800;
  cursor:pointer;
  transition:.18s ease;
}
.areas-filter-chip:hover{
  transform:translateY(-1px);
  border-color:rgba(42,141,228,.32);
  color:var(--brand);
}
.areas-filter-chip.is-active{
  background:linear-gradient(135deg,var(--accent),#1666A7);
  border-color:transparent;
  color:#fff;
  box-shadow:0 12px 28px rgba(17,102,187,.22);
}
.areas-search-status{
  min-height:22px;
  color:#627789;
  font-size:.92rem;
  font-weight:650;
}
.areas-no-results{
  margin:18px auto 0;
  max-width:760px;
  padding:26px;
  border-radius:26px;
  background:var(--brand);
  color:#fff;
  text-align:center;
  box-shadow:var(--shadow);
}
.areas-no-results h3{
  margin:0 0 8px;
  font-size:1.22rem;
}
.areas-no-results p{
  margin:0 auto 18px;
  color:rgba(255,255,255,.74);
  max-width:560px;
}
.areas-directory-page .area.is-filtered-out,
.areas-directory-page .areas-directory-group.is-filtered-out{
  display:none!important;
}
.areas-directory-page .area mark{
  background:rgba(42,141,228,.14);
  color:inherit;
  border-radius:5px;
  padding:0 .12em;
}
@media(max-width:980px){
  .areas-search-card{
    grid-template-columns:1fr;
    gap:22px;
    padding:24px;
  }
}
@media(max-width:760px){
  .areas-search-section{
    padding:22px 0 10px;
  }
  .areas-search-card{
    border-radius:26px;
    padding:20px;
  }
  .areas-search-copy h2{
    font-size:clamp(1.9rem,9vw,2.55rem);
  }
  .areas-search-copy p{
    font-size:.96rem;
    line-height:1.58;
  }
  .areas-search-input-wrap{
    min-height:58px;
    border-radius:18px;
    padding:0 14px;
  }
  .areas-filter-chips{
    flex-wrap:nowrap;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    padding:2px 2px 10px;
    margin:0 -2px;
  }
  .areas-filter-chip{
    flex:0 0 auto;
    scroll-snap-align:start;
    white-space:nowrap;
    padding:10px 12px;
    font-size:.88rem;
  }
  .areas-no-results{
    padding:22px;
    border-radius:22px;
  }
  .areas-directory-page .topic-section{
    padding:52px 0;
  }
}

/* Frase de assinatura clínica no Sobre */
.about-signature{
  margin-top:18px !important;
  padding:18px 20px;
  border-left:3px solid var(--accent);
  background:rgba(190,149,83,.08);
  color:#102D40;
  font-family:"Instrument Serif", serif;
  font-size:1.35rem !important;
  line-height:1.45 !important;
}
@media(max-width:760px){
  .about-signature{
    font-size:1.18rem !important;
    padding:16px 18px;
  }
}

/* Ajuste mobile — remover subtítulo introdutório da seção Áreas na landing */
@media(max-width:760px){
  #areas .area-intro{
    display:none !important;
  }
}

/* Página central de testes e rastreios */
.tests-directory-page .tests-available-section,
.tests-directory-page .tests-coming-section{
  text-align:center;
}
.tests-directory-page .tests-grid{
  margin-top:34px;
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.tests-directory-page .test-directory-card{
  position:relative;
  text-align:center;
  min-height:245px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
}
.tests-directory-page .test-card-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  border-radius:999px;
  padding:0 10px;
  margin:0 0 12px;
  background:rgba(42,141,228,.11);
  color:var(--accent);
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.tests-directory-page .test-directory-card .card-link{
  margin-top:auto;
}
.tests-directory-page .is-coming-soon{
  opacity:.82;
  box-shadow:none;
}
.tests-directory-page .is-coming-soon .test-card-label{
  background:rgba(6,27,39,.07);
  color:#657B8D;
}
.tests-directory-page .is-coming-soon:hover{
  transform:none;
}
@media(max-width:980px){
  .tests-directory-page .tests-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:640px){
  .tests-directory-page .tests-grid{
    grid-template-columns:1fr;
    gap:14px;
  }
  .tests-directory-page .test-directory-card{
    min-height:0;
    padding:22px 18px;
  }
  .tests-directory-page .tests-coming-section .area-intro{
    font-size:.96rem;
    line-height:1.58;
  }
}
/* Ajuste mobile — remover CTA de agendamento do hero da página Áreas de atendimento */
@media(max-width:760px){
  .areas-directory-page .mobile-hide-area-hero-cta{
    display:none !important;
  }
}

/* v18: Instagram intro text hidden on mobile only */
@media (max-width: 768px) {
  .instagram-intro-text {
    display: none !important;
  }
}

/* v21: testes PHQ-9 e GAD-7 */
.simple-test-page .asrs-result-grid.two{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.simple-test-page .simpleRiskNote{
  background: rgba(255, 244, 230, 0.96);
  color: #5C1F12;
  border: 1px solid rgba(245, 158, 11, 0.30);
  border-left: 4px solid #F59E0B;
  border-radius: 14px;
  padding: 18px 20px;
  box-shadow: 0 12px 30px rgba(0,0,0,.10);
}
.simple-test-page .simpleRiskNote strong{color:#7C2D12}
@media(max-width:760px){
  .simple-test-page .actions .btn[href="testes-saude-mental.html"]{
    display:none;
  }
  .simple-test-page .asrs-result-grid.two{
    grid-template-columns:1fr;
  }
}


/* Ajuste de legibilidade do alerta do item 9 do PHQ-9 */
.phq-risk-alert,
.suicide-alert,
.risk-alert,
.test-risk-alert {
  background: rgba(255, 244, 230, 0.96) !important;
  color: #5C1F12 !important;
  border-left: 4px solid #F59E0B !important;
  border-radius: 14px !important;
  padding: 18px 20px !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.10) !important;
}
.phq-risk-alert *,
.suicide-alert *,
.risk-alert *,
.test-risk-alert * {
  color: #5C1F12 !important;
}
.phq-risk-alert strong,
.suicide-alert strong,
.risk-alert strong,
.test-risk-alert strong {
  color: #7C2D12 !important;
}


/* Bloco de interpretação do resultado do GAD-7 */
.gad7-interpretation-note {
  background: rgba(255,255,255,.085) !important;
  border-left: 4px solid rgba(99,179,255,.88) !important;
}
.gad7-interpretation-note p {
  margin: 10px 0 0;
}
.gad7-interpretation-note ul {
  margin: 12px 0 0;
  padding-left: 20px;
}
.gad7-interpretation-note li {
  margin: 6px 0;
}
@media (max-width: 768px) {
  .gad7-interpretation-note {
    padding: 16px !important;
  }
  .gad7-interpretation-note ul {
    padding-left: 18px;
  }
}


/* Eyebrow de SEO local nas páginas de áreas */
.local-seo-eyebrow {
  margin-top: 20px;
  margin-bottom: 18px;
  letter-spacing: .22em;
}
@media (max-width: 768px) {
  .local-seo-eyebrow {
    margin-top: 14px;
    margin-bottom: 14px;
    font-size: .72rem;
    letter-spacing: .20em;
    line-height: 1.45;
  }
}


/* Teste CBI-Br — Burnout */
.test-subsection-heading {
  margin: 34px 0 14px;
  padding-top: 8px;
}
.test-subsection-heading .eyebrow {
  color: rgba(99,179,255,.92);
}
.cbi-result-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
@media(max-width: 980px) {
  .cbi-result-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media(max-width: 640px) {
  .cbi-result-grid {
    grid-template-columns: 1fr;
  }
}


/* Teste DASS-21 */
.dass-result-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.dass-table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-top: 12px;
}
.dass-score-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  font-size: .92rem;
}
.dass-score-table th,
.dass-score-table td {
  border: 1px solid rgba(255,255,255,.14);
  padding: 10px 12px;
  text-align: left;
}
.dass-score-table th {
  color: #fff;
  background: rgba(255,255,255,.08);
}
.dass-score-table td:first-child {
  font-weight: 700;
  color: #fff;
}
@media(max-width: 760px) {
  .dass-result-grid {
    grid-template-columns: 1fr;
  }
}


/* Testes adicionais — OCI-R, AUDIT, AQ-10, MDQ */
.oci-result-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.mdq-result-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media(max-width: 980px) {
  .oci-result-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media(max-width: 720px) {
  .oci-result-grid,
  .mdq-result-grid { grid-template-columns: 1fr; }
}


/* Desktop — menu suspenso de testes */
.nav-dropdown{
  position:relative;
  display:flex;
  align-items:center;
}
.nav-dropdown-trigger{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.nav-dropdown-trigger::after{
  content:"";
  width:6px;
  height:6px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
  opacity:.72;
}
.mega-menu{
  position:absolute;
  top:calc(100% + 22px);
  left:50%;
  transform:translateX(-50%) translateY(8px);
  width:min(940px, calc(100vw - 48px));
  padding:20px;
  border-radius:26px;
  background:rgba(6,27,39,.98);
  border:1px solid rgba(191,226,255,.22);
  box-shadow:0 28px 80px rgba(0,0,0,.34);
  backdrop-filter:blur(18px) saturate(145%);
  -webkit-backdrop-filter:blur(18px) saturate(145%);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.mega-menu::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-24px;
  height:24px;
}
.nav-dropdown:hover .mega-menu,
.nav-dropdown:focus-within .mega-menu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}
.mega-menu-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
}
.mega-menu-col{
  padding:16px;
  border-radius:18px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.09);
  min-height:116px;
}
.mega-menu-col strong{
  display:block;
  color:#fff;
  font-size:.78rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:12px;
}
.mega-menu-col a{
  display:block;
  color:rgba(232,246,255,.82);
  font-size:.9rem;
  line-height:1.35;
  padding:7px 0;
}
.mega-menu-col a:hover{
  color:#fff;
}
.mega-menu-all{
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:14px;
  min-height:44px;
  border-radius:16px;
  background:linear-gradient(135deg,rgba(42,141,228,.92),rgba(22,102,167,.92));
  color:#fff !important;
  font-weight:850;
}
@media(max-width:980px){
  .mega-menu{display:none !important}
}


/* Desktop — menu de testes em listagem */
.nav-dropdown-list{
  position:relative;
  display:flex;
  align-items:center;
}
.tests-list-menu{
  position:absolute;
  top:calc(100% + 22px);
  left:50%;
  transform:translateX(-50%) translateY(8px);
  width:min(430px, calc(100vw - 48px));
  max-height:min(76vh, 720px);
  overflow:auto;
  padding:14px;
  border-radius:24px;
  background:rgba(6,27,39,.98);
  border:1px solid rgba(191,226,255,.24);
  box-shadow:0 28px 80px rgba(0,0,0,.34);
  backdrop-filter:blur(18px) saturate(145%);
  -webkit-backdrop-filter:blur(18px) saturate(145%);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.tests-list-menu::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-24px;
  height:24px;
}
.nav-dropdown-list:hover .tests-list-menu,
.nav-dropdown-list:focus-within .tests-list-menu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}
.tests-list-heading{
  color:#fff;
  font-weight:850;
  font-size:.92rem;
  padding:10px 12px 12px;
  border-bottom:1px solid rgba(255,255,255,.10);
  margin-bottom:8px;
}
.tests-list-group{
  padding:10px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.tests-list-group span{
  display:block;
  color:var(--accent-soft);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.68rem;
  font-weight:850;
  padding:0 12px 7px;
}
.tests-list-group a{
  display:block;
  color:rgba(232,246,255,.84);
  font-size:.92rem;
  line-height:1.35;
  padding:9px 12px;
  border-radius:12px;
}
.tests-list-group a:hover{
  color:#fff;
  background:rgba(255,255,255,.07);
}
.tests-list-all{
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:10px;
  min-height:44px;
  border-radius:15px;
  background:linear-gradient(135deg,rgba(42,141,228,.92),rgba(22,102,167,.92));
  color:#fff !important;
  font-weight:850;
}
@media(max-width:980px){
  .tests-list-menu{display:none !important}
}


/* Desktop — menu de Testes em cascata */
.nav-tests-cascade{
  position:relative;
  display:flex;
  align-items:center;
  z-index:80;
}
.nav-tests-cascade::after{
  content:"";
  position:absolute;
  left:-24px;
  right:-24px;
  top:100%;
  height:28px;
}
.nav-tests-cascade .tests-cascade-menu{
  position:absolute;
  top:calc(100% + 14px);
  left:50%;
  transform:translateX(-50%) translateY(8px);
  width:340px;
  padding:12px;
  border-radius:22px;
  background:rgba(6,27,39,.98);
  border:1px solid rgba(191,226,255,.24);
  box-shadow:0 28px 80px rgba(0,0,0,.34);
  backdrop-filter:blur(18px) saturate(145%);
  -webkit-backdrop-filter:blur(18px) saturate(145%);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.nav-tests-cascade:hover .tests-cascade-menu,
.nav-tests-cascade:focus-within .tests-cascade-menu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}
.tests-cascade-heading{
  color:#fff;
  font-weight:850;
  font-size:.92rem;
  padding:10px 12px 12px;
  border-bottom:1px solid rgba(255,255,255,.10);
  margin-bottom:8px;
}
.tests-cascade-group{
  position:static;
}
.tests-cascade-topic{
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:42px;
  padding:10px 12px;
  border-radius:13px;
  color:rgba(232,246,255,.88) !important;
  font-size:.92rem;
  line-height:1.25;
}
.tests-cascade-topic::after{
  content:"›";
  color:var(--accent-soft);
  font-size:1.25rem;
  line-height:1;
  opacity:.86;
}
.tests-cascade-group:hover .tests-cascade-topic,
.tests-cascade-group:focus-within .tests-cascade-topic{
  background:rgba(255,255,255,.075);
  color:#fff !important;
}
.tests-cascade-submenu{
  position:absolute;
  left:calc(100% - 1px);
  top:0;
  width:390px;
  min-height:100%;
  padding:14px;
  border-radius:22px;
  background:rgba(6,27,39,.98);
  border:1px solid rgba(191,226,255,.24);
  box-shadow:0 28px 80px rgba(0,0,0,.30);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateX(8px);
  transition:opacity .15s ease, transform .15s ease, visibility .15s ease;
}
.tests-cascade-submenu::before{
  content:"";
  position:absolute;
  left:-16px;
  top:0;
  width:16px;
  height:100%;
}
.tests-cascade-group:hover .tests-cascade-submenu,
.tests-cascade-group:focus-within .tests-cascade-submenu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(0);
}
.tests-cascade-submenu a{
  display:block;
  color:rgba(232,246,255,.86);
  font-size:.94rem;
  line-height:1.35;
  padding:11px 12px;
  border-radius:13px;
}
.tests-cascade-submenu a:hover{
  color:#fff;
  background:rgba(255,255,255,.075);
}
.tests-cascade-all{
  display:flex !important;
  align-items:center;
  justify-content:center;
  margin-top:10px;
  min-height:44px;
  border-radius:15px;
  background:linear-gradient(135deg,rgba(42,141,228,.92),rgba(22,102,167,.92));
  color:#fff !important;
  font-weight:850;
}
@media(max-width:980px){
  .tests-cascade-menu{display:none !important}
}


/* Ajustes v42 — landing avaliações e leitura do CTA de áreas */
@media(min-width:981px){
  .reviews-columns{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items:start;
    gap:14px;
  }
  .reviews-col{
    display:grid;
    gap:14px;
    align-content:start;
  }
  .reviews-col.review-slide{
    scroll-snap-align:initial;
  }
}
.areas-more-card h3{
  letter-spacing:-.012em !important;
  line-height:1.10 !important;
  font-size:clamp(1.65rem,2.55vw,2.25rem) !important;
}


/* Testes v45 — PCL-5, SPIN, PGSI e Compulsão Alimentar */
.pcl-result-grid,
.eating-result-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media(max-width: 720px) {
  .pcl-result-grid,
  .eating-result-grid {
    grid-template-columns: 1fr;
  }
}


/* Teste SNAP-IV — TDAH até 16 anos */
.snap-result-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media(max-width: 720px) {
  .snap-result-grid {
    grid-template-columns: 1fr;
  }
}


/* Teste RAADS-R — TEA adulto profundo */
.raads-result-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
@media(max-width: 1040px) {
  .raads-result-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media(max-width: 640px) {
  .raads-result-grid { grid-template-columns: 1fr; }
}


/* Teste HCL-32 — Hipomania */
.hcl-result-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media(max-width: 720px) {
  .hcl-result-grid {
    grid-template-columns: 1fr;
  }
}


/* Correção v51 — questionários longos visíveis no desktop
   Em testes com muitos itens, como RAADS-R e HCL-32, o contêiner do formulário fica alto demais
   para acionar o threshold da animação de entrada. O formulário deve ficar visível sempre. */
.test-page .asrs-wrap.reveal {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  filter: none !important;
}

/* Testes v53 — SCOFF, PHQ-15, sonolência e DES-II */
.des-options{grid-template-columns:repeat(4,minmax(0,1fr));}
@media(max-width:900px){.des-options{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:560px){.des-options{grid-template-columns:1fr;}}


/* Página Testes — busca e filtros */
.tests-directory-page .tests-search-section{
  padding-top:34px;
}
.tests-directory-page .tests-available-section{
  padding-top:58px;
}
.tests-directory-page .test-directory-card.is-filtered-out{
  display:none!important;
}
@media(max-width:760px){
  .tests-directory-page .tests-search-section{
    padding-top:22px;
  }
  .tests-directory-page .tests-available-section{
    padding-top:42px;
  }
}


/* Correção v56 — página Testes visível no mobile */
@media(max-width:760px){
  .tests-directory-page .tests-search-section .reveal,
  .tests-directory-page .tests-available-section .reveal,
  .tests-directory-page .tests-grid .test-directory-card{
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    filter:none !important;
  }
}


/* v57 — SEO e arquitetura da landing page */
.seo-hub-section{
  padding:82px 0;
  background:#fff;
}
.seo-hub-section .section-head{
  max-width:820px;
  margin:0 auto 36px;
  text-align:center;
}
.seo-hub-section .section-head h2{
  font-size:clamp(2.45rem,4.8vw,4.2rem);
}
.seo-hub-section .section-head p{
  color:var(--muted);
  max-width:680px;
  margin:18px auto 0;
}
.seo-hub-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.seo-hub-card{
  display:flex;
  flex-direction:column;
  min-height:300px;
  padding:30px;
  border-radius:26px;
  background:linear-gradient(180deg,#F8FCFF,#EEF7FD);
  border:1px solid rgba(6,27,39,.09);
  box-shadow:var(--soft-shadow);
  transition:.25s ease;
}
.seo-hub-card:hover{
  transform:translateY(-5px);
  box-shadow:0 20px 58px rgba(6,27,39,.14);
}
.seo-hub-card > span{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:var(--brand);
  color:#fff;
  font-weight:900;
  margin-bottom:25px;
}
.seo-hub-card h3{
  margin:0 0 12px;
  color:var(--brand);
  font-size:1.25rem;
}
.seo-hub-card p{
  margin:0;
  color:var(--muted);
  line-height:1.7;
}
.seo-hub-card strong{
  margin-top:auto;
  padding-top:24px;
  color:#1666A7;
}
.landing-faq-section{
  background:linear-gradient(180deg,#EEF7FD,#F8FCFF);
}
.landing-faq-grid{
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  gap:54px;
  align-items:start;
}
.landing-faq-copy{
  position:sticky;
  top:112px;
}
.landing-faq-copy h2{
  font-size:clamp(2.55rem,4.8vw,4.3rem);
}
.landing-faq-copy p{
  color:var(--muted);
  line-height:1.75;
  max-width:470px;
}
.landing-faq-copy .btn{
  margin-top:18px;
}
.landing-faq-section .topic-faq details{
  background:rgba(255,255,255,.88);
}
.landing-faq-section .topic-faq summary{
  list-style-position:inside;
}
@media(max-width:980px){
  .seo-hub-grid{grid-template-columns:1fr;}
  .seo-hub-card{min-height:0;}
  .landing-faq-grid{grid-template-columns:1fr;gap:30px;}
  .landing-faq-copy{position:static;}
}
@media(max-width:520px){
  .seo-hub-section{padding:58px 0;}
  .seo-hub-card{padding:24px;border-radius:22px;}
  .landing-faq-section .topic-faq details{padding:17px 18px;}
}


/* Atualização v58 — duração e apresentação da consulta */
.process .process-intro{
  max-width:820px;
  margin:18px auto 0;
  color:#526879;
  font-size:1.02rem;
  line-height:1.7;
}
.process .process-intro strong{
  color:var(--text);
  font-weight:850;
}
@media(max-width:760px){
  .process .process-intro{
    margin-top:14px;
    font-size:.96rem;
    line-height:1.62;
    padding:0 4px;
  }
}


/* Atualização v60 — prova social no bloco de opiniões */
.reviews-experience{
  display:flex;
  align-items:baseline;
  gap:8px;
  flex-wrap:wrap;
  margin:14px 0 4px;
  color:rgba(255,255,255,.82);
}
.reviews-experience strong{
  color:#fff;
  font-size:1.18rem;
  font-weight:900;
  letter-spacing:-.02em;
}
.reviews-experience span{
  font-weight:750;
}
@media(max-width:760px){
  .reviews-experience{
    margin-top:12px;
    gap:6px;
  }
  .reviews-experience strong{
    font-size:1.08rem;
  }
}


/* Atualização v63 — refinamento mobile da landing page */
#inicio,
#sobre,
#areas,
#avaliacoes,
#consulta,
#localizacao,
#contato{
  scroll-margin-top:86px;
}

@media(max-width:980px){
  /* Cabeçalho mais sólido para evitar textos visíveis por trás */
  .header{
    background:rgba(6,27,39,.985) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    box-shadow:0 8px 24px rgba(3,16,25,.22);
  }

  /* Proposta de valor aparece antes da fotografia */
  .hero-inner{
    padding:34px 0 54px !important;
    gap:28px !important;
  }
  .hero-copy{
    order:-1 !important;
  }
  .hero-photo-wrap{
    order:0 !important;
    margin-top:2px !important;
  }
  .hero-photo img{
    height:340px !important;
    object-position:center 15% !important;
  }
  .hero-brand-badge{
    margin-top:12px !important;
    padding:14px !important;
  }

  /* Âncoras não ficam escondidas pelo cabeçalho sticky */
  #inicio,
  #sobre,
  #areas,
  #avaliacoes,
  #consulta,
  #localizacao,
  #contato{
    scroll-margin-top:76px;
  }

  /* Botão flutuante menos invasivo */
  .floating{
    left:auto !important;
    right:14px !important;
    bottom:14px !important;
    width:auto !important;
    max-width:calc(100vw - 28px);
    min-height:50px;
    padding:12px 17px !important;
    font-size:.88rem;
    line-height:1.15;
    text-align:center;
    white-space:nowrap;
    box-shadow:0 14px 34px rgba(5,25,48,.26) !important;
  }

  /* Alvos de toque mais confortáveis */
  .mobile-cta.mobile-menu-toggle{
    min-width:78px;
    min-height:46px !important;
  }
  .office-nav{
    width:46px !important;
    height:46px !important;
    min-width:46px;
    min-height:46px;
  }
  .office-thumb{
    min-height:48px;
  }
}

@media(max-width:520px){
  .hero-inner{
    padding-top:26px !important;
  }
  .hero-copy .kicker{
    margin-bottom:14px !important;
  }
  .hero-photo img{
    height:278px !important;
    object-position:center 13% !important;
  }
  .hero-brand-badge{
    align-items:center !important;
  }
  .hero-brand-badge span{
    font-size:.80rem;
  }
  .floating{
    right:12px !important;
    bottom:12px !important;
    min-height:48px;
    padding:11px 15px !important;
    font-size:.84rem;
  }
  .office-prev{left:8px !important}
  .office-next{right:8px !important}
}


/* Atualização v64 — botão flutuante WhatsApp compacto */
.floating{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.floating-whatsapp-icon{
  display:inline-flex;
  width:19px;
  height:19px;
  flex:0 0 19px;
  color:#fff;
}
.floating-whatsapp-icon svg{
  display:block;
  width:100%;
  height:100%;
}
@media(max-width:520px){
  .floating{
    gap:7px;
    padding:11px 16px !important;
    font-size:.86rem;
  }
  .floating-whatsapp-icon{
    width:18px;
    height:18px;
    flex-basis:18px;
  }
}
