/* =============================================================================
   TectSoft — case-study.css
   -----------------------------------------------------------------------------
   Long-form case-study pages (case-study-*.html). Each story scrolls as
   chapters that alternate night (Ground) and day (White / Paper) with the
   story's mood, under a sticky chapter rail. Everything is scoped to .cs so
   the site's own .hero / .wrap / .btn rules stay untouched. Brand v1.2: one
   blue per view; the signal gradient appears once per page, on the climax.
   ========================================================================== */

.cs{
  --paper:#F4F7F9; --white:#FFFFFF;
  --ink:#0C1B2A; --ink-body:#2A3644; --steel-ink:#5E6670;
  --head-d:#F2F4F7; --body-d:#A7AEB8;
  --rule-l:rgba(12,27,42,.10); --rule-d:rgba(255,255,255,.10);
  --card-d:rgba(255,255,255,.03); --card-d-line:rgba(255,255,255,.08);
  --signal:linear-gradient(90deg,#2CF8ED,#0468FF);
  --navh:88px;
  font:400 18px/1.7 var(--ui);letter-spacing:0;color:var(--ink-body);
}
@media (max-width:900px){.cs{--navh:74px}}
html:has(.cs){scroll-padding-top:calc(var(--navh,88px) + 64px)}

.cs h1,.cs h2,.cs h3{font-family:var(--display);font-weight:200;letter-spacing:-.03em;line-height:1.08;text-wrap:balance}
.cs h1 b,.cs h2 b,.cs h3 b{font-weight:700}
.cs p{margin:0}
.cs a{color:inherit}
.cs ul,.cs ol{list-style:none}

/* ── Chapter rail ── */
.cs .cs-rail{position:sticky;top:var(--navh);z-index:20;background:rgba(2,8,20,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--rule-d)}
.cs .cs-rail ol{margin:0;padding:10px max(16px,5vw);display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.cs .cs-rail ol::-webkit-scrollbar{display:none}
.cs .cs-rail a{display:block;white-space:nowrap;font:500 12px/1.4 var(--ui);color:var(--body-d);padding:7px 11px;border-radius:3px}
.cs .cs-rail a span{font-weight:600;margin-right:6px;opacity:.7}
.cs .cs-rail a:hover{color:var(--head-d)}
.cs .cs-rail a[aria-current="true"]{background:var(--head-d);color:var(--ink)}

/* ── Scenes ── */
.cs .scene{position:relative;overflow:hidden;padding-block:clamp(64px,10vw,128px);padding-inline:max(16px,7vw)}
.cs .night{background:var(--ground);color:var(--body-d)}
.cs .day{background:var(--white);color:var(--ink-body)}
.cs .paper{background:var(--paper);color:var(--ink-body)}
.cs .wrap{max-width:1180px;margin:0 auto;padding:0;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(36px,6vw,88px);align-items:center}
.cs .wrap.solo{grid-template-columns:minmax(0,1fr);max-width:760px}
.cs .wrap.flip > .text{order:2}
.cs .text{min-width:0;display:grid;gap:20px}
.cs .night h1,.cs .night h2{color:var(--head-d)}
.cs .day h1,.cs .day h2,.cs .paper h1,.cs .paper h2{color:var(--ink)}
.cs .scene h2{font-size:clamp(34px,4.4vw,58px)}
.cs .label{display:flex;align-items:center;gap:14px;font:600 11px/1.4 var(--ui);letter-spacing:.14em;text-transform:uppercase}
.cs .night .label{color:var(--steel)} .cs .day .label,.cs .paper .label{color:var(--steel-ink)}
.cs .stamp{display:inline-flex;align-items:flex-end;gap:10px;font:600 11px/1.4 var(--ui);letter-spacing:.12em;text-transform:uppercase}
.cs .stamp:before{content:"";width:44px;height:9px;border-bottom:1px solid currentColor;border-right:1px solid currentColor;opacity:.7}
.cs .night .stamp{color:var(--steel)} .cs .day .stamp,.cs .paper .stamp{color:var(--steel-ink)}
.cs .text p{max-width:60ch}
.cs .beat{font:200 clamp(26px,3vw,38px)/1.2 var(--display);letter-spacing:-.02em}
.cs .night .beat{color:var(--head-d)} .cs .day .beat,.cs .paper .beat{color:var(--ink)}
.cs .beat b{font-weight:700}
.cs .whisper{font-style:italic}
.cs .night .whisper{color:var(--head-d)} .cs .day .whisper,.cs .paper .whisper{color:var(--ink)}
.cs .cliff{padding-top:22px;border-top:1px solid var(--rule-l);font:500 17px/1.6 var(--ui);font-style:italic}
.cs .night .cliff{border-color:var(--rule-d);color:var(--head-d)} .cs .day .cliff,.cs .paper .cliff{color:var(--ink)}
.cs .blue-d{color:var(--light-navy)} .cs .blue-l{color:var(--navy)}
.cs .tag{position:absolute;top:14px;right:16px;font:600 10px/1.4 var(--ui);letter-spacing:.14em;text-transform:uppercase}
.cs .night .tag{color:var(--steel)} .cs .day .tag,.cs .paper .tag{color:var(--steel-ink)}
.cs .visual{position:relative;min-width:0}
.cs .vcap{margin-top:14px;font:600 10px/1.5 var(--ui);letter-spacing:.14em;text-transform:uppercase;text-align:center}
.cs .night .vcap{color:var(--steel)} .cs .day .vcap,.cs .paper .vcap{color:var(--steel-ink)}

/* ── Hero ── */
.cs .cs-hero{background:var(--ground);color:var(--body-d);position:relative;overflow:hidden;padding-block:calc(var(--navh) + clamp(48px,7vw,96px)) clamp(72px,10vw,128px);padding-inline:max(16px,7vw)}
.cs .cs-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(65,176,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(65,176,255,.08) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(180deg,#000,transparent 90%);-webkit-mask-image:linear-gradient(180deg,#000,transparent 90%);pointer-events:none}
.cs .cs-hero:after{content:"";position:absolute;right:-12vw;top:-18vw;width:60vw;height:60vw;max-width:900px;max-height:900px;background:radial-gradient(closest-side,rgba(44,248,237,.14),rgba(4,104,255,.09) 45%,transparent 75%);pointer-events:none}
.cs .cs-hero .wrap{position:relative;z-index:1}
.cs .cs-hero h1{font-size:clamp(38px,4.6vw,68px);color:var(--head-d)}
.cs .cs-hero h1 b{display:block}
.cs .cs-hero .lede{font-size:19px;max-width:54ch}
.cs .crumb{font:500 13px/1.4 var(--ui);color:var(--steel)}
.cs .crumb a{color:var(--body-d);text-decoration:underline;text-underline-offset:3px}
.cs .crumb a:hover{color:var(--head-d)}

/* ── Device frames ── */
.cs .device{width:min(260px,62vw);margin:0 auto;border-radius:38px;padding:10px;background:#0b1520;border:1px solid var(--card-d-line);box-shadow:0 40px 80px rgba(0,0,0,.45)}
.cs .device img{display:block;width:100%;height:auto;border-radius:29px}
.cs .devices{display:flex;justify-content:center;gap:clamp(12px,3vw,28px);align-items:flex-start}
.cs .devices .device{width:min(220px,40vw)}
.cs .devices .device + .device{margin-top:48px}
.cs .browser{border-radius:10px;overflow:hidden;border:1px solid var(--card-d-line);box-shadow:0 40px 80px rgba(0,0,0,.45);background:#0b1520}
.cs .browser .bar{display:flex;gap:6px;padding:10px 12px;border-bottom:1px solid var(--card-d-line)}
.cs .browser .bar i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.18)}
.cs .browser img{display:block;width:100%;height:auto}
.cs .day .browser,.cs .paper .browser{border-color:var(--rule-l);box-shadow:0 30px 60px rgba(12,27,42,.12)}

/* ── FollowBuddy scenes ── */
.cs .lock{max-width:380px;margin:0 auto;display:grid;gap:10px}
.cs .notif{display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:center;padding:13px 15px;border-radius:16px;background:rgba(255,255,255,.07);border:1px solid var(--card-d-line);color:var(--head-d);line-height:1.4}
.cs .notif:nth-child(2){opacity:.78}.cs .notif:nth-child(3){opacity:.56}.cs .notif:nth-child(4){opacity:.36}
.cs .notif .ico{width:38px;height:38px;border-radius:9px;background:rgba(255,255,255,.08);display:grid;place-items:center;font:700 13px var(--display);color:var(--head-d)}
.cs .notif strong{display:block;font:600 14px/1.3 var(--ui)}
.cs .notif span{font-size:13px;color:var(--body-d)}
.cs .notif time{font-size:12px;color:var(--steel);align-self:start}
.cs .kaching{font:700 clamp(48px,6.5vw,104px)/1 var(--display);letter-spacing:-.04em;text-align:center;margin-bottom:28px;white-space:nowrap}

.cs .mail{background:var(--white);border:1px solid var(--rule-l);border-radius:10px;box-shadow:0 30px 60px rgba(12,27,42,.10);overflow:hidden;max-width:470px;margin:0 auto;position:relative}
.cs .mail-head{padding:16px 20px;border-bottom:1px solid var(--rule-l);display:grid;grid-template-columns:1fr auto;gap:4px 12px;font-size:13px;line-height:1.5;color:var(--steel-ink)}
.cs .mail-head strong{color:var(--ink);font-weight:600}
.cs .mail-body{padding:22px 20px 26px;font:400 19px/1.5 var(--ui);color:var(--ink)}
.cs .mail-stack{position:relative;isolation:isolate}
.cs .mail-stack .ghost{position:absolute;inset:0;transform:translate(14px,14px);background:var(--paper);border:1px solid var(--rule-l);border-radius:10px;z-index:-1}
.cs .mail-stack .ghost.g2{transform:translate(28px,28px);opacity:.6}
.cs .counts{display:flex;gap:28px;justify-content:center;margin-top:52px;flex-wrap:wrap}
.cs .count{text-align:center}
.cs .count b{display:block;font:700 clamp(40px,5vw,60px)/1 var(--display);letter-spacing:-.03em;color:var(--ink)}
.cs .count b.blue-l{color:var(--navy)}
.cs .count span{font:600 11px/1.6 var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--steel-ink)}

.cs .reviews{display:grid;gap:14px;max-width:440px;margin:0 auto}
.cs .review{background:var(--card-d);border:1px solid var(--card-d-line);border-radius:8px;padding:18px 20px;line-height:1.5}
.cs .review .stars{letter-spacing:3px;font-size:16px;color:var(--steel)}
.cs .review .stars b{color:var(--head-d);font-weight:400}
.cs .review p{color:var(--head-d);font:600 17px/1.4 var(--ui);margin-top:6px}
.cs .review span{font-size:12px;color:var(--steel)}
.cs .tick{font:700 clamp(60px,9vw,120px)/1 var(--display);letter-spacing:-.05em;text-align:right;margin-top:24px}

.cs .room .whiteboard{font:200 clamp(30px,4.2vw,54px)/1.15 var(--display);letter-spacing:-.025em;color:var(--ink);padding:36px 0;border-block:1px solid var(--rule-l)}
.cs .room .doubt{font:700 clamp(30px,4.2vw,54px)/1.15 var(--display);letter-spacing:-.03em;color:var(--ink)}

.cs .qs{display:grid;gap:14px}
.cs .q{background:var(--card-d);border:1px solid var(--card-d-line);border-radius:8px;padding:20px 22px;color:var(--head-d);font:500 18px/1.45 var(--ui)}
.cs .q small{display:block;font:600 10px/1.4 var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--steel);margin-bottom:8px}
.cs .q.reply{border-color:rgba(255,255,255,.28)}
.cs .q.reply small{color:var(--head-d)}

/* ── Shared: before/after choice ── */
.cs .choice{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cs .side{border:1px solid var(--rule-l);border-radius:8px;padding:24px;background:var(--white);min-width:0}
.cs .side h3{font-size:24px;color:var(--ink);margin-bottom:16px}
.cs .side ul{margin:0;padding:0;display:grid;gap:10px;font-size:15px;line-height:1.5}
.cs .side li{display:flex;gap:10px;align-items:baseline}
.cs .side li:before{content:"";flex:0 0 14px;height:2px;background:var(--steel);transform:translateY(-4px)}
.cs .side.lose li{text-decoration:line-through;text-decoration-color:var(--steel);color:var(--steel-ink)}
.cs .side.keep{border-color:var(--ink)}
.cs .side.keep li{color:var(--ink)}
.cs .night .side{background:var(--card-d);border-color:var(--card-d-line)}
.cs .night .side h3,.cs .night .side.keep li{color:var(--head-d)}
.cs .night .side.lose li{color:var(--body-d)}
.cs .night .side.keep{border-color:rgba(255,255,255,.32)}

/* ── FollowBuddy: the machine ── */
.cs .machine{display:grid;gap:18px}
.cs .stores{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center}
.cs .store{border:1px solid var(--rule-l);border-radius:8px;padding:18px;background:var(--white);text-align:center;line-height:1.5}
.cs .store b{display:block;font:700 18px var(--display);color:var(--ink)}
.cs .store span{font-size:13px;color:var(--steel-ink)}
.cs .apart{font:600 10px/1.4 var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--steel-ink);text-align:center;border-top:1px dashed var(--steel);padding-top:6px;width:84px}
.cs .arrow{text-align:center;font:200 28px/1 var(--display);color:var(--steel-ink)}
.cs .one{border:1.5px solid var(--navy);border-radius:8px;padding:20px;text-align:center;background:var(--white);line-height:1.5}
.cs .one b{display:block;font:700 20px var(--display);color:var(--navy)}
.cs .one span{font-size:14px;color:var(--ink-body)}
.cs .verdict{font:700 clamp(40px,6vw,76px)/1 var(--display);letter-spacing:-.04em;color:var(--ink)}

/* ── The climax: the page's one signal gradient ── */
.cs .slogan{font:700 clamp(38px,6vw,82px)/1.02 var(--display);letter-spacing:-.04em;background:var(--signal);-webkit-background-clip:text;background-clip:text;color:transparent;margin:18px 0}
.cs .platforms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:6px}
.cs .plat{background:var(--card-d);border:1px solid var(--card-d-line);border-radius:8px;padding:18px 14px;text-align:center;color:var(--head-d);line-height:1.5}
.cs .plat b{display:block;font:700 17px var(--display)}
.cs .plat span{font-size:12px;color:var(--body-d)}
.cs .door{margin-top:20px;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;padding:20px 22px;border:1px solid var(--card-d-line);border-radius:8px;background:var(--card-d)}
.cs .door b{font:700 34px var(--display);color:var(--head-d);letter-spacing:-.03em}
.cs .door span{color:var(--body-d);font-size:15px;line-height:1.5}

.cs .hush{text-align:center;display:grid;gap:26px;justify-items:center}
.cs .hush p{max-width:42ch}
.cs .hush .last{font:200 clamp(30px,4.4vw,58px)/1.15 var(--display);letter-spacing:-.03em;color:var(--ink);max-width:20ch}
.cs .hush .last b{font-weight:700}

/* ── Epilogue ── */
.cs .equation{display:flex;flex-wrap:wrap;align-items:baseline;gap:14px;font-family:var(--display);letter-spacing:-.03em;font-size:clamp(40px,5.4vw,72px);line-height:1}
.cs .equation .before,.cs .equation .to{font-weight:200;color:var(--steel)}
.cs .equation .after{font-weight:700;color:var(--light-navy)}
.cs .facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--rule-d);border:1px solid var(--rule-d);border-radius:8px;overflow:hidden}
.cs .fact{background:var(--ground);padding:18px;line-height:1.5}
.cs .fact b{display:block;font:700 26px var(--display);color:var(--head-d);letter-spacing:-.02em}
.cs .fact span{font-size:13px;color:var(--body-d)}

