/* MOAUL v0.6 · live QA fixes; keeps original B wordmark and preview noindex. */
:root { --reading: #555f56; --reading-muted: #5e675e; }
/* A sticky header must not be inside an overflow:hidden scroll container. */
.site-shell { overflow: clip; }
body { overflow-x: clip; word-break: keep-all; overflow-wrap: break-word; }
h1,h2,h3 { text-wrap: balance; }
p { text-wrap: pretty; }

/* Foundation: consistent, legible typography and colors. */
.nav-link, .header-contact, .button, .text-link { font-size: 14px; }
.language-indicator,.section-kicker,.eyebrow,.card-kicker,.section-heading .section-no,
.business-meta,.status-dot,.news-text>span,.news-notice,.contact-pending { font-size: 11px; }
.eyebrow { white-space: normal; }
.hero-description { font-size: clamp(15px,1.05vw,19px); line-height: 1.85; color: var(--reading); }
.body-large { font-size: 16px; line-height: 1.8; }
.body-muted, .value-row p, .business-top>p, .business-card p:not(.card-kicker),
.news-text p, .contact-side p, .belief-section p:last-of-type { font-size: 14px; line-height: 1.85; }
.body-muted,.value-row p,.business-top>p,.news-text p { color: var(--reading); }
.news-notice,.footer-main p,.footer-right,.preview-disclaimer { color: #60685e; }
.news-text>span,.value-number,.news-date,.section-kicker { color:#566450; }
.insight-kicker,.insight-step small,.insight-footer { color:#526354; }
.business-future p:not(.card-kicker),.business-future .business-meta { color: #535f54; }
.insight-kicker,.insight-footer,.business-card-bottom,.ticker-inner,.ticker-right { font-size: 11px; }
.about-insight { min-width: 0; }

/* Hero: corrected proportions, graph fills background without letterboxing. */
.hero { min-height: clamp(560px,68vh,820px); }
.hero-copy-inner { padding-top: clamp(42px,4.7vw,84px); padding-bottom: clamp(42px,4.7vw,84px); }
.hero-visual { min-height: 0; background: linear-gradient(145deg,#1d3028 0%,#31483a 56%,#3b5040 100%); }
.hero-art { position:absolute; inset:0; display:block; width:100%; height:100%; }
.hero-art img { width:100%; height:100%; object-fit:contain; object-position:center; }
.visual-note { font-size: 11px; color:#e7ecdf; }
.hero-subtitle,.hero-bottom-note { color:#526a55; }
.hero-cta .button, .hero-cta .text-link { white-space:nowrap; }

/* Prevent decoration from competing with actual Business copy. */
.business-future .future-symbol { top:72px; right:48px; transform:scale(.52); transform-origin:top right; opacity:.28; pointer-events:none; }
.business-future-copy { position:relative; z-index:2; }
.business-future-copy,.business-primary-copy { margin-bottom:24px; }
.business-future .business-card-bottom,.business-primary .business-card-bottom { position:relative; z-index:2; }
.business-card { min-height:clamp(440px,30vw,520px); }
.business-card-bottom { letter-spacing:.08em; }

/* Match the hero copy's starting X with the header/about content grid. */
@media(min-width:1100px){
  .hero { grid-template-columns: minmax(0,50%) minmax(0,50%); }
  .hero-copy-inner { padding-left:clamp(27px,3vw,68px); }
}

/* Tablet: stack content before text/buttons become squeezed. */
@media(min-width:761px) and (max-width:1099px){
  .hero { grid-template-columns:1fr; width:94vw; min-height:auto; }
  .hero-copy-inner { padding:70px clamp(35px,6vw,70px) 60px; }
  .hero h1 { font-size:clamp(38px,4.3vw,49px); }
  .hero-visual { min-height:330px; height:clamp(330px,39vw,410px); }
  .hero-art img { max-height:100%; }
  .hero-bottom-note { margin-top:44px; }
  .header-contact { gap:10px; }
  .brand-mark { width:140px; }
}
@media(min-width:761px) and (max-width:875px){
  .desktop-nav { gap:14px; }
  .header-actions { gap:10px; margin-left:5px; }
  .nav-link { font-size:12px; }
  .header-contact { font-size:12px; padding:11px; }
  .language-indicator { display:none; }
}

/* Mobile: larger labels, mobile-specific legible illustration, no cropped words. */
@media(max-width:760px){
  .site-shell { overflow:clip; }
  .hero-description,.body-muted,.value-row p,.news-text p,.contact-side p,.business-card p:not(.card-kicker),.business-top>p { font-size:15px; }
  .body-large { font-size:16px; }
  .eyebrow,.section-kicker,.card-kicker { font-size:11px; letter-spacing:.11em; }
  .hero { min-height:0; }
  .hero-copy-inner { padding:64px 26px 45px; }
  .hero-visual { min-height:290px; height:clamp(290px,86vw,352px); }
  .hero-art img { object-fit:contain; }
  .visual-note { font-size:10px; }
  .about-side { gap:0; }
  .business-future .future-symbol { transform:scale(.35); right:10px; top:28px; }
  .business-card { min-height:440px; }
  .business-future { min-height:400px; }
  .contact-section { padding-block:75px; }
  .news-item { padding:28px 0; }
  .footer-right { font-size:11px; }
}
@media(max-width:380px){
  .hero-copy-inner { padding-inline:22px; }
  .hero h1 { font-size:32px; }
  .hero-cta { gap:12px; flex-wrap:wrap; }
  .button { padding-inline:16px; }
  .hero-visual { height:300px; }
}
/* Cards at tablet/mobile widths need the full text area; omit nonsemantic arches. */
@media (max-width:1099px) {
  .business-future .future-symbol { display:none; }
}
