@font-face{font-family:'Great Vibes';src:url('/keepsake-art/GreatVibes-Regular.woff2') format('woff2');font-display:swap}
/* The approved Then & Always stationery, shared by gallery and creator. */
.keepsakes-page,.creator-page{--paper:#faf5e9;--wine:#702e38;--forest:#293f34;--line:#cdb9a1;background:var(--paper);color:var(--forest)}
.keepsakes-page main,.creator-page .creator-main{background:var(--paper);color:var(--forest)}
.keepsakes-page .collection-christmas{background:var(--paper);border-top:6px solid var(--wine);padding:28px 0 64px}
.keepsakes-page .wrap{width:min(1180px,calc(100% - 48px));max-width:1180px}
.keepsakes-page .collection-welcome{display:grid;grid-template-columns:1.05fr .8fr;gap:70px;align-items:center;margin:0 0 38px;padding:40px 0;background:none;border:0;box-shadow:none}
.keepsakes-page .collection-heading{padding:0;text-align:left;margin:0;background:none;border:0}
.keepsakes-page .collection-heading h1{margin:24px 0 28px;color:var(--wine);line-height:1.05}
.collection-heading h1>span{display:block;font:clamp(72px,8vw,112px)/1.1 'Great Vibes',Georgia,serif}
.collection-heading h1>small{display:block;font:18px/1.8 Georgia,serif;text-transform:uppercase;letter-spacing:5px;color:var(--forest);margin:12px 0}
.keepsakes-page .collection-heading p{color:var(--forest);font:20px/1.65 Arial,sans-serif;max-width:510px}
.keepsakes-page .collection-heading .collection-lede{font:29px/1.4 Georgia,serif}
.keepsakes-page .collection-heading .eyebrow{font:13px/1.5 Arial,sans-serif;letter-spacing:2px;color:var(--wine)}
.welcome-link{display:inline-flex;min-height:48px;align-items:center;color:var(--wine);font-size:19px;text-underline-offset:7px}
.welcome-card{display:block;max-width:370px;justify-self:center;text-decoration:none;color:var(--wine);text-align:center}
.welcome-card img{width:100%;height:auto;display:block;box-shadow:0 12px 30px #4f2d2524}
.welcome-card span{display:block;font:14px/1.5 Arial,sans-serif;margin-top:15px}
.keepsakes-page .collection-note{border-block:1px solid var(--line);padding:20px;text-align:center;color:var(--wine);font:18px/1.7 Georgia,serif}
.keepsakes-page .keepsake-product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 58px;align-items:start;background:none;border:0;border-bottom:1px solid var(--line);box-shadow:none;border-radius:0;padding:56px 0;margin:0}
.keepsakes-page .product-heading{grid-column:2;grid-row:1;padding:0;background:none;border:0}
.keepsakes-page .product-heading h3{color:var(--forest);font:38px/1.16 Georgia,serif;margin:14px 0}
.keepsakes-page .product-heading .product-format{font:15px/1.5 Arial,sans-serif;color:var(--wine);text-transform:uppercase;letter-spacing:1.4px}
.keepsakes-page .keepsake-price{font:36px/1.3 Georgia,serif;color:var(--wine);margin:18px 0}
.keepsakes-page .keepsake-price small{display:block;font:16px/1.6 Arial,sans-serif;color:#55564c;margin-top:6px}
.keepsakes-page .product-description,.keepsakes-page .design-instruction,.keepsakes-page .example-status,.keepsakes-page details{color:var(--forest);font-size:19px;line-height:1.65}
.keepsakes-page .product-example{grid-column:1;grid-row:1/3;align-self:start;background:none;border:0;padding:0;margin:0;box-shadow:none;min-width:0}
.keepsakes-page .example-jpg .example-image-link{max-width:390px;margin:auto}
.keepsakes-page .product-example img{display:block;width:100%;height:auto;max-height:660px;object-fit:contain}
.keepsakes-page .product-choices{display:block;grid-column:2;grid-row:2;margin:0}
.keepsakes-page .product-example figcaption{padding:18px 0;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}
.keepsakes-page .selected-design,.keepsakes-page .example-full-link{color:var(--wine);font-size:17px}
.keepsakes-page .example-designs{gap:10px}
.keepsakes-page button.example-style,.creator-page button.design-choice{background:#fffaf1!important;background-image:none!important;color:var(--forest)!important;border:1px solid var(--line)!important;border-radius:3px!important;box-shadow:none!important;animation:none!important;text-shadow:none!important}
.keepsakes-page button.example-style[aria-pressed=true],.creator-page button.design-choice[aria-pressed=true]{border:2px solid var(--wine)!important;background:#f1e8d9!important;box-shadow:0 0 0 2px #faf5e9,0 0 0 3px #702e3840!important}
.keepsakes-page button.example-style:before,.keepsakes-page button.example-style:after,.creator-page button.design-choice:before,.creator-page button.design-choice:after{display:none!important}
.keepsakes-page .example-style img{height:125px;width:100%;object-fit:contain;background:none}
.keepsakes-page .example-style span{font:17px/1.25 Georgia,serif}
.keepsakes-page .design-selection{color:var(--wine);font-size:14px}
.keepsakes-page details{border-color:var(--line)}
.keepsakes-page details summary{color:var(--wine);font-size:20px;min-height:48px}
.keepsakes-page .keepsake-aftercare,.keepsakes-page .help-section{background:#eee5d5;border-top:1px solid var(--line);color:var(--forest)}
.keepsakes-page :is(.keepsake-aftercare,.help-section) :is(h2,p){color:var(--forest)}
.keepsakes-page :is(.keepsake-aftercare,.help-section) .eyebrow{color:var(--wine)}
.keepsakes-page .help-section a:not(.button){color:var(--wine)}
.keepsakes-page .example-dialog{background:var(--paper);color:var(--forest);border:1px solid var(--wine)}
.keepsakes-page .example-dialog :is(h2,p,a){color:var(--forest)}
.keepsakes-page .example-dialog-content{background:var(--paper)}
.keepsakes-page .example-dialog-content img{height:auto;max-height:68vh;object-fit:contain;background:none}
.creator-page .creator-main{max-width:1080px}
.creator-page .creator-intro{border-left:0!important;border-bottom:1px solid var(--line);padding:22px 0 28px!important;background:none}
.creator-page :is(h1,h2,h3,label,legend){color:var(--forest)}
.creator-page .creator-main :is(p,small,.status,.field-note,.optional,.save-status,.design-description,.photo-empty,.design-example-note){color:#424b40}
.creator-page .creator-main .eyebrow,.creator-page .design-selected,.creator-page .choice-price{color:var(--wine)}
.creator-page :is(.entry-card,.product-choice,.purchase-summary,.render-progress,.music-field,.guide-products article){background:#fffaf1;border:1px solid var(--line);border-radius:4px;box-shadow:none}
.creator-page :is(input,textarea,select){background:#fffdf8;color:var(--forest);border-color:#a9947a}
.creator-page .creator-main a:not(.button),.creator-page .finishing-touches summary{color:var(--wine)}
.creator-page .creator-progress li{color:#55564c;border-color:transparent}
.creator-page .creator-progress li[aria-current=step]{color:var(--wine);border-color:var(--wine)}
.creator-page .creator-progress li[aria-current=step] span{background:var(--wine);color:#fff7e7;border-color:var(--wine)}
.creator-page .design-choice{padding:14px!important;overflow:hidden}
.creator-page .design-example{width:100%;height:260px!important;object-fit:contain;background:none;border:0;padding:0;aspect-ratio:auto!important}
.creator-page .design-choice[data-format=jpg] .design-example{aspect-ratio:5/7!important}
.creator-page .design-choice strong{font:25px/1.2 Georgia,serif;color:var(--forest);margin-top:18px}
.creator-page .preview-pages{max-width:600px}
.creator-page .preview-page figcaption{color:var(--wine);font-size:18px}
.creator-page .creator-message{background:#fae9e3;color:#6d242b;border-color:#aa6970}
.creator-page .creator-main .creator-message{color:#6d242b}
/* Warm burgundy controls, scoped to Keepsakes; the restoration brand is unchanged. */
:is(.keepsakes-page,.creator-page) main :is(.button,button:not(.design-choice):not(.example-style)){background:linear-gradient(135deg,#85414b,#60212d)!important;color:#fff8e9!important;border:1px solid #9d6970!important;border-radius:5px!important;box-shadow:0 3px 7px #4a232324!important;font-weight:400!important;text-shadow:none!important}
:is(.keepsakes-page,.creator-page) main :is(.button,button):before,:is(.keepsakes-page,.creator-page) main :is(.button,button):after{animation:none!important;background:none!important}
:is(.keepsakes-page,.creator-page) main :is(button,.button):hover{filter:brightness(1.08)}
:is(.keepsakes-page,.creator-page) :focus-visible{outline:3px solid #82622c!important;outline-offset:4px}
:is(.keepsakes-page,.creator-page) main button:disabled{opacity:.55}
@media(max-width:760px){
.keepsakes-page .wrap{width:calc(100% - 36px)}
.keepsakes-page .collection-christmas{padding-top:10px}
.keepsakes-page .collection-welcome{display:flex;flex-direction:column;gap:24px;padding:22px 0;margin:0 0 25px}
.keepsakes-page .collection-heading{text-align:center;width:100%}
.collection-heading h1>span{font-size:78px}
.collection-heading h1>small{font-size:15px;letter-spacing:4px}
.keepsakes-page .collection-heading h1{margin:15px 0}
.keepsakes-page .collection-heading p{font-size:19px;margin:12px auto}
.keepsakes-page .collection-heading .collection-lede{font-size:25px}
.welcome-card{max-width:270px;width:75%}
.keepsakes-page .keepsake-product{display:flex;flex-direction:column;gap:22px;padding:38px 0}
.keepsakes-page .product-heading,.keepsakes-page .product-example,.keepsakes-page .product-choices{width:100%}
.keepsakes-page .product-heading h3{font-size:33px}
.keepsakes-page .product-example{max-width:440px;margin:auto}
.keepsakes-page .example-designs{grid-template-columns:repeat(3,minmax(0,1fr))}
.keepsakes-page .example-style{padding:7px!important;min-width:0}
.keepsakes-page .example-style img{height:110px}
.keepsakes-page .example-style span{font-size:15px}
.keepsakes-page .design-selection{font-size:12px}
.creator-page .design-choices{grid-template-columns:1fr}
.creator-page .design-example{height:360px!important}
.creator-page .creator-main{padding:24px 18px 45px}
}
@media(prefers-reduced-motion:reduce){.keepsakes-page *,.creator-page *{scroll-behavior:auto!important;animation:none!important}}
/* Clear older collection-frame rules at their original specificity. */
.keepsakes-page .collection-christmas .collection-welcome .collection-heading{padding:0;border:0;background:none;box-shadow:none;display:block}
.keepsakes-page .collection-christmas .keepsake-product{background:none;border:0;border-bottom:1px solid var(--line);box-shadow:none;border-radius:0;padding:56px 0;margin:0}
.keepsakes-page .collection-christmas .product-example{padding:0;border:0;background:none;box-shadow:none}
.keepsakes-page .collection-christmas .example-style{display:flex;flex-direction:column;align-items:stretch;gap:8px}
.keepsakes-page .collection-christmas .example-style img{width:100%;height:125px;object-fit:contain}
.keepsakes-page .collection-christmas .example-style span{font:17px/1.3 Georgia,serif}
.keepsakes-page .collection-christmas .example-style small{font:14px/1.4 Arial,sans-serif}
@media(max-width:760px){
.keepsakes-page .collection-christmas .collection-welcome .collection-heading{text-align:center}
.keepsakes-page .collection-heading h1>span{font-size:clamp(58px,19vw,78px);white-space:nowrap;overflow-wrap:normal}
.keepsakes-page .collection-christmas .keepsake-product{padding:36px 0}
.keepsakes-page .collection-christmas .example-style span{font-size:15px}
.keepsakes-page .collection-christmas .example-style small{font-size:12px}
.keepsakes-page .collection-christmas .example-style img{height:110px}
.keepsakes-page .nav{width:100%;box-sizing:border-box;padding-inline:18px;gap:16px}
.keepsakes-page nav{gap:14px;justify-content:space-between;width:100%}
.keepsakes-page nav .keepsakes-link{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.keepsakes-page nav .keepsake-heart{width:18px;height:18px;flex:none}
}
.keepsakes-page .example-dialog :is(button,.button){background:linear-gradient(135deg,#85414b,#60212d)!important;color:#fff8e9!important;border:1px solid #9d6970!important;border-radius:5px!important;box-shadow:none!important;text-shadow:none!important;font-weight:400!important}
.keepsakes-page .example-dialog :is(button,.button)::before,.keepsakes-page .example-dialog :is(button,.button)::after{display:none!important}

/* Readable calendar introduction on its warm ivory background. */
.keepsakes-page .calendar-introduction p{color:#3e4b3d;opacity:1;}
.keepsakes-page .calendar-introduction p:first-child{color:#5c4830;}
.keepsakes-page .calendar-introduction .calendar-print-note{color:#535348;font-size:16px;line-height:1.6;}

/* Solid product backgrounds keep artwork and lettering clear. */
.keepsakes-page .calendar-introduction{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;gap:50px;padding:52px max(32px,calc((100% - 1120px)/2));background:#f8efdc;color:#283d31;text-align:center;}
.keepsakes-page .calendar-example-scene{min-width:0;padding:10px 20px 20px;}
.keepsakes-page .calendar-cover-example{display:block;width:min(100%,390px);margin:auto;color:#3e4b3d;text-decoration:none;}
.keepsakes-page .calendar-cover-example img{display:block;width:100%;height:auto;transform:none;border:1px solid #b89a5e;box-shadow:3px 3px 0 #f8efdc,5px 5px 0 #c6b48d,8px 8px 0 #ede2c8,12px 20px 28px #39260e40;}
.keepsakes-page .calendar-cover-example span{display:block;margin-top:26px;font:15px/1.5 Georgia,serif;}
.keepsakes-page .calendar-intro-copy{position:relative;min-width:0;max-width:600px;}
.keepsakes-page .calendar-intro-copy h2{color:#283d31;font-size:clamp(32px,3.6vw,46px);text-wrap:balance;}
.keepsakes-page .calendar-intro-copy p{font-size:20px;line-height:1.6;}
.keepsakes-page .calendar-intro-copy .calendar-eyebrow{font-size:16px;letter-spacing:2px;}
.keepsakes-page .calendar-intro-copy .calendar-print-note{font-size:16px;}
.keepsakes-page .calendar-intro-copy .button{margin-block:8px;}
@media(max-width:760px){
.keepsakes-page .calendar-introduction{grid-template-columns:minmax(0,1fr);gap:22px;padding:30px 22px 36px;}
.keepsakes-page .calendar-example-scene{padding:8px 8px 0;}
.keepsakes-page .calendar-cover-example{width:280px;max-width:100%;}
.keepsakes-page .calendar-cover-example span{font-size:14px;}
.keepsakes-page .calendar-intro-copy{max-width:100%;}
.keepsakes-page .calendar-intro-copy .button{max-width:100%;}
}

/* A clear directory and generous touch targets for browsing the full collection. */
.keepsakes-page .keepsake-directory{padding:30px 24px;background:#faf5e9;border-bottom:1px solid #cdb9a1;text-align:center;}
.keepsakes-page .keepsake-directory h2{margin:0 0 10px;color:#293f34;font:32px/1.2 Georgia,serif;}
.keepsakes-page .keepsake-directory p{margin:0 0 20px;color:#424b40;font:18px/1.6 Arial,sans-serif;}
.keepsakes-page nav.keepsake-shortcuts{display:grid;align-items:stretch;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:min(100%,1000px);margin:auto;}
.keepsakes-page .keepsake-shortcuts a{display:flex;align-items:center;justify-content:center;min-height:54px;padding:12px 16px;border:1px solid #bba37c;border-radius:8px;background:#fffaf1;color:#293f34;font:19px/1.4 Georgia,serif;text-decoration:underline;text-underline-offset:4px;box-sizing:border-box;}
.keepsakes-page .keepsake-shortcuts a:hover{background:#eee2cb;}
.keepsakes-page .back-to-keepsakes{display:inline-flex;align-items:center;min-height:48px;margin-top:14px;color:#702e38;font:18px/1.5 Arial,sans-serif;text-underline-offset:5px;}
.keepsakes-page :is(.keepsake-product,#family-calendar,#browse-keepsakes,#printed-keepsakes,#keepsake-help){scroll-margin-top:24px;}
@media(max-width:760px){
.keepsakes-page nav.keepsake-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.keepsakes-page .keepsake-directory{padding:24px 18px;}
.keepsakes-page .keepsake-shortcuts a{font-size:18px;padding:12px 8px;}
.keepsakes-page .collection-christmas .example-designs{grid-template-columns:1fr;}
.keepsakes-page .collection-christmas .example-style{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:6px 14px;text-align:left;padding:12px!important;}
.keepsakes-page .collection-christmas .example-style img{grid-row:1/3;height:90px;}
.keepsakes-page .collection-christmas .example-style span{font-size:19px;}
.keepsakes-page .collection-christmas .example-style small{font-size:16px;}
}

/* Every available keepsake has a recognizable, uncropped example in the menu. */
.keepsake-shortcuts.keepsake-picture-menu{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;max-width:1200px;margin:30px auto}.keepsake-shortcuts.keepsake-picture-menu a{display:flex;flex-direction:column;text-decoration:none;background:#fff9ed;border:1px solid #b9a47b;border-radius:10px;padding:14px;gap:12px;text-align:center;color:#303e31;min-width:0}.keepsake-picture-menu img{display:block;width:100%;height:190px;object-fit:contain;background:#eee5d3}.keepsake-picture-menu span{font:23px/1.3 Georgia,serif}.keepsake-picture-menu small{font-size:17px;line-height:1.45;color:#485544}.keepsake-menu-help{font-size:20px}.keepsake-picture-menu a:focus-visible{outline:3px solid #35647c;outline-offset:4px}@media(max-width:1000px){.keepsake-shortcuts.keepsake-picture-menu{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:620px){.keepsake-shortcuts.keepsake-picture-menu{grid-template-columns:1fr;gap:24px;max-width:380px}.keepsake-picture-menu img{height:230px}.keepsake-picture-menu span{font-size:26px}.keepsake-picture-menu small{font-size:19px}}

/* Year-round collection: two clear choices, generous readable cards. */
.keepsake-shortcuts.keepsake-picture-menu{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px}.calendar-intro-copy h1{font:clamp(34px,4vw,58px)/1.12 Georgia,serif;color:#293e32;margin:22px 0}@media(max-width:620px){.keepsake-shortcuts.keepsake-picture-menu{grid-template-columns:1fr;max-width:380px}}

/* Keep product cards independent of the header navigation's mobile rules. */
.keepsakes-page nav.keepsake-picture-menu {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  width:min(100%,760px);
  margin:28px auto;
}
.keepsakes-page nav.keepsake-picture-menu > a {
  display:flex !important;
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  gap:12px;
  padding:18px;
  min-width:0;
  text-decoration:none;
}
.keepsakes-page nav.keepsake-picture-menu > a > span,
.keepsakes-page nav.keepsake-picture-menu > a > small {
  display:block;
  width:100%;
  margin:0;
  white-space:normal;
  overflow-wrap:normal;
  word-break:normal;
}
.keepsakes-page nav.keepsake-picture-menu > a > span {font:26px/1.25 Georgia,serif;}
.keepsakes-page nav.keepsake-picture-menu > a > small {font:18px/1.5 Arial,sans-serif;}
.keepsakes-page nav.keepsake-picture-menu img {height:230px;object-fit:contain;}
@media(max-width:620px) {
  .keepsakes-page nav.keepsake-picture-menu {grid-template-columns:minmax(0,1fr);max-width:380px;gap:20px;}
  .keepsakes-page .keepsake-menu-help {display:flex;flex-wrap:wrap;justify-content:center;gap:8px 16px;}
}
