:root { --ink:#121212; --paper:#f1efe9; --red:#e62b32; --display:"Cormorant Garamond",serif; --sans:"Inter",Arial,sans-serif; }
* { box-sizing:border-box; }
html, body { max-width:100%; overflow-x:hidden; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); }
a { color:inherit; text-decoration:none; }
img { display:block; width:100%; height:100%; object-fit:cover; }
main { min-height:100vh; overflow:hidden; }
.nomination-banner {
  width: 100%;
  background: #100a08;
  line-height: 0;
  overflow: hidden;
}
.nomination-banner img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 1;
  object-fit: cover;
  object-position: center;
}
.topbar { height:88px; display:flex; align-items:center; justify-content:space-between; padding:0 5vw; border-bottom:1px solid rgba(18,18,18,.18); }
.monogram { font-family:var(--display); font-size:2rem; font-weight:600; letter-spacing:-.07em; }
.monogram span { color:var(--red); }
.status { display:flex; align-items:center; gap:.65rem; text-transform:uppercase; letter-spacing:.16em; font-size:.72rem; font-weight:700; padding:.7rem 1rem; border:1px solid rgba(230,43,50,.32); background:rgba(230,43,50,.08); box-shadow:0 12px 30px rgba(230,43,50,.08); }
.status i { width:8px; height:8px; background:var(--red); border-radius:50%; box-shadow:0 0 0 5px rgba(230,43,50,.12); animation:pulse 2s infinite; }
.hero { min-height:calc(100svh - 88px); display:grid; grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr); position:relative; padding:7vh 5vw 8vh; gap:5vw; align-items:center; }
.hero::before { content:"L"; position:absolute; left:-2vw; bottom:-14vh; font:500 43vw/1 var(--display); color:transparent; -webkit-text-stroke:1px rgba(18,18,18,.06); pointer-events:none; }
.hero-copy { position:relative; z-index:2; padding-left:3vw; }
.eyebrow { margin:0 0 1.5rem; padding-left:3.2rem; position:relative; text-transform:uppercase; letter-spacing:.22em; font-size:.64rem; font-weight:600; }
.eyebrow::before { content:""; width:2.3rem; height:1px; background:var(--red); position:absolute; left:0; top:50%; }
h1 { margin:0; font-family:var(--display); font-size:clamp(5rem,10vw,9.2rem); font-weight:500; line-height:.72; letter-spacing:0; }
.roles { margin:2rem 0 0; font-size:clamp(.76rem,1.05vw,.95rem); text-transform:uppercase; letter-spacing:.12em; font-weight:600; }
.roles span { color:var(--red); margin:0 .35rem; }
.intro { margin:2.7rem 0 0; font:400 clamp(1.2rem,1.8vw,1.65rem)/1.35 var(--display); color:#4b4945; }
.intro strong { font-family:var(--sans); font-size:.72em; text-transform:uppercase; letter-spacing:.14em; color:var(--red); }
.links { display:flex; gap:.8rem; flex-wrap:wrap; margin-top:2.6rem; }
.links a { min-height:48px; display:flex; align-items:center; gap:.7rem; padding:.75rem 1rem; border:1px solid rgba(18,18,18,.25); font-size:.72rem; font-weight:600; transition:.25s ease; }
.links a:first-child { background:var(--ink); color:#fff; border-color:var(--ink); }
.links a:hover { background:var(--red); color:#fff; border-color:var(--red); transform:translateY(-3px); }
.links svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.7; }
.links svg .fill { fill:currentColor; stroke:none; }
.links b { margin-left:.4rem; font-size:1rem; font-weight:400; }
.portrait-wrap { position:relative; justify-self:end; width:min(43vw,590px); margin-right:-2vw; isolation:isolate; }
.portrait-wrap::before { content:""; position:absolute; inset:10% -6% -5% 22%; background:rgba(230,43,50,.1); transform:skewY(-8deg); z-index:-2; }
.portrait-wrap::after { content:""; position:absolute; inset:-1px; background:linear-gradient(90deg,var(--paper) 0%,rgba(241,239,233,.62) 8%,rgba(241,239,233,0) 23%,rgba(241,239,233,0) 72%,rgba(241,239,233,.72) 91%,var(--paper) 100%),linear-gradient(0deg,var(--paper) 0%,rgba(241,239,233,.82) 12%,rgba(241,239,233,0) 34%,rgba(241,239,233,0) 76%,rgba(241,239,233,.34) 100%); z-index:2; pointer-events:none; }
.portrait-frame { position:relative; aspect-ratio:4/5.65; overflow:hidden; filter:contrast(1.08) grayscale(.08); -webkit-mask-image:radial-gradient(ellipse 78% 90% at 50% 46%,#000 58%,rgba(0,0,0,.78) 73%,transparent 100%); mask-image:radial-gradient(ellipse 78% 90% at 50% 46%,#000 58%,rgba(0,0,0,.78) 73%,transparent 100%); }
.portrait-frame img { object-position:50% 0%; transform:scale(1.01); transition:transform 1s cubic-bezier(.2,.8,.2,1); }
.portrait-frame:hover img { transform:scale(1.035); }
.stage-line { position:absolute; left:-18%; top:14%; width:42%; height:1px; background:linear-gradient(90deg,transparent,var(--red)); z-index:3; }
.red-orbit { position:absolute; width:42%; aspect-ratio:1; border:2px solid var(--red); border-radius:50%; right:-9%; top:15%; z-index:-1; }
.vertical-note { position:absolute; right:1rem; bottom:9%; writing-mode:vertical-rl; transform:rotate(180deg); font-size:.58rem; text-transform:uppercase; letter-spacing:.24em; color:#fff; text-shadow:0 1px 10px rgba(0,0,0,.55); z-index:4; }
.scroll-cue { position:absolute; left:5vw; bottom:2.7vh; display:flex; align-items:center; gap:1rem; transform:rotate(-90deg); transform-origin:left center; font-size:.55rem; letter-spacing:.22em; text-transform:uppercase; }
.scroll-cue i { width:3rem; height:1px; background:var(--ink); }
.video-feature { position:relative; display:grid; grid-template-columns:minmax(230px,.62fr) minmax(0,1.38fr); gap:6vw; align-items:center; padding:8rem 9vw 8.5rem; background:#e5e1d8; overflow:hidden; }
.video-feature::before { content:"C"; position:absolute; right:-2vw; bottom:-16vw; font:500 42vw/.8 var(--display); color:transparent; -webkit-text-stroke:1px rgba(18,18,18,.07); pointer-events:none; }
.video-intro,.video-card { position:relative; z-index:1; min-width:0; }
.video-intro .eyebrow { padding-left:2.5rem; margin-bottom:1.8rem; }
.video-intro .eyebrow::before { width:1.8rem; }
.video-intro h2 { margin:0; font:500 clamp(3.4rem,6.3vw,6.6rem)/.78 var(--display); letter-spacing:-.035em; }
.video-intro h2 em { font-style:italic; color:var(--red); }
.carmen-logo { width:min(100%,230px); height:auto; object-fit:contain; object-position:left center; margin:2.2rem 0 0; }
.video-description { max-width:19rem; margin:1.3rem 0 0; color:#55514b; font:400 1.15rem/1.3 var(--display); }
.video-index { display:block; margin-top:4rem; font-size:.58rem; letter-spacing:.2em; color:#77716a; }
.video-card { margin:0; }
.video-border { position:relative; width:100%; max-width:100%; min-width:0; overflow:hidden; padding:clamp(.45rem,.9vw,.85rem); background:#171717; box-shadow:14px 16px 0 rgba(18,18,18,.09); }
.video-border::before { content:""; position:absolute; inset:clamp(.45rem,.9vw,.85rem); border:1px solid rgba(255,255,255,.18); pointer-events:none; z-index:1; }
.video-border video { display:block; width:100%; max-width:100%; min-width:0; height:auto !important; max-height:72svh; aspect-ratio:auto; object-fit:contain; background:#0e0e0e; }
.video-card figcaption { display:flex; justify-content:space-between; gap:1rem; margin-top:1rem; text-transform:uppercase; letter-spacing:.15em; font-size:.58rem; color:#625e58; }
.video-card figcaption span:last-child { color:var(--ink); }
.video-card figcaption b { color:var(--red); font-size:.9rem; font-weight:400; margin-left:.35rem; }
.video-feature, .video-feature * { min-width:0; }
.reel { background:var(--ink); color:#fff; padding:6rem 5vw 5rem; }
.reel-track { display:grid; grid-template-columns:1.2fr repeat(3,.8fr); gap:1rem; height:min(32vw,390px); }
.reel figure { margin:0; overflow:hidden; filter:grayscale(1); transition:filter .3s ease,transform .3s ease; }
.reel figure:hover { filter:grayscale(0); transform:translateY(-6px); }
.reel p { margin:3rem 0 0; font:400 clamp(2.1rem,4vw,4rem)/1 var(--display); text-align:center; color:#e9e4da; }
footer { min-height:90px; background:var(--ink); color:#aaa; border-top:1px solid #303030; padding:0 5vw; display:flex; align-items:center; justify-content:space-between; font-size:.62rem; text-transform:uppercase; letter-spacing:.15em; }
@keyframes pulse { 50% { box-shadow:0 0 0 8px rgba(230,43,50,0); } }
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }
@media (max-width:760px) {
  .topbar { height:70px; padding:0 1.25rem; }
  .status { max-width:56vw; padding:.55rem .7rem; font-size:.58rem; letter-spacing:.1em; }
  .hero { min-height:auto; display:flex; flex-direction:column; padding:3.2rem 1.25rem 4rem; gap:2.8rem; align-items:stretch; }
  .hero-copy { padding-left:0; }
  h1 { font-size:clamp(4.6rem,25vw,7rem); }
  .roles { max-width:320px; line-height:1.8; }
  .intro { margin-top:1.8rem; }
  .links { flex-direction:column; align-items:stretch; }
  .links a { justify-content:space-between; }
  .links a span { margin-right:auto; }
  .portrait-wrap { width:calc(100% + 2.2rem); margin:0 0 0 -1.25rem; align-self:flex-start; }
  .portrait-wrap::before { inset:11% -8% -3% 35%; }
  .portrait-frame { aspect-ratio:4/5.35; -webkit-mask-image:radial-gradient(ellipse 84% 90% at 48% 46%,#000 58%,rgba(0,0,0,.78) 74%,transparent 100%); mask-image:radial-gradient(ellipse 84% 90% at 48% 46%,#000 58%,rgba(0,0,0,.78) 74%,transparent 100%); }
  .portrait-frame img { object-position:50% 0%; transform:scale(1); }
  .portrait-frame:hover img { transform:scale(1); }
  .stage-line { left:1.25rem; top:10%; width:34%; }
  .vertical-note { right:1.25rem; bottom:11%; }
  .red-orbit { right:-10%; top:14%; }
  .scroll-cue { display:none; }
  .video-feature { display:flex; flex-direction:column; align-items:stretch; gap:3rem; padding:5rem 1.25rem 5.5rem; }
  .video-card, .video-border { width:100%; min-width:0; }
  .video-card { max-width:calc(100vw - 2.5rem); overflow:hidden; }
  .video-border { width:100%; max-width:100%; padding:.45rem; }
  .video-border video { width:100%; max-width:100%; height:auto !important; }
  .video-feature::before { right:-16vw; bottom:-8vw; font-size:70vw; }
  .video-intro h2 { font-size:clamp(3.6rem,17vw,5.6rem); }
  .carmen-logo { width:min(74vw,230px); margin-top:1.8rem; }
  .video-description { max-width:19rem; margin-top:1rem; }
  .video-index { margin-top:2.5rem; }
  .video-border { box-shadow:8px 10px 0 rgba(18,18,18,.09); }
  .video-card figcaption { line-height:1.5; flex-wrap:wrap; }
  .reel { padding:4rem 1.25rem 3.5rem; }
  .reel-track { display:flex; overflow-x:auto; height:330px; scroll-snap-type:x mandatory; padding-bottom:1rem; }
  .reel figure { min-width:75vw; scroll-snap-align:start; filter:none; }
  .reel p { text-align:left; }
  footer { min-height:120px; padding:2rem 1.25rem; align-items:flex-start; flex-direction:column; justify-content:center; gap:.75rem; }
}
.video-feature { width:100%; max-width:100vw; overflow-x:clip; }
.video-card { width:100%; max-width:100%; min-width:0; margin-left:0; margin-right:0; overflow:hidden; }
.video-border { width:100%; max-width:100%; min-width:0; overflow:clip; }
.video-border video { display:block; inline-size:100% !important; max-inline-size:100% !important; min-inline-size:0; block-size:auto !important; }
.video-card figcaption { max-width:100%; overflow-wrap:anywhere; }
@media (max-width:760px) {
  .video-feature { width:100vw; max-width:100vw; padding-left:1rem; padding-right:1rem; }
  .video-card { width:calc(100vw - 2rem); max-width:calc(100vw - 2rem); }
  .video-border { width:100%; max-width:100%; }
}
