:root{--gold:#D3A157;--gold2:#f3d79a;--gold3:#8a6628;--ink:#070707;--ink2:#111;--ink3:#1a1a1a;--txt:#e9e4da;--mut:#a39d91}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--txt);font-family:Inter,sans-serif;font-weight:300;line-height:1.7;overflow-x:hidden;cursor:none}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit;color:inherit}
@media(hover:none){body{cursor:auto}.cur,.glow{display:none}}
.gold{background:linear-gradient(100deg,var(--gold3),var(--gold2) 40%,var(--gold) 60%,var(--gold3));-webkit-background-clip:text;background-clip:text;color:transparent;background-size:200% auto;animation:shine 6s linear infinite}
@keyframes shine{to{background-position:200% center}}
h1,h2,h3,h4{font-family:'Cormorant Garamond',serif;font-weight:500;line-height:1.05}
canvas[data-art]{display:block;width:100%;height:100%}

.glow{position:fixed;width:520px;height:520px;margin:-260px 0 0 -260px;border-radius:50%;background:radial-gradient(circle,rgba(211,161,87,.12),transparent 65%);pointer-events:none;z-index:1;left:0;top:0}
.cur{position:fixed;width:10px;height:10px;margin:-5px 0 0 -5px;border:1px solid var(--gold);border-radius:50%;pointer-events:none;z-index:99999;transition:width .25s,height .25s,margin .25s,background .25s;left:0;top:0}
.cur.big{width:56px;height:56px;margin:-28px 0 0 -28px;background:rgba(211,161,87,.12)}
#bar{position:fixed;top:0;left:0;height:2px;width:0;background:linear-gradient(90deg,var(--gold3),var(--gold2));z-index:9998}

#pre{position:fixed;inset:0;background:var(--ink);z-index:10000;display:grid;place-items:center;transition:transform 1s cubic-bezier(.77,0,.18,1)}
#pre.out{transform:translateY(-100%)}
#pre .logo{height:110px;opacity:0;transform:scale(.8);animation:pin 1.2s .2s forwards cubic-bezier(.2,.8,.2,1)}
@keyframes pin{to{opacity:1;transform:none}}

.logo{display:block;background:#fff;border-radius:6px;padding:4px 10px;height:50px;width:auto}
header.top{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:14px 5vw;transition:transform .5s,background .5s}
header.top.solid{background:rgba(7,7,7,.86);backdrop-filter:blur(14px);border-bottom:1px solid rgba(211,161,87,.18)}
header.top.hide{transform:translateY(-100%)}
header.top nav{display:flex;gap:30px;align-items:center}
header.top nav a{font-size:12px;letter-spacing:.2em;text-transform:uppercase;position:relative;padding:4px 0}
header.top nav a:after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--gold);transition:width .4s}
header.top nav a:hover:after,header.top nav a.on:after{width:100%}
#burger{display:none;background:none;border:1px solid var(--gold);color:var(--gold);padding:8px 12px;letter-spacing:.2em;font-size:12px}
@media(max-width:1000px){#burger{display:block}header.top nav{position:fixed;inset:0 0 0 30%;background:var(--ink);flex-direction:column;justify-content:center;gap:28px;transform:translateX(100%);transition:transform .5s;border-left:1px solid var(--gold3)}header.top nav.open{transform:none}}

.btn{display:inline-block;padding:15px 34px;border:1px solid var(--gold);background:none;color:var(--gold);font-size:12px;letter-spacing:.24em;text-transform:uppercase;position:relative;overflow:hidden;transition:color .4s;will-change:transform;z-index:0;cursor:inherit}
.btn:before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,var(--gold3),var(--gold2),var(--gold));transform:translateY(101%);transition:transform .45s cubic-bezier(.7,0,.2,1);z-index:-1}
.btn:hover{color:#000}.btn:hover:before{transform:none}
.btn.fill{background:linear-gradient(100deg,var(--gold3),var(--gold2),var(--gold));color:#000}

section{padding:120px 6vw;position:relative;z-index:2}
.tag{font-size:12px;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:16px;margin-bottom:22px}
.tag:before{content:"";width:50px;height:1px;background:var(--gold)}
h2{font-size:clamp(38px,5.5vw,76px);margin-bottom:26px}
.rv{opacity:0;transform:translateY(50px);transition:opacity 1s,transform 1s cubic-bezier(.2,.8,.2,1)}
.rv.in{opacity:1;transform:none}
.head{max-width:1300px;margin:0 auto 60px;display:flex;justify-content:space-between;align-items:end;gap:30px;flex-wrap:wrap}
.head h2{margin:0}

/* modal */
dialog{margin:auto;max-width:min(980px,94vw);width:100%;background:var(--ink2);color:var(--txt);border:1px solid var(--gold);padding:0;overflow:hidden;max-height:92vh}
dialog::backdrop{background:rgba(0,0,0,.82);backdrop-filter:blur(6px)}
dialog[open]{animation:mdin .5s cubic-bezier(.2,.8,.2,1)}
@keyframes mdin{from{opacity:0;transform:translateY(40px) scale(.97)}}
.md{display:grid;grid-template-columns:.9fr 1.1fr;max-height:92vh}
.md .mi{position:relative;min-height:300px;background:#000}
.md .mi img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.3) brightness(.85)}
.md .mi:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,var(--ink2))}
.md .mb{padding:46px 40px;overflow:auto}
.md small{color:var(--gold);letter-spacing:.3em;font-size:11px;text-transform:uppercase}
.md h3{font-size:clamp(32px,4vw,48px);margin:10px 0 18px}
.md p{color:var(--mut);margin-bottom:14px;font-size:15px}
.md .acts{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
dialog .x{position:absolute;top:10px;right:16px;z-index:3;background:none;border:0;color:var(--gold);font-size:38px;line-height:1;cursor:pointer}
@media(max-width:760px){.md{grid-template-columns:1fr;overflow:auto}.md .mi{min-height:200px}.md .mi:after{background:linear-gradient(transparent 60%,var(--ink2))}.md .mb{padding:28px 22px;overflow:visible}}

footer.ft{position:relative;z-index:2;border-top:1px solid rgba(211,161,87,.2);background:var(--ink2);padding:70px 6vw 28px}
.ft .cols{max-width:1300px;margin:auto;display:grid;grid-template-columns:1.2fr 1.3fr 1fr;gap:50px}
.ft h5{font-size:11px;letter-spacing:.35em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;font-weight:500}
.ft p,.ft li{font-size:14px;color:var(--mut);margin-bottom:6px;list-style:none}
.ft a:hover{color:var(--gold)}
.ft .bot{max-width:1300px;margin:50px auto 0;padding-top:22px;border-top:1px solid rgba(211,161,87,.14);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--mut)}
@media(max-width:860px){.ft .cols{grid-template-columns:1fr}}

#wa{position:fixed;right:22px;bottom:22px;z-index:99;width:58px;height:58px;border-radius:50%;background:linear-gradient(135deg,var(--gold3),var(--gold2));display:grid;place-items:center;box-shadow:0 0 0 0 rgba(211,161,87,.6);animation:pulse 2.4s infinite}
#wa svg{width:28px;fill:#000}
@keyframes pulse{70%{box-shadow:0 0 0 22px transparent}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}}
/* o modal fica acima do cursor personalizado: volta o ponteiro normal dentro dele */
dialog,dialog *{cursor:auto}
dialog a,dialog button{cursor:pointer}
