.mel-page .mel-hero { min-height:100svh; padding:180px 0 84px; display:flex; align-items:flex-end; overflow:hidden; }
.mel-page .mel-hero>.wrap { position:relative; z-index:2; display:block; width:calc(100% - 80px); max-width:1180px; margin-inline:auto; }
.mel-page .mel-hero>.mel-hero-media { position:absolute; inset:0; z-index:0; width:100%; height:100%; border-radius:0; }
.mel-page .mel-hero .mel-hero-media>img { width:100%; height:100%; object-fit:cover; border-radius:0; }
.mel-page .mel-hero .mel-hero-media>img,.mel-hero .mel-hero-video { transform:scaleX(-1); }
.mel-hero .page-media { opacity:1; }
.mel-hero-media .mel-hero-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 50%; z-index:1; }
.mel-hero .page-media::after { content:""; display:block; position:absolute; inset:0; z-index:2; pointer-events:none; background:linear-gradient(0deg,#0c0812b8,transparent 70%),linear-gradient(90deg,#0c0812d9,transparent 75%); }
.mel-page .mel-hero .inner { margin-left:0; margin-right:auto; width:48%; max-width:none; }
.mel-hero h1 { font-size:clamp(5rem,8vw,8.5rem); }
.mel-hero .mel-kicker { font-size:clamp(1.2rem,2.1vw,1.75rem); line-height:1.25; color:#fff; margin:16px 0 12px; }
.mel-hero .mel-hero-line { color:#fff; font-size:1rem; }
.mel-hero-toggle { position:absolute; right:clamp(20px,4vw,56px); bottom:18px; z-index:3; border:1px solid #ffffff80; border-radius:999px; background:#111b; color:#fff; font:inherit; font-size:.75rem; padding:7px 13px; cursor:pointer; }
.mel-hero-toggle[hidden] { display:none; }
.mel-intro-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:clamp(28px,6vw,84px); align-items:center; }
.mel-intro .editorial-copy { max-width:none; }
.mel-page .mel-intro p { margin-bottom:20px; line-height:1.7; }
.mel-intro-photo { margin:0; }
.mel-intro-photo img { display:block; width:100%; aspect-ratio:4/5; object-fit:cover; object-position:67% 50%; border-radius:24px; }
.mel-clients h2 { font-size:clamp(1.35rem,2.5vw,1.9rem); margin-bottom:30px; }
.mel-client-list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:24px; align-items:center; }
.mel-client-list li { margin:0!important; min-width:0; height:96px; display:flex; align-items:center; justify-content:center; }
.mel-client-list img { display:block; width:166px; max-width:100%; height:64px; object-fit:contain; filter:grayscale(1) brightness(0); }
.mel-client-bacardi img { width:166px; filter:grayscale(1); }
.mel-client-jo-malone img { width:148px; height:70px; }
.mel-client-mindshare img { width:176px; }
.mel-section-heading { display:flex; justify-content:space-between; align-items:baseline; gap:16px; margin-bottom:28px; }
.mel-section-heading h2,.mel-section-heading p { margin:0; }
.mel-showreel .performance-video { border-radius:24px; overflow:hidden; aspect-ratio:16/9; background:#161616; }
.mel-showreel .video-launch,.mel-showreel iframe { display:block; position:relative; width:100%; height:100%; border:0; }
.mel-showreel .video-launch::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,#0009,transparent 70%); }
.mel-showreel .video-launch img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 35%; }
.mel-showreel .video-launch-play { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:78px; height:78px; display:grid; place-items:center; background:#fff; color:#171717; border-radius:50%; font-size:25px; z-index:2; padding-left:4px; }
.mel-showreel .video-launch-label { position:absolute; left:28px; bottom:24px; z-index:2; color:#fff; font-size:1.05rem; }
.mel-format-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(24px,4vw,52px); margin-top:40px; }
.mel-format-grid article { border-top:1px solid #23232340; padding-top:20px; }
.mel-format-number { display:block; color:var(--gold,#ab8654); font-size:.85rem; margin-bottom:26px; }
.mel-format-grid h3 { font-size:clamp(1.2rem,2vw,1.5rem); margin-bottom:16px; }
.mel-format-grid p { line-height:1.65; }
.mel-format-grid a { display:inline-block; margin-top:10px; }
.mel-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px 22px; margin-top:36px; }
.mel-gallery figure { margin:0; min-width:0; }
.mel-gallery figure:first-child { grid-column:span 2; }
.mel-gallery a { display:block; position:relative; border-radius:18px; overflow:hidden; }
.mel-gallery img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; object-position:50% 30%; transition:transform .3s; }
.mel-gallery figure:first-child img { aspect-ratio:8/3; object-position:65% 35%; }
.mel-gallery a:hover img { transform:scale(1.025); }
.mel-gallery figcaption { padding-top:10px; font-size:.85rem; }
.mel-photo-open { position:absolute; right:12px; bottom:12px; width:32px; height:32px; display:grid; place-items:center; border-radius:50%; background:#fff; color:#181818; }
.mel-page .profile-service-links a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.mel-viewer { width:min(1100px,96vw); max-height:96svh; border:0; border-radius:16px; padding:16px; color:#fff; background:#141414; }
.mel-viewer::backdrop { background:#000d; }
.mel-viewer-head,.mel-viewer-controls { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.mel-viewer-head h2 { color:#fff; margin:0; font-size:1.1rem; }
.mel-viewer button { color:#fff; background:transparent; border:1px solid #ffffff70; border-radius:50%; width:40px; height:40px; cursor:pointer; font:inherit; }
.mel-viewer img { display:block; width:100%; height:min(70svh,740px); object-fit:contain; margin:14px 0; }
.mel-viewer p { font-size:.85rem; text-align:center; margin:0; }
.mel-hero-toggle:focus-visible,.mel-gallery a:focus-visible,.mel-viewer button:focus-visible,.mel-showreel a:focus-visible { outline:3px solid var(--gold,#b68d59); outline-offset:4px; }
@media(max-width:900px) { .mel-intro-grid { grid-template-columns:1fr 1fr; gap:28px; } .mel-format-grid { gap:24px; } }
@media(max-width:760px) {
  .mel-page .mel-hero { min-height:100svh; padding-bottom:76px; }
  .mel-page .mel-hero>.wrap { width:calc(100% - 40px); }
  .mel-page .mel-hero .inner { width:100%; max-width:none; margin-left:0; }
  .mel-hero .page-media::after { background:linear-gradient(0deg,#0c0812ed,transparent 88%); }
  .mel-hero .mel-hero-video { object-position:80% 50%; }
  .mel-page .mel-hero .mel-hero-media>img,.mel-hero .mel-hero-video { transform:none; }
  .mel-hero .editorial-breadcrumb { font-size:.75rem; }
  .mel-intro-grid,.mel-format-grid { grid-template-columns:1fr; }
  .mel-intro-photo { max-width:520px; }
  .mel-intro-photo img { aspect-ratio:5/4; }
  .mel-client-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 30px; }
  .mel-client-list li:last-child { grid-column:1/-1; }
  .mel-section-heading { display:block; }
  .mel-section-heading p { margin-top:12px; }
  .mel-showreel .performance-video { border-radius:16px; }
  .mel-showreel .video-launch-play { width:54px; height:54px; font-size:18px; }
  .mel-showreel .video-launch-label { bottom:12px; left:14px; font-size:.85rem; }
  .mel-format-number { margin-bottom:16px; }
  .mel-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 14px; }
  .mel-gallery figure:first-child img { aspect-ratio:3/2; }
  .mel-gallery img { aspect-ratio:3/4; }
  .mel-gallery figure:last-child { grid-column:span 2; }
  .mel-gallery figure:last-child img { aspect-ratio:3/2; }
}
@media(prefers-reduced-motion:reduce) { .mel-gallery img { transition:none; } }
