:root{--paper:#f6f1e7;--ink:#1c1a15;--coral:#ff5a36;--cobalt:#2b50ff;--butter:#ffd84d;--mint:#b7f0c0;--serif:"Fraunces",Georgia,serif;--sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,"Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji","Apple Color Emoji",sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16.5px;line-height:1.6;overflow-x:hidden}body:after{content:"";pointer-events:none;z-index:999;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}::selection{background:var(--butter)}h1,h2,h3{font-family:var(--serif);letter-spacing:-.01em;font-weight:650;line-height:1.08}a{color:inherit}.wrap{max-width:860px;margin:0 auto;padding:0 20px}nav{z-index:50;backdrop-filter:blur(10px);border-bottom:2px solid var(--ink);background:#f6f1e7e6;position:sticky;top:0}.nav-in{justify-content:space-between;align-items:center;max-width:860px;margin:0 auto;padding:12px 20px;display:flex}.logo{font-family:var(--serif);align-items:center;gap:9px;font-size:20px;font-weight:650;text-decoration:none;display:flex}.badge{background:var(--butter);border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink);border-radius:6px;padding:3px 10px;font-size:12px;font-weight:700;transform:rotate(-2deg)}.btn{background:var(--ink);color:var(--paper);border:2px solid var(--ink);cursor:pointer;font-size:15.5px;font-weight:600;font-family:var(--sans);border-radius:999px;align-items:center;gap:8px;padding:12px 24px;text-decoration:none;transition:transform .15s,box-shadow .15s;display:inline-flex;box-shadow:4px 4px #1c1a1540}.btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px #1c1a154d}.btn.coral{background:var(--coral);color:#fff}.btn.ghost{color:var(--ink);background:0 0}.btn.small{padding:8px 16px;font-size:13.5px}h1{margin:44px 0 12px;font-size:clamp(34px,7vw,56px)}h1 em{color:var(--coral);font-style:italic}.cols{grid-template-columns:1fr 1.1fr;align-items:start;gap:26px;margin:30px 0 60px;display:grid}@media (width<=760px){.cols{grid-template-columns:1fr}}.card{border:2px solid var(--ink);box-shadow:5px 5px 0 var(--ink);background:#fff;border-radius:16px;padding:24px}label{letter-spacing:.05em;text-transform:uppercase;opacity:.65;margin:14px 0 6px;font-size:13px;font-weight:700;display:block}input[type=text],select,textarea{border:2px solid var(--ink);background:var(--paper);border-radius:12px;width:100%;padding:12px 15px;font-family:inherit;font-size:15.5px;display:block}input:focus,select:focus,textarea:focus{outline:3px solid var(--butter)}textarea{resize:vertical;min-height:64px}.hint{opacity:.6;font-size:12.5px}.how{background:var(--mint);border:2px solid var(--ink);border-radius:12px;margin-top:16px;padding:12px 15px;font-size:13.5px}.gcard{background:var(--paper);border:2.5px solid var(--ink);box-shadow:7px 7px 0 var(--ink);border-radius:18px;position:sticky;top:80px;overflow:hidden}.gc-top{background:var(--ink);color:var(--paper);justify-content:space-between;align-items:center;padding:20px 22px;display:flex}.gc-top .lg{font-family:var(--serif);align-items:center;gap:8px;font-size:18px;display:flex}.gc-top .cty{background:var(--butter);color:var(--ink);border:2px solid var(--paper);border-radius:999px;padding:3px 12px;font-size:12px;font-weight:800}.gc-body{text-align:center;padding:26px 24px 22px;position:relative}.gc-body .circ{margin-bottom:6px}.gc-body h2{font-size:26px;line-height:1.15}.gc-body .names{color:var(--coral)}.gc-note{font-family:var(--serif);opacity:.85;max-width:300px;min-height:22px;margin:12px auto 0;font-size:15px;font-style:italic}.gc-qr{border:2px solid var(--ink);background:#fff;border-radius:12px;width:118px;height:118px;margin:18px auto 6px;padding:6px}.gc-cap{opacity:.65;max-width:280px;margin:0 auto;font-size:11.5px}.gc-foot{opacity:.7;border-top:2px dashed #1c1a1559;justify-content:space-between;padding:12px 22px;font-size:11px;display:flex}.actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}#payRow{background:var(--butter);border:2px solid var(--ink);border-radius:12px;margin-top:14px;padding:12px 15px;font-size:13.5px;display:none}#printSheet{display:none}@media print{body:after{display:none}nav,.wrap,footer{display:none!important}body{background:#fff}@page{size:A4 portrait;margin:12mm}#printSheet{width:180mm;color:var(--ink);margin:0 auto;display:block}.p-half{text-align:center;background:var(--paper);print-color-adjust:exact;border:1px dashed #c8c2b4;border-radius:5mm;justify-content:center;align-items:center;height:127mm;display:flex;position:relative;overflow:hidden}.p-cover{transform:rotate(180deg)}.p-in{width:100%;padding:10mm}.p-brand{font-family:var(--serif);margin-top:3mm;font-size:20px;font-weight:650}.p-title{font-family:var(--serif);margin:5mm 0 4mm;font-size:30px;line-height:1.12}.p-title .names{color:var(--coral)}.p-city{background:var(--butter);border:2px solid var(--ink);letter-spacing:.06em;border-radius:999px;padding:2px 12px;font-size:12px;font-weight:800;display:inline-block}.p-fold{color:#9a937f;text-transform:uppercase;letter-spacing:.12em;align-items:center;gap:8px;margin:2.5mm 0;font-size:9px;display:flex}.p-fold:before,.p-fold:after{content:"";border-top:1px dashed #c8c2b4;flex:1}.p-note{font-family:var(--serif);max-width:120mm;min-height:8mm;margin:0 auto 4mm;font-size:16px;font-style:italic}.p-qr{border:2px solid var(--ink);background:#fff;border-radius:3mm;width:34mm;height:34mm;margin:0 auto 4mm;padding:2mm}.p-qr img,.p-qr canvas,.p-qr svg{width:100%;height:100%}.p-cap{opacity:.75;max-width:100mm;margin:0 auto 4mm;font-size:11px}.p-from{font-size:12px;font-weight:700}.p-meta{opacity:.6;margin-top:2mm;font-size:10px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media (width<=560px){.hideS{display:none}}
