/* @section: design-system */
:root {
  color-scheme: light;
  --scpl-cyan: #00a9e8;
  --scpl-cyan-dark: #007cae;
  --scpl-navy: #062f46;
  --scpl-navy-deep: #031e2d;
  --scpl-steel: #58707c;
  --scpl-ice: #eaf7fb;
  --scpl-mist: #f4f8fa;
  --scpl-white: #ffffff;
  --scpl-ink: #102b39;
  --scpl-border: #d7e5eb;
  --scpl-success: #13795b;
  --scpl-danger: #b42318;
  --shadow-soft: 0 18px 55px rgba(3, 30, 45, 0.12);
  --shadow-card: 0 12px 32px rgba(3, 30, 45, 0.09);
  --radius-sm: .35rem;
  --radius-md: .7rem;
  --radius-lg: 1.15rem;
  --header-height: 78px;
  --font-sans: "Aptos", "Segoe UI", Arial, sans-serif;
  --font-display: "Aptos Display", "Segoe UI", Arial, sans-serif;
}

html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-height) + 1rem); }
body {
  margin: 0;
  overflow-x: hidden;
  background: var(--scpl-white);
  color: var(--scpl-ink);
  font-family: var(--font-sans);
  line-height: 1.65;
  padding-bottom: 0;
}
img { max-width: 100%; }
a { color: var(--scpl-cyan-dark); text-underline-offset: .2em; }
a:hover { color: var(--scpl-navy); }
::selection { background: var(--scpl-cyan); color: var(--scpl-navy-deep); }
:focus-visible { outline: 3px solid var(--scpl-cyan); outline-offset: 3px; }
.skip-link {
  position: fixed; left: 1rem; top: -5rem; z-index: 9999;
  padding: .75rem 1rem; background: var(--scpl-white); color: var(--scpl-navy);
  border-radius: var(--radius-sm); font-weight: 700; box-shadow: var(--shadow-card);
}
.skip-link:focus { top: 1rem; }

