:root{--blue:#424b26;--ink:#343b26;--paper:#fcfbf6;--yellow:#f5edc7;--sage:#aebbab;--olive:#7c8057;--line:#d7dbcc;--muted:#626b57;--pale:#e9ede3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 Arial,Helvetica,sans-serif}a{color:inherit}button{font:inherit}a,button,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}a,button,summary{outline-offset:5px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--olive)}[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:15px;padding:12px 20px;background:white;z-index:20}.skip-link:focus{top:10px}.header{max-width:1320px;margin:auto;padding:24px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font:36px/1 Georgia,serif;text-decoration:none;letter-spacing:-2px}.brand>span:first-child{font-style:italic;font-size:32px;margin:0 5px}.brand-dot{display:none}.location,.header-note,.eyebrow{font-size:12px;font-weight:500;letter-spacing:2px}.location span{margin:0 12px;color:var(--olive)}.header-note{letter-spacing:1px}.shell{max-width:1180px;margin:auto;padding:0 36px}.sidebar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:6px 0;margin:0 0 44px}.sidebar>.eyebrow,.sidebar-bottom{display:none}nav{display:flex;justify-content:center;gap:20px}nav a{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 24px;min-height:48px;text-decoration:none;font-size:14px;border-radius:40px;transition:background .2s}nav a span{display:none}nav a:hover{background:var(--pale)}nav a[aria-current=page]{background:var(--pale);color:var(--blue)}main{min-width:0}.page{animation:enter .35s ease both}.eyebrow{margin:0 0 22px;color:var(--olive)}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(48px,5.4vw,76px);line-height:1.12;letter-spacing:-2px;margin:0 0 26px;color:var(--blue)}h1 em{font-weight:400}h1:focus{outline:none}h2{font-size:30px;line-height:1.25;margin:0 0 16px;letter-spacing:-.5px}h3{font-size:28px;line-height:1.2;letter-spacing:-.5px}.intro{font-size:17px;line-height:1.85;max-width:690px;margin:0 0 30px}.hero-grid{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:70px;padding:10px 16px 36px}.hero-copy{text-align:center}.hero-copy h1{font-size:clamp(62px,6.8vw,92px);line-height:1.1;letter-spacing:-3px;white-space:nowrap;margin:0 0 16px}.hero-copy h1 em{color:var(--olive);font-size:.8em}.wedding-subtitle{font:italic 28px/1.4 Georgia;margin:0 0 28px}.hero-copy .intro{max-width:460px;margin:0 auto 28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;border-radius:60px;text-decoration:none;font-size:14px;line-height:1.5;min-height:48px;padding:14px 26px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.blue{background:var(--blue);color:var(--paper)}.blue:hover{background:#586337}.outline{border:1px solid var(--olive)}.outline:hover{background:var(--pale)}.little-note{display:block;font-size:12px;letter-spacing:1px;color:var(--muted);margin-top:25px}.portrait-wrap{position:relative;margin:0 12px 12px 0;border:1px solid var(--sage);padding:10px;border-radius:210px 210px 30px 30px}.portrait{width:100%;height:500px;object-fit:cover;display:block;border-radius:200px 200px 24px 24px}.date-sticker{position:absolute;bottom:20px;right:-25px;background:var(--yellow);width:133px;height:133px;border:6px solid var(--paper);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;transform:rotate(7deg)}.date-sticker span{font-size:10px;letter-spacing:1px}.date-sticker strong{font:36px/1.6 Georgia}.week-grid{display:grid;grid-template-columns:1fr 1.65fr;gap:26px;margin-top:32px}.wedding-card{background:var(--sage);border-radius:100px 100px 24px 24px;padding:38px 32px 30px;text-align:center}.wedding-card .eyebrow{color:var(--ink);font-size:11px}.date-large{display:flex;align-items:center;justify-content:center;gap:22px;margin:20px 0}.date-large strong{font:90px/1 Georgia}.date-large div{font:26px/1.3 Georgia;text-align:left}.venue{border-top:1px solid #424b2640;margin-top:22px;padding-top:22px}.venue h2{margin-bottom:5px}.venue p{margin:0;font-size:16px}.island-card{background:var(--yellow);border-radius:28px;padding:36px}.island-card .eyebrow{color:var(--ink)}.island-card h2{font-size:31px}.island-card p:not(.eyebrow){max-width:520px;margin-bottom:25px}.week-strip{display:flex;justify-content:space-between;gap:6px;margin-top:24px}.week-strip>span{display:flex;align-items:center;flex-direction:column;position:relative;padding:12px 8px;border-radius:28px;font-size:11px;color:var(--muted);min-width:32px}.week-strip b{font:25px Georgia;margin-top:9px;color:var(--ink)}.week-strip .wedding-day{background:var(--paper)}.week-strip i{position:absolute;bottom:-10px;font-size:14px;color:var(--blue)}summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}.more{margin-top:28px;padding:26px 4px;border-bottom:1px solid var(--line)}.more summary{display:flex;align-items:center;justify-content:space-between;gap:18px;font:26px/1.4 Georgia}.more .eyebrow{display:block;font:11px Arial;letter-spacing:2px;margin:0 0 10px}.plus{height:42px;width:42px;flex-shrink:0;border:1px solid var(--sage);border-radius:50%;display:grid;place-items:center;font:24px Arial;transition:transform .2s}details[open]>summary .plus{transform:rotate(45deg)}.more>p{max-width:780px;margin:22px 0 0;color:var(--muted)}.page-heading{text-align:center;margin:20px auto 42px}.page-heading .intro{margin:0 auto}.page-heading h1 br{display:none}.page-heading h1{max-width:900px;margin:0 auto 24px}.travel-layout{display:grid;grid-template-columns:1.7fr 1fr;gap:32px;align-items:start}.travel-item{border:1px solid var(--line);background:#fffefa;border-radius:24px;margin-bottom:16px;overflow:hidden}.travel-item summary{display:flex;align-items:center;gap:20px;padding:22px;min-height:90px}.travel-item summary>span:nth-child(2){flex:1}.travel-no{font:italic 25px Georgia;color:var(--olive);width:34px;flex-shrink:0}.travel-item small{display:block;font-size:11px;letter-spacing:1.5px;color:var(--muted);margin-bottom:4px}.travel-item strong{font:25px Georgia}.travel-body{padding:0 28px 28px 76px}.travel-body p{margin:0 0 20px}.text-link{color:var(--blue);font-size:14px;line-height:1.7;display:inline-block;min-height:44px;padding:8px 0;text-underline-offset:5px;overflow-wrap:anywhere}.travel-note{background:var(--yellow);border-radius:100px 100px 24px 24px;padding:50px 32px 30px;text-align:center}.travel-note h2{font-size:32px;margin-top:30px}.travel-note .eyebrow{color:var(--ink)}.note-bottom{display:block;border-top:1px solid #424b2633;padding-top:20px;margin-top:25px;font:italic 24px Georgia}.area-picker{margin:0 0 45px}.area-buttons{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}.area-buttons button{border:1px solid var(--sage);background:transparent;color:var(--ink);border-radius:30px;min-height:48px;padding:12px 24px;cursor:pointer;font-size:14px}.area-buttons button[aria-selected=true]{background:var(--blue);color:var(--paper);border-color:var(--blue)}.area-panel{background:var(--pale);border-radius:28px;padding:34px 40px;display:flex;align-items:center;gap:35px;min-height:180px}.area-panel p{margin:0;max-width:700px}.area-number{font:italic 64px Georgia;color:var(--olive)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin:36px 0 26px}.section-heading h2{font-size:36px;margin:0}.section-heading .eyebrow{margin-bottom:12px}.section-heading>p{font-size:14px;color:var(--muted);margin:0}.hotels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.hotel{display:flex;flex-direction:column;align-items:start;padding:28px;border:1px solid var(--line);border-radius:28px;background:#fffefa;min-height:345px}.hotel.featured{background:var(--yellow);border-color:var(--yellow)}.hotel-top{display:flex;justify-content:space-between;width:100%;gap:15px}.hotel-number{font:italic 32px Georgia;color:var(--olive)}.badge{font-size:12px;line-height:1.5;max-width:115px;text-align:right}.hotel h3{margin:30px 0 14px}.hotel>p{font-size:16px;margin:0 0 25px}.hotel .button{margin-top:auto}.discount{font-size:14px;width:100%;margin:0 0 24px}.discount summary{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #424b2640;padding:14px 0;min-height:48px}.discount p{margin:0 0 12px}.villas-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:55px;align-items:center;margin-top:22px}.villas-grid .intro{margin-bottom:0}.coast-wrap{position:relative;border:1px solid var(--sage);padding:9px;border-radius:160px 160px 25px 25px}.coast-wrap img{display:block;width:100%;height:350px;object-fit:cover;border-radius:150px 150px 20px 20px}.coast-label{position:absolute;bottom:26px;left:28px;right:28px;background:var(--paper);border-radius:30px;padding:10px;text-align:center;letter-spacing:2px;font-size:12px}.airbnb-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.airbnb-links a{display:flex;flex-direction:column;text-decoration:none;background:var(--pale);border:1px solid transparent;border-radius:70px 70px 22px 22px;padding:30px 22px;text-align:center;transition:background .2s,transform .2s;min-height:210px}.airbnb-links a:hover{background:var(--yellow);transform:translateY(-4px)}.airbnb-links span{font:italic 28px Georgia;color:var(--olive);margin-bottom:28px}.airbnb-links strong{font:25px/1.3 Georgia}.airbnb-links small{font-size:14px;margin-top:14px;color:var(--muted)}.booking-note{display:flex;align-items:center;gap:40px;background:var(--yellow);border-radius:24px;padding:32px 36px;margin-top:30px}.booking-note h2{min-width:190px;margin:0}.booking-note p{margin:0}.page-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:45px;border-top:1px solid var(--line);padding:24px 0 34px}.page-footer a{display:flex;align-items:center;gap:12px;min-height:48px;font-size:14px;text-decoration:none}.page-footer a:hover{text-decoration:underline}.page-footer>span{font-size:12px;color:var(--muted);white-space:nowrap}.next-number{border:1px solid var(--sage);border-radius:50%;padding:9px 13px;font-size:12px}.site-footer{background:var(--pale);text-align:center;display:flex;justify-content:space-between;gap:20px;padding:28px max(5%,24px);font-size:11px;letter-spacing:1.5px;color:var(--muted)}@keyframes enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@media(max-width:1000px){.hero-grid{gap:36px;padding:0}.hero-copy h1{font-size:62px}.portrait{height:435px}.hotels{gap:14px}.hotel{padding:22px}.hotel h3{font-size:25px}.island-card{padding:28px}.week-grid{gap:20px}.island-card h2{font-size:27px}.travel-layout{gap:22px}.travel-note{padding:48px 24px 28px}.villas-grid{gap:30px}.airbnb-links{gap:12px}.airbnb-links a{padding:28px 15px}nav{gap:5px}nav a{padding:12px 18px}}
@media(max-width:700px){body{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.header{padding:22px 6%;gap:10px}.brand{font-size:30px}.brand>span:first-child{font-size:28px}.location{font-size:10px;letter-spacing:1.2px}.location span{margin:0 5px}.header-note{display:none}.shell{padding:0 6%}.sidebar{position:fixed;bottom:0;left:0;right:0;z-index:10;border:0;border-top:1px solid var(--line);background:#fcfbf6fa;backdrop-filter:blur(12px);margin:0;padding:8px 10px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -5px 25px #343b2609}nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}nav a{min-height:62px;padding:8px 3px;border-radius:16px;font-size:13px;line-height:1.35;text-align:center;white-space:normal;flex-direction:column;gap:3px}nav a span{display:block;font:italic 15px Georgia;color:var(--olive)}nav a[aria-current=page]{background:var(--blue);color:white}nav a[aria-current=page] span{color:var(--yellow)}.hero-grid{display:flex;flex-direction:column;gap:32px;padding:22px 0 0}.hero-copy{width:100%}.eyebrow{font-size:11px;letter-spacing:1.7px;margin-bottom:18px}.hero-copy h1{font-size:clamp(48px,12vw,72px);letter-spacing:-2px;white-space:normal}.wedding-subtitle{font-size:25px;margin-bottom:22px}.hero-copy .intro{font-size:16px;line-height:1.8;margin-bottom:24px}.hero-copy .button{min-width:210px}.little-note{margin-top:22px;font-size:12px}.portrait-wrap{width:min(100%,400px);margin:0 auto;padding:8px}.portrait{height:auto;aspect-ratio:4/5;object-position:center;border-radius:180px 180px 20px 20px}.date-sticker{right:-6px;bottom:16px;width:116px;height:116px;border-width:5px}.date-sticker strong{font-size:31px}.date-sticker span{font-size:9px}.week-grid{grid-template-columns:1fr;gap:22px;margin-top:38px}.wedding-card{padding:35px 24px 28px;border-radius:90px 90px 24px 24px}.date-large{margin:18px 0}.date-large strong{font-size:84px}.venue{padding-top:18px;margin-top:20px}.venue h2{font-size:28px}.island-card{padding:28px 20px;border-radius:24px}.island-card h2{font-size:28px}.island-card p:not(.eyebrow){font-size:16px}.week-strip{gap:1px;flex-wrap:wrap}.week-strip>span{flex:1;font-size:10px;padding:12px 2px;min-width:26px}.week-strip b{font-size:21px}.more{padding:22px 0}.more summary{font-size:24px;gap:12px}.more>p{font-size:16px}.plus{width:40px;height:40px}.page-heading{margin:24px auto 28px}.page-heading h1{font-size:46px;letter-spacing:-1px;margin-bottom:22px}.page-heading h1 br{display:initial}.intro{font-size:16px;line-height:1.8}.travel-layout{display:block}.travel-item summary{padding:20px 18px;gap:12px}.travel-item strong{font-size:24px}.travel-no{width:27px;font-size:23px}.travel-item small{font-size:10px}.travel-body{padding:0 22px 24px}.travel-body p{font-size:16px}.travel-note{margin-top:30px;border-radius:80px 80px 24px 24px;padding:40px 28px 28px}.travel-note h2{margin-top:20px}.text-link{font-size:15px}.area-buttons{display:grid;grid-template-columns:1fr;gap:9px}.area-buttons button{font-size:16px;width:100%;padding:12px 18px}.area-panel{padding:25px 22px;gap:18px;align-items:start;min-height:0}.area-panel h2{font-size:27px}.area-panel p{font-size:16px}.area-number{font-size:36px;line-height:1.2}.section-heading{display:block;margin:30px 0 24px}.section-heading h2{font-size:32px}.section-heading>p{font-size:15px;margin-top:14px}.section-heading>p br{display:none}.hotels{grid-template-columns:1fr;gap:20px}.hotel{padding:28px;min-height:0}.hotel h3{font-size:30px;margin-top:24px}.hotel h3 br{display:none}.hotel>p{font-size:16px;margin-bottom:20px}.hotel .button{width:100%;font-size:16px}.badge{max-width:145px;font-size:13px}.discount{font-size:16px;margin-bottom:22px}.villas-grid{display:block;margin-top:24px;text-align:center}.villas-grid h1{font-size:48px;letter-spacing:-1px}.coast-wrap{margin-top:30px}.coast-wrap img{height:300px}.airbnb-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.airbnb-links a{padding:26px 12px;min-height:195px;border-radius:60px 60px 20px 20px}.airbnb-links strong{font-size:24px}.airbnb-links small{font-size:14px}.airbnb-links span{margin-bottom:22px}.booking-note{display:block;padding:28px;margin-top:24px}.booking-note h2{font-size:28px;margin-bottom:16px;min-width:0}.booking-note p{font-size:16px}.page-footer{gap:10px;margin-top:32px;padding-bottom:25px;align-items:center}.page-footer a{font-size:14px;max-width:42%;line-height:1.5}.page-footer #next{text-align:right;justify-content:flex-end}.next-number{display:none}.site-footer{display:flex;flex-direction:column;gap:8px;padding:24px 20px;font-size:10px}.button:hover,.airbnb-links a:hover{transform:none}}
@media(max-width:359px){.shell{padding:0 5%}.location{font-size:9px}.hero-copy h1{font-size:47px}.week-strip>span{min-width:24px}.page-heading h1{font-size:42px}nav a{font-size:12px}.area-panel{gap:12px}.airbnb-links strong{font-size:21px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Headings wrap naturally, with word spacing preserved at all widths. */
.page-heading h1{font-size:clamp(42px,4.8vw,64px);line-height:1.18;letter-spacing:-1.2px;text-wrap:balance;overflow-wrap:normal}.page-heading h1 em{white-space:nowrap}
@media(max-width:700px){.page-heading h1{font-size:clamp(38px,9vw,46px);letter-spacing:-.7px;line-height:1.2}}
