/* Refinements preserve the approved desktop scene and simplify small screens. */
.eyebrow,.cta-foot,.site-footer{font-size:14px}
h1{font-size:clamp(2.4rem,3.5vw,3.5rem);text-wrap:balance}
h2{text-wrap:balance}
.mobile-copy{display:none}
.site-header{min-height:80px}
.wa-pill{min-height:44px}
.wa-pill.cta-muted{visibility:hidden;pointer-events:none}
.wa-float[hidden],#scene[hidden]{display:none}
.site-footer{flex-wrap:wrap;line-height:1.5}
.site-footer a{min-height:44px;display:inline-flex;align-items:center}
.site-footer .legal-links{width:100%;justify-content:flex-start}
.carousel{touch-action:pan-y}
.carousel-arrow{width:44px;height:44px}
.carousel-dots button{width:44px;height:44px}
.carousel-dots button::after{left:50%;top:50%;transform:translate(-50%,-50%)}
.carousel-dots{gap:0;margin-top:32px}
.carousel-card[aria-hidden=true]{pointer-events:none}
.portfolio-project{
  width:min(680px,88%);
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:16px 24px;
  margin-top:20px;
  padding:20px;
  background:#11100e;
  border:1px solid #3e3020;
  border-radius:14px;
}
.portfolio-project > div{flex:1 1 32ch}
.portfolio-project .eyebrow{margin-bottom:6px}
.portfolio-project h3{margin:0 0 6px;font-size:22px;font-weight:500;line-height:1.2}
.portfolio-project p{margin:0;color:#b5afa8;font-size:16px;line-height:1.5}
.portfolio-project .pa-section-link{margin-top:0}
.browser-frame,.wa-float{box-shadow:none}
.menu-toggle{display:none;min-height:44px;padding:8px 18px;color:#f4f0e9;background:#141414;font:500 16px Geist,system-ui,sans-serif;border:1px solid #505050;border-radius:24px;cursor:pointer}
.mobile-menu{position:fixed;inset:16px 16px auto auto;width:min(360px,calc(100% - 32px));max-height:calc(100svh - 32px);padding:24px;border:1px solid #505050;border-radius:16px;background:#141414;color:#f4f0e9}
.mobile-menu::backdrop{background:rgb(0 0 0 / .7)}
.mobile-menu nav{display:flex;flex-direction:column;margin-top:16px;gap:8px}
.mobile-menu a{display:flex;align-items:center;min-height:48px;color:inherit;text-decoration:none;font-size:20px}
.mobile-menu button{display:block;margin-left:auto;min-height:44px;padding:8px 16px;border:1px solid #505050;border-radius:24px;background:transparent;color:inherit;font:inherit;cursor:pointer}
.skip-link{position:fixed;top:8px;left:16px;z-index:101;transform:translateY(-160%);padding:12px 20px;background:#f4f0e9;color:#080808;border-radius:24px;font-size:16px}
.skip-link:focus{transform:none}
html:not(.js-ui) .carousel-track{height:auto;display:grid;gap:32px}
html:not(.js-ui) .carousel-card{position:static;opacity:1;filter:none;transform:none;pointer-events:auto;margin:auto}
html:not(.js-ui) .carousel-arrow{display:none}
@media(min-width:1025px){
  .section:not(.field) .wrap,.sobre-copy,.carousel-head,.card-caption{position:relative;isolation:isolate}
  .section:not(.field) .wrap::before,.sobre-copy::before,.carousel-head::before,.card-caption::before{
    content:"";position:absolute;z-index:-1;inset:-20px -24px;background:rgb(8 8 8 / .94);filter:blur(22px);pointer-events:none
  }
  .faq{background:rgb(8 8 8 / .88)}
}
@media(max-width:1024px){
  #scene,.vignette{display:none!important}
  .main-nav{display:none}
  .menu-toggle{display:inline-flex;align-items:center}
  .header-actions .wa-pill{display:none}
  .site-header{padding:16px 6%;background:#080808;min-height:76px}
  .section{min-height:0;align-items:center;padding:64px 0}
  #s-hero{padding:clamp(108px,16svh,144px) 0 52px}
  #s-hero .eyebrow{margin-bottom:12px}
  #s-hero h1{margin-bottom:16px}
  .section .wrap,.section .wrap.end,.section-contato .wrap{width:100%;max-width:720px;margin:0 auto;padding:0 6%}
  .section .desktop-copy{display:none}
  .section .mobile-copy{display:block}
  h1{font-size:clamp(2.4rem,8vw,3.2rem);line-height:1.05}
  h2{font-size:clamp(1.75rem,6.8vw,2.4rem);line-height:1.15}
  .body{font-size:16px;line-height:1.5;max-width:45ch}
  .contato-actions{flex-direction:column;width:100%;gap:12px}
  .btn-primary,.btn-ghost{min-height:48px;justify-content:center;width:100%;font-size:16px}
  .wa-float{width:48px;height:48px;bottom:20px;right:20px}
  .section-carousel{min-height:0;padding:64px 0}
  .carousel-head{padding:0 6%;margin-bottom:24px}
  .carousel-head h2{font-size:28px}
  .carousel-track{height:calc(min(52vw,210px) * 2.1641025641 + 132px)}
  .carousel-card{width:min(52vw,210px)}
  .browser-frame img.shot-desktop{display:none}
  .browser-frame img.shot-mobile{display:block}
  .carousel-card .card-caption{width:260px;max-width:90vw;position:relative;left:50%;transform:translateX(-50%);margin-left:0;margin-right:0;white-space:normal}
  .card-caption a{font-size:14px;min-height:44px}
  .section-sobre{min-height:0}
  .sobre-grid{display:flex;flex-direction:column;gap:32px;padding:0 6%;width:100%;margin:0 auto}
  .sobre-copy{max-width:none}
  .sobre-copy .body{font-size:16px;line-height:1.5}
  .sobre-photo{width:min(280px,70vw);align-self:center}
  .faq{min-height:0;padding:64px 0;background:#080808}
  .faq-inner{width:88%;padding:0}
  .faq-item{padding:16px 0}
  .faq-item summary{min-height:44px;align-items:center;font-size:16px;line-height:1.5}
  .faq-item p{font-size:16px;line-height:1.5}
  .site-footer{padding:32px 6%;gap:8px 16px}
  .site-footer .legal-links{gap:4px 16px}
}
@media(max-width:360px){#s-hero{padding-top:96px}}
@media(prefers-reduced-motion:reduce){#scene,.vignette{display:none!important}}
