/* Continuous testimonial rail: images are the cards, with adjacent messages kept in view. */
.testimonial-carousel{width:calc(100% + 44px);max-width:none;margin:39px -22px 0;overflow:hidden}
.testimonial-viewport{overflow:hidden;border:0;border-radius:0;background:transparent;box-shadow:none}
.testimonial-viewport:focus-visible{box-shadow:none}
.testimonial-track{width:100%;gap:0;transition:none!important}
.testimonial-slide{flex:0 0 auto;display:flex;width:auto;height:270px;margin:0 10px;padding:0;background:transparent}
.testimonial-slide img{width:auto;height:100%;max-width:none;max-height:none;border-radius:17px;box-shadow:0 10px 24px rgba(38,49,38,.14);cursor:zoom-in;transition:transform .2s ease,box-shadow .2s ease}
.testimonial-slide img:hover{transform:translateY(-3px);box-shadow:0 15px 30px rgba(38,49,38,.2)}
.testimonial-slide img:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.testimonial-lightbox{width:auto;max-width:94vw;max-height:90svh;margin:auto;padding:0;border:0;background:transparent;overflow:visible}
.testimonial-lightbox::backdrop{background:rgba(17,29,20,.82);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.testimonial-lightbox img{display:block;max-width:94vw;max-height:84svh;border-radius:18px;box-shadow:0 24px 65px rgba(0,0,0,.38)}
.testimonial-lightbox-close{position:absolute;z-index:1;top:12px;right:12px;padding:9px 13px;border:0;border-radius:999px;background:var(--paper);color:var(--ink);font:600 12px/1 var(--sans);cursor:pointer;box-shadow:0 8px 20px rgba(0,0,0,.2)}
.testimonial-lightbox-close:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media(max-width:850px){.testimonial-slide{height:185px;margin:0 8px}.testimonial-lightbox img{border-radius:14px}}
@media(max-width:390px){.testimonial-slide{height:175px;margin:0 7px;padding:0}}
@media(prefers-reduced-motion:reduce){.testimonial-slide img{transition:none}.testimonial-slide img:hover{transform:none}}

/* Review refinements: compact phase heading, clear next-step action, and a subtle scroll cue. */
.moments .section-heading h2{font-size:2.275rem}
.testimonial-cta{display:flex;width:max-content;margin:31px auto 0;border-radius:14px}
.hero-scroll-cue{position:absolute;z-index:9;left:50%;bottom:20px;display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(253,252,248,.62);border-radius:50%;background:rgba(38,49,38,.32);color:var(--paper);transform:translateX(-50%);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 8px 22px rgba(18,29,22,.25);animation:scrollCueFloat 2.2s ease-in-out infinite}.hero-scroll-cue svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.hero-scroll-cue:focus-visible{outline:2px solid var(--gold);outline-offset:4px}@keyframes scrollCueFloat{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,-7px)}}
@media(prefers-reduced-motion:reduce){.hero-scroll-cue{animation:none}}

