:root{--ivory:#f4efe7;--paper:#fbf8f2;--paper2:#f7f2e9;--ink:#2d2926;--muted:#746d62;--gold:#a89b63;--olive:#7d7c57;--line:rgba(111,96,72,.18);--shadow:0 28px 70px rgba(55,42,28,.13)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 12% 10%,rgba(255,255,255,.82),transparent 22%),radial-gradient(circle at 90% 88%,rgba(168,155,99,.07),transparent 20%),var(--ivory);color:var(--ink);font-family:Cormorant Garamond,Georgia,serif;overflow-x:hidden}html.intro-locked,body.intro-locked{height:100dvh;overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.hidden{display:none!important}.couple-signature{display:inline-flex;align-items:baseline;gap:.13em;color:#927f49;font-size:1.18em;line-height:.86;text-shadow:0 1px 0 rgba(255,255,255,.82),0 7px 18px rgba(73,55,26,.08);white-space:nowrap}.couple-signature-name{font-family:Great Vibes,Corinthia,Allura,cursive;font-weight:400}.couple-signature-amp{color:var(--gold);font-family:Cormorant Garamond,Georgia,serif;font-size:.72em;font-style:italic;font-weight:500;line-height:1}.kk-monogram{display:block;width:100%;height:100%}.mono-brand{width:88px;height:64px}.mono-dark{width:240px;height:170px}.mono-gold{width:58px;height:58px}.mono-brand-image{display:block;width:92px;height:58px;object-fit:contain;mix-blend-mode:multiply;opacity:.78}.intro{height:100dvh;min-height:0;display:grid;place-items:center;padding:12px 18px;position:relative;overflow:hidden}.start-card{width:min(520px,calc(100vw - 36px));height:min(860px,calc(100dvh - 24px));display:grid;grid-template-rows:minmax(0,1fr) auto;background:repeating-linear-gradient(8deg,rgba(113,92,63,.018) 0 1px,transparent 1px 5px),repeating-linear-gradient(97deg,rgba(255,255,255,.16) 0 1px,transparent 1px 7px),linear-gradient(180deg,var(--paper),var(--paper2));border:1px solid rgba(255,255,255,.75);box-shadow:var(--shadow);overflow:hidden;position:relative}.fold-stage{position:relative;height:100%;min-height:0;aspect-ratio:auto;background:linear-gradient(180deg,#fcfaf5,#f3ede3);transition:height .3s cubic-bezier(.22,.78,.22,1)}.start-card.past-compact{height:auto}.start-card.past-compact .fold-stage{height:clamp(500px,64dvh,600px)}.inside-letter{position:absolute;inset:18px;background:radial-gradient(circle at 20% 10%,rgba(255,255,255,.72),transparent 28%),repeating-linear-gradient(12deg,rgba(92,76,52,.022) 0 1px,transparent 1px 6px),linear-gradient(180deg,#fbf8f2,#f7f1e8);border:1px solid rgba(168,155,99,.14);box-shadow:inset 0 0 0 1px #ffffff8c;padding:clamp(14px,4vh,32px) clamp(12px,3vw,24px);overflow:hidden}.verse-top{text-align:center;font-size:clamp(14px,2.2vh,20px);line-height:1.35;color:#433e38;letter-spacing:.02em;margin-top:4px}.verse-top small{display:block;margin-top:4px;font-size:clamp(12px,1.8vh,17px)}.inside-script{display:grid;justify-items:center;gap:1px;text-align:center;margin:clamp(12px,4vh,36px) 0 clamp(6px,2vh,18px);position:relative;z-index:1}.inside-script .name-1,.inside-script .name-2{font-family:Great Vibes,Corinthia,Allura,cursive;font-size:clamp(64px,12vh,108px);line-height:.76;color:#111;font-weight:400;text-shadow:0 1px 0 rgba(255,255,255,.8),0 7px 20px rgba(73,55,26,.1)}.inside-script .name-1{transform:translate(-24px)}.inside-script .name-2{transform:translate(24px);margin-top:9px}.inside-script .and{font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-weight:500;color:var(--gold);font-size:clamp(28px,4.5vh,42px);line-height:1;position:static;margin:1px 0 2px}.subheadline{text-align:center;font-family:Corinthia,Allura,cursive;color:var(--olive);font-size:clamp(38px,7vh,64px);line-height:.92;margin:clamp(6px,2vh,18px) 0 clamp(6px,1.5vh,14px)}.details-copy{text-align:center;font-size:clamp(13px,2.4vh,21px);line-height:1.35;color:#3a3631;padding:0 12px}.details-copy .boldline{font-size:clamp(14px,2.6vh,23px);letter-spacing:.03em}.details-copy .smaller{font-size:clamp(12px,2.2vh,18px);margin-top:clamp(4px,1vh,10px)}.details-copy .tiny{font-size:clamp(11px,1.8vh,15px);margin-top:clamp(4px,1vh,10px)}.calla{position:absolute;pointer-events:none;opacity:.88}.calla-left{left:-8px;top:110px;width:110px}.calla-right{right:-5px;bottom:128px;width:110px}.panel{position:absolute;top:0;bottom:0;width:50%;z-index:4;background:linear-gradient(180deg,#ffffff57,#fff0),repeating-linear-gradient(9deg,rgba(100,82,58,.02) 0 1px,transparent 1px 6px),linear-gradient(180deg,#fbf8f2,#f0eadf);transition:transform 1.02s cubic-bezier(.22,.78,.22,1),opacity .38s ease}.panel:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff8c}.panel-left{left:0;border-right:1px solid rgba(111,96,72,.12)}.panel-right{right:0;border-left:1px solid rgba(111,96,72,.12)}.centerline{position:absolute;left:50%;top:0;bottom:0;width:1px;transform:translate(-50%);background:#6f604826;z-index:5;transition:opacity .38s ease}.front-monogram{position:absolute;left:50%;top:31%;transform:translate(-50%,-50%);width:122px;height:122px;z-index:7;border:none;border-radius:50%;cursor:pointer;display:grid;place-items:center;background:transparent;box-shadow:none;transition:transform .24s ease,filter .24s ease,opacity .3s ease;padding:0;-webkit-tap-highlight-color:transparent}.front-monogram:before{content:"";position:absolute;inset:17%;z-index:-1;border-radius:50%;background:#5d411e42;filter:blur(12px);transform:translateY(10px) scale(.9)}.wax-seal-img{display:block;width:150%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 3px rgba(55,35,15,.18)) drop-shadow(0 13px 14px rgba(80,55,25,.22));transform:rotate(-1.5deg);transition:transform .24s ease,filter .24s ease;-webkit-user-select:none;user-select:none;pointer-events:none}.front-monogram:hover{transform:translate(-50%,-50%) scale(1.045);filter:brightness(1.035);box-shadow:none}.front-monogram:hover .wax-seal-img{transform:rotate(0) translateY(-2px);filter:drop-shadow(0 5px 4px rgba(55,35,15,.16)) drop-shadow(0 17px 17px rgba(80,55,25,.25))}.front-monogram:active{transform:translate(-50%,-50%) scale(.98)}.front-monogram:focus-visible{outline:2px solid rgba(122,105,61,.72);outline-offset:7px}.ribbon-piece{position:absolute;z-index:5;pointer-events:none;background:linear-gradient(90deg,#9f8b5e,#d4c397 45%,#9d895d);box-shadow:0 1px 1px #44331d24,0 7px #b9a474,0 8px 1px #44331d1f;transition:transform .82s cubic-bezier(.22,.78,.22,1),opacity .42s ease}.ribbon-top,.ribbon-bottom{display:none}.ribbon-left,.ribbon-right{top:31%;height:2px;transform:translateY(-50%)}.ribbon-left{left:0;width:calc(50% - 42px)}.ribbon-right{right:0;width:calc(50% - 42px)}.ribbon-left:after,.ribbon-right:before{position:absolute;top:50%;color:#aa9768;font-family:Georgia,serif;font-size:25px;line-height:1;text-shadow:0 1px rgba(255,255,255,.6)}.ribbon-left:after{content:"❧";right:-13px;transform:translateY(-47%)}.ribbon-right:before{content:"❧";left:-13px;transform:translateY(-47%) scaleX(-1)}.opened .ribbon-top{transform:translate(-50%,-112%);opacity:0}.opened .ribbon-bottom{transform:translate(-50%,112%);opacity:0}.opened .ribbon-left{transform:translate(-112%,-50%);opacity:0}.opened .ribbon-right{transform:translate(112%,-50%);opacity:0}.front-names{position:absolute;left:50%;top:54%;width:92%;transform:translate(-50%,-50%);z-index:6;display:grid;justify-items:center;gap:0;text-align:center;color:#8d7e4f;pointer-events:none}.front-names .line1,.front-names .line2{font-family:Great Vibes,Corinthia,Allura,cursive;font-size:96px;line-height:.76;text-shadow:0 1px 0 rgba(255,255,255,.85),0 8px 22px rgba(80,61,27,.12)}.front-names .line1{transform:translate(-22px)}.front-names .line2{transform:translate(22px);margin-top:10px}.front-names .and{position:static;margin:1px 0 2px;color:var(--gold);font-family:Cormorant Garamond,Georgia,serif;font-size:34px;font-style:italic;font-weight:500;line-height:1}.front-date{position:absolute;left:50%;bottom:12%;transform:translate(-50%);z-index:6;text-align:center;width:calc(100% - 32px);max-width:360px;box-sizing:border-box;padding:11px 24px 10px;border-top:1px solid rgba(151,128,76,.38);border-bottom:1px solid rgba(151,128,76,.25);color:#4f4840;text-transform:uppercase;pointer-events:none}.front-date .event-date{display:block;color:#806c3f;font-size:22px;font-weight:600;line-height:1.1;letter-spacing:.24em;text-shadow:0 1px rgba(255,255,255,.75)}.front-date .invitation-line{display:block;margin-top:8px;color:#665d50;font-size:11px;line-height:1.2;letter-spacing:.27em;white-space:normal;overflow-wrap:anywhere}.start-foot{text-align:center;padding:18px 18px 26px}.start-foot .label{font-size:13px;letter-spacing:.28em;text-transform:uppercase;color:#7a7264}.start-foot .sub{margin-top:8px;color:#a08d6d;font-size:14px}.opened .panel-left{transform:translate(-103%)}.opened .panel-right{transform:translate(103%)}.opened .centerline,.opened .front-monogram,.opened .front-names,.opened .front-date{opacity:0;pointer-events:none}.site{opacity:0;transform:translateY(28px);transition:opacity .85s ease,transform .85s ease;pointer-events:none}.site.visible{opacity:1;transform:none;pointer-events:auto}.site-header{position:sticky;top:0;z-index:20;background:#f4efe7db;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.site-nav{max-width:1180px;margin:auto;height:76px;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.site-brand{display:flex;align-items:center}.site-links{display:flex;gap:30px}.site-links a{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:#5d564b}.hero{max-width:1180px;margin:auto;padding:78px 24px 50px;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr);gap:42px;align-items:start}.hero-text{padding-top:10px}.hero-verse{font-size:22px;line-height:1.7;color:#49443d;max-width:460px}.hero-verse small{display:block;margin-top:4px;font-size:18px}.chapter-status{display:inline-flex;align-items:center;gap:10px;width:max-content;max-width:100%;margin-bottom:20px;padding:8px 13px;border:1px solid rgba(111,96,72,.18);border-radius:999px;background:#ffffff80;color:#756c5d;font-size:11px;letter-spacing:.17em;text-transform:uppercase;white-space:normal;text-align:center}.chapter-status:before{content:"";width:7px;height:7px;flex:none;border-radius:50%;background:#9b9069;box-shadow:0 0 0 4px #9b90691f}.chapter-status.past{margin:4px auto 20px;padding:10px 18px;border-color:#73734e;background:linear-gradient(135deg,#777851,#666943);color:#fffdf7;box-shadow:0 10px 24px #41402933;font-weight:600;letter-spacing:.14em}.chapter-status.past:before{background:#e0d2a4;box-shadow:0 0 0 4px #ffffff1c}.chapter-status.upcoming{padding:10px 18px;color:#fffdf8;border-color:#9e854c;background:linear-gradient(135deg,#b49b61,#917642);box-shadow:0 10px 24px #5b462033;font-weight:600;letter-spacing:.14em;margin-bottom:14px}.chapter-status.upcoming:before{background:#f2dfaa;box-shadow:0 0 0 4px #ffffff1f}.event-summary{display:flex;align-items:stretch;gap:7px;width:min(100%,540px);margin:0 0 22px;padding:7px;border:1px solid rgba(168,155,99,.3);border-radius:24px;background:#ffffffad;box-shadow:0 14px 34px #362b1c17}.upcoming-date{display:flex;align-items:center;width:max-content;margin:0;padding:14px 20px 14px 16px;border:0;border-radius:17px;background:transparent;box-shadow:none}.upcoming-date .day{min-width:82px;color:#27231f;font-size:64px;line-height:.8;font-weight:500;letter-spacing:-.05em}.upcoming-date .date-copy{margin-left:17px;padding-left:17px;border-left:1px solid rgba(111,96,72,.2)}.upcoming-date .month{color:var(--olive);font-size:15px;letter-spacing:.2em;text-transform:uppercase}.upcoming-date .year{margin-top:2px;color:#332f2a;font-size:27px;letter-spacing:.11em}.hero-venue{display:grid;align-content:center;flex:1 1 240px;min-width:0;padding:14px 19px;border:0;border-radius:17px;background:linear-gradient(135deg,#83825a,#696b46);box-shadow:0 9px 22px #4b4b302b}.hero-venue>span{color:#eee1b6;font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase}.hero-venue strong{margin-top:5px;color:#fffdf7;font-size:17px;font-weight:500;line-height:1.28}.hero-venue small{margin-top:3px;color:#fffdf7cc;font-size:13px}.calendar-link{width:max-content;margin-top:9px;border-bottom:1px solid rgba(238,225,182,.55);color:#f0e4bd;font-size:10.5px;font-weight:600;letter-spacing:.12em;line-height:1.7;text-decoration:none;text-transform:uppercase}.calendar-link:before{content:"+ "}.calendar-link:hover{color:#fffdf7}.hero-names{display:grid;justify-items:center;gap:2px;width:min(100%,540px);margin:34px 0 12px;position:relative;color:#111}.hero-names .name1,.hero-names .name2{font-family:Great Vibes,Corinthia,Allura,cursive;font-size:clamp(98px,10vw,168px);line-height:.78;color:#17130f;text-shadow:0 1px 0 rgba(255,255,255,.82),0 10px 28px rgba(67,48,18,.08)}.hero-names .name1{transform:translate(-12%)}.hero-names .name2{transform:translate(12%);margin-top:12px}.hero-names .and{position:static;margin:2px 0 3px;color:var(--gold);font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(30px,3vw,44px);font-style:italic;font-weight:500;line-height:1}.hero-sub{font-family:Corinthia,Allura,cursive;color:var(--olive);font-size:66px;line-height:.9;margin:12px 0 18px}.hero-copy{font-size:22px;line-height:1.8;color:#5c554a;max-width:560px}.hero-meta{margin-top:22px;display:flex;gap:12px;flex-wrap:wrap}.pill{padding:11px 16px;border-radius:999px;border:1px solid var(--line);background:#ffffff75;color:#655d51;font-size:15px}.hero-photo-shell{position:relative}.hero-photo{position:relative;aspect-ratio:.86 / 1.08;border-radius:46% 46% 4% 4%/18% 18% 4% 4%;overflow:hidden;background:#ebe6dc;box-shadow:var(--shadow)}.hero-photo img{position:absolute;inset:0;display:block;width:100%;height:100%}.hero-photo .hero-photo-backdrop{z-index:0;object-fit:cover;opacity:.42;filter:blur(13px) saturate(.72) brightness(1.06);transform:scale(1.08)}.hero-photo .hero-photo-main{z-index:1;object-fit:contain;filter:saturate(.92) contrast(.98)}.hero-photo:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;box-shadow:inset 0 0 34px #f4efe72e}.hero-vertical{position:absolute;right:-32px;top:76px;writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.22em;color:#82796d;font-size:13px}.section{max-width:1180px;margin:auto;padding:70px 24px}.eyebrow{font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:#7c7467}.section h2{margin:10px 0 24px;font-size:clamp(34px,4vw,62px);font-weight:500}.section p{font-size:20px;line-height:1.85;color:#61594d}.ourday-section{position:relative;padding-top:82px;padding-bottom:88px}.ourday-section:before{content:"";position:absolute;inset:24px 0;z-index:-1;background:radial-gradient(circle at 50% 44%,rgba(168,155,99,.1),transparent 42%);pointer-events:none}.ourday-heading{max-width:820px;margin:0 auto 42px;text-align:center}.ourday-heading h2{margin-bottom:10px}.ourday-heading>p{margin:11px auto 0;color:#77705f;font-size:18px;font-style:italic;line-height:1.5}.ourday-ornament{display:grid;grid-template-columns:minmax(44px,110px) auto minmax(44px,110px);gap:13px;align-items:center;justify-content:center;color:var(--gold);font-size:20px}.ourday-ornament span{width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(168,155,99,.65))}.ourday-ornament span:last-child{transform:scaleX(-1)}.ourday{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}.ourday-item{position:relative;min-height:300px;padding:36px 30px 34px;overflow:hidden;border:1px solid rgba(168,155,99,.25);border-radius:24px;background:repeating-linear-gradient(8deg,rgba(113,92,63,.017) 0 1px,transparent 1px 6px),linear-gradient(145deg,#ffffffd1,#f8f3eac2);box-shadow:0 20px 45px #3f322017,inset 0 1px #ffffffd9}.ourday-item:before{content:"";position:absolute;top:0;left:30px;right:30px;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.78}.ourday-item.featured{transform:translateY(-10px);border-color:#7d7c5761;background:repeating-linear-gradient(8deg,rgba(113,92,63,.018) 0 1px,transparent 1px 6px),linear-gradient(145deg,#ffffffe6,#efebdbd1);box-shadow:0 28px 58px #3f322021,inset 0 1px #ffffffe6}.chapter-watermark{position:absolute;right:18px;top:8px;color:#a89b6317;font-size:96px;font-weight:500;line-height:1;letter-spacing:-.07em}.ourday-item .num{position:relative;z-index:1;display:flex;gap:9px;align-items:center;color:#8d7c4d;font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase}.ourday-item .num i{width:7px;height:7px;border:1px solid rgba(168,155,99,.65);border-radius:50%;background:#f8f3e9;box-shadow:0 0 0 3px #a89b631a}.ourday-item h3{position:relative;z-index:1;margin:32px 0 22px;color:#39332d;font-size:36px;font-weight:500;line-height:1}.ourday-item h3:after{content:"";display:block;width:44px;height:1px;margin-top:17px;background:var(--gold);opacity:.65}.ourday-item .meta{position:relative;z-index:1;display:grid;gap:8px;color:#665f53;font-size:17px;line-height:1.55}.ourday-item .meta strong{color:#55513d;font-size:18px;font-weight:600}.ourday-item .meta span{display:block}.story-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:34px;align-items:center}.story-photo{min-height:520px;border-radius:22px;overflow:hidden;background:#ddd;box-shadow:var(--shadow)}.story-photo img{width:100%;height:100%;object-fit:cover}.gallery-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.gallery-large,.gallery-small{border-radius:20px;overflow:hidden;background:#ddd;box-shadow:0 18px 48px #3d2d1c1a}.gallery-large{min-height:610px}.gallery-large img,.gallery-small img{width:100%;height:100%;object-fit:cover}.gallery-stack{display:grid;gap:18px}.gallery-small{min-height:296px}.rsvp-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:30px;align-items:start}.rsvp-gate{padding-top:42px}.rsvp-invitation{position:relative;overflow:hidden;text-align:center;border:1px solid rgba(168,155,99,.25);border-radius:28px;padding:clamp(44px,7vw,82px) clamp(24px,6vw,70px);background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.86),transparent 42%),linear-gradient(145deg,#ffffffa3,#f4eee2b8);box-shadow:0 24px 62px #3e301e17}.rsvp-invitation:before,.rsvp-invitation:after{content:"";position:absolute;width:170px;height:170px;border:1px solid rgba(125,124,87,.17);border-radius:50%}.rsvp-invitation:before{left:-94px;top:-86px}.rsvp-invitation:after{right:-94px;bottom:-86px}.rsvp-kicker{color:var(--gold);font-size:12px;letter-spacing:.28em;text-transform:uppercase}.rsvp-invitation h2{max-width:760px;margin:18px auto 16px}.rsvp-invitation p{max-width:610px;margin:0 auto 30px}.rsvp-open-btn{position:relative;z-index:1;min-width:230px;padding:15px 28px;box-shadow:0 12px 28px #5c5b3b2e;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.rsvp-open-btn:hover{transform:translateY(-2px);box-shadow:0 16px 34px #5c5b3b3d}.rsvp-form-wrap{margin-top:32px;animation:revealUp .65s ease both}.rsvp-card.submitted form{display:none}.rsvp-confirmation{text-align:center;padding:26px 12px}.rsvp-confirmation .mark{width:58px;height:58px;display:grid;place-items:center;margin:0 auto 16px;border:1px solid rgba(125,124,87,.3);border-radius:50%;color:var(--olive);font-size:25px}.rsvp-confirmation h3{margin:0 0 10px;font-size:34px;font-weight:500}.rsvp-confirmation p{margin:0}.post-rsvp.revealed,.post-rsvp-footer.revealed{animation:revealUp .8s ease both}.details-bridge{padding-top:34px;padding-bottom:24px}.details-bridge-card{max-width:820px;margin:auto;padding:28px clamp(20px,5vw,54px);text-align:center;border-top:1px solid rgba(111,96,72,.2);border-bottom:1px solid rgba(111,96,72,.2);background:#ffffff3d}.details-bridge-card h2{margin:9px 0 10px;font-size:clamp(30px,4vw,46px)}.details-bridge-card p{max-width:650px;margin:0 auto;font-size:18px;line-height:1.65}@keyframes revealUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.rsvp-card{border:1px solid var(--line);border-radius:24px;background:#ffffff7a;padding:30px}.field{display:grid;gap:8px;margin-bottom:18px}.field label{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#7a7165}.field input,.field select,.field textarea{width:100%;background:transparent;border:none;border-bottom:1px solid rgba(60,50,40,.22);padding:12px 2px;color:#332f2a;font-size:18px;outline:none}.blessing-consent{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;margin:-4px 0 24px;padding:15px 17px;border:1px solid rgba(168,155,99,.34);border-left:3px solid rgba(168,155,99,.72);border-radius:16px;background:linear-gradient(135deg,#ffffffad,#a89b6313);cursor:pointer}.blessing-consent input{margin-top:4px;accent-color:var(--olive)}.blessing-consent span{display:grid;gap:4px}.blessing-consent strong{color:#5f583d;font-size:17px;font-weight:600}.blessing-consent small{color:var(--muted);font-size:14px;line-height:1.42}.blessing-result{margin:18px auto 0!important;padding:12px 15px;max-width:560px;border:1px solid rgba(168,155,99,.3);border-radius:14px;background:#a89b6314;color:#625a3d;font-size:15px;line-height:1.42}.blessing-result.warning{color:#795b40}.field textarea{min-height:110px;resize:vertical}.btn{display:inline-block;border:none;cursor:pointer;padding:13px 22px;border-radius:999px;background:var(--olive);color:#fff;font-size:12px;letter-spacing:.14em;text-transform:uppercase}.success{margin-top:16px;color:var(--olive);font-style:italic;font-size:18px}.prelisted-loading,.prelisted-error{min-height:300px;display:grid;align-content:center}.prelisted-form-wrap{margin-top:32px;animation:revealUp .65s ease both}.prelisted-form-intro{max-width:760px;margin:0 auto 28px;text-align:center}.prelisted-form-intro h2{margin:10px 0 8px}.prelisted-form-intro p{max-width:620px;margin:0 auto}.reservation-identity{display:grid;justify-items:center;gap:9px;margin-bottom:28px;padding:22px 24px 20px;border:1px solid rgba(168,155,99,.38);border-radius:18px;background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.92),transparent 58%),linear-gradient(145deg,#ffffffb8,#f7f2e9db);box-shadow:0 12px 32px #42341f12,inset 0 0 0 1px #ffffff9e;text-align:center}.reservation-identity span{display:inline-flex;align-items:center;min-height:30px;padding:7px 18px 6px;border-radius:999px;background:linear-gradient(135deg,#85845c,#6e704a);box-shadow:0 8px 20px #4b4b3029;color:#fffdf7;font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase}.reservation-identity strong{color:#332e27;font-size:34px;font-weight:500;line-height:1.05;text-wrap:balance}.reservation-identity small{padding-top:1px;color:#8b784a;font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase}.adults-only-note{position:relative;max-width:760px;margin:0 auto 22px;padding:16px 20px 16px 23px;border:1px solid rgba(125,124,87,.34);border-left:4px solid var(--olive);border-radius:14px;background:radial-gradient(circle at 100% 0%,rgba(125,124,87,.1),transparent 42%),linear-gradient(135deg,#ffffffb8,#f4efe2db);color:#645d52;box-shadow:0 9px 24px #3d2d1c0b}.adults-only-note span{display:inline-flex;align-items:center;min-height:26px;margin-bottom:9px;padding:5px 11px 4px;border-radius:999px;background:var(--olive);color:#fffdf7;box-shadow:0 7px 18px #4b4b3024;font-size:9.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.adults-only-note p{margin:0;font-size:15px;line-height:1.55}.attendance-choices{min-width:0;margin:0 0 20px;padding:0;border:0}.attendance-choices legend{margin-bottom:9px;color:#7a7165;font-size:11px;letter-spacing:.18em;text-transform:uppercase}.choice-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.choice-label{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 12px;border:1px solid rgba(125,124,87,.24);border-radius:14px;background:#ffffff7a;color:#625b50;cursor:pointer;font-size:14px;line-height:1.2;text-align:center;transition:.2s ease}.choice-label input{position:absolute;width:1px;height:1px;opacity:0}.choice-label:hover,.choice-label:focus-within{border-color:var(--gold)}.choice-label.selected{border-color:var(--olive);background:var(--olive);color:#fffdf8}.choice-label:has(input:disabled){cursor:not-allowed;opacity:.68}.group-member-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.group-member-card{min-width:0;padding:24px;border:1px solid var(--line);border-radius:22px;background:#ffffff7a;box-shadow:0 14px 38px #3d2d1c0e}.group-member-card.status-attending{border-top-color:#7d7c579e}.group-member-card.status-declined{border-top-color:#7e695e73}.member-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:20px}.member-heading span{color:#8d8375;font-size:9px;letter-spacing:.2em;text-transform:uppercase}.member-heading h3{margin:3px 0 0;font-size:26px;font-weight:500}.response-status{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:0 0 auto;max-width:190px;min-height:34px;padding:8px 12px;border:1px solid rgba(168,155,99,.42);border-radius:999px;background:linear-gradient(135deg,#a89b6333,#ffffffb8);box-shadow:0 6px 15px #4e432b1a,inset 0 1px #ffffffb3;color:#68603f;font-size:10px;font-weight:600;letter-spacing:.11em;line-height:1.25;text-align:center;text-transform:uppercase}.response-status:before{content:"";width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#b09a55;box-shadow:0 0 0 3px #b09a5529}.response-status.attending{border-color:#6970456b;background:linear-gradient(135deg,#7d7c573b,#ffffffb8);color:#565b36}.response-status.attending:before{background:#727747;box-shadow:0 0 0 3px #72774729}.response-status.declined{border-color:#8760524d;background:linear-gradient(135deg,#966f6026,#ffffffb8);color:#795b50}.response-status.declined:before{background:#987062;box-shadow:0 0 0 3px #98706224}.group-member-card .field{margin-bottom:0}.group-member-card .field+.field{margin-top:16px}.group-member-card .field label span{letter-spacing:0;text-transform:none}.group-member-card .field textarea{min-height:76px}.member-submit{display:flex;align-items:center;gap:14px;margin-top:20px}.member-submit .btn{width:auto;min-width:210px}.member-submit small{color:var(--olive);font-size:14px;letter-spacing:.04em}.member-thank-you{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:center;margin-top:20px;padding:15px 17px;border:1px solid rgba(125,124,87,.34);border-radius:16px;background:linear-gradient(135deg,#7d7c5726,#ffffffb8);box-shadow:0 9px 22px #4a442b14;color:#595936}.member-thank-you-mark{display:grid;width:36px;height:36px;place-items:center;border-radius:50%;background:var(--olive);box-shadow:0 5px 13px #59593633;color:#fffdf8;font-size:18px}.member-thank-you strong{display:block;margin-bottom:2px;font-size:19px;font-weight:600}.member-thank-you small{display:block;color:#716c58;font-size:14px;line-height:1.42}.rsvp-deadline{width:fit-content;max-width:100%;margin:0 auto 22px;padding:9px 16px;border:1px solid rgba(168,155,99,.28);border-radius:999px;background:#ffffff8a;color:#776e61;font-size:12px;letter-spacing:.04em;text-align:center}.rsvp-deadline strong{color:#625f3f;font-weight:600}.rsvp-deadline.closed{border-color:#8f4e4233;color:#8a4f46}.group-submit{display:grid;justify-items:center;gap:9px;margin-top:24px}.group-submit small{color:#847b70;font-size:12px}.inline-notice,.form-error{max-width:720px;margin:20px auto 0;padding:12px 15px;border-radius:12px;text-align:center}.inline-notice{background:#a89b631a;color:#71664f}.form-error{background:#8f4e421a;color:#8a4f46}.text-action{margin-top:17px;padding:0 0 3px;border:0;border-bottom:1px solid currentColor;background:none;color:var(--olive);cursor:pointer;font-size:13px;letter-spacing:.1em;text-transform:uppercase}.group-confirmation{max-width:700px;margin:0 auto}.btn:disabled{cursor:not-allowed;opacity:.52}footer{margin-top:20px;text-align:center;padding:44px 24px 60px;border-top:1px solid var(--line);color:#7b7366;font-size:18px}@media(max-width:920px){.site-links{display:none}.hero,.story-grid,.gallery-grid,.rsvp-grid{grid-template-columns:1fr}.rsvp-gate{padding-top:20px}.hero-photo-shell{order:-1}.hero-names .name2{transform:translate(12px)}.hero-vertical{position:static;writing-mode:horizontal-tb;margin-top:14px;letter-spacing:.18em}.ourday{grid-template-columns:1fr;gap:14px}.ourday-item{min-height:0;border-right:1px solid rgba(168,155,99,.25)}.ourday-item.featured{transform:none}.gallery-large{min-height:420px}.gallery-small{min-height:260px}}@media(max-width:560px){.start-card{border-color:#a89b633d;box-shadow:0 8px 20px #3e301e1a,0 30px 68px #3e301e30,0 0 0 1px #ffffffb8 inset}.fold-stage{min-height:0;aspect-ratio:auto}.start-card.past-compact .fold-stage{height:clamp(440px,66dvh,560px)}.inside-letter{inset:14px;padding:clamp(12px,3vh,22px) 12px}.verse-top{font-size:clamp(12px,2.1vh,16px)}.verse-top small{font-size:clamp(10px,1.8vh,14px)}.inside-script{margin:clamp(8px,3vh,24px) 0 clamp(4px,1.4vh,12px)}.inside-script .name-1,.inside-script .name-2{font-size:clamp(52px,11vh,82px)}.inside-script .and{font-size:clamp(30px,6vh,46px);right:16%;top:clamp(7px,2vh,14px)}.subheadline{font-size:clamp(30px,6.2vh,48px)}.details-copy{font-size:clamp(11px,2vh,15px)}.details-copy .boldline{font-size:clamp(12px,2.2vh,17px)}.details-copy .smaller{font-size:clamp(10.5px,1.8vh,14px)}.details-copy .tiny{font-size:clamp(10px,1.65vh,13px)}.start-card.past-compact .inside-letter{padding:12px 11px 10px}.start-card.past-compact .chapter-status.past{margin-top:2px;margin-bottom:9px;padding:7px 10px;font-size:8px}.start-card.past-compact .verse-top{margin-top:0;font-size:clamp(12px,2vh,15px);line-height:1.28}.start-card.past-compact .verse-top small{margin-top:2px;font-size:clamp(10.5px,1.7vh,12px)}.start-card.past-compact .inside-script{margin:10px 0 5px}.start-card.past-compact .inside-script .name-1,.start-card.past-compact .inside-script .name-2{font-size:clamp(62px,12vh,88px)}.start-card.past-compact .inside-script .name-2{margin-top:6px}.start-card.past-compact .inside-script .and{margin:0;font-size:clamp(29px,4.6vh,36px)}.start-card.past-compact .subheadline{margin:5px 0 7px;font-size:clamp(36px,6.5vh,47px)}.start-card.past-compact .details-copy{padding:0 3px;font-size:11px;line-height:1.24}.start-card.past-compact .details-copy .boldline{font-size:clamp(13px,2.2vh,15px)}.start-card.past-compact .details-copy .smaller,.start-card.past-compact .details-copy .tiny{margin-top:3px;font-size:clamp(10.5px,1.8vh,12px);line-height:1.22}.front-monogram{width:100px;height:100px;padding:0}.mono-gold{width:52px;height:52px}.front-names .line1,.front-names .line2{font-size:74px}.front-names .line2,.hero-names .name2{transform:translate(12px)}.chapter-status.past,.chapter-status.upcoming{font-size:9px;letter-spacing:.1em;padding:9px 11px}.upcoming-date .day{min-width:68px;font-size:54px}.upcoming-date .year{font-size:24px}.event-summary{display:grid;grid-template-columns:1fr;width:100%;gap:7px;padding:7px}.upcoming-date{width:100%}.hero-venue{padding:16px 17px}.hero-venue strong{font-size:18px}.front-names .and{font-size:42px;right:58px;top:8px}.front-date{bottom:11%;padding:9px 14px 8px}.front-date .event-date{font-size:18px;letter-spacing:.2em}.front-date .invitation-line{margin-top:6px;font-size:9px;letter-spacing:.2em}.mono-brand{width:74px;height:56px}.section{padding:48px 20px}.ourday-section{padding:58px 18px 62px}.ourday-heading{margin-bottom:28px}.ourday-heading h2{font-size:40px;line-height:1.05}.ourday-heading>p{font-size:16px}.ourday-item{padding:30px 24px 28px}.chapter-watermark{top:11px;right:16px;font-size:78px}.ourday-item h3{margin:27px 0 18px;font-size:33px}.ourday-item .meta{font-size:16px}.rsvp-gate{padding:14px 12px 38px}.rsvp-invitation{border-radius:20px;padding:28px 20px 26px}.rsvp-kicker{font-size:10px;letter-spacing:.22em}.rsvp-invitation h2{margin:12px auto;font-size:34px;line-height:1.08}.rsvp-invitation p{margin-bottom:20px;font-size:17px;line-height:1.55}.rsvp-open-btn{width:100%;min-width:0;padding:13px 18px}.rsvp-form-wrap,.prelisted-form-wrap{margin-top:20px}.prelisted-form-intro{margin-bottom:20px;padding:0 8px}.rsvp-card{padding:22px}.reservation-identity{gap:8px;margin-bottom:22px;padding:18px 14px 17px}.reservation-identity span{min-height:28px;padding:6px 13px 5px;font-size:9px;letter-spacing:.16em}.reservation-identity strong{font-size:27px}.reservation-identity small{font-size:9px;letter-spacing:.17em}.adults-only-note{margin-bottom:18px;padding:14px 15px 14px 17px}.adults-only-note p{font-size:14px;line-height:1.5}.group-member-list{grid-template-columns:1fr;gap:12px}.group-member-card{padding:18px;border-radius:18px}.member-submit{align-items:stretch;flex-direction:column;gap:9px}.member-submit .btn{width:100%;min-width:0}.member-heading{display:grid;gap:8px}.response-status{max-width:none;justify-self:start}.choice-row{grid-template-columns:1fr;gap:7px}.choice-label{min-height:44px}.field{margin-bottom:14px}.field textarea{min-height:82px}.rsvp-confirmation{padding:18px 4px}.rsvp-confirmation h3{font-size:29px}.details-bridge{padding:24px 16px 12px}.details-bridge-card{padding:22px 14px}.details-bridge-card p{font-size:16px}}.blessing-section{padding-top:22px;padding-bottom:22px}.blessing-card{position:relative;max-width:920px;margin:0 auto;padding:52px clamp(24px,7vw,82px);overflow:hidden;border:1px solid rgba(168,155,99,.3);border-radius:28px;background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.88),transparent 48%),linear-gradient(145deg,#ffffffad,#f2ebded6);box-shadow:0 20px 54px #3d2d1c17;text-align:center}.blessing-card:before,.blessing-card:after{content:"";position:absolute;width:110px;height:110px;border:1px solid rgba(168,155,99,.2);border-radius:50%}.blessing-card:before{top:-62px;left:-54px}.blessing-card:after{right:-54px;bottom:-62px}.blessing-ornament{margin-bottom:8px;color:var(--gold);font-size:26px}.blessing-card h2{margin:10px 0 12px}.blessing-card p{max-width:650px;margin:0 auto;color:#655e53;font-size:18px;line-height:1.65}.blessing-action{display:inline-flex;align-items:center;justify-content:center;width:auto;margin-top:24px;padding:13px 28px}@media(max-width:560px){.blessing-section{padding-top:14px;padding-bottom:14px}.blessing-card{padding:38px 20px;border-radius:22px}.blessing-card h2{font-size:34px;line-height:1.08}.blessing-card p{font-size:16px;line-height:1.55}.blessing-action{width:100%;margin-top:20px}}@media(max-width:560px)and (max-height:680px){.start-card.past-compact .fold-stage{height:350px}.start-card.past-compact .inside-letter{inset:10px;padding:12px 10px}.start-card.past-compact .chapter-status.past{margin-bottom:6px;padding:6px 8px;font-size:8px}.start-card.past-compact .verse-top{margin-top:0;font-size:13px;line-height:1.35}.start-card.past-compact .verse-top small{font-size:12px}.start-card.past-compact .inside-script{margin:7px 0 3px}.start-card.past-compact .inside-script .name-1,.start-card.past-compact .inside-script .name-2{font-size:62px}.start-card.past-compact .inside-script .name-1{transform:translate(-18px)}.start-card.past-compact .inside-script .name-2{margin-top:7px;transform:translate(12px)}.start-card.past-compact .inside-script .and{right:46px;top:10px;font-size:38px}.start-card.past-compact .subheadline{margin:4px 0 3px;font-size:38px}.start-card.past-compact .details-copy{display:block;padding:0 2px;font-size:12px;line-height:1.28}.start-card.past-compact .details-copy .boldline{font-size:13.5px}.start-card.past-compact .details-copy .smaller,.start-card.past-compact .details-copy .tiny{margin-top:4px!important;font-size:11px;line-height:1.25}.calla{width:72px;opacity:.55}}.demo-timeline{position:fixed;left:50%;bottom:14px;z-index:1000;width:min(720px,calc(100vw - 24px));padding:9px;border:1px solid rgba(168,155,99,.35);border-radius:18px;background:#faf7f0f0;box-shadow:0 14px 42px #372a1c33;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transform:translate(-50%)}.demo-timeline-label{margin:0 0 7px;color:#756b58;font-size:9px;font-weight:700;letter-spacing:.2em;text-align:center;text-transform:uppercase}.demo-timeline-options{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.demo-mode-btn{min-height:36px;padding:7px 8px;border:1px solid rgba(125,124,87,.23);border-radius:11px;background:#ffffffb3;color:#5e584e;cursor:pointer;font-size:10px;font-weight:700;letter-spacing:.08em;line-height:1.15;text-transform:uppercase;transition:.2s ease}.demo-mode-btn:hover{border-color:var(--gold)}.demo-mode-btn.active{border-color:var(--olive);background:var(--olive);color:#fffdf7}body.demo-active .start-foot{padding-bottom:82px}@media(max-width:560px){.demo-timeline{bottom:8px;padding:7px}.demo-timeline-label{margin-bottom:5px}.demo-timeline-options{gap:4px}.demo-mode-btn{min-height:34px;padding:5px 3px;font-size:8px;letter-spacing:.04em}body.demo-active .start-foot{padding-bottom:76px}}.start-card.past-compact .fold-stage{height:clamp(380px,calc(100dvh - 110px),480px)}.start-card.past-compact .inside-letter{inset:clamp(10px,2.2dvh,18px);padding:clamp(10px,2.1dvh,17px) clamp(10px,2.4vw,20px)}.start-card.past-compact .chapter-status.past{margin:0 auto clamp(7px,1.35dvh,12px);padding:clamp(6px,1.15dvh,9px) clamp(9px,2vw,16px);font-size:clamp(8px,1.15dvh,10px);line-height:1.2}.start-card.past-compact .verse-top{margin-top:0;font-size:clamp(12px,2.2dvh,17px);line-height:1.25}.start-card.past-compact .verse-top small{margin-top:2px;font-size:clamp(10px,1.7dvh,13px)}.start-card.past-compact .inside-script{margin:clamp(14px,2.4dvh,20px) 0 2px;gap:0}.start-card.past-compact .inside-script .name-1,.start-card.past-compact .inside-script .name-2{font-size:clamp(50px,min(17vw,11dvh),82px);line-height:.77}.start-card.past-compact .inside-script .name-1{transform:translate(clamp(-16px,-2vw,-9px))}.start-card.past-compact .inside-script .name-2{margin-top:clamp(4px,.8dvh,7px);transform:translate(clamp(9px,2vw,16px))}.start-card.past-compact .inside-script .and{margin:0;font-size:clamp(24px,min(8vw,4dvh),34px);line-height:.9}.start-card.past-compact .subheadline{margin:clamp(2px,.65dvh,5px) 0 clamp(4px,.85dvh,7px);font-size:clamp(29px,min(10vw,5.2dvh),44px);line-height:.88}.start-card.past-compact .details-copy{display:block;padding:0 2px;font-size:clamp(10.5px,1.7dvh,13px);line-height:1.2}.start-card.past-compact .details-copy .boldline{font-size:clamp(12px,2dvh,16px);line-height:1.22}.start-card.past-compact .details-copy .smaller,.start-card.past-compact .details-copy .tiny{margin-top:clamp(2px,.55dvh,4px)!important;font-size:clamp(10px,1.55dvh,12px);line-height:1.2}.start-card.past-compact .calla{width:clamp(58px,14vw,90px);opacity:.58}.start-card.past-compact .calla-left{top:clamp(102px,18dvh,128px)}.start-card.past-compact .calla-right{bottom:clamp(82px,14dvh,112px)}.front-names .line1,.front-names .line2{font-size:clamp(58px,min(18vw,9dvh),92px)}.front-names .line1{transform:translate(clamp(-18px,-2vw,-9px))}.front-names .line2{margin-top:clamp(6px,1dvh,10px);transform:translate(clamp(9px,2vw,18px))}.front-names .and{margin:1px 0;font-size:clamp(28px,min(8vw,4.5dvh),38px)}@media(min-width:921px){.intro.compact{height:auto;min-height:0;padding:32px 18px 38px}}
