/* Scoped styles for the managed IT service and pricing pages. */
.seo-pages { opacity: 1; }
.seo-pages h1,.seo-pages h2,.seo-pages h3 { text-wrap: pretty; }
.seo-pages .brand-name span { font-size: .75rem; letter-spacing: .12em; }
.seo-pages .nav-toggle { min-width: 44px; min-height: 44px; }
.seo-pages .skip-link { z-index: 201; }
.seo-hero .page-head-inner { padding-block:var(--space-12); }
.seo-hero-grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr); align-items:center; gap:var(--space-16); }
.seo-hero h1 { max-width:23ch; margin-top:var(--space-4); line-height:1.08; }
.seo-hero .eyebrow { color:#68c4d0; }
.seo-mobile-price { display:none; }
.seo-hero .lede { max-width:57ch; margin-top:var(--space-6); font-size:var(--text-base); line-height:1.75; color:#c0cbe0; }
.seo-hero .btn-row { margin-top:var(--space-8); flex-direction:column; align-items:flex-start; gap:var(--space-5); }
.seo-hero .btn-primary { background:var(--teal-600); }
.seo-secondary { color:#c7e9ed; display:inline-flex; gap:var(--space-3); font-size:var(--text-sm); font-weight:600; padding-block:var(--space-2); }
.seo-secondary:hover { color:white; text-decoration:underline; }
.hero-qualifier { font-size:var(--text-xs); color:#c0cbe0; margin-top:var(--space-4); max-width:46ch; }
.seo-price-card { color:var(--navy); background:#fff; border-radius:var(--radius-lg); padding:var(--space-8); box-shadow:var(--shadow-navy); border-top:4px solid #5fc7d6; }
.price-kicker { color:var(--teal-700); font-weight:700; font-size:var(--text-xs); text-transform:uppercase; letter-spacing:.09em; }
.price { display:flex; align-items:center; gap:var(--space-4); margin-top:var(--space-4); font-variant-numeric:tabular-nums; }
.price strong { font-size:clamp(3rem,4.5vw,4.5rem); line-height:1.15; letter-spacing:-.055em; }
.price > span { font-size:var(--text-sm); color:var(--gray-500); line-height:1.6; }
.minimum { padding-bottom:var(--space-5); margin-top:var(--space-2); border-bottom:1px solid var(--gray-100); font-size:var(--text-sm); font-weight:600; }
.minimum span { color:var(--gray-300); margin-inline:var(--space-1); }
.seo-price-card ul { list-style:none; margin-block:var(--space-5); }
.seo-price-card li { position:relative; padding-left:var(--space-5); margin-top:var(--space-3); color:var(--gray-600); font-size:var(--text-sm); line-height:1.5; }
.seo-price-card li::before { content:"✓"; position:absolute; left:0; color:var(--teal-700); font-weight:700; }
.price-exclusions { font-size:var(--text-xs); color:var(--gray-500); line-height:1.6; }
.price-terms { display:flex; justify-content:space-between; border-top:1px solid var(--gray-100); padding-top:var(--space-4); margin-top:var(--space-5); color:var(--teal-700); font-size:var(--text-sm); font-weight:600; }
.seo-contract { border-top:1px solid #ffffff20; padding-top:var(--space-5); margin-top:var(--space-8); color:#b8c5dd; font-size:var(--text-xs); line-height:1.7; max-width:112ch; scroll-margin-top:90px; }
.seo-contract strong { color:#dae5f6; }
.seo-jumps { border-bottom:1px solid var(--gray-100); background:#fff; }
.seo-jumps > .wrap { display:flex; align-items:center; gap:var(--space-8); flex-wrap:wrap; min-height:72px; padding-block:var(--space-3); }
.seo-jumps span { color:var(--gray-500); font-size:var(--text-xs); text-transform:uppercase; letter-spacing:.08em; }
.seo-jumps a { color:var(--teal-700); font-size:var(--text-sm); font-weight:600; padding-block:var(--space-3); }
.seo-jumps a:hover { text-decoration:underline; }
.seo-section { padding-block:clamp(var(--space-12),5.5vw,var(--space-20)); scroll-margin-top:74px; }
.seo-prose { max-width:840px; margin-inline:auto; }
.seo-section h2 { font-size:var(--text-xl); font-weight:800; margin-bottom:var(--space-6); max-width:32ch; line-height:1.2; }
.seo-section .eyebrow { margin-bottom:var(--space-4); }
.seo-section p { color:var(--gray-600); line-height:1.8; margin-block:var(--space-4); max-width:76ch; }
.seo-section h3 { font-size:var(--text-lg); margin-top:var(--space-8); margin-bottom:var(--space-4); line-height:1.4; font-weight:700; }
.seo-section ul { margin-top:var(--space-5); padding-left:var(--space-6); }
.seo-section li { color:var(--gray-600); padding-left:var(--space-1); margin-block:var(--space-3); line-height:1.75; }
.seo-section strong { color:var(--navy); font-weight:650; }
.seo-section a:not(.btn) { color:var(--teal-700); text-decoration:underline; text-underline-offset:3px; }
.seo-section a:not(.btn):hover { color:var(--navy); }
.seo-section .btn { color:#fff; margin-top:var(--space-3); }
.seo-features { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-6); margin-top:var(--space-8); }
.seo-feature { background:#fff; border:1px solid var(--gray-100); padding:var(--space-6); border-radius:var(--radius-lg); }
.seo-feature h3 { margin-block:var(--space-4) var(--space-3); font-size:var(--text-lg); }
.seo-feature p { margin:0; font-size:var(--text-sm); line-height:1.8; }
.feature-number { display:inline-flex; align-items:center; justify-content:center; background:var(--teal-100); color:var(--teal-700); font-size:var(--text-xs); font-weight:700; width:40px; height:40px; border-radius:var(--radius-md); }
.seo-onsite-layout { display:grid; grid-template-columns:1.4fr 1fr; gap:var(--space-16); align-items:center; }
.onsite-number { border-left:1px solid #bdd4db; padding-left:var(--space-12); }
.onsite-number > strong { font-size:clamp(3rem,4vw,4.5rem); line-height:1.1; letter-spacing:-.04em; }
.onsite-number strong span { font-size:var(--text-xl); margin-left:var(--space-3); font-weight:600; letter-spacing:-.02em; }
.onsite-number p { margin-block:var(--space-3); font-size:var(--text-base); }
.onsite-tag { color:var(--teal-700); font-size:var(--text-sm); font-weight:600; }
.seo-table-scroll { overflow-x:auto; margin-block:var(--space-8); border:1px solid var(--gray-200); border-radius:var(--radius-md); background:#fff; }
.seo-table-scroll:focus-visible { outline-offset:4px; }
.seo-table-hint { display:none; }
.seo-table-scroll table { border-collapse:collapse; width:100%; min-width:540px; font-size:var(--text-sm); }
.seo-table-scroll th { background:var(--navy); color:#fff; font-weight:600; text-align:left; line-height:1.5; }
.seo-table-scroll td, .seo-table-scroll th { padding:var(--space-4) var(--space-6); vertical-align:top; border-bottom:1px solid var(--gray-100); }
.seo-table-scroll td { color:var(--gray-600); }
.seo-table-scroll td:first-child { color:var(--navy); font-weight:600; width:29%; }
.seo-table-scroll tr:last-child td { border-bottom:none; }
.seo-table-scroll tbody tr:nth-child(even) { background:#f7f9fb; }
.seo-budget .seo-table-scroll:first-of-type td { font-variant-numeric:tabular-nums; font-size:var(--text-base); }
.seo-budget .seo-table-scroll:first-of-type td:nth-child(2) { color:var(--teal-700); font-weight:750; }
.seo-faq { border-top:1px solid var(--gray-200); margin-top:var(--space-8); }
.seo-faq details { border-bottom:1px solid var(--gray-200); }
.seo-faq summary { list-style:none; cursor:pointer; font-weight:650; font-size:var(--text-base); color:var(--navy); padding:var(--space-5) var(--space-1); display:flex; justify-content:space-between; align-items:center; gap:var(--space-6); line-height:1.5; }
.seo-faq summary::-webkit-details-marker { display:none; }
.seo-faq summary > span { color:var(--teal-700); font-size:var(--text-xl); font-weight:400; transition:transform var(--transition); }
.seo-faq details[open] summary > span { transform:rotate(45deg); }
.seo-faq details[open] summary { color:var(--teal-700); }
.faq-answer { padding:0 var(--space-8) var(--space-5) var(--space-1); }
.faq-answer p { margin:0; }
.seo-final { text-align:center; }
.seo-final h2 { color:#fff; margin-inline:auto; }
.seo-final p { color:#bdcbe2; margin-inline:auto; }
.seo-final strong { color:#fff; }
.seo-final .eyebrow { color:#78d0db; }
.seo-final a:not(.btn) { color:#94dce5; }
.seo-final a:not(.btn):hover { color:white; }
.seo-final .btn { margin-block:var(--space-4); }
.seo-pages .dropdown { max-height:calc(100dvh - 100px); overflow-y:auto; }
.seo-pages .has-menu:focus-within > .dropdown { opacity:1; visibility:visible; transform:translateY(0); pointer-events:auto; }
.seo-pages .site-footer { border-top:1px solid #ffffff14; }
.seo-pages .footer-brand p { color:#abbad3; }
.seo-pages .breadcrumb, .seo-pages .breadcrumb span { color:#a9b8d1; }
@media (max-width:1100px) {
  .seo-pages .nav { gap:var(--space-3); }
  .seo-pages .brand-name span { display:none; }
  .seo-pages .nav-links a { padding-inline:var(--space-2); }
  .seo-hero-grid { gap:var(--space-8); grid-template-columns:minmax(0,1.3fr) minmax(290px,1fr); }
}
@media (max-width:850px) {
  .seo-hero-grid { grid-template-columns:1fr; }
  .seo-hero h1 { max-width:25ch; }
  .seo-price-card { max-width:600px; }
  .seo-features { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .seo-onsite-layout { gap:var(--space-8); }
}
@media (max-width:600px) {
  .seo-section .seo-table-hint { display:block; font-size:var(--text-xs); color:var(--teal-700); margin-bottom:calc(-1 * var(--space-4)); }
  .seo-mobile-price { display:flex; flex-direction:column; gap:4px; margin-top:var(--space-5); color:#d0eaf0; font-size:var(--text-sm); }
  .seo-mobile-price strong { color:#fff; font-size:var(--text-lg); }
  .seo-hero .page-head-inner { padding-block:var(--space-8); }
  .seo-hero .breadcrumb { margin-bottom:var(--space-6); }
  .seo-hero h1 { font-size:clamp(2rem,7.5vw,2.75rem); }
  .seo-hero .btn-row { margin-top:var(--space-6); }
  .seo-hero .btn-primary { width:100%; justify-content:center; font-size:var(--text-sm); padding-inline:var(--space-4); }
  .seo-price-card { padding:var(--space-6); }
  .seo-contract { margin-top:var(--space-6); }
  .seo-jumps > .wrap { gap:var(--space-1) var(--space-5); }
  .seo-jumps span { flex-basis:100%; }
  .seo-jumps a { font-size:var(--text-xs); padding-block:var(--space-2); }
  .seo-features { grid-template-columns:1fr; gap:var(--space-4); }
  .seo-onsite-layout { grid-template-columns:1fr; }
  .onsite-number { border-left:none; border-top:1px solid #bdd4db; padding:var(--space-6) 0 0; }
  .seo-table-scroll table { min-width:520px; }
  .seo-table-scroll td,.seo-table-scroll th { padding:var(--space-4); }
  .seo-faq summary { gap:var(--space-4); }
  .seo-final .btn { width:100%; white-space:normal; }
}
@media (prefers-reduced-motion:reduce) {
  .seo-pages *, .seo-pages *::before, .seo-pages *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}
/* Prevent inherited overflow:hidden from creating a sideways-scrollable body. */
body.seo-pages:not(.menu-open) { overflow-x:clip; }

