/* Interior page composition. Home retains its approved design. */
.hgg-detail-hero{background:#edf4f7;padding:48px 24px 60px}
.hgg-detail-hero>.e-con-inner{align-items:center!important;gap:56px!important}
.hgg-detail-hero-copy{flex:1 1 55%!important;min-width:0;gap:20px!important}
.hgg-detail-hero-visual{flex:1 1 38%!important;min-width:0;align-self:stretch;justify-content:center}
.hgg-detail-hero-visual img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px;border:1px solid #cddfe7}
.hgg-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;font-size:13px;line-height:1.6;color:#526779;letter-spacing:0;font-weight:500;margin-bottom:10px}
.hgg-breadcrumb a{color:#29495f;text-decoration:underline;text-underline-offset:3px}
.hgg-detail-kicker{color:#006672!important;font-size:12px!important;font-weight:750;letter-spacing:.09em;text-transform:uppercase;margin:0}
.hgg-detail-hero h1{color:#032448!important;font-size:clamp(32px,3.6vw,52px)!important;line-height:1.16!important;letter-spacing:-.035em;margin:0!important;text-wrap:balance}
.hgg-detail-hero .hgg-detail-deck{font-size:18px;line-height:1.75;color:#415a6b;max-width:660px;margin:0}
.hgg-detail-actions{flex-direction:row!important;flex-wrap:wrap;gap:12px!important;margin-top:8px}
.hgg-detail-actions>.elementor-widget-button{width:auto!important}
.hgg-detail-actions a.elementor-button{font-size:15px;padding:13px 18px}
.hgg-button-secondary a.elementor-button{background:transparent!important;color:#032448!important;border-color:#93acbc!important}
.hgg-detail-section{padding:56px 24px}
.hgg-detail-section>.e-con-inner{align-items:center!important;gap:56px!important}
.hgg-detail-copy{flex:1 1 58%!important;min-width:0;gap:20px!important}
.hgg-detail-section:not(.hgg-detail-split) .hgg-detail-copy{max-width:960px!important;margin-inline:auto}
.hgg-detail-copy .elementor-heading-title{font-size:clamp(25px,2.6vw,34px)!important;line-height:1.3!important;max-width:900px;text-wrap:balance;margin:0!important}
.hgg-detail-copy .elementor-widget-text-editor{font-size:17px;line-height:1.85;color:#415a6b}
.hgg-detail-copy .hgg-detail-lead{font-size:20px;line-height:1.75;color:#29495f;margin:0}
.hgg-detail-copy p:last-child{margin-bottom:0}
.hgg-detail-copy a{color:#006b76;text-decoration:underline;text-underline-offset:3px}
.hgg-detail-copy ul{margin:0;padding-left:22px}
.hgg-detail-copy li{padding-left:5px;margin-bottom:12px}
.hgg-detail-copy li::marker{color:#007782}
.hgg-detail-visual{flex:1 1 34%!important;min-width:0;justify-content:center}
.hgg-detail-visual img{display:block;width:100%;max-height:480px;object-fit:contain;border-radius:12px}
.hgg-detail-tinted{background:#f4f8fa}
.hgg-detail-split.hgg-detail-tinted .hgg-detail-visual{order:-1}
.hgg-detail-card-heading{padding-bottom:20px}
.hgg-detail-card-section{padding-top:24px;background:#f4f8fa}
.hgg-detail-card-section .hgg-card{border-top:3px solid #007782!important;min-height:280px}
.hgg-detail-card-section .hgg-card .elementor-widget-heading{min-height:0}
.hgg-detail-card-section .hgg-card .elementor-heading-title{min-height:2.7em}
.hgg-detail-gallery>.e-con-inner{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))}
.hgg-detail-gallery-item img{max-height:320px;object-fit:contain;border-radius:12px}
body:not(.home) .hgg-stats{background:#fff;color:#032448;padding:28px 24px}
body:not(.home) .hgg-stats>.e-con-inner{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px!important}
body:not(.home) .hgg-stats .hgg-stat{width:auto!important;background:#edf4f7;border:1px solid #d9e4eb;border-radius:10px;padding:24px!important;color:#415a6b}
body:not(.home) .hgg-stats h2{font-size:36px!important;color:#032448!important}
body:not(.home) .hgg-stats p{font-size:14px;line-height:1.6;color:#415a6b}
body:not(.home) .hgg-technology-logos{background:#f4f8fa;padding-block:32px}
body:not(.home) .hgg-technology-logos img{filter:none;opacity:1}
.hgg-location-grid{padding-block:48px;background:#fff}
.hgg-location-card .elementor-heading-title{font-size:24px!important;margin:0!important;min-height:0!important}
.hgg-location-card .elementor-widget-text-editor{color:#415a6b;font-size:16px}
.hgg-contact-section{background:#f4f8fa;padding-block:64px}
.hgg-contact-section>.e-con-inner{max-width:900px}
.hgg-contact-form{background:#fff;border:1px solid #d9e4eb;border-radius:14px;padding:36px!important;gap:20px!important}
.hgg-contact-form h2{font-size:30px!important;line-height:1.3}
.hgg-article-header{background:#edf4f7;padding-block:56px}
.hgg-article-header>.e-con-inner{max-width:1080px}
.hgg-article-intro{max-width:none!important;gap:18px!important}
.hgg-post-title{font-size:clamp(30px,3.7vw,48px)!important;max-width:1000px;line-height:1.22!important;text-wrap:balance}
.hgg-post-meta{font-size:14px;color:#415a6b}
.hgg-article-date-note{font-size:13px;color:#415a6b;max-width:680px;border-left:3px solid #007782;padding-left:12px}
.hgg-post-image{width:100%;max-height:400px;aspect-ratio:16/7;object-fit:cover;border-radius:12px;margin-top:8px}
.hgg-article-content{padding-top:56px;padding-bottom:64px}
.hgg-article-body{max-width:800px!important}
.hgg-article-body .e-con-inner{max-width:800px!important}
.hgg-article-body p,.hgg-article-body li{color:#29495f;font-size:18px;line-height:1.9}
.hgg-article-body h2{font-size:29px;line-height:1.35;margin-top:40px}
.hgg-article-body h3{font-size:23px;line-height:1.4}
.hgg-archive-heading{background:#edf4f7;padding-block:56px}
.hgg-archive-heading h1{font-size:clamp(30px,3.5vw,46px);max-width:1000px;text-wrap:balance;overflow-wrap:anywhere}
.hgg-archive-heading .hgg-search{max-width:560px;margin-top:12px}
.hgg-archive-results{padding-block:56px}
.hgg-archive-grid img{aspect-ratio:16/10;height:auto;border-radius:8px}
.hgg-archive-grid .hgg-case-card img{aspect-ratio:16/10;object-fit:contain}
.hgg-case-layout{padding:64px 24px;background:#edf4f7}
.hgg-case-layout>.e-con-inner{align-items:center!important;gap:56px!important}
.hgg-case-visual{flex:1 1 52%!important;min-width:0}
.hgg-case-visual img{display:block;width:100%;max-height:480px;object-fit:contain;border-radius:0;background:none!important}
.hgg-case-summary{flex:1 1 40%!important;min-width:0;gap:20px!important}
.hgg-case-summary h1{font-size:clamp(32px,3.7vw,50px)!important;line-height:1.2!important}
.hgg-case-summary .elementor-widget-text-editor{font-size:17px;color:#415a6b}
.hgg-case-summary a.elementor-button{font-size:14px;background:#fff!important;color:#006b76!important;border-color:#c1d5df!important;padding:10px 14px}
.hgg-case-navigation>.e-con-inner{max-width:1200px;justify-content:space-between;align-items:center}
.hgg-case-navigation .e-con{flex-direction:row!important;flex-wrap:wrap;gap:16px!important}
.hgg-legal-header{padding:48px 24px;background:#edf4f7}
.hgg-legal-header>.e-con-inner{max-width:1200px}
.hgg-legal-header .e-con{max-width:880px}
.hgg-legal-header h1{font-size:clamp(32px,3.5vw,48px)!important;text-wrap:balance}
.hgg-legal-header p{font-size:17px;color:#415a6b;line-height:1.8}
.hgg-policy-layout{padding:48px 24px 72px}
.hgg-policy-layout>.e-con-inner{align-items:flex-start!important;gap:64px!important}
.hgg-policy-toc{flex:0 0 250px!important;position:sticky;top:24px;gap:16px!important;padding:22px!important;border:1px solid #d9e4eb;border-radius:10px;background:#f4f8fa}
.hgg-policy-toc h2{font-size:16px!important;margin:0!important}
.hgg-policy-toc ol{margin:0;padding-left:20px;display:grid;gap:12px}
.hgg-policy-toc li{font-size:14px;line-height:1.55;padding-left:2px}
.hgg-policy-toc a{color:#29495f;text-decoration:none}
.hgg-policy-toc a:hover,.hgg-policy-toc a:focus-visible{text-decoration:underline}
.hgg-policy-copy{flex:1 1 0!important;min-width:0;gap:0!important}
.hgg-policy-copy .hgg-legal-section{padding:28px 0!important;border-bottom:1px solid #d9e4eb;gap:16px!important;scroll-margin-top:24px}
.hgg-policy-copy .hgg-legal-section:first-child{padding-top:0!important}
.hgg-policy-copy .hgg-legal-section:last-child{border-bottom:0}
.hgg-policy-copy .hgg-legal-section h2{font-size:25px!important;line-height:1.35!important;margin:0!important}
.hgg-policy-copy .hgg-legal-section p{font-size:16px;line-height:1.9;color:#29495f;margin-bottom:16px}
.hgg-policy-copy .hgg-sitemap{grid-template-columns:1fr}
.hgg-policy-copy .hgg-sitemap h2{margin-top:20px!important}
.hgg-error-content{background:#edf4f7;padding:80px 24px}
.hgg-error-content>.e-con-inner{max-width:880px}
.hgg-error-content h1{font-size:clamp(34px,4vw,52px)!important}
.hgg-error-content .e-con{gap:24px!important}
@media(max-width:1024px){
 .hgg-detail-hero>.e-con-inner,.hgg-detail-section>.e-con-inner,.hgg-case-layout>.e-con-inner{gap:32px!important}
 .hgg-detail-hero-copy{flex-basis:52%!important}.hgg-detail-hero-visual{flex-basis:38%!important}
 .hgg-policy-layout>.e-con-inner{gap:32px!important}.hgg-policy-toc{flex-basis:210px!important}
}
@media(max-width:767px){
 .hgg-detail-hero,.hgg-case-layout{padding:28px 20px 40px}
 .hgg-detail-hero-copy,.hgg-detail-hero-visual,.hgg-detail-copy,.hgg-detail-visual,.hgg-case-summary,.hgg-case-visual{flex-basis:100%!important}
 .hgg-detail-hero-visual img{max-height:280px;aspect-ratio:16/10}
 .hgg-detail-hero h1{font-size:32px!important}.hgg-detail-hero .hgg-detail-deck{font-size:17px}
 .hgg-detail-section{padding:36px 20px}.hgg-detail-copy .elementor-widget-text-editor{font-size:16px}
 .hgg-detail-copy .hgg-detail-lead{font-size:18px}.hgg-detail-copy .elementor-heading-title{font-size:26px!important}
 .hgg-detail-split.hgg-detail-tinted .hgg-detail-visual{order:0}.hgg-detail-visual img{max-height:280px}
 .hgg-detail-card-heading{padding-bottom:16px}.hgg-detail-card-section{padding-top:16px}
 .hgg-detail-gallery>.e-con-inner{grid-template-columns:1fr}
 body:not(.home) .hgg-stats>.e-con-inner{grid-template-columns:repeat(2,minmax(0,1fr))}
 body:not(.home) .hgg-stats .hgg-stat{padding:16px!important}
 .hgg-contact-section{padding:36px 20px}.hgg-contact-form{padding:24px!important}
 .hgg-article-header{padding:36px 20px}.hgg-post-image{aspect-ratio:16/10;max-height:280px}.hgg-article-content{padding:36px 20px}
 .hgg-article-body p,.hgg-article-body li{font-size:17px}.hgg-article-body h2{font-size:26px}
 .hgg-case-summary{order:-1}.hgg-case-navigation{padding:36px 20px}
 .hgg-policy-layout{padding:32px 20px 48px}.hgg-policy-toc{position:static;flex-basis:100%!important}
 .hgg-policy-copy{flex-basis:100%!important}.hgg-policy-toc ol{gap:10px}.hgg-policy-copy .hgg-legal-section h2{font-size:23px!important}
 .hgg-legal-header{padding:32px 20px}.hgg-archive-heading,.hgg-archive-results{padding:36px 20px}
}
/* Parent Engitech counter/quote rules also use !important. */
body:not(.home) .hgg-stats .elementor-widget-text-editor{color:#415a6b!important}
.hgg-detail-actions .hgg-button-secondary a.elementor-button{background:transparent!important;color:#032448!important;border-color:#93acbc!important}
.hgg-detail-section:not(.hgg-detail-split) .hgg-detail-copy ul:has(li:nth-child(9)){columns:2;column-gap:44px}
.hgg-detail-copy li{break-inside:avoid}
.hgg-quote blockquote::before,.hgg-quote blockquote::after{display:none!important}
@media(max-width:767px){.hgg-detail-section:not(.hgg-detail-split) .hgg-detail-copy ul:has(li:nth-child(9)){columns:1}}
.hgg-archive-heading>.e-con-inner{align-items:center!important;gap:48px!important}
.hgg-archive-intro{flex:1 1 58%!important;min-width:0;gap:16px!important}
.hgg-archive-intro .elementor-widget-text-editor{font-size:17px;color:#415a6b}
.hgg-archive-search{flex:1 1 32%!important;min-width:0;padding:24px!important;background:#fff;border:1px solid #d9e4eb;border-radius:12px}
.hgg-case-categories{gap:10px!important}
@media(max-width:767px){.hgg-archive-intro,.hgg-archive-search{flex-basis:100%!important}.hgg-archive-heading>.e-con-inner{gap:24px!important}}
@media(min-width:1025px){
 .hgg-detail-card-section.hgg-card-grid-balanced:not(.hgg-card-grid-detailed)>.e-con-inner{grid-template-columns:repeat(6,minmax(0,1fr))}
 .hgg-detail-card-section.hgg-card-grid-balanced:not(.hgg-card-grid-detailed)>.e-con-inner>.hgg-card{grid-column:span 2}
 .hgg-detail-card-section.hgg-card-grid-balanced:not(.hgg-card-grid-detailed)>.e-con-inner>.hgg-card:nth-last-child(-n+2){grid-column:span 3}
}
.hgg-detail-copy>.elementor-widget-image img{display:block;width:100%;max-height:360px;object-fit:contain}
.hgg-policy-copy .hgg-sitemap ul{columns:2;column-gap:32px}
.hgg-policy-copy .hgg-sitemap li{break-inside:avoid}
@media(min-width:1025px){.hgg-detail-card-section:not(.hgg-card-grid-detailed)>.e-con-inner:has(>.hgg-card:nth-child(4)):has(>.hgg-card:last-child:nth-child(3n+1))>.hgg-card:last-child{grid-column:2}}
@media(max-width:767px){.hgg-policy-copy .hgg-sitemap ul{columns:1}}
@media(min-width:1025px){.hgg-detail-card-section:not(.hgg-card-grid-detailed)>.e-con-inner:has(>.hgg-card:first-child:nth-last-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Consistent section rhythm outside home; grouped titles no longer form bands. */
body:not(.home){--hgg-detail-space:56px;--hgg-detail-heading-gap:32px}
body:not(.home) main .hgg-section{padding-top:var(--hgg-detail-space)!important;padding-bottom:var(--hgg-detail-space)!important}
body:not(.home) main .hgg-article-body .hgg-section{padding:0!important}
.hgg-detail-card-group{background:#f4f8fa}
.hgg-detail-card-group>.e-con-inner{flex-direction:column!important;align-items:center!important;gap:var(--hgg-detail-heading-gap)!important}
.hgg-detail-group-title{flex:0 0 auto!important;width:100%!important;max-width:960px!important;margin-inline:auto;gap:16px!important;text-align:center}
.hgg-detail-group-title .elementor-widget-heading,.hgg-detail-copy .elementor-widget-heading{width:100%}
.hgg-detail-group-title .elementor-heading-title,.hgg-detail-copy .elementor-heading-title{margin-inline:auto!important;text-align:center}
body:not(.home) main .hgg-detail-group-body{padding:0!important;width:100%!important;max-width:100%!important;flex:0 0 auto!important;background:transparent}
.hgg-detail-group-body>.e-con-inner{max-width:100%;padding:0}
.hgg-detail-card-section .hgg-card .elementor-heading-title{min-height:0}
.hgg-detail-card-section .hgg-card{min-height:0;gap:18px!important}
.hgg-detail-section:not(.hgg-detail-split)>.e-con-inner{justify-content:center!important}
.hgg-article-body h2,.hgg-policy-copy .hgg-legal-section h2{text-align:center}
@media(max-width:767px){body:not(.home){--hgg-detail-space:36px;--hgg-detail-heading-gap:24px}}
/* Remove Elementor's implicit 10px container padding from section title bands. */
.hgg-detail-card-group>.e-con-inner,.hgg-detail-group-title,.hgg-detail-section>.e-con-inner,.hgg-detail-copy{padding:0!important}
.hgg-detail-card-group>.e-con-inner{gap:var(--hgg-detail-space)!important}
body:not(.home) main .hgg-detail-card-group+.hgg-detail-card-group{padding-top:0!important}
.hgg-detail-group-title .elementor-widget-text-editor,.hgg-detail-group-title .elementor-widget-container{text-align:center}

/* Offshore brochure request panel. */
.hgg-offshore-resources > .e-con-inner {
  box-sizing: border-box;
  width: 100%;
  max-width: 960px;
  padding: clamp(24px, 4vw, 44px) !important;
  gap: clamp(24px, 4vw, 48px) !important;
  background: #edf5f8;
  border: 1px solid #d2e3ea;
  border-radius: 16px;
}
.hgg-offshore-resources .hgg-detail-copy {
  gap: 14px !important;
  text-align: center;
}
.hgg-offshore-resources .elementor-widget-text-editor,
.hgg-offshore-resources .elementor-widget-button {
  text-align: center;
}
.hgg-offshore-resources .hgg-detail-visual img {
  max-height: 210px;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}
@media (max-width: 767px) {
  .hgg-offshore-resources > .e-con-inner { flex-direction: column !important; }
  .hgg-offshore-resources .hgg-detail-visual img { max-height: 160px; }
}

/* Contact page */
.hgg-contact-hero { background: #edf5f8; }
body:not(.home) main .hgg-contact-hero { padding-block: clamp(28px, 4vw, 48px) !important; }
.hgg-contact-hero .hgg-detail-hero-visual img { max-height: 200px; object-fit: cover; }
.hgg-contact-hero .hgg-detail-hero-copy { gap: 12px !important; }
.hgg-contact-workspace { background: #f4f8fa; }
.hgg-contact-workspace > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1.8fr) minmax(0, 1fr);
  align-items: start !important;
  max-width: 1120px;
  gap: 24px !important;
  padding: 0;
}
.hgg-contact-workspace .hgg-contact-form,
.hgg-contact-workspace .hgg-contact-local { width: 100% !important; min-width: 0; }
.hgg-contact-workspace .hgg-contact-local {
  align-self: start !important;
  border-top: 4px solid var(--hgg-teal) !important;
}
.hgg-contact-local .elementor-widget-text-editor,
.hgg-contact-office-stack .elementor-widget-text-editor { overflow-wrap: anywhere; }
.hgg-contact-workspace .hgg-contact-form { border-radius: 14px !important; }
.hgg-contact-workspace .hgg-contact-form h2 { margin: 0; }
.hgg-contact-workspace .hgg-contact-fields label { margin-bottom: 18px; }
.hgg-contact-workspace .hgg-contact-fields textarea { min-height: 144px; }
.hgg-contact-office-stack {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  padding: 0 !important;
  width: 100% !important;
  min-width: 0;
}
.hgg-contact-office-stack > .hgg-location-card { width: 100% !important; min-width: 0; }
@media (max-width: 767px) {
  .hgg-contact-workspace > .e-con-inner { grid-template-columns: minmax(0, 1fr); }
  .hgg-contact-hero .hgg-detail-hero-visual img { max-height: 150px; }
  .hgg-contact-workspace .hgg-contact-form h2 { font-size: 25px !important; }
}

/* Sitemap directory */
.hgg-sitemap-hero > .e-con-inner,
.hgg-sitemap-directory > .e-con-inner { max-width: 1120px; }
.hgg-sitemap-hero h1 { margin: 0; }
.hgg-sitemap-hero .elementor-widget-text-editor { max-width: 680px; }
.hgg-sitemap-directory { background: #f4f8fa; }
.hgg-sitemap-directory .e-con { padding: 0; }
.hgg-sitemap-directory .hgg-sitemap {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.hgg-sitemap-jumps {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 28px;
}
.hgg-sitemap-jumps a {
  padding: 9px 14px;
  border: 1px solid #cbdde5;
  border-radius: 999px;
  background: #fff;
  color: #153955;
  font-size: 14px;
  font-weight: 650;
}
.hgg-sitemap-card {
  padding: clamp(20px, 3vw, 32px);
  border: 1px solid #d9e4eb;
  border-top: 3px solid var(--hgg-teal);
  border-radius: 12px;
  background: #fff;
  scroll-margin-top: 24px;
}
.hgg-sitemap-card h2 { margin: 0 0 14px; font-size: 24px; }
.hgg-sitemap-card ul { padding: 0; margin: 0; list-style: none; }
.hgg-sitemap-card li { margin: 0; border-top: 1px solid #e6edf1; }
.hgg-sitemap-card li a {
  display: block;
  padding: 10px 0;
  color: #274b64;
  text-decoration: none;
  overflow-wrap: anywhere;
}
.hgg-sitemap-card li a:hover,
.hgg-sitemap-card li a:focus-visible,
.hgg-sitemap-jumps a:hover { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 767px) {
  .hgg-sitemap-directory .hgg-sitemap { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .hgg-sitemap-card h2 { font-size: 22px; }
}
