.theme-toggle {
  display: inline-flex; align-items: center; justify-content: center; flex: none;
  width: 74px; height: 36px; gap: 6px; padding: 0;
  border-radius: 99px; border: 1px solid #7292ad80; background: transparent;
  color: inherit; cursor: pointer;
}
.theme-toggle svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.theme-track { display: flex; align-items: center; width: 25px; height: 14px; box-sizing: border-box; padding: 2px; border-radius: 8px; background: #8099ae48; }
.theme-track i { width: 10px; height: 10px; border-radius: 50%; background: #65cbff; transform: translateX(11px); transition: transform .22s ease; }
[data-theme=light] .theme-track i { transform: translateX(0); background: #bb8013; }
@media(max-width:600px) { .theme-toggle { width: 57px; gap: 3px; } .theme-toggle svg { width: 10px; } }
@media(prefers-reduced-motion:reduce) { .theme-track i { transition: none; } }
.theme-toggle[hidden] { display: none; }
.header-inner .brand { margin-right: auto; }
.header-inner .theme-toggle { order: 3; }
.theme-toggle:hover { background: #87b3d525; }
main > .theme-toggle { float: right; }
@media(max-width:1100px) {
  .header-inner { gap: 10px; }
  .header-inner .theme-toggle { order: 0; }
}
.contact-invite {
  position: relative; isolation: isolate; overflow: hidden; background: #081725;
  grid-template-columns: minmax(0,1.25fr) minmax(0,.75fr);
}
.contact-invite::before {
  content: ''; position: absolute; z-index: -1; inset: 0;
  background: linear-gradient(90deg,#081725 10%,#081725ed 40%,#0817259e 75%,#081725bd),url('/media/port-frame.jpg') center 52% / cover;
}
.contact-direct { padding-left: 0; border: 0; }
.contact-direct span { margin-bottom: 5px; }
.contact-direct a:hover { text-decoration: underline; text-underline-offset: 4px; }
.fallback-door { background-image: repeating-linear-gradient(90deg,#dec7b533 0 9%,#41271f88 11% 13%,transparent 14% 20%),linear-gradient(#aa623db8,#844028cc),url('/media/container/paint-color.jpg'); }
@media(max-width:700px) {
  .contact-invite { grid-template-columns: 1fr; gap: 24px; }
  .contact-direct { border-top: 1px solid #8da6b555; padding-top: 20px; }
}
:root[data-theme=light] { color-scheme: light; --paper: #f6f8fa; --ink: #102c40; --muted: #405b6e; --line: #a8beca; --accent: #12608d; --night-line: #6c92ab66;
  --admin-page:#f4f7fa; --admin-sidebar:#e9f0f5; --admin-surface:#fff; --admin-field:#f9fbfc; --admin-line:#a1b6c5; --admin-text:#10293c; --admin-muted:#415c70; --admin-accent:#165c87;
}
[data-theme=light] body { background: var(--paper, #f4f7fa); }
[data-theme=light] .site-header { background: #f6f9fcee; color: #16384e; }
[data-theme=light] .site-header.is-scrolled { background: #f1f7fbd6; }
[data-theme=light] #navigation a[aria-current=page] { color: #095a90; }
[data-theme=light] #navigation .nav-cta { background: #e1eef7; color: #123c59; border-color: #789fb7; }
@media(max-width:1100px) { [data-theme=light] #navigation { background: #f7fafc; } }
[data-theme=light] :is(.operations,.about,.detail-callout,.page-connect) { background: #e8eff4; color: #122f44; }
[data-theme=light] .contact-invite { background: #eef4f7; color: #102e42; }
[data-theme=light] .contact-invite::before { background-image: linear-gradient(90deg,#f4f8fa 8%,#eff5f9f0 41%,#e4edf3d9 80%,#dae6edbf),url('/media/port-frame.jpg'); }
[data-theme=light] :is(.contact-invite,.operation-grid,.process-preview-heading,.catalog-copy,.intro-side,.corporate-story,.practice-grid,.process-panel-copy,.page-connect) p:not(.eyebrow),
[data-theme=light] :is(.process-panel-copy ul,.contact-direct span,.contact-line > span) { color: #405b70; }
[data-theme=light] :is(.operation-grid a,.page-intro h1 em,.catalog-cta > span,.scope-item > span,.brief-grid span,.process-tabs button > span,.practice-symbol) { color: #12618c; }
[data-theme=light] .process-tabs button { color: #39586b; }
[data-theme=light] .process-tabs strong { color: #14364d; }
[data-theme=light] .process-tabs button:is([aria-selected=true],:hover) { background: #dceaf3; border-bottom-color: #186591; }
[data-theme=light] :is(.report-visual,.conversation-builder,.detail-hero,.contact-port figcaption) { color: #eff7ff; }
[data-theme=light] .site-footer { background: #dce6ed; color: #132e42; border-color: #b1c5d2; }
[data-theme=light] .footer-columns :is(a,address), [data-theme=light] .footer-bottom { color: #35556b; }
[data-theme=light] .site-footer .brand img,[data-theme=light] .site-header .brand img { filter: none; }
.port-contact {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr);
  background: var(--paper);
  color: var(--ink);
  border-block: 1px solid var(--line);
}
.port-contact-photo { position: relative; overflow: hidden; min-height: 100%; }
.port-contact-photo img { position: absolute; inset: 0; height: 100%; width: 100%; object-fit: cover; object-position: 52% center; }
.port-contact-copy { align-self: center; padding: clamp(36px, 4.8vw, 82px) var(--gutter); }
.port-contact-copy .eyebrow { color: var(--muted); }
.port-contact-copy h2 { margin: 18px 0; font-size: clamp(38px, 4.4vw, 77px); line-height: 1.02; letter-spacing: -.057em; font-weight: 550; }
.port-contact-copy > p:not(.eyebrow) { max-width: 38ch; color: var(--muted); line-height: 1.65; }
.port-contact-copy .button { margin-block: 22px 26px; }
.port-contact-lines { border-top: 1px solid var(--line); font-style: normal; }
.port-contact-lines a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-block: 13px; border-bottom: 1px solid var(--line); }
.port-contact-lines span { font-size: 13px; color: var(--muted); }
.port-contact-lines strong { font-size: clamp(14px,1.3vw,20px); font-weight: 550; }
.port-contact-lines a:hover strong { text-decoration: underline; text-underline-offset: 4px; }
.home-page .footer-columns { grid-template-columns: minmax(0,1.4fr) repeat(2,minmax(0,1fr)); }
@media(max-width:700px) {
  .port-contact { grid-template-columns: 1fr; }
  .port-contact-photo { min-height: 0; aspect-ratio: 2.65; }
  .port-contact-copy { padding: 28px var(--gutter) 34px; }
  .port-contact-copy h2 br { display:none; }
  .port-contact-copy h2 br::after { content:' '; }
  .home-page .footer-columns { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-page .footer-columns > div:last-child { grid-column:auto; }
}
.footer-bottom { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; padding-inline: 0; }
.footer-bottom > :last-child { justify-self: end; }
.footer-bottom .site-credit { justify-self: center; }
.site-credit a { display: inline-block; color: inherit; font-weight: 750; transition: color .18s, text-shadow .18s; }
.site-credit a:is(:hover,:focus-visible) { color: #95ddff; text-shadow: 0 0 9px #43baff,0 0 17px #169dff; }
[data-theme=light] .site-credit a:is(:hover,:focus-visible) { color:#075590; text-shadow:0 0 8px #57c8ff; }
.port-contact-copy { padding-block: clamp(25px,3vw,46px); }
.port-contact-copy h2 { font-size: clamp(32px,3.2vw,52px); margin: 10px 0; }
.port-contact-copy .button { margin-block: 16px; }
@media(max-width:700px) {
  .footer-bottom { grid-template-columns: 1fr; justify-items: center; gap: 5px; text-align: center; padding: 14px 48px; }
  .footer-bottom > :last-child { display:none; }
}
.cargo-caption .round-arrow { width:42px;height:42px;border-radius:50%;background:#0a2840aa;color:#c5ecff;border-color:#7bbbe566;transition:transform .25s,background .25s,color .25s; }
.cargo-caption .round-arrow .icon { width:17px;height:17px; }
.cargo-link:hover .cargo-caption .round-arrow { background:var(--accent);color:#082039;transform:translateX(3px); }

/* A contained contact composition, with a clear reading order at every width. */
.port-contact {
  margin: clamp(32px,5vw,80px) var(--gutter);
  grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr);
  border: 1px solid var(--line);
  border-radius: 16px;
  overflow: hidden;
}
.port-contact-photo { margin: 0; min-height: 380px; }
.port-contact-photo::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 40%,#061322e8); }
.port-contact-photo figcaption { position:absolute; z-index:1; left:28px; right:24px; bottom:28px; color:#f0f7ff; font-size:clamp(20px,2vw,30px); letter-spacing:-.03em; }
.port-contact-photo figcaption span { display:block; margin-top:8px; font-size:12px; letter-spacing:.04em; color:#c0d6e8; }
.port-contact-copy { padding:clamp(26px,3.4vw,52px); }
.port-contact-copy h2 { font-size:clamp(30px,3.1vw,48px); line-height:1.1; letter-spacing:-.045em; margin:16px 0; }
.port-contact-copy > p:not(.eyebrow) { max-width:46ch; font-size:15px; }
.port-contact-lines { margin-top:8px; }
.port-contact-lines a { min-height:48px; padding-block:10px; }
@media(max-width:800px) {
  .port-contact { grid-template-columns:1fr; }
  .port-contact-photo { min-height:0; aspect-ratio:2.5; }
  .port-contact-photo figcaption { left:22px; bottom:20px; }
  .port-contact-copy { padding:26px 22px; }
}
@media(max-width:380px) {
  .port-contact-lines a { align-items:flex-start; flex-direction:column; gap:5px; }
}

/* Touch devices: avoid continuously rasterizing large photos and blurred layers. */
@media (pointer: coarse), (max-width: 1024px) {
  .cargo-link img, .detail-hero > img, .catalog-photo img, .process-visual img {
    animation: none !important;
    will-change: auto;
  }
  .site-header.is-scrolled { backdrop-filter: none; }
  .cargo-card, .cargo-portal { backdrop-filter: none; }
  .hero { height: 100svh; }
  .fallback-door { will-change: transform; }
}

/* Compact hero introduction: a single clear action without a divider. */
.hero-intro { max-width: 360px; padding-bottom: 8px; }
.hero-intro > p { color:#e4eef6; font-size:clamp(15px,1.15vw,18px); line-height:1.6; letter-spacing:-.015em; margin:0; text-wrap:balance; }
.hero-intro .hero-link { display:inline-flex; align-items:center; justify-content:flex-start; gap:24px; width:auto; margin-top:22px; padding:11px 12px 11px 20px; border:1px solid #b6ddf44d; border-radius:40px; background:#071a2ce8; color:#f1f7fc; font-size:14px; font-weight:550; text-decoration:none; transition:background .2s,border-color .2s; }
.hero-intro .hero-link .round-arrow { width:32px; height:32px; border:0; border-radius:50%; background:#b1dfff; color:#082239; }
.hero-intro .hero-link:hover { background:#123650; border-color:#a6daff; }
.hero-intro .hero-link:focus-visible { outline:2px solid #b1dfff; outline-offset:5px; }
.hero-intro .hero-link .icon { width:16px; height:16px; }
@media(max-width:700px) { .hero-intro { padding-bottom:0; max-width:100%; } .hero-intro .hero-link { margin-top:16px; gap:20px; } }

/* Borderless editorial sections: grouping through spacing and tonal surfaces. */
.home-page .operation-grid { gap:clamp(24px,4vw,64px); }
.home-page .operation-grid article { border:0; padding:8px 0 0; display:flex; flex-direction:column; align-items:flex-start; }
.home-page .operation-icon { width:58px; height:58px; border-radius:18px; background:linear-gradient(145deg,#173d60,#0c2339); box-shadow:none; }
.home-page .operation-icon svg { width:30px; stroke:#9edaff; }
.home-page .operation-grid h3 { margin-top:24px; }
.home-page .operation-grid p { margin-bottom:20px; }
.home-page .operation-grid a, .home-page .about-copy .section-link { border:0; text-decoration:none; display:inline-flex; align-items:center; gap:16px; padding:10px 0; margin-top:auto; font-weight:600; color:#b5dfff; }
.home-page .operation-grid a::after, .home-page .about-copy .section-link::after { content:''; width:8px; height:8px; border-top:1.5px solid currentColor; border-right:1.5px solid currentColor; transform:rotate(45deg); transition:transform .2s; }
.home-page .operation-grid a:hover::after, .home-page .about-copy .section-link:hover::after { transform:translateX(4px) rotate(45deg); }
.home-page .about-copy h2 { font-size:clamp(38px,4.8vw,72px); line-height:1.06; letter-spacing:-.055em; }
.home-page .about-copy .section-link { margin-top:12px; }
.home-page .about-image { position:relative; overflow:hidden; border-radius:14px; }
.home-page .about-image img { display:block; border-radius:0; }
.home-page .about-image figcaption { position:absolute; inset:auto 0 0; border:0; padding:42px 24px 22px; color:#e8f3fc; background:linear-gradient(transparent,#061422d9); }
.home-page .port-contact { border:0; background:linear-gradient(125deg,#11263b,#0c192a); }
.home-page .port-contact-lines { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; border:0; margin-top:20px; }
.home-page .port-contact-lines a { flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:8px; border:0; padding:8px 0; min-width:0; }
.home-page .port-contact-lines strong { font-size:clamp(14px,1.25vw,19px); overflow-wrap:anywhere; }
[data-theme=light] .home-page .operation-icon { background:#d8eaf6; }
[data-theme=light] .home-page .operation-icon svg { stroke:#145b88; }
[data-theme=light] .home-page .operation-grid a, [data-theme=light] .home-page .about-copy .section-link { color:#145b88; }
[data-theme=light] .home-page .port-contact { background:#eaf1f6; }
@media(max-width:650px) {
  .home-page .operation-grid { gap:34px; }
  .home-page .operation-grid article { display:grid; grid-template-columns:48px minmax(0,1fr); column-gap:18px; align-items:start; }
  .home-page .operation-icon { width:48px;height:48px;border-radius:15px;grid-row:1 / 4; }
  .home-page .operation-grid h3 { margin:0 0 8px; }
  .home-page .operation-grid p { margin:0 0 8px; }
  .home-page .operation-grid a { grid-column:2; }
  .home-page .about-image figcaption { padding:35px 18px 18px; }
  .home-page .about-image figcaption span { display:none; }
  .home-page .port-contact-lines { grid-template-columns:1fr;gap:8px; }
}
@media(prefers-reduced-motion:reduce) { .home-page .operation-grid a::after, .home-page .about-copy .section-link::after { transition:none; } }

/* Direct contact actions, with a consistent icon and generous tap area. */
.home-page .port-contact-lines { gap:12px; }
.home-page .port-contact-lines a, a.contact-line { display:grid; grid-template-columns:40px minmax(0,1fr); grid-template-rows:auto auto; column-gap:12px; row-gap:5px; align-items:center; padding:16px; border:0; border-radius:12px; background:#80bde80c; transition:background .18s; }
.contact-symbol { grid-column:1; grid-row:1 / 3; width:40px; height:40px; padding:9px; box-sizing:border-box; color:#a3dbff; background:#71bfff15; border-radius:12px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.home-page .port-contact-lines a > span, a.contact-line > span { grid-column:2; font-size:12px; line-height:1.3; }
.home-page .port-contact-lines a > strong, a.contact-line > strong { grid-column:2; font-size:clamp(14px,1.1vw,17px); line-height:1.4; overflow-wrap:anywhere; }
.home-page .port-contact-lines a:hover, a.contact-line:hover { background:#80bde81c; }
.home-page .port-contact-lines a:focus-visible, a.contact-line:focus-visible { outline:2px solid #84cfff; outline-offset:3px; }
[data-theme=light] .contact-symbol { color:#17618f; background:#d7eaf7; }
[data-theme=light] .home-page .port-contact-lines a, [data-theme=light] a.contact-line { background:#dce8f180; }
@media(max-width:1100px) { .home-page .port-contact-lines { grid-template-columns:1fr; } }
@media(max-width:820px) {
  .contact-page-grid { grid-template-columns:1fr; }
  .detail-layout { grid-template-columns:1fr; }
  .detail-sidebar { position:static; }
}
@media(max-width:480px) {
  .page-connect .button, .detail-layout article > .button { max-width:100%; white-space:normal; text-align:center; }
  .contact-page-grid, .detail-layout, .process-panel-copy { min-width:0; }
  .contact-page-grid .conversation-builder { padding:22px 18px; }
  .home-page .port-contact-lines a { padding:14px 12px; }
  .site-footer a { overflow-wrap:anywhere; }
}
/* Slightly larger footer, with readable links and a clearer brand. */
.site-footer .footer-columns { padding-block: 64px 48px; gap: 32px 48px; }
.site-footer .footer-address .brand img { width: 142px; height: 80px; }
.site-footer .footer-columns h3, .site-footer .footer-address p { font-size: 16px; margin-bottom: 12px; }
.site-footer .footer-columns :is(a,address) { font-size: 15px; line-height: 1.75; }
.site-footer .footer-columns a:not(.brand) { padding-block: 4px; }
.site-footer .footer-bottom { font-size: 13px; padding-block: 20px; }
@media(max-width:600px) {
 .site-footer .footer-columns { padding-block: 38px 30px; gap: 26px 20px; }
 .site-footer .footer-address .brand img { width: 128px; height: 72px; }
 .site-footer .footer-columns :is(a,address) { font-size: 14px; }
 .site-footer .footer-bottom { font-size: 12px; padding-bottom: 28px; }
}
