/* Interoperia storefront — corporate site (ip-w5-corporate-site-visual-end-state-r5).
   Tokens: INTEROPERIA_PRODUCT_UI_STANDARD §2. Layout: 12-column, 1320px max content, 40px desktop / 20px phone gutters.
   Visual system: the Interoperia O — two interlocking halves (blue + cyan) — is the map of connected systems
   (hero/solutions orbit), the ring mark, the product system strip and the approach line. Editorial rhythm:
   hairline indexes and asymmetric 4/8 columns instead of repeated bordered card grids.
   Type + spacing scale (ip-corporate-compact-first-screen-correction-20260929), one scale for every public template:
   home hero H1 64px (unchanged, owner-approved) | page H1 44px | H2 32px | H3 / card / row title 22px | lead 18px | body 17px |
   small 15px | label 13px (sans, uppercase, never below 13px) | price 32px. Every step is a clamp() so phone sizes
   (H1 32 / H2 26 / H3 20 / lead 17 / price 28) follow without arbitrary jumps. Section rhythm 72px (56 tablet, 40 phone),
   tight sections 32px, page-hero 40px. */
:root{--navy:#061b36;--navy-deep:#03152c;--blue:#0b54a0;--blue-deep:#06367e;--cyan:#27b4e8;--ink:#10243b;--muted:#5d7085;--line:#d9e4ee;--line-strong:#c7d8e6;--soft:#f4f8fc;--page:#f7faff;--ok:#08765d;--warn:#9a5d00;--danger:#a33b43;--focus:#0793c9;--r-sm:10px;--r:18px;--r-lg:28px;--shadow:0 24px 70px rgba(6,27,54,.12);--gutter:40px;--row-x:20px;--maxw:1320px;--sec:56px;--sec-tight:28px;--head:76px;--fs-h1:clamp(2rem,1.4rem + 1.9vw,2.75rem);--fs-h2:clamp(1.625rem,1.25rem + 1.1vw,2rem);--fs-h3:clamp(1.25rem,1.1rem + .5vw,1.375rem);--fs-lead:clamp(1.0625rem,1rem + .25vw,1.125rem);--fs-body:1.0625rem;--fs-sm:.9375rem;--fs-label:.8125rem;--fs-price:clamp(1.75rem,1.5rem + 1vw,2rem);--on-dark:#c3d3e2;--cyan-text:#68d2f4;--deep-bg:radial-gradient(820px 560px at 76% 46%,#0f3d70 0,rgba(15,61,112,0) 72%),linear-gradient(160deg,#061b36 0,#03152c 100%)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html,body{height:100%}
body{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;margin:0;color:var(--ink);background:#fff;font:400 17px/1.6 Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
#main{flex:1 0 auto}footer{flex-shrink:0}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
[hidden]{display:none!important}
button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}
.wrap{width:min(var(--maxw),calc(100% - 2*var(--gutter)));margin-inline:auto;min-width:0}
.narrow{max-width:830px}
.skip{position:fixed;left:16px;top:-80px;z-index:100;padding:12px 16px;color:#fff;background:var(--navy);border-radius:8px}.skip:focus{top:16px}

/* ---------- Header ---------- */
.header{position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(217,228,238,.9);background:rgba(255,255,255,.96);backdrop-filter:blur(16px);box-shadow:0 1px 0 rgba(6,27,54,.04)}
.navrow{min-height:var(--head);display:flex;align-items:center;gap:18px}
.brand{flex:none;display:block;padding:6px 0}.brand img{width:204px}
.nav{flex:1;display:flex;align-items:center;gap:8px;min-width:0;font-size:15px}
.navmain,.navutil{display:flex;align-items:center;gap:2px}
.navutil{margin-left:auto;padding-left:10px;border-left:1px solid var(--line)}
.navlink{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:8px 11px;border-radius:9px;font-weight:650;white-space:nowrap;color:var(--ink)}
.navlink:hover,.navgroup.open>.navlink{color:var(--blue);background:var(--soft)}
.navlink[aria-current=page]{color:var(--blue)}
.navlink[aria-current=page]::after{content:"";position:absolute;left:11px;right:11px;bottom:4px;height:2px;border-radius:2px;background:var(--blue)}
.navgroup{position:relative;display:flex;align-items:center}
.navtoggle{display:inline-grid;place-items:center;width:28px;height:40px;margin-left:-8px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--navy)}
.navtoggle:hover{color:var(--blue)}
.chev{transition:transform .18s}.navgroup.open .navtoggle .chev,.langs[open] summary .chev{transform:rotate(180deg)}
.navpanel{display:none;position:absolute;left:0;top:calc(100% + 10px);z-index:60;width:720px;padding:18px;border:1px solid var(--line);border-radius:var(--r);background:#fff;box-shadow:var(--shadow);grid-template-columns:1.25fr 1fr;gap:18px}
.navgroup.open .navpanel{display:grid}
.navpanel-side{padding-left:18px;border-left:1px solid var(--line)}
.navhead{margin:4px 12px 8px;color:var(--muted);font-size:var(--fs-label);font-weight:700;line-height:1.2;letter-spacing:.08em;text-transform:uppercase}
.navpanel-side .navhead+.navitem{margin-top:0}.navpanel-side .navitem+.navhead{margin-top:14px}
.navitem{display:block;padding:10px 12px;border-radius:10px}
.navitem:hover{background:var(--soft)}
.navitem strong{display:block;font-size:15px;font-weight:650;line-height:1.35}
.navitem small{display:block;margin-top:2px;color:var(--muted);font-size:14px;line-height:1.4}
.navall{display:block;margin-top:8px;padding:12px;border-top:1px solid var(--line);color:var(--blue);font-weight:700}
.nav-cta{display:inline-flex;align-items:center;min-height:44px;padding:10px 17px;color:#fff;background:var(--blue);border-radius:var(--r-sm);font-size:15px;font-weight:700;white-space:nowrap;box-shadow:0 8px 20px rgba(11,84,160,.2)}
.nav-cta:hover{background:#0a4a8e}
.nav-cta-m{display:none}
.langs{position:relative;flex:none}
.langs summary{display:flex;align-items:center;gap:7px;min-height:44px;padding:8px 11px;border:1.5px solid #b7cde0;border-radius:11px;background:#fff;color:var(--navy);font-size:14px;font-weight:700;cursor:pointer;list-style:none;white-space:nowrap}
.langs summary::-webkit-details-marker{display:none}
.langs summary:hover,.langs[open] summary{border-color:var(--blue);box-shadow:0 0 0 3px rgba(11,84,160,.1)}
.langs .globe{color:var(--blue);flex:none}.langs .chev{flex:none;color:#4d6a86}
.langs .langpanel{display:none;position:absolute;right:0;top:calc(100% + 8px);z-index:70;width:min(380px,calc(100vw - 40px));padding:10px;grid-template-columns:1fr 1fr;gap:2px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow)}
.langs[open] .langpanel{display:grid}
.langhead{grid-column:1/-1;margin:2px 6px 6px;padding-bottom:8px;border-bottom:1px solid var(--line);color:var(--muted);font-size:var(--fs-label);font-weight:700;line-height:1;letter-spacing:.08em;text-transform:uppercase}
.langs .langpanel a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:9px 11px;border-radius:8px;font-size:15px;font-weight:600}
.langs .langpanel a:hover{background:var(--soft);color:var(--blue)}
.langs .langpanel a i{color:var(--muted);font-size:var(--fs-label);font-weight:700;line-height:1;font-style:normal}
.langs .langpanel a[aria-current=true]{color:var(--blue);background:var(--soft);font-weight:800}
.menub{display:none}

/* ---------- Shared type & controls ---------- */
.kicker{margin:0 0 10px;color:var(--blue);font-size:var(--fs-label);font-weight:700;line-height:1.3;letter-spacing:.08em;text-transform:uppercase}
h1,h2,h3{color:var(--ink);text-wrap:balance}
:lang(ja) :is(h1,h2,h3,.statement,.orbit-node){word-break:auto-phrase}
.hero h1{margin:0;font-size:clamp(2.375rem,1.2rem + 3.4vw,4rem);line-height:1.07;letter-spacing:-.035em;font-weight:700}
.pagehero h1,.producthero h1{margin:0;max-width:940px;font-size:var(--fs-h1);line-height:1.12;letter-spacing:-.025em;font-weight:700}
.lead{max-width:720px;margin:12px 0 0;color:var(--muted);font-size:var(--fs-lead);line-height:1.55}
.hero .lead{margin-top:24px;font-size:1.1875rem;line-height:1.65}
.sectionhead{display:flex;align-items:end;justify-content:space-between;gap:24px 32px;margin-bottom:24px}
.sectionhead h2,.split-corp h2,.closing h2{margin:0;max-width:800px;font-size:var(--fs-h2);line-height:1.15;letter-spacing:-.025em;font-weight:700}
.sidelead{max-width:460px;margin:0;color:var(--muted);line-height:1.7}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.hero .actions{margin-top:36px}
.primary,.secondary{min-height:46px;display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border-radius:var(--r-sm);font-size:16px;font-weight:700;text-align:center}
.hero .primary,.hero .secondary{min-height:50px;padding:12px 22px}
.primary{color:#fff;background:var(--blue);border:1px solid var(--blue);box-shadow:0 8px 20px rgba(11,84,160,.18)}
.primary:hover{background:#0a4a8e}
.secondary{color:var(--blue);border:1px solid #b9d0e4;background:#fff}
.secondary:hover{border-color:var(--blue)}
.arrow{color:var(--blue);font-weight:700;white-space:nowrap}
.linkrow .arrow{max-width:100%;white-space:normal;overflow-wrap:break-word}
.arrow:hover{text-decoration:underline;text-underline-offset:4px}
.go{color:var(--blue);font-size:20px;line-height:1;font-weight:700}
.note{margin:20px 0 0;color:var(--muted);font-size:var(--fs-sm);line-height:1.6}
.section{padding:var(--sec) 0}
.section.tight{padding:var(--sec-tight) 0 calc(var(--sec) - 16px)}
.section.alt.tight{padding:calc(var(--sec) - 24px) 0}
.pagehero.compact+.section,.producthero+.section{padding-top:var(--sec-tight)}
.section.alt{background:var(--page);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section.alt+.section,.section+.section.alt{border-top:0}
.linkrow{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:20px}

/* ---------- Dark brand surfaces (home hero, Solutions, category, Company) ---------- */
.hero.corp,.pagehero.deep{position:relative;overflow:hidden;color:#fff;background:var(--deep-bg);border-bottom:0}
.hero.corp{padding:52px 0 60px}
.pagehero.deep{padding:40px 0 44px}
.hero.corp h1,.deep h1{color:#fff}
.hero.corp .kicker,.deep .kicker{color:var(--cyan-text)}
.hero.corp .lead,.deep .lead{color:var(--on-dark)}
.hero.corp .primary,.deep .primary{border-color:#3f86d0;box-shadow:0 14px 34px rgba(0,0,0,.28)}
.hero.corp .secondary,.deep .secondary{color:#fff;background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.5)}
.hero.corp .secondary:hover,.deep .secondary:hover{border-color:#fff;background:rgba(255,255,255,.1)}
.deep .crumb{color:#a9bccf}.deep .crumb a{color:var(--cyan-text)}
.hero-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:center}
.hero-copy{grid-column:1/7;padding-right:12px}

/* ---------- Interoperability map (the O with the six approved solution areas) ---------- */
.orbit{grid-column:7/13;min-width:0;margin:0}
.orbit figcaption{display:flex;justify-content:space-between;gap:16px;padding:0 4px 4px;color:#8fb3d3;font:750 13px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em;text-transform:uppercase}
.orbit figcaption i{color:var(--cyan-text);font-style:normal}
.orbit-stage{position:relative;aspect-ratio:640/480;container-type:inline-size}
.orbit-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.ring{fill:none}
.ring.r3{stroke:rgba(255,255,255,.08);stroke-width:1}
.ring.r2{stroke:rgba(39,180,232,.42);stroke-width:1.2;stroke-dasharray:2 7}
.ring.r1{stroke:rgba(39,180,232,.2);stroke-width:1}
.wire{fill:none;stroke:url(#wire);stroke-width:1.7;stroke-opacity:.8;stroke-linecap:round}
.dot{fill:var(--cyan);stroke:#071f3d;stroke-width:3.5}
.orbit-core{position:absolute;left:50%;top:50%;width:20.6cqw;aspect-ratio:1;transform:translate(-50%,-50%);display:grid;place-items:center;border-radius:50%;background:#fff;box-shadow:0 0 0 1.8cqw rgba(39,180,232,.13),0 0 0 4cqw rgba(39,180,232,.05),0 22px 60px rgba(0,0,0,.4)}
.orbit-core img{width:62%;height:auto}
.orbit-node{position:absolute;display:flex;align-items:baseline;gap:8px;width:max-content;max-width:29.5cqw;color:#fff;font-size:clamp(13.5px,2.45cqw,15.5px);font-weight:650;line-height:1.28;transform:translateY(-50%);hyphens:auto;hyphenate-limit-chars:10 5 5;overflow-wrap:break-word;border-radius:6px}
.orbit-node i{flex:none;color:var(--cyan-text);font:750 13px/1 ui-monospace,SFMono-Regular,Menlo,monospace;font-style:normal;letter-spacing:.04em}
.orbit-node.l{flex-direction:row-reverse;text-align:right}
.orbit-node:hover span{color:var(--cyan-text);text-decoration:underline;text-underline-offset:4px}
.orbit-node.is-current span{color:var(--navy);background:var(--cyan-text);padding:3px 8px;border-radius:7px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.orbit-node.n1{right:calc(67.66% + 14px);top:33.54%}.orbit-node.n2{right:calc(71.56% + 14px);top:50%;max-width:26cqw}.orbit-node.n3{right:calc(67.66% + 14px);top:66.46%}
.orbit-node.n4{left:calc(67.66% + 14px);top:33.54%}.orbit-node.n5{left:calc(71.56% + 14px);top:50%;max-width:26cqw}.orbit-node.n6{left:calc(67.66% + 14px);top:66.46%}
/* Russian area labels break between whole words only (no "финан-совые") */
:lang(ru) .orbit-node{hyphens:manual}

/* ---------- Ring mark (brand O at scale) ---------- */
.ringmark{position:relative;display:grid;place-items:center;width:280px;max-width:100%;aspect-ratio:1}
.ringmark img{position:relative;z-index:1;width:50%;height:auto;padding:7%;border-radius:50%;background:#fff;box-shadow:0 18px 50px rgba(6,27,54,.14)}
.rm-ring{position:absolute;inset:0;border-radius:50%;border:1px solid var(--line-strong)}
.rm-ring.b{inset:15%;border:1.5px dashed rgba(39,180,232,.55)}
.deep .rm-ring,.closing .rm-ring{border-color:rgba(255,255,255,.14)}.deep .rm-ring.b,.closing .rm-ring.b{border-color:rgba(39,180,232,.5)}
.hero-mark{grid-column:8/13;justify-self:center;width:250px}

/* ---------- 2. Why Interoperia ---------- */
.why{padding:40px 0 48px;background:#fff}
.why-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:40px;align-items:center}
.why-copy{grid-column:1/9}
.home .main-brand-logo{display:block;width:min(560px,100%);height:auto;margin:0 0 24px}
.home .brand-explanation{margin:20px 0 0;max-width:72ch;color:var(--ink);font-size:var(--fs-body);line-height:1.6}
.tagline{display:flex;align-items:center;gap:14px;margin:0 0 16px;color:var(--blue);font-size:var(--fs-body);font-weight:700}
.tagline::before{content:"";flex:none;width:36px;height:3px;border-radius:2px;background:linear-gradient(90deg,var(--blue),var(--cyan))}
.statement{margin:0;font-size:var(--fs-h2);line-height:1.25;letter-spacing:-.02em;font-weight:600;color:var(--ink);text-wrap:pretty}
.why-mark{grid-column:10/13;justify-self:end}
.why .facts{grid-column:9/13}

/* ---------- 3. Solution areas — compact two-column hairline index ---------- */
.areas-sec{background:var(--page);border-top:1px solid var(--line)}
.index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:56px;margin:0;padding:0;list-style:none}
.idx-row{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:8px;align-items:baseline;padding:28px var(--row-x) 24px;border-bottom:1px solid var(--line-strong);transition:background .15s}
.idx-row:nth-child(-n+2){border-top:2px solid var(--navy)}
.idx-row:hover{background:rgba(39,180,232,.07)}
.idx-no{color:var(--blue);font-size:var(--fs-sm);font-weight:700;line-height:1.3;font-variant-numeric:tabular-nums}
.idx-body{min-width:0}
.idx-body h2,.idx-body h3{margin:0;font-size:var(--fs-h3);line-height:1.25;letter-spacing:-.015em;font-weight:650}
.idx-link::after{content:"";position:absolute;inset:0}
.idx-link:focus-visible{outline:0}
.idx-link:focus-visible::after{outline:3px solid var(--focus);outline-offset:-3px;border-radius:4px}
.idx-row:hover .idx-link{color:var(--blue)}
.idx-body>p{margin:6px 0 0;max-width:560px;color:var(--muted);font-size:var(--fs-body);line-height:1.5}
.idx-products{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:14px}
.idx-products>p{display:flex;align-items:center;gap:8px;margin:0;color:var(--ok);font-size:var(--fs-sm);font-weight:600;line-height:1.35}
.idx-products>p::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--ok)}
.idx-products ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.idx-products a{display:inline-flex;flex-direction:column;padding:8px 14px;border:1px solid #b8d4ca;border-radius:12px;background:#fff;font-size:var(--fs-sm);font-weight:400;line-height:1.3}
.idx-products a:hover{border-color:var(--blue);color:var(--blue)}
.idx-products strong{font-weight:650}
.idx-products small{margin-top:2px;color:var(--muted);font-size:14px;font-weight:500}
.idx-more{position:relative;z-index:1;display:inline-block;margin-top:12px;color:var(--blue);font-size:var(--fs-sm);font-weight:700}
.idx-empty{margin:10px 0 0!important;color:var(--muted);font-size:var(--fs-sm)!important;line-height:1.5!important}
.idx-empty .idx-more{display:block;width:fit-content;max-width:100%;margin:8px 0 0}
.idx-more:hover{text-decoration:underline;text-underline-offset:4px}

/* ---------- 4. Products (catalogue cards) ---------- */
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.pcard{display:flex;flex-direction:column;padding:24px 28px;border:1px solid var(--line);border-radius:var(--r);background:#fff;box-shadow:0 6px 24px rgba(6,27,54,.05);transition:border-color .18s,box-shadow .18s}
.pcard:hover{border-color:#b7cde0;box-shadow:0 14px 36px rgba(6,27,54,.09)}
.pcard-head{display:flex;align-items:center;gap:16px;min-width:0}
.pcard-head h2,.pcard-head h3{min-width:0}
.provider-logo{display:block;flex:none;max-width:100%;height:auto;object-fit:contain}
.pcard h2,.pcard h3{margin:0;font-size:var(--fs-h3);line-height:1.25;letter-spacing:-.015em;font-weight:700}
.pcard h2 a:hover,.pcard h3 a:hover{color:var(--blue)}
.pdesc{margin:8px 0 0;color:var(--muted);font-size:var(--fs-body);line-height:1.55}
.pfacts{display:grid;gap:4px;margin:14px 0 18px;padding:0;list-style:none;color:var(--ink);font-size:var(--fs-sm);line-height:1.5}
.pfacts a{color:var(--blue);font-weight:650}.pfacts a:hover{text-decoration:underline;text-underline-offset:3px}
.pstatus{display:flex;align-items:center;gap:8px;font-weight:650}
.pstatus::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--ok)}
.pstatus.closed{color:var(--warn)}.pstatus.closed::before{background:var(--warn)}
.pfoot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;margin-top:auto;padding-top:16px;border-top:1px solid var(--line)}
.price{flex:1 1 150px;min-width:0}
.price strong,.buybox>strong{display:block;font-size:var(--fs-price);line-height:1.1;letter-spacing:-.025em}
.price small{display:block;margin-top:4px;color:var(--muted);font-size:14px;line-height:1.4}
.noprice{font-size:var(--fs-lead)!important;color:var(--muted);letter-spacing:0!important}
.pfoot .primary{flex:none}

/* ---------- 5. Two paths (by task / by platform) on navy ---------- */
.paths-sec{position:relative;overflow:hidden;color:#fff;background:var(--navy)}
.paths-sec h2,.paths-sec h3{color:#fff}
.paths-sec .kicker,.paths-sec .arrow{color:var(--cyan-text)}
.paths-sec .note{color:#a9bccf}
.choose{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:32px}
.choose-col:first-child{grid-column:1/7}.choose-col:last-child{grid-column:8/13}
.choose h3,.choose h2{display:flex;align-items:center;gap:12px;margin:0 0 12px;font-size:var(--fs-h3);letter-spacing:-.01em}
.choose h3::before,.choose h2::before{content:"";flex:none;width:12px;height:12px;border-radius:50%;border:3px solid var(--cyan)}
.choose-col:last-child h3::before,.choose-col:last-child h2::before{border-color:#5fa8f0}
.pathlist{margin:0;padding:0;list-style:none;border-top:1px solid var(--line-strong)}
.pathlist a{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 18px;min-height:52px;padding:13px var(--row-x);border-bottom:1px solid var(--line-strong)}
.pathlist a::after{content:"→";color:var(--blue);font-weight:700;margin-left:auto}
.pathlist a:hover{background:var(--soft)}
.pathlist a:focus-visible{outline-offset:-3px;border-radius:4px}
.pathlist span{font-size:var(--fs-body);font-weight:650}
.pathlist small{flex-basis:100%;order:3;color:var(--ok);font-size:var(--fs-sm);font-weight:600}
.paths-sec .pathlist{border-top-color:rgba(255,255,255,.28)}
.paths-sec .pathlist a{border-bottom-color:rgba(255,255,255,.14)}
.paths-sec .pathlist a:hover{background:rgba(255,255,255,.05)}
.paths-sec .pathlist a::after{color:var(--cyan-text)}
.paths-sec .pathlist small{color:#86e0c4}
.choose .arrow{display:inline-block;margin-top:14px}
.choose .note{margin-top:14px}
.platform-strip .pathlist{max-width:760px}

/* ---------- 6. Approach — one connected line ---------- */
.approach{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:0;padding:0;list-style:none}
.approach::before{content:"";position:absolute;left:calc((100% - 72px)/8);right:calc((100% - 72px)/8);top:27px;height:2px;background:linear-gradient(90deg,var(--blue-deep),var(--blue) 45%,var(--cyan))}
.approach li{position:relative;min-width:0}
.approach a{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;height:100%;padding:0 8px 4px;border-radius:var(--r-sm);text-align:center}
.approach a:focus-visible{outline:0}
.approach a:focus-visible::after{content:"";position:absolute;inset:-4px -2px -2px;z-index:2;border:3px solid var(--focus);border-radius:var(--r-sm);pointer-events:none}
.approach span{position:relative;z-index:1;flex:none;display:grid;place-items:center;width:56px;height:56px;border:2px solid var(--blue);border-radius:50%;background:#fff;color:var(--blue);font-size:var(--fs-sm);font-weight:700;line-height:1;font-variant-numeric:tabular-nums;box-shadow:0 0 0 8px #fff;transition:background .15s,color .15s}
.approach li:nth-child(n+3) span{border-color:var(--cyan)}
.alt .approach span{box-shadow:0 0 0 8px var(--page)}
.approach a:hover span,.approach a:focus-visible span{background:var(--blue);border-color:var(--blue);color:#fff}
.approach h3{align-self:stretch;margin:0;font-size:var(--fs-h3);line-height:1.3;letter-spacing:-.015em;text-align:center;text-wrap:balance;overflow-wrap:break-word}
.approach a:hover h3{color:var(--blue)}
.approach .go{display:none}

/* ---------- 7. Knowledge & support ---------- */
.knowledge-sec{background:var(--page);border-top:1px solid var(--line)}
.kgrid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:24px 48px;align-items:start;min-width:0}
.klist{margin:0;padding:0;list-style:none;border-top:2px solid var(--navy)}
.klist a{display:grid;grid-template-columns:40px minmax(0,1fr) 28px;column-gap:8px;align-items:baseline;padding:18px var(--row-x);border-bottom:1px solid var(--line-strong);transition:background .15s}
.klist a:hover{background:rgba(39,180,232,.07)}
.klist a:hover strong{color:var(--blue)}
.klist a:focus-visible{outline-offset:-3px;border-radius:4px}
.kbody{min-width:0}
.kbody strong{display:block;font-size:var(--fs-h3);line-height:1.3;letter-spacing:-.012em}
.kbody small{display:block;margin-top:4px;color:var(--muted);font-size:var(--fs-body);line-height:1.5}
.klist .go{justify-self:end}
.ksupport{display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:8px 14px;padding:24px 28px;border-radius:var(--r);background:var(--navy);color:#fff}
.ksupport .pathkicker{grid-column:1/-1;color:var(--cyan-text)}
.ksupport strong{font-size:var(--fs-h3);line-height:1.3;letter-spacing:-.012em}
.ksupport small{grid-column:1;color:var(--on-dark);font-size:var(--fs-body);line-height:1.5}
.ksupport .go{grid-column:2;grid-row:2/4;align-self:center;color:var(--cyan-text)}
.ksupport:hover{background:#0a2a52}
.pathkicker{color:var(--blue);font-size:var(--fs-label);font-weight:700;line-height:1.2;letter-spacing:.08em;text-transform:uppercase}

/* ---------- 8. Company ---------- */
.company-strip{background:#fff}
.split-corp{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:28px;align-items:start}
.split-corp>div:first-child{grid-column:1/6}.split-corp>.facts{grid-column:7/13}
.facts{padding:6px 0 6px 32px;border-left:3px solid;border-image:linear-gradient(180deg,var(--blue),var(--cyan)) 1}
.facts-label{margin:0;color:var(--muted);font-size:var(--fs-label);font-weight:700;line-height:1.2;letter-spacing:.08em;text-transform:uppercase}
.facts-name{margin:8px 0 0;font-size:var(--fs-h2);font-weight:700;line-height:1.15;letter-spacing:-.025em}
.identity{margin:10px 0 0;color:var(--muted);font-size:var(--fs-body);line-height:1.6}
.identity.strong{margin-top:10px;color:var(--ink);font-size:var(--fs-lead)}
.bodytext{margin:0;font-size:var(--fs-lead);line-height:1.6;color:var(--ink)}

/* ---------- 9. Closing CTA ---------- */
.closing{position:relative;overflow:hidden;padding:52px 0;color:#fff;background:radial-gradient(700px 480px at 88% 50%,#0f3d70 0,rgba(15,61,112,0) 70%),var(--navy)}
.closing .wrap{position:relative;z-index:1}
.closing-row{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:24px;width:min(760px,calc(100% - 2*var(--gutter)));margin-left:max(var(--gutter),calc((100% - var(--maxw))/2))}
.closing .kicker{color:var(--cyan-text)}.closing h2{color:#fff}
.closing p:not(.kicker){max-width:640px;margin:12px 0 0;color:var(--on-dark)}
.closing .actions{margin:0;position:relative;z-index:1}
.closing .secondary{color:#fff;background:transparent;border-color:rgba(255,255,255,.6)}
.closing .secondary:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.closing-mark{position:absolute;right:max(-40px,calc((100% - var(--maxw))/2 - 20px));top:50%;width:420px;transform:translateY(-50%);pointer-events:none}
.closing-mark img{box-shadow:0 0 0 14px rgba(39,180,232,.1),0 30px 80px rgba(0,0,0,.4)}

/* ---------- Inner pages ---------- */
.pagehero,.producthero{position:relative;overflow:hidden;padding:36px 0 32px;background:linear-gradient(150deg,#f8fbff,#edf6fc);border-bottom:1px solid var(--line)}
.pagehero>.wrap,.producthero>.wrap{position:relative;z-index:1}
.pagehero:not(.deep)::after,.producthero::after{content:"";position:absolute;right:-110px;top:50%;width:380px;aspect-ratio:1;border-radius:50%;border:44px solid;border-color:rgba(39,180,232,.13) rgba(39,180,232,.13) rgba(11,84,160,.07) rgba(11,84,160,.07);transform:translateY(-50%) rotate(-24deg);pointer-events:none}
.producthero::after{right:auto;left:52%;opacity:.8}
.pagehero:has(.narrow)::after{right:-260px}
.head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px 48px}
.head-row .actions{margin:0;flex:none}
.crumb{margin:0 0 12px;color:var(--muted);font-size:var(--fs-sm)}.crumb a{color:var(--blue);font-weight:600}.crumb a:hover{text-decoration:underline}
.product-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:48px;align-items:center}
.vendor{display:inline-flex;max-width:100%;padding:5px 12px;color:var(--ok);background:#e8f5f1;border-radius:99px;font-size:var(--fs-label);font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.vendor.closed{color:var(--warn);background:#fff4df}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0;padding:0;list-style:none}
.tags a{display:inline-flex;align-items:center;min-height:32px;padding:5px 12px;border:1px solid var(--line);border-radius:99px;background:var(--soft);color:#2d4a66;font-size:var(--fs-sm);font-weight:650}
.tags a:hover{border-color:var(--blue);color:var(--blue)}
.producthero .vendor{margin-bottom:12px}
.version{margin:12px 0 0;color:var(--muted);font-size:var(--fs-sm);font-weight:700}
.buybox{padding:24px;border:1px solid #cbdde9;border-radius:var(--r);background:#fff;box-shadow:var(--shadow)}
.buybox>span{display:block;margin-bottom:8px;color:var(--muted);font-size:var(--fs-label);font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.buybox>p{margin:6px 0 0;color:var(--muted);font-size:var(--fs-sm);line-height:1.5}
.buybox .primary{width:100%;margin-top:16px}
.closed-note{padding:12px;color:var(--warn)!important;background:#fff4df;border-radius:9px}
.specs,.docgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:56px}
.specs article,.docgrid article{padding:22px 0 26px;border-top:1px solid var(--line-strong);scroll-margin-top:110px}
.specs article:nth-child(-n+2),.docgrid article:nth-child(-n+2){border-top:2px solid var(--navy)}
.specs article>span,.docgrid article>span,.legalgrid article>span{color:var(--blue);font-size:var(--fs-sm);font-weight:700;line-height:1}
.specs h2,.docgrid h2,.legalgrid h2{margin:12px 0 8px;font-size:var(--fs-h3);line-height:1.25;letter-spacing:-.015em}
.specs p,.docgrid p,.supportgrid p,.legalgrid p{margin:0;color:var(--muted);line-height:1.6}
.docgrid article:target{background:linear-gradient(90deg,rgba(39,180,232,.08),rgba(39,180,232,0))}
.band{padding:40px 0;color:#fff;background:var(--navy)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.split h2{margin:0;color:#fff;font-size:var(--fs-h2);line-height:1.15;letter-spacing:-.025em}
.split>p{margin:0;color:var(--on-dark);line-height:1.6}
.split a{color:var(--cyan-text);font-weight:700}
.supportgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.supportgrid article{padding:28px;border:1px solid var(--line);border-radius:var(--r);scroll-margin-top:110px}
.supportgrid h2{margin:0 0 14px;font-size:var(--fs-h3)}
.supportgrid .secondary{margin-top:20px}.support-docs{margin-top:16px!important}
.legalgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.legalgrid article{padding:20px 0 0;border-top:2px solid var(--navy)}
.enquiry-form{display:grid;gap:16px}
.enquiry-form label{display:grid;gap:8px;font-size:16px;font-weight:650}
.enquiry-form fieldset{display:grid;gap:10px;margin:0;padding:16px;border:1px solid var(--line);border-radius:var(--r-sm)}
.enquiry-form fieldset label,.enquiry-form>label:has(input[type=checkbox]){display:flex;align-items:flex-start;gap:10px;font-weight:500}
input,select,textarea{width:100%;min-height:46px;padding:11px 12px;border:1px solid #a8bdce;border-radius:8px;background:#fff;color:var(--ink)}
input[type=radio],input[type=checkbox]{width:20px;min-height:20px;height:20px;flex:none;margin-top:2px;accent-color:var(--blue)}
textarea{resize:vertical}
.privacy-note{font-size:var(--fs-sm)!important}
.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.enquiry-form button{justify-self:start}
#enquiry-summary{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.6}
#enquiry-status,#checkout-status,#account-status{line-height:1.6;overflow-wrap:anywhere}
.error{color:var(--danger)}
.account-card{padding:24px;border:1px solid var(--line);border-radius:var(--r);overflow-wrap:anywhere}
.account-card button{margin:12px 0}
.account-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}
#account-identity,#account-entitlements,#account-orders,#account-invoices,#account-history{margin-top:32px}
#account-identity h2,#account-entitlements h2,#account-orders h2,#account-invoices h2,#account-history h2{font-size:var(--fs-h3)}
.process-note,.secure{font-size:var(--fs-sm);line-height:1.65;color:var(--muted)}

/* Solutions hub, category, platforms, company, docs */
.minilist{margin:4px 0 0;padding:0;list-style:none;display:grid;gap:8px}
.minilist a{display:block;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
.minilist a:hover{border-color:var(--blue)}
.minilist strong{display:block;font-size:var(--fs-body);font-weight:650}.minilist small{display:block;margin-top:2px;color:var(--muted);font-size:14px}
.minilist.wide{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px;border-top:2px solid var(--navy)}
.minilist.wide a{padding:16px 4px;border:0;border-bottom:1px solid var(--line-strong);border-radius:0;background:transparent}
.minilist.wide a:hover strong{color:var(--blue)}.minilist.wide strong{font-size:var(--fs-h3)}
.empty{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;padding:22px 28px;border-left:3px solid var(--cyan);border-radius:0 var(--r) var(--r) 0;background:var(--soft)}
.empty p{flex:1 1 420px;max-width:720px;margin:0;font-size:var(--fs-lead);line-height:1.5;font-weight:500;color:var(--ink)}
.empty .actions{margin:0}
.otherareas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px;margin:0;padding:0;list-style:none}
.otherareas a{display:flex;justify-content:space-between;gap:12px;min-height:48px;align-items:center;padding:10px 4px;border-bottom:1px solid var(--line-strong);font-size:var(--fs-body);font-weight:650}
.otherareas a span{color:var(--blue)}.otherareas a:hover{color:var(--blue)}
.platform{scroll-margin-top:110px;border-top:2px solid var(--navy)}
.platform+.platform{margin-top:40px}
.platform-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 24px;padding:18px 0 16px;border-bottom:1px solid var(--line-strong)}
.platform-head h2{display:flex;align-items:center;gap:14px;margin:0;font-size:var(--fs-h2);letter-spacing:-.025em}
.platform-head h2::before{content:"";flex:none;width:16px;height:16px;border-radius:50%;border:4px solid var(--cyan)}
.platform-products{margin:0;padding:0;list-style:none}
.platform-products li{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px;padding:20px 0;border-bottom:1px solid var(--line-strong)}
.platform-products h3{margin:0;font-size:var(--fs-h3)}.platform-products h3 a:hover{color:var(--blue)}
.platform-products p{margin:4px 0 0;color:var(--muted)}
.pmeta{font-weight:650}.reqlabel{margin:0!important;color:var(--muted)!important;font-size:var(--fs-label);font-weight:700;text-transform:uppercase;letter-spacing:.08em}

/* Products filters: wrap every option at phone widths as well as desktop. */
.filters{display:grid;gap:8px;margin:0 0 24px;padding:0 0 18px;border-bottom:1px solid var(--line-strong)}
.fgroup{display:grid;grid-template-columns:116px minmax(0,1fr);align-items:start;gap:6px 12px;min-width:0}
.fhead{margin:0;padding-top:8px;color:var(--muted);font-size:14px;font-weight:650;line-height:1.3}
.chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}
.chip{min-height:38px;padding:5px 11px;border:1px solid #b7cde0;border-radius:99px;background:#fff;color:var(--ink);font-size:.875rem;font-weight:600;line-height:1.3;text-align:left}
.chip:hover{border-color:var(--blue);color:var(--blue)}
.chip[aria-pressed=true]{border-color:var(--blue);background:var(--blue);color:#fff}
.reset{min-height:40px;display:inline-flex;align-items:center;padding:0 6px;color:var(--blue);font-size:var(--fs-sm);font-weight:700;white-space:nowrap}
.reset:hover{text-decoration:underline;text-underline-offset:4px}

/* ---------- Footer ---------- */
footer{padding:40px 0 24px;color:#bdccdb;background:var(--navy-deep)}
.footgrid{display:grid;grid-template-columns:1.5fr repeat(4,minmax(0,1fr));gap:32px 32px;align-items:start}
.footbrand>img{width:230px}
.footbrand p{margin:16px 0 0;color:#a9bccf;font-size:15px;max-width:300px}
.footcol{display:flex;flex-direction:column;gap:10px;font-size:var(--fs-sm)}
.footcol h2{margin:0 0 6px;color:#fff;font-size:var(--fs-label);font-weight:700;line-height:1;letter-spacing:.08em;text-transform:uppercase}
.footcol a{color:var(--on-dark);overflow-wrap:anywhere}
.footcol a:hover,.footcol a[aria-current=true]{color:var(--cyan-text)}
.footlangs{grid-column:1/-1;padding-top:28px;border-top:1px solid rgba(255,255,255,.1)}
.footlangs>div{display:flex;flex-wrap:wrap;gap:10px 24px}
.footgrid>small{grid-column:1/-1;color:#8ea3b8;font-size:14px}

/* Compact desktop: keep the full navigation on one line down to 1241px in every locale (checked by evidence/r4/navfit.mjs) */
@media(max-width:1400px){.navrow{gap:10px}.brand img{width:190px}.nav{gap:2px;font-size:14.5px}.navlink{padding:8px 7px}.navlink[aria-current=page]::after{left:7px;right:7px}.navtoggle{margin-left:-6px;width:24px}.navutil{padding-left:4px}.nav-cta{padding:10px 12px;font-size:14.5px}.langs summary{padding:8px 8px;gap:5px}}
/* ---------- Tablet & compact desktop: hamburger navigation below 1240px ---------- */
@media(max-width:1240px){
 :root{--gutter:32px;--sec:52px;--sec-tight:24px}
 .brand img{width:176px}
 .menub{position:relative;display:grid;align-content:center;gap:5px;width:46px;height:46px;padding:11px;border:1px solid var(--line-strong);border-radius:10px;background:#fff}
 .menub span{display:block;height:2px;background:var(--navy);transition:transform .18s,opacity .18s}
 .menub[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menub[aria-expanded=true] span:nth-child(2){opacity:0}.menub[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
 .menub b{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
 .langs{margin-left:auto}
 .nav-cta-d{display:none}
 .nav{position:fixed;left:0;right:0;top:var(--head);display:none;flex-direction:column;align-items:stretch;gap:4px;max-height:calc(100vh - var(--head));max-height:calc(100dvh - var(--head));overflow:auto;padding:14px var(--gutter) 28px;border-top:1px solid var(--line);background:#fff;box-shadow:0 30px 60px rgba(6,27,54,.18);font-size:17px}
 .nav.open{display:flex}
 .navmain,.navutil{flex-direction:column;align-items:stretch;gap:2px}
 .navutil{margin:8px 0 0;padding:8px 0 0;border-left:0;border-top:1px solid var(--line)}
 .navlink{min-height:52px;padding:12px}
 .navlink[aria-current=page]::after{left:12px;right:auto;width:28px;bottom:6px}
 .navgroup{flex-wrap:wrap}.navgroup>.navlink{flex:1}
 .navtoggle{width:52px;height:52px;margin:0;border:1px solid var(--line);border-radius:10px}
 .navpanel{position:static;width:100%;padding:6px 0 10px 12px;border:0;border-left:2px solid var(--line);border-radius:0;box-shadow:none;grid-template-columns:1fr;gap:6px;margin:4px 0 8px}
 .navpanel-side{padding-left:0;border-left:0}
 .nav-cta-m{display:flex;justify-content:center;margin-top:14px;min-height:52px}
 .hero-copy{grid-column:1/-1;padding-right:0}
 .orbit{grid-column:1/-1;width:min(640px,100%);justify-self:center;margin-top:36px}
 .hero-mark{grid-column:1/-1;justify-self:start;width:220px;margin-top:36px}
 .why-copy{grid-column:1/10}.why-mark{grid-column:10/13;width:200px}
 .why .why-copy{grid-column:1/-1}.why .facts{grid-column:1/-1}
 .footgrid{grid-template-columns:repeat(4,minmax(0,1fr))}.footbrand{grid-column:1/-1}
}
@media(max-width:980px){
 :root{--sec:48px}
 .closing-mark{width:260px;right:-60px;opacity:.5}
 .why-copy{grid-column:1/-1}.why-mark{display:none}
 .index{column-gap:32px}.kgrid{grid-template-columns:1fr}
 .choose-col:first-child,.choose-col:last-child{grid-column:1/-1}
 .approach{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:40px}.approach::before{display:none}
 .split-corp>div:first-child,.split-corp>.facts{grid-column:1/-1}
 .product-grid,.split{grid-template-columns:1fr}.product-grid{gap:36px}.buybox{max-width:460px}
 .legalgrid{grid-template-columns:1fr;gap:28px}
 .otherareas{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sectionhead{flex-direction:column;align-items:flex-start;gap:12px}
 .arrow{max-width:100%;white-space:normal;overflow-wrap:break-word}
 .pagehero:not(.deep)::after,.producthero::after{width:300px;border-width:36px;right:-150px}
 .producthero::after{left:auto}
}
@media(max-width:820px){.cards{grid-template-columns:minmax(0,1fr)}.index{grid-template-columns:1fr}.idx-row:nth-child(2){border-top:0}}
/* ---------- Phone ---------- */
@media(max-width:620px){
 :root{--gutter:20px;--sec:40px;--sec-tight:20px;--head:68px}
 body{font-size:17px}
 .brand img{width:150px}
 .langs summary{padding:8px 9px}
 .hero.corp{padding:36px 0 44px}
 .pagehero.deep{padding:28px 0 32px}
 .hero h1{font-size:38px;line-height:1.1;letter-spacing:-.03em}
 .pagehero,.producthero{padding:24px 0 24px}
 .pagehero:not(.deep)::after,.producthero::after{display:none}
 .hero .lead{font-size:17px;margin-top:18px}
 .actions{flex-direction:column;align-items:stretch;margin-top:24px}.actions a,.actions button{width:100%}
 .head-row{flex-direction:column;align-items:stretch;gap:16px}
 .head-row .actions,.empty .actions{flex-direction:row;margin:0}.head-row .actions a,.empty .actions a{flex:1 1 0;padding:10px 12px;font-size:15px}
 .sectionhead{margin-bottom:18px}
 /* map becomes a spine: the O on top, every area wired into one vertical line */
 .orbit{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;margin-top:40px}
 .orbit figcaption{grid-column:2;grid-row:1;flex-direction:column;gap:6px;padding:0 0 0 18px}
 .orbit-stage{display:contents}
 .orbit-core{grid-column:1;grid-row:1}
 .orbit-nodes{grid-column:1/-1;grid-row:2}
 .orbit-svg{display:none}
 .orbit-core{position:relative;left:auto;top:auto;transform:none;width:72px;box-shadow:0 0 0 7px rgba(39,180,232,.14),0 12px 30px rgba(0,0,0,.35)}
 .orbit-nodes{position:relative;margin:0 0 0 35px;padding:10px 0 2px;border-left:1.5px solid rgba(39,180,232,.55)}
 .orbit-node{position:relative;left:auto!important;right:auto!important;top:auto!important;transform:none;flex-direction:row!important;text-align:left!important;width:auto;max-width:none;padding:11px 0 11px 26px;font-size:16.5px}
 .orbit-node.n2,.orbit-node.n5{max-width:none}
 .orbit-node::before{content:"";position:absolute;left:-1px;top:22px;width:16px;height:1.5px;background:rgba(39,180,232,.55)}
 .orbit-node::after{content:"";position:absolute;left:12px;top:22px;width:9px;height:9px;margin-top:-4px;border-radius:50%;background:var(--cyan)}
 .orbit-node i{order:-1}
 .hero-mark{display:none}
 .why{padding:36px 0 36px}
 .why-copy{grid-column:1/-1}.why-mark{display:none}
 :root{--row-x:16px}
 .idx-row{grid-template-columns:30px minmax(0,1fr);padding:24px var(--row-x) 20px}
 .idx-products{margin-top:12px}
 .pcard{padding:20px}
 .cards{gap:16px}
 .approach{grid-template-columns:1fr;row-gap:24px}
 .approach::before{display:none}
 .approach li:not(:last-child)::before{content:"";position:absolute;left:50%;top:calc(100% + 4px);width:2px;height:16px;margin-left:-1px;border-radius:1px;background:var(--blue)}
 .approach li:nth-child(2)::before{background:linear-gradient(180deg,var(--blue),var(--cyan))}
 .approach li:nth-child(3)::before{background:var(--cyan)}
 .approach a{gap:12px;padding:0 var(--row-x) 2px}
 .klist a{grid-template-columns:32px minmax(0,1fr) 22px;padding:16px var(--row-x)}
 .ksupport{padding:20px 22px}
 .facts{padding-left:20px}
 .closing{padding:44px 0}
 .closing-mark{display:none}
 .band{padding:36px 0}.split{gap:16px}
 .specs,.docgrid,.supportgrid,.minilist.wide{grid-template-columns:1fr}
 .specs article:nth-child(2),.docgrid article:nth-child(2){border-top-width:1px;border-top-color:var(--line-strong)}
 .supportgrid article{padding:22px}
 .platform-products li{grid-template-columns:1fr;gap:8px}
 .empty{padding:18px 20px}.empty p{flex-basis:auto}.empty .actions{width:100%}
 .filters{gap:10px;padding-bottom:14px;margin-bottom:16px}
 .fgroup{grid-template-columns:1fr;gap:2px}.fhead{padding-top:0}
 .chips{flex-wrap:wrap;overflow:visible;margin-inline:0;padding:2px 0 4px}
 .chips .chip{max-width:100%;white-space:normal}
 .chip{flex:none;white-space:nowrap;scroll-snap-align:start}
 .otherareas{grid-template-columns:1fr}
 .footgrid{grid-template-columns:1fr 1fr;gap:28px 20px}
 footer{padding:36px 0 24px}
 .footlangs>div{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}html{scroll-behavior:auto}}


/* Keep dropdowns inside the viewport independently of localized trigger width. */
@media(min-width:1241px){.navpanel{position:fixed;left:var(--gutter);top:var(--head);max-width:calc(100vw - 2*var(--gutter));max-height:calc(100dvh - var(--head) - 16px);overflow:auto}}
.menub{flex:none}
@media(max-width:360px){:root{--gutter:10px}.brand img{width:132px}.navrow{gap:4px}.langs summary{padding:8px 4px;gap:3px}}

/* Closed service cards preserve approved prices with secondary emphasis. */
.service-closed .price strong{font-size:1rem;font-weight:500;color:var(--muted)}.service-closed .pstatus.closed{font-weight:700;font-size:1rem}.service-closed .pfoot .secondary{min-height:44px}

/* Approved 2026-10-05 HumanProof corporate tier exception; scoped to this family. */
.humanproof-group{grid-column:1/-1;max-width:1280px;margin:24px auto 0;padding:32px;background:#F4F8FC;border-radius:18px}
.humanproof-group>h3{margin:0 0 12px}.humanproof-group>.hp-intro{margin:0 0 12px}.humanproof-group>.note{margin:0 0 12px}
.humanproof-group[hidden],.hp-card[hidden]{display:none}
.hp-cards{grid-template-columns:minmax(0,1fr);gap:24px}
.hp-card{display:grid;grid-template-rows:auto auto auto auto auto 1fr;align-content:start;gap:12px;padding:24px;border:1px solid #D9E4EE;border-radius:18px;box-shadow:0 12px 32px rgba(6,27,54,.07);overflow-wrap:anywhere}
.hp-card.hp-pro{border-top:5px solid #0B54A0}
.hp-card.hp-max{background:#061B36;color:#fff;border-top:5px solid #27B4E8}
.hp-card h2,.hp-card h3{font-size:28px;line-height:1.25;color:inherit}
.hp-card .pcard-head a{display:flex;align-items:center;min-height:44px}
.hp-subtitle{font-size:18px;line-height:1.4;margin:0;font-weight:600}
.hp-card .pdesc,.hp-card .pfacts,.hp-card .pstatus{margin:0}
.hp-card .pfacts{gap:8px;font-size:16px}.hp-card .pdesc{font-size:16px}
.hp-card .pfoot{align-self:end;justify-self:stretch;justify-content:stretch;width:100%;min-width:0;display:grid;gap:12px;margin:0;padding-top:12px}
.hp-card .price strong{font-size:32px;font-weight:700;color:inherit}
.hp-card .pfoot>a{width:100%;min-height:44px;white-space:normal;text-align:center}
.hp-card .pstatus.closed{width:fit-content;padding:6px 10px;border-radius:10px;background:#FFF3DF;color:#9A5D00;font-size:16px}
.hp-max .pdesc,.hp-max .pfacts,.hp-max .price small,.hp-max .note{color:#D9E4EE}
.hp-max .pfoot{border-color:#D9E4EE}.hp-max .pcard-head a:hover{color:#27B4E8}
.hp-max .pfoot>a{background:#fff;color:#0B54A0;border-color:#D9E4EE}.hp-max .pfoot>a:hover{background:#F4F8FC}
.hp-card a:focus-visible,.hp-detail a:focus-visible{outline:3px solid #0793C9;outline-offset:3px}
.hp-detail .hp-subtitle{margin:12px 0}.hp-detail.hp-pro{border-top:5px solid #0B54A0}
.hp-detail.hp-max{background:#061B36;color:#fff;border-top:5px solid #27B4E8}
.hp-detail.hp-max h1,.hp-detail.hp-max .lead,.hp-detail.hp-max .crumb,.hp-detail.hp-max .closed-note{color:#D9E4EE}
.hp-detail.hp-max .crumb a{color:#fff}.hp-detail .vendor.closed{background:#FFF3DF;color:#9A5D00}
.hp-detail .buybox a{min-height:44px;width:100%}
@media(min-width:1100px){.hp-cards{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.hp-cards .hp-card{grid-row:span 8;grid-template-rows:subgrid}.hp-cards .hp-card .pfoot{grid-row:6/span 3;grid-template-rows:subgrid;align-self:stretch}.hp-cards .hp-card .price{display:contents}.hp-cards .hp-card .price strong{grid-row:1}.hp-cards .hp-card .price small{grid-row:2;margin:0}.hp-cards .hp-card .pfoot>a{grid-row:3}.hp-cards .hp-card .hp-availability{grid-row:5}}
@media(max-width:1099px){.hp-card{display:flex;flex-direction:column}.hp-card .pfoot{margin-top:0}.humanproof-group{padding:24px}}
@media(max-width:600px){.humanproof-group{padding:20px}.hp-card{padding:20px}.hp-card h2,.hp-card h3{font-size:26px}.hp-subtitle{font-size:16px}}
@media(prefers-reduced-motion:reduce){.hp-card,.hp-card a{transition:none}}

.hp-availability{display:grid;align-content:start;gap:12px}.hp-availability>.note{margin:0}

.hp-detail .buybox{color:#10243B}

/* Owner-requested visual correction, 2026-10-06. Scope: solution index only. */
.areas-sec{background:var(--soft,#F4F8FC)}
.index.solution-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;padding:0;list-style:none;align-items:stretch}
.solution-index>.idx-row{display:flex;flex-direction:column;align-items:stretch;gap:0;min-width:0;padding:24px;border:1px solid var(--line-strong,#C7D8E6);border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(6,27,54,.06);transition:border-color .16s,box-shadow .16s,transform .16s}
.solution-index>.idx-row:nth-child(-n+2){border-top:1px solid var(--line-strong,#C7D8E6)}
.solution-card-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.solution-card-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;border:1px solid var(--line,#D9E4EE);border-radius:12px;background:var(--soft,#F4F8FC);color:var(--blue,#0B54A0)}
.solution-card-icon svg{display:block;width:24px;height:24px}
.solution-index .idx-no{display:block;color:var(--muted,#5D7085);font-size:13px;font-weight:650;letter-spacing:.08em;line-height:1.3;font-variant-numeric:tabular-nums}
.solution-index .idx-body{display:flex;flex-direction:column;flex:1;min-width:0}
.solution-index .idx-body h2,.solution-index .idx-body h3{margin:0;font-size:var(--fs-h3,22px);line-height:1.3;letter-spacing:-.015em;font-weight:700;color:var(--ink,#10243B)}
.solution-index .idx-link{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-height:44px;padding-block:2px}
.solution-index .idx-link>span:first-child{min-width:0;overflow-wrap:anywhere}
.solution-index .idx-link::after{content:none;position:static;inset:auto}
.solution-index .solution-card-arrow{flex:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;color:var(--blue,#0B54A0);font-size:21px;font-weight:500;line-height:1}
.solution-index .idx-body>p{margin:8px 0 0;max-width:none;color:var(--muted,#5D7085);font-size:var(--fs-body,17px);line-height:1.5}
.solution-index .idx-products{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line,#D9E4EE)}
.solution-index .idx-products>p{margin:0;color:var(--muted,#5D7085);font-size:13px;font-weight:600;line-height:1.4}
.solution-index .idx-products>p::before{content:none;display:none}
.solution-index .idx-products ul{display:flex;flex-wrap:wrap;gap:8px;max-width:100%;margin:0;padding:0;list-style:none}
.solution-index .idx-products li{min-width:0;max-width:100%}
.solution-index .idx-products a{display:inline-flex;flex-direction:column;justify-content:center;align-items:flex-start;min-height:44px;max-width:100%;padding:9px 12px;border:1px solid var(--line,#D9E4EE);border-radius:10px;background:var(--soft,#F4F8FC);color:var(--ink,#10243B);font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.solution-index .idx-products strong{font-weight:650}
.solution-index .idx-products small{margin-top:4px;color:var(--muted,#5D7085);font-size:14px;line-height:1.45;font-weight:400}
.solution-index .idx-more{display:inline-flex;align-items:center;min-height:44px;max-width:100%;margin-top:12px;color:var(--blue,#0B54A0);font-size:15px;line-height:1.45}
.solution-index .idx-empty{margin-top:16px!important;font-size:15px!important}
.solution-index .idx-link:focus-visible,.solution-index .idx-products a:focus-visible,.solution-index .idx-more:focus-visible{outline:3px solid var(--focus,#0793C9);outline-offset:4px;border-radius:6px}
.solution-index .idx-link:focus-visible::after{content:none;outline:0}
@media(hover:hover) and (pointer:fine){
 .solution-index>.idx-row:hover{background:#fff;border-color:var(--blue,#0B54A0);box-shadow:0 16px 36px rgba(6,27,54,.10);transform:translateY(-2px)}
 .solution-index>.idx-row:hover .idx-link{color:var(--blue,#0B54A0)}
 .solution-index .idx-products a:hover{color:var(--blue,#0B54A0);border-color:var(--blue,#0B54A0);background:var(--page,#F7FAFF)}
}
@media(max-width:1199px){.index.solution-index{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.index.solution-index{grid-template-columns:minmax(0,1fr);gap:16px}.solution-index>.idx-row{padding:20px}.solution-card-top{margin-bottom:12px}.solution-index .idx-products{margin-top:16px;padding-top:14px}}
@media(prefers-reduced-motion:reduce){.solution-index>.idx-row{transition:none}.solution-index>.idx-row:hover{transform:none}}
