@layer components{.invitation-gate{display:grid;place-items:center;min-height:100svh;padding:56px 20px 32px;background:var(--cream);color:var(--blue)}.invitation-lock{width:min(100%,340px);text-align:center}.invitation-envelope{position:relative;isolation:isolate;aspect-ratio:1.65;border-radius:14px;background:var(--sky);box-shadow:0 16px 36px #172f5026;perspective:700px}.invitation-letter{position:absolute;inset:6% 9% 12%;display:grid;grid-template-columns:24% 1fr;align-items:center;overflow:hidden;border-radius:8px;background:var(--paper);color:var(--blue);font:700 clamp(1.5rem,6vw,2.75rem)/1 var(--font)}.invitation-letter img{width:100%;height:100%;object-fit:cover}.invitation-pocket,.invitation-flap{position:absolute;inset:0;border-radius:inherit}.invitation-pocket{background:linear-gradient(145deg,var(--cream),var(--sky));clip-path:polygon(0 0,50% 59%,100% 0,100% 100%,0 100%)}.invitation-flap{transform-origin:top;background:linear-gradient(170deg,var(--blue-light),var(--sky));clip-path:polygon(0 0,100% 0,50% 64%)}.invitation-flap-opening{animation:invitation-unseal 1.4s ease-in-out both}.invitation-envelope:has(.invitation-flap-opening) .invitation-letter{animation:invitation-rise 1.4s ease-out both}.invitation-seal{position:absolute;inset:57% auto auto 50%;translate:-50% -50%;width:48px;height:48px;border:3px double var(--sky);border-radius:50%;background:var(--blue);color:var(--paper);font-size:1.55rem;line-height:42px;box-shadow:0 2px 4px #172f5055}.invitation-kicker{margin:26px 0 5px;color:var(--blue);text-transform:uppercase;letter-spacing:.17em;font-size:.72rem;font-weight:600}.invitation-lock h1{margin:0 0 23px;color:#000;font:800 clamp(3.25rem,11vw,5rem)/.95 "Barlow Condensed","Arial Narrow",sans-serif}.invitation-lock form{display:grid;gap:9px;text-align:left}.invitation-lock label{font-size:.875rem;font-weight:600}.invitation-lock input,.invitation-lock button{min-height:48px;padding:0 16px;font:inherit}.invitation-lock input{width:100%;border:1px solid var(--ink);border-radius:var(--radius);background:var(--paper);color:inherit}.invitation-lock input:focus-visible,.invitation-lock button:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.invitation-lock button{margin-top:4px;border:0;border-radius:var(--radius);background:var(--blue);color:var(--paper);cursor:pointer;font-weight:700}.invitation-lock button:hover{background:color-mix(in srgb,var(--blue),white 12%)}.invitation-lock button:disabled{cursor:wait}#invitation-error{margin:0;color:var(--blue);font-size:.875rem}@keyframes invitation-unseal{to{transform:rotateX(176deg);z-index:-1}}@keyframes invitation-rise{30%{transform:translateY(0)}to{transform:translateY(-27%)}}@media(prefers-reduced-motion:reduce){.invitation-flap-opening,.invitation-envelope:has(.invitation-flap-opening) .invitation-letter{animation-duration:1ms}}}:root{--font: "Jost", Arial, sans-serif;--ink: #252821;--paper: #fff;--cream: #fbf7ee;--blue: #244674;--blue-light: #dce7fa;--sky: #a7beea;--line: #e7e2d9;--radius: 6px;--gutter: clamp(20px, 5vw, 60px);--header-height: 64px}*,*:before,*:after{box-sizing:border-box}html{scroll-padding-top:calc(var(--header-height) + 16px)}body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.6 var(--font)}a{color:inherit;text-underline-offset:.2em}button,input{font:inherit}:focus-visible{outline:2px solid currentColor;outline-offset:4px}.skip-link{position:fixed;z-index:40;top:8px;left:8px;padding:8px 12px;background:var(--paper);transform:translateY(-150%)}.skip-link:focus{transform:none}.hero{display:grid;place-items:center;min-height:100svh;padding:64px var(--gutter);background:var(--blue) linear-gradient(#0009,#0009);background-image:linear-gradient(#0009,#0009),url(./painterly-poppies-DpBuccIY.webp);background-position:center 24%;background-size:cover;color:#fff;text-align:center}.hero-kicker{margin:0 0 16px;font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.hero h1{margin:0;font-size:clamp(3rem,10vw,9rem);font-weight:800;line-height:.95;letter-spacing:-.04em}.hero-date{margin:20px 0;font-size:clamp(1rem,2vw,1.3rem)}.site-header{position:fixed;z-index:30;inset:0 0 auto;height:var(--header-height);display:flex;align-items:center;justify-content:space-between;padding-inline:var(--gutter);background:var(--paper);border-bottom:1px solid var(--line)}.logo{font-weight:800;text-decoration:none}.desktop-nav{display:flex;gap:24px}.desktop-nav a,.mobile-nav a{text-decoration:none}.desktop-nav a:hover,.mobile-nav a:hover{text-decoration:underline}.menu-toggle,.mobile-nav{display:none}.content-shell,.site-footer{width:min(calc(100% - 2 * var(--gutter)),680px);margin-inline:auto}.content-shell{padding-block:clamp(34px,6vw,64px)}.content-shell+.content-shell,.site-footer{border-top:1px solid var(--line)}.content-shell h2{margin:0 0 12px;font-size:1.4rem;line-height:1.2;font-weight:800}.content-shell p{margin:0;max-width:56ch}.content-shell p+p{margin-top:12px}.wedding-details{margin:0}.wedding-details div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;padding-block:5px}.wedding-details dt{font-weight:600}.wedding-details dd{margin:0}.site-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-block:24px;font-size:.9rem}@media(max-width:680px){.desktop-nav{display:none}.menu-toggle{display:grid;place-content:center;gap:5px;width:44px;height:44px;border:0;background:none;color:inherit;cursor:pointer}.menu-toggle span{width:22px;height:2px;background:currentColor}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-nav:not([hidden]){position:fixed;z-index:29;inset:var(--header-height) 0 0;display:flex;flex-direction:column;overflow:auto;padding:16px var(--gutter);background:var(--paper)}.mobile-nav a{padding-block:12px;border-bottom:1px solid var(--line)}}
