:root{color:#17140f;font-synthesis:none;text-rendering:optimizelegibility;--ivory:#f6f0e3;--ink:#12110f;--gold:#aa8240;--gold-light:#d5bb7c;--muted:#7b7161;background:#f4efe4;font-family:Noto Naskh Arabic,Geeza Pro,Tahoma,Arial,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}body{background:var(--ivory);min-width:320px;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}main{overflow:hidden}.celebration-trails{z-index:2;pointer-events:none;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.celebration-trails i{opacity:0;transform-origin:50% 100%;will-change:transform, opacity;background:linear-gradient(0deg,#0000 0 7%,#aa824080 30%,#ebc97e 72%,#ffe19e80 88%,#0000);border-radius:999px;width:2px;height:clamp(105px,18vh,170px);position:absolute;bottom:-14vh;box-shadow:0 0 5px #d5bb7c91,0 0 12px #aa824042}.celebration-trails i:after{content:"";opacity:0;background:radial-gradient(circle,#ffe09ce0 0,#d5bb7c54 38%,#0000 72%);border-radius:50%;width:13px;height:13px;position:absolute;top:-7px;left:50%;transform:translate(-50%)scale(.3)}.welcome-left{animation:2.45s cubic-bezier(.2,.65,.25,1) .55s both welcome-rise-left;left:7%}.welcome-right{animation:2.55s cubic-bezier(.2,.65,.25,1) 1.25s both welcome-rise-right;right:7%}.welcome-left-second{animation:2.5s cubic-bezier(.2,.65,.25,1) 2.05s both welcome-rise-left;left:13%}.welcome-left:after{animation:2.45s ease-out .55s both endpoint-glow}.welcome-right:after{animation:2.55s ease-out 1.25s both endpoint-glow}.welcome-left-second:after{animation:2.5s ease-out 2.05s both endpoint-glow}.ambient-left{animation:13s ease-out 5.4s infinite ambient-rise-left;left:5%}.ambient-right{animation:16s ease-out 8.8s infinite ambient-rise-right;right:6%}.ambient-left-second{animation:18s ease-out 13.5s infinite ambient-rise-left;left:12%}.ambient-right-second{animation:20s ease-out 18s infinite ambient-rise-right;right:13%}.ambient-trail:after{animation:13s ease-out 5.4s infinite ambient-glow}.ambient-right:after{animation-duration:16s;animation-delay:8.8s}.ambient-left-second:after{animation-duration:18s;animation-delay:13.5s}.ambient-right-second:after{animation-duration:20s;animation-delay:18s}.celebration-trails.is-paused i,.celebration-trails.is-paused i:after{animation-play-state:paused}.hero,section,footer{z-index:1;position:relative}h1,h2,h3,p{margin-top:0}.hero{text-align:center;min-height:min(100svh,850px);padding:calc(4rem + env(safe-area-inset-top)) 1.35rem 4.5rem;background-color:var(--ivory);background-image:radial-gradient(circle at 50% 0,#aa82401f,#0000 45%),repeating-linear-gradient(45deg,#0000 0 24px,#aa824006 24px 25px);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.hero:before{content:"";pointer-events:none;border:1px solid #aa824073;position:absolute;top:18px;bottom:18px;left:18px;right:18px}.corner{opacity:.8;width:90px;height:90px;position:absolute}.corner:before,.corner:after{content:"";background:var(--gold);position:absolute}.corner:before{width:1px;height:70px;top:0;right:20px;transform:rotate(45deg)}.corner:after{width:70px;height:1px;top:20px;right:0;transform:rotate(45deg)}.corner-top{top:14px;right:14px}.corner-bottom{bottom:14px;left:14px;transform:rotate(180deg)}.eyebrow,.section-kicker{color:var(--gold);letter-spacing:.06em;margin-bottom:1rem;font-size:.82rem}.ornament{color:var(--gold);align-items:center;gap:.65rem;width:min(220px,65vw);display:flex}.ornament:before,.ornament:after{content:"";background:linear-gradient(90deg, transparent, var(--gold));flex:1;height:1px}.ornament:after{transform:scaleX(-1)}.hero h1{margin:1rem 0 .4rem;font-size:clamp(2.5rem,13vw,5.6rem);font-weight:500;line-height:1.2}.invitation-line{color:var(--muted);margin:.6rem 0}.hero h2{max-width:620px;font-size:clamp(1.2rem,5vw,1.75rem);font-weight:500}.names{justify-content:center;align-items:center;gap:clamp(.9rem,4vw,2.5rem);margin:1rem 0;display:flex}.names span{font-size:clamp(3rem,16vw,7rem);line-height:1}.names b{color:var(--gold);font:300 clamp(1.2rem,5vw,2rem) Georgia,serif}.honor{color:var(--gold);margin-top:1.3rem}section{text-align:center;padding:5rem max(1.25rem,50vw - 525px)}section>h2{margin-bottom:2.5rem;font-size:clamp(2rem,7vw,3.2rem);font-weight:500}.section-dark{color:var(--ivory);background:var(--ink);position:relative}.section-dark:before{content:"";border:1px solid #d5bb7c26;position:absolute;top:12px;bottom:12px;left:12px;right:12px}.details-grid{background:#d5bb7c40;border:1px solid #d5bb7c40;gap:1px;display:grid;position:relative}.details-grid article{background:var(--ink);padding:2rem 1rem}.details-grid h3{color:var(--gold-light);margin:.5rem 0;font-size:1rem;font-weight:400}.details-grid p,.details-grid time,.details-grid address{font-size:1.08rem;font-style:normal}.icon{color:var(--gold);font-size:1.8rem}.location-detail{flex-direction:column;align-items:center;display:flex}.detail-map-link{min-height:46px;color:var(--gold-light);border:1px solid #d5bb7cb3;justify-content:center;align-items:center;margin-top:.9rem;padding:.45rem 1.25rem;text-decoration:none;transition:background-color .2s,color .2s;display:inline-flex}.detail-map-link:hover{background:var(--gold);color:#fff}.detail-map-link:focus-visible{background:var(--gold);color:#fff}.invitation-image-section{background:#eee6d7}.invitation-frame{border:1px solid var(--gold);background:var(--ivory);width:min(100%,720px);margin:auto;padding:10px;box-shadow:0 18px 50px #261c0c1f}.invitation-preview{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block}.invitation-preview img{object-fit:contain;width:100%;height:auto;display:block}.invitation-preview:focus-visible{outline:3px solid var(--gold-light);outline-offset:4px}.lightbox-close:focus-visible{outline:3px solid var(--gold-light);outline-offset:4px}.enlarge-hint{color:var(--muted);margin:1rem 0 0;font-size:.9rem}.invitation-lightbox{z-index:1000;padding:max(4.5rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));background:#0a0907f0;position:fixed;top:0;bottom:0;left:0;right:0;overflow:auto}.invitation-lightbox>img{object-fit:contain;width:min(100%,900px);height:auto;margin:0 auto;display:block;box-shadow:0 15px 55px #0006}.lightbox-close{z-index:1;top:max(.75rem, env(safe-area-inset-top));left:max(.75rem, env(safe-area-inset-left));border:1px solid var(--gold-light);background:var(--ink);min-height:44px;color:var(--ivory);cursor:pointer;padding:.5rem 1rem;position:fixed}.lightbox-close span{margin-inline-start:.35rem;font-size:1.35rem;line-height:1}.venue{background:var(--ivory)}.venue>p:not(.section-kicker){color:var(--muted);margin-bottom:2rem;font-size:1.1rem}.button{border:1px solid var(--gold);cursor:pointer;border-radius:0;justify-content:center;align-items:center;min-height:52px;padding:.75rem 1.6rem;text-decoration:none;transition:transform .2s,background .2s,color .2s;display:inline-flex}.button:active{transform:scale(.98)}.button-gold{background:var(--gold);color:#fff}.button-muted{color:#82796b;cursor:not-allowed;background:#e7e0d3;border-color:#c9c0b0}.welcome{background:var(--ivory);flex-direction:column;justify-content:center;align-items:center;min-height:520px;display:flex}.welcome h2{max-width:700px;margin:2rem 0 .8rem}.welcome-poem{width:100%;font-size:clamp(1.65rem,6vw,3.2rem);line-height:1.55}.welcome-poem span{display:block}.welcome p{color:var(--gold)}.welcome-visual img{max-width:min(260px,70vw);height:auto;display:block}.animated-mark{color:var(--gold);align-items:center;gap:1rem;display:flex}.animated-mark i{background:var(--gold);width:80px;height:1px;animation:2s ease-in-out infinite breathe}.animated-mark span{font-size:2.5rem;animation:8s linear infinite spin}.horse-scene{background:linear-gradient(to bottom, var(--ivory), #e8deca 76%, #d8c6a7);direction:ltr;min-height:clamp(190px,25vw,330px);padding:clamp(2rem,5vw,4rem) 0 0;overflow:hidden}.horse-scene:before{content:"";z-index:-1;background:radial-gradient(at bottom,#5b403029,#0000 68%);height:38%;position:absolute;top:auto;bottom:0;left:0;right:0}.horse-track{transform-origin:50% 100%;width:min(92vw,920px);margin:0 auto;animation:1.15s ease-in-out infinite horse-gallop;position:relative}.horse-track img{z-index:2;filter:drop-shadow(0 10px 8px #30241929);width:100%;height:auto;display:block;position:relative}.dust{z-index:1;filter:blur(4px);opacity:0;background:radial-gradient(#a982453d,#0000 70%);border-radius:50%;width:16%;height:12%;animation:2.3s ease-out infinite dust-drift;position:absolute;bottom:4%}.dust-one{left:8%}.dust-two{animation-delay:-.75s;left:37%}.dust-three{animation-delay:-1.5s;left:69%}footer{background:var(--ink);color:#a9a092;padding:1.7rem max(1rem, env(safe-area-inset-right)) calc(1.7rem + env(safe-area-inset-bottom));justify-content:center;align-items:center;gap:1rem;font-size:.8rem;display:flex}footer b{color:var(--gold)}@keyframes welcome-rise-left{0%{opacity:0;transform:translate(0,0)rotate(4deg)scaleY(.35)}12%{opacity:.99}72%{opacity:.86}to{opacity:0;transform:translate(-28px,-92vh)rotate(4deg)scaleY(1)}}@keyframes welcome-rise-right{0%{opacity:0;transform:translate(0,0)rotate(-4deg)scaleY(.35)}12%{opacity:.99}72%{opacity:.86}to{opacity:0;transform:translate(28px,-92vh)rotate(-4deg)scaleY(1)}}@keyframes endpoint-glow{0%,70%{opacity:0;transform:translate(-50%)scale(.3)}82%{opacity:.79;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%)scale(1.35)}}@keyframes ambient-rise-left{0%{opacity:0;transform:translate(0,0)rotate(3deg)scaleY(.4)}2%{opacity:.79}14%{opacity:.61}20%{opacity:0;transform:translate(-22px,-90vh)rotate(3deg)scaleY(1)}20.01%,to{opacity:0;transform:translate(0,0)rotate(3deg)scaleY(.4)}}@keyframes ambient-rise-right{0%{opacity:0;transform:translate(0,0)rotate(-3deg)scaleY(.4)}2%{opacity:.79}14%{opacity:.61}20%{opacity:0;transform:translate(22px,-90vh)rotate(-3deg)scaleY(1)}20.01%,to{opacity:0;transform:translate(0,0)rotate(-3deg)scaleY(.4)}}@keyframes ambient-glow{0%,13%{opacity:0;transform:translate(-50%)scale(.3)}16%{opacity:.61;transform:translate(-50%)scale(.9)}20%,to{opacity:0;transform:translate(-50%)scale(1.2)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes breathe{50%{opacity:.4;width:45px}}@keyframes horse-gallop{0%,to{transform:translateY(1px)rotate(.1deg)}50%{transform:translate(-5px,-3px)rotate(-.1deg)}}@keyframes dust-drift{0%{opacity:0;transform:translate(28px)scale(.45)}24%{opacity:.34}to{opacity:0;transform:translate(-75px,-8px)scale(1.4)}}@media (min-width:720px){.details-grid{grid-template-columns:repeat(3,1fr)}.details-grid article{flex-direction:column;justify-content:center;min-height:185px;display:flex}}@media (max-width:480px){.invitation-image-section{padding-inline-start:.5rem;padding-inline-end:.5rem}.invitation-frame{padding:4px}}@media (max-width:600px){.ambient-left-second,.ambient-right-second{display:none}.celebration-trails i{width:1.5px;height:clamp(95px,16vh,140px)}.horse-track{width:118vw;margin-left:-9vw}}@media (max-width:380px){.hero{padding-inline-start:1rem;padding-inline-end:1rem}.hero:before{top:9px;bottom:9px;left:9px;right:9px}.names{gap:.7rem}section:not(:-webkit-any(.invitation-image-section,.horse-scene)){padding-inline-start:1rem;padding-inline-end:1rem}section:not(:is(.invitation-image-section,.horse-scene)){padding-inline-start:1rem;padding-inline-end:1rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.celebration-trails{display:none}.horse-track{transform:none}.dust{display:none}}
