/*
Theme Name: Studio Simone Laurentina V4.3.11 Mobile
Theme URI: https://studiosimonelaurentina.com
Description: Versão mobile-first com layout específico para celulares, mantendo as otimizações de notebook e desktop.
Version: 4.3.11
Author: Studio Simone Laurentina
*/
:root{
  --rose:#b96f76;--rose-dark:#8a5359;--rose-soft:#d9a4a6;--blush:#f7ebe7;
  --cream:#fffaf7;--paper:#fffdfb;--ink:#402b2b;--muted:#806a66;--line:#ead8d3;
  --shadow:0 18px 55px rgba(88,50,50,.10)
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:108px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.58;-webkit-font-smoothing:antialiased}img{max-width:100%}a{transition:.2s ease}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.08;letter-spacing:-.02em}.wrap{width:min(1320px,91%);margin:auto}
header{position:sticky;top:0;z-index:50;background:rgba(255,250,247,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(234,216,211,.9)}.nav{min-height:142px;display:flex;align-items:center;justify-content:space-between;gap:34px}.brand{display:flex;align-items:center;flex:0 0 auto}.logo{width:360px!important;height:auto!important;max-height:128px!important;object-fit:contain!important;object-position:left center!important;display:block!important}.links{display:flex;align-items:center;gap:30px}.links a{text-decoration:none;color:var(--ink);font-size:14px}.links a:not(.btn):hover{color:var(--rose-dark)}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--rose);color:#fff!important;padding:14px 24px;border-radius:999px;text-decoration:none;font-weight:700;box-shadow:0 7px 20px rgba(185,111,118,.18)}.btn:hover{background:var(--rose-dark);transform:translateY(-1px)}
.hero{padding:66px 0 82px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(380px,.88fr);align-items:center;gap:72px}.eyebrow{text-transform:uppercase;letter-spacing:2.4px;font-size:12px;color:var(--rose);font-weight:700}.hero h1{font-size:clamp(50px,5.2vw,82px);margin:16px 0 22px;max-width:660px}.hero p{color:var(--muted);font-size:18px;max-width:580px;margin:0 0 28px}.hero-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.text-link{color:var(--ink);font-weight:700;text-decoration:none;border-bottom:1px solid var(--rose-soft);padding:10px 1px}.hero-photo{position:relative}.hero-photo:before{content:"";position:absolute;inset:-26px 36px 30px -34px;background:var(--blush);border-radius:220px 220px 36px 36px;z-index:-1}.hero-photo{max-width:490px;justify-self:end}.hero-photo img{width:100%;height:auto;aspect-ratio:243/406;object-fit:contain;object-position:center;image-rendering:auto;border-radius:150px 150px 28px 28px;display:block;box-shadow:var(--shadow);background:#f8efeb}
.trustbar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fffdfb}.trust{min-height:82px;display:grid;grid-template-columns:repeat(3,1fr);align-items:center;text-align:center}.trust div{padding:10px 24px;color:var(--muted);font-size:14px}.trust div+div{border-left:1px solid var(--line)}.trust strong{display:block;color:var(--ink);font-family:Georgia,serif;font-size:18px;font-weight:400;margin-bottom:2px}
.section{padding:96px 0}.soft{background:var(--blush)}.center{text-align:center}.section h2{font-size:clamp(38px,4vw,58px);margin:9px 0 15px}.lead{color:var(--muted);max-width:720px;margin:0 auto 44px;font-size:16px}.services{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.service{background:var(--paper);border-radius:20px;overflow:hidden;box-shadow:0 9px 28px rgba(92,51,51,.055);border:1px solid rgba(234,216,211,.75)}.service .photo{overflow:hidden;background:#eadbd6}.service img{width:100%;height:280px;object-fit:cover;display:block;transition:transform .35s ease}.service:nth-child(1) img{object-position:54% 47%}.service:nth-child(2) img{object-position:50% 42%}.service:nth-child(3) img{object-position:52% 50%}.service:nth-child(4) img{object-position:50% 45%}.service:nth-child(5) img{object-position:50% 48%}.service:hover img{transform:scale(1.025)}.service .copy{padding:20px 20px 22px}.service h3{margin:0 0 8px;font-size:22px}.service p{margin:0;color:var(--muted);font-size:14px}
.portfolio-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:40px}.portfolio-head .lead{margin:0;max-width:560px;text-align:right}.portfolio{columns:4 250px;column-gap:16px}.portfolio figure{margin:0 0 16px;break-inside:avoid;overflow:hidden;border-radius:18px;background:#f0e4df}.portfolio img{display:block;width:100%;height:auto;transition:transform .35s ease}.portfolio figure:hover img{transform:scale(1.018)}.portfolio-more{text-align:center;margin-top:34px;color:var(--muted);font-size:14px}
.studio{display:grid;grid-template-columns:minmax(440px,.92fr) minmax(0,1.08fr);gap:78px;align-items:center}.studio-photo{position:relative}.studio-photo:after{content:"";position:absolute;width:140px;height:140px;border:1px solid var(--rose-soft);border-radius:50%;right:-28px;bottom:-28px;z-index:0}.studio-photo img{position:relative;z-index:1;width:100%;height:670px;object-fit:cover;border-radius:28px;box-shadow:var(--shadow)}.studio-copy p{color:var(--muted);font-size:17px;max-width:590px}.facts{display:grid;gap:0;margin:28px 0 28px}.fact{padding:17px 0;border-bottom:1px solid var(--line);color:var(--muted)}.fact strong{color:var(--ink)}
.steps-wrap{max-width:1180px;margin:auto}.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:38px}.step{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px 24px 26px;min-height:205px}.num{font-family:Georgia,serif;font-size:38px;color:var(--rose)}.step h3{font-size:20px;margin:10px 0}.step p{margin:0;color:var(--muted);font-size:14px}.booking-note{text-align:center;color:var(--muted);font-size:14px;margin:24px 0 0}
.cta{background:var(--rose-dark);color:white;text-align:center;padding:80px 20px}.cta h2{font-size:clamp(38px,4.4vw,58px);margin:0 0 14px}.cta p{opacity:.88;margin:0 0 27px;font-size:17px}.cta .btn{background:white;color:var(--rose-dark)!important;box-shadow:none}
footer{padding:52px 0;background:var(--cream)}.foot{display:grid;grid-template-columns:1.25fr .85fr .85fr;align-items:center;gap:38px}.foot-logo{width:300px;height:130px;object-fit:contain;object-position:left center}.foot p{color:var(--muted);font-size:14px;margin:0}.foot strong{color:var(--ink)}.footer-bottom{border-top:1px solid var(--line);margin-top:28px;padding-top:18px;color:var(--muted);font-size:12px}.wa{position:fixed;right:22px;bottom:22px;width:58px;height:58px;border-radius:50%;background:#25d366;color:white;display:grid;place-items:center;text-decoration:none;font-weight:700;font-size:20px;z-index:60;box-shadow:0 10px 28px rgba(0,0,0,.2)}.wa:hover{transform:translateY(-2px)}
@media(max-width:1080px){.hero-grid{grid-template-columns:1fr 1fr;gap:48px}.hero-photo img{height:570px}.services{grid-template-columns:repeat(3,1fr)}.studio{gap:48px}.portfolio{columns:3}.links{gap:18px}.links a{font-size:13px}.logo{width:300px!important}}
@media(max-width:820px){html{scroll-padding-top:88px}.nav{min-height:88px}.logo{width:250px!important;height:auto!important}.links a:not(.btn){display:none}.hero{padding:42px 0 62px}.hero-grid,.studio{grid-template-columns:1fr}.hero-grid{gap:45px}.hero h1{font-size:clamp(46px,10vw,65px)}.hero-photo{max-width:620px;margin:auto}.hero-photo img{height:600px}.trust{grid-template-columns:1fr}.trust div+div{border-left:0;border-top:1px solid var(--line)}.services{grid-template-columns:repeat(2,1fr)}.portfolio-head{display:block;text-align:center}.portfolio-head .lead{text-align:center;margin:0 auto}.portfolio{columns:2}.studio-photo{max-width:620px;margin:auto}.studio-photo img{height:620px}.steps{grid-template-columns:repeat(2,1fr)}.foot{grid-template-columns:1fr 1fr}.foot>div:first-child{grid-column:1/-1}.section{padding:76px 0}}
@media(max-width:560px){.wrap{width:min(92%,520px)}.nav{min-height:76px}.logo{width:205px!important;height:auto!important}.links .btn{padding:10px 13px;font-size:11px}.hero{padding-top:30px}.hero h1{font-size:43px}.hero p{font-size:16px}.hero-photo:before{inset:-12px 18px 18px -12px}.hero-photo img{height:480px;border-radius:110px 110px 20px 20px}.services{grid-template-columns:1fr}.service img{height:330px}.portfolio{columns:2;column-gap:10px}.portfolio figure{margin-bottom:10px;border-radius:13px}.studio-photo img{height:520px}.studio-photo:after{display:none}.steps{grid-template-columns:1fr}.step{min-height:auto}.cta{padding:65px 20px}.foot{grid-template-columns:1fr}.foot>div:first-child{grid-column:auto}.foot-logo{width:205px}.wa{width:54px;height:54px;right:16px;bottom:16px}.section{padding:66px 0}}


/* ================================================================
   V4.3.4 CORRECTED — definitive header/hero rules
   Based on the known-good V4.3.1; intentionally overrides prior rules.
   ================================================================ */
header .nav{min-height:150px!important}
header .nav .brand{width:420px!important;max-width:34vw!important;flex:0 0 auto!important}
header .nav .brand img.logo{width:420px!important;max-width:100%!important;height:auto!important;max-height:136px!important;display:block!important;object-fit:contain!important;object-position:left center!important}
.hero{padding:34px 0 76px!important}
.hero-grid{grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr)!important;gap:68px!important}
.hero .hero-photo{max-width:390px!important;justify-self:end!important}
.hero .hero-photo img{width:390px!important;max-width:100%!important;height:auto!important;aspect-ratio:243/406!important;object-fit:contain!important;object-position:center!important;border-radius:130px 130px 28px 28px!important;filter:contrast(1.018) saturate(1.008)!important}
@media(max-width:1080px){header .nav .brand{width:330px!important}.hero .hero-photo{max-width:355px!important}.hero .hero-photo img{width:355px!important}}
@media(max-width:820px){header .nav{min-height:96px!important}header .nav .brand{width:245px!important;max-width:55vw!important}.hero{padding-top:28px!important}.hero-grid{grid-template-columns:1fr!important}.hero .hero-photo{max-width:340px!important;margin:0 auto!important}.hero .hero-photo img{width:340px!important}}
@media(max-width:560px){header .nav{min-height:82px!important}header .nav .brand{width:195px!important;max-width:58vw!important}.hero .hero-photo{max-width:300px!important}.hero .hero-photo img{width:300px!important;border-radius:100px 100px 22px 22px!important}}


/* ================================================================
   V4.3.5 REFINED — final visual refinements on known-good V4.3.4
   ================================================================ */
header .nav{min-height:158px!important}
header .nav .brand{width:285px!important;max-width:30vw!important;flex:0 0 auto!important}
header .nav .brand img.logo{width:285px!important;max-width:100%!important;height:auto!important;max-height:none!important;display:block!important;object-fit:contain!important;object-position:left center!important}
.hero{padding:28px 0 68px!important}
.hero-grid{grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr)!important;gap:64px!important}
.hero h1{max-width:640px!important}
.hero .hero-photo{max-width:365px!important;justify-self:end!important}
.hero .hero-photo:before{inset:-20px 28px 24px -26px!important;border-radius:190px 190px 34px 34px!important}
.hero .hero-photo img{width:365px!important;max-width:100%!important;height:auto!important;aspect-ratio:243/406!important;object-fit:contain!important;object-position:center!important;border-radius:122px 122px 26px 26px!important;filter:contrast(1.025) saturate(1.01)!important;box-shadow:0 16px 44px rgba(88,50,50,.11)!important}
.hero p{max-width:555px!important}
.trust strong{font-size:19px!important}
.section{padding-top:88px!important;padding-bottom:88px!important}
@media(max-width:1080px){header .nav .brand{width:245px!important}.hero .hero-photo{max-width:340px!important}.hero .hero-photo img{width:340px!important}}
@media(max-width:820px){header .nav{min-height:104px!important}header .nav .brand{width:220px!important;max-width:54vw!important}.hero{padding-top:24px!important}.hero .hero-photo{max-width:330px!important;margin:0 auto!important}.hero .hero-photo img{width:330px!important}}
@media(max-width:560px){header .nav{min-height:86px!important}header .nav .brand{width:180px!important;max-width:56vw!important}.hero .hero-photo{max-width:292px!important}.hero .hero-photo img{width:292px!important;border-radius:94px 94px 20px 20px!important}.section{padding-top:64px!important;padding-bottom:64px!important}}


