/* Projetto Representações — site institucional + catálogos */
:root{
  color-scheme:dark;
  --bg:#070707; --bg2:#0f0f0f; --bg3:#161616;
  --ink:#f5f2ed; --mut:#a8a29a; --dim:#6e6962; --line:rgba(255,255,255,.11);
  --o1:#ffb347; --o2:#f0782a; --o3:#e2551c;
  --grad:linear-gradient(135deg,var(--o1),var(--o2) 55%,var(--o3));
  --brand:#f0782a;
  --stage:#e8e3db; --stage2:#f8f6f2;
  --wa:#25d366;
  --serif:'Cormorant Garamond','Playfair Display',Georgia,serif;
  --sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --r:22px; --ease:cubic-bezier(.2,.75,.2,1);
  --gut:clamp(18px,4vw,48px); --max:1280px; --hd:68px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
::selection{background:var(--o2);color:#000}
.wrap{width:min(var(--max),100% - var(--gut)*2);margin-inline:auto}
.eyebrow{font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--mut);font-weight:500}
.eyebrow.o{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:600}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.04;letter-spacing:-.01em}
h1{font-size:clamp(2.6rem,7.2vw,6.2rem)}
h2{font-size:clamp(2.1rem,4.8vw,4rem)}
h3{font-size:clamp(1.6rem,2.6vw,2.3rem)}
em{font-style:italic;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.06em}
p.lead{font-size:clamp(1.02rem,1.5vw,1.25rem);color:var(--mut);max-width:60ch}
.btn{display:inline-flex;align-items:center;gap:.6em;padding:.95em 1.6em;border-radius:99px;font-weight:600;font-size:.95rem;transition:transform .3s var(--ease),box-shadow .3s,background .3s,border-color .3s;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn.pri{background:var(--grad);color:#1a0d02;box-shadow:0 10px 30px -10px rgba(240,120,42,.7)}
.btn.pri:hover{box-shadow:0 16px 38px -10px rgba(240,120,42,.9)}
.btn.ghost{border:1px solid var(--line);background:rgba(255,255,255,.04);backdrop-filter:blur(8px)}
.btn.ghost:hover{border-color:rgba(255,255,255,.35)}
.btn.wa{background:var(--wa);color:#04210f}
.btn svg,.ic svg{width:1.15em;height:1.15em;flex:none}
:focus-visible{outline:2px solid var(--o1);outline-offset:3px;border-radius:8px}

/* header */
.hd{position:fixed;inset:0 0 auto 0;height:var(--hd);z-index:60;display:flex;align-items:center;transition:background .4s,backdrop-filter .4s,border-color .4s;border-bottom:1px solid transparent}
.hd.sc{background:rgba(7,7,7,.72);backdrop-filter:saturate(1.4) blur(18px);-webkit-backdrop-filter:saturate(1.4) blur(18px);border-color:var(--line)}
.hd .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px}
.brandmark{display:flex;align-items:center;gap:12px;font-weight:600;letter-spacing:.16em;font-size:.72rem;text-transform:uppercase;line-height:1.15}
.brandmark img{width:34px;height:34px;object-fit:contain}
.brandmark small{display:block;font-weight:400;letter-spacing:.2em;color:var(--mut);font-size:.58rem}
.nav{display:flex;align-items:center;gap:clamp(14px,2.4vw,32px);font-size:.88rem;color:var(--mut)}
.nav a{transition:color .25s;position:relative}
.nav a:hover,.nav a.on{color:var(--ink)}
.nav .btn{padding:.6em 1.15em;font-size:.84rem;color:#04210f}
.burger{display:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);place-items:center}
.burger span{display:block;width:18px;height:2px;background:var(--ink);position:relative}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:18px;height:2px;background:var(--ink);transition:transform .3s}
.burger span::before{top:-6px}.burger span::after{top:6px}
@media(max-width:860px){
  .burger{display:grid}
  .nav{position:fixed;inset:var(--hd) 0 auto 0;flex-direction:column;align-items:flex-start;gap:0;padding:12px var(--gut) 28px;background:rgba(7,7,7,.96);backdrop-filter:blur(20px);transform:translateY(-130%);transition:transform .5s var(--ease);border-bottom:1px solid var(--line);font-size:1.2rem}
  .nav a{padding:14px 0;width:100%;border-bottom:1px solid var(--line)}
  .nav .btn{margin-top:18px;width:100%;justify-content:center;border:0}
  body.menu .nav{transform:none}
}

/* reveal */
.rv{opacity:0;transform:translateY(34px);transition:opacity 1s var(--ease),transform 1s var(--ease);transition-delay:var(--d,0s)}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

/* hero (home) — editorial */
.hero{position:relative;min-height:100svh;display:grid;align-items:center;overflow:hidden;padding:calc(var(--hd) + 40px) 0 70px;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(60% 70% at 15% 20%,rgba(240,120,42,.16),transparent 70%)}
.hero::after{content:"";position:absolute;inset:auto 0 0;height:22%;background:linear-gradient(transparent,var(--bg));z-index:-1}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,6vw,90px);align-items:center}
.hero-in{display:grid;gap:22px;transform:translateY(calc(var(--sy,0)*-.1px));opacity:calc(1 - var(--sy,0)*.0012)}
.hero h1{font-size:clamp(2.7rem,6.2vw,5.4rem);max-width:12ch}
.hero p.lead{max-width:48ch}
.hero .cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}
.hero .lgs{display:flex;gap:clamp(18px,3vw,40px);align-items:center;margin-top:30px;padding-top:26px;border-top:1px solid var(--line)}
.hero .lgs img{height:clamp(16px,2vw,24px);width:auto;opacity:.6;transition:opacity .3s}
.hero .lgs img:hover{opacity:1}
.hero .lgs small{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);margin-right:6px}
.hstage{position:relative;aspect-ratio:4/5;max-height:min(76vh,700px);width:100%;transform:translateY(calc(var(--sy,0)*.06px))}
.hs{position:absolute;inset:0 0 54px;border-radius:30px;overflow:hidden;background:var(--bg3);opacity:0;transform:scale(.97);transition:opacity 1.1s var(--ease),transform 1.4s var(--ease);box-shadow:0 60px 120px -40px rgba(0,0,0,.9);pointer-events:none}
.hs.on{opacity:1;transform:none;pointer-events:auto;z-index:2}
.hs>img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 9s linear}
.hs.on>img{transform:scale(1)}
.hs.stg{background:radial-gradient(120% 90% at 50% 12%,#f6f3ee,#dcd5ca)}
.hs.stg>img{object-fit:contain;padding:12% 10% 18%;filter:drop-shadow(0 40px 50px rgba(40,25,10,.3))}
.hs.domann.stg{background:radial-gradient(120% 90% at 50% 12%,#eef0ea,#cfd6c9)}
.hs::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.6));pointer-events:none}
.hs.stg::before{background:linear-gradient(180deg,transparent 70%,rgba(20,12,4,.55))}
.hs::after{content:"";position:absolute;inset:0;border-radius:30px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);pointer-events:none}
.hs .cap{position:absolute;left:24px;bottom:22px;z-index:3;display:grid;gap:8px}
.hs .cap img{height:22px;width:auto;object-fit:contain;object-position:left}
.hs .cap b{font-family:var(--serif);font-size:1.35rem;font-weight:500;line-height:1;color:#fff}
.htabs{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.htabs button{text-align:left;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);padding-top:10px;display:grid;gap:8px;transition:color .3s}
.htabs button.on{color:var(--ink)}
.htabs i{display:block;height:2px;background:var(--line);border-radius:2px;overflow:hidden;position:relative}
.htabs i::after{content:"";position:absolute;inset:0;background:var(--grad);transform:scaleX(0);transform-origin:0 50%}
.htabs button.on i::after{animation:hp var(--hdur,6s) linear forwards}
.htabs button.done i::after{transform:none;background:var(--ink)}
@keyframes hp{to{transform:scaleX(1)}}
@media(max-width:900px){.hero{min-height:0;padding-bottom:50px}.hero .wrap{grid-template-columns:1fr}.hstage{aspect-ratio:auto;height:460px;max-height:none;order:-1}.hs{border-radius:22px}.hero .lgs{flex-wrap:wrap}}
.scrollcue{position:absolute;bottom:26px;left:50%;translate:-50% 0;width:26px;height:42px;border:1.5px solid rgba(255,255,255,.35);border-radius:14px}
.scrollcue::after{content:"";position:absolute;left:50%;top:8px;width:3px;height:8px;border-radius:2px;background:var(--ink);translate:-50% 0;animation:cue 1.8s infinite}
@keyframes cue{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(14px)}}

