/* A Paper a Day, flagship page (/revision).
   Shared Weave shell with a restrained paper surface and the book's five memory hues.
   Page-specific rules stay scoped under .rev. */

.rev{
  --indigo:#47457A; --teal:#0E7C6B; --coral:#CB4A3E; --amber:#8A6206; --violet:#8A5CB0;
  --part4:#A8770F;
  --muted:var(--ink-2); --faint:var(--ink-3); --hair:var(--hairline); --hair2:color-mix(in srgb, var(--hairline) 55%, var(--cloth));
  --disp:var(--font-display); --text:var(--font-ui); --mono:var(--font-data);
  position:relative; isolation:isolate; overflow:hidden; background:var(--cloth); color:var(--ink); font-family:var(--text);
  -webkit-font-smoothing:antialiased;
}
.rev::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.34;background:repeating-linear-gradient(0deg,transparent 0 11px,color-mix(in srgb,var(--hairline) 20%,transparent) 11px 12px);}
.rev *{box-sizing:border-box;}
.rev .container{max-width:1120px;margin:0 auto;padding-left:28px;padding-right:28px;}

/* shared bits */
.rev-eyebrow{font-family:var(--mono);font-size:13px;letter-spacing:3.5px;text-transform:uppercase;color:var(--thread-sage);font-weight:500;}
.rev-eyebrow::before{content:"";display:inline-block;width:1.35em;height:1.35em;margin-right:.55em;vertical-align:-.3em;background:url("/img/sprig.svg") no-repeat center/contain;}
.rev-h1{font-family:var(--disp);font-weight:600;font-size:clamp(54px,8vw,104px);line-height:.96;letter-spacing:-2px;color:var(--ink);margin:18px 0 0;}
.rev-h2{font-family:var(--disp);font-weight:600;font-size:clamp(30px,4vw,42px);line-height:1.08;letter-spacing:-.6px;color:var(--ink);margin:0;}
.rev-sub{font-family:var(--disp);font-style:italic;font-weight:400;font-size:clamp(17px,2vw,21px);color:var(--muted);margin:12px 0 0;}
.rev-seg{display:flex;height:8px;border-radius:4px;overflow:hidden;max-width:360px;margin-top:34px;}
.rev-seg span{flex:1;}
.rev-seg .s1{background:var(--indigo);}.rev-seg .s2{background:var(--teal);}.rev-seg .s3{background:var(--coral);}
.rev-seg .s4{background:var(--amber);}.rev-seg .s5{background:var(--violet);}

.rev-btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--text);font-weight:700;font-size:18px;padding:15px 30px;border-radius:999px;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;cursor:pointer;}
.rev-btn--primary{background:var(--thread-sage);color:var(--cloth);box-shadow:0 10px 24px color-mix(in srgb,var(--thread-sage) 26%,transparent);}
.rev-btn--primary:hover{transform:translateY(-2px);background:color-mix(in srgb,var(--thread-sage) 90%,var(--ink));box-shadow:0 16px 32px color-mix(in srgb,var(--thread-sage) 32%,transparent);}
.rev-btn--ghost{background:var(--cloth);color:var(--ink);border:1px solid var(--hair);}
.rev-btn--ghost:hover{border-color:var(--thread-sage);color:var(--thread-sage);}

/* hero */
.rev-hero{padding:138px 0 42px;}
.rev-hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
.rev-tagline{font-family:var(--disp);font-weight:500;font-size:clamp(20px,2.6vw,27px);color:var(--thread-sage);margin-top:18px;letter-spacing:-.2px;}
.rev-lede{font-family:var(--text);font-size:clamp(17px,2vw,20px);line-height:1.6;color:var(--muted);margin-top:18px;max-width:33ch;}
.rev-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px;}

.rev-hero__cover{display:flex;justify-content:center;}
.rev-cover-fan{position:relative;width:min(380px,80vw);}
.rev-cover{position:relative;width:100%;display:block;border-radius:3px;border:1px solid var(--hair);box-shadow:0 36px 70px rgba(26,24,48,.20),0 12px 26px rgba(26,24,48,.12);z-index:3;}
.rev-edge{position:absolute;top:1.6%;height:96.8%;background:var(--cloth);border:1px solid var(--hair);border-radius:3px;}
.rev-edge.e1{right:-8px;width:97%;z-index:2;box-shadow:0 22px 40px rgba(26,24,48,.10);}
.rev-edge.e2{right:-16px;width:94%;z-index:1;}

