
:root{
  --espresso-950:#211710; --espresso-900:#2c1f16; --espresso-800:#3a2a1e; --espresso-700:#4a3527;
  --cream-050:#fbf8f3; --cream-100:#f4ede1; --cream-200:#e8dcc7;
  --gold:#a9814c; --gold-600:#8f6c3c; --gold-200:#e3cfa9;
  --bg:var(--cream-050); --surface:var(--cream-100); --surface-2:var(--cream-200);
  --text:#2a1f16; --text-muted:#7a6a56; --line:#e0d3bd;
  --accent:var(--gold);
  --shadow:0 1px 2px rgba(42,31,22,.06),0 12px 28px -14px rgba(42,31,22,.26);
  --font-display:Georgia,'Iowan Old Style','Palatino Linotype','Book Antiqua',serif;
  --font-body:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  --font-mono:'SF Mono','Cascadia Code',Consolas,'Roboto Mono',monospace;
}
:root[data-theme="dark"]{
  --bg:var(--espresso-950); --surface:var(--espresso-900); --surface-2:var(--espresso-800);
  --text:#f1e6d6; --text-muted:#b8a68c; --line:#4a3527;
  --shadow:0 1px 2px rgba(0,0,0,.35),0 20px 40px -18px rgba(0,0,0,.65);
}
:root[data-theme="light"]{
  --bg:var(--cream-050); --surface:var(--cream-100); --surface-2:var(--cream-200);
  --text:#2a1f16; --text-muted:#7a6a56; --line:#e0d3bd;
  --shadow:0 1px 2px rgba(42,31,22,.06),0 12px 28px -14px rgba(42,31,22,.26);
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{background:var(--bg); color:var(--text); font-family:var(--font-body); -webkit-font-smoothing:antialiased; overflow-x:hidden;}
a{color:inherit;}
.wrap{max-width:1220px;margin:0 auto;padding:0 clamp(18px,4vw,48px);}

/* HERO */
.hero{position:relative; height:62vh; min-height:440px; display:flex; align-items:flex-end; overflow:hidden; background:var(--espresso-950);}
@media (max-width:720px){ .hero{height:72vh;} }
.hero video{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.75;}
.hero::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(15,10,6,.2) 0%,rgba(15,10,6,.4) 55%,rgba(12,8,5,.94) 100%);}
.hero-content{position:relative; z-index:2; width:100%; padding:0 0 clamp(40px,6vw,76px);}
.brandmark{display:flex; align-items:center; gap:14px; margin-bottom:28px;}
.brandmark .sq{width:64px; height:64px; border-radius:5px; background:#faf5ec; display:flex; align-items:center; justify-content:center; padding:7px; box-shadow:0 3px 14px rgba(0,0,0,.28); flex:none;}
.brandmark .sq img{width:100%; height:100%; object-fit:contain; display:block;}
.brandmark .word{font-family:var(--font-display); font-size:15px; letter-spacing:.22em; color:#f6ecdc;}
.hero h1{font-family:var(--font-display); font-weight:400; text-wrap:balance; color:#f9f2e5; font-size:clamp(34px,6vw,66px); line-height:1.06; letter-spacing:-.01em; margin:0 0 18px; max-width:15ch;}
.hero h1 em{font-style:italic; color:var(--gold-200);}
.hero .lede{font-size:16.5px; line-height:1.6; color:#d9c9ac; max-width:46ch; margin:0 0 28px;}
.tagline{font-family:var(--font-mono); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-200);}
.scrollcue{display:inline-flex; align-items:center; gap:10px; color:#d9c9ac; font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase;}
.scrollcue .arrow{animation:bob 1.8s ease-in-out infinite;}
.hero-cta-row{display:flex; align-items:center; gap:22px; flex-wrap:wrap; margin-top:26px;}
.hero-dots{position:absolute; right:22px; bottom:22px; z-index:3; display:flex; gap:8px;}
.hero-dots button{width:22px; height:3px; border:none; background:rgba(246,236,220,.35); cursor:pointer; padding:0; transition:background .2s ease;}
.hero-dots button.active{background:#f6ecdc;}

.floating-cta{
  position:fixed; right:22px; bottom:26px; z-index:40;
  display:flex; align-items:center; gap:9px;
  background:var(--gold); color:#fff; text-decoration:none;
  padding:13px 18px 13px 15px; border-radius:999px;
  box-shadow:0 10px 26px -8px rgba(0,0,0,.45);
  font-family:var(--font-mono); font-size:12px; letter-spacing:.04em;
  opacity:0; transform:translateY(14px) scale(.92); pointer-events:none;
  transition:opacity .3s ease, transform .3s ease, background .18s ease;
}
.floating-cta.show{opacity:1; transform:translateY(0) scale(1); pointer-events:auto;}
.floating-cta:hover{background:var(--gold-600);}
.floating-cta svg{flex:none;}
@media (max-width:540px){ .floating-cta .floating-lbl{display:none;} .floating-cta{padding:14px; right:16px; bottom:18px;} }
@keyframes bob{0%,100%{transform:translateY(0);} 50%{transform:translateY(5px);}}

.thread{height:1px; width:100%; background-image:repeating-linear-gradient(90deg,var(--line) 0 10px,transparent 10px 18px);}

/* AMBIENTES */
.origin-line{font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--text-muted); text-align:center; padding:22px 0 0;}
.how-it-works{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(20px,4vw,40px); padding:26px 0 8px;}
@media (max-width:720px){ .how-it-works{grid-template-columns:1fr; gap:26px;} }
.hiw-step{display:flex; flex-direction:column; gap:8px;}
.hiw-num{font-family:var(--font-display); font-style:italic; font-size:30px; color:var(--gold); line-height:1;}
.hiw-step h3{font-family:var(--font-display); font-weight:400; font-size:19px; margin:0;}
.hiw-step p{color:var(--text-muted); font-size:13.5px; line-height:1.55; margin:0; max-width:34ch;}
.section-head{padding:clamp(48px,6vw,72px) 0 20px;}
.eyebrow{font-family:var(--font-mono); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); display:flex; align-items:center; gap:10px; margin:0 0 16px;}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--gold);display:inline-block;}
.section-head h2{font-family:var(--font-display); font-weight:400; font-size:clamp(26px,3.4vw,38px); margin:0 0 10px; text-wrap:balance;}
.section-head p{color:var(--text-muted); font-size:14.5px; max-width:56ch; margin:0; line-height:1.6;}
.ambiente-note{font-family:var(--font-mono); font-size:10.5px; color:var(--text-muted); letter-spacing:.03em; margin-top:10px;}

.ambientes{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; padding:8px 0 8px;}
@media (max-width:900px){ .ambientes{grid-template-columns:repeat(2,1fr);} }
@media (max-width:540px){ .ambientes{grid-template-columns:repeat(2,1fr); gap:10px;} }
.amb-card{position:relative; border-radius:2px; overflow:hidden; cursor:pointer; aspect-ratio:4/5; box-shadow:var(--shadow);}
.amb-card img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease;}
.amb-card:hover img{transform:scale(1.06);}
.amb-card .veil{position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(15,10,6,.88) 100%);}
.amb-card .lbl{position:absolute; left:20px; right:20px; bottom:22px; color:#f6ecdc; font-family:var(--font-display); font-style:italic; font-size:clamp(22px,2.6vw,32px);}

/* FILTERS */
.filters{display:flex; flex-wrap:wrap; gap:10px; padding:32px 0 8px; align-items:center;}
.chip{font-family:var(--font-mono); font-size:12px; letter-spacing:.04em; padding:12px 16px 12px 14px; border-radius:3px; border:1px solid var(--line); background:var(--surface); color:var(--text-muted); cursor:pointer; display:inline-flex; align-items:center; gap:7px; transition:border-color .18s ease, color .18s ease, background .18s ease;}
.chip::before{content:""; width:6px; height:6px; border-radius:50%; background:var(--line); transition:background .18s ease;}
.chip:hover{color:var(--text); border-color:var(--gold);}
.chip.active{color:#fff; background:var(--gold); border-color:var(--gold);}
.chip.active::before{background:#fff;}
.count{font-family:var(--font-mono); font-size:11px; color:var(--text-muted); margin-left:auto; letter-spacing:.04em;}

/* WALL */
.wall{display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(10px,1.6vw,18px); grid-auto-flow:dense; padding:20px 0 40px;}
@media (max-width:900px){ .wall{grid-template-columns:repeat(2,1fr);} }
@media (max-width:540px){ .wall{grid-template-columns:1fr; gap:16px;} }
.card{position:relative; border-radius:2px; overflow:hidden; background:var(--surface-2); box-shadow:var(--shadow); cursor:pointer; opacity:0; transform:translateY(20px); transition:opacity .55s ease, transform .55s ease;}
.card.in{opacity:1; transform:translateY(0);}
.card.hide{display:none;}
.card.tall{grid-row:span 2;}
.card .frame{position:relative; width:100%; height:100%; overflow:hidden;}
.card img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .7s cubic-bezier(.2,.8,.2,1); transform:scale(1.03);}
.card:hover img{transform:scale(1.1);}
.card .veil{position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(15,10,6,.82) 100%); opacity:.68; transition:opacity .3s ease;}
.card:hover .veil{opacity:.88;}
.card .code{position:absolute; top:10px; left:10px; font-family:var(--font-mono); font-size:10px; letter-spacing:.05em; color:#f6ecdc; background:rgba(15,10,6,.4); padding:3px 7px; border-radius:2px;}
.card .tag{position:absolute; left:14px; right:14px; bottom:12px; color:#f6ecdc; transform:translateY(6px); transition:transform .3s ease;}
.card:hover .tag{transform:translateY(0);}
.card .tag .nome{font-family:var(--font-display); font-style:italic; font-size:19px; line-height:1.1;}
.card .tag .preco{font-family:var(--font-mono); font-size:10.5px; letter-spacing:.03em; color:var(--gold-200); margin-top:4px;}
.card .tag .cores{display:flex; align-items:center; gap:5px; margin-top:7px;}
.card .tag .cores .dot{width:14px; height:14px; border-radius:50%; overflow:hidden; border:1px solid rgba(246,236,220,.6); flex:none;}
.card .tag .cores .dot img{width:100%; height:100%; object-fit:cover; display:block;}
.card .tag .cores .mais{font-family:var(--font-mono); font-size:9.5px; color:#f6ecdc; opacity:.85; margin-left:2px;}

/* EDITORIAL BREAK */
.brk{grid-column:1/-1; background:var(--surface); border:1px solid var(--line); border-radius:2px; padding:clamp(26px,4vw,42px) clamp(22px,4vw,48px); display:flex; align-items:center; opacity:0; transform:translateY(20px); transition:opacity .55s ease, transform .55s ease;}
.brk.in{opacity:1; transform:translateY(0);}
.brk blockquote{margin:0; font-family:var(--font-display); font-style:italic; font-size:clamp(19px,2.4vw,26px); line-height:1.35; color:var(--text); text-wrap:balance; max-width:36ch;}
.brk cite{display:block; font-family:var(--font-mono); font-style:normal; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--gold); margin-top:14px;}

/* INSPIRACOES */
.inspira{padding:clamp(56px,7vw,88px) 0 clamp(40px,6vw,64px); background:var(--surface-2);}
.inspira .eyebrow{color:var(--gold);}
.inspira .eyebrow::before{background:var(--gold);}
.inspira-title{font-family:var(--font-display); font-weight:400; font-size:clamp(28px,4vw,44px); color:var(--text); margin:0 0 14px; text-wrap:balance; max-width:20ch;}
.section-head-p{color:var(--text-muted); font-size:14.5px; max-width:56ch; margin:0 0 clamp(28px,4vw,44px); line-height:1.6;}
.inspira-grid{display:grid; grid-template-columns:repeat(6,1fr); grid-auto-rows:120px; gap:10px; padding:0 clamp(18px,4vw,48px);}
.insp-card{position:relative; overflow:hidden; border-radius:2px; cursor:default;}
.insp-card img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease;}
.insp-card:hover img{transform:scale(1.05);}
.insp-card .veil{position:absolute; inset:0; background:linear-gradient(180deg,transparent 50%,rgba(10,7,4,.85) 100%);}
.insp-card .lbl{position:absolute; left:18px; right:18px; bottom:16px; color:#f6ecdc; font-family:var(--font-display); font-style:italic; font-size:clamp(17px,1.6vw,22px);}
.insp-card:nth-child(1){grid-column:1/4; grid-row:1/5;}
.insp-card:nth-child(2){grid-column:4/7; grid-row:1/3;}
.insp-card:nth-child(3){grid-column:4/6; grid-row:3/5;}
.insp-card:nth-child(4){grid-column:6/7; grid-row:3/5;}
.insp-card:nth-child(5){grid-column:1/3; grid-row:5/8;}
.insp-card:nth-child(6){grid-column:3/7; grid-row:5/8;}
@media (max-width:820px){
  .inspira-grid{grid-template-columns:repeat(2,1fr); grid-auto-rows:180px;}
  .insp-card:nth-child(1){grid-column:1/3; grid-row:1/3;}
  .insp-card:nth-child(2){grid-column:1/2; grid-row:3/4;}
  .insp-card:nth-child(3){grid-column:2/3; grid-row:3/4;}
  .insp-card:nth-child(4){grid-column:1/2; grid-row:4/5;}
  .insp-card:nth-child(5){grid-column:2/3; grid-row:4/5;}
  .insp-card:nth-child(6){grid-column:1/3; grid-row:5/7;}
}
.inspira-note{font-family:var(--font-mono); font-size:10px; color:var(--text-muted); margin:18px 0 0; opacity:.7;}
.inspira .inspira-note{color:var(--text-muted);}

/* CECILIA */
.cecilia{padding:clamp(48px,7vw,80px) 0;}
.cecilia-lede{color:var(--text-muted); font-size:15px; line-height:1.65; max-width:52ch; margin:0 0 clamp(28px,4vw,40px);}
.cecilia-note{font-family:var(--font-mono); font-size:10px; color:var(--text-muted); opacity:.7; margin:18px 0 0;}
.cecilia-grid{display:grid; grid-template-columns:repeat(7,1fr); gap:10px; padding:0 clamp(18px,4vw,48px); margin-top:clamp(28px,4vw,40px);}
.cec-card{position:relative; overflow:hidden; border-radius:2px; aspect-ratio:3/4;}
.cec-card img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease;}
.cec-card:hover img{transform:scale(1.05);}
.cec-card .veil{position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(15,10,6,.8) 100%);}
.cec-card .lbl{position:absolute; left:12px; right:12px; bottom:11px; color:#f6ecdc; font-family:var(--font-mono); font-size:9.5px; letter-spacing:.03em; text-transform:uppercase;}
.cec-card:nth-child(2n){transform:translateY(22px);}
@media (max-width:900px){
  .cecilia-grid{grid-template-columns:repeat(3,1fr); grid-auto-rows:160px;}
  .cec-card{aspect-ratio:auto;}
  .cec-card:nth-child(2n){transform:none;}
}
@media (max-width:540px){ .cecilia-grid{grid-template-columns:repeat(2,1fr);} }

/* STORIES */
.stories{padding:clamp(48px,7vw,80px) 0;}
.stories-row{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(16px,2.4vw,26px); margin-top:clamp(24px,4vw,36px);}
@media (max-width:820px){ .stories-row{grid-template-columns:1fr; max-width:520px;} }
.story-card{display:flex; flex-direction:column; gap:14px;}
.story-img{position:relative; aspect-ratio:4/3; overflow:hidden; border-radius:2px; box-shadow:var(--shadow);}
.story-img img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease;}
.story-card:hover .story-img img{transform:scale(1.05);}
.story-tag{font-family:var(--font-mono); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--gold);}
.story-card h3{font-family:var(--font-display); font-weight:400; font-size:20px; margin:0; text-wrap:balance;}
.story-card p{color:var(--text-muted); font-size:13.5px; line-height:1.6; margin:0;}

