/* SOMZ Consultants: print / "Save as PDF" corporate dossier (Step 09).
   Linked with media="print". The A4 content width (~690px) would trigger the mobile
   media queries, so desktop layouts are forced back explicitly below. */

@page { size: A4; margin: 16mm 14mm 18mm; }
/* Chromium 131+ supports margin boxes; harmless elsewhere */
@page {
  @bottom-left  { content: "SOMZ Consultants — Corporate Profile"; font: 8pt Manrope, sans-serif; color: #64707C; }
  @bottom-right { content: "Page " counter(page) " of " counter(pages); font: 8pt Manrope, sans-serif; color: #64707C; }
}
@page :first {
  @bottom-left  { content: none; }
  @bottom-right { content: none; }
}

/* ── Base ── */
:root {
  --section-y: 5mm; --header-h: 0px; --gutter: 0px;
  /* Tighter spacing scale for paper (px tokens don't shrink with the 10pt base) */
  --space-4: 10px; --space-5: 14px; --space-6: 18px; --space-7: 24px; --space-8: 28px; --space-9: 34px;
}
html { font-size: 10pt; scroll-behavior: auto; }
html, body { background: #fff !important; }
*, *::before, *::after {
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
  box-shadow: none !important;
  transition: none !important;
  animation: none !important;
}
body { color: var(--ink-2); line-height: 1.5; }
p { orphans: 3; widows: 3; }
.container { max-width: none; padding-inline: 0; }
.section, .section--warm, .section--cool, .agencies { background: #fff !important; }
.section { padding-block: var(--section-y); }
.section-head { margin-bottom: 6mm; }
.screen-only { display: none !important; }
.print-only { display: inline !important; }

/* ── Hide interactive chrome ── */
.skip-link, .utility-strip, .site-header, .nav-toggle, .btn, .icon-btn, .split, .print-menu,
.hp__tabs, .hp__more, .ribbon__list[aria-hidden="true"], .ribbon-toggle, .hero__art, .hero__actions,
.tabs, .study-toolbar, .study-count, .study-empty, .study-row__cat, .inquiry,
noscript, .noscript-note, .copy-status, .wf-stepper, .wf-panel, .wf-acc__chev,
.pro__chips, .cs-cta, .expertise__link, .hq__maps, .hq__print, .back-to-top,
.next-page, .breadcrumb, .page-hero__mark, .cta-band__actions, .tile__more, .footer-brand .btn,
[data-page="profile"] .page-hero { display: none !important; }

/* ── Inner-page heroes: plain title block on paper ── */
.page-hero, .cta-band { background: #fff !important; padding-block: 0 5mm; border: 0; }
.page-hero h1 { font-size: 20pt; }
.tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3mm; }
.tile { padding: 4mm; break-inside: avoid; }
.teaser { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); padding: 5mm; break-inside: avoid; }
.teaser__stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.progress__fill { transition: none !important; }

/* ── Cover page ── */
.print-cover {
  display: flex !important;
  flex-direction: column;
  justify-content: space-between;
  min-height: 260mm;
  padding: 6mm 0 0;
  break-after: page;
}
.print-cover__logo { width: 95mm; height: auto; }
.print-cover__title { max-width: 18ch; font: 500 32pt/1.12 var(--font-serif); letter-spacing: -0.015em; color: var(--ink); }
.print-cover__meta { padding-top: 6mm; border-top: 1px solid var(--line-strong); font-size: 9.5pt; }
.print-cover__meta p + p { margin-top: 2mm; }
.print-cover__version strong { color: var(--accent); }
.print-cover__contents-title { margin-top: 8mm !important; font: 600 8pt/1.4 var(--font-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--ink); }
.print-cover__contents { columns: 2; column-gap: 10mm; margin-top: 3mm; padding-left: 5mm; color: var(--ink); }
.print-cover__contents li { padding-block: 1mm; }

/* ── Home hero: headline, then both project lists in full ── */
.hero { padding-block: 0 6mm; }
.hero__grid { display: block; }
.home-projects { margin-top: 6mm; border: 0; }
.home-projects [role="tabpanel"][hidden] { display: block !important; }
.hp__viewport { max-height: none !important; overflow: visible !important; -webkit-mask-image: none !important; mask-image: none !important; }
.hp__item { break-inside: avoid; }

/* ── Impact strip: keep 4 columns ── */
.impact { padding-block: 5mm; }
.impact__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.impact__item:nth-child(n) { border-top: 0; border-left: 1px solid var(--line); padding: 2mm; }
.impact__item:first-child { border-left: 0; }
.impact__item .stat__value { font-size: 22pt; }
.impact__item .stat__note { font-size: 8pt; }

/* ── Agency ribbon: static wrapped list ── */
.agencies { padding-block: 5mm; }
.agencies__inner { grid-template-columns: 45mm minmax(0, 1fr); align-items: center; }
.ribbon { overflow: visible !important; -webkit-mask-image: none !important; mask-image: none !important; }
.ribbon__track { display: block; width: auto; animation: none !important; transform: none !important; }
.ribbon__list { flex-wrap: wrap; gap: 2mm; padding: 0; }
.ribbon__item { width: auto; min-height: 0; padding: 1.5mm 3mm; }
.ribbon__logo { max-height: 9mm; }
.ribbon__name { display: none; }

/* ── About ── */
.about__grid { display: block; }
.about__person { display: none; } /* the quote's <cite> carries the signatory */
.quote__mark { display: none; }
.exec-summary { margin-top: 8mm; break-inside: avoid; }
.exec-summary__cols { columns: 2; column-gap: 8mm; }
.mv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 6mm; gap: 5mm; }

/* ── Expertise ── */
.expertise__item { grid-template-columns: minmax(0, 1fr); gap: 2mm; padding-block: 3mm 4mm; break-inside: avoid; }
.expertise__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2mm 4mm; }
.expertise__title { margin: 0; max-width: none; font-size: 13pt; }

/* ── Workflow: all five steps, numbered ── */
.wf-acc { display: block !important; }
.wf-acc__body[hidden] { display: block !important; }
.wf-acc__item { break-inside: avoid; }
.wf-acc__btn { min-height: 0; }
.wf-acc__btn .wf-node { width: 28px; height: 28px; background: var(--ink) !important; border-color: var(--ink) !important; color: #fff !important; }
.wf-acc::before { left: 13px; }
.wf-acc__item { padding-bottom: 1mm; }
.wf-acc__body { padding: 1mm 0 1mm 44px; }
.facts-strip { margin-top: 4mm; }

/* ── Case study ── */
[data-page="profile"] #case-study { break-before: page; }
.cs-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); break-inside: avoid; }
.cs-stat { padding: 3mm; }
.cs-stat .stat__value { font-size: 15pt; white-space: normal; }
.cs-main { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 7mm; margin-top: 6mm; }
.cs-pull { font-size: 11.5pt; }
.record { grid-template-columns: minmax(70px, auto) minmax(0, 1fr); }

