/*
 * Page-specific composition. Anything reusable belongs in components.css;
 * this file is only for arrangements that exist on one kind of page.
 * No colour literals, no physical-direction properties.
 */

/* ---- Section rhythm ---- */
.section { padding-block: 2.5rem; }
.section-head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; flex-wrap: wrap; margin-block-end: 1.25rem; }
.section-head p { margin: 0; }

/* ---- Catalog ---- */
.filters {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr));
  gap: 0.75rem;
  align-items: end;
  background: var(--bg2);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 1rem;
  margin-block-end: 1.5rem;
  box-shadow: var(--shadow-xs);
}

.filters label { font-size: var(--step--1); font-weight: 600; display: block; margin-block-end: 0.2rem; }

.product-card { display: flex; flex-direction: column; gap: 0.6rem; transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.2s ease; }
.product-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-hover, var(--shadow-md)); border-color: var(--accent); }
.product-card > p { margin: 0; }
.product-card .cta-row { gap: 0.75rem; margin-block-start: auto; }

.product-media-gallery { margin-block: 1rem 1.5rem; border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--line); background: var(--bg2); box-shadow: var(--shadow-sm); }
.product-media-preview { display: block; inline-size: 100%; block-size: auto; aspect-ratio: 16 / 9; object-fit: cover; }


.product-media {
  aspect-ratio: 16 / 9;
  background: var(--bg2);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  object-fit: cover;
  inline-size: 100%;
}

.summary { background: var(--bg2); border: 1px solid var(--line); border-radius: var(--radius); padding: 1.25rem; box-shadow: var(--shadow-sm); font-variant-numeric: tabular-nums; }

/* ---- Knowledge base / legal prose ---- */
.prose { max-inline-size: 46rem; line-height: 1.75; }
.prose :where(h1, h2, h3) { letter-spacing: -0.02em; font-weight: 700; }
.prose h2 { margin-block-start: 2rem; border-block-end: 1px solid var(--line); padding-block-end: 0.4rem; }
.prose h3 { margin-block-start: 1.5rem; }
.prose table { margin-block: 1rem; border: 1px solid var(--line); border-radius: var(--radius-sm); }
.prose blockquote { margin-inline: 0; padding-inline: 1rem; border-inline-start: 4px solid var(--accent); color: var(--muted); }

/* ---- Release notes ---- */
.release { border: 1px solid var(--line); border-radius: var(--radius); padding: 1.1rem; margin-block-end: 1rem; background: var(--card); }

.post { border-block-start: 1px solid var(--line); padding-block: 1rem; }
.post:first-of-type { border-block-start: 0; }

/* ---- Admin dashboard ---- */
.admin-head { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; margin-block-end: 1.5rem; }

/* ---- Admin command center (v0.04) ---- */
.admin-tiles .tile {
  position: relative;
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.admin-tiles .tile:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
  border-color: var(--accent);
}

.admin-tiles .tile::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-end: 0;
  block-size: 0.2rem;
  background: var(--accent);
}

.tile-note {
  color: var(--muted);
  font-size: var(--step--1);
  margin-block-start: 0.35rem;
}

.tile-attention {
  border-color: var(--warn);
}

.admin-quick { padding-block-end: 1rem; }

.admin-action-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
  gap: 0.85rem;
}

.admin-action {
  display: grid;
  gap: 0.3rem;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--card);
  color: var(--ink);
  text-decoration: none;
  box-shadow: var(--shadow-sm);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.admin-action:hover {
  border-color: var(--accent);
  box-shadow: var(--shadow-md);
  transform: translateY(-3px);
  text-decoration: none;
}

.admin-action strong {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--ink);
}

.admin-action span {
  color: var(--muted);
  font-size: var(--step--1);
  line-height: 1.45;
}

.admin-audit-card {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--card);
  padding-inline: 0.35rem;
}

