:root{
  --navy:#0e3a5d; --navy-deep:#092b47; --navy-ink:#071f33;
  --gold:#c6a15b; --gold-soft:#e2cfa4;
  --ivory:#f6f2ea; --paper:#fdfbf6;
  --ink:#26313c; --muted:#717c87; --line:#e3dccd;
  --wa:#25d366; --wa-dark:#1eb85a;
  --serif:'Playfair Display',Georgia,serif; --sans:'Inter',system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.7;font-size:16px;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
::selection{background:var(--gold);color:#fff}
.wrap{width:min(1200px,90%);margin-inline:auto}
section{position:relative}
.kicker{display:flex;align-items:center;gap:14px;font-size:11.5px;font-weight:600;letter-spacing:.34em;text-transform:uppercase;color:var(--gold)}
.kicker::before{content:"";width:44px;height:1px;background:var(--gold)}
.kicker .num{color:var(--muted);letter-spacing:.1em}
h1,h2,h3{font-family:var(--serif);font-weight:500;color:var(--navy-ink);line-height:1.18}
h2{font-size:clamp(30px,3.6vw,46px);margin:22px 0 20px}
h2 em{font-style:italic;color:var(--navy)}
.lead{color:var(--muted);font-size:16.5px;max-width:56ch;font-weight:300}
.sec-head{margin-bottom:clamp(44px,6vw,72px)}
.sec-head.center{text-align:center}
.sec-head.center .kicker{justify-content:center}
.sec-head.center .kicker::after{content:"";width:44px;height:1px;background:var(--gold)}
.btn{display:inline-flex;align-items:center;gap:12px;font-size:12.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;padding:18px 34px;transition:all .3s ease;border:1px solid transparent;cursor:pointer}
.btn svg{width:19px;height:19px;flex:none}
.btn-navy{background:var(--navy);color:#fff}.btn-navy:hover{background:var(--navy-deep)}
.btn-wa{background:var(--wa);color:#fff}.btn-wa:hover{background:var(--wa-dark)}
.btn-line{background:transparent;color:var(--navy);border-color:var(--navy)}.btn-line:hover{background:var(--navy);color:#fff}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.link-arrow{display:inline-flex;align-items:center;gap:10px;font-size:12.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--navy);border-bottom:1px solid var(--gold);padding-bottom:8px;transition:gap .3s}
.link-arrow:hover{gap:16px}.link-arrow svg{width:16px;height:16px}
/* Header */
header{position:fixed;top:0;left:0;right:0;z-index:90;transition:all .35s ease;padding:22px 0}
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:28px}
header.scrolled{background:rgba(253,251,246,.95);backdrop-filter:blur(12px);padding:12px 0;box-shadow:0 1px 0 var(--line)}
.logo img{height:44px;width:auto;transition:height .3s}
header.scrolled .logo img{height:36px}
.nav{display:flex;align-items:center;gap:34px;list-style:none}
.nav a{font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);transition:color .25s}
.nav a:hover{color:var(--gold)}
.header-cta{display:inline-flex;align-items:center;gap:10px;font-size:11.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--navy);border:1px solid var(--navy);padding:12px 20px;transition:all .3s}
.header-cta svg{width:17px;height:17px}
.header-cta:hover{background:var(--navy);color:#fff}
.menu-btn{display:none;background:none;border:0;cursor:pointer;color:var(--navy)}
.menu-btn svg{width:26px;height:26px}
header:not(.scrolled) .nav a{color:rgba(255,255,255,.92)}
header:not(.scrolled) .header-cta{color:#fff;border-color:rgba(255,255,255,.65)}
header:not(.scrolled) .menu-btn{color:#fff}
@media(max-width:960px){.nav,.header-cta span{display:none}.menu-btn{display:block}.header-cta{padding:12px}}
/* Hero */
.hero{height:100svh;min-height:640px;display:flex;align-items:flex-end;color:#fff;overflow:hidden}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center 60%;transform:scale(1.04)}
.hero-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,31,51,.45) 0%,rgba(7,31,51,.08) 40%,rgba(7,31,51,.82) 100%)}
.hero-content{position:relative;z-index:2;width:100%;padding-bottom:clamp(56px,9vh,110px)}
.hero-eyebrow{display:flex;align-items:center;gap:16px;font-size:12px;font-weight:600;letter-spacing:.4em;text-transform:uppercase;color:var(--gold-soft)}
.hero-eyebrow::before{content:"";width:56px;height:1px;background:var(--gold)}
.hero h1{font-size:clamp(38px,5.6vw,72px);color:#fff;margin:20px 0 8px;font-weight:500}
.hero h1 em{font-style:italic;color:var(--gold-soft)}
.hero .city{font-family:var(--serif);font-style:italic;font-size:clamp(18px,2vw,24px);color:rgba(255,255,255,.85);letter-spacing:.04em}
.hero .tagline{margin-top:26px;font-weight:300;font-size:17px;color:rgba(255,255,255,.88);max-width:44ch}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:38px}
.hero-photo-tag{position:absolute;right:26px;bottom:24px;z-index:2;color:rgba(255,255,255,.8);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;background:rgba(7,31,51,.4);padding:7px 13px;backdrop-filter:blur(4px)}
/* A Loja */
.loja{padding:clamp(90px,11vw,150px) 0;background:var(--paper)}
.loja-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(36px,5vw,72px);align-items:center}
.loja-collage{position:relative}
.loja-main{border-radius:2px;overflow:hidden}
.loja-main img{width:100%;height:520px;object-fit:cover}
.loja-float{position:absolute;right:-8%;bottom:-56px;width:46%;box-shadow:0 30px 60px rgba(9,43,71,.25);border:6px solid var(--paper);overflow:hidden}
.loja-float img{width:100%;height:250px;object-fit:cover}
.loja-note{margin-top:110px;display:flex;align-items:center;gap:18px;color:var(--muted);font-size:13px;font-style:italic;font-family:var(--serif)}
.loja-note::before{content:"";width:56px;height:1px;background:var(--gold)}
@media(max-width:960px){.loja-grid{grid-template-columns:1fr}.loja-main img{height:380px}.loja-float{right:4%;bottom:-40px}.loja-note{margin-top:80px}}
/* Linhas */
.linhas{padding:0 0 clamp(90px,11vw,150px)}
.linhas-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3vw,44px)}
.linha{position:relative;overflow:hidden;height:clamp(420px,52vw,560px);display:flex;align-items:flex-end;color:#fff;isolation:isolate}
.linha img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.16,1,.3,1);z-index:-1}
.linha:hover img{transform:scale(1.05)}
.linha::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,31,51,0) 30%,rgba(7,31,51,.82) 100%);z-index:-1}
.linha-body{padding:clamp(28px,4vw,48px);width:100%}
.linha-body .idx{font-size:11px;letter-spacing:.34em;color:var(--gold-soft);text-transform:uppercase}
.linha-body h3{font-size:clamp(26px,2.6vw,34px);color:#fff;margin:10px 0 8px}
.linha-body p{font-weight:300;font-size:14.5px;color:rgba(255,255,255,.85);max-width:38ch;margin-bottom:22px}
.linha-body .link-arrow{color:#fff;border-color:var(--gold)}
@media(max-width:760px){.linhas-grid{grid-template-columns:1fr}}
/* Coleção de colchões */
.colecao{padding:clamp(90px,11vw,150px) 0;background:var(--ivory)}
.matt{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,72px);align-items:center;padding:clamp(36px,4vw,56px) 0;border-top:1px solid var(--line)}
.matt:first-of-type{border-top:0;padding-top:0}
.matt.rev .matt-photo{order:2}
.matt-photo{overflow:hidden}
.matt-photo img{width:100%;height:520px;object-fit:cover;transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
.matt-photo:hover img{transform:scale(1.03)}
.matt-body .tag{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);font-weight:600}
.matt-body h3{font-size:clamp(28px,3vw,40px);margin:12px 0 14px}
.matt-body p{color:var(--muted);font-weight:300;font-size:15.5px;max-width:48ch}
.specs{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.spec{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);border:1px solid var(--gold);padding:7px 14px;border-radius:999px}
.matt-caption{margin-top:16px;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.colecao-cta{margin-top:clamp(48px,6vw,72px);display:flex;justify-content:center}
@media(max-width:900px){.matt{grid-template-columns:1fr}.matt.rev .matt-photo{order:0}.matt-photo img{height:400px}}
/* Estofados & decoração */
.estofados{padding:clamp(90px,11vw,150px) 0;background:var(--paper)}
.estofados-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,4vw,56px);margin-bottom:clamp(36px,4vw,56px)}
.estofados-feature{overflow:hidden}
.estofados-feature img{width:100%;height:600px;object-fit:cover;transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
.estofados-feature:hover img{transform:scale(1.03)}
.est-body{display:flex;flex-direction:column;justify-content:center}
.est-items{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.5vw,32px)}
.est-item figure{overflow:hidden;height:280px}
.est-item img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
.est-item:hover img{transform:scale(1.05)}
.est-item h4{font-family:var(--serif);font-size:19px;font-weight:600;color:var(--navy-ink);margin:16px 0 6px}
.est-item p{font-size:13.5px;color:var(--muted);font-weight:300}
.estofados-cta{margin-top:clamp(44px,5vw,64px);display:flex;justify-content:center}
@media(max-width:900px){.estofados-grid{grid-template-columns:1fr}.estofados-feature img{height:420px}.est-items{grid-template-columns:1fr}}
/* Experiência */
.experiencia{height:88vh;min-height:560px;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;overflow:hidden}
.exp-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.03)}
.exp-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,31,51,.55),rgba(7,31,51,.74))}
.exp-content{position:relative;z-index:2;width:min(760px,88%)}
.exp-content .kicker{justify-content:center;color:var(--gold-soft)}
.exp-content .kicker::before{background:var(--gold-soft)}
.exp-content h2{color:#fff;font-size:clamp(30px,4vw,52px)}
.exp-content p{color:rgba(255,255,255,.85);font-weight:300;margin:18px auto 36px;max-width:46ch}
/* Sobre */
.sobre{background:var(--navy-deep);color:#fff;padding:clamp(90px,11vw,150px) 0;overflow:hidden}
.sobre .kicker{color:var(--gold-soft)}
.sobre-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,6vw,90px);align-items:center}
.sobre-logo{background:#fff;padding:clamp(32px,4vw,56px);display:flex;align-items:center;justify-content:center;box-shadow:0 40px 80px rgba(0,0,0,.35)}
.sobre-logo img{width:min(280px,70%)}
.sobre h2{color:#fff}.sobre h2 em{color:var(--gold-soft)}
.sobre p{color:rgba(255,255,255,.78);font-weight:300;font-size:15.5px;max-width:58ch}
.sobre p+p{margin-top:16px}
.sobre-stats{display:flex;gap:clamp(30px,5vw,70px);margin-top:44px;padding-top:36px;border-top:1px solid rgba(255,255,255,.16)}
.stat strong{display:block;font-family:var(--serif);font-size:clamp(32px,3.4vw,44px);font-weight:500;color:var(--gold-soft)}
.stat span{font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.62)}
@media(max-width:900px){.sobre-grid{grid-template-columns:1fr}}
/* Galeria */
.galeria{padding:clamp(90px,11vw,150px) 0;background:var(--paper)}
.mosaic{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:120px;gap:14px}
.mosaic figure{overflow:hidden;position:relative}
.mosaic img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
.mosaic figure:hover img{transform:scale(1.05)}
.m1{grid-column:1/8;grid-row:span 4}
.m2{grid-column:8/13;grid-row:span 2}
.m3{grid-column:8/13;grid-row:span 2}
.m4{grid-column:1/5;grid-row:span 3}
.m5{grid-column:5/9;grid-row:span 3}
.m6{grid-column:9/13;grid-row:span 3}
.mosaic2{display:grid;grid-template-columns:1.4fr 1fr;gap:14px;margin-top:14px}
.mosaic2 figure{overflow:hidden;height:300px}
.mosaic2 img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
.mosaic2 figure:hover img{transform:scale(1.05)}
.g-card{background:var(--navy-deep);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,3vw,44px);height:300px}
.g-card .kicker{color:var(--gold-soft)}
.g-quote{font-family:var(--serif);font-style:italic;font-size:clamp(22px,2.4vw,30px);color:var(--gold-soft);margin-top:16px;line-height:1.35}
.g-sub{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-top:14px}
@media(max-width:760px){
 .m1{grid-column:1/13;grid-row:span 3}
 .m2,.m3{grid-column:1/13;grid-row:span 2}
 .m4,.m5,.m6{grid-column:1/13;grid-row:span 2}
 .mosaic2{grid-template-columns:1fr}.mosaic2 figure,.g-card{height:auto;min-height:220px}
}
/* Localização */
.local{background:var(--ivory);padding:clamp(90px,11vw,150px) 0}
.local-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(36px,5vw,72px);align-items:stretch}
.local-info{display:flex;flex-direction:column;justify-content:center}
.local-item{display:flex;gap:18px;padding:22px 0;border-bottom:1px solid var(--line)}
.local-item:first-of-type{border-top:1px solid var(--line)}
.local-item svg{width:20px;height:20px;color:var(--gold);flex:none;margin-top:4px}
.local-item strong{display:block;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.local-item span{font-size:16px;color:var(--ink)}
.local-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
.map-frame{border:0;width:100%;min-height:460px;filter:grayscale(.85) sepia(.12) contrast(1.02);display:block}
.map-box{box-shadow:0 30px 60px rgba(9,43,71,.14)}
@media(max-width:900px){.local-grid{grid-template-columns:1fr}}
/* CTA final */
.final{background:var(--navy-ink);color:#fff;text-align:center;padding:clamp(110px,14vw,180px) 0;overflow:hidden}
.final-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.18}
.final-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,31,51,.85),rgba(7,31,51,.92))}
.final-content{position:relative;z-index:2;width:min(820px,90%);margin-inline:auto}
.final .kicker{justify-content:center;color:var(--gold-soft)}
.final h2{color:#fff;font-size:clamp(32px,4.4vw,56px)}
.final h2 em{color:var(--gold-soft)}
.final p{color:rgba(255,255,255,.8);font-weight:300;margin:22px auto 42px;max-width:48ch}
.final .btn-wa{padding:22px 44px;font-size:13px}
/* Footer */
footer{background:#06182a;color:rgba(255,255,255,.66);padding:80px 0 0}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:clamp(36px,5vw,72px);padding-bottom:64px}
.foot-logo{background:#fff;display:inline-block;padding:18px 26px}
.foot-logo img{height:38px}
footer h5{font-size:11.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:20px;font-weight:600}
footer p,footer li{font-size:14px;font-weight:300}
footer ul{list-style:none;display:flex;flex-direction:column;gap:12px}
footer a{transition:color .25s}footer a:hover{color:#fff}
.insta-call{display:inline-flex;align-items:center;gap:12px;color:#fff;font-weight:500;font-size:15px}
.insta-call svg{width:22px;height:22px}
.ig-handle{font-family:var(--serif);font-style:italic;font-size:20px;color:var(--gold-soft);display:block;margin-top:6px}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding:26px 0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:12px;color:rgba(255,255,255,.4)}
@media(max-width:860px){.foot-grid{grid-template-columns:1fr}}
/* WhatsApp flutuante */
.wa-float{position:fixed;right:26px;bottom:26px;z-index:95;width:62px;height:62px;border-radius:50%;background:var(--wa);display:flex;align-items:center;justify-content:center;box-shadow:0 14px 34px rgba(37,211,102,.4);transition:transform .25s}
.wa-float:hover{transform:scale(1.08)}
.wa-float svg{width:30px;height:30px;fill:#fff}
.wa-float::after{content:"";position:absolute;inset:-7px;border-radius:50%;border:1.5px solid rgba(37,211,102,.55);animation:pulse 2.4s infinite}
@keyframes pulse{0%{transform:scale(.88);opacity:1}100%{transform:scale(1.3);opacity:0}}
/* Menu mobile */
.mmenu{position:fixed;inset:0;z-index:120;background:rgba(6,24,42,.98);display:none;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.mmenu.open{display:flex}
.mmenu a{color:#fff;font-family:var(--serif);font-size:26px;padding:14px}
.mmenu a:hover{color:var(--gold-soft)}
.mmenu-close{position:absolute;top:24px;right:24px;background:none;border:0;color:#fff;cursor:pointer}
.mmenu-close svg{width:28px;height:28px}


/* ============================================================
   CARROSSEL DE BANNERS — integrado ao design Anjos
   As artes são quadradas (feed): exibidas em 16:9 (desktop) e
   4:3 (celular), com leve enfoque na parte superior da arte.
   ============================================================ */
#banner-slot:empty{display:none}
.banner-carousel{position:relative;width:100%;max-width:900px;margin:96px auto 0;padding:0 20px;z-index:5}
.bnr-frame{position:relative;width:100%;aspect-ratio:16/9;max-height:460px;overflow:hidden;border-radius:6px;background:var(--navy-ink);box-shadow:0 24px 60px rgba(9,43,71,.18)}
.bnr-slide{position:absolute;inset:0;opacity:0;transition:opacity .7s ease;pointer-events:none}
.bnr-slide.is-active{opacity:1;pointer-events:auto}
.bnr-slide img{width:100%;height:100%;object-fit:cover;object-position:center 40%;display:block}
.bnr-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.75);background:rgba(7,31,51,.35);color:#fff;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(6px);transition:background .25s,border-color .25s;cursor:pointer}
.bnr-arrow svg{width:22px;height:22px}
.bnr-arrow:hover{background:rgba(7,31,51,.65);border-color:#fff}
.bnr-prev{left:34px}.bnr-next{right:34px}
.bnr-dots{position:absolute;left:0;right:0;bottom:14px;z-index:3;display:flex;justify-content:center;gap:8px}
.bnr-dot{width:26px;height:4px;border-radius:999px;border:0;background:rgba(255,255,255,.45);transition:background .3s,width .3s;cursor:pointer;padding:0}
.bnr-dot.is-active{background:var(--gold);width:38px}
body.has-banners header{background:rgba(253,251,246,.96);backdrop-filter:blur(12px);padding:12px 0;box-shadow:0 1px 0 var(--line)}
body.has-banners header:not(.scrolled) .nav a{color:var(--ink)}
body.has-banners header:not(.scrolled) .header-cta{color:var(--navy);border-color:var(--navy)}
body.has-banners header:not(.scrolled) .menu-btn{color:var(--navy)}
body.has-banners .logo img{height:36px}
@media(max-width:700px){
  .banner-carousel{margin-top:84px;padding:0 14px;max-width:560px}
  .bnr-frame{aspect-ratio:4/3;max-height:400px}
  .bnr-slide img{object-position:center}
  .bnr-prev{left:16px}.bnr-next{right:16px}
  .bnr-arrow{width:40px;height:40px}
  .bnr-dots{bottom:10px}.bnr-dot{width:20px}.bnr-dot.is-active{width:30px}
}
@media(prefers-reduced-motion:reduce){.bnr-slide{transition:none}}
