/*
Theme Name: Global Success Times
Theme URI: https://globalsuccesstimes.com/
Author: Global Success Times
Description: Editorial magazine theme for Global Success Times. Homepage blocks fill themselves from the newest stories; the newest Magazine post is always the current issue; one-page magazine archive; Women in Business, Business Insights and News sections; Get Featured and Contact pages with saved enquiries; built-in SEO (meta descriptions, Open Graph, schema.org, breadcrumbs, clean sitemap). Run Appearance > GST Setup after activating.
Version: 1.3.9
Requires at least: 6.3
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: gst
Tags: news, blog, two-columns, custom-logo, custom-menu, featured-images, translation-ready
*/

/* Fonts, served with the theme (latin and latin-ext). Playfair Display, Source Serif 4 and Work Sans: SIL Open Font License 1.1. */
@font-face { font-family: 'Playfair Display'; font-style: italic; font-weight: 400 900; font-display: swap; src: url(assets/fonts/playfair-display-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: 'Playfair Display'; font-style: italic; font-weight: 400 900; font-display: swap; src: url(assets/fonts/playfair-display-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: 'Playfair Display'; font-style: normal; font-weight: 400 900; font-display: swap; src: url(assets/fonts/playfair-display-normal-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: 'Playfair Display'; font-style: normal; font-weight: 400 900; font-display: swap; src: url(assets/fonts/playfair-display-normal-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 Serif 4'; font-style: italic; font-weight: 400 700; font-display: swap; src: url(assets/fonts/source-serif-4-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: 'Source Serif 4'; font-style: italic; font-weight: 400 700; font-display: swap; src: url(assets/fonts/source-serif-4-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: 'Source Serif 4'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(assets/fonts/source-serif-4-normal-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 Serif 4'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(assets/fonts/source-serif-4-normal-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: 'Work Sans'; font-style: normal; font-weight: 400 800; font-display: swap; src: url(assets/fonts/work-sans-normal-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: 'Work Sans'; font-style: normal; font-weight: 400 800; font-display: swap; src: url(assets/fonts/work-sans-normal-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; }

/* Layout: international business-magazine grid (Forbes / Time / Fortune lineage). Logo masthead, sticky section bar,
   three-column lead package, blue-ruled section rows, a navy magazine band and a navy band for selling features.
   Single light theme by choice: a print magazine on white paper, set in the brand's navy and blue. */
:root {
  --paper: #FFFFFF;
  --ink: #0B1F45;
  --text: #1D2B47;
  --navy: #0B1F45;
  --navy-2: #163A73;
  --navy-deep: #071633;
  --accent: #2D6BE0;
  --accent-2: #9CC0FF;
  --accent-ink: #1D4FA8;
  --muted: #56637F;
  --line: #DCE2EC;
  --wash: #F2F5FA;
  --on-navy: #F4F6FB;
  --on-navy-muted: #B3BED3;
  --navy-line: #2A4170;

  --display: "Playfair Display", Georgia, "Times New Roman", serif;
  --serif: "Source Serif 4", Georgia, "Times New Roman", serif;
  --sans: "Work Sans", "Helvetica Neue", Arial, sans-serif;

  --max: 1280px;
  --gut: clamp(16px, 3vw, 32px);
  color-scheme: light;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
[id] { scroll-margin-top: 70px; }
body { margin: 0; background: var(--paper); color: var(--text); font-family: var(--sans); font-size: 16px; line-height: 1.5; -webkit-font-smoothing: antialiased; }
body::before { content: ""; position: fixed; inset: 0 0 auto; height: env(safe-area-inset-top, 0px); z-index: 30; background: var(--paper); }
a { color: inherit; }
img { display: block; max-width: 100%; }
h1, h2, h3, h4 { text-wrap: balance; color: var(--ink); }
p { text-wrap: pretty; }
button, input, select, textarea { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.wrap { max-width: var(--max); margin-inline: auto; padding-left: max(var(--gut), env(safe-area-inset-left, 0px)); padding-right: max(var(--gut), env(safe-area-inset-right, 0px)); }
.hl { color: var(--accent-2); }

/* Buttons */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 11px 18px; border: 1.5px solid transparent; border-radius: 0; font: 700 12.5px/1 var(--sans); letter-spacing: .1em; text-transform: uppercase; text-decoration: none; cursor: pointer; white-space: nowrap; transition: background-color .2s, color .2s, border-color .2s; }
.btn-accent { background: var(--accent); color: #FFFFFF; }
.btn-accent:hover { background: var(--navy-2); }
.mag-band .btn-accent, .band .btn-accent, .gf-hero .btn-accent, .ad-house .btn-accent { background: #FFFFFF; color: var(--navy); }
.mag-band .btn-accent:hover, .band .btn-accent:hover, .gf-hero .btn-accent:hover, .ad-house .btn-accent:hover { background: var(--accent-2); color: var(--navy); }
.btn-navy { background: var(--navy); color: var(--paper); }
.btn-navy:hover { background: var(--accent); color: #FFFFFF; }
.btn-line { border-color: var(--navy); color: var(--navy); background: transparent; }
.btn-line:hover { background: var(--navy); color: var(--paper); }
.btn-ghost { border-color: rgba(244, 246, 251, .45); color: var(--on-navy); background: transparent; }
.btn-ghost:hover { background: var(--on-navy); color: var(--navy); border-color: var(--on-navy); }

/* Top bar, masthead, nav */
.topbar { background: var(--navy-deep); color: var(--on-navy-muted); font-size: 12px; }
.topbar .wrap { display: flex; justify-content: space-between; align-items: center; gap: 6px 20px; flex-wrap: wrap; padding-block: 7px; }
.topbar nav { display: flex; gap: 18px; flex-wrap: wrap; }
.topbar a { color: var(--on-navy); text-decoration: none; font-weight: 600; letter-spacing: .04em; }
.topbar a:hover { color: var(--accent-2); }
.mast .wrap { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 16px; padding-block: 28px 26px; }
.mast-left, .mast-right { display: flex; gap: 10px; align-items: center; }
.mast-right { justify-content: flex-end; }
.logo { display: block; }
.logo img { display: block; width: clamp(340px, 40vw, 560px); height: auto; }
.icon-btn { display: inline-flex; align-items: center; gap: 8px; background: none; border: 0; padding: 8px 4px; cursor: pointer; font: 700 12px/1 var(--sans); letter-spacing: .1em; text-transform: uppercase; color: var(--navy); }
.icon-btn svg { width: 19px; height: 19px; }
.icon-btn:hover { color: var(--accent-ink); }
.secnav { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 20; background: var(--paper); border-top: 1px solid var(--line); border-bottom: 3px solid var(--navy); transition: box-shadow .25s; }
body.stuck .secnav { box-shadow: 0 10px 24px -18px rgba(11, 31, 69, .6); }
.secnav .wrap { display: flex; align-items: center; gap: 16px; }
.mini-logo { flex: none; display: block; width: 0; opacity: 0; overflow: hidden; transition: width .25s, opacity .25s; }
.mini-logo img { display: block; width: 36px; height: 36px; }
body.stuck .mini-logo { width: 36px; opacity: 1; }
.secnav ul { list-style: none; margin: 0 auto; padding: 0; display: flex; gap: 30px; overflow-x: auto; scrollbar-width: none; min-width: 0; }
.secnav ul::-webkit-scrollbar { display: none; }
.secnav a.nl { display: block; padding: 15px 0 12px; border-bottom: 3px solid transparent; white-space: nowrap; text-decoration: none; font: 700 12.5px/1 var(--sans); letter-spacing: .09em; text-transform: uppercase; color: var(--navy); }
.secnav a.nl:hover { color: var(--accent-ink); }
.secnav a.nl[aria-current="page"] { border-bottom-color: var(--accent); }
/* The bar's Get Featured button repeats the one in the masthead, so it shows only once the masthead has scrolled away
   (and on small phones, where the masthead has no room for buttons). */
.secnav .btn { padding: 9px 14px; flex: none; display: none; }
body.stuck .secnav .btn { display: inline-flex; }
.ticker { border-bottom: 1px solid var(--line); background: var(--paper); }
.ticker .wrap { display: flex; align-items: center; gap: 16px; padding-block: 9px; }
.ticker-label { flex: none; background: var(--navy); color: var(--accent-2); font: 800 10.5px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; padding: 6px 8px; }
.ticker-win { overflow: hidden; min-width: 0; flex: 1; mask-image: linear-gradient(90deg, transparent, #000 3%, #000 97%, transparent); }
.ticker-track { display: flex; gap: 44px; width: max-content; animation: tick 80s linear infinite; }
.ticker:hover .ticker-track { animation-play-state: paused; }
.ticker-track a { white-space: nowrap; text-decoration: none; font: 500 14px/1.2 var(--sans); color: var(--navy); }
.ticker-track a:hover { color: var(--accent-ink); text-decoration: underline; }
.ticker-track a::before { content: "\25C6"; color: var(--accent); font-size: 9px; margin-right: 10px; vertical-align: 2px; }
@keyframes tick { to { transform: translateX(-50%); } }

/* Shared editorial pieces */
.kicker { display: inline-block; font: 700 11px/1.2 var(--sans); letter-spacing: .13em; text-transform: uppercase; color: var(--accent-ink); text-decoration: none; }
a.kicker:hover { text-decoration: underline; }
.byline { font: 500 12.5px/1.4 var(--sans); color: var(--muted); margin: 8px 0 0; }
.byline b { color: var(--navy); font-weight: 600; }
.thumb { position: relative; aspect-ratio: var(--r, 2 / 1); max-width: 100%; overflow: hidden; background: var(--wash); }
.thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.7,.2,1); }
a:hover > .thumb img, a:hover .thumb img { transform: scale(1.035); }
.badge { position: absolute; left: 0; bottom: 0; background: var(--accent); color: #FFFFFF; font: 800 10px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; padding: 6px 8px; }
.card { min-width: 0; }
.card > a { display: block; text-decoration: none; color: inherit; }
.card h3 { font-family: var(--display); font-weight: 700; font-size: 20px; line-height: 1.22; margin: 8px 0 6px; }
.card .kicker { margin-top: 14px; }
.card:hover h3, .item:hover h3 { color: var(--navy-2); text-decoration: underline; text-decoration-color: var(--accent); text-decoration-thickness: 1.5px; text-underline-offset: 4px; }
.dek { font-family: var(--serif); font-size: 16px; line-height: 1.5; color: var(--muted); margin: 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.card.lg h3 { font-size: clamp(24px, 2.4vw, 32px); }
.item { display: grid; grid-template-columns: 128px minmax(0, 1fr); gap: 14px; align-items: start; text-decoration: none; color: inherit; }
.item h3 { font-family: var(--display); font-weight: 700; font-size: 17px; line-height: 1.25; margin: 4px 0 0; }
.sec { padding-block: clamp(40px, 5vw, 64px) 0; }
.sec-head { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; border-top: 3px solid var(--accent); padding-top: 12px; margin-bottom: 24px; }
.sec-head h2 { font-family: var(--display); font-weight: 800; font-size: clamp(24px, 2.6vw, 32px); line-height: 1.1; margin: 0; }
.sec-head a { font: 700 12px/1 var(--sans); letter-spacing: .1em; text-transform: uppercase; text-decoration: none; color: var(--navy); white-space: nowrap; }
.sec-head a:hover { color: var(--accent-ink); }
.grid { display: grid; gap: 36px 28px; }
.g2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.g3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.g4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ruled > * + * { border-top: 1px solid var(--line); padding-top: 16px; }
.stack { display: grid; gap: 16px; }
.eyebrow { font: 800 12px/1.2 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--accent-2); margin: 0; }

/* Home: lead package */
.lead-pkg { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2.15fr) minmax(0, 1fr); gap: 0; padding-block: 28px 8px; }
.lead-pkg > * { min-width: 0; }
.lp-left { padding-right: 28px; }
.lp-mid { padding-inline: 28px; border-inline: 1px solid var(--line); }
.lp-right { padding-left: 28px; }
.rail-title { font: 800 12px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--navy); margin: 0 0 14px; padding-bottom: 10px; border-bottom: 2px solid var(--accent); }
.latest-item { display: block; text-decoration: none; color: inherit; }
.latest-item h3 { font-family: var(--display); font-weight: 700; font-size: 18px; line-height: 1.25; margin: 6px 0 0; }
.latest-item .thumb { margin-bottom: 10px; }
.latest-item:hover h3 { color: var(--navy-2); text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset: 4px; }
.lead-story > a { display: block; text-decoration: none; color: inherit; }
.lead-story h2 { font-family: var(--display); font-weight: 800; font-size: clamp(30px, 3.6vw, 48px); line-height: 1.06; letter-spacing: -.01em; margin: 14px 0 12px; }
.lead-story:hover h2 { text-decoration: underline; text-decoration-color: var(--accent); text-decoration-thickness: 2px; text-underline-offset: 6px; }
.lead-story .dek { font-size: 19px; -webkit-line-clamp: 4; color: var(--text); }
.issue-card { display: block; text-decoration: none; color: inherit; }
.issue-card img { width: 100%; height: auto; aspect-ratio: 724 / 1024; object-fit: cover; box-shadow: 0 18px 30px -18px rgba(11, 31, 69, .6); }
.issue-card h3 { font-family: var(--display); font-weight: 800; font-size: 22px; line-height: 1.15; margin: 14px 0 4px; }
.issue-card p { margin: 0; color: var(--muted); font-size: 14px; }
.rail-links { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 8px; font-size: 14px; }
.rail-links a { text-decoration: none; font-weight: 600; color: var(--navy); }
.rail-links a:hover { color: var(--accent-ink); text-decoration: underline; }
.rail-links li::before { content: "\2192"; color: var(--accent); margin-right: 8px; }

/* Magazine band: current issue as a stack of covers, then the archive shelf */
.mag-band { background: radial-gradient(110% 85% at 78% 0%, #19386F 0%, var(--navy) 52%, var(--navy-deep) 100%); color: var(--on-navy); border-top: 4px solid var(--accent); margin-top: clamp(44px, 5vw, 72px); overflow-x: hidden; overflow-x: clip; }
.mag-band > .wrap { padding-block: clamp(40px, 5vw, 64px) clamp(44px, 6vw, 76px); }
.mag-top { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px 24px; flex-wrap: wrap; padding-bottom: 16px; margin-bottom: clamp(32px, 5vw, 56px); border-bottom: 1px solid var(--navy-line); }
.mag-top h1, .mag-top h2 { color: var(--on-navy); font-family: var(--display); font-weight: 800; font-size: clamp(28px, 3.4vw, 44px); line-height: 1.05; margin: 8px 0 0; }
.mag-top a { color: var(--accent-2); font: 700 12px/1 var(--sans); letter-spacing: .1em; text-transform: uppercase; text-decoration: none; white-space: nowrap; }
.mag-top a:hover { color: var(--on-navy); }
.issue-x { display: grid; grid-template-columns: minmax(0, 460px) minmax(0, 1fr); gap: clamp(36px, 6vw, 96px); align-items: center; }
.cover-stack { position: relative; display: block; width: 78%; max-width: 360px; aspect-ratio: 724 / 1024; margin-left: 2%; }
.cover-stack img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 2px; transition: transform .6s cubic-bezier(.2,.7,.2,1), filter .6s; }
.cover-stack .back { box-shadow: 0 20px 40px -20px rgba(0, 0, 0, .8); }
.cover-stack .back:nth-child(1) { transform: translate(26%, -3%) rotate(7deg); filter: brightness(.5); }
.cover-stack .back:nth-child(2) { transform: translate(13%, -1.5%) rotate(3.5deg); filter: brightness(.68); }
.cover-stack .front { z-index: 2; transform: rotate(-1.5deg); box-shadow: 0 46px 70px -30px rgba(0, 0, 0, .85), 0 0 0 1px rgba(255, 255, 255, .06); }
.cover-stack:hover .front { transform: translateY(-8px) rotate(0); }
.cover-stack:hover .back:nth-child(1) { transform: translate(32%, -3%) rotate(9deg); }
.cover-stack:hover .back:nth-child(2) { transform: translate(17%, -1.5%) rotate(5deg); }
.issue-info { min-width: 0; }
.issue-title { color: var(--on-navy); font-family: var(--display); font-weight: 800; font-size: clamp(36px, 4.6vw, 64px); line-height: 1.02; letter-spacing: -.012em; margin: 14px 0 8px; }
.issue-series { font-family: var(--display); font-style: italic; font-weight: 600; font-size: clamp(20px, 2vw, 24px); margin: 0 0 22px; }
.cover-star { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 2px 14px; align-items: baseline; padding: 14px 0; border-block: 1px solid var(--navy-line); margin: 0 0 20px; max-width: 620px; }
.cover-star span { grid-row: span 2; font: 800 10.5px/1.2 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--accent-2); padding-top: 6px; }
.cover-star b { font-family: var(--display); font-size: 22px; color: var(--on-navy); font-weight: 700; }
.cover-star em { font-style: normal; font-size: 14px; color: var(--on-navy-muted); }
.issue-desc { font-family: var(--serif); font-size: 18px; line-height: 1.6; color: var(--on-navy-muted); margin: 0 0 22px; max-width: 62ch; }
.toc-title { font: 800 11px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--accent-2); margin: 0 0 4px; }
.mag-band .inside { border-color: var(--navy-line); }
.mag-band .inside li { border-color: var(--navy-line); }
.mag-band .inside a, .mag-band .inside span { color: var(--on-navy); }
.mag-band .inside small { color: var(--accent-2); }
.mag-band .inside a:hover b { text-decoration-color: var(--accent); }
.archive-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin: clamp(48px, 6vw, 80px) 0 20px; padding-top: 18px; border-top: 1px solid var(--navy-line); }
.archive-head h3 { color: var(--on-navy); font-family: var(--display); font-weight: 700; font-size: 24px; margin: 0; }
.car-btns { display: flex; gap: 8px; }
.car-btns button { width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--navy-line); background: transparent; color: var(--on-navy); cursor: pointer; font-size: 18px; transition: border-color .2s, color .2s; }
.car-btns button:hover { border-color: var(--accent); color: var(--accent-2); }
.mag-band .shelf { grid-auto-columns: clamp(156px, 16vw, 206px); padding-top: 6px; scrollbar-width: none; }
.mag-band .shelf::-webkit-scrollbar { display: none; }
.mag-band .cov { background: var(--navy-2); box-shadow: 0 20px 34px -20px rgba(0, 0, 0, .85); }
.mag-band .cov-t { color: var(--on-navy); }
.mag-band .cov-d { color: var(--on-navy-muted); }

.inside { list-style: none; margin: 0 0 24px; padding: 0; border-top: 1px solid var(--line); max-width: 640px; }
.inside li { border-bottom: 1px solid var(--line); }
.inside a, .inside span { display: flex; gap: 14px; align-items: baseline; padding-block: 11px; text-decoration: none; color: var(--navy); }
.inside a:hover b { text-decoration: underline; text-underline-offset: 4px; }
.inside small { flex: none; width: 92px; font: 700 10.5px/1.2 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--accent-ink); }
.inside b { font-family: var(--display); font-weight: 700; font-size: 17px; line-height: 1.3; }
.actions { display: flex; flex-wrap: wrap; gap: 10px; }
.shelf { display: grid; grid-auto-flow: column; grid-auto-columns: clamp(150px, 15vw, 190px); gap: 22px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 34px 0 10px; }
.shelf a { scroll-snap-align: start; text-decoration: none; color: inherit; min-width: 0; }
.cov { aspect-ratio: 724 / 1024; max-width: 100%; overflow: hidden; background: var(--line); box-shadow: 0 14px 24px -16px rgba(11, 31, 69, .55); transition: transform .4s cubic-bezier(.2,.7,.2,1); }
.cov img { width: 100%; height: 100%; object-fit: cover; }
a:hover .cov { transform: translateY(-6px); }
.cov-t { font: 700 13.5px/1.3 var(--sans); margin: 12px 0 2px; color: var(--navy); }
.cov-d { font-size: 12.5px; color: var(--muted); margin: 0; }

/* Magazine page: one wall of every edition */
.stand-sub { margin: -8px 0 32px; color: var(--muted); font-family: var(--serif); font-size: 17px; }
.stand { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 48px 32px; }
.stand-item { text-decoration: none; color: inherit; min-width: 0; }
.stand-cover { position: relative; aspect-ratio: 724 / 1024; max-width: 100%; overflow: hidden; background: var(--wash); box-shadow: 0 22px 36px -22px rgba(11, 31, 69, .6); transition: transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .45s; }
.stand-cover img { width: 100%; height: 100%; object-fit: cover; }
.stand-cover::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11, 31, 69, 0) 45%, rgba(11, 31, 69, .85) 100%); opacity: 0; transition: opacity .3s; }
.stand-cta { position: absolute; left: 50%; bottom: 18px; z-index: 1; transform: translate(-50%, 8px); opacity: 0; background: #FFFFFF; color: var(--navy); font: 700 11.5px/1 var(--sans); letter-spacing: .1em; text-transform: uppercase; padding: 10px 14px; white-space: nowrap; transition: opacity .3s, transform .3s; }
.stand-item:hover .stand-cover, .stand-item:focus-visible .stand-cover { transform: translateY(-6px); box-shadow: 0 30px 44px -22px rgba(11, 31, 69, .7); }
.stand-item:hover .stand-cover::after, .stand-item:focus-visible .stand-cover::after, .stand-item.is-open .stand-cover::after { opacity: 1; }
.stand-item:hover .stand-cta, .stand-item:focus-visible .stand-cta, .stand-item.is-open .stand-cta { opacity: 1; transform: translate(-50%, 0); }
.stand-item.is-open .stand-cover { outline: 3px solid var(--accent); outline-offset: 6px; }
.stand-item h3 { font-family: var(--display); font-weight: 700; font-size: 18px; line-height: 1.25; margin: 20px 0 4px; }
.stand-item p { margin: 0; font-size: 14px; font-weight: 600; color: var(--accent-ink); }
.stand-item:hover h3 { text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset: 4px; }

/* Women in business / two-up layouts */
.split { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 28px; }

/* Get featured band (home) */
.band { background: var(--navy); color: var(--on-navy); margin-top: clamp(40px, 5vw, 64px); overflow-x: hidden; overflow-x: clip; }
.band h2, .band h3 { color: var(--on-navy); }
.band-inner { padding-block: clamp(40px, 5vw, 64px); }
.sell { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 72px); align-items: center; }
.sell h2 { font-family: var(--display); font-weight: 800; font-size: clamp(34px, 4.6vw, 60px); line-height: 1.02; margin: 12px 0 14px; }
.sell p.lede { font-family: var(--serif); font-size: 19px; color: var(--on-navy-muted); margin: 0 0 22px; max-width: 54ch; }
.ticks { list-style: none; margin: 0 0 28px; padding: 0; display: grid; gap: 10px; }
.ticks li { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 12px; }
.ticks li::before { content: ""; width: 9px; height: 9px; margin-top: 7px; background: var(--accent); transform: rotate(45deg); }
.fan { position: relative; width: 100%; max-width: 600px; margin-inline: auto; aspect-ratio: 4 / 3; }
.fan img { position: absolute; top: 50%; left: 50%; width: 46%; height: auto; aspect-ratio: 724 / 1024; object-fit: cover; box-shadow: 0 30px 50px -20px rgba(0, 0, 0, .65); transition: transform .5s cubic-bezier(.2,.7,.2,1); }
.fan img:nth-child(1) { transform: translate(-98%, -48%) rotate(-7deg); }
.fan img:nth-child(2) { transform: translate(-2%, -48%) rotate(7deg); }
.fan img:nth-child(3) { transform: translate(-50%, -52%); z-index: 2; }
.fan:hover img:nth-child(1) { transform: translate(-108%, -48%) rotate(-9deg); }
.fan:hover img:nth-child(2) { transform: translate(8%, -48%) rotate(9deg); }
.stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--navy-line); border: 1px solid var(--navy-line); margin-top: 8px; max-width: 560px; }
.stat { background: var(--navy); padding: 14px 16px; }
.stat b { display: block; font-family: var(--display); font-size: 32px; line-height: 1; color: var(--accent-2); font-variant-numeric: lining-nums tabular-nums; }
.stat span { display: block; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--on-navy-muted); margin-top: 6px; }

