:root{--cream:#f8f4eb;--ink:#35433d;--gold:#9b8050;--muted:#6e766b;--line:#cfc7b5;--paper:url('ivory-paper.svg')}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px;background-image:var(--paper)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button{border:0;background:none}a{color:var(--ink)}[hidden]{display:none!important}.kicker{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}header{height:83px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;border-bottom:1px solid var(--line);background:#f8f4ebf0;position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.brand{font:35px 'Cormorant Garamond',serif;letter-spacing:.12em}.brand i{font-size:26px;color:var(--gold)}.header-date{font-size:9px;letter-spacing:.18em}.menu-button{font-size:11px;display:flex;gap:17px;align-items:center}.menu-button span{font-size:22px}.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:calc(100svh - 83px);max-height:1000px}.portrait{position:relative;overflow:hidden;min-height:600px}.portrait>img{height:100%;width:100%;position:absolute;object-fit:cover;object-position:50% 40%;animation:portrait-drift 22s ease-in-out infinite alternate;filter:saturate(.85)}.portrait-shade{position:absolute;inset:0;background:linear-gradient(transparent 55%,#1e312766)}.photo-caption{position:absolute;bottom:33px;left:9%;color:#fff9ee;font:italic 28px/1.3 'Cormorant Garamond',serif}.hero-copy{position:relative;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:70px 30px;overflow:hidden;background-image:linear-gradient(#f8f4ebed,#f8f4ebeb),url('coastal-watercolor.webp');background-size:cover}.hero-copy:after{content:'';position:absolute;inset:20px;border:1px solid #bfae8b55;pointer-events:none}.hero-copy h1{font:400 clamp(78px,8vw,126px)/.94 'Cormorant Garamond',serif;margin:36px 0 28px;letter-spacing:-.055em}.hero-copy h1 em{display:inline-block;font:48px 'Great Vibes',cursive;color:var(--gold);margin:12px 0;letter-spacing:0}.hairline{height:1px;width:45px;background:var(--gold);margin:0 0 25px}.hero-date{font-size:10px;letter-spacing:.22em;margin:0 0 12px}.hero-place{font:italic 23px 'Cormorant Garamond',serif;margin:0}.welcome{font-size:12px;line-height:1.9;color:var(--muted);margin:30px 0}.explore{font-size:10px;letter-spacing:.1em;border-bottom:1px solid var(--gold);padding:12px 0;display:flex;gap:23px}.shoreline{height:100px;margin-top:-1px;overflow:hidden;background:#e5ebe2}.shoreline svg{height:100%;width:100%;overflow:visible}.wave{fill:#d4e2d9;animation:tide 15s ease-in-out infinite alternate}.wave-two{fill:#e6eee6;animation-duration:19s;animation-direction:alternate-reverse}.wave-three{fill:#f8f4eb;animation-duration:23s}@keyframes tide{from{transform:translateX(-180px)}to{transform:translateX(180px)}}@keyframes portrait-drift{from{transform:scale(1)}to{transform:scale(1.055)}}.chapters{max-width:1200px;margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:12%;padding:80px 7% 100px;scroll-margin-top:95px}.chapters-intro h2{font:46px/1.1 'Cormorant Garamond',serif;font-weight:400;margin:25px 0}.chapters-intro h2 em{font-weight:400;color:var(--gold)}.chapters-intro p{font-size:12px;line-height:1.8;color:var(--muted)}.countdown{font:italic 23px 'Cormorant Garamond',serif;color:var(--gold);margin-top:35px}.chapter{display:flex;width:100%;text-align:left;gap:22px;align-items:center;padding:24px 0;border-top:1px solid var(--line);transition:padding .3s,background .3s}.chapter:last-child{border-bottom:1px solid var(--line)}.chapter:hover{padding-left:12px;background:#e9e4d84d}.chapter-num{font:italic 18px 'Cormorant Garamond',serif;color:var(--gold)}.chapter>span:nth-child(2){flex:1}.chapter strong{font:29px 'Cormorant Garamond',serif;font-weight:400;display:block}.chapter small{font-size:10px;color:var(--muted);display:block;margin-top:8px}.chapter>span:last-child{font-size:23px;color:var(--gold)}.closing{text-align:center;background:#e4e9df;padding:60px 20px}.closing img{opacity:.8}.closing p{font:28px 'Cormorant Garamond',serif}.closing>span{font:43px 'Great Vibes',cursive;color:var(--gold)}footer{text-align:center;padding:45px 20px;display:flex;align-items:center;flex-direction:column;gap:15px}footer>span{font-size:8px;letter-spacing:.25em;color:var(--gold)}footer button{font:29px 'Cormorant Garamond',serif}footer small{font-size:9px;color:var(--muted)}.detail-toolbar{display:flex;justify-content:space-between;padding:20px 7%;border-bottom:1px solid var(--line);gap:15px}.detail-toolbar button{font-size:11px}.detail-label{font:italic 18px 'Cormorant Garamond',serif;color:var(--gold)}.detail-masthead{text-align:center;padding:50px 20px 5px}.detail-masthead p{font:38px/1.2 'Cormorant Garamond',serif}.detail-masthead em{color:var(--gold)}section{max-width:1150px;margin:auto;padding:45px 7% 65px;animation:appear .65s both}h2{font:400 48px/1.1 'Cormorant Garamond',serif;margin:0 0 22px}h3{font:400 34px/1.12 'Cormorant Garamond',serif;margin:0 0 20px}p{line-height:1.9}section p,li{font-size:13px}strong{font-weight:500}.intro{text-align:center;max-width:690px;margin:0 auto 40px}.intro .eyebrow,.eyebrow{font-size:9px;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;margin-bottom:18px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.event{border-top:1px solid var(--gold);padding-top:24px}.number{font:italic 25px 'Cormorant Garamond',serif;color:var(--gold);display:block;margin-bottom:20px}.meta{font-size:10px;letter-spacing:.04em;color:var(--gold);min-height:40px}.note{color:var(--muted);font-size:11px!important}.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:8%}.travel-card{background:#eeeade;padding:30px}.travel-card li{padding:13px 0;line-height:1.8}.travel-card ul{padding-left:18px}.invitation-action,.button,.link{display:inline-flex;gap:15px;padding:12px 0;border-bottom:1px solid var(--gold);text-decoration:none;font:italic 20px 'Cormorant Garamond',serif;align-items:center}.action-arrow svg{width:26px;height:16px;fill:none;stroke:var(--gold)}.hotel-links{display:flex;justify-content:center;gap:30px;flex-wrap:wrap}.included{padding-top:45px;margin-top:45px;border-top:1px solid var(--line)}.included-list{columns:2;column-gap:45px;padding-left:20px}.included-list li{padding:7px 0;line-height:1.75;break-inside:avoid}.included-list li::marker{color:var(--gold)}.services{display:grid;grid-template-columns:1fr 1fr;gap:45px}.service{padding-top:25px;border-top:1px solid var(--gold)}.faq{max-width:750px;margin:auto}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font:22px 'Cormorant Garamond',serif}details p{color:var(--muted);margin-bottom:0}.entrance{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;flex-direction:column;overflow:hidden;background:#e4e9df;transition:opacity .8s,visibility .8s}.door{position:absolute;inset:0 50% 0 0;background-color:#faf6ec;background-image:var(--paper);border-right:1px solid #cdbb9655;transition:transform 1.7s cubic-bezier(.65,0,.25,1) .3s;box-shadow:4px 0 30px #64533518}.door-right{inset:0 0 0 50%;border-left:1px solid #cdbb9655;border-right:0}.door:after{content:'';position:absolute;inset:20px;border:1px solid #bfae8b66}.entrance-copy{position:relative;text-align:center;margin-top:-110px;transition:opacity .6s,transform .8s}.entrance-copy h1{font:400 clamp(70px,9vw,125px)/.86 'Cormorant Garamond',serif;margin:28px 0 35px}.entrance-copy h1 em{font:clamp(87px,10vw,142px)/1 'Great Vibes',cursive;color:var(--gold)}.entrance-date{font-size:9px;letter-spacing:.16em}.seal{position:relative;width:115px;height:115px;background:url('champagne-gold-seal.webp') center/contain no-repeat;margin:30px 0 0;transition:transform .65s,opacity .65s;filter:drop-shadow(0 5px 7px #70582a22)}.seal span{font:italic 29px 'Cormorant Garamond',serif;color:#917342}.seal:hover{transform:scale(1.06)}.tap{position:relative;font-size:8px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-top:22px;transition:opacity .5s}.entrance.opening .door-left{transform:translateX(-103%)}.entrance.opening .door-right{transform:translateX(103%)}.entrance.opening .entrance-copy{opacity:0;transform:translateY(-30px)}.entrance.opening .seal{opacity:0;transform:scale(.75) rotate(-12deg)}.entrance.opening .tap{opacity:0}.entrance.finished{opacity:0;visibility:hidden;pointer-events:none}.entered .hero-copy>*{animation:appear 1.1s .1s backwards}.entered .hero-copy h1{animation-delay:.25s}.entered .hero-copy .welcome{animation-delay:.4s}@keyframes appear{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:760px){header{height:65px;padding:0 6%}.brand{font-size:29px}.header-date{display:none}.menu-button{font-size:10px}.hero{display:flex;flex-direction:column;max-height:none;min-height:0}.portrait{min-height:0;height:72svh;max-height:680px;order:0}.portrait>img{object-position:50% 43%}.photo-caption{font-size:26px;bottom:18px}.hero-copy{padding:55px 25px 65px;order:1}.hero-copy h1{font-size:91px;margin-top:25px}.hero-copy h1 em{font-size:44px;margin:5px 0}.hero-copy:after{inset:14px}.hero-place{font-size:22px}.shoreline{height:75px}.chapters{grid-template-columns:1fr;padding:40px 8% 60px;gap:35px;scroll-margin-top:80px}.chapters-intro{text-align:center}.chapters-intro h2{font-size:43px;margin:20px 0}.countdown{margin-top:22px}.chapter{padding:23px 0;gap:15px}.chapter strong{font-size:28px}.chapter small{font-size:10px}.closing{padding:45px 20px}.closing p{font-size:25px}.detail-toolbar{padding:17px 6%;align-items:center}.detail-label{font-size:15px}.detail-masthead{padding-top:35px}.detail-masthead p{font-size:31px}section{padding:30px 8% 50px}h2{font-size:43px}h3{font-size:32px}.grid,.split,.services{grid-template-columns:1fr;gap:30px}.event{padding-top:22px}.meta{min-height:0;margin-bottom:18px}.included-list{columns:1}.travel-card{padding:25px 20px}.hotel-links{gap:14px}.hotel-links .invitation-action{font-size:19px}.entrance-copy{margin-top:-70px}.entrance-copy h1{font-size:85px}.entrance-copy h1 em{font-size:101px}.entrance-date{font-size:8px}.seal{width:105px;height:105px}.entrance-copy .kicker{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.portrait>img{transform:none}}

/* Ocean invitation entrance with a gold wax seal. */
.entrance{background:#d6e6e0;gap:0}
.ocean-scene{position:absolute;inset:0;overflow:hidden;transition:transform 2s ease,opacity 1.2s .5s}
.ocean-water,.ocean-wash{position:absolute;inset:-7%;background:url('coastal-watercolor.webp') center/cover no-repeat;animation:ocean-breathe 18s ease-in-out infinite alternate}
.ocean-water{filter:saturate(1.1) contrast(1.035)}
.ocean-wash{opacity:.26;mix-blend-mode:screen;animation:surf-wash 8s ease-in-out infinite alternate;background-position:48% 53%;filter:brightness(1.18)}
.ocean-light{position:absolute;inset:0;background:linear-gradient(120deg,#e8eee615,transparent 40%,#f8ecd230);animation:sunlight 10s ease-in-out infinite alternate}
.entrance-copy{margin-top:0;background:#fbf8efeF;background-image:var(--paper);width:min(440px,81vw);padding:47px 35px 76px;box-shadow:0 18px 65px #37544b25;outline:1px solid #bfae8b80;outline-offset:-13px;animation:invitation-float 7s ease-in-out infinite alternate;transition:transform 1.4s cubic-bezier(.2,.7,.25,1),opacity .8s .3s}
.entrance-copy h1{font-size:77px;line-height:.9;margin:30px 0 27px}.entrance-copy h1 em{font-size:101px;line-height:1.05}.entrance-date{display:block;max-width:270px;margin:auto;font-size:8px;line-height:1.9;letter-spacing:.14em}
.entrance .seal{margin-top:-56px;width:112px;height:112px;z-index:2}.entrance .tap{color:#40584c;background:#faf7efc9;padding:9px 14px;border-radius:2px;margin-top:22px;font-size:8px;letter-spacing:.13em}
.entrance.opening .entrance-copy{animation:none;opacity:0;transform:translateY(-45px) scale(1.16)}.entrance.opening .seal{transform:scale(.65) rotate(-16deg)}.entrance.opening .ocean-scene{transform:scale(1.12);opacity:0}
@keyframes ocean-breathe{from{transform:scale(1.02) translate(-1%,-1%)}to{transform:scale(1.12) translate(1%,1%)}}
@keyframes surf-wash{from{transform:translate(-1%,-2%) scale(1.035);opacity:.12}to{transform:translate(2%,2%) scale(1.085);opacity:.37}}
@keyframes sunlight{from{opacity:.4}to{opacity:.9}}
@keyframes invitation-float{from{transform:translateY(0)}to{transform:translateY(-5px)}}
@media(max-width:760px){.entrance-copy{padding:42px 22px 72px;width:min(380px,82vw)}.entrance-copy h1{font-size:69px;margin:28px 0 25px}.entrance-copy h1 em{font-size:92px}.entrance-copy .kicker{font-size:7px}.entrance .seal{width:102px;height:102px;margin-top:-51px}.entrance-date{font-size:7px}.entrance .tap{max-width:85vw;font-size:7px}}
@media(prefers-reduced-motion:reduce){.ocean-water,.ocean-wash,.ocean-light,.entrance-copy{animation:none!important}}

.ocean-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.86) brightness(1.1)}
.ocean-scene{background:#87b0a9 url('ocean-poster.jpg') center/cover no-repeat}.ocean-light{background:linear-gradient(120deg,#fff7e519,transparent 50%,#f7ead520);animation:none}
.wave-control{position:absolute;bottom:22px;left:24px;background:#fbf8efdf;border:1px solid #c7b992;color:#40584c;font-size:9px;letter-spacing:.06em;padding:10px 13px;z-index:3;transition:opacity .3s}.entrance.opening .wave-control{opacity:0;pointer-events:none}

/* Animated stationery collage. */
.chapters{display:block;max-width:1120px;padding:65px 8% 90px;position:relative}.chapters-intro{max-width:550px;margin:0 auto 55px;text-align:center}.chapters-intro h2{font-size:50px}.countdown{margin-top:20px}
.paper-board{display:grid;grid-template-columns:1fr 1fr;gap:32px 28px;max-width:760px;margin:auto;padding:10px 20px 25px;position:relative;isolation:isolate}
.paper-board:before{content:'';position:absolute;inset:45px -65px;background:url('coastal-botanical-detail.webp') center/contain no-repeat;opacity:.19;z-index:-1;pointer-events:none}
.chapter.paper-card{--paper-angle:-3deg;--entry-x:-60px;--entry-y:70px;position:relative;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;gap:0;width:100%;padding:20px 20px 28px;text-align:center;border:1px solid #c9bea760;background:#fffdf6;background-image:var(--paper);box-shadow:1px 3px 3px #65573910,7px 15px 32px #6557391c;transform:rotate(var(--paper-angle));transition:transform .4s ease,box-shadow .4s ease;min-height:335px;z-index:1}
.chapter.paper-card:before{content:'';position:absolute;inset:10px;border:1px solid #cdbb9455;pointer-events:none}.chapter.paper-card:after{content:'';position:absolute;top:-12px;left:calc(50% - 40px);height:26px;width:80px;background:#e9d8b574;border:1px solid #c9b48822;transform:rotate(-6deg);box-shadow:0 1px 2px #67522a08;pointer-events:none}
.paper-card .chapter-num{position:absolute;top:20px;left:20px;font-size:15px;z-index:2;color:#897650;background:#fffdf6b3;padding:3px 6px}.paper-photo{display:block;width:100%;height:225px;overflow:hidden;margin-bottom:18px;background:#e1e5db}.paper-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 37%;filter:saturate(.84);transition:transform .8s}.paper-card:hover .paper-photo img{transform:scale(1.035)}
.paper-caption{font:italic 16px/1.5 'Cormorant Garamond',serif;color:var(--gold);display:block;margin:0 0 10px}.paper-copy{display:block;width:100%;flex:1!important}.paper-card strong{font:400 36px/1.02 'Cormorant Garamond',serif;display:block;color:var(--ink)}.paper-card small{font-size:10px;line-height:1.6;margin:12px auto 0;max-width:240px}.paper-card .paper-open{font-size:8px!important;font-family:'DM Sans',sans-serif;letter-spacing:.09em;color:var(--gold);display:flex;gap:15px;align-items:center;margin-top:22px}.paper-open>span{font-size:21px}
.paper-icon{height:74px;width:74px;object-fit:contain;margin:38px 0 24px;opacity:.9}.chapter.paper-02{--paper-angle:4deg;--entry-x:60px;--entry-y:90px;margin-top:50px;align-self:start;background-color:#f4efdf;padding:24px 24px 30px;min-height:370px}.paper-02:after{display:none}.paper-02:before{inset:12px;border-color:#b6a27480}.paper-02 strong{font-size:40px}.chapter.paper-03{--paper-angle:2deg;--entry-x:-70px;--entry-y:80px;margin-top:-15px;background-color:#f9fcf6}.paper-03 .sea-photo{height:170px}.paper-03 .paper-caption{font-size:15px}.chapter.paper-04{--paper-angle:-4deg;--entry-x:65px;--entry-y:80px;margin-top:20px;min-height:350px;background-image:linear-gradient(#faf7eeda,#faf7eef0),url('coastal-botanical-detail.webp');background-size:auto,cover;background-position:center}.paper-04 strong{font-size:39px}.paper-04 .paper-icon{margin-top:32px}.chapter.paper-05{--paper-angle:-1deg;--entry-x:0px;--entry-y:80px;grid-column:1/-1;min-height:0;width:86%;justify-self:center;margin-top:5px;padding:25px 25px 30px;background-color:#e9eddf}.paper-05 .paper-icon{width:46px;height:46px;margin:8px 0 14px}.paper-05 .paper-caption{font-size:15px}.paper-05 strong{font-size:37px}.paper-05 small{max-width:none}.paper-05 .paper-open{margin-top:16px}.chapter.paper-card:hover,.chapter.paper-card:focus-visible{transform:translateY(-7px) rotate(0deg);box-shadow:3px 18px 35px #6557392a;z-index:3;padding-left:20px}.chapter.paper-02:hover,.chapter.paper-02:focus-visible{padding-left:24px}.chapter.paper-05:hover,.chapter.paper-05:focus-visible{padding-left:25px}
.papers-pending .paper-card{opacity:0}.papers-ready .paper-card{animation:paper-unfold 1.25s cubic-bezier(.2,.7,.25,1) both;animation-delay:var(--paper-delay,0s)}.paper-02{--paper-delay:.13s}.paper-03{--paper-delay:.26s}.paper-04{--paper-delay:.39s}.paper-05{--paper-delay:.52s}
@keyframes paper-unfold{from{opacity:0;transform:translate(var(--entry-x),var(--entry-y)) rotate(0deg) scale(.93)}to{opacity:1;transform:translate(0,0) rotate(var(--paper-angle)) scale(1)}}
@media(max-width:760px){.chapters{padding:40px 5% 65px;overflow:hidden}.chapters-intro{padding:0 6%;margin-bottom:30px}.chapters-intro h2{font-size:43px}.paper-board{gap:19px 13px;padding:10px 10px 25px}.chapter.paper-card{padding:12px 12px 20px;min-height:285px;--paper-angle:-2.5deg}.chapter.paper-card:before{inset:6px}.paper-card .chapter-num{top:11px;left:9px;font-size:13px}.paper-photo{height:170px;margin-bottom:12px}.paper-card strong{font-size:27px;line-height:1.06}.paper-caption{font-size:12px;margin-bottom:8px;line-height:1.3}.paper-card small{font-size:9px;line-height:1.55;margin-top:9px}.paper-card .paper-open{font-size:7px!important;gap:7px;margin-top:17px;letter-spacing:.02em}.paper-open>span{font-size:18px}.paper-icon{width:54px;height:54px;margin:35px 0 20px}.chapter.paper-02{--paper-angle:3deg;margin-top:37px;padding:18px 14px 22px;min-height:320px}.paper-02 strong{font-size:30px}.chapter.paper-03{--paper-angle:2deg;margin-top:-10px}.paper-03 .sea-photo{height:132px}.paper-03 .paper-caption{font-size:12px}.chapter.paper-04{--paper-angle:-3deg;margin-top:16px;min-height:297px}.paper-04 strong{font-size:29px}.paper-04 .paper-icon{margin-top:29px}.chapter.paper-05{--paper-angle:-1deg;width:92%;min-height:0;padding:20px 18px 23px}.paper-05 strong{font-size:30px}.paper-05 .paper-caption{font-size:13px}.chapter.paper-card:hover,.chapter.paper-card:focus-visible{padding-left:12px}.chapter.paper-02:hover,.chapter.paper-02:focus-visible{padding-left:14px}.chapter.paper-05:hover,.chapter.paper-05:focus-visible{padding-left:18px}}
@media(prefers-reduced-motion:reduce){.papers-pending .paper-card{opacity:1}.papers-ready .paper-card{animation:none}.chapter.paper-card{transition:none}}

.paper-card>.paper-photo{flex:none}.paper-card>.paper-icon{flex:none}

/* Names and a sealed ivory envelope over the real sea. */
.envelope-intro{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;padding:35px 20px;gap:42px}
.envelope-intro h1{font:400 clamp(58px,7vw,86px)/1.15 'Great Vibes',cursive;color:#fffdf5;text-shadow:0 2px 22px #183c3560;margin:0;transition:opacity .55s,transform .7s}
.opening-envelope{position:relative;width:min(540px,84vw);aspect-ratio:1.6;perspective:1200px;isolation:isolate;filter:drop-shadow(0 18px 28px #203d3438);transition:transform 1.25s ease .6s}
.envelope-base{position:absolute;inset:0;border-radius:3px;background:#e9e2d3 var(--paper);border:1px solid #d7cab3}
.envelope-insert{position:absolute;inset:15px 25px;background:#fffdf6 var(--paper);border:1px solid #d9d0be;z-index:2;transition:transform 1.2s cubic-bezier(.2,.7,.25,1) .55s}
.envelope-pocket{position:absolute;inset:0;z-index:3;background:#f4efe4 var(--paper);clip-path:polygon(0 0,50% 56%,100% 0,100% 100%,0 100%);border-radius:3px}
.envelope-pocket:before,.envelope-pocket:after{content:'';position:absolute;inset:0;background:#eae3d5 var(--paper);clip-path:polygon(0 0,52% 57%,0 100%)}.envelope-pocket:after{background-color:#eee8dc;clip-path:polygon(100% 0,48% 57%,100% 100%)}
.envelope-lid{position:absolute;inset:0;background:#fffaf0 var(--paper);clip-path:polygon(0 0,100% 0,50% 58%);transform-origin:top;z-index:4;transition:transform .9s ease;backface-visibility:hidden}
.entrance .opening-envelope .seal{position:absolute;top:55%;left:50%;transform:translate(-50%,-50%);margin:0;width:106px;height:106px;z-index:5;transition:transform .45s,opacity .35s}.entrance .opening-envelope .seal:hover{transform:translate(-50%,-50%) scale(1.055)}
.entrance.opening .envelope-lid{transform:rotateX(175deg);z-index:1}.entrance.opening .envelope-insert{transform:translateY(-32%)}.entrance.opening .opening-envelope .seal{opacity:0;transform:translate(-50%,-50%) scale(.7)}.entrance.opening .opening-envelope{transform:translateY(30px) scale(1.055)}.entrance.opening .envelope-intro h1{opacity:0;transform:translateY(-15px)}
.wave-control{width:36px;height:36px;padding:0;border-radius:50%;font-size:13px;background:#fbf8efb3;border-color:#fff8df55}
@media(max-width:760px){.envelope-intro{gap:35px;padding:30px 18px}.envelope-intro h1{font-size:59px}.opening-envelope{width:min(440px,86vw)}.entrance .opening-envelope .seal{width:91px;height:91px}.envelope-insert{inset:12px 18px}.wave-control{bottom:18px;left:18px}}
@media(prefers-reduced-motion:reduce){.opening-envelope,.envelope-insert,.envelope-lid,.envelope-intro h1{transition:none}}

/* Full-screen embossed envelope, followed by the sea and invitation message. */
.entrance{background:#78929f}.envelope-intro{position:absolute;inset:0;padding:0;display:block}.opening-envelope{width:100%;height:100%;aspect-ratio:auto;filter:none;perspective:1600px}
.envelope-base{background-color:#78929f;background-image:url('embossed-paper.svg');border:0;border-radius:0}.envelope-insert{inset:4% 8%;background:#f4efe5 var(--paper)}
.envelope-pocket{background-color:#7e98a4;background-image:url('embossed-paper.svg');border-radius:0;clip-path:polygon(0 0,50% 55%,100% 0,100% 100%,0 100%)}
.envelope-pocket:before{background-color:#708b99;background-image:url('embossed-paper.svg');clip-path:polygon(0 0,50% 55%,0 100%)}.envelope-pocket:after{background-color:#76919f;background-image:url('embossed-paper.svg');clip-path:polygon(100% 0,50% 55%,100% 100%)}
.envelope-lid{background-color:#9bb0b9;background-image:url('embossed-paper.svg');clip-path:polygon(0 0,100% 0,50% 56%);filter:drop-shadow(0 4px 5px #273d4b45)}
.entrance .opening-envelope .seal{top:55%;width:125px;height:125px;filter:drop-shadow(0 7px 8px #273d4b55)}.entrance .opening-envelope .seal span{font:italic 30px 'Cormorant Garamond',serif;color:#856735;text-shadow:1px 1px #ffe6aa80}
.entrance.opening .opening-envelope{transform:none}.entrance.opening .envelope-insert{transform:translateY(-25%)}
.hero{position:relative;display:flex;min-height:calc(100svh - 83px);max-height:none;overflow:hidden}.hero-ocean{z-index:0;transition:none}.hero-ocean .ocean-light{background:linear-gradient(#1f393f33,#152f3455)}
.hero .hero-copy{z-index:1;width:100%;min-height:calc(100svh - 83px);background:none;color:#fffdf3;padding:60px 25px 70px}.hero-copy:after{border-color:#fff9ec55;inset:24px}.hero-copy .kicker,.hero-copy h1 em,.hero-copy .hero-date,.hero-copy .hero-place,.hero-copy .welcome{color:#fffdf3;text-shadow:0 2px 14px #18383566}.hero-copy h1{font-size:clamp(92px,10vw,150px);text-shadow:0 3px 28px #18383555}.hero-copy .hairline{background:#fff5d6}.hero-copy .welcome{font-size:14px}.hero-copy .explore{color:#fffdf3;border-color:#f9eacb;position:relative;z-index:2}.hero .wave-control{z-index:3;left:20px;bottom:20px}.our-portrait{padding:65px 8%;background:var(--cream)}.our-portrait .portrait{width:min(520px,100%);height:auto;aspect-ratio:999/1292;min-height:0;margin:auto;outline:1px solid #bca985;outline-offset:9px;box-shadow:0 20px 45px #34443f20}.our-portrait .portrait img{animation:none}.our-portrait .photo-caption{font-size:25px}
.music-control{position:fixed;bottom:20px;right:20px;z-index:40;width:43px;height:43px;border:1px solid #bca985;background:#faf7efeF;border-radius:50%;box-shadow:0 4px 15px #34443f20;font-size:20px;color:#806943}.music-control.is-playing{box-shadow:0 0 0 4px #ddc88d33,0 4px 15px #34443f20}
@media(max-width:760px){.opening-envelope{width:100%;height:100%;aspect-ratio:auto}.entrance .opening-envelope .seal{width:115px;height:115px}.hero{min-height:calc(100svh - 65px)}.hero .hero-copy{min-height:calc(100svh - 65px);padding:55px 22px 70px}.hero-copy h1{font-size:98px}.hero-copy:after{inset:14px}.hero-copy .welcome{font-size:12px}.our-portrait{padding:45px 10%}.music-control{bottom:15px;right:15px}.hero .wave-control{left:15px;bottom:15px}}

/* Photographic embossed paper and pearl scallop wax seal. */
.entrance{background:#91a7b4}.envelope-base{background:#91a7b4 url('envelope-pearl-relief.png') center/cover no-repeat;transition:transform 1.4s ease,opacity 1.4s ease}.entrance .opening-envelope .seal{inset:0;top:0;left:0;width:100%;height:100%;transform:none;background:none;filter:none;border:0;border-radius:0;margin:0}.entrance .opening-envelope .seal:hover{transform:none}.entrance .opening-envelope .seal:focus-visible{outline:2px solid #fff8e5;outline-offset:-12px}.entrance.opening .opening-envelope{transform:none}.entrance.opening .envelope-base{transform:translateY(-8%) scale(1.08);opacity:0}.entrance.opening .opening-envelope .seal{transform:none;opacity:0;pointer-events:none}
@media(min-aspect-ratio:1/1){.envelope-base{background-size:contain}}
@media(prefers-reduced-motion:reduce){.envelope-base{transition:none}}

/* Legible invitation over the sea, flowing into an ivory portrait page. */
.hero{min-height:calc(100svh - 83px);padding-bottom:95px}.hero:after{content:'';position:absolute;left:0;right:0;bottom:0;height:150px;background:linear-gradient(transparent,var(--cream));pointer-events:none;z-index:2}.hero .hero-copy{min-height:calc(100svh - 180px);padding:48px 24px 35px;overflow:visible}.hero-copy:after{display:none}.sea-message{width:min(560px,100%);padding:36px 24px;background:none;border:0;box-shadow:none}.hero-copy .kicker{font-size:14px;line-height:1.6;letter-spacing:.13em;display:block}.hero-copy h1{font-size:clamp(82px,8vw,120px);line-height:1;margin:25px 0}.hero-copy h1 em{font-size:40px;line-height:1;margin:6px 0}.hero-copy .hairline{margin:0 auto 22px}.hero-copy .hero-date{font-size:18px;font-weight:500;letter-spacing:.1em;line-height:1.5;margin-bottom:10px}.hero-copy .hero-place{font-size:26px;line-height:1.4}.hero-copy .welcome{font-size:18px;line-height:1.65;margin:24px 0 0;text-shadow:none}.hero-copy .explore{font-size:16px;letter-spacing:.02em;line-height:1.5;margin-top:25px;background:none;padding:12px 0;border:0;border-bottom:1px solid #7e735c}.hero .wave-control{bottom:110px;min-width:44px;min-height:44px}.our-portrait{position:relative;padding:0 8% 50px;background:var(--cream);text-align:center}.portrait-intro{max-width:650px;margin:0 auto 36px}.portrait-intro .kicker{font-size:13px;line-height:1.7;letter-spacing:.09em}.portrait-intro h2{font-size:clamp(40px,5vw,56px);margin:22px 0;line-height:1.13}.portrait-intro h2 em{font-weight:400;color:#806943}.portrait-intro p,.portrait-bridge{font-size:17px;line-height:1.7;color:#536057}.our-portrait .portrait{width:min(450px,100%);border:10px solid #fffdf7;outline:1px solid #cfc7b5;outline-offset:0;box-shadow:0 14px 32px #34443f18}.our-portrait .portrait img{filter:saturate(.85);object-position:center}.portrait-signature{font:32px/1.5 'Great Vibes',cursive;color:#806943;margin:26px 0 14px}.portrait-bridge{margin:0 auto;max-width:500px}.shoreline{background:var(--cream)}.music-control{width:48px;height:48px}
@media(max-width:760px){.hero{min-height:calc(100svh - 65px);padding-bottom:85px}.hero .hero-copy{min-height:calc(100svh - 150px);padding:28px 20px 30px}.sea-message{padding:28px 20px}.hero-copy h1{font-size:78px;margin:20px 0}.hero-copy .kicker{font-size:13px;letter-spacing:.09em}.hero-copy .hero-date{font-size:17px}.hero-copy .hero-place{font-size:23px}.hero-copy .welcome{font-size:17px;line-height:1.65}.hero-copy .explore{font-size:15px;margin-top:22px}.hero .wave-control{bottom:100px}.our-portrait{padding:0 8% 35px}.portrait-intro{margin-bottom:28px}.portrait-intro h2{font-size:42px}.portrait-intro p,.portrait-bridge{font-size:16px}.portrait-intro .kicker{font-size:12px}.portrait-signature{font-size:31px}}

/* Open typography on softly lit water, without a card or dark frame. */
.hero-ocean .ocean-light{background:linear-gradient(180deg,rgba(248,244,235,.79) 0%,rgba(248,244,235,.77) 72%,rgba(248,244,235,.28) 100%)}
.hero .hero-copy{color:#2e403b}.sea-message{border:0;background:none;box-shadow:none}.hero-copy h1,.hero-copy .kicker,.hero-copy h1 em,.hero-copy .hero-date,.hero-copy .hero-place,.hero-copy .welcome{color:#2e403b;text-shadow:none}.hero-copy h1{font-weight:400;letter-spacing:-.035em}.hero-copy h1 em{color:#796443}.hero-copy .kicker{letter-spacing:.11em;font-weight:400}.hero-copy .hairline{background:#8d7956;width:40px}.hero-copy .hero-date{font-weight:400;letter-spacing:.08em}.hero-copy .hero-place{font-style:normal}.hero-copy .welcome{max-width:440px;margin:26px auto 0;font-size:18px}.hero-copy .explore{color:#2e403b;background:none;box-shadow:none;border:0;border-bottom:1px solid #7e735c;letter-spacing:.03em;padding:12px 0}.hero-copy .explore:hover{border-bottom-color:#2e403b}.hero .wave-control{color:#2e403b;background:#f8f4ebde;border:1px solid #cfc7b5}
@media(max-width:760px){.hero .hero-copy{padding:36px 24px 35px}.sea-message{padding:20px 0}.hero-copy h1{font-size:82px;margin:25px 0}.hero-copy .welcome{font-size:17px;line-height:1.75}.hero-copy .kicker{font-size:13px}.hero-copy .explore{margin-top:18px}}

/* The envelope opens directly to the couple and wedding details. */
.hero{display:grid;grid-template-columns:1fr 1fr;padding-bottom:0;min-height:calc(100svh - 83px);background:var(--cream)}.hero:after{display:none}.hero-portrait{position:relative;min-height:660px;overflow:hidden}.hero-portrait img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%;filter:saturate(.9)}.hero .hero-copy{width:100%;min-height:0;padding:55px 40px;background:var(--cream);background-image:var(--paper)}.hero-message{width:min(520px,100%)}.hero-copy h1{font-size:clamp(76px,7.5vw,112px)}.hero-copy .welcome{margin-top:24px}.hero-copy .explore{margin-top:30px;font-size:16px}.chapters{border-top:1px solid #cfc7b566}
@media(max-width:760px){.hero{display:flex;flex-direction:column;min-height:0;padding:0}.hero-portrait{width:100%;height:auto;min-height:0;aspect-ratio:999/1292;max-height:72svh}.hero-portrait img{object-position:50% 40%}.hero .hero-copy{padding:42px 24px 48px;min-height:0}.hero-copy h1{font-size:82px;margin:24px 0}.hero-copy .hero-date{font-size:17px}.hero-copy .hero-place{font-size:23px}.hero-copy .welcome{font-size:17px;line-height:1.7}}

.paper-01 .paper-photo{background:#f8f4eb}.paper-01 .paper-photo img{filter:none;object-fit:cover;object-position:center}

.hero-copy .hero-place{font-size:27px;margin-bottom:5px}.hero-country{font-size:15px;line-height:1.6;margin:0;color:#536057}.hero-copy .welcome{font-size:17px;line-height:1.75;max-width:420px}.wedding-countdown{margin:30px auto 0;max-width:420px}.countdown-title{font:italic 22px/1.5 'Cormorant Garamond',serif;color:#806943;margin:0 0 15px}.countdown-numbers{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:15px 0 6px;border-top:1px solid #b5a17e77}.countdown-numbers>div{position:relative;padding:0 12px}.countdown-numbers>div+div:before{content:'';position:absolute;left:0;top:9px;height:30px;width:1px;background:#b5a17e55}.countdown-numbers span{display:block;font:400 52px/1.1 'Cormorant Garamond',serif;font-variant-numeric:tabular-nums;color:#806943}.countdown-numbers small{display:block;font-size:12px;line-height:1.5;margin-top:7px;color:#536057;letter-spacing:.04em}.countdown-finished{font:italic 27px/1.5 'Cormorant Garamond',serif;color:#806943}.hero-copy .explore{margin-top:26px}
@media(max-width:760px){.hero-copy .hero-place{font-size:25px}.hero-country{font-size:14px}.wedding-countdown{margin-top:28px}.countdown-numbers span{font-size:44px}.countdown-numbers>div{padding:0 8px}.countdown-title{font-size:22px}.hero-copy .welcome{font-size:17px}}

.hero-copy .welcome{margin:22px auto 0}.wedding-countdown{margin-top:24px}.hero-copy .explore{margin-top:24px}

/* Centered floral invitation papers inspired by the reference. */
.chapters{display:block;max-width:none;background:#e9edf0;padding:55px 6% 65px}.chapters-intro{text-align:center;max-width:600px;margin:0 auto 32px;padding:0}.chapters-intro h2{font-size:44px;margin:0 0 12px}.chapters-intro p{font-size:15px;color:#536057}.paper-board{display:grid;grid-template-columns:1fr;max-width:560px;margin:auto;gap:28px;padding:0}
.chapter.paper-card{--paper-angle:0deg;--entry-x:0px;--entry-y:30px;position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;width:100%;min-height:310px;grid-column:auto;margin:0;padding:36px 38px 50px;text-align:center;transform:none;background:#fffdf8 var(--paper);border:1px solid #d6dbdc;box-shadow:0 7px 17px #53657519;overflow:hidden}.chapter.paper-card:before{inset:8px;border:1px solid #d6dbdc66}.chapter.paper-card:after{content:'';position:absolute;top:auto;bottom:0;left:0;width:145px;height:180px;border:0;background:url('coastal-paper-corner.svg') left bottom/contain no-repeat;box-shadow:none;transform:none;z-index:-1;pointer-events:none}.chapter.paper-02:after,.chapter.paper-04:after{display:block;left:auto;right:0;transform:scaleX(-1)}.paper-card .chapter-num{display:none}.paper-card>.paper-icon{width:55px;height:55px;flex:none;margin:0 0 22px;opacity:.9}.paper-card .paper-copy{flex:none!important}.paper-card strong,.paper-02 strong,.paper-04 strong,.paper-05 strong{font:400 27px/1.3 'Cormorant Garamond',serif;text-transform:uppercase;letter-spacing:.055em;color:#35433d}.paper-card small{font-size:15px;line-height:1.6;margin:12px auto 0;max-width:340px;color:#536057}.paper-card .paper-open{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:24px;padding:9px 22px;background:#e8edf0;border:1px solid #c7d0d2;font-family:'Cormorant Garamond',serif;font-size:18px!important;letter-spacing:.02em;color:#435b64}.paper-open>span{font-size:18px}.chapter.paper-card:hover,.chapter.paper-card:focus-visible{padding:36px 38px 50px;transform:translateY(-3px);box-shadow:0 10px 24px #53657526}.papers-ready .paper-card{animation:coastal-paper-arrive .9s ease both;animation-delay:var(--paper-delay,0s)}@keyframes coastal-paper-arrive{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}
#celebrations .grid{grid-template-columns:1fr;max-width:620px;margin:auto;gap:28px}#celebrations .event{position:relative;isolation:isolate;padding:35px 36px 80px;text-align:center;border:1px solid #d6dbdc;background:#fffdf8 var(--paper);box-shadow:0 7px 17px #53657519;overflow:hidden}#celebrations .event:after{content:'';position:absolute;left:0;bottom:0;width:135px;height:165px;background:url('coastal-paper-corner.svg') left bottom/contain no-repeat;z-index:-1;pointer-events:none}#celebrations .event:nth-child(2):after{left:auto;right:0;transform:scaleX(-1)}.event-icon{width:55px;height:55px;display:block;margin:0 auto 22px}#celebrations h3{text-transform:uppercase;letter-spacing:.06em;font-size:28px}#celebrations .meta{font-size:15px;line-height:1.65;min-height:0;color:#6b765f}#celebrations .event p{font-size:16px;line-height:1.7}#celebrations .event .note{font-size:14px!important;line-height:1.7}
@media(max-width:760px){.chapters{padding:42px 7% 50px}.chapters-intro h2{font-size:40px}.paper-board{gap:24px}.chapter.paper-card,.chapter.paper-card:hover,.chapter.paper-card:focus-visible{min-height:310px;padding:32px 26px 48px}.paper-card strong,.paper-02 strong,.paper-04 strong,.paper-05 strong{font-size:25px}.paper-card small{font-size:15px}.paper-card>.paper-icon{width:50px;height:50px;margin-bottom:22px}.chapter.paper-card:after{width:125px;height:165px}#celebrations .event{padding:30px 24px 70px}#celebrations h3{font-size:26px}}
@media(prefers-reduced-motion:reduce){.papers-ready .paper-card{animation:none}.chapter.paper-card:hover{transform:none}}

/* Slate blue names echo the embossed envelope and coastal paper background. */
:root{--name-blue:#4f6b7d;--name-blue-soft:#627f8e}.brand,.brand i,footer button{color:var(--name-blue)}.hero-copy h1{color:var(--name-blue)}.hero-copy h1 em{color:var(--name-blue-soft)}.closing>span{color:var(--name-blue)}.detail-masthead .kicker{color:var(--name-blue)}

/* Navy lettering and a complete section menu on one screen. */
:root{--name-blue:#102e55;--name-blue-soft:#1c416b}
.chapters{min-height:calc(100svh - 83px);display:flex;flex-direction:column;justify-content:center;padding:26px 6% 32px;scroll-margin-top:83px}.chapters-intro{margin:0 auto 20px}.chapters-intro h2{font-size:38px;margin:0;color:var(--name-blue)}.chapters-intro p{display:none}.paper-board{width:100%;max-width:780px;margin:0 auto;padding:0;height:460px;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:1fr 1fr .6fr;gap:14px}.chapter.paper-card,.chapter.paper-card:hover,.chapter.paper-card:focus-visible{min-height:0;width:100%;margin:0;padding:18px 20px;justify-content:center;transform:none}.paper-card>.paper-icon{width:38px;height:38px;margin:0 0 10px}.paper-card strong,.paper-02 strong,.paper-04 strong,.paper-05 strong{font-size:24px;line-height:1.2;letter-spacing:.035em;color:var(--name-blue)}.paper-card small{font-size:13px;line-height:1.4;margin:8px auto 0;max-width:280px}.paper-card .paper-open{display:none}.chapter.paper-card:after{width:85px;height:110px;opacity:.7}.chapter.paper-05{grid-column:1/-1;flex-direction:row;gap:18px}.paper-05>.paper-icon{margin:0;width:36px;height:36px}.paper-05 .paper-copy{width:auto;flex:none!important}.paper-05 strong{font-size:25px}.chapter.paper-card:hover{box-shadow:0 9px 22px #53657525}.chapter.paper-card:focus-visible{outline:2px solid var(--name-blue);outline-offset:3px}
@media(max-width:760px){.chapters{min-height:calc(100svh - 65px);padding:22px 6% 28px;scroll-margin-top:65px}.chapters-intro{margin-bottom:18px}.chapters-intro h2{font-size:33px}.paper-board{height:min(500px,calc(100svh - 185px));gap:12px;grid-template-rows:1fr 1fr .56fr}.chapter.paper-card,.chapter.paper-card:hover,.chapter.paper-card:focus-visible{padding:15px 12px;min-height:0}.paper-card>.paper-icon{width:34px;height:34px;margin-bottom:9px}.paper-card strong,.paper-02 strong,.paper-04 strong,.paper-05 strong{font-size:22px;line-height:1.22}.paper-card small{font-size:13px;margin-top:7px}.chapter.paper-05{gap:13px}.paper-05>.paper-icon{width:32px;height:32px;margin:0}.paper-05 strong{font-size:22px}.chapter.paper-card:after{width:70px;height:100px}}
@media(max-width:760px) and (max-height:700px){.paper-card small{display:none}.paper-board{height:calc(100svh - 185px)}.chapter.paper-card,.chapter.paper-card:hover,.chapter.paper-card:focus-visible{padding:12px 9px}}
@media(max-height:500px){.paper-card>.paper-icon{display:none}.paper-card small{display:none}.paper-card strong,.paper-02 strong,.paper-04 strong,.paper-05 strong{font-size:20px}.paper-board{height:calc(100svh - 225px)}}

/* Tactile cotton stationery, proportioned typography and gentle page turns. */
.chapters{background-color:#dfe7eb;background-image:linear-gradient(#e3eaeee8,#e3eaeee8),url('cotton-paper.webp');background-size:auto,650px}.paper-board:before{display:none}.chapter.paper-card,.chapter.paper-card:hover,.chapter.paper-card:focus-visible{align-self:stretch;justify-self:stretch;min-width:0;border:1px solid #b8b1a04a;background:#f8f5ec url('cotton-paper.webp') center/430px;box-shadow:inset 0 1px 0 #ffffffc9,0 1px 2px #314c5c24,2px 5px 9px #314c5c16,0 15px 22px -17px #314c5c44;border-radius:1px;transition:transform .35s ease,box-shadow .35s ease,opacity .2s ease}.chapter.paper-card:before,.chapter.paper-card:after{display:none}.paper-card>.paper-icon{opacity:.78;filter:drop-shadow(0 1px 0 #fff9)}.paper-card .paper-copy{min-width:0;max-width:100%}.paper-card strong,.paper-02 strong,.paper-04 strong,.paper-05 strong{display:block;font:500 28px/1.1 'Cormorant Garamond',serif;text-transform:none;letter-spacing:0;color:var(--name-blue);overflow-wrap:anywhere;text-wrap:balance;text-shadow:0 1px 0 #fff8}.paper-card small{font-size:13px;line-height:1.45;max-width:230px;color:#536169;text-wrap:balance}.chapter.paper-05 .paper-copy{min-width:0;max-width:calc(100% - 54px)}.paper-05 strong{font-size:27px}.chapter.paper-card:hover{transform:translateY(-3px);box-shadow:inset 0 1px 0 #ffffffc9,0 2px 3px #314c5c20,3px 10px 18px #314c5c22}.chapter.paper-card.paper-selected{transform:translateY(-5px) scale(1.025);box-shadow:0 8px 24px #314c5c33}.view-leaving{animation:invitation-page-out .18s ease both;pointer-events:none}.view-arriving{animation:invitation-page-in .45s cubic-bezier(.2,.6,.3,1) both}@keyframes invitation-page-out{to{opacity:0;transform:translateY(-8px)}}@keyframes invitation-page-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.papers-ready .paper-card{animation:cotton-paper-settle 1s cubic-bezier(.2,.65,.3,1) both;animation-delay:var(--paper-delay,0s)}@keyframes cotton-paper-settle{from{opacity:0;transform:translateY(18px) rotateX(7deg)}to{opacity:1;transform:translateY(0) rotateX(0)}}
#celebrations .event{background:#f8f5ec url('cotton-paper.webp') center/480px;border-color:#b8b1a04a;box-shadow:inset 0 1px 0 #ffffffc9,0 2px 4px #314c5c16,3px 9px 22px #314c5c16}#celebrations .event:after{display:none}
@media(max-width:760px){.chapter.paper-card,.chapter.paper-card:hover,.chapter.paper-card:focus-visible{padding:15px 14px}.paper-card strong,.paper-02 strong,.paper-04 strong,.paper-05 strong{font-size:clamp(23px,6.3vw,27px);line-height:1.12}.paper-05 strong{font-size:clamp(21px,5.9vw,25px)}.paper-card small{font-size:13px}.paper-card>.paper-icon{width:32px;height:32px;margin-bottom:11px}}
@media(max-height:500px){.paper-card strong,.paper-02 strong,.paper-04 strong,.paper-05 strong{font-size:21px}}
@media(prefers-reduced-motion:reduce){.chapter.paper-card{transition:none}.chapter.paper-card:hover,.chapter.paper-card.paper-selected{transform:none}.papers-ready .paper-card,.view-leaving,.view-arriving{animation:none}}

/* Motion belongs to the invitation directory; the portrait introduction is preserved. */
.chapters{overflow:hidden;position:relative;isolation:isolate;background-image:linear-gradient(120deg,#e3eaeee6,#e3eaeecc),url('ocean-poster.jpg');background-size:cover;background-position:center}
.chapters:before{content:'';position:absolute;inset:0;background:url('cotton-paper.webp') center/600px;opacity:.35;z-index:-1;pointer-events:none}
.paper-board{perspective:1400px;position:relative}
.chapter.paper-card{transform:rotate(var(--paper-angle,0deg));transform-origin:50% 90%;backface-visibility:hidden;transition:transform .5s cubic-bezier(.2,.75,.25,1),opacity .4s,box-shadow .5s}
.paper-01{--paper-angle:-1.3deg;--paper-x:-95px;--paper-y:70px;--paper-turn:-13deg;--paper-delay:0s}
.paper-02{--paper-angle:1.1deg;--paper-x:95px;--paper-y:85px;--paper-turn:12deg;--paper-delay:.14s}
.paper-03{--paper-angle:.8deg;--paper-x:-75px;--paper-y:90px;--paper-turn:-10deg;--paper-delay:.28s}
.paper-04{--paper-angle:-.9deg;--paper-x:75px;--paper-y:100px;--paper-turn:10deg;--paper-delay:.42s}
.paper-05{--paper-angle:-.35deg;--paper-x:0px;--paper-y:110px;--paper-turn:5deg;--paper-delay:.56s}
.paper-photo{display:block;flex:none;width:calc(100% + 10px);height:50px;margin:-4px -5px 9px;overflow:hidden;border:4px solid #fffdf7;box-shadow:0 2px 4px #183a4b20;transform:rotate(-2deg)}
.paper-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 65%;display:block;transition:transform 1.1s ease}
.paper-02 .paper-photo img{object-position:15% 25%;transform:scale(1.3)}
.paper-03 .paper-photo{transform:rotate(1.5deg)}
.chapter.paper-card:hover,.chapter.paper-card:focus-visible{transform:translateY(-6px) rotate(0);box-shadow:2px 14px 25px #203c542e}
.chapter.paper-card:hover .paper-photo img{transform:scale(1.12)}
.papers-pending .paper-card{opacity:0;transform:translate(var(--paper-x),var(--paper-y)) rotate(var(--paper-turn)) rotateX(20deg) scale(.87)}
.papers-ready .paper-card{animation:stationery-slide 1.3s cubic-bezier(.16,.7,.2,1) backwards;animation-delay:var(--paper-delay)}
@keyframes stationery-slide{0%{opacity:0;transform:translate(var(--paper-x),var(--paper-y)) rotate(var(--paper-turn)) rotateX(20deg) scale(.87)}70%{opacity:1;transform:translateY(-5px) rotate(calc(var(--paper-angle) * -1)) scale(1.015)}100%{opacity:1;transform:rotate(var(--paper-angle))}}
/* The selected sheet lifts; the others withdraw before the detail page unfolds. */
.paper-opening .paper-card{animation:none!important}
.paper-opening .paper-card:not(.paper-selected){opacity:0;transform:translateY(35px) rotateX(15deg) scale(.94)}
.paper-opening .chapter.paper-card.paper-selected{opacity:1;z-index:5;transform:translateY(-18px) rotate(0deg) rotateY(-12deg) scale(1.06);box-shadow:12px 25px 45px #203c5445}
.paper-board.view-leaving{animation:none;pointer-events:none}
#detail-view.view-leaving{animation:stationery-close .5s ease both;transform-origin:left center}
#detail-view.view-arriving{animation:stationery-open .7s cubic-bezier(.15,.65,.2,1) both;transform-origin:left top}
.paper-board.view-arriving{animation:stationery-return .7s ease both}
@keyframes stationery-open{from{opacity:0;transform:perspective(1400px) translateX(45px) rotateY(12deg)}to{opacity:1;transform:translateX(0) rotateY(0)}}
@keyframes stationery-close{to{opacity:0;transform:perspective(1400px) translateX(35px) rotateY(9deg)}}
@keyframes stationery-return{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.paper-photo{height:40px;margin-bottom:8px}.paper-card:has(.paper-photo) strong{font-size:clamp(22px,5.8vw,25px)}.paper-card:has(.paper-photo) small{margin-top:5px;font-size:12px}.paper-card:has(.paper-photo){padding-top:10px;padding-bottom:10px}}
@media(max-height:700px){.paper-photo{height:35px}.paper-card:has(.paper-photo) strong{font-size:23px}}
@media(max-height:500px){.paper-photo{display:none}}
@media(prefers-reduced-motion:reduce){.papers-pending .paper-card{opacity:1;transform:none}.papers-ready .paper-card,.paper-board.view-arriving,#detail-view.view-arriving,#detail-view.view-leaving{animation:none}.paper-opening .paper-card:not(.paper-selected){opacity:1;transform:none}.paper-opening .chapter.paper-card.paper-selected{transform:none}.chapter.paper-card{transform:none}}

/* A quiet sand-toned closing, without a second signature footer. */
.closing{background:#e8e3da;background-image:linear-gradient(#e8e3daed,#e8e3daed),url('cotton-paper.webp');background-size:auto,650px;color:#515852}.closing img{opacity:.6}.closing>span{color:#314a60}

/* Match the opening names to the closing wedding signature. */
.hero-copy h1{font:400 clamp(104px,9vw,144px)/1.05 'Great Vibes',cursive;letter-spacing:0;color:var(--name-blue);padding:8px 12px;margin:22px 0 24px}
.hero-copy h1 em{font:inherit;font-size:.55em;line-height:1;color:var(--name-blue);margin:0 .08em 0 0}
@media(max-width:760px){.hero-copy h1{font-size:clamp(84px,25vw,112px);line-height:1.05;margin:24px 0 30px;padding:8px 10px}}

/* A coordinated editorial photograph on every invitation sheet. */
.chapters-intro h2{font:400 52px/1.2 'Great Vibes',cursive;letter-spacing:0;padding:4px 12px;color:var(--name-blue)}
.paper-card .paper-photo{width:calc(100% + 8px);height:72px;margin:-3px -4px 10px;border:4px solid #fffdf7;transform:rotate(-1deg)}
.paper-card .paper-photo img,.paper-02 .paper-photo img{object-fit:cover;object-position:center;transform:none;filter:saturate(.78)}
.paper-02 .paper-photo img{object-position:center 58%}
.paper-04 .paper-photo img{object-position:center 56%}
.chapter.paper-05 .paper-photo{width:92px;height:65px;margin:0;transform:rotate(-2deg)}
.chapter.paper-05 .paper-copy{max-width:calc(100% - 110px)}
@media(max-width:760px){.chapters-intro h2{font-size:46px}.chapters-intro{margin-bottom:16px}.paper-card .paper-photo{height:clamp(38px,7.5svh,58px);margin-bottom:8px;border-width:3px}.paper-card:has(.paper-photo) strong{font-size:clamp(22px,5.8vw,25px)}.paper-card:has(.paper-photo) small{font-size:12px;margin-top:5px}.chapter.paper-05 .paper-photo{width:74px;height:56px}.chapter.paper-05 .paper-copy{max-width:calc(100% - 87px)}.paper-05:has(.paper-photo) strong{font-size:clamp(21px,5.4vw,24px)}}
@media(max-height:500px){.paper-card .paper-photo{display:block;height:25px;width:65px;margin:0 0 6px}.chapter.paper-05 .paper-photo{height:35px;width:55px}.chapters-intro h2{font-size:37px}}

/* Keep the portrait-related palette quiet rather than bright. */
.paper-card .paper-photo img,.paper-02 .paper-photo img{filter:saturate(.45) brightness(.86) contrast(.88)}

/* Approved watercolor vignettes read as artwork printed on the invitation paper. */
.paper-card .paper-photo{height:78px;border:0;background:none;box-shadow:none;transform:none;margin:-3px -4px 8px}
.paper-card .paper-photo img,.paper-02 .paper-photo img,.chapter.paper-card:hover .paper-photo img{object-fit:contain;object-position:center;filter:none;transform:none;mix-blend-mode:multiply}
.chapter.paper-05 .paper-photo{height:72px;width:100px;transform:none}
.chapter.paper-05 .paper-copy{max-width:calc(100% - 118px)}
@media(max-width:760px){.paper-card .paper-photo{height:clamp(40px,8.5svh,66px);margin-bottom:7px}.chapter.paper-05 .paper-photo{width:82px;height:64px}.chapter.paper-05 .paper-copy{max-width:calc(100% - 95px)}}
@media(max-height:500px){.paper-card .paper-photo{height:28px;width:100%;margin-bottom:4px}.chapter.paper-05 .paper-photo{width:60px;height:40px}}

/* A handwritten-feeling serif welcome that complements the wedding script. */
.hero-copy .welcome{font:italic 400 28px/1.4 'Cormorant Garamond',serif;color:#314a60;letter-spacing:0;text-wrap:balance;max-width:390px;margin:24px auto 0}
@media(max-width:760px){.hero-copy .welcome{font-size:26px;line-height:1.4;max-width:330px}}

/* Bespoke transparent watercolor motifs printed into the paper edges. */
#detail-view{overflow:hidden}
#detail-view section{position:relative;isolation:isolate}
#detail-view section:before,#detail-view section:after{content:'';position:absolute;background:var(--detail-edge) center/contain no-repeat;pointer-events:none;z-index:-1;mix-blend-mode:multiply;filter:none;-webkit-mask-image:none;mask-image:none}
#detail-view section:before{top:-12px;right:-22px;width:270px;height:270px;opacity:.5}
#detail-view section:after{bottom:-18px;left:-28px;width:240px;height:240px;transform:scaleX(-1);opacity:.38}
#celebrations{--detail-edge:url('detail-simple-celebrations.webp')}
#travel{--detail-edge:url('detail-simple-travel.webp')}
#resort,#optional-extras{--detail-edge:url('detail-simple-sea.webp')}
#get-ready{--detail-edge:url('detail-simple-preparation.webp')}
#quick-answers{--detail-edge:url('detail-simple-questions.webp')}
@media(max-width:760px){#detail-view section:before{top:-12px;right:-40px;width:215px;height:235px;opacity:.46}#detail-view section:after{width:205px;height:205px;left:-42px;bottom:-15px;opacity:.35}}

/* One restrained topic ornament per page; no trailing decorative border. */
#detail-view section:after{display:none}
#detail-view section:before{top:0;right:-15px;width:205px;height:180px;opacity:.62}
@media(max-width:760px){#detail-view section:before{top:0;right:-22px;width:165px;height:155px;opacity:.55}}

/* Give the approved corner motifs more presence without changing their palette. */
#detail-view section:before{width:330px;height:290px;top:-25px;right:-25px}
@media(max-width:760px){#detail-view section:before{width:280px;height:245px;top:-25px;right:-40px}}

/* A clearer, comfortably tappable return link on every detail page. */
.detail-toolbar button[data-back]{font-size:15px;line-height:1.4;min-height:44px;display:inline-flex;align-items:center;padding:7px 0;flex-shrink:0}
@media(max-width:760px){.detail-toolbar button[data-back]{font-size:14px}}

/* Quietly improve the small-print readability throughout the detail pages. */
#detail-view .eyebrow{font-size:12px;line-height:1.6;letter-spacing:.14em;color:#7d694b}
#detail-view .detail-label{font-size:19px;line-height:1.3;color:#7d694b}
#detail-view section p,#detail-view section li{font-size:15px;line-height:1.8}
#detail-view .note{font-size:14px!important;line-height:1.75;color:#59635c}
#celebrations .event p{font-size:16px;line-height:1.7}
#celebrations .event .note{font-size:14px!important;line-height:1.75}
@media(max-width:760px){#detail-view .detail-label{font-size:18px}.detail-toolbar{gap:12px}.detail-label{min-width:0;text-align:right}}

/* Keep the shell's full-envelope hit area above the artwork on touch screens. */
.entrance .opening-envelope .seal{z-index:10;display:block;pointer-events:auto;touch-action:manipulation;cursor:pointer}
.entrance .envelope-base{pointer-events:none}
.entrance.opening .opening-envelope .seal{pointer-events:none}

/* Fully painted event artwork with enough room to show its colors. */
#celebrations .event-icon{width:82px;height:82px;object-fit:contain;opacity:1;filter:none;margin-bottom:22px}
@media(max-width:760px){#celebrations .event-icon{width:76px;height:76px;margin-bottom:20px}}

/* Version C: pearl-edged coastal stationery links. */
#detail-view a.invitation-action{position:relative;isolation:isolate;display:inline-flex;justify-content:center;align-items:center;box-sizing:border-box;width:340px;max-width:100%;min-height:82px;margin:12px 0;padding:19px 35px 19px 24px;border:0;border-radius:0;background:transparent;color:#fff;text-decoration:none;text-align:center;font:400 29px/1.3 'Great Vibes',cursive;letter-spacing:0;filter:drop-shadow(0 3px 3px #3346531b);transition:transform .2s ease,filter .2s ease;vertical-align:middle}
#detail-view a.invitation-action::before{content:'';position:absolute;inset:0;z-index:-1;background:url('dusty-blue-link.svg') center/100% 100% no-repeat;pointer-events:none}
#detail-view .invitation-action .action-label{position:relative;color:#fff;white-space:normal;overflow-wrap:normal;text-shadow:0 1px 1px #203c4b33}
#detail-view .invitation-action .action-arrow{display:none}
#detail-view a.invitation-action:hover{transform:translateY(-2px);filter:drop-shadow(0 5px 5px #3346532c)}
#detail-view a.invitation-action:active{transform:translateY(1px)}
#detail-view a.invitation-action:focus-visible{outline:2px solid #263e57;outline-offset:4px}
#detail-view .hotel-links{flex-wrap:wrap;gap:12px}
#detail-view .faq a.invitation-action{display:flex;margin-top:18px}
@media(max-width:600px){#detail-view a.invitation-action{width:100%;max-width:350px;min-height:78px;font-size:27px;padding:18px 30px 18px 20px}#detail-view .hotel-links{display:flex;flex-direction:column;align-items:center}}
@media(prefers-reduced-motion:reduce){#detail-view a.invitation-action{transition:none}}

/* Light dusty-blue rectangular shell stationery, selected reference 3. */
#detail-view .invitation-action .action-label{text-shadow:0 1px 2px #334d6380;-webkit-text-stroke:.15px #ffffff}
/* A measured opening sequence: approach, lift, then reveal the invitation. */
.entrance{transition:opacity 1.1s ease,visibility 1.1s;overflow:hidden}
.entrance .opening-envelope{perspective:1800px;transition:none}
.entrance .envelope-base,.entrance .cinema-flap{position:absolute;inset:0;background:#91a7b4 url('envelope-pearl-relief.png') center/cover no-repeat;pointer-events:none;backface-visibility:hidden}
.entrance .cinema-flap{z-index:2;clip-path:polygon(0 0,100% 0,100% 29%,68% 50%,65% 59%,50% 62%,34% 59%,32% 50%,0 29%);transform-origin:50% 0}
.entrance.opening .envelope-base{animation:cinema-envelope-away 3.2s cubic-bezier(.3,0,.2,1) both;transition:none}
.entrance.opening .cinema-flap{animation:cinema-flap-lift 2.8s cubic-bezier(.3,0,.2,1) both}
.entrance.opening{background:transparent}
body.invitation-revealing .hero{animation:cinema-photo-reveal 3.6s cubic-bezier(.2,.6,.2,1) both}
@keyframes cinema-flap-lift{0%{transform:scale(1);opacity:1}22%{transform:scale(1.035);opacity:1}72%{transform:translateY(-12%) rotateX(76deg) scale(1.06);opacity:1}100%{transform:translateY(-35%) rotateX(105deg) scale(1.08);opacity:0}}
@keyframes cinema-envelope-away{0%{transform:scale(1);opacity:1;clip-path:inset(0)}22%{transform:scale(1.035);opacity:1;clip-path:inset(0)}23%{clip-path:polygon(0 29%,32% 50%,34% 59%,50% 62%,65% 59%,68% 50%,100% 29%,100% 100%,0 100%)}58%{transform:translateY(5%) scale(1.055);opacity:1}100%{transform:translateY(48%) scale(1.13);opacity:0;clip-path:polygon(0 29%,32% 50%,34% 59%,50% 62%,65% 59%,68% 50%,100% 29%,100% 100%,0 100%)}}
@keyframes cinema-photo-reveal{0%,28%{opacity:0;transform:translateY(24px) scale(.97)}100%{opacity:1;transform:none}}
@media(min-width:761px){.entrance .envelope-base,.entrance .cinema-flap{background-size:contain}}
@media(prefers-reduced-motion:reduce){.entrance,.entrance .envelope-base,.entrance .cinema-flap,body.invitation-revealing .hero{animation:none!important;transition:none!important}.entrance.opening .cinema-flap{opacity:0}}

/* Romantic beach reception watercolor, integrated into the cotton paper. */
#celebrations .reception-table-art{display:block;width:100%;max-width:420px;height:auto;object-fit:contain;margin:0 auto 24px;border:0;background:none;box-shadow:none}
@media(max-width:760px){#celebrations .reception-table-art{width:calc(100% + 24px);max-width:none;margin:0 -12px 22px}}

/* Exact user-approved stationery designs, with text retained for assistive reading. */
#celebrations .grid{grid-template-columns:1fr;max-width:680px;margin-left:auto;margin-right:auto;gap:36px}
#celebrations .event.approved-event{padding:0;border:0;background:none;box-shadow:0 5px 20px #5c51440d;overflow:hidden}
#celebrations .approved-event-art{display:block;width:100%;height:auto;margin:0;max-width:none}
#celebrations .approved-event-accessible{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:760px){#celebrations{padding-left:4%;padding-right:4%}#celebrations .grid{gap:26px}}

/* One typography system and distinct paper cards for all three celebrations. */
#celebrations{background:#e7eceb;padding-bottom:64px}
#celebrations::before{display:none}
#celebrations .event-jumps{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 20px;margin:0 auto 32px}
#celebrations .event-jumps a{font:500 14px/1.6 'DM Sans',sans-serif;color:#29465e;text-decoration:underline;text-underline-offset:5px;padding:9px 0}
#celebrations .event-suite{gap:52px;max-width:680px}
#celebrations .event.suite-card{padding:0 0 30px;border:1px solid #c3b49d;background:#faf6ed;box-shadow:0 12px 28px #29465e1a;scroll-margin-top:155px}
#celebrations .event-number{font:500 12px/1.5 'DM Sans',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#766044;padding:18px;border-bottom:1px solid #c3b49d66;background:#f2ecdf}
#celebrations .suite-art{width:100%;background-size:100% auto;background-position:center top;background-repeat:no-repeat;overflow:hidden;mix-blend-mode:multiply}
#celebrations .cocktail-art{aspect-ratio:1024/570;background-image:url('approved-cocktail-invitation.jpg')}
#celebrations .ceremony-art{aspect-ratio:1024/515;background-image:url('approved-ceremony-invitation.jpg')}
#celebrations .reception-art{aspect-ratio:1024/570;display:flex;align-items:center;justify-content:center}
#celebrations .reception-art img{display:block;width:85%;height:100%;object-fit:contain}
#celebrations .suite-copy{padding:0 28px}
#celebrations .suite-card h3{font:400 clamp(39px,6vw,52px)/1.25 'Great Vibes',cursive;text-transform:none;letter-spacing:0;color:#153553;margin:18px 0 20px}
#celebrations .suite-card .meta{font:400 18px/1.6 'Cormorant Garamond',serif;color:#31485a;margin:0 0 12px;min-height:0}
#celebrations .suite-card .meta strong{font-weight:600}
#celebrations .suite-card p{font:400 19px/1.55 'Cormorant Garamond',serif;color:#344450;margin:20px 0}
#celebrations .suite-card p.event-place{font-size:23px;margin:12px 0 20px}
#celebrations .suite-card h4{font:400 32px/1.35 'Great Vibes',cursive;color:#153553;margin:30px 0 12px}
#celebrations .suite-card p.note{font:400 16px/1.6 'Cormorant Garamond',serif!important;color:#4c5860;margin:28px 0 0}
#celebrations .event-rule{width:88px;height:1px;background:#b9a077;margin:24px auto}
#celebrations .couple-art{position:relative;aspect-ratio:1024/440;overflow:hidden;mix-blend-mode:multiply;margin:0 -20px;clip-path:polygon(51% 0,65% 0,68% 22%,82% 50%,100% 80%,100% 100%,0 100%,0 50%,30% 20%,40% 8%,51% 8%)}
#celebrations .couple-art img{position:absolute;display:block;top:0;left:0;width:100%;max-width:none;height:auto;transform:translateY(-61.2%)}
@media(max-width:760px){#celebrations{padding-left:5%;padding-right:5%}#celebrations .suite-copy{padding:0 20px}#celebrations .event-suite{gap:38px}#celebrations .suite-card p{font-size:18px}}

/* Return to the approved quiet paper layout with consistent wedding typography. */
#celebrations{background:transparent;padding-bottom:50px}
#celebrations .event-suite{max-width:680px;gap:36px}
#celebrations .event.suite-card{padding:20px 0 32px;border:1px solid #b8b1a04a;background:#f8f5ec url('cotton-paper.webp') center/480px;box-shadow:inset 0 1px 0 #ffffffc9,0 2px 4px #314c5c16,3px 9px 22px #314c5c16}
#celebrations .suite-copy{padding:0 32px}
#celebrations .suite-art{mix-blend-mode:multiply;mask-image:linear-gradient(#000 85%,transparent);-webkit-mask-image:linear-gradient(#000 85%,transparent)}
#celebrations .suite-card h3{font:400 clamp(40px,6vw,54px)/1.2 'Great Vibes',cursive;letter-spacing:0;text-transform:none;margin:12px 0 24px;color:#153553}
#celebrations .suite-card .meta{font:400 20px/1.45 'Cormorant Garamond',serif;color:#344450}
#celebrations .suite-card .meta strong{font-weight:400}
#celebrations .suite-card p{font:400 20px/1.55 'Cormorant Garamond',serif;color:#344450}
#celebrations .suite-card p.event-place{font-size:24px}
#celebrations .suite-card h4{font:400 34px/1.3 'Great Vibes',cursive;color:#153553}
#celebrations .suite-card p.note{font:400 17px/1.55 'Cormorant Garamond',serif!important}
#celebrations .event-rule{width:88px;height:1px;background:#b9a077;margin:24px auto}
@media(max-width:760px){#celebrations{padding-left:4%;padding-right:4%}#celebrations .event-suite{gap:30px}#celebrations .suite-copy{padding:0 24px}#celebrations .suite-card p{font-size:19px}#celebrations .suite-card p.note{font-size:16px!important}}

/* Approved ivory silk ribbons, with live, readable calligraphy labels. */
.brand{font-family:'Great Vibes',cursive;font-size:38px;letter-spacing:0;line-height:1.2}
.brand i{font-family:inherit;font-size:.8em;font-style:normal;color:var(--name-blue)}
#detail-view a.invitation-action{width:370px;max-width:100%;min-height:110px;padding:25px 66px 25px 30px;color:#153553;background:none;border:0;border-radius:0;filter:none;box-shadow:none;font:400 29px/1.25 'Great Vibes',cursive}
#detail-view a.invitation-action::before{background:url('ivory-silk-ribbon.png') center/100% 100% no-repeat;inset:0}
#detail-view .invitation-action .action-label{color:#153553;text-shadow:none;-webkit-text-stroke:0;position:relative}
#detail-view .invitation-action .action-arrow{display:none}
#detail-view a.invitation-action:hover{filter:drop-shadow(0 3px 3px #53616c16);transform:translateY(-2px)}
#detail-view a.invitation-action:focus-visible{outline:2px solid #153553;outline-offset:3px}
#quick-answers summary{list-style:none;position:relative;padding-left:36px}
#quick-answers summary::-webkit-details-marker{display:none}
#quick-answers summary::marker{content:''}
#quick-answers summary:before{content:'';position:absolute;left:0;top:5px;width:25px;height:25px;background:url('coastal-shell.svg') center/contain no-repeat;opacity:.9}
#quick-answers details[open] summary:before{transform:scale(1.12)}
/* Ivory paper unfurls between softly curled edges, like a seaside keepsake. */
#detail-view .beach-scroll{max-width:760px;margin:35px auto 20px;padding:0;border:0;position:relative;background:#fcfaf4 url('cotton-paper.webp') center/500px;box-shadow:0 6px 18px #4f5b6212;border-radius:9px 9px 12px 12px}
#detail-view .beach-scroll>summary{list-style:none;display:block;text-align:center;padding:32px 24px 26px;cursor:pointer;color:#153553;position:relative;border:0}
.beach-scroll>summary::-webkit-details-marker{display:none}
.beach-scroll>summary::marker{content:''}
.beach-scroll>summary>span{display:block;font:400 35px/1.3 'Great Vibes',cursive;text-wrap:balance}
.beach-scroll>summary>small{display:block;font:400 14px/1.5 'Cormorant Garamond',serif;color:#665945;margin-top:9px;letter-spacing:.05em}
.beach-scroll:before,.beach-scroll:after{content:'';position:absolute;left:-5px;right:-5px;height:11px;border-radius:50% / 5px;background:linear-gradient(#e5ded0,#fffdf9 45%,#eee7da);box-shadow:0 2px 4px #6d604a16;pointer-events:none;z-index:1}
.beach-scroll:before{top:0}.beach-scroll:after{bottom:0}
.scroll-body{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows 750ms cubic-bezier(.22,.65,.25,1),opacity 450ms ease}
.beach-scroll.unrolled .scroll-body{grid-template-rows:1fr;opacity:1}
.scroll-paper{overflow:hidden;min-height:0}
#detail-view .scroll-paper>.intro{margin:0 auto 25px;padding:0 24px}
#detail-view .scroll-paper>.included-list{padding:0 30px 0 48px;display:block;columns:1}
#detail-view .scroll-paper>.included-list li{margin-bottom:12px;break-inside:avoid}
#detail-view .scroll-paper>.note{padding:0 25px 30px;margin-bottom:0}
#detail-view .scroll-paper>.hotel-links{padding:0 20px}
#detail-view .included{background:none}
#optional-extras{background:transparent;padding-top:12px}
@media(max-width:760px){#detail-view a.invitation-action{width:350px;min-height:102px;font-size:27px;padding-right:60px;padding-left:25px}.beach-scroll>summary>span{font-size:32px}#detail-view .beach-scroll>summary{padding:28px 20px 22px}#detail-view .scroll-paper>.included-list{padding-left:38px;padding-right:22px}}
@media(prefers-reduced-motion:reduce){.scroll-body{transition:none}}

/* Refine the keepsake details and bring related resort controls together. */
header .brand{font-size:29px;letter-spacing:0;line-height:1.2;padding:4px 0}
header .brand i{font-size:.78em}
.closing img{width:70px;height:64px;object-fit:contain;opacity:1}
#quick-answers summary:before{width:29px;height:29px;background-image:url('pearl-scallop-realistic.png');opacity:1;top:3px}
#quick-answers summary{padding-left:40px}
#detail-view .hotel-links{gap:0;justify-content:center;align-items:center;margin:12px auto 0}
#detail-view .hotel-links a.invitation-action{margin:0;min-height:92px}
#resort>.intro{margin-bottom:16px}
#resort{padding-bottom:10px}
#detail-view .beach-scroll{margin:18px auto 12px;width:100%}
#optional-extras{padding-top:0;padding-bottom:32px}
#travel .split{width:100%;max-width:100%;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
#travel .split>*{min-width:0;max-width:100%}
#travel .travel-card{width:100%;max-width:100%;margin:0 auto;box-sizing:border-box;overflow-wrap:anywhere}
#travel a.invitation-action{max-width:100%}
#travel .travel-card>p:has(.invitation-action){text-align:center}
@media(max-width:760px){#travel .split{grid-template-columns:minmax(0,1fr);gap:22px}#travel{padding-left:8%;padding-right:8%}#travel .travel-card{padding:25px 20px}#detail-view .hotel-links a.invitation-action{min-height:88px}header .brand{font-size:29px}}
/* A clean V cutout, without notches or a flattened seal during the lift. */
.entrance .envelope-base{clip-path:polygon(0 29%,50% 62%,100% 29%,100% 100%,0 100%)}
.entrance .cinema-flap{clip-path:polygon(0 0,100% 0,100% 29%,50% 62%,0 29%);transform-origin:50% 0}
@keyframes cinema-flap-lift{0%{transform:none;opacity:1}18%{transform:translateY(-1%);opacity:1}55%{transform:translateY(-22%) rotateX(28deg);opacity:1}100%{transform:translateY(-90%) rotateX(40deg);opacity:0}}
@keyframes cinema-envelope-away{0%{transform:none;opacity:1}20%{transform:translateY(1%);opacity:1}55%{transform:translateY(12%);opacity:1}100%{transform:translateY(75%);opacity:0}}

/* Quiet music control, revealed after the envelope opens. */
.music-toggle{font:500 .875rem 'DM Sans',sans-serif;color:var(--name-blue);padding:10px 8px;min-height:44px;white-space:nowrap;border-bottom:1px solid #9b805066;margin-left:auto;margin-right:14px}header .header-date{margin-left:auto}@media(max-width:760px){.music-toggle{font-size:.875rem;margin-right:8px;padding:10px 4px}header{gap:8px}.menu-button{gap:10px}}

/* Paired watercolor vignettes integrated with each preparation service. */
#detail-view #get-ready:before{display:none}
#get-ready .prep-services{gap:38px;align-items:start}
#get-ready .prep-service{border-top:0;padding-top:0;text-align:center;min-width:0}
#get-ready .prep-art{margin:0 auto 12px;width:min(100%,400px);aspect-ratio:3/2;display:flex;align-items:center;justify-content:center}
#get-ready .prep-art img{display:block;width:100%;height:100%;object-fit:contain}
#get-ready .prep-service h3{color:#173855;margin:0 0 14px}
#get-ready .prep-service p{max-width:34ch;margin:0 auto 18px}
#get-ready .prep-service .invitation-action{margin-left:auto;margin-right:auto}
@media(max-width:760px){#get-ready .prep-services{gap:40px}#get-ready .prep-art{width:min(100%,340px);margin-bottom:8px}#get-ready .prep-service+.prep-service{border-top:1px solid #cfc7b580;padding-top:26px}}

/* Small pastel fashion vignette and quieter spa accent. */
#get-ready .prep-service:first-child .prep-art{width:min(100%,280px);height:185px;aspect-ratio:auto;margin:0 auto 16px}
#get-ready .prep-service:nth-child(2) .prep-art{width:min(100%,185px);height:185px;aspect-ratio:auto;margin:0 auto 16px}
@media(max-width:760px){#get-ready .prep-service:first-child .prep-art{width:260px;max-width:100%;height:174px}#get-ready .prep-service:nth-child(2) .prep-art{width:170px;height:125px}}

/* User-approved artwork: gentle shuttle movement and two compact service illustrations. */
#detail-view #travel:before{display:none}
.shuttle-watercolor{width:min(100%,360px);height:172px;margin:6px auto 20px;position:relative;overflow:hidden;mix-blend-mode:multiply}
.shuttle-watercolor img{display:block;position:absolute;width:100%;height:auto;top:-34px;animation:shuttle-gentle-drive 4.8s ease-in-out infinite;transform-origin:center 70%}
@keyframes shuttle-gentle-drive{0%,100%{transform:translateX(-7px) translateY(0) rotate(-.25deg)}50%{transform:translateX(7px) translateY(-2px) rotate(.25deg)}}
#get-ready .prep-service:first-child .approved-salon-art{position:relative;width:260px;max-width:100%;height:auto;aspect-ratio:700/725;overflow:hidden;mix-blend-mode:multiply;mask-image:linear-gradient(to right,#000 0%,#000 86%,transparent 100%)}
#get-ready .prep-service .approved-salon-art img{position:absolute;width:171.4286%;height:auto;max-width:none;top:0;left:0;object-fit:initial}
#get-ready .prep-service:nth-child(2) .approved-spa-art{position:relative;width:210px;max-width:100%;height:auto;aspect-ratio:650/450;overflow:hidden;mix-blend-mode:multiply}
#get-ready .prep-service .approved-spa-art img{position:absolute;width:184.6154%;height:auto;max-width:none;top:-178.8889%;left:0;object-fit:initial}
@media(prefers-reduced-motion:reduce){.shuttle-watercolor img{animation:none}}

/* Transparent watercolor vehicle crosses its paper lane slowly, only left to right. */
.shuttle-watercolor{width:100%;max-width:520px;height:160px;margin:8px auto 20px;overflow:hidden;background:none;mix-blend-mode:normal}
.shuttle-watercolor img{position:absolute;top:0;left:0;width:70%;height:100%;max-width:none;object-fit:contain;transform:none;animation:shuttle-cross-paper 14s linear infinite}
@keyframes shuttle-cross-paper{0%{left:0;transform:translateX(0);opacity:0}7%{opacity:1}90%{left:100%;transform:translateX(-100%);opacity:1}97%,100%{left:100%;transform:translateX(-100%);opacity:0}}
@media(max-width:760px){.shuttle-watercolor{height:132px}}
@media(prefers-reduced-motion:reduce){.shuttle-watercolor img{animation:none;left:15%;transform:none;opacity:1}}

/* Pale sand grounds the shuttle; the free form is emphasized beside its explanation. */
.shuttle-watercolor:before{content:'';position:absolute;left:0;right:0;bottom:5px;height:45px;background:url('shuttle-sand-ground.png') center/100% 100% no-repeat;pointer-events:none}
.shuttle-watercolor img{top:auto;bottom:18px;height:calc(100% - 22px);object-position:center bottom;z-index:1}
.eticket-emphasis{position:relative;display:inline-block;white-space:nowrap;isolation:isolate;padding:3px 6px;margin-left:-6px}
.eticket-emphasis svg{position:absolute;inset:-7px -8px;width:calc(100% + 16px);height:calc(100% + 14px);overflow:visible;z-index:-1;pointer-events:none}
.eticket-emphasis path{fill:none;stroke:#b8a2b5;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:eticket-pencil-circle 7s ease-in-out infinite}
@keyframes eticket-pencil-circle{0%,8%{stroke-dashoffset:1;opacity:.5}40%,85%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}
#travel .travel-card li .eticket-inline-link{display:flex;width:100%;max-width:420px;min-width:0;margin:16px auto 20px;box-sizing:border-box}
#travel .eticket-inline-link .action-label{white-space:normal;text-wrap:balance}
@media(prefers-reduced-motion:reduce){.eticket-emphasis path{animation:none;stroke-dashoffset:0;opacity:1}}

/* A softly animated watercolor vignette for time by the sea. */
#detail-view #resort:before{display:none}
#resort .resort-watercolor{width:min(100%,430px);margin:8px auto 22px;background:none;pointer-events:none}
#resort .resort-watercolor img{display:block;width:100%;height:auto;animation:resort-watercolor-breeze 8s ease-in-out infinite;transform-origin:50% 75%}
@keyframes resort-watercolor-breeze{0%,100%{transform:translateY(0) rotate(-.35deg)}50%{transform:translateY(-5px) rotate(.35deg)}}
@media(max-width:760px){#resort .resort-watercolor{width:min(100%,320px);margin:4px auto 20px}}
@media(prefers-reduced-motion:reduce){#resort .resort-watercolor img{animation:none}}

/* Keep calligraphy in the ribbon's central silk panel, clear of curls and shell. */
#detail-view a.invitation-action{padding:0;min-height:110px;height:var(--ribbon-height,130px);flex-shrink:0}
#detail-view a.invitation-action .action-label{position:absolute;left:14%;width:62%;top:48%;transform:translateY(-50%);margin:0;padding:0 3px;font-size:var(--ribbon-font,1.6875rem);line-height:1.2;white-space:normal;overflow-wrap:normal;word-break:normal;text-wrap:balance}
#detail-view a.invitation-action::before{inset:0;background-size:100% 100%}

/* Dark navy ink improves contrast on all three textured celebration cards. */
#celebrations .suite-card .suite-copy{color:#102f4d}
#celebrations .suite-card h3,#celebrations .suite-card h4,
#celebrations .suite-card .meta,#celebrations .suite-card p,
#celebrations .suite-card p.note,#celebrations .suite-card a{color:#102f4d}
#celebrations .suite-card .meta,#celebrations .suite-card p{font-weight:500}
#celebrations .suite-card p.event-place{margin-bottom:4px}
#celebrations .suite-card p.location-reference{font-size:18px;line-height:1.55;margin:0 0 20px}
#celebrations .suite-card .location-reference a{display:inline-block;margin-top:6px;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;font-weight:600}

/* A centered shuttle drifts gently across the middle of its sand lane. */
.shuttle-watercolor img{left:15%;animation:shuttle-centered-drift 12s ease-in-out infinite;opacity:1}
@keyframes shuttle-centered-drift{0%,100%{transform:translateX(-8px)}50%{transform:translateX(8px)}}
#travel .split>div:first-child{text-align:center}
#travel .split>div:first-child>p{max-width:36ch;margin-left:auto;margin-right:auto}
.chapter.paper-card{touch-action:manipulation;cursor:pointer}
.chapter.paper-card>*{pointer-events:none}
.chapter.paper-card:active{transform:scale(.985)}
#detail-view .beach-scroll{scroll-margin-top:100px}
@media(hover:none){
 .chapter.paper-card:hover,.chapter.paper-card:focus-visible{transform:rotate(var(--paper-angle,0deg))}
 .chapter.paper-card:hover .paper-photo img{transform:none}
 .chapter.paper-02:hover .paper-photo img{transform:scale(1.3)}
}
@media(prefers-reduced-motion:reduce){.shuttle-watercolor img{animation:none;transform:none}}

/* Quiet focus cues instead of rectangular frames around the monogram and cover. */
header .brand:focus,header .brand:focus-visible,
.entrance .opening-envelope .seal:focus,.entrance .opening-envelope .seal:focus-visible,
#detail-view section:focus,#detail-view details[tabindex="-1"]:focus{outline:none}
header .brand:focus-visible{text-decoration:underline;text-decoration-color:#153553;text-underline-offset:7px;text-decoration-thickness:1px}
.entrance .opening-envelope .seal:focus-visible{box-shadow:inset 0 0 65px #fff8e580}

/* Gold calligraphy below the shell, on top of the envelope artwork. */
.entrance .seal-prompt{position:absolute;z-index:11;top:67%;left:0;width:100%;text-align:center;pointer-events:none;font:400 clamp(28px,5vw,38px)/1.35 'Great Vibes',cursive;color:#f0d59a;text-shadow:0 1px 2px #514125,0 0 12px #79674670;transition:opacity .35s ease}
.entrance.opening .seal-prompt{opacity:0}
/* More visible travel, centered on the same sand lane. */
.shuttle-watercolor img{animation:shuttle-lively-drive 7s ease-in-out infinite;transform-origin:center bottom}
@keyframes shuttle-lively-drive{0%,100%{transform:translateX(-14%) translateY(0) rotate(-.35deg)}50%{transform:translateX(14%) translateY(-3px) rotate(.35deg)}}
html.intro-auto-scroll{scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){.shuttle-watercolor img{animation:none;transform:none}.entrance .seal-prompt{transition:none}}

/* Pearlescent ink with the existing paper grain, gently pressed into the envelope. */
.entrance .seal-prompt{color:#e8e1d5;font-size:clamp(27px,4.8vw,36px);letter-spacing:.015em;text-shadow:0 1px 1px #4b657044,0 -1px 0 #fffaf166;opacity:.94}
@supports (background-clip:text) or (-webkit-background-clip:text){
 .entrance .seal-prompt{background-image:linear-gradient(115deg,#d7d5d7 12%,#f5eddd 34%,#d9d4dc 53%,#fff3dc 72%,#d8dbd8 91%),url('cotton-paper.webp');background-size:100% 100%,180px;background-blend-mode:multiply;background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
}
.entrance.opening .seal-prompt{opacity:0}

/* A clearer nacre inscription, with ivory highlights and soft rose/lilac sheen. */
.entrance .seal-prompt{font-size:clamp(32px,5.7vw,43px);opacity:1;letter-spacing:.02em;color:#fff4e4;text-shadow:0 1px 1px #49616e88,0 -1px 0 #fffdf4aa,0 2px 5px #4b657033}
@supports (background-clip:text) or (-webkit-background-clip:text){
 .entrance .seal-prompt{background-image:linear-gradient(115deg,#f5e4d8 5%,#fffdf0 23%,#dcd9ee 40%,#fff5db 57%,#eedbe4 73%,#fffff1 90%),url('cotton-paper.webp');background-size:100% 100%,110px;background-blend-mode:multiply;color:transparent;-webkit-text-fill-color:transparent}
}
.entrance.opening .seal-prompt{opacity:0}

/* Match the shell's brightest pearl highlights without darkening the lettering. */
.entrance .seal-prompt{color:#fffdf9;text-shadow:0 -1px 0 #ffffff,0 1px 1px #52667455,0 0 3px #fffdf533}
@supports (background-clip:text) or (-webkit-background-clip:text){
 .entrance .seal-prompt{background-image:linear-gradient(115deg,#fffdf9 0%,#ffffff 24%,#f4f1f8 43%,#fffefa 61%,#faf2f3 78%,#ffffff 100%),url('cotton-paper.webp');background-blend-mode:screen;background-size:100% 100%,110px;color:transparent;-webkit-text-fill-color:transparent}
}

/* Prevent browser smooth scrolling and anchoring from competing with the slow tour. */
html.intro-auto-scroll,html.intro-auto-scroll body{scroll-behavior:auto!important;overflow-anchor:none;scroll-snap-type:none!important}
html.intro-auto-scroll main{overflow-anchor:none}
html.intro-auto-scroll .portrait>img{animation-play-state:paused}

/* Keep the slow tour on a composited layer; transfer to native scroll on touch. */
html.intro-auto-scroll,html.intro-auto-scroll body{overflow:hidden!important}
html.intro-auto-scroll main,html.intro-auto-scroll footer{transform:translate3d(0,var(--intro-travel,0px),0);will-change:transform}

/* Clear arrival and departure instructions within the existing travel card. */
#travel .otium-transfers{max-width:680px;margin:30px auto;text-align:left;color:#102f4d;padding:24px clamp(16px,4vw,30px);border:1px solid #cfc7b5;background:#fffdf580;border-radius:4px}
#travel .otium-transfers h3{font:500 32px/1.2 'Cormorant Garamond',serif;text-align:center;margin:0 0 24px;color:#102f4d}
#travel .transfer-leg+h4,#travel .transfer-leg+.transfer-leg{border-top:0;margin-top:24px;padding-top:24px}
#travel .transfer-leg h4{font:500 27px/1.25 'Cormorant Garamond',serif;margin:0 0 16px;color:#102f4d}
#travel .transfer-leg h4 span{display:block;font:400 16px/1.6 'DM Sans',sans-serif;margin-top:4px}
#travel .otium-transfers p,#travel .otium-transfers li{font:400 16px/1.8 'DM Sans',sans-serif;color:#102f4d;text-align:left}
#travel .otium-transfers ul{padding-left:22px;margin:12px 0}
#travel .otium-transfers li{padding-left:3px;margin:0 0 14px}
#travel .otium-transfers strong{font-weight:600}
#travel .otium-transfers a{color:#102f4d;text-underline-offset:3px;overflow-wrap:anywhere}

/* Make both travel topics visible before the transfer instructions. */
#travel .travel-overview{max-width:760px;margin:0 auto 38px;text-align:center;color:#102f4d}
#travel .travel-overview p{font-size:16px;line-height:1.75;margin:0 auto 22px;max-width:54ch;color:#102f4d}
#travel .travel-topic-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
#travel .travel-topic-links a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:13px 18px;border:1px solid #a5b5be;background:#eaf0f2;color:#102f4d;border-radius:4px;font:500 16px/1.5 'DM Sans',sans-serif;text-decoration:none;touch-action:manipulation}
#travel .travel-topic-links a:hover{background:#dce6ea}
#travel .transfer-heading{font:400 clamp(36px,5vw,48px)/1.15 'Cormorant Garamond',serif;color:#102f4d}
#airport-transfers,#entry-requirements{scroll-margin-top:100px}
@media(max-width:480px){#travel .travel-topic-links a{width:100%}}

/* Approved pearl relief, gold flourishes and option S shuttle. */
.entrance .seal-prompt{white-space:nowrap;left:5%;width:90%;font-size:clamp(25px,6.4vw,43px);letter-spacing:0;background-image:repeating-linear-gradient(125deg,#fffefa 0px,#fffefa 2px,#ded6d0 3px,#fffdf9 4px,#f1e7ed 6px,#ffffff 8px);background-blend-mode:normal;background-size:100% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;text-shadow:0 -1px .4px #fff,0 1px .5px #b7aaa0,0 2px 1px #62778188,0 3px 3px #526b7533;-webkit-text-stroke:.15px #fffaf3}
#travel .travel-topic-links{display:flex;flex-direction:column;align-items:center;gap:12px}
#travel .travel-topic-links a{width:100%;max-width:550px;min-height:86px;padding:19px 16%;border:0;border-radius:0;background: url('gold-flourish-frame.png') center/100% 185% no-repeat;color:#102f4d;font:500 clamp(18px,2.8vw,23px)/1.2 'Cormorant Garamond',serif;text-align:center;box-sizing:border-box;display:block;align-content:center;transition:filter .2s ease}
#travel .travel-topic-links a:hover{background: url('gold-flourish-frame.png') center/100% 185% no-repeat;filter:brightness(1.035)}
#travel .travel-topic-links a:focus-visible{outline:2px solid #153553;outline-offset:3px}
.shuttle-watercolor{max-width:440px;height:142px}
.shuttle-watercolor img{width:62%;left:19%;height:calc(100% - 26px);bottom:17px;filter:saturate(.72);object-position:center bottom}
@media(max-width:480px){#travel .travel-topic-links a{min-height:78px;padding:15px 15%;font-size:19px}.shuttle-watercolor{height:120px}}

/* Flowing satin travel ribbons, matching the hotel-location ribbon. */
#travel .travel-topic-links{gap:0}
#travel .travel-topic-links a,#travel .travel-topic-links a:hover{position:relative;display:block;width:100%;max-width:550px;height:clamp(100px,28vw,145px);min-height:0;padding:0;border:0;background:url('ivory-silk-ribbon.png') center/100% 100% no-repeat;font:500 clamp(21px,5.4vw,29px)/1.2 'Cormorant Garamond',serif}
#travel .travel-topic-links a[href="#entry-requirements"]{height:clamp(130px,34vw,175px);font-size:clamp(14px,3.9vw,22px)}
#travel .travel-ribbon-label{position:absolute;left:14%;width:62%;top:47%;transform:translateY(-50%);text-align:center;color:#102f4d;white-space:nowrap}
#travel .travel-ribbon-label>span{display:block;line-height:1.3}

/* Approved satin rectangles: shared type size for both travel labels. */
#travel .travel-topic-links{gap:14px}
#travel .travel-topic-links a,#travel .travel-topic-links a:hover,#travel .travel-topic-links a[href="#entry-requirements"]{width:100%;max-width:550px;height:90px;min-height:90px;padding:12px 7%;display:flex;align-items:center;justify-content:center;background:url('ivory-satin-rectangle.png') center/100% 195% no-repeat;border:0;font:500 clamp(18px,4.6vw,24px)/1.25 'Cormorant Garamond',serif}
#travel .travel-ribbon-label{position:static;left:auto;top:auto;width:100%;transform:none;white-space:normal;font:inherit}
#travel .travel-ribbon-label>span{display:block;font:inherit;line-height:1.25}

/* Match the OTIUM information card to the entry-requirements palette. */
#travel .otium-transfers{background:#eeeade;color:var(--ink);border:0;border-radius:0}
#travel .otium-transfers h3,#travel .otium-transfers h4,#travel .otium-transfers p,#travel .otium-transfers li,#travel .otium-transfers a{color:var(--ink)}
