:root{color-scheme:light;--paper:#f4f4f4;--silver:#e6e6e8;--ink:#3f4247;--muted:#64676d;--line:#c6c8cc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.7}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #6a7280;outline-offset:6px}.masthead{max-width:1440px;margin:auto;padding:23px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:12px;letter-spacing:2px}.masthead a{text-decoration:none}.masthead>a:first-child{font:26px Georgia,serif;letter-spacing:3px}.masthead span{color:var(--muted)}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1fr 1fr;min-height:760px}.hero-copy{padding:90px 30px 65px;text-align:center;display:flex;align-items:center;flex-direction:column;justify-content:center}.eyebrow{font-size:12px;letter-spacing:2.5px;font-weight:500;margin:0 0 24px}h1,h2,h3,h4,.signature{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(64px,7vw,108px);line-height:1.05;margin:20px 0}h1 em{display:block;font-size:.65em;line-height:1.3;color:#82858b;font-weight:400}em{font-weight:400}.wedding{font:italic 25px Georgia,serif;margin:15px 0 32px}.date{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 34px;letter-spacing:2px;font-size:12px}.date strong{font:27px Georgia,serif;letter-spacing:4px}.text-link{font-size:14px;text-decoration:none;margin-top:35px}.text-link span{margin-left:15px}.hero-photo{position:relative;margin:28px 28px 28px 0;min-height:690px;overflow:hidden;border-radius:260px 260px 0 0}.hero-photo img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 40%}.photo-caption{position:absolute;bottom:0;width:100%;padding:70px 12px 20px;color:white;background:linear-gradient(transparent,#0009);text-align:center;font-size:11px;letter-spacing:2px}.section{padding:100px 6%;text-align:center}h2{font-size:clamp(30px,3.5vw,48px);line-height:1.3;margin:0 0 28px}h2 em{color:#73767c}p{margin:0 0 18px}.invitation>p:not(.eyebrow):not(.signature){color:var(--muted)}.small-rule{width:55px;height:1px;background:#9b9ea4;margin:35px auto}.signature{font-size:34px;font-style:italic;margin:0}.count-section{padding:65px 20px;text-align:center;background:var(--silver);border-block:1px solid #d6d7da}.countdown{display:flex;justify-content:center;align-items:flex-start;gap:25px;margin:32px auto}.countdown div{min-width:86px;display:flex;flex-direction:column}.countdown strong{font:56px Georgia,serif;font-variant-numeric:tabular-nums}.countdown span{font-size:11px;letter-spacing:2px;margin-top:12px}.countdown b{font:30px Georgia,serif;line-height:1.8;color:#95979c}.count-section>p:last-child{font-size:14px;margin:0;color:var(--muted)}.events{max-width:1050px;display:grid;grid-template-columns:1fr 1fr;margin:55px auto 0;border-block:1px solid var(--line)}.events article{padding:42px 26px 48px}.events article+article{border-left:1px solid var(--line)}.event-number{font-size:12px;letter-spacing:2px;color:var(--muted)}h3{font-size:43px;margin:12px 0 0}.time{font-size:19px}.time span{font-size:14px;color:var(--muted)}h4{font-size:25px;line-height:1.4;margin:25px 0 12px}.events article>p:not(.time){color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;min-height:48px;padding:11px 22px;margin-top:12px;text-decoration:none;border:1px solid #82858b;font-size:14px;transition:background .2s}.button:hover{background:var(--silver)}.memories{padding:25px 4% 65px}.gallery-heading{text-align:center}.gallery-heading>p:last-child{color:var(--muted)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1280px;margin:45px auto 0;align-items:start}.gallery img{display:block;width:100%;height:auto}.gallery img:nth-child(2){margin-top:65px}.closing{padding-top:60px}.closing>.signature{margin:35px 0 10px}.closing>p:last-child{font-size:12px;letter-spacing:3px}footer{text-align:center;padding:35px 20px 100px;background:var(--silver);font-size:14px}footer p{margin-bottom:5px;color:var(--muted)}footer a{text-underline-offset:5px}.music-toggle{position:fixed;bottom:20px;right:20px;z-index:10;border:1px solid #b8bac0;border-radius:30px;background:#fafafaf5;color:var(--ink);box-shadow:0 4px 25px #0001;min-height:48px;padding:12px 20px;display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px}.music-toggle>span:first-child{font-size:22px;line-height:1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:1500px){.hero{min-height:850px}}@media(max-width:700px){.masthead{padding:17px 6%}.masthead>span{display:none}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:50px 22px 35px}h1{font-size:70px;margin:8px 0}h1 em{display:inline;font-size:.7em}.eyebrow{font-size:11px;letter-spacing:2px}.wedding{margin:12px 0 24px;font-size:23px}.date{padding:18px 28px}.text-link{margin-top:24px}.hero-photo{margin:0 7% 15px;min-height:0;aspect-ratio:0.77;border-radius:200px 200px 0 0}.section{padding:65px 7%}.invitation br{display:none}.count-section{padding:45px 14px}.countdown{gap:10px}.countdown div{min-width:55px}.countdown strong{font-size:38px}.countdown span{font-size:10px;letter-spacing:1px}.countdown b{font-size:22px}.events{grid-template-columns:1fr;margin-top:35px}.events article{padding:35px 8px}.events article+article{border-left:0;border-top:1px solid var(--line)}.gallery{grid-template-columns:1fr;gap:24px;margin-top:30px;max-width:420px}.gallery img:nth-child(2){margin-top:0}.memories{padding:10px 7% 0}.music-toggle{bottom:14px;right:14px}.closing{padding-top:65px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
