/* ============================================================
   Themes A — Art Deco · Bauhaus · Swiss · Memphis · Editorial · Minimalism
   ============================================================ */

/* ---------------- ART DECO ---------------- */
.s-deco {
  --bg: #0d0f12; --fg: #efe6cf; --muted: #b8ad90; --accent: #d4af37; --on-accent: #14110a;
  --surface: #12151a; --line: rgba(212, 175, 55, .55); --r: 0; --icon-sw: 1.3;
  --font: "Josefin Sans", "Futura", "Century Gothic", sans-serif;
  --display: "Poiret One", "Josefin Sans", sans-serif;
  background: radial-gradient(ellipse 80% 55% at 50% 0%, #17302f 0%, transparent 70%), #0d0f12;
}
.s-deco .sp-nav { padding-bottom: 14px; border-bottom: 1px solid var(--line); box-shadow: 0 4px 0 -3px var(--line); }
.s-deco .sp-logo { font-family: var(--display); font-weight: 400; font-size: 18px; letter-spacing: .32em; text-transform: uppercase; color: var(--accent); }
.s-deco .sp-mark { width: 14px; height: 14px; border: 1px solid var(--accent); border-radius: 0; transform: rotate(45deg); box-shadow: inset 0 0 0 3px var(--bg), inset 0 0 0 10px var(--accent); }
.s-deco .sp-links { font-size: 11px; letter-spacing: .26em; text-transform: uppercase; color: var(--muted); }
.s-deco .sp-hero { grid-template-columns: 1fr; justify-items: center; text-align: center; padding-block: 14px 6px; }
.s-deco .sp-copy { align-items: center; gap: 20px; }
.s-deco .sp-kicker { display: flex; align-items: center; gap: 14px; font-size: 11px; font-weight: 600; letter-spacing: .42em; text-transform: uppercase; color: var(--accent); }
.s-deco .sp-kicker::before, .s-deco .sp-kicker::after { content: ""; width: 46px; height: 5px; border-block: 1px solid var(--accent); }
.s-deco .sp-title { font-weight: 400; font-size: clamp(30px, 6.3cqi, 68px); line-height: 1.1; letter-spacing: .12em; text-transform: uppercase; color: #f4e7c2; text-shadow: 0 0 34px rgba(212, 175, 55, .28); }
.s-deco .t2 { color: var(--accent); }
.s-deco .sp-lede { margin-inline: auto; max-width: 44ch; font-weight: 300; letter-spacing: .02em; }
.s-deco .sp-actions { justify-content: center; gap: 16px; }
.s-deco .sp-btn { border-radius: 0; font-size: 12px; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; padding: 1.15em 2.1em; }
.s-deco .sp-btn--primary { background: linear-gradient(180deg, #ecd27a, #c9a23b 60%, #ad872a); color: #14110a; box-shadow: 0 0 0 1px #0d0f12, 0 0 0 2px var(--accent); }
.s-deco .sp-btn--primary:hover { filter: brightness(1.1); }
.s-deco .sp-btn--secondary { background: transparent; color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent), inset 0 0 0 4px var(--bg), inset 0 0 0 5px rgba(212, 175, 55, .45); }
.s-deco .sp-btn--nav { padding: .8em 1.4em; font-size: 10px; }
.s-deco .sp-art { position: absolute; inset: 0; width: auto; height: auto; aspect-ratio: auto; min-height: 0; z-index: 0; pointer-events: none; }
.s-deco .sp-art i:nth-child(1) {
  left: 50%; top: 46%; width: 980px; aspect-ratio: 1; transform: translate(-50%, -50%); border-radius: 50%;
  background: repeating-conic-gradient(from 0deg, rgba(212, 175, 55, .2) 0deg 1.4deg, transparent 1.4deg 9deg);
  -webkit-mask: radial-gradient(circle, #000 8%, transparent 50%); mask: radial-gradient(circle, #000 8%, transparent 50%);
}
.s-deco .sp-art i:nth-child(2), .s-deco .sp-art i:nth-child(3) {
  top: 6%; bottom: 6%; width: 28px; opacity: .65;
  background: repeating-linear-gradient(90deg, var(--accent) 0 1px, transparent 1px 6px);
  clip-path: polygon(0 14%, 34% 14%, 34% 7%, 67% 7%, 67% 0, 100% 0, 100% 100%, 0 100%);
}
.s-deco .sp-art i:nth-child(2) { left: 2%; }
.s-deco .sp-art i:nth-child(3) { right: 2%; transform: scaleX(-1); }
@container (max-width: 640px) { .s-deco .sp-art i:nth-child(n+2) { display: none; } }
.s-deco .sp-card { align-items: center; text-align: center; padding: 30px 22px; background: linear-gradient(180deg, #141820, #0f1216); border: 1px solid var(--line); outline: 1px solid rgba(212, 175, 55, .35); outline-offset: -7px; }
.s-deco .sp-card h3 { font-family: var(--display); font-weight: 400; font-size: 17px; letter-spacing: .22em; text-transform: uppercase; color: var(--accent); }
.s-deco .sp-icon { width: 38px; height: 38px; margin: 4px 0 12px; border: 1px solid var(--accent); border-radius: 0; background: transparent; color: var(--accent); transform: rotate(45deg); }
.s-deco .sp-icon svg { width: 19px; height: 19px; transform: rotate(-45deg); }
.s-deco .sp-panel { background: transparent; border-block: 1px solid var(--line); border-radius: 0; padding: 24px 4px; }
.s-deco .sp-label { font-size: 11px; font-weight: 400; letter-spacing: .28em; text-transform: uppercase; color: var(--accent); }
.s-deco .sp-input { background: transparent; border: 0; border-bottom: 1px solid var(--accent); border-radius: 0; padding: .6em 0; letter-spacing: .05em; }
.s-deco .sp-controls { font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.s-deco .sp-switch { background: transparent; border-radius: 0; box-shadow: inset 0 0 0 1px var(--accent); }
.s-deco .sp-switch::after { background: var(--muted); border-radius: 0; box-shadow: none; transform: rotate(45deg) scale(.66); }
.s-deco .is-on .sp-switch { background: rgba(212, 175, 55, .16); }
.s-deco .is-on .sp-switch::after { background: var(--accent); transform: translateX(16px) rotate(45deg) scale(.66); }
.s-deco .sp-bar { height: 3px; border-radius: 0; background: rgba(212, 175, 55, .2); }
.s-deco .sp-bar > span { background: var(--accent); }
.s-deco .sp-chips span { background: transparent; border: 1px solid var(--line); border-radius: 0; font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--accent); }

/* ---------------- BAUHAUS ---------------- */
.s-bauhaus {
  --bg: #f0ebe0; --fg: #141414; --muted: #3a3a3a; --accent: #d52b1e; --on-accent: #fff;
  --surface: #fff; --line: #141414; --r: 0; --icon-sw: 2.4;
  --font: "Jost", "Futura", "Century Gothic", sans-serif; --display: var(--font);
}
.s-bauhaus .sp-nav { padding-bottom: 16px; border-bottom: 6px solid #141414; }
.s-bauhaus .sp-logo { font-size: 23px; font-weight: 700; letter-spacing: -.02em; text-transform: lowercase; }
.s-bauhaus .sp-mark { width: 22px; height: 22px; border: 0; background: #d52b1e; box-shadow: 16px 0 0 -5px #1f4e9c; margin-right: 10px; }
.s-bauhaus .sp-links { font-size: 15px; font-weight: 500; text-transform: lowercase; }
.s-bauhaus .sp-kicker { padding: 6px 10px; background: #141414; color: #f0ebe0; font-size: 13px; font-weight: 500; letter-spacing: .02em; text-transform: lowercase; }
.s-bauhaus .sp-title { font-weight: 700; font-size: clamp(42px, 8.6cqi, 98px); line-height: .92; letter-spacing: -.045em; text-transform: lowercase; }
.s-bauhaus .t2 { color: #1f4e9c; }
.s-bauhaus .sp-lede { padding-left: 14px; border-left: 6px solid #f2c200; font-size: 17px; color: var(--muted); }
.s-bauhaus .sp-btn { border-radius: 0; font-size: 16px; font-weight: 500; text-transform: lowercase; padding: .85em 1.45em; }
.s-bauhaus .sp-btn--primary { background: #d52b1e; color: #fff; }
.s-bauhaus .sp-btn--primary:hover { background: #141414; }
.s-bauhaus .sp-btn--secondary { background: transparent; color: #141414; box-shadow: inset 0 0 0 3px #141414; }
.s-bauhaus .sp-btn--secondary:hover { background: #f2c200; }
.s-bauhaus .sp-art i { mix-blend-mode: multiply; }
.s-bauhaus .sp-art i:nth-child(1) { width: 62%; aspect-ratio: 1; right: 4%; top: 0; border-radius: 50%; background: #f2c200; }
.s-bauhaus .sp-art i:nth-child(2) { width: 40%; aspect-ratio: 1; left: 6%; bottom: 4%; background: #1f4e9c; }
.s-bauhaus .sp-art i:nth-child(3) { width: 44%; aspect-ratio: 1; right: 8%; bottom: 0; background: #d52b1e; clip-path: polygon(50% 0, 100% 100%, 0 100%); }
.s-bauhaus .sp-art i:nth-child(4) { left: 0; right: 8%; top: 47%; height: 7%; background: #141414; transform: rotate(-12deg); transform-origin: left center; }
.s-bauhaus .sp-art i:nth-child(5) { width: 12%; aspect-ratio: 1; left: 14%; top: 8%; border-radius: 50%; background: #141414; }
@container (max-width: 719px) { .s-bauhaus .sp-art { width: min(100%, 250px); } }
.s-bauhaus .sp-card { padding: 22px 20px; background: #fff; border-top: 14px solid var(--c); }
.s-bauhaus .sp-card:nth-child(1) { --c: #d52b1e; }
.s-bauhaus .sp-card:nth-child(2) { --c: #f2c200; }
.s-bauhaus .sp-card:nth-child(3) { --c: #1f4e9c; }
.s-bauhaus .sp-card h3 { font-size: 21px; font-weight: 700; letter-spacing: -.02em; text-transform: lowercase; }
.s-bauhaus .sp-card p { color: #333; }
.s-bauhaus .sp-icon { border-radius: 50%; background: var(--c); color: #fff; }
.s-bauhaus .sp-card:nth-child(2) .sp-icon { border-radius: 0; color: #141414; }
.s-bauhaus .sp-card:nth-child(3) .sp-icon { border-radius: 0; clip-path: polygon(50% 0, 100% 100%, 0 100%); place-items: end center; padding-bottom: 5px; }
.s-bauhaus .sp-card:nth-child(3) .sp-icon svg { width: 15px; height: 15px; }
.s-bauhaus .sp-panel { --line: #f0ebe0; --muted: #cfc8b8; background: #141414; color: #f0ebe0; }
.s-bauhaus .sp-label { font-size: 16px; font-weight: 500; text-transform: lowercase; }
.s-bauhaus .sp-input { border: 0; border-radius: 0; background: #f0ebe0; color: #141414; }
.s-bauhaus .sp-panel .sp-btn--primary { background: #f2c200; color: #141414; }
.s-bauhaus .sp-controls { text-transform: lowercase; font-size: 14px; }
.s-bauhaus .sp-switch { border-radius: 0; background: #555; }
.s-bauhaus .sp-switch::after { background: #f0ebe0; }
.s-bauhaus .is-on .sp-switch { background: #d52b1e; }
.s-bauhaus .sp-bar { height: 10px; border-radius: 0; background: #555; }
.s-bauhaus .sp-bar > span { background: #f2c200; }
.s-bauhaus .sp-chips span { background: transparent; border: 2px solid #f0ebe0; border-radius: 0; text-transform: lowercase; font-size: 13px; }
.s-bauhaus .sp-chips span:nth-child(1) { border-radius: 99px; }

/* ---------------- SWISS / INTERNATIONAL ---------------- */
.s-swiss {
  --bg: #ffffff; --fg: #111; --muted: #444; --accent: #e30613; --on-accent: #fff;
  --surface: #fff; --line: #111; --r: 0; --icon-sw: 2;
  --font: "Helvetica Neue", Helvetica, "Inter Tight", Arial, sans-serif; --display: var(--font);
}
.s-swiss .sp-bg i:nth-child(1) {
  display: block; inset: 0 var(--pad);
  background: repeating-linear-gradient(90deg, rgba(227, 6, 19, .1) 0 1px, transparent 1px calc(100% / 12));
}
.s-swiss .sp-nav { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: start; padding-top: 10px; border-top: 4px solid #111; font-size: 13px; }
.s-swiss .sp-logo { grid-column: 1 / 5; margin: 0; font-size: 15px; font-weight: 700; letter-spacing: -.01em; }
.s-swiss .sp-mark { width: 14px; height: 14px; border: 0; border-radius: 0; background: var(--accent); }
.s-swiss .sp-links { grid-column: 5 / 10; gap: 18px; font-weight: 500; }
.s-swiss .sp-btn--nav { grid-column: 10 / 13; justify-self: end; }
.s-swiss .sp-hero { grid-template-columns: 1fr; gap: 0; }
.s-swiss .sp-copy { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 18px 0; }
.s-swiss .sp-kicker { grid-column: 1 / -1; font-size: 13px; font-weight: 700; letter-spacing: 0; color: var(--accent); }
.s-swiss .sp-title { grid-column: 1 / -1; font-size: clamp(48px, 12.6cqi, 152px); font-weight: 700; line-height: .86; letter-spacing: -.055em; }
.s-swiss .sp-lede { grid-column: 5 / 11; max-width: none; color: #111; font-size: 17px; line-height: 1.4; }
.s-swiss .sp-actions { grid-column: 5 / -1; margin-top: 0; }
@container (max-width: 719px) { .s-swiss .sp-lede, .s-swiss .sp-actions { grid-column: 1 / -1; } }
.s-swiss .sp-art { position: absolute; right: 0; top: -8px; width: 34%; height: auto; aspect-ratio: 1; min-height: 0; z-index: 0; }
.s-swiss .sp-art i:nth-child(1) { inset: 0; border-radius: 50%; background: var(--accent); }
.s-swiss .sp-btn { border-radius: 0; font-size: 15px; font-weight: 700; padding: .85em 1.3em; }
.s-swiss .sp-btn--primary { background: #111; color: #fff; }
.s-swiss .sp-btn--primary:hover { background: var(--accent); }
.s-swiss .sp-btn--secondary { background: transparent; box-shadow: none; padding-inline: 0; text-decoration: underline 2px; text-underline-offset: 5px; }
.s-swiss .sp-hero .sp-btn--secondary::after { content: "\2192"; display: inline-block; margin-left: 8px; }
.s-swiss .sp-cards { gap: 0 24px; counter-reset: c; }
.s-swiss .sp-card { padding: 12px 0 0; background: transparent; border-top: 2px solid #111; }
.s-swiss .sp-card::before { counter-increment: c; content: "0" counter(c); font-size: 13px; font-weight: 700; color: var(--accent); }
.s-swiss .sp-icon { display: none; }
.s-swiss .sp-card h3 { font-size: 22px; font-weight: 700; letter-spacing: -.02em; }
.s-swiss .sp-card p { color: #111; }
.s-swiss .sp-panel { padding: 14px 0 0; background: transparent; border-top: 2px solid #111; }
.s-swiss .sp-label { font-weight: 700; }
.s-swiss .sp-input { padding: .6em 0; border: 0; border-bottom: 2px solid #111; border-radius: 0; background: transparent; }
.s-swiss .sp-switch { border-radius: 0; background: #ddd; }
.s-swiss .sp-switch::after { border-radius: 0; background: #111; box-shadow: none; }
.s-swiss .is-on .sp-switch { background: var(--accent); }
.s-swiss .is-on .sp-switch::after { background: #fff; }
.s-swiss .sp-bar { height: 10px; border-radius: 0; background: #eee; }
.s-swiss .sp-bar > span { background: #111; }
.s-swiss .sp-chips span { border: 0; border-radius: 0; background: #111; color: #fff; font-weight: 700; }
.s-swiss .sp-chips span:first-child { background: var(--accent); }

/* ---------------- MEMPHIS ---------------- */
.s-memphis {
  --bg: #fff3de; --fg: #161616; --muted: #333; --accent: #ff5c8a; --on-accent: #161616;
  --surface: #fff; --line: #161616; --r: 6px; --icon-sw: 2.5;
  --font: "Rubik", "Avenir Next", sans-serif; --display: var(--font);
  --squiggle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 104 20'%3E%3Cpath d='M2 10 Q 12 0 22 10 T 42 10 T 62 10 T 82 10 T 102 10' fill='none' stroke='%23161616' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E");
}
.s-memphis .sp-bg i { display: block; }
.s-memphis .sp-bg i:nth-child(1) { top: 20px; right: 24%; width: 140px; height: 28px; background: var(--squiggle) center / contain no-repeat; transform: rotate(-8deg); }
.s-memphis .sp-bg i:nth-child(2) { left: -20px; bottom: 24%; width: 170px; height: 130px; background: radial-gradient(#161616 2px, transparent 2.5px) 0 0 / 14px 14px; opacity: .75; }
.s-memphis .sp-bg i:nth-child(3) { top: 44%; right: 2%; width: 70px; height: 62px; background: #22c1c3; clip-path: polygon(50% 0, 100% 100%, 0 100%); transform: rotate(14deg); }
.s-memphis .sp-bg i:nth-child(4) { bottom: 7%; right: 32%; width: 46px; height: 46px; border-radius: 50%; background: #ffd23f; box-shadow: inset 0 0 0 4px #161616; }
.s-memphis .sp-bg i:nth-child(5) {
  top: 53%; left: 38%; width: 126px; height: 14px;
  background: linear-gradient(135deg, #9b5de5 25%, transparent 25%) -7px 0 / 14px 14px, linear-gradient(225deg, #9b5de5 25%, transparent 25%) -7px 0 / 14px 14px, linear-gradient(315deg, #9b5de5 25%, transparent 25%) 0 0 / 14px 14px, linear-gradient(45deg, #9b5de5 25%, transparent 25%) 0 0 / 14px 14px;
}
.s-memphis .sp-logo { font-size: 23px; font-weight: 900; letter-spacing: -.02em; }
.s-memphis .sp-mark { width: 22px; height: 22px; border: 2px solid #161616; border-radius: 0; background: repeating-linear-gradient(45deg, #161616 0 3px, #ffd23f 3px 6px); transform: rotate(8deg); }
.s-memphis .sp-links a { font-weight: 600; }
.s-memphis .sp-kicker { padding: 6px 12px; border: 2px solid #161616; border-radius: 99px; background: #22c1c3; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; transform: rotate(-3deg); }
.s-memphis .sp-title { font-weight: 900; font-size: clamp(38px, 7.8cqi, 86px); line-height: 1; letter-spacing: -.03em; }
.s-memphis .t1 { text-shadow: 4px 4px 0 #ff5c8a; }
.s-memphis .t2 { color: #9b5de5; text-shadow: 4px 4px 0 #ffd23f; }
.s-memphis .sp-lede { color: #2b2b2b; font-size: 17px; }
.s-memphis .sp-btn { border: 3px solid #161616; border-radius: 99px; font-weight: 800; padding: .75em 1.4em; }
.s-memphis .sp-btn--primary { background: #ffd23f; color: #161616; box-shadow: 5px 5px 0 #ff5c8a; }
.s-memphis .sp-btn--secondary { background: #fff; color: #161616; box-shadow: 5px 5px 0 #22c1c3; }
.s-memphis .sp-btn:hover { transform: rotate(-3deg) scale(1.04); }
.s-memphis .sp-art i:nth-child(1) { width: 48%; aspect-ratio: 1; left: 8%; top: 8%; border-radius: 50%; border: 3px solid #161616; background: repeating-linear-gradient(0deg, #161616 0 3px, transparent 3px 10px) right / 50% 100% no-repeat, #ff5c8a; }
.s-memphis .sp-art i:nth-child(2) { width: 40%; height: 34%; right: 6%; top: 6%; border: 3px solid #161616; background: radial-gradient(#161616 2px, transparent 2.5px) 0 0 / 12px 12px, #22c1c3; transform: rotate(12deg); }
.s-memphis .sp-art i:nth-child(3) { width: 36%; aspect-ratio: 1; right: 14%; bottom: 2%; background: #ffd23f; clip-path: polygon(50% 0, 100% 100%, 0 100%); }
.s-memphis .sp-art i:nth-child(4) { width: 58%; height: 16%; left: 0; bottom: 8%; background: var(--squiggle) center / contain no-repeat; transform: rotate(-6deg); }
.s-memphis .sp-art i:nth-child(5) { width: 26%; aspect-ratio: 2 / 1; left: 44%; top: 46%; border-radius: 999px 999px 0 0; background: #9b5de5; transform: rotate(-20deg); }
.s-memphis .sp-card { padding: 22px; border: 3px solid #161616; }
.s-memphis .sp-card::after { content: ""; position: absolute; inset: 10px -10px -10px 10px; z-index: -1; border-radius: 6px; background: repeating-linear-gradient(45deg, #161616 0 2px, transparent 2px 7px); }
.s-memphis .sp-card:nth-child(1) { background: #ffb8cb; }
.s-memphis .sp-card:nth-child(2) { background: #a3e9e7; }
.s-memphis .sp-card:nth-child(3) { background: #ffe38a; }
.s-memphis .sp-card h3 { font-size: 20px; font-weight: 800; }
.s-memphis .sp-card p { color: #262626; }
.s-memphis .sp-icon { border: 3px solid #161616; border-radius: 50%; background: #fff; color: #161616; }
.s-memphis .sp-panel { border: 3px solid #161616; background: radial-gradient(rgba(22, 22, 22, .22) 1.5px, transparent 2px) 0 0 / 14px 14px, #cdb8ff; }
.s-memphis .sp-label { font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.s-memphis .sp-input { border: 3px solid #161616; border-radius: 99px; background: #fff; }
.s-memphis .sp-panel .sp-btn--primary { box-shadow: 4px 4px 0 #161616; }
.s-memphis .sp-controls { font-weight: 600; }
.s-memphis .sp-switch { width: 46px; height: 26px; border: 3px solid #161616; background: #fff; }
.s-memphis .sp-switch::after { top: 2px; left: 2px; width: 16px; height: 16px; border: 2px solid #161616; background: #ff5c8a; box-shadow: none; }
.s-memphis .is-on .sp-switch { background: #22c1c3; }
.s-memphis .is-on .sp-switch::after { transform: translateX(20px); background: #ffd23f; }
.s-memphis .sp-bar { height: 16px; border: 3px solid #161616; background: #fff; }
.s-memphis .sp-bar > span { background: repeating-linear-gradient(45deg, #ff5c8a 0 6px, #ffd23f 6px 12px); border-radius: 0; }
.s-memphis .sp-chips span { border: 2px solid #161616; font-weight: 700; }
.s-memphis .sp-chips span:nth-child(1) { background: #ffd23f; }
.s-memphis .sp-chips span:nth-child(2) { background: #22c1c3; }
.s-memphis .sp-chips span:nth-child(3) { background: #ff5c8a; }

/* ---------------- EDITORIAL / MAGAZINE ---------------- */
.s-editorial {
  --bg: #f7f3ea; --fg: #141210; --muted: #4a443d; --accent: #b3261e; --on-accent: #fff;
  --surface: transparent; --line: #141210; --r: 0; --icon-sw: 1.5;
  --font: Georgia, "Times New Roman", serif; --display: "Playfair Display", Georgia, serif;
}
.s-editorial .sp-nav { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; row-gap: 6px; padding-bottom: 12px; border-bottom: 4px double #141210; }
.s-editorial .sp-links { grid-column: 1; grid-row: 1; font-size: 15px; letter-spacing: .08em; font-variant: small-caps; text-transform: lowercase; }
.s-editorial .sp-logo { grid-column: 2; grid-row: 1; margin: 0; justify-self: center; font-size: clamp(28px, 4.4cqi, 46px); font-style: italic; font-weight: 900; letter-spacing: -.02em; }
.s-editorial .sp-mark { display: none; }
.s-editorial .sp-btn--nav { grid-column: 3; grid-row: 1; justify-self: end; }
.s-editorial .sp-nav::after { content: "Vol. II \00B7  No. 14 \00B7  The Spring Issue"; grid-column: 1 / -1; grid-row: 2; justify-self: center; font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--muted); }
.s-editorial .sp-kicker { padding-bottom: 2px; border-bottom: 1px solid var(--accent); color: var(--accent); font-size: 16px; font-weight: 400; letter-spacing: .12em; font-variant: small-caps; text-transform: lowercase; }
.s-editorial .sp-title { font-weight: 900; font-size: clamp(40px, 7.6cqi, 88px); line-height: .96; letter-spacing: -.025em; }
.s-editorial .t2 { font-style: italic; font-weight: 400; }
.s-editorial .sp-lede { max-width: 44ch; color: #2a2622; font-size: 17px; line-height: 1.6; text-align: justify; hyphens: auto; }
.s-editorial .sp-lede::first-letter { float: left; padding: 6px 8px 0 0; font-family: var(--display); font-size: 3.7em; font-weight: 900; line-height: .8; color: var(--accent); }
.s-editorial .sp-lede::after { content: "By the Orbit editors"; display: block; margin-top: 10px; font-size: 14px; font-style: italic; color: var(--muted); text-align: left; }
.s-editorial .sp-btn { border-radius: 0; font-weight: 400; font-size: 15px; }
.s-editorial .sp-btn--primary { background: #141210; color: #f7f3ea; padding: .8em 1.6em; letter-spacing: .14em; font-variant: small-caps; text-transform: lowercase; }
.s-editorial .sp-btn--primary:hover { background: var(--accent); }
.s-editorial .sp-btn--secondary { padding-inline: 0; background: transparent; box-shadow: none; font-style: italic; text-decoration: underline 1px; text-underline-offset: 4px; }
.s-editorial .sp-art { aspect-ratio: 4 / 5; max-height: 430px; outline: 1px solid #141210; outline-offset: 6px; overflow: hidden; background: linear-gradient(180deg, #ddd6c8 0%, #c2b9a8 58%); filter: grayscale(1) contrast(1.05); }
.s-editorial .sp-art i:nth-child(1) { width: 20%; aspect-ratio: 1; left: 60%; top: 16%; border-radius: 50%; background: #f6f1e6; }
.s-editorial .sp-art i:nth-child(2) { left: -20%; right: 28%; bottom: 16%; height: 42%; border-radius: 50% 50% 0 0; background: #5b5347; }
.s-editorial .sp-art i:nth-child(3) { left: 24%; right: -26%; bottom: 0; height: 36%; border-radius: 50% 50% 0 0; background: #3b352e; }
.s-editorial .sp-art i:nth-child(4) { inset: 0; background: var(--noise); opacity: .5; mix-blend-mode: multiply; }
.s-editorial .sp-cards { gap: 0; padding-top: 16px; border-top: 1px solid #141210; counter-reset: c; }
.s-editorial .sp-card { padding: 0 20px; background: transparent; border-left: 1px solid rgba(20, 18, 16, .35); }
.s-editorial .sp-card:first-child { padding-left: 0; border-left: 0; }
@container (max-width: 559px) { .s-editorial .sp-card, .s-editorial .sp-card:first-child { padding: 14px 0; border-left: 0; border-top: 1px solid rgba(20, 18, 16, .3); } }
.s-editorial .sp-card::before { counter-increment: c; content: counter(c, upper-roman) "."; font-family: var(--display); font-size: 22px; font-style: italic; color: var(--accent); }
.s-editorial .sp-icon { display: none; }
.s-editorial .sp-card h3 { font-size: 22px; font-weight: 700; }
.s-editorial .sp-card p { color: #2a2622; font-size: 15px; line-height: 1.55; }
.s-editorial .sp-panel { padding: 18px 0; background: transparent; border-top: 4px double #141210; border-bottom: 1px solid #141210; }
.s-editorial .sp-label { font-family: var(--display); font-size: 21px; font-style: italic; font-weight: 400; }
.s-editorial .sp-input { padding: .6em 0; border: 0; border-bottom: 1px solid #141210; border-radius: 0; background: transparent; font-style: italic; }
.s-editorial .sp-controls { font-size: 14px; }
.s-editorial .sp-switch { background: transparent; box-shadow: inset 0 0 0 1px #141210; }
.s-editorial .sp-switch::after { background: #141210; box-shadow: none; }
.s-editorial .is-on .sp-switch { background: var(--accent); box-shadow: none; }
.s-editorial .is-on .sp-switch::after { background: #f7f3ea; }
.s-editorial .sp-bar { height: 2px; border-radius: 0; background: rgba(20, 18, 16, .2); }
.s-editorial .sp-bar > span { background: #141210; }
.s-editorial .sp-chips { gap: 0; }
.s-editorial .sp-chips span { padding: 0 4px; border: 0; border-radius: 0; background: transparent; font-size: 15px; letter-spacing: .1em; font-variant: small-caps; text-transform: lowercase; }
.s-editorial .sp-chips span + span::before { content: "\00B7"; margin-right: 8px; }

/* ---------------- MINIMALISM ---------------- */
.s-minimal {
  --bg: #fafaf8; --fg: #1a1a1a; --muted: #7a7a76; --accent: #1a1a1a; --on-accent: #fafaf8;
  --surface: transparent; --line: #e3e1dc; --r: 0; --icon-sw: 1.25;
  --font: "Inter", system-ui, sans-serif; --display: var(--font);
  --pad: clamp(22px, 6cqi, 76px); --gap: clamp(34px, 7cqi, 84px);
}
.s-minimal .sp-logo { font-size: 15px; font-weight: 500; letter-spacing: .02em; }
.s-minimal .sp-mark { width: 9px; height: 9px; border: 0; border-radius: 50%; background: #1a1a1a; }
.s-minimal .sp-links { gap: 30px; font-size: 13px; color: var(--muted); }
.s-minimal .sp-kicker { font-size: 11px; font-weight: 400; letter-spacing: .22em; text-transform: uppercase; color: var(--muted); }
.s-minimal .sp-title { font-weight: 300; font-size: clamp(32px, 5.4cqi, 62px); line-height: 1.08; letter-spacing: -.035em; }
.s-minimal .t2 { color: var(--muted); }
.s-minimal .sp-lede { max-width: 38ch; font-size: 15px; line-height: 1.75; }
.s-minimal .sp-btn { border-radius: 0; font-size: 13px; font-weight: 500; letter-spacing: .02em; padding: 1em 1.7em; }
.s-minimal .sp-btn--primary { background: #1a1a1a; color: #fafaf8; }
.s-minimal .sp-btn--secondary { padding-inline: .4em; background: transparent; box-shadow: none; color: var(--muted); }
.s-minimal .sp-btn--secondary:hover { color: #1a1a1a; }
.s-minimal .sp-btn--nav { padding-inline: 0; }
.s-minimal .sp-art i:nth-child(1) { z-index: 1; width: 13%; aspect-ratio: 1; left: 50%; top: 50%; transform: translate(-50%, -50%); border-radius: 50%; background: #1a1a1a; }
.s-minimal .sp-art i:nth-child(2) { left: 8%; right: 8%; top: 50%; height: 1px; background: #d3d0c9; }
.s-minimal .sp-cards { gap: 0 48px; }
.s-minimal .sp-card { padding: 22px 0 0; background: transparent; border-top: 1px solid var(--line); }
.s-minimal .sp-icon { width: auto; height: auto; place-items: start; margin-bottom: 10px; background: transparent; color: #1a1a1a; }
.s-minimal .sp-icon svg { width: 20px; height: 20px; }
.s-minimal .sp-card h3 { font-size: 15px; font-weight: 500; }
.s-minimal .sp-card p { font-size: 13.5px; line-height: 1.7; }
.s-minimal .sp-panel { padding: 26px 0 0; background: transparent; border-top: 1px solid var(--line); }
.s-minimal .sp-label { font-size: 11px; font-weight: 400; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.s-minimal .sp-input { padding: .8em 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; font-size: 14px; }
.s-minimal .sp-controls { font-size: 12px; color: var(--muted); }
.s-minimal .sp-switch { width: 34px; height: 18px; background: var(--line); }
.s-minimal .sp-switch::after { top: 2px; left: 2px; width: 14px; height: 14px; box-shadow: none; }
.s-minimal .is-on .sp-switch::after { transform: translateX(16px); }
.s-minimal .sp-bar { height: 1px; border-radius: 0; background: var(--line); }
.s-minimal .sp-chips span { border: 1px solid var(--line); border-radius: 0; background: transparent; color: var(--muted); }
