/* Structured Design C — same visual system as the approved 2026 master pack.
   Arial, black on white, Navy #0B3D6E, Medium #6FA3D7, Pale #E6EFF8. */
:root {
  --ink: #161616;
  --dark: #0B3D6E;
  --deep: #0B3D6E;
  --leaf: #0B3D6E;
  --acid: #E6EFF8;
  --cream: #FFFFFF;
  --paper: #FFFFFF;
  --muted: #525963;
  --line: #D1DBE5;
  --serif: Arial, Helvetica, sans-serif;
  --sans: Arial, Helvetica, sans-serif;
}
html, body { background: #fff; }
body { color: #161616; font-family: Arial, Helvetica, sans-serif; }
::selection { background: #c8dff1; color: #0B3D6E; }
:focus-visible { outline: 2px solid #0B3D6E; outline-offset: 3px; }
.container { width: min(1190px, calc(100% - 84px)); }
.section { padding: 96px 0; scroll-margin-top: 84px; }
.kicker, .eyebrow {
  color: #0B3D6E;
  font-size: 11px;
  letter-spacing: .085em;
  font-weight: 700;
}
.kicker:before { width: 19px; height: 2px; }
.kicker.light { color: #E6EFF8; }
.section-heading, .hero h1, .training h2, .about h2, .contact h2 {
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 700;
  letter-spacing: -.035em;
  line-height: 1.13;
}
.section-heading { font-size: clamp(33px,4.1vw,55px); margin-top: 22px; }
.section-heading em, .hero h1 em, .about h2 em, .training h2 em, .contact h2 em {
  font: inherit;
  font-style: normal;
  letter-spacing: inherit;
  color: #0B3D6E;
}
.section-intro { color: #4D5963; }

/* Consistent identity and thin navy rules from Word and PowerPoint. */
header {
  height: 79px;
  background: #fff;
  border-bottom: 2px solid #0B3D6E;
  box-shadow: none;
  backdrop-filter: none;
}
.brand { gap: 10px; min-width: 210px; }
.brand-mark {
  display: block;
  width: 54px;
  height: 54px;
  border-radius: 0;
  border: 0;
  background: #fff;
  object-fit: contain;
  flex: 0 0 auto;
}
.brand-title { font-size: 14px; font-weight: 700; letter-spacing: .006em; color: #0B3D6E; }
.brand-sub { color: #0B3D6E; font-size: 9px; letter-spacing: .065em; }
.nav-links a { font-size: 12px; font-weight: 700; }
.nav-links a:hover { color: #3877A8; }
.nav-right { gap: 16px; }
.lang-switch { border: 1px solid #A6BDD1; border-radius: 0; padding: 0; }
.lang-switch a { padding: 8px 10px; border-radius: 0; }
.lang-switch a[aria-current=page] { color: #fff; background: #0B3D6E; }
.nav-contact { background: #0B3D6E; border-radius: 0; padding: 13px 17px; }
.nav-contact:hover { background: #225D90; }
.menu-toggle span { background: #0B3D6E; }

.hero { background: #fff; padding-top: 85px; }
.hero-grid { gap: 56px; padding-bottom: 78px; }
.eyebrow .dot {
  height: 8px; width: 8px;
  border-radius: 0;
  background: #6FA3D7;
  box-shadow: none;
}
.hero h1 { color: #101010; font-size: clamp(49px, 5.65vw, 79px); letter-spacing: -.045em; }
.hero h1 em { color: #0B3D6E; font-size: 1em; }
.hero-description { color: #404750; font-size: 17px; line-height: 1.77; }
.hero-note { color: #53606C; font-size: 11px; }
.hero-note .rule { background: #0B3D6E; }
.button { border-radius: 0; font-weight: 700; }
.button:hover { transform: translateY(-1px); }
.button.primary { background: #0B3D6E; color: #fff; }
.button.primary:hover { background: #245F93; }
.button.secondary { background: #fff; border: 1px solid #0B3D6E; color: #0B3D6E; }
.button.secondary:hover { background: #E6EFF8; }
.button.light { color: #0B3D6E; background: #fff; }
.button.light:hover { background: #E6EFF8; }

/* Technical figure on pale paper, with report-like labels and edges. */
.visual-panel {
  background: #E6EFF8;
  border: 1px solid #BCCCD9;
  border-top: 4px solid #0B3D6E;
  border-radius: 0;
  box-shadow: none;
  min-height: 485px;
}
.visual-panel:before { background: #E6EFF8; opacity: 1; }
.contour-svg { opacity: .42; }
.visual-top { top: 25px; color: #0B3D6E; letter-spacing: .09em; }
.visual-top .badge {
  color: #0B3D6E;
  border: 1px solid #6FA3D7;
  border-radius: 0;
  background: #FFFFFFC9;
}
.visual-bottom { border-top: 1px solid #9BB7CE; color: #0B3D6E; }
.visual-cross { border-color: #0B3D6E; }
.visual-cross:before, .visual-cross:after { background: #0B3D6E; }
.data-chip {
  background: #fff;
  border: 1px solid #B9CDDD;
  border-left: 4px solid #6FA3D7;
  border-radius: 0;
  box-shadow: none;
}
.data-chip strong { color: #0B3D6E; }
.data-chip small { color: #566F86; }
.brand-rule {
  height: 18px;
  background: #E6EFF8 url('/assets/brand-stripe.png') center / 100% 100% no-repeat;
}
.hero-strip {
  background: #fff;
  color: #171717;
  border: 0;
  border-bottom: 1px solid #B6C8D8;
}
.strip-item { border-right: 1px solid #D1DBE5; }
.strip-symbol { font-family: Arial, Helvetica, sans-serif; font-weight: 700; font-size: 21px; color: #0B3D6E; }
.strip-item strong { font-size: 12px; color: #171717; }
.strip-item small { color: #5C6872; }

.services { background: #fff; }
.section-topline, .portfolio-head { margin-bottom: 45px; }
.section-topline p, .portfolio-head p { color: #525963; }
.services-grid { border-top: 3px solid #0B3D6E; }
.service-card { min-height: 260px; padding: 32px 29px; }
.service-card:hover { background: #F5F9FC; }
.service-n { color: #0B3D6E; font-size: 11px; }
.service-card h3 { color: #171717; letter-spacing: -.02em; }
.service-card p { color: #535C65; }
.portfolio { background: #F7FAFD; }
.project { border: 1px solid #D1DBE5; border-radius: 0; }
.project-visual { height: 215px; }
.project-visual:after { background: linear-gradient(0deg, #0B3D6E76, transparent 60%); }
.project-visual.climate { background: #0B3D6E; }
.project-visual.urban { background: #E6EFF8; }
.project-visual.esg { background: #0B3D6E; }
.project-content { background: #fff; }
.project-content h3 { letter-spacing: -.025em; }
.project-type { color: #0B3D6E; }
.project-label { border: 1px solid #B8CADA; border-radius: 0; color: #0B3D6E; }

/* Section dividers follow the numbered document hierarchy. */
.approach { background: #E6EFF8; color: #151515; padding: 95px 0; }
.approach .section-heading em { color: #0B3D6E; }
.approach .section-intro { color: #4C5660; }
.approach .kicker.light { color: #0B3D6E; }
.steps { border-top: 3px solid #0B3D6E; margin-top: 58px; }
.step { border-right: 1px solid #B1C4D5; }
.step-number { color: #0B3D6E; font-family: Arial,Helvetica,sans-serif; font-size: 36px; font-weight: 700; }
.step h3 { color: #151515; }
.step p { color: #445462; }
.training { background: #fff; }
.training p { color: #525C65; }
.course-list { border-top: 3px solid #0B3D6E; }
.course { border-bottom: 1px solid #C9D7E2; }
.course span { color: #0B3D6E; }
.course strong { font-weight: 700; }
.about { background: #F7FAFD; }
.about-side { background: #fff; border: 1px solid #D1DBE5; border-top: 4px solid #0B3D6E; border-radius: 0; }
.about-monogram { color: #0B3D6E; }
.about h2 { color: #151515; }
.about p { color: #4E5B65; }

.contact { background: #0B3D6E; border-top: 10px solid #6FA3D7; }
.contact:after { display: none; }
.contact h2 { color: #fff; }
.contact h2 em { color: #E6EFF8; }
.contact p, .contact-secondary { color: #DBE7F1; }
.contact-email { border-bottom-color: #9FC5E4; }
.contact-email:hover, .contact-secondary:hover { color: #fff; }
.footer { color: #56616B; background: #fff; border-top: 1px solid #C6D5E1; }
.footer strong { color: #0B3D6E; }

@media (max-width:1100px) {
  .hero-grid { gap: 32px; }
  .container { width: min(1160px, calc(100% - 58px)); }
}
@media (max-width:800px) {
  header { height: 72px; }
  .nav-links { background: #fff; border-bottom: 2px solid #0B3D6E; box-shadow: 0 12px 25px #0B3D6E11; }
  .hero { padding-top: 50px; }
  .hero-grid { padding-bottom: 52px; }
  .visual-panel { min-height: 430px; }
}
@media (max-width:560px) {
  .container { width: calc(100% - 38px); }
  .brand-mark { width: 43px; height: 43px; }
  .brand-title { font-size: 12px; }
  .brand-sub { font-size: 8px; }
  .hero h1 { font-size: clamp(40px, 12vw, 58px); }
  .hero-description { font-size: 15px; }
  .brand-rule { height: 13px; }
  .strip-item, .strip-item:first-child { border-bottom: 1px solid #D1DBE5; }
  .services-grid { border-top-width: 2px; }
  .step { border-right: 0; border-bottom: 1px solid #B1C4D5; }
  .visual-panel { min-height: 365px; }
  .section { padding: 72px 0; }
}
