/* A Chegada — light surfaces, soft rose accents and flowing contours. */
:root { --nav-height:64px; --cream:#faf5ef; --cream-deep:#e8ddd4; --brand:#af8382; --brand-dark:#8f6665; --serif:"Instrument Serif",Georgia,serif; --sans:"DM Sans","Segoe UI",sans-serif; --rose:var(--brand); --deep-rose:var(--brand); --action:var(--brand); --action-hover:var(--brand-dark); --ink:#493f3c; --muted:#6d625e; --line:#dfd1c8; }
html { scroll-padding-top:calc(var(--nav-height) + 20px); }
body { background:var(--cream); }
.wrap { width:min(1120px,calc(100% - 80px)); }
h2,.care h2 { font:400 clamp(36px,4vw,51px)/1.1 var(--serif); }
h1,h2 { font-weight:400; letter-spacing:-.015em; text-wrap:balance; }
h1 em,h2 em { color:var(--brand); font-weight:400; font-style:italic; }
p { font-size:16px; font-weight:400; line-height:1.8; text-wrap:pretty; }
p strong { color:var(--brand-dark); font-weight:600; }
.site-nav { height:var(--nav-height); background:#faf5eff5; border-bottom:1px solid var(--line); box-shadow:0 4px 18px #af83820d; }
.site-nav nav a { color:var(--brand-dark); font-size:12px; font-weight:500; text-transform:none; letter-spacing:.02em; }
.site-nav__brand { width:125px; }
.site-nav nav a:hover { color:var(--action); opacity:1; }
.hero { background:var(--cream); color:var(--ink); }
.hero::before { content:""; position:absolute; inset:auto auto 10% -180px; width:300px; height:410px; border:2px solid #d3c1b64d; border-radius:46% 54% 65% 35% / 45% 37% 63% 55%; background:none; opacity:1; z-index:-1; transform:rotate(-20deg); }
.hero-grid { min-height:660px; display:flex; align-items:center; padding:36px 0; }
.hero-copy { width:49%; max-width:520px; padding:30px 0; }
.hero-heading { color:var(--ink); font:400 clamp(38px,4.2vw,56px)/1.08 var(--serif); letter-spacing:-.01em; margin-bottom:24px; }
.hero-heading em { color:var(--rose); font-weight:400; }
.hero-copy > p:not(.hero-heading) { color:var(--muted); max-width:450px; font-size:16px; line-height:1.75; }
.hero-copy > p strong { color:var(--ink); font-weight:600; }
.portrait-stage { position:absolute; inset:0 -35px 0 49%; overflow:hidden; }
.portrait-stage::before { content:""; position:absolute; inset:95px 22px 56px 35px; width:auto; height:auto; transform:rotate(-9deg); border:2px solid var(--brand); border-radius:46% 54% 40% 60% / 37% 43% 57% 63%; background:#e8ddd466; mask-image:none; -webkit-mask-image:none; }
.portrait-stage img { width:675px; top:-145px; max-width:none; left:50%; transform:translateX(-50%); filter:none; }
.portrait-stage::after { content:""; position:absolute; inset:auto 0 0; height:110px; z-index:2; background:linear-gradient(to bottom, #faf5ef00 0%, #faf5ef45 35%, #faf5efc7 72%, var(--cream) 100%); pointer-events:none; }
.button,.button.alt,.button.light { background:var(--action); color:white; border:1px solid #fff5; border-radius:50px; font:500 13px/1.4 var(--sans); letter-spacing:.01em; text-transform:none; box-shadow:0 6px 18px #af838229; min-height:52px; padding:9px 11px 9px 23px; transition:background .25s,transform .25s,box-shadow .25s; }
.button span { width:30px; height:30px; flex-basis:30px; color:var(--action); background:#fff; border:0; border-radius:50%; font-size:19px; }
.button:hover { transform:translateY(-3px); background:var(--action-hover); box-shadow:0 10px 22px #af83823d; }
.button:hover span { transform:translateX(2px); }
.button:active { transform:translateY(0); }
.epic-video-caption { display:none; }
.epic-video-divider { display:none; }
.epic-video__player { cursor:pointer; }
.epic-sound-toggle { position:absolute; right:clamp(18px,3vw,46px); bottom:clamp(18px,3vw,38px); z-index:3; display:flex; align-items:center; gap:10px; min-height:44px; padding:9px 16px 9px 12px; border:1px solid #fff8; border-radius:30px; background:#2d2425a8; color:white; font:500 13px/1 var(--sans); opacity:0; transform:translateY(8px); backdrop-filter:blur(10px); cursor:pointer; transition:opacity .35s ease .55s,transform .35s ease .55s,background .25s ease; }
.epic-video.is-open .epic-sound-toggle { opacity:1; transform:none; }
.epic-sound-toggle:hover { background:#2d2425d9; }
.epic-sound-toggle svg { width:23px; height:23px; fill:white; }
.epic-sound-toggle .sound-wave { fill:none; stroke:white; stroke-width:1.7; stroke-linecap:round; }
.epic-sound-toggle[aria-pressed="true"] { background:#af8382e8; }
.intro,.partner,.care,.testimonials,.faq { overflow:hidden; isolation:isolate; }
.intro { padding:96px 0; background:var(--cream-deep); border-top:1px solid var(--line); }
.intro .wrap { display:grid; grid-template-columns:1fr 1.05fr; gap:78px; align-items:center; }
.intro-copy { margin:0; max-width:none; order:-1; }
.intro-copy p { max-width:570px; font:400 18px/1.8 var(--sans); margin-bottom:28px; }
.intro-copy strong { color:var(--brand-dark); font-weight:600; }
.intro-copy em { color:var(--action); font-family:var(--serif); font-size:1.16em; font-weight:400; }
.personal-voice { position:relative; padding-left:42px; }
.personal-voice::before { content:"“"; position:absolute; left:0; top:-17px; color:var(--brand); font:400 72px/1 var(--serif); }
.voice-signature { display:flex; align-items:center; gap:12px; margin:-8px 0 28px; color:var(--brand-dark); font:500 13px/1.4 var(--sans); letter-spacing:.04em; }
.voice-signature::before { content:""; width:30px; height:1px; background:var(--brand); }
.wide-photo { padding:0; border:0; border-radius:22px; box-shadow:none; background:transparent; }
.wide-photo img { aspect-ratio:3/2; border-radius:22px; object-fit:cover; object-position:center; }
.partner { padding:102px 0; background:var(--cream); border:0; }
.two-col,.care .two-col { gap:80px; grid-template-columns:1fr 1fr; }
.partner-layout { position:relative; display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(58px,9vw,128px); align-items:start; padding-top:42px; border-top:1px solid var(--line); }
.partner-heading h2 { margin:0; font-size:clamp(42px,5vw,64px); line-height:1.06; }
.personal-title::before { content:"“"; display:block; height:34px; margin-bottom:12px; color:var(--brand); font:400 78px/.72 var(--serif); }
.partner-copy { padding-top:5px; }
.partner-copy > p { max-width:590px; margin-bottom:28px; color:var(--muted); font-size:18px; line-height:1.85; }
.partner p,.care p { line-height:1.8; }
.care { background:var(--cream-deep); padding:104px 0; }
.care-photo { padding:0; }
.care-photo::before { content:none; }
.care-photo img { border-radius:120px 120px 20px 20px; aspect-ratio:4/3; object-fit:cover; object-position:center; box-shadow:none; }
.care-copy h2 { margin-bottom:25px; }
.care-copy p { max-width:520px; margin-bottom:28px; font-size:17px; }
.testimonials { background:var(--cream); padding:90px 0 64px; border:0; }
.testimonials::before { content:none; }
.section-heading { justify-content:center; text-align:center; margin-bottom:40px; }
.testimonials .section-heading h2 { max-width:580px; color:var(--ink); }
.testimonials .section-heading h2 em { display:inline; color:var(--brand); }
.video-testimonials { width: min(1320px, calc(100% - 64px)); margin-inline: auto; padding: 8px 0 24px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; cursor: grab; }
.video-testimonials.is-dragging { scroll-snap-type: none; cursor: grabbing; user-select: none; }
.video-testimonials.is-dragging .video-toggle { pointer-events: none; }
.video-testimonials .slider-track { gap: 24px; transform: none; will-change: auto; }
.video-testimonials figure { position: relative; display: block; flex: 0 0 280px; aspect-ratio: 9 / 16; border-radius: 20px; padding: 0; scroll-snap-align: start; box-shadow: 0 18px 40px #180b1930; border: 1px solid #ffffff2b; }
.video-testimonials video { object-fit: contain; border-radius: inherit; }
.video-testimonials figure:hover { transform: none !important; }
.video-toggle { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 15px; width: 100%; border: 0; border-radius: inherit; background: linear-gradient(180deg, transparent 35%, #20111b66); color: white; cursor: pointer; transition: background .3s; }
.video-toggle__icon { display: grid; place-items: center; width: 70px; height: 70px; padding-left: 3px; border: 1px solid #fff8; border-radius: 50%; background: #fff2; backdrop-filter: blur(8px); box-shadow: 0 0 0 9px #ffffff12; font-size: 23px; transition: transform .3s, background .3s; }
.video-toggle:hover .video-toggle__icon { transform: scale(1.1); background: #af8382e6; }
.video-toggle__label { font-size: 14px; font-weight: 500; text-shadow: 0 2px 10px #000; }
.is-playing .video-toggle { background: transparent; }
.is-playing .video-toggle__icon, .is-playing .video-toggle__label { opacity: 0; }
.is-playing .video-toggle:hover .video-toggle__icon, .is-playing .video-toggle:focus-visible .video-toggle__icon { opacity: 1; }
.video-message { position: absolute; bottom: 16px; left: 16px; right: 16px; color: white; background: #8f6665ed; font-size: 14px; pointer-events: none; }
.video-message:empty { display: none; }
.testimonial-navigation { display: flex; justify-content: flex-end; align-items: center; gap: 12px; padding-top: 8px; }
.testimonial-navigation span { margin-right: auto; color: #e6c5cb; font-size: 14px; letter-spacing: .14em; }
.testimonial-navigation button { width: 50px; height: 50px; border: 1px solid #f1d5ce77; border-radius: 50%; background: #ffffff09; color: white; font-size: 24px; cursor: pointer; transition: background .25s, transform .25s; }
.testimonial-navigation button:hover { background: #ffffff20; transform: translateY(-2px); }
.testimonial-navigation button:disabled { opacity: .3; cursor: default; transform: none; }

.video-testimonials { width:min(1120px,calc(100% - 80px)); padding-bottom:18px; }
.video-testimonials figure { flex-basis:260px; border:1px solid #e1d4d4; border-radius:20px; box-shadow:0 10px 24px #67424c0d; }
.testimonial-navigation span { color:var(--brand-dark); letter-spacing:.04em; }
.testimonial-navigation button { border-color:#cfb9be; color:var(--action); background:transparent; }
.testimonial-navigation button:hover { background:#eee2e5; }
.faq { padding:92px 0; background:var(--cream-deep); }
.faq .narrow { max-width:850px; }
.faq h2 { text-align:center; }
.faq h2::after { background:var(--brand); width:46px; margin-inline:auto; }
.faq details { border:1px solid #dfd5d1; border-radius:14px; background:var(--cream); box-shadow:none; }
.faq summary { font:500 16px/1.5 var(--sans); color:var(--ink); }
.faq summary::before { color:var(--brand); }
.faq summary::after { color:var(--brand-dark); background:#f2e7e2; border:0; }
.faq details p { font-size:16px; color:var(--muted); }
.final-cta { overflow:hidden; padding:76px 0 25px; border-top:1px solid var(--line); background:var(--cream-deep); color:var(--ink); }
.final-cta::before { content:none; }
.final-cta .cta-grid { position:relative; display:grid; grid-template-columns:.72fr 1.28fr; align-items:center; gap:clamp(45px,7vw,95px); max-width:none; padding:clamp(48px,6vw,76px); border:1px solid #d8c9c0; border-radius:28px; background:var(--cream); box-shadow:0 24px 55px #80625a10; text-align:left; }
.cta-heading { align-self:stretch; display:flex; flex-direction:column; justify-content:center; gap:24px; padding-right:clamp(35px,5vw,70px); border-right:1px solid var(--line); }
.cta-logo { width:min(230px,100%); height:auto; }
.cta-place { color:var(--brand-dark); font:500 12px/1.4 var(--sans); letter-spacing:.1em; text-transform:uppercase; }
.final-cta h2 { max-width:570px; color:var(--ink); font:400 clamp(39px,4.7vw,60px)/1.04 var(--serif); }
.final-cta h2 em { position:relative; display:inline-block; color:var(--brand); font-weight:400; text-decoration:none; }
.final-cta h2 em::after { content:""; position:absolute; left:2%; right:0; bottom:-9px; height:8px; border-top:2px solid var(--brand); border-radius:52% 48% 0 0; background:none; opacity:.7; transform:rotate(1deg) scaleX(.98); transform-origin:left center; pointer-events:none; }
.cta-action { max-width:570px; }
.final-cta p { max-width:440px; margin:20px 0 27px; color:var(--muted); font-size:17px; line-height:1.7; }
.final-cta .button { width:auto; min-width:360px; background:var(--brand); color:white; }
.final-cta .button span { color:var(--brand-dark); background:var(--cream); }
.footer-signature { display:flex; justify-content:center; padding-top:23px; }
.footer-signature span { color:#8f746d; font:500 11px/1.4 var(--sans); letter-spacing:.08em; text-transform:uppercase; }
.motion-ready { opacity:0; filter:blur(9px); transform:translateY(16px); transition:opacity .7s ease var(--reveal-delay,0ms),filter .85s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms),transform .75s cubic-bezier(.2,.75,.25,1) var(--reveal-delay,0ms); will-change:opacity,filter,transform; }
.motion-ready.is-visible { opacity:1; filter:blur(0); transform:none; }
@keyframes text-enter { from { opacity:0; filter:blur(10px); transform:translateY(14px); } to { opacity:1; filter:blur(0); transform:translateY(0); } }
@media(max-width:1000px) and (min-width:761px) {
  .portrait-stage img { width:610px; top:-124px; }
  .hero-heading { font-size:44px; }
  .two-col,.care .two-col,.intro .wrap { gap:42px; }
}
@media(max-width:900px) {
  .epic-video.is-open { height:56.25vw; max-height:calc(100svh - var(--nav-height)); }
  .epic-video__player { object-fit:contain; object-position:center; }
  .epic-video.is-open .epic-video__player { transform:scale(1.005); }
}
@media(max-width:760px) {
  :root { --nav-height:66px; }
  .wrap { width:calc(100% - 44px); }
  .site-nav { padding:9px 22px; }
  .site-nav__brand { width:124px; }
  .epic-video-divider { order:-1; position:relative; display:grid; place-items:center; height:0; flex:none; overflow:hidden; opacity:0; background:linear-gradient(180deg,var(--cream-deep) 0%,#f1e8e0 56%,var(--cream) 100%); transition:height .65s cubic-bezier(.72,0,.22,1),opacity .25s ease .35s; }
  .epic-video.is-open + .epic-video-divider { height:34px; opacity:1; }
  .epic-video-divider::before,.epic-video-divider::after { content:""; position:absolute; top:11px; width:calc(50% - 28px); height:1px; background:linear-gradient(90deg,transparent,#af838280); }
  .epic-video-divider::before { left:0; }
  .epic-video-divider::after { right:0; transform:scaleX(-1); }
  .epic-video-divider span { width:9px; height:9px; border:1px solid var(--brand); border-radius:50% 50% 50% 12%; transform:rotate(45deg); background:var(--cream); box-shadow:0 0 0 5px #faf5efb8; }
  .epic-video-caption { display:grid; order:-1; padding:0 26px; background:var(--cream); position:relative; isolation:isolate; }
  .epic-sound-toggle { right:16px; bottom:16px; min-height:42px; padding:8px 14px 8px 10px; font-size:12px; }
  .epic-video-caption.is-open { height:auto; min-height:calc(100svh - var(--nav-height) - 56.25vw - 34px); min-height:calc(100dvh - var(--nav-height) - 56.25vw - 34px); grid-template-rows:auto auto; align-content:start; padding-block:9px 24px; gap:20px; }
  .epic-video-caption::after { content:""; position:absolute; width:200px; height:220px; right:-135px; bottom:-35px; border:1px solid #af838266; border-radius:45% 55% 38% 62%; transform:rotate(-20deg); z-index:-1; }
  .epic-video-caption p { color:var(--ink); font:400 clamp(35px,9vw,46px)/1.08 var(--serif); max-width:480px; text-wrap:pretty; }
  .epic-video-caption em { color:var(--rose); font-weight:500; }
  .epic-video-actions { width:100%; display:grid; align-content:start; justify-items:start; gap:30px; }
  .epic-video-location { margin:0; padding:0; border:0; background:none; font:500 12px/1.5 var(--sans); letter-spacing:.09em; color:var(--brand-dark); text-transform:uppercase; }
  .epic-video-caption .epic-video-cta { width:100%; max-width:420px; margin:0; }
  .hero { background:var(--cream); }
  .hero::before { display:none; }
  .hero-grid { min-height:0; display:flex; flex-direction:column; padding:25px 0 52px; gap:0; }
  .portrait-stage { position:relative; inset:auto; width:100%; height:360px; flex:none; overflow:hidden; }
  .portrait-stage::before { inset:45px 12% 16px; width:auto; height:auto; transform:rotate(-9deg); }
  .portrait-stage img { width:430px; top:-102px; left:50%; }
  .portrait-stage::after { height:95px; }
  .hero-copy { width:100%; max-width:520px; padding:22px 0 0; }
  .hero-heading { font-size:clamp(34px,9vw,43px); line-height:1.08; margin-bottom:20px; }
  .hero-copy > p:not(.hero-heading) { font-size:16px; line-height:1.7; margin:0 0 24px; }
  .button,.hero-copy .button { font-size:13px; min-height:54px; }
  .intro,.partner,.care,.faq { padding:64px 0; }
  .intro .wrap,.two-col,.care .two-col { grid-template-columns:1fr; gap:36px; }
  .intro-copy { order:0; }
  .personal-voice { padding-left:32px; }
  .personal-voice::before { top:-13px; font-size:60px; }
  .intro-copy p { font-size:16px; line-height:1.8; }
  .wide-photo img { aspect-ratio:3/2; }
  .partner-layout { grid-template-columns:1fr; gap:34px; padding-top:32px; }
  .partner-heading h2 { font-size:43px; }
  .personal-title::before { height:27px; margin-bottom:10px; font-size:66px; }
  .partner-copy > p { font-size:16px; line-height:1.8; }
  h2,.care h2,.faq h2 { font-size:36px; }
  .care-photo img { border-radius:90px 90px 18px 18px; aspect-ratio:4/3; }
  .testimonials { padding:64px 0 40px; }
  .section-heading { text-align:left; }
  .video-testimonials { width:calc(100% - 44px); }
  .video-testimonials figure { flex-basis:min(77vw,285px); }
  .faq details p { padding-left:18px; font-size:16px; }
  .final-cta { padding:44px 0 21px; }
  .final-cta .cta-grid { grid-template-columns:1fr; align-items:start; gap:36px; padding:38px 28px; border-radius:22px; }
  .cta-heading { align-self:auto; gap:16px; padding:0 0 28px; border-right:0; border-bottom:1px solid var(--line); }
  .cta-logo { width:175px; }
  .final-cta h2 { font-size:43px; }
  .cta-action { max-width:none; padding:0; }
  .final-cta p { font-size:16px; }
  .final-cta .button { width:100%; min-width:0; }
  .footer-signature { padding-top:18px; }
  .footer-signature span { font-size:11px; }
}
@media(prefers-reduced-motion:reduce) {
  .motion-ready { opacity:1; filter:none; transform:none; }
  .button:hover,.button:hover span { transform:none; }
}
