/* okurairi.com */
* { margin: 0; padding: 0; box-sizing: border-box; }
body { background: #f5e6c8; color: #3d2b1a; font-family: 'Lato', sans-serif; font-weight: 400; line-height: 1.7; }
.cover { text-align: center; padding: 6rem 2rem 3rem; position: relative; }
.corner-bracket { position: absolute; width: 24px; height: 24px; border-color: #8b7355; border-style: solid; }
.corner-bracket.tl { top: 2rem; left: 2rem; border-width: 1px 0 0 1px; }
.corner-bracket.tr { top: 2rem; right: 2rem; border-width: 1px 1px 0 0; }
.brand { font-family: 'Playfair Display', serif; font-weight: 700; font-size: clamp(2rem, 5vw, 3rem); color: #3d2b1a; opacity: 0.85; }
.subtitle { font-size: 0.6rem; text-transform: uppercase; letter-spacing: 0.2em; color: #8b7355; display: block; margin-top: 0.5rem; }
.ornamental-rule { position: relative; width: 200px; height: 1px; background: #8b7355; margin: 2.5rem auto; }
.ornamental-rule .diamond { position: absolute; top: -4px; left: 50%; transform: translateX(-50%) rotate(45deg); width: 8px; height: 8px; background: #b8860b; }
.stacks { max-width: 500px; margin: 0 auto; padding: 1rem 2rem 3rem; }
.timeline { position: relative; padding-left: 2rem; border-left: 1px solid #c9b896; }
.timeline-entry { position: relative; margin-bottom: 2rem; }
.timeline-node { position: absolute; left: -2rem; top: 0.5rem; width: 10px; height: 10px; border-radius: 50%; background: #b8860b; transform: translateX(-5px); }
.archive-card { background: #faf0e1; padding: 1.5rem; box-shadow: 2px 2px 0 #c9b896, 4px 4px 0 #c9b896; position: relative; }
.rot-neg { transform: rotate(-1deg); }
.rot-pos { transform: rotate(1.5deg); }
.rot-neg-sm { transform: rotate(-0.5deg); }
.catalog { font-family: 'IBM Plex Mono', monospace; font-size: 0.6rem; color: #8b7355; }
.catalog.gold { color: #b8860b; font-size: 0.8rem; }
.date-stamp { font-family: 'IBM Plex Mono', monospace; font-size: 0.55rem; color: #8b7355; display: block; margin: 0.3rem 0 0.5rem; }
.card-title { font-family: 'Playfair Display', serif; font-weight: 700; font-size: 1rem; margin-bottom: 0.4rem; }
.card-desc { font-size: 0.8rem; color: #5c4a3a; }
.stamp { position: absolute; top: 1rem; right: 1rem; font-family: 'IBM Plex Mono', monospace; font-size: 0.5rem; text-transform: uppercase; color: rgba(139, 0, 0, 0.35); transform: rotate(-12deg); letter-spacing: 0.1em; border: 1px solid rgba(139, 0, 0, 0.2); padding: 2px 6px; }
.vault { text-align: center; padding: 4rem 2rem; background: #3d2b1a; color: #f5e6c8; }
.vault-title { font-family: 'Playfair Display', serif; font-weight: 700; font-size: 1.3rem; color: #b8860b; margin-bottom: 1rem; }
.vault-text { font-size: 0.85rem; max-width: 400px; margin: 0 auto 1.5rem; opacity: 0.8; }
.seal { text-align: center; padding: 3rem 2rem 4rem; }
.seal-text { font-family: 'Playfair Display', serif; font-weight: 700; font-size: 1rem; color: #8b7355; margin-bottom: 0.5rem; }
.fade-in { opacity: 0; transform: translateY(12px); transition: opacity 0.5s ease, transform 0.5s ease; }
.fade-in.visible { opacity: 1; transform: translateY(0); }
