
/* Final polish refinements */
:root{--hetco-red:#feed01;--hetco-red-soft:#feed01;--hetco-blue:#404040}

/* Hero full-width enhancement */
.v17-page .hero-v12-stage{height:clamp(640px,48vw,780px)!important;min-height:640px!important}
.v17-page .hero-v12-copy{max-width:600px!important}
.v17-page .hero-v12-copy h1{font-size:clamp(48px,5vw,76px)!important;max-width:620px!important}
.v17-page .hero-v12-media::after{background:linear-gradient(90deg,rgba(5,30,78,.96) 0%,rgba(5,30,78,.9) 28%,rgba(5,30,78,.48) 52%,rgba(5,30,78,.08) 73%,rgba(5,30,78,0) 100%)!important}

/* About image single module card */
.v17-page .about-final-collage{position:relative;border-radius:18px;overflow:hidden;box-shadow:0 22px 48px rgba(11,45,105,.14);background:#fff}
.v17-page .about-final-collage img{display:block;width:100%;height:auto;min-height:360px;object-fit:cover}
.v17-page .about-final-collage::before,
.v17-page .about-final-collage::after{content:"";position:absolute;pointer-events:none;z-index:2}
.v17-page .about-final-collage::before{left:-18px;top:22px;width:62px;height:75%;background:linear-gradient(180deg,#404040 0%,#5c5c5c 100%);transform:skewX(-16deg);opacity:.98}
.v17-page .about-final-collage::after{right:-16px;top:48px;width:42px;height:65%;background:linear-gradient(180deg,#feed01 0%,#feed01 100%);transform:skewX(-16deg);opacity:.98}

/* About highlight */
.v17-page .about-v20-highlight{display:grid;grid-template-columns:46px 1fr;align-items:center;gap:14px;border-left-width:5px!important;background:#fcfcf8!important}
.v17-page .about-v20-highlight-icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--hetco-red-soft);color:var(--hetco-red);border:1px solid #feed01}
.v17-page .about-v20-highlight-icon svg{width:18px;height:18px;fill:currentColor}
.v17-page .about-v20-highlight-text{display:block}
html[dir="rtl"] .v17-page .about-v20-highlight{grid-template-columns:1fr 46px}
html[dir="rtl"] .v17-page .about-v20-highlight-icon{order:2}

/* Our commitments & values icons */
.v17-page .about-v20-icon,.v17-page .about-v20-value-icon{background:var(--hetco-red-soft)!important;color:var(--hetco-red)!important;border-color:#feed01!important;box-shadow:0 8px 18px rgba(229,35,42,.12)}
.v17-page .about-v20-icon{width:42px!important;height:42px!important}
.v17-page .about-v20-icon svg,.v17-page .about-v20-value-icon svg{width:19px;height:19px;fill:currentColor}
.v17-page .about-v20-value-icon{width:40px!important;height:40px!important;font-size:0!important}
.v17-page .about-v20-value-grid h3{color:var(--hetco-blue)!important}

/* Services */
.v17-page .service-v14-title h3{color:var(--hetco-red)!important}
.v17-page .service-v14-action strong,.v17-page .service-v14-action span{color:var(--hetco-red)!important}
.v17-page .service-v12-card{border-radius:14px!important}
.v17-page .service-v12-card:hover{border-color:rgba(229,35,42,.24)!important}

/* Projects - remove on-image labels */
.v17-page .project-v12-card span{display:none!important}
.v17-page .project-v12-card::after{background:linear-gradient(180deg,transparent,rgba(5,20,55,.18))!important;opacity:.45!important}

/* QHSE principles with icons */
.v17-page .principle{position:relative;padding:18px 18px 18px 74px!important;border-radius:14px;background:#fff;box-shadow:0 12px 30px rgba(15,35,78,.06)}
.v17-page .principle-icon{position:absolute;left:20px;top:18px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--hetco-red-soft);color:var(--hetco-red);border:1px solid #feed01}
.v17-page .principle-icon svg{width:20px;height:20px;fill:currentColor}
html[dir="rtl"] .v17-page .principle{padding:18px 74px 18px 18px!important}
html[dir="rtl"] .v17-page .principle-icon{left:auto;right:20px}

/* Contact / get in touch */
.contact{background:linear-gradient(135deg,#404040 0%,#575757 55%,#feed01 160%)!important}
.v17-page .contact-card{position:relative;padding-top:26px!important}
.v17-page .contact-card-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(229,35,42,.14);color:#feed01;border:1px solid rgba(255,255,255,.16);margin-bottom:14px}
.v17-page .contact-card-icon svg{width:20px;height:20px;fill:currentColor}
.v17-page .contact-card span{color:#feed01!important}

/* Footer logo visible */
.footer-brand{align-items:center!important}
.footer-brand-mark{width:86px!important;max-width:86px!important;filter:none!important;background:#fff;padding:10px;border-radius:12px;box-shadow:0 10px 24px rgba(0,0,0,.18)}
.footer-brand strong{display:block;margin-bottom:6px}
.footer-brand p{color:rgba(255,255,255,.72)!important}

/* Client/section polish */
.eyebrow{color:var(--hetco-red)!important}
.eyebrow::after{background:rgba(229,35,42,.45)!important}

/* Mobile */
@media(max-width:980px){
  .v17-page .hero-v12-stage{height:620px!important;min-height:620px!important}
  .v17-page .hero-v12-tabs{grid-template-columns:repeat(5,210px)!important}
  .v17-page .about-final-collage::before{width:46px;left:-14px}
  .v17-page .about-final-collage::after{width:32px;right:-12px}
}
@media(max-width:767px){
  .v17-page .hero-v12-stage{height:640px!important;min-height:640px!important}
  .v17-page .hero-v12-copy{padding:34px 0 215px!important}
  .v17-page .hero-v12-copy h1{font-size:clamp(36px,10.5vw,46px)!important}
  .v17-page .about-v20-highlight{grid-template-columns:42px 1fr!important;gap:12px}
  html[dir="rtl"] .v17-page .about-v20-highlight{grid-template-columns:1fr 42px!important}
  .v17-page .principle{padding-left:68px!important}
  html[dir="rtl"] .v17-page .principle{padding-right:68px!important;padding-left:18px!important}
}


/* ===== Professional final pass ===== */
html{scroll-padding-top:118px}
body{font-feature-settings:"kern" 1,"liga" 1;text-rendering:optimizeLegibility}
.v17-page .section h2,
.v17-page .projects-v12-head h2,
.v17-page .clients-v19-head h2,
.v17-page .contact h2{color:#444444;letter-spacing:-.03em}
.v17-page .about-v20-subhead{color:var(--hetco-red)!important}
.v17-page .about-v20-subhead::after{background:rgba(229,35,42,.34)!important}

/* Hero: full-bleed, restrained motion, professional hover */
.v17-page .hero-v12-stage{height:clamp(570px,43vw,690px)!important;min-height:570px!important;background:#343434!important}
.v17-page .hero-v12-image{transition:transform 1.15s cubic-bezier(.2,.7,.2,1),filter .45s ease!important;transform:scale(1.001);will-change:transform}
.v17-page .hero-v12-panel.is-active .hero-v12-image{transform:scale(1.006)}
.v17-page .hero-v12-media::after{transition:opacity .35s ease,background .35s ease}
.v17-page .hero-v12-copy h1{font-weight:800;text-shadow:0 2px 15px rgba(0,0,0,.08)}
.v17-page .hero-v12-tab{transition:background .2s ease,transform .2s ease,border-color .2s ease!important}
.v17-page .hero-v12-tab img{transition:transform .28s ease,filter .28s ease!important}
.v17-page .hero-v12-tab.is-active{background:rgba(255,255,255,.055)!important}
.v17-page .hero-v12-arrow{transition:transform .18s ease,background .18s ease,border-color .18s ease!important}

/* Header CTA and general button polish */
.v17-page .nav-cta{background:var(--hetco-red)!important;box-shadow:0 8px 20px rgba(229,35,42,.18)}
.v17-page .nav-cta:hover{background:#feed01!important;box-shadow:0 12px 26px rgba(229,35,42,.25)!important}
.v17-page .btn{border-radius:8px}

/* Cards and galleries */
.v17-page .service-v12-card,
.v17-page .project-v12-card,
.v17-page .clients-v20-grid .client-v19-logo,
.v17-page .contact-card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background .25s ease!important}
.v17-page .project-v12-card{box-shadow:0 10px 24px rgba(17,38,80,.07)!important}
.v17-page .project-v12-card img{transition:transform .45s ease,filter .35s ease!important}
.v17-page .cert{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}

/* ISO block */
.v17-page .certification-panel{border-radius:18px;box-shadow:0 16px 38px rgba(17,38,80,.07)}
.v17-page .cert-copy h3{color:#444444}

/* Footer */
.v17-page .site-footer{background:linear-gradient(135deg,#282828 0%,#1e1e1e 72%,#262626 100%)}
.v17-page .footer-brand-mark{object-fit:contain}
.v17-page .footer-links a{transition:color .18s ease,transform .18s ease}

/* Keyboard accessibility */
a:focus-visible,button:focus-visible,.project-v12-card:focus-visible,.service-v12-card:focus-visible{
  outline:3px solid rgba(229,35,42,.72)!important;
  outline-offset:3px!important;
  border-radius:6px;
}

@media (hover:hover) and (pointer:fine){
  .v17-page .hero-v12:hover .hero-v12-panel.is-active .hero-v12-image{transform:scale(1.032);filter:saturate(1.035) contrast(1.015)}
  .v17-page .hero-v12:hover .hero-v12-media::after{opacity:.96}
  .v17-page .hero-v12-tab:hover{background:rgba(255,255,255,.075)!important;transform:translateY(-1px)}
  .v17-page .hero-v12-tab:hover img{transform:scale(1.045);filter:saturate(1.08)}
  .v17-page .hero-v12-arrow:hover{transform:translateY(-1px) scale(1.03)}
  .v17-page .about-final-collage:hover img{transform:scale(1.012);filter:saturate(1.025)}
  .v17-page .service-v12-card:hover{transform:translateY(-5px)!important;box-shadow:0 18px 38px rgba(17,38,80,.12)!important}
  .v17-page .project-v12-card:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(17,38,80,.12)!important}
  .v17-page .project-v12-card:hover img{transform:scale(1.025);filter:saturate(1.04)}
  .v17-page .clients-v20-grid .client-v19-logo:hover{transform:translateY(-3px)!important;box-shadow:0 14px 30px rgba(17,38,80,.09)!important;border-color:rgba(229,35,42,.18)!important}
  .v17-page .contact-card:hover{transform:translateY(-4px)!important;background:rgba(255,255,255,.12)!important}
  .v17-page .cert:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(17,38,80,.09)}
  .v17-page .footer-links a:hover{transform:translateX(2px)}
  html[dir="rtl"] .v17-page .footer-links a:hover{transform:translateX(-2px)}
}

@media(max-width:980px){
  .v17-page .hero-v12-stage{height:590px!important;min-height:590px!important}
}
@media(max-width:767px){
  .v17-page .hero-v12-stage{height:620px!important;min-height:620px!important}
  .v17-page .hero-v12-copy{padding:32px 0 205px!important}
  .v17-page .hero-v12-image{transform:none!important}
  .v17-page .about-final-collage img{min-height:0!important}
  .v17-page .about-final-collage::before,.v17-page .about-final-collage::after{opacity:.8}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .v17-page .hero-v12-image{transform:none!important}
}


/* ===== User-requested visual refinement ===== */
:root{
  --icon-red:#feed01;
  --icon-blue:#626262;
  --icon-gold:#d99a19;
  --icon-green:#258b62;
  --icon-teal:#535353;
  --icon-purple:#888888;
  --icon-orange:#feed01;
  --icon-slate:#686868;
}

/* Hero: larger full-bleed visual with more image area */
.v17-page .hero-v12-stage{height:clamp(680px,50vw,820px)!important;min-height:680px!important}
.v17-page .hero-v12-copy{max-width:540px!important}
.v17-page .hero-v12-copy h1{font-size:clamp(48px,4.8vw,74px)!important;max-width:560px!important}
.v17-page .hero-v12-media::after{background:linear-gradient(90deg,rgba(5,30,78,.96) 0%,rgba(5,30,78,.88) 24%,rgba(5,30,78,.44) 43%,rgba(5,30,78,.09) 62%,rgba(5,30,78,0) 78%)!important}
html[dir="rtl"] .v17-page .hero-v12-media::after{background:linear-gradient(270deg,rgba(5,30,78,.96) 0%,rgba(5,30,78,.88) 24%,rgba(5,30,78,.44) 43%,rgba(5,30,78,.09) 62%,rgba(5,30,78,0) 78%)!important}

/* Contact contrast fix */
.v17-page .contact h2{color:#fff!important;text-shadow:none!important}
.v17-page .contact-copy>p:not(.eyebrow){color:rgba(255,255,255,.82)!important}
.v17-page .contact .eyebrow,
.v17-page .contact .eyebrow.light{color:#feed01!important}
.v17-page .contact .eyebrow::after{background:rgba(255,122,128,.72)!important}
.v17-page .contact-card strong{color:#fff!important}
.v17-page .contact-card b{color:#fff!important}

/* Services: navy headings, red action; icon colors unique by capability */
.v17-page .service-v14-title{display:grid!important;grid-template-columns:34px 1fr;gap:10px;align-items:center}
.v17-page .service-v14-title h3{color:#444444!important;min-height:0!important;margin:0!important}
.v17-page .service-title-icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#fafaf4;color:var(--icon-blue);border:1px solid #f1f0e4}
.v17-page .service-title-icon svg{width:17px;height:17px;fill:currentColor}
.v17-page .service-icon-stevedoring{color:var(--icon-red);background:#feed01;border-color:#feed01}
.v17-page .service-icon-endtoend{color:var(--icon-blue);background:#fafaf3;border-color:#eeecd2}
.v17-page .service-icon-cranage{color:var(--icon-gold);background:#fff8e8;border-color:#f3dfac}
.v17-page .service-icon-rentals{color:var(--icon-purple);background:#fbfbf5;border-color:#f2f1de}
.v17-page .service-icon-personnel{color:var(--icon-green);background:#edf9f4;border-color:#c9eadb}
.v17-page .service-icon-maintenance{color:var(--icon-orange);background:#feed01;border-color:#feed01}
.v17-page .service-icon-scm{color:var(--icon-teal);background:#f8f7ed;border-color:#e6e4c9}
.v17-page .service-icon-rigmoves{color:var(--icon-slate);background:#f7f7f1;border-color:#e8e7d9}
.v17-page .service-v14-action strong,.v17-page .service-v14-action span{color:var(--hetco-red)!important}

/* More distinct icon system for commitments, values, QHSE and contact */
.v17-page .about-v20-commitments article:nth-of-type(1) .about-v20-icon{color:var(--icon-red)!important;background:#feed01!important;border-color:#feed01!important}
.v17-page .about-v20-commitments article:nth-of-type(2) .about-v20-icon{color:var(--icon-blue)!important;background:#fafaf3!important;border-color:#eeecd2!important}
.v17-page .about-v20-commitments article:nth-of-type(3) .about-v20-icon{color:var(--icon-green)!important;background:#edf9f4!important;border-color:#c9eadb!important}
.v17-page .about-v20-value-grid article:nth-child(1) .about-v20-value-icon{color:var(--icon-blue)!important;background:#fafaf3!important;border-color:#eeecd2!important}
.v17-page .about-v20-value-grid article:nth-child(2) .about-v20-value-icon{color:var(--icon-red)!important;background:#feed01!important;border-color:#feed01!important}
.v17-page .about-v20-value-grid article:nth-child(3) .about-v20-value-icon{color:var(--icon-teal)!important;background:#f8f7ed!important;border-color:#e6e4c9!important}
.v17-page .about-v20-value-grid article:nth-child(4) .about-v20-value-icon{color:var(--icon-gold)!important;background:#fff8e8!important;border-color:#f3dfac!important}
.v17-page .qhse-principles .principle:nth-child(1) .principle-icon{color:var(--icon-red)!important;background:#feed01!important;border-color:#feed01!important}
.v17-page .qhse-principles .principle:nth-child(2) .principle-icon{color:var(--icon-blue)!important;background:#fafaf3!important;border-color:#eeecd2!important}
.v17-page .qhse-principles .principle:nth-child(3) .principle-icon{color:var(--icon-green)!important;background:#edf9f4!important;border-color:#c9eadb!important}
.v17-page .contact-card:nth-child(1) .contact-card-icon{color:#feed01!important;background:rgba(255,115,121,.12)!important}
.v17-page .contact-card:nth-child(2) .contact-card-icon{color:#e0ddae!important;background:rgba(143,194,255,.12)!important}
.v17-page .contact-card:nth-child(3) .contact-card-icon{color:#7ee0b4!important;background:rgba(126,224,180,.12)!important}

/* Text alignment and card rhythm */
.v17-page .about-v20-copy>p:not(.eyebrow):not(.about-v20-subhead),
.v17-page .section-head-v12>p,
.v17-page .projects-v12-head>p,
.v17-page .clients-v19-head>p,
.v17-page .qhse-copy>p{max-width:72ch;text-wrap:pretty}
.v17-page .service-v14-body p{text-wrap:pretty}
.v17-page .about-v20-value-grid article{align-items:start}
.v17-page .about-v20-value-grid p{text-wrap:pretty}
.v17-page .principle h3{color:#444444!important;margin-bottom:6px!important}
.v17-page .principle p{line-height:1.55!important}

/* Footer redesign */
.v17-page .site-footer{padding:50px 0 18px!important;background:linear-gradient(135deg,#232323 0%,#333333 55%,#1e1e1e 100%)!important}
.v17-page .footer-grid{grid-template-columns:minmax(0,1.55fr) minmax(160px,.55fr) minmax(190px,.7fr)!important;gap:46px!important;align-items:start}
.v17-page .footer-brand{display:grid!important;grid-template-columns:90px 1fr!important;gap:20px!important;align-items:center!important}
.v17-page .footer-brand-mark{width:82px!important;max-width:82px!important;height:96px!important;object-fit:contain!important;padding:10px 8px!important;background:#fff!important;border-radius:12px!important;box-shadow:0 10px 24px rgba(0,0,0,.16)!important}
.v17-page .footer-brand strong{font-size:15px!important;line-height:1.45!important;color:#fff!important}
.v17-page .footer-brand p{font-size:13px!important;line-height:1.6!important;max-width:520px!important;margin:0!important}
.v17-page .footer-links strong{color:#feed01!important}
.v17-page .footer-links a{display:flex!important;align-items:center;gap:9px;color:rgba(255,255,255,.74)!important}
.v17-page .footer-link-icon{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;background:rgba(255,255,255,.07);color:#fff}
.v17-page .footer-link-icon svg{width:13px;height:13px;fill:currentColor}
.v17-page .footer-links a:nth-of-type(1) .footer-link-icon{color:#feed01}
.v17-page .footer-links a:nth-of-type(2) .footer-link-icon{color:#e0ddae}
.v17-page .footer-links a:nth-of-type(3) .footer-link-icon{color:#7ee0b4}
.v17-page .footer-links a:nth-of-type(4) .footer-link-icon{color:#f3c46a}
.v17-page .footer-bottom{margin-top:34px!important;padding-top:18px!important;border-top:1px solid rgba(255,255,255,.12)!important;color:rgba(255,255,255,.55)!important}
.v17-page .footer-bottom a{color:rgba(255,255,255,.75)!important}

/* Mobile / tablet */
@media(max-width:1100px){
  .v17-page .hero-v12-stage{height:650px!important;min-height:650px!important}
  .v17-page .footer-grid{grid-template-columns:1fr 1fr!important}
  .v17-page .footer-brand{grid-column:1/-1}
}
@media(max-width:767px){
  .v17-page .hero-v12-stage{height:650px!important;min-height:650px!important}
  .v17-page .hero-v12-copy{padding:32px 0 210px!important}
  .v17-page .service-v14-title{grid-template-columns:30px 1fr!important}
  .v17-page .service-title-icon{width:28px;height:28px}
  .v17-page .footer-grid{grid-template-columns:1fr!important;gap:30px!important}
  .v17-page .footer-brand{grid-template-columns:72px 1fr!important;gap:16px!important}
  .v17-page .footer-brand-mark{width:66px!important;max-width:66px!important;height:78px!important}
  .v17-page .footer-bottom{flex-direction:column!important;align-items:flex-start!important}
}


/* V3 exact image fixes */
.v17-page .about-final-collage{border-radius:18px!important;overflow:hidden!important;background:#fff!important;box-shadow:0 18px 42px rgba(18,37,80,.10)!important}
.v17-page .about-final-collage::before,
.v17-page .about-final-collage::after{content:none!important;display:none!important}
.v17-page .about-final-collage img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;min-height:0!important;transform:none!important;filter:none!important}
.v17-page .about-final-collage:hover img{transform:none!important;filter:none!important}

/* Ensure QHSE principle icons always render visibly */
.v17-page .principle{display:grid!important;grid-template-columns:48px 1fr!important;grid-template-areas:"icon title" "icon text"!important;gap:6px 14px!important;align-items:start!important;padding:22px!important}
.v17-page .principle-icon{position:relative!important;left:auto!important;right:auto!important;top:auto!important;grid-area:icon!important;align-self:start!important;z-index:2!important}
.v17-page .principle h3{grid-area:title!important;margin:0!important}
.v17-page .principle p{grid-area:text!important;margin:0!important}
html[dir="rtl"] .v17-page .principle{grid-template-columns:1fr 48px!important;grid-template-areas:"title icon" "text icon"!important;padding:22px!important}
html[dir="rtl"] .v17-page .principle-icon{justify-self:end!important}

/* Hero media: make supplied stevedoring image read cleaner */
.v17-page .hero-v12-image{object-position:center center!important}
