/* Photography: an editorial album in perspective. Scoped to the public service. */
.fp-page{--paper:#f6f3ed;--ink:#102550;--accent:#2d8ff5;--ease:cubic-bezier(.16,1,.3,1);background:var(--paper);color:var(--ink);overflow:clip}
.fp-wrap{width:min(1200px,calc(100% - 96px));margin-inline:auto}
.fp-page :is(h1,h2,h3,p,figure){margin:0}
.fp-page a:focus-visible{outline:3px solid #3887df;outline-offset:7px}
.fp-page [id]{scroll-margin-top:150px}
.fp-page h2{font-size:clamp(42px,5.5vw,76px);font-weight:600;letter-spacing:-.05em;line-height:1.06}
.fp-page em{color:var(--accent);font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.055em}
.fp-kicker{font-size:10px;letter-spacing:.12em;font-weight:600;margin-bottom:25px!important}
.fp-copy{font-size:14px;line-height:1.9;color:#58677e;max-width:360px}
.fp-hero{position:relative;background:#102550;color:#fff;view-timeline-name:--fp-hero;padding-bottom:28px;isolation:isolate}
.fp-hero:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 75%,#38629255,transparent 65%);pointer-events:none;z-index:-1}
.fp-crumbs{display:flex;gap:12px;font-size:10px;color:#b4c2d9;padding-block:24px}
.fp-crumbs a:hover{text-decoration:underline}
.fp-hero-heading{text-align:center;position:relative;z-index:4;padding-top:20px}
.fp-hero h1{font-size:11px;font-weight:500;letter-spacing:.1em;color:#c2d3ea;margin-bottom:26px}
.fp-display{font-size:clamp(54px,6.8vw,96px);font-weight:600;line-height:1;letter-spacing:-.06em}
.fp-display em{color:var(--accent)}
.fp-link{display:inline-flex;align-items:center;gap:30px;border-bottom:1px solid #798897;padding-block:12px;font-size:12px;font-weight:600;transition:color .2s}
.fp-link:hover{color:#2374c9}
.fp-link span{font-size:21px;font-weight:400}
.fp-link-light{color:#f3f7fd;border-color:#8296b1}
.fp-link-light:hover{color:#abcfff}
.fp-hero-heading>.fp-link{margin-top:22px}
.fp-gallery-stage{height:495px;max-width:1160px;margin:0 auto;perspective:1500px;position:relative}
.fp-fan{position:relative;width:100%;height:100%;transform-style:preserve-3d;transform:rotateX(var(--fp-y,0deg)) rotateY(var(--fp-x,0deg));transition:transform .45s var(--ease)}
.fp-print{position:absolute;width:290px;background:#fcfaf4;padding:10px 10px 0;box-shadow:0 25px 65px #010c2859;backface-visibility:hidden;border-radius:2px;transform-style:preserve-3d;transition:box-shadow .3s}
.fp-print:hover,.fp-print:focus-visible{box-shadow:0 30px 70px #0005}
.fp-print-left{left:calc(50% - 450px);top:78px;--turn:-23deg;--roll:-11deg;transform:rotateY(-23deg) rotateZ(-11deg) translateZ(-50px)}
.fp-print-center{left:calc(50% - 160px);width:320px;top:38px;z-index:2;--turn:0deg;--roll:2deg;transform:rotateZ(2deg) translateZ(60px)}
.fp-print-right{right:calc(50% - 450px);top:88px;--turn:23deg;--roll:12deg;transform:rotateY(23deg) rotateZ(12deg) translateZ(-50px)}
.fp-print .fp-image{aspect-ratio:4/4.3}
.fp-print-caption{display:flex;justify-content:space-between;gap:10px;padding-block:14px;font-size:9px;color:#32435e;letter-spacing:.01em}
.fp-image{position:relative;overflow:clip;background:#e8e4db;isolation:isolate;width:100%}
.fp-image>img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:var(--photo-position,50% 50%)}
.fp-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#e6dace;color:#614d45;overflow:clip;isolation:isolate}
.fp-slot-art{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 75% 20%,#fff8e6 0,transparent 60%),linear-gradient(145deg,#d4c1b1,#f0e6d7 50%,#c1b2a6)}
.fp-slot-art:before{content:'';position:absolute;width:64%;height:110%;left:18%;top:16%;border:1px solid #fffc;border-radius:50% 50% 0 0;transform:rotate(22deg)}
.fp-slot-art:after{content:'';position:absolute;width:85%;height:80%;left:30%;top:45%;background:linear-gradient(135deg,#fff5,transparent);border-radius:50%;transform:rotate(-20deg)}
.fp-image[data-photo*="eventos"] .fp-placeholder{color:#eaf3ff}
.fp-image[data-photo*="eventos"] .fp-slot-art{background:radial-gradient(ellipse at 90% 90%,#879cad88,transparent 60%),linear-gradient(140deg,#1f344b,#6a8297)}
.fp-image[data-photo*="eventos"] .fp-slot-art:before{width:58%;left:40%;top:25%;border-radius:4px;transform:rotate(-25deg);border-color:#c5def380}
.fp-image[data-photo*="cumpleanos"] .fp-placeholder{color:#534855}
.fp-image[data-photo*="cumpleanos"] .fp-slot-art{background:radial-gradient(ellipse at 70% 15%,#f8e6ce,transparent 65%),linear-gradient(130deg,#d7c0c5,#e4d8db 60%,#b4adbf)}
.fp-image[data-photo*="cumpleanos"] .fp-slot-art:before{height:62%;width:73%;border-radius:50%;left:14%;top:17%;transform:rotate(-20deg)}
.fp-slot-index{position:absolute;top:22px;left:22px;font-size:9px;letter-spacing:.13em}
.fp-slot-title{position:relative;font-family:Georgia,serif;font-style:italic;font-size:clamp(27px,3vw,44px);text-align:center;line-height:1.1;max-width:85%}
.fp-slot-label{position:absolute;bottom:25px;font-size:8px;letter-spacing:.06em;opacity:.85}
.fp-slot-corner{position:absolute;width:20px;height:20px;border-color:currentColor;border-style:solid;opacity:.4}
.fp-slot-corner-a{left:18px;bottom:18px;border-width:0 0 1px 1px}
.fp-slot-corner-b{right:18px;top:18px;border-width:1px 1px 0 0}
.fp-image.has-photo .fp-placeholder{display:none}
.fp-hero-bottom{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.03em;color:#bacbe1;border-top:1px solid #9db5d226;padding-top:20px}
.fp-hero-bottom a{color:#fff}
.fp-hero-bottom a span{margin-left:20px}
.fp-manifesto{position:relative;padding-block:125px 130px;text-align:center;view-timeline-name:--fp-manifesto}
.fp-manifesto h2{font-size:clamp(48px,6vw,84px)}
.fp-manifesto h2>span{display:block}
.fp-manifesto h2 em{color:var(--accent)}
.fp-manifesto .fp-copy{margin:32px auto 0}
.fp-aperture{position:absolute;width:125px;height:125px;right:2%;top:44%;stroke:#7f98ad;stroke-width:1.2}
.fp-stories{position:relative}
.fp-chapter-nav{position:sticky;top:74px;z-index:10;display:flex;justify-content:center;gap:45px;padding:18px 24px;background:#f6f3edf2;backdrop-filter:blur(12px);border-top:1px solid #10255020;border-bottom:1px solid #10255020}
.fp-chapter-nav a{font-size:11px;color:#526077;display:flex;gap:10px;align-items:center}
.fp-chapter-nav a span{font-size:9px;color:#78899c}
.fp-chapter-nav a[aria-current=true]{color:#195ba4}
.fp-chapter-nav a[aria-current=true]:after{content:'';width:5px;height:5px;background:#2876ce;border-radius:50%}
.fp-chapter{padding-block:110px;view-timeline-name:--fp-chapter}
.fp-chapter-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:100px;align-items:center}
.fp-chapter-copy .fp-copy{margin-top:30px}
.fp-chapter-copy .fp-link{margin-top:22px}
.fp-handwritten{display:block;font-family:Georgia,serif;font-style:italic;font-size:20px;color:var(--accent);transform:rotate(-6deg);margin:65px 0 0 35px}
.fp-editorial-frame{padding:12px 12px 0;background:#fffdfa;box-shadow:0 20px 55px #172a4910;transform:rotate(4deg)}
.fp-editorial-frame .fp-image{aspect-ratio:4/5}
.fp-editorial-frame figcaption,.fp-wide-frame figcaption{display:flex;justify-content:space-between;gap:15px;padding-block:18px;font-size:9px;letter-spacing:.02em}
.fp-editorial-frame .fp-slot-title{font-size:54px;max-width:70%}
.fp-events{background:#142b4b;color:#fff;padding-block:80px 95px}
.fp-event-top{display:flex;justify-content:space-between;gap:40px;align-items:start;margin-bottom:40px}
.fp-event-top .fp-copy{font-size:12px;color:#c3d2e3}
.fp-events h2{font-size:clamp(45px,6.5vw,88px);position:relative;z-index:2;margin-bottom:50px}
.fp-events h2 em{color:var(--accent)}
.fp-wide-frame{transform:rotate(-2deg);margin:0 16px!important}
.fp-wide-frame .fp-image{aspect-ratio:16/7}
.fp-wide-frame .fp-slot-title{font-size:68px}
.fp-wide-frame figcaption{color:#b3c7de}
.fp-events .fp-link{margin-top:20px}
.fp-birthdays{background:#efe8e6}
.fp-birthdays .fp-chapter-grid{grid-template-columns:1.1fr 1fr}
.fp-birthdays .fp-editorial-frame{transform:rotate(-5deg)}
.fp-birthdays h2 em{color:var(--accent)}
.fp-process{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-block:115px}
.fp-process h2{font-size:60px}
.fp-process ol{list-style:none;margin:0;padding:0}
.fp-process li{display:flex;gap:27px;padding-block:28px;border-bottom:1px solid #ccd0d4}
.fp-process li:first-child{padding-top:4px}
.fp-process li>span{font-size:11px;color:#647991;padding-top:6px}
.fp-process h3{font-size:21px;letter-spacing:-.03em;font-weight:600}
.fp-process li p{font-size:12px;line-height:1.7;color:#637086;margin-top:8px}
.fp-more{display:flex;align-items:center;gap:55px;padding-block:26px 65px;border-top:1px solid #10255020}
.fp-more>span{flex:1;font-size:12px;color:#58677e}
.fp-more a{display:flex;gap:25px;font-size:17px}
.fp-more a:hover{color:#2477ce}
.fp-finale{background:#dce8f4;text-align:center;padding-block:100px}
.fp-finale .fp-wrap{position:relative;padding:25px}
.fp-finale h2{font-size:clamp(48px,6.8vw,92px)}
.fp-finale h2>span{display:block}
.fp-finale h2 em{color:var(--accent)}
.fp-finale .fp-copy{margin:26px auto 0;max-width:500px}
.fp-actions{display:flex;justify-content:center;align-items:center;gap:30px;flex-wrap:wrap;margin-top:32px}
.fp-button{display:inline-flex;align-items:center;gap:38px;padding:18px 25px;background:#102550;color:#fff;border-radius:4px;font-size:12px;font-weight:600;transition:background .2s,transform .2s}
.fp-button:hover{background:#236dc0;transform:translateY(-2px)}
.fp-button>span{font-size:20px;line-height:1}
.fp-phone{font-size:13px;padding-block:12px;border-bottom:1px solid #6f8299}
.fp-final-corner{position:absolute;width:58px;height:58px;border:1px solid #6d91b8;pointer-events:none}
.fp-final-corner-a{top:0;left:0;border-width:1px 0 0 1px}
.fp-final-corner-b{bottom:0;right:0;border-width:0 1px 1px 0}
@media(prefers-reduced-motion:no-preference){
 .fp-enhanced [data-fp-reveal]{transition:opacity .8s var(--ease),translate .9s var(--ease)}
 .fp-enhanced .fp-waiting{opacity:0;translate:0 30px}
 .fp-enhanced .fp-visible{opacity:1;translate:0 0}
 @supports(animation-timeline:view()){
  .fp-print{animation:fp-album-open linear both;animation-timeline:--fp-hero;animation-range:exit 0% exit 80%}
  .fp-aperture{animation:fp-aperture-turn linear both;animation-timeline:--fp-manifesto;animation-range:entry 0% exit 100%}
  .fp-editorial-frame,.fp-wide-frame{animation:fp-print-arrival linear both;animation-timeline:view();animation-range:entry 0% cover 40%}
 }
}
@keyframes fp-album-open{to{transform:translateY(-35px) rotateY(calc(var(--turn) * 1.5)) rotateZ(calc(var(--roll) * 1.5));opacity:.6}}
@keyframes fp-aperture-turn{to{transform:rotate(100deg)}}
@keyframes fp-print-arrival{from{translate:0 45px;rotate:3deg}to{translate:0 0;rotate:0deg}}
@media(max-width:1050px){
 .fp-wrap{width:calc(100% - 60px)}
 .fp-print-left{left:calc(50% - 350px);width:230px}
 .fp-print-right{right:calc(50% - 350px);width:230px}
 .fp-print-center{width:270px;left:calc(50% - 135px)}
 .fp-gallery-stage{height:440px}
 .fp-chapter-grid,.fp-birthdays .fp-chapter-grid{gap:55px}
 .fp-editorial-frame .fp-slot-title{font-size:43px}
 .fp-aperture{width:85px;height:85px;right:0}
 .fp-process{gap:60px}
 .fp-process h2{font-size:48px}
}
@media(max-width:760px){
 .fp-wrap{width:calc(100% - 40px)}
 .fp-page h2{font-size:44px;line-height:1.09}
 .fp-page .fp-copy{font-size:13px;line-height:1.85}
 .fp-kicker{font-size:9px;letter-spacing:.08em;margin-bottom:20px!important}
 .fp-crumbs{font-size:9px;padding-block:20px}
 .fp-hero-heading{padding:25px 18px 0}
 .fp-hero h1{font-size:9px;letter-spacing:.04em;line-height:1.6;margin-bottom:23px}
 .fp-display{font-size:clamp(39px,10.7vw,69px);line-height:1.07;letter-spacing:-.045em}
 .fp-display em{display:block}
 .fp-hero-heading>.fp-link{margin-top:20px}
 .fp-link{font-size:11px;gap:20px}
 .fp-gallery-stage{height:345px;margin-top:20px;perspective:950px}
 .fp-print{padding:6px 6px 0}
 .fp-print-left{width:155px;left:calc(50% - 185px);top:82px;transform:rotateY(-18deg) rotateZ(-13deg)}
 .fp-print-right{width:155px;right:calc(50% - 185px);top:86px;transform:rotateY(18deg) rotateZ(13deg)}
 .fp-print-center{width:190px;left:calc(50% - 95px);top:35px}
 .fp-print .fp-image{aspect-ratio:4/4.8}
 .fp-print-caption{font-size:6px;gap:5px;padding-block:10px}
 .fp-slot-title{font-size:24px}
 .fp-slot-index{font-size:7px;left:12px;top:13px}
 .fp-slot-label{font-size:6px;bottom:17px}
 .fp-slot-corner{width:12px;height:12px}
 .fp-slot-corner-a{left:9px;bottom:9px}
 .fp-slot-corner-b{right:9px;top:9px}
 .fp-hero-bottom{font-size:8px;padding-top:18px;gap:12px}
 .fp-hero-bottom a span{margin-left:6px}
 .fp-manifesto{padding-block:75px 100px}
 .fp-manifesto h2{font-size:49px}
 .fp-manifesto .fp-copy{margin-top:25px}
 .fp-aperture{position:relative;right:auto;top:auto;margin-top:35px;width:65px;height:65px}
 .fp-chapter-nav{gap:22px;padding:16px 12px;top:74px;backdrop-filter:none;background:#f6f3ed}
 .fp-chapter-nav a{font-size:10px;gap:6px}
 .fp-chapter-nav a span{font-size:8px}
 .fp-chapter{padding-block:70px}
 .fp-chapter-grid,.fp-birthdays .fp-chapter-grid{grid-template-columns:1fr;gap:48px}
 .fp-chapter-copy .fp-copy{margin-top:23px}
 .fp-handwritten{margin:30px 0 0 30px;font-size:18px}
 .fp-editorial-frame{padding:8px 8px 0;margin-inline:8px!important}
 .fp-editorial-frame .fp-slot-title{font-size:43px}
 .fp-editorial-frame figcaption,.fp-wide-frame figcaption{font-size:8px;padding-block:13px}
 .fp-editorial-frame .fp-slot-label,.fp-wide-frame .fp-slot-label{font-size:8px}
 .fp-event-top{display:block;margin-bottom:25px}
 .fp-event-top .fp-copy{font-size:12px;max-width:none}
 .fp-events h2{font-size:48px;margin-bottom:32px}
 .fp-events h2 em{display:block}
 .fp-wide-frame{margin-inline:0!important}
 .fp-wide-frame .fp-image{aspect-ratio:4/4.5}
 .fp-wide-frame .fp-slot-title{font-size:46px;max-width:70%}
 .fp-birthdays .fp-chapter-copy{order:-1}
 .fp-process{grid-template-columns:1fr;gap:32px;padding-block:70px}
 .fp-process h2{font-size:45px}
 .fp-process li{padding-block:24px;gap:19px}
 .fp-process h3{font-size:19px}
 .fp-more{flex-wrap:wrap;gap:27px;padding-block:27px 45px}
 .fp-more>span{flex-basis:100%;font-size:11px}
 .fp-more a{font-size:17px;gap:22px}
 .fp-finale{padding-block:65px}
 .fp-finale .fp-wrap{padding:27px 4px}
 .fp-finale h2{font-size:46px}
 .fp-finale .fp-copy{max-width:270px}
 .fp-actions{gap:20px;margin-top:26px}
 .fp-button{gap:23px;font-size:11px;padding:17px 20px}
 .fp-phone{font-size:12px}
 .fp-final-corner{width:30px;height:30px}
}
@media(max-width:360px){.fp-print-left{left:calc(50% - 158px);width:130px}.fp-print-right{right:calc(50% - 158px);width:130px}.fp-print-center{width:168px;left:calc(50% - 84px)}.fp-chapter-nav{gap:16px}.fp-manifesto h2{font-size:43px}.fp-finale h2{font-size:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.fp-page *, .fp-page *:before,.fp-page *:after{animation:none!important;transition:none!important}.fp-page [data-fp-reveal]{opacity:1!important;translate:none!important}.fp-fan{transform:none}.fp-chapter-nav{position:relative;top:auto}}
/* A continuous album scene: scroll turns the leaves, backwards as well as forwards. */
.fp-album-story{padding:0;view-timeline-name:--album;view-timeline-axis:block;background:radial-gradient(ellipse at 50% 55%,#304564,#101f3c 72%)}
.fp-album-sticky{position:relative;min-height:850px;overflow:clip;padding:35px 5vw 24px;display:flex;flex-direction:column;align-items:center;justify-content:space-between}
.fp-album-heading{text-align:center;z-index:3;pointer-events:none}
.fp-album-heading h1{font-size:11px;letter-spacing:.18em;text-transform:uppercase;margin:0 0 17px}
.fp-album-title{font-size:clamp(58px,6.6vw,96px);line-height:.95;letter-spacing:-.055em;font-weight:500}
.fp-album-title em{color:var(--accent)}
.fp-album-intro{font-size:12px;color:#b7c2d4;margin-top:18px!important}
.fp-book-stage{width:min(820px,78vw);height:350px;margin:20px 0 8px;perspective:1700px;flex-shrink:0}
.fp-book{transform:rotateX(18deg) rotateZ(-5deg);transform-style:preserve-3d;filter:drop-shadow(0 35px 25px #0006)}
.fp-book-left,.fp-leaf{position:absolute;top:0;width:50%;height:100%;background:#f5eee2;border:1px solid #ddcfb9;box-shadow:0 2px 0 #c4b59e,0 5px 0 #eee3d2,0 7px 0 #a7957f;border-radius:3px;overflow:hidden}
.fp-book-left{left:0;display:flex;flex-direction:column;justify-content:space-between;padding:25px 30px;color:#293b54;background:linear-gradient(90deg,#f5eee2 85%,#c5bcae)}
.fp-book-brand,.fp-book-foot{font-size:8px;letter-spacing:.16em}
.fp-book-inscription{font-family:Georgia,serif;font-size:clamp(24px,3vw,44px);line-height:1.2}
.fp-book-inscription small{font:12px 'Plus Jakarta Sans',sans-serif;display:inline-block;margin-top:16px}
.fp-leaf{left:50%;padding:14px 14px 28px;transform-origin:left center;backface-visibility:hidden;background:linear-gradient(90deg,#d6c9b4,#fcf7ef 12%);transform-style:preserve-3d}
.fp-leaf .fp-image{height:100%}
.fp-leaf-caption{display:block;color:#384659;font-size:9px;padding-top:7px;text-align:right}
.fp-leaf-one{transform:rotateY(-5deg);z-index:3}.fp-leaf-two{transform:rotateY(-2deg);z-index:2}.fp-leaf-three{z-index:1}
.fp-book-spine{position:absolute;left:50%;height:100%;width:12px;margin-left:-6px;background:linear-gradient(90deg,transparent,#35271955,transparent);pointer-events:none;transform:translateZ(2px)}
.fp-album-notes{position:relative;height:55px;width:100%;text-align:center;margin-top:16px;font-size:9px;letter-spacing:.12em;text-transform:uppercase}
.fp-album-notes>span{position:absolute;inset:0}.fp-album-notes em{display:block;font-size:24px;letter-spacing:-.02em;text-transform:none;margin-top:8px;color:var(--accent)}
.fp-note-two,.fp-note-three{opacity:0}
.fp-album-bottom{width:100%;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff26;padding-top:10px;gap:14px}
.fp-album-bottom>span{font-size:8px;letter-spacing:.15em;color:#c1cada}.fp-album-bottom .fp-link{font-size:11px}
@supports(animation-timeline:view()){
 @media(prefers-reduced-motion:no-preference){
  .fp-album-story{height:330svh}
  .fp-album-sticky{position:sticky;top:74px;height:calc(100svh - 74px);min-height:620px}
  .fp-book-stage{height:clamp(230px,36svh,380px);width:min(820px,78vw)}
  .fp-book{animation:album-drift linear both;animation-timeline:--album;animation-range:contain 0% contain 100%}
  .fp-leaf-one{animation:album-turn linear both;animation-timeline:--album;animation-range:contain 10% contain 43%}
  .fp-leaf-two{animation:album-turn linear both;animation-timeline:--album;animation-range:contain 52% contain 85%}
  .fp-note-one{animation:album-first linear both;animation-timeline:--album;animation-range:contain 0% contain 100%}
  .fp-note-two{animation:album-second linear both;animation-timeline:--album;animation-range:contain 0% contain 100%}
  .fp-note-three{animation:album-third linear both;animation-timeline:--album;animation-range:contain 0% contain 100%}
 }
}
@keyframes album-turn{0%{transform:rotateY(-5deg);filter:brightness(1)}45%{filter:brightness(.8)}100%{transform:rotateY(-179deg);filter:brightness(1)}}
@keyframes album-drift{0%{transform:rotateX(18deg) rotateZ(-5deg)}50%{transform:rotateX(8deg) rotateZ(1deg) scale(1.03)}100%{transform:rotateX(15deg) rotateZ(-3deg)}}
@keyframes album-first{0%,20%{opacity:1;translate:0 0}32%,100%{opacity:0;translate:0 -12px}}
@keyframes album-second{0%,26%{opacity:0;translate:0 12px}38%,64%{opacity:1;translate:0 0}76%,100%{opacity:0;translate:0 -12px}}
@keyframes album-third{0%,70%{opacity:0;translate:0 12px}83%,100%{opacity:1;translate:0 0}}
@media(max-width:600px){
 .fp-album-sticky{padding:34px 20px 20px;min-height:690px}
 .fp-album-heading h1{font-size:8px;letter-spacing:.1em}
 .fp-album-title{font-size:58px}
 .fp-album-intro{font-size:10px;max-width:230px;margin-inline:auto!important;line-height:1.6}
 .fp-book-stage{width:88vw!important;height:245px!important;margin-block:28px 12px}
 .fp-book-left{padding:16px 12px}.fp-book-inscription{font-size:25px}.fp-book-inscription small{font-size:9px;line-height:1.6}.fp-book-brand,.fp-book-foot{font-size:6px;line-height:1.7}
 .fp-leaf{padding:7px 7px 24px}.fp-leaf-caption{font-size:6px}.fp-leaf .fp-slot-title{font-size:23px}
 .fp-album-bottom{flex-direction:column;gap:4px}.fp-album-notes{margin-top:8px}
}
@media(max-height:760px) and (min-width:601px){.fp-album-sticky{padding-top:20px;min-height:570px}.fp-album-title{font-size:60px}.fp-album-intro{display:none}.fp-book-stage{height:240px;width:650px}.fp-album-notes{margin-top:0}}
@media(prefers-reduced-motion:reduce){.fp-book{transform:none}.fp-album-story{height:auto}.fp-album-sticky{height:auto}.fp-leaf{position:relative;left:auto;width:100%;height:250px;transform:none}.fp-book{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.fp-book-left,.fp-book-spine{display:none}.fp-book-stage{width:100%!important;height:250px!important}.fp-leaf .fp-slot-title{font-size:18px}}
@media(max-width:600px){.fp-book-inscription{font-size:21px}}
@media(max-width:360px){.fp-album-title{font-size:49px}.fp-book-inscription{font-size:18px}}
/* Two-sided leaves and a continuous camera choreography. */
.fp-book{filter:none}
.fp-book:before{content:'';position:absolute;inset:12% 3% -12%;background:#0005;filter:blur(24px);transform:translateZ(-25px);pointer-events:none}
.fp-leaf-one,.fp-leaf-two{overflow:visible;padding:0;background:none;border:0;box-shadow:none;backface-visibility:visible}
.fp-leaf-front,.fp-leaf-back{position:absolute;inset:0;padding:14px 14px 28px;background:linear-gradient(90deg,#d6c9b4,#fcf7ef 12%);border:1px solid #ddcfb9;border-radius:3px;backface-visibility:hidden;box-shadow:0 2px 0 #c4b59e,0 4px 0 #eee3d2;overflow:hidden}
.fp-leaf-front{transform:translateZ(.6px)}
.fp-leaf-front:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#34200b88,transparent 65%);opacity:0}
.fp-leaf-back{transform:rotateY(180deg) translateZ(.6px);display:flex;flex-direction:column;justify-content:space-between;padding:26px;color:#283e58;background:linear-gradient(90deg,#fbf5eb 75%,#cfc0ac)}
.fp-leaf-back>span{font-size:8px;letter-spacing:.14em}.fp-leaf-back em{font-size:clamp(23px,3vw,42px);line-height:1.15}
.fp-book-stage{transform:rotateX(var(--fp-y,0deg)) rotateY(var(--fp-x,0deg));transition:transform .45s ease-out}
.fp-album-sticky:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 65% 50%,#96765350,transparent 65%);opacity:0}
@supports(animation-timeline:view()){
 @media(prefers-reduced-motion:no-preference){
 .fp-book{animation-name:album-camera}
 .fp-leaf-one,.fp-leaf-two{animation-name:album-page-turn}
 .fp-leaf-one .fp-leaf-front:after{animation:album-shade linear both;animation-timeline:--album;animation-range:contain 10% contain 43%}
 .fp-leaf-two .fp-leaf-front:after{animation:album-shade linear both;animation-timeline:--album;animation-range:contain 52% contain 85%}
 .fp-album-heading{animation:album-heading-recede linear both;animation-timeline:--album;animation-range:contain 0% contain 100%}
 .fp-album-sticky:before{animation:album-light linear both;animation-timeline:--album;animation-range:contain 0% contain 100%}
 .fp-album-bottom:before{content:'';position:absolute;left:0;top:0;height:2px;width:100%;background:#dbc2a1;transform-origin:left;animation:album-progress linear both;animation-timeline:--album;animation-range:contain 0% contain 100%}
 .fp-album-bottom{position:relative}
 .fp-editorial-frame .fp-image,.fp-wide-frame .fp-image{animation:photo-breathe linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
 .fp-manifesto h2>span{animation:photo-text-focus linear both;animation-timeline:view();animation-range:entry 0% cover 45%}
 }
}
@keyframes album-camera{0%{transform:translateY(8px) rotateX(24deg) rotateY(-8deg) rotateZ(-7deg) scale(.94)}22%{transform:translateY(-10px) rotateX(9deg) rotateY(9deg) rotateZ(3deg) scale(1.04)}45%{transform:translateY(-5px) rotateX(17deg) rotateY(-5deg) rotateZ(-3deg) scale(1)}65%{transform:translateY(-12px) rotateX(6deg) rotateY(8deg) rotateZ(4deg) scale(1.04)}86%{transform:translateY(0) rotateX(18deg) rotateY(-6deg) rotateZ(-4deg) scale(1)}100%{transform:translateY(16px) rotateX(25deg) rotateY(0deg) rotateZ(-2deg) scale(.94)}}
@keyframes album-page-turn{0%{transform:rotateY(-5deg) rotateX(0deg)}30%{transform:rotateY(-48deg) rotateX(3deg)}60%{transform:rotateY(-125deg) rotateX(-2deg)}85%{transform:rotateY(-170deg) rotateX(1deg)}100%{transform:rotateY(-179deg) rotateX(0deg)}}
@keyframes album-shade{0%,100%{opacity:0}45%,60%{opacity:.8}}
@keyframes album-heading-recede{0%,8%{opacity:1;transform:translateY(0) scale(1)}30%,78%{opacity:.7;transform:translateY(-12px) scale(.94)}100%{opacity:.5;transform:translateY(-20px) scale(.9)}}
@keyframes album-light{0%,100%{opacity:0}35%{opacity:1}70%{opacity:.35}}
@keyframes album-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes photo-breathe{from{transform:scale(1.06) translateY(8px)}to{transform:scale(1) translateY(-8px)}}
@keyframes photo-text-focus{from{opacity:.2;translate:0 24px}to{opacity:1;translate:0 0}}
@media(max-width:600px){.fp-leaf-front{padding:7px 7px 24px}.fp-leaf-back{padding:15px 10px}.fp-leaf-back>span{font-size:6px;line-height:1.6}.fp-leaf-back em{font-size:24px}}
@media(prefers-reduced-motion:reduce){.fp-leaf-back{display:none}.fp-book-stage{transform:none}.fp-book:before{display:none}.fp-leaf-one,.fp-leaf-two{transform:none}.fp-album-heading{opacity:1}}
/* One shared colour landscape, instead of separate section panels. */
.fp-journey{position:relative;background:radial-gradient(ellipse at 92% 20%,#b9d9ff80,transparent 35%),radial-gradient(ellipse at 0% 65%,#c1d9f580,transparent 35%),linear-gradient(180deg,#101f3c 0,#1b3456 100px,#d9e4ef 290px,#f6f3ed 600px,#eaf1f8 32%,#d7e7f7 48%,#f1eeea 73%,#dce8f4 100%)}
.fp-manifesto{padding-top:330px;padding-bottom:75px}
.fp-stories{isolation:isolate}
.fp-story-thread{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;fill:none;stroke:#2d8ff5;stroke-width:1.2;stroke-dasharray:5 11;opacity:.22}
.fp-chapter-nav{width:max-content;max-width:calc(100% - 24px);margin:0 auto;border:1px solid #ffffffb0;border-radius:50px;top:90px;box-shadow:0 8px 35px #1534550a;background:#f6f9fcdf;padding:17px 30px}
.fp-events,.fp-birthdays,.fp-finale{background:transparent}
.fp-events{color:var(--ink);padding-top:180px;padding-bottom:120px}
.fp-event-top .fp-copy,.fp-wide-frame figcaption{color:#58677e}
.fp-events .fp-link-light{color:var(--ink);border-color:#798897}
.fp-events .fp-link-light:hover{color:var(--accent)}
.fp-weddings{padding-bottom:10px}
.fp-weddings .fp-editorial-frame{position:relative;top:65px}
.fp-events .fp-wide-frame{width:90%;margin-left:auto!important;box-shadow:0 35px 70px #15345520}
.fp-events h2{margin-bottom:-20px;max-width:900px;text-shadow:0 2px 20px #e5eff9;z-index:3}
.fp-event-top{margin-bottom:65px}
.fp-birthdays{padding-top:55px;padding-bottom:50px}
.fp-birthdays .fp-editorial-frame{position:relative;top:-55px}
.fp-process{padding-top:60px}
.fp-more{border:0}
.fp-finale{padding-top:65px}
@media(max-width:600px){
 .fp-manifesto{padding-top:260px;padding-bottom:65px}
 .fp-journey{background:radial-gradient(ellipse at 100% 25%,#bddaff66,transparent 35%),linear-gradient(180deg,#101f3c 0,#315071 90px,#e7edf2 230px,#f6f3ed 470px,#dfebf7 43%,#f1eeea 74%,#dce8f4 100%)}
 .fp-chapter-nav{top:84px;padding:14px 18px;gap:18px}
 .fp-story-thread{opacity:.14}
 .fp-weddings .fp-editorial-frame{top:20px}
 .fp-events{padding-top:105px;padding-bottom:85px}
 .fp-event-top{margin-bottom:30px}
 .fp-events h2{margin-bottom:25px}
 .fp-events .fp-wide-frame{width:100%}
 .fp-birthdays{padding-top:15px}
 .fp-birthdays .fp-editorial-frame{top:0}
 .fp-process{padding-top:40px}
}
@media(prefers-reduced-motion:reduce){.fp-chapter-nav{position:relative;top:auto}}
/* Scroll scenes: held compositions with reversible photo and text movement. */
@supports(animation-timeline:view()){
 @media(prefers-reduced-motion:no-preference){
  .fp-chapter{position:relative;view-timeline-name:--photo-scene;view-timeline-axis:block}
  .fp-chapter>.fp-wrap{position:relative;isolation:isolate}
  .fp-chapter>.fp-wrap:before{position:absolute;right:0;top:0;font-size:clamp(160px,24vw,350px);line-height:.8;font-weight:600;letter-spacing:-.09em;color:#2d8ff50d;z-index:-1;pointer-events:none;animation:scene-number linear both;animation-timeline:--photo-scene;animation-range:entry 0% exit 100%}
  .fp-weddings>.fp-wrap:before{content:'01'}
  .fp-events>.fp-wrap:before{content:'02'}
  .fp-birthdays>.fp-wrap:before{content:'03';right:auto;left:0}
  .fp-chapter .fp-editorial-frame,.fp-chapter .fp-wide-frame{animation:scene-photo linear both;animation-timeline:--photo-scene;animation-range:entry 15% exit 80%;transform-origin:50% 65%;--scene-direction:1;top:0}
  .fp-birthdays .fp-editorial-frame{--scene-direction:-1}
  .fp-chapter .fp-image>.fp-placeholder,.fp-chapter .fp-image>img{animation:scene-image linear both;animation-timeline:--photo-scene;animation-range:entry 15% exit 85%}
  .fp-chapter-copy,.fp-event-top,.fp-events h2{animation:scene-copy linear both;animation-timeline:--photo-scene;animation-range:entry 15% exit 85%}
  .fp-chapter h2 em{display:inline;background:linear-gradient(90deg,#2d8ff5,#2d8ff5) no-repeat left bottom;background-size:0% 2px;padding-bottom:5px;animation:scene-underline linear both;animation-timeline:--photo-scene;animation-range:entry 35% contain 65%}
  .fp-story-thread path{stroke-dasharray:2800;stroke-dashoffset:2800;animation:scene-thread linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
  .fp-process li{animation:scene-step linear both;animation-timeline:view();animation-range:entry 0% cover 35%}
 }
 @media(prefers-reduced-motion:no-preference) and (min-width:801px) and (min-height:720px){
  .fp-chapter{min-height:165svh;padding:60px 0 120px}
  .fp-chapter>.fp-wrap{position:sticky;top:170px;min-height:calc(100svh - 230px)}
  .fp-chapter-grid{gap:75px;grid-template-columns:1fr 1fr}
  .fp-chapter .fp-editorial-frame{max-width:440px;width:100%;justify-self:center}
  .fp-chapter .fp-editorial-frame .fp-image{aspect-ratio:auto;height:clamp(320px,52svh,560px)}
  .fp-chapter-copy h2{font-size:clamp(44px,5vw,70px)}
  .fp-handwritten{margin-top:35px}
  .fp-events>.fp-wrap{display:grid;grid-template-columns:.9fr 1.1fr;grid-template-rows:auto auto auto;column-gap:65px;align-content:center}
  .fp-events .fp-event-top{grid-column:1;display:block;margin:0 0 25px}
  .fp-events .fp-event-top .fp-copy{margin-top:18px}
  .fp-events h2{grid-column:1;font-size:clamp(43px,4.8vw,68px);margin:0;text-shadow:none}
  .fp-events h2 em{display:block}
  .fp-events .fp-wide-frame{grid-column:2;grid-row:1/4;width:100%;margin:0!important;align-self:center}
  .fp-events .fp-wide-frame .fp-image{aspect-ratio:auto;height:clamp(330px,54svh,580px)}
  .fp-events .fp-link{grid-column:1;justify-self:start;margin-top:28px}
  .fp-chapter .fp-editorial-frame,.fp-chapter .fp-wide-frame{animation-range:contain 0% contain 100%}
  .fp-chapter .fp-image>.fp-placeholder,.fp-chapter .fp-image>img,.fp-chapter-copy,.fp-event-top,.fp-events h2{animation-range:contain 0% contain 100%}
 }
 @media(prefers-reduced-motion:no-preference) and (max-width:800px) and (min-height:800px){
  .fp-chapter{min-height:155svh;padding:35px 0 80px}
  .fp-chapter>.fp-wrap{position:sticky;top:150px}
  .fp-chapter-grid,.fp-birthdays .fp-chapter-grid{display:flex;flex-direction:column;gap:22px;align-items:stretch}
  .fp-chapter-copy{order:-1}
  .fp-chapter h2{font-size:38px;line-height:1.05}
  .fp-chapter .fp-kicker{margin-bottom:14px!important}
  .fp-chapter-copy .fp-copy{font-size:12px;line-height:1.6;margin-top:12px}
  .fp-chapter-copy .fp-link{margin-top:7px;padding-block:8px}
  .fp-handwritten{display:none}
  .fp-chapter .fp-editorial-frame,.fp-chapter .fp-wide-frame{width:85%;margin-inline:auto!important}
  .fp-chapter .fp-image{height:30svh;max-height:300px;aspect-ratio:auto}
  .fp-chapter .fp-slot-title{font-size:36px}
  .fp-chapter figcaption{padding-block:8px}
  .fp-event-top{margin-bottom:15px;display:flex;gap:20px}
  .fp-event-top .fp-copy{font-size:10px;max-width:175px;line-height:1.6}
  .fp-events h2{margin-bottom:20px}
  .fp-events .fp-link{margin-top:12px}
  .fp-chapter .fp-editorial-frame,.fp-chapter .fp-wide-frame{animation-range:contain 0% contain 100%}
  .fp-chapter .fp-image>.fp-placeholder,.fp-chapter .fp-image>img,.fp-chapter-copy,.fp-event-top,.fp-events h2{animation-range:contain 0% contain 100%}
 }
}
@keyframes scene-photo{0%{translate:calc(32px * var(--scene-direction)) 25px;rotate:calc(7deg * var(--scene-direction));scale:.9}35%{translate:0 0;rotate:0deg;scale:1}72%{translate:calc(-12px * var(--scene-direction)) -12px;rotate:calc(-3deg * var(--scene-direction));scale:1.045}100%{translate:calc(-30px * var(--scene-direction)) -25px;rotate:calc(-6deg * var(--scene-direction));scale:.96}}
@keyframes scene-image{from{transform:scale(1.12) translateY(8px)}to{transform:scale(1) translateY(-5px)}}
@keyframes scene-copy{0%{transform:translateY(20px)}45%{transform:translateY(0)}100%{transform:translateY(-20px)}}
@keyframes scene-number{from{translate:0 80px}to{translate:0 -80px}}
@keyframes scene-underline{to{background-size:100% 2px}}
@keyframes scene-thread{to{stroke-dashoffset:0}}
@keyframes scene-step{from{opacity:.25;translate:28px 0}to{opacity:1;translate:0 0}}

@media(prefers-reduced-motion:no-preference){.fp-chapter .fp-image{animation:none;transform:none}}
/* Separate front/back siblings preserve the back after the 90-degree crossing.
   Each turned leaf settles above the previous one in the shared 3D space. */
.fp-leaf-one{--leaf-rest:1px}
.fp-leaf-two{--leaf-rest:3px}
@keyframes album-page-turn{
  0%{transform:translateZ(0px) rotateY(-5deg) rotateX(0deg)}
  30%{transform:translateZ(var(--leaf-rest)) rotateY(-48deg) rotateX(2deg)}
  60%{transform:translateZ(var(--leaf-rest)) rotateY(-125deg) rotateX(-1deg)}
  88%{transform:translateZ(var(--leaf-rest)) rotateY(-176deg) rotateX(0deg)}
  100%{transform:translateZ(var(--leaf-rest)) rotateY(-180deg) rotateX(0deg)}
}
/* State the service as the main heading, with the ATC blue emphasis. */
.fp-album-heading .fp-service-label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#c2d3ea;margin-bottom:17px}
.fp-album-heading h1.fp-professional-title{font-size:clamp(58px,6.2vw,88px);line-height:.98;letter-spacing:-.045em;text-transform:none;font-weight:500;color:white;margin:0}
.fp-professional-title em{color:var(--accent)}
@media(max-width:600px){.fp-album-heading .fp-service-label{font-size:8px;letter-spacing:.08em}.fp-album-heading h1.fp-professional-title{font-size:55px}}
@media(max-width:360px){.fp-album-heading h1.fp-professional-title{font-size:47px}}
@media(max-height:760px) and (min-width:601px){.fp-album-heading h1.fp-professional-title{font-size:60px}}
/* The album and its next message share one navy canvas; light arrives afterwards. */
.fp-album-story{background:#101f3c}
.fp-journey{background:radial-gradient(ellipse at 92% 20%,#b9d9ff80,transparent 35%),radial-gradient(ellipse at 0% 65%,#c1d9f580,transparent 35%),linear-gradient(180deg,#eaf1f8,#f6f3ed 20%,#d7e7f7 48%,#f1eeea 73%,#dce8f4 100%)}
.fp-manifesto.fp-wrap{width:100%;padding:100px max(24px,calc((100% - 1200px)/2)) 240px;margin:0;color:#fff;background:linear-gradient(180deg,#101f3c 0%,#101f3c calc(100% - 200px),#29415b calc(100% - 160px),#a6b8cc calc(100% - 75px),transparent 100%)}
.fp-manifesto .fp-copy{color:#c2d3ea}
.fp-manifesto .fp-aperture{right:8%;top:32%;stroke:#5b91c4}
.fp-manifesto .fp-kicker{color:#c2d3ea}
@media(max-width:600px){.fp-manifesto.fp-wrap{padding:70px 20px 180px;background:linear-gradient(180deg,#101f3c 0%,#101f3c calc(100% - 150px),#29415b calc(100% - 120px),#a6b8cc calc(100% - 55px),transparent 100%)}.fp-manifesto .fp-aperture{right:auto;top:auto;margin:30px auto 0}}
.fp-album-story:before{display:none}
/* Short colour handoff from the album directly into the wedding chapter. */
.fp-album-bridge{height:180px;background:linear-gradient(180deg,#101f3c 0%,#29415b 35%,#a6b8cc 75%,transparent 100%)}
@media(max-width:600px){.fp-album-bridge{height:120px}}
/* Change the canvas over time, rather than inserting a visible gradient strip. */
.fp-album-bridge{display:none}
.fp-journey{background:linear-gradient(180deg,#eaf1f8 0%,#eaf1f8 15%,#d7e7f7 48%,#f1eeea 73%,#dce8f4 100%)}
.fp-album-story{background:#eaf1f8;color:#102550}
.fp-album-heading h1.fp-professional-title{color:inherit}
.fp-album-heading .fp-service-label,.fp-album-intro,.fp-album-bottom>span,.fp-album-bottom .fp-link-light{color:inherit}
.fp-album-bottom{border-color:#10255025}
.fp-album-bottom:before{background:#2d8ff5}
.fp-album-sticky:before{display:none}
.fp-stories{padding-top:25px}
@supports(animation-timeline:view()){
 @media(prefers-reduced-motion:no-preference){
  .fp-album-story{animation:album-canvas-handoff linear both;animation-timeline:--album;animation-range:contain 74% contain 100%}
 }
}
@keyframes album-canvas-handoff{
  0%{background-color:#101f3c;color:#f3f7fd}
  30%{background-color:#344962;color:#f3f7fd}
  55%{background-color:#91a5bc;color:#102550}
  80%{background-color:#d1deeb;color:#102550}
  100%{background-color:#eaf1f8;color:#102550}
}
/* Keep copy opaque; switch ink instead of blending it into the changing canvas. */
@keyframes album-heading-recede{0%,8%{opacity:1;transform:translateY(0) scale(1)}30%,78%{opacity:1;transform:translateY(-12px) scale(.94)}100%{opacity:1;transform:translateY(-20px) scale(.9)}}
@keyframes album-canvas-handoff{0%{background-color:#101f3c}30%{background-color:#344962}55%{background-color:#91a5bc}80%{background-color:#d1deeb}100%{background-color:#eaf1f8}}
.fp-album-heading,.fp-album-notes,.fp-album-bottom{color:#102550}
.fp-professional-title em,.fp-album-notes em{color:#0868c8}
.fp-book em{color:#0868c8}
.fp-album-heading .fp-service-label{font-size:11px;font-weight:600}
.fp-album-intro{font-size:13px}
.fp-album-bottom>span{font-size:10px}
@supports(animation-timeline:view()){
 @media(prefers-reduced-motion:no-preference){
  .fp-album-heading,.fp-album-notes,.fp-album-bottom{animation-name:album-readable-ink;animation-duration:auto;animation-timing-function:steps(1,end);animation-fill-mode:both;animation-timeline:--album;animation-range:contain 74% contain 100%}
  .fp-album-heading{animation:album-heading-recede linear both,album-readable-ink steps(1,end) both;animation-timeline:--album,--album;animation-range:contain 0% contain 100%,contain 74% contain 100%}
  .fp-professional-title em,.fp-album-notes em{animation:album-readable-blue steps(1,end) both;animation-timeline:--album;animation-range:contain 74% contain 100%}
 }
}
@keyframes album-readable-ink{0%{color:#ffffff}44%,100%{color:#08152b}}
@keyframes album-readable-blue{0%{color:#2d8ff5}15%{color:#a9d5ff}44%{color:#003d80}80%,100%{color:#0868c8}}
@media(max-width:600px){.fp-album-heading .fp-service-label{font-size:9px}.fp-album-intro{font-size:12px}.fp-album-bottom>span{font-size:9px}}
/* Stable dark ink on a light canvas: never depend on timeline support for contrast. */
.fp-album-story{background:#eaf1f8;color:#102550;animation:none}
.fp-album-heading,.fp-album-notes,.fp-album-bottom{color:#102550;animation:none}
.fp-album-heading h1.fp-professional-title,.fp-album-heading .fp-service-label,.fp-album-intro,.fp-album-bottom>span,.fp-album-bottom .fp-link-light,.fp-professional-title em,.fp-album-notes em{color:#102550;animation:none}
@supports(animation-timeline:view()){
 @media(prefers-reduced-motion:no-preference){
  .fp-album-heading{animation:album-heading-recede linear both;animation-timeline:--album;animation-range:contain 0% contain 100%}
 }
}
/* Requested hero palette: black copy and ATC electric-blue emphasis. */
.fp-album-story,.fp-album-heading,.fp-album-notes,.fp-album-bottom,
.fp-album-heading h1.fp-professional-title,.fp-album-heading .fp-service-label,
.fp-album-intro,.fp-album-bottom>span,.fp-album-bottom .fp-link-light{color:#111111}
.fp-professional-title em,.fp-album-notes em{color:#2d8ff5;animation:none}
/* Soft photographic light fields shared by the whole journey. */
.fp-journey{isolation:isolate;background:#edf2f7}
.fp-journey:before{content:'';position:absolute;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(ellipse 85% 18% at 105% 12%,#96c7ff70,transparent 74%),radial-gradient(ellipse 65% 14% at -10% 32%,#fff9ee,transparent 80%),radial-gradient(ellipse 100% 20% at 80% 49%,#a5c4e65e,transparent 75%),radial-gradient(ellipse 75% 18% at -5% 71%,#d4dcf0a0,transparent 80%),radial-gradient(ellipse 90% 20% at 90% 96%,#d4e8fb,transparent 78%)}
.fp-stories:before,.fp-stories:after{content:'';position:absolute;pointer-events:none;z-index:-1;border:1px solid #2d8ff51c;border-radius:50%;width:110vw;height:65vw;left:-42vw;top:12%;transform:rotate(-27deg)}
.fp-stories:after{width:100vw;height:90vw;left:44vw;top:48%;border-color:#ffffffb0}
.fp-chapter>.fp-wrap:after{content:'';position:absolute;z-index:-1;pointer-events:none;width:clamp(280px,55vw,850px);height:clamp(280px,55vw,850px);top:50%;left:64%;translate:-50% -50%;border-radius:50%;background:radial-gradient(circle,#ffffffa6 0%,#d4e7fa40 45%,transparent 70%)}
.fp-events>.fp-wrap:after{left:25%;background:radial-gradient(circle,#82b9f440,transparent 70%)}
.fp-birthdays>.fp-wrap:after{left:50%;background:radial-gradient(circle,#fff7e9b3,transparent 70%)}
.fp-album-sticky{isolation:isolate}
.fp-album-sticky:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 20% 30%,#ffffffd9,transparent 55%),radial-gradient(ellipse at 90% 65%,#b5d8ff66,transparent 65%);mask-image:linear-gradient(#000 0%,#000 65%,transparent 100%)}
@supports(animation-timeline:view()){
 @media(prefers-reduced-motion:no-preference){
  .fp-chapter>.fp-wrap:after{animation:photo-light-drift linear both;animation-timeline:--photo-scene;animation-range:entry 0% exit 100%}
  .fp-stories:before,.fp-stories:after{animation:photo-orbit-drift linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
  .fp-album-sticky:after{animation:photo-hero-light linear both;animation-timeline:--album;animation-range:contain 0% contain 100%}
 }
}
@keyframes photo-light-drift{from{transform:translate(-45px,55px) scale(.85)}to{transform:translate(55px,-55px) scale(1.15)}}
@keyframes photo-orbit-drift{from{transform:translateY(80px) rotate(-27deg)}to{transform:translateY(-80px) rotate(-12deg)}}
@keyframes photo-hero-light{0%{opacity:1}50%{opacity:.55}100%{opacity:0}}
@media(max-width:600px){.fp-stories:before,.fp-stories:after{width:170vw;height:220vw}.fp-stories:before{left:-100vw}.fp-stories:after{left:30vw}.fp-chapter>.fp-wrap:after{width:110vw;height:110vw}}
