/* ============================================================
   Iridian Web Engine — main.css
   Design System PixUP + components compartits (dc.html)
   Developed by PixUP · pixupweb.com
============================================================ */

/* === PixUP Design System tokens === */
/* Pixup — Colors & Type
   Source of truth for the brand. Pulled from:
   - Logo (mint diamond): #55E0B1
   - Cover image tech-network: #00E5FF cyan over forest-dark base
   - Word template (Plantilla word propostes pixup.docx): Montserrat,
     muted gray scale #7F7F7F / #595959 / #272727, footer blue #4472C4.
*/

/* -------------------------------------------------- */
/* Webfont — Montserrat                               */
/* The Word template specifies Montserrat. We pull it */
/* from Google Fonts; if you have licensed .woff2     */
/* files, drop them in fonts/ and uncomment the local */
/* @font-face blocks below to remove the network hop. */
/* -------------------------------------------------- */
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,300;0,400;0,500;0,600;0,700;0,900;1,400;1,600&display=swap");

/* @font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("fonts/Montserrat.woff2") format("woff2-variations");
} */

:root {
  /* =========================== */
  /* CORE PALETTE                */
  /* =========================== */

  /* Signature mint — the "pixup green" from the logo diamond and the
     "up" in the wordmark. Use sparingly: logo, single key CTA, key data. */
  --pix-mint: #55E0B1;
  --pix-mint-600: #36C594;   /* hover / press — slightly darker, still vivid */
  --pix-mint-700: #1FA376;
  --pix-mint-300: #8AECCA;   /* tints */
  --pix-mint-100: #DEF8EE;   /* surface tint, subtle */

  /* Secondary accent — cyan from the cover-image network triangulation.
     Pairs with mint at full saturation only on dark backgrounds. */
  --pix-cyan: #00E5FF;
  --pix-cyan-600: #00BFD6;

  /* Forest-dark — base for the cover/title surfaces. Picked from the
     darker side of the tree-roots photograph. */
  --pix-forest-950: #0E1A18;
  --pix-forest-900: #142420;
  --pix-forest-800: #1F3A2E;
  --pix-forest-700: #2A4E40;

  /* Neutral scale — mirrors the Word template's gray ladder
     (#272727 body / #595959 subtitle / #7F7F7F caption) plus white. */
  --pix-ink-900: #181B1A;   /* near-black — primary text on light */
  --pix-ink-800: #272727;   /* Word body color */
  --pix-ink-700: #404040;
  --pix-ink-600: #595959;   /* Word subtitle color */
  --pix-ink-500: #7F7F7F;   /* Word caption / "Empresa ubicada..." color */
  --pix-ink-400: #A5A5A5;
  --pix-ink-300: #D0D0D0;
  --pix-ink-200: #E7E6E6;
  --pix-ink-100: #F2F2F0;
  --pix-paper:   #F7F8F6;   /* page bg with a hint of warm */
  --pix-white:   #FFFFFF;

  /* Semantic */
  --pix-link:    #0563C1;   /* hyperlink (matches Word template) */
  --pix-info:    #4472C4;
  --pix-success: var(--pix-mint-700);
  --pix-warning: #E5A642;
  --pix-danger:  #D64545;

  /* =========================== */
  /* TYPE                        */
  /* =========================== */
  --pix-font-sans: "Montserrat", "Inter", system-ui, -apple-system,
                   "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --pix-font-mono: ui-monospace, "JetBrains Mono", "SF Mono", Menlo,
                   Consolas, monospace;

  /* Type ramp — Word template gives us 56 / 40 / 32 / 28 / 22 / 18 / 14
     in points; mapped to px below with a clean ratio for screen use. */
  --pix-fs-display: clamp(48px, 6.4vw, 88px);  /* hero on dark covers */
  --pix-fs-h1:      clamp(36px, 4.0vw, 56px);  /* "Ttol" — Title */
  --pix-fs-h2:      clamp(28px, 3.0vw, 40px);  /* "Ttol1" */
  --pix-fs-h3:      24px;                       /* "Ttol2" */
  --pix-fs-h4:      20px;
  --pix-fs-lead:    18px;
  --pix-fs-body:    16px;
  --pix-fs-small:   14px;
  --pix-fs-micro:   12px;

  --pix-fw-light:   300;
  --pix-fw-regular: 400;
  --pix-fw-medium:  500;
  --pix-fw-semibold:600;
  --pix-fw-bold:    700;
  --pix-fw-black:   900;

  --pix-lh-tight:   1.08;
  --pix-lh-snug:    1.2;
  --pix-lh-body:    1.55;
  --pix-lh-loose:   1.7;

  --pix-tracking-tight:  -0.02em;
  --pix-tracking-normal:  0;
  --pix-tracking-wide:    0.04em;
  --pix-tracking-eyebrow: 0.16em;   /* small-caps eyebrows */

  /* =========================== */
  /* SHAPE & SPACE               */
  /* =========================== */
  --pix-r-xs: 4px;
  --pix-r-sm: 6px;
  --pix-r-md: 10px;
  --pix-r-lg: 16px;
  --pix-r-xl: 24px;
  --pix-r-pill: 999px;

  /* Spacing — 4px base */
  --pix-s-1:  4px;
  --pix-s-2:  8px;
  --pix-s-3:  12px;
  --pix-s-4:  16px;
  --pix-s-5:  20px;
  --pix-s-6:  24px;
  --pix-s-8:  32px;
  --pix-s-10: 40px;
  --pix-s-12: 48px;
  --pix-s-16: 64px;
  --pix-s-20: 80px;
  --pix-s-24: 96px;

  /* Borders */
  --pix-bd: 1px solid var(--pix-ink-200);
  --pix-bd-strong: 1px solid var(--pix-ink-300);

  /* Shadows — restrained; layered ambient + key */
  --pix-shadow-1: 0 1px 2px rgba(20, 30, 28, 0.05);
  --pix-shadow-2: 0 2px 8px rgba(20, 30, 28, 0.06),
                  0 1px 2px rgba(20, 30, 28, 0.04);
  --pix-shadow-3: 0 8px 24px rgba(20, 30, 28, 0.08),
                  0 2px 6px rgba(20, 30, 28, 0.05);
  --pix-shadow-mint: 0 8px 24px rgba(85, 224, 177, 0.28);

  /* Motion */
  --pix-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
  --pix-dur-1: 120ms;
  --pix-dur-2: 200ms;
  --pix-dur-3: 320ms;
}

