/* ==========================================================================
   The Edge / nicholasborelli.com: shared stylesheet
   Built from Nick's October 2026 mockup. One file for every newsletter page.
   Page-specific interactive pieces (workshop labs) keep their own CSS in-page.
   ========================================================================== */

/* ---------- Fonts: Georgia and Arial first; free look-alikes download only on
   devices that lack them (mostly Android and Linux). ---------- */
@font-face{font-family:"Gelasio";src:url("/assets/fonts/gelasio-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Gelasio";src:url("/assets/fonts/gelasio-latin-400-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Gelasio";src:url("/assets/fonts/gelasio-latin-700-normal.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Gelasio";src:url("/assets/fonts/gelasio-latin-700-italic.woff2") format("woff2");font-weight:700;font-style:italic;font-display:swap}
@font-face{font-family:"Arimo";src:url("/assets/fonts/arimo-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Arimo";src:url("/assets/fonts/arimo-latin-400-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Arimo";src:url("/assets/fonts/arimo-latin-700-normal.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Arimo";src:url("/assets/fonts/arimo-latin-700-italic.woff2") format("woff2");font-weight:700;font-style:italic;font-display:swap}
/* DM fonts: homepage only (Decision 2). The browser downloads them only on pages that use them. */
@font-face{font-family:"DM Sans";src:url("/assets/fonts/dm-sans-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"DM Sans";src:url("/assets/fonts/dm-sans-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"DM Sans";src:url("/assets/fonts/dm-sans-latin-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"DM Serif Display";src:url("/assets/fonts/dm-serif-display-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"DM Serif Display";src:url("/assets/fonts/dm-serif-display-latin-400-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}

/* ---------- Tokens ---------- */
:root{
  --paper:#f8f7f3;
  --ink:#111116;
  --blue:#2548f4;
  --blue-deep:#173be0;
  --blue-ink:#1735c0;
  --line:#c5c6ca;
  --rule-strong:#74757b;
  --soft:#e9ecff;
  --soft-2:#edeff8;
  --muted:#53545c;
  --coral:#ed6b50;
  --serif:Georgia,"Gelasio","Times New Roman",serif;
  --sans:Arial,"Arimo",Helvetica,sans-serif;
  --mono:"Courier New",monospace;
}

/* ---------- Base ---------- */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.65 var(--serif)}
a{color:var(--blue);text-underline-offset:4px}
a:hover{text-decoration:underline}
button,a,input{touch-action:manipulation}
button{cursor:pointer}
img{max-width:100%;height:auto;display:block}
figure,p,h1,h2,h3,h4{margin:0}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
[hidden]{display:none!important}
.skip{position:absolute;left:-9999px;top:0;background:#fff;color:var(--ink);padding:12px 16px;font:14px var(--sans);z-index:100}
.skip:focus{left:12px;top:12px}
.wrap{max-width:1160px;margin:auto;padding:0 38px}

/* ---------- Top bar ---------- */
.topbar{display:flex;align-items:center;gap:22px;padding:17px 0;font:12px var(--sans)}
.topbar .company{margin-right:auto;color:var(--ink)}
.topbar a{text-decoration:none}
.topbar a:not(.button),.footer nav a,.brand-footer nav a{display:inline-flex;align-items:center;min-height:44px}   /* thumb-sized targets */
.brand-mark{width:14px;height:14px;border:2px solid var(--blue);display:inline-block;flex-shrink:0}
.button{display:inline-flex;align-items:center;justify-content:center;padding:13px 23px;background:var(--blue);color:#fff;text-decoration:none;font:14px/1.3 var(--sans);border:1px solid var(--blue)}
.button:hover{background:#1738d4;text-decoration:none}
.topbar .button{padding:10px 18px;font-size:12px}

/* ---------- Masthead ---------- */
.masthead{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:0 0 14px}
.wordmark{font:700 clamp(85px,11.5vw,156px)/.98 var(--serif);letter-spacing:-9px;color:#08080b;text-decoration:none;white-space:nowrap}
.wordmark:hover{text-decoration:none}
.wordmark span{color:var(--blue)}
.signature{padding-bottom:7px;font-size:17px;line-height:1.55}
.signature b{display:block;font:10px/1.6 var(--sans);letter-spacing:2px;margin-bottom:5px}
.issue-meta{display:flex;justify-content:space-between;padding:8px 0;border-top:1px solid var(--rule-strong);border-bottom:1px solid var(--line);font:10px/1.5 var(--sans);letter-spacing:2px;text-transform:uppercase}
.section-nav{display:flex;justify-content:center;gap:52px;padding:13px 0;border-bottom:1px solid var(--line);font-size:16px}
.section-nav a{color:var(--ink);text-decoration:none}
.section-nav a[aria-current=page]{color:var(--blue);text-decoration:underline}
.eyebrow{font:700 14px/1.4 var(--sans);letter-spacing:2px;text-transform:uppercase;color:var(--blue);margin-bottom:12px}   /* section labels: one size everywhere so readers always see which section they're in */

/* ---------- Issue home ---------- */
.hero{display:grid;grid-template-columns:1fr 1fr;gap:36px;padding:30px 0 24px;border-bottom:1px solid var(--line);align-items:center}
.hero h1{font:700 clamp(38px,4.7vw,61px)/1.02 var(--serif);letter-spacing:-2.5px;margin:0 0 18px}
.hero h1 a{color:inherit;text-decoration:none}
.hero .deck{font-size:23px;line-height:1.35;margin-bottom:12px}
.hero img{width:100%;aspect-ratio:1.48;object-fit:cover}
.hero.no-cover{grid-template-columns:1fr}
.hero.long h1{font-size:clamp(34px,3.7vw,50px);letter-spacing:-1.6px}   /* back issues whose lead is a long news headline */
.hero.no-cover h1{max-width:900px}
.byline{font-size:14px;color:var(--muted)}
.issue-intro{padding:30px 0 24px;border-bottom:1px solid var(--line)}
.intro-copy{max-width:780px;margin:0 auto}
.intro-copy>p{margin:0 30px 14px;font-size:18px;line-height:1.5}
.intro-copy>p.read-more{margin-top:14px;margin-bottom:0}
.pullquote{margin:18px 0 0;background:var(--soft);padding:20px 32px;text-align:center;color:var(--blue-deep);font:30px/1.2 var(--serif);letter-spacing:-.7px}
.pullquote a{color:inherit;text-decoration:none}
.news-preview{padding:19px 0 26px}
.news-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.news-grid.single{grid-template-columns:1fr}
.news-card{display:grid;grid-template-columns:170px 1fr;gap:22px;align-items:start}
.news-card+article{padding-left:30px;border-left:1px solid var(--line)}
.news-card.no-img{grid-template-columns:1fr}
.news-card img{width:100%;height:160px;object-fit:cover;object-position:50% 50%}   /* image pack: subjects sit in the central 65% */
.news-card h3{font:700 24px/1.07 var(--serif);letter-spacing:-.6px;margin-bottom:10px}
.news-card h3 a{color:inherit;text-decoration:none}
.news-card p{font:15px/1.45 var(--serif);color:var(--muted);margin-bottom:8px}
.read-link{font:700 12px/1.5 var(--sans);text-decoration:none}
.workshop-preview{background:var(--soft);margin:0 -38px;padding:26px 38px;display:grid;grid-template-columns:1.5fr 2fr;gap:35px;align-items:center}
.workshop-preview h2{font:700 34px/1.07 var(--serif);letter-spacing:-1px;margin:0 0 6px}
.workshop-preview p:not(.eyebrow){font-size:15px;margin-bottom:14px}
.careers{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.career{background:var(--paper);padding:17px;min-width:0}
.career svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.4;margin-bottom:8px}
.career h3{font:bold 17px/1.4 var(--serif)}
.career p{font-size:14px;line-height:1.4;color:var(--muted);margin:0}

/* ---------- Section (reader) pages ---------- */
.breadcrumb{font:13px/1.5 var(--sans);padding:24px 0}
.reader-head{max-width:800px;margin:12px auto 30px}
.reader-head h1{font:700 53px/1.1 var(--serif);letter-spacing:-1.8px;margin-bottom:18px}
.reader-head .byline{margin-top:14px}
.reader-content{max-width:800px;margin:auto;font-size:19px;line-height:1.85}
.reader-content p{margin:0 0 22px}
.reader-content h2{font:700 34px/1.2 var(--serif);margin:34px 0 20px}
.reader-content h3{font:700 34px/1.2 var(--serif);letter-spacing:-.8px;margin:28px 0 18px}
.reader-content h4{font:700 24px/1.3 var(--serif);margin:18px 0}
.reader-content ul,.reader-content ol{margin:0 0 22px;padding-left:26px}
.reader-content li{margin:0 0 8px}
.reader-content .section-header{display:none}
.wt-intro-box{background:var(--soft-2);padding:23px 26px;border-left:3px solid var(--blue);margin-bottom:30px;font:16px/1.7 var(--sans);color:#434c64}
.wt-intro-box p:last-child{margin:0}
.article{padding-bottom:34px;margin-bottom:34px;border-bottom:1px solid var(--line)}
.article:last-of-type{border-bottom:0}
.article-tag,.mini-label{font:700 12px/1.5 var(--sans);letter-spacing:1px;text-transform:uppercase;color:var(--blue-ink)}
.article-tag{display:block}
.article-image{width:100%;max-height:430px;object-fit:cover}
.article-figure{margin:22px 0}
.article-figure a{display:block}
.article-figure figcaption{font:13px/1.6 var(--sans);color:var(--muted);padding-top:9px}
.article-callout,.wt-callout{padding:23px;background:var(--soft);border-left:3px solid var(--blue);margin:24px 0}
.learn-more{display:inline-block;font:700 14px/1.5 var(--sans);text-decoration:none;margin:0 0 22px}
.learn-more:hover{text-decoration:underline}
.fine-note{font:14px/1.6 var(--sans);color:var(--muted)}
.reader-content p.fine-note{margin:0 0 18px}
.model-table-wrap{overflow-x:auto;margin:18px 0 14px;border-top:1px solid var(--rule-strong)}
.model-table{width:100%;border-collapse:collapse;font:15px/1.45 var(--sans)}
.model-table caption{caption-side:top}
.model-table th,.model-table td{padding:12px 12px 12px 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.model-table thead th{font:700 11px/1.5 var(--sans);letter-spacing:1px;text-transform:uppercase;color:var(--blue-ink)}
.model-table tbody th{font:700 16px/1.35 var(--serif)}
.model-table small{display:block;font:12px/1.5 var(--sans);color:var(--muted)}
.model-table tr.new-model th,.model-table tr.new-model td{background:var(--soft)}
.source-list{padding-left:24px}
.source-list li{padding:10px 0}
.source-list span{display:block;font-size:16px;color:var(--muted)}
.signoff{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
.signoff .sig{font-style:italic}
.signoff .tagline{font:13px/1.6 var(--sans);color:var(--muted)}
.source-note{font:13px/1.6 var(--sans);color:var(--muted);margin-top:18px}
.section-pager{max-width:800px;margin:40px auto;display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding-top:22px;font:14px/1.5 var(--sans)}
.section-pager{align-items:center}
.section-pager .button{font-size:15px}   /* the way on to the next section, so nobody stops halfway through an issue */

/* ---------- Workshop (shared pieces) ---------- */
.workshop-header-row{display:flex;align-items:center;justify-content:space-between;gap:20px}
.workshop-tagline-badge{font:11px/1.5 var(--sans);color:#46516b}
.workshop-subline{font-size:20px;line-height:1.45;margin-bottom:16px}
.workshop-body{font-size:18px}
.scope-note,.model-method{font:15px/1.7 var(--sans);color:#46516b;background:#eef1ff;padding:20px;margin:20px 0}
.model-method summary{cursor:pointer;color:var(--blue-ink);font-weight:700}

/* ---------- Subscribe (light; the beehiiv form inside is a white card) ---------- */
.subscribe-bar{background:#fff;color:var(--ink);border:1px solid var(--line);border-top:3px solid var(--blue);padding:30px 24px 22px;margin:48px auto 0;max-width:684px;text-align:center}
.subscribe-label{font:700 10px/1.6 var(--sans);letter-spacing:1.5px;text-transform:uppercase;color:var(--blue);margin-bottom:10px}
.subscribe-headline{font:700 30px/1.1 var(--serif);letter-spacing:-.8px;color:var(--ink);margin-bottom:8px}
.subscribe-sub{font:16px/1.5 var(--serif);color:var(--muted);margin-bottom:14px}
.subscribe-sub a{font:13px/1.6 var(--sans);color:var(--blue)}
.subscribe-embed{width:100%;height:230px;max-width:100%;min-height:60px;border:0;background:transparent}

/* ---------- Footer ---------- */
.footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:22px 0;margin-top:35px;font:12px/1.6 var(--sans);color:var(--muted)}
.footer a{color:inherit}
.footer nav{display:flex;gap:18px;flex-wrap:wrap}

/* ---------- Homepage (/) — the mockup's design, on the shared tokens; DM fonts per Decision 2 ---------- */
.home-page{--hserif:"DM Serif Display",Georgia,serif;--hsans:"DM Sans",Arial,sans-serif;font:17px/1.7 var(--hsans)}
.home-page .container{max-width:1240px;padding:0 40px;margin:auto}
.home-page section,.home-page [id]{scroll-margin-top:24px}
.home-page .site-nav{background:var(--paper);border-bottom:1px solid var(--line);padding:22px 0}
.home-page .nav-inner{max-width:1240px;margin:auto;padding:0 40px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.home-page .brand-lockup{display:flex;gap:15px;align-items:center;text-decoration:none;color:var(--ink)}
.home-page .brand-mark{width:26px;height:26px;border:3px solid var(--blue);border-left-color:transparent}
.home-page .brand-name{font:24px/1.1 var(--hserif);letter-spacing:-.5px}
.home-page .brand-name small{display:block;font:10px/1.8 var(--hsans);letter-spacing:3px;margin-top:5px;text-transform:uppercase}
.home-page .nav-links{display:flex;gap:27px;align-items:center}
.home-page .site-nav a{font:14px var(--hsans);color:var(--ink);text-decoration:none}
.home-page .site-nav a:hover{color:var(--blue)}
.home-page .site-nav .nav-cta,.home-page .button-primary{background:var(--blue);color:#fff;border:1px solid var(--blue);padding:13px 21px;font:500 15px/1.5 var(--hsans);display:inline-flex;align-items:center;justify-content:center;min-height:48px;text-decoration:none}
.home-page .site-nav .nav-cta:hover,.home-page .button-primary:hover{background:#1532c9;color:#fff;text-decoration:none}
.home-page .button-secondary{font:500 15px/1.5 var(--hsans);color:var(--ink);padding:13px 0}
.home-page .menu-toggle{display:none;background:transparent;border:1px solid var(--line);padding:9px 13px;color:var(--ink);font:14px var(--hsans);min-height:44px}
.home-page .eyebrow,.home-page .section-label{font:500 12px/1.5 var(--hsans);letter-spacing:2px;text-transform:uppercase;color:var(--blue);margin:0 0 22px}
.home-hero{padding:66px 0 72px}
.home-hero .container{display:grid;grid-template-columns:1.1fr 1fr;gap:25px;align-items:center}
.home-hero h1{font:600 clamp(46px,5.9vw,82px)/1.04 var(--hsans);letter-spacing:-4px;margin:0 0 27px}
.home-hero h1 em{font:italic 400 1.09em/1 var(--hserif);color:var(--blue);letter-spacing:-3px}
.hero-body{font:21px/1.65 var(--hserif);max-width:510px;margin:0 0 28px;color:#363a45}
.hero-actions{display:flex;flex-wrap:wrap;gap:22px;align-items:center}
.hero-caption{margin:36px 0 0;font-size:13px;color:var(--muted)}
.hero-art{margin:0}
.hero-art img{width:100%;aspect-ratio:1.03;object-fit:cover;object-position:35% 50%}   /* image pack focal point */
.hero-art figcaption{font:italic 16px var(--hserif);text-align:right;margin-top:10px}
.edge-band{background:var(--soft);padding:37px 0}
.edge-band .container{display:grid;grid-template-columns:1fr 1.3fr auto;gap:32px;align-items:center}
.edge-wordmark{font:clamp(48px,6vw,76px)/1 var(--serif);font-weight:700;letter-spacing:-3px;color:var(--blue);text-decoration:none}   /* matches the newsletter wordmark */
.edge-wordmark:hover{text-decoration:none}
.edge-band p{font-size:16px;line-height:1.6;margin:0}
.edge-band strong{display:block;font:400 24px/1.4 var(--hserif);margin-bottom:7px}
.edge-band-links{display:flex;flex-direction:column;gap:8px;font-size:14px}
.content-section{padding:90px 0;border-bottom:1px solid var(--line)}
.home-page .section-title{font:400 clamp(34px,4.4vw,56px)/1.12 var(--hserif);letter-spacing:-1.6px;color:var(--ink);margin:0 0 27px}
.home-page .section-title em{font-style:italic;color:var(--blue)}
.home-page .section-body{font-size:18px;line-height:1.85;color:#444854;max-width:760px;margin:0 0 22px}
.section-split{display:grid;grid-template-columns:.9fr 1.35fr;gap:75px}
.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.service{border-top:1px solid #a6a9b5;padding:18px 0}
.service-num{color:#b8432c;font:19px var(--hserif)}   /* mockup's #c74831 darkened a touch for 4.5:1 contrast */
.service h3{font:400 25px/1.2 var(--hserif);margin:13px 0}
.service p{font-size:16px;line-height:1.75;color:#505562;margin:0}
.about-section{background:#f0f1f5}
.about-note{border-left:3px solid var(--coral);padding-left:24px;margin-top:28px;font-size:15px;color:var(--muted)}
.audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 50px}
.audience-row{padding:20px 0;border-top:1px solid var(--line);display:flex;gap:20px;font-size:17px}
.audience-index{font:14px var(--mono);color:var(--blue);padding-top:5px}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:45px}
.process-card{border-top:2px solid var(--blue);padding-top:18px}
.process-card>span{color:var(--blue);font:42px var(--hserif)}
.process-card h3{font:400 30px var(--hserif);margin:8px 0 15px}
.process-card p{font-size:16px;color:var(--muted)}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px}
.contact-details{display:flex;flex-direction:column;gap:20px;padding-top:10px}
.contact-details small{display:block;font-size:12px;letter-spacing:1.7px;text-transform:uppercase;color:var(--muted)}
.contact-details a{font-size:21px}
.contact-details .button-primary{font-size:15px;align-self:flex-start;margin-top:12px}
.brand-footer{max-width:1240px;margin:auto;padding:32px 40px;display:flex;justify-content:space-between;gap:24px;font-size:13px}
.brand-footer nav{display:flex;gap:25px}
.brand-footer a{color:var(--muted)}

/* ---------- Newsletter archive (/newsletter.html) ---------- */
.archive-intro{padding:30px 0 26px;border-bottom:1px solid var(--line);max-width:820px}
.archive-intro .deck{font-size:24px;line-height:1.35;margin-bottom:14px}
.archive-wwm{font:15px/1.6 var(--sans);color:var(--muted)}
.archive-wwm a{font-weight:700;text-decoration:none;white-space:nowrap}
.latest-feature{display:grid;grid-template-columns:1fr 1fr;gap:36px;padding:30px 0;border-bottom:1px solid var(--line);align-items:center}
.latest-feature.no-cover{grid-template-columns:1fr}
.latest-feature h2{font:700 clamp(34px,4vw,54px)/1.04 var(--serif);letter-spacing:-2px;margin:0 0 16px}
.latest-feature h2 a{color:inherit;text-decoration:none}
.latest-feature .deck{font-size:21px;line-height:1.4;margin-bottom:12px}
.latest-feature img{width:100%;aspect-ratio:1.5;object-fit:cover}
.issue-line{font:12px/1.6 var(--sans);letter-spacing:.4px;color:var(--muted);margin-bottom:18px}
.past-issues{padding:26px 0 10px}
.past-sub{font:15px/1.6 var(--sans);color:var(--muted);margin:2px 0 18px}
.issue-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.issue-row{display:grid;grid-template-columns:150px 1fr auto;gap:24px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}
.issue-row.no-img{grid-template-columns:1fr auto}
.issue-row img{width:150px;height:100px;object-fit:cover}
.issue-row .issue-text{display:flex;flex-direction:column;gap:4px}
.issue-row .issue-line{margin:0}
.issue-title{font:700 24px/1.15 var(--serif);letter-spacing:-.5px}
.issue-topics{font:13px/1.5 var(--sans);color:var(--blue-ink)}
.issue-arrow{font:20px var(--sans);color:var(--blue)}
.issue-row:hover{text-decoration:none}
.issue-row:hover .issue-title{text-decoration:underline;text-underline-offset:4px}
.archive-subscribe .subscribe-label{margin:18px 0 4px}
.archive-subscribe .privacy{font:13px/1.6 var(--sans);margin:4px 0 0}

/* ---------- 404 ---------- */
.nf{max-width:760px;padding:70px 0 90px;min-height:56vh}
.nf h1{font:700 clamp(44px,6vw,72px)/1.02 var(--serif);letter-spacing:-2px;margin:0 0 20px}
.nf .deck{font-size:21px;line-height:1.45;margin-bottom:22px}
.nf-links{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.nf-links li{border-bottom:1px solid var(--line)}
.nf-links a{display:block;padding:16px 0;font:700 19px/1.3 var(--serif);text-decoration:none}
.nf-links a:hover{text-decoration:underline}

/* ---------- Pieces from earlier issues (#001–#007) ---------- */
/* Earlier issues were written for a dark theme. Their inline styles name the old colours
   (var(--ivory), var(--amber), var(--black-card)...); these map each name onto the new palette. */
.reader-content{--black:var(--paper);--black-soft:#f1f0eb;--black-card:#fff;--black-border:var(--line);--amber:var(--blue);--amber-dim:rgba(37,72,244,.22);--amber-glow:var(--soft);--ivory:var(--ink);--ivory-dim:#33343b;--ivory-muted:var(--muted);--ivory-ghost:rgba(17,17,22,.08)}
.reader-content .amber{color:var(--blue)}
.reader-content h3.amber{color:var(--ink)}   /* old accent headlines read as the new black headlines */
.reader-content .ivory{color:var(--ink)}
.section-header-mark{display:none}
/* a few inline styles hard-code the dark theme's tints: lift them onto the light page */
.reader-content [style*="background:rgba(0,0,0,"]{background:#fff!important}
.reader-content [style*="font-size:15px"]{font-size:inherit!important}   /* old body-text size: use the new reading size */
.reader-content [style*="background:rgba(212,147,42,"]{background:var(--soft)!important}
.reader-content [style*="solid rgba(212,147,42,"]{border-color:rgba(37,72,244,.25)!important}
.article h3 a,.article-title a{color:inherit;text-decoration:none}
.article h3 a:hover{text-decoration:underline}
.article-body p,.wt-body p,.workshop-experiment p{margin:0 0 18px}
.article-body p:last-child,.wt-body p:last-child{margin-bottom:0}
.article+.article{margin-top:42px;padding-top:34px;border-top:1px solid var(--line)}
.article-tag{font:700 11px/1.5 var(--sans);letter-spacing:1.2px;text-transform:uppercase;color:var(--blue);margin-bottom:10px}
.article h3,.workshop-title{font:700 30px/1.15 var(--serif);letter-spacing:-.6px;margin:0 0 16px}
.mini-label,.workshop-label{display:block;font:700 11px/1.5 var(--sans);letter-spacing:1.2px;text-transform:uppercase;color:var(--blue);margin:26px 0 10px}
.standfirst{font-size:21px;line-height:1.5;margin-bottom:24px}
.workshop-header-row{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:8px}
.workshop-cta{background:var(--soft-2);border-left:3px solid var(--blue);padding:18px 20px;margin:24px 0;font:16px/1.6 var(--sans);color:#33343b}
/* prompts and conversations */
.prompt-text{white-space:pre-wrap;overflow-wrap:anywhere;font:16px/1.65 var(--serif);color:var(--ink)}
.prompt-text p{margin:0 0 12px}
.prompt-text p:last-child{margin-bottom:0}
pre.prompt-text,.workshop-starter{font:15px/1.7 var(--mono);background:#fff;border:1px solid var(--line);border-left:3px solid var(--blue);padding:20px 22px;margin:20px 0}
.prompt-block{background:#fff;border:1px solid var(--line);padding:20px 22px;margin:20px 0}
.prompt-speaker{font:700 11px/1.5 var(--sans);letter-spacing:1.2px;text-transform:uppercase;margin:0 0 6px}
.prompt-speaker.you{color:var(--blue)}
.prompt-speaker.claude{color:#c2410c}
.prompt-divider{height:1px;background:var(--line);margin:16px 0}
.prompt-bridge{font:15px/1.6 var(--sans);color:var(--muted);margin:14px 0}
.copy-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:6px 0 22px}
.copy-btn{font:700 13px/1 var(--sans);color:var(--blue);background:#fff;border:1px solid var(--blue);padding:12px 18px;min-height:44px}
.copy-btn:hover{background:var(--soft)}
.copy-status{font:13px/1.5 var(--sans);color:var(--muted);min-height:18px}
/* reveal panels */
details.reveal,details.workshop-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:24px 0}
details.reveal>summary,details.workshop-details>summary{cursor:pointer;padding:16px 0;font:700 15px/1.4 var(--sans);color:var(--blue-ink)}
.reveal-body,.details-body{padding:0 0 20px}
/* resources */
.resource-card{border-top:1px solid var(--line);padding:16px 0}
.resource-card:last-child{border-bottom:1px solid var(--line)}
.resource-card-head{display:flex;justify-content:space-between;align-items:baseline;gap:14px;flex-wrap:wrap}
.resource-name{font:700 19px/1.3 var(--serif)}
.resource-url{font:13px/1.5 var(--sans)}
.resource-desc{font:15px/1.6 var(--sans);color:var(--muted);margin-top:4px}
/* tables */
.workshop-table{width:100%;border-collapse:collapse;font:15px/1.5 var(--sans);margin:18px 0}
.workshop-table th,.workshop-table td{padding:11px 12px 11px 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.workshop-table thead th{font:700 11px/1.5 var(--sans);letter-spacing:1px;text-transform:uppercase;color:var(--blue-ink)}
.workshop-table td:first-child{font-weight:700}
/* spotlight extras */
.spotlight-links{margin:18px 0}
.spotlight-link-item{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font:16px/1.5 var(--serif)}
.spotlight-link-marker{color:var(--blue)}
/* #007 model watch and podcast */
.release-card{border-top:1px solid var(--line);margin-top:34px;padding-top:6px}
.release-card h4{font:700 26px/1.2 var(--serif);letter-spacing:-.4px;margin:6px 0 18px}
.rank{color:var(--blue);font:22px var(--serif)}
.featured-model{background:var(--soft)}
.podcast-figure{max-width:560px}
.podcast-image-link{display:block;position:relative;text-decoration:none}
.watch-badge{position:absolute;left:14px;bottom:14px;background:var(--blue);color:#fff;font:700 12px/1 var(--sans);padding:10px 12px}

/* ---------- Responsive ---------- */
@media (max-width:950px){
  .home-page .container,.home-page .nav-inner{padding:0 24px}
  .home-page .brand-name{font-size:21px}
  .home-page .nav-links{gap:16px}
  .home-page .site-nav a{font-size:13px}
  .home-hero{padding:45px 0}
  .home-hero .container{gap:10px}
  .home-hero h1{letter-spacing:-2.5px;font-size:52px}
  .hero-body{font-size:18px}
  .hero-art img{aspect-ratio:.8}
  .edge-band .container{grid-template-columns:1fr 1.4fr}
  .edge-band-links{grid-column:2}
  .section-split{gap:35px;grid-template-columns:1fr}
  .content-section{padding:60px 0}
  .process-grid{gap:24px}
  .contact-layout{gap:35px}
  .wordmark{font-size:115px;letter-spacing:-7px}
  .signature{font-size:15px}
  .hero h1{font-size:48px}
  .news-card{grid-template-columns:110px 1fr;gap:16px}
  .news-card img{height:140px}
  .news-card h3{font-size:22px}
  .workshop-preview{grid-template-columns:1fr 1.6fr;gap:25px}
  .career{padding:13px}
  .section-nav{gap:35px}
}
@media (max-width:650px){
  .home-page .site-nav{padding:17px 0}
  .home-page .menu-toggle{display:block}
  .home-page .nav-inner{flex-wrap:wrap}
  .home-page .nav-links{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;order:3;border-top:1px solid var(--line);padding-top:10px}
  .home-page .nav-links.open{display:flex}
  .home-page .nav-links a{padding:12px 0;font-size:16px}
  .home-page .nav-links .nav-cta{padding:12px 17px;align-self:flex-start}
  .home-hero .container{grid-template-columns:1fr}
  .home-hero h1{font-size:54px;letter-spacing:-2.8px;max-width:480px}
  .hero-art{margin:27px -24px 0}
  .hero-art img{aspect-ratio:1.6;object-position:center}
  .hero-art figcaption{padding-right:24px;font-size:14px}
  .hero-caption{margin-top:22px}
  .hero-actions{gap:15px}
  .hero-actions .button-primary{font-size:14px}
  .edge-band .container{grid-template-columns:1fr;gap:20px}
  .edge-band-links{grid-column:auto;flex-direction:row;gap:25px}
  .edge-wordmark{font-size:64px}
  .services-grid,.audience-grid,.process-grid,.contact-layout{grid-template-columns:1fr}
  .home-page .section-title{font-size:39px}
  .process-grid{gap:32px;margin-top:30px}
  .brand-footer{padding:28px 24px;flex-direction:column}
  .brand-footer nav{flex-wrap:wrap}
  .home-page .section-body{font-size:17px}
  .wrap{padding:0 22px}
  .topbar{gap:14px;padding:16px 0;font-size:11px}
  .topbar .button{font-size:11px;padding:10px}
  .topbar .brand-mark{width:12px;height:12px}
  .masthead{display:block;padding:8px 0 16px}
  .wordmark{font-size:clamp(50px,17.2vw,112px);letter-spacing:-5px}
  .signature{font-size:14px;margin-top:13px;display:flex;gap:12px;align-items:center;padding:0;flex-wrap:wrap}
  .signature b{font-size:8px;margin:0;letter-spacing:1.1px}
  .issue-meta{font-size:9px;letter-spacing:1.2px}
  .section-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;text-align:center;padding:14px 0;font-size:13px;line-height:1.4}
  .section-nav.n3{grid-template-columns:repeat(3,1fr)}
  .hero{grid-template-columns:1fr;gap:22px;padding:27px 0 24px}
  .hero h1{font-size:46px;letter-spacing:-1.7px;max-width:460px}
  .hero.long h1{font-size:35px;letter-spacing:-1px}
  .latest-feature{grid-template-columns:1fr;gap:22px;padding:24px 0}
  .latest-feature h2{font-size:38px;letter-spacing:-1.2px}
  .archive-intro .deck{font-size:21px}
  .issue-row{grid-template-columns:96px 1fr;gap:16px;padding:16px 0}
  .issue-row img{width:96px;height:72px}
  .issue-row .issue-arrow{display:none}
  .issue-title{font-size:20px}
  .hero .deck{font-size:21px}
  .hero img{aspect-ratio:1.5}
  .issue-intro{padding:22px 0}
  .intro-copy>p{margin:0 0 15px;font-size:18px}
  .pullquote{padding:22px 19px;font-size:26px;line-height:1.22}
  br.desktop-break{display:none}
  .news-grid{grid-template-columns:1fr;gap:24px}
  .news-card{grid-template-columns:105px 1fr;gap:17px}
  .news-card+article{padding:22px 0 0;border-left:0;border-top:1px solid var(--line)}
  .news-card img{height:132px}
  .news-card h3{font-size:23px}
  .news-card p{font-size:15px}
  .read-link{font-size:13px}
  .workshop-preview{margin:0 -22px;padding:25px 22px;grid-template-columns:1fr;gap:23px}
  .workshop-preview h2{font-size:34px}
  .workshop-preview p:not(.eyebrow){font-size:16px}
  .careers{gap:9px}
  .career{padding:13px 10px}
  .career p{font-size:13px}
  .career h3{font-size:17px}
  .footer{font-size:11px;flex-wrap:wrap}
  .reader-head{margin:10px auto 25px}
  .reader-head h1{font-size:40px;letter-spacing:-1.2px}
  .reader-content{font-size:18px;line-height:1.8}
  .reader-content h3{font-size:29px}
  .wt-intro-box{padding:20px;font-size:15px}
  .subscribe-bar{padding:24px 8px}
  .subscribe-embed{height:260px}
  .workshop-header-row{display:block}
  .workshop-tagline-badge{display:block;margin-bottom:15px}
  .section-pager{font-size:13px}
  .article-figure figcaption{font-size:12px}
  .model-table{font-size:14px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important}
}
@media (max-width:360px){
  .home-page .container,.home-page .nav-inner{padding-left:18px;padding-right:18px}
  .home-hero h1{font-size:47px}
  .home-hero h1 em{letter-spacing:-2px}
  .home-page .brand-name{font-size:19px}
  .hero-art{margin-left:-18px;margin-right:-18px}
}