/* ── Generic chapter visuals (StepPals, Traveronto) ── */
.cs .rows{display:grid;gap:1px;border-radius:8px;overflow:hidden;border:1px solid var(--card-d-line);background:var(--card-d-line)}
.cs .rows > div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;padding:18px 20px;background:var(--ground);line-height:1.5}
.cs .rows dt{font:600 11px/1.6 var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--steel)}
.cs .rows dd{margin:0;color:var(--head-d);font-size:17px}
.cs .day .rows,.cs .paper .rows{border-color:var(--rule-l);background:var(--rule-l)}
.cs .day .rows > div{background:var(--white)} .cs .paper .rows > div{background:var(--paper)}
.cs .day .rows dt,.cs .paper .rows dt{color:var(--steel-ink)}
.cs .day .rows dd,.cs .paper .rows dd{color:var(--ink)}

.cs .cs-steps{display:grid;gap:12px;counter-reset:st}
.cs .cs-steps li{counter-increment:st;display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;padding:18px 20px;border-radius:8px;line-height:1.5}
.cs .cs-steps li:before{content:counter(st,decimal-leading-zero);font:700 15px/1.6 var(--display);letter-spacing:.02em}
.cs .cs-steps b{display:block;font:700 17px/1.4 var(--display);letter-spacing:-.01em}
.cs .cs-steps span{font-size:15px}
.cs .night .cs-steps li{background:var(--card-d);border:1px solid var(--card-d-line)}
.cs .night .cs-steps li:before{color:var(--light-navy)}
.cs .night .cs-steps b{color:var(--head-d)} .cs .night .cs-steps span{color:var(--body-d)}
.cs .day .cs-steps li,.cs .paper .cs-steps li{background:var(--white);border:1px solid var(--rule-l)}
.cs .day .cs-steps li:before,.cs .paper .cs-steps li:before{color:var(--navy)}
.cs .day .cs-steps b,.cs .paper .cs-steps b{color:var(--ink)}

