/* ── nxt.biz shared design system ── */
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
html,body { min-height:100%; }
body { background:#000001; color:#e8ede8; font-family:'Poppins',sans-serif; }
.mono { font-size:10.5px; letter-spacing:.22em; text-transform:uppercase; color:#5f665f; }
a { color:inherit; }
img { max-width:100%; }

/* ── header ── */
header { position:sticky; top:0; z-index:50; display:flex; justify-content:space-between; align-items:center; padding:22px 38px; background:rgba(0,0,1,.86); backdrop-filter:blur(8px); border-bottom:1px solid #14171a; }
.brand { display:inline-flex; align-items:center; gap:8px; text-decoration:none; }
.brand img { height:38px; display:block; }
/* nav is always a hamburger-triggered drawer, on every screen size */
nav {
  position:fixed; top:var(--header-h, 71px); left:0; right:0;
  height:calc(100vh - var(--header-h, 71px)); z-index:49;
  display:flex; flex-direction:column; align-items:stretch; gap:0;
  background:#000001; padding:14px 24px 40px; overflow-y:auto;
  opacity:0; transform:translateY(-10px); pointer-events:none;
  transition:opacity .25s ease, transform .25s ease;
}
nav.nav-open { opacity:1; transform:none; pointer-events:auto; }
nav a { color:#8b928b; text-decoration:none; font-size:14.5px; letter-spacing:.1em; text-transform:uppercase; transition:color .3s; white-space:nowrap; width:100%; padding:17px 0; border-bottom:1px solid #14171a; }
nav a:hover, nav a.active { color:#e8ede8; }
nav a.cta { color:#000001; background:#80ac74; padding:15px; border-radius:2px; transition:background .3s; margin-top:18px; text-align:center; border-bottom:none; }
nav a.cta:hover { color:#000001; background:#9bc290; }

section { padding:96px 38px; max-width:1100px; margin:0 auto; }
.eyebrow { font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:#80ac74; margin-bottom:18px; }
h2.section-title { font-family:'Space Mono',monospace; font-weight:700; font-size:clamp(28px,4vw,44px); letter-spacing:-.01em; text-transform:uppercase; line-height:1.15; max-width:760px; }
.section-lede { max-width:600px; color:#8b928b; line-height:1.9; font-size:14.5px; margin-top:18px; }
.breadcrumb { max-width:1100px; margin:0 auto; padding:26px 38px 0; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#5f665f; }
.breadcrumb a { color:#8b928b; text-decoration:none; }
.breadcrumb a:hover { color:#e8ede8; }

/* ── hero ── */
.hero { padding:110px 38px 90px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:22px; }
.hero-bird { height:52px; opacity:.9; }
.hero h1 { font-family:'Space Mono',monospace; font-weight:700; font-size:clamp(38px,7.2vw,96px); letter-spacing:-.02em; text-transform:uppercase; line-height:1.04; max-width:920px; min-height:1.1em; }
.hero h1 .accent { color:#80ac74; }
.hero h1 .ch { display:inline-block; min-width:.4em; white-space:pre; }
.hero h1 .ch.junk { color:#80ac74; }
.hero .lede { max-width:560px; line-height:1.9; color:#8b928b; font-size:15px; }

/* page hero: smaller, left-aligned, for interior pages */
.page-hero { padding:60px 38px 80px; max-width:1100px; margin:0 auto; }
.page-hero h1 { font-family:'Space Mono',monospace; font-weight:700; font-size:clamp(34px,5.6vw,64px); letter-spacing:-.02em; text-transform:uppercase; line-height:1.08; max-width:820px; min-height:1.1em; }
.page-hero h1 .ch { display:inline-block; min-width:.3em; white-space:pre; }
.page-hero h1 .ch.junk { color:#80ac74; }
.page-hero .lede { max-width:600px; color:#8b928b; line-height:1.9; font-size:15px; margin-top:20px; }

/* page hero variant: centered, for pages that want a home-hero feel */
.page-hero.centered { text-align:center; display:flex; flex-direction:column; align-items:center; }
.page-hero.centered h1,
.page-hero.centered .lede { margin-left:auto; margin-right:auto; }
.page-hero.centered .hero-ctas { justify-content:center; }

/* scramble reveal-on-scroll targets */
[data-scramble-reveal] .ch { display:inline-block; white-space:pre; }
[data-scramble-reveal] .ch.junk { color:#80ac74; }
.hero-ctas { display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin-top:6px; }
.page-hero .hero-ctas { justify-content:flex-start; }
.btn-primary { display:inline-block; color:#000001; background:#80ac74; text-decoration:none; font-size:13px; letter-spacing:.14em; text-transform:uppercase; padding:15px 30px; border-radius:2px; transition:background .3s; border:none; cursor:none; font-family:inherit; }
.btn-primary:hover { background:#9bc290; }
.btn-ghost { display:inline-block; color:#e8ede8; text-decoration:none; font-size:13px; letter-spacing:.14em; text-transform:uppercase; padding:15px 30px; border-radius:2px; border:1px solid #2a2f2a; transition:border-color .3s, color .3s; }
.btn-ghost:hover { border-color:#80ac74; color:#80ac74; }

/* ── credibility strip ── */
.credibility { padding:34px 38px; border-top:1px solid #14171a; border-bottom:1px solid #14171a; }
.credibility-row { max-width:1100px; margin:0 auto; display:flex; flex-wrap:wrap; gap:14px 42px; justify-content:center; align-items:center; }
.credibility-row span { font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:#5f665f; }
.credibility-row span b { color:#8b928b; font-weight:600; }

/* ── card grids (who-we-help, services, bsxe, etc.) ── */
.who-grid, .services, .bsxe, .team-grid, .card-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:1px; background:#1d354a; border:1px solid #1d354a; margin-top:44px; }
.who-card, .service, .bsxe-card, .team-card, .card { background:#000001; padding:30px 26px; display:flex; flex-direction:column; gap:10px; }
.who-card .num, .service .num, .card .num { font-size:11px; letter-spacing:.22em; color:#80ac74; }
.who-card h3, .service h3, .team-card h3, .card h3 { font-size:16px; font-weight:600; letter-spacing:.01em; }
.who-card p, .service p, .team-card p, .card p { font-size:13px; line-height:1.8; color:#8b928b; }
.who-card a, .card a { font-size:11.5px; letter-spacing:.1em; text-transform:uppercase; color:#80ac74; text-decoration:none; margin-top:4px; }
.who-card a:hover, .card a:hover { color:#9bc290; }

/* ── problems / plain rows ── */
.problems, .alt-bg { background:#050505; }
.problem-list, .row-list { margin-top:44px; display:flex; flex-direction:column; }
.problem-row, .plain-row { display:grid; grid-template-columns:130px 1fr; gap:24px; padding:26px 0; border-top:1px solid #1d354a; align-items:baseline; }
.problem-list .problem-row:last-child, .row-list .plain-row:last-child { border-bottom:1px solid #1d354a; }
.problem-row .tag, .plain-row .tag { font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:#5f665f; }
.problem-row p, .plain-row p { font-size:15px; line-height:1.75; color:#c7ccc7; }

/* ── steps / process ── */
.steps { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:26px; margin-top:48px; }
.step { display:flex; flex-direction:column; gap:10px; }
.step .n { font-family:'Space Mono',monospace; font-size:26px; color:#80ac74; }
.step h3 { font-size:14px; font-weight:600; text-transform:uppercase; letter-spacing:.06em; }
.step p { font-size:12.5px; line-height:1.7; color:#8b928b; }

.timeline { margin-top:48px; display:flex; flex-direction:column; }
.timeline-row { display:grid; grid-template-columns:60px 1fr; gap:22px; padding:28px 0; border-top:1px solid #1d354a; }
.timeline .timeline-row:last-child { border-bottom:1px solid #1d354a; }
.timeline-row .n { font-family:'Space Mono',monospace; font-size:20px; color:#80ac74; }
.timeline-row h3 { font-size:16px; font-weight:600; margin-bottom:8px; text-transform:uppercase; letter-spacing:.03em; }
.timeline-row p { font-size:13.5px; line-height:1.8; color:#8b928b; max-width:600px; }

/* ── bsxe word cards ── */
.bsxe-card .word { font-family:'Space Mono',monospace; font-weight:700; font-size:22px; text-transform:uppercase; color:#80ac74; }

/* ── offers / featured cards ── */
.offers { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:22px; margin-top:44px; }
.offer-card { border:1px solid #1d354a; padding:32px 28px; display:flex; flex-direction:column; gap:14px; transition:border-color .3s; }
.offer-card:hover { border-color:#80ac74; }
.offer-card h3 { font-size:18px; font-weight:600; }
.offer-card p { font-size:13px; line-height:1.8; color:#8b928b; flex:1; }
.offer-card a { font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:#80ac74; text-decoration:none; }
.offer-card a:hover { color:#9bc290; }

/* ── why / value grids ── */
.why-grid, .value-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:32px; margin-top:44px; }
.why-item, .value-item { display:flex; flex-direction:column; gap:8px; }
.why-item .mark, .value-item .mark { color:#80ac74; font-size:20px; }
.why-item h3, .value-item h3 { font-size:14.5px; font-weight:600; text-transform:uppercase; letter-spacing:.04em; }
.why-item p, .value-item p { font-size:13px; line-height:1.8; color:#8b928b; }

/* ── ecosystem tags ── */
.ecosystem { background:#050505; }
.eco-tags, .tag-row { display:flex; flex-wrap:wrap; gap:12px; margin-top:40px; }
.eco-tag, .tag-pill { border:1px solid #1d354a; padding:12px 20px; border-radius:2px; font-size:12.5px; letter-spacing:.04em; color:#c7ccc7; }

/* ── stat grid (about page) ── */
.stat-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:32px; margin-top:44px; }
.stat { display:flex; flex-direction:column; gap:6px; }
.stat .num { font-family:'Space Mono',monospace; font-size:clamp(30px,4vw,46px); color:#80ac74; }
.stat .label { font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:#8b928b; }

/* ── checklist ── */
.checklist { list-style:none; margin-top:24px; display:flex; flex-direction:column; gap:14px; max-width:560px; }
.checklist li { display:flex; gap:12px; font-size:14px; line-height:1.7; color:#c7ccc7; }
.checklist li::before { content:'✓'; color:#80ac74; font-weight:700; flex-shrink:0; }

/* ── testimonials / quote ── */
.testimonials { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:22px; margin-top:44px; }
.testimonial { border:1px solid #1d354a; padding:30px 28px; display:flex; flex-direction:column; gap:16px; }
.testimonial p.quote { font-size:14.5px; line-height:1.85; color:#c7ccc7; }
.testimonial .who { font-size:11.5px; letter-spacing:.1em; text-transform:uppercase; color:#5f665f; }
.quote-block { border-left:2px solid #80ac74; padding:6px 0 6px 26px; margin-top:44px; max-width:680px; }
.quote-block p { font-size:19px; line-height:1.7; color:#e8ede8; font-style:italic; }
.quote-block .who { margin-top:14px; font-size:11.5px; letter-spacing:.1em; text-transform:uppercase; color:#5f665f; font-style:normal; }

/* ── faq accordion (shared: preview + full page) ── */
.faq-preview-list, .faq-full-list { margin-top:44px; }
.faq-item { border-top:1px solid #1d354a; }
.faq-item:last-child { border-bottom:1px solid #1d354a; }
.faq-item summary { list-style:none; cursor:none; padding:24px 0; display:flex; justify-content:space-between; align-items:center; gap:20px; font-size:15px; font-weight:500; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary .plus { color:#80ac74; font-size:19px; flex-shrink:0; transition:transform .25s; }
.faq-item[open] summary .plus { transform:rotate(45deg); }
.faq-item .faq-a { padding:0 0 28px; max-width:640px; line-height:1.85; font-size:13.5px; color:#8b928b; }
.faq-more { margin-top:28px; display:inline-block; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:#80ac74; text-decoration:none; }
.faq-more:hover { color:#9bc290; }
.faq-category { margin-top:64px; }
.faq-category:first-of-type { margin-top:0; }
.faq-category h3 { font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:#80ac74; margin-bottom:8px; }

/* ── final cta ── */
.final-cta { text-align:center; border-top:1px solid #14171a; }
.final-cta h2 { max-width:760px; margin:0 auto; }
.final-cta .section-lede { margin-left:auto; margin-right:auto; }
.final-cta .hero-ctas { margin-top:30px; }

/* ── contact form ── */
.contact-layout { display:grid; grid-template-columns:1.3fr .8fr; gap:60px; margin-top:44px; align-items:start; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.field { display:flex; flex-direction:column; gap:8px; }
.field.full { grid-column:1 / -1; }
.field label { font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:#8b928b; }
.field input, .field select, .field textarea { background:#0a0b0a; border:1px solid #1d354a; color:#e8ede8; padding:13px 14px; font-family:'Poppins',sans-serif; font-size:13.5px; border-radius:2px; transition:border-color .3s; }
.field input:focus, .field select:focus, .field textarea:focus { outline:none; border-color:#80ac74; }
.field textarea { resize:vertical; min-height:100px; }
.field-radio-group { display:flex; flex-wrap:wrap; gap:10px; }
.field-radio-group label { display:flex; align-items:center; gap:8px; border:1px solid #1d354a; padding:10px 14px; border-radius:2px; font-size:12.5px; color:#c7ccc7; text-transform:none; letter-spacing:0; cursor:none; }
.contact-side { display:flex; flex-direction:column; gap:32px; }
.contact-side .side-block h4 { font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#80ac74; margin-bottom:10px; }
.contact-side .side-block p { font-size:13.5px; line-height:1.85; color:#8b928b; }
.contact-side .side-block a { color:#e8ede8; text-decoration:none; border-bottom:1px solid #2a2f2a; }
.contact-side .side-block a:hover { border-color:#80ac74; }
.privacy-note { font-size:11.5px; line-height:1.8; color:#5f665f; margin-top:20px; max-width:560px; }

/* ── legal / prose pages ── */
.legal-body { max-width:720px; margin-top:44px; display:flex; flex-direction:column; gap:26px; }
.legal-body h2 { font-size:16px; text-transform:uppercase; letter-spacing:.03em; margin-bottom:4px; }
.legal-body p { font-size:13.5px; line-height:1.9; color:#8b928b; }

/* ── case study meta ── */
.case-meta { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:24px; margin-top:40px; padding:30px; border:1px solid #1d354a; }
.case-meta div span { display:block; }
.case-meta .k { font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:#5f665f; margin-bottom:6px; }
.case-meta .v { font-size:14px; color:#e8ede8; }

/* ── footer ── */
.site-footer { border-top:1px solid #14171a; padding:60px 38px 30px; max-width:1100px; margin:0 auto; }
.footer-main { margin-bottom:44px; }
.footer-main .brand img { height:32px; }
.footer-tag { color:#8b928b; font-size:13px; max-width:360px; margin-top:14px; line-height:1.8; }
.footer-cols { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:32px; padding-bottom:40px; border-bottom:1px solid #14171a; }
.footer-col h4 { font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:#5f665f; margin-bottom:16px; }
.footer-col a { display:block; color:#8b928b; text-decoration:none; font-size:13px; margin-bottom:10px; transition:color .3s; }
.footer-col a:hover { color:#e8ede8; }
.footer-bottom { display:flex; flex-wrap:wrap; gap:14px; justify-content:space-between; padding-top:24px; }
.blink { animation:bl 1.1s steps(2) infinite; color:#80ac74; }
@keyframes bl { 50% { opacity:0; } }

/* legacy simple footer (index/services/faq) */
footer.simple { display:flex; flex-wrap:wrap; gap:20px; justify-content:space-between; align-items:center; padding:26px 38px; }
.faq-btn { color:#8b928b; text-decoration:none; font-size:10.5px; letter-spacing:.22em; text-transform:uppercase; border:1px solid #2a2f2a; padding:9px 16px; border-radius:2px; transition:color .3s, border-color .3s; }
.faq-btn:hover { color:#e8ede8; border-color:#80ac74; }

/* ── morph pill tabs ── */
.tab-group { margin-top:44px; }
.tabbar { position:relative; display:inline-flex; flex-wrap:wrap; gap:4px; background:#0a0b0a; border:1px solid #1d354a; border-radius:999px; padding:5px; }
.tabbar .pill { position:absolute; top:5px; bottom:5px; background:#80ac74; border-radius:999px; z-index:1; transition:left .5s cubic-bezier(.76,0,.24,1), width .5s cubic-bezier(.76,0,.24,1); }
.tabbar button { position:relative; z-index:2; font-family:'Space Mono',monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase; background:none; border:none; color:#8b928b; padding:12px 20px; border-radius:999px; cursor:none; transition:color .35s; white-space:nowrap; }
.tabbar button.on { color:#000001; }

.tab-panes { position:relative; margin-top:32px; }
.tab-pane { position:absolute; inset:0; opacity:0; transform:translateX(24px); transition:opacity .5s cubic-bezier(.19,1,.22,1), transform .5s cubic-bezier(.19,1,.22,1); pointer-events:none; }
.tab-pane.on { position:relative; inset:auto; opacity:1; transform:none; pointer-events:auto; }
.tab-pane.exitL { transform:translateX(-24px); }
.tab-pane p { max-width:600px; color:#8b928b; line-height:1.9; font-size:14.5px; }
.tab-pane .tab-tag { display:inline-block; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:#80ac74; margin-bottom:14px; }

/* ── valuation calculator modal ── */
.val-overlay { position:fixed; inset:0; z-index:9000; background:rgba(0,0,1,.78); backdrop-filter:blur(4px); display:flex; align-items:center; justify-content:center; padding:24px; opacity:0; pointer-events:none; transition:opacity .25s ease; }
.val-overlay.open { opacity:1; pointer-events:auto; }
.val-modal { background:#0a0b0a; border:1px solid #1d354a; border-radius:6px; width:100%; max-width:620px; max-height:88vh; overflow-y:auto; padding:44px 40px; position:relative; }
.val-close { position:absolute; top:18px; right:18px; width:34px; height:34px; border-radius:50%; border:1px solid #2a2f2a; background:transparent; color:#8b928b; font-size:16px; line-height:1; cursor:none; transition:border-color .3s, color .3s; }
.val-close:hover { border-color:#80ac74; color:#80ac74; }
.val-eyebrow { font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:#80ac74; margin-bottom:10px; }
.val-modal h3 { font-family:'Space Mono',monospace; font-weight:700; font-size:clamp(20px,3vw,26px); text-transform:uppercase; letter-spacing:-.01em; margin-bottom:10px; line-height:1.2; }
.val-modal .val-sub { color:#8b928b; font-size:13.5px; line-height:1.75; margin-bottom:28px; max-width:460px; }
.val-progress { display:flex; gap:6px; margin-bottom:28px; }
.val-progress span { height:3px; flex:1; background:#1d354a; border-radius:2px; overflow:hidden; }
.val-progress span::after { content:''; display:block; height:100%; width:0; background:#80ac74; transition:width .3s ease; }
.val-progress span.done::after, .val-progress span.current::after { width:100%; }
.val-step { display:none; flex-direction:column; gap:18px; }
.val-step.active { display:flex; }
.val-nav { display:flex; justify-content:space-between; align-items:center; margin-top:8px; gap:12px; }
.val-back { background:none; border:none; color:#8b928b; font-size:12px; letter-spacing:.1em; text-transform:uppercase; cursor:none; padding:8px 0; transition:color .3s; }
.val-back:hover { color:#e8ede8; }
.val-back.is-spacer { visibility:hidden; }
.val-next, .val-submit { display:inline-flex; align-items:center; gap:8px; }
.val-error { color:#e07a6b; font-size:12px; display:none; }
.val-error.show { display:block; }

/* loading state */
.val-loading { align-items:center; text-align:center; padding:20px 0 8px; }
.val-spinner { width:34px; height:34px; border-radius:50%; border:2px solid #1d354a; border-top-color:#80ac74; animation:valspin .8s linear infinite; }
@keyframes valspin { to { transform:rotate(360deg); } }

/* results */
.val-results { text-align:center; }
.val-result-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:#1d354a; border:1px solid #1d354a; margin:24px 0; }
.val-result-card { background:#0a0b0a; padding:26px 20px; display:flex; flex-direction:column; gap:6px; }
.val-result-card .k { font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:#5f665f; }
.val-result-card .v { font-family:'Space Mono',monospace; font-size:clamp(20px,3.4vw,30px); color:#e8ede8; }
.val-result-card.uplift .v { color:#80ac74; }
.val-fineprint { font-size:11px; line-height:1.7; color:#5f665f; margin-top:4px; text-align:left; }
.val-results .hero-ctas { justify-content:center; margin-top:20px; }

@media (max-width:560px) {
  .val-modal { padding:32px 22px; }
  .val-result-grid { grid-template-columns:1fr; }
}

/* ── signature cursor ── */
@media (pointer:fine){
  * { cursor:none !important; }
  #wlDot,#wlRing{ position:fixed; top:0; left:0; pointer-events:none; z-index:9999; mix-blend-mode:difference; }
  #wlDot{ width:6px; height:6px; border-radius:50%; background:#fff; transform:translate(-50%,-50%); }
  #wlRing{ width:36px; height:36px; border-radius:50%; border:1.5px solid rgba(255,255,255,.85); transform:translate(-50%,-50%); transition:width .25s ease, height .25s ease; }
  .wlRipple{ position:fixed; pointer-events:none; z-index:9998; width:8px; height:8px; border-radius:50%; border:2px solid #fff; mix-blend-mode:difference; transform:translate(-50%,-50%); animation:wlrip .55s ease-out forwards; }
  @keyframes wlrip{ to{ width:70px; height:70px; opacity:0; } }
}

/* ── nav toggle (hamburger) — always shown, on every screen size ── */
.navtoggle { display:flex; flex-direction:column; justify-content:center; align-items:flex-end; gap:5px; width:34px; height:34px; background:none; border:none; padding:0; cursor:none; }
.navtoggle span { display:block; height:2px; width:100%; background:#e8ede8; border-radius:1px; transition:transform .3s ease, opacity .3s ease, width .3s ease; }
.navtoggle span:nth-child(2) { width:70%; }
.navtoggle[aria-expanded="true"] span { width:100%; }
.navtoggle[aria-expanded="true"] span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.navtoggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
.navtoggle[aria-expanded="true"] span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

@media (max-width:900px) {
  .contact-layout { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  section, .page-hero { padding:70px 24px; }
  .hero { padding:80px 24px 60px; }
  .form-grid { grid-template-columns:1fr; }
  .problem-row, .plain-row { grid-template-columns:1fr; gap:8px; }
}
