:root{--ink:#2f2550;--ink2:#1d1733;--plaster:#f7f4ef;--paper:#fffdf9;--terra:#9c3f26;--terra-l:#e7c3b4;--cactus:#3f5b3c;--line:#d9d2e3;--mute:#5d5670;--disp:'Italiana',Didot,'Bodoni 72',serif;--body:'Jost',system-ui,sans-serif}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--body);font-weight:400;color:var(--ink2);background:var(--plaster);line-height:1.55;font-size:1rem;padding-bottom:64px;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.6rem 1rem;z-index:99}.skip:focus{left:0}
:focus-visible{outline:2px solid var(--terra);outline-offset:3px}
em{font-style:italic;font-family:var(--disp)}
.kicker{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--terra);font-weight:500}
.num{font-family:var(--disp);font-size:1rem;color:var(--terra);letter-spacing:.1em}
h1,h2,h3{font-family:var(--disp);font-weight:400;line-height:1;color:var(--ink)}
h2{font-size:clamp(2.6rem,9vw,5.4rem);letter-spacing:-.01em}
h2 em,h1 em{color:var(--terra)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.8rem 1.5rem;font:500 .82rem/1 var(--body);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;border:1px solid var(--ink);cursor:pointer;transition:background .25s,color .25s}
.btn-ink{background:var(--ink);color:var(--paper)}.btn-ink:hover{background:var(--terra);border-color:var(--terra)}
.btn-line{background:transparent;color:var(--ink)}.btn-line:hover{background:var(--ink);color:var(--paper)}
.small-link{display:inline-block;margin-top:1rem;font-size:.85rem;letter-spacing:.08em;color:var(--ink);padding:.3rem 0}
.note{font-size:.82rem;color:var(--mute)}

/* header */
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1.1rem;background:rgba(247,244,239,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.mark{font-family:var(--disp);font-size:1.35rem;text-decoration:none;color:var(--ink);letter-spacing:.02em;display:flex;align-items:baseline;gap:.3rem}
.mark small{font-family:var(--body);font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--terra)}
.top nav{display:none}
.top-cta{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--terra);padding:.5rem 0;color:var(--ink)}

/* hero */
.hero{display:grid;grid-template-columns:1fr;position:relative;padding:1.6rem 1.1rem 2.4rem;gap:1.4rem}
.hero h1{font-size:clamp(4.2rem,22vw,10.5rem);line-height:.86;margin:.8rem 0 1rem;letter-spacing:-.02em}
.hero h1 span{display:block}.hero h1 .l2{padding-left:.6em}
.hero h1 em{font-size:.3em;display:block;letter-spacing:.3em;text-transform:lowercase;padding-left:3.4em;margin-top:.5em;line-height:1}
.lede{max-width:34ch;font-size:1.05rem;color:var(--mute)}
.hero-ctas{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.5rem}
.hero-ctas .btn{flex:1 1 200px}
.hero-main{position:relative}
.hero-main img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%}
figcaption{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-top:.5rem}
.hero-look{width:52%;margin:-30% 0 0 auto;position:relative;border:8px solid var(--plaster);background:var(--plaster)}
.hero-look img{aspect-ratio:4/5;object-fit:cover}
@media (prefers-reduced-motion:no-preference){.hero-main img{animation:rise 1.2s cubic-bezier(.2,.7,.2,1) both}.hero-look{animation:rise 1.2s .25s cubic-bezier(.2,.7,.2,1) both}.hero h1 span{animation:rise .9s both}.hero h1 .l2{animation-delay:.12s}}
@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}

/* ribbon */
.ribbon{background:var(--ink);color:var(--paper);overflow:hidden;padding:.9rem 0;border-block:1px solid var(--ink2)}
.ribbon-track{display:flex;gap:2.4rem;width:max-content;font-family:var(--disp);font-size:1.5rem;letter-spacing:.06em}
.ribbon-track span::after{content:"✦";font-size:.7rem;margin-left:2.4rem;color:var(--terra-l);vertical-align:middle}
@media (prefers-reduced-motion:no-preference){.ribbon-track{animation:slide 38s linear infinite}}
@keyframes slide{to{transform:translateX(-50%)}}

