/*
  SGS Infrastructure Reframe
  A deliberately cold, architectural layer over the maintained Hugo templates.
  It keeps service data and editorial markup intact while replacing the former
  purple "private practice" treatment with an original illustration-first system.
*/
:root{
  --sgs-navy:#070d26;
  --sgs-navy-raised:#0d1738;
  --sgs-navy-soft:#14224a;
  --sgs-canvas:#f4f8fb;
  --sgs-canvas-raised:#e9f1f6;
  --sgs-ink-blue:#101a38;
  --sgs-copy:#506078;
  --sgs-line-blue:rgba(16,26,56,.16);
  --sgs-flow:#80d9e7;
  --sgs-flow-strong:#54c8da;
  --sgs-private-ink:var(--sgs-navy);
  --sgs-private-ink-soft:var(--sgs-navy-raised);
  --sgs-private-paper:var(--sgs-canvas);
  --sgs-private-paper-deep:var(--sgs-canvas-raised);
  --sgs-private-violet:var(--sgs-flow);
  --sgs-private-violet-dim:rgba(128,217,231,.34);
  --sgs-private-muted:#78879c;
  --sgs-color-ink-strong:var(--sgs-ink-blue);
  --sgs-color-ink:var(--sgs-ink-blue);
  --sgs-color-text-muted:var(--sgs-copy);
  --sgs-color-brand:var(--sgs-flow-strong);
  --sgs-color-brand-hover:#38aebf;
  --sgs-color-brand-subtle:#dff5f8;
  --sgs-color-surface:var(--sgs-canvas);
  --sgs-color-paper:#fff;
  --sgs-color-surface-dark:var(--sgs-navy);
  --sgs-color-border:var(--sgs-line-blue);
  --sgs-color-line:var(--sgs-line-blue);
  --sgs-color-focus:var(--sgs-flow);
  --sgs-radius-control:4px;
  --sgs-radius-card:8px;
  --sgs-radius-panel:8px;
  --sgs-shadow-card:none;
  --sgs-shadow-card-hover:0 20px 48px rgba(7,13,38,.12);
}

body{background:var(--sgs-canvas);color:var(--sgs-ink-blue);font-family:Manrope,"Segoe UI",system-ui,sans-serif}
h1,h2,h3,h4,.sgs-section-title,.sgs-service-title,.sgs-page-cta h2{font-family:Manrope,"Segoe UI",system-ui,sans-serif!important}
.sgs-skip-link:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:var(--sgs-flow)!important}

