/* AESOST operational refinement / 2026-09-06 */

html,body{max-width:100%;overflow-x:hidden}
body{min-height:100vh}
main{display:block}
.shell{max-width:var(--container)}
img{height:auto}
figure{margin:0}

/* keyboard / accessibility */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--purple);outline-offset:3px}
::selection{background:var(--purple);color:#fff}

/* safer global content width */
.hero-grid,.page-hero-grid,.section-head,.solution-row,.project-grid,.case-grid,.process-compact,.form-grid,.cta-grid,.footer-top{min-width:0}
.hero-grid>*,.page-hero-grid>*,.section-head>*,.solution-row>*,.project-grid>*,.case-grid>*,.process-compact>*,.form-grid>*,.cta-grid>*,.footer-top>*{min-width:0}

/* header stability */
.dev-header{isolation:isolate;overflow:visible}
.dev-header-inner{width:min(calc(100% - 48px),var(--container));margin-inline:auto}
.dev-nav a[aria-current="page"]{color:#fff}
.dev-contact[aria-current="page"]{border-color:var(--purple);background:var(--purple)}
.dev-mobile-nav{max-height:calc(100svh - var(--header-height));overflow:auto}
body.menu-open{overflow:hidden}

/* System Solutions desktop dropdown */
.dev-nav-dropdown{position:relative;display:flex;align-items:center;height:var(--header-height)}
.dev-nav-dropdown-trigger{display:inline-flex;align-items:center;gap:7px;padding:0;border:0;background:transparent;color:#dddddf;font-family:inherit;font-size:14px;font-weight:500;line-height:1.4;letter-spacing:.055em;cursor:pointer}
.dev-nav-dropdown-trigger span{display:inline-block;color:#85858d;font-size:12px;transition:transform .2s ease}
.dev-nav-dropdown.is-active .dev-nav-dropdown-trigger,.dev-nav-dropdown.is-open .dev-nav-dropdown-trigger{color:#fff}
.dev-nav-dropdown.is-active:after{content:"";position:absolute;left:0;right:0;bottom:28px;height:1px;background:var(--purple)}
.dev-nav-dropdown.is-open .dev-nav-dropdown-trigger span{transform:rotate(180deg)}
.dev-dropdown-panel{position:absolute;top:calc(100% - 12px);left:50%;z-index:120;width:min(520px,calc(100vw - 48px));padding:18px;border:1px solid var(--line-strong);background:#101012;box-shadow:0 24px 70px rgba(0,0,0,.42);opacity:0;visibility:hidden;transform:translate(-50%,10px);transition:opacity .16s ease,transform .16s ease,visibility .16s ease}
.dev-nav-dropdown.is-open .dev-dropdown-panel{opacity:1;visibility:visible;transform:translate(-50%,0)}
.dev-dropdown-head{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:5px 4px 15px;border-bottom:1px solid var(--line)}
.dev-dropdown-head span{color:#f2f2f4;font-size:12px;font-weight:600;letter-spacing:.09em}
.dev-dropdown-head small{color:#6f6f78;font-size:11px;font-weight:400}
.dev-dropdown-item{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:12px;align-items:center;padding:16px 4px;border-bottom:1px solid var(--line);transition:background .18s ease,padding .18s ease}
a.dev-dropdown-item:hover{padding-left:10px;background:#151518}
.dev-dropdown-index{color:var(--purple);font-size:11px;font-weight:600;letter-spacing:.08em}
.dev-dropdown-item strong{display:block;color:#f1f1f3;font-size:14px;font-weight:540;letter-spacing:-.015em}
.dev-dropdown-item small{display:block;margin-top:3px;color:#8a8a92;font-size:12px;line-height:1.45}
.dev-dropdown-item em{color:#75757d;font-size:10px;font-style:normal;font-weight:600;letter-spacing:.07em;white-space:nowrap}
.dev-dropdown-item em.is-live{color:#bca5ff}
.dev-dropdown-item.is-disabled{opacity:.56}
.dev-dropdown-all{display:flex;align-items:center;justify-content:space-between;padding:16px 4px 3px;color:#d7d7dc;font-size:12px;font-weight:520;letter-spacing:.035em}
.dev-dropdown-all:hover{color:var(--purple-strong)}

/* Mobile System Solutions accordion */
.dev-mobile-solutions{border-bottom:1px solid var(--line)}
.dev-mobile-solutions>button{display:flex;width:100%;justify-content:space-between;align-items:center;padding:16px 0;border:0;background:transparent;color:#fff;font-family:inherit;font-size:16px;font-weight:500;text-align:left}
.dev-mobile-solutions.is-active>button{color:var(--purple-strong)}
.dev-mobile-solutions-panel{display:none;padding:0 0 12px 16px}
.dev-mobile-solutions-panel.is-open{display:block}
.dev-mobile-solutions-panel>a,.dev-mobile-solutions-panel>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #1f1f22;color:#cfcfd4;font-size:14px}
.dev-mobile-solutions-panel>a:last-child,.dev-mobile-solutions-panel>div:last-child{border-bottom:0}
.dev-mobile-solutions-panel small{color:#73737b;font-size:10px;letter-spacing:.06em}
.dev-mobile-solutions-panel div{opacity:.55}

/* hero rhythm */
.hero-copy{min-width:0}
.hero-copy .display{max-width:650px}
.hero-description{max-width:610px}
.hero-visual{overflow:hidden}
.hero-visual img{display:block}

/* stronger visual clarity */
.solution-visual,.project-thumb,.case-visual{position:relative}
.solution-visual:after,.project-thumb:after,.case-visual:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.035);pointer-events:none}
.project-card,.solution-link,.btn{transition:opacity .2s ease,border-color .2s ease,background-color .2s ease,transform .2s ease}
.project-card:hover{opacity:.94}
.solution-link:hover{color:var(--purple-strong)}

/* System Solutions overview page */
.solutions-page .page-hero{padding:112px 0 88px}
.solutions-page .page-hero-grid{grid-template-columns:220px minmax(0,1fr)}
.solutions-page .page-hero .lead{max-width:720px}
.solution-showcase{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:clamp(48px,6vw,92px);align-items:start}
.solution-overview{position:sticky;top:calc(var(--header-height) + 32px)}
.solution-overview .eyebrow{color:var(--purple)}
.solution-overview h2{margin:18px 0 18px;font-size:var(--fs-h2);font-weight:510;line-height:1.25;letter-spacing:-.038em}
.solution-overview>p{margin:0;color:var(--text-2);font-size:16px;line-height:1.75}
.solution-status{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.solution-status span{padding:7px 10px;border:1px solid var(--line);color:#92929a;font-size:11px;font-weight:500;letter-spacing:.055em}
.solution-feature-list{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:30px 0 0;border-top:1px solid var(--line)}
.solution-feature-list span{padding:11px 0;border-bottom:1px solid var(--line);color:#b9b9bf;font-size:13px}
.solution-overview .hero-actions{margin-top:32px}
.solution-demo-frame{min-width:0}
.solution-demo-browser{overflow:hidden;border:1px solid var(--line-strong);background:#0d0d0f}
.solution-demo-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;height:42px;padding:0 14px;border-bottom:1px solid var(--line);background:#131315;color:#777780;font-size:11px}
.solution-demo-dots{display:flex;gap:5px}.solution-demo-dots i{width:6px;height:6px;border-radius:50%;background:#3b3b40}
.solution-demo-browser iframe{display:block;width:100%;height:680px;border:0;background:#f6f6f6}
.solution-demo-note{margin:12px 0 0;color:#6f6f77;font-size:12px;line-height:1.6}

.solution-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.solution-catalog-card{min-height:280px;display:flex;flex-direction:column;padding:28px 30px;border:1px solid var(--line);background:#0d0d0f}
.solution-catalog-card.is-live{border-color:#4b356f;background:#100d16}
.solution-catalog-top{display:flex;justify-content:space-between;gap:18px;color:#777780;font-size:11px;font-weight:600;letter-spacing:.07em}
.solution-catalog-top em{font-style:normal}.solution-catalog-card.is-live .solution-catalog-top em{color:#bca5ff}
.solution-catalog-card h3{margin:48px 0 12px;font-size:var(--fs-h3);font-weight:540;line-height:1.32;letter-spacing:-.03em}
.solution-catalog-card p{margin:0;color:var(--text-2);font-size:15px;line-height:1.7}
.solution-catalog-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:28px}
.solution-catalog-tags span{padding:6px 8px;border:1px solid var(--line);color:#777780;font-size:10px;letter-spacing:.05em}
.solution-catalog-card a{display:inline-flex;margin-top:24px;color:#dddde2;font-size:12px;font-weight:520}.solution-catalog-card a:hover{color:var(--purple-strong)}

/* request page */
.request-page{padding:96px 0 120px}
.request-wrap{width:min(calc(100% - 48px),1040px);padding:0}
.request-intro{max-width:760px;margin-bottom:72px}
.request-intro h1{margin:24px 0 0;font-size:var(--fs-h1);font-weight:470;line-height:1.16;letter-spacing:-.045em}
.request-intro>p:last-child{max-width:680px;margin:28px 0 0;color:var(--text-2);font-size:17px;line-height:1.7}
.request-section{padding:46px 0;border-top:1px solid var(--line)}
.request-section-head{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px 24px;margin-bottom:30px}
.request-section-head>span{grid-row:1/3;color:var(--purple);font-size:14px;font-weight:600;letter-spacing:.1em}
.request-section-head h2{margin:0;font-size:24px;font-weight:540;line-height:1.35;letter-spacing:-.03em}
.request-section-head p{margin:0;color:var(--muted);font-size:15px;line-height:1.6}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 28px}
.field{display:flex;min-width:0;flex-direction:column;gap:9px}.field.full{grid-column:1/-1}
.field label{color:#dedee2;font-size:13px;font-weight:510;letter-spacing:.02em}
.field input,.field select,.field textarea{width:100%;min-width:0;border:0;border-bottom:1px solid var(--line-strong);border-radius:0;background:transparent;padding:12px 0;color:#fff;outline:0;font-size:16px;line-height:1.6}
.field input::placeholder,.field textarea::placeholder{color:#66666e}
.field select{color-scheme:dark}
.field textarea{min-height:154px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-bottom-color:var(--purple)}
.choice-grid{display:flex;flex-wrap:wrap;gap:9px}
.choice{position:relative}.choice input{position:absolute;opacity:0;pointer-events:none}
.choice span{display:inline-flex;min-height:44px;align-items:center;padding:0 14px;border:1px solid var(--line-strong);color:#c6c6cc;font-size:14px;line-height:1.4;transition:.2s ease}
.choice input:checked+span{border-color:var(--purple);background:var(--purple);color:#fff}
.choice input:focus-visible+span{outline:2px solid var(--purple);outline-offset:3px}
.request-consent{display:flex;gap:12px;align-items:flex-start;margin:34px 0;color:#93939b;font-size:13px;line-height:1.7}
.request-consent input{margin-top:5px;accent-color:var(--purple)}
.request-submit{display:flex;justify-content:space-between;gap:32px;align-items:center;padding-top:30px;border-top:1px solid var(--line)}
.request-submit small{max-width:600px;color:#777780;font-size:12px;line-height:1.65}
.request-submit .btn{min-width:170px}
.form-notice{display:none;margin-top:22px;padding:17px 18px;border:1px solid var(--line);font-size:14px;line-height:1.6}
.form-notice.is-visible{display:block}.form-notice.success{border-color:#5c3aa7;background:#15101f;color:#d8c8ff}.form-notice.error{border-color:#713d45;background:#1b1012;color:#f0b7bf}
[data-submit][disabled]{opacity:.55;cursor:wait}

/* compact footer */
.dev-footer{margin-top:0}
.footer-intro{font-size:14px;line-height:1.7}
.footer-col a{min-height:28px}

/* reduced motion */
@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

@media(max-width:1100px){
  .dev-header-inner{width:min(calc(100% - 40px),var(--container))}
  .section-head{grid-template-columns:170px minmax(0,1fr);gap:48px}
  .dev-nav{gap:22px}
  .dev-nav a,.dev-nav-dropdown-trigger{font-size:12px}
  .solution-showcase{grid-template-columns:1fr;gap:42px}.solution-overview{position:static;max-width:760px}
  .solution-demo-browser iframe{height:600px}
}

@media(max-width:760px){
  body{font-size:16px}
  .shell,.dev-header-inner{width:calc(100% - 32px)}
  .dev-header-inner{height:78px}
  .dev-brand{width:116px}
  .section{padding:78px 0}
  .section-head{grid-template-columns:1fr;gap:18px;margin-bottom:38px}
  .section-head .section-copy p{margin-top:18px;font-size:16px}
  .hero-copy .display{max-width:none}
  .request-page{padding:68px 0 88px}
  .request-wrap{width:calc(100% - 32px)}
  .request-intro{margin-bottom:54px}
  .request-intro>p:last-child{font-size:16px}
  .request-section{padding:38px 0}
  .request-section-head{grid-template-columns:42px minmax(0,1fr);gap:6px 12px}
  .request-section-head h2{font-size:22px}
  .request-section-head p{font-size:14px}
  .form-grid{grid-template-columns:1fr;gap:25px}.field.full{grid-column:auto}
  .choice-grid{gap:7px}.choice span{min-height:42px;padding:0 12px;font-size:13px}
  .request-submit{align-items:stretch;flex-direction:column}.request-submit .btn{width:100%}
  .solutions-page .page-hero{padding:76px 0 62px}.solutions-page .page-hero-grid{grid-template-columns:1fr;gap:20px}
  .solution-feature-list{grid-template-columns:1fr}.solution-demo-browser iframe{height:520px}
  .solution-catalog{grid-template-columns:1fr}.solution-catalog-card{min-height:240px}
}
