@font-face{font-family:Inter;src:url('/assets/fonts/inter-cyrillic.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Inter;src:url('/assets/fonts/inter-latin.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Pixel;src:url('/assets/fonts/pixel-cyrillic.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Pixel;src:url('/assets/fonts/pixel-latin.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212}

/* Brand tokens and shared geometry. */
:root {
  --paper:#F4EFE6; --surface:#FAF7F0; --ink:#23211E; --muted:#5D6257;
  --green:#59745F; --deep-green:#293E32; --sage:#9FB49D; --sand:#D9C8A8;
  --terracotta:#C0704D; --rust:#944A2D; --line:#D8D2C3;
  --font:Inter,Arial,sans-serif; --pixel:Pixel,'Courier New',monospace;
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px;
  --space-6:24px; --space-8:32px; --space-12:48px; --space-16:64px; --space-24:96px;
  color-scheme:light;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:112px; }
body { margin:0; color:var(--ink); background:var(--paper); font:400 16px/1.6 var(--font); -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
button,a,summary { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:3px solid var(--rust); outline-offset:5px; }
::selection { background:#D2DEC9; color:var(--deep-green); }
h1,h2,h3,p,figure { margin:0; }
h2,h3 { text-wrap:balance; }
p { text-wrap:pretty; }
h2 { font-size:40px; line-height:1.18; font-weight:650; letter-spacing:-1.4px; }
h3 { font-size:23px; line-height:1.3; font-weight:650; letter-spacing:-.6px; }
ul,ol { margin:0; padding:0; }
.container { width:calc(100% - 96px); max-width:1280px; margin-inline:auto; }
.section { padding-block:96px; }
.icon { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:square; stroke-linejoin:miter; flex:none; }
.svg-library { position:absolute; width:0; height:0; overflow:hidden; }
.accent-period { color:var(--terracotta); }
.eyebrow { display:flex; align-items:center; gap:12px; font-size:13px; font-weight:550; line-height:1.6; letter-spacing:.8px; }
.tiny-square { width:7px; height:7px; background:var(--terracotta); flex:none; }
.section-label { margin-bottom:24px; color:var(--muted); font-size:12px; letter-spacing:1.5px; }
.section-label>span { color:var(--rust); font-variant-numeric:tabular-nums; }
.section-heading { margin-bottom:40px; }
.heading-row { display:flex; align-items:flex-end; justify-content:space-between; gap:48px; }
.heading-row>p { font-size:16px; line-height:1.65; color:var(--muted); max-width:390px; padding-bottom:3px; }
.skip-link { position:fixed; z-index:100; top:12px; left:12px; padding:12px 20px; color:var(--paper); background:var(--deep-green); transform:translateY(-150%); }
.skip-link:focus { transform:none; }
.pixel-heart { display:inline-block; width:15px; height:13px; flex:none; background:var(--terracotta); clip-path:polygon(0 15%,15% 15%,15% 0,40% 0,40% 15%,60% 15%,60% 0,85% 0,85% 15%,100% 15%,100% 55%,85% 55%,85% 70%,70% 70%,70% 85%,55% 85%,55% 100%,40% 100%,40% 85%,25% 85%,25% 70%,15% 70%,15% 55%,0 55%); }
.pixel-spark { display:inline-block; width:15px; height:15px; flex:none; background:var(--terracotta); clip-path:polygon(35% 0,65% 0,65% 35%,100% 35%,100% 65%,65% 65%,65% 100%,35% 100%,35% 65%,0 65%,0 35%,35% 35%); }
.button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:52px; padding:13px 24px; border:1px solid transparent; border-radius:4px; font-size:15px; line-height:1.5; font-weight:550; transition:background .2s,box-shadow .2s; }
.button-primary { color:#FFFDF8; background:var(--green); border-color:var(--green); }
.button-primary:hover { background:#425E49; border-color:#425E49; box-shadow:0 3px 0 #293E3226; }
.button .icon { width:19px; height:19px; }
.text-link { display:inline-flex; align-items:center; gap:12px; min-height:44px; font-size:15px; font-weight:550; text-decoration:underline; text-decoration-color:#9FB49D; text-underline-offset:5px; text-decoration-thickness:1px; }
.text-link .icon { width:19px; height:19px; }
.text-link:hover { color:var(--rust); text-decoration-color:currentColor; }

/* Header and mobile navigation. */
.site-header { position:sticky; top:0; z-index:20; height:88px; background:#F4EFE6F5; border-bottom:1px solid var(--line); backdrop-filter:blur(12px); }
.header-inner { display:flex; height:100%; align-items:center; justify-content:space-between; gap:32px; }
.brand { display:inline-flex; flex:none; align-items:center; min-height:44px; }
.brand-logo-full { display:block; width:auto; height:44px; }
.site-header nav { display:flex; align-items:center; gap:28px; }
.site-header nav a { display:flex; align-items:center; min-height:44px; color:#4C5548; font-size:14px; }
.site-header nav a:hover,.site-footer nav a:hover { color:var(--rust); }
.header-phone { display:inline-flex; align-items:center; gap:12px; min-height:44px; font-size:15px; font-weight:600; white-space:nowrap; }
.header-phone .icon { width:18px; height:18px; color:var(--green); }
.menu-toggle,.nav-mobile-phone { display:none!important; }

/* A calm, open hero with a single illustration contour. */
.hero { overflow:clip; }
.hero-grid { display:grid; grid-template-columns:1fr 1.15fr; align-items:center; gap:28px; padding-block:48px 44px; }
.hero-copy { min-width:0; position:relative; z-index:1; }
.hero-eyebrow { color:#5A6253; max-width:460px; font-size:14px; letter-spacing:.1px; margin-bottom:24px; }
.hero h1 { font:400 45px/1.4 var(--pixel); color:var(--deep-green); letter-spacing:-1.2px; text-wrap:initial; }
.hero-line { display:block; }
.hero-description { max-width:480px; margin-top:24px; font-size:18px; line-height:1.65; color:var(--muted); }
.hero-actions { display:flex; align-items:center; gap:24px; margin-top:28px; flex-wrap:wrap; }
.hero-note { display:flex; align-items:center; gap:12px; margin-top:24px; font-size:14px; color:#58664F; }
.hero-note .pixel-spark { width:12px; height:12px; }
.hero-workshop { width:100%; min-width:0; margin:0; }
.workshop-art { display:block; width:100%; height:auto; overflow:visible; image-rendering:pixelated; }
.hero-workshop figcaption { display:flex; align-items:center; justify-content:center; gap:10px; margin-top:-8px; padding:0 16px; color:var(--muted); font-size:12px; line-height:1.6; text-align:center; }
.expertise-strip { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-block:24px; border-block:1px solid var(--line); font-size:14px; font-weight:500; color:#54624E; }
.expertise-strip>b { color:var(--terracotta); font-size:20px; font-weight:400; }

/* Services use normal flow: illustrations can never collide with the text. */
.services-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:24px; }
.service-card { min-width:0; padding:28px; border-radius:6px; }
.service-wide { grid-column:span 3; background:#E4E9DE; }
.service-software { background:#F0E1D3; }
.service-small { grid-column:span 2; padding:24px 4px 16px; border-top:1px solid #C7CDBB; border-radius:0; }
.service-top { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:0; }
.service-heading { min-width:0; flex:1; }
.service-heading h3 { margin-top:16px; }
.card-number { display:flex; align-items:baseline; gap:7px; color:#57614F; font-size:12px; line-height:1.5; }
.card-number b { font-weight:550; color:var(--rust); font-variant-numeric:tabular-nums; }
.service-visual { display:flex; align-items:flex-start; justify-content:flex-end; width:140px; height:88px; flex:none; }
.service-visual>svg { display:block; width:120px; height:80px; }
.service-card h3 { max-width:470px; }
.service-card p { margin-top:20px; font-size:16px; line-height:1.6; color:#515B4C; }
.rack-art { position:relative; width:124px; }
.rack-row { display:flex; align-items:center; gap:5px; height:18px; padding:0 8px; border:2px solid #59745F; margin-bottom:4px; background:#9FB49D; }
.rack-row i { width:5px; height:5px; background:#F4EFE6; flex:none; }
.rack-row span { flex:1; }
.rack-row b { width:2px; height:6px; background:#59745F; }
.rack-line { position:absolute; bottom:-10px; left:32%; width:36px; height:12px; border-left:2px solid #59745F; border-bottom:2px solid #59745F; }
.rack-endpoint { position:absolute; bottom:-13px; left:calc(32% + 34px); width:6px; height:6px; background:#59745F; }
.service-support { grid-column:span 6; display:grid; grid-template-columns:1fr 1.15fr auto; align-items:center; gap:32px; padding:28px; background:#EAE0CC; }
.service-support h3 { margin-top:8px; }
.service-support p { margin:0; }
.support-call { display:inline-flex; align-items:center; gap:10px; min-height:44px; font-size:14px; font-weight:600; color:#3B513E; }
.support-call>.icon { width:19px; height:19px; }
.support-call>.icon:last-child { display:none; }
.support-call:hover { color:var(--rust); }
.services-footer { display:flex; justify-content:space-between; align-items:center; gap:32px; margin-top:32px; }
.services-footer p { max-width:600px; font-size:14px; line-height:1.6; color:var(--muted); }

/* Software: one shared surface and optically sized original marks. */
.software-section { padding:80px 0; background:#EAE4D6; }
.brand-grid { list-style:none; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); background:#FAF7F0; border-radius:6px; }
.software-brand { display:flex; align-items:center; flex-direction:column; justify-content:center; gap:16px; padding:30px 12px; text-align:center; }
.brand-logo { height:64px; width:100%; display:flex; align-items:center; justify-content:center; }
.brand-logo img { display:block; width:auto; height:auto; max-width:100%; max-height:48px; object-fit:contain; image-rendering:auto; }
.brand-iiko img { width:82px; max-height:none; }
.brand-rkeeper img { width:138px; }
.brand-1c img { height:64px; max-height:64px; }
.brand-dalion img { width:146px; }
.brand-atol img { width:48px; }
.brand-text-fallback { font-size:29px; line-height:1; font-weight:650; color:#323D33; letter-spacing:-1px; }
.software-brand small { display:block; font-size:12px; line-height:1.5; color:#5D6257; }
.brand-note { margin-top:24px; font-size:14px; line-height:1.65; color:#59604F; }

/* An engineering diagram with its own readable mobile layout. */
.approach-section { background:var(--deep-green); color:var(--paper); }
.approach { display:grid; grid-template-columns:1.05fr 1fr; gap:64px; align-items:center; padding-block:96px; }
.approach .section-label { color:#CED8C6; }
.approach .section-label>span { color:#DEAC85; }
.approach h2 { max-width:600px; font-size:38px; }
.approach .accent-period { color:#E3AD87; }
.section-description { margin-top:24px; color:#E0E6D8; font-size:17px; line-height:1.65; max-width:540px; }
.benefits { display:flex; flex-direction:column; gap:14px; list-style:none; margin-top:28px; }
.benefits li { display:flex; align-items:flex-start; gap:12px; font-size:15px; line-height:1.6; color:#F0EFE4; }
.benefits .icon { width:18px; height:18px; color:#AFCAA0; margin-top:3px; }
.ecosystem { position:relative; aspect-ratio:520/490; width:100%; max-width:570px; margin-inline:auto; isolation:isolate; }
.ecosystem-lines { position:absolute; inset:0; width:100%; height:100%; fill:none; stroke:#71866C; stroke-width:3; z-index:-1; }
.eco-flow { stroke:#BED0AE; stroke-width:2; stroke-dasharray:4 12; animation:eco-data 9s linear infinite; }
@keyframes eco-data { to { stroke-dashoffset:-160; } }
.eco-center { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:112px; height:112px; display:flex; align-items:center; justify-content:center; flex-direction:column; background:var(--paper); border-radius:4px; gap:3px; }
.eco-center img { display:block; width:70px; height:55px; }
.eco-center span { font-size:13px; font-weight:550; color:#334B36; }
.eco-node { position:absolute; transform:translate(-50%,-50%); display:flex; align-items:center; justify-content:center; flex-direction:column; gap:10px; width:118px; min-height:88px; padding:12px 8px; color:#384D38; background:#E8EDDF; border-radius:4px; text-align:center; }
.eco-node>.icon { color:#59745F; width:24px; height:24px; }
.eco-node span { font-size:13px; line-height:1.4; }
.eco-hardware { left:50%; top:15.7%; }
.eco-software { left:85.2%; top:38.4%; }
.eco-account { left:71.5%; top:81.8%; }
.eco-net { left:28.5%; top:81.8%; }
.eco-support { left:14.8%; top:38.4%; }

/* The name is explained through its two origins, with an editorial rhythm. */
.story-section { display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; border-bottom:1px solid var(--line); }
.story-intro h2 { max-width:450px; }
.story-sign { display:flex; align-items:center; gap:18px; margin-top:36px; color:var(--deep-green); }
.story-sign img { width:80px; height:80px; }
.story-sign span { font:400 29px/1.5 var(--pixel); letter-spacing:-1px; }
.story-origin { margin-top:20px; color:var(--muted); font-size:14px; line-height:1.7; }
.story-meanings { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.story-meanings>div { border-top:2px solid #A6B39A; padding-top:18px; }
.story-meanings>div:last-child { border-color:var(--terracotta); }
.story-meanings dt { font-size:19px; font-weight:600; color:var(--deep-green); }
.story-meanings dd { margin:12px 0 0; font-size:16px; line-height:1.65; color:var(--muted); }
.story-copy>p { margin-top:24px; font-size:17px; line-height:1.75; color:var(--muted); }
.story-copy .story-name { margin-top:30px; color:#3D553F; }
.story-copy .story-promise { color:var(--deep-green); font-weight:600; }
@media(max-width:900px) { .story-section { grid-template-columns:1fr; gap:36px; } .story-intro h2 { max-width:600px; } .story-sign { margin-top:24px; } }
@media(max-width:600px) { .story-section { gap:28px; } .story-sign { gap:12px; } .story-sign img { width:64px; height:64px; } .story-sign span { font-size:25px; } .story-meanings { grid-template-columns:1fr; gap:24px; } .story-copy>p { font-size:16px; line-height:1.7; } }

/* Four steps, not four large empty cards. */
.timeline { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px; list-style:none; }
.step-marker { display:flex; align-items:center; gap:16px; margin-bottom:24px; }
.step-marker>span { display:grid; place-items:center; width:44px; height:44px; flex:none; border:1px solid #BDAC8F; color:#5D4E35; font-size:14px; font-weight:550; font-variant-numeric:tabular-nums; }
.step-marker>i { flex:1; height:1px; background:#C9BCA4; }
.timeline h3 { font-size:21px; line-height:1.35; }
.timeline p { margin-top:12px; color:var(--muted); font-size:16px; line-height:1.6; }

/* Native, keyboard-accessible answers. */
.faq-section { display:grid; grid-template-columns:.85fr 1.3fr; gap:80px; padding:0 0 96px; }
.faq-intro>p:last-child { margin-top:20px; color:var(--muted); font-size:16px; line-height:1.65; }
.faq-list { border-top:1px solid #C8C8B5; }
.faq-list details { border-bottom:1px solid #C8C8B5; }
.faq-list summary { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:22px 0; min-height:76px; cursor:pointer; font-size:18px; line-height:1.5; font-weight:500; list-style:none; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary>span { display:grid; place-items:center; width:28px; height:28px; flex:none; font-size:26px; line-height:1; font-weight:400; color:#59745F; transition:transform .2s; }
.faq-list details[open] summary>span { transform:rotate(45deg); }
.faq-list details>p { padding:0 40px 24px 0; font-size:16px; line-height:1.65; color:var(--muted); }

/* A clear final invitation and a large, working phone number. */
.contact-section { padding-bottom:80px; }
.contact-panel { position:relative; display:grid; grid-template-columns:1fr 224px; gap:48px; align-items:center; padding:56px; background:#DFE6D5; border-radius:6px; }
.contact-content { min-width:0; }
.contact-panel .eyebrow { font-size:12px; color:#46583E; letter-spacing:.7px; margin-bottom:24px; }
.contact-panel h2 { color:#293E32; font-size:40px; max-width:700px; }
.contact-panel p:not(.eyebrow) { color:#4B5A42; font-size:17px; line-height:1.65; max-width:540px; margin-top:20px; }
.contact-phone { display:table; margin:24px 0 20px; font-size:38px; font-weight:550; letter-spacing:-1.2px; line-height:1.35; color:#293E32; }
.contact-phone:hover { color:#944A2D; }
.contact-decoration { text-align:center; transform:rotate(-5deg); }
.contact-decoration img { display:block; width:224px; height:176px; }
.contact-decoration>span { display:block; font:400 27px/1.6 var(--pixel); margin-top:12px; color:#3D5842; }
.site-footer { padding-bottom:28px; }
.footer-top { display:grid; grid-template-columns:1fr .9fr auto; gap:64px; align-items:start; padding-bottom:40px; }
.footer-identity .brand-logo-full { width:auto; height:40px; }
.footer-identity p { font-size:14px; color:var(--muted); line-height:1.6; max-width:290px; margin-top:12px; }
.footer-identity .footer-slogan { color:#3D553F; font-weight:550; margin-top:20px; }
.footer-top nav { display:grid; grid-template-columns:1fr 1fr; column-gap:24px; row-gap:0; }
.footer-top nav a { display:flex; align-items:center; min-height:44px; font-size:14px; color:#4E5847; }
.footer-phone { display:inline-flex; align-items:center; gap:12px; min-height:44px; font-size:16px; font-weight:550; white-space:nowrap; }
.footer-phone .icon { width:18px; height:18px; color:#59745F; }
.footer-bottom { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; border-top:1px solid var(--line); padding-top:24px; font-size:13px; line-height:1.7; color:#626354; }
.footer-bottom div>p { color:#505848; margin-bottom:4px; }
.footer-bottom span { display:inline-block; margin-right:20px; }
.will-reveal { opacity:0; transform:translateY(12px); transition:opacity .5s ease,transform .5s ease; }
.will-reveal.visible { opacity:1; transform:none; }

/* Medium desktop: preserve type size, give the illustration room. */
@media(max-width:1150px) {
  .container { width:calc(100% - 72px); }
  h2 { font-size:36px; }
  .header-inner { gap:24px; }
  .brand-logo-full { width:auto; height:38px; }
  .site-header nav { gap:20px; }
  .site-header nav a { font-size:13px; }
  .header-phone { font-size:14px; gap:8px; }
  .hero-grid { gap:24px; grid-template-columns:1fr 1.05fr; }
  .hero h1 { font-size:36px; }
  .hero-description { font-size:17px; }
  .hero-actions { gap:16px; }
  .hero-actions .text-link { font-size:14px; }
  .hero-actions .button { padding-inline:20px; }
  .service-card { padding:24px; }
  .service-small { padding-inline:0; }
  .service-top { display:grid; grid-template-columns:minmax(0,1fr) 110px; gap:16px 12px; }
  .service-heading { display:contents; }
  .service-heading h3 { grid-column:1 / -1; grid-row:2; margin-top:0; }
  .service-top .card-number { grid-column:1; grid-row:1; }
  .service-top .service-visual { grid-column:2; grid-row:1; }
  .service-visual { width:110px; }
  .service-visual>svg { width:104px; height:74px; }
  .card-number { font-size:12px; }
  .service-support { gap:24px; grid-template-columns:1fr 1.2fr 44px; }
  .support-call>span { display:none; }
  .support-call { justify-content:center; min-width:44px; }
  .brand-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .software-brand { padding:24px 16px; }
  .software-brand small { font-size:13px; }
  .approach { gap:40px; }
  .approach h2 { font-size:34px; }
  .eco-node { width:100px; min-height:84px; padding-inline:5px; }
  .eco-node span { font-size:12px; }
  .eco-center { width:100px; height:100px; }
  .ecosystem { max-width:470px; }
  .timeline { gap:24px; }
  .timeline h3 { font-size:20px; }
  .faq-section { gap:48px; }
  .contact-panel { padding:40px; gap:32px; grid-template-columns:1fr 170px; }
  .contact-panel h2 { font-size:36px; }
  .contact-decoration img { width:170px; height:auto; }
  .contact-decoration>span { font-size:23px; }
  .contact-phone { font-size:32px; }
  .footer-top { gap:32px; }
  .footer-phone { font-size:14px; gap:8px; }
}

/* Tablet: a separate, readable hero instead of a scaled desktop. */
@media(max-width:900px) {
  html { scroll-padding-top:104px; }
  .site-header { height:80px; }
  .header-phone { margin-left:auto; }
  .menu-toggle { display:flex!important; order:3; align-items:center; justify-content:center; flex-direction:column; gap:6px; width:44px; height:44px; padding:0; border:1px solid #B7B69D; background:transparent; border-radius:3px; z-index:22; flex:none; }
  .menu-toggle>span { display:block; width:19px; height:2px; background:#415B43; transition:transform .2s; }
  .menu-open .menu-toggle>span:first-child { transform:translateY(4px) rotate(45deg); }
  .menu-open .menu-toggle>span:last-child { transform:translateY(-4px) rotate(-45deg); }
  .site-header nav { display:none; position:absolute; top:79px; left:0; width:100%; max-height:calc(100dvh - 80px); overflow:auto; background:#F4EFE6; padding:16px 36px 24px; border-bottom:1px solid #B7B69D; align-items:stretch; flex-direction:column; gap:0; box-shadow:0 14px 24px #293E3210; }
  .menu-open .site-header nav { display:flex; }
  .site-header nav a { min-height:52px; font-size:17px; border-bottom:1px solid #D8D2C3; }
  .nav-mobile-phone { display:flex!important; color:var(--rust)!important; margin-top:8px; }
  .hero-grid { grid-template-columns:1fr; gap:12px; padding-block:40px 32px; }
  .hero-copy { max-width:680px; }
  .hero h1 { font-size:42px; line-height:1.4; }
  .hero h1 .hero-line:nth-child(2),.hero h1 .hero-line:nth-child(3) { display:inline; }
  .hero-description { max-width:620px; font-size:18px; }
  .hero-actions { gap:24px; }
  .hero-actions .button { font-size:15px; padding-inline:24px; }
  .hero-actions .text-link { font-size:15px; }
  .hero-workshop { max-width:640px; margin-inline:auto; }
  .hero-note { margin-top:20px; }
  .expertise-strip { font-size:13px; gap:12px; }
  .section { padding-block:80px; }
  .heading-row { display:block; }
  .heading-row>p { max-width:500px; margin-top:20px; }
  .service-small { grid-column:span 3; }
  .service-small:nth-child(5) { grid-column:span 6; padding-block:24px; }
  .service-small:nth-child(5) .service-top { margin:0; }
  .service-small:nth-child(5) h3 { max-width:none; }
  .service-small:nth-child(5) p { margin-top:20px; }
  .service-card h3 { font-size:22px; }
  .service-support { grid-template-columns:1fr 1.2fr; }
  .support-call { grid-column:1 / -1; justify-content:flex-start; width:max-content; }
  .support-call>span { display:inline; }
  .services-footer { align-items:flex-start; }
  .approach { grid-template-columns:1fr; gap:40px; padding-block:80px; }
  .approach h2 { max-width:600px; font-size:36px; }
  .section-description { max-width:640px; }
  .benefits { display:grid; grid-template-columns:1fr 1fr; gap:16px 24px; }
  .ecosystem { max-width:570px; }
  .eco-node { width:126px; min-height:92px; }
  .eco-node span { font-size:14px; }
  .eco-center { width:114px; height:114px; }
  .timeline { grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px 32px; }
  .timeline h3 { font-size:21px; }
  .faq-section { grid-template-columns:1fr; gap:28px; padding-bottom:80px; }
  .faq-intro h2>br { display:none; }
  .faq-intro>p:last-child { display:none; }
  .contact-panel { grid-template-columns:1fr 128px; padding:36px; gap:24px; }
  .contact-panel h2 { font-size:34px; }
  .contact-decoration img { width:128px; }
  .contact-decoration>span { font-size:20px; }
  .contact-phone { font-size:30px; }
  .footer-top { grid-template-columns:1fr 1fr; gap:32px; }
  .footer-top nav { grid-column:2; grid-row:1 / 3; }
  .footer-phone { grid-column:1; font-size:16px; }
}

/* Mobile: full-sized text, compact services and a vertical infrastructure path. */
@media(max-width:600px) {
  html { scroll-padding-top:96px; }
  .container { width:calc(100% - 40px); }
  h2 { font-size:31px; line-height:1.2; letter-spacing:-1px; }
  .section { padding-block:64px; }
  .site-header { height:76px; }
  .header-inner { gap:12px; }
  .brand-logo-full { width:auto; height:34px; }
  .header-phone { font-size:12px; letter-spacing:-.3px; gap:0; }
  .header-phone .icon { display:none; }
  .site-header nav { top:75px; padding-inline:20px; }
  .hero-grid { padding-block:32px 24px; gap:16px; }
  .hero-eyebrow { font-size:14px; line-height:1.6; max-width:340px; gap:10px; margin-bottom:20px; }
  .hero h1 { font-size:clamp(26px,7.8vw,38px); line-height:1.4; letter-spacing:-.8px; }
  .hero h1 .hero-line:nth-child(2),.hero h1 .hero-line:nth-child(3) { display:block; }
  .hero-description { font-size:16px; line-height:1.6; margin-top:24px; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:4px; margin-top:24px; }
  .hero-actions .button { font-size:15px; min-height:52px; padding-inline:24px; }
  .hero-actions .text-link { font-size:14px; }
  .hero-note { font-size:14px; margin-top:16px; }
  .hero-workshop { margin-top:0; max-width:none; }
  .hero-workshop figcaption { font-size:12px; margin-top:-4px; gap:8px; padding-inline:4px; }
  .expertise-strip { display:grid; grid-template-columns:1fr 16px 1fr; gap:10px 8px; padding-block:20px; font-size:13px; }
  .expertise-strip>span:nth-of-type(even) { text-align:right; }
  .expertise-strip>b:nth-of-type(2) { display:none; }
  .expertise-strip>b { text-align:center; font-size:18px; }
  .section-label { font-size:12px; letter-spacing:1px; margin-bottom:20px; gap:10px; }
  .section-heading { margin-bottom:28px; }
  .heading-row>p { font-size:16px; line-height:1.6; margin-top:20px; }
  .desktop-break { display:none; }
  .services-grid { display:flex; flex-direction:column; gap:16px; }
  .service-card { padding:20px; }
  .service-small { background:#FAF7F0; border:1px solid #D8D2C3; border-radius:5px; }
  .service-top { display:flex; gap:12px; margin-bottom:0; align-items:flex-start; }
  .service-heading { display:block; }
  .service-heading h3 { margin-top:10px; }
  .card-number { font-size:12px; line-height:1.5; gap:6px; }
  .service-visual { width:56px; height:52px; align-items:flex-start; }
  .service-visual>svg { width:56px; height:44px; }
  .rack-art { width:52px; }
  .rack-row { height:8px; padding:0 4px; border-width:1px; gap:3px; margin-bottom:3px; }
  .rack-row i { width:3px; height:3px; }
  .rack-row b { width:1px; height:4px; }
  .rack-line { height:9px; width:26px; bottom:-7px; border-width:1px; }
  .rack-endpoint { width:5px; height:5px; bottom:-9px; left:calc(32% + 24px); }
  .service-card h3 { font-size:21px; line-height:1.3; letter-spacing:-.5px; }
  .service-card p { font-size:16px; line-height:1.6; margin-top:12px; }
  .service-small:nth-child(5) { display:block; padding:20px; }
  .service-small:nth-child(5) .service-top { flex-direction:row; margin-bottom:0; }
  .service-small:nth-child(5) p { margin-top:12px; }
  .service-support { display:block; }
  .service-support h3 { margin-top:12px; }
  .service-support p { margin-top:12px; }
  .support-call { margin-top:12px; font-size:14px; }
  .services-footer { flex-direction:column; gap:12px; margin-top:24px; }
  .services-footer p { font-size:14px; }
  .services-footer .text-link { font-size:14px; }
  .software-section { padding-block:64px; }
  .brand-grid { grid-template-columns:repeat(2,minmax(0,1fr)); padding:8px 0; }
  .software-brand { padding:24px 12px; gap:14px; }
  .brand-logo { height:64px; }
  .brand-rkeeper img { width:126px; }
  .brand-dalion img { width:136px; }
  .software-brand small { font-size:12px; }
  .brand-text-fallback { font-size:27px; }
  .brand-note { font-size:14px; margin-top:20px; }
  .approach { padding-block:64px; gap:32px; }
  .approach h2 { font-size:31px; }
  .section-description { font-size:16px; line-height:1.65; margin-top:20px; }
  .benefits { display:flex; flex-direction:column; margin-top:24px; gap:14px; }
  .benefits li { font-size:15px; gap:12px; }
  .ecosystem { aspect-ratio:auto; display:flex; flex-direction:column; gap:12px; padding-top:0; max-width:none; }
  .ecosystem-lines { display:none; }
  .eco-center { position:static; transform:none; flex-direction:row; gap:12px; width:100%; height:auto; min-height:76px; padding:12px 20px; justify-content:flex-start; margin-bottom:8px; }
  .eco-center img { width:64px; height:50px; }
  .eco-center span { font-size:17px; }
  .eco-node { position:relative; left:auto; top:auto; transform:none; flex-direction:row; justify-content:flex-start; gap:16px; width:100%; min-height:64px; padding:16px 22px; text-align:left; }
  .eco-node:not(:last-child):after { content:''; position:absolute; bottom:-12px; left:34px; height:12px; width:2px; background:#AFC39F; }
  .eco-node>.icon { width:24px; height:24px; }
  .eco-node span { font-size:16px; line-height:1.5; }
  .timeline { display:flex; flex-direction:column; gap:28px; }
  .timeline li { display:grid; grid-template-columns:44px 1fr; gap:20px; position:relative; }
  .step-marker { display:block; margin:0; }
  .step-marker>i { position:absolute; top:58px; bottom:-14px; left:21px; width:1px; height:auto; background:#CCBEA4; }
  .timeline li:last-child .step-marker>i { display:none; }
  .timeline h3 { font-size:20px; line-height:1.35; padding-top:7px; }
  .timeline p { font-size:16px; line-height:1.6; margin-top:8px; }
  .faq-section { gap:24px; padding-bottom:64px; }
  .faq-list summary { font-size:17px; line-height:1.5; gap:16px; min-height:76px; padding-block:20px; }
  .faq-list summary>span { width:24px; height:24px; }
  .faq-list details>p { padding-right:0; font-size:16px; }
  .contact-section { padding-bottom:56px; }
  .contact-panel { display:block; padding:28px 24px 32px; }
  .contact-panel .eyebrow { font-size:12px; letter-spacing:.4px; gap:10px; margin-bottom:24px; }
  .contact-panel .pixel-spark { align-self:flex-start; margin-top:3px; }
  .contact-panel h2 { font-size:30px; letter-spacing:-1px; }
  .contact-panel h2>br { display:none; }
  .contact-panel p:not(.eyebrow) { font-size:16px; line-height:1.6; margin-top:20px; }
  .contact-phone { font-size:clamp(22px,6.2vw,30px); letter-spacing:-.7px; line-height:1.4; margin-block:24px 20px; }
  .contact-panel .button { font-size:14px; padding-inline:16px; max-width:100%; text-align:left; }
  .contact-decoration { display:none; }
  .footer-top { gap:24px; padding-bottom:28px; }
  .footer-identity .brand-logo-full { width:auto; height:36px; }
  .footer-identity p { font-size:14px; max-width:230px; }
  .footer-identity .footer-slogan { margin-top:16px; }
  .footer-top nav { display:flex; flex-direction:column; }
  .footer-top nav a { font-size:14px; }
  .footer-phone { grid-column:1 / -1; font-size:16px; }
  .footer-bottom { display:block; font-size:12px; padding-top:24px; }
  .footer-bottom>p { margin-top:16px; }
  .footer-bottom span { margin-right:14px; }
}
@media(max-width:360px) {
  .container { width:calc(100% - 32px); }
  .header-inner { gap:8px; }
  .brand-logo-full { width:auto; height:30px; }
  .header-phone { font-size:12px; letter-spacing:-.5px; }
  .hero h1 { font-size:26px; }
  .service-card { padding:18px; }
  .service-small:nth-child(5) { padding:18px; }
  .service-card h3 { font-size:20px; }
  .service-visual { width:40px; }
  .service-visual>svg { width:40px; }
  .rack-art { width:40px; }
  .rack-line { left:20%; width:20px; }
  .rack-endpoint { left:calc(20% + 18px); }
  .software-brand { padding-inline:10px; }
  .contact-panel { padding-inline:20px; }
  .contact-panel h2 { font-size:28px; }
  .contact-panel .button { gap:10px; padding-inline:12px; }
  .footer-top { column-gap:16px; }
  .footer-identity .brand-logo-full { width:auto; height:32px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*:before,*:after { animation:none!important; transition:none!important; }
  .will-reveal { opacity:1; transform:none; }
}