/* ==========================================================
   V4.3.6 FINAL — first-fold hierarchy + studio image refinement
   ========================================================== */
.hero{padding:22px 0 46px!important}
.hero-grid{align-items:center!important;gap:58px!important}
.hero-actions{margin-bottom:22px!important}
.hero-differentials{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:640px;margin-top:4px}
.hero-diff{display:flex;align-items:center;gap:10px;padding:12px 13px;border:1px solid rgba(234,216,211,.95);border-radius:15px;background:rgba(255,253,251,.82);min-height:62px}
.hero-diff .ico{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;flex:0 0 32px;background:var(--blush);color:var(--rose-dark);font-size:15px;font-weight:700}
.hero-diff strong{display:block;font-family:Arial,Helvetica,sans-serif;font-size:13px;line-height:1.2;color:var(--ink);font-weight:700;margin-bottom:2px}
.hero-diff span{display:block;font-size:11.5px;line-height:1.25;color:var(--muted)}
.trustbar{display:none!important}

/* Studio section: smaller real photo, no forced crop, less enlargement */
.studio{grid-template-columns:minmax(300px,390px) minmax(0,1fr)!important;gap:72px!important;align-items:center!important}
.studio-photo{width:100%;max-width:390px;justify-self:start}
.studio-photo img{width:100%!important;height:auto!important;aspect-ratio:243/406!important;object-fit:contain!important;object-position:center!important;border-radius:26px!important;box-shadow:0 15px 40px rgba(88,50,50,.10)!important;filter:contrast(1.018) saturate(1.005)!important;background:#f8efeb}
.studio-photo:after{width:110px!important;height:110px!important;right:-22px!important;bottom:-22px!important}
.studio-copy h2{max-width:660px}
.studio-copy p{max-width:650px}

@media(max-width:1080px){
  .hero-differentials{grid-template-columns:1fr 1fr 1fr}
  .studio{grid-template-columns:minmax(280px,350px) minmax(0,1fr)!important;gap:48px!important}
  .studio-photo{max-width:350px}
}
@media(max-width:820px){
  .hero{padding:20px 0 48px!important}
  .hero-differentials{grid-template-columns:1fr;max-width:520px}
  .hero-diff{min-height:56px}
  .studio{grid-template-columns:1fr!important;gap:34px!important}
  .studio-photo{max-width:360px!important;margin:0 auto!important;justify-self:center!important}
  .studio-copy{text-align:left}
}
@media(max-width:560px){
  .hero-differentials{gap:8px}
  .hero-diff{padding:10px 12px}
  .studio-photo{max-width:310px!important}
}


/* =========================================================
   V4.3.8 — ESCALA ESPECÍFICA PARA NOTEBOOKS
   Preserva o layout de monitores grandes e compacta somente
   telas desktop menores / notebooks.
   ========================================================= */
@media (min-width: 1024px) and (max-width: 1500px) {
  header {
    position: sticky;
    top: 0;
  }

  .nav {
    min-height: 104px !important;
    gap: 22px !important;
  }

  .brand .logo,
  .logo {
    width: 235px !important;
    max-width: 235px !important;
    height: auto !important;
  }

  .links {
    gap: 22px !important;
  }

  .links a {
    font-size: 13px !important;
  }

  .btn {
    padding: 12px 20px !important;
    font-size: 13px !important;
  }

  .hero {
    padding: 28px 0 34px !important;
  }

  .hero-grid {
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, .78fr) !important;
    gap: 44px !important;
    align-items: center !important;
  }

  .eyebrow {
    font-size: 11px !important;
    letter-spacing: 2.1px !important;
    margin-bottom: 10px !important;
  }

  .hero h1 {
    font-size: clamp(46px, 4.6vw, 66px) !important;
    line-height: 1.03 !important;
    max-width: 620px !important;
    margin: 10px 0 18px !important;
  }

  .hero p {
    font-size: 16px !important;
    line-height: 1.55 !important;
    max-width: 560px !important;
    margin-bottom: 20px !important;
  }

  .hero-actions {
    margin-bottom: 18px !important;
  }

  .hero-photo {
    max-width: 430px !important;
    justify-self: end !important;
  }

  .hero-photo img {
    width: 100% !important;
    max-height: 520px !important;
    object-fit: cover !important;
  }

  .hero-features,
  .hero-trust,
  .trust {
    margin-top: 16px !important;
  }

  .trust {
    min-height: 64px !important;
  }

  .trust div {
    padding: 8px 16px !important;
    font-size: 12px !important;
  }

  .trust strong {
    font-size: 15px !important;
  }

  .section {
    padding: 72px 0 !important;
  }

  .section h2 {
    font-size: clamp(34px, 3.4vw, 50px) !important;
  }

  .service img {
    height: 230px !important;
  }

  .studio-grid {
    grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr) !important;
    gap: 50px !important;
  }

  .studio-photo {
    max-width: 410px !important;
  }

  .studio-photo img {
    max-height: 600px !important;
    object-fit: contain !important;
  }

  .steps {
    gap: 14px !important;
  }

  .step {
    padding: 24px 20px !important;
  }

  footer {
    padding-top: 34px !important;
  }
}

