@font-face{font-family:InvSans;src:url("../../fonts/NotoSansArmenian-Regular.ttf") format("truetype");font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:InvSerif;src:url("../../fonts/NotoSerifArmenian-Regular.ttf") format("truetype");font-style:normal;font-weight:100 900;font-display:swap}
:root{--paper:#f7f3eb;--ink:#252820;--muted:#6e6a60;--accent:#77533c;--line:#d9d3c7;--surface:#fffaf0;--button-ink:#fff;--serif:InvSerif,Georgia,serif;--sans:InvSans,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body.invitation{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.75;overflow-x:clip;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}img,svg{max-width:100%}img{object-fit:cover;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}h1{line-height:1.15}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:5px}::selection{background:var(--accent);color:var(--paper)}[hidden]{display:none!important}
.inv-shell{width:min(100% - 96px,1200px);margin-inline:auto}.inv-section{padding-block:110px}.inv-display{font-family:var(--serif);font-size:clamp(3rem,7.3vw,7.6rem);letter-spacing:-.055em;line-height:1.15}.inv-serif{font-family:var(--serif)}.inv-eyebrow{display:block;font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:.23em;line-height:1.8;text-transform:uppercase}.inv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}.inv-button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:54px;padding:14px 24px;background:var(--accent);color:var(--button-ink);border:1px solid var(--accent);border-radius:2px;text-decoration:none;font-size:12px;line-height:1.6;transition:transform .3s,box-shadow .3s,background .3s}.inv-button:hover{transform:translateY(-3px);box-shadow:0 10px 28px #00000014}.inv-button:disabled{opacity:.5;cursor:wait;transform:none}.inv-button--outline{background:transparent;color:var(--ink);border-color:var(--line)}.inv-text-link{display:inline-flex;align-items:center;gap:18px;padding:8px 0;border:0;border-bottom:1px solid var(--line);background:none;text-decoration:none;color:var(--ink);font-size:12px;transition:gap .3s}.inv-text-link:hover{gap:25px}.inv-actions{display:flex;justify-content:center;align-items:center;gap:15px;flex-wrap:wrap}
.inv-details{position:relative;border-top:1px solid var(--line)}.inv-details-heading{text-align:center;margin-bottom:65px}.inv-details-heading .inv-eyebrow{color:var(--muted);margin-bottom:20px}.inv-details-heading h2{font-size:clamp(1.8rem,3.6vw,3.1rem);line-height:1.5;margin-bottom:14px}.inv-details-heading p{font-size:13px;color:var(--muted)}.inv-timeline{display:flex;justify-content:space-between;gap:24px;list-style:none;margin:0 0 75px;padding:0}.inv-timeline-item{position:relative;flex:1;border-top:1px solid var(--line);padding:28px 0}.inv-timeline-item:before{position:absolute;content:"";width:7px;height:7px;background:var(--accent);border-radius:50%;top:-4px;left:0}.inv-timeline-number{position:absolute;right:0;top:22px;font-family:var(--serif);font-size:28px;opacity:.2}.inv-timeline time{font-family:var(--serif);font-size:32px;display:block;margin-bottom:12px}.inv-timeline h3{font-size:13px;line-height:1.8;margin:0;max-width:85%}.inv-venues{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:24px}.inv-venue-card{padding:45px 36px;background:var(--surface);border:1px solid var(--line)}.inv-venue-card>.inv-eyebrow{color:var(--muted);margin-bottom:20px}.inv-venue-card h3{font-size:clamp(1.3rem,2.3vw,2rem);line-height:1.7;margin-bottom:25px}.inv-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:70px}.inv-gallery img{width:100%;aspect-ratio:3/4;border-radius:1px}.inv-gallery img:nth-child(3n+2){margin-top:35px}.inv-response-section{text-align:center;padding:90px 20px 10px}.inv-response-section h2{font-size:clamp(2rem,4vw,3.7rem);line-height:1.45;margin:25px 0 20px}.inv-response-section>p{color:var(--muted);font-size:13px;margin-bottom:30px}.inv-footer{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding:30px 48px 85px;color:var(--muted);font-size:10px}.inv-footer a{text-decoration:none;font-family:Georgia,serif;font-size:19px;color:var(--ink)}.inv-footer a span{color:var(--accent)}
.inv-controls{position:fixed;bottom:22px;right:22px;z-index:50;display:flex;align-items:center;gap:6px}.inv-controls button{width:40px;height:40px;border-radius:50%;background:var(--paper);color:var(--ink);border:1px solid var(--line);box-shadow:0 4px 18px #0001;display:grid;place-items:center;font-size:17px}.inv-controls button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.inv-preview-label{padding:8px 14px;background:var(--paper);border:1px solid var(--line);border-radius:20px;color:var(--muted);font-size:10px}
.inv-dialog{width:min(560px,calc(100% - 30px));max-height:calc(100dvh - 48px);background:var(--paper);color:var(--ink);padding:48px;border:1px solid var(--line);border-radius:12px;box-shadow:0 35px 100px #0004;overflow-y:auto}.inv-dialog::backdrop{background:#12121091;backdrop-filter:blur(8px)}.inv-dialog[open]{animation:inv-dialog-enter .35s ease both}.inv-dialog h2{font-size:32px;margin:15px 0 25px;line-height:1.6}.inv-dialog-close{position:absolute;right:18px;top:13px;border:0;background:none;color:var(--ink);font-size:29px;width:40px;height:40px}.inv-note{font-size:12px;color:var(--muted)}.inv-dialog form{display:flex;flex-direction:column;gap:18px}.inv-form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.inv-dialog label{display:flex;flex-direction:column;gap:7px;font-size:12px}.inv-dialog input:not([type=radio]):not([type=hidden]),.inv-dialog textarea,.inv-dialog select{width:100%;min-width:0;background:var(--surface);color:var(--ink);border:1px solid var(--line);padding:12px;border-radius:3px;resize:vertical}.inv-dialog fieldset{border:0;padding:0;margin:0}.inv-dialog legend{font-size:12px;margin-bottom:12px}.inv-dialog .inv-radio{display:inline-flex;flex-direction:row;align-items:center;margin-right:14px}.inv-radio input{accent-color:var(--accent)}.inv-form-status{font-size:12px;line-height:1.9;margin:0}.inv-form-status[data-kind=error]{color:#b6483b}.inv-table-results{display:grid;gap:12px}.inv-table-result{display:grid;grid-template-columns:1fr auto;gap:12px;padding:20px;border:1px solid var(--line);border-radius:5px}.inv-table-result strong{font-family:var(--serif);font-size:19px}.inv-table-result small{grid-column:1/-1;color:var(--muted)}.inv-toast{position:fixed;bottom:78px;left:50%;transform:translateX(-50%);z-index:100;background:var(--ink);color:var(--paper);padding:14px 22px;border-radius:6px;max-width:calc(100% - 32px);font-size:12px;box-shadow:0 6px 25px #0002}
/* Customer names and venue labels can be much longer than demo copy. */
.invitation :is(h1,h2,h3,p,strong,a,button,figcaption){overflow-wrap:anywhere}.inv-grid>*,.inv-venues>*,.inv-gallery>*,.inv-form-row>*,.inv-table-result>*{min-width:0}.inv-button{max-width:100%;text-align:center}.inv-controls{bottom:max(12px,env(safe-area-inset-bottom))}.inv-dialog fieldset{min-width:0}
@media(max-width:480px){.inv-dialog input:not([type=radio]),.inv-dialog select,.inv-dialog textarea{font-size:16px}.inv-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.inv-gallery img:nth-child(3n+2){margin-top:0}.inv-gallery img:nth-child(even){margin-top:24px}.inv-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}}
.motion-ready [data-reveal]{opacity:0;transform:translate3d(0,26px,0);transition:opacity .85s ease var(--reveal-delay,0ms),transform 1.15s cubic-bezier(.2,.7,.15,1) var(--reveal-delay,0ms)}.motion-ready [data-reveal].is-visible{opacity:1;transform:none}
[data-parallax]{translate:var(--pointer-x,0px) var(--pointer-y,0px);transition:translate .8s cubic-bezier(.2,.7,.2,1)}
.motion-paused *,.motion-paused *::before,.motion-paused *::after{animation:none!important;scroll-behavior:auto!important}.motion-paused [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}.motion-paused [data-parallax]{translate:0 0}
@keyframes inv-dialog-enter{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}
@media(max-width:760px){.inv-shell{width:calc(100% - 40px)}.inv-section{padding-block:70px}.inv-grid{grid-template-columns:1fr;gap:25px}.inv-timeline{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:40px}.inv-timeline time{font-size:26px}.inv-venue-card{padding:30px 24px}.inv-response-section{padding:60px 0 5px}.inv-response-section .inv-actions{flex-direction:column}.inv-gallery{gap:9px}.inv-footer{padding:25px 20px 85px;flex-wrap:wrap}.inv-footer>span:first-child{max-width:55%}.inv-footer>span:last-child{display:none}.inv-dialog{padding:40px 24px 24px}.inv-dialog h2{font-size:26px}.inv-form-row{grid-template-columns:1fr}.inv-controls{right:12px;bottom:max(12px,env(safe-area-inset-bottom))}.inv-eyebrow{letter-spacing:.15em}.inv-details-heading{margin-bottom:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.motion-ready [data-reveal]{opacity:1;transform:none}[data-parallax]{translate:0 0!important}}
.inv-countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:min(100%,650px);margin:0 auto 72px;border-block:1px solid var(--line);padding:28px 0;text-align:center}.inv-countdown>div+div{border-left:1px solid var(--line)}.inv-countdown strong{display:block;font-family:var(--serif);font-size:clamp(28px,4.5vw,62px);font-weight:400;line-height:1.2;font-variant-numeric:tabular-nums}.inv-countdown span{font-size:10px;letter-spacing:.1em;color:var(--muted)}.inv-countdown>p{grid-column:1/-1;margin:15px 0 0;font-size:13px}.inv-schedule-label{margin-bottom:25px;color:var(--muted)}.inv-gallery-heading{text-align:center;margin:70px 0 28px}.inv-gallery-heading h2{font-size:clamp(28px,4vw,46px);margin-bottom:12px}.inv-gallery-heading p{font-size:12px;color:var(--muted)}.inv-gallery-heading+.inv-gallery{margin-top:0}
@media(max-width:480px){.inv-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}.inv-countdown{margin-bottom:45px;padding-block:22px}.inv-countdown span{font-size:9px;letter-spacing:0}}
/* Each wedding theme supplies its own invitation-opening artwork. */
.inv-opening{position:fixed;inset:0;width:100%;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:var(--paper);color:var(--ink);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;isolation:isolate}.inv-opening:not([open]){display:none!important}.inv-opening::backdrop{background:var(--paper)}.inv-opening button{touch-action:manipulation}.inv-opening [data-invitation-open]{min-height:48px}.inv-opening [data-invitation-skip]{position:relative;z-index:30;min-height:44px}.inv-opening [data-invitation-open]:focus-visible,.inv-opening [data-invitation-skip]:focus-visible{outline:2px solid currentColor;outline-offset:7px}.invitation-sealed .inv-controls{visibility:hidden}.invitation-unsealed main{animation:inv-letter-arrive .8s cubic-bezier(.2,.7,.2,1) both}
@keyframes inv-letter-arrive{from{opacity:.15;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.invitation-unsealed main{animation:none}}
@media(max-width:400px){.inv-button{gap:12px;padding-inline:16px}}
