/*
Theme Name: White Coral Fresh V33
Theme URI: https://whitecoraloffshore.ca/
Author: White Coral Offshore Services Ltd.
Description: Fresh standalone WordPress theme built from scratch for White Coral Offshore Services.
Version: 33.0.0
Text Domain: white-coral-fresh
*/
:root{--navy:#071a2b;--ocean:#1e789f;--accent:#c4262f;--text:#17232c;--muted:#667783;--light:#f3f6f8;--line:#dce4e9;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);line-height:1.6}a{text-decoration:none;color:inherit}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}
.utility{background:var(--navy);color:#cbd8df;font-size:12px}.utility .wrap{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:20px}.utility a{color:#fff}
.header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100}.admin-bar .header{top:32px}.header-row{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.identity{display:flex;align-items:center;gap:13px;min-width:250px}.logo-fallback{width:54px;height:54px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:800}.custom-logo{max-height:58px;width:auto}.identity-copy strong{display:block;color:var(--navy);font-size:18px;line-height:1.05}.identity-copy span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.13em;margin-top:6px}
.nav ul{list-style:none;margin:0;padding:0}.nav>ul{display:flex;align-items:center}.nav li{position:relative}.nav a{display:block;padding:29px 8px;font-size:13px;font-weight:700;color:var(--navy)}.nav li:hover>a{color:var(--accent)}.nav .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:260px;background:#fff;box-shadow:0 14px 30px rgba(0,0,0,.13);border-top:3px solid var(--accent)}.nav li:hover>.sub-menu{display:block}.nav .sub-menu a{padding:11px 15px;border-bottom:1px solid #edf1f3}.nav-cta{border:1px solid var(--accent);padding:9px 13px!important;margin-left:6px}.nav-cta:hover{background:var(--accent);color:#fff!important}.menu-button{display:none;border:1px solid var(--line);background:#fff;padding:9px 12px;font-weight:800}
.hero{background:linear-gradient(105deg,rgba(5,20,31,.97),rgba(10,38,57,.80)),radial-gradient(circle at 80% 45%,#28799a 0,#0f334b 45%,#061622 100%);color:#fff;padding:86px 0 78px}.hero-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:58px;align-items:end}.kicker{font-size:12px;text-transform:uppercase;letter-spacing:.2em;font-weight:800;color:#98d1e2}.hero h1{margin:12px 0 20px;font-size:clamp(44px,5.8vw,76px);line-height:1;letter-spacing:-.04em;max-width:900px}.hero p{color:#d8e4ea;font-size:18px;max-width:780px;margin:0 0 28px}.buttons{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;font-weight:800;border:1px solid transparent}.button.red{background:var(--accent);color:#fff}.button.outline{border-color:#829dac;color:#fff}.hero-box{border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.07);padding:25px}.hero-box strong{display:block;font-size:20px}.hero-box span{display:block;color:#d7e3e9;font-size:14px;margin:6px 0 14px}.hero-box a{display:block;color:#fff;font-weight:700;margin:5px 0}
.quick{border-bottom:1px solid var(--line)}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr)}.quick-item{padding:18px;border-right:1px solid var(--line)}.quick-item:last-child{border-right:0}.quick-item strong{display:block;color:var(--navy);font-size:14px}.quick-item span{display:block;color:var(--muted);font-size:12px}
.section{padding:72px 0}.section.grey{background:var(--light)}.section-title{max-width:780px;margin-bottom:34px}.section-title .kicker{color:var(--accent)}.section h2{color:var(--navy);font-size:clamp(30px,4vw,44px);line-height:1.1;margin:7px 0 13px}.section-title p{color:var(--muted);font-size:17px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service{background:#fff;border:1px solid var(--line);padding:27px;min-height:290px;display:flex;flex-direction:column}.service small{color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.14em}.service h3{color:var(--navy);margin:9px 0 10px;font-size:21px;line-height:1.15}.service p{color:var(--muted);margin:0 0 18px}.service .more{margin-top:auto;font-weight:800;color:var(--ocean)}.safety{border-top:4px solid var(--accent)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:52px}.list{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}.list div{position:relative;padding-left:16px}.list div:before{content:"";width:6px;height:6px;background:var(--accent);position:absolute;left:0;top:.68em}
.band{background:var(--accent);color:#fff;padding:48px 0}.band .wrap{display:flex;align-items:center;justify-content:space-between;gap:28px}.band h2{margin:0 0 4px;color:#fff;font-size:32px}.band p{margin:0;color:#f7dde0}.band .button{background:#fff;color:var(--navy)}
.page-top{background:var(--navy);color:#fff;padding:52px 0}.page-top h1{margin:8px 0 0;font-size:clamp(36px,5vw,56px);line-height:1.05}.page-main{max-width:1000px;padding:56px 0 78px}.page-card{border:1px solid var(--line);background:#fff;padding:40px}.page-card .lead{font-size:19px;color:#42535e}.page-card h2,.page-card h3{color:var(--navy)}.page-card ul{padding-left:22px}.contact-note{background:var(--light);border-left:4px solid var(--accent);padding:18px;margin-top:30px}
.footer{background:#05131e;color:#b9c9d2;padding:48px 0 20px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px}.footer h3,.footer h4{color:#fff;margin-top:0}.footer ul{list-style:none;margin:0;padding:0}.footer li{margin-bottom:6px}.footer a{color:#fff}.copyright{border-top:1px solid #2a414f;margin-top:32px;padding-top:16px;font-size:12px}
@media(max-width:920px){.menu-button{display:block}.header-row{position:relative}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-top:1px solid var(--line);padding:10px 18px;max-height:75vh;overflow:auto}.nav.open{display:block}.nav>ul{display:block}.nav a{padding:10px 0;font-size:14px}.nav .sub-menu{display:block;position:static;box-shadow:none;border:0;padding-left:14px}.hero-layout,.two-col{grid-template-columns:1fr}.grid-3{grid-template-columns:repeat(2,1fr)}.quick-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.wrap{width:min(100% - 26px,1180px)}.utility .wrap{display:block;padding:6px 0}.identity-copy span{display:none}.hero{padding:62px 0}.hero h1{font-size:43px}.grid-3,.list,.footer-grid,.quick-grid{grid-template-columns:1fr}.band .wrap{display:block}.band .button{margin-top:18px}.page-card{padding:25px}}

/* V4 tab / landing pages */
.landing-hero{background:var(--navy);color:#fff;padding:64px 0 58px}
.landing-hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) 330px;gap:58px;align-items:end}
.landing-hero h1{font-size:clamp(42px,5.5vw,66px);line-height:1.02;letter-spacing:-.035em;margin:10px 0 18px}
.landing-hero p{font-size:18px;color:#d9e5eb;max-width:780px;margin:0}
.landing-aside{border-left:1px solid rgba(255,255,255,.22);padding-left:26px}
.landing-aside strong{display:block;font-size:19px;margin-bottom:8px}
.landing-aside p{font-size:14px;color:#d7e3e9}
.landing-aside a{color:#fff;font-weight:800}
.intro-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:48px}
.intro-copy{font-size:17px;color:#43545f}
.intro-copy h2{color:var(--navy);font-size:34px;line-height:1.15;margin-top:0}
.side-panel{background:var(--light);border-top:4px solid var(--accent);padding:26px}
.side-panel h3{color:var(--navy);margin-top:0}.side-panel ul{padding-left:19px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service-tile{background:#fff;border:1px solid var(--line);padding:25px;min-height:230px;display:flex;flex-direction:column}
.service-tile h3{color:var(--navy);font-size:20px;line-height:1.2;margin:7px 0 10px}
.service-tile p{color:var(--muted);font-size:15px;margin:0 0 16px}
.service-tile a{margin-top:auto;color:var(--ocean);font-weight:800}
.service-tile .tag{font-size:10px;font-weight:800;color:var(--accent);letter-spacing:.13em;text-transform:uppercase}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}
.process-step{padding:24px;border-right:1px solid var(--line);background:#fff}
.process-step:last-child{border-right:0}.process-step b{display:block;color:var(--accent);font-size:12px;letter-spacing:.12em}
.process-step strong{display:block;color:var(--navy);font-size:18px;margin:6px 0}.process-step p{font-size:14px;color:var(--muted);margin:0}
.dark-section{background:var(--navy);color:#fff;padding:68px 0}.dark-section h2{color:#fff}.dark-section p{color:#d5e1e7}
.dark-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 28px;margin-top:25px}
.dark-list div{border-top:1px solid #345062;padding-top:12px;font-weight:700}
.equipment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.equipment-card{background:#fff;border:1px solid var(--line);padding:24px}.equipment-card h3{color:var(--navy);margin:0 0 8px}.equipment-card p{color:var(--muted);margin:0}
.contact-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:36px}
.contact-details{background:var(--navy);color:#fff;padding:30px}.contact-details h2{color:#fff;margin-top:0}.contact-details p{color:#d9e5eb}.contact-details a{color:#fff;font-weight:800;display:block;margin:6px 0}
.contact-form-shell{border:1px solid var(--line);padding:32px;background:#fff}.contact-form-shell h2{margin-top:0;color:var(--navy)}
@media(max-width:920px){.landing-hero-grid,.intro-grid,.contact-layout{grid-template-columns:1fr}.landing-aside{border-left:0;border-top:1px solid rgba(255,255,255,.22);padding:20px 0 0}.service-grid,.equipment-grid{grid-template-columns:repeat(2,1fr)}.process-grid{grid-template-columns:repeat(2,1fr)}.dark-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.service-grid,.equipment-grid,.process-grid,.dark-list{grid-template-columns:1fr}.process-step{border-right:0;border-bottom:1px solid var(--line)}}

/* V5: robust routed pages + visible sub-service lists */
.subservice-index{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:28px}
.subservice-link{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fff;border:1px solid var(--line);padding:16px 18px;color:var(--navy);font-weight:800}
.subservice-link:hover{border-color:var(--accent);color:var(--accent)}
.subservice-link span:last-child{font-size:18px}
.detail-hero{background:var(--navy);color:#fff;padding:58px 0 50px}
.detail-hero h1{font-size:clamp(38px,5vw,58px);line-height:1.05;margin:9px 0 0}
.detail-wrap{max-width:1000px;padding:56px 0 78px}
.detail-card{background:#fff;border:1px solid var(--line);padding:38px}
.detail-card .lead{font-size:19px;color:#42535e}
.detail-card h2,.detail-card h3{color:var(--navy)}
.detail-card ul{padding-left:22px}
.detail-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.breadcrumb{font-size:12px;color:#9fc1d2;margin-bottom:9px}
.breadcrumb a{color:#fff}
.landing-subtitle-list{margin-top:32px}
.landing-subtitle-list h3{color:var(--navy);font-size:22px;margin-bottom:14px}
@media(max-width:700px){.subservice-index{grid-template-columns:1fr}}

/* V6 content / SEO page refinements */
.detail-card h2{margin-top:34px;font-size:28px;line-height:1.2}
.detail-card h3{margin-top:26px;font-size:21px}
.detail-card p{font-size:16px;color:#354751}
.detail-card .lead{font-size:20px;line-height:1.55;color:#263944}
.detail-card ul{margin:12px 0 20px}
.detail-card li{margin-bottom:7px}
.seo-summary{background:var(--light);border-left:4px solid var(--accent);padding:18px 20px;margin:28px 0}
.related-services{margin-top:38px;border-top:1px solid var(--line);padding-top:26px}
.related-services h3{margin-top:0}
.related-links{display:flex;flex-wrap:wrap;gap:8px}
.related-links a{border:1px solid var(--line);background:#fff;padding:8px 11px;font-size:13px;font-weight:700;color:var(--navy)}
.related-links a:hover{border-color:var(--accent);color:var(--accent)}
.scope-table{width:100%;border-collapse:collapse;margin:22px 0}
.scope-table th,.scope-table td{border:1px solid var(--line);padding:11px 12px;text-align:left;vertical-align:top}
.scope-table th{background:var(--light);color:var(--navy)}

/* V7 licensed image integration + Canadian identity */
.brand-flag{
  width:28px;height:auto;display:block;flex:0 0 auto;
  margin-left:2px;border:1px solid #d9e1e5;
}
.canadian-note{display:flex;align-items:center;gap:9px;margin-top:13px;color:#fff;font-weight:700;font-size:13px}
.canadian-note img{width:28px;height:auto;border:1px solid rgba(255,255,255,.35)}

.hero.has-photo{
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  position:relative;
}
.hero.has-photo:before,
.landing-hero.has-photo:before,
.detail-hero.has-photo:before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(5,20,31,.88),rgba(7,26,43,.60));
}
.hero.has-photo > .wrap,
.landing-hero.has-photo > .wrap,
.detail-hero.has-photo > .wrap{position:relative;z-index:2}

.landing-hero.has-photo,
.detail-hero.has-photo{
  position:relative;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}
.landing-hero.has-photo{padding:88px 0 76px}
.detail-hero.has-photo{padding:82px 0 70px}
.landing-hero.has-photo h1,
.detail-hero.has-photo h1{max-width:900px}
.landing-hero.has-photo .landing-aside{background:rgba(5,20,31,.38);padding:22px;border-left:3px solid var(--accent)}
.detail-photo-strip{
  width:100%;height:360px;object-fit:cover;display:block;margin:0 0 34px;border:1px solid var(--line);
}
@media(max-width:700px){
  .brand-flag{width:24px}
  .landing-hero.has-photo{padding:68px 0 58px}
  .detail-hero.has-photo{padding:62px 0 52px}
  .detail-photo-strip{height:240px}
}

/* V8: homepage slideshow, stronger brand identity, credentials, LALIZAS page */
.brand-logo-img{
  width:76px;height:48px;object-fit:contain;display:block;flex:0 0 auto;
}
.brand-flag{
  width:42px!important;height:auto;display:block;flex:0 0 auto;
  margin-left:10px;border:1px solid #d9e1e5;
}
.hero.hero-slider{
  position:relative;min-height:590px;display:flex;align-items:center;overflow:hidden;
  background:#071a27;
}
.hero-slides{position:absolute;inset:0;z-index:0}
.hero-slide{
  position:absolute;inset:0;background-size:cover;background-position:center;
  opacity:0;transform:scale(1.02);transition:opacity 1.2s ease,transform 7s ease;
}
.hero-slide.active{opacity:1;transform:scale(1)}
.hero.hero-slider:before{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(4,18,28,.90) 0%,rgba(4,18,28,.69) 48%,rgba(4,18,28,.35) 100%);
}
.hero.hero-slider>.wrap{position:relative;z-index:2}
.hero-dots{
  position:absolute;z-index:3;left:50%;bottom:26px;transform:translateX(-50%);
  display:flex;gap:9px;
}
.hero-dot{
  width:10px;height:10px;border-radius:50%;border:1px solid rgba(255,255,255,.7);
  background:transparent;padding:0;cursor:pointer;
}
.hero-dot.active{background:#fff}
.credential-strip{
  background:#fff;border-bottom:1px solid var(--line);padding:20px 0;
}
.credential-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:14px;
}
.credential-card{
  border:1px solid var(--line);padding:16px 18px;background:#fbfcfd;min-height:104px;
}
.credential-card strong{display:block;color:#0b273a;font-size:15px;line-height:1.25;margin-bottom:6px}
.credential-card span{display:block;color:#5c6870;font-size:13px;line-height:1.45}
.lalizas-callout{
  border-left:4px solid var(--accent);background:#f7fafb;padding:24px 26px;margin:26px 0;
}
.lalizas-callout h2{margin-top:0}
@media(max-width:900px){
  .credential-grid{grid-template-columns:1fr 1fr}
  .hero.hero-slider{min-height:540px}
}
@media(max-width:620px){
  .credential-grid{grid-template-columns:1fr}
  .brand-logo-img{width:60px;height:40px}
  .brand-flag{width:36px!important}
  .hero.hero-slider{min-height:510px}
}

/* V9 — industry memberships and affiliations */
.affiliations-section{
  padding:64px 0;background:#f7f9fa;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.affiliations-section .section-kicker{
  font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--accent);
  margin-bottom:9px;
}
.affiliations-section h2{margin:0 0 10px;color:#0b273a}
.affiliations-section .section-intro{max-width:820px;color:#5b6871;margin-bottom:28px}
.affiliation-grid{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;
}
.affiliation-card{
  background:#fff;border:1px solid var(--line);padding:19px 17px;min-height:126px;
  display:flex;flex-direction:column;justify-content:center;
}
.affiliation-card strong{
  color:#0b273a;font-size:15px;line-height:1.3;margin-bottom:6px;
}
.affiliation-card span{
  font-size:12px;line-height:1.45;color:#6b747a;
}
.about-affiliations{margin:34px 0 10px}
.about-affiliations h2{margin-bottom:10px}
.about-affiliations ul{
  display:grid;grid-template-columns:1fr 1fr;gap:10px 28px;margin:20px 0 0;padding-left:20px;
}
.about-affiliations li{padding:3px 0}
@media(max-width:1000px){
  .affiliation-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:700px){
  .affiliation-grid{grid-template-columns:1fr 1fr}
  .about-affiliations ul{grid-template-columns:1fr}
}
@media(max-width:480px){
  .affiliation-grid{grid-template-columns:1fr}
}

/* V10 — organic search / local SEO content blocks */
.seo-core-services{padding:72px 0;background:#fff}
.seo-core-services .section-intro{max-width:850px;color:#59656d;margin-bottom:30px}
.seo-core-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.seo-core-card{border:1px solid var(--line);padding:28px 26px;background:#fbfcfd}
.seo-core-card h2{font-size:23px;margin:0 0 12px;color:#0b273a}
.seo-core-card p{color:#59656d;line-height:1.65}
.seo-core-card a{font-weight:800;text-decoration:none}
.location-seo{padding:58px 0;background:#071a27;color:#fff}
.location-seo h2{color:#fff;margin-top:0}
.location-seo p{max-width:930px;color:#d9e2e7;line-height:1.7}
.location-seo strong{color:#fff}
.seo-summary{margin-top:24px;padding:16px 18px;border-left:3px solid var(--accent);background:#f7f9fa}
@media(max-width:850px){.seo-core-grid{grid-template-columns:1fr}}


/* =========================================================
   V11 — Visual marine design system
   ========================================================= */
:root{
  --deep:#061722;
  --deep2:#0a2738;
  --ice:#eef4f6;
  --muted:#60717b;
}
body{overflow-x:hidden}
img{max-width:100%;height:auto}
.section-dark{background:var(--deep);color:#fff}
.section-dark h2,.section-dark h3{color:#fff}
.section-dark p{color:#cedae0}

.reveal{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .65s ease, transform .65s ease;
}
.reveal.in-view{opacity:1;transform:none}

.landing-hero,
.detail-hero{
  min-height:460px;
  display:flex;
  align-items:center;
  background:linear-gradient(120deg,#071a27,#123c51);
}
.landing-hero.has-photo,
.detail-hero.has-photo{
  min-height:510px;
  background-position:center;
  background-size:cover;
}
.landing-hero.has-photo:before,
.detail-hero.has-photo:before{
  background:linear-gradient(90deg,rgba(4,17,27,.91) 0%,rgba(4,17,27,.72) 48%,rgba(4,17,27,.30) 100%);
}
.landing-hero h1,.detail-hero h1{
  font-size:clamp(38px,5vw,66px);
  line-height:1.02;
  letter-spacing:-.03em;
}
.landing-hero p{font-size:18px;max-width:720px;line-height:1.65}
.landing-aside{
  backdrop-filter:blur(8px);
  background:rgba(3,16,25,.48)!important;
  border:1px solid rgba(255,255,255,.16);
  border-left:3px solid var(--accent)!important;
  box-shadow:0 22px 60px rgba(0,0,0,.18);
}

.visual-service-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:15px;
  margin-top:28px;
}
.visual-service-card{
  position:relative;
  overflow:hidden;
  min-height:122px;
  padding:22px 22px 20px;
  border:1px solid var(--line);
  background:#fff;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.visual-service-card:before{
  content:"";
  position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent);
  transform:scaleY(.25);transform-origin:top;transition:transform .3s ease;
}
.visual-service-card:hover{
  transform:translateY(-5px);
  box-shadow:0 18px 42px rgba(7,31,45,.12);
  border-color:#cbd9df;
}
.visual-service-card:hover:before{transform:scaleY(1)}
.visual-service-card strong{display:block;color:var(--navy);font-size:17px;margin-bottom:8px}
.visual-service-card span{color:#718089;font-size:13px}
.visual-service-card .arrow{position:absolute;right:18px;bottom:16px;font-size:22px;color:var(--accent)}

.why-band{
  padding:64px 0;
  background:linear-gradient(120deg,#071a27,#0d3247);
}
.why-grid{
  display:grid;grid-template-columns:1.1fr 1fr;gap:58px;align-items:center;
}
.why-points{
  display:grid;grid-template-columns:1fr 1fr;gap:12px;
}
.why-point{
  padding:17px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.045);
}
.why-point strong{color:#fff;display:block;margin-bottom:5px}
.why-point span{color:#bdccd3;font-size:13px}

.detail-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 290px;
  gap:42px;
  align-items:start;
}
.detail-card{
  box-shadow:0 22px 54px rgba(8,31,43,.08);
  border:1px solid var(--line);
}
.detail-card h2{
  margin-top:34px;
  padding-top:10px;
  position:relative;
}
.detail-card h2:before{
  content:"";
  position:absolute;left:0;top:0;width:44px;height:3px;background:var(--accent);
}
.detail-side{
  position:sticky;
  top:110px;
  padding:24px;
  background:var(--deep);
  color:#fff;
}
.detail-side h3{color:#fff;margin-top:0}
.detail-side p{color:#c7d4da;font-size:14px}
.detail-side a{display:block;color:#fff;text-decoration:none;margin:12px 0;font-weight:700}
.detail-side .button{margin-top:18px;text-align:center}
.detail-field-image{
  width:100%;height:370px;object-fit:cover;display:block;
  margin:30px 0;border-radius:2px;
}
.field-caption{
  font-size:12px;color:#728089;margin-top:-20px;margin-bottom:28px;
  border-left:2px solid var(--accent);padding-left:10px;
}

.home-fieldwork{padding:78px 0;background:#f4f7f8}
.fieldwork-head{
  display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px
}
.fieldwork-head p{max-width:620px;color:#63717a}
.fieldwork-grid{
  display:grid;
  grid-template-columns:1.35fr 1fr 1fr;
  grid-auto-rows:240px;
  gap:12px;
}
.fieldwork-card{
  position:relative;overflow:hidden;background:#0a2636;
}
.fieldwork-card:first-child{grid-row:span 2}
.fieldwork-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.fieldwork-card:hover img{transform:scale(1.045)}
.fieldwork-card:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(0deg,rgba(2,14,22,.80),transparent 62%);
}
.fieldwork-card span{
  position:absolute;z-index:2;left:18px;right:18px;bottom:16px;
  color:#fff;font-size:14px;font-weight:800;
}
.fieldwork-kicker{color:var(--accent);font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}

.safety-video-section{padding:68px 0;background:#071a27;color:#fff}
.safety-video-grid{
  display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:center
}
.safety-video-section h2{color:#fff}
.safety-video-section p{color:#ced9df}
.safety-video-wrap video{
  display:block;width:100%;background:#000;box-shadow:0 25px 60px rgba(0,0,0,.26)
}

.motion-line{
  height:3px;width:100%;overflow:hidden;background:#dfe7ea;position:relative
}
.motion-line:after{
  content:"";position:absolute;top:0;left:-25%;width:25%;height:100%;background:var(--accent);
  animation:wcfSweep 3.8s ease-in-out infinite;
}
@keyframes wcfSweep{0%{left:-25%}55%,100%{left:100%}}

.hero-box{animation:wcfFloat 5s ease-in-out infinite}
@keyframes wcfFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}

.service,.credential-card,.seo-core-card,.affiliation-card{
  transition:transform .25s ease,box-shadow .25s ease;
}
.service:hover,.credential-card:hover,.seo-core-card:hover,.affiliation-card:hover{
  transform:translateY(-5px);box-shadow:0 18px 44px rgba(4,25,37,.10)
}

@media(max-width:900px){
  .visual-service-grid,.why-points{grid-template-columns:1fr}
  .why-grid,.detail-layout,.safety-video-grid{grid-template-columns:1fr}
  .detail-side{position:relative;top:auto}
  .fieldwork-grid{grid-template-columns:1fr 1fr;grid-auto-rows:220px}
  .fieldwork-card:first-child{grid-row:auto;grid-column:span 2}
}
@media(max-width:600px){
  .landing-hero,.detail-hero,.landing-hero.has-photo,.detail-hero.has-photo{min-height:420px}
  .fieldwork-grid{grid-template-columns:1fr;grid-auto-rows:220px}
  .fieldwork-card:first-child{grid-column:auto}
  .detail-field-image{height:250px}
}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .hero-box,.motion-line:after{animation:none}
  .service,.credential-card,.seo-core-card,.affiliation-card,.fieldwork-card img{transition:none}
}


/* =========================================================
   V12 — Contact inquiry form + White Coral Marine Assistant
   ========================================================= */
.wcf-contact-grid{
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  gap:42px;align-items:start;
}
.wcf-inquiry-card{
  background:#fff;border:1px solid var(--line);padding:30px;
  box-shadow:0 20px 50px rgba(6,28,42,.08);
}
.wcf-inquiry-card h2{margin-top:0}
.wcf-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.wcf-field{margin-bottom:16px}
.wcf-field label{display:block;font-weight:800;color:#122f40;margin-bottom:7px;font-size:14px}
.wcf-field input,.wcf-field textarea{
  width:100%;box-sizing:border-box;border:1px solid #cbd6dc;background:#fff;
  padding:12px 13px;font:inherit;color:#162d39;border-radius:2px;
}
.wcf-field input:focus,.wcf-field textarea:focus{
  outline:none;border-color:#66889a;box-shadow:0 0 0 3px rgba(39,104,135,.10)
}
.wcf-field textarea{min-height:170px;resize:vertical}
.wcf-form-note{font-size:12px;color:#66747c;line-height:1.55;margin:8px 0 17px}
.wcf-form-status{
  padding:12px 14px;margin:0 0 16px;border-left:3px solid #276887;background:#f2f7f9;
}
.wcf-form-status.success{border-color:#2f7653;background:#f2f8f5}
.wcf-form-status.error{border-color:#a72e2e;background:#fff4f4}
.wcf-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

.wcf-contact-aside{
  background:#071a27;color:#fff;padding:28px;position:sticky;top:105px;
}
.wcf-contact-aside h3{color:#fff;margin-top:0}
.wcf-contact-aside p{color:#c8d5dc}
.wcf-contact-aside .mini{
  border-top:1px solid rgba(255,255,255,.13);padding-top:16px;margin-top:18px;
}
.wcf-contact-aside strong{display:block;color:#fff;margin-bottom:5px}

/* Chat button */
#wcf-chat-launch{
  position:fixed;right:24px;bottom:24px;z-index:99990;
  border:0;border-radius:999px;background:#b61f24;color:#fff;
  box-shadow:0 12px 32px rgba(0,0,0,.22);
  padding:14px 18px;font-weight:900;cursor:pointer;
  display:flex;align-items:center;gap:9px;
}
#wcf-chat-launch .pulse{
  width:9px;height:9px;border-radius:50%;background:#fff;
  box-shadow:0 0 0 0 rgba(255,255,255,.55);animation:wcfPulse 2.2s infinite;
}
@keyframes wcfPulse{70%{box-shadow:0 0 0 10px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}

#wcf-chat{
  position:fixed;right:24px;bottom:86px;z-index:99991;
  width:min(390px,calc(100vw - 32px));max-height:min(650px,calc(100vh - 120px));
  background:#fff;border:1px solid #cbd8de;box-shadow:0 24px 70px rgba(0,0,0,.26);
  display:none;flex-direction:column;overflow:hidden;border-radius:8px;
}
#wcf-chat.open{display:flex}
.wcf-chat-head{
  background:#071a27;color:#fff;padding:15px 16px;display:flex;align-items:center;gap:11px;
}
.wcf-chat-head img{width:38px;height:26px;object-fit:contain;background:#fff}
.wcf-chat-head strong{display:block}
.wcf-chat-head small{display:block;color:#bcd0d9;margin-top:2px}
#wcf-chat-close{margin-left:auto;background:none;border:0;color:#fff;font-size:24px;cursor:pointer}
.wcf-chat-body{padding:14px;background:#f4f7f8;overflow-y:auto;min-height:280px;max-height:440px}
.wcf-msg{
  max-width:86%;padding:10px 12px;margin:0 0 10px;border-radius:8px;line-height:1.45;font-size:14px;
}
.wcf-msg.bot{background:#fff;border:1px solid #dae3e7;color:#203946}
.wcf-msg.user{margin-left:auto;background:#0b3449;color:#fff}
.wcf-quick{display:flex;flex-wrap:wrap;gap:7px;margin:9px 0 13px}
.wcf-quick button{
  border:1px solid #c3d2d9;background:#fff;color:#183b4d;border-radius:999px;
  padding:7px 10px;font-size:12px;font-weight:800;cursor:pointer;
}
.wcf-quick button:hover{border-color:#7d9eae;background:#eef5f7}
.wcf-chat-input{
  border-top:1px solid #d8e2e6;background:#fff;padding:10px;display:flex;gap:8px;
}
.wcf-chat-input input{
  flex:1;min-width:0;border:1px solid #cbd8de;padding:10px;font:inherit;
}
.wcf-chat-input button{
  border:0;background:#b61f24;color:#fff;font-weight:900;padding:9px 13px;cursor:pointer;
}
.wcf-chat-foot{
  background:#fff;padding:7px 12px;border-top:1px solid #eef1f2;
  color:#77848a;font-size:10px;text-align:center;
}
@media(max-width:820px){
  .wcf-contact-grid{grid-template-columns:1fr}
  .wcf-contact-aside{position:relative;top:auto}
}
@media(max-width:520px){
  .wcf-form-row{grid-template-columns:1fr}
  #wcf-chat-launch{right:14px;bottom:14px}
  #wcf-chat{right:16px;bottom:76px;width:calc(100vw - 32px)}
}

/* V13 corrections */
.brand-flag{width:54px!important;height:27px!important;object-fit:cover;border:1px solid #d7dfe3}
.canadian-note img{width:44px!important;height:22px!important;object-fit:cover}
.wcf-social-link{
  display:inline-flex;align-items:center;gap:8px;margin-top:13px;
  color:#fff!important;text-decoration:none!important;font-weight:800;
}
.wcf-social-icon{
  width:29px;height:29px;border-radius:3px;background:#0a66c2;color:#fff;
  display:inline-flex;align-items:center;justify-content:center;
  font-family:Arial,sans-serif;font-weight:bold;font-size:17px;line-height:1;
}
.wcf-social-link:hover{opacity:.86}

/* V14 multilingual */
.lang-switcher{position:relative;margin-left:12px}
.lang-switcher>button{border:1px solid #cbd7dc;background:#fff;color:#15394b;padding:7px 10px;font-weight:800;cursor:pointer;border-radius:3px;font-size:12px}
.lang-menu{display:none;position:absolute;right:0;top:calc(100% + 7px);min-width:180px;background:#fff;border:1px solid #cbd7dc;box-shadow:0 15px 35px rgba(0,0,0,.14);z-index:9999;padding:6px}
.lang-switcher.open .lang-menu{display:block}
.lang-menu a{display:block;padding:9px 10px;color:#17394a;text-decoration:none;font-size:13px}
.lang-menu a:hover,.lang-menu a.current{background:#eef4f6}
.translation-note{border-left:3px solid var(--accent);background:#f4f8fa;padding:13px 15px;color:#52636c;font-size:13px;margin:18px 0 24px}
.translation-summary{background:#f7fafb;border:1px solid var(--line);padding:20px 22px;margin:22px 0}
.translation-summary h3{margin:0 0 9px;color:#0b273a}
@media(max-width:980px){.lang-switcher{margin:10px 0 0}.lang-menu{right:auto;left:0}}

/* =========================================================
   V15 — multilingual header layout fix + country flags
   ========================================================= */
.header .header-row{
  display:grid!important;
  grid-template-columns:300px minmax(0,1fr) auto;
  align-items:center;
  gap:22px;
}
.identity{
  min-width:0;
  width:300px;
  display:grid!important;
  grid-template-columns:76px minmax(0,1fr) 54px;
  gap:10px;
  align-items:center;
}
.identity-copy{
  min-width:0;
}
.identity-copy strong{
  display:block;
  white-space:nowrap;
  font-size:19px;
  line-height:1.05;
}
.identity-copy span{
  display:block;
  font-size:9px;
  line-height:1.55;
  letter-spacing:.13em;
  white-space:normal;
}
.brand-logo-img{
  width:76px!important;
  height:54px!important;
  object-fit:contain;
}
.brand-flag{
  width:46px!important;
  height:23px!important;
  margin-left:0!important;
}
.nav{
  min-width:0;
}
.nav>ul{
  display:flex!important;
  align-items:center;
  justify-content:center;
  gap:2px;
  margin:0;
  padding:0;
  flex-wrap:nowrap!important;
}
.nav>ul>li{
  flex:0 0 auto;
}
.nav>ul>li>a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:8px 8px!important;
  font-size:12px!important;
  line-height:1.25;
  text-align:center;
  white-space:normal;
  max-width:112px;
}
.nav>ul>li:last-child>a{
  max-width:none;
  padding-left:13px!important;
  padding-right:13px!important;
}
.lang-switcher{
  margin-left:0!important;
  justify-self:end;
  min-width:124px;
}
.lang-switcher>button{
  width:100%;
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  white-space:nowrap;
}
.lang-menu{
  min-width:205px!important;
}
.lang-menu a{
  display:flex!important;
  align-items:center;
  gap:10px;
  font-weight:700;
}
.lang-flag{
  font-size:20px;
  width:26px;
  text-align:center;
  line-height:1;
}
.lang-current-flag{
  font-size:19px;
  line-height:1;
}
@media(max-width:1250px){
  .header .header-row{
    grid-template-columns:270px minmax(0,1fr) auto;
    gap:14px;
  }
  .identity{
    width:270px;
    grid-template-columns:64px minmax(0,1fr) 44px;
    gap:8px;
  }
  .brand-logo-img{width:64px!important;height:48px!important}
  .brand-flag{width:40px!important;height:20px!important}
  .identity-copy strong{font-size:17px}
  .identity-copy span{font-size:8px;letter-spacing:.10em}
  .nav>ul>li>a{font-size:11px!important;padding:7px 6px!important;max-width:100px}
  .lang-switcher{min-width:110px}
}
@media(max-width:1080px){
  .header .header-row{
    grid-template-columns:minmax(0,1fr) auto;
  }
  .identity{width:auto;max-width:380px}
  .menu-button{display:block!important;justify-self:end}
  .nav{
    grid-column:1/-1;
    display:none;
    width:100%;
  }
  .nav.open{display:block}
  .nav>ul{
    display:grid!important;
    grid-template-columns:1fr 1fr;
    gap:0;
    padding:10px 0;
  }
  .nav>ul>li>a{
    max-width:none;
    justify-content:flex-start;
    text-align:left;
    min-height:42px;
    padding:8px 10px!important;
  }
  .lang-switcher{
    position:absolute;
    right:76px;
    top:50%;
    transform:translateY(-50%);
  }
  .header{position:relative}
}
@media(max-width:640px){
  .identity{
    grid-template-columns:52px minmax(0,1fr);
    max-width:255px;
  }
  .brand-logo-img{width:52px!important;height:42px!important}
  .identity>.brand-flag{display:none}
  .identity-copy strong{font-size:15px}
  .identity-copy span{display:none}
  .lang-switcher{right:60px;min-width:auto}
  .lang-switcher>button{
    width:auto;
    min-width:46px;
    padding:7px 8px;
    font-size:0;
  }
  .lang-switcher>button .lang-current-flag{font-size:20px}
  .lang-switcher>button .lang-current-name{display:none}
  .nav>ul{grid-template-columns:1fr}
}

/* =========================================================
   V16 — refined White Coral brand lockup
   ========================================================= */
.header{
  background:#fff;
  border-bottom:1px solid #d8e1e5;
  box-shadow:0 4px 18px rgba(7,28,40,.05);
}
.header .header-row{
  grid-template-columns:360px minmax(0,1fr) auto!important;
  min-height:92px;
}
.identity{
  width:360px!important;
  display:grid!important;
  grid-template-columns:78px minmax(0,1fr) 68px!important;
  gap:13px!important;
  align-items:center!important;
  padding:9px 0;
  text-decoration:none!important;
}
.brand-logo-img{
  width:78px!important;
  height:60px!important;
  object-fit:contain!important;
  background:#fff;
  padding:2px;
}
.identity-copy{
  display:flex!important;
  flex-direction:column;
  justify-content:center;
  min-width:0;
}
.identity-copy strong{
  font-size:20px!important;
  line-height:1.05!important;
  letter-spacing:-.02em!important;
  font-weight:800!important;
  color:#0a2232!important;
  white-space:nowrap!important;
  margin-bottom:7px;
}
.identity-copy span{
  font-size:9px!important;
  line-height:1.5!important;
  letter-spacing:.16em!important;
  text-transform:uppercase;
  color:#5f7480!important;
  white-space:normal!important;
  max-width:190px;
}
.brand-flag{
  width:66px!important;
  height:41px!important;
  object-fit:cover!important;
  border:1px solid #d8e0e4!important;
  margin:0!important;
  box-shadow:0 3px 9px rgba(0,0,0,.08);
}
.header .identity:hover .identity-copy strong{
  color:#b71f24!important;
}
.nav>ul>li>a{
  font-weight:800!important;
  color:#132f40!important;
}
.nav>ul>li>a:hover{
  color:#b71f24!important;
}
.lang-switcher>button{
  border-radius:4px!important;
  background:#f7fafb!important;
}
.canadian-note img{
  width:54px!important;
  height:34px!important;
  object-fit:cover!important;
  border:1px solid rgba(255,255,255,.28)!important;
}
@media(max-width:1280px){
  .header .header-row{
    grid-template-columns:320px minmax(0,1fr) auto!important;
  }
  .identity{
    width:320px!important;
    grid-template-columns:68px minmax(0,1fr) 58px!important;
    gap:10px!important;
  }
  .brand-logo-img{width:68px!important;height:54px!important}
  .brand-flag{width:56px!important;height:35px!important}
  .identity-copy strong{font-size:18px!important}
  .identity-copy span{font-size:8px!important;letter-spacing:.12em!important}
}
@media(max-width:1080px){
  .header .header-row{
    grid-template-columns:minmax(0,1fr) auto!important;
  }
  .identity{
    width:auto!important;
    max-width:350px;
  }
}
@media(max-width:640px){
  .identity{
    grid-template-columns:58px minmax(0,1fr)!important;
    max-width:270px;
  }
  .brand-logo-img{width:58px!important;height:46px!important}
  .identity>.brand-flag{display:none!important}
  .identity-copy strong{font-size:16px!important}
  .identity-copy span{
    display:block!important;
    font-size:7px!important;
    line-height:1.35!important;
    letter-spacing:.08em!important;
  }
}

/* =========================================================
   V17 — compact left brand + full-width navigation
   ========================================================= */
.header .wrap{
  max-width:1360px!important;
  padding-left:18px!important;
  padding-right:18px!important;
}
.header .header-row{
  display:grid!important;
  grid-template-columns:300px minmax(0,1fr) 118px!important;
  gap:16px!important;
  align-items:center!important;
  min-height:82px!important;
}
.identity{
  width:300px!important;
  max-width:300px!important;
  display:grid!important;
  grid-template-columns:72px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:center!important;
  padding:7px 0!important;
  overflow:visible!important;
}
.identity>.brand-flag{
  display:none!important;
}
.brand-logo-img{
  width:72px!important;
  height:54px!important;
  object-fit:contain!important;
}
.identity-copy strong{
  font-size:19px!important;
  margin-bottom:6px!important;
}
.identity-copy span{
  font-size:8px!important;
  line-height:1.45!important;
  letter-spacing:.13em!important;
  max-width:205px!important;
}

.nav{
  min-width:0!important;
  width:100%!important;
}
.nav>ul{
  width:100%!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:0!important;
}
.nav>ul>li{
  min-width:0!important;
  flex:0 1 auto!important;
}
.nav>ul>li>a{
  position:relative!important;
  background:none!important;
  background-image:none!important;
  border:0!important;
  min-height:44px!important;
  max-width:none!important;
  padding:7px 8px!important;
  font-size:12px!important;
  line-height:1.15!important;
  white-space:normal!important;
  text-align:center!important;
}
.nav>ul>li:first-child>a{
  background:none!important;
  background-image:none!important;
  color:#132f40!important;
}
.nav>ul>li:last-child>a{
  border:1px solid #d72a2f!important;
  padding:9px 12px!important;
  margin-left:3px!important;
}

.lang-switcher{
  justify-self:end!important;
  width:118px!important;
  min-width:118px!important;
}
.lang-switcher>button{
  width:118px!important;
  padding:7px 8px!important;
  font-size:12px!important;
}
.lang-current-flag{font-size:18px!important}

@media(max-width:1240px){
  .header .header-row{
    grid-template-columns:270px minmax(0,1fr) 105px!important;
    gap:10px!important;
  }
  .identity{
    width:270px!important;
    max-width:270px!important;
    grid-template-columns:62px minmax(0,1fr)!important;
    gap:9px!important;
  }
  .brand-logo-img{width:62px!important;height:48px!important}
  .identity-copy strong{font-size:17px!important}
  .identity-copy span{font-size:7px!important;letter-spacing:.10em!important}
  .nav>ul>li>a{font-size:11px!important;padding:6px 5px!important}
  .lang-switcher,.lang-switcher>button{width:105px!important;min-width:105px!important}
}
@media(max-width:1080px){
  .header .header-row{
    grid-template-columns:minmax(0,1fr) auto!important;
  }
  .identity{
    width:auto!important;
    max-width:300px!important;
  }
  .lang-switcher{
    position:absolute!important;
    right:74px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
  }
}

/* =========================================================
   V18 — Canada flag + White Coral logo grouped hard-left
   ========================================================= */
.header .wrap{
  max-width:1420px!important;
  padding-left:8px!important;
  padding-right:14px!important;
}
.header .header-row{
  grid-template-columns:330px minmax(0,1fr) 112px!important;
  gap:12px!important;
  min-height:80px!important;
}
.identity{
  width:330px!important;
  max-width:330px!important;
  display:grid!important;
  grid-template-columns:62px 62px minmax(0,1fr)!important;
  gap:8px!important;
  align-items:center!important;
  padding:6px 0!important;
  margin-left:0!important;
}
.identity .brand-canada{
  width:62px!important;
  height:48px!important;
  object-fit:cover!important;
  border:1px solid #d9e1e5;
  box-shadow:0 2px 7px rgba(0,0,0,.07);
}
.brand-logo-img{
  width:62px!important;
  height:48px!important;
  object-fit:contain!important;
  padding:0!important;
}
.identity-copy{
  min-width:0!important;
}
.identity-copy strong{
  font-size:18px!important;
  line-height:1.05!important;
  margin-bottom:5px!important;
  white-space:nowrap!important;
}
.identity-copy span{
  font-size:7.5px!important;
  line-height:1.4!important;
  letter-spacing:.11em!important;
  max-width:185px!important;
}

.nav>ul>li>a{
  padding:6px 7px!important;
  font-size:11.5px!important;
}
.lang-switcher,
.lang-switcher>button{
  width:112px!important;
  min-width:112px!important;
}

@media(max-width:1260px){
  .header .header-row{
    grid-template-columns:300px minmax(0,1fr) 100px!important;
  }
  .identity{
    width:300px!important;
    max-width:300px!important;
    grid-template-columns:54px 54px minmax(0,1fr)!important;
    gap:7px!important;
  }
  .identity .brand-canada,
  .brand-logo-img{
    width:54px!important;
    height:42px!important;
  }
  .identity-copy strong{font-size:16.5px!important}
  .identity-copy span{font-size:7px!important;letter-spacing:.09em!important}
  .nav>ul>li>a{font-size:10.5px!important;padding:6px 5px!important}
  .lang-switcher,.lang-switcher>button{width:100px!important;min-width:100px!important}
}
@media(max-width:1080px){
  .header .header-row{
    grid-template-columns:minmax(0,1fr) auto!important;
  }
  .identity{
    width:auto!important;
    max-width:300px!important;
  }
  .identity .brand-canada{
    display:none!important;
  }
  .identity{
    grid-template-columns:58px minmax(0,1fr)!important;
  }
}

/* =========================================================
   V19 — header spacing, larger service line, CANADA label
   ========================================================= */
.header .wrap{
  max-width:1460px!important;
  padding-left:8px!important;
  padding-right:12px!important;
}
.header .header-row{
  grid-template-columns:338px minmax(0,1fr) 108px!important;
  gap:16px!important;
  min-height:84px!important;
}

/* Brand block */
.identity{
  width:338px!important;
  max-width:338px!important;
  grid-template-columns:64px 64px minmax(0,1fr)!important;
  gap:9px!important;
  align-items:center!important;
}
.brand-canada-wrap{
  width:64px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
}
.identity .brand-canada{
  width:64px!important;
  height:46px!important;
  object-fit:cover!important;
}
.brand-canada-label{
  display:block;
  font-size:8px;
  line-height:1;
  font-weight:900;
  letter-spacing:.16em;
  color:#516874;
}
.brand-logo-img{
  width:64px!important;
  height:46px!important;
  object-fit:contain!important;
}
.identity-copy strong{
  font-size:19px!important;
  line-height:1.05!important;
  margin-bottom:6px!important;
  white-space:nowrap!important;
}
.identity-copy span{
  font-size:9px!important;
  line-height:1.5!important;
  letter-spacing:.12em!important;
  font-weight:600!important;
  max-width:195px!important;
  color:#506875!important;
}

/* Main navigation */
.nav>ul{
  justify-content:center!important;
  gap:9px!important;
}
.nav>ul>li{
  flex:0 0 auto!important;
}
.nav>ul>li>a{
  padding:8px 7px!important;
  font-size:11.5px!important;
  line-height:1.15!important;
  font-weight:800!important;
  white-space:nowrap!important;
  max-width:none!important;
}
.nav>ul>li:nth-child(6)>a,
.nav>ul>li:nth-child(7)>a{
  white-space:normal!important;
  text-align:center!important;
  min-width:78px;
}
.nav>ul>li:last-child>a{
  margin-left:4px!important;
  padding-left:12px!important;
  padding-right:12px!important;
}

/* Language button */
.lang-switcher{
  margin-left:4px!important;
  width:108px!important;
  min-width:108px!important;
}
.lang-switcher>button{
  width:108px!important;
  min-width:108px!important;
}

@media(max-width:1320px){
  .header .header-row{
    grid-template-columns:315px minmax(0,1fr) 100px!important;
    gap:11px!important;
  }
  .identity{
    width:315px!important;
    max-width:315px!important;
    grid-template-columns:56px 56px minmax(0,1fr)!important;
    gap:7px!important;
  }
  .brand-canada-wrap{width:56px}
  .identity .brand-canada,
  .brand-logo-img{
    width:56px!important;
    height:42px!important;
  }
  .brand-canada-label{font-size:7px}
  .identity-copy strong{font-size:17px!important}
  .identity-copy span{font-size:8px!important;letter-spacing:.09em!important}
  .nav>ul{gap:5px!important}
  .nav>ul>li>a{font-size:10.5px!important;padding:7px 5px!important}
  .lang-switcher,.lang-switcher>button{width:100px!important;min-width:100px!important}
}
@media(max-width:1080px){
  .brand-canada-wrap{display:none!important}
  .identity{
    grid-template-columns:58px minmax(0,1fr)!important;
    width:auto!important;
    max-width:300px!important;
  }
}

/* =========================================================
   V21 — move brand block further left, preserve rest
   ========================================================= */
.header .wrap{
  max-width:1500px!important;
  padding-left:0!important;
  padding-right:12px!important;
}

.header .header-row{
  grid-template-columns:320px minmax(0,1fr) 108px!important;
  gap:18px!important;
}

.identity{
  width:320px!important;
  max-width:320px!important;
  margin-left:-18px!important;
  grid-template-columns:60px 60px minmax(0,1fr)!important;
  gap:8px!important;
}

.brand-canada-wrap{width:60px!important}
.identity .brand-canada,
.brand-logo-img{
  width:60px!important;
  height:44px!important;
}

.identity-copy strong{
  font-size:18px!important;
}
.identity-copy span{
  font-size:8.5px!important;
  max-width:185px!important;
}

/* give Home a little more separation from the brand */
.nav>ul>li:first-child{
  margin-left:8px!important;
}

@media(max-width:1320px){
  .header .header-row{
    grid-template-columns:295px minmax(0,1fr) 100px!important;
    gap:12px!important;
  }
  .identity{
    width:295px!important;
    max-width:295px!important;
    margin-left:-10px!important;
    grid-template-columns:54px 54px minmax(0,1fr)!important;
  }
  .brand-canada-wrap{width:54px!important}
  .identity .brand-canada,
  .brand-logo-img{
    width:54px!important;
    height:41px!important;
  }
  .identity-copy strong{font-size:16.5px!important}
  .identity-copy span{font-size:7.7px!important}
  .nav>ul>li:first-child{margin-left:5px!important}
}

/* =========================================================
   V22 — Contact / language selector overlap fix
   ========================================================= */
.header .header-row{
  grid-template-columns:320px minmax(0,1fr) 122px!important;
  gap:14px!important;
}

/* protect the Contact tab from being squeezed */
.nav>ul>li:last-child{
  flex:0 0 auto!important;
  min-width:78px!important;
  margin-right:10px!important;
}
.nav>ul>li:last-child>a{
  min-width:78px!important;
  box-sizing:border-box!important;
  margin-left:0!important;
  white-space:nowrap!important;
}

/* language selector gets its own dedicated space */
.lang-switcher{
  position:relative!important;
  right:auto!important;
  top:auto!important;
  transform:none!important;
  justify-self:end!important;
  width:122px!important;
  min-width:122px!important;
  margin-left:0!important;
  z-index:20!important;
}
.lang-switcher>button{
  width:122px!important;
  min-width:122px!important;
}

/* slightly tighten service gaps to preserve desktop room */
.nav>ul{
  gap:7px!important;
}
.nav>ul>li>a{
  padding-left:6px!important;
  padding-right:6px!important;
}

@media(max-width:1320px){
  .header .header-row{
    grid-template-columns:295px minmax(0,1fr) 112px!important;
    gap:10px!important;
  }
  .nav>ul{
    gap:4px!important;
  }
  .nav>ul>li:last-child{
    min-width:72px!important;
    margin-right:7px!important;
  }
  .nav>ul>li:last-child>a{
    min-width:72px!important;
  }
  .lang-switcher,
  .lang-switcher>button{
    width:112px!important;
    min-width:112px!important;
  }
}

@media(max-width:1080px){
  .lang-switcher{
    position:absolute!important;
    right:74px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
  }
}

/* V23 — exact Contact / language alignment */
@media(min-width:1081px){
  .header .header-row{
    align-items:center!important;
  }

  .nav{
    display:flex!important;
    align-items:center!important;
  }

  .nav>ul{
    align-items:center!important;
  }

  .nav>ul>li:last-child{
    display:flex!important;
    align-items:center!important;
    margin-top:0!important;
    margin-bottom:0!important;
  }

  .nav>ul>li:last-child>a{
    height:44px!important;
    min-height:44px!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding-top:0!important;
    padding-bottom:0!important;
    margin-top:0!important;
    margin-bottom:0!important;
  }

  .lang-switcher{
    position:relative!important;
    top:0!important;
    right:auto!important;
    bottom:auto!important;
    transform:none!important;
    align-self:center!important;
    display:flex!important;
    align-items:center!important;
    height:44px!important;
    margin-top:0!important;
    margin-bottom:0!important;
  }

  .lang-switcher>button{
    height:44px!important;
    min-height:44px!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding-top:0!important;
    padding-bottom:0!important;
    margin:0!important;
  }
}

/* =========================================================
   V24 — Contact and language selector edge alignment
   ========================================================= */
@media(min-width:1081px){

  /* Remove all spacing between Contact and language selector */
  .header .header-row{
    column-gap:0!important;
  }

  .nav{
    overflow:visible!important;
    padding-right:0!important;
    margin-right:0!important;
  }

  .nav>ul{
    justify-content:flex-end!important;
    gap:7px!important;
    padding-right:0!important;
    margin-right:0!important;
  }

  /* Contact is the final nav item */
  .nav>ul>li:last-child{
    margin-right:0!important;
    padding-right:0!important;
    min-width:88px!important;
    flex:0 0 88px!important;
    position:relative!important;
    z-index:2!important;
  }

  .nav>ul>li:last-child>a{
    width:88px!important;
    min-width:88px!important;
    height:44px!important;
    min-height:44px!important;
    margin:0!important;
    padding:0 12px!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    background:#fff!important;
    border:1px solid #d72a2f!important;
    white-space:nowrap!important;
    position:relative!important;
    z-index:3!important;
  }

  /* Language selector starts exactly at Contact's right border */
  .lang-switcher{
    justify-self:start!important;
    align-self:center!important;
    width:122px!important;
    min-width:122px!important;
    height:44px!important;
    margin:0 0 0 -1px!important; /* share one border line, no visual gap */
    padding:0!important;
    position:relative!important;
    z-index:4!important;
  }

  .lang-switcher>button{
    width:122px!important;
    min-width:122px!important;
    height:44px!important;
    min-height:44px!important;
    margin:0!important;
    padding:0 12px!important;
    box-sizing:border-box!important;
    background:#f7fafb!important;
    border:1px solid #c7d4da!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    position:relative!important;
    z-index:5!important;
  }

  /* Dedicated grid columns: nav ends at Contact, language begins immediately */
  .header .header-row{
    grid-template-columns:320px minmax(0,1fr) 122px!important;
  }
}

@media(min-width:1081px) and (max-width:1320px){
  .header .header-row{
    grid-template-columns:295px minmax(0,1fr) 112px!important;
  }

  .nav>ul>li:last-child{
    min-width:82px!important;
    flex-basis:82px!important;
  }

  .nav>ul>li:last-child>a{
    width:82px!important;
    min-width:82px!important;
  }

  .lang-switcher,
  .lang-switcher>button{
    width:112px!important;
    min-width:112px!important;
  }
}


/* =========================================================
   V26 — HEADER REBUILT FROM SCRATCH
   This block intentionally overrides all earlier header layout rules.
   ========================================================= */

.wcf-header-v26{
  background:#fff!important;
  border-bottom:1px solid #d7e0e4!important;
  box-shadow:0 3px 14px rgba(8,29,41,.05)!important;
}

.wcf-header-v26 .wrap{
  max-width:1500px!important;
  width:calc(100% - 24px)!important;
  margin:0 auto!important;
  padding:0!important;
}

.wcf-header-grid{
  display:grid!important;
  grid-template-columns:292px minmax(0,1fr) 124px!important;
  gap:16px!important;
  align-items:center!important;
  min-height:84px!important;
  position:relative!important;
}

/* ---------------- BRAND: hard-left, fixed footprint ---------------- */
.wcf-brand{
  display:grid!important;
  grid-template-columns:54px 54px minmax(0,1fr)!important;
  gap:8px!important;
  align-items:center!important;
  width:292px!important;
  min-width:292px!important;
  max-width:292px!important;
  margin:0!important;
  padding:0!important;
  text-decoration:none!important;
  overflow:hidden!important;
}

.wcf-brand-flag-wrap{
  width:54px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:3px!important;
}

.wcf-brand-flag,
.wcf-brand-logo{
  width:54px!important;
  height:42px!important;
  object-fit:contain!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
}

.wcf-brand-flag{
  object-fit:cover!important;
}

.wcf-brand-country{
  font-size:7px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.15em!important;
  color:#516875!important;
}

.wcf-brand-copy{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}

.wcf-brand-copy strong{
  display:block!important;
  margin:0 0 5px!important;
  font-size:17px!important;
  line-height:1.05!important;
  font-weight:800!important;
  letter-spacing:-.02em!important;
  color:#0b2637!important;
  white-space:nowrap!important;
}

.wcf-brand-copy span{
  display:block!important;
  max-width:170px!important;
  margin:0!important;
  font-size:8px!important;
  line-height:1.42!important;
  font-weight:600!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
  color:#58707d!important;
  white-space:normal!important;
}

/* ---------------- NAVIGATION: independent center zone ---------------- */
.wcf-main-nav{
  display:block!important;
  min-width:0!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}

.wcf-main-nav>ul{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  flex-wrap:nowrap!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  gap:8px!important;
  list-style:none!important;
}

.wcf-main-nav>ul>li{
  flex:0 1 auto!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  position:relative!important;
}

.wcf-main-nav>ul>li>a{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  margin:0!important;
  padding:7px 6px!important;
  border:0!important;
  background:none!important;
  background-image:none!important;
  font-size:11px!important;
  line-height:1.15!important;
  font-weight:800!important;
  color:#122f40!important;
  text-align:center!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  box-sizing:border-box!important;
  position:relative!important;
  z-index:2!important;
}

.wcf-main-nav>ul>li>a:hover{
  color:#b61f24!important;
}

/* Some longer menu names may wrap to 2 lines, but stay within their own cells */
.wcf-main-nav>ul>li:nth-child(6)>a,
.wcf-main-nav>ul>li:nth-child(7)>a{
  white-space:normal!important;
  min-width:78px!important;
}

/* Contact: fixed, fully visible, separate from language button */
.wcf-main-nav>ul>li:last-child{
  flex:0 0 86px!important;
  width:86px!important;
  min-width:86px!important;
  max-width:86px!important;
}

.wcf-main-nav>ul>li:last-child>a{
  width:86px!important;
  min-width:86px!important;
  max-width:86px!important;
  height:44px!important;
  min-height:44px!important;
  padding:0 10px!important;
  border:1px solid #d52b30!important;
  background:#fff!important;
  overflow:hidden!important;
  white-space:nowrap!important;
}

/* ---------------- RIGHT: language owns its own column ---------------- */
.wcf-right-actions{
  width:124px!important;
  min-width:124px!important;
  max-width:124px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  margin:0!important;
  padding:0!important;
}

.wcf-right-actions .lang-switcher{
  position:relative!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  transform:none!important;
  width:124px!important;
  min-width:124px!important;
  max-width:124px!important;
  height:44px!important;
  margin:0 0 0 -1px!important;
  padding:0!important;
  z-index:20!important;
}

.wcf-right-actions .lang-switcher>button{
  width:124px!important;
  min-width:124px!important;
  max-width:124px!important;
  height:44px!important;
  min-height:44px!important;
  margin:0!important;
  padding:0 10px!important;
  box-sizing:border-box!important;
  border:1px solid #c7d4da!important;
  background:#f7fafb!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  font-size:12px!important;
  font-weight:800!important;
  color:#17384a!important;
}

.wcf-right-actions .lang-menu{
  right:0!important;
  left:auto!important;
  top:calc(100% + 6px)!important;
}

/* Hide desktop mobile-menu button */
.wcf-menu-button{
  display:none!important;
}

/* ---------------- Prevent collision: switch to mobile earlier ---------------- */
@media(max-width:1180px){
  .wcf-header-v26 .wrap{
    width:calc(100% - 28px)!important;
  }

  .wcf-header-grid{
    grid-template-columns:minmax(0,1fr) auto auto!important;
    gap:12px!important;
    min-height:78px!important;
  }

  .wcf-brand{
    width:auto!important;
    min-width:0!important;
    max-width:320px!important;
  }

  .wcf-main-nav{
    display:none!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:100%!important;
    width:100%!important;
    background:#fff!important;
    border-top:1px solid #d7e0e4!important;
    box-shadow:0 14px 26px rgba(8,29,41,.12)!important;
    z-index:9998!important;
  }

  .wcf-main-nav.open{
    display:block!important;
  }

  .wcf-main-nav>ul{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:0!important;
    padding:10px!important;
  }

  .wcf-main-nav>ul>li{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    flex:auto!important;
  }

  .wcf-main-nav>ul>li>a,
  .wcf-main-nav>ul>li:last-child>a{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    min-height:42px!important;
    justify-content:flex-start!important;
    text-align:left!important;
    padding:9px 10px!important;
    border:0!important;
    white-space:normal!important;
  }

  .wcf-menu-button{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    height:42px!important;
    padding:0 12px!important;
    border:1px solid #c7d4da!important;
    background:#fff!important;
    color:#17384a!important;
    font-weight:800!important;
    cursor:pointer!important;
  }

  .wcf-right-actions{
    width:116px!important;
    min-width:116px!important;
    max-width:116px!important;
  }

  .wcf-right-actions .lang-switcher,
  .wcf-right-actions .lang-switcher>button{
    width:116px!important;
    min-width:116px!important;
    max-width:116px!important;
  }
}

@media(max-width:640px){
  .wcf-brand{
    grid-template-columns:48px 48px minmax(0,1fr)!important;
    gap:6px!important;
    max-width:255px!important;
  }

  .wcf-brand-flag,
  .wcf-brand-logo{
    width:48px!important;
    height:37px!important;
  }

  .wcf-brand-flag-wrap{
    width:48px!important;
  }

  .wcf-brand-country{
    display:none!important;
  }

  .wcf-brand-copy strong{
    font-size:15px!important;
  }

  .wcf-brand-copy span{
    display:none!important;
  }

  .wcf-right-actions{
    width:50px!important;
    min-width:50px!important;
    max-width:50px!important;
  }

  .wcf-right-actions .lang-switcher,
  .wcf-right-actions .lang-switcher>button{
    width:50px!important;
    min-width:50px!important;
    max-width:50px!important;
  }

  .lang-current-name{
    display:none!important;
  }

  .wcf-main-nav>ul{
    grid-template-columns:1fr!important;
  }
}

/* V27 — affiliation cards linked to official websites */
a.affiliation-card{
  color:inherit!important;
  text-decoration:none!important;
  cursor:pointer!important;
  position:relative!important;
}
a.affiliation-card:after{
  content:"↗";
  position:absolute;
  right:14px;
  top:12px;
  font-size:13px;
  color:#81919a;
  transition:transform .2s ease,color .2s ease;
}
a.affiliation-card:hover{
  border-color:#aabcc5!important;
  box-shadow:0 16px 36px rgba(7,31,45,.11)!important;
  transform:translateY(-4px)!important;
}
a.affiliation-card:hover:after{
  transform:translate(2px,-2px);
  color:#b61f24;
}

/* V28 — show full WhiteCoralOffshore name */
@media(min-width:1181px){
  .wcf-header-grid{
    grid-template-columns:310px minmax(0,1fr) 124px!important;
  }

  .wcf-brand{
    width:310px!important;
    min-width:310px!important;
    max-width:310px!important;
    overflow:visible!important;
  }

  .wcf-brand-copy{
    overflow:visible!important;
  }

  .wcf-brand-copy strong{
    font-size:16.5px!important;
    letter-spacing:-.025em!important;
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:nowrap!important;
  }

  .wcf-brand-copy span{
    max-width:182px!important;
  }
}

/* =========================================================
   V29 — keep full desktop header visible
   ========================================================= */

/* Force desktop navigation at normal laptop/desktop widths */
@media(min-width:921px){

  .wcf-header-grid{
    display:grid!important;
    grid-template-columns:310px minmax(0,1fr) 124px!important;
    gap:12px!important;
    align-items:center!important;
    min-height:84px!important;
  }

  .wcf-menu-button{
    display:none!important;
  }

  .wcf-main-nav{
    display:block!important;
    position:static!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    width:100%!important;
    min-width:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    z-index:auto!important;
  }

  .wcf-main-nav>ul{
    display:flex!important;
    grid-template-columns:none!important;
    align-items:center!important;
    justify-content:space-between!important;
    flex-wrap:nowrap!important;
    gap:5px!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
  }

  .wcf-main-nav>ul>li{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    flex:0 1 auto!important;
  }

  .wcf-main-nav>ul>li>a{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    min-height:44px!important;
    height:auto!important;
    padding:6px 5px!important;
    border:0!important;
    justify-content:center!important;
    text-align:center!important;
    white-space:nowrap!important;
    font-size:10.5px!important;
    line-height:1.12!important;
  }

  /* Allow only the longest labels to wrap */
  .wcf-main-nav>ul>li:nth-child(6)>a,
  .wcf-main-nav>ul>li:nth-child(7)>a{
    white-space:normal!important;
    min-width:70px!important;
  }

  /* Keep Contact fully visible */
  .wcf-main-nav>ul>li:last-child{
    flex:0 0 82px!important;
    width:82px!important;
    min-width:82px!important;
    max-width:82px!important;
  }

  .wcf-main-nav>ul>li:last-child>a{
    width:82px!important;
    min-width:82px!important;
    max-width:82px!important;
    height:44px!important;
    min-height:44px!important;
    padding:0 9px!important;
    border:1px solid #d52b30!important;
    background:#fff!important;
    white-space:nowrap!important;
  }

  .wcf-right-actions{
    display:flex!important;
    width:124px!important;
    min-width:124px!important;
    max-width:124px!important;
    align-items:center!important;
  }

  .wcf-right-actions .lang-switcher{
    position:relative!important;
    top:auto!important;
    right:auto!important;
    left:auto!important;
    transform:none!important;
    width:124px!important;
    min-width:124px!important;
    max-width:124px!important;
    height:44px!important;
    margin-left:-1px!important;
  }

  .wcf-right-actions .lang-switcher>button{
    width:124px!important;
    min-width:124px!important;
    max-width:124px!important;
    height:44px!important;
    min-height:44px!important;
  }
}

/* Use mobile menu only on tablets / phones */
@media(max-width:920px){

  .wcf-header-grid{
    grid-template-columns:minmax(0,1fr) auto auto!important;
    gap:10px!important;
  }

  .wcf-menu-button{
    display:inline-flex!important;
  }

  .wcf-main-nav{
    display:none!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:100%!important;
    background:#fff!important;
    border-top:1px solid #d7e0e4!important;
    box-shadow:0 14px 26px rgba(8,29,41,.12)!important;
    z-index:9998!important;
  }

  .wcf-main-nav.open{
    display:block!important;
  }
}


/* =========================================================
   V30 CLEAN HEADER — isolated from all previous header CSS
   ========================================================= */

.wc30-shell{
  width:min(1480px, calc(100% - 32px));
  margin:0 auto;
}

.wc30-topbar{
  background:#071d2c;
  color:#fff;
  font-size:12px;
}
.wc30-topbar-row{
  min-height:34px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
}
.wc30-topbar a{color:#fff;text-decoration:none}
.wc30-topbar span{opacity:.55;margin:0 10px}

.wc30-header{
  background:#fff;
  border-bottom:1px solid #d9e2e6;
  box-shadow:0 3px 12px rgba(6,28,42,.04);
  position:relative;
  z-index:5000;
}
.wc30-row{
  min-height:88px;
  display:grid;
  grid-template-columns:330px minmax(0,1fr) 210px;
  align-items:center;
  column-gap:20px;
}

/* BRAND */
.wc30-brand{
  display:grid;
  grid-template-columns:58px 58px minmax(0,1fr);
  gap:9px;
  align-items:center;
  text-decoration:none;
  min-width:0;
}
.wc30-canada{
  width:58px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:3px;
}
.wc30-canada img,
.wc30-logo{
  width:58px;
  height:45px;
  display:block;
  object-fit:contain;
}
.wc30-canada img{object-fit:cover}
.wc30-canada small{
  color:#566e7b;
  font-size:7px;
  font-weight:900;
  letter-spacing:.16em;
  line-height:1;
}
.wc30-brand-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
}
.wc30-brand-copy strong{
  color:#0b2637;
  font-size:19px;
  font-weight:800;
  line-height:1.05;
  white-space:nowrap;
  margin-bottom:6px;
}
.wc30-brand-copy span{
  color:#58707d;
  font-size:8.5px;
  font-weight:600;
  line-height:1.45;
  letter-spacing:.09em;
  text-transform:uppercase;
  max-width:185px;
}

/* NAV */
.wc30-nav{
  min-width:0;
}
.wc30-nav>ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.wc30-nav>ul>li{
  position:relative;
  margin:0;
  padding:0;
}
.wc30-nav>ul>li>a{
  color:#112f40;
  text-decoration:none;
  font-size:11px;
  font-weight:800;
  line-height:1.15;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:6px 4px;
  text-align:center;
  white-space:nowrap;
}
.wc30-nav>ul>li:nth-child(6)>a,
.wc30-nav>ul>li:nth-child(7)>a{
  white-space:normal;
  min-width:76px;
}
.wc30-nav a:hover{color:#b61f24}

/* DROPDOWNS */
.wc30-nav .has-sub>ul{
  display:none;
  position:absolute;
  left:0;
  top:100%;
  min-width:255px;
  margin:0;
  padding:7px;
  list-style:none;
  background:#fff;
  border:1px solid #d8e2e7;
  box-shadow:0 16px 36px rgba(5,27,40,.14);
  z-index:5100;
}
.wc30-nav .has-sub:hover>ul{display:block}
.wc30-nav .has-sub>ul li{margin:0}
.wc30-nav .has-sub>ul a{
  display:block;
  padding:9px 10px;
  color:#18394b;
  text-decoration:none;
  font-size:12px;
  line-height:1.3;
  white-space:normal;
}
.wc30-nav .has-sub>ul a:hover{background:#f1f6f8;color:#b61f24}

/* RIGHT ACTIONS */
.wc30-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  width:210px;
}
.wc30-contact{
  width:82px;
  height:44px;
  box-sizing:border-box;
  border:1px solid #d52b30;
  background:#fff;
  color:#123244;
  text-decoration:none;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.wc30-lang{
  width:128px;
  height:44px;
  position:relative;
  margin-left:-1px;
}
.wc30-lang>button{
  width:128px;
  height:44px;
  border:1px solid #c6d4da;
  background:#f7fafb;
  box-sizing:border-box;
  color:#17384a;
  font:inherit;
  font-size:12px;
  font-weight:800;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  cursor:pointer;
}
.wc30-lang-menu{
  display:none;
  position:absolute;
  right:0;
  top:calc(100% + 6px);
  min-width:190px;
  background:#fff;
  border:1px solid #cbd8de;
  box-shadow:0 14px 32px rgba(5,27,40,.14);
  padding:6px;
  z-index:5200;
}
.wc30-lang.open .wc30-lang-menu{display:block}
.wc30-lang-menu a{
  display:flex;
  align-items:center;
  gap:9px;
  padding:9px 10px;
  color:#17384a;
  text-decoration:none;
  font-size:13px;
  font-weight:700;
}
.wc30-lang-menu a:hover,
.wc30-lang-menu a.current{background:#eef4f6}

/* MENU BUTTON */
.wc30-menu-btn{
  display:none;
  height:42px;
  padding:0 14px;
  border:1px solid #c7d4da;
  background:#fff;
  color:#17384a;
  font-weight:800;
  cursor:pointer;
}

/* NORMAL LAPTOP */
@media(max-width:1320px) and (min-width:1041px){
  .wc30-shell{width:min(1280px, calc(100% - 24px))}
  .wc30-row{
    grid-template-columns:300px minmax(0,1fr) 196px;
    column-gap:12px;
  }
  .wc30-brand{
    grid-template-columns:52px 52px minmax(0,1fr);
    gap:7px;
  }
  .wc30-canada{width:52px}
  .wc30-canada img,.wc30-logo{width:52px;height:40px}
  .wc30-brand-copy strong{font-size:17px}
  .wc30-brand-copy span{font-size:7.5px;max-width:170px}
  .wc30-nav>ul{gap:4px}
  .wc30-nav>ul>li>a{font-size:10px;padding:5px 3px}
  .wc30-nav>ul>li:nth-child(6)>a,
  .wc30-nav>ul>li:nth-child(7)>a{min-width:68px}
  .wc30-actions{width:196px}
  .wc30-contact{width:76px}
  .wc30-lang,.wc30-lang>button{width:120px}
}

/* TABLET / MOBILE: only here do we hide nav */
@media(max-width:1040px){
  .wc30-row{
    grid-template-columns:minmax(0,1fr) auto 128px;
    column-gap:10px;
  }
  .wc30-menu-btn{display:inline-flex;align-items:center;justify-content:center}
  .wc30-nav{
    display:none;
    position:absolute;
    left:16px;
    right:16px;
    top:100%;
    background:#fff;
    border:1px solid #d8e2e7;
    box-shadow:0 16px 36px rgba(5,27,40,.14);
    z-index:5100;
  }
  .wc30-nav.open{display:block}
  .wc30-nav>ul{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0;
    padding:10px;
  }
  .wc30-nav>ul>li>a{
    justify-content:flex-start;
    text-align:left;
    white-space:normal;
    padding:10px;
    min-height:42px;
  }
  .wc30-nav .has-sub>ul{display:none!important}
  .wc30-actions{width:128px}
  .wc30-contact{display:none}
  .wc30-lang,.wc30-lang>button{width:128px}
}

@media(max-width:640px){
  .wc30-shell{width:calc(100% - 20px)}
  .wc30-topbar-row{display:none}
  .wc30-row{
    min-height:72px;
    grid-template-columns:minmax(0,1fr) auto 50px;
  }
  .wc30-brand{
    grid-template-columns:44px 44px minmax(0,1fr);
    gap:5px;
  }
  .wc30-canada{width:44px}
  .wc30-canada img,.wc30-logo{width:44px;height:34px}
  .wc30-canada small{display:none}
  .wc30-brand-copy strong{font-size:14px}
  .wc30-brand-copy span{display:none}
  .wc30-lang,.wc30-lang>button{width:50px}
  .wc30-lang-name{display:none}
  .wc30-nav>ul{grid-template-columns:1fr}
}

/* =========================================================
   V32 — White Coral in the Field full visual slider
   ========================================================= */
.home-fieldwork{
  padding:72px 0 82px!important;
  background:#f4f7f8!important;
  overflow:hidden;
}
.fieldwork-head{
  display:block!important;
  margin-bottom:28px!important;
}
.fieldwork-head .fieldwork-kicker{
  font-size:30px!important;
  line-height:1.05!important;
  font-weight:900!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  color:#b61f24!important;
  margin:0!important;
}
.fieldwork-head h2,
.fieldwork-head p{
  display:none!important;
}

.wcf-field-slider{
  position:relative;
  width:100%;
  max-width:1180px;
  margin:0 auto;
  aspect-ratio:16/8.2;
  overflow:hidden;
  background:#071d2c;
  box-shadow:0 24px 55px rgba(6,28,42,.16);
}
.wcf-field-slide{
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transition:opacity .8s ease, visibility .8s ease;
}
.wcf-field-slide.active{
  opacity:1;
  visibility:visible;
  z-index:2;
}
.wcf-field-slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform:scale(1.015);
  transition:transform 6s ease;
}
.wcf-field-slide.active img{
  transform:scale(1.055);
}

/* subtle bottom gradient only for visual depth — no text captions */
.wcf-field-slider:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:18%;
  background:linear-gradient(to top,rgba(4,17,26,.18),transparent);
  z-index:3;
  pointer-events:none;
}

.wcf-field-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:6;
  width:46px;
  height:46px;
  border:1px solid rgba(255,255,255,.65);
  background:rgba(5,27,40,.48);
  color:#fff;
  font-size:27px;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:background .2s ease, transform .2s ease;
}
.wcf-field-arrow:hover{
  background:rgba(5,27,40,.78);
}
.wcf-field-prev{left:18px}
.wcf-field-next{right:18px}

.wcf-field-dots{
  position:absolute;
  left:50%;
  bottom:16px;
  transform:translateX(-50%);
  z-index:7;
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  justify-content:center;
  max-width:80%;
}
.wcf-field-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  border:0;
  padding:0;
  background:rgba(255,255,255,.52);
  cursor:pointer;
}
.wcf-field-dot.active{
  background:#fff;
  transform:scale(1.35);
}

@media(max-width:820px){
  .home-fieldwork{padding:52px 0 60px!important}
  .fieldwork-head .fieldwork-kicker{font-size:24px!important}
  .wcf-field-slider{aspect-ratio:4/3}
  .wcf-field-arrow{width:40px;height:40px;font-size:23px}
  .wcf-field-prev{left:10px}
  .wcf-field-next{right:10px}
}
@media(max-width:520px){
  .fieldwork-head .fieldwork-kicker{font-size:20px!important}
  .wcf-field-slider{aspect-ratio:1/1}
  .wcf-field-dots{bottom:10px;gap:5px}
  .wcf-field-dot{width:6px;height:6px}
}

/* V33 — exact Canadian flag + spaced company name */
.wc30-canada img,
.wc30-logo{
  width:58px!important;
  height:45px!important;
}
.wc30-canada img{object-fit:cover!important}
.wc30-brand-copy strong{white-space:nowrap!important}

@media(max-width:1320px) and (min-width:1041px){
  .wc30-canada img,
  .wc30-logo{
    width:52px!important;
    height:40px!important;
  }
}
@media(max-width:640px){
  .wc30-canada img,
  .wc30-logo{
    width:44px!important;
    height:34px!important;
  }
}