/* section frame */
.rev-sec{padding:56px 0;border-top:1px solid var(--hair2);}
.rev-sec__head{max-width:720px;margin-bottom:36px;}
.rev-lead{font-family:var(--text);font-size:clamp(18px,2.1vw,22px);line-height:1.62;color:var(--ink);max-width:62ch;}
.rev-lead .q{color:var(--muted);}

/* gallery */
.rev-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 26px;}
.rev-shot{margin:0;}
.rev-shot img{width:100%;display:block;border:1px solid var(--hair);border-radius:4px;box-shadow:0 18px 38px rgba(26,24,48,.14),0 5px 12px rgba(26,24,48,.07);}
.rev-shot figcaption{font-family:var(--text);font-size:15px;line-height:1.5;color:var(--muted);margin-top:14px;padding-right:6px;}

/* five-colour memory code */
.rev-code{display:flex;flex-direction:column;}
.rev-code__row{display:grid;grid-template-columns:18px 132px 1fr;gap:18px;align-items:baseline;padding:18px 0;border-top:1px solid var(--hair2);}
.rev-code__row:first-child{border-top:0;}
.rev-code__row .sw{width:18px;height:18px;border-radius:5px;align-self:center;}
.rev-code__row .key{font-family:var(--mono);font-size:14px;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;}
.rev-code__row .def{font-family:var(--text);font-size:clamp(16px,1.8vw,19px);color:var(--ink);line-height:1.5;}
.rev-why{font-family:var(--disp);font-style:italic;font-size:clamp(17px,2vw,20px);line-height:1.55;color:var(--muted);margin-top:30px;max-width:60ch;}

/* four papers */
.rev-papers{display:grid;grid-template-columns:1fr 1fr;gap:26px 40px;}
.rev-part{display:grid;grid-template-columns:6px 1fr;gap:20px;align-items:start;}
.rev-part .tab{width:6px;border-radius:3px;align-self:stretch;min-height:100%;}
.rev-part h3{font-family:var(--disp);font-weight:600;font-size:21px;color:var(--ink);margin:0 0 6px;}
.rev-part .rom{font-family:var(--mono);font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--faint);}
.rev-part p{font-family:var(--text);font-size:16px;line-height:1.55;color:var(--muted);margin:4px 0 0;}

/* authors */
.rev-authors{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
.rev-author h3{font-family:var(--disp);font-weight:600;font-size:24px;color:var(--ink);margin:0;}
.rev-author .role{font-family:var(--mono);font-size:12.5px;letter-spacing:.6px;color:var(--thread-sage);margin:8px 0 14px;line-height:1.4;}
.rev-author p{font-family:var(--text);font-size:16.5px;line-height:1.6;color:var(--muted);margin:0;}
.rev-author .ig{display:inline-block;margin-top:14px;font-family:var(--mono);font-size:13px;color:var(--faint);text-decoration:none;}
.rev-author .ig:hover{color:var(--thread-sage);}

/* download */
.rev-download .rev-lead{margin-bottom:30px;}
.rev-dl-main{margin-bottom:18px;}
.rev-dl-cta{display:flex;flex-direction:column;gap:3px;align-items:flex-start;background:var(--thread-sage);color:var(--cloth);text-decoration:none;border-radius:16px;padding:22px 30px;box-shadow:0 14px 30px color-mix(in srgb,var(--thread-sage) 24%,transparent);transition:transform .18s ease,box-shadow .18s ease,background .18s ease;max-width:520px;}
.rev-dl-cta:hover{transform:translateY(-2px);background:color-mix(in srgb,var(--thread-sage) 90%,var(--ink));box-shadow:0 20px 38px color-mix(in srgb,var(--thread-sage) 30%,transparent);}
.rev-dl-cta b{font-family:var(--text);font-weight:700;font-size:21px;display:flex;align-items:center;gap:12px;}
.rev-dl-cta b svg{width:21px;height:21px;}
.rev-dl-cta span{font-family:var(--text);font-size:14.5px;opacity:.82;}
.rev-dl-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px;}
.rev-dl-part{display:flex;flex-direction:column;gap:2px;text-decoration:none;border:1px solid var(--hair);border-radius:12px;padding:16px 18px;transition:border-color .18s ease,transform .18s ease;}
.rev-dl-part:nth-child(1){border-color:var(--indigo);}.rev-dl-part:nth-child(2){border-color:var(--teal);}.rev-dl-part:nth-child(3){border-color:var(--coral);}.rev-dl-part:nth-child(4){border-color:var(--part4);}
.rev-dl-part:hover{border-color:var(--thread-sage);transform:translateY(-2px);}
.rev-dl-part .rom{font-family:var(--mono);font-size:12px;letter-spacing:1.5px;color:var(--faint);}
.rev-dl-part b{font-family:var(--text);font-weight:700;font-size:17px;color:var(--ink);}
.rev-dl-part .nm{font-family:var(--text);font-size:13.5px;color:var(--muted);}
.rev-dl-extra a{display:inline-flex;align-items:baseline;gap:10px;font-family:var(--text);font-size:15.5px;color:var(--muted);text-decoration:none;}
.rev-dl-extra a b{color:var(--ink);font-weight:600;border-bottom:1px solid var(--hair);}
.rev-dl-extra a:hover b{border-color:var(--thread-sage);color:var(--thread-sage);}
.rev-dl-note{font-family:var(--text);font-size:13.5px;color:var(--faint);margin-top:18px;max-width:60ch;line-height:1.5;}

