/* =========================================================================
   INDUSTRIC — Brand Layer design system (www.industric.co)
   Spec: Visual Identity & Design System Specification v2026.10
   Prefix: .ix-*  ·  Scope: every public page. Legacy .ind-pg remapped below.
   ========================================================================= */

/* 1. TOKENS ---------------------------------------------------------------- */
:root{
  /* Brand masters (HSL channels) */
  --brand:239 99% 40%;          /* #0104CB */
  --brand-ink:240 17% 9%;       /* #14141C */
  --brand-paper:60 4% 90%;      /* #E7E7E5 */
  --brand-violet:238 100% 77%;  /* #8A8DFF */
  --brand-hover:239 99% 33%;    /* primary :hover */
  --brand-press:239 99% 28%;    /* primary :active */

  /* Ink ramp (tinted to 240) */
  --ink-50:240 9% 97%;   --ink-100:240 9% 95%;  --ink-200:240 8% 89%;
  --ink-300:240 13% 78%; --ink-400:240 13% 60%; --ink-500:240 14% 45%;
  --ink-600:240 12% 35%; --ink-700:240 12% 25%; --ink-800:240 14% 16%;
  --ink-900:240 17% 9%;

  /* State — only for real operational state */
  --success:152 42% 32%; --warning:38 72% 35%; --warning-text:38 80% 28%;
  --warning-vivid:38 96% 52%; --danger:4 62% 45%; --info:205 60% 38%;

  /* Semantic roles */
  --bg:var(--brand-paper);  --surface:0 0% 100%; --surface-2:var(--ink-50);
  --fg:var(--ink-900); --fg-2:var(--ink-600); --fg-3:var(--ink-500);
  --line:var(--ink-300); --line-soft:var(--ink-200);
  --ring:var(--brand);

  --gradient-brand:linear-gradient(150deg,#14141C 0%,#14141C 82%,hsl(239 30% 18%) 100%);

  /* Type */
  --f-display:"Space Grotesk",ui-sans-serif,system-ui,sans-serif;
  --f-sans:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --fs-h1:clamp(2rem,1.35rem + 2.6vw,3.5rem);
  --fs-h2:clamp(1.625rem,1.2rem + 1.6vw,2.5rem);
  --fs-h3:clamp(1.125rem,1.02rem + .4vw,1.375rem);
  --fs-lead:clamp(1.0625rem,1rem + .3vw,1.25rem);
  --fs-body:1rem; --fs-sm:.875rem; --fs-xs:.8125rem; --fs-label:11px;

  /* Space scale (only these) */
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:24px; --s-6:32px;
  --s-7:48px; --s-8:64px; --s-9:96px; --s-10:128px;
  --sec-y:clamp(56px,4rem + 3vw,112px);
  --gutter:clamp(16px,4vw,40px);
  --max:1360px; --max-text:720px;

  /* Geometry */
  --radius:4px; --radius-md:6px; --radius-xl:12px;
  --shadow-sm:0 1px 2px 0 rgba(0,0,0,.04);
  --shadow-md:0 4px 12px -2px rgba(20,20,28,.10);
  --hdr-h:64px;
  --ease:cubic-bezier(.2,.6,.2,1);
}

/* 2. PAGE BASE ------------------------------------------------------------- */
body.ix-body{background:hsl(var(--bg));color:hsl(var(--fg));font-family:var(--f-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.ix-body #page-container,body.ix-body #et-main-area,body.ix-body #main-content{background:transparent!important;padding-top:0!important;margin-top:0!important}
body.ix-body #main-content .et_pb_section,body.ix-body #main-content .et_pb_row,body.ix-body #main-content .et_pb_column{background:transparent}
.ix-skip{position:absolute;left:var(--s-4);top:-80px;z-index:200;background:hsl(var(--brand));color:#fff!important;padding:12px 18px;border-radius:var(--radius);font:600 14px var(--f-sans);text-decoration:none}
.ix-skip:focus{top:var(--s-3)}

/* 3. SCOPE RESET (beats Divi defaults) ------------------------------------ */
.ix,.ix-hdr,.ix-ftr{font-family:var(--f-sans);font-size:var(--fs-body);line-height:1.6;color:hsl(var(--fg));overflow-wrap:anywhere}
.ix *,.ix *::before,.ix *::after,.ix-hdr *,.ix-hdr *::before,.ix-hdr *::after,.ix-ftr *,.ix-ftr *::before,.ix-ftr *::after{box-sizing:border-box}
.ix h1,.ix h2,.ix h3,.ix h4,.ix p,.ix ul,.ix ol,.ix figure,.ix dl,.ix dd,.ix blockquote,
.ix-hdr p,.ix-hdr ul,.ix-ftr p,.ix-ftr ul,.ix-ftr h2{margin:0;padding:0}
.ix ul,.ix ol,.ix-hdr ul,.ix-ftr ul{list-style:none}
.ix h1,.ix h2,.ix h3,.ix h4{font-family:var(--f-display);color:inherit;font-weight:600;letter-spacing:-.02em;line-height:1.1;overflow-wrap:normal;hyphens:manual;text-wrap:balance}
.ix p{text-wrap:pretty}
.ix img,.ix svg{max-width:100%;display:block}
.ix a{color:hsl(var(--brand));text-decoration:none}
.ix strong{font-weight:600;color:inherit}
.ix :where(a,button,summary,input,select,textarea,[tabindex]):focus-visible,
.ix-hdr :where(a,button):focus-visible,.ix-ftr a:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px;border-radius:2px}
.ix .is-dark :where(a,button,summary):focus-visible,.ix-hdr :where(a,button):focus-visible,.ix-ftr a:focus-visible{outline-color:hsl(var(--brand-violet))}
.ix-num{font-variant-numeric:tabular-nums;white-space:nowrap}

/* 4. LAYOUT ---------------------------------------------------------------- */
.ix-wrap{width:100%;max-width:calc(var(--max) + 2*var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}
.ix-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--s-5);row-gap:var(--s-6)}
.ix-span-3{grid-column:span 3}.ix-span-4{grid-column:span 4}.ix-span-5{grid-column:span 5}.ix-span-6{grid-column:span 6}.ix-span-7{grid-column:span 7}.ix-span-8{grid-column:span 8}.ix-span-12{grid-column:1/-1}
@media (max-width:1023px){.ix-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.ix-span-3{grid-column:span 3}.ix-span-4,.ix-span-5,.ix-span-7,.ix-span-8{grid-column:span 6}.ix-span-6{grid-column:span 6}}
@media (max-width:767px){.ix-grid{grid-template-columns:minmax(0,1fr);row-gap:var(--s-5)}.ix-grid>*{grid-column:1/-1!important}}

.ix-sec{padding-block:var(--sec-y);position:relative}
.ix-sec--tight{padding-block:calc(var(--sec-y)*.6)}
.ix-sec--paper{background:hsl(var(--brand-paper))}
.ix-sec--light{background:hsl(var(--ink-50))}
.ix-sec--white{background:hsl(var(--surface))}
.ix-sec--dark,.ix .is-dark{background:var(--gradient-brand);color:hsl(var(--brand-paper))}
.ix-sec--dark{background-color:hsl(var(--ink-900))}
.ix-sec+.ix-sec--paper,.ix-sec--paper+.ix-sec--paper{border-top:1px solid hsl(var(--line-soft))}
.ix-measure{max-width:var(--max-text)}
.ix .ix-stack>*+*{margin-top:var(--s-4)}
.ix .ix-stack-lg>*+*{margin-top:var(--s-6)}
.ix-row{display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:center}

/* Technical grid texture — dark surfaces only, structural, very faint */
.ix-blueprint{position:relative;isolation:isolate}
.ix-blueprint::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(hsl(var(--brand-violet)/.06) 1px,transparent 1px),linear-gradient(90deg,hsl(var(--brand-violet)/.06) 1px,transparent 1px);
  background-size:32px 32px;mask-image:linear-gradient(180deg,#000 0%,#000 55%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 55%,transparent 100%)}

/* Registration marks on a framed block */
.ix-reg{position:relative}
.ix-reg::before,.ix-reg::after{content:"";position:absolute;width:12px;height:12px;pointer-events:none;border-color:hsl(var(--ink-400));border-style:solid}
.ix-reg::before{top:-6px;left:-6px;border-width:1px 0 0 1px}
.ix-reg::after{bottom:-6px;right:-6px;border-width:0 1px 1px 0}

/* 5. TYPE ------------------------------------------------------------------ */
.ix-h1{font-size:var(--fs-h1)}
.ix-h2{font-size:var(--fs-h2)}
.ix-h3{font-size:var(--fs-h3);letter-spacing:-.01em;line-height:1.25}
.ix-lead{font-size:var(--fs-lead);line-height:1.55;color:hsl(var(--fg-2));max-width:var(--max-text)}
.is-dark .ix-lead,.ix-sec--dark .ix-lead{color:hsl(var(--ink-300))}
.ix-body-text{color:hsl(var(--fg-2));max-width:var(--max-text)}
.is-dark .ix-body-text,.ix-sec--dark .ix-body-text{color:hsl(var(--ink-300))}
.ix-small{font-size:var(--fs-sm);color:hsl(var(--fg-3))}
.ix-mono{font-family:var(--f-mono);font-size:.875em;letter-spacing:0}
.ix-accent{color:hsl(var(--brand))}
.is-dark .ix-accent,.ix-sec--dark .ix-accent{color:hsl(var(--brand-violet))}

/* Eyebrow / micro-label */
.ix-eyebrow,.ix-label{font-family:var(--f-mono);font-size:var(--fs-label);font-weight:500;line-height:1.4;text-transform:uppercase;letter-spacing:.12em;color:hsl(var(--fg-3))}
.ix-eyebrow{display:flex;align-items:center;gap:var(--s-2);margin-bottom:var(--s-4)}
.ix-eyebrow::before{content:"";width:16px;height:1px;background:currentColor;opacity:.6}
.is-dark .ix-eyebrow,.ix-sec--dark .ix-eyebrow,.is-dark .ix-label,.ix-sec--dark .ix-label{color:hsl(var(--brand-violet))}

/* Section header: index column + title column, on a measured rule */
.ix-sh{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:var(--s-3) 0;padding-top:var(--s-4);border-top:1px solid hsl(var(--line));margin-bottom:var(--s-7);position:relative}
.ix-sh::before{content:"";position:absolute;left:0;top:-4px;width:1px;height:7px;background:hsl(var(--line))}
.is-dark .ix-sh,.ix-sec--dark .ix-sh{border-top-color:hsl(var(--ink-700))}
.ix-sh__idx{font-family:var(--f-mono);font-size:var(--fs-label);letter-spacing:.12em;text-transform:uppercase;color:hsl(var(--fg-3));padding:6px var(--s-5) 0 0}
.ix-sh__idx b{color:hsl(var(--brand));font-weight:500;margin-right:6px}
.is-dark .ix-sh__idx,.ix-sec--dark .ix-sh__idx{color:hsl(var(--ink-400))}
.is-dark .ix-sh__idx b,.ix-sec--dark .ix-sh__idx b{color:hsl(var(--brand-violet))}
.ix .ix-sh__body>*+*{margin-top:var(--s-4)}
@media (max-width:767px){.ix-sh{grid-template-columns:1fr;gap:var(--s-3);margin-bottom:var(--s-6)}}

/* Inline technical marks */
.ix-code{display:inline-flex;align-items:center;font-family:var(--f-mono);font-size:10.5px;font-weight:500;line-height:1;letter-spacing:.02em;padding:3px 6px;border-radius:var(--radius);background:hsl(var(--ink-100));color:hsl(var(--ink-700));border:1px solid hsl(var(--ink-200));white-space:nowrap}
.is-dark .ix-code,.ix-sec--dark .ix-code{background:hsl(var(--ink-800));color:hsl(var(--ink-300));border-color:hsl(var(--ink-700))}

/* 6. BUTTONS & LINKS ------------------------------------------------------- */
.ix-btn{--h:44px;display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:var(--h);padding:0 var(--s-5);border-radius:var(--radius-md);font:600 var(--fs-sm)/1 var(--f-sans);letter-spacing:0;text-decoration:none!important;white-space:nowrap;border:1px solid transparent;cursor:pointer;transition:background-color .15s var(--ease),border-color .15s var(--ease),color .15s var(--ease)}
.ix-btn svg{width:16px;height:16px;flex:none;transition:transform .15s var(--ease)}
.ix-btn:hover .ix-i-arrow-right{transform:translateX(2px)}
.ix-btn--primary{background:hsl(var(--brand));color:#fff!important}
.ix-btn--primary:hover{background:hsl(var(--brand-hover))}
.ix-btn--primary:active{background:hsl(var(--brand-press))}
.ix-btn--secondary{background:hsl(var(--surface));color:hsl(var(--fg))!important;border-color:hsl(var(--ink-300))}
.ix-btn--secondary:hover{background:hsl(var(--ink-100));border-color:hsl(var(--ink-400))}
.is-dark .ix-btn--secondary,.ix-sec--dark .ix-btn--secondary,.ix-hdr .ix-btn--secondary,.ix-ftr .ix-btn--secondary,.ix-cta .ix-btn--secondary,.ix-hero .ix-btn--secondary{background:transparent;color:hsl(var(--brand-paper))!important;border-color:hsl(var(--ink-600))}
.is-dark .ix-btn--secondary:hover,.ix-sec--dark .ix-btn--secondary:hover,.ix-hdr .ix-btn--secondary:hover,.ix-ftr .ix-btn--secondary:hover,.ix-cta .ix-btn--secondary:hover,.ix-hero .ix-btn--secondary:hover{background:hsl(var(--ink-800));border-color:hsl(var(--ink-400))}
.ix-btn[disabled],.ix-btn[aria-disabled="true"]{opacity:.45;pointer-events:none}
.ix-btn--sm{--h:36px;padding:0 var(--s-4)}
.ix-actions{display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:center}
@media (max-width:479px){.ix-actions .ix-btn{flex:1 1 100%}}

.ix-link{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:var(--fs-sm);color:hsl(var(--brand))!important;text-decoration:none;border-bottom:1px solid hsl(var(--brand)/.25);padding-bottom:1px}
.ix-link:hover{border-bottom-color:hsl(var(--brand))}
.ix-link svg{width:14px;height:14px}
.is-dark .ix-link,.ix-sec--dark .ix-link{color:hsl(var(--brand-violet))!important;border-bottom-color:hsl(var(--brand-violet)/.35)}
.ix-prose a{color:hsl(var(--brand));text-decoration:underline;text-decoration-color:hsl(var(--brand)/.35);text-underline-offset:3px}
.ix-prose a:hover{text-decoration-color:hsl(var(--brand))}

/* Icons (Lucide, stroke 1.5) */
.ix-i{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* 7. STATUS / BADGES / PROGRESS -------------------------------------------- */
.ix-status{--c:var(--ink-500);display:inline-flex;align-items:center;gap:6px;font-family:var(--f-mono);font-size:10.5px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;padding:3px 7px;border-radius:var(--radius);color:hsl(var(--c));background:hsl(var(--c)/.08);border:1px solid hsl(var(--c)/.4);white-space:nowrap;line-height:1.2}
.ix-status::before{content:"";width:6px;height:6px;border-radius:50%;background:hsl(var(--c))}
.ix-status--info{--c:var(--info)}.ix-status--success{--c:var(--success)}.ix-status--warning{--c:var(--warning-text)}.ix-status--danger{--c:var(--danger)}.ix-status--brand{--c:var(--brand)}
.ix-status--blocked::before{border-radius:0;background:repeating-linear-gradient(45deg,hsl(var(--c)) 0 2px,transparent 2px 4px)}
.is-dark .ix-status{--c:var(--ink-300)}
.is-dark .ix-status--success{--c:152 40% 55%}.is-dark .ix-status--warning{--c:38 90% 60%}.is-dark .ix-status--danger{--c:4 75% 65%}.is-dark .ix-status--info{--c:205 70% 65%}.is-dark .ix-status--brand{--c:var(--brand-violet)}

.ix-progress{position:relative;height:6px;background:hsl(var(--ink-200));border-radius:2px;overflow:visible}
.ix-progress>span{position:absolute;inset:0 auto 0 0;width:var(--v,0%);background:hsl(var(--brand));border-radius:2px}
.ix-progress>i{position:absolute;top:-4px;bottom:-4px;left:var(--b,0%);width:0;border-left:1.5px dashed hsl(var(--ink-700))}
.is-dark .ix-progress{background:hsl(var(--ink-700))}
.is-dark .ix-progress>span{background:hsl(var(--brand-violet))}
.is-dark .ix-progress>i{border-left-color:hsl(var(--ink-300))}

/* Line grammar utilities */
.rule-left{border-left:2px solid hsl(var(--brand));padding-left:var(--s-4)}
.line-plan{border:1.5px dashed hsl(var(--ink-500))}
.hatch-blocked{background:repeating-linear-gradient(45deg,hsl(var(--danger)/.55) 0 2px,hsl(var(--danger)/.10) 2px 7px)}
.marker-outline{border:1.5px solid hsl(var(--brand));background:transparent}

/* 8. CARDS & EDITORIAL BLOCKS ---------------------------------------------- */
.ix-card{display:block;background:hsl(var(--surface));border:1px solid hsl(var(--line-soft));border-radius:var(--radius-xl);padding:var(--s-5);box-shadow:var(--shadow-sm);color:inherit!important;text-decoration:none!important;position:relative}
.ix .ix-card>*+*{margin-top:var(--s-3)}
.ix-card__title{font-family:var(--f-display);font-weight:600;font-size:var(--fs-h3);letter-spacing:-.01em;line-height:1.25}
.ix-card p{color:hsl(var(--fg-2));font-size:var(--fs-sm)}
a.ix-card{transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}
a.ix-card:hover{border-color:hsl(var(--brand)/.45);box-shadow:var(--shadow-md)}
a.ix-card:hover .ix-card__title{color:hsl(var(--brand))}
.ix-card__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding-top:var(--s-3);margin-top:var(--s-4)!important;border-top:1px dashed hsl(var(--line-soft))}
.is-dark .ix-card{background:hsl(var(--ink-800));border-color:hsl(var(--ink-700));box-shadow:none}
.is-dark .ix-card p{color:hsl(var(--ink-300))}
.is-dark a.ix-card:hover{border-color:hsl(var(--brand-violet)/.6)}
.is-dark a.ix-card:hover .ix-card__title{color:hsl(var(--brand-violet))}

/* Module card: code strip on top */
.ix-mod{display:flex;flex-direction:column;gap:var(--s-3);padding:var(--s-5);background:hsl(var(--surface));border:1px solid hsl(var(--line-soft));border-top:2px solid hsl(var(--ink-900));border-radius:var(--radius);color:inherit!important;text-decoration:none!important;min-height:100%}
.ix-mod:hover{border-top-color:hsl(var(--brand))}
.ix-mod:hover .ix-mod__title{color:hsl(var(--brand))}
.ix-mod__top{display:flex;justify-content:space-between;align-items:center;gap:var(--s-2)}
.ix-mod__title{font-family:var(--f-display);font-weight:600;font-size:1.125rem;line-height:1.25;letter-spacing:-.01em}
.ix-mod p{font-size:var(--fs-sm);color:hsl(var(--fg-2))}
.ix-mod .ix-link{margin-top:auto;align-self:flex-start}

/* Ruled list (definition rows instead of card grids) */
.ix-rows{border-top:1px solid hsl(var(--line))}
.ix-rows>li,.ix-rows>div{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--s-5);padding:var(--s-5) 0;border-bottom:1px solid hsl(var(--line))}
.ix-rows h3{font-size:1.125rem;line-height:1.3}
.ix-rows p{color:hsl(var(--fg-2))}
.is-dark .ix-rows,.is-dark .ix-rows>li,.is-dark .ix-rows>div{border-color:hsl(var(--ink-700))}
.is-dark .ix-rows p{color:hsl(var(--ink-300))}
@media (max-width:767px){.ix-rows>li,.ix-rows>div{grid-template-columns:1fr;gap:var(--s-2)}}

.ix-rows--compact>li{grid-template-columns:1fr;padding:var(--s-3) 0;display:flex;gap:var(--s-3);align-items:baseline}
.ix-rows--compact>li::before{content:"";flex:none;width:6px;height:6px;margin-top:2px;background:hsl(var(--brand))}
.is-dark .ix-rows--compact>li::before{background:hsl(var(--brand-violet))}
.ix-rows--compact p{font-size:var(--fs-sm)}

/* Light product surfaces keep light-context colors inside dark sections */
.is-dark :is(.ix-panel,.ix-split){color:hsl(var(--fg))}
.is-dark :is(.ix-panel,.ix-split) .ix-status{--c:var(--ink-500)}
.is-dark :is(.ix-panel,.ix-split) .ix-status--info{--c:var(--info)}
.is-dark :is(.ix-panel,.ix-split) .ix-status--success{--c:var(--success)}
.is-dark :is(.ix-panel,.ix-split) .ix-status--warning{--c:var(--warning-text)}
.is-dark :is(.ix-panel,.ix-split) .ix-status--danger{--c:var(--danger)}
.is-dark :is(.ix-panel,.ix-split) .ix-status--brand{--c:var(--brand)}
.is-dark :is(.ix-panel,.ix-split) .ix-code{background:hsl(var(--ink-100));color:hsl(var(--ink-700));border-color:hsl(var(--ink-200))}
.is-dark :is(.ix-panel,.ix-split) .ix-label{color:hsl(var(--fg-3))}
.is-dark .ix-panel .ix-progress{background:hsl(var(--ink-200))}
.is-dark .ix-panel .ix-progress>span{background:hsl(var(--brand))}
.is-dark .ix-panel .ix-progress>i{border-left-color:hsl(var(--ink-700))}
.is-dark .ix-panel .ix-small{color:hsl(var(--fg-3))}

/* Problem → operation → result sequence */
.ix-pos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid hsl(var(--line));border-radius:var(--radius-xl);overflow:hidden;background:hsl(var(--surface))}
.ix-pos>div{padding:var(--s-5);border-right:1px solid hsl(var(--line-soft))}
.ix-pos>div:last-child{border-right:0;background:hsl(var(--brand)/.04)}
.ix-pos .ix-label{display:block;margin-bottom:var(--s-3)}
.ix-pos p{color:hsl(var(--fg-2));font-size:var(--fs-sm)}
.ix-pos h3{font-size:1.0625rem;margin-bottom:var(--s-2);line-height:1.3}
@media (max-width:767px){.ix-pos{grid-template-columns:1fr}.ix-pos>div{border-right:0;border-bottom:1px solid hsl(var(--line-soft))}}

/* 9. FLOW / TIMELINE ------------------------------------------------------- */
.ix-flow{display:grid;grid-template-columns:repeat(var(--n,6),minmax(0,1fr));counter-reset:f;position:relative}
.ix-flow>li{position:relative;padding:var(--s-6) var(--s-4) 0 0;counter-increment:f}
.ix-flow>li::before{content:counter(f,decimal-leading-zero);position:absolute;top:0;left:0;font:500 var(--fs-label)/1 var(--f-mono);letter-spacing:.12em;color:hsl(var(--brand));background:inherit;padding-right:var(--s-2)}
.ix-flow>li::after{content:"";position:absolute;top:5px;left:28px;right:0;height:1px;background:hsl(var(--line))}
.ix-flow>li:last-child::after{right:auto;width:16px}
.ix-flow h3{font-size:1.0625rem;line-height:1.3;margin-bottom:var(--s-2)}
.ix-flow p{font-size:var(--fs-sm);color:hsl(var(--fg-2))}
.ix-flow .ix-code{margin-top:var(--s-3)}
.is-dark .ix-flow>li::after{background:hsl(var(--ink-700))}
.is-dark .ix-flow>li::before{color:hsl(var(--brand-violet))}
.is-dark .ix-flow p{color:hsl(var(--ink-300))}
@media (max-width:1023px){.ix-flow{grid-template-columns:1fr 1fr 1fr;row-gap:var(--s-6)}}
@media (max-width:767px){
  .ix-flow{grid-template-columns:1fr;row-gap:0}
  .ix-flow>li{padding:0 0 var(--s-5) var(--s-7)}
  .ix-flow>li::before{top:2px}
  .ix-flow>li::after{top:18px;bottom:-2px;left:10px;right:auto;width:1px;height:auto}
  .ix-flow>li:last-child::after{display:none}
}

/* 10. PRODUCT PANEL (frame for UI demos) ----------------------------------- */
.ix-panel{background:hsl(var(--surface));border:1px solid hsl(var(--ink-300));border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-sm);color:hsl(var(--fg));font-size:var(--fs-sm)}
.is-dark .ix-panel,.ix-sec--dark .ix-panel{border-color:hsl(var(--ink-700));box-shadow:0 0 0 1px hsl(var(--ink-900))}
.ix-panel__bar{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:10px var(--s-4);border-bottom:1px solid hsl(var(--line-soft));background:hsl(var(--ink-50));font:500 var(--fs-label)/1.3 var(--f-mono);letter-spacing:.06em;color:hsl(var(--fg-3));text-transform:uppercase;min-width:0}
.ix-panel__bar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ix-panel__bar>.ix-status{flex:none;overflow:visible}
.ix-panel__bar b{color:hsl(var(--fg));font-weight:500}
.ix-panel__body{padding:var(--s-4)}
.ix-panel__foot{display:flex;flex-wrap:wrap;gap:var(--s-4);padding:10px var(--s-4);border-top:1px solid hsl(var(--line-soft));background:hsl(var(--ink-50));font:var(--fs-label)/1.3 var(--f-mono);color:hsl(var(--fg-3));text-transform:uppercase;letter-spacing:.06em}
.ix-legend{display:inline-flex;align-items:center;gap:6px}
.ix-legend i{display:inline-block;width:16px;height:8px;border-radius:1px}
.ix-legend .lg-actual{background:hsl(var(--ink-700))}
.ix-legend .lg-crit{background:hsl(var(--brand))}
.ix-legend .lg-plan{border:1.5px dashed hsl(var(--ink-500));height:8px}
.ix-legend .lg-block{background:repeating-linear-gradient(45deg,hsl(var(--danger)/.7) 0 2px,hsl(var(--danger)/.12) 2px 5px)}
.ix-legend .lg-ms{width:9px;height:9px;transform:rotate(45deg);border:1.5px solid hsl(var(--brand))}
.ix-figcap{margin-top:var(--s-3);font:var(--fs-label)/1.5 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:hsl(var(--fg-3))}
.is-dark .ix-figcap{color:hsl(var(--ink-400))}
.ix-figcap .ix-link{font-family:var(--f-sans);text-transform:none;letter-spacing:0;font-size:var(--fs-sm)}
.ix-shot{border:1px solid hsl(var(--ink-300));border-radius:var(--radius-xl);overflow:hidden;background:hsl(var(--surface))}
.ix-shot img{width:100%;height:auto}

/* 10a. Gantt */
.ix-gantt{--days:20;font-size:12px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.ix-gantt__inner{min-width:560px}
.ix-gantt__head,.ix-gantt__row{display:grid;grid-template-columns:minmax(150px,32%) 1fr;align-items:center}
.ix-gantt__head{font:500 10px/1 var(--f-mono);color:hsl(var(--fg-3));letter-spacing:.06em;padding-bottom:var(--s-2);border-bottom:1px solid hsl(var(--line-soft))}
.ix-gantt__scale{display:grid;grid-template-columns:repeat(var(--days),1fr)}
.ix-gantt__scale span{border-left:1px solid hsl(var(--line-soft));padding-left:3px;white-space:nowrap}
.ix-gantt__row{min-height:34px;border-bottom:1px solid hsl(var(--ink-100))}
.ix-gantt__label{display:flex;align-items:center;gap:var(--s-2);min-width:0;padding-right:var(--s-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:hsl(var(--fg))}
.ix-gantt__label .ix-code{flex:none}
.ix-gantt__label span:last-child{overflow:hidden;text-overflow:ellipsis}
.ix-gantt__track{position:relative;display:grid;grid-template-columns:repeat(var(--days),1fr);height:34px;align-items:center;
  background-image:linear-gradient(90deg,hsl(var(--line-soft)) 1px,transparent 1px);background-size:calc(100%/var(--days)) 100%}
.ix-bar{grid-row:1;grid-column:var(--s)/var(--e);height:12px;border-radius:2px;background:hsl(var(--ink-700));position:relative;z-index:1}
.ix-bar--plan{height:20px;background:transparent;border:1.5px dashed hsl(var(--ink-400));z-index:0}
.ix-bar--crit{background:hsl(var(--brand))}
.ix-bar--done{background:hsl(var(--ink-400))}
.ix-bar--blocked{background:repeating-linear-gradient(45deg,hsl(var(--danger)/.75) 0 2px,hsl(var(--danger)/.12) 2px 6px);border:1px solid hsl(var(--danger)/.6)}
.ix-ms{grid-row:1;grid-column:var(--s)/span 1;justify-self:start;width:11px;height:11px;transform:translateX(-5px) rotate(45deg);border:1.5px solid hsl(var(--brand));background:hsl(var(--surface));z-index:2}
.ix-today{position:absolute;top:-4px;bottom:-4px;left:calc((var(--t) - 1)/var(--days)*100%);width:0;border-left:1.5px solid hsl(var(--brand-violet));z-index:3;pointer-events:none}
.ix-gantt__now{display:flex;justify-content:flex-end;font:500 10px var(--f-mono);color:hsl(239 60% 55%);letter-spacing:.06em;padding-top:var(--s-2)}

/* 10b. BoM tree */
.ix-bom{font-size:13px}
.ix-bom__head,.ix-bom__row{display:grid;grid-template-columns:minmax(0,1fr) 64px 92px 104px;gap:var(--s-3);align-items:center;padding:7px 0}
.ix-bom__head{font:500 10px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:hsl(var(--fg-3));border-bottom:1px solid hsl(var(--line-soft))}
.ix-bom__row{border-bottom:1px solid hsl(var(--ink-100))}
.ix-bom__name{display:flex;align-items:center;gap:var(--s-2);min-width:0;padding-left:calc(var(--lvl,0)*20px);position:relative}
.ix-bom__name span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ix-bom__row[style*="--lvl"] .ix-bom__name::before{content:"";position:absolute;left:calc(var(--lvl)*20px - 12px);top:-8px;height:calc(50% + 8px);width:9px;border-left:1px solid hsl(var(--ink-300));border-bottom:1px solid hsl(var(--ink-300))}
.ix-bom .ix-num{font-family:var(--f-mono);font-size:12px;color:hsl(var(--fg-2))}
@media (max-width:560px){.ix-bom__head,.ix-bom__row{grid-template-columns:minmax(0,1fr) 40px 96px}.ix-bom__head>:nth-child(3),.ix-bom__row>:nth-child(3){display:none}}

/* 10c. Work-order card */
.ix-wo{display:grid;gap:var(--s-4)}
.ix-wo__top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s-3);align-items:flex-start}
.ix-wo__title{font-family:var(--f-display);font-weight:600;font-size:1.125rem;line-height:1.25;letter-spacing:-.01em}
.ix-kv{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));border:1px solid hsl(var(--line-soft));border-radius:var(--radius-md)}
.ix-kv>div{padding:10px var(--s-3);border-right:1px solid hsl(var(--line-soft));min-width:0}
.ix-kv>div:last-child{border-right:0}
.ix-kv dt,.ix-kv .k{font:500 10px/1.3 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:hsl(var(--fg-3))}
.ix-kv dd,.ix-kv .v{font:500 14px/1.4 var(--f-mono);color:hsl(var(--fg));margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:479px){.ix-kv{grid-template-columns:1fr 1fr}.ix-kv>div:nth-child(2n){border-right:0}.ix-kv>div:nth-child(n+3){border-top:1px solid hsl(var(--line-soft))}}
.ix-stages{display:grid;grid-template-columns:repeat(var(--n,5),minmax(0,1fr));gap:2px}
.ix-stages li{font:500 10px/1.3 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;padding:8px 6px 0;border-top:3px solid hsl(var(--ink-200));color:hsl(var(--fg-3))}
.ix-stages li.is-done{border-top-color:hsl(var(--ink-700));color:hsl(var(--fg-2))}
.ix-stages li.is-active{border-top-color:hsl(var(--brand));color:hsl(var(--brand))}
.ix-stages li.is-blocked{border-top:3px solid transparent;border-image:repeating-linear-gradient(45deg,hsl(var(--danger)) 0 3px,transparent 3px 6px) 3;color:hsl(var(--danger))}

