/* Grafito conserva el marco geométrico, estructura y tiempos de Oro. */
:root{--ink:#242424;--gold:#aeb0b1;--gold-ink:#555758;--paper:#e5e5e2;--night:#1b1b1b;--ib-entry-bg:#171717}
body{background:#171717;color:var(--ink)}
body>.entry,.hero,.story,.event,.agenda,.details,.rsvp,.closing,footer,dialog{filter:grayscale(1)}
.album-copy,.album-controls,.album .divider{filter:grayscale(1)}
.paper{background:linear-gradient(180deg,#e5e5e2 0 5%,#f6f6f3 32%,#d1d1ce 68%,#e5e5e2 96%)}
.sage{background:linear-gradient(180deg,#b6b6b3 0 5%,#d4d4d1 31%,#9f9f9d 72%,#b6b6b3 96%)}
.dark,.dark:not(.entry){background:linear-gradient(180deg,#171717 0 5%,#303031 48%,#171717 96%);color:#f3f3f1;--gold-ink:#cacbca}
.surface:before{opacity:.14;background-image:repeating-linear-gradient(171deg,transparent 0 2px,#59595920 2px 3px,transparent 3px 5px),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.56' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)' opacity='.23'/%3E%3C/svg%3E")}
.entry{background:radial-gradient(ellipse at 50% 44%,#6666663d,transparent 62%),linear-gradient(135deg,#111,#272727 58%,#111);color:#f6f6f3}
.entry-emblem{color:#d2d2cf;border-color:#b7b7b766}.entry-prelude,.entry h1 em,.entry-date{color:#d6d6d2}.entry h1{color:#f5f5f2}.entry .eyebrow,.entry-message{color:#d0d0cd}
.entry-emblem{animation:monogramLight 6s ease-in-out infinite alternate}
@keyframes monogramLight{from{color:#a4a4a1;text-shadow:0 0 20px #ffffff00}to{color:#eeeeea;text-shadow:0 0 24px #ffffff33}}
.fine-rule{background:linear-gradient(90deg,transparent,#aaa,transparent)}
.button{background:#252525;color:#f4f4f0;border-color:#252525}.button:hover{background:#505050}.button-light{background:linear-gradient(115deg,#a8a9a9,#f3f3f0 47%,#b6b6b4);color:#202020;border-color:#b5b5b2}.button-light:hover{background:#f7f7f5;color:#202020}.button-outline{background:transparent;color:#303030;border-color:#656565}.text-button{border-color:#777}.text-button.light{color:#e4e4e1;border-color:#aaa}
.hero{background:#171717}.hero-photo,.closing>img{filter:grayscale(1)}.hero-shade{background:linear-gradient(#0c0c0c9c 0%,#17171755 35%,transparent 65%,#111b)}
.gold-frame{background:linear-gradient(115deg,#737575 0%,#f8f8f6 30%,#9c9e9f 52%,#f5f5f2 72%,#737575 100%)}
.hero h1 em,.hero .eyebrow,.scroll-cue i{color:#e4e4e1}.hero-date span{background:#c4c4c280}
.count-grid span,.story-copy>p,.timeline p{color:#555}.count-grid i,.tiny-heart,.timeline time{color:#666}.date-seal,.event-details article+article{border-color:#74747477}.event-details p:not(.eyebrow):not(.event-time),.detail-grid p{color:#454545}
.album{background:linear-gradient(180deg,#171717 0 5%,#303031 48%,#171717 96%)}.album .slide{filter:none}.album-copy h2{color:#f3f3f0}.album-copy>p{color:#d2d2ce}.album-controls button{color:#d8d8d5}
.timeline li>div,.notes-row{border-color:#8888}.timeline li>div:before{background:#666}.detail-grid article+article:before{background:linear-gradient(90deg,transparent,#7778,transparent)}.detail-index{color:#555}
.rsvp h2{color:#f5f5f2}.rsvp-content>p:not(.eyebrow){color:#d5d5d1}.rsvp .signature{color:#d0d0cd}.closing{background:#171717}.closing-shade{background:linear-gradient(#17171722,#111a)}.closing-copy .signature{color:#eee}
footer em{color:#777}footer p{color:#555}.music-button{background:#171717;color:#e5e5e1;border-color:#aaa}.music-button[aria-pressed=true]{background:#ddd;color:#171717}
dialog{background:#e8e8e5;color:#242424;border-color:#aaa}dialog::backdrop{background:#111e}.modal-close,input,select{color:#242424}.form-note{color:#555}.form-result{background:#d4d4d1;border-color:#777}
@media(max-width:700px){.hero-copy{left:9%;width:82%}.hero h1{font-size:clamp(34px,9vw,48px)}.entry h1{font-size:clamp(40px,10vw,60px)}}
