/* Simple responsive styles inspired by a clean corporate layout */
:root{
  /* Color scheme matched to longhorn-global.css */
  --accent: #afbd21; /* brand green/yellow */
  --accent-dark: #717f10;
  --dark: #595959;
  --muted: #666666;
  --max-width:1100px;
  --white-text-outline: -2px -2px 0 rgba(0,0,0,0.96), 2px -2px 0 rgba(0,0,0,0.96), -2px 2px 0 rgba(0,0,0,0.96), 2px 2px 0 rgba(0,0,0,0.96), 0 0 4px rgba(0,0,0,0.75);
}
*{box-sizing:border-box}
body{font-family:Inter,Segoe UI,Arial,sans-serif;margin:0;color:var(--dark);line-height:1.5}
.hero .hero-inner,
.hero .hero-inner *,
.hero-banner,
.hero-banner *,
.cta-block,
.cta-block *,
.site-footer,
.site-footer *{text-shadow:var(--white-text-outline)}
.wrap{max-width:var(--max-width);margin:0 auto;padding:0 20px}
.site-header{background:#fff;border-bottom:1px solid #eee}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;padding:18px 0}
.logo img{height:53px}
.nav a{margin-left:18px;color:var(--dark);text-decoration:none;font-weight:700!important}
.region{display:flex;align-items:center;gap:8px}
.region a{display:inline-block}
.region img.flag{width:28px;height:18px;display:block;border-radius:3px;border:1px solid rgba(0,0,0,0.08)}
.container{padding:40px 20px}
.container.narrow{max-width:900px;margin:0 auto}
.hero{background:linear-gradient(90deg,rgba(184,75,26,0.08),transparent);padding:60px 0}
.hero-inner{max-width:900px;margin:0 auto;color:#fff}
.hero h1{font-size:2rem;margin:0 0 10px}
.hero p{color:#f5f5f5;margin:0 0 18px;font-weight:600}

/* Use Vista1.jpg (preferred) with SVG fallback for the hero background */
.hero{
  position:relative;
  background-image: url('../images/Vista1.jpg'), url('../images/Vista1.svg');
  background-size: cover;
  background-position: center 65%;
  color: #fff;
}
/* USA regional page hero with Portland_Vista background */
.hero.usa-hero{
  background-image: url('../images/Portland_Vista.jpg');
  background-size: cover;
  background-position: center 65%;
}
/* Canada regional page hero with Calgary_Vista background */
.hero.canada-hero{
  background-image: url('../images/Calgary_Vista.jpg');
  background-size: cover;
  background-position: center 45%;
}
.hero:before{content:"";position:absolute;left:0;right:0;top:0;bottom:0;background:linear-gradient(rgba(255,255,255,0.06),rgba(255,255,255,0.06));pointer-events:none}
.hero .hero-inner{position:relative;z-index:1}
.btn{display:inline-block;background:var(--accent);color:#fff;padding:10px 18px;border-radius:4px;text-decoration:none;border:2px solid rgba(0,0,0,0.18);transition:background .15s ease,border-color .15s ease,transform .06s ease}
/* Clean button typography, including buttons inside outlined text sections. */
.btn,
.hero-cta-btn,
.nav a.contact-btn,
.hero .hero-inner .btn,
.services-video-panel .btn,
.cta-block .btn,
.site-footer .btn{
  font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  font-weight:600;
  letter-spacing:0.02em;
  text-shadow:none;
}
.btn.ghost{background:transparent;border:2px solid var(--accent-dark);color:var(--accent)}
/* Accent interactions */
.btn:hover, .btn:focus{background:var(--accent-dark);cursor:pointer}
.btn:active{transform:translateY(1px)}
.btn + .btn{margin-left:8px}
.services-preview .btn{padding:6px 12px;font-size:0.95rem}
.btn.small{padding:6px 12px;font-size:0.9rem;color:#222;background:#f5f5f5;border-color:rgba(0,0,0,0.2)}
.btn.small + .btn.small{margin-left:8px}
.nav a.contact-btn{display:inline-block;margin-left:12px;padding:6px 10px;border-radius:4px;background:var(--accent);color:#fff;text-decoration:none}
.nav a.contact-btn:hover{background:var(--accent-dark)}
.services-preview{padding:40px 0}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.card{background:rgba(175,189,33,0.06);border:2px solid rgba(0,0,0,0.06);padding:18px;border-radius:6px}
.card h3{color:var(--dark);margin-top:0}
.about-cta{padding:36px 0;background:#fafafa}
.contact-cta{padding:36px 0}
.site-footer{background:#222;color:#ddd;padding:28px 0;margin-top:40px}
.site-footer .wrap{padding:0 5px}
.footer-content{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:20px}
.footer-text{flex:1;min-width:250px}
.social-links{display:flex;gap:12px;align-items:center}
.footer-address{min-width:260px;text-align:right;font-size:0.9rem;color:#ddd;padding-left:20px}
.footer-address p{margin:0}
.social-icon{width:24px;height:24px;opacity:0.8;transition:opacity .2s ease}
.social-links a:hover .social-icon{opacity:1}
.site-footer p{margin:0}
.small{font-size:0.85rem;color:#bbb}
.narrow h1{margin-top:6px}
/* Safety page hero with logos overlay */
.hero.safety-hero-overlay:after{content:"";position:absolute;right:0;top:0;bottom:0;width:26%;background:url('../images/safety-logos.png') right center/contain no-repeat;pointer-events:none;z-index:0}
/* Services page hero with custom background */
.hero.services-hero{background-image:url('../images/P250101_Colf Farm.jpg')!important;background-size:cover;background-position:center 65%}
/* USA regional services hero should use Portland vista */
.hero.services-hero.usa-hero{background-image:url('../images/Portland_Vista.jpg')!important;background-size:cover;background-position:center 65%}
/* Canada regional services hero should use Calgary vista */
.hero.services-hero.canada-hero{background-image:url('../images/Calgary_Vista.jpg')!important;background-size:cover;background-position:center 45%}
/* About page hero with custom background */
.hero.about-hero-inset{background-image:url('../images/P260032_Colf Ridgefield.jpg')!important;background-size:cover;background-position:center 65%}
/* Services page hero with inset image on left */
.hero.services-hero-inset:after{content:"";position:absolute;left:20px;top:20px;bottom:20px;width:21%;background:url('../images/Services.jpeg') center/cover no-repeat;pointer-events:none;z-index:0}
/* About page hero with inset image on left */
.hero.about-hero-inset:after{content:"";position:absolute;left:20px;top:20px;bottom:20px;width:21%;background:url('../images/About2.png') center/cover no-repeat;pointer-events:none;z-index:0}
/* Safety page hero with inset image on left */
.hero.safety-hero-inset:before{content:"";position:absolute;left:20px;top:20px;bottom:20px;width:21%;background:url('../images/Safety.jpeg') center/cover no-repeat;pointer-events:none;z-index:0}
/* Employment page hero with inset video on left */
.hero.employment-hero-inset{position:relative}
.hero.employment-hero-inset .hero-inset-video{position:absolute;left:210px;top:20px;bottom:20px;width:10.9%;object-fit:cover;pointer-events:none;z-index:0;border-radius:4px}
/* Index page hero with logos at lower right, half size */
/* Now handled by .hero-logos img element instead of pseudo-element */
.notice{padding:12px;border-radius:6px;margin-bottom:16px}
.notice.success{background:#e6f8ef;border:1px solid #c3efd8;color:#085a3a}
.notice.error{background:#fff1f0;border:1px solid #f3c2c0;color:#7a1b1b}
.contact-form label{display:block;margin-bottom:12px}
.contact-form input,.contact-form textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px}
.employment-cta-row{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;max-width:100%;overflow-x:auto;padding-bottom:2px}
.employment-cta-row .btn{flex:0 0 auto;white-space:nowrap}
.employment-cta-row .btn + .btn{margin-left:0}
/* Full-page video hero */
.video-hero{padding:0;margin:0;width:100%;height:75vh;position:relative;overflow:hidden}
.hero-video{width:100%;height:100%;object-fit:cover;display:block;position:relative;z-index:1}
#safety-hero .hero-video{object-position:center 100%}
.employment-image-hero{background:url('../images/Services.jpeg') 70% 45%/cover no-repeat}
.canada-employment-hero{background:url('../images/Services.png') center bottom/cover no-repeat}
.canada-services-hero{background:url('../images/Services.png') center bottom/cover no-repeat}
.canada-about-hero{background:url('../images/About2.png') center 45%/cover no-repeat}
.canada-safety-hero{background:url('../images/Safety.png') center 45%/cover no-repeat}
.canada-index-hero{background:url('../images/Truck.png') center 85%/cover no-repeat}
.canada-index-hero .landing-video-text{top:33%}
.landing-video-text.landing-video-text-two-lines{white-space:nowrap;font-size:clamp(0.875rem,3.33vw,3rem)}
.contact-image-hero{background:url('../images/Contact2.png') 0% 75%/120% no-repeat}
.canada-contact-hero{background:url('../images/Truck.png') center 85%/cover no-repeat}
.landing-video-text,
.hero-banner,
.services-video-panel,
.hero .hero-inner{
  /* Single frosted blocks behind grouped text over busy media backgrounds */
  background:rgba(0,0,0,0.32);
  border:1px solid rgba(255,255,255,0.24);
  box-shadow:0 10px 28px rgba(0,0,0,0.25);
  -webkit-backdrop-filter:blur(5px) saturate(1.1);
  backdrop-filter:blur(5px) saturate(1.1);
  border-radius:8px;
}
.landing-video-text,
.hero-banner,
.services-video-panel,
.hero .hero-inner{
  display:inline-block;
  width:fit-content;
  max-width:100%;
}
.services-video-panel{position:absolute;left:24px;right:24px;top:24px;bottom:24px;z-index:3;color:#fff;padding:20px 22px;border-radius:8px;overflow:auto}
.services-video-panel{direction:rtl}
.services-video-panel > *{direction:ltr}
#employment-hero .services-video-panel{left:24px;right:auto;width:fit-content;max-width:40%}
#contact-hero .services-video-panel{left:24px;right:auto;width:fit-content;max-width:40%}
#about-hero .services-video-panel{left:24px;right:auto;width:fit-content;max-width:40%}
#services-hero .services-video-panel{left:24px;right:auto;width:fit-content;max-width:40%}
#safety-hero .services-video-panel{left:24px;right:auto;width:fit-content;max-width:40%}
.canada-about-hero .services-video-panel{left:24px;right:auto;width:fit-content;max-width:40%}
.canada-safety-hero .services-video-panel{left:24px;right:auto;width:fit-content;max-width:40%}
#contact-hero .contact-form input,
#contact-hero .contact-form textarea{border:3px solid #000}
.services-video-panel h1{margin:0 0 12px;font-size:2rem}
.hero-banner,
.services-video-panel,
.hero .hero-inner{
  /* Keep 0.5ch box overhang while adding a slight left text inset */
  padding-left:1.25ch;
  margin-left:-.5ch;
}
.services-video-list{margin:0;padding-left:34px;columns:1}
.services-video-list li{margin:0 0 5px;line-height:1.35}
.services-video-panel,
.services-video-panel *,
.landing-video-text,
.landing-video-text *,
.hero-banner,
.hero-banner *,
.hero .hero-inner,
.hero .hero-inner *{text-shadow:none}
#about-hero .services-video-panel,
#about-hero .services-video-panel *,
#safety-hero .services-video-panel,
#safety-hero .services-video-panel *{line-height:1.2}
.landing-video-text{position:absolute;left:50%;top:75%;transform:translate(-50%,-50%);width:auto;max-width:92%;padding:14px 20px;text-align:center;color:#fff;font-size:clamp(1.33rem,3.33vw,3rem);font-weight:800;letter-spacing:0.02em;z-index:3;text-shadow:none;border-radius:10px}
.hero-main-logo{position:absolute;right:14px;top:14px;width:clamp(130px,16vw,260px);height:auto;object-fit:contain;padding:10px;background:rgba(255,255,255,0.26);border:1px solid rgba(255,255,255,0.32);box-shadow:0 10px 28px rgba(0,0,0,0.25);-webkit-backdrop-filter:blur(5px) saturate(1.1);backdrop-filter:blur(5px) saturate(1.1);border-radius:10px;pointer-events:none;z-index:3}
.hero-logos{position:absolute;right:14px;bottom:14px;width:13%;height:auto;object-fit:contain;pointer-events:none;z-index:3}
.hero-cta-btn{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:inline-block;background:var(--accent);color:#fff;padding:10px 18px;border-radius:4px;text-decoration:none;border:2px solid rgba(0,0,0,0.18);pointer-events:all;z-index:3;transition:background .15s ease,border-color .15s ease,transform .06s ease}
.hero-cta-btn:hover,.hero-cta-btn:focus{background:var(--accent-dark);cursor:pointer}
.hero-cta-btn:active{transform:translateX(-50%) translateY(1px)}
.hero-banner{position:absolute;left:24px;top:24px;display:inline-flex;flex-direction:column;align-items:flex-start;max-width:90vw;color:#fff;padding:14px 16px;border-radius:6px;border-left:4px solid var(--accent);font-weight:600;line-height:1.4;z-index:2}
.hero-banner .line{white-space:normal}
.hero-banner .bullet{opacity:0;transform:translateY(-4px);margin-top:6px;padding-left:0;position:relative;white-space:nowrap;font-weight:300}
.hero-banner .bullet:before{content:"";position:absolute;left:0}
@keyframes bulletIn{to{opacity:1;transform:translateY(0)}}
.hero-banner .bullet{animation:bulletIn .35s ease forwards;animation-delay:0s}
.hero-banner .bullet.second{animation-delay:0s;white-space:normal}
.hero-banner .bullet.third{animation-delay:0s}
.hero-banner .bullet.fourth{animation-delay:0s;white-space:normal}
.hero-banner .bullet.fifth{animation-delay:0s;white-space:normal}
.hero-banner .bullet.clients{animation-delay:0s;white-space:normal}
.hero-banner .bullet.subbullet{animation-delay:0s;white-space:normal;padding-left:0}
.hero-banner .bullet.subbullet:before{left:0}
#map{border-radius:6px;box-shadow:0 2px 4px rgba(0,0,0,0.1)}
.leaflet-popup-content{font-size:14px;color:var(--dark)}
@media (min-width:900px){
  .hero h1{font-size:2.6rem}
}

/* Home compact spacing */
.compact-home{padding:18px 14px}
.compact-home .hero{padding:28px 0}
.compact-home .hero h1{margin:0 0 6px}
.compact-home .hero p{margin:0 0 10px}
.compact-home .services-preview{padding:18px 0}
.compact-home .cards{gap:10px}
.compact-home .card{padding:12px}
.compact-home .about-cta,.compact-home .contact-cta{padding:18px 0}
.compact-home .contact-cta{padding-bottom:8px}
.compact-home .contact-cta p{margin:0 0 6px}

/* CTA block with background image */
.cta-block{margin:14px 0 0 0;padding:32px 18px;border-radius:8px;color:#fff;background:linear-gradient(rgba(0,0,0,0.55),rgba(0,0,0,0.55)),url('../images/bg-image-04.jpg') center top/cover no-repeat;box-shadow:0 6px 14px rgba(0,0,0,0.18)}
.cta-block .cta-content{display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.cta-block h2{margin:0 0 8px}
.cta-block p{margin:0 0 10px;color:#f0f0f0}
.cta-block .btn{background:var(--accent);border-color:rgba(0,0,0,0.25)}
.cta-block .btn:hover{background:var(--accent-dark)}
.compact-home .cta-block{padding:26px 14px;margin:10px 0 0}
.compact-home + .site-footer{margin-top:0}
.compact-home h2{margin:0 0 10px}
.compact-home p{margin:0 0 10px}
.services-hero{min-height:360px;display:flex;align-items:center;padding:36px 0}
.services-preview.two-col .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.services-list-two-col{columns:4;column-gap:28px}
.services-list-two-col li{break-inside:avoid;margin-bottom:6px}
@media (max-width:800px){
  #employment-hero .services-video-panel{left:12px;right:12px;width:auto}
  #contact-hero .services-video-panel{left:12px;right:12px;width:auto}
  #about-hero .services-video-panel{left:12px;right:12px;width:auto}
  #services-hero .services-video-panel{left:12px;right:12px;width:auto}
  #safety-hero .services-video-panel{left:12px;right:12px;width:auto}
  .canada-about-hero .services-video-panel{left:12px;right:12px;width:auto}
  .canada-safety-hero .services-video-panel{left:12px;right:12px;width:auto}
  .services-video-panel{left:12px;right:12px;top:12px;bottom:12px;padding:14px}
  .services-video-panel h1{font-size:1.6rem}
  .services-preview.two-col .cards{grid-template-columns:1fr}
  .services-list-two-col{columns:1}
}
