.gs-scrapbook{--navy:#081f33;--navy2:#0d2d45;--cream:#f3eee4;--gold:#c8a05a;--ink:#142a3b;--muted:#65717a;position:relative;width:100vw;left:50%;margin-left:-50vw;background:var(--cream);color:var(--ink);overflow:hidden;font-family:Arial,Helvetica,sans-serif}.gs-scrapbook *{box-sizing:border-box}.gs-inner{width:min(1100px,calc(100% - 48px));margin:auto}.gs-wide{width:min(1320px,calc(100% - 40px))}.gs-narrow{max-width:820px}.gs-hero{background:radial-gradient(circle at 82% 12%,rgba(200,160,90,.15),transparent 27%),linear-gradient(135deg,#061826,#0c2d44);color:#fff;text-align:center;padding:88px 0 84px}.gs-kicker{font-size:12px;font-weight:800;letter-spacing:3px;color:var(--gold);margin:0 0 20px}.gs-hero h1{font-size:clamp(50px,7vw,92px);line-height:.94;letter-spacing:-3px;margin:0;color:#fff;font-weight:800}.gs-hero h1 em{font-family:Georgia,serif;font-weight:400}.gs-place{font-family:Georgia,serif;font-size:clamp(23px,3vw,35px);margin:26px 0 0}.gs-hero-copy{font-size:19px;line-height:1.55;max-width:650px;margin:28px auto 0;color:rgba(255,255,255,.86)}.gs-question{display:inline-block;border:1px solid rgba(255,255,255,.25);border-radius:100px;padding:14px 23px;margin-top:30px;font-weight:700}.gs-story{padding:67px 0 36px;text-align:center}.gs-story p{font-family:Georgia,serif;font-size:clamp(21px,2.5vw,28px);line-height:1.6;margin:0}.gs-feature{padding:38px 0 86px}.gs-heading{text-align:center;max-width:760px;margin:0 auto 35px}.gs-dark-kicker{color:#9a742d}.gs-heading h2,.gs-ending h2{font-family:Georgia,serif;color:var(--navy);font-size:clamp(38px,5vw,58px);line-height:1.05;margin:0}.gs-heading>p:last-child{font-size:17px;line-height:1.6;color:var(--muted);margin:16px auto 0;max-width:650px}.gs-feature-card{max-width:900px;margin:auto;border-radius:18px;overflow:hidden;box-shadow:0 24px 65px rgba(5,25,40,.18);background:#000}.gs-feature-media{position:relative;aspect-ratio:16/9;background:#000}.gs-feature-image{width:100%;height:100%;object-fit:cover;display:block}.gs-feature-play{position:absolute;inset:0;margin:auto;width:78px;height:78px;border-radius:50%;border:0;background:rgba(255,255,255,.94);cursor:pointer;box-shadow:0 7px 25px rgba(0,0,0,.25)}.gs-feature-play span{display:block;margin:auto;margin-left:29px;width:0;height:0;border-top:12px solid transparent;border-bottom:12px solid transparent;border-left:19px solid var(--navy)}.gs-controls{text-align:center;margin-top:27px}.gs-another{border:0;border-radius:100px;padding:17px 28px;background:var(--navy);color:#fff;font-size:13px;font-weight:800;letter-spacing:1px;cursor:pointer}.gs-another:hover{background:var(--navy2)}.gs-controls p{font-size:13px;color:#7b858b;margin:12px 0 0}.gs-stats{background:var(--navy);color:#fff;padding:46px 24px;display:flex;align-items:center;justify-content:center;gap:38px;text-align:center}.gs-stats div{min-width:90px}.gs-stats strong{display:block;color:var(--gold);font-size:35px}.gs-stats span{font-size:10px;letter-spacing:2px;font-weight:800}.gs-stats i{height:50px;width:1px;background:rgba(255,255,255,.18)}.gs-explore{background:#fff;padding:82px 0 95px}.gs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:43px}.gs-tile{position:relative;aspect-ratio:16/9;padding:0;border:0;border-radius:11px;overflow:hidden;background:#071722;cursor:pointer}.gs-tile img{width:100%;height:100%;display:block;object-fit:cover;transition:.3s}.gs-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(2,13,21,.65),transparent 55%)}.gs-tile:hover img{transform:scale(1.045)}.gs-tile-play{position:absolute;z-index:2;left:14px;bottom:13px;width:37px;height:37px;background:#fff;border-radius:50%}.gs-tile-play:after{content:"";position:absolute;left:15px;top:12px;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid var(--navy)}.gs-ending{text-align:center;padding:78px 0 86px;background:#eee6d8}.gs-ending>div>p:last-child{font-family:Georgia,serif;font-size:20px;line-height:1.65;color:#43525c;margin:21px 0 0}.gs-modal{position:fixed;z-index:999999;inset:0;background:rgba(1,9,15,.94);display:none;align-items:center;justify-content:center;padding:25px}.gs-modal.is-open{display:flex}.gs-modal-box{position:relative;width:min(1050px,100%)}.gs-modal-player{aspect-ratio:16/9;background:#000;border-radius:14px;overflow:hidden}.gs-modal-player iframe{width:100%;height:100%;border:0}.gs-modal-close{position:absolute;right:0;top:-50px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);color:#fff;border-radius:50%;width:40px;height:40px;font-size:26px;cursor:pointer}@media(max-width:900px){.gs-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.gs-inner{width:min(100% - 30px,1100px)}.gs-wide{width:calc(100% - 16px)}.gs-hero{padding:64px 0 60px}.gs-hero h1{font-size:49px;letter-spacing:-2px}.gs-hero-copy{font-size:17px}.gs-story{padding:50px 0 25px}.gs-story p{font-size:21px}.gs-feature{padding:35px 0 62px}.gs-heading h2,.gs-ending h2{font-size:38px}.gs-feature-card{border-radius:10px}.gs-feature-play{width:64px;height:64px}.gs-feature-play span{margin-left:25px;border-top-width:10px;border-bottom-width:10px;border-left-width:16px}.gs-stats{gap:16px;padding:38px 12px}.gs-stats strong{font-size:28px}.gs-stats i{height:42px}.gs-explore{padding:62px 0 72px}.gs-grid{grid-template-columns:repeat(2,1fr);gap:7px;margin-top:32px}.gs-tile{border-radius:6px}.gs-ending{padding:60px 0 68px}.gs-ending>div>p:last-child{font-size:18px}.gs-modal{padding:12px}}
/* v1.3 refinements */
.gs-scrapbook{margin-bottom:-40px!important}
.gs-hero-copy{display:none!important}
.gs-hero{padding-bottom:66px}
.gs-feature{padding:48px 0 38px}
.gs-story{padding:30px 0 48px}
.gs-story p{font-size:clamp(19px,2vw,22px);line-height:1.55;max-width:760px;margin:0 auto}
.gs-modal-box{padding-bottom:72px}
.gs-modal-actions{position:absolute;left:0;right:0;bottom:8px;text-align:center}
.gs-modal-next,.gs-ended-next,.gs-ended-back{border:0;border-radius:100px;padding:15px 24px;font-size:12px;font-weight:800;letter-spacing:.8px;cursor:pointer}
.gs-modal-next,.gs-ended-next{background:#fff;color:#081f33}
.gs-ended-back{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.45);margin-left:10px}
.gs-ended{display:none;position:absolute;left:0;right:0;top:0;aspect-ratio:16/9;background:rgba(5,23,36,.96);border-radius:14px;align-items:center;justify-content:center;text-align:center;padding:25px;color:#fff;z-index:4}
.gs-ended.is-visible{display:flex}
.gs-ended p{font-family:Georgia,serif;font-size:clamp(28px,4vw,46px);margin:0 0 24px}
@media(max-width:650px){.gs-scrapbook{margin-bottom:-40px!important}.gs-hero{padding-bottom:52px}.gs-feature{padding:36px 0 30px}.gs-story{padding:24px 0 38px}.gs-story p{font-size:19px}.gs-modal-box{padding-bottom:68px}.gs-modal-next,.gs-ended-next,.gs-ended-back{font-size:10px;padding:13px 15px}.gs-ended-back{display:block;margin:10px auto 0}}

/* Hide the persistent modal next button while the video-ended choice screen is visible. */
.gs-modal.has-ended .gs-modal-actions{display:none!important}

/* v1.3.3: subtle GratitudeSpace branding on the completed-video screen. */
.gs-ended-logo{display:block;width:105px;max-width:22vw;height:auto;max-height:82px;margin:0 auto 14px;object-fit:contain}
@media(max-width:650px){.gs-ended-logo{width:68px;max-width:20vw;max-height:54px;margin-bottom:10px}}


/* v1.3.6: standardized About Chris + Free Book sections from the supplied GratitudeSpace page. */
.gs-about{background:#fafaf9;padding:48px 24px}
.gs-about-card{max-width:1152px;margin:auto;background:#fff;border:1px solid #eee;border-radius:24px;padding:48px;box-shadow:0 14px 34px #0001}
.gs-about-card h2{text-align:center;font-family:Georgia,'Times New Roman',serif;font-size:clamp(29px,3.6vw,40px);line-height:1.2;color:#292524;margin:0 0 32px}
.gs-about-grid{display:grid;grid-template-columns:1fr 2fr;align-items:center;gap:42px}
.gs-about-grid img{display:block;width:100%;max-width:100%;height:auto;border-radius:16px;box-shadow:0 12px 28px #0002}
.gs-about-copy p{font-size:18px;line-height:1.8;margin:0 0 18px;color:#44403c}
.gs-about-copy p:last-child{margin-bottom:0}

.gs-free-book{background:#fafaf9;padding:48px 24px}
.gs-gift-card{max-width:896px;margin:auto;display:grid;grid-template-columns:210px 1fr;gap:32px;align-items:center;background:#fff;border:1px solid #dec99f;border-radius:22px;padding:32px;box-shadow:0 15px 32px #0001}
.gs-gift-card img{display:block;width:200px;max-width:100%;max-height:300px;height:auto;object-fit:contain;box-shadow:0 10px 25px #0002}
.gs-gift-label{font-size:12px!important;letter-spacing:.18em;font-weight:800;color:#946824!important;margin:0 0 10px!important}
.gs-gift-copy h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(29px,3.6vw,40px);line-height:1.2;color:#292524;margin:0 0 15px}
.gs-gift-copy p{font-size:18px;line-height:1.65;color:#57534e;margin:0 0 13px}
.gs-section-button{display:inline-flex;justify-content:center;align-items:center;text-align:center;min-height:54px;margin-top:10px;padding:14px 25px;border-radius:12px;background:var(--navy);color:#fff!important;text-decoration:none!important;font-weight:700;font-size:17px;line-height:1.3;transition:transform .2s,background .2s}
.gs-section-button:hover{transform:translateY(-2px)}

@media(max-width:767px){
  .gs-about,.gs-free-book{padding:36px 20px}
  .gs-about-card{padding:28px}
  .gs-about-grid,.gs-gift-card{grid-template-columns:1fr}
  .gs-about-grid{gap:26px}
  .gs-gift-card{text-align:center;padding:28px}
  .gs-gift-card img{margin:auto}
}

/* The Scrapbook has its full Free Book section at the bottom, so suppress only a fixed/sticky
   site-wide FREE BOOK control when JavaScript identifies it on mobile. */
.gs-scrapbook-hide-floating-free-book{display:none!important}

/* === Master Gratitude Scrapbook v1.4.0 === */
.gs-master-hero{background:#0b2440;color:#fff;text-align:center;padding:86px 20px 82px}
.gs-master-hero h1{margin:12px auto 24px;font-size:clamp(48px,7vw,92px);line-height:.94;letter-spacing:-.045em;max-width:900px}
.gs-master-hero h1 em{font-family:Georgia,serif;font-weight:400;color:#e9d9b8}
.gs-master-intro{max-width:680px;margin:24px auto 0;font-size:19px;line-height:1.65;color:rgba(255,255,255,.82)}
.gs-map-section{background:#f3ead9;padding:78px 20px 88px}
.gs-map{height:520px;max-width:1100px;margin:38px auto 0;border-radius:22px;overflow:hidden;box-shadow:0 18px 50px rgba(11,36,64,.14);border:1px solid rgba(11,36,64,.12);background:#dfe8ea;z-index:1}
.gs-map .leaflet-popup-content-wrapper{border-radius:14px}.gs-map-popup{font-family:Arial,sans-serif;min-width:170px}.gs-map-popup strong{display:block;font-size:17px;color:#0b2440;margin-bottom:3px}.gs-map-popup span{display:block;margin-bottom:9px;color:#555}.gs-map-popup a{font-weight:800;font-size:12px;letter-spacing:.04em;color:#0b2440;text-decoration:none}
.gs-global-meta{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;margin:18px auto 0}.gs-current-place{font-size:18px;color:#0b2440}.gs-current-city-link{font-size:12px;font-weight:800;letter-spacing:.07em;color:#0b2440;text-decoration:none;border-bottom:1px solid #0b2440;padding-bottom:2px}
.gs-master-collections{padding:84px 20px 96px;background:#fff}.gs-location-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:1050px;margin:42px auto 0}.gs-location-card{display:block;text-decoration:none;color:#0b2440;background:#f3ead9;border-radius:18px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.gs-location-card:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(11,36,64,.12)}.gs-location-image{aspect-ratio:16/9;overflow:hidden;background:#ddd}.gs-location-image img{width:100%;height:100%;object-fit:cover;display:block}.gs-location-copy{padding:24px 26px 28px}.gs-location-copy p{font-size:11px;font-weight:800;letter-spacing:.13em;margin:0 0 7px}.gs-location-copy h3{font-size:32px;line-height:1;margin:0 0 15px}.gs-location-copy span{font-size:12px;font-weight:800;letter-spacing:.06em}.gs-master-ending{background:#f3ead9}
@media(max-width:700px){.gs-master-hero{padding:60px 18px 58px}.gs-master-hero h1{font-size:49px}.gs-master-intro{font-size:17px}.gs-map-section{padding:58px 14px 66px}.gs-map{height:430px;border-radius:15px;margin-top:28px}.gs-location-grid{grid-template-columns:1fr;gap:20px}.gs-master-collections{padding:62px 16px 70px}.gs-location-copy h3{font-size:28px}.gs-global-meta{gap:8px;flex-direction:column}}

/* v1.4.1: ensure master hero headline is readable against navy regardless of theme heading colors */
.gs-scrapbook.gs-master .gs-master-hero h1{color:#fff !important;}
.gs-scrapbook.gs-master .gs-master-hero h1 em{color:#e9d9b8 !important;}

/* v1.4.2: make each map popup a clear collection-page link */
.gs-map-place-link{display:flex;flex-direction:column;gap:4px;text-decoration:none!important;color:#0b2947!important;padding:2px 0}.gs-map-place-link strong{font-size:16px}.gs-map-place-link span{color:#4f5b67}.gs-map-place-link b{margin-top:5px;font-size:11px;letter-spacing:.08em;color:#0b2947}

/* v1.4.12: master closing-story typography and spacing cleanup */
.gs-scrapbook.gs-master .gs-master-ending{padding:78px 20px 82px}
.gs-scrapbook.gs-master .gs-master-ending .gs-narrow{max-width:880px}
.gs-scrapbook.gs-master .gs-master-ending h2{margin:0 auto 40px;max-width:720px;line-height:1.02}
.gs-scrapbook.gs-master .gs-master-ending .gs-kicker{margin-bottom:24px}
.gs-scrapbook.gs-master .gs-master-ending p:not(.gs-kicker){font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.62;color:var(--ink);margin:0 auto 19px;max-width:850px}
.gs-scrapbook.gs-master .gs-master-ending p:last-child{font-family:Georgia,serif;font-size:21px;line-height:1.45;color:#43525c;margin:28px auto 0;max-width:760px}
@media(max-width:700px){
 .gs-scrapbook.gs-master .gs-master-ending{padding:60px 18px 66px}
 .gs-scrapbook.gs-master .gs-master-ending h2{margin-bottom:32px;line-height:1.06}
 .gs-scrapbook.gs-master .gs-master-ending p:not(.gs-kicker){font-size:16px;line-height:1.58;margin-bottom:17px}
 .gs-scrapbook.gs-master .gs-master-ending p:last-child{font-size:19px;margin-top:24px}
}


/* v1.4.13: give master story headline unmistakable separation from body copy */
.gs-scrapbook.gs-master .gs-master-ending h2{
  margin:0 auto 68px !important;
  max-width:760px;
  line-height:1.02;
}
.gs-scrapbook.gs-master .gs-master-ending h2 + p{
  margin-top:0 !important;
}
@media(max-width:700px){
  .gs-scrapbook.gs-master .gs-master-ending h2{margin-bottom:46px !important;}
}


/* v1.4.14: refine master story body typography; final sentence now matches body copy */
.gs-scrapbook.gs-master .gs-master-ending .gs-narrow{max-width:820px}
.gs-scrapbook.gs-master .gs-master-ending p:not(.gs-kicker){
  max-width:800px;
  font-size:17px;
  line-height:1.72;
}
.gs-scrapbook.gs-master .gs-master-ending p:last-child{
  font-family:Arial,Helvetica,sans-serif;
  font-size:17px;
  line-height:1.72;
  color:var(--ink);
  margin:0 auto 19px;
  max-width:800px;
}
@media(max-width:700px){
  .gs-scrapbook.gs-master .gs-master-ending .gs-narrow{max-width:100%}
  .gs-scrapbook.gs-master .gs-master-ending p:not(.gs-kicker),
  .gs-scrapbook.gs-master .gs-master-ending p:last-child{font-size:16px;line-height:1.66;margin-bottom:17px}
}


/* v1.4.23: city pages link back to the master Gratitude Scrapbook. */
.gs-city-master-link-wrap{padding-top:24px;text-align:left}
.gs-city-master-link{display:inline-block;color:rgba(255,255,255,.82);font-size:12px;font-weight:800;letter-spacing:.8px;text-decoration:none;text-transform:uppercase}
.gs-city-master-link:hover{color:#fff}
.gs-city-more{background:#eee6d8;text-align:center;padding:0 0 72px}
.gs-city-more .gs-inner{display:flex;justify-content:center}
.gs-city-more-link{text-decoration:none}
@media(max-width:650px){
 .gs-city-master-link-wrap{padding-top:18px;text-align:center}
 .gs-city-master-link{font-size:10px}
 .gs-city-more{padding-bottom:56px}
}


/* v1.4.24: discovery CTA after each city gallery; city cards emphasize place, not collection size. */
.gs-city-discover{background:#eee6d8;text-align:center;padding:76px 20px 82px}
.gs-city-discover h2{color:#0b2440;margin:8px 0 14px}
.gs-city-discover p:not(.gs-kicker){max-width:680px;margin:0 auto 28px;color:#24384b;font-size:17px;line-height:1.7}
.gs-city-discover-button{display:inline-block;text-decoration:none}
@media(max-width:650px){
 .gs-city-discover{padding:58px 18px 64px}
 .gs-city-discover p:not(.gs-kicker){font-size:16px}
}


/* v1.4.25: early city-to-master navigation and shared Scrapbook bio. */
.gs-city-quick-nav{background:var(--cream);text-align:center;padding:0 20px 42px}
@media(max-width:650px){.gs-city-quick-nav{padding:0 14px 34px}
}


/* v1.4.28: center city navigation CTA and align both Scrapbook CTAs with the navy/cream visual system. */
.gs-city-quick-nav{padding:8px 20px 48px;text-align:center}
.gs-city-quick-nav .gs-inner{display:flex;justify-content:center;align-items:center}
.gs-city-quick-nav .gs-section-button{
  margin:0 auto;
  border:2px solid var(--navy);
  border-radius:100px;
  background:transparent;
  color:var(--navy)!important;
  padding:14px 27px;
  min-height:52px;
  font-size:14px;
  letter-spacing:.35px;
}
.gs-city-quick-nav .gs-section-button:hover{background:var(--navy);color:#fff!important}
.gs-city-discover .gs-city-discover-button{
  background:var(--navy);
  color:#fff!important;
  border:2px solid var(--navy);
  border-radius:100px;
}
.gs-city-discover .gs-city-discover-button:hover{background:var(--navy2);border-color:var(--navy2)}
@media(max-width:650px){
  .gs-city-quick-nav{padding:6px 14px 38px}
  .gs-city-quick-nav .gs-section-button{font-size:12px;padding:13px 20px;min-height:48px}
}


/* v1.4.34 — refined reusable homepage Scrapbook experience. */
.gs-scrapbook.gs-home-experience{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  overflow:hidden!important;
}
.gs-scrapbook.gs-home-experience .gs-feature{width:100%!important;margin:0!important;padding:58px 24px 46px!important;background:#f7f2e9}
.gs-scrapbook.gs-home-experience .gs-inner{width:min(760px,100%)!important;max-width:760px!important;margin:0 auto!important;padding:0!important}
.gs-scrapbook.gs-home-experience .gs-heading{width:100%;max-width:680px;margin:0 auto 28px!important;text-align:center}
.gs-scrapbook.gs-home-experience .gs-heading h2{font-size:clamp(36px,4.2vw,52px)}
.gs-scrapbook.gs-home-experience .gs-feature-card{width:100%;max-width:680px!important;margin:0 auto!important}
.gs-scrapbook.gs-home-experience .gs-global-meta{width:100%;max-width:680px!important;margin:18px auto 0!important;text-align:center}
.gs-scrapbook.gs-home-experience .gs-controls{width:100%;max-width:680px!important;margin:22px auto 0!important;text-align:center}
.gs-scrapbook.gs-home-experience .gs-home-experience-link{width:100%;max-width:680px;margin:17px auto 0!important;text-align:center}
.gs-scrapbook.gs-home-experience .gs-home-experience-link .gs-section-button{display:inline-flex;min-height:0;margin:0;padding:8px 3px;border:0;border-bottom:1px solid rgba(8,31,51,.38);border-radius:0;background:transparent!important;color:var(--navy)!important;font-size:11px;letter-spacing:.08em;font-weight:800}
.gs-scrapbook.gs-home-experience .gs-home-experience-link .gs-section-button:hover{background:transparent!important;color:var(--navy2)!important;transform:none;border-bottom-color:var(--navy2)}
@media(max-width:700px){
 .gs-scrapbook.gs-home-experience .gs-feature{padding:40px 18px 38px!important}
 .gs-scrapbook.gs-home-experience .gs-inner{width:100%!important}
 .gs-scrapbook.gs-home-experience .gs-heading{margin-bottom:24px!important}
 .gs-scrapbook.gs-home-experience .gs-heading h2{font-size:38px}
 .gs-scrapbook.gs-home-experience .gs-home-experience-link .gs-section-button{width:auto;justify-content:center}
}

/* v1.4.35 — randomizer actions use ↻; arrows remain navigation-only. */

/* v1.4.36 — slightly larger refresh icon on all Experience Another actions. */
.gs-another-icon{display:inline-block;margin-left:3px;font-size:1.35em;line-height:.7;vertical-align:-.08em;font-weight:700}