/* -------------------------------------------------- */
/* Semantic helpers                                   */
/* -------------------------------------------------- */
.pix-display,
.pix-h1, .pix-h2, .pix-h3, .pix-h4 {
  font-family: var(--pix-font-sans);
  color: var(--pix-ink-900);
  letter-spacing: var(--pix-tracking-tight);
  line-height: var(--pix-lh-tight);
  font-weight: var(--pix-fw-bold);
  text-wrap: balance;
  margin: 0;
}

.pix-display { font-size: var(--pix-fs-display); font-weight: var(--pix-fw-black); }
.pix-h1      { font-size: var(--pix-fs-h1); }
.pix-h2      { font-size: var(--pix-fs-h2); }
.pix-h3      { font-size: var(--pix-fs-h3); font-weight: var(--pix-fw-semibold); line-height: var(--pix-lh-snug); }
.pix-h4      { font-size: var(--pix-fs-h4); font-weight: var(--pix-fw-semibold); line-height: var(--pix-lh-snug); }

.pix-lead {
  font-family: var(--pix-font-sans);
  font-size: var(--pix-fs-lead);
  line-height: var(--pix-lh-body);
  color: var(--pix-ink-700);
  font-weight: var(--pix-fw-regular);
}

.pix-body {
  font-family: var(--pix-font-sans);
  font-size: var(--pix-fs-body);
  line-height: var(--pix-lh-body);
  color: var(--pix-ink-800);
  font-weight: var(--pix-fw-regular);
}

.pix-small {
  font-size: var(--pix-fs-small);
  line-height: var(--pix-lh-body);
  color: var(--pix-ink-600);
}

.pix-caption {
  font-size: var(--pix-fs-micro);
  color: var(--pix-ink-500);
  letter-spacing: var(--pix-tracking-wide);
}

.pix-eyebrow {
  font-family: var(--pix-font-sans);
  font-size: var(--pix-fs-micro);
  font-weight: var(--pix-fw-semibold);
  letter-spacing: var(--pix-tracking-eyebrow);
  text-transform: uppercase;
  color: var(--pix-mint-700);
}

