.cims-hero {padding:76px 0 86px;}
.cims-hero-grid {display:grid;grid-template-columns:1.3fr 1fr;gap:76px;align-items:center;}
.cims-hero h1 {font-size:clamp(40px,4.1vw,60px);letter-spacing:-2.6px;line-height:1.08;margin:23px 0;}
.cims-hero h1 em {font-family:Georgia,"Times New Roman",serif;font-weight:400;color:var(--accent);}
.cims-lead {font-size:20px;line-height:1.6;max-width:570px;}
.cims-intro-copy {font-size:14px;line-height:1.9;color:var(--muted);max-width:540px;}
.cims-actions {display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:30px;}
.cims-location {font-size:11px;color:var(--muted);margin-top:20px;}
.cims-flow {background:var(--sage);border:1px solid #d4dbca;border-radius:var(--radius);padding:34px 36px;}
.cims-flow h2 {font-size:32px;line-height:1.2;letter-spacing:-.8px;margin-top:16px;}
.cims-flow ol {margin-top:28px;}
.cims-flow li {display:grid;grid-template-columns:32px 1fr;gap:15px;padding:18px 0;border-top:1px solid #c9d1bf;}
.cims-flow li:last-child {padding-bottom:0;}
.flow-number {font-size:11px;color:var(--muted);padding-top:4px;}
.cims-flow h3 {font-size:18px;}
.cims-flow p:not(.eyebrow) {font-size:12px;line-height:1.7;color:var(--muted);margin-top:5px;}
.cims-flow-wide {margin-top:30px;}
.cims-flow-wide h2 br {display:none;}
.cims-flow-wide ol {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;}
.cims-capabilities {border-top:1px solid var(--line);}
.cims-capability-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:0 42px;margin-top:45px;}
.cims-capability-grid article {border-top:1px solid var(--line);padding:26px 0 34px;}
.cims-capability-grid .eyebrow {font-size:10px;}
.cims-capability-grid h3 {font-size:22px;letter-spacing:-.4px;line-height:1.3;margin-top:18px;}
.cims-capability-grid p {font-size:14px;color:var(--muted);line-height:1.8;margin-top:12px;}
.cims-screen-section {background:var(--dark);color:var(--paper);}
.cims-screen-section .eyebrow {color:#c5d5b4;}
.cims-screen-section .heading-row>p {color:#c5ccbf;}
.cims-screen-section a:focus-visible {outline-color:#dce8ba;}
.cims-screen-section .product-shot {margin-top:36px;}
.cims-demo-preview {display:grid;grid-template-columns:1fr 1.5fr;gap:40px;margin-top:32px;}
.cims-demo-preview h3 {font-size:20px;}
.cims-demo-preview ul {display:grid;gap:12px;color:#d0d9c7;font-size:13px;}
.cims-demo-preview li::before {content:"↳";margin-right:12px;color:#b8cc9c;}
.cims-experience-grid {display:grid;grid-template-columns:280px 1fr;gap:70px;align-items:center;max-width:1000px;}
.cims-experience-grid>img {width:280px;aspect-ratio:4/4.5;object-fit:cover;border-radius:var(--radius);}
.cims-experience h2 {font-size:36px;line-height:1.2;letter-spacing:-1px;margin:18px 0 24px;}
.cims-experience p:not(.eyebrow) {font-size:14px;color:var(--muted);line-height:1.8;}
.cims-experience p.cims-experience-note {font-size:11px;margin-top:14px;}
.cims-experience .text-link {margin-top:20px;}
.cims-questions {background:#eeefe8;border-block:1px solid var(--line);}
.cims-questions-grid {display:grid;grid-template-columns:1fr 1.5fr;gap:70px;}
.cims-faq-list {border-top:1px solid #cbd0c3;}
.cims-faq-list details {border-bottom:1px solid #cbd0c3;padding:22px 0;}
.cims-faq-list summary {font-size:16px;font-weight:500;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;}
.cims-faq-list summary::-webkit-details-marker {display:none;}
.cims-faq-list summary::after {content:"+";font-size:22px;flex-shrink:0;color:var(--muted);}
.cims-faq-list details[open] summary::after {content:"−";}
.cims-faq-list p {font-size:14px;color:var(--muted);line-height:1.8;margin-top:16px;}
.cims-faq-list p a {text-decoration:underline;text-underline-offset:3px;}
.cims-custom {padding:48px 0;}
.cims-custom-inner {display:flex;align-items:center;justify-content:space-between;gap:50px;}
.cims-custom h2 {font-size:28px;line-height:1.25;letter-spacing:-.5px;margin:12px 0;}
.cims-custom p:not(.eyebrow) {max-width:680px;color:var(--muted);font-size:14px;}
.cims-custom .text-link {flex-shrink:0;max-width:100%;}
.cims-demo-grid {display:grid;grid-template-columns:1.3fr 1fr;gap:100px;align-items:center;}
.cims-demo .contact-copy h2 {font-size:43px;line-height:1.15;}
.cims-demo .contact-copy .cims-demo-region {font-size:12px;color:#c5d5b4;margin-top:20px;}
.cims-demo-contact>p {font-size:12px;color:#c4cdbd;margin-top:14px;}
.cims-other-contact {display:grid;gap:12px;margin-top:26px;font-size:15px;}
.cims-other-contact a {width:fit-content;text-decoration:underline;text-underline-offset:4px;}
.cims-demo-contact .cims-hours {margin-top:28px;}
.cims-demo-contact address {color:#c4cdbd;font-size:12px;line-height:1.8;margin-top:10px;}

/* Focused destination for the telecom and fibre campaign. */
.telecom-use-case {margin-top:42px;}
.telecom-benefits {display:grid;gap:12px;margin-top:22px;font-size:14px;line-height:1.7;}
.telecom-benefits li {position:relative;padding-left:22px;}
.telecom-benefits li::before {content:"✓";position:absolute;left:0;color:#536146;}
.telecom-benefits+p {margin-top:22px;}
.telecom-use-case .cims-pricing {margin-top:0;}
.telecom-use-case .button {max-width:100%;gap:18px;margin-top:24px;font-size:12px;}
.telecom-use-case .text-link {display:flex;width:fit-content;margin-top:20px;}

@media (max-width:1100px) {
  .cims-hero-grid {gap:40px;grid-template-columns:1.2fr 1fr;}
  .cims-flow {padding:28px;}
  .cims-demo-grid {gap:45px;}
  .cims-actions {gap:16px;}
  .cims-custom-inner {gap:30px;}
}
@media (max-width:900px) {
  .cims-flow-wide ol {grid-template-columns:repeat(2,minmax(0,1fr));}
  .cims-hero-grid {grid-template-columns:1fr;gap:40px;}
  .cims-hero h1 {font-size:56px;max-width:650px;}
  .cims-flow ol {display:grid;grid-template-columns:1fr 1fr;gap:0 30px;}
  .cims-flow h2 br {display:none;}
  .cims-capability-grid {grid-template-columns:repeat(2,1fr);gap:0 30px;}
  .cims-experience-grid {grid-template-columns:220px 1fr;gap:35px;}
  .cims-experience-grid>img {width:220px;}
  .cims-experience h2 {font-size:30px;}
  .cims-questions-grid {grid-template-columns:1fr;gap:30px;}
  .cims-custom-inner {align-items:flex-start;flex-direction:column;gap:20px;}
  .cims-demo-grid {grid-template-columns:1fr;gap:38px;}
}
@media (max-width:720px) {
  .cims-flow-wide ol {grid-template-columns:1fr;}
  .cims-hero {padding:38px 0 55px;}
  .cims-hero h1 {font-size:43px;letter-spacing:-1.7px;margin:20px 0;}
  .cims-hero .eyebrow {font-size:9px;letter-spacing:1.2px;}
  .cims-lead {font-size:17px;}
  .cims-intro-copy {font-size:13px;}
  .cims-actions {align-items:flex-start;flex-direction:column;gap:12px;margin-top:25px;}
  .cims-actions .button,.cims-demo-contact .button {font-size:12px;gap:15px;padding:14px 16px;max-width:100%;}
  .cims-location {font-size:10px;}
  .cims-flow {padding:25px 22px;}
  .cims-flow h2 {font-size:28px;}
  .cims-flow ol {grid-template-columns:1fr;gap:0;margin-top:22px;}
  .cims-capability-grid {grid-template-columns:1fr;margin-top:30px;}
  .cims-capability-grid article {padding:24px 0;}
  .cims-capability-grid h3 {font-size:22px;margin-top:12px;}
  .cims-capability-grid p {font-size:13px;}
  .cims-demo-preview {grid-template-columns:1fr;gap:17px;}
  .cims-demo-preview ul {font-size:12px;}
  .cims-experience-grid {grid-template-columns:1fr;gap:28px;}
  .cims-experience-grid>img {width:160px;}
  .cims-experience h2 {font-size:32px;margin-bottom:20px;}
  .cims-experience p:not(.eyebrow) {font-size:13px;}
  .cims-faq-list summary {font-size:15px;}
  .cims-faq-list p {font-size:13px;}
  .cims-demo .contact-copy h2 {font-size:35px;}
  .cims-custom {padding:36px 0;}
  .cims-custom h2 {font-size:26px;}
  .cims-custom p:not(.eyebrow) {font-size:13px;}
}
@media (max-width:400px) {
  .cims-hero h1 {font-size:38px;}
  .cims-actions .button,.cims-demo-contact .button {font-size:11px;gap:12px;padding:13px;}
  .cims-flow h2 {font-size:25px;}
}
@media print {
  .cims-flow,.cims-screen-section,.cims-questions {background:white;color:black;}
  .cims-screen-section .eyebrow,.cims-screen-section .heading-row>p,.cims-demo-preview ul {color:black;}
}
