:root { --dl-navy: #0b2a4a; --dl-blue: #1e5b8f; --dl-orange: #f59e0b; --dl-light: #f5f7f9; --dl-border: #d9e1e8; --dl-text: #526578; }
.downloads-page { overflow-x: clip; }
.downloads-page main { color: var(--dl-navy); background: #fff; }
.downloads-page main h1,.downloads-page main h2,.downloads-page main h3,.downloads-page main p { margin-top: 0; }
.downloads-page main p { color: var(--dl-text); line-height: 1.68; }
.downloads-page .section-pad { padding-left: max(24px,calc((100vw - 1240px)/2)); padding-right: max(24px,calc((100vw - 1240px)/2)); }
.sr-only { position: absolute!important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.downloads-hero { position: relative; display: grid; grid-template-columns: minmax(0,1.05fr) minmax(420px,.95fr); gap: clamp(40px,6vw,90px); align-items: center; min-height: 720px; padding-top: 148px; padding-bottom: 78px; overflow: hidden; background: linear-gradient(115deg,#f8fafc 0%,#edf3f7 58%,#dfe9ef 100%); }
.downloads-hero::before { content: ""; position: absolute; inset: 0; opacity: .38; background-image: linear-gradient(rgba(11,42,74,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(11,42,74,.06) 1px,transparent 1px); background-size: 42px 42px; mask-image: linear-gradient(90deg,transparent 0%,#000 62%); }
.downloads-hero__copy,.downloads-hero__visual { position: relative; z-index: 1; }
.downloads-breadcrumb { display: flex; gap: 8px; margin-bottom: 54px; color: #7c8d9d; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.downloads-breadcrumb a { color: var(--dl-blue); }
.downloads-page .eyebrow { margin-bottom: 12px; color: #c66b00; font-size: 11px; font-weight: 900; letter-spacing: .15em; }
.downloads-hero h1 { max-width: 700px; margin-bottom: 10px; font-size: clamp(56px,6vw,86px); line-height: .98; letter-spacing: -.055em; }
.downloads-hero__subtitle { max-width: 680px; margin-bottom: 24px; color: var(--dl-blue)!important; font-size: clamp(21px,2vw,29px); font-weight: 700; line-height: 1.22!important; }
.downloads-hero__lead { max-width: 660px; margin-bottom: 18px; font-size: 16px; }
.downloads-hero__note { display: flex; gap: 9px; align-items: center; margin-bottom: 28px; color: #334b5f!important; font-size: 13px; font-weight: 700; }
.downloads-hero__note span { display: grid; place-items: center; width: 21px; height: 21px; color: #fff; border-radius: 50%; background: var(--dl-blue); }
.downloads-hero__actions .button { gap: 18px; min-height: 52px; padding-inline: 23px; }
.downloads-stats { display: grid; grid-template-columns: repeat(4,1fr); max-width: 690px; margin-top: 52px; padding-top: 24px; border-top: 1px solid #cbd8e1; }
.downloads-stats div { padding: 0 17px; border-left: 1px solid #cbd8e1; }
.downloads-stats div:first-child { padding-left: 0; border-left: 0; }
.downloads-stats strong,.downloads-stats span { display: block; }
.downloads-stats strong { font-size: 25px; line-height: 1.1; }
.downloads-stats span { margin-top: 5px; color: #607589; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.downloads-hero__visual { min-height: 520px; }
.document-stack { position: absolute; inset: 5% 5% 7% 5%; perspective: 900px; }
.doc { position: absolute; display: flex; flex-direction: column; width: 290px; height: 390px; padding: 28px; border: 1px solid rgba(11,42,74,.18); background: #fff; box-shadow: 0 24px 55px rgba(11,42,74,.18); }
.doc::after { content: ""; position: absolute; left: 0; right: 0; bottom: 60px; height: 6px; background: var(--dl-orange); }
.doc span { margin-top: auto; color: var(--dl-orange); font-size: 13px; font-weight: 900; }
.doc b { margin: 14px 0 18px; font-size: 25px; line-height: 1.13; }
.doc i,.doc em { font-size: 8px; font-style: normal; font-weight: 900; letter-spacing: .1em; }
.doc em { margin-top: 18px; color: #6f8292; }
.doc--back { right: 5px; top: 5px; transform: rotate(9deg); background: #d8e7f0; }
.doc--middle { right: 56px; top: 37px; transform: rotate(2deg); background: #f5f7f9; }
.doc--front { left: 5px; bottom: 0; transform: rotate(-7deg); }
.doc-logo { display: flex; gap: 7px; align-items: center; font-size: 11px; font-weight: 900; }
.doc-logo img { width: 22px; height: 22px; object-fit: contain; }
.drawing-lines { position: absolute; right: -10%; bottom: -2%; width: 72%; height: 34%; border: 1px solid #aebfca; transform: rotate(-5deg); background: rgba(255,255,255,.65); }
.drawing-lines span { position: absolute; height: 1px; background: #8fa4b3; }
.drawing-lines span:nth-child(1) { left: 10%; right: 10%; top: 24%; }.drawing-lines span:nth-child(2) { left: 18%; right: 18%; top: 48%; }.drawing-lines span:nth-child(3) { left: 10%; width: 45%; top: 72%; }.drawing-lines span:nth-child(4) { top: 12%; bottom: 12%; left: 64%; width: 1px; height: auto; }
.material-swatches { position: absolute; right: 4%; bottom: 3%; display: flex; gap: 7px; transform: rotate(6deg); }
.material-swatches span { width: 52px; height: 52px; border: 5px solid #fff; box-shadow: 0 7px 16px rgba(11,42,74,.17); background: #193e59; }.material-swatches span:nth-child(2){background:#cfd3d3}.material-swatches span:nth-child(3){background:#b7976b}.material-swatches span:nth-child(4){background:#e0e2df}
.caliper { position: absolute; z-index: 2; left: -2%; bottom: 7%; width: 270px; height: 13px; transform: rotate(15deg); background: #9aa8b1; box-shadow: 0 3px 8px rgba(0,0,0,.16); }.caliper::before,.caliper::after { content:""; position:absolute; top:-48px; width:10px; height:60px; background:#9aa8b1; }.caliper::before{left:5px}.caliper::after{left:62px}.caliper i { position:absolute; left:58px; top:-17px; width:45px; height:46px; border:8px solid #687985; background:transparent; }
.downloads-library { background: var(--dl-light); }
.downloads-toolbar-wrap { position: sticky; z-index: 20; top: 69px; border-top: 1px solid var(--dl-border); border-bottom: 1px solid var(--dl-border); background: rgba(255,255,255,.97); box-shadow: 0 8px 20px rgba(11,42,74,.05); backdrop-filter: blur(12px); }
.downloads-toolbar { display: grid; grid-template-columns: minmax(280px,1.35fr) minmax(400px,2fr) 145px; gap: 14px; align-items: center; min-height: 94px; padding-top: 16px; padding-bottom: 14px; }
.downloads-search { position: relative; display: block; }
.downloads-search svg { position: absolute; left: 15px; top: 50%; width: 19px; height: 19px; fill: none; stroke: #557084; stroke-width: 2; transform: translateY(-50%); }
.downloads-search input,.downloads-format select { width: 100%; height: 46px; border: 1px solid #cbd6de; border-radius: 5px; color: #263f54; background: #fff; font: inherit; font-size: 12px; }
.downloads-search input { padding: 0 14px 0 44px; }.downloads-format select { padding: 0 12px; font-weight: 750; }
.downloads-search input:focus,.downloads-format select:focus { border-color: var(--dl-blue); outline: 3px solid rgba(30,91,143,.13); }
.downloads-filters { display: flex; min-width: 0; max-width: 100%; gap: 4px; overflow-x: auto; scrollbar-width: none; }.downloads-filters::-webkit-scrollbar{display:none}
.downloads-filters button { flex: 0 0 auto; min-height: 38px; padding: 0 11px; border: 0; border-radius: 4px; color: #52687a; background: transparent; font: inherit; font-size: 10px; font-weight: 850; cursor: pointer; white-space: nowrap; }
.downloads-filters button:hover { color: var(--dl-blue); background: #edf3f7; }.downloads-filters button.is-active { color: #fff; background: var(--dl-navy); }
.downloads-count { grid-column: 1/-1; margin: -2px 0 0!important; color: #718496!important; font-size: 11px; }.downloads-count strong{color:var(--dl-navy)}
.download-groups { padding-top: 70px; padding-bottom: 90px; }
.download-group { margin-bottom: 90px; scroll-margin-top: 185px; }.download-group[hidden]{display:none}
.download-group__header { display: grid; grid-template-columns: 56px minmax(0,1fr) auto; gap: 20px; align-items: start; margin-bottom: 29px; padding-bottom: 25px; border-bottom: 1px solid var(--dl-border); }
.group-icon { display: grid; place-items: center; width: 50px; height: 50px; color: var(--dl-navy); background: var(--dl-orange); font-size: 12px; font-weight: 900; }
.download-group__header h2 { margin-bottom: 9px; font-size: clamp(28px,3vw,40px); line-height: 1.08; letter-spacing: -.03em; }.download-group__header p:not(.eyebrow){max-width:760px;margin-bottom:0;font-size:14px}.group-count { padding: 8px 11px; border: 1px solid #cfd9e0; border-radius: 999px; color: var(--dl-blue); background: #fff; font-size: 10px; font-weight: 850; }
.download-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.download-card { position: relative; display: flex; flex-direction: column; min-height: 400px; padding: 25px; overflow: hidden; border: 1px solid var(--dl-border); border-radius: 8px; background: #fff; box-shadow: 0 8px 22px rgba(11,42,74,.035); transition: transform .2s ease,box-shadow .2s ease,border-color .2s ease; }.download-card:hover{transform:translateY(-3px);border-color:#b7c8d4;box-shadow:0 16px 34px rgba(11,42,74,.09)}.download-card[hidden]{display:none}
.card-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 26px; }.card-top span{color:var(--dl-orange);font-size:12px;font-weight:900;letter-spacing:.08em}.card-top b{padding:5px 8px;border-radius:3px;color:var(--dl-blue);background:#e9f1f6;font-size:9px;letter-spacing:.08em}
.card-icon { position:absolute; right:26px; top:75px; width:44px; height:53px; border:2px solid #d7e0e6; border-radius:2px; }.card-icon::before{content:"";position:absolute;right:-2px;top:-2px;width:14px;height:14px;border-left:2px solid #d7e0e6;border-bottom:2px solid #d7e0e6;background:#fff}.card-icon::after{content:"PDF";position:absolute;left:7px;bottom:7px;color:#bdc9d1;font-size:8px;font-weight:900}.card-icon--sheet::after{content:"XLSX";left:5px}
.download-card h3 { max-width: 78%; margin: 19px 0 12px; font-size: 20px; line-height: 1.18; }.download-card>p{display:-webkit-box;min-height:67px;margin-bottom:20px;overflow:hidden;font-size:12px;line-height:1.62;-webkit-box-orient:vertical;-webkit-line-clamp:3}.card-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;margin-bottom:18px}.card-meta span{padding-right:8px;border-right:1px solid #cfd9e0;color:#607488;font-size:9px;font-weight:800}.card-meta span:last-child{border-right:0}
.download-button { display:flex;gap:9px;align-items:center;justify-content:center;min-height:43px;border-radius:5px;color:#fff;background:var(--dl-navy);font-size:11px;font-weight:850;transition:background .2s ease; }.download-button:hover{color:#fff;background:var(--dl-blue)}.download-button>span{font-size:17px}.download-button.is-disabled{color:#738494;background:#e4e9ed;cursor:not-allowed}.download-card--pending::after{content:"FILE PENDING";position:absolute;right:-35px;top:39px;width:150px;padding:5px 0;color:#fff;background:#8293a1;font-size:8px;font-weight:900;text-align:center;letter-spacing:.08em;transform:rotate(45deg)}
.downloads-empty { padding: 70px 20px; border: 1px dashed #b6c5cf; text-align: center; background: #fff; }.downloads-empty strong{font-size:25px}.downloads-empty p{margin:10px 0 18px}.downloads-empty button{padding:10px 15px;border:0;border-radius:4px;color:#fff;background:var(--dl-navy);font:inherit;font-size:11px;font-weight:800;cursor:pointer}
.toolkit-steps { padding-top: 85px; padding-bottom: 95px; background:#fff}.section-heading h2{margin-bottom:40px;font-size:clamp(34px,4vw,50px);letter-spacing:-.035em}.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--dl-border);border-bottom:1px solid var(--dl-border)}.steps-grid article{position:relative;min-height:245px;padding:29px 26px;border-right:1px solid var(--dl-border)}.steps-grid article:last-child{border-right:0}.steps-grid article>span{color:var(--dl-orange);font-size:12px;font-weight:900}.steps-grid h3{margin:48px 0 10px;font-size:19px}.steps-grid p{margin-bottom:0;font-size:12px}.steps-grid article::before{content:"";position:absolute;left:25px;top:-4px;width:8px;height:8px;background:var(--dl-orange)}
.downloads-cta { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:70px;align-items:center;padding-top:75px;padding-bottom:75px;background:var(--dl-navy)}.downloads-cta h2{max-width:780px;margin-bottom:15px;color:#fff;font-size:clamp(34px,4vw,52px);letter-spacing:-.035em}.downloads-cta p{max-width:790px;color:#c3d2dd!important}.downloads-cta small{color:#91a9ba;font-size:10px}.downloads-cta__actions{display:flex;flex-direction:column;gap:10px;min-width:205px}.downloads-cta .button.ghost{border-color:#8199aa;color:#fff}.downloads-cta .button.ghost:hover{border-color:#fff;background:#fff;color:var(--dl-navy)}
.use-notice { padding-top:42px;padding-bottom:42px;background:#e9eef2}.use-notice>div{display:grid;grid-template-columns:36px minmax(0,1fr);gap:20px;max-width:1050px}.use-notice>div>span{display:grid;place-items:center;width:30px;height:30px;border:1px solid #9baebc;border-radius:50%;color:var(--dl-blue);font-size:14px;font-weight:900}.use-notice h2{margin-bottom:11px;font-size:17px}.use-notice p{margin-bottom:8px;font-size:11px}.use-notice small{color:#718393;font-size:10px}
@media (max-width:1080px){.downloads-hero{grid-template-columns:1fr;min-height:0}.downloads-hero__visual{display:none}.downloads-toolbar{grid-template-columns:1fr 145px}.downloads-filters{grid-column:1/-1;grid-row:2}.downloads-count{grid-row:3}.download-grid{grid-template-columns:repeat(2,1fr)}.steps-grid{grid-template-columns:repeat(2,1fr)}.steps-grid article:nth-child(2){border-right:0}.steps-grid article:nth-child(-n+2){border-bottom:1px solid var(--dl-border)}}
@media (max-width:720px){.downloads-page .section-pad{padding-left:18px;padding-right:18px}.downloads-hero{padding-top:112px;padding-bottom:54px}.downloads-breadcrumb{margin-bottom:35px}.downloads-hero h1{font-size:48px}.downloads-hero__subtitle{font-size:20px}.downloads-stats{grid-template-columns:repeat(2,1fr);gap:20px 0;margin-top:40px}.downloads-stats div:nth-child(3){padding-left:0;border-left:0}.downloads-toolbar-wrap{top:63px}.downloads-toolbar{grid-template-columns:minmax(0,1fr) 120px;min-height:0;padding-top:11px;padding-bottom:11px}.downloads-search input{font-size:11px}.downloads-filters{margin:0 -18px;padding:0 18px}.downloads-count{margin-bottom:0!important}.download-groups{padding-top:48px;padding-bottom:55px}.download-group{margin-bottom:62px;scroll-margin-top:190px}.download-group__header{grid-template-columns:44px 1fr}.group-icon{width:40px;height:40px}.group-count{grid-column:2;justify-self:start}.download-grid{grid-template-columns:1fr}.download-card{min-height:360px}.download-group__header h2{font-size:28px}.toolkit-steps{padding-top:60px;padding-bottom:65px}.steps-grid{grid-template-columns:1fr}.steps-grid article{min-height:190px;border-right:0;border-bottom:1px solid var(--dl-border)!important}.steps-grid article:last-child{border-bottom:0!important}.steps-grid h3{margin-top:34px}.downloads-cta{grid-template-columns:1fr;gap:30px;padding-top:60px;padding-bottom:60px}.downloads-cta__actions{flex-direction:row;flex-wrap:wrap}.use-notice>div{grid-template-columns:1fr}.downloads-page .site-footer>*{min-width:0}.downloads-page .footer-links{grid-template-columns:repeat(2,minmax(0,1fr))}.downloads-page .footer-link-group{min-width:0}}
/* Compact layout revisions */
.downloads-hero { display: block; min-height: 0; padding-top: 82px; padding-bottom: 44px; text-align: left; }
.downloads-hero__copy { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1fr) 360px; column-gap: 70px; width: 100%; max-width: none; margin: 0; align-items: start; }
.downloads-breadcrumb { grid-column: 1 / -1; justify-content: flex-start; margin-bottom: 24px; }
.downloads-hero h1 { grid-column: 1; max-width: 720px; margin-bottom: 18px; font-size: clamp(52px,5.5vw,72px); }
.downloads-hero__lead { grid-column: 1; max-width: 710px; margin: 0 0 14px; font-size: 15px; }
.downloads-hero__note { grid-column: 1; justify-content: flex-start; margin-bottom: 0; }
.downloads-stats { grid-column: 2; grid-row: 2 / span 3; display: grid; grid-template-columns: repeat(2,1fr); gap: 1px; align-self: stretch; max-width: none; margin: 0; padding: 1px; border: 0; background: #cbd8e1; }
.downloads-stats div,.downloads-stats div:first-child { display: flex; flex-direction: column; justify-content: center; min-height: 104px; padding: 18px 20px; border: 0; background: rgba(255,255,255,.55); }
.download-groups { padding-top: 58px; padding-bottom: 54px; }
.download-group { margin-bottom: 64px; }
.download-group:last-of-type { margin-bottom: 0; }
.download-card { min-height: 270px; padding: 20px 24px; }
.card-top { margin-bottom: 12px; }
.card-icon { display: none; }
.download-card h3 { max-width: 100%; margin: 8px 0 10px; }
.download-card > p { min-height: 48px; margin-bottom: 10px; }
.card-meta { margin-bottom: 12px; }
.toolkit-steps { padding-top: 68px; padding-bottom: 68px; }
.steps-grid article { min-height: 165px; padding: 24px 26px; }
.steps-grid h3 { margin: 28px 0 8px; }
@media (max-width:1080px){.downloads-hero__copy{grid-template-columns:minmax(0,1fr) 320px;column-gap:42px}.downloads-stats div,.downloads-stats div:first-child{min-height:96px;padding:15px}}
@media (max-width:720px){.downloads-hero{padding-top:92px;padding-bottom:40px}.downloads-hero__copy{display:block}.downloads-breadcrumb{margin-bottom:24px}.downloads-hero h1{font-size:46px;margin-bottom:16px}.downloads-stats{display:grid;margin-top:28px}.downloads-stats div,.downloads-stats div:first-child{min-height:82px}.download-groups{padding-top:44px;padding-bottom:45px}.download-group{margin-bottom:52px}.download-card{min-height:260px}.toolkit-steps{padding-top:54px;padding-bottom:54px}.steps-grid article{min-height:145px}}

/* Download library: full-width rows instead of cards */
.download-grid { display: flex; flex-direction: column; gap: 0; border-top: 1px solid var(--dl-border); }
.download-card {
  display: grid;
  grid-template-columns: 95px minmax(220px,.8fr) minmax(0,1.4fr) 185px;
  grid-template-rows: auto auto;
  column-gap: 24px;
  align-items: center;
  min-height: 0;
  padding: 20px 0;
  overflow: visible;
  border: 0;
  border-bottom: 1px solid var(--dl-border);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.download-card:hover { transform: none; border-color: var(--dl-border); box-shadow: none; }
.download-card .card-top { grid-column: 1; grid-row: 1 / span 2; align-self: start; display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; gap: 8px; margin: 2px 0 0; }
.download-card h3 { grid-column: 2; grid-row: 1; max-width: none; margin: 0 0 8px; }
.download-card > p { grid-column: 3; grid-row: 1 / span 2; display: block; min-height: 0; margin: 0; overflow: visible; -webkit-line-clamp: unset; }
.download-card .card-meta { grid-column: 2; grid-row: 2; margin: 0; }
.download-card .download-button { grid-column: 4; grid-row: 1 / span 2; width: 100%; }

@media (max-width:900px){
  .download-card { grid-template-columns: 82px minmax(0,1fr) 165px; grid-template-rows: auto auto auto; column-gap: 18px; }
  .download-card .card-top { grid-column: 1; grid-row: 1 / span 3; }
  .download-card h3 { grid-column: 2; grid-row: 1; }
  .download-card > p { grid-column: 2; grid-row: 2; margin-bottom: 8px; }
  .download-card .card-meta { grid-column: 2; grid-row: 3; }
  .download-card .download-button { grid-column: 3; grid-row: 1 / span 3; }
}

@media (max-width:720px){
  .download-card { grid-template-columns: 1fr; grid-template-rows: auto; gap: 10px; min-height: 0; padding: 22px 0; }
  .download-card .card-top,
  .download-card h3,
  .download-card > p,
  .download-card .card-meta,
  .download-card .download-button { grid-column: 1; grid-row: auto; }
  .download-card .card-top { flex-direction: row; justify-content: space-between; align-items: center; margin: 0; }
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.download-card{transition:none}}
