.mag-body { background: #f4f0e8; }
.mag-header { color: var(--navy-950); background: var(--gold-soft); border-bottom: 1px solid rgba(6,26,53,.16); }
.mag-header-inner { min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.mag-header p, .mag-back { margin: 0; font-size: .7rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.mag-back { text-decoration: none; }
.mag-cover { padding: 56px 0 72px; color: var(--white); background: var(--navy-950); }
.mag-masthead { display: grid; grid-template-columns: 1fr 180px; gap: 40px; align-items: start; padding-bottom: 48px; border-bottom: 1px solid rgba(255,255,255,.2); }
.mag-masthead > *, .mag-cover-grid > *, .mag-model > *, .mag-policies > * { min-width: 0; }
.mag-masthead p { margin: 0 0 12px; color: var(--gold-soft); font-size: .68rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.mag-masthead h1 { margin: 0; font: 400 clamp(4rem, 9vw, 8rem)/.78 var(--serif); letter-spacing: -.055em; }
.mag-masthead aside { display: grid; padding: 20px 22px; color: var(--navy-950); background: var(--gold-soft); }
.mag-masthead aside span, .mag-masthead aside small { font-size: .66rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.mag-masthead aside strong { font: 400 4.5rem/1 var(--serif); }
.mag-cover-grid { display: grid; grid-template-columns: 1.35fr .65fr; gap: 90px; padding-top: 54px; }
.mag-kicker { margin: 0 0 14px; color: #9a6a00; font-size: .68rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.mag-cover .mag-kicker { color: var(--gold-soft); }
.mag-cover h2, .mag-section h2, .mag-cta h2 { margin: 0; font: 400 clamp(2.5rem, 5vw, 4.5rem)/1.02 var(--serif); letter-spacing: -.025em; }
.mag-deck { max-width: 780px; margin: 24px 0 0; color: #c8d4e2; font-size: 1.08rem; }
.mag-meta { border-top: 1px solid rgba(255,255,255,.18); }
.mag-meta p { display: grid; margin: 0; padding: 15px 0; border-bottom: 1px solid rgba(255,255,255,.12); }
.mag-meta span { color: #9fb0c5; font-size: .68rem; text-transform: uppercase; }
.mag-meta strong { margin-top: 4px; font-size: .8rem; }
.mag-notice { padding: 24px 0; background: var(--gold-soft); }
.mag-notice .shell { display: grid; grid-template-columns: 220px 1fr; gap: 30px; }
.mag-notice strong { color: var(--navy-950); font: 400 1.25rem/1.2 var(--serif); }
.mag-notice p { margin: 0; font-size: .82rem; }
.mag-section { padding: 92px 0; }
.mag-section-head { display: grid; grid-template-columns: .45fr 1fr; gap: 60px; align-items: start; margin-bottom: 48px; }
.mag-section-head > p { margin: 6px 0 0; color: #9a6a00; font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.mag-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #cfc7ba; border-left: 1px solid #cfc7ba; }
.mag-story { min-height: 330px; display: flex; flex-direction: column; padding: 28px; background: #fbf8f1; border-right: 1px solid #cfc7ba; border-bottom: 1px solid #cfc7ba; }
.mag-story-lead { color: var(--white); background: var(--red); }
.mag-story > p { margin: 0; color: #9a6a00; font-size: .67rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.mag-story-lead > p { color: #ffd1d9; }
.mag-story h3 { margin: 42px 0 15px; font: 400 2rem/1.05 var(--serif); }
.mag-story-lead h3 { color: var(--white); }
.mag-story > span { color: var(--muted); font-size: .84rem; }
.mag-story-lead > span { color: #ffe7eb; }
.mag-story > strong { margin-top: auto; padding-top: 28px; font-size: .68rem; text-transform: uppercase; }
.mag-section-dark { color: var(--white); background: var(--navy-950); }
.mag-model { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; }
.mag-section-dark .mag-kicker { color: var(--gold-soft); }
.mag-section-dark h2 { color: var(--white); }
.mag-model ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.16); }
.mag-model li { display: grid; grid-template-columns: 44px 1fr; gap: 16px; padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,.12); }
.mag-model li span { color: var(--gold-soft); font: 400 1.5rem/1 var(--serif); }
.mag-model li p { margin: 0; color: #c4d0df; font-size: .82rem; }
.mag-model li strong { color: var(--white); }
.mag-policies { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; }
.mag-policies ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid #cfc7ba; }
.mag-policies li { padding: 16px 0; border-bottom: 1px solid #cfc7ba; font-size: .86rem; font-weight: 700; }
.mag-cta { padding: 100px 0; color: var(--white); background: var(--red); text-align: center; }
.mag-cta p { color: #ffd4dc; font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.mag-cta h2 { max-width: 900px; margin: 0 auto; }
.mag-cta > .shell > div { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 25px; margin-top: 34px; }
.mag-text-link { color: var(--white); font-size: .82rem; font-weight: 800; text-underline-offset: 5px; }
@media (max-width: 850px) {
  .mag-cover-grid, .mag-model, .mag-policies { grid-template-columns: 1fr; gap: 45px; }
  .mag-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .mag-header-inner { align-items: flex-start; flex-direction: column; justify-content: center; padding: 12px 0; }
  .mag-masthead { grid-template-columns: 1fr; }
  .mag-masthead h1 { max-width: 100%; font-size: clamp(3.25rem, 14vw, 4.2rem); line-height: .86; }
  .mag-cover h2 { max-width: 100%; font-size: 2.25rem; overflow-wrap: break-word; }
  .mag-masthead aside { width: 150px; }
  .mag-notice .shell, .mag-section-head { grid-template-columns: 1fr; gap: 12px; }
  .mag-grid { grid-template-columns: 1fr; }
  .mag-story { min-height: 280px; }
}
