/*
Theme Name: Patrick Nzabonimpa
Theme URI: https://www.patricknzabonimpa.com/
Author: Patrick Nzabonimpa
Description: A bold, editorial personal-brand WordPress theme for writer, journalist and editor Patrick Nzabonimpa. Built around an imigongo-inspired colour palette, kinetic type, and page-by-page storytelling.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: patrick-nzabonimpa
*/

:root{
  --ink:#0B0B0C;
  --bone:#F3EBDA;
  --rust:#B23A2E;
  --ochre:#DFA22B;
  --umber:#2B1B10;
  --line:rgba(243,235,218,0.18);
  --line-dark:rgba(11,11,12,0.14);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--bone); color:var(--ink);
  font-family:'Inter',sans-serif; font-size:16px; line-height:1.6;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
h1,h2,h3,h4{font-family:'Instrument Serif',serif; font-weight:400; margin:0; letter-spacing:-0.01em;}
.disp{font-family:'Bebas Neue',sans-serif; letter-spacing:.02em;}
.wrap{max-width:1240px; margin:0 auto; padding:0 34px;}
@media(max-width:640px){.wrap{padding:0 20px;}}
::selection{background:var(--rust); color:var(--bone);}

#cur{
  position:fixed; top:0; left:0; width:16px; height:16px; border-radius:50%;
  background:var(--rust); pointer-events:none; z-index:999; mix-blend-mode:difference;
  transform:translate(-50%,-50%); transition:width .25s ease, height .25s ease, background .25s ease;
}
#cur.big{width:52px; height:52px; background:var(--ochre);}
@media(hover:none){#cur{display:none;}}

#preloader{
  position:fixed; inset:0; background:var(--ink); z-index:1000;
  display:flex; align-items:center; justify-content:center; flex-direction:column;
  transition:transform .9s cubic-bezier(.76,0,.24,1);
}
#preloader.hide{transform:translateY(-100%);}
#preloader .pl-text{font-family:'Bebas Neue'; font-size:15vw; color:var(--bone); line-height:.8; letter-spacing:.02em; display:flex; overflow:hidden;}
#preloader .pl-text span{display:inline-block; transform:translateY(110%); animation:plUp .8s cubic-bezier(.2,.8,.2,1) forwards;}
@keyframes plUp{to{transform:translateY(0);}}
#preloader .pl-bar{width:220px; height:2px; background:rgba(243,235,218,.2); margin-top:26px; position:relative; overflow:hidden;}
#preloader .pl-bar i{position:absolute; left:0; top:0; height:100%; width:0%; background:var(--rust); animation:plBar 1.3s ease forwards .3s;}
@keyframes plBar{to{width:100%;}}

.tri-row{display:flex; width:100%; height:26px; overflow:hidden;}
.tri-row .tri{flex:1 1 0; height:100%;}
.tri.up{clip-path:polygon(50% 0,100% 100%,0 100%);}
.tri.down{clip-path:polygon(0 0,100% 0,50% 100%);}
@media(max-width:640px){.tri-row{height:16px;}}

header{position:fixed; top:0; left:0; width:100%; z-index:300; padding:18px 0; background:var(--ink); border-bottom:1px solid rgba(243,235,218,0.12);}
.nav-row{display:flex; justify-content:space-between; align-items:center;}
.logo{font-family:'Bebas Neue'; font-size:20px; color:var(--bone); letter-spacing:.04em;}
.hamburger{display:flex; flex-direction:column; gap:6px; background:none; border:none; cursor:pointer; padding:8px;}
.hamburger span{width:24px; height:2px; background:var(--bone); display:block;}

