:root{--ink:#1c2a35;--muted:#5b625b;--paper:#fbf5e9;--sun:#c87b16;--clay:#a94734;--line:#d8cdbc;--navy:#1d3b50}*{box-sizing:border-box}html{background:#c8d1ca}body{color:var(--ink);background:#c8d1ca;margin:0;font-family:Manrope,sans-serif}main{justify-content:center;min-height:100svh;display:flex}.invitation{isolation:isolate;background:var(--paper);width:100%;min-height:100svh;padding:26px 24px 28px;position:relative;overflow:hidden}.grain{z-index:-1;opacity:.3;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.15'/%3E%3C/svg%3E");position:absolute;inset:0}.topline{background:var(--sun);height:7px;position:absolute;inset:0 0 auto}.identity{text-align:center;text-transform:uppercase;letter-spacing:.075em;font-size:10px;font-weight:700;line-height:1.55}.identity p{margin:0}.identity span{color:var(--muted);letter-spacing:.07em;margin-top:5px;font-family:DM Mono,monospace;font-size:8px;display:block}.hero{text-align:center;margin-top:25px}.logo-stage{background:var(--navy);border:1px solid #ffffff57;border-radius:50%;place-items:center;width:176px;height:176px;margin:0 auto;animation:.8s cubic-bezier(.2,.7,.3,1) both rise;display:grid;box-shadow:inset 0 0 0 8px #31536a,0 10px 22px #1c2a352e}.aa-logo{object-fit:contain;width:137px;height:auto}.eyebrow{color:var(--clay);text-transform:uppercase;letter-spacing:.28em;margin:13px 0 0;font-family:DM Mono,monospace;font-size:11px}h1{letter-spacing:-.065em;margin:4px 0 0;font-family:Fraunces,Georgia,serif;font-size:clamp(48px,14vw,64px);font-weight:500;line-height:.8}h1 span,h1 em{display:block}h1 em{color:var(--clay);letter-spacing:-.075em;padding-right:8px;font-size:.68em;font-style:italic}.rule{color:var(--sun);justify-content:center;align-items:center;gap:11px;margin-top:22px;display:flex}.rule i{background:currentColor;width:38px;height:1px}.rule span{border:1px solid;border-radius:50%;place-items:center;width:23px;height:23px;font-family:Fraunces,Georgia,serif;font-size:14px;display:grid}.anniversary{text-transform:uppercase;letter-spacing:.15em;margin:9px 0 0;font-family:DM Mono,monospace;font-size:10px}.invitation-copy{text-align:center;max-width:340px;margin:38px auto 0}.invitation-copy p{margin:0;font-size:14px;line-height:1.55}.invitation-copy h2{color:var(--clay);letter-spacing:-.04em;margin:4px 0 12px;font-family:Fraunces,Georgia,serif;font-size:34px;font-weight:500;line-height:1}.invitation-copy .message{color:var(--muted);font-size:13px;line-height:1.65}.groups{margin-top:35px}.section-label{color:var(--muted);text-transform:uppercase;letter-spacing:.15em;align-items:center;gap:10px;margin:0 0 15px;font-family:DM Mono,monospace;font-size:9px;font-weight:500;display:flex}.section-label:before,.section-label:after{background:var(--line);content:"";flex:1;height:1px}.group-list{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;margin:0;padding:0;list-style:none;display:grid}.group-list li{border-bottom:1px solid var(--line);align-items:baseline;gap:6px;min-height:44px;padding:10px 6px 8px;font-size:11px;font-weight:700;line-height:1.35;display:flex}.group-list li:nth-child(odd){border-right:1px solid var(--line);padding-left:0}.group-list li:nth-child(2n){padding-left:12px}.group-list b{color:var(--sun);font-family:DM Mono,monospace;font-size:8px;font-weight:500}footer{border-top:1px solid var(--line);text-align:center;margin-top:35px;padding-top:17px}footer p{color:var(--clay);margin:0;font-family:Fraunces,Georgia,serif;font-size:20px;font-style:italic}footer span{color:var(--muted);text-transform:uppercase;letter-spacing:.15em;margin-top:5px;font-family:DM Mono,monospace;font-size:8px;display:block}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (min-width:580px){main{padding:35px 0}.invitation{width:490px;min-height:850px;padding:31px 46px;box-shadow:0 16px 45px #1c2a352e}.identity{font-size:10px}.hero{margin-top:31px}.groups{margin-top:39px}}
