*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Montserrat',sans-serif;color:#1d1d1d;overflow-x:hidden;background:#fff;}
img{display:block;max-width:100%;}
a{cursor:pointer;}
ul{list-style:none;}

/* HEADER */
header.site-header{position:fixed;top:0;left:0;width:100%;z-index:999;padding:0 48px;height:68px;display:flex;justify-content:space-between;align-items:center;background:rgba(255,255,255,0.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,0,0,0.07);transition:box-shadow .3s;}
.logo{display:flex;align-items:center;gap:9px;text-decoration:none;color:#1d1d1d;}
.logo-sym{flex-shrink:0;}
.logo-txt{display:flex;flex-direction:column;}
.logo-name{font-size:13px;font-weight:800;letter-spacing:0.28em;text-transform:uppercase;line-height:1;}
.logo-sub{font-size:6.5px;font-weight:500;letter-spacing:0.36em;text-transform:uppercase;color:#999;margin-top:3px;}
.hdr-nav{display:flex;gap:32px;align-items:center;list-style:none;}
.hdr-nav li a,.hdr-nav a{text-decoration:none;color:#1d1d1d;font-weight:600;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;transition:color .2s;}
.hdr-nav li a:hover,.hdr-nav a:hover{color:#0D5B7A;}
.hdr-cart{cursor:pointer;padding:6px;}

/* HERO */
.hero{height:100vh;min-height:700px;position:relative;display:flex;align-items:flex-end;padding:0 8% 8%;margin-top:68px;overflow:hidden;}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;display:block;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.72) 0%,rgba(0,0,0,.30) 45%,rgba(0,0,0,.05) 100%);}
.hero-content{position:relative;z-index:2;color:white;max-width:500px;}
.hero h1{font-size:clamp(54px,7.5vw,96px);font-weight:800;line-height:.88;letter-spacing:0.02em;margin-bottom:16px;}
.hero-desc{font-size:17px;font-weight:400;margin-bottom:6px;opacity:.95;}
.hero-sub{font-size:14px;font-weight:300;opacity:.75;margin-bottom:30px;line-height:1.5;}
.btn-hero{display:inline-block;padding:14px 30px;background:#0D5B7A;color:white;text-decoration:none;font-weight:700;font-size:11px;letter-spacing:0.22em;text-transform:uppercase;transition:background .22s;}
.btn-hero:hover{background:#0a4863;}

/* MANIFESTO */
.manifesto{display:grid;grid-template-columns:1fr 1fr;min-height:560px;}
.manifesto-text{padding:80px 72px;display:flex;flex-direction:column;justify-content:center;background:#fff;}
.tag-label{font-size:9px;font-weight:700;letter-spacing:0.48em;text-transform:uppercase;color:#0D5B7A;margin-bottom:16px;display:flex;align-items:center;gap:10px;}
.tag-label::before{content:'';display:block;width:20px;height:1.5px;background:#0D5B7A;}
.manifesto h2{font-size:clamp(22px,2.4vw,34px);font-weight:700;line-height:1.3;margin-bottom:20px;}
.manifesto p{font-size:14px;font-weight:300;line-height:1.8;color:#555;max-width:380px;}
.manifesto-img{overflow:hidden;}
.manifesto-img img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;}

/* TERRITÓRIOS */
.territorios{display:grid;grid-template-columns:repeat(4,1fr);}
.terr{height:440px;position:relative;overflow:hidden;cursor:pointer;}
.terr img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:.6s ease;}
.terr:hover img{transform:scale(1.07);}
.terr-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.76) 0%,rgba(0,0,0,.0) 52%);}
.terr-info{position:absolute;bottom:0;left:0;right:0;padding:0 22px 24px;}
.terr-icon{width:32px;height:32px;border:1.5px solid rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;margin-bottom:10px;}
.terr-nome{font-size:20px;font-weight:700;color:white;letter-spacing:0.05em;display:block;margin-bottom:4px;}
.terr-sub{font-size:10px;font-weight:500;color:rgba(255,255,255,.75);letter-spacing:0.14em;text-transform:uppercase;}
.terr-bar{position:absolute;bottom:0;left:0;right:0;height:3px;background:#0D5B7A;transform:scaleX(0);transform-origin:left;transition:.4s;}
.terr:hover .terr-bar{transform:scaleX(1);}

/* PRODUTOS */
.produtos{padding:90px 8%;background:#f8f8f6;}
.prod-header{text-align:center;margin-bottom:52px;}
.prod-super{font-size:9px;font-weight:700;letter-spacing:0.48em;text-transform:uppercase;color:#0D5B7A;display:block;margin-bottom:12px;}
.prod-header h2{font-size:clamp(26px,3vw,40px);font-weight:700;margin-bottom:8px;}
.prod-header p{font-size:14px;font-weight:300;color:#888;}
.prod-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;background:#f0f0ee;}
.prod-card{background:#fff;display:grid;grid-template-columns:180px 1fr;gap:0;border:1px solid #eee;transition:box-shadow .3s;}
.prod-card:hover{box-shadow:0 8px 32px rgba(0,0,0,.09);}
.prod-photo{background:#f2f2f0;display:flex;align-items:center;justify-content:center;padding:20px 14px;}
.prod-photo img{width:100%;height:220px;object-fit:contain;display:block;}
.prod-info{padding:28px 24px 24px;display:flex;flex-direction:column;}
.prod-tag{font-size:8px;font-weight:700;letter-spacing:0.44em;text-transform:uppercase;color:#0D5B7A;display:block;margin-bottom:8px;}
.prod-info h3{font-size:17px;font-weight:700;margin-bottom:8px;}
.prod-info>p{font-size:12.5px;font-weight:300;color:#666;line-height:1.7;flex:1;margin-bottom:16px;}
.prod-colors{display:flex;gap:6px;margin-bottom:16px;}
.pcol{width:16px;height:16px;border-radius:2px;border:2px solid transparent;cursor:pointer;transition:border-color .2s;}
.pcol:hover,.pcol.on{border-color:#0D5B7A;}
.buy-stack{display:flex;flex-direction:column;gap:7px;}
.brow{display:flex;align-items:center;gap:9px;padding:8px 13px;text-decoration:none;font-weight:600;font-size:10px;letter-spacing:.07em;transition:all .2s;}
.brow:hover{transform:translateX(3px);}
.brow svg{height:11px;width:auto;flex-shrink:0;}
.brow span{flex:1;}
.brow .arr{opacity:.4;font-size:12px;}
.bam{background:#FFF4DC;border:1.5px solid #FF9900;color:#111;}
.bam:hover{background:#FF9900;}
.bml{background:#FFFBCC;border:1.5px solid #F5D000;color:#111;}
.bml:hover{background:#FFE600;}
.bsh{background:#FFEEE9;border:1.5px solid #EE4D2D;color:#333;}
.bsh:hover{background:#EE4D2D;color:#fff;}

/* GALERIA */
.galeria{display:grid;grid-template-columns:repeat(4,1fr);}
.gal{height:260px;overflow:hidden;position:relative;cursor:pointer;}
.gal img{width:100%;height:100%;object-fit:cover;display:block;transition:.6s;}
.gal:hover img{transform:scale(1.08);}
.gal-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.58) 0%,transparent 52%);opacity:0;transition:.3s;}
.gal:hover .gal-ov{opacity:1;}
.gal-lbl{position:absolute;bottom:15px;left:16px;font-size:9.5px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:white;opacity:0;transition:.3s;}
.gal:hover .gal-lbl{opacity:1;}

/* BANNER FINAL */
.banner-final{min-height:80vh;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:0 8% 9%;}
.banner-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block;}
.banner-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.65) 0%,rgba(0,0,0,.22) 50%,rgba(0,0,0,.04) 100%);}
.banner-content{position:relative;z-index:2;color:white;max-width:560px;}
.banner-content h2{font-size:clamp(40px,6vw,78px);font-weight:300;line-height:1.05;letter-spacing:.03em;margin-bottom:30px;}
.btn-banner{display:inline-block;padding:14px 32px;background:#E85555;color:white;text-decoration:none;font-weight:700;font-size:11px;letter-spacing:.2em;text-transform:uppercase;border-radius:2px;transition:background .2s;}
.btn-banner:hover{background:#cc3d3d;}

/* FOOTER */
footer.site-footer{padding:64px 8% 40px;background:#111;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;}
.ft-brand .ft-logo{display:flex;align-items:center;gap:9px;margin-bottom:12px;}
.ft-nm{font-size:13px;font-weight:800;letter-spacing:.3em;text-transform:uppercase;color:white;}
.ft-sb2{font-size:6.5px;font-weight:500;letter-spacing:.36em;text-transform:uppercase;color:#666;display:block;margin-top:2px;}
.ft-brand>p{font-size:12px;font-weight:300;color:#777;line-height:1.75;margin-bottom:18px;}
.ft-contacts{display:flex;flex-direction:column;gap:8px;margin-bottom:18px;}
.ft-contact{display:flex;align-items:center;gap:8px;font-size:11.5px;font-weight:300;color:#888;text-decoration:none;transition:color .2s;}
.ft-contact:hover{color:white;}
.ft-contact svg{flex-shrink:0;opacity:.5;}
.ft-social{display:flex;gap:10px;}
.ft-soc{width:34px;height:34px;border:1px solid #333;display:flex;align-items:center;justify-content:center;text-decoration:none;transition:border-color .2s;}
.ft-soc:hover{border-color:#0D5B7A;}
footer.site-footer h4{font-size:9px;font-weight:700;letter-spacing:.38em;text-transform:uppercase;color:#555;margin-bottom:16px;}
.ft-link{display:block;text-decoration:none;color:#888;margin-bottom:9px;font-size:12px;font-weight:300;transition:color .2s;}
.ft-link:hover{color:white;}
.ft-btm{background:#080808;padding:18px 8%;display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.05);}
.ft-btm span{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#444;}

/* RESPONSIVE */
/* ─── TABLET (até 960px) ──────────────────────── */
@media(max-width:960px){
  /* Header */
  header.site-header{padding:0 20px;height:60px;}
  .hdr-nav{gap:18px;}
  .hdr-nav li a,.hdr-nav a{font-size:10px;}

  /* Hero */
  .hero{padding:0 6% 8%;margin-top:60px;}
  .hero h1{font-size:clamp(36px,9vw,56px);line-height:.92;margin-bottom:12px;}
  .hero-desc{font-size:15px;margin-bottom:4px;}
  .hero-sub{font-size:13px;margin-bottom:22px;}
  .hero-content{max-width:90%;}

  /* Manifesto */
  .manifesto{grid-template-columns:1fr;}
  .manifesto-img{min-height:280px;order:-1;}
  .manifesto-text{padding:52px 32px;}

  /* Territórios */
  .territorios{grid-template-columns:1fr 1fr;}
  .terr{height:320px;}

  /* Produtos */
  .prod-grid{grid-template-columns:1fr;}

  /* Galeria */
  .galeria{grid-template-columns:1fr 1fr;}
  .gal{height:200px;}

  /* Footer */
  footer.site-footer{grid-template-columns:1fr 1fr;}
}

/* ─── MOBILE (até 480px) — iPhone 12 e similares ── */
@media(max-width:480px){
  /* Header — logo e nav sem sobreposição */
  header.site-header{
    padding:0 16px;
    height:56px;
    gap:12px;
  }
  .logo{gap:8px;flex-shrink:0;}
  .logo-sym{width:28px;height:28px;}
  .logo-name{font-size:11px;letter-spacing:0.22em;}
  .logo-sub{font-size:6px;letter-spacing:0.28em;}

  /* Nav compacto — só os links, sem cortar */
  .hdr-nav{gap:12px;flex-shrink:1;}
  .hdr-nav li a,.hdr-nav a{font-size:9.5px;letter-spacing:0.08em;}

  /* Carrinho menor */
  .hdr-cart{padding:4px;}
  .hdr-cart svg{width:18px;height:18px;}

  /* Hero — texto completo visível sem rolar */
  .hero{
    padding:5% 5% 5%;
    margin-top:56px;
    min-height:calc(100vh - 56px);
    align-items:center;
  }
  .hero-overlay{
    background:linear-gradient(
      to bottom,
      rgba(0,0,0,.55) 0%,
      rgba(0,0,0,.45) 50%,
      rgba(0,0,0,.35) 100%
    );
  }
  .hero-content{max-width:100%;}
  .hero h1{
    font-size:clamp(38px,11vw,52px);
    line-height:.92;
    margin-bottom:12px;
  }
  .hero-desc{font-size:15px;margin-bottom:6px;opacity:.95;}
  .hero-sub{font-size:13px;margin-bottom:22px;line-height:1.4;}
  .btn-hero{padding:12px 24px;font-size:10px;display:inline-block;}

  /* Manifesto */
  .manifesto-text{padding:44px 20px;}
  .manifesto h2{font-size:22px;}
  .manifesto p{font-size:13px;}

  /* Territórios — 1 coluna no mobile */
  .territorios{grid-template-columns:1fr;}
  .terr{height:260px;}
  .terr-nome{font-size:18px;}

  /* Produtos — empilhado */
  .prod-grid{grid-template-columns:1fr;gap:0;}
  .prod-card{grid-template-columns:1fr;}
  .prod-photo{padding:24px 20px;}
  .prod-photo img{height:220px;object-fit:contain;}
  .prod-info{padding:20px 20px 24px;}
  .prod-info h3{font-size:16px;}
  .prod-info > p{font-size:12px;}
  .prod-header{padding:0 20px;}
  .prod-header h2{font-size:22px;}
  .produtos{padding:60px 4%;}

  /* Galeria — 1 coluna */
  .galeria{grid-template-columns:1fr;}
  .gal{height:200px;}

  /* Banner final — mostra a mulher sem cortar */
  .banner-final{padding:0 6% 8%;min-height:75vh;}
  .banner-bg{
    object-position:65% center;
    object-fit:cover;
  }
  .banner-content h2{font-size:clamp(32px,9vw,48px);}
  .btn-banner{padding:12px 24px;font-size:10px;}

  /* Footer */
  footer.site-footer{
    grid-template-columns:1fr;
    padding:48px 6% 32px;
    gap:32px;
  }
  .ft-btm{
    flex-direction:column;
    gap:6px;
    text-align:center;
    padding:16px 6%;
  }
  .ft-btm span{font-size:8px;}
}
