/* Generated by _build/build.rb from _build/css/responsive/ — edit the partials, not this file. */

/* ==========================================================================
   sarbanandasonowal.com — responsive layer
   Breakpoints: 1280 · 1100 · 900 · 768 · 600 · 430 · 360
   ========================================================================== */

/* ---------- Shared: header / index / footer ---------- */
@media (max-width: 1280px) {
  .quicknav li:nth-child(4) { display: none; }
  .footer-grid { grid-template-columns: repeat(4, 1fr); }
  .footer-contact { grid-column: 1 / -1; padding-left: 0; border-left: 0; padding-top: 32px; border-top: 1px solid var(--line-dark); display: grid; grid-template-columns: 1fr 1fr; gap: 0 40px; align-items: start; }
  .footer-contact .footer-contact__role, .footer-contact .footer-contact__name { grid-column: 1; }
  .footer-contact dl { grid-column: 1; }
  .footer-contact .social, .footer-contact .social-note { grid-column: 2; }
  .footer-contact .social { grid-row: 1 / span 2; align-self: end; }
}

@media (max-width: 1100px) {
  .quicknav { display: none; }
  .site-index__grid { grid-template-columns: 1fr 1fr; row-gap: 8px; }
  .index-group:nth-child(3) { padding-left: 0; border-left: 0; }
  .index-group--sea::before { display: none; }
  .footer-horizon { grid-template-columns: 1fr; gap: 24px; }
}

@media (max-width: 900px) {
  :root { --header-h: 62px; }
  .brand__tag { display: none; }
  .chapter-route__inner { grid-template-columns: 1fr 1fr; }
  .chapter-route__line { display: none; }
  .chapter-route__prev { padding-right: 16px !important; }
  .chapter-route__next { padding-left: 16px !important; border-left: 1px solid var(--line); }
  .theme-dark .chapter-route__next { border-color: var(--line-dark); }
  .footer-grid { grid-template-columns: 1fr 1fr; row-gap: 36px; }
  .footer-contact { grid-template-columns: 1fr; }
  .footer-contact .social, .footer-contact .social-note { grid-column: 1; grid-row: auto; }
}

@media (max-width: 600px) {
  :root { --fs-body: 1rem; }
  .brand { gap: 10px; }
  .brand__name { font-size: 1.14rem; }
  .brand__mark { width: 26px; height: 26px; }
  .index-btn { padding-left: 12px; gap: 8px; }
  .index-btn__count { display: none; }
  .site-index__grid { grid-template-columns: 1fr; }
  .site-index__title span { display: none; }
  .index-group { padding: 0 0 20px; border-left: 0; }
  .index-group + .index-group { padding-top: 20px; border-top: 1px solid var(--line-dark); }
  .index-link { padding: .7rem 0; }
  .index-link .d { display: none; }
  .site-index__foot { flex-direction: column; align-items: flex-start; }
  .site-index__foot p { display: flex; flex-direction: column; gap: 4px; }
  .site-index__foot .sep { display: none; }
  .chapter-route__inner { grid-template-columns: 1fr; }
  .chapter-route__prev { padding-right: 0 !important; padding-bottom: 20px !important; }
  .chapter-route__next { padding-left: 0 !important; padding-top: 20px !important; border-left: 0 !important; border-top: 1px solid var(--line); text-align: left; align-items: flex-start; }
  .theme-dark .chapter-route__next { border-color: var(--line-dark); }
  .chapter-route__prev:empty, .chapter-route__inner > span:empty { display: none; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 28px 20px; }
  .footer-base__inner { flex-direction: column; align-items: flex-start; }
  .footer-base__right { flex-direction: column; align-items: flex-start; gap: 12px; }
  .datum__value { font-size: clamp(2.3rem, 11vw, 3rem); }
}

@media (max-width: 360px) {
  .brand__name { font-size: 1.02rem; }
  .index-btn__label { display: none; }
  .index-btn { padding: 0 6px; width: auto; }
  .footer-grid { grid-template-columns: 1fr; }
}

