.hero-shot img{transition:opacity .35s ease,transform .8s ease}.hero-shot img.changing{opacity:.15;transform:scale(1.015)}.hero-controls{position:absolute;z-index:8;left:3.5vw;bottom:46px;display:flex;align-items:center;gap:28px;color:#fff}.hero-controls>span{font-size:9px;font-weight:700;letter-spacing:.14em;color:#d5cec4}.hero-controls>div{display:flex}.hero-controls button{width:46px;height:38px;background:transparent;color:#fff;border:1px solid #ffffff50;cursor:pointer}.hero-controls button:hover{background:#fff;color:#111}.occasion-portfolio{padding:100px 3.5vw;background:#11100e;color:#f3efe7}.occasion-portfolio>header{display:grid;grid-template-columns:.7fr 1.2fr .7fr;gap:4vw;align-items:end;margin-bottom:55px}.occasion-portfolio header>span{font-size:9px;font-weight:700;letter-spacing:.14em;color:#c95b67}.occasion-portfolio h2{font:clamp(50px,5vw,72px)/.92 var(--serif);letter-spacing:-.045em;margin:0}.occasion-portfolio h2 em{font-style:normal;color:#bd3947}.occasion-portfolio header p{font-size:12px;line-height:1.65;color:#bfb7ac}.occasion-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:330px;gap:8px}.occasion-grid figure{position:relative;margin:0;overflow:hidden;cursor:zoom-in;background:#050505}.occasion-grid figure:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#000c)}.occasion-grid .occasion-large{grid-column:span 2;grid-row:span 2}.occasion-grid .occasion-wide{grid-column:span 2}.occasion-grid figure img{transition:transform .55s ease,filter .35s ease}.occasion-grid figure:hover img{transform:scale(1.025);filter:brightness(.9)}.occasion-grid figcaption{position:absolute;z-index:2;left:15px;bottom:13px;font-size:9px;font-weight:700;letter-spacing:.12em;color:#fff}.occasion-grid .black-white img{filter:grayscale(1) contrast(1.08)}.occasion-grid .black-white:hover img{filter:grayscale(1) contrast(1.08) brightness(.9)}
@media(max-width:760px){.hero-controls{left:18px;bottom:22px}.hero-controls button{width:42px}.occasion-portfolio{padding:65px 12px}.occasion-portfolio>header{display:block;margin:0 6px 35px}.occasion-portfolio h2{font-size:43px;margin:18px 0}.occasion-portfolio header p{font-size:11px}.occasion-grid{grid-template-columns:1fr 1fr;grid-auto-rows:235px;gap:5px}.occasion-grid .occasion-large{grid-column:span 2;grid-row:span 1}.occasion-grid .occasion-wide{grid-column:span 2}.occasion-grid figcaption{left:10px;bottom:9px;font-size:8px}}