/* study-group join CTA */
.rev-join{margin-top:42px;padding-top:36px;border-top:1px solid var(--hair);text-align:center;}
.rev-join h3{font-family:var(--disp);font-weight:600;font-size:clamp(22px,3vw,28px);color:var(--ink);margin:0 0 8px;letter-spacing:-.4px;}
.rev-join p{font-family:var(--text);font-size:15.5px;color:var(--muted);margin:0 auto 22px;max-width:54ch;line-height:1.55;}
.rev-btn--group{background:var(--thread-teal);color:var(--cloth);box-shadow:0 10px 24px color-mix(in srgb,var(--thread-teal) 24%,transparent);}
.rev-btn--group:hover{transform:translateY(-2px);box-shadow:0 16px 32px color-mix(in srgb,var(--thread-teal) 30%,transparent);}
.rev-btn--group svg{width:21px;height:21px;}

/* canonical crisis partial */
.rev .rev-crisis{border-top:1px solid var(--hair2);}
.rev .crisis-block{display:grid;grid-template-columns:minmax(0,3fr) minmax(14rem,2fr);gap:clamp(1.5rem,5vw,4rem);align-items:center;}
.rev .crisis-block__art{width:min(100%,20rem);max-height:25rem;object-fit:contain;justify-self:center;}

/* responsive */
@media (max-width:880px){
  .rev-hero__grid{grid-template-columns:1fr;gap:40px;}
  .rev-hero__cover{order:-1;}
  .rev-cover-fan{width:min(300px,68vw);}
  .rev-gallery{grid-template-columns:repeat(2,1fr);}
  .rev-papers{grid-template-columns:1fr;}
  .rev-authors{grid-template-columns:1fr;gap:32px;}
  .rev-dl-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:767px){
  .rev .crisis-block{grid-template-columns:1fr;}
  .rev .crisis-block__art{grid-row:1;width:min(58%,14rem);max-height:17rem;}
}
@media (max-width:540px){
  .rev-hero{padding:108px 0 18px;}
  .rev-sec{padding:44px 0;}
  .rev-gallery{grid-template-columns:1fr;gap:26px;}
  .rev-code__row{grid-template-columns:16px 1fr;grid-template-areas:"sw key" "def def";gap:8px 14px;}
  .rev-code__row .sw{grid-area:sw;}.rev-code__row .key{grid-area:key;}.rev-code__row .def{grid-area:def;margin-top:4px;}
  .rev-dl-grid{grid-template-columns:1fr 1fr;}
  .rev-cta{width:100%;}
  .rev-btn{flex:1;justify-content:center;}
}
