
:root{--ink:#101b2b;--deep:#0b1320;--paper:#f0f5fa;--amber:#2fa8d7;--cyan:#2fa8d7;--yellow:#f4cd57;--red:#cb4153;--green:#59d6a3;--blue:#54b8ff;--muted:#a8bacd;--line:#34465b;--line-light:#cfdae6}
.hero,.contact,.site-header,.site-header.has-scrolled,.core-header{background:#101b2b}
.hero h1 span{color:var(--cyan);background:none}
.hero-copy .eyebrow{color:#d1dce8}
.hero-copy .square{background:var(--yellow)}
.nav-core span{background:var(--yellow);color:var(--ink);border-color:var(--yellow);padding:2px 6px}
.hero-actions .button{background:var(--yellow);color:var(--ink)}
.hero-actions .button:hover{background:#ffdf7b}
.hero-actions .text-link span{color:var(--red)}
.button-amber{background:var(--cyan);color:var(--ink)}
.button-amber:hover{background:#84e9fa}
.services{background:#f0f5fa}
.service-row{padding-inline:20px;gap:24px;border-bottom:1px solid #101b2b26}
.service-row:nth-child(1){background:#d6f6fc;border-left:5px solid var(--cyan)}
.service-row:nth-child(2){background:#e2ecf7;border-left:5px solid #3a79b7}
.service-row:nth-child(3){background:#e7f3ee;border-left:5px solid #268362}
.service-icon{background:none!important}
.service-row:nth-child(1) .service-icon{color:#087c94}
.service-row:nth-child(2) .service-icon{color:var(--ink)}
.service-row:nth-child(3) .service-icon{color:#186448}
.service-row .service-number,.service-row .service-title>span,.service-row>p{color:#344255}
.help-section{background:#2fa8d7;color:var(--ink)}
.help-intro .eyebrow,.help-intro>p:not(.eyebrow),.help-intro .text-link,.steps p,.steps a,.steps article>span{color:var(--ink)}
.steps article{border-color:#101b2b50}
.steps article>span{background:var(--ink);color:var(--yellow);width:30px;height:28px;text-align:center}
.help-section .section-atmosphere{display:none}
.help-section .section-track{stroke:#101b2b30}.help-section .section-signal{stroke:#a13129}
.about{background:#e8f7fa}
.about .about-stamp{border-color:var(--cyan)}
.about .section-index{color:#087c94}
.contact h2{color:var(--paper)}
.contact h2::after{content:'';display:block;width:72px;height:5px;margin-top:22px;background:var(--red)}
.contact-email{display:block;width:fit-content;color:var(--cyan);font:600 clamp(19px,2vw,27px) var(--display);margin:14px 0 20px;border-bottom:1px solid var(--cyan)}
.visit-email{display:block;width:fit-content;color:#087c94;font-weight:600;margin-top:16px;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.email-explainer{font-size:12px;color:#bac8d6;line-height:1.6;margin:15px 0 22px}
#copy-summary{margin-bottom:12px}
.visit{background:#f0f5fa}
.visit-grid>div:nth-child(1) .icon{color:#087c94}
.visit-grid>div:nth-child(2) .icon{color:#9c6a00}
.visit-grid>div:nth-child(3) .icon{color:#b6342b}
.closing-band{background:var(--cyan);color:var(--ink);border-top:6px solid var(--red)}
.faq-list details[open]{border-left:4px solid var(--red);padding-left:16px}
.brand-eyes,.owl-eyes{fill:var(--yellow);filter:drop-shadow(0 0 5px #f4cd5790)}
.brand-eye-halo{stroke:var(--cyan);filter:none}
.brand-eye-light,.emblem-eyes::before,.emblem-eyes::after{background:var(--yellow);box-shadow:0 0 9px #f4cd5780}
body:has(.tools-grid){background:#101b2b}
.tool-card{background:#182535;border-color:#34465b}
.tool-card:nth-child(4n+2){background:#203c55;color:var(--paper);border-color:#477da5}
.tool-card:nth-child(4n+2) p,.tool-card:nth-child(4n+2) .card-arrow{color:#c5d8e9}
.tool-card:nth-child(4n+2) svg{stroke:var(--yellow)}
.tool-card:nth-child(4n+3){border-top:4px solid var(--red)}
.tool-card:nth-child(4n+3) svg{stroke:#ed8178}
.tool-card:nth-child(4n+4){border-top:4px solid var(--cyan)}
.tool-card.featured{background:var(--cyan);color:var(--ink);border-color:var(--cyan)}
.tool-card.featured::after{display:none}
.tool-card.featured p{color:#244657}
.tool-card:hover{outline:2px solid var(--cyan);outline-offset:2px}
.tool-card.featured:hover{background:#84e9fa}
.featured-document{background:var(--yellow);box-shadow:-9px 9px 0 var(--red);border-color:#a77810}
.section-light .text-link:hover{color:#087c94}
.section-light :focus-visible{outline-color:#087c94}
/* Flat colour fields: keep movement, eliminate colour gradients from section atmospheres. */
.section-atmosphere{background-image:none!important}
.hero h1 span,.art-caption,.core-intro h1 span{-webkit-text-fill-color:initial;background-image:none}
@media(max-width:760px){.service-row{padding-inline:14px;gap:14px}.contact-email{font-size:22px}}

.local-graphic{cursor:pointer;text-decoration:none;transition:transform .2s,border-color .2s;border:1px solid transparent}
.local-graphic:hover{transform:translateY(-3px);border-color:#087c94}
.local-graphic:focus-visible{outline:3px solid #087c94;outline-offset:6px}
.google-reviews{background:#eaf1f8;color:#101b2b;padding-block:90px}
.reviews-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:40px}
.reviews-heading h2{margin-top:22px}.review-score{border-left:4px solid var(--red);padding-left:24px}
.review-score strong{font:600 64px/1 var(--display)}.review-score strong span{font-size:22px;margin-left:8px}
.review-score p{margin-top:9px;font-weight:600}.review-score small{display:block;margin-top:5px;font-size:11px;color:#435469}
.reviews-grid{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:20px}
.review-quote{background:#fff;padding:30px;border-top:4px solid var(--cyan);display:flex;flex-direction:column}
.review-quote:nth-child(2){border-top-color:var(--red)}
.review-stars{color:#946500;letter-spacing:3px;font-size:22px}
.review-quote blockquote{margin:22px 0 30px;font:600 23px/1.4 var(--display)}
.review-quote figcaption{font-weight:600;font-size:14px;margin-top:auto}.review-quote figcaption span{display:block;color:#526173;font-size:11px;font-weight:400;margin-top:5px}
.review-invite{background:#dcecf8;padding:30px;border-top:4px solid var(--green)}.review-spark{color:#b6342b;font-size:42px;line-height:1}
.review-invite h3{margin:18px 0 12px;font-size:26px}.review-invite p{font-size:14px;margin-bottom:22px}
.review-invite .button{font-size:13px;padding-inline:16px;gap:12px;background:#173c59;color:#f0f5fa;border-bottom:3px solid var(--green)}
.review-invite .button:hover{background:#215578}.review-invite small{display:block;font-size:11px;margin-top:14px;color:#344255}
.reviews-all{margin-top:28px;color:#075b7e}
@media(max-width:760px){.google-reviews{padding-block:55px}.reviews-heading{display:block}.review-score{margin-top:26px}.reviews-grid{grid-template-columns:1fr}.review-quote{padding:24px}.review-invite .button{width:100%}}

/* Coral-red accents balance the blue; yellow is reserved for small details. */
.hero-art .art-cross{color:var(--red)}
.steps article:nth-child(2)>span{background:#8d2923;color:#fff}
.steps article:nth-child(2){border-top:3px solid #a3372e}
.contact .form-heading>span{color:var(--red)}
.contact-note .icon{color:var(--red)}
.section-light .service-row:nth-child(3) .round-link{border-color:#b6342b;color:#b6342b}
.faq-list summary>span{color:#b6342b}
.reviews-all>span{color:#b6342b}

/* Blue-led technical accents, with fixed yellow entry points. */
.hero-copy .square{background:var(--green);box-shadow:0 0 8px #59d6a340}
.art-bottom .square{background:var(--green)}
.hero-art .art-cross{color:var(--green)}
.hero-actions .text-link span{color:var(--cyan)}


.help-section{background:#162e43;color:var(--paper)}
.help-intro .eyebrow,.help-intro>p:not(.eyebrow),.help-intro .text-link,.steps p,.steps a{color:#c9d7e3}
.steps article{border-color:#375569}
.steps article>span{background:#213d51;color:var(--cyan)}
.steps article:nth-child(2){border-top:2px solid var(--green)}
.steps article:nth-child(2)>span{background:#143b30;color:var(--green)}
.steps article:nth-child(3)>span{background:#392334;color:#f58c9b}
.section-light .service-row:nth-child(3) .round-link{border-color:#268362;color:#186448}
.contact h2::after{background:var(--green)}
.contact .form-heading>span{color:var(--green)}
.contact-note .icon{color:var(--green)}
.review-spark{color:#186448}
.faq-list summary>span{color:#235f86}
.reviews-all>span{color:#186448}
.closing-band{border-top:3px solid var(--green)}
.tool-card:nth-child(4n+3){border-top-color:var(--green)}
.tool-card:nth-child(4n+3) svg{stroke:var(--green)}
.tool-card:nth-child(4n+4){border-top-color:var(--red)}
.tool-card:nth-child(4n+4) svg{stroke:#ed8694}

.art-caption .core-free{color:var(--yellow)}

/* Clean section labels, without editorial numbering or empty number columns. */
.service-row{grid-template-columns:70px minmax(230px,1.15fr) minmax(230px,1fr) 48px}
.steps article{grid-template-columns:1fr}
@media(max-width:1100px){.service-row{grid-template-columns:46px minmax(205px,1fr) minmax(190px,1fr) 43px}}
@media(max-width:760px){.service-row{grid-template-columns:38px 1fr 35px}.service-row>p{grid-column:2/3}.service-row .round-link{grid-column:3;grid-row:1/3}.service-icon{grid-column:1;grid-row:1}.service-title{grid-column:2;grid-row:1}}

.how-steps li{grid-template-columns:1fr}

/* Colour belongs to each electric pulse, preserving the quiet base tracks. */
.hero .circuit-signals{filter:none}
.hero .circuit-signals path{stroke:var(--pulse-color,#69c9f5);filter:drop-shadow(0 0 3px var(--pulse-color,#69c9f5))}
.hero .circuit-signals path:nth-child(5n+1){--pulse-color:#69c9f5}
.hero .circuit-signals path:nth-child(5n+2){--pulse-color:#59d6a3}
.hero .circuit-signals path:nth-child(5n+3){--pulse-color:#f4cd57}
.hero .circuit-signals path:nth-child(5n+4){--pulse-color:#f1f8ff}
.hero .circuit-signals path:nth-child(5n){--pulse-color:#ef7183}
.hero .circuit-nodes circle{stroke:var(--node-color,#69c9f5);fill:#101b2b;animation-name:node-power-palette}
.hero .circuit-nodes circle:nth-child(4n+1){--node-color:#69c9f5}
.hero .circuit-nodes circle:nth-child(4n+2){--node-color:#59d6a3}
.hero .circuit-nodes circle:nth-child(4n+3){--node-color:#f4cd57}
.hero .circuit-nodes circle:nth-child(4n){--node-color:#ef7183}
@keyframes node-power-palette{0%,100%{fill:#101b2b;opacity:.55;filter:none}45%,62%{fill:var(--node-color);opacity:1;filter:drop-shadow(0 0 4px var(--node-color))}}
@media(prefers-reduced-motion:reduce){.hero .circuit-nodes circle{animation:none;stroke:var(--node-color)}}

.hero{position:relative;isolation:isolate}
.hero-header-circuit{z-index:0;height:80px;opacity:.7}
.hero-header-circuit .section-track{stroke:#6cb8dc;opacity:.25}
.hero-header-circuit .header-signal-blue{stroke:#69c9f5;animation-duration:10.3s;animation-delay:-3.1s}
.hero-header-circuit .header-signal-green{stroke:#59d6a3;animation-duration:13.7s;animation-delay:-7.5s;filter:drop-shadow(0 0 3px #59d6a350)}
.hero-header-circuit .section-pads{fill:#59d6a3;opacity:.45}
.hero .hero-art{z-index:1}
@media(max-width:760px){.hero-header-circuit{height:48px;opacity:.55}}

/* A shared, gentle heartbeat for the chip owl and its yellow eyes. */
.motion-ready .hero .core-owl{animation:owl-heartbeat 3.8s ease-in-out infinite;filter:drop-shadow(0 0 3px #2fa8d760)}
.motion-ready .hero .owl-eyes{animation:owl-eyes-heartbeat 3.8s ease-in-out infinite;fill:var(--yellow)}
.hero .core-owl path[d="M35 59H45 M83 59H93"]{stroke:var(--yellow)}
@keyframes owl-heartbeat{
  0%,100%{filter:drop-shadow(0 0 2px #2fa8d750) drop-shadow(0 0 5px #2fa8d725)}
  32%{filter:drop-shadow(0 0 5px #69c9f5cc) drop-shadow(0 0 15px #2fa8d788)}
  44%{filter:drop-shadow(0 0 3px #2fa8d785) drop-shadow(0 0 9px #2fa8d745)}
  58%{filter:drop-shadow(0 0 7px #69c9f5ee) drop-shadow(0 0 21px #2fa8d799)}
  82%{filter:drop-shadow(0 0 3px #2fa8d775) drop-shadow(0 0 8px #2fa8d735)}
}
@keyframes owl-eyes-heartbeat{
  0%,100%{opacity:.45;filter:drop-shadow(0 0 2px #f4cd5780)}
  32%{opacity:.88;filter:drop-shadow(0 0 5px #f4cd57dd) drop-shadow(0 0 9px #f4cd5780)}
  44%{opacity:.65;filter:drop-shadow(0 0 3px #f4cd57aa)}
  58%{opacity:1;filter:drop-shadow(0 0 7px #ffe8a3) drop-shadow(0 0 13px #f4cd57aa)}
  82%{opacity:.6;filter:drop-shadow(0 0 3px #f4cd5790)}
}
@media(prefers-reduced-motion:reduce){.hero .core-owl,.hero .owl-eyes{animation:none!important}.hero .core-owl{filter:drop-shadow(0 0 4px #2fa8d760)}.hero .owl-eyes{opacity:.8;filter:drop-shadow(0 0 3px #f4cd5780)}}

.chip-heart-aura{opacity:.55;filter:drop-shadow(0 0 4px #69c9f590)}
.motion-ready .hero .chip-heart-aura{animation:owl-heartbeat 3.8s ease-in-out infinite}
.core-opening .chip-heart-aura,.core-entering .chip-heart-aura{opacity:0}
@media(prefers-reduced-motion:reduce){.hero .chip-heart-aura{animation:none!important}}

.motion-ready .hero .live-chip-eyes{animation:owl-eyes-heartbeat 3.8s ease-in-out infinite}
.core-launching .chip-heart-aura,.core-launching .live-chip-eyes{visibility:hidden}
@media(prefers-reduced-motion:reduce){.hero .live-chip-eyes{animation:none!important;opacity:.8}}

/* Header wordmark and owl share the chip's heartbeat. */
.motion-ready .site-header .brand-mark{animation:brand-heartbeat 3.8s ease-in-out infinite;will-change:filter}
.motion-ready .site-header .brand-eyes{animation:owl-eyes-heartbeat 3.8s ease-in-out infinite;fill:var(--yellow)}
.site-header .brand-mark{overflow:visible}
@keyframes brand-heartbeat{
  0%,100%{filter:drop-shadow(0 0 1px #2fa8d745) drop-shadow(0 0 3px #2fa8d720)}
  32%{filter:drop-shadow(0 0 3px #69c9f5b0) drop-shadow(0 0 8px #2fa8d76a)}
  44%{filter:drop-shadow(0 0 2px #2fa8d775) drop-shadow(0 0 5px #2fa8d735)}
  58%{filter:drop-shadow(0 0 4px #69c9f5d8) drop-shadow(0 0 11px #2fa8d77a)}
  82%{filter:drop-shadow(0 0 2px #2fa8d765) drop-shadow(0 0 4px #2fa8d72a)}
}
@media(prefers-reduced-motion:reduce){.site-header .brand-mark,.site-header .brand-eyes{animation:none!important;will-change:auto}.site-header .brand-mark{filter:drop-shadow(0 0 2px #2fa8d750)}}

/* Transparent eye overlay: yellow only in the eyes. */
.brand-eye-light{background:none;fill:var(--yellow);box-shadow:none}
