/* CIMPEANU.COM Enterprise UI — Stage 2, 2026-10-19
   One design vocabulary for public corporate pages and public homepage.
   Scope is deliberately limited to public surfaces, never logged-in CMP Suite.
*/
:root{--cmp-ink:#15243b;--cmp-muted:#50637d;--cmp-blue:#1768d8;--cmp-blue-deep:#104ea5;--cmp-bg:#f5f8fc;--cmp-line:#dae3ef;--cmp-white:#fff;--cmp-radius:18px;--cmp-container:1200px;--cmp-shadow:0 14px 40px rgba(16,36,67,.07);--cmp-ease:cubic-bezier(.2,.8,.2,1)}
:where(.cmp-enterprise,.cmp-gateway:not(.cmp-authenticated)){color:var(--cmp-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}
:where(.cmp-enterprise,.cmp-gateway:not(.cmp-authenticated)) *, :where(.cmp-enterprise,.cmp-gateway:not(.cmp-authenticated)) *::before,:where(.cmp-enterprise,.cmp-gateway:not(.cmp-authenticated)) *::after{box-sizing:border-box}
:where(.cmp-enterprise,.cmp-gateway:not(.cmp-authenticated)) :is(h1,h2,h3,h4){font-family:inherit;letter-spacing:-.028em;text-wrap:balance}
:where(.cmp-enterprise,.cmp-gateway:not(.cmp-authenticated)) :is(p,li){overflow-wrap:break-word}
:where(.cmp-enterprise,.cmp-gateway:not(.cmp-authenticated)) :is(a,button,input,textarea,select,summary):focus-visible{outline:3px solid #2d74ec!important;outline-offset:3px!important}
:where(.cmp-enterprise,.cmp-gateway:not(.cmp-authenticated)) :is(img,svg,video){max-width:100%;height:auto}
/* Corporate navigation */
body.cmp-enterprise .site-header{position:sticky!important;top:0!important;z-index:400!important;background:rgba(255,255,255,.97)!important;backdrop-filter:blur(16px);box-shadow:0 1px 0 rgba(21,36,59,.06)}
body.cmp-enterprise .site-bar{max-width:calc(var(--cmp-container) + 48px)!important;min-height:76px!important;padding:12px 24px!important;gap:18px!important}
body.cmp-enterprise .site-bar>nav a{font-size:13px!important;font-weight:600!important;color:#273b56!important;border-radius:9px!important;transition:background .15s,color .15s}
body.cmp-enterprise .site-bar>nav a:hover,body.cmp-enterprise .site-bar>nav a[aria-current=page]{color:#125bc2!important;background:#edf4ff!important}
body.cmp-enterprise .cmp-language-menu>summary{border-color:var(--cmp-line)!important;box-shadow:none!important}
/* Responsive menu is CLOSED unless activated, with explicit desktop reset */
@media(min-width:1051px){body.cmp-enterprise .site-header .site-bar>.cmp-mobile-nav-toggle{display:none!important;visibility:hidden!important}body.cmp-enterprise .site-header .site-bar>nav#cmp-public-navigation{display:flex!important;flex-direction:row!important;position:static!important;max-height:none!important;overflow:visible!important}}
@media(max-width:1050px){body.cmp-enterprise .site-header .site-bar{flex-wrap:wrap!important;align-items:center!important;gap:10px!important}body.cmp-enterprise .site-header .site-bar>.cmp-mobile-nav-toggle{display:inline-flex!important;visibility:visible!important;min-width:44px!important;min-height:44px!important;order:2!important;margin-left:auto!important}body.cmp-enterprise .site-header .site-bar>nav#cmp-public-navigation{display:none!important;flex:0 0 100%!important;order:4!important;min-width:0!important;overflow:visible!important;flex-direction:column!important;align-items:stretch!important;padding:12px 0!important;border-top:1px solid var(--cmp-line)!important}body.cmp-enterprise .site-header .site-bar>nav#cmp-public-navigation.cmp-nav-open{display:flex!important}body.cmp-enterprise .site-header .site-bar>nav a{min-height:46px!important;font-size:14px!important;padding:12px 14px!important}body.cmp-enterprise .site-header .site-bar>.cmp-language-control{order:3!important}}
/* Shared editorial geometry */
body.cmp-enterprise{background:var(--cmp-bg)}
body.cmp-enterprise .frame{width:min(var(--cmp-container),calc(100% - 48px));margin-inline:auto}
body.cmp-enterprise main{min-width:0;overflow-x:clip}
body.cmp-enterprise main .hero{background:linear-gradient(135deg,#0b1a32 0%,#12345e 65%,#125090 100%);color:#fff;padding:clamp(64px,7vw,108px) 0!important;min-height:0}
body.cmp-enterprise main .hero .frame{max-width:var(--cmp-container)}
body.cmp-enterprise main .hero h1{font-size:clamp(2.15rem,4.2vw,3.9rem)!important;line-height:1.1!important;letter-spacing:-.047em!important;max-width:20ch!important;margin:12px 0 20px!important;color:#fff!important}
body.cmp-enterprise main .hero p{font-size:clamp(1rem,1.3vw,1.14rem)!important;line-height:1.75!important;max-width:68ch!important;color:#d6e5f8!important}
body.cmp-enterprise main .hero :is(.overline,.eyebrow){color:#94c6ff!important;font-size:12px!important;letter-spacing:.14em!important;font-weight:700!important;text-transform:uppercase}
body.cmp-enterprise main .hero .button,body.cmp-enterprise main .button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 21px;border-radius:9px;font-size:14px;font-weight:650;text-decoration:none;transition:transform .18s var(--cmp-ease),box-shadow .18s var(--cmp-ease)}
body.cmp-enterprise main .hero .button{background:#fff;color:#103b73;border:1px solid rgba(255,255,255,.6)}
body.cmp-enterprise main .button:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(2,18,40,.16)}
body.cmp-enterprise main .section{padding-block:clamp(48px,6vw,92px);margin:0 auto}
body.cmp-enterprise main .section h2,body.cmp-enterprise main .cmp-solution-chapter h2{font-size:clamp(1.55rem,2.5vw,2.5rem)!important;line-height:1.22!important;color:var(--cmp-ink);letter-spacing:-.035em!important}
body.cmp-enterprise main :is(p,li,dd){font-size:clamp(14px,1.05vw,16px)!important;line-height:1.75!important}
body.cmp-enterprise main .section-copy p{max-width:74ch;color:var(--cmp-muted)}
body.cmp-enterprise main .overline{font-size:11px;letter-spacing:.14em;font-weight:750;text-transform:uppercase;color:#2863ac}
body.cmp-enterprise main .directory{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px!important}
body.cmp-enterprise main .directory>a{background:#fff;border:1px solid var(--cmp-line);border-radius:var(--cmp-radius);min-height:124px;padding:25px!important;color:var(--cmp-ink);box-shadow:var(--cmp-shadow);transition:transform .2s var(--cmp-ease),border-color .2s}
body.cmp-enterprise main .directory>a:hover{border-color:#9fbee8;transform:translateY(-4px)}
/* Product catalog + service sections: no flat rows */
body.cmp-enterprise main .cmp-product-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px!important}
body.cmp-enterprise main .cmp-product-grid>article{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:space-between!important;min-height:248px!important;margin:0!important;padding:27px!important;background:#fff!important;border:1px solid var(--cmp-line)!important;border-radius:var(--cmp-radius)!important;box-shadow:var(--cmp-shadow)!important;transition:transform .2s var(--cmp-ease),box-shadow .2s var(--cmp-ease)}
body.cmp-enterprise main .cmp-product-grid>article:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(17,47,80,.13)!important}
body.cmp-enterprise main .cmp-product-grid h3{font-size:clamp(1.2rem,1.55vw,1.55rem)!important;line-height:1.22!important;color:var(--cmp-ink);margin:0 0 13px!important}
body.cmp-enterprise main .cmp-product-grid p{color:var(--cmp-muted)!important;margin:0 0 18px!important}
body.cmp-enterprise main .cmp-product-grid article>a{align-self:flex-start!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:42px!important;height:42px!important;border-radius:10px!important;background:#eaf2ff!important;color:#175fc1!important;text-decoration:none!important;font-size:23px!important}
body.cmp-enterprise main .cmp-solution-chapter{padding-block:clamp(40px,5vw,72px);border-bottom:1px solid var(--cmp-line)}
body.cmp-enterprise main .cmp-solution-chapter-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(22px,5vw,72px);align-items:start}
body.cmp-enterprise main .cmp-solution-chapter-grid>div{background:#fff;border:1px solid var(--cmp-line);border-radius:var(--cmp-radius);padding:clamp(22px,3vw,38px);box-shadow:var(--cmp-shadow)}
body.cmp-enterprise main .cmp-solution-chapter-grid h3{font-size:clamp(1.2rem,1.6vw,1.5rem);margin:0 0 12px;color:var(--cmp-ink)}
/* Unified forms and controls */
body.cmp-enterprise main :is(input,select,textarea){font:inherit;border:1px solid #bdcbdc;border-radius:10px;max-width:100%;min-height:44px;background:#fff;color:#172a44}
body.cmp-enterprise main :is(input,select,textarea):focus{border-color:#2e75cf;box-shadow:0 0 0 3px rgba(46,117,207,.11)}
/* Public homepage only. Private CMP Suite application unaffected. */
body:has(.gateway-header) .gateway-header{backdrop-filter:blur(16px);border-bottom:1px solid rgba(137,163,202,.18)}
body:has(.gateway-header) :is(.gateway-section,.cmp-editorial){scroll-margin-top:90px}
body:has(.gateway-header) :is(.gateway-hero,.gateway-section){min-width:0}
body:has(.gateway-header) .gateway-product{border-radius:18px;transition:transform .2s var(--cmp-ease),box-shadow .2s var(--cmp-ease)}
body:has(.gateway-header) .gateway-product:hover{transform:translateY(-4px);box-shadow:0 20px 50px rgba(10,29,58,.16)}
body:has(.gateway-header) :is(.gateway-primary,.gateway-secondary,.gateway-text-button){min-height:44px;border-radius:10px}
body:has(.gateway-header) :is(.gateway-hero-copy,.gateway-section-heading){max-width:1200px}
/* Responsive scaling */
@media(max-width:1050px){body.cmp-enterprise main .directory,body.cmp-enterprise main .cmp-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:740px){body.cmp-enterprise .frame{width:calc(100% - 36px)!important}body.cmp-enterprise main .hero{padding:58px 0!important}body.cmp-enterprise main .directory,body.cmp-enterprise main .cmp-product-grid{grid-template-columns:minmax(0,1fr)!important;gap:14px!important}body.cmp-enterprise main .cmp-solution-chapter-grid{grid-template-columns:minmax(0,1fr);gap:14px}body.cmp-enterprise main .cmp-product-grid>article{min-height:0!important;padding:23px!important}body.cmp-enterprise main .section{padding-block:44px}body.cmp-enterprise main .hero h1{font-size:clamp(2rem,8.4vw,2.7rem)!important}body.cmp-enterprise .site-bar{padding:10px 18px!important}body:has(.gateway-header) .gateway-product{min-width:0}}
@media(max-width:420px){body.cmp-enterprise .frame{width:calc(100% - 28px)!important}body.cmp-enterprise main .cmp-product-grid>article{padding:19px!important}body.cmp-enterprise main .hero{padding:46px 0!important}}
@media(prefers-reduced-motion:reduce){:where(.cmp-enterprise,.cmp-gateway) *, :where(.cmp-enterprise,.cmp-gateway) *::before,:where(.cmp-enterprise,.cmp-gateway) *::after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important}}