#navOverlay{
  position:fixed; inset:0; background:var(--ink); z-index:400;
  display:flex; flex-direction:column; justify-content:center; overflow-y:auto; overflow-x:hidden;
  transform:translateY(-100%); visibility:hidden;
  transition:transform .7s cubic-bezier(.76,0,.24,1), visibility 0s .7s;
}
#navOverlay.open{transform:translateY(0); visibility:visible; transition:transform .7s cubic-bezier(.76,0,.24,1), visibility 0s;}
.nav-close{position:absolute; top:24px; right:34px; background:none; border:none; color:var(--bone); font-size:16px; cursor:pointer; font-family:'Inter'; letter-spacing:.08em; text-transform:uppercase;}
.nav-list{list-style:none; margin:auto 0; padding:100px 34px 40px; counter-reset:navnum;}
.nav-list li{border-top:1px solid var(--line); overflow:hidden; counter-increment:navnum;}
.nav-list li:last-child{border-bottom:1px solid var(--line);}
.nav-list a{
  display:flex; align-items:baseline; gap:22px; padding:16px 0;
  font-family:'Instrument Serif'; font-size:clamp(32px,6vw,64px); color:var(--bone);
  transition:color .3s ease, padding-left .3s ease;
}
.nav-list a::before{
  content:counter(navnum, decimal-leading-zero); font-family:'Inter'; font-size:13px; color:var(--rust);
  align-self:flex-start; margin-top:14px;
}
.nav-list a:hover{color:var(--ochre); padding-left:18px;}
@media(max-width:640px){.nav-list a{font-size:38px;}}

.rv{opacity:0; transform:translateY(28px); transition:opacity .8s ease, transform .8s ease;}
.rv.in{opacity:1; transform:translateY(0);}
@media(prefers-reduced-motion:reduce){.rv{opacity:1; transform:none; transition:none;} html{scroll-behavior:auto;}}

.split .word{display:inline-block; overflow:hidden; vertical-align:top;}
.split .word span{display:inline-block; transform:translateY(115%); transition:transform .9s cubic-bezier(.16,1,.3,1);}
.split.in .word span{transform:translateY(0);}

.marquee-wrap{overflow:hidden; white-space:nowrap; width:100%;}
.marquee{display:inline-flex; animation:mq 26s linear infinite;}
.marquee span{padding:0 30px; font-family:'Bebas Neue'; font-size:clamp(28px,4.5vw,48px);}
@keyframes mq{from{transform:translateX(0);} to{transform:translateX(-50%);}}
@media(prefers-reduced-motion:reduce){.marquee{animation:none;}}

.btn{
  font-family:'Inter'; font-size:13px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  padding:16px 30px; border-radius:100px; display:inline-flex; align-items:center; gap:10px; cursor:pointer;
  border:1.5px solid currentColor; transition:transform .3s cubic-bezier(.2,.8,.2,1), background .3s ease, color .3s ease;
}
.btn:hover{transform:translateY(-3px);}
.btn-ink{color:var(--ink); background:transparent;}
.btn-ink:hover{background:var(--ink); color:var(--bone);}
.btn-bone{color:var(--bone); background:transparent;}
.btn-bone:hover{background:var(--bone); color:var(--ink);}
.btn-fill-rust{background:var(--rust); color:var(--bone); border-color:var(--rust);}
.btn-fill-rust:hover{background:var(--ochre); border-color:var(--ochre); color:var(--umber);}

.hero-block{background:var(--ink); color:var(--bone); padding:150px 0 90px; position:relative; overflow:hidden;}
.hero-grid{display:grid; grid-template-columns:1.2fr 0.8fr; gap:60px; align-items:center;}
.hero-eyebrow{font-family:'Inter'; font-size:13px; letter-spacing:.18em; text-transform:uppercase; color:var(--ochre); margin-bottom:18px;}
.hero-title{font-family:'Bebas Neue'; font-size:clamp(44px,9vw,120px); line-height:.95; letter-spacing:.005em; word-break:keep-all;}
.hero-sub{max-width:520px; font-size:18px; color:rgba(243,235,218,0.75); margin:26px 0 36px;}
.hero-portrait{border-radius:2px; overflow:hidden; aspect-ratio:4/5; background:var(--umber);}
.hero-portrait img{width:100%; height:100%; object-fit:cover;}
@media(max-width:860px){.hero-grid{grid-template-columns:1fr;} .hero-portrait{order:-1; max-width:320px;}}