/* Notebooks menores / 1366x768 e semelhantes */
@media (min-width: 1024px) and (max-width: 1366px) {
  .wrap {
    width: min(1120px, calc(100% - 48px)) !important;
  }

  .nav {
    min-height: 92px !important;
  }

  .brand .logo,
  .logo {
    width: 205px !important;
    max-width: 205px !important;
  }

  .hero {
    padding: 18px 0 26px !important;
  }

  .hero-grid {
    grid-template-columns: minmax(0, 1.12fr) minmax(320px, .72fr) !important;
    gap: 34px !important;
  }

  .hero h1 {
    font-size: clamp(42px, 4.25vw, 58px) !important;
    max-width: 560px !important;
  }

  .hero p {
    font-size: 15px !important;
    max-width: 520px !important;
  }

  .hero-photo {
    max-width: 380px !important;
  }

  .hero-photo img {
    max-height: 455px !important;
  }

  .trust {
    min-height: 58px !important;
  }

  .trust div {
    padding: 7px 12px !important;
  }

  .service img {
    height: 205px !important;
  }

  .section {
    padding: 62px 0 !important;
  }

  .studio-photo {
    max-width: 360px !important;
  }

  .studio-photo img {
    max-height: 540px !important;
  }
}


/* =========================================================
   V4.3.9 — AJUSTES FINOS PARA NOTEBOOK
   ========================================================= */
