@font-face{font-family:AHScript;src:url('fonts/greatvibes.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:AHSerif;src:url('fonts/cormorant.woff2') format('woff2');font-weight:300 700;font-display:swap}
:root{--ah-ivory:#f7f2e5;--ah-paper:#fbf8ef;--ah-sage:#dce5d6;--ah-green:#52664d;--ah-ink:#30422f;--ah-muted:#657160;--ah-line:#8b9a7b7a;--ah-right:max(4vw,calc((100vw - 1280px)/2))}
body.ah-wedding-page{background:var(--ah-ivory);margin:0;color:var(--ah-ink)}
.ah-elementor-root,.ah-block,.ah-cover,.ah-controls,.ah-lightbox{font-family:AHSerif,Georgia,serif;color:var(--ah-ink);font-size:19px;line-height:1.6;box-sizing:border-box}
.ah-elementor-root *,.ah-cover *,.ah-controls *,.ah-lightbox *{box-sizing:border-box}
.ah-elementor-root{width:100%;margin:0 auto;background:var(--ah-paper);max-width:620px}
.ah-elementor-root.e-con{--container-max-width:620px!important;--padding-top:0!important;--padding-bottom:0!important;--padding-left:0!important;--padding-right:0!important;gap:0!important;display:block!important}
.ah-el-part,.ah-el-part>.e-con-inner{display:block!important;width:100%!important;padding:0!important;gap:0!important;margin:0!important}
.ah-elementor-root .elementor-widget{width:100%;margin:0!important}
.ah-elementor-root .elementor-widget-container{margin:0!important;padding:0!important}
.ah-block h1,.ah-block h2,.ah-block h3,.ah-block p,.ah-cover h1,.ah-cover p{margin:0;color:inherit}
.ah-block button,.ah-block input,.ah-block select,.ah-block textarea,.ah-cover button,.ah-controls button{font:inherit}
.ah-block img,.ah-cover img{max-width:100%;display:block;height:auto;border:0;box-shadow:none}
.ah-block a,.ah-cover a,.ah-controls a{color:inherit;text-decoration:none}
.ah-block{position:relative;width:100%;padding:16px 12px;scroll-margin-top:12px;background:var(--ah-paper)}
.ah-frame{position:relative;padding:50px 26px 42px;text-align:center;border:1px solid var(--ah-line);outline:1px solid #91a08040;outline-offset:-7px;background:radial-gradient(ellipse at 60% 10%,#fff6,transparent 65%);isolation:isolate}
.ah-frame:before,.ah-frame:after{content:"";position:absolute;pointer-events:none;background:url('botanical.svg') no-repeat 0 0/contain;width:135px;height:200px;z-index:-1;opacity:.4}
.ah-frame:before{left:-13px;top:-7px}.ah-frame:after{right:-12px;bottom:0;transform:rotate(180deg)}
.ah-script{font-family:AHScript,'Brush Script MT',cursive!important;font-weight:400!important;line-height:1.18!important;letter-spacing:0!important;text-transform:none!important}
.ah-title{font-size:clamp(51px,12.5vw,76px)!important;margin:12px 0!important}
.ah-section-title{font-size:clamp(43px,10.8vw,64px)!important;margin:12px 0 25px!important}
.ah-eyebrow{font-family:Georgia,serif;font-size:10px!important;letter-spacing:3px;line-height:1.9;text-transform:uppercase;display:block}
.ah-monogram{width:104px;height:auto!important;margin:0 auto 28px;object-fit:contain}
.ah-date{font-size:18px;letter-spacing:1px;margin:10px auto 26px!important}
.ah-hero-photo{overflow:hidden;border:1px solid var(--ah-line);padding:5px;border-radius:240px 240px 7px 7px;margin:24px -9px}
.ah-hero-photo img{width:100%;aspect-ratio:1/1.07;object-fit:cover;object-position:center top;border-radius:230px 230px 3px 3px}
.ah-intro{font-size:18px;line-height:1.8;max-width:460px;margin:18px auto!important}
.ah-scroll-cue{display:inline-flex;flex-direction:column;gap:6px;font-size:15px;letter-spacing:.3px;margin-top:18px}.ah-scroll-cue span{font-size:25px}
.ah-bismillah{font:29px/1.9 Georgia,serif;margin-bottom:16px!important}.ah-greeting{font-size:15px;font-style:italic;line-height:1.6;max-width:410px;margin:15px auto!important}
.ah-divider{display:flex;align-items:center;justify-content:center;gap:16px;font-size:28px;color:#849375;margin:24px 0}
.ah-divider:before,.ah-divider:after{content:"";width:25%;height:1px;background:var(--ah-line)}
.ah-person{display:grid;grid-template-columns:36% 1fr;align-items:center;gap:19px;text-align:left;margin:30px 0 0}
.ah-person-photo{padding:4px;border:1px solid var(--ah-line);border-radius:100px 100px 3px 3px;overflow:hidden}
.ah-person-photo img{width:100%;aspect-ratio:.57;object-fit:cover;object-position:center top;border-radius:100px 100px 0 0}
.ah-person h3{font-size:55px;margin:0 0 9px!important}.ah-fullname{font-size:18px;font-weight:600;line-height:1.4;text-transform:uppercase;letter-spacing:.5px}
.ah-parents{font-size:15px;line-height:1.65;margin-top:14px!important}.ah-ampersand{display:block;font-family:AHScript,cursive;font-size:53px;color:#9d9e83;margin:18px 0 -3px}
.ah-person-reverse{margin-top:0}.ah-sage-block{background:#e8edde}.ah-event-date{font-size:26px;font-weight:600;margin-bottom:22px!important}
.ah-count-label{font-size:17px;margin:0 0 10px!important}.ah-countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:0 auto 32px}
.ah-countdown div{background:#d6dfcb85;border:1px solid #8394756b;border-radius:17px;padding:10px 2px}.ah-countdown strong{font-size:35px;font-weight:600;line-height:1.2;display:block;font-variant-numeric:tabular-nums}.ah-countdown span{font-size:15px}
.ah-event-card{border:1px solid var(--ah-line);outline:1px solid #85957d44;outline-offset:-5px;padding:17px 14px 23px;background:#fff7;margin:16px 0}
.ah-event-symbol{font-size:38px;line-height:1.2;display:block;color:#708662}.ah-event-card h3{font-size:36px;font-weight:600;margin:3px 0!important}.ah-event-card p{font-size:24px;letter-spacing:2px}
.ah-small{font-size:14px!important;line-height:1.55!important;color:var(--ah-muted)!important;margin:16px 0!important}
.ah-venue{font-size:clamp(30px,7.8vw,44px)!important;line-height:1.16!important;margin:18px 0!important;font-weight:600!important}.ah-address{font-size:18px;line-height:1.65;margin:0 auto 24px!important}
.ah-actions{display:flex;flex-direction:column;gap:12px;align-items:center}.ah-button{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:10px 28px;background:var(--ah-green)!important;color:#fffdf5!important;border:1px solid var(--ah-green)!important;border-radius:32px!important;font-size:19px!important;line-height:1.35!important;text-decoration:none;cursor:pointer;transition:background .2s,transform .2s;box-shadow:inset 0 0 0 3px #f7f2e523;letter-spacing:0!important;text-transform:none!important}
.ah-button:hover{background:#40523c!important;transform:translateY(-1px)}.ah-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7}
.ah-button-outline{background:transparent!important;color:var(--ah-green)!important}.ah-button-outline:hover{background:#d1ddc8!important}.ah-actions .ah-button{width:min(100%,310px)}
.ah-gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:25px}.ah-gallery-tile{display:block;position:relative;padding:4px!important;border:1px solid var(--ah-line)!important;border-radius:2px!important;overflow:hidden;cursor:zoom-in;background:#fff8!important;min-width:0}
.ah-gallery-tile img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.ah-gallery-tile:hover img{transform:scale(1.025)}
.ah-gallery-tile-0,.ah-gallery-tile-1{aspect-ratio:.7}.ah-gallery-tile-1 img{object-position:58% center}.ah-gallery-tile-2,.ah-gallery-tile-3{grid-column:span 2;aspect-ratio:1.95}
.ah-gallery-tile>span{position:absolute;bottom:7px;right:8px;border-radius:100%;background:#fbf8efd9;color:var(--ah-green);width:25px;height:25px;line-height:25px;font-size:17px}
.ah-rsvp-form{text-align:left;max-width:460px;margin:25px auto 0}.ah-rsvp-form label{display:block;font-size:17px;font-weight:600;line-height:1.5;margin:0 0 5px}.ah-rsvp-form label span{font-weight:400}
.ah-rsvp-form input,.ah-rsvp-form select,.ah-rsvp-form textarea{width:100%;background:#fffaf4;border:1px solid #a0ac96!important;border-radius:7px!important;color:var(--ah-ink)!important;padding:12px!important;line-height:1.4!important;box-shadow:none!important;font-size:17px!important;min-height:49px;font-family:AHSerif,Georgia,serif!important;margin:0 0 16px!important}
.ah-rsvp-form textarea{resize:vertical;min-height:125px}.ah-rsvp-form select{padding-right:22px!important}.ah-form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.ah-form-row>div{min-width:0}.ah-form-help{font-size:13px!important;margin:-8px 0 17px!important;color:var(--ah-muted)!important}.ah-rsvp-form .ah-button{width:100%}
.ah-form-status{font-size:16px;line-height:1.5;margin:12px 0!important;min-height:24px}.ah-form-status.is-error{color:#923a33!important}.ah-form-status.is-success{color:#365b33!important}.ah-privacy-note{text-align:center}.ah-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px;height:1px;overflow:hidden}
.ah-rsvp-form [disabled]{opacity:.65;cursor:not-allowed}.ah-rsvp-form :focus-visible,.ah-button:focus-visible,.ah-controls :focus-visible,.ah-gallery-tile:focus-visible,.ah-lightbox :focus-visible{outline:3px solid #819768!important;outline-offset:4px}
.ah-closing{padding-bottom:115px}.ah-closing .ah-monogram{margin:25px auto 4px;width:90px}.ah-closing .ah-title{font-size:63px!important}
.ah-desktop-portrait{display:none}
.ah-cover{position:fixed;inset:0;z-index:999990;overflow:auto;background:radial-gradient(ellipse at 20% 10%,#e1e8d8,transparent 60%),var(--ah-ivory);display:flex;align-items:center;justify-content:center;padding:28px 20px;min-height:100dvh;transition:opacity .65s,visibility .65s}
.ah-cover:before,.ah-cover:after{content:"";position:fixed;width:180px;height:280px;background:url('botanical.svg') no-repeat top left/contain;opacity:.35;pointer-events:none}.ah-cover:before{left:-40px;top:0}.ah-cover:after{right:-35px;bottom:0;transform:rotate(180deg)}
.ah-cover-inner{text-align:center;max-width:500px;width:100%;position:relative}.ah-cover h1{font-size:64px;margin:10px 0 4px}.ah-cover-date{font-size:17px;letter-spacing:1px}.ah-envelope{width:min(100%,400px);height:260px;margin:40px auto 15px;position:relative;perspective:900px;filter:drop-shadow(0 18px 20px #2a3a2220)}
.ah-envelope-back{position:absolute;inset:18% 0 0;background:#afbea5;border:1px solid #95a48b;border-radius:7px}
.ah-letter{position:absolute;bottom:10px;left:7%;width:86%;height:79%;padding:18px 12px 12px;background:#fcf8eb;border:1px solid #afba9e;text-align:center;z-index:2;transition:transform 1s .45s cubic-bezier(.19,1,.22,1);box-shadow:0 0 10px #34432812}
.ah-letter span,.ah-letter small{display:block;font-size:13px;letter-spacing:1px}.ah-letter strong{font-family:AHScript,cursive;font-size:38px;font-weight:400;line-height:1.3;display:block}.ah-letter-logo{width:64px!important;margin:0 auto 9px}
.ah-envelope-front{position:absolute;inset:18% 0 0;background:linear-gradient(145deg,#d3ddc9,#bbcbb2);clip-path:polygon(0 0,50% 55%,100% 0,100% 100%,0 100%);z-index:5;border-radius:5px;border:1px solid #8e9e83}
.ah-envelope-front:after{content:"";position:absolute;inset:0;background:#d9e2cf;clip-path:polygon(0 100%,50% 45%,100% 100%);border-radius:5px}
.ah-envelope-flap{position:absolute;top:18%;left:0;width:100%;height:72%;clip-path:polygon(0 0,100% 0,50% 71%);background:linear-gradient(#dce5d4,#aebb9f);transform-origin:50% 0;z-index:8;transition:transform .9s ease,z-index 0s .45s;backface-visibility:hidden}
.ah-seal{position:absolute;left:50%;top:57%;transform:translate(-50%,-50%);width:65px;height:65px;border-radius:50%;background:#f2eddb;box-shadow:0 2px 6px #44543225,inset 0 0 0 4px #faf7ea,inset 0 0 0 5px #aab298;z-index:10;display:grid;place-items:center;transition:opacity .3s,transform .4s}.ah-seal img{width:43px}
.ah-cover.is-opening .ah-envelope-flap{transform:rotateX(180deg);z-index:1}.ah-cover.is-opening .ah-letter{transform:translateY(-85px)}.ah-cover.is-opening .ah-seal{opacity:0;transform:translate(-50%,-50%) scale(.7)}
.ah-cover.is-leaving{opacity:0;visibility:hidden;pointer-events:none}.ah-cover[hidden]{display:none!important}.ah-recipient-label{font-size:15px}.ah-guest-name{font-size:26px;font-weight:600;margin:4px auto 17px!important;max-width:100%;overflow-wrap:anywhere}.ah-cover-hint{font-size:13px!important}
body.ah-locked{overflow:hidden!important}.ah-controls{display:none}.ah-open .ah-controls{display:block}.ah-bottom-nav{position:fixed;z-index:10000;bottom:max(10px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:calc(100% - 28px);max-width:565px;display:grid;grid-template-columns:repeat(4,1fr);background:#e8eddeee;border:1px solid #99a589ad;border-radius:18px;box-shadow:0 5px 26px #2d3e2520;backdrop-filter:blur(12px);padding:8px 5px}
.ah-bottom-nav a{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;padding:4px 2px;border-radius:12px;font-size:13px;line-height:1.3}.ah-bottom-nav svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.6}.ah-bottom-nav a.is-active{background:#cddbbfaa;color:#2f492a}
.ah-music-button{position:fixed;bottom:98px;right:max(20px,calc((100vw - 580px)/2));z-index:10001;border:1px solid #91a07f!important;background:#f5f3e8ed!important;color:var(--ah-green)!important;box-shadow:0 3px 14px #26351e1a;border-radius:50%!important;padding:10px!important;width:44px;height:44px;display:grid;place-items:center;cursor:pointer}.ah-music-button svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.8;fill:none}.ah-music-slash{width:28px;height:1.5px;background:currentColor;position:absolute;transform:rotate(-45deg)}.ah-music-button[aria-pressed=true] .ah-music-slash{display:none}.ah-music-button[aria-pressed=true]{box-shadow:0 0 0 5px #afc39b40}.ah-music-button:disabled{display:none}
.ah-lightbox{padding:0;border:1px solid #e5ebdc;border-radius:8px;background:#152017;max-width:95vw;max-height:90dvh;overflow:visible}.ah-lightbox::backdrop{background:#102015e8;backdrop-filter:blur(5px)}.ah-lightbox img{display:block;max-width:92vw;max-height:85dvh;object-fit:contain}.ah-lightbox-close{position:absolute;right:8px;top:8px;background:#f9f6ec!important;color:#31432d!important;border:0!important;border-radius:100%;width:38px;height:38px;padding:0!important;font:28px/38px Arial,sans-serif;cursor:pointer}
.ah-animate .ah-reveal{opacity:0;transform:translateY(20px);transition:opacity .8s,transform .8s}.ah-animate .ah-reveal.is-visible{opacity:1;transform:none}.ah-noscript{padding:20px;text-align:center}
.ah-editor-mode .ah-cover{position:relative;min-height:0!important;inset:auto;padding:35px 20px}.ah-editor-mode .ah-cover:before,.ah-editor-mode .ah-cover:after,.ah-editor-mode .ah-desktop-portrait,.ah-editor-mode .ah-controls{display:none!important}.ah-editor-mode .ah-elementor-root{margin:0 auto!important}.ah-editor-mode .ah-reveal{opacity:1!important;transform:none!important}
@media(min-width:1100px){.ah-elementor-root{max-width:580px;margin:0 var(--ah-right) 0 auto}.ah-elementor-root.e-con{max-width:580px!important;margin-left:auto!important;margin-right:var(--ah-right)!important}.ah-desktop-portrait{display:block;position:fixed;left:0;top:0;width:calc(100vw - 580px - var(--ah-right));height:100vh;background:#253423;overflow:hidden}.ah-desktop-portrait>img{width:100%;height:100%;object-fit:cover;opacity:.77;object-position:52% center}.ah-desktop-portrait:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,#142710a8)}.ah-desktop-portrait>div{position:absolute;bottom:9vh;left:8%;right:8%;z-index:2;color:#fff9e9;text-align:center;display:flex;align-items:center;flex-direction:column;gap:12px}.ah-desktop-portrait .ah-script{font-size:clamp(64px,6vw,100px)}.ah-bottom-nav{left:auto;right:calc(var(--ah-right) + 14px);width:552px;transform:none}.ah-music-button{right:calc(var(--ah-right) + 22px)}}
@media(max-width:370px){.ah-frame{padding:38px 18px 32px}.ah-person{gap:13px}.ah-person h3{font-size:45px}.ah-fullname{font-size:16px}.ah-parents{font-size:14px}.ah-cover h1{font-size:55px}.ah-envelope{height:230px;margin-top:33px}.ah-title{font-size:48px!important}.ah-form-row{gap:8px}.ah-rsvp-form select{font-size:15px!important}}
@media(prefers-reduced-motion:reduce){.ah-elementor-root *,.ah-cover *{transition:none!important;animation:none!important;scroll-behavior:auto!important}.ah-animate .ah-reveal{opacity:1;transform:none}}
@media print{.ah-cover,.ah-controls,.ah-desktop-portrait,.ah-rsvp-form{display:none!important}.ah-elementor-root{margin:0;max-width:100%}.ah-block{break-inside:avoid}.ah-reveal{opacity:1!important;transform:none!important}}
