*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--gold: #b8860b;--gold-light: #d4a843;--gold-dark: #8b6914;--parchment: #fdf5e6;--parchment-dark: #f5e6c8;--ink: #2c1810;--ink-light: #4a3728;--accent: #8b0000;--rose: #c4566a;--rose-light: #e8a0b0;--cream: #fffef7;--border-gold: linear-gradient(135deg, #b8860b, #d4a843, #b8860b, #8b6914, #d4a843)}html{scroll-behavior:smooth}body{font-family:Cormorant Garamond,Georgia,serif;background:#1a0a0a;color:var(--ink);min-height:100vh;display:flex;justify-content:center;align-items:flex-start;padding:40px 20px;line-height:1.8;position:relative;overflow-x:hidden}.page-bg{position:fixed;inset:0;background:radial-gradient(ellipse at 20% 50%,rgba(139,0,0,.15) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(184,134,11,.1) 0%,transparent 50%),radial-gradient(ellipse at 50% 80%,rgba(196,86,106,.1) 0%,transparent 50%),linear-gradient(160deg,#1a0a0a,#2d1216,#1a0a0a 60%,#1e1008);z-index:-2}.floating-hearts{position:fixed;inset:0;pointer-events:none;z-index:-1;overflow:hidden}.floating-heart{position:absolute;color:#c4566a26;animation:floatHeart linear infinite;pointer-events:none}@keyframes floatHeart{0%{transform:translateY(100vh) rotate(0) scale(.5);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(-10vh) rotate(360deg) scale(1.2);opacity:0}}.certificate-wrapper{width:100%;max-width:860px;z-index:1;animation:fadeInUp 1.2s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.certificate{position:relative;background:var(--border-gold);padding:6px;border-radius:4px;box-shadow:0 0 30px #b8860b4d,0 0 60px #b8860b1a,0 20px 60px #00000080}.certificate-inner{background:var(--parchment);border:2px solid var(--gold);border-radius:2px;padding:60px 70px;position:relative;background-image:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100' height='100' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E"),linear-gradient(180deg,var(--parchment) 0%,var(--parchment-dark) 50%,var(--parchment) 100%)}.corner-ornament{position:absolute;font-size:36px;color:var(--gold);z-index:2;filter:drop-shadow(0 0 6px rgba(184,134,11,.4));line-height:1}.top-left{top:16px;left:20px;transform:rotate(0)}.top-right{top:16px;right:20px;transform:scaleX(-1)}.bottom-left{bottom:16px;left:20px;transform:scaleY(-1)}.bottom-right{bottom:16px;right:20px;transform:scale(-1)}.certificate-header{text-align:center;margin-bottom:40px}.certificate-title{font-family:Cinzel Decorative,Cinzel,serif;font-size:2.2rem;font-weight:700;color:var(--gold-dark);letter-spacing:3px;line-height:1.3;margin:20px 0;text-shadow:1px 1px 2px rgba(184,134,11,.2)}.ornamental-line{color:var(--gold);font-size:1rem;letter-spacing:4px;opacity:.8}.ornamental-line.small{font-size:1.8rem}.certificate-body{font-size:1.05rem;color:var(--ink)}.intro-text{text-align:center;font-style:italic;margin-bottom:30px;font-size:1.05rem;color:var(--ink-light)}.parties{text-align:center;margin:30px 0;padding:25px 30px;border:1px solid rgba(184,134,11,.3);border-radius:4px;background:#b8860b0a}.party{margin:10px 0}.party-label{font-family:Cinzel,serif;font-weight:600;font-size:.95rem;letter-spacing:2px;color:var(--gold-dark)}.party-name{font-family:Great Vibes,cursive;font-size:2rem;color:var(--accent);margin:0 8px}.party-ref{font-size:.9rem;font-style:italic;color:var(--ink-light);display:block;margin-top:2px}.party-separator{font-family:Cinzel,serif;font-size:.9rem;letter-spacing:6px;color:var(--gold);margin:15px 0;font-weight:600}.collective{text-align:center;margin-bottom:35px;font-size:1rem;color:var(--ink-light)}.section{margin:30px 0}.section-title-decorative{font-family:Cinzel Decorative,Cinzel,serif;font-size:1.4rem;color:var(--gold-dark);text-align:center;margin-bottom:20px;letter-spacing:3px}.preamble p{margin-bottom:14px;text-align:justify}.preamble p strong{font-family:Cinzel,serif;font-size:.9rem;letter-spacing:1px;color:var(--accent)}.article-title{font-family:Cinzel,serif;font-size:1.3rem;text-align:center;color:var(--gold-dark);letter-spacing:4px;text-transform:uppercase;margin-bottom:5px}.article-subtitle{font-family:Playfair Display,serif;font-size:1.15rem;text-align:center;color:var(--accent);font-style:italic;margin-bottom:18px;font-weight:500}.article p,.declaration p{margin-bottom:14px;text-align:justify}.article ol{margin-left:25px;margin-bottom:10px}.article ol li{margin-bottom:10px;text-align:justify;padding-left:5px}.article ol li::marker{color:var(--gold-dark);font-weight:600}.article ul{list-style:none;margin:15px 0 15px 20px}.article ul li{position:relative;padding-left:22px;margin-bottom:6px}.article ul li:before{content:"❦";position:absolute;left:0;color:var(--rose);font-size:.85rem}.duration-list,.resolution-list{list-style:none;margin:15px 0 15px 20px!important}.duration-list li,.resolution-list li{position:relative;padding-left:22px;margin-bottom:6px}.duration-list li:before,.resolution-list li:before{content:"❦";position:absolute;left:0;color:var(--rose);font-size:.85rem}.divider{text-align:center;color:var(--gold);margin:35px 0;font-size:.95rem;letter-spacing:3px;opacity:.7}.large-divider{font-size:1rem;opacity:.9;margin:45px 0}.declaration{margin-top:10px}.declaration p{margin-bottom:14px}.signature-section{display:flex;justify-content:space-between;gap:40px;margin:50px 0 30px;flex-wrap:wrap}.signature-block{flex:1;min-width:200px;text-align:center}.signature-label{font-family:Cinzel,serif;font-size:.85rem;letter-spacing:2px;color:var(--ink-light);margin-bottom:10px}.signature-area{width:100%;height:120px;display:flex;align-items:center;justify-content:center;position:relative;margin-bottom:8px;border-radius:4px;overflow:hidden}.signature-area.clickable{cursor:pointer;border:2px dashed var(--rose-light);background:#c4566a08;transition:all .3s ease}.signature-area.clickable:hover{border-color:var(--rose);background:#c4566a14;transform:scale(1.02)}.signature-area.clickable:hover .sign-text{color:var(--rose)}.signature-area.signed-complete{border:none;background:transparent;cursor:default}.sign-prompt{display:flex;flex-direction:column;align-items:center;gap:6px;transition:all .3s ease}.sign-icon{font-size:2rem;animation:pulseSign 2s ease-in-out infinite}@keyframes pulseSign{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.1);opacity:1}}.sign-text{font-family:Cinzel,serif;font-size:.8rem;letter-spacing:2px;color:var(--ink-light);text-transform:uppercase;transition:color .3s ease}.signature-img{max-width:80%;max-height:100%;object-fit:contain;mix-blend-mode:multiply}.signature-img.hidden{display:none}.signature-img.fade-in{display:block;animation:signFadeIn .8s ease-out forwards}@keyframes signFadeIn{0%{opacity:0;transform:scale(.5) rotate(-5deg)}to{opacity:1;transform:scale(1) rotate(0)}}.signature-line{width:100%;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin-bottom:8px}.signature-name{font-family:Cormorant Garamond,serif;font-size:1rem;color:var(--ink)}.signature-name strong{font-family:Great Vibes,cursive;font-size:1.3rem;color:var(--accent)}.date-section{text-align:center;margin:30px 0 20px;font-size:1.05rem}.date-label{font-family:Cinzel,serif;font-size:.9rem;letter-spacing:2px;color:var(--gold-dark);margin-right:10px}.date-value{font-family:Playfair Display,serif;font-style:italic;color:var(--ink);font-size:1.1rem;border-bottom:1px solid var(--gold-light);padding-bottom:2px}.certificate-footer{text-align:center;margin-top:40px}.footer-text{font-family:Great Vibes,cursive;font-size:1.5rem;color:var(--rose);margin:15px 0}.music-overlay{position:fixed;inset:0;background:#0a0505d9;z-index:2000;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:opacity .6s ease}.music-overlay.fade-out{opacity:0;pointer-events:none}.music-prompt{display:flex;flex-direction:column;align-items:center;gap:16px;animation:pulseOverlay 2s ease-in-out infinite}@keyframes pulseOverlay{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.05);opacity:1}}.music-icon{font-size:4rem;color:var(--gold-light);text-shadow:0 0 20px rgba(184,134,11,.5)}.music-text{font-family:Cinzel,serif;font-size:1.1rem;letter-spacing:4px;color:var(--parchment);text-transform:uppercase}.music-toggle{position:fixed;bottom:24px;right:24px;z-index:1500;width:48px;height:48px;border-radius:50%;border:2px solid var(--gold);background:#1a0a0acc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--gold-light);font-size:1.3rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 4px 15px #0006}.music-toggle:hover{background:#b8860b33;transform:scale(1.1);box-shadow:0 4px 20px #b8860b4d}#confettiCanvas{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1000}@media(max-width:768px){body{padding:15px 10px}.certificate-inner{padding:40px 30px}.certificate-title{font-size:1.5rem;letter-spacing:1px}.corner-ornament{font-size:24px}.signature-section{flex-direction:column;gap:30px}.party-name{font-size:1.6rem}.ornamental-line{font-size:.75rem;letter-spacing:2px}.parties{padding:15px 20px}}@media(max-width:480px){.certificate-inner{padding:30px 20px}.certificate-title{font-size:1.2rem}.certificate-body{font-size:.95rem}.corner-ornament{font-size:18px}.section-title-decorative,.article-title{font-size:1.1rem}.article-subtitle{font-size:1rem}}@media print{body{background:#fff;padding:0}.page-bg,.floating-hearts,#confettiCanvas{display:none}.certificate{box-shadow:none}.signature-area.clickable{border-style:solid}.sign-prompt{display:none}}
