/* Shared technical background, editable content layouts, and highlighted service footer. */
.site-page{isolation:isolate}
.site-page>main,.site-page>.site-footer{position:relative;z-index:1}
.site-background{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:radial-gradient(ellipse at 80% 32%,rgba(214,250,100,.07),transparent 60%),var(--ink)}
.site-background::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(214,250,100,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(214,250,100,.045) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,transparent,#000 35%,#000 80%,transparent)}
.site-background::after{content:"";position:absolute;left:0;top:38%;width:45%;height:1px;background:linear-gradient(90deg,transparent,var(--lime),transparent);opacity:.35}
.site-page[data-animations="1"] .site-background::after{animation:technical-sweep 12s linear infinite}
.site-page[data-background-effects="1"] :is(.hero,.page-hero,.section,.hero-strip,.site-footer,.cta-section){background:transparent}
.site-page[data-background-effects="1"] .cta-section{color:var(--white);border-block:1px solid var(--line)}
.site-page[data-background-effects="1"] .cta-section .eyebrow{color:var(--muted)}
.site-page[data-background-effects="1"] .cta-section .eyebrow::before{background:var(--lime)}
.site-page[data-background-effects="1"] .cta-section .button-primary{background:var(--lime);color:var(--ink);border-color:var(--lime)}
.site-page[data-background-effects="1"] .cta-section .button-primary:hover{background:var(--white);border-color:var(--white)}
.site-page[data-background-effects="1"] .cta-section :is(.button-light,.button-secondary){border-color:var(--line);color:var(--white)}
.site-page[data-background-effects="1"] .cta-section :is(.button-light,.button-secondary):hover{border-color:var(--lime)}
.site-page[data-background-effects="0"] .page-hero::after{display:none}
.home-page .hero,.home-page .section{position:relative;isolation:isolate;overflow:hidden}
.home-page .hero-inner,.home-page .section>.container{position:relative;z-index:1}
.home-page[data-animations="1"] .hero-image{animation:creative-float 9s ease-in-out infinite}
.hero-network{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.65;z-index:0}
.home-service-card{background:linear-gradient(145deg,rgba(214,250,100,.025),transparent 65%),var(--paper)}
.call-button{gap:12px}.call-button svg{width:18px;height:18px;flex:none}.call-button span{min-width:0}
.nav-call{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-bottom:1px solid var(--lime);padding:10px 0;color:var(--lime)!important;white-space:nowrap}
.nav-call svg{width:17px;height:17px}.nav-call:hover{color:var(--white)!important}
.hero-actions>.call-button{border-color:var(--line);color:var(--lime);background:transparent}
.hero-actions>.call-button:hover{border-color:var(--lime)}
.growth-layout{display:grid;gap:32px}
.growth-heading{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:start}
.growth-copy .section-title{margin-bottom:0;max-width:600px}.growth-copy:only-child{grid-column:1/-1}
.growth-description{min-width:0;padding-top:3px}.growth-description .experience-intro{max-width:none;margin-bottom:16px}.growth-description .prose p:last-child{margin-bottom:0}
.project-start-copy .section-title,.faq-copy .section-title{margin-bottom:25px}
.experience-intro{font-size:18px;line-height:1.8;color:var(--muted);max-width:600px}
.growth-content{display:grid;grid-template-columns:1.05fr 1fr;gap:24px;align-items:stretch}
.growth-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:16px;min-width:0}
.growth-point{display:grid;grid-template-rows:auto 1fr;gap:18px;align-content:start;min-width:0;overflow-wrap:anywhere;padding:24px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(140deg,rgba(214,250,100,.04),transparent 75%),var(--ink)}
.growth-point-icon{display:grid;place-items:center;width:42px;height:42px;color:var(--lime);border:1px solid rgba(214,250,100,.2);border-radius:10px;background:rgba(214,250,100,.035)}.growth-point-icon svg{width:24px;height:24px}
.growth-point h3{font-size:21px;line-height:1.3;letter-spacing:-.025em;margin:0 0 7px}.growth-point p{font-size:16px;line-height:1.7;color:var(--muted);margin:0}.growth-point a:hover{color:var(--lime)}
.growth-art{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:14px;background:var(--ink);overflow:hidden}.growth-art-upload{justify-content:center;background:transparent}.growth-upload{width:100%;height:auto;border-radius:13px}
.system-visual{position:relative;flex:1;min-height:390px;aspect-ratio:600/520;background:radial-gradient(circle at 50% 50%,rgba(214,250,100,.1),transparent 57%);overflow:hidden}
.system-visual::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(214,250,100,.12) 1px,transparent 1px);background-size:22px 22px;pointer-events:none;opacity:.4}
.system-wiring{position:absolute;inset:0;width:100%;height:100%;color:var(--lime)}
.system-orbit{stroke:currentColor;stroke-opacity:.12;stroke-width:1;stroke-dasharray:3 9}.system-orbit-outer{stroke-opacity:.09;stroke-dasharray:none}
.system-connection{stroke:currentColor;stroke-opacity:.28;stroke-width:1.5}.system-signal{stroke:currentColor;stroke-opacity:.85;stroke-width:2;stroke-dasharray:12 165}
.system-center-ring{stroke:currentColor;stroke-opacity:.25;stroke-width:1;fill:var(--ink)}
.system-center{position:absolute;left:36%;top:34%;width:28%;height:32%;display:grid;place-items:center;border-radius:50%;padding:15px}
.system-center img{width:100%;height:auto;object-fit:contain}
.system-node{position:absolute;display:flex;align-items:center;gap:11px;width:39%;min-height:74px;padding:15px;background:var(--ink);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 28px rgba(0,0,0,.18)}
.system-node>span{color:var(--lime);flex:none}.system-node svg{width:23px;height:23px}.system-node strong{font-size:15px;line-height:1.45;font-weight:500;min-width:0;overflow-wrap:anywhere}
.system-node-0{left:4%;top:12%}.system-node-1{right:4%;top:12%}.system-node-2{left:4%;bottom:12%}.system-node-3{right:4%;bottom:12%}
.system-point{position:absolute;width:7px;height:7px;background:var(--lime);border-radius:50%;box-shadow:0 0 18px rgba(214,250,100,.6)}.system-point-one{left:50%;top:12%}.system-point-two{left:50%;bottom:12%}
.growth-section .growth-art .system-caption{font-size:14px;line-height:1.7;color:var(--muted);text-align:center;margin:0;padding:16px 22px;border-top:1px solid var(--line);background:rgba(214,250,100,.025)}
.growth-actions{border-top:1px solid var(--line);padding-top:26px}.growth-actions .hero-actions{gap:13px}.growth-actions .call-button{margin-left:auto;color:var(--lime)}
/* Homepage process cards share one heading and a balanced action row. */
.home-process-layout{display:grid;gap:32px}
.home-process-heading{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center}
.home-process-title .section-title{max-width:650px;margin-bottom:0}.home-process-title:only-child{grid-column:1/-1}
.home-process-section .home-process-description{max-width:none;margin:0;font-size:18px;line-height:1.8;min-width:0}.home-process-description p:last-child{margin-bottom:0}
.home-process-section .process-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;gap:16px;border:0}
.home-process-section .process-step{display:flex;flex-direction:column;gap:0;min-width:0;padding:26px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(140deg,rgba(214,250,100,.04),transparent 75%),var(--ink);overflow-wrap:anywhere}
.process-step-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}
.process-number{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(214,250,100,.2);border-radius:10px;background:rgba(214,250,100,.035);color:var(--lime);font-family:"Courier New",monospace;font-size:15px;flex:none}
.process-step-icon{color:var(--lime);opacity:.7;flex:none}.process-step-icon svg{width:24px;height:24px}
.home-process-section .process-step h3{font-size:24px;line-height:1.3;margin:0 0 12px}.home-process-section .process-step p{font-size:16px;line-height:1.75;color:var(--muted);margin:0}
.home-process-section .process-step .text-link{align-self:flex-start;margin-top:20px;max-width:100%;font-size:16px}
.home-process-actions{padding-top:26px;border-top:1px solid var(--line)}.home-process-actions .hero-actions{justify-content:center;gap:13px}
@media(max-width:1100px){.home-process-section .process-list{grid-template-columns:repeat(2,minmax(0,1fr))}.home-process-heading{gap:30px}.home-process-section .process-step{padding:24px}}
@media(max-width:1000px){.home-process-heading{grid-template-columns:1fr;gap:23px}.home-process-heading .section-title{max-width:650px}}
@media(max-width:640px){.home-process-layout{gap:26px}.home-process-section .home-process-description{font-size:16px}.home-process-section .process-list{grid-template-columns:1fr;gap:12px}.home-process-section .process-step{padding:22px}.home-process-section .process-step h3{font-size:22px}.process-step-top{margin-bottom:18px}.home-process-actions{padding-top:22px}.home-process-actions .hero-actions{display:grid;grid-template-columns:1fr;gap:10px}.home-process-actions .button{width:100%;justify-content:space-between;min-height:52px}.home-process-actions .call-button{flex-direction:row-reverse}}
.home-page[data-animations="1"] .system-signal{animation:connection-flow 9s linear infinite}
.home-page[data-animations="1"] .system-point{animation:connection-pulse 4s ease-in-out infinite}.system-point-two{animation-delay:2s!important}
.home-page[data-background-effects="0"] .system-visual::before,.home-page[data-background-effects="0"] .system-point{display:none}
.home-page[data-background-effects="0"] .system-visual{background:var(--paper)}
.project-start-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:center}
.project-start-note{font-size:14px;color:var(--muted);line-height:1.8;margin:24px 0 0;max-width:510px}
.project-start-board{min-width:0;border:1px solid var(--line);border-radius:16px;background:linear-gradient(130deg,rgba(214,250,100,.055),transparent 70%),var(--paper);box-shadow:0 25px 65px rgba(0,0,0,.2)}
.project-board-image{width:100%;border-radius:15px 15px 0 0;object-fit:contain}
.project-board-heading{padding:23px 26px;display:flex;align-items:center;gap:13px;border-bottom:1px solid var(--line)}
.board-grid-mark{color:var(--lime)}.board-grid-mark svg{width:24px;height:24px}.project-board-heading p{font-size:15px;line-height:1.5;margin:0;flex:1;min-width:0}
.board-lights{display:flex;gap:6px;flex:none}.board-lights i{height:5px;width:5px;border-radius:50%;background:var(--lime);opacity:.5}
.home-page[data-animations="1"] .board-lights i{animation:connection-pulse 3s ease-in-out infinite}.board-lights i:nth-child(2){animation-delay:.5s}.board-lights i:nth-child(3){animation-delay:1s}
.project-board-steps{padding:0 26px}
.project-board-step{display:grid;grid-template-columns:34px minmax(0,1fr) 22px;gap:15px;padding:26px 0;align-items:start;border-bottom:1px solid var(--line)}.project-board-step:last-child{border:0}
.project-step-number{font-family:"Courier New",monospace;font-size:15px;line-height:1.5;color:var(--lime);padding-top:3px}
.project-board-step h3{font-size:22px;line-height:1.3;margin:0 0 10px;letter-spacing:-.02em}.project-board-step p{font-size:16px;line-height:1.7;color:var(--muted);margin:0}.project-board-step>svg{width:22px;height:22px;color:var(--lime);margin-top:3px}
.faq-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:75px;align-items:start}
.faq-copy .experience-intro{margin-bottom:26px}.faq-image{margin-top:25px}
.faq-list{min-width:0}.faq-item{padding:0;border:1px solid var(--line);border-radius:10px;background:var(--ink);margin-bottom:13px;overflow:hidden}.faq-item:first-child{border:1px solid var(--line)}
.faq-item summary{list-style:none;display:grid;grid-template-columns:26px minmax(0,1fr) 18px;gap:14px;align-items:center;padding:23px 24px;font-size:19px;line-height:1.5;font-weight:500}
.faq-item summary::-webkit-details-marker{display:none}.faq-number{font-size:13px;font-family:"Courier New",monospace;color:var(--muted)}.faq-symbol{font-size:25px;font-weight:400;color:var(--lime);transition:transform .2s}
.faq-item[open]{border-color:var(--lime)}.faq-item[open] .faq-symbol{transform:rotate(45deg)}.faq-answer{padding:0 24px 22px 64px;font-size:16px;line-height:1.8}.faq-answer p:last-child{margin-bottom:0}
.footer-services-directory{padding:0 0 42px;margin:0 0 48px;border-bottom:1px solid var(--line)}
.footer-directory-heading{display:flex;align-items:center;justify-content:space-between;gap:35px;margin-bottom:26px}
.footer-directory-heading .eyebrow{font-size:14px;letter-spacing:.12em;margin:0}.footer-directory-heading>p:last-child{font-size:15px;line-height:1.7;color:var(--muted);max-width:530px;margin:0}
.footer-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.footer-service-link{display:grid;grid-template-columns:24px minmax(0,1fr) 16px;gap:13px;align-items:center;min-width:0;min-height:64px;padding:15px 17px;border:1px solid var(--line);border-radius:7px;background:var(--paper);font-size:16px;line-height:1.45;color:var(--white);transition:border-color .2s,background .2s}
.footer-service-icon{color:var(--lime)}.footer-service-icon svg{width:23px;height:23px}.footer-service-link>svg{width:15px;height:15px;color:var(--muted)}.footer-service-link:hover,.footer-service-link:focus-visible{border-color:var(--lime);background:var(--panel)}
.footer-service-link:last-child:nth-child(3n+1){grid-column:1/-1}
.site-footer{background:radial-gradient(ellipse at 5% 0,rgba(214,250,100,.055),transparent 55%),var(--ink)}
.footer-grid{grid-template-columns:1.3fr .8fr 1.2fr;gap:55px}.footer-grid>:last-child{grid-column:auto!important}.footer-grid .footer-brand p{max-width:360px}.footer-links>.call-button{width:max-content;margin-top:13px;color:var(--ink);background:var(--lime);border-color:var(--lime);font-size:15px;padding:13px 18px}
body[data-background-effects="0"] .site-footer{background:var(--ink)}
@keyframes technical-sweep{0%{transform:translateX(-120%);opacity:0}10%,75%{opacity:.35}100%{transform:translateX(280%);opacity:0}}
@keyframes creative-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes connection-flow{to{stroke-dashoffset:-354}}
@keyframes connection-pulse{0%,100%{opacity:.35}50%{opacity:1}}
@media(max-width:1100px){.growth-actions .call-button{margin-left:0}.growth-heading{gap:30px}.growth-content{grid-template-columns:1fr}.growth-point{padding:22px}.growth-art{width:100%}.system-visual{aspect-ratio:600/350;min-height:390px}.system-node-0,.system-node-1{top:8%}.system-node-2,.system-node-3{bottom:8%}.project-start-layout{gap:35px}.faq-layout{gap:40px}.system-node{padding:12px;gap:8px}.system-node strong{font-size:14px}.footer-grid{gap:36px}}
@media(max-width:1000px){.main-nav .nav-call{justify-content:flex-start;max-width:max-content;margin-top:10px;padding:13px 0}.growth-heading{grid-template-columns:1fr;gap:23px}.growth-description{padding-top:0}.growth-copy .section-title{max-width:650px}.project-start-layout{grid-template-columns:1fr;gap:42px}.faq-layout{grid-template-columns:1fr;gap:38px}.faq-copy .section-title{max-width:650px}.footer-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-service-link:last-child:nth-child(3n+1){grid-column:auto}.footer-grid{grid-template-columns:1.15fr 1fr;gap:40px}.footer-grid>:last-child{grid-column:1/-1!important}}
@media(max-width:640px){.experience-intro{font-size:16px}.growth-layout{gap:26px}.growth-point p,.project-board-step p{font-size:15px}.growth-point h3{font-size:20px}.growth-points{grid-template-columns:1fr;grid-auto-rows:auto;gap:12px}.growth-point{grid-template-columns:36px minmax(0,1fr);grid-template-rows:auto;gap:14px;padding:20px}.growth-point-icon{width:36px;height:36px}.growth-point-icon svg{width:21px;height:21px}.growth-content{gap:20px}.growth-actions{padding-top:22px}.growth-actions .hero-actions{display:grid;grid-template-columns:1fr;gap:10px}.growth-actions .button{width:100%;margin:0;justify-content:space-between;min-height:52px}.growth-actions .call-button{margin-left:0;flex-direction:row-reverse}.system-visual{aspect-ratio:1;min-height:0}.system-node{min-height:64px;padding:10px;gap:8px}.system-node strong{font-size:12px}.system-node svg{width:19px;height:19px}.system-node-0,.system-node-1{top:9%}.system-node-2,.system-node-3{bottom:9%}.system-node>span{display:none}.system-center{padding:8px}.growth-section .growth-art .system-caption{font-size:13px;padding:14px 17px}.project-board-heading{padding:20px}.project-board-heading p{font-size:14px}.project-board-steps{padding:0 20px}.project-board-step{grid-template-columns:26px minmax(0,1fr);gap:12px;padding-block:24px}.project-board-step>svg{display:none}.project-board-step h3{font-size:20px}.project-start-note{font-size:13px}.faq-item summary{padding:20px 17px;gap:10px;grid-template-columns:20px minmax(0,1fr) 17px;font-size:17px}.faq-answer{padding:0 17px 22px;font-size:15px}.footer-directory-heading{display:block}.footer-directory-heading .eyebrow{margin-bottom:18px}.footer-directory-heading>p:last-child{font-size:15px}.footer-services-grid{grid-template-columns:1fr;gap:10px}.footer-service-link{min-height:60px;padding:14px 16px}.footer-grid{grid-template-columns:1fr;gap:35px}.footer-grid>:last-child,.footer-grid>:first-child{grid-column:auto!important}.footer-services-directory{padding-bottom:34px;margin-bottom:35px}.footer-links>.call-button{max-width:100%;width:max-content}.hero-actions>.call-button{min-height:49px}}
@media(prefers-reduced-motion:reduce){.site-background::after,.home-page .hero-image,.home-page .system-signal,.home-page .system-point,.home-page .board-lights i{animation:none!important}.faq-symbol{transition:none}}
.motion-disabled .hero-image{transform:none!important}