/* sections */
section{padding:4rem 1.1rem}
.sec-head{max-width:640px;margin-bottom:2rem}
.sec-head p:last-child{color:var(--mute);margin-top:1rem}
.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.6rem}
.chip{font:500 .78rem/1 var(--body);letter-spacing:.14em;text-transform:uppercase;padding:.75rem 1.1rem;min-height:44px;border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;border-radius:999px}
.chip.is-on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.looks{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.look[hidden]{display:none}
.look-open{all:unset;cursor:pointer;display:block;position:relative;width:100%}
.look-open:focus-visible{outline:2px solid var(--terra);outline-offset:3px}
.look img{width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .6s}
.look-open:hover img{transform:scale(1.02)}
.look:first-child{grid-column:1/-1}
.look:first-child img{aspect-ratio:4/5}
.cap{display:flex;flex-direction:column;padding:.55rem 0 0}
.cap b{font-family:var(--disp);font-weight:400;font-size:1.2rem;color:var(--ink);line-height:1.1}
.cap i{font-style:normal;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.empty{color:var(--mute)}
.rv{opacity:0;transform:translateY(18px);transition:opacity .7s,transform .7s}.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}}

.bag{margin-top:2.4rem;padding:1.4rem;background:var(--paper);border:1px solid var(--line);display:grid;gap:1rem}
.bag-t{font-family:var(--disp);font-size:1.6rem;color:var(--ink)}
.bag-n{font-size:.9rem;color:var(--mute)}
#bag-list{list-style:none;padding:0;margin-top:.6rem;display:grid;gap:.4rem}
#bag-list li{display:flex;justify-content:space-between;align-items:center;gap:.6rem;border-bottom:1px solid var(--line);padding:.3rem 0;font-size:.95rem}
#bag-list button{background:none;border:0;color:var(--terra);font:500 .75rem var(--body);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;min-height:40px;padding:0 .4rem}