/* ── Projects: both panels, headings in place of tabs ── */
.tab-print-heading { display: block; margin: 6mm 0 3mm; font-size: 14pt; }
[role="tabpanel"][hidden] { display: block !important; }
.mandate-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3mm; }
.mandate-grid .card, .leader-grid .card, .mv-card, .hq { padding: 4mm; }
.mandate__top { margin-bottom: 2mm; }
.leader .monogram { width: 12mm; height: 12mm; font-size: 11pt; margin-bottom: 3mm; }
.mandate, .mandate-feature, .card { break-inside: avoid; }
.study-group[hidden] { display: block !important; }
.study-row[hidden] { display: grid !important; }
.study-groups.is-flat .study-group__head { display: flex !important; }
.study-row { grid-template-columns: 10mm minmax(0, 1fr); padding: 2.5mm 0; break-inside: avoid; }
.study-row:hover { background: none; }
mark { background: none !important; padding: 0; }

/* ── Leadership + professionals ── */
.leader-feature { grid-template-columns: 24mm minmax(0, 1fr); padding: 6mm; }
.monogram--lg { width: 20mm; height: 20mm; font-size: 16pt; }
.leader-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4mm; }
.pros { margin-top: 8mm; }
.pro-table thead { display: table-header-group; }
.pro-table tr { break-inside: avoid; }
.pro-table tbody th, .pro-table td { padding: 3mm 3mm 3mm 0; }
.pro__exp { position: static !important; width: auto !important; height: auto !important; clip: auto !important; clip-path: none !important; white-space: normal !important; }

/* ── Contact: HQ card only ── */
.contact__grid { display: block; }
.hq { break-inside: avoid; }

/* ── Footer: white with ink text (dark bands waste toner) ── */
.site-footer { background: #fff !important; color: var(--ink-2); padding: 6mm 0 0; border-top: 1px solid var(--line-strong); break-inside: avoid; }
.site-footer a, .site-footer .footer-heading, .footer-brand__name { color: var(--ink) !important; }
.site-footer__grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, .7fr) minmax(0, 1.3fr); gap: 6mm; }
.site-footer__bottom, .site-footer__credit { margin-top: 3mm; padding-top: 2mm; border-color: var(--line) !important; }
.footer-brand .btn { display: none; }
.footer-nav { display: none; } /* in-page links are meaningless on paper */
.site-footer__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); }

/* ── Density: headings, ledes and rows sized for paper ── */
.section-head h2, .about__title { font-size: 18pt; }
.lede, .quote__lede, .leader-feature__bio, .wf-panel__body { font-size: 10.5pt; }
.cs-head { margin-bottom: 4mm; }
.cs-main { margin-top: 5mm; }
.cs-narrative p + p { margin-top: 3mm; }
.cs-pull { font-size: 11pt; }
.study-row { padding: 1.6mm 0; }
.study-row .badges { margin-top: 1mm; }
.study-group { margin-top: 4mm; }
.mandate__scope { margin: 2mm 0 3mm; }
.mandate__foot { padding-top: 2mm; }
.leader-grid { margin-top: 3mm; }
.leader__bio { margin-top: 2mm; padding-top: 2mm; }
.leader-feature { padding: 4mm 5mm; }
.pros { margin-top: 6mm; padding-top: 4mm; }
.pro-table { margin-top: 3mm; }
.pro-table tbody th, .pro-table td { padding: 2mm 3mm 2mm 0; }

/* ── Links: print the target for external, mailto: and tel: links ── */
a { color: inherit; text-decoration: none; }
a[href^="http"]::after,
a[href^="mailto:"]::after,
a[href^="tel:"]::after { content: " (" attr(href) ")"; font-size: 8pt; color: #64707C; overflow-wrap: anywhere; }
.hq__maps::after { content: none !important; }

/* ── Pagination ── */
h1, h2, h3, h4, .eyebrow, .section-head, .study-group__head { break-after: avoid; page-break-after: avoid; }
.card, .cs-stats, .wf-acc__item, .study-row, .expertise__item, .leader, .mandate, .impact__grid, .mv-card { break-inside: avoid; }
