@font-face{font-family:Archivo Black;src:url(fonts/archivo-black-400.woff2) format("woff2");font-display:swap}
:root{--green:#102f2b;--deep:#08241e;--cream:#fff6e2;--gold:#ffda85;--red:#b72e2d;--display:Anton,Impact,sans-serif}
body{overflow-x:clip}
.hero h1{font:400 clamp(3rem,6.7vw,7.5rem)/.94 var(--display);text-transform:uppercase;letter-spacing:-.016em;text-wrap:balance;margin:.5rem 0 1rem}
.nav{padding:.8rem clamp(16px,4vw,72px);flex-wrap:wrap}
.wordmark{font-size:clamp(21px,3vw,34px)}
.nav-links{display:flex;align-items:center;gap:clamp(.85rem,3vw,2rem);flex-wrap:wrap}
.nav-links a:last-child{color:#872623}
.hero{min-height:clamp(525px,53vw,820px)}
.hero-copy{padding:clamp(24px,4.3vw,76px);padding-right:0}
.hero-copy p:not(.kicker){font-size:clamp(1.04rem,1.55vw,1.42rem)}
.showcase{padding:clamp(2rem,4.2vw,4rem) 0 clamp(2.8rem,6vw,5rem);background:radial-gradient(ellipse at 85% 0%,#255447,transparent 56%),var(--deep);color:var(--cream)}
.showcase-intro,.invite-intro{width:min(68rem,calc(100% - 2rem));margin:auto}
.showcase-intro{text-align:center}
.showcase .kicker{color:var(--gold)}
.showcase-intro h2 em{font:inherit;color:#bce2cc}
.showcase h2,.invitation h2,.product-dialog h2{font:400 clamp(2.25rem,5.1vw,5rem)/1.02 "Archivo Black",system-ui,sans-serif;text-transform:uppercase;letter-spacing:.015em;margin:.35rem 0 .65rem;text-wrap:balance}
.showcase-intro>p:last-child{font:1.15rem/1.5 "Source Serif",Georgia,serif;margin:.5rem 0 0}
.rail-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem 1rem;width:min(68rem,calc(100% - 2rem));margin:1rem auto 0}
.invite-jump{color:var(--gold);font-size:.9rem;font-weight:800;text-underline-offset:.2em}
.rail-controls{display:flex;align-items:center;gap:.45rem}
.rail-controls button[data-step]{width:44px;border-radius:50%}
.rail-controls #motion-toggle{border-radius:24px}
.rail-controls button{border:1px solid #8ea79c;background:#143831;color:var(--cream)}
.rail-controls button:focus-visible,.showcase a:focus-visible{outline-color:var(--gold)}
.rail{display:flex;gap:.85rem;overflow-x:auto;scrollbar-width:none;position:relative;padding:1.1rem 0 1.3rem;overscroll-behavior-inline:contain}
.rail::-webkit-scrollbar{display:none}
.tile{flex:0 0 max(245px,28vw);display:grid;grid-template-rows:auto 1fr;color:var(--tile-ink,var(--deep));background:var(--tile,#f0e9d8);border:2px solid transparent;border-radius:.65rem;text-decoration:none;overflow:hidden;position:relative;transition:border-color .2s,transform .2s}
.tile-art{position:relative;display:block;overflow:hidden}
.tile-pin{position:absolute;top:.6rem;right:.6rem;display:grid;place-items:center;width:2.3rem;aspect-ratio:1;border-radius:50%;background:#fbf5e8;color:var(--deep);font-style:normal;font-size:1.2rem}
.tile:hover,.tile:focus-visible{border-color:var(--gold);transform:translateY(-3px)}
.tile img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;background:#cbb9a2}
.tile-copy{display:grid;align-content:start;gap:.3rem;padding:.8rem 1rem 1rem}
.tile-copy strong{font:400 clamp(1.25rem,2.3vw,2.2rem)/1.06 "Archivo Black",system-ui,sans-serif;letter-spacing:.018em;text-transform:uppercase}
.tile-copy small{font:750 .69rem/1.3 system-ui,sans-serif;letter-spacing:.11em;text-transform:uppercase}
.tile-copy span:not(.tile-deck){font-weight:750;text-decoration:underline;text-underline-offset:.2em;font-size:.9rem;margin-top:.45rem}
.tile-deck{font:1rem/1.32 "Source Serif",Georgia,serif}
.tile.invite-tile{border-color:#ffe7a4;box-shadow:0 0 9px #ffdf8d90,0 0 22px #ffc54860;animation:invite-glow 4s ease-in-out infinite;background:linear-gradient(135deg,#fff2ca,#ffdc87)}
.invite-tile .tile-pin{background:#fff6ce;box-shadow:0 0 16px 3px #ffcf68}
.invite-tile .tile-art::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(112deg,transparent 36%,#ffd47c22 44%,#fff6ce88 49%,transparent 61%);transform:translateX(-110%);animation:gold-sweep 5.6s ease-in-out infinite}
@keyframes gold-sweep{0%,22%{transform:translateX(-110%)}58%,100%{transform:translateX(110%)}}
.showcase[data-paused] .invite-tile,.showcase[data-paused] .invite-tile .tile-art::after{animation-play-state:paused}
@keyframes invite-glow{50%{box-shadow:0 0 12px #fff0a9,0 0 28px #ffcb59bd}}
.invitation{background:repeating-linear-gradient(90deg,#f3e5cb40 0 1px,transparent 1px 24px),#f9ecd2;padding:clamp(3rem,7vw,7rem) 0;color:var(--deep)}
.invite-intro{text-align:center}
.invite-intro>p:not(.kicker){max-width:54ch;margin:.75rem auto 1.5rem;font:1.15rem/1.5 "Source Serif",Georgia,serif}
.invite{width:min(64rem,calc(100% - 2rem));margin:1.5rem auto 0}
.invite summary{display:grid;justify-items:center;gap:1rem;cursor:pointer;list-style:none;text-align:center}
.invite summary::-webkit-details-marker{display:none}
.envelope{position:relative;display:grid;align-content:center;justify-items:center;gap:.6rem;width:min(100%,32rem);min-height:clamp(165px,24vw,245px);padding:1rem;isolation:isolate;color:var(--cream);font-weight:800;border:2px solid #e6b95f;border-radius:.55rem;background:linear-gradient(145deg,transparent 49%,#e0b362b0 50%,transparent 51%) left bottom/50% 80% no-repeat,linear-gradient(215deg,transparent 49%,#e0b362b0 50%,transparent 51%) right bottom/50% 80% no-repeat,#244d41;box-shadow:0 0 25px #eeb448a0}
.envelope::before{content:"";position:absolute;inset:0 0 30%;background:linear-gradient(145deg,#153c31,#3d6453);clip-path:polygon(0 0,100% 0,50% 100%);z-index:-1}
.invite summary .open-label,.invite summary .close-label,.bird-link{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:.55rem .9rem;border:1px solid #e8bd67;border-radius:.35rem;background:linear-gradient(145deg,#fff2bd,#ffcf6a);box-shadow:0 0 20px #efb343a0;color:var(--deep);font-weight:800}
.invite summary .open-label{margin-block:.2rem}
.bird-link{margin:0 0 1.1rem;background:#235244;color:#fff9e9;border-color:#235244;box-shadow:none;text-decoration:none}
.seal{display:grid;place-items:center;border-radius:50%;width:3.5rem;aspect-ratio:1;background:radial-gradient(circle at 28% 25%,#fff3b5,#ebbe62 56%,#b87525);color:#3c2919;border:2px solid #ffe9a1;box-shadow:0 0 9px #fff0af,0 0 28px #ffc856;font:1.65rem Georgia,serif}
.invite[open] summary .seal{animation:seal-pop .45s ease both}
@keyframes seal-pop{45%{transform:scale(1.18) rotate(-9deg)}}
.invite summary .close-label,.invite[open] summary .open-label{display:none}
.invite[open] summary .close-label{display:inline-flex}
.invite-inside{display:grid;grid-template-columns:1fr 1fr;align-items:center;margin:1.2rem auto 0;background:linear-gradient(132deg,#fff6db,#ffe4a6);border:2px solid #e5b34e;box-shadow:0 0 24px #eeb44890;border-radius:.5rem;overflow:hidden}
.invite[open] .invite-inside{animation:open-invite .42s ease-out both}
@keyframes open-invite{from{opacity:0;transform:translateY(-12px)}}
.invite-inside img{display:block;width:100%;height:auto;border-radius:.35rem}.invite-art{margin:0;position:relative;overflow:hidden}.invite-art::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(112deg,transparent 37%,#fff8d89c 49%,transparent 61%);transform:translateX(-110%)}.invite[open] .invite-art::after{animation:gold-sweep 2s ease-out both}.invite-copy{min-width:0}
.invite-copy{padding:clamp(1rem,3vw,2.5rem)}
.invite-copy h3{font:400 clamp(1.6rem,3vw,2.6rem)/1.1 "Archivo Black",system-ui,sans-serif;margin:0}
.invite-copy label{display:block;font-weight:750}
.invite-copy input{width:100%;min-height:44px;font:inherit;border:1px solid #65776a;background:#fff;border-radius:.3rem;padding:.55rem;margin:.35rem 0 .65rem}
.invite-copy button{background:var(--red);color:#fff;border-color:#892221;box-shadow:0 0 14px #edab568c}
.form-note,.form-status{font-size:.9rem}
.form-status:empty{display:none}
.footer{background:var(--green);color:var(--cream);text-align:center;padding:1.2rem 1rem}
.product-dialog{width:min(62rem,calc(100% - 1.3rem));max-height:calc(100% - 1.3rem);border:2px solid var(--gold);border-radius:.65rem;padding:3.8rem clamp(.8rem,3vw,2.5rem) clamp(1rem,3vw,2.5rem);background:var(--cream);color:var(--deep);overscroll-behavior:contain}
.product-dialog::backdrop{background:#071e1ad9}
.product-dialog[open]{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:clamp(1rem,3vw,2rem)}
.dialog-close{position:absolute;top:.75rem;right:.75rem}
.dialog-copy .kicker{margin:0}
.product-dialog h2{font-size:clamp(1.75rem,4vw,3.5rem)}
.product-dialog img{display:block;width:100%;max-height:58dvh;object-fit:contain;background:#ecddbd}
.product-dialog .dialog-description{margin:0;max-width:64ch;font:1.1rem/1.4 "Source Serif",Georgia,serif}
@media(max-width:660px){
 .hero{min-height:0;display:flex;flex-direction:column}
 .hero-copy{width:100%;padding:30px clamp(16px,5vw,34px) 24px}
 .hero h1{font-size:clamp(2.65rem,12vw,4.3rem)}
 .hero::after{display:none}
 .hero img{position:static;display:block;aspect-ratio:1.2;height:auto;object-position:76% center}
 .invite-inside,.product-dialog[open]{grid-template-columns:1fr}
 .tile{flex-basis:80vw}
 .rail-bar{justify-content:center}
 .showcase-intro h2{font-size:clamp(1.65rem,8.1vw,3rem)}
}
@media(prefers-reduced-motion:reduce){
 .tile,.invite-tile,.invite-tile .tile-art::after,.invite[open] .invite-art::after,.invite[open] .seal,.invite[open] .invite-inside{animation:none!important;transition:none}
}
[hidden]{display:none!important}
