/*
Theme Name: Abhay Gupta Writing
Theme URI: https://abhaygupta.in/writing/
Author: Impact Digital Services
Description: Custom editorial WordPress theme for the Abhay Gupta Writing section, designed to match the main static Abhay Gupta website.
Version: 1.0.0
Text Domain: abhay-gupta-writing
*/

:root{--ink:#211e1a;--muted:#6c655c;--paper:#f6f2eb;--soft:#eee7dc;--copper:#b66f45;--black:#11100e;--line:#d8d0c5;--serif:"Newsreader",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--header:78px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--sans);color:var(--ink);background:#fff;line-height:1.65}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}a:hover{color:var(--copper)}.container{width:min(1120px,calc(100% - 44px));margin:auto}.narrow{width:min(790px,calc(100% - 44px))}.skip-link{position:absolute;left:-9999px}.site-header{height:var(--header);position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;font-weight:600}.brand img{width:34px;height:34px;object-fit:cover}.primary-nav{display:flex;gap:26px;font-size:.88rem}.menu-toggle{display:none;background:none;border:0}.hero{background:var(--paper);padding:80px 0}.hero-grid,.split,.two{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.hero h1,.page-hero h1{font:500 clamp(3rem,7vw,6rem)/.94 var(--serif);margin:.2em 0}.hero p{max-width:650px}.hero-kicker,.lead,.standfirst{font:400 1.45rem/1.4 var(--serif)}.hero-img{height:590px;width:100%;object-fit:cover;object-position:center 20%;background:#111}.eyebrow{font-size:.76rem;font-weight:600;letter-spacing:.15em;color:var(--copper);text-transform:uppercase}.section{padding:90px 0}.soft{background:var(--paper)}.dark,.black,.closing,.band{background:var(--black);color:#f6f2eb}.band{padding:70px 0}.band h2{font-size:1.15rem}.band ul{list-style:none;padding:0}.band li{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.14)}h2{font:500 clamp(2rem,4vw,3rem)/1.05 var(--serif)}h3{font:500 1.45rem/1.2 var(--serif)}p{margin:0 0 1.2em}.split>img{width:100%;max-height:600px;object-fit:cover}.book-cover{max-height:520px!important;object-fit:contain!important}.buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-block;border:1px solid currentColor;padding:12px 18px;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em}.btn.copper{background:var(--copper);border-color:var(--copper);color:white}.text-link{display:inline-block;color:var(--copper);font-weight:600;margin-top:10px}.light{color:#e5a57d}.brandline{font-family:var(--serif);font-size:1.3rem}.fine,.meta,small,figcaption{font-size:.82rem;color:var(--muted)}.dark small{color:#c9bfb3}.cards{display:grid;gap:22px;margin-top:32px}.cards.three{grid-template-columns:repeat(3,1fr)}.cards.two{grid-template-columns:repeat(2,1fr)}.cards article{border:1px solid var(--line);padding:24px;background:#fff}.cards article img{width:100%;height:240px;object-fit:cover;margin:-24px -24px 22px;width:calc(100% + 48px);max-width:none}.textcards article{min-height:270px}.plate{background:#16130f!important;color:#f5eee5!important;display:flex;min-height:350px;justify-content:center;flex-direction:column}.plate p{color:#d79367}.blacktile .tilefill{height:240px;background:#111;margin:-24px -24px 22px}.caps{font-size:.78rem;letter-spacing:.08em}.rows{list-style:none;padding:0;border-top:1px solid var(--line)}.rows li,.rows>div{padding:18px 0;border-bottom:1px solid var(--line)}.center{text-align:center}.closing{padding:110px 0}.closing h2{font-size:clamp(2.5rem,5vw,5rem)}.site-footer{background:#0c0b09;color:#ddd;padding:70px 0 30px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px}.footer-grid a{display:block;margin:8px 0;color:#c9c1b6}.footer-grid h4{color:#fff}.backtop{margin-top:30px;border-top:1px solid #333;padding-top:18px}.page-hero{padding:70px 0 40px;background:var(--paper)}.page-hero h1{font-size:clamp(2.8rem,6vw,5rem)}.full-bleed img{width:100%;height:62vh;min-height:430px;object-fit:cover}.warm-mono{filter:sepia(.28) grayscale(.82) contrast(1.02)}.story-row{display:grid;grid-template-columns:42% 1fr;gap:34px;margin:55px 0;align-items:start}.story-row figure{margin:0}.story-row figure img{width:100%;max-height:500px;object-fit:cover}.story-row blockquote{margin:25px 0 0}.small-center{width:46%;margin:70px auto 25px}.final-line{text-align:center;font:400 2rem var(--serif);padding:30px 0 60px}.timeline{border-top:1px solid var(--line)}.timeline-row{display:grid;grid-template-columns:130px 1fr;gap:25px;padding:22px 0;border-bottom:1px solid var(--line)}.timeline-row strong{color:var(--copper)}.photo-pair,.cover-row{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:36px}.cover-row{grid-template-columns:repeat(3,1fr);width:70%}.cover-row img{height:240px;object-fit:contain}.cover-row figcaption{text-align:center;color:var(--copper)}blockquote{border-left:2px solid var(--copper);padding:12px 0 12px 22px;margin:35px 0;font:400 1.25rem/1.5 var(--serif)}blockquote cite{display:block;font:400 .8rem var(--sans);color:var(--muted);margin-top:15px}.award-list{list-style:none;padding:0;border-top:1px solid var(--line)}.award-list li{padding:14px 0;border-bottom:1px solid var(--line)}.prose h2{font-size:1.8rem;margin-top:45px}.prose p{font-size:1.03rem}.video video{width:100%;background:#111;max-height:560px}.video figcaption{margin-top:10px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;border-left:1px solid var(--line);border-top:1px solid var(--line)}.contact-grid article{padding:38px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.contact-grid h2{font-size:1.7rem}.glossary article,.writing-list article,.framework-entry,.framework-section{padding:30px 0;border-bottom:1px solid var(--line)}.glossary h2{font-size:1.3rem;color:var(--copper)}.writing-list h2{font-size:1.65rem}.framework-entry{position:relative;padding-left:54px}.framework-entry .num{position:absolute;left:0;top:34px;color:var(--copper)}.framework-entry h3{margin:0 0 12px}.framework-entry small,.origin{display:block;color:var(--copper);margin:12px 0}.definition{font:400 1.35rem/1.5 var(--serif)}.copper-text{color:var(--copper);margin-top:40px}.download-row{display:flex;gap:12px;flex-wrap:wrap}.enquire{text-align:center;padding:50px 0}figure{margin:35px 0}figure img{width:100%}
@media(max-width:850px){.primary-nav{position:fixed;top:var(--header);left:0;right:0;background:white;display:none;flex-direction:column;padding:28px}.primary-nav.open{display:flex}.menu-toggle{display:block}.menu-toggle span{display:block;width:24px;height:2px;background:#222;margin:5px}.hero-grid,.split,.two,.story-row,.cards.three,.cards.two,.footer-grid,.contact-grid{grid-template-columns:1fr}.hero-img{height:430px}.section{padding:64px 0}.story-row{gap:20px}.cover-row{width:100%}.footer-grid{gap:22px}.photo-pair{grid-template-columns:1fr}.small-center{width:75%}}@media(max-width:520px){.container,.narrow{width:min(100% - 28px,1120px)}.hero{padding:50px 0}.hero h1{font-size:3.3rem}.cover-row img{height:160px}.timeline-row{grid-template-columns:1fr;gap:5px}.cards article img{height:200px}}

/* ===== SITEWIDE TYPOGRAPHY STANDARD ===== */
body{font-size:17px;font-weight:400;line-height:1.7}
.primary-nav{font-size:15px;font-weight:500}
.hero h1,.page-hero h1,h2,h3{font-family:var(--serif);font-weight:400}
.hero h1{font-size:clamp(2.8rem,5.2vw,4.5rem);line-height:1.04}
.page-hero h1{font-size:clamp(2.4rem,4.2vw,3.6rem);line-height:1.06}
h2,.band h2,.prose h2,.contact-grid h2{font-size:clamp(2rem,3vw,2.6rem);font-weight:400;line-height:1.1}
.section>.container>h2,.section>.container>.eyebrow+h2{text-transform:uppercase;letter-spacing:0}
h3{font-size:clamp(1.45rem,2vw,1.75rem);font-weight:400;line-height:1.22}
.writing-list h2{font-size:clamp(1.75rem,2.4vw,2.15rem);font-weight:400;line-height:1.18}
.glossary h2{font-size:clamp(1.45rem,2vw,1.75rem);font-weight:400;line-height:1.22}
.eyebrow{font-family:var(--sans);font-size:13px;font-weight:600;line-height:1.3;letter-spacing:.14em;text-transform:uppercase}
.hero-kicker,.lead,.standfirst{font-family:var(--sans);font-size:20px;font-weight:400;line-height:1.55}
.prose p{font-size:17px;line-height:1.7}
.cards article p{font-size:16px;font-weight:400;line-height:1.6}
.btn{font-family:var(--sans);font-size:15px;font-weight:600}
.text-link{font-size:15px;font-weight:600}
.fine,.meta,small,figcaption{font-size:13px;font-weight:400;line-height:1.5}
.closing h2{font-size:clamp(2.2rem,4vw,3.6rem);font-weight:400;line-height:1.08}
@media(max-width:520px){
body{font-size:16px}
.hero h1{font-size:clamp(2.75rem,12vw,3rem);line-height:1.04}
.page-hero h1{font-size:clamp(2.35rem,10vw,2.65rem);line-height:1.07}
h2,.band h2,.prose h2,.contact-grid h2{font-size:clamp(1.9rem,8vw,2.15rem)}
h3{font-size:clamp(1.4rem,6.5vw,1.6rem)}
.hero-kicker,.lead,.standfirst{font-size:18px;line-height:1.55}
}


/* ===== WRITING SECTION ===== */
body{overflow-x:hidden}
.site-main-writing{min-height:60vh}
.writing-hero{padding:72px 0 46px;background:var(--paper);border-bottom:1px solid var(--line)}
.writing-hero h1{font:400 clamp(2.8rem,5vw,4.5rem)/1.02 var(--serif);margin:.12em 0 .25em}
.writing-hero .standfirst{max-width:760px;margin-bottom:0}
.writing-feature{padding:72px 0 58px}
.feature-article{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(300px,.72fr);gap:48px;align-items:center}
.feature-media{display:block;background:var(--paper);overflow:hidden}
.feature-media img{width:100%;height:auto;max-height:none;object-fit:contain;object-position:center}
.feature-copy .article-meta,.writing-card .article-meta,.article-header .article-meta{font-size:13px;text-transform:uppercase;letter-spacing:.09em;color:var(--copper);font-weight:600}
.feature-copy h2{font:400 clamp(2rem,3vw,3rem)/1.04 var(--serif);margin:.35em 0 .35em}
.feature-copy p{color:var(--muted)}
.writing-recent{padding:0 0 84px}
.writing-recent h2,.writing-older h2{margin-bottom:30px}
.writing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.writing-card{border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;height:100%}
.writing-card .card-media{display:block;background:var(--paper);aspect-ratio:16/10;overflow:hidden}
.writing-card .card-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.writing-card:hover .card-media img{transform:scale(1.015)}
.writing-card .card-body{padding:23px;display:flex;flex-direction:column;flex:1}
.writing-card h3{margin:.45em 0 .45em}
.writing-card .card-excerpt{font-size:15px;color:var(--muted)}
.writing-card .text-link{margin-top:auto;padding-top:8px}
.writing-card.no-image .card-body{padding-top:30px}
.writing-older{padding:76px 0 90px;background:var(--paper)}
.writing-older .writing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.pagination{margin-top:44px;display:flex;gap:8px;flex-wrap:wrap}
.pagination .page-numbers{border:1px solid var(--line);padding:8px 12px;background:#fff;font-size:14px}
.pagination .current{background:var(--black);color:#fff;border-color:var(--black)}

.article-shell{padding:74px 0 92px}
.article-layout{display:grid;grid-template-columns:minmax(0,760px) minmax(240px,300px);gap:70px;align-items:start}
.article-header h1{font:400 clamp(2.35rem,3.6vw,3.25rem)/1.04 var(--serif);margin:.18em 0 .28em}
.article-header .article-date{font-size:14px;color:var(--muted);margin-bottom:0}
.article-hero{margin:38px 0 44px}
.article-hero img{width:100%;height:auto;max-height:none;object-fit:contain;object-position:center}
.article-content{font-size:17px;line-height:1.78}
.article-content > *:first-child{margin-top:0}
.article-content h2{font-size:clamp(1.9rem,3vw,2.4rem);margin:2em 0 .65em}
.article-content h3{font-size:clamp(1.45rem,2.3vw,1.8rem);margin:1.7em 0 .55em}
.article-content p{margin:0 0 1.35em}
.article-content a{color:var(--copper);text-decoration:underline;text-underline-offset:2px}
.article-content ul,.article-content ol{padding-left:1.3em;margin:0 0 1.4em}
.article-content img{height:auto;margin:32px auto}
.article-content figure{margin:36px 0}
.article-content figcaption{text-align:center;margin-top:8px}
.article-content blockquote{margin:36px 0}
.article-content iframe,.article-content video{max-width:100%}
.article-content .wp-caption{max-width:100%}
.article-content table{width:100%;border-collapse:collapse;margin:28px 0}
.article-content th,.article-content td{border:1px solid var(--line);padding:10px;text-align:left}

.writing-sidebar{position:sticky;top:calc(var(--header) + 24px)}
.sidebar-block{padding:0 0 30px;margin:0 0 30px;border-bottom:1px solid var(--line)}
.sidebar-block h2{font:500 13px/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;margin:0 0 16px;color:var(--copper)}
.sidebar-links{list-style:none;padding:0;margin:0}
.sidebar-links li{margin:0;padding:9px 0;border-bottom:1px solid #eee}
.sidebar-links li:last-child{border-bottom:0}
.sidebar-links a{font-size:14px}
.sidebar-recent a{display:block;font-family:var(--serif);font-size:1.03rem;line-height:1.3}
.sidebar-recent span{display:block;font-family:var(--sans);font-size:12px;color:var(--muted);margin-top:3px}
.cruxx-cta{background:var(--black);color:#f6f2eb;padding:26px}
.cruxx-cta h3{margin:0 0 10px;color:#f6f2eb}
.cruxx-cta p{font-size:14px;color:#d6cec4}
.cruxx-cta .btn{margin-top:5px}

.archive-header{padding:64px 0 34px;background:var(--paper);border-bottom:1px solid var(--line)}
.archive-header h1{font:400 clamp(2.4rem,4.5vw,3.8rem)/1.05 var(--serif);margin:.15em 0}
.archive-list{padding:64px 0 90px}

.no-results{padding:80px 0}
.screen-reader-text{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.alignleft{float:left;margin:0 25px 20px 0}.alignright{float:right;margin:0 0 20px 25px}.aligncenter{display:block;margin-left:auto!important;margin-right:auto!important}

@media(max-width:900px){
  .feature-article,.article-layout{grid-template-columns:1fr}
  .feature-media img{height:auto;max-height:560px}
  .writing-grid,.writing-older .writing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .writing-sidebar{position:static;border-top:1px solid var(--line);padding-top:36px}
}
@media(max-width:620px){
  .writing-hero{padding:52px 0 34px}
  .feature-copy h2{font-size:clamp(2rem,8vw,2.5rem);line-height:1.06}
  .writing-feature{padding:52px 0 44px}
  .writing-grid,.writing-older .writing-grid{grid-template-columns:1fr}
  .article-shell{padding:54px 0 68px}
  .article-layout{gap:42px}
  .article-header h1{font-size:clamp(2.15rem,9vw,2.65rem);line-height:1.06}
  .alignleft,.alignright{float:none;margin:28px auto!important}
}
