/* Rhino Specialty Services — official brand palette
   Dark green + silver/gray + bright white text on dark backgrounds
   No yellow. Heavy, industrial, premium. */
:root{
  /* Brand greens */
  --rhino-green:#1f4a11;
  --rhino-green-deep:#143006;
  --rhino-green-bright:#2d6e1f;
  --rhino-green-cta:#3d8a1c;
  --rhino-green-glow:#4ea826;

  /* Backgrounds */
  --rhino-black:#0d0d0d;
  --rhino-charcoal:#1a1a1a;
  --rhino-grey-dark:#242424;
  --rhino-grey:#3a3a3a;

  /* Metals & silver */
  --rhino-silver:#c8c8c8;
  --rhino-silver-light:#e8e8e8;
  --rhino-silver-muted:#888;

  /* Text */
  --rhino-text:#ffffff;
  --rhino-text-muted:#bcbcbc;

  /* Borders */
  --rhino-border:#2a2a2a;
  --rhino-border-light:#444;
}
/* Headline font: Copperplate (matches Rhino logo) with web-safe fallbacks.
   Copperplate is a macOS/iOS system font; Cinzel is the Google Fonts fallback;
   serif fallbacks for everything else. */
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@600;800;900&display=swap');

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Helvetica Neue','Arial',sans-serif;background:var(--rhino-black);color:var(--rhino-text);line-height:1.6}

