
  :root{
    --ink:#0d0a07; --ink-2:#151009; --paper:#f2ede3;
    --pink:#e24f86; --red:#e01717; --gold:#e4a400; --blue:#4f6fa8;
    --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{background:var(--ink); color:var(--paper); font-family:var(--sans); overflow-x:hidden; -webkit-font-smoothing:antialiased; padding-bottom:52px;}
  img{display:block; width:100%; height:100%; object-fit:cover;}
  a{color:inherit; text-decoration:none;}
  ::selection{background:var(--red); color:#fff;}
  a:focus-visible,button:focus-visible{outline:3px solid var(--gold); outline-offset:2px;}

  .grain{position:fixed; inset:-20%; width:140%; height:140%; z-index:200; pointer-events:none; opacity:0.045; mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
    animation:grain 8s steps(6) infinite;}
  @keyframes grain{to{transform:translate(-4%,3%);}}

  /* ===== fixed edge rails ===== */
  .rail{position:fixed; top:0; bottom:52px; z-index:150; width:42px; display:flex; align-items:center; justify-content:center; background:var(--ink);}
  .rail.left{left:0; border-right:1px solid rgba(242,237,227,0.14);}
  .rail.right{right:0; border-left:1px solid rgba(242,237,227,0.14);}
  .rail span{writing-mode:vertical-rl; font-weight:800; font-size:11px; letter-spacing:0.3em; text-transform:uppercase; white-space:nowrap;}
  .rail.left span{color:var(--pink); transform:rotate(180deg);}
  .rail.right span{color:var(--red);}
  .rail:hover span{color:var(--gold);}
  @media (max-width:680px){ .rail{display:none;} }

  /* ===== fixed bottom email marquee ===== */
  .embar{position:fixed; left:0; right:0; bottom:0; z-index:150; height:52px; background:var(--gold); overflow:hidden; display:flex; align-items:center; border-top:2px solid var(--ink); transition:opacity .4s ease, transform .4s ease;}
  .embar a{display:flex; align-items:center; width:100%; height:100%;}
  .embar .track{display:inline-flex; align-items:center; height:100%; animation:emrun 18s linear infinite; white-space:nowrap;}
  .embar span{font-weight:900; font-size:15px; letter-spacing:0.06em; color:var(--ink); padding:0 2rem; text-transform:uppercase;}
  @keyframes emrun{to{transform:translateX(-50%);}}
  .embar.hide{opacity:0; transform:translateY(100%); pointer-events:none;}

  /* ===== nav ===== */
  header.nav{position:fixed; top:0; left:0; right:0; z-index:140; display:flex; align-items:center; justify-content:space-between; padding:1rem 58px; mix-blend-mode:difference; color:#fff;}
  header.nav .wm{font-weight:900; letter-spacing:0.02em; font-size:14px; text-transform:uppercase;}
  header.nav nav{display:flex; gap:1.5rem;}
  header.nav nav a, header.nav nav button{background:none; border:none; color:#fff; font-family:var(--sans); font-weight:800; font-size:11px; letter-spacing:0.18em; text-transform:uppercase; cursor:pointer;}
  @media (max-width:680px){ header.nav{padding:0.9rem 1rem;} header.nav nav{gap:0.85rem;} }

  /* ===== landing carousel ===== */
  .land{position:relative; height:100svh; overflow:hidden; background:#000;}
  .land .slide{position:absolute; inset:0; opacity:0; transition:opacity .9s ease; filter:saturate(1.18) contrast(1.04);}
  .land .slide.on{opacity:1;}
  .land .scrim{position:absolute; inset:0; z-index:2; background:radial-gradient(ellipse at center, rgba(13,10,7,0.12) 0%, rgba(13,10,7,0.5) 100%);}
  .land .mast{position:absolute; inset:0; z-index:3; display:flex; align-items:center; justify-content:center; text-align:center; transition:transform .9s cubic-bezier(.2,.7,.2,1);}
  .land .title{font-family:var(--serif); font-weight:400; text-transform:uppercase; line-height:0.82; letter-spacing:0.01em; transition:color .8s ease, -webkit-text-stroke-color .8s ease, transform .9s cubic-bezier(.2,.7,.2,1);}
  .land .title .a{display:block; font-size:clamp(2.4rem,8vw,5rem); letter-spacing:0.06em;}
  .land .title .b{display:block; font-style:italic; font-size:clamp(5.5rem,20vw,15rem); letter-spacing:-0.01em; margin-top:-0.05em;}
  /* per-slide title treatments */
  .land .title.t0{color:#fff; -webkit-text-stroke:0; transform:translateY(0);}
  .land .title.t1{color:var(--ink); -webkit-text-stroke:0; transform:translateY(-4%);}
  .land .title.t2{color:var(--pink); -webkit-text-stroke:0; transform:translateY(3%) translateX(-2%);}
  .land .title.t3{color:transparent; -webkit-text-stroke:2px var(--gold); transform:translateY(-2%);}
  .land .title.t4{color:transparent; -webkit-text-stroke:2px #fff; transform:translateY(2%) translateX(2%);}
  .land .title.t0 .b{color:var(--gold);}
  .land .title.t2 .b{color:#fff;}
  .land .place{position:absolute; left:0; right:0; bottom:6.5rem; z-index:3; text-align:center; font-weight:800; font-size:12px; letter-spacing:0.34em; text-transform:uppercase; color:var(--paper); text-shadow:0 2px 12px rgba(0,0,0,0.6);}
  .land .credit{position:absolute; left:0; right:0; bottom:3rem; z-index:3; display:flex; justify-content:center; gap:0.7rem; flex-wrap:wrap; font-weight:800; font-size:clamp(10px,1.5vw,12px); letter-spacing:0.2em; text-transform:uppercase; color:var(--paper); padding:0 1rem;}
  .land .credit a{border-bottom:2px solid transparent; padding-bottom:2px; transition:border-color .3s ease;}
  .land .credit a:hover{border-color:var(--gold);}
  .land .credit .sep{color:var(--gold);}
  .land .dots{position:absolute; left:50%; transform:translateX(-50%); bottom:1.4rem; z-index:3; display:flex; gap:8px;}
  .land .dots i{width:11px; height:11px; cursor:pointer; border-radius:50%; background:rgba(242,237,227,0.4); transition:background .3s ease, transform .3s ease;}
  .land .dots i.on{background:var(--gold); transform:scale(1.35);}
  .land .dots i:hover{background:var(--gold); opacity:0.8;}
  .land .dots i:focus-visible{outline:2px solid var(--gold); outline-offset:3px;}
  .land{touch-action:pan-y;}
  .land .scrolldown{position:absolute; right:1.2rem; top:50%; transform:translateY(-50%) rotate(90deg); z-index:3; font-size:10px; letter-spacing:0.4em; font-weight:800; color:rgba(242,237,227,0.75);}

  /* ===== marquee dividers ===== */
  .mq{position:relative; height:70px; overflow:hidden; display:flex; align-items:center; border-top:3px solid var(--ink); border-bottom:3px solid var(--ink);}
  .mq .track{display:inline-flex; white-space:nowrap; animation:mqrun 24s linear infinite;}
  .mq span{font-weight:900; font-size:clamp(1rem,3.2vw,1.9rem); letter-spacing:0.02em; text-transform:uppercase; padding:0 1.8rem;}
  @keyframes mqrun{to{transform:translateX(-50%);}}
  .mq.a{background:var(--pink);} .mq.a span{color:var(--ink);} .mq.a span:nth-child(even){color:#fff;}
  .mq.b{background:var(--ink);} .mq.b span{color:var(--gold);} .mq.b span:nth-child(even){color:var(--red);}

  /* ===== composed chapters: big hero + neat row ===== */
  .chapter{position:relative; padding:12vh 5vw; background:var(--ink);}
  .chapter.alt{background:var(--ink-2);}
  .chapter .inner{max-width:1200px; margin:0 auto;}
  /* hero with broken word overlaid (word style kept) */
  .hero-feature{position:relative; width:100%; aspect-ratio:16/9; overflow:hidden; margin-bottom:1.1rem;}
  .hero-feature img{filter:saturate(1.12) contrast(1.03);}
  .hero-feature .word{position:absolute; z-index:2; font-weight:900; text-transform:uppercase; line-height:0.8; font-size:clamp(3.5rem,13vw,10rem); letter-spacing:-0.01em; white-space:nowrap; pointer-events:none;}
  .hero-feature .word.a{top:5%; left:3%; color:transparent; -webkit-text-stroke:2px var(--paper);}
  .hero-feature .word.b{bottom:3%; right:3%; color:var(--paper); mix-blend-mode:difference;}
  .chapter.music .hero-feature .word.b{color:var(--gold);}
  .chapter.fashion .hero-feature .word.b{color:var(--pink);}
  .chapter.writing .hero-feature .word.b{color:#8fb0e0;}
  /* neat aligned row */
  .row{display:grid; gap:1.1rem;}
  .row.r4{grid-template-columns:repeat(4,1fr);}
  .row.r5{grid-template-columns:repeat(5,1fr);}
  .row .cell{position:relative; aspect-ratio:4/5; overflow:hidden;}
  .row .cell img{transition:transform .6s cubic-bezier(.2,.7,.2,1); filter:saturate(1.08);}
  .row .cell:hover img{transform:scale(1.06);}
  .chap-foot{display:flex; align-items:center; justify-content:space-between; margin-top:1.6rem; flex-wrap:wrap; gap:1rem;}
  .chap-cap{font-weight:700; font-size:12px; letter-spacing:0.16em; text-transform:uppercase; color:rgba(242,237,227,0.6);}
  .cta{display:inline-flex; align-items:center; gap:0.6em; font-weight:900; font-size:clamp(0.95rem,2.2vw,1.3rem); letter-spacing:0.05em; text-transform:uppercase; padding:0.55em 1.2em;}
  .cta .arw{transition:transform .3s ease;} .cta:hover .arw{transform:translateX(6px);}
  .chapter.music .cta{background:var(--gold); color:var(--ink);}
  .chapter.fashion .cta{background:var(--pink); color:#fff;}
  .chapter.writing .cta{background:var(--paper); color:var(--ink);}
  @media (max-width:760px){
    .row.r4,.row.r5{grid-template-columns:repeat(2,1fr);}
    .hero-feature{aspect-ratio:4/3;}
    .hero-feature .word{font-size:clamp(2.4rem,12vw,4rem);}
  }

  /* ===== film ===== */
  .filmwrap{position:relative;}
  .player{position:relative; height:100svh; background:#000; cursor:pointer; overflow:hidden;}
  .player .poster{position:absolute; inset:0; filter:saturate(1.08);}
  .player .fscrim{position:absolute; inset:0; background:rgba(13,10,7,0.25);}
  .player .pbtn{position:absolute; inset:0; margin:auto; width:min(20vw,130px); height:min(20vw,130px); border-radius:50%; border:3px solid var(--paper); background:rgba(224,23,23,0.85); color:#fff; font-size:clamp(1.5rem,4vw,2.4rem); display:grid; place-items:center; cursor:pointer; transition:transform .3s ease, background .3s ease;}
  .player:hover .pbtn{transform:scale(1.1); background:var(--red);}
  .player .flabel{position:absolute; left:5%; bottom:8%; z-index:2; font-weight:900; letter-spacing:0.02em; text-transform:uppercase; font-size:clamp(1.5rem,5vw,3.2rem); color:var(--paper);}
  .player .flabel small{display:block; font-weight:700; font-size:12px; letter-spacing:0.24em; color:var(--gold); margin-bottom:0.6rem;}
  .player iframe{width:100%; height:100%; display:block; border:0;}
  .player.gold .flabel{color:var(--gold);} .player.gold .flabel small{color:var(--red);}
  .contactsheet{display:flex; overflow-x:auto; background:var(--ink); scrollbar-width:thin; scrollbar-color:var(--gold) transparent;}
  .contactsheet::-webkit-scrollbar{height:6px;} .contactsheet::-webkit-scrollbar-thumb{background:var(--gold);}
  .contactsheet .cs{flex:0 0 auto; width:min(44vw,320px); aspect-ratio:4/3; filter:saturate(1.05);}

  /* ===== contact flood ===== */
  .flood{position:relative; min-height:100svh; background:var(--red); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:6vh 4vw; cursor:pointer; overflow:hidden;}
  .flood .k{font-weight:900; font-size:12px; letter-spacing:0.3em; text-transform:uppercase; color:var(--ink); margin-bottom:1.4rem;}
  .flood .em{font-weight:900; letter-spacing:-0.01em; line-height:0.98; text-transform:uppercase; font-size:clamp(2rem,9vw,6.2rem); color:var(--paper); word-break:break-word;}
  .flood .em .at{color:var(--ink);}
  .flood .copied{position:absolute; bottom:8%; font-weight:900; letter-spacing:0.2em; text-transform:uppercase; font-size:0.9rem; color:var(--ink); opacity:0; transition:opacity .3s ease;}
  .flood .copied.show{opacity:1;}
  .socrow{display:flex;}
  .socrow a{flex:1; padding:1.6rem 1rem; text-align:center; font-weight:900; letter-spacing:0.16em; text-transform:uppercase; font-size:clamp(0.9rem,2vw,1.2rem);}
  .socrow a.ig{background:var(--pink); color:#fff;} .socrow a.yt{background:var(--ink); color:var(--gold);}
  footer.fin{background:var(--ink); text-align:center; padding:1.6rem; font-size:10px; letter-spacing:0.3em; text-transform:uppercase; color:rgba(242,237,227,0.4);}

  /* ===== shop takeover ===== */
  .takeover{position:fixed; inset:0; z-index:250; background:var(--ink); display:none; flex-direction:column; align-items:center; justify-content:center; text-align:center;}
  .takeover.open{display:flex;}
  .takeover .soon{font-family:var(--serif); font-style:italic; color:var(--gold); font-size:clamp(3.5rem,20vw,13rem); line-height:0.9;}
  .takeover p{margin-top:1rem; font-weight:700; letter-spacing:0.06em; color:var(--paper); font-size:clamp(0.9rem,2vw,1.1rem);}
  .takeover .bookmail{margin-top:1.8rem; font-weight:900; font-size:clamp(1rem,3.4vw,1.9rem); color:var(--paper); background:var(--red); padding:0.5em 0.9em; border-radius:5px; transform:rotate(-1deg); display:inline-block;}
  .takeover .bookmail:hover{background:var(--gold); color:var(--ink);}
  .takeover .go{margin-top:1.6rem; font-weight:900; letter-spacing:0.16em; text-transform:uppercase; color:var(--pink); font-size:0.85rem;}
  .takeover .x{position:absolute; top:1.4rem; right:1.6rem; background:none; border:none; color:var(--paper); font-size:1.8rem; cursor:pointer;}


  .credlink{border-bottom:1px solid rgba(242,237,227,0.45);}
  .credlink:hover{color:var(--pink); border-color:var(--pink);}
  .wordlink{display:block; position:absolute; inset:0;}
  .hero-feature{position:relative;}
  /* latest 50:50 */
  .recent{background:var(--ink); padding:9vh 5vw 10vh;}
  .rhead{max-width:1200px; margin:0 auto 2.2rem; display:flex; align-items:baseline; justify-content:space-between; gap:1rem; flex-wrap:wrap; border-bottom:2px solid rgba(242,237,227,0.18); padding-bottom:0.9rem;}
  .rhead h2{font-family:var(--serif); font-weight:400; font-size:clamp(2rem,6vw,3.6rem); line-height:1;}
  .rnote{font-weight:800; font-size:11px; letter-spacing:0.24em; text-transform:uppercase; color:var(--gold);}
  .split{max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:1.1rem;}
  .half{position:relative; display:block; aspect-ratio:4/3; overflow:hidden;}
  .half img{transition:transform .7s cubic-bezier(.2,.7,.2,1); filter:saturate(1.1);}
  .half:hover img{transform:scale(1.06);}
  .hscrim{position:absolute; inset:0; background:linear-gradient(180deg, rgba(13,10,7,0.05) 40%, rgba(13,10,7,0.85) 100%);}
  .hlabel{position:absolute; left:1.4rem; right:1.4rem; bottom:1.3rem; z-index:2; font-weight:900; text-transform:uppercase; font-size:clamp(1.1rem,2.6vw,1.9rem); line-height:1.1; color:var(--paper);}
  .hlabel small{display:block; font-weight:800; font-size:11px; letter-spacing:0.24em; margin-bottom:0.5rem;}
  .half.yt .hlabel small{color:var(--red);} .half.ig .hlabel small{color:var(--pink);}
  .hlabel em{display:block; font-style:normal; font-weight:800; font-size:12px; letter-spacing:0.18em; margin-top:0.7rem; color:var(--gold);}
  @media (max-width:760px){ .split{grid-template-columns:1fr;} }

  /* studios banner */
  .mq.studios{background:var(--ink); border-top:3px solid var(--gold); border-bottom:3px solid var(--gold); height:78px;}
  .mq.studios .track{animation-duration:30s;}
  .mq.studios a{padding:0 1.6rem; font-weight:900; font-size:clamp(0.95rem,2.8vw,1.7rem); letter-spacing:0.02em; text-transform:uppercase; color:var(--paper); transition:color .25s ease;}
  .mq.studios a:hover{color:var(--gold);}
  .mq.studios .d{color:var(--red); padding:0 0.2rem; font-size:0.9rem;}
  /* book card */
  .bookwrap{width:min(940px,92vw);}
  .bookhead{text-align:center; margin-bottom:2rem;}
  .bkicker{font-weight:900; font-size:11px; letter-spacing:0.34em; text-transform:uppercase; color:var(--gold);}
  .bookhead h2{font-family:var(--serif); font-style:italic; font-weight:400; color:var(--paper); font-size:clamp(3rem,13vw,7rem); line-height:0.9; margin-top:0.3rem;}
  .cards{display:grid; grid-template-columns:1fr auto 1fr; gap:0; background:var(--paper); border-radius:6px; overflow:hidden; box-shadow:0 30px 70px rgba(0,0,0,0.55); transform:rotate(-0.6deg);}
  .bcard{padding:2.2rem 1.9rem; display:flex; flex-direction:column; gap:0.5rem; text-align:left; color:var(--ink); position:relative;}
  .bcard::before{content:""; position:absolute; top:0; left:0; right:0; height:6px;}
  .bcard.music::before{background:var(--gold);} .bcard.fashion::before{background:var(--pink);}
  .btag{font-weight:900; font-size:10px; letter-spacing:0.26em; text-transform:uppercase;}
  .bcard.music .btag{color:#a37400;} .bcard.fashion .btag{color:var(--pink);}
  .bname{font-family:var(--serif); font-size:clamp(1.5rem,3.6vw,2.2rem); line-height:1.05; margin-top:0.4rem;}
  .brole{font-size:12px; letter-spacing:0.04em; color:rgba(23,18,13,0.62); margin-bottom:0.9rem;}
  .bmail{font-weight:900; font-size:clamp(0.8rem,1.9vw,1rem); color:var(--ink); border-bottom:2px solid var(--gold); align-self:flex-start; padding-bottom:2px; word-break:break-all;}
  .bcard.fashion .bmail{border-color:var(--pink);}
  .bmail:hover{color:var(--red);}
  .bmail.tbc{opacity:0.75; font-style:italic;}
  .bsoc{display:flex; gap:0.7rem; margin-top:1.1rem;}
  .bsoc a{width:34px; height:34px; display:grid; place-items:center; border:1.5px solid rgba(23,18,13,0.25); border-radius:50%; font-weight:900; font-size:11px; transition:background .25s ease, color .25s ease, border-color .25s ease;}
  .bsoc a:hover{background:var(--ink); color:var(--paper); border-color:var(--ink);}
  .bsoc .soon{font-size:10px; letter-spacing:0.16em; text-transform:uppercase; color:rgba(23,18,13,0.45); align-self:center;}
  .bdivide{width:2px; background:repeating-linear-gradient(180deg, rgba(23,18,13,0.28) 0 7px, transparent 7px 15px);}
  @media (max-width:720px){
    .cards{grid-template-columns:1fr;}
    .bdivide{width:auto; height:2px; background:repeating-linear-gradient(90deg, rgba(23,18,13,0.28) 0 7px, transparent 7px 15px);}
    .bcard{padding:1.7rem 1.4rem;}
  }

  /* ---- shoot library ---- */
  .library{background:var(--paper); color:var(--ink); padding:12vh 4vw 13vh;}
  .libhead{max-width:1400px; margin:0 auto 2.6rem; display:flex; align-items:flex-end; justify-content:space-between; gap:1.4rem; flex-wrap:wrap; border-bottom:3px solid var(--ink); padding-bottom:1rem;}
  .libkick{font-weight:900; font-size:11px; letter-spacing:0.3em; text-transform:uppercase; color:var(--pink);}
  .libhead h2{font-family:var(--serif); font-style:italic; font-weight:400; font-size:clamp(2.6rem,9vw,6rem); line-height:0.9; margin-top:0.2rem;}
  .libmeta{display:flex; align-items:center; gap:1.6rem; flex-wrap:wrap;}
  .libcount{font-weight:800; font-size:11px; letter-spacing:0.22em; text-transform:uppercase; color:rgba(23,18,13,0.55);}
  .libig{font-weight:900; font-size:12px; letter-spacing:0.16em; text-transform:uppercase; color:var(--pink); border-bottom:2px solid var(--pink); padding-bottom:2px;}
  .libig:hover{color:var(--red); border-color:var(--red);}
  .mosaicgrid{max-width:1400px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:16vw; gap:10px;}
  .shot{position:relative; overflow:hidden; padding:0; border:none; background:var(--ink); cursor:pointer; display:block;}
  .shot.tall{grid-row:span 2;}
  .shot img{width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.7,.2,1), filter .4s ease; filter:saturate(1.05);}
  .shot:hover img{transform:scale(1.07); filter:saturate(1.18);}
  .shot::after{content:""; position:absolute; inset:0; background:var(--pink); mix-blend-mode:multiply; opacity:0; transition:opacity .35s ease;}
  .shot:hover::after{opacity:0.22;}
  .shcap{position:absolute; left:0; right:0; bottom:0; z-index:2; padding:1.6rem 0.9rem 0.7rem; text-align:left;
    font-weight:900; font-size:10px; letter-spacing:0.16em; text-transform:uppercase; color:#fff;
    background:linear-gradient(180deg, transparent, rgba(13,10,7,0.8)); opacity:0; transform:translateY(8px); transition:opacity .35s ease, transform .35s ease;}
  .shot:hover .shcap, .shot:focus-visible .shcap{opacity:1; transform:none;}
  @media (max-width:900px){ .mosaicgrid{grid-template-columns:repeat(2,1fr); grid-auto-rows:34vw;} }
  /* lightbox */
  .lightbox{position:fixed; inset:0; z-index:300; background:rgba(8,6,4,0.96); display:none; align-items:center; justify-content:center; padding:5vh 4vw;}
  .lightbox.open{display:flex;}
  .lbfig{max-width:88vw; max-height:82vh; margin:0; display:flex; flex-direction:column; align-items:center; gap:0.9rem;}
  .lbfig img{max-width:88vw; max-height:74vh; width:auto; height:auto; object-fit:contain; box-shadow:0 30px 80px rgba(0,0,0,0.7);}
  .lbfig figcaption{font-weight:800; font-size:11px; letter-spacing:0.24em; text-transform:uppercase; color:var(--gold);}
  .lbx{position:absolute; top:1.2rem; right:1.6rem; background:none; border:none; color:var(--paper); font-size:2.2rem; cursor:pointer; line-height:1;}
  .lbnav{position:absolute; top:50%; transform:translateY(-50%); background:none; border:none; color:var(--paper); font-size:3.4rem; cursor:pointer; padding:0 1rem; opacity:0.65; transition:opacity .25s ease;}
  .lbnav:hover{opacity:1; color:var(--gold);}
  .lbnav.prev{left:0.4rem;} .lbnav.next{right:0.4rem;}
  .lbcount{position:absolute; bottom:1.4rem; left:50%; transform:translateX(-50%); font-weight:800; font-size:11px; letter-spacing:0.24em; color:rgba(242,237,227,0.6);}
  .reveal{opacity:0; transform:translateY(28px); transition:opacity .8s ease, transform .8s ease;}
  .reveal.in{opacity:1; transform:none;}
  @media (prefers-reduced-motion:reduce){ .grain,.embar .track,.mq .track,.land .slide{animation:none;} .reveal{transition:none; opacity:1; transform:none;} }

  /* ===== landing: fixed title (no drift), colour-only per slide ===== */
  .land .mast{transition:none;}
  .land .title{transition:color .8s ease, -webkit-text-stroke-color .8s ease;}
  .land .title.t0,.land .title.t1,.land .title.t2,.land .title.t3,.land .title.t4,.land .title.t5{transform:none;}

  /* ===== three gateways ===== */
  .gateways{background:var(--ink); padding:0;}
  .gate{position:relative; display:block; min-height:60svh; overflow:hidden; border-bottom:3px solid var(--ink);}
  .gate .gbg{position:absolute; inset:0;}
  .gate .gbg img{width:100%; height:100%; object-fit:cover; transition:transform 1s cubic-bezier(.2,.7,.2,1), filter .6s ease; filter:saturate(1.06);}
  .gate:hover .gbg img{transform:scale(1.05);}
  .gate .gscrim{position:absolute; inset:0; background:linear-gradient(90deg, rgba(13,10,7,0.82) 0%, rgba(13,10,7,0.35) 55%, rgba(13,10,7,0.15) 100%);}
  .gate .gwrap{position:relative; z-index:2; height:100%; min-height:60svh; display:flex; flex-direction:column; justify-content:center; padding:6vh 6vw;}
  .gate .gnum{display:none;}
  .gate .gtitle{font-weight:900; text-transform:uppercase; line-height:0.86; font-size:clamp(3rem,11vw,8rem); color:var(--paper); margin:0.5rem 0 0.6rem;}
  .gate .gsub{font-size:13px; letter-spacing:0.05em; color:rgba(242,237,227,0.72); max-width:34ch; line-height:1.7;}
  .gate .genter{display:inline-flex; align-items:center; gap:0.7rem; margin-top:1.8rem; font-weight:900; font-size:12px; letter-spacing:0.2em; text-transform:uppercase;}
  .gate .genter .arw{transition:transform .35s ease;}
  .gate:hover .genter .arw{transform:translateX(9px);}
  .gate.g-music .genter{color:var(--gold);}
  .gate.g-fashion .genter{color:var(--pink);}
  .gate.g-film .genter{color:var(--red);}
  .gate.g-music .gtitle{-webkit-text-stroke:0;}
  @media (max-width:720px){ .gate .gscrim{background:linear-gradient(180deg, rgba(13,10,7,0.35) 0%, rgba(13,10,7,0.85) 100%);} }

  /* ===== sub-page headers ===== */
  .pagehead{position:relative; min-height:52svh; display:flex; align-items:flex-end; overflow:hidden; border-bottom:3px solid var(--gold);}
  .pagehead .phbg{position:absolute; inset:0;}
  .pagehead .phbg img{width:100%; height:100%; object-fit:cover; filter:saturate(1.08);}
  .pagehead .phscrim{position:absolute; inset:0; background:linear-gradient(180deg, rgba(13,10,7,0.25), rgba(13,10,7,0.85));}
  .pagehead .phwrap{position:relative; z-index:2; padding:0 5vw 5vh; width:100%;}
  .pagehead .phkick{font-weight:900; font-size:11px; letter-spacing:0.32em; text-transform:uppercase; color:var(--gold);}
  .pagehead h1{font-weight:900; text-transform:uppercase; font-size:clamp(3rem,13vw,9rem); line-height:0.84; color:var(--paper); margin-top:0.4rem;}
  .backlink{display:inline-flex; align-items:center; gap:0.6rem; margin-top:1.2rem; font-weight:800; font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:rgba(242,237,227,0.75);}
  .backlink:hover{color:var(--gold);}

  /* ================= SECTION IDENTITIES ================= */
  /* --- MUSIC: dark, warm, dense, industrial --- */
  body.t-music{background:#0b0806;}
  body.t-music .pagehead{border-bottom:4px solid var(--gold);}
  body.t-music .pagehead h1{font-family:var(--sans); letter-spacing:-0.02em; transform:scaleX(0.92); transform-origin:left;}
  body.t-music .phkick{color:var(--gold);}
  .mgrid{max-width:1300px; margin:0 auto; padding:9vh 4vw; display:grid; grid-template-columns:repeat(6,1fr); gap:8px;}
  .mgrid .mcell{position:relative; overflow:hidden; background:#000;}
  .mgrid .mcell img{width:100%; height:100%; object-fit:cover; filter:saturate(1.05) contrast(1.04); transition:transform .8s cubic-bezier(.2,.7,.2,1);}
  .mgrid .mcell:hover img{transform:scale(1.05);}
  .mgrid .w6{grid-column:span 6; aspect-ratio:21/9;}
  .mgrid .w3{grid-column:span 3; aspect-ratio:3/2;}
  .mgrid .w2{grid-column:span 2; aspect-ratio:4/5;}
  .mgrid .w4{grid-column:span 4; aspect-ratio:16/9;}
  @media (max-width:800px){ .mgrid{grid-template-columns:repeat(2,1fr);} .mgrid .w6,.mgrid .w4,.mgrid .w3{grid-column:span 2; aspect-ratio:16/10;} .mgrid .w2{grid-column:span 1;} }
  .mbar{max-width:1300px; margin:0 auto; padding:0 4vw 10vh; display:flex; justify-content:flex-end;}
  body.t-music .cta{background:var(--gold); color:var(--ink);}

  /* --- FASHION: bright, editorial, air --- */
  body.t-fashion{background:#faf7f2;}
  body.t-fashion .pagehead{border-bottom:none;}
  body.t-fashion .pagehead h1{font-family:var(--serif); font-weight:400; font-style:italic; text-transform:none; letter-spacing:-0.01em;}
  body.t-fashion .phkick{color:var(--pink);}
  .spread{max-width:1500px; margin:0 auto; padding:7vh 3vw 10vh; display:flex; flex-direction:column; gap:3.2vw;}
  .sp{display:grid; gap:3.2vw;}
  .sp.one{grid-template-columns:1fr;}
  .sp.two{grid-template-columns:1fr 1fr;}
  .sp.three{grid-template-columns:repeat(3,1fr);}
  .sp.offset{grid-template-columns:1fr 1fr; align-items:start;}
  .sp.offset .fr:nth-child(2){margin-top:10vh;}
  .fr{position:relative; overflow:hidden; background:#eee; cursor:zoom-in;}
  .fr img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .9s cubic-bezier(.2,.7,.2,1);}
  .fr:hover img{transform:scale(1.035);}
  .fr.tall{aspect-ratio:4/5;} .fr.wide{aspect-ratio:16/10;} .fr.sq{aspect-ratio:1/1;} .fr.pano{aspect-ratio:21/9;}
  @media (max-width:800px){ .sp.three,.sp.two,.sp.offset{grid-template-columns:1fr;} .sp.offset .fr:nth-child(2){margin-top:0;} }
  body.t-fashion .flood{background:var(--pink);}

  /* --- FILM: cinematic, letterboxed --- */
  body.t-film{background:#050403;}
  body.t-film .pagehead{border-bottom:4px solid var(--red);}
  body.t-film .phkick{color:var(--red);}
  .filmography{max-width:1400px; margin:0 auto; padding:8vh 4vw 10vh; display:flex; flex-direction:column; gap:9vh;}
  .filmentry{position:relative;}
  .filmentry .screen{position:relative; width:100%; aspect-ratio:16/9; background:#000; overflow:hidden; cursor:pointer; border:1px solid rgba(242,237,227,0.12);}
  .filmentry .screen img{width:100%; height:100%; object-fit:cover; transition:transform .9s cubic-bezier(.2,.7,.2,1), opacity .5s ease;}
  .filmentry:hover .screen img{transform:scale(1.03); opacity:0.82;}
  .filmentry .screen iframe{width:100%; height:100%; border:0; display:block;}
  .filmentry .pbtn{position:absolute; inset:0; margin:auto; width:min(16vw,110px); height:min(16vw,110px); border-radius:50%; border:2px solid var(--paper); background:rgba(224,23,23,0.9); color:#fff; font-size:clamp(1.3rem,3.4vw,2rem); display:grid; place-items:center; cursor:pointer; transition:transform .3s ease;}
  .filmentry:hover .pbtn{transform:scale(1.12);}
  .filmmeta{display:flex; align-items:baseline; justify-content:space-between; gap:1.4rem; flex-wrap:wrap; margin-top:1.3rem; border-top:1px solid rgba(242,237,227,0.18); padding-top:1rem;}
  .filmmeta h2{font-weight:900; text-transform:uppercase; font-size:clamp(1.6rem,5vw,3.4rem); line-height:1; color:var(--paper);}
  .filmmeta .fm{font-weight:800; font-size:11px; letter-spacing:0.26em; text-transform:uppercase; color:var(--gold); white-space:nowrap;}

  /* ================= LATEST (landing) ================= */
  .latest{background:var(--ink); padding:10vh 5vw 12vh; border-top:3px solid var(--gold);}
  .latest .lhead{max-width:1300px; margin:0 auto 2.4rem; display:flex; align-items:center; gap:1rem;}
  .latest .lhead h2{font-weight:900; text-transform:uppercase; letter-spacing:0.02em; font-size:clamp(1.8rem,5vw,3rem); color:var(--paper);}
  .latest .lhead .dotlive{width:11px; height:11px; border-radius:50%; background:var(--red); animation:live 1.8s ease infinite;}
  @keyframes live{0%{box-shadow:0 0 0 0 rgba(224,23,23,0.55);}70%{box-shadow:0 0 0 10px rgba(224,23,23,0);}100%{box-shadow:0 0 0 0 rgba(224,23,23,0);}}
  .latest .lhead .rule{flex:1; height:2px; background:rgba(242,237,227,0.2);}

  /* ================= BOOK: flood, huge, no waffle ================= */
  .takeover{background:var(--ink);}
  .bookwrap{width:min(1200px,94vw); text-align:center;}
  .bookhead{margin-bottom:3.5vh;}
  .bkicker{display:none;}
  .bookhead h2{font-family:var(--sans); font-weight:900; font-style:normal; text-transform:uppercase; color:var(--paper); font-size:clamp(4rem,22vw,16rem); line-height:0.8; letter-spacing:-0.02em;}
  .bookhead h2 .stop{color:var(--red);}
  .cards{display:grid; grid-template-columns:1fr 1fr; gap:0; background:none; box-shadow:none; transform:none; border-top:2px solid rgba(242,237,227,0.25);}
  .bcard{padding:2.6rem 1.6rem; color:var(--paper); text-align:left; gap:0.25rem;}
  .bcard::before{display:none;}
  .bcard + .bcard{border-left:2px solid rgba(242,237,227,0.25);}
  .btag{font-weight:900; font-size:10px; letter-spacing:0.3em; text-transform:uppercase;}
  .bcard.music .btag{color:var(--gold);} .bcard.fashion .btag{color:var(--pink);}
  .bname{font-family:var(--sans); font-weight:900; text-transform:uppercase; font-size:clamp(1.1rem,3vw,1.9rem); line-height:1; margin-top:0.5rem; color:var(--paper);}
  .brole{display:none;}
  .bmail{font-weight:900; font-size:clamp(0.85rem,2.1vw,1.35rem); color:var(--paper); border-bottom:3px solid var(--gold); margin-top:1.1rem;}
  .bcard.fashion .bmail{border-color:var(--pink);}
  .bmail:hover{color:var(--gold);}
  .bcard.fashion .bmail:hover{color:var(--pink);}
  .bsoc{margin-top:1.4rem;}
  .bsoc a{border-color:rgba(242,237,227,0.3); color:var(--paper);}
  .bsoc a:hover{background:var(--paper); color:var(--ink);}
  .bsoc .soon{color:rgba(242,237,227,0.4);}
  .bdivide{display:none;}
  @media (max-width:720px){ .cards{grid-template-columns:1fr;} .bcard + .bcard{border-left:none; border-top:2px solid rgba(242,237,227,0.25);} }
