/* Cultivera final mobile DTP ownership layer
   Scope: authored mobile layouts only. Desktop composition remains unchanged. */

@media (max-width: 760px) {
  :root {
    --mobile-dtp-label: .75rem;
    --mobile-dtp-meta: .8125rem;
    --mobile-dtp-copy: .9375rem;
    --mobile-dtp-touch: 44px;
  }

  /* Shared functional type and action floors. */
  main :is(.section-kicker,.eyebrow,.meta-line,.caption-meta,.cap-type) {
    font-size: var(--mobile-dtp-label) !important;
    line-height: 1.35 !important;
  }
  main :is(figcaption,.image-caption) {
    font-size: var(--mobile-dtp-meta) !important;
    line-height: 1.42 !important;
  }
  main :is(dt,.definition-ledger dt) {
    font-size: var(--mobile-dtp-label) !important;
    line-height: 1.35 !important;
  }
  main :is(.card-action,.story-link) {
    display: inline-flex;
    min-height: var(--mobile-dtp-touch);
    align-items: center;
    padding-block: 10px;
  }
  main :is(.btn,a.button,button):focus-visible {
    outline-offset: 3px;
  }
  main :is(.section-head,.editorial-head) {
    row-gap: 16px;
  }

  /* Home: preserve the reference composition while making its actions and proof labels usable. */
  body.page-home main :is(.card-action,.evidence-panel__link,.decision-card__action) {
    min-height: 44px;
    align-items: center;
    padding-block: 10px;
  }
  body.page-home main :is(.front-copy small,.evidence-panel__eyebrow,.evidence-panel__decision span,.decision-card__category,.decision-card__meta) {
    font-size: .75rem !important;
    line-height: 1.35 !important;
  }
  body.page-home .evidence-panel__metrics dd {font-size:.75rem!important;line-height:1.35!important}

  /* Field Systems: one contained CTA language and legible mobile atlas state. */
  body.page-field-systems .field-systems-experience :is(.selected-project-link,.field-closing-link) {
    box-sizing: border-box;
    min-height: 44px !important;
    width: fit-content;
    max-width: 100%;
    justify-content: center;
    margin-top: 20px;
    padding: 0 17px !important;
    border: 1px solid currentColor !important;
    border-radius: 999px;
    font-size: .75rem !important;
    line-height: 1.2 !important;
    text-align: center;
    text-decoration: none;
  }
  body.page-field-systems .field-systems-experience :is(.selected-project-link,.field-closing-link)::after {
    display: none !important;
    content: none !important;
  }
  body.page-field-systems .field-systems-experience .selected-project-link {color:var(--forest)}
  body.page-field-systems .field-systems-experience .field-closing-link {
    margin-top: 0;
    color:#fff;
    background:rgba(255,255,255,.07);
  }
  body.page-field-systems .field-system-method__caption {
    grid-template-columns: 72px minmax(0,1fr) 44px !important;
    gap: 10px !important;
    min-height: 132px;
  }
  body.page-field-systems .field-system-method__phase strong,
  body.page-field-systems .field-system-method__phase em,
  body.page-field-systems .field-system-method__caption-copy>span {
    font-size: .75rem !important;
    line-height: 1.2 !important;
  }
  body.page-field-systems .field-system-method__caption-copy>strong {font-size:1.08rem!important;line-height:1.1!important}
  body.page-field-systems .field-system-method__caption-copy>p {font-size:.8125rem!important;line-height:1.38!important}
  body.page-field-systems .field-mobile-stage-nav button {font-size:.75rem!important}
  body.page-field-systems .field-system-method__visual :is(.method-stage-name,.method-site-meta,.method-break-label,.method-intervention-label,.method-flow-node-label) {
    font-size: 12px !important;
  }

  /* Advisory: authored horizontal progress, readable answers and concept comparison. */
  body.page-advisory .advisory-diagnostic {margin-inline:0!important}
  body.page-advisory .advisory-diagnostic__route {
    padding: 16px 18px 15px !important;
    mask-image: linear-gradient(90deg,#000 0,#000 calc(100% - 38px),transparent 100%);
    -webkit-mask-image: linear-gradient(90deg,#000 0,#000 calc(100% - 38px),transparent 100%);
  }
  body.page-advisory .advisory-diagnostic__route::after {
    content:"Swipe progress →";
    display:block;
    margin-top:10px;
    color:rgba(255,255,255,.66);
    font:650 .75rem/1.3 var(--mono);
    letter-spacing:.06em;
    text-transform:uppercase;
  }
  body.page-advisory .advisory-diagnostic__route ol {
    grid-auto-columns:minmax(152px,76vw)!important;
    scroll-padding-inline:0 34px;
  }
  body.page-advisory .advisory-diagnostic__route button strong {font-size:.875rem!important}
  body.page-advisory .advisory-diagnostic__form {padding:26px 20px 24px!important}
  body.page-advisory .advisory-diagnostic__status,
  body.page-advisory .advisory-diagnostic legend span {font-size:.75rem!important}
  body.page-advisory .advisory-diagnostic legend strong {max-width:11.5ch;font-size:clamp(2.15rem,10vw,2.85rem)!important}
  body.page-advisory .advisory-diagnostic label span small {font-size:.875rem!important;line-height:1.42!important}
  body.page-advisory .concept-tabs {
    grid-auto-columns:minmax(82vw,1fr)!important;
    scroll-padding-inline:0 28px;
    scrollbar-width:thin;
  }
  body.page-advisory .concept-tab {min-height:92px;padding:17px 18px}
  body.page-advisory .concept-tab span,
  body.page-advisory .concept-status,
  body.page-advisory .concept-logic dt,
  body.page-advisory .policy-logic dt {font-size:.75rem!important;line-height:1.35!important}
  body.page-advisory .concept-swipe-cue {font-size:.75rem!important}
  body.page-advisory .concept-panel__copy {padding:28px 22px 32px}
  body.page-advisory .concept-panel h3 {font-size:clamp(2.25rem,10vw,3rem)!important}
  body.page-advisory .policy-proof-layout {gap:28px}

  /* Farms: clearer route ownership, readable evidence and explicit horizontal authorship. */
  body.page-farms .handoff-console {padding:20px 18px 22px}
  body.page-farms .handoff-console__route {
    grid-template-columns:repeat(6,minmax(94px,1fr))!important;
    gap:2px;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:0 34px;
    scrollbar-width:thin;
  }
  body.page-farms .handoff-console__node {
    min-height:64px;
    font-size:.75rem!important;
    line-height:1.3!important;
    scroll-snap-align:start;
  }
  body.page-farms .handoff-console__readout {gap:20px}
  body.page-farms .handoff-console__identity small {font-size:.75rem!important}
  body.page-farms .handoff-console__evidence {grid-template-columns:1fr;gap:10px}
  body.page-farms .handoff-console__evidence dt {font-size:.75rem!important}
  body.page-farms .handoff-console__evidence dd {font-size:.9375rem!important}
  body.page-farms .handoff-console__controls button {font-size:.75rem!important}
  body.page-farms .handoff-strip[data-enhanced="true"] {
    grid-auto-columns:minmax(88vw,1fr)!important;
    scroll-padding-inline:0 28px;
    scrollbar-width:thin;
  }
  body.page-farms .handoff-strip[data-enhanced="true"] .handoff-step small,
  body.page-farms .handoff-strip[data-enhanced="true"] .handoff-step.is-active .handoff-discipline {font-size:.75rem!important}
  body.page-farms .handoff-strip[data-enhanced="true"] .handoff-step.is-active .handoff-owner {font-size:.875rem!important}
  body.page-farms .support-route.media-index__row>.status {font-size:.75rem!important}

  /* Insights: repair collapsed grids and restore one-column editorial flow. */
  body.page-insights-v7 .evidence-response,
  body.page-insights-v7 .decision-grid,
  body.page-insights-v7 .crop-grid,
  body.page-insights-v7 .publications-grid {
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:28px!important;
  }
  body.page-insights-v7 .evidence-response>* ,
  body.page-insights-v7 .decision-grid>* ,
  body.page-insights-v7 .crop-grid>* ,
  body.page-insights-v7 .publications-grid>* {
    min-width:0!important;
    width:auto!important;
    max-width:100%!important;
  }
  body.page-insights-v7 .finding-list--quiet,
  body.page-insights-v7 .evidence-column,
  body.page-insights-v7 .response-column {width:100%!important;max-width:none!important}
  body.page-insights-v7 .decision figure {order:-1}
  body.page-insights-v7 .story-link {min-height:44px;padding-block:10px}
  body.page-insights-v7 :is(.meta-line,.policy-inset__meta,.cap-type,.caption-meta,.article-row span,.evidence-route span) {
    font-size:.75rem!important;
    line-height:1.4!important;
  }
  body.page-insights-v7 .article-row {padding-block:18px}
  body.page-insights-v7 .article-row a {min-height:44px;align-items:center}

  /* About: use the Home closing component and restore detail hierarchy. */
  body.page-about .closing-section {padding-block:0}
  body.page-about .closing-section .cta-band {
    grid-template-columns:minmax(0,1fr)!important;
    gap:22px!important;
    padding:38px 0 42px!important;
  }
  body.page-about .closing-section .head-action {max-width:none!important}
  body.page-about .closing-section .closing-actions {align-items:flex-start}
  body.page-about .closing-section .btn {width:100%;justify-content:center}
  body.page-about .about-fronts dt {font-size:.75rem!important}
  body.page-about .about-fronts dd {font-size:.875rem!important;line-height:1.45!important}
  body.page-about .about-fronts summary {min-height:64px}
  body.page-about .record-facts dt,
  body.page-about .record-timeline time {font-size:.75rem!important}
  body.page-about .hero-caption {font-size:.8125rem!important;line-height:1.4!important}

  /* Contact: retain compact form while making review labels readable. */
  body.page-contact .route-review dt {font-size:.75rem!important}
  body.page-contact .route-review dd {font-size:.875rem!important;line-height:1.45!important}

  /* Policy and insight story: horizontal records must announce and snap, not appear clipped. */
  body.page-biogas-policy main :is(dt,.policy-thesis-label,.policy-record small,.policy-record i,.policy-record b),
  body.page-scaling-biogas-bangladesh main :is(.story-eyebrow,.story-evidence-tag,.story-mono,.story-label) {
    font-size:.75rem!important;
    line-height:1.4!important;
  }
  body.page-biogas-policy :is(.policy-tabs,.policy-number-record,.policy-decision-grid),
  body.page-scaling-biogas-bangladesh :is(.story-stat-grid,.story-decision-grid,.story-proof-grid) {
    scroll-snap-type:x mandatory;
    scroll-padding-inline:0 28px;
    scrollbar-width:thin;
  }
  body.page-biogas-policy :is(.policy-tabs,.policy-number-record,.policy-decision-grid)>*,
  body.page-scaling-biogas-bangladesh :is(.story-stat-grid,.story-decision-grid,.story-proof-grid)>* {scroll-snap-align:start}

  /* Shared project-shell mobile DTP floors. */
  body.project-theme main :is(.project-eyebrow,.project-kicker,.mono,.status,.source-label) {
    line-height:1.35;
  }
  body.project-theme main :is(figcaption,.project-caption,.media-caption) {
    font-size:.8125rem!important;
    line-height:1.42!important;
  }
  body.project-theme .source-links a {
    display:flex;
    min-height:44px;
    align-items:center;
    padding:10px 0;
    font-size:.8125rem;
    line-height:1.35;
  }
  body.project-theme .source-links {gap:0}
  body.project-theme .source-links a+a {border-top:1px solid rgba(20,23,20,.14)}

  /* GLOW source notes become deliberate mobile evidence rows. */
  body.theme-glow-coastal .glow-source-footer a {
    display:flex;
    width:100%;
    min-height:44px;
    align-items:center;
    margin-top:6px;
    padding:8px 0;
    border-top:1px solid currentColor;
    font-size:.8125rem;
    line-height:1.35;
  }
  body.theme-glow-coastal .glow-source-footer {font-size:.8125rem!important;line-height:1.5!important}

  /* FRiO Flower Clock: visible horizontal ownership and readable evidence links. */
  body.theme-frio :is(.flower-clock__stages,.flower-clock__rail,.clock-stages) {
    scroll-snap-type:x mandatory;
    scroll-padding-inline:0 28px;
    scrollbar-width:thin;
  }
  body.theme-frio :is(.flower-clock__stages,.flower-clock__rail,.clock-stages)>* {scroll-snap-align:start}
  body.theme-frio main :is(.stage-index,.clock-index,.source-links a) {font-size:.75rem!important}

  /* Solar capacity instrument: preserve its data width but author the scroll. */
  body.theme-solar :is(.capacity-calendar,.capacity-table,.calendar-shell) {
    overscroll-behavior-inline:contain;
    scroll-snap-type:x proximity;
    scrollbar-width:thin;
  }
  body.theme-solar :is(.capacity-calendar,.capacity-table,.calendar-shell)>* {scroll-snap-align:start}

  /* MAVH pages: legible route labels and touch-safe source credits. */
  body.page-mavh main :is(.map-label,.route-label,.lot-label,.mavh-stage button,.mavh-stage-label) {
    font-size:12px!important;
  }
  body.page-mavh main button {min-width:44px;min-height:44px}
  body.theme-mahasthangarh-floriculture main a[href*="media-credits"],
  body.theme-mahasthangarh-floriculture main a[href*="creativecommons"] {
    display:inline-flex;
    min-height:44px;
    align-items:center;
    padding-block:8px;
  }

  /* SGC: contain the mobile poster and make evidence links actual targets. */
  body.theme-sgc .sgc-hero__poster,
  body.theme-sgc .sgc-poster {max-width:100%;margin-inline:0!important;transform:none!important}
  body.theme-sgc .sgc-sources a {
    display:flex;
    width:100%;
    min-height:44px;
    align-items:center;
    margin-top:6px;
    padding:8px 0;
    border-top:1px solid currentColor;
    font-size:.8125rem;
    line-height:1.35;
  }

  /* Green Flame: improve evidence labels without changing its long-form structure. */
  body.theme-green-flame main :is(.evidence-step-index,.evidence-status,.proof-index,.proof-status) {
    font-size:.75rem!important;
    line-height:1.35!important;
  }

  /* Compact only the recurring excess runway, not content-led page rhythm. */
  body.page-advisory main>.section,
  body.page-about main>.section,
  body.page-farms main>.section {scroll-margin-top:84px}
}

@media (max-width: 380px) {
  body.page-field-systems .field-system-method__caption {grid-template-columns:66px minmax(0,1fr) 44px!important;padding-inline:12px!important}
  body.page-advisory .advisory-diagnostic__form {padding-inline:16px!important}
  body.page-farms .handoff-console {padding-inline:14px}
  body.page-insights-v7 .insights-container {padding-inline:20px!important}
  body.page-mavh main :is(.map-label,.route-label,.lot-label,.mavh-stage button,.mavh-stage-label) {font-size:11.5px!important}
}

/* Measured mobile DTP closure after the three-width audit. */
@media (max-width: 760px) {
  body.page-home main .image-caption strong,
  body.page-home main .decision-card__prompt .mono,
  body.page-home main .btn {font-size:.75rem!important;line-height:1.25!important}

  body.page-field-systems .field-system-method__visual .method-stage-name {font-size:12px!important}

  body.page-biogas-policy main :is(
    .cover-backdrop>small,
    .policy-value-ladder b,
    .policy-thesis-rail i,
    .policy-thesis-rail small,
    .decision-proof>span,
    .source-line,
    .window-name>span,
    .window-gate>span,
    .roadmap article>span
  ) {font-size:.75rem!important;line-height:1.4!important}
  body.page-biogas-policy .source-line {font-size:.8125rem!important}

  body.page-scaling-biogas-bangladesh .cd-mobile-contents>span,
  body.page-scaling-biogas-bangladesh main figcaption strong {font-size:.75rem!important;line-height:1.35!important}

  body.theme-green-flame .proof-mobile-controller :is(span,a) {font-size:.75rem!important;line-height:1.3!important}
  body.theme-green-flame .proof-mobile-controller a {display:inline-flex;min-height:44px;align-items:center;padding-inline:10px}

  body.theme-frio .frio-corridor-compact b {font-size:.75rem!important;line-height:1.2!important}

  body.theme-glow-coastal .glow-atlas__source a {
    display:flex;
    width:100%;
    min-height:44px;
    align-items:center;
    margin-top:6px;
    padding:8px 0;
    border-top:1px solid rgba(20,23,20,.18);
    font-size:.8125rem!important;
    line-height:1.35!important;
  }
  body.theme-glow-coastal .glow-atlas__source {font-size:.8125rem!important;line-height:1.5!important}
  body.theme-glow-coastal .glow-field-sequence__readout>p {font-size:.75rem!important;line-height:1.35!important}

  body.page-mavh .corridor-geography span,
  body.page-mavh .corridor-lot span,
  body.page-mavh .corridor-lot small,
  body.page-mavh .corridor-step button span,
  body.page-mavh .decision-route span,
  body.page-mavh figure figcaption strong {font-size:12px!important;line-height:1.3!important}
  body.page-mavh .corridor-step button {font-size:12px!important}
}

@media (max-width: 380px) {
  body.page-mavh .corridor-geography span,
  body.page-mavh .corridor-lot span,
  body.page-mavh .corridor-lot small,
  body.page-mavh .corridor-step button span,
  body.page-mavh .decision-route span,
  body.page-mavh figure figcaption strong {font-size:12px!important}
}
@media (max-width: 760px) {
  body.page-field-systems .field-system-method__visual .method-decision-kicker {font-size:12px!important}
  body.page-mavh .corridor-mobile-progress__state :is(span,small),
  body.page-mavh .corridor-mobile-progress__nodes button,
  body.page-mavh .system-responsibilities article>span {font-size:12px!important;line-height:1.3!important}
  body.page-mavh .corridor-mobile-progress__nodes button {min-width:44px!important;min-height:44px!important}
}
@media (max-width: 760px) {
  body:is(.page-home,.page-about) .closing-section .closing-actions {
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%;
    gap:8px!important;
  }
  body:is(.page-home,.page-about) .closing-section .closing-actions .btn {
    width:100%!important;
    min-height:48px;
    justify-content:center;
    white-space:nowrap;
  }
  body.theme-green-flame .green-flame-evidence-page .service-preferred {
    background:#173f35!important;
    color:#fff!important;
  }
  body.theme-green-flame .green-flame-evidence-page .service-preferred h3 {color:#fff!important}
  body.theme-green-flame .green-flame-evidence-page .service-preferred li {color:rgba(255,255,255,.82)!important}
}

/* 2026-08-08 · CD mobile DTP deep-run closure
   Scope: SGC route accessibility, Solar hero/subnav rhythm + long system question,
   GLOW/MAVH/MAVH Floriculture opening depth, FRiO funding-boundary display scale.
   Desktop and non-target pages intentionally unchanged. */

@media (max-width: 1000px) {
  /* SGC Material Passport: restore the authored horizontal route on touch screens. */
  body.theme-sgc-v3 .sgc-stage-index {
    overflow-x:auto!important;
    overflow-y:hidden!important;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:8px 34px;
    scrollbar-width:thin;
    -webkit-overflow-scrolling:touch;
  }
  body.theme-sgc-v3 .sgc-stage-index a {
    flex:0 0 132px;
    scroll-snap-align:start;
  }
}

@media (max-width: 760px) {
  /* Solar: subnav now follows the hero, so the opening gets the full post-nav viewport. */
  body.theme-solar .solar-investment-page .hero {
    height:calc(100svh - var(--global-nav-height,56px))!important;
    min-height:0!important;
    max-height:none!important;
  }

  /* Solar: keep the long investment question as display type without a seven-line wall. */
  body.theme-solar .solar-investment-page .system-question .section-head h2 {
    max-width:none;
    font-size:clamp(2.28rem,9.8vw,2.55rem);
    line-height:1.02;
    letter-spacing:-.032em;
    text-wrap:pretty;
  }

  /* MAVH: preserve the diptych, but reduce opening runway and evidence-rail drag. */
  body.page-mavh .mavh-hero-inner {
    padding-top:18px;
    padding-bottom:18px;
    gap:14px;
  }
  body.page-mavh .mavh-project-meta {margin-bottom:16px}
  body.page-mavh .hero-definition {margin-top:15px}
  body.page-mavh .mavh-hero-partner-block {margin-top:12px}
  body.page-mavh .hero-actions {margin-top:12px}
  body.page-mavh .mavh-hero-diptych {padding-bottom:13%}
  body.page-mavh .mavh-hero-primary-image {height:220px}
  body.page-mavh .mavh-route-rail {margin-top:8px}
  body.page-mavh .mavh-route-rail span {padding-top:8px;padding-bottom:7px}
  body.page-mavh .mavh-hero-media > .project-caption {padding-top:7px}
  body.page-mavh .mavh-hero-rail > div {padding-top:9px;padding-bottom:10px}
  body.page-mavh .mavh-hero-rail b {font-size:12.75px;line-height:1.28}

  /* MAVH Floriculture: keep the photographic hierarchy, remove excess mobile image runway. */
  body.theme-mahasthangarh-floriculture .mavh-floriculture-page .hero-v4 {
    padding:38px 0 24px;
  }
  body.theme-mahasthangarh-floriculture .mavh-floriculture-page .hero-v4__layout {gap:27px}
  body.theme-mahasthangarh-floriculture .mavh-floriculture-page .hero-v4 .meta {margin-bottom:19px}
  body.theme-mahasthangarh-floriculture .mavh-floriculture-page .hero-v4 .deck {margin-top:19px}
  body.theme-mahasthangarh-floriculture .mavh-floriculture-page .hero-v4 .actions {margin-top:20px}
  body.theme-mahasthangarh-floriculture .mavh-floriculture-page .hero-v4__primary {height:240px}
  body.theme-mahasthangarh-floriculture .mavh-floriculture-page .hero-v4__inset {
    top:142px;
    height:108px;
  }

  /* FRiO: retain the manifesto moment, but stop it consuming nearly a phone viewport. */
  body.theme-frio .frio-roadmap-page #mandate .mandate-copy h2 {
    max-width:20ch;
    font-size:clamp(2.45rem,10.7vw,2.9rem);
    line-height:1.01;
    text-wrap:pretty;
  }
}

@media (max-width: 460px) {
  /* GLOW: keep the editorial opening, shorten the lower image block and accumulated gaps. */
  body.theme-glow-coastal .glow-hero__copy {padding:22px var(--gutter) 20px}
  body.theme-glow-coastal .glow-hero__identity {margin-bottom:10px}
  body.theme-glow-coastal .glow-hero__standfirst {margin-top:11px!important}
  body.theme-glow-coastal .glow-hero__metrics {margin-top:13px}
  body.theme-glow-coastal .glow-hero .project-hero-actions {margin-top:13px}
  body.theme-glow-coastal .glow-hero__media img {min-height:20svh;max-height:22svh}
  body.theme-glow-coastal .glow-hero__media>.glow-caption {padding-top:8px!important;padding-bottom:9px!important}
}
