.section--pinkwash { background: linear-gradient(135deg, rgba(223,29,117,.08), rgba(244,234,224,.62)); }

.cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-rows:1fr; gap:16px; margin-top:42px; }
.card { display:flex; flex-direction:column; min-width:0; background:white; border:1px solid var(--line); border-radius:var(--radius-md); overflow:hidden; transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease; }
.card:hover { transform:translateY(-5px); border-color:rgba(223,29,117,.22); box-shadow:0 20px 50px rgba(24,33,41,.08); }
.card-media { height:240px; flex-shrink:0; background:var(--cream); overflow:hidden; }
.card-media img { height:100%; object-fit:cover; filter:brightness(1.025) contrast(1.055) saturate(.93) sepia(.055); transition:transform .5s ease; }
.card:hover .card-media img { transform:scale(1.025); }
.card-body { display:flex; flex-direction:column; flex:1; padding:24px; }
.card .h3 { font-size:1.55rem; min-height:3.36em; }
.card-body p { flex:1; color:var(--muted); margin:14px 0 24px; }
.card-body .text-link { align-self:flex-start; margin-top:auto; }

.details-section { position:relative; overflow:hidden; background:#f7f1ea; padding-block:clamp(64px,7vw,100px); }
.details-bgline { position:absolute; inset:0; width:100%; height:100%; z-index:0; pointer-events:none; opacity:.4; }
.details-section > .container { position:relative; z-index:1; }
.feature-strip { display:grid; grid-template-columns:minmax(0,1.45fr) repeat(4,minmax(0,1fr)); gap:18px; align-items:stretch; }

.feature-intro { position:relative; isolation:isolate; overflow:hidden; display:flex; align-items:flex-end; min-height:440px; border-radius:18px; }
.feature-intro-media { position:absolute; inset:0; z-index:0; background:linear-gradient(160deg,#6b433d,#2c1b1a); }
.feature-intro-media img { width:100%; height:100%; object-fit:cover; }
.feature-intro-media::after { content:""; position:absolute; inset:0; background:linear-gradient(195deg,rgba(38,22,21,.12) 0%,rgba(32,19,18,.58) 55%,rgba(26,15,15,.88) 100%); }
.feature-intro-content { position:relative; z-index:1; padding:38px 32px 34px; color:#fff; }
.feature-intro-content .eyebrow { margin-bottom:24px; }
.feature-strip .label { margin:0; font-family:var(--serif); font-size:clamp(2.1rem,3vw,2.75rem); font-weight:500; line-height:1.14; letter-spacing:-.03em; color:#fff; }
.feature-intro-rule { display:block; width:30px; height:2px; background:rgba(255,255,255,.55); margin:24px 0 18px; }
.feature-motto { margin:0; max-width:230px; text-transform:uppercase; letter-spacing:.1em; font-size:.78rem; font-weight:600; color:rgba(255,255,255,.85); }

.feature-item { position:relative; display:flex; flex-direction:column; background:#faf2ec; border-radius:16px; padding:32px 24px 26px; transition:box-shadow .24s ease,transform .24s ease; }
.feature-visual { width:92px; height:92px; margin-bottom:28px; border-radius:58% 42% 53% 47%/45% 38% 62% 55%; display:flex; align-items:center; justify-content:center; background:var(--fv-bg,#f1e4da); color:var(--fv-fg,#a9765f); }
.feature-visual svg { width:36px; height:36px; }
.feature-visual--leaves { --fv-bg:#eef1e5; --fv-fg:#6f8a5c; }
.feature-visual--hands { --fv-bg:#f8e7ea; --fv-fg:#c8748c; }
.feature-visual--flower { --fv-bg:#f7ece2; --fv-fg:#d66c84; }
.feature-visual--book { --fv-bg:#f2e2da; --fv-fg:#9a6650; }
.feature-item h3 { margin:0 0 12px; font-family:var(--serif); font-size:1.26rem; font-weight:500; line-height:1.24; color:#26282b; }
.feature-strip p { margin:0; color:#6b625d; font-size:.92rem; line-height:1.65; }

.details-signature { display:flex; align-items:center; justify-content:flex-end; gap:14px; margin:32px 0 0; font-family:"Caveat","Segoe Script",cursive; font-size:1.6rem; font-weight:600; color:var(--rose); }
.details-signature-dash { display:inline-block; width:46px; height:1px; background:rgba(214,108,132,.5); }

@media (hover:hover) and (pointer:fine) {
  .feature-item:hover { transform:translateY(-3px); box-shadow:0 18px 40px rgba(60,40,35,.09); }
}
@media (min-width:1025px) and (max-width:1150px) {
  .feature-strip { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .feature-intro { grid-column:1/-1; }
}

.faq-heading { max-width:720px; margin:0 auto 56px; text-align:center; }
.faq-heading .eyebrow { margin-bottom:18px; }
.faq-heart { display:block; width:120px; height:auto; margin:26px auto 0; color:rgba(214,108,132,.45); }
.faq { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:clamp(40px,6vw,96px); align-items:start; max-width:1040px; margin:0 auto; border-top:1px solid var(--line); counter-reset:faq-counter; }
.faq details { border-bottom:1px solid var(--line); padding:0; counter-increment:faq-counter; }
.faq summary { list-style:none; display:flex; align-items:flex-start; gap:22px; padding:28px 68px 28px 0; font-family:var(--serif); font-size:clamp(1.05rem,1.5vw,1.35rem); line-height:1.4; cursor:pointer; position:relative; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::before { content:counter(faq-counter,decimal-leading-zero) "."; flex:0 0 auto; padding-top:5px; font-family:var(--sans); font-size:.78rem; font-weight:700; letter-spacing:.06em; color:var(--pink); }
.faq summary::after { content:"+"; position:absolute; right:0; top:20px; width:40px; height:40px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:rgba(223,29,117,.12); color:var(--pink); font-family:var(--sans); font-size:1.3rem; font-weight:300; transition:background .2s ease,color .2s ease; }
.faq details[open] summary::after { content:"–"; background:var(--pink); color:#fff; }
.faq details p { color:var(--muted); margin:-6px 0 30px; padding-left:44px; max-width:680px; }

@media (max-width: 1024px) {
  .cards { grid-template-columns:repeat(2,1fr); }
  .feature-strip { grid-template-columns:repeat(2,1fr); }
  .feature-intro { grid-column:1/-1; min-height:360px; }
}

@media (max-width: 680px) {
  .cards,.feature-strip { grid-template-columns:1fr; }
  .cards { grid-auto-rows:auto; }
  .card .h3 { min-height:0; }
  .card-media { height:220px; }
  .card-media img[src$="/acompanhamento.webp"] { object-position:center top; }
  .feature-strip { gap:20px; }
  .feature-intro { min-height:320px; }
  .feature-intro-content { padding:30px 24px; }
  .feature-item { padding:26px 22px 24px; }
  .details-signature { justify-content:flex-start; }
  .details-bgline { display:none; }
}

/* Home: a single photographic composition, independent of interior pages. */
.site-header--home { position:fixed; inset:0 0 auto; background:transparent; }
.site-header--home .header-inner { min-height:104px; transition:min-height .25s ease; }
.site-header--home .brand img { width:210px; transition:width .25s ease; }
.site-header--home .nav { gap:26px; }
.site-header--home .btn, .home-hero .btn { box-shadow:none; border-radius:6px; }
.site-header--home.is-scrolled { background:rgba(250,255,254,.96); backdrop-filter:blur(12px); border-bottom-color:rgba(24,33,41,.08); box-shadow:none; }
.site-header--home.is-scrolled .header-inner { min-height:72px; }
.site-header--home.is-scrolled .brand img { width:180px; }
.home-hero { position:relative; isolation:isolate; display:grid; align-items:center; min-height:90vh; min-height:90svh; padding:158px 0 94px; background:var(--cream); }
.home-hero-photo { position:absolute; inset:0; z-index:-1; overflow:hidden; }
.home-hero-photo img { width:100%; height:100%; object-fit:cover; object-position:60% 15%; }
.home-hero-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(98deg,rgba(250,255,254,.98) 0%,rgba(247,241,232,.96) 22%,rgba(244,234,224,.9) 38%,rgba(244,234,224,.7) 48%,rgba(244,234,224,.2) 62%,transparent 74%); }
.home-hero-copy { max-width:560px; backdrop-filter:blur(2px); -webkit-backdrop-filter:blur(2px); }
.home-hero .eyebrow { color:#34383b; font-size:13.5px; font-weight:600; letter-spacing:.11em; margin-bottom:30px; }
.home-hero .display { font-size:var(--h1-size); line-height:1.08; letter-spacing:-.035em; text-wrap:balance; color:#a91659; }
.home-hero .lead { max-width:540px; margin:28px 0 40px; font-size:20px; font-weight:500; line-height:1.8; color:#1f2730; }
.home-hero .btn { min-height:56px; padding-inline:24px; }
.home-hero a:focus-visible, .site-header--home a:focus-visible, .site-header--home button:focus-visible { outline:3px solid var(--ink); outline-offset:5px; }
@media (max-width:1100px) and (min-width:1025px) {
  .site-header--home .nav { gap:18px; }
  .site-header--home .brand img { width:185px; }
}
@media (max-width:1024px) {
  .site-header--home .header-inner { min-height:88px; }
  .site-header--home .nav { top:88px; visibility:hidden; pointer-events:none; max-height:calc(100dvh - 88px); overflow-y:auto; }
  .site-header--home.is-scrolled .nav { top:72px; max-height:calc(100dvh - 72px); }
  .site-header--home .nav.is-open { visibility:visible; pointer-events:auto; }
  body.menu-open .site-header--home { background:var(--paper); }
  .home-hero-copy { max-width:46%; }
  .home-hero .display { font-size:var(--h1-size); }
  .home-hero .eyebrow { letter-spacing:.1em; }
  .home-hero-photo img { object-position:65% top; }
}
@media (max-width:760px) {
  .site-header--home .header-inner { min-height:80px; }
  .site-header--home .brand img { width:180px; }
  .site-header--home .nav { top:80px; }
  .home-hero { display:flex; flex-direction:column; align-items:stretch; min-height:auto; padding:0 0 48px; }
  .home-hero-photo { position:relative; inset:auto; z-index:0; height:clamp(360px,70vw,520px); }
  .home-hero-photo img { object-position:right top; }
  .home-hero-photo::after { background:linear-gradient(180deg,rgba(250,255,254,.16),transparent 22%,transparent 80%,var(--cream) 100%); }
  .home-hero-inner { position:relative; padding-top:18px; }
  .home-hero-copy { max-width:560px; margin-inline:auto; }
  .home-hero .eyebrow { font-size:.64rem; letter-spacing:.09em; margin-bottom:20px; }
  .home-hero .display { font-size:var(--h1-size); line-height:1.1; }
  .home-hero .lead { margin:22px 0 26px; font-size:17px; }
  .home-hero .btn { padding-inline:18px; font-size:.9rem; }
}

/* Home CTA handoff: reserve layout space, remove hidden links from interaction. */
.site-header--home .nav .btn { opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-6px); transition:opacity .18s ease,transform .18s ease; }
.site-header--home .nav .btn.is-cta-visible { opacity:1; visibility:inherit; pointer-events:auto; transform:translateY(0); }
.home-whatsapp { position:fixed; right:24px; bottom:calc(24px + env(safe-area-inset-bottom,0px)); z-index:900; width:54px; height:54px; display:grid; place-items:center; border-radius:50%; background:#25D366; color:#fff; box-shadow:0 4px 16px rgba(24,33,41,.16); transition:background .22s ease; }
.home-whatsapp:hover { background:#20bd5a; }
.home-whatsapp:focus-visible { outline:3px solid var(--ink); outline-offset:4px; }
.home-whatsapp svg { width:28px; height:28px; fill:currentColor; }
.home-whatsapp-tooltip { display:none; }
@media (hover:hover) and (pointer:fine) {
  .home-whatsapp-tooltip { display:block; position:absolute; right:calc(100% + 12px); padding:7px 12px; border-radius:5px; background:var(--ink); color:var(--paper); font-size:.78rem; white-space:nowrap; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .15s ease; }
  .home-whatsapp:hover .home-whatsapp-tooltip, .home-whatsapp:focus-visible .home-whatsapp-tooltip { opacity:1; visibility:visible; }
}
@media (max-width:760px) {
  .home-whatsapp { width:58px; height:58px; right:calc(16px + env(safe-area-inset-right,0px)); bottom:calc(16px + env(safe-area-inset-bottom,0px)); }
}

/* Consolidated Home header: equal outer columns center navigation on the viewport. */
.site-header--home .nav .btn, .home-hero .btn {
  border-radius:999px;
  background-color:#c83371;
  background-image:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,0));
  box-shadow:0 3px 10px rgba(24,33,41,.08);
  transition:opacity .24s ease,transform .24s ease,background-color .24s ease,box-shadow .24s ease;
}
.site-header--home .nav .btn span, .home-hero .btn span { display:inline-block; transition:transform .24s ease; }
.site-header--home .nav .btn:hover, .home-hero .btn:hover {
  background-color:#c91868;
  background-image:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,0) 70%);
  transform:translateY(-2px);
  box-shadow:0 6px 16px rgba(24,33,41,.13);
}
.site-header--home .nav .btn:hover span, .home-hero .btn:hover span { transform:translateX(5px); }
.site-header--home .nav .btn:active, .home-hero .btn:active { transform:translateY(1px); box-shadow:0 2px 6px rgba(24,33,41,.08); }
@media (min-width:1025px) {
  .site-header--home .header-inner { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:20px; }
  .site-header--home .brand { justify-self:start; }
  .site-header--home .nav { display:contents; }
  .home-header-links { display:flex; align-items:center; justify-self:center; gap:34px; opacity:0; visibility:hidden; transform:translateY(-6px); transition:opacity .24s ease,transform .24s ease; }
  .site-header--home.is-scrolled .home-header-links { opacity:1; visibility:visible; transform:translateY(0); }
  .site-header--home .nav .btn { justify-self:end; white-space:nowrap; font-size:.88rem; padding-inline:18px; }
}
@media (max-width:1024px) {
  .home-header-links { display:grid; gap:22px; }
  .site-header--home .nav .btn:not(.is-cta-visible) { display:none; }
}

/* The hero brand scrolls with its photograph; the fixed header takes over afterwards. */
.hero-brand-row { position:absolute; top:0; left:0; right:0; min-height:104px; display:flex; align-items:center; justify-content:space-between; z-index:3; }
.hero-logo img { width:210px; }
.hero-header-trigger { position:absolute; bottom:0; left:0; width:1px; height:1px; pointer-events:none; }
.site-header--home { transform:translateY(-100%); opacity:0; visibility:hidden; pointer-events:none; background:rgba(250,255,254,.96); backdrop-filter:blur(12px); border-bottom-color:rgba(24,33,41,.08); transition:opacity .3s ease,transform .3s ease; }
body.header-active .site-header--home { transform:translateY(0); opacity:1; visibility:visible; pointer-events:auto; }
.site-header--home .header-inner { min-height:72px; }
.site-header--home .header-logo img { width:180px; }
.hero-mobile-menu { display:none; }
@media (max-width:1024px) {
  .hero-brand-row { min-height:88px; }
  .hero-mobile-menu { display:block; }
  .hero-mobile-menu summary { display:block; list-style:none; width:44px; height:44px; position:relative; cursor:pointer; }
  .hero-mobile-menu summary::-webkit-details-marker { display:none; }
  .hero-mobile-menu summary span { position:absolute; left:10px; width:24px; height:1.5px; background:var(--ink); top:17px; }
  .hero-mobile-menu summary span:last-child { top:26px; }
  .hero-mobile-menu[open] summary span:first-child { top:22px; transform:rotate(45deg); }
  .hero-mobile-menu[open] summary span:last-child { top:22px; transform:rotate(-45deg); }
  .hero-mobile-menu nav { position:absolute; top:100%; left:0; right:0; display:grid; gap:22px; padding:24px; background:var(--paper); border:1px solid var(--line); }
  .hero-mobile-menu nav a { font-size:15.5px; font-weight:550; color:#30363a; }
  .hero-mobile-menu nav a:hover { color:var(--pink); }
  .hero-mobile-menu :focus-visible { outline:2px solid var(--pink); outline-offset:4px; }
}
@media (max-width:760px) {
  .hero-brand-row { min-height:80px; }
  .hero-logo img { width:180px; }
}

/* A quiet, seamless brand signature between the hero and the content. */
.brand-ribbon { display:flex; align-items:center; height:78px; background:#efe1d7; border-block:1px solid rgba(24,33,41,.08); color:#2f3134; }
.brand-ribbon-window { flex:1; min-width:0; overflow:hidden; mask-image:linear-gradient(90deg,transparent,#000 112px,#000 calc(100% - 112px),transparent); -webkit-mask-image:linear-gradient(90deg,transparent,#000 112px,#000 calc(100% - 112px),transparent); }
.brand-ribbon-track { display:flex; width:max-content; animation:brand-ribbon-drift 110s linear infinite; }
.brand-ribbon-items { display:flex; align-items:center; justify-content:space-around; flex-shrink:0; min-width:100vw; margin:0; padding:0; list-style:none; }
.brand-ribbon-items li { display:block; flex-shrink:0; white-space:nowrap; font-size:18px; font-weight:400; letter-spacing:.005em; line-height:34px; }
.brand-ribbon-serif { font-family:var(--serif); font-size:19px; font-weight:600; letter-spacing:-.015em; }
.brand-ribbon-items li::before { content:""; display:inline-block; width:4px; height:4px; border-radius:50%; background:var(--pink); margin-inline:36px; vertical-align:middle; }
.brand-ribbon-window:focus-visible { outline:2px solid var(--pink); outline-offset:-2px; }
.brand-ribbon:hover .brand-ribbon-track, .brand-ribbon:focus-within .brand-ribbon-track { animation-play-state:paused; }
@keyframes brand-ribbon-drift { to { transform:translateX(-50%); } }
@media (max-width:760px) {
  .brand-ribbon { height:76px; }
  .brand-ribbon-items li { font-size:18px; letter-spacing:0; }
  .brand-ribbon-serif { font-size:19px; }
  .brand-ribbon-items li::before { margin-inline:26px; }
  .brand-ribbon-window { mask-image:linear-gradient(90deg,transparent,#000 48px,#000 calc(100% - 48px),transparent); -webkit-mask-image:linear-gradient(90deg,transparent,#000 48px,#000 calc(100% - 48px),transparent); }
}
@media (prefers-reduced-motion:reduce) {
  .brand-ribbon-window { overflow-x:auto; mask-image:none; -webkit-mask-image:none; }
  .brand-ribbon-track { animation:none; transform:none; }
  .brand-ribbon-items[aria-hidden="true"] { display:none; }
}

/* Confidence: portrait and original editorial copy, without a card treatment. */
.confidence-section { padding-block:clamp(72px,8vw,120px); }
.confidence-layout { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:clamp(40px,6vw,88px); align-items:center; }
.confidence-photo { aspect-ratio:4 / 5; overflow:hidden; border-radius:10px; }
.confidence-photo img { width:100%; height:100%; object-fit:cover; object-position:79% 10%; }
.confidence-copy { max-width:540px; }
.confidence-copy .eyebrow { margin:0 0 22px; font-size:.68rem; letter-spacing:.14em; font-weight:500; }
.confidence-copy .h2 { font-size:clamp(2.3rem,3.7vw,3.55rem); line-height:1.1; letter-spacing:-.03em; }
.confidence-copy .lead, .confidence-copy .text-muted { color:#505654; font-size:1.05rem; line-height:1.8; }
.confidence-copy .lead { margin:28px 0 18px; }
.confidence-copy .text-muted { margin:0 0 30px; }
.confidence-link { display:inline; font-size:.95rem; font-weight:550; line-height:1.8; }
.confidence-link::after { content:none; }
.confidence-link span { display:inline-block; margin-left:5px; transition:transform .22s ease; }
.confidence-link:hover span { transform:translateX(4px); }
.confidence-link:focus-visible { outline:2px solid var(--pink); outline-offset:5px; }
@media (max-width:760px) {
  .confidence-layout { grid-template-columns:1fr; gap:36px; }
  .confidence-photo { width:100%; max-width:520px; margin-inline:auto; }
  .confidence-copy { max-width:none; }
  .confidence-copy .h2 { font-size:clamp(2.2rem,7.6vw,3rem); }
  .confidence-copy .lead, .confidence-copy .text-muted { font-size:1rem; line-height:1.75; }
}

/* Home: testimonial video / social proof. */
.story-feature {
  display: grid;
  grid-template-columns: minmax(320px, .9fr) minmax(0, 1.1fr);
  gap: clamp(40px, 6vw, 88px);
  align-items: center;
}

.story-video {
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  background: #111;
  box-shadow: 0 24px 60px rgba(24, 33, 41, .10);
  aspect-ratio: 9 / 16;
  max-height: 680px;
}

.story-video video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  background: #111;
}

.story-video video:focus-visible {
  outline: 3px solid var(--pink);
  outline-offset: 4px;
}

.story-copy {
  max-width: 560px;
}

.story-copy .eyebrow {
  margin: 0 0 20px;
  color: var(--pink);
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.story-copy .h2 {
  margin: 0;
  font-size: clamp(2.3rem, 3.7vw, 3.65rem);
  line-height: 1.08;
  letter-spacing: -.03em;
}

.story-copy > p:not(.eyebrow) {
  margin: 28px 0 30px;
  max-width: 520px;
  color: #505654;
  font-size: 1.05rem;
  line-height: 1.8;
}

.story-copy .text-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--ink);
  font-size: .95rem;
  font-weight: 550;
  text-decoration: none;
  transition: color .22s ease, transform .22s ease;
}

.story-copy .text-link::after {
  content: "→";
  display: inline-block;
  transition: transform .22s ease;
}

.story-copy .text-link:hover {
  color: var(--pink);
}

.story-copy .text-link:hover::after {
  transform: translateX(4px);
}

.story-copy .text-link:focus-visible {
  outline: 2px solid var(--pink);
  outline-offset: 5px;
}

@media (max-width: 900px) {
  .story-feature {
    grid-template-columns: minmax(260px, .85fr) minmax(0, 1.15fr);
    gap: 36px;
  }

  .story-video {
    max-height: 600px;
  }
}

@media (max-width: 760px) {
  .story-feature {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .story-video {
    width: min(100%, 460px);
    max-height: none;
    margin-inline: auto;
  }

  .story-copy {
    max-width: none;
  }

  .story-copy .h2 {
    font-size: clamp(2.2rem, 7.6vw, 3rem);
  }

  .story-copy > p:not(.eyebrow) {
    margin: 22px 0 26px;
    font-size: 1rem;
    line-height: 1.75;
  }
}

/* Approved reference: dominant photographic panel and four delicate editorial panels. */
.details-section { background:#faf5f0; padding-block:clamp(64px,8vw,130px) clamp(52px,6vw,96px); }
.details-bgline { opacity:.28; }
.details-section::before { content:""; position:absolute; width:780px; height:680px; right:-120px; top:-230px; border:1px solid rgba(214,108,132,.15); border-radius:48% 52% 60% 40%; transform:rotate(-25deg); pointer-events:none; }
.feature-strip { grid-template-columns:minmax(0,2fr) repeat(4,minmax(0,1fr)); gap:12px; }
.feature-intro { grid-column:auto; min-height:clamp(425px,30.5vw,510px); border-radius:14px; align-items:stretch; }
.feature-intro-media img { object-position:65% center; }
.feature-intro-media::after { background:linear-gradient(90deg,rgba(102,63,58,.58),rgba(113,72,64,.23) 58%,rgba(82,43,39,.04)); }
.feature-intro-content { width:100%; padding:34px clamp(26px,3.1vw,52px) 32px; }
.feature-intro-content .eyebrow { max-width:300px; margin:0 0 30px; font-size:clamp(.6rem,.8vw,.78rem); line-height:1.65; letter-spacing:.16em; color:#f8d9df; font-weight:500; }
.feature-strip .label { font-family:Georgia,var(--serif); font-size:clamp(2.2rem,3.3vw,3.6rem); line-height:1.09; letter-spacing:-.035em; font-weight:400; }
.feature-intro-rule { width:32px; height:1px; margin:30px 0 24px; background:#ecd4ca; }
.feature-strip .feature-motto { max-width:290px; font-size:clamp(.65rem,.88vw,.88rem); line-height:1.8; letter-spacing:.12em; color:#fff4ec; font-weight:400; }
.feature-motto strong { font-size:1.3em; font-weight:650; letter-spacing:.1em; }
.feature-heart { position:absolute; bottom:-10px; left:-12px; width:58%; height:auto; margin:0; color:#edbac2; opacity:.85; pointer-events:none; }
@media (max-width:1100px) { .feature-heart { width:240px; } }
.feature-item { min-width:0; padding:32px clamp(18px,1.5vw,25px) 42px; border-radius:14px; background:#fbf5ef; border:1px solid rgba(78,49,44,.08); box-shadow:0 2px 5px rgba(68,43,37,.06),0 14px 28px rgba(68,43,37,.035); }
.feature-item:nth-child(3),.feature-item:nth-child(5) { background:#fbeeea; }
.feature-visual { width:100%; max-width:180px; height:auto; aspect-ratio:1; flex-shrink:0; margin:0 auto 30px; border-radius:24% 76% 41% 59% / 34% 60% 40% 66%; background-image:url('/assets/img/detalhes-referencia-aprovada.webp'); background-size:928.889% 522.778%; background-repeat:no-repeat; }
.feature-visual--leaves { background-position:43.9% 32.2%; }
.feature-visual--hands { background-position:61.15% 32.2%; }
.feature-visual--flower { background-position:78.4% 32.2%; }
.feature-visual--book { background-position:95.5% 32.2%; }
.feature-item h3 { font-family:Georgia,var(--serif); font-size:clamp(1.15rem,1.65vw,1.8rem); line-height:1.22; min-height:2.44em; font-weight:400; letter-spacing:-.025em; margin:0 0 22px; color:#182129; }
.feature-item p { font-size:clamp(.85rem,1.08vw,1.13rem); line-height:1.6; color:#6b6460; margin:0 0 30px; }
.details-signature { margin:clamp(36px,4.5vw,72px) 28px 0 0; font-family:'Segoe Script','Brush Script MT',cursive; font-weight:400; font-size:clamp(1.25rem,1.75vw,1.8rem); color:#c98b90; gap:24px; }
@media (hover:hover) and (pointer:fine) { .feature-item:hover { transform:translateY(-2px); box-shadow:0 5px 16px rgba(60,40,35,.08); } }
@media (max-width:1100px) {
  .feature-strip { grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
  .feature-intro { grid-column:1/-1; min-height:400px; }
  .feature-intro-content { padding:36px; }
  .feature-intro-media img { object-position:center 65%; }
  .feature-intro-content .eyebrow { font-size:.72rem; }
  .feature-strip .label { font-size:3rem; }
  .feature-item { padding:24px 18px 30px; }
  .feature-item h3 { font-size:1.35rem; min-height:3.45em; }
  .feature-item p { font-size:.95rem; }
}
@media (max-width:760px) {
  .feature-strip { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .feature-item h3 { font-size:1.35rem; }
  .feature-visual { margin-bottom:24px; }
  .details-signature { justify-content:flex-end; margin-right:0; gap:12px; font-size:1.1rem; }
  .details-signature-dash { width:24px; }
}
@media (max-width:480px) {
  .feature-strip { grid-template-columns:1fr; }
  .feature-intro-content { padding:30px 24px 65px; }
  .feature-item { padding:28px; }
  .feature-item h3 { min-height:0; font-size:1.7rem; }
  .feature-visual { margin-left:0; width:160px; }
  .feature-item p { font-size:1rem; }
}

/* Location composition follows the approved editorial map reference. */
.location-section { overflow:hidden; background:#fbf7f3; padding:clamp(56px,4vw,80px) 0; }
.location-layout { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1fr); gap:clamp(32px,3.5vw,62px); align-items:center; }
.location-copy { padding-block:28px 12px; }
.location-copy .eyebrow { display:flex; align-items:center; gap:24px; font-size:.78rem; font-weight:500; letter-spacing:.28em; color:#b96b76; margin:0 0 34px; }
.location-copy .eyebrow::before { content:""; width:56px; height:1px; background:#c88e98; flex-shrink:0; }
.location-copy h2 { font-family:Georgia,var(--serif); font-size:clamp(2.8rem,5.1vw,5.6rem); font-weight:400; letter-spacing:-.055em; line-height:1.08; margin:0; color:#191919; }
.location-description { margin:30px 0 44px; color:#444142; font-size:clamp(1rem,1.48vw,1.5rem); line-height:1.62; max-width:590px; }
.location-link { display:inline-flex; align-items:center; gap:14px; padding-bottom:8px; border-bottom:1px solid #d69aa3; color:#ad5068; font-size:clamp(1rem,1.4vw,1.4rem); transition:color .22s ease; }
.location-link span { transition:transform .22s ease; }
.location-link:hover { color:var(--pink); }
.location-link:hover span { transform:translateX(4px); }
.location-link:focus-visible { outline:2px solid var(--pink); outline-offset:5px; }
.location-signature { position:relative; margin-top:65px; color:#bc7d83; font-family:'Segoe Script','Brush Script MT',cursive; font-size:clamp(1.5rem,2vw,2.2rem); line-height:1.3; }
.location-signature i { margin-left:45px; font-weight:400; }
.location-signature svg { position:relative; display:block; width:60%; height:54px; margin:12px 0 0 auto; pointer-events:none; }
.location-byline { margin:30px 0 0; text-transform:uppercase; letter-spacing:.3em; color:#8b7e7a; font-size:.62rem; }
.location-map-panel { position:relative; border:1px solid #e6d5cc; border-radius:34px; padding:8px; background:#f9f4ee; box-shadow:inset 0 0 0 5px rgba(255,255,255,.3); }
.location-map { position:relative; aspect-ratio:900 / 620; overflow:hidden; border-radius:27px 27px 0 0; }
.location-map-art { display:block; width:100%; height:100%; }
.location-map-caption { position:absolute; top:5%; right:6%; text-align:center; color:#928883; text-transform:uppercase; font-size:clamp(7px,.62vw,10px); letter-spacing:.32em; line-height:1.9; }
.location-north { width:40px; height:40px; margin:0 0 8px auto; display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px solid #e4d7ce; border-radius:50%; font-size:20px; line-height:1; letter-spacing:0; }
.location-north small { font-size:10px; }
.location-pins { list-style:none; margin:0; padding:0; }
.location-pins li { position:absolute; left:var(--x); top:var(--y); padding:5px 10px; border:1px solid rgba(211,185,175,.18); border-radius:10px; background:rgba(255,251,248,.96); box-shadow:0 3px 9px rgba(106,68,57,.13); font-family:Georgia,var(--serif); font-size:clamp(10px,1.17vw,19px); line-height:1.2; white-space:nowrap; color:#292529; transition:transform .2s ease, box-shadow .2s ease; }
.location-pins li::before { content:""; position:absolute; left:-18px; top:-6px; width:15px; height:19px; border-radius:60% 60% 60% 0; transform:rotate(-45deg); background:#bd7e80; box-shadow:inset 0 0 0 1px rgba(131,66,69,.15); transition:background .2s ease; }
.location-pins li::after { content:""; position:absolute; left:-13px; top:-2px; width:6px; height:6px; border-radius:50%; background:#fff6f0; }
.location-pins li:hover, .location-pins li:focus-visible { transform:translateY(-4px); box-shadow:0 6px 15px rgba(106,68,57,.2); }
.location-pins li:hover::before, .location-pins li:focus-visible::before { background:#a8676a; }
.location-landmark { position:absolute; right:5%; bottom:8%; width:17%; text-align:center; color:#9d928a; }
.location-landmark span { display:block; text-transform:uppercase; letter-spacing:.28em; font-size:clamp(6px,.55vw,9px); line-height:1.8; }
.location-note { position:relative; display:flex; align-items:center; gap:28px; margin:8px 22px 20px; padding:28px 30px; background:#E3CECE; border-radius:22px; box-shadow:0 10px 26px rgba(103,75,60,.035); }
.location-note > svg { flex:0 0 64px; width:64px; height:64px; padding:15px; border-radius:50%; color:#a95866; background:#f7e8e4; }
.location-note p { border-left:1px solid #e1d8d2; padding-left:28px; margin:0; font-size:clamp(.9rem,1.15vw,1.2rem); color:#555052; line-height:1.55; }
.location-note strong { font-family:Georgia,var(--serif); font-weight:400; color:#28242a; font-size:1.08em; }
@media (max-width:1100px) {
  .location-layout { gap:30px; grid-template-columns:minmax(0,.8fr) minmax(0,1fr); }
  .location-copy h2 { font-size:clamp(2.65rem,4.6vw,3.7rem); }
  .location-note { margin:8px 10px 12px; padding:20px 16px; gap:14px; }
  .location-note p { padding-left:14px; }
  .location-note > svg { flex-basis:48px; width:48px; height:48px; padding:11px; }
  .location-signature { margin-top:42px; }
}
@media (max-width:800px) {
  .location-layout { grid-template-columns:1fr; gap:32px; }
  .location-copy { padding-top:0; }
  .location-copy h2 { max-width:650px; font-size:clamp(2.8rem,7vw,4rem); }
  .location-description { max-width:650px; margin:24px 0 26px; font-size:1.05rem; }
  .location-copy .eyebrow { margin-bottom:24px; font-size:.7rem; }
  .location-signature { margin-top:35px; }
  .location-signature svg { width:48%; }
  .location-pins li { font-size:clamp(10px,2.1vw,16px); padding:5px 7px; border-radius:7px; }
  .location-map-caption { font-size:7px; }
  .location-note p { font-size:.95rem; }
}
@media (max-width:420px) {
  .location-map-panel { border-radius:22px; padding:5px; }
  .location-pins li { padding:4px 5px; font-size:10px; }
  .location-pins li::before { width:11px; height:14px; left:-12px; top:-3px; }
  .location-pins li::after { width:4px; height:4px; left:-9px; top:0; }
  .location-pins li:nth-child(4) { left:27%; top:55%; }
  .location-pins li:nth-child(6) { top:73%; }
  .location-pins li:nth-child(7) { top:67%; }
  .location-note { margin:8px 5px; padding:16px 12px; gap:12px; }
  .location-note p { font-size:.85rem; padding-left:12px; }
  .location-note > svg { flex-basis:38px; width:38px; height:38px; padding:8px; }
  .location-north { width:27px; height:27px; font-size:14px; }
}

/* Testimonial: approved cover and editorial social proof composition. */
.story-feature { position:relative; isolation:isolate; overflow:hidden; display:grid; grid-template-columns:minmax(0,.71fr) minmax(0,1fr); align-items:center; gap:clamp(36px,5.5vw,80px); padding:clamp(30px,4.4vw,64px) clamp(28px,4.2vw,60px); background:#f8ede3; border-radius:34px; }
.story-feature::after { content:""; position:absolute; z-index:-1; right:-60px; top:55px; width:340px; height:235px; border:14px solid rgba(223,29,117,.045); border-radius:55% 45% 55% 45%; transform:rotate(-40deg); pointer-events:none; }
.story-video { width:100%; min-height:0; max-height:none; aspect-ratio:498 / 810; border-radius:20px; box-shadow:0 20px 40px rgba(61,43,35,.08); }
.story-video::before { content:none; }
.story-video video { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.story-cover { position:absolute; inset:0; width:100%; height:100%; border:0; padding:0; cursor:pointer; background:#302d2c; border-radius:inherit; overflow:hidden; }
.story-cover[hidden],.story-playback-error[hidden] { display:none; }
.story-cover-art { display:block; position:absolute; inset:0; background-image:url('/assets/img/depoimento-referencia-aprovada.webp'); background-size:290.763% 134.074%; background-position:9.263% 51.087%; background-repeat:no-repeat; }
.story-cover:focus-visible { outline:3px solid var(--pink); outline-offset:-5px; }
.story-playback-error { position:absolute; left:16px; right:16px; top:16px; margin:0; padding:12px; border-radius:8px; background:var(--paper); color:var(--ink); font-size:.9rem; }
.story-copy { max-width:none; padding:0; }
.story-copy .eyebrow { color:var(--pink); font-size:clamp(.7rem,1.1vw,1rem); font-weight:500; letter-spacing:.13em; margin:0 0 28px; }
.story-copy .h2 { font-family:Georgia,var(--serif); font-size:clamp(2.6rem,5vw,5rem); font-weight:400; line-height:1.08; letter-spacing:-.05em; }
.story-quote { margin:38px 0 30px; padding-left:26px; border-left:2px solid var(--pink); font-family:Georgia,var(--serif); font-size:clamp(1.2rem,2vw,1.85rem); font-style:italic; line-height:1.4; color:#25292d; }
.story-copy > p:not(.eyebrow) { max-width:none; margin:0; font-size:clamp(1rem,1.53vw,1.45rem); line-height:1.65; color:#615b57; }
.story-copy > p:not(.eyebrow) + p { margin-top:5px; }
.story-assurances { list-style:none; margin:34px 0 36px; padding:0; display:grid; grid-template-columns:1.08fr 1.18fr 1fr; gap:18px; }
.story-assurances li { display:flex; align-items:center; gap:15px; min-width:0; padding:15px 19px; background:rgba(223,29,117,.045); border-radius:999px; color:#373135; font-size:clamp(.8rem,1.1vw,1.08rem); line-height:1.35; }
.story-assurances svg { width:30px; height:30px; flex-shrink:0; stroke:var(--pink); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.story-copy .text-link { margin-top:clamp(26px,3vw,36px); padding-bottom:7px; border-bottom:1px solid var(--pink); font-size:clamp(1rem,1.4vw,1.4rem); font-weight:600; }
.story-copy .text-link::after { color:var(--pink); margin-left:10px; }
@media (max-width:1150px) {
  .story-feature { gap:34px; padding:36px; }
  .story-copy .h2 { font-size:clamp(2.4rem,4.5vw,3.6rem); }
  .story-quote { margin-block:26px; padding-left:18px; }
  .story-assurances { gap:8px; margin-block:26px; }
  .story-assurances li { flex-direction:column; align-items:flex-start; padding:14px; border-radius:20px; gap:8px; }
}
@media (max-width:760px) {
  .story-feature { grid-template-columns:1fr; padding:24px; gap:36px; border-radius:24px; }
  .story-video { width:min(100%,440px); margin-inline:auto; }
  .story-copy .h2 { font-size:clamp(2.4rem,8vw,3.5rem); }
  .story-copy .eyebrow { font-size:.72rem; margin-bottom:22px; }
  .story-quote { font-size:1.3rem; }
  .story-copy > p:not(.eyebrow) { font-size:1rem; line-height:1.7; }
  .story-assurances { grid-template-columns:1fr; gap:10px; }
  .story-assurances li { flex-direction:row; align-items:center; border-radius:999px; padding:12px 18px; gap:14px; font-size:.92rem; }
  .story-assurances svg { width:25px; height:25px; }
}

/* FAQ: centered heading, two independent accordion columns (3 questions each). */
@media (max-width:760px) {
  .faq { grid-template-columns:1fr; column-gap:0; }
  .faq-heading { margin-bottom:40px; }
  .faq-heart { width:96px; margin-top:20px; }
  .faq summary { padding-right:56px; gap:16px; }
  .faq summary::after { width:34px; height:34px; font-size:1.15rem; }
  .faq details p { padding-left:0; }
}

/* Home final CTA: organic photograph and a single editorial content column. */
.cta-band--home { isolation:isolate; background:#fbf6f0; color:#43342f; min-height:clamp(620px,49vw,820px); padding:clamp(100px,9.5vw,160px) 0 clamp(105px,9vw,150px); }
.cta-band--home::before { width:50%; height:70%; right:-24%; top:auto; bottom:-36%; border-radius:50%; background:rgba(224,203,191,.2); z-index:0; }
.cta-band--home::after { content:""; position:absolute; top:-29%; left:39%; width:40%; height:48%; border-radius:50%; background:rgba(244,234,224,.45); pointer-events:none; z-index:0; }
.cta-band-blob { position:absolute; left:-12%; bottom:-39%; width:52%; height:75%; border-radius:44% 70% 0 0 / 24% 90% 0 0; background:linear-gradient(145deg,rgba(214,108,132,.25),rgba(214,108,132,.08)); pointer-events:none; z-index:0; }
.cta-band-photo { position:absolute; left:0; top:0; width:33%; height:52%; overflow:hidden; border-radius:0 0 70% 32% / 0 0 100% 24%; z-index:1; box-shadow:none; }
.cta-band-photo img { width:100%; height:100%; object-fit:cover; object-position:50% 62%; }
.cta-band--home .container { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:clamp(24px,2.2vw,36px); width:calc(100% - 100px); max-width:1560px; padding-left:34%; }
.cta-band--home .container > div { min-width:0; }
.cta-band--home .container .eyebrow { color:#cd2460; font-size:clamp(.72rem,1.14vw,1.18rem); font-weight:550; letter-spacing:.2em; margin:0 0 24px; }
.cta-band--home .h2 { max-width:760px; color:#43342f; font-family:Georgia,var(--serif); font-size:clamp(3rem,5.15vw,5.5rem); font-weight:400; letter-spacing:-.045em; line-height:1.04; }
.cta-band-accent { color:#cb2962; }
.cta-band--home .container p:not(.eyebrow) { max-width:680px; color:#5b4c46; font-size:clamp(1.08rem,1.62vw,1.7rem); line-height:1.55; margin:28px 0 38px; }
.cta-band--home .btn { display:flex; width:fit-content; margin:0; justify-self:end; align-self:center; white-space:nowrap; min-height:68px; padding:20px 28px; border-radius:999px; background:#ce2864; color:#fff; box-shadow:0 10px 24px rgba(143,40,73,.15); font-size:clamp(1rem,1.1vw,1.15rem); font-weight:600; gap:16px; transition:background .24s ease,transform .24s ease,box-shadow .24s ease; }
.cta-band--home .btn span { transition:transform .24s ease; }
.cta-band--home .btn:hover { background:#b92158; transform:translateY(-2px); box-shadow:0 12px 28px rgba(143,40,73,.19); }
.cta-band--home .btn:hover span { transform:translateX(4px); }
.cta-band--home .btn:focus-visible { outline:3px solid var(--ink); outline-offset:5px; }
@media (max-width:1279px) {
  .cta-band--home .container { grid-template-columns:1fr; gap:0; }
  .cta-band--home .btn { justify-self:start; }
}
@media (max-width:1100px) {
  .cta-band--home { min-height:620px; padding-block:105px; }
  .cta-band--home .container { width:calc(100% - 56px); padding-left:34%; }
  .cta-band--home .h2 { font-size:clamp(2.7rem,5vw,3.6rem); }
  .cta-band-photo { height:50%; }
  .cta-band--home .btn { min-height:62px; padding:16px 26px; margin-right:0; }
}
@media (max-width:760px) {
  .cta-band--home { min-height:0; padding:0 0 85px; }
  .cta-band-photo { position:relative; width:76%; height:clamp(220px,52vw,340px); margin:0 0 26px; border-radius:0 0 64% 12% / 0 0 48% 12%; }
  .cta-band-photo img { object-position:50% 66%; }
  .cta-band--home .container { width:calc(100% - 40px); padding:0; }
  .cta-band--home .container .eyebrow { font-size:.7rem; letter-spacing:.15em; }
  .cta-band--home .h2 { font-size:clamp(2.7rem,8.2vw,4rem); }
  .cta-band--home .container p:not(.eyebrow) { font-size:1.1rem; margin:24px 0 28px; }
  .cta-band--home .btn { margin:0; font-size:1rem; max-width:100%; }
  .cta-band-blob { width:90%; height:32%; left:-40%; bottom:-20%; }
}


.feature-strip { position:relative; }

/* Final CTA: three intentional title lines and a lateral action. */
.cta-band--home .container { grid-template-columns:minmax(0,1fr) auto; gap:clamp(18px,2vw,32px); align-items:center; }
.cta-band--home .container > div { container-type:inline-size; }
.cta-band--home .container .eyebrow { text-transform:none; }
.cta-band--home .h2 { font-size:clamp(1.15rem,10.5cqw,5rem); }
.cta-title-line { display:block; white-space:normal; }
.cta-band--home .btn { justify-self:end; align-self:center; }
@media (min-width:761px) and (max-width:1279px) {
  .cta-band--home .btn { padding:16px 18px; font-size:.9rem; gap:10px; }
}
@media (max-width:760px) {
  .cta-band--home .container { grid-template-columns:minmax(0,1fr) minmax(100px,.46fr); gap:16px; }
  .cta-band--home .btn { width:100%; white-space:normal; padding:14px 12px; min-height:58px; font-size:.85rem; gap:8px; text-align:center; }
  .cta-band--home .container .eyebrow { letter-spacing:.1em; }
}

/* Final CTA action follows the supporting text. */
.cta-band--home .container { grid-template-columns:minmax(0,1fr); gap:0; }
.cta-band--home .btn { justify-self:start; align-self:start; width:fit-content; max-width:100%; white-space:normal; }

/* Home section rhythm: small additions at the two requested transitions only. */
.section--cream:has(> .container > .cards) { padding-bottom:132px; }
.details-section + .location-section { padding-top:calc(clamp(56px,4vw,80px) + 24px); }
@media (min-width:681px) and (max-width:1024px) {
  .section--cream:has(> .container > .cards) { padding-bottom:128px; }
  .details-section + .location-section { padding-top:76px; }
}
@media (max-width:680px) {
  .section--cream:has(> .container > .cards) { padding-bottom:94px; }
  .details-section + .location-section { padding-top:72px; }
}