/* 10d. Event log / traceability timeline */
.ix-log{position:relative}
.ix-log li{display:grid;grid-template-columns:96px 18px minmax(0,1fr);gap:var(--s-3);padding:8px 0;font-size:13px;align-items:start}
.ix-log time{font:500 11px/1.6 var(--f-mono);color:hsl(var(--fg-3));white-space:nowrap}
.ix-log li>i{width:9px;height:9px;margin:5px auto 0;border-radius:50%;background:hsl(var(--ink-400));position:relative}
.ix-log li>i.ok{background:hsl(var(--success))}.ix-log li>i.br{background:hsl(var(--brand))}.ix-log li>i.wr{background:hsl(var(--warning))}
.ix-log li>i.ms{border-radius:0;background:transparent}
.ix-log li>i.ms::before{content:"";position:absolute;inset:0;transform:rotate(45deg);border:1.5px solid hsl(var(--brand));background:hsl(var(--surface))}
.ix-log li:not(:last-child)>i::after{content:"";position:absolute;left:3.5px;top:12px;width:1px;height:calc(100% + 26px);background:hsl(var(--ink-200))}
.ix-log p{color:hsl(var(--fg))}
.ix-log p small{display:block;color:hsl(var(--fg-3));font-size:12px}

/* 10e. Two-sided comparison (portal: internal vs client) */
.ix-split{display:grid;grid-template-columns:1fr 1fr;border:1px solid hsl(var(--ink-300));border-radius:var(--radius-xl);overflow:hidden;background:hsl(var(--surface))}
.ix-split>div{padding:var(--s-4)}
.ix-split>div+div{border-left:1px dashed hsl(var(--ink-400))}
.ix-split .ix-label{display:block;margin-bottom:var(--s-3)}
.ix-split ul li{display:flex;justify-content:space-between;gap:var(--s-3);padding:8px 0;border-bottom:1px solid hsl(var(--ink-100));font-size:13px}
.ix-split .redact{display:inline-block;width:72px;height:12px;border-radius:2px;background:repeating-linear-gradient(45deg,hsl(var(--ink-400)/.6) 0 2px,transparent 2px 5px);border:1px solid hsl(var(--ink-300));vertical-align:middle}
@media (max-width:640px){.ix-split{grid-template-columns:1fr}.ix-split>div+div{border-left:0;border-top:1px dashed hsl(var(--ink-400))}}

