/* Product-first homepage: white space, restrained type and clear solution details. */
.landing-page { --section-space: 80px; --section-gap: 48px; --section-title: clamp(32px, 3.2vw, 44px); }
.landing-page main > .section { padding-block: var(--section-space); }
.landing-page main h2 { font-size: var(--section-title); line-height: 1.12; letter-spacing: -.045em; }
.landing-page main .label { font-size: 11px; letter-spacing: .05em; }
/* Shared composition: align headings and use surfaces only for distinct sections. */
.landing-page .care { background: var(--surface); border-block: 1px solid var(--line); }
.landing-page .care-grid { display: block; padding: 0; background: transparent; border-radius: 0; }
.landing-page .care-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 0 var(--section-gap); margin-bottom: 32px; }
.landing-page .care-intro > .label { grid-column: 1 / -1; margin-bottom: 24px; }
.landing-page .care-intro h2 { grid-column: 1; grid-row: 2 / span 2; margin: 0; }
.landing-page .care-intro > p:not(.label) { grid-column: 2; margin: 0 0 8px; max-width: 36ch; font-size: 16px; line-height: 1.65; }
.landing-page .care-intro > a { grid-column: 2; justify-self: start; }
.landing-page .care-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.landing-page .care-plan { display: block; border-top: 1px solid #d7d7d7; padding: 24px 0 0; }
.landing-page .care-duration { display: flex; align-items: baseline; gap: 8px; margin-bottom: 24px; font-size: 40px; }
.landing-page .care-duration small { margin: 0; font-size: 11px; }
.landing-page .care-plan h3 { font-size: 24px; line-height: 1.25; margin-bottom: 12px; }
.landing-page .care-details { grid-column: 1 / -1; }
.landing-page .faq-grid { gap: var(--section-gap); grid-template-columns: 1fr 1fr; }
.landing-page .contact-section { padding: 0 0 var(--section-space); }
.landing-page .contact-inner { --ink: #fff; --paper: #171918; --muted: #c3c7c4; --line: #4a4e4b; padding: 48px; background: var(--paper); color: var(--ink); border-radius: 8px; }
.landing-page .contact-grid { grid-template-columns: 1fr 1fr; gap: var(--section-gap); }
.landing-page .contact-section .section-number { color: var(--muted); margin-bottom: 32px; }
.landing-page .site-footer { padding-block: 48px 28px; }
.landing-page .footer-top { display: grid; grid-template-columns: 1fr 1.4fr; align-items: start; gap: 48px; padding-bottom: 32px; }
.landing-page .footer-identity { display: block; }
.landing-page .footer-identity > .label { margin: 16px 0 0; color: var(--muted); font-size: 11px; max-width: 27ch; }
.landing-page .footer-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.landing-page .footer-links > div { display: flex; flex-direction: column; align-items: start; }
.landing-page .footer-links .label { margin: 0 0 12px; font-size: 11px; }
.landing-page .footer-link { text-align: left; }
@media (max-width: 1000px) {
  .landing-page { --section-space: 64px; --section-gap: 32px; }
  .landing-page .care-options { gap: 24px; }
  .landing-page .footer-top { grid-template-columns: 1fr 1.6fr; gap: 32px; }
  .landing-page .footer-links { gap: 16px; }
}
@media (max-width: 760px) {
  .landing-page { --section-space: 56px; --section-gap: 24px; }
  .landing-page .care-intro { display: block; }
  .landing-page .care-intro h2 { margin-bottom: 20px; }
  .landing-page .care-options { grid-template-columns: 1fr; gap: 0; }
  .landing-page .care-plan { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 24px; padding-block: 24px; }
  .landing-page .care-duration { display: block; font-size: 36px; margin: 0; }
  .landing-page .care-duration small { margin-top: 8px; }
  .landing-page .care-plan h3 { font-size: 22px; }
  .landing-page .faq-grid, .landing-page .contact-grid { grid-template-columns: 1fr; }
  .landing-page .contact-inner { padding: 24px; }
  .landing-page .footer-top { grid-template-columns: 1fr; gap: 32px; }
  .landing-page .footer-links .footer-link { font-size: 12px; }
}
.landing-page .nav-contact { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.landing-page .nav-contact:hover { background: #303030; }
.landing-page .nav-label, .landing-page .nav-short { font: inherit; }
.landing-page .nav-short { display: none; }
.intro-inner {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  align-items: center;
  gap: 72px;
  padding-block: 48px 40px;
}
.intro-title > .label { display: flex; align-items: center; gap: 9px; color: var(--muted); margin-bottom: 18px; font-size: 12px; }
.intro-title .square-dot { background: var(--orange); }
.intro h1 { margin: 0; }
.intro-copy { max-width: 430px; padding-top: 18px; }
.intro-copy > p { font-size: 16px; line-height: 1.7; margin-bottom: 18px; color: var(--muted); }
.intro-status { display: inline-flex; align-items: center; gap: 8px; color: var(--muted); font-size: 12px; }
.intro-status::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #999; }

.landing-page .solutions { padding: 12px 0 56px; }
.solutions-heading { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-bottom: 24px; }
.solutions-heading h2 { font-size: 25px; letter-spacing: -.035em; margin: 0; }
.solutions-heading > p { font-size: 14px; color: var(--muted); margin: 0; }
.service-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.service-grid-single { grid-template-columns: 1fr; max-width: 760px; }
.service-card { display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--line); border-radius: 10px; padding: 26px 28px 28px; transition: border-color .2s, box-shadow .2s; }
.service-card:hover { border-color: #bdbdbd; box-shadow: 0 6px 24px #00000005; }
.service-customised { background: var(--surface); }
.service-original { background: var(--paper); }
.service-topline { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.service-topline > .label { font-size: 12px; color: #525252; }
.service-icon { width: 28px; height: 28px; stroke: var(--ink); stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; fill: none; }
.service-title { margin-bottom: 12px; }
.service-title h3 { font-size: 28px; margin: 0; }
.service-description { font-size: 15px; line-height: 1.65; color: var(--muted); max-width: 470px; margin-bottom: 18px; }
.service-inclusions, .edition-features { list-style: none; padding: 0; }
.service-inclusions { margin: 0 0 24px; }
.service-inclusions li { display: flex; align-items: baseline; gap: 10px; font-size: 14px; line-height: 1.6; margin: 6px 0; }
.service-inclusions li::before { content: "✓"; font-size: 13px; flex: none; color: #777; }
.service-bottom { margin-top: auto; }
.service-bottom > p { font-size: 12px; line-height: 1.6; color: var(--muted); margin: 0 0 12px; }
.service-button { width: 100%; }
.solution-note { display: flex; align-items: baseline; gap: 9px; font-size: 12px; line-height: 1.65; color: var(--muted); margin: 18px 0 0; }
.solution-note .square-dot { width: 4px; height: 4px; }
.specifications-prompt { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-top: 24px; }
.specifications-prompt p { margin: 0; font-size: 15px; color: var(--muted); }

/* Hardware is presented as two spacious editorial rows, not another wall of cards. */
.workstations { border-top: 1px solid var(--line); padding-block: 64px 56px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 32px; margin-bottom: 30px; }
.section-heading h2 { margin: 0; }
.section-heading > p { max-width: 370px; margin: 0; font-size: 15px; color: var(--muted); }
.edition-row { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 10px; }
.segmented { display: inline-flex; gap: 4px; padding: 4px; background: #f0f0f0; border-radius: 7px; flex: none; }
.segmented button { padding: 10px 17px; min-height: 42px; border: 0; border-radius: 4px; background: transparent; color: #626262; font-size: 14px; transition: background .18s, color .18s; }
.segmented button[aria-pressed="true"] { background: var(--paper); color: var(--ink); box-shadow: 0 1px 4px #00000014; }
.segmented button:hover { color: var(--ink); }
.edition-row > p { font-size: 13px; color: var(--muted); margin: 0; max-width: 380px; text-align: right; }
.product-grid { display: flex; flex-direction: column; }
.product-card { display: grid; grid-template-columns: .85fr 1.15fr; gap: 56px; align-items: center; padding: 36px 0 40px; min-width: 0; }
.product-card + .product-card { border-top: 1px solid var(--line); }
.system-image { margin: 0; min-width: 0; }
.system-image > img { width: 100%; height: auto; aspect-ratio: 1.5; object-fit: contain; background: #0b0b0b; border-radius: 8px; }
.system-image figcaption { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; font: 12px/1.6 var(--mono); color: var(--muted); padding-top: 12px; }
.product-content { min-width: 0; }
.system-heading { display: flex; align-items: start; justify-content: space-between; gap: 18px; margin-bottom: 16px; }
.system-audience { color: var(--muted); font-size: 12px; margin: 0 0 9px; }
.product-title h3 { font-size: 30px; line-height: 1.2; margin: 0 0 3px; }
.system-name { font-size: 15px; color: var(--muted); margin: 0; }
.system-status { display: inline-block; white-space: nowrap; background: var(--surface); color: var(--muted); font-size: 12px; padding: 5px 9px; border-radius: 4px; margin-top: 2px; }
.product-description { font-size: 14px; line-height: 1.75; color: var(--muted); margin: 0 0 20px; max-width: 530px; }
.system-specs { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 16px; border-block: 1px solid var(--line); margin: 0; padding: 18px 0; }
.system-specs > div { min-width: 0; }
.system-specs dt { font-size: 12px; font-family: var(--mono); color: var(--muted); margin-bottom: 7px; }
.system-specs dd { margin: 0; font-size: 15px; line-height: 1.6; }
.system-specs dd small { display: block; font-size: 12px; color: var(--muted); }
.edition-features { display: flex; flex-wrap: wrap; gap: 5px 18px; margin: 16px 0 22px; font-size: 12px; color: var(--muted); }
.edition-features li::before { content: "+"; margin-right: 6px; color: #999; }
.product-bottom { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.price-label { font-size: 12px; color: var(--muted); }
.price { font-size: 27px; letter-spacing: -.035em; line-height: 1.3; margin: 3px 0 0; }
.price.price-pending { font-size: 23px; }
.product-bottom .button { min-width: 190px; }
.product-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
.product-actions .button { flex: 1 1 230px; }
.specification-link { border-color: #999; }
.coming-soon-note { color: var(--muted); font-size: 13px; line-height: 1.7; margin: 20px 0; }
.buy-label { font: inherit; }
.platform-link { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 0; border-top: 1px solid var(--line); }
.platform-link > p { font-size: 14px; color: var(--muted); margin: 0; }
.product-disclaimer { max-width: 950px; font-size: 12px; line-height: 1.8; color: var(--muted); margin: 4px 0 0; }
.product-disclaimer strong { font-weight: 400; color: var(--ink); }

/* A soft inset section gives the support plans their own space. */
.care { padding: 24px 0 64px; }
.care-grid { display: grid; grid-template-columns: 1fr 1.15fr; align-items: start; gap: 80px; padding: 44px; background: var(--surface); border-radius: 12px; }
.care-intro > .label { font-size: 12px; color: var(--muted); margin-bottom: 22px; }
.care-intro h2 { font-size: 34px; margin-bottom: 18px; }
.care-intro > p:not(.label) { max-width: 360px; font-size: 15px; line-height: 1.75; color: var(--muted); margin-bottom: 14px; }
.care-plan { display: grid; grid-template-columns: 54px 1fr; gap: 24px; padding-bottom: 25px; }
.care-plan + .care-plan { border-top: 1px solid #ddd; padding-top: 25px; }
.care-duration { font-size: 44px; line-height: 1; letter-spacing: -.06em; }
.care-duration small { display: block; font: 12px/1.6 var(--mono); letter-spacing: 0; color: var(--muted); margin-top: 9px; }
.care-duration-price { font-size: 28px; }
.care-plan .label { font-size: 12px; margin-bottom: 8px; color: var(--muted); }
.care-plan h3 { font-size: 21px; margin-bottom: 10px; }
.care-plan p:not(.label) { font-size: 14px; line-height: 1.7; color: var(--muted); margin: 0; }
.care-note { padding-top: 20px; border-top: 1px solid #ddd; margin: 0; font-size: 12px; line-height: 1.8; color: var(--muted); }

.approach { padding-top: 24px; }
.approach-heading { display: flex; align-items: end; justify-content: space-between; gap: 50px; margin-bottom: 40px; }
.approach-heading h2 { margin: 0; max-width: 480px; }
.service-scope { font-size: 15px; line-height: 1.75; color: var(--muted); max-width: 460px; margin: 0; }
.process-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.process-grid article { position: relative; padding-top: 24px; border-top: 1px solid var(--line); }
.process-number { font: 12px/1.6 var(--mono); color: var(--muted); }
.process-number::before { content: ""; position: absolute; width: 5px; height: 5px; border-radius: 50%; background: #aaa; left: 0; top: -3px; }
.process-grid h3 { font-size: 22px; margin: 20px 0 13px; }
.process-grid p { font-size: 14px; line-height: 1.8; color: var(--muted); margin: 0; }
.roadmap-note { display: flex; align-items: baseline; gap: 26px; padding-top: 24px; border-top: 1px solid var(--line); margin-top: 36px; color: var(--muted); }
.roadmap-note > .label { flex: none; font-size: 12px; }
.roadmap-note p { font-size: 13px; line-height: 1.7; margin: 0; }
.roadmap-note > span:last-child { margin-left: auto; }

.performance { border-top: 1px solid var(--line); }
.performance-grid { display: grid; grid-template-columns: 1fr 1.15fr; gap: 80px; align-items: center; }
.performance-copy h2 { margin-bottom: 22px; }
.performance-copy > p { color: var(--muted); font-size: 15px; line-height: 1.8; margin-bottom: 18px; }
.performance-copy > .secondary-copy { font-size: 14px; }
.stack-labels { display: flex; flex-wrap: wrap; gap: 6px 16px; font: 12px/1.6 var(--mono); color: var(--muted); margin: 24px 0 16px; }
.benchmark-panel { border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.benchmark-top { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 24px; background: var(--surface); border-bottom: 1px solid var(--line); }
.benchmark-top .label { font-size: 12px; color: var(--muted); }
.benchmark-controls { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; padding: 16px 20px 0; }
.benchmark-controls button { display: flex; align-items: baseline; justify-content: center; gap: 6px; background: var(--paper); color: var(--muted); border: 1px solid var(--line); border-radius: 5px; padding: 10px 8px; font-size: 16px; }
.benchmark-controls button > span { font-size: 12px; }
.benchmark-controls button > i { display: none; }
.benchmark-controls button[aria-pressed="true"] { background: var(--ink); border-color: var(--ink); color: var(--paper); }
.benchmark-controls button:hover:not([aria-pressed="true"]) { background: var(--surface); }
.benchmark-results { display: grid; grid-template-columns: 1.15fr 1fr; gap: 22px 24px; padding: 28px 24px 22px; }
.benchmark-stat { display: flex; flex-direction: column; gap: 8px; }
.stat-value { font-size: 44px; line-height: 1.1; letter-spacing: -.05em; }
.stat-unit { margin-left: 6px; color: var(--muted); font: 12px/1.6 var(--mono); letter-spacing: 0; }
.benchmark-stat > .label { font-size: 12px; color: var(--muted); letter-spacing: 0; }
.benchmark-bar { grid-column: 1 / -1; height: 5px; background: #ededed; border-radius: 8px; overflow: hidden; margin-top: 2px; }
.benchmark-bar > span { display: block; height: 100%; border-radius: inherit; background: var(--ink); transition: width .35s ease; }
.benchmark-verdict { display: flex; align-items: baseline; gap: 8px; grid-column: 1 / -1; margin: 0; font-size: 12px; line-height: 1.7; }
.benchmark-verdict .square-dot { width: 4px; height: 4px; }
.benchmark-footnote { border-top: 1px solid var(--line); padding: 18px 24px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.75; }
.benchmark-footnote button { border: 0; background: transparent; text-decoration: underline; text-underline-offset: 3px; color: var(--ink); padding: 0; font-size: inherit; }

.questions { border-top: 1px solid var(--line); }
.faq-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; }
.faq-grid > div { min-width: 0; }
.faq-grid > div > .label { font-size: 12px; color: var(--muted); margin-bottom: 22px; }
.faq-grid h2 { margin-bottom: 16px; }
.faq-intro { font-size: 15px; color: var(--muted); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 24px; align-items: center; padding: 22px 0; font-size: 15px; line-height: 1.6; }
.faq-list details:first-child summary { padding-top: 0; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary > span { font-size: 22px; color: var(--muted); transition: transform .2s; flex: none; }
.faq-list details[open] summary > span { transform: rotate(45deg); }
.faq-list details > p { margin: 0 26px 24px 0; color: var(--muted); font-size: 14px; line-height: 1.85; }

.contact-section { padding: 16px 0 64px; }
.contact-inner { padding: 48px; background: var(--surface); border-radius: 12px; }
.contact-section .section-number { margin-bottom: 26px; font-size: 12px; }
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: start; gap: 80px; }
.contact-grid h2 { margin: 0; max-width: 400px; }
.contact-details > p { font-size: 15px; line-height: 1.75; color: var(--muted); margin-bottom: 22px; }
.contact-details > .contact-status { font-size: 12px; margin-top: 18px; margin-bottom: 0; }
.contact-email { display: inline-block; margin-top: 12px; text-decoration: underline; text-underline-offset: 4px; }
.contact-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.roadmap-note > .text-link { flex-shrink: 0; white-space: nowrap; }

@media (max-width: 1100px) {
  .intro-inner { gap: 40px; }
  .intro h1 { font-size: 48px; }
  .intro-copy { padding-top: 10px; }
  .intro-copy > p { font-size: 15px; }
  .product-card { gap: 36px; grid-template-columns: .8fr 1.2fr; }
  .system-heading { flex-wrap: wrap; gap: 10px; }
  .system-specs { gap: 12px; }
  .system-specs dd { font-size: 14px; }
  .care-grid, .performance-grid, .faq-grid, .contact-grid { gap: 48px; }
  .care-grid, .contact-inner { padding: 36px; }
  .process-grid { gap: 32px; }
  .service-card { padding: 24px; }
  .service-title h3 { font-size: 25px; }
}
@media (max-width: 900px) {
  .intro h1 { font-size: 42px; }
  .intro-title > .label { max-width: 260px; }
  .solutions-heading { align-items: start; }
  .solutions-heading > p { max-width: 240px; }
  .section-heading > p { max-width: 290px; font-size: 14px; }
  .edition-row > p { max-width: 270px; }
  .product-card { grid-template-columns: .75fr 1.25fr; gap: 28px; }
  .product-bottom { align-items: start; flex-direction: column; gap: 16px; }
  .product-bottom .button { width: 100%; }
  .care-grid, .performance-grid { gap: 32px; }
  .care-grid { grid-template-columns: 1fr 1.2fr; padding: 28px; }
  .care-intro h2 { font-size: 30px; }
  .care-plan { grid-template-columns: 44px 1fr; gap: 14px; }
  .care-duration-price { font-size: 23px; }
  .performance-grid { grid-template-columns: 1fr 1.25fr; }
  .benchmark-top { align-items: start; flex-direction: column; gap: 6px; padding: 18px; }
  .benchmark-controls { padding-inline: 14px; }
  .benchmark-results { padding-inline: 18px; gap: 20px 12px; }
  .benchmark-footnote { padding-inline: 18px; }
  .stat-value { font-size: 38px; }
  .benchmark-stat > .label { font-size: 12px; }
  .approach-heading { gap: 36px; }
  .service-scope { max-width: 360px; }
}
@media (max-width: 760px) {
  .landing-page .nav-contact { display: inline-flex; margin-left: auto; min-height: 40px; }
  .landing-page .nav-label { display: none; }
  .landing-page .nav-short { display: inline; }
  .intro-inner { grid-template-columns: 1fr; padding-block: 34px 30px; gap: 18px; }
  .intro-title > .label { max-width: none; font-size: 12px; margin-bottom: 14px; }
  .intro h1 { font-size: clamp(36px, 7.5vw, 48px); max-width: 620px; }
  .intro-copy { max-width: 560px; padding-top: 0; }
  .intro-copy > p { font-size: 15px; line-height: 1.7; margin-bottom: 12px; }
  .intro-status { font-size: 12px; }
  .landing-page .solutions { padding: 12px 0 42px; }
  .solutions-heading { display: block; margin-bottom: 22px; }
  .solutions-heading h2 { font-size: 23px; }
  .solutions-heading > p { max-width: none; margin-top: 8px; font-size: 13px; }
  .service-grid { grid-template-columns: 1fr; gap: 16px; }
  .service-card { padding: 23px; }
  .service-topline { margin-bottom: 18px; }
  .service-title h3 { font-size: 26px; }
  .service-description { max-width: 540px; }
  .service-inclusions { order: 2; margin: 22px 0 0; }
  .service-bottom { order: 1; }
  .solution-note { font-size: 12px; }
  .workstations { padding-block: 44px; }
  .section-heading { align-items: start; flex-direction: column; gap: 16px; margin-bottom: 24px; }
  .section-heading > p { max-width: 440px; font-size: 15px; }
  .section-heading > p br { display: none; }
  .edition-row { align-items: start; flex-direction: column; gap: 14px; margin-bottom: 4px; }
  .edition-row > p { max-width: none; font-size: 12px; text-align: left; }
  .product-card { grid-template-columns: 1fr; gap: 25px; padding: 28px 0 32px; }
  .system-image { width: 100%; }
  .system-image > img { aspect-ratio: 1.9; }
  .system-image figcaption { font-size: 12px; }
  .system-heading { flex-wrap: nowrap; gap: 16px; }
  .system-audience { font-size: 12px; }
  .system-status { font-size: 12px; }
  .product-description { font-size: 14px; }
  .system-specs { gap: 14px; padding-block: 16px; }
  .system-specs dt { font-size: 12px; }
  .system-specs dd { font-size: 14px; }
  .product-bottom { flex-direction: row; align-items: center; }
  .product-bottom .button { min-width: 0; width: auto; gap: 20px; }
  .price { font-size: 25px; }
  .price.price-pending { font-size: 21px; }
  .platform-link { align-items: start; flex-direction: column; gap: 10px; }
  .platform-link > p { font-size: 13px; }
  .care { padding-block: 0 52px; }
  .care-grid { grid-template-columns: 1fr; gap: 30px; padding: 26px; }
  .care-intro > .label { font-size: 12px; margin-bottom: 18px; }
  .care-intro h2 { font-size: 30px; max-width: 440px; }
  .care-intro > p:not(.label) { max-width: none; }
  .care-plan { grid-template-columns: 45px 1fr; gap: 20px; }
  .care-plan h3 { font-size: 21px; }
  .care-plan .label { font-size: 12px; }
  .care-note { font-size: 12px; }
  .approach { padding-top: 0; }
  .approach-heading { align-items: start; flex-direction: column; gap: 20px; margin-bottom: 32px; }
  .service-scope { max-width: none; }
  .process-grid { grid-template-columns: 1fr; gap: 28px; }
  .process-grid article { padding-top: 20px; }
  .process-grid h3 { margin: 12px 0 10px; }
  .roadmap-note { flex-wrap: wrap; gap: 10px; margin-top: 28px; }
  .roadmap-note > span:last-child { display: none; }
  .performance-grid { grid-template-columns: 1fr; gap: 32px; }
  .benchmark-top { flex-direction: row; align-items: center; padding: 18px; }
  .benchmark-top .label { font-size: 12px; }
  .benchmark-results { padding-inline: 20px; }
  .benchmark-stat > .label { font-size: 12px; }
  .stat-value { font-size: 42px; }
  .faq-grid { grid-template-columns: 1fr; gap: 26px; }
  .faq-grid > div > .label { margin-bottom: 18px; }
  .faq-grid h2 { margin-bottom: 14px; }
  .faq-intro { margin-bottom: 0; }
  .faq-list details:first-child summary { padding-top: 20px; }
  .faq-list details:first-child { border-top: 1px solid var(--line); }
  .faq-list summary { font-size: 15px; padding-block: 20px; }
  .faq-list details > p { margin-right: 0; }
  .contact-section { padding: 0 0 40px; }
  .contact-inner { padding: 26px; }
  .contact-section .section-number { font-size: 12px; }
  .contact-grid { grid-template-columns: 1fr; gap: 22px; }
  .contact-grid h2 { font-size: 31px; }
}
@media (max-width: 380px) {
  .intro h1 { font-size: 35px; }
  .intro-copy > p { font-size: 14px; }
  .service-card { padding: 20px; }
  .service-title h3 { font-size: 23px; }
  .service-description { font-size: 14px; }
  .service-inclusions li { font-size: 13px; }
  .system-heading { flex-direction: column; gap: 12px; }
  .product-bottom { align-items: stretch; flex-direction: column; }
  .product-bottom .button { width: 100%; }
  .system-specs { gap: 9px; }
  .system-specs dd { font-size: 13px; }
  .system-specs dd small { font-size: 12px; }
  .care-grid, .contact-inner { padding: 22px; }
  .care-plan { gap: 16px; grid-template-columns: 36px 1fr; }
  .care-duration { font-size: 38px; }
  .care-plan h3 { font-size: 20px; }
  .benchmark-top { align-items: start; flex-direction: column; }
  .benchmark-controls { gap: 4px; padding-inline: 10px; }
  .benchmark-controls button { gap: 4px; padding-inline: 4px; font-size: 15px; }
  .benchmark-controls button > span { font-size: 12px; }
  .benchmark-results { padding-inline: 16px; }
  .stat-value { font-size: 36px; }
  .stat-unit { font-size: 12px; }
  .benchmark-stat > .label { font-size: 12px; }
}
.privacy-notice { position: fixed; left: 24px; bottom: 24px; z-index: 39; width: min(460px,calc(100vw - 48px)); background: #fff; color: #111; border: 1px solid #ddd; border-radius: 12px; padding: 22px; box-shadow: 0 8px 36px #0002; }
.privacy-notice h2 { font-size: 17px; line-height: 1.4; letter-spacing: -.02em; margin: 0 0 9px; }
.privacy-notice p { font-size: 14px; line-height: 1.6; color: #666; margin: 0 0 16px; }
.privacy-notice-actions { display: flex; align-items: center; gap: 12px; justify-content: space-between; }
.privacy-notice-actions button { font: 14px/1.4 var(--sans); background: #fff; color: #111; border: 0; padding: 9px 0; text-decoration: underline; text-underline-offset: 3px; }
.privacy-notice-actions #dismiss-privacy { background: #111; color: #fff; padding: 10px 20px; border-radius: 6px; text-decoration: none; }
body:has(.chat-panel:not([hidden])) .privacy-notice { display: none; }
@media (max-width: 760px) { .privacy-notice { left: 16px; bottom: 88px; width: calc(100vw - 32px); padding: 18px; } }
@media print { .privacy-notice { display: none; } }

.service-note { margin-top: 12px; font-size: 0.8125rem; line-height: 1.5; opacity: 0.68; }

.price-lead-time { margin-top: 6px; font: 12px/1.5 var(--mono); color: var(--muted); letter-spacing: 0; }

.spec-model dd { font-weight: 600; }
.spec-model dt { color: var(--ink, inherit); opacity: .9; }

/* Centred, product-first hero */
.intro-centred { display: block; text-align: center; padding-block: 64px 44px; position: relative; }
.intro-centred .intro-eyebrow { display: inline-flex; align-items: center; gap: 9px; justify-content: center; color: var(--muted); margin-bottom: 20px; font-size: 12px; }
.intro-centred h1 { margin: 0 auto; max-width: 15ch; }
.intro-lead { max-width: 56ch; margin: 22px auto 0; font-size: 17px; line-height: 1.7; color: var(--muted); }
.intro-lead strong { color: var(--ink, inherit); font-weight: 500; }
.intro-actions { margin-top: 30px; display: flex; flex-direction: column; align-items: center; gap: 14px; }
.intro-centred .intro-status { justify-content: center; }
@media (max-width: 760px) {
  .intro-centred { padding-block: 40px 30px; }
  .intro-lead { font-size: 15px; }
}

/* Available badge: uses the single brand accent, no second colour introduced */
.system-status-available { background: #e9f5ed; color: #1a7340; font-weight: 500; }
.system-status-available::before { content: ""; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: #21925a; margin-right: 7px; vertical-align: 1px; }
.intro-actions .intro-status { color: #1a7340; }
.intro-actions .intro-status::before { background: #21925a; }

/* Order requests are delivered to the team inbox before payment. */
#solution-enquiry { padding: 20px; }
#solution-enquiry h3 { font-size: 20px; margin: 0 0 20px; }
.order-row { display: grid; grid-template-columns: minmax(0, 1fr) 88px; align-items: center; gap: 4px 16px; margin: 0 0 20px; }
.order-row label { font-size: 14px; grid-column: 1; grid-row: 1; }
.dialog-body .order-row select { grid-column: 2; grid-row: 1 / 3; width: 88px; min-width: 0; height: 44px; padding: 0 10px; margin: 0; font: 14px var(--sans); border: 1px solid #ccc; border-radius: 6px; background: #fff; }
.order-max { grid-column: 1; grid-row: 2; font: 12px/1.4 var(--sans); color: var(--muted); }
.order-total { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; padding: 16px 0; border-block: 1px solid #e2e2e2; margin-bottom: 16px; }
.order-total strong { font-size: 25px; line-height: 1.2; font-weight: 400; letter-spacing: -.03em; }
#solution-enquiry .order-terms { font-size: 13px; line-height: 1.65; margin: 0 0 14px; }
.edition-choice { margin: 0 0 18px; }
.edition-choice label { display: block; font-size: 14px; margin: 0 0 6px; }
.dialog-body .edition-choice select { width: 100%; height: 44px; padding: 0 10px; margin: 0; font: 14px var(--sans); border: 1px solid #ccc; border-radius: 6px; background: #fff; }
.edition-choice .configuration-edition-note { font: 13px/1.6 var(--sans); color: var(--muted); margin: 8px 0 0; }
#solution-enquiry .order-consent { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; line-height: 1.6; margin: 0 0 14px; padding: 12px; border: 1px solid #d8d8d8; border-radius: 8px; background: #fafafa; cursor: pointer; }
#solution-enquiry .order-consent input { flex: none; width: 18px; height: 18px; margin: 2px 0 0; accent-color: #111; }
#solution-enquiry .order-consent-details { background: none; border: 0; padding: 0; font: inherit; color: inherit; text-decoration: underline; cursor: pointer; }
#solution-enquiry .order-note { font: 12px/1.6 var(--sans); color: var(--muted); margin: 0 0 16px; }
#order-confirm { margin-top: 0; }
#order-confirm [data-order-label] { font: inherit; transform: none; }
#order-confirm[aria-busy="true"] { cursor: progress; }
#solution-enquiry .order-feedback { font-size: 13px; line-height: 1.6; margin: 14px 0 0; padding: 10px 12px; border: 1px solid var(--line); border-radius: 5px; background: #fff; }
#solution-enquiry .order-payment-note { font-size: 12px; margin: 10px 0 0; color: var(--muted); }
@media (max-width: 480px) {
  #solution-enquiry { padding: 16px; }
  #solution-enquiry h3 { font-size: 19px; }
}


/* Hero headline painted as particles; the real h1 stays for a11y and SEO */
.intro-centred { position: relative; }
.hero-type { position: absolute; left: 0; right: 0; pointer-events: auto; touch-action: none; z-index: 1; }
.hero-type canvas { display: block; margin: 0 auto; }
#hero-title.is-painted { visibility: hidden; }
