:root{color-scheme:light;--bg:#f3f1ec;--ink:#131313;--mu:#6c6962;--ln:#d6d2c8;--pad:max(40px,env(safe-area-inset-left,0px));--g:40px;--e:cubic-bezier(.2,.7,.1,1)}
.dark{color-scheme:dark;--bg:#0e0e0e;--ink:#ece6da;--mu:#8f8a80;--ln:#2c2b29}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font-family:'Inter Tight','Helvetica Neue',Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.5;overflow-x:hidden}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:3px}
img{display:block;width:100%;height:100%;object-fit:cover}
.lab{font-size:12.5px;letter-spacing:.02em;text-transform:uppercase}
.mu{color:var(--mu)}

.pill{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:var(--bg);border-radius:99px;padding:7px 15px;font-size:12px;text-transform:uppercase;letter-spacing:.02em;border:0;cursor:pointer;font-family:inherit;transition:opacity .3s}
.pill:hover{opacity:.8}
.pill.o{background:transparent;color:var(--ink);border:1px solid var(--ink)}

/* topo */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--bg);display:flex;justify-content:space-between;align-items:center;height:68px;padding:0 var(--pad);transition:background .4s}
.brand{display:flex;align-items:baseline;gap:10px;font-size:14px;text-transform:uppercase;min-width:0}
.brand b{font-weight:700;letter-spacing:-.03em;font-size:16px;white-space:nowrap}
.brand .ttl{display:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav{display:flex;gap:38px;font-size:13.5px;text-transform:uppercase}
.nav a{position:relative}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .45s var(--e)}
.nav a:hover::after,.nav a.on::after{transform:scaleX(1);transform-origin:left}
.nav .ln{border:1px solid currentColor;border-radius:99px;padding:2px 10px;font-size:11.5px}
.nav .ln::after{display:none}
.menu{display:none;font-size:13.5px;text-transform:uppercase;cursor:pointer}
.top.sc .nav{display:none}.top.sc .menu{display:block}
.top.sc .brand .sub{display:none}.top.sc .brand .ttl{display:inline}
.prog{position:absolute;left:0;bottom:0;height:1px;background:var(--ink);width:0}
/* menu tela cheia */
.ov{position:fixed;inset:0;z-index:30;background:var(--ink);color:var(--bg);padding:22px var(--pad);display:flex;flex-direction:column;clip-path:inset(0 0 100% 0);transition:clip-path .7s var(--e)}
.ov.on{clip-path:inset(0 0 0 0)}
.ov .hd{display:flex;justify-content:space-between;font-size:13.5px;text-transform:uppercase}
.ov nav{margin-top:auto;display:flex;flex-direction:column}
.ov nav a{font-size:clamp(40px,7vw,96px);text-transform:uppercase;letter-spacing:-.035em;line-height:1.02;font-weight:300}
.ov nav a:hover{opacity:.6}
.ov .ft{display:flex;justify-content:space-between;margin-top:40px;font-size:12px;text-transform:uppercase;opacity:.7}

/* cortina */
.cur{position:fixed;inset:0;z-index:50;background:#141414;color:#ece6da;display:grid;place-items:center;transition:opacity .45s ease}
.cur b{font-weight:700;letter-spacing:-.03em;font-size:15px;opacity:0;transition:opacity .3s ease .05s}
.cur.on b{opacity:1}
.cur.out{opacity:0;pointer-events:none}

/* títulos linha a linha */
.lines .l{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}
.lines .l>span{display:block;transition:transform 1s var(--e)}
.js .lines:not(.in) .l>span{transform:translateY(105%)}
/* entrada ao rolar */
.js .rv{opacity:0;transform:translateY(26px)}.rv{transition:opacity 1s ease,transform 1.1s var(--e)}
.js .rv.in{opacity:1;transform:none}
.ph{overflow:hidden;background:#dedad1;position:relative}
.dark .ph{background:#1d1c1a}
.js .ph img{opacity:0;transform:scale(1.06)}.ph img{transition:opacity 1.2s ease,transform 1.6s var(--e)}
.js .ph.in img{opacity:1;transform:scale(1)}
.card:hover .ph img{transform:scale(1.03)}
/* etiqueta que segue o cursor */
.cursor{position:fixed;left:0;top:0;z-index:40;pointer-events:none;background:#131313;color:#f3f1ec;font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:5px 9px;transform:translate(-50%,-50%) scale(0);transition:transform .25s var(--e)}
.cursor.on{transform:translate(-50%,-50%) scale(1)}

/* anúncio */
.adm{padding:120px var(--pad) 0}
.adm .row{display:flex;justify-content:space-between;border-top:1px solid var(--ln);padding-top:14px;margin-bottom:26px}
.slot{width:970px;max-width:100%;height:250px;margin:0 auto;background:repeating-linear-gradient(135deg,#e7e3da 0 12px,#ece8df 12px 24px);border:1px dashed #b8b3a8;display:grid;place-items:center;color:#8a867d;font-size:12px;letter-spacing:.08em;text-transform:uppercase;text-align:center}
.slot.thin{height:90px}

/* linha discreta dos produtos + rodapé com contato */
.pline{margin:140px var(--pad) 0;border-top:1px solid var(--ink);padding:18px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:var(--g);align-items:baseline}
.pline p{font-size:16px;line-height:1.45;max-width:34em}
.pline .r{display:flex;justify-content:space-between;align-items:baseline;gap:20px}
.pline a.go{font-size:13.5px;text-transform:uppercase;white-space:nowrap;border-bottom:1px solid currentColor;padding-bottom:2px}
.foot{margin-top:110px;padding:0 var(--pad) 26px}
.foot .gr{display:grid;grid-template-columns:1fr 1fr;gap:var(--g);border-top:1px solid var(--ln);padding-top:34px}
.foot .cols{display:grid;grid-template-columns:1fr 1fr;gap:var(--g)}
.foot h4{font-weight:400;font-size:12px;letter-spacing:.02em;text-transform:uppercase;color:var(--mu);margin-bottom:8px}
.foot p,.foot a{font-size:14px;text-transform:uppercase;line-height:1.55}
.foot .big{font-size:clamp(20px,1.8vw,26px);text-transform:uppercase;letter-spacing:-.025em;line-height:1.1;max-width:16em}
.foot .bot{display:flex;justify-content:space-between;margin-top:70px;font-size:12px;text-transform:uppercase;color:var(--mu)}
.foot .bot nav{display:flex;gap:28px}

@media(max-width:760px){
 :root{--pad:max(18px,env(safe-area-inset-left,0px));--g:18px}
 .nav{display:none}.menu{display:block}
 .brand .sub{display:none}.top.sc .brand .ttl{font-size:11.5px;max-width:56vw}
 .adm{padding-top:70px}.slot{width:300px;height:250px}.slot.thin{width:320px;height:100px}
 .pline{grid-template-columns:1fr;margin-top:90px}.pline .r{flex-direction:column;gap:14px}
 .foot .gr,.foot .cols{grid-template-columns:1fr;gap:26px}.foot .bot{flex-direction:column;gap:12px}.foot .bot nav{gap:18px}
}
@media (prefers-reduced-motion:reduce){
 .lines .l>span,.rv,.ph img{transform:none!important;opacity:1!important;transition:none!important}
 .cur{display:none}.cursor{display:none}
}
