/* General magazine — "The Glossy": a luxury fashion-magazine feel. Cream paper,
   burgundy accent (site token), very large italic serif display type, a bold
   full-bleed cover on the front, a burgundy page head on every inner page and a
   burgundy-black footer. Light surfaces derive from the site tokens; the dark
   bands use fixed wine/ink colours so cream type always stays readable. Pure CSS. */
.t-general_magazine{
  --gm-ink:#150508;--gm-wine:#3d0c18;--gm-wine2:#5a1225;--gm-wine3:#8a1f3a;
  --gm-cream:#f6e9d9;--gm-cream2:#f1dccd;--gm-cream3:#dcbfae;--gm-cream4:#c9a899;
  --gm-blush:color-mix(in srgb,var(--accent) 7%,var(--bg));
  --gm-paper:var(--surface);
  --gm-serif:ui-serif,"New York","Iowan Old Style","Palatino Linotype",Palatino,Georgia,Cambria,"Times New Roman",serif;
  --gm-sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --gm-sh:0 1px 2px rgb(60 10 20/.06),0 14px 34px -16px rgb(60 10 20/.3);
  --gm-sh-lift:0 2px 4px rgb(60 10 20/.06),0 30px 50px -20px rgb(60 10 20/.42);
  --gm-ease:cubic-bezier(.2,.7,.2,1);
  --gm-dark-line:rgb(255 255 255/.16);
  font-family:var(--gm-sans);background:var(--bg);
}
.t-general_magazine::before{display:none}
.t-general_magazine .wrap{max-width:80rem;padding-inline:2rem}
.t-general_magazine .main{padding-bottom:0}
.t-general_magazine :where(a){text-decoration:none;color:inherit}
.t-general_magazine h1,.t-general_magazine h2,.t-general_magazine h3{font-family:var(--gm-serif)}
.gm-hl a{color:inherit;background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .3s var(--gm-ease)}
.gm-hl a:hover{background-size:100% 1px}
.gm-label{display:block;margin:0;font:700 .72rem/1.3 var(--gm-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
.gm-label-link{display:inline-block;transition:color .2s}
.gm-label-link:hover{color:var(--text)}
.gm-sep{margin:0 .45rem;opacity:.6}
.gm-standfirst{margin:0;font:italic 1.1rem/1.6 var(--gm-serif);color:var(--muted)}
.gm-by{display:flex;align-items:center;gap:.65rem;margin:0;font-size:.86rem;color:var(--muted);min-width:0}
.gm-by .avatar{width:2rem;height:2rem;font-size:.8rem}
.gm-by-text{min-width:0}
.gm-author{color:var(--text);font-weight:650}
.gm-by-light{color:var(--gm-cream3)}
.gm-by-light .gm-author{color:#fff}
.gm-btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:2.75rem;padding:.8rem 1.5rem;border:0;border-radius:3px;font:700 .8rem/1.2 var(--gm-sans);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:transform .2s var(--gm-ease),box-shadow .2s var(--gm-ease),background .2s}
.gm-btn:hover{transform:translateY(-2px)}
.gm-btn:active{transform:translateY(1px)}
.gm-btn-cream{background:linear-gradient(180deg,#fcf5ec,#edd9c3);color:var(--gm-wine);box-shadow:inset 0 1px 0 #fff,0 14px 28px -12px rgb(0 0 0/.7)}
.gm-btn-cream:hover{background:linear-gradient(180deg,#fff,#f3e3d1);box-shadow:inset 0 1px 0 #fff,0 18px 34px -12px rgb(0 0 0/.75)}
.gm-btn-wine{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 86%,#fff),var(--accent) 50%,color-mix(in srgb,var(--accent) 72%,#000));color:var(--on-accent);box-shadow:inset 0 1px 0 rgb(255 255 255/.3),0 12px 26px -12px color-mix(in srgb,var(--accent) 80%,transparent)}
.gm-btn-wine:hover{box-shadow:inset 0 1px 0 rgb(255 255 255/.3),0 18px 32px -12px color-mix(in srgb,var(--accent) 85%,transparent)}
.gm-readmore{display:inline-flex;align-items:center;gap:.4rem;font:700 .76rem/1.2 var(--gm-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid transparent;transition:border-color .2s,color .2s}
.gm-readmore:hover{border-color:var(--accent)}
.gm-dropcap::first-letter{float:left;margin:.12em .5rem 0 0;font:700 4.3rem/.8 var(--gm-serif);color:var(--accent)}

/* ---------- masthead ---------- */
.gm-masthead{position:relative;background:var(--gm-paper);border-bottom:1px solid var(--line)}
.gm-topline{display:flex;align-items:center;justify-content:space-between;gap:.4rem 1.5rem;flex-wrap:wrap;min-height:2.3rem;padding-top:.35rem;padding-bottom:.35rem;border-bottom:1px solid var(--line);font:600 .72rem/1.4 var(--gm-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.gm-topline-pub{color:var(--accent)}
.gm-plate{text-align:center;padding-top:1.6rem;padding-bottom:1.3rem}
.gm-logo{display:block;margin:0 auto;max-width:100%;font:italic 700 clamp(2.4rem,9vw,6.2rem)/1 var(--gm-serif);letter-spacing:-.03em;color:var(--text);text-wrap:balance;transition:color .3s,letter-spacing .4s var(--gm-ease)}
.gm-logo:hover{color:var(--accent);letter-spacing:-.015em}
.gm-double{display:block;width:min(100%,50rem);height:6px;margin:1rem auto 0;border-top:3px solid var(--text);border-bottom:1px solid var(--text)}
.gm-depts-bar{position:sticky;top:0;z-index:25;background:color-mix(in srgb,var(--surface) 90%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line);box-shadow:0 10px 30px -18px rgb(60 10 20/.4)}
.gm-depts-row{display:flex;align-items:center;gap:.5rem;min-height:3rem}
.gm-depts{display:flex;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;justify-content:safe center;gap:.1rem}
.gm-depts::-webkit-scrollbar{display:none}
.gm-depts a{position:relative;flex:none;display:inline-flex;align-items:center;min-height:3rem;padding:.6rem .85rem;font:700 .74rem/1.2 var(--gm-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--text);transition:color .2s}
.gm-depts a::after{content:"";position:absolute;left:.85rem;right:.85rem;bottom:-1px;height:2px;background:var(--accent);transform:scaleX(0);transition:transform .25s var(--gm-ease)}
.gm-depts a:hover{color:var(--accent)}
.gm-depts a:hover::after,.gm-depts a.is-current::after{transform:scaleX(1)}
.gm-depts a.is-current{color:var(--accent)}
.gm-search-btn{display:grid;place-items:center;width:2.4rem;height:2.4rem;flex:none;border-radius:50%;border:1px solid var(--accent);color:var(--accent);transition:background .2s,color .2s}
.gm-search-btn:hover,.gm-search-btn.is-current{background:var(--accent);color:var(--on-accent)}
.t-general_magazine .more-topics>summary{min-height:2.4rem;padding:.4rem .95rem;border-radius:999px;border:1px solid var(--accent);background:transparent;color:var(--accent);font:700 .72rem/1.2 var(--gm-sans);letter-spacing:.14em;text-transform:uppercase}
.t-general_magazine .more-topics>summary:hover,.t-general_magazine .more-topics[open]>summary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.t-general_magazine .more-topics-panel{border-color:var(--line);border-radius:6px;box-shadow:var(--gm-sh-lift)}

/* ---------- the cover ---------- */
.gm-cover-band{position:relative;overflow:hidden;padding:3.2rem 0 6.5rem;color:#fff;background:radial-gradient(70rem 36rem at 15% 0%,rgb(190 60 90/.28),transparent 60%),radial-gradient(50rem 30rem at 100% 100%,rgb(255 180 150/.08),transparent 60%),linear-gradient(180deg,#2c0812 0%,var(--gm-ink) 100%)}
.gm-cover-band::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgb(255 255 255/.05) 1px,transparent 1.3px);background-size:22px 22px;mask-image:radial-gradient(ellipse 70% 80% at 50% 30%,#000 10%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse 70% 80% at 50% 30%,#000 10%,transparent 80%)}
.gm-cover-wrap{position:relative}
.gm-stack{position:relative;perspective:1600px}
.gm-sheet{position:absolute;inset:0;border-radius:5px;background:linear-gradient(160deg,#f3e4d2,#dfc8ad);box-shadow:0 30px 60px -24px rgb(0 0 0/.8)}
.gm-sheet-1{transform:translate(14px,14px) rotate(.9deg);opacity:.9}
.gm-sheet-2{transform:translate(28px,30px) rotate(2deg);background:linear-gradient(160deg,#dcc3a9,#c9ab8c);opacity:.7}
.gm-cover{position:relative;display:grid;grid-template-columns:3.4rem minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;min-height:32rem;border-radius:5px;overflow:hidden;color:#fff;isolation:isolate;
  background:radial-gradient(60rem 30rem at 100% 0%,rgb(255 190 160/.16),transparent 60%),radial-gradient(40rem 26rem at 0% 100%,rgb(255 120 140/.12),transparent 60%),linear-gradient(160deg,var(--gm-wine3) 0%,#4e0e1f 42%,var(--gm-ink) 100%);
  box-shadow:inset 0 1px 0 rgb(255 255 255/.18),0 60px 90px -30px rgb(0 0 0/.85);transform:perspective(1600px) rotateY(-.6deg);transition:transform .6s var(--gm-ease)}
.gm-stack:hover .gm-cover{transform:perspective(1600px) rotateY(0) translateY(-3px)}
.gm-cover::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.6;background-image:repeating-linear-gradient(45deg,rgb(255 255 255/.03) 0 2px,transparent 2px 6px),repeating-linear-gradient(-45deg,rgb(0 0 0/.06) 0 1px,transparent 1px 5px)}
.gm-cover-side{grid-row:1/-1;display:flex;align-items:center;justify-content:center;padding:1.4rem .8rem;border-right:1px solid var(--gm-dark-line);writing-mode:vertical-rl;transform:rotate(180deg);font:700 .72rem/1 var(--gm-sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gm-cream3);white-space:nowrap}
.gm-cover-body{position:relative;display:flex;flex-direction:column;justify-content:center;min-width:0;max-width:60rem;padding:clamp(2rem,4vw,3.8rem) clamp(1.4rem,4vw,3.8rem) clamp(1.6rem,3vw,2.8rem)}
.gm-cover-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin:0 0 1.2rem}
.gm-cover-tag{display:inline-flex;align-items:center;padding:.38rem .75rem;border-radius:2px;background:var(--gm-cream);color:var(--gm-wine);font:700 .72rem/1.2 var(--gm-sans);letter-spacing:.18em;text-transform:uppercase}
.gm-cover-dept{display:inline-flex;align-items:center;font:italic 700 clamp(1.3rem,2vw,1.7rem)/1.1 var(--gm-serif);color:var(--gm-cream2);transition:color .2s}
.gm-cover-dept:hover{color:#fff}
.gm-cover-hl{margin:0;font:700 clamp(2.4rem,5.2vw,4.6rem)/1.02 var(--gm-serif);letter-spacing:-.035em;color:#fff;text-wrap:balance;text-shadow:0 2px 0 rgb(0 0 0/.25),0 20px 40px rgb(0 0 0/.4);display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.gm-cover-stand{margin:1.4rem 0 0;max-width:42rem;font:italic 1.3rem/1.55 var(--gm-serif);color:var(--gm-cream2)}
.gm-cover .gm-by{margin-top:1.5rem}
.gm-cover-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.6rem;margin-top:1.9rem}
.gm-cover-host{display:inline-flex;align-items:center;gap:.45rem;min-width:0;max-width:100%;color:var(--gm-cream3);font-size:.86rem;overflow-wrap:anywhere}
.gm-cover-host .i{color:var(--gm-cream2)}
.gm-cover-foot{grid-column:2;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.3rem 1.5rem;padding:.9rem clamp(1.4rem,4vw,3.8rem);border-top:1px solid var(--gm-dark-line);font:700 .72rem/1.3 var(--gm-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gm-cream3)}
.gm-cover-band :focus-visible,.gm-pagehead :focus-visible,.gm-footer :focus-visible{outline-color:#fbe9dc}

/* ---------- in this issue ---------- */
.gm-front{position:relative;z-index:2}
.gm-front-empty{padding:3rem 0 4rem}
.gm-issue{margin-top:-4.6rem;padding:1.7rem 2.2rem 2rem;background:var(--gm-paper);border:1px solid var(--line);border-radius:5px;box-shadow:inset 0 1px 0 rgb(255 255 255/.9),0 40px 70px -34px rgb(60 10 20/.55)}
.gm-issue-h{display:flex;align-items:center;gap:1rem;margin:0 0 1.4rem}
.gm-issue-h::before,.gm-issue-h::after{content:"";flex:1;height:1px;background:var(--line)}
.gm-issue-h .gm-label{font-size:.76rem}
.gm-issue-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.gm-issue-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;padding:0 1.8rem 0 0;min-width:0}
.gm-issue-item+.gm-issue-item{padding-left:1.8rem;border-left:1px solid var(--line)}
.gm-issue-item:last-child{padding-right:0}
.gm-numeral{font:italic 700 2.6rem/1 var(--gm-serif);color:var(--accent);min-width:2.2rem}
.gm-issue-body{min-width:0}
.gm-issue-hl{margin:.35rem 0 .45rem;font:700 1.22rem/1.3 var(--gm-serif);letter-spacing:-.015em;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.gm-issue-by{margin:0;font-size:.82rem;color:var(--muted)}

/* ---------- departments ---------- */
.gm-dept{padding:3.4rem 0 3.6rem}
.gm-dept-cream{background:var(--bg)}
.gm-dept-blush{background:var(--gm-blush);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.gm-dept-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:3px double var(--text)}
.gm-dept-title{margin:.35rem 0 0;font:700 clamp(2rem,3.4vw,3rem)/1 var(--gm-serif);letter-spacing:-.03em;color:var(--text)}
.gm-dept-all{display:inline-flex;align-items:center;gap:.4rem;flex:none;padding-bottom:.2rem;font:700 .74rem/1.2 var(--gm-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);transition:color .2s}
.gm-dept-all:hover{color:var(--text)}
.gm-dept-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:2.4rem 3.5rem;align-items:start}
.gm-dept-grid-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem}
.gm-dept-lead{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:1.8rem;padding:2rem 2.1rem 2rem 2.4rem;background:var(--gm-paper);border:1px solid var(--line);border-radius:5px;box-shadow:var(--gm-sh);transition:transform .35s var(--gm-ease),box-shadow .35s var(--gm-ease)}
.gm-dept-lead::before{content:"";position:absolute;left:0;top:2rem;bottom:2rem;width:4px;background:var(--accent)}
.gm-dept-lead:hover{transform:translateY(-4px);box-shadow:var(--gm-sh-lift)}
.gm-dept-lead-hl{margin:0;font:700 clamp(1.55rem,2.4vw,2.25rem)/1.12 var(--gm-serif);letter-spacing:-.025em;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
.gm-dept-lead-stack{grid-template-columns:1fr;gap:1.1rem}
.gm-dept-lead-stack .gm-dept-lead-hl{font-size:clamp(1.5rem,2.1vw,1.95rem)}
.gm-dept-lead-side{display:grid;gap:1.1rem;align-content:start;min-width:0}
.gm-dept-lead-side .gm-standfirst{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.gm-dept-list{list-style:none;margin:0;padding:0}
.gm-dept-list li{display:grid;grid-template-columns:2.4rem minmax(0,1fr);gap:.8rem;padding:1rem 0;border-bottom:1px solid var(--line);transition:padding .25s var(--gm-ease)}
.gm-dept-list li:first-child{padding-top:.2rem}
.gm-dept-list li:hover{padding-left:.35rem}
.gm-dept-list-n{font:italic 700 1.35rem/1.1 var(--gm-serif);color:var(--accent)}
.gm-dept-list-hl{margin:0;font:600 1.08rem/1.35 var(--gm-serif);letter-spacing:-.01em;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.gm-dept-list-by{margin:.3rem 0 0;font-size:.8rem;color:var(--muted)}

/* ---------- editor's letter + contributors ---------- */
.gm-back{padding:3.6rem 0 4.4rem;border-top:3px double var(--text)}
.gm-back-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(16rem,.8fr);gap:3.5rem;align-items:start}
.gm-letter-h,.gm-contrib-h{margin:.4rem 0 1.2rem;font:italic 700 2.3rem/1.1 var(--gm-serif);letter-spacing:-.02em}
.gm-letter-text{max-width:40rem;font:1.15rem/1.75 var(--gm-serif);color:var(--text)}
.gm-signature{display:flex;align-items:center;gap:.9rem;margin:1.6rem 0 0;font:italic 1.25rem/1.2 var(--gm-serif);color:var(--accent)}
.gm-sig-rule{display:block;width:2.6rem;height:1px;background:var(--accent)}
.gm-contrib{padding:1.9rem 2rem 2rem;background:var(--gm-paper);border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:5px;box-shadow:var(--gm-sh)}
.gm-contrib-h{font-size:1.7rem;margin-bottom:.6rem}
.gm-contrib-list{list-style:none;margin:0 0 1.4rem;padding:0}
.gm-contrib-list li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.9rem;align-items:center;padding:.7rem 0;border-bottom:1px solid var(--line)}
.gm-contrib-name{font-weight:650;font-size:.96rem;min-width:0}
.gm-contrib-n{font:600 .74rem/1.2 var(--gm-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:right}

/* ---------- page head (every inner page) ---------- */
.gm-pagehead{position:relative;overflow:hidden;padding:2.8rem 0 2.8rem;color:#fff;isolation:isolate;background:radial-gradient(60rem 30rem at 92% -10%,rgb(255 190 160/.16),transparent 60%),radial-gradient(40rem 24rem at -10% 110%,rgb(190 60 90/.25),transparent 60%),linear-gradient(160deg,var(--gm-wine3) 0%,#4a0d1e 48%,var(--gm-ink) 100%)}
.gm-pagehead::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.6;background-image:repeating-linear-gradient(45deg,rgb(255 255 255/.03) 0 2px,transparent 2px 6px)}
.gm-pagehead::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;border-top:3px solid var(--gm-cream);border-bottom:1px solid var(--gm-cream);box-sizing:border-box;background:transparent;opacity:.9}
.gm-pagehead-label{color:var(--gm-cream2)}
.gm-pagehead-title{margin:.7rem 0 0;max-width:54rem;font:700 clamp(2.2rem,4.6vw,3.9rem)/1.05 var(--gm-serif);letter-spacing:-.035em;color:#fff;text-wrap:balance;text-shadow:0 2px 0 rgb(0 0 0/.25),0 16px 36px rgb(0 0 0/.35)}
.gm-pagehead-lead{margin:1.1rem 0 0;max-width:46rem;font-size:1.22rem;color:var(--gm-cream2)}
.gm-crumbs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.2rem;color:var(--gm-cream3);font-size:.78rem;letter-spacing:.06em}
.gm-crumbs a{display:inline-flex;align-items:center;color:var(--gm-cream2)}
.gm-crumbs a:hover{color:#fff}
.gm-article-rule{margin-top:1.6rem;padding-top:1.1rem;border-top:1px solid var(--gm-dark-line);max-width:54rem}
.gm-search{display:flex;align-items:center;width:min(100%,38rem);height:3.4rem;margin-top:1.6rem;border-radius:4px;background:rgb(255 255 255/.09);border:1px solid rgb(255 255 255/.28);box-shadow:inset 0 1px 0 rgb(255 255 255/.1);transition:border-color .2s,box-shadow .2s}
.gm-search:focus-within{border-color:var(--gm-cream);box-shadow:0 0 0 4px rgb(246 233 217/.2)}
.gm-search>.i{width:1.2rem;height:1.2rem;margin:0 .8rem 0 1rem;color:var(--gm-cream2)}
.gm-search input{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;color:#fff;font:1rem var(--gm-sans)}
.gm-search input::placeholder{color:var(--gm-cream4)}
.gm-search button{align-self:stretch;margin:.35rem;padding:0 1.2rem;border:0;border-radius:3px;background:linear-gradient(180deg,#fcf5ec,#edd9c3);color:var(--gm-wine);font:700 .76rem var(--gm-sans);letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.gm-search button:hover{background:linear-gradient(180deg,#fff,#f3e3d1)}

/* ---------- list pages ---------- */
.gm-page-body{padding-top:2.6rem;padding-bottom:4rem}
.gm-hint{margin:0 0 2rem;padding:1rem 1.3rem;border-left:3px solid var(--accent);background:var(--gm-paper);font:italic 1.08rem/1.5 var(--gm-serif);color:var(--muted)}
.gm-entries{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem}
.gm-entries-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.gm-entry{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;min-width:0;padding:1.6rem 1.6rem 1.4rem;background:var(--gm-paper);border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:5px;box-shadow:var(--gm-sh);transition:transform .3s var(--gm-ease),box-shadow .3s var(--gm-ease)}
.gm-entry:hover{transform:translateY(-5px);box-shadow:var(--gm-sh-lift)}
.gm-entry-n{font:italic 700 1.7rem/1 var(--gm-serif);color:var(--accent);padding-top:.15rem}
.gm-entry-body{min-width:0;display:flex;flex-direction:column}
.gm-entry-hl{margin:.4rem 0 .55rem;font:700 1.3rem/1.25 var(--gm-serif);letter-spacing:-.02em;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.gm-entry-ex{margin:0 0 1rem;font:italic 1rem/1.55 var(--gm-serif);color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.gm-entry .gm-by{margin-top:auto}
.gm-index ol{list-style:none;margin:0;padding:0;columns:4;column-gap:2rem}
.gm-index li{break-inside:avoid}
.gm-index a{display:flex;align-items:center;gap:.7rem;min-height:2.75rem;padding:.4rem 0;border-bottom:1px solid var(--line);color:var(--text);font:600 .96rem/1.3 var(--gm-serif);transition:color .2s,padding .2s var(--gm-ease)}
.gm-index a:hover{color:var(--accent);padding-left:.3rem}
.gm-index-ico{display:grid;place-items:center;width:1.9rem;height:1.9rem;border-radius:50%;flex:none;color:var(--c,var(--accent));background:var(--cbg,var(--gm-blush))}
.gm-index-name{flex:1;min-width:0}
.gm-index-n{font:600 .76rem/1 var(--gm-sans);color:var(--muted);font-variant-numeric:tabular-nums}
.t-general_magazine .pager{display:flex;justify-content:center;align-items:center;gap:1.2rem;margin-top:2.8rem}
.t-general_magazine .pg{display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem;padding:.75rem 1.3rem;border:1px solid var(--accent);border-radius:3px;background:var(--accent);color:var(--on-accent);font:700 .76rem/1.2 var(--gm-sans);letter-spacing:.14em;text-transform:uppercase;box-shadow:var(--gm-sh);transition:transform .2s var(--gm-ease),background .2s}
.t-general_magazine a.pg:hover{transform:translateY(-2px);background:color-mix(in srgb,var(--accent) 80%,#000)}
.t-general_magazine .pg.disabled{background:transparent;border-color:var(--line);color:var(--muted);opacity:.7;box-shadow:none}
.t-general_magazine .pageno{font:italic 1.1rem var(--gm-serif);color:var(--muted)}

/* ---------- article ---------- */
.gm-article-grid{display:grid;grid-template-columns:minmax(0,1fr) 18rem;gap:3.5rem;padding-top:2.8rem;padding-bottom:4rem}
.gm-article-main{min-width:0;max-width:46rem}
.gm-body{font:1.15rem/1.8 var(--gm-serif);color:var(--text)}
.gm-body p{margin:0 0 1.3em}
.gm-body a{color:var(--accent);text-decoration:underline;text-underline-offset:.15em}
.gm-pull{float:right;width:min(17rem,46%);margin:.3rem 0 1rem 2.2rem;padding:.6rem 0 .8rem 1.2rem;border-left:3px solid var(--accent);font:italic 1.5rem/1.3 var(--gm-serif);color:var(--accent);letter-spacing:-.01em}
.gm-pull p{margin:0}
.gm-pull p::before{content:"“"}
.gm-pull p::after{content:"”"}
.gm-tags{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .6rem;margin:2rem 0 0;clear:both}
.gm-tag{padding:.32rem .75rem;border:1px solid var(--line);border-radius:3px;background:var(--gm-paper);font-size:.85rem;color:var(--text)}
.gm-updated{margin:1rem 0 0;font-size:.85rem;color:var(--muted)}
.gm-further{margin-top:2.6rem;padding:1.6rem 1.9rem 1.8rem;background:var(--gm-paper);border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:5px;box-shadow:var(--gm-sh);clear:both}
.gm-further-row{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-top:.9rem}
.gm-further-logo{width:56px;height:56px;object-fit:contain;border-radius:4px;background:#fff;border:1px solid var(--line);flex:none}
.gm-further-text{flex:1 1 15rem;min-width:0}
.gm-further-host{margin:0;font:700 1.25rem/1.3 var(--gm-serif);overflow-wrap:anywhere}
.gm-further-note{margin:.3rem 0 0;font-size:.88rem;color:var(--muted)}
.gm-visit{max-width:100%;text-transform:none;letter-spacing:0;font-size:.95rem;text-align:left;overflow-wrap:anywhere}
.gm-article-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem 1.5rem;margin-top:2.4rem;padding-top:1.2rem;border-top:3px double var(--line)}
.gm-back-link,.gm-report-link{display:inline-flex;align-items:center;gap:.45rem;min-height:2.5rem;font-size:.9rem;font-weight:650;color:var(--muted);transition:color .2s}
.gm-report-link{color:var(--accent)}
.gm-back-link:hover,.gm-report-link:hover{color:var(--text)}
.gm-article-side{position:sticky;top:4.2rem;align-self:start;min-width:0}
.gm-side-h{margin:.3rem 0 1rem;padding-bottom:.7rem;border-bottom:3px double var(--text);font:700 1.65rem/1.1 var(--gm-serif);letter-spacing:-.02em}
.gm-related{list-style:none;margin:0 0 1.2rem;padding:0}
.gm-related li{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:.6rem;padding:.85rem 0;border-bottom:1px solid var(--line)}
.gm-related-n{font:italic 700 1.15rem/1.2 var(--gm-serif);color:var(--accent)}
.gm-related a{font:600 1rem/1.35 var(--gm-serif);color:var(--text)}
.gm-related-by{display:block;margin-top:.3rem;font-size:.78rem;color:var(--muted)}

/* ---------- about ---------- */
.gm-about{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(16rem,.8fr);gap:3.5rem;align-items:start}
.gm-about-text{max-width:44rem}
.gm-colophon{padding:1.9rem 2rem 2rem;background:var(--gm-paper);border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:5px;box-shadow:var(--gm-sh)}
.gm-colophon h2{margin:.4rem 0 1.1rem;font:700 1.7rem/1.1 var(--gm-serif)}
.gm-colophon dl{margin:0 0 1.2rem}
.gm-colophon dt{font:700 .72rem/1.3 var(--gm-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.gm-colophon dd{margin:.15rem 0 .9rem;font-size:.95rem}
.gm-colophon dd a{color:var(--accent);text-decoration:underline}
.gm-sub-head{margin:3.2rem 0 1.4rem;padding-bottom:.8rem;border-bottom:3px double var(--text)}
.gm-sub-head h2{margin:.3rem 0 0;font:700 1.9rem/1.1 var(--gm-serif);letter-spacing:-.02em}
.gm-404-links{margin:0}

/* ---------- letters (report) ---------- */
.gm-form,.gm-sent{max-width:46rem;padding:2rem 2.3rem 2.2rem;background:var(--gm-paper);border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:5px;box-shadow:var(--gm-sh)}
.gm-form-error{margin:0 0 1.2rem;padding:.75rem 1rem;border:1px solid #efb3b3;border-radius:4px;background:#fff1f1;color:#8f1d1d;font-weight:600}
.gm-form-about{display:grid;gap:.25rem;margin-bottom:1.7rem;padding:1rem 1.3rem;border-left:3px solid var(--accent);background:var(--gm-blush)}
.gm-form-about strong{font:700 1.15rem/1.3 var(--gm-serif)}
.gm-form-about>span:last-child{font-size:.88rem;color:var(--muted)}
.gm-reasons{border:0;margin:0 0 1.5rem;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
.gm-reasons legend{padding:0;margin-bottom:.8rem;font:700 1.2rem/1.2 var(--gm-serif)}
.gm-reason{position:relative;display:block;margin:0}
.gm-reason input{position:absolute;opacity:0;width:1px;height:1px}
.gm-reason span{display:flex;align-items:center;min-height:2.75rem;padding:.7rem 1rem;border:1px solid var(--line);border-radius:4px;background:var(--bg);font-size:.95rem;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s}
.gm-reason:hover span{border-color:var(--accent)}
.gm-reason input:checked+span{border-color:var(--accent);background:var(--gm-blush);box-shadow:inset 0 0 0 1px var(--accent)}
.gm-reason input:focus-visible+span{outline:3px solid var(--accent);outline-offset:2px}
.gm-field{display:block;margin-bottom:1.3rem}
.gm-field>span{display:block;margin-bottom:.45rem;font-weight:650;font-size:.95rem}
.gm-field em{font-style:normal;font-weight:450;color:var(--muted)}
.gm-field textarea,.gm-field input{width:100%;font:inherit;padding:.8rem .95rem;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--text);transition:border-color .2s,box-shadow .2s}
.gm-field textarea{resize:vertical;min-height:7rem}
.gm-field textarea:focus,.gm-field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 16%,transparent)}
.gm-form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.6rem;margin-top:.5rem}
.gm-cancel{display:inline-flex;align-items:center;min-height:2.75rem;color:var(--muted);text-decoration:underline;text-underline-offset:.2em}
.gm-cancel:hover{color:var(--text)}
.gm-form-note{margin:1.1rem 0 0;font-size:.85rem;color:var(--muted)}
.gm-sent{text-align:center;max-width:40rem}
.gm-sent-mark{display:grid;place-items:center;width:3.5rem;height:3.5rem;margin:0 auto 1.1rem;border-radius:50%;background:var(--accent);color:var(--on-accent);box-shadow:0 14px 28px -12px color-mix(in srgb,var(--accent) 80%,transparent)}
.gm-sent-mark .i{width:1.6rem;height:1.6rem}
.gm-sent h2{margin:0 0 .5rem;font:700 1.7rem/1.15 var(--gm-serif)}
.gm-sent p{color:var(--muted);margin-bottom:1.4rem}

/* ---------- empty ---------- */
.gm-empty{max-width:42rem;margin:0 auto;padding:3rem 2rem 2.8rem;text-align:center;background:var(--gm-paper);border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:5px;box-shadow:var(--gm-sh)}
.gm-empty-mark{display:block;margin-bottom:.6rem;font:2.8rem/1 var(--gm-serif);color:var(--accent)}
.gm-empty-title{margin:0 0 .5rem;font:italic 700 1.7rem/1.2 var(--gm-serif);letter-spacing:-.02em}
.gm-empty-text{margin:0 auto 1.5rem;max-width:32rem;color:var(--muted)}

/* ---------- footer ---------- */
.gm-footer{color:#e7d2c6;background:radial-gradient(50rem 24rem at 100% 0%,rgb(190 60 90/.2),transparent 60%),linear-gradient(180deg,var(--gm-wine),var(--gm-ink) 80%);border-top:4px solid var(--accent)}
.gm-footer-top{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.6rem 1.5rem;padding-top:2.2rem;padding-bottom:1.3rem;border-bottom:1px solid var(--gm-dark-line)}
.gm-footer-logo{display:inline-flex;align-items:center;min-height:2.5rem;font:italic 700 2.2rem/1 var(--gm-serif);letter-spacing:-.025em;color:#fff}
.gm-footer-ed{margin:0;font:700 .72rem/1.4 var(--gm-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gm-cream3)}
.gm-footer-grid{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(14rem,1fr);gap:2.5rem;padding-top:1.9rem;padding-bottom:1.9rem}
.gm-footer-h{margin:0 0 .9rem;font:700 .72rem/1.3 var(--gm-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gm-cream2)}
.gm-footer ul{margin:0;padding:0;list-style:none}
.gm-footer-depts ul{columns:4;column-gap:1.6rem}
.gm-footer li{padding:.24rem 0;font-size:.88rem;break-inside:avoid}
.gm-footer li a{color:#e7d2c6;transition:color .2s}
.gm-footer li a:hover{color:#fff;text-decoration:underline;text-underline-offset:.2em}
.gm-footer-network{display:inline-flex;align-items:center;gap:.55rem;margin-top:1.1rem;padding:.55rem .95rem;border:1px solid rgb(255 255 255/.22);border-radius:3px;background:rgb(255 255 255/.05);color:#fff;font-size:.84rem}
.gm-footer-network:hover{background:rgb(255 255 255/.1)}
.gm-footer-fine{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem 2rem;padding-top:1.1rem;padding-bottom:1.6rem;border-top:1px solid var(--gm-dark-line);color:var(--gm-cream4);font-size:.78rem}
.gm-footer-fine p{margin:0}

/* ---------- responsive ---------- */
@media (max-width:70rem){
  .t-general_magazine .wrap{padding-inline:1.5rem}
  .gm-cover{transform:none}
  .gm-depts{mask-image:linear-gradient(90deg,#000 calc(100% - 2rem),transparent);-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 2rem),transparent)}
  .gm-dept-grid{grid-template-columns:1fr;gap:1.8rem}
  .gm-dept-grid-pair{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gm-entries{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gm-article-grid{grid-template-columns:1fr;gap:2.4rem}
  .gm-article-side{position:static}
  .gm-about,.gm-back-grid{grid-template-columns:1fr;gap:2.4rem}
  .gm-index ol,.gm-footer-depts ul{columns:3}
}
@media (max-width:56rem){
  .gm-issue-list{grid-template-columns:1fr}
  .gm-dept-grid-pair{grid-template-columns:1fr}
  .gm-issue-item{padding-right:0}
  .gm-issue-item+.gm-issue-item{padding:1.1rem 0 0;margin-top:1.1rem;border-left:0;border-top:1px solid var(--line)}
  .gm-dept-lead{grid-template-columns:1fr;gap:1.1rem}
  .gm-index ol{columns:2}
}
@media (max-width:44rem){
  .t-general_magazine .wrap{padding-inline:1rem}
  .gm-topline{justify-content:center;text-align:center;gap:.2rem .9rem}
  .gm-plate{padding-top:1.2rem;padding-bottom:1rem}
  .gm-double{margin-top:.7rem}
  .gm-depts a{padding:.6rem .65rem;font-size:.72rem}
  .gm-cover-band{padding:1.6rem 0 4.4rem}
  .gm-sheet-1{transform:translate(7px,8px) rotate(.7deg)}
  .gm-sheet-2{transform:translate(14px,16px) rotate(1.5deg)}
  .gm-cover{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;min-height:0}
  .gm-cover-side{grid-row:1;grid-column:1;writing-mode:horizontal-tb;transform:none;justify-content:start;padding:.9rem 1.2rem;border-right:0;border-bottom:1px solid var(--gm-dark-line);white-space:normal;letter-spacing:.18em}
  .gm-cover-body{padding:1.6rem 1.2rem 1.5rem}
  .gm-cover-hl{font-size:2.4rem;-webkit-line-clamp:7}
  .gm-cover-stand{font-size:1.1rem}
  .gm-cover-actions{margin-top:1.4rem}
  .gm-cover-foot{grid-column:1;padding:.8rem 1.2rem}
  .gm-issue{margin-top:-3rem;padding:1.3rem 1.1rem 1.4rem}
  .gm-numeral{font-size:2.1rem;min-width:1.8rem}
  .gm-dept{padding:2.4rem 0 2.6rem}
  .gm-dept-head{flex-direction:column;align-items:start;gap:.6rem;margin-bottom:1.4rem}
  .gm-dept-lead{padding:1.4rem 1.1rem 1.4rem 1.4rem}
  .gm-dept-lead::before{top:1.4rem;bottom:1.4rem}
  .gm-back{padding:2.6rem 0 3rem}
  .gm-contrib{padding:1.4rem 1.1rem}
  .gm-pagehead{padding:1.9rem 0 2rem}
  .gm-pagehead-title{font-size:clamp(2rem,9vw,2.4rem)}
  .gm-pagehead-lead{font-size:1.08rem}
  .gm-page-body{padding-top:1.8rem;padding-bottom:3rem}
  .gm-entries,.gm-entries-2{grid-template-columns:1fr}
  .gm-entry{padding:1.3rem 1.1rem 1.2rem}
  .gm-index ol{columns:1}
  .gm-pull{float:none;width:auto;margin:1rem 0 1.4rem}
  .gm-body{font-size:1.07rem}
  .gm-further{padding:1.3rem 1.1rem 1.4rem}
  .gm-visit{width:100%}
  .gm-form,.gm-sent{padding:1.4rem 1.1rem 1.5rem}
  .gm-reasons{grid-template-columns:1fr}
  .gm-footer-grid{grid-template-columns:1fr;gap:1.8rem}
  .gm-footer-depts ul{columns:2}
  .gm-footer-top{align-items:start}
  .gm-dropcap::first-letter{font-size:3.4rem}
}
/* Phone tap targets: every small link is at least 40px tall. */
@media (max-width:48rem){
  .gm-label-link,.gm-readmore,.gm-dept-all,.gm-crumbs a,.gm-footer li a,.gm-footer-network,.gm-cover-dept,.gm-topline-pub,.t-general_magazine .more-topics-panel a,.gm-related a,.gm-colophon dd a,.gm-body a,.gm-empty-text a{min-height:2.5rem;align-items:center}
  .gm-label-link,.gm-footer li a,.gm-related a,.gm-colophon dd a{display:inline-flex}
  .gm-footer li{padding:0}
  .gm-cover-body .gm-by,.gm-article-rule .gm-by{min-height:2.5rem}
}
@media (prefers-reduced-motion:reduce){
  .t-general_magazine *,.t-general_magazine *::before,.t-general_magazine *::after{transition:none!important;animation:none!important}
  .gm-stack:hover .gm-cover,.gm-entry:hover,.gm-dept-lead:hover,.gm-btn:hover,.t-general_magazine a.pg:hover{transform:none}
}
@media print{
  .gm-depts-bar,.gm-footer,.gm-search,.gm-article-side{display:none!important}
  .gm-cover-band,.gm-pagehead{background:#fff;color:#000}
}
.gm-dept-note{color:var(--muted)}
