:root{--green:#531e22;--paper:#eed4c1;--gold:#8c514b;--line:#b98f7c;--ink:#431317}body{background:#eed4c1}header{background:#eed4c1ef;border-color:#a9736655}.hero{grid-template-columns:1fr 1fr;background:#ead0bd}.invite{padding:68px 7%}.invite h1{font-family:'Great Vibes','Cormorant Garamond',serif;font-size:clamp(72px,8vw,116px);line-height:1.18;letter-spacing:0}.invite h1 span{font-family:'Cormorant Garamond',serif;color:#8d514b;font-size:44px;margin:0}.intro,.place,.details>p,.event p{color:#75474a}.art{background:#531e22;min-height:790px;padding:30px;display:flex;align-items:center;justify-content:center;perspective:1200px}.art img{position:relative;inset:auto;width:100%;height:auto;max-height:850px;object-fit:contain;box-shadow:0 20px 55px #21060966;transform-origin:center;will-change:transform}.art:after{inset:16px;border-color:#d9b39c66}.art-caption{display:none}.ribbon{color:#eed4c1;background:#531e22;border-top:1px solid #b98f7c}.countdown{background:#531e22;color:#eed4c1}.countdown .eyebrow,.countdown-note{color:#dcb49f}.button{background:#531e22;border-color:#531e22;box-shadow:0 8px 28px #531e2222}.button:hover{background:#743239;box-shadow:0 12px 34px #531e2233}.event:hover{background:#e2baa344}footer{background:#e3bfa8}.footdate{color:#7a4849}.opening{background:#531e22;color:#eed4c1}.cover{background:radial-gradient(ellipse at top,#c6877133,transparent);border-color:#c99e87;outline-color:#c99e8755;border-radius:160px 160px 2px 2px;padding-top:70px}.cover .eyebrow,.cover-names i{color:#e2b9a0}.cover-names{font-family:'Great Vibes','Cormorant Garamond',serif;font-size:clamp(54px,7vw,84px);line-height:1.25}.cover-names i{font-family:'Cormorant Garamond',serif;font-size:35px}.seal{background:linear-gradient(140deg,#a45760,#5a1b25);border-color:#bc7b80;color:#f6d9c4;box-shadow:0 0 0 6px #b9747919,0 8px 30px #21060966}.seal:hover{box-shadow:0 0 0 12px #b9747926,0 8px 30px #21060966}.progress{background:#ab6e66}.hero-glow{background:radial-gradient(circle at var(--mx,50%) var(--my,50%),#fff3,transparent 55%)}.motion-toggle{border-color:#b98f7c;color:#531e22;background:#eed4c1}.monogram span{color:#8c514b}:focus-visible{outline-color:#a15762}@media(max-width:760px){.hero{grid-template-columns:1fr}.invite{padding:48px 24px}.invite h1{font-size:84px}.art{min-height:0;padding:25px}.art img{height:auto;max-height:none;object-position:center}.cover{padding-top:55px}.details{padding-top:58px}}
/* A living typographic invitation, with no duplicate printed card. */
.hero{display:block;min-height:0;padding:28px;background:#531e22}.invite{max-width:1100px;margin:auto;min-height:780px;padding:76px 36px 64px;background:#ead0bd;isolation:isolate;overflow:hidden;border-radius:48% 48% 3px 3px / 26% 26% 3px 3px}.invite h1{font-family:'Pinyon Script',cursive;font-size:clamp(72px,10vw,135px);line-height:1.2;margin:18px 0 26px;max-width:100%;letter-spacing:0}.name{display:block;font-weight:400;white-space:nowrap}.capital{font-weight:400;font-size:1.14em;line-height:1;display:inline-block}.invite h1 span{font-size:32px;line-height:1.3;margin:0;font-style:italic}.invite>.eyebrow{margin-top:28px}.cover-names{font-family:'Pinyon Script',cursive;line-height:1.3}.halo{position:absolute!important;z-index:-1!important;pointer-events:none;inset:22px;border:1px solid #9d6c6166;border-radius:48% 48% 3px 3px / 26% 26% 3px 3px}.halo-two{inset:30px;border:2px dotted #a7766555;animation:haloPulse 7s ease-in-out infinite}.light-dust{position:absolute!important;inset:0;z-index:-1!important;pointer-events:none;background-image:radial-gradient(circle,#a5695966 1px,transparent 2px),radial-gradient(circle,#fff9 1px,transparent 2px);background-size:107px 139px,163px 181px;animation:drift 26s linear infinite;opacity:.4}.hero-glow{z-index:-1!important;animation:glowPulse 9s ease-in-out infinite}.unsealed h1{animation:namesArrival 1.7s cubic-bezier(.2,.6,.2,1) both}.seal{animation:sealPulse 4s ease-in-out infinite}.ribbon{padding:26px}.event{border-radius:2px}.event h3{overflow-wrap:anywhere}.clock strong{transition:opacity .25s}.countdown{position:relative;overflow:hidden}.countdown:before{content:'';position:absolute;left:-20%;top:-100%;width:80%;height:300%;background:linear-gradient(90deg,transparent,#e5bb9e08,transparent);transform:rotate(25deg);animation:ambientSweep 18s ease-in-out infinite;pointer-events:none}.cover{max-height:calc(100svh - 60px);overflow:auto}.opening{min-height:100svh}.button{touch-action:manipulation}nav a{display:flex;align-items:center;min-height:44px}.no-motion .halo-one{translate:0 0!important}.no-motion .light-dust{animation:none!important}@keyframes drift{to{background-position:30px -139px,-25px -181px}}@keyframes haloPulse{50%{opacity:.5}}@keyframes glowPulse{50%{opacity:.4}}@keyframes namesArrival{from{opacity:0;filter:blur(6px);translate:0 16px}to{opacity:1;filter:blur(0);translate:0 0}}@keyframes sealPulse{50%{box-shadow:0 0 0 12px #b9747922,0 8px 30px #21060966}}@keyframes ambientSweep{50%{left:75%}}@media(max-width:760px){header{height:68px;padding:0 20px}nav{gap:16px}.hero{padding:12px}.invite{min-height:690px;padding:65px 18px 50px;border-radius:48% 48% 2px 2px / 20% 20% 2px 2px}.invite h1{font-size:clamp(62px,15vw,108px);margin:22px 0;line-height:1.26}.halo{inset:10px;border-radius:48% 48% 2px 2px / 20% 20% 2px 2px}.halo-two{inset:16px}.invite>.eyebrow{font-size:10px;letter-spacing:1.5px;margin-top:16px}.intro{font-size:15px;max-width:260px}.date{font-size:12px;letter-spacing:1px}.date strong{font-size:18px;padding:0 9px;margin:0 5px}.place{max-width:250px;font-size:13px}.cover-names{font-size:clamp(49px,13vw,76px)}.cover{width:min(560px,86vw);padding:52px 16px 26px}.cover .eyebrow{font-size:10px;letter-spacing:1.5px}.cover-date{font-size:12px;letter-spacing:2px}.motion-toggle{min-height:44px;padding:10px 14px}.clock{gap:clamp(12px,4vw,24px)}footer{padding-bottom:76px}}@media(max-width:360px){nav a{font-size:12px}.invite{padding-left:14px;padding-right:14px}.invite h1{font-size:59px}.clock strong{font-size:40px}}
