/* Control Alt Access full site styles */
:root {
  --bg: #090814;
  --surface: #151229;
  --surface-2: #201a3f;
  --text: #f7f3ff;
  --muted: #d8cfee;
  --accent: #9cff6b;
  --accent-2: #c58cff;
  --border: rgba(247, 243, 255, 0.28);
  --shadow: 0 1rem 2.5rem rgba(0,0,0,.35);
  --focus: #ffffff;
  color-scheme: dark;
}
@media (prefers-color-scheme: light) {
  :root {
    --bg: #fbf8ff;
    --surface: #ffffff;
    --surface-2: #efe7ff;
    --text: #171225;
    --muted: #352b48;
    --accent: #236800;
    --accent-2: #5f2fb8;
    --border: rgba(23,18,37,.25);
    --shadow: 0 .7rem 2rem rgba(60,36,91,.16);
    --focus: #111111;
    color-scheme: light;
  }
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height:1.6; color:var(--text); background: radial-gradient(circle at top left, rgba(156,255,107,.14), transparent 28rem), radial-gradient(circle at top right, rgba(197,140,255,.18), transparent 24rem), var(--bg); }
a { color: var(--accent); text-underline-offset: .18em; }
a:hover { color: var(--accent-2); }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, summary:focus-visible { outline: .2rem solid var(--focus); outline-offset: .18rem; }
img { max-width: 100%; height: auto; }
.skip-link { position:absolute; left:1rem; top:-10rem; z-index:100; padding:.75rem 1rem; background:var(--surface); color:var(--text); border:2px solid var(--accent); border-radius:.5rem; }
.skip-link:focus { top:1rem; }
.site-header { border-bottom:1px solid var(--border); background: color-mix(in srgb, var(--bg) 84%, transparent); backdrop-filter: blur(10px); position: sticky; top:0; z-index: 10; }
.header-inner { max-width: 74rem; margin:auto; padding:1rem; display:flex; align-items:center; gap:1rem; justify-content:space-between; flex-wrap:wrap; }
.brand-logo { max-width: min(20rem, 80vw); display:block; }
.site-nav ul { list-style:none; padding:0; margin:0; display:flex; gap:.5rem; flex-wrap:wrap; }
.site-nav a { display:inline-block; padding:.55rem .85rem; border:1px solid var(--border); border-radius:999px; color:var(--text); text-decoration:none; background: color-mix(in srgb, var(--surface) 82%, transparent); }
.site-nav a[aria-current="page"], .site-nav a:hover { border-color:var(--accent); color:var(--accent); }
main { max-width: 76rem; margin: 0 auto; padding: 1.25rem; }
.hero { display:grid; grid-template-columns: minmax(0, 1fr); gap:1.5rem; align-items:center; margin: 1.5rem 0 2rem; }
.hero-banner, .hero-copy { border:1px solid var(--border); border-radius:1.25rem; background: color-mix(in srgb, var(--surface) 88%, transparent); box-shadow: var(--shadow); padding:1rem; }
.hero-banner img { border-radius: .9rem; display:block; margin:auto; }
.hero-copy { padding: clamp(1.25rem, 3vw, 2rem); }
h1, h2, h3 { line-height:1.2; }
h1 { font-size: clamp(2rem, 5vw, 4rem); margin:0 0 .5rem; }
.hero-tagline { font-size: clamp(1.2rem, 2.3vw, 1.65rem); font-weight: 700; color: var(--accent); margin-top:0; }
.button-row { display:flex; gap:.75rem; flex-wrap:wrap; align-items:center; margin-top:1rem; }
.button-link { display:inline-block; border:2px solid var(--accent); background: var(--accent); color:#101010; padding:.75rem 1rem; border-radius:999px; font-weight:800; text-decoration:none; }
.button-link:hover { background:transparent; color:var(--accent); }
.button-link.secondary { background:transparent; color:var(--accent); border-color:var(--accent-2); }
.button-link.secondary:hover { color:var(--text); border-color:var(--accent); }
.panel-stack { display:grid; gap:1rem; margin:2rem 0; }
.info-panel { border:1px solid var(--border); border-radius:1rem; background: color-mix(in srgb, var(--surface) 90%, transparent); overflow:hidden; box-shadow: var(--shadow); }
.info-panel summary { cursor:pointer; padding:1rem 1.2rem; font-weight:800; font-size:1.15rem; background: color-mix(in srgb, var(--surface-2) 78%, transparent); }
.info-panel[open] summary { border-bottom:1px solid var(--border); color:var(--accent); }
.panel-content { padding:1rem 1.2rem 1.25rem; }
.service-list { padding-left:1.4rem; }
.pricing-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap:1rem; }
.card, .callout { border:1px solid var(--border); border-radius:1rem; padding:1rem; background: color-mix(in srgb, var(--surface-2) 55%, transparent); }
.price { font-weight:900; color:var(--accent); font-size:1.25rem; }
.contact-methods a { font-weight: 700; }
.contact-form { display:grid; gap:1rem; max-width:44rem; }
.form-field { display:grid; gap:.35rem; }
label { font-weight:800; }
.required-text { font-size:.9em; color:var(--accent); }
input, textarea, select { width:100%; border:1px solid var(--border); border-radius:.75rem; padding:.8rem; font:inherit; color:var(--text); background: color-mix(in srgb, var(--bg) 78%, white 6%); }
textarea { resize: vertical; }
.certification-badges { display:flex; gap:.75rem; flex-wrap:wrap; align-items:center; }
.certification-badges img { max-width:7rem; max-height:5rem; background:white; border-radius:.4rem; padding:.25rem; }
.site-footer { margin-top:3rem; border-top:1px solid var(--border); background: color-mix(in srgb, var(--surface) 70%, transparent); }
.footer-inner { max-width:74rem; margin:auto; padding:2rem 1rem; }
.footer-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(18rem,1fr)); gap:1.5rem; }
.footer-note { font-weight:900; color:var(--accent); }
.tech-club-illustration img { width:min(42rem, 100%); }
@media (min-width: 56rem) { .hero { grid-template-columns: 1.2fr .8fr; } .hero .hero-copy:first-child { grid-column:1 / -1; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.001ms !important; } }
@media print { .site-header, .site-footer, .skip-link, .button-row { display:none !important; } body { background:white !important; color:black !important; } main { max-width:none; padding:0; } .hero-copy, .hero-banner, .info-panel, .card, .callout { box-shadow:none; background:white !important; border:1px solid #000; } a[href]::after { content:" (" attr(href) ")"; font-size:.9em; } }

/* Service page additions */
.breadcrumb { list-style:none; padding:0; margin:0 0 1rem; display:flex; gap:.45rem; flex-wrap:wrap; }
.breadcrumb li + li::before { content:"/"; margin-right:.45rem; color:var(--muted); }
.card-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr)); gap:1rem; margin:1.5rem 0; }
.testimonial { border-left:.35rem solid var(--accent); margin:1rem 0; padding:1rem; background: color-mix(in srgb, var(--surface-2) 55%, transparent); border-radius:.75rem; }
.testimonial blockquote { margin:0; }
.testimonial figcaption { margin-top:.75rem; font-weight:800; color:var(--accent); }
.target-list { padding-left:1.4rem; }
