/* =========================================================
   CAREKA DIGITAL — SENIOR PREMIUM FINAL HARDENING
   Auditoria UX/UI + responsividade + acessibilidade + estabilidade
   Data: 2026-06-04
   Objetivo: arquivo final carregado por último para neutralizar conflitos
   sem alterar a narrativa/estrutura original do site.
   ========================================================= */

:root{
  --ck-final-max: min(1380px, calc(100vw - clamp(32px, 6vw, 88px)));
  --ck-final-readable: 68ch;
  --ck-final-header-gap: clamp(10px, 1.4vw, 18px);
  --ck-final-header-h: clamp(74px, 7.4vw, 104px);
  --ck-final-section-y: clamp(56px, 8vw, 118px);
  --ck-final-card-pad: clamp(20px, 2.2vw, 34px);
  --ck-final-radius: clamp(20px, 2vw, 34px);
  --ck-final-radius-sm: clamp(14px, 1.1vw, 20px);
  --ck-final-focus: 0 0 0 3px color-mix(in srgb, var(--gold, #d4a843) 28%, transparent);
}

html{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  scrollbar-gutter:stable;
  text-size-adjust:100%;
  -webkit-text-size-adjust:100%;
}
body{
  width:100%;
  max-width:100%;
  overflow-x:hidden!important;
  min-width:320px;
}
body.body-locked,
body.menu-open{
  overflow:hidden!important;
  overscroll-behavior:none;
  touch-action:none;
}
img,svg,video,canvas,iframe{max-width:100%;}
img,video{height:auto;}
a,button{touch-action:manipulation;}
button{cursor:pointer;}
button:disabled{cursor:not-allowed;}
:where(a,button,input,textarea,select,[tabindex]):focus-visible{
  outline:0!important;
  box-shadow:var(--ck-final-focus)!important;
}
:where(p,li,small,span,strong,h1,h2,h3,h4,h5,h6,a,button){
  overflow-wrap:anywhere;
}
:where(p,li){text-wrap:pretty;}
:where(h1,h2,h3,h4){text-wrap:balance;}

.container,
.wrap,
.sec,
.section,
.case-container,
.blog-container,
.content-wrap{
  width:var(--ck-final-max)!important;
  max-width:var(--ck-final-max)!important;
  margin-inline:auto!important;
}
.sec,
.section{
  padding-block:var(--ck-final-section-y)!important;
  scroll-margin-top:calc(var(--ck-final-header-h) + 28px)!important;
}
.secHead,
.section-head,
.editorialHeader{
  display:grid!important;
  gap:clamp(10px, 1vw, 16px)!important;
  margin-bottom:clamp(24px, 3.5vw, 52px)!important;
}
.secHead h2,
.section-head h2,
.editorialHeader h2,
.blogHero__title,
.case-title,
.title{
  max-width:14ch;
  line-height:.92!important;
  letter-spacing:.045em!important;
}
.secHead small,
.section-head p,
.editorialHeader p,
.hero-lead-copy,
.case-lead,
.blogHero__lead{
  max-width:var(--ck-final-readable)!important;
  line-height:1.68!important;
}

/* Header premium, sem conteúdo espremido */
.topbar,
.ckOfficialHeader{
  position:sticky!important;
  top:0!important;
  z-index:140!important;
  padding-block:clamp(8px, 1.1vw, 16px) 0!important;
  pointer-events:none;
}
.topbar > .container,
.ckOfficialHeader > .container,
.topbar__in,
.ckOfficialHeader__in{
  pointer-events:auto;
}
.topbar__in,
.ckOfficialHeader__in{
  min-height:var(--ck-final-header-h)!important;
  display:flex!important;
  align-items:center!important;
  gap:var(--ck-final-header-gap)!important;
  padding:clamp(10px, 1.2vw, 16px) clamp(12px, 1.6vw, 22px)!important;
  border-radius:clamp(20px, 2vw, 30px)!important;
  backdrop-filter:blur(18px) saturate(128%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(128%)!important;
  box-shadow:0 22px 70px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.055)!important;
}
.brand{
  flex:1 1 auto!important;
  min-width:0!important;
  max-width:min(48vw, 360px)!important;
}
.mark{
  width:clamp(48px, 5vw, 68px)!important;
  height:clamp(48px, 5vw, 68px)!important;
  border-radius:clamp(14px, 1.4vw, 20px)!important;
}
.brandtxt{min-width:0!important;}
.brandtxt b{
  white-space:nowrap;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
}
.header-actions{
  flex:0 0 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:clamp(8px, .85vw, 14px)!important;
  min-width:0!important;
}
.ckHeaderCta,
.header-actions .ckHeaderCta{
  min-height:48px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
  padding-inline:clamp(16px, 1.8vw, 24px)!important;
  border-radius:999px!important;
  border:1px solid color-mix(in srgb, var(--gold, #d4a843) 34%, transparent)!important;
  background:linear-gradient(135deg, var(--accent, #c45d18), color-mix(in srgb, var(--gold, #d4a843) 42%, var(--accent, #c45d18)))!important;
  color:#fff7ec!important;
  box-shadow:0 14px 36px color-mix(in srgb, var(--accent, #c45d18) 22%, transparent)!important;
  transition:transform .24s ease, box-shadow .24s ease, filter .24s ease!important;
}
.ckHeaderCta:hover,
.header-actions .ckHeaderCta:hover{
  transform:translateY(-1px)!important;
  filter:saturate(1.06) brightness(1.03)!important;
  box-shadow:0 18px 46px color-mix(in srgb, var(--accent, #c45d18) 30%, transparent)!important;
}
.theme-toggle,
.langToggle,
.menu-toggle{
  flex:0 0 auto!important;
  width:clamp(44px, 4.2vw, 52px)!important;
  height:clamp(44px, 4.2vw, 52px)!important;
  min-width:clamp(44px, 4.2vw, 52px)!important;
  min-height:clamp(44px, 4.2vw, 52px)!important;
  border-radius:999px!important;
}
.langHeader{flex:0 0 auto!important;}
.langHeaderMenu{
  right:0!important;
  left:auto!important;
  max-width:min(320px, calc(100vw - 28px))!important;
  z-index:170!important;
}

/* Mega menu: layout luxuoso, rolável e acessível em qualquer tela */
.menu-overlay,
#menuOverlay{
  position:fixed!important;
  inset:0!important;
  z-index:130!important;
  background:rgba(0,0,0,.54)!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
  opacity:0;
  pointer-events:none;
  transition:opacity .22s ease!important;
}
body.menu-open .menu-overlay,
body.menu-open #menuOverlay,
#menuOverlay.active{
  opacity:1!important;
  pointer-events:auto!important;
}
.megaMenu,
.ckMegaOfficial{
  position:fixed!important;
  inset:0!important;
  z-index:155!important;
  display:grid!important;
  place-items:start center!important;
  padding:calc(var(--ck-final-header-h) + clamp(16px, 2.4vw, 34px)) clamp(14px, 3.4vw, 58px) clamp(16px, 3vw, 44px)!important;
  background:linear-gradient(180deg, rgba(4,5,8,.20), rgba(4,5,8,.70))!important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(-8px);
  transition:opacity .26s ease, transform .30s cubic-bezier(.16,1,.3,1), visibility .26s ease!important;
}
.megaMenu.is-open,
.ckMegaOfficial.is-open,
body.menu-open .megaMenu,
body.menu-open .ckMegaOfficial{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:translateY(0)!important;
}
.megaMenu__shell,
.ckMegaOfficial__shell{
  width:min(100%, 1440px)!important;
  max-height:calc(100dvh - var(--ck-final-header-h) - clamp(32px, 5vw, 84px))!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  border-radius:clamp(24px, 2.6vw, 40px)!important;
  padding:clamp(18px, 2.2vw, 34px)!important;
  border:1px solid color-mix(in srgb, var(--gold, #d4a843) 24%, rgba(255,255,255,.08))!important;
  background:
    radial-gradient(900px 540px at 50% -20%, color-mix(in srgb, var(--gold, #d4a843) 12%, transparent), transparent 62%),
    linear-gradient(180deg, rgba(17,20,28,.96), rgba(7,9,14,.985))!important;
  box-shadow:0 40px 140px rgba(0,0,0,.52), inset 0 1px 0 rgba(255,255,255,.06)!important;
}
.ckMegaOfficial__head,
.megaMenu__top{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin-bottom:clamp(16px, 2vw, 28px)!important;
}
.ckMegaOfficial__grid,
.megaMenu__grid,
.megaMenu__grid--clean{
  display:grid!important;
  grid-template-columns:repeat(5, minmax(0, 1fr))!important;
  gap:clamp(14px, 1.4vw, 24px)!important;
  align-items:stretch!important;
}
.ckMegaColumn,
.ckMegaFeature,
.ckMegaCta,
.megaMenu__card{
  min-width:0!important;
  border-radius:var(--ck-final-radius-sm)!important;
}
.ckMegaColumn a,
.megaMenu__nav a,
.ckMegaFeature__btns a,
.ckMegaCta a,
.megaMenu__diagnostic{
  min-height:54px!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  border-radius:clamp(14px, 1.1vw, 20px)!important;
  overflow:hidden!important;
}
.ckMegaColumn a:hover,
.megaMenu__nav a:hover,
.ckMegaFeature__btns a:hover,
.ckMegaCta a:hover{
  transform:translateY(-1px)!important;
}

/* Hero: alto impacto sem corte em mobile/desktop/4K */
.hero-prologue,
.home-hero,
.hero-with-video{
  position:relative!important;
  min-height:clamp(720px, calc(100dvh - 16px), 980px)!important;
  height:auto!important;
  padding-top:calc(var(--ck-final-header-h) + clamp(26px, 4.2vw, 70px))!important;
  padding-bottom:clamp(56px, 7vw, 112px)!important;
  overflow:hidden!important;
  border-radius:0 0 clamp(26px, 3vw, 54px) clamp(26px, 3vw, 54px)!important;
}
.hero-prologue__frame,
.hero-content{
  width:var(--ck-final-max)!important;
  max-width:var(--ck-final-max)!important;
  min-height:auto!important;
  margin-inline:auto!important;
  display:grid!important;
  grid-template-columns:minmax(0, 1.18fr) minmax(280px, .82fr)!important;
  gap:clamp(24px, 4vw, 70px)!important;
  align-items:end!important;
}
.hero-copy-main,
.hero-copy-inner{min-width:0!important;}
.hero-title-block{
  margin:0!important;
  max-width:12.4ch!important;
  font-family:var(--title, "Bebas Neue", Impact, sans-serif)!important;
  font-size:clamp(48px, 8vw, 128px)!important;
  line-height:.84!important;
  letter-spacing:.025em!important;
  text-transform:uppercase!important;
  color:var(--text, #f5efe6)!important;
  text-shadow:0 18px 64px rgba(0,0,0,.34)!important;
}
.hero-title-block span{display:block!important;}
.hero-title-block em{
  color:var(--gold-2, #e8c560)!important;
  font-style:normal!important;
}
.hero-lead-copy{
  margin-top:clamp(18px, 2vw, 30px)!important;
  font-size:clamp(16px, 1.45vw, 22px)!important;
  color:rgba(245,239,230,.84)!important;
}
.hero-cta-row{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:clamp(12px, 1.2vw, 18px)!important;
  margin-top:clamp(22px, 2.4vw, 36px)!important;
}
.btn,
.hero-cta,
.port-open,
.pillarSolutionButtonV10,
.pillarToggleButtonV11{
  min-height:48px!important;
  border-radius:clamp(14px, 1vw, 18px)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  text-align:center!important;
  line-height:1.15!important;
  transition:transform .22s ease, border-color .22s ease, background .22s ease, box-shadow .22s ease!important;
}
.btn:hover,
.hero-cta:hover,
.port-open:hover,
.pillarSolutionButtonV10:hover,
.pillarToggleButtonV11:hover{transform:translateY(-1px)!important;}
.ckFounderDockV24{min-width:0!important; width:100%!important;}
.ckFounderDockV24__panel{
  border-radius:var(--ck-final-radius)!important;
  padding:clamp(18px, 2vw, 30px)!important;
  backdrop-filter:blur(18px) saturate(130%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(130%)!important;
}
.hero-video-layer,
.hero-bg-video,
.hero-video-layer video{
  width:100%!important;
  height:100%!important;
}
.hero-bg-video{object-fit:cover!important;}
.hero-overlay{
  background:
    radial-gradient(760px 520px at 15% 35%, rgba(196,93,24,.15), transparent 70%),
    linear-gradient(90deg, rgba(3,5,9,.88), rgba(3,5,9,.60) 44%, rgba(3,5,9,.40)),
    linear-gradient(180deg, rgba(3,5,9,.32), rgba(3,5,9,.82))!important;
}

/* Portfólio e cards: estabilidade e percepção premium */
#portfolio{overflow:hidden!important;}
#portfolio .portfolioCarousel,
#portfolio .portfolioViewport,
#portfolio #portfolioGrid{
  width:100%!important;
  max-width:100%!important;
}
#portfolio .portfolioViewport{
  min-height:auto!important;
  overflow:hidden!important;
  border-radius:clamp(24px, 2.4vw, 38px)!important;
  background:
    radial-gradient(800px 440px at 50% -12%, color-mix(in srgb, var(--gold, #d4a843) 13%, transparent), transparent 64%),
    linear-gradient(180deg, rgba(15,18,25,.96), rgba(7,9,14,.99))!important;
}
#portfolio #portfolioGrid.portfolioTrack{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:stretch!important;
  gap:0!important;
  will-change:transform!important;
}
#portfolio .portfolioPage,
#portfolio .portfolioTrack > .port-card{
  flex:0 0 100%!important;
  width:100%!important;
  min-width:100%!important;
  max-width:100%!important;
  min-height:0!important;
}
#portfolio .port-card{
  display:grid!important;
  grid-template-rows:auto 1fr auto!important;
  min-width:0!important;
  border-radius:inherit!important;
  overflow:hidden!important;
}
#portfolio .port-img-wrapper{
  width:100%!important;
  aspect-ratio:16 / 8.7!important;
  min-height:clamp(300px, 35vw, 560px)!important;
  max-height:640px!important;
  overflow:hidden!important;
}
#portfolio .port-img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
#portfolio .port-content{
  display:grid!important;
  grid-template-columns:minmax(0, 1.05fr) minmax(300px, .95fr)!important;
  gap:clamp(18px, 2vw, 32px)!important;
  align-items:start!important;
  padding:clamp(22px, 2.5vw, 38px)!important;
}
#portfolio .port-copy{min-width:0!important;}
#portfolio .port-title{
  font-size:clamp(28px, 2.55vw, 46px)!important;
  line-height:.92!important;
  max-width:18ch!important;
}
#portfolio .port-desc,
#portfolio .port-delivery span{
  font-size:clamp(14px, 1vw, 17px)!important;
  line-height:1.68!important;
}
#portfolio .port-delivery{
  width:100%!important;
  min-width:0!important;
  align-self:stretch!important;
}
#portfolio .port-footer{
  display:flex!important;
  padding:0 clamp(22px, 2.5vw, 38px) clamp(24px, 2.7vw, 42px)!important;
}
#portfolio .portfolioNav{
  z-index:35!important;
  touch-action:manipulation!important;
}

/* Serviços, blog, sobre, CTA e formulários */
:where(.panel,.blogEngine,.blogCard,.blog-card,.serviceCatalogCard,.pillarPanelV10,.pillarPanelV11,.pillarServiceFullCardV11,.cta-panel,.case-card,.card){
  border-radius:var(--ck-final-radius)!important;
  border-color:color-mix(in srgb, var(--gold, #d4a843) 15%, var(--line, rgba(232,197,96,.16)))!important;
  box-shadow:0 24px 80px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.045)!important;
}
:where(.panel,.blogEngine,.blogCard,.blog-card,.serviceCatalogCard,.pillarPanelV10,.pillarPanelV11,.pillarServiceFullCardV11,.cta-panel,.case-card,.card):hover{
  border-color:color-mix(in srgb, var(--gold, #d4a843) 28%, var(--line, rgba(232,197,96,.16)))!important;
}
.pillarGridV10,
.blogGrid,
.case-grid,
.cards-grid,
.grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit, minmax(min(100%, 280px), 1fr))!important;
  gap:clamp(18px, 2vw, 30px)!important;
}
input,textarea,select{
  width:100%;
  min-height:48px;
  border-radius:14px;
}
textarea{min-height:132px;resize:vertical;}

/* Links e conteúdo embutido */
a[href^="http"]:not([href*="carekadigital"]):not([target]){target-name:new;}
iframe{border:0;}

/* Breakpoints refinados */
@media (max-width:1240px){
  .ckMegaOfficial__grid,
  .megaMenu__grid,
  .megaMenu__grid--clean{
    grid-template-columns:repeat(2, minmax(0, 1fr))!important;
  }
  .ckMegaFeature,
  .ckMegaCta{grid-column:auto!important;}
  .hero-prologue__frame,
  .hero-content{
    grid-template-columns:minmax(0, 1fr)!important;
    align-items:start!important;
  }
  .ckFounderDockV24{max-width:720px!important;}
}
@media (max-width:980px){
  :root{--ck-final-header-h:72px;}
  .ckHeaderCta{display:none!important;}
  .brand{max-width:calc(100vw - 188px)!important;}
  .brandtxt small{display:none!important;}
  .hero-prologue,
  .home-hero,
  .hero-with-video{
    min-height:auto!important;
    padding-top:calc(var(--ck-final-header-h) + 52px)!important;
  }
  #portfolio .port-content{
    grid-template-columns:1fr!important;
  }
}
@media (max-width:720px){
  :root{
    --ck-final-header-h:66px;
    --ck-final-section-y:clamp(46px, 14vw, 76px);
  }
  .container,
  .wrap,
  .sec,
  .section,
  .case-container,
  .blog-container,
  .content-wrap{
    width:calc(100vw - 28px)!important;
    max-width:calc(100vw - 28px)!important;
  }
  .topbar__in,
  .ckOfficialHeader__in{
    min-height:66px!important;
    padding:9px 10px!important;
    border-radius:20px!important;
  }
  .mark{width:44px!important;height:44px!important;border-radius:14px!important;}
  .brand{gap:10px!important;max-width:calc(100vw - 166px)!important;}
  .brandtxt b{font-size:clamp(15px, 4.2vw, 18px)!important;letter-spacing:.09em!important;}
  .langHeader{display:none!important;}
  .theme-toggle,
  .menu-toggle{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;}
  .megaMenu,
  .ckMegaOfficial{
    padding:calc(var(--ck-final-header-h) + 14px) 10px 10px!important;
  }
  .megaMenu__shell,
  .ckMegaOfficial__shell{
    max-height:calc(100dvh - var(--ck-final-header-h) - 24px)!important;
    padding:14px!important;
    border-radius:24px!important;
  }
  .ckMegaOfficial__grid,
  .megaMenu__grid,
  .megaMenu__grid--clean{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .ckMegaColumn a,
  .megaMenu__nav a{
    min-height:64px!important;
    padding:13px 14px!important;
  }
  .hero-title-block{
    max-width:11.2ch!important;
    font-size:clamp(44px, 16vw, 76px)!important;
    line-height:.86!important;
  }
  .hero-lead-copy{font-size:clamp(15px, 4.2vw, 18px)!important;}
  .hero-cta-row{display:grid!important;grid-template-columns:1fr!important;}
  .hero-cta-row .btn{width:100%!important;}
  .ckFounderDockV24__identity{align-items:center!important;}
  #portfolio .port-img-wrapper{
    aspect-ratio:4 / 5!important;
    min-height:clamp(300px, 88vw, 520px)!important;
  }
  #portfolio .port-content{padding:20px 16px!important;}
  #portfolio .port-footer{padding:0 16px 20px!important;}
  #portfolio .port-open{width:100%!important;}
  #portfolio .portfolioNav{width:44px!important;height:44px!important;}
  .secHead h2,
  .section-head h2,
  .editorialHeader h2,
  .title{
    font-size:clamp(34px, 12vw, 56px)!important;
    max-width:12ch!important;
  }
}
@media (max-width:420px){
  .brand{max-width:calc(100vw - 148px)!important;}
  .brandtxt b{font-size:15px!important;}
  .theme-toggle{display:none!important;}
  .hero-title-block{font-size:clamp(40px, 15.2vw, 62px)!important;}
  #portfolio .port-title{font-size:clamp(24px, 8.8vw, 34px)!important;}
}
@media (min-width:1800px){
  :root{--ck-final-max:min(1520px, calc(100vw - 128px));}
  .hero-title-block{font-size:clamp(92px, 6.4vw, 142px)!important;}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.001ms!important;
  }
  .hero-bg-video{display:none!important;}
}

/* Light theme polish */
html[data-theme="light"] .megaMenu__shell,
html[data-theme="light"] .ckMegaOfficial__shell{
  background:linear-gradient(180deg, rgba(255,251,245,.98), rgba(243,233,218,.98))!important;
  box-shadow:0 34px 96px rgba(82,53,28,.18), inset 0 1px 0 rgba(255,255,255,.75)!important;
}
html[data-theme="light"] .hero-lead-copy{color:rgba(32,23,16,.82)!important;}
html[data-theme="light"] .hero-overlay{
  background:linear-gradient(90deg, rgba(239,230,217,.88), rgba(239,230,217,.58) 48%, rgba(239,230,217,.35)), linear-gradient(180deg, rgba(239,230,217,.18), rgba(239,230,217,.62))!important;
}
