:root{--yellow:#FFCC00;--yellow-dark:#E6B800;--ink:#0A0A0A;--paper:#FFFFFF;--grey:#F4F4F4;--muted:#6B6B6B;--maxw:1240px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{max-width:var(--maxw);margin:0 auto;padding:0 28px}
h1,h2,h3,h4{font-family:'Archivo Black',sans-serif;line-height:1.05;letter-spacing:-.01em}
h2{font-size:clamp(32px,5vw,56px);margin-bottom:20px}
h3{font-size:22px;margin-bottom:10px}
.eyebrow{font-weight:600;font-size:12px;letter-spacing:.25em;text-transform:uppercase;color:var(--ink);background:var(--yellow);display:inline-block;padding:6px 14px;margin-bottom:18px}
nav{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid #eee}
.nav-inner{display:flex;justify-content:space-between;align-items:center;padding:18px 28px;max-width:var(--maxw);margin:0 auto}
.logo{font-family:'Archivo Black',sans-serif;font-size:18px}
.logo span{background:var(--yellow);padding:2px 8px;margin-left:4px}
.nav-links{display:flex;gap:32px;font-weight:500;font-size:14px}
.nav-links a:hover,.nav-links a.active{color:var(--yellow-dark)}
.nav-cta{background:var(--ink);color:var(--paper);padding:10px 20px;font-weight:600;font-size:13px;transition:.2s}
.nav-cta:hover{background:var(--yellow);color:var(--ink)}
.hero{position:relative;padding:90px 0 110px;overflow:hidden}
.hero::before{content:"";position:absolute;left:0;top:0;bottom:0;width:18px;background:var(--yellow)}
.hero-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:center}
.hero h1{font-size:clamp(44px,7vw,92px);text-transform:uppercase}
.hero h1 .accent{background:var(--yellow);padding:0 12px;display:inline-block}
.hero p.lead{font-family:'Fraunces',serif;font-size:20px;color:#333;margin:28px 0 36px;max-width:560px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-block;padding:16px 28px;font-weight:600;font-size:14px;letter-spacing:.05em;text-transform:uppercase;transition:.2s;border:2px solid var(--ink);cursor:pointer}
.btn-primary{background:var(--ink);color:var(--paper)}
.btn-primary:hover{background:var(--yellow);color:var(--ink)}
.btn-ghost{background:transparent;color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--paper)}
.hero-card{background:var(--ink);color:var(--paper);padding:36px;position:relative}
.hero-card::after{content:"";position:absolute;top:-14px;right:-14px;width:60px;height:60px;background:var(--yellow);z-index:-1}
.hero-card h3{color:var(--yellow);font-size:14px;letter-spacing:.2em;margin-bottom:18px}
.stat{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid #2a2a2a}
.stat:last-child{border:0}
.stat strong{font-family:'Archivo Black',sans-serif;font-size:22px;color:var(--yellow)}
section{padding:100px 0}
.section-grey{background:var(--grey)}
.section-dark{background:var(--ink);color:var(--paper)}
.section-dark h2,.section-dark h3,.section-dark h4{color:var(--paper)}
.section-dark .eyebrow{background:var(--yellow);color:var(--ink)}
.page-header{background:var(--ink);color:var(--paper);padding:90px 0 80px;border-bottom:6px solid var(--yellow)}
.page-header h1{font-size:clamp(44px,6vw,80px);text-transform:uppercase}
.page-header h1 .accent{background:var(--yellow);color:var(--ink);padding:0 12px}
.page-header p{font-family:'Fraunces',serif;font-size:20px;max-width:680px;margin-top:24px;color:#ccc}
.crumbs{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--yellow);margin-bottom:20px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.text-block p{font-size:17px;color:#333;margin-bottom:18px}
.section-dark .text-block p{color:#ccc}
.about-visual{aspect-ratio:1;background:linear-gradient(135deg,var(--yellow) 0%,var(--yellow) 50%,var(--ink) 50%,var(--ink) 100%);display:flex;align-items:center;justify-content:center}
.about-visual span{font-family:'Archivo Black',sans-serif;font-size:84px;color:var(--paper);mix-blend-mode:difference;letter-spacing:-.02em}
.badge-strip{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.badge{background:var(--ink);color:var(--paper);padding:8px 14px;font-size:12px;font-weight:600;letter-spacing:.05em}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:50px}
.service-card{background:var(--paper);padding:36px 28px;border:2px solid var(--ink);transition:.25s;display:block;color:var(--ink)}
.service-card:hover{background:var(--yellow);transform:translate(-4px,-4px);box-shadow:8px 8px 0 var(--ink)}
.service-num{font-family:'Archivo Black',sans-serif;font-size:42px;color:var(--yellow-dark);margin-bottom:12px}
.service-card:hover .service-num{color:var(--ink)}
.service-card p{font-size:15px;color:#444}
.service-card .arrow{display:block;margin-top:18px;font-weight:700;font-size:13px;letter-spacing:.1em}
.industries{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:50px}
.industry{background:#1a1a1a;padding:30px 16px;text-align:center;border-top:3px solid var(--yellow);transition:.2s;color:var(--paper)}
.industry:hover{background:var(--yellow);color:var(--ink)}
.industry strong{display:block;font-family:'Archivo Black',sans-serif;font-size:14px;text-transform:uppercase;letter-spacing:.05em}
.process{display:grid;grid-template-columns:repeat(5,1fr);margin-top:50px;border:2px solid var(--ink)}
.step{padding:30px 20px;border-right:2px solid var(--ink);background:var(--paper)}
.step:last-child{border-right:0;background:var(--yellow)}
.step-num{font-family:'Archivo Black',sans-serif;font-size:32px;color:var(--yellow-dark);margin-bottom:8px}
.step:last-child .step-num{color:var(--ink)}
.step h4{font-family:'Archivo Black',sans-serif;font-size:14px;text-transform:uppercase;margin-bottom:6px}
.step p{font-size:13px;color:#555}
.commit-block{background:var(--yellow);padding:80px 60px}
.commit-block h2{font-size:clamp(32px,5vw,56px);max-width:800px}
.commit-block p{font-size:18px;max-width:720px;margin-top:24px;color:#1a1a1a}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:40px}
.contact-info p{margin-bottom:18px;font-size:16px}
.contact-info strong{font-family:'Archivo Black',sans-serif;display:block;font-size:11px;letter-spacing:.15em;color:var(--yellow);text-transform:uppercase;margin-bottom:2px}
form{display:grid;gap:16px}
input,textarea,select{background:#1a1a1a;border:1px solid #333;color:var(--paper);padding:16px;font-family:inherit;font-size:15px;border-bottom:2px solid var(--yellow)}
input:focus,textarea:focus{outline:0;border-bottom-color:var(--paper)}
textarea{min-height:140px;resize:vertical}
button[type=submit]{background:var(--yellow);color:var(--ink);border:0;padding:18px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;font-family:inherit;transition:.2s}
button[type=submit]:hover{background:var(--paper)}
.deep-list{margin-top:30px}
.deep-list li{list-style:none;padding:22px 0;border-bottom:1px solid #ddd;display:grid;grid-template-columns:60px 1fr;gap:20px}
.section-dark .deep-list li{border-bottom-color:#222}
.deep-list .n{font-family:'Archivo Black',sans-serif;font-size:24px;color:var(--yellow-dark)}
.deep-list h4{font-size:18px;margin-bottom:6px;text-transform:uppercase}
.deep-list p{color:#555;font-size:15px}
.section-dark .deep-list p{color:#aaa}
.cta-strip{background:var(--yellow);padding:60px 0;text-align:center}
.cta-strip h2{font-size:clamp(28px,4vw,44px);margin-bottom:20px}
footer{background:#000;color:#888;padding:40px 0;font-size:13px;text-align:center;border-top:4px solid var(--yellow)}
footer .logo{color:#fff;margin-bottom:10px;display:inline-block}
@media (max-width:880px){
  .nav-links{display:none}
  .hero-grid,.two-col,.contact-grid{grid-template-columns:1fr;gap:40px}
  .services-grid{grid-template-columns:1fr}
  .industries{grid-template-columns:repeat(2,1fr)}
  .process{grid-template-columns:1fr}
  .step{border-right:0;border-bottom:2px solid var(--ink)}
  .commit-block{padding:50px 30px}
  section{padding:70px 0}
}
/* Video hero */
.video-hero{position:relative;height:100vh;min-height:600px;overflow:hidden;color:var(--paper);display:flex;align-items:center}
.video-hero::before{content:"";position:absolute;left:0;top:0;bottom:0;width:18px;background:var(--yellow);z-index:3}
.video-hero video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0}
.video-hero .overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,0,0,.85) 0%,rgba(0,0,0,.55) 60%,rgba(0,0,0,.7) 100%);z-index:1}
.video-hero .container{position:relative;z-index:2}
.video-hero h1{font-size:clamp(48px,8vw,110px);text-transform:uppercase;line-height:.95}
.video-hero h1 .accent{background:var(--yellow);color:var(--ink);padding:0 14px;display:inline-block}
.video-hero p.lead{font-family:'Fraunces',serif;font-size:22px;color:#eee;margin:30px 0 40px;max-width:640px}
/* Team grid */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:50px}
.team-card{background:var(--ink);overflow:hidden;aspect-ratio:1;position:relative}
.team-card img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%) contrast(1.05);transition:.4s}
.team-card:hover img{filter:grayscale(0)}
.team-card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--yellow)}
/* Industry collage */
.collage{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:50px}
.collage img{width:100%;aspect-ratio:1;object-fit:cover;filter:grayscale(40%);transition:.3s}
.collage img:hover{filter:none;transform:scale(1.03)}
/* Founder */
.founder-img{width:100%;aspect-ratio:1;object-fit:cover;border:6px solid var(--yellow)}
@media (max-width:880px){
  .video-hero{height:auto;min-height:500px;padding:80px 0}
  .team-grid{grid-template-columns:repeat(2,1fr)}
  .collage{grid-template-columns:repeat(2,1fr)}
}
a,a:visited,a:hover,a:active{color:inherit;text-decoration:none}.about-visual{display:none}
.logo,.logo *,.logo span,a.logo,a.logo *{color:var(--ink) !important}.logo span{background:var(--yellow) !important;color:var(--ink) !important}
.nav-cta,a.nav-cta{color:#fff !important;background:var(--ink) !important}
.nav-cta:hover,a.nav-cta:hover{color:var(--ink) !important;background:var(--yellow) !important}
.btn-primary,a.btn-primary{color:#fff !important;background:var(--ink) !important;border-color:var(--ink) !important}
.btn-primary:hover,a.btn-primary:hover{color:var(--ink) !important;background:var(--yellow) !important;border-color:var(--yellow) !important}
.block-img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.team-grid,.team-card{display:none !important}
.team-pages{display:grid;grid-template-columns:1fr;gap:20px;margin-top:40px}
.team-pages img{width:100%;display:block;border:3px solid var(--yellow)}
@media(min-width:880px){.team-pages{grid-template-columns:repeat(3,1fr)}}
/* BULLETPROOF: nothing can overflow */
img,video{max-width:100% !important;height:auto !important;display:block}
.collage img{aspect-ratio:1;object-fit:cover;height:100% !important}
/* Clean text-only hero */
.hero-clean{background:var(--ink);color:var(--paper);padding:120px 0 100px;position:relative;overflow:hidden}
.hero-clean::before{content:"";position:absolute;left:0;top:0;bottom:0;width:18px;background:var(--yellow)}
.hero-clean::after{content:"RRINC";position:absolute;right:-30px;bottom:-60px;font-family:'Archivo Black',sans-serif;font-size:280px;color:#1a1a1a;line-height:.8;letter-spacing:-.03em;pointer-events:none}
.hero-clean .container{position:relative;z-index:2}
.hero-clean h1{font-size:clamp(60px,9vw,140px);text-transform:uppercase;line-height:.9;margin-top:20px}
.hero-clean h1 .accent{background:var(--yellow);color:var(--ink);padding:0 14px;display:inline-block}
.hero-clean p.lead{font-family:'Fraunces',serif;font-size:22px;color:#ccc;margin:36px 0 40px;max-width:680px}
.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:80px;padding-top:40px;border-top:2px solid #2a2a2a;max-width:780px}
.hero-stats strong{display:block;font-family:'Archivo Black',sans-serif;font-size:38px;color:var(--yellow)}
.hero-stats span{font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:#888}
@media(max-width:880px){.hero-stats{grid-template-columns:repeat(2,1fr)}.hero-clean::after{font-size:140px}}
.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:50px}
.photo-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-top:4px solid var(--yellow);filter:grayscale(30%);transition:.3s}
.photo-grid img:hover{filter:none;transform:scale(1.02)}
@media(max-width:880px){.photo-grid{grid-template-columns:repeat(2,1fr)}}

/* Team strips — full-width brochure-style team images, stacked */
.team-strips{display:flex;flex-direction:column;gap:30px;margin-top:50px;max-width:1100px;margin-left:auto;margin-right:auto}
.team-strips img{width:100%;max-width:1100px;height:auto;display:block;border:4px solid var(--yellow);background:#fff}
@media(max-width:880px){.team-strips{gap:20px}.team-strips img{border-width:3px}}