@media (min-width: 1024px) and (max-width: 1500px) {
  /* Cabeçalho mais compacto para liberar área útil */
  .nav {
    min-height: 84px !important;
  }

  .brand .logo,
  .logo {
    width: 175px !important;
    max-width: 175px !important;
  }

  .links {
    gap: 18px !important;
  }

  .links a {
    font-size: 12.5px !important;
  }

  .btn {
    padding: 11px 18px !important;
    font-size: 12.5px !important;
  }

  /* Serviços: foto + título + descrição aparecem juntos com mais facilidade */
  #servicos.section {
    padding-top: 48px !important;
    padding-bottom: 54px !important;
  }

  #servicos .lead {
    margin-bottom: 26px !important;
  }

  .services {
    gap: 12px !important;
  }

  .service img {
    height: 160px !important;
  }

  .service .body,
  .service-body {
    padding: 14px 14px 16px !important;
  }

  .service h3 {
    font-size: 18px !important;
    margin-bottom: 6px !important;
  }

  .service p {
    font-size: 12.5px !important;
    line-height: 1.45 !important;
  }

  /* Studio: imagem menor para não expor a baixa resolução original */
  #studio.section {
    padding-top: 54px !important;
    padding-bottom: 54px !important;
  }

  .studio-grid {
    grid-template-columns: minmax(260px, .62fr) minmax(0, 1.38fr) !important;
    gap: 42px !important;
    align-items: center !important;
  }

  .studio-photo {
    max-width: 300px !important;
    justify-self: end !important;
  }

  .studio-photo img {
    width: 100% !important;
    height: auto !important;
    max-height: 470px !important;
    object-fit: contain !important;
    image-rendering: auto !important;
  }

  #studio h2 {
    font-size: clamp(34px, 3vw, 46px) !important;
    margin-bottom: 14px !important;
  }

  #studio p,
  #studio .meta,
  #studio .studio-meta {
    font-size: 14px !important;
  }
}

