@font-face {
  font-family: "ASK Sans";
  src: url("../fonts/ask-sans-regular-audit-v1.woff2") format("woff2"),
       url("../fonts/ask-sans-regular.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "ASK Sans";
  src: url("../fonts/ask-sans-bold-audit-v1.woff2") format("woff2"),
       url("../fonts/ask-sans-bold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "ASK Display";
  src: url("../fonts/ask-display-regular-audit-v1.woff2") format("woff2"),
       url("../fonts/ask-display-regular.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "ASK Display";
  src: url("../fonts/ask-display-italic-audit-v1.woff2") format("woff2"),
       url("../fonts/ask-display-italic.otf") format("opentype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

:root {
  --ink: #171511;
  --soft: #5e5b56;
  --paper: #f6f8fb;
  --ivory: #ffffff;
  --surface-warm: #fbf8f2;
  --surface-cool: #eef4fb;
  --bronze: #9b6a36;
  --bronze-deep: #6f4724;
  --bronze-muted: #896a4a;
  --champagne: #d6b57c;
  --sage: #4d756c;
  --sage-deep: #355c54;
  --sage-soft: #dfe9e5;
  --sage-pale: #f2f7f5;
  --logo-graphite: #2f312e;
  --logo-mark: #584d43;
  --logo-bronze-deep: #684f39;
  --logo-bronze: #9a7b58;
  --logo-champagne: #d8c8a8;
  --logo-sage-metal: #aab8b2;
  --logo-cream: #f7f3ea;
  --line: rgba(38, 32, 25, .11);
  --line-strong: rgba(111, 71, 36, .24);
  --font-ui: "ASK Sans", "Segoe UI", Arial, sans-serif;
  --font-display: "ASK Display", Georgia, serif;
  --text-xs: 12px;
  --text-sm: 14px;
  --text-base: 16px;
  --text-md: 18px;
  --text-lg: 24px;
  --text-xl: 30px;
  --text-2xl: 40px;
  --text-3xl: 56px;
  --text-4xl: 76px;
  /* Audit 2026-09: desktop composition retained; smaller-view roles below. */
  --type-h1: clamp(52px, 5.3vw, 72px);
  --type-page-h1: clamp(46px, 5.2vw, 72px);
  --type-article-h1: clamp(44px, 5vw, 68px);
  --type-h2: clamp(40px, 4.2vw, 60px);
  --type-content-h2: clamp(34px, 4vw, 50px);
  --type-seo-h2: clamp(34px, 4vw, 52px);
  --type-featured-title: clamp(34px, 4.2vw, 52px);
  --type-article-h2: clamp(32px, 4vw, 46px);
  --type-cta: clamp(42px, 5vw, 68px);
  --type-panel-h2: clamp(38px, 4vw, 58px);
  --type-architecture-h2: clamp(38px, 4vw, 56px);
  --type-modal-h2: clamp(38px, 5vw, 54px);
  --type-card-title: 28px;
  --type-solution-title: clamp(30px, 2.35vw, 38px);
  --space-section: 100px;
  --space-section-compact: 72px;
  --space-heading: 48px;
  --space-content: 64px;
  --space-lead: 30px;
  --space-actions: 36px;
  --radius-sm: 14px;
  --radius-md: 24px;
  --radius-lg: 34px;
  --shadow-sm: 0 12px 32px rgba(45,35,24,.045);
  --shadow-md: 0 20px 52px rgba(45,35,24,.075);
  --shadow-lg: 0 30px 84px rgba(34,29,24,.14);
  --shadow: var(--shadow-lg);
  --ask-floating-actions-center-right: calc(clamp(18px, 2.4vw, 38px) + 30px);
  --ask-floating-actions-base-bottom: clamp(16px, 2.4vw, 34px);
  --ask-floating-actions-back-size: 52px;
  --ask-floating-actions-back-radius: 26px;
  --ask-floating-actions-widget-size: 60px;
  --ask-floating-actions-widget-radius: 30px;
  --ask-floating-actions-gap: clamp(12px, 1vw, 18px);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: #fff; }
body {
  margin: 0;
  background: #fff;
  color: var(--ink);
  font-family: var(--font-ui);
  font-size: 1rem;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
::selection { background: rgba(155,106,54,.25); }
.skip-link { position:fixed; z-index:100; top:10px; left:10px; padding:10px 14px; border-radius:999px; background:#171410; color:#fffaf0; font-size:12px; transform:translateY(-160%); }
.skip-link:focus { transform:translateY(0); }
.site-shell { min-height: 100vh; overflow: clip; background:#fff; }
.container { width: min(100% - 40px, 1220px); margin-inline: auto; }

.topline { border-bottom:1px solid rgba(111,71,36,.14); background:linear-gradient(90deg,#efe8dd 0%,#e7edf1 100%); color:#4b443c; font-size:11px; letter-spacing:.11em; text-transform:uppercase; }
.topline-inner { min-height:34px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.topline-status { display:inline-flex; align-items:center; gap:9px; }
.status-dot { width:6px; height:6px; border-radius:50%; background:#d7b77d; box-shadow:0 0 0 4px rgba(215,183,125,.12); }
.topline-contacts { display:inline-flex; align-items:center; gap:12px; color:#45413b; font-size:12px; font-weight:650; letter-spacing:.06em; text-transform:none; white-space:nowrap; }
.topline-contacts a { color:inherit; text-decoration:none; transition:color .18s ease; }
.topline-contacts a:hover,.topline-contacts a:focus-visible { color:var(--sage-deep); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }
.topline-contacts i { width:1px; height:12px; background:rgba(111,71,36,.26); }

.site-header { position:sticky; z-index:20; top:0; border-bottom:1px solid rgba(32,27,21,.09); background:rgba(255,255,255,.9); backdrop-filter:blur(18px); }
.header-inner { min-height:78px; display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:28px; }
.brand { display:inline-flex; align-items:center; justify-self:start; gap:13px; }
.brand-symbol { position:relative; width:45px; height:45px; flex:none; border-radius:50%; background:url("/assets/templates/ask-armonivo/images/brand-symbol.png") center/contain no-repeat; box-shadow:0 8px 16px rgba(78,58,38,.16); }
.brand-symbol { background-image:image-set(url("/assets/templates/ask-armonivo/images/brand-symbol-audit-v1.webp") type("image/webp"), url("/assets/templates/ask-armonivo/images/brand-symbol.png") type("image/png")); }
.brand-symbol::before,.brand-symbol::after { content:none; }
.brand-copy { display:grid; line-height:1; }
.brand-name { display:inline-flex; align-items:baseline; gap:.42em; color:var(--logo-graphite); font-size:15px; font-weight:780; letter-spacing:.13em; white-space:nowrap; text-transform:uppercase; }
.brand-name-ask { color:var(--logo-bronze-deep); }
.brand-name-core { color:var(--logo-graphite); }
.brand-tagline { margin-top:6px; color:#69645d; font-size:8px; font-weight:650; letter-spacing:.085em; white-space:nowrap; }
.desktop-nav { position:relative; grid-column:2; display:flex; align-items:center; justify-content:center; justify-self:center; gap:18px; }
.desktop-nav>a,.nav-services-trigger { position:relative; color:#49443c; font-size:14px; font-weight:400; line-height:1.35; white-space:nowrap; }
.desktop-nav>a::after,.nav-services-trigger::after { content:""; position:absolute; right:0; bottom:-8px; left:0; height:1px; background:var(--sage); transform:scaleX(0); transform-origin:right; transition:transform .18s ease; }
.desktop-nav>a:hover::after,.desktop-nav>a:focus-visible::after,.desktop-nav>a[aria-current="page"]::after,.nav-services-trigger[aria-current="page"]::after,.nav-services:hover .nav-services-trigger::after,.nav-services:focus-within .nav-services-trigger::after,.nav-about:hover .nav-services-trigger::after,.nav-about:focus-within .nav-services-trigger::after { transform:scaleX(1); transform-origin:left; }
.nav-services { position:static; display:flex; align-items:center; }
.nav-services-trigger { min-height:18px; display:inline-flex; align-items:center; gap:7px; line-height:18px; }
.nav-services-chevron { width:6px; height:6px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; flex:none; transform:translateY(-2px) rotate(45deg); transition:transform .18s ease; }
.nav-services:not(.nav-disclosure-ready):hover .nav-services-chevron,.nav-services:not(.nav-disclosure-ready):focus-within .nav-services-chevron,.nav-about:not(.nav-disclosure-ready):hover .nav-services-chevron,.nav-about:not(.nav-disclosure-ready):focus-within .nav-services-chevron,.nav-disclosure-toggle[aria-expanded="true"] .nav-services-chevron { transform:translateY(1px) rotate(225deg); }
.nav-disclosure-toggle { width:24px; height:32px; margin:-7px -11px -7px 0; padding:0; border:0; border-radius:6px; display:grid; place-items:center; flex:none; background:transparent; color:#49443c; cursor:pointer; }
.nav-disclosure-toggle:focus-visible,.nav-services-trigger:focus-visible { outline:2px solid rgba(53,92,84,.72); outline-offset:3px; }
.nav-disclosure-toggle:hover { background:var(--sage-pale); color:var(--sage-deep); }
.nav-disclosure-ready > [hidden] { display:none!important; }
.services-mega { position:absolute; z-index:30; top:calc(100% + 24px); left:50%; width:min(790px,calc(100vw - 80px)); padding:24px; border:1px solid var(--line); border-radius:var(--radius-md); background:#fff; box-shadow:var(--shadow-lg); opacity:0; visibility:hidden; transform:translate(-50%,10px); transition:opacity .18s ease,transform .18s ease,visibility .18s ease; }
.services-mega::before { content:""; position:absolute; right:0; bottom:100%; left:0; height:28px; }
.nav-services:not(.nav-disclosure-ready):hover .services-mega,.nav-services:not(.nav-disclosure-ready):focus-within .services-mega,.nav-services.is-open .services-mega { opacity:1; visibility:visible; transform:translate(-50%,0); }
.services-mega-head { padding:0 2px 15px; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:20px; color:var(--sage-deep); font-size:12px; font-weight:800; letter-spacing:.1em; line-height:1.35; text-transform:uppercase; }
.services-mega-head a { color:var(--sage-deep); }
.services-mega-grid { padding-top:18px; display:grid; grid-template-columns:1.7fr 1fr; gap:30px; }
.services-mega-grid>div { display:grid; align-content:start; gap:3px; }
.services-mega-grid p { margin:0 0 8px; color:#7b746b; font-size:12px; font-weight:800; letter-spacing:.1em; line-height:1.4; text-transform:uppercase; }
.services-mega-grid a { min-height:40px; padding:9px 10px; border-radius:var(--radius-sm); display:flex; align-items:center; justify-content:space-between; gap:16px; color:#403b34; font-size:14px; font-weight:500; line-height:1.4; }
.services-mega-grid a:hover,.services-mega-grid a:focus-visible { background:var(--sage-pale); color:var(--sage-deep); }
.services-mega-grid a span { color:var(--sage); }
.nav-about { position:relative; display:flex; align-items:center; }
.about-menu { position:absolute; z-index:30; top:calc(100% + 24px); left:50%; width:260px; padding:10px; border:1px solid var(--line); border-radius:var(--radius-md); display:grid; gap:3px; background:rgba(255,255,255,.98); box-shadow:var(--shadow-lg); opacity:0; visibility:hidden; transform:translate(-50%,10px); transition:opacity .18s ease,transform .18s ease,visibility .18s ease; }
.about-menu::before { content:""; position:absolute; right:0; bottom:100%; left:0; height:28px; }
.nav-about:not(.nav-disclosure-ready):hover .about-menu,.nav-about:not(.nav-disclosure-ready):focus-within .about-menu,.nav-about.is-open .about-menu { opacity:1; visibility:visible; transform:translate(-50%,0); }
.about-menu a { min-height:44px; padding:10px 12px; border-radius:var(--radius-sm); display:flex; align-items:center; justify-content:space-between; gap:16px; color:#49443c; font-size:14px; font-weight:500; line-height:1.4; }
.about-menu a:hover,.about-menu a:focus-visible { background:var(--sage-pale); color:var(--sage-deep); }
.about-menu i { color:var(--bronze-muted); font-size:12px; font-style:normal; }
.nav-implementation .about-menu { width:292px; }
.header-actions { grid-column:3; display:flex; align-items:center; justify-self:end; gap:10px; }

.language-switcher { position:relative; }
.language-switcher summary,.mobile-menu summary { cursor:pointer; list-style:none; }
.language-switcher summary::-webkit-details-marker,.mobile-menu summary::-webkit-details-marker { display:none; }
.language-trigger::marker { content:""; }
.language-trigger { min-width:54px; padding:10px 12px; border:1px solid var(--line); border-radius:999px; color:#534b41; font-size:11px; font-weight:750; text-align:center; transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease,transform .18s ease; }
.language-code { pointer-events:none; }
@media (hover:hover) {
  .language-trigger:hover { transform:translateY(-1px); border-color:rgba(111,71,36,.3); background:rgba(255,255,255,.94); box-shadow:0 8px 18px rgba(61,39,17,.09); }
}
.language-trigger:active { transform:translateY(0); }
.language-switcher[open] .language-trigger { transform:translateY(0); border-color:rgba(111,71,36,.3); background:rgba(255,255,255,.94); box-shadow:0 8px 18px rgba(61,39,17,.09); }
.language-trigger:focus-visible,.mobile-trigger:focus-visible { outline:2px solid rgba(155,106,54,.62); outline-offset:3px; }
.language-menu { position:absolute; top:calc(100% + 12px); right:0; width:176px; padding:8px; border:1px solid var(--line); border-radius:var(--radius-sm); background:rgba(255,255,255,.98); box-shadow:var(--shadow-md); opacity:0; visibility:hidden; transform:translateY(8px); pointer-events:none; transition:opacity .18s ease, transform .18s ease, visibility .18s ease; }
.language-switcher[open] .language-menu { opacity:1; visibility:visible; transform:translateY(0); pointer-events:auto; }
.language-menu a { display:flex; align-items:center; justify-content:space-between; padding:10px 11px; border-radius:var(--radius-sm); color:var(--soft); font-size:12px; }
@media (hover:hover) and (pointer:fine) {
  .language-menu a:hover { background:var(--sage-pale); color:var(--sage-deep); }
}
.language-menu a:focus-visible { outline:2px solid rgba(77,117,108,.38); outline-offset:-2px; color:var(--sage-deep); }

.button { min-height:46px; padding:0 20px; border:1px solid transparent; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; gap:10px; font-size:13px; font-weight:750; transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-position .28s ease; }
.button-dark,.button-bronze { border-color:rgba(53,92,84,.24); background:linear-gradient(135deg,#ece9dc 0%,#e6e2d3 50%,#dbe3dc 100%); background-size:160% 100%; color:#304f48; box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 14px 30px rgba(65,75,69,.11); }
.button-dark:hover,.button-bronze:hover { border-color:rgba(53,92,84,.38); background-position:100% 0; color:#25433d; box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 18px 38px rgba(65,75,69,.15); }
.button-light { border-color:rgba(111,71,36,.2); background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,242,234,.94)); color:#4a4138; box-shadow:var(--shadow-sm); }
.button:focus-visible { outline:2px solid rgba(155,106,54,.62); outline-offset:3px; }
.button:active { transform:translateY(0); }
.button-arrow { font-size:15px; transition:transform .18s ease; }
.mobile-menu { display:none; }
.mobile-menu-backdrop { position:fixed; z-index:19; inset:0; background:rgba(44,37,29,.18); -webkit-backdrop-filter:blur(1.5px); backdrop-filter:blur(1.5px); }
.mobile-menu-backdrop[hidden] { display:none; }
.mobile-services { border:0; box-shadow:none; }
.mobile-services>summary { min-height:44px; padding:0 0 0 6px; border:0; display:flex; align-items:center; justify-content:space-between; gap:4px; color:#49443c; font-size:16px; font-weight:500; line-height:1.4; box-shadow:none; }
.mobile-services>summary>a { min-width:0; min-height:44px; padding:11px 0; display:flex; align-items:center; flex:1; color:inherit; text-decoration:none; }
.mobile-services>summary>a:focus-visible { color:var(--sage-deep); outline:2px solid rgba(53,92,84,.42); outline-offset:2px; }
.mobile-services>summary::after { content:"+"; width:44px; min-width:44px; min-height:44px; align-self:stretch; display:grid; place-items:center; color:var(--sage-deep); font-size:18px; font-weight:400; }
.mobile-services[open]>summary::after { content:"−"; }
.mobile-services-head { min-height:44px; padding-left:6px; display:grid; grid-template-columns:minmax(0,1fr) 44px; align-items:center; gap:4px; }
.mobile-services-parent { min-width:0; min-height:44px; padding:11px 0; display:flex; align-items:center; color:#49443c; font-size:16px; font-weight:500; line-height:1.4; text-decoration:none; }
.mobile-services-toggle { width:44px; min-width:44px; height:44px; padding:0; border:0; border-radius:var(--radius-sm); display:grid; place-items:center; background:transparent; color:var(--sage-deep); font:inherit; font-size:18px; font-weight:400; line-height:1; cursor:pointer; }
.mobile-services-toggle span { display:block; transform:translateY(-1px); }
.mobile-services-parent:focus-visible,.mobile-services-toggle:focus-visible { color:var(--sage-deep); outline:2px solid rgba(53,92,84,.42); outline-offset:2px; }
.mobile-services-panel[hidden] { display:none; }
.mobile-services-all { min-height:44px; margin:0; padding:8px 6px; border:0; border-radius:var(--radius-sm); display:flex; align-items:center; justify-content:space-between; background:transparent; color:#403b34; font-size:16px; font-weight:400; line-height:1.45; box-shadow:none; }
.mobile-services-group { padding:8px 0 12px; display:grid; gap:2px; }
.mobile-services-group>span { padding:0 5px 6px; color:#7b746b; font-size:13px; font-weight:650; letter-spacing:.1em; line-height:1.4; text-transform:uppercase; }
.mobile-services-group>a { min-height:44px; padding:8px 6px; border:0; border-radius:var(--radius-sm); display:flex; align-items:center; background:transparent; color:#403b34; font-size:16px; font-weight:400; line-height:1.45; box-shadow:none; }
.mobile-services-all:focus-visible,.mobile-services-group>a:focus-visible { background:var(--sage-pale); color:var(--sage-deep); outline:2px solid rgba(53,92,84,.42); outline-offset:1px; }
@media (hover:hover) and (pointer:fine) {
  .mobile-services-all:hover,.mobile-services-group>a:hover { background:var(--sage-pale); color:var(--sage-deep); }
  .mobile-services-parent:hover,.mobile-services-toggle:hover { color:var(--sage-deep); }
}

.hero { position:relative; min-height:690px; padding:88px 0 72px; background:#fff; }
.hero::before { content:""; position:absolute; z-index:0; top:12%; left:calc(50% + 240px); width:560px; height:560px; border-radius:50%; background:radial-gradient(circle,rgba(214,181,124,.17),rgba(214,181,124,0) 68%); pointer-events:none; }
.hero-grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(410px,.92fr); align-items:center; gap:74px; }
.eyebrow { margin:0 0 24px; display:inline-flex; align-items:flex-start; gap:12px; color:var(--sage-deep); font-size:12px; font-weight:800; letter-spacing:.17em; line-height:1.45; text-transform:uppercase; }
.eyebrow::before { content:""; width:32px; height:1px; margin-top:.68em; flex:none; background:currentColor; }
.hero h1,.page-hero h1 { margin:0; max-width:760px; font-family:var(--font-display); font-size:var(--type-h1); font-weight:500; letter-spacing:-.045em;  line-height:1; }
.accent-text { color:var(--logo-graphite); font-style:italic; }
.hero-lead,.page-lead { max-width:680px; margin:30px 0 0; color:var(--soft); font-size:18px; line-height:1.75; }
.hero-actions { margin-top:36px; display:flex; flex-wrap:wrap; gap:12px; }
.hero-proof { margin-top:42px; padding-top:25px; border-top:1px solid var(--line); display:flex; flex-wrap:wrap; gap:18px 28px; }
.proof-item { display:inline-flex; align-items:center; gap:9px; color:#655e54; font-size:12px; }
.proof-check { width:18px; height:18px; border:1px solid rgba(111,71,36,.36); border-radius:50%; display:inline-grid; place-items:center; color:var(--bronze-deep); font-size:10px; }

.system-card { position:relative; min-height:520px; padding:28px; border:1px solid rgba(111,71,36,.2); border-radius:var(--radius-lg); background:linear-gradient(150deg,rgba(255,255,255,.96),rgba(248,244,237,.9)),var(--ivory); box-shadow:var(--shadow); overflow:hidden; }
.system-card::before { content:""; position:absolute; top:-130px; right:-100px; width:330px; height:330px; border:1px solid rgba(155,106,54,.2); border-radius:50%; box-shadow:0 0 0 40px rgba(155,106,54,.04),0 0 0 80px rgba(155,106,54,.03); }
.system-head { position:relative; display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.system-kicker { margin:0 0 7px; color:var(--sage-deep); font-size:12px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.system-head h2 { margin:0; font-family:var(--font-display); font-size:25px; font-weight:500; }
.system-live { padding:7px 10px; border:1px solid rgba(53,92,84,.2); border-radius:999px; display:inline-flex; align-items:center; gap:7px; color:var(--sage-deep); font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.system-orbit { position:relative; width:220px; height:220px; margin:34px auto 28px; display:grid; place-items:center; isolation:isolate; }
.system-orbit::before { content:""; position:absolute; z-index:0; inset:46px; border-radius:50%; background:radial-gradient(circle,rgba(214,181,124,.19) 0%,rgba(223,233,229,.1) 48%,transparent 72%); filter:blur(13px); }
.orbit-ring { position:absolute; z-index:1; inset:0; border:1px solid rgba(111,71,36,.2); border-radius:50%; box-shadow:0 0 32px rgba(155,106,54,.035); }
.orbit-ring:nth-child(2) { inset:28px; border-color:rgba(111,71,36,.16); border-style:dashed; transform:rotate(30deg); animation:orbitRingDrift 72s linear infinite; }
.orbit-core { position:relative; z-index:4; width:94px; height:94px; border:1px solid rgba(111,71,36,.28); border-radius:50%; display:grid; place-items:center; background:radial-gradient(circle at 38% 32%,#fff8e7,#c99c62 52%,#79502a); box-shadow:inset 0 0 0 10px rgba(255,253,248,.6),0 0 0 1px rgba(255,255,255,.5),0 22px 45px rgba(89,57,28,.23); color:#4b3019; font-family:var(--font-display); font-size:24px; font-style:italic; }
.orbit-track { --orbit-start:0deg; --orbit-speed:36s; --node-fill:#a8733d; --node-glow:rgba(168,115,61,.28); position:absolute; z-index:3; inset:0; border-radius:50%; pointer-events:none; transform:rotate(var(--orbit-start)); transform-origin:center; animation:orbitSweep var(--orbit-speed) linear infinite; will-change:transform; }
.orbit-node { position:absolute; top:-6px; left:50%; width:12px; height:12px; border:3px solid rgba(255,255,255,.94); border-radius:50%; background:var(--node-fill); box-shadow:0 0 0 1px rgba(111,71,36,.08),0 5px 14px rgba(61,39,17,.2),0 0 18px var(--node-glow); transform:translateX(-50%); }
.orbit-node::after { content:""; position:absolute; inset:-8px; border-radius:50%; background:radial-gradient(circle,var(--node-glow),transparent 68%); opacity:.55; }
.orbit-track-1 { --orbit-start:0deg; }.orbit-track-2 { --orbit-start:90deg; --node-fill:#78978a; --node-glow:rgba(120,151,138,.3); }.orbit-track-3 { --orbit-start:180deg; --node-fill:#d0aa70; --node-glow:rgba(208,170,112,.32); }.orbit-track-4 { --orbit-start:270deg; --node-fill:#a8733d; }
.orbit-track-5,.orbit-track-6,.orbit-track-7,.orbit-track-8 { inset:28px; --orbit-speed:48s; animation-name:orbitSweepReverse; }
.orbit-track-5 { --orbit-start:35deg; --node-fill:#d0aa70; --node-glow:rgba(208,170,112,.3); }.orbit-track-6 { --orbit-start:125deg; --node-fill:#78978a; --node-glow:rgba(120,151,138,.28); }.orbit-track-7 { --orbit-start:215deg; --node-fill:#9a6d43; }.orbit-track-8 { --orbit-start:305deg; --node-fill:#b9c8c1; --node-glow:rgba(120,151,138,.22); }
@keyframes orbitSweep { from { transform:rotate(var(--orbit-start)); } to { transform:rotate(calc(var(--orbit-start) + 360deg)); } }
@keyframes orbitSweepReverse { from { transform:rotate(var(--orbit-start)); } to { transform:rotate(calc(var(--orbit-start) - 360deg)); } }
@keyframes orbitRingDrift { from { transform:rotate(30deg); } to { transform:rotate(390deg); } }
.system-steps { position:relative; display:grid; grid-template-columns:repeat(5,1fr); gap:7px; }
.system-step { min-height:66px; padding:10px 8px; border:1px solid rgba(111,71,36,.13); border-radius:var(--radius-sm); background:rgba(255,253,248,.58); text-align:center; }
.system-step span { display:block; color:var(--sage-deep); font-family:var(--font-display); font-size:16px; }
.system-step small { margin-top:4px; display:block; color:#655e54; font-size:11px; line-height:1.35; }

.trust-strip { border-block:1px solid var(--line); background:var(--surface-warm); }
.trust-inner { min-height:90px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.trust-label { max-width:190px; color:var(--soft); font-size:12px; font-weight:750; letter-spacing:.12em; line-height:1.5; text-transform:uppercase; }
.trust-list { display:flex; align-items:center; justify-content:flex-end; gap:44px; color:#6d655a; font-size:13px; font-weight:700; letter-spacing:.04em; }

.section { padding:100px 0; }
.section-compact { padding:72px 0; }
.section-dark { position:relative; background:#eef1f1; color:#211f1b; }
.section-dark::before { content:""; position:absolute; z-index:0; inset:0; background:radial-gradient(circle at 78% 18%,rgba(183,145,88,.16),transparent 30rem),linear-gradient(135deg,rgba(245,241,234,.78) 0%,rgba(233,238,243,.72) 64%,rgba(241,234,223,.7) 100%); -webkit-mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent); mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent); pointer-events:none; }
.sculpted-section { position:relative; z-index:1; isolation:isolate; overflow:visible; --divider-size:88px; --divider-fill:#eef1f1; }
.sculpted-section>.container { position:relative; z-index:3; }
.section-divider { position:absolute; left:0; z-index:1; width:100%; height:var(--divider-size); display:block; overflow:visible; pointer-events:none; }
.section-divider path { fill:var(--divider-fill); }
.section-divider-top { top:calc(-1 * var(--divider-size) + 1px); }
.section-divider-bottom { bottom:calc(-1 * var(--divider-size) + 1px); }
.solutions-wave { --divider-fill:#eef1f1; }
#method { scroll-margin-top:112px; }
.section-head { display:grid; grid-template-columns:minmax(0,.78fr) minmax(320px,.42fr); align-items:end; gap:44px; margin-bottom:48px; }
.section-title { margin:0; max-width:760px; font-family:var(--font-display); font-size:var(--type-h2); font-weight:500; letter-spacing:-.045em;  line-height:1.04; }
.section-copy { margin:0; color:var(--soft); font-size:16px; line-height:1.75; }
.process-sticky .section-copy { margin-top:20px; }
.section-dark .section-copy { color:#5a5854; }

.hero h1,.page-hero h1,.article-hero h1,.section-title,.content-block h2,.seo-panel h2,.cta-panel h2,.service-card h3,.blog-card h2,.blog-card h3,.case-card h2,.choice-card h3,.service-task h3 { text-wrap:balance; }
.hero-lead,.page-lead,.section-copy,.feature-card p,.service-card>p,.blog-card p,.article-content p,.content-block p,.seo-copy p { text-wrap:pretty; }

.cards-three { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.feature-card { min-height:300px; padding:30px; border:1px solid var(--line); border-radius:var(--radius-md); background:#fff; box-shadow:var(--shadow-sm); transition:transform .2s ease,background .2s ease,box-shadow .2s ease; }
.feature-card:hover {  background:var(--ivory); box-shadow:var(--shadow-lg); }
.feature-index { width:45px; height:45px; border:1px solid var(--line-strong); border-radius:50%; display:grid; place-items:center; color:var(--sage-deep); font-family:var(--font-display); font-size:15px; }
.feature-card h3 { margin:54px 0 14px; font-family:var(--font-display); font-size:26px; font-weight:500; }
.feature-card p { margin:0; color:var(--soft); font-size:15px; line-height:1.72; }

.solution-grid { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.solution-card { position:relative; min-height:500px; padding:34px; border:1px solid rgba(111,71,36,.18); border-radius:var(--radius-lg); background:rgba(255,255,255,.74); box-shadow:var(--shadow-md); overflow:hidden; transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease; }
.solution-card:hover {  border-color:rgba(111,71,36,.3); background:#fff; box-shadow:var(--shadow-lg); }
.solution-card::after { content:""; position:absolute; right:-80px; bottom:-80px; width:260px; height:260px; border:1px solid rgba(155,106,54,.2); border-radius:50%; box-shadow:0 0 0 40px rgba(155,106,54,.08),0 0 0 80px rgba(155,106,54,.045); }
.solution-kicker { color:var(--sage-deep); font-size:12px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.solution-card h3 { max-width:470px; margin:22px 0 18px; color:#211f1b; font-family:var(--font-display); font-size:var(--type-solution-title); font-weight:500; letter-spacing:-.03em;  line-height:1.08; }
.solution-card>p { max-width:470px; margin:0; color:#5c5851; font-size:15px; line-height:1.72; }
.solution-list { position:relative; z-index:1; margin:44px 0 0; padding:0; list-style:none; }
.solution-list li { padding:12px 0; border-top:1px solid rgba(57,49,39,.12); display:flex; align-items:center; justify-content:space-between; gap:20px; color:#403c36; font-size:14px; }
.solution-list li::after { content:"↗"; color:var(--sage-deep); }

.process-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:74px; }
.process-sticky { align-self:start; position:sticky; top:126px; }
.process-list { border-top:1px solid var(--line); }
.process-row { padding:30px 0; border-bottom:1px solid var(--line); display:grid; grid-template-columns:68px 1fr; gap:20px; }
.process-number { color:var(--sage-deep); font-family:var(--font-display); font-size:15px; }
.process-row h3 { margin:0 0 10px; font-size:18px; font-weight:700; }
.process-row p { margin:0; color:var(--soft); font-size:15px; line-height:1.7; }

.security-section { padding-bottom:110px; }
.security-panel { position:relative; isolation:isolate; padding:52px; border:1px solid rgba(53,92,84,.18); border-radius:var(--radius-lg); display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.72fr); align-items:center; gap:70px; background:radial-gradient(circle at 92% 20%,rgba(223,233,229,.72),transparent 20rem),#fff; box-shadow:var(--shadow-md); overflow:hidden; }
.security-panel>:not(.particle-network) { position:relative; z-index:2; }
.security-panel h2 { margin:0; font-family:var(--font-display); font-size:var(--type-panel-h2); font-weight:500; letter-spacing:-.04em;  line-height:1.05; }
.security-panel p { margin:24px 0 0; color:var(--soft); font-size:15px; line-height:1.75; }
.security-points { display:grid; gap:10px; }
.security-point { padding:17px 18px; border:1px solid var(--line); border-radius:var(--radius-sm); display:flex; align-items:center; gap:14px; background:#fff; color:#4d473f; font-size:13px; font-weight:700; }
.security-point::before { content:""; width:9px; height:9px; border:2px solid var(--sage); border-radius:50%; box-shadow:0 0 0 4px rgba(77,117,108,.12); }

.cta-panel { position:relative; isolation:isolate; padding:72px; border:1px solid rgba(53,92,84,.18); border-radius:var(--radius-lg); background:linear-gradient(135deg,#f2ece3 0%,#e6efec 100%); color:#221f1a; box-shadow:var(--shadow-lg); overflow:hidden; }
.cta-panel::after { content:""; position:absolute; z-index:0; inset:0; background:radial-gradient(circle at 86% 10%,rgba(214,181,124,.22),transparent 23rem),linear-gradient(115deg,rgba(255,255,255,.36),transparent 48%); pointer-events:none; }
.cta-panel>:not(.particle-network) { position:relative; z-index:2; }
.cta-panel h2 { max-width:790px; margin:0; font-family:var(--font-display); font-size:var(--type-cta); font-weight:500; letter-spacing:-.045em;  line-height:1.02; }
.cta-panel p { max-width:620px; margin:25px 0 34px; color:#554f47; font-size:15px; line-height:1.75; }

.page-hero { position:relative; padding:64px 0 60px; border-bottom:1px solid var(--line); background:#fff; }
.page-hero .eyebrow,.article-hero .eyebrow { margin-bottom:20px; font-size:12px; letter-spacing:.16em; }
.page-hero h1 { max-width:940px; font-size:var(--type-page-h1); letter-spacing:-.04em;  line-height:1.02; }
.page-hero .page-lead,.article-hero .page-lead { margin-top:24px; }
.page-hero .hero-actions { margin-top:32px; }
.page-layout { display:grid; grid-template-columns:minmax(0,.72fr) minmax(300px,.28fr); gap:80px; }
.content-block+.content-block { margin-top:64px; }
.content-block h2 { margin:0 0 22px; font-family:var(--font-display); font-size:var(--type-content-h2); font-weight:500; letter-spacing:-.035em;  line-height:1.08; }
.content-block p { margin:0; color:var(--soft); font-size:16px; line-height:1.78; }
.bullet-grid { margin-top:30px; display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.bullet-card { min-height:132px; padding:20px; border:1px solid var(--line); border-radius:var(--radius-sm); background:#fff; box-shadow:var(--shadow-sm); }
.bullet-card strong { display:block; font-size:14px; }.bullet-card span { margin-top:9px; display:block; color:var(--soft); font-size:14px; line-height:1.6; }
.page-aside { align-self:start; position:sticky; top:125px; padding:28px; border:1px solid var(--line-strong); border-radius:var(--radius-md); background:#fff; box-shadow:var(--shadow-md); }
.page-aside h3 { margin:0 0 14px; font-family:var(--font-display); font-size:23px; font-weight:500; }.page-aside p { margin:0 0 22px; color:var(--soft); font-size:14px; line-height:1.65; }

.services-hero h1,.service-hero h1,.cases-hero h1 { max-width:1040px; }
.service-catalog-section { scroll-margin-top:116px; --divider-fill:var(--surface-warm); background:var(--surface-warm); }
.service-catalog-section::before { content:""; position:absolute; z-index:0; inset:0; background:linear-gradient(180deg,rgba(255,255,255,.78),transparent 72%); pointer-events:none; }
.catalog-wave { --divider-fill:var(--surface-warm); }
.service-catalog { display:grid; gap:64px; }
.service-group { display:grid; gap:26px; }
.service-group-head { padding-bottom:17px; border-bottom:1px solid var(--line); display:flex; align-items:center; gap:16px; }
.service-group-head span { color:var(--sage-deep); font-family:var(--font-display); font-size:14px; }
.service-group-head h3 { margin:0; font-size:14px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.service-card { min-height:350px; padding:26px; border:1px solid var(--line); border-radius:var(--radius-md); display:flex; flex-direction:column; background:rgba(255,255,255,.92); box-shadow:var(--shadow-sm); transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.service-card:hover {  border-color:rgba(53,92,84,.3); box-shadow:var(--shadow-lg); }
.service-card-top { display:flex; align-items:center; justify-content:space-between; gap:18px; color:var(--sage-deep); font-size:12px; font-weight:800; letter-spacing:.12em; line-height:1.4; text-transform:uppercase; }
.service-card-top i { flex:none; font-size:14px; font-style:normal; }
.service-card h3 { margin:34px 0 15px; font-family:var(--font-display); font-size:var(--type-card-title); font-weight:500; letter-spacing:-.025em;  line-height:1.08; }
.service-card>p { margin:0; color:var(--soft); font-size:15px; line-height:1.7; }
.service-card-tags { margin:22px 0; display:flex; flex-wrap:wrap; gap:7px; }
.service-card-tags span { max-width:100%; padding:8px 11px; border:1px solid rgba(53,92,84,.14); border-radius:var(--radius-sm); background:var(--sage-pale); color:#46655e; font-size:12px; font-weight:650; line-height:1.35; hyphens:auto; overflow-wrap:break-word; white-space:normal; }
.service-card>b { margin-top:auto; padding-top:17px; border-top:1px solid var(--line); color:var(--sage-deep); font-size:13px; }
.service-choice-section { background:#fff; }
.choice-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.choice-card { min-height:210px; padding:26px; border:1px solid var(--line); border-radius:var(--radius-md); background:linear-gradient(145deg,#fff,#f5f8f6); box-shadow:var(--shadow-sm); }
.choice-card span { color:var(--sage-deep); font-family:var(--font-display); font-size:14px; }
.choice-card h3 { margin:60px 0 0; font-family:var(--font-display); font-size:23px; font-weight:500; line-height:1.2; }
.architecture-panel { position:relative; isolation:isolate; padding:58px; border:1px solid rgba(53,92,84,.18); border-radius:var(--radius-lg); display:grid; grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr); gap:70px; background:linear-gradient(135deg,#f4eee5,#e9f1ee); box-shadow:var(--shadow-md); overflow:hidden; }
.architecture-panel>:not(.particle-network) { position:relative; z-index:2; }
.architecture-panel h2,.service-boundary h2 { margin:0; font-family:var(--font-display); font-size:var(--type-architecture-h2); font-weight:500; letter-spacing:-.04em;  line-height:1.05; }
.architecture-panel p { margin:24px 0 0; color:var(--soft); font-size:15px; line-height:1.75; }
.architecture-list { display:grid; align-content:center; gap:10px; }
.architecture-list span { padding:16px 18px; border:1px solid rgba(53,92,84,.16); border-radius:var(--radius-sm); background:rgba(255,255,255,.72); color:#405c55; font-size:14px; font-weight:750; }
.service-process-link { margin-top:26px; }
.cases-teaser { --divider-fill:var(--surface-cool); background:var(--surface-cool); }
.case-teaser-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.case-teaser-grid article { min-height:290px; padding:27px; border:1px solid rgba(49,67,83,.12); border-radius:var(--radius-md); display:flex; flex-direction:column; background:#fff; box-shadow:var(--shadow-sm); }
.case-teaser-grid span { color:var(--sage-deep); font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.case-teaser-grid h3 { margin:36px 0 15px; font-family:var(--font-display); font-size:27px; font-weight:500; line-height:1.15; }
.case-teaser-grid p { margin:0; color:var(--soft); font-size:15px; line-height:1.72; }
.case-more { width:fit-content; margin-top:24px; padding-top:16px; border-top:1px solid var(--line); display:inline-flex; align-items:center; gap:10px; color:var(--sage-deep); font-size:12px; font-weight:800; }
.case-teaser-grid .case-more { width:100%; margin-top:auto; justify-content:space-between; }
.case-more i { font-size:14px; font-style:normal; transition:transform .18s ease; }
.case-more:focus-visible { outline:2px solid rgba(53,92,84,.72); outline-offset:4px; }
.service-tasks-section { scroll-margin-top:112px; --divider-fill:#eef2f2; background:#eef2f2; }
.service-tasks-section::before { content:""; position:absolute; z-index:0; inset:0; background:linear-gradient(135deg,var(--surface-cool),#f8f5ef); -webkit-mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent); mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent); pointer-events:none; }
.service-task-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.service-task { min-height:230px; padding:26px; border:1px solid rgba(53,92,84,.16); border-radius:var(--radius-md); background:rgba(255,255,255,.86); box-shadow:var(--shadow-sm); }
.service-task span { color:var(--sage-deep); font-family:var(--font-display); font-size:14px; }
.service-task h3 { margin:74px 0 0; font-family:var(--font-display); font-size:24px; font-weight:500; line-height:1.2; }
.service-boundary { padding:50px 56px; border:1px solid rgba(111,71,36,.2); border-radius:var(--radius-lg); display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); align-items:center; gap:64px; background:linear-gradient(135deg,#f7f0e6,#edf3f0); box-shadow:var(--shadow-md); }
.service-boundary p { margin:0; color:#4f4a43; font-size:17px; line-height:1.78; }
.related-services .section-copy a { color:var(--sage-deep); font-weight:800; }
.case-disclaimer { margin-bottom:34px; padding:20px 22px; border:1px solid rgba(53,92,84,.18); border-radius:var(--radius-sm); background:var(--sage-pale); color:#46625b; font-size:14px; line-height:1.65; }
.cases-grid { display:grid; gap:22px; }
.case-card { padding:46px; border:1px solid var(--line); border-radius:var(--radius-lg); background:linear-gradient(145deg,#fff,#fbf8f2); box-shadow:var(--shadow-md); }
.case-meta { display:flex; align-items:center; gap:14px; color:var(--sage-deep); font-size:12px; letter-spacing:.12em; text-transform:uppercase; }
.case-meta span { font-family:var(--font-display); font-size:14px; }
.case-card h2 { max-width:760px; margin:26px 0 36px; font-family:var(--font-display); font-size:var(--type-content-h2); font-weight:500; letter-spacing:-.035em;  line-height:1.06; }
.case-card dl { margin:0; display:grid; grid-template-columns:repeat(2,1fr); gap:0 36px; }
.case-card dl>div { padding:19px 0; border-top:1px solid var(--line); }
.case-card dt { color:var(--sage-deep); font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.case-card dd { margin:9px 0 0; color:var(--soft); font-size:15px; line-height:1.7; }
.case-related { margin-top:26px; padding-top:20px; border-top:1px solid var(--line); display:flex; align-items:center; flex-wrap:wrap; gap:9px; }
.case-related>span { margin-right:6px; color:#7a736a; font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.case-related a { max-width:100%; padding:8px 11px; border:1px solid rgba(53,92,84,.16); border-radius:var(--radius-sm); background:var(--sage-pale); color:var(--sage-deep); font-size:12px; font-weight:750; line-height:1.35; hyphens:auto; overflow-wrap:break-word; white-space:normal; }
.case-detail-hero h1 { max-width:1080px; }
.case-detail-overview { padding-bottom:116px; }
.case-detail-facts,.case-component-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.case-detail-facts article,.case-component-grid article { min-height:230px; padding:28px; border:1px solid var(--line); border-radius:var(--radius-md); background:#fff; box-shadow:var(--shadow-sm); }
.case-detail-facts article>span,.case-component-grid article>span { color:var(--sage-deep); font-family:var(--font-display); font-size:14px; }
.case-detail-facts h3 { margin:42px 0 14px; font-family:var(--font-display); font-size:28px; font-weight:500; line-height:1.12; }
.case-detail-facts p,.case-component-grid p { margin:0; color:var(--soft); font-size:15px; line-height:1.72; }
.case-architecture-section { --divider-fill:var(--surface-cool); background:var(--surface-cool); }
.case-component-grid article { min-height:210px; border-color:rgba(53,92,84,.14); background:rgba(255,255,255,.86); }
.case-component-grid p { margin-top:38px; color:#494f4b; }
.case-flow-head { margin-top:64px; display:grid; grid-template-columns:minmax(220px,.42fr) minmax(0,.58fr); gap:50px; align-items:start; }
.case-flow-head>p:last-child { margin:0; color:var(--soft); font-size:15px; line-height:1.7; }
.case-flow-list { margin:32px 0 0; padding:0; display:grid; grid-template-columns:repeat(5,1fr); gap:10px; list-style:none; }
.case-flow-list li { position:relative; min-height:128px; padding:18px; border:1px solid rgba(53,92,84,.16); border-radius:var(--radius-md); display:grid; align-content:space-between; gap:24px; background:rgba(255,255,255,.72); }
.case-flow-list li:not(:last-child)::after { content:"→"; position:absolute; z-index:2; top:50%; right:-10px; width:20px; color:var(--bronze); font-size:14px; text-align:center; transform:translateY(-50%); }
.case-flow-list span { color:var(--sage-deep); font-family:var(--font-display); font-size:14px; }
.case-flow-list strong { color:#354e48; font-size:14px; line-height:1.45; }
.case-verification-panel { padding:52px; border:1px solid rgba(53,92,84,.2); border-radius:var(--radius-lg); display:grid; grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr); gap:64px; background:linear-gradient(140deg,#fbf7ef 0%,#edf3f0 100%); box-shadow:var(--shadow-md); }
.case-verification-panel h2 { margin:0; font-family:var(--font-display); font-size:var(--type-seo-h2); font-weight:500; letter-spacing:-.04em;  line-height:1.06; }
.case-verification-panel>div>p:last-child { margin:22px 0 0; color:var(--soft); font-size:15px; line-height:1.72; }
.case-verification-panel ol { margin:0; padding:0; border-top:1px solid var(--line); list-style:none; }
.case-verification-panel li { padding:20px 0; border-bottom:1px solid var(--line); display:grid; grid-template-columns:38px 1fr; gap:12px; }
.case-verification-panel li span { color:var(--sage-deep); font-family:var(--font-display); font-size:14px; }
.case-verification-panel li p { margin:0; color:#454b47; font-size:15px; line-height:1.65; }
.implementation-stages { padding-top:6px; }
.implementation-stage-list { margin-top:30px; border-top:1px solid var(--line); }
.implementation-stage-list>div { padding:28px 0; border-bottom:1px solid var(--line); display:grid; grid-template-columns:52px 1fr; gap:18px; }
.implementation-stage-list>div>span { color:var(--sage-deep); font-family:var(--font-display); font-size:15px; }
.implementation-stage-list strong { font-size:18px; }
.implementation-stage-list p { margin-top:8px; font-size:14px; }

.breadcrumbs { position:relative; padding-top:18px; padding-bottom:20px; color:var(--soft); font-size:12px; line-height:1.5; }
.breadcrumb-list { min-width:0; margin:0; padding:0; display:flex; align-items:center; flex-wrap:wrap; gap:0; list-style:none; }
.breadcrumb-item { min-width:0; display:flex; align-items:center; }
.breadcrumb-item+.breadcrumb-item::before { content:""; width:6px; height:6px; margin:0 12px 0 10px; border-top:1px solid rgba(53,92,84,.48); border-right:1px solid rgba(53,92,84,.48); flex:none; transform:rotate(45deg); }
.breadcrumbs a { position:relative; display:inline-flex; align-items:center; gap:8px; color:var(--sage-deep); font-weight:700; transition:color .18s ease; }
.breadcrumb-item:first-child a::before { content:""; width:5px; height:5px; border-radius:50%; flex:none; background:var(--champagne); box-shadow:0 0 0 4px rgba(214,181,124,.13); }
.breadcrumbs a:hover,.breadcrumbs a:focus-visible { color:var(--ink); }
.breadcrumb-current { min-width:0; max-width:720px; overflow:hidden; color:#514b43; font-weight:650; letter-spacing:.01em; text-overflow:ellipsis; white-space:nowrap; }
.page-hero-blog { background:#fff; }

.about-child-content { padding-top:54px; }
.about-page-switcher { margin-bottom:72px; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.about-page-switcher a { min-height:92px; padding:20px 22px; border:1px solid var(--line); border-radius:var(--radius-md); display:grid; grid-template-columns:32px 1fr 18px; align-items:center; gap:12px; background:linear-gradient(145deg,#fff,var(--surface-warm)); color:#4b463e; box-shadow:var(--shadow-sm); transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.about-page-switcher a:hover,.about-page-switcher a:focus-visible,.about-page-switcher a[aria-current="page"] { border-color:rgba(53,92,84,.26); box-shadow:var(--shadow-md); }
.about-page-switcher a[aria-current="page"] { background:linear-gradient(135deg,#ece9dc 0%,#e6e2d3 52%,#dbe3dc 100%); color:var(--sage-deep); }
.about-page-switcher span { color:var(--sage-deep); font-family:var(--font-display); font-size:13px; }
.about-page-switcher strong { font-size:13px; line-height:1.4; }
.about-page-switcher i { color:var(--sage); font-size:12px; font-style:normal; text-align:right; }
.about-child-heading { margin-bottom:40px; }
.about-principles-grid .feature-card { min-height:320px; }
.about-principles-grid[data-content-policy="verified-reviews-only"] .feature-card,.about-principles-grid[data-content-policy="individual-terms"] .feature-card { background:linear-gradient(145deg,#fff,#f3f1e8); }

.seo-section { padding-top:72px; padding-bottom:72px; }
.seo-panel { padding:56px; border:1px solid var(--line-strong); border-radius:var(--radius-lg); display:grid; grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr); gap:72px; background:linear-gradient(145deg,#fff,var(--surface-warm)); box-shadow:var(--shadow-md); }
.seo-panel h2 { margin:0; font-family:var(--font-display); font-size:var(--type-seo-h2); font-weight:500; letter-spacing:-.04em;  line-height:1.05; }
.seo-copy { columns:2; column-gap:34px; }
.seo-copy p { margin:0 0 20px; break-inside:avoid; color:var(--soft); font-size:15px; line-height:1.82; }

.faq-section { border-top:1px solid var(--line); }
.faq-layout { display:grid; grid-template-columns:minmax(280px,.65fr) minmax(0,1.35fr); gap:80px; }
.faq-intro { align-self:start; position:sticky; top:126px; }
.faq-list { border-top:1px solid var(--line); }
.faq-item { border-bottom:1px solid var(--line); }
.faq-item summary { min-height:86px; cursor:pointer; list-style:none; display:grid; grid-template-columns:42px 1fr 24px; align-items:center; gap:16px; font-size:17px; font-weight:700; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary span { color:var(--sage-deep); font-family:var(--font-display); font-size:13px; font-weight:500; }
.faq-item summary i { color:var(--bronze-deep); font-size:22px; font-style:normal; font-weight:400; transition:transform .2s ease; }
.faq-item[open] summary i { transform:rotate(45deg); }
.faq-item p { margin:0; padding:0 40px 28px 58px; color:var(--soft); font-size:15px; line-height:1.75; }
.faq-section+.section { padding-top:32px; }

.blog-preview { --divider-size:72px; --divider-fill:var(--surface-cool); background:var(--surface-cool); }
.blog-preview::before { content:""; position:absolute; z-index:0; inset:0; background:radial-gradient(circle at 12% 84%,rgba(223,233,229,.58),transparent 25rem),linear-gradient(135deg,rgba(255,255,255,.13),transparent 54%); -webkit-mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent); mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent); pointer-events:none; }
.blog-preview+.seo-section,.cases-teaser+.seo-section { padding-top:104px; }
.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.blog-card { min-width:0; min-height:390px; height:100%; padding:28px; border:1px solid var(--line); border-radius:var(--radius-md); display:flex; flex-direction:column; background:#fff; box-shadow:var(--shadow-sm); transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.blog-card:hover {  border-color:var(--line-strong); box-shadow:var(--shadow-lg); }
.blog-card-top { display:flex; align-items:center; justify-content:space-between; gap:16px; color:var(--sage-deep); font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.blog-card h2,.blog-card h3 { margin:42px 0 16px; font-family:var(--font-display); font-size:28px; font-weight:500; letter-spacing:-.025em; line-height:1.15; }
.blog-card p { margin:0 0 28px; color:var(--soft); font-size:15px; line-height:1.72; }
.blog-card>a { margin-top:auto; padding-top:18px; border-top:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; color:var(--sage-deep); font-size:13px; font-weight:800; }
.blog-card-with-image { min-height:470px; padding:0; overflow:hidden; }
.blog-card>.blog-card-image { width:100%; margin-top:0; padding-top:0; aspect-ratio:1200/630; flex:0 0 auto; border-top:0; border-bottom:1px solid var(--line); display:block; overflow:hidden; background:var(--surface-cool); }
.blog-card-image img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .28s ease; }
.blog-card-image > picture { width:100%; height:100%; display:block; }
.blog-card-body { width:100%; min-height:280px; padding:24px 26px 26px; display:flex; flex:1; flex-direction:column; }
.blog-card-body h2,.blog-card-body h3 { margin:28px 0 14px; }
.blog-card-body>p { margin-bottom:24px; }
.blog-card-body>a { margin-top:auto; padding-top:18px; border-top:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; color:var(--sage-deep); font-size:13px; font-weight:800; }
.page-type-blog .blog-card>a:not(.blog-card-image)>span[aria-hidden="true"],.page-type-blog .blog-card-body>a>span[aria-hidden="true"] { display:inline-block; transition:transform .18s ease; }
.section-action { margin-top:30px; display:flex; justify-content:center; }

.article-hero { position:relative; padding:64px 0 60px; border-bottom:1px solid var(--line); background:#fff; }
.article-hero h1 { min-width:0; width:100%; max-width:1020px; margin:0; font-family:var(--font-display); font-size:var(--type-article-h1); font-weight:500; letter-spacing:-.04em; white-space:normal; overflow-wrap:normal; word-break:normal; -webkit-hyphens:auto; hyphens:auto;  line-height:1.02; }
.article-meta { margin-top:30px; padding-top:22px; border-top:1px solid var(--line); display:flex; flex-wrap:wrap; gap:14px 28px; color:var(--soft); font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.article-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:90px; }
.article-content { max-width:780px; grid-column:1; grid-row:1; }
.article-intro { margin:0 0 64px; color:#3d3932; font-family:var(--font-display); font-size:25px; line-height:1.55; }
.article-content>section { scroll-margin-top:120px; }
.article-content>section+section { margin-top:64px; }
.article-content h2 { margin:0 0 20px; font-family:var(--font-display); font-size:var(--type-article-h2); font-weight:500; letter-spacing:-.035em;  line-height:1.1; }
.article-content p { margin:0; color:var(--soft); font-size:16px; line-height:1.85; }
.article-content p a { color:var(--sage-deep); font-weight:700; text-decoration:underline; text-decoration-color:rgba(53,92,84,.34); text-decoration-thickness:1px; text-underline-offset:3px; transition:color .18s ease,text-decoration-color .18s ease; }
.article-content p a:hover,.article-content p a:focus-visible { color:var(--bronze-deep); text-decoration-color:currentColor; }
.related-articles { border-top:1px solid var(--line); background:linear-gradient(180deg,rgba(239,245,248,.72),rgba(255,255,255,.96)); }
.related-articles-head { margin-bottom:40px; }
.related-grid.related-count-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.related-grid.related-count-1 { max-width:590px; grid-template-columns:minmax(0,1fr); }
.article-aside { grid-column:2; grid-row:1; align-self:start; position:sticky; top:126px; padding:26px; border:1px solid var(--line); border-radius:var(--radius-md); display:grid; gap:14px; background:#fff; box-shadow:var(--shadow-sm); }
.article-aside>a { padding-bottom:12px; border-bottom:1px solid var(--line); color:var(--soft); font-size:13px; line-height:1.5; }
.article-aside .article-back { margin-top:8px; padding-bottom:0; border-bottom:0; color:var(--sage-deep); font-weight:800; }

.modal-open { overflow:hidden; }
.project-modal { width:min(calc(100% - 32px),760px); max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); margin:auto; padding:0; border:1px solid rgba(111,71,36,.25); border-radius:var(--radius-lg); background:transparent; color:var(--ink); box-shadow:var(--shadow-lg); overflow:hidden; }
.project-modal[open] { animation:projectModalIn .24s ease-out both; }
.project-modal::backdrop { background:rgba(31,28,25,.46); backdrop-filter:blur(11px); }
.project-modal-card { position:relative; max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); padding:44px; background:radial-gradient(circle at 92% 8%,rgba(214,181,124,.22),transparent 18rem),linear-gradient(145deg,#fff 0%,#fbf8f2 58%,#eef3f1 100%); overflow:auto; }
.project-modal-card::before { content:""; position:absolute; top:0; left:44px; width:104px; height:3px; border-radius:0 0 3px 3px; background:linear-gradient(90deg,var(--champagne),var(--bronze-muted)); }
.project-modal-close { position:absolute; z-index:2; top:24px; right:24px; width:40px; height:40px; padding:0; border:1px solid rgba(111,71,36,.17); border-radius:50%; display:grid; place-items:center; background:rgba(255,255,255,.72); color:#4a4138; cursor:pointer; box-shadow:var(--shadow-sm); transition:transform .18s ease,border-color .18s ease,background .18s ease; }
.project-modal-close:hover {  border-color:rgba(111,71,36,.32); background:#fff; }
.project-modal-close:focus-visible { outline:2px solid rgba(155,106,54,.62); outline-offset:3px; }
.project-modal-close-icon { width:18px; height:18px; display:block; overflow:visible; }
.project-modal-close-icon path { fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; vector-effect:non-scaling-stroke; }
.project-modal-intro { max-width:590px; padding-right:42px; }
.project-modal-kicker { margin:0 0 18px; color:var(--sage-deep); font-size:10px; font-weight:800; letter-spacing:.17em; text-transform:uppercase; }
.project-modal-intro h2 { margin:0; font-family:var(--font-display); font-size:var(--type-modal-h2); font-weight:500; letter-spacing:-.045em;  line-height:1.04; }
.project-modal-intro>p:last-child { max-width:560px; margin:20px 0 0; color:var(--soft); font-size:14px; line-height:1.7; }
.project-form { margin-top:34px; padding-top:30px; border-top:1px solid var(--line); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.ask-honeypot { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0 0 0 0)!important; clip-path:inset(50%)!important; white-space:nowrap!important; border:0!important; }
.project-field { display:grid; gap:9px; color:#51483f; font-size:11px; font-weight:750; letter-spacing:.04em; }
.project-field-wide { grid-column:1/-1; }
.project-field input,.project-field textarea { width:100%; min-height:52px; padding:0 16px; border:1px solid rgba(111,71,36,.2); border-radius:var(--radius-sm); background:rgba(255,255,255,.82); color:var(--ink); font:400 1rem/1.5 var(--font-ui); letter-spacing:normal; outline:none; box-shadow:inset 0 1px 0 rgba(255,255,255,.8); transition:border-color .18s ease,box-shadow .18s ease,background .18s ease; }
.project-field textarea { min-height:128px; padding:14px 16px; line-height:1.55; resize:vertical; }
.project-field input::placeholder,.project-field textarea::placeholder { color:#665f56; opacity:1; }
.project-field input:hover,.project-field textarea:hover { border-color:rgba(111,71,36,.32); background:#fff; }
.project-field input:focus,.project-field textarea:focus { border-color:rgba(137,106,74,.72); background:#fff; box-shadow:0 0 0 4px rgba(214,181,124,.15); }
.project-consent { position:relative; grid-column:1/-1; display:grid; grid-template-columns:20px 1fr; align-items:start; gap:11px; color:#5c554c; cursor:pointer; font-size:11px; line-height:1.55; }
.project-consent input { position:absolute; width:1px; height:1px; opacity:0; }
.project-consent-box { width:19px; height:19px; border:1px solid rgba(111,71,36,.28); border-radius:calc(var(--radius-sm)/2); display:grid; place-items:center; background:#fff; color:transparent; font-size:11px; transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease; }
.project-consent input:checked+.project-consent-box { border-color:var(--bronze-muted); background:var(--bronze-muted); color:#fffaf1; box-shadow:0 5px 14px rgba(55,46,38,.13); }
.project-consent input:focus-visible+.project-consent-box { outline:2px solid rgba(155,106,54,.62); outline-offset:3px; }
.project-consent a { color:var(--sage-deep); font-weight:800; text-decoration:underline; text-decoration-color:rgba(53,92,84,.34); text-underline-offset:3px; }
.project-form-footer { grid-column:1/-1; margin-top:4px; display:grid; grid-template-columns:auto 1fr; align-items:center; gap:18px; }
.project-form-notice { margin:0; color:#756e65; font-size:10px; line-height:1.55; }
.project-form-status { grid-column:1/-1; margin:0; padding:12px 14px; border:1px solid rgba(53,92,84,.16); border-radius:var(--radius-sm); background:rgba(242,247,245,.86); color:var(--sage-deep); font-size:1rem; font-weight:700; line-height:1.55; scroll-margin-block:16px; }
.project-form-status:focus { outline:2px solid rgba(53,92,84,.72); outline-offset:3px; }
.project-form-status:empty { display:none; }
@keyframes projectModalIn { from { opacity:0; transform:translateY(14px) scale(.985); } to { opacity:1; transform:translateY(0) scale(1); } }

.particle-network { position:absolute; inset:0; z-index:1; width:100%; height:100%; display:block; pointer-events:none; }
.particle-network-wide { opacity:.68; -webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.26),#000 28%,#000); mask-image:linear-gradient(90deg,rgba(0,0,0,.26),#000 28%,#000); }
.particle-network-panel { opacity:.58; -webkit-mask-image:linear-gradient(90deg,transparent 3%,rgba(0,0,0,.18) 34%,#000 68%); mask-image:linear-gradient(90deg,transparent 3%,rgba(0,0,0,.18) 34%,#000 68%); }
.particle-network-cta { opacity:.64; -webkit-mask-image:linear-gradient(90deg,transparent 20%,rgba(0,0,0,.22) 49%,#000 78%); mask-image:linear-gradient(90deg,transparent 20%,rgba(0,0,0,.22) 49%,#000 78%); }

.hero-networked { isolation:isolate; overflow:hidden; }
.hero-networked>.container { position:relative; z-index:2; }
.signal-scene { position:absolute; inset:0; z-index:0; width:100%; height:100%; pointer-events:none; }
.signal-mist-layer,.signal-network-layer { position:absolute; width:100%; pointer-events:none; }
.signal-mist-layer { top:0; right:0; left:0; height:210px; }
.signal-network-layer { inset:0; height:100%; }
.signal-scene-home .signal-mist-layer { height:100%; opacity:.82; }
.signal-scene-page .signal-mist-layer,.signal-scene-article .signal-mist-layer { opacity:.74; }
.signal-scene-home .signal-network-layer { opacity:.82; }
.signal-scene-page .signal-network-layer,.signal-scene-article .signal-network-layer { opacity:.74; }

/* ASK ARMONIVO v1.5.2: one canonical visual system for internal page and article heroes.
   The decorative network is pinned to the right at a stable 12:5 aspect ratio,
   so it no longer rescales, crops or loses elements when title height or template changes. */
.signal-scene-page .signal-mist-layer,.signal-scene-article .signal-mist-layer { height:210px; opacity:.74; }
.signal-scene-page .signal-network-layer,.signal-scene-article .signal-network-layer {
  top:0;
  right:clamp(12px,2.8vw,52px);
  bottom:auto;
  left:auto;
  width:clamp(560px,52vw,760px);
  height:clamp(233px,21.6667vw,317px);
  opacity:.64;
  overflow:visible;
}
.signal-scene-page .signal-dots,.signal-scene-article .signal-dots { opacity:.66; }
.signal-scene-page .signal-line,.signal-scene-article .signal-line { stroke:rgba(91,79,63,.14); stroke-width:.9; }
.signal-scene-page .signal-trace,.signal-scene-article .signal-trace { stroke-width:1.05; }
.signal-scene-page .signal-ring,.signal-scene-article .signal-ring { stroke:rgba(155,106,54,.16); }
.signal-scene-page .signal-node,.signal-scene-article .signal-node { opacity:.82; }

.signal-mist { fill:var(--surface-cool); opacity:.94; }
 .signal-dots { opacity:.82; }
.signal-dot { fill:rgba(255,255,255,.88); }
.signal-dot-accent { fill:#e3bb73; opacity:.9; filter:drop-shadow(0 2px 6px rgba(155,106,54,.2)); transform-box:fill-box; transform-origin:center; }
.signal-scene-home .signal-dot-accent { --signal-accent-x:0px; --signal-accent-y:-2px; will-change:transform,opacity,filter; animation:signalAccentBreathe 11s cubic-bezier(.42,.08,.2,1) infinite; }
.signal-scene-home .signal-dot-accent-1 { --signal-accent-x:2px; --signal-accent-y:-2px; animation-duration:9s; animation-delay:-1.8s; }
.signal-scene-home .signal-dot-accent-2 { --signal-accent-x:-1px; --signal-accent-y:2px; animation-duration:11s; animation-delay:-4.8s; }
.signal-scene-home .signal-dot-accent-3 { --signal-accent-x:-2px; --signal-accent-y:-1px; animation-duration:13s; animation-delay:-7.4s; }
.signal-line,.signal-trace,.signal-ring { fill:none; vector-effect:non-scaling-stroke; }
.signal-line { stroke:rgba(91,79,63,.22); stroke-width:1; }
.signal-trace { stroke:var(--bronze); stroke-width:1.35; stroke-linecap:round; stroke-dasharray:.14 .86; stroke-dashoffset:1; animation:signalTrace 48s cubic-bezier(.45,.05,.18,1) infinite; }
.signal-trace-2 { stroke:#78978a; animation-delay:-9s; animation-duration:54s; }
.signal-trace-3 { stroke:#e27b69; animation-delay:-17s; animation-duration:60s; }
.signal-trace-4 { stroke:#4ca8b1; animation-delay:-25s; animation-duration:66s; }
.signal-ring { stroke:rgba(155,106,54,.24); stroke-width:1; transform-box:fill-box; transform-origin:center; animation:signalRing 44s cubic-bezier(.45,.05,.18,1) infinite; }
.signal-node { stroke:#fff; stroke-width:3; vector-effect:non-scaling-stroke; transform-box:fill-box; transform-origin:center; animation:signalNode 50s cubic-bezier(.45,.05,.18,1) infinite; }
.signal-node-bronze { fill:#a97642; }
.signal-node-sage { fill:#7e9b8f; animation-delay:-1.8s; }
.signal-node-coral { fill:#e97863; animation-delay:-3.6s; }
.signal-node-cyan { fill:#4ca8b1; animation-delay:-5.4s; }
.signal-node-soft { fill:#d5b57b; animation-delay:-7.2s; }

@keyframes signalTrace {
  0%,12% { stroke-dashoffset:1; opacity:0; }
  24%,70% { opacity:.62; }
  84%,100% { stroke-dashoffset:-1; opacity:0; }
}
@keyframes signalNode { 0%,100% { transform:translateY(0) scale(1); } 50% { transform:translateY(-1px) scale(1.04); } }
@keyframes signalRing { 0%,100% { transform:scale(.97); opacity:.14; } 50% { transform:scale(1.14); opacity:.28; } }
@keyframes signalAccentBreathe {
  0%,100% { transform:translate3d(0,0,0) scale(1); opacity:.78; filter:drop-shadow(0 2px 6px rgba(155,106,54,.16)); }
  48% { transform:translate3d(var(--signal-accent-x),var(--signal-accent-y),0) scale(1.1); opacity:1; filter:drop-shadow(0 4px 11px rgba(155,106,54,.34)); }
  64% { transform:translate3d(calc(var(--signal-accent-x) * .55),calc(var(--signal-accent-y) * .55),0) scale(1.05); opacity:.92; filter:drop-shadow(0 3px 8px rgba(155,106,54,.25)); }
}

.site-footer { --divider-size:74px; --divider-fill:#dfe6e2; position:relative; padding:78px 0 28px; border-top:0; background:radial-gradient(circle at 12% 18%,rgba(255,255,255,.36),transparent 24rem),linear-gradient(180deg,#dfe6e2 0%,#d7dfdb 58%,#ddd4ca 100%); color:#27241f; }
.site-footer>.container { position:relative; z-index:3; }
.footer-grid { display:grid; grid-template-columns:1.25fr .75fr .75fr .75fr; gap:40px; }
.footer-brand p { max-width:350px; margin:22px 0 0; color:#514c45; font-size:14px; line-height:1.7; }
.footer-title { margin:0 0 19px; color:var(--sage-deep); font-size:12px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.footer-title-spaced { margin-top:30px; }
.footer-links { display:grid; gap:12px; }.footer-links a { color:#45413b; font-size:14px; }.footer-links a:hover { color:var(--sage-deep); }
.footer-socials { display:grid; grid-template-columns:1fr; gap:8px; }
.footer-socials a { min-height:40px; padding:9px 12px; border:1px solid rgba(53,92,84,.16); border-radius:var(--radius-sm); display:flex; align-items:center; justify-content:space-between; gap:10px; background:rgba(255,255,255,.28); color:#3f4945; font-size:12px; font-weight:700; transition:background .18s ease,border-color .18s ease,transform .18s ease; }
.footer-socials a:hover {  border-color:rgba(53,92,84,.3); background:rgba(255,255,255,.5); }
.footer-socials a:focus-visible { outline:2px solid rgba(53,92,84,.72); outline-offset:3px; }
.footer-socials i { color:var(--bronze-deep); font-size:12px; font-style:normal; }
.footer-bottom { margin-top:60px; padding-top:24px; border-top:1px solid rgba(43,36,29,.14); display:flex; align-items:center; justify-content:space-between; gap:20px; color:#514c45; font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
.footer-bottom a { transition:color .18s ease; }
.footer-bottom a:hover,.footer-bottom a:focus-visible { color:var(--bronze-deep); }
.site-footer .brand-tagline { color:#625b52; }

.cookie-notice { position:fixed; z-index:45; left:50%; bottom:calc(18px + env(safe-area-inset-bottom,0px)); width:min(calc(100% - 36px),1160px); max-height:calc(100vh - 36px); max-height:calc(100dvh - 36px); padding:18px 20px; border:1px solid rgba(111,71,36,.2); border-radius:22px; background:linear-gradient(135deg,rgba(255,255,255,.98) 0%,rgba(250,246,238,.97) 58%,rgba(238,244,241,.96) 100%); box-shadow:inset 0 1px 0 rgba(255,255,255,.86),0 22px 58px rgba(45,35,24,.16); -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px); overflow:auto; transform:translateX(-50%); }
.cookie-notice::before { content:""; position:absolute; top:0; left:28px; width:96px; height:2px; border-radius:0 0 3px 3px; background:linear-gradient(90deg,var(--champagne),var(--bronze-muted)); }
.cookie-notice[hidden] { display:none; }
.cookie-notice-inner { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:24px; }
.cookie-notice p { margin:0; color:#49443c; font-size:13px; line-height:1.65; }
.cookie-notice-link { color:var(--sage-deep); font-weight:650; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }
.cookie-notice-link:hover,.cookie-notice-link:focus-visible { color:var(--bronze-deep); }
.cookie-notice-link:focus-visible,.cookie-notice-accept:focus-visible { outline:2px solid rgba(155,106,54,.62); outline-offset:3px; }
.cookie-notice-accept { min-width:136px; flex:none; }
html.cookie-notice-visible { --ask-floating-actions-base-bottom:calc(var(--cookie-notice-height,0px) + 34px); }
.back-to-top { position:fixed; z-index:19; right:calc(var(--ask-floating-actions-center-right) - var(--ask-floating-actions-back-radius)); bottom:var(--ask-floating-actions-base-bottom); width:var(--ask-floating-actions-back-size); height:var(--ask-floating-actions-back-size); padding:0; border:1px solid rgba(53,92,84,.24); border-radius:50%; display:grid; place-items:center; background:linear-gradient(145deg,#f1eee3 0%,#dce6e1 100%); color:var(--sage-deep); cursor:pointer; box-shadow:inset 0 1px 0 rgba(255,255,255,.78),0 16px 36px rgba(52,67,61,.16); opacity:0; visibility:hidden; pointer-events:none; transform:translateY(14px) scale(.94); transition:opacity .2s ease,visibility .2s ease,transform .2s ease,box-shadow .2s ease,border-color .2s ease,bottom .2s ease; }
.back-to-top::before { content:""; position:absolute; inset:5px; border:1px solid rgba(53,92,84,.12); border-radius:50%; }
.back-to-top-icon { position:relative; z-index:1; width:18px; height:18px; display:block; overflow:visible; }
.back-to-top-icon path { fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
.back-to-top.is-visible { opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0) scale(1); }
.back-to-top:hover { border-color:rgba(53,92,84,.38); box-shadow:inset 0 1px 0 rgba(255,255,255,.84),0 20px 42px rgba(52,67,61,.21);  }
.back-to-top:focus-visible { outline:2px solid rgba(53,92,84,.68); outline-offset:4px; }

.not-found { min-height:60vh; display:grid; place-items:center; text-align:center; }.not-found h1 { margin:0; font-family:var(--font-display); font-size:80px; font-weight:500; }.not-found p { margin:10px 0 24px; color:var(--soft); }


/* ASK ARMONIVO CMS Pilot: technologies and editor-based article */
.technologies-hero .page-lead { max-width:820px; }
.technology-section-intro { max-width:820px; margin-bottom:52px; }
.technology-section-intro > :first-child { margin-top:0; }
.technology-section-intro > :last-child { margin-bottom:0; }
.technology-groups { display:grid; gap:54px; }
.technology-group { display:grid; gap:22px; }
.technology-group-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; padding-bottom:14px; border-bottom:1px solid var(--line); }
.technology-group-head h2 { margin:0; font-size:clamp(26px,3vw,38px); }
.technology-group-head p { max-width:520px; margin:0; color:var(--soft); text-align:right; }
.technology-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.technology-card { min-height:210px; padding:24px; border:1px solid var(--line); border-radius:var(--radius-md); display:flex; flex-direction:column; background:rgba(255,255,255,.92); box-shadow:var(--shadow-sm); transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease; }
.technology-card:hover,.technology-card:focus-within {  border-color:rgba(53,92,84,.3); background:#fff; box-shadow:var(--shadow-lg); }
.technology-card-top { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.technology-mark { width:46px; height:46px; border:1px solid rgba(53,92,84,.2); border-radius:50%; display:grid; place-items:center; background:linear-gradient(145deg,#f8f5ec,#e7efeb); color:var(--sage-deep); font-size:12px; font-weight:800; letter-spacing:.05em; }
.technology-card-arrow { color:var(--sage-deep); font-size:17px; transition:transform .18s ease; }
.technology-card h3 { margin:24px 0 10px; font-size:22px; }
.technology-card p { margin:0 0 22px; color:var(--soft); line-height:1.65; }
.technology-card a { margin-top:auto; color:var(--sage-deep); font-size:13px; font-weight:750; }
.technology-disclaimer { margin-top:50px; padding:22px 24px; border:1px solid rgba(111,71,36,.16); border-radius:var(--radius-md); background:var(--surface-warm); color:var(--soft); font-size:13px; line-height:1.65; }
.article-feature-image { width:min(100%,980px); margin:0 auto 48px; border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; background:var(--surface-cool); box-shadow:var(--shadow-md); }
.article-feature-image img { width:100%; height:auto; display:block; }
.article-feature-image > picture { width:100%; display:block; }
.article-content .article-intro { margin-top:0; }
.article-content > :first-child { margin-top:0; }
.article-content h2 { scroll-margin-top:120px; }
.article-content h2:not(:first-child) { margin-top:64px; }
.article-content ul,.article-content ol { margin:24px 0; padding-left:24px; color:var(--soft); line-height:1.8; }
.article-content li+li { margin-top:8px; }
.article-content table { width:100%; border-collapse:collapse; }
.article-content th,.article-content td { padding:12px; border:1px solid var(--line); text-align:left; }
.article-content th { background:var(--surface-warm); }

@media (max-width:1180px) {
  .desktop-nav { gap:16px; }.desktop-nav>a,.desktop-nav>.nav-services>.nav-services-trigger,.desktop-nav>.nav-about>.nav-services-trigger { font-size:14px; }.header-cta { display:none; }
  .hero-grid { gap:38px; }.system-card { padding:24px; }.security-panel { gap:40px; }
}

@media (max-width:1050px) {
  .desktop-nav { display:none; }.mobile-menu { position:relative; display:block; }
  .mobile-trigger { width:44px; height:44px; border:1px solid var(--line); border-radius:50%; display:grid; place-items:center; font-size:18px; }
  .mobile-panel { position:absolute; z-index:31; top:calc(100% + 12px); right:-4px; width:min(380px,calc(100vw - 20px)); max-height:min(720px,calc(var(--mobile-panel-available-height,calc(100vh - 120px)) - env(safe-area-inset-bottom,0px))); max-height:min(720px,calc(var(--mobile-panel-available-height,calc(100dvh - 120px)) - env(safe-area-inset-bottom,0px))); padding:20px; border:1px solid rgba(155,106,54,.22); border-radius:var(--radius-md); display:grid; gap:8px; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; background:#fff; box-shadow:inset 0 1px 0 rgba(255,255,255,.88),0 24px 64px rgba(44,35,25,.18); }
  .mobile-panel>a:not(.mobile-project-cta) { min-height:44px; padding:12px 6px; border:0; display:flex; align-items:center; color:#49443c; font-size:16px; font-weight:500; line-height:1.4; box-shadow:none; }
  .mobile-panel .mobile-project-cta { width:100%; margin-top:8px; border-bottom:1px solid rgba(53,92,84,.24); color:#304f48; font-size:14px; }
  .hero { padding-top:68px; }.hero-grid,.section-head,.process-grid,.security-panel,.page-layout,.seo-panel,.faq-layout,.article-layout { grid-template-columns:1fr; }.hero-grid { gap:52px; }
  .system-card { width:min(100%,560px); margin-inline:auto; }.trust-inner { padding:26px 0; align-items:flex-start; flex-direction:column; }.trust-list { width:100%; justify-content:space-between; gap:18px; }
  .section { padding:96px 0; }.section-compact { padding:68px 0; }.section-head { gap:24px; margin-bottom:44px; }.process-grid { gap:44px; }.page-layout { gap:56px; }.faq-layout { gap:40px; }.article-layout { gap:56px; }
  .cards-three,.solution-grid { grid-template-columns:1fr; }.feature-card { min-height:260px; }.process-sticky,.page-aside,.faq-intro,.article-aside { position:static; }.security-panel { padding:42px; }
  .solutions-wave,.tasks-wave,.cases-wave,.catalog-wave { --divider-size:72px; }.blog-preview { --divider-size:58px; }.security-section { padding-bottom:94px; }
  .seo-panel { gap:34px; }.article-content { grid-column:1; grid-row:1; }.article-aside { grid-column:1; grid-row:2; grid-template-columns:repeat(2,1fr); }.article-aside .system-kicker,.article-aside .article-back { grid-column:1/-1; }.blog-grid,.technology-grid { grid-template-columns:repeat(2,1fr); }
  .services-grid,.case-teaser-grid { grid-template-columns:repeat(2,1fr); }.choice-grid,.service-task-grid { grid-template-columns:repeat(2,1fr); }.about-page-switcher { grid-template-columns:1fr; margin-bottom:54px; }
  .architecture-panel,.service-boundary,.case-verification-panel { grid-template-columns:1fr; gap:34px; }.case-card dl { grid-template-columns:1fr; }
  .signal-network { transform:translateX(10%); transform-origin:center; }.signal-dots { opacity:.54; }
  .signal-scene-page .signal-network-layer,.signal-scene-article .signal-network-layer { right:-36px; width:620px; height:258px; }
  .signal-scene-page .signal-network,.signal-scene-article .signal-network { transform:none; }
  .signal-scene-page .signal-dots,.signal-scene-article .signal-dots { opacity:.58; }
  .footer-grid { grid-template-columns:1.4fr 1fr 1fr; }.footer-brand { grid-column:1/-1; }
}

@media (max-width:760px) {
  :root { --ask-floating-actions-center-right:44px; --ask-floating-actions-base-bottom:calc(16px + env(safe-area-inset-bottom,0px)); --ask-floating-actions-back-size:52px; --ask-floating-actions-back-radius:26px; --ask-floating-actions-widget-size:56px; --ask-floating-actions-widget-radius:28px; --ask-floating-actions-gap:14px; }
  /* ASK ARMONIVO v1.5.3: long article titles wrap safely on narrow screens. */
  .article-hero h1 { max-width:100%; font-size:var(--type-article-h1); white-space:normal; overflow-wrap:anywhere; word-break:normal; -webkit-hyphens:auto; hyphens:auto; text-wrap:wrap;  line-height:1.06; }
  .services-grid,.blog-grid,.technology-grid,.case-teaser-grid,.choice-grid,.service-task-grid,.case-detail-facts,.case-component-grid,.case-flow-list,.related-grid.related-count-2 { grid-template-columns:1fr; }
  .article-aside { grid-column:1; grid-row:1; }.article-content { grid-column:1; grid-row:2; }
  .case-flow-head { grid-template-columns:1fr; gap:18px; }.case-flow-list li { min-height:96px; }.case-flow-list li:not(:last-child)::after { top:auto; right:50%; bottom:-13px; transform:translateX(50%) rotate(90deg); }
  .seo-panel { padding:40px 30px; }.seo-copy { columns:1; }
}

@media (max-width:620px) {
  :root { --ask-floating-actions-center-right:44px; --ask-floating-actions-base-bottom:calc(14px + env(safe-area-inset-bottom,0px)); --ask-floating-actions-back-size:46px; --ask-floating-actions-back-radius:23px; --ask-floating-actions-widget-size:56px; --ask-floating-actions-widget-radius:28px; --ask-floating-actions-gap:20px; }
  .container { width:min(100% - 28px,1220px); }.topline-inner { justify-content:center; text-align:center; }.topline-status { display:none; }.topline-contacts { gap:9px; font-size:12px; }
  .header-inner { min-height:70px; grid-template-columns:minmax(0,1fr) auto; gap:10px; }.header-actions { grid-column:2; gap:8px; }.brand,.brand-copy { min-width:0; }.brand { gap:9px; }.site-header .brand-tagline { display:block; margin-top:4px; font-size:clamp(8px,2.25vw,10px); line-height:1.15; letter-spacing:.06em; }.site-footer .brand-tagline { display:block; margin-top:6px; font-size:8px; line-height:1; letter-spacing:.085em; }.brand-symbol { width:40px; height:40px; }.brand-name { gap:.3em; font-size:clamp(11px,3.25vw,12.5px); letter-spacing:.08em; }.language-switcher { width:52px; min-width:52px; flex:0 0 52px; }.language-trigger { box-sizing:border-box; position:relative; width:52px; min-width:52px; max-width:52px; min-height:42px; height:42px; padding:0; display:block; line-height:1; text-align:center; }.language-trigger .language-code { position:absolute; inset:0; display:grid; place-items:center; line-height:1; transform:translateY(1px); }.mobile-trigger { width:44px; height:44px; }
  .hero { min-height:auto; padding:56px 0; }.hero h1 { font-size:var(--type-h1); }.page-hero h1 { font-size:var(--type-page-h1);  line-height:1.02; }.hero-lead,.page-lead { font-size:16px; }
  .hero-actions .button { width:100%; }.hero-proof { display:grid; gap:12px; }.system-card { min-height:475px; padding:20px; border-radius:var(--radius-md); }
  .system-orbit { width:190px; height:190px; }.system-steps { grid-template-columns:repeat(2,1fr); }.system-step:last-child { grid-column:1/-1; }
  .breadcrumbs { padding-top:14px; padding-bottom:16px; font-size:11px; }.breadcrumb-item+.breadcrumb-item::before { margin-right:9px; margin-left:7px; }
  .trust-list { display:grid; grid-template-columns:1fr 1fr; }.section { padding:76px 0; }.section-compact { padding:58px 0; }.section-head { margin-bottom:36px; gap:20px; }.section-title { font-size:var(--type-h2); }
  .sculpted-section,.solutions-wave,.tasks-wave,.cases-wave,.catalog-wave,.blog-preview { --divider-size:44px; }.security-section { padding-bottom:76px; }.blog-preview+.seo-section,.cases-teaser+.seo-section { padding-top:82px; }
  .feature-card,.solution-card { padding:26px; }.solution-card { min-height:450px; }.solution-card h3 { font-size:var(--type-solution-title); }.process-grid { gap:36px; }.process-row { grid-template-columns:44px 1fr; }
  .security-panel { padding:28px; border-radius:var(--radius-md); }.cta-panel { padding:44px 26px; border-radius:var(--radius-md); }.cta-panel h2 { font-size:var(--type-cta); }.page-hero { padding:48px 0 46px; }.page-hero .eyebrow,.article-hero .eyebrow { margin-bottom:16px; }.page-hero .page-lead,.article-hero .page-lead { margin-top:20px; }.bullet-grid,.blog-grid,.technology-grid { grid-template-columns:1fr; }.technology-group-head { align-items:flex-start; flex-direction:column; }.technology-group-head p { text-align:left; }.technology-card { min-height:0; }.article-feature-image { margin-bottom:34px; border-radius:var(--radius-md); }
  .seo-panel { padding:34px 24px; border-radius:var(--radius-md); }.seo-copy { columns:1; }.faq-layout { gap:32px; }.faq-item summary { grid-template-columns:32px 1fr 20px; font-size:16px; }.faq-item p { padding:0 20px 24px 48px; }.faq-section+.section { padding-top:24px; }
  .article-hero { padding:48px 0 46px; }.article-hero h1 { font-size:var(--type-article-h1);  line-height:1.06; }.article-layout { gap:44px; }.article-intro { font-size:21px; }.article-aside { grid-template-columns:1fr; }.article-aside .system-kicker,.article-aside .article-back { grid-column:auto; }
  .services-grid,.choice-grid,.service-task-grid,.case-teaser-grid { grid-template-columns:1fr; }.service-card { min-height:320px; }.choice-card,.service-task { min-height:190px; }.choice-card h3,.service-task h3 { margin-top:48px; }
  .architecture-panel,.service-boundary,.case-card,.case-verification-panel { padding:34px 24px; border-radius:var(--radius-md); }.case-card h2 { margin-bottom:26px; }.case-detail-overview { padding-bottom:92px; }.case-detail-facts article,.case-component-grid article { min-height:190px; padding:24px; }
  .signal-mist-layer { height:150px; }.signal-scene-page .signal-mist-layer,.signal-scene-article .signal-mist-layer { opacity:.48; }.signal-scene-page .signal-network-layer,.signal-scene-article .signal-network-layer { top:0; right:-110px; left:auto; width:560px; height:233px; opacity:.34; }.signal-dots { display:none; }.signal-network { transform:translate(18%,12%) scale(.88); transform-origin:center; }.signal-scene-page .signal-network,.signal-scene-article .signal-network { transform:none; }
  .particle-network-wide { opacity:.48; }.particle-network-panel,.particle-network-cta { opacity:.44; }
  .project-modal { width:min(calc(100% - 20px),760px); max-height:calc(100vh - 20px); max-height:calc(100dvh - 20px); border-radius:var(--radius-md); }.project-modal-card { max-height:calc(100vh - 20px); max-height:calc(100dvh - 20px); padding:38px 22px 26px; }.project-modal-card::before { left:22px; }.project-modal-close { top:16px; right:16px; }.project-modal-intro { padding-right:34px; }.project-modal-intro h2 { font-size:var(--type-modal-h2); }.project-form { grid-template-columns:1fr; gap:16px; }.project-field-wide,.project-consent,.project-form-footer,.project-form-status { grid-column:1; }.project-form-footer { grid-template-columns:1fr; }.project-form-footer .button { width:100%; }.project-form-notice { text-align:center; }
  .cookie-notice { bottom:calc(10px + env(safe-area-inset-bottom,0px)); width:calc(100% - 20px); max-height:calc(100vh - 20px); max-height:calc(100dvh - 20px); padding:18px; border-radius:20px; }.cookie-notice::before { left:18px; width:78px; }.cookie-notice-inner { grid-template-columns:1fr; gap:14px; }.cookie-notice p { font-size:12px; line-height:1.58; }.cookie-notice-accept { width:100%; min-width:0; }html.cookie-notice-visible { --ask-floating-actions-base-bottom:calc(var(--cookie-notice-height,0px) + 22px); }
  .footer-grid { grid-template-columns:1fr; }.footer-brand { grid-column:auto; }.footer-bottom { align-items:flex-start; flex-direction:column; }.back-to-top-icon { width:17px; height:17px; }
}

@media (max-width:360px) {
  .container { width:min(100% - 20px,1220px); }
  .brand-symbol { width:36px; height:36px; }
  .header-actions { gap:6px; }
  .language-switcher { width:52px; min-width:52px; flex-basis:52px; }
  .language-trigger { width:52px; min-width:52px; max-width:52px; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; } *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; }
  .signal-scene *,.orbit-track,.orbit-ring:nth-child(2) { animation:none!important; }
  .signal-trace { stroke-dashoffset:0; opacity:.26; }
  .signal-ring { opacity:.24; }
  .project-modal[open] { animation:none; }
  .button:hover,.feature-card:hover,.solution-card:hover,.service-card:hover,.blog-card:hover,.about-page-switcher a:hover,.back-to-top:hover { transform:none; }
  .page-type-blog .blog-card>a:not(.blog-card-image)>span[aria-hidden="true"],.page-type-blog .blog-card-body>a>span[aria-hidden="true"] { transform:none!important; }
}

@media (forced-colors:active) { .signal-scene,.particle-network { display:none; } }

/* ASK_ARMONIVO_R5_HTML_SITEMAP_HIERARCHY */
.html-sitemap-tree{display:block}.html-sitemap-section{padding:clamp(24px,3vw,38px)}
.html-sitemap-root,.html-sitemap-root ul{margin:0;padding:0;list-style:none}
.html-sitemap-root>li+li{margin-top:14px}.html-sitemap-root li{position:relative;padding-left:20px}
.html-sitemap-root li::before{content:"";position:absolute;left:0;top:.82em;width:8px;height:1px;background:rgba(53,92,84,.34)}
.html-sitemap-root ul{margin-top:10px;margin-left:8px;padding-left:18px;border-left:1px solid rgba(53,92,84,.16);display:grid;gap:9px}
.html-sitemap-root a,.html-sitemap-branch-title{color:inherit;line-height:1.55}.html-sitemap-root a{text-decoration:none}.html-sitemap-root>li>a,.html-sitemap-branch-title{font-weight:700}.html-sitemap-root ul a{font-weight:500}.html-sitemap-root a:hover,.html-sitemap-root a:focus-visible{text-decoration:underline;text-underline-offset:4px}.html-sitemap-branch-title{display:inline-block}
@media(max-width:620px){.html-sitemap-section{padding:22px 18px}.html-sitemap-root li{padding-left:16px}.html-sitemap-root ul{margin-left:3px;padding-left:14px}}


/* ASK ARMONIVO v1.6.4: mobile touch feedback */
/* Remove the transient rectangular tap flash on touch screens while
   preserving the existing :focus-visible outlines for keyboard users. */
@media (hover:none) and (pointer:coarse) {
  :where(
    a[href],
    button,
    summary,
    [role="button"],
    [role="link"],
    input[type="button"],
    input[type="submit"],
    input[type="reset"],
    label[for]
  ) {
    -webkit-tap-highlight-color:transparent;
  }

  :where(
    a[href],
    button,
    summary,
    [role="button"],
    [role="link"],
    input[type="button"],
    input[type="submit"],
    input[type="reset"],
    label[for]
  ):focus:not(:focus-visible) {
    outline:none;
  }
}

/* ASK ARMONIVO v1.6.6: synchronized touch timing */
/* Use the same 120 ms response for mobile-menu, language and submenu controls.
   Keyboard focus styles and reduced-motion support remain intact. */
@media (hover:none) and (pointer:coarse) {
  .mobile-trigger,
  .language-trigger,
  .mobile-services-toggle {
    transition:transform 120ms ease,background-color 120ms ease,color 120ms ease,border-color 120ms ease,box-shadow 120ms ease;
    transform-origin:center;
  }

  .mobile-trigger:active,
  .language-trigger:active,
  .mobile-services-toggle:active {
    transform:scale(.97);
  }

  .back-to-top.is-visible:active {
    transform:translateY(0) scale(.97);
  }

  .language-menu a:active,
  .mobile-panel>a:not(.mobile-project-cta):active,
  .mobile-services>summary:active,
  .mobile-services-parent:active,
  .mobile-services-all:active,
  .mobile-services-group>a:active {
    border-radius:var(--radius-sm);
    background:rgba(53,92,84,.06);
    color:var(--sage-deep);
  }
}

@media (prefers-reduced-motion:reduce) {
  .mobile-trigger:active,
  .language-trigger:active,
  .mobile-services-toggle:active {
    transform:none!important;
  }

  .back-to-top.is-visible:active {
    transform:translateY(0) scale(1)!important;
  }
}


/* ASK ARMONIVO v1.6.7: accessible blog and case pagination. */
.listing-pagination {
  margin-top: clamp(30px, 4vw, 52px);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}
.listing-pagination__pages { display: inline-flex; align-items: center; justify-content: center; gap: 7px; }
.listing-pagination__control,
.listing-pagination__page {
  min-width: 42px;
  min-height: 42px;
  padding: 0 13px;
  border: 1px solid rgba(53,92,84,.18);
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  background: linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,242,234,.94));
  color: #3f514c;
  font-size: 13px;
  font-weight: 720;
  line-height: 1;
  box-shadow: 0 9px 22px rgba(45,35,24,.045);
  transition: transform 120ms ease, border-color 120ms ease, background-color 120ms ease, box-shadow 120ms ease;
  -webkit-tap-highlight-color: transparent;
}
.listing-pagination__page { padding-inline: 10px; }
.listing-pagination__page.is-current {
  border-color: rgba(53,92,84,.36);
  background: linear-gradient(135deg,#ece9dc 0%,#e6e2d3 50%,#dbe3dc 100%);
  color: var(--sage-deep);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.78),0 12px 26px rgba(65,75,69,.1);
}
.listing-pagination .is-disabled { opacity: .42; pointer-events: none; }
.listing-pagination__ellipsis { min-width: 20px; color: var(--soft); text-align: center; }
.listing-empty { grid-column: 1 / -1; margin: 0; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--sage-pale); color: var(--soft); text-align: center; }
.case-card-summary { margin: 0 0 22px; color: var(--soft); line-height: 1.7; }
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .listing-pagination a:hover { transform: translateY(-1px); border-color: rgba(53,92,84,.34); box-shadow: 0 12px 28px rgba(45,35,24,.075); }
}
.listing-pagination a:focus-visible { outline: 2px solid rgba(77,117,108,.46); outline-offset: 3px; }
.listing-pagination a:active { transform: scale(.97); }
@media (max-width:620px) {
  .listing-pagination { gap: 8px; }
  .listing-pagination__control { min-width: 42px; padding-inline: 11px; }
  .listing-pagination__control span:not([aria-hidden="true"]) { display: none; }
  .listing-pagination__page { min-width: 40px; min-height: 40px; }
}
@media (prefers-reduced-motion:reduce) {
  .listing-pagination__control,
  .listing-pagination__page { transition: none; }
  .listing-pagination a:active { transform: none; }
}

/* ASK ARMONIVO v1.6.8: article author and homepage featured case. */
/* ASK ARMONIVO v1.6.9: article author aligned with the main text column. */
.article-author-section {
  margin-top: -44px;
  padding: 0 0 72px;
}
.article-author-section > .container {
  display: grid;
  grid-template-columns: minmax(0,1fr) 300px;
  gap: 90px;
}
.article-author {
  width: 100%;
  max-width: 780px;
  margin: 0;
  padding: 24px 26px;
  grid-column: 1;
  justify-self: start;
  border: 1px solid rgba(53,92,84,.16);
  border-radius: var(--radius-md);
  display: grid;
  grid-template-columns: 60px minmax(0,1fr);
  align-items: center;
  gap: 20px;
  background: linear-gradient(135deg,rgba(255,255,255,.98),rgba(239,245,242,.88));
  box-shadow: var(--shadow-sm);
}
.article-author__mark {
  width: 60px;
  height: 60px;
  border: 1px solid rgba(155,106,54,.18);
  border-radius: 50%;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: rgba(255,255,255,.92);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.92),0 10px 24px rgba(45,35,24,.07);
}
.article-author__mark img { width: 46px; height: 46px; object-fit: contain; }
.article-author__content { min-width: 0; }
.article-author__label {
  display: block;
  color: var(--sage-deep);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .13em;
  line-height: 1.35;
  text-transform: uppercase;
}
.article-author__name {
  margin-top: 4px;
  display: block;
  color: #302d28;
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 500;
  line-height: 1.2;
}
.article-author__description {
  max-width: 690px;
  margin: 8px 0 0;
  color: var(--soft);
  font-size: 14px;
  line-height: 1.62;
}
.article-author__link {
  width: fit-content;
  margin-top: 10px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--sage-deep);
  font-size: 13px;
  font-weight: 800;
}
.article-author__link span { transition: transform 160ms ease; }
.article-author__link:focus-visible { outline: 2px solid rgba(53,92,84,.42); outline-offset: 4px; border-radius: 4px; }

.home-featured-case { position: relative; background: #fff; }
.home-featured-case__card {
  padding: clamp(30px,4vw,52px);
  border: 1px solid rgba(53,92,84,.15);
  border-radius: var(--radius-lg);
  display: grid;
  grid-template-columns: minmax(0,.88fr) minmax(380px,1.12fr);
  align-items: start;
  gap: clamp(34px,5vw,72px);
  background: linear-gradient(145deg,rgba(255,255,255,.98),rgba(247,242,234,.8) 58%,rgba(231,239,235,.82));
  box-shadow: var(--shadow-md);
}
.home-featured-case__category {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--sage-deep);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .13em;
  line-height: 1.4;
  text-transform: uppercase;
}
.home-featured-case__category::before { content:""; width: 26px; height: 1px; background: currentColor; }
.home-featured-case__intro h3 {
  max-width: 620px;
  margin: 24px 0 0;
  font-family: var(--font-display);
  font-size:var(--type-featured-title);
  font-weight: 500;
  letter-spacing: -.035em;
  text-wrap: balance;
 line-height: 1.06; }
.home-featured-case__intro p {
  max-width: 620px;
  margin: 22px 0 0;
  color: var(--soft);
  font-size: 15px;
  line-height: 1.75;
}
.home-featured-case__details { min-width: 0; }
.home-featured-case__facts { margin: 0; display: grid; }
.home-featured-case__facts>div { padding: 18px 0; border-top: 1px solid var(--line); }
.home-featured-case__facts>div:first-child { padding-top: 0; border-top: 0; }
.home-featured-case__facts dt {
  color: var(--sage-deep);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  line-height: 1.4;
  text-transform: uppercase;
}
.home-featured-case__facts dd { margin: 8px 0 0; color: var(--soft); font-size: 15px; line-height: 1.68; }
.home-featured-case__actions { margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--line); display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }

@media (max-width:1050px) {
  .home-featured-case__card { grid-template-columns: 1fr; gap: 38px; }
  .home-featured-case__facts { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
  .home-featured-case__facts>div,.home-featured-case__facts>div:first-child { padding: 18px; border: 1px solid rgba(53,92,84,.13); border-radius: var(--radius-sm); background: rgba(255,255,255,.72); }
}
@media (max-width:760px) {
  .home-featured-case__facts { grid-template-columns: 1fr; gap: 10px; }
  .home-featured-case__actions .button { flex: 1 1 220px; }
}
@media (max-width:1050px) {
  .article-author-section > .container { grid-template-columns: 1fr; gap: 0; }
}
@media (max-width:620px) {
  .article-author-section { margin-top: -30px; padding-bottom: 56px; }
  .article-author { padding: 20px; grid-template-columns: 52px minmax(0,1fr); gap: 15px; }
  .article-author__mark { width: 52px; height: 52px; }
  .article-author__mark img { width: 40px; height: 40px; }
  .article-author__name { font-size: 18px; }
  .article-author__description { font-size: 13.5px; }
  .home-featured-case__card { padding: 28px 22px; border-radius: var(--radius-md); gap: 30px; }
  .home-featured-case__intro h3 { font-size:var(--type-featured-title); }
  .home-featured-case__actions { display: grid; grid-template-columns: 1fr; }
  .home-featured-case__actions .button { width: 100%; }
}
@media (prefers-reduced-motion:reduce) {
  .article-author__link span { transition: none; }
  .article-author__link:hover span,.article-author__link:focus-visible span { transform: none; }
}

/* ASK ARMONIVO v1.6.14: corrected homepage case action alignment. */
.home-featured-case__actions .button-dark{
  min-height:0;padding:0;border:0;border-radius:0;
  flex:0 0 auto;width:auto;justify-content:flex-start;gap:8px;
  background:none;color:var(--sage-deep);box-shadow:none;font-size:13px;font-weight:800;
}
.home-featured-case__actions .button-dark:hover{
  border-color:transparent;background:none;color:var(--sage-deep);box-shadow:none;transform:none;
}
.home-featured-case__actions .button-dark:focus-visible,
.blog-preview .blog-card>a:not(.blog-card-image):focus-visible,
.blog-preview .blog-card-body>a:focus-visible{outline:2px solid rgba(155,106,54,.62);outline-offset:3px;border-radius:4px}
.home-featured-case__actions .button-dark .button-arrow,
.blog-preview .blog-card>a:not(.blog-card-image)>span[aria-hidden="true"],
.blog-preview .blog-card-body>a>span[aria-hidden="true"]{display:inline-block;font-size:15px;transition:transform .18s ease}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
.home-featured-case__actions .button-dark:hover .button-arrow,
.home-featured-case__actions .button-dark:focus-visible .button-arrow,
.blog-preview .blog-card>a:not(.blog-card-image):hover>span[aria-hidden="true"],
.blog-preview .blog-card>a:not(.blog-card-image):focus-visible>span[aria-hidden="true"],
.blog-preview .blog-card-body>a:hover>span[aria-hidden="true"],
.blog-preview .blog-card-body>a:focus-visible>span[aria-hidden="true"]{transform:translate(3px,-2px)}
}
.home-featured-case__actions .button-light{margin-left:auto}
.home-featured-case__actions .button-light,
.blog-preview .section-action .button-light{min-height:46px;padding-inline:20px}
@media(max-width:620px){.home-featured-case__actions .button-light{margin-left:0}}
@media(prefers-reduced-motion:reduce){
  .home-featured-case__actions .button-dark .button-arrow,
  .blog-preview .blog-card>a:not(.blog-card-image)>span[aria-hidden="true"],
  .blog-preview .blog-card-body>a>span[aria-hidden="true"]{transition:none;transform:none!important}
}

/* ASK ARMONIVO v1.6.14: balanced contact map spacing and refined card type scale. */
.contact-directory-section{padding-top:38px;padding-bottom:0}
.contact-directory-heading{display:grid;grid-template-columns:minmax(0,.9fr) minmax(280px,.7fr);align-items:end;gap:36px;margin-bottom:28px}
.contact-directory-heading .eyebrow{margin-bottom:10px}
.contact-directory-heading .section-title{margin:0;max-width:720px}
.contact-directory-heading>p{margin:0;color:#665f57;font-size:17px;line-height:1.72}
.contact-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.contact-directory-card{position:relative;min-width:0;padding:28px;border:1px solid rgba(53,92,84,.16);border-radius:26px;background:linear-gradient(145deg,rgba(255,255,255,.98) 0%,rgba(251,248,242,.97) 56%,rgba(238,243,241,.93) 100%);box-shadow:0 22px 52px rgba(60,53,45,.08);overflow:hidden}
.contact-directory-card::after{content:"";position:absolute;right:-54px;bottom:-74px;width:170px;height:170px;border-radius:50%;border:1px solid rgba(155,106,54,.12);pointer-events:none}
.contact-directory-card-label{position:relative;z-index:1;margin:0 0 18px;color:#355c54;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.contact-directory-card-icon{position:relative;z-index:1;width:42px;height:42px;margin-bottom:20px;border:1px solid rgba(53,92,84,.13);border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.72);color:#355c54}
.contact-directory-card-icon svg,.contact-directory-icon svg,.contact-directory-button-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.contact-directory-channels{position:relative;z-index:1;display:grid;gap:10px}
.contact-directory-channel{min-height:66px;padding:11px 14px;border:1px solid rgba(53,92,84,.14);border-radius:17px;display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.68);color:#304f48;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}
a.contact-directory-channel:hover{border-color:rgba(53,92,84,.3);background:#fff;box-shadow:0 12px 26px rgba(60,72,66,.09)}
.contact-directory-channel:focus-visible,.contact-directory-open:focus-visible{outline:2px solid rgba(155,106,54,.62);outline-offset:3px}
.contact-directory-channel-static{cursor:default}
.contact-directory-icon{width:38px;height:38px;flex:0 0 38px;border:1px solid rgba(53,92,84,.1);border-radius:50%;display:grid;place-items:center;background:#f2f6f3;color:#355c54}
.contact-directory-channel > span:last-child{min-width:0;display:grid;gap:2px}
.contact-directory-channel small{color:#766e65;font-size:11px;line-height:1.25}
.contact-directory-channel strong{overflow-wrap:anywhere;font-size:14px;line-height:1.35}
.contact-directory-open{position:relative;z-index:1;width:100%;margin-top:14px;justify-content:center;gap:9px}
.contact-directory-button-icon{width:20px;height:20px;display:grid;place-items:center}
.contact-directory-hours{position:relative;z-index:1;margin:0;display:grid}
.contact-directory-row{padding:15px 0;border-bottom:1px solid rgba(53,92,84,.12);display:flex;align-items:center;justify-content:space-between;gap:16px}
.contact-directory-row:first-child{padding-top:2px}
.contact-directory-row:last-child{border-bottom:0;padding-bottom:0}
.contact-directory-row dt{color:#45413c;font-size:15px;font-weight:700}
.contact-directory-row dd{margin:0;color:#355c54;font-size:15px;font-weight:700;text-align:right}
.contact-directory-offices{position:relative;z-index:1;display:grid;gap:18px}
.contact-directory-office{display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;align-items:start}
.contact-directory-office+.contact-directory-office{padding-top:18px;border-top:1px solid rgba(53,92,84,.12)}
.contact-directory-office h3{margin:2px 0 5px;color:#2f514a;font-size:18px;line-height:1.25}
.contact-directory-office p,.contact-directory-office address{margin:0;color:#665f57;font-size:13px;line-height:1.58;font-style:normal}
.contact-directory-office .contact-directory-note{margin-bottom:3px;color:#7a7167;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.contact-directory-map{position:relative;z-index:1;margin-top:24px;border:1px solid rgba(53,92,84,.16);border-radius:26px;background:#eef3f1;box-shadow:0 22px 52px rgba(60,53,45,.08);overflow:hidden}
.contact-directory-map iframe{width:100%;height:clamp(320px,34vw,450px);border:0;display:block;background:#eef3f1}
.contact-directory-section+.section{padding-top:64px}
@media(max-width:1080px){.contact-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-directory-card-channels{grid-column:1/-1}.contact-directory-card-offices,.contact-directory-card-hours{grid-column:auto}}
@media(max-width:760px){.contact-directory-section{padding-top:24px;padding-bottom:0}.contact-directory-heading{grid-template-columns:1fr;gap:15px;margin-bottom:22px}.contact-directory-heading>p{font-size:15px;line-height:1.65}.contact-directory-grid{grid-template-columns:1fr;gap:14px}.contact-directory-card,.contact-directory-card-channels,.contact-directory-card-offices,.contact-directory-card-hours{grid-column:auto;grid-row:auto;padding:22px;border-radius:22px}.contact-directory-channel{min-height:61px}.contact-directory-channel strong{font-size:14px}.contact-directory-row dt,.contact-directory-row dd{font-size:14px}.contact-directory-office h3{font-size:17px}.contact-directory-map{margin-top:16px;border-radius:22px}.contact-directory-map iframe{height:clamp(270px,76vw,340px)}.contact-directory-section+.section{padding-top:40px}}
@media(hover:none) and (pointer:coarse){.contact-directory-channel,.contact-directory-open{-webkit-tap-highlight-color:transparent}a.contact-directory-channel:active{transform:scale(.99)}.contact-directory-open:active{transform:scale(.97)}}
@media(prefers-reduced-motion:reduce){.contact-directory-channel,.contact-directory-open{transition:none}a.contact-directory-channel:active,.contact-directory-open:active{transform:none}}


/* ASK ARMONIVO v1.6.16: aligned contact headings and centred mobile case action. */
.contact-directory-card-heading{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;margin-bottom:18px}
.contact-directory-card-heading>.contact-directory-card-label{margin:0;min-width:0}
.contact-directory-card-heading>.contact-directory-card-icon{flex:0 0 42px;margin:0}
@media(max-width:620px){
 .home-featured-case__actions .button-dark{justify-self:center;justify-content:center;margin-inline:auto}
}


/* ASK ARMONIVO 1.6.18 STABILIZATION */
:where(
    .project-modal,
    .contact-modal,
    .ask-contact-form,
    .contact-form,
    [data-contact-form]
) :where(input, textarea, select) {
    font-size: 16px;
}

:where(
    .project-modal,
    .contact-modal,
    .ask-contact-form,
    .contact-form,
    [data-contact-form]
) :where(input, textarea)::placeholder {
    color: #665f56;
    opacity: 1;
}

:where(
    .ask-honeypot,
    .form-honeypot,
    .hp-field,
    [data-honeypot]
) {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
    left: auto !important;
    right: auto !important;
}

@media (max-width: 760px) {
    :where(
        .project-modal,
        .contact-modal,
        .ask-contact-form,
        .contact-form,
        [data-contact-form]
    ) :where(input, textarea, select) {
        font-size: 16px;
    }
}

/* ASK ARMONIVO HeroRow 1.0.0: homepage proof items share one row. */
@media (min-width: 621px) {
  body.route- .hero.hero-networked .hero-proof {
    flex-wrap: nowrap;
    column-gap: 8px;
  }
  body.route- .hero.hero-networked .hero-proof > .proof-item {
    min-width: 0;
    gap: 4px;
  }
  body.route- .hero.hero-networked .hero-proof .proof-check {
    flex: 0 0 18px;
  }
}

/* Preserve the label styling after FAQ/offers navigation heading cleanup. */
.about-page-switcher .about-page-switcher-title,
.ask-remaining-content-v100 .about-page-switcher .about-page-switcher-title {
  margin:0; color:inherit; font-family:var(--font-ui); font-size:13px; font-weight:700; line-height:1.4;
}

@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .button:hover { transform:translateY(-2px); }
  .button:hover .button-arrow { transform:translateX(3px); }
  .feature-card:hover { transform:translateY(-5px); }
  .solution-card:hover { transform:translateY(-4px); }
  .service-card:hover { transform:translateY(-5px); }
  .case-more:hover i,.case-more:focus-visible i { transform:translate(3px,-2px); }
  .blog-card:hover { transform:translateY(-5px); }
  .blog-card-with-image:hover .blog-card-image img { transform:scale(1.025); }
  .project-modal-close:hover { transform:rotate(6deg); }
  .footer-socials a:hover { transform:translateY(-2px); }
  .back-to-top:hover { transform:translateY(-3px) scale(1); }
  .technology-card:hover,.technology-card:focus-within { transform:translateY(-4px); }
  .technology-card:hover .technology-card-arrow,.technology-card:focus-within .technology-card-arrow { transform:translate(3px,-2px); }
  .article-author__link:hover span,.article-author__link:focus-visible span { transform:translate(2px,-2px); }
  a.contact-directory-channel:hover { transform:translateY(-2px); }
  .page-type-blog .blog-card>a:not(.blog-card-image):hover>span[aria-hidden="true"],.page-type-blog .blog-card>a:not(.blog-card-image):focus-visible>span[aria-hidden="true"],.page-type-blog .blog-card-body>a:hover>span[aria-hidden="true"],.page-type-blog .blog-card-body>a:focus-visible>span[aria-hidden="true"] { transform:translate(3px,-2px); }
  .about-page-switcher a:hover,.about-page-switcher a:focus-visible,.about-page-switcher a[aria-current="page"] { transform:translateY(-3px); }
}
@media (prefers-reduced-motion:reduce) {
  .technology-card:hover,.technology-card:focus-within,
  .technology-card:hover .technology-card-arrow,.technology-card:focus-within .technology-card-arrow,
  .case-more:hover i,.case-more:focus-visible i,
  .about-page-switcher a:focus-visible,.about-page-switcher a[aria-current="page"],
  .listing-pagination a:hover,a.contact-directory-channel:hover { transform:none; }
}

/* Mobile/tablet type and rhythm approach the original values at 1024px.
   Larger viewports retain the approved desktop layout and type composition. */
@media (max-width:1024px) {
  :root {
    --type-h1: clamp(2.25rem, calc(1.625rem + 2.761vw), 3.392rem);
    --type-page-h1: clamp(2.25rem, calc(1.65rem + 2.622vw), 3.328rem);
    --type-article-h1: clamp(2rem, calc(1.625rem + 2.461vw), 3.2rem);
    --type-h2: clamp(2rem, calc(1.75rem + 1.466vw), 2.688rem);
    --type-content-h2: clamp(1.875rem, calc(1.625rem + 1.461vw), 2.56rem);
    --type-seo-h2: var(--type-content-h2);
    --type-featured-title: var(--type-h2);
    --type-article-h2: var(--type-content-h2);
    --type-cta: clamp(2rem, calc(1.625rem + 2.461vw), 3.2rem);
    --type-panel-h2: clamp(2rem, calc(1.625rem + 1.461vw), 2.56rem);
    --type-architecture-h2: var(--type-panel-h2);
    --type-modal-h2: clamp(1.875rem, calc(1.5rem + 2.657vw), 3.2rem);
    --type-card-title: clamp(1.375rem, calc(1.25rem + .78125vw), 1.75rem);
    --type-solution-title: clamp(1.375rem, calc(1.25rem + .9765625vw), 1.875rem);
    --space-section: clamp(3.75rem, 9.375vw, 6rem);
    --space-section-compact: clamp(2.75rem, 6.640625vw, 4.25rem);
    --space-heading: clamp(1.75rem, 4.296875vw, 2.75rem);
    --space-content: clamp(2.25rem, 6.25vw, 4rem);
    --space-lead: clamp(1.25rem, 2.9296875vw, 1.875rem);
    --space-actions: clamp(1.5rem, 3.515625vw, 2.25rem);
  }
  .section { padding:var(--space-section) 0; }
  .section-compact { padding:var(--space-section-compact) 0; }
  .section-head { margin-bottom:var(--space-heading); }
  .content-block+.content-block { margin-top:var(--space-content); }
  .service-catalog { gap:var(--space-content); }
  .hero-lead,.page-lead { margin-top:var(--space-lead); }
  .page-hero .page-lead,.article-hero .page-lead { margin-top:clamp(1.25rem, 2.34375vw, 1.5rem); }
  .hero-actions { margin-top:var(--space-actions); }
  .page-hero .hero-actions { margin-top:clamp(1.5rem, 3.125vw, 2rem); }
  .feature-card p,.solution-card>p,.service-card>p,.case-teaser-grid p,.process-row p,
  .security-panel p,.architecture-panel p,.cta-panel p,.home-featured-case__intro p,
  .home-featured-case__facts dd,.blog-card p { font-size:1rem; }
}
@media (max-width:760px) {
  .hero h1,.page-hero h1 { line-height:1.07; }
  .article-hero h1 { line-height:1.1; }
  .section-title,.cta-panel h2 { line-height:1.1; }
  .content-block h2,.seo-panel h2,.article-content h2,.case-card h2,.case-verification-panel h2,
  .security-panel h2,.architecture-panel h2,.service-boundary h2,.project-modal-intro h2 { line-height:1.14; }
  .solution-card h3,.service-card h3 { line-height:1.22; }
}

/* Bundled original admin runtime */
:root{--ask-floating-actions-center-right:calc(clamp(18px,2.4vw,38px) + 30px);--ask-floating-actions-base-bottom:clamp(16px,2.4vw,34px);--ask-floating-actions-back-size:52px;--ask-floating-actions-back-radius:26px;--ask-floating-actions-widget-size:60px;--ask-floating-actions-widget-radius:30px;--ask-floating-actions-gap:clamp(12px,1vw,18px)}
.ask-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.ask-contact-widget-wrap{position:fixed;z-index:58;right:calc(var(--ask-floating-actions-center-right,68px) - var(--ask-floating-actions-widget-radius,30px));bottom:calc(var(--ask-floating-actions-base-bottom,34px) + var(--ask-floating-actions-back-size,52px) + var(--ask-floating-actions-gap,16px))}
.ask-contact-widget-trigger{width:var(--ask-floating-actions-widget-size,60px);height:var(--ask-floating-actions-widget-size,60px);padding:0;border:1px solid rgba(53,92,84,.24);border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#ece9dc 0%,#e6e2d3 50%,#dbe3dc 100%);background-size:160% 100%;color:#304f48;box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 14px 30px rgba(65,75,69,.14);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-position .28s ease}
.ask-contact-widget-trigger:hover{transform:translateY(-2px);border-color:rgba(53,92,84,.38);background-position:100% 0;color:#25433d;box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 18px 38px rgba(65,75,69,.18)}
.ask-contact-widget-trigger:focus-visible{outline:2px solid rgba(155,106,54,.62);outline-offset:4px}
.ask-contact-widget-trigger svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ask-contact-widget{position:absolute;right:0;bottom:calc(100% + 14px);width:min(310px,calc(100vw - 36px));padding:16px;border:1px solid rgba(53,92,84,.16);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.99) 0%,rgba(251,248,242,.98) 58%,rgba(238,243,241,.96) 100%);box-shadow:0 26px 68px rgba(44,35,25,.2);backdrop-filter:blur(14px)}
.ask-contact-widget[hidden]{display:none}.ask-contact-widget-head{min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 2px 10px}.ask-contact-widget-head strong{font-size:15px;color:#304f48}
.ask-contact-widget-close{width:38px;height:38px;padding:0;border:1px solid rgba(53,92,84,.12);border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.78);color:#3f514c;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.82);transition:border-color .18s ease,background .18s ease,transform .18s ease}.ask-contact-widget-close:hover{border-color:rgba(53,92,84,.26);background:#fff;transform:rotate(4deg)}.ask-contact-widget-close:focus-visible{outline:2px solid #355c54;outline-offset:2px}.ask-contact-widget-close-icon{width:16px;height:16px;display:block;overflow:visible}.ask-contact-widget-close-icon path{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;vector-effect:non-scaling-stroke}
.ask-contact-widget-links{display:grid;gap:8px}.ask-contact-widget-links a{min-height:48px;padding:8px 12px;border:1px solid rgba(53,92,84,.18);border-radius:15px;display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,#fbfaf6 0%,#ece9dc 56%,#eef3f1 100%);background-size:160% 100%;color:#304f48;text-decoration:none;font-size:14px;font-weight:700;line-height:1.35;box-shadow:inset 0 1px 0 rgba(255,255,255,.72);transition:border-color .18s ease,background-position .28s ease,transform .18s ease,box-shadow .18s ease}.ask-contact-widget-links a:hover{border-color:rgba(53,92,84,.34);background-position:100% 0;transform:translateX(-1px);box-shadow:0 8px 20px rgba(65,75,69,.08)}.ask-contact-widget-links a:focus-visible{outline:2px solid #355c54;outline-offset:2px}
.ask-contact-channel-icon{width:32px;height:32px;flex:0 0 32px;border:1px solid rgba(53,92,84,.08);border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.68);color:#355c54}.ask-contact-channel-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:760px){:root{--ask-floating-actions-center-right:44px;--ask-floating-actions-base-bottom:calc(16px + env(safe-area-inset-bottom,0px));--ask-floating-actions-back-size:52px;--ask-floating-actions-back-radius:26px;--ask-floating-actions-widget-size:56px;--ask-floating-actions-widget-radius:28px;--ask-floating-actions-gap:14px}.ask-contact-widget-trigger svg{width:29px;height:29px}.ask-contact-widget{width:min(300px,calc(100vw - 32px))}.ask-contact-widget-links a{font-size:13.5px}}
.ask-contact-map{margin:32px auto;padding:22px;border:1px solid rgba(53,92,84,.16);border-radius:22px;display:grid;gap:16px;background:#fff}.ask-contact-map button,.ask-contact-map>a{justify-self:start;min-height:44px;padding:11px 16px;border:1px solid rgba(53,92,84,.22);border-radius:999px;background:#fff;color:#304f48;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}.ask-contact-map iframe{width:100%;min-height:360px;border:0;border-radius:16px}.ask-structured-section{padding-block:72px}.ask-structured-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ask-structured-grid article{padding:24px;border:1px solid rgba(53,92,84,.14);border-radius:20px;background:#fff}.ask-structured-grid h3{margin:0 0 12px}.ask-structured-grid p{margin:0;line-height:1.7}@media(max-width:760px){.ask-contact-map iframe{min-height:280px}.ask-structured-grid{grid-template-columns:1fr}}

@media(max-width:620px){:root{--ask-floating-actions-center-right:44px;--ask-floating-actions-base-bottom:calc(14px + env(safe-area-inset-bottom,0px));--ask-floating-actions-back-size:46px;--ask-floating-actions-back-radius:23px;--ask-floating-actions-widget-size:56px;--ask-floating-actions-widget-radius:28px;--ask-floating-actions-gap:20px}}

/* ASK ARMONIVO v1.6.6: contact widget touch response */
@media (hover:none) and (pointer:coarse) {
  .ask-contact-widget-trigger,
  .ask-contact-widget-close {
    transform-origin:center;
  }

  .ask-contact-widget-trigger:active,
  .ask-contact-widget-close:active {
    transform:scale(.97);
  }

  .ask-contact-widget-links a:active {
    background-position:100% 0;
    transform:scale(.99);
  }
}

@media (prefers-reduced-motion:reduce) {
  .ask-contact-widget-trigger:active,
  .ask-contact-widget-close:active,
  .ask-contact-widget-links a:active {
    transform:none!important;
  }
}

/* Bundled original link spacing */
/* Spacing remains present when the structured editor trims arrow text. */
.ask-remaining-links > a > span:last-child,
.technology-card > a > span:last-child {
  display: inline-block;
  margin-inline-start: .4em;
  white-space: nowrap;
}

/* Align the ASK Sans plus glyph with the centre of its lining numerals. */
.topline-contacts .ask-phone-sign {
  position: relative;
  top: -.12em;
}

/* ASK ARMONIVO FormPhoneFix 1.0.0: compact field text and stable phone signs. */
.project-field input,
.project-field textarea {
  font-size: .9375rem;
}
.project-field input::placeholder,
.project-field textarea::placeholder {
  font-size: inherit;
}

/* Keep touch WebKit input text large enough to avoid focus zoom.
   Placeholders keep the requested compact appearance. */
@supports (-webkit-touch-callout: none) {
  @media (pointer: coarse) {
    .project-field input,
    .project-field textarea {
      font-size: max(1rem, 16px);
    }
    .project-field input::placeholder,
    .project-field textarea::placeholder {
      font-size: .9375rem;
    }
  }
}

/* Both classes are emitted by the shared renderers in all five languages.
   The contact renderer has an older inline position/top adjustment. */
.topline-contacts .ask-phone-sign,
.contact-directory-channel .ask-contact-phone-sign {
  display: inline !important;
  position: static !important;
  top: auto !important;
  vertical-align: baseline;
  transform: none;
  transition: none;
}

/* ASK ARMONIVO PhoneOpticalFix 1.0.0.
   ASK Sans outlines: the plus centre is ~121/1000 em below numeral centres.
   Keep FormPhoneFix's inline display/no-transition; lift only glyph painting. */
.topline-contacts .ask-phone-sign,
.contact-directory-channel .ask-contact-phone-sign {
  position: relative !important;
  top: -.121em !important;
}

/* One underline belongs to the complete phone link, not the lifted span. */
.topline-contacts a[href^="tel:"] {
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 0 1px;
}
.topline-contacts a[href^="tel:"]:hover,
.topline-contacts a[href^="tel:"]:focus-visible {
  text-decoration: none;
  background-size: 100% 1px;
}

/* Visible service destination on the three homepage solution cards. */
.solution-grid > a.solution-card {
  display: flex;
  flex-direction: column;
}
.solution-grid > a.solution-card > .solution-list {
  margin-bottom: 24px;
}
.solution-card > .solution-card__more {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid var(--line);
  color: var(--sage-deep);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.5;
}
.solution-card__more > span[aria-hidden="true"] {
  flex: none;
  font-size: 15px;
}

/* ASK ARMONIVO Card Arrow Motion 1.0.0: shared homepage card action. */
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .solution-grid > a.solution-card > .solution-card__more > .solution-card__more-arrow {
    display: inline-block;
    transition: transform .18s ease;
  }

  .solution-grid > a.solution-card:hover > .solution-card__more > .solution-card__more-arrow,
  .solution-grid > a.solution-card:focus-visible > .solution-card__more > .solution-card__more-arrow {
    transform: translate(3px, -2px);
  }
}

/* ASK ARMONIVO Mobile Hero Fix 1.0.0: a continuous, content-sized mobile hero. */
@media (max-width:760px) {
  .hero.hero-networked,
  .page-hero.hero-networked,
  .article-hero.hero-networked {
    background:linear-gradient(180deg,#f1f7fa 0%,#f7fafc 42%,#fff 100%);
  }
  .hero-networked > .signal-scene > .signal-mist-layer {
    display:none;
  }
  .hero-networked > .signal-scene > .signal-network-layer {
    opacity:.14;
  }
}
@media (max-width:620px) {
  .hero.hero-networked { padding-top:44px; padding-bottom:44px; }
  .page-hero.hero-networked,
  .article-hero.hero-networked { padding-top:38px; padding-bottom:38px; }
  .hero-networked .eyebrow { margin-bottom:16px; }
  .hero-networked .hero-lead,
  .hero-networked .page-lead { margin-top:18px; }
  .hero-networked .hero-actions { margin-top:24px; }
  .hero-networked .hero-proof { margin-top:32px; padding-top:20px; }
}

/* ASK ARMONIVO Mobile Header Alignment 1.0.0. */
@media (max-width:1050px) {
  .site-header .language-trigger,
  .site-header .mobile-trigger {
    box-sizing:border-box;
    height:44px;
    min-height:44px;
    padding-top:0;
    padding-bottom:0;
    display:flex;
    align-items:center;
    justify-content:center;
    line-height:1;
  }
  .site-header .language-trigger .language-code {
    position:static;
    inset:auto;
    display:block;
    line-height:1;
    transform:none;
  }
  @supports (mask-image:linear-gradient(#000,#000)) or (-webkit-mask-image:linear-gradient(#000,#000)) {
    .site-header .mobile-trigger { font-size:0; }
    .site-header .mobile-trigger::before {
      content:"";
      display:block;
      flex:none;
      width:18px;
      height:18px;
      background-color:currentColor;
      -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 6h18M3 12h18M3 18h18' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
      mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 6h18M3 12h18M3 18h18' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
    }
  }
  @media (forced-colors:active) {
    .site-header .mobile-trigger { font-size:18px; }
    .site-header .mobile-trigger::before { content:none; display:none; }
  }
}

/* ASK Sans capitals sit above the line-box center. Their outline metrics
   require 0.124em (RU/UK) to 0.1355em (EN/BE/PL) of optical correction. */
@media (max-width:1050px) {
  .site-header .language-trigger .language-code {
    transform:translateY(.13em);
  }
}
