/* Secondary documents share paper, type and navigation, not a marketing hero.
   Classes live on html: the multilingual press kit owns body.className. */
.secondary-press, .secondary-atelier, .secondary-document, .secondary-course, .secondary-cv {
  --page-gutter: clamp(20px, 3.2vw, 56px);
  --reading-ink: #0c0c12;
  --reading-muted: #5a5a6a;
  --reading-paper: #f8f8fb;
  --reading-line: #e2e2ea;
}
.secondary-nav {
  display:flex; flex-wrap:wrap; align-items:center; gap:12px 28px;
  padding:20px 0; margin-bottom:clamp(32px,6vw,80px);
  border-bottom:1px solid var(--reading-line);
  font:400 14px/1.4 'Geist',sans-serif; color:var(--reading-ink);
}
.secondary-nav a { display:inline-flex; align-items:center; min-height:44px; text-decoration:none; color:inherit; }
.secondary-nav .secondary-author { margin-right:auto; font-weight:500; letter-spacing:-.03em; }
.secondary-nav a:hover { text-decoration:underline; text-underline-offset:5px; }
.secondary-nav a:focus-visible { outline:2px solid #A07850; outline-offset:4px; }

/* Press: masthead, marginal section titles, and a generous photographic spread. */
html.secondary-press { --bg:#f8f8fb; --panel:#f8f8fb; --ink:#0c0c12; --muted:#5a5a6a; --line:#e2e2ea; --logo-filter:invert(.94); }
.secondary-press .wrap { max-width:1440px; padding-inline:var(--page-gutter); }
.secondary-press header { padding-top:0; }
.secondary-press header .wrap { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); column-gap:48px; }
.secondary-press .secondary-nav, .secondary-press .topbar, .secondary-press .hero-index, .secondary-press .hero-rule { grid-column:1 / -1; }
.secondary-press .secondary-nav { margin-bottom:24px; color:var(--ink); border-color:var(--line); }
.secondary-press .topbar { align-items:center; margin-bottom:36px; }
.secondary-press .eyebrow { font-family:'Geist',sans-serif; font-size:14px; letter-spacing:0; text-transform:none; color:var(--muted); }
.secondary-press .jcb-mark { height:28px; }
.secondary-press .lang-switch button { font-family:'Geist',sans-serif; min-width:44px; min-height:44px; padding:8px; border:0; border-radius:0; letter-spacing:0; }
.secondary-press .lang-switch button.active { text-decoration:underline; text-underline-offset:7px; }
.secondary-press h1 { margin:0; font-size:clamp(48px,7.7vw,112px); letter-spacing:-.065em; line-height:.94; }
.secondary-press .sub { margin:0; padding-top:8px; max-width:42ch; font-size:17px; line-height:1.65; align-self:end; }
.secondary-press .hero-index { margin-top:44px; gap:8px 28px; font-family:'Geist',sans-serif; font-size:14px; letter-spacing:0; text-transform:none; }
.secondary-press .hero-index a { min-height:44px; display:inline-flex; align-items:center; }
.secondary-press .hero-index .arr { display:none; }
.secondary-press .hero-index a.shop, .secondary-press figcaption .avail { color:var(--ink); }
.secondary-press .hero-rule { margin-top:16px; width:100%; }
.secondary-press section { padding-top:clamp(48px,7vw,100px); }
.secondary-press .row { grid-template-columns:minmax(150px,1fr) minmax(0,3fr); gap:40px; }
.secondary-press .label { font-family:'Geist',sans-serif; font-size:15px; line-height:1.5; letter-spacing:0; text-transform:none; color:var(--ink); }
.secondary-press .content .lede { font-size:clamp(20px,2.2vw,28px); line-height:1.5; max-width:48ch; letter-spacing:-.02em; }
.secondary-press .now { padding:24px 0; border:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); border-radius:0; background:none; }
.secondary-press .now .kicker { color:var(--muted); font:400 14px/1.5 'Geist',sans-serif; letter-spacing:0; text-transform:none; }
.secondary-press .now h3 { font-size:clamp(28px,3.5vw,44px); letter-spacing:-.035em; }
.secondary-press .works { grid-template-columns:1.2fr 1fr; gap:48px 32px; align-items:start; }
.secondary-press .works figure:nth-child(even) { margin-top:72px; }
.secondary-press figure img { border-radius:0; height:auto; object-fit:contain; }
.secondary-press figcaption { font-family:'Geist',sans-serif; font-size:13px; }
.secondary-press .facts { background:none; border:0; border-top:1px solid var(--line); border-radius:0; gap:24px; }
.secondary-press .fact { background:none; padding:24px 0; }
.secondary-press .fact .k, .secondary-press .works-cta, .secondary-press footer { font-family:'Geist',sans-serif; font-size:13px; letter-spacing:0; text-transform:none; }
.secondary-press .shows .yr, .secondary-press .press .yr { color:var(--muted); }
.secondary-press .section-nav button { border-radius:0; min-width:44px; min-height:44px; }
/* Reading must not depend on an IntersectionObserver callback arriving. */
html.secondary-press.js body section .row { opacity:1; transform:none; }
.secondary-press header .wrap > * { animation:none; }

