/* v4.2: only requested navigation, contextual FAQ and journal additions.
   v4.1 typography, colours, image composition and logo remain authoritative. */
.proto-nav { gap:clamp(20px,2vw,34px); }
.proto-header .header-contact { display:inline-flex; justify-content:center; align-items:center; min-height:48px; padding:10px 18px; border:1px solid #acd4d4; font-family:var(--body); font-size:18px; line-height:1.35; color:var(--paper); background:transparent; text-decoration:none; }
.proto-header .header-contact:hover { background:var(--paper); color:var(--dark); }
.proto-header .header-contact--mobile { display:none; }
.proto-nav-phone { gap:16px; }
.proto-nav-phone svg { flex-shrink:0; }
@media(max-width:1120px) {
  .proto-header__inner { gap:24px; }
  /* Appointment CTA stays inside the mobile menu, not in the closed header. */
  .proto-menu-toggle { margin-left:auto; }
  .proto-header .proto-nav>.header-contact--nav { justify-content:center; margin-top:24px; padding:14px 20px; font-size:20px; }
  .proto-nav-contact { padding-top:24px; }
  .proto-nav-group--linked .proto-nav-label>.proto-nav-trigger { min-width:44px; min-height:44px; justify-content:center; }
}
@media(max-width:600px) {
  .proto-header__inner { gap:12px; }
  .proto-menu-toggle { width:60px; height:64px; min-width:60px; padding:0; flex-direction:column-reverse; gap:5px; justify-content:center; letter-spacing:.035em; }
  .proto-menu-toggle .menu-label { position:static; width:auto; height:auto; padding:0; margin:0; overflow:visible; clip-path:none; white-space:nowrap; font-size:18px; line-height:1.1; }
  .proto-menu-toggle__icon { width:26px; }
}
@media(max-width:359px) { .proto-header__inner { gap:10px; } }

/* Journal: the established dark petrol / warm paper composition, in reading scale. */
.journal-opening { background:var(--deep-petrol); color:var(--paper); padding:clamp(100px,8vw,150px) 0 clamp(64px,7vw,120px); }
.journal-opening .eyebrow { color:#acd4d4; margin-bottom:24px; }
.journal-opening h1 { font-size:clamp(60px,7vw,104px); max-width:14ch; }
.journal-opening .journal-intro { max-width:62ch; font-size:clamp(20px,1.5vw,24px); margin-top:34px; }
.journal-preview { font:500 18px/1.6 var(--body); max-width:65ch; margin-top:36px; }
/* Development/editorial status only: signal red, deliberately outside the CI.
   Removing a notice is a separate editorial release step, never a color change. */
:root {
  --editorial-warning:#981515;
  --editorial-warning-on-dark:#ff7878;
}
body :is(.editorial-notice,.journal-preview,.bj-draft-note,[data-editorial-note]) {
  color:var(--editorial-warning);
}
body :is(.home-opening,.page-opening:not(.legal-opening),.journal-opening,
  .journal-article-opening,.dark,.statement,.home-offerings,
  .contact-v3-channels,.proto-contact-closer)
  :is(.editorial-notice,.journal-preview,.bj-draft-note,[data-editorial-note]),
body :is(.editorial-notice,.journal-preview,.bj-draft-note,[data-editorial-note])[data-on-dark] {
  color:var(--editorial-warning-on-dark);
}
body :is(.editorial-notice,.journal-preview,.bj-draft-note,[data-editorial-note]) a,
body :is(.editorial-notice,.journal-preview,.bj-draft-note,[data-editorial-note]) a:is(:hover,:focus-visible) {
  color:inherit;
}
.journal-topics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px 46px; padding:50px 0; }
.journal-topics a { font:600 20px/1.6 var(--body); color:var(--petrol-text); min-height:48px; display:flex; align-items:center; }
.journal-topics a:hover { color:var(--ink); }
.journal-cluster { padding:var(--space) 0; }
.journal-cluster:nth-of-type(even) { background:var(--soft); }
.journal-cluster h2 { font-size:clamp(44px,4.2vw,68px); max-width:23ch; margin-bottom:48px; }
.journal-cluster-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:clamp(48px,7vw,110px); align-items:start; }
.journal-lead { min-width:0; }
.journal-lead .eyebrow { margin-bottom:20px; }
.journal-lead h3 { font-size:clamp(36px,3.1vw,50px); margin-bottom:24px; }
.journal-lead p:not(.eyebrow) { max-width:55ch; margin-bottom:26px; }
.journal-lead .journal-entry { font:650 18px/1.6 var(--body); color:var(--petrol-text); display:inline-block; padding-block:10px; }
.journal-more { list-style:none; padding:0; margin:0; display:grid; gap:26px; }
.journal-more a { display:block; font:500 clamp(20px,1.5vw,23px)/1.6 var(--body); padding-block:8px; }
.journal-more a:hover { color:var(--petrol-text); }
.journal-article-opening .shell { max-width:1440px; }
.journal-back { display:inline-flex; min-height:44px; align-items:center; font-size:18px; color:#acd4d4; margin-bottom:26px; }
.journal-article-opening h1 { font-size:clamp(48px,5vw,80px); max-width:25ch; }
.journal-article-opening .journal-intro { max-width:70ch; margin-top:32px; }
.journal-article-opening .journal-preview { margin-top:28px; }
.journal-reading { padding:var(--space) 0; }
.journal-reading-grid { display:grid; grid-template-columns:minmax(0,70ch) minmax(220px,1fr); gap:clamp(48px,6vw,100px); align-items:start; }
.journal-copy { min-width:0; font:400 20px/1.9 var(--body); }
.journal-copy h2 { font-size:clamp(36px,3.2vw,50px); margin:56px 0 24px; }
.journal-copy h2:first-child { margin-top:0; }
.journal-copy p { margin:0 0 26px; }
.journal-copy a { color:var(--petrol-text); font-weight:600; text-decoration:none; }
.journal-copy a:hover { color:var(--ink); }
.journal-copy ul { padding-left:24px; margin:24px 0 0; }
.journal-copy li { padding-left:6px; margin-bottom:20px; }
.journal-visual { margin:0; }
.journal-visual img { width:100%; height:auto; }
.journal-visual--open { aspect-ratio:4/5; background:var(--soft); padding:clamp(24px,3vw,42px); display:flex; align-items:center; color:var(--muted); }
.journal-visual--open figcaption { font:400 18px/1.7 var(--body); }
.journal-visual--open strong { display:block; margin-bottom:16px; font-weight:650; }
.journal-visual--open span { display:block; margin-top:20px; }
.journal-related { margin-top:54px; padding-top:8px; }
.context-faq { padding:var(--space) 0; }
.context-faq .chapter-heading h2 { font-size:clamp(42px,4vw,64px); }
.context-faq .faq-v3 { margin-top:0; padding-block:0; }
.context-faq .faq-v3 summary { font-family:var(--body); }
.context-faq .faq-v3 p { margin-block:18px; }
.context-faq .faq-v3 a,.journal-context a { color:var(--petrol-text); font-weight:600; }
.journal-context { padding-top:40px; max-width:65ch; }
.journal-context p { margin-bottom:14px; }
.journal-context ul { margin:0; padding-left:22px; }
.journal-context li { margin-bottom:12px; }
@media(max-width:1120px) {
  .journal-reading-grid { grid-template-columns:minmax(0,1fr) minmax(220px,.55fr); gap:40px; }
}
@media(max-width:800px) {
  .journal-topics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 30px; }
  .journal-cluster-grid,.journal-reading-grid { grid-template-columns:1fr; gap:42px; }
  .journal-visual { max-width:540px; }
  .journal-reading-grid .journal-visual { grid-row:1; }
  .journal-visual--open { aspect-ratio:5/4; }
  .journal-cluster h2 { margin-bottom:36px; }
}
@media(max-width:600px) {
  .journal-opening { padding:92px 0 60px; }
  .journal-opening h1 { font-size:64px; }
  .journal-article-opening h1 { font-size:42px; line-height:1.12; max-width:none; }
  .journal-opening .journal-intro { font-size:20px; }
  .journal-topics { grid-template-columns:1fr; padding-block:32px; gap:10px; }
  .journal-cluster h2 { font-size:42px; }
  .journal-lead h3 { font-size:36px; }
  .journal-copy { font-size:18px; line-height:1.9; }
  .journal-copy h2 { font-size:36px; }
  .journal-visual--open { padding:26px; }
}