.release-block{background:var(--rust); color:var(--bone); padding:100px 0;}
.release-grid{display:grid; grid-template-columns:0.6fr 1fr; gap:60px; align-items:center;}
.release-grid img{width:100%; border-radius:2px; box-shadow:18px 18px 0 var(--umber);}
.release-copy h2{font-size:clamp(38px,5vw,64px); margin:14px 0 20px;}
.release-copy p{font-size:17px; max-width:480px; margin:0 0 28px; color:rgba(243,235,218,.85);}
@media(max-width:860px){.release-grid{grid-template-columns:1fr;} .release-grid img{max-width:280px; box-shadow:12px 12px 0 var(--umber);}}

.tiles-block{padding:110px 0; background:var(--bone);}
.tiles-head{margin-bottom:50px;}
.tiles-head .disp{font-size:clamp(40px,6vw,72px);}
.tile-grid{display:grid; grid-template-columns:1fr 1fr; gap:2px; background:var(--ink);}
.tile{
  position:relative; padding:60px 44px; min-height:280px; display:flex; flex-direction:column; justify-content:flex-end;
  overflow:hidden; transition:background .4s ease;
}
.tile .tn{font-family:'Inter'; font-size:13px; opacity:.6; margin-bottom:14px;}
.tile h3{font-size:clamp(32px,4vw,48px); margin-bottom:12px;}
.tile p{margin:0; max-width:340px; font-size:14.5px;}
.tile .go{position:absolute; top:36px; right:40px; font-size:26px; transition:transform .4s cubic-bezier(.2,.8,.2,1);}
.tile:hover .go{transform:rotate(45deg);}
.tile.a{background:var(--ink); color:var(--bone);}
.tile.b{background:var(--rust); color:var(--bone);}
.tile.c{background:var(--bone); color:var(--ink); border:1px solid var(--line-dark);}
.tile.d{background:var(--umber); color:var(--bone);}
@media(max-width:760px){.tile-grid{grid-template-columns:1fr;}}

.about-hero{background:var(--umber); color:var(--bone); padding:150px 0 90px;}
.about-hero-grid{display:grid; grid-template-columns:1fr 0.7fr; gap:60px; align-items:end;}
.about-hero h1{font-family:'Bebas Neue'; font-size:clamp(42px,8vw,110px); line-height:1.02;}
.about-hero img{width:100%; aspect-ratio:3/4; object-fit:cover; border-radius:2px;}
@media(max-width:860px){.about-hero-grid{grid-template-columns:1fr;} .about-hero img{max-width:280px;}}

.story-block{padding:100px 0; background:var(--bone);}
.story-grid{display:grid; grid-template-columns:200px 1fr 230px; gap:44px; align-items:start;}
.story-grid .lbl{font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:var(--rust); position:sticky; top:120px; align-self:start;}
.story-grid p{font-size:21px; font-family:'Instrument Serif'; line-height:1.55; margin:0 0 34px; max-width:640px;}
.story-grid p.small{font-family:'Inter'; font-size:16px; color:#4a4038;}
.sg-photo{border-radius:2px; overflow:hidden; aspect-ratio:4/5; background:var(--line-dark); position:sticky; top:120px;}
.sg-photo img{width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.2,.8,.2,1);}
.sg-photo:hover img{transform:scale(1.06);}
@media(max-width:1000px){.story-grid{grid-template-columns:160px 1fr;} .sg-photo{display:none;}}
@media(max-width:760px){.story-grid{grid-template-columns:1fr;} .story-grid .lbl{position:static;}}