.projects-heading { font-size: var(--step-2); margin-block: 0.25rem 1.25rem; }
.catalog-page { display: block; }
.how-it-works-page { display: block; }
.support-page { display: block; }
.scanner-page { display: block; }
.scanner-hero { margin-block-end: 2rem; }
.scanner-controls-card { margin-block-end: 1.5rem; }
.scanner-form { display: grid; gap: 1rem; }
.scanner-input-group { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.scanner-input-group input[type="url"],
.scanner-input-group input[type="text"] { flex: 1 1 18rem; min-inline-size: 0; }
.scanner-quick-row { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
.scanner-score-hero { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.5rem; border-radius: var(--radius-lg); background: var(--bg2); border: 1px solid var(--line); margin-block-end: 1.5rem; }
.scanner-score-badge { display: flex; flex-direction: column; align-items: center; justify-content: center; min-inline-size: 5.5rem; min-block-size: 5.5rem; border-radius: var(--radius-lg); font-size: var(--step-3); font-weight: 800; border: 2px solid var(--line); background: var(--card); }
.scanner-score-badge.grade-a { color: var(--admin-success); border-color: var(--admin-success-border); background: var(--admin-success-bg); }
.scanner-score-badge.grade-b { color: var(--badge-info-ink); border-color: var(--badge-info-border); background: var(--badge-info-bg); }
.scanner-score-badge.grade-c { color: var(--admin-warning); border-color: var(--admin-warning-border); background: var(--admin-warning-bg); }
.scanner-score-badge.grade-f { color: var(--admin-danger); border-color: var(--admin-danger-border); background: var(--admin-danger-bg); }
.scanner-score-info { flex: 1 1 16rem; }
.scanner-score-info h2 { margin-block: 0 0.25rem; font-size: var(--step-1); }
.scanner-score-meta { display: flex; flex-wrap: wrap; gap: 0.75rem; font-size: var(--step--1); color: var(--muted); margin-block-start: 0.25rem; }
.scanner-checks-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)); margin-block-end: 2rem; }
.scanner-check-card { display: flex; flex-direction: column; justify-content: space-between; padding: 1.25rem; border-radius: var(--radius-md); border: 1px solid var(--line); background: var(--card); }
.scanner-check-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 0.75rem; margin-block-end: 0.75rem; }
.scanner-check-title { font-size: var(--step-0); font-weight: 700; margin-block: 0; }
.scanner-check-cat { font-size: var(--step--1); color: var(--muted); margin-block-end: 0.25rem; }
.scanner-check-detail { font-size: var(--step--1); color: var(--ink); margin-block: 0 0.5rem; line-height: 1.4; }
.scanner-check-remed { font-size: var(--step--1); color: var(--muted); margin-block: 0; padding-block-start: 0.5rem; border-block-start: 1px dashed var(--line); }
.scanner-arch-section { margin-block-start: 3rem; }
.scanner-arch-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); margin-block-start: 1rem; }
.scanner-arch-card { padding: 1.25rem; border-radius: var(--radius-md); border: 1px solid var(--line); background: var(--card); }
.scanner-arch-card h3 { font-size: var(--step-0); margin-block: 0 0.5rem; }
.scanner-arch-card p { font-size: var(--step--1); color: var(--muted); margin-block: 0; }
.scanner-severity-row { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-block-start: 0.75rem; }
.scanner-severity-pill { display: inline-flex; align-items: center; gap: 0.35rem; padding-block: 0.25rem; padding-inline: 0.65rem; border-radius: var(--radius-sm); font-size: var(--step--1); font-weight: 600; border: 1px solid var(--line); background: var(--bg); color: var(--ink); }
.scanner-severity-pill.crit { border-color: var(--admin-danger-border); background: var(--admin-danger-bg); color: var(--admin-danger); }
.scanner-severity-pill.high { border-color: var(--admin-danger-border); background: var(--admin-danger-bg); color: var(--admin-danger); }
.scanner-severity-pill.med { border-color: var(--admin-warning-border); background: var(--admin-warning-bg); color: var(--admin-warning); }
.scanner-severity-pill.low { border-color: var(--badge-info-border); background: var(--badge-info-bg); color: var(--badge-info-ink); }
.scanner-severity-pill.info { border-color: var(--line); background: var(--card); color: var(--muted); }
.scanner-actions-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin-block: 1rem; }
.scanner-filter-tabs { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-block: 1rem; }
.scanner-tab { display: inline-flex; align-items: center; padding-block: 0.35rem; padding-inline: 0.75rem; border-radius: var(--radius-sm); border: 1px solid var(--line); background: var(--card); color: var(--ink); font-size: var(--step--1); font-weight: 600; cursor: pointer; transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease; }
.scanner-tab:hover { background: var(--bg2); border-color: var(--accent); }
.scanner-tab.active { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.scanner-findings-list { display: grid; gap: 1rem; margin-block-end: 2.5rem; }
.scanner-finding-card { display: flex; flex-direction: column; gap: 0.75rem; padding: 1.25rem; border-radius: var(--radius-md); border: 1px solid var(--line); background: var(--card); }
.scanner-finding-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.5rem; }
.scanner-finding-head h3 { margin-block: 0; font-size: var(--step-0); font-weight: 700; }
.scanner-finding-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem; font-size: var(--step--1); color: var(--muted); }
.scanner-finding-location { font-size: var(--step--1); color: var(--ink); overflow-wrap: anywhere; }
.scanner-finding-desc { margin-block: 0; font-size: var(--step--1); color: var(--ink); line-height: 1.5; }
.scanner-finding-evidence { margin-block: 0; padding: 0.75rem; border-radius: var(--radius-sm); background: var(--bg2); border: 1px solid var(--line); font-size: var(--step--1); overflow-x: auto; max-block-size: 12rem; }
.scanner-finding-fix { padding: 0.75rem; border-radius: var(--radius-sm); background: var(--bg2); border-inline-start: 3px solid var(--accent); font-size: var(--step--1); color: var(--ink); }
.scanner-finding-fix code { overflow-wrap: anywhere; }
.scanner-clean-state { padding: 2rem; border-radius: var(--radius-md); border: 1px solid var(--admin-success-border); background: var(--admin-success-bg); color: var(--admin-success); text-align: center; }
.scanner-empty-tab { text-align: center; padding-block: 2rem; color: var(--muted); }
.scanner-scores-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); margin-block: 1rem; }
.scanner-subscore-card { display: flex; flex-direction: column; justify-content: center; padding: 1rem; border-radius: var(--radius-md); border: 1px solid var(--line); background: var(--card); }
.scanner-subscore-val { font-size: var(--step-2); font-weight: 800; color: var(--ink); margin-block-start: 0.25rem; }
.scanner-table-wrap { overflow-x: auto; margin-block: 1rem 2rem; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--card); }
.scanner-matrix-table { inline-size: 100%; border-collapse: collapse; font-size: var(--step--1); text-align: start; }
.scanner-matrix-table th, .scanner-matrix-table td { padding: 0.75rem 1rem; border-block-end: 1px solid var(--line); }
.scanner-matrix-table th { background: var(--bg2); font-weight: 700; color: var(--muted); }
.scanner-matrix-table tr:last-child td { border-block-end: none; }
.scanner-code-card { margin-block: 1rem 2rem; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--card); padding: 1.25rem; }
.scanner-code-head { display: flex; justify-content: space-between; align-items: center; margin-block-end: 0.75rem; }
.scanner-code-block { margin: 0; padding: 1rem; border-radius: var(--radius-sm); background: var(--bg2); border: 1px solid var(--line); font-size: var(--step--1); overflow-x: auto; max-block-size: 16rem; }
.scanner-badge-crit { padding-block: 0.2rem; padding-inline: 0.5rem; border-radius: var(--radius-sm); font-size: var(--step--1); font-weight: 700; background: var(--admin-danger-bg); border: 1px solid var(--admin-danger-border); color: var(--admin-danger); }
.scanner-badge-high { padding-block: 0.2rem; padding-inline: 0.5rem; border-radius: var(--radius-sm); font-size: var(--step--1); font-weight: 700; background: var(--admin-danger-bg); border: 1px solid var(--admin-danger-border); color: var(--admin-danger); }
.scanner-badge-med { padding-block: 0.2rem; padding-inline: 0.5rem; border-radius: var(--radius-sm); font-size: var(--step--1); font-weight: 700; background: var(--admin-warning-bg); border: 1px solid var(--admin-warning-border); color: var(--admin-warning); }
.scanner-badge-low { padding-block: 0.2rem; padding-inline: 0.5rem; border-radius: var(--radius-sm); font-size: var(--step--1); font-weight: 700; background: var(--badge-info-bg); border: 1px solid var(--badge-info-border); color: var(--badge-info-ink); }
.scanner-badge-info { padding-block: 0.2rem; padding-inline: 0.5rem; border-radius: var(--radius-sm); font-size: var(--step--1); font-weight: 700; background: var(--bg2); border: 1px solid var(--line); color: var(--muted); }
.catalog-page-header { margin-block-end: 1.5rem; }
.catalog-page-header h1 { margin-block: 0 0.5rem; }
.catalog-page-header .studio-eyebrow { margin-block-end: 0.5rem; }
.catalog-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; margin-block-end: 0.5rem; }
.catalog-controls label { display: grid; gap: 0.25rem; flex: 1 1 14rem; min-inline-size: 0; }
.catalog-controls input[type="search"] { inline-size: 100%; }
.catalog-domain-pills { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-block: 0.4rem 0.8rem; }
.catalog-domain-pill { display: inline-flex; align-items: center; padding-block: 0.35rem; padding-inline: 0.75rem; border-radius: var(--radius-sm); border: 1px solid var(--line); font-size: var(--step--1); font-weight: 600; text-decoration: none; color: var(--ink); background: var(--card); transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease; }
.catalog-domain-pill:hover { background: var(--bg2); border-color: var(--accent); }
.catalog-domain-pill.active { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.catalog-grid { grid-template-columns: minmax(0, 1fr); }
.catalog-grid > .product-card { min-inline-size: 0; overflow-wrap: anywhere; }
@media (min-width: 600px) {
  .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 900px) {
  .catalog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {
  .catalog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1800px) {
  .catalog-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.pagination { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 0.75rem; margin-block: 1.25rem; }

/* Compact discovery uses the same card/filter/pagination owners as the catalog. */
.home-page { padding-block: 0.5rem 1rem; }
.home-projects { scroll-margin-block-start: 6rem; }
.home-media { block-size: auto; flex-shrink: 0; }
.home-media-empty { display: grid; place-items: center; padding: 1rem; color: var(--muted); font-size: var(--step--1); text-align: center; }
.home-facts { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 0.35rem 0.6rem; font-size: var(--step--1); border-block: 1px solid var(--line); padding-block: 0.6rem; margin: 0; font-variant-numeric: tabular-nums; }
.home-facts dt { color: var(--muted); }
.home-facts dd { margin: 0; overflow-wrap: anywhere; }
.home-empty { text-align: start; padding: 1.25rem; }
.home-empty h2 { margin-block-start: 0; font-size: var(--step-1); }
.catalog-controls .catalog-search { flex: 1 1 16rem; }
.catalog-result-count { margin-block: 0 0.75rem; }
.product-categories { margin: 0; }

.hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin-block-end: 0.8rem;
  color: var(--accent);
  font-size: var(--step--1);
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  background: var(--badge-neutral-bg);
  border: 1px solid var(--line);
  border-radius: var(--radius-pill);
  padding: 0.2rem 0.75rem;
  inline-size: fit-content;
}

.lede {
  color: var(--muted);
  font-size: var(--step-1);
  max-inline-size: 42rem;
  text-wrap: pretty;
}

.text-link {
  font-weight: 700;
  text-decoration: none;
}

/* ---- Coupon administration & order review ---- */
.grid-2 {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
}

.grid-3 {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
}

.discount-highlight {
  color: var(--accent);
}


.product-card h2 {
  font-size: var(--step-1);
  font-weight: 600;
  line-height: 1.35;
  margin: 0;
}
.product-card h2 a {
  text-decoration: none;
  color: var(--ink);
}
.product-card h2 a:hover {
  color: var(--accent);
}
.product-card .product-tagline {
  color: var(--muted);
  font-size: var(--step--1);
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0;
}
.home-project-grid { align-items: stretch; }
.home-project-card { block-size: 100%; }

/* A stable two-column mobile context nav does not rewrap when the local font loads. */
.product-context-nav { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-block: 1rem; }
@media (max-width: 599px) {
  .product-context-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Software studio homepage and customer workspace, using canonical tokens only. */
.studio-hero { display: grid; gap: 2rem; align-items: center; padding-block: clamp(2rem, 5vw, 4.5rem); }
.studio-eyebrow { font-size: 0.72rem; font-weight: 800; letter-spacing: 0.12em; color: var(--muted); margin-block: 0 0.9rem; }
.studio-hero h1 { font-size: clamp(2.15rem, 4.5vw, 3.65rem); font-weight: 800; line-height: 1.15; letter-spacing: -0.055em; margin-block: 0 1.2rem; }
.studio-hero h1 > span { color: var(--accent); }
.studio-lede { color: var(--muted); font-size: var(--step-0); line-height: 1.9; max-inline-size: 34rem; }
.studio-hero-copy > .cta-row { margin-block: 1.5rem 1rem; }
.studio-text-link { display: inline-flex; align-items: center; gap: 0.5rem; min-block-size: 44px; font-weight: 700; font-size: var(--step--1); color: var(--ink); text-decoration: none; }
.studio-start-help { font-size: var(--step--1); color: var(--muted); max-inline-size: 34rem; }
.studio-start-help > a { margin-inline-start: 0.4rem; }
.studio-hero-art { position: relative; padding-block: 1rem; padding-inline: 0.4rem; min-inline-size: 0; isolation: isolate; }
.studio-hero-art::before { content: ""; position: absolute; z-index: -1; inline-size: 70%; aspect-ratio: 1; border-radius: 50%; background: var(--studio-art); inset-inline-end: -0.5rem; inset-block-start: -0.5rem; }
.studio-window { border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--card); box-shadow: var(--studio-window-shadow); overflow: hidden; }
.studio-window-bar { display: flex; align-items: center; justify-content: space-between; gap: 0.65rem; padding: 0.7rem 1rem; border-block-end: 1px solid var(--line); color: var(--muted); font-size: 0.68rem; font-weight: 700; }
.studio-window-bar > span:first-child { letter-spacing: 0.2rem; }
.studio-window-body { padding: clamp(1.1rem, 3vw, 1.8rem); }
.studio-window-body h2 { font-size: var(--step-1); max-inline-size: 23rem; margin-block: 0 1.1rem; }
.studio-window-body .studio-eyebrow { font-size: 0.7rem; letter-spacing: 0.04em; }
.studio-journey-step { display: flex; align-items: center; gap: 0.9rem; padding-block: 0.95rem; padding-inline: 0.4rem; border-block-start: 1px solid var(--line); color: var(--ink); text-decoration: none; border-radius: var(--radius-sm); transition: background-color 0.15s ease; }
.studio-journey-step:hover { background: var(--bg2); }
.studio-journey-step > span:first-child { font-size: 0.78rem; color: var(--accent); font-weight: 700; }
.studio-journey-step > span:nth-child(2) { flex: 1; min-inline-size: 0; }
.studio-journey-step strong { display: block; font-size: var(--step--1); }
.studio-journey-step small { display: block; margin-block-start: 0.3rem; color: var(--muted); font-size: 0.78rem; line-height: 1.7; }
.studio-value-strip { display: grid; gap: 0.8rem; padding-block: 1.3rem; border-block: 1px solid var(--line); }
.studio-value-strip p { display: flex; gap: 0.65rem; align-items: center; font-size: var(--step--1); font-weight: 600; margin: 0; }
.studio-value-strip .icon-sm { color: var(--accent); }
.studio-section { padding-block: clamp(2rem, 4vw, 3.4rem); }
.studio-section-heading { display: flex; align-items: start; justify-content: space-between; gap: 1rem 2.5rem; flex-wrap: wrap; margin-block-end: 1.6rem; }
.studio-section-heading h2 { font-size: var(--step-2); letter-spacing: -0.035em; margin: 0; }
.studio-section-heading > p { max-inline-size: 28rem; color: var(--muted); font-size: var(--step--1); line-height: 1.9; margin: 0; }
.studio-three { display: grid; gap: 1.5rem; }
.studio-three > article { min-inline-size: 0; }
.studio-three h3 { font-size: var(--step-1); margin-block: 0 0.6rem; }
.studio-three p { color: var(--muted); font-size: var(--step--1); line-height: 1.9; margin: 0; }
.studio-step-number { display: block; color: var(--accent); font-size: var(--step--1); font-weight: 700; margin-block-end: 0.8rem; }
.studio-guide { border-block: 1px solid var(--line); }
.studio-security { padding-block-end: 2rem; }
.studio-custom { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1.5rem 3rem; padding: clamp(1.5rem, 4vw, 2.5rem); margin-block: 1rem 2rem; border-radius: var(--radius-lg); color: var(--card); background: var(--ink); }
.studio-custom > div { flex: 1 1 26rem; }
.studio-custom h2 { font-size: var(--step-2); color: inherit; max-inline-size: 35rem; margin-block: 0 0.7rem; }
.studio-custom p { max-inline-size: 34rem; font-size: var(--step--1); line-height: 1.9; margin-block: 0.5rem 0; }
.studio-custom .studio-eyebrow { color: inherit; }
.studio-custom > .btn { background: var(--card); color: var(--ink); border-color: var(--card); }
.studio-returning { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin-block: 1.5rem 2rem; }
.studio-returning > div { flex: 1 1 24rem; }
.studio-returning h2 { font-size: var(--step-0); margin: 0; }
.studio-returning p { font-size: var(--step--1); color: var(--muted); margin-block: 0.4rem 0; }
.studio-returning > .icon-md { color: var(--accent); }
.studio-security-page > .lede { max-inline-size: 48rem; }
.studio-security-page > .studio-three { margin-block: 2rem; }
.studio-security-page .card > h2 { font-size: var(--step-1); }
.studio-security-page .card > a { display: inline-flex; align-items: center; min-block-size: 44px; margin-block-start: 0.6rem; }
.workspace-next { display: flex; align-items: center; justify-content: space-between; gap: 1rem 2rem; flex-wrap: wrap; padding: 1.5rem; margin-block: 1rem 1.5rem; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--card); }
.workspace-next > div { flex: 1 1 21rem; }
.workspace-next h2 { font-size: var(--step-1); margin-block: 0 0.5rem; }
.workspace-next p { font-size: var(--step--1); color: var(--muted); margin: 0; }
.workspace-next .studio-eyebrow { margin-block-end: 0.8rem; }
.workspace-security { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.workspace-security h2 { font-size: var(--step-0); margin: 0; }
.workspace-security p { color: var(--muted); font-size: var(--step--1); margin-block: 0.5rem 0; }
.workspace-records { display: grid; grid-template-columns: repeat(auto-fit,minmax(8rem,1fr)); gap: 0.8rem; margin-block: 1.5rem; }
.workspace-records a { display: grid; gap: 0.4rem; color: var(--muted); text-decoration: none; padding: 1rem; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--card); font-size: var(--step--1); }
.workspace-records strong { color: var(--ink); font-size: var(--step-2); font-variant-numeric: tabular-nums; }
html[lang="ar"] .studio-eyebrow,html[lang="ar"] .studio-hero h1,html[lang="ar"] .studio-section-heading h2 { letter-spacing: 0; }
html[lang="ar"] .studio-hero h1 { line-height: 1.5; }
@media (min-width: 700px) {
  .studio-hero { grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: 2.5rem; }
  .studio-value-strip,.studio-three { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .studio-value-strip p { justify-content: center; }
}

.demo-directory > .lede { max-inline-size: 48rem; }

/* Give the request form the primary column instead of the account sidebar. */
.cols.custom-project-layout > * { min-inline-size: 0; }
.custom-project-layout form > label { display: grid; gap: 0.5rem; }
.custom-project-layout form > label > :is(input, textarea) { inline-size: 100%; }
@media (min-width: 880px) {
  .cols.custom-project-layout { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
}
