.business-services {background:var(--surface)}
.business-heading {display:flex; align-items:flex-end; justify-content:space-between; gap:14px 26px; margin-bottom:clamp(20px,2.5vw,34px)}
.business-heading h2 {margin:0; color:var(--text); font-size:clamp(27px,3vw,42px); line-height:1.3; letter-spacing:-.045em}
.business-heading p {margin:10px 0 0; color:var(--muted); line-height:1.65}
.business-heading > a {flex:none; display:inline-flex; align-items:center; min-height:44px; color:var(--accent); font-weight:600}
.business-grid {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:clamp(12px,1.5vw,20px)}
.business-grid > * {--service-row:var(--service-three)}
.business-card {display:flex; flex-direction:column; gap:10px; min-width:0; padding:clamp(17px,1.9vw,26px); border:1px solid var(--line); border-radius:var(--radius); background:var(--surface)}
.business-card {order:var(--service-row)}
.business-card-head {display:flex; align-items:flex-start; gap:10px}
.business-card-head > i {flex:none; display:grid; place-items:center; width:31px; height:31px; border:1px solid var(--line); border-radius:7px; background:var(--surface); color:var(--accent)}
.business-card .business-card-head h3 {margin:3px 0 0; font-size:clamp(16px,1.38vw,19px); line-height:1.45; color:var(--text); letter-spacing:-.02em; text-wrap:balance}
.business-card-head h3 > span {color:var(--accent)}
.business-card > p {margin:0; font-size:14px; line-height:1.75; color:var(--muted)}
.business-card .business-scenario {font-size:13px}
.business-card .business-toggle {display:flex; justify-content:space-between; align-items:center; gap:8px; min-height:44px;
  margin-block-start:auto; padding:4px 0; border:0; border-top:1px solid var(--line); border-radius:0;
  background:transparent; color:var(--accent); font:inherit; font-size:14px; font-weight:650; text-align:left; text-decoration:none; cursor:pointer}
.business-toggle[aria-expanded="true"] svg {transform:rotate(180deg)}
.business-card:has(.business-toggle[aria-expanded="true"]),.business-card:has(+.business-detail:target) {border-color:var(--accent)}
.business-detail {grid-column:1/-1; order:calc(var(--service-row) + 1); min-width:0;
  padding:clamp(16px,2.2vw,28px); border:1px solid var(--line); border-radius:var(--radius); background:var(--surface-2); scroll-margin-top:82px}
.business-detail[hidden],.pub-ssr .business-detail:not(:target) {display:none}
.delivery-head {display:flex; align-items:center; justify-content:space-between; gap:8px 18px; border-bottom:1px solid var(--line); padding-bottom:10px; margin-bottom:16px}
.business-detail .delivery-head h3 {margin:0; font-size:clamp(18px,1.6vw,22px); line-height:1.4; color:var(--text); scroll-margin-top:82px; text-wrap:balance}
.delivery-head h3 > span {display:inline-block}
.business-detail .delivery-close {display:inline-flex; align-items:center; justify-content:center; flex:none; gap:6px; min-height:44px; padding:0 8px;
  border:0; background:transparent; color:var(--muted); font:inherit; font-size:14px; font-weight:600; cursor:pointer; text-decoration:underline; text-underline-offset:3px}
