:root{--citron:#edfc9d;--emerald:#00bf88;--teal:#087b88;--ink:#075a65;--mint:#9febd8;--heading-font-font-family:Moret,Georgia,'Times New Roman',serif;--body-font-font-family:Montserrat,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--citron);color:var(--teal);font-family:var(--body-font-font-family);font-size:18px;line-height:1.55}a{color:var(--ink);text-underline-offset:5px}a:focus-visible,button:focus-visible{outline:3px solid var(--ink);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--heading-font-font-family);line-height:1.03;letter-spacing:-.04em}h2{font-size:clamp(56px,7.8vw,116px);color:var(--emerald);font-weight:700}h3{font-size:clamp(32px,4.2vw,62px);font-weight:700}.skip{position:absolute;left:16px;top:-100px;background:var(--mint);padding:10px;z-index:10}.skip:focus{top:8px}.site-header{max-width:1400px;margin:0 auto;padding:24px 5%;display:flex;justify-content:space-between;align-items:center;gap:25px}.wordmark{font:700 23px Georgia,serif;text-decoration:none}.site-header nav{display:flex;gap:28px;align-items:center;font-size:14px}.site-header nav a{text-decoration:none}.nav-rsvp{border-bottom:1px solid var(--teal);padding-bottom:4px}.hero{min-height:620px;display:grid;grid-template-columns:1fr 2.6fr 1fr;align-items:center;gap:30px;max-width:1440px;margin:0 auto;padding:35px 5% 100px;text-align:center}.hero h1{font-size:clamp(80px,10.5vw,154px);color:var(--emerald);letter-spacing:-.045em;line-height:.94}.hero h1 span{display:block;font-weight:400;margin:10px 0}.hero-left{font-family:Georgia,serif;letter-spacing:.15em;font-size:19px;line-height:1.4}.hero-right{font:22px/1.45 Georgia,serif}.section{max-width:1440px;margin:0 auto;padding:70px 5% 90px}.weekend{padding-top:30px}.weekend>h2{text-align:center;margin-bottom:45px}.weekend-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:6%;align-items:center}.sea-art{background:var(--mint);border-radius:50%;aspect-ratio:1.45;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:25px;color:var(--teal)}.sea-art svg{width:60%;max-height:280px;transform:rotate(-9deg)}.sea-art span{font:italic 22px Georgia,serif}.events article+article{margin-top:60px}.events h3{margin-bottom:24px}.events p{font-size:18px;line-height:1.5}.text-link{display:inline-block;margin-top:16px;font-size:14px;font-weight:700}.travel{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:6%;border-top:1px solid #86b59c;border-bottom:1px solid #86b59c}.eyebrow{font-size:12px;letter-spacing:.17em;font-weight:700;margin-bottom:20px}.travel h2{font-size:clamp(50px,6.5vw,96px);color:var(--teal)}.travel-copy{max-width:440px;font-size:21px}.travel-copy p+p{margin-top:25px}.registry{text-align:center}.section-intro{max-width:640px;margin:25px auto 35px}.registry-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:50px;border-top:1px solid #86b59c;border-bottom:1px solid #86b59c}.registry-grid>div{padding:35px 18px}.registry-grid>div+div{border-left:1px solid #86b59c}.registry h3{font-size:32px;letter-spacing:-.03em;min-height:68px}.registry-grid p{font-size:14px;margin:14px 0 20px}.registry-grid a{font-size:13px;font-weight:700}.registry-grid a[aria-disabled=true]{color:#52777a;text-decoration:none}.rsvp-section{background:var(--mint);text-align:center;max-width:none;padding:70px 5%}.rsvp-section h2{color:var(--teal)}.rsvp-buttons{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}.button{background:var(--emerald);border:1px solid var(--ink);padding:15px 24px;min-height:50px;font-size:15px;font-weight:700;text-decoration:none}.button.secondary{background:transparent}.button:hover{background:var(--citron)}.site-footer{max-width:1440px;margin:auto;padding:30px 5%;display:flex;justify-content:space-between;gap:24px;align-items:center;font-size:12px}.site-footer>span:first-child{font:700 22px Georgia,serif}.cw-rsvp{min-height:650px}.cw-rsvp .cw-form{margin-bottom:20px}
@media(max-width:850px){.site-header{align-items:flex-start}.site-header nav{gap:15px;flex-wrap:wrap;justify-content:flex-end}.hero{min-height:540px;grid-template-columns:1fr 3fr 1fr;gap:15px}.hero h1{font-size:clamp(62px,12vw,112px)}.hero-left{font-size:13px}.hero-right{font-size:16px}.weekend-grid{gap:35px}.events h3{font-size:40px}.events p{font-size:16px}.registry-grid{grid-template-columns:1fr 1fr}.registry-grid>div:nth-child(3){border-left:0}.registry-grid>div:nth-child(n+3){border-top:1px solid #86b59c}.site-footer{flex-wrap:wrap}}
@media(max-width:580px){body{font-size:16px}.site-header{padding:20px;flex-direction:column;gap:15px}.wordmark{font-size:20px}.site-header nav{width:100%;justify-content:space-between;gap:12px;font-size:12px}.hero{grid-template-columns:1fr 1fr;padding:40px 20px 60px;min-height:auto;gap:25px}.hero h1{grid-column:1/-1;grid-row:1;font-size:clamp(62px,17vw,100px)}.hero h1 span{font-size:80px}.hero-left{font-size:14px}.hero-right{font-size:18px}.section{padding:45px 22px}.weekend-grid,.travel{grid-template-columns:1fr}.weekend>h2{font-size:64px}.sea-art{max-width:420px;margin:0 auto 12px}.sea-art span{font-size:20px}.events article+article{margin-top:38px}.events h3{font-size:43px;margin-bottom:18px}.travel{gap:30px}.travel-copy{font-size:18px}.registry h2{font-size:62px}.registry-grid{margin-top:30px}.registry-grid>div{padding:28px 12px}.registry h3{font-size:26px;min-height:55px}.rsvp-section h2{font-size:60px}.rsvp-buttons{flex-direction:column}.site-footer{padding:25px 22px;flex-direction:column;align-items:flex-start;gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Structure observed in the original Squarespace site. Moret/Montserrat use local fallbacks until webfont files are supplied. */
.site-header{max-width:none;min-height:145px;border-bottom:1px solid #00bf88;justify-content:center;position:relative}.wordmark{display:block}.wordmark img{width:100px;height:100px;object-fit:contain}.site-header nav{position:absolute;right:4%;max-width:45%;flex-wrap:wrap;justify-content:flex-end;gap:16px}.sea-art img{display:block;width:100%;height:auto;max-width:600px;aspect-ratio:1;object-fit:contain}.sea-art{overflow:hidden}.intro-banner{background:#24d2a4;text-align:center}.intro-banner h2,.intro-banner h1{color:#11414e;font-size:clamp(48px,6vw,90px)}.intro-banner p{max-width:950px;margin:28px auto 0;font-size:clamp(20px,2.4vw,32px);color:#11414e}.story>h2{text-align:center;margin-bottom:45px}.story-layout{display:grid;grid-template-columns:1fr 1fr 1fr;gap:35px;align-items:center}.photo-placeholder{background:var(--mint);min-height:320px;border-radius:50% 50% 4px 4px;display:grid;place-items:center;color:var(--ink);font-size:15px}.feature-banner{background:#24d2a4;text-align:center;margin:0;max-width:none}.feature-banner:nth-of-type(even){background:var(--mint)}.feature-banner h2{color:#11414e}.feature-banner p{max-width:850px;margin:28px auto;font-size:24px;color:#11414e}.original-footer{text-align:center;border-top:1px solid #00bf88;max-width:none}.original-footer h2{font-size:clamp(80px,12vw,170px)}.original-footer p{font-family:var(--heading-font-font-family);font-size:32px;line-height:1.2;margin:30px 0}.original-footer .button{min-width:160px}.info-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:65px}.info-layout h2{color:var(--teal);font-size:clamp(52px,6vw,90px)}.info-layout h3{font-size:32px;letter-spacing:0;margin-bottom:20px}.info-layout p+h3{margin-top:45px}.recommendations{display:grid;grid-template-columns:1fr 1fr;gap:50px 35px}.registry h1,.rsvp-section h1{color:var(--emerald);font-size:clamp(65px,9vw,120px);margin-bottom:30px}
@media(max-width:1000px){.site-header{flex-direction:column;gap:15px}.site-header nav{position:static;max-width:none;justify-content:center}.story-layout{gap:20px}.photo-placeholder{min-height:230px}}
@media(max-width:580px){.site-header nav{flex-wrap:wrap;gap:12px;justify-content:center;font-size:13px}.site-header{padding:18px 20px}.wordmark img{width:80px;height:80px}.story-layout,.info-layout{grid-template-columns:1fr}.story-layout p{text-align:center}.story-layout .photo-placeholder:last-child{display:none}.info-layout{gap:35px}.feature-banner p{font-size:20px}.recommendations{gap:35px 20px}.recommendations h3{font-size:25px}.sea-art img{width:100%}.intro-banner h1{font-size:56px}.original-footer p{font-size:28px}}
