/* nuna doula · shared styles */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  font-stretch: 62% 125%;
  src: url(/assets/fonts/archivo-latin-standard-normal.woff2) format('woff2');
}
@font-face {
  font-family: 'Archivo';
  font-style: italic;
  font-display: swap;
  font-weight: 100 900;
  font-stretch: 62% 125%;
  src: url(/assets/fonts/archivo-latin-standard-italic.woff2) format('woff2');
}

:root {
  --green: #0B7A4B;
  --tomato: #F2542D;
  --pink: #F6B8C9;
  --forest: #0E2A1F;
  --paper: #FAFAF8;
  color-scheme: light;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--forest);
  font-family: 'Archivo', 'Helvetica Neue', Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
a { color: var(--green); }
a:hover { color: var(--forest); }
img, svg { max-width: 100%; }
:focus-visible { outline: 3px solid var(--tomato); outline-offset: 3px; }
button { font-family: inherit; }

.skip {
  position: absolute; left: -999px; top: 8px;
  background: var(--forest); color: var(--paper); padding: 10px 14px; z-index: 10;
}
.skip:focus { left: 8px; }

.r-card { transition: transform .2s ease; }
.r-card:hover { transform: translateY(-3px); }
.hb-item { transition: background .15s ease; }
.hb-item:hover { background: #0E2A1F0A; }

/* phone adjustments */
@media (max-width: 640px) {
  .stack-sm { grid-template-columns: 1fr !important; }
  .site-nav { gap: 14px !important; font-size: 14px !important; }
  .site-nav .nav-hide-sm { display: none; }
  .journey-card { max-width: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}

@media print {
  header, .no-print { display: none !important; }
  body { background: #fff; }
}

/* about photo: sticky only on wide screens */
@media (max-width: 900px) {
  .about-photo { position: static !important; max-width: 320px !important; }
}

.print-only { display: none; }

/* hospital bag: compact one-page print */
@media print {
  @page { size: A4; margin: 12mm 12mm 14mm; }
  .print-only { display: block !important; }
  .skip, .no-print, .hb-controls, .hb-hero svg, .hb-hero > div > a, .hb-hero > div > div { display: none !important; }
  .hb-hero { padding: 0 0 8pt !important; display: block !important; }
  .hb-hero > div { gap: 4pt !important; }
  .hb-hero h1 { font-size: 22pt !important; line-height: 1 !important; }
  .hb-hero p { font-size: 10pt !important; max-width: none !important; }
  .hb-lists { padding: 0 !important; display: block !important; }
  .hb-lists > div { display: block !important; }
  .hb-panel[hidden] { display: none !important; }
  .hb-panel { display: block !important; column-count: 2; column-gap: 10mm; }
  .hb-group { break-inside: auto; margin: 0 0 8pt; gap: 0 !important; }
  .hb-group h2 { font-size: 12pt !important; break-after: avoid; }
  .hb-group > div:first-child { padding-bottom: 2pt !important; }
  .hb-group > div:last-child { border-top-width: 1.5pt !important; }
  .hb-row { padding: 4pt 0 !important; gap: 6pt !important; break-inside: avoid; }
  .hb-row input { width: 10pt !important; height: 10pt !important; margin-top: 1pt !important; }
  .hb-row .hb-text { font-size: 11pt !important; }
  body > div, main, .hb-row { background: #fff !important; }
  .hb-row span span:not(.hb-text) { font-size: 9pt !important; line-height: 1.3 !important; }
  [data-count] { display: none; }
  main::after {
    content: "nuna doula · nunadoula.ch";
    display: block; margin-top: 8pt; font-size: 8pt; opacity: .6;
  }
}
