@font-face{font-family:Display;src:url(assets/display.ttf);font-display:swap}@font-face{font-family:Hand;src:url(assets/script.ttf);font-display:swap}
:root{--ink:#2c3638;--gold:#c4d4d8;--gold-ink:#5c6b6f;--paper:#e7ebec;--light:208,229,255;--night:#2c3638;--mauve:#b7c2c5}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}body{margin:0;background:#20282a;color:var(--ink);font:16px/1.75 Arial,sans-serif}body.locked{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #71888e;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Display,Georgia,serif;font-weight:400;line-height:1.06}h2{font-size:clamp(44px,5.6vw,70px);letter-spacing:-.028em}h3{font-size:36px}.eyebrow{font-size:12px;letter-spacing:.21em;line-height:1.7}.signature,.script-label{display:block;font-family:Hand,cursive;font-size:43px;font-weight:400;line-height:1.25;color:var(--gold-ink)}.script-label{margin-bottom:20px}.surface{position:relative;isolation:isolate}.paper{background:linear-gradient(180deg,#e7ebec 0 5%,#eff3f4 29%,#d7dedf 67%,#e7ebec 100%)}.sage{background:linear-gradient(180deg,#b7c2c5 0 5%,#cbd4d6 37%,#a6b2b5 73%,#b7c2c5)}.dark{color:#f2f6f7;background:linear-gradient(180deg,#2c3638 0 5%,#48565a 46%,#354144 76%,#2c3638);--gold-ink:#c4d4d8}.surface:before{content:'';position:absolute;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(116deg,transparent 16%,#ffffff06 28%,#ffffff1b 33%,#ffffff03 39%,transparent 53%,#fff1 66%,transparent 76%)}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:56px;border:1px solid var(--ink);border-radius:50px;padding:14px 28px;background:var(--ink);color:#f2f6f7;text-decoration:none;font-size:14px;letter-spacing:.02em;transition:background .25s,color .25s}.button:hover{background:#4b5a5e}.button-light{background:#e0e9ec;color:#2e393c;border-color:#e0e9ec}.button-light:hover{background:#f1f5f6}.button-outline{background:transparent;color:inherit;border-color:#7a8a8e}.button-outline:hover{color:white}.text-button{border:0;border-bottom:1px solid #7a8a8e;background:none;color:inherit;font-size:14px;padding:12px 0;cursor:pointer;text-decoration:none}.text-button span{margin-left:12px}.text-button.light{color:#cbd7da;border-color:#8ea0a5}.fine-rule{display:block;width:70px;height:1px;background:linear-gradient(90deg,transparent,#a9bbbf,transparent);margin:30px auto}
.entry{position:fixed;inset:0;z-index:100;display:grid;place-items:center;align-items:safe center;text-align:center;overflow:auto;background:radial-gradient(ellipse at 50% 12%,#4f6f7755,transparent 53%),linear-gradient(135deg,#1c2a2d,#2a3e43 50%,#182427);transition:opacity .45s,visibility .45s}.entry.leaving{opacity:0;visibility:hidden}.entry-content{position:relative;z-index:4;padding:105px 25px 55px;width:100%;max-width:610px}.entry h1{font-family:Display,serif;font-size:clamp(76px,9vw,112px);line-height:1;margin:28px 0 25px;color:#f1f5f6;letter-spacing:-.025em}.entry h1 em{display:block;font-family:Hand,cursive;font-size:48px;font-weight:400;color:#bdcfd4;margin:2px 0}.entry-date{font-size:15px;letter-spacing:.28em;color:#d8e3e6}.entry-message{font-size:16px;color:#ccd9dd;line-height:1.9}.entry-actions{display:flex;align-items:center;flex-direction:column;gap:16px;margin-top:34px}.entry-actions .button{width:270px}.entry-monogram{position:absolute;top:34px;left:0;right:0;font-size:11px;letter-spacing:.3em;color:#a0b1b5}.entry .eyebrow{color:#dce4e6;font-size:11px}.entry-stars{left:calc(50% - min(43vw,350px))!important;right:auto!important;top:7%!important;width:min(86vw,700px);height:48%;max-height:450px;z-index:2!important}.music-button{position:fixed;bottom:24px;right:24px;width:50px;height:50px;border-radius:50%;z-index:40;background:#2c3638;color:#c4d4d8;border:1px solid #aebbbe77;font-size:24px;box-shadow:0 4px 24px #0003}.music-button[aria-pressed=true]{background:#e0e9ec;color:#2c3638}main,footer{max-width:1100px;margin:auto}main{overflow:hidden}.hero{height:100svh;min-height:850px;max-height:1150px;position:relative;overflow:hidden;background:#202f33;color:white}.hero-photo,.hero-shade{position:absolute;inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px);object-fit:cover;object-position:center 60%}.hero-photo{transform-origin:center 63%}.hero-shade{background:linear-gradient(#22333780,#293d4244 35%,#1e2c3015 68%,#1b282c99)}.hero-copy{position:absolute;top:23%;left:0;width:100%;text-align:center;padding:0 24px;z-index:4}.hero h1{font-size:clamp(75px,9vw,112px);margin:22px auto;letter-spacing:-.03em;line-height:1}.hero h1>span{display:block}.hero h1 em{font-family:Hand,cursive;font-weight:400;color:#c4d4d8;font-size:.6em;margin:0 10px 0 0}.hero-date{display:flex;align-items:center;justify-content:center;gap:20px;letter-spacing:.21em;font-size:15px;color:#f1f5f6;margin-top:27px}.hero-date span{height:1px;width:26px;background:#abbcc199}.hero-message{display:none}.scroll-cue{position:absolute;bottom:120px;left:0;width:100%;z-index:5;text-align:center;text-decoration:none;font-size:11px;letter-spacing:.19em}.scroll-cue i{display:block;font-size:24px;margin-top:8px;font-style:normal;color:#c8d7db}.hero-stars{width:min(100%,860px);height:75%;max-height:850px;left:50%!important;right:auto!important;top:3%!important;transform:translateX(-50%)}.divider{height:150px;position:absolute;left:0;right:0;pointer-events:none;z-index:3}.divider svg{width:100%;height:100%;display:block}.hero-divider,.closing-bottom{bottom:-1px}.section-top{top:-149px}.transition-stars{height:100%;z-index:4!important}.story,.event,.album,.agenda,.details,.rsvp{padding:95px max(32px,calc((100% - 880px)/2)) 250px}.story{text-align:center;padding-top:50px}.countdown{padding-bottom:105px}.count-grid{display:flex;align-items:center;justify-content:center;gap:30px;margin-top:28px}.count-grid div{min-width:70px}.count-grid strong{font-family:Display,serif;font-size:65px;font-weight:400;line-height:1.2}.count-grid span{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#68777b;margin-top:10px}.count-grid i{font-size:18px;font-style:normal;color:#96a7ab;align-self:flex-start;margin-top:24px}.tiny-heart{display:block;margin-top:32px;font-size:23px;color:#96a7ab}.story-copy{max-width:640px;margin:auto}.story h2{margin:24px 0 35px}.story-copy>p{max-width:540px;margin:23px auto;color:#5c6c70;line-height:1.95}.story .signature{margin-top:36px}.event-intro{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px;max-width:900px;margin:auto}.event-intro h2{margin:22px 0}.event-intro .text-button{margin-top:15px}.date-seal{width:280px;height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;justify-self:center;gap:5px;border-block:1px solid #7e909466}.date-seal>span{letter-spacing:.23em;font-size:12px}.date-seal strong{font-family:Display,serif;font-size:157px;font-weight:400;line-height:1}.date-seal .month{font-size:15px}.date-seal .date-year{font-size:17px;margin-top:5px}.event-details{display:grid;grid-template-columns:1fr 1fr;text-align:center;margin-top:100px;gap:70px}.event-details article+article{border-left:1px solid #7e909466;padding-left:70px}.event-details h3{margin:24px 0}.event-time{font-family:Display,serif;font-size:39px;margin:20px 0 10px}.event-time small{font-size:20px}.event-details p:not(.eyebrow):not(.event-time){color:#465356}.event-details .button{margin-top:28px}.album-layout{max-width:680px;margin:auto}.album-copy{text-align:center;margin-bottom:50px}.album-copy h2{color:#f2f6f7}.album-copy>p{line-height:1.9;margin-top:28px;color:#d2dde0}.album-stage{position:relative;aspect-ratio:4/5;max-width:530px;margin:auto;background:#080808;overflow:hidden;border-radius:3px;outline:1px solid #c6d4d844;outline-offset:12px}.slide{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .85s ease;transform:none}.slide.active{opacity:1}.album-controls{display:flex;justify-content:center;gap:32px;margin-top:28px}.album-controls button{width:40px;height:40px;color:#c4d4d8;background:transparent;border:0;font-size:22px}.section-heading{text-align:center;margin-bottom:80px}.section-heading h2{margin-top:24px}.timeline{padding:0;margin:0 auto;max-width:610px;list-style:none}.timeline li{display:grid;grid-template-columns:80px 1fr;gap:35px;position:relative;padding-bottom:48px}.timeline li:last-child{padding-bottom:0}.timeline time{color:#5c6b6f;font-size:15px;padding-top:8px}.timeline li>div{border-left:1px solid #90a0a470;padding-left:38px;position:relative}.timeline li>div:before{content:'';position:absolute;width:6px;height:6px;background:#7a8b90;left:-3.5px;top:12px;border-radius:50%}.timeline h3{font-size:35px}.timeline p{color:#617175;margin-top:14px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;text-align:center}.detail-grid article{position:relative;padding:20px 5px}.detail-grid article+article:before{content:'';position:absolute;left:-23px;top:20px;bottom:0;width:1px;background:linear-gradient(transparent,#81939866,transparent)}.detail-index{font-size:12px;letter-spacing:.16em;color:#5c6b6f}.detail-grid h3{font-size:32px;margin:22px 0}.detail-grid p{color:#4a575a;margin-bottom:25px}.notes-row{display:flex;justify-content:center;gap:30px;align-items:center;border-top:1px solid #899a9e66;margin-top:100px;padding-top:55px;font-size:16px}.rsvp{text-align:center;padding-top:105px}.rsvp h2{font-size:clamp(49px,7vw,83px);color:#eef3f5;margin:28px 0}.rsvp-content>p:not(.eyebrow){color:#d2dde0}.rsvp .button{margin:35px 0}.rsvp .signature{margin-top:15px}.closing{position:relative;height:800px;overflow:hidden;background:#2c3638;color:white;text-align:center}.closing>img,.closing-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 66%}.closing-shade{background:linear-gradient(#21313544,#1b282cbb)}.closing-top{top:-1px;rotate:180deg}.closing-copy{position:relative;top:35%;z-index:3}.closing-copy h2{margin:22px 0;font-size:72px}.closing-copy .signature{color:#c4d4d8}.closing-copy>span{display:block;font-size:14px;letter-spacing:.24em;margin-top:23px}footer{text-align:center;padding:48px 20px 60px}footer>a{font-family:Display,serif;font-size:37px;text-decoration:none}footer em{color:#7b8e92;font-family:Hand,cursive}footer p{font-size:14px;color:#66767a;margin:14px 0 8px}footer>span{font-size:12px;letter-spacing:.12em}dialog{width:min(530px,calc(100% - 30px));max-height:90svh;border:1px solid #94a4a8;border-radius:8px;padding:48px 35px;background:#e7ebec;color:#2c3638}dialog::backdrop{background:#131c1fc9;backdrop-filter:blur(6px)}dialog h2{font-size:43px;margin:20px 0 25px}dialog p{margin:16px 0;font-size:16px}dialog .button{margin-top:27px}.modal-close{position:absolute;right:18px;top:12px;font-size:27px;background:none;border:0;color:#4a575a}label{display:block;font-size:14px;margin-top:21px}input,select{display:block;width:100%;padding:13px 5px;border:0;border-bottom:1px solid #8d9ea2;background:transparent;color:#2c3638;border-radius:0}.form-note{font-size:12px!important;color:#66767a}.form-result{padding:15px;background:#d2dadc;border-left:2px solid #7b8e92}#notice{position:fixed;bottom:85px;left:20px;right:20px;z-index:150;background:#e7ebec;padding:18px;box-shadow:0 8px 40px #0003}.reveal{opacity:0;transform:translateY(22px);transition:opacity 1.1s,transform 1.25s}.reveal.visible{opacity:1;transform:none}
@media(max-width:700px){.entry-content{padding:115px 24px 45px}.entry h1{font-size:76px;margin:25px 0}.entry h1 em{font-size:40px}.entry-message{font-size:15px}.entry .eyebrow{font-size:10px;letter-spacing:.17em}.entry-date{font-size:14px}.entry-stars{top:9%!important;height:35%}.entry-monogram{top:30px;font-size:10px}.entry .fine-rule{margin:24px auto}.entry-actions{margin-top:25px}.hero{min-height:790px;max-height:none}.hero-photo{object-position:center 60%}.hero-copy{top:24%;padding:0 24px}.hero h1{font-size:68px;margin:23px auto;line-height:1.02}.hero h1 em{font-size:41px;margin-right:7px}.hero .eyebrow{font-size:11px}.hero-date{font-size:14px;gap:14px;letter-spacing:.17em}.hero-date span{width:22px}.hero-stars{height:75%;top:4%!important}.hero .scroll-cue{font-size:10px;bottom:112px}.divider{height:120px}.section-top{top:-119px}.hero-divider{height:110px}.story,.event,.album,.agenda,.details,.rsvp{padding:80px 27px 210px}.story{padding-top:35px}.countdown{padding-bottom:85px}.count-grid{gap:17px}.count-grid strong{font-size:50px}.count-grid i{margin-top:17px}.count-grid div{min-width:60px}.count-grid span{font-size:10px}.signature,.script-label{font-size:39px}.story h2{font-size:46px}.event-intro{display:flex;flex-direction:column;gap:65px;text-align:center}.event-intro h2{font-size:50px}.date-seal{width:260px;height:310px}.date-seal strong{font-size:145px}.event-details{display:block;margin-top:90px}.event-details article+article{border-left:0;border-top:1px solid #7e909466;padding:65px 0 0;margin-top:70px}.event-details h3{font-size:36px}.album-copy h2{font-size:44px}.album-copy{margin-bottom:48px}.album-stage{outline-offset:8px}.section-heading{margin-bottom:65px}.timeline li{grid-template-columns:53px 1fr;gap:15px;padding-bottom:42px}.timeline li>div{padding-left:25px}.timeline h3{font-size:33px}.timeline time{font-size:14px}.detail-grid{display:block}.detail-grid article{padding:0 6px 10px}.detail-grid article+article{margin-top:90px;padding-top:80px}.detail-grid article+article:before{left:12%;right:12%;top:0;bottom:auto;width:auto;height:1px;background:linear-gradient(90deg,transparent,#7b949a99,transparent)}.detail-grid h3{font-size:37px}.notes-row{flex-direction:column;gap:15px;text-align:center;margin-top:85px;padding-top:45px}.rsvp h2{font-size:52px}.closing{height:700px}.closing-copy{top:36%;padding:0 24px}.closing-copy h2{font-size:51px}.music-button{right:16px;bottom:17px;width:47px;height:47px}dialog{padding:42px 25px}}
@media(max-height:720px){.entry-content{padding-top:85px;padding-bottom:35px}.entry h1{font-size:62px;margin:20px 0}.entry-actions{margin-top:20px}.entry .fine-rule{margin:19px auto}.entry-stars{height:40%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
