/* Innovalabs site — design system from Claude Design « Site A - Cinema ».
   Fonts: Inter + Playfair Display (same Google Fonts files as the design, latin + latin-ext only).
   Base: Tailwind v4 preflight copied from the design system bundle (_ds_bundle.css, @layer base).
   The landing keeps the design's inline styles verbatim; tokens below serve the other pages. */

@font-face { font-family: 'Inter'; font-style: normal; font-weight: 300 800; font-display: swap; src: url(fonts/inter-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 300 800; font-display: swap; src: url(fonts/inter-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Playfair Display'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(fonts/playfair-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Playfair Display'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(fonts/playfair-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
  --blue: #3B6BEB;
  --blue-hover: #2C55C9;
  --blue-deep: #2343B8;
  --blue-soft: #EAF0FD;
  --red: #F83445;
  --red-hover: #D91F32;
  --red-deep: #C81E2E;
  --red-soft: #FDECEE;
  --cream: #FAFAF7;
  --sand: #F4F4F1;
  --ink: #1a1c1b;
  --ink-soft: #3F4941;
  --muted: #6F7A70;
  --line: rgba(26, 28, 27, .08);
  --serif: 'Playfair Display', Georgia, serif;
  --sans: Inter, system-ui, sans-serif;
}

/* Width-driven sc-if / values of the design (navWide ≥1100, wide ≥980, notTiny ≥520, mobileBar <720). */
.mq-navWide, .mq-wide { display: none; }
.mq-narrow, .mq-notTiny, .mq-mobileBar { display: contents; }
.mq-offerGrid { --mq-offerGrid: minmax(0, 1fr); }
.mq-connPad { --mq-connPad: 18px 0; }
.mq-footPadB { --mq-footPadB: 96px; }
.mq-bodyGrid { --mq-bodyGrid: minmax(0, 1fr); }
.mq-asidePos { --mq-asidePos: static; }
@media (max-width: 519.98px) { .mq-notTiny { display: none; } }
@media (min-width: 720px) { .mq-mobileBar { display: none; } .mq-footPadB { --mq-footPadB: 28px; } }
@media (min-width: 980px) {
  .mq-wide { display: contents; }
  .mq-narrow { display: none; }
  .mq-offerGrid { --mq-offerGrid: minmax(0, 1fr) 96px minmax(0, 1fr); }
  .mq-connPad { --mq-connPad: 0; }
  .mq-bodyGrid { --mq-bodyGrid: minmax(0, 280px) minmax(0, 1fr); }
  .mq-asidePos { --mq-asidePos: sticky; }
}
@media (min-width: 1100px) { .mq-navWide { display: contents; } }

/* Empty, read-only state of the design's <image-slot> (image-slot.js shadow styles), case pages hero. */
.img-slot { display: block; position: relative; width: 100%; height: 100%; aspect-ratio: 3 / 2; font: 13px/1.3 system-ui, -apple-system, sans-serif; color: inherit; }
.img-slot-frame { position: absolute; inset: 0; overflow: hidden; border-radius: 22px; background: rgba(127, 127, 127, .08); }
.img-slot-empty { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; text-align: center; padding: 12px; box-sizing: border-box; user-select: none; }
.img-slot-empty svg { display: inline; opacity: .45; }
.img-slot-empty .cap { max-width: 90%; font-weight: 500; letter-spacing: .01em; opacity: .75; }
.img-slot-ring { position: absolute; inset: 0; pointer-events: none; border: 1.5px dashed currentColor; border-radius: 22px; opacity: .35; }
/* Case with real screenshots (cas-data.js `shots`): phones side by side in the slot, store link on top. */
.img-shots .img-slot-frame { display: flex; justify-content: center; align-items: flex-start; gap: clamp(8px, 2.5vw, 32px); padding: clamp(14px, 3vw, 36px) clamp(10px, 3vw, 36px) 0; background: linear-gradient(160deg, #EEF5EA, #F7FAF4); }
.img-shots img { height: 118%; width: auto; max-width: 31%; object-fit: cover; object-position: top; border-radius: clamp(10px, 1.6vw, 22px); box-shadow: 0 20px 40px -24px rgba(26, 28, 27, .45); }
.store-link { position: absolute; left: 14px; top: 14px; display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 14px; border-radius: 999px; background: #1a1c1b; color: #fff; font: 500 13px/1 Inter, system-ui, sans-serif; text-decoration: none; }
.store-link:hover { background: #3B6BEB; }
.img-shot-wide .img-slot-frame img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: left top; } /* one desktop screenshot */
.shot-note { position: absolute; right: 14px; bottom: 14px; margin: 0; padding: 6px 12px; border-radius: 999px; background: rgba(255, 255, 255, .92); color: #3F4941; font: 500 12px/1.2 Inter, system-ui, sans-serif; }
@media (max-width: 979px) { .store-link { top: auto; bottom: 14px; } .shot-note { right: auto; left: 14px; } } /* the metric card covers the top below the `wide` breakpoint */

/* --- Tailwind v4 preflight (verbatim from the design system bundle) --- */
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}

/* --- Page styles + keyframes (verbatim from the design helmet) --- */
html{scroll-behavior:smooth}body{margin:0;background:#FAFAF7;font-family:Inter,system-ui,sans-serif;color:#1a1c1b;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}a{color:#3B6BEB}a:hover{color:#2C55C9}button,input,textarea{font:inherit}@keyframes a-rise{from{transform:translateY(110%)}to{transform:none}}@keyframes a-fade-up{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes a-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}@keyframes a-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes a-scan{0%{top:0}100%{top:calc(100% - 3px)}}@keyframes a-spin{to{transform:rotate(360deg)}}@keyframes a-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes a-glow{0%,100%{box-shadow:0 0 0 0 rgba(59,107,235,.5)}50%{box-shadow:0 0 0 10px rgba(59,107,235,0)}}@keyframes a-ring{from{transform:translate(-50%,-50%) scale(.3);opacity:.9}to{transform:translate(-50%,-50%) scale(2.2);opacity:0}}@keyframes a-pop{0%{opacity:0;transform:scale(.6)}70%{transform:scale(1.08)}100%{opacity:1;transform:scale(1)}}@keyframes a-type{from{max-width:0}to{max-width:100%}}@keyframes a-caret{50%{opacity:0}}@keyframes a-drift{0%,100%{transform:translate(0,0) rotate(0)}33%{transform:translate(4px,-6px) rotate(1.5deg)}66%{transform:translate(-5px,3px) rotate(-1.5deg)}}@keyframes a-flow{from{left:-10px;opacity:0}15%{opacity:1}85%{opacity:1}to{left:100%;opacity:0}}@keyframes a-shine{from{transform:translateX(-120%) skewX(-20deg)}to{transform:translateX(320%) skewX(-20deg)}}@keyframes a-bar{from{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
@keyframes lf-fade{from{opacity:0}to{opacity:1}}@keyframes lf-in{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}@keyframes lf-step{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}@keyframes lf-spin{to{transform:rotate(360deg)}}@keyframes lf-pop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.12)}100%{transform:scale(1);opacity:1}}@keyframes lf-ring{from{transform:scale(.8);opacity:.7}to{transform:scale(1.9);opacity:0}}

/* --- style-hover / style-focus of the design (same !important rule as its runtime) --- */
.ps0:hover{background:#EAF0FD !important}
.ps1:focus{outline:2px solid #3B6BEB !important;outline-offset:2px !important}
.ps2:focus{border-color:#3B6BEB !important}
.ps3:hover{background:#F4F4F1 !important}
.ps4:hover{transform:translateY(-1px) !important}
.ps5:focus{outline:2px solid #3B6BEB !important;outline-offset:3px !important}
.ps6:hover{background:#F4F4F1 !important;color:#1a1c1b !important}
.ps7:hover{color:#3B6BEB !important}
.ps8:hover{background:#EAF0FD !important;color:#0A66C2 !important}
.ps9:hover{background:#EAF0FD !important;color:#25D366 !important}
.psa:hover{background:#3B6BEB !important}
.psb:hover{background:#2C55C9 !important;transform:translateY(-2px) !important}
.psc:hover{background:#EAF0FD !important;color:#1a1c1b !important}
.psd:hover{transform:translateY(-4px) !important;border-color:rgba(59,107,235,.3) !important}
.pse:hover{transform:translateY(-5px) !important;border-color:rgba(59,107,235,.28) !important;box-shadow:0 30px 60px -36px rgba(30,52,120,.5) !important}
.psf:hover{transform:translateY(-4px) !important;box-shadow:0 34px 70px -44px rgba(30,52,120,.5) !important}
.psg:hover{background:#1a1c1b !important;color:#fff !important}
.psh:hover{background:#D91F32 !important;transform:translateY(-2px) !important}
.psi:hover{border-color:rgba(59,107,235,.4) !important}
.psj:hover{transform:translateY(-6px) !important;border-color:rgba(59,107,235,.3) !important;box-shadow:0 34px 64px -38px rgba(30,52,120,.55) !important;color:#1a1c1b !important}
.psk:hover{color:#2C55C9 !important}

/* --- Landing FAQ (native <details>, no JS) --- */
.faq-grid { display: grid; gap: 36px 64px; }
@media (min-width: 960px) { .faq-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr); align-items: start; } }
.faq-item { border-bottom: 1px solid rgba(26, 28, 27, .12); }
.faq-item summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 0; font-size: 17px; font-weight: 600; line-height: 1.4; color: #1a1c1b; cursor: pointer; transition: color .2s ease; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary:hover { color: #2C55C9; }
.faq-item summary:focus-visible { outline: 2px solid #3B6BEB; outline-offset: 4px; border-radius: 6px; }
.faq-ic { flex: none; font-size: 20px; color: #3B6BEB; transition: transform .3s ease; }
.faq-item[open] .faq-ic { transform: rotate(45deg); }
.faq-item p { margin: 0 0 22px; max-width: 40em; font-size: 15.5px; line-height: 1.65; color: #3F4941; }
.psl:hover{transform:translateY(-5px) !important;border-color:rgba(59,107,235,.3) !important;box-shadow:0 30px 60px -36px rgba(30,52,120,.5) !important;color:#1a1c1b !important}

/* --- Inner pages (legal, 404): same header/footer values as the landing, written with the tokens --- */
.wrap { max-width: 1240px; margin: 0 auto; padding: 0 clamp(16px, 4vw, 40px); }
.site-header { position: sticky; top: 0; z-index: 40; background: rgba(250, 250, 247, .82); backdrop-filter: saturate(1.4) blur(14px); -webkit-backdrop-filter: saturate(1.4) blur(14px); border-bottom: 1px solid rgba(26, 28, 27, .07); }
.site-header .wrap { height: 72px; display: flex; align-items: center; gap: 32px; }
.site-header .logo img { height: 24px; width: auto; }
.site-nav { display: none; gap: 24px; font-size: 14.5px; white-space: nowrap; }
@media (min-width: 1100px) { .site-nav { display: flex; } }
.site-nav a, .footer-links a { color: var(--ink-soft); text-decoration: none; }
.site-nav a:hover, .footer-links a:hover { color: var(--blue); }
.head-actions { margin-left: auto; display: flex; align-items: center; gap: 4px; }
.icon-btn { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 12px; font-size: 23px; text-decoration: none; }
.icon-btn:hover { background: var(--blue-soft); }
.icon-btn.li, .icon-btn.li:hover { color: #0A66C2; }
.icon-btn.wa, .icon-btn.wa:hover { color: #25D366; }
.icon-btn.gh, .icon-btn.gh:hover { color: var(--ink); }
.call-btn { display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 20px; margin-left: 8px; border-radius: 999px; background: var(--ink); color: #fff; font-size: 14.5px; font-weight: 500; white-space: nowrap; text-decoration: none; transition: background .2s ease; }
.call-btn:hover { background: var(--blue); color: #fff; }
.call-btn i { font-size: 17px; }
@media (max-width: 519.98px) { .call-btn { display: none; } }

.page { background: var(--cream); }
.page-hero { padding: clamp(56px, 8vw, 96px) 0 32px; }
.eyebrow { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--blue); }
.eyebrow i { font-size: 16px; }
.page h1 { font-family: var(--serif); font-weight: 500; font-size: clamp(34px, 4.4vw, 52px); line-height: 1.08; letter-spacing: -.02em; margin: 16px 0 0; text-wrap: balance; }
.page .lead { margin: 18px 0 0; max-width: 34em; font-size: 17px; line-height: 1.65; color: var(--ink-soft); }
.prose { max-width: 820px; margin-bottom: clamp(72px, 9vw, 120px); padding: clamp(24px, 4vw, 44px); border-radius: 26px; background: #fff; border: 1px solid var(--line); font-size: 16px; line-height: 1.7; color: var(--ink-soft); }
.prose > :first-child { margin-top: 0; }
.prose h2, .prose h3, .prose h4, .prose h5 { color: var(--ink); font-weight: 600; letter-spacing: -.01em; line-height: 1.3; }
.prose h2, .prose h3 { font-size: 21px; margin: 36px 0 12px; }
.prose h4 { font-size: 18px; margin: 30px 0 10px; }
.prose h5 { font-size: 16px; margin: 22px 0 8px; }
.prose p { margin: 0 0 12px; }
.prose ul { list-style: disc; padding-left: 22px; margin: 0 0 14px; }
.prose ol { list-style: decimal; padding-left: 22px; margin: 0 0 14px; }
.page .byline { display: flex; align-items: center; gap: 10px; margin: 20px 0 0; font-size: 14.5px; color: var(--ink-soft); }
.page .byline img, .author-box img { flex: none; border-radius: 999px; object-fit: cover; object-position: top; }
.page .byline a { color: var(--ink); font-weight: 600; }
.author-box { display: flex; gap: 18px; align-items: flex-start; margin-top: 36px; padding: 22px; border-radius: 20px; background: #FAFAF7; border: 1px solid var(--line); font-size: 15px; line-height: 1.6; }
.author-box p { margin: 0 0 8px; }
.author-box .author-name { color: var(--ink); font-weight: 600; }
.prose ul ul { margin: 4px 0 0; }
.prose li { margin: 4px 0; }
.prose strong { color: var(--ink); font-weight: 600; }
.page-cta { margin: 0 0 clamp(72px, 9vw, 120px); }
.btn-primary { display: inline-flex; align-items: center; gap: 10px; min-height: 54px; padding: 0 28px; border-radius: 999px; background: var(--blue); color: #fff; font-size: 16px; font-weight: 500; text-decoration: none; box-shadow: 0 14px 30px -14px rgba(59, 107, 235, .9); transition: background .25s ease, transform .25s ease; }
.btn-primary:hover { background: var(--blue-hover); color: #fff; transform: translateY(-2px); }

/* Réalisations (src/pages/realisations.astro) */
.work-group { margin: 0 0 clamp(48px, 7vw, 80px); }
.work-group h2 { font-family: var(--serif); font-weight: 500; font-size: clamp(26px, 3vw, 34px); line-height: 1.15; letter-spacing: -.01em; margin: 0; color: var(--ink); text-wrap: balance; }
.work-intro { margin: 10px 0 24px; max-width: 40em; font-size: 16px; line-height: 1.65; color: var(--ink-soft); }
.work-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: 20px; margin: 0; padding: 0; list-style: none; }
.work-card { display: flex; flex-direction: column; overflow: hidden; border-radius: 22px; background: #fff; border: 1px solid var(--line); }
.work-card img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: contain; background: var(--sand); }
.work-body { padding: 18px 20px 22px; font-size: 15px; line-height: 1.6; color: var(--ink-soft); }
.work-sector { margin: 0; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--blue); }
.work-body h3 { margin: 6px 0 8px; font-size: 19px; font-weight: 600; color: var(--ink); }
.work-body p:not(.work-sector) { margin: 0; }
.work-body a { display: inline-block; margin-top: 10px; font-weight: 500; color: var(--blue); }

.site-footer { background: #fff; border-top: 1px solid var(--line); color: var(--ink); }
.site-footer .cols { max-width: 1240px; margin: 0 auto; padding: 64px clamp(16px, 4vw, 40px) 36px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 36px; }
.site-footer .logo img { height: 22px; width: auto; }
.footer-tag { margin: 16px 0 0; font-size: 14.5px; line-height: 1.6; color: var(--ink-soft); max-width: 20em; }
.footer-loc { display: flex; align-items: center; gap: 6px; margin: 10px 0 0; font-size: 13.5px; color: var(--muted); }
.footer-loc i { font-size: 16px; color: var(--blue); }
.footer-title { margin: 0; font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.footer-links { display: grid; gap: 10px; margin-top: 14px; font-size: 14.5px; }
.footer-social { display: flex; gap: 8px; margin-top: 10px; }
.footer-social .icon-btn { border: 1px solid var(--line); font-size: 22px; }
.footer-legal { border-top: 1px solid var(--line); }
.footer-legal .wrap { padding-top: 22px; padding-bottom: 28px; display: grid; gap: 8px; font-size: 12.5px; line-height: 1.6; color: var(--muted); }
.footer-legal p { margin: 0; }
