/* ================================================================
   ALTINO v9 — Adoption / case studies
   01 Intro   02 Native accordions   03 Historical figures
   04 Domestic cases   05 BILA RPA   06 Responsive and print
   Text and figures live in index.html, not in CSS or images.
   ================================================================ */

/* 01 — Product photography; never presented as a customer photograph. */
.adoption-section {
    background: #f1f6f7;
    border-top: 1px solid var(--line);
}
.adoption-intro {
    position: relative;
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    isolation: isolate;
    overflow: hidden;
    background: #071c29;
    border: 1px solid #203c4b;
    border-radius: 10px;
    color: #fff;
}
.adoption-intro-copy {
    position: relative;
    z-index: 2;
    padding: 42px 48px;
}
.adoption-intro .eyebrow { color: #72e3ec; font-size: 11px; }
.adoption-intro .section-heading { margin-top: 18px; font-size: clamp(30px, 3vw, 42px); }
.adoption-intro-copy > p { margin-top: 19px; color: #d3e2e9; font-size: 16px; line-height: 1.95; max-width: 470px; }
.adoption-intro-label { display: inline-block; margin-top: 23px; color: #9dd9e3; font-size: 12px; letter-spacing: .1em; }
.adoption-photo { position: relative; min-width: 0; }
.adoption-photo img { position: absolute; inset: 0; height: 100%; object-fit: cover; object-position: 40% center; }
.adoption-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #071c29, transparent 38%), linear-gradient(0deg, #071c29a8, transparent 40%); }
.adoption-photo figcaption { position: absolute; z-index: 1; right: 28px; bottom: 22px; font-size: 11px; letter-spacing: .05em; color: #d4e5ed; }

/* 02 — details / summary work even when JavaScript is unavailable. */
.adoption-accordions { margin-top: 28px; display: grid; gap: 16px; }
.adoption-accordion { background: #fff; border: 1px solid #cbdce1; border-radius: 8px; overflow: hidden; scroll-margin-top: 106px; }
.adoption-accordion > summary { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto 34px; align-items: center; gap: 24px; padding: 27px 34px; list-style: none; cursor: pointer; }
.adoption-accordion > summary::-webkit-details-marker { display: none; }
.adoption-accordion > summary::marker { content: ""; }
.adoption-accordion > summary:hover { background: #f7fcfc; }
.adoption-accordion > summary:focus-visible { outline-offset: -4px; border-radius: 8px; }
.adoption-index { align-self: start; padding-top: 5px; color: #82a5af; font: 500 25px/1.4 var(--latin); letter-spacing: -.04em; }
.adoption-summary-copy { display: block; min-width: 0; }
.adoption-overline { display: block; color: var(--accent); font: 700 11px/1.6 var(--font); letter-spacing: .12em; }
.adoption-summary-heading { display: block; font-size: 22px; font-weight: 800; line-height: 1.6; margin-top: 3px; }
.adoption-summary-description { display: block; margin-top: 5px; color: var(--muted); font-size: 14px; line-height: 1.8; }
.adoption-action { color: var(--accent); font-size: 13px; font-weight: 700; }
.adoption-toggle { position: relative; width: 34px; height: 34px; border: 1px solid #a6c4cc; border-radius: 50%; }
.adoption-toggle::before, .adoption-toggle::after { position: absolute; top: 50%; left: 50%; width: 12px; height: 1.5px; content: ""; background: var(--accent); transform: translate(-50%, -50%); }
.adoption-toggle::after { transform: translate(-50%, -50%) rotate(90deg); transition: transform .2s; }
.adoption-when-open { display: none; }
.adoption-accordion[open] { border-color: #94bcc7; }
.adoption-accordion[open] > summary { border-bottom: 1px solid var(--line); }
.adoption-accordion[open] .adoption-toggle::after { transform: translate(-50%, -50%) rotate(0deg); }
.adoption-accordion[open] .adoption-when-open { display: inline; }
.adoption-accordion[open] .adoption-when-closed { display: none; }
.adoption-content { padding: 32px 34px 34px; }
.adoption-panel-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; }
.adoption-panel-heading h3 { font-size: 20px; line-height: 1.7; }
.adoption-dated-label { display: inline-flex; align-items: center; padding: 4px 11px; background: #edf5f7; color: #426573; border-radius: 3px; font-size: 12px; }
.adoption-date-notice { margin-top: 10px; color: var(--muted); font-size: 14px; line-height: 1.9; }

/* 03 — Values have separate scopes and dates; there is intentionally no total. */
.adoption-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 26px; }
.adoption-metric { display: flex; flex-direction: column; padding: 24px; background: #f8fbfc; border: 1px solid #dce7eb; border-top: 3px solid var(--accent); border-radius: 5px; min-width: 0; }
.adoption-metric-kicker { color: #547480; font: 700 10px/1.4 var(--latin); letter-spacing: .1em; }
.adoption-metric h4 { margin-top: 11px; font-size: 17px; line-height: 1.6; }
.adoption-metric-value { display: flex; align-items: baseline; gap: 11px; padding-block: 20px 12px; color: #0b4a60; }
.adoption-metric-value strong { font: 700 66px/.95 var(--latin); letter-spacing: -.055em; }
.adoption-metric-value > span { font-size: 16px; font-weight: 700; }
.adoption-metric-scope { flex-grow: 1; font-size: 14px; line-height: 1.8; color: var(--muted); }
.adoption-metric-date { margin-top: 18px; padding-top: 12px; border-top: 1px solid #dce6e9; color: #506c79; font-size: 12px; line-height: 1.7; }
.adoption-source { margin-top: 25px; padding: 20px 23px; display: flex; align-items: center; gap: 30px; background: #f4f7f8; border-radius: 5px; }
.adoption-source > div { flex: 1; min-width: 0; }
.adoption-source strong { font-size: 13px; }
.adoption-source p { margin-top: 5px; font-size: 13px; line-height: 1.9; color: var(--muted); }
.adoption-source .text-link { flex-shrink: 0; font-size: 13px; }

/* 04 — Confirmed domestic figures and optional, permission-cleared case cards. */
.adoption-case-badge { display: inline-flex; align-items: baseline; gap: 7px; white-space: nowrap; background: #f0f6f7; color: #436271; padding: 6px 13px; border-radius: 4px; font-size: 12px; }
.adoption-case-badge strong { font: 700 21px/1.3 var(--latin); color: var(--ink); }
.adoption-case-badge--total { background: #eaf6f7; color: #225d6a; }
.domestic-overview { display: grid; grid-template-columns: minmax(230px, .82fr) minmax(0, 1.5fr); gap: 34px; align-items: stretch; }
.domestic-metric { padding: 30px; background: linear-gradient(145deg, #edf8fa, #f8fbfc); }
.domestic-metric h3 { margin-top: 14px; font-size: 19px; line-height: 1.7; }
.domestic-metric .adoption-metric-value { padding-block: 24px 20px; }
.domestic-metric .adoption-metric-value strong { font-size: 80px; }
.domestic-overview-copy { align-self: center; padding: 8px 0; }
.domestic-overview-copy h3 { margin-top: 12px; font-size: 28px; line-height: 1.6; letter-spacing: -.02em; }
.domestic-overview-copy > p { margin-top: 16px; font-size: 15px; line-height: 1.95; color: var(--muted); }
.domestic-case-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 28px; margin-bottom: 18px; padding-top: 24px; border-top: 1px solid var(--line); }
.domestic-case-heading h3 { font-size: 21px; }
.domestic-case-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.domestic-case-grid:empty { display: none; }
.domestic-case-card { min-width: 0; border: 1px solid var(--line); border-radius: 7px; background: #fff; overflow: hidden; }
.domestic-case-card > img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.domestic-case-body { padding: 26px; }
.domestic-case-body h3 { font-size: 22px; margin-top: 12px; }
.domestic-case-facts { margin: 20px 0; font-size: 14px; }
.domestic-case-facts > div { display: grid; grid-template-columns: 85px minmax(0, 1fr); gap: 12px; border-top: 1px solid var(--line); padding-block: 10px; }
.domestic-case-facts dt { color: var(--muted); }
.domestic-case-facts dd { margin: 0; overflow-wrap: anywhere; }
.domestic-case-description, .domestic-count-note { font-size: 14px; line-height: 1.9; color: var(--muted); }
.domestic-count-note { margin-top: 16px; }
.adoption-consultation { margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 15px 20px; }
.adoption-consultation > p { font-size: 14px; color: var(--muted); }
.adoption-consultation .button-row { gap: 22px; }
.adoption-consultation .button { font-size: 14px; }
.adoption-consultation .text-link { font-size: 14px; }
.adoption-activity-note { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 24px; margin-top: 22px; padding-inline: 2px; }
.adoption-activity-note > p { font-size: 13px; color: var(--muted); max-width: 700px; }
.adoption-activity-note .text-link { font-size: 13px; white-space: nowrap; }

/* When JavaScript is unavailable, approved cards remain readable.
   Only the optional detailed-article count needs JS; adoption figures are static HTML. */
#adoption-japan:has(#domestic-case-list > article[data-domestic-case]:not([hidden])) [data-domestic-populated] { display: flex !important; }
#adoption-japan:has(#domestic-case-list > article[data-domestic-case]:not([hidden])) p[data-domestic-populated] { display: block !important; }
#adoption-japan:not([data-count-ready]) .adoption-case-badge--published { display: none; }

/* 05 — Responsive layouts. */
/* 05 — Current dated figures and the BILA RPA learning case. */
.adoption-metric--people { background: #edf7f5; border-top-color: #238673; }
.adoption-metric--people .adoption-metric-value { color: #176650; }
.adoption-global-reference { display: flex; align-items: center; flex-wrap: wrap; gap: 16px 28px; margin-top: 18px; padding: 20px 24px; border: 1px solid var(--line); border-radius: 5px; }
.adoption-global-number { min-width: 155px; }
.adoption-global-number > p { margin-top: 4px; font-size: 13px; color: var(--muted); }
.adoption-global-number strong { margin: 0 6px 0 12px; color: var(--ink); font: 700 34px/1.1 var(--latin); }
.adoption-global-number > p > span { color: var(--ink); font-weight: 700; }
.adoption-global-copy { flex: 1; min-width: 220px; }
.adoption-global-copy p { color: var(--muted); font-size: 12px; line-height: 1.9; }
.adoption-global-copy p:first-child { color: var(--ink); font-size: 14px; }
.adoption-global-reference .text-link { font-size: 12px; }
.domestic-case-card--featured { grid-column: 1 / -1; border-color: #afcbd2; scroll-margin-top: 110px; }
.bila-case-topline { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px 20px; background: #0c2c3a; color: #d6edf0; padding: 13px 30px; font-size: 12px; line-height: 1.7; }
.bila-case-topline > span:first-child { font: 700 11px/1.85 var(--latin); letter-spacing: .13em; color: #8ce0e5; }
.bila-case-hero { display: grid; grid-template-columns: 1.1fr .9fr; background: #f3f8f9; }
.bila-case-copy { padding: 34px 0 28px 32px; min-width: 0; }
.bila-case-copy > h4 { margin: 15px 0 8px; font: 800 clamp(36px, 4vw, 52px)/1.12 var(--latin); letter-spacing: -.045em; color: #10394b; }
.bila-case-fullname { font-size: 15px; line-height: 1.8; font-weight: 700; }
.bila-case-lead { margin-top: 16px; font-size: 15px; color: #456572; line-height: 1.9; }
.bila-case-facts { margin: 22px 0 0; font-size: 13px; }
.bila-case-facts > div { display: grid; grid-template-columns: 78px minmax(0, 1fr); gap: 9px; padding-block: 9px; border-top: 1px solid #d4e2e6; }
.bila-case-facts dt { color: #58727e; }
.bila-case-facts dd { margin: 0; overflow-wrap: anywhere; }
.bila-case-visual { display: flex; flex-direction: column; justify-content: center; align-items: center; position: relative; min-width: 0; padding: 28px 20px 24px; overflow: hidden; background-image: radial-gradient(ellipse at center, #d9edf080, transparent 70%), linear-gradient(#c2dce225 1px, transparent 1px), linear-gradient(90deg, #c2dce225 1px, transparent 1px); background-size: 100% 100%, 25px 25px, 25px 25px; }
.bila-visual-label { position: relative; z-index: 1; margin-bottom: 24px; font: 700 10px/1.5 var(--latin); color: #587985; letter-spacing: .18em; }
.bila-case-visual img { position: relative; z-index: 2; object-fit: contain; }
.bila-case-visual figcaption { position: relative; z-index: 1; margin-top: 22px; padding: 5px 10px; background: #f7fbfbe6; color: #526e7a; font-size: 12px; line-height: 1.8; }
.bila-case-learning { padding: 30px 32px; border-top: 1px solid #d4e2e6; }
.bila-learning-heading h5 { margin: 10px 0 0; font-size: 22px; line-height: 1.7; }
.bila-learning-heading > p { margin-top: 10px; color: var(--muted); font-size: 14px; line-height: 1.9; }
.bila-theme-grid { margin-top: 24px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.bila-theme { display: flex; flex-direction: column; padding: 22px 20px; background: #f7fafb; border: 1px solid #d9e5e8; border-radius: 5px; min-width: 0; }
.bila-theme-number { color: #75aab4; font: 400 33px/1.1 var(--latin); }
.bila-theme h6 { margin: 15px 0 12px; font-size: 17px; line-height: 1.7; }
.bila-theme > p { flex: 1; font-size: 14px; line-height: 1.95; color: #506a77; }
.bila-theme-tag { display: block; margin-top: 20px; padding-top: 12px; border-top: 1px solid #dce7ea; color: #16778a; font-size: 12px; font-weight: 700; }
.bila-learning-cycle { display: grid; grid-template-columns: 170px minmax(0, 1fr); align-items: center; gap: 14px; margin-top: 22px; padding: 22px 24px; background: #edf6f7; border-radius: 5px; }
.bila-learning-cycle h5 { margin: 0; font-size: 15px; line-height: 1.8; }
.bila-learning-cycle h5 span { display: block; font-size: 11px; color: #5c7b88; font-weight: 400; }
.bila-learning-cycle ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; gap: 20px; }
.bila-learning-cycle li { position: relative; min-width: 0; }
.bila-learning-cycle li:not(:last-child)::after { content: '→'; position: absolute; right: -17px; top: 4px; color: #6894a1; }
.bila-learning-cycle li strong { display: block; font-size: 14px; color: #14576b; }
.bila-learning-cycle li span { display: block; font-size: 11px; color: #5a7380; margin-top: 4px; line-height: 1.8; }
.bila-case-note { margin-top: 20px; font-size: 12px; line-height: 1.9; color: #60757f; }
.bila-case-links { display: flex; flex-wrap: wrap; align-items: center; gap: 15px 26px; padding: 0 32px 30px; }
.bila-case-links .button { font-size: 14px; }
.bila-case-links .text-link { font-size: 14px; }

/* 06 — Responsive and print. */
@media (max-width: 990px) {
    .adoption-intro-copy { padding: 34px; }
    .adoption-intro-copy > p { font-size: 15px; }
    .adoption-accordion > summary { grid-template-columns: 30px minmax(0, 1fr) auto 32px; gap: 17px; padding: 24px; }
    .adoption-summary-heading { font-size: 20px; }
    .adoption-content { padding: 26px 24px; }
    .adoption-metrics { gap: 12px; }
    .adoption-metric { padding: 20px 17px; }
    .adoption-metric h4 { font-size: 16px; }
    .adoption-metric-value strong { font-size: 56px; }
    .adoption-metric-date { font-size: 11px; }
    .domestic-overview { grid-template-columns: minmax(210px, .85fr) minmax(0, 1.35fr); gap: 25px; }
    .domestic-metric { padding: 25px; }
    .domestic-overview-copy h3 { font-size: 25px; }
    .adoption-consultation { display: block; }
    .adoption-consultation .button-row { margin-top: 16px; }
}
@media (max-width: 700px) {
    .adoption-section { padding-block: 60px; }
    .adoption-intro { grid-template-columns: 1fr; }
    .adoption-intro-copy { padding: 28px 26px 16px; }
    .adoption-intro .eyebrow { font-size: 10px; }
    .adoption-intro .section-heading { font-size: 31px; line-height: 1.5; }
    .adoption-intro-copy > p { font-size: 14px; margin-top: 16px; }
    .adoption-intro-label { margin-top: 18px; font-size: 11px; }
    .adoption-photo { height: 190px; }
    .adoption-photo img { object-position: center 48%; }
    .adoption-photo::after { background: linear-gradient(180deg, #071c29, transparent 32%), linear-gradient(0deg, #071c29b3, transparent 50%); }
    .adoption-photo figcaption { font-size: 10px; right: 20px; bottom: 13px; }
    .adoption-accordions { margin-top: 20px; gap: 13px; }
    .adoption-accordion > summary { grid-template-columns: minmax(0, 1fr) 30px; gap: 9px 12px; padding: 22px 20px; }
    .adoption-index { display: none; }
    .adoption-overline { font-size: 10px; }
    .adoption-summary-heading { font-size: 19px; }
    .adoption-summary-description { font-size: 13px; margin-top: 5px; }
    .adoption-toggle { grid-column: 2; grid-row: 1 / 3; width: 30px; height: 30px; }
    .adoption-action { grid-column: 1; font-size: 12px; }
    .adoption-case-badge { grid-column: 1; justify-self: start; margin-top: 3px; font-size: 11px; padding: 4px 10px; }
    .adoption-case-badge strong { font-size: 18px; }
    .adoption-content { padding: 24px 18px; }
    .adoption-panel-heading { align-items: flex-start; }
    .adoption-panel-heading h3 { font-size: 18px; }
    .adoption-dated-label { font-size: 11px; }
    .adoption-date-notice { font-size: 13px; }
    .adoption-metrics { grid-template-columns: 1fr; gap: 13px; margin-top: 22px; }
    .adoption-metric { padding: 22px; }
    .adoption-metric h4 { font-size: 17px; }
    .adoption-metric-value { padding-block: 17px 12px; }
    .adoption-metric-value strong { font-size: 58px; }
    .adoption-metric-date { font-size: 12px; }
    .adoption-source { padding: 18px; display: block; margin-top: 22px; }
    .adoption-source p { font-size: 12px; }
    .adoption-source .text-link { margin-top: 10px; }
    .domestic-overview { grid-template-columns: 1fr; gap: 23px; }
    .domestic-metric { padding: 24px; }
    .domestic-metric h3 { font-size: 19px; }
    .domestic-metric .adoption-metric-value { padding-block: 21px 15px; }
    .domestic-metric .adoption-metric-value strong { font-size: 68px; }
    .domestic-overview-copy { padding: 0 2px; }
    .domestic-overview-copy h3 { font-size: 24px; }
    .domestic-overview-copy > p { font-size: 14px; }
    .domestic-case-heading h3 { font-size: 19px; }
    .domestic-case-grid { grid-template-columns: 1fr; }
    .domestic-case-body { padding: 21px; }
    .domestic-case-body h3 { font-size: 20px; }
    .adoption-consultation .button-row { display: block; }
    .adoption-consultation .button { width: 100%; padding: 13px 12px; gap: 10px; font-size: 13px; }
    .adoption-consultation .text-link { margin-top: 12px; font-size: 13px; }
    .adoption-activity-note > p { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
    .adoption-toggle::after { transition: none; }
}
@media print {
    .adoption-intro { color: #142a38; background: #fff; border-color: #dae3e7; }
    .adoption-intro-copy > p, .adoption-intro-label { color: #425a66; }
    .adoption-photo { display: none; }
    .adoption-intro { grid-template-columns: 1fr; }
    .adoption-action, .adoption-toggle { display: none; }
    .adoption-metric { break-inside: avoid; }
}

/* BILA case refinements for tablet and mobile layouts. */
@media (min-width: 701px) and (max-width: 1000px) {
    .adoption-metric-value strong { font-size: 46px; }
    .adoption-metric-value { gap: 7px; }
    .bila-case-hero { grid-template-columns: 1.15fr .85fr; }
    .bila-case-copy { padding: 27px 0 24px 24px; }
    .bila-case-topline, .bila-case-learning { padding-inline: 24px; }
    .bila-case-visual { padding-inline: 12px; }
    .bila-theme-grid { gap: 12px; }
    .bila-theme { padding: 18px 15px; }
    .bila-theme h6 { font-size: 16px; }
    .bila-learning-cycle { grid-template-columns: 1fr; }
    .bila-learning-cycle h5 span { display: inline; margin-left: 12px; }
    .bila-case-links { padding-inline: 24px; }
}
@media (max-width: 700px) {
    .adoption-global-reference { padding: 19px; display: block; }
    .adoption-global-copy { margin-top: 12px; min-width: 0; }
    .adoption-global-reference .text-link { margin-top: 5px; }
    .adoption-metric-value strong { font-size: clamp(48px, 15vw, 62px); }
    .bila-case-topline { display: block; padding: 13px 19px; font-size: 11px; }
    .bila-case-topline > span { display: block; }
    .bila-case-topline > span + span { margin-top: 3px; }
    .bila-case-hero { grid-template-columns: 1fr; }
    .bila-case-copy { padding: 25px 20px 0; }
    .bila-case-copy > h4 { font-size: 43px; }
    .bila-case-fullname { font-size: 14px; }
    .bila-case-lead { font-size: 14px; }
    .bila-case-facts { margin-top: 19px; font-size: 12px; }
    .bila-case-facts > div { grid-template-columns: 64px minmax(0, 1fr); }
    .bila-case-visual { padding: 25px 18px 22px; }
    .bila-case-visual img { max-width: 430px; }
    .bila-visual-label { font-size: 9px; margin-bottom: 15px; }
    .bila-case-visual figcaption { margin-top: 14px; font-size: 11px; }
    .bila-case-learning { padding: 25px 19px; }
    .bila-learning-heading h5 { font-size: 19px; }
    .bila-learning-heading > p { font-size: 13px; }
    .bila-theme-grid { grid-template-columns: 1fr; gap: 13px; margin-top: 19px; }
    .bila-theme { padding: 20px; }
    .bila-theme h6 { font-size: 17px; margin-top: 12px; }
    .bila-theme > p { font-size: 14px; }
    .bila-theme-tag { font-size: 11px; }
    .bila-learning-cycle { grid-template-columns: 1fr; padding: 20px; gap: 15px; }
    .bila-learning-cycle h5 span { display: inline; margin-left: 12px; }
    .bila-learning-cycle ol { grid-template-columns: 1fr 1fr; gap: 18px 24px; }
    .bila-learning-cycle li:nth-child(2)::after { display: none; }
    .bila-learning-cycle li span { font-size: 11px; }
    .bila-case-note { font-size: 12px; }
    .bila-case-links { display: block; padding: 0 19px 25px; }
    .bila-case-links .button { width: 100%; font-size: 13px; gap: 12px; padding: 13px; }
    .bila-case-links .text-link { margin-top: 10px; font-size: 13px; }
}
@media (max-width: 359px) {
    .bila-case-copy > h4 { font-size: 36px; }
    .bila-learning-cycle { padding: 18px 13px; }
    .bila-learning-cycle ol { gap: 18px 19px; }
    .bila-learning-cycle li span { font-size: 10px; }
    .bila-case-links .button { font-size: 12px; gap: 6px; padding-inline: 8px; }
}
@media print {
    .bila-case-topline { background: #edf6f7; color: #142a38; }
    .bila-case-topline > span:first-child { color: #14576b; }
    .bila-theme, .bila-case-hero { break-inside: avoid; }
}
