/* МУРАШКИ · editorial photo system v5.0 · additive styles, locked brand palette. */
:root{--photo-cream:#fff1ea;--photo-gold:#ffd889;--photo-plum:#24152f}
.occasions-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.occasion-card{display:grid;grid-template-columns:minmax(112px,40%) minmax(0,1fr);gap:0;align-items:stretch;min-width:0;min-height:216px;padding:9px;border:1px solid #fff1ea25;border-radius:23px;overflow:hidden;isolation:isolate;background:linear-gradient(155deg,#56315c66,#2d1b38);box-shadow:0 11px 24px #09040e12;transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .35s,box-shadow .35s}
.occasion-card:hover,.occasion-card:focus-within{transform:translateY(-4px);border-color:#ffd88976;box-shadow:0 16px 42px #09040e48}
.occasion-photo{margin:0;min-width:0;border-radius:16px;overflow:hidden;position:relative;background:#3d2b43;align-self:stretch;min-height:198px}
.occasion-photo:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#24152f38,transparent 55%);opacity:.8}
.occasion-photo img{display:block;width:100%;height:100%;min-height:198px;object-fit:cover;object-position:center;filter:saturate(.91) contrast(1.02);transform:scale(1);transition:transform .85s cubic-bezier(.16,.66,.26,1),filter .4s}
.occasion-card:hover .occasion-photo img,.occasion-card:focus-within .occasion-photo img{transform:scale(1.065);filter:saturate(1.02) contrast(1.03)}
.occasion-content{min-width:0;display:flex;flex-direction:column;justify-content:flex-start;padding:13px 12px 10px 17px}
.occasion-content .occasion-ico{font-size:19px;line-height:1.1;color:var(--photo-gold);margin-bottom:10px}
.occasion-content h3{font-size:16px;line-height:1.27;font-weight:800;letter-spacing:-.025em;margin:0 0 8px}
.occasion-content p{font-size:12px;line-height:1.58;flex:1;margin:0 0 12px;color:#e0d2e2}
.occasion-content a{font-size:11.5px;line-height:1.4;font-weight:800;display:inline-flex;align-items:center;margin-top:auto;min-height:30px;max-width:100%;width:fit-content;border-bottom:1px solid #ffd88950;color:var(--photo-gold);text-decoration:none}
.occasion-content a:hover{border-color:var(--photo-gold)}
.occasions-container{max-width:1160px}
.occasion-honesty{font-size:11px;line-height:1.65;color:#c9b8ce;max-width:900px}
/* A two-photo family moment adds human warmth without replacing or modifying canonical mascot. */
.care-visual{margin:18px 0 0;position:relative;display:grid;grid-template-columns:1fr 1fr;gap:9px;overflow:hidden;border-radius:18px;max-width:480px}
.care-visual img{width:100%;min-width:0;aspect-ratio:1.3;object-fit:cover;display:block;border-radius:14px;filter:saturate(.9)}
.care-visual figcaption{font-size:10px;color:#d4bdd5;line-height:1.45;grid-column:1/-1;text-align:center;padding:2px 5px 0}
/* Emphasize STORY vs MOMENT with illustrative scenes, never fictional client work. */
.contrast-art{position:relative;overflow:hidden;isolation:isolate;background-color:#3d2b43}
.contrast-art .contrast-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.53;filter:saturate(.75) brightness(.75);z-index:-1;transition:transform .8s,opacity .4s}
.contrast-card:hover .contrast-photo{transform:scale(1.045);opacity:.61}
.contrast-art:before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,#2f193cb8,#24152f40);pointer-events:none;z-index:-1}
.gift-preview[data-photo-backdrop]{background-image:linear-gradient(120deg,#24152fca,#3c2340a0),var(--gift-photo);background-size:cover;background-position:center;animation:none}
/* Motion: still by default; gently respond only to a scroll entrance, hover or real audio playback. */
@media(prefers-reduced-motion:no-preference){
  .occasion-card[data-reveal],.contrast-card[data-reveal],.care-visual[data-reveal]{transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .55s ease,border-color .25s,box-shadow .25s}
  .motion-observed [data-reveal]:not(.is-visible){opacity:.90;transform:translateY(8px)}
  .motion-observed [data-reveal].is-visible{opacity:1;transform:translateY(0)}
  .motion-observed .occasion-card.is-visible:hover{transform:translateY(-4px)}
  .player.is-playing .player-cover{box-shadow:0 0 0 3px #ffd88928,0 0 34px #ffd88920}
  .player-cover{transition:box-shadow .7s}
}
@media(max-width:1080px){.occasions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.occasion-card{grid-template-columns:minmax(142px,39%) minmax(0,1fr);min-height:212px}.occasion-photo,.occasion-photo img{min-height:192px}}
@media(max-width:680px){
 .occasions-grid{grid-template-columns:minmax(0,1fr);gap:13px}
 .occasion-card{grid-template-columns:minmax(115px,39%) minmax(0,1fr);min-height:190px;padding:7px;border-radius:20px}
 .occasion-photo{min-height:176px;border-radius:14px}.occasion-photo img{min-height:176px}
 .occasion-content{padding:11px 8px 9px 14px}.occasion-content .occasion-ico{font-size:18px;margin-bottom:8px}
 .occasion-content h3{font-size:16px;margin-bottom:6px}.occasion-content p{font-size:12px;line-height:1.54;margin-bottom:8px}
 .occasion-content a{font-size:12px;min-height:30px}
 .occasions-grid:not(.is-expanded) .occasion-card:nth-child(n+7){display:none}
 .care-visual{margin-top:15px;gap:8px}
 .contrast-art{min-height:190px}
}
@media(max-width:380px){
 .occasion-card{grid-template-columns:minmax(99px,36%) minmax(0,1fr)}
 .occasion-content{padding:10px 6px 8px 11px}
 .occasion-content h3{font-size:15px}.occasion-content p{font-size:11.6px;line-height:1.5}
 .occasion-content .occasion-ico{margin-bottom:7px}
}
@media(prefers-reduced-motion:reduce){.occasion-card,.occasion-photo img,.contrast-photo,.care-visual,.player-cover{animation:none!important;transition:none!important;transform:none!important}}