/* Canva pages 01–05: five layout systems, built for a single locked viewport. */

/* -------------------------------------------------------------------------- */
/* 01 — Aurora Glass                                                          */
/* -------------------------------------------------------------------------- */
.viewport-layout.layout-01 {
  --aurora-bg:#061326;
  --aurora-surface:#0b213d;
  --aurora-panel:rgba(17,48,78,.67);
  --aurora-text:#effcff;
  --aurora-muted:#8eb3c2;
  --aurora-accent:#56e6ff;
  --aurora-accent-2:#818cf8;
  --aurora-line:rgba(86,230,255,.2);
  display:grid;
  grid-template-rows:clamp(54px,7.2dvh,68px) minmax(0,1fr) clamp(24px,3.4dvh,32px);
  color:var(--aurora-text);
  background:
    radial-gradient(circle at 74% 42%,rgba(86,230,255,.16),transparent 28%),
    radial-gradient(circle at 52% 92%,rgba(129,140,248,.16),transparent 34%),
    linear-gradient(135deg,#050e1d,var(--aurora-bg) 58%,#04101d);
}
.viewport-layout.layout-01::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background-image:linear-gradient(var(--aurora-line) 1px,transparent 1px),linear-gradient(90deg,var(--aurora-line) 1px,transparent 1px);
  background-size:54px 54px;
  opacity:.23;
  mask-image:linear-gradient(90deg,#000,transparent 82%);
}
.aurora-nav,.aurora-footer { display:flex; align-items:center; justify-content:space-between; gap:18px; padding-inline:max(clamp(16px,3.5vw,54px),env(safe-area-inset-left)); border-color:var(--aurora-line); }
.aurora-nav { border-bottom:1px solid var(--aurora-line); }
.aurora-footer { color:var(--aurora-muted); border-top:1px solid var(--aurora-line); font-size:9px; letter-spacing:.13em; }
.aurora-brand { display:flex; align-items:center; gap:10px; font-size:clamp(17px,1.5vw,22px); white-space:nowrap; }
.aurora-brand b { color:var(--aurora-accent); }
.aurora-brand__orb { position:relative; width:25px; height:25px; border:1px solid var(--aurora-accent); border-radius:50%; box-shadow:inset 0 0 0 6px var(--aurora-bg),0 0 16px rgba(86,230,255,.42); }
.aurora-brand__orb::after { content:""; position:absolute; width:6px; height:6px; right:-2px; top:2px; background:var(--aurora-accent); border-radius:50%; box-shadow:0 0 8px var(--aurora-accent); }
.aurora-nav>p { display:flex; align-items:center; gap:8px; margin:0 0 0 auto; color:var(--aurora-muted); font-size:9px; font-weight:700; letter-spacing:.16em; }
.aurora-nav>p span { width:26px; height:1px; background:var(--aurora-accent); }
.aurora-promo { display:flex; align-items:center; gap:8px; max-width:270px; min-height:38px; padding:6px 12px; overflow:hidden; cursor:pointer; color:var(--aurora-text); background:rgba(86,230,255,.07); border:1px solid var(--aurora-line); border-radius:999px; }
.aurora-promo i,.aurora-console__live i { width:7px; height:7px; flex:0 0 auto; background:var(--aurora-accent); border-radius:50%; box-shadow:0 0 11px var(--aurora-accent); }
.aurora-promo span { color:var(--aurora-accent); font-size:9px; white-space:nowrap; }
.aurora-promo strong { overflow:hidden; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.aurora-stage { min-height:0; display:grid; grid-template-columns:minmax(250px,39%) minmax(0,1fr); gap:clamp(18px,4vw,68px); padding:clamp(18px,4vw,62px); overflow:hidden; }
.aurora-hero { display:flex; flex-direction:column; justify-content:center; min-height:0; }
.aurora-kicker { margin:0 0 clamp(11px,2dvh,20px); color:var(--aurora-accent); font-size:9px; font-weight:800; letter-spacing:.18em; }
.aurora-hero h1 { margin:0; max-width:9.5ch; font-size:clamp(38px,5.2vw,78px); font-weight:650; line-height:1.25; letter-spacing:0; }
.aurora-hero h1 em { color:var(--aurora-accent); font-style:normal; text-shadow:0 0 28px rgba(86,230,255,.22); }
.aurora-lead { max-width:40ch; margin:clamp(12px,2.4dvh,22px) 0 0; color:var(--aurora-muted); font-size:clamp(11px,1.05vw,15px); }
.aurora-start { display:flex; align-items:center; justify-content:space-between; width:min(100%,250px); min-height:46px; margin-top:clamp(14px,3dvh,28px); padding:9px 14px; color:#061326; background:var(--aurora-accent); border-radius:12px; font-size:11px; font-weight:800; }
.aurora-start span { font-size:18px; }
.aurora-console { min-height:0; display:grid; grid-template-rows:auto minmax(80px,1fr) auto auto; gap:clamp(10px,1.8dvh,18px); align-self:stretch; padding:clamp(14px,2vw,26px); overflow:hidden; background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(8,28,51,.42)); border:1px solid var(--aurora-line); border-radius:clamp(20px,3vw,36px); box-shadow:0 28px 80px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.08); backdrop-filter:blur(16px); }
.aurora-console__top { display:flex; align-items:center; justify-content:space-between; gap:10px; color:var(--aurora-muted); font-size:8px; font-weight:700; letter-spacing:.13em; }
.aurora-console__live { display:flex; align-items:center; gap:7px; color:var(--aurora-accent); }
.aurora-radar { position:relative; align-self:center; justify-self:center; width:min(31dvh,250px); aspect-ratio:1; border:1px solid var(--aurora-line); border-radius:50%; box-shadow:inset 0 0 38px rgba(86,230,255,.08),0 0 0 3.4dvh rgba(86,230,255,.025); }
.aurora-radar::before,.aurora-radar::after,.aurora-radar__ring { content:""; position:absolute; inset:18%; border:1px dashed var(--aurora-line); border-radius:50%; }
.aurora-radar::after { inset:36%; border-style:solid; }
.aurora-radar__ring::before,.aurora-radar__ring::after { content:""; position:absolute; left:50%; top:-18%; width:1px; height:136%; background:var(--aurora-line); }
.aurora-radar__ring::after { transform:rotate(90deg); }
.aurora-radar__core { position:absolute; z-index:2; inset:34%; display:grid; place-content:center; text-align:center; background:rgba(86,230,255,.1); border:1px solid var(--aurora-accent); border-radius:50%; box-shadow:0 0 35px rgba(86,230,255,.24); }
.aurora-radar__core b { color:var(--aurora-accent); font-size:clamp(26px,3.2vw,46px); line-height:1; }
.aurora-radar__core small { margin-top:3px; color:var(--aurora-muted); font-size:6px; letter-spacing:.13em; }
.aurora-radar>i { position:absolute; width:10px; height:10px; background:var(--aurora-accent); border:2px solid var(--aurora-bg); border-radius:50%; box-shadow:0 0 12px var(--aurora-accent); }
.aurora-radar>i:nth-of-type(1) { left:16%; top:23%; }
.aurora-radar>i:nth-of-type(2) { right:12%; top:37%; background:var(--aurora-accent-2); }
.aurora-radar>i:nth-of-type(3) { left:46%; bottom:8%; }
.aurora-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }
.aurora-metrics>span { display:flex; align-items:center; justify-content:space-between; gap:6px; padding:7px 9px; background:rgba(255,255,255,.035); border:1px solid var(--aurora-line); border-radius:9px; }
.aurora-metrics small { color:var(--aurora-muted); font-size:6px; letter-spacing:.1em; }
.aurora-metrics b { color:var(--aurora-accent); font-size:10px; }
.aurora-solutions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.aurora-card { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:8px; min-height:62px; padding:9px; overflow:hidden; background:var(--aurora-panel); border:1px solid var(--aurora-line); border-radius:12px; transition:transform .25s,border-color .25s,background .25s; }
.aurora-card:hover,.aurora-card.is-active { transform:translateY(-3px); background:rgba(86,230,255,.11); border-color:var(--aurora-accent); }
.aurora-card__number { display:grid; place-items:center; width:25px; height:25px; color:var(--aurora-accent); border:1px solid currentColor; border-radius:50%; font-size:8px; }
.aurora-card__copy { display:flex; flex-direction:column; overflow:hidden; }
.aurora-card__copy b,.aurora-card__copy small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.aurora-card__copy b { font-size:11px; }
.aurora-card__copy small { color:var(--aurora-muted); font-size:7px; }
.aurora-card>i { color:var(--aurora-accent); font-style:normal; }
.aurora-footer p { margin:0; }
.aurora-footer a { color:var(--aurora-accent); }