/* faixa de parceiros */
.marq{border-block:1px solid var(--line);overflow:hidden;padding:20px 0;background:var(--bg2)}
.marq{padding:30px 0}
.marq-t{display:flex;gap:clamp(70px,9vw,140px);width:max-content;animation:mq 36s linear infinite;align-items:center}
.marq-t img{height:clamp(26px,3vw,40px);width:auto;opacity:.75;filter:grayscale(.2)}
@media(max-width:700px){.marq-t img[style]{zoom:.7}}
.marq:hover .marq-t{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-50%)}}

section.s{padding:clamp(80px,12vw,160px) 0}
.head{display:grid;gap:18px;margin-bottom:clamp(36px,5vw,70px)}
.head.c{text-align:center;justify-items:center}

/* painéis de marcas — empilhamento sticky */
.bps{display:grid;gap:26px}
.bp{position:sticky;top:calc(var(--hd) + 14px);border-radius:32px;overflow:hidden;display:grid;grid-template-columns:1.05fr 1fr;min-height:min(78vh,640px);border:1px solid var(--line);background:linear-gradient(135deg,var(--c1),var(--c2));transform-origin:50% 0;box-shadow:0 40px 80px -30px rgba(0,0,0,.8)}
.bp-copy{padding:clamp(28px,4.5vw,64px);display:flex;flex-direction:column;justify-content:center;gap:20px;position:relative;z-index:2}
.bp-copy img.lg{height:clamp(38px,5vw,62px);width:auto;max-width:260px;object-fit:contain;object-position:left}
.bp-copy p{color:rgba(245,242,237,.78);max-width:46ch}
.bp-copy .tags{display:flex;flex-wrap:wrap;gap:8px}
.bp-copy .tags span{font-size:.78rem;padding:.4em .9em;border:1px solid rgba(255,255,255,.22);border-radius:99px;color:rgba(255,255,255,.85)}
.bp-media{position:relative;min-height:320px;overflow:hidden}
.bp-media .sl{position:absolute;inset:0;opacity:0;transition:opacity 1.2s var(--ease),transform 8s linear;transform:scale(1.08)}
.bp-media .sl.on{opacity:1;transform:scale(1)}
.bp-media .sl img{width:100%;height:100%;object-fit:cover}
.bp-media.cut{background:radial-gradient(70% 70% at 50% 45%,rgba(255,255,255,.18),transparent 70%)}
.bp-media.cut .sl img{object-fit:contain;padding:8%;filter:drop-shadow(0 28px 34px rgba(0,0,0,.5))}
.bp-media::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,var(--c1),transparent 30%)}
.bp-media.cut::before{display:none}
.bp-media .dots{position:absolute;bottom:18px;right:20px;display:flex;gap:6px;z-index:3}
.bp-media .dots i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.35);transition:.4s}
.bp-media .dots i.on{background:#fff;width:22px;border-radius:6px}
@media(max-width:820px){.bp{grid-template-columns:1fr;min-height:0;position:relative;top:0}.bp-media{min-height:300px;order:-1}.bp-media::before{background:linear-gradient(0deg,var(--c1),transparent 40%)}}

/* sobre */
.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,6vw,90px);align-items:center}
.about .ph{border-radius:28px;overflow:hidden;aspect-ratio:4/5;position:relative;background:var(--bg3)}
.about .ph img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;transform:scale(1.08);transition:transform 1.6s var(--ease)}
.about .ph.in img{transform:scale(1)}
.about .ph::after{content:"";position:absolute;inset:0;border-radius:28px;box-shadow:inset 0 0 0 1px var(--line)}
.about .txt{display:grid;gap:20px}
.about .txt p{color:var(--mut)}
.about .txt p b{color:var(--ink);font-weight:600}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:14px}
.stat{padding:20px 0 0;border-top:1px solid var(--line)}
.stat b{display:block;font-family:var(--serif);font-size:clamp(2rem,4vw,3.2rem);font-weight:500;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat span{font-size:.82rem;color:var(--mut)}
@media(max-width:820px){.about{grid-template-columns:1fr}.about .ph{aspect-ratio:1/1}}

/* parceiros */
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pc{padding:28px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01));transition:transform .5s var(--ease),border-color .4s,background .4s;display:grid;gap:10px;align-content:start}
.pc:hover{transform:translateY(-6px);border-color:rgba(240,120,42,.55);background:linear-gradient(180deg,rgba(240,120,42,.09),rgba(255,255,255,.01))}
.pc h4{font-family:var(--serif);font-weight:500;font-size:1.7rem;line-height:1}
.pc p{font-size:.92rem;color:var(--mut)}
.pc .k{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--o2)}
@media(max-width:900px){.pgrid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.pgrid{grid-template-columns:1fr}}

