/* v07: duas colunas no desktop; destaque sem substituir a mensagem. */
.key-word{font-weight:700;position:relative;display:inline-block;isolation:isolate;color:#fbc0bb;white-space:nowrap}
.key-word:before{content:'';position:absolute;inset:auto -.03em .04em;height:.13em;background:#fbc0bb;transform:scaleX(0);transform-origin:left;opacity:.55;z-index:-1}
.shown .key-word{animation:word-arrive .85s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--key-order) * .18s)}
.shown .key-word:before{animation:key-draw .8s cubic-bezier(.22,.7,.2,1) both;animation-delay:calc(.25s + var(--key-order) * .18s)}
@keyframes word-arrive{from{transform:translateY(.45em) rotateX(-55deg);opacity:0}to{transform:none;opacity:1}}
@keyframes key-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(min-width:901px){
 body:not(.service-page) .page{min-height:calc(100dvh - var(--review-height,48px));display:flex;flex-direction:column}
 body:not(.service-page) .floating-header{height:78px;padding-block:5px}
 body:not(.service-page) .header-space{height:78px;flex-shrink:0}
 body:not(.service-page) .brand{width:78px}
 body:not(.service-page) .hero{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);grid-template-rows:auto auto auto;align-content:center;align-items:center;gap:24px 64px;padding:42px 64px 70px;width:100%;max-width:1500px;margin:auto;text-align:left}
 .hero .copy{grid-column:1;grid-row:1;max-width:none;width:100%;margin:0;text-align:left}
 .hero h1{font-size:clamp(40px,min(4.4vw,7.3dvh),66px);line-height:1.06;letter-spacing:-.055em;margin:0;max-width:660px;text-align:left}
 .hero .hero-phrase{grid-column:1;grid-row:2;margin:0;width:100%;max-width:none;text-align:left}
 .hero .hero-phrase p{font-size:clamp(21px,min(2.1vw,3.6dvh),32px);line-height:1.5;margin:0;max-width:none;text-align:left}
 .promise-line{display:block}
 .hero .local-demo{grid-column:2;grid-row:1/4;width:100%;max-width:none;min-width:0;margin:0;align-self:center}
 .hero .stack-stage{height:clamp(310px,47dvh,500px);margin:0}
 .hero .journey-card{top:32px;height:calc(100% - 60px)}
 .hero .hero-bottom{grid-column:1;grid-row:3;margin:4px 0 0;width:100%;max-width:none}
 .hero .actions-row{justify-content:flex-start;gap:12px;align-items:stretch}
 .hero .actions-row .hero-actions,.hero .actions-row .secondary-cta{flex:1;min-width:0}
 .hero .hero-cta,.hero .secondary-cta{font-size:15px;line-height:1.45;padding:13px 17px;min-height:64px;width:100%;max-width:none;margin:0}
 .hero .preview-copy h2{font-size:clamp(23px,2vw,29px)}
 .hero .profile-layout{grid-template-columns:.8fr 1.2fr;grid-template-rows:1fr}
 .hero .profile-content{padding:19px}.hero .profile-content h2{font-size:23px}.hero .trust-panel{padding:12px;gap:8px;flex-direction:column}.hero .trust-panel .review-stars{flex-basis:auto;flex-wrap:wrap}.hero .review-stars img{width:25px;height:25px}.hero .trust-panel span{font-size:10px}
}
@media(min-width:901px) and (max-height:760px){body:not(.service-page) .hero{gap:18px 46px;padding:24px 42px 54px}.hero .hero-phrase p{font-size:23px}.hero .stack-stage{height:330px}.hero .hero-cta,.hero .secondary-cta{font-size:15px;padding-inline:12px}.hero .site-preview{padding:17px;gap:13px}.hero .preview-copy h2{font-size:23px;margin:10px 0}.hero .profile-content{padding:13px}.hero .profile-content h2{font-size:21px}}
@media(min-width:901px) and (max-width:1100px){body:not(.service-page) .hero{column-gap:30px;padding-inline:30px}.hero h1{font-size:43px}.hero .hero-phrase p{font-size:23px}.hero .stack-stage{height:360px}.hero .profile-layout{grid-template-columns:1fr;grid-template-rows:65px 1fr}.hero .trust-panel{flex-direction:row;gap:5px}.hero .trust-panel .review-stars{flex-basis:100%}.hero .profile-content{padding:12px 18px}.hero .hero-cta,.hero .secondary-cta{padding-inline:10px}}
@media(max-width:900px){.promise-line{display:inline}.key-word:before{height:.1em}}
@media(prefers-reduced-motion:reduce){.shown .key-word,.shown .key-word:before{animation:none;transform:none;opacity:1}.key-word:before{transform:scaleX(1)}}
.paused .key-word,.paused .key-word:before{animation-play-state:paused}
@media(min-width:901px) and (max-height:760px){.hero .profile-layout{grid-template-columns:1fr;grid-template-rows:65px 1fr}.hero .trust-panel{flex-direction:row;gap:4px;padding:7px}.hero .trust-panel .review-stars{flex-basis:100%;margin:0}.hero .profile-content{padding:9px 16px}.hero .profile-content h2{font-size:21px;margin:7px 0}.hero .profile-content p{font-size:11px;margin-bottom:8px}.hero .profile-links span{padding:5px 8px}}
