:root{--peach:#e4cf96;--pale:#fffefa;--ink:#584620;--muted:#79663c;--line:#c6a75e;--gold:#a1843b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--pale);color:var(--ink);font:16px/1.65 Arial,sans-serif}a{color:inherit;text-underline-offset:5px}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #8b702f;outline-offset:5px}.top{height:72px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;background:#ffffff;border-bottom:1px solid #c6a75e66}.top>a{font:30px Georgia,serif;letter-spacing:-4px;text-decoration:none}.top>a span{font-size:24px}.top-actions{display:flex;align-items:center;gap:24px}.top-actions a{font-size:14px}#music{font:14px Arial,sans-serif;color:var(--ink);border:1px solid var(--line);background:transparent;padding:10px 16px;border-radius:30px;cursor:pointer}#music[aria-pressed=true]{background:var(--peach)}.hero{position:relative;isolation:isolate;min-height:970px;max-width:1500px;margin:auto;display:flex;align-items:flex-end;justify-content:center;padding:360px 24px 55px;overflow:hidden;background:#fffdf5}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;z-index:-2}.hero:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#ffffff55 25%,#ffffffd9 68%,#ffffff00);z-index:-1}.arch{width:min(630px,100%);text-align:center;animation:arrive 1.4s ease both}.hero .cross{display:none}.eyebrow{font-size:12px;letter-spacing:3px;font-weight:600;margin:22px 0}.intro{font:italic 22px/1.5 Georgia,serif;margin:15px auto;max-width:310px}h1{font:normal clamp(85px,12vw,134px)/1 Georgia,serif;letter-spacing:-5px;color:#8c6d2b;margin:20px 0;text-shadow:0 2px 25px #ffffff}h1 span{display:block;font:normal 22px/1.5 Arial,sans-serif;letter-spacing:10px;text-transform:uppercase;margin:12px 0 0 10px}.rule{height:1px;width:80px;background:var(--gold);margin:25px auto}.date{font:22px Georgia,serif}.blessing{font:italic 23px/1.5 Georgia,serif;margin:22px 0}.scroll,.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:52px;padding:15px 25px;border-radius:32px;background:#92742f;color:#fffefa;border:1px solid #ad8e43;text-decoration:none;font-size:15px;cursor:pointer;transition:transform .2s,background .2s;box-shadow:0 7px 24px #78622e1a}.scroll:hover,.button:hover{transform:translateY(-2px);background:#715921}.scroll{margin-top:10px}.celebration{padding:70px 24px;text-align:center;background:#ffffff}.scripture{margin:0;text-align:center;background:#72602f;color:#fffefa;padding:48px 24px;border-block:4px double #ceb678}.scripture .cross{font:38px Georgia,serif;color:#e6d7a6}.scripture blockquote{font:italic clamp(25px,4vw,34px)/1.5 Georgia,serif;margin:15px auto;max-width:730px}.scripture cite{font:12px Arial,sans-serif;letter-spacing:3px;color:#eee4c7}h2{font:normal clamp(36px,6vw,52px)/1.2 Georgia,serif;letter-spacing:-1px;margin:16px 0 25px}.lead{color:var(--muted);max-width:540px;margin:auto}.events{display:grid;grid-template-columns:1fr 1fr;max-width:960px;gap:26px;margin:44px auto}.events article{padding:40px 28px;border:1px solid var(--line);border-radius:180px 180px 14px 14px;background:linear-gradient(#f8f4e7,#fffefa);box-shadow:inset 0 0 0 7px #fffefa,inset 0 0 0 8px #ded0a9,0 12px 38px #7762310b}.events article+article{background:linear-gradient(#f0e7cf,#fffefa)}.number{display:block;font:40px Georgia,serif;color:var(--gold);height:62px}.events .eyebrow{margin:15px 0}h3{font:normal 33px/1.25 Georgia,serif;margin:15px 0}.events p{margin:7px 0}.events .time{font:29px Georgia,serif;color:#94762e;margin:24px 0}.address{line-height:1.7}.text-link{display:inline-block;font-size:14px;padding:8px}.button.outline{background:transparent;color:var(--ink);box-shadow:none}.small{font-size:13px;color:var(--muted);margin-top:18px}.count-section{text-align:center;background:linear-gradient(135deg,#f6f0df,#e3d2a2);padding:36px 20px 45px;border-block:1px solid #c6ae71}.count{display:flex;justify-content:center;align-items:center;gap:30px}.count div{min-width:84px}.count span{font:60px Georgia,serif;display:block}.count small{font-size:12px;letter-spacing:2px;display:block;margin-top:8px}.count b{font:28px Georgia,serif;align-self:flex-start;padding-top:16px}.rsvp{position:relative;text-align:center;padding:70px 24px;background:#fffefa}.rsvp .cross{font:40px Georgia,serif;color:var(--gold)}.rsvp .button{margin:20px 0}.phone{display:block;width:fit-content;margin:5px auto}.rsvp strong{font-weight:600}footer{text-align:center;background:#72602f;color:#f7efd8;padding:30px 20px}.footer-name{font:italic 38px Georgia,serif}footer p{font-size:12px;letter-spacing:3px}footer .cross{font:26px Georgia,serif}@keyframes arrive{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1000px){.hero{min-height:990px}.hero-photo{object-fit:cover;object-position:center 32%}.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#ffffff70,transparent 30%,transparent 70%,#ffffff70)}}@media(max-width:600px){.top{height:64px}.top-actions{gap:16px}.hero{min-height:900px;padding:360px 20px 55px}.hero-photo{object-position:center top}.arch{width:100%}h1{font-size:92px}.hero .eyebrow{letter-spacing:2px}.intro{font-size:20px}.date{font-size:20px}.blessing{font-size:22px}.events{grid-template-columns:1fr;max-width:390px}.events article{padding:35px 25px}.celebration,.rsvp{padding:48px 22px}.count{gap:14px}.count div{min-width:65px}.count span{font-size:44px}.count-section .eyebrow{font-size:11px;letter-spacing:1.8px}.desktop{display:none}.scripture{padding:35px 25px}.scroll{font-size:14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.arch{animation:none}.button,.scroll{transition:none}}
.hero{max-width:820px;min-height:1230px;padding:340px 24px 300px}.hero-photo{object-position:center top}.hero:after{inset:28% 0 20%;background:radial-gradient(ellipse,#ffffffbb,transparent 75%)}@media(min-width:1000px){.hero{min-height:1230px}.hero-photo{object-position:center top}}@media(max-width:600px){.hero{min-height:1080px;padding:290px 22px 260px}.hero-photo{object-position:center top}.hero .eyebrow{font-size:11px;letter-spacing:1.5px}}
#sacred-motion{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}.arch{position:relative;z-index:1}#motion-toggle{position:absolute;right:18px;bottom:18px;z-index:2;padding:9px 14px;border:1px solid #c6a75e88;border-radius:25px;background:#ffffffdf;color:#584620;font:12px Arial,sans-serif;cursor:pointer}

#music[aria-pressed=true]{background:#e4cf96}