/* Faixa comum de notebooks 1366px */
@media (min-width: 1024px) and (max-width: 1366px) {
  .nav {
    min-height: 78px !important;
  }

  .brand .logo,
  .logo {
    width: 155px !important;
    max-width: 155px !important;
  }

  #servicos.section {
    padding-top: 38px !important;
    padding-bottom: 44px !important;
  }

  .service img {
    height: 145px !important;
  }

  .service h3 {
    font-size: 17px !important;
  }

  .service p {
    font-size: 12px !important;
  }

  .studio-grid {
    grid-template-columns: minmax(230px, .58fr) minmax(0, 1.42fr) !important;
    gap: 34px !important;
  }

  .studio-photo {
    max-width: 270px !important;
  }

  .studio-photo img {
    max-height: 420px !important;
  }
}


/* =========================================================
   V4.3.10 — COMPACTAÇÃO REAL PARA NOTEBOOKS
   Corrige regras antigas que ainda deixavam o cabeçalho alto.
   ========================================================= */
@media (min-width: 1024px) and (max-width: 1500px) {

  .wrap{
    width:min(1180px, calc(100% - 40px)) !important;
  }

  /* Cabeçalho: reduz de verdade a área ocupada pelo logo */
  header .nav{
    min-height:72px !important;
    height:72px !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
  }

  header .nav .brand{
    width:145px !important;
    max-width:145px !important;
    flex:0 0 145px !important;
  }

  header .nav .brand img.logo{
    width:145px !important;
    max-width:145px !important;
    max-height:64px !important;
    height:auto !important;
    object-fit:contain !important;
  }

  .links{
    gap:18px !important;
  }

  .links a{
    font-size:12.5px !important;
  }

  .links .btn,
  .btn{
    padding:10px 17px !important;
    font-size:12.5px !important;
  }

  /* Hero */
  .hero{
    padding:18px 0 24px !important;
  }

  .hero-grid{
    gap:30px !important;
  }

  .hero h1{
    font-size:clamp(40px,4vw,56px) !important;
    line-height:1.02 !important;
  }

  .hero p{
    font-size:14.5px !important;
  }

  .hero-photo{
    max-width:340px !important;
  }

  .hero-photo img{
    max-height:430px !important;
  }

  .hero-differentials{
    gap:8px !important;
    margin-top:14px !important;
  }

  .hero-diff{
    padding:9px 10px !important;
  }

  .hero-diff strong{
    font-size:11.5px !important;
  }

  .hero-diff span{
    font-size:10.5px !important;
  }

  /* Serviços: cinco cards completos na mesma área visual */
  #servicos.section{
    padding:32px 0 38px !important;
  }

  #servicos h2{
    font-size:38px !important;
    margin:5px 0 8px !important;
  }

  #servicos .lead{
    margin-bottom:18px !important;
    font-size:13px !important;
  }

  .services{
    grid-template-columns:repeat(5, 1fr) !important;
    gap:10px !important;
  }

  .service{
    border-radius:14px !important;
  }

  .service img{
    height:118px !important;
  }

  .service .copy{
    padding:11px 11px 12px !important;
  }

  .service h3{
    font-size:15px !important;
    line-height:1.12 !important;
    margin-bottom:4px !important;
  }

  .service p{
    font-size:11px !important;
    line-height:1.35 !important;
  }

  /* Portfólio: miniaturas menores para aproveitar melhor a tela */
  #trabalhos.section{
    padding:34px 0 42px !important;
  }

  .portfolio-head{
    margin-bottom:20px !important;
  }

  .portfolio-head h2{
    font-size:40px !important;
  }

  .portfolio-head .lead{
    font-size:13px !important;
  }

  .portfolio{
    columns:5 170px !important;
    column-gap:10px !important;
  }

  .portfolio figure{
    margin-bottom:10px !important;
    border-radius:12px !important;
    max-height:250px !important;
  }

  .portfolio figure img{
    width:100% !important;
    height:250px !important;
    object-fit:cover !important;
  }

  /* Studio: exibe a foto perto do tamanho nativo para ganhar nitidez */
  #studio.section{
    padding:32px 0 38px !important;
  }

  .studio{
    grid-template-columns:240px minmax(0, 1fr) !important;
    gap:36px !important;
    align-items:center !important;
  }

  .studio-photo{
    width:240px !important;
    max-width:240px !important;
    justify-self:start !important;
  }

  .studio-photo img{
    width:240px !important;
    height:auto !important;
    max-height:none !important;
    aspect-ratio:243/406 !important;
    object-fit:contain !important;
    border-radius:18px !important;
  }

  .studio-photo:after{
    width:70px !important;
    height:70px !important;
    right:-12px !important;
    bottom:-12px !important;
  }

  #studio h2,
  .studio-copy h2{
    font-size:36px !important;
    line-height:1.05 !important;
    margin:5px 0 10px !important;
  }

  .studio-copy p{
    font-size:13.5px !important;
    margin-bottom:8px !important;
  }

  .facts{
    margin:14px 0 16px !important;
  }

  .fact{
    padding:10px 0 !important;
    font-size:13px !important;
  }

  /* Agendamento */
  #agendar.section{
    padding:38px 0 !important;
  }

  .steps{
    gap:10px !important;
  }

  .step{
    padding:18px 14px !important;
    min-height:150px !important;
  }
}