/* estrutura */
.est{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ec{padding:28px 24px;border-radius:22px;background:var(--bg3);border:1px solid var(--line);display:grid;gap:14px;align-content:start;min-height:210px}
.ec .ic{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--grad);color:#1a0d02}
.ec .ic svg{width:24px;height:24px}
.ec h4{font-size:.95rem;font-weight:600;letter-spacing:.02em;line-height:1.35}
.est .ec.wide{grid-column:span 2;background:linear-gradient(135deg,#1c120a,#0f0f0f);border-color:rgba(240,120,42,.35)}
.est .ec.wide p{color:var(--mut);font-size:.95rem}
@media(max-width:980px){.est{grid-template-columns:1fr 1fr}}@media(max-width:560px){.est{grid-template-columns:1fr}.est .ec.wide{grid-column:auto}}

/* contato */
.ct{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,70px);border-radius:34px;padding:clamp(28px,5vw,70px);background:radial-gradient(80% 120% at 0% 0%,rgba(240,120,42,.22),transparent 60%),var(--bg3);border:1px solid var(--line)}
.ct form{display:grid;gap:12px;align-content:start}
.ct label{display:grid;gap:6px;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
.ct input{padding:.95em 1.1em;border-radius:14px;border:1px solid var(--line);background:rgba(0,0,0,.35);color:var(--ink);font:inherit;font-size:1rem;text-transform:none;letter-spacing:0;transition:border-color .3s}
.ct input:focus{outline:0;border-color:var(--o2)}
.ct .info{display:grid;gap:18px;align-content:start}
.ct .info a.row{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--line);border-radius:18px;transition:.3s;background:rgba(255,255,255,.03)}
.ct .info a.row:hover{border-color:var(--o2);transform:translateX(4px)}
.ct .info .ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:rgba(240,120,42,.14);color:var(--o1);flex:none}
.ct .info small{display:block;color:var(--mut);font-size:.74rem}
@media(max-width:860px){.ct{grid-template-columns:1fr}}
footer.ft{border-top:1px solid var(--line);padding:38px 0 48px;color:var(--dim);font-size:.82rem}
footer.ft .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center}
footer.ft img{height:64px;width:auto;opacity:.9}
footer.ft nav{display:flex;gap:22px;flex-wrap:wrap}footer.ft nav a{color:var(--mut);transition:color .25s}footer.ft nav a:hover{color:var(--ink)}