.pillar-strip{background:var(--rust); color:var(--bone); padding:80px 0;}
.pillar-cols{display:grid; grid-template-columns:repeat(3,1fr); gap:40px;}
.pillar-cols .disp{font-size:52px; color:var(--ochre); margin-bottom:10px;}
.pillar-cols h4{font-family:'Inter'; font-weight:700; font-size:17px; margin-bottom:8px;}
.pillar-cols p{font-size:14.5px; margin:0; color:rgba(243,235,218,.8);}
@media(max-width:760px){.pillar-cols{grid-template-columns:1fr;}}

.quote-block{padding:130px 0; text-align:center; background:var(--bone);}
.quote-block .mk{font-family:'Instrument Serif'; font-size:100px; color:var(--ochre); line-height:0;}
.quote-block p{font-family:'Instrument Serif'; font-size:clamp(26px,4vw,44px); line-height:1.35; max-width:820px; margin:20px auto 0;}

.book-full{padding:90px 0; display:grid; grid-template-columns:0.55fr 1fr; gap:60px; align-items:center;}
.book-full.flip{grid-template-columns:1fr 0.55fr;}
.book-full.flip .bc{order:2;}
.book-full img{width:100%; border-radius:2px;}
.book-full .bc{position:relative;}
.book-full .bc img{box-shadow:20px 20px 0 rgba(0,0,0,.12);}
.book-full .lbl{font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:var(--rust); margin-bottom:14px; display:block;}
.book-full h2{font-size:clamp(36px,5vw,58px); margin-bottom:18px;}
.book-full p{font-size:16.5px; color:#4a4038; max-width:520px; margin:0 0 26px;}
.book-meta-row{display:flex; gap:34px; margin-bottom:30px; flex-wrap:wrap;}
.book-meta-row div{font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:#8a7d6c;}
.book-meta-row strong{display:block; font-family:'Inter'; font-size:15px; text-transform:none; letter-spacing:0; color:var(--ink); font-weight:600; margin-top:4px;}
@media(max-width:860px){.book-full,.book-full.flip{grid-template-columns:1fr;} .book-full.flip .bc{order:0;} .book-full .bc{max-width:280px;}}

.shelf-band{background:var(--ink); color:var(--bone); padding:100px 0;}
.shelf-band .disp{font-size:clamp(38px,5vw,64px); margin-bottom:50px;}
.shelf-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:30px;}
.shelf-card{cursor:pointer;}
.shelf-card .img-wrap{overflow:hidden; border-radius:2px; margin-bottom:16px; aspect-ratio:3/4;}
.shelf-card img{width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.2,.8,.2,1);}
.shelf-card:hover img{transform:scale(1.08) rotate(-1deg);}
.shelf-card h4{font-size:19px; margin-bottom:8px;}
.shelf-card p{font-size:13.5px; color:rgba(243,235,218,.65); margin:0;}
@media(max-width:860px){.shelf-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.shelf-grid{grid-template-columns:1fr;}}