/* ---------- About ---------- */
@media (max-width: 1100px) {
  .ab-toc ol { grid-template-columns: repeat(3, 1fr); }
  .ab-toc li { border-bottom: 1px solid var(--line); }
  .ab-toc li:nth-child(3n + 1) { border-left: 0; }
  .ab-toc li:nth-child(3n + 1) a { padding-left: 0; }
  .ab-toc a { flex-direction: row; align-items: baseline; gap: .7rem; padding: 14px 12px; }
}
@media (max-width: 900px) {
  .ab-head__grid, .ab-body__grid, .ab-refs__grid { grid-template-columns: 1fr; }
  .ab-rail__sticky { position: static; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 32px; align-items: start; }
  .dossier { margin-top: 0; }
}
@media (max-width: 600px) {
  .ab-toc ol { grid-template-columns: 1fr 1fr; }
  .ab-toc li { border-left: 0 !important; }
  .ab-toc li:nth-child(odd) a { padding-left: 0; }
  .ab-toc li:nth-child(even) { border-left: 1px solid var(--line) !important; }
  .ab-toc li:nth-child(3n + 1) a { padding-left: 12px; }
  .ab-toc li:nth-child(odd) a { padding-left: 0; }
  .ab-rail__sticky { grid-template-columns: 1fr; }
  .ab-portrait { max-width: 340px; }
  .dossier dl div { grid-template-columns: 6.4rem 1fr; }
  .ab-part { padding-left: 44px; }
  .ab-part::before { left: 10px; }
  .ab-part__n { width: 22px; font-size: 1.6rem; }
  .ab-refs__list li { grid-template-columns: 2rem 1fr; }
  .ab-refs__list a { grid-column: 2; white-space: normal; }
}

