.home-joie {
  --home-blue:#143b8f; --home-deep:#17245e; --home-pink:#d92668;
  --home-cyan:#45beef; --home-yellow:#f8bc3b; --home-purple:#a86de2;
  --home-text:#53617b; --home-bg:#fffdfc; --home-line:#e8edf4;
  --home-shadow:0 6px 20px rgb(24 35 79 / 5%);
  background:var(--home-bg); color:var(--home-text); font-family:Poppins,Arial,sans-serif; line-height:1.6;
}
.home-joie [hidden] { display:none !important; }
.home-joie .jh-container { width:min(1240px,100%); padding-inline:40px; margin-inline:auto; }
.home-joie .jh-section { padding-block:52px; }
.home-joie main h1,.home-joie main h2 { font-family:Fredoka,Poppins,sans-serif; font-weight:600; color:var(--home-deep); line-height:1.12; letter-spacing:-.015em; margin:0 0 20px; }
.home-joie main h1 { font-size:clamp(38px,3.65vw,54px); }
.home-joie main h2 { font-size:clamp(29px,2.8vw,40px); }
.home-joie main h3 { font-size:17px; line-height:1.35; color:var(--home-deep); margin:0 0 10px; }
.home-joie main p { margin:0 0 22px; font-size:14px; }
.home-joie main a { color:var(--home-blue); }
.home-joie :is(a,button,summary,input):focus-visible { outline:3px solid var(--home-blue); outline-offset:4px; }
.home-joie .jh-kicker { color:var(--home-pink); text-transform:uppercase; font-weight:600; letter-spacing:.15em; font-size:11px; margin-bottom:14px; }
.home-joie .jh-heading { text-align:center; margin-bottom:36px; }
.home-joie .jh-heading > p:last-child { max-width:700px; margin:0 auto; }
.home-joie .jh-button,.home-joie .exp-header-cta { display:inline-flex; align-items:center; justify-content:center; gap:16px; min-height:48px; padding:12px 25px; border-radius:999px; font-size:13px; font-weight:600; text-decoration:none; border:1px solid transparent; text-align:center; transition:transform .18s; }
.home-joie .jh-button:hover,.home-joie .exp-header-cta:hover { transform:translateY(-2px); }
.home-joie .jh-primary,.home-joie .exp-header-cta { background:var(--home-pink); color:#fff; }
.home-joie .jh-outline { color:var(--home-pink); border-color:var(--home-pink); background:transparent; }
.home-joie .header { background:var(--home-bg); box-shadow:0 2px 10px rgb(24 35 79 / 3%); }
.home-joie .header .container { max-width:1240px; padding-inline:40px; gap:24px; }
.home-joie .main-nav { margin-left:auto; }
.home-joie .main-nav a { color:var(--home-deep); font-size:12px; margin-left:23px; }
.home-joie .exp-header-cta { font-size:12px; min-height:42px; padding:9px 20px; flex-shrink:0; }
.home-joie .jh-hero { position:relative; background:#fff7ef; padding-bottom:34px; }
.home-joie .jh-hero-grid { display:grid; grid-template-columns:1fr 1fr; min-height:500px; gap:24px; }
.home-joie .jh-hero-copy { align-self:center; padding-block:44px; position:relative; z-index:2; }
.home-joie .jh-hero h1 span { display:block; color:var(--home-pink); }
.home-joie .jh-hero-copy > p:not(.jh-kicker) { max-width:490px; font-size:16px; }
.home-joie .jh-hero-visual { position:relative; margin-right:min(0px,calc((1240px - 100vw)/2)); }
.home-joie .jh-hero-photo { position:absolute; width:100%; height:100%; object-fit:cover; object-position:55% 35%; }
.home-joie .jh-hero-visual::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#fff7ef,transparent 27%); pointer-events:none; }
.home-joie .jh-guide { position:absolute; right:20px; bottom:0; width:185px; z-index:2; }
.home-joie .jh-guide img { display:block; width:100%; height:auto; }
.home-joie .jh-speech { background:rgb(255 253 252 / 95%); border-radius:24px; padding:18px; color:var(--home-deep); box-shadow:var(--home-shadow); }
.home-joie .jh-guide .jh-speech { font-size:11px; line-height:1.5; margin:0 0 -8px; }
.home-joie .jh-speech strong { display:block; }
.home-joie .jh-proof { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:34px; }
.home-joie .jh-proof > div { display:flex; gap:10px; align-items:center; font-size:10px; color:var(--home-deep); line-height:1.45; }
.home-joie .jh-proof i { color:var(--home-yellow); font-size:27px; flex-shrink:0; }
.home-joie .jh-proof > div:nth-child(2) i { color:var(--home-pink); }
.home-joie .jh-proof strong { display:block; }
.home-joie .jh-wave { color:var(--home-bg); position:absolute; bottom:-1px; left:0; width:100%; height:55px; pointer-events:none; }
.home-joie .jh-profile-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:18px; }
.home-joie .jh-profile { background:#faf7f4; text-decoration:none; border-radius:22px; box-shadow:var(--home-shadow); min-width:0; display:flex; flex-direction:column; }
.home-joie .jh-profile > img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:22px 22px 0 0; }
.home-joie .jh-profile-placeholder { aspect-ratio:4/3; background:#eef8fc; border-radius:22px 22px 0 0; }
.home-joie .jh-profile-copy { position:relative; padding:30px 20px 18px; display:flex; flex-direction:column; align-items:start; flex:1; }
.home-joie .jh-profile h3 { font-size:16px; }
.home-joie .jh-profile p { font-size:12px; line-height:1.5; flex:1; margin-bottom:18px; color:var(--home-text); }
.home-joie .jh-profile-icon { position:absolute; top:-25px; width:50px; height:50px; display:grid; place-items:center; background:var(--home-bg); border-radius:50%; box-shadow:var(--home-shadow); color:var(--home-pink); font-size:24px; }
.home-joie .jh-profile:nth-child(2) .jh-profile-icon { color:var(--home-purple); }
.home-joie .jh-profile:nth-child(4) .jh-profile-icon { color:var(--home-blue); }
.home-joie .jh-arrow { display:grid; place-items:center; border-radius:999px; background:#fff; box-shadow:0 2px 9px rgb(24 35 79 / 8%); width:48px; min-height:40px; color:var(--home-blue); text-decoration:none; font-size:21px; }
.home-joie .jh-profile .jh-arrow { align-self:center; }
.home-joie .jh-featured-grid { display:grid; grid-template-columns: .9fr 1.35fr; align-items:center; gap:42px; }
.home-joie .jh-featured-intro h2 { font-size:clamp(29px,2.6vw,38px); }
.home-joie .jh-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.home-joie .jh-service { border-radius:22px; box-shadow:var(--home-shadow); background:#fff; display:flex; flex-direction:column; min-width:0; }
.home-joie .jh-service-photo { display:block; border-radius:22px 22px 0 0; overflow:hidden; }
.home-joie .jh-service-photo img { display:block; width:100%; height:auto; aspect-ratio:1.65; object-fit:cover; }
.home-joie .jh-service-copy { padding:20px 16px 16px; flex:1; display:flex; flex-direction:column; }
.home-joie .jh-service h3 { font-size:15px; }
.home-joie .jh-service h3 a { color:inherit; text-decoration:none; }
.home-joie .jh-service-copy > p { font-size:11px; flex:1; }
.home-joie .jh-service-bottom { display:flex; gap:10px; align-items:center; justify-content:space-between; font-size:10px; }
.home-joie .jh-service-bottom .jh-arrow { flex-shrink:0; width:40px; }
.home-joie .jh-recreation-panel { position:relative; background:#fff1f6; border-radius:30px; overflow:hidden; min-height:360px; display:grid; grid-template-columns:.95fr 1.05fr; }
.home-joie .jh-recreation-photo { position:absolute; right:0; width:65%; height:100%; object-fit:cover; }
.home-joie .jh-recreation-panel::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#fff1f6 28%,rgb(255 241 246 / 95%) 36%,transparent 64%); pointer-events:none; }
.home-joie .jh-recreation-copy { position:relative; z-index:1; padding:40px; }
.home-joie .jh-recreation-copy h2 { font-size:clamp(34px,3vw,45px); }
.home-joie .jh-recreation-guide { width:175px; right:18px; bottom:0; }
.home-joie .jh-recreation-guide img { transform:translateY(38px); }
.home-joie .jh-recreation-guide .jh-speech { transform:translateY(55px); }
.home-joie .jh-benefit-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:32px; margin-top:45px; }
.home-joie .jh-benefit-grid > div { text-align:center; }
.home-joie .jh-benefit-grid i { font-size:36px; color:var(--home-pink); margin-bottom:20px; }
.home-joie .jh-benefit-grid > div:nth-child(2) i { color:var(--home-cyan); }
.home-joie .jh-benefit-grid > div:nth-child(3) i { color:var(--home-yellow); }
.home-joie .jh-benefit-grid > div:nth-child(4) i { color:var(--home-purple); }
.home-joie .jh-benefit-grid > div:nth-child(5) i { color:var(--home-cyan); }
.home-joie .jh-benefit-grid p { font-size:12px; font-weight:600; color:var(--home-deep); margin:0; }
.home-joie .jh-team { background:#f8edf2; border-radius:8% 8% 4% 4% / 30px 30px 20px 20px; }
.home-joie .jh-team-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px 65px; align-items:center; }
.home-joie .jh-team-grid > img { display:block; width:100%; height:auto; aspect-ratio:1.6; object-fit:cover; border-radius:60px 32px 60px 32px; }
.home-joie .jh-team-region { font-size:12px; }
.home-joie .jh-method { grid-column:1/-1; scroll-margin-top:100px; }
.home-joie summary { list-style:none; cursor:pointer; font-weight:600; color:var(--home-deep); display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px 0; }
.home-joie summary::-webkit-details-marker { display:none; }
.home-joie summary span { color:var(--home-pink); }
.home-joie details[open] > summary span { transform:rotate(45deg); }
.home-joie .jh-method > summary > .jh-disclosure-arrow { display:inline-block; color:var(--home-pink); font-size:27px; line-height:1; transition:transform .2s ease; }
.home-joie .jh-method[open] > summary > .jh-disclosure-arrow { transform:rotate(90deg); }
.home-joie .jh-method-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; padding-top:20px; }
.home-joie .jh-method-grid h3 { font-size:17px; }
.home-joie .jh-review-track { display:flex; gap:24px; align-items:start; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; padding:8px 4px 20px; scrollbar-width:none; -ms-overflow-style:none; height:var(--review-track-height,auto); }
.home-joie .jh-review-track::-webkit-scrollbar { display:none; width:0; height:0; }
.home-joie .jh-review { flex:0 0 calc((100% - 48px)/3); padding:26px; border-radius:24px; background:#fff; box-shadow:var(--home-shadow); display:flex; flex-direction:column; scroll-snap-align:start; min-width:0; }
.home-joie .jh-review .jh-quote { font-size:13px; flex:1; color:var(--home-deep); }
.home-joie .jh-review-person { display:flex; gap:14px; align-items:center; }
.home-joie .jh-avatar { width:44px; height:44px; border-radius:50%; display:grid; place-items:center; background:#f9e3ee; color:var(--home-blue); font-weight:600; flex-shrink:0; }
.home-joie .jh-review-person strong { display:block; color:var(--home-deep); font-size:12px; }
.home-joie .jh-review-person small { display:block; font-size:11px; }
.home-joie .jh-review-source { display:inline-flex; align-items:center; gap:5px; color:inherit; text-decoration:none; }
.home-joie a.jh-review-source:hover { text-decoration:underline; }
.home-joie .jh-review-source img { display:block; width:16px; height:16px; object-fit:contain; }
.home-joie .jh-review-controls { display:flex; justify-content:center; gap:12px; margin-top:14px; }
.home-joie .jh-review-controls button { width:44px; height:44px; border:1px solid var(--home-line); border-radius:50%; background:#fff; color:var(--home-blue); font-size:22px; cursor:pointer; }
.home-joie .jh-quick-faq { margin-top:36px; border-top:1px solid var(--home-line); }
.home-joie .jh-faq-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.home-joie .jh-faq-grid details { padding:0 18px; border-radius:16px; background:#fff; border:1px solid var(--home-line); }
.home-joie .jh-faq-grid summary { font-size:13px; }
.home-joie .jh-faq-grid p { font-size:13px; }
.home-joie .jh-campaign-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.home-joie .jh-campaign-grid img { width:100%; height:auto; border-radius:22px; display:block; margin-bottom:20px; }
.home-joie .jh-final { background:var(--home-deep); color:#fff; border-radius:0 6% 0 4% / 0 22px 0 20px; }
.home-joie .jh-final-grid { display:grid; grid-template-columns:200px 1fr auto; gap:35px; align-items:center; padding-block:38px; }
.home-joie .jh-final-grid > img { width:100%; height:auto; }
.home-joie .jh-final h2 { color:#fff; font-size:clamp(28px,2.5vw,36px); }
.home-joie .jh-final .jh-kicker { color:#ff98c2; }
.home-joie .jh-final p:last-child { margin:0; max-width:550px; }
.home-joie .site-footer { background:var(--home-bg); color:var(--home-text); }
.home-joie .site-footer :is(a,p,h4) { color:var(--home-deep); }
.home-joie .footer-logo { filter:none; }
.home-joie .footer-social a { color:var(--home-blue); background:#f7edf2; }
.home-joie .region-change-btn { color:var(--home-blue); border-color:var(--home-line); }
.home-joie .footer-bottom { border-top-color:var(--home-line); }
.home-joie #equipe,.home-joie #depoimentos { scroll-margin-top:90px; }
@media (max-width:1100px) {
  .home-joie .jh-profile-grid { gap:12px; }
  .home-joie .jh-profile-copy { padding-inline:14px; }
  .home-joie .jh-featured-grid { grid-template-columns:1fr; gap:30px; }
  .home-joie .jh-featured-intro { max-width:700px; }
  .home-joie .jh-service h3 { font-size:18px; }
  .home-joie .jh-service-copy > p { font-size:13px; }
}
@media (max-width:992px) {
  .home-joie .main-nav a { margin:14px 0; font-size:18px; }
  .home-joie .exp-header-cta { margin-left:auto; }
  .home-joie .mobile-menu-toggle { order:3; }
  .home-joie .jh-proof { gap:12px; }
  .home-joie .jh-proof > div { flex-direction:column; align-items:start; font-size:10px; }
  .home-joie .jh-profile-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
  .home-joie .jh-team-grid { gap:32px; }
  .home-joie .jh-final-grid { grid-template-columns:150px 1fr; gap:24px; }
  .home-joie .jh-final-grid > .jh-button { grid-column:2; justify-self:start; }
  .home-joie .jh-guide { width:145px; right:10px; }
  .home-joie .jh-guide .jh-speech { padding:14px; font-size:10px; }
  .home-joie .jh-recreation-copy { padding:30px; }
  .home-joie .jh-review { flex-basis:calc((100% - 24px)/2); }
}
@media (max-width:767px) {
  .home-joie .jh-container,.home-joie .header .container { padding-inline:20px; }
  .home-joie .header .container { gap:12px; }
  .home-joie .logo img { max-height:40px; }
  .home-joie .exp-header-cta { font-size:10px; gap:8px; padding:10px 14px; }
  .home-joie .jh-section { padding-block:34px; }
  .home-joie .jh-hero-grid { grid-template-columns:1fr; gap:0; }
  .home-joie .jh-hero-copy { padding-block:36px 30px; }
  .home-joie main h1 { font-size:38px; }
  .home-joie main h2 { font-size:30px; }
  .home-joie .jh-hero-copy > p:not(.jh-kicker) { font-size:15px; }
  .home-joie .jh-kicker { font-size:10px; }
  .home-joie .jh-hero-copy .jh-button { width:100%; }
  .home-joie .jh-hero-visual { height:310px; margin-inline:-20px; }
  .home-joie .jh-hero-photo { object-position:55% 30%; }
  .home-joie .jh-hero-visual::after { background:linear-gradient(180deg,#fff7ef,transparent 18%); }
  .home-joie .jh-guide { width:130px; right:14px; }
  .home-joie .jh-proof { margin-top:26px; }
  .home-joie .jh-heading { margin-bottom:28px; }
  .home-joie .jh-profile-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
  .home-joie .jh-profile h3 { font-size:14px; }
  .home-joie .jh-profile-copy { padding:30px 16px 18px; }
  .home-joie .jh-profile:last-child { grid-column:1/-1; max-width:360px; justify-self:center; width:100%; }
  .home-joie .jh-profile:last-child > img { aspect-ratio:2; }
  .home-joie .jh-service-grid { grid-template-columns:1fr; gap:24px; }
  .home-joie .jh-service-copy { padding:22px; }
  .home-joie .jh-service-bottom { font-size:12px; }
  .home-joie .jh-recreation-panel { display:flex; flex-direction:column; overflow:visible; }
  .home-joie .jh-recreation-panel::after { display:none; }
  .home-joie .jh-recreation-photo { position:static; width:100%; height:300px; order:2; border-radius:0 0 30px 30px; }
  .home-joie .jh-recreation-copy { padding:28px 24px; }
  .home-joie .jh-recreation-copy .jh-button { width:100%; }
  .home-joie .jh-recreation-guide { bottom:-8px; width:130px; }
  .home-joie .jh-recreation-guide img { transform:translateY(20px); }
  .home-joie .jh-recreation-guide .jh-speech { transform:translateY(24px); }
  .home-joie .jh-benefit-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 22px; margin-top:32px; }
  .home-joie .jh-benefit-grid > div:last-child { grid-column:1/-1; max-width:200px; justify-self:center; }
  .home-joie .jh-team-grid,.home-joie .jh-method-grid,.home-joie .jh-faq-grid,.home-joie .jh-campaign-grid { grid-template-columns:1fr; }
  .home-joie .jh-team-grid > img { border-radius:32px; }
  .home-joie .jh-team-grid .jh-button { width:100%; }
  .home-joie .jh-review { flex-basis:100%; }
  .home-joie .jh-final-grid { grid-template-columns:1fr; padding-block:34px; text-align:center; }
  .home-joie .jh-final-grid > img { width:120px; justify-self:center; }
  .home-joie .jh-final-grid > .jh-button { grid-column:auto; width:100%; }
}
@media (prefers-reduced-motion:reduce) {
  .home-joie,.home-joie * { scroll-behavior:auto; }
  .home-joie .jh-button,.home-joie .exp-header-cta { transition:none; }
}
.jh-review-stars{color:#f4a900;letter-spacing:.12em;font-size:14px;margin-bottom:10px}