.cs .ident{display:grid;gap:14px}
.cs .ident .acct{border:1px solid var(--rule-l);border-radius:8px;padding:18px 20px;background:var(--white);line-height:1.5}
.cs .ident .acct small{display:block;font:600 10px/1.4 var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--steel-ink);margin-bottom:6px}
.cs .ident .acct b{display:block;font:700 18px var(--display);color:var(--ink)}
.cs .ident .acct span{font-size:14px;color:var(--steel-ink)}
.cs .ident .acct.empty{border-style:dashed}
.cs .ident .acct.empty b{color:var(--steel-ink);font-weight:200}

.cs .suppliers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.cs .suppliers div{border:1px solid var(--rule-l);border-radius:8px;padding:14px;background:var(--white);text-align:center;line-height:1.4}
.cs .suppliers b{display:block;font:700 15px var(--display);color:var(--ink)}
.cs .suppliers span{font-size:12px;color:var(--steel-ink)}
.cs .suppliers .booking{grid-column:1/-1;border-color:var(--ink)}

/* ── Your chapter / CTA ── */
.cs .cta-lines{display:grid;gap:6px;font:200 clamp(24px,3vw,36px)/1.3 var(--display);color:var(--ink);letter-spacing:-.02em}
.cs .cta-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:10px}
.cs .cta-row .btn-line{background:var(--white);color:var(--ink);border-color:var(--ink)}
.cs .cta-row .btn-line:hover{background:var(--paper)}

