:root{
  --bege:#F2E6E2;      /* principal */
  --bege-2:#F8F1EE;
  --champ:#DCC9B8;     /* auxiliar */
  --salvia:#7E8B78;    /* verde sálvia */
  --rosa:#C79A9A;      /* rosa antigo */
  --rosa-d:#B07F7F;
  --cacau:#3A332F;     /* textos */
  --muted:#6f625b;
  --serif:"Playfair Display",Georgia,serif;
  --sans:"Lato",system-ui,sans-serif;
  --w:1240px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:150px}
body{background:var(--bege-2);color:var(--cacau);font:300 17px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12}
h2{font-size:clamp(28px,3.4vw,40px)}
h3{font-size:24px}

/* placeholders — visible until the photo file exists */
.ph{position:relative;background:var(--champ);overflow:hidden}
.ph::before{content:attr(data-ph);position:absolute;inset:10px;display:flex;align-items:center;justify-content:center;text-align:center;
  border:1.5px dashed rgba(58,51,47,.35);color:rgba(58,51,47,.7);font:400 13px/1.4 var(--sans);letter-spacing:.04em;padding:8px}
.ph img{position:relative;z-index:1}

/* top bar */
.topbar{background:var(--champ);text-align:center;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;padding:9px 16px;display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.topbar a{text-decoration:none}
.topbar .sep{opacity:.5}

/* header */
.header{position:sticky;top:0;z-index:20;background:rgba(248,241,238,.96);backdrop-filter:blur(6px);border-bottom:1px solid rgba(58,51,47,.08)}
.header-inner{max-width:var(--w);margin:0 auto;padding:18px 24px 8px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.logo{grid-column:2;text-align:center;text-decoration:none}
.logo-name{display:block;font-family:var(--serif);font-size:44px;letter-spacing:.06em;line-height:1}
.logo-name.small{font-size:26px}
.logo-tag{display:block;font-size:11px;letter-spacing:.3em;text-transform:uppercase;margin-top:6px}
.lang{grid-column:3;justify-self:end;display:flex;gap:4px;font-size:13px;letter-spacing:.08em}
.lang a{text-decoration:none;padding:4px 6px;opacity:.55}
.lang a[aria-current]{opacity:1;border-bottom:1px solid var(--cacau)}
.nav{display:flex;justify-content:center;gap:42px;padding:8px 24px 14px;font-size:14.5px;letter-spacing:.02em}
.nav a{text-decoration:none;padding:4px 0;border-bottom:1px solid transparent;transition:border-color .2s}
.nav a:hover{border-color:var(--rosa)}
.burger{display:none;grid-column:1;background:none;border:0;width:36px;height:36px;cursor:pointer;flex-direction:column;justify-content:center;gap:6px}
.burger span{display:block;height:1.5px;background:var(--cacau);width:24px}

/* buttons / links */
.btn{display:inline-flex;gap:10px;align-items:center;background:var(--cacau);color:#fff;text-decoration:none;padding:15px 30px;font-size:15px;letter-spacing:.02em;transition:background .2s}
.btn:hover{background:#5a4f49}
.btn-ghost{background:none;color:var(--cacau);border:1px solid var(--cacau)}
.btn-ghost:hover{background:var(--cacau);color:#fff}
.link{font-size:15px;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}

/* hero */
.hero{background:#EFE3DE}
.hero-inner{max-width:var(--w);margin:0 auto;padding:40px 24px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:48px;align-items:center}
.hero-text{padding:0}
.hero-looks{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.hero-looks[hidden]{display:none}
.hero-look{display:block;aspect-ratio:3/4;overflow:hidden;background:var(--bege)}
.hero-look img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;transition:transform .5s ease}
.hero-look:hover img{transform:scale(1.03)}
.hero-text>*{max-width:520px}
.kicker{font-size:13px;letter-spacing:.24em;text-transform:uppercase;margin-bottom:18px}
.hero h1{font-size:clamp(36px,4.6vw,60px);margin-bottom:18px}
.lead{font-size:19px;margin-bottom:32px}

/* reassurance */
.assur{max-width:var(--w);margin:0 auto;padding:30px 24px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;border-bottom:1px solid rgba(58,51,47,.1)}
.assur-item{display:flex;gap:16px;align-items:center;justify-content:center;font-size:14px}
.assur-item svg{width:30px;height:30px;fill:none;stroke:var(--rosa-d);stroke-width:1.3;flex:none}
.assur-item strong{display:block;font-weight:400}
.assur-item span,.assur-item a{color:var(--muted)}

/* sections */
.section{max-width:var(--w);margin:0 auto;padding:72px 24px 0}
.sec-head{margin-bottom:32px}
.sec-head p{color:var(--muted);margin-top:6px}
.sec-head.center{text-align:center}
.sec-head.row{display:flex;justify-content:space-between;align-items:flex-end;gap:16px}
.cats,.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.cat .ph,.prod .ph{aspect-ratio:4/5}
figcaption{text-align:center;font-size:15px;padding-top:12px}
.cat .ph img,.prod .ph img{transition:transform .6s}
.cat:hover img,.prod:hover img{transform:scale(1.03)}

/* brand */
.brand{display:grid;grid-template-columns:1fr 1.15fr;gap:0;align-items:stretch}
.brand-text{background:var(--bege);padding:64px 56px;display:flex;flex-direction:column;justify-content:center;gap:18px}
.brand-text p{color:var(--muted);max-width:420px}
.brand-img{min-height:420px}

/* duo */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.duo-card{display:grid;grid-template-columns:1fr 1.3fr;background:var(--bege);text-decoration:none;min-height:300px}
.duo-text{padding:36px 30px;display:flex;flex-direction:column;gap:12px}
.duo-text p{color:var(--muted);font-size:15px}
.duo-card .ph{height:100%}

/* band */
.band{display:grid;grid-template-columns:1fr 1.1fr 1fr;background:var(--bege);min-height:260px}
.band-text{padding:40px;display:flex;flex-direction:column;justify-content:center;gap:16px}
.values{font-family:var(--serif);font-style:italic;color:var(--rosa-d);font-size:18px}

/* shop / map */
.map{height:440px;background:var(--champ)}
.map iframe,.map .ph{width:100%;height:100%;border:0;display:block;filter:grayscale(.35) sepia(.15)}
.shop{padding-bottom:88px}
.shop{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center}
.shop-img{min-height:420px}
.shop-text{display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.shop-text>p{color:var(--muted)}
dl{display:grid;grid-template-columns:auto 1fr;gap:10px 24px;font-size:15.5px}
dt{font-size:12px;letter-spacing:.18em;text-transform:uppercase;padding-top:3px}
.todo{background:#fff3c4;color:#6b5400;padding:0 4px}

/* contact */
.contact{text-align:center;padding-bottom:88px;display:flex;flex-direction:column;align-items:center;gap:18px}
.contact>p{color:var(--muted);max-width:520px}
.follow{font-size:15px}

/* footer */
.footer{background:var(--cacau);color:var(--bege);padding:52px 24px 24px;font-size:14.5px}
.footer-inner{max-width:var(--w);margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:28px}
.footer p{margin-top:8px;opacity:.85}
.footer a{text-decoration:none}
.foot-lang{justify-self:end}
.copy{max-width:var(--w);margin:36px auto 0;padding-top:20px;border-top:1px solid rgba(242,230,226,.15);font-size:12.5px;opacity:.6}

/* responsive */
@media (max-width:900px){
  html{scroll-padding-top:80px}
  .header-inner{padding:12px 16px}
  .logo-name{font-size:28px}
  .logo-tag{font-size:7.5px;letter-spacing:.14em;margin-top:4px;white-space:nowrap}
  .header-inner .lang{gap:0;font-size:12px;letter-spacing:.04em}
  .header-inner .lang a{padding:4px 4px}
  .burger{display:flex}
  .nav{display:none;flex-direction:column;align-items:center;gap:6px;padding:8px 16px 18px}
  .nav.open{display:flex}
  .nav a{font-size:17px;padding:8px}
  .topbar .sep,.topbar span:nth-of-type(n+2),.topbar a{display:none}
  .hero-inner{grid-template-columns:1fr;gap:22px;padding:24px 16px 28px}
  .hero-looks{gap:8px}
  .lead{font-size:17px}
  .assur{grid-template-columns:repeat(3,1fr);gap:8px;padding:24px 12px}
  .assur-item{flex-direction:column;text-align:center;gap:6px;font-size:12px}
  .section{padding:56px 16px 0}
  .cats,.grid4{grid-template-columns:repeat(2,1fr);gap:12px}
  .brand,.shop{grid-template-columns:1fr;gap:0}
  .brand-text{padding:40px 24px;order:2}
  .brand-img,.shop-img{min-height:0;aspect-ratio:4/3}
  .map{height:320px}
  .shop-text{padding-top:28px}
  .duo{grid-template-columns:1fr}
  .duo-card{min-height:220px}
  .band{grid-template-columns:1fr}
  .band .ph{aspect-ratio:3/2}
  .band .ph:last-child{display:none}
  .sec-head.row{flex-direction:column;align-items:flex-start}
  .footer-inner{grid-template-columns:1fr}
  .foot-lang{justify-self:start}
}

/* catalogue */
.looks{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.look{display:block;aspect-ratio:9/16;overflow:hidden;background:var(--champ)}
.look img{transition:transform .6s}
.look:hover img{transform:scale(1.03)}
.looks:not(.all) .look-item:nth-child(n+13){display:none}
.more-wrap{text-align:center;margin-top:32px}
.more-wrap[hidden],.chips[hidden],section[hidden],.nav a[hidden]{display:none}
.look-item{margin:0}
.look-item figcaption{padding-top:10px;font-size:14.5px}
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:-8px 0 28px}
.chip{font:400 14px var(--sans);color:var(--cacau);background:none;border:1px solid rgba(58,51,47,.25);padding:8px 16px;border-radius:999px;cursor:pointer}
.chip:hover{border-color:var(--rosa)}
.chip[aria-pressed="true"]{background:var(--cacau);border-color:var(--cacau);color:#fff}
.more-wrap .btn{cursor:pointer;font-family:inherit}
.lb{padding:28px 24px 64px;max-width:var(--w);margin:0 auto}
.lb[hidden]{display:none}
body.viewing main>:not(#lb){display:none}
.lb-bar{margin-bottom:18px}
.lb-stage{position:relative;display:flex;align-items:center;justify-content:center}
.lb figure{margin:0;text-align:center;max-width:100%;min-width:0}
.lb-photos{display:flex;gap:12px;justify-content:center;overflow-x:auto;scroll-snap-type:x mandatory}
.lb-photos img{width:auto;height:auto;max-height:calc(100vh - 300px);min-height:min(420px,70vh);max-width:100%;object-fit:contain;scroll-snap-align:center;flex:none}
.lb-photos.n2 img{max-width:44%}
.lb-photos.n3 img{max-width:31%}
.look{position:relative}
.nphotos{position:absolute;right:8px;bottom:8px;background:rgba(248,241,238,.92);color:var(--cacau);font-size:12px;padding:3px 8px 3px 22px;border-radius:999px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233A332F' stroke-width='1.6'%3E%3Crect x='7' y='3' width='13' height='15' rx='1.5'/%3E%3Cpath d='M4 7v12.5A1.5 1.5 0 0 0 5.5 21H16'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:13px;background-position:6px center}
.lb-cap{color:var(--cacau);font-size:15px;margin-top:14px;min-height:1em}
.lb button{background:none;border:0;color:var(--cacau);cursor:pointer;font-family:inherit}
.lb-close{font:400 15px var(--sans);padding:8px 0;letter-spacing:.02em}
.lb-close:hover{color:var(--rosa-d)}
.lb-nav{font-size:44px;line-height:1;padding:12px 14px;flex:none}
.lb-nav:hover{color:var(--rosa-d)}
@media (max-width:900px){
  .looks{grid-template-columns:repeat(2,1fr);gap:10px}
  .looks:not(.all) .look-item:nth-child(n+7){display:none}
  .lb{padding:16px 16px 48px}
  .lb-photos{justify-content:flex-start}
  .lb-photos img{min-height:0;max-height:70vh}
  .lb-photos.n2 img,.lb-photos.n3 img{max-width:86%}
  .lb-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;background:rgba(248,241,238,.85)!important;border-radius:999px;font-size:30px;padding:4px 12px}
  .lb-prev{left:0}.lb-next{right:0}
}

/* tags */
.tags{position:absolute;bottom:8px;left:8px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;z-index:2}
.tag{font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:4px 9px;line-height:1.2}
.tag-new{background:var(--bege);color:var(--cacau)}
.tag-sale{background:var(--rosa);color:#fff}
.tag-sold{background:var(--cacau);color:#fff}
.is-sold .look img{opacity:.55;filter:grayscale(.3)}
.chip-sale{border-color:var(--rosa);color:var(--rosa-d)}
.chip-sale[aria-pressed="true"]{background:var(--rosa);border-color:var(--rosa);color:#fff}
@media (max-width:380px){.logo-name{font-size:23px}.logo-tag{font-size:6.5px;letter-spacing:.12em}}
