
:root{
  --black:#0c0c0b;
  --cream:#e8e1d5;
  --orange:#d94f28;
  --ink:#292620;
  --gray:#8e887e;
  --rule:rgba(255,255,255,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:#f3eee6;font-family:Arial,Helvetica,sans-serif}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}

/* GLOBAL HEADER */
.site-header{
  position:fixed; inset:0 0 auto 0; z-index:50;
  height:90px; padding:0 5.5%;
  display:flex; align-items:center; justify-content:space-between;
  border-bottom:1px solid var(--rule);
  background:transparent;
}
.site-header.solid{background:#0a0a09}
.brand{
  width:52px;height:52px;border-radius:50%;
  display:grid;place-items:center;
  background:var(--orange);color:#0a0a09;
  font-size:11px;font-weight:900;line-height:1;text-align:center;
  border:1px solid rgba(255,255,255,.35)
}
.site-nav{display:flex;gap:38px;align-items:center}
.site-nav a{
  color:#eee9e1;font-size:12px;letter-spacing:2.4px;
  text-transform:uppercase;opacity:.92
}
.site-nav a:hover,.site-nav a.active{color:var(--orange)}
.menu-button{display:none;background:none;border:0;color:#fff;font-size:26px}

/* HOME HERO */
.hero{
  position:relative; min-height:780px; overflow:hidden; color:#f3eee6;
}
.hero-carousel{
  position:absolute; inset:0; overflow:hidden;
}
.hero-track{
  display:flex; width:100%; height:100%;
  transition:transform 1.05s cubic-bezier(.72,0,.18,1);
  will-change:transform;
}
.hero-slide{
  position:relative; flex:0 0 100%; height:100%;
  background-size:cover; background-position:center center; background-repeat:no-repeat;
}
.hero-shade{
  position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(90deg,rgba(0,0,0,.84) 0%,rgba(0,0,0,.60) 28%,rgba(0,0,0,.22) 58%,rgba(0,0,0,.08) 100%)
}
.hero-inner{
  position:relative;z-index:3;min-height:780px;padding:90px 5.5% 125px;
  display:flex;align-items:flex-end
}
.hero-copy{width:58%;max-width:680px}
.kicker{
  color:var(--orange);font-size:12px;font-weight:700;letter-spacing:4px;
  text-transform:uppercase;margin-bottom:26px
}
.hero h1{
  margin:0 0 35px;color:#f0ebe3;font-family:Georgia,"Times New Roman",serif;
  font-weight:400;font-size:clamp(43px,4.4vw,70px);line-height:.98;letter-spacing:-3px
}
.actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.primary{
  display:inline-block;background:var(--orange);color:#fff;padding:18px 25px;
  font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase
}
.secondary{
  display:inline-block;color:#eee9e1;padding:10px 0;border-bottom:1px solid #6e6a64;
  font-size:12px;letter-spacing:2px;text-transform:uppercase
}

/* HOME SECTIONS */
.actor-section{background:var(--cream);color:var(--ink);padding:85px 5.5% 110px}
.section-number{
  color:var(--orange);font-size:12px;font-weight:700;letter-spacing:3px;
  text-transform:uppercase;margin-bottom:75px
}
.actor-grid{display:grid;grid-template-columns:1.9fr .8fr;gap:7%;align-items:center}
.video-card{
  aspect-ratio:16/9;background:#b39d77;border:1px solid rgba(0,0,0,.12);
  position:relative;display:flex;justify-content:center;align-items:center;overflow:hidden;
  box-shadow:0 22px 50px rgba(0,0,0,.10)
}
.video-card img{width:100%;height:100%;object-fit:cover}
.video-title{
  position:absolute;inset:auto auto 18px 18px;background:#050505;color:#fff;
  padding:12px 17px;font-size:12px;letter-spacing:2px;text-transform:uppercase
}
.feature-label{color:var(--orange);font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;margin-bottom:22px}
.feature-title{margin:0 0 25px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(34px,3vw,48px);font-weight:400;line-height:1.1}
.feature-copy{color:#565149;font-size:17px;line-height:1.8;margin-bottom:28px}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:34px}
.tag{border:1px solid #bcb3a6;padding:9px 12px;font-size:10px;letter-spacing:1.4px;text-transform:uppercase}
.orange-link{display:inline-block;color:var(--orange);border-bottom:1px solid rgba(217,79,40,.5);padding-bottom:6px;font-size:11px;letter-spacing:2px;text-transform:uppercase}

.projects-section{background:var(--black);color:#eee9e1;padding:85px 5.5% 120px}
.project-line{height:1px;background:#292927;margin-bottom:65px}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.project{min-height:410px;padding:40px 38px;border-left:1px solid #292927;position:relative}
.project:last-child{border-right:1px solid #292927}
.project-type{color:var(--orange);font-size:11px;font-weight:700;letter-spacing:2.6px;text-transform:uppercase;margin-bottom:25px}
.project h2{margin:0 0 16px;font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(35px,3vw,55px);line-height:1}
.project h2.orange{color:var(--orange);font-size:clamp(48px,4.5vw,72px)}
.project-subtitle{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:18px;color:#c7c0b7;margin-bottom:5px}
.project-copy{color:#99938a;font-size:16px;line-height:1.75;max-width:420px}
.project-link{display:inline-block;margin-top:15px;color:var(--orange);font-size:10px;letter-spacing:1.8px;text-transform:uppercase}
.project-num{position:absolute;right:30px;bottom:20px;color:#333331;font-family:Georgia,serif;font-size:48px;font-style:italic}

.about-section{background:var(--cream);color:var(--ink);padding:85px 5.5% 115px}
.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;align-items:start}
.about-headline{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(38px,4vw,62px);font-weight:400;line-height:.98;letter-spacing:-2px}
.about-copy{font-family:Georgia,"Times New Roman",serif;font-size:21px;line-height:1.55;color:#454139}
.about-copy p{margin:0 0 18px}

.contact-section{background:#050505;color:#eee9e1;padding:100px 5.5% 45px}
.contact-kicker{color:var(--orange);font-size:12px;font-weight:700;letter-spacing:4px;text-transform:uppercase;margin-bottom:28px}
.contact-row{display:flex;justify-content:space-between;align-items:center;padding-bottom:35px;border-bottom:1px solid #3a3936}
.contact-title{margin:0;font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(55px,6vw,95px);line-height:1}
.contact-arrow{font-size:70px;font-weight:200;transform:rotate(-5deg)}
.footer-row{padding-top:75px;display:flex;justify-content:space-between;color:#77736d;font-size:10px;letter-spacing:2px;text-transform:uppercase}

/* GENERIC INNER PAGES */
.inner-page{background:var(--cream);color:var(--ink);min-height:100vh}
.inner-page .site-header{position:sticky;background:#0a0a09}
.page-hero{background:var(--black);color:var(--cream);padding:115px 6% 100px}
.page-hero .kicker{margin-bottom:25px}
.page-hero h1{margin:0 0 25px;font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(60px,8vw,125px);line-height:.9;letter-spacing:-5px}
.page-hero p{max-width:760px;color:#aaa39a;font-family:Georgia,"Times New Roman",serif;font-size:21px;line-height:1.55}
.content{padding:80px 6% 120px}

/* HEADSHOTS */
.headshot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.headshot-grid figure,.production-grid figure{margin:0}
.headshot-grid img{width:100%;height:auto;filter:saturate(.96)}
.headshot-grid figcaption,.production-grid figcaption{margin-top:10px;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#6d675f}
.production-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:45px}
.production-grid img{width:100%;aspect-ratio:16/9;object-fit:cover}
.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:35px;padding-bottom:18px;border-bottom:1px solid #c8c0b4}
.section-heading h2{margin:0;font-family:Georgia,serif;font-weight:400;font-size:clamp(38px,5vw,72px)}
.section-heading p{margin:0;color:#777168;font-size:12px;letter-spacing:2px;text-transform:uppercase}

/* TRAINSPOTTING */
.train-page{background:#d9d9d9;color:#090909;min-height:100vh}
.train-page .site-header{position:sticky;background:#0a0a09}
.train-topline{height:48px;background:#0a0a09;color:#fff;margin:0 5%;padding:0 5%;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:2px;text-transform:uppercase}
.train-hero{position:relative;min-height:620px;padding:95px 5% 80px;background:repeating-linear-gradient(0deg,#ddd,#ddd 2px,#d8d8d8 2px,#d8d8d8 4px);overflow:hidden;border-bottom:16px solid #f04a23}
.train-copy{position:relative;z-index:2;max-width:650px}
.train-copy .kicker{display:inline-block;background:#f04a23;color:#fff;padding:12px 14px;margin-bottom:12px}
.train-copy h1{margin:0;font-family:Arial Narrow,Arial,sans-serif;text-transform:uppercase;font-size:clamp(88px,12vw,190px);line-height:.73;letter-spacing:-8px}
.train-copy h1 i{display:inline-block;background:#f04a23;color:#fff;font-style:normal;padding:0 12px 10px}
.train-copy>p{font-size:17px;font-weight:700;letter-spacing:1px;text-transform:uppercase}
.train-copy .secondary{color:#111;border-color:#111;margin-top:20px}
.train-track{position:absolute;right:-4%;top:0;width:38%;height:110%;transform:rotate(35deg);border-left:16px solid #f04a23;border-right:16px solid #f04a23;opacity:.92}
.train-track:before,.train-track:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 60px,#f04a23 60px 72px)}
.train-statement{background:#0c0c0b;color:#eee9e1;padding:90px 6%;display:grid;grid-template-columns:.4fr 1.3fr;gap:10%}
.train-statement h2,.roger-section h2,.porno-now h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(48px,6vw,95px);line-height:.95;margin:0 0 25px}
.train-statement p,.roger-section p,.porno-now p{font-size:18px;line-height:1.7;color:#aaa39a}
.train-timeline,.review-chapter,.roger-section,.porno-now{padding:80px 6%;background:#e8e1d5}
.train-timeline article{display:grid;grid-template-columns:.25fr .8fr 1.2fr;gap:40px;padding:30px 0;border-top:1px solid #aaa}
.train-timeline article>span{color:#f04a23;font-weight:800;letter-spacing:3px}
.train-timeline h3{font-family:Georgia,serif;font-size:35px;font-weight:400;margin:0}
.review-chapter{background:#111;color:#eee}
.review-chapter header{display:flex;gap:35px;align-items:end;border-bottom:1px solid #333;padding-bottom:25px;margin-bottom:25px}
.review-chapter header>span{color:#f04a23;letter-spacing:4px;font-weight:700}
.review-chapter h2{font-family:Georgia,serif;font-size:55px;font-weight:400;margin:0}
.review-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#333}
.review-card{background:#111;padding:32px}
.review-card-top{display:flex;justify-content:space-between;color:#8d8780;font-size:10px;letter-spacing:2px;text-transform:uppercase}
.review-card blockquote{font-family:Georgia,serif;font-size:27px;line-height:1.25;margin:28px 0}
.review-actions a{color:#f04a23;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;margin-right:15px}
.roger-section{background:#d94f28;color:#0b0b0b;display:grid;grid-template-columns:.4fr 1.3fr;gap:10%}
.roger-section p{color:#2b1d17}
.porno-now{background:#0c0c0b;color:#eee;display:grid;grid-template-columns:.4fr 1.3fr;gap:10%}
.porno-now .button{display:inline-block;background:#d94f28;color:white;padding:15px 18px;text-transform:uppercase;font-size:11px;letter-spacing:2px}
.horn-toggle{position:fixed;right:18px;bottom:18px;z-index:100;background:#f04a23;color:#111;border:3px solid #111;padding:13px 16px;font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;cursor:pointer}

/* RESPONSIVE */
@media (max-width:800px){
  .site-header{height:72px;padding:0 7%}
  .brand{width:44px;height:44px}
  .site-nav{display:none}
  .menu-button{display:block}
  .hero,.hero-inner{min-height:680px}
  .hero-inner{padding:75px 7% 35px}
  .hero-copy{width:100%}
  .actor-section,.projects-section,.about-section,.contact-section{padding-left:7%;padding-right:7%}
  .actor-grid,.about-grid{grid-template-columns:1fr;gap:45px}
  .project-grid{grid-template-columns:1fr}
  .project{min-height:auto;border-left:none;border-top:1px solid #292927;padding:40px 15px 75px}
  .project:last-child{border-right:none}
  .contact-row{align-items:flex-end}
  .footer-row{gap:25px;flex-direction:column}
  .page-hero{padding:95px 7% 75px}
  .content{padding:55px 7% 90px}
  .headshot-grid,.production-grid{grid-template-columns:1fr}
  .train-topline{margin:0;padding:0 7%}
  .train-hero{padding:75px 7% 70px}
  .train-copy h1{font-size:clamp(72px,22vw,120px)}
  .train-track{right:-20%;width:55%}
  .train-statement,.roger-section,.porno-now{grid-template-columns:1fr;gap:30px}
  .train-timeline article{grid-template-columns:1fr;gap:12px}
  .review-card-grid{grid-template-columns:1fr}
}


.video-card iframe{
  width:100%;
  height:100%;
  border:0;
  position:absolute;
  inset:0;
}
.press-intro{
  max-width:760px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:20px;
  line-height:1.55;
  color:#5f5951;
  margin-bottom:60px;
}
.press-year{
  margin:70px 0 24px;
  display:flex;
  align-items:end;
  justify-content:space-between;
  border-bottom:1px solid #c8c0b4;
  padding-bottom:18px;
}
.press-year h2{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
  font-size:clamp(44px,6vw,84px);
}
.press-year span{
  color:var(--orange);
  text-transform:uppercase;
  font-size:11px;
  letter-spacing:3px;
  font-weight:700;
}
.press-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  background:#c8c0b4;
}
.press-card{
  background:#efe8dc;
  padding:34px;
  min-height:260px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.press-card .publication{
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:2px;
  color:#7a736a;
}
.press-card blockquote{
  margin:30px 0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(23px,2.5vw,36px);
  line-height:1.15;
}
.press-card a{
  color:var(--orange);
  font-size:10px;
  letter-spacing:1.6px;
  text-transform:uppercase;
}
.about-standalone{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9%;
  align-items:start;
}
.about-standalone h2{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
  font-size:clamp(48px,6vw,88px);
  line-height:.98;
  letter-spacing:-3px;
}
.about-standalone .about-copy{
  font-size:22px;
}
@media (max-width:800px){
  .hero-inner{padding:75px 7% 90px;align-items:flex-end}
  .press-grid,.about-standalone{grid-template-columns:1fr}
}

/* PASS 3: prototype-accurate headshots */
#jz-headshots-page{background:#e9e2d5;color:#1d1b18;overflow:hidden}
#jz-headshots-page .jz-headshots{background:#e9e2d5;padding:32px 6% 105px}
#jz-headshots-page .jz-section-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:26px;margin-bottom:36px;border-bottom:1px solid #c8c0b4}
#jz-headshots-page .jz-section-label{margin:0;color:#d9502b;font-size:12px;font-weight:700;letter-spacing:.28em;text-transform:uppercase}
#jz-headshots-page .jz-section-note{margin:0;color:#777168;font-size:10px;letter-spacing:.20em;text-transform:uppercase}
#jz-headshots-page .jz-headshot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
#jz-headshots-page .jz-headshot-column{display:flex;flex-direction:column;gap:18px}
#jz-headshots-page .jz-headshot{display:block;width:100%;overflow:hidden;background:#d1c9bd}
#jz-headshots-page .jz-headshot img{display:block;width:100%;height:auto}
#jz-headshots-page .jz-production{background:#0d0d0c;padding:75px 6% 105px}
#jz-headshots-page .jz-production .jz-section-heading{border-color:#33322f}
#jz-headshots-page .jz-imdb-link{color:#817d76;font-size:10px;letter-spacing:.18em;text-transform:uppercase}
#jz-headshots-page .jz-production-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 22px;align-items:start}
#jz-headshots-page .jz-still{margin:0}
#jz-headshots-page .jz-still img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
#jz-headshots-page .jz-still figcaption{margin-top:10px;color:#858179;font-size:10px;letter-spacing:.18em;line-height:1.4;text-transform:uppercase}
@media(max-width:800px){#jz-headshots-page .jz-headshot-grid,#jz-headshots-page .jz-production-grid{grid-template-columns:1fr}}

/* PASS 3: fluid carousel seams */
.hero-carousel{inset:0 -3vw}
.hero-slide{flex-basis:106%;margin-left:-3%;margin-right:-3%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%)}

/* PASS 3: archive prototype override */
.train-page{--train-orange:#f04a23;--train-grey:#c8c6c7;background:#0a0a09;color:#f1eee8}
.train-page .site-header{position:sticky;background:#0a0a09}
.train-topline{color:#fff;background:#0a0a09;margin:0;height:43px;padding:0 5vw;font:900 10px Arial Narrow,Arial,sans-serif;letter-spacing:.18em}
.train-hero{background-color:var(--train-grey);color:#090909;background-image:repeating-linear-gradient(0deg,#00000008 0 1px,#0000 1px 4px);min-height:calc(100svh - 133px);padding:88px 5vw 5vw;border-bottom:0;display:grid;align-items:end}
.train-copy{z-index:2;max-width:78vw}
.train-copy .kicker{background:var(--train-orange);color:#fff;margin:0;padding:8px 11px;display:inline-block}
.train-copy h1{letter-spacing:-.045em;margin:18px 0 22px;font:900 clamp(72px,12vw,178px)/.74 Impact,Arial Narrow,Arial,sans-serif}
.train-copy h1 i{background:var(--train-orange);color:#fff;width:max-content;padding:0 16px 10px 8px;transform:rotate(-1deg)}
.train-copy>p{margin:0 0 30px;font:700 17px Arial Narrow,Arial,sans-serif;letter-spacing:.06em}
.train-track{z-index:1;opacity:.92;width:78vw;height:150px;position:absolute;top:43%;right:-21vw;transform:rotate(-55deg);border:0}
.train-track:before,.train-track:after{content:"";background:var(--train-orange);height:18px;position:absolute;left:0;right:0;inset-inline:0}
.train-track:before{top:12px}.train-track:after{top:auto;bottom:12px}
.train-track{background:repeating-linear-gradient(90deg,transparent 0 48px,var(--train-orange) 48px 64px,transparent 64px 112px)}
.train-statement{color:#1d1b18;border-top:18px solid var(--train-orange);background:#eee repeating-linear-gradient(0deg,#00000005 0 1px,#0000 1px 5px);grid-template-columns:.4fr 1.6fr;gap:5vw;padding:130px 8vw}
.train-statement h2,.roger-section h2,.porno-now h2{letter-spacing:-.055em;text-transform:uppercase;margin:0 0 35px;font:900 clamp(55px,8vw,110px)/.82 Arial Narrow,Arial,sans-serif}
.train-statement h2:after{content:"";background:var(--train-orange);width:145px;height:12px;margin-top:24px;display:block;transform:rotate(-2deg)}
.train-statement p{color:#35312d;max-width:750px;font:21px/1.75 Georgia,serif}
.train-timeline{background:#11110f;color:#f1eee8;padding:100px 7vw 130px}
.train-timeline .section-heading{border-color:#ffffff20}.train-timeline .section-heading h2{font:900 12px Arial Narrow,Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:var(--train-orange)}
.train-timeline article{border-top:0;border-bottom:1px solid #ffffff35;grid-template-columns:.38fr .7fr 1fr;gap:4vw;padding:40px 0}
.train-timeline article>span{color:var(--train-orange);font:900 56px/.9 Arial Narrow,Arial,sans-serif;letter-spacing:0}.train-timeline h3{font:900 37px Arial Narrow,Arial,sans-serif;text-transform:uppercase;margin:8px 0}.train-timeline article>p{color:#aaa49b;max-width:48ch;line-height:1.7}
.review-chapter{color:#0a0a09;background:#c8c6c7 repeating-linear-gradient(0deg,#00000008 0 1px,#0000 1px 5px);border-top:5px solid #0a0a09;padding:95px 7vw 115px}.review-chapter:nth-of-type(odd){background:#dedbd5}
.review-chapter header{border-bottom:5px solid #0a0a09;display:grid;grid-template-columns:.35fr 1.65fr;gap:4vw;margin-bottom:48px;padding-bottom:25px}.review-chapter header>span{letter-spacing:-.06em;color:var(--train-orange);font:900 clamp(72px,11vw,160px)/.7 Arial Narrow,Arial,sans-serif}.review-chapter h2{color:#0a0a09;text-transform:uppercase;letter-spacing:-.045em;margin:5px 0 0;font:900 clamp(40px,6vw,76px)/.85 Arial Narrow,Arial,sans-serif}
.review-card-grid{grid-template-columns:repeat(3,1fr);gap:18px;background:transparent}.review-card{min-height:330px;box-shadow:8px 8px 0 var(--train-orange);background:#f2efe9;border:4px solid #0a0a09;padding:0;display:flex;flex-direction:column}.review-card-top{color:#fff;background:#0a0a09;padding:12px 14px;font:900 9px Arial Narrow,Arial,sans-serif;letter-spacing:.13em}.review-card blockquote{color:#0a0a09;text-transform:uppercase;letter-spacing:-.03em;margin:0;padding:28px 22px;font:900 clamp(25px,2.6vw,40px)/.95 Arial Narrow,Arial,sans-serif}.review-actions{border-top:4px solid #0a0a09;margin-top:auto;display:grid}.review-actions a{background:var(--train-orange);color:#0a0a09;padding:14px 12px;font:900 9px Arial Narrow,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.roger-section{border-bottom:18px solid var(--train-orange);background:#090908;color:#fff;grid-template-columns:.55fr 1.45fr;gap:5vw;padding:120px 8vw}.roger-section p{color:#aaa49b;max-width:720px;font:20px/1.75 Georgia,serif}.porno-now{background:var(--train-orange);color:#100b09;grid-template-columns:.45fr 1.55fr;gap:5vw;padding:120px 8vw}.porno-now p{color:#100b09;max-width:700px;font:20px/1.7 Georgia,serif}.porno-now .button{background:#0b0b0a;color:#e8e1d5}
@media(max-width:850px){.train-track{width:115vw;height:95px;top:42%;right:-55vw}.train-track:before,.train-track:after{height:12px}.review-card-grid{grid-template-columns:1fr}.review-chapter header{grid-template-columns:1fr}.train-timeline article{grid-template-columns:1fr}}
.scotland-letter{color:#f1eee8;background:#10100f repeating-linear-gradient(0deg,#ffffff08 0 1px,#0000 1px 5px);border-top:5px solid #090909;border-bottom:5px solid #090909;display:grid;grid-template-columns:.45fr 1.05fr .7fr;align-items:end;gap:5vw;padding:95px 7vw}.scotland-letter .kicker{color:var(--train-orange)}.scotland-letter-index{color:#77716a;text-transform:uppercase;letter-spacing:.16em;margin:22px 0 0;font:900 13px/1.85 Arial Narrow,Arial,sans-serif}.scotland-letter h2{text-transform:uppercase;letter-spacing:-.055em;margin:0;font:900 clamp(54px,7vw,100px)/.78 Arial Narrow,Arial,sans-serif}.scotland-letter h2 i{color:var(--train-orange);font-style:normal}.scotland-letter>div:nth-child(2)>p{color:#aaa49b;max-width:600px;margin:28px 0 32px;font:18px/1.7 Georgia,serif}.scotland-letter .button{background:var(--train-orange);color:#0a0a09;padding:18px 22px;text-transform:uppercase;font-size:11px;font-weight:900;letter-spacing:.13em;display:inline-block}.scotland-letter blockquote{border-top:5px solid var(--train-orange);color:#d9d4cc;margin:0;padding:24px 0 0;font:italic 24px/1.35 Georgia,serif}
.train-quote{background:var(--train-orange);color:#090909;border-top:4px solid #090909;border-bottom:4px solid #090909;display:grid;grid-template-columns:.25fr 1.5fr .5fr;align-items:end;gap:4vw;padding:70px 7vw}.quote-index{border:4px solid #090909;align-self:stretch;padding:13px;font:900 34px/.85 Arial Narrow,Arial,sans-serif}.train-quote blockquote{letter-spacing:-.035em;text-transform:uppercase;margin:0;font:900 clamp(24px,4vw,56px)/.86 Arial Narrow,Arial,sans-serif}.train-quote p{text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:900;line-height:1.7}.train-quote span{color:#40160d}
.review-archive-intro{color:#0a0a09;border-top:18px solid var(--train-orange);background:#ece9e2;display:grid;grid-template-columns:.45fr 1.85fr;align-items:start;gap:5vw;padding:110px 8vw}.review-archive-intro>p:last-child{color:#4d4943;max-width:760px;margin:0;font:21px/1.65 Georgia,serif}
@media(max-width:850px){.scotland-letter,.train-quote,.review-archive-intro{grid-template-columns:1fr}.scotland-letter-index{display:none}}
.pepsi-project{background:#cc4b27;color:#111;display:grid;grid-template-columns:.72fr 1.28fr;gap:8%;align-items:center;padding:115px 7%}.pepsi-kicker{text-transform:uppercase;font-size:11px;font-weight:900;letter-spacing:.22em}.pepsi-copy h2{color:#f2ece2;font:400 clamp(58px,6vw,94px)/.88 Georgia,serif;letter-spacing:-.05em;margin:25px 0 28px}.pepsi-copy>p:not(.pepsi-kicker){font-size:16px;line-height:1.75;max-width:430px}.pepsi-copy a{display:inline-block;margin-top:12px;padding-bottom:8px;border-bottom:1px solid rgba(0,0,0,.35);color:#f2ece2;text-transform:uppercase;font-size:11px;letter-spacing:.18em}.pepsi-video{aspect-ratio:16/9;border-top:9px solid #090909;border-bottom:9px solid #090909}.pepsi-video iframe{width:100%;height:100%;border:0;display:block}@media(max-width:800px){.pepsi-project{grid-template-columns:1fr;gap:50px;padding:75px 7%}}
.brand{overflow:hidden;background:#d94f28;border:2px solid #d94f28;padding:0}.brand img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;border-radius:50%}


/* ================= V4 PROTOTYPE MATCH OVERRIDES ================= */
.brand{background:transparent!important;border:0!important;width:58px!important;height:58px!important;overflow:visible!important}
.brand img{width:58px!important;height:58px!important;object-fit:contain!important;border-radius:0!important}

/* homepage carousel seams: soft overlap/crossfade effect */
.hero-slide::before,.hero-slide::after{content:"";position:absolute;top:0;bottom:0;width:8vw;z-index:1;pointer-events:none}
.hero-slide::before{left:0;background:linear-gradient(90deg,rgba(10,10,9,.24),transparent)}
.hero-slide::after{right:0;background:linear-gradient(270deg,rgba(10,10,9,.24),transparent)}
.contact-section .contact-title{font-size:clamp(36px,4vw,63px)!important}

/* Headshots: precise 3-col editorial grid with formerly orphaned portrait in center gap */
#jz-headshots-page{background:#e8e1d5;color:#292620}
.jz-headshots{padding:42px 6% 70px}
.jz-section-heading{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #c7beb0;padding-bottom:24px;margin-bottom:48px;text-transform:uppercase;letter-spacing:3px;font-size:11px}
.jz-section-label{color:#d94f28;font-weight:700}.jz-section-note,.jz-imdb-link{color:#777168}
.v4-masonry{display:grid!important;grid-template-columns:repeat(3,1fr)!important;grid-auto-rows:18px;gap:0 24px!important;align-items:start}
.v4-masonry .jz-headshot{display:block;overflow:hidden;margin:0 0 24px}.v4-masonry img{width:100%;height:100%;object-fit:cover}
.hs1{grid-column:1;grid-row:1/span 42}.hs2{grid-column:2;grid-row:8/span 30}.hs3{grid-column:3;grid-row:1/span 42}.hs4{grid-column:1;grid-row:44/span 42}.hs5{grid-column:2;grid-row:39/span 26;position:relative;top:24px}.hs6{grid-column:3;grid-row:44/span 42}.hs7{grid-column:2;grid-row:66/span 38;position:relative;top:24px}
.jz-production{background:#0e0e0d;color:#eee9e1;padding:65px 6% 90px}.jz-production .jz-section-heading{border-color:#373632}.jz-production-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:48px 30px}.jz-production-grid figure{margin:0}.jz-production-grid img{width:100%;aspect-ratio:16/9;object-fit:cover}.jz-production-grid figcaption{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#77736d;margin-top:12px}.jz-production-grid figure:last-child{grid-column:1}

/* universal prototype footer */
.proto-footer{background:#050505;color:#eee9e1;padding:88px 6% 48px}.footer-kicker{color:#d94f28;text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:3px;margin:0 0 24px}.footer-contact{display:flex;justify-content:space-between;align-items:center;font-family:Georgia,serif;font-size:clamp(42px,5vw,66px);padding-bottom:28px;border-bottom:1px solid #393833}.footer-contact span{font-family:Arial,sans-serif;font-size:54px}.footer-bottom{padding-top:72px;display:flex;justify-content:space-between;text-transform:uppercase;letter-spacing:2px;font-size:10px;color:#77736d}.footer-links{display:flex;gap:34px}

/* Press prototype */
.press-proto{background:#e8e1d5;color:#111}.press-hero{background:#0e0e0d;color:#eee9e1;padding:160px 6% 105px}.press-hero h1{font:400 clamp(44px,5vw,72px)/1 Georgia,serif;margin:24px 0 28px}.press-hero p{font:400 20px/1.5 Georgia,serif;color:#8b857d}.press-quote{padding:95px 7% 90px;display:grid;grid-template-columns:70px minmax(0,930px);gap:55px}.quote-no{color:#d94f28;font:italic 22px Georgia,serif}.press-quote blockquote{font:italic clamp(34px,4vw,58px)/1.08 Georgia,serif;margin:0;color:#111}.press-quote p{text-transform:uppercase;letter-spacing:2px;color:#777168;font-size:10px;margin-top:38px}.archive-door{margin:0 7% 90px;border-top:1px solid #bfb5a7;border-bottom:1px solid #bfb5a7;padding:28px 0;display:flex;justify-content:space-between;color:#d94f28;text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:3px}.press-visual-grid{background:#d7cec0;padding:70px 7% 110px;display:grid;grid-template-columns:1fr 1fr;gap:55px 32px}.press-visual-grid figure{margin:0}.press-visual-grid img{width:100%;aspect-ratio:1.45/1;object-fit:cover}.press-visual-grid figcaption{text-transform:uppercase;letter-spacing:2px;color:#888178;font-size:10px;margin-top:12px}.architects-recognition{background:#0b0b0a;color:#e8e1d5;padding:90px 7% 110px}.architects-recognition h2{font:400 60px Georgia,serif;margin:8px 0}.architects-recognition ul{list-style:none;margin:0;padding:0}.architects-recognition li{padding:24px 0;border-top:1px solid #33322f;color:#aaa39a;font-size:16px}.architects-recognition li:last-child{border-bottom:1px solid #33322f}

/* Projects title restraint */
.projects-hero h1{font-size:clamp(52px,6vw,86px)!important;letter-spacing:-3px!important;max-width:900px}

/* About prototype */
.about-proto{background:#d7cec0;color:#111}.about-hero{background:#0e0e0d;color:#e8e1d5;padding:160px 6% 110px}.about-hero h1{font:400 clamp(48px,5vw,76px)/.98 Georgia,serif;max-width:1050px;margin:25px 0 28px;letter-spacing:-2px}.about-hero p{font:400 20px/1.6 Georgia,serif;color:#8b857d;max-width:640px}.about-story{padding:70px 8% 105px;display:grid;grid-template-columns:minmax(350px,.86fr) 1fr;gap:8%;align-items:start}.about-story img{width:100%;max-height:1050px;object-fit:cover}.about-bio{font:400 22px/1.65 Georgia,serif;color:#151411}.about-bio br{display:block;content:"";margin-bottom:7px}

/* Contact prototype */
.contact-proto{background:#d8cfc1;color:#111;min-height:calc(100vh - 90px)}.contact-proto>section{padding:135px 6% 90px}.contact-proto h1{font:400 clamp(56px,6vw,88px)/.92 Georgia,serif;margin:28px 0 42px;letter-spacing:-3px}.direct-label{font:400 21px Georgia,serif;color:#777168}.direct-email{display:block;font:400 clamp(25px,2.5vw,38px) Georgia,serif;color:#111;border-bottom:1px solid #aaa095;padding:25px 0 35px}.direct-email:hover{color:#d94f28}.rep-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:90px}.rep-grid>div{padding:0 40px;border-left:1px solid #aaa095}.rep-grid>div:first-child{border-left:0;padding-left:38px}.rep-grid h3{text-transform:uppercase;letter-spacing:3px;font-size:11px;margin:0 0 24px}.rep-grid h2{font:400 29px/1.05 Georgia,serif;text-transform:uppercase;margin:0 0 25px}.rep-grid h4{font:400 18px Georgia,serif;text-transform:uppercase;letter-spacing:2px;margin:0 0 10px}.rep-grid p{font-size:13px;line-height:1.9}.contact-socials{display:flex;gap:35px;margin-top:70px;text-transform:uppercase;letter-spacing:2px;font-size:11px}

/* Trainspotting visual corrections */
.train-track{width:31%!important;border-left-width:9px!important;border-right-width:9px!important;right:-2%!important}.train-track:before,.train-track:after{background:repeating-linear-gradient(0deg,transparent 0 72px,#f04a23 72px 80px)!important}.roger-section{display:grid!important;grid-template-columns:.42fr 1.25fr!important;gap:9%!important;background:#0b0b0a!important;color:#eee9e1!important}.roger-lead{display:flex;flex-direction:column;gap:24px}.roger-photo-frame{width:100%;aspect-ratio:4/5;background:linear-gradient(145deg,#222,#0c0c0b);border:1px solid #383733;position:relative}.roger-photo-frame:after{content:"ROGER";position:absolute;left:16px;bottom:14px;color:#55514b;font-size:10px;letter-spacing:3px}.roger-section p{color:#aaa39a!important}
.review-actions{display:flex!important}.review-actions a{flex:1}

@media(max-width:800px){.site-header{height:72px}.site-nav{display:none}.menu-button{display:block}.brand,.brand img{width:46px!important;height:46px!important}.v4-masonry{grid-template-columns:1fr 1fr!important;grid-auto-rows:auto!important;gap:18px!important}.v4-masonry .jz-headshot{grid-column:auto!important;grid-row:auto!important;height:auto!important}.v4-masonry img{height:auto}.jz-production-grid,.press-visual-grid,.about-story,.rep-grid{grid-template-columns:1fr}.press-quote{grid-template-columns:35px 1fr;gap:20px}.rep-grid>div{border-left:0;border-top:1px solid #aaa095;padding:30px 0}.rep-grid>div:first-child{padding:30px 0}.footer-bottom{gap:25px;flex-direction:column}.train-track{width:36%!important}.roger-section{grid-template-columns:1fr!important}.projects-hero h1{font-size:52px!important}}

/* V5 refinement pass */
.brand,.brand img{width:50px!important;height:50px!important}.brand{overflow:hidden!important;border-radius:50%!important}.brand img{border-radius:50%!important;object-fit:cover!important}
.pepsi-video{border:0!important;overflow:hidden}.pepsi-video iframe{display:block;width:100%;height:100%;border:0}
.press-visual-grid img{object-position:center top}
.about-story img{object-position:center top}
/* archive track: one clean diagonal rail with sleepers */
.train-track{width:72vw!important;height:150px!important;right:-18vw!important;top:42%!important;transform:rotate(-55deg)!important;border:0!important;background:repeating-linear-gradient(90deg,transparent 0 52px,var(--train-orange) 52px 64px,transparent 64px 112px)!important}
.train-track:before,.train-track:after{content:""!important;position:absolute!important;left:0!important;right:0!important;height:17px!important;background:var(--train-orange)!important}.train-track:before{top:12px!important}.train-track:after{top:auto!important;bottom:12px!important}
.train-ghost{white-space:nowrap!important;line-height:1!important}
/* actor prototype */
.actor-proto{background:#e8e1d5;color:#111}.actor-page-hero{background:#0e0e0d;color:#eee9e1;padding:125px 6% 90px}.actor-page-hero h1{font:400 clamp(54px,6vw,82px)/.95 Georgia,serif;margin:25px 0 32px}.actor-page-hero p{font:400 20px Georgia,serif;color:#938d84}.actor-page-main{padding:75px 8% 110px}.actor-feature{display:grid;grid-template-columns:1.9fr .75fr;gap:7%;align-items:center}.actor-feature-video{aspect-ratio:16/9}.actor-feature-video iframe{width:100%;height:100%;border:0}.actor-feature-copy h2{font:400 40px/1.05 Georgia,serif;margin:22px 0}.actor-feature-copy>p:last-child{color:#6f6961;line-height:1.6}.selected-clips{margin-top:90px}.clips-heading{display:flex;justify-content:space-between;text-transform:uppercase;letter-spacing:3px;font-size:10px;color:#d94f28;padding-bottom:22px;border-bottom:1px solid #bdb5aa}.clips-heading span:last-child{color:#888178}.clips-grid{display:grid;grid-template-columns:1fr 1fr}.clips-grid>a{min-height:145px;padding:30px 25px;display:grid;grid-template-columns:42px 1fr 25px;gap:18px;border-bottom:1px solid #c6beb2;color:#111}.clips-grid>a:nth-child(odd){border-right:1px solid #c6beb2}.clips-grid i{color:#d94f28;font:italic 15px Georgia,serif}.clips-grid h3{font:400 28px Georgia,serif;margin:0 0 12px}.clips-grid p{margin:0;color:#777168;font-size:13px}.clips-grid small{color:#8c857b}.clips-grid>a:hover{background:#ded6ca}.actor-credits{margin-top:90px;border-top:1px solid #bdb5aa}.actor-credits>div{display:grid;grid-template-columns:1fr 2fr;padding:25px 0;border-bottom:1px solid #c6beb2;align-items:center}.actor-credits h3{font:400 27px Georgia,serif;margin:0}.actor-credits span{color:#6f6961}.actor-credits .orange-link{display:inline-block;margin-top:45px}
@media(max-width:800px){.brand,.brand img{width:42px!important;height:42px!important}.actor-feature,.clips-grid{grid-template-columns:1fr}.clips-grid>a:nth-child(odd){border-right:0}.actor-page-main{padding:55px 7%}.actor-credits>div{grid-template-columns:1fr;gap:8px}.train-track{width:110vw!important;right:-50vw!important}}

/* ===== V6 polish ===== */
.train-hero{overflow:hidden}
.train-ghost-word{
  position:absolute;
  right:1.8%;
  bottom:-2px;
  z-index:0;
  white-space:nowrap;
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(74px,9.4vw,166px);
  line-height:.82;
  font-weight:800;
  letter-spacing:-.055em;
  color:#111;
  opacity:.055;
  transform:none;
  pointer-events:none;
}
.train-track{z-index:2!important}
.train-copy{position:relative;z-index:3}
.roger-photo-frame{background:none!important;border:0!important;aspect-ratio:auto!important;overflow:hidden}
.roger-photo-frame:after{display:none!important}
.roger-photo-frame img{display:block;width:100%;height:auto;object-fit:contain}
.press-visual-grid img{object-position:center top!important}
.press-visual-grid .press-train-photo img{object-position:center top!important}
@media(max-width:800px){.train-ghost-word{font-size:15vw;right:2%;bottom:0}}

/* V6.3 — headshots center-column gutter correction
   hs5 and hs7 occupy consecutive explicit grid tracks, so their previous equal
   translate offset preserved the collision. Push hs7 down one additional gutter. */
@media (min-width:801px){
  #jz-headshots-page .v4-masonry .hs5{top:24px!important;}
  #jz-headshots-page .v4-masonry .hs7{top:48px!important;}
}

/* V6.4 — actual visible gutter between stacked center headshots.
   Use transforms rather than relative top offsets so the image itself moves
   regardless of grid item's explicit track sizing. */
@media (min-width:801px){
  #jz-headshots-page .v4-masonry .hs5{top:0!important;transform:translateY(24px)!important;}
  #jz-headshots-page .v4-masonry .hs7{top:0!important;transform:translateY(48px)!important;}
}

/* V6.5 — hard, guaranteed cream gutter between the two center headshots.
   Previous positional offsets were being swallowed by the explicit masonry grid.
   This puts the gutter inside the lower center tile itself, so it cannot collapse. */
@media(min-width:801px){
  #jz-headshots-page .v4-masonry .hs5{
    top:0!important;
    transform:none!important;
    border-top:24px solid #e8e1d5!important;
    box-sizing:content-box!important;
  }
}


/* V6.6 — structural headshot fix.
   Desktop headshots now use real vertical columns with literal gaps. */
@media(min-width:801px){
  #jz-headshots-page .jz-headshot-grid.v6-columns{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:24px!important;
    align-items:start!important;
  }
  #jz-headshots-page .v6-columns .jz-headshot-column{
    display:flex!important;
    flex-direction:column!important;
    gap:24px!important;
    min-width:0!important;
  }
  #jz-headshots-page .v6-columns .jz-headshot{
    display:block!important;
    position:static!important;
    top:auto!important;
    transform:none!important;
    margin:0!important;
    border:0!important;
    box-sizing:border-box!important;
    width:100%!important;
    overflow:hidden!important;
    grid-column:auto!important;
    grid-row:auto!important;
  }
  #jz-headshots-page .v6-columns .jz-headshot img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    object-fit:contain!important;
  }
}
@media(max-width:800px){
  #jz-headshots-page .jz-headshot-grid.v6-columns{display:block!important;}
  #jz-headshots-page .v6-columns .jz-headshot-column{display:contents!important;}
  #jz-headshots-page .v6-columns .jz-headshot{margin:0 0 18px!important;}
  #jz-headshots-page .v6-columns .jz-headshot img{height:auto!important;}
}

/* ===== MOBILE FIX PASS — 2026-08-25 ===== */
@media (max-width:800px){
  html,body{max-width:100%;overflow-x:hidden}

  /* Functional mobile navigation */
  .site-header{z-index:500;background:#0a0a09}
  .menu-button{
    position:relative;z-index:502;display:flex!important;align-items:center;justify-content:center;
    width:44px;height:44px;padding:0;cursor:pointer;font:400 30px/1 Arial,Helvetica,sans-serif;
    -webkit-tap-highlight-color:transparent
  }
  .site-nav{
    display:flex!important;
    position:fixed;z-index:501;
    top:72px;left:0;right:0;
    height:calc(100dvh - 72px);
    padding:34px 7% 46px;
    background:rgba(10,10,9,.985);
    flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0;
    transform:translateX(100%);
    visibility:hidden;opacity:0;
    transition:transform .28s ease,opacity .22s ease,visibility 0s linear .28s;
    overflow-y:auto;-webkit-overflow-scrolling:touch
  }
  .site-nav.is-open{
    transform:translateX(0);visibility:visible;opacity:1;
    transition:transform .28s ease,opacity .22s ease
  }
  .site-nav a{
    width:100%;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.13);
    font-size:18px;letter-spacing:.18em;color:#eee9e1
  }
  body.mobile-menu-open{overflow:hidden}

  /* Trainspotting archive: force true single-column mobile flow */
  .train-page{width:100%;max-width:100%;overflow-x:hidden}
  .train-topline{width:100%;margin:0!important;padding:0 5.5%!important;font-size:8px;letter-spacing:.12em}
  .train-hero{width:100%;max-width:100%;min-height:610px;padding:62px 6% 54px!important}
  .train-copy{width:100%!important;max-width:100%!important;min-width:0!important}
  .train-copy h1{font-size:clamp(58px,20vw,86px)!important;line-height:.78!important;letter-spacing:-.045em!important;max-width:100%!important}
  .train-copy h1 i{max-width:100%;padding-right:10px!important}
  .train-copy>p{font-size:13px!important;line-height:1.35;max-width:88%}
  .train-track{width:120vw!important;height:86px!important;right:-64vw!important;top:40%!important}
  .train-track:before,.train-track:after{height:10px!important}
  .train-ghost-word{font-size:13vw!important;right:4%!important;bottom:3px!important;max-width:92vw;overflow:hidden}

  .train-statement{
    display:block!important;width:100%!important;max-width:100%!important;
    padding:64px 7% 72px!important;overflow:hidden
  }
  .train-statement>.kicker{display:block!important;width:auto!important;margin:0 0 28px!important}
  .train-statement>div{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important}
  .train-statement h2{
    width:100%!important;max-width:100%!important;white-space:normal!important;overflow-wrap:normal!important;
    font-size:clamp(42px,13vw,58px)!important;line-height:.88!important;letter-spacing:-.045em!important;margin-bottom:28px!important
  }
  .train-statement h2 br{display:none}
  .train-statement h2:after{width:105px!important;height:8px!important;margin-top:18px!important}
  .train-statement p{
    width:100%!important;max-width:100%!important;min-width:0!important;
    font-size:18px!important;line-height:1.58!important;overflow-wrap:break-word!important;word-break:normal!important
  }

  .train-timeline,.review-chapter,.roger-section,.porno-now,.scotland-letter,.train-quote,.review-archive-intro{
    width:100%!important;max-width:100%!important;overflow:hidden
  }
  .train-timeline{padding:65px 7% 80px!important}
  .train-timeline article{display:block!important;padding:30px 0!important}
  .train-timeline article>span{display:block;margin-bottom:18px;font-size:48px!important}
  .train-timeline h3{font-size:31px!important}
  .train-timeline article>p{max-width:100%!important;margin-top:14px}

  .scotland-letter,.train-quote,.review-archive-intro,.roger-section,.porno-now{
    display:block!important;padding:65px 7%!important
  }
  .scotland-letter>div,.scotland-letter blockquote,.train-quote>* ,.review-archive-intro>* ,.roger-section>* ,.porno-now>*{
    width:100%!important;max-width:100%!important;min-width:0!important
  }
  .scotland-letter h2,.roger-section h2,.porno-now h2{font-size:clamp(43px,13vw,58px)!important;line-height:.9!important}
  .scotland-letter blockquote{margin-top:42px!important}
  .train-quote blockquote{font-size:clamp(34px,11vw,50px)!important;margin:28px 0!important}
  .quote-index{display:inline-block!important;width:auto!important;min-height:0!important}
  .review-archive-intro>p:last-child{font-size:18px!important;line-height:1.58!important}

  .review-chapter{padding:62px 7% 78px!important}
  .review-chapter header{display:block!important;width:100%!important}
  .review-chapter header>span{display:block;font-size:66px!important;line-height:.85!important;margin-bottom:24px}
  .review-chapter h2{font-size:42px!important;line-height:.9!important;overflow-wrap:break-word}
  .review-card-grid{display:block!important;width:100%!important;background:transparent!important}
  .review-card{width:100%!important;min-height:0!important;margin:0 0 24px!important;box-shadow:6px 6px 0 var(--train-orange)!important}
  .review-card blockquote{font-size:29px!important;line-height:1!important;padding:24px 18px!important}
  .review-actions{display:flex!important;flex-wrap:wrap!important}
  .review-actions a{flex:1 1 100%!important}

  .roger-photo-frame{max-width:330px!important;margin:0 0 38px!important}
  .horn-toggle{right:10px!important;bottom:10px!important;padding:10px 12px!important;font-size:8px!important}
}

/* ===== MOBILE FIX PASS 2 — carousel framing + headshot gutters ===== */
@media (max-width:800px){
  /* Preserve each carousel frame on phones instead of zooming/cropping with cover. */
  .hero-carousel{inset:0!important;background:#000!important;}
  .hero-track{height:100%!important;}
  .hero-slide{
    flex:0 0 100%!important;
    margin-left:0!important;
    margin-right:0!important;
    -webkit-mask-image:none!important;
    mask-image:none!important;
    background-size:100% auto!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
    background-color:#000!important;
  }
  .hero-slide::before,.hero-slide::after{display:none!important;}

  /* Real structural mobile gutters between every stacked headshot. */
  #jz-headshots-page .jz-headshot-grid.v6-columns{
    display:block!important;
  }
  #jz-headshots-page .v6-columns .jz-headshot-column{
    display:flex!important;
    flex-direction:column!important;
    gap:18px!important;
    margin:0 0 18px!important;
  }
  #jz-headshots-page .v6-columns .jz-headshot-column:last-child{margin-bottom:0!important;}
  #jz-headshots-page .v6-columns .jz-headshot{
    display:block!important;
    margin:0!important;
    position:static!important;
    transform:none!important;
  }
}

/* ===== MOBILE FIX PASS 3 — hero image above copy + production-still lightbox ===== */
@media (max-width:800px){
  /* Give the carousel its own unobstructed image band above the name/call-to-action copy. */
  .hero{
    min-height:0!important;
    height:auto!important;
    overflow:hidden!important;
    background:#000!important;
  }
  .hero-carousel{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:2 / 1!important;
    background:#000!important;
    overflow:hidden!important;
  }
  .hero-track{
    width:100%!important;
    height:100%!important;
  }
  .hero-slide{
    height:100%!important;
    background-size:contain!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
    background-color:#000!important;
  }
  .hero-shade{display:none!important;}
  .hero-inner{
    position:relative!important;
    min-height:0!important;
    height:auto!important;
    padding:38px 7% 58px!important;
    display:block!important;
    background:#000!important;
  }
  .hero-copy{width:100%!important;max-width:none!important;}
  .hero .kicker{margin-bottom:22px!important;}
  .hero h1{margin-bottom:30px!important;}
}

/* Production stills: visual affordance + full-image overlay. */
#jz-headshots-page .jz-production-grid .jz-still img{
  cursor:zoom-in;
}
.jz-lightbox{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:rgba(0,0,0,.94);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .18s ease,visibility .18s ease;
}
.jz-lightbox.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.jz-lightbox img{
  display:block;
  max-width:96vw;
  max-height:90vh;
  width:auto;
  height:auto;
  object-fit:contain;
  box-shadow:0 12px 50px rgba(0,0,0,.35);
}
.jz-lightbox-close{
  position:absolute;
  top:max(14px,env(safe-area-inset-top));
  right:16px;
  width:44px;
  height:44px;
  border:1px solid rgba(255,255,255,.45);
  border-radius:50%;
  background:rgba(0,0,0,.55);
  color:#fff;
  font:300 31px/1 Arial,sans-serif;
  cursor:pointer;
}
body.jz-lightbox-open{overflow:hidden;}

/* ===== MOBILE FIX PASS 4 — preserve the entire carousel frame ===== */
@media (max-width:800px){
  /* Make the image band slightly taller than the tallest source frame so every
     slide can be shown edge-to-edge without clipping. Remaining space stays black. */
  .hero-carousel{
    aspect-ratio:1.90 / 1!important;
    height:auto!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  .hero-track{
    height:100%!important;
    align-items:stretch!important;
  }
  .hero-slide{
    height:100%!important;
    background-size:contain!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
    background-color:#000!important;
  }
}

/* ===== MOBILE FIX PASS 5 / V6.11 — true full-frame carousel ===== */
@media (max-width:800px){
  /* Neutralize the desktop seam/overlap treatment on phones. It was widening
     each slide to 106% and pulling it left/right, which visually shaved the frame. */
  .hero-carousel{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:2.0098 / 1!important; /* tallest source slide, hero-1 */
    overflow:hidden!important;
    background:#000!important;
  }
  .hero-track{
    display:flex!important;
    width:100%!important;
    height:100%!important;
    align-items:stretch!important;
  }
  .hero-slide{
    flex:0 0 100%!important;
    width:100%!important;
    height:100%!important;
    margin:0!important;
    -webkit-mask-image:none!important;
    mask-image:none!important;
    background-size:contain!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
    background-color:#000!important;
  }
  .hero-slide::before,.hero-slide::after{display:none!important;}
}


/* ===== MOBILE FIX PASS 6 / V6.12 — real image carousel, no background cropping ===== */
.hero-mobile-img{display:none}
@media (max-width:800px){
  /* On phones, stop using CSS backgrounds altogether. Safari was still sizing
     the background painting area independently of the intended frame. Real IMG
     elements preserve the source frame by definition and determine the height. */
  .hero-carousel{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:auto!important;
    overflow:hidden!important;
    background:#000!important;
  }
  .hero-track{
    display:flex!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    align-items:flex-start!important;
  }
  .hero-slide{
    position:relative!important;
    flex:0 0 100%!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    background-image:none!important;
    background:none!important;
    -webkit-mask-image:none!important;
    mask-image:none!important;
    overflow:visible!important;
  }
  .hero-mobile-img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-width:none!important;
    object-fit:contain!important;
    object-position:center top!important;
    margin:0!important;
    padding:0!important;
  }
  .hero-slide::before,.hero-slide::after{display:none!important;}
}

/* ===== V6.13 MOBILE CAROUSEL RESET =====
   Mobile no longer uses the desktop track at all. This is a separate image stage
   with a fixed frame based on the tallest source image, so every source frame is
   visible in full and no desktop transform/mask/height rule can interfere. */
.mobile-hero-carousel{display:none}
@media (max-width:800px){
  .hero-carousel{display:none!important}
  .hero-mobile-img{display:none!important}
  .mobile-hero-carousel{
    display:block!important;
    position:relative!important;
    width:100%!important;
    aspect-ratio:2048 / 1019!important;
    height:auto!important;
    min-height:0!important;
    overflow:hidden!important;
    background:#000!important;
  }
  .mobile-hero-slide{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    object-fit:contain!important;
    object-position:center center!important;
    margin:0!important;
    padding:0!important;
    opacity:0!important;
    visibility:hidden!important;
    transition:opacity .8s ease!important;
  }
  .mobile-hero-slide.is-active{
    opacity:1!important;
    visibility:visible!important;
  }
  .hero-shade{display:none!important}
  .hero-inner{
    position:relative!important;
    min-height:0!important;
    height:auto!important;
    padding:42px 7% 58px!important;
    display:block!important;
    background:#000!important;
  }
}


/* ===== V6.14 MOBILE HERO HARD RESET =====
   One ordinary in-flow IMG. No aspect-ratio wrapper, no absolute positioning,
   no fixed height, no overflow crop, no object-fit stage. The image's intrinsic
   ratio alone controls its rendered height. */
@media (max-width:800px){
  .hero{overflow:visible!important;}
  .hero-carousel{display:none!important;}
  .mobile-hero-carousel{
    display:block!important;
    position:relative!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:auto!important;
    overflow:visible!important;
    background:#000!important;
    line-height:0!important;
  }
  .mobile-hero-carousel #mobile-hero-image{
    position:static!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    object-fit:fill!important;
    object-position:initial!important;
    margin:0!important;
    padding:0!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    clip:auto!important;
    clip-path:none!important;
    -webkit-mask-image:none!important;
    mask-image:none!important;
  }
  .hero-inner{
    position:relative!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:42px 7% 58px!important;
    background:#000!important;
  }
}

/* ===== V6.15 MOBILE HEADER / HERO FLOW FIX =====
   Root cause: the global header is position:fixed, so the mobile hero begins at
   document y=0 underneath the 72px header. Pull-to-refresh exposes the hidden
   pixels, which is why the full source frame becomes visible while dragging.
   On mobile the header now participates in layout as sticky, reserving its own
   72px before the hero while remaining pinned during scroll. */
@media (max-width:800px){
  .site-header{
    position:sticky!important;
    top:0!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    width:100%!important;
    height:72px!important;
    z-index:500!important;
    background:#0a0a09!important;
  }
  .hero{
    margin-top:0!important;
    padding-top:0!important;
  }
  .mobile-hero-carousel{
    margin-top:0!important;
  }
}

/* ===== V6.16 MOBILE HERO SLIDING LOOP =====
   Mobile now has its own true horizontal carousel. The viewport is sized to the
   tallest source frame, each image is fully contained, and the track translates
   right-to-left. A cloned first panel makes the loop seamless. */
@media (max-width:800px){
  .mobile-hero-carousel{
    display:block!important;
    position:relative!important;
    width:100%!important;
    aspect-ratio:2048 / 1019!important;
    height:auto!important;
    overflow:hidden!important;
    background:#000!important;
    line-height:0!important;
    margin:0!important;
  }
  .mobile-hero-track{
    display:flex!important;
    width:100%!important;
    height:100%!important;
    transform:translate3d(0,0,0);
    will-change:transform;
  }
  .mobile-hero-panel{
    flex:0 0 100%!important;
    width:100%!important;
    height:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    background:#000!important;
  }
  .mobile-hero-panel img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    clip:auto!important;
    clip-path:none!important;
    -webkit-mask-image:none!important;
    mask-image:none!important;
  }
}
