
:root{
 --paper:#f1eee7; --ink:#0b0b0b; --muted:#6c6760; --line:#c7c0b6;
 --red:#c72e2a; --pink:#e8007f; --violet:#4d2575; --night:#090d18;
 --max:1420px; --pad:clamp(20px,4.5vw,72px); --serif:Georgia,"Times New Roman",serif;
 --sans:Arial,Helvetica,sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px} img{display:block;max-width:100%;height:auto} ::selection{background:var(--pink);color:white}
.container{width:min(100%,var(--max));margin:0 auto;padding-inline:var(--pad)}
.site-header{position:sticky;top:0;z-index:50;background:rgba(241,238,231,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
.header-row{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font:400 clamp(20px,2vw,29px)/1 var(--serif);letter-spacing:-.02em;text-decoration:none}
.nav{display:flex;gap:22px;align-items:center;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.nav a{text-decoration:none}.nav a:hover,.nav a[aria-current=page]{color:var(--red)}
.menu-button{display:none;border:1px solid var(--ink);background:transparent;padding:7px 10px;font:inherit}
.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:white;padding:10px;z-index:100}
.kicker,.eyebrow{margin:0 0 14px;font-size:11px;text-transform:uppercase;letter-spacing:.17em;color:var(--red)}
.hero{padding:clamp(55px,8vw,120px) 0 60px;border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);gap:clamp(35px,7vw,110px);align-items:end}
.hero h1,.page-title{font:400 clamp(58px,9.3vw,140px)/.9 var(--serif);letter-spacing:-.065em;margin:0}.hero-deck,.page-deck{font:400 clamp(22px,2.55vw,36px)/1.12 var(--serif);letter-spacing:-.025em;max-width:980px;margin:34px 0 0}
.hero-portrait{position:relative}.hero-portrait img{aspect-ratio:1/1;object-fit:cover;width:100%;border-radius:50%}
.hero-caption{font-size:11px;text-transform:uppercase;letter-spacing:.13em;margin-top:14px;color:var(--muted)}
.section{padding:clamp(78px,9vw,125px) 0;border-bottom:1px solid var(--line)}.section-dark{background:var(--night);color:white;border-bottom:0}.section-magenta{background:#160812;color:white}
.section-head{display:grid;grid-template-columns:180px 1fr;gap:40px;margin-bottom:55px}.section h2{font:400 clamp(39px,5.2vw,74px)/.98 var(--serif);letter-spacing:-.05em;margin:0;max-width:1100px}.section-dark .eyebrow,.section-magenta .eyebrow{color:#f373a9}
.lead{font:400 clamp(22px,2.65vw,37px)/1.15 var(--serif);letter-spacing:-.025em;margin:0;max-width:950px}.small-prose{max-width:70ch}.small-prose p{margin:0 0 1em}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,5vw,70px)}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.feature-image{width:100%;aspect-ratio:16/9;object-fit:cover}.feature-image.tall{aspect-ratio:4/5}.feature-image.contain{object-fit:contain;background:#05070e}
.media-frame{position:relative;overflow:hidden;background:#070707}.media-frame img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.media-frame:hover img{transform:scale(1.015)}
.caption{font-size:11px;text-transform:uppercase;letter-spacing:.11em;color:var(--muted);margin:10px 0 0}.section-dark .caption,.section-magenta .caption{color:#aaa}
.project-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.project-card{border-top:1px solid var(--ink);padding-top:14px;text-decoration:none}.project-card img{aspect-ratio:16/11;object-fit:cover;width:100%;filter:saturate(.92)}.project-card h3{font:400 clamp(25px,2.35vw,35px)/1.03 var(--serif);letter-spacing:-.035em;margin:18px 0 8px}.project-card .meta{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.project-card:hover h3{color:var(--red)}
.quote-panel{display:grid;grid-template-columns:.6fr 1.4fr;gap:50px;padding:clamp(35px,7vw,90px);background:var(--ink);color:var(--paper)}.quote-panel p{font:400 clamp(30px,4.35vw,62px)/1.02 var(--serif);letter-spacing:-.04em;margin:0}.quote-panel span{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:#c6c0b8}
.page-hero{padding:clamp(65px,9vw,120px) 0 70px;border-bottom:1px solid var(--line)}.page-title{max-width:1260px}.page-deck{max-width:1000px}
.bio-grid{display:grid;grid-template-columns:minmax(240px,.6fr) minmax(0,1.4fr);gap:clamp(35px,7vw,100px);align-items:start}.portrait-sticky{position:sticky;top:110px}.portrait-sticky img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:50%}.prose p{font:400 clamp(19px,2vw,27px)/1.42 var(--serif);margin:0 0 1.2em}.prose p:first-child{font-size:clamp(23px,2.7vw,36px);line-height:1.18}
.button-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.button{display:inline-block;border:1px solid currentColor;padding:10px 13px;text-decoration:none;font-size:11px;text-transform:uppercase;letter-spacing:.11em}.button:hover{background:var(--ink);color:var(--paper)}.section-dark .button:hover,.section-magenta .button:hover{background:white;color:var(--night)}
.film-block{padding:110px 0;border-bottom:1px solid var(--line)}.film-title{font:400 clamp(44px,6.6vw,98px)/.92 var(--serif);letter-spacing:-.055em;margin:0 0 35px}.film-meta{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);margin-bottom:18px}.film-lead{font:400 clamp(23px,2.75vw,38px)/1.12 var(--serif);letter-spacing:-.03em;margin:0}.film-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,6vw,85px);align-items:start}.film-poster img{width:100%;max-height:850px;object-fit:contain;background:#050505}.film-text{padding-top:5px}.film-text p{max-width:66ch}
.trailer{margin-top:50px;aspect-ratio:16/9;background:#000;position:relative}.trailer iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.video-label{margin:14px 0 0;font-size:11px;text-transform:uppercase;letter-spacing:.11em;color:var(--muted)}
.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;margin-top:60px}.gallery figure{margin:0}.gallery .wide{grid-column:span 8}.gallery .small{grid-column:span 4}.gallery .half{grid-column:span 6}.gallery img{width:100%;height:100%;min-height:260px;max-height:610px;object-fit:cover}.gallery .poster img{object-fit:contain;background:#050505}
.profile-strip{display:flex;gap:9px;flex-wrap:wrap}.profile-strip a{border:1px solid var(--ink);padding:9px 11px;text-decoration:none;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.profile-strip a:hover{background:var(--ink);color:var(--paper)}
.press-list{border-top:1px solid var(--ink)}.press-item{display:grid;grid-template-columns:90px 170px 1fr 85px;gap:24px;align-items:baseline;padding:22px 0;border-bottom:1px solid var(--line);text-decoration:none}.press-item:hover .press-title{color:var(--red)}.press-year,.press-outlet,.press-type{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.press-title{font:400 clamp(21px,2.2vw,32px)/1.08 var(--serif);letter-spacing:-.025em}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.card{border-top:1px solid var(--ink);padding-top:16px}.card h3{font:400 31px/1.05 var(--serif);margin:15px 0 12px}.card p{margin:0}.card .num{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.timeline{border-top:1px solid var(--ink)}.timeline-row{display:grid;grid-template-columns:125px 1fr;gap:30px;padding:22px 0;border-bottom:1px solid var(--line)}.timeline-row h3{font:400 28px/1 var(--serif);margin:0 0 6px}.timeline-row p{margin:0;max-width:72ch}
.notice{border:1px dashed var(--muted);padding:18px;color:var(--muted);font-size:13px}.art-placeholder{border:1px dashed #8d8780;min-height:240px;display:grid;place-items:center;padding:25px;text-align:center;color:var(--muted);background:rgba(255,255,255,.12)}
.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px}.contact-big{font:400 clamp(38px,5.7vw,76px)/.98 var(--serif);letter-spacing:-.05em;margin:0}
.footer{padding:42px 0 55px}.footer-row{display:flex;justify-content:space-between;gap:35px;align-items:flex-end}.footer small{color:var(--muted)}.footer-links{display:flex;gap:16px;flex-wrap:wrap;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.footer-links a{text-decoration:none}
@media(max-width:960px){.nav{display:none;position:absolute;left:0;right:0;top:74px;background:var(--paper);padding:20px var(--pad);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start}.nav.open{display:flex}.menu-button{display:block}.hero-grid,.section-head,.grid-2,.bio-grid,.film-grid,.quote-panel,.contact-grid{grid-template-columns:1fr}.hero-portrait{max-width:500px}.portrait-sticky{position:static;max-width:430px}.project-cards,.cards{grid-template-columns:1fr}.press-item{grid-template-columns:70px 1fr}.press-outlet,.press-type{grid-column:2}.gallery .wide,.gallery .small,.gallery .half{grid-column:span 12}.footer-row{flex-direction:column;align-items:flex-start}}
@media(max-width:620px){.hero h1,.page-title{font-size:clamp(50px,15vw,80px)}.film-title{font-size:clamp(42px,12.5vw,68px)}.hero{padding-top:45px}.gallery{gap:9px}.gallery img{min-height:210px}.section,.film-block{padding:72px 0}.press-item{gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.media-frame img{transition:none}}



/* V5 refinements */
.art-documentation figure{
  margin:0;
  display:flex;
  flex-direction:column;
  align-self:start;
}
.art-documentation img{
  width:100%;
  height:auto;
  object-fit:contain;
  border:1px solid var(--line);
  background:#050505;
}
.art-documentation figcaption{
  margin:9px 0 0;
  font-size:11px;
  line-height:1.45;
  color:var(--muted);
  max-width:56ch;
}
.art-documentation .wide{
  grid-column:3 / span 8;
}
.art-documentation .wide img{
  width:100%;
  height:auto;
  object-fit:contain;
}
.love-porn-logo{
  margin:42px 0 0;
  background:#000;
}
.love-porn-logo img{
  width:100%;
  height:auto;
  object-fit:contain;
}
.love-porn-still img{
  background:#070707;
  object-fit:contain;
}
.contact-details{
  max-width:980px;
}
.contact-email{
  font:400 clamp(30px,4.1vw,58px)/1.05 var(--serif);
  letter-spacing:-.035em;
  margin:0 0 34px;
}
.contact-email a{
  text-decoration-thickness:1px;
}
@media(max-width:960px){
  .art-documentation .wide{grid-column:span 12}
}

/* V7 refinements */
.love-porn-copy{
  max-width:900px;
  margin:34px 0 34px;
}
.love-porn-copy .film-lead{
  margin-bottom:14px;
}
.love-porn-media{
  display:grid;
  grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);
  gap:clamp(30px,5vw,70px);
  align-items:start;
}
.love-porn-media figure{
  margin:0;
}
.love-porn-media img{
  display:block;
  width:100%;
  height:auto;
}
.love-porn-portrait{
  background:#0a0a0a;
}
.love-porn-logo{
  margin:0;
  background:#000;
}
.love-porn-logo img{
  width:100%;
  height:auto;
  object-fit:contain;
}
@media(max-width:860px){
  .love-porn-media{
    grid-template-columns:1fr;
    gap:26px;
  }
}

/* V8 typography refinements */
.hero h1{
  font-size:clamp(54px,8.5vw,126px);
}
.page-title{
  font-size:clamp(54px,8.4vw,118px);
}
.compact-page-title{
  font-size:clamp(48px,7vw,96px) !important;
  max-width:980px;
}
.section h2{
  font-size:clamp(36px,4.7vw,66px);
}
.compact-section-title{
  font-size:clamp(34px,4.2vw,58px) !important;
  max-width:1050px;
}
.film-title{
  font-size:clamp(44px,6.6vw,90px);
}
.quote-block p{
  font-size:clamp(30px,4.1vw,58px);
}
.press-title{
  font-size:clamp(22px,2.1vw,31px);
}
@media (max-width:860px){
  .hero h1{font-size:clamp(48px,14vw,74px)}
  .page-title{font-size:clamp(46px,13vw,72px)}
  .compact-page-title{font-size:clamp(42px,11vw,64px) !important}
  .section h2{font-size:clamp(34px,9vw,52px)}
  .compact-section-title{font-size:clamp(32px,8.5vw,48px) !important}
  .film-title{font-size:clamp(40px,11vw,62px)}
}