/* FOOTER */
footer.cta{padding:56px 0 80px; border-top:1px solid var(--line); margin-top:10px;}
.cta-inner{display:flex; flex-wrap:wrap; gap:24px 40px; align-items:flex-end; justify-content:space-between;}
.cta h2{font-family:var(--font-display); font-weight:400; font-size:clamp(24px,3vw,32px); margin:0 0 8px; text-wrap:balance;}
.cta p{color:var(--text-muted); margin:0; max-width:42ch; font-size:14.5px;}
.cta p + p{margin-top:14px;}
.cta-quote{font-family:var(--font-display); font-style:italic; color:var(--text) !important; font-size:17px !important; line-height:1.4; text-wrap:balance;}
.btn{font-family:var(--font-mono); font-size:12.5px; letter-spacing:.05em; text-transform:uppercase; background:var(--gold); color:#fff; border:none; padding:14px 22px; border-radius:2px; cursor:pointer; white-space:nowrap; text-decoration:none; display:inline-block; transition:background .18s ease, transform .18s ease;}
.btn:hover{background:var(--gold-600); transform:translateY(-1px);}

/* LEGAL FOOTER */
footer.legal{border-top:1px solid var(--line); padding:22px 0 34px;}
.legal-inner{display:flex; flex-direction:column; gap:12px; font-family:var(--font-mono); font-size:11px; color:var(--text-muted);}
.legal-brand{display:flex; gap:14px; flex-wrap:wrap; letter-spacing:.03em;}
.legal-brand span:first-child{color:var(--text);}
.legal-policy summary{cursor:pointer; color:var(--text-muted); list-style:none;}
.legal-policy summary::-webkit-details-marker{display:none;}
.legal-policy summary::before{content:"+ "; color:var(--gold);}
.legal-policy[open] summary::before{content:"– ";}
.legal-policy-body{margin-top:10px; max-width:60ch; line-height:1.6; font-family:var(--font-body); font-size:12.5px;}
.legal-policy-body p{margin:0 0 10px;}
.legal-copy{opacity:.7;}
.legal-social{display:flex; gap:12px;}
.legal-social a{display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%; border:1px solid var(--line); color:var(--text-muted); transition:color .18s ease, border-color .18s ease;}
.legal-social a:hover{color:var(--gold); border-color:var(--gold);}

/* LIGHTBOX */
.lightbox{position:fixed; inset:0; background:rgba(10,7,4,.86); backdrop-filter:blur(2px); display:flex; align-items:center; justify-content:center; padding:24px; z-index:50; opacity:0; pointer-events:none; transition:opacity .25s ease;}
.lightbox.open{opacity:1; pointer-events:auto;}
.lightbox .panel{background:var(--surface); max-width:920px; width:100%; max-height:88vh; display:grid; grid-template-columns:1.3fr 1fr; overflow:hidden; border-radius:3px; box-shadow:0 30px 70px -20px rgba(0,0,0,.6); transform:scale(.96); transition:transform .25s ease;}
.lightbox.open .panel{transform:scale(1);}
@media (max-width:720px){ .lightbox .panel{grid-template-columns:1fr; max-height:92vh; overflow-y:auto;} }
.lightbox .imgwrap{background:var(--espresso-950); max-height:88vh; overflow:hidden;}
.lightbox .imgwrap img{width:100%; height:100%; object-fit:cover; display:block;}
.lightbox .info{padding:34px 32px; display:flex; flex-direction:column; gap:14px;}
.lightbox .info .marca{font-family:var(--font-mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold);}
.lightbox .info h3{font-family:var(--font-display); font-style:italic; font-size:32px; font-weight:400; margin:0;}
.swatches{display:flex; flex-wrap:wrap; gap:8px;}
.swatches:empty{display:none;}
.swatch{border:1px solid var(--line); border-radius:2px; overflow:hidden; width:52px; height:52px; cursor:pointer; padding:0; background:none; position:relative;}
.swatch img{width:100%; height:100%; object-fit:cover; display:block;}
.swatch.active{border-color:var(--gold); border-width:2px;}
.swatch .lbl{position:absolute; left:0; right:0; bottom:0; font-family:var(--font-mono); font-size:8px; color:#fff; background:rgba(15,10,6,.6); padding:1px 2px; text-align:center; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.card .colorcount{position:absolute; top:10px; right:10px; font-family:var(--font-mono); font-size:10px; letter-spacing:.03em; color:#f6ecdc; background:rgba(15,10,6,.4); padding:3px 7px; border-radius:2px;}
.lightbox .specs{font-family:var(--font-mono); font-size:12.5px; color:var(--text-muted); display:flex; flex-direction:column; gap:6px; padding:14px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.lightbox .specs span b{color:var(--text); font-weight:400;}
.lightbox .close{position:absolute; top:16px; right:16px; width:40px; height:40px; border-radius:50%; background:rgba(15,10,6,.5); color:#f6ecdc; border:none; cursor:pointer; font-size:18px; line-height:1; display:flex; align-items:center; justify-content:center;}
.amb-lightbox-note{font-family:var(--font-mono); font-size:10px; color:var(--text-muted); margin-top:auto;}

@media (prefers-reduced-motion: reduce){
  .card,.card img,.card .veil,.card .tag,.btn,.lightbox,.lightbox .panel,.scrollcue .arrow,.brk,.amb-card img{transition:none !important; animation:none !important;}
  .card,.brk{opacity:1; transform:none;}
}