/* ============ CATÁLOGO ============ */
body.cat{--stage:#e9e4dc}
.ch{position:relative;padding:calc(var(--hd) + clamp(34px,6vw,80px)) 0 clamp(34px,5vw,60px);overflow:hidden;isolation:isolate}
.ch::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(60% 80% at 80% 20%,color-mix(in srgb,var(--brand) 40%,transparent),transparent 70%),linear-gradient(180deg,var(--hbg,#101010),var(--bg))}
.ch .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center}
.ch img.logo{height:clamp(46px,7vw,86px);width:auto;max-width:340px;object-fit:contain;object-position:left;margin-bottom:22px}
.ch h1{font-size:clamp(2.3rem,5.4vw,4.6rem);margin-bottom:18px}
.ch .meta{display:flex;gap:30px;margin-top:26px;flex-wrap:wrap}
.ch .meta div b{display:block;font-family:var(--serif);font-size:2.2rem;line-height:1;font-weight:500;color:var(--brand)}
.ch .meta div span{font-size:.78rem;color:var(--mut);letter-spacing:.06em}
.ch .hero-img{position:relative;aspect-ratio:1/1;max-height:430px;justify-self:center;width:min(100%,430px)}
.ch .hero-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 34px 44px rgba(0,0,0,.6));animation:flt 7s ease-in-out infinite}
.ch .hero-img.ph img{object-fit:cover;border-radius:28px;filter:none;animation:none;box-shadow:0 30px 70px -20px rgba(0,0,0,.8)}
@keyframes flt{50%{transform:translateY(-12px) rotate(-1.2deg)}}
@media(max-width:820px){.ch .wrap{grid-template-columns:1fr}.ch .hero-img{order:-1;max-height:300px;width:min(80%,300px)}}

