/* Shared final layout rules for the marketing site and WordPress journal. */
html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body { overflow-wrap:break-word; }
main, section, article, .section-heading > *, .about-main, .about-columns > *,
.contact > *, .faq > *, .investor-intro, .investor-framework article > div {
  min-inline-size:0;
}
h1,h2,h3 { overflow-wrap:break-word; text-wrap:pretty; }
.service h3 { max-inline-size:13ch; }
.service-link,.text-link { align-items:center; gap:16px; }
.service-link b,.text-link > span { flex-shrink:0; }
.consent input { flex:0 0 18px; width:18px; height:18px; }
.skip { top:10px; transform:translateY(-200%); }
.skip:focus { transform:translateY(0); }
.article-body img { height:auto; max-width:100%; }
.article-body a { overflow-wrap:anywhere; text-decoration:underline; }
.article-body blockquote { margin-inline:0; padding:20px 24px; border-left:2px solid #8b9b7f; background:#e3e8db; }
.journal-list > form { margin-bottom:35px; }
.journal-list > nav { position:static; padding:0; border:0; background:none; flex-wrap:wrap; gap:24px; }
dialog { max-height:calc(100dvh - 32px); overflow-y:auto; }
.contact-trap { position:absolute; left:0; top:0; width:1px; height:1px; clip-path:inset(50%); overflow:hidden; white-space:nowrap; }
.button:disabled { cursor:default; opacity:.75; transform:none; }
#form-status:not(:empty) { padding:14px; border-left:3px solid var(--ink); background:#e0e6d9; overflow-wrap:anywhere; }
.dialog-close { min-width:44px; min-height:44px; }
@media (max-width:1100px) {
  /* Collapse before the two language controls and full navigation compete. */
  header { height:82px; padding-inline:5%; gap:12px; }
  header .nav-cta { display:none; }
  header .language-switch { margin-left:auto; }
  header .menu-toggle { display:flex; align-items:center; justify-content:center; order:4; min-width:44px; min-height:44px; font-size:0; gap:0; background:none; border:0; color:var(--ink); }
  header .menu-toggle span { font-size:22px; }
  header nav { display:none; position:absolute; top:82px; left:0; right:0; padding:20px 6% 30px; background:var(--paper); border-bottom:1px solid var(--line); font-size:16px; max-height:min(420px,calc(100dvh - 140px)); overflow-y:auto; }
  header nav.open { display:flex; flex-direction:column; gap:8px; }
  header nav a { padding-block:10px; }
  .language-switch > a { min-width:32px; min-height:44px; display:grid; place-items:center; }
  .region-copy h2 { font-size:clamp(28px,3.6vw,38px); }
}
@media (max-width:780px) {
  .hero { height:auto; min-height:700px; display:flex; flex-direction:column; }
  .hero-content { padding:52px 7% 36px; }
  .hero-bottom { position:static; margin:auto 7% 46px; padding-top:20px; gap:20px; align-items:flex-start; }
  .hero h1 { font-size:clamp(36px,8.5vw,64px); }
  .service h3 { max-inline-size:none; font-size:clamp(25px,5.5vw,30px); line-height:1.25; }
  .section-heading { gap:20px; }
  .section-heading h2 { font-size:clamp(28px,6.5vw,36px); }
  .about-columns p:not(.lead),.service p,.steps p,.region-copy > p:not(.eyebrow),
  .journal-card p,.contact-copy > p:not(.section-label),.faq > div > p:not(.section-label) { font-size:14px; }
  .investor-framework p,.questions details p { font-size:13px; }
  .investor-notice,.investor-disclosures details p,.consent,.form-note { font-size:12px; }
  label { font-size:12px; }
  .service-footer > a { display:flex; justify-content:space-between; gap:16px; align-items:center; }
  .service-footer > a span { padding-left:0; flex-shrink:0; }
  .project-caption { flex-wrap:wrap; align-items:flex-start; }
  .project-caption > span { font-size:8px; }
  .region-copy h2 { font-size:clamp(30px,7.8vw,39px); }
  .region-copy .eyebrow { flex-wrap:wrap; }
  .investor-intro .button { max-width:100%; gap:20px; }
  .contact h2, html[lang=en] .contact h2 { font-size:clamp(34px,8.5vw,44px); }
  input,select,textarea,.journal-search input { font-size:16px; min-width:0; }
  .form-row { grid-template-columns:1fr; gap:0; }
  .button { max-width:100%; gap:20px; }
  .button > span { flex-shrink:0; }
  .filter button { min-height:44px; }
  .journal-hero h1 { font-size:clamp(34px,8vw,43px); }
  .article-heading h1 { font-size:clamp(32px,7.8vw,39px); }
  .journal-contact .button { white-space:normal; }
  .footer-bottom { grid-template-columns:1fr; gap:12px; }
  .footer-bottom,.footer-bottom button { font-size:11px; }
  .footer-bottom button,.footer-bottom a { min-height:44px; display:flex; align-items:center; }
}
@media (max-width:380px) {
  header { gap:6px; }
  header .brand { gap:6px; }
  header .brand > span { font-size:20px; }
  header .brand svg { width:28px; }
  header .brand small { font-size:6px; letter-spacing:1.3px; }
  .language-switch { gap:3px; }
  .language-switch > a { min-width:28px; }
  .topline { gap:12px; flex-wrap:wrap; }
  .hero-bottom { flex-wrap:wrap; }
  .steps { grid-template-columns:1fr; }
  .steps article > span { margin-bottom:18px; }
  .manifesto h2 { font-size:clamp(27px,8vw,34px); }
  .investor-framework { padding:22px 18px; }
  .investor-framework article { gap:14px; }
}