/* Newsletter + footer */
.letter { border-top: 3px solid var(--accent); margin-top: clamp(48px, 6vw, 80px); background: var(--wash); }
.letter .wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px 56px; align-items: center; padding-block: 40px 48px; }
.letter h2 { font-family: var(--display); font-weight: 800; font-size: clamp(26px, 3vw, 38px); line-height: 1.08; margin: 8px 0 6px; }
.letter p { margin: 0; color: var(--muted); }
.letter form { display: flex; flex-wrap: wrap; gap: 10px; }
.letter input { flex: 1 1 240px; min-width: 0; padding: 13px 14px; border: 1.5px solid var(--navy); border-radius: 0; font-size: 16px; background: var(--paper); }
.letter .msg { flex-basis: 100%; font-size: 13.5px; color: var(--muted); margin: 2px 0 0; }
/* Footer: brand row, four link columns, base line */
.foot { background: var(--navy-deep); color: var(--on-navy-muted); }
.foot .wrap { padding-block: 52px 28px; }
.foot-top { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) auto; gap: 20px 48px; align-items: center; padding-bottom: 36px; border-bottom: 1px solid var(--navy-line); }
.foot-brand { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; text-decoration: none; min-width: 0; }
.foot-brand img { width: 360px; max-width: 100%; height: auto; }
.foot-name { display: block; font-family: var(--display); font-weight: 800; font-size: 24px; line-height: 1.1; color: #FFFFFF; }
.foot-tag { display: block; margin-top: 6px; font-size: 12px; letter-spacing: .03em; color: var(--accent-2); }
.foot-about { margin: 0; font-size: 14.5px; line-height: 1.6; max-width: 46ch; }
.foot-cta { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.foot-cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; padding-block: 36px; }
.foot-cols > div { min-width: 0; }
.foot .foot-h { display: inline-block; color: #FFFFFF; font: 800 12px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; margin: 0 0 18px; padding-bottom: 10px; border-bottom: 2px solid var(--accent); }
.foot ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 11px; font-size: 14.5px; }
.foot ul a { color: var(--on-navy-muted); text-decoration: none; transition: color .2s; }
.foot ul a:hover { color: #FFFFFF; }
.foot-contact li { display: grid; gap: 3px; }
.foot-contact small { font: 700 10.5px/1.2 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--accent-2); }
.foot-contact span { color: var(--on-navy); overflow-wrap: anywhere; }
.foot-base { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px 20px; padding-top: 20px; border-top: 1px solid var(--navy-line); font-size: 12.5px; }
.to-top { background: none; border: 1px solid var(--navy-line); color: var(--on-navy); padding: 9px 12px; font: 700 11px/1 var(--sans); letter-spacing: .1em; text-transform: uppercase; cursor: pointer; text-decoration: none; }
.to-top:hover { border-color: var(--accent-2); color: var(--accent-2); }

/* Homepage magazine module: current cover, issue details, recent editions */
.mag-home { background: linear-gradient(180deg, var(--wash) 0%, #FFFFFF 100%); border-top: 1px solid var(--line); margin-top: clamp(44px, 5vw, 72px); }
.mag-home > .wrap { padding-block: clamp(40px, 5vw, 64px) 0; }
.mh-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px 24px; padding-bottom: 18px; margin-bottom: clamp(28px, 4vw, 44px); border-bottom: 3px solid var(--navy); }
.mh-head h2 { font-family: var(--display); font-weight: 800; font-size: clamp(30px, 3.6vw, 48px); line-height: 1.04; margin: 8px 0 0; }
.mh-links { display: flex; flex-wrap: wrap; gap: 10px; }
.mh-grid { display: grid; grid-template-columns: minmax(0, 340px) minmax(0, 1fr) minmax(0, 250px); gap: clamp(28px, 4vw, 56px); align-items: start; }
.mh-cover { position: relative; display: block; }
.mh-cover img { width: 100%; height: auto; aspect-ratio: 724 / 1024; object-fit: cover; box-shadow: 0 34px 50px -26px rgba(11, 31, 69, .55), 0 0 0 1px rgba(11, 31, 69, .06); transition: transform .5s cubic-bezier(.2,.7,.2,1), box-shadow .5s; }
.mh-cover:hover img { transform: translateY(-6px); box-shadow: 0 44px 60px -28px rgba(11, 31, 69, .6); }
.mh-flag { position: absolute; top: 14px; left: -8px; z-index: 1; background: var(--accent); color: #FFFFFF; font: 800 10.5px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; padding: 8px 10px; box-shadow: 0 6px 14px -6px rgba(11, 31, 69, .6); }
.mh-info { min-width: 0; }
.mh-series { font: 800 11.5px/1.2 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--accent-ink); margin: 4px 0 0; }
.mh-title { font-family: var(--display); font-weight: 800; font-size: clamp(32px, 3.4vw, 50px); line-height: 1.04; letter-spacing: -.01em; margin: 12px 0 16px; }
.mh-star { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; padding-block: 12px; border-block: 1px solid var(--line); margin: 0 0 18px; }
.mh-star span { font: 800 10.5px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--accent-ink); }
.mh-star b { font-family: var(--display); font-size: 20px; color: var(--navy); }
.mh-star em { font-style: normal; font-size: 14px; color: var(--muted); }
.mh-desc { font-family: var(--serif); font-size: 17.5px; line-height: 1.6; color: var(--text); margin: 0 0 20px; max-width: 60ch; }
.mag-home .toc-title { color: var(--accent-ink); }
.mh-recent { min-width: 0; }
.mh-list { display: grid; gap: 16px; }
.mh-item { display: grid; grid-template-columns: 68px minmax(0, 1fr); gap: 14px; align-items: center; text-decoration: none; color: inherit; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.mh-item img { width: 68px; height: auto; aspect-ratio: 724 / 1024; object-fit: cover; box-shadow: 0 10px 16px -10px rgba(11, 31, 69, .55); transition: transform .3s; }
.mh-item:hover img { transform: translateY(-3px); }
.mh-item b { display: block; font-family: var(--display); font-weight: 700; font-size: 15.5px; line-height: 1.25; color: var(--navy); }
.mh-item small { display: block; margin-top: 4px; font-size: 12.5px; font-weight: 600; color: var(--accent-ink); }
.mh-item:hover b { text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset: 3px; }
.mh-more { display: inline-block; margin-top: 16px; font: 700 12px/1 var(--sans); letter-spacing: .1em; text-transform: uppercase; color: var(--navy); text-decoration: none; }
.mh-more:hover { color: var(--accent-ink); }
.stats.two { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 440px; }

/* Section bar: a soft fade on the right when the menu scrolls sideways */
.secnav ul.scrolls { -webkit-mask-image: linear-gradient(90deg, #000 86%, transparent); mask-image: linear-gradient(90deg, #000 86%, transparent); }

/* Page headers */
.page-head { padding-block: clamp(28px, 4vw, 48px) 22px; border-bottom: 1px solid var(--line); margin-bottom: 32px; }
.page-head h1 { font-family: var(--display); font-weight: 800; font-size: clamp(38px, 5.4vw, 72px); line-height: 1; letter-spacing: -.01em; margin: 10px 0 12px; }
.page-head p { font-family: var(--serif); font-size: 19px; color: var(--muted); margin: 0; max-width: 64ch; }
.lead-row { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 32px; align-items: center; text-decoration: none; color: inherit; margin-bottom: 40px; padding-bottom: 40px; border-bottom: 1px solid var(--line); }
.lead-row h2 { font-family: var(--display); font-weight: 800; font-size: clamp(28px, 3.2vw, 42px); line-height: 1.08; margin: 12px 0 12px; }
.lead-row:hover h2 { text-decoration: underline; text-decoration-color: var(--accent); text-decoration-thickness: 2px; text-underline-offset: 5px; }
.lead-row .dek { font-size: 18px; -webkit-line-clamp: 5; }

/* Article */
.art-head { max-width: 900px; padding-block: clamp(26px, 4vw, 48px) 22px; }
.art-head h1 { font-family: var(--display); font-weight: 800; font-size: clamp(34px, 5vw, 60px); line-height: 1.04; letter-spacing: -.012em; margin: 12px 0 16px; }
.art-head .standfirst { font-family: var(--serif); font-size: clamp(19px, 1.8vw, 22px); line-height: 1.5; color: #2E3B57; margin: 0 0 20px; }
.art-meta { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 24px; border-block: 1px solid var(--line); padding-block: 12px; }
.art-meta .byline { margin: 0; }
.share { display: flex; gap: 6px; flex-wrap: wrap; }
.share a, .share button { display: inline-flex; align-items: center; justify-content: center; height: 34px; padding: 0 12px; border: 1px solid var(--line); background: var(--paper); font: 700 11px/1 var(--sans); letter-spacing: .08em; text-transform: uppercase; text-decoration: none; color: var(--navy); cursor: pointer; }
.share a:hover, .share button:hover { border-color: var(--navy); }
.art-hero { margin: 28px 0 0; }
.art-hero .thumb { --r: 16 / 9; }
.art-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: clamp(32px, 5vw, 64px); margin-top: 36px; }
.prose { font-family: var(--serif); font-size: 19.5px; line-height: 1.7; color: var(--text); max-width: 700px; min-width: 0; }
.prose p { margin: 0 0 1.15em; }
.prose h2 { font-family: var(--display); font-weight: 800; font-size: 30px; line-height: 1.15; margin: 1.7em 0 .5em; }
.prose h3 { font-family: var(--display); font-weight: 700; font-size: 23px; line-height: 1.2; margin: 1.5em 0 .45em; }
.prose h4 { font-family: var(--sans); font-size: 15px; letter-spacing: .08em; text-transform: uppercase; margin: 1.5em 0 .5em; }
.prose blockquote { margin: 1.6em 0; padding: 22px 0 20px; border-top: 3px solid var(--accent); border-bottom: 1px solid var(--line); font-family: var(--display); font-style: italic; font-size: clamp(23px, 2.4vw, 29px); line-height: 1.3; color: var(--navy); }
.prose blockquote p { margin: 0; }
.prose figure { margin: 1.8em 0; }
.prose img { width: auto; max-width: 100%; max-height: 760px; height: auto; margin-inline: auto; }
.prose img[src*="logo"] { max-width: 260px; max-height: 140px; }
.prose figcaption { font-family: var(--sans); font-size: 13.5px; line-height: 1.45; color: var(--muted); margin-top: 8px; text-align: center; }
.prose ul, .prose ol { padding-left: 1.25em; margin: 0 0 1.2em; }
.prose li { margin: .35em 0; }
.prose li::marker { color: var(--accent-ink); }
.prose a { color: var(--navy-2); text-decoration-color: var(--accent); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.prose hr { border: 0; border-top: 1px solid var(--line); margin: 2em 0; }
.prose table { border-collapse: collapse; width: 100%; font-family: var(--sans); font-size: 15px; display: block; overflow-x: auto; }
.prose td, .prose th { border: 1px solid var(--line); padding: 8px 10px; text-align: left; }
.prose p.lede-p::first-letter { font-family: var(--display); font-weight: 800; float: left; font-size: 3.6em; line-height: .86; margin: 6px 10px 0 0; color: var(--accent); font-style: normal; }
.rail { display: grid; gap: 28px; align-content: start; min-width: 0; }
.rail-box { border-top: 3px solid var(--accent); padding-top: 12px; }
.ad-house { background: var(--navy); color: var(--on-navy); padding: 22px 20px 20px; position: sticky; top: 76px; border-top: 4px solid var(--accent); }
.ad-house small { display: block; font: 700 10px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--accent-2); margin-bottom: 12px; }
.ad-house h3 { color: var(--on-navy); font-family: var(--display); font-size: 25px; line-height: 1.1; margin: 0 0 10px; }
.ad-house p { color: var(--on-navy-muted); font-size: 14.5px; margin: 0 0 16px; }
.ad-house img { width: 100%; height: auto; aspect-ratio: 724 / 1024; object-fit: cover; margin-bottom: 16px; }
.after { border-top: 1px solid var(--line); margin-top: 24px; padding-top: 20px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: 14px; color: var(--muted); }
.chip { display: inline-block; border: 1px solid var(--line); padding: 6px 10px; font: 700 11px/1 var(--sans); letter-spacing: .1em; text-transform: uppercase; text-decoration: none; color: var(--navy); }
.chip:hover { border-color: var(--navy); }

/* Get featured page */
.gf-hero { background: var(--navy); color: var(--on-navy); overflow-x: hidden; overflow-x: clip; }
.gf-hero .wrap { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 64px); align-items: center; padding-block: clamp(40px, 6vw, 80px); }
.gf-hero h1 { color: var(--on-navy); font-family: var(--display); font-weight: 800; font-size: clamp(38px, 5.4vw, 72px); line-height: 1; margin: 14px 0 18px; }
.gf-hero p.lede { font-family: var(--serif); font-size: 20px; color: var(--on-navy-muted); margin: 0 0 26px; max-width: 52ch; }
.names { border-bottom: 1px solid var(--line); }
.names .wrap { padding-block: 18px; display: flex; flex-wrap: wrap; gap: 6px 22px; align-items: baseline; font-family: var(--display); font-size: 17px; color: var(--navy); }
.names .wrap span:first-child { font: 800 11px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--accent-ink); }
.benefits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 28px; }
.benefits div { border-top: 1px solid var(--line); padding-top: 16px; min-width: 0; }
.benefits h3 { font-family: var(--display); font-size: 21px; margin: 0 0 6px; }
.benefits p { margin: 0; color: var(--muted); font-size: 15.5px; }
.pkgs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; align-items: stretch; }
.pkg { border: 1px solid var(--line); padding: 24px 20px 20px; display: flex; flex-direction: column; min-width: 0; background: var(--paper); }
.pkg .tag { font: 800 10.5px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--accent-ink); }
.pkg h3 { font-family: var(--display); font-weight: 800; font-size: 25px; line-height: 1.08; margin: 10px 0 8px; }
.pkg > p { margin: 0; color: var(--muted); font-size: 15px; }
.pkg ul { list-style: none; margin: 18px 0 22px; padding: 0; display: grid; gap: 9px; font-size: 14.5px; }
.pkg li { display: grid; grid-template-columns: 16px minmax(0, 1fr); gap: 8px; }
.pkg li::before { content: "\2713"; color: var(--accent-ink); font-weight: 800; }
.pkg .btn { margin-top: auto; width: 100%; }
.pkg.flag { background: var(--navy); color: var(--on-navy); border-color: var(--navy); border-top: 4px solid var(--accent); }
.pkg.flag h3 { color: var(--on-navy); }
.pkg.flag > p { color: var(--on-navy-muted); }
.pkg.flag .tag, .pkg.flag li::before { color: var(--accent-2); }
.price { font: 600 13px/1.3 var(--sans); color: var(--muted); margin: 0 0 12px; }
.pkg.flag .price { color: var(--on-navy-muted); }
.steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; counter-reset: s; }
.steps li { counter-increment: s; border-top: 3px solid var(--navy); padding-top: 14px; min-width: 0; }
.steps li::before { content: counter(s, decimal-leading-zero); font-family: var(--display); font-style: italic; font-size: 34px; color: var(--accent-ink); line-height: 1; }
.steps h3 { font-family: var(--display); font-size: 20px; margin: 10px 0 6px; }
.steps p { margin: 0; color: var(--muted); font-size: 15px; }
.faq { max-width: 860px; border-top: 1px solid var(--line); }
.faq details { border-bottom: 1px solid var(--line); }
.faq summary { cursor: pointer; padding: 18px 32px 18px 0; font-family: var(--display); font-weight: 700; font-size: 19px; position: relative; list-style: none; color: var(--navy); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: 4px; top: 14px; font: 400 26px/1 var(--sans); color: var(--accent-ink); }
.faq details[open] summary::after { content: "\2212"; }
.faq details p { margin: 0 0 18px; color: var(--muted); font-family: var(--serif); font-size: 17px; max-width: 70ch; }

