@font-face{font-family:Invitation;src:url('assets/NotoSerifArmenian.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{color-scheme:light;--green:#68472d;--gold:#b08043;--cream:#f6f2eb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:#e8e3da;color:#4d382a;font:13px/1.9 Invitation,Georgia,serif}[hidden]{display:none!important}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid #a87b3f;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:500}h2{font-size:22px;line-height:1.7;margin-bottom:15px}#invitation{position:relative;max-width:980px;margin:auto;background:var(--cream);overflow:hidden;box-shadow:0 0 60px #4a39221a}.site-header{position:absolute;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 25px;z-index:3}.brand{display:flex;align-items:center;gap:6px;font-size:8px;line-height:1.5;max-width:125px}.brand svg{width:27px;height:31px;fill:none;stroke:#8d6735;stroke-width:1.2;flex-shrink:0}.site-header nav{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.site-header nav a{font-size:7px;padding:5px 0}.hero{position:relative;isolation:isolate;min-height:745px;padding:112px 25px 55px;text-align:center}.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}.hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 55%,#f6f2eb33 80%,#f6f2eb 100%)}.hero-content{max-width:460px;margin:auto}h1{font-size:clamp(41px,9.5vw,72px);line-height:1.3;margin-bottom:0;color:#f6eee5}.script-title{font:clamp(43px,11vw,76px)/1.2 Pinyon,cursive;color:#ac773d;margin:0 -5px 24px}.hero-intro{font-size:11px;margin-bottom:26px}.event-facts{list-style:none;padding:0;display:grid;gap:11px;max-width:255px;text-align:left;margin:0 auto 28px}.event-facts li{display:flex;align-items:center;gap:12px;font-size:11px;line-height:1.8}.event-facts svg{width:20px;height:20px;fill:none;stroke:var(--green);stroke-width:1.5;flex-shrink:0}.countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:22px}.countdown>div{border:1px solid #dfd8ca;border-radius:9px;background:#fff9;padding:14px 2px 11px;box-shadow:0 7px 17px #64543a0c}.countdown strong{font:29px/1.2 Georgia,serif;display:block;font-variant-numeric:tabular-nums}.countdown span{font-size:9px;display:block;margin-top:5px}.blue-button,.map-button{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:12px 20px;min-height:45px;border:1px solid var(--green);border-radius:30px;background:var(--green);color:#fffaf0;font-size:10px;line-height:1.9}.blue-button:hover,.map-button:hover{filter:brightness(1.13)}.hero .blue-button{display:flex}.blue-button:disabled{opacity:.6;cursor:wait}.section{position:relative;padding:32px 25px;border-top:1px solid #fff9}.about-section{text-align:center;background:linear-gradient(110deg,#fff6,#e9e4dc44)}.about-section p{font-size:11px;line-height:2.1;max-width:650px;margin:0 auto}.features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:35px}.features>div{min-width:0}.features svg{display:block;width:33px;height:37px;margin:0 auto 10px;fill:none;stroke:var(--green);stroke-width:1.4}.features span{font-size:9px}.program-section{display:grid;grid-template-columns:1.2fr 1fr;gap:15px;align-items:center;padding-top:40px;padding-bottom:40px}.program-copy{min-width:0}.program{list-style:none;margin:0;padding:0;display:grid;gap:12px}.program li{display:grid;grid-template-columns:47px minmax(0,1fr);border:1px solid #e4ddd2;border-radius:8px;background:#fff6;min-height:47px;overflow:hidden;align-items:center}.program time{display:flex;align-items:center;justify-content:center;align-self:stretch;background:var(--green);color:#f8f4e8;font:13px/1.5 Georgia}.program li>span{padding:7px 8px;font-size:9px;line-height:1.9}.program-photo{margin:0;align-self:stretch;min-height:300px;overflow:hidden;border-radius:100px 100px 15px 15px}.program-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.venue-section{isolation:isolate;min-height:280px;padding-bottom:70px;background:#f8f5ef}.venue-section::before{content:'';position:absolute;inset:0;z-index:-1;background:url('assets/ivory-botanical.png') center bottom/100% auto no-repeat;mask-image:linear-gradient(transparent 30%,#000 100%);opacity:.8}.venue-info{display:flex;align-items:flex-start;gap:15px}.venue-info>svg{width:31px;height:38px;flex-shrink:0;fill:var(--green);stroke:var(--green);stroke-width:.6}.venue-info>svg circle{fill:#f6f2eb;stroke:none}.venue-info>div{min-width:0;max-width:600px}.venue-info h3{font-size:18px;line-height:1.8;margin-bottom:5px}.venue-info p{font-size:11px;line-height:1.9;margin-bottom:15px}.map-button{background:#fff6;color:var(--green);min-height:39px;font-size:10px;padding:8px 18px}.rsvp-section{background:#f6f2eb}.rsvp-section h2{text-align:center}.rsvp-section form{max-width:470px;margin:auto;text-align:left}.preview-note{font-size:10px;color:#8b8171;line-height:1.9;margin-bottom:22px}.rsvp-section label,.rsvp-section legend{display:block;font-size:12px;margin-bottom:9px}.rsvp-section input:not([type=radio]){width:100%;min-height:48px;padding:12px;border:1px solid #d5cbbd;border-radius:6px;background:#fffc;color:var(--green);margin-bottom:23px}.rsvp-section fieldset{border:0;padding:0;margin:0 0 22px;min-width:0}.attendance-options{display:grid;gap:10px}.attendance-options label{display:flex;align-items:center;gap:10px;border:1px solid #d5cbbd;border-radius:6px;padding:12px;margin:0;font-size:11px}.attendance-options input{accent-color:var(--green);width:16px;height:16px;flex-shrink:0}.attendance-options label:has(input:checked){background:#eee2d4;border-color:#b69a7c}#submit-rsvp{width:100%}#form-status{font-size:12px;line-height:1.9;margin:15px 0 0}#form-status.error{color:#a63437}.button-arrow{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5;flex-shrink:0}.data-note{text-align:center;font-size:8px;color:#918675;margin:0;padding:15px}.js-reveal .reveal{opacity:0;transition:opacity .7s}.js-reveal .is-visible,.js-reveal .reveal:focus-within{opacity:1}
@media(min-width:768px){.site-header{padding:30px 55px}.brand{font-size:11px;max-width:200px}.brand svg{width:36px;height:40px}.site-header nav{gap:25px}.site-header nav a{font-size:10px}.hero{min-height:960px;padding:150px 70px 80px}.hero-content{max-width:540px}h1{font-size:78px}.script-title{font-size:87px}.hero-intro{font-size:15px}.event-facts{max-width:320px;margin-bottom:35px}.event-facts li{font-size:14px}.countdown strong{font-size:38px}.countdown span{font-size:11px}.blue-button{font-size:13px;min-height:50px}.section{padding:45px 65px}h2{font-size:29px}.about-section p{font-size:15px}.features{max-width:650px;margin:40px auto 0}.features svg{width:42px;height:45px}.features span{font-size:12px}.program-section{grid-template-columns:1.1fr 1fr;gap:35px}.program{gap:17px}.program li{grid-template-columns:70px 1fr;min-height:66px}.program time{font-size:20px}.program li>span{font-size:13px;padding:10px 15px}.program-photo{min-height:430px;border-radius:170px 170px 18px 18px}.venue-section{padding-bottom:95px;min-height:340px}.venue-info h3{font-size:25px}.venue-info p{font-size:14px}.attendance-options{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js-reveal .reveal{opacity:1;transition:none}}

/* 076 · a warm chalet retreat behind a gift opening. */
#invitation{background:#eee7df}.hero{text-align:left;min-height:950px;padding:115px 30px 470px}.hero::after{background:linear-gradient(180deg,#160b0744,#160b0711 55%,transparent 85%,#eee7df 100%)}.hero-art{object-position:center}.hero-content{max-width:520px}.hero h1{color:#fff4e6;font-size:clamp(38px,8vw,64px);text-shadow:0 3px 18px #0008;margin-bottom:20px}.hero-intro{color:#f2e1cf;font-size:13px;text-shadow:0 2px 8px #000}.event-facts{max-width:none;color:#fff0dc;margin:0 0 25px;text-shadow:0 2px 8px #000}.event-facts svg{stroke:#fff0dc}.countdown{gap:7px}.countdown>div{background:#dfc8a5ed;border:1px solid #f3dec3;border-radius:7px;color:#5b3e26;box-shadow:0 5px 18px #0002}.blue-button{background:linear-gradient(130deg,#805a36,#5d3c24);border-color:#d1b088;color:#fff1df}.hero .blue-button{border-color:#e2bf95;background:#6a452add}.site-header{color:#f7e8d5}.brand svg{stroke:#f1debe}.about-section{background:#eee7df}.about-section::before{content:'';position:absolute;top:-17px;left:0;width:100%;height:20px;background:#eee7df;clip-path:polygon(0 50%,4% 23%,9% 65%,14% 30%,20% 55%,25% 18%,31% 53%,36% 25%,43% 63%,49% 29%,55% 55%,62% 20%,69% 60%,75% 26%,82% 57%,88% 20%,94% 60%,100% 30%,100% 100%,0 100%)}.features svg{stroke:#7c5337}.features span{font-size:8px}.section{border-color:#fff5}.program-section{display:block;background:#eee7df}.program{gap:9px}.program li{grid-template-columns:100px 46px minmax(0,1fr);min-height:58px;background:#fff5;border-color:#ddd0c0;border-radius:7px}.program time{background:transparent;color:#553d2b;font-size:15px}.program li>span{font-size:10px}.program-thumb{align-self:stretch;overflow:hidden;min-height:58px;background:#5a3d2b}.program-thumb svg{display:block;width:100%;height:100%}.venue-section{background:#eee7df;padding-bottom:30px}.venue-section::before{display:none}.venue-banner{position:relative;min-height:225px;overflow:hidden;border-radius:10px;background:#d2c1ae}.venue-banner>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.venue-banner::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#442a1266)}.venue-info{position:relative;z-index:1;align-items:flex-end;min-height:225px;padding:110px 18px 20px;color:#fff4e6}.venue-info>svg{fill:#fff1dc;stroke:#fff1dc}.venue-info>svg circle{fill:#604329}.venue-info h3{font-size:21px;text-shadow:0 2px 8px #0007}.venue-info .map-button{background:#fffa;color:#4a3423;border-color:#fff7;margin-top:7px;font-size:10px}.rsvp-section{background:#eee7df}.data-note{background:#eee7df}
.gift-active{overflow:hidden}.gift-cover{position:fixed;inset:0;z-index:50;overflow:auto;background:radial-gradient(ellipse at 50% 65%,#ee3929,#bc1721 55%,#790f1b);color:#fff3e8;transition:opacity .7s}.gift-entry{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:35px}.gift-greeting{font-size:clamp(18px,5vw,29px);text-align:center;max-width:500px;line-height:1.9;margin:0;text-shadow:0 2px 15px #6d0e1966}.gift-caption{font-size:12px;line-height:1.9;text-align:center;margin:0;transition:opacity .4s}.gift-button{position:relative;isolation:isolate;width:min(72vw,310px);height:330px;border:0;padding:0;background:none;perspective:1000px;filter:drop-shadow(0 20px 16px #5b091d55);transition:transform .3s}.gift-button:hover{transform:translateY(-5px)}.gift-button:focus-visible{outline:2px solid #fff1c2;outline-offset:15px;border-radius:15px}.gift-box{position:absolute;left:10%;top:34%;width:80%;height:59%;transition:opacity .7s,transform 1s}.gift-front{position:absolute;inset:0;background:linear-gradient(110deg,#fdf9f1,#e0e0db 75%,#fff);clip-path:polygon(0 0,100% 0,100% 90%,10% 100%,0 94%)}.gift-side{position:absolute;left:0;top:0;width:16%;height:100%;background:linear-gradient(100deg,#b6b8b2,#e2e0d8);clip-path:polygon(0 0,100% 7%,100% 100%,0 94%)}.gift-ribbon{position:absolute;left:48%;top:0;width:20%;height:96%;background:linear-gradient(90deg,#8e1117,#d83627 45%,#9d111a);transform:skewY(-3deg)}.gift-lid{position:absolute;left:6%;top:26%;width:88%;height:22%;transform-origin:20% 80%;transition:transform 1.05s cubic-bezier(.25,.6,.3,1),opacity .7s .5s}.lid-top{position:absolute;inset:0 0 30%;background:linear-gradient(120deg,#fffdf6,#e1e0d6);clip-path:polygon(0 25%,85% 0,100% 20%,16% 48%,16% 100%,0 75%)}.lid-front{position:absolute;inset:18% 0 0;background:linear-gradient(110deg,#e4e4dd,#fffef7);clip-path:polygon(0 10%,100% 0,100% 65%,12% 100%,0 80%)}.lid-ribbon{position:absolute;left:49%;top:8%;width:20%;height:82%;background:linear-gradient(90deg,#9f1420,#df3c28,#a10e1c);transform:skewY(-5deg)}.gift-bow{position:absolute;width:118%;height:170%;left:-9%;top:-98%;object-fit:contain;filter:drop-shadow(0 3px 2px #590a1844)}.gift-glow{position:absolute;left:15%;right:15%;top:20%;height:70%;background:radial-gradient(#fff6c199,transparent 70%);opacity:0;transition:opacity .7s;z-index:-1}.opening .gift-lid{transform:translateY(-135px) rotate(-23deg);opacity:0}.opening .gift-box{transform:translateY(25px) scale(.92);opacity:0;transition-delay:.65s}.opening .gift-glow{opacity:1}.opening .gift-caption{opacity:0}.gift-cover.leaving{opacity:0;pointer-events:none}
@media(min-width:768px){.hero{min-height:1220px;padding:145px 75px 600px}.hero-content{margin-left:8%;max-width:570px}.hero h1{font-size:78px}.hero-intro{font-size:19px}.program li{grid-template-columns:200px 80px minmax(0,1fr);min-height:85px}.program li>span{font-size:15px}.program time{font-size:21px}.program-thumb{min-height:85px}.venue-banner{min-height:310px}.venue-info{min-height:310px;padding:170px 30px 25px}.venue-info h3{font-size:28px}.features span{font-size:12px}.gift-button{width:340px;height:370px}}
@media(prefers-reduced-motion:reduce){.gift-cover,.gift-lid,.gift-box,.gift-caption,.gift-glow,.gift-button{transition:none}.gift-button:hover{transform:none}}
.countdown>div{text-align:center}.program-thumb{position:relative}.program-thumb svg{position:absolute;inset:0;width:100%;height:100%}.program li{height:62px}.program li>span{overflow-wrap:anywhere}
@media(min-width:768px){.program li{height:85px}}

/* Persistent icon-only audio control, independent of entry/scroll animations. */
.invitation-music-toggle{position:fixed;right:16px;bottom:max(16px,env(safe-area-inset-bottom));z-index:80;display:grid;place-items:center;width:46px;height:46px;padding:11px;border:1px solid #704d3088;border-radius:50%;background:#f3e8db;color:#704d30;box-shadow:0 4px 18px #0003;cursor:pointer}.invitation-music-toggle svg{grid-area:1/1;width:22px;height:22px}.music-play-icon{fill:currentColor;stroke:none}.music-pause-icon{display:none;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round}.invitation-music-toggle[aria-pressed="true"] .music-play-icon{display:none}.invitation-music-toggle[aria-pressed="true"] .music-pause-icon{display:block}.invitation-music-toggle:disabled{opacity:.45;cursor:default}.invitation-music-toggle:focus-visible{outline:2px solid #704d30;outline-offset:4px}.audio-status-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