/* 11. TABLE ---------------------------------------------------------------- */
.ix-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid hsl(var(--line));border-radius:var(--radius-xl);background:hsl(var(--surface))}
.ix-table-wrap:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}
.ix-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm);font-variant-numeric:tabular-nums}
.ix-table th,.ix-table td{height:40px;padding:10px var(--s-4);text-align:left;border-bottom:1px solid hsl(var(--ink-200));vertical-align:middle}
.ix-table thead th{font:500 var(--fs-label)/1.3 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:hsl(var(--fg-3));background:hsl(var(--ink-50));white-space:nowrap}
.ix-table tbody th{font-weight:500;color:hsl(var(--fg));min-width:220px}
.ix-table tbody tr:last-child>*{border-bottom:0}
.ix-table td{color:hsl(var(--fg-2))}
.ix-table th,.ix-table td{overflow-wrap:normal}
.ix-table td .ix-code,.ix-table th .ix-code{margin-right:4px}
.ix-table .is-hl{background:hsl(var(--brand)/.05)}
.ix-table thead .is-hl{color:hsl(var(--brand));box-shadow:inset 0 2px 0 hsl(var(--brand))}
.ix-table .yes,.ix-table .no,.ix-table .part{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.ix-table .yes svg{color:hsl(var(--brand))}
.ix-table .no{color:hsl(var(--fg-3))}
.ix-table .part{color:hsl(var(--fg-2))}
.ix-table caption{caption-side:bottom;text-align:left;padding:10px var(--s-4);font:var(--fs-label)/1.4 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:hsl(var(--fg-3));border-top:1px solid hsl(var(--ink-200))}

/* 12. TABS ----------------------------------------------------------------- */
.ix-tabs__list{display:flex;gap:0;overflow-x:auto;border-bottom:1px solid hsl(var(--line));scrollbar-width:none;margin-bottom:var(--s-6)}
.ix-tabs__list::-webkit-scrollbar{display:none}
.ix-tab{appearance:none;background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:12px var(--s-4);min-height:44px;font:500 var(--fs-sm)/1.2 var(--f-sans);color:hsl(var(--fg-2));cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:var(--s-2)}
.ix-tab .ix-code{font-size:10px}
.ix-tab:hover{color:hsl(var(--fg))}
.ix-tab[aria-selected="true"]{color:hsl(var(--brand));border-bottom-color:hsl(var(--brand))}
.ix-tabpanel[hidden]{display:none}
.is-dark .ix-tabs__list{border-bottom-color:hsl(var(--ink-700))}
.is-dark .ix-tab{color:hsl(var(--ink-300))}
.is-dark .ix-tab[aria-selected="true"]{color:hsl(var(--brand-violet));border-bottom-color:hsl(var(--brand-violet))}

/* 13. FAQ ------------------------------------------------------------------ */
.ix-faq{border-top:1px solid hsl(var(--line))}
.ix-faq details{border-bottom:1px solid hsl(var(--line))}
.ix-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:var(--s-4);padding:var(--s-4) 0;min-height:56px;font:500 1rem/1.4 var(--f-sans);color:hsl(var(--fg))}
.ix-faq summary::-webkit-details-marker{display:none}
.ix-faq summary::after{content:"";flex:none;width:12px;height:12px;background:linear-gradient(currentColor,currentColor) center/12px 1.5px no-repeat,linear-gradient(currentColor,currentColor) center/1.5px 12px no-repeat;color:hsl(var(--brand));transition:transform .2s var(--ease)}
.ix-faq details[open] summary::after{transform:rotate(45deg)}
.ix-faq summary:hover{color:hsl(var(--brand))}
.ix-faq details>div,.ix-faq details>p{padding:0 0 var(--s-5);color:hsl(var(--fg-2));max-width:var(--max-text)}

/* 14. BREADCRUMB ----------------------------------------------------------- */
.ix-bc{margin-bottom:var(--s-6)}
.ix-bc ol{display:flex;flex-wrap:wrap;gap:6px;font:500 var(--fs-label)/1.5 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:hsl(var(--fg-3))}
.ix-bc li+li::before{content:"/";margin-right:6px;opacity:.6}
.ix-bc a{color:inherit!important;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px}
.ix-bc a:hover{text-decoration-color:currentColor}
.ix-bc [aria-current]{color:hsl(var(--fg))}
.is-dark .ix-bc ol{color:hsl(var(--ink-400))}
.is-dark .ix-bc [aria-current]{color:hsl(var(--ink-200))}

/* 15. FORMS ---------------------------------------------------------------- */
.ix-field{display:grid;gap:6px}
.ix-field label,.ix-field .ix-field__label{font:500 var(--fs-sm)/1.3 var(--f-sans);color:hsl(var(--fg))}
.ix-input,.ix select,.ix textarea,.ix input[type=text],.ix input[type=email],.ix input[type=tel],.ix input[type=url],.ix input[type=number]{width:100%;min-height:44px;padding:10px 12px;border:1px solid hsl(var(--ink-300));border-radius:var(--radius-md);background:hsl(var(--surface));font:400 var(--fs-body)/1.4 var(--f-sans);color:hsl(var(--fg));transition:border-color .15s,box-shadow .15s}
.ix textarea{min-height:120px;resize:vertical}
.ix-input:hover,.ix select:hover,.ix textarea:hover,.ix input:hover{border-color:hsl(var(--ink-400))}
.ix-input:focus,.ix select:focus,.ix textarea:focus,.ix input:focus{outline:none;border-color:hsl(var(--brand));box-shadow:0 0 0 1px hsl(var(--brand))}
.ix [aria-invalid="true"]{border-color:hsl(var(--danger))!important}
.ix-field__hint{font-size:var(--fs-xs);color:hsl(var(--fg-3))}
.ix-field__error{font-size:var(--fs-xs);color:hsl(var(--danger));display:flex;gap:6px;align-items:center}

/* 16. STATES (empty / error / skeleton) ------------------------------------ */
.ix-state{border:1px dashed hsl(var(--ink-300));border-radius:var(--radius-xl);padding:var(--s-7) var(--s-5);text-align:center;color:hsl(var(--fg-2));background:hsl(var(--ink-50))}
.ix-state .ix-i{width:28px;height:28px;margin:0 auto var(--s-3);color:hsl(var(--fg-3))}
.ix-state--error{border-color:hsl(var(--danger)/.5);background:hsl(var(--danger)/.04)}
.ix-skel{background:linear-gradient(90deg,hsl(var(--ink-100)) 0%,hsl(var(--ink-200)) 50%,hsl(var(--ink-100)) 100%);background-size:200% 100%;border-radius:var(--radius);animation:ix-skel 1.4s linear infinite}
@keyframes ix-skel{to{background-position:-200% 0}}

/* 17. HERO ----------------------------------------------------------------- */
.ix-hero{position:relative;background:var(--gradient-brand);background-color:hsl(var(--ink-900));color:hsl(var(--brand-paper));padding-block:clamp(40px,3rem + 3vw,96px) clamp(48px,3rem + 4vw,104px);overflow:hidden}
.ix-hero .ix-h1{color:#fff;max-width:18ch}
.ix-hero .ix-h1 em{font-style:normal;color:hsl(var(--brand-violet))}
.ix-hero__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,4vw,64px);align-items:center}
.ix .ix-hero__copy>*+*{margin-top:var(--s-5)}
.ix .ix-hero__copy .ix-actions{margin-top:var(--s-6)}
.ix-hero__meta{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-4);margin-top:var(--s-6)!important;padding-top:var(--s-4);border-top:1px solid hsl(var(--ink-700));font:500 var(--fs-label)/1.5 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:hsl(var(--ink-400))}
.ix-hero__meta span{display:inline-flex;align-items:center;gap:6px}
.ix-hero__meta span::before{content:"";width:5px;height:5px;background:hsl(var(--brand-violet))}
.ix-hero--page .ix-hero__grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end}
.ix-hero--page .ix-h1{max-width:22ch}
.ix-hero__aside{border-left:1px solid hsl(var(--ink-700));padding-left:var(--s-5)}
.ix-hero__aside .ix-label{display:block;margin-bottom:var(--s-3)}
.ix-hero__aside ul{display:flex;flex-wrap:wrap;gap:6px}
.ix-hero__aside li{font-size:var(--fs-sm);color:hsl(var(--ink-300))}
.ix-hero__aside .ix-entities{display:flex;flex-wrap:wrap;gap:6px}
@media (max-width:1023px){.ix-hero__grid,.ix-hero--page .ix-hero__grid{grid-template-columns:minmax(0,1fr)}.ix-hero__aside{border-left:0;border-top:1px solid hsl(var(--ink-700));padding:var(--s-4) 0 0}}

/* Ruler strip (coordinates) under hero */
.ix-ruler{height:24px;border-top:1px solid hsl(var(--ink-700));background-image:linear-gradient(90deg,hsl(var(--ink-600)) 1px,transparent 1px),linear-gradient(90deg,hsl(var(--ink-700)) 1px,transparent 1px);background-size:80px 10px,16px 5px;background-repeat:repeat-x;background-position:0 0,0 0}

/* 18. CTA BAND ------------------------------------------------------------- */
.ix-cta{background:var(--gradient-brand);background-color:hsl(var(--ink-900));color:hsl(var(--brand-paper));padding-block:var(--sec-y)}
.ix-cta__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--s-6);align-items:end}
.ix-cta h2{color:#fff;font-size:var(--fs-h2);max-width:20ch}
.ix-cta p{color:hsl(var(--ink-300));max-width:56ch;margin-top:var(--s-4)}
.ix-cta .ix-actions{justify-content:flex-end}
.ix-cta__note{margin-top:var(--s-4);font:500 var(--fs-label)/1.5 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:hsl(var(--ink-400))}
@media (max-width:767px){.ix-cta__grid{grid-template-columns:minmax(0,1fr)}.ix-cta .ix-actions{justify-content:flex-start}}

/* 19. DOC BLOCK ------------------------------------------------------------ */
.ix-doc{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:var(--s-7)}
.ix-doc__toc{position:sticky;top:calc(var(--hdr-h) + var(--s-5));align-self:start;font-size:var(--fs-sm)}
.ix-doc__toc .ix-label{display:block;margin-bottom:var(--s-3)}
.ix-doc__toc a{display:block;padding:6px 0 6px var(--s-3);border-left:1px solid hsl(var(--line));color:hsl(var(--fg-2))!important}
.ix-doc__toc a:hover,.ix-doc__toc a[aria-current]{border-left-color:hsl(var(--brand));color:hsl(var(--brand))!important}
.ix-prose{max-width:var(--max-text);color:hsl(var(--fg-2))}
.ix .ix-prose>*+*{margin-top:var(--s-4)}
.ix-prose h2{font-size:clamp(1.375rem,1.2rem + .6vw,1.75rem);color:hsl(var(--fg));margin-top:var(--s-7);padding-top:var(--s-4);border-top:1px solid hsl(var(--line));scroll-margin-top:calc(var(--hdr-h) + 24px)}
.ix-prose h2:first-child{margin-top:0}
.ix-prose h3{font-size:1.125rem;color:hsl(var(--fg));margin-top:var(--s-6)}
.ix-prose ol,.ix-prose ul{padding-left:var(--s-5)}
.ix-prose ol{list-style:decimal}.ix-prose ul{list-style:square}
.ix-prose li+li{margin-top:var(--s-2)}
.ix-prose li::marker{color:hsl(var(--brand));font-family:var(--f-mono);font-size:.875em}
.ix-prose strong{color:hsl(var(--fg))}
.ix-prose code{font-family:var(--f-mono);font-size:.875em;background:hsl(var(--ink-100));border:1px solid hsl(var(--ink-200));padding:1px 5px;border-radius:var(--radius)}
.ix-callout{border-left:2px solid hsl(var(--brand));background:hsl(var(--brand)/.05);padding:var(--s-4) var(--s-5);border-radius:0 var(--radius-md) var(--radius-md) 0;color:hsl(var(--fg-2))}
@media (max-width:1023px){.ix-doc{grid-template-columns:1fr;gap:var(--s-5)}.ix-doc__toc{position:static;border-bottom:1px solid hsl(var(--line));padding-bottom:var(--s-4)}}

/* 20. LINK GROUP (related) ------------------------------------------------- */
.ix-related{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));border-top:1px solid hsl(var(--line))}
.ix-related a{display:flex;justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-4) var(--s-2) var(--s-4) 0;border-bottom:1px solid hsl(var(--line));color:hsl(var(--fg))!important;font-weight:500;font-size:var(--fs-sm);min-height:52px}
.ix-related a:hover{color:hsl(var(--brand))!important}
.ix-related a svg{width:16px;height:16px;color:hsl(var(--fg-3))}
.ix-related a:hover svg{color:hsl(var(--brand))}

/* =========================================================================
   21. HEADER
   ========================================================================= */
