/* Homepage layout matched to the approved visual concept. */
.concept-home{--concept-bg:#030c17;--concept-card:#091522;--concept-ink:#f5f8ff;--concept-muted:#b4c5d8;--concept-cyan:#51d9ff;--concept-line:rgba(86,202,255,.3);background:radial-gradient(ellipse at 82% 25%,#101b3840,transparent 45%),var(--concept-bg)}
.concept-home .container{max-width:1280px;width:calc(100% - 80px)}
.concept-home .site-header{padding-top:24px}
.concept-home .site-header .nav{height:78px;padding:0 26px;border-radius:17px;box-shadow:0 0 22px #3fc9ff0e,0 15px 45px #0002}
.concept-home .brand{font-size:27px;letter-spacing:-1px;color:#c6f5ff}
.concept-home .brand-mark{display:none}
.concept-home .nav-links{margin-left:auto;gap:34px;font-size:14px}
.concept-home .nav-cta{border:0;background:none;padding:0;font-weight:500}
.concept-home .theme-switch{margin-left:30px;background:transparent;border-color:var(--concept-line)}
.concept-home .theme-switch button{width:29px;height:29px;padding:0;font-size:17px}
.concept-home .theme-switch button[data-theme-choice="system"]{font-size:13px}
.concept-home .theme-switch button[aria-pressed="true"]{color:var(--concept-cyan);background:#153254;box-shadow:0 0 14px #51d9ff22}
.icon-defs{position:absolute;width:0;height:0;overflow:hidden}
.concept-hero{position:relative;padding:54px 0 66px;isolation:isolate;overflow:hidden}
.concept-grid{display:grid;grid-template-columns:1fr 1.03fr;gap:38px;align-items:center;position:relative;z-index:1}
.concept-copy{padding:0 0 18px}
.concept-eyebrow{font-size:12px;letter-spacing:.3em;font-weight:800;color:#74e8ff;margin:0 0 24px}
.concept-eyebrow span{margin:0 10px;color:#57a6d0}
.concept-copy h1{font-size:clamp(43px,4.7vw,67px);line-height:1.12;letter-spacing:-.046em;font-weight:780;color:var(--concept-ink);margin:0 0 24px;max-width:620px}
.concept-copy h1 span{background:linear-gradient(110deg,#dceeff 3%,#55dcff 52%,#b195fb 92%);color:transparent;background-clip:text;-webkit-background-clip:text}
.concept-lead{font-size:18px;line-height:1.75;color:var(--concept-muted);max-width:480px;margin:0}
.concept-actions{display:flex;gap:18px;margin-top:32px;flex-wrap:wrap}
.concept-home .concept-actions .btn,.concept-home .concept-answer .btn{border-radius:999px;font-size:14px;min-height:47px;padding:12px 23px;font-weight:750}
.concept-home .concept-actions .btn-primary,.concept-home .concept-answer .btn-primary{background:linear-gradient(120deg,#86efff,#40c9f8);color:#052032;box-shadow:0 0 28px #51d9ff24}
.concept-home .concept-actions .btn-secondary{background:#07122170;border-color:#66d4ff80;color:#ddf6ff}
.concept-actions .btn span{margin-left:16px;font-size:19px}
.service-orbit{position:relative;aspect-ratio:540/360;width:100%;margin-bottom:12px}
.orbit-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.orbit-lines path{stroke:#3acbfd;stroke-width:1.2;opacity:.58}
.orbit-lines ellipse{stroke:#3899e1;stroke-width:.7;stroke-dasharray:2 11;opacity:.29}
.orbit-points{fill:#69e5ff;filter:drop-shadow(0 0 6px #47cfff)}
.orbit-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:96px;height:96px;display:grid;place-items:center;border:1px solid #49c8ff;border-radius:50%;background:radial-gradient(circle at 40% 35%,#183d60,#051023 70%);box-shadow:0 0 0 10px #2ccfff09,0 0 0 20px #2ccfff05,0 0 55px #2ccfff30}
.orbit-center span{font-weight:900;font-size:60px;line-height:1;letter-spacing:-6px;padding-right:6px;font-style:italic;color:#82dcff;text-shadow:0 0 22px #3acbfd80}
.orbit-node{position:absolute;display:flex;align-items:center;gap:0;padding:0;background:none;border:0;color:var(--node-color,#53d4ff);cursor:pointer;transform:translate(-50%,-50%);isolation:isolate}
.orbit-web{left:43.5%;top:15.3%;--node-color:#4ecbff}
.orbit-it{left:81.3%;top:33.1%;--node-color:#61e6e2}
.orbit-cameras{left:13.7%;top:41.7%;--node-color:#bb97ff}
.orbit-ai{left:30.2%;top:84.4%;--node-color:#78e6ad}
.orbit-dashboards{left:78.5%;top:83.6%;--node-color:#b59bff}
.orbit-icon{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;border:1px solid currentColor;background:radial-gradient(circle at 40% 35%,#18324b,#071525 75%);box-shadow:0 0 0 6px #66d9ff07,0 0 24px color-mix(in srgb,currentColor 23%,transparent);transition:transform .2s,box-shadow .2s}
.orbit-icon::before{content:"";position:absolute;width:86px;height:86px;border:1px solid currentColor;border-radius:50%;opacity:.2}
.orbit-icon svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.orbit-label{font-size:13px;font-weight:650;padding:9px 13px 9px 23px;margin-left:-12px;border:1px solid color-mix(in srgb,currentColor 28%,transparent);border-radius:0 30px 30px 0;color:var(--concept-ink);background:#071729b3;z-index:-1;white-space:nowrap}
.orbit-node:hover .orbit-icon,.orbit-node[aria-pressed="true"] .orbit-icon{box-shadow:0 0 35px color-mix(in srgb,currentColor 37%,transparent);transform:scale(1.06)}
.orbit-node:focus-visible{outline:2px solid var(--concept-cyan);outline-offset:8px;border-radius:999px}
.concept-answer{display:grid;grid-template-columns:30px 1fr;gap:17px;padding:24px 24px 20px;border:1px solid transparent;border-radius:17px;background:linear-gradient(130deg,#081726,#101129) padding-box,linear-gradient(120deg,#43d6ff9e,#9070ed80) border-box;box-shadow:0 10px 35px #0002;min-height:173px}
.answer-icon{width:29px;height:29px;fill:none;stroke:#58d9ff;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
.concept-answer h2{font-size:16px;line-height:1.4;letter-spacing:-.015em;margin:0 0 7px;color:var(--concept-ink)}
.concept-answer p{font-size:13px;line-height:1.65;margin:0;color:var(--concept-muted)}
.concept-home .concept-answer .btn{float:right;min-height:35px;padding:7px 16px;font-size:12px;margin-top:12px}
.concept-answer .btn span{margin-left:15px}
.signal-waves{position:absolute;inset:0;z-index:-1;pointer-events:none;background:url('signal-waves.svg') center 64%/max(1300px,100%) auto no-repeat;opacity:.75}
.concept-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:44px;position:relative;z-index:1}
.concept-card{display:block;background:linear-gradient(145deg,#0b1b2b,#07101c);border:1px solid #409acb70;border-radius:19px;padding:6px;box-shadow:0 0 0 3px #34c9ff05,0 18px 32px #0002;transition:transform .2s,border-color .2s;overflow:hidden}
.concept-card:hover{transform:translateY(-5px);border-color:#68dfff}
.concept-photo{height:165px;border-radius:13px;background-image:url('concept-photos.webp');background-size:300% auto;background-repeat:no-repeat;background-color:#263c50}
.photo-camera{background-position:0% center}.photo-web{background-position:50% center}.photo-project{background-position:100% center}
.concept-card-copy{position:relative;padding:19px 19px 15px;min-height:147px}
.concept-card-copy h2{font-size:21px;line-height:1.25;letter-spacing:-.035em;color:var(--concept-ink);margin:0 0 10px}
.concept-card-copy p{font-size:13px;line-height:1.65;color:var(--concept-muted);margin:0;padding-right:30px;max-width:320px}
.card-arrow{position:absolute;right:12px;bottom:19px;display:grid;place-items:center;width:33px;height:33px;border-radius:50%;border:1px solid #49b5e875;color:#67d9ff;background:#0b2538}
.concept-explore{padding-top:64px}
#project-tools,#explore-services{scroll-margin-top:120px}
html[data-theme="light"] .concept-home{--concept-bg:#f6f9fc;--concept-card:#fff;--concept-ink:#091c3d;--concept-muted:#415b7d;--concept-cyan:#007fc2;--concept-line:#158bc532;background:radial-gradient(ellipse at 76% 30%,#dff0ff88,transparent 50%),#f8fafc}
html[data-theme="light"] .concept-home .brand{color:#0a2452}
html[data-theme="light"] .concept-copy h1{color:#091c3d}
html[data-theme="light"] .concept-copy h1 span{background:linear-gradient(110deg,#091c3d,#13668e 58%,#4d4297);background-clip:text;-webkit-background-clip:text;color:transparent}
html[data-theme="light"] .concept-eyebrow{color:#0672a8}
html[data-theme="light"] .concept-home .concept-actions .btn-primary,html[data-theme="light"] .concept-home .concept-answer .btn-primary{background:linear-gradient(120deg,#008bc4,#0072a7);color:white;box-shadow:0 8px 22px #007aaa13}
html[data-theme="light"] .concept-home .concept-actions .btn-secondary{background:#ffffff80;color:#092855;border-color:#8bbddf}
html[data-theme="light"] .orbit-icon{background:radial-gradient(circle at 40% 35%,#fff,#e5f3fc);color:color-mix(in srgb,var(--node-color) 60%,#083d65);box-shadow:0 0 22px color-mix(in srgb,var(--node-color) 20%,transparent)}
html[data-theme="light"] .orbit-label{background:#ffffffb3}
html[data-theme="light"] .orbit-center{background:radial-gradient(circle at 40% 35%,#fff,#e5f3fc);box-shadow:0 0 0 10px #2ccfff04,0 0 50px #2c9fff15;border-color:#a6d7f5}
html[data-theme="light"] .orbit-center span{color:#0b2d5b;text-shadow:none}
html[data-theme="light"] .concept-answer{background:linear-gradient(135deg,#fff,#f7f9ff) padding-box,linear-gradient(120deg,#c2e6f5,#dad5f4) border-box;box-shadow:0 12px 35px #23384c08}
html[data-theme="light"] .concept-answer h2,html[data-theme="light"] .concept-card h2{color:#091c3d}
html[data-theme="light"] .answer-icon{stroke:#007caf}
html[data-theme="light"] .signal-waves{opacity:.22}
html[data-theme="light"] .concept-card{background:#fff;border-color:#d6e5ee;box-shadow:0 15px 30px #1e3a5507}
html[data-theme="light"] .card-arrow{background:#f1f9fe;color:#0786bd;border-color:#aad8ed}
html[data-theme="light"] .concept-home .theme-switch button[aria-pressed="true"]{background:#e1f4ff;color:#0077af;box-shadow:none}
@media(min-width:1500px){.concept-hero{padding-top:70px}.concept-grid{gap:65px}.concept-copy h1{font-size:70px}.concept-cards{margin-top:55px}}
@media(max-width:1100px){.concept-home .container{width:calc(100% - 48px)}.concept-home .nav-links{gap:22px}.concept-home .theme-switch{margin-left:12px}.concept-grid{gap:24px}.concept-copy h1{font-size:49px}.concept-lead{font-size:16px}.orbit-icon{width:59px;height:59px}.orbit-icon::before{width:72px;height:72px}.orbit-label{font-size:11px;padding-right:9px}.orbit-center{width:80px;height:80px}.concept-actions{gap:10px}.concept-home .concept-actions .btn{padding:11px 17px;font-size:12px}.concept-photo{height:135px}}
@media(max-width:800px){.concept-grid{grid-template-columns:1fr}.concept-home .container{width:calc(100% - 36px)}.concept-home .site-header{padding-top:12px}.concept-home .site-header .nav{height:65px;padding:0 16px}.concept-home .brand{font-size:24px}.concept-home .theme-switch{margin-left:auto}.concept-hero{padding-top:44px}.concept-copy{max-width:620px}.concept-copy h1{font-size:clamp(43px,8vw,62px)}.concept-lead{max-width:540px}.concept-interactive{max-width:570px;width:100%;margin:auto}.service-orbit{margin-top:-10px}.concept-cards{gap:14px;margin-top:30px}.concept-photo{height:120px}.concept-card-copy{padding:15px 12px;min-height:170px}.concept-card-copy h2{font-size:18px}.concept-card-copy p{padding-right:10px;font-size:12px}.card-arrow{display:none}.signal-waves{background-position:center 40%;background-size:1450px auto}}
@media(max-width:540px){.concept-home .container{width:calc(100% - 28px)}.concept-home .site-header .nav{gap:8px;padding:0 12px}.concept-home .brand{font-size:22px}.concept-home .theme-switch{gap:1px;margin-left:auto}.concept-home .theme-switch button{width:25px;height:25px}.concept-home .menu-btn{font-size:12px;padding:7px}.concept-copy h1{font-size:44px}.concept-eyebrow{font-size:10px;letter-spacing:.24em}.concept-eyebrow span{margin:0 6px}.concept-lead{font-size:15px;line-height:1.75}.concept-actions{flex-wrap:nowrap;gap:10px}.concept-home .concept-actions .btn{padding:11px 16px;font-size:12px}.concept-cards{grid-template-columns:1fr}.concept-photo{height:180px}.concept-card-copy{min-height:0;padding:18px}.concept-card-copy h2{font-size:22px}.concept-card-copy h2 br{display:none}.concept-card-copy p{font-size:14px;padding-right:25px}.card-arrow{display:grid}.orbit-label{font-size:10px;padding:7px 8px 7px 18px}.orbit-icon{width:49px;height:49px}.orbit-icon::before{width:61px;height:61px}.orbit-icon svg{width:25px;height:25px}.orbit-center{width:65px;height:65px}.orbit-center span{font-size:43px}.orbit-cameras{left:16%}.orbit-it{left:80%}.orbit-dashboards{left:75%}.concept-answer{padding:20px 16px;gap:10px;grid-template-columns:24px 1fr}.answer-icon{width:24px}.concept-answer h2{font-size:14px}.concept-answer p{font-size:12px}.concept-home .concept-answer .btn{font-size:11px}.concept-explore{padding-top:40px}}
@media(prefers-reduced-motion:reduce){.orbit-node:hover .orbit-icon,.orbit-node[aria-pressed="true"] .orbit-icon{transform:none}.concept-card:hover{transform:none}}

.concept-home .nav-links{order:2}.concept-home .theme-switch{order:3}.concept-home .menu-btn{order:4}
