@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--green:#123c31;--green2:#214d3d;--gold:#b28a3e;--cream:#fcf8eb;--paper:#fffefa;--ink:#244238;--muted:#6e7770}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:radial-gradient(ellipse at 0% 14%,#ffe4d5 0%,transparent 23%),radial-gradient(ellipse at 100% 30%,#dceae3 0%,transparent 24%),radial-gradient(ellipse at 96% 100%,#f8dfce 0%,transparent 29%),var(--cream);font-family:'DM Sans',Arial,sans-serif}
.top-line{height:7px;background:linear-gradient(90deg,#0e382d 0%,#c49d52 49%,#0e382d 100%)}
.page-head{display:flex;justify-content:center;align-items:center;gap:20px;padding:27px 18px 19px;text-align:center}
.head-title{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(26px,3vw,36px);font-weight:600;color:var(--green);line-height:1.05}
.eyebrow{margin:0 0 7px;font-size:11px;letter-spacing:.23em;text-transform:uppercase;font-weight:700;color:#9b7d47}
.flourish{color:var(--gold);font-size:27px}
.layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);gap:clamp(30px,5vw,76px);align-items:start;max-width:1250px;margin:0 auto;padding:18px 26px 35px}
.invite-section{position:relative;text-align:center}
.invitation-frame{padding:12px;background:#fff;border:1px solid #e8d8b6;border-radius:21px;box-shadow:0 22px 47px rgba(55,50,31,.15),0 3px 13px rgba(55,50,31,.06)}
.invitation{display:block;width:100%;height:auto;border-radius:11px}
.invite-caption{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:22px;color:#876d44;margin:23px 0 0}
.details-section{padding-top:24px}
.welcome{text-align:left}
.small-rule{display:block;width:65px;height:2px;background:var(--gold);margin-bottom:25px}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;color:var(--green)}
h1{font-size:clamp(39px,4.4vw,62px);font-weight:600;line-height:.99;letter-spacing:-.025em;margin-bottom:20px}
h1 em{font-weight:400;color:#b18a45;white-space:nowrap}
.welcome>p:not(.eyebrow){font-size:15px;line-height:1.85;color:#5f6a64;max-width:530px;margin-bottom:24px}
.event-strip{display:flex;align-items:center;gap:18px;border-top:1px solid #d7c69e;border-bottom:1px solid #d7c69e;padding:15px 3px;margin:20px 0 42px}
.event-strip>span{font-family:Georgia,serif;font-size:31px;color:var(--gold)}
.event-strip strong{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-size:22px;color:var(--green);font-weight:700}
.event-strip small{display:block;font-size:12px;color:#6f776d;margin-top:4px}
.locations-head{text-align:center;margin-bottom:23px}
.locations-head:before{content:'❀';color:#bd994c;display:block;font-size:21px;margin-bottom:10px}
h2{font-size:clamp(35px,4vw,50px);line-height:1.1;margin-bottom:7px;font-weight:700}
.locations-head>p:last-child{font-size:13px;color:#718077;line-height:1.65;margin:0 auto;max-width:440px}
.venues{display:grid;gap:16px}
.venue{display:grid;grid-template-columns:minmax(0,1fr) 116px;align-items:center;gap:16px;background:rgba(255,255,252,.96);border:1px solid #e9dfc8;border-radius:20px;padding:20px 17px 20px 20px;box-shadow:0 9px 23px rgba(72,62,35,.075)}
.venue-details{display:flex;align-items:flex-start;gap:12px;min-width:0}
.venue-num{display:grid;place-items:center;flex:0 0 39px;width:39px;height:39px;border-radius:11px;background:var(--green);color:#fff;font-family:'Cormorant Garamond',Georgia,serif;font-size:17px;font-weight:600;margin-top:2px}
.venue h3{font-size:27px;font-weight:700;line-height:1.05;margin-bottom:5px}
.venue p{font-family:'Cormorant Garamond',Georgia,serif;font-size:16px;font-style:italic;color:#8d7d63;margin-bottom:7px}
address{font-style:normal;font-size:12px;line-height:1.5;color:#5d675f;margin:0 0 13px}
.venue-qr{display:block;width:116px;height:116px;object-fit:contain;border:7px solid #fff;background:#fff;box-shadow:0 0 0 1px #e9e3d3;border-radius:7px;padding:2px}
.direction-button{display:inline-flex;justify-content:center;align-items:center;gap:10px;text-decoration:none;padding:10px 13px;background:var(--green);border:1px solid var(--green);border-radius:30px;color:#fff;font-size:12px;font-weight:700;transition:.2s ease}
.direction-button:hover,.direction-button:focus-visible{background:#286044;transform:translateY(-1px)}
.direction-button span{font-size:18px;line-height:.7}
.footer{text-align:center;padding:36px 15px 41px;border-top:1px solid rgba(178,138,62,.21);margin-top:50px}
.footer-flowers{font-size:22px;letter-spacing:4px;margin-bottom:8px}
.aloha{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:54px;color:#ae8532;line-height:1}
.footer small{font-family:'Cormorant Garamond',Georgia,serif;display:block;font-size:14px;letter-spacing:.18em;color:#768076;margin-top:15px}
@media(max-width:940px){.layout{grid-template-columns:minmax(0,1fr);max-width:670px;gap:36px;padding:8px 22px 20px}.details-section{padding-top:0}.welcome{text-align:center}.small-rule{margin:0 auto 20px}.welcome>p:not(.eyebrow){margin-left:auto;margin-right:auto}.event-strip{text-align:left;margin-bottom:34px}.invite-caption{margin-top:16px}}
@media(max-width:500px){.page-head{gap:12px;padding:19px 12px 13px}.flourish{font-size:20px}.eyebrow{font-size:9px}.head-title{font-size:25px}.layout{padding:6px 12px 12px}.invitation-frame{padding:7px;border-radius:16px}.invitation{border-radius:10px}h1{font-size:43px}.venue{grid-template-columns:minmax(0,1fr) 90px;padding:14px 12px;gap:8px;border-radius:15px}.venue-details{gap:8px}.venue-num{width:31px;height:31px;flex-basis:31px;font-size:14px;border-radius:9px}.venue h3{font-size:22px}.venue p{font-size:14px}.venue-qr{width:90px;height:90px;border-width:4px}.direction-button{padding:9px 12px;font-size:11px}.footer{margin-top:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.direction-button{transition:none}.direction-button:hover{transform:none}}