/* viewer */
.viewer{border:0;padding:0;max-width:100vw;max-height:100dvh;width:100vw;height:100dvh;background:var(--plaster);color:var(--ink2)}
.viewer::backdrop{background:rgba(29,23,51,.6)}
.viewer-in{display:grid;grid-template-rows:auto 1fr;height:100%;overflow:auto;position:relative}
.viewer-in>img{width:100%;max-height:62dvh;object-fit:contain;background:#ece6dd}
.viewer-txt{padding:1.3rem 1.1rem 2rem}
.viewer-txt h3{font-size:2.2rem;margin:.4rem 0 .6rem}
.viewer-txt .note{margin:.8rem 0}
.viewer-ctas{display:grid;gap:.6rem}
.viewer-x{position:absolute;top:.6rem;right:.6rem;width:48px;height:48px;border-radius:50%;border:0;background:var(--ink);color:var(--paper);font-size:1.6rem;cursor:pointer;line-height:1}

/* colecao */
.colecao{background:var(--ink);color:var(--paper)}
.colecao h2,.colecao .num{color:var(--paper)}.colecao h2 em{color:var(--terra-l)}
.colecao .sec-head p:last-child{color:#d8d1e6}
.cats{list-style:none;padding:0;display:grid;gap:0}
.cats li{border-top:1px solid rgba(255,255,255,.22);padding:1.6rem 0;display:grid;gap:.5rem}
.cat-n{font-family:var(--disp);color:var(--terra-l);font-size:1rem}
.cats h3{color:var(--paper);font-size:2.6rem}
.cats p{color:#d8d1e6;max-width:46ch}
.cats a{justify-self:start;color:var(--paper);font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--terra-l);padding:.6rem 0}

/* consulta */
.consulta{display:grid;gap:2rem;background:var(--paper)}
.consulta-intro p:not(.num){color:var(--mute);margin:1rem 0;max-width:42ch}
.consulta-intro img{display:none}
form{display:grid;gap:1.1rem;max-width:560px}
.f{display:grid;gap:.4rem;border:0;padding:0}
label,legend{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);font-weight:500}
input,select,textarea{font:400 1rem var(--body);color:var(--ink2);background:var(--plaster);border:1px solid #b9b0c8;padding:.8rem;width:100%;min-height:48px;border-radius:0}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.5rem}
.opts label{display:flex;align-items:center;gap:.5rem;text-transform:none;letter-spacing:0;font-size:1rem;font-weight:400;border:1px solid var(--line);padding:.7rem;min-height:48px;cursor:pointer;background:var(--plaster)}
.opts input{width:20px;min-height:0;height:20px;accent-color:var(--ink)}
.err{color:var(--terra);font-size:.85rem}
[aria-invalid=true]{border-color:var(--terra)}
.resumo{display:grid;gap:.6rem;padding-top:1rem;border-top:1px solid var(--line)}
.resumo[hidden]{display:none}

/* loja */
.loja{display:grid;gap:2rem}
.loja-faixa img{width:100%}
.loja-txt p:not(.num){margin-top:1rem;max-width:56ch}
.rep{border-left:2px solid var(--terra);padding-left:1.2rem;display:grid;gap:1.1rem}
.rep-score{display:flex;align-items:baseline;gap:.8rem}
.rep-score b{font-family:var(--disp);font-weight:400;font-size:3.4rem;color:var(--ink)}
.rep-score span{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
blockquote p{font-family:var(--disp);font-size:1.35rem;line-height:1.3;color:var(--ink)}
cite{font-style:normal;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}

/* visita */
.visita{border-top:1px solid var(--line)}
.visita-grid{display:grid;gap:1.8rem;margin:2rem 0}
.visita h3{font-family:var(--body);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--terra);font-weight:500;margin-bottom:.6rem}
.visita-grid a{font-size:1.15rem;text-decoration-color:var(--terra);text-underline-offset:4px;display:inline-block;padding:.15rem 0}
.hours{display:grid;grid-template-columns:auto 1fr;gap:.3rem 1.2rem;font-size:1.05rem}
.hours dt{color:var(--mute)}

.foot{background:var(--ink2);color:#e8e3f0;padding:3rem 1.1rem 2rem;display:grid;gap:.8rem;font-size:.9rem}
.foot-mark{font-family:var(--disp);font-size:2.2rem;color:var(--paper)}.foot-mark em{color:var(--terra-l)}
.foot a{color:#fff;display:inline-block;padding:.2rem 0}
.sig{font-size:.8rem;letter-spacing:.1em;color:#cfc7dd;margin-top:1rem}

.mbar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:1fr 1fr 1.2fr;background:var(--ink2);border-top:1px solid #3f3560}
.mbar a{display:flex;align-items:center;justify-content:center;min-height:56px;color:var(--paper);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;text-align:center;padding:0 .3rem}
.mbar .mbar-wa{background:var(--terra)}

@media (min-width:700px){
 .looks{grid-template-columns:repeat(6,1fr);gap:1.4rem}
 .look{grid-column:span 2}
 .look:first-child{grid-column:1/4;grid-row:span 2}
 .look.tall{grid-column:4/7}
 .look.wide{grid-column:span 2}
 .look:nth-child(2) img{aspect-ratio:4/3}
 .cats{grid-template-columns:1fr 1fr;column-gap:3rem}
 .visita-grid{grid-template-columns:repeat(3,1fr)}
 .bag{grid-template-columns:1fr auto;align-items:end}
 .viewer{width:min(1100px,94vw);height:auto;max-height:90vh}
 .viewer-in{grid-template-columns:1.1fr 1fr;grid-template-rows:none}
 .viewer-in>img{max-height:90vh;height:100%}
 .viewer-txt{padding:3rem 2.4rem;align-self:center}
}
@media (min-width:1000px){
 body{padding-bottom:0}
 .mbar{display:none}
 .top{padding:1rem 3rem}
 .top nav{display:flex;gap:2rem}
 .top nav a{text-decoration:none;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;padding:.4rem 0}
 .top nav a:hover{color:var(--terra)}
 section{padding:7rem 3rem}
 .hero{grid-template-columns:repeat(12,1fr);padding:3rem 3rem 5rem;gap:0;align-items:end;min-height:calc(100vh - 70px)}
 .hero-type{grid-column:1/6;grid-row:1;z-index:2;padding-bottom:3rem;padding-right:1.5rem}
 .hero-ctas .btn{flex:1 1 100%}
 .hero-main{grid-column:6/11;grid-row:1}
 .hero-main img{aspect-ratio:3/4;max-height:82vh}
 .hero-look{grid-column:10/13;grid-row:1;width:auto;margin:0 0 4rem -2rem;align-self:end}
 .hero h1{font-size:clamp(6rem,10vw,10rem)}
 .colecao{display:grid;grid-template-columns:1fr 1.6fr;gap:4rem}
 .consulta{grid-template-columns:1fr 1.2fr;gap:5rem}
 .consulta-intro img{display:block;width:60%;margin-top:2rem}
 .loja{grid-template-columns:1.2fr 1fr;align-items:start;column-gap:5rem}
 .loja-faixa{grid-column:1/-1}
 .foot{padding:4rem 3rem 3rem}
}