/* ---------- Assam Years ---------- */
@media (max-width: 1100px) {
  .ay-head__facts { grid-template-columns: 1fr 1fr; }
  .ay-head__facts div:nth-child(3) { padding-left: 0; border-left: 0; }
  .ay-head__facts div { padding-bottom: 18px; }
}
@media (max-width: 900px) {
  .ay-head__grid, .ay-body__grid, .ay-closing__grid, .ay-register__head { grid-template-columns: 1fr; }
  .ay-head__years { justify-content: flex-start; }
  .ay-map__sticky { position: static; }
  .ay-register table { min-width: 0; }
  .ay-register thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .ay-register tr { display: grid; grid-template-columns: 1fr; padding: 18px 0; border-bottom: 1px solid var(--line-strong); }
  .ay-register td { display: block; width: auto !important; padding: 2px 0; border: 0; white-space: normal !important; }
  .ay-register td:nth-child(3)::before { content: "Responsible — "; font: 400 .7rem/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
}
@media (max-width: 600px) {
  .ay-head__facts { grid-template-columns: 1fr; }
  .ay-head__facts div + div { padding-left: 0; border-left: 0; border-top: 1px solid var(--line-dark); }
  .ay-head__facts div { padding: 14px 0; }
}

/* ---------- Contact ---------- */
@media (max-width: 900px) {
  .ct__grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .field-row { grid-template-columns: 1fr; }
  .ct__formwrap { padding: 22px 18px; margin-inline: calc(-1 * var(--gutter) + 8px); }
  .ct__lines div { grid-template-columns: 1fr; gap: 2px; }
  .ct-form .btn, .ct-success .btn { width: 100%; }
}

/* ---------- Documents ---------- */
@media (max-width: 1100px) {
  .dc-tools { grid-template-columns: 1fr; position: static; }
  .dc-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .dc-table tbody tr { display: grid; grid-template-columns: 2.6rem 1fr auto; gap: 4px 12px; padding: 16px 0; }
  .dc-table tbody tr[hidden] { display: none; }
  .dc-table td, .dc-table tbody th { padding: 0; width: auto !important; }
  .dc-no { grid-row: 1 / span 3; }
  .dc-table tbody th { grid-column: 2; }
  .dc-table td:nth-child(3), .dc-table td:nth-child(4), .dc-table td:nth-child(5) { grid-column: 2; }
  .dc-table td:nth-child(3) { order: 3; }
  .dc-table td:last-child { grid-column: 3; grid-row: 1; }
}
@media (max-width: 600px) {
  .dc-head__grid { grid-template-columns: 1fr; }
  .dc-head__fig { width: 220px; }
  .dc-table tbody tr { grid-template-columns: 2rem 1fr; }
  .dc-table td:last-child { grid-column: 2; grid-row: auto; margin-top: 6px; }
  .dc-filters button { min-height: 40px; }
}

/* ---------- Early Life ---------- */
@media (max-width: 900px) {
  .el-body__grid { grid-template-columns: 1fr; }
  .el-aside { position: static; max-width: 460px; }
  .el-photo[data-drift] { transform: none; }
}
@media (max-width: 600px) {
  .el-head__grid { grid-template-columns: 1fr; }
  .el-stamp { width: 150px; height: 150px; padding: 18px 8px; }
  .el-stamp__v { font-size: 1.45rem; }
  .folio__head { flex-direction: column; gap: 8px; }
  .folio__card { padding: 4px 16px; }
  .folio__card div { grid-template-columns: 1fr; gap: 2px; }
  .el-steps li { grid-template-columns: 1fr; gap: 6px; }
  .el-route { padding: 12px; }
}

/* ---------- Gallery ---------- */
@media (max-width: 900px) {
  .gl-head__grid { grid-template-columns: 1fr; }
  .gl-row--a, .gl-row--b { grid-template-columns: 1fr; }
  .gl-row--a .gl-item--wide { margin-top: 0; }
  .gl-row__side { padding-top: 0; }
  .gl-item--tall { max-width: 520px; }
}
@media (max-width: 600px) {
  .gl-group__head { flex-wrap: wrap; gap: 6px 14px; }
  .gl-group__count { flex-basis: 100%; }
  .gl-item__zoom { opacity: 1; transform: none; }
  .viewer__foot { flex-direction: column; align-items: flex-start; }
}

/* ---------- Home ---------- */
@media (max-width: 1100px) {
  .journey-rail { grid-template-columns: repeat(3, 1fr); row-gap: 48px; }
  .journey-rail::before { display: none; }
  .journey-rail li { border-top: 1px solid rgba(49, 93, 115, .4); padding-top: 18px; }
  .journey-rail li::after { top: -6px; }
  .journey-rail__year { height: auto; }
  .journey-rail b { margin-top: .8rem; }
  .hm-sea__data { grid-template-columns: 1fr 1fr; }
  .hm-assam { grid-template-columns: 1fr; }
  .hm-assam__frame { min-height: 0; height: auto; width: 100%; aspect-ratio: 650 / 400; }
  .hm-assam__text { max-width: none; }
}
@media (max-width: 900px) {
  .hero-home__grid { grid-template-columns: 1fr; }
  .hero-home__chart { width: 100%; bottom: auto; height: 70%; top: 30%; opacity: .7; }
  .hero-home__text { padding-bottom: 8px; }
  .hero-home__portrait { max-width: 520px; width: 100%; margin: 0 auto; }
  .hero-home__plate { max-height: none; }
  .route-strip__inner { grid-template-columns: 1fr; }
  .hm-office__grid, .hm-parl__grid, .hm-sea__head, .hm-sea__split, .hm-latest__grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .route-strip__stops { grid-template-columns: 1fr 1fr; row-gap: 20px; }
  .route-strip__stops::before, .route-strip__stops::after { display: none; }
  .route-strip__stops li { padding-left: 22px; padding-top: 0; }
  .route-strip__dot { top: 3px; }
  .journey-rail { grid-template-columns: 1fr; row-gap: 0; border-left: 1px solid rgba(49, 93, 115, .45); margin-left: 5px; }
  .journey-rail li { border-top: 0; padding: 0 0 28px 26px; }
  .journey-rail li::after { left: -6px; top: 10px; }
  .journey-rail__year { font-size: 2rem; }
  .journey-rail b { margin-top: .3rem; }
  .hm-sea__data { grid-template-columns: 1fr; gap: 28px; }
  .hm-sea__topics a { font-size: 1.2rem; }
  .newslist li { grid-template-columns: 1fr; gap: 6px; }
  .newslist a { justify-self: start; margin-top: 6px; }
  .hm-assam__fig figcaption { position: static; background: var(--midnight); }
  .ledger td:first-child { font-size: 1.05rem; }
  .ledger td, .ledger th { padding-right: 10px; }
  .hero-home__name .it { padding-left: .25em; }
}

/* grid items must be allowed to shrink below their images' intrinsic width */
.hm-assam > *, .pi-body__grid > *, .ay-body__grid > *, .ab-body__grid > *, .el-body__grid > * { min-width: 0; }

/* ---------- Inland Waterways ---------- */
@media (max-width: 900px) {
  .iw-gauge { grid-template-columns: 1fr; border-bottom: 0; }
  .iw-gauge li, .iw-gauge li + li { padding: 16px 0; border-left: 0; border-top: 1px solid rgba(255, 255, 255, .25); }
  .reach__cols { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .iw-reaches__grid { grid-template-columns: 24px 1fr; gap: 16px; }
  .iw-spine { background-size: 24px 120px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='120' viewBox='0 0 24 120' fill='none'%3E%3Cpath d='M12 0C22 20 22 40 12 60S2 100 12 120' stroke='%23315D73' stroke-width='1.4'/%3E%3C/svg%3E"); }
  .reach::before { left: -27px; width: 11px; height: 11px; }
  .reach__events li { grid-template-columns: 1fr; gap: 2px; padding-left: 14px; }
  .iw-head__title .it { padding-left: .5em; }
}

/* ---------- Maritime India ---------- */
@media (max-width: 1100px) {
  .entry { grid-column: span 6; }
  .entry--big, .entry--wide { grid-column: 1 / -1; grid-row: auto; padding-right: 0; }
}
@media (max-width: 900px) {
  .mi-head { min-height: 0; padding-top: 32px; }
  .mi-map svg { opacity: .8; }
  .horizon { grid-template-columns: 1fr; border-left: 1px solid var(--seaglass); margin-left: 6px; }
  .horizon::before { display: none; }
  .horizon__pt { padding: 0 0 36px 28px; }
  .horizon__pt::after { left: -7px; top: 14px; }
  .horizon__y { height: auto; font-size: 2.8rem; }
  .horizon b { margin-top: .6rem; }
}
@media (max-width: 600px) {
  .entry, .entry--fig { grid-column: 1 / -1; }
  .entry--fig { max-width: 360px; }
  .entry__timeline li { grid-template-columns: 1fr; gap: 2px; }
}

/* ---------- Media ---------- */
@media (max-width: 1100px) {
  .md-cols { grid-template-columns: 1fr 1fr; }
  .md-col:nth-child(3) { grid-column: 1 / -1; padding-left: 0; border-left: 0; margin-left: 0; }
}
@media (max-width: 900px) {
  .md-latest__grid { grid-template-columns: 1fr; }
  .md-lead { padding-right: 0; border-right: 0; padding-bottom: 28px; margin-bottom: 28px; border-bottom: 1px solid var(--line-strong); }
  .md-press { columns: 1; }
}
@media (max-width: 600px) {
  .md-cols { grid-template-columns: 1fr; }
  .md-col + .md-col { padding-left: 0; border-left: 0; margin-left: 0; }
  .md-press li { grid-template-columns: 1fr; }
  .md-press a { grid-column: 1; }
  .md-mast__bar span:nth-child(3) { display: none; }
  .md-mast__nav { justify-content: flex-start; gap: 2px 18px; }
}

/* ---------- Parliament ---------- */
@media (max-width: 1100px) {
  .pa-terms { grid-template-columns: 1fr 1fr; border-left: 0; }
  .pa-term { border: 1px solid var(--line-strong); margin: -1px 0 0 -1px; padding-top: 18px; }
  .doclines li { grid-template-columns: 8rem 1fr auto; }
  .doclines__src { grid-column: 2; }
  .doclines a { grid-column: 3; grid-row: 1; }
}
@media (max-width: 900px) {
  .pa-head__grid, .pa-const__grid, .casefiles { grid-template-columns: 1fr; }
  .pa-portrait { width: 200px; }
}
@media (max-width: 600px) {
  .pa-terms { grid-template-columns: 1fr; }
  .pa-sechead { grid-template-columns: 1fr; }
  .pa-sechead .muted { grid-column: 1; }
  .pa-seats div { grid-template-columns: 1fr; gap: 6px; }
  .casefile { padding: 24px 20px 22px 24px; }
  .casefile__meta { grid-template-columns: 1fr; }
  .doclines li { grid-template-columns: 1fr; gap: 4px; }
  .doclines__src, .doclines a { grid-column: 1; grid-row: auto; }
  .doclines a { justify-self: start; margin-top: 6px; }
}

/* ---------- Policy & Initiatives ---------- */
@media (max-width: 1100px) {
  .pi-body__grid { grid-template-columns: 1fr; }
  .pi-toc__sticky { position: static; }
  .pi-toc ol { display: grid; grid-template-columns: 1fr 1fr; column-gap: 24px; }
}
@media (max-width: 900px) {
  .pi-head__grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .pi-toc ol { grid-template-columns: 1fr; }
  .spec__grid { grid-template-columns: 1fr; }
  .spec__grid div:nth-child(odd):not(.spec__wide) { border-right: 0; }
  .spec__grid div:nth-last-child(2):not(.spec__wide) { border-bottom: 1px solid var(--line); }
  .spec__title { padding: 12px 16px; font-size: 1.25rem; }
  .spec__grid div { padding: 10px 16px; }
  .pi-abstract { padding: 18px; }
}

/* ---------- Political Journey ---------- */
@media (max-width: 1100px) {
  .pj-chart__scroll { display: inline; }
}
@media (max-width: 900px) {
  .milestones::before { left: 7px; }
  .ms, .ms.ms--alt { grid-template-columns: 1fr; padding-left: 40px; }
  .ms::after { left: 7px; top: 14px; }
  .ms .ms__year, .ms.ms--alt .ms__year { grid-column: 1; justify-self: start; text-align: left; font-size: clamp(2.6rem, 10vw, 4rem); }
  .ms .ms__body, .ms.ms--alt .ms__body { grid-column: 1; grid-row: auto; text-align: left; }
  .ms.ms--alt .ms__body .src { text-align: left; }
  .ms--fig { justify-items: start; }
  .pj-head__meta { grid-template-columns: 1fr; }
}

/* ---------- Ports & Shipping ---------- */
@media (max-width: 1100px) {
  .ps-data__grid { grid-template-columns: 1fr 1fr; }
  .ps-data__lead { grid-column: 1 / -1; grid-row: auto; }
  .ps-topic { grid-template-columns: 3.5rem 1fr; }
  .ps-topic__body { grid-column: 2; }
}
@media (max-width: 900px) {
  .ps-head__foot, .ps-coast__head { grid-template-columns: 1fr; }
  .ps-head__foot .coord, .ps-coast__head .muted { text-align: left; justify-self: start; }
  .coast { grid-template-columns: 1fr 1fr; }
  .coast__svg { display: none; }
  .coast__list--west { text-align: left; }
  .coast__list::before { display: block; font: 500 .68rem/1.4 var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--copper-ink); padding-bottom: 8px; border-bottom: 1px solid var(--graphite); }
  .coast__list--west::before { content: "West coast"; }
  .coast__list--east::before { content: "East coast"; }
  .coast__list { justify-content: flex-start; gap: 0; }
}
@media (max-width: 600px) {
  .ps-data__grid { grid-template-columns: 1fr; gap: 28px; }
  .coast { grid-template-columns: 1fr; gap: 32px; }
  .ps-topic { grid-template-columns: 1fr; gap: 12px; }
  .ps-topic__body { grid-column: 1; }
  .ps-topic__no { padding-top: 0; }
  .ps-head__rings { width: 110vw; right: -40%; opacity: .6; }
}

/* ---------- Speeches ---------- */
@media (max-width: 1100px) {
  .sp-year { grid-template-columns: 1fr; }
  .sp-year__label span { position: static; margin-bottom: 8px; }
  .sp-item::before { display: none; }
  .sp-note { margin-left: 0; }
}
@media (max-width: 900px) {
  .sp-head__grid { grid-template-columns: 1fr; }
  .sp-head__fig { max-width: 560px; }
}
@media (max-width: 600px) {
  .sp-item { grid-template-columns: 1fr; gap: 8px; }
  .sp-item__meta { flex-direction: row; flex-wrap: wrap; gap: 4px 12px; }
  .sp-q { padding-left: 14px; }
}

/* ---------- Union Government ---------- */
@media (max-width: 1100px) {
  .plates { grid-template-columns: 1fr 1fr; row-gap: 24px; }
  .plates::before { display: none; }
  .plate { border-top: 1px solid var(--line-dark); }
  .plate--gap { grid-column: 1 / -1; padding: 16px 22px; flex-direction: row; align-items: baseline; gap: 16px; }
  .plate__gapnote { writing-mode: horizontal-tb; transform: none; margin: 0; }
  .plate::before { top: -6px; left: 16px; }
}
@media (max-width: 900px) {
  .ug-head__grid, .ug-remit__grid { grid-template-columns: 1fr; }
  .ug-portrait { max-width: 420px; }
  .ug-remit__aside { position: static; max-width: 520px; }
}
@media (max-width: 600px) {
  .plates { grid-template-columns: 1fr; }
  .ug-head__key { grid-template-columns: 1fr; }
  .ug-head__key div + div { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); }
  .ug-head__key div { padding-bottom: 12px; }
}
