/* ONESTORE NETWORK — Direction 02: dark editorial / signal orange. */
:root{--bg:#101113;--surface:#1a1b1e;--ink:#f3f3ee;--muted:#b0b1b5;--line:#35363a;--accent:#ff784b;--radius:14px;--container:1320px;--space:24px;--duration:250ms;--font:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 var(--font)}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--accent);outline-offset:6px}img{max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.055em;line-height:1.04}h1,h2{font-weight:500}.container{width:min(var(--container),calc(100% - 96px));margin-inline:auto}.eyebrow{font-size:12px;letter-spacing:.13em;font-weight:600;line-height:1.6}.skip-link{position:fixed;top:-100px;left:20px;background:var(--accent);color:#101113;z-index:30;padding:14px}.skip-link:focus{top:10px}
/* Navigation */
.site-header{position:sticky;top:0;background:#101113f2;backdrop-filter:blur(16px);z-index:20;border-bottom:1px solid var(--line)}.header-inner{height:96px;display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{font-size:25px;font-weight:800;letter-spacing:-1px;line-height:1;min-height:44px;display:flex;flex-direction:column;justify-content:center}.wordmark span{font-size:9px;letter-spacing:.49em;margin-top:9px;color:var(--muted)}.site-header nav{display:flex;gap:35px;font-size:14px;margin-left:auto;margin-right:54px}.site-header nav a{min-height:44px;display:flex;align-items:center}.site-header nav a:hover{color:var(--accent)}.header-cta{padding:11px 18px;border:1px solid #626266;border-radius:40px;font-size:13px}.header-cta span{margin-left:22px;color:var(--accent)}
/* Hero: oversized typography and a connected orbital diagram */
.hero{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:0;min-height:680px;padding-block:75px 85px;position:relative}.hero .eyebrow{color:var(--accent);display:flex;gap:10px;align-items:center;font-size:11px}.tiny-mark{width:7px;height:7px;background:var(--accent);display:inline-block}.hero h1{font-size:clamp(70px,7.6vw,112px);line-height:.98;letter-spacing:-.073em;margin-top:34px;position:relative;z-index:2}.hero h1>span{color:var(--accent)}.full-stop{color:var(--ink)}.hero-description{font-size:17px;line-height:1.8;color:var(--muted);margin-top:32px;max-width:480px}.button{display:inline-flex;align-items:center;gap:35px;background:var(--accent);color:#171311;border-radius:40px;padding:16px 24px;margin-top:28px;font-size:14px;font-weight:600;transition:background var(--duration),transform var(--duration)}.button span{font-size:21px}.button:hover{background:#ff966f;transform:translateY(-3px)}.hero-footnote{font:10px/1.6 monospace;letter-spacing:.15em;color:#a8a8ab;margin-top:27px}.network-map{height:470px;position:relative;isolation:isolate;margin-left:-22px}.map-grid{position:absolute;inset:0;background:radial-gradient(ellipse,#ff784b15,transparent 67%);z-index:-1}.connections{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.connections circle{stroke:#525053;stroke-dasharray:2 7}.connections ellipse{stroke:#ff784b65;stroke-width:1}.connections path{stroke:#51413d;stroke-width:1}.central-node{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:156px;height:156px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#ffb18e,#ff784b 55%,#c63d16);box-shadow:0 0 75px #ff683330,inset -9px -12px 25px #501b1720;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#201510}.core-o{font-size:80px;font-weight:700;line-height:1;letter-spacing:-.09em;padding-right:7px}.central-node>span:last-child{font-size:9px;letter-spacing:.3em;margin-top:9px}.node{position:absolute;z-index:2;min-height:63px;border:1px solid #4a4240;background:#1b1a1bee;padding:12px 16px 12px 28px;border-radius:7px;font-size:13px;font-weight:600;box-shadow:0 10px 32px #0003;transition:transform var(--duration),border-color var(--duration)}.node:hover{border-color:var(--accent);transform:translateY(-4px)}.node small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:4px}.node-dot{position:absolute;top:20px;left:12px;width:5px;height:5px;background:var(--accent);border-radius:50%}.node-cctv{left:7%;top:6%}.node-oogis{right:0;top:19%}.node-olimpiq{right:0;bottom:15%}.node-onesoft{left:28%;bottom:0}.node-sard{left:0;top:55%}.map-caption{position:absolute;bottom:-38px;right:0;color:#a8a8ab;font:9px/1.6 monospace;letter-spacing:.12em}
/* Five equal entry points */
.quick-links{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-block:1px solid var(--line);margin-bottom:0}.quick-links a{padding:25px 18px;position:relative;border-right:1px solid var(--line);transition:background var(--duration)}.quick-links a:first-child{border-left:1px solid var(--line)}.quick-links a:hover{background:#242020}.quick-links span{font:11px monospace;color:var(--accent)}.quick-links strong{font-size:13px;display:block;margin-top:13px}.quick-links small{font-size:12px;color:var(--muted);display:block;margin-top:4px}.quick-links b{position:absolute;right:18px;top:23px;font-weight:400;font-size:19px;color:var(--accent)}
/* Brand grid */
.brands-section{padding-block:110px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:44px}.section-heading .eyebrow{color:var(--accent)}.section-heading h2{font-size:62px;margin-top:20px}.section-heading>p{font-size:16px;color:var(--muted);max-width:350px}.brand-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.brand-card{border:1px solid #393a3d;background:var(--surface);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform var(--duration),border-color var(--duration)}.brand-card:hover{transform:translateY(-5px);border-color:#88756e}.brand-visual{min-height:205px;margin:10px 10px 0;border-radius:7px;background:#ecece7;color:#333b37;display:flex;align-items:center;justify-content:space-between;flex-direction:column;padding:18px 20px;position:relative}.brand-index{font:10px monospace;letter-spacing:.1em;align-self:flex-start;color:#56625d}.brand-logo{height:90px;width:100%;display:flex;align-items:center;justify-content:center}.brand-logo img{width:auto;max-width:90%;max-height:85px;object-fit:contain}.cctv .brand-visual{background:#e3dfd5}.oogis .brand-visual{background:#e5ecdf}.olimpiq .brand-visual{background:#f6ebd4}.onesoft .brand-visual{background:#e9e9e0}.sard .brand-visual{background:#dfe7ec}.olimpiq .brand-logo img{height:72px;border-radius:12px}.sard-name{font-size:52px;font-weight:700;letter-spacing:.05em}.brand-type{font-size:11px;border:1px solid #a9afa6;border-radius:30px;padding:3px 12px}.brand-copy{padding:26px;flex:1;display:flex;flex-direction:column}.card-kicker{font:11px monospace;letter-spacing:.08em;color:var(--accent);margin-bottom:17px}.brand-copy h3{font-size:27px;line-height:1.14;font-weight:500;letter-spacing:-.035em;min-height:94px}.brand-copy>p{font-size:16px;color:#b9b9bd;line-height:1.7;margin-top:16px}.tags{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:23px 0 25px}.tags li{font-size:11px;color:#c8c8cb;border:1px solid #47474b;border-radius:4px;padding:3px 7px}.brand-link{display:flex;flex-direction:column;gap:6px;border-top:1px solid #45454a;padding-top:18px;margin-top:auto;min-height:70px}.brand-link>span{font-size:14px;font-weight:600;display:flex;justify-content:space-between;gap:10px}.brand-link>span span{color:var(--accent);font-size:22px;transition:transform var(--duration)}.brand-link:hover>span span{transform:translate(3px,-3px)}.brand-link small{font-size:12px;color:var(--muted)}.concept-tile{background:var(--accent);border-radius:var(--radius);padding:32px;color:#221713;display:flex;flex-direction:column;scroll-margin-top:110px}.concept-tile .eyebrow{font-size:10px}.concept-tile h2{font-size:clamp(42px,4.4vw,65px);line-height:1.03;margin-top:42px;letter-spacing:-.065em}.concept-tile h2 span{color:#64351f}.concept-tile>p:not(.eyebrow){font-size:16px;line-height:1.7;margin:30px 0}.concept-tile>a{font:12px monospace;letter-spacing:.03em;border-top:1px solid #7b422760;padding-top:22px;min-height:50px;margin-top:auto;display:flex;justify-content:space-between}.concept-tile>a span{font-size:23px}
/* Contact and typographic footer */
.contact{padding-block:80px 100px;border-top:1px solid var(--line);display:grid;grid-template-columns:1.2fr 1fr;gap:100px}.contact .eyebrow{color:var(--accent)}.contact h2{font-size:66px;line-height:1.08;margin-top:24px}.contact h2 span{color:var(--accent)}.contact>div>p{color:var(--muted);max-width:420px;margin-top:28px;font-size:16px}.contact-label{font:11px monospace;letter-spacing:.1em;color:var(--muted)}.contact-brands{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin:18px 0 30px}.contact-brands a{min-height:48px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:13px}.contact-brands a span{color:var(--accent)}.contact-brands a:hover{color:var(--accent)}.address p{margin:12px 0 4px;font-size:14px}.address small{font-size:12px;color:var(--muted)}.site-footer{overflow:hidden;border-top:1px solid var(--line)}.footer-display{width:min(var(--container),calc(100% - 80px));margin:32px auto 0;font-size:clamp(60px,14.7vw,220px);font-weight:700;line-height:1;letter-spacing:-.075em;color:#303134;white-space:nowrap}.footer-display span{color:var(--accent)}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:40px}.footer-top p{font-size:14px;color:var(--muted)}.footer-top>a:last-child{font-size:13px;min-height:44px;display:flex;align-items:center;gap:15px}.footer-brands{display:flex;flex-wrap:wrap;gap:10px 28px;padding-bottom:25px;font-size:13px}.footer-brands a{min-height:44px;display:flex;align-items:center}.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;padding-block:22px;font-size:11px;color:var(--muted)}
/* Progressive, restrained motion */
.reveal-ready{opacity:1;transform:none}.reveal-ready.is-visible{animation:card-entrance 450ms ease both}@keyframes card-entrance{from{transform:translateY(10px)}to{transform:none}}.hero-copy{animation:none}.network-map{animation:entrance 900ms 100ms both}@keyframes entrance{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
/* Responsive composition */
@media(min-width:1700px){.hero{min-height:760px}}
@media(max-width:1150px){.container{width:calc(100% - 64px)}.hero{min-height:650px}.hero h1{font-size:83px}.network-map{height:430px}.node{font-size:11px;padding-inline:24px 12px}.central-node{width:125px;height:125px}.core-o{font-size:67px}.site-header nav{margin-right:15px;gap:25px}.quick-links strong{font-size:11px}.brand-list{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-copy h3{min-height:62px}.concept-tile h2{font-size:64px}.section-heading h2{font-size:50px}.contact{gap:60px}.contact h2{font-size:54px}}
@media(max-width:800px){.container{width:calc(100% - 40px)}.header-inner{height:82px}.header-cta{display:none}.site-header nav{margin-right:0;gap:24px}.hero{grid-template-columns:1fr;padding-block:50px 65px;gap:25px}.hero h1{font-size:clamp(67px,12vw,98px)}.hero-description{font-size:17px}.network-map{height:430px;max-width:550px;width:100%;justify-self:center;margin:0}.node{font-size:13px}.node small{font-size:12px}.central-node{width:150px;height:150px}.quick-links{grid-template-columns:repeat(3,minmax(0,1fr))}.quick-links a{border-bottom:1px solid var(--line)}.quick-links a:nth-child(4){border-left:1px solid var(--line)}.quick-links strong{font-size:12px}.section-heading{flex-direction:column;align-items:start;gap:22px}.brands-section{padding-block:70px}.section-heading h2{font-size:46px}.brand-copy{padding:23px}.brand-copy h3{font-size:26px;min-height:90px}.contact{grid-template-columns:1fr;gap:45px;padding-block:65px}.contact h2{font-size:62px}.contact-details{max-width:580px}.footer-display{width:calc(100% - 40px)}.footer-top{flex-wrap:wrap}.footer-bottom{flex-direction:column;gap:5px}}
@media(max-width:560px){.container{width:calc(100% - 32px)}.header-inner{gap:16px}.wordmark{font-size:21px}.wordmark span{font-size:8px}.site-header nav{font-size:12px;gap:16px}.hero{padding-top:42px}.hero .eyebrow{font-size:9px;letter-spacing:.08em}.hero h1{font-size:clamp(60px,13.8vw,77px);letter-spacing:-.075em;line-height:1.04;margin-top:28px}.hero-description{font-size:16px;margin-top:24px}.hero-footnote{font-size:9px}.network-map{height:345px;overflow:clip;overflow-clip-margin:6px;margin-top:20px}.node{font-size:11px;min-height:54px;padding:10px 10px 9px 23px}.node small{font-size:10px;margin-top:2px}.node-cctv{top:3%;left:0}.node-oogis{top:22%;right:0}.node-sard{top:53%;left:0}.node-olimpiq{bottom:17%;right:0}.node-onesoft{bottom:0;left:24%}.central-node{width:115px;height:115px}.core-o{font-size:60px}.central-node>span:last-child{font-size:8px}.map-caption{display:none}.quick-links{grid-template-columns:1fr}.quick-links a,.quick-links a:first-child,.quick-links a:nth-child(4){border-inline:0;padding:16px 30px 16px 38px}.quick-links a:last-child{border-bottom:0}.quick-links span{position:absolute;left:0;top:24px}.quick-links strong{font-size:14px;margin-top:0}.quick-links small{font-size:12px}.quick-links b{right:4px;top:22px}.brand-list{grid-template-columns:1fr;gap:22px}.brand-copy h3{font-size:30px;min-height:0}.brand-copy{padding:25px}.brand-visual{min-height:200px}.brand-logo img{max-width:85%;max-height:78px}.brand-type{font-size:12px}.tags li{font-size:12px}.section-heading h2{font-size:43px;max-width:300px}.section-heading>p{font-size:15px}.concept-tile{min-height:540px;padding:28px}.concept-tile h2{font-size:66px;margin-top:30px}.contact h2{font-size:51px}.contact-brands{gap:0 16px}.contact-brands a{font-size:12px}.footer-top p{order:3;width:100%;margin-top:0}.footer-top{padding-block:30px;gap:22px}.footer-display{width:calc(100% - 28px);font-size:14.7vw}.footer-brands{gap:0 25px}.footer-bottom{font-size:10px}}
@media(max-width:350px){.header-inner{height:auto;flex-wrap:wrap;padding-block:14px;gap:7px}.site-header nav{width:100%;justify-content:space-between}.hero h1{font-size:58px}.hero .eyebrow{font-size:8px}.section-heading h2{font-size:39px}.contact h2{font-size:45px}.node{font-size:10px}.node small{font-size:9px}.central-node{width:100px;height:100px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.reveal-ready{opacity:1;transform:none}}
@media print{body{background:#fff;color:#111}.site-header{position:static}.network-map{display:none}.hero{display:block;min-height:0}.brand-list{display:block}.brand-card{break-inside:avoid;margin-bottom:20px;background:white;color:black}.reveal-ready{opacity:1;transform:none}.footer-display{display:none}}

/* Final accessibility and layout hardening. */
.hero-copy,.brand-copy,.contact>div,.section-heading>div{min-width:0}
main:focus{outline:none}
.brand-card:focus-within{border-color:var(--accent)}
.concept-tile a:focus-visible,.skip-link:focus-visible{outline-color:#101113}
.node:focus-visible{outline-offset:2px}
a{touch-action:manipulation}
.brand-link small,.contact-brands a{overflow-wrap:anywhere}
.tags li,.brand-type,.card-kicker,.contact-label{font-size:.75rem}
.hero-description,.brand-copy>p,.concept-tile>p:not(.eyebrow),.contact>div>p{font-size:1rem}
@media(max-width:560px){.node{font-size:.75rem}.node small{font-size:.6875rem}.hero .eyebrow{font-size:.625rem}.hero-footnote{font-size:.625rem}.network-map{overflow:visible}.connections{overflow:hidden}.contact-brands{grid-template-columns:1fr}.site-header nav a{padding-inline:3px}}
@media(max-width:350px){html{scroll-padding-top:150px}.node{font-size:.6875rem}.node small{font-size:.625rem}}
@media(forced-colors:active){.button,.node,.brand-card,.concept-tile{border:1px solid ButtonText}a:focus-visible{outline:3px solid Highlight}}
@media print{.brand-copy>p,.brand-link small,.card-kicker,.tags li,.contact>div>p,.contact-label,.footer-bottom{color:#222}.concept-tile{background:#fff;color:#111;border:1px solid #555}.concept-tile h2 span{color:#222}}
/* Orbital levitation: independent, gentle paths around the stable core. */
.network-map .node{animation:node-orbit 9s ease-in-out infinite;will-change:translate}
.network-map .node-cctv{--float-x:9px;--float-y:-18px;animation-delay:-1s;animation-duration:5.5s}
.network-map .node-oogis{--float-x:-10px;--float-y:16px;animation-delay:-3s;animation-duration:6.5s}
.network-map .node-olimpiq{--float-x:-9px;--float-y:18px;animation-delay:-2s;animation-duration:6s}
.network-map .node-onesoft{--float-x:-12px;--float-y:-15px;animation-delay:-4s;animation-duration:7s}
.network-map .node-sard{--float-x:9px;--float-y:-17px;animation-delay:-2.5s;animation-duration:5.8s}
@keyframes node-orbit{0%,100%{translate:0 0}25%{translate:var(--float-x) var(--float-y)}50%{translate:0 var(--float-y)}75%{translate:calc(var(--float-x) * -1) 0}}
.network-map .node:hover,.network-map .node:focus-visible{animation-play-state:paused}
.network-map .node:hover{transform:none}
@media(max-width:560px){.network-map .node{animation-name:node-orbit-mobile}@keyframes node-orbit-mobile{0%,100%{translate:0 0}25%{translate:0 -12px}50%{translate:0 0}75%{translate:0 12px}}}
@media(prefers-reduced-motion:reduce){.network-map .node{animation:none!important;translate:none!important;will-change:auto}}