/* 1366x768 e notebooks menores */
@media (min-width: 1024px) and (max-width: 1366px) {

  .wrap{
    width:min(1080px, calc(100% - 32px)) !important;
  }

  header .nav{
    min-height:64px !important;
    height:64px !important;
  }

  header .nav .brand{
    width:122px !important;
    max-width:122px !important;
    flex-basis:122px !important;
  }

  header .nav .brand img.logo{
    width:122px !important;
    max-width:122px !important;
    max-height:56px !important;
  }

  .links{
    gap:14px !important;
  }

  .links a{
    font-size:11.5px !important;
  }

  .links .btn,
  .btn{
    padding:9px 14px !important;
    font-size:11.5px !important;
  }

  .hero h1{
    font-size:44px !important;
  }

  .hero-photo{
    max-width:300px !important;
  }

  .hero-photo img{
    max-height:385px !important;
  }

  #servicos.section{
    padding:24px 0 30px !important;
  }

  #servicos h2{
    font-size:34px !important;
  }

  .service img{
    height:102px !important;
  }

  .service .copy{
    padding:9px 9px 10px !important;
  }

  .service h3{
    font-size:14px !important;
  }

  .service p{
    font-size:10.5px !important;
  }

  .portfolio{
    columns:5 150px !important;
    column-gap:8px !important;
  }

  .portfolio figure{
    max-height:215px !important;
    margin-bottom:8px !important;
  }

  .portfolio figure img{
    height:215px !important;
  }

  #studio.section{
    padding:24px 0 30px !important;
  }

  .studio{
    grid-template-columns:210px minmax(0, 1fr) !important;
    gap:28px !important;
  }

  .studio-photo,
  .studio-photo img{
    width:210px !important;
    max-width:210px !important;
  }

  #studio h2,
  .studio-copy h2{
    font-size:32px !important;
  }

  .studio-copy p,
  .fact{
    font-size:12px !important;
  }

  .facts{
    margin:10px 0 12px !important;
  }

  .fact{
    padding:8px 0 !important;
  }
}