.book-detail-hero{background:var(--bone); padding:150px 0 70px;}
.back-link{display:inline-block; font-size:13px; letter-spacing:.06em; text-transform:uppercase; color:var(--rust); margin-bottom:34px; font-weight:600;}
.bd-grid{display:grid; grid-template-columns:0.45fr 1fr; gap:60px; align-items:center;}
.bd-cover img{width:100%; border-radius:2px; box-shadow:22px 22px 0 rgba(0,0,0,.1);}
.bd-copy .lbl{font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:var(--rust); margin-bottom:14px; display:block;}
.bd-copy h1{font-size:clamp(34px,5vw,56px); margin-bottom:12px;}
.bd-tagline{font-family:'Instrument Serif'; font-style:italic; font-size:22px; color:var(--umber); margin:0 0 20px;}
.bd-copy p{font-size:16.5px; color:#4a4038; max-width:600px; margin:0 0 26px;}
@media(max-width:860px){.bd-grid{grid-template-columns:1fr;} .bd-cover{max-width:260px;}}

.bd-order{padding:70px 0; background:var(--bone); border-top:1px solid var(--line-dark);}
.bd-reviews{padding:90px 0; background:var(--ink); color:var(--bone);}
.quote-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:26px;}
.quote-card{
  background:var(--umber); border-radius:16px; padding:44px 38px 34px; position:relative; overflow:hidden;
  border:1px solid rgba(243,235,218,.08);
  transition:transform .5s cubic-bezier(.2,.8,.2,1), box-shadow .5s ease, border-color .5s ease, opacity .7s ease;
}
.quote-card:hover{transform:translateY(-8px); border-color:rgba(223,162,43,.45); box-shadow:0 24px 44px rgba(0,0,0,.35);}
.quote-card .quote-mark{
  position:absolute; top:-18px; left:26px; font-family:'Instrument Serif'; font-size:140px; line-height:1;
  color:rgba(223,162,43,.16); pointer-events:none; user-select:none;
}
.quote-card p{position:relative; font-size:16.5px; line-height:1.65; margin:30px 0 22px; color:var(--bone);}
.quote-card cite{
  display:block; font-style:normal; font-size:12.5px; letter-spacing:.03em; color:var(--ochre);
  padding-top:16px; border-top:1px solid rgba(243,235,218,.14);
}
.quote-grid .quote-card:nth-child(1){transition-delay:0s;}
.quote-grid .quote-card:nth-child(2){transition-delay:.1s;}
.quote-grid .quote-card:nth-child(3){transition-delay:.2s;}
.quote-grid .quote-card:nth-child(4){transition-delay:.3s;}
.quote-grid .quote-card:nth-child(5){transition-delay:.4s;}
.quote-grid .quote-card:nth-child(6){transition-delay:.5s;}
@media(max-width:760px){.quote-grid{grid-template-columns:1fr;}}

.bd-reviews .quote-card{background:var(--umber);}
.bd-outreach{padding:90px 0; background:var(--ink); color:var(--bone);}
.outreach-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:30px; margin-bottom:56px;}
.outreach-grid .disp{font-size:34px; color:var(--ochre); display:block; margin-bottom:10px;}
.outreach-grid h4{font-family:'Inter'; font-weight:700; font-size:16px; margin-bottom:8px;}
.outreach-grid p{font-size:14px; color:rgba(243,235,218,.72); margin:0;}
@media(max-width:860px){.outreach-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.outreach-grid{grid-template-columns:1fr;}}
.school-gallery{margin-bottom:44px;}
.sg-head{display:flex; justify-content:space-between; align-items:baseline; gap:16px; font-size:16px; border-bottom:1px solid var(--line); padding-bottom:14px; margin-bottom:16px;}
.sg-head strong{font-weight:600;}
.sg-head span{color:rgba(243,235,218,.55); font-size:13px;}
.sg-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:10px;}
.sg-grid img{width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:2px; background:var(--umber); transition:transform .5s cubic-bezier(.2,.8,.2,1);}
.sg-grid img:hover{transform:scale(1.04);}
@media(max-width:760px){.sg-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:480px){.sg-grid{grid-template-columns:repeat(2,1fr);}}
.support-list{margin:0; padding:0; list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:14px 40px; max-width:820px;}
.support-list li{padding-left:26px; position:relative; font-size:15px; color:var(--ink);}
.support-list li::before{content:"—"; position:absolute; left:0; color:var(--rust);}
@media(max-width:640px){.support-list{grid-template-columns:1fr;}}
.press-mini{display:flex; flex-direction:column; max-width:720px;}
.press-mini a{display:flex; flex-direction:column; gap:4px; padding:20px 0; border-bottom:1px solid var(--line-dark); font-size:15.5px; color:var(--ink);}
.press-mini .src{font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--rust);}
.bd-next{background:var(--umber); color:var(--bone); padding:50px 0;}
.bd-next .folio-txt{font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--ochre);}
.bd-next h3{color:var(--bone);}