/* ── The proof ── */
.cs .proof h2{font-size:clamp(30px,3.6vw,44px)}
.cs .timeline{margin:28px 0 0;padding:0;display:grid}
.cs .timeline li{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;padding:18px 0;border-top:1px solid var(--rule-l);line-height:1.6}
.cs .timeline time{font:600 12px/1.6 var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--steel-ink);font-variant-numeric:tabular-nums;padding-top:4px}
.cs .timeline strong{display:block;color:var(--ink);font-weight:600}
.cs .timeline span{font-size:15px}
.cs .smallprint{margin-top:26px;font-size:14px;line-height:1.7;color:var(--steel-ink)}
.cs .smallprint b{color:var(--ink);font-weight:600}

/* ── Next story ── */
.cs .next{background:var(--ground);padding-block:clamp(56px,8vw,96px);padding-inline:max(16px,7vw);border-top:1px solid var(--rule-d)}
.cs .next .wrap{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:16px}
.cs .next a{display:grid;gap:8px;padding:28px;border:1px solid var(--card-d-line);border-radius:12px;background:var(--card-d);transition:border-color .3s var(--ease),transform .3s var(--ease)}
.cs .next a:hover{border-color:var(--light-navy);transform:translateY(-3px)}
.cs .next small{font:600 11px/1.4 var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--steel)}
.cs .next b{font:700 24px/1.25 var(--display);letter-spacing:-.02em;color:var(--head-d)}
.cs .next span{font-size:15px;color:var(--body-d);line-height:1.6}