header.et-l--header{position:sticky;top:0;z-index:100}
body.admin-bar header.et-l--header{top:32px}
@media (max-width:782px){body.admin-bar header.et-l--header{top:0}}
:is(header.et-l--header,footer.et-l--footer) :is(.et_builder_inner_content,.et_pb_section,.et_pb_row,.et_pb_column,.et_pb_module,.et_pb_code,.et_pb_code_inner){padding:0!important;margin:0!important;max-width:100%!important;width:100%!important;min-height:0!important;background:transparent!important;border:0!important}
.ix-hdr{position:relative;background:hsl(var(--ink-900));color:hsl(var(--brand-paper));border-bottom:1px solid hsl(var(--ink-800))}
.ix-hdr a{text-decoration:none}
.ix-hdr__bar{display:flex;align-items:center;gap:var(--s-5);height:var(--hdr-h)}
.ix-brand{display:inline-flex;align-items:center;gap:10px;color:#fff!important;flex:none}
.ix-brand img{width:28px;height:28px;border-radius:var(--radius);object-fit:cover}
.ix-brand span{font:700 15px/1 var(--f-display);letter-spacing:.06em;text-transform:uppercase}
.ix-brand span b{font-weight:700;color:hsl(var(--brand-violet))}
.ix-nav{flex:1;min-width:0}
.ix-nav__list{display:flex;align-items:center;gap:2px}
.ix-nav__item{position:static}
.ix-nav__top{appearance:none;background:none;border:0;display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 12px;border-radius:var(--radius);font:500 14px/1 var(--f-sans);color:hsl(var(--ink-200))!important;cursor:pointer}
.ix-nav__top svg{width:14px;height:14px;opacity:.7;transition:transform .15s var(--ease)}
.ix-nav__top:hover,.ix-nav__top[aria-expanded="true"]{color:#fff!important;background:hsl(var(--ink-800))}
.ix-nav__top[aria-expanded="true"] svg{transform:rotate(180deg)}
.ix-nav__top.is-current{color:#fff!important;box-shadow:inset 0 -2px 0 hsl(var(--brand-violet))}
.ix-hdr__end{display:flex;align-items:center;gap:var(--s-2);margin-left:auto;flex:none}
.ix-login{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 12px;border-radius:var(--radius);font:500 14px/1 var(--f-sans);color:hsl(var(--ink-200))!important}
.ix-login svg{width:14px;height:14px}
.ix-login:hover{color:#fff!important;background:hsl(var(--ink-800))}
.ix-hdr .ix-btn--primary{--h:40px;padding:0 18px}

/* Mega panels */
.ix-mega{position:absolute;left:0;right:0;top:100%;background:hsl(var(--ink-900));border-top:1px solid hsl(var(--ink-800));border-bottom:1px solid hsl(var(--ink-700));box-shadow:0 16px 32px -16px rgba(0,0,0,.6)}
.ix-mega[hidden]{display:none}
.ix-mega__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s-5);padding-block:var(--s-6)}
.ix-mega__col{grid-column:span 4}
.ix-mega__col--wide{grid-column:span 8}
.ix-mega .ix-label{display:block;margin-bottom:var(--s-3);color:hsl(var(--ink-400))}
.ix-mega__links{display:grid;grid-template-columns:repeat(var(--cols,1),minmax(0,1fr));column-gap:var(--s-5)}
.ix-mega__links a{display:flex;align-items:flex-start;gap:var(--s-3);padding:10px;margin-left:-10px;border-radius:var(--radius-md);color:hsl(var(--brand-paper))!important}
.ix-mega__links a:hover,.ix-mega__links a[aria-current]{background:hsl(var(--ink-800))}
.ix-mega__links a .ix-code{margin-top:2px;background:transparent;border-color:hsl(var(--ink-700));color:hsl(var(--ink-400))}
.ix-mega__links a strong{display:block;font-weight:500;font-size:14px;line-height:1.35;color:#fff}
.ix-mega__links a small{display:block;font-size:13px;line-height:1.45;color:hsl(var(--ink-400));margin-top:2px}
.ix-mega__links a:hover .ix-code{color:hsl(var(--brand-violet));border-color:hsl(var(--brand-violet)/.5)}
.ix-mega__feature{display:block;height:100%;padding:var(--s-5);border:1px solid hsl(var(--ink-700));border-radius:var(--radius-xl);color:hsl(var(--brand-paper))!important;background:hsl(var(--ink-800)/.5)}
.ix-mega__feature:hover{border-color:hsl(var(--brand-violet)/.6)}
.ix-mega__feature strong{display:block;font:600 1.0625rem/1.3 var(--f-display);color:#fff;margin:var(--s-2) 0 6px}
.ix-mega__feature p{font-size:13px;color:hsl(var(--ink-300))}
.ix-mega__feature .ix-link{margin-top:var(--s-4)}
.ix-hdr .ix-link{color:hsl(var(--brand-violet))!important;border-bottom-color:hsl(var(--brand-violet)/.35)}
.ix-mega__links .ix-code,.ix-msheet .ix-code{min-width:38px;justify-content:center}

/* Burger + mobile sheet */
.ix-burger{display:none;appearance:none;background:none;border:1px solid hsl(var(--ink-700));border-radius:var(--radius-md);width:44px;height:44px;align-items:center;justify-content:center;color:#fff;cursor:pointer}
.ix-burger svg{width:20px;height:20px}
.ix-burger .ix-i-x{display:none}
.ix-burger[aria-expanded="true"] .ix-i-menu{display:none}
.ix-burger[aria-expanded="true"] .ix-i-x{display:block}
.ix-msheet{display:none}
@media (max-width:1079px){
  .ix-nav,.ix-hdr__end .ix-login{display:none}
  .ix-burger{display:inline-flex}
  .ix-hdr__end{gap:var(--s-2)}
  .ix-msheet{display:block;position:fixed;left:0;right:0;top:var(--hdr-h);bottom:0;background:hsl(var(--ink-900));overflow-y:auto;overscroll-behavior:contain;padding:var(--s-3) var(--gutter) calc(var(--s-6) + env(safe-area-inset-bottom));border-top:1px solid hsl(var(--ink-800))}
  body.admin-bar .ix-msheet{top:calc(var(--hdr-h) + 46px)}
  .ix-msheet[hidden]{display:none}
  .ix-msheet details{border-bottom:1px solid hsl(var(--ink-800))}
  .ix-msheet summary,.ix-msheet>nav>a{display:flex;justify-content:space-between;align-items:center;min-height:56px;font:600 1.0625rem/1.2 var(--f-display);color:#fff!important;list-style:none;cursor:pointer;letter-spacing:-.01em}
  .ix-msheet>nav>a{border-bottom:1px solid hsl(var(--ink-800))}
  .ix-msheet summary::-webkit-details-marker{display:none}
  .ix-msheet summary svg{width:18px;height:18px;color:hsl(var(--ink-400));transition:transform .2s}
  .ix-msheet details[open] summary svg{transform:rotate(180deg)}
  .ix-msheet details ul{padding:0 0 var(--s-4)}
  .ix-msheet details a{display:flex;align-items:center;gap:var(--s-3);min-height:44px;color:hsl(var(--ink-200))!important;font-size:15px}
  .ix-msheet details a .ix-code{background:transparent;border-color:hsl(var(--ink-700));color:hsl(var(--ink-400))}
  .ix-msheet__cta{display:grid;gap:var(--s-3);margin-top:var(--s-6)}
  .ix-msheet__cta .ix-btn{width:100%}
  body.ix-menu-open{overflow:hidden}
}
@media (max-width:420px){.ix-hdr__end .ix-btn--primary{display:none}.ix-brand span{font-size:14px}}

/* =========================================================================
   22. FOOTER
   ========================================================================= */
.ix-ftr{background:var(--gradient-brand);background-color:hsl(var(--ink-900));color:hsl(var(--ink-300));border-top:1px solid hsl(var(--ink-800))}
.ix-ftr a:not(.ix-btn){color:hsl(var(--ink-200))!important;text-decoration:none}
.ix-ftr a:not(.ix-btn):hover{color:#fff!important;text-decoration:underline;text-underline-offset:3px}
.ix-ftr__top{display:grid;grid-template-columns:minmax(0,4fr) repeat(4,minmax(0,2fr));gap:var(--s-6);padding-block:var(--s-8) var(--s-7)}
.ix-ftr__brand p{margin-top:var(--s-4)!important;font-size:var(--fs-sm);line-height:1.6;max-width:34ch}
.ix-ftr__brand .ix-btn{margin-top:var(--s-5)}
.ix-ftr h2{font:500 var(--fs-label)/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:hsl(var(--brand-violet));margin-bottom:var(--s-4)!important}
.ix-ftr li{font-size:var(--fs-sm)}
.ix-ftr li a{display:inline-block;padding:6px 0}
.ix-ftr__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s-3);padding-block:var(--s-5);border-top:1px solid hsl(var(--ink-800));font:var(--fs-label)/1.6 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:hsl(var(--ink-400))}
.ix-ftr__bottom nav{display:flex;flex-wrap:wrap;gap:var(--s-4)}
@media (max-width:1023px){.ix-ftr__top{grid-template-columns:repeat(2,minmax(0,1fr))}.ix-ftr__brand{grid-column:1/-1}}
@media (max-width:479px){.ix-ftr__top{grid-template-columns:1fr 1fr;gap:var(--s-5)}}

/* =========================================================================
   23. MOTION
   ========================================================================= */
.ix [data-reveal]{opacity:0;transform:translateY(8px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.ix [data-reveal].is-in{opacity:1;transform:none}
.ix .ix-bar,.ix .ix-progress>span{transform-origin:left center}
.ix .is-animated .ix-bar{animation:ix-grow .7s var(--ease) both;animation-delay:calc(var(--i,0)*60ms)}
@keyframes ix-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){
  .ix [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}
  .ix .is-animated .ix-bar,.ix-skel{animation:none!important}
  .ix *,.ix-hdr *{transition:none!important;scroll-behavior:auto!important}
}
html:not(.js) .ix [data-reveal]{opacity:1;transform:none}

/* =========================================================================
   24. LEGACY BRIDGE — pages still on .ind-pg markup inherit the system.
   (Removed once every page is rebuilt on .ix components.)
   ========================================================================= */
.ind-pg{font-family:var(--f-sans);color:hsl(var(--fg));background:hsl(var(--bg));-webkit-font-smoothing:antialiased;overflow-x:hidden;line-height:1.6}
.ind-pg *{box-sizing:border-box}
.ind-pg h1,.ind-pg h2,.ind-pg h3,.ind-pg p,.ind-pg ul,.ind-pg ol,.ind-pg figure{padding:0}
.ind-pg a{color:hsl(var(--brand));text-decoration:none}
.ind-pg .w{max-width:calc(var(--max) + 2*var(--gutter));margin:0 auto;padding-inline:var(--gutter)}
.ind-pg .hero{background:var(--gradient-brand);background-color:hsl(var(--ink-900));padding:clamp(40px,3rem + 3vw,96px) 0 clamp(48px,3rem + 3vw,96px)}
.ind-pg .hero .w{position:relative}
.ind-pg .eb{display:flex;align-items:center;gap:8px;font:500 var(--fs-label)/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:hsl(var(--fg-3));margin-bottom:var(--s-4)}
.ind-pg .eb::before{content:"";width:16px;height:1px;background:currentColor;opacity:.6}
.ind-pg .hero .eb,.ind-pg .cta .eb{color:hsl(var(--brand-violet))}
.ind-pg h1{font:600 var(--fs-h1)/1.06 var(--f-display);letter-spacing:-.02em;text-transform:none;color:#fff;margin:0 0 var(--s-5);max-width:22ch;text-wrap:balance}
.ind-pg .lead{font-size:var(--fs-lead);line-height:1.55;color:hsl(var(--ink-300));max-width:var(--max-text);margin:0 0 var(--s-6)}
.ind-pg .bc{font:500 var(--fs-label)/1.5 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:hsl(var(--ink-400));margin-bottom:var(--s-6)}
.ind-pg .bc a{color:hsl(var(--ink-300))}
.ind-pg .bc a:hover{color:#fff;text-decoration:underline}
.ind-pg .btn,.ind-pg .btn2{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 var(--s-5);border-radius:var(--radius-md);font:600 var(--fs-sm)/1 var(--f-sans);letter-spacing:0;text-transform:none;margin:0 var(--s-3) var(--s-3) 0;border:1px solid transparent;transition:background-color .15s,border-color .15s}
.ind-pg .btn{background:hsl(var(--brand));color:#fff!important}
.ind-pg .btn::after{content:"";width:16px;height:16px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center/16px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center/16px no-repeat}
.ind-pg .btn:hover{background:hsl(239 99% 33%)}
.ind-pg .btn2{background:transparent;color:hsl(var(--brand-paper))!important;border-color:hsl(var(--ink-600))}
.ind-pg .btn2:hover{background:hsl(var(--ink-800));border-color:hsl(var(--ink-400))}
.ind-pg .sec{padding:var(--sec-y) 0;background:hsl(var(--brand-paper))}
.ind-pg .alt{background:hsl(var(--ink-50));border-top:1px solid hsl(var(--line-soft));border-bottom:1px solid hsl(var(--line-soft))}
.ind-pg h2{font:600 var(--fs-h2)/1.1 var(--f-display);letter-spacing:-.02em;text-transform:none;color:hsl(var(--fg));margin:0 0 var(--s-4);max-width:24ch;text-wrap:balance}
.ind-pg .sec>.w>.eb{padding-top:var(--s-4);border-top:1px solid hsl(var(--line))}
.ind-pg .sub{font-size:var(--fs-lead);line-height:1.55;color:hsl(var(--fg-2));max-width:var(--max-text);margin:0 0 var(--s-7)}
.ind-pg .g3,.ind-pg .g4{display:grid;gap:var(--s-4);background:none;border:0}
.ind-pg .g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ind-pg .g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.ind-pg .c{display:block;background:hsl(var(--surface));border:1px solid hsl(var(--line-soft));border-top:2px solid hsl(var(--ink-900));border-radius:var(--radius);padding:var(--s-5);color:hsl(var(--fg))!important}
.ind-pg .c h3{font:600 1.125rem/1.25 var(--f-display);letter-spacing:-.01em;text-transform:none;margin:0 0 var(--s-2);color:hsl(var(--fg))}
.ind-pg .c p{font-size:var(--fs-sm);line-height:1.6;color:hsl(var(--fg-2));margin:0}
.ind-pg a.c{transition:border-color .15s}
.ind-pg a.c:hover{border-top-color:hsl(var(--brand))}
.ind-pg a.c:hover h3{color:hsl(var(--brand))}
.ind-pg .rows{border-top:1px solid hsl(var(--line))}
.ind-pg .row{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--s-5);padding:var(--s-5) 0;border-bottom:1px solid hsl(var(--line));margin:0}
.ind-pg .row h3{font:600 1.125rem/1.3 var(--f-display);letter-spacing:-.01em;text-transform:none;margin:0;color:hsl(var(--fg))}
.ind-pg .row p{font-size:var(--fs-body);line-height:1.6;color:hsl(var(--fg-2));margin:0}
.ind-pg .steps{list-style:none;padding:0;margin:0;counter-reset:s;border-top:1px solid hsl(var(--line))}
.ind-pg .steps li{counter-increment:s;padding:var(--s-4) 0 var(--s-4) 56px;position:relative;border-bottom:1px solid hsl(var(--line));color:hsl(var(--fg-2))}
.ind-pg .steps li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:calc(var(--s-4) + 3px);font:500 12px/1 var(--f-mono);color:hsl(var(--brand));letter-spacing:.06em}
.ind-pg .steps strong{color:hsl(var(--fg));font-weight:600}
.ind-pg figure{margin:var(--s-7) 0 0}
.ind-pg figure img{width:100%;height:auto;display:block;border:1px solid hsl(var(--ink-300));border-radius:var(--radius-xl)}
.ind-pg figcaption{font:500 var(--fs-label)/1.5 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:hsl(var(--fg-3));margin-top:var(--s-3)}
.ind-pg details{border-bottom:1px solid hsl(var(--line));padding:0}
.ind-pg .sec details:first-of-type{border-top:1px solid hsl(var(--line))}
.ind-pg summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:var(--s-4);min-height:56px;padding:var(--s-4) 0;font:500 1rem/1.4 var(--f-sans);text-transform:none;color:hsl(var(--fg))}
.ind-pg summary::-webkit-details-marker{display:none}
.ind-pg summary::after{content:"";position:static;flex:none;width:12px;height:12px;background:linear-gradient(hsl(var(--brand)),hsl(var(--brand))) center/12px 1.5px no-repeat,linear-gradient(hsl(var(--brand)),hsl(var(--brand))) center/1.5px 12px no-repeat;transition:transform .2s var(--ease)}
.ind-pg details[open] summary::after{content:"";transform:rotate(45deg)}
.ind-pg summary:hover{color:hsl(var(--brand))}
.ind-pg details p{font-size:var(--fs-body);line-height:1.6;color:hsl(var(--fg-2));margin:0 0 var(--s-5);max-width:var(--max-text)}
.ind-pg .rel{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));border-top:1px solid hsl(var(--line));gap:0}
.ind-pg .rel a{display:flex;justify-content:space-between;align-items:center;gap:var(--s-3);min-height:52px;padding:var(--s-3) var(--s-3) var(--s-3) 0;border:0;border-bottom:1px solid hsl(var(--line));font:500 var(--fs-sm)/1.35 var(--f-sans);text-transform:none;color:hsl(var(--fg))}
.ind-pg .rel a::after{content:"";flex:none;width:16px;height:16px;background:hsl(var(--fg-3));-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center/16px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center/16px no-repeat}
.ind-pg .rel a:hover{color:hsl(var(--brand))}
.ind-pg .rel a:hover::after{background:hsl(var(--brand))}
.ind-pg .cta{background:var(--gradient-brand);background-color:hsl(var(--ink-900));padding:var(--sec-y) var(--gutter);text-align:left}
.ind-pg .cta>*{max-width:var(--max);margin-left:auto;margin-right:auto}
.ind-pg .cta h2{color:#fff;margin:0 auto var(--s-4);max-width:var(--max)}
.ind-pg .cta p{color:hsl(var(--ink-300));font-size:var(--fs-lead);line-height:1.55;max-width:var(--max);margin:0 auto var(--s-6)}
.ind-pg .cta .btn{margin-left:max(0px,calc((100% - var(--max))/2))}
.ind-pg a:focus-visible,.ind-pg summary:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}
.ind-pg .hero a:focus-visible,.ind-pg .cta a:focus-visible{outline-color:hsl(var(--brand-violet))}
/* Docs (legacy markup) */
.ind-doc .gd{margin-bottom:var(--s-5)}
.ind-doc .sec .c.gd{max-width:880px;border-top-width:1px;border-radius:var(--radius-xl);padding:clamp(20px,3vw,40px)}
.ind-doc .aud{font:500 var(--fs-label)/1.5 var(--f-mono)!important;letter-spacing:.1em;text-transform:uppercase;color:hsl(var(--fg-3))!important;margin-bottom:var(--s-5)!important;padding-bottom:var(--s-4);border-bottom:1px dashed hsl(var(--line))}
.ind-doc .gd h2{font:600 1.375rem/1.2 var(--f-display);letter-spacing:-.01em;margin:var(--s-6) 0 var(--s-3);max-width:none}
.ind-doc .gd h2:first-of-type{margin-top:0}
.ind-doc .gd p,.ind-doc .gd li{font-size:var(--fs-body);color:hsl(var(--fg-2))}
.ind-doc .gd ul,.ind-doc .gd ol{margin:0 0 var(--s-3) var(--s-5);padding:0}
.ind-doc .gd ul{list-style:square}.ind-doc .gd ol{list-style:decimal}
.ind-doc .gd li{margin-bottom:var(--s-2);line-height:1.6}
.ind-doc .gd li::marker{color:hsl(var(--brand));font-family:var(--f-mono);font-size:.875em}
.ind-doc .gd strong{color:hsl(var(--fg))}
.ind-doc .gd code{font-family:var(--f-mono);font-size:.875em;background:hsl(var(--ink-100));border:1px solid hsl(var(--ink-200));padding:1px 5px;border-radius:var(--radius)}
.ind-doc .doc-card{display:block}
.ind-doc .doc-card p{margin:0}
.ind-doc .doc-group{margin-bottom:var(--s-8)}
.ind-doc .doc-group>.eb{padding-top:var(--s-4);border-top:1px solid hsl(var(--line))}
@media (max-width:1023px){.ind-pg .g4{grid-template-columns:repeat(2,minmax(0,1fr))}.ind-pg .g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.ind-pg .g3,.ind-pg .g4,.ind-pg .row{grid-template-columns:1fr}.ind-pg .btn,.ind-pg .btn2{width:100%;justify-content:center;margin-right:0}}

/* 25. CONTENT ICONS (CSS mask, for page content without PHP) ------------- */
.ix-ico{display:inline-block;flex:none;width:16px;height:16px;background:currentColor;-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat;vertical-align:middle}
.ix-ico--arrow{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E")}
.ix-ico--check{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E")}
.ix-ico--minus{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E")}
.ix-ico--up{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 7h10v10'/%3E%3Cpath d='M7 17 17 7'/%3E%3C/svg%3E")}
.ix-link .ix-ico{width:14px;height:14px}
.ix-btn:hover .ix-ico--arrow{transform:translateX(2px)}
.ix-btn .ix-ico{transition:transform .15s var(--ease)}
.ix-table .yes .ix-ico{color:hsl(var(--brand))}
.ix-related a .ix-ico{color:hsl(var(--fg-3))}.ix-related a:hover .ix-ico{color:hsl(var(--brand))}

/* 26. FORMS & NEWSLETTER BAND (overrides inline styles from inc/ind-forms-front.php) */
body.ix-body .ind-f{font-family:var(--f-sans);color:hsl(var(--fg))}
body.ix-body .ind-f-label{font:500 var(--fs-sm)/1.3 var(--f-sans);text-transform:none;letter-spacing:0;color:hsl(var(--fg));margin-bottom:6px}
body.ix-body .ind-f-opt{color:hsl(var(--fg-3))}
body.ix-body .ind-f-input{min-height:44px;border:1px solid hsl(var(--ink-300));border-radius:var(--radius-md);background:hsl(var(--surface));padding:10px 12px;font:400 var(--fs-body)/1.4 var(--f-sans);color:hsl(var(--fg))}
body.ix-body .ind-f-input:hover{border-color:hsl(var(--ink-400))}
body.ix-body .ind-f-input:focus{border-color:hsl(var(--brand));box-shadow:0 0 0 1px hsl(var(--brand))}
body.ix-body .ind-f-input:user-invalid{border-color:hsl(var(--danger))}
body.ix-body .ind-f-hint{color:hsl(var(--fg-3));font-size:var(--fs-xs)}
body.ix-body .ind-f-submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 var(--s-5);border:1px solid hsl(var(--brand));border-radius:var(--radius-md);background:hsl(var(--brand));color:#fff;font:600 var(--fs-sm)/1 var(--f-sans);text-transform:none;letter-spacing:0}
body.ix-body .ind-f-submit:hover{background:hsl(var(--brand-hover))}
body.ix-body .ind-f-submit:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}
body.ix-body .ind-f-pill{min-height:40px;font:500 var(--fs-sm)/1.2 var(--f-sans);border:1px solid hsl(var(--ink-300));border-radius:var(--radius-md);padding:8px 12px;color:hsl(var(--fg));background:hsl(var(--surface))}
body.ix-body .ind-f-pill:hover{border-color:hsl(var(--ink-400))}
body.ix-body .ind-f-pill:has(input:checked){border-color:hsl(var(--brand));color:hsl(var(--brand));background:hsl(var(--brand)/.06)}
body.ix-body .ind-f-file{border:1.5px dashed hsl(var(--ink-300));border-radius:var(--radius-md);background:hsl(var(--surface))}
body.ix-body .ind-f-file:focus-within{border-color:hsl(var(--brand))}
body.ix-body .ind-f-file.has-file{border:1.5px solid hsl(var(--success));background:hsl(var(--success)/.05)}
body.ix-body .ind-f-file.has-error{border-color:hsl(var(--danger))}
body.ix-body .ind-f-file-btn{border:1px solid hsl(var(--ink-400));border-radius:var(--radius-md);font:600 var(--fs-sm)/1 var(--f-sans);text-transform:none;color:hsl(var(--fg));padding:10px 16px}
body.ix-body .ind-file-name{color:hsl(var(--success))}
body.ix-body .ind-f-consent{color:hsl(var(--fg-2));font-size:var(--fs-xs)}
body.ix-body .ind-f-consent input{accent-color:hsl(var(--brand))}
body.ix-body .ind-f-consent a{color:hsl(var(--brand));border-bottom-color:hsl(var(--brand)/.35)}
body.ix-body .ind-f-ok{border:1px solid hsl(var(--line-soft));border-top:2px solid hsl(var(--brand));border-radius:var(--radius-xl);background:hsl(var(--surface))}
body.ix-body .ind-f-ok-eyebrow{font:500 var(--fs-label)/1.4 var(--f-mono);letter-spacing:.12em;color:hsl(var(--fg-3))}
body.ix-body .ind-f-ok h3{font:600 1.25rem/1.25 var(--f-display);letter-spacing:-.01em;color:hsl(var(--fg))}
body.ix-body .ind-f-ok p{color:hsl(var(--fg-2))}
body.ix-body .ind-f-ok code{font:500 13px var(--f-mono);background:hsl(var(--ink-100));color:hsl(var(--ink-700));border:1px solid hsl(var(--ink-200));border-radius:var(--radius)}

body.ix-body .ind-sus{font-family:var(--f-sans)}
body.ix-body .ind-sus-band{background:hsl(var(--ink-50));border-top:1px solid hsl(var(--line-soft));padding:var(--s-7) var(--gutter)}
body.ix-body .ind-sus-band::before{display:none}
body.ix-body .ind-sus-in{max-width:var(--max);grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:var(--s-6)}
body.ix-body .ind-sus-eyebrow{font:500 var(--fs-label)/1.4 var(--f-mono);letter-spacing:.12em;color:hsl(var(--fg-3))}
body.ix-body .ind-sus h2{font:600 clamp(1.25rem,1.1rem + .6vw,1.625rem)/1.2 var(--f-display)!important;letter-spacing:-.01em;text-transform:none;color:hsl(var(--fg))!important}
body.ix-body .ind-sus p.ind-sus-lead{color:hsl(var(--fg-2));font-size:var(--fs-sm)}
body.ix-body .ind-sus-row{gap:var(--s-2)}
body.ix-body .ind-sus-band .ind-f-input{background:hsl(var(--surface));border-color:hsl(var(--ink-300));color:hsl(var(--fg))}
body.ix-body .ind-sus-band .ind-f-input::placeholder{color:hsl(var(--fg-3))}
body.ix-body .ind-sus-band .ind-f-consent{color:hsl(var(--fg-2))}
body.ix-body .ind-sus-band .ind-f-consent a{color:hsl(var(--brand))}
body.ix-body .ind-sus-band .ind-form-ok,body.ix-body .ind-sus-band .ind-form-status{color:hsl(var(--fg))!important}
body.ix-body .ind-sus-card{border:1px solid hsl(var(--line-soft));border-top:2px solid hsl(var(--brand));border-radius:var(--radius-xl);background:hsl(var(--surface))}
body.ix-body .ind-sus-card h2{color:hsl(var(--fg))!important}
@media (max-width:860px){body.ix-body .ind-sus-in{grid-template-columns:1fr;gap:var(--s-4)}}

/* 27. FORM PAGES (.ind-lp: Contacto, Empleos, Vinculación) */
body.ix-body .ind-lp{background:hsl(var(--bg));font-family:var(--f-sans);color:hsl(var(--fg))}
body.ix-body .ind-lp .eyebrow{font:500 var(--fs-label)/1.4 var(--f-mono);letter-spacing:.12em;color:hsl(var(--fg-3))}
body.ix-body .ind-lp .ind-page-hero{background:var(--gradient-brand);background-color:hsl(var(--ink-900));text-align:left;padding:clamp(40px,3rem + 3vw,96px) var(--gutter)}
body.ix-body .ind-lp .ind-page-hero .eyebrow{color:hsl(var(--brand-violet))}
body.ix-body .ind-lp .ind-page-hero-grid{background-image:linear-gradient(hsl(var(--brand-violet)/.06) 1px,transparent 1px),linear-gradient(90deg,hsl(var(--brand-violet)/.06) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:linear-gradient(180deg,#000,transparent);mask-image:linear-gradient(180deg,#000,transparent)}
body.ix-body .ind-lp .ind-page-hero-inner{max-width:var(--max);margin:0 auto}
body.ix-body .ind-lp .ind-page-hero h1{font:600 var(--fs-h1)/1.06 var(--f-display);letter-spacing:-.02em;text-transform:none;max-width:22ch;margin:0 0 var(--s-4)}
body.ix-body .ind-lp .ind-page-hero p{font-size:var(--fs-lead);color:hsl(var(--ink-300));max-width:var(--max-text);margin:0}
body.ix-body .ind-lp .form-wrap{padding:var(--sec-y) var(--gutter)}
body.ix-body .ind-lp .form-grid{max-width:var(--max);grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s-8)}
body.ix-body .ind-lp .form-side h2,body.ix-body .ind-lp .sec h2{font:600 var(--fs-h2)/1.1 var(--f-display);letter-spacing:-.02em;text-transform:none;color:hsl(var(--fg))}
body.ix-body .ind-lp .form-side p,body.ix-body .ind-lp .sec>p{color:hsl(var(--fg-2));font-size:var(--fs-body)}
body.ix-body .ind-lp .form-side .point{font-size:var(--fs-sm);color:hsl(var(--fg))}
body.ix-body .ind-lp .form-side .point::before{content:"";flex:none;width:6px;height:6px;margin-top:8px;background:hsl(var(--brand))}
body.ix-body .ind-lp .side-box{border-top-color:hsl(var(--line))}
body.ix-body .ind-lp .side-label{font:500 var(--fs-label)/1.4 var(--f-mono);letter-spacing:.12em;color:hsl(var(--fg-3))}
body.ix-body .ind-lp .sec{max-width:calc(var(--max) + 2*var(--gutter));padding:var(--sec-y) var(--gutter) 0}
body.ix-body .ind-lp .form-wrap .ind-f{background:hsl(var(--surface));border:1px solid hsl(var(--line-soft));border-radius:var(--radius-xl);padding:clamp(20px,3vw,40px)}
@media (max-width:900px){body.ix-body .ind-lp .form-grid{grid-template-columns:1fr;gap:var(--s-6)}}

/* 28. CHAIN (sequence of linked entities) & Q/A ----------------------------- */
.ix-chain{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);border:1px solid hsl(var(--ink-300));border-radius:var(--radius-xl);background:hsl(var(--surface))}
.ix-chain li{position:relative;display:flex;flex-direction:column;gap:4px;min-width:0;padding:var(--s-4) var(--s-5) var(--s-4) var(--s-4);border-right:1px solid hsl(var(--line-soft))}
.ix-chain li:first-child{border-radius:var(--radius-xl) 0 0 var(--radius-xl)}
.ix-chain li:last-child{border-right:0;border-radius:0 var(--radius-xl) var(--radius-xl) 0}
.ix-chain li:not(:last-child)::after{content:"";position:absolute;right:-7px;top:50%;width:12px;height:12px;background:hsl(var(--surface));border-top:1px solid hsl(var(--ink-300));border-right:1px solid hsl(var(--ink-300));transform:translateY(-50%) rotate(45deg);z-index:1}
.ix-chain strong{font:500 15px/1.3 var(--f-mono);color:hsl(var(--fg));overflow-wrap:anywhere}
.ix-chain small{font-size:var(--fs-xs);color:hsl(var(--fg-3))}
.ix-chain li.is-active{background:hsl(var(--brand)/.05);box-shadow:inset 0 2px 0 hsl(var(--brand))}
.ix-chain li.is-active::after{background:hsl(240 60% 98%)}
.ix-chain li.is-active strong{color:hsl(var(--brand))}
@media (max-width:899px){
  .ix-chain{grid-auto-flow:row}
  .ix-chain li{border-right:0;border-bottom:1px solid hsl(var(--line-soft));padding-left:var(--s-5)}
  .ix-chain li:first-child{border-radius:var(--radius-xl) var(--radius-xl) 0 0}
  .ix-chain li:last-child{border-bottom:0;border-radius:0 0 var(--radius-xl) var(--radius-xl)}
  .ix-chain li:not(:last-child)::after{right:auto;left:var(--s-5);top:auto;bottom:-7px;transform:rotate(135deg)}
}
.ix-qa{display:grid;gap:var(--s-4)}
.ix-qa__q{padding:var(--s-3) var(--s-4);background:hsl(var(--ink-50));border:1px solid hsl(var(--line-soft));border-radius:var(--radius-md);font-weight:500;color:hsl(var(--fg))}
.ix-qa .ix-label{display:block;margin-bottom:6px}
.ix-qa__a{border-left:2px solid hsl(var(--brand));padding-left:var(--s-4);color:hsl(var(--fg-2))}
.ix .ix-qa__a>*+*{margin-top:var(--s-3)}
.ix-demo .ix-figcap{margin-top:var(--s-4)}

/* 29. BRIDGE REFINEMENTS — problem lists and steps as editorial layouts ------ */
.ind-pg .g3:has(>div.c){counter-reset:pb;gap:var(--s-5) var(--s-6)}
.ind-pg .g3>div.c{counter-increment:pb;background:transparent;border:0;border-top:1px solid hsl(var(--ink-900));border-radius:0;padding:var(--s-4) 0 0}
.ind-pg .g3>div.c::before{content:counter(pb,decimal-leading-zero);display:block;font:500 var(--fs-label)/1 var(--f-mono);letter-spacing:.12em;color:hsl(var(--brand));margin-bottom:var(--s-3)}
.ind-pg .g3>div.c p{font-size:var(--fs-body)}
.ind-pg ol.steps{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:var(--s-5);border-top:0}
.ind-pg ol.steps li{padding:var(--s-7) 0 0;border-bottom:0;border-top:1px solid hsl(var(--line))}
.ind-pg ol.steps li::before{top:var(--s-4)}
.ind-pg ol.steps strong{display:block;font:600 1.0625rem/1.3 var(--f-display);letter-spacing:-.01em;margin-bottom:var(--s-2)}
@media (max-width:767px){.ind-pg ol.steps{grid-auto-flow:row;grid-auto-columns:auto;gap:0}.ind-pg ol.steps li{padding:var(--s-6) 0 var(--s-4)}}
.ix-table th[style*="min-width:0"]{white-space:nowrap}
.ix-stages li{overflow-wrap:normal;hyphens:auto}
@media (max-width:560px){.ix-stages li{letter-spacing:0;font-size:9.5px;padding-inline:3px}.ix-bom__name{flex-wrap:wrap;row-gap:2px}.ix-bom__name span:last-child{white-space:normal}}

/* 30. BRIDGE — legacy sections adopt the section-header grid (label | title) */
.ind-pg .sec>.w{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);column-gap:0}
.ind-pg .sec>.w>*{grid-column:1/-1}
.ind-pg .sec>.w>.eb{grid-column:1;grid-row:1;align-self:start;margin:0;padding:calc(var(--s-4) + 6px) var(--s-5) 0 0;border-top:1px solid hsl(var(--line))}
.ind-pg .sec>.w>.eb::before{display:none}
.ind-pg .sec>.w>h2{grid-column:2;grid-row:1;margin:0;padding-top:var(--s-4);border-top:1px solid hsl(var(--line));max-width:none}
.ind-pg .sec>.w>h2+.sub{grid-column:2;margin-top:var(--s-4)}
.ind-pg .sec>.w>h2~*:not(.sub){margin-top:var(--s-7)}
.ind-pg .sec>.w>h2~details{grid-column:2;margin-top:0}
.ind-pg .sec>.w>h2+details{margin-top:var(--s-7)}
.ind-pg .sec>.w>.sub{margin-bottom:0}
.ind-pg .sec>.w>.eb+.rel{grid-column:2;grid-row:1;border-top:1px solid hsl(var(--line));margin:0}
.ind-pg .sec>.w>.eb+.g3,.ind-pg .sec>.w>.eb+.g4{grid-column:1/-1;grid-row:2;margin-top:var(--s-6)}
.ind-doc .sec>.w>.eb+.c.gd{grid-column:1/-1}

@media (max-width:767px){
  .ind-pg .sec>.w{grid-template-columns:minmax(0,1fr)}
  .ind-pg .sec>.w>.eb{grid-column:1;padding:var(--s-4) 0 var(--s-3)}
  .ind-pg .sec>.w>h2,.ind-pg .sec>.w>h2+.sub,.ind-pg .sec>.w>h2~details,.ind-pg .sec>.w>.eb+.rel{grid-column:1;grid-row:auto;border-top:0;padding-top:0}
}

/* 31. SECTOR FLOW + EXAMPLE ------------------------------------------------ */
.ix-flow--sector>li>.ix-label{display:block;margin-bottom:var(--s-2);color:hsl(var(--fg-3))}
.ix-sector-ex{margin-top:var(--s-8)}
.ix-sector-ex .ix-panel__bar{gap:var(--s-3);flex-wrap:wrap}
@media (max-width:560px){.ix-stages[style*="--n:6"],.ix-stages[style*="--n:7"],.ix-stages[style*="--n:8"]{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:var(--s-3)}}

/* 32. PRICING ---------------------------------------------------------------- */
.ix-vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ix-checks{display:grid!important;gap:var(--s-2)!important}
.ix-checks li{display:flex;align-items:center;gap:var(--s-2)}
.ix-checks .ix-ico{width:14px;height:14px;color:hsl(var(--brand-violet))}
.ix-plans{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid hsl(var(--line));border-radius:var(--radius-xl);background:hsl(var(--surface));box-shadow:var(--shadow-sm);overflow:hidden}
.ix-plan{display:flex;flex-direction:column;padding:var(--s-6) var(--s-5) var(--s-5);position:relative}
.ix-plan+.ix-plan{border-left:1px solid hsl(var(--line-soft))}
.ix-plan.is-hl{box-shadow:inset 0 3px 0 hsl(var(--brand));background:hsl(var(--brand)/.03)}
.ix-plan .ix-label{color:hsl(var(--fg-3))}
.ix-plan.is-hl .ix-label{color:hsl(var(--brand))}
.ix .ix-plan__name{margin-top:var(--s-3);font:600 1.5rem/1.2 var(--f-display);letter-spacing:-.01em}
.ix .ix-plan__desc{margin-top:var(--s-2);font-size:var(--fs-sm);line-height:1.5;color:hsl(var(--fg-2));min-height:3em}
.ix .ix-plan__kv{margin:var(--s-5) 0 var(--s-6);border-top:1px solid hsl(var(--line-soft))}
.ix-plan__kv>div{padding:var(--s-3) 0;border-bottom:1px solid hsl(var(--line-soft))}
.ix-plan__kv dt{font:500 var(--fs-label)/1.3 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:hsl(var(--fg-3))}
.ix-plan__kv dd{margin:4px 0 0;font-size:var(--fs-sm);font-weight:500;color:hsl(var(--fg))}
.ix-plan .ix-btn{margin-top:auto;justify-content:center;width:100%}
@media (max-width:1023px){.ix-plans{grid-template-columns:repeat(2,minmax(0,1fr))}.ix-plan:nth-child(3){border-left:0}.ix-plan:nth-child(n+3){border-top:1px solid hsl(var(--line-soft))}}
@media (max-width:599px){.ix-plans{grid-template-columns:minmax(0,1fr)}.ix-plan+.ix-plan{border-left:0;border-top:1px solid hsl(var(--line-soft))}.ix .ix-plan__desc{min-height:0}}
.ix-table--plans{min-width:860px}
.ix-table--plans td{white-space:nowrap}
.ix-table--plans thead th:not(:first-child){font-size:12px}
.ix-table--plans tbody th{position:sticky;left:0;background:hsl(var(--surface));z-index:1;box-shadow:1px 0 0 hsl(var(--ink-200))}
.ix-table--plans td.is-hl{color:hsl(var(--fg))}
@media (max-width:599px){.ix-table--plans tbody th{min-width:150px}}
.ix-offset{margin-left:25%}
@media (max-width:767px){.ix-offset{margin-left:0}}

/* 33. BLOG ------------------------------------------------------------------- */
.ix-chips{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-6)!important}
.ix-chips a{display:inline-flex;align-items:center;min-height:36px;padding:0 var(--s-3);border:1px solid hsl(var(--ink-700));border-radius:var(--radius);font:500 var(--fs-label)/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:hsl(var(--ink-300))!important;text-decoration:none!important;transition:border-color .15s var(--ease),color .15s var(--ease)}
.ix-chips a:hover{border-color:hsl(var(--brand-violet));color:#fff!important}
.ix-chips a[aria-current]{background:hsl(var(--brand));border-color:hsl(var(--brand));color:#fff!important}
.ind-toolbar{display:flex;justify-content:space-between;align-items:center;gap:var(--s-4);flex-wrap:wrap;margin-bottom:var(--s-5)}
.ind-toolbar .cnt{font:500 var(--fs-label)/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:hsl(var(--fg-3))}
.ind-search-wrap{position:relative;flex:1 1 260px;max-width:340px}
.ind-search-wrap input{width:100%;height:44px;border:1px solid hsl(var(--line));border-radius:var(--radius);padding:0 64px 0 var(--s-4);font:400 var(--fs-sm) var(--f-sans);color:hsl(var(--fg));background:hsl(var(--surface));box-sizing:border-box;-webkit-appearance:none;appearance:none}
.ind-search-wrap input:focus{outline:2px solid hsl(var(--ring));outline-offset:1px;border-color:hsl(var(--brand))}
.ind-search-wrap input::-webkit-search-cancel-button{display:none}
.ind-search-icon{position:absolute;right:var(--s-4);top:50%;transform:translateY(-50%);pointer-events:none;color:hsl(var(--fg-3));display:flex}
.ind-search-icon.is-loading svg{animation:ixSpin .7s linear infinite}
@keyframes ixSpin{to{transform:rotate(360deg)}}
.ind-search-clear{position:absolute;right:40px;top:50%;transform:translateY(-50%);width:24px;height:24px;border:0;background:hsl(var(--ink-100));border-radius:var(--radius);color:hsl(var(--fg-2));font-size:14px;line-height:1;cursor:pointer;display:none;align-items:center;justify-content:center;padding:0}
.ind-search-wrap.has-value .ind-search-clear{display:flex}
#ind-knowledge-results{transition:opacity .15s var(--ease)}
@media (max-width:640px){.ind-search-wrap{max-width:100%;flex-basis:100%}}
.ix-posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;background:hsl(var(--surface));border:1px solid hsl(var(--line));border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-sm)}
.ix-post{display:flex;flex-direction:column;gap:var(--s-3);padding:var(--s-5);background:hsl(var(--surface));color:inherit!important;text-decoration:none!important;min-height:250px;box-shadow:1px 0 0 hsl(var(--line-soft)),0 1px 0 hsl(var(--line-soft));transition:background-color .15s var(--ease)}
.ix-post:hover{background:hsl(var(--ink-50))}
.ix-post:hover .ix-post__title{color:hsl(var(--brand))}
.ix-post:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:-2px}
.ix .ix-post__meta{display:flex;flex-wrap:wrap;gap:6px;font:500 var(--fs-label)/1.4 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:hsl(var(--fg-3))}
.ix-post__area{color:hsl(var(--brand))}
.ix .ix-post__title{font:600 1.125rem/1.3 var(--f-display);letter-spacing:-.01em;color:hsl(var(--fg))}
.ix .ix-post__ex{flex:1;font-size:var(--fs-sm);line-height:1.55;color:hsl(var(--fg-2))}
.ix .ix-post__foot{display:flex;justify-content:space-between;gap:var(--s-3);padding-top:var(--s-3);border-top:1px dashed hsl(var(--line-soft));font:500 var(--fs-label)/1.4 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:hsl(var(--fg-3));font-variant-numeric:tabular-nums}
@media (max-width:1023px){.ix-posts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.ix-posts{grid-template-columns:minmax(0,1fr)}.ix-post{min-height:0}}
.ix-cards-empty{padding:var(--s-8) var(--s-4);text-align:center;border:1px dashed hsl(var(--line));border-radius:var(--radius-xl);background:hsl(var(--surface))}
.ix .ix-cards-empty p{color:hsl(var(--fg-2));margin-bottom:var(--s-4)}
.ix-pager{display:flex;align-items:center;justify-content:center;gap:var(--s-2);flex-wrap:wrap;margin-top:var(--s-7)}
.ix-pager a,.ix-pager span{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 var(--s-3);border:1px solid hsl(var(--line));border-radius:var(--radius);background:hsl(var(--surface));font:500 12px/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:hsl(var(--fg))!important;text-decoration:none!important}
.ix-pager a:hover{border-color:hsl(var(--brand));color:hsl(var(--brand))!important}
.ix-pager span{background:hsl(var(--brand));border-color:hsl(var(--brand));color:#fff!important}
.ix-active-tag{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;margin:0 0 var(--s-4)}
.ix-active-tag a{display:inline-flex;align-items:center;gap:var(--s-2);height:32px;padding:0 var(--s-3);background:hsl(var(--brand));color:#fff!important;border-radius:var(--radius);font-size:var(--fs-sm);text-decoration:none!important}

/* 34. BLOG POST (Divi body layout 29432, restyled from here) ----------------- */
body.single-post #main-content .et_pb_post_title{background:var(--gradient-brand)!important;background-color:hsl(var(--ink-900))!important;padding-top:clamp(40px,3rem + 2vw,80px)}
body.single-post #main-content .et_pb_post_title::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(hsl(var(--ink-700)/.35) 1px,transparent 1px),linear-gradient(90deg,hsl(var(--ink-700)/.35) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 60%);mask-image:linear-gradient(90deg,transparent,#000 60%)}
body.single-post #main-content .et_pb_post_title .et_pb_title_container{position:relative}
body.single-post #main-content .et_pb_post_title .entry-title{font:600 var(--fs-h1)/1.1 var(--f-display);letter-spacing:-.02em;text-transform:none;color:#fff;max-width:24ch;text-wrap:balance}
body.single-post .ind-breadcrumb{font:500 var(--fs-label)/1.5 var(--f-mono);letter-spacing:.1em;color:hsl(var(--ink-400));text-shadow:none}
body.single-post .ind-breadcrumb a{color:hsl(var(--ink-300))}
body.single-post .ind-breadcrumb a:hover{color:hsl(var(--brand-violet))}
body.single-post .ind-breadcrumb span{color:hsl(var(--ink-500))}
body.single-post .ind-breadcrumb .is-current{color:hsl(var(--ink-200));font-weight:500}
body.single-post .ind-hero-tag{font:500 var(--fs-label)/1.4 var(--f-mono);letter-spacing:.12em;color:hsl(var(--brand-violet))}
body.single-post .ind-deck{font-size:var(--fs-lead);color:hsl(var(--ink-300));max-width:62ch}
body.single-post #main-content .et_pb_post_title .et_pb_title_meta_container,body.single-post #main-content .et_pb_post_title .post-meta{border-top-color:hsl(var(--ink-700));color:hsl(var(--ink-200));font-size:var(--fs-sm);font-variant-numeric:tabular-nums}
body.single-post .ind-meta-label{font:500 var(--fs-label)/1.3 var(--f-mono);letter-spacing:.12em;color:hsl(var(--ink-400))}
body.single-post .ind-read-time{color:hsl(var(--ink-200))}
body.single-post #main-content .ind-content-block{font-family:var(--f-sans);color:hsl(var(--fg-2))}
body.single-post #main-content .ind-content-block p,body.single-post #main-content .ind-content-block li{font-size:1.0625rem;line-height:1.7;color:hsl(var(--ink-700))}
body.single-post #main-content .ind-content-block h2{font:600 clamp(1.375rem,1.2rem + .6vw,1.75rem)/1.2 var(--f-display);letter-spacing:-.015em;text-transform:none;color:hsl(var(--fg));margin-top:var(--s-7);padding-top:var(--s-4);border-top:1px solid hsl(var(--line-soft))}
body.single-post #main-content .ind-content-block h3{font:600 1.1875rem/1.3 var(--f-display);color:hsl(var(--fg))}
body.single-post #main-content .ind-content-block a:not([style]):not(.ind-tag){color:hsl(var(--brand));text-decoration:underline;text-decoration-color:hsl(var(--brand)/.35);text-underline-offset:3px}
body.single-post #main-content .ind-content-block div[style*="background:#F7F7F7"]{background:hsl(var(--surface))!important;border:1px solid hsl(var(--line))!important;border-left:3px solid hsl(var(--brand))!important;border-radius:var(--radius-xl)}
body.single-post #main-content .ind-content-block div[style*="background:#F7F7F7"] a[style]{font:600 var(--fs-sm)/1 var(--f-sans)!important;text-transform:none!important;letter-spacing:0!important;border-radius:var(--radius);display:inline-flex;align-items:center;height:44px;padding:0 20px!important}
body.single-post #main-content .ind-content-block h2[style]{border-top:0;padding-top:0}
body.single-post .ind-faq{border-top-color:hsl(var(--line-soft))}
body.single-post .ind-faq:last-of-type{border-bottom:1px solid hsl(var(--line-soft))}
body.single-post .ind-faq summary{min-height:56px;font:500 1rem/1.4 var(--f-sans);color:hsl(var(--fg))}
body.single-post .ind-faq summary:hover{color:hsl(var(--brand))}
body.single-post .ind-faq p{font-size:var(--fs-sm)!important;color:hsl(var(--fg-2))!important}
body.single-post .ind-post-tags{border-top-color:hsl(var(--line-soft))}
body.single-post .ind-post-tags .ind-post-tags-label,body.single-post .ind-toc-label,body.single-post .ind-rail-label{font:500 var(--fs-label)/1.4 var(--f-mono);letter-spacing:.12em;color:hsl(var(--fg-3))}
body.single-post a.ind-tag{border-radius:var(--radius);border-color:hsl(var(--line));color:hsl(var(--fg-2));font-size:var(--fs-xs)}
body.single-post .ind-toc-list{border-left-color:hsl(var(--line-soft))}
body.single-post .ind-toc-list a{color:hsl(var(--fg-2))}
body.single-post .ind-toc-list a.is-active{color:hsl(var(--brand));border-left-color:hsl(var(--brand));font-weight:500}
body.single-post .ind-toc-block,body.single-post .ind-rail-block{border-radius:var(--radius-xl)!important;box-shadow:var(--shadow-sm)!important;border:1px solid hsl(var(--line-soft))}
@media (max-width:1399px){body.single-post .ind-toc-block,body.single-post .ind-rail-block{border:0;box-shadow:none!important}}
body.single-post .ind-share a{border-radius:var(--radius);border-color:hsl(var(--line));color:hsl(var(--fg-2));min-height:40px;display:flex;align-items:center;justify-content:center}
body.single-post .ind-share a:hover{border-color:hsl(var(--brand));color:hsl(var(--brand))}
body.single-post .ind-related a{background:hsl(var(--ink-50));border-color:hsl(var(--line-soft));border-radius:var(--radius)}
body.single-post .ind-related a:hover .t{color:hsl(var(--brand))}
body.single-post .ind-related .m{font:500 var(--fs-label)/1.4 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:hsl(var(--brand))}
body.single-post .ind-rail-cta{background:var(--gradient-brand);border-radius:var(--radius-xl)}
body.single-post .ind-rail-cta p{color:hsl(var(--ink-300))}
body.single-post .ind-rail-cta a{border-radius:var(--radius);font:600 var(--fs-sm)/1 var(--f-sans);text-transform:none;letter-spacing:0;height:44px;display:flex;align-items:center;justify-content:center;padding:0}
body.single-post .ind-cta{background:var(--gradient-brand);background-color:hsl(var(--ink-900));padding-block:var(--sec-y)}
body.single-post .ind-cta h2{font:600 var(--fs-h2)/1.15 var(--f-display);letter-spacing:-.02em;text-transform:none;text-wrap:balance}
body.single-post .ind-cta .ind-btn-p,body.single-post .ind-cta .ind-btn-s{font:600 var(--fs-sm)/1 var(--f-sans);text-transform:none;letter-spacing:0;height:44px;padding:0 20px;display:inline-flex;align-items:center;border-radius:var(--radius);margin:6px}
body.single-post .ind-cta .ind-btn-s{color:#fff;border-color:hsl(var(--ink-600))}
body.single-post .ind-cta .ind-btn-s:hover{border-color:hsl(var(--brand-violet))}

/* 35. 404 ------------------------------------------------------------------- */
.ix-404{min-height:calc(100vh - var(--hdr-h,64px) - 120px);display:flex;align-items:center}
.ix-404 .ix-wrap{width:100%}
.ix-404__nav ul{border-top:1px solid hsl(var(--ink-700))}
.ix-404__nav li{border-bottom:1px solid hsl(var(--ink-700))}
.ix-404__nav a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px var(--s-4);align-items:center;padding:var(--s-4) 0;color:hsl(var(--brand-paper))!important;text-decoration:none!important}
.ix-404__t{font:600 1.0625rem/1.3 var(--f-display)}
.ix-404__d{grid-column:1;font-size:var(--fs-sm);color:hsl(var(--ink-400))}
.ix-404__nav .ix-ico{grid-column:2;grid-row:1/span 2;color:hsl(var(--ink-400));transition:transform .15s var(--ease),color .15s var(--ease)}
.ix-404__nav a:hover .ix-404__t,.ix-404__nav a:hover .ix-ico{color:hsl(var(--brand-violet))}
.ix-404__nav a:hover .ix-ico{transform:translateX(3px)}
.ix-404__nav a:focus-visible{outline:2px solid hsl(var(--brand-violet));outline-offset:2px}

/* 36. COMPANY PAGE BITS ------------------------------------------------------ */
.ix .ix-kv--dark{grid-template-columns:minmax(0,1fr);border-color:hsl(var(--ink-700))}
.ix .ix-kv--dark>div{border-top:0}
.ix-kv--dark>div{border-right:0;border-bottom:1px solid hsl(var(--ink-700));padding:var(--s-3) 0}
.ix-kv--dark>div:last-child{border-bottom:0}
.ix-hero__aside .ix-kv--dark{border:0;border-top:1px solid hsl(var(--ink-700));border-radius:0}
.ix-kv--dark dt{color:hsl(var(--ink-400))}
.ix-kv--dark dd{color:hsl(var(--brand-paper));white-space:normal;font-family:var(--f-sans);font-size:var(--fs-sm)}
.ix .ix-ticks{display:grid;gap:var(--s-3);padding:0;margin-top:var(--s-5);list-style:none}
.ix-ticks li{position:relative;padding-left:var(--s-6);color:hsl(var(--fg))}
.ix-ticks li::before{content:"";position:absolute;left:0;top:.7em;width:14px;height:1px;background:hsl(var(--brand))}
.ix-figure{margin:var(--s-8) 0 0}
.ix-figure img{display:block;width:100%;height:auto}
.ix-anchor{scroll-margin-top:calc(var(--hdr-h,64px) + 24px)}
.ix-card p a{color:hsl(var(--brand));text-decoration:underline;text-decoration-color:hsl(var(--brand)/.35);text-underline-offset:3px}
.ix-card__foot--stack{flex-direction:column;align-items:flex-start}
.ix-sec--white .ix-flow>li::before{background:hsl(var(--surface))}

/* 37. FORM LAYOUT (Solicitar demo) -------------------------------------------- */
.ix-formgrid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s-8);align-items:start}
.ix .ix-formgrid__side>*+*{margin-top:var(--s-4)}
.ix-formgrid__alt{margin-top:var(--s-7)!important;padding-top:var(--s-5);border-top:1px solid hsl(var(--line))}
.ix .ix-formgrid__alt>*+*{margin-top:var(--s-2)}
.ix-formcard{background:hsl(var(--surface));border:1px solid hsl(var(--line-soft));border-radius:var(--radius-xl);padding:clamp(20px,3vw,40px);box-shadow:var(--shadow-sm)}
.ix-form{display:grid;gap:var(--s-5);position:relative}
.ix .ix-form__req{font-size:var(--fs-xs);color:hsl(var(--fg-3))}
.ix-form__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-4)}
.ix-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.ix-fieldset{border:0;padding:0;margin:0;min-width:0}
.ix-fieldset legend{font:500 var(--fs-sm)/1.3 var(--f-sans);color:hsl(var(--fg));margin-bottom:var(--s-2);padding:0}
.ix-checks-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-2)}
.ix-check{display:flex;align-items:center;gap:var(--s-2);min-height:44px;padding:0 var(--s-3);border:1px solid hsl(var(--ink-300));border-radius:var(--radius-md);font-size:var(--fs-sm);color:hsl(var(--fg));cursor:pointer;background:hsl(var(--surface));transition:border-color .15s var(--ease)}
.ix-check:hover{border-color:hsl(var(--ink-400))}
.ix-check:has(input:checked){border-color:hsl(var(--brand));background:hsl(var(--brand)/.04)}
.ix-check:has(input:focus-visible){outline:2px solid hsl(var(--ring));outline-offset:1px}
.ix .ix-check input,.ix .ix-consent input{width:18px;height:18px;min-height:0;margin:0;flex:none;accent-color:hsl(var(--brand))}
.ix-consent{display:flex;gap:var(--s-3);align-items:flex-start;font-size:var(--fs-sm);line-height:1.5;color:hsl(var(--fg-2));cursor:pointer}
.ix .ix-consent input{margin-top:2px}
.ix-consent a{color:hsl(var(--brand));text-decoration:underline;text-underline-offset:3px}
.ix-form .ix-btn{justify-self:start}
.ix-form-ok{border:1px solid hsl(var(--line-soft));border-top:3px solid hsl(var(--success));border-radius:var(--radius-xl);background:hsl(var(--surface));padding:var(--s-6);outline:none}
.ix .ix-form-ok>*+*{margin-top:var(--s-3)}
.ix-form-ok a{color:hsl(var(--brand))}
@media (max-width:1023px){.ix-formgrid{grid-template-columns:minmax(0,1fr);gap:var(--s-7)}}
@media (max-width:640px){.ix-form__row,.ix-checks-grid{grid-template-columns:minmax(0,1fr)}.ix-form .ix-btn{justify-self:stretch}}

/* 38. LEGAL PAGES (.ind-lp .legal bridge) ------------------------------------ */
body.ix-body .ind-lp .legal{padding:var(--sec-y) var(--gutter)}
body.ix-body .ind-lp .legal .wrap{max-width:72ch;margin:0 auto}
body.ix-body .ind-lp .legal h2{font:600 clamp(1.25rem,1.1rem + .5vw,1.5rem)/1.25 var(--f-display);letter-spacing:-.01em;text-transform:none;color:hsl(var(--fg));margin:var(--s-7) 0 var(--s-3);padding-top:var(--s-4);border-top:1px solid hsl(var(--line-soft))}
body.ix-body .ind-lp .legal h2:first-child{margin-top:0}
body.ix-body .ind-lp .legal h3{font:600 1.0625rem/1.3 var(--f-display);color:hsl(var(--fg));margin:var(--s-5) 0 var(--s-2)}
body.ix-body .ind-lp .legal p,body.ix-body .ind-lp .legal li{font-size:1rem;line-height:1.7;color:hsl(var(--ink-700))}
body.ix-body .ind-lp .legal a{color:hsl(var(--brand));text-decoration:underline;text-decoration-color:hsl(var(--brand)/.35);text-underline-offset:3px}
body.ix-body .ind-lp .legal table{display:block;overflow-x:auto;border:1px solid hsl(var(--line));border-radius:var(--radius-xl);font-size:var(--fs-sm);font-variant-numeric:tabular-nums}
body.ix-body .ind-lp .legal th{font:500 var(--fs-label)/1.3 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:hsl(var(--fg-3));background:hsl(var(--ink-50));padding:10px var(--s-4);border-bottom:1px solid hsl(var(--ink-200));white-space:nowrap}
body.ix-body .ind-lp .legal td{padding:10px var(--s-4);border-bottom:1px solid hsl(var(--ink-200));color:hsl(var(--fg-2));vertical-align:top}
body.ix-body .ind-lp .legal tr:last-child td{border-bottom:0}
body.ix-body .ind-lp .ind-page-hero{text-align:left}
body.ix-body .ind-lp .ind-page-hero .eyebrow{text-align:left!important}
body.ix-body .ind-lp .ind-page-hero h1{color:#fff}
body.ix-body .ind-lp .ind-page-hero>h1,body.ix-body .ind-lp .ind-page-hero>p{max-width:var(--max);margin-left:auto;margin-right:auto}
body.ix-body .ind-lp .ind-scanline{display:none}
.ix-gantt{overflow-y:hidden}

/* 39. HUB PAGES ------------------------------------------------------------ */
.ix-hero__aside a.ix-code{display:inline-flex;align-items:center;min-height:28px;padding:0 8px;text-decoration:none!important}
.ix-hero__aside a.ix-code:hover{border-color:hsl(var(--brand-violet));color:#fff}

/* 40. NAV SPLIT ITEMS (label = link to parent page, caret = submenu) -------- */
.ix-nav__item--split{display:flex;align-items:center;border-radius:var(--radius);transition:background-color .15s var(--ease)}
.ix-nav__item--split>.ix-nav__top{padding-right:2px}
.ix-nav__item--split>.ix-nav__top:hover{background:transparent}
.ix-nav__item--split:hover,.ix-nav__item--split:has(.ix-nav__caret[aria-expanded="true"]){background:hsl(var(--ink-800))}
.ix-nav__item--split:hover>.ix-nav__top,.ix-nav__item--split:has(.ix-nav__caret[aria-expanded="true"])>.ix-nav__top{color:#fff!important}
.ix-nav__item--split.is-current{box-shadow:inset 0 -2px 0 hsl(var(--brand-violet))}
.ix-nav__item--split.is-current>.ix-nav__top{color:#fff!important}
.ix-nav__caret{appearance:none;background:none;border:0;display:inline-flex;align-items:center;justify-content:center;width:30px;height:40px;padding:0 10px 0 4px;margin:0;color:hsl(var(--ink-200));cursor:pointer;border-radius:var(--radius)}
.ix-nav__caret svg{width:14px;height:14px;opacity:.75;transition:transform .15s var(--ease)}
.ix-nav__caret:hover{color:#fff}
.ix-nav__caret[aria-expanded="true"] svg{transform:rotate(180deg)}

/* 41. BRIDGE FIX — several H2 groups in one section (FAQ, guides) ---------- */
.ind-pg .sec>.w>h2~h2{grid-row:auto;margin-top:var(--s-8)}
.ind-pg .sec>.w>details+details:not(.sub){margin-top:0}
.ind-pg .sec>.w>h2+details:not(.sub){margin-top:var(--s-6)}

/* 42. BLOG CARD THUMBNAIL ---------------------------------------------------- */
.ix-post__thumb{display:block;margin:calc(-1*var(--s-5)) calc(-1*var(--s-5)) var(--s-2);aspect-ratio:16/9;overflow:hidden;background:hsl(var(--ink-100));border-bottom:1px solid hsl(var(--line-soft))}
.ix-post__thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s var(--ease)}
.ix-post:hover .ix-post__thumb img{transform:scale(1.03)}
@media (prefers-reduced-motion:reduce){.ix-post:hover .ix-post__thumb img{transform:none}}

/* 43. LEGAL PAGES ------------------------------------------------------------ */
.ix-legal{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);align-items:start}
.ix-legal__toc{position:sticky;top:calc(var(--hdr-h,64px) + 24px);padding-right:var(--s-6)}
.ix-legal__toc .ix-label{display:block;padding-bottom:var(--s-3);border-bottom:1px solid hsl(var(--line))}
.ix-legal__toc ol{counter-reset:none}
.ix-legal__toc a{display:block;padding:8px 0;font-size:var(--fs-sm);line-height:1.35;color:hsl(var(--fg-2))!important;text-decoration:none!important;border-bottom:1px solid hsl(var(--line-soft))}
.ix-legal__toc a:hover{color:hsl(var(--brand))!important}
.ix-legal .ix-prose{max-width:72ch}
.ix-legal .ix-prose h2{scroll-margin-top:calc(var(--hdr-h,64px) + 24px)}
.ix-legal .ix-prose a{color:hsl(var(--brand))}
.ix-legal .ix-table-wrap{margin-top:var(--s-4)}
.ix-legal .ix-table th[scope=row]{min-width:0}
.ix-legal .ix-table td{white-space:normal}
.ix-docs-switch{display:grid;gap:var(--s-2)}
.ix-docs-switch a{display:flex;justify-content:space-between;align-items:center;min-height:44px;padding:0 var(--s-3);border:1px solid hsl(var(--ink-700));border-radius:var(--radius);color:hsl(var(--ink-200))!important;text-decoration:none!important;font-size:var(--fs-sm)}
.ix-docs-switch a:hover{border-color:hsl(var(--brand-violet));color:#fff!important}
.ix-docs-switch a[aria-current]{border-color:hsl(var(--brand-violet));color:#fff!important}
@media (max-width:1023px){.ix-legal{grid-template-columns:minmax(0,1fr)}.ix-legal__toc{position:static;padding:0 0 var(--s-6)}}
.ix .ix-prose>h2{margin-top:var(--s-7)}

/* 44. DOCUMENTATION GUIDES ---------------------------------------------------- */
.ix-doc-body ol{list-style:none;padding-left:0;counter-reset:step}
.ix-doc-body ol>li{position:relative;counter-increment:step;padding:0 0 0 44px;min-height:28px}
.ix-doc-body ol>li::before{content:counter(step,decimal-leading-zero);position:absolute;left:0;top:1px;display:inline-flex;align-items:center;justify-content:center;width:30px;height:24px;border:1px solid hsl(var(--line));border-radius:var(--radius);background:hsl(var(--surface));font:500 11px/1 var(--f-mono);letter-spacing:.04em;color:hsl(var(--brand))}
.ix-doc-body ol>li+li{margin-top:var(--s-3)}
.ix-doc-body strong{color:hsl(var(--fg));font-weight:600}
.ix-doc-body a{color:hsl(var(--brand));text-decoration:underline;text-decoration-color:hsl(var(--brand)/.35);text-underline-offset:3px}
.ix-doc-body .ix-faq{margin-top:var(--s-4)}
.ix .ix-doc-body .ix-faq details>p{margin-top:0}
.ix .ix-note{padding:var(--s-4) var(--s-5);border:1px solid hsl(var(--line-soft));border-left:3px solid hsl(var(--brand));border-radius:var(--radius-md);background:hsl(var(--surface));color:hsl(var(--fg))}
.ix-doc-body code{font:500 .875em var(--f-mono);background:hsl(var(--ink-100));padding:1px 5px;border-radius:3px}

/* 45. FORM PAGES (Contacto, Empleos, Vinculación) — shortcode internals ------- */
.ix-formcard--wide{max-width:none}
.ix-vn-help{max-width:520px}
.ix-kv--dark a{color:hsl(var(--brand-violet))!important;text-decoration:none}
.ix-kv--dark a:hover{text-decoration:underline}
.ix .ind-emp-areas{background:transparent;border-top:0;gap:var(--s-5)}
.ix .ind-emp-area{background:hsl(var(--surface));border:1px solid hsl(var(--line-soft));border-top:2px solid hsl(var(--ink-900));border-radius:var(--radius);padding:var(--s-5)}
.ix .ind-emp-area h3{font:600 1.125rem/1.25 var(--f-display);letter-spacing:-.01em;text-transform:none;color:hsl(var(--fg));margin-bottom:var(--s-2)}
.ix .ind-emp-area p{font-size:var(--fs-sm);color:hsl(var(--fg-2))}
.ix .ind-vac,.ix .ind-vac-empty{background:hsl(var(--surface));border:1px solid hsl(var(--line-soft));border-top:2px solid hsl(var(--brand));border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:var(--s-6)}
.ix .ind-vac h3,.ix .ind-vac-empty h3{font:600 1.25rem/1.25 var(--f-display);letter-spacing:-.01em;color:hsl(var(--fg))}
.ix .ind-vac-empty p,.ix .ind-vac-desc{color:hsl(var(--fg-2))}
.ix .ind-vac-eyebrow{font:500 var(--fs-label)/1.4 var(--f-mono);letter-spacing:.12em;color:hsl(var(--brand))}
.ix .ind-vac-chips span{border-radius:var(--radius);background:hsl(var(--ink-50));border-color:hsl(var(--line-soft));font:500 var(--fs-label)/1.4 var(--f-mono);letter-spacing:.06em;color:hsl(var(--fg-2))}
.ix .ind-vac-desc h2,.ix .ind-vac-desc h3,.ix .ind-vac-desc h4{font:600 1.0625rem/1.3 var(--f-display);text-transform:none;color:hsl(var(--fg))}
.ix .ind-vac-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 var(--s-5);border-radius:var(--radius);font:600 var(--fs-sm)/1 var(--f-sans);text-transform:none;letter-spacing:0;background:hsl(var(--brand))}
.ix .ind-vac-btn--dark{background:hsl(var(--ink-900))}
.ix .ind-vac-btn:hover{background:hsl(var(--brand-hover))}
.ix .ind-vac summary{font:500 var(--fs-sm)/1.4 var(--f-sans)}
.ix .vn-sec{border-top:1px solid hsl(var(--line));padding-top:var(--s-5)}
.ix .vn-sec h3{font:600 1.125rem/1.3 var(--f-display);letter-spacing:-.01em;text-transform:none;color:hsl(var(--fg));margin-bottom:var(--s-1)}
.ix .vn-sec>p{font-size:var(--fs-sm);color:hsl(var(--fg-2))}
.ix .vn-type .c{border:1px solid hsl(var(--ink-300));border-radius:var(--radius-md);padding:var(--s-4)}
.ix .vn-type:hover .c{border-color:hsl(var(--ink-400))}
.ix .vn-type input:checked+.c{border-color:hsl(var(--brand));box-shadow:inset 0 3px 0 hsl(var(--brand));background:hsl(var(--brand)/.04)}
.ix .vn-type input:focus-visible+.c{outline:2px solid hsl(var(--ring));outline-offset:2px}
.ix .vn-type .tag{font:500 var(--fs-label)/1.4 var(--f-mono);letter-spacing:.12em;color:hsl(var(--brand))}
.ix .vn-type b{font:600 1rem/1.3 var(--f-display);color:hsl(var(--fg))}
.ix .vn-type small{font-size:var(--fs-xs);color:hsl(var(--fg-2))}
.ix .vn-type .dl{font:500 var(--fs-label)/1.4 var(--f-mono);letter-spacing:.04em;color:hsl(var(--fg-3));border-top-color:hsl(var(--line-soft))}
.ix .vn-empty{border:1px dashed hsl(var(--line));border-radius:var(--radius-md);color:hsl(var(--fg-2));font-size:var(--fs-sm)}
.ix .ix-formcard .ind-f-ok{border-radius:var(--radius-xl)}

/* 8D steps: code label replaces the numeric counter */
.ix-doc-body ol.ix-coded>li{padding-left:0;display:flex;gap:var(--s-3);align-items:baseline}
.ix-doc-body ol.ix-coded>li::before{display:none}
.ix-doc-body ol.ix-coded .ix-code{flex:none;min-width:34px;justify-content:center}

/* 46. READING LAYER — guías, páginas legales y texto largo (oct 2026) ----------
   Reemplaza el "puente" legado de lectura: más contraste, ritmo por espacio
   (no por líneas), índice con estado activo y progreso, y en las guías una
   hoja blanca con recorrido numerado (gramática de línea "plan" punteada). */
.ix-prose{color:hsl(var(--ink-700));font-size:1.0625rem;line-height:1.7}
.ix .ix-prose>h2{margin-top:var(--s-8)}
.ix .ix-prose>h2:first-child{margin-top:0}
.ix-prose h2{border-top:0;padding-top:0;font-size:clamp(1.375rem,1.2rem + .6vw,1.75rem);line-height:1.2;color:hsl(var(--fg))}
.ix .ix-prose>h2+*{margin-top:var(--s-3)}
.ix-prose h3{font-size:1.1875rem;line-height:1.3}
.ix .ix-prose>h3+*{margin-top:var(--s-2)}
.ix-prose p{max-width:68ch}
.ix-prose ul:not(.ix-ticks){list-style:none;padding-left:0;display:grid;gap:var(--s-2)}
.ix-prose ul:not(.ix-ticks)>li{position:relative;padding-left:var(--s-5)}
.ix-prose ul:not(.ix-ticks)>li::before{content:"";position:absolute;left:0;top:.82em;width:10px;height:1.5px;background:hsl(var(--brand))}
.ix-prose ul:not(.ix-ticks) li+li{margin-top:0}
.ix-prose strong{font-weight:600;color:hsl(var(--fg))}

/* Índice lateral: numerado, con estado activo y medidor de lectura */
.ix-legal{column-gap:var(--s-7)}
.ix-legal__toc{grid-row:span 2;padding-right:0}
.ix-legal__toc .ix-label{border-bottom:0;padding-bottom:var(--s-2)}
.ix-toc-meter{height:2px;margin-bottom:var(--s-3);background:hsl(var(--line-soft));border-radius:2px;overflow:hidden}
.ix-toc-meter>span{display:block;height:100%;width:0;background:hsl(var(--brand));transition:width .15s linear}
.ix-legal__toc ol{counter-reset:toc}
.ix-legal__toc li{counter-increment:toc}
.ix-legal__toc a{display:grid;grid-template-columns:26px minmax(0,1fr);gap:var(--s-2);align-items:baseline;padding:9px 0 9px var(--s-3);border-bottom:0;border-left:2px solid hsl(var(--line-soft));transition:color .15s var(--ease),border-color .15s var(--ease)}
.ix-legal__toc a::before{content:counter(toc,decimal-leading-zero);font:500 11px/1 var(--f-mono);letter-spacing:.02em;color:hsl(var(--fg-3))}
/* Párrafo introductorio fuera de la hoja (páginas legales) */
.ix .ix-legal__intro{grid-column:2;margin:0 0 var(--s-5);max-width:68ch;font-size:var(--fs-lead);line-height:1.55;color:hsl(var(--fg-2))}
.ix-legal__toc a:hover{border-left-color:hsl(var(--ink-400))}
.ix-legal__toc a[aria-current]{border-left-color:hsl(var(--brand));color:hsl(var(--fg))!important;font-weight:600}
.ix-legal__toc a[aria-current]::before{color:hsl(var(--brand))}

/* Guías: hoja de lectura con recorrido numerado */
.ix-legal .ix-doc-body{--pad:clamp(20px,3.5vw,48px);--rail:52px;max-width:none;counter-reset:sec;position:relative;background:hsl(var(--surface));border:1px solid hsl(var(--line-soft));border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:var(--pad) var(--pad) var(--pad) calc(var(--pad) + var(--rail))}
.ix-doc-body::before{content:"";position:absolute;top:calc(var(--pad) + 32px);bottom:var(--pad);left:calc(var(--pad) + 15px);width:1px;background-image:linear-gradient(hsl(var(--ink-300)) 50%,transparent 50%);background-size:1px 6px}
.ix-doc-body>h2{position:relative;counter-increment:sec;scroll-margin-top:calc(var(--hdr-h,64px) + 24px)}
.ix-doc-body>h2::before{content:counter(sec,decimal-leading-zero);position:absolute;left:calc(-1*var(--rail));top:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid hsl(var(--ink-300));border-radius:var(--radius-md);background:hsl(var(--surface));font:500 12px/1 var(--f-mono);letter-spacing:.02em;color:hsl(var(--brand));transition:background-color .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease)}
.ix-doc-body>h2.is-current::before{background:hsl(var(--brand));border-color:hsl(var(--brand));color:#fff}
.ix-doc-body p,.ix-doc-body li{color:hsl(var(--ink-700))}
.ix-doc-body ol>li::before{border-color:hsl(var(--brand)/.35);background:hsl(var(--brand)/.05)}
.ix-doc-body .ix-note,.ix-doc-body .ix-callout{margin-top:var(--s-5)}

/* Guía anterior / siguiente (lo inserta ind-brand.js) */
.ix-doc-pn{grid-column:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-4);margin-top:var(--s-5)}
.ix-doc-pn a{display:flex;flex-direction:column;gap:6px;padding:var(--s-4) var(--s-5);background:hsl(var(--surface));border:1px solid hsl(var(--line-soft));border-radius:var(--radius-xl);color:hsl(var(--fg))!important;text-decoration:none!important;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}
.ix-doc-pn a:hover{border-color:hsl(var(--brand)/.5);box-shadow:var(--shadow-md)}
.ix-doc-pn a:hover .ix-doc-pn__t{color:hsl(var(--brand))}
.ix-doc-pn__k{display:flex;align-items:center;gap:6px;font:500 var(--fs-label)/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:hsl(var(--fg-3))}
.ix-doc-pn__t{font:600 1.0625rem/1.3 var(--f-display);letter-spacing:-.01em;transition:color .15s var(--ease)}
.ix-doc-pn .is-prev .ix-ico{transform:rotate(180deg)}
.ix-doc-pn .is-next{grid-column:2;text-align:right;align-items:flex-end}

/* Artículos del Centro de conocimiento (layout Divi 29432): misma hoja y ritmo */
body.single-post #main-content .ind-content-block{background:hsl(var(--surface));border:1px solid hsl(var(--line-soft));border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:clamp(20px,3.5vw,48px)!important}
body.single-post #main-content .ind-content-block p{max-width:68ch}
body.single-post #main-content .ind-content-block h2:not([style]){border-top:0;padding-top:0;margin-top:var(--s-8);scroll-margin-top:calc(var(--hdr-h,64px) + 24px)}
body.single-post #main-content .ind-content-block h2:not([style])::before{content:"";display:block;width:24px;height:2px;margin-bottom:14px;background:hsl(var(--brand))}
body.single-post #main-content .ind-content-block ul:not([class]){list-style:none!important;padding-left:0!important;display:grid;gap:var(--s-2)}
body.single-post #main-content .ind-content-block ul:not([class])>li{position:relative;padding-left:var(--s-5)}
body.single-post #main-content .ind-content-block ul:not([class])>li::before{content:"";position:absolute;left:0;top:.82em;width:10px;height:1.5px;background:hsl(var(--brand))}
body.single-post #main-content .ind-content-block strong{font-weight:600;color:hsl(var(--fg))}
body.single-post #main-content .ind-content-block div[style*="background:#F7F7F7"]{background:hsl(var(--ink-50))!important}
body.single-post .ind-toc-list a{border-left-width:2px;transition:color .15s var(--ease),border-color .15s var(--ease)}
/*
 * Maquetación del artículo como en fundimoldes.com: cuadrícula de tres columnas
 * (índice | texto | barra) con barras sticky dentro de su columna. Reemplaza el
 * posicionamiento fixed + JavaScript por cuadro de la plantilla 29432.
 */
@media (min-width:1100px){
/* Columnas flexibles a los lados: portada y CTA ocupan todo el ancho (1 / -1). */
body.single-post #main-content .et_pb_column_0_tb_body{display:grid!important;grid-template-columns:minmax(0,1fr) 200px minmax(0,720px) minmax(240px,300px) minmax(0,1fr);column-gap:clamp(32px,3vw,56px);align-items:start}
body.single-post #main-content .et_pb_column_0_tb_body>*{grid-column:1/-1}
body.single-post #main-content .et_pb_column_0_tb_body>.ind-post-title-block{grid-row:1}
body.single-post #main-content .et_pb_column_0_tb_body>.ind-toc-block{grid-column:2;grid-row:2}
body.single-post #main-content .et_pb_column_0_tb_body>.ind-content-block{grid-column:3;grid-row:2;width:auto!important;max-width:none!important;margin:clamp(32px,4vw,56px) 0 var(--s-8)!important}
body.single-post #main-content .et_pb_column_0_tb_body>.ind-rail-block{grid-column:4;grid-row:2}
body.single-post #main-content .et_pb_column_0_tb_body>.ind-cta-block{grid-row:3;width:auto!important;margin-left:0!important;margin-right:0!important}
body.single-post{--ind-stick:calc(var(--hdr-h,64px) + 1px + 28px)}
body.single-post.admin-bar{--ind-stick:calc(var(--hdr-h,64px) + 1px + 32px + 28px)}
body.single-post #main-content .et_pb_column_0_tb_body>.ind-toc-block,body.single-post #main-content .et_pb_column_0_tb_body>.ind-rail-block{position:sticky!important;top:var(--ind-stick)!important;left:auto!important;width:auto!important;max-width:none!important;max-height:calc(100vh - var(--ind-stick) - 24px)!important;overflow-y:auto;margin:clamp(32px,4vw,56px) 0 var(--s-8)!important;padding:var(--s-2) 0 0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;visibility:visible!important}
body.single-post .ind-related a{background:hsl(var(--surface))}
}
@media (max-width:1099px){
body.single-post #main-content .ind-content-block{margin-top:var(--s-6)!important}
}
/* Vacantes: mismo ritmo de lectura */
.ix .ind-vac-desc{line-height:1.7;color:hsl(var(--ink-700))}

@media (max-width:1023px){
  .ix-legal__toc{grid-row:auto}
  .ix-toc-meter{display:none}
  .ix-doc-pn,.ix .ix-legal__intro{grid-column:1}
}
@media (max-width:640px){
  .ix-legal .ix-doc-body{--rail:0px;padding:var(--s-5) var(--s-4)}
  .ix-doc-body::before{display:none}
  .ix-doc-body>h2::before{position:static;display:inline-flex;vertical-align:3px;width:28px;height:28px;margin-right:10px;font-size:11px}
  .ix-prose{font-size:1rem}
  .ix-doc-pn{grid-template-columns:minmax(0,1fr)}
  .ix-doc-pn .is-next{grid-column:1}
}
@media (prefers-reduced-motion:reduce){.ix-toc-meter>span,.ix-doc-body>h2::before,.ix-legal__toc a{transition:none}}

/* 47. MODULE & INDUSTRY PAGES (native .ix markup, replaces the .ind-pg bridge) --- */
/* Problem list: numbered editorial columns (no title → 3 cards) */
.ix-issues{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-5) var(--s-6);counter-reset:pb}
.ix-issues>li{counter-increment:pb;border-top:1px solid hsl(var(--ink-900));padding-top:var(--s-4)}
.ix-issues>li::before{content:counter(pb,decimal-leading-zero);display:block;font:500 var(--fs-label)/1 var(--f-mono);letter-spacing:.12em;color:hsl(var(--brand));margin-bottom:var(--s-3)}
.ix-issues h3{font-size:1.125rem;line-height:1.25;letter-spacing:-.01em}
.ix .ix-issues p{margin-top:var(--s-2);color:hsl(var(--fg-2))}
/* Feature list: ruled rows with brand tick */
.ix-feats{border-top:1px solid hsl(var(--line))}
.ix-feats>li{position:relative;padding:var(--s-4) 0 var(--s-4) var(--s-6);border-bottom:1px solid hsl(var(--line-soft))}
.ix-feats>li::before{content:"";position:absolute;left:0;top:calc(var(--s-4) + .62em);width:14px;height:1.5px;background:hsl(var(--brand))}
.ix-feats h3{font-size:1.0625rem;line-height:1.3;letter-spacing:-.01em}
.ix-feats h3 a{color:inherit!important;text-decoration:underline;text-decoration-color:hsl(var(--brand)/.3);text-underline-offset:4px}
.ix-feats h3 a:hover{color:hsl(var(--brand))!important;text-decoration-color:hsl(var(--brand))}
.ix .ix-feats p{margin-top:var(--s-1);color:hsl(var(--fg-2));font-size:var(--fs-sm);line-height:1.6}
.ix-feats--2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--s-7);border-top:0}
.ix-feats--2>li:nth-child(-n+2){border-top:1px solid hsl(var(--line))}
.ix-cols{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s-7);align-items:start}
.ix-shotfig{margin:0}
.ix-shotfig img{display:block;width:100%;height:auto}
/* Steps on the native flow component */
.ix-flow--steps strong{display:block;font:600 1.0625rem/1.3 var(--f-display);letter-spacing:-.01em;color:hsl(var(--fg));margin-bottom:var(--s-2)}
.ix-flow--steps p{font-size:var(--fs-sm);color:hsl(var(--fg-2))}
@media (max-width:1023px){.ix-cols{grid-template-columns:minmax(0,1fr)}.ix-issues{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.ix-issues,.ix-feats--2{grid-template-columns:minmax(0,1fr)}.ix-feats--2>li:nth-child(2){border-top:0}}

/* 48. CONSISTENCY PASS (audit oct 2026) — dossier v2026.10 ----------------------
   Micro-labels: mono 11px, uppercase, .12em. Tables inside panels lose their own frame. */
.ix-gantt__head,.ix-gantt__now,.ix-bom__head,.ix-kv dt,.ix-kv .k,.ix-stages li{font-size:var(--fs-label)}
.ix-bom__head,.ix-kv dt,.ix-kv .k,.ix-bc ol,.ix-hero__meta,.ix-cta__note,.ix-table thead th,.ix-ftr__bottom{letter-spacing:.12em}
.ix-gantt__now{color:hsl(var(--brand))}
.ix-panel .ix-table-wrap{border:0;border-radius:0}
.ix-doc-body code{border-radius:var(--radius)}
.ix .ind-vac-btn{border-radius:var(--radius-md)}
@media (max-width:560px){.ix-stages li{font-size:var(--fs-label);letter-spacing:.02em}}

/* 49. BLOG POST BLOCKS — class-based CTA and FAQ (replace inline-styled markup) --- */
.ix-post-cta{display:flex;align-items:center;justify-content:space-between;gap:var(--s-5);flex-wrap:wrap;margin:var(--s-7) 0;padding:var(--s-5) var(--s-6);background:hsl(var(--ink-50));border:1px solid hsl(var(--line-soft));border-left:3px solid hsl(var(--brand));border-radius:var(--radius-xl)}
body.single-post #main-content .ind-content-block .ix-post-cta p{margin:0;max-width:52ch;font-size:var(--fs-sm);line-height:1.55;color:hsl(var(--fg-2))}
body.single-post #main-content .ind-content-block .ix-post-cta p.ix-label{display:block;margin-bottom:6px;font:500 var(--fs-label)/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:hsl(var(--brand))}
.ix-post-faq{margin-top:var(--s-8)}
body.single-post #main-content .ind-content-block .ix-post-faq p.ix-label{margin:0;font:500 var(--fs-label)/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:hsl(var(--fg-3))}
body.single-post #main-content .ind-content-block .ix-post-faq h2{margin:var(--s-2) 0 var(--s-4)}
body.single-post #main-content .ind-content-block .ix-post-faq h2::before{display:none}
@media (max-width:640px){.ix-post-cta{padding:var(--s-5)}.ix-post-cta .ix-btn{width:100%}}

/* Selector de idioma ES / EN (inc/ind-i18n.php) */
.ix-lang{display:inline-flex;align-items:center;gap:5px;height:40px;padding:0 10px;border:1px solid hsl(var(--ink-700));border-radius:var(--radius);font:500 12px/1 var(--f-mono);letter-spacing:.06em;color:hsl(var(--ink-400))!important;transition:border-color .15s var(--ease),color .15s var(--ease)}
.ix-lang:hover,.ix-lang:focus-visible{border-color:hsl(var(--ink-400));color:#fff!important}
.ix-lang .on{color:#fff}
.ix-lang .sep{opacity:.45}
@media (max-width:1079px){.ix-lang{height:44px;padding:0 12px}}

/* Artículos del blog en inglés (/en/blog/<slug>/) e índice /en/blog */
/* Prefijo .ix: el reinicio «.ix figure/.ix dl/.ix dd {margin:0}» es más específico que una sola clase. */
.ix .ix-article__meta{display:flex;flex-wrap:wrap;gap:var(--s-6);margin-top:var(--s-5);padding-top:var(--s-4);border-top:1px solid hsl(var(--ink-800))}
.ix-article__meta dt{font:500 var(--fs-label)/1.4 var(--f-mono);text-transform:uppercase;letter-spacing:.12em;color:hsl(var(--ink-400))}
.ix .ix-article__meta dd{margin:4px 0 0;font-size:var(--fs-sm);color:hsl(var(--ink-200))}
.ix-article__meta dd a{color:hsl(var(--brand-violet))!important;border-bottom:1px solid hsl(var(--brand-violet)/.4)}
body.single-post #main-content .et_pb_post_title .et_pb_title_meta_container .ind-meta-item{display:flex;flex-direction:column;gap:4px}
.ix .ix-article__cover{max-width:960px;margin:0 auto var(--s-7)}
.ix-article__cover img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-xl);border:1px solid hsl(var(--line-soft))}
.ix-article__body{max-width:720px;margin:0 auto}
.ix-article__body .ix-post-cta{margin:var(--s-7) 0}
.ix-article__body .ix-post-cta p{margin:0;max-width:52ch;font-size:var(--fs-sm);line-height:1.55;color:hsl(var(--fg-2))}
.ix-article__body .ix-post-cta p.ix-label{display:block;margin-bottom:6px;color:hsl(var(--brand))}
.ix-article__body .ix-post-faq{margin-top:var(--s-8)}
.ix-article__body .ix-post-faq h2{margin:var(--s-2) 0 var(--s-4)}
.ix-kc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-5)}
.ix-kc[hidden],.ix-kc__card[hidden]{display:none!important}
.ix-kc__card{display:flex;flex-direction:column;background:hsl(var(--surface));border:1px solid hsl(var(--line-soft));border-radius:var(--radius-xl);overflow:hidden;color:hsl(var(--fg-2))!important;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}
.ix-kc__card:hover{border-color:hsl(var(--brand)/.5);box-shadow:var(--shadow-md)}
.ix-kc__card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.ix-kc__body{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-5);flex:1}
.ix-kc__body h3{font-size:1.0625rem;line-height:1.35;color:hsl(var(--fg))}
.ix-kc__body p{font-size:var(--fs-sm);line-height:1.5;flex:1}
.ix-kc__meta{font:500 var(--fs-xs) var(--f-mono);color:hsl(var(--fg-3))}
.ix-kc-chips{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-bottom:var(--s-6)}
.ix-kc-chips button{min-height:36px;padding:0 var(--s-3);border:1px solid hsl(var(--line));border-radius:999px;background:hsl(var(--surface));font:500 var(--fs-sm) var(--f-sans);color:hsl(var(--fg-2));cursor:pointer}
.ix-kc-chips button[aria-pressed=true]{border-color:hsl(var(--brand));background:hsl(var(--brand));color:#fff}
@media (max-width:1023px){.ix-kc{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.ix-kc{grid-template-columns:minmax(0,1fr)}.ix .ix-article__cover{margin-bottom:var(--s-6)}}

/* Página de autor (/autor/{slug}/, author.php) */
.ix-au__grid{display:grid;grid-template-columns:160px minmax(0,1fr) 340px;gap:var(--s-8);align-items:start;margin-top:var(--s-6)}
.ix-au__photo{display:block;width:100%;max-width:160px;aspect-ratio:1;border-radius:50%;object-fit:cover;border:1px solid hsl(var(--brand-violet)/.45)}
.ix-au__initials{display:flex;align-items:center;justify-content:center;background:hsl(var(--brand-violet)/.15);font:700 48px/1 var(--f-display);color:hsl(var(--brand-violet))}
.ix-au__main .ix-h1{margin-bottom:var(--s-2)}
.ix .ix-au__role{font:500 var(--fs-label)/1.4 var(--f-mono);text-transform:uppercase;letter-spacing:.12em;color:hsl(var(--ink-400));margin-bottom:var(--s-5)}
.ix-au__bio{max-width:820px}
.ix-au__bio p{font-size:1rem;line-height:1.7;color:hsl(var(--ink-200));margin:0 0 var(--s-4)}
.ix .ix-au__list{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-2) var(--s-6);padding:var(--s-4) 0 0;margin:var(--s-2) 0 0;border-top:1px solid hsl(var(--ink-800));list-style:none}
.ix-au__list li{position:relative;padding-left:16px;font-size:var(--fs-sm);line-height:1.55;color:hsl(var(--ink-200))}
.ix-au__list li::before{content:'';position:absolute;left:0;top:.6em;width:6px;height:6px;background:hsl(var(--brand-violet))}
.ix-au__side{border:1px solid hsl(var(--ink-700));border-radius:var(--radius-xl);background:hsl(var(--ink-900)/.85);overflow:hidden}
.ix-au__hd{display:flex;justify-content:space-between;align-items:center;padding:var(--s-3) var(--s-5);border-bottom:1px solid hsl(var(--ink-800));font:500 var(--fs-label)/1.4 var(--f-mono);text-transform:uppercase;letter-spacing:.12em;color:hsl(var(--ink-400))}
.ix-au__hd b{color:#fff;font-weight:500}
.ix-au__stats{display:grid;grid-template-columns:1fr 1fr;margin:0;border-bottom:1px solid hsl(var(--ink-800))}
.ix-au__stats div{padding:var(--s-4) var(--s-5)}
.ix-au__stats div+div{border-left:1px solid hsl(var(--ink-800))}
.ix-au__stats dt{font:500 var(--fs-label)/1.4 var(--f-mono);text-transform:uppercase;letter-spacing:.12em;color:hsl(var(--ink-400));margin-bottom:6px}
.ix-au__stats dd{margin:0;font:700 1.75rem/1 var(--f-display);color:#fff}
.ix-au__stats dd.sm{font-size:1rem;line-height:1.75rem}
.ix-au__topics{display:grid;gap:2px;padding:var(--s-4) var(--s-3) var(--s-3)}
.ix-au__topics .ix-label{display:block;padding:0 var(--s-2) var(--s-2);color:hsl(var(--ink-400))}
.ix-au__topics a{display:flex;justify-content:space-between;align-items:center;gap:var(--s-3);padding:10px var(--s-2);border-radius:var(--radius);font-size:var(--fs-sm);color:hsl(var(--ink-200))!important;transition:background .15s var(--ease),color .15s var(--ease)}
.ix-au__topics a:hover{background:hsl(var(--ink-800));color:#fff!important}
.ix-au__topics a span{font:500 var(--fs-xs) var(--f-mono);color:hsl(var(--ink-400))}
.ix-au__topics a[aria-current]{background:hsl(var(--brand-violet));color:hsl(var(--ink-900))!important;font-weight:600}
.ix-au__topics a[aria-current] span{color:hsl(var(--ink-900))}
.ix-au__links{display:flex;flex-wrap:wrap;gap:var(--s-2);padding:var(--s-4) var(--s-5);border-top:1px solid hsl(var(--ink-800))}
.ix-au__links .ix-btn{flex:1}
.ix-au__arthd{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:var(--s-3);margin-bottom:var(--s-6)}
.ix-au__count{font:500 var(--fs-xs) var(--f-mono);text-transform:uppercase;letter-spacing:.08em;color:hsl(var(--fg-3))}
.ix-au__pager{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-7)}
.ix-au__pager .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 var(--s-3);border:1px solid hsl(var(--line));border-radius:var(--radius);font:500 var(--fs-sm) var(--f-sans);color:hsl(var(--fg-2))!important}
.ix-au__pager .page-numbers.current{background:hsl(var(--brand));border-color:hsl(var(--brand));color:#fff!important}
.ix .ix-au__back{margin-top:var(--s-7);text-align:center}
@media (max-width:1180px){.ix-au__grid{grid-template-columns:120px minmax(0,1fr)}.ix-au__side{grid-column:1/-1}}
@media (max-width:760px){.ix-au__grid{grid-template-columns:minmax(0,1fr);gap:var(--s-5)}.ix-au__photo{max-width:112px}.ix .ix-au__list{grid-template-columns:minmax(0,1fr)}}
