
:root{
  --black:#060708; --black2:#0b0c0e; --panel:#111214; --panel2:#17181b;
  --white:#f7f7f5; --muted:#b5b5b5; --soft:#7f7f84;
  --red:#ef2f32; --red2:#b20e18; --line:#2a2b2f; --paper:#f3f0ea;
  --max:1240px; --radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--white);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}
img{display:block;max-width:100%}
a{color:inherit}
.wrap{width:min(var(--max),calc(100% - 40px));margin-inline:auto}
.display{font-family:"Arial Narrow","Helvetica Neue Condensed Bold",Impact,Haettenschweiler,sans-serif;text-transform:uppercase;letter-spacing:-.035em;line-height:.9;margin:0}
.kicker{font-size:.76rem;text-transform:uppercase;letter-spacing:.17em;font-weight:900;color:var(--red)}
.rule{height:4px;width:84px;background:var(--red);margin:17px 0}
.muted{color:var(--muted)}
.red{color:var(--red)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 20px;border-radius:999px;text-decoration:none;font-size:.82rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase;border:1px solid #3b3c40;transition:.2s ease}
.btn:hover{transform:translateY(-2px);border-color:#777}
.btn-primary{background:var(--red);border-color:var(--red);color:#fff}
.btn-primary:hover{background:#ff3c3f}
.nav{position:sticky;top:0;z-index:60;background:rgba(6,7,8,.94);backdrop-filter:blur(12px);border-bottom:1px solid #202125}
.nav-inner{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:950;white-space:nowrap}
.brand-mark{width:18px;height:18px;background:var(--red);display:block;transform:skewX(-12deg)}
.nav-links{display:flex;align-items:center;gap:22px;font-size:.84rem;font-weight:750}
.nav-links a{text-decoration:none;color:#d0d0d0}
.nav-links a:hover,.nav-links a.active{color:#fff}
.nav-cta{background:var(--red);padding:10px 15px;border-radius:999px;color:white!important}
.menu{display:none;background:transparent;color:#fff;border:1px solid #35363a;border-radius:8px;padding:8px 11px}
.hero{position:relative;min-height:800px;display:flex;align-items:center;overflow:hidden}
.hero-media{position:absolute;inset:0}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.78) 44%,rgba(0,0,0,.30) 72%,rgba(0,0,0,.12) 100%)}
.hero-grid{position:relative;z-index:2;padding:110px 0 90px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center}
.hero h1{font-size:clamp(4rem,7.7vw,7.7rem);max-width:840px}
.hero h2{font-size:clamp(1.45rem,2.3vw,2.2rem);line-height:1.18;margin:28px 0 16px;max-width:760px}
.hero p{color:#d0d0d0;font-size:1.05rem;max-width:760px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.hero-stamp{justify-self:end;align-self:end;margin-bottom:20px;border-left:4px solid var(--red);padding:14px 0 14px 20px;max-width:340px;color:#d8d8d8;font-weight:750}
.proofbar{border-top:1px solid #242529;border-bottom:1px solid #242529;background:#0b0c0e}
.proofgrid{display:grid;grid-template-columns:repeat(5,1fr)}
.proof{padding:22px 18px;border-right:1px solid #25262a}
.proof:last-child{border-right:0}
.proof strong{font-size:1.1rem;display:block}
.proof span{display:block;color:#888;font-size:.74rem;text-transform:uppercase;letter-spacing:.07em;margin-top:4px}
section{padding:100px 0}
.section-head{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:end;margin-bottom:50px}
.section-head h2{font-size:clamp(3.2rem,6.2vw,6.5rem)}
.section-head p{color:#bdbdbd;font-size:1.04rem;margin:0;max-width:680px}
.dark-alt{background:#0b0c0e;border-top:1px solid #1d1e22;border-bottom:1px solid #1d1e22}
.paper{background:var(--paper);color:#111}
.paper .section-head p,.paper .bodycopy{color:#555}
.photo-break{position:relative;min-height:520px;overflow:hidden}
.photo-break img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.photo-break:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.24))}
.photo-break-copy{position:relative;z-index:2;padding:120px 0;max-width:660px}
.photo-break-copy h2{font-size:clamp(3rem,6vw,6rem)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:25px}
.card h3{margin:5px 0 12px;font-size:1.3rem}
.card p{color:#bcbcbc;margin:0}
.card .num{font-family:"Arial Narrow",Impact,sans-serif;color:var(--red);font-size:2.8rem;line-height:1;font-weight:950}
.card-paper{background:#fff;border:1px solid #ddd8d1}
.card-paper p{color:#555}
.case-preview-grid,.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.case-card{border:1px solid #2b2c30;border-radius:16px;background:#0b0c0e;overflow:hidden;min-width:0;transition:.2s ease}
.case-card:hover{transform:translateY(-3px);border-color:#555}
.case-card img{width:100%;aspect-ratio:16/10;object-fit:cover}
.case-copy{padding:18px}
.case-copy .sector{font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;color:var(--red);font-weight:900}
.case-copy h3{font-size:1.1rem;line-height:1.15;margin:8px 0 5px}
.case-copy .location{font-size:.78rem;color:#7e7e83;margin-bottom:10px}
.case-copy p{font-size:.87rem;color:#b8b8b8;margin:0}
.filterbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.filterbar button{background:#101114;border:1px solid #2e3035;color:#cfcfcf;border-radius:999px;padding:9px 13px;cursor:pointer;font-weight:800;font-size:.76rem}
.filterbar button.active,.filterbar button:hover{background:var(--red);border-color:var(--red);color:#fff}
.megagrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.mega{background:#0c0d0f;border:1px solid #28292e;border-radius:16px;padding:24px;min-height:210px}
.mega h3{font-size:1.35rem;margin:10px 0}
.mega p{color:#adadb0;margin:0}
.mega .icon{font-size:2rem;color:var(--red)}
.industry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.industry{display:block;text-decoration:none;padding:21px;border:1px solid #2d2e32;border-radius:14px;background:#0b0c0e;transition:.2s ease}
.industry:hover{transform:translateY(-2px);border-color:var(--red)}
.industry strong{display:block;font-size:1.05rem}
.industry span{display:block;color:#8e8e93;font-size:.82rem;margin-top:7px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.split-media{border-radius:var(--radius);overflow:hidden;border:1px solid #303136}
.split-media img{width:100%;aspect-ratio:4/3;object-fit:cover}
.quote{font-size:clamp(1.8rem,3vw,3rem);font-weight:850;line-height:1.15}
.process{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:26px}
.process div{background:#101114;border:1px solid #292a2e;border-radius:10px;padding:15px 9px;text-align:center;font-weight:900;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em}
.process div:nth-child(2),.process div:nth-child(6){background:var(--red);border-color:var(--red)}
.cta{background:var(--red);padding:80px 0}
.cta-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center}
.cta h2{font-size:clamp(3.5rem,6vw,6.8rem)}
.cta p{font-size:1.08rem;max-width:720px}
.cta .btn{background:#fff;color:#111;border-color:#fff}
.photo-mosaic{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:10px}
.photo-mosaic img{width:100%;height:100%;min-height:260px;object-fit:cover;border-radius:12px}
.photo-mosaic img:first-child{grid-row:span 2;min-height:530px}
.video-frame{position:relative;padding-top:56.25%;border-radius:18px;overflow:hidden;border:1px solid #2d2f34;background:#111}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.footer{border-top:1px solid #202125;padding:34px 0;color:#737378;font-size:.8rem}
.footer-grid{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.page-hero{padding:115px 0 78px;border-bottom:1px solid #25262a;position:relative;overflow:hidden}
.page-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 18%,rgba(239,47,50,.19),transparent 33%)}
.page-hero .wrap{position:relative}
.page-hero h1{font-size:clamp(4rem,7.5vw,7rem);max-width:960px}
.page-hero p{font-size:1.1rem;color:#bbb;max-width:780px}
.kpi-band{background:var(--red);color:white;padding:30px;border-radius:18px;display:grid;grid-template-columns:.65fr 1.35fr;gap:30px;align-items:center}
.kpi-band .big{font-family:"Arial Narrow",Impact,sans-serif;font-size:5.8rem;line-height:.8;font-weight:950}
.kpi-band p{margin:0}
.small-note{font-size:.8rem;color:#777}
@media(max-width:980px){
 .nav-links{display:none}.menu{display:block}.nav-links.open{display:flex;position:absolute;left:0;right:0;top:72px;background:#08090a;padding:18px 20px;flex-direction:column;align-items:flex-start;border-bottom:1px solid #222}
 .hero-grid,.section-head,.split,.cta-grid{grid-template-columns:1fr}
 .hero-stamp{justify-self:start}
 .proofgrid{grid-template-columns:repeat(2,1fr)}
 .cards,.case-preview-grid,.case-grid,.megagrid,.industry-grid{grid-template-columns:1fr 1fr}
 .process{grid-template-columns:repeat(3,1fr)}
 .photo-mosaic{grid-template-columns:1fr 1fr}
 .photo-mosaic img:first-child{grid-row:auto;grid-column:1/-1;min-height:360px}
}
@media(max-width:640px){
 .wrap{width:calc(100% - 26px)}
 section{padding:74px 0}
 .hero{min-height:720px}.hero-grid{padding:90px 0 60px}
 .hero h1{font-size:clamp(3.4rem,16vw,5.2rem)}
 .proofgrid,.cards,.case-preview-grid,.case-grid,.megagrid,.industry-grid,.photo-mosaic{grid-template-columns:1fr}
 .proof{border-right:0;border-bottom:1px solid #25262a}
 .process{grid-template-columns:1fr 1fr}
 .kpi-band{grid-template-columns:1fr}
}


/* ABOUT JIM — reusable authority modules */
.about-jim{
  background:#0b0c0e;
  border-top:1px solid #1f2024;
  border-bottom:1px solid #1f2024;
}
.about-jim-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:54px;
  align-items:center;
}
.about-jim-media{
  position:relative;
  border-radius:18px;
  overflow:hidden;
  border:1px solid #2d2e33;
  min-height:470px;
}
.about-jim-media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.about-jim-media:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 54%,rgba(0,0,0,.74) 100%);
}
.about-jim-copy h2{
  font-size:clamp(3rem,5.2vw,5.5rem);
}
.about-jim-copy p{
  color:#bdbdbd;
  max-width:720px;
}
.about-jim-proof{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:9px;
  margin:24px 0 28px;
}
.about-jim-proof div{
  border:1px solid #2a2b2f;
  background:#101114;
  border-radius:12px;
  padding:15px;
}
.about-jim-proof strong{
  display:block;
  color:#fff;
  font-size:1.05rem;
}
.about-jim-proof span{
  display:block;
  margin-top:4px;
  color:#85858a;
  font-size:.69rem;
  line-height:1.3;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.about-jim-compact{
  background:#0b0c0e;
  border-top:1px solid #202125;
}
.about-jim-compact-inner{
  display:grid;
  grid-template-columns:220px 1fr auto;
  gap:28px;
  align-items:center;
}
.about-jim-compact img{
  width:220px;
  height:150px;
  object-fit:cover;
  border-radius:14px;
  border:1px solid #303136;
}
.about-jim-compact h2{
  font-size:clamp(2.2rem,3.6vw,3.7rem);
}
.about-jim-compact p{
  margin:8px 0 0;
  color:#adadb1;
  max-width:780px;
  font-size:.94rem;
}
.about-jim-compact .btn{
  white-space:nowrap;
}
@media(max-width:980px){
  .about-jim-grid{grid-template-columns:1fr}
  .about-jim-media{min-height:390px}
  .about-jim-compact-inner{grid-template-columns:180px 1fr}
  .about-jim-compact img{width:180px}
  .about-jim-compact .about-action{grid-column:1/-1}
}
@media(max-width:640px){
  .about-jim-proof{grid-template-columns:1fr}
  .about-jim-compact-inner{grid-template-columns:1fr}
  .about-jim-compact img{width:100%;height:220px}
}


/* WHY JIM — AI-specific hero */
.why-ai-hero{
  min-height:740px;
  display:flex;
  align-items:center;
  background:
    linear-gradient(90deg,rgba(6,7,8,.98) 0%,rgba(6,7,8,.91) 60%,rgba(48,8,11,.74) 100%),
    url("../stage/stage-03.jpg") center right/cover no-repeat;
}
.why-ai-hero:before{
  background:
    linear-gradient(115deg,transparent 58%,rgba(239,47,50,.08) 58%,rgba(239,47,50,.08) 68%,transparent 68%),
    radial-gradient(circle at 84% 20%,rgba(239,47,50,.16),transparent 31%);
}
.why-ai-hero .wrap{
  padding-top:30px;
  padding-bottom:30px;
}
.why-ai-hero h1{
  max-width:1110px;
  font-size:clamp(4rem,7.2vw,7.25rem);
}
.why-ai-hero .ai-now{
  display:inline-block;
  margin-top:12px;
  color:#fff;
  font-size:.68em;
  letter-spacing:-.025em;
}
.why-ai-lede{
  max-width:850px!important;
  color:#d0d0d0!important;
  font-size:1.08rem!important;
  margin-top:26px!important;
}
.why-ai-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:20px;
}
.why-ai-tags span{
  border:1px solid #37383d;
  background:rgba(11,12,14,.86);
  border-radius:999px;
  padding:8px 11px;
  font-size:.68rem;
  line-height:1;
  font-weight:900;
  letter-spacing:.08em;
  color:#c9c9cc;
}
.why-ai-tags span:first-child{
  background:var(--red);
  border-color:var(--red);
  color:#fff;
}
@media(max-width:640px){
  .why-ai-hero{min-height:auto;background-position:70% center}
  .why-ai-hero h1{font-size:clamp(3.3rem,15vw,5rem)}
  .why-ai-hero .ai-now{font-size:.72em}
}


/* Homepage priority AI authority section */
.about-jim-priority{
  padding-top:96px;
  padding-bottom:96px;
  background:
    radial-gradient(circle at 12% 18%,rgba(239,47,50,.09),transparent 24%),
    #0b0c0e;
}
.about-jim-priority .about-jim-copy h2{
  max-width:760px;
}
.about-jim-priority .about-ai-now{
  display:inline-block;
  margin-top:12px;
  color:#fff;
  font-size:.76em;
  letter-spacing:-.025em;
}
.about-jim-priority .about-jim-media{
  min-height:520px;
}
@media(max-width:640px){
  .about-jim-priority{
    padding-top:70px;
    padding-bottom:70px;
  }
  .about-jim-priority .about-ai-now{
    font-size:.8em;
  }
}


/* V4 — substantive two-paragraph AI case studies */
.case-grid{
  grid-template-columns:repeat(2,1fr);
}
.case-copy p + p{
  margin-top:13px;
  color:#a7a7aa;
}
.case-copy p{
  line-height:1.58;
}
@media(max-width:760px){
  .case-grid{grid-template-columns:1fr}
}
