/* An underwater chapter: original diving photography, reef lines and moving light. */
:root{--ivory:#f3f4eb;--paper:#dceae3;--wine:#07535c;--deep:#042e39;--gold:#ca876f;--ink:#124c53;--muted:#507477}
body{background:#f3f4eb}button:focus-visible,a:focus-visible{outline-color:#df997f}
.cover{background:#063d4c;color:#f7f6ee}.cover-panel,.right-panel{background:#063d4c;border:0}.cover-panel .cover-photo{opacity:1;object-position:50% 53%}.cover-panel:after{background:linear-gradient(180deg,#022d44b8 0%,#03374430 34%,transparent 55%,#022e35c9 100%)}
.cover-content{height:100%;width:100%;max-height:1100px;padding:8vh 28px 7vh;justify-content:flex-start}.cover-top{color:#d7f4ee;font-size:10px;letter-spacing:.3em;margin-bottom:20px}.cover h1{font-size:clamp(48px,6vw,88px);text-shadow:0 3px 35px #01344266}.cover h1 i{color:#d8ebe0}.seal{width:54px;height:54px;padding:8px;margin:22px 0 16px;box-shadow:0 0 0 5px #f3f4eb0d,0 0 0 6px #f3f4eb44}.cover-date{color:#e9f6ee;font-size:9px}.guest{margin-top:auto;gap:3px}.guest span{color:#e3f2e8;font-size:9px;letter-spacing:.2em}.guest strong{font-size:26px}.open-btn{border-color:#c8e3d899;background:#083f4b88;color:#f4f6ec;padding:13px 24px;margin-top:18px;backdrop-filter:blur(12px)}.open-btn:hover{background:#116373bd}.cover-foot{color:#e0eae1;margin-top:20px;font-size:7px}.cover-frame{border-color:#d8f5e73b;inset:20px}.cover-frame:before{border-color:#d8f5e71a}.preview-pill{bottom:27px;right:35px;font-size:6px;color:#d5ede4;letter-spacing:.13em}.cover-grain{opacity:.035}
.ocean-light{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0;background:conic-gradient(from 148deg at 70% -25%,transparent 0deg,#c3ffef24 5deg,transparent 11deg,#cbfff30c 17deg,transparent 25deg,#bffff81c 29deg,transparent 36deg);mix-blend-mode:screen;animation:water-light 13s ease-in-out infinite alternate;transform-origin:70% 0}.ocean-bubbles{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}.ocean-bubbles i{position:absolute;bottom:-25px;left:9%;width:7px;height:7px;border:1px solid #dbfff342;border-radius:50%;animation:rise 18s linear infinite}.ocean-bubbles i:nth-child(2){left:84%;width:11px;height:11px;animation-delay:-6s;animation-duration:22s}.ocean-bubbles i:nth-child(3){left:22%;width:4px;height:4px;animation-delay:-12s;animation-duration:25s}.ocean-bubbles i:nth-child(4){left:73%;width:5px;height:5px;animation-delay:-4s;animation-duration:19s}.ocean-bubbles i:nth-child(5){left:92%;width:4px;height:4px;animation-delay:-9s;animation-duration:23s}@keyframes rise{to{transform:translate(20px,-105vh);opacity:0}}@keyframes water-light{to{transform:rotate(-9deg) scale(1.08);opacity:.55}}.cover.opening .ocean-light,.cover.opening .ocean-bubbles{opacity:0;transition:opacity .5s}
.masthead{background:#073f49;color:#ebf5ed;border-bottom:1px solid #b2e6d82b;max-width:none;height:82px}.brand i{color:#e4a58d}.hero{max-width:none;min-height:730px;padding:85px 8% 90px;background:radial-gradient(ellipse at 72% 20%,#147481 0,transparent 65%),#073f49;color:#edf6ed;gap:7%;isolation:isolate;overflow:hidden}.hero-copy,.hero-art,.hero-bottom{z-index:2}.hero h2{color:#f0f5e9;font-size:clamp(70px,6.6vw,105px)}.hero h2 i{color:#a6dfd4}.hero .eyebrow{color:#b8e8df}.hero-caption{color:#d1e5df;font-size:12px}.hero-names em{color:#e1a087}.hero .text-link{border-color:#9ad5ca80}.hero-bottom{color:#c6dfd6}.hero-art{max-width:650px;padding:0 0 32px}.hero-arch{height:auto;aspect-ratio:1.08;border-radius:48% 48% 3px 3px;background:#116b80;box-shadow:0 30px 60px #01293355}.hero-photo{object-position:center}.arch-outline{inset:-12px -12px 20px;border-color:#a1e2d75c;border-radius:48% 48% 0 0;transform:rotate(3deg)}.hero-photo-shade{background:linear-gradient(0deg,#023b4a7f,transparent 35%)}.hero-arch .arch-word{font-size:37px;bottom:24px}.art-caption{left:0;color:#bce1d9}.edition{right:-28px;color:#bfdfd5}.hero .ocean-light{opacity:.5}.intro,footer{position:relative;overflow:hidden}.intro{background:radial-gradient(ellipse at 0 100%,#cce9e3,transparent 60%),#f3f4eb;border:0}.coral-ornament{position:absolute;width:240px;left:-45px;bottom:-35px;opacity:.46;pointer-events:none;transform:rotate(8deg)}.intro-body{position:relative;z-index:1}.intro h2{font-size:clamp(47px,5.6vw,80px)}.intro p{font-size:12px}.small-star{color:#c7836d}.intro .section-num,.section-num{color:#986651}.celebration{background:radial-gradient(ellipse at 0 10%,#116774,transparent 60%),#053c48}.celebration>.coral-ornament{left:auto;right:-95px;bottom:5px;width:370px;opacity:.18;transform:rotate(-20deg)}.celebration>*:not(.coral-ornament){position:relative;z-index:1}.celebration .section-num{color:#b9ded6}.section-heading h2 i{color:#a4dfd1}.section-heading p{color:#c3ded8}.city-tabs{border-color:#afe1d442}.city-tabs button{color:#a2c9c4}.city-tabs button span{color:#e5ad98}.city-tabs button[aria-selected=true]{border-color:#e6a68c;background:#bce5da08}.date-block{border-color:#afdcd12e}.date-block>span:first-child,.date-block i,.date-ornament,.event-copy .eyebrow{color:#dfac96}.event-copy p{color:#ccdfda}.event-copy .schedule-note{color:#e2e9dc}.solid-btn{background:#dda48b;color:#073f49}.solid-btn:hover{background:#eac2ac}.outline-btn{border-color:#a1cebd66;color:#ddede3}.countdown{border-color:#a5d2c13b}.countdown span{color:#b4d9d0}.countdown>i{color:#d39c83}.countdown-note{color:#d3e8dc}.countdown-note small{color:#b6cfc8}.moments{background:#edf3ec}.gallery-hint{color:#956450}.gallery-photo{background:#2b7580}.gallery-photo:after{background:linear-gradient(180deg,transparent 55%,#032f3cb3)}.gallery-photo.sea-wide{aspect-ratio:1.02;margin-top:110px}.gallery-photo.landscape{aspect-ratio:1.8}.gallery-photo:nth-child(5),.gallery-photo:nth-child(7){margin-top:0}.gallery-photo:nth-child(4){margin-top:24px}.gallery-photo:nth-child(5){margin-top:95px}.gallery-photo:nth-child(8){margin-top:65px}.gallery-caption>span{font-size:32px}.gallery-caption small{color:#e6eee2}.gallery-photo.underwater-photo .gallery-caption>span{font-style:italic}.gallery-photo:nth-child(3){margin-top:6px}.gallery{gap:30px}.expand-icon{background:#063d4966;border-color:#c6e4d97a}footer{background:radial-gradient(ellipse at 100% 100%,#cce5dc,transparent 65%),#f3f4eb}footer .coral-ornament{left:auto;right:-55px;transform:rotate(-15deg);width:280px;opacity:.35}.footer-logo{mix-blend-mode:multiply}.footer-date{color:#936855}.bottom-nav{background:#f0f7eeed;border-color:#85b5a770}.bottom-nav a{color:#527b75}.bottom-nav a.active{color:#034d55}.experience-controls button{background:#edf6edeb;border-color:#8dbcb280;color:#074d57}.reading-progress{background:#dc9c82}.experience-controls button[aria-pressed=true]{box-shadow:inset 0 0 0 2px #4f91894d}#photo-dialog,#photo-dialog::backdrop{background:#042b36}.lightbox-stage button{border-color:#a3d5c857}.lightbox-hint{color:#aecfc5}
@media(min-width:1500px){.hero{padding-left:max(8%,calc((100vw - 1220px)/2));padding-right:max(8%,calc((100vw - 1220px)/2))}}
@media(max-width:900px){.hero{min-height:620px;gap:6%;padding:65px 7% 85px}.hero h2{font-size:70px}.hero-arch{aspect-ratio:.87}.hero .edition{right:-20px}.hero-arch .arch-word{font-size:30px}}
@media(max-width:620px){.cover-panel .cover-photo{object-position:50% 53%}.cover-content{padding:10vh 24px 8vh}.cover-top{font-size:8px;margin-bottom:17px;letter-spacing:.21em}.cover h1{font-size:clamp(39px,11vw,66px);white-space:nowrap}.seal{width:45px;height:45px;margin:18px 0 12px;padding:7px}.cover-date{font-size:8px;letter-spacing:.27em}.guest strong{font-size:25px}.guest span{font-size:8px}.open-btn{font-size:8px;padding:12px 20px;min-width:225px;min-height:49px;margin-top:15px}.cover-foot{font-size:6px;letter-spacing:.16em;margin-top:15px}.preview-pill{bottom:25px;right:auto;font-size:5px}.cover-frame{inset:13px}.masthead{height:70px}.hero{padding:48px 9% 70px;gap:42px;min-height:0}.hero h2{font-size:72px;margin:20px 0}.hero-names{font-size:27px}.hero-caption{font-size:12px;max-width:285px;margin:17px auto 24px}.hero-art{max-width:370px}.hero-arch{aspect-ratio:1.02;height:auto}.hero-arch .arch-word{font-size:31px;bottom:18px}.hero-bottom{font-size:6px}.hero .art-caption{font-size:6px;letter-spacing:.14em}.hero .edition{font-size:5px;right:-18px}.intro .coral-ornament{width:170px;opacity:.26;left:-70px}.intro h2{font-size:47px}.intro p{font-size:12px}.celebration>.coral-ornament{width:280px;right:-140px;opacity:.16}.gallery{gap:17px;grid-template-columns:1fr 1fr}.gallery-photo.underwater-photo{grid-column:1/-1;aspect-ratio:1.35;margin-top:0}.gallery-photo.underwater-photo:first-child{aspect-ratio:.78}.gallery-photo.underwater-photo:first-child img{object-position:50% 56%}.gallery-photo.landscape{aspect-ratio:1.45}.gallery-caption>span{font-size:21px}.gallery-photo.underwater-photo .gallery-caption{bottom:22px;left:21px}.gallery-photo.underwater-photo .gallery-caption>span{font-size:31px}.gallery-photo.underwater-photo .gallery-caption small{font-size:7px;letter-spacing:.17em}.gallery-photo:nth-child(4){margin-top:18px}.gallery-photo:nth-child(5){margin-top:58px}.gallery-photo:nth-child(8){margin-top:30px}.moments-heading p{max-width:290px}footer h2{font-size:62px}footer .coral-ornament{width:190px;right:-95px;opacity:.3}.bottom-nav{left:44%;bottom:17px}.bottom-nav a{width:46px}.experience-controls{right:13px;bottom:18px}.experience-controls button{width:44px;height:44px}.experience-controls{gap:7px}body.covered .experience-controls{top:19px;right:20px}.experience-controls button{font-size:14px}}
@media(max-height:680px) and (max-width:620px){.cover-content{padding-top:9vh;padding-bottom:8vh}.cover-top{margin-bottom:12px;font-size:7px}.seal{width:37px;height:37px;margin:12px 0 9px}.cover-foot{display:none}.cover h1{font-size:39px}.guest strong{font-size:22px}}
@media(prefers-reduced-motion:reduce){.ocean-light,.ocean-bubbles i{animation:none!important}.ocean-bubbles{display:none}}
body.no-motion .ocean-bubbles{display:none}body.photos-paused .ocean-light,body.photos-paused .ocean-bubbles i{animation-play-state:paused}
/* One continuous ocean photograph avoids a seam during slow camera movement. */
.cover .left-panel{inset:0;transition:transform 1.4s ease,opacity 1.2s ease}.cover .right-panel{display:none}.cover .left-panel .cover-photo{width:100%}.cover.opening .left-panel{transform:scale(1.12);opacity:0}
