@import url('tokens/colors.css');
@import url('tokens/typography.css');
@import url('tokens/spacing.css');
@import url('tokens/effects.css');
@import url('tokens/base.css');
@import url('https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;0,6..72,600;1,6..72,400;1,6..72,500;1,6..72,600&family=Inter:wght@400;500;600;700&display=swap');

/* ==========================================================================
   SEMQ — Audyt theme stylesheet
   Dark, editorial styling for the whole semq.pl site (home + O mnie + Audyt
   + Kontakt). Class-based, token-driven, structured to map cleanly onto the
   WordPress template parts (header.php, footer.php, front-page.php, page.php).
   All classes are prefixed .semq- to share one visual namespace.
   ========================================================================== */

/* ---- layout primitives -------------------------------------------------- */
.semq-container { width: 100%; max-width: var(--container-max); margin-inline: auto; padding-inline: var(--pad-page-x); }
.semq-section { padding-block: var(--pad-section-y); }
.semq-section--tight { padding-block: clamp(var(--space-16), 8vw, var(--space-24)); }
.semq-divider { border: 0; border-top: 1px solid var(--border); margin: 0; }

.semq-split {
  display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: clamp(var(--space-12), 7vw, var(--space-32)); align-items: start;
}
@media (max-width: 880px) { .semq-split { grid-template-columns: 1fr; gap: var(--space-12); } }

/* Home "Krótko o mnie" teaser */
.semq-teaser { align-items: center; }
.semq-teaser__media { margin: 0; border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--border); background: var(--surface-card); aspect-ratio: 4 / 3; }
.semq-teaser__media img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ---- typography helpers ------------------------------------------------- */
.semq-eyebrow {
  display: inline-block; font: var(--eyebrow); letter-spacing: var(--eyebrow-tracking);
  text-transform: uppercase; color: var(--text-eyebrow);
}
.semq-accent { font-style: italic; color: var(--accent-display); }
.semq-display-hero { font: var(--display-hero); letter-spacing: -0.01em; }
.semq-display-xl { font: var(--display-xl); letter-spacing: -0.01em; }
.semq-display-lg { font: var(--display-lg); letter-spacing: -0.01em; }
.semq-display-sm { font: var(--display-sm); letter-spacing: -0.01em; }
.semq-lead { font: var(--body-lg); color: var(--text-body); max-width: var(--container-text); }
.semq-muted { font: var(--body-md); color: var(--text-secondary); max-width: var(--container-text); }
.semq-muted + .semq-muted { margin-top: var(--gap-stack); }

/* ---- buttons ------------------------------------------------------------ */
.semq-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  padding: 13px 22px; font: var(--fw-medium) 0.875rem/1 var(--font-sans);
  letter-spacing: var(--label-tracking); border-radius: var(--radius-pill);
  border: 1px solid transparent; cursor: pointer; white-space: nowrap;
  transition: var(--transition-base);
}
.semq-btn svg { flex-shrink: 0; }
.semq-btn--lg { padding: 17px 30px; font-size: 0.9375rem; }
.semq-btn--full { width: 100%; }
.semq-btn--primary { background: var(--accent); color: var(--text-on-accent); border-color: var(--accent); box-shadow: var(--shadow-button); }
.semq-btn--primary:hover { background: var(--accent-hover); border-color: var(--accent-hover); }
.semq-btn--primary:active { background: var(--accent-press); transform: scale(var(--press-scale)); }
.semq-btn--secondary { background: var(--surface-card); color: var(--text-strong); border-color: var(--border-strong); }
.semq-btn--secondary:hover { background: var(--surface-card-hover); }
.semq-btn--secondary:active { transform: scale(var(--press-scale)); }
.semq-btn--ghost { background: transparent; color: var(--text-strong); }
.semq-btn--ghost:hover { color: var(--cream); }

/* ---- logo --------------------------------------------------------------- */
.semq-logo { display: inline-flex; align-items: center; gap: 10px; }
.semq-logo__mark {
  display: inline-flex; align-items: center; justify-content: center;
  width: 34px; height: 34px; border-radius: var(--radius-full);
  background: var(--surface-card); border: 1px solid var(--border-strong); flex-shrink: 0;
}
.semq-logo__text { display: flex; flex-direction: column; line-height: 1; }
.semq-logo__word { font: var(--fw-semibold) 17px/1 var(--font-sans); letter-spacing: 0.06em; color: var(--accent); }
.semq-logo__mark--img { background: transparent; width: auto; height: 36px; }
.semq-logo__mark--img img { height: 36px; width: auto; display: block; object-fit: contain; }
.semq-logo__sub { margin-top: 4px; font: var(--fw-medium) 8.5px/1 var(--font-sans); letter-spacing: 0.16em; text-transform: uppercase; color: var(--text-faint); }

/* ==========================================================================
   HEADER  (header.php)
   ========================================================================== */
.semq-site { display: flex; flex-direction: column; min-height: 100vh; }
.semq-header {
  position: sticky; top: 0; z-index: 50; height: var(--header-h);
  display: flex; align-items: center;
  background: rgba(6,7,9,0.72);
  -webkit-backdrop-filter: saturate(140%) blur(var(--blur-md));
  backdrop-filter: saturate(140%) blur(var(--blur-md));
  border-bottom: 1px solid var(--border-faint);
}
.semq-header__inner { display: flex; align-items: center; justify-content: space-between; width: 100%; gap: var(--space-8); }
.semq-nav { display: flex; align-items: center; gap: var(--space-8); }
.semq-nav__list { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: var(--space-8); }
.semq-nav a, .semq-nav__list a {
  font: var(--label-md); color: var(--text-secondary); letter-spacing: var(--label-tracking);
  transition: color var(--dur-base) var(--ease-out);
}
.semq-nav a:hover, .semq-nav__list a:hover, .semq-nav .current-menu-item > a { color: var(--text-strong); }
@media (max-width: 760px) { .semq-nav { display: none; } .semq-header__cta { display: none; } }

/* ==========================================================================
   HERO  (front-page)
   ========================================================================== */
.semq-hero { position: relative; padding-block: clamp(var(--space-16), 9vw, var(--space-32)); }
.semq-hero::before {
  content: ""; position: absolute; inset: 0; z-index: 0;
  background: radial-gradient(120% 80% at 30% 0%, var(--yellow-tint-08), transparent 55%);
  pointer-events: none;
}
.semq-hero__grid {
  position: relative; z-index: 1; display: grid;
  grid-template-columns: minmax(0,1.05fr) minmax(0,0.95fr);
  gap: clamp(var(--space-12), 6vw, var(--space-24)); align-items: center;
}
.semq-hero__meta { display: flex; gap: var(--space-6); align-items: center; margin-bottom: var(--space-8); }
.semq-hero__meta .semq-dot { color: var(--text-disabled); }
.semq-hero__title { margin-bottom: var(--space-8); }
.semq-hero__actions { display: flex; flex-wrap: wrap; gap: var(--gap-inline); margin-top: var(--space-10); }
.semq-hero__copy + .semq-hero__copy { margin-top: var(--gap-stack); }
@media (max-width: 880px) { .semq-hero__grid { grid-template-columns: 1fr; } .semq-hero__portrait { order: -1; } }

/* portrait card */
.semq-portrait {
  position: relative; border-radius: var(--radius-lg); overflow: hidden;
  border: 1px solid var(--border); background: var(--surface-card);
  box-shadow: var(--shadow-card); aspect-ratio: 4 / 5;
}
.semq-portrait img { width: 100%; height: 100%; object-fit: cover; display: block; }
.semq-portrait__scrim { position: absolute; inset: 0; background: var(--img-overlay); pointer-events: none; }
.semq-portrait figcaption { position: absolute; inset: 0; padding: var(--space-6); display: flex; flex-direction: column; justify-content: space-between; pointer-events: none; }
.semq-portrait__top {
  display: flex; justify-content: space-between; align-items: center;
  font: var(--fw-medium) 0.625rem/1 var(--font-sans); letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--text-secondary);
}
.semq-portrait__online { display: inline-flex; align-items: center; gap: 7px; color: var(--accent); }
.semq-portrait__online::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--online); box-shadow: 0 0 8px var(--online); }
.semq-portrait__bottom { display: flex; justify-content: space-between; align-items: flex-end; }
.semq-portrait__role { font: var(--fw-medium) 0.625rem/1.4 var(--font-sans); letter-spacing: 0.16em; text-transform: uppercase; color: var(--text-faint); margin-bottom: 6px; }
.semq-portrait__name { font: var(--display-sm); color: var(--text-strong); }
.semq-portrait__years { font: var(--fw-medium) 0.625rem/1 var(--font-sans); letter-spacing: 0.16em; text-transform: uppercase; color: var(--text-faint); }

/* ==========================================================================
   SERVICE TICKER
   ========================================================================== */
.semq-ticker { border-block: 1px solid var(--border); }
.semq-ticker__row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-6); padding-block: var(--space-8); }
.semq-ticker__item { font: var(--fw-medium) 0.8125rem/1 var(--font-sans); letter-spacing: 0.2em; text-transform: uppercase; color: var(--text-secondary); }

/* ==========================================================================
   STATS
   ========================================================================== */
.semq-stats { display: flex; flex-wrap: wrap; gap: clamp(var(--space-10), 5vw, var(--space-20)); }
.semq-stat { display: flex; flex-direction: column; gap: 8px; }
.semq-stat__figure { font: var(--stat-figure); color: var(--text-strong); }
.semq-stat__figure--accent { color: var(--accent); }
.semq-stat__label { font: var(--fw-medium) 0.6875rem/1.4 var(--font-sans); letter-spacing: 0.16em; text-transform: uppercase; color: var(--text-faint); }
.semq-stats__line { margin-block: var(--space-8); }
.semq-section-head__copy { display: flex; flex-direction: column; gap: var(--space-6); }

/* ==========================================================================
   SERVICE GRID  (CPT semq_service)
   ========================================================================== */
.semq-service-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: var(--gap-card); margin-top: var(--space-12); }
@media (max-width: 720px) { .semq-service-grid { grid-template-columns: 1fr; } }
.semq-service-card {
  display: flex; flex-direction: column; min-height: 230px; padding: var(--pad-card);
  background: var(--surface-card); border: 1px solid var(--border);
  border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
  transition: var(--transition-base); color: inherit;
}
.semq-service-card:hover { background: var(--surface-card-hover); border-color: var(--border-strong); }
.semq-service-card__top { display: flex; justify-content: space-between; align-items: flex-start; }
.semq-service-card__index { font: var(--fw-medium) 0.6875rem/1 var(--font-sans); letter-spacing: 0.16em; color: var(--text-faint); }
.semq-service-card__title { margin-top: auto; margin-bottom: 12px; font: var(--display-sm); color: var(--text-strong); }
.semq-service-card__desc { font: var(--body-sm); color: var(--text-muted); max-width: 42ch; }
.semq-icon-faint { color: var(--text-faint); }

/* ==========================================================================
   APPS SECTION
   ========================================================================== */
.semq-apps__layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(var(--space-12),6vw,var(--space-24)); align-items: start; }
@media (max-width: 880px) { .semq-apps__layout { grid-template-columns: 1fr; } }
.semq-feature-panel { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); background: var(--surface-card); border: 1px solid var(--border); border-radius: var(--radius-xl); overflow: hidden; }
@media (max-width: 560px) { .semq-feature-panel { grid-template-columns: 1fr; } }
.semq-feature { display: flex; flex-direction: column; gap: 14px; padding: var(--space-6); border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.semq-feature-panel .semq-feature:nth-child(2n) { border-right: 0; }
.semq-feature-panel .semq-feature:nth-last-child(-n+2) { border-bottom: 0; }
@media (max-width: 560px) { .semq-feature-panel .semq-feature { border-right: 0; } .semq-feature-panel .semq-feature:last-child { border-bottom: 0; } }
.semq-feature__icon { display: inline-flex; color: var(--accent); }
.semq-feature__title { font: var(--display-sm); font-size: 1.15rem; color: var(--text-strong); }
.semq-feature__desc { font: var(--body-sm); color: var(--text-muted); max-width: 34ch; }
.semq-thumbs { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); margin-top: var(--space-8); }
.semq-thumb { position: relative; border-radius: var(--radius-md); overflow: hidden; aspect-ratio: 4/3; border: 1px solid var(--border); }
.semq-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.semq-thumb::after { content: ""; position: absolute; inset: 0; background: var(--img-scrim-top); }
.semq-featured { display: flex; align-items: center; justify-content: space-between; gap: var(--space-6); margin-top: var(--gap-card); padding: var(--space-6) var(--space-8); background: var(--surface-card); border: 1px solid var(--border); border-radius: var(--radius-lg); }
.semq-featured__label { font: var(--fw-medium) 0.625rem/1 var(--font-sans); letter-spacing: 0.16em; text-transform: uppercase; color: var(--text-faint); margin-bottom: 10px; }
.semq-featured__name { font: var(--display-sm); color: var(--text-strong); }
.semq-featured__meta { font: var(--body-sm); color: var(--text-muted); margin-top: 4px; }

/* ==========================================================================
   CONTACT PANEL
   ========================================================================== */
.semq-contact-panel { background: var(--surface-raised); border: 1px solid var(--border); border-radius: var(--radius-xl); padding: clamp(var(--space-10),5vw,var(--space-20)); box-shadow: var(--shadow-raised); }
.semq-contact-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(var(--space-12),6vw,var(--space-24)); align-items: center; }
@media (max-width: 820px) { .semq-contact-grid { grid-template-columns: 1fr; gap: var(--space-12); } }
.semq-contact-form { display: flex; flex-direction: column; gap: var(--space-4); }
.semq-field { display: flex; align-items: center; gap: 14px; padding: 14px 16px; background: var(--surface-page); border: 1px solid var(--border); border-radius: var(--radius-md); transition: border-color var(--dur-base) var(--ease-out); }
.semq-field:focus-within { border-color: var(--border-yellow); }
.semq-field__icon { display: inline-flex; color: var(--text-faint); flex-shrink: 0; }
.semq-field__body { display: flex; flex-direction: column; gap: 4px; flex: 1; min-width: 0; }
.semq-field__label { font: var(--fw-medium) 0.625rem/1 var(--font-sans); letter-spacing: 0.16em; text-transform: uppercase; color: var(--text-faint); }
.semq-field input, .semq-field textarea { width: 100%; border: 0; outline: none; background: transparent; color: var(--text-strong); font: var(--body-md); padding: 0; resize: vertical; }
.semq-field input::placeholder, .semq-field textarea::placeholder { color: var(--text-muted); }
.semq-field__submit { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; flex-shrink: 0; border-radius: var(--radius-full); background: var(--surface-card); border: 1px solid var(--border-strong); color: var(--text-strong); cursor: pointer; transition: var(--transition-base); }
.semq-field__submit:hover { background: var(--surface-card-hover); }

/* Contact form notices */
.semq-notice { padding: 14px 16px; border-radius: var(--radius-md); font: var(--body-sm); margin-bottom: var(--space-5); border: 1px solid var(--border); }
.semq-notice--ok { color: var(--positive); border-color: color-mix(in oklab, var(--positive) 45%, var(--border)); background: color-mix(in oklab, var(--positive) 10%, transparent); }
.semq-notice--err { color: var(--negative); border-color: color-mix(in oklab, var(--negative) 45%, var(--border)); background: color-mix(in oklab, var(--negative) 10%, transparent); }

/* ==========================================================================
   PAGE HERO + LONG-FORM CONTENT  (page.php — O mnie / Audyt / Kontakt)
   ========================================================================== */
.semq-page-hero { padding-block: clamp(var(--space-16), 8vw, var(--space-24)) var(--space-10); border-bottom: 1px solid var(--border); }
.semq-page-hero__title { font: var(--display-xl); letter-spacing: -0.01em; margin-top: var(--space-4); max-width: 18ch; }
.semq-page-hero__lead { margin-top: var(--space-6); }

.semq-entry { padding-block: clamp(var(--space-16), 7vw, var(--space-24)); }
.semq-entry__inner { max-width: 760px; margin-inline: auto; }
.semq-entry__content { color: var(--text-body); font: var(--body-lg); }
.semq-entry__content > * + * { margin-top: var(--space-6); }
.semq-entry__content h2 { font: var(--display-lg); letter-spacing: -0.01em; margin-top: var(--space-16); color: var(--text-heading); }
.semq-entry__content h3 { font: var(--display-md); letter-spacing: -0.01em; margin-top: var(--space-12); color: var(--text-heading); }
.semq-entry__content h4 { font: var(--display-sm); color: var(--text-strong); margin-top: var(--space-10); }
.semq-entry__content h4 strong, .semq-entry__content h3 strong { font-weight: var(--fw-regular); }
.semq-entry__content p { color: var(--text-body); }
.semq-entry__content a { color: var(--accent-display); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.semq-entry__content a:hover { color: var(--accent); }
.semq-entry__content strong { color: var(--text-strong); font-weight: var(--fw-semibold); }
.semq-entry__content ul, .semq-entry__content ol { padding-left: 1.35em; display: flex; flex-direction: column; gap: var(--space-3); color: var(--text-body); }
.semq-entry__content ul { list-style: none; padding-left: 0; }
.semq-entry__content ul > li { position: relative; padding-left: 1.6em; }
.semq-entry__content ul > li::before { content: ""; position: absolute; left: 0; top: 0.65em; width: 7px; height: 7px; border-radius: 50%; background: var(--accent); }
.semq-entry__content ol { counter-reset: item; list-style: none; padding-left: 0; }
.semq-entry__content ol > li { position: relative; padding-left: 2.4em; counter-increment: item; }
.semq-entry__content ol > li::before { content: counter(item, decimal-leading-zero); position: absolute; left: 0; top: 0.05em; font: var(--fw-medium) 0.8125rem/1.6 var(--font-sans); letter-spacing: 0.08em; color: var(--accent); }
.semq-entry__content ul ul, .semq-entry__content ol ol, .semq-entry__content ol ul, .semq-entry__content ul ol { margin-top: var(--space-3); }
.semq-entry__content li { font: var(--body-md); line-height: 1.6; }
.semq-entry__content img { max-width: 100%; height: auto; border-radius: var(--radius-lg); border: 1px solid var(--border); display: block; }
.semq-entry__content blockquote { border-left: 2px solid var(--border-yellow); padding-left: var(--space-6); color: var(--text-secondary); font-style: italic; }
.semq-entry__content hr { border: 0; border-top: 1px solid var(--border); }

/* labelled logo / chip groups (O mnie tools & certs) */
.semq-toolset { margin-top: var(--space-8); }
.semq-toolset__label { font: var(--fw-medium) 0.6875rem/1.4 var(--font-sans); letter-spacing: 0.16em; text-transform: uppercase; color: var(--text-faint); margin-bottom: var(--space-4); }
.semq-chips { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.semq-chip { display: inline-flex; align-items: center; padding: 8px 14px; border: 1px solid var(--border); border-radius: var(--radius-pill); background: var(--surface-card); color: var(--text-body); font: var(--body-sm); }

/* ---- Logo / badge grid (square brand icons) ---------------------------- */
.semq-badge-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(108px, 1fr)); gap: var(--space-4); margin-top: var(--space-5); }
.semq-badge { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.semq-badge__tile {
  width: 100%; aspect-ratio: 1; display: flex; align-items: center; justify-content: center;
  padding: 16px; background: var(--surface-card); border: 1px solid var(--border);
  border-radius: var(--radius-md); transition: var(--transition-base);
}
.semq-badge__tile:hover { border-color: var(--border-strong); background: var(--surface-card-hover); }
.semq-badge__tile img { max-width: 100%; max-height: 100%; object-fit: contain; display: block; }
.semq-badge__cap { font: var(--body-sm); color: var(--text-muted); text-align: center; line-height: 1.3; }

/* ---- Certificate grid (landscape certificate images) ------------------- */
.semq-cert-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: var(--space-5); margin-top: var(--space-5); }
.semq-cert {
  display: flex; flex-direction: column; background: var(--surface-card);
  border: 1px solid var(--border); border-radius: var(--radius-md); overflow: hidden;
  transition: var(--transition-base); color: inherit;
}
.semq-cert:hover { border-color: var(--border-strong); background: var(--surface-card-hover); }
.semq-cert__img { aspect-ratio: 3 / 2; background: var(--surface-page); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.semq-cert__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.semq-cert__cap { padding: 12px 14px; font: var(--body-sm); color: var(--text-body); border-top: 1px solid var(--border); }

/* ---- Native WP gallery blocks inside page content auto-grid ------------- */
.semq-entry__content .wp-block-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: var(--space-4); margin-top: var(--space-6); }
.semq-entry__content .wp-block-gallery .wp-block-image,
.semq-entry__content .wp-block-gallery figure { margin: 0; width: 100% !important; }
.semq-entry__content .wp-block-gallery img { width: 100%; height: auto; border-radius: var(--radius-md); border: 1px solid var(--border); background: var(--surface-card); }

