/* Corporate hierarchy: product families sit below Materials; program models below Customer Programs. */
header{position:relative;gap:22px;grid-template-columns:205px 1fr auto}header .brand-lockup{width:205px}#primary-nav{gap:21px;font-size:14px}#primary-nav button{font:inherit;color:inherit;background:none;border:0;border-radius:0;min-height:44px;padding:10px 0;cursor:pointer;white-space:nowrap}#primary-nav button:after{content:'⌄';margin-left:7px;font-size:12px}.nav-submenu[hidden]{display:none!important}.nav-submenu{position:absolute;left:0;right:0;top:100%;display:flex;justify-content:center;gap:48px;padding:24px 6%;background:#fff;border-top:1px solid #e3e6e7;border-bottom:1px solid #ccd3d7;z-index:30}.nav-submenu a{font-size:16px}.current-group>button{border-bottom:1px solid #29383f!important}.profile-scope{display:block;margin-top:7px;color:#5b656b}.construction-profile h3{font-size:25px;font-weight:400;line-height:1.4}.construction-profile dl{margin:0}.construction-profile dl>div{border-top:1px solid #dce2e5;padding:18px 0}.construction-profile dt{font-size:14px;color:#5b656b;margin-bottom:7px}.construction-profile dd{font-size:16px;line-height:1.7;margin:0}.construction-profile dd a{color:#283e49;text-decoration:underline;text-underline-offset:5px}.construction-detail{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:start}.construction-detail .family-diagram{margin:0}.construction-detail .stack-roles{display:none}.layer-disclosure{margin-top:24px;border-top:1px solid #dce2e5;padding-top:18px}.layer-disclosure summary{font-size:16px;cursor:pointer}.layer-disclosure ul{font-size:16px;line-height:1.8;padding-left:20px}.catalog-process-focus{display:none}.product .spec-row{font-size:16px}.product .spec-row span{font-size:14px}.comparison-desktop table{table-layout:fixed;min-width:0;width:100%}.comparison-desktop th,.comparison-desktop td{font-size:16px!important;line-height:1.65;overflow-wrap:anywhere;padding:18px 14px}.comparison-desktop th:first-child{width:18%}.comparison-desktop .table-wrap{overflow:visible}.comparison-note{font-size:14px;line-height:1.75;color:#5b656b;margin-top:24px}.company-position{display:grid;grid-template-columns:1fr 1fr;gap:80px}.company-position p{font-size:17px;line-height:1.8}.catalog-top h1{max-width:12ch}.protocol-card-link{font-size:14px;line-height:1.7;color:#49616e}.protocol-card-link a{text-decoration:underline;text-underline-offset:4px}.program-governance{margin-top:48px;border-top:1px solid #dce2e5;padding-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:45px}.program-governance h3{font-size:23px;font-weight:400}.program-governance p{font-size:16px;line-height:1.8}.program-governance h3,.program-governance p{margin:0 0 12px}
@media(max-width:1250px){header{grid-template-columns:190px 1fr auto;gap:18px}header .brand-lockup{width:190px}#primary-nav{gap:15px;font-size:14px}header .nav-cta{font-size:14px}}
@media(max-width:1150px){#primary-nav{font-size:16px;align-items:stretch;gap:0}#primary-nav>a,#primary-nav>.nav-group{border-bottom:1px solid #e3e6e7;width:100%}#primary-nav button{font-size:16px;display:flex;justify-content:space-between;width:100%;text-align:left;padding:14px 0}.nav-submenu{position:static;display:block;border:0;padding:0 0 14px 18px}.nav-submenu a{font-size:16px;white-space:normal}#primary-nav>a{padding:14px 0}.current-group>button{border-bottom:0!important}header .brand-lockup{width:195px}}
@media(max-width:760px){.construction-detail,.company-position,.program-governance{grid-template-columns:1fr;gap:24px}.construction-profile dt{font-size:14px}.construction-profile dd{font-size:16px;line-height:1.75}.construction-detail .family-diagram svg{max-height:320px}.construction-detail .family-diagram .stack-caption{font-size:12px}.catalog-top h1{font-size:42px;line-height:1.12;max-width:12ch}.comparison-note{font-size:14px}.company-position p{font-size:16px}.protocol-card-link{font-size:14px}.comparison-mobile dd{font-size:16px!important;line-height:1.75}.construction-profile h3{font-size:24px}}
@media(max-width:360px){header .brand-lockup{width:165px}.catalog-top h1{font-size:36px}}

.construction-detail .stack-roles{display:grid;grid-template-columns:1fr}.construction-detail .stack-roles button{font-size:16px}.construction-detail .stack-heading{display:none}.construction-detail .stack-focus>span{display:none}.comparison-desktop th,.comparison-desktop td{min-width:0!important}

header .nav-cta .cta-prefix{margin:0}@media(max-width:1150px){header{grid-template-columns:44px minmax(0,1fr) auto;gap:14px}}@media(max-width:600px){header{grid-template-columns:35px minmax(0,1fr) 58px;gap:8px;padding:16px 5%}header .nav-cta .cta-prefix{display:none}header .nav-cta{font-size:14px}}

@media(min-width:1000px){dialog.comparison-dialog{width:min(1120px,92vw);max-width:1120px}}

/* Close remains reachable while reading a long construction comparison. */
dialog .close{position:sticky;top:0;right:0;float:right;margin-top:-25px;margin-right:-12px;background:#fff;z-index:4}dialog #modal-content{clear:none}

/* Reserve a fixed dialog header; the reading area scrolls independently. */
dialog[open]{padding:58px 0 0;overflow:hidden}dialog .close{position:absolute;top:9px;right:16px;float:none;margin:0;background:#fff}dialog #modal-content{clear:none;max-height:calc(86dvh - 58px);overflow-y:auto;padding:0 65px 40px;scroll-behavior:auto}@media(max-width:760px){dialog #modal-content{padding:0 24px 32px}}