/* Shared CTA feedback: one visual language for mouse hover and touch press. */
.compact-about .about-copy>p:not(.eyebrow){margin:16px 0 0}.compact-about .about-copy .about-cta{display:flex;width:max-content;margin-top:25px}
.button{position:relative;min-height:48px;border-radius:14px;overflow:hidden;box-shadow:0 9px 20px rgba(38,49,38,.12);transition:transform .24s cubic-bezier(.22,.8,.2,1),background-color .24s ease,color .24s ease,box-shadow .24s ease}.button:after{content:"";position:absolute;inset:0;background:linear-gradient(112deg,transparent 24%,rgba(253,252,248,.24) 49%,transparent 74%);transform:translateX(-130%);transition:transform .5s cubic-bezier(.22,.8,.2,1);pointer-events:none}.button:hover:after{transform:translateX(130%)}.button-dark:hover{background:#202f23;color:var(--white);box-shadow:0 15px 30px rgba(38,49,38,.25);transform:translateY(-3px)}.button-light:hover{background:var(--forest);color:var(--white);box-shadow:0 15px 30px rgba(38,49,38,.26);transform:translateY(-3px)}.button:active{transform:translateY(1px) scale(.975);box-shadow:0 5px 12px rgba(38,49,38,.18);transition-duration:.08s}.button:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.header-cta{transition:color .2s ease,border-color .2s ease,transform .2s ease}.header-cta:hover{color:var(--sand);border-color:var(--sand);transform:translateY(-2px)}.hero-scroll-cue:active{transform:translate(-50%,1px) scale(.94)}
@media(prefers-reduced-motion:reduce){.button,.button:after,.header-cta{transition:none}.button:active{transform:none}}

/* Compact service contexts: broad coverage without competing with the core conversion path. */
.service-context-cta{display:flex;width:max-content;margin:30px auto 0}
.motion-stage{background:#2d3b2e url('images/thuany-hero-optimized.jpg') center top/cover no-repeat}.motion-stage.video-fallback .hero-motion{display:none}
@media(min-width:851px){.motion-stage.hero-visual.video-fallback{background:#25392d url('images/thuany-hero-optimized.jpg') 72% center/cover no-repeat!important}}
@media(min-width:851px){.motion-stage.hero-visual.video-recovering{background:#25392d url('images/thuany-hero-optimized.jpg') 72% center/cover no-repeat!important}.motion-stage.hero-visual.video-recovering .hero-motion{opacity:0!important}}
.service-context{padding:72px 22px;overflow:hidden}.service-context-heading h2{max-width:390px;margin:0;font-family:var(--serif);font-size:2.35rem;font-weight:400;line-height:.98;letter-spacing:-.035em}.service-context-heading h2 em{color:var(--sand)}.service-context-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:34px}.service-context-grid article{display:flex;flex-direction:column;min-height:164px;padding:17px 15px;border-radius:18px;background:rgba(253,252,248,.98);color:var(--forest);box-shadow:0 10px 22px rgba(14,24,16,.14)}.service-context-grid span{color:var(--gold);font-size:10px;font-weight:600;letter-spacing:.12em}.service-context-grid h3{margin:19px 0 9px;font-family:var(--serif);font-size:1.28rem;font-weight:400;line-height:1}.service-context-grid p{margin:0;color:#5d665b;font-size:10px;line-height:1.38}.service-context-grid article:nth-child(3n){background:var(--sand)}.service-context-grid article:nth-child(3n) p{color:#505a4e}@media(max-width:390px){.service-context-grid{gap:8px}.service-context-grid article{min-height:155px;padding:15px 13px}.service-context-grid h3{font-size:1.18rem}.service-context-grid p{font-size:9px}}
.service-context-intro{max-width:470px;margin:18px 0 0;color:rgba(253,252,248,.74);font-size:14px;line-height:1.5}.compact-about .about-copy .about-highlight{margin:26px 0;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-family:var(--serif);font-size:1.52rem;line-height:1.1;color:var(--forest)}.compact-about .about-copy .about-quote{margin-top:22px;font-family:var(--serif);font-size:1.34rem;line-height:1.1;color:var(--olive)}
@media(max-width:430px){.service-context-grid{grid-template-columns:1fr}.service-context-grid article{min-height:0;padding:21px 19px}.service-context-grid h3{margin-top:15px;font-size:1.48rem}.service-context-grid p{font-size:12px;line-height:1.45}}
@media(min-width:851px){body{width:auto;max-width:none;margin:0;box-shadow:none}.site-header{height:82px;padding:0 clamp(22px,5vw,84px)}.site-header .brand img{width:126px}.site-header .header-cta,.site-header nav{display:flex}.header-identity strong{max-width:none;font-size:11px}.header-identity span{font-size:9px}.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:4vw;align-items:center;min-height:calc(100vh - 82px);height:auto;padding:clamp(54px,8vw,118px) clamp(22px,8vw,130px)}.hero-copy{text-align:left}.hero-copy .hero-text{margin-left:0;margin-right:0}.hero-actions{justify-content:flex-start}.motion-stage.hero-visual{left:auto;right:auto;width:auto;height:auto;min-height:570px;transform:none}.motion-stage .hero-motion{inset:0;height:100%;object-position:50% 44%;transform:translate3d(0,var(--video-parallax),0) scale(1.035)}.proof-strip{max-width:1180px;margin:0 auto;padding:28px clamp(22px,8vw,130px);grid-template-columns:1.2fr .8fr}.proof-details{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-section,.compact-about{padding:clamp(95px,10vw,150px) clamp(22px,9vw,145px)}.service-context{padding:clamp(96px,11vw,150px) clamp(22px,9vw,145px)}.service-context-heading{max-width:760px}.service-context-heading h2{max-width:720px;font-size:clamp(3.1rem,5vw,5.2rem)}.service-context-intro{font-size:16px}.service-context-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:54px}.service-context-grid article{min-height:255px;padding:25px 23px;border-radius:24px}.service-context-grid h3{margin:25px 0 13px;font-size:1.85rem}.service-context-grid p{font-size:12px;line-height:1.5}.compact-about{grid-template-columns:1.08fr .72fr;gap:8vw;align-items:center}.compact-about .about-image{height:580px;max-width:none}.compact-about .about-copy .about-highlight{font-size:clamp(1.6rem,2.2vw,2.25rem)}.testimonials .section-heading{max-width:720px}.site-footer{padding:65px clamp(22px,9vw,145px) 30px}.footer-grid{grid-template-columns:1.15fr 1fr .8fr;gap:70px}.footer-bottom{margin-top:54px}}
.moment-card.moment-laudo p{font-size:15px}.moment-cta{display:flex;width:max-content;margin:30px auto 0}.button-gold{background:#c89b55;color:#203027}.button-gold:hover{background:#e0b86f;color:#203027;box-shadow:0 15px 30px rgba(182,150,97,.35);transform:translateY(-3px)}
.service-cta{display:flex;width:max-content;margin:34px auto 0}.button,.button-light,.button-dark,.button-gold{background:#d49a28;color:#1f3024}.button:hover,.button-light:hover,.button-dark:hover,.button-gold:hover{background:#f0b640;color:#1f3024;box-shadow:0 15px 30px rgba(212,154,40,.38);transform:translateY(-3px)}.header-cta{color:#d49a28;border-color:#d49a28}.header-cta:hover{color:#f0b640;border-color:#f0b640}
/* Legibilidade: textos de apoio ficam confortáveis em telas pequenas e grandes. */
.eyebrow{font-size:11px;letter-spacing:.15em}.hero-text,.service-context-intro{font-size:16px;line-height:1.55}.moment-card p,.service-card p,.service-context-grid p{font-size:15px;line-height:1.5}.proof-primary>span,.proof-details span{font-size:11px;line-height:1.4}.proof-details b{font-size:1.45rem;line-height:1.05}.final-content>p:not(.eyebrow){font-size:16px;line-height:1.55}.footer-grid p,.footer-grid a,.footer-bottom p,.footer-bottom small{font-size:13px;line-height:1.5}@media(max-width:430px){.moment-card p,.service-card p,.service-context-grid p{font-size:15px;line-height:1.52}.proof-primary>span,.proof-details span{font-size:11px}.button{font-size:13px}}
.compact-about .about-copy .about-highlight{font-size:17px;line-height:1.28}

/* Definitive hero media: each device receives its native composition, with copy kept in HTML for clarity and accessibility. */
.hero .hero-copy{display:block!important;position:absolute;z-index:9;top:clamp(132px,17vh,208px);left:clamp(26px,8vw,148px);width:min(44vw,700px);max-width:calc(100% - 52px);padding:0;margin:0;color:var(--white);text-align:left}.hero .hero-copy h1{margin:0;font-size:clamp(3.2rem,4.75vw,5.7rem);line-height:.94;text-wrap:balance;text-shadow:0 4px 24px rgba(13,26,17,.36)}.hero .hero-copy h1 em{color:var(--sand)}.hero .hero-copy .hero-text{max-width:590px;margin:24px 0 0;color:rgba(253,252,248,.94);font-size:clamp(1rem,1.22vw,1.2rem);line-height:1.52;text-shadow:0 2px 14px rgba(13,26,17,.36)}.hero-support{position:absolute;z-index:8;left:clamp(26px,8vw,148px);top:84%;margin:0;color:rgba(253,252,248,.9);font-size:12px;font-weight:600;letter-spacing:.075em;text-transform:uppercase;text-shadow:0 2px 12px rgba(13,26,17,.38);pointer-events:none}.motion-stage.hero-visual{left:0;right:0;width:100%;transform:none}.motion-stage .hero-motion{object-position:center;transform:translate3d(0,var(--video-parallax),0) scale(1.002)}.motion-stage .motion-texture{opacity:1;background:linear-gradient(90deg,rgba(16,36,25,.48) 0%,rgba(16,36,25,.22) 38%,transparent 62%),linear-gradient(180deg,rgba(12,28,19,.2),transparent 33%,rgba(12,28,19,.18));mix-blend-mode:normal}.hero-video-hotspot{left:31.5%;top:75.5%;width:35%;height:13%;transform:translate(-50%,-50%)}
@media(max-width:850px){.hero .hero-copy{top:clamp(96px,14vh,132px);left:22px;width:calc(100% - 44px);max-width:360px}.hero .hero-copy h1{font-size:clamp(2.15rem,8.35vw,3.25rem);line-height:.96}.hero .hero-copy .hero-text{max-width:330px;margin-top:16px;font-size:15px;line-height:1.45}.motion-stage .motion-texture{background:linear-gradient(180deg,rgba(12,28,19,.52) 0%,rgba(12,28,19,.25) 32%,transparent 48%,rgba(12,28,19,.14) 100%)}.hero-video-hotspot{left:50%;top:66%;width:72%;height:11%}.hero-support{top:73%;left:50%;width:100%;font-size:10px;text-align:center;transform:translateX(-50%);letter-spacing:.09em}}
@media(prefers-reduced-motion:reduce){.motion-stage .hero-motion{transform:none}}

/* Desktop refinement: testimony cards stay close to the section heading and CTA. */
@media(min-width:851px){.testimonials{padding-top:78px;padding-bottom:82px}.testimonials .testimonial-carousel{margin-top:22px}.testimonials .testimonial-cta{margin-top:24px}.testimonials .testimonial-slide{height:210px}}

/* Desktop hero framing: show the complete horizontal film instead of cropping Thuany's head and CTA. */
@media(min-width:851px){.hero,.motion-stage.hero-visual{background:#25392d}.motion-stage .hero-motion{inset:72px 5vw -1px auto;width:auto;height:calc(100% - 71px);object-fit:contain;object-position:right bottom;transform:none}.hero-support{left:32.5%;top:85%}}

/* Desktop placement refinements from the visual review. */
@media(min-width:851px){.motion-stage.hero-visual{inset:66px auto auto 0;width:100%;height:min(632px,calc(100svh - 66px));margin-left:-144px}.motion-stage .hero-motion{inset:0 5vw 0 auto;width:auto;height:100%;object-position:right bottom}.hero .hero-copy h1{width:min(788.89px,calc(100vw - 310px));margin-left:110px;padding-left:105px;font-size:65.07px}.hero .hero-copy .hero-text{margin-top:25px;margin-left:213px}.hero-video-hotspot{margin-top:-1px;margin-left:197px}}

/* Blend the generated video into the hero background instead of exposing its rectangular edges. */
@media(min-width:851px){.motion-stage .hero-motion{-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 14%,#000 86%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 14%,#000 86%,transparent 100%)}}

/* Match each outer edge to the film's own green without adding an effect over the embedded CTA. */
@media(min-width:851px){.hero{background:linear-gradient(90deg,#25392d 0%,#2d4635 48%,#36483a 100%)}.motion-stage.hero-visual{width:calc(100% + 144px);background:transparent}.motion-stage .hero-motion{inset:0 calc(5vw + 144px) 0 auto;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 14%,#000 72%,rgba(0,0,0,.7)84%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 14%,#000 72%,rgba(0,0,0,.7)84%,transparent 100%)}}

/* Tighter desktop rhythm after the opening fold: preserve hierarchy without oversized vertical gaps. */
@media(min-width:851px){.compact-section,.compact-about{padding-top:clamp(72px,6vw,96px);padding-bottom:clamp(72px,6vw,96px)}.service-context{padding-top:clamp(76px,6.5vw,104px);padding-bottom:clamp(76px,6.5vw,104px)}.compact-grid,.compact-services{margin-top:32px}.service-context-grid{margin-top:38px}.testimonials{padding-top:68px;padding-bottom:70px}.instagram-showcase{padding-top:78px;padding-bottom:78px}.final-cta{padding-top:clamp(84px,7vw,112px);padding-bottom:clamp(84px,7vw,112px)}}

/* Post-hero sections use a centered reading width rather than stretching card layouts edge to edge. */
@media(min-width:851px){.compact-section>.section-heading,.compact-section>.moment-grid,.compact-section>.service-grid,.compact-section>.button,.service-context-heading,.service-context-grid,.service-context-cta{width:min(1120px,100%);margin-left:auto;margin-right:auto}.testimonials>.section-heading,.testimonials>.testimonial-carousel,.testimonials>.testimonial-cta{margin-left:auto;margin-right:auto}.compact-about{max-width:1280px;margin-left:auto;margin-right:auto}.instagram-showcase{max-width:1280px;margin-left:auto;margin-right:auto}}

/* Phase section: centered editorial measure and a compact, decisive CTA. */
@media(min-width:851px){section#fases{width:min(1114.2px,calc(100% - 44px));margin-left:auto;margin-right:auto}section#fases .section-heading h2{font-size:44.4px}section#fases>a.button.button-gold{width:min(408.3px,100%);font-weight:600}}

/* Keep the desktop phase cards in the same single-column block pattern used in the revised section. */
@media(min-width:851px){section#fases .compact-grid{grid-template-columns:1fr;gap:18px}section#fases .compact-grid .moment-card{min-height:220px;padding:28px;border-radius:22px}section#fases .compact-grid .moment-card h3{margin-top:25px}}

/* Desktop CTA rhythm: each conversion action uses the same compact measure. */
@media(min-width:851px){.testimonials .testimonial-cta,.compact-about .about-copy .about-cta,.service-context .service-context-cta,.compact-section .service-cta,section#fases>a.button.button-gold{width:300px;flex:0 0 300px}}

/* Desktop-responsive safeguards: keep content readable across compact laptops and wide displays. */
@media(min-width:851px){body{overflow-x:hidden}section#assistencia-tecnica .compact-services{grid-template-columns:repeat(4,minmax(0,1fr))}section#assistencia-tecnica .compact-services .service-card{min-height:220px}}
@media(min-width:851px) and (max-width:1160px){.site-header{padding-left:28px;padding-right:28px}.site-header nav{gap:16px}.site-header nav a,.site-header .header-cta{font-size:10px}.site-header .header-cta{margin-left:0}.header-identity strong{font-size:10px}.header-identity span{font-size:8px}.service-context-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-about{grid-template-columns:1fr;max-width:760px}.compact-about .about-image{max-width:520px;height:500px}.compact-section>.section-heading,.compact-section>.moment-grid,.compact-section>.service-grid,.compact-section>.button,.service-context-heading,.service-context-grid,.service-context-cta{width:min(920px,100%)}}
@media(min-width:851px) and (max-width:1240px){section#assistencia-tecnica .compact-services{grid-template-columns:repeat(2,minmax(0,1fr))}section#fases{width:min(920px,calc(100% - 44px))}section#fases .section-heading h2{font-size:clamp(2.35rem,4vw,44.4px)}}

/* Compact desktop hero: reserve a clear column for copy and keep the filmed CTA below it. */
@media(min-width:851px) and (max-width:1240px){.motion-stage.hero-visual{inset:80px 0 0 0;width:100%;height:calc(100% - 80px);margin-left:0;background:transparent}.motion-stage .hero-motion{inset:0 -8vw 0 auto;width:auto;height:100%;object-position:right bottom;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 16%,#000 84%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 16%,#000 84%,transparent 100%)}.hero .hero-copy{top:clamp(118px,16vh,150px);left:clamp(34px,6vw,78px);width:min(48vw,500px);max-width:calc(100% - 68px)}.hero .hero-copy h1{width:100%;margin-left:0;padding-left:0;font-size:clamp(3rem,4.35vw,3.4rem);line-height:.96}.hero .hero-copy .hero-text{max-width:420px;margin-top:18px;margin-left:0;font-size:15px;line-height:1.5}.hero-video-hotspot{left:47%;top:75%;width:40%;height:14%;margin:0}.site-header nav a,.site-header .header-cta{white-space:nowrap}}

/* Reserve the lower hero area for the filmed CTA whenever the copy wraps. */
@media(min-width:851px) and (max-width:1240px){.hero .hero-copy{bottom:27%;display:flex;flex-direction:column;justify-content:flex-start}.hero .hero-copy .hero-text{margin-bottom:0}}

/* Align the copy column with the filmed CTA rather than the far-left screen edge on compact desktops. */
@media(min-width:851px) and (max-width:1240px){.hero .hero-copy{left:clamp(140px,18vw,220px);width:min(44vw,460px)}.hero .hero-copy .hero-text{max-width:400px}}

/* Simplified desktop header leaves a full readable line for the professional identity. */
@media(min-width:851px){.header-identity strong{width:237.15px}}

/* Mobile hero overlay: copy stays on the film, visibly separated from Thuany and above its embedded CTA. */
@media(max-width:600px){html,body{background:#3b4638}.hero{display:block!important;min-height:calc(100svh + clamp(112px,29vw,144px));height:calc(100svh + clamp(112px,29vw,144px));padding:0!important;background:#3b4638;overflow:hidden}.hero .hero-copy{display:block!important;position:absolute;z-index:9;top:clamp(142px,32vw,158px);left:16px;width:calc(100% - 48px);max-width:370px;padding:13px 16px 14px;margin:clamp(165px,39vw,185px) 0 0;color:var(--white);background:linear-gradient(90deg,rgba(17,35,24,.79) 0%,rgba(17,35,24,.65) 72%,rgba(17,35,24,.28) 100%);border-left:2px solid var(--gold);border-radius:0 16px 16px 0;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.hero .hero-copy h1{width:auto;max-width:330px;margin:0;padding:0;color:var(--white);font-size:clamp(1.45rem,6.315vw,1.66rem);line-height:.98;text-shadow:0 2px 10px rgba(9,22,14,.3)}.hero .hero-copy .hero-text{max-width:315px;margin:10px 0 0;color:rgba(253,252,248,.96);font-size:12px;line-height:1.42;text-shadow:0 1px 7px rgba(9,22,14,.3)}.motion-stage.hero-visual{position:absolute;top:clamp(60px,15vw,72px);right:0;left:0;width:100%;height:calc(100svh + clamp(28px,7.5vw,38px));min-height:0;margin:0;background:#3b4638;transform:none}.motion-stage .hero-motion{inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;background:#3b4638;transform:none}.motion-stage .motion-texture{opacity:.22;background:linear-gradient(180deg,rgba(11,27,18,.24),transparent 34%,rgba(11,27,18,.16));mix-blend-mode:normal}.hero-video-hotspot{left:50%;top:66%;width:72%;height:11%;margin:0}.hero-scroll-cue{bottom:18px}.hero-support{display:none}}

/* Tablets remain fluid; the earlier review-only 430px frame must not constrain real devices. */
@media(min-width:431px) and (max-width:850px){body{width:100%;max-width:none;margin:0;box-shadow:none}}

/* Fade the native video frame into its matching green surround on small screens. */
@media(max-width:600px){.motion-stage.hero-visual{background:linear-gradient(90deg,#394437 0%,#3b4638 18%,#3d493b 50%,#3b4638 82%,#394437 100%)}.motion-stage .hero-motion{background:transparent;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.48) 9%,#000 20%,#000 80%,rgba(0,0,0,.48) 91%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.48) 9%,#000 20%,#000 80%,rgba(0,0,0,.48) 91%,transparent 100%)}}

/* Social banners supplied by the client. The shared card treatment keeps them legible and equally prominent. */
.social-banners{display:grid;gap:clamp(18px,2.2vw,32px);justify-items:center;padding:clamp(46px,6vw,104px) clamp(22px,7vw,120px);background:var(--paper);line-height:0}.social-banner{display:block;width:min(1120px,100%);overflow:hidden;border-radius:30px;background:rgb(238,229,219);box-shadow:0 22px 46px rgba(38,49,38,.16);transition:transform .25s ease,box-shadow .25s ease}.social-banner img{display:block;width:100%;height:auto}.social-banner:hover{transform:translateY(-4px);box-shadow:0 28px 52px rgba(38,49,38,.2)}.social-banner:focus-visible{outline:3px solid var(--gold);outline-offset:5px}@media(max-width:850px){.social-banners{gap:20px;padding:38px 20px}.social-banner{border-radius:22px;box-shadow:0 16px 32px rgba(38,49,38,.15)}}@media(prefers-reduced-motion:reduce){.social-banner{transition:none}.social-banner:hover{transform:none}}

/* The video fades farther into the matching green surround, hiding the vertical source-frame seam on phones. */
@media(max-width:600px){.motion-stage .hero-motion{-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.42) 14%,#000 28%,#000 72%,rgba(0,0,0,.42) 86%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.42) 14%,#000 28%,#000 72%,rgba(0,0,0,.42) 86%,transparent 100%)}}

/* The approved mobile film already carries the hero copy. Keep its semantic
   heading for screen readers without drawing a second panel over the video. */
@media(max-width:850px){.hero .hero-copy.hero-copy-embedded{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;display:block!important}}
@media(min-width:851px){
  .hero .hero-copy.hero-copy-embedded{display:block!important;position:absolute!important;z-index:12!important;top:clamp(132px,17vh,208px)!important;left:clamp(26px,8vw,148px)!important;width:min(44vw,700px)!important;max-width:calc(100% - 52px)!important;height:auto!important;padding:0!important;margin:0!important;overflow:visible!important;clip:auto!important;white-space:normal!important;border:0!important;color:var(--white)!important;text-align:left!important}
  .hero .hero-copy.hero-copy-embedded h1{display:block!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important;color:var(--white)!important;font-size:clamp(3.2rem,4.75vw,5.7rem)!important;line-height:.94!important}
  .hero .hero-copy.hero-copy-embedded .hero-text{display:block!important;max-width:590px!important;margin:24px 0 0!important;color:rgba(253,252,248,.94)!important;font-size:clamp(1rem,1.22vw,1.2rem)!important;line-height:1.52!important}
}

/* Defer layout and paint work for sections that begin below the first view. */
main>section:not(.hero):not(.proof-strip){content-visibility:auto;contain-intrinsic-size:auto 760px}

/* The physical CTA is part of the approved film, including its hand motion. */
.hero-video-hotspot{top:82.5%;height:12%}
@media(min-width:851px){
  /* The horizontal desktop film places its CTA in the center-right column.
     Keep the semantic link precisely over that button and above every film layer. */
  .motion-stage .hero-motion{pointer-events:none}
  .hero-video-hotspot{left:46%;top:80%;width:30%;height:13%;margin:0;z-index:30;pointer-events:auto}
}
/* Wide desktops expose more of the horizontal film. Match its full CTA sweep
   without expanding the target across compact desktop compositions. */
@media(min-width:1241px){
  .hero-video-hotspot{width:980px;height:120px;margin-top:-40px;margin-left:-95px}
}
@media(max-width:600px){.hero-video-hotspot{top:87.5%;height:11%}}

/* The replacement film already contains the complete composition. Start it
   directly under the overlaid header instead of reserving a legacy top gap. */
@media(max-width:600px){
  .hero{min-height:100svh;height:100svh}
  .motion-stage.hero-visual{top:0;height:100%}
  .motion-stage .hero-motion{inset:90px 0 0;height:calc(100% - 90px);transform:scale(1.1);transform-origin:center 58%}
}

/* Sampled from the new film's edge pixels so the feathered mask blends into
   the page instead of revealing a lighter green band. */
@media(max-width:600px){
  html,body,.hero{background:#2e3a2e}
  .site-header{background:linear-gradient(180deg,#263126 0%,#29362a 78%,#2a362b 100%);border-bottom-color:rgba(247,245,239,.05)}
  .motion-stage.hero-visual{background:linear-gradient(180deg,#2a362b 0%,#2a362b 14%,rgba(42,54,43,0) 31%),linear-gradient(90deg,#2d392d 0%,#2e3a2e 18%,#303c30 50%,#2e3a2e 82%,#2d392d 100%)}
  .hero-scroll-cue{bottom:0;width:30px;height:30px}
  .hero-scroll-cue svg{width:14px;height:14px}
}

/* Preserve the transparent edges exported with the social artwork. */
.social-banner{overflow:visible;border-radius:0;background:transparent;box-shadow:none}.social-banner:hover{box-shadow:none}.social-banner img{background:transparent}

/* The dark phase section needs fixed contrast regardless of reveal-animation state. */
section#fases .section-heading h2{color:var(--white)}section#fases .section-heading h2 em{color:var(--sand)}section#fases .moment-card{background:var(--paper);border-color:rgba(38,49,38,.14);color:var(--forest)}section#fases .moment-card h3{color:var(--forest)}section#fases .moment-card p{color:#51594f}section#fases .moment-card.feature{background:var(--forest);border-color:var(--forest);color:var(--white)}section#fases .moment-card.feature h3{color:var(--white)}section#fases .moment-card.feature p{color:rgba(253,252,248,.82)}

/* Let the mobile film reach the bottom of its fold instead of leaving a green tail below it. */
@media(max-width:600px){.motion-stage.hero-visual{height:100%}}

/* A deeper olive field makes the exported transparent banner edges intentional and visible. */
.social-banners{background-color:#d9cfbb;background-image:radial-gradient(rgba(48,67,50,.11) 1px,transparent 1px),linear-gradient(135deg,#e4dccb 0%,#d4c8b1 100%);background-size:12px 12px,100% 100%}

/* The feature phase is intentionally distinct from the surrounding section. */
section#fases .moment-card.feature{background:#1d3425;border-color:rgba(226,194,125,.72);box-shadow:0 16px 34px rgba(12,28,18,.3)}
section#fases .moment-card:not(.feature){border-color:rgba(226,194,125,.72)}

/* Every process stage has equal visual weight. */
section#fases .moment-card.feature{background:var(--paper);box-shadow:0 12px 28px rgba(38,49,38,.06);color:var(--forest)}section#fases .moment-card.feature h3{color:var(--forest)}section#fases .moment-card.feature p{color:#51594f}

/* Desktop: keep the about-section color flush with the viewport and reduce social-banner dominance. */
@media(min-width:851px){section#sobre.compact-about{width:100%;max-width:none;margin-left:0;margin-right:0}.social-banner{width:min(880px,100%)}}

/* The process section is light, so its heading must retain the dark editorial contrast. */
section#fases .section-heading h2{color:var(--forest)}section#fases .section-heading h2 em{color:var(--olive)}

/* On phones this section sits on the dark field, so the title switches back to a high-contrast light treatment. */
@media(max-width:850px){section#fases .section-heading h2{color:var(--white)}section#fases .section-heading h2 em{color:var(--sand)}}

/* At notebook widths the long proof headings need the full card width. */
@media(min-width:851px) and (max-width:1180px){.proof-strip{grid-template-columns:minmax(210px,.82fr) minmax(0,1.18fr);padding-left:22px;padding-right:22px}.proof-primary,.proof-details{min-width:0}.proof-details{grid-template-columns:1fr}.proof-details>div{min-height:126px;padding:19px 20px}.proof-details b{overflow-wrap:anywhere;hyphens:auto;font-size:clamp(1.18rem,2.05vw,1.55rem);line-height:1.08}.proof-details span{font-size:9px;letter-spacing:.075em}}
@media(max-width:850px){.proof-details{grid-template-columns:1fr}.proof-details>div{min-height:106px}.proof-details b{overflow-wrap:anywhere;hyphens:auto}}