/* =========================================================
   V4.3.11 — LAYOUT ESPECÍFICO PARA CELULARES
   ========================================================= */
@media (max-width: 767px) {

  html, body {
    overflow-x: hidden !important;
  }

  .wrap{
    width:calc(100% - 28px) !important;
    max-width:none !important;
  }

  /* Cabeçalho mobile: logo + CTA apenas */
  header{
    position:sticky !important;
    top:0 !important;
    background:rgba(255,250,247,.97) !important;
  }

  header .nav{
    min-height:78px !important;
    height:auto !important;
    padding:10px 0 !important;
    gap:12px !important;
    justify-content:space-between !important;
  }

  header .nav .brand{
    width:132px !important;
    max-width:132px !important;
    flex:0 0 132px !important;
  }

  header .nav .brand img.logo{
    width:132px !important;
    max-width:132px !important;
    max-height:62px !important;
    height:auto !important;
    object-fit:contain !important;
  }

  .links{
    margin-left:auto !important;
    gap:0 !important;
  }

  .links > a:not(.btn){
    display:none !important;
  }

  .links .btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:11px 14px !important;
    font-size:11.5px !important;
    white-space:nowrap !important;
    border-radius:999px !important;
  }

  /* HERO em uma coluna */
  .hero{
    padding:24px 0 28px !important;
  }

  .hero-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:20px !important;
    align-items:start !important;
  }

  .eyebrow{
    font-size:10px !important;
    line-height:1.45 !important;
    letter-spacing:1.8px !important;
    margin-bottom:10px !important;
    white-space:normal !important;
    max-width:100% !important;
  }

  .hero h1{
    font-size:clamp(40px,12vw,52px) !important;
    line-height:.98 !important;
    max-width:100% !important;
    margin:8px 0 16px !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  .hero p{
    font-size:15px !important;
    line-height:1.5 !important;
    max-width:100% !important;
    margin-bottom:18px !important;
  }

  .hero-actions{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:10px 14px !important;
    align-items:center !important;
    margin-bottom:14px !important;
  }

  .hero-actions .btn{
    padding:12px 16px !important;
    font-size:12px !important;
  }

  .hero-actions .text-link{
    font-size:12px !important;
  }

  .hero-photo{
    grid-row:auto !important;
    width:100% !important;
    max-width:100% !important;
    justify-self:stretch !important;
    margin-top:4px !important;
  }

  .hero-photo img{
    width:100% !important;
    max-height:none !important;
    aspect-ratio:4/5 !important;
    object-fit:cover !important;
    border-radius:28px !important;
  }

  .hero-photo:before{
    inset:-12px 16px 16px -10px !important;
    border-radius:28px !important;
  }

  /* Diferenciais empilhados */
  .hero-differentials{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    margin-top:2px !important;
  }

  .hero-diff{
    min-height:auto !important;
    padding:10px 12px !important;
    grid-template-columns:32px 1fr !important;
  }

  .hero-diff .num{
    width:28px !important;
    height:28px !important;
    font-size:11px !important;
  }

  .hero-diff strong{
    font-size:12px !important;
  }

  .hero-diff span{
    font-size:11px !important;
  }

  /* Seções */
  .section{
    padding:46px 0 !important;
  }

  .section h2,
  #servicos h2,
  .portfolio-head h2,
  #studio h2,
  .studio-copy h2{
    font-size:34px !important;
    line-height:1.05 !important;
  }

  .lead{
    font-size:13px !important;
    line-height:1.5 !important;
  }

  /* Serviços: 1 coluna, foto mais baixa */
  .services{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .service{
    display:grid !important;
    grid-template-columns:118px 1fr !important;
    min-height:118px !important;
    overflow:hidden !important;
  }

  .service img{
    width:118px !important;
    height:100% !important;
    min-height:118px !important;
    object-fit:cover !important;
  }

  .service .copy{
    padding:12px !important;
  }

  .service h3{
    font-size:17px !important;
    margin-bottom:5px !important;
  }

  .service p{
    font-size:12px !important;
    line-height:1.4 !important;
  }

  /* Portfólio: 2 colunas */
  .portfolio-head{
    display:block !important;
    margin-bottom:18px !important;
  }

  .portfolio-head .lead{
    margin-top:8px !important;
  }

  .portfolio{
    columns:2 !important;
    column-gap:8px !important;
  }

  .portfolio figure{
    margin:0 0 8px !important;
    max-height:none !important;
    border-radius:12px !important;
  }

  .portfolio figure img{
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:cover !important;
  }

  /* Studio: uma coluna */
  .studio{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:22px !important;
  }

  .studio-photo{
    width:min(82vw, 300px) !important;
    max-width:300px !important;
    justify-self:center !important;
  }

  .studio-photo img{
    width:100% !important;
    height:auto !important;
    aspect-ratio:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    border-radius:18px !important;
  }

  .studio-copy{
    width:100% !important;
  }

  .facts{
    margin:14px 0 16px !important;
  }

  .fact{
    padding:10px 0 !important;
    font-size:13px !important;
  }

  /* Agendamento */
  .steps{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .step{
    min-height:auto !important;
    padding:18px !important;
  }

  /* CTA final e rodapé */
  .cta{
    padding:48px 18px !important;
  }

  .cta h2{
    font-size:34px !important;
  }

  footer .foot-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:22px !important;
    text-align:left !important;
  }

  footer .logo{
    width:150px !important;
    max-width:150px !important;
  }

  /* WhatsApp flutuante menor */
  .wa{
    width:52px !important;
    height:52px !important;
    right:14px !important;
    bottom:14px !important;
    font-size:17px !important;
  }
}

/* Celulares muito estreitos */
@media (max-width: 390px) {
  header .nav .brand{
    width:112px !important;
    max-width:112px !important;
    flex-basis:112px !important;
  }

  header .nav .brand img.logo{
    width:112px !important;
    max-width:112px !important;
  }

  .links .btn{
    padding:10px 11px !important;
    font-size:10.5px !important;
  }

  .hero h1{
    font-size:38px !important;
  }

  .service{
    grid-template-columns:102px 1fr !important;
  }

  .service img{
    width:102px !important;
  }
}
