/* Wedding Holiday: readable travel memories and a concrete wedding invitation. */
body[data-theme="holiday"]{--holiday-blue:#164aab;--holiday-deep:#163779;--holiday-cream:#fffaf0;--holiday-paper:#f6efdf;--holiday-orange:#d5662d;--holiday-line:#c9d0d6;margin:0;background:var(--holiday-cream);color:var(--holiday-deep);font-family:"Noto Serif TC","Songti TC",serif;font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}
body[data-theme="holiday"] *,body[data-theme="holiday"] *::before,body[data-theme="holiday"] *::after{box-sizing:border-box}
body[data-theme="holiday"] img{display:block;max-width:100%;height:auto}
body[data-theme="holiday"] button,body[data-theme="holiday"] input{font:inherit}
body[data-theme="holiday"] a{color:inherit;text-underline-offset:.25em}
body[data-theme="holiday"] button{cursor:pointer}
body[data-theme="holiday"] button,body[data-theme="holiday"] a{-webkit-tap-highlight-color:transparent}
body[data-theme="holiday"] :focus-visible{outline:2px solid var(--holiday-orange);outline-offset:5px}
body[data-theme="holiday"] [hidden]{display:none!important}
body[data-theme="holiday"] h1,body[data-theme="holiday"] h2,body[data-theme="holiday"] h3,body[data-theme="holiday"] p,body[data-theme="holiday"] figure{margin:0}
body[data-theme="holiday"] p{overflow-wrap:anywhere}
body[data-theme="holiday"] h2{font-size:clamp(30px,3vw,44px);font-weight:400;line-height:1.6;letter-spacing:.02em;overflow-wrap:anywhere}
body[data-theme="holiday"] h3{font-weight:400;line-height:1.65;overflow-wrap:anywhere}
body[data-theme="holiday"] [data-wedding-text]{max-width:100%;overflow-wrap:anywhere}
body[data-theme="holiday"] section[id]{scroll-margin-top:28px}
.holiday-container{width:min(1240px,calc(100% - 96px));margin-inline:auto}
.holiday-section{padding-block:90px}
.holiday-skip{position:fixed;top:8px;left:12px;z-index:100;min-height:44px;padding:9px 16px;background:var(--holiday-blue);color:white!important;transform:translateY(-200%)}
.holiday-skip:focus{transform:none}
.holiday-topline{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:55px;border-bottom:1px solid var(--holiday-line);font:12px/1.7 Arial,sans-serif;letter-spacing:.06em}
.holiday-topline>a{display:flex;align-items:center;min-height:44px;font-family:"Noto Serif TC",serif;text-decoration:none;letter-spacing:0}
.holiday-navigation{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:88px}
.holiday-navigation>*{min-width:0}
.holiday-brand{font:30px/1.2 "Bodoni Moda",Georgia,serif;text-decoration:none;display:flex;align-items:center;min-height:44px;overflow-wrap:anywhere}
.holiday-nav-links{display:flex;align-items:center;justify-content:flex-end;gap:24px;margin-left:auto}
.holiday-nav-links a{display:flex;align-items:center;min-height:44px;font-size:14px;text-decoration:none;white-space:nowrap}
.holiday-nav-links a:hover{text-decoration:underline}
.holiday-header-rsvp{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:18px;padding:9px 16px;border:1px solid var(--holiday-blue);background:transparent;color:var(--holiday-blue);font-size:16px!important;white-space:nowrap}
.holiday-header-rsvp:hover{background:var(--holiday-blue);color:var(--holiday-cream)}
.holiday-eyebrow{margin-bottom:20px!important;font:13px/1.8 Arial,"Noto Serif TC",serif;letter-spacing:.09em}
.holiday-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:64px;align-items:center;padding-block:48px 70px}
.holiday-hero>*{min-width:0}
.holiday-hero h1{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 .16em;color:var(--holiday-blue);font:400 clamp(50px,6.2vw,88px)/1.12 "Bodoni Moda",Georgia,serif;letter-spacing:-.035em}
.holiday-hero h1>span{min-width:0;max-width:100%;overflow-wrap:anywhere}
.holiday-hero h1>i{font-size:.55em;font-weight:400}
.holiday-local-names{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:17px!important;font-size:18px}
.holiday-local-names>span:nth-child(2){font-size:14px}
.holiday-hero-line{font-size:20px;line-height:1.9;margin-top:28px!important}
.holiday-hero-facts{margin:30px 0 26px;padding:21px 0;border-block:1px solid var(--holiday-line);display:grid;gap:11px}
.holiday-hero-facts>div{display:grid;grid-template-columns:76px minmax(0,1fr);gap:16px;align-items:baseline}
.holiday-hero-facts dt{font-size:13px}
.holiday-hero-facts dd{font-size:16px;margin:0;line-height:1.8}
.holiday-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 24px}
.holiday-button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;max-width:100%;min-height:54px;padding:13px 20px;border:1px solid transparent;font-size:16px!important;line-height:1.7;text-align:left;text-decoration:none}
.holiday-button>span{flex-shrink:0;font:22px/1 Arial,sans-serif}
.holiday-button-blue{background:var(--holiday-blue);color:var(--holiday-cream)!important}
.holiday-button-cream{background:var(--holiday-cream);color:var(--holiday-blue)!important}
.holiday-button:hover{filter:brightness(.95)}
.holiday-text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;max-width:100%;min-height:44px;padding:8px 0;border:0;border-bottom:1px solid currentColor;background:transparent;color:inherit;font-size:16px!important;line-height:1.7;text-decoration:none}
.holiday-text-link>span{flex-shrink:0;font:21px/1 Arial,sans-serif}
.holiday-photo-button{position:relative;display:block;width:100%;min-height:44px;margin:0;padding:0;border:0;background:var(--holiday-paper);color:var(--holiday-blue);cursor:zoom-in}
.holiday-photo-button img{width:100%;object-fit:cover}
.holiday-photo-button:hover img{filter:brightness(.97)}
.holiday-photo-expand{position:absolute;right:14px;bottom:14px;display:grid;width:44px;height:44px;place-items:center;background:var(--holiday-cream);color:var(--holiday-blue);font:24px/1 Arial,sans-serif}
.holiday-hero-photo{min-width:0}
.holiday-hero-photo img{aspect-ratio:4/5;object-position:56% center}
.holiday-hero-photo figcaption,.holiday-story-photo figcaption,.holiday-closing-photo figcaption{padding-top:13px;font-size:12px;line-height:1.8}
.holiday-story{border-top:1px solid var(--holiday-line)}
.holiday-story-layout{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1fr);align-items:center;gap:72px}
.holiday-story-layout>*{min-width:0}
.holiday-story-copy>p:not(.holiday-eyebrow){margin-top:26px;font-size:16px;line-height:2}
.holiday-story-photo{padding:14px;border:1px solid var(--holiday-line);background:#fffdf8}
.holiday-story-photo img{aspect-ratio:3/2}
.holiday-travel-note{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1fr);gap:72px;margin-top:55px;padding-top:34px;border-top:1px solid var(--holiday-line)}
.holiday-travel-note>*{min-width:0}
.holiday-travel-note h3{font-size:26px}
.holiday-travel-note>p{font-size:16px;line-height:2}
.holiday-postcard-section{background:var(--holiday-paper);border-block:1px solid #e5dfd1}
.holiday-postcard-layout{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.1fr);gap:64px;align-items:center}
.holiday-postcard-layout>*{min-width:0}
.holiday-postcard-intro>p:not(.holiday-eyebrow){margin-top:25px;font-size:16px;line-height:2}
.holiday-postcard-instructions{margin-top:30px}
.holiday-postcard-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:15px}
.holiday-postcard-switch button{min-width:0;min-height:48px;padding:9px 11px;border:1px solid var(--holiday-blue);background:transparent;color:var(--holiday-blue);font-size:16px!important}
.holiday-postcard-switch button+button{border-left:0}
.holiday-postcard-switch button[aria-pressed="true"]{background:var(--holiday-blue);color:var(--holiday-cream)}
.holiday-postcard-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;width:100%;padding:7px 0;border:0;border-bottom:1px solid var(--holiday-line);background:transparent;color:var(--holiday-blue);font-size:16px!important;text-align:left}
.holiday-postcard-toggle>span:last-child{font:28px/1 Georgia,serif;flex-shrink:0}
.holiday-small-note{margin-top:13px!important;font-size:12px;line-height:1.85}
.holiday-postcard{perspective:2200px;min-width:0}
.holiday-postcard-inner{display:grid;gap:26px;min-width:0}
.holiday-postcard-face{min-width:0;padding:22px;border:1px solid #d8d3c8;background:#fffdf7;box-shadow:0 12px 24px rgb(34 45 60 / 7%)}
.holiday-postcard-front .holiday-photo-button{min-height:280px;aspect-ratio:3/2}
.holiday-postcard-front img{height:100%;object-fit:cover;position:absolute;inset:0}
.holiday-postcard-front-label{padding:24px 0 5px}
.holiday-postcard-front-label>p{font-size:18px;line-height:1.8}
.holiday-postcard-front-label>span{display:block;font:30px/1.5 "Bodoni Moda",Georgia,serif;margin-top:12px;overflow-wrap:anywhere}
.holiday-postcard-back{padding:30px}
.holiday-postcard-back-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}
.holiday-postcard-back-top>span:first-child{font-size:13px}
.holiday-letter-stamp{display:grid;place-items:center;flex-shrink:0;width:67px;min-height:73px;padding:8px;border:1px dashed var(--holiday-blue);outline:1px solid var(--holiday-blue);outline-offset:-5px;background:#e7edf9;font:24px/1.3 "Bodoni Moda",Georgia,serif}
.holiday-postcard-back h3{font-size:25px;margin-bottom:18px!important}
.holiday-postcard-back>p:not(.holiday-letter-signature){font-size:16px;line-height:1.95}
.holiday-postcard-facts{margin:25px 0;display:grid;gap:12px;padding-block:20px;border-block:1px solid var(--holiday-line)}
.holiday-postcard-facts>div{display:grid;grid-template-columns:36px minmax(0,1fr);gap:15px;align-items:baseline}
.holiday-postcard-facts dt{font-size:12px}
.holiday-postcard-facts dd{margin:0;font-size:16px;line-height:1.8}
.holiday-letter-signature{font:30px/1.4 "Bodoni Moda",Georgia,serif;margin-top:22px!important}
.holiday-postcard.is-interactive .holiday-postcard-inner{position:relative;display:block;gap:0;transform-style:preserve-3d;transition:transform 700ms cubic-bezier(.22,.7,.26,1),height 350ms ease}
.holiday-postcard.is-interactive.is-flipped .holiday-postcard-inner{transform:rotateY(180deg)}
.holiday-postcard.is-interactive .holiday-postcard-face{position:absolute;inset:0 0 auto;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.holiday-postcard.is-interactive .holiday-postcard-back{transform:rotateY(180deg)}
.holiday-postcard.is-interactive .holiday-postcard-front{display:block}
.holiday-postcard.is-interactive .holiday-postcard-front .holiday-photo-button{min-height:0;aspect-ratio:3/2}
.holiday-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:36px;margin-bottom:35px}
.holiday-section-heading>*{min-width:0}
.holiday-day-date{display:flex;flex-direction:column;align-items:flex-start;gap:12px;font-size:16px}
.holiday-itinerary{list-style:none;margin:0;padding:0;border-top:1px solid var(--holiday-blue)}
.holiday-itinerary>li{display:grid;grid-template-columns:150px minmax(0,1fr);gap:35px;align-items:start;padding:30px 0;border-bottom:1px solid var(--holiday-line)}
.holiday-itinerary>li>*{min-width:0}
.holiday-event-time{font:400 40px/1.35 "Bodoni Moda",Georgia,serif}
.holiday-itinerary h3{font-size:24px;margin-bottom:9px!important}
.holiday-itinerary p{font-size:16px;line-height:1.9}
.holiday-destination{background:var(--holiday-blue);color:var(--holiday-cream)}
.holiday-destination-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:90px}
.holiday-destination-layout>*{min-width:0}
.holiday-destination h2{margin-bottom:28px!important}
.holiday-destination p{font-size:16px;line-height:1.95}
.holiday-destination .holiday-destination-signature{font:36px/1.4 "Bodoni Moda",Georgia,serif;margin-top:35px}
.holiday-destination-address h3{font-size:28px;margin-bottom:18px!important}
.holiday-destination-address .holiday-address{margin-bottom:22px;font-size:18px}
.holiday-destination-address .holiday-button{margin-top:28px}
.holiday-destination-address .holiday-venue-note{font-size:16px;margin-top:20px}
.holiday-destination :focus-visible{outline-color:var(--holiday-cream)!important}
.holiday-closing{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1fr);gap:90px;align-items:center}
.holiday-closing>*{min-width:0}
.holiday-closing-photo img{aspect-ratio:3/4}
.holiday-closing-copy>p:not(.holiday-eyebrow):not(.holiday-small-note){font-size:16px;line-height:2;margin-top:25px}
.holiday-closing-facts{margin:28px 0;font-size:16px}
.holiday-closing-facts>p+p{margin-top:6px}
.holiday-footer{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.4fr) auto;gap:35px;align-items:center;border-top:1px solid var(--holiday-line);padding-block:30px 40px;font-size:12px;line-height:1.9}
.holiday-footer>*{min-width:0}
.holiday-footer .holiday-footer-names{font:28px/1.5 "Bodoni Moda",Georgia,serif;overflow-wrap:anywhere}
.holiday-footer .holiday-text-link{font-size:14px!important}
.holiday-mobile-invite{display:none}
.holiday-noscript{padding:24px;font-size:14px;text-align:center}
.holiday-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:1100px){.holiday-container{width:calc(100% - 64px)}.holiday-nav-links{gap:16px}.holiday-nav-links a{font-size:13px}.holiday-hero{gap:38px}.holiday-story-layout,.holiday-travel-note{gap:45px}.holiday-postcard-layout{gap:38px}.holiday-postcard-back{padding:24px}.holiday-destination-layout,.holiday-closing{gap:55px}}
@media(max-width:860px){.holiday-container{width:calc(100% - 48px)}.holiday-section{padding-block:70px}.holiday-nav-links{display:none}.holiday-hero{grid-template-columns:minmax(0,1fr);gap:40px;padding-top:30px}.holiday-hero-copy{max-width:680px}.holiday-hero h1{font-size:clamp(54px,9vw,80px)}.holiday-hero-photo img{aspect-ratio:3/2;object-position:center}.holiday-story-layout{grid-template-columns:minmax(0,1fr);gap:32px}.holiday-story-copy{max-width:640px}.holiday-travel-note{grid-template-columns:minmax(0,1fr);gap:25px}.holiday-postcard-layout{grid-template-columns:minmax(0,1fr);gap:40px}.holiday-postcard-intro{max-width:680px}.holiday-postcard-instructions{max-width:440px}.holiday-postcard{max-width:680px;width:100%;margin-inline:auto}.holiday-postcard-face{padding:25px}.holiday-section-heading{align-items:flex-start;flex-direction:column;gap:24px}.holiday-day-date{width:100%;flex-direction:row;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.holiday-destination-layout{gap:40px}.holiday-closing{gap:40px}.holiday-footer{grid-template-columns:minmax(0,1fr) auto}.holiday-footer>p{grid-column:1/-1;grid-row:2}.holiday-footer>a{grid-column:2;grid-row:1}}
@media(max-width:600px){body[data-theme="holiday"]{padding-bottom:82px}.holiday-container{width:calc(100% - 32px)}.holiday-section{padding-block:54px}.holiday-topline{gap:12px;min-height:49px;font-size:12px;letter-spacing:.01em}.holiday-topline>span{max-width:110px;text-align:right;font-size:12px;line-height:1.5}.holiday-topline>a{font-size:12px}.holiday-navigation{min-height:78px;gap:16px}.holiday-brand{font-size:27px;max-width:45%}.holiday-header-rsvp{padding:8px 13px;gap:12px;font-size:16px!important}.holiday-hero{padding-block:25px 45px;gap:30px}.holiday-hero h1{font-size:clamp(48px,12.8vw,70px);line-height:1.15}.holiday-eyebrow{font-size:13px;margin-bottom:16px!important}.holiday-local-names{font-size:17px;gap:10px;margin-top:15px!important}.holiday-hero-line{font-size:19px;margin-top:23px!important}.holiday-hero-facts{margin-block:25px;padding-block:18px;gap:12px}.holiday-hero-facts>div{grid-template-columns:65px minmax(0,1fr);gap:12px}.holiday-hero-facts dt{font-size:12px}.holiday-hero-facts dd{font-size:16px}.holiday-hero-actions{gap:15px}.holiday-hero-actions .holiday-button{width:100%}.holiday-hero-actions .holiday-text-link{width:100%}.holiday-hero-photo img{aspect-ratio:1.3;object-position:58% center}.holiday-photo-expand{right:10px;bottom:10px;width:44px;height:44px}.holiday-hero-photo figcaption,.holiday-story-photo figcaption,.holiday-closing-photo figcaption{font-size:12px}.holiday-story-photo{padding:10px}.holiday-story-copy>p:not(.holiday-eyebrow){margin-top:21px}.holiday-travel-note{margin-top:33px;padding-top:27px;gap:20px}.holiday-travel-note h3{font-size:24px}.holiday-postcard-layout{gap:30px}.holiday-postcard-intro>p:not(.holiday-eyebrow){margin-top:20px}.holiday-postcard-instructions{max-width:none;margin-top:24px}.holiday-postcard-switch button{font-size:16px!important}.holiday-postcard-toggle{font-size:16px!important}.holiday-postcard-face{padding:16px}.holiday-postcard-back{padding:22px 18px}.holiday-postcard-front .holiday-photo-button{min-height:300px}.holiday-postcard-front-label{padding:22px 0 4px}.holiday-postcard-front-label>p{font-size:17px}.holiday-postcard-front-label>span{font-size:28px}.holiday-postcard-back-top{gap:15px;margin-bottom:22px}.holiday-postcard-back-top>span:first-child{font-size:13px;max-width:140px}.holiday-letter-stamp{width:62px;min-height:70px;font-size:23px}.holiday-postcard-back h3{font-size:24px}.holiday-postcard-back>p:not(.holiday-letter-signature){font-size:16px}.holiday-postcard-facts{margin-block:23px}.holiday-postcard-facts>div{grid-template-columns:32px minmax(0,1fr);gap:12px}.holiday-postcard-back .holiday-button{width:100%;gap:18px;padding-inline:14px}.holiday-letter-signature{font-size:28px}.holiday-day-date{flex-direction:column;align-items:flex-start;gap:13px}.holiday-itinerary>li{grid-template-columns:75px minmax(0,1fr);gap:16px;padding-block:25px}.holiday-event-time{font-size:29px;line-height:1.7}.holiday-itinerary h3{font-size:22px}.holiday-itinerary p{font-size:16px}.holiday-destination-layout{grid-template-columns:minmax(0,1fr);gap:35px}.holiday-destination-layout>div:first-child{padding-bottom:30px;border-bottom:1px solid #fffaf04d}.holiday-destination h2{font-size:32px}.holiday-destination .holiday-destination-signature{font-size:32px;margin-top:25px}.holiday-destination-address h3{font-size:26px}.holiday-destination-address .holiday-address{font-size:17px}.holiday-destination-address .holiday-button{width:100%}.holiday-closing{grid-template-columns:minmax(0,1fr);gap:34px}.holiday-closing-photo{max-width:440px;width:100%;margin-inline:auto!important}.holiday-closing-photo img{aspect-ratio:4/5;object-position:center 40%}.holiday-closing-copy .holiday-button{width:100%}.holiday-footer{gap:22px;padding-block:28px 35px}.holiday-footer .holiday-footer-names{font-size:25px}.holiday-footer .holiday-text-link{font-size:13px!important;gap:12px}.holiday-mobile-invite{position:fixed;z-index:30;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;min-height:68px;padding:10px 12px max(10px,env(safe-area-inset-bottom));border-top:1px solid var(--holiday-line);background:var(--holiday-cream)}.holiday-mobile-invite>a,.holiday-mobile-invite>button{display:flex;align-items:center;justify-content:center;min-width:0;min-height:48px;padding:8px 4px;border:0;background:transparent;text-decoration:none;text-align:center;font-size:14px!important;line-height:1.5}.holiday-mobile-invite>button{background:var(--holiday-blue);color:var(--holiday-cream)}}
@media(max-width:360px){.holiday-hero h1{font-size:48px}.holiday-hero-facts>div{grid-template-columns:61px minmax(0,1fr);gap:10px}.holiday-itinerary>li{grid-template-columns:68px minmax(0,1fr);gap:12px}.holiday-event-time{font-size:27px}.holiday-mobile-invite>a,.holiday-mobile-invite>button{font-size:13px!important}.holiday-postcard-back{padding-inline:15px}}
@media(prefers-reduced-motion:reduce){body[data-theme="holiday"] *,body[data-theme="holiday"] *::before,body[data-theme="holiday"] *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.holiday-postcard.is-interactive .holiday-postcard-inner{transform:none!important}.holiday-postcard.is-interactive .holiday-postcard-face{transform:none;backface-visibility:visible;-webkit-backface-visibility:visible}.holiday-postcard.is-interactive .holiday-postcard-face[aria-hidden="true"]{visibility:hidden}}
