@font-face{font-family:Armenian;src:url('assets/sans-light.ttf') format('truetype');font-weight:300;font-display:swap}
@font-face{font-family:Armenian;src:url('assets/sans.ttf') format('truetype');font-weight:400 700;font-display:swap}
@font-face{font-family:ArmenianSerif;src:url('assets/serif.ttf') format('truetype');font-weight:300 700;font-display:swap}
:root{--paper:#f5e9d9;--envelope:#e2c6aa;--envelope-dark:#c5a788;--ink:#493021;--muted:#7b6a59;--accent:#b8976f;--line:#c6b69e;--light:#fffaf3;--serif:ArmenianSerif,Georgia,serif;--sans:Armenian,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font:300 16px/1.9 var(--sans)}body.locked{overflow:hidden}.no-smooth{scroll-behavior:auto!important}button,input,textarea{font:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:none;border:0}a{color:inherit;text-underline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--ink);outline-offset:6px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:300}img{display:block;max-width:100%;height:auto}p+p{margin-top:24px}[hidden]{display:none!important}.overline{font-size:.76rem;letter-spacing:.14em;line-height:1.9}.title{font-family:var(--serif);font-size:clamp(2rem,4.3vw,3.45rem);line-height:1.5;font-weight:300;text-wrap:balance;margin:18px 0 32px}.section{padding:90px 30px;text-align:center}.narrow{max-width:560px;margin:0 auto}.tiny-heart{display:block;font:300 44px/1.3 Georgia,serif;margin:0 auto 27px;color:var(--accent)}.text-button{padding:12px 4px;text-decoration:underline;text-underline-offset:6px;font-size:.83rem}.pill-button{display:inline-flex;justify-content:center;align-items:center;gap:28px;min-height:48px;padding:12px 28px;border:1px solid var(--ink);border-radius:80px;text-decoration:none;font-size:.9rem;line-height:1.6;transition:background .3s,color .3s,transform .3s}.pill-button:hover{color:var(--light);background:var(--ink);transform:translateY(-2px)}
/* Each polygon is a moving panel of the interactive envelope. */
.envelope{position:fixed;inset:0;z-index:40;isolation:isolate;perspective:1500px;overflow:hidden;min-height:100svh;background:transparent;transition:visibility 0s 1.5s;--fold:62%}.envelope-back{position:absolute;inset:0;background:var(--envelope);transition:opacity .6s .8s}.envelope-side{position:absolute;inset:0;background:var(--envelope);filter:drop-shadow(0 1px 4px #54402c30);transition:transform 1.2s .3s cubic-bezier(.65,0,.25,1)}.side-left{clip-path:polygon(0 0,56% 52%,0 100%);background:linear-gradient(130deg,var(--envelope) 50%,var(--envelope-dark))}.side-right{clip-path:polygon(100% 0,44% 52%,100% 100%);background:linear-gradient(-130deg,var(--envelope) 50%,var(--envelope-dark))}.envelope-bottom{position:absolute;inset:0;clip-path:polygon(0 100%,0 64%,50% 36%,100% 64%,100% 100%);background:linear-gradient(180deg,var(--envelope-dark),var(--envelope) 62%);transition:transform 1.35s .25s cubic-bezier(.65,0,.25,1)}.envelope-flap{position:absolute;inset:0;clip-path:polygon(0 0,100% 0,100% 37%,50% 64%,0 37%);background:linear-gradient(175deg,var(--envelope) 50%,var(--envelope-dark) 100%);transform-origin:50% 0;backface-visibility:hidden;transition:transform 1.25s .15s cubic-bezier(.6,0,.25,1);filter:drop-shadow(0 5px 2px #48332250)}.envelope-heading{position:absolute;left:18px;right:18px;top:18%;text-align:center}.envelope-heading h1{font:300 clamp(2.1rem,5.4vw,4.8rem)/1.6 var(--serif);margin:12px 0 18px}.envelope-names{font-size:clamp(.9rem,2vw,1.15rem);letter-spacing:.06em}.envelope-names .join{margin:0 8px}.seal-button{position:absolute;left:50%;top:62%;width:clamp(106px,13vw,150px);height:clamp(106px,13vw,150px);padding:0;transform:translate(-50%,-50%);transition:opacity .35s,transform .65s;z-index:3;filter:drop-shadow(0 5px 4px #442d282e)}.seal-button img{width:100%;height:100%;object-fit:contain;transition:transform .35s}.seal-button:hover img{transform:rotate(-7deg) scale(1.06)}.seal-button>span{position:absolute;top:69%;left:0;right:0;text-align:center;font-size:.65rem;font-weight:400;letter-spacing:.06em;color:#4d351c;text-shadow:0 1px #ffedbb80}.seal-button:focus-visible{border-radius:50%;outline-offset:3px}.envelope-instruction{position:absolute;top:82%;left:20px;right:20px;text-align:center;font-size:.79rem;color:var(--ink);transition:opacity .3s;line-height:1.7}.envelope.opening .seal-button{opacity:0;transform:translate(-50%,-50%) scale(1.35) rotate(12deg)}.envelope.opening .envelope-instruction{opacity:0}.envelope.opening .envelope-flap{transform:rotateX(155deg)}.envelope.opening .envelope-bottom{transform:translateY(110%)}.envelope.opening .side-left{transform:translateX(-110%)}.envelope.opening .side-right{transform:translateX(110%)}.envelope.opening .envelope-back{opacity:0}.envelope.is-open{visibility:hidden;pointer-events:none}
.hero{min-height:100svh;position:relative;overflow:hidden}.hero-inner{min-height:100svh;position:relative}.hero-copy{position:relative;z-index:2;text-align:center}.hero-kicker{font-size:.8rem;letter-spacing:.13em;line-height:1.7}.hero-names{font:300 clamp(3rem,7vw,6.7rem)/1.5 var(--serif)}.hero-and{font-size:.58em;margin:0 .17em}.hero-date{font-size:1.15rem;letter-spacing:.15em}.hero-tag{font-size:.85rem;margin-top:24px}.hero-photo img{width:100%;height:100%;object-fit:cover}.hero-photo figcaption{display:none}.scroll-cue{position:absolute;z-index:3;left:50%;bottom:25px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;font-size:.75rem}.scroll-cue>span:last-child{font-size:1.4rem;animation:scrollHint 2.5s infinite}.theme-classic .hero-photo{position:absolute;inset:0}.theme-classic .hero-photo img{object-position:50% 40%}.theme-classic .hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 15%,#17130e10 35%,#17130e9c 100%)}.theme-classic .hero-copy{padding:50svh 25px 140px;min-height:100svh;color:#fff8ee;display:flex;flex-direction:column;justify-content:flex-end}.theme-classic .hero-names{font-style:italic}.theme-classic .hero-kicker{margin-bottom:18px}.theme-classic .hero-tag{margin-top:16px}.theme-classic .scroll-cue{color:#fff8ee}.theme-classic .hero::after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:17px;background:var(--paper);clip-path:polygon(0 45%,1% 25%,2% 53%,3% 18%,4% 48%,5% 37%,6% 62%,8% 32%,10% 68%,12% 32%,13% 59%,15% 21%,17% 64%,19% 36%,21% 59%,23% 23%,25% 71%,27% 35%,29% 61%,31% 20%,33% 48%,35% 28%,37% 69%,39% 38%,41% 56%,43% 27%,45% 64%,47% 37%,49% 64%,51% 29%,53% 55%,55% 35%,57% 70%,59% 39%,61% 61%,63% 24%,65% 67%,67% 29%,69% 60%,71% 39%,73% 57%,75% 21%,77% 52%,79% 34%,81% 65%,83% 26%,85% 54%,87% 34%,89% 65%,91% 20%,93% 51%,95% 27%,97% 66%,99% 35%,100% 55%,100% 100%,0 100%);z-index:4}
.music-button{position:fixed;right:max(18px,env(safe-area-inset-right));top:max(18px,env(safe-area-inset-top));z-index:25;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--light);border:1px solid var(--line);opacity:0;visibility:hidden;box-shadow:0 3px 14px #2b201314;transition:opacity .4s}.unlocked .music-button{opacity:1;visibility:visible}.music-button svg{width:24px;height:24px}.music-button .waves{display:none}.music-button[aria-pressed=true] .waves{display:block}.music-button[aria-pressed=true] .mute{display:none}.music-message{position:fixed;top:76px;right:18px;max-width:230px;font-size:.75rem;z-index:26;background:var(--light);padding:5px 10px;display:none}.music-message:not(:empty){display:block}
.welcome{padding-top:100px}.signature{font:300 1.35rem/1.8 var(--serif);margin-top:28px}.date-section{padding-top:20px;padding-bottom:80px}.date-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:550px;margin:36px auto 30px;border:1px solid var(--ink)}.date-card{min-width:0;position:relative;padding:15px 8px 10px}.date-card+.date-card{border-left:1px solid var(--ink)}.date-card .weekday{display:block;font-size:.75rem;border-bottom:1px solid var(--line);padding-bottom:7px}.date-card .month{font-size:.78rem;display:block;margin-top:8px}.date-card .number{display:block;font-size:clamp(2.8rem,7vw,4.8rem);line-height:1.25;font-weight:300}.date-card.selected::after{content:"";position:absolute;inset:-18px 2px;border:3px solid var(--accent);border-radius:48% 45% 50% 47%;transform:rotate(-9deg);opacity:.7;pointer-events:none}.date-card.selected::before{content:"";position:absolute;inset:-14px -2px;border:1px solid var(--accent);border-radius:43% 51% 46% 51%;transform:rotate(4deg);opacity:.7;pointer-events:none}.date-caption{font-size:.87rem;color:var(--muted);margin-top:35px}.program-section{padding-top:40px}.section-heading .title{margin-bottom:25px}.timeline{max-width:620px;margin:50px auto 0;position:relative;padding:80px 0}.timeline-path{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.timeline-path path{fill:none;stroke:var(--accent);stroke-width:1.6;opacity:.48;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 3.8s ease}.timeline.path-visible .timeline-path path{stroke-dashoffset:0}.path-heart{position:absolute;left:50%;transform:translateX(-50%);font:40px/1 Georgia,serif;color:var(--accent);opacity:.6}.start-heart{top:-10px}.end-heart{bottom:-10px}.event{position:relative;z-index:1;min-height:200px;display:flex;align-items:center;width:53%;text-align:center}.event:nth-of-type(even){margin-left:auto}.event>div{width:100%}.event h3{font:300 1.65rem/1.6 var(--serif);text-wrap:balance}.event time{font:300 2.3rem/1.5 var(--sans)}.event p{font-size:.85rem;line-height:1.75;max-width:220px;margin:12px auto 0;color:var(--muted)}.event-index{display:none}.venue{padding-top:45px}.venue-inner{max-width:1050px;margin:auto}.venue h3{font:300 1.5rem/1.7 var(--serif);margin-bottom:15px}.venue-details>p{color:var(--muted)}.round-button{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;width:160px;height:160px;margin:40px auto 0;border-radius:50%;background:var(--envelope);text-decoration:none;line-height:1.7;transition:transform .3s,background .3s}.round-button::before{content:"";position:absolute;inset:-8px;border:1px solid var(--accent);border-radius:50%}.round-button:hover{transform:rotate(-5deg);background:var(--line)}.round-button>span:last-child{font-size:1.4rem}.dress{padding-top:95px}.palette{display:flex;justify-content:center;gap:9px;margin:36px auto 20px;max-width:380px}.palette>span{display:block;flex:1;aspect-ratio:1;background:var(--swatch);border:1px solid #65544918;box-shadow:3px 4px #7f725e12}.palette-caption{font-size:.77rem;color:var(--muted);line-height:1.8}.details{background:var(--envelope);margin-top:35px}.details-inner{max-width:950px;margin:auto}.details .title{font-size:clamp(1.9rem,3.6vw,3rem)}.details .tiny-heart{color:var(--ink)}.detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:65px;margin-top:45px}.detail-columns h3{font-family:var(--serif);font-size:1.35rem;margin-bottom:18px}.detail-columns p{font-size:.95rem}.rsvp{padding-top:110px;padding-bottom:110px}.rsvp-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;max-width:1030px;margin:auto;text-align:left}.rsvp-heading{position:relative}.rsvp-heading .title{font-size:clamp(2.1rem,4vw,3.1rem)}.rsvp-monogram{display:block;font:300 10rem/1 var(--serif);letter-spacing:-.15em;color:var(--accent);opacity:.28;transform:rotate(-9deg);padding-top:75px}.form-panel{min-width:0}form>label,#preferences>label{display:block;font-size:.93rem;margin:0 0 10px}input:not([type=radio]):not([type=checkbox]),textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--ink);border-radius:0;padding:12px 0;color:var(--ink);font-size:16px;min-height:48px}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.78}textarea{resize:vertical;line-height:1.7}fieldset{border:0;padding:0;margin:30px 0;min-width:0}legend{font-size:.94rem;margin-bottom:14px;line-height:1.7}.choice{display:flex;align-items:flex-start;gap:10px;padding:8px 0;font-size:.9rem;line-height:1.65;cursor:pointer}.choice input{width:20px;height:20px;flex:none;accent-color:var(--ink);margin:3px 0 0}.attendance-options,.meal-options{display:flex;flex-wrap:wrap;gap:0 25px}.drink-options{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.form-note{font-size:.78rem;line-height:1.7;color:var(--muted);margin:24px 0}.form-panel .pill-button{width:100%}.form-panel .text-button{display:block;margin:10px auto}#responseResult{padding:35px 0;text-align:center}#responseResult h3{font:300 2rem/1.6 var(--serif);margin-bottom:25px}#responseResult p{margin-bottom:28px}#responseResult .pill-button{margin-top:14px}.contacts{border-top:1px solid var(--line)}.contacts .pill-button{margin-top:25px}.closing{position:relative;overflow:hidden;min-height:540px;display:grid;place-items:center;padding-top:85px;padding-bottom:60px}.closing-photo{position:absolute;inset:0}.closing-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 35%;filter:grayscale(.3)}.closing-photo::after{content:"";position:absolute;inset:0;background:#231d14b5}.closing-content{position:relative;z-index:1;color:#fffaf3}.closing .title{font-style:italic}.countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px;width:min(440px,100%);margin:35px auto}.countdown>div{min-width:0}.countdown span{display:block;font:300 clamp(1.9rem,5vw,3rem)/1.5 var(--serif);font-variant-numeric:tabular-nums}.countdown small{font-size:.76rem}.closing-names{font:300 1.3rem/1.8 var(--serif);margin:32px 0 18px}.closing .text-button{opacity:.75}#countdownNote{font-size:.9rem}.noscript-note{padding:25px;text-align:center}
.motion-ready .reveal{opacity:0;transform:translateY(28px);transition:opacity .9s,transform 1.15s cubic-bezier(.2,.7,.3,1)}.motion-ready .reveal.visible{opacity:1;transform:none}.intro .hero-copy{animation:appear 1.8s both}.intro .hero-photo{animation:photoReveal 2.1s both}
/* Olive: paired typography and an arched portrait, restrained lines. */
.theme-sage{--paper:#f3f1e7;--envelope:#c7ceb6;--envelope-dark:#9daa8d;--ink:#3d4937;--muted:#717968;--accent:#829072;--line:#b7bfaa;--light:#fcfaf1}.theme-sage .envelope-heading h1{font-style:italic}.theme-sage .envelope-flap{clip-path:polygon(0 0,100% 0,100% 34%,50% 60%,0 34%)}.theme-sage .envelope.opening .envelope-flap{transform:translateY(-110%)}.theme-sage .envelope.opening .side-left{transform:translateX(-100%) rotateY(-40deg)}.theme-sage .envelope.opening .side-right{transform:translateX(100%) rotateY(40deg)}.theme-sage .hero{padding:55px 7vw 85px}.theme-sage .hero-inner{max-width:1200px;margin:auto;min-height:calc(100svh - 140px);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:6vw}.theme-sage .hero-copy{text-align:left}.theme-sage .hero-names{font-size:clamp(3.7rem,7vw,6.2rem);line-height:1.25;margin:30px 0}.theme-sage .hero-names>span{display:block}.theme-sage .hero-and{font-style:italic;font-size:.5em;margin:.13em 0}.theme-sage .hero-photo{height:min(76svh,780px);border-radius:48% 48% 3px 3px;overflow:hidden;box-shadow:15px 18px 0 #c7ceb654}.theme-sage .hero-photo img{object-position:50% 45%}.theme-sage .welcome{border-top:1px solid var(--line)}.theme-sage .date-strip{border:0;gap:14px}.theme-sage .date-card{border:1px solid var(--line);border-radius:100px 100px 4px 4px;padding-top:32px}.theme-sage .date-card.selected{background:var(--envelope)}.theme-sage .date-card.selected::before,.theme-sage .date-card.selected::after{display:none}.theme-sage .timeline{max-width:720px;padding:20px 0}.theme-sage .timeline-path{display:none}.theme-sage .timeline::before{content:"";position:absolute;top:40px;bottom:40px;left:105px;width:1px;background:var(--accent)}.theme-sage .path-heart{display:none}.theme-sage .event{width:100%;margin:0;min-height:170px;text-align:left;padding-left:0;gap:45px}.theme-sage .event-index{display:grid;place-items:center;flex:0 0 75px;width:75px;height:75px;border:1px solid var(--accent);border-radius:50%;background:var(--paper);font:300 1.5rem/1 var(--serif);margin-left:68px}.theme-sage .event>div{display:grid;grid-template-columns:1fr auto;column-gap:20px;align-items:center}.theme-sage .event h3{font-size:1.55rem}.theme-sage .event time{font-size:1.3rem}.theme-sage .event p{grid-column:1/-1;max-width:none;margin:8px 0 0}.theme-sage .venue{background:var(--envelope);padding-top:85px;padding-bottom:85px}.theme-sage .venue-inner{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center;text-align:left}.theme-sage .venue .title{font-size:clamp(2rem,3.4vw,3rem)}.theme-sage .round-button{background:var(--paper);width:130px;height:130px;margin:30px 0 0}.theme-sage .palette>span{border-radius:50%;box-shadow:none}.theme-sage .details{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:1100px;margin:0 auto}.theme-sage .detail-columns{text-align:left}.theme-sage .closing{background:var(--ink)}.theme-sage .closing-photo{left:auto;width:33%;opacity:.5}.theme-sage .closing-photo::after{background:linear-gradient(90deg,var(--ink),transparent)}.theme-sage .closing-content{width:100%;max-width:820px;padding-right:20%}
/* Rose: a printed photo card and asymmetric editorial spacing. */
.theme-rose{--paper:#f7eeea;--envelope:#e3c3bc;--envelope-dark:#c39e98;--ink:#63443f;--muted:#97786d;--accent:#bd9287;--line:#d8bfb5;--light:#fff9f4}.theme-rose .envelope-heading h1{font-style:italic}.theme-rose .envelope-flap{clip-path:polygon(0 0,100% 0,100% 48%,50% 65%,0 48%)}.theme-rose .envelope.opening .envelope-flap{transform:translateY(-110%) rotate(-6deg)}.theme-rose .envelope.opening .envelope-bottom{transform:translateY(110%) rotate(6deg)}.theme-rose .hero{padding:60px 40px 90px;background:linear-gradient(145deg,var(--paper),#eed6cf)}.theme-rose .hero-inner{min-height:calc(100svh - 150px);max-width:1100px;margin:auto;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:50px}.theme-rose .hero-photo{grid-column:1;grid-row:1;background:#fffaf5;padding:16px 16px 18px;transform:rotate(-5deg);box-shadow:10px 20px 40px #704d3921;max-width:430px;margin:auto}.theme-rose .hero-photo img{aspect-ratio:4/5;object-fit:cover}.theme-rose .hero-photo figcaption{display:block;text-align:center;font:300 1rem/1.7 var(--serif);padding-top:15px}.theme-rose .hero-copy{grid-column:2;grid-row:1;text-align:left}.theme-rose .hero-names{font-size:clamp(3.5rem,6.2vw,6rem);line-height:1.4;margin:24px 0}.theme-rose .hero-names>span{display:block}.theme-rose .hero-and{font-size:.5em;font-style:italic;margin-left:65px}.theme-rose .welcome-date{max-width:1180px;margin:30px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.theme-rose .welcome-date .section{padding:85px 25px}.theme-rose .welcome .title{font-size:2.5rem}.theme-rose .date-section .title{font-size:2.1rem}.theme-rose .date-strip{gap:8px;border:0}.theme-rose .date-card{border:0;border-bottom:1px solid var(--accent);padding:14px 4px}.theme-rose .date-card.selected{background:var(--envelope);border:1px solid var(--accent)}.theme-rose .date-card.selected::before,.theme-rose .date-card.selected::after{display:none}.theme-rose .date-card .number{font-size:3.8rem}.theme-rose .timeline{max-width:760px}.theme-rose .event{width:60%;text-align:left;padding:24px;gap:25px;background:var(--paper);min-height:185px;border-top:1px solid var(--line);margin-bottom:25px}.theme-rose .event-index{display:block;font:300 2.5rem/1 var(--serif);color:var(--accent)}.theme-rose .event:nth-of-type(even){margin-left:40%}.theme-rose .event h3{font-size:1.45rem}.theme-rose .event p{margin:10px 0 0;max-width:100%}.theme-rose .event time{font-size:1.7rem}.theme-rose .venue{background:var(--envelope)}.theme-rose .venue .round-button{background:var(--paper)}.theme-rose .palette>span{border-radius:80px 80px 4px 4px;aspect-ratio:.65}.theme-rose .details{background:transparent}.theme-rose .details-inner{border:1px solid var(--line);padding:60px 45px}.theme-rose .rsvp{padding-top:40px}.theme-rose .form-panel{padding:40px;background:#e8d1c84f;border:1px solid var(--line)}.theme-rose .rsvp-heading{padding-top:40px}.theme-rose .closing{min-height:620px}.theme-rose .closing-photo img{object-position:50% 48%}.theme-rose .closing-photo::after{background:#5c3e3ac9}
@keyframes scrollHint{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}@keyframes appear{from{opacity:0;translate:0 22px}to{opacity:1;translate:0 0}}@keyframes photoReveal{from{opacity:.5;scale:1.04}to{opacity:1;scale:1}}
@media(min-width:1200px){.theme-classic .hero{height:100svh;max-height:1200px}.theme-classic .hero-photo img{object-position:center 44%}.theme-classic .hero-copy{padding-bottom:100px}.theme-classic .welcome-date{display:grid;grid-template-columns:1fr 1fr;align-items:center;max-width:1150px;margin:auto;gap:65px}.theme-classic .welcome-date .section{padding:100px 20px 65px}.theme-classic .venue-inner{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;text-align:left}.theme-classic .round-button{margin-left:0}}
@media(max-width:760px){.section{padding:65px 24px}.title{font-size:clamp(1.85rem,7.6vw,2.8rem);margin:15px 0 28px}.overline{font-size:.73rem;letter-spacing:.08em}.envelope-heading{top:18%}.envelope-heading h1{font-size:clamp(2rem,8vw,3.2rem);margin-top:20px}.envelope-names{font-size:.9rem}.seal-button{width:118px;height:118px}.envelope-instruction{font-size:.76rem;max-width:280px;margin:auto;top:82%}.hero-names{font-size:clamp(2.5rem,10vw,4.2rem)}.theme-classic .hero-copy{padding:55svh 18px 110px}.theme-classic .hero-names>span:not(.hero-and){display:block}.theme-classic .hero-names{line-height:1.25}.theme-classic .hero-and{display:block;font-size:.5em;margin:7px 0}.theme-classic .hero-photo img{object-position:52% 35%}.theme-classic .hero-kicker{font-size:.72rem;margin-bottom:18px}.hero-date{font-size:1rem;letter-spacing:.12em;margin-top:20px}.hero-tag{font-size:.78rem}.music-button{right:14px;top:max(14px,env(safe-area-inset-top));width:44px;height:44px}.welcome{padding-top:80px}.date-section{padding-top:20px;padding-bottom:60px}.date-strip{margin-top:35px;max-width:400px}.date-card{padding:13px 5px 10px}.date-card .weekday{font-size:.7rem}.date-card .month{font-size:.7rem}.date-card .number{font-size:3.2rem}.date-caption{font-size:.85rem}.program-section{padding-top:30px}.timeline{margin-top:40px;padding-top:60px;padding-bottom:60px}.event{min-height:195px;width:59%}.event h3{font-size:clamp(1.3rem,5.5vw,1.7rem)}.event time{font-size:2rem}.event p{font-size:.83rem;max-width:190px}.timeline-path path{stroke-width:1.3}.venue{padding-top:35px;padding-bottom:70px}.venue .title{font-size:clamp(1.8rem,7vw,2.6rem)}.venue h3{font-size:1.3rem}.venue-details>p{font-size:.9rem}.round-button{width:140px;height:140px;font-size:.92rem}.dress{padding-top:70px}.palette{gap:6px}.palette-caption{font-size:.73rem}.details{margin-top:10px}.details .title{font-size:clamp(1.85rem,6.9vw,2.5rem)}.detail-columns{grid-template-columns:1fr;gap:35px;margin-top:30px}.detail-columns h3{font-size:1.25rem}.detail-columns p{font-size:.93rem}.rsvp{padding-top:75px;padding-bottom:80px}.rsvp-layout{grid-template-columns:1fr;gap:38px;max-width:530px}.rsvp-heading{text-align:center}.rsvp-heading .title{font-size:2.4rem}.rsvp-monogram{display:none}.drink-options{grid-template-columns:1fr 1fr;gap:0 15px}.choice{font-size:.86rem}.closing{min-height:560px}.countdown{gap:18px;max-width:350px}.countdown span{font-size:2rem}.countdown small{font-size:.73rem}.closing .title{font-size:clamp(2rem,8vw,2.8rem)}.theme-sage .hero{padding:65px 25px 90px}.theme-sage .hero-inner{min-height:calc(100svh - 155px);grid-template-columns:1fr;gap:28px}.theme-sage .hero-copy{text-align:center}.theme-sage .hero-names{font-size:clamp(2rem,8vw,3.2rem);line-height:1.5;margin:15px 0}.theme-sage .hero-names>span{display:inline}.theme-sage .hero-and{margin:0 .12em;font-size:.7em}.theme-sage .hero-tag{display:none}.theme-sage .hero-date{margin-top:0;font-size:.85rem}.theme-sage .hero-photo{height:52svh;min-height:300px;max-height:650px;max-width:440px;width:100%;margin:auto;box-shadow:8px 9px 0 #c7ceb654}.theme-sage .date-card{padding-top:25px}.theme-sage .date-strip{gap:9px}.theme-sage .timeline{padding:0}.theme-sage .timeline::before{left:27px;top:55px;bottom:55px}.theme-sage .event{min-height:170px;gap:22px}.theme-sage .event-index{flex-basis:54px;width:54px;height:54px;font-size:1.2rem;margin-left:0}.theme-sage .event>div{display:block}.theme-sage .event h3{font-size:1.38rem}.theme-sage .event time{font-size:1.2rem}.theme-sage .event p{font-size:.83rem}.theme-sage .venue{padding:65px 24px}.theme-sage .venue-inner{grid-template-columns:1fr;gap:0;text-align:center}.theme-sage .round-button{margin:35px auto 0}.theme-sage .detail-columns{text-align:center}.theme-sage .closing-content{padding-right:0}.theme-sage .closing-photo{width:100%;opacity:.3}.theme-sage .closing-photo::after{background:var(--ink);opacity:.5}.theme-rose .hero{padding:65px 25px 90px}.theme-rose .hero-inner{min-height:calc(100svh - 155px);grid-template-columns:1fr;gap:32px}.theme-rose .hero-copy{grid-column:1;grid-row:1;text-align:center}.theme-rose .hero-names{font-size:clamp(2rem,8vw,3.2rem);line-height:1.5;margin:15px 0}.theme-rose .hero-names>span{display:inline}.theme-rose .hero-and{margin:0 .15em;font-size:.7em}.theme-rose .hero-date{margin-top:0;font-size:.85rem}.theme-rose .hero-tag{display:none}.theme-rose .hero-photo{grid-row:2;max-width:330px;width:87%;padding:10px 10px 13px}.theme-rose .hero-photo img{max-height:51svh;object-fit:cover}.theme-rose .hero-photo figcaption{font-size:.85rem;padding-top:10px}.theme-rose .welcome-date{display:block;margin:0 auto}.theme-rose .welcome-date .section{padding:65px 24px}.theme-rose .welcome-date .date-section{padding-top:0;padding-bottom:50px}.theme-rose .welcome .title{font-size:2.1rem}.theme-rose .date-card .number{font-size:3.2rem}.theme-rose .event{width:87%;padding:20px 10px;gap:18px;min-height:180px}.theme-rose .event:nth-of-type(even){margin-left:13%}.theme-rose .event h3{font-size:1.4rem}.theme-rose .event-index{font-size:2rem}.theme-rose .event time{font-size:1.55rem}.theme-rose .details-inner{padding:40px 20px}.theme-rose .details{padding-left:18px;padding-right:18px}.theme-rose .form-panel{padding:27px 19px}.theme-rose .rsvp{padding-left:18px;padding-right:18px}.theme-rose .rsvp-heading{padding-top:0}.theme-rose .drink-options{grid-template-columns:1fr}.theme-rose .closing{min-height:570px}}
@media(max-width:350px){.section{padding-left:19px;padding-right:19px}.title{font-size:1.85rem}.date-card .weekday{font-size:.66rem}.event{width:62%}.event h3{font-size:1.25rem}.event p{font-size:.81rem}.drink-options{grid-template-columns:1fr}.countdown{gap:12px}.countdown span{font-size:1.85rem}.envelope-heading h1{font-size:1.85rem}.theme-rose .event h3{font-size:1.25rem}}
@media(max-height:520px) and (orientation:landscape){.envelope-heading{top:8%}.envelope-heading h1{font-size:2rem;margin:4px 0}.envelope-names{font-size:.8rem}.seal-button{width:85px;height:85px;top:63%}.envelope-instruction{top:84%;font-size:.7rem}.hero-inner{min-height:640px!important}.hero{min-height:640px}.theme-sage .hero-photo{height:500px}.theme-classic .hero-copy{min-height:640px;padding-top:200px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1;transform:none}.timeline-path path{stroke-dashoffset:0}}

.flap-edge{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.flap-edge path{fill:none;stroke:var(--envelope-dark);stroke-width:.5;vector-effect:non-scaling-stroke;filter:drop-shadow(0 2px 2px #4a342a55)}.envelope-flap{background:linear-gradient(175deg,var(--envelope) 35%,color-mix(in srgb,var(--envelope),white 9%) 75%)}.seal-button>span{top:106%;font-size:.72rem;letter-spacing:.14em;text-shadow:none}.envelope-instruction{top:84%}

/* Allow Armenian headings to wrap within narrow grid and flex tracks. */
.venue-inner>div,.event>div{min-width:0}.venue .title,.event h3{overflow-wrap:anywhere}