/* Navigation is a quiet, precise utility bar rather than a decorative banner. */
.sgs-header,.sgs-header--scrolled{background:rgba(7,13,38,.97);border-bottom:1px solid rgba(220,244,248,.14);box-shadow:none}
.sgs-menu>li>a{color:rgba(239,248,250,.72);font-size:.77rem;font-weight:700;letter-spacing:.015em}
.sgs-menu>li>a:after,.sgs-menu>li.current-menu-item>a:after,.sgs-menu>li.current-menu-ancestor>a:after,.sgs-menu>li.current-page-ancestor>a:after{background:var(--sgs-flow)!important}
.sgs-menu>li.current-menu-item>a,.sgs-menu>li.current-menu-ancestor>a,.sgs-menu>li.current-page-ancestor>a,.sgs-menu>li>a:hover{color:#fff}
.sgs-menu .sub-menu{background:#0b1535!important;border-color:rgba(220,244,248,.16)!important;border-radius:6px!important;box-shadow:0 20px 42px rgba(2,6,21,.36)!important}
.sgs-menu .sub-menu a:hover{background:rgba(128,217,231,.12)!important}
.sgs-nav-cta{border:1px solid var(--sgs-flow)!important;border-radius:4px!important;background:var(--sgs-flow)!important;color:var(--sgs-navy)!important;font-weight:800;letter-spacing:.025em;text-transform:none}
.sgs-nav-cta:hover{border-color:#b8f1f8!important;background:#b8f1f8!important;color:var(--sgs-navy)!important;transform:translateY(-1px)}
.sgs-lang-link{border-radius:3px!important}.sgs-lang-link:hover,.sgs-lang-link.active{background:rgba(128,217,231,.15)!important;color:#fff!important}

/* Shared dark shell: a technical grid and a single cyan data-path, no gradients. */
.sgs-private-hero,.sgs-service-hero,.sgs-page-cta{background:var(--sgs-navy)!important}
.sgs-private-hero::before,.sgs-service-hero::before{opacity:1!important;background-image:linear-gradient(rgba(180,230,239,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(180,230,239,.08) 1px,transparent 1px)!important;background-size:54px 54px!important;mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.78) 57%,transparent 100%)!important}
.sgs-private-hero::after,.sgs-service-hero::after{border-color:rgba(128,217,231,.18)!important;box-shadow:0 0 0 78px rgba(128,217,231,.035),0 0 0 156px rgba(128,217,231,.018)!important}
.sgs-private-kicker,.sgs-private-eyebrow,.sgs-section-tag,.sgs-post-kicker,.sgs-article-expert-label,.sgs-article-sources-label{color:var(--sgs-flow)!important}
.sgs-private-hero .sgs-hero-title,.sgs-service-hero .sgs-service-title,.sgs-service-hero h1,.sgs-post-hero .sgs-post-title{color:#f7fcfd!important;font-weight:680!important}
.sgs-private-hero .sgs-hero-subtitle,.sgs-service-hero .sgs-service-subtitle{color:rgba(233,246,249,.68)!important}
.sgs-private-hero .sgs-btn-white,.sgs-private-contact-inner .btn,.sgs-home-contact-inner .btn{border-color:var(--sgs-flow)!important;background:var(--sgs-flow)!important;color:var(--sgs-navy)!important;border-radius:4px!important}
.sgs-private-hero .sgs-btn-white:hover,.sgs-private-contact-inner .btn:hover,.sgs-home-contact-inner .btn:hover{border-color:#b8f1f8!important;background:#b8f1f8!important;color:var(--sgs-navy)!important}
.sgs-private-text-link{color:rgba(237,248,250,.7)}.sgs-private-text-link:hover{color:var(--sgs-flow)}
.sgs-private-hero-note{color:rgba(224,244,247,.5)}

/* An original CSS illustration replaces the inherited circular SVG diagram. */
.sgs-private-hero-art{min-height:500px;color:transparent!important;isolation:isolate}
.sgs-private-hero-art svg,.sgs-private-hero-art .sgs-private-art-index,.sgs-private-hero-art .sgs-private-art-label{display:none}
.sgs-private-hero-art::before{content:"";position:absolute;width:min(76%,370px);aspect-ratio:1;transform:rotate(30deg);border:1px solid rgba(128,217,231,.56);background:linear-gradient(135deg,rgba(128,217,231,.11),rgba(128,217,231,.015));box-shadow:0 0 0 36px rgba(128,217,231,.035),0 0 0 72px rgba(128,217,231,.018);z-index:-1}
.sgs-private-hero-art::after{content:"";position:absolute;width:220px;height:164px;transform:skewY(-30deg) rotate(30deg);border:1px solid rgba(220,246,250,.65);background:repeating-linear-gradient(0deg,transparent 0 25px,rgba(128,217,231,.38) 26px 27px),repeating-linear-gradient(90deg,transparent 0 36px,rgba(128,217,231,.25) 37px 38px),#132652;box-shadow:36px 43px 0 -1px #0d1a3c,72px 86px 0 -2px #09142e}

/* Light reading zones: editorial and business content share the same canvas. */
.sgs-private-intro,.sgs-home-journal,.sgs-archive,.sgs-post,.sgs-post-related,.sgs-contact-main,.sgs-section{background:var(--sgs-canvas)!important}
.sgs-private-intro h2,.sgs-private-method h2,.sgs-home-display,.sgs-article-content h2,.sgs-article-content h3{color:var(--sgs-ink-blue)!important}
.sgs-private-intro h2,.sgs-private-ecosystem-head h2,.sgs-private-section-head h2,.sgs-private-method h2{letter-spacing:-.055em!important}
.sgs-private-situations,.sgs-private-situations article,.sgs-private-method ol,.sgs-private-method li,.sgs-index,.sgs-index-row,.sgs-post-tags,.sgs-article-expert,.sgs-article-glossary{border-color:var(--sgs-line-blue)!important}
.sgs-private-situations span,.sgs-private-area-list>a>span,.sgs-private-method li>span,.sgs-index-meta time,.sgs-source-number{color:#318ca0!important}
.sgs-private-situations h3,.sgs-private-method h3,.sgs-index-row h3,.sgs-article-content>p:first-of-type{color:var(--sgs-ink-blue)!important}
.sgs-private-situations p,.sgs-private-method li p,.sgs-index-body p,.sgs-article-content{color:var(--sgs-copy)!important}
.sgs-index-row:hover{background:rgba(128,217,231,.075)!important}.sgs-index-row:hover h3,.sgs-index-row:hover>i{color:#1b7487!important}.sgs-index-row:hover>i{border-color:var(--sgs-flow)!important;background:var(--sgs-flow)!important;color:var(--sgs-navy)!important}
.sgs-home-all-link,.sgs-article-content a{color:#217589!important}.sgs-home-all-link:hover,.sgs-article-content a:hover{color:var(--sgs-navy)!important}

/* Vendor names remain a technology catalogue, not certification badges. */
.sgs-private-ecosystem{background:var(--sgs-canvas-raised)!important}
.sgs-private-ecosystem-head>p{color:var(--sgs-copy)!important}.sgs-private-wordmarks{border-color:var(--sgs-line-blue)!important}
.sgs-private-wordmarks li{border-color:var(--sgs-line-blue)!important;color:var(--sgs-ink-blue)!important;background:transparent;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.79rem!important;font-weight:700!important;letter-spacing:.025em}
.sgs-private-wordmarks li:hover{background:var(--sgs-navy)!important;color:#fff!important}

/* The service material is intentionally a hierarchy of choices, not a wall of cards. */
.sgs-private-areas{background:var(--sgs-navy-raised)!important}
.sgs-private-section-head>p,.sgs-private-area-list p{color:rgba(224,244,247,.64)!important}
.sgs-private-area-list,.sgs-private-area-list>a{border-color:rgba(204,238,244,.18)!important}
.sgs-private-area-list>a{grid-template-columns:64px minmax(0,1fr) 34px!important;padding:34px 0 31px!important}
.sgs-private-area-list>a:hover{padding-left:12px!important;color:var(--sgs-flow)!important}
.sgs-private-area-list>a:hover i{border-color:var(--sgs-flow)!important;background:var(--sgs-flow)!important;color:var(--sgs-navy)!important}
.sgs-private-method{background:var(--sgs-canvas-raised)!important}

/* Service catalogue and service detail pages use fine rules and technical glyphs. */
.sgs-service-hero{padding-top:clamp(124px,14vw,182px)!important;padding-bottom:clamp(74px,8vw,108px)!important}
.sgs-service-hero .sgs-breadcrumb,.sgs-service-hero .sgs-post-meta{color:rgba(231,247,250,.58)!important}.sgs-service-hero .sgs-breadcrumb a,.sgs-service-hero .sgs-post-meta a{color:rgba(231,247,250,.74)!important}
.sgs-service-card{border:1px solid var(--sgs-line-blue)!important;border-radius:8px!important;background:#fff!important;box-shadow:none!important;transition:transform .24s ease,border-color .24s ease,background .24s ease!important}
.sgs-service-card:hover{border-color:rgba(84,200,218,.7)!important;background:#f8feff!important;box-shadow:var(--sgs-shadow-card-hover)!important;transform:translateY(-5px)}
.sgs-service-card .sgs-service-icon{border-radius:4px!important;background:rgba(128,217,231,.13)!important;color:#227a8d!important}
.sgs-service-card .sgs-service-tag{color:#237488!important}
.sgs-section-alt{background:var(--sgs-canvas-raised)!important}
.sgs-page-content,.sgs-article-content{color:var(--sgs-copy)!important}.sgs-page-content h2,.sgs-page-content h3{color:var(--sgs-ink-blue)!important}
.sgs-problem-card,.sgs-segment-card{border:1px solid var(--sgs-line-blue)!important;border-radius:8px!important;background:#fff!important;box-shadow:none!important}
.sgs-problem-card:hover,.sgs-segment-card:hover{border-color:rgba(84,200,218,.66)!important;box-shadow:var(--sgs-shadow-card-hover)!important;transform:translateY(-4px)}
.sgs-problem-icon,.sgs-segment-icon{border-radius:4px!important;background:rgba(128,217,231,.13)!important;color:#24798c!important}
.sgs-about-step{border-color:var(--sgs-line-blue)!important}.sgs-about-step-num{color:#2f8fa2!important}.sgs-about-step h4{color:var(--sgs-ink-blue)!important}
.sgs-tech-group{border-color:var(--sgs-line-blue)!important}.sgs-tech-label{color:#227a8d!important}.sgs-vendor-chip{border-color:rgba(84,200,218,.36)!important;border-radius:999px!important;background:rgba(128,217,231,.08)!important;color:#28475a!important}
.sgs-cta-banner{background:var(--sgs-navy)!important}.sgs-cta-banner-inner{border:1px solid rgba(128,217,231,.25)!important;border-radius:8px!important;background:#0c1839!important}.sgs-cta-banner h2{color:#f7fcfd!important}.sgs-cta-banner p{color:rgba(232,247,250,.68)!important}.sgs-cta-banner .btn{border-color:var(--sgs-flow)!important;background:var(--sgs-flow)!important;color:var(--sgs-navy)!important;border-radius:4px!important}

/* Service details: a compact service index provides the Hostom-like internal-page
   orientation pattern while retaining every real SGS offer. */
.sgs-service-detail-layout{display:grid;grid-template-columns:minmax(224px,264px) minmax(0,1fr);align-items:start;max-width:1680px;margin:0 auto;background:var(--sgs-canvas)}
.sgs-service-rail-wrap{position:relative;min-width:0;padding:clamp(46px,6vw,90px) 24px 60px clamp(24px,5vw,80px);border-right:1px solid var(--sgs-line-blue)}
.sgs-service-rail{position:sticky;top:90px}.sgs-service-rail-title{margin:0 0 27px;color:var(--sgs-ink-blue);font-size:.72rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.sgs-service-rail-group{padding:0 0 20px;margin:0 0 20px;border-bottom:1px solid var(--sgs-line-blue)}.sgs-service-rail-group:last-child{border-bottom:0}.sgs-service-rail-group>p{margin:0 0 9px;color:#348da0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.62rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase}
.sgs-service-rail a{display:block;padding:7px 0;color:#53657b;font-size:.77rem;font-weight:700;line-height:1.35;text-decoration:none;transition:color .18s ease,padding .18s ease}.sgs-service-rail a:hover,.sgs-service-rail a.is-active{padding-left:8px;color:var(--sgs-ink-blue)}.sgs-service-rail a.is-active{position:relative}.sgs-service-rail a.is-active::before{content:"";position:absolute;left:-13px;top:50%;width:5px;height:5px;transform:translateY(-50%);border-radius:50%;background:var(--sgs-flow-strong)}
.sgs-service-detail-content{min-width:0;overflow:hidden}.sgs-service-detail-content .sgs-section{padding-inline:0}.sgs-service-detail-content .sgs-section>.container{max-width:1120px}

/* The editorial system remains information-first and never relies on article photos. */
.sgs-post-lead-image{display:none}
.sgs-post .sgs-measure::before{content:"";display:block;height:clamp(110px,15vw,184px);margin:0 0 clamp(36px,5vw,68px);border:1px solid rgba(84,200,218,.35);border-radius:8px;background:linear-gradient(135deg,transparent 0 46%,rgba(128,217,231,.11) 46% 47%,transparent 47% 100%),repeating-linear-gradient(90deg,rgba(16,26,56,.08) 0 1px,transparent 1px 52px),#e5f1f5;box-shadow:inset 0 0 0 16px rgba(255,255,255,.36)}
.sgs-article-expert{border-color:var(--sgs-line-blue)!important}.sgs-article-expert>img,.sgs-article-author img{filter:grayscale(1) contrast(.92)}
.sgs-article-expert blockquote,.sgs-article-expert cite strong,.sgs-source-copy strong{color:var(--sgs-ink-blue)!important}
.sgs-article-sources{border-color:var(--sgs-line-blue)!important;background:#fff!important;border-radius:8px!important}.sgs-article-sources li{border-color:var(--sgs-line-blue)!important}.sgs-source-domain{color:#6b7d93!important}.sgs-article-sources li>a:hover{color:#237488!important}
.sgs-topic{border-color:var(--sgs-line-blue)!important;border-radius:999px!important;color:#3e566d!important}.sgs-topic:hover{border-color:var(--sgs-flow-strong)!important;color:#176f81!important}.sgs-topic.is-active,.sgs-blog-pagination .page-numbers.current{border-color:var(--sgs-navy)!important;background:var(--sgs-navy)!important;color:#fff!important}

/* Editorial credits stay personal through names and roles, not portrait photography. */
.sgs-post .sgs-article-content img,.sgs-page-content img{display:none}
.sgs-article-expert{grid-template-columns:minmax(0,1fr)!important}.sgs-article-expert>img,.sgs-article-author img,.sgs-person-card>img,.sgs-profile-avatar{display:none!important}
.sgs-article-author{grid-template-columns:minmax(0,1fr)!important;border-color:var(--sgs-line-blue)!important;border-radius:8px!important;background:#fff!important}.sgs-article-author:hover{border-color:rgba(84,200,218,.66)!important;background:#f8feff!important}
.sgs-article-author small,.sgs-person-card-copy small{color:#278195!important}.sgs-article-author strong,.sgs-person-card-copy strong{color:var(--sgs-ink-blue)!important}.sgs-article-author em,.sgs-person-card-copy em,.sgs-person-card-copy b{color:var(--sgs-copy)!important}.sgs-article-author b,.sgs-person-card>i{color:#207589!important}
.sgs-profile-head{display:block!important}.sgs-profile-role{color:rgba(224,244,247,.7)!important}.sgs-people-grid{border-color:var(--sgs-line-blue)!important}.sgs-person-card{grid-template-columns:minmax(0,1fr) 18px!important;border-color:var(--sgs-line-blue)!important;background:transparent!important}.sgs-person-card:hover{background:rgba(128,217,231,.075)!important}.sgs-person-card-copy b{max-width:34ch}

/* Form pages retain the agreed 50/50 architecture without a person or address panel. */
.sgs-contact-card{border:1px solid var(--sgs-line-blue)!important;border-radius:8px!important;background:#fff!important;box-shadow:none!important}
.sgs-contact-card-header{background:var(--sgs-navy)!important;border-bottom-color:var(--sgs-navy)!important}.sgs-contact-card-header i{color:var(--sgs-flow)!important}
.sgs-contact-info-icon--accent{border-color:rgba(84,200,218,.4)!important;background:rgba(128,217,231,.12)!important;color:#227a8d!important}
.sgs-contact-info-link{color:#207589!important}.sgs-contact-info-link:hover{color:var(--sgs-navy)!important}
.sgs-contact-inline-form .sgs-form-field input,.sgs-contact-inline-form .sgs-form-select{border-color:var(--sgs-line-blue)!important;border-radius:4px!important;background:#fbfdfe!important}.sgs-contact-inline-form .sgs-form-field input:focus,.sgs-contact-inline-form .sgs-form-select:focus{border-color:var(--sgs-flow-strong)!important;box-shadow:0 0 0 3px rgba(128,217,231,.22)!important}
.sgs-contact-form-footer .sgs-form-submit{border-radius:4px!important;background:var(--sgs-navy)!important}.sgs-contact-form-footer .sgs-form-submit:hover{background:#13234b!important}
.sgs-assessment-form-layout .sgs-stat-card{border-color:var(--sgs-line-blue)!important}.sgs-assessment-form-layout .sgs-stat-card i{color:#237488!important}

/* Footer is a composed closing surface rather than the earlier wave/template motif. */
.sgs-footer{position:relative;overflow:hidden;background:var(--sgs-navy)!important;border-top:1px solid rgba(214,244,248,.15)!important}
.sgs-footer::before{content:"";position:absolute;inset:auto -12% -75% auto;width:min(72vw,1050px);aspect-ratio:1;border:1px solid rgba(128,217,231,.15);border-radius:50%;box-shadow:0 0 0 72px rgba(128,217,231,.03),0 0 0 144px rgba(128,217,231,.018);pointer-events:none}
.sgs-footer .container{position:relative}.sgs-footer-main,.sgs-footer-bottom{border-color:rgba(214,244,248,.14)!important}.sgs-footer-heading{color:var(--sgs-flow)!important}.sgs-footer-links a,.sgs-footer-contacts a{color:rgba(238,250,252,.72)!important}.sgs-footer-links a:hover,.sgs-footer-contacts a:hover{color:#fff!important}.sgs-footer-tagline,.sgs-footer-contact-note,.sgs-footer-bottom p{color:rgba(224,244,247,.55)!important}.sgs-footer-contact{border-color:rgba(214,244,248,.16)!important}.sgs-footer-contact-cta{border-color:rgba(128,217,231,.7)!important;color:var(--sgs-flow)!important}.sgs-footer-contact-cta:hover{border-color:#fff!important;color:#fff!important}

@media(max-width:991px){.sgs-private-hero-art{min-height:340px}.sgs-private-hero-art::before{width:270px}.sgs-private-hero-art::after{width:165px;height:126px}.sgs-private-area-list>a{grid-template-columns:46px minmax(0,1fr) 30px!important}}
@media(max-width:991px){.sgs-service-detail-layout{display:block}.sgs-service-rail-wrap{padding:0;border-right:0;border-bottom:1px solid var(--sgs-line-blue)}.sgs-service-rail{position:static;display:flex;gap:28px;overflow-x:auto;padding:25px 20px}.sgs-service-rail-title,.sgs-service-rail-group>p{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.sgs-service-rail-group{display:flex;flex:0 0 auto;gap:16px;padding:0;margin:0;border:0}.sgs-service-rail a{white-space:nowrap;padding:0}.sgs-service-rail a:hover,.sgs-service-rail a.is-active{padding-left:0}.sgs-service-rail a.is-active::before{left:0;top:auto;bottom:-8px;transform:none;width:100%;height:2px;border-radius:0}.sgs-service-detail-content .sgs-section>.container{max-width:960px}}
@media(max-width:767px){.sgs-private-hero-art{display:none}.sgs-private-hero{min-height:auto!important}.sgs-private-intro,.sgs-private-areas,.sgs-private-method,.sgs-private-ecosystem{padding-top:82px!important}.sgs-private-area-list>a{grid-template-columns:38px minmax(0,1fr) 28px!important;padding:26px 0!important}.sgs-private-area-list h3{font-size:1.32rem!important}.sgs-post .sgs-measure::before{height:104px;margin-bottom:36px}.sgs-service-card:hover,.sgs-problem-card:hover,.sgs-segment-card:hover{transform:none}.sgs-footer::before{width:130vw;right:-66%;bottom:-29%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