/* Forms */
.form-wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: clamp(28px, 5vw, 64px); }
.form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-content: start; }
.field { display: grid; gap: 6px; min-width: 0; }
.field.full { grid-column: 1 / -1; }
.field label { font: 700 11.5px/1.2 var(--sans); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.field input, .field select, .field textarea { width: 100%; padding: 12px 13px; border: 1.5px solid #C6CFDD; border-radius: 0; font-size: 16px; background: var(--paper); color: var(--text); }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--navy); outline: none; box-shadow: 0 0 0 3px rgba(45, 107, 224, .3); }
.field textarea { min-height: 120px; resize: vertical; }
.form .btn { justify-self: start; }
.status { grid-column: 1 / -1; margin: 0; padding: 12px 14px; border-left: 3px solid var(--accent); background: var(--wash); font-size: 15px; }
.contact-list { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 16px; }
.contact-list small { display: block; font: 700 11px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--accent-ink); margin-bottom: 4px; }
.contact-list span { font-family: var(--display); font-size: 20px; color: var(--navy); user-select: all; }
.copy { margin-left: 8px; vertical-align: 3px; background: none; border: 1px solid var(--line); padding: 4px 8px; font: 700 10px/1 var(--sans); letter-spacing: .1em; text-transform: uppercase; cursor: pointer; color: var(--navy); }

/* About */
.about-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px 56px; }
.about-grid h2 { font-family: var(--display); font-size: 28px; margin: 0 0 10px; }
.about-grid p { font-family: var(--serif); font-size: 18px; line-height: 1.65; margin: 0 0 14px; }
.covers-list { columns: 2; column-gap: 28px; list-style: none; margin: 0; padding: 0; }
.covers-list li { break-inside: avoid; border-top: 1px solid var(--line); padding: 10px 0; font-weight: 600; color: var(--navy); }
.covers-list li::before { content: "\25C6"; color: var(--accent); font-size: 9px; margin-right: 10px; vertical-align: 2px; }