@media (max-width:860px){
  .cs .wrap,.cs .wrap.flip{grid-template-columns:minmax(0,1fr)}
  .cs .wrap.flip > .text{order:0}
  .cs .choice,.cs .next .wrap{grid-template-columns:1fr}
  .cs .timeline li,.cs .rows > div{grid-template-columns:1fr;gap:4px}
}
@media (max-width:520px){
  .cs{font-size:17px}
  .cs .platforms,.cs .facts,.cs .stores,.cs .suppliers{grid-template-columns:1fr}
  .cs .apart{width:auto;border-top:0;border-left:1px dashed var(--steel);padding:6px 0 6px 10px;margin:0 auto}
}
@media (prefers-reduced-motion:reduce){.cs *{transition:none!important}}

/* ── Case-studies index: lead rows and the "more of our work" cards ── */
.wf-media.phones{display:flex;justify-content:center;align-items:center;gap:6%;padding:7% 8% 0}
.wf-media.phones img{width:auto;height:100%;max-width:42%;object-fit:contain;object-position:top;border-radius:18px 18px 0 0;align-self:flex-end;box-shadow:0 20px 40px rgba(0,0,0,.4)}
.wf-media.phones img + img{margin-bottom:-8%}
.wf-copy h3 a:hover{color:var(--hue)}
.more-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}
.more-card{--hue:var(--accent);position:relative;border-radius:20px;padding:30px;display:grid;grid-template-columns:minmax(0,1fr);gap:22px}
.more-card:has(.more-shot){grid-template-columns:120px minmax(0,1fr)}
.more-shot{width:120px;height:auto;border-radius:16px;border:1px solid rgba(52,63,88,.6)}
.more-copy{display:grid;gap:12px;min-width:0}
.more-copy .kind{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--hue);font-weight:600;line-height:1.4}
.more-copy h3{font-size:clamp(19px,1.8vw,23px);line-height:1.3}
.more-copy p{color:var(--muted);font-size:15px;line-height:1.75}
.more-copy details{display:grid;gap:12px}
.more-copy details p + p{margin-top:12px}
.more-copy summary{cursor:pointer;font-size:14px;font-weight:600;color:var(--hue);list-style:none;margin-bottom:4px}
.more-copy summary::-webkit-details-marker{display:none}
.more-copy summary::after{content:' +'}
.more-copy details[open] summary::after{content:' −'}
@media (max-width:900px){
  .more-list{grid-template-columns:1fr}
}
@media (max-width:520px){
  .more-card,.more-card:has(.more-shot){grid-template-columns:1fr;padding:24px}
  .more-shot{width:110px}
}