.writing-hero{padding:150px 0 60px; background:var(--bone);}
.writing-layout{display:grid; grid-template-columns:1fr 380px; gap:60px; padding-bottom:110px;}
.wlist{border-top:1px solid var(--line-dark);}
.wrow{
  display:grid; grid-template-columns:90px 1fr 110px; gap:24px; align-items:center; padding:30px 0;
  border-bottom:1px solid var(--line-dark); cursor:pointer; transition:padding-left .3s ease;
}
.wrow:hover{padding-left:14px;}
.wrow .pf{font-size:12px; color:#8a7d6c;}
.wrow h4{font-size:clamp(22px,2.6vw,30px); margin-bottom:6px; transition:color .3s ease;}
.wrow:hover h4{color:var(--rust);}
.wrow p{margin:0; font-size:14px; color:#8a7d6c; max-width:440px;}
.wrow .cat{font-size:11px; text-transform:uppercase; letter-spacing:.08em; text-align:right; color:var(--rust);}
.wimg-fixed{position:sticky; top:130px; height:420px; border-radius:2px; overflow:hidden; background:var(--umber);}
.wimg-fixed img{width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .4s ease;}
.wimg-fixed img.show{opacity:1;}
.writing-empty{padding:60px 0; color:#8a7d6c; font-size:16px;}
@media(max-width:900px){.writing-layout{grid-template-columns:1fr;} .wimg-fixed{display:none;} .wrow{grid-template-columns:1fr;}}

.services-hero{background:var(--rust); color:var(--bone); padding:150px 0 90px;}
.services-hero h1{font-family:'Bebas Neue'; font-size:clamp(38px,7vw,90px); line-height:1.05;}
.services-hero p{font-size:18px; max-width:560px; margin-top:24px; color:rgba(243,235,218,.85);}

.service-list{padding:100px 0; background:var(--bone);}
.srow{
  display:grid; grid-template-columns:90px 1fr; gap:34px; padding:44px 0; border-bottom:1px solid var(--line-dark);
  align-items:start; transition:background .3s ease;
}
.srow:first-child{border-top:1px solid var(--line-dark);}
.srow .disp{font-size:30px; -webkit-text-stroke:1px var(--ink); color:transparent;}
.srow h3{font-size:clamp(26px,3.4vw,38px); margin-bottom:10px;}
.srow p{margin:0 0 18px; color:#4a4038; max-width:680px; font-size:16px;}
.stage-list{display:flex; flex-direction:column; gap:16px; max-width:680px; margin-top:10px;}
.stage-list div{border-left:2px solid var(--rust); padding-left:18px;}
.stage-list strong{display:block; font-size:15px; margin-bottom:4px;}
.stage-list span{font-size:14.5px; color:#4a4038; line-height:1.6;}
.service-footnote{display:grid; grid-template-columns:1fr 1fr; gap:50px; margin-top:60px; padding-top:50px; border-top:1px solid var(--line-dark);}
.service-footnote h4{font-family:'Inter'; font-weight:700; font-size:15px; text-transform:uppercase; letter-spacing:.06em; margin-bottom:10px;}
.service-footnote p{margin:0; font-size:15px; color:#4a4038; line-height:1.6;}
@media(max-width:700px){.service-footnote{grid-template-columns:1fr;}}

.client-marquee{background:var(--umber); color:var(--bone); padding:70px 0; overflow:hidden;}
.cm-track{display:inline-flex; gap:0; animation:mq 40s linear infinite;}
.cm-card{width:340px; padding:0 40px; border-right:1px solid var(--line); flex-shrink:0;}
.cm-card p{font-size:15.5px; line-height:1.6; margin:0 0 14px; white-space:normal;}
.cm-card cite{font-style:normal; font-size:12.5px; color:var(--ochre);}

.services-cta{padding:90px 0; text-align:center;}
.services-cta h2{font-size:clamp(32px,5vw,54px); margin-bottom:20px;}
.services-cta .contact-line{font-size:14px; color:#8a7d6c; margin-bottom:30px;}

.awards-hero{padding:150px 0 60px; background:var(--bone);}
.tl{border-top:1px solid var(--line-dark);}
.tl-row{display:grid; grid-template-columns:140px 1fr; gap:34px; padding:36px 0; border-bottom:1px solid var(--line-dark);}
.tl-row .disp{font-size:36px; color:var(--rust);}
.tl-row h4{font-family:'Inter'; font-weight:700; font-size:19px; margin-bottom:6px;}
.tl-row p{margin:0; color:#4a4038; font-size:14.5px;}
@media(max-width:600px){.tl-row{grid-template-columns:1fr; gap:6px;}}

.press-band{background:var(--ink); color:var(--bone); padding:100px 0;}
.press-grid{display:grid; grid-template-columns:1fr 1fr; gap:2px; background:var(--line);}
.press-item{background:var(--ink); padding:34px 38px; display:flex; justify-content:space-between; align-items:center; gap:16px; transition:background .3s ease;}
.press-item:hover{background:#1a1a1b;}
.press-item .src{font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--ochre); display:block; margin-bottom:10px;}
.press-item p{margin:0; font-size:16px;}
.press-item .go{font-size:20px; color:var(--ochre); flex-shrink:0;}
@media(max-width:700px){.press-grid{grid-template-columns:1fr;}}

.contact-split{display:grid; grid-template-columns:1fr 1fr; min-height:100vh;}
.contact-left{background:var(--ink); color:var(--bone); padding:150px 44px 60px; display:flex; flex-direction:column; justify-content:space-between;}
.contact-left h1{font-family:'Bebas Neue'; font-size:clamp(42px,7vw,90px); line-height:1.02;}
.cl-info{display:flex; flex-direction:column; gap:24px; margin-top:50px;}
.cl-info .lbl{font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--ochre); display:block; margin-bottom:6px;}
.cl-info a, .cl-info span{font-size:20px;}
.cl-social{display:flex; gap:14px; margin-top:40px;}
.cl-social a{width:44px; height:44px; border:1px solid var(--line); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; transition:all .3s ease;}
.cl-social a:hover{background:var(--ochre); color:var(--umber); border-color:var(--ochre);}

.contact-right{background:var(--bone); padding:150px 44px 60px; display:flex; flex-direction:column; justify-content:center;}
.cform{display:flex; flex-direction:column; gap:26px; max-width:440px;}
.cf-group{border-bottom:1px solid var(--line-dark); padding-bottom:12px;}
.cf-group label{font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:#8a7d6c; display:block; margin-bottom:10px;}
.cf-group input, .cf-group textarea{width:100%; border:none; background:transparent; font-family:'Inter'; font-size:18px; color:var(--ink); outline:none; padding:0; resize:none;}
.cf-group textarea{min-height:70px;}
.cform-success{background:var(--bone); border:1px solid var(--rust); border-radius:2px; padding:22px 24px; font-size:15px; max-width:440px;}
.cform-error{background:var(--bone); border:1px solid #8a7d6c; border-radius:2px; padding:22px 24px; font-size:15px; max-width:440px;}
@media(max-width:860px){.contact-split{grid-template-columns:1fr;}}

footer{background:var(--ink); color:rgba(243,235,218,.6); padding:44px 0;}
.foot-row{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; font-size:12.5px;}
.foot-row a{color:var(--bone);}

.progress-bar{position:fixed; top:0; left:0; height:3px; background:var(--rust); z-index:500; width:0%;}

.single-post-hero{background:var(--umber); color:var(--bone); padding:150px 0 70px;}
.single-post-hero h1{font-size:clamp(32px,5vw,54px);}
.single-post-hero .meta{font-size:13px; letter-spacing:.06em; text-transform:uppercase; color:var(--ochre); margin-bottom:16px;}
.single-post-body{padding:70px 0; max-width:760px; margin:0 auto; font-size:17px; line-height:1.75; color:var(--ink);}
.single-post-body img{border-radius:2px; margin:30px 0;}
.single-post-body h2, .single-post-body h3{margin:40px 0 16px;}
.single-post-body a{text-decoration:underline; color:var(--rust);}