/* Search */
.search { position: fixed; inset: 0; z-index: 60; background: rgba(11, 31, 69, .6); }
.search-panel { background: var(--paper); padding-top: env(safe-area-inset-top, 0px); max-height: 100%; overflow-y: auto; box-shadow: 0 20px 40px rgba(0,0,0,.25); border-bottom: 3px solid var(--accent); }
.search-panel .wrap { padding-block: 22px 26px; }
.search-row { display: flex; gap: 12px; align-items: center; border-bottom: 2px solid var(--navy); }
.search-row input { flex: 1; min-width: 0; border: 0; padding: 12px 0; font-family: var(--display); font-size: clamp(24px, 3vw, 34px); background: transparent; outline: none; color: var(--navy); }
.results { list-style: none; margin: 10px 0 0; padding: 0; }
.results a { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 14px; align-items: center; padding-block: 10px; border-bottom: 1px solid var(--line); text-decoration: none; color: inherit; }
.results h3 { font-family: var(--display); font-size: 17px; margin: 3px 0 0; }
.results .thumb { --r: 2 / 1; }
.results-empty { color: var(--muted); padding: 14px 0; margin: 0; }

.fade { animation: fade .45s ease both; }
@keyframes fade { from { opacity: .35; transform: translateY(6px); } to { opacity: 1; transform: none; } }

