@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/barlow-condensed-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/barlow-condensed-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/barlow-condensed-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/barlow-condensed-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/barlow-condensed-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/barlow-condensed-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Bitter';font-style:italic;font-weight:400 800;font-display:swap;src:url(/fonts/bitter-italic-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Bitter';font-style:italic;font-weight:400 800;font-display:swap;src:url(/fonts/bitter-italic-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Bitter';font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/bitter-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Bitter';font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/bitter-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/source-sans-3-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/source-sans-3-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'UnifrakturCook';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/unifrakturcook-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
:root{--ink:#2a303b;--paper:#fff;--muted:#646b75;--line:#e4e6e9;--band:#f5f6f8;--yellow:#ffd644;--red:#c8202b;--accent:#c8202b;--serif:'Bitter',Georgia,'Times New Roman',serif;--cond:'Barlow Condensed','Arial Narrow',Arial,sans-serif;--sans:'Source Sans 3','Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 var(--sans)}
button,input,select{font:inherit;color:inherit}
button,a{touch-action:manipulation}
a{color:inherit;text-decoration:none}
button{cursor:pointer}
button:disabled{cursor:default;opacity:.55}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #1d6fd8;outline-offset:2px}
img,svg{display:block;max-width:100%}
h1,h2,h3{font-family:var(--serif);font-weight:700;margin:0;text-wrap:balance}
p{margin:0 0 12px;text-wrap:pretty}
em{font-style:italic}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}

/* notice bar, masthead, rubriques */
.demo-strip{background:var(--band);color:var(--ink);text-align:center;font:500 13px/1.4 var(--cond);letter-spacing:.04em;text-transform:uppercase;padding:6px 16px;border-bottom:1px solid var(--line)}
.demo-strip a{text-decoration:underline;text-underline-offset:3px;margin-left:8px;white-space:nowrap}
.site-head{background:var(--ink);color:#fff}
.site-head .wrap{max-width:1280px}
.brand-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:12px 0}
.head-left{display:flex;gap:22px;font:600 15px var(--cond);letter-spacing:.02em;color:#c9ced6}
.head-left a:hover,.nav a:hover{color:#fff}
.brand{font:700 46px/1 'UnifrakturCook','Bitter',serif;letter-spacing:.01em;color:#fff;white-space:nowrap}
.header-actions{display:flex;gap:16px;align-items:center;justify-content:flex-end;font:600 15px var(--cond)}
.header-actions .subscribe{background:var(--yellow);color:var(--ink);padding:6px 14px;border-radius:3px;font:700 16px var(--cond)}
.header-actions .subscribe:hover{background:#ffe27a}
#account-link{color:#fff;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cart-link{border:1px solid #5a6170;border-radius:50%;min-width:30px;height:30px;display:grid;place-items:center;font:600 13px var(--sans);color:#fff}
.nav{border-top:1px solid #3d4452;display:flex;gap:6px 22px;align-items:center;padding:11px 0;font:600 16px var(--cond);color:#c9ced6;overflow-x:auto;scrollbar-width:none;white-space:nowrap}
.nav::-webkit-scrollbar{display:none}
.nav a[aria-current=page]{color:#fff;box-shadow:0 2px 0 var(--yellow)}
.nav .sep{width:1px;height:16px;background:#4a5160;flex:none}

/* "en continu" strip */
.ticker{background:var(--band);border-bottom:1px solid var(--line)}
.ticker .wrap{max-width:1280px;display:grid;grid-template-columns:repeat(5,1fr) auto;gap:0;padding-top:14px;padding-bottom:14px}
.ticker a.tick{padding:0 18px;border-left:1px solid var(--line);font:600 14px/1.3 var(--cond);color:#3d4452;display:block}
.ticker a.tick:first-child{border-left:0;padding-left:0}
.ticker .tick b{display:block;font:600 13px var(--cond);color:var(--ink);margin-bottom:6px}
.ticker .tick b .alert{color:var(--red);margin-left:8px;letter-spacing:.06em}
.ticker .more{align-self:start;border:1px solid var(--line);border-radius:16px;padding:4px 14px;font:600 14px var(--cond);background:#fff;white-space:nowrap}

/* shared atoms */
.eyebrow{font:600 13px var(--cond);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.orange{color:var(--red)}
.tag{display:inline-block;background:var(--ink);color:#fff;font:700 12px/1 var(--cond);letter-spacing:.08em;text-transform:uppercase;padding:4px 6px;vertical-align:.25em;margin-right:8px}
.tag.live{background:var(--red)}
.abo{display:inline-grid;place-items:center;width:.95em;height:.95em;background:var(--yellow);color:var(--ink);font:800 .62em/1 var(--serif);margin-right:.4em;vertical-align:.08em;border-radius:1px}
.abo-label{display:inline-flex;align-items:center;gap:6px;font:600 13px var(--cond);letter-spacing:.03em;color:var(--ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid var(--ink);padding:10px 20px;background:var(--ink);color:#fff;font:700 16px/1.3 var(--cond);text-align:center;border-radius:3px}
.btn:hover{background:#3d4452}
.btn.light{background:#fff;color:var(--ink);border-color:#c9ced6}
.btn.light:hover{background:var(--band)}
.btn.accent,.btn.yellow{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}
.btn.small{padding:6px 12px;font-size:14px}
.btn.full{width:100%}
.text-link{font:600 15px var(--cond);border-bottom:1px solid currentColor;padding-bottom:1px}
.banner-note{font-size:13px;color:var(--muted)}
.notice{background:var(--band);padding:12px 14px;font-size:14px;margin:18px 0;border-radius:3px}
.form-error{color:#a3141d;font-size:14px}
.spaced{margin-top:18px}
.buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}

/* home: main column and rail */
.front{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px;padding:28px 0 40px}
.lead h1{font-size:clamp(24px,2.9vw,31px);line-height:1.22}
.lead-body{display:grid;grid-template-columns:190px minmax(0,1fr);gap:22px;margin-top:18px}
.lead-links a{display:block;font:600 15px/1.35 var(--serif);margin-bottom:16px}
.lead-links a b{color:var(--red);font:700 15px var(--cond);margin-right:6px}
.figure{position:relative;margin:0;background:var(--band)}
.figure svg{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.figure figcaption,.credit{display:block;text-align:right;font:500 11px var(--cond);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-top:4px;background:#fff}
.related{border:1px solid var(--line);border-left-width:1px;margin:18px 0 0;padding:12px 14px;font:600 15px/1.35 var(--serif);display:block}
.story{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:22px;padding:26px 0;border-top:1px solid var(--line)}
.story.first{margin-top:28px}
.story h3{font-size:20px;line-height:1.25}
.story p{color:var(--muted);font-size:15px;margin:10px 0 0}
.story .eyebrow{margin-bottom:6px}
.story .meta-line{font:500 13px var(--cond);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-top:10px}
.rail>*+*{margin-top:28px}
.rail h3{font-size:18px;line-height:1.25}
.rail .by{font:600 14px var(--cond);color:var(--muted);margin:8px 0 10px}
.rail-box{background:var(--band);padding:18px;border-radius:3px}
.rail-box h3{font-family:var(--cond);font-size:20px}
.rail-box p{font-size:15px;color:var(--muted);margin:6px 0 12px}
.rail-box .cover{max-width:170px;margin:4px auto 14px}
.rail-list a{display:block;padding:12px 0;border-top:1px solid var(--line);font:600 15px/1.35 var(--serif)}
.rail-list a:first-of-type{border-top:0}

/* generic pages */
.page-intro{padding:30px 0 22px;max-width:760px}
.page-intro h1{font-size:clamp(28px,4vw,40px);line-height:1.15;margin:8px 0 10px}
.page-intro p{color:var(--muted);font-size:17px}
.page-intro.breadcrumbs,.breadcrumbs{font:600 14px var(--cond);color:var(--muted);letter-spacing:.03em}
.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}
.section{padding:26px 0 40px;border-top:1px solid var(--line)}
.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:20px;gap:20px}
.section-head h2{font-size:26px;margin-top:4px}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px}
.cards.catalog{grid-template-columns:repeat(4,minmax(0,1fr))}
.card .card-art{background:var(--band)}
.card .card-art svg{width:100%;aspect-ratio:16/10;object-fit:cover}
.card .meta{display:flex;justify-content:space-between;gap:10px;margin:10px 0 6px;font:600 13px var(--cond);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.card h3{font-size:19px;line-height:1.25}
.card p{color:var(--muted);font-size:15px;margin:8px 0 6px}
.card a:hover h3,.story a:hover h3,.lead a:hover h1,.rail a:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:18px}
.chip{border:1px solid #c9ced6;background:#fff;border-radius:16px;padding:5px 14px;font:600 15px var(--cond)}
.chip.active{background:var(--ink);border-color:var(--ink);color:#fff}
.filters input{margin-left:auto;border:1px solid #c9ced6;border-radius:3px;padding:8px 12px;min-width:240px;background:#fff}
.empty{background:var(--band);padding:36px 24px;text-align:center;border-radius:3px;grid-column:1/-1}
.empty h2{font-size:24px;margin-bottom:8px}
.empty p{color:var(--muted)}

/* covers, products */
.cover{position:relative;background:#a9b8ac;aspect-ratio:3/4;overflow:hidden;color:#fff;box-shadow:0 1px 0 var(--line),6px 6px 0 var(--band)}
.cover svg{position:absolute;inset:18% 0 18% 0;width:100%;height:64%;object-fit:cover}
.cover-title{position:absolute;top:5%;left:7%;font:700 clamp(20px,2.4vw,30px)/1 'UnifrakturCook',var(--serif)}
.cover-sub{position:absolute;top:21%;left:8%;font:600 9px var(--cond);letter-spacing:.12em;text-transform:uppercase;opacity:.85}
.cover-bottom{position:absolute;bottom:13%;left:8%;right:8%;font:700 clamp(15px,1.7vw,21px)/1.12 var(--serif)}
.cover-number{position:absolute;bottom:4%;left:8%;font:600 10px var(--cond);letter-spacing:.06em;text-transform:uppercase}
.product h3{font-size:17px;line-height:1.3;margin:14px 0 4px}
.product p{font-size:14px;color:var(--muted);margin:0 0 8px}
.product-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:8px}
.product-bottom strong,.price{font:700 22px var(--cond)}
.price{font-size:34px;margin:14px 0}
.price small{font-size:16px;color:var(--muted);font-weight:600}
.issue-banner{display:grid;grid-template-columns:260px minmax(0,1fr);gap:36px;align-items:center;background:var(--band);padding:30px;border-radius:3px;margin:26px 0}
.issue-banner h2{font-size:28px;line-height:1.2;margin:6px 0 10px}
.issue-banner p{color:var(--muted)}
.reader-tag{display:inline-block;background:var(--yellow);font:700 13px var(--cond);letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;border-radius:2px;margin-bottom:10px}

/* plans */
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:8px 0 20px}
.plan{border:1px solid var(--line);padding:24px;border-radius:3px;display:flex;flex-direction:column;background:#fff}
.plan.featured{background:var(--ink);color:#fff;border-color:var(--ink)}
.plan.featured p,.plan.featured .price small{color:#c9ced6}
.plan.featured .btn{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}
.plan .ribbon{font:600 13px var(--cond);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.plan.featured .ribbon{color:var(--yellow)}
.plan h2{font-size:26px;margin-top:6px}
.plan ul{list-style:none;padding:0;margin:8px 0 22px;display:grid;gap:8px;font-size:15px;flex:1}
.plan li{padding-left:22px;position:relative}
.plan li::before{content:"✓";position:absolute;left:0;font-weight:700}

/* article */
.article{max-width:700px;margin:0 auto;padding:26px 0 40px}
.article h1{font-size:clamp(28px,4.2vw,40px);line-height:1.16;margin:10px 0 14px}
.article .lead{font:400 20px/1.45 var(--serif);color:#3d4452}
.byline{font:600 15px var(--cond);color:var(--muted);padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:18px 0}
.article-art{background:var(--band);margin-bottom:22px}
.article-art svg{width:100%;aspect-ratio:16/10;object-fit:cover}
.prose{font:400 18px/1.7 var(--serif)}
.prose h2{font-size:24px;margin:26px 0 10px}
.prose p{margin:0 0 18px}
.paywall{position:relative;border-top:4px solid var(--yellow);background:var(--band);padding:28px;margin-top:8px;text-align:center;border-radius:0 0 3px 3px}
.paywall::before{content:"";position:absolute;left:0;right:0;top:-100px;height:96px;background:linear-gradient(rgba(255,255,255,0),#fff);pointer-events:none}
.paywall h2{font-size:26px;line-height:1.2;margin:8px 0 10px}
.paywall .btn{margin:6px 4px}
.paywall .btn:first-of-type{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}

/* forms, cart, account */
.auth{max-width:520px;margin:0 auto;padding:36px 0}
.auth h1{font-size:32px;line-height:1.15;margin:8px 0 10px}
.field{display:flex;flex-direction:column;gap:6px;font:600 15px var(--cond);margin-bottom:16px}
.field input,.field select{border:1px solid #c9ced6;border-radius:3px;padding:10px 12px;background:#fff;font:400 16px var(--sans);width:100%}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field-error{display:block;color:#a3141d;font:400 13px var(--sans);margin-top:2px}
input[aria-invalid=true]{border-color:#a3141d}
.check-row{display:flex;gap:10px;align-items:flex-start;font-size:15px;margin:14px 0}
.check-row input{margin-top:4px}
.two-col{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:28px;align-items:start;padding-bottom:40px}
.panel{border:1px solid var(--line);padding:22px;border-radius:3px;background:#fff}
.panel h2{font:700 22px var(--cond);margin-bottom:12px}
.panel h3{font-size:18px;margin:10px 0 6px}
.cart-line{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}
.cart-line .reader-tag{margin:0;justify-self:center}
.line-info h3{font-size:17px}
.line-info p{font-size:14px;color:var(--muted);margin:2px 0 4px}
.remove{border:0;background:none;padding:0;font:600 14px var(--cond);text-decoration:underline;color:var(--muted)}
.line-actions{display:flex;align-items:center;gap:10px;font:700 17px var(--cond)}
.icon-btn{width:30px;height:30px;border:1px solid #c9ced6;border-radius:50%;background:#fff}
.totals{display:flex;justify-content:space-between;padding:8px 0;font-size:15px}
.totals.big{border-top:1px solid var(--ink);margin-top:8px;padding-top:12px;font:700 20px var(--cond)}
.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-bottom:30px}
.status{display:inline-block;background:#dff3e6;color:#17603a;font:700 13px var(--cond);letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:2px}
.status.expired{background:#f6e3e4;color:#a3141d}
table.orders{width:100%;border-collapse:collapse;font-size:15px}
.orders th{text-align:left;font:600 14px var(--cond);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:10px 8px;border-bottom:1px solid var(--ink)}
.orders td{padding:12px 8px;border-bottom:1px solid var(--line);vertical-align:top;font-variant-numeric:tabular-nums}
.success{max-width:640px;margin:0 auto;padding:40px 0;text-align:center}
.success h1{font-size:32px;line-height:1.2;margin:10px 0}
.success .panel{text-align:left;margin-top:22px}
.success-mark{width:54px;height:54px;border-radius:50%;background:var(--yellow);display:grid;place-items:center;font:700 26px var(--sans);margin:0 auto 12px}
.order-list{padding-left:20px;margin:0 0 12px}
.success .buttons{justify-content:center}

/* status board, tests */
.status-board{display:grid;align-items:start;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px;padding:4px 0 34px}
.status-board>.banner-note,.status-board>.form-error{grid-column:1/-1}
.status-card{border:1px solid var(--line);padding:18px 20px;border-radius:3px;background:#fff}
.status-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.status-head h3{font:700 19px/1.2 var(--cond);flex:1}
.status-dot{width:10px;height:10px;border-radius:50%;background:#1f8a54;flex:none}
.status-card.warn .status-dot{background:#c98a1b}
.status-card.down .status-dot{background:var(--red)}
.status-word{font:700 13px var(--cond);letter-spacing:.08em;text-transform:uppercase;color:#17603a}
.status-card.warn .status-word{color:#7d560b}
.status-card.down .status-word{color:#a3141d}
.status-card p{color:var(--muted);font-size:15px;margin-bottom:10px}
.status-card dl{margin:0;display:grid;gap:4px;font-size:14px}
.status-card dl div{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:4px}
.status-card dt{color:var(--muted)}
.status-card dd{margin:0;text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.test-tools{background:var(--band);padding:26px;border-radius:3px;margin-bottom:40px}
.test-tools h2{font-size:24px;margin:4px 0 8px}
.steps{margin:14px 0;padding-left:20px;display:grid;gap:8px;max-width:760px}

/* newsletter, footer, toast */
.newsletter{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:34px 0;border-top:1px solid var(--ink);margin-top:10px}
.newsletter h2{font-size:26px;margin:4px 0 8px}
.newsletter p{color:var(--muted)}
.inline-form{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.site-foot{background:var(--ink);color:#c9ced6;margin-top:20px}
.footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font:500 14px var(--cond);flex-wrap:wrap}
.footer-links{display:flex;gap:20px;flex-wrap:wrap}
.footer-links a:hover{color:#fff}
.mini-brand{font:700 26px/1 'UnifrakturCook',var(--serif);color:#fff}
.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:12px 20px;font-size:15px;border-radius:3px;box-shadow:0 6px 24px rgba(0,0,0,.25);z-index:50;max-width:calc(100vw - 32px)}

@media (max-width:980px){
  .front{grid-template-columns:1fr}
  .rail{display:grid;grid-template-columns:1fr 1fr;gap:24px}
  .rail>*+*{margin-top:0}
  .cards,.cards.catalog,.plans{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ticker .wrap{grid-template-columns:repeat(3,1fr)}
  .ticker a.tick:nth-of-type(n+4),.ticker .more{display:none}
  .two-col,.newsletter{grid-template-columns:1fr}
}
@media (max-width:640px){
  .wrap{padding:0 16px}
  .brand-row{grid-template-columns:auto 1fr;gap:10px}
  .head-left{display:none}
  .brand{font-size:34px}
  .header-actions{gap:10px}
  .header-actions .subscribe{padding:5px 10px;font-size:15px}
  #account-link{max-width:84px}
  .ticker .wrap{grid-template-columns:1fr 1fr}
  .ticker a.tick:nth-of-type(n+3){display:none}
  .ticker a.tick{padding:0 12px}
  .lead-body,.story,.issue-banner,.account-grid,.field-row,.rail{grid-template-columns:1fr}
  .lead-links{order:2}
  .story .figure{order:-1}
  .cards,.cards.catalog,.plans{grid-template-columns:1fr}
  .cards.catalog{grid-template-columns:1fr 1fr}
  .issue-banner{padding:20px}
  .issue-banner .cover{max-width:200px}
  .filters input{margin-left:0;min-width:0;width:100%}
  .cart-line{grid-template-columns:56px minmax(0,1fr)}
  .line-actions{grid-column:2}
  .prose{font-size:17px}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* debug button and panel */
.debug-toggle{margin-left:12px;border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:3px;padding:2px 10px;font:700 13px var(--cond);letter-spacing:.06em;text-transform:uppercase}
.debug-toggle[aria-expanded=true]{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}
.debug{position:fixed;top:0;right:0;bottom:0;width:min(430px,100vw);background:#1b1f27;color:#e6e9ee;z-index:60;overflow:auto;font:14px/1.45 var(--sans);box-shadow:-8px 0 30px rgba(0,0,0,.3)}
body.debug-on{padding-right:min(430px,100vw)}
.debug header{position:sticky;top:0;background:#12151b;display:flex;justify-content:space-between;align-items:center;padding:12px 16px;font:700 17px var(--cond);z-index:1}
.debug button,.debug .acts a{border:1px solid #4a5160;background:#2a303b;color:#fff;border-radius:3px;padding:4px 10px;font:600 14px var(--cond);margin-left:6px}
.debug .acts{display:flex;flex-wrap:wrap;gap:8px}
.debug .acts button,.debug .acts a{margin:0}
.debug section{padding:14px 16px;border-top:1px solid #333a47}
.debug h4{margin:0 0 10px;font:700 13px var(--cond);letter-spacing:.1em;text-transform:uppercase;color:var(--yellow)}
.debug dl{margin:0;display:grid;gap:8px}
.debug .kv{display:grid;grid-template-columns:128px minmax(0,1fr);gap:10px}
.debug dt{color:#9aa3b2}
.debug dd{margin:0;overflow-wrap:anywhere}
.debug code,.code{font:12.5px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.debug code{color:#b8c7e0}
.debug .text-link{color:#fff}
.debug .hint{color:#9aa3b2;font-size:13px;margin:0 0 8px}
.debug .call{border:1px solid #333a47;border-radius:3px;margin-bottom:6px;background:#20252e}
.debug .call.bad{border-color:#8a2b32}
.debug summary{cursor:pointer;padding:7px 10px;font:600 14px var(--cond);display:flex;gap:8px;align-items:baseline}
.debug summary .m{color:var(--yellow);min-width:36px}
.debug .t{margin-left:auto;color:#9aa3b2;font:500 12.5px var(--cond);white-space:nowrap}
.debug ol{margin:0;padding:4px 10px 10px 30px;display:grid;gap:5px;font:12.5px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.debug li{overflow-wrap:anywhere}
.debug li .t{float:right;margin-left:8px}
.debug .who{display:inline-block;background:#3d4452;border-radius:2px;padding:0 5px;font:600 12px var(--cond);letter-spacing:.04em;text-transform:uppercase}
.debug .who.op{background:#6b4a0e}
.debug .who.rd{background:#1f5a3c}
.debug .err,.debug li.bad{color:#ff9aa2}
.debug .call p{padding:0 10px 8px;margin:0}
.pill{display:inline-block;border-radius:2px;padding:1px 7px;font:700 12px var(--cond);letter-spacing:.06em;text-transform:uppercase;background:var(--band);color:var(--ink)}
.pill.on{background:#dff3e6;color:#17603a}
.pill.off{background:#f6e3e4;color:#a3141d}
.debug .pill.on{background:#1f5a3c;color:#fff}
.debug .pill.off{background:#6d2329;color:#fff}

/* Mahalo & Opper page */
.flow{display:grid;grid-template-columns:minmax(0,.8fr) 92px minmax(0,1fr) 112px minmax(0,1.15fr) 150px minmax(0,1fr) 92px minmax(0,1.2fr);align-items:stretch;gap:0;margin:6px 0 26px;overflow-x:auto;padding-bottom:6px}
.flow .node{border:1px solid var(--line);border-radius:3px;padding:10px 12px;min-width:0;background:#fff;display:flex;flex-direction:column;justify-content:center}
.flow .node.main{background:var(--ink);color:#fff;border-color:var(--ink)}
.flow .node b{font:700 17px var(--cond)}
.flow .node span{font-size:12.5px;line-height:1.3;color:var(--muted);overflow-wrap:anywhere}
.flow .node.main span{color:#c9ced6}
.flow .link{position:relative;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:0 6px;text-align:center}
.flow .link::before{content:"";position:absolute;left:0;right:0;top:50%;border-top:2px solid #c9ced6;z-index:0}
.flow .link i{position:relative;z-index:1;background:#fff;font:600 12.5px/1.25 var(--cond);font-style:normal;color:var(--muted);padding:2px 4px;align-self:center}
.flow .link i.ok{color:#17603a}
.flow .link i.no{color:#a3141d}
.flow .link.two i:first-child{margin-bottom:14px}
.tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:26px}
.tiles div{background:var(--band);border-radius:3px;padding:14px 16px}
.tiles b{display:block;font:700 30px/1.1 var(--cond);font-variant-numeric:tabular-nums}
.tiles span{font-size:13.5px;color:var(--muted)}
.lede{max-width:760px;color:#3d4452;font-size:17px;margin-bottom:16px}
.scroll{overflow-x:auto}
.orders.map td{font-size:14.5px}
.hooks{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.hook{border:1px solid var(--line);border-radius:3px;padding:14px 16px}
.hook h3{font:700 17px var(--cond);margin-bottom:8px}
.hook div{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:5px 0;border-top:1px solid var(--line);font-size:14.5px}
.hook div .banner-note{grid-column:1/-1}
.code{background:#1b1f27;color:#e6e9ee;padding:12px 14px;border-radius:3px;overflow-x:auto;margin:10px 0 0;white-space:pre}
.prose code{font:14px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:var(--band);padding:1px 5px;border-radius:2px;overflow-wrap:anywhere}
@media (max-width:980px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}body.debug-on{padding-right:0}}
@media (max-width:640px){.flow{grid-template-columns:1fr}.flow .link{min-width:0;padding:14px 0}.flow .link::before{left:50%;right:auto;top:0;bottom:0;border-top:0;border-left:2px solid #c9ced6}.debug-toggle{display:inline-block;margin:4px 0 0 8px}}
@media (max-width:980px){.flow{grid-template-columns:1fr}.flow .link{padding:14px 0}.flow .link::before{left:50%;right:auto;top:0;bottom:0;border-top:0;border-left:2px solid #c9ced6}}

/* one-click test fills */
.quick{background:var(--band);border-radius:3px;padding:14px;margin:16px 0 20px;display:grid;gap:8px}
.quick-head{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;font-size:14px;color:var(--muted)}
.quick-head strong{font:700 13px var(--cond);letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.persona{display:grid;gap:1px;text-align:left;border:1px solid #c9ced6;border-radius:3px;background:#fff;padding:9px 12px}
.persona:hover{border-color:var(--ink)}
.persona.active{border-color:var(--ink);box-shadow:inset 4px 0 0 var(--yellow)}
.persona b{font:700 16px var(--cond)}
.persona span{font-size:13.5px;color:var(--muted)}
.quick .banner-note{margin:0;min-height:1.2em}
.pw{display:flex;gap:8px}
.pw input{flex:1;min-width:0}

/* interface by reader status */
.header-actions .subscribe.member{background:transparent;color:var(--yellow);box-shadow:inset 0 0 0 1px var(--yellow)}
.header-actions .subscribe.member:hover{background:rgba(255,214,68,.12)}
.reader-bar{border-bottom:1px solid var(--line);background:#fffbe8;font-size:15px}
.reader-bar.paper,.reader-bar.free,.reader-bar.pending{background:#fff}
.reader-bar .wrap{max-width:1280px;display:flex;gap:12px;align-items:baseline;padding-top:9px;padding-bottom:9px}
.reader-bar a{text-decoration:underline;text-underline-offset:3px;font-weight:600;white-space:nowrap}
.abo.open{background:#dff3e6;color:#17603a}
.ticker .tick b .alert.in{color:#17603a}
.rail-box.member .pill{margin-bottom:8px}
.rail-extra{margin:10px 0 0;font-size:14px}
.btn.current{cursor:default;opacity:1;background:var(--yellow);border-color:var(--yellow);color:var(--ink)}
.btn.light.current{background:var(--band);border-color:var(--line);color:var(--muted)}
.plan.featured .btn.light.current{background:#3d4452;border-color:#3d4452;color:#c9ced6}
.reader-tag.locked{background:var(--band)}
.link-btn{border:0;background:none;padding:0;margin-left:10px;font:600 15px var(--cond);border-bottom:1px solid currentColor}
@media (max-width:640px){.reader-bar .wrap{flex-direction:column;gap:4px}.reader-bar a{white-space:normal}}

/* in-page PDF reader, access-code dialog */
.pdf-view{margin:10px 0 40px;background:#3d4452;border-radius:3px;padding:0 0 18px}
.pdf-bar{position:sticky;top:0;display:flex;justify-content:space-between;gap:12px;background:var(--ink);color:#fff;padding:10px 16px;font:600 15px var(--cond);border-radius:3px 3px 0 0;z-index:2}
.pdf-pages{display:grid;gap:14px;justify-items:center;padding:18px 14px 0;max-width:900px;margin:0 auto}
.pdf-pages canvas{background:#fff;box-shadow:0 2px 14px rgba(0,0,0,.35);max-width:100%;height:auto}
.pdf-view>.form-error{background:#fff;margin:0;padding:16px;border-radius:3px}
.code-dialog{border:0;border-radius:4px;padding:26px;max-width:440px;width:calc(100vw - 32px);box-shadow:0 20px 60px rgba(0,0,0,.35)}
.code-dialog::backdrop{background:rgba(27,31,39,.55)}
.code-dialog h2{font-size:24px;margin-bottom:8px}