.pix-link {
  color: var(--pix-link);
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: 1px;
}
.pix-link:hover { color: var(--pix-mint-700); }

/* Reusable surfaces */
.pix-surface-light {
  background: var(--pix-paper);
  color: var(--pix-ink-900);
}
.pix-surface-dark {
  background: var(--pix-forest-950);
  color: var(--pix-white);
}
.pix-surface-dark .pix-h1,
.pix-surface-dark .pix-h2,
.pix-surface-dark .pix-display { color: var(--pix-white); }
.pix-surface-dark .pix-lead { color: rgba(255,255,255,0.78); }
.pix-surface-dark .pix-eyebrow { color: var(--pix-mint); }

/* === Components compartits (reset, nav, footer, btn, faq) === */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
    body { font-family: var(--pix-font-sans); color: var(--pix-ink-800); background: var(--pix-white); line-height: var(--pix-lh-body); -webkit-font-smoothing: antialiased; }
    img, svg { display: block; max-width: 100%; }
    a { color: inherit; }
    ul, ol { list-style: none; }
    h1,h2,h3,h4 { font-family: var(--pix-font-sans); }
    a:focus-visible, button:focus-visible { outline: 2px solid var(--pix-mint); outline-offset: 3px; border-radius: 2px; }
    .skip-link { position:absolute; top:-999px; left:1rem; background:var(--pix-mint); color:var(--pix-forest-950); padding:.5rem 1rem; font-weight:700; font-size:.875rem; border-radius:0 0 4px 4px; text-decoration:none; z-index:9999; }
    .skip-link:focus { top:0; }
    /* Nav */
    .nl { transition: color 200ms cubic-bezier(.2,.7,.2,1); }
    .nl:hover { color:#fff !important; }
    /* Buttons */
    .btn { transition: background 120ms cubic-bezier(.2,.7,.2,1), border-color 120ms cubic-bezier(.2,.7,.2,1); cursor: pointer; }
    .btn-m:hover { background: var(--pix-mint-600) !important; border-color: var(--pix-mint-600) !important; }
    .btn-ol:hover { background: rgba(255,255,255,.08) !important; border-color: rgba(255,255,255,.5) !important; }
    .btn-s:hover { background: var(--pix-paper) !important; border-color: var(--pix-ink-400) !important; }
    /* Cards */
    .fcard { transition: box-shadow 200ms cubic-bezier(.2,.7,.2,1), transform 200ms cubic-bezier(.2,.7,.2,1); }
    .fcard:hover { box-shadow: var(--pix-shadow-2) !important; transform: translateY(-2px); border-top-color: var(--pix-mint) !important; }
    /* Layer items */
    .lyr { transition: background 150ms cubic-bezier(.2,.7,.2,1); }
    .lyr:hover { background: var(--pix-paper) !important; }
    /* Feature check items */
    .ficard { transition: box-shadow 150ms cubic-bezier(.2,.7,.2,1); }
    .ficard:hover { box-shadow: 0 2px 8px rgba(14,26,24,.08) !important; }
    /* FAQ */
    .fq::-webkit-details-marker { display:none; }
    .fq::after { content:'+'; font-size:1.5rem; color:var(--pix-mint); font-weight:300; line-height:1; transition:transform 200ms cubic-bezier(.2,.7,.2,1); flex-shrink:0; }
    details[open] .fq::after { transform:rotate(45deg); }
    /* Footer links */
    .fa { transition: color 200ms; }
    .fa:hover { color: var(--pix-mint) !important; }
    /* Comparison table */
    .ctbl { width:100%; border-collapse:collapse; font-size:.875rem; margin-top:1.5rem; }
    .ctbl thead tr { background: var(--pix-forest-950); }
    .ctbl thead th { padding:.75rem 1rem; color:#fff; text-align:left; font-weight:600; font-size:.75rem; letter-spacing:.05em; }
    .ctbl thead th:last-child { color: var(--pix-mint); }
    .ctbl tbody tr { border-bottom:1px solid var(--pix-ink-200); }
    .ctbl tbody tr:nth-child(even) { background: var(--pix-paper); }
    .ctbl tbody td { padding:.75rem 1rem; color:var(--pix-ink-600); vertical-align:top; line-height:1.5; }
    .ctbl tbody td:first-child { color:var(--pix-ink-500); }
    .ctbl tbody td:last-child { color:var(--pix-forest-950); font-weight:500; }
    /* Responsive */
    @media (max-width:1100px) {
      .hg { grid-template-columns:1fr !important; }
      .hv { display:none !important; }
      .cmpg { grid-template-columns:1fr !important; }
      .layg { grid-template-columns:1fr !important; }
      .ctag { grid-template-columns:1fr !important; }
      .fg { grid-template-columns:repeat(2,1fr) !important; }
      .fig { grid-template-columns:repeat(2,1fr) !important; }
      .fcg { grid-template-columns:repeat(2,1fr) !important; }
    }
    @media (max-width:768px) {
      .mn { display:none !important; }
      .mt { display:flex !important; }
      .hh1 { font-size:2rem !important; }
      .sh2 { font-size:1.375rem !important; }
      .fcg { grid-template-columns:1fr !important; }
      .fig { grid-template-columns:1fr !important; }
      .fg { grid-template-columns:1fr !important; }
      .lr { flex-direction:column !important; align-items:flex-start !important; }
    @media (prefers-reduced-motion:reduce) {
      *,*::before,*::after { animation-duration:.01ms !important; transition-duration:.01ms !important; }
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
    html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
    body { font-family:var(--pix-font-sans); color:var(--pix-ink-800); background:var(--pix-white); line-height:var(--pix-lh-body); -webkit-font-smoothing:antialiased; }
    img,svg { display:block; max-width:100%; }
    a { color:inherit; }
    ul,ol { list-style:none; }
    h1,h2,h3,h4 { font-family:var(--pix-font-sans); }
    a:focus-visible,button:focus-visible { outline:2px solid var(--pix-mint); outline-offset:3px; border-radius:2px; }
    .skip-link { position:absolute;top:-999px;left:1rem;background:var(--pix-mint);color:var(--pix-forest-950);padding:.5rem 1rem;font-weight:700;font-size:.875rem;border-radius:0 0 4px 4px;text-decoration:none;z-index:9999; }
    .nl { transition:color 200ms cubic-bezier(.2,.7,.2,1); }
    .btn { transition:background 120ms cubic-bezier(.2,.7,.2,1),border-color 120ms cubic-bezier(.2,.7,.2,1); cursor:pointer; }
    .btn-m:hover { background:var(--pix-mint-600) !important; border-color:var(--pix-mint-600) !important; }
    .btn-ol:hover { background:rgba(255,255,255,.08) !important; border-color:rgba(255,255,255,.5) !important; }
    .mcard { transition:box-shadow 200ms cubic-bezier(.2,.7,.2,1),transform 200ms cubic-bezier(.2,.7,.2,1); }
    .mcard:hover { box-shadow:var(--pix-shadow-2) !important; transform:translateY(-2px); }
    .scard { transition:box-shadow 200ms cubic-bezier(.2,.7,.2,1); }
    .scard:hover { box-shadow:var(--pix-shadow-2) !important; }
    .mcta { font-size:.875rem;font-weight:600;color:var(--pix-forest-700);text-decoration:none;display:inline-flex;align-items:center;gap:.25rem;margin-top:auto;transition:color 200ms cubic-bezier(.2,.7,.2,1); }
    .mcta:hover { color:var(--pix-mint) !important; }
    .fa { transition:color 200ms; }
    .fa:hover { color:var(--pix-mint) !important; }
    .fq::after { content:'+';font-size:1.5rem;color:var(--pix-mint);font-weight:300;line-height:1;transition:transform 200ms cubic-bezier(.2,.7,.2,1);flex-shrink:0; }
    @media(max-width:1100px) {
      .hg  { grid-template-columns:1fr !important; }
      .hv  { display:none !important; }
      .mg  { grid-template-columns:repeat(2,1fr) !important; }
      .rg  { grid-template-columns:1fr !important; }
      .ckg { grid-template-columns:1fr !important; }
      .ctag{ grid-template-columns:1fr !important; }
      .fg  { grid-template-columns:repeat(3,1fr) !important; }
    @media(max-width:768px) {
      .mn  { display:none !important; }
      .mt  { display:flex !important; }
      .mg  { grid-template-columns:1fr !important; }
      .fg  { grid-template-columns:repeat(2,1fr) !important; }
    @media(prefers-reduced-motion:reduce) {
    .dcard { transition: box-shadow 200ms cubic-bezier(.2,.7,.2,1), transform 200ms cubic-bezier(.2,.7,.2,1); }
    .dcard:hover { box-shadow: var(--pix-shadow-2) !important; transform: translateY(-2px); }
    .scard { transition: box-shadow 200ms cubic-bezier(.2,.7,.2,1); }
    .scard:hover { box-shadow: var(--pix-shadow-2) !important; }
      .opg { grid-template-columns:1fr !important; }
      .c4  { grid-template-columns:repeat(2,1fr) !important; }
      .c3  { grid-template-columns:repeat(2,1fr) !important; }
      .stps{ grid-template-columns:1fr !important; }
      .stps::before { display:none !important; }
      .stp { flex-direction:row !important; text-align:left !important; gap:1rem !important; }
      .stpn{ margin-bottom:0 !important; }
      .c4  { grid-template-columns:1fr !important; }
      .c3  { grid-template-columns:1fr !important; }
      .fg  { grid-template-columns:1fr !important; }
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
    html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
    body{font-family:var(--pix-font-sans);color:var(--pix-ink-800);background:var(--pix-white);line-height:var(--pix-lh-body);-webkit-font-smoothing:antialiased}
    img,svg{display:block;max-width:100%}
    a{color:inherit}
    ul,ol{list-style:none}
    h1,h2,h3,h4{font-family:var(--pix-font-sans)}
    a:focus-visible,button:focus-visible{outline:2px solid var(--pix-mint);outline-offset:3px;border-radius:2px}
    .skip-link{position:absolute;top:-999px;left:1rem;background:var(--pix-mint);color:var(--pix-forest-950);padding:.5rem 1rem;font-weight:700;font-size:.875rem;border-radius:0 0 4px 4px;text-decoration:none;z-index:9999}
    .skip-link:focus{top:0}
    .nl{transition:color 200ms cubic-bezier(.2,.7,.2,1)}
    .nl:hover{color:#fff!important}
    .btn{transition:background 120ms cubic-bezier(.2,.7,.2,1),border-color 120ms cubic-bezier(.2,.7,.2,1);cursor:pointer}
    .btn-m:hover{background:var(--pix-mint-600)!important;border-color:var(--pix-mint-600)!important}
    .btn-ol:hover{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.5)!important}
    .seocard{transition:box-shadow 200ms cubic-bezier(.2,.7,.2,1),transform 200ms cubic-bezier(.2,.7,.2,1)}
    .seocard:hover{box-shadow:var(--pix-shadow-2)!important;transform:translateY(-2px)}
    .litem{transition:background 150ms cubic-bezier(.2,.7,.2,1)}
    .litem:hover{background:var(--pix-paper)!important}
    .scard{transition:box-shadow 200ms cubic-bezier(.2,.7,.2,1)}
    .scard:hover{box-shadow:var(--pix-shadow-2)!important}
    .fa{transition:color 200ms}
    .fa:hover{color:var(--pix-mint)!important}
    .fq::-webkit-details-marker{display:none}
    .fq::after{content:'+';font-size:1.5rem;color:var(--pix-mint);font-weight:300;line-height:1;transition:transform 200ms cubic-bezier(.2,.7,.2,1);flex-shrink:0}
    details[open] .fq::after{transform:rotate(45deg)}
    .pgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;position:relative}
    .pgrid::before{content:'';position:absolute;top:28px;left:calc(10% + 14px);right:calc(10% + 14px);height:2px;background:var(--pix-ink-200);z-index:0}
    .pstep{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;z-index:1}
    .pstep__num{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.375rem;font-weight:700;margin-bottom:1rem;flex-shrink:0}
    @media(max-width:1100px){
      .hg{grid-template-columns:1fr!important}
      .hv{display:none!important}
      .slg{grid-template-columns:1fr!important}
      .emg{grid-template-columns:repeat(2,1fr)!important}
      .ctag{grid-template-columns:1fr!important}
      .fg{grid-template-columns:repeat(3,1fr)!important}
      .pgrid{grid-template-columns:1fr!important;gap:1rem!important}
      .pgrid::before{display:none!important}
      .pstep{flex-direction:row!important;text-align:left!important;gap:1rem!important;align-items:flex-start!important}
      .pstep__num{margin-bottom:0!important;flex-shrink:0!important}
    @media(max-width:768px){
      .mn{display:none!important}
      .mt{display:flex!important}
      .hh1{font-size:2rem!important}
      .sh2{font-size:1.375rem!important}
      .emg{grid-template-columns:1fr!important}
      .fg{grid-template-columns:repeat(2,1fr)!important}
    @media(prefers-reduced-motion:reduce){
      *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
    .pcard { transition: box-shadow 200ms cubic-bezier(.2,.7,.2,1), transform 200ms cubic-bezier(.2,.7,.2,1); }
    .pcard:hover { box-shadow: var(--pix-shadow-2) !important; transform: translateY(-2px); border-top-color: var(--pix-mint) !important; }
    .ccard { transition: box-shadow 150ms cubic-bezier(.2,.7,.2,1); }
    .ccard:hover { box-shadow: var(--pix-shadow-2) !important; }
    .scard { transition: box-shadow 150ms cubic-bezier(.2,.7,.2,1); }
    .rtbl { width:100%; border-collapse:collapse; font-size:.875rem; min-width:600px; }
    .rtbl thead tr { background: var(--pix-forest-950); }
    .rtbl thead th { padding:.75rem 1rem; color:#fff; text-align:left; font-weight:600; font-size:.75rem; letter-spacing:.05em; vertical-align:top; }
    .rtbl thead th:nth-child(2) { color: var(--pix-mint); }
    .rtbl thead th:nth-child(3) { color: rgba(160,196,255,.85); }
    .rtbl tbody tr { border-bottom:1px solid var(--pix-ink-200); }
    .rtbl tbody tr:nth-child(even) { background: var(--pix-paper); }
    .rtbl tbody td { padding:.75rem 1rem; vertical-align:top; line-height:1.55; color:var(--pix-ink-600); }
    .rtbl tbody td:first-child { font-weight:600; color:var(--pix-forest-950); white-space:nowrap; }
      .prg { grid-template-columns:repeat(2,1fr) !important; }
      .cpg { grid-template-columns:repeat(2,1fr) !important; }
      .aeg { grid-template-columns:1fr !important; }
      .scg { grid-template-columns:repeat(2,1fr) !important; }
      .prg { grid-template-columns:1fr !important; }
      .cpg { grid-template-columns:1fr !important; }
      .scg { grid-template-columns:1fr !important; }
    .rcard{transition:box-shadow 200ms cubic-bezier(.2,.7,.2,1),transform 200ms cubic-bezier(.2,.7,.2,1)}
    .rcard:hover{box-shadow:var(--pix-shadow-2)!important;transform:translateY(-2px)}
    .rtcard{transition:box-shadow 200ms cubic-bezier(.2,.7,.2,1)}
    .rtcard:hover{box-shadow:var(--pix-shadow-2)!important}
    .rcta{font-size:.875rem;font-weight:600;color:var(--pix-forest-700);text-decoration:none;display:inline-flex;align-items:center;gap:.25rem;margin-top:auto;transition:color 200ms cubic-bezier(.2,.7,.2,1)}
    .rcta:hover{color:var(--pix-mint)!important}
    .rcta::after{content:'→';transition:transform 150ms cubic-bezier(.2,.7,.2,1)}
    .rcta:hover::after{transform:translateX(4px)}
    .rcta-ext::after{content:'↗'!important}
    .rtcta{font-size:.875rem;font-weight:600;color:var(--pix-forest-700);text-decoration:none;display:inline-flex;align-items:center;gap:.25rem;transition:color 200ms cubic-bezier(.2,.7,.2,1);white-space:nowrap}
    .rtcta:hover{color:var(--pix-mint)!important}
    .rtcta::after{content:'→'}
      .rcg{grid-template-columns:repeat(2,1fr)!important}
      .rtg{grid-template-columns:1fr!important}
      .rcg{grid-template-columns:1fr!important}
    .btn-s:hover { border-color: var(--pix-ink-400) !important; color: var(--pix-forest-950) !important; }
    .uccard { transition: box-shadow 200ms cubic-bezier(.2,.7,.2,1), transform 200ms cubic-bezier(.2,.7,.2,1); }
    .uccard:hover { box-shadow: var(--pix-shadow-2) !important; transform: translateY(-2px); border-top-color: var(--pix-mint) !important; }
    .rtbl tbody td, .rtbl tbody th[scope="row"] { padding:.75rem 1rem; vertical-align:top; line-height:1.55; color:var(--pix-ink-600); text-align:left; font-weight:400; }
    .rtbl tbody th[scope="row"] { font-weight:600; color:var(--pix-forest-950); white-space:nowrap; }
    .rtbl tbody a { color:var(--pix-mint-700); text-decoration:underline; text-underline-offset:2px; }
      .ucg { grid-template-columns:repeat(2,1fr) !important; }
      .sc2 { grid-template-columns:1fr !important; }
      .sc2v { display:none !important; }
      .ucg { grid-template-columns:1fr !important; }
      .clg { grid-template-columns:1fr !important; }
    .ccrd { transition: box-shadow 200ms cubic-bezier(.2,.7,.2,1), transform 200ms cubic-bezier(.2,.7,.2,1); }
    .ccrd:hover { box-shadow: var(--pix-shadow-2) !important; transform: translateY(-2px); }
    .rtbl { width:100%; border-collapse:collapse; font-size:.9375rem; min-width:480px; }
    .rtbl thead th { padding:.875rem 1.25rem; color:#fff; text-align:left; font-weight:600; font-size:.75rem; letter-spacing:.05em; }
    .rtbl thead th:nth-child(1) { color: rgba(255,120,100,.9); }
    .rtbl tbody td { padding:.875rem 1.25rem; line-height:1.55; color:var(--pix-ink-600); vertical-align:top; }
    .rtbl tbody td:first-child { color:var(--pix-ink-500); }
    .rtbl tbody td:last-child { color:var(--pix-forest-950); font-weight:500; }
    /* Form */
    .finput { width:100%; padding:.625rem .875rem; font-family:var(--pix-font-sans); font-size:.9375rem; color:var(--pix-forest-950); background:var(--pix-white); border:1px solid var(--pix-ink-300); border-radius:var(--pix-r-xs); transition:border-color 150ms,box-shadow 150ms; appearance:none; -webkit-appearance:none; }
    .finput::placeholder { color:var(--pix-ink-300); }
    .finput:focus { outline:none; border-color:var(--pix-mint); box-shadow:0 0 0 3px rgba(85,224,177,.15); }
    select.finput { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23595959' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right .875rem center; padding-right:2.5rem; cursor:pointer; }
    textarea.finput { resize:vertical; min-height:130px; }
    input[type="checkbox"].fchk { width:16px; height:16px; accent-color:var(--pix-mint); cursor:pointer; flex-shrink:0; margin-top:2px; }
    fieldset { border:none; padding:0; margin:0; }
      .aag { grid-template-columns:repeat(2,1fr) !important; }
      .fmg { grid-template-columns:1fr !important; }
      .psg { grid-template-columns:repeat(2,1fr) !important; }
      .aag { grid-template-columns:1fr !important; }
      .psg { grid-template-columns:1fr !important; }
      .frg2{ grid-template-columns:1fr !important; }
      .lr  { flex-direction:column !important; align-items:flex-start !important; }
    .rtbl { width:100%; border-collapse:collapse; font-size:.875rem; min-width:540px; }
    .finput { width:100%; padding:.625rem .875rem; font-family:var(--pix-font-sans); font-size:.9375rem; color:var(--pix-forest-950); background:var(--pix-white); border:1px solid var(--pix-ink-300); border-radius:var(--pix-r-xs); transition:border-color 150ms cubic-bezier(.2,.7,.2,1), box-shadow 150ms; appearance:none; -webkit-appearance:none; }
    textarea.finput { resize:vertical; min-height:120px; }
      .ccrg { grid-template-columns:repeat(2,1fr) !important; }
      .fsg { grid-template-columns:1fr !important; }
      .cig { grid-template-columns:repeat(2,1fr) !important; }
      .ccrg { grid-template-columns:1fr !important; }
      .frg2 { grid-template-columns:1fr !important; }
      .cig { grid-template-columns:1fr !important; }

/* === Cookie consent — fix display:flex vs hidden === */
[hidden]{display:none!important}
#cc-banner{display:none}
#cc-banner:not([hidden]){display:flex;flex-wrap:wrap;align-items:center}
#cc-modal{display:none}
#cc-modal:not([hidden]){display:flex}

/* === Nav actiu per URL (marcat per cookie-consent.js) === */
.nl.nl--active{color:var(--pix-mint)!important;border-bottom-color:var(--pix-mint)!important;font-weight:600!important}
