/* Readable home figures, pagination and the assistant interface. */
.about-strip .intro-stat { justify-content: flex-start; min-height: 255px; gap: 16px; }
.about-strip .intro-stat > .intro-kpi-label { font-size: 18px; line-height: 1.7; min-height: 2.8em; }
.about-strip .intro-stat > .intro-kpi-caption { font-size: 18px; line-height: 1.7; font-weight: 600; }
.about-strip .intro-people > .intro-kpi-caption { color: #fff; }
.about-strip .intro-kpi-main { flex-direction: column; align-items: center; margin: 0; gap: 8px; }
.about-strip .intro-kpi-main > span { font-size: 18px; }
.about-strip .intro-kpi-support { display: flex; align-items: baseline; justify-content: center; gap: 8px; margin-top: auto; }
.about-strip .intro-kpi-support b { font-size: 25px; }
.about-strip .intro-kpi-support span { font-size: 18px; }
.carousel-controls { flex-wrap: wrap; gap: 12px; }
.carousel-pagination { display: flex; align-items: center; gap: 6px; order: 2; }
.carousel-dot { width: 27px; height: 30px; position: relative; padding: 0; background: none; border: 0; cursor: pointer; }
.carousel-dot::before { content: ''; display: block; height: 4px; width: 100%; background: #dacabc; border-radius: 9px; transition: background .2s; }
.carousel-dot.is-current::before { background: var(--wine); height: 6px; }
.findings .carousel-dot::before { background: #ffffff35; }
.findings .carousel-dot.is-current::before { background: var(--gold); }
.carousel-controls .carousel-arrow:last-of-type { order: 4; }
.carousel-controls .carousel-status { font-size: 16px; font-weight: 700; order: 3; min-width: 46px; color: var(--wine); }
.findings .carousel-controls .carousel-status { color: var(--gold); }
.carousel-dot:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; border-radius: 6px; }
/* Desktop actions start with download, then language, at the reading edge. */
.header-actions { direction: inherit; }
.header-actions .header-cta { order: 1; }
.header-actions .lang-switch { order: 2; }
.header-actions .menu-button { order: 3; }
@media(max-width:1080px) {
 .menu-button { display: block; flex: none; }
 .section-nav { position: absolute; top: calc(100% + 1px); inset-inline: 0; display: none; grid-template-columns: 1fr 1fr; gap: 8px; padding: 16px var(--gutter); margin: 0; background: #fff; border: 0; border-radius: 0 0 18px 18px; box-shadow: 0 24px 40px #2a060820; }
 .section-nav.open { display: grid; }
 .section-nav .nav-home { grid-column: 1 / -1; }
}
@media(max-width:600px) {
 .about-strip .intro-stat { min-height: 265px; padding: 24px 15px; gap: 12px; }
 .about-strip .intro-stat > .intro-kpi-label { font-size: 16px; }
 .about-strip .intro-stat > .intro-kpi-caption,.about-strip .intro-kpi-main > span,.about-strip .intro-kpi-support span { font-size: 16px; }
 .about-strip .intro-kpi-support b { font-size: 22px; }
 .masthead { padding-inline: 12px; gap: 8px; }
 .masthead .brand-lockup { width: 90px; }
 .header-actions { gap: 6px; }
 #top .header-actions .header-cta { display: inline-flex; font-size: 14px; padding-inline: 10px; min-height: 38px; }
 .header-actions .lang-switch { min-width: 0; font-size: 13px; min-height: 38px; padding-inline: 9px; gap: 6px; }
 .header-actions .lang-switch svg { width: 14px; height: 14px; }
 .header-actions .lang-swap { display: none; }
 .header-actions .menu-button { width: 34px; height: 38px; }
 .carousel-controls { gap: 8px; }
 .carousel-dot { width: 20px; }
}
@media(max-width:360px) { .masthead { padding-inline: 8px; gap: 6px; } .masthead .brand-lockup { width: 52px; } #top .header-actions .header-cta { font-size: 12.5px; padding-inline: 7px; } .header-actions .lang-switch { font-size: 12.5px; padding-inline: 7px; } }
/* Quiet flow lines sit in section padding, away from the content. */
.about-intro,.findings,.profile,.annual-wrap { position: relative; }
.about-intro::after,.findings::after,.profile::after,.annual-wrap::after { content: ''; position: absolute; inset-block-end: 18px; inset-inline-start: 24px; width: 210px; height: 30px; opacity: .12; pointer-events: none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 32'%3E%3Cg fill='none' stroke='%239b6537' stroke-width='1.2'%3E%3Cpath d='M0 7C45-12 72 29 120 12S190-5 240 8M0 17C45-2 72 39 120 22S190 5 240 18M0 27C45 8 72 49 120 32S190 15 240 28'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat; }
.findings::after { opacity: .24; }
.report-assistant { position: fixed; inset-inline-end: 22px; bottom: max(22px,env(safe-area-inset-bottom)); z-index: 130; font-family: inherit; }
.report-assistant button,.report-assistant select,.report-assistant textarea { font: inherit; }
.report-assistant svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.assistant-launcher { display: flex; align-items: center; gap: 10px; border: 1px solid #ffffff90; border-radius: 50px; background: var(--wine); color: #fff; font-weight: 700 !important; padding: 14px 20px; box-shadow: 0 8px 26px #29070935; cursor: pointer; }
.assistant-launcher svg { color: var(--gold); }
.assistant-launcher:hover { background: #781d24; }
.assistant-panel { position: absolute; inset-inline-end: 0; bottom: 70px; width: min(420px,calc(100vw - 32px)); max-height: min(720px,calc(100dvh - 115px)); display: flex; flex-direction: column; overflow: hidden; background: #fffdf9; color: var(--ink); border: 1px solid #e3d8cb; border-radius: 22px; box-shadow: 0 18px 60px #26070935; }
.assistant-panel[hidden],.assistant-sources[hidden] { display: none; }
.assistant-panel.is-expanded { width: min(680px,calc(100vw - 32px)); }
.assistant-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 20px; background: var(--wine); color: #fff; }
.assistant-heading { display: grid; gap: 5px; }
.assistant-heading b { font-size: 20px; }
.assistant-heading span { font-size: 13px; line-height: 1.7; color: #f2d9d2; }
.assistant-window-actions { display: flex; gap: 4px; }
.assistant-window-actions button { padding: 6px; color: #fff; border: 0; background: #ffffff14; border-radius: 7px; cursor: pointer; }
.assistant-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; padding: 14px 20px; border-bottom: 1px solid #e9dfd6; }
.assistant-toolbar label { display: grid; gap: 6px; font-size: 13px; min-width: 0; flex: 1; color: #625751; }
.assistant-context { max-width: 100%; width: 100%; border: 1px solid #dfd4c8; padding: 8px; border-radius: 8px; background: #fff; color: var(--ink); font-size: 14px !important; }
.assistant-toolbar button { display: flex; align-items: center; gap: 5px; background: #f4ede4; color: var(--wine); border: 0; border-radius: 8px; padding: 8px; font-size: 13px; cursor: pointer; }
.assistant-sources { padding: 10px 20px; border-bottom: 1px solid #e9dfd6; max-height: 165px; overflow: auto; }
.assistant-sources a { display: flex; justify-content: space-between; padding: 7px 0; text-decoration: none; color: var(--wine); font-size: 14px; }
.assistant-conversation { padding: 22px 20px; overflow: auto; min-height: 0; }
.assistant-welcome > svg { width: 36px; height: 36px; color: var(--wine); margin-bottom: 10px; }
.assistant-welcome h3 { font-size: 18px; line-height: 1.7; margin: 0 0 8px; }
.assistant-welcome p { color: #716760; font-size: 14px; line-height: 1.8; margin: 0; }
.assistant-suggestions { display: grid; gap: 8px; margin-top: 18px; }
.assistant-suggestion { text-align: start; padding: 10px 12px; border: 1px solid #e4d8cb; color: var(--wine); background: #fff; border-radius: 10px; font-size: 14px !important; line-height: 1.7 !important; cursor: pointer; }
.assistant-suggestion:hover { border-color: #bd925b; background: #fcf7ed; }
.assistant-composer { margin: 0; padding: 12px 20px 16px; border-top: 1px solid #e9dfd6; }
.assistant-composer textarea { display: block; width: 100%; border: 1px solid #d7c6b6; border-radius: 12px; background: #fff; padding: 12px; color: var(--ink); resize: vertical; min-height: 80px; max-height: 140px; font-size: 15px; line-height: 1.7; }
.assistant-compose-actions { display: flex; align-items: center; gap: 6px; margin-top: 8px; }
.assistant-compose-actions button { display: grid; place-items: center; padding: 7px; border: 0; border-radius: 8px; background: #f1e9df; color: var(--wine); cursor: pointer; }
.assistant-count { font-size: 12px; margin-inline-start: auto; color: #75695f; }
.assistant-compose-actions .assistant-send { background: var(--wine); color: #fff; }
.assistant-compose-actions button:disabled { opacity: .4; cursor: default; }
.assistant-availability { font-size: 12px; line-height: 1.8; color: #776a60; margin: 10px 0 0; }
.assistant-feedback { font-size: 13px; color: var(--wine); }
.report-assistant :focus-visible { outline: 2px solid #cd962f; outline-offset: 3px; }
@media(max-width:600px) { .report-assistant { inset-inline-end: 12px; bottom: 12px; } .assistant-launcher { padding: 12px 15px; font-size: 14px !important; } .assistant-panel { bottom: 61px; max-height: calc(100dvh - 95px); } .assistant-header { padding: 16px; } .assistant-conversation { padding: 18px 16px; } .assistant-toolbar,.assistant-composer { padding-inline: 16px; } }

/* Mobile actions mirror: FA right-to-left, EN left-to-right. */
.lang-switch-compact { display: none; }
@media(max-width:1080px) {
 .header-actions { direction: inherit; }
 .header-actions .menu-button { order: 1; }
 .header-actions .header-cta { order: 2; }
 .header-actions .lang-switch { order: 3; direction: ltr; width: 58px; min-width: 58px; padding-inline: 8px; gap: 5px; border-radius: 999px; min-height: 40px; background: #fcf7ee; border-color: #5b11152b; color: var(--wine); }
 .header-actions .lang-switch-label,.header-actions .lang-swap { display: none; }
 .header-actions .lang-switch-compact { display: inline; font-size: 13px; font-weight: 800; }
 .header-actions .lang-globe { width: 17px; height: 17px; }
 .header-actions .lang-switch:hover { background: #f3e7d7; }
}
@media(max-width:600px) { .masthead .brand-lockup { width: 110px; } }
@media(max-width:360px) { .masthead .brand-lockup { width: 80px; } }
.assistant-launcher { position: relative; width: 64px; height: 64px; border-radius: 50%; padding: 0; justify-content: center; background: radial-gradient(circle at 30% 20%,#8e3037,var(--wine) 65%); border: 1px solid #e9bc6980; box-shadow: 0 8px 24px #25040b40,inset 0 1px 2px #ffffff32; transition: transform .25s,box-shadow .25s; }
.assistant-launcher > svg { width: 30px; height: 30px; color: #ffd480; transition: transform .3s; }
.assistant-launcher::before { content: ''; position: absolute; inset: -5px; border: 1px solid #d6a85445; border-top-color: #f3c674; border-bottom-color: transparent; border-radius: 50%; pointer-events: none; opacity: 0; transition: opacity .3s; }
.assistant-launcher:hover,.assistant-launcher:focus-visible { transform: translateY(-3px); box-shadow: 0 12px 30px #25040b50,inset 0 1px 2px #ffffff32; }
.assistant-launcher:hover::before,.assistant-launcher:focus-visible::before { opacity: 1; animation: assistant-orbit 5s linear infinite; }
.assistant-launcher:hover > svg { transform: scale(1.08) rotate(-5deg); }
.assistant-launcher > span { position: absolute; inset-inline-end: calc(100% + 13px); padding: 10px 16px; border-radius: 30px; background: var(--wine); color: #fff; border: 1px solid #e5bd7555; box-shadow: 0 6px 20px #25040b20; font-size: 15px; white-space: nowrap; opacity: 0; visibility: hidden; transform: translateY(4px) scale(.96); transition: opacity .2s,transform .25s,visibility .2s; pointer-events: none; }
.assistant-launcher:hover > span,.assistant-launcher:focus-visible > span { opacity: 1; visibility: visible; transform: none; }
.assistant-panel { bottom: 80px; }
.assistant-panel:not([hidden]) { animation: assistant-enter .2s ease-out; }
.assistant-history-toolbar { display: flex; align-items: center; gap: 8px; border-bottom: 1px solid #e9dfd6; padding: 10px 16px; }
.assistant-history-toolbar button { display: flex; align-items: center; gap: 5px; border: 0; background: none; color: var(--wine); font-size: 13px; padding: 5px; cursor: pointer; border-radius: 7px; }
.assistant-history-toolbar button:last-child { margin-inline-start: auto; }
.assistant-history-toolbar button:hover { background: #f3e8db; }
.assistant-heading b { font-size: 19px; }
.assistant-message { position: relative; margin-bottom: 14px; padding: 13px; border-radius: 13px; border: 1px solid #e4d8cc; background: #fff; font-size: 14px; line-height: 1.9; overflow-wrap: anywhere; }
.assistant-message.is-user { margin-inline-start: 32px; background: var(--wine); border-color: var(--wine); color: #fff; }
.assistant-message-text { white-space: pre-wrap; }
.assistant-message a { color: var(--wine); text-decoration: underline; text-underline-offset: 3px; }
.assistant-message.is-user a { color: #ffdb97; }
.assistant-answer-sources { display: grid; gap: 6px; border-top: 1px solid #eadfd3; margin-top: 12px; padding-top: 10px; font-size: 12px; line-height: 1.8; }
.assistant-answer-sources a { text-decoration: none; padding-inline-start: 10px; border-inline-start: 2px solid #d9b37e; }
.assistant-message-copy,.assistant-retry { border: 0; background: #f4ebdf; color: var(--wine); font-size: 12px; padding: 5px 9px; border-radius: 7px; margin-top: 8px; cursor: pointer; }
.assistant-error { color: #8b2930; font-size: 13px; margin: 8px 0 0; }
.assistant-working { color: #76695e; font-size: 13px; margin: 0; animation: assistant-pulse 1.5s ease-in-out infinite; }
.assistant-send.is-stopping svg { display: none; }
.assistant-send.is-stopping::after { content: ''; display: block; width: 15px; height: 15px; border: 2px solid #fff; border-radius: 2px; }
.assistant-composer textarea { min-height: 68px; }
.assistant-welcome[hidden],.assistant-suggestions[hidden] { display: none; }
@keyframes assistant-orbit { to { transform: rotate(360deg); } }
@keyframes assistant-enter { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes assistant-pulse { 50% { opacity: .5; } }
@media(max-width:600px) { .assistant-launcher { width: 58px; height: 58px; padding: 0; } .assistant-panel { bottom: 72px; max-height: calc(100dvh - 100px); } }
@media(prefers-reduced-motion:reduce) { .assistant-launcher::before,.assistant-working,.assistant-panel:not([hidden]) { animation: none; } }

/* A shared, legible metric layout with restrained flow accents. */
.about-strip { gap: 18px; }
.about-strip .intro-stat { align-items: flex-start; text-align: start; padding: 26px; gap: 14px; min-height: 330px; border-radius: 24px; background: linear-gradient(130deg,#fff 28%,#faf2e8 100%); box-shadow: 0 12px 35px #43151a09; transition: transform .25s,box-shadow .25s; }
.about-strip .intro-stat:hover { transform: translateY(-4px); box-shadow: 0 18px 42px #43151a12; }
.about-strip .intro-stat::before { display: none; }
.about-strip .intro-stat::after { content: ''; position: absolute; width: 180px; height: 180px; inset-inline-end: -115px; bottom: -92px; border: 22px double #9d6e3220; border-radius: 50%; z-index: -1; pointer-events: none; }
.about-strip .intro-people { background: linear-gradient(125deg,#7b232a,#4c0d16 60%,#351019); background-size: 180% 180%; animation: quiet-gradient 22s ease-in-out infinite alternate; }
.about-strip .intro-people::after { border-color: #f5bf4930; }
.intro-kpi-symbol { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; color: var(--wine); background: #e9d9c761; }
.intro-kpi-symbol svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.intro-people .intro-kpi-symbol { color: #ffd37b; background: #ffffff12; }
.about-strip .intro-stat > .intro-kpi-label { color: var(--wine); font-size: 18px; font-weight: 800; line-height: 1.6; min-height: 3.2em; }
.about-strip .intro-people > .intro-kpi-label { color: #fff; }
.about-strip .intro-stat .intro-kpi-number { font-size: clamp(44px,4.2vw,62px); line-height: 1.15; letter-spacing: -.02em; margin: 0; }
.about-strip .intro-kpi-number em { font-size: 20px; }
.about-strip .intro-kpi-main { align-items: flex-start; gap: 9px; }
.about-strip .intro-stat > .intro-kpi-caption { margin-top: auto; }
.about-strip .intro-kpi-support { justify-content: flex-start; width: 100%; gap: 9px; }
.about-strip .intro-kpi-main > span,.about-strip .intro-kpi-support span,.about-strip .intro-stat > .intro-kpi-caption { font-size: 17px; line-height: 1.6; }
.carousel-controls .carousel-status.sr-only { position: absolute; width: 1px; height: 1px; min-width: 0; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.hero-kicker,.footer-brand { align-items: flex-start; }
.hero-kicker > div,.footer-brand > div { margin: 0; padding: 0; }
.hero-kicker .overline { margin-top: 0; line-height: 1.3; }
.footer-brand strong { display: block; line-height: 1.3; }
.report-assistant { bottom: max(var(--assistant-lift,22px),env(safe-area-inset-bottom)); transition: bottom .2s ease; }
.assistant-panel { max-height: min(720px,calc(100dvh - var(--assistant-lift,22px) - 100px)); }
.profile { background: linear-gradient(120deg,#fff 38%,#faf5ee 70%,#f4f8f7); background-size: 180% 180%; animation: quiet-gradient 30s ease-in-out infinite alternate; }
.findings { background: linear-gradient(120deg,#211e20 35%,#291d21 75%,#222527); background-size: 180% 180%; animation: quiet-gradient 28s ease-in-out infinite alternate; }
.pg-next,.org-unified { background-size: 160% 160%; animation: quiet-gradient 24s ease-in-out infinite alternate; }
@keyframes quiet-gradient { from { background-position: 0% 45%; } to { background-position: 100% 55%; } }
@media(max-width:600px) {
 .about-strip { gap: 12px; }
 .about-strip .intro-stat { padding: 20px 16px; min-height: 315px; gap: 12px; border-radius: 19px; }
 .about-strip .intro-stat > .intro-kpi-label { font-size: 16px; min-height: 3.2em; }
 .about-strip .intro-stat .intro-kpi-number { font-size: 42px; }
 .about-strip .intro-kpi-main > span,.about-strip .intro-kpi-support span,.about-strip .intro-stat > .intro-kpi-caption { font-size: 16px; }
 .about-strip .intro-kpi-support { flex-wrap: wrap; gap: 4px 8px; }
 .report-assistant { bottom: max(var(--assistant-lift,12px),env(safe-area-inset-bottom)); }
 .assistant-panel { max-height: calc(100dvh - var(--assistant-lift,12px) - 90px); }
}
@media(prefers-reduced-motion:reduce) { .profile,.findings,.intro-people,.pg-next,.org-unified { animation: none !important; } .report-assistant,.intro-stat { transition: none !important; } }
