/* A little more character: an ocean palette, editorial rules and a human signature. */
@font-face {
  font-family: 'Parisienne';
  src: url('/assets/fonts/parisienne-regular.ttf') format('truetype');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

/* A recurring fine line gives the chapters a shared visual language. */
.director-message .eyebrow,
.cargo-editorial-heading .eyebrow,
.cargo-interlude-copy .eyebrow,
.page-intro-copy > .eyebrow,
.service-category-hero .eyebrow,
.home-page .solutions-home .section-title > .eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #075e70;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.6;
  letter-spacing: .02em;
}
.director-message .eyebrow::before,
.cargo-editorial-heading .eyebrow::before,
.cargo-interlude-copy .eyebrow::before,
.page-intro-copy > .eyebrow::before,
.service-category-hero .eyebrow::before,
.home-page .solutions-home .section-title > .eyebrow::before {
  content: '';
  display: block;
  flex: 0 0 28px;
  width: 28px;
  height: 2px;
  background: #53d8e9;
}

/* The opening company message ends with a generous, handwritten sign-off. */
.director-message { padding-block: 96px 88px; border-bottom-color: #c8dfe5; }
.director-message .eyebrow { justify-content: center; margin-bottom: 44px; }
.director-portrait {
  padding: 8px;
  border: 1px solid #d2e6eb;
  border-radius: 28px;
  background: #f1f8fa;
  box-shadow: 0 18px 48px #062d3d0d;
}
.director-portrait img { border-radius: 20px; }
.director-message figcaption { gap: 3px; margin-top: 32px; }
.director-message figcaption::before { width: 58px; margin-bottom: 8px; }
.director-message figcaption strong {
  display: block;
  max-width: 100%;
  padding: 4px 8px;
  color: #075e70;
  font-family: 'Parisienne', cursive;
  font-size: 72px;
  font-weight: 400;
  font-style: normal;
  font-synthesis: none;
  line-height: 1.2;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}
.director-message figcaption span { color: #4f6872; font-size: 16px; font-weight: 600; }

/* Keep the homepage compact, while giving its quieter sections more definition. */
.global-presence > h2::after {
  content: '';
  display: block;
  width: 56px;
  height: 2px;
  margin-top: 22px;
  background: #53d8e9;
}
.presence-list > li { border-top-color: #bfdce4; }
.presence-list h3 { letter-spacing: -.025em; }
#sri-lanka-introduction.origin-feature {
  background: linear-gradient(180deg, #fff 42%, #eff7f9);
}
.origin-photograph img {
  border-radius: 20px;
  box-shadow: 0 18px 48px #062d3d12;
  outline: 1px solid #062d3d0a;
  outline-offset: -1px;
}
.home-page .solutions-home .section-title {
  max-width: 920px;
  margin: 0 0 40px;
  text-align: left;
}
.home-page .solutions-home h2 { text-wrap: balance; }
.simple-solution-list > li { border-top-color: #c2dce4; }
.simple-solution-list > li:first-child > a { color: #075e70; font-weight: 700; }
.home-page .future-home {
  background: radial-gradient(ellipse at 88% 18%, #0b5161 0%, #062d3d 58%);
}
.home-page .future-topics > a,
.home-page .future-topics > a:last-child,
.home-page .future-topics > a:hover {
  padding: 8px 0;
  margin-right: 22px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #d6edf1;
  text-underline-offset: 5px;
}
.home-page .future-topics > a:hover { text-decoration: underline; }

/* Photographs retain their original crops, with a quiet, consistent frame. */
.cargo-photo,
.industry-photo-mosaic > figure {
  border-radius: 16px;
  outline: 1px solid #062d3d0a;
  outline-offset: -1px;
}
.cargo-number { color: #075e70; font-weight: 600; }
.cargo-caption,
.industry-visual-copy { border-bottom-color: #bfdbe3; }
.cargo-caption h3,
.industry-visual-copy h2 { text-wrap: balance; }
.industry-quick-nav a,
.industry-quick-nav a:hover,
.industry-quick-nav a[aria-current="location"] {
  padding: 9px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #075e70;
  text-underline-offset: 5px;
}
.industry-quick-nav a:hover,
.industry-quick-nav a[aria-current="location"] { text-decoration: underline; }
.industry-index .industry-quick-nav { gap: 8px 28px; }

/* Personal stories and service information share the same calm reading rhythm. */
.story-section { max-width: 940px; }
.story-section h2 { color: #062d3d; text-wrap: balance; }
.story-section p { max-width: 760px; color: #355966; line-height: 1.8; }
.vision-banner { background: linear-gradient(115deg, #eaf6f8, #f4fafb); }
.culture-values article,
.culture-values article:nth-child(3n) {
  padding: 30px 0;
  border: 0;
  border-top: 1px solid #bcdce4;
  border-radius: 0;
  background: transparent;
}
.culture-values h3 { font-size: clamp(26px, 2.5vw, 32px); line-height: 1.25; }
.service-category-page .service-category-hero {
  border-color: #d1e5eb;
  background: linear-gradient(125deg, #eef8fa, #f9fcfd);
}
.service-category-page .service-category-hero img,
.service-detail-page .service-detail-image img {
  box-shadow: 0 12px 32px #062d3d0c;
  outline: 1px solid #062d3d0a;
  outline-offset: -1px;
}
.agency-pillars > article,
.agency-closing { border-top-color: #a8d3de; }

/* Contact remains a text invitation, including inside the darker chapters. */
.contact-band .text-link,
.contact-band .text-link:hover,
:is(.solutions-overview, .service-category-page, .service-detail-page) .contact-band .text-link,
:is(.solutions-overview, .service-category-page, .service-detail-page) .contact-band .text-link:hover {
  min-height: 44px;
  padding: 10px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #a2eaf2;
  font-size: 18px;
  line-height: 1.6;
  text-underline-offset: 5px;
}
.contact-band .text-link:hover { text-decoration: underline; }

@media (max-width: 959px) {
  .director-message { padding-block: 72px 68px; }
  .director-message .eyebrow { margin-bottom: 36px; }
  .director-message--portrait .director-message-layout { gap: 44px; }
}
@media (max-width: 599px) {
  .director-message { padding-block: 54px 56px; }
  .director-message .eyebrow { gap: 10px; margin-bottom: 30px; }
  .director-portrait { padding: 6px; border-radius: 22px; }
  .director-portrait img { border-radius: 16px; }
  .director-message figcaption { margin-top: 28px; }
  .director-message figcaption strong { padding-inline: 4px; font-size: 54px; }
  .director-message figcaption span { font-size: 15px; }
  .global-presence > h2::after { margin-top: 18px; }
  .home-page .solutions-home .section-title { margin-bottom: 30px; }
  .origin-photograph img,
  .cargo-photo,
  .industry-photo-mosaic > figure { border-radius: 12px; }
  .industry-index .industry-quick-nav { gap: 6px 18px; }
  .culture-values article,
  .culture-values article:nth-child(3n) { padding-block: 24px; }
  .home-page .future-topics > a,
  .home-page .future-topics > a:last-child { margin-right: 0; }
}