/* Studio: an asymmetrical opening with the actual fabrication photograph. */
html.secondary-atelier, .secondary-atelier body { background:#f8f8fb; color:#0c0c12; }
.secondary-atelier body { min-height:100dvh; font-size:16px; }
.secondary-atelier header { border-color:#e2e2ea; padding:20px var(--page-gutter); flex-wrap:wrap; gap:12px 32px; }
.secondary-atelier header a.logo { color:#0c0c12; font-size:16px; }
.secondary-atelier header nav { flex-wrap:wrap; gap:4px 24px; font-family:'Geist',sans-serif; font-size:14px; letter-spacing:0; text-transform:none; }
.secondary-atelier header nav a { display:inline-flex; align-items:center; min-height:44px; color:#5a5a6a; }
.secondary-atelier header nav a.active, .secondary-atelier header nav a:hover, .secondary-atelier header nav a.nav-cta { color:#0c0c12; }
.secondary-atelier header nav .lang { border-color:#e2e2ea; }
.secondary-atelier .hero { max-width:1600px; padding:64px var(--page-gutter) 96px; grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); gap:clamp(32px,5vw,80px); align-items:start; }
.secondary-atelier .hero-text { padding-top:32px; }
.secondary-atelier .hero h1 { font-size:clamp(36px,4.7vw,68px); line-height:1.02; letter-spacing:-.055em; max-width:15ch; margin-bottom:28px; }
.secondary-atelier .hero-lead { font-size:16px; color:#5a5a6a; }
.secondary-atelier .fn-wordmark { filter:none; height:22px; margin-bottom:44px; }
.secondary-atelier .hero-label { margin-bottom:44px; }
.secondary-atelier .hero-label, .secondary-atelier .section-label, .secondary-atelier .offering-label, .secondary-atelier .cta-meta, .secondary-atelier .hero-cta .cta-meta { font-family:'Geist',sans-serif; font-size:14px; letter-spacing:0; text-transform:none; color:#5a5a6a; }
.secondary-atelier .section-label { color:#0c0c12; }
.secondary-atelier section { border-color:#e2e2ea; max-width:1600px; padding-inline:var(--page-gutter); }
.secondary-atelier .imgband, .secondary-atelier .cta { max-width:1600px; padding-inline:var(--page-gutter); }
.secondary-atelier .section-content h2, .secondary-atelier .section-content p strong, .secondary-atelier .step-body h3, .secondary-atelier .offering h3 { color:#0c0c12; }
.secondary-atelier .section-content p, .secondary-atelier .offering p, .secondary-atelier .step-body p { color:#5a5a6a; }
.secondary-atelier .section-content h2 { font-size:clamp(28px,3.2vw,44px); letter-spacing:-.04em; }
.secondary-atelier .hero-figure, .secondary-atelier .project-gallery figure, .secondary-atelier .g-split figure, .secondary-atelier .g-trio figure { background:#f3f3f7; }
.secondary-atelier .offerings { background:#e2e2ea; border-color:#e2e2ea; }
.secondary-atelier .offering { background:#f8f8fb; }
.secondary-atelier .compare, .secondary-atelier .compare > * { border-color:#e2e2ea; color:#5a5a6a; }
.secondary-atelier .compare-row-label { background:#f3f3f7; }
.secondary-atelier .compare-header { background:#f3f3f7; color:#0c0c12; }
.secondary-atelier .compare-row-label { color:#5a5a6a; font-family:'Geist',sans-serif; letter-spacing:0; text-transform:none; }
.secondary-atelier .compare td, .secondary-atelier .compare th, .secondary-atelier .step, .secondary-atelier .offering { border-color:#e2e2ea; }
.secondary-atelier .audience { gap:0 28px; }
.secondary-atelier .audience li { border:0; border-bottom:1px solid #e2e2ea; padding:16px 0; color:#0c0c12; font:400 16px/1.5 'Geist',sans-serif; letter-spacing:0; text-transform:none; }
.secondary-atelier .cta { background:transparent; border-color:#e2e2ea; }
.secondary-atelier .cta-btn, .secondary-atelier .hero-cta .cta-btn { background:#0c0c12; color:#f8f8fb; font-family:'Geist',sans-serif; font-size:15px; letter-spacing:0; text-transform:none; padding:14px 24px; }
.secondary-atelier footer { color:#5a5a6a; border-color:#e2e2ea; font-family:'Geist',sans-serif; font-size:13px; letter-spacing:0; }
.secondary-atelier footer .foot-mark, .secondary-atelier footer .foot-mark-wide { filter:invert(.94); }

/* Policies and trade: readable documents with a quiet route back to the work. */
html.secondary-document, .secondary-document body { background:#f8f8fb; color:#0c0c12; }
.secondary-document body { padding:0 var(--page-gutter) 80px; }
.secondary-document .wrap { max-width:880px; }
.secondary-document .label, .secondary-document .lang, .secondary-document .meta, .secondary-document .creds, .secondary-document .sub { font-family:'Geist',sans-serif; font-size:13px; letter-spacing:0; text-transform:none; color:#5a5a6a; }
.secondary-document .lang { margin-bottom:32px; }
.secondary-document .lang a, .secondary-document .meta a { color:#5a5a6a; }
.secondary-document .lang a.active { color:#0c0c12; text-decoration:underline; text-underline-offset:6px; }
.secondary-document h1 { max-width:18ch; font-size:clamp(38px,5vw,64px); letter-spacing:-.05em; line-height:1.04; margin-bottom:40px; }
.secondary-document h2 { font-size:20px; letter-spacing:-.02em; margin-top:48px; color:#0c0c12; }
.secondary-document p, .secondary-document li, .secondary-document .lede { color:#5a5a6a; font-size:16px; line-height:1.75; max-width:70ch; }
.secondary-document strong, .secondary-document .creds b { color:#0c0c12; }
.secondary-document a.link { color:#0c0c12; }
.secondary-document th, .secondary-document td { border-color:#e2e2ea; color:#5a5a6a; font-size:14px; }
.secondary-document th { font-family:'Geist',sans-serif; letter-spacing:0; text-transform:none; }
.secondary-document .steps li, .secondary-document .meta, .secondary-document .es-block { border-color:#e2e2ea; }
.secondary-document .back, .secondary-document .cta { font-family:'Geist',sans-serif; font-size:15px; letter-spacing:0; text-transform:none; border-color:#0c0c12; color:#0c0c12; background:transparent; }
.secondary-document .back:hover, .secondary-document .cta:hover { background:#0c0c12; color:#f8f8fb; }

/* The course remains a working manual; selection and checkout retain their UI. */
html.secondary-course { --bg:#f8f8fb; --ink:#0c0c12; --body:#0c0c12; --ink-deep:#0c0c12; --g2:#5a5a6a; --g2-deep:#252530; --serif:'Geist',sans-serif; --sans:'Geist',sans-serif; --mono:'JetBrains Mono',monospace; }
.secondary-course body { font-weight:400; }
.secondary-course h1, .secondary-course h2, .secondary-course h3 { font-weight:500; letter-spacing:-.04em; }
.secondary-course h1 { max-width:18ch; font-size:clamp(38px,5.3vw,72px); line-height:1.02; }
.secondary-course .topnav { padding-bottom:24px; border-bottom:1px solid #e2e2ea; }
.secondary-course .navlinks, .secondary-course .lang { font-family:'Geist',sans-serif; font-size:13px; letter-spacing:0; text-transform:none; }
.secondary-course .sub, .secondary-course .kicker, .secondary-course .availbar, .secondary-course .complete .proof, .secondary-course .complete .bundletag { font-family:'Geist',sans-serif; font-size:14px; letter-spacing:0; text-transform:none; }
.secondary-course .hero-img { border:0; margin-top:40px; }
.secondary-course .guide, .secondary-course .part { border:0; border-top:1px solid #e2e2ea; }
.secondary-course .guide__cover { border:0; }
.secondary-course .btn { font-family:'Geist',sans-serif; font-weight:500; font-size:14px; letter-spacing:0; text-transform:none; min-height:44px; }
.secondary-course .opt__name, .secondary-course .opt__price { font-weight:400; }
.secondary-course .opt__price, .secondary-course .price { font-family:'JetBrains Mono',monospace; }
.secondary-course .opt__sub, .secondary-course .fine, .secondary-course .cards { font-family:'Geist',sans-serif; font-size:12px; letter-spacing:0; text-transform:none; }
.secondary-course .opt__tag { border:0; padding:0; font-family:'Geist',sans-serif; font-size:12px; font-weight:400; letter-spacing:0; text-transform:none; }
.secondary-course .free { text-align:left; border:0; border-top:1px solid #e2e2ea; padding:32px 0; }
.secondary-course .guarantee { border:0; border-top:1px solid #e2e2ea; padding:24px 0; font-family:'Geist',sans-serif; font-size:14px; letter-spacing:0; }

/* The printable CV keeps its letter-sheet metrics; only screen presentation changes. */
@media screen {
  html.secondary-cv, .secondary-cv body { background:#f8f8fb; color:#0c0c12; }
  .secondary-cv .sheet { background:#f8f8fb; box-shadow:none; }
  .secondary-cv .cv-toolbar { background:#f8f8fb; backdrop-filter:none; border-color:#e2e2ea; font-family:'Geist',sans-serif; font-size:14px; letter-spacing:0; text-transform:none; }
  .secondary-cv .cv-toolbar .dl { color:#0c0c12; border-color:#0c0c12; }
  .secondary-cv .cv-gate { background:#f8f8fb; border-color:#e2e2ea; }
  .secondary-cv .header-sub, .secondary-cv h2 { font-family:'Geist',sans-serif; text-transform:none; letter-spacing:0; }
}
@media (max-width:900px) {
  .secondary-atelier .hero { grid-template-columns:1fr; padding-top:32px; padding-bottom:56px; }
  .secondary-atelier .hero-text { padding-top:0; }
  .secondary-atelier .hero h1 { max-width:20ch; }
  .secondary-press header .wrap { grid-template-columns:1fr; }
  .secondary-press .sub { margin-top:28px; }
}
@media (max-width:720px) {
  .secondary-nav { gap:4px 20px; margin-bottom:32px; }
  .secondary-nav .secondary-author { flex-basis:100%; }
  .secondary-press .row { grid-template-columns:1fr; gap:20px; }
  .secondary-press .works { grid-template-columns:1fr; gap:32px; }
  .secondary-press .works figure:nth-child(even) { margin-top:0; }
  .secondary-press .topbar { margin-bottom:28px; }
  .secondary-press .hero-index { gap:4px 22px; margin-top:24px; }
  .secondary-atelier header nav a:not(.nav-cta):not([class*="lang"]) { display:inline-flex; }
  .secondary-atelier header nav { gap:0 18px; }
  .secondary-atelier header nav .lang { padding-left:12px; }
}
@media (prefers-reduced-motion:reduce) {
  .secondary-press *, .secondary-atelier *, .secondary-document *, .secondary-course * { scroll-behavior:auto; animation:none; transition:none; }
}