@media (max-width: 1199px) {
  .mast .wrap { grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "logo search actions"; padding-block: 20px; }
  .mast .logo, .mast .logo-wrap { grid-area: logo; }
  .mast-left { grid-area: search; justify-content: flex-end; }
  .mast-right { grid-area: actions; }
  .logo img { width: clamp(250px, 34vw, 400px); }
  .secnav ul, .secnav .nav-list { margin: 0; gap: 22px; }
  .secnav a.nl, .secnav .nav-list a { font-size: 12px; letter-spacing: .06em; }
}
@media (max-width: 1100px) {
  .mh-grid { grid-template-columns: minmax(0, 300px) minmax(0, 1fr); }
  .mh-recent { grid-column: 1 / -1; }
  .mh-list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .mh-item { grid-template-columns: minmax(0, 1fr); align-items: start; border: 0; padding: 0; }
  .mh-item img { width: 100%; }
  .foot-top { grid-template-columns: minmax(0, 1fr) auto; }
  .foot-about { grid-column: 1 / -1; grid-row: 2; }
  .lead-pkg { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); row-gap: 28px; }
  .lp-mid { grid-column: 1 / -1; order: -1; border: 0; padding: 0; }
  .lp-left { padding-right: 24px; border-right: 1px solid var(--line); }
  .lp-right { padding-left: 24px; }
  .g4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pkgs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stand { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .mh-grid { grid-template-columns: minmax(0, 1fr); }
  .mh-cover { max-width: 300px; }
  .mh-list { grid-template-columns: minmax(0, 1fr); }
  .mh-item { grid-template-columns: 68px minmax(0, 1fr); align-items: center; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
  .mh-item img { width: 68px; }
  .foot-top { grid-template-columns: minmax(0, 1fr); }
  .foot-about { grid-row: auto; }
  .foot-cta { justify-content: flex-start; }
  .foot-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .split, .sell, .issue-x, .gf-hero .wrap, .form-wrap, .about-grid, .letter .wrap, .lead-row, .art-grid { grid-template-columns: minmax(0, 1fr); }
  .g3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .benefits, .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cover-stack { width: 62%; max-width: 300px; margin-bottom: 8px; }
  .ad-house { position: static; }
  .fan { max-width: 520px; }
}
@media (max-width: 640px) {
  .topbar nav { display: none; }
  .mast .wrap { display: flex; align-items: center; gap: 4px; padding-block: 16px; }
  .mast .logo { order: -1; margin-right: auto; }
  .logo img { width: min(290px, calc(100vw - 210px)); }
  .mast .label { display: none; }
  .mast-right .btn-line { display: none; }
  .mast-right .btn { padding: 9px 10px; font-size: 11px; }
  .secnav ul { margin: 0; gap: 22px; }
  .lead-pkg { grid-template-columns: minmax(0, 1fr); }
  .lp-left { padding: 0; border: 0; }
  .lp-right { padding: 0; }
  .g2, .g3, .g4, .benefits, .steps, .pkgs, .form { grid-template-columns: minmax(0, 1fr); }
  .stand { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 18px; }
  .stand-item h3 { font-size: 16px; }
  .item { grid-template-columns: 104px minmax(0, 1fr); }
  .covers-list { columns: 1; }
  .stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .stats.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stat b { font-size: 26px; }
  .inside small { width: 74px; }
  .cover-stack { width: 66%; }
  .cover-star { grid-template-columns: minmax(0, 1fr); }
  .cover-star span { grid-row: auto; padding-top: 0; }
}
/* Small phones: the one-line masthead takes the header row, and Get Featured moves into the sticky menu. */
@media (max-width: 480px) {
  .mast-right { display: none; }
  .logo img { width: min(300px, calc(100vw - 84px)); }
  .secnav .btn { display: inline-flex; padding: 8px 10px; font-size: 10.5px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  html { scroll-behavior: auto; }
  .ticker-win { overflow-x: auto; }
}

/* ---------- WordPress additions ---------- */
.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.skip-link:focus { background: #FFFFFF; clip: auto !important; clip-path: none; color: var(--navy); display: block; font-weight: 700; height: auto; left: 8px; padding: 12px 16px; top: 8px; width: auto; z-index: 100000; }
.logo-wrap { margin: 0; line-height: 0; }
.secnav .nav-list { list-style: none; margin: 0 auto; padding: 0; display: flex; gap: 30px; overflow-x: auto; scrollbar-width: none; min-width: 0; }
.secnav .nav-list::-webkit-scrollbar { display: none; }
.secnav .nav-list a { display: block; padding: 15px 0 12px; border-bottom: 3px solid transparent; white-space: nowrap; text-decoration: none; font: 700 12.5px/1 var(--sans); letter-spacing: .09em; text-transform: uppercase; color: var(--navy); }
.secnav .nav-list a:hover { color: var(--accent-ink); }
.secnav .nav-list .current-menu-item > a, .secnav .nav-list .current_page_item > a, .secnav .nav-list .current-menu-ancestor > a { border-bottom-color: var(--accent); }

.crumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin: 22px 0 0; padding: 0; font-size: 12.5px; color: var(--muted); }
.crumbs li + li::before { content: "/"; margin-right: 6px; color: #A6B0C3; }
.crumbs a { color: var(--accent-ink); text-decoration: none; }
.crumbs a:hover { text-decoration: underline; }
.crumbs li[aria-current] { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; max-width: 60ch; }
.pagination { margin: 48px 0 0; }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: 6px; }
.page-numbers { display: inline-flex; min-width: 42px; height: 42px; align-items: center; justify-content: center; padding: 0 14px; border: 1px solid var(--line); text-decoration: none; color: var(--navy); font-weight: 700; font-size: 14px; }
.page-numbers.current { background: var(--navy); border-color: var(--navy); color: #FFFFFF; }
a.page-numbers:hover { border-color: var(--navy); }
.thumb--empty { background: var(--navy) url(assets/img/icon.svg?v=2) center / 26% no-repeat; }
.hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.status.is-error { border-left-color: #B42318; }
.letter .status { flex-basis: 100%; }
/* "Read the digital edition" is DearFlip's button (it opens the full-screen reader). It keeps the site's look, not
   DearFlip's grey rounded one. */
button.gst-read.df-popup-button { margin: 0; border-radius: 0; padding: 11px 18px; transition: background-color .2s, color .2s, border-color .2s; }
button.gst-read.btn-accent.df-popup-button { background: var(--accent); }
button.gst-read.btn-accent.df-popup-button:hover { background: var(--navy-2); }
.mag-band button.gst-read.btn-accent.df-popup-button { background: #FFFFFF; }
.mag-band button.gst-read.btn-accent.df-popup-button:hover { background: var(--accent-2); }
.rail-links button.link-read, .rail-links button.link-read.df-popup-button { margin: 0; padding: 0; border: 0; border-radius: 0; background: none; font: inherit; font-weight: 600; color: var(--navy); text-align: left; cursor: pointer; }
.rail-links button.link-read:hover { background: none; color: var(--accent-ink); text-decoration: underline; }
.cover-missing { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; padding: 12px; text-align: center; font-family: var(--display); color: var(--on-navy); background: var(--navy-2); }
.cover-stack .cover-missing { position: absolute; inset: 0; }
.issue-card h2.h3, .issue-card h3 { font-family: var(--display); font-weight: 800; font-size: 22px; line-height: 1.15; margin: 14px 0 4px; }
.latest-item h2.h3 { font-family: var(--display); font-weight: 700; font-size: 18px; line-height: 1.25; margin: 6px 0 0; }
.ad-house .ad-title { color: var(--on-navy); font-family: var(--display); font-size: 25px; font-weight: 700; line-height: 1.1; margin: 0 0 10px; }
.socials { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.socials a { color: var(--on-navy); border: 1px solid var(--navy-line); padding: 7px 10px; font: 700 11px/1 var(--sans); letter-spacing: .08em; text-transform: uppercase; text-decoration: none; }
.socials a:hover { border-color: var(--accent-2); color: var(--accent-2); }
.names .wrap a { color: var(--navy); text-decoration: none; }
.names .wrap a:hover { color: var(--accent-ink); text-decoration: underline; }
.searchform { display: flex; flex-wrap: wrap; gap: 10px; max-width: 640px; }
.searchform input[type="search"] { flex: 1 1 240px; min-width: 0; padding: 13px 14px; border: 1.5px solid var(--navy); font-size: 16px; color: var(--text); background: var(--paper); }
.search-row .btn { flex: none; }
.builder-content { min-width: 0; }
.prose h2[data-level="3"] { font-weight: 700; font-size: 23px; line-height: 1.2; margin: 1.5em 0 .45em; }
.prose h3[data-level="4"] { font-family: var(--sans); font-size: 15px; letter-spacing: .08em; text-transform: uppercase; margin: 1.5em 0 .5em; }
.prose .alignleft { float: left; margin: .3em 1.2em .8em 0; }
.prose .alignright { float: right; margin: .3em 0 .8em 1.2em; }
.prose .aligncenter { display: block; margin-inline: auto; }
.prose .wp-caption, .prose .wp-block-image { max-width: 100%; }
.wp-caption-text, .wp-element-caption { font-family: var(--sans); font-size: 13.5px; line-height: 1.45; color: var(--muted); text-align: center; margin-top: 8px; }
.prose .elementor-widget-container > :last-child { margin-bottom: 0; }
.prose .elementor-section, .prose .e-con { max-width: 100%; }
.sticky, .bypostauthor, .gallery-caption { outline: 0; }
@media (max-width: 1199px) {
  .secnav .nav-list { margin: 0; gap: 22px; }
  .secnav .nav-list a { font-size: 12px; letter-spacing: .06em; }
}
@media (max-width: 640px) {
  .mast .logo-wrap { order: -1; margin-right: auto; }
  .secnav .nav-list { margin: 0; gap: 22px; }
}