/* @section: typography */
.eyebrow {
  margin: 0 0 .85rem;
  color: var(--scpl-cyan-dark);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.eyebrow-light { color: #7fdcff; }
.section-title {
  margin: 0;
  max-width: 760px;
  color: var(--scpl-navy-deep);
  font-family: var(--font-display);
  font-size: clamp(2.05rem, 4vw, 4.15rem);
  font-weight: 750;
  letter-spacing: -.045em;
  line-height: 1.04;
}
.section-summary {
  max-width: 560px;
  margin: 1.2rem 0 0;
  color: var(--scpl-steel);
  font-size: clamp(1.03rem, 1.5vw, 1.2rem);
}
.text-link { font-weight: 800; text-decoration: none; }
.text-link span { display: inline-block; margin-left: .3rem; transition: transform .2s ease; }
.text-link:hover span { transform: translateX(.25rem); }
.section-space { padding: clamp(5.25rem, 9vw, 8.5rem) 0; }

/* @section: buttons */
.btn {
  border-radius: .3rem;
  font-weight: 750;
  letter-spacing: .01em;
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, border-color .2s ease, color .2s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn-brand {
  border: 1px solid var(--scpl-cyan);
  background: var(--scpl-cyan);
  color: var(--scpl-navy-deep);
  box-shadow: 0 10px 25px rgba(0, 169, 232, .25);
}
.btn-brand:hover, .btn-brand:focus-visible {
  border-color: #32c6fb;
  background: #32c6fb;
  color: var(--scpl-navy-deep);
  box-shadow: 0 14px 32px rgba(0, 169, 232, .32);
}
.btn-outline-brand {
  border: 1px solid var(--scpl-navy);
  background: transparent;
  color: var(--scpl-navy);
}
.btn-outline-brand:hover { background: var(--scpl-navy); color: var(--scpl-white); }
.btn-lg { padding: .88rem 1.45rem; font-size: 1rem; }

/* @section: utility-bar */
.utility-bar {
  padding: .48rem 0;
  background: var(--scpl-navy-deep);
  color: #c8dbe3;
  font-size: .78rem;
}
.utility-bar p { letter-spacing: .04em; }
.utility-bar a { color: var(--scpl-white); text-decoration: none; }
.utility-bar a:hover { color: #7fdcff; }

/* @section: main-navigation */
.site-header {
  z-index: 1030;
  border-bottom: 1px solid rgba(6, 47, 70, .09);
  background: rgba(255, 255, 255, .96);
  backdrop-filter: blur(14px);
  box-shadow: 0 3px 20px rgba(3, 30, 45, .04);
}
.navbar { min-height: var(--header-height); padding: .55rem 0; }
.brand-lockup { display: flex; align-items: center; gap: .7rem; color: var(--scpl-navy-deep); text-decoration: none; }
.brand-lockup img, .footer-brand img {
  width: 52px; height: 52px; object-fit: cover; object-position: center;
  border-radius: 50%; mix-blend-mode: multiply;
}
.brand-copy { display: grid; line-height: 1; }
.brand-copy strong { font-size: 1.25rem; letter-spacing: .08em; }
.brand-copy small { margin-top: .33rem; color: var(--scpl-steel); font-size: .7rem; letter-spacing: .05em; }
.navbar-nav .nav-link {
  position: relative; padding: .65rem .72rem !important;
  color: var(--scpl-ink); font-size: .9rem; font-weight: 700;
}
.navbar-nav .nav-link::after {
  content: ""; position: absolute; left: .72rem; right: .72rem; bottom: .28rem; height: 2px;
  background: var(--scpl-cyan); transform: scaleX(0); transform-origin: left; transition: transform .2s ease;
}
.navbar-nav .nav-link:hover::after, .navbar-nav .nav-link.active::after { transform: scaleX(1); }
.navbar-toggler { border: 1px solid var(--scpl-border); }

/* @section: hero */
.hero {
  position: relative;
  min-height: min(780px, calc(100vh - 110px));
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  isolation: isolate;
  background: var(--scpl-navy-deep);
  color: var(--scpl-white);
}
.hero-media, .hero-overlay { position: absolute; inset: 0; }
.hero-media {
  z-index: -3;
  background: url("../images/pipeline_2.jpeg") center 42% / cover no-repeat;
  transform: scale(1.01);
}
.hero-overlay {
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(3, 30, 45, .96) 0%, rgba(3, 30, 45, .86) 38%, rgba(3, 30, 45, .35) 75%, rgba(3, 30, 45, .24) 100%),
    linear-gradient(0deg, rgba(3, 30, 45, .92) 0%, transparent 52%);
}
.hero::before {
  content: ""; position: absolute; z-index: -1; top: 0; left: 0; width: .45rem; height: 100%;
  background: var(--scpl-cyan);
}
.hero-inner { padding-top: 7rem; padding-bottom: 7rem; }
.hero-eyebrow { color: #7fdcff; }
.hero h1 {
  max-width: 950px; margin: 0 0 1.4rem;
  color: var(--scpl-white); font-family: var(--font-display);
  font-size: clamp(3rem, 7vw, 6.8rem); font-weight: 760; letter-spacing: -.06em; line-height: .94;
}
.hero-lead {
  max-width: 760px; margin: 0 0 2rem; color: #dce9ef;
  font-size: clamp(1.05rem, 1.7vw, 1.3rem); line-height: 1.65;
}
.hero-proof {
  position: relative; margin-left: auto; max-width: 310px; padding: 1.7rem;
  border: 1px solid rgba(255, 255, 255, .24); border-top: 4px solid var(--scpl-cyan);
  background: rgba(3, 30, 45, .72); backdrop-filter: blur(13px);
  box-shadow: var(--shadow-soft);
}
.hero-proof .proof-kicker { display: block; color: #b8d2de; font-size: .72rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.hero-proof > strong { display: block; margin: .1rem 0 .65rem; color: var(--scpl-white); font-size: 4rem; line-height: 1; }
.proof-divider { display: block; width: 45px; height: 2px; margin: .8rem 0; background: var(--scpl-cyan); }
.iso-line { font-weight: 800; }
.hero-proof p { margin: .8rem 0 0; color: #b8d2de; font-size: .88rem; }
.scroll-cue {
  position: absolute; right: 2rem; bottom: 2rem; align-items: center; gap: .7rem;
  color: var(--scpl-white); font-size: .72rem; font-weight: 800; letter-spacing: .15em; text-decoration: none; text-transform: uppercase;
  writing-mode: vertical-rl;
}
.scroll-cue i { display: block; width: 1px; height: 50px; background: linear-gradient(var(--scpl-cyan), transparent); }

/* @section: overview */
.intro-section { background: var(--scpl-white); }
.intro-copy { padding-left: clamp(0rem, 4vw, 4rem); border-left: 1px solid var(--scpl-border); }
.intro-copy .lead { color: var(--scpl-ink); font-size: clamp(1.15rem, 1.9vw, 1.45rem); line-height: 1.6; }
.intro-copy p:not(.lead) { color: var(--scpl-steel); }

/* @section: service-capabilities */
.services-section { background: var(--scpl-mist); }
.section-heading .section-summary { margin-bottom: .5rem; }
.services-layout {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1px;
  background: var(--scpl-border);
  border: 1px solid var(--scpl-border);
  box-shadow: var(--shadow-soft);
}
.service-feature, .service-item { position: relative; background: var(--scpl-white); }
.service-feature {
  grid-column: span 7; grid-row: span 2; min-height: 455px;
  display: grid; grid-template-columns: auto 1fr; gap: 2rem; align-items: end;
  padding: clamp(2rem, 5vw, 4.5rem);
  background:
    linear-gradient(145deg, rgba(234, 247, 251, .92), rgba(255,255,255,.98)),
    var(--scpl-white);
}
.service-item { grid-column: span 5; min-height: 225px; padding: 2rem; transition: transform .25s ease, background-color .25s ease; }
.service-item:hover { z-index: 2; transform: translateY(-5px); background: var(--scpl-ice); box-shadow: var(--shadow-card); }
.service-number { color: var(--scpl-cyan-dark); font-size: .76rem; font-weight: 850; letter-spacing: .12em; }
.service-feature .service-number { align-self: start; padding-top: .35rem; font-size: 1rem; }
.service-feature h3, .service-item h3 { color: var(--scpl-navy-deep); font-weight: 780; letter-spacing: -.03em; }
.service-feature h3 { max-width: 560px; margin-bottom: 1.2rem; font-size: clamp(2.2rem, 4vw, 4.2rem); line-height: 1; }
.service-item h3 { margin: 1.7rem 0 .7rem; font-size: 1.5rem; }
.service-feature p, .service-item p { color: var(--scpl-steel); }
.service-feature p { max-width: 610px; font-size: 1.1rem; }
.service-tags { display: flex; flex-wrap: wrap; gap: .55rem; padding: 0; margin: 1.5rem 0 0; list-style: none; }
.service-tags li { padding: .35rem .7rem; border: 1px solid #aad9e9; border-radius: 99px; color: var(--scpl-navy); font-size: .75rem; font-weight: 700; }
.service-dark { background: var(--scpl-navy); color: var(--scpl-white); }
.service-dark:hover { background: var(--scpl-navy-deep); }
.service-dark h3, .service-dark p { color: var(--scpl-white); }
.service-dark p { color: #b8d2de; }
.service-dark .service-number { color: #7fdcff; }

/* @section: experience-proof */
.experience-section { overflow: hidden; background: var(--scpl-white); }
.experience-photo { position: relative; min-height: 620px; overflow: hidden; background: var(--scpl-navy); box-shadow: var(--shadow-soft); }
.experience-photo img { width: 100%; height: 100%; min-height: 620px; object-fit: cover; object-position: center; }
.experience-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(3,30,45,.86), transparent 45%); }
.experience-caption { position: absolute; z-index: 1; left: 2rem; right: 2rem; bottom: 2rem; color: var(--scpl-white); }
.experience-caption span { display: block; margin-bottom: .25rem; color: #7fdcff; font-size: .72rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.experience-caption strong { font-size: 1.3rem; }
.experience-copy { padding: clamp(1rem, 4vw, 4.5rem); }
.experience-copy > p:not(.eyebrow) { margin-top: 1.5rem; color: var(--scpl-steel); font-size: 1.05rem; }
.profile-stat { display: flex; gap: 1.2rem; align-items: center; margin: 2rem 0; padding: 1.5rem 0; border-block: 1px solid var(--scpl-border); }
.profile-stat strong { flex: 0 0 auto; color: var(--scpl-cyan-dark); font-size: clamp(2rem, 4vw, 3.5rem); letter-spacing: -.05em; }
.profile-stat span { max-width: 250px; color: var(--scpl-steel); font-size: .85rem; }

/* @section: organization-list */
.organizations { padding: 3rem 0; background: var(--scpl-navy-deep); color: var(--scpl-white); }
.organizations .eyebrow { color: #7fdcff; }
.organization-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; padding: 0; margin: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.16); border-left: 1px solid rgba(255,255,255,.16); }
.organization-grid li { min-height: 88px; display: flex; align-items: center; padding: 1rem; border-right: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.16); color: #dce9ef; font-weight: 700; }
.source-note { margin: 1rem 0 0; color: #8eabb8; font-size: .72rem; }

/* @section: safety-equipment */
.capabilities-section { background: var(--scpl-ice); }
.safety-photo { position: relative; min-height: 560px; overflow: hidden; box-shadow: var(--shadow-soft); }
.safety-photo img { width: 100%; height: 100%; min-height: 560px; object-fit: cover; object-position: center; }
.photo-label { position: absolute; left: 1rem; bottom: 1rem; max-width: calc(100% - 2rem); padding: .55rem .8rem; background: rgba(3,30,45,.86); color: #dce9ef; font-size: .65rem; letter-spacing: .03em; }
.capability-list { margin-top: 2.5rem; border-top: 1px solid #bddbe7; }
.capability-list > div { display: grid; grid-template-columns: 48px 1fr; gap: 1rem; padding: 1.2rem 0; border-bottom: 1px solid #bddbe7; }
.capability-list span { color: var(--scpl-cyan-dark); font-size: .75rem; font-weight: 800; }
.capability-list p { margin: 0; color: var(--scpl-steel); }
.capability-list strong { color: var(--scpl-navy-deep); }

/* @section: enquiry */
.enquiry-section { background: var(--scpl-white); }
.enquiry-shell { overflow: hidden; border-radius: var(--radius-lg); background: var(--scpl-white); box-shadow: var(--shadow-soft); }
.enquiry-intro { padding: clamp(2rem, 5vw, 4.5rem); background: var(--scpl-navy-deep); color: var(--scpl-white); }
.enquiry-intro h2 { max-width: 520px; margin-bottom: 1.3rem; font-size: clamp(2.3rem, 4vw, 4.3rem); font-weight: 760; letter-spacing: -.05em; line-height: 1.02; }
.enquiry-intro > p:not(.eyebrow) { color: #b8d2de; }
.contact-stack { display: grid; gap: .5rem; margin-top: 2rem; }
.contact-stack a { display: grid; padding: .9rem 0; border-bottom: 1px solid rgba(255,255,255,.14); color: var(--scpl-white); text-decoration: none; }
.contact-stack span { color: #7fdcff; font-size: .7rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.contact-stack strong { font-size: 1.05rem; overflow-wrap: anywhere; }
.enquiry-form-wrap { padding: clamp(2rem, 5vw, 4.5rem); background: #f7fafb; }
.form-label { margin-bottom: .45rem; color: var(--scpl-navy); font-size: .82rem; font-weight: 750; }
.form-control, .form-select {
  min-height: 3.1rem; border: 1px solid #bfd3dc; border-radius: .3rem;
  background-color: var(--scpl-white); color: var(--scpl-ink);
}
textarea.form-control { min-height: 120px; }
.form-control:focus, .form-select:focus { border-color: var(--scpl-cyan); box-shadow: 0 0 0 .24rem rgba(0,169,232,.17); }
.form-note { max-width: 300px; color: var(--scpl-steel); font-size: .72rem; }
.form-status { display: none; margin-top: 1rem; padding: .8rem 1rem; border-radius: var(--radius-sm); font-size: .9rem; }
.form-status.is-visible { display: block; }
.form-status.success { background: #e7f6f0; color: var(--scpl-success); }
.form-status.error { background: #fef0ed; color: var(--scpl-danger); }

/* @section: footer */
.site-footer { padding: 4.5rem 0 1.3rem; background: #041823; color: #b8d2de; }
.footer-brand { display: flex; align-items: center; gap: .8rem; margin-bottom: 1rem; color: var(--scpl-white); text-decoration: none; }
.footer-brand span { display: grid; }
.footer-brand small { color: #7899a8; }
.footer-heading { margin-bottom: 1rem; color: var(--scpl-white); font-size: .8rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.footer-links { display: grid; gap: .55rem; padding: 0; margin: 0; list-style: none; }
.footer-links a { color: #b8d2de; text-decoration: none; }
.footer-links a:hover { color: #7fdcff; }
.site-footer address { color: #b8d2de; font-style: normal; }
.footer-bottom { margin-top: 3rem; padding-top: 1.2rem; border-top: 1px solid rgba(255,255,255,.12); color: #7899a8; font-size: .75rem; }
.footer-bottom p { margin: 0; }

/* @section: mobile-contact-bar */
.mobile-contact-bar {
  position: fixed; z-index: 1050; left: 0; right: 0; bottom: 0;
  display: grid; grid-template-columns: repeat(3, 1fr);
  background: var(--scpl-navy-deep); box-shadow: 0 -8px 24px rgba(3,30,45,.18);
  padding-bottom: env(safe-area-inset-bottom);
}
.mobile-contact-bar a {
  min-height: 58px; display: flex; align-items: center; justify-content: center; gap: .4rem;
  border-right: 1px solid rgba(255,255,255,.14); color: var(--scpl-white); font-size: .76rem; font-weight: 800; text-decoration: none;
}
.mobile-contact-bar a:last-child { border-right: 0; background: var(--scpl-cyan); color: var(--scpl-navy-deep); }
.mobile-contact-bar span { font-size: 1rem; }

/* @section: reveal-motion */
.js-ready .reveal { opacity: 1; transform: translateY(8px); transition: transform .5s ease; }
.js-ready .reveal.is-visible { opacity: 1; transform: translateY(0); }

/* @section: responsive */
@media (max-width: 1199.98px) {
  .service-feature { grid-column: span 12; min-height: 390px; }
  .service-item { grid-column: span 6; }
  .organization-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 991.98px) {
  body { padding-bottom: calc(58px + env(safe-area-inset-bottom)); }
  .site-header { position: sticky; top: 0; }
  .navbar-collapse { margin-top: .7rem; padding: 1rem; border-top: 1px solid var(--scpl-border); background: var(--scpl-white); }
  .navbar-nav .nav-link { padding: .8rem .4rem !important; }
  .navbar-nav .nav-link::after { display: none; }
  .hero { min-height: auto; }
  .hero-media { background-position: 62% center; }
  .hero-overlay { background: linear-gradient(90deg, rgba(3,30,45,.96), rgba(3,30,45,.73)), linear-gradient(0deg, rgba(3,30,45,.9), transparent 60%); }
  .hero-inner { padding-top: 6rem; padding-bottom: 5rem; }
  .hero-proof { max-width: 100%; margin: 1rem 0 0; }
  .intro-copy { padding-left: 0; border-left: 0; }
  .experience-copy { padding-inline: 0; }
  .experience-photo, .experience-photo img { min-height: 520px; }
  .safety-photo, .safety-photo img { min-height: 430px; }
}
@media (max-width: 767.98px) {
  :root { --header-height: 68px; }
  .section-space { padding: 4.5rem 0; }
  .brand-lockup img { width: 44px; height: 44px; }
  .brand-copy strong { font-size: 1.05rem; }
  .brand-copy small { font-size: .62rem; }
  .hero::before { width: .28rem; }
  .hero-inner { padding-top: 4.6rem; padding-bottom: 4rem; }
  .hero h1 { font-size: clamp(2.8rem, 14vw, 4.6rem); }
  .hero-actions .btn { width: 100%; }
  .service-feature { min-height: auto; grid-template-columns: 1fr; gap: 1rem; padding: 2rem; }
  .service-item { grid-column: span 12; min-height: auto; }
  .organization-grid { grid-template-columns: 1fr; }
  .organization-grid li { min-height: 65px; }
  .experience-photo, .experience-photo img { min-height: 440px; }
  .profile-stat { align-items: flex-start; flex-direction: column; }
  .safety-photo, .safety-photo img { min-height: 360px; }
  .enquiry-shell { border-radius: .55rem; }
}
@media (max-width: 399px) {
  .brand-copy small { display: none; }
  .mobile-contact-bar a { font-size: .68rem; }
  .mobile-contact-bar span { display: none; }
}
/* @section: interior-page-heroes */
.page-hero {
  position: relative;
  isolation: isolate;
  min-height: 500px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  padding: clamp(5rem, 10vw, 8rem) 0 clamp(4.5rem, 8vw, 7rem);
  background: var(--scpl-navy-deep);
  color: var(--scpl-white);
}
.page-hero::before,
.page-hero::after { content: ""; position: absolute; inset: 0; z-index: -2; }
.page-hero::before { background-position: center; background-size: cover; }
.page-hero::after { z-index: -1; background: linear-gradient(90deg, rgba(3,30,45,.97) 0%, rgba(3,30,45,.84) 45%, rgba(3,30,45,.35) 100%); }
.page-hero-about::before, .page-hero-faq::before { background-image: url("../images/pipeline_2.jpeg"); }
.page-hero-services::before, .page-hero-projects::before { background-image: url("../images/pipeline_3.jpeg"); background-position: center 45%; }
.page-hero-capabilities::before { background-image: url("../images/hdd_1.jpeg"); }
.page-hero-contact::before { background-image: url("../images/pipeline_1.jpeg"); }
.page-hero-hse::before { background-image: url("../images/pipeline_2.jpeg"); background-position: center 40%; }
.policy-block { padding-left: clamp(0rem, 3vw, 3rem); border-left: 1px solid var(--scpl-border); }
.policy-block h3 { color: var(--scpl-navy-deep); font-size: clamp(1.3rem, 2.2vw, 1.85rem); letter-spacing: -.03em; margin: 0 0 .9rem; }
.policy-block p, .policy-block li { color: var(--scpl-steel); }
.policy-block ul { padding-left: 1.15rem; }
.policy-block li { margin-bottom: .5rem; }
.video-frame { border: 1px solid var(--scpl-border); background: var(--scpl-navy); box-shadow: var(--shadow-card); }
.video-frame iframe { display: block; width: 100%; border: 0; }
.page-hero .breadcrumb { margin-bottom: 2.4rem; }
.page-hero .breadcrumb-item, .page-hero .breadcrumb-item a { color: #b8d2de; font-size: .78rem; text-decoration: none; }
.page-hero .breadcrumb-item.active { color: var(--scpl-white); }
.page-hero .breadcrumb-item + .breadcrumb-item::before { color: #7fdcff; }
.page-hero h1 { max-width: 950px; margin: 0; font-size: clamp(3rem, 7vw, 6.3rem); font-weight: 760; letter-spacing: -.06em; line-height: .96; }
.page-hero-lead { max-width: 760px; margin: 1.5rem 0 0; color: #dce9ef; font-size: clamp(1.05rem, 1.8vw, 1.3rem); }

/* @section: shared-interior-content */
.bg-ice { background: var(--scpl-ice); }
.editorial-copy { padding-left: clamp(0rem, 4vw, 4rem); border-left: 1px solid var(--scpl-border); }
.editorial-copy .lead { color: var(--scpl-ink); font-size: clamp(1.2rem, 2vw, 1.55rem); }
.editorial-copy p:not(.lead) { color: var(--scpl-steel); }
.media-frame { position: relative; min-height: 470px; overflow: hidden; background: var(--scpl-navy); box-shadow: var(--shadow-soft); }
.media-frame.tall { min-height: 610px; }
.media-frame img { width: 100%; height: 100%; min-height: inherit; object-fit: cover; }
.cta-band { padding: clamp(3.5rem, 6vw, 5.5rem) 0; background: var(--scpl-navy); color: var(--scpl-white); }
.cta-band h2 { max-width: 760px; margin: 0; font-size: clamp(2rem, 4vw, 3.8rem); letter-spacing: -.045em; line-height: 1.05; }

/* @section: about-principles */
.principles-band { background: var(--scpl-navy-deep); color: var(--scpl-white); }
.principle-intro { padding: clamp(3rem, 6vw, 5rem); }
.principle-intro blockquote { margin: 0; font-size: clamp(1.7rem, 3vw, 2.6rem); font-weight: 700; letter-spacing: -.035em; line-height: 1.2; }
.principle-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); height: 100%; border-left: 1px solid rgba(255,255,255,.14); }
.principle-grid article { min-height: 250px; padding: clamp(2rem, 4vw, 3.5rem); border-right: 1px solid rgba(255,255,255,.14); border-bottom: 1px solid rgba(255,255,255,.14); }
.principle-grid span, .service-detail > span, .equipment-group > span { color: #7fdcff; font-size: .72rem; font-weight: 800; letter-spacing: .15em; }
.principle-grid h2 { margin: 2rem 0 .7rem; font-size: 1.55rem; }
.principle-grid p { color: #b8d2de; }
.fact-list { margin-top: 2rem; border-top: 1px solid #bddbe7; }
.fact-list > div { display: grid; grid-template-columns: minmax(150px, 220px) 1fr; gap: 1.5rem; align-items: center; padding: 1.15rem 0; border-bottom: 1px solid #bddbe7; }
.fact-list strong { color: var(--scpl-cyan-dark); font-size: clamp(1.4rem, 2.5vw, 2.2rem); }
.fact-list span { color: var(--scpl-steel); }

/* @section: detailed-services */
.service-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1px; border: 1px solid var(--scpl-border); background: var(--scpl-border); box-shadow: var(--shadow-soft); }
.service-detail { padding: clamp(2rem, 4vw, 3.5rem); background: var(--scpl-white); }
.service-detail h2 { margin: 1.8rem 0 1rem; color: var(--scpl-navy-deep); font-size: clamp(1.75rem, 3vw, 2.75rem); letter-spacing: -.04em; }
.service-detail p, .service-detail li { color: var(--scpl-steel); }
.service-detail ul, .equipment-group ul, .check-list { padding-left: 1.15rem; margin-bottom: 0; }
.service-detail li, .equipment-group li, .check-list li { margin-bottom: .55rem; }
.service-detail-featured { background: var(--scpl-navy); color: var(--scpl-white); }
.service-detail-featured h2 { color: var(--scpl-white); }
.service-detail-featured p, .service-detail-featured li { color: #d2e3ea; }
.image-band { padding: clamp(4.5rem, 8vw, 7rem) 0; background: var(--scpl-navy-deep); }
.image-band img { width: 100%; height: 100%; min-height: 560px; object-fit: cover; }
.image-band-copy { padding: clamp(2.5rem, 5vw, 4.5rem); background: var(--scpl-navy); color: var(--scpl-white); }
.image-band-copy h2 { font-size: clamp(2.2rem, 4vw, 4rem); letter-spacing: -.05em; line-height: 1; }
.image-band-copy > p:not(.eyebrow,.photo-source) { color: #c8dbe3; }
.photo-source, .source-disclaimer { margin: 1rem 0 0; color: #7899a8; font-size: .72rem; }
.numbered-list { padding: 0; margin: 0; list-style: none; border-top: 1px solid #bddbe7; }
.numbered-list li { display: grid; grid-template-columns: minmax(165px,220px) 1fr; gap: 1.5rem; padding: 1.3rem 0; border-bottom: 1px solid #bddbe7; }
.numbered-list strong { color: var(--scpl-navy); }
.numbered-list span { color: var(--scpl-steel); }

/* @section: project-experience */
.project-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border: 1px solid var(--scpl-border); box-shadow: var(--shadow-card); }
.project-metrics > div { min-height: 180px; display: flex; flex-direction: column; justify-content: flex-end; padding: 1.5rem; border-right: 1px solid var(--scpl-border); }
.project-metrics > div:last-child { border-right: 0; }
.project-metrics strong { color: var(--scpl-cyan-dark); font-size: clamp(1.7rem,3vw,2.7rem); letter-spacing: -.04em; }
.project-metrics span { color: var(--scpl-steel); font-size: .78rem; }
.project-table-wrap { border: 1px solid var(--scpl-border); background: var(--scpl-white); box-shadow: var(--shadow-card); }
.project-table { margin: 0; }
.project-table caption { padding: 1rem 1.25rem; color: var(--scpl-steel); }
.project-table th { padding: 1rem 1.25rem; background: var(--scpl-navy); color: var(--scpl-white); border: 0; }
.project-table td { padding: 1rem 1.25rem; color: var(--scpl-steel); vertical-align: middle; }
.site-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); padding: 0; margin: 0; list-style: none; border-top: 1px solid var(--scpl-border); }
.site-list li { min-height: 78px; display: flex; align-items: center; padding: 1rem; border-right: 1px solid var(--scpl-border); border-bottom: 1px solid var(--scpl-border); font-weight: 700; }

/* @section: equipment-and-safety */
.capability-points { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 2.5rem; border-top: 1px solid var(--scpl-border); border-left: 1px solid var(--scpl-border); }
.capability-points > div { padding: 1.2rem; border-right: 1px solid var(--scpl-border); border-bottom: 1px solid var(--scpl-border); }
.capability-points strong, .capability-points span { display: block; }
.capability-points strong { color: var(--scpl-navy); }
.capability-points span { color: var(--scpl-steel); font-size: .78rem; }
.equipment-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; border: 1px solid var(--scpl-border); background: var(--scpl-border); box-shadow: var(--shadow-card); }
.equipment-group { padding: clamp(2rem,4vw,3.2rem); background: var(--scpl-white); }
.equipment-group > span { color: var(--scpl-cyan-dark); }
.equipment-group h2 { margin: 1.5rem 0 1rem; font-size: 1.7rem; }
.equipment-group li { color: var(--scpl-steel); }
.safety-band { padding: clamp(5rem,9vw,8rem) 0; background: var(--scpl-navy-deep); color: var(--scpl-white); }
.safety-band h2 { font-size: clamp(2.5rem,5vw,4.8rem); letter-spacing: -.055em; line-height: 1; }
.safety-band p:not(.eyebrow) { color: #b8d2de; }
.check-list { color: #dce9ef; columns: 2; }
.process-rail { padding: 0; margin: 0; list-style: none; border-top: 1px solid var(--scpl-border); }
.process-rail li { display: grid; grid-template-columns: 70px 1fr; gap: 1.5rem; padding: 1.35rem 0; border-bottom: 1px solid var(--scpl-border); }
.process-rail span { color: var(--scpl-cyan-dark); font-weight: 800; }
.process-rail h3 { margin: 0 0 .3rem; font-size: 1.35rem; }
.process-rail p { margin: 0; color: var(--scpl-steel); }

/* @section: contact-page */
.contact-overview { position: relative; z-index: 2; margin-top: -3rem; }
.contact-card-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); background: var(--scpl-border); border: 1px solid var(--scpl-border); box-shadow: var(--shadow-soft); }
.contact-card { min-width: 0; display: flex; flex-direction: column; padding: 1.6rem; background: var(--scpl-white); color: var(--scpl-ink); text-decoration: none; }
.contact-card:hover { background: var(--scpl-ice); }
.contact-card span { color: var(--scpl-cyan-dark); font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.contact-card strong { margin: .7rem 0 .2rem; overflow-wrap: anywhere; }
.contact-card small { color: var(--scpl-steel); }
.availability-note { margin-top: 1.5rem; color: #7899a8 !important; font-size: .72rem; }
.map-section { padding: 0 0 clamp(5rem,9vw,8rem); background: var(--scpl-white); }
.map-copy { padding: clamp(2.5rem,5vw,4.5rem); background: var(--scpl-navy); color: var(--scpl-white); }
.map-copy h2 { font-size: clamp(2.3rem,4vw,3.8rem); letter-spacing: -.045em; }
.map-copy address { margin: 1.5rem 0; color: #dce9ef; font-style: normal; }
.office-map { display: block; width: 100%; height: 100%; min-height: 470px; border: 0; }

/* @section: faq */
.faq-accordion .accordion-item { border: 0; border-bottom: 1px solid var(--scpl-border); border-radius: 0; }
.faq-accordion .accordion-button { padding: 1.5rem 0; color: var(--scpl-navy-deep); background: transparent; font-size: 1.12rem; font-weight: 750; box-shadow: none; }
.faq-accordion .accordion-button:not(.collapsed) { color: var(--scpl-cyan-dark); }
.faq-accordion .accordion-button:focus-visible { outline-offset: 4px; }
.faq-accordion .accordion-body { padding: 0 2.5rem 1.6rem 0; color: var(--scpl-steel); }

/* @section: error-page */
.error-page { min-height: 100vh; background: var(--scpl-navy-deep); color: var(--scpl-white); }
.error-shell { min-height: 100vh; display: grid; place-items: center; padding: 2rem 1rem 5rem; background: radial-gradient(circle at 80% 15%, rgba(0,169,232,.22), transparent 35%), linear-gradient(135deg,#031e2d,#062f46); }
.error-panel { width: min(720px,100%); text-align: center; }
.error-brand { display: inline-flex; align-items: center; gap: .8rem; color: var(--scpl-white); font-weight: 800; letter-spacing: .08em; text-align: left; text-decoration: none; }
.error-brand img { width: 70px; height: 70px; object-fit: cover; border-radius: 50%; mix-blend-mode: screen; }
.error-brand small { color: #b8d2de; font-size: .7rem; letter-spacing: .04em; }
.error-code { margin: 3rem 0 0; color: #7fdcff; font-size: clamp(5rem,20vw,12rem); font-weight: 850; letter-spacing: -.08em; line-height: .8; }
.error-panel h1 { margin: 1.8rem 0 1rem; font-size: clamp(2.2rem,6vw,4.5rem); letter-spacing: -.05em; }
.error-panel > p:not(.error-code) { max-width: 560px; margin: 0 auto 2rem; color: #b8d2de; }

/* @section: interior-responsive */
@media (max-width: 991.98px) {
  .page-hero { min-height: 440px; }
  .editorial-copy { padding-left: 0; border-left: 0; }
  .contact-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .image-band img { min-height: 430px; }
  .principle-grid { border-left: 0; }
}
@media (max-width: 767.98px) {
  .page-hero { min-height: 410px; padding-block: 4rem; }
  .page-hero h1 { font-size: clamp(2.65rem,13vw,4.2rem); }
  .page-hero::after { background: linear-gradient(90deg,rgba(3,30,45,.96),rgba(3,30,45,.72)); }
  .service-detail-grid, .equipment-grid, .principle-grid { grid-template-columns: 1fr; }
  .project-metrics { grid-template-columns: 1fr; }
  .project-metrics > div { min-height: 125px; border-right: 0; border-bottom: 1px solid var(--scpl-border); }
  .site-list { grid-template-columns: 1fr; }
  .contact-card-grid { grid-template-columns: 1fr; }
  .contact-overview { margin-top: -1.5rem; }
  .fact-list > div, .numbered-list li { grid-template-columns: 1fr; gap: .35rem; }
  .capability-points { grid-template-columns: 1fr; }
  .check-list { columns: 1; }
  .media-frame, .media-frame.tall { min-height: 390px; }
  .office-map { min-height: 360px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .js-ready .reveal { opacity: 1; transform: none; }
}