.delivery-body {display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:clamp(20px,3vw,42px); align-items:start}
.delivery-body dl {margin:0}
.delivery-steps > div,.delivery-preview dl > div {display:grid; grid-template-columns:6.2em minmax(0,1fr); gap:10px; padding:9px 0; border-bottom:1px solid var(--line); font-size:14px; line-height:1.65}
.delivery-steps > div:last-child,.delivery-preview dl > div:last-child {border:0}
.delivery-body dt {color:var(--text); font-weight:650}
.delivery-body dd {margin:0; color:var(--muted)}
.delivery-steps dt {white-space:nowrap}
.delivery-preview {min-width:0; padding:clamp(13px,1.4vw,20px); border:1px solid var(--line); border-radius:10px; background:var(--surface)}
.delivery-preview-head {display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap-reverse; gap:5px 12px; margin-bottom:5px}
.delivery-preview-head h4 {display:flex; order:-1; align-items:center; gap:6px; margin:0; color:var(--text); font-size:16px; text-wrap:balance}
.delivery-preview-head svg {color:var(--accent)}
.delivery-example {padding:3px 7px; border:1px solid var(--line); border-radius:4px; color:var(--accent); font-size:12px; font-weight:650}
.delivery-preview dl > div {grid-template-columns:4.4em minmax(0,1fr); gap:7px; font-size:13px}
.delivery-preview a {display:inline-flex; align-items:center; gap:6px; min-height:44px; margin-bottom:-7px; color:var(--accent); text-decoration:underline; text-underline-offset:3px; font-size:14px; font-weight:600}
.pub-ssr a.business-toggle::after {content:"↓"; font-weight:650}
/* Align titles, descriptions, scenarios and disclosures within each multi-column row. */
@supports (grid-template-rows:subgrid) {
  @media (width > 670px) {
    .business-card {display:grid; grid-row:span 4; grid-template-rows:subgrid}
    .business-card .business-toggle {margin-block-start:0}
  }
}
.business-scenario > b {margin-right:8px; font-size:12px; color:var(--text)}
.business-phone {display:inline-flex; align-items:center; min-height:44px; font-weight:650; font-variant-numeric:tabular-nums; color:inherit; white-space:nowrap; user-select:text; text-decoration:underline; text-underline-offset:3px}
.business-contact-number {margin:3px 0 0; font-size:clamp(24px,2.35vw,34px)}
.business-contact-number .business-phone {text-decoration-thickness:1px; text-decoration-color:#829bc5; letter-spacing:.025em}
.business-demo-contact {max-width:30rem; padding-left:clamp(18px,3.2vw,44px); border-left:1px solid #506382}
.business-demo-contact h3 {margin:0; font-size:17px}
.business-demo-contact p {margin:5px 0 11px; color:#c4d6ee; font-size:14px; line-height:1.7}
.public-footer .footer-bottom {flex-wrap:wrap}
.public-footer .footer-bottom .business-phone,.pub-foot .business-phone {font-size:14px; color:var(--accent)}
@media(max-width:940px) {
  .business-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .business-grid > * {--service-row:var(--service-two)}
}
@media(max-width:670px) {
  .business-heading {align-items:flex-start; flex-direction:column; gap:4px}
  .business-grid {grid-template-columns:minmax(0,1fr); gap:10px}
  .business-grid > * {--service-row:var(--service-one)}
  .business-card {gap:8px; padding:15px}
  .delivery-body {grid-template-columns:minmax(0,1fr); gap:10px}
  .delivery-steps > div {grid-template-columns:6.3em minmax(0,1fr); gap:6px}
  .contact-section .contact-inner {align-items:stretch}
  .business-demo-contact {max-width:100%; padding:16px 0 0; border-left:0; border-top:1px solid #506382}
}

.case-tour {background:var(--surface-2)}
.case-tour-panel {
  display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); gap:clamp(22px,4vw,64px);
  align-items:center; padding:clamp(24px,4.8vw,60px); border-radius:var(--radius);
  background:linear-gradient(116deg,#132844,#183151 70%,#22415e); color:#eef5ff;
}
.case-tour-kicker {display:inline-flex; align-items:center; gap:7px; color:#b8d7ff; font-size:13px; font-weight:650}
.case-tour-story h2 {margin:13px 0 10px; color:#f4f8ff; font-size:clamp(26px,3vw,43px); line-height:1.3; letter-spacing:-.04em; text-wrap:balance}
.case-tour-story p {max-width:38em; margin:0; color:#c3d3e7; font-size:15px; line-height:1.75}
.case-tour-actions {display:flex; align-items:center; flex-wrap:wrap; gap:6px 18px; margin-top:19px}
.case-tour-actions .btn,.case-tour-actions .text-link {min-height:44px}
.case-tour-actions .text-link {color:#e2edff}
.case-tour-panel button:focus-visible,.case-tour-panel a:focus-visible {outline:3px solid #8dcaff; outline-offset:3px}
.case-tour-sheet {min-width:0; border:1px solid #4b6480; border-radius:12px; background:#182e49; padding:clamp(16px,2vw,24px)}
.case-tour-sheet-head {display:flex; align-items:center; gap:8px; flex-wrap:wrap}
.case-tour-sheet-head i {display:grid; color:#a7d2ff}
.case-tour-sheet-head h3 {margin:0; color:#eef5ff; font-size:17px}
.case-tour-sheet-head small {margin-left:auto; color:#c6d8ec; font-size:12px}
.case-tour-sheet dl {margin:12px 0 0}
.case-tour-sheet dl div {display:grid; grid-template-columns:4.5em minmax(0,1fr); gap:7px; border-top:1px solid #415b78; padding:8px 0; font-size:13px; line-height:1.55}
.case-tour-sheet dt {color:#b9cbe0}
.case-tour-sheet dd {margin:0; color:#f0f6ff}
.case-tour-sheet .text-link {min-height:44px; color:#bad8ff; margin-bottom:-8px}
.method-list summary {display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:44px; color:var(--accent); cursor:pointer; font-weight:650; list-style:none}
.method-list summary::-webkit-details-marker {display:none}
.method-list summary::after {content:""; flex:none; width:7px; height:7px; margin:0 3px 4px 0; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg)}
.method-list details[open] summary::after {transform:rotate(225deg); margin-bottom:-3px}
.usage-boundaries dl {margin:0}
.usage-boundaries dl > div {display:grid; grid-template-columns:6.3em minmax(0,1fr); gap:8px; padding:9px 0; border-top:1px solid var(--line); font-size:13px; line-height:1.65}
.usage-boundaries dt {color:var(--text); font-weight:650}
.usage-boundaries dd {color:var(--muted); margin:0}
.resource-section {background:var(--surface)}
.resource-layout {display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(24px,6vw,84px); align-items:start}
.resource-layout h2 {margin:0; color:var(--text); font-size:clamp(27px,3vw,42px); letter-spacing:-.045em; line-height:1.3}
.resource-layout > div > p {margin:9px 0 18px; color:var(--muted); line-height:1.65}
.method-list details {border-top:1px solid var(--line)}
.method-list details:last-child {border-bottom:1px solid var(--line)}
.method-list summary {color:var(--text); min-height:52px}
.method-list details p {margin:0 0 14px; color:var(--muted); line-height:1.7; font-size:14px}
.usage-boundaries {background:var(--surface-2); border:1px solid var(--line); border-radius:12px; padding:16px 21px}
.usage-boundaries h3 {display:flex; align-items:center; gap:9px; margin:0 0 9px; color:var(--text); font-size:19px}
.usage-boundaries h3 svg {color:var(--accent)}
.usage-boundaries dd {font-size:14px}
.kb-intro > .text-link {min-height:44px}
@media(max-width:800px) {
  .case-tour-panel,.resource-layout {grid-template-columns:1fr; gap:20px}
  .case-tour-story {max-width:42em}
}
@media(max-width:480px) {
  .case-tour-panel {padding:18px; border-radius:12px}
  .case-tour-sheet {padding:14px; border-radius:9px}
  .case-tour-sheet-head h3 {font-size:16px}
  .usage-boundaries {padding:15px}
  .usage-boundaries dl > div {grid-template-columns:4.7em minmax(0,1fr)}
}
