:root{
  --wf-papel:#f3f1ee;--wf-gesso:#e7e5e1;--wf-folha:#fbf9f6;--wf-nevoa:#d7dee6;--wf-rosado:#ecdcd8;--wf-areia:#e3d2b4;
  --wf-tinta:#231f1e;--wf-tinta-2:#5a514d;--wf-noite:#1f1a18;--wf-marfim:#f3ead9;--wf-marfim-2:#cfc4b4;
  --wf-vinho:#7a2f3c;--wf-ouro:#a8813c;--wf-ouro-esc:#7d5c24;--wf-ouro-claro:#ecd9a8;
  --wf-serif:"Gilda Display",Georgia,serif;--wf-sans:"Wix Madefor Text",system-ui,sans-serif;--wf-mao:"Mrs Saint Delafield",cursive;
  --wf-margem:clamp(1.25rem,4.5vw,4.5rem);--wf-larg:76rem;--wf-respiro:clamp(4.5rem,9vw,8.5rem);
  --wf-t-titulo:clamp(2rem,4vw,3.5rem);--wf-t-texto:clamp(1rem,1.15vw,1.12rem);--wf-t-mini:.875rem;
  --wf-curva:cubic-bezier(.2,.7,.2,1);
  --wf-sombra:14px 22px 30px -18px rgb(50 40 34 / .5);
}
*{box-sizing:border-box;margin:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:clip}
body{font-family:var(--wf-sans);color:var(--wf-tinta);background:var(--wf-papel);overflow-x:clip;font-size:var(--wf-t-texto);line-height:1.62}
body::after{content:"";position:fixed;inset:0;z-index:90;opacity:.045;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--wf-vinho);outline-offset:3px}
.wf-oculto{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.wf-sprite{position:absolute;width:0;height:0}

/* seção: parede */
.wf-sec{position:relative;padding:var(--wf-respiro) var(--wf-margem);isolation:isolate}
.wf-dentro{max-width:var(--wf-larg);margin-inline:auto}
.wf-parede{background:var(--wf-papel)}
.wf-gesso{background:var(--wf-gesso)}
.wf-nevoa{background:linear-gradient(180deg in oklab,var(--wf-papel),#e4e8ec 30%,#e4e8ec 70%,var(--wf-papel))}
.wf-noite{background:var(--wf-noite);color:var(--wf-marfim)}
.wf-noite .wf-texto,.wf-noite .wf-sobre{color:var(--wf-marfim-2)}
.wf-noite .wf-titulo em{color:var(--wf-ouro-claro)}

/* tipografia */
.wf-sobre{font-size:var(--wf-t-mini);letter-spacing:.14em;text-transform:uppercase;color:var(--wf-tinta-2)}
.wf-titulo{font-family:var(--wf-serif);font-weight:400;font-size:var(--wf-t-titulo);line-height:1.06;letter-spacing:-.012em;text-wrap:balance}
.wf-titulo em{font-style:normal;color:var(--wf-vinho)}
.wf-texto{color:var(--wf-tinta-2);max-width:36rem}
.wf-texto+.wf-texto{margin-top:1em}
.wf-cita{font-family:var(--wf-serif);font-size:clamp(1.2rem,1.9vw,1.6rem);line-height:1.32}
.wf-autor{font-size:var(--wf-t-mini);color:var(--wf-tinta-2);margin-top:.5rem}
.wf-noite .wf-autor{color:var(--wf-marfim-2)}

/* plaqueta de porta: abre cada seção */
.wf-plaqueta{position:relative;display:inline-flex;align-items:baseline;gap:.7rem;padding:.7rem 1.9rem .65rem;margin-bottom:1.6rem;font-size:var(--wf-t-mini);letter-spacing:.14em;text-transform:uppercase;color:var(--wf-tinta);background:linear-gradient(118deg in oklab,rgb(252 250 247 / .95),rgb(250 246 241 / .82) 45%,rgb(252 250 247 / .92));border:1px solid rgb(255 255 255 / .9);border-radius:2px;box-shadow:8px 12px 18px -12px rgb(50 40 34 / .45),2px 3px 0 -1px rgb(255 255 255 / .55)}
.wf-plaqueta b{font-family:var(--wf-serif);font-weight:400;font-size:1.05rem;letter-spacing:.02em;color:var(--wf-ouro-esc)}
.wf-plaqueta::before,.wf-plaqueta::after{content:"";position:absolute;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#c3beb6 55%,#6f6a63);box-shadow:2px 3px 3px rgb(0 0 0 / .25)}
.wf-plaqueta::before{left:8px}.wf-plaqueta::after{right:8px}
.wf-noite .wf-plaqueta{color:var(--wf-tinta)}

/* placa de acrílico grande (como a da porta) */
.wf-placa{position:relative;padding:1.6rem 1.8rem 1.5rem;border-radius:2px;background:linear-gradient(118deg in oklab,rgb(252 250 247 / .95),rgb(250 246 241 / .84) 45%,rgb(252 250 247 / .93));border:1px solid rgb(255 255 255 / .9);box-shadow:var(--wf-sombra),3px 5px 0 -2px rgb(255 255 255 / .55);color:var(--wf-tinta)}
.wf-placa .wf-autor,.wf-placa .wf-texto{color:var(--wf-tinta-2)}
.wf-pino{position:absolute;width:11px;height:11px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#c3beb6 55%,#6f6a63);box-shadow:3px 4px 4px rgb(0 0 0 / .28)}
.wf-pino:nth-of-type(1){left:9px;top:9px}.wf-pino:nth-of-type(2){right:9px;top:9px}.wf-pino:nth-of-type(3){left:9px;bottom:9px}.wf-pino:nth-of-type(4){right:9px;bottom:9px}
.wf-assina{font-family:var(--wf-mao);line-height:.8;white-space:nowrap;background:linear-gradient(100deg,#6f5220,#c9a557 28%,#7d5c24 52%,#d9bb72 76%,#6f5220);-webkit-background-clip:text;background-clip:text;color:transparent;padding:.22em .15em 0 0}
.wf-ouro-txt{background:linear-gradient(100deg,#6f5220,#c9a557 28%,#7d5c24 52%,#d9bb72 76%,#6f5220);-webkit-background-clip:text;background-clip:text;color:transparent}

/* o laço: <svg class="wf-laco" viewBox="0 0 120 56"><use href="#wf-laco-forma"/></svg> (cor e espessura no svg) */
.wf-laco{fill:none;stroke:var(--wf-ouro);stroke-width:1.4;overflow:visible}

/* ações */
.wf-btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:56px;padding:0 1.7rem;border-radius:999px;background:var(--wf-tinta);color:#fbf7f1;text-decoration:none;font-weight:600;font-size:1rem;box-shadow:0 14px 30px -14px rgb(35 31 30 / .55);transition:transform .25s,box-shadow .25s}
.wf-btn:hover{transform:translateY(-2px);box-shadow:0 20px 34px -14px rgb(35 31 30 / .6)}
.wf-noite .wf-btn{background:linear-gradient(100deg,#e9d49b,#c9a557);color:var(--wf-noite)}
.wf-link{display:inline-flex;align-items:center;min-height:48px;font-size:.96rem;text-underline-offset:.3em;text-decoration-color:var(--wf-ouro)}

/* entrada por rolagem: data-wf-entra (opcional style="--d:1") */
[data-wf-entra]{opacity:0;transform:translateY(18px);transition:opacity .9s var(--wf-curva),transform .9s var(--wf-curva);transition-delay:calc(var(--d,0)*.16s)}
[data-wf-entra].wf-visto{opacity:1;transform:none}
.wf-sem-js [data-wf-entra]{opacity:1;transform:none}