/* Copperplate headlines */
h1,h2,h3,.brand span,.stat .label,nav.main a,.btn,.topbar{
  font-family:'Copperplate','Copperplate Gothic Bold','Copperplate Gothic Light','Cinzel',Georgia,serif;
  letter-spacing:.08em;
}
a{color:var(--rhino-silver-light);text-decoration:none}
a:hover{color:#fff;text-decoration:underline}
img{max-width:100%;display:block}

/* Top bar */
.topbar{background:#000;color:#fff;padding:.5rem 1.25rem;font-size:.85rem;text-align:right;letter-spacing:.04em;border-bottom:1px solid var(--rhino-border)}
.topbar a{color:#fff}

/* Header / nav */
header.site{background:var(--rhino-charcoal);border-bottom:3px solid var(--rhino-green);padding:.85rem 1.25rem;position:sticky;top:0;z-index:99}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;max-width:1400px;margin:0 auto;flex-wrap:wrap;gap:1rem}
.brand{display:flex;align-items:center;gap:.75rem;color:#fff;font-weight:900;font-size:1.25rem;letter-spacing:.08em;text-transform:uppercase}
.brand .logo{width:48px;height:48px;background:var(--rhino-green);border-radius:6px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;font-size:1.5rem;border:1px solid var(--rhino-green-bright)}
nav.main ul{list-style:none;display:flex;gap:1.5rem;flex-wrap:wrap;align-items:center}
nav.main a{color:var(--rhino-silver);font-size:.84rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.4rem 0;border-bottom:3px solid transparent;transition:.2s}
nav.main a:hover,nav.main a.active{border-bottom-color:var(--rhino-green-bright);color:#fff;text-decoration:none}
nav.main .has-dropdown::after{content:" ⌄";font-size:.7rem;color:var(--rhino-silver-muted)}

/* HERO — green panel left + photo right (matches live site) */
.hero-split{display:grid;grid-template-columns:1fr 1fr;min-height:540px}
.hero-left{background:linear-gradient(135deg,var(--rhino-green) 0%,var(--rhino-green-deep) 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;color:#fff;position:relative}
.hero-left::before{content:"";position:absolute;inset:1.5rem;border:1px solid rgba(255,255,255,.15);border-radius:4px;pointer-events:none}
.rhino-shield{width:240px;height:240px;background:rgba(0,0,0,.25);border:2px solid rgba(255,255,255,.4);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;position:relative}
.rhino-shield .horn{position:absolute;color:#fff;font-size:5rem;font-weight:900}
.rhino-shield .name{position:absolute;bottom:25%;color:#fff;font-size:1.1rem;font-weight:900;letter-spacing:.2em}
.hero-left h1{font-size:clamp(1.6rem,2.8vw,2.4rem);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.85rem;color:#fff;font-weight:900;line-height:1.15}
.hero-left h1 .hero-accent{color:var(--rhino-silver-light);display:inline-block}
.hero-left .hero-sub{color:#fff;font-size:1.05rem;font-style:italic;letter-spacing:.02em;max-width:520px;margin-bottom:1.6rem;line-height:1.45;text-shadow:0 1px 4px rgba(0,0,0,.5);font-weight:500}
.hero-left .cta-row{display:flex;gap:.8rem;flex-wrap:wrap;justify-content:center}
.hero-left .hero-badge{margin-top:1.5rem;display:inline-block;padding:.5rem 1rem;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.25);border-radius:3px;color:var(--rhino-silver-light);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
.hero-right{background:url('../images/hero-night-tandem.jpg') center/cover no-repeat;min-height:540px;position:relative}
.hero-right::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(31,74,17,.4) 0%,rgba(0,0,0,0) 35%)}

/* Nav highlight — makes priority tabs pop */
nav.main a.nav-highlight{color:var(--rhino-silver-light);background:linear-gradient(180deg,rgba(45,110,31,.18),rgba(45,110,31,.05));padding:.4rem .85rem;border:1px solid rgba(200,200,200,.18);border-bottom:3px solid var(--rhino-green-bright);border-radius:3px;letter-spacing:.08em}
nav.main a.nav-highlight:hover,nav.main a.nav-highlight.active{color:#fff;border-color:var(--rhino-green-glow);background:linear-gradient(180deg,rgba(78,168,38,.3),rgba(45,110,31,.12));text-decoration:none}

/* Feature band — Data Centers + Jekko priority offerings */
.feature-band{background:var(--rhino-charcoal);padding:3.5rem 1.25rem;border-bottom:1px solid var(--rhino-border)}
.feature-band .wrap{max-width:1200px;margin:0 auto}
.feature-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.feature-card{display:flex;flex-direction:column;justify-content:flex-end;min-height:300px;padding:2rem;border-radius:8px;background-size:cover;background-position:center;border:2px solid var(--rhino-silver-muted);box-shadow:0 8px 24px rgba(0,0,0,.55);color:#fff;text-decoration:none;transition:.3s;position:relative;overflow:hidden}
.feature-card:hover{border-color:var(--rhino-green-glow);transform:translateY(-6px);box-shadow:0 16px 36px rgba(78,168,38,.25);text-decoration:none}
.feature-eyebrow{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--rhino-green-glow);font-weight:800;margin-bottom:.4rem}
.feature-card h3{font-size:clamp(1.5rem,2.6vw,2rem);text-transform:uppercase;letter-spacing:.06em;color:#fff;margin-bottom:.6rem;font-weight:900;text-shadow:0 2px 8px rgba(0,0,0,.6)}
.feature-card p{color:rgba(255,255,255,.92);font-size:.98rem;margin-bottom:1rem;line-height:1.5;max-width:480px}
.feature-cta{font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--rhino-silver-light);border-top:1px solid rgba(255,255,255,.2);padding-top:.7rem;display:inline-block}
.feature-card:hover .feature-cta{color:#fff}

/* Buttons — green + silver, no yellow */
.btn{display:inline-block;padding:.95rem 1.9rem;border-radius:3px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.82rem;border:none;cursor:pointer;transition:.2s;font-family:inherit}
.btn-primary{background:var(--rhino-green-cta);color:#fff;border:1px solid var(--rhino-green-bright)}
.btn-primary:hover{background:var(--rhino-green-glow);text-decoration:none;transform:translateY(-2px);box-shadow:0 4px 12px rgba(31,74,17,.4)}
.btn-secondary{background:transparent;color:#fff;border:2px solid #fff}
.btn-secondary:hover{background:#fff;color:var(--rhino-green);text-decoration:none}
.btn-silver{background:var(--rhino-silver);color:var(--rhino-black);border:1px solid var(--rhino-silver-light)}
.btn-silver:hover{background:#fff;text-decoration:none;transform:translateY(-2px)}
.btn-green{background:var(--rhino-green);color:#fff;border:1px solid var(--rhino-green-bright)}
.btn-green:hover{background:var(--rhino-green-bright);text-decoration:none}

/* Sections — DARK backgrounds, white text */
section.block{padding:5rem 1.25rem;background:var(--rhino-black);color:#fff}
section.block .wrap{max-width:1200px;margin:0 auto}
section.block h2{font-size:clamp(1.8rem,3.4vw,2.8rem);text-transform:uppercase;letter-spacing:.06em;color:#fff;margin-bottom:.5rem;text-align:center;font-weight:900}
section.block h2 .accent{color:var(--rhino-green-glow)}
section.block p.lead{text-align:center;color:var(--rhino-text-muted);max-width:780px;margin:0 auto 3rem;font-size:1.1rem}

section.charcoal{background:var(--rhino-charcoal)}
section.green-section{background:linear-gradient(135deg,var(--rhino-green) 0%,var(--rhino-green-deep) 100%);color:#fff}
section.green-section h2{color:#fff}
section.green-section p.lead{color:rgba(255,255,255,.85)}

/* Service cards — circular images with green ring */
.service-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2.5rem;margin-top:1rem}
.service-card{text-align:center;padding:1rem;color:#fff}
.service-card .circle{width:240px;height:240px;border-radius:50%;background:var(--rhino-green);margin:0 auto 1.5rem;overflow:hidden;border:4px solid var(--rhino-green-bright);box-shadow:0 6px 18px rgba(0,0,0,.4);transition:.3s}
.service-card .circle img{width:100%;height:100%;object-fit:cover}
.service-card:hover .circle{transform:translateY(-6px);box-shadow:0 12px 28px rgba(31,74,17,.5);border-color:var(--rhino-green-glow)}
.service-card h3{color:#fff;font-size:1.35rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.8rem;font-weight:900}
.service-card p{color:var(--rhino-text-muted);margin-bottom:1.2rem;font-size:.95rem;line-height:1.6}

/* Trust list — dark card */
.trust{max-width:760px;margin:0 auto;background:var(--rhino-charcoal);border:1px solid var(--rhino-border-light);border-radius:8px;padding:2.5rem;color:#fff;box-shadow:0 4px 16px rgba(0,0,0,.3)}
.trust ul{list-style:none}
.trust li{padding:.95rem 0;border-bottom:1px solid var(--rhino-border);display:flex;gap:.85rem;align-items:flex-start;color:var(--rhino-text-muted)}
.trust li:last-child{border-bottom:none}
.trust li::before{content:"▸";color:var(--rhino-green-glow);font-weight:900;flex-shrink:0;font-size:1.1rem}
.trust li strong{color:#fff;font-weight:800;letter-spacing:.04em;text-transform:uppercase;font-size:.95rem;margin-right:.4rem;display:inline}

/* Stats — silver numbers */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:2rem;text-align:center;max-width:1000px;margin:0 auto}
.stat .num{font-size:clamp(2.8rem,5vw,4.5rem);color:#fff;font-weight:900;line-height:1;font-family:'Helvetica Neue',sans-serif;text-shadow:0 0 16px rgba(78,168,38,.3)}
.stat .label{margin-top:.6rem;color:var(--rhino-silver);text-transform:uppercase;letter-spacing:.12em;font-size:.85rem;font-weight:700}

/* CTA block */
.cta-block{text-align:center;background:linear-gradient(135deg,var(--rhino-green) 0%,var(--rhino-green-deep) 100%);padding:4rem 1.5rem;border-radius:8px;color:#fff;border:1px solid var(--rhino-green-bright)}
.cta-block h2{color:#fff !important}
.cta-block p{color:rgba(255,255,255,.9);max-width:600px;margin:0 auto 1.8rem;font-size:1.05rem}

/* Data center feature row */
.dc-feature{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;max-width:1200px;margin:0 auto}
.dc-feature img{border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.5);border:1px solid var(--rhino-border-light)}
.dc-feature h3{color:#fff;font-size:1.7rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem;font-weight:900}
.dc-feature p{color:rgba(255,255,255,.92);margin-bottom:1.5rem;font-size:1.05rem}

/* Gallery */
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;max-width:1200px;margin:0 auto}
.gallery img{aspect-ratio:4/3;object-fit:cover;border-radius:6px;transition:.3s;cursor:pointer;border:1px solid var(--rhino-border)}
.gallery img:hover{transform:scale(1.03);border-color:var(--rhino-green-bright);box-shadow:0 8px 20px rgba(0,0,0,.5)}

/* Lightbox modal slideshow */
.lb-overlay{position:fixed;inset:0;background:rgba(0,0,0,.94);z-index:9999;display:none;align-items:center;justify-content:center;padding:2rem;animation:lb-fade .25s ease-out}
.lb-overlay.open{display:flex}
@keyframes lb-fade{from{opacity:0}to{opacity:1}}
.lb-stage{position:relative;max-width:1400px;max-height:90vh;width:100%;height:90vh;display:flex;align-items:center;justify-content:center}
.lb-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px;box-shadow:0 12px 40px rgba(0,0,0,.7);animation:lb-pop .3s ease-out}
@keyframes lb-pop{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
.lb-caption{position:absolute;bottom:-2.5rem;left:0;right:0;text-align:center;color:#fff;font-size:.95rem;text-shadow:0 2px 4px rgba(0,0,0,.8);padding:0 1rem}
.lb-counter{position:absolute;top:-2.25rem;left:0;color:var(--rhino-silver-light);font-size:.85rem;letter-spacing:.05em}
.lb-btn{position:absolute;background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s;z-index:2;line-height:1;font-weight:300}
.lb-btn:hover{background:var(--rhino-green);border-color:var(--rhino-green-bright);transform:scale(1.05)}
.lb-prev,.lb-next{top:50%;transform:translateY(-50%);width:56px;height:56px;font-size:1.8rem}
.lb-prev{left:-1.5rem}
.lb-next{right:-1.5rem}
.lb-prev:hover,.lb-next:hover{transform:translateY(-50%) scale(1.05)}
.lb-close{top:-2.5rem;right:0;width:40px;height:40px;font-size:1.4rem}
.lb-autoplay{position:absolute;top:-2.5rem;right:3rem;background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:20px;padding:.35rem .9rem;font-size:.8rem;cursor:pointer;letter-spacing:.05em;text-transform:uppercase;transition:.2s;display:flex;align-items:center;gap:.4rem}
.lb-autoplay:hover{background:var(--rhino-green);border-color:var(--rhino-green-bright)}
.lb-autoplay.playing{background:var(--rhino-green);border-color:var(--rhino-green-bright)}
body.lb-locked{overflow:hidden}
@media (max-width:768px){.lb-prev{left:.25rem}.lb-next{right:.25rem}.lb-prev,.lb-next{width:44px;height:44px;font-size:1.4rem}.lb-close{top:-2.75rem;right:.25rem}.lb-autoplay{top:-2.75rem;right:3.5rem;font-size:.7rem;padding:.3rem .7rem}.lb-counter{top:-2.5rem}.lb-overlay{padding:3.5rem 1rem 3rem}}

/* Footer */
footer.site{background:#000;color:var(--rhino-silver-muted);padding:3.5rem 1.25rem 1.5rem;border-top:3px solid var(--rhino-green)}
footer.site .wrap{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem}
footer.site h4{color:#fff;text-transform:uppercase;letter-spacing:.08em;margin-bottom:1rem;font-size:.95rem;font-weight:900;border-bottom:1px solid var(--rhino-green);padding-bottom:.5rem}
footer.site a{color:var(--rhino-silver);display:block;padding:.3rem 0}
footer.site a:hover{color:#fff}
footer.site .copy{grid-column:1 / -1;text-align:center;border-top:1px solid var(--rhino-border);padding-top:1.5rem;margin-top:1.5rem;font-size:.85rem;color:var(--rhino-silver-muted)}

/* Page hero (interior pages) */
.page-hero{background:linear-gradient(180deg,rgba(20,48,6,.85),rgba(0,0,0,.92)),url('../images/hero-crane-sunset.jpg') center/cover no-repeat;padding:5rem 1.25rem;text-align:center;color:#fff;border-bottom:3px solid var(--rhino-green)}
.page-hero h1{color:#fff;text-transform:uppercase;letter-spacing:.07em;font-size:clamp(2rem,4.5vw,3rem);font-weight:900}
.page-hero p{color:var(--rhino-silver-light);margin-top:.6rem;font-size:1.15rem;letter-spacing:.04em}

/* Row layout for interior pages */
.row{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;margin:2rem 0;max-width:1200px;margin-left:auto;margin-right:auto}
.row img{border-radius:8px;box-shadow:0 6px 18px rgba(0,0,0,.5);border:1px solid var(--rhino-border-light)}

/* Interior content cards (dark) */
.card{background:var(--rhino-charcoal);border:1px solid var(--rhino-border-light);border-radius:8px;padding:1.8rem;transition:.2s;overflow:hidden;color:#fff}
.card:hover{border-color:var(--rhino-green-bright);transform:translateY(-4px)}
.card h3{color:#fff;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.8rem;font-size:1.15rem;font-weight:900}
.card p{color:var(--rhino-text-muted);margin-bottom:1rem;font-size:.95rem}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}

/* Form */
.form-card{background:var(--rhino-charcoal);border:1px solid var(--rhino-border-light);border-radius:8px;padding:1.8rem;max-width:560px;margin:0 auto;color:#fff}
.form-card label{display:block;color:var(--rhino-silver);font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.4rem;font-weight:700}
.form-card input,.form-card select,.form-card textarea{width:100%;padding:.75rem;background:var(--rhino-black);border:1px solid var(--rhino-border-light);color:#fff;border-radius:4px;margin-bottom:1rem;font-family:inherit;font-size:.95rem}
.form-card input:focus,.form-card select:focus,.form-card textarea:focus{outline:none;border-color:var(--rhino-green-bright)}

/* Mobile */
@media (max-width:900px){
  .hero-split{grid-template-columns:1fr;min-height:auto}
  .hero-right{min-height:320px}
  .dc-feature,.row{grid-template-columns:1fr;gap:2rem}
  .feature-cards{grid-template-columns:1fr;gap:1.25rem}
  .feature-card{min-height:240px;padding:1.5rem}
  nav.main ul{gap:.6rem;font-size:.72rem}
  nav.main a{font-size:.72rem}
  nav.main a.nav-highlight{padding:.3rem .6rem;font-size:.7rem}
  section.block{padding:3rem 1rem}
  .service-card .circle{width:200px;height:200px}
  .rhino-shield{width:180px;height:180px}
  .hero-left img[alt="Rhino Specialty Services"]{max-width:200px !important;margin-bottom:1rem !important}
  .hero-left h1{font-size:1.5rem}
  .gallery{grid-template-columns:repeat(2,1fr)}
}

/* Utility */
.text-center{text-align:center}
.mt-4{margin-top:2rem}
.mb-4{margin-bottom:2rem}