.tb{position:sticky;top:var(--hd);z-index:40;background:rgba(7,7,7,.82);backdrop-filter:saturate(1.4) blur(16px);-webkit-backdrop-filter:saturate(1.4) blur(16px);border-block:1px solid var(--line)}
.tb .wrap{display:grid;gap:10px;padding-block:12px}
.tb .r1{display:flex;gap:10px;align-items:center}
.search{flex:1;display:flex;align-items:center;gap:10px;padding:.2em 1em;border-radius:99px;border:1px solid var(--line);background:rgba(255,255,255,.05);min-width:0}
.search svg{width:18px;height:18px;color:var(--mut);flex:none}
.search input{flex:1;min-width:0;background:none;border:0;color:var(--ink);font:inherit;font-size:.95rem;padding:.7em 0;outline:0}
.chip{padding:.55em 1.05em;border-radius:99px;border:1px solid var(--line);font-size:.84rem;color:var(--mut);white-space:nowrap;transition:.25s;background:rgba(255,255,255,.03)}
.chip:hover{color:var(--ink);border-color:rgba(255,255,255,.35)}
.chip.on{background:var(--ink);color:#111;border-color:var(--ink);font-weight:600}
.chip.sel{display:inline-flex;align-items:center;gap:.5em}
.chip.sel.on{background:var(--wa);border-color:var(--wa);color:#04210f}
.strip{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 24px),transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 24px),transparent);padding-inline:12px;margin-inline:-12px}
.strip::-webkit-scrollbar{display:none}

