.material-page { color: var(--ink); background: var(--paper); }

.material-header {
  position: sticky;
  z-index: 30;
  top: 0;
  color: var(--white);
  background: rgba(4, 30, 45, 0.99);
  border-bottom: 2px solid rgba(184, 148, 78, 0.82);
  backdrop-filter: blur(16px);
}

.material-header-inner { display: flex; align-items: center; justify-content: space-between; min-height: 92px; }
.material-back { display: inline-flex; gap: 10px; align-items: center; color: rgba(255,255,255,0.72); font-size: 10px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.material-back:hover { color: var(--white); }
.material-back i { color: var(--champagne); font-size: 17px; font-style: normal; }

.material-hero { color: var(--white); background: var(--navy); }
.material-hero-layout { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(420px, 0.95fr); min-height: 650px; }
.material-hero-copy { display: flex; min-width: 0; padding: 80px 7vw 70px max(4.5vw, 40px); flex-direction: column; justify-content: center; }
.material-hero-copy .overline { margin-bottom: 28px; }
.material-hero-copy h1 { max-width: 900px; margin: 0; font-size: clamp(50px, 5.5vw, 82px); font-weight: 690; letter-spacing: -0.055em; line-height: 0.98; }
.material-hero-copy > p:last-of-type { max-width: 780px; margin: 30px 0 0; color: rgba(255,255,255,0.66); font-size: 18px; line-height: 1.65; }
.material-meta { display: flex; gap: 20px; margin-top: 42px; flex-wrap: wrap; }
.material-meta span { padding: 9px 11px; color: var(--champagne); font-size: 8px; font-weight: 850; letter-spacing: 0.15em; border: 1px solid rgba(216,189,131,0.38); text-transform: uppercase; }
.material-hero-media { position: relative; min-width: 0; min-height: 650px; overflow: hidden; }
.material-hero-media::after { position: absolute; inset: 0; content: ""; background: linear-gradient(90deg, var(--navy), transparent 30%), linear-gradient(0deg, rgba(7,26,45,0.45), transparent 45%); }
.material-hero-media img { width: 100%; height: 100%; object-fit: cover; }
.material-hero-media--documents img { object-position: center; }

.material-article { padding: 88px 0 105px; }
.material-layout { display: grid; grid-template-columns: 230px minmax(0, 850px); gap: 9vw; justify-content: center; }
.material-content, .material-content section { min-width: 0; }
.material-aside { position: sticky; top: 135px; align-self: start; }
.material-aside > span { display: block; color: var(--gold); font-size: 8px; font-weight: 850; letter-spacing: 0.16em; text-transform: uppercase; }
.material-aside nav { display: grid; gap: 0; margin-top: 20px; border-top: 1px solid var(--line); }
.material-aside a { padding: 13px 0; color: var(--muted); font-size: 11px; border-bottom: 1px solid var(--line); }
.material-aside a:hover { color: var(--navy); }
.material-content section { padding: 0 0 66px; scroll-margin-top: 130px; }
.material-content h2 { max-width: 780px; margin: 0 0 22px; font-size: clamp(34px, 3.4vw, 50px); letter-spacing: -0.045em; line-height: 1.08; }
.material-content h3 { margin: 0 0 13px; font-size: 21px; line-height: 1.3; }
.material-content p { margin: 0 0 18px; color: var(--muted); font-size: 16px; line-height: 1.75; }
.material-content .material-lead { color: var(--ink); font-size: 22px; line-height: 1.55; }

.material-callout { margin: 14px 0 66px; padding: 28px 30px; border-left: 3px solid var(--gold); background: var(--white); box-shadow: 0 16px 50px rgba(7,26,45,0.07); }
.material-callout strong { display: block; margin-bottom: 10px; font-size: 20px; }
.material-callout p { margin: 0; font-size: 14px; }

.idp-priority { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr); gap: 34px; margin: 34px 0 30px; padding: 34px; color: var(--white); border-top: 3px solid var(--champagne); background: var(--navy); box-shadow: 0 22px 64px rgba(7,26,45,0.16); }
.idp-priority-copy > span, .idp-partner > span { display: block; margin-bottom: 15px; color: var(--champagne); font-size: 8px; font-weight: 850; letter-spacing: 0.16em; line-height: 1.5; text-transform: uppercase; }
.material-content .idp-priority h3 { margin: 0 0 16px; color: var(--white); font-size: clamp(27px, 3vw, 38px); letter-spacing: -0.035em; line-height: 1.08; }
.material-content .idp-priority p { margin: 0; color: rgba(255,255,255,0.65); font-size: 13px; line-height: 1.7; }
.idp-partner { padding-left: 30px; border-left: 1px solid rgba(216,189,131,0.34); }
.idp-partner strong { display: block; margin-bottom: 12px; color: var(--white); font-size: 22px; line-height: 1.25; }
.idp-partner-links { display: grid; gap: 9px; margin-top: 23px; }
.idp-partner-links a { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 13px 0; color: var(--champagne); font-size: 9px; font-weight: 850; letter-spacing: 0.09em; line-height: 1.45; text-transform: uppercase; border-top: 1px solid rgba(255,255,255,0.14); }
.idp-partner-links a:hover { color: var(--white); }
.idp-partner-links i { font-size: 15px; font-style: normal; }

