/* photo collections. Jalen's approved full-frame treatment, scoped to new pages. */
.story-photo{display:block;width:100%;height:auto;overflow:hidden;flex:none;background:#11131e}
.photo-showcase .story-hero{position:relative;display:flex;align-items:center;min-height:780px;padding:150px max(24px,calc((100vw - 1180px)/2));isolation:isolate;overflow:hidden;background:var(--tone2,#15111e)}
.photo-showcase .story-carousel-background{position:absolute;inset:0;z-index:-3;pointer-events:none}
.story-carousel-window{overflow:hidden;height:100%}
.story-carousel-track{height:100%;display:flex;align-items:flex-start;transform:translateX(-100%)}
.story-slide{flex:0 0 100%;min-width:0;height:100%;position:relative;isolation:isolate;overflow:hidden;background:var(--tone2,#15111e)}
.story-slide .story-edge-fill{position:absolute;inset:-24px;width:calc(100% + 48px);height:calc(100% + 48px);max-width:none;filter:blur(20px);opacity:.6;z-index:-1;transform:scale(1.08)}
.story-slide .story-hero-photo{position:absolute;left:50%;transform:translateX(-50%);width:auto;height:100%;max-width:100%;opacity:.65;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);background:transparent}
.photo-showcase .story-hero:before{content:"";position:absolute;inset:0;z-index:-2;transform:none;background:linear-gradient(90deg,rgba(8,7,15,.82),rgba(8,7,15,.53) 46%,rgba(8,7,15,.26)),linear-gradient(0deg,rgba(8,7,15,.72),transparent 45%)}
.photo-showcase .story-hero:after{display:none}
.photo-showcase .story-hero .show-hero-inner,.photo-showcase .story-hero .senior-copy{position:relative;z-index:1;padding:0;margin:0;width:100%;min-width:0;text-shadow:0 2px 22px #0008}
.photo-showcase .story-hero .show-hero-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.3fr)}
.photo-showcase .story-hero .show-title{font-size:clamp(76px,10vw,150px)}
.photo-showcase .story-hero .hero-intro{color:#f0ebf7}
.photo-showcase .story-hero .scroll-cue{display:none}
.story-carousel-controls{position:absolute;left:max(24px,calc((100vw - 1180px)/2));bottom:38px;z-index:3;display:flex;align-items:center;gap:12px;padding:8px;border:1px solid #ffffff45;border-radius:14px;background:rgba(18,12,28,.62);backdrop-filter:blur(12px);max-width:calc(100% - 48px)}
.story-carousel-controls button{border:1px solid #84718e;border-radius:10px;min-width:44px;min-height:44px;background:#2a2038;color:#fff;font:700 15px system-ui;cursor:pointer}
.story-carousel-controls button:hover{background:#49365e}
.story-carousel-controls button:focus-visible{outline:3px solid #c4a8ff;outline-offset:3px}
.story-carousel-count{font:600 13px system-ui;color:#ded3ec;white-space:nowrap}
.story-carousel-controls [data-pause]{margin-left:8px;padding:0 14px}
.story-carousel-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.story-feature-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:30px 0}
.story-gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:32px}
.story-memory{margin:0;min-width:0;border:1px solid #6d637b;border-radius:22px;overflow:hidden;background:#11131e;color:#fff}
.story-memory .story-photo{display:block;width:100%;height:auto;max-width:none}
.story-memory figcaption{padding:16px 18px;line-height:1.4;font-size:15px;font-weight:750}
.story-gallery figcaption{font-size:13px;padding:12px}
.photo-showcase .clip-card .story-photo{width:100%;height:auto}
.photo-showcase .film-frame video{object-fit:contain}
/* Homepage and Explore keep the approved card, labels and routes; photos do not crop. */
.occ.photo-tile{display:grid;grid-template-rows:auto auto;justify-content:stretch;background:#101827}
.occ.photo-tile .story-photo{grid-row:1;width:100%;height:auto;opacity:1;transform:none}
.occ.photo-tile .txt{grid-row:2}
.occ.photo-tile:hover .story-photo{transform:none}
.visual.photo-visual{display:block;height:auto;background:#170e2b}
.visual.photo-visual:after{display:none}
.visual.photo-visual .story-photo{width:100%;height:auto;position:static;filter:none;opacity:1}
.visual.photo-visual strong{position:static;display:block;padding:12px 22px;background:#170e2b}
@media(max-width:1000px){.story-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.photo-showcase .story-hero{min-height:740px;min-height:90svh;padding:130px 24px 145px}.photo-showcase .story-hero .show-hero-inner{grid-template-columns:1fr;gap:26px}.photo-showcase .story-hero .show-title{font-size:clamp(68px,16vw,120px);letter-spacing:-.06em}.photo-showcase .story-hero .hero-signature{text-align:left}.photo-showcase .story-hero .hero-signature .number{font-size:70px;letter-spacing:-4px}.photo-showcase .story-hero .senior-copy h1{font-size:clamp(64px,15vw,120px);letter-spacing:-.06em}.photo-showcase .story-hero:before{background:linear-gradient(90deg,rgba(8,7,15,.74),rgba(8,7,15,.4)),linear-gradient(0deg,rgba(8,7,15,.75),transparent 60%)}.story-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.story-feature-pair{gap:16px}.story-carousel-controls{left:24px;bottom:38px}}
@media(max-width:460px){.story-feature-pair{grid-template-columns:1fr}.story-gallery{gap:10px}.story-gallery figcaption{font-size:12px}.photo-showcase .show-nav{gap:12px}.photo-showcase .show-nav .brand{font-size:24px}.photo-showcase .show-nav .back{font-size:11px}}
