/* Digital illustrations share the site's semantic theme tokens. */
limian-art, limian-flow { display:block; min-width:0; color:var(--text); }
limian-art svg, limian-flow svg { display:block; width:100%; height:auto; overflow:visible; }
.digital-panel { fill:var(--surface); stroke:var(--line-30); stroke-width:1.2; }
.digital-wire { stroke:var(--line-30); stroke-width:1.3; stroke-linecap:round; }
.digital-orange { stroke:var(--accent-hi); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.digital-accent { fill:var(--accent); }
.digital-glass { fill:var(--accent-soft); stroke:var(--accent-line); stroke-width:1; }
limian-flow { position:relative; width:100%; max-width:650px; isolation:isolate; }
limian-flow::before { content:""; position:absolute; inset:12% 2% 5% 12%; z-index:-1; background:radial-gradient(ellipse,var(--accent-soft),transparent 68%); }
.flow-topline { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:0 14px 12px; border-bottom:1px solid var(--line-12); font-size:.75rem; letter-spacing:.12em; color:var(--text-70); }
.flow-toggle { font:inherit; font-size:.6875rem; letter-spacing:0; padding:8px 10px; min-height:32px; border:1px solid var(--line-16); border-radius:6px; background:var(--surface); color:var(--text); cursor:pointer; }
.flow-toggle:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.flow-toggle:disabled { cursor:default; }
.flow-orbits { stroke:var(--line-10); stroke-width:1; }
limian-flow text { fill:var(--text-70); font:10px 'Onest',sans-serif; letter-spacing:1.4px; }
limian-flow .flow-result-title { fill:var(--text); font-size:15px; letter-spacing:0; font-weight:600; }
.flow-caption { display:flex; justify-content:space-between; gap:8px; border-top:1px solid var(--line-12); padding-top:18px; font-size:.875rem; color:var(--text-70); }
.flow-caption b { display:block; font-size:.75rem; letter-spacing:.1em; font-weight:500; color:var(--accent-hi); margin-bottom:6px; }
.flow-packet { stroke:var(--accent-hi); stroke-width:2.5; stroke-dasharray:12 108; stroke-dashoffset:12; animation:signal-route 9s linear infinite; animation-play-state:paused; }
.flow-packet-b { animation-delay:1s; }
.flow-packet-c { animation-delay:3s; }
.flow-site { animation:signal-site 9s ease-in-out infinite; animation-play-state:paused; transform-box:fill-box; transform-origin:center; }
.flow-result { animation:signal-result 9s ease-in-out infinite; animation-play-state:paused; }
.flow-sparks { fill:var(--accent); }
limian-flow.is-running :is(.flow-packet,.flow-site,.flow-result) { animation-play-state:running; }
limian-flow.is-reduced :is(.flow-packet,.flow-site,.flow-result) { animation:none; }
limian-flow.is-reduced .flow-packet { stroke-dasharray:none; opacity:.55; }
@keyframes signal-route { 0%,8% { stroke-dashoffset:12; opacity:0; } 12% { opacity:1; } 48% { stroke-dashoffset:-100; opacity:1; } 52%,100% { stroke-dashoffset:-100; opacity:0; } }
@keyframes signal-site { 0%,100% { transform:translateY(0); } 35%,65% { transform:translateY(-7px); } }
@keyframes signal-result { 0%,45%,100% { opacity:1; transform:translateY(6px); } 58%,88% { opacity:1; transform:translateY(0); } }
.art-focus { transition:transform .5s cubic-bezier(.2,.8,.2,1); transform-box:fill-box; transform-origin:center; }
@media (hover:hover) { .service-card:hover .art-focus { transform:translateY(-5px); } }
.service-card:focus-visible .art-focus { transform:translateY(-5px); }
.digital-hero { position:relative; padding:clamp(52px,7vw,100px) clamp(20px,5vw,64px) clamp(54px,7vw,90px); background:var(--hero-veil); overflow:hidden; }
.digital-hero-inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.08fr); align-items:center; gap:clamp(30px,5vw,70px); max-width:1180px; margin:auto; }
.digital-hero-copy { min-width:0; }
.digital-hero h1 { font-size:clamp(2rem,1.1rem + 2.8vw,3.5rem); line-height:1.12; font-weight:700; letter-spacing:-.035em; margin:0 0 24px; color:var(--text); }
.digital-hero .cycle-phrase { letter-spacing:inherit; }
.digital-hero-copy > p { font-size:clamp(1rem,.9rem + .3vw,1.1875rem); line-height:1.65; max-width:490px; color:var(--text-70); margin:0 0 28px; }
.hero-kicker { display:block; font-size:.6875rem; font-weight:500; letter-spacing:.14em; color:var(--accent-hi); margin-bottom:24px; }
.hero-footnote { font-size:.75rem!important; margin:16px 0 0!important; }
.digital-home-services { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.digital-home-services .service-card { display:flex; flex-direction:column; padding:24px; border:1px solid var(--line-16); border-radius:14px; background:var(--surface); color:var(--text); }
.digital-home-services h3 { font-size:1.125rem; margin:20px 0 12px; }
.digital-home-services p { color:var(--text-70); font-size:.9375rem; line-height:1.65; margin:0 0 24px; flex:1; }
.digital-home-services .btn-link { font-size:.8125rem; font-weight:600; color:var(--accent-hi); }
.digital-home-services limian-art { border-bottom:1px solid var(--line-12); }
.services-page .service-card { padding:24px; }
.services-page limian-art { margin:-4px -4px 22px; border-bottom:1px solid var(--line-12); }
.services-page .section { padding-bottom:clamp(40px,5vw,64px); }
.services-page .page-title, .service-detail-page .page-title { color:var(--text); background:none; -webkit-text-fill-color:currentColor; }
.services-page .page-title em { color:var(--accent-hi); font-style:normal; }
.service-detail-intro { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); gap:40px; align-items:center; }
.service-detail-intro > limian-art { background:var(--surface); border:1px solid var(--line-16); border-radius:12px; padding:20px; }
.service-detail-intro .service-hero { margin-top:22px; }
.services-page .stack-steps .step { background:none; box-shadow:none; border:0; border-top:1px solid var(--line-20); border-radius:0; padding:20px 0 0; }
.services-page .stack-steps .num { background:none; box-shadow:none; color:var(--accent-hi); justify-content:start; font:500 1.25rem 'Onest',sans-serif; padding:0; }
.service-choices { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.service-choices a { padding:10px 14px; border:1px solid var(--line-20); border-radius:6px; color:var(--text); font-size:.8125rem; }
.service-choices a:hover { border-color:var(--accent); color:var(--accent-hi); }
@media (max-width:900px) {
 .digital-hero-inner { grid-template-columns:minmax(0,1fr); gap:38px; }
 .digital-hero-copy { max-width:660px; }
 limian-flow { max-width:620px; margin-inline:auto; }
 .digital-home-services { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .service-detail-intro { grid-template-columns:minmax(0,1fr); gap:30px; }
 .service-detail-intro > limian-art { max-width:460px; width:100%; }
}
@media (max-width:560px) {
 .digital-home-services { grid-template-columns:minmax(0,1fr); }
 .flow-topline { padding-inline:0; font-size:.6875rem; letter-spacing:.06em; }
 .flow-caption { font-size:.8125rem; }
 .digital-hero { padding-top:42px; }
 .hero-kicker { font-size:.625rem; margin-bottom:18px; }
 .digital-hero .chrome-btn { width:100%; justify-content:center; }
 .digital-home-services limian-art { max-height:180px; }
 .digital-home-services limian-art svg { height:180px; }
}
@media (prefers-reduced-motion:reduce) {
 .art-focus { transition:none; }
 .service-card:hover .art-focus,.service-card:focus-visible .art-focus { transform:none; }
 .digital-hero .cycle-phrase { transition:none!important; transform:none!important; opacity:1!important; }
}

.digital-hero .chrome-btn { min-height:48px; padding:15px 26px; font-size:1rem; }
limian-flow text { font-size:15px; }
limian-flow .flow-result-title { font-size:18px; }
@media (prefers-reduced-motion:reduce) {
 limian-flow .flow-result { opacity:1; transform:none; }
}

/* Process and audiences: editorial layout, opaque text surfaces, no polling. */
.editorial-section { max-width:1180px; margin-inline:auto; padding:clamp(56px,7vw,96px) clamp(20px,5vw,64px); color:var(--text); }
.editorial-section h2 { font-size:clamp(1.875rem,1.2rem + 2vw,2.75rem); line-height:1.15; letter-spacing:-.035em; margin:18px 0 24px; font-weight:700; }
.editorial-section h2 em { font-style:normal; color:var(--accent-hi); }
.section-kicker { display:block; color:var(--accent-hi); font-size:.6875rem; letter-spacing:.15em; font-weight:600; }
.section-intro { font-size:1rem; line-height:1.7; color:var(--text-70); margin:0; }
.process-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr); gap:clamp(36px,6vw,84px); }
.process-intro { align-self:start; }
.process-map { margin-top:44px; padding:24px 0; border-block:1px solid var(--line-16); display:grid; grid-template-columns:1fr 1fr; }
.process-map span { color:var(--text-70); font-size:.625rem; letter-spacing:.15em; }
.process-map span:last-child { text-align:right; grid-column:2; grid-row:1; }
.process-map svg { width:100%; grid-column:1/-1; margin-top:8px; }
.process-map path { stroke:var(--accent-line); stroke-width:1.5; }
.process-map circle { stroke:var(--accent-hi); stroke-width:2; fill:var(--surface); }
.process-map circle:last-child { fill:var(--accent); }
.process-note { margin-top:20px; font-size:.8125rem; line-height:1.7; color:var(--text-70); }
.process-list { list-style:none; margin:0; padding:0; }
.process-stage { position:relative; display:grid; grid-template-columns:48px minmax(0,1fr); gap:24px; padding:0 0 32px; }
.process-stage:last-child { padding-bottom:0; }
.process-number { position:relative; z-index:1; width:48px; height:48px; border:1px solid var(--accent-line); border-radius:8px; background:var(--surface); display:grid; place-items:center; font-size:.875rem; font-weight:600; color:var(--accent-hi); font-variant-numeric:tabular-nums; }
.process-copy { padding:8px 0 24px; border-bottom:1px solid var(--line-16); }
.process-stage:last-child .process-copy { border-bottom:0; padding-bottom:0; }
.process-copy h3 { margin:0 0 12px; font-size:1.1875rem; line-height:1.4; letter-spacing:-.015em; }
.process-copy p { font-size:.9375rem; line-height:1.7; margin:0 0 16px; color:var(--text-70); }
.process-output { font-size:.8125rem; line-height:1.6; color:var(--text); }
.process-output span { color:var(--accent-hi); font-size:.625rem; letter-spacing:.09em; text-transform:uppercase; display:block; margin-bottom:4px; }
.process-rail { position:absolute; left:23px; top:48px; bottom:0; width:1px; background:var(--line-16); }
.process-stage:last-child .process-rail { display:none; }
.process-rail::after { content:""; position:absolute; inset:0; background:var(--accent); transform-origin:top; }
@supports (animation-timeline:view()) {
 @media (prefers-reduced-motion:no-preference) {
  .process-rail::after { animation:stage-progress linear both; animation-timeline:view(); animation-range:entry 0% cover 45%; }
 }
}
@keyframes stage-progress { from { transform:scaleY(0); } to { transform:scaleY(1); } }
.audience-heading { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:48px; align-items:end; margin-bottom:36px; }
.audience-heading h2 { margin-bottom:0; }
.audience-heading .section-intro { font-size:.9375rem; padding-bottom:3px; }
.audience-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.audience-card { position:relative; overflow:hidden; border:1px solid var(--line-16); border-radius:14px; padding:28px 30px; background:var(--surface); transition:border-color .2s ease; }
.audience-card-top { height:108px; display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:20px; }
.audience-code { color:var(--text-70); font:500 .5625rem 'Onest',sans-serif; letter-spacing:.13em; padding-top:6px; }
.audience-art { width:150px; height:122px; margin-top:-14px; flex:none; stroke:var(--line-40); stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.audience-art .audience-accent { stroke:var(--accent-hi); }
.audience-art .audience-guides { stroke:var(--line-12); stroke-width:1; }
.audience-card h3 { font-size:1.4375rem; font-weight:600; margin:0 0 8px; letter-spacing:-.025em; }
.audience-examples { color:var(--accent-hi); font-size:.8125rem; line-height:1.6; margin:0 0 18px; }
.audience-task { font-size:.9375rem; line-height:1.7; color:var(--text-70); margin:0 0 24px; max-width:370px; }
.audience-tags { padding-top:16px; border-top:1px solid var(--line-16); color:var(--text-70); font-size:.6875rem; line-height:1.6; }
.audience-footer { margin-top:24px; padding-top:24px; border-top:1px solid var(--line-16); display:flex; justify-content:space-between; align-items:center; gap:24px; }
.audience-footer p { margin:0; font-size:.875rem; color:var(--text-70); }
.audience-footer a { color:var(--accent-hi); font-size:.875rem; font-weight:600; padding-block:12px; }
.audience-footer a:focus-visible { outline:2px solid var(--accent); outline-offset:6px; }
@media (hover:hover) { .audience-card:hover { border-color:var(--accent-line); } }
@media (max-width:800px) {
 .process-layout { grid-template-columns:minmax(0,1fr); gap:36px; }
 .process-intro h2 br { display:none; }
 .process-intro h2 br::after { content:" "; }
 .process-map,.process-note { display:none; }
 .process-intro { max-width:560px; }
 .audience-heading { grid-template-columns:minmax(0,1fr); gap:20px; }
}
@media (max-width:580px) {
 .audience-grid { grid-template-columns:minmax(0,1fr); gap:16px; }
 .audience-card { padding:24px; }
 .audience-card-top { height:90px; }
 .audience-art { width:130px; height:106px; }
 .audience-card h3 { font-size:1.3125rem; }
 .process-stage { grid-template-columns:38px minmax(0,1fr); gap:16px; }
 .process-number { width:38px; height:38px; }
 .process-rail { left:18px; top:38px; }
 .process-copy { padding-top:3px; }
 .process-copy h3 { font-size:1.0625rem; }
 .audience-footer { flex-direction:column; align-items:flex-start; gap:4px; }
}
@media (prefers-reduced-motion:reduce) { .audience-card { transition:none; } }

/* Light theme: the flow diagram drew its wires at the same weight as the
   page grid and read as a watermark. */
:root[data-theme="light"] limian-flow .digital-wire { stroke:var(--line-40); }
:root[data-theme="light"] limian-flow .digital-panel { stroke:var(--line-40); }
:root[data-theme="light"] .flow-orbits { stroke:var(--line-16); }

/* Proof strip: real projects right under the first screen. */
.home-proof { max-width:1180px; margin-inline:auto; padding:clamp(8px,2vw,24px) clamp(20px,5vw,64px) clamp(24px,4vw,48px); color:var(--text); }
.home-proof-head { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:24px; }
.home-proof-head h2 { font-size:clamp(1.5rem,1.1rem + 1.2vw,2rem); line-height:1.2; letter-spacing:-.03em; font-weight:700; margin:12px 0 0; }
.home-proof-all { flex:none; color:var(--accent-hi); font-size:.875rem; font-weight:600; padding-block:10px; }
.home-proof-all:focus-visible, .home-proof-card:focus-visible, .home-feature:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.home-proof-row { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.home-proof-card { display:flex; flex-direction:column; border:1px solid var(--line-16); border-radius:14px; background:var(--surface); overflow:hidden; color:var(--text); transition:border-color .2s ease, transform .2s ease; }
.home-proof-card img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; object-position:top; border-bottom:1px solid var(--line-12); }
.home-proof-client { display:block; padding:16px 18px 6px; font-size:.6875rem; letter-spacing:.08em; text-transform:uppercase; color:var(--accent-hi); }
.home-proof-title { display:block; padding:0 18px 18px; font-size:.9375rem; line-height:1.5; font-weight:600; }
@media (hover:hover) { .home-proof-card:hover { border-color:var(--accent-line); transform:translateY(-3px); } }

/* CRM is a product rather than a channel: a wide card, as on /uslugi/. */
.home-feature { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(24px,3.5vw,48px); align-items:center; margin-top:20px; padding:clamp(24px,3.4vw,40px); border:1px solid var(--line-16); border-radius:14px; background:var(--surface); color:var(--text); transition:border-color .2s ease; }
.home-feature h3 { font-size:clamp(1.375rem,1.1rem + .8vw,1.75rem); letter-spacing:-.02em; margin:14px 0 12px; }
.home-feature p { color:var(--text-70); font-size:.9375rem; line-height:1.65; margin:0 0 20px; max-width:480px; }
.home-feature .btn-link { font-size:.8125rem; font-weight:600; color:var(--accent-hi); }
.home-feature-shot { border:1px solid var(--line-16); border-radius:10px; overflow:hidden; background:var(--surface-2); box-shadow:var(--shadow-deep); }
.home-feature-bar { display:flex; align-items:center; gap:6px; padding:9px 12px; border-bottom:1px solid var(--line-12); font:.6875rem ui-monospace,monospace; color:var(--text-70); }
.home-feature-bar i { width:8px; height:8px; border-radius:50%; background:var(--line-30); }
.home-feature-bar span { margin-left:8px; }
.home-feature-shot img { display:block; width:100%; height:auto; }
@media (hover:hover) { .home-feature:hover { border-color:var(--accent-line); } }

@media (max-width:900px) {
 .home-proof-row { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:14px; margin-inline:calc(-1 * clamp(20px,5vw,64px)); padding:0 clamp(20px,5vw,64px) 6px; scrollbar-width:none; }
 .home-proof-row::-webkit-scrollbar { display:none; }
 .home-proof-card { flex:0 0 min(76%,300px); scroll-snap-align:start; }
 .home-feature { grid-template-columns:minmax(0,1fr); }
 .home-feature-shot { order:-1; }
}
/* "Starting a business is hard" is the most generic block on the page, so it
   stays short everywhere: the decorative constellation goes, and the pain
   points are compact rows with the icon beside the text. Inline styles come
   from the design export, hence !important. */
.problem-wrap { padding-block:clamp(40px,5vw,64px) !important; }
.problem-head { margin-bottom:24px !important; }
.problem-art { display:none !important; }
.pain-grid { gap:14px !important; }
.pain-card { display:grid !important; grid-template-columns:44px minmax(0,1fr); column-gap:14px; align-items:start; padding:18px 20px !important; }
.pain-card > svg { display:none; }
.pain-card > div:nth-of-type(1) { grid-row:1 / 3; width:44px !important; height:44px !important; border-radius:12px !important; margin:0 !important; box-shadow:none !important; }
.pain-card > div:nth-of-type(1) svg { width:24px; height:24px; }
.pain-card > div:nth-of-type(2) { font-size:16px !important; margin-bottom:4px !important; }
.pain-card > div:nth-of-type(3) { font-size:14px !important; }
@media (max-width:640px) {
 .home-proof-head { flex-direction:column; align-items:flex-start; gap:4px; }
 .pain-grid { gap:10px !important; }
 .pain-card { padding:16px 18px !important; }
}
/* Phones: six service cards with full-width illustrations ran five screens.
   Each becomes a row — a small illustration on the left, the text beside it. */
@media (max-width:560px) {
 .digital-home-services .service-card, .services-page .service-card { display:grid; grid-template-columns:96px minmax(0,1fr); column-gap:16px; align-items:start; padding:16px; }
 .digital-home-services .service-card > limian-art, .services-page .service-card > limian-art { grid-row:1 / 4; align-self:center; margin:0; padding-right:12px; border-bottom:0; border-right:1px solid var(--line-12); max-height:none; }
 .digital-home-services limian-art svg { height:auto; }
 .digital-home-services .service-card h3, .services-page .service-card h3 { margin:0 0 6px; font-size:1rem; }
 .digital-home-services .service-card p, .services-page .service-card p { margin:0 0 8px; font-size:.875rem; line-height:1.55; }
}
@media (prefers-reduced-motion:reduce) { .home-proof-card, .home-feature { transition:none; } .home-proof-card:hover { transform:none; } }