.material-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 30px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.material-card { min-height: 210px; padding: 25px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255,255,255,0.45); }
.material-card > span { display: block; margin-bottom: 34px; color: var(--gold); font-size: 9px; font-weight: 850; letter-spacing: 0.15em; }
.material-card p { margin: 0; font-size: 13px; line-height: 1.6; }

.material-steps { display: grid; margin-top: 28px; border-top: 1px solid var(--line); }
.material-step { display: grid; grid-template-columns: 70px 1fr; gap: 24px; padding: 25px 0; border-bottom: 1px solid var(--line); }
.material-step > strong { color: var(--gold); font-size: 24px; font-weight: 600; }
.material-step p { margin: 0; font-size: 14px; }

.material-checklist { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 26px; }
.material-checklist li { position: relative; min-height: 76px; padding: 20px 20px 20px 48px; color: #465563; font-size: 13px; line-height: 1.5; border: 1px solid var(--line); background: var(--white); }
.material-checklist li::before { position: absolute; top: 20px; left: 20px; color: var(--gold); content: "✓"; font-weight: 850; }

.material-route-line { display: grid; grid-template-columns: repeat(5, 1fr); margin: 28px 0 8px; }
.material-route-line span { position: relative; padding-top: 28px; color: var(--navy); font-size: 10px; font-weight: 750; text-align: center; }
.material-route-line span::before { position: absolute; z-index: 1; top: 5px; left: 50%; width: 10px; height: 10px; content: ""; border: 2px solid var(--gold); border-radius: 50%; background: var(--paper); transform: translateX(-50%); }
.material-route-line span::after { position: absolute; top: 10px; right: 0; left: 0; height: 1px; content: ""; background: var(--gold); }
.material-route-line span:first-child::after { left: 50%; }
.material-route-line span:last-child::after { right: 50%; }

.material-note { padding: 22px 24px; color: #5d6871; font-size: 12px; line-height: 1.65; border: 1px solid var(--line); background: var(--paper-warm); }
.material-next { color: var(--navy); background: linear-gradient(110deg, var(--mist-blue), var(--mist-blue-soft)); border-top: 1px solid rgba(7,26,45,0.1); }
.material-next-inner { display: grid; grid-template-columns: 1fr auto; gap: 32px; align-items: center; min-height: 150px; padding: 26px 0; }
.material-next-inner > div { min-width: 0; }
.material-next p { margin: 0 0 8px; color: #8a692d; font-size: 8px; font-weight: 850; letter-spacing: 0.16em; text-transform: uppercase; }
.material-next h2 { max-width: 760px; margin: 0; font-size: clamp(25px, 2.8vw, 40px); letter-spacing: -0.04em; line-height: 1.1; }
.material-next a { display: grid; place-items: center; width: 52px; height: 52px; color: var(--white); font-size: 21px; border-radius: 50%; background: var(--navy); transition: transform 0.25s ease, background 0.25s ease; }
.material-next a:hover, .material-next a:focus-visible { background: var(--navy-3); transform: translateX(3px); }

@media (max-width: 940px) {
  .material-hero-layout { grid-template-columns: minmax(0, 1fr); }
  .material-hero-copy { min-height: 590px; padding-right: 7vw; }
  .material-hero-media { min-height: 420px; }
  .material-hero-media::after { background: linear-gradient(0deg, var(--navy), transparent 35%); }
  .material-layout { grid-template-columns: 1fr; }
  .material-aside { position: static; }
  .material-aside nav { grid-template-columns: repeat(3, 1fr); }
  .material-aside a { padding-right: 12px; }
  .idp-priority { grid-template-columns: 1fr; }
  .idp-partner { padding: 28px 0 0; border-top: 1px solid rgba(216,189,131,0.34); border-left: 0; }
}

@media (max-width: 640px) {
  .material-header-inner { min-height: 70px; }
  .material-header .brand { width: max-content; }
  .material-back { font-size: 0; }
  .material-back i { font-size: 20px; }
  .material-hero-copy { min-height: 560px; padding: 70px 18px; }
  .material-hero-copy h1 { font-size: clamp(34px, 10.7vw, 40px); hyphens: auto; overflow-wrap: break-word; }
  .material-hero-copy > p:last-of-type { font-size: 15px; }
  .material-hero-media { min-height: 330px; }
  .material-article { padding: 62px 0 75px; }
  .material-aside { display: none; }
  .material-content section { padding-bottom: 48px; }
  .material-content h2 { font-size: 34px; }
  .material-content .material-lead { font-size: 19px; }
  .idp-priority { gap: 26px; padding: 26px 22px; }
  .material-grid, .material-checklist { grid-template-columns: 1fr; }
  .material-card { min-height: 180px; }
  .material-step { grid-template-columns: 52px 1fr; gap: 14px; }
  .material-route-line { display: flex; gap: 10px; overflow-x: auto; }
  .material-route-line span { min-width: 120px; }
  .material-next-inner { grid-template-columns: 1fr auto; gap: 20px; min-height: 170px; padding: 28px 0; }
  .material-next h2 { font-size: 29px; }
}
