/* GBTM redesign mockups 9/6 — shared tokens (book design system) */
@font-face{font-family:'Bodoni Moda';src:url('fonts/bodoni-moda-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Bodoni Moda';src:url('fonts/bodoni-moda-latin-500-normal.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:'Bodoni Moda';src:url('fonts/bodoni-moda-latin-700-normal.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:'Bodoni Moda';src:url('fonts/bodoni-moda-latin-400-italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap;}
@font-face{font-family:'Bodoni Moda';src:url('fonts/bodoni-moda-latin-500-italic.woff2') format('woff2');font-weight:500;font-style:italic;font-display:swap;}
@font-face{font-family:'Fraunces';src:url('fonts/fraunces-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Fraunces';src:url('fonts/fraunces-latin-400-italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap;}
@font-face{font-family:'Fraunces';src:url('fonts/fraunces-latin-600-normal.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:'Space Grotesk';src:url('fonts/space-grotesk-latin-500-normal.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:'Space Grotesk';src:url('fonts/space-grotesk-latin-700-normal.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;}
/* Closed type system: Bodoni Moda / Fraunces / Space Grotesk only. Caveat + Alex Brush removed 9/18 (banned). */
:root{--cream:#FAF6EF;--ink:#1A1A1A;--night:#141312;--gold:#B0965A;--gold-deep:#94804A;--gold-hi:#D4BB7A;--shell:#EFE6DA;--prose:#2b2620;}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Fraunces',Georgia,serif;font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:inherit;}
.whisper{font-family:'Space Grotesk',sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:0.3em;font-size:0.66rem;color:var(--gold);}
.hand{font-family:'Bodoni Moda',serif;font-weight:400;font-style:italic;color:var(--gold);}
/* .sig = her real signature artwork (img/victoria-signature-gold.png), never a script font */
img.sig{display:block;height:2.6em;width:auto;max-width:100%;}
span.sig{font-family:'Bodoni Moda',serif;font-weight:400;font-style:italic;color:var(--gold);}
.serif{font-family:'Bodoni Moda',serif;}
.btn{display:inline-block;text-decoration:none;cursor:pointer;font-family:'Space Grotesk',sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:0.22em;font-size:0.66rem;padding:1.05rem 1.8rem;border:1px solid transparent;transition:all .25s ease;}
.btn.solid{background:var(--ink);color:var(--cream);border-color:var(--ink);}
.btn.solid:hover{background:var(--gold-deep);border-color:var(--gold-deep);}
.btn.ghost{background:transparent;color:var(--ink);border-color:rgba(26,26,26,0.55);}
.btn.ghost:hover{border-color:var(--gold-deep);color:var(--gold-deep);}
.btn.gold{background:var(--gold);color:var(--night);border-color:var(--gold);}
.btn.gold:hover{background:var(--gold-hi);border-color:var(--gold-hi);}
.btn.ghost-dark{background:transparent;color:var(--cream);border-color:rgba(250,246,239,0.45);}
.btn.ghost-dark:hover{border-color:var(--gold);color:var(--gold);}
/* paper tooth */
.tex{position:relative;}
.tex::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:3;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/><feColorMatrix type='saturate' values='0'/></filter><rect width='220' height='220' filter='url(%23n)' opacity='0.5'/></svg>");opacity:0.045;mix-blend-mode:multiply;}
.tex.dark::after{mix-blend-mode:screen;opacity:0.05;}
/* CSS-rendered night page (the real book typography — not an AI image) */
.npage{background:radial-gradient(120% 90% at 30% 20%,#232120 0%,#151413 55%,#0e0d0c 100%);color:var(--gold-hi);position:relative;overflow:hidden;box-shadow:0 30px 60px -20px rgba(0,0,0,0.55);}
.npage::before{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='260' height='260'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3'/><feColorMatrix type='saturate' values='0'/></filter><rect width='260' height='260' filter='url(%23n)' opacity='0.5'/></svg>");opacity:0.09;mix-blend-mode:screen;pointer-events:none;}
.npage::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,0.35) 0%,rgba(0,0,0,0) 12%,rgba(0,0,0,0) 90%,rgba(255,255,255,0.04) 100%);pointer-events:none;}
.npage .q{font-family:'Bodoni Moda',serif;font-weight:400;font-style:italic;line-height:1.28;position:relative;z-index:2;text-shadow:0 0 18px rgba(212,187,122,0.15);}
.npage .q b{font-weight:700;font-style:normal;color:#EFE0B8;}
.npage .attr{position:relative;z-index:2;font-family:'Space Grotesk',sans-serif;letter-spacing:0.28em;text-transform:uppercase;font-size:0.58rem;color:rgba(212,187,122,0.6);margin-top:1.6rem;}
/* CSS-rendered cream cover (the actual cover lockup) */
.cover{background:linear-gradient(160deg,#FBF8F2 0%,#F3EBDD 100%);color:var(--ink);position:relative;box-shadow:0 34px 60px -22px rgba(26,26,26,0.45),inset 0 0 0 1px rgba(26,26,26,0.06);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;overflow:hidden;}
.cover::before{content:'';position:absolute;left:0;top:0;bottom:0;width:6%;background:linear-gradient(90deg,rgba(0,0,0,0.12),rgba(0,0,0,0));}
.cover .t{font-family:'Bodoni Moda',serif;font-weight:700;line-height:0.95;letter-spacing:-0.01em;}
.cover .t em{display:block;font-weight:400;font-style:italic;color:var(--gold);}
.cover .s{font-family:'Space Grotesk',sans-serif;text-transform:uppercase;letter-spacing:0.22em;font-size:0.5em;color:rgba(26,26,26,0.6);margin-top:1.4em;}
.cover .a{font-family:'Space Grotesk',sans-serif;text-transform:uppercase;letter-spacing:0.3em;font-size:0.5em;color:var(--gold-deep);position:absolute;bottom:8%;left:0;right:0;}
/* photo placeholder for the real shoot */
.shot{position:relative;background:var(--shell);border:1px dashed rgba(176,150,90,0.7);display:flex;align-items:center;justify-content:center;text-align:center;color:var(--gold-deep);font-family:'Space Grotesk',sans-serif;text-transform:uppercase;letter-spacing:0.22em;font-size:0.6rem;line-height:1.9;padding:1.4rem;}
.shot.dark{background:#1d1b19;border-color:rgba(212,187,122,0.45);color:var(--gold);}
.shot small{display:block;text-transform:none;letter-spacing:0.02em;font-family:'Fraunces',serif;font-style:italic;font-size:0.85rem;color:inherit;opacity:0.85;margin-top:0.4rem;}
/* fade-up */
.fx{opacity:0;transform:translateY(14px);transition:opacity .8s ease,transform .8s ease;}
.fx.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){.fx{opacity:1;transform:none;transition:none;}}
/* mockup ribbon */
.ribbon{position:fixed;top:0;left:0;z-index:999;background:#c0392b;color:#fff;font-family:'Space Grotesk',sans-serif;font-size:0.55rem;letter-spacing:0.2em;text-transform:uppercase;padding:0.3rem 0.8rem;opacity:0.85;pointer-events:none;}
