@font-face{font-family:Barlow;src:url('assets/barlow-condensed-black.ttf') format('truetype');font-weight:900;font-style:normal;font-display:swap}
@font-face{font-family:DM;src:url('assets/dm-sans-regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:DM;src:url('assets/dm-sans-bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
:root{--ink:#263c7d;--paper:#faf5e9;--line:#b0b7ca;--background:#e7d6c8}
*{box-sizing:border-box}body{margin:0;background:var(--background);color:#292b26;font-family:DM,Arial,sans-serif;line-height:1.6}a{color:inherit;text-underline-offset:5px}a:focus-visible,button:focus-visible{outline:3px solid var(--ink);outline-offset:6px}button{font:inherit;cursor:pointer}h1,h2,p{margin:0}.skip-link{position:fixed;top:10px;left:10px;z-index:5;padding:10px 18px;background:#e9ff3b;transform:translateY(-160%)}.skip-link:focus{transform:none}
.note-intro{max-width:900px;margin:0 auto;padding:36px 28px 38px}.wordmark{font-family:Barlow,Impact,sans-serif;font-weight:900;font-size:29px;text-decoration:none;letter-spacing:-.025em}.eyebrow{font-size:10px;letter-spacing:.12em;font-weight:700;border-top:1px solid #bcae9f;padding-top:27px;margin-top:26px}h1{font-family:Barlow,Impact,sans-serif;font-size:clamp(64px,10vw,105px);line-height:.9;letter-spacing:-.015em;text-transform:uppercase;margin:26px 0}h1 em{font-style:normal;color:var(--ink)}.intro-copy{font-size:18px;line-height:1.6}.note-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px 26px;margin:25px 0}.note-actions button{display:flex;align-items:center;justify-content:space-between;gap:28px;border:0;background:var(--ink);color:#fff;font-size:12px;font-weight:700;min-height:50px;padding:15px 23px}.note-actions button:hover{background:#192d66}.note-actions>a{display:inline-flex;align-items:center;gap:18px;min-height:44px;font-size:12px;font-weight:700}.print-help,.companion-note{font-size:12px;line-height:1.8;max-width:670px}.companion-note{margin-top:12px;color:#575045}
.note-preview{padding:20px 24px 45px}.dedication-card{color:var(--ink);background:var(--paper);width:min(100%,550px);margin:0 auto;padding:34px 38px;border:1px dashed #82899a;box-shadow:12px 14px 0 #513b2a14}.card-top{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding-bottom:16px;font-size:9px;letter-spacing:.12em;font-weight:700}.card-star{font-size:29px;line-height:1}h2{font-family:Georgia,'Times New Roman',serif;font-size:53px;line-height:1.07;letter-spacing:-.04em;font-weight:400;margin:29px 0 20px}h2 em{font-weight:400}.card-invitation{font-size:13px;line-height:1.75;max-width:320px}.name-line{display:flex;align-items:flex-end;gap:13px;margin-top:29px;font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:17px}.rule{flex:1;min-height:22px;border-bottom:1px solid var(--line)}.message-label{margin-top:26px;font-size:11px}.message-lines{margin-top:8px}.message-lines span{display:block;border-bottom:1px solid var(--line);height:30px}.from-line{font-size:15px;margin-top:26px}.card-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-top:37px;padding-top:16px;border-top:1px solid var(--line);font-size:8px;letter-spacing:.06em;line-height:1.6}.card-footer strong{font-family:Barlow,Impact,sans-serif;font-size:19px;letter-spacing:0;line-height:1}.note-end{max-width:750px;margin:0 auto;padding:0 25px 46px;text-align:center;font-size:12px;line-height:1.8}.note-end>a{display:inline-flex;align-items:center;gap:10px;min-height:44px;margin-top:9px}
@media(max-width:520px){.note-intro{padding:25px 22px 23px}.wordmark{font-size:27px}.eyebrow{font-size:9px}.intro-copy{font-size:16px}.note-preview{padding:18px 18px 35px}.dedication-card{padding:25px 24px}.card-top{font-size:7px;gap:9px}.card-star{font-size:24px}h2{font-size:clamp(34px,10.6vw,51px);margin:24px 0 18px}.card-invitation{font-size:12px}.card-footer{gap:10px;font-size:6px}.card-footer strong{font-size:16px}.message-lines span{height:28px}.note-actions{gap:10px 22px}.note-actions button{font-size:11px;padding-inline:18px}}
@page{size:auto;margin:12mm}
.note-actions .download-link{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:50px;padding:15px 23px;background:var(--ink);color:#fff;font-size:12px;font-weight:700;text-decoration:none}.note-actions .download-link:hover{background:#192d66}.print-options{display:flex;align-items:center;flex-wrap:wrap;gap:10px 26px;margin-top:17px}.print-options button,.print-options a{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:6px 0;border:0;background:none;color:inherit;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:5px}.browser-print-help{max-width:670px;font-size:11px;line-height:1.7;color:#575045;margin-top:4px}@media(max-width:520px){.note-actions .download-link{flex:1 1 200px;font-size:11px;padding-inline:18px}}
@media print{
  body{background:#fff;color:#000}.skip-link,.note-intro,.note-end{display:none!important}.note-preview{padding:0;margin:0}.dedication-card{width:127mm;max-width:100%;height:178mm;margin:0 auto;padding:9mm;border:1px dashed #818797;box-shadow:none;background:#fff;color:#1c2850;break-inside:avoid;page-break-inside:avoid;print-color-adjust:exact;-webkit-print-color-adjust:exact}.card-top{font-size:6pt;padding-bottom:4mm;gap:4mm}.card-star{font-size:20pt}h2{font-size:31pt;line-height:1.08;margin:7mm 0 5mm}.card-invitation{font-size:8pt;line-height:1.6}.name-line{font-size:11pt;margin-top:7mm;gap:3mm}.rule{min-height:5mm;border-color:#a4abbc}.message-label{font-size:7pt;margin-top:6mm}.message-lines{margin-top:2mm}.message-lines span{height:7mm;border-color:#a4abbc}.from-line{font-size:9pt;margin-top:6mm}.card-footer{font-size:5pt;margin-top:8mm;padding-top:4mm;gap:4mm}.card-footer strong{font-size:12pt}
}