/* -------------------------------------------------------------------------- */
/* 02 — Editorial Grid                                                        */
/* -------------------------------------------------------------------------- */
.viewport-layout.layout-02 {
  --editorial-paper:#f3efe5;
  --editorial-ink:#161310;
  --editorial-muted:#746e65;
  --editorial-accent:#e3342f;
  --editorial-line:rgba(22,19,16,.26);
  display:grid;
  grid-template-rows:clamp(52px,6.8dvh,64px) minmax(0,1fr) clamp(24px,3.4dvh,32px);
  color:var(--editorial-ink);
  background:var(--editorial-paper);
}
.editorial-nav,.editorial-footer { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:18px; padding-inline:max(clamp(14px,3vw,46px),env(safe-area-inset-left)); border-color:var(--editorial-line); font-size:9px; font-weight:700; letter-spacing:.14em; }
.editorial-nav { border-bottom:1px solid var(--editorial-line); }
.editorial-footer { border-top:1px solid var(--editorial-line); }
.editorial-brand { display:flex; align-items:center; gap:8px; justify-self:start; font-size:clamp(15px,1.4vw,20px); letter-spacing:0; }
.editorial-brand b { display:grid; place-items:center; width:31px; height:31px; color:var(--editorial-paper); background:var(--editorial-ink); font-size:12px; }
.editorial-nav p,.editorial-footer p { margin:0; text-align:center; }
.editorial-nav>span,.editorial-footer>a { justify-self:end; }
.editorial-footer a { color:var(--editorial-accent); }
.editorial-grid { min-height:0; display:grid; grid-template-columns:minmax(260px,42%) minmax(0,1fr); overflow:hidden; }
.editorial-hero { position:relative; display:flex; flex-direction:column; justify-content:center; min-height:0; padding:clamp(18px,4vw,62px); border-right:1px solid var(--editorial-line); }
.editorial-kicker { margin:0 0 clamp(10px,2.2dvh,22px); color:var(--editorial-accent); font-size:9px; font-weight:800; letter-spacing:.18em; }
.editorial-hero h1 { margin:0; max-width:9ch; font-family:inherit; font-size:clamp(39px,5.4vw,82px); font-weight:750; line-height:1.25; letter-spacing:0; }
.editorial-hero h1 em { color:var(--editorial-paper); background:var(--editorial-accent); font-style:normal; padding-inline:.08em; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
.editorial-rule { display:flex; align-items:center; gap:10px; width:min(100%,320px); margin-top:clamp(12px,2.6dvh,25px); font-size:8px; }
.editorial-rule i { height:1px; flex:1; background:var(--editorial-ink); }
.editorial-lead { max-width:38ch; margin:clamp(10px,2dvh,18px) 0 0; color:var(--editorial-muted); font-size:clamp(10px,1vw,14px); }
.editorial-promo { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:9px; width:min(100%,330px); min-height:43px; margin-top:clamp(12px,2.6dvh,24px); padding:7px 10px; overflow:hidden; cursor:pointer; color:var(--editorial-paper); background:var(--editorial-ink); border:0; }
.editorial-promo span { color:var(--editorial-accent); font-size:8px; font-weight:800; white-space:nowrap; }
.editorial-promo strong { overflow:hidden; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.editorial-promo i { color:var(--editorial-accent); font-style:normal; }
.editorial-index { min-height:0; display:grid; grid-template-rows:repeat(3,minmax(0,1fr)); }
.editorial-entry { min-height:0; border-bottom:1px solid var(--editorial-line); }
.editorial-entry:last-child { border-bottom:0; }
.editorial-entry>a { height:100%; display:grid; grid-template-columns:clamp(36px,4vw,62px) minmax(120px,22%) minmax(130px,1fr) minmax(90px,17%) 30px; align-items:center; gap:clamp(8px,1.5vw,22px); padding:clamp(12px,2vw,28px); transition:color .25s,background .25s; }
.editorial-entry:hover>a,.editorial-entry.is-active>a { color:var(--editorial-paper); background:var(--editorial-accent); }
.editorial-entry__number { align-self:start; font-size:clamp(22px,3vw,44px); font-weight:800; line-height:1; }
.editorial-entry__identity,.editorial-entry__copy { display:flex; flex-direction:column; min-width:0; }
.editorial-entry__identity small { font-size:7px; font-weight:800; letter-spacing:.13em; }
.editorial-entry__identity b { margin-top:6px; overflow:hidden; font-size:clamp(17px,2vw,27px); text-overflow:ellipsis; white-space:nowrap; }
.editorial-entry__identity em { color:var(--editorial-muted); font-size:8px; font-style:normal; }
.editorial-entry:hover .editorial-entry__identity em,.editorial-entry.is-active .editorial-entry__identity em { color:inherit; opacity:.75; }
.editorial-entry__copy strong { font-size:clamp(13px,1.35vw,19px); line-height:1.25; }
.editorial-entry__copy small { display:-webkit-box; margin-top:7px; overflow:hidden; color:var(--editorial-muted); font-size:9px; line-height:1.4; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.editorial-entry:hover .editorial-entry__copy small,.editorial-entry.is-active .editorial-entry__copy small { color:inherit; opacity:.78; }
.editorial-entry__features { display:flex; flex-direction:column; gap:5px; }
.editorial-entry__features small { width:max-content; max-width:100%; padding:3px 6px; overflow:hidden; border:1px solid currentColor; font-size:7px; text-overflow:ellipsis; white-space:nowrap; }
.editorial-entry>a>i { justify-self:end; font-size:20px; font-style:normal; }

/* -------------------------------------------------------------------------- */
/* 03 — Thai Sunrise                                                          */
/* -------------------------------------------------------------------------- */
.viewport-layout.layout-03 {
  --sunrise-bg:#fff1db;
  --sunrise-paper:#fffaf1;
  --sunrise-ink:#411331;
  --sunrise-muted:#8c5b6d;
  --sunrise-orange:#ff7a26;
  --sunrise-yellow:#ffd14d;
  --sunrise-pink:#f43f8c;
  --sunrise-plum:#65204d;
  --sunrise-line:rgba(65,19,49,.18);
  display:grid;
  grid-template-rows:clamp(54px,7dvh,66px) minmax(0,1fr) clamp(24px,3.4dvh,32px);
  padding-inline:clamp(7px,.7vw,11px);
  color:var(--sunrise-ink);
  background:var(--sunrise-bg);
}
.sunrise-nav,.sunrise-footer { display:flex; align-items:center; justify-content:space-between; gap:18px; padding-inline:max(clamp(10px,2.6vw,38px),env(safe-area-inset-left)); }
.sunrise-footer { color:var(--sunrise-muted); font-size:9px; font-weight:700; letter-spacing:.1em; }
.sunrise-brand { display:flex; align-items:center; gap:3px; font-size:clamp(17px,1.5vw,22px); white-space:nowrap; }
.sunrise-brand>b { color:var(--sunrise-pink); }
.sunrise-brand>span { display:flex; align-items:end; gap:2px; width:28px; margin-right:6px; }
.sunrise-brand>span i { width:7px; background:var(--sunrise-orange); border-radius:7px 7px 2px 2px; }
.sunrise-brand>span i:nth-child(1) { height:11px; }
.sunrise-brand>span i:nth-child(2) { height:20px; background:var(--sunrise-pink); }
.sunrise-brand>span i:nth-child(3) { height:15px; background:var(--sunrise-plum); }
.sunrise-nav>p { margin:0 0 0 auto; color:var(--sunrise-muted); font-size:10px; }
.sunrise-promo { display:grid; grid-template-columns:auto minmax(0,120px) auto; align-items:center; gap:8px; min-height:38px; padding:5px 10px; overflow:hidden; cursor:pointer; color:var(--sunrise-ink); background:var(--sunrise-paper); border:1px solid var(--sunrise-line); border-radius:999px; box-shadow:3px 3px 0 var(--sunrise-plum); }
.sunrise-promo span { color:var(--sunrise-pink); font-size:8px; font-weight:800; white-space:nowrap; }
.sunrise-promo strong { overflow:hidden; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.sunrise-promo i { font-style:normal; }
.sunrise-board { min-height:0; display:grid; grid-template-columns:minmax(260px,39%) minmax(0,1fr); gap:clamp(8px,1vw,14px); overflow:hidden; }
.sunrise-hero { position:relative; display:flex; flex-direction:column; justify-content:center; min-height:0; padding:clamp(18px,4vw,62px); overflow:hidden; background:var(--sunrise-paper); border-radius:clamp(24px,4vw,52px); }
.sunrise-sun { position:absolute; right:-10%; top:-12%; width:min(38vw,420px); aspect-ratio:1; opacity:.97; }
.sunrise-sun>span { position:absolute; inset:19%; background:linear-gradient(145deg,var(--sunrise-yellow),var(--sunrise-orange)); border-radius:50%; box-shadow:0 0 0 3.2vw color-mix(in srgb,var(--sunrise-pink) 10%,transparent),0 0 0 6.8vw color-mix(in srgb,var(--sunrise-orange) 7%,transparent); }
.sunrise-sun>i { position:absolute; width:14%; height:14%; background:var(--sunrise-pink); border-radius:60% 40% 70% 30%; }
.sunrise-sun>i:nth-of-type(1) { right:5%; top:17%; transform:rotate(30deg); }
.sunrise-sun>i:nth-of-type(2) { right:12%; bottom:9%; background:var(--sunrise-plum); transform:rotate(-20deg); }
.sunrise-sun>i:nth-of-type(3) { left:3%; top:14%; background:var(--sunrise-yellow); transform:rotate(42deg); }
.sunrise-kicker,.sunrise-hero h1,.sunrise-lead,.sunrise-note { position:relative; z-index:1; }
.sunrise-kicker { margin:0 0 clamp(9px,2dvh,18px); color:var(--sunrise-pink); font-size:9px; font-weight:800; letter-spacing:.08em; }
.sunrise-hero h1 { margin:0; max-width:8.5ch; font-size:clamp(40px,5.5vw,84px); font-weight:750; line-height:1.25; letter-spacing:0; }
.sunrise-hero h1 em { color:var(--sunrise-paper); background:var(--sunrise-plum); border-radius:.16em; font-style:normal; padding-inline:.09em; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
.sunrise-lead { max-width:36ch; margin:clamp(11px,2.4dvh,22px) 0 0; color:var(--sunrise-muted); font-size:clamp(10px,1vw,14px); }
.sunrise-note { margin-top:auto; color:var(--sunrise-pink); font-size:9px; font-weight:700; }
.sunrise-note i { font-style:normal; }
.sunrise-cards { min-height:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(8px,1vw,14px); }
.sunrise-card { display:flex; flex-direction:column; min-height:0; padding:clamp(13px,2vw,26px); overflow:hidden; color:#fff; border-radius:clamp(20px,3vw,42px); transition:transform .3s,filter .3s; }
.sunrise-card:hover,.sunrise-card.is-active { transform:translateY(-5px); filter:saturate(1.12); }
.sunrise-card--people { background:linear-gradient(155deg,color-mix(in srgb,var(--sunrise-plum) 80%,var(--sunrise-pink)),var(--sunrise-plum)); }
.sunrise-card--food { color:var(--sunrise-ink); background:linear-gradient(155deg,var(--sunrise-yellow),var(--sunrise-orange)); }
.sunrise-card--commerce { background:linear-gradient(155deg,color-mix(in srgb,var(--sunrise-pink) 72%,var(--sunrise-plum)),color-mix(in srgb,var(--sunrise-pink) 55%,var(--sunrise-plum))); }
.sunrise-card__top { display:flex; align-items:center; justify-content:space-between; gap:7px; font-size:8px; }
.sunrise-card__top>b { display:grid; place-items:center; width:27px; height:27px; border:1px solid currentColor; border-radius:50%; }
.sunrise-card__top>small { margin-right:auto; font-weight:800; letter-spacing:.12em; }
.sunrise-card__top>i { font-size:18px; font-style:normal; }
.sunrise-card__icon { align-self:center; display:grid; place-items:center; width:min(10vw,108px); aspect-ratio:1; margin:auto; background:rgba(255,255,255,.13); border:1px solid rgba(255,255,255,.45); border-radius:46% 54% 62% 38%; font-size:clamp(18px,3vw,38px); font-weight:800; }
.sunrise-card--food .sunrise-card__icon { background:rgba(255,255,255,.2); border-color:rgba(65,19,49,.28); }
.sunrise-card__copy { display:flex; flex-direction:column; }
.sunrise-card__copy>b { font-size:clamp(20px,2.2vw,32px); line-height:1.05; }
.sunrise-card__copy>small { margin-top:4px; font-size:8px; opacity:.74; }
.sunrise-card__copy>strong { margin-top:clamp(8px,1.8dvh,16px); font-size:clamp(13px,1.4vw,19px); line-height:1.25; }
.sunrise-card__chips { display:flex; flex-wrap:wrap; gap:5px; margin-top:clamp(9px,2dvh,18px); }
.sunrise-card__chips small { padding:4px 7px; border:1px solid currentColor; border-radius:999px; font-size:7px; }
.sunrise-footer p { margin:0; }
.sunrise-footer a { color:var(--sunrise-pink); }

/* -------------------------------------------------------------------------- */
/* 04 — Eco Flow                                                              */
/* -------------------------------------------------------------------------- */
.viewport-layout.layout-04 {
  --eco-bg:#eaf5d7;
  --eco-paper:rgba(255,255,255,.64);
  --eco-ink:#103d32;
  --eco-muted:#55766b;
  --eco-deep:#07543e;
  --eco-lime:#b9ec4a;
  --eco-line:rgba(16,61,50,.19);
  display:grid;
  grid-template-rows:clamp(54px,7dvh,66px) minmax(0,1fr) clamp(24px,3.4dvh,32px);
  color:var(--eco-ink);
  background:
    radial-gradient(circle at 56% 46%,rgba(185,236,74,.42),transparent 23%),
    linear-gradient(135deg,#f3f9df,var(--eco-bg));
}
.eco-nav,.eco-footer { display:flex; align-items:center; justify-content:space-between; gap:18px; padding-inline:max(clamp(16px,3.5vw,54px),env(safe-area-inset-left)); border-color:var(--eco-line); }
.eco-nav { border-bottom:1px solid var(--eco-line); }
.eco-footer { border-top:1px solid var(--eco-line); color:var(--eco-muted); font-size:9px; font-weight:700; letter-spacing:.12em; }
.eco-brand { display:flex; align-items:center; gap:3px; font-size:clamp(17px,1.5vw,22px); white-space:nowrap; }
.eco-brand>b { color:var(--eco-deep); }
.eco-brand>span { position:relative; width:28px; height:28px; margin-right:7px; background:var(--eco-deep); border-radius:60% 40% 60% 40%; transform:rotate(-18deg); }
.eco-brand>span i { position:absolute; left:13px; top:5px; width:1px; height:20px; background:var(--eco-lime); transform:rotate(24deg); }
.eco-nav>p { margin:0 auto; color:var(--eco-muted); font-size:9px; font-weight:800; letter-spacing:.15em; }
.eco-status { display:flex; align-items:center; gap:7px; font-size:8px; font-weight:800; letter-spacing:.1em; }
.eco-status i { width:8px; height:8px; background:var(--eco-lime); border:2px solid var(--eco-deep); border-radius:50%; }
.eco-stage { min-height:0; display:grid; grid-template-columns:minmax(250px,38%) minmax(130px,17%) minmax(0,1fr); align-items:stretch; gap:clamp(12px,2.5vw,38px); padding:clamp(16px,3.5vw,54px); overflow:hidden; }
.eco-hero { display:flex; flex-direction:column; justify-content:center; min-height:0; }
.eco-kicker { margin:0 0 clamp(10px,2dvh,20px); color:var(--eco-deep); font-size:9px; font-weight:850; letter-spacing:.16em; }
.eco-hero h1 { margin:0; max-width:9ch; font-size:clamp(39px,5.25vw,80px); font-weight:700; line-height:1.25; letter-spacing:0; }
.eco-hero h1 em { color:var(--eco-bg); background:var(--eco-deep); border-radius:999px; font-style:normal; padding-inline:.16em; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
.eco-lead { max-width:38ch; margin:clamp(11px,2.4dvh,22px) 0 0; color:var(--eco-muted); font-size:clamp(10px,1vw,14px); }
.eco-promo { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:8px; width:min(100%,320px); min-height:44px; margin-top:clamp(13px,2.8dvh,26px); padding:7px 11px; overflow:hidden; cursor:pointer; color:#fff; background:var(--eco-deep); border:0; border-radius:999px; }
.eco-promo span { color:var(--eco-lime); font-size:8px; font-weight:800; white-space:nowrap; }
.eco-promo strong { overflow:hidden; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.eco-promo i { color:var(--eco-lime); font-size:17px; font-style:normal; }
.eco-flow { position:relative; align-self:center; justify-self:center; width:min(100%,190px); height:min(70dvh,510px); }
.eco-flow__line { position:absolute; left:50%; top:0; width:58%; height:100%; border:1px solid var(--eco-deep); border-right:0; border-radius:100% 0 0 100%; opacity:.45; }
.eco-flow__line::before,.eco-flow__line::after { content:""; position:absolute; left:70%; width:62%; height:33%; border:1px solid var(--eco-deep); border-left:0; border-radius:0 100% 100% 0; }
.eco-flow__line::before { top:9%; }
.eco-flow__line::after { bottom:9%; }
.eco-flow__center { position:absolute; z-index:2; left:50%; top:50%; display:grid; place-content:center; width:min(10vw,128px); aspect-ratio:1; color:#fff; text-align:center; transform:translate(-50%,-50%); background:var(--eco-deep); border-radius:50%; box-shadow:0 0 0 18px rgba(185,236,74,.38); }
.eco-flow__center b { color:var(--eco-lime); font-size:clamp(23px,3vw,40px); line-height:1; }
.eco-flow__center small { font-size:7px; letter-spacing:.13em; }
.eco-flow>i { position:absolute; z-index:3; display:grid; place-items:center; width:32px; height:32px; color:var(--eco-bg); background:var(--eco-deep); border:4px solid var(--eco-bg); border-radius:50%; font-size:7px; font-style:normal; }
.eco-flow>i:nth-of-type(1) { left:12%; top:5%; }
.eco-flow>i:nth-of-type(2) { right:0; top:44%; }
.eco-flow>i:nth-of-type(3) { left:20%; bottom:4%; }
.eco-solutions { min-height:0; display:grid; grid-template-rows:repeat(3,minmax(0,1fr)); gap:clamp(8px,1.3dvh,12px); }
.eco-card { display:grid; grid-template-columns:minmax(110px,.8fr) minmax(130px,1.2fr); grid-template-rows:auto auto 1fr; gap:5px 12px; min-height:0; padding:clamp(12px,1.7vw,22px); overflow:hidden; background:var(--eco-paper); border:1px solid rgba(255,255,255,.74); border-radius:clamp(16px,2vw,26px); box-shadow:0 16px 42px rgba(34,75,58,.08); backdrop-filter:blur(12px); transition:transform .25s,background .25s; }
.eco-card:hover,.eco-card.is-active { transform:translateX(-5px); background:rgba(255,255,255,.88); }
.eco-card__top { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; color:var(--eco-muted); }
.eco-card__top small { font-size:7px; font-weight:800; letter-spacing:.12em; }
.eco-card__top i { color:var(--eco-deep); font-size:18px; font-style:normal; }
.eco-card__identity { display:flex; flex-direction:column; min-width:0; }
.eco-card__identity b { overflow:hidden; font-size:clamp(18px,2vw,28px); line-height:1; text-overflow:ellipsis; white-space:nowrap; }
.eco-card__identity small { margin-top:4px; color:var(--eco-muted); font-size:8px; }
.eco-card>strong { align-self:center; min-width:0; font-size:clamp(12px,1.25vw,17px); line-height:1.25; text-align:left; }
.eco-card__features { grid-column:1/-1; align-self:end; display:flex; gap:5px; }
.eco-card__features small { padding:3px 6px; color:var(--eco-deep); border:1px solid var(--eco-line); border-radius:999px; font-size:7px; }
.eco-footer p { margin:0; }
.eco-footer a { color:var(--eco-deep); }

/* -------------------------------------------------------------------------- */
/* 05 — Neo Brutalist                                                         */
/* -------------------------------------------------------------------------- */
.viewport-layout.layout-05 {
  --brutal-paper:#f5f0df;
  --brutal-ink:#0c0b0b;
  --brutal-blue:#2244f0;
  --brutal-yellow:#f5df2e;
  --brutal-pink:#ff4f92;
  --brutal-line:#0c0b0b;
  display:grid;
  grid-template-rows:clamp(55px,7.2dvh,68px) minmax(0,1fr) clamp(25px,3.6dvh,34px);
  color:var(--brutal-ink);
  background:var(--brutal-paper);
}
.brutal-nav,.brutal-footer { display:flex; align-items:center; justify-content:space-between; gap:18px; padding-inline:max(clamp(14px,3vw,46px),env(safe-area-inset-left)); border-color:var(--brutal-line); }
.brutal-nav { border-bottom:3px solid var(--brutal-line); }
.brutal-footer { color:var(--brutal-paper); background:var(--brutal-ink); border-top:3px solid var(--brutal-line); font-size:9px; font-weight:800; letter-spacing:.11em; }
.brutal-brand { display:flex; align-items:center; gap:8px; font-size:clamp(16px,1.5vw,22px); font-weight:900; }
.brutal-brand b { display:grid; place-items:center; width:34px; height:34px; color:var(--brutal-yellow); background:var(--brutal-blue); border:2px solid var(--brutal-ink); box-shadow:3px 3px 0 var(--brutal-ink); font-size:12px; }
.brutal-nav>p { margin:0 0 0 auto; font-size:9px; font-weight:900; letter-spacing:.11em; }
.brutal-promo { display:grid; grid-template-columns:auto minmax(0,120px) 24px; align-items:center; gap:7px; min-height:38px; padding:4px 7px 4px 10px; overflow:hidden; cursor:pointer; color:var(--brutal-ink); background:var(--brutal-yellow); border:2px solid var(--brutal-ink); box-shadow:3px 3px 0 var(--brutal-ink); }
.brutal-promo span { font-size:8px; font-weight:900; white-space:nowrap; }
.brutal-promo strong { overflow:hidden; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.brutal-promo i { display:grid; place-items:center; width:24px; height:24px; color:#fff; background:var(--brutal-blue); border:2px solid var(--brutal-ink); font-style:normal; font-weight:900; }
.brutal-stage { min-height:0; display:grid; grid-template-columns:minmax(250px,36%) minmax(0,1fr); gap:clamp(14px,3vw,44px); padding:clamp(16px,3.4vw,52px); overflow:hidden; }
.brutal-hero { position:relative; display:flex; flex-direction:column; justify-content:center; min-height:0; padding-right:clamp(30px,5vw,80px); }
.brutal-kicker { width:max-content; margin:0 0 clamp(10px,2dvh,20px); padding:4px 8px; color:#fff; background:var(--brutal-blue); border:2px solid var(--brutal-ink); font-size:9px; font-weight:900; letter-spacing:.13em; transform:rotate(-1deg); }
.brutal-hero h1 { margin:0; max-width:8.5ch; font-size:clamp(41px,5.7vw,88px); font-weight:900; line-height:1.25; letter-spacing:0; }
.brutal-hero h1 em { color:var(--brutal-blue); font-style:normal; text-decoration:underline; text-decoration-color:var(--brutal-pink); text-decoration-thickness:.12em; text-underline-offset:.08em; }
.brutal-lead { max-width:33ch; margin:clamp(12px,2.5dvh,24px) 0 0; font-size:clamp(11px,1.1vw,15px); font-weight:700; }
.brutal-stamp { position:absolute; right:0; bottom:4%; display:grid; place-content:center; width:clamp(72px,7vw,106px); aspect-ratio:1; color:var(--brutal-yellow); text-align:center; background:var(--brutal-blue); border:3px solid var(--brutal-ink); border-radius:50%; box-shadow:6px 6px 0 var(--brutal-ink); font-size:clamp(22px,2.4vw,34px); font-weight:900; transform:rotate(8deg); }
.brutal-stamp small { display:block; color:#fff; font-size:7px; letter-spacing:.1em; }
.brutal-products { min-height:0; display:grid; grid-template-rows:repeat(3,minmax(0,1fr)); gap:clamp(9px,1.5dvh,14px); padding:0 clamp(4px,.6vw,8px) clamp(4px,.6vw,8px) 0; }
.brutal-card { min-height:0; }
.brutal-card>a { height:100%; display:grid; grid-template-columns:clamp(78px,9vw,130px) minmax(120px,24%) minmax(120px,1fr) auto; grid-template-rows:1fr auto; align-items:center; gap:clamp(9px,1.7vw,24px); padding:clamp(10px,1.6vw,21px); color:#fff; background:var(--brutal-blue); border:3px solid var(--brutal-ink); box-shadow:clamp(4px,.55vw,8px) clamp(4px,.55vw,8px) 0 var(--brutal-ink); transition:transform .2s,box-shadow .2s; }
.brutal-card:nth-child(2)>a { color:var(--brutal-ink); background:var(--brutal-yellow); }
.brutal-card:nth-child(3)>a { background:var(--brutal-pink); }
.brutal-card:hover>a,.brutal-card.is-active>a { transform:translate(3px,3px); box-shadow:2px 2px 0 var(--brutal-ink); }
.brutal-card__head { align-self:stretch; grid-row:1/-1; display:flex; flex-direction:column; justify-content:space-between; padding-right:clamp(8px,1.5vw,20px); border-right:2px solid currentColor; }
.brutal-card__head>b { font-size:clamp(25px,3.5vw,52px); line-height:1; }
.brutal-card__head>small { font-size:7px; font-weight:900; letter-spacing:.11em; }
.brutal-card__head>i { font-size:20px; font-style:normal; }
.brutal-card__identity { display:flex; flex-direction:column; }
.brutal-card__identity>b { overflow:hidden; font-size:clamp(19px,2.2vw,32px); line-height:1; text-overflow:ellipsis; white-space:nowrap; }
.brutal-card__identity>small { margin-top:4px; font-size:8px; opacity:.75; }
.brutal-card>a>strong { font-size:clamp(13px,1.45vw,20px); line-height:1.25; }
.brutal-card__features { display:flex; flex-wrap:wrap; gap:5px; }
.brutal-card__features small { padding:3px 6px; border:1px solid currentColor; font-size:7px; font-weight:800; }
.brutal-card__cta { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:8px 10px; color:var(--brutal-ink); background:var(--brutal-paper); border:2px solid var(--brutal-ink); font-size:8px; font-weight:900; white-space:nowrap; }
.brutal-card__cta i { font-size:16px; font-style:normal; }
.brutal-footer p { margin:0; }
.brutal-footer a { color:var(--brutal-yellow); }

/* Five shared administrator tones. */
body.viewport-page:not(.tone-original) .layout-01 {
  --aurora-bg:var(--tone-bg-dark); --aurora-surface:var(--tone-surface-dark); --aurora-panel:color-mix(in srgb,var(--tone-surface-dark) 76%,transparent); --aurora-text:var(--tone-text-on-dark); --aurora-muted:var(--tone-text-muted-dark); --aurora-accent:var(--tone-accent-on-dark); --aurora-accent-2:var(--tone-accent-2); --aurora-line:var(--tone-line-dark);
  color:var(--aurora-text);
  background:radial-gradient(circle at 74% 42%,color-mix(in srgb,var(--aurora-accent) 16%,transparent),transparent 28%),radial-gradient(circle at 52% 92%,color-mix(in srgb,var(--aurora-accent-2) 16%,transparent),transparent 34%),linear-gradient(135deg,var(--tone-bg-dark),var(--aurora-bg) 58%,var(--tone-bg-dark));
}
body.viewport-page:not(.tone-original) .layout-02 {
  --editorial-paper:var(--tone-bg-light); --editorial-ink:var(--tone-text-on-light); --editorial-muted:var(--tone-text-muted-light); --editorial-accent:var(--tone-accent-on-light); --editorial-line:var(--tone-line-light);
  color:var(--editorial-ink);
  background:var(--editorial-paper);
}
body.viewport-page:not(.tone-original) .layout-03 {
  --sunrise-bg:var(--tone-bg-light); --sunrise-paper:var(--tone-surface-light); --sunrise-ink:var(--tone-text-on-light); --sunrise-muted:var(--tone-text-muted-light); --sunrise-orange:var(--tone-accent); --sunrise-yellow:color-mix(in srgb,var(--tone-accent) 58%,var(--tone-surface-light)); --sunrise-pink:var(--tone-accent-2); --sunrise-plum:var(--tone-accent-strong); --sunrise-line:var(--tone-line-light);
  color:var(--sunrise-ink);
  background:var(--sunrise-bg);
}
body.viewport-page:not(.tone-original) .layout-04 {
  --eco-bg:var(--tone-bg-light); --eco-paper:color-mix(in srgb,var(--tone-surface-light) 72%,transparent); --eco-ink:var(--tone-text-on-light); --eco-muted:var(--tone-text-muted-light); --eco-deep:var(--tone-accent-on-light); --eco-lime:var(--tone-accent); --eco-line:var(--tone-line-light);
  color:var(--eco-ink);
  background:radial-gradient(circle at 56% 46%,color-mix(in srgb,var(--eco-lime) 42%,transparent),transparent 23%),var(--eco-bg);
}
body.viewport-page:not(.tone-original) .layout-05 {
  --brutal-paper:var(--tone-bg-light); --brutal-ink:var(--tone-text-on-light); --brutal-blue:var(--tone-accent-strong); --brutal-yellow:var(--tone-accent); --brutal-pink:var(--tone-accent-2); --brutal-line:var(--tone-text-on-light);
  color:var(--brutal-ink);
  background:var(--brutal-paper);
}

/* Tablet and portrait composition. */
@media (max-width:900px) {
  .aurora-stage { grid-template-columns:minmax(190px,38%) minmax(0,1fr); gap:16px; padding:18px; }
  .aurora-hero h1 { font-size:clamp(34px,6vw,56px); }
  .aurora-metrics { display:none; }
  .aurora-console { grid-template-rows:auto minmax(70px,1fr) auto; }
  .aurora-card { grid-template-columns:auto minmax(0,1fr); }
  .aurora-card>i { display:none; }

  .editorial-grid { grid-template-columns:38% minmax(0,1fr); }
  .editorial-hero { padding:20px; }
  .editorial-hero h1 { font-size:clamp(34px,6vw,56px); }
  .editorial-entry>a { grid-template-columns:34px minmax(100px,31%) minmax(110px,1fr) 28px; gap:9px; padding:12px; }
  .editorial-entry__features { display:none; }

  .sunrise-board { grid-template-columns:38% minmax(0,1fr); }
  .sunrise-hero { padding:22px; }
  .sunrise-hero h1 { font-size:clamp(35px,6vw,58px); }
  .sunrise-card { padding:14px; }
  .sunrise-card__icon { width:min(9vw,72px); }
  .sunrise-card__chips { display:none; }

  .eco-stage { grid-template-columns:39% minmax(0,1fr); gap:16px; padding:20px; }
  .eco-flow { display:none; }
  .eco-hero h1 { font-size:clamp(35px,6vw,58px); }

  .brutal-stage { grid-template-columns:35% minmax(0,1fr); gap:18px; padding:20px; }
  .brutal-hero { padding-right:12px; }
  .brutal-hero h1 { font-size:clamp(36px,6.2vw,60px); }
  .brutal-stamp { display:none; }
  .brutal-card>a { grid-template-columns:60px minmax(105px,30%) minmax(100px,1fr); padding:10px; }
  .brutal-card__cta { display:none; }
}

/* Phones: hero remains readable above a compact three-destination control. */
@media (max-width:699px) {
  .viewport-layout.layout-01,.viewport-layout.layout-02,.viewport-layout.layout-03,.viewport-layout.layout-04,.viewport-layout.layout-05 { grid-template-rows:52px minmax(0,1fr) 25px; }
  .aurora-nav,.editorial-nav,.sunrise-nav,.eco-nav,.brutal-nav { padding-inline:13px; }
  .aurora-footer,.editorial-footer,.sunrise-footer,.eco-footer,.brutal-footer { padding-inline:13px; }
  .aurora-nav>p,.editorial-nav>p,.sunrise-nav>p,.eco-nav>p,.brutal-nav>p { display:none; }
  .aurora-promo,.sunrise-promo,.brutal-promo { max-width:145px; box-shadow:none; }
  .aurora-promo strong,.sunrise-promo strong,.brutal-promo strong { display:none; }
  .aurora-footer p,.editorial-footer p,.sunrise-footer p,.eco-footer p,.brutal-footer p { display:none; }

  .aurora-stage { grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(160px,42%) minmax(0,1fr); gap:9px; padding:9px; }
  .aurora-hero { justify-content:center; padding:8px 10px; }
  .aurora-kicker { margin-bottom:5px; font-size:7px; }
  .aurora-hero h1 { max-width:none; font-size:clamp(27px,9.3vw,42px); line-height:1.25; letter-spacing:0; }
  .aurora-lead { max-width:42ch; margin-top:5px; font-size:9px; }
  .aurora-start { min-height:36px; width:180px; margin-top:7px; padding:5px 9px; font-size:9px; }
  .aurora-console { grid-template-rows:auto minmax(40px,1fr) auto; gap:6px; padding:9px; border-radius:17px; }
  .aurora-console__top { font-size:6px; }
  .aurora-radar { width:min(16dvh,100px); }
  .aurora-solutions { gap:5px; }
  .aurora-card { min-height:48px; padding:6px; gap:5px; border-radius:8px; }
  .aurora-card__number { width:20px; height:20px; font-size:6px; }
  .aurora-card__copy b { font-size:9px; }
  .aurora-card__copy small { display:none; }

  .editorial-grid { grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(170px,43%) minmax(0,1fr); }
  .editorial-nav>span { display:none; }
  .editorial-hero { justify-content:center; padding:12px 15px; border-right:0; border-bottom:1px solid var(--editorial-line); }
  .editorial-kicker { margin-bottom:5px; font-size:7px; }
  .editorial-hero h1 { max-width:none; font-size:clamp(28px,9vw,41px); line-height:1.25; letter-spacing:0; }
  .editorial-rule { width:160px; margin-top:6px; }
  .editorial-lead { margin-top:5px; font-size:8px; }
  .editorial-promo { position:absolute; right:12px; bottom:10px; width:42px; min-height:38px; margin:0; display:grid; place-items:center; padding:0; }
  .editorial-promo span,.editorial-promo strong { display:none; }
  .editorial-entry>a { grid-template-columns:27px minmax(82px,31%) minmax(0,1fr) 20px; gap:6px; padding:7px 10px; }
  .editorial-entry__number { font-size:19px; }
  .editorial-entry__identity small,.editorial-entry__identity em { display:none; }
  .editorial-entry__identity b { margin:0; font-size:14px; }
  .editorial-entry__copy strong { font-size:11px; }
  .editorial-entry__copy small { margin-top:2px; font-size:7px; -webkit-line-clamp:1; }

  .sunrise-board { grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(170px,44%) minmax(0,1fr); gap:7px; }
  .sunrise-hero { padding:12px 15px; border-radius:22px; }
  .sunrise-sun { right:-2%; top:-38%; width:190px; }
  .sunrise-kicker { margin-bottom:4px; font-size:7px; }
  .sunrise-hero h1 { max-width:none; font-size:clamp(29px,9.4vw,43px); line-height:1.25; letter-spacing:0; }
  .sunrise-lead { max-width:40ch; margin-top:5px; font-size:8px; }
  .sunrise-note { display:none; }
  .sunrise-cards { gap:6px; }
  .sunrise-card { justify-content:space-between; padding:8px; border-radius:15px; }
  .sunrise-card__top>small,.sunrise-card__icon,.sunrise-card__copy>small,.sunrise-card__chips { display:none; }
  .sunrise-card__top>b { width:21px; height:21px; font-size:6px; }
  .sunrise-card__top>i { font-size:14px; }
  .sunrise-card__copy>b { font-size:clamp(12px,3.8vw,18px); }
  .sunrise-card__copy>strong { margin-top:5px; font-size:8px; }

  .eco-stage { grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(170px,44%) minmax(0,1fr); gap:7px; padding:9px; }
  .eco-hero { justify-content:center; padding:4px 7px; }
  .eco-kicker { margin-bottom:5px; font-size:7px; }
  .eco-hero h1 { max-width:none; font-size:clamp(29px,9.2vw,42px); line-height:1.25; letter-spacing:0; }
  .eco-lead { max-width:42ch; margin-top:5px; font-size:8px; }
  .eco-promo { min-height:35px; width:190px; margin-top:7px; padding:5px 9px; }
  .eco-solutions { grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:minmax(0,1fr); gap:6px; }
  .eco-card { display:flex; flex-direction:column; padding:8px; border-radius:14px; }
  .eco-card:hover,.eco-card.is-active { transform:translateY(-3px); }
  .eco-card__identity b { font-size:clamp(12px,3.7vw,17px); }
  .eco-card__identity small,.eco-card__features { display:none; }
  .eco-card>strong { margin-top:auto; font-size:8px; text-align:left; }

  .brutal-stage { grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(155px,39%) minmax(0,1fr); gap:8px; padding:9px; }
  .brutal-hero { justify-content:center; padding:4px 7px; }
  .brutal-kicker { margin-bottom:5px; padding:2px 5px; font-size:7px; }
  .brutal-hero h1 { max-width:none; font-size:clamp(29px,9.5vw,43px); line-height:1.25; letter-spacing:0; }
  .brutal-lead { margin-top:5px; font-size:9px; }
  .brutal-products { gap:6px; }
  .brutal-card>a { grid-template-columns:43px minmax(75px,30%) minmax(0,1fr); gap:7px; padding:6px 8px; border-width:2px; box-shadow:3px 3px 0 var(--brutal-ink); }
  .brutal-card__head { padding-right:5px; border-width:1px; }
  .brutal-card__head>b { font-size:20px; }
  .brutal-card__head>small,.brutal-card__head>i { display:none; }
  .brutal-card__identity>b { font-size:14px; }
  .brutal-card__identity>small { display:none; }
  .brutal-card>a>strong { font-size:9px; }
  .brutal-card__features { display:none; }
}

@media (max-width:370px), (max-height:590px) and (max-width:699px) {
  .aurora-lead,.editorial-lead,.sunrise-lead,.eco-lead,.brutal-lead { display:none; }
  .aurora-start,.eco-promo { margin-top:5px; }
  .aurora-stage { grid-template-rows:minmax(130px,37%) minmax(0,1fr); }
  .editorial-grid { grid-template-rows:minmax(145px,38%) minmax(0,1fr); }
  .editorial-promo { bottom:2px; }
  .sunrise-board,.eco-stage { grid-template-rows:minmax(145px,39%) minmax(0,1fr); }
  .brutal-stage { grid-template-rows:minmax(130px,34%) minmax(0,1fr); }
  .editorial-entry__copy small { display:none; }
}

/* Short landscape phones: restore a side-by-side presentation. */
@media (min-width:500px) and (max-width:767px) and (max-height:450px) {
  .viewport-layout.layout-01,.viewport-layout.layout-02,.viewport-layout.layout-03,.viewport-layout.layout-04,.viewport-layout.layout-05 { grid-template-rows:46px minmax(0,1fr) 23px; }
  .aurora-stage,.editorial-grid,.sunrise-board,.eco-stage,.brutal-stage { grid-template-rows:minmax(0,1fr); }
  .aurora-stage { grid-template-columns:34% minmax(0,1fr); gap:7px; padding:7px; }
  .aurora-hero { padding:4px 7px; }
  .aurora-hero h1 { font-size:clamp(25px,4.6vw,33px); line-height:1.25; }
  .aurora-start { min-height:32px; width:145px; }
  .aurora-console { padding:7px; grid-template-columns:minmax(70px,1fr) minmax(0,2.6fr); grid-template-rows:auto minmax(0,1fr); }
  .aurora-console__top { grid-column:1/-1; }
  .aurora-radar { width:min(43dvh,100px); }
  .aurora-solutions { align-content:stretch; }

  .editorial-grid { grid-template-columns:35% minmax(0,1fr); }
  .editorial-hero { padding:8px 12px; border-right:1px solid var(--editorial-line); border-bottom:0; }
  .editorial-hero h1 { font-size:clamp(24px,4.4vw,32px); line-height:1.25; }
  .editorial-promo { right:8px; bottom:8px; }
  .editorial-entry>a { grid-template-columns:25px minmax(75px,28%) minmax(0,1fr) 18px; padding:6px 9px; }

  .sunrise-board { grid-template-columns:35% minmax(0,1fr); }
  .sunrise-hero { padding:9px 12px; }
  .sunrise-sun { width:150px; }
  .sunrise-hero h1 { font-size:clamp(25px,4.5vw,33px); line-height:1.25; }
  .sunrise-cards { grid-template-columns:repeat(3,minmax(0,1fr)); }

  .eco-stage { grid-template-columns:35% minmax(0,1fr); padding:7px; }
  .eco-hero h1 { font-size:clamp(25px,4.5vw,33px); line-height:1.25; }
  .eco-solutions { grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:minmax(0,1fr); }

  .brutal-stage { grid-template-columns:34% minmax(0,1fr); padding:7px; }
  .brutal-hero h1 { font-size:clamp(25px,4.6vw,34px); line-height:1.25; }
  .brutal-products { grid-template-rows:repeat(3,minmax(0,1fr)); }
}

/* -------------------------------------------------------------------------- */
/* Dynamic solution collections                                               */
/* -------------------------------------------------------------------------- */
.solution-media { display:grid; place-items:center; flex:0 0 auto; overflow:hidden; }
.solution-media__image { width:100%; height:100%; object-fit:cover; border-radius:inherit; }
.solution-media__fallback { display:grid; place-items:center; width:100%; height:100%; }
.solution-empty { grid-column:1/-1; align-self:stretch; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; min-width:0; min-height:0; padding:20px; text-align:center; }
.solution-empty b { font-size:clamp(17px,2vw,28px); line-height:1.2; }
.solution-empty span { max-width:34ch; font-size:10px; line-height:1.45; opacity:.72; }

.aurora-start--disabled { cursor:default; color:var(--aurora-muted); background:var(--aurora-panel); border:1px solid var(--aurora-line); }
.aurora-card { --solution-accent:var(--aurora-accent); }
.aurora-card__media { width:27px; height:27px; border-radius:50%; }
.aurora-card .solution-media__image { border:1px solid var(--solution-accent); }
.aurora-card__number { color:var(--solution-accent); }
.aurora-card.solution-card--brown,.aurora-card.solution-card--orange,.aurora-card.solution-accent--orange,.aurora-card.solution-accent--brown,.aurora-card.solution-accent--gold { --solution-accent:#ffb45f; }
.aurora-card.solution-card--green,.aurora-card.solution-accent--green,.aurora-card.solution-accent--lime { --solution-accent:#6ee7b7; }
.aurora-card.solution-card--purple,.aurora-card.solution-accent--purple,.aurora-card.solution-accent--violet,.aurora-card.solution-accent--pink { --solution-accent:var(--aurora-accent-2); }
.aurora-card.solution-card--blue,.aurora-card.solution-card--cyan,.aurora-card.solution-accent--blue,.aurora-card.solution-accent--cyan { --solution-accent:var(--aurora-accent); }
.solution-empty--aurora { color:var(--aurora-muted); background:rgba(255,255,255,.035); border:1px dashed var(--aurora-line); border-radius:16px; }

.editorial-entry { --entry-accent:var(--editorial-accent); }
.editorial-entry:hover>a,.editorial-entry.is-active>a { background:var(--entry-accent); }
.editorial-entry__marker { color:var(--entry-accent); }
.editorial-entry.solution-card--blue,.editorial-entry.solution-accent--blue { --entry-accent:color-mix(in srgb,var(--editorial-accent) 25%,#2563eb); }
.editorial-entry.solution-card--brown,.editorial-entry.solution-accent--brown { --entry-accent:color-mix(in srgb,var(--editorial-accent) 25%,#8b5e3c); }
.editorial-entry.solution-card--green,.editorial-entry.solution-accent--green,.editorial-entry.solution-accent--lime { --entry-accent:color-mix(in srgb,var(--editorial-accent) 25%,#15803d); }
.editorial-entry.solution-card--purple,.editorial-entry.solution-accent--purple,.editorial-entry.solution-accent--violet,.editorial-entry.solution-accent--pink { --entry-accent:color-mix(in srgb,var(--editorial-accent) 25%,#7e22ce); }
.editorial-entry.solution-card--orange,.editorial-entry.solution-accent--orange,.editorial-entry.solution-accent--gold { --entry-accent:color-mix(in srgb,var(--editorial-accent) 25%,#c2410c); }
.editorial-entry.solution-card--cyan,.editorial-entry.solution-accent--cyan { --entry-accent:color-mix(in srgb,var(--editorial-accent) 25%,#0e7490); }
.editorial-entry__marker { align-self:center; width:clamp(34px,4vw,54px); aspect-ratio:1; }
.editorial-entry__marker .solution-media__image { border:1px solid currentColor; border-radius:2px; filter:saturate(.82); }
.editorial-entry__marker .solution-media__fallback { justify-content:start; }
.solution-empty--editorial { color:var(--editorial-muted); border-block:1px solid var(--editorial-line); }

.sunrise-card { background:linear-gradient(155deg,color-mix(in srgb,var(--sunrise-plum) 82%,var(--sunrise-pink)),var(--sunrise-plum)); }
.sunrise-card.solution-card--blue,.sunrise-card.solution-accent--blue { color:#fff; background:linear-gradient(155deg,color-mix(in srgb,var(--sunrise-plum) 72%,#3558d4),var(--sunrise-plum)); }
.sunrise-card.solution-card--brown,.sunrise-card.solution-card--orange,.sunrise-card.solution-accent--orange,.sunrise-card.solution-accent--brown,.sunrise-card.solution-accent--gold { color:var(--sunrise-ink); background:linear-gradient(155deg,var(--sunrise-yellow),var(--sunrise-orange)); }
.sunrise-card.solution-card--green,.sunrise-card.solution-accent--green,.sunrise-card.solution-accent--lime { color:#fff; background:linear-gradient(155deg,color-mix(in srgb,var(--sunrise-plum) 34%,#18795e),color-mix(in srgb,var(--sunrise-plum) 38%,#155e4b)); }
.sunrise-card.solution-card--purple,.sunrise-card.solution-accent--purple,.sunrise-card.solution-accent--violet,.sunrise-card.solution-accent--pink { color:#fff; background:linear-gradient(155deg,var(--sunrise-pink),color-mix(in srgb,var(--sunrise-pink) 48%,var(--sunrise-plum))); }
.sunrise-card.solution-card--cyan,.sunrise-card.solution-accent--cyan { color:#fff; background:linear-gradient(155deg,color-mix(in srgb,var(--sunrise-pink) 24%,#16aabc),color-mix(in srgb,var(--sunrise-plum) 64%,#0e7490)); }
.sunrise-card:not(.sunrise-card--people):not(.sunrise-card--food):not(.sunrise-card--commerce):nth-child(4n+2) { color:var(--sunrise-ink); background:linear-gradient(155deg,var(--sunrise-yellow),var(--sunrise-orange)); }
.sunrise-card:not(.sunrise-card--people):not(.sunrise-card--food):not(.sunrise-card--commerce):nth-child(4n+3) { background:linear-gradient(155deg,var(--sunrise-pink),color-mix(in srgb,var(--sunrise-pink) 52%,var(--sunrise-plum))); }
.sunrise-card__icon .solution-media__fallback { border-radius:inherit; }
.solution-empty--sunrise { color:var(--sunrise-muted); background:var(--sunrise-paper); border:1px dashed var(--sunrise-line); border-radius:28px; }

.eco-flow>i:nth-of-type(4) { right:5%; bottom:8%; }
.eco-card__identity { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:9px; }
.eco-card__identity-copy { display:flex; flex-direction:column; min-width:0; }
.eco-card__identity-copy b { overflow:hidden; font-size:clamp(18px,2vw,28px); line-height:1; text-overflow:ellipsis; white-space:nowrap; }
.eco-card__identity-copy small { margin-top:4px; color:var(--eco-muted); font-size:8px; }
.eco-card { --eco-site-accent:var(--eco-deep); box-shadow:inset 0 3px 0 color-mix(in srgb,var(--eco-site-accent) 58%,transparent); }
.eco-card__media { width:40px; height:40px; color:var(--eco-bg); background:var(--eco-site-accent); border-radius:50%; font-size:9px; font-weight:800; }
.eco-card.solution-card--blue,.eco-card.solution-accent--blue { --eco-site-accent:color-mix(in srgb,var(--eco-deep) 72%,#2563eb); }
.eco-card.solution-card--brown,.eco-card.solution-card--orange,.eco-card.solution-accent--orange,.eco-card.solution-accent--brown,.eco-card.solution-accent--gold { --eco-site-accent:var(--eco-lime); }
.eco-card.solution-card--green,.eco-card.solution-accent--green,.eco-card.solution-accent--lime { --eco-site-accent:var(--eco-deep); }
.eco-card.solution-card--purple,.eco-card.solution-accent--purple,.eco-card.solution-accent--violet,.eco-card.solution-accent--pink { --eco-site-accent:color-mix(in srgb,var(--eco-deep) 58%,#7e22ce); }
.eco-card.solution-card--cyan,.eco-card.solution-accent--cyan { --eco-site-accent:color-mix(in srgb,var(--eco-deep) 58%,#0891b2); }
.eco-card.solution-card--brown .eco-card__media,.eco-card.solution-card--orange .eco-card__media,.eco-card.solution-accent--orange .eco-card__media,.eco-card.solution-accent--brown .eco-card__media,.eco-card.solution-accent--gold .eco-card__media { color:var(--eco-ink); }
.solution-empty--eco { color:var(--eco-muted); background:var(--eco-paper); border:1px dashed var(--eco-line); border-radius:24px; }

.brutal-card:nth-child(3n+1)>a { color:#fff; background:var(--brutal-blue); }
.brutal-card:nth-child(3n+2)>a { color:var(--brutal-ink); background:var(--brutal-yellow); }
.brutal-card:nth-child(3n+3)>a { color:#fff; background:var(--brutal-pink); }
.brutal-card.solution-card--blue>a,.brutal-card.solution-card--cyan>a,.brutal-card.solution-accent--blue>a,.brutal-card.solution-accent--cyan>a { color:#fff; background:var(--brutal-blue); }
.brutal-card.solution-card--brown>a,.brutal-card.solution-card--orange>a,.brutal-card.solution-accent--orange>a,.brutal-card.solution-accent--brown>a,.brutal-card.solution-accent--gold>a { color:var(--brutal-ink); background:var(--brutal-yellow); }
.brutal-card.solution-card--green>a,.brutal-card.solution-card--purple>a,.brutal-card.solution-accent--green>a,.brutal-card.solution-accent--lime>a,.brutal-card.solution-accent--purple>a,.brutal-card.solution-accent--violet>a,.brutal-card.solution-accent--pink>a { color:#fff; background:var(--brutal-pink); }
.brutal-card__identity { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:9px; min-width:0; }
.brutal-card__identity-copy { display:flex; flex-direction:column; min-width:0; }
.brutal-card__identity-copy b { overflow:hidden; font-size:clamp(19px,2.2vw,32px); line-height:1; text-overflow:ellipsis; white-space:nowrap; }
.brutal-card__identity-copy small { margin-top:4px; font-size:8px; opacity:.75; }
.brutal-card__media { width:40px; height:40px; color:inherit; background:rgba(255,255,255,.16); border:2px solid currentColor; font-size:9px; font-weight:900; }
.solution-empty--brutal { color:var(--brutal-ink); background:var(--brutal-yellow); border:3px solid var(--brutal-ink); box-shadow:7px 7px 0 var(--brutal-ink); }

.solution-count-0 .aurora-radar,.solution-count-0 .aurora-metrics { display:none; }
.solution-count-0 .aurora-console { grid-template-rows:auto minmax(0,1fr); }
.solution-count-0 .aurora-solutions,.solution-count-0 .editorial-index,.solution-count-0 .sunrise-cards,.solution-count-0 .eco-solutions,.solution-count-0 .brutal-products { grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr); }

.solution-count-1 .aurora-solutions,.solution-count-1 .sunrise-cards { grid-template-columns:minmax(0,1fr); }
.solution-count-2 .aurora-solutions,.solution-count-2 .sunrise-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
.solution-count-4 .aurora-radar,.solution-count-4 .aurora-metrics,
.solution-count-5 .aurora-radar,.solution-count-5 .aurora-metrics,
.solution-count-6 .aurora-radar,.solution-count-6 .aurora-metrics,
.solution-count-7 .aurora-radar,.solution-count-7 .aurora-metrics,
.solution-count-8 .aurora-radar,.solution-count-8 .aurora-metrics,
.solution-count-many .aurora-radar,.solution-count-many .aurora-metrics { display:none; }
.solution-count-4 .aurora-console,.solution-count-5 .aurora-console,.solution-count-6 .aurora-console,.solution-count-7 .aurora-console,.solution-count-8 .aurora-console,.solution-count-many .aurora-console { grid-template-rows:auto minmax(0,1fr); }
.solution-count-4 .aurora-solutions { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(0,1fr)); }
.solution-count-4 .sunrise-cards { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(0,1fr)); }

.solution-count-1 .editorial-index,.solution-count-1 .eco-solutions,.solution-count-1 .brutal-products { grid-template-rows:minmax(0,1fr); }
.solution-count-2 .editorial-index,.solution-count-2 .eco-solutions,.solution-count-2 .brutal-products { grid-template-rows:repeat(2,minmax(0,1fr)); }
.solution-count-4 .editorial-index,.solution-count-4 .eco-solutions,.solution-count-4 .brutal-products { grid-template-rows:repeat(4,minmax(0,1fr)); }

.solution-count-5 .aurora-solutions,.solution-count-6 .aurora-solutions,.solution-count-7 .aurora-solutions,.solution-count-8 .aurora-solutions,.solution-count-many .aurora-solutions,
.solution-count-5 .editorial-index,.solution-count-6 .editorial-index,.solution-count-7 .editorial-index,.solution-count-8 .editorial-index,.solution-count-many .editorial-index,
.solution-count-5 .sunrise-cards,.solution-count-6 .sunrise-cards,.solution-count-7 .sunrise-cards,.solution-count-8 .sunrise-cards,.solution-count-many .sunrise-cards,
.solution-count-5 .eco-solutions,.solution-count-6 .eco-solutions,.solution-count-7 .eco-solutions,.solution-count-8 .eco-solutions,.solution-count-many .eco-solutions,
.solution-count-5 .brutal-products,.solution-count-6 .brutal-products,.solution-count-7 .brutal-products,.solution-count-8 .brutal-products,.solution-count-many .brutal-products {
  min-height:0;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scroll-snap-type:y proximity;
  scrollbar-gutter:stable;
}
.solution-count-5 .aurora-solutions,.solution-count-6 .aurora-solutions,.solution-count-7 .aurora-solutions,.solution-count-8 .aurora-solutions,.solution-count-many .aurora-solutions { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:minmax(64px,1fr); }
.solution-count-5 .editorial-index,.solution-count-6 .editorial-index,.solution-count-7 .editorial-index,.solution-count-8 .editorial-index,.solution-count-many .editorial-index { grid-template-rows:none; grid-auto-rows:minmax(78px,1fr); }
.solution-count-5 .sunrise-cards,.solution-count-6 .sunrise-cards,.solution-count-7 .sunrise-cards,.solution-count-8 .sunrise-cards,.solution-count-many .sunrise-cards { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:minmax(130px,1fr); }
.solution-count-5 .eco-solutions,.solution-count-6 .eco-solutions,.solution-count-7 .eco-solutions,.solution-count-8 .eco-solutions,.solution-count-many .eco-solutions { grid-template-rows:none; grid-auto-rows:minmax(86px,1fr); }
.solution-count-5 .brutal-products,.solution-count-6 .brutal-products,.solution-count-7 .brutal-products,.solution-count-8 .brutal-products,.solution-count-many .brutal-products { grid-template-rows:none; grid-auto-rows:minmax(104px,1fr); }
.solution-count-5 .aurora-card,.solution-count-6 .aurora-card,.solution-count-7 .aurora-card,.solution-count-8 .aurora-card,.solution-count-many .aurora-card,
.solution-count-5 .editorial-entry,.solution-count-6 .editorial-entry,.solution-count-7 .editorial-entry,.solution-count-8 .editorial-entry,.solution-count-many .editorial-entry,
.solution-count-5 .sunrise-card,.solution-count-6 .sunrise-card,.solution-count-7 .sunrise-card,.solution-count-8 .sunrise-card,.solution-count-many .sunrise-card,
.solution-count-5 .eco-card,.solution-count-6 .eco-card,.solution-count-7 .eco-card,.solution-count-8 .eco-card,.solution-count-many .eco-card,
.solution-count-5 .brutal-card,.solution-count-6 .brutal-card,.solution-count-7 .brutal-card,.solution-count-8 .brutal-card,.solution-count-many .brutal-card { scroll-snap-align:start; }
.solution-count-5 .editorial-entry__copy small,.solution-count-6 .editorial-entry__copy small,.solution-count-7 .editorial-entry__copy small,.solution-count-8 .editorial-entry__copy small,.solution-count-many .editorial-entry__copy small,
.solution-count-5 .sunrise-card__chips,.solution-count-6 .sunrise-card__chips,.solution-count-7 .sunrise-card__chips,.solution-count-8 .sunrise-card__chips,.solution-count-many .sunrise-card__chips,
.solution-count-5 .eco-card__features,.solution-count-6 .eco-card__features,.solution-count-7 .eco-card__features,.solution-count-8 .eco-card__features,.solution-count-many .eco-card__features,
.solution-count-5 .brutal-card__features,.solution-count-6 .brutal-card__features,.solution-count-7 .brutal-card__features,.solution-count-8 .brutal-card__features,.solution-count-many .brutal-card__features { display:none; }

@media (max-width:900px) {
  .solution-count-4 .editorial-entry>a { padding-block:8px; }
  .solution-count-4 .sunrise-card { padding:10px; }
  .solution-count-4 .sunrise-card__icon { width:min(7vw,54px); }
  .solution-count-4 .eco-card,.solution-count-4 .brutal-card>a { padding-block:8px; }
}

@media (max-width:699px) {
  .solution-media { flex-shrink:0; }
  .aurora-card__media { width:22px; height:22px; }
  .editorial-entry__marker { width:25px; }
  .editorial-entry__marker .editorial-entry__number { font-size:17px; }
  .eco-card__identity,.brutal-card__identity { grid-template-columns:auto minmax(0,1fr); gap:6px; }
  .eco-card__media,.brutal-card__media { width:28px; height:28px; font-size:7px; }
  .eco-card__identity-copy b { font-size:clamp(11px,3.5vw,16px); }
  .eco-card__identity-copy small,.brutal-card__identity-copy small { display:none; }
  .brutal-card__identity-copy b { font-size:14px; }

  .solution-count-1 .aurora-solutions,.solution-count-1 .sunrise-cards,.solution-count-1 .eco-solutions { grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr); }
  .solution-count-2 .aurora-solutions,.solution-count-2 .sunrise-cards,.solution-count-2 .eco-solutions { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:minmax(0,1fr); }
  .solution-count-4 .aurora-solutions,.solution-count-4 .sunrise-cards,.solution-count-4 .eco-solutions { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(0,1fr)); }
  .solution-count-4 .editorial-index,.solution-count-4 .brutal-products { grid-template-rows:repeat(4,minmax(0,1fr)); }
  .solution-count-4 .sunrise-card__icon { display:none; }
  .solution-count-4 .eco-card { min-height:0; }

  .solution-count-5 .aurora-solutions,.solution-count-6 .aurora-solutions,.solution-count-7 .aurora-solutions,.solution-count-8 .aurora-solutions,.solution-count-many .aurora-solutions { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:minmax(52px,1fr); }
  .solution-count-5 .editorial-index,.solution-count-6 .editorial-index,.solution-count-7 .editorial-index,.solution-count-8 .editorial-index,.solution-count-many .editorial-index { grid-auto-rows:minmax(62px,1fr); }
  .solution-count-5 .sunrise-cards,.solution-count-6 .sunrise-cards,.solution-count-7 .sunrise-cards,.solution-count-8 .sunrise-cards,.solution-count-many .sunrise-cards { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:minmax(76px,1fr); }
  .solution-count-5 .eco-solutions,.solution-count-6 .eco-solutions,.solution-count-7 .eco-solutions,.solution-count-8 .eco-solutions,.solution-count-many .eco-solutions { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:minmax(76px,1fr); }
  .solution-count-5 .brutal-products,.solution-count-6 .brutal-products,.solution-count-7 .brutal-products,.solution-count-8 .brutal-products,.solution-count-many .brutal-products { grid-auto-rows:minmax(74px,1fr); }
  .solution-count-5 .sunrise-card__icon,.solution-count-6 .sunrise-card__icon,.solution-count-7 .sunrise-card__icon,.solution-count-8 .sunrise-card__icon,.solution-count-many .sunrise-card__icon { display:none; }
  .solution-count-5 .sunrise-card,.solution-count-6 .sunrise-card,.solution-count-7 .sunrise-card,.solution-count-8 .sunrise-card,.solution-count-many .sunrise-card { padding:7px; }
  .solution-count-5 .sunrise-card__copy>strong,.solution-count-6 .sunrise-card__copy>strong,.solution-count-7 .sunrise-card__copy>strong,.solution-count-8 .sunrise-card__copy>strong,.solution-count-many .sunrise-card__copy>strong { display:none; }
  .solution-count-5 .eco-card,.solution-count-6 .eco-card,.solution-count-7 .eco-card,.solution-count-8 .eco-card,.solution-count-many .eco-card { padding:7px; }
  .solution-count-5 .eco-card>strong,.solution-count-6 .eco-card>strong,.solution-count-7 .eco-card>strong,.solution-count-8 .eco-card>strong,.solution-count-many .eco-card>strong { display:none; }
  .solution-count-5 .brutal-card>a,.solution-count-6 .brutal-card>a,.solution-count-7 .brutal-card>a,.solution-count-8 .brutal-card>a,.solution-count-many .brutal-card>a { min-height:70px; }
}

@media (min-width:500px) and (max-width:767px) and (max-height:450px) {
  .solution-count-4 .aurora-solutions,.solution-count-4 .sunrise-cards,.solution-count-4 .eco-solutions { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(0,1fr)); }
  .solution-count-4 .editorial-index,.solution-count-4 .brutal-products { grid-template-rows:repeat(4,minmax(0,1fr)); }
  .solution-count-4 .sunrise-card__icon,.solution-count-4 .sunrise-card__chips,.solution-count-4 .brutal-card__features { display:none; }
  .solution-count-4 .sunrise-card { padding:8px; }
  .solution-count-5 .aurora-solutions,.solution-count-6 .aurora-solutions,.solution-count-7 .aurora-solutions,.solution-count-8 .aurora-solutions,.solution-count-many .aurora-solutions { grid-auto-rows:minmax(48px,1fr); }
  .solution-count-5 .editorial-index,.solution-count-6 .editorial-index,.solution-count-7 .editorial-index,.solution-count-8 .editorial-index,.solution-count-many .editorial-index { grid-auto-rows:minmax(54px,1fr); }
  .solution-count-5 .sunrise-cards,.solution-count-6 .sunrise-cards,.solution-count-7 .sunrise-cards,.solution-count-8 .sunrise-cards,.solution-count-many .sunrise-cards,
  .solution-count-5 .eco-solutions,.solution-count-6 .eco-solutions,.solution-count-7 .eco-solutions,.solution-count-8 .eco-solutions,.solution-count-many .eco-solutions { grid-auto-rows:minmax(66px,1fr); }
  .solution-count-5 .brutal-products,.solution-count-6 .brutal-products,.solution-count-7 .brutal-products,.solution-count-8 .brutal-products,.solution-count-many .brutal-products { grid-auto-rows:minmax(62px,1fr); }
}

@media (prefers-contrast:more) {
  .aurora-console,.aurora-card,.sunrise-card,.eco-card { border-width:2px; }
}

@media (prefers-reduced-motion:reduce) {
  .aurora-card,.editorial-entry>a,.sunrise-card,.eco-card,.brutal-card>a { transition:none; }
}
