
    :root {
      --bg: #0a0b0d; --surface: #11141d; --surface-alt: #141722;
      --line: #232634; --text: #f5f5f5; --muted: #b8bdca;
      --gold: #f7c254; --coral: #e9714c; --red: #ca303c;
      --radius: 8px; --width: 1320px;
    }
    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; scroll-padding-top: 6rem; }
    body { margin: 0; background: var(--bg); color: var(--text); font: 1rem/1.6 Roboto, Arial, Helvetica, sans-serif; -webkit-text-size-adjust: 100%; }
    a { color: inherit; text-decoration: none; }
    button, summary { font: inherit; }
    button { cursor: pointer; }
    img { display: block; max-width: 100%; height: auto; }
    :focus-visible { outline: 2px solid var(--gold); outline-offset: 5px; }
    h1, h2, h3, p { margin-top: 0; }
    h2 { margin-bottom: 1.35rem; font-size: calc(clamp(1.65rem, 2.7vw, 2.25rem) * var(--scale-h2, 1)); line-height: 1.25; font-weight: 700; }
    h3 { font-size: calc(1.18rem * var(--scale-h3, 1)); line-height: 1.3; }
    .wrap { width: min(var(--width), calc(100% - 4rem)); margin-inline: auto; }
    .skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 50; padding: .6rem 1rem; background: var(--gold); color: var(--bg); }
    .skip-link:focus { top: 1rem; }
    .site-header { position: relative; z-index: 20; border-bottom: 1px solid var(--line); background: var(--bg); }
    .header-inner { min-height: 90px; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
    .brand { flex-shrink: 0; }
    .brand img { width: 184px; }
    .site-nav { display: flex; align-items: center; justify-content: flex-end; gap: clamp(.9rem, 1.8vw, 1.8rem); }
    .site-nav > a, .dropdown > summary { color: var(--gold); font-size: .98rem; white-space: nowrap; }
    .site-nav > a:hover, .dropdown > summary:hover { color: #fff; }
    .site-nav .current { color: #fff; }
    .language { color: var(--muted); font-size: .875rem; border-left: 1px solid var(--line); padding-left: 1rem; }
    .dropdown { position: relative; }
    .dropdown > summary { display: flex; align-items: center; gap: .45rem; cursor: pointer; list-style: none; }
    .dropdown > summary::-webkit-details-marker { display: none; }
    .dropdown > summary::after { content: ''; width: 6px; height: 6px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: translateY(-2px) rotate(45deg); }
    .dropdown[open] > summary::after { transform: translateY(1px) rotate(225deg); }
    .dropdown-menu { position: absolute; right: 0; top: calc(100% + 1rem); min-width: 230px; display: grid; padding: .45rem; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); }
    .dropdown-menu a { padding: .65rem .85rem; color: var(--text); font-size: .95rem; }
    .dropdown-menu a:hover { background: var(--surface-alt); color: var(--gold); }
    .menu-toggle { display: none; border: 1px solid var(--line); border-radius: 5px; background: var(--surface); color: var(--gold); padding: .5rem .8rem; }
    .release-strip { margin-top: 1.25rem; border: 1px solid #52462c; border-radius: var(--radius); padding: .65rem 1rem; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .4rem 1.5rem; background: #17160f; font-size: .95rem; }
    .release-copy { display: flex; align-items: center; flex-wrap: wrap; gap: .45rem .75rem; }
    .release-label { padding: .08rem .5rem; background: var(--gold); color: var(--bg); font-size: .78rem; font-weight: 700; letter-spacing: .04em; }
    .release-date { color: var(--muted); font-size: .875rem; }
    .release-strip a { color: var(--gold); font-weight: 700; }
    .release-strip a:hover { text-decoration: underline; text-underline-offset: .2em; }
    .hero { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); align-items: center; gap: 2.5rem; padding: 3.25rem 0 2.5rem; }
    .hero h1 { margin-bottom: 1.2rem; font-size: calc(clamp(2.3rem, 3.8vw, 3.35rem) * var(--scale-h1, 1)); line-height: 1.09; letter-spacing: -.035em; font-weight: 800; }
    .hero h1 .gradient { color: var(--gold); background: linear-gradient(105deg, var(--gold), var(--coral) 53%, var(--red)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
    .hero-copy > p { max-width: 32rem; margin-bottom: .8rem; color: var(--muted); font-size: 1.14rem; line-height: 1.65; }
    .workflow-line { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: 1.1rem 0 1.65rem; color: var(--text); font-size: .95rem; }
    .workflow-line span { color: #7c8392; }
    .actions { display: flex; flex-wrap: wrap; gap: .8rem; }
    .button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: .7rem 1.65rem; border: 1px solid transparent; border-radius: 6px; font-weight: 700; line-height: 1.3; transition: background .15s ease, color .15s ease; }
    .button-primary { color: #111; background: var(--gold); }
    .button-primary:hover { background: #ffd579; }
    .button-secondary { background: var(--surface); border-color: #3d4251; color: var(--text); }
    .button-secondary:hover { background: #202534; }
    .platforms { margin-top: 1rem !important; margin-bottom: 0 !important; font-size: .875rem !important; color: var(--muted); }
    .interface { margin: 0; min-width: 0; }
    .interface-image { width: 100%; border: 1px solid #3b3c41; border-radius: var(--radius); }
    .interface figcaption { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .4rem 1rem; margin-top: .65rem; font-size: .8125rem; color: var(--muted); }
    .interface figcaption strong { color: var(--gold); font-weight: 500; }
    .benefits { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; }
    .benefit { padding: 1.4rem 1.5rem; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); }
    .eyebrow { margin-bottom: .55rem; font-size: .875rem; color: var(--gold); }
    .benefit h3 { margin-bottom: .6rem; }
    .benefit p:last-child { margin-bottom: 0; font-size: 1rem; color: var(--muted); }
    .section { padding-top: 3.5rem; }
    .section-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: .3rem 1rem; }
    .text-link { color: var(--gold); font-size: .95rem; text-decoration: underline; text-underline-offset: .25em; }
    .interface-notes { border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
    .interface-notes .section-head { padding: 1.4rem 1.5rem 0; }
    .interface-notes h2 { margin-bottom: 1.1rem; font-size: calc(1.35rem * var(--scale-h2, 1)); }
    .notes-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); }
    .note { padding: .1rem 1.5rem 1.5rem; }
    .note + .note { border-left: 1px solid var(--line); }
    .note h3 { margin-bottom: .6rem; font-size: calc(1.02rem * var(--scale-h3, 1)); color: var(--gold); }
    .note p { margin-bottom: 0; color: var(--muted); font-size: .95rem; }
    .workflow-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 1rem; }
    .step { position: relative; min-width: 0; padding: 1.5rem; border-top: 2px solid var(--gold); background: var(--surface); }
    .step-number { display: block; margin-bottom: 1.25rem; color: var(--gold); font-size: 1.7rem; line-height: 1; font-weight: 700; }
    .step h3 { margin-bottom: .6rem; }
    .step p { color: var(--muted); margin-bottom: 0; }
    .support-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; }
    .support-link { padding: 1.3rem 1.5rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
    .support-link:hover { border-color: #645534; }
    .support-link strong { display: block; margin-bottom: .3rem; color: var(--gold); font-size: 1.05rem; }
    .support-link span { color: var(--muted); font-size: .95rem; }
    .pricing-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; }
    .price-card { display: flex; flex-direction: column; padding: 1.65rem; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); }
    .price-card h3 { margin-bottom: .25rem; font-size: calc(1.1rem * var(--scale-h3, 1)); }
    .price { margin-bottom: .8rem; color: var(--gold); font-size: 3rem; line-height: 1.4; font-weight: 700; }
    .price-card p:not(.price) { margin-bottom: 1.4rem; color: var(--muted); }
    .price-card .button { align-self: flex-start; margin-top: auto; font-size: .95rem; }
    .price-card.addons .price { color: var(--coral); }
    .price-card.full { background: #1c1b14; border-color: #7d6637; }
    .pricing-note { margin-top: .9rem; margin-bottom: 0; color: var(--muted); font-size: .875rem; }
    .customer-note { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .8rem 2rem; padding: 1.4rem 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
    .customer-note blockquote { margin: 0; font-size: 1.35rem; color: var(--gold); }
    .customer-note cite { font-style: normal; color: var(--muted); font-size: .95rem; }
    .buy-section { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding-bottom: 3.5rem; }
    .buy-section h2 { margin-bottom: .6rem; }
    .buy-section p { max-width: 46rem; color: var(--muted); margin-bottom: 0; }
    .buy-section .button { flex-shrink: 0; }
    .site-footer { padding: 2.5rem 0 1.25rem; border-top: 1px solid var(--line); background: #0e1118; }
    .footer-top { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 2rem; }
    .footer-top h2 { margin-bottom: .65rem; color: var(--gold); font-size: 1rem; }
    .footer-top p, .footer-top address, .footer-top a { font-size: .95rem; font-style: normal; }
    .footer-top p, .footer-top address { color: var(--muted); margin-bottom: 0; }
    .footer-links { display: flex; flex-wrap: wrap; gap: .5rem 1.2rem; }
    .site-footer a:hover { color: var(--gold); text-decoration: underline; text-underline-offset: .2em; }
    .contacts { display: grid; gap: .3rem; }
    .footer-bottom { margin-top: 2rem; padding-top: 1rem; border-top: 1px solid var(--line); display: flex; justify-content: space-between; flex-wrap: wrap; gap: .6rem 2rem; color: var(--muted); font-size: .8125rem; }
    .footer-bottom p { margin: 0; }
    .demo-intro { max-width: 46rem; color: var(--muted); margin: -.3rem 0 1.5rem; }
    .demo-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1.5rem; }
    .demo-card { margin: 0; min-width: 0; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: var(--surface); }
    .demo-card video { display: block; width: 100%; height: auto; background: #17191d; }
    .demo-card figcaption { padding: 1.3rem 1.4rem 1.4rem; }
    .demo-label { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .55rem; }
    .demo-label span { font-size: .8125rem; color: var(--gold); letter-spacing: .04em; text-transform: uppercase; }
    .demo-label small { font-size: .8125rem; color: var(--muted); }
    .demo-card h3 { margin: 0 0 .55rem; font-size: calc(1.2rem * var(--scale-h3, 1)); }
    .demo-card p { margin: 0; color: var(--muted); font-size: 1rem; }
    @media (max-width: 700px) { .demo-grid { grid-template-columns: 1fr; gap: 1.1rem; } .demo-card figcaption { padding: 1.15rem; } }
    @media (min-width: 1600px) { :root { --width: 1440px; } .hero { grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); gap: 3rem; } }
    @media (max-width: 1100px) {
      .header-inner { min-height: 78px; }
      .menu-toggle { display: inline-flex; }
      .site-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; padding: 1rem 2rem; flex-direction: column; align-items: stretch; gap: 0; background: var(--surface); border-bottom: 1px solid var(--line); }
      .site-header[data-menu-open] .site-nav { display: flex; }
      .site-nav > a, .dropdown > summary { padding: .7rem 0; }
      .dropdown-menu { position: static; border: 0; border-left: 1px solid var(--line); padding-left: .5rem; margin-bottom: .5rem; }
      .language { padding: .6rem 0; border: 0; }
      .hero { gap: 2rem; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); }
      .hero h1 { font-size: calc(2.5rem * var(--scale-h1, 1)); }
      .hero-copy > p { font-size: 1.05rem; }
      .workflow-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    }
    @media (max-width: 800px) {
      .hero { grid-template-columns: 1fr; padding-top: 2rem; }
      .hero-copy { max-width: 38rem; }
      .hero h1 { font-size: calc(clamp(2.3rem, 6.8vw, 3.45rem) * var(--scale-h1, 1)); }
      .interface-notes .section-head { align-items: flex-start; }
      .notes-grid { grid-template-columns: 1fr; }
      .note { padding: 1rem 1.5rem; }
      .note + .note { border-left: 0; border-top: 1px solid var(--line); }
      .benefits, .support-grid { grid-template-columns: 1fr; }
      .benefit { padding: 1.1rem 1.3rem; }
      .section { padding-top: 2.5rem; }
      .pricing-grid { grid-template-columns: 1fr; }
      .price-card { display: grid; grid-template-columns: 1fr auto; gap: .3rem 1.5rem; }
      .price-card h3 { align-self: center; }
      .price { margin: 0; grid-column: 2; grid-row: 1 / 3; font-size: 2.7rem; }
      .price-card p:not(.price) { grid-column: 1; margin-bottom: .5rem; }
      .price-card .button { grid-column: 1 / -1; justify-self: start; }
      .buy-section { align-items: flex-start; flex-direction: column; gap: 1.25rem; }
      .footer-top { grid-template-columns: 1fr 1fr; }
      .footer-top > :last-child { grid-column: 1 / -1; }
    }
    @media (max-width: 480px) {
      .wrap { width: calc(100% - 2rem); }
      .brand img { width: 161px; }
      .release-strip { padding: .75rem; }
      .release-date { display: block; width: 100%; }
      .hero { gap: 1.75rem; }
      .hero h1 { font-size: calc(2.25rem * var(--scale-h1, 1)); }
      .button { padding-inline: 1.3rem; }
      .workflow-grid { grid-template-columns: 1fr; }
      .step { display: grid; grid-template-columns: 2.5rem 1fr; gap: .2rem .75rem; padding: 1.2rem; }
      .step-number { grid-row: 1 / 3; margin: 0; }
      .step h3 { margin: 0; }
      .step p { grid-column: 2; }
      .price-card { padding: 1.3rem; }
      .price { font-size: 2.3rem; }
      .footer-top { grid-template-columns: 1fr; gap: 1.6rem; }
      .footer-top > :last-child { grid-column: auto; }
    }
    @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }
  
/* Shared layouts for product pages and the documentation. */
body { overflow-wrap: break-word; }
a, button, summary { -webkit-tap-highlight-color: transparent; }
.brand img { width:184px; image-rendering:auto; }
.page-heading { max-width:58rem; padding:3rem 0 2rem; }
.page-heading h1 { font-size:calc(clamp(2rem,4vw,3.25rem) * var(--scale-h1, 1)); line-height:1.14; letter-spacing:-.025em; margin-bottom:1rem; }
.page-heading .lead { color:var(--muted); font-size:1.15rem; max-width:49rem; margin:0; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:.6rem; color:var(--muted); font-size:.875rem; margin-bottom:1.5rem; }
.breadcrumbs a:hover { color:var(--gold); }
.breadcrumbs span + span::before { content:'/'; padding-right:.6rem; color:#737b8d; }
.page-main { padding-bottom:4rem; }
.page-main .section { scroll-margin-top:2rem; }
.page-main h2, .page-main h3 { scroll-margin-top:2rem; }
.prose { min-width:0; max-width:55rem; }
.prose p, .prose li { color:var(--muted); }
.prose strong { color:var(--text); }
.prose a:not(.button), .table-wrap a { color:var(--gold); text-decoration:underline; text-underline-offset:.2em; }
.prose h2 { margin-top:2.75rem; font-size:calc(1.65rem * var(--scale-h2, 1)); }
.prose h3 { margin-top:1.8rem; font-size:calc(1.18rem * var(--scale-h3, 1)); }
.prose > section:first-child > h2:first-child { margin-top:0; }
.prose ul, .prose ol { padding-left:1.5rem; }
.prose li + li { margin-top:.55rem; }
.prose code, .file-path { overflow-wrap:anywhere; font-size:.94em; color:#f4d48d; background:#191c26; padding:.12rem .3rem; border-radius:3px; }
kbd { font: .875rem/1.6 ui-monospace,SFMono-Regular,Consolas,monospace; border:1px solid #495065; border-bottom-width:2px; border-radius:4px; padding:.12rem .35rem; color:var(--text); white-space:nowrap; }
.article-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:3rem; align-items:start; }
.toc { position:sticky; top:1.5rem; border-left:2px solid var(--line); padding-left:1.2rem; }
.toc h2 { color:var(--gold); text-transform:none; font-size:.95rem; margin:0 0 .65rem; }
.toc a { display:block; font-size:.92rem; padding:.4rem 0; line-height:1.4; color:var(--muted); }
.toc a:hover, .toc a:focus-visible { color:var(--gold); }
.callout { border-left:3px solid var(--gold); padding:1.1rem 1.3rem; background:#191911; margin:1.5rem 0; }
.callout p:last-child { margin-bottom:0; }
.callout h2,.callout h3 { margin-top:0; }
.muted, .fine-print { color:var(--muted); }
.fine-print { font-size:.875rem; }
.section-intro { color:var(--muted); max-width:49rem; }
.table-wrap { overflow-x:auto; margin:1.5rem 0; border:1px solid var(--line); border-radius:var(--radius); }
table { width:100%; border-collapse:collapse; text-align:left; font-size:1rem; }
caption { text-align:left; font-weight:700; color:var(--text); padding:1rem 1.2rem; background:var(--surface); }
th, td { padding:1rem 1.2rem; vertical-align:top; border-top:1px solid var(--line); }
thead th { background:#181c27; color:var(--gold); font-weight:700; }
tbody th { font-weight:500; color:var(--text); }
td { color:var(--muted); }
.comparison { min-width:700px; }
.comparison th:first-child { width:43%; }
.comparison tbody tr:nth-child(even) { background:#0f1219; }
.comparison td:last-child, .comparison thead th:last-child { background:#211e13; }
.comparison .group th { background:#1a1e2a; color:var(--gold); font-size:.875rem; font-weight:700; }
.yes { color:var(--gold); font-weight:600; }
.via { font-size:.875rem; }
.license-terms { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem 2.5rem; margin-top:2rem; }
.license-terms h3 { margin-bottom:.5rem; }
.license-terms p { color:var(--muted); margin-bottom:0; }
.feature-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); align-items:center; gap:3rem; padding:3rem 0; border-top:1px solid var(--line); }
.feature-row p { color:var(--muted); }
.feature-row:nth-of-type(even) .feature-visual { order:-1; }
.feature-visual { margin:0; }
.feature-visual img { border:1px solid var(--line); border-radius:var(--radius); width:100%; }
.feature-visual figcaption, .doc-figure figcaption { color:var(--muted); margin-top:.7rem; font-size:.875rem; }
.doc-figure { margin:1.75rem 0; }
.doc-figure img { width:100%; border:1px solid var(--line); border-radius:var(--radius); }
.image-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.image-pair figure { min-width:0; }
.image-pair img { width:100%; height:auto; }
.faq { border-top:1px solid var(--line); padding:1.2rem 0; }
.faq:last-child { border-bottom:1px solid var(--line); }
.faq summary { cursor:pointer; font-weight:600; font-size:1.08rem; padding-right:1rem; }
.faq[open] summary { margin-bottom:.9rem; color:var(--gold); }
.faq p:last-child { margin-bottom:0; }
.faq h3 { margin:0; display:inline; font-size:inherit; }
.release-heading { display:flex; flex-wrap:wrap; align-items:center; gap:1rem; margin-bottom:1.5rem; }
.release-heading h2 { margin:0; }
.version-tag { color:#15120b; background:var(--gold); border-radius:4px; padding:.15rem .55rem; font-size:.875rem; font-weight:700; }
.release-meta { font-size:.875rem; color:var(--muted); margin-bottom:1.5rem; }
.release-list { display:grid; gap:1.4rem; }
.release-list h3 { margin:.4rem 0 .5rem; }
.release-list p { margin:0; }
.release-archive { margin-top:3rem; border-top:1px solid var(--line); padding-top:1.8rem; }
.archive-entry { border-bottom:1px solid var(--line); padding:1rem 0; }
.archive-entry > summary { cursor:pointer; font-weight:600; color:var(--text); }
.archive-entry[open] > summary { margin-bottom:1.2rem; color:var(--gold); }
.archive-body { padding:.5rem 0 .5rem 1rem; border-left:1px solid var(--line); }
.archive-body p { margin-bottom:.9rem; }
.archive-body .archive-subheading { color:var(--text); font-weight:600; }
.status-label { display:inline-block; font-size:.875rem; margin-bottom:.65rem; color:var(--gold); }
.issue { padding:1.8rem 0; border-top:1px solid var(--line); }
.issue h2 { margin:0 0 .8rem; font-size:calc(1.35rem * var(--scale-h2, 1)); }
.contact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 3rem; }
.contact-row { padding:1.7rem 0; border-top:1px solid var(--line); }
.contact-row h2 { font-size:calc(1.2rem * var(--scale-h2, 1)); margin-bottom:.5rem; }
.contact-row p { color:var(--muted); margin-bottom:.65rem; }
.contact-row a { color:var(--gold); font-size:1.12rem; text-decoration:underline; text-underline-offset:.2em; overflow-wrap:anywhere; }
.contact-bottom { margin-top:2rem; padding:1.5rem; border:1px solid var(--line); border-radius:var(--radius); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; background:var(--surface); }
.contact-bottom h2 { font-size:calc(1.1rem * var(--scale-h2, 1)); }
.contact-bottom p,.contact-bottom address { margin:0; font-style:normal; color:var(--muted); }
.next-links { display:flex; justify-content:space-between; flex-wrap:wrap; gap:1rem 2rem; border-top:1px solid var(--line); margin-top:2.5rem; padding-top:1.5rem; }
.next-links a { color:var(--gold); }
.footer-top { grid-template-columns:1fr 1.15fr 1fr 1fr; }
.footer-links { display:grid; gap:.45rem; }
.site-footer address { overflow-wrap:normal; }
.footer-bottom { font-size:.875rem; }
.price-card .license-caption { font-size:.875rem; margin-top:-.5rem; }
.price-card h2 { font-size:calc(1.25rem * var(--scale-h2, 1)); margin-bottom:.25rem; }
.spec-table { min-width:650px; }
.page-main .pricing-grid { margin-top:.5rem; }
.print-hint { margin:2rem 0 0; font-size:.875rem; }
@media (max-width:1100px) { .article-layout { grid-template-columns:180px minmax(0,1fr); gap:2rem; } .footer-top { grid-template-columns:repeat(2,minmax(0,1fr)); } .footer-top > :last-child { grid-column:auto; } }
@media (max-width:800px) { .article-layout { grid-template-columns:1fr; gap:2rem; } .toc { position:static; display:flex; flex-wrap:wrap; gap:.15rem 1.3rem; border-left:0; border-bottom:1px solid var(--line); padding:0 0 1.2rem; } .toc h2 { flex-basis:100%; } .toc a { padding:.35rem 0; } .feature-row { grid-template-columns:1fr; gap:1.4rem; padding:2rem 0; } .feature-row:nth-of-type(even) .feature-visual { order:initial; } .page-heading { padding:2rem 0 1.7rem; } .license-terms { grid-template-columns:1fr; } .contact-grid { grid-template-columns:1fr; } }
@media (max-width:480px) { .image-pair,.contact-bottom { grid-template-columns:1fr; } .footer-top { grid-template-columns:1fr; } .page-heading h1 { font-size:calc(2rem * var(--scale-h1, 1)); } th,td { padding:.8rem; } .page-main { padding-bottom:2.5rem; } }
@media (max-width:1100px) { html:not(.js) .site-nav { position:static; display:flex; } html:not(.js) .header-inner { flex-direction:column; align-items:stretch; gap:1rem; padding-block:1rem; } html:not(.js) .menu-toggle { display:none; } }
@media print { body { background:white; color:black; } .site-header,.site-footer,.toc,.skip-link,.release-strip,.actions,.next-links { display:none!important; } .wrap { width:100%; } .article-layout { display:block; } .prose { max-width:none; } .prose p,.prose li,.muted,.fine-print,td { color:#222; } a { color:black!important; } h1,h2,h3,strong,th { color:black!important; } .page-heading { padding-top:0; } table,figure,section { break-inside:avoid; } .callout { background:#eee; } }

.preview-view[hidden] { display:none!important; }
.preview-view { scroll-margin-top:1rem; }
.preview-view + .preview-view { border-top:1px solid var(--line); }
html.js .preview-view { border-top:0; }
.preview-view > .page-heading { scroll-margin-top:0; }
html { scroll-padding-top:1rem; }
#mobile-image-viewer { width:min(94vw,1400px); max-height:94vh; padding:1rem; color:var(--text); background:var(--bg); border:1px solid var(--line); border-radius:8px; }
#mobile-image-viewer:not([open]) { display:none; }
#mobile-image-viewer::backdrop { background:rgba(0,0,0,.88); }
.image-viewer-toolbar { display:flex; align-items:center; justify-content:flex-end; margin-bottom:.8rem; }
.image-viewer-toolbar button { background:var(--surface); color:var(--text); border:1px solid var(--line); border-radius:5px; padding:.55rem 1rem; min-height:44px; }
#mobile-image { display:block; width:100%; height:auto; }
#mobile-image-caption { margin:.75rem 0 0; color:var(--muted); font-size:.875rem; }
@media(max-width:480px) { .header-inner { gap:1rem; } .page-heading { padding-top:1.5rem; } .preview-view { min-width:0; } .table-wrap { max-width:100%; -webkit-overflow-scrolling:touch; } }

/* Keep the language choice outside the collapsible mobile navigation. */
.header-inner { gap:1.15rem; }
.site-nav { margin-left:auto; gap:clamp(.8rem,1.4vw,1.45rem); }
.language-switch { display:inline-flex; flex:0 0 auto; border:1px solid var(--line); border-radius:5px; background:var(--surface); }
.language-switch button { min-width:44px; min-height:44px; padding:.45rem .5rem; border:0; border-radius:4px; color:var(--muted); background:transparent; font-size:.8125rem; font-weight:700; line-height:1; }
.language-switch button[aria-pressed="true"] { color:var(--bg); background:var(--gold); }
.language-switch button:hover { color:var(--text); }
.language-switch button[aria-pressed="true"]:hover { color:var(--bg); background:#ffd579; }
.language-switch button:focus-visible { position:relative; z-index:1; outline-offset:3px; }
.menu-toggle { min-height:44px; align-items:center; justify-content:center; flex-shrink:0; }
.hero h1, .page-heading h1 { overflow-wrap:anywhere; hyphens:auto; }
.workflow-line > span[data-i18n] { color:var(--text); }
@media(max-width:1100px) { .language-switch { margin-left:auto; } .site-nav { margin-left:0; gap:0; } }
@media(max-width:480px) { .header-inner { gap:.5rem; } .brand img { width:clamp(102px,29vw,120px); } .menu-toggle { padding:.5rem .55rem; } }

/* Desktop edition. The existing compact layout handles smaller windows. */
@media screen and (min-width:1024px) {
  :root { --width:1440px; --desktop-header-height:84px; }
  html { scroll-padding-top:calc(var(--desktop-header-height) + 1.25rem); }
  .wrap { width:min(var(--width),calc(100% - 5rem)); }
  .site-header { position:sticky; top:0; }
  .header-inner { min-height:var(--desktop-header-height); gap:1.1rem; }
  .brand img { width:184px; }
  .site-nav {
    display:flex; position:static; flex-direction:row; align-items:center;
    padding:0; gap:clamp(.75rem,1.15vw,1.35rem); border:0;
    background:transparent; margin-left:auto;
  }
  .site-nav > a, .dropdown > summary { padding:.6rem 0; font-size:.95rem; }
  .dropdown-menu {
    position:absolute; right:0; top:calc(100% + .6rem);
    min-width:250px; max-width:min(340px,80vw); padding:.45rem;
    margin:0; border:1px solid var(--line);
  }
  .language-switch { margin-left:0; }
  .language-switch button { font-size:.875rem; }
  .menu-toggle { display:none; }
  .hero {
    grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
    gap:3rem; padding:3rem 0 2.75rem;
  }
  .hero h1 { font-size:calc(clamp(2.65rem,3.3vw,3.65rem) * var(--scale-h1, 1)); line-height:1.1; }
  .hero-copy > p { max-width:34rem; font-size:1.125rem; }
  .interface figcaption { font-size:.875rem; }
  .workflow-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .demo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.75rem; }
  .demo-card figcaption { padding:1.35rem 1.5rem 1.5rem; }
  .demo-label span, .demo-label small { font-size:.875rem; }
  .page-heading { max-width:72rem; padding:2.75rem 0 2.25rem; }
  .page-heading h1 { font-size:calc(clamp(2.5rem,3.35vw,3.4rem) * var(--scale-h1, 1)); }
  .article-layout { grid-template-columns:220px minmax(0,1fr); gap:2.75rem; }
  .toc {
    position:sticky; top:calc(var(--desktop-header-height) + 1.5rem);
    max-height:calc(100vh - var(--desktop-header-height) - 3rem);
    max-height:calc(100dvh - var(--desktop-header-height) - 3rem);
    overflow-y:auto; padding-right:.6rem; scrollbar-width:thin;
    scrollbar-color:var(--line) transparent;
  }
  .toc a { font-size:.95rem; padding:.45rem 0; }
  .article-layout .prose { max-width:none; }
  .article-layout .prose p,
  .article-layout .prose > section > ul,
  .article-layout .prose > section > ol { max-width:82ch; }
  .article-layout .prose figure,
  .article-layout .prose .table-wrap { max-width:none; }
  .table-wrap { width:100%; }
  .comparison { width:100%; }
  .comparison th:first-child { width:44%; }
  .comparison th, .comparison td { padding:1rem 1.4rem; }
  .feature-row { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:3.5rem; }
  .feature-row > div > p { max-width:62ch; }
  .footer-top { grid-template-columns:1fr 1.15fr 1fr 1fr; }
  .footer-top > :last-child { grid-column:auto; }
  #mobile-image-viewer { width:min(96vw,1640px); max-height:94vh; max-height:94dvh; }
}
@media screen and (min-width:1600px) {
  :root { --width:1520px; }
  .hero { gap:3.5rem; }
  .article-layout { grid-template-columns:245px minmax(0,1fr); gap:3.5rem; }
}

.language-switch a{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;border-radius:4px;color:var(--muted)}.language-switch a[aria-current="true"]{background:var(--gold);color:var(--bg)}

/* News: one readable release at a time, with full-size demonstrations. */
.news-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:3rem;align-items:start}
.news-stream{max-width:100%;min-width:0}.news-stream .archive-entry{margin:0;border:0;border-bottom:1px solid var(--line,#2a2d34);border-radius:0;background:transparent}.news-stream .archive-entry:first-child{border-top:1px solid var(--line,#2a2d34)}
.news-stream .archive-entry>summary{padding:1.35rem 2.7rem 1.35rem 0;position:relative;display:flex;justify-content:space-between;align-items:baseline;gap:1.3rem;font-size:1.13rem;font-weight:500;list-style:none}.news-stream .archive-entry>summary::-webkit-details-marker{display:none}.news-stream .archive-entry>summary::after{content:'+';position:absolute;right:.4rem;top:1.25rem;font-size:1.4rem;color:#f7c254}.news-stream .archive-entry[open]>summary::after{content:'−'}
.release-note>summary time{font-size:.85rem;color:#a9b0bf;white-space:nowrap;font-weight:400}.news-stream .archive-body{padding:1rem 0 3rem;max-width:100%;font-size:1rem;line-height:1.75}.archive-body>p,.archive-body>.note-text{max-width:74ch}.archive-body h3{margin:2.3rem 0 .85rem;font-size:calc(1.25rem * var(--scale-h3, 1));line-height:1.4;color:#f7c254}.archive-body .note-intro{color:#a9b0bf;margin-bottom:2rem}
.note-media{margin:1.8rem 0 2.7rem}.note-media img,.note-media video{display:block;width:100%;height:auto;max-height:none;border:1px solid #2c303b;border-radius:4px}.note-media a{display:block}.note-media figcaption{font-size:.85rem;line-height:1.5;color:#a9b0bf;margin-top:.65rem}.note-media-compact{max-width:520px;margin-inline:0}.note-media-compact img{width:auto;max-width:100%}.note-table{margin:1.8rem 0}.note-table .note-table-title{margin:0 0 .8rem;color:#f7c254;font-weight:600}.note-table .table-wrap{position:relative;margin:0;border:0;border-radius:8px;box-shadow:0 4px 10px rgba(0,0,0,.25)}.note-table table{background:#141722;color:#f5f5f5;font-size:1rem;line-height:1.4}.note-table caption{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.note-table thead th{background:linear-gradient(to right,#f7c254 0%,#e9714c 100%);color:#000;font-weight:700;text-align:left;padding:10px 14px;white-space:nowrap;border-top:0}.note-table thead th:nth-child(n+2){text-align:center}.note-table tbody th,.note-table tbody td{padding:9px 14px;border-top:1px solid #3e3e3e;vertical-align:top}.note-table tbody th{color:#f5f5f5;font-weight:400;white-space:normal}.note-table tbody td{color:#dcdcdc;text-align:center;white-space:nowrap}.note-table tbody td:last-child:nth-child(n+4){color:#f7c254;font-weight:700}.note-table tbody tr:hover{background:#1b1f2e}@media(min-width:600px) and (max-width:1023px){.note-table table{font-size:.94rem}.note-table thead th,.note-table tbody th,.note-table tbody td{padding:8px 10px}}@media(max-width:599px){.note-table .table-wrap{overflow-x:visible;box-shadow:none;border-radius:0}.note-table .spec-table{min-width:0;background:transparent}.note-table table,.note-table tbody,.note-table tr,.note-table tbody th,.note-table tbody td{display:block;width:100%;box-sizing:border-box}.note-table thead{display:none}.note-table tbody tr{background:#141722;border:1px solid #3e3e3e;border-radius:8px;margin:0 0 12px;overflow:hidden;box-shadow:0 4px 10px rgba(0,0,0,.25)}.note-table tbody tr:hover{background:#141722}.note-table tbody th{border-top:0;padding:8px 12px;background:linear-gradient(to right,#f7c254 0%,#e9714c 100%);color:#000;font-weight:700;line-height:1.3}.note-table tbody td,.note-table tbody td:last-child:nth-child(n+4){display:flex;justify-content:space-between;gap:12px;padding:8px 12px;text-align:right;white-space:normal}.note-table tbody td::before{content:attr(data-label);color:#c0c0c0;font-weight:400;text-align:left}}@media print{.note-table .table-wrap{box-shadow:none}.note-table table,.note-table tbody tr{background:#fff}.note-table tbody th,.note-table tbody td,.note-table tbody td:last-child:nth-child(n+4){color:#222}.note-table tbody td::before{color:#555}}
.composed-page{max-width:900px;margin-bottom:4rem}.composed-page h3{margin-top:2rem}.community-home{border-top:1px solid #2a2d34}.community-heading{display:flex;align-items:center;justify-content:space-between;gap:2rem}.community-heading p{max-width:62ch;color:#a9b0bf}.community-heading h2{margin-top:0}.community-heading>.button{flex-shrink:0}
.maker-call{margin:2rem 0 5rem;padding:2.5rem;border:1px solid #313540;background:#11141d;border-radius:5px}.maker-call>p{max-width:75ch;line-height:1.7}.maker-call .fine-print{margin:1rem 0 0;color:#a9b0bf}.maker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.7rem;margin-top:2rem}.maker-grid .note-media{margin:0}.maker-grid .note-media img,.maker-grid .note-media video{width:100%;aspect-ratio:4/3;object-fit:contain;background:#11141d}.maker-grid figcaption{display:none}.maker-story-text{padding:1.4rem 0}.maker-credit{color:#f7c254}.maker-story blockquote{border-left:2px solid #f7c254;margin:1.8rem 0;padding-left:1.4rem}.maker-story blockquote cite{color:#a9b0bf;font-style:normal}.maker-stories .maker-story{max-width:980px;border-top:1px solid #313540;padding-top:2.5rem;margin:2.5rem auto}.maker-stories .note-media{max-width:900px}
@media(max-width:1023px){.news-layout{grid-template-columns:1fr;gap:1rem}.news-toc{position:static!important;display:flex;gap:1rem;flex-wrap:wrap}.news-toc h2{width:100%;margin-bottom:0}.news-toc a{padding:.3rem 0}.community-heading{flex-direction:column;align-items:flex-start}.maker-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.news-stream .archive-entry>summary{display:block;font-size:1.05rem}.release-note>summary time{display:block;margin-top:.35rem}.news-stream .archive-body{font-size:.96rem}.maker-call{padding:1.5rem}.maker-grid{grid-template-columns:1fr}}

/* One bounded desktop canvas; imagery never grows with an ultrawide display. */
:root { --width:1600px; }
body { background:radial-gradient(ellipse 900px 500px at 72% 0,rgba(233,113,76,.035),transparent),#0a0b0d; }
.wrap { width:min(var(--width),calc(100% - 5rem)); }
.section { padding-block:2.4rem; }
.hero h1 { max-width:14ch; }
.hero-copy>p { max-width:42ch; }
.hero .interface { width:fit-content; max-width:100%; justify-self:center; }
.interface-image { width:100%; height:auto; object-fit:contain; }
.benefits { margin-bottom:0; }
.release-strip { margin-top:1.25rem; margin-bottom:.25rem; font-size:1.15rem; padding:.85rem 1.25rem; }
.release-label { font-size:.9rem; }
.release-date { font-size:1rem; }
h2,.section-head h2,.interface-notes h2 { font-size:calc(clamp(1.6rem,2vw,2.1rem) * var(--scale-h2, 1)); font-weight:650; line-height:1.25; }
.benefit h3,.note h3,.step h3,.demo-card h3,.download-card h3 { font-size:calc(1.22rem * var(--scale-h3, 1)); line-height:1.35; font-weight:650; color:var(--text); text-transform:none; }
.eyebrow,.demo-label span { font-size:.86rem; font-weight:600; color:var(--gold); text-transform:none; letter-spacing:.02em; }
.note h3 { color:var(--gold); }
.benefit p:not(.eyebrow),.note p,.step p,.demo-card p { font-size:1rem; line-height:1.65; }
.step,.demo-card,.price-card,.maker-story,.download-card,.review-card,.benefit,.note { background:#11141b; border:1px solid #282b35; border-radius:7px; box-shadow:0 6px 18px #00000026; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.benefit,.note { padding:1.5rem; }
.step { display:flex; flex-direction:column; padding:0 0 1.3rem; position:relative; overflow:hidden; }
.step-number { position:absolute; top:.7rem; left:.7rem; background:#0a0b0deb; border:1px solid #44444c; padding:.12rem .5rem; border-radius:3px; font-size:.85rem; z-index:1; }
.workflow-image { display:block; margin:0 0 1.2rem; }
.workflow-image img { width:100%; height:auto; object-fit:contain; }
.step h3,.step>p { margin-inline:1.25rem; }
.step>p { margin-bottom:0; }
.workflow-grid { gap:1.25rem; }
.demo-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.25rem; }
.demo-card { margin:0; overflow:hidden; }
.demo-card video { display:block; width:100%; max-height:220px; aspect-ratio:16/10; object-fit:contain; background:#0c0d11; }
.demo-card figcaption { padding:1.1rem; }
.demo-label { margin-bottom:.6rem; }
.demo-label small { font-size:.78rem; }
.demo-card h3 { font-size:calc(1.1rem * var(--scale-h3, 1)); }
.demo-card p { font-size:.95rem; margin-bottom:0; }
.review-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; align-items:start; }
.review-card { margin:0; padding:1.6rem; }
.review-card blockquote { margin:0 0 1.4rem; font-size:1.05rem; line-height:1.7; }
.review-card blockquote p:last-child { margin:0; }
.review-card figcaption { display:flex; flex-direction:column; gap:.2rem; font-size:.9rem; }
.review-card figcaption strong { color:var(--gold); font-weight:600; }
.review-card figcaption span { color:var(--muted); }
.maker-story-text { padding:1.5rem; }
.maker-stories .maker-story { padding:1.5rem; }
.download-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; margin:1.5rem 0 2rem; }
.download-card { padding:1.5rem; display:flex; align-items:start; flex-direction:column; }
.download-card .button { margin-top:auto; }
.download-card .fine-print { margin:.7rem 0 0; }
.download-filters { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:2rem; }
.download-filters button { border:1px solid var(--line); color:var(--text); background:var(--surface); padding:.6rem 1rem; border-radius:5px; }
.download-filters [aria-pressed=true] { border-color:var(--gold); color:var(--gold); }
.download-archive { border-top:1px solid var(--line); padding:1.1rem 0; }
.download-archive>summary { display:flex; justify-content:space-between; gap:1rem; font-size:1.15rem; cursor:pointer; list-style:revert; }
.download-archive time { color:var(--muted); font-size:.9rem; }
.download-archive[open]>summary { margin-bottom:1.5rem; }
.download-notes { max-width:78ch; color:var(--muted); }
.download-notes p { margin-bottom:.8rem; }
.checksum { margin-top:1rem; width:100%; font-size:.8rem; }
.checksum code { overflow-wrap:anywhere; }
.report-upload { max-width:1000px; margin:3rem auto 1rem; padding:2rem; border:1px solid var(--line); border-radius:7px; background:var(--surface); }
.report-fields { display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; }
.report-upload label { display:block; font-size:.95rem; font-weight:600; }
.report-upload input,.report-upload select,.report-upload textarea { display:block; margin-top:.4rem; padding:.75rem; width:100%; min-width:0; font:inherit; color:var(--text); background:#0a0b0d; border:1px solid #464956; border-radius:4px; }
.report-upload textarea { resize:vertical; }
.report-upload .fine-print { font-weight:400; margin:1rem 0; font-size:.88rem; color:var(--muted); }
.report-upload .fine-print a { color:var(--gold); text-decoration:underline; }
.report-upload progress { width:100%; accent-color:var(--gold); margin-top:1.5rem; }
.report-honeypot { position:absolute!important; left:-10000px; width:1px; height:1px; overflow:hidden; }
.report-upload .actions { margin-top:1.5rem; }
.report-upload [data-report-status] { overflow-wrap:anywhere; }
.legal-copy { max-width:78ch; }
.legal-copy>p { margin-bottom:1.5rem; }
.legal-copy h2 { margin-top:2.5rem; }
.language-switch svg { display:block; box-shadow:0 0 0 1px #ffffff26; }
.language-switch a,.language-switch button { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; }
.language-switch a[aria-current=true],.language-switch button[aria-pressed=true] { background:#f7c25420; box-shadow:inset 0 -2px var(--gold); }
#mobile-image { width:auto; max-width:100%; margin:auto; }
[hidden] { display:none!important; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .step:hover,.demo-card:hover,.price-card:hover,.maker-story:hover,.download-card:hover,.review-card:hover,.benefit:hover,.note:hover { transform:translateY(-3px); border-color:#b98848; box-shadow:0 9px 24px #00000040,0 0 18px #e9714c0d; }
}
@media(max-width:1199px) { .demo-grid,.workflow-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .review-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:800px) { .wrap { width:calc(100% - 2.5rem); } .hero .interface { justify-self:center; } .download-grid { grid-template-columns:1fr; } .report-fields { grid-template-columns:1fr; } .report-upload { padding:1.3rem; } }
@media(max-width:560px) { .wrap { width:calc(100% - 2rem); } .workflow-grid,.demo-grid,.review-grid { grid-template-columns:1fr; } .section { padding-block:1.8rem; } .download-archive>summary { flex-direction:column; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .step,.demo-card,.price-card,.maker-story,.download-card,.review-card,.benefit,.note { transition:none; } }
:root { --scale-h1:1; --scale-h2:1; --scale-h3:1; }
.consent-gate { margin-top:2.5rem; padding:1.25rem 1.5rem; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); max-width:78ch; }
.consent-label { display:flex; gap:.75rem; align-items:flex-start; font-weight:600; cursor:pointer; }
.consent-label input { width:1.2rem; height:1.2rem; margin-top:.2rem; flex:none; accent-color:var(--gold); }
.consent-gate .actions { margin-top:1.25rem; }
.button:disabled { opacity:.4; cursor:not-allowed; filter:grayscale(1); }
/* Couleurs de texte choisies dans l’Atelier */
.c-gold { color:var(--gold); } .c-red { color:#ff6b57; } .c-green { color:#5fd38a; } .c-white { color:#ffffff; } .c-grey { color:var(--muted); }
/* Makers : projet mis en avant, cartes, page du projet */
.accent { color:var(--gold); }
.makers-heading { text-align:center; margin-bottom:2.5rem; max-width:none; margin-inline:auto; }
.makers-heading .eyebrow { letter-spacing:.28em; }
.makers-heading .lead { margin-inline:auto; }
.maker-feature { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:2.6rem; align-items:start; margin:1rem 0 3.5rem; }
.maker-feature-text-only { grid-template-columns:1fr; }
.maker-gallery { position:relative; aspect-ratio:4/3; overflow:hidden; border-radius:var(--radius); border:1px solid var(--line); background:#0b0d12; touch-action:pan-y; outline:none; }
.maker-gallery:focus-visible { outline:2px solid var(--gold); outline-offset:2px; }
.maker-track { display:flex; height:100%; transition:transform .35s ease; }
.maker-slide { flex:0 0 100%; height:100%; margin:0; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.maker-slide a { display:flex; width:100%; height:100%; align-items:center; justify-content:center; }
.maker-slide img { display:block; width:100%; max-width:100%; -webkit-user-drag:none; user-select:none; }
.maker-nav { position:absolute; top:50%; transform:translateY(-50%); width:2.6rem; height:2.6rem; padding:0; border-radius:50%; border:1px solid rgba(255,255,255,.25); background:rgba(10,11,13,.65); color:#fff; font-size:1.6rem; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.maker-prev { left:.9rem; } .maker-next { right:.9rem; }
.maker-nav:hover, .maker-nav:focus-visible { background:rgba(10,11,13,.9); border-color:var(--gold); }
.maker-dots { position:absolute; left:0; right:0; bottom:.8rem; display:flex; justify-content:center; gap:.45rem; }
.maker-dots button { width:.6rem; height:.6rem; padding:0; border-radius:50%; border:0; background:rgba(255,255,255,.55); cursor:pointer; }
.maker-dots button[aria-selected="true"] { background:var(--gold); }
.maker-counter { position:absolute; top:.8rem; right:.9rem; padding:.2rem .55rem; border-radius:4px; background:rgba(10,11,13,.7); color:#e6e8ee; font-size:.8rem; }
.maker-eyebrow { margin-bottom:.4rem; }
.maker-feature-text h2 { margin:0 0 .6rem; }
.maker-credit { color:var(--muted); margin:0 0 1.2rem; display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; }
.maker-credit .maker-name { color:var(--text); font-weight:600; }
.maker-credit .maker-sep { color:var(--gold); }
.maker-credit a { color:var(--muted); }
.maker-quote { margin:0 0 1.4rem; padding:1.3rem 1.5rem 1.1rem 3.2rem; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); position:relative; }
.maker-quote::before { content:"\201C"; position:absolute; left:1rem; top:.2rem; font-size:3.2rem; line-height:1; color:var(--gold); font-family:Georgia,serif; }
.maker-quote p { margin:0 0 .6rem; line-height:1.6; }
.maker-quote cite { color:var(--muted); font-style:normal; font-size:.9rem; }
.maker-facts { list-style:none; margin:0 0 1.4rem; padding:0; display:flex; flex-wrap:wrap; gap:1rem 1.6rem; }
.maker-facts li { display:flex; align-items:center; gap:.7rem; min-width:9rem; }
.maker-facts svg { width:2.1rem; height:2.1rem; flex:none; fill:none; stroke:var(--gold); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.maker-facts strong { display:block; font-size:.98rem; line-height:1.25; }
.maker-facts small { display:block; color:var(--muted); font-size:.74rem; letter-spacing:.04em; text-transform:uppercase; }
.maker-summary { line-height:1.65; margin:0 0 1rem; }
.maker-more { font-weight:600; }
.maker-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.6rem; margin:1rem 0 3rem; }
.maker-card { border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); overflow:hidden; display:flex; flex-direction:column; }
.maker-card-media { display:flex; align-items:center; justify-content:center; aspect-ratio:4/3; overflow:hidden; background:#0b0d12; }
.maker-card-media img { display:block; width:100%; max-width:100%; }
.maker-card-text { padding:1.1rem 1.2rem 1.3rem; display:flex; flex-direction:column; gap:.5rem; }
.maker-card-text h3 { margin:0; }
.maker-card-text .maker-credit { margin:0; }
.maker-card-text p { margin:0; color:var(--muted); }
.tip-card h2 { margin:0; font-size:1.15rem; }
.report-upload label.report-copy { display:flex; align-items:center; gap:.6rem; margin:1.1rem 0 .2rem; font-weight:400; cursor:pointer; }
.report-upload label.report-copy input { display:inline-block; width:auto; margin:0; padding:0; flex:none; accent-color:#f7c254; }
.note-download { margin:1rem 0 1.6rem; }
.site-video { margin:1.8rem 0 2.7rem; }
.site-video h3 { margin:0 0 .35rem; }
.site-video-text { margin:0 0 .9rem; font-size:.95rem; line-height:1.6; color:#a9b0bf; }
.site-video-text p { margin:0 0 .5rem; }
.site-video .note-media { margin:0; }
.gif-player { display:block; position:relative; width:100%; padding:0; border:0; background:none; cursor:pointer; font:inherit; }
.gif-player img, .gif-player canvas { display:block; width:100%; height:auto; border:1px solid #2c303b; border-radius:4px; }
.gif-player canvas { display:none; }
.gif-player.is-frozen canvas { display:block; }
.gif-player.is-frozen img { display:none; }
.gif-badge { position:absolute; left:50%; top:50%; width:72px; height:72px; margin:-36px 0 0 -36px; border-radius:50%; background:rgba(0,0,0,.55); border:2px solid rgba(255,255,255,.85); display:none; }
.gif-badge::before { content:''; position:absolute; left:50%; top:50%; margin:-14px 0 0 -9px; border-style:solid; border-width:14px 0 14px 24px; border-color:transparent transparent transparent #fff; }
.gif-player.is-frozen .gif-badge { display:block; }
.gif-player:focus-visible { outline:2px solid #f7c254; outline-offset:2px; }
.composed-wide { max-width:none; }
.page-embed:not(.has-toc) { display:block; }
/* Le document intégré passe en mise en page « ordinateur » à partir de 1024 px de large : le sommaire ne se met à gauche que si le cadre garde cette largeur. */
.page-embed.has-toc { grid-template-columns:190px minmax(0,1fr); gap:2rem; }
.page-embed .toc { max-height:calc(100vh - 3rem); overflow:auto; }
@media (max-width:1339px) {
  .page-embed.has-toc { display:block; }
  .page-embed .toc { position:static; display:flex; flex-wrap:wrap; gap:.15rem 1.3rem; max-height:none; border-left:0; border-bottom:1px solid var(--line); padding:0 0 1.2rem; margin-bottom:1.5rem; }
  .page-embed .toc h2 { flex-basis:100%; }
  .page-embed .toc a { padding:.35rem 0; }
}
.page-embed-frame { min-width:0; }
.page-embed-frame iframe { display:block; width:100%; height:80vh; border:0; background:transparent; }
.download-block { margin:1.5rem 0; }
.download-block > .eyebrow { margin:0 0 .5rem; }
.prose .download-grid { margin:.5rem 0 1.5rem; }
.tip-card h2 a { color:inherit; text-decoration:none; }
.tip-card h2 a:hover { text-decoration:underline; }
.maker-page .maker-credit { margin-bottom:.8rem; }
.maker-page .maker-facts { margin:.5rem 0 1.5rem; }
.maker-story-body { margin-top:1rem; }
.maker-page .maker-quote { max-width:78ch; margin:2rem 0; }
.maker-back { margin:2rem 0 3rem; }
@media (max-width:1100px) { .maker-cards { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:900px) { .maker-feature { grid-template-columns:1fr; gap:1.5rem; } .maker-cards { grid-template-columns:1fr; } .maker-facts li { min-width:calc(50% - .8rem); } }
/* Accueil : Community projects, badges et effets de mise en avant */
.community-intro { text-align:center; max-width:none; margin:0 auto 2rem; }
.community-title { display:flex; align-items:center; justify-content:center; gap:1.1rem; margin:0 0 .9rem; text-transform:uppercase; letter-spacing:.14em; color:var(--gold); font-size:calc(1.45rem * var(--scale-h2, 1)); }
.community-title::before, .community-title::after { content:""; flex:0 0 3rem; height:1px; background:var(--gold); opacity:.65; }
.community-intro .lead { max-width:52ch; margin:0 auto; color:var(--muted); font-size:1.05rem; }
.maker-home { margin:0 0 1rem; }
.maker-main { position:relative; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:2rem; align-items:center; padding:1.25rem; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); }
.maker-main-media .maker-gallery { aspect-ratio:4/3; }
.maker-main-text h3 { margin:.4rem 0 .5rem; font-size:calc(1.5rem * var(--scale-h3, 1)); line-height:1.25; }
.maker-main-text p { color:var(--muted); line-height:1.6; margin:0 0 1rem; }
.maker-main-text .maker-credit { margin-bottom:.9rem; }
.maker-more-block { margin-top:2rem; }
.maker-more-title { text-align:center; margin:0 0 1rem; font-size:.82rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); font-weight:600; }
.maker-minis .maker-card-text h3 { font-size:1.05rem; }
.community-actions { text-align:center; margin-top:2rem; }
.button-outline { background:transparent; border:1px solid var(--gold); color:var(--gold); }
.button-outline:hover, .button-outline:focus-visible { background:rgba(247,194,84,.12); color:var(--gold); }
.maker-badge { display:inline-flex; align-items:center; gap:.4rem; margin:0 0 .6rem; padding:.28rem .7rem; border:1px solid var(--gold); border-radius:999px; color:var(--gold); font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.maker-badge[hidden] { display:none; }
.maker-feature .maker-badge, .maker-story-wrap .maker-badge { margin-bottom:.8rem; }
.is-highlighted.hl-border, .is-highlighted.hl-motion { border-color:rgba(247,194,84,.75); }
.maker-feature.is-highlighted.hl-border, .maker-feature.is-highlighted.hl-motion { padding:1.25rem; border:1px solid rgba(247,194,84,.75); border-radius:var(--radius); }
@keyframes maker-glint { 0%, 100% { border-color:rgba(247,194,84,.35); } 50% { border-color:rgba(247,194,84,.95); } }
.is-highlighted.hl-motion { animation:maker-glint 6s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) { .is-highlighted.hl-motion { animation:none; border-color:rgba(247,194,84,.75); } }
@media (max-width:900px) { .maker-main { grid-template-columns:1fr; gap:1.2rem; padding:1rem; } .community-title::before, .community-title::after { flex-basis:1.5rem; } }
/* Cartes de modes sans image : numéro dans le flux, au-dessus du titre */
.step-plain { padding-top:1.1rem; }
.step-plain .step-number { position:static; align-self:flex-start; margin:0 0 .6rem 1.25rem; }
/* Images insérées dans les textes */
.prose img, .legal-copy img, .composed-page img, .note-intro img, p img { max-width:100%; height:auto; display:block; margin:1rem 0; border-radius:var(--radius); }
