/* Second direction: a wedding day seen through a moving camera. */
html.reading-mode{scroll-behavior:auto}
.reading-mode .reveal{animation:none}
.journey{position:relative;background:var(--forest)}
.floral-stop{position:absolute;left:0;top:0;pointer-events:none;scroll-margin-top:-16px}
.journey.is-live #floral-canopy{top:calc(100svh - var(--nav-height))}
.journey.is-live #floral-wide{top:calc(200svh - 2 * var(--nav-height))}
.journey-stage{position:relative}
.journey-visual{position:relative;height:calc(100svh - var(--nav-height));min-height:520px;overflow:hidden;background:#819477 center/cover no-repeat;isolation:isolate}
.journey-world{position:absolute;inset:0;transform-origin:50% 59%}
.waterfall-frame{position:absolute;inset:0;overflow:hidden}
.journey-garden{
  position:absolute;
  left:-50%;
  top:-52.4%;
  width:200%;
  max-width:none;
  height:200%;
  object-fit:cover;
  object-position:50% 52.4%;
  transform-origin:50% 52.4%;
}
.journey.is-live .journey-garden{inset:0;width:100%;height:100%}
.journey.is-live .waterfall-frame{transition:filter 320ms ease-out}
.journey.is-live.portrait-in-focus .waterfall-frame{filter:blur(clamp(.8px,.12vw,1.8px))}
/* Botanical specimens share a camera centre, but each depth crosses the lens at a different distance. */
.woodland{
  position:absolute;
  inset:0;
  overflow:hidden;
  pointer-events:none;
  container-type:size;
  isolation:isolate;
}
.plant-plane{
  position:absolute;
  inset:0;
  transform-origin:50% 53%;
}
.plant-plane img{
  position:absolute;
  left:var(--x);
  top:var(--y);
  width:calc(var(--width) * min(1cqw, 1.85cqh));
  max-width:none;
  height:auto;
  transform:translate(-50%,-50%) scaleX(var(--face)) rotate(calc(var(--tilt) + var(--approach,0) * var(--lean,0deg)));
  filter:brightness(var(--light,.90)) saturate(var(--colour,.82)) blur(var(--focus,0px));
}
.plant-plane[data-plants="ferns"]{--light:.81;--colour:.75}
.plant-plane[data-plants="koru"]{--light:.88;--colour:.80}
.plant-plane[data-plants="leaves"]{--light:.82;--colour:.73}
.plant-plane[data-plants="near-blooms"]{--light:.89;--colour:.80}
@media(max-aspect-ratio:1/1){
  .plant-plane img{
    left:var(--phone-x);
    top:var(--phone-y);
    width:calc(var(--phone-width) * min(1cqw, .78cqh));
  }
}
/* A single transparent still carries the complete floral frame in reading mode. */
.journey:not(.is-live) .plant-plane{display:none}
html:not(.scroll-intro) .journey:not(.is-live) .woodland{background:url("img/scroll/floral-wide.webp") center / 100% 100% no-repeat}
@media(max-aspect-ratio:1/1){
  html:not(.scroll-intro) .journey:not(.is-live) .woodland{background-image:url("img/scroll/floral-portrait.webp")}
}
.scroll-intro .portrait-still,.scroll-intro .static-evening{display:none}
.johnny-arrival,.journey-barn{display:none}
.journey-title{position:absolute;top:0;left:0;right:0;height:calc(100svh - var(--nav-height));min-height:520px;padding:0 var(--gutter) 85px;display:flex;flex-direction:column;justify-content:flex-end;color:#fffdf6;z-index:6}
.journey-title h1{font-size:clamp(50px,8.5vw,140px);line-height:1.02;letter-spacing:-.05em;text-align:center}
.journey-title-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:25px}.journey-title-bottom p{font-size:18px;line-height:1.5}
.journey-headline{position:relative}
.journey-meet{
  display:flex;align-items:center;justify-content:center;width:max-content;max-width:100%;
  min-height:44px;margin:4px auto 0;padding:0 8px;
  font-size:clamp(15px,1.2vw,18px);line-height:1.35;font-weight:500;
  text-decoration:underline;text-underline-offset:.28em;text-decoration-color:rgba(255,253,246,.65);
  text-shadow:0 1px 4px #142218,0 2px 12px #142218;
}
.journey-meet:hover,.journey-meet:focus-visible{text-decoration-color:currentColor}
.journey.is-live .journey-headline{will-change:transform;text-shadow:0 2px 28px rgba(13,29,18,.42)}
.journey.is-live .journey-meet{position:absolute;inset:100% 0 auto;opacity:0;visibility:hidden}
@media(max-width:700px){
  .journey.is-live .journey-headline h1{margin-inline:auto;text-align:center}
  .journey:not(.is-live) .journey-meet{margin-left:0;padding-left:0}
}
.journey-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(13,29,18,.8),rgba(13,29,18,.15) 42%,transparent 70%);pointer-events:none} /* taste-skill-ignore: neutral photograph scrim keeps the title readable. */
.journey-about{display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:90px var(--gutter);background:var(--sage);gap:7vw}
.portrait-still{
  position:relative;isolation:isolate;overflow:hidden;aspect-ratio:5/6;max-height:74svh;
  background:#26372a url("img/scroll/waterfall/wide-first.webp") 45% 62%/cover;
}
.static-johnny{position:absolute;bottom:-1%;left:-1%;height:96%;width:auto;max-width:none}
.static-johnny,.johnny-arrival{filter:saturate(.84) brightness(.94) contrast(.98)}
.portrait-still::after{
  content:"";position:absolute;left:-6%;bottom:-6%;width:38%;aspect-ratio:1;
  background:url("img/scroll/woodland/blue-320.webp") center/contain no-repeat;filter:brightness(.84) blur(.65px);
}
.johnny-letter{max-width:500px}.johnny-letter h2{font-size:clamp(46px,5.8vw,86px)}.johnny-letter .statement{font-size:clamp(22px,2.1vw,30px);line-height:1.3;margin:25px 0}.johnny-letter>p:not(.statement){font-size:18px;max-width:39ch}.johnny-letter .text-link{margin-top:24px}
.journey-evening{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:6vw;background:var(--forest);color:var(--paper);padding:90px var(--gutter)}.static-evening{height:600px;object-fit:cover}.evening-letter{max-width:440px}.evening-letter h2{font-size:clamp(44px,5vw,76px)}.evening-letter p{margin-top:24px;max-width:34ch}.evening-letter .text-link{margin-top:25px}
.journey-controls{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px var(--gutter);background:var(--forest);color:var(--paper);z-index:8;font-size:14px}.journey-controls button{background:transparent;border:0;color:inherit;text-decoration:underline;text-underline-offset:4px;font-size:14px;min-height:44px;padding:8px 0}.journey-controls a{padding:10px 0}
/* One uninterrupted stage, with three readable rest points. */
.journey.is-live{height:490svh}
.journey.is-live .journey-stage{position:sticky;top:var(--nav-height);height:calc(100svh - var(--nav-height));min-height:0;overflow:hidden}
.journey.is-live .journey-visual{position:absolute;inset:0;height:100%;min-height:0}
.journey.is-live .journey-title{height:100%;min-height:0;top:0;transform-origin:50% 80%}
.journey.is-live .story-copy{will-change:transform,opacity}
.journey.is-live .journey-about,.journey.is-live .journey-evening{position:absolute;inset:0;padding:0;display:block;background:transparent;opacity:0;visibility:hidden}
.journey.is-live .portrait-still,.journey.is-live .static-evening{display:none}
.journey.is-live .johnny-letter{position:absolute;right:6%;top:50%;transform:translateY(-50%);width:39%;max-width:560px;padding:32px 38px;background:var(--paper);color:var(--ink)}
.journey.is-live .johnny-letter h2{font-size:clamp(44px,5.3vw,76px)}
.journey.is-live .evening-letter{position:absolute;right:5%;top:50%;transform:translateY(-50%);width:32%;padding:30px;background:var(--forest);color:var(--paper)}
.journey.is-live .evening-letter h2{font-size:clamp(40px,4.8vw,68px)}
.journey.is-live .journey-controls{position:absolute;left:0;right:0;bottom:0;background:transparent;color:#fffdf6;padding-top:0;padding-bottom:10px}
.journey.is-live .journey-controls>a,.journey.is-live .journey-controls>button{background:#243c32e8;padding:9px 15px;text-decoration:none;min-height:40px}
/* Anchor the photograph’s two cropped edges to the lens. The nearest flowers paint over it. */
.journey.is-live .johnny-arrival{
  display:block;position:absolute;left:-.6%;bottom:-2%;width:min(46%,69cqh);height:auto;
  max-width:none;transform-origin:0 100%;visibility:hidden;will-change:transform;
}
/* All four photographs share the same 6000 × 4000 room. The inset retains native door detail. */
.journey.is-live .journey-barn{
  display:block;position:absolute;left:0;top:0;visibility:hidden;
  transform-origin:0 0;pointer-events:none;
}
.journey-barn img{position:absolute;inset:0;width:100%;height:100%;max-width:none}
.barn-inset{position:absolute;left:37.5%;top:37.25%;width:26.166667%;height:28.5%}
.barn-inset .barn-panel{left:9.044586%;top:4.035088%;width:50.700637%;height:92.982456%}
.journey-barn [data-door-offset]{opacity:0}
.journey.is-live .journey-world{transform-origin:0 0}
.journey.is-live.table-near:not(.has-book-transition) .journey-visual::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:url("img/scroll/barn/table-entry.webp?v=eded4b55b4") 66% 50%/cover no-repeat;
  transform:translateY(var(--table-lift,100%));filter:saturate(.76);
}
.keepsake-intro{display:flex;align-items:center;justify-content:space-between;gap:55px;background:var(--paper);padding-top:70px;padding-bottom:70px}.keepsake-intro h2{font-size:clamp(38px,4.2vw,64px);max-width:16ch}.keepsake-intro p{max-width:44ch;font-size:18px}
/* The package information is typeset inside the book, never baked into an image. */
.keepsake{background:#e5e0d4;position:relative}.keepsake-stage{position:relative;padding:60px var(--gutter);overflow:hidden}.keepsake-table{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.72);opacity:.38}
.book-heading{position:relative;text-align:center;z-index:2;margin-bottom:35px}.book-heading h2{font-size:clamp(32px,3.3vw,48px)}.book-heading>p{font-size:14px;margin-top:10px}
.wedding-book{position:relative;max-width:1060px;margin:auto;perspective:2200px}
.book-spread{display:grid;grid-template-columns:1fr 1fr;background:#f7f4e9;position:relative;isolation:isolate;min-height:560px;box-shadow:0 20px 42px #3d291d30,0 2px 2px #32221d30,0 0 0 8px #77522f} /* taste-skill-ignore: physical book shading requested by user. */
.book-spread+.book-spread{margin-top:45px}.book-photo{padding:28px 18px 28px 28px;display:flex;flex-direction:column;gap:15px;min-width:0;background:#f1eee3}.book-photo img{width:100%;height:0;flex:1;min-height:320px;object-fit:cover;filter:saturate(.85)}.book-photo figcaption{font-size:15px;margin:0;display:block;text-align:center;color:var(--ink)}
.book-words{padding:35px 36px 26px;position:relative;color:#243c32}.book-words h3{font-size:46px}.book-words .collection-description{font-size:18px;line-height:1.45;margin-top:15px}.book-words .collection-price{font:400 60px/1.1 var(--font-display);letter-spacing:-.04em;margin-top:20px}.collection-price span{font:400 14px/1 var(--font-text);letter-spacing:0}.book-words ul{margin:22px 0;padding-left:18px;font-size:16px;max-width:none}.book-words li{padding:4px 0 4px 2px}.book-words .button{font-size:15px;min-height:46px;padding:12px 18px;gap:10px}.book-words .sample-note{font-size:13px;line-height:1.35;margin-top:17px;max-width:none}
.book-binding,.leather-cover,.turning-page{display:none}.book-navigation{position:relative;z-index:7;display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:40px}.book-navigation .package-tabs{margin:0}.book-navigation .package-tabs button{background:#f7f4e9}.book-navigation .package-tabs button[aria-pressed=true]{background:var(--forest)}
.keepsake.is-live{height:360svh}.keepsake.is-live .keepsake-stage{padding:0;position:sticky;top:var(--nav-height);height:calc(100svh - var(--nav-height));min-height:0;overflow:hidden}.keepsake.is-live .keepsake-table{opacity:1}.keepsake.is-live .book-heading{position:absolute;top:20px;left:var(--gutter);right:var(--gutter);margin:0}.keepsake.is-live .book-heading h2{font-size:36px}.keepsake.is-live .book-heading>p{display:inline-block;background:var(--paper);padding:4px 12px;margin-top:8px}
.keepsake.is-live .wedding-book{position:absolute;left:50%;top:52%;width:min(1020px,86vw);height:min(640px,74%);margin:0;transform:translate(-50%,-50%);transform-style:preserve-3d}
.keepsake.is-live .book-spread{position:absolute;inset:0;min-height:0;margin:0;overflow:hidden}.keepsake.is-live .book-photo{min-height:0}.keepsake.is-live .book-photo img{min-height:0}.keepsake.is-live .book-words{padding:clamp(23px,2.5vw,38px)}
.keepsake.is-live .book-binding{display:block;position:absolute;inset:-8px;background:#77522f;border-radius:3px;box-shadow:0 22px 44px #32231740} /* taste-skill-ignore: user-requested physical book shadow. */
.keepsake.is-live .leather-cover{display:block;position:absolute;left:50%;top:-8px;width:calc(50% + 8px);height:calc(100% + 16px);transform-origin:left center;transform-style:preserve-3d;z-index:5;backface-visibility:hidden;box-shadow:10px 10px 24px #211c163b} /* taste-skill-ignore: user-requested physical leather cover. */
.leather-cover>img{width:100%;height:100%;object-fit:fill}.cover-title{position:absolute;left:10%;right:10%;top:34%;background:#624226;color:#f6e8bf;padding:24px 15px;text-align:center;backface-visibility:hidden}.cover-title p{font-family:var(--font-display);font-size:clamp(28px,3.2vw,46px);line-height:1.1}.cover-title span{font-size:14px;display:block;margin-top:12px}
.keepsake.is-live .turning-page{display:block;position:absolute;left:50%;top:0;width:50%;height:100%;background:#f7f4e9;padding:28px;z-index:4;transform-origin:left center;backface-visibility:visible;opacity:0;box-shadow:9px 3px 15px #342b1b22;pointer-events:none} /* taste-skill-ignore: moving album leaf shadow. */
.turning-page>img{width:100%;height:100%;object-fit:cover;backface-visibility:hidden}.keepsake.is-live .book-navigation{position:absolute;left:var(--gutter);right:var(--gutter);bottom:15px;margin:0}.keepsake.is-live .book-navigation>.text-link{background:var(--paper);padding:10px 14px;font-size:14px}.keepsake.is-live .package-tabs button{min-height:44px;padding:10px 23px}
@media(max-width:1050px){.journey.is-live .johnny-letter{right:4%;width:44%;padding:28px}.journey.is-live .johnny-arrival{width:min(55%,69cqh)}.journey.is-live .evening-letter{width:39%;right:4%;padding:25px}.johnny-letter>p:not(.statement),.evening-letter p{font-size:17px}.keepsake-intro{gap:30px}.book-words h3{font-size:39px}.book-words .collection-price{font-size:50px}.book-words .collection-description{font-size:17px}.book-words ul{margin:18px 0}.keepsake.is-live .book-heading h2{font-size:32px}.book-photo{padding:22px}.book-words .button{font-size:14px;padding:12px 14px}}
@media(max-width:700px){
.journey-visual{height:calc(100svh - var(--nav-height));min-height:580px}.journey-title{height:calc(100svh - var(--nav-height));min-height:580px;padding:0 22px 100px}.journey-title h1{font-size:clamp(44px,12vw,70px);text-align:left;max-width:12ch;line-height:1}.journey-title-bottom{display:block;margin-top:20px}.journey-title-bottom p{font-size:16px;max-width:30ch}.journey-title-bottom .button{margin-top:20px;padding:12px 20px;min-height:46px}
.journey-about,.journey-evening{grid-template-columns:1fr;gap:30px;padding:55px 22px}.portrait-still{max-height:60svh;width:100%;aspect-ratio:1}.static-evening{height:380px;width:100%;object-fit:cover}.johnny-letter h2,.evening-letter h2{font-size:46px}.journey-controls{gap:10px;padding:12px 16px;font-size:13px}.journey-controls button{font-size:13px}.journey.is-live{height:490svh}.journey.is-live .journey-stage{height:calc(100svh - var(--nav-height));position:sticky;top:var(--nav-height)}.journey.is-live .journey-title{height:100%;min-height:0;padding-bottom:80px}.journey.is-live .journey-controls{padding:8px 12px}.journey.is-live .journey-controls>a,.journey.is-live .journey-controls>button{padding:8px 9px;min-height:42px;font-size:13px}
.journey.is-live .johnny-arrival{left:-1%;bottom:auto;top:4.5%;width:min(93%,51cqh);transform-origin:0 46%;mask-image:linear-gradient(#000 0 85%,transparent)}.journey.is-live .johnny-letter{right:18px;left:18px;top:auto;bottom:66px;width:auto;max-width:none;transform:none;padding:21px 24px}.journey.is-live .johnny-letter h2{font-size:38px;line-height:1}.journey.is-live .johnny-letter h2 br{display:none}.journey.is-live .johnny-letter .statement{font-size:20px;margin:15px 0 12px}.journey.is-live .johnny-letter>p:not(.statement){font-size:16px;line-height:1.45;max-width:none}.journey.is-live .johnny-letter .text-link{margin-top:15px;font-size:15px}
.journey.is-live .evening-letter{right:18px;left:18px;top:auto;bottom:66px;width:auto;transform:none;padding:22px 24px;background:#243c32ed}.journey.is-live .evening-letter h2{font-size:38px}.journey.is-live .evening-letter h2 br{display:none}.journey.is-live .evening-letter p{font-size:16px;margin-top:15px;line-height:1.45;max-width:none}.journey.is-live .evening-letter .text-link{margin-top:18px}
.keepsake-intro{display:block;padding:50px 22px}.keepsake-intro h2{font-size:40px;max-width:14ch}.keepsake-intro p{margin-top:22px;font-size:17px}.keepsake-stage{padding:40px 22px}.book-heading h2{font-size:34px}.book-heading>p{font-size:13px}.book-spread{display:block;min-height:0}.book-photo{height:340px;padding:18px}.book-photo img{min-height:0}.book-photo figcaption{font-size:14px}.book-words{padding:28px 24px}.book-words h3{font-size:40px}.book-words .collection-price{font-size:54px}.book-words .collection-description{font-size:17px}.book-words ul{font-size:16px;margin:24px 0}.book-words .sample-note{font-size:13px}.book-words .button{font-size:15px}.book-navigation{display:block;margin-top:30px}.book-navigation .package-tabs{gap:5px}.book-navigation>.text-link{margin-top:20px}
.keepsake.is-live{height:340svh}.keepsake.is-live .keepsake-stage{position:sticky;top:var(--nav-height);height:calc(100svh - var(--nav-height));min-height:0}.keepsake.is-live .book-heading{top:20px;left:16px;right:16px}.keepsake.is-live .book-heading h2{font-size:29px}.keepsake.is-live .book-heading>p{font-size:13px;margin-top:8px;padding:4px 8px}.keepsake.is-live .wedding-book{width:calc(100vw - 48px);height:calc(100% - 180px);max-height:650px;top:52%;perspective:1700px}.keepsake.is-live .book-photo{display:none}.keepsake.is-live .book-words{padding:25px 24px;height:100%;display:flex;flex-direction:column;align-items:flex-start}.keepsake.is-live .book-words h3{font-size:42px}.keepsake.is-live .book-words .collection-description{margin-top:14px}.keepsake.is-live .book-words .collection-price{font-size:52px;margin-top:22px}.keepsake.is-live .book-words ul{margin:20px 0}.keepsake.is-live .book-words .sample-note{margin-top:auto;padding-top:15px}.keepsake.is-live .leather-cover{left:-8px;width:calc(100% + 16px)}.keepsake.is-live .turning-page{left:0;width:100%;padding:18px}.cover-title p{font-size:38px}.keepsake.is-live .book-navigation{left:24px;right:24px;bottom:17px}.keepsake.is-live .book-navigation>.text-link{display:none}.keepsake.is-live .package-tabs button{padding:10px 12px;font-size:15px}.keepsake-table{object-position:62% 50%}
}
@media(min-width:701px) and (max-height:740px){.journey-title h1{font-size:clamp(52px,8vw,100px)}.journey-title{padding-bottom:70px}.journey-title-bottom{margin-top:18px}.journey.is-live .johnny-letter{padding:24px 30px}.journey.is-live .johnny-letter h2{font-size:52px}.johnny-letter .statement{font-size:23px;margin:18px 0}.johnny-letter>p:not(.statement){font-size:16px}.journey.is-live .evening-letter h2{font-size:46px}.evening-letter p{font-size:16px;margin-top:18px}}
@media(max-width:700px) and (max-height:780px){.journey.is-live .johnny-letter{padding:18px 22px}.journey.is-live .johnny-letter .statement{font-size:18px;margin:12px 0}.journey.is-live .johnny-letter>p:not(.statement){font-size:15px}.journey.is-live .johnny-letter h2{font-size:34px}.journey.is-live .johnny-letter .text-link{margin-top:12px}}
@media(prefers-reduced-motion:reduce){.journey-shade{opacity:1}.journey-world{transform:none!important}.journey-garden{transform:none!important}}
@media(orientation:landscape) and (max-height:599px){
  .journey:not(.is-live) .journey-visual,.journey:not(.is-live) .journey-title{height:calc(100svh - var(--nav-height));min-height:240px}
  .journey:not(.is-live) .journey-title{justify-content:flex-end;align-items:flex-start;padding:16px var(--gutter)}
  .journey:not(.is-live) .journey-title h1{font-size:clamp(34px,6.5vw,60px);line-height:1.02;max-width:none;text-align:left}
  .journey:not(.is-live) .journey-meet{margin:0;padding:0}
  .journey-title-bottom{display:flex;align-items:center;gap:clamp(16px,4vw,44px);margin-top:4px}
  .journey-title-bottom p{font-size:16px;max-width:34ch}
  .journey-title-bottom .button{margin:0;flex-shrink:0}
}

/* Paper labels and a subtle spine keep the album readable against the table. */
.keepsake.is-live .book-heading{left:50%;right:auto;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);background:var(--paper);padding:8px 20px}
.keepsake.is-live .book-heading>p{display:block;background:none;padding:0;margin-top:4px}
.book-words{box-shadow:inset 12px 0 18px -18px #493e2b80} /* taste-skill-ignore: physical book spine requested by user. */
@media(max-width:700px){.keepsake.is-live .book-heading{padding:8px 14px}.keepsake.is-live .book-heading h2{font-size:28px}.journey.is-live .journey-title h1{font-size:clamp(44px,12vw,70px)}}

.keepsake.is-live .leather-cover{backface-visibility:visible}
.leather-cover>img{backface-visibility:hidden}
.leather-cover::after{content:"";position:absolute;inset:0;background:#f1eee3;transform:rotateY(180deg);backface-visibility:hidden}

/* The reception and album share the same camera frame at the section handoff. */
.reception-table,.overhead-table{display:none}
.journey.is-live.has-book-transition{height:680svh}
.keepsake.is-connected{margin-top:calc(var(--nav-height) - 100svh);background:transparent}
.keepsake.is-connected .keepsake-stage{z-index:9;background:transparent;isolation:isolate}
.keepsake.is-connected.is-approaching .keepsake-stage{position:fixed;inset:var(--nav-height) 0 auto;height:calc(100svh - var(--nav-height));pointer-events:none}
.keepsake.is-connected .reception-table,.keepsake.is-connected .overhead-table,.keepsake.is-connected .keepsake-table{display:block;position:absolute;top:0;left:0;width:1536px;height:1024px;max-width:none;object-fit:fill;transform-origin:0 0;filter:saturate(.76);pointer-events:none}
.keepsake.is-connected .reception-table{z-index:0}
.keepsake.is-connected .overhead-table{z-index:4}
.keepsake.is-connected .keepsake-table{z-index:2}
.keepsake.is-connected .wedding-book{z-index:3}
.keepsake.is-connected .book-heading{z-index:6}

/* Year-specific inclusions and optional extras remain readable outside the animated book. */
.package-details-link{display:block;width:fit-content;font:400 14px/1.35 var(--font-text);margin-top:8px;text-underline-offset:3px}
.pricing-details{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:clamp(30px,7vw,130px);background:var(--paper);color:var(--ink)}
.pricing-details h2{font-size:clamp(42px,5vw,83px);max-width:13ch}
.pricing-details p{font-size:18px;max-width:48ch;margin-top:18px}
.pricing-details .text-link{margin-top:18px}
.pricing-questions details{padding-block:8px}
.pricing-questions summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:44px;font-size:clamp(18px,1.6vw,25px);cursor:pointer;list-style:none}
.pricing-questions summary::-webkit-details-marker{display:none}
.pricing-questions summary::after{content:'+'}.pricing-questions details[open] summary::after{content:'−'}
.pricing-questions p{margin:4px 0 15px}
.price-extras{margin:4px 0 12px;font-size:17px}
.price-extras div{display:flex;justify-content:space-between;gap:18px;padding:6px 0}.price-extras dd{margin:0;white-space:nowrap;font-variant-numeric:tabular-nums}
.film-quote{margin:26px 0 0;max-width:35ch}
.film-quote blockquote{font-size:clamp(19px,1.6vw,25px);line-height:1.4;margin:0}
.film-quote figcaption{margin-top:8px;font-size:15px}
@media(max-width:700px){.pricing-details{grid-template-columns:1fr;gap:24px}.pricing-details p,.price-extras{font-size:16px}.film-quote{margin-top:18px}.easel-copy .package-details-link{margin-top:0}}
