/* V1.8 – visual refeito sobre o mockup aprovado; escopo restrito à home. */
body.premium-home{background:#04101e;color:#f7f9fd;font-family:'DM Sans',Arial,sans-serif;font-size:16px;overflow-x:hidden}
body.premium-home .container{max-width:1450px;width:100%;padding-inline:clamp(24px,4.4vw,72px)}
body.premium-home .premium-header{background:linear-gradient(90deg,#03101de8,#07121dd9);border:0;box-shadow:none}
body.premium-home .nav{min-height:78px;gap:26px}
body.premium-home .premium-brand{font-size:15px;letter-spacing:0}
body.premium-home .premium-brand small{font-size:11px}
body.premium-home nav{gap:28px;align-items:center}
body.premium-home nav a{font-size:13px;font-weight:600;transition:color .2s}
body.premium-home .nav-cta{font-size:13px}
body.premium-home .hero-premium{min-height:660px;overflow:hidden;background:radial-gradient(ellipse at 83% 44%,#7b3c234f,transparent 39%),radial-gradient(ellipse at 9% 95%,#073b7180,transparent 44%),#04101e}
body.premium-home .hero-layout{min-height:660px;grid-template-columns:53% 47%;gap:0;position:relative;align-items:stretch}
body.premium-home .hero-copy{padding:74px 0 40px;align-self:center;z-index:4}
body.premium-home .eyebrow{font-size:12px;letter-spacing:.1em;font-weight:800}
body.premium-home h1{font-size:clamp(44px,4.15vw,67px);letter-spacing:-.052em;line-height:1.06;max-width:720px;margin:22px 0 20px;text-wrap:balance}
body.premium-home .hero-copy>p{font-size:17px;max-width:590px;line-height:1.6}
body.premium-home .hero-actions{margin-top:28px;gap:14px}
body.premium-home .btn{padding:15px 24px;font-size:13px;min-height:46px}
body.premium-home .hero-stats{margin-top:52px;display:flex;position:relative;z-index:5}
body.premium-home .hero-stats>div{padding:0 24px}
body.premium-home .hero-stats strong{font-size:30px;letter-spacing:-.04em}
body.premium-home .hero-stats span{font-size:12px}
body.premium-home .hero-photo{position:relative;align-self:stretch;height:auto;min-height:660px;margin-right:calc(-1 * clamp(24px,4.4vw,72px));overflow:visible}
body.premium-home .hero-photo img{position:absolute;inset:-5% 0 0 -11%;height:110%;width:111%;object-fit:cover;object-position:50% 28%;mask-image:linear-gradient(90deg,transparent 0%,#000 20%,#000 91%,transparent 100%);filter:contrast(1.07) saturate(.98)}
body.premium-home .hero-photo:before{content:'';z-index:2;position:absolute;inset:0 -2px -2px -18%;background:linear-gradient(90deg,#04101e 0%,transparent 31%),linear-gradient(0deg,#04101e 0%,transparent 28%),linear-gradient(180deg,#04101e 0%,transparent 16%);pointer-events:none}
body.premium-home .hero-photo:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 94% 28%,#d66b322e,transparent 60%);pointer-events:none}
body.premium-home .hero-light{position:absolute;inset:5% 0 0 15%;background:radial-gradient(ellipse at 70% 50%,#ff7c3533,transparent 65%);filter:blur(36px)}
body.premium-home .signature{right:13%;bottom:23%;font-size:30px}
body.premium-home .premium-section{padding:58px 0 68px;margin-top:-22px;border-radius:55px;border:1px solid #f7a45a2e;background:radial-gradient(ellipse at 102% 2%,#9d4e2b36,transparent 35%),linear-gradient(125deg,#061a30,#041321 75%);box-shadow:0 -10px 35px #0002}
body.premium-home .premium-section:nth-of-type(2n){background:radial-gradient(ellipse at -5% 90%,#0b519650,transparent 36%),linear-gradient(125deg,#06162b,#04111f 70%)}
body.premium-home .section-top{align-items:center;margin-bottom:32px;gap:36px}
body.premium-home .section-top h2{font-size:clamp(35px,3.3vw,49px);letter-spacing:-.055em;line-height:1.09;margin:14px 0 10px}
body.premium-home .section-top p{font-size:16px;line-height:1.55;max-width:640px}
body.premium-home .overline-extra{font-size:10px;letter-spacing:.12em}
body.premium-home .method-aside{gap:22px;min-width:240px}
body.premium-home .phase-grid{gap:26px}
body.premium-home .phase-card{border-radius:29px;padding:28px 27px 24px;min-height:264px;background:linear-gradient(130deg,#2b2728,#101827 80%);box-shadow:inset 0 1px #ffffff14,0 20px 40px #0002}
body.premium-home .phase-blue{background:linear-gradient(130deg,#073e78,#06182b);border-color:#1760a6}
body.premium-home .phase-head{min-height:157px;gap:20px}
body.premium-home .phase-icon{height:75px;width:75px;font-size:38px}
body.premium-home .phase-head h3{font-size:16px}
body.premium-home .phase-letters{font-size:34px}
body.premium-home .phase-head p{font-size:13px;max-width:220px}
body.premium-home .phase-steps{padding-top:19px}
body.premium-home .phase-steps span{font-size:12px}
body.premium-home .phase-steps b{height:42px;width:42px;font-size:19px}
body.premium-home .solutions-premium .section-top{margin-bottom:26px}
body.premium-home .cards-viewport{overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#ff8139 #071729;padding:3px 0 16px}
body.premium-home .product-cards{display:flex;gap:13px;min-height:315px}
body.premium-home .product-cards .showcase-card{flex:0 0 clamp(170px,15.5vw,218px);scroll-snap-align:start}
body.premium-home .showcase-card{border-radius:20px;border:1px solid #6684a04b;background:#0b1c2d;overflow:hidden;isolation:isolate}
body.premium-home .showcase-product>a{min-height:330px}
body.premium-home .showcase-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 26%}
body.premium-home .showcase-shade{background:linear-gradient(0deg,#061323 0%,#061323fa 21%,#061323de 42%,#0613230a 91%)}
body.premium-home .showcase-info{padding:16px;justify-content:flex-end}
body.premium-home .showcase-tag{margin-bottom:10px;font-size:10px}
body.premium-home .showcase-info h3{font-size:14px;line-height:1.3;overflow-wrap:anywhere}
body.premium-home .showcase-info p{font-size:12px;line-height:1.45;max-height:4.35em;margin:0 0 17px}
body.premium-home .showcase-arrow{height:33px;width:33px}
body.premium-home .event-cards{gap:16px}
body.premium-home .showcase-event>a{min-height:235px}
body.premium-home .showcase-event .showcase-info{padding:22px}
body.premium-home .showcase-event .showcase-info h3{font-size:17px;max-width:95%;text-shadow:0 2px 12px #000}
body.premium-home .showcase-event .showcase-info p{font-size:12px;max-width:85%;margin-bottom:12px}
body.premium-home .showcase-event .showcase-shade{background:linear-gradient(90deg,#061322e8 0%,#061322b8 55%,#06132247 100%),linear-gradient(0deg,#061322af,transparent 85%)}
body.premium-home .about-premium{padding-bottom:38px}
body.premium-home .about-layout{grid-template-columns:48% 52%;gap:0;margin-top:20px;align-items:stretch;min-height:390px}
body.premium-home .about-image{height:405px;border-radius:28px 0 0 28px;mask-image:linear-gradient(90deg,#000 75%,transparent)}
body.premium-home .about-image img{object-position:center 35%}
body.premium-home .about-copy{align-self:center;padding:10px 0 10px 25px}
body.premium-home .about-copy h2{font-size:clamp(32px,3.2vw,47px)}
body.premium-home .about-copy p{font-size:15px}
body.premium-home .about-badges{gap:0}
body.premium-home .contact-premium{background:radial-gradient(ellipse at 5% 25%,#bc522f68,transparent 48%),linear-gradient(120deg,#101b2b,#041321);min-height:400px}
body.premium-home .contact-layout{grid-template-columns:1.05fr .95fr .78fr;gap:0;min-height:320px}
body.premium-home .contact-copy h2{font-size:clamp(35px,3.3vw,50px)}
body.premium-home .contact-photo{height:370px;align-self:end;object-position:center 38%;border-radius:0;mask-image:linear-gradient(90deg,transparent,#000 24%,#000 83%,transparent),linear-gradient(0deg,transparent,#000 24%);mask-composite:intersect}
body.premium-home .contact-benefits{gap:28px;padding-left:12px}
body.premium-home .reveal{transition:opacity .65s ease,transform .65s ease}
@media(max-width:1100px){body.premium-home .hero-layout{grid-template-columns:54% 46%}body.premium-home h1{font-size:clamp(42px,4.5vw,57px)}body.premium-home .product-cards{grid-template-columns:none}body.premium-home .contact-layout{grid-template-columns:1fr .9fr}body.premium-home .contact-benefits{grid-column:1/-1;display:flex;padding:20px 0 0;justify-content:space-between}body.premium-home .about-layout{grid-template-columns:45% 55%}}
@media(max-width:760px){body.premium-home .hero-premium{min-height:0}body.premium-home .hero-layout{display:flex;flex-direction:column;min-height:0}body.premium-home .hero-copy{padding:50px 0 0}body.premium-home h1{font-size:clamp(38px,9vw,55px)}body.premium-home .hero-copy>p{font-size:15px}body.premium-home .hero-photo{min-height:380px;height:380px;width:calc(100% + 48px);max-width:none;margin:0 -24px}body.premium-home .hero-photo img{inset:0;width:100%;height:100%;object-position:center 23%;mask-image:linear-gradient(0deg,transparent 0%,#000 30%,#000 90%,transparent 100%)}body.premium-home .hero-photo:before{inset:0;background:linear-gradient(0deg,#04101e,transparent 34%)}body.premium-home .signature{right:15%;bottom:24%}body.premium-home .hero-stats{margin-top:35px}body.premium-home .hero-stats>div{padding:0 10px}body.premium-home .hero-stats strong{font-size:22px}body.premium-home .premium-section{border-radius:32px;padding:40px 0 48px}body.premium-home .section-top{display:flex;flex-direction:column;align-items:start;gap:20px}body.premium-home .section-top h2{font-size:clamp(31px,8vw,41px)}body.premium-home .method-aside{align-items:start}body.premium-home .phase-grid{grid-template-columns:1fr;gap:15px}body.premium-home .phase-card{min-height:0}body.premium-home .phase-head{min-height:125px}body.premium-home .product-cards .showcase-card{flex-basis:215px}body.premium-home .event-cards{grid-template-columns:1fr}body.premium-home .about-layout{display:flex;flex-direction:column}body.premium-home .about-image{border-radius:22px;height:310px;mask-image:none}body.premium-home .about-copy{padding:20px 0 0}body.premium-home .contact-layout{display:flex;flex-direction:column}body.premium-home .contact-photo{width:100%;max-height:340px}body.premium-home .contact-benefits{display:grid;gap:16px;width:100%}}
@media(prefers-reduced-motion:reduce){body.premium-home .reveal{transition:none;opacity:1;transform:none}}

/* V1.8.2 — cards com imagem superior e conteúdo abaixo; responsivo */
body.premium-home .product-cards{align-items:stretch;min-height:0}
body.premium-home .showcase-card{height:auto;display:flex;flex-direction:column;background:#07192b;border-color:#42607a80;border-radius:19px}
body.premium-home .showcase-card>a{height:100%;min-height:0;display:flex;flex-direction:column;text-decoration:none;color:inherit}
body.premium-home .showcase-media{position:relative;width:100%;height:158px;flex-shrink:0;overflow:hidden;background:linear-gradient(140deg,#173d60,#08192b)}
body.premium-home .showcase-event .showcase-media{height:190px}
body.premium-home .showcase-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;transition:transform .45s ease}
body.premium-home .showcase-card:hover .showcase-media img{transform:scale(1.045)}
body.premium-home .showcase-media .missing-photo{position:absolute;inset:0}
body.premium-home .showcase-shade{display:none}
body.premium-home .showcase-info,body.premium-home .showcase-event .showcase-info{position:relative;inset:auto;flex:1;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:18px 17px 17px;background:linear-gradient(145deg,#071c31,#061526)}
body.premium-home .showcase-kicker{font-size:10px;color:#ff9853;font-weight:800;letter-spacing:.09em;margin-bottom:8px}
body.premium-home .showcase-info h3,body.premium-home .showcase-event .showcase-info h3{font-size:clamp(14px,1.05vw,17px);line-height:1.32;margin:0 0 10px;overflow-wrap:break-word;text-shadow:none;max-width:none}
body.premium-home .showcase-info p,body.premium-home .showcase-event .showcase-info p{font-size:12px;line-height:1.5;color:#b9c8d9;margin:0 0 17px;max-height:none;max-width:none;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
body.premium-home .showcase-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;font-size:11px;font-weight:700;color:#ff9853}
body.premium-home .showcase-arrow{display:grid;place-items:center;align-self:auto;flex:0 0 34px;height:34px;width:34px;font-size:20px;color:white;background:#ff782d;border-radius:50%}
body.premium-home .showcase-date{position:absolute;top:12px;left:12px;padding:9px 12px;background:#f9fbff;color:#061528;border-radius:10px;font-weight:800;font-size:12px;text-transform:uppercase;box-shadow:0 5px 15px #0005}
body.premium-home .showcase-tag{display:none}
body.premium-home .contact-photo{object-position:center 30%;filter:contrast(1.05) saturate(.98);mask-image:linear-gradient(90deg,transparent 0%,#000 20%,#000 78%,transparent 100%),linear-gradient(0deg,transparent 0%,#000 18%,#000 100%);mask-composite:intersect}
@media(min-width:761px){body.premium-home .product-cards .showcase-card{flex-basis:clamp(190px,16vw,235px)}body.premium-home .event-cards{align-items:stretch}}
@media(max-width:760px){body.premium-home .product-cards .showcase-card{flex-basis:220px}body.premium-home .showcase-media{height:150px}body.premium-home .showcase-event .showcase-media{height:200px}body.premium-home .contact-photo{object-fit:contain;mask-image:linear-gradient(0deg,transparent,#000 20%);height:350px}}

/* V1.8.3 — proporção vertical 1080×1350 (4:5) para imagens de soluções e eventos */
body.premium-home .showcase-card .showcase-media,
body.premium-home .showcase-event .showcase-media{height:auto;aspect-ratio:4 / 5;flex:0 0 auto;}
body.premium-home .showcase-card .showcase-media img{width:100%;height:100%;object-fit:cover;object-position:center center;}
@media(max-width:760px){
  body.premium-home .showcase-card .showcase-media,
  body.premium-home .showcase-event .showcase-media{height:auto;aspect-ratio:4 / 5;}
}

/* V1.8.5 — correções de composição para telas móveis */
@media (max-width:760px){
  /* Retrato abre a página, logo abaixo da navegação, antes de título, CTAs e métricas. */
  body.premium-home .hero-layout{display:flex;flex-direction:column;gap:0;}
  body.premium-home .hero-photo{order:0;position:relative;flex:none;align-self:center;width:calc(100% + 48px);max-width:none;height:clamp(290px,86vw,460px);min-height:0;margin:0 -24px;overflow:hidden;isolation:isolate;}
  body.premium-home .hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 28%;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 67%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 67%,transparent 100%);}
  body.premium-home .hero-photo:before{inset:0;z-index:2;background:linear-gradient(to bottom,transparent 55%,#04101e 100%);}
  body.premium-home .hero-copy{order:1;padding:4px 0 40px;position:relative;z-index:3;}
  body.premium-home .hero-light{inset:0;}
  body.premium-home .signature{right:12%;bottom:25%;font-size:clamp(21px,6vw,29px);}
  body.premium-home .hero-stats{margin-top:28px;}
  /* Foto do contato não encosta nos botões ou na lista; dissolve nas quatro bordas. */
  body.premium-home .contact-layout{display:flex;flex-direction:column;gap:0;align-items:stretch;}
  body.premium-home .contact-copy{order:0;position:relative;z-index:2;padding-bottom:20px;}
  body.premium-home .contact-photo{order:1;position:relative;display:block;align-self:center;width:min(100%,440px);height:clamp(330px,104vw,490px);max-height:none;object-fit:cover;object-position:center 25%;border:0;border-radius:0;margin:4px auto 4px;opacity:1;-webkit-mask-image:radial-gradient(ellipse 78% 75% at 50% 43%,#000 44%,rgba(0,0,0,.92) 60%,transparent 100%);mask-image:radial-gradient(ellipse 78% 75% at 50% 43%,#000 44%,rgba(0,0,0,.92) 60%,transparent 100%);-webkit-mask-composite:source-over;mask-composite:add;}
  body.premium-home .contact-benefits{order:2;position:relative;z-index:2;padding:12px 0 0;display:grid;gap:18px;}
}

/* V1.8.6 — assinatura oficial branca, consistente no desktop e mobile */
body.premium-home .hero-photo .signature-image {
  position:absolute; z-index:3; width:clamp(105px, 12vw, 165px); height:auto;
  right:7%; bottom:20%; display:block; object-fit:contain;
  filter:drop-shadow(0 2px 9px rgba(0,0,0,.55)); pointer-events:none;
}
@media(max-width:760px) {
  body.premium-home .hero-photo .signature-image {
    width:clamp(105px,30vw,150px); right:7%; bottom:19%;
  }
}

/* V1.8.7 — assinatura sem fundo, pequena no canto inferior direito, sem duplicações */
body.premium-home .hero-photo img.signature-image {
  position:absolute; inset:auto 5% 16% auto; top:auto; left:auto; right:5%; bottom:16%;
  width:clamp(110px,12vw,155px); height:auto; max-width:30%;
  object-fit:contain; object-position:center;
  -webkit-mask-image:none; mask-image:none;
  opacity:.73; transform:none; rotate:none;
  filter:drop-shadow(0 2px 5px rgba(0,0,0,.45)); z-index:5; pointer-events:none;
}
@media(max-width:760px){
 body.premium-home .hero-photo img.signature-image {
   inset:auto 5% 15% auto; top:auto; left:auto; right:5%; bottom:15%;
   width:clamp(100px,29vw,135px); max-width:34%; opacity:.72;
   -webkit-mask-image:none; mask-image:none; transform:none;
 }
}

/* V1.8.8: assinatura independente das regras de imagens do Safari */
body.premium-home .hero-photo .hero-signature-mark{position:absolute;top:auto;left:auto;right:6%;bottom:17%;width:clamp(105px,11vw,155px);aspect-ratio:638 / 212;height:auto;background:url('/assets/img/assinatura-franklin-branca.png?v=188') center / contain no-repeat;opacity:.70;z-index:8;transform:none;pointer-events:none;filter:drop-shadow(0 2px 5px rgba(0,0,0,.4))}
@media(max-width:760px){body.premium-home .hero-photo .hero-signature-mark{right:6%;bottom:19%;width:clamp(105px,28vw,140px);max-width:34%;opacity:.70}}