/* back link (single service) */
.semq-back { display: inline-flex; align-items: center; gap: 8px; color: var(--text-muted); font: var(--label-md); transition: color var(--dur-base) var(--ease-out); }
.semq-back:hover { color: var(--text-strong); }

/* ==========================================================================
   FOOTER  (footer.php)
   ========================================================================== */
.semq-footer { margin-top: auto; border-top: 1px solid var(--border); padding-block: var(--space-16) var(--space-12); }
.semq-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: var(--space-12); }
@media (max-width: 760px) { .semq-footer__grid { grid-template-columns: 1fr; gap: var(--space-10); } }
.semq-footer__col-title { font: var(--fw-medium) 0.6875rem/1.4 var(--font-sans); letter-spacing: 0.16em; text-transform: uppercase; color: var(--text-faint); margin-bottom: var(--space-5); }
.semq-footer__company { display: flex; flex-direction: column; gap: var(--space-3); }
.semq-footer__company .semq-logo { margin-bottom: var(--space-4); }
.semq-footer__line { font: var(--body-sm); color: var(--text-muted); }
.semq-footer__links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-3); }
.semq-footer__links a { font: var(--body-sm); color: var(--text-muted); transition: color var(--dur-base) var(--ease-out); }
.semq-footer__links a:hover { color: var(--text-strong); }
.semq-footer__bottom { margin-top: var(--space-16); padding-top: var(--space-8); border-top: 1px solid var(--border); display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-4); }
.semq-footer__copy { font: var(--body-sm); color: var(--text-faint); }

/* ==========================================================================
   SCROLL REVEAL
   ========================================================================== */
/* Hidden base only applies once JS has flagged support — never permanently hides content. */
.js-reveal .semq-reveal { opacity: 0; transform: translateY(8px); transition: opacity var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out); }
.js-reveal .semq-reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .js-reveal .semq-reveal { opacity: 1; transform: none; } }