.row{padding:clamp(34px,5vw,64px) 0 10px;scroll-margin-top:calc(var(--hd) + 118px)}
.row-h{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}
.row-h h2{font-size:clamp(1.9rem,3.8vw,3rem)}
.row-h p{color:var(--mut);font-size:.95rem;max-width:56ch;margin-top:6px}
.row-h .n{font-size:.78rem;color:var(--dim);letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px}
.arr{display:flex;gap:8px}
.arr button{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;transition:.25s;background:rgba(255,255,255,.04)}
.arr button:hover:not(:disabled){background:var(--ink);color:#111;transform:scale(1.06)}
.arr button:disabled{opacity:.28;cursor:default}
.arr svg{width:20px;height:20px}
@media(max-width:700px){.arr{display:none}}
.rail{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-inline:var(--rp);padding:10px var(--rp) 30px;margin-inline:calc(var(--rp)*-1);scrollbar-width:none;--rp:max(var(--gut),calc((100vw - var(--max))/2));cursor:grab;overscroll-behavior-x:contain}
.rail::-webkit-scrollbar{display:none}
.rail.drag{cursor:grabbing;scroll-snap-type:none}
.rail.drag .card{pointer-events:none}
.row-wrap{overflow:hidden}
.card{flex:0 0 clamp(210px,23vw,290px);scroll-snap-align:start;position:relative;transform:scale(var(--s,1));opacity:var(--o,1);transform-origin:50% 60%;transition:transform .5s var(--ease),opacity .5s;user-select:none;-webkit-user-select:none}
.stage{aspect-ratio:4/5;border-radius:var(--r);background:radial-gradient(120% 90% at 50% 15%,var(--stage2),var(--stage));display:grid;place-items:center;overflow:hidden;position:relative;box-shadow:0 1px 0 rgba(255,255,255,.4) inset}
.stage img{max-width:86%;max-height:86%;object-fit:contain;filter:drop-shadow(0 16px 20px rgba(40,25,10,.22));transition:transform .8s var(--ease),opacity .4s;-webkit-user-drag:none;user-drag:none}
.card:hover .stage img{transform:scale(1.07) translateY(-4px)}
.card.photo .stage img{max-width:none;max-height:none;width:100%;height:100%;object-fit:cover;filter:none}
.card.photo:hover .stage img{transform:scale(1.05)}
.wide .card{flex-basis:clamp(290px,40vw,540px)}
.wide .stage{aspect-ratio:16/10}
.card .tag{position:absolute;left:12px;top:12px;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;padding:.4em .8em;border-radius:99px;background:rgba(10,10,10,.78);color:#fff;backdrop-filter:blur(6px);z-index:2}
.card .wab{position:absolute;right:12px;bottom:12px;width:46px;height:46px;border-radius:50%;background:var(--wa);color:#04210f;display:grid;place-items:center;box-shadow:0 8px 20px -6px rgba(0,0,0,.55);z-index:3;transition:transform .3s var(--ease),filter .3s}
.card .wab:hover{transform:scale(1.12)}
.card .wab svg{width:24px;height:24px}
.card .wab.busy{filter:grayscale(.6);animation:pulse 1s infinite}
@keyframes pulse{50%{transform:scale(.92)}}
.card .chk{position:absolute;left:12px;bottom:12px;width:30px;height:30px;border-radius:50%;border:2px solid rgba(0,0,0,.45);background:rgba(255,255,255,.7);display:none;place-items:center;z-index:3;color:transparent}
.card .chk svg{width:18px;height:18px}
body.selecting .card .chk{display:grid}
body.selecting .card .wab{display:none}
.card.picked .chk{background:var(--wa);border-color:var(--wa);color:#04210f}
.card.picked .stage{outline:3px solid var(--wa);outline-offset:-3px}
.card .cap{padding:14px 4px 0;display:grid;gap:6px}
.card .cap b{font-weight:600;font-size:.98rem;line-height:1.3}
.card .cap span.d{font-size:.78rem;color:var(--mut)}
.sw{display:flex;gap:6px;flex-wrap:wrap}
.sw i{width:15px;height:15px;border-radius:50%;border:1.5px solid rgba(255,255,255,.35);cursor:pointer;transition:transform .25s;display:block;box-shadow:0 0 0 0 transparent}
.sw i:hover{transform:scale(1.25)}
.sw i.on{box-shadow:0 0 0 2px var(--bg),0 0 0 3.5px var(--ink)}
.empty{padding:90px 0;text-align:center;color:var(--mut);display:none}
.empty.on{display:block}
.prog{height:2px;background:var(--line);border-radius:2px;margin-top:-6px;overflow:hidden}
.prog i{display:block;height:100%;width:30%;background:var(--grad);transform-origin:0 50%;transition:transform .15s linear}

/* barra de seleção */
.selbar{position:fixed;left:50%;bottom:22px;translate:-50% 140%;z-index:70;display:flex;align-items:center;gap:14px;padding:10px 10px 10px 22px;border-radius:99px;background:rgba(20,20,20,.94);border:1px solid var(--line);backdrop-filter:blur(16px);box-shadow:0 20px 50px -10px rgba(0,0,0,.8);transition:translate .5s var(--ease);max-width:calc(100vw - 24px)}
.selbar.on{translate:-50% 0}
.selbar span{font-size:.9rem;white-space:nowrap}
.selbar .btn{padding:.75em 1.3em}
.selbar .x{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center}

/* lightbox */
.lb{position:fixed;inset:0;z-index:100;background:rgba(5,5,5,.94);backdrop-filter:blur(18px);display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);opacity:0;pointer-events:none;transition:opacity .4s}
.lb.on{opacity:1;pointer-events:auto}
.lb-st{position:relative;min-height:0;overflow:hidden;background:radial-gradient(90% 80% at 50% 30%,#1c1c1c,#090909)}
.lb-fr{position:absolute;inset:clamp(18px,4vw,50px);border-radius:26px;background:radial-gradient(120% 90% at 50% 15%,var(--stage2),var(--stage));display:grid;place-items:center;overflow:hidden;touch-action:pan-y}
.lb-fr img{position:absolute;inset:6%;width:88%;height:88%;object-fit:contain;filter:drop-shadow(0 26px 34px rgba(40,25,10,.28));transition:opacity .35s,transform .6s var(--ease)}
.lb-fr.photo img{inset:0;width:100%;height:100%;object-fit:contain;background:#f3f1ed;filter:none}
.lb-fr.photo.fill img{object-fit:cover}
.lb-nav{position:absolute;top:50%;translate:0 -50%;width:50px;height:50px;border-radius:50%;background:rgba(10,10,10,.7);color:#fff;display:grid;place-items:center;z-index:3;transition:.25s;border:1px solid rgba(255,255,255,.18)}
.lb-nav:hover{background:#fff;color:#111}
.lb-nav.p{left:clamp(24px,5vw,64px)}.lb-nav.n{right:clamp(24px,5vw,64px)}
.lb-nav svg{width:22px;height:22px}
.lb-x{position:absolute;top:18px;right:18px;z-index:5;width:46px;height:46px;border-radius:50%;background:rgba(10,10,10,.75);border:1px solid rgba(255,255,255,.2);display:grid;place-items:center}
.lb-x:hover{background:#fff;color:#111}
.lb-in{padding:clamp(26px,3.4vw,50px);display:flex;flex-direction:column;gap:16px;overflow:auto;border-left:1px solid var(--line);background:var(--bg2)}
.lb-in .eyebrow{color:var(--brand)}
.lb-in h2{font-size:clamp(1.9rem,3vw,2.8rem)}
.lb-in p{color:var(--mut);font-size:.96rem}
.lb-in .dim{font-size:.84rem;color:var(--dim);border-top:1px solid var(--line);padding-top:14px}
.lb-th{display:flex;gap:10px;flex-wrap:wrap}
.lb-th button{width:68px;height:68px;border-radius:14px;overflow:hidden;border:2px solid transparent;background:#e9e4dc;display:grid;place-items:center;transition:.25s}
.lb-th button img{width:100%;height:100%;object-fit:contain;padding:5px}
.lb-th button.ph img{object-fit:cover;padding:0}
.lb-th button.on{border-color:var(--o2)}
.lb-sw{display:flex;gap:10px;flex-wrap:wrap}
.lb-sw button{display:inline-flex;align-items:center;gap:8px;padding:.45em .9em .45em .5em;border-radius:99px;border:1px solid var(--line);font-size:.82rem;color:var(--mut);transition:.25s}
.lb-sw button i{width:20px;height:20px;border-radius:50%;border:1.5px solid rgba(255,255,255,.35)}
.lb-sw button.on{border-color:var(--ink);color:var(--ink);background:rgba(255,255,255,.08)}
.lb-act{display:grid;gap:10px;margin-top:auto;padding-top:10px;position:sticky;bottom:0;background:linear-gradient(transparent,var(--bg2) 22%);padding-bottom:4px}
.lb-act .btn{justify-content:center;width:100%;padding:1.05em 1.4em;font-size:1rem}
.lb-act .two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lb-act .two .btn{padding:.85em 1em;font-size:.88rem}
.lb-ct{position:absolute;left:clamp(30px,5vw,70px);bottom:clamp(30px,5vw,60px);z-index:4;font-size:.78rem;color:#555;background:rgba(255,255,255,.7);padding:.35em .8em;border-radius:99px;letter-spacing:.08em}
@media(max-width:860px){
  .lb{grid-template-columns:1fr;grid-template-rows:minmax(0,52svh) minmax(0,1fr)}
  .lb-fr{inset:12px;border-radius:20px}
  .lb-in{border-left:0;border-top:1px solid var(--line);padding:20px 18px 14px}
  .lb-nav{width:42px;height:42px}.lb-nav.p{left:20px}.lb-nav.n{right:20px}
}
.toast{position:fixed;left:50%;bottom:92px;translate:-50% 30px;z-index:200;background:#fff;color:#111;padding:.9em 1.3em;border-radius:16px;font-size:.92rem;font-weight:500;opacity:0;pointer-events:none;transition:.4s var(--ease);max-width:min(92vw,440px);box-shadow:0 20px 50px -10px rgba(0,0,0,.7);display:flex;gap:14px;align-items:center}
.toast.on{opacity:1;translate:-50% 0;pointer-events:auto}
.toast button{font-weight:700;color:#0a8a3c;white-space:nowrap}
.fcta{padding:clamp(70px,10vw,130px) 0;text-align:center;display:grid;gap:22px;justify-items:center}
@media(max-width:600px){.chip.sel .lbl{display:none}.chip.sel{padding:.6em .8em}}
.card .cnt{position:absolute;right:12px;top:12px;z-index:2;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;padding:.4em .75em;border-radius:99px;background:rgba(255,255,255,.85);color:#222}

/* faixa catálogo digital */
.band{padding:clamp(80px,12vw,160px) 0;background:linear-gradient(180deg,var(--bg),#120b06 50%,var(--bg));position:relative}
.band::before{content:"";position:absolute;inset:0;background:radial-gradient(50% 60% at 50% 50%,rgba(240,120,42,.12),transparent 70%);pointer-events:none}
.band-t{text-align:center;display:grid;justify-items:center;gap:18px;max-width:900px;margin:0 auto clamp(40px,6vw,80px)}
.band-t h2{font-size:clamp(2.2rem,5.2vw,4.4rem)}
.band-g{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;position:relative}
.bg-c{padding:30px 28px;border-radius:24px;border:1px solid var(--line);background:rgba(255,255,255,.03);display:grid;gap:12px;align-content:start}
.bg-c b{font-family:var(--serif);font-size:2.4rem;font-weight:400;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.bg-c h4{font-size:1.1rem;font-weight:600}
.bg-c p{color:var(--mut);font-size:.94rem}
@media(max-width:760px){.band-g{grid-template-columns:1fr}}

/* ---------- Vitta institucional ---------- */
.vnav{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.vnav a{font-size:.8rem;letter-spacing:.04em;padding:9px 16px;border:1px solid var(--line);border-radius:99px;color:var(--mut);transition:.3s var(--ease)}
.vnav a:hover{color:var(--ink);border-color:var(--brand);background:color-mix(in srgb,var(--brand) 14%,transparent)}
.catwrap,.vi{scroll-margin-top:var(--hd)}
.vi{padding:clamp(70px,10vw,140px) 0;position:relative}
.vi-alt{background:linear-gradient(180deg,var(--bg),var(--bg2) 18%,var(--bg2) 82%,var(--bg))}
.vi h2{font-size:clamp(2rem,4.4vw,3.6rem)}
.vi h3{font-family:var(--serif);font-weight:500;font-size:1.5rem;line-height:1.15}
.vi p{color:var(--mut)}
.vi-wide{position:relative;margin:0 0 18px;border-radius:28px;overflow:hidden;aspect-ratio:21/9;background:var(--bg3)}
.vi-wide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vi-wide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.82))}
.vi-wide figcaption{position:absolute;z-index:1;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:clamp(18px,3vw,40px)}
.vi-wide figcaption b,.vi-st b{display:block;font-family:var(--serif);font-weight:500;font-size:clamp(1.6rem,3.2vw,2.8rem);line-height:1;color:#fff}
.vi-wide figcaption span,.vi-st span{font-size:.8rem;color:var(--mut);letter-spacing:.04em}
.vi-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.vi-c{background:var(--bg3);border:1px solid var(--line);border-radius:22px;overflow:hidden;display:grid;gap:10px;padding-bottom:24px;align-content:start}
.vi-c img{width:100%;aspect-ratio:16/10;object-fit:cover;margin-bottom:8px}
.vi-c h3,.vi-c p{padding:0 22px}
.vi-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px);align-items:center}
.vi-txt{display:grid;gap:18px;justify-items:start}
.vi-lg{height:54px;width:auto;opacity:.92}
.vi-li{list-style:none;display:grid;gap:0;width:100%;padding:0;margin:0}
.vi-li li{padding:16px 0;border-top:1px solid var(--line);color:var(--mut);font-size:.95rem}
.vi-li b{display:block;color:var(--ink);font-weight:600;margin-bottom:2px}
.vi-lgs{display:flex;flex-wrap:wrap;gap:22px 30px;align-items:center;padding-top:14px;border-top:1px solid var(--line);width:100%}
.vi-lgs img{height:20px;width:auto;opacity:.6}
.vi-pics{display:grid;grid-template-columns:1.25fr 1fr;gap:14px;align-items:end}
.vi-pics img{width:100%;border-radius:22px;object-fit:cover;aspect-ratio:3/4;box-shadow:0 30px 60px -30px #000}
.vi-pics img:first-child{aspect-ratio:4/5}
.vi-pics img:last-child{margin-bottom:-8%}
.vi-pics.one{grid-template-columns:1fr}.vi-pics.one img{aspect-ratio:16/10;margin:0}
.vi-st{display:grid;grid-template-columns:1fr 1fr;gap:0 26px;width:100%}
.vi-st div{padding:18px 0;border-top:1px solid var(--line)}
.vi-st b{color:var(--brand);margin-bottom:6px}
.vi-tr{margin-bottom:clamp(30px,5vw,60px)}
.vi-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.vi-k{background:var(--bg3);border:1px solid var(--line);border-radius:22px;padding:26px 24px;display:grid;gap:10px;align-content:start;transition:.4s var(--ease)}
.vi-k:hover{border-color:color-mix(in srgb,var(--brand) 60%,transparent);transform:translateY(-4px)}
.vi-k i{font-style:normal;font-size:.74rem;letter-spacing:.2em;color:var(--brand)}
.vi-k p{font-size:.92rem}
@media(max-width:900px){.vi-split{grid-template-columns:1fr}.vi-split.rev .vi-pics{order:2}.vi-3{grid-template-columns:1fr}.vi-4{grid-template-columns:1fr 1fr}.vi-wide{aspect-ratio:4/5}.vi-wide figcaption{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.vi-4{grid-template-columns:1fr}.vi-st{grid-template-columns:1fr}}

.vi-ab{max-width:860px;margin:0 auto;display:grid;gap:18px;justify-items:start}
.vi-ab-t{display:grid;gap:16px}
.vi-ab-t p{font-size:clamp(1rem,1.3vw,1.12rem);line-height:1.7}
.vi-ab-t p:last-child{color:var(--ink);font-family:var(--serif);font-size:clamp(1.3rem,2.2vw,1.8rem);line-height:1.25}
