/* Real campaign photographs; a light second screen and legible captions. */
:root:root{--ds-soft:var(--editor-paper,#faf8f3);--ds-disabled-bg:#eeeae2;--ds-disabled-border:#cbc4b9;--ds-disabled-text:#756b63}
html body #moments#moments{background:var(--editor-paper,#faf8f3)!important;color:var(--editor-ink,#392d33)!important;padding:64px max(24px,6vw)!important}
html body #moments#moments :is(h2,h3,p,a,.eyebrow,.text-link){color:var(--editor-ink,#392d33)!important;text-shadow:none!important}
html body #moments#moments .section-head{margin-bottom:32px!important}
html body #moments#moments .moment-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:20px!important;margin:0!important}
html body #moments#moments .moment-card,html body #moments#moments .moment-card:first-child{display:flex!important;flex-direction:column;grid-column:auto!important;grid-row:auto!important;aspect-ratio:auto!important;padding:0!important;min-height:0!important;border:0!important;background:transparent!important;overflow:visible!important;position:relative}
html body #moments#moments .moment-photo{position:relative!important;inset:auto!important;grid-column:auto!important;grid-row:auto!important;aspect-ratio:3/4!important;height:auto!important;width:100%;margin:0!important;overflow:hidden;border:0!important}
html body #moments#moments .moment-photo img{width:100%;height:100%;object-fit:cover;opacity:1!important;filter:none!important;transition:transform .35s}
html body #moments#moments .moment-card:nth-child(2) img{object-position:43% center}
html body #moments#moments .moment-card:nth-child(3) img{object-position:50% center}
html body #moments#moments .moment-photo span,html body #moments#moments .moment-card::before,html body #moments#moments .moment-card::after,html body #moments#moments .moment-photo::after{display:none!important}
html body #moments#moments .moment-card h3,html body #moments#moments .moment-card:first-child h3{position:static!important;inset:auto!important;font-size:26px!important;line-height:1.18!important;margin:16px 0 0!important;max-width:none!important;color:var(--editor-ink,#392d33)!important;text-shadow:none!important}
html body #moments#moments .moment-card p,html body #moments#moments .moment-card .text-link{display:none!important}
html body #moments#moments .moment-card:hover h3{text-decoration:underline;text-underline-offset:5px}
@media(hover:hover){html body #moments#moments .moment-card:hover img{transform:scale(1.025)}}
html body :is(.button,.footer-cta,.add-product):not(:disabled){background:var(--editor-accent,#51333f)!important;color:var(--editor-paper,#faf8f3)!important;border-color:var(--editor-accent,#51333f)!important}
html body :is(.button.button-secondary,.product-services button,.set-navigation button,.set-gallery button,.close,.qty button){background:var(--editor-paper,#faf8f3)!important;color:var(--editor-accent,#51333f)!important;border-color:#aa969e!important}
html body :is(#home#home,.brand-footer#footer) :is(.button,.footer-cta){background:var(--editor-paper,#faf8f3)!important;color:var(--editor-accent,#51333f)!important;border-color:var(--editor-paper,#faf8f3)!important}
html body main>section:not(#home) :is(.muted,.eyebrow,.intro,.detail-note,.text-link,label,summary,.contact-phone){color:var(--editor-accent,#51333f)!important}
html body :is(.box-options,.detail-copy,.account-page,.checkout-screen,.service-dialog) :is(p,h1,h2,h3,label,summary){color:var(--editor-ink,#392d33)!important}
html body :is(.button,.footer-cta):disabled{background:#eeeae2!important;color:#756b63!important;border-color:#cbc4b9!important}
html body :is(input,select,textarea):disabled{background:#eeeae2!important;color:#756b63!important}
html body .favorite-toggle[aria-pressed=true]{background:var(--editor-accent,#51333f)!important;color:var(--editor-paper,#faf8f3)!important}
html body :is(.button,.footer-cta):hover:not(:disabled){background:#65414f!important;color:var(--editor-paper,#faf8f3)!important}
html body :is(.button.button-secondary,.product-services button,.set-navigation button,.close,.qty button):hover:not(:disabled){background:#eeeae2!important;color:var(--editor-accent,#51333f)!important}
@media(max-width:700px){html body #moments#moments{padding:40px 20px!important}html body #moments#moments .moment-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px 12px!important}html body #moments#moments .moment-photo{aspect-ratio:1!important}html body #moments#moments .moment-card h3,html body #moments#moments .moment-card:first-child h3{font-size:20px!important;margin:10px 0 0!important}html body #moments#moments h2{font-size:30px!important}}
/* Desktop editorial bento: one portrait, one panorama, two detail frames. */
@media(min-width:701px){
html body #moments#moments{padding-top:48px!important;padding-bottom:48px!important}
html body #moments#moments .section-head{margin-bottom:28px!important}
html body #moments#moments .moment-grid{grid-template-columns:repeat(12,minmax(0,1fr))!important;grid-template-rows:repeat(2,minmax(0,1fr))!important;gap:20px!important;height:clamp(480px,66vh,680px)!important}
html body #moments#moments .moment-card{display:grid!important;grid-template-rows:minmax(0,1fr) auto!important;gap:12px!important;min-height:0!important;overflow:hidden!important}
html body #moments#moments .moment-card:first-child{grid-column:1/span 5!important;grid-row:1/span 2!important;display:grid!important}
html body #moments#moments .moment-card:nth-child(2){grid-column:6/span 7!important;grid-row:1!important}
html body #moments#moments .moment-card:nth-child(3){grid-column:6/span 4!important;grid-row:2!important}
html body #moments#moments .moment-card:nth-child(4){grid-column:10/span 3!important;grid-row:2!important}
html body #moments#moments .moment-card .moment-photo{height:100%!important;min-height:0!important;aspect-ratio:auto!important}
html body #moments#moments .moment-card h3,html body #moments#moments .moment-card:first-child h3{margin:0!important;font-size:24px!important;line-height:1.2!important;display:flex;align-items:baseline;gap:12px}
html body #moments#moments .moment-card:first-child h3{font-size:32px!important}
html body #moments#moments .moment-card h3::before{display:block;content:'01';font:400 12px/1.4 Arial,sans-serif;letter-spacing:.08em;color:var(--editor-muted,#67535d);flex:none}
html body #moments#moments .moment-card:nth-child(2) h3::before{content:'02'}
html body #moments#moments .moment-card:nth-child(3) h3::before{content:'03'}
html body #moments#moments .moment-card:nth-child(4) h3::before{content:'04'}
html body #moments#moments .moment-card:nth-child(2) img{object-position:45% 48%!important}
html body #moments#moments .moment-card:nth-child(3) img{object-position:center 48%!important}
html body #moments#moments .moment-card:nth-child(4) img{object-position:center 43%!important}
}
@media(min-width:701px) and (max-width:1000px){html body #moments#moments .moment-grid{height:540px!important;gap:16px!important}html body #moments#moments .moment-card h3{font-size:20px!important}html body #moments#moments .moment-card:first-child h3{font-size:26px!important}}

@media(min-width:701px){html body #moments#moments .moment-card,html body #moments#moments .moment-card:first-child{grid-template-columns:minmax(0,1fr)!important;column-gap:0!important}html body #moments#moments .moment-card .moment-photo{grid-column:1!important;grid-row:1!important}html body #moments#moments .moment-card h3{grid-column:1!important;grid-row:2!important}}
/* Close the gap between the occasion bento and the catalogue. */
html body #moments#moments{padding-bottom:20px!important;margin-bottom:0!important}
html body #catalog#catalog{padding-top:28px!important;margin-top:0!important}
@media(max-width:700px){html body #moments#moments{padding-bottom:16px!important}html body #catalog#catalog{padding-top:24px!important}}
/* Let the bento end at its content rather than forcing a full viewport. */
html body #moments#moments{min-height:0!important;height:auto!important;padding-bottom:0!important}
html body #catalog#catalog{padding-top:20px!important}

html body #catalog#catalog{padding-top:36px!important}
@media(max-width:700px){html body #catalog#catalog{padding-top:28px!important}}

/* Balanced occasion selection, captions and keyboard states. */
html body #moments#moments .section-head{display:block!important}
html body #moments#moments .section-head h2{margin-bottom:12px!important}
html body #moments#moments .section-head>p{display:block!important;font:400 18px/1.5 Arial,sans-serif!important;margin:0!important;max-width:48ch;color:var(--editor-muted,#67535d)!important}
html body #moments#moments .moment-card h3::before{display:none!important;content:none!important}
html body #moments#moments .moment-card h3,html body #moments#moments .moment-card:first-child h3{font-size:24px!important;line-height:1.25!important;text-decoration:none!important}
html body #moments#moments .moment-card:is(:hover,:focus-visible) h3{text-decoration:underline!important;text-underline-offset:5px;text-decoration-thickness:1px}
html body #moments#moments .moment-card:focus-visible{outline:2px solid var(--editor-accent,#51333f);outline-offset:6px}
html body #moments#moments .moment-card:active h3{color:var(--editor-accent,#51333f)!important}
html body #moments#moments .moment-card:nth-child(4) img{filter:brightness(1.18)!important;object-position:50% 57%!important}
@media(min-width:701px){
html body #moments#moments .moment-grid{grid-template-columns:repeat(10,minmax(0,1fr))!important;height:clamp(480px,62vh,620px)!important}
html body #moments#moments .moment-card:first-child{grid-column:1/span 4!important}
html body #moments#moments .moment-card:nth-child(2){grid-column:5/span 6!important}
html body #moments#moments .moment-card:nth-child(3){grid-column:5/span 3!important}
html body #moments#moments .moment-card:nth-child(4){grid-column:8/span 3!important}
html body #moments#moments .moment-card:nth-child(2) img{object-position:42% 55%!important;transform:scale(1.06)}
html body #moments#moments .moment-card:nth-child(3) img{object-position:62% 53%!important;transform:scale(1.18)}
html body #moments#moments .moment-card:nth-child(4) img{transform:scale(1.12)}
}
@media(max-width:700px){html body #moments#moments .moment-card h3,html body #moments#moments .moment-card:first-child h3{font-size:19px!important}html body #moments#moments .section-head>p{font-size:16px!important}html body #moments#moments .moment-card:nth-child(3) img{transform:scale(1.12)}}
@media(prefers-reduced-motion:reduce){html body #moments#moments .moment-photo img{transition:none!important}}
