
/* T&S GROUP v2-6-20 — client corrections */
:root{--corr-navy:#0b315d;--corr-blue:#1469ae;--corr-line:#c8d5e1;--corr-soft:#f4f7fa}
/* Shared card boundaries — keep the original visual system.
   The client examples use a strong TOP rule for task/logic cards, not a box around every block. */
.service-page .sp-info-card,.service-page .sp-step{border:0!important;border-top:2px solid #0e4d83!important;background:#fff!important}
.service-page .sp-service-card{border:1px solid #d7e0e8!important;background:#fff!important}
.service-page .sp-related-card{border:1px solid #dbe4ec!important;background:#fff!important}
.service-page .sp-logic-kicker{margin-top:68px!important;padding-top:58px!important;border-top:1px solid var(--corr-line)!important}
.service-page .sp-related-card--wide{grid-column:1/-1!important}
.service-page .sp-service-card--wide{grid-column:1/-1!important;display:grid!important;grid-template-columns:minmax(360px,.72fr) minmax(0,1.28fr)!important}
.service-page .sp-service-card--wide .sp-service-media{height:100%!important;min-height:440px}
.service-page .sp-service-card--columns-2 .sp-service-copy p{column-span:none}
.service-page .sp-service-card--columns-2 .sp-service-copy{column-count:2;column-gap:34px}
.service-page .sp-service-card--columns-2 .sp-service-copy .sp-num,.service-page .sp-service-card--columns-2 .sp-service-copy h3{column-span:all}
.service-page .sp-service-card--columns-3{grid-template-columns:minmax(320px,.6fr) minmax(0,1.4fr)!important}
.service-page .sp-service-card--columns-3 .sp-service-copy{column-count:3;column-gap:28px}
.service-page .sp-service-card--columns-3 .sp-service-copy .sp-num,.service-page .sp-service-card--columns-3 .sp-service-copy h3{column-span:all}
/* Shared diagnostics — exact reference proportions */
.diagnostic-box,.ip-diagnostic-box,.sp-diagnostic-box{display:grid!important;grid-template-columns:minmax(430px,.92fr) minmax(520px,1.08fr)!important;border:1px solid var(--corr-line)!important;background:#fff!important;gap:0!important}
.diagnostic-photo,.ip-diagnostic-photo,.sp-diagnostic-photo{width:100%!important;height:100%!important;min-height:720px!important;object-fit:cover!important;display:block!important}
.diagnostic-form,.ip-diagnostic-form,.sp-diagnostic-form{padding:54px 56px!important;background:#fff!important}
.diagnostic-form h2,.ip-diagnostic-form h2,.sp-diagnostic-form h2{font-size:43px!important;line-height:1.05!important;margin:10px 0 18px!important}
.diagnostic-form>p:first-of-type,.ip-diagnostic-form>p:first-of-type,.sp-diagnostic-form>p:first-of-type{font-size:14px!important;line-height:1.65!important;color:#6a7f94!important;margin-bottom:28px!important}
.diagnostic-form label,.ip-diagnostic-form label,.sp-diagnostic-form label{display:block!important;margin:14px 0!important;font-size:10px!important;font-weight:800!important;letter-spacing:.06em!important;color:#173b60!important}
.diagnostic-form input:not([type="checkbox"]),.diagnostic-form select,.ip-diagnostic-form input:not([type="checkbox"]),.ip-diagnostic-form select,.sp-diagnostic-form input:not([type="checkbox"]),.sp-diagnostic-form select{width:100%!important;min-height:46px!important;margin-top:7px!important;border:1px solid #c4d2de!important;background:#fff!important;padding:0 13px!important;color:#173b60!important}
.diagnostic-form button,.ip-diagnostic-form button,.sp-diagnostic-form button{width:100%!important;min-height:50px!important;margin-top:18px!important}
.form-note{margin-top:16px!important;font-size:10px!important;line-height:1.5!important;color:#7b8c9c!important}
/* Industries hub */
body[data-page-key="industries-hub"] .services-hub{padding:0 0 100px!important}
body[data-page-key="industries-hub"] .service-shell{width:min(1460px,calc(100% - 72px))!important}
body[data-page-key="industries-hub"] .sp-breadcrumb{padding-bottom:35px!important}
body[data-page-key="industries-hub"] h1{font-size:64px!important;line-height:1.03!important;max-width:930px!important;margin-bottom:26px!important}
body[data-page-key="industries-hub"] .sp-section-lead{max-width:980px!important;font-size:17px!important}
.industries-select-head{margin-top:85px;padding-top:38px;border-top:1px solid var(--corr-line);display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:end}
.industries-select-head h2{font-size:44px;margin:0;color:var(--corr-navy)}.industries-select-head p{color:#667d94;line-height:1.6;margin:0}
.industries-hub-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px!important;margin-top:34px!important}
.industries-hub-card{padding:0 18px 20px!important;min-height:650px!important;border:1px solid #174b7c!important;display:flex!important;flex-direction:column!important;transform:none!important}
.industries-hub-card__image{width:calc(100% + 36px)!important;margin:0 -18px 18px!important;height:240px!important;object-fit:cover!important}
.industries-hub-card>span{color:#1167a9!important}.industries-hub-card h2{font-size:23px!important;margin:10px 0 12px!important}.industries-hub-card p{font-size:13px!important;line-height:1.5!important;margin-bottom:14px!important}
.hub-specializations{margin-top:auto;padding-top:7px}.hub-specializations>b,.hub-service-list>b{display:block;font-size:10px;color:#123d68;margin-bottom:8px}.hub-specializations__list{display:grid;gap:4px}.hub-specializations__list span,.hub-service-list>span{display:block;border:1px solid #d1dce5;padding:6px 8px;font-size:10px;color:#315574}
.industries-hub-card em{margin-top:18px!important;border:0!important;padding:0!important;font-weight:800!important;color:#143f6a!important}
/* Services hub */
body[data-page-key="services-hub"] .service-shell{width:min(1460px,calc(100% - 72px))!important}
body[data-page-key="services-hub"] h1{font-size:64px!important;max-width:850px!important;line-height:1.02!important}
body[data-page-key="services-hub"] .services-hub-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px!important;margin-top:55px!important}
body[data-page-key="services-hub"] .services-hub-card{padding:0 18px 18px!important;min-height:690px!important;border:1px solid #174b7c!important;display:flex!important;flex-direction:column!important;transform:none!important}
body[data-page-key="services-hub"] .services-hub-card__image{width:calc(100% + 36px)!important;margin:0 -18px 18px!important;height:245px!important;object-fit:cover!important}
body[data-page-key="services-hub"] .services-hub-card h2{font-size:24px!important;margin:10px 0 10px!important}
body[data-page-key="services-hub"] .services-hub-card p{font-size:12px!important;line-height:1.48!important}
.hub-service-list{margin-top:auto;padding-top:14px;border-top:1px solid #d6e0e8;display:grid;gap:4px}
body[data-page-key="services-hub"] .services-hub-card em{border:1px solid #174b7c!important;padding:10px 12px!important;margin-top:18px!important;font-style:normal!important;color:#103b64!important}
/* Industry specialization cards divider */
.industry-page .ip-spec-copy h3{padding-bottom:14px!important;border-bottom:1px solid #d2dde6!important;margin-bottom:15px!important}
/* Principles reference */
.principles-page .pr-hero__grid{grid-template-columns:1fr 1fr!important;gap:70px!important;align-items:stretch!important}.principles-page .pr-hero__media{border:0!important}.principles-page .pr-hero__media img{height:100%!important;min-height:560px!important;object-fit:cover!important}
.principles-page .pr-foundation__grid{grid-template-columns:.9fr 1.1fr!important;gap:70px!important;padding-bottom:70px!important;border-bottom:1px solid var(--corr-line)!important}.principles-page .pr-foundation__grid>p{border-left:1px solid var(--corr-line)!important;padding-left:54px!important}
.principles-page .pr-principles__head{max-width:900px!important}.principles-page .pr-principles__head>p{color:#647b92;line-height:1.6;font-size:16px}
.principles-page .pr-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px!important}.principles-page .pr-card{border:1px solid #174b7c!important;background:#fff!important}.principles-page .pr-card>img{height:310px!important;object-fit:cover!important}.principles-page .pr-card__body{padding:24px 26px 28px!important}.principles-page .pr-card h3{font-size:25px!important}.pr-card__desc{font-size:13px;line-height:1.6;color:#526b84}.pr-card__sub,.pr-card__result{margin-top:20px;padding-top:15px;border-top:1px solid #d3dee7}.pr-card__sub>b,.pr-card__result>b{font-size:11px;color:#123f6b}.pr-card__sub ul{padding-left:18px;margin:12px 0 0}.pr-card__sub li,.pr-card__result p{font-size:12px;line-height:1.55;color:#526b84;margin:7px 0}
.principles-page .pr-result__grid{grid-template-columns:repeat(3,1fr)!important;gap:20px!important}.principles-page .pr-result-card{border:1px solid var(--corr-line)!important;background:var(--corr-soft)!important;padding:28px!important}
/* Home principles teaser more like reference */
body[data-page-key="home"] .principles-home-teaser{background:#ffffff!important}.principles-home-teaser .principles-teaser-grid{gap:18px!important}.principles-home-teaser article{border:1px solid #d0d9e0!important;background:#fff!important}
/* Hero images in supplied refs are unframed */
.hero-media,.sp-hero-media,.ip-hero-media,.pr-hero__media{border:none!important;box-shadow:none!important}
@media(max-width:1050px){.industries-hub-grid,body[data-page-key="services-hub"] .services-hub-grid{grid-template-columns:repeat(2,1fr)!important}.diagnostic-box,.ip-diagnostic-box,.sp-diagnostic-box{grid-template-columns:1fr!important}.diagnostic-photo,.ip-diagnostic-photo,.sp-diagnostic-photo{min-height:420px!important;height:420px!important}.service-page .sp-service-card--wide{grid-template-columns:1fr!important}.service-page .sp-service-card--columns-2 .sp-service-copy,.service-page .sp-service-card--columns-3 .sp-service-copy{column-count:1}.principles-page .pr-grid{grid-template-columns:1fr!important}}
@media(max-width:700px){.industries-hub-grid,body[data-page-key="services-hub"] .services-hub-grid{grid-template-columns:1fr!important}.industries-select-head{grid-template-columns:1fr}.diagnostic-form,.ip-diagnostic-form,.sp-diagnostic-form{padding:34px 24px!important}.principles-page .pr-hero__grid,.principles-page .pr-foundation__grid{grid-template-columns:1fr!important}.principles-page .pr-foundation__grid>p{border-left:0!important;padding-left:0!important}.principles-page .pr-result__grid{grid-template-columns:1fr!important}}

/* Hub HERO — contained like the rest of the site (latest client correction). */
.hub-ref-hero{padding:54px 0 86px!important;background:#fff!important}
.hub-ref-hero__grid{width:min(1460px,calc(100% - 72px));margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(430px,620px);gap:72px;align-items:center;min-height:0!important}
.hub-ref-hero__copy{padding:0!important;min-width:0}
.hub-ref-hero__copy .sp-breadcrumb{padding:0 0 42px!important}
.hub-ref-hero__copy .sp-kicker{margin:0 0 24px!important;color:#1269ad;font-size:11px;letter-spacing:.18em}
.hub-ref-hero__copy h1{font-size:62px;line-height:1.03;letter-spacing:-.035em;margin:0 0 28px;color:#0b315d;max-width:780px}
.hub-ref-hero__copy>p{font-size:17px;line-height:1.65;color:#647c94;max-width:740px;margin:0}
.hub-ref-hero__actions{display:flex;gap:18px;margin-top:35px;flex-wrap:wrap}
.hub-ref-hero__media{margin:0;width:100%;max-width:620px;justify-self:end;overflow:hidden;background:transparent!important;border:0!important;box-shadow:none!important}
.hub-ref-hero__media img{display:block;width:100%;height:auto!important;min-height:0!important;aspect-ratio:4/3;object-fit:cover}
body[data-page-key="industries-hub"] .industries-hub,body[data-page-key="services-hub"] .services-hub{padding-top:80px!important}
/* Home principles exact 2x2 reference */
.home-principles-ref{padding:78px 0 88px}.home-principles-ref>.eyebrow{margin-bottom:20px}.home-principles-ref>h2{font-size:54px;text-align:center;font-weight:500;margin:0 0 48px;color:#123c62}.home-principles-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.home-principle-card{border:1px solid #cbd7e1;background:#fff}.home-principle-card>img{width:100%;height:360px;object-fit:cover;display:block}.home-principle-card__body{padding:24px 28px 30px}.home-principle-card__body>span{display:inline-flex;padding:5px 9px;border-radius:20px;background:#eff7fb;color:#2781bc;font-size:10px;font-weight:800}.home-principle-card h3{font-size:24px;line-height:1.2;margin:18px 0 13px;color:#113c64;font-weight:500}.home-principle-card p{font-size:13px;line-height:1.55;color:#657d94;margin:0}.home-principles-more{display:inline-block;margin-top:34px;padding-bottom:5px;border-bottom:1px solid #123c62;color:#123c62;font-size:12px;font-weight:800;text-decoration:none}
/* single reference-style consent */
@media(max-width:1050px){.hub-ref-hero{padding:42px 0 64px!important}.hub-ref-hero__grid{width:min(100% - 48px,1460px);grid-template-columns:1fr;gap:38px}.hub-ref-hero__copy{padding:0!important}.hub-ref-hero__media{justify-self:start;max-width:760px}.hub-ref-hero__media img{height:auto!important;min-height:0!important;aspect-ratio:16/10}.home-principles-grid{grid-template-columns:1fr}.home-principle-card>img{height:300px}}


/* =========================================================
   V2621 — visual repair after client review
   ========================================================= */
/* Home HERO: remove the dark frame/padding/caption around the visual. */
body[data-page-key="home"] .hero__media{
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body[data-page-key="home"] .hero__media figcaption{display:none!important;height:0!important;min-height:0!important;padding:0!important;margin:0!important}
body[data-page-key="home"] .hero-media-stage{border:0!important;box-shadow:none!important}

/* Section titles are content, not decorative animation: never leave them invisible. */
body[data-page-key="home"] .participation__formats>h2,
body[data-page-key="home"] .management__title,
body[data-page-key="home"] .competence-panel>h2,
body[data-page-key="home"] .principles__title,
body[data-page-key="home"] .motion-item.motion-title{
  opacity:1!important;
  transform:none!important;
  clip-path:none!important;
  visibility:visible!important;
}
body[data-page-key="home"] .management__title.reveal{opacity:1!important;transform:none!important}

/* Two legal confirmations, with a separate explanatory line. */
.ts-form-confirmations{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin:14px 0 8px!important}
.ts-form-confirmation{display:grid!important;grid-template-columns:20px minmax(0,1fr)!important;gap:10px!important;align-items:start!important;margin:0!important;padding:0!important;text-transform:none!important;letter-spacing:0!important;cursor:pointer!important}
.ts-form-confirmation>input[type="checkbox"]{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;margin:0!important;padding:0!important;opacity:0!important;pointer-events:none!important}
.ts-form-confirmation>.ts-form-checkbox{display:block!important;width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;margin:1px 0 0!important;padding:0!important;border:1px solid #9fb5c8!important;background:#fff!important;box-sizing:border-box!important;position:relative!important}
.ts-form-confirmation>input[type="checkbox"]:checked+.ts-form-checkbox{background:#0b3158!important;border-color:#0b3158!important}
.ts-form-confirmation>input[type="checkbox"]:checked+.ts-form-checkbox:after{content:'✓';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font:900 12px/1 Arial,sans-serif}
.ts-form-confirmation__text{font:11px/1.45 Arial,sans-serif!important;color:#60778d!important;padding-top:1px}
.ts-form-confirmation__text a,.ts-form-consent-note a{color:#0b3158!important;font-weight:800!important;text-decoration:none!important;border-bottom:1px solid rgba(11,49,88,.32)}
.ts-form-consent-note{margin:5px 0 14px!important;font:11px/1.5 Arial,sans-serif!important;color:#70859a!important;text-transform:none!important;letter-spacing:0!important}

/* Hubs: keep card geometry stable and avoid accidental oversized/broken boxes. */
body[data-page-key="services-hub"] .services-hub-card,
body[data-page-key="industries-hub"] .industries-hub-card{min-height:0!important;height:auto!important;align-self:stretch!important}
body[data-page-key="services-hub"] .services-hub-card__image,
body[data-page-key="industries-hub"] .industries-hub-card__image{display:block!important}

@media(max-width:700px){
  .hub-ref-hero__grid{width:calc(100% - 32px)!important}
  .hub-ref-hero__copy h1{font-size:42px!important}
  .ts-form-confirmation__text,.ts-form-consent-note{font-size:10px!important}
}


/* ========================================================================== */
/* v2-6-22 — exact Telegram reference alignment                              */
/* ========================================================================== */

/* Detailed service pages: client reference = quiet full frame + navy top rule. */
.service-page .sp-info-card,
.service-page .sp-step{
  border:1px solid #d7e0e8!important;
  border-top:2px solid #0e4d83!important;
  background:#fff!important;
  box-shadow:none!important;
}

/* Hub cards: remove accidental stretched/loose appearance and match supplied refs. */
body[data-page-key="services-hub"] .services-hub,
body[data-page-key="industries-hub"] .services-hub{padding-top:54px!important}
body[data-page-key="services-hub"] .services-hub-grid,
body[data-page-key="industries-hub"] .industries-hub-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
  margin-top:32px!important;
  align-items:stretch!important;
}
body[data-page-key="services-hub"] .services-hub-card,
body[data-page-key="industries-hub"] .industries-hub-card{
  box-sizing:border-box!important;
  border:1px solid #174b7c!important;
  border-radius:0!important;
  padding:0 14px 14px!important;
  min-height:0!important;
  height:auto!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:none!important;
  transform:none!important;
}
body[data-page-key="services-hub"] .services-hub-card__image,
body[data-page-key="industries-hub"] .industries-hub-card__image{
  width:calc(100% + 28px)!important;
  max-width:none!important;
  height:auto!important;
  aspect-ratio:16/9!important;
  margin:0 -14px 14px!important;
  object-fit:cover!important;
  border:0!important;
  border-bottom:1px solid #d7e0e8!important;
  display:block!important;
}
body[data-page-key="services-hub"] .services-hub-card>span,
body[data-page-key="industries-hub"] .industries-hub-card>span{
  margin:0 0 9px!important;
  color:#1472b7!important;
  font-size:12px!important;
  font-weight:900!important;
}
body[data-page-key="services-hub"] .services-hub-card h2,
body[data-page-key="industries-hub"] .industries-hub-card h2{
  margin:0 0 10px!important;
  font-size:22px!important;
  line-height:1.18!important;
  color:#0b315d!important;
}
body[data-page-key="services-hub"] .services-hub-card p,
body[data-page-key="industries-hub"] .industries-hub-card p{
  margin:0 0 14px!important;
  color:#617a91!important;
  font-size:12px!important;
  line-height:1.48!important;
}
body[data-page-key="services-hub"] .hub-service-list,
body[data-page-key="industries-hub"] .hub-specializations{
  margin-top:auto!important;
  padding-top:12px!important;
  border-top:1px solid #d9e3eb!important;
}
body[data-page-key="services-hub"] .hub-service-list b,
body[data-page-key="industries-hub"] .hub-specializations>b{
  display:block!important;
  margin:0 0 8px!important;
  color:#0f4f80!important;
  font-size:9px!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
}
body[data-page-key="services-hub"] .hub-service-list span,
body[data-page-key="industries-hub"] .hub-specializations__list span{
  display:block!important;
  min-height:0!important;
  margin:0 0 4px!important;
  padding:6px 8px!important;
  border:1px solid #d4dfe8!important;
  background:#fff!important;
  color:#254c6d!important;
  font-size:9px!important;
  line-height:1.25!important;
}
body[data-page-key="services-hub"] .services-hub-card em{
  margin:14px 0 0!important;
  padding:10px 12px!important;
  border:1px solid #174b7c!important;
  color:#0b315d!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-style:normal!important;
  font-weight:900!important;
}
body[data-page-key="industries-hub"] .industries-hub-card em{
  margin:14px 0 0!important;
  padding:0!important;
  border:0!important;
  color:#0b315d!important;
  font-size:11px!important;
  line-height:1.3!important;
  font-style:normal!important;
  font-weight:900!important;
}

.services-select-head{
  display:grid!important;
  grid-template-columns:minmax(0,.8fr) minmax(420px,1.2fr)!important;
  gap:64px!important;
  align-items:end!important;
  margin:0 0 28px!important;
}
.services-select-head .sp-kicker{margin:0 0 13px!important}
.services-select-head h2{margin:0!important;font-size:42px!important;line-height:1.05!important;color:#0b315d!important}
.services-select-head p{margin:0!important;color:#607a93!important;font-size:15px!important;line-height:1.6!important;max-width:780px!important}
body[data-page-key="services-hub"] .services-select-head + .services-hub-grid{margin-top:0!important}

/* Avoid inherited left/right card margins from old layout-v242.css. */
body[data-page-key="services-hub"] .services-hub-card>:not(.services-hub-card__image),
body[data-page-key="industries-hub"] .industries-hub-card>:not(.industries-hub-card__image){margin-left:0!important;margin-right:0!important}

/* Dashboard: explicit analytics DB state rather than misleading zero on failure. */
.system-visitors.is-error{background:#fff7f7!important}
.system-visitors.is-error #sys-visitors{color:#9a3939!important}

@media(max-width:1050px){
  body[data-page-key="services-hub"] .services-hub-grid,
  body[data-page-key="industries-hub"] .industries-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .services-select-head{grid-template-columns:1fr!important;gap:18px!important}
}
@media(max-width:700px){
  body[data-page-key="services-hub"] .services-hub-grid,
  body[data-page-key="industries-hub"] .industries-hub-grid{grid-template-columns:1fr!important}
  .services-select-head h2{font-size:34px!important}
}
