/* =========================================================
   Poetra Asantewa — design system
   Ported from the static build, flattened and made
   Elementor-safe. Tokens are exposed as CSS custom
   properties so the Elementor Global Colours / Fonts kit
   and per-widget controls can override them.
   ========================================================= */

:root{
  --ink:#171610;
  --paper:#f3f0e7;
  --cream:#fbf8ee;
  --red:#a83227;
  --gold:#d1a137;
  --blue:#183793;
  --serif:"Instrument Serif",Georgia,"Times New Roman",serif;
  --sans:"DM Sans",Helvetica,Arial,sans-serif;
  --pad:clamp(1.25rem,4.5vw,5rem);
  --header-h:110px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;overflow-x:hidden;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font:inherit}

/* Elementor resets — keep the theme's full-bleed sections intact */
.poetra-canvas .elementor-section-wrap>.elementor-section,
.poetra-canvas .elementor-widget-wrap{max-width:none}
.elementor-widget-container>.poetra-section{margin:0}
.poetra-section{position:relative}

/* ---------- Surfaces ---------- */
.paper{background:var(--paper);color:var(--ink)}
.dark{background:var(--ink);color:var(--paper)}
.red{background:var(--red);color:#fff}
.gold{background:var(--gold);color:var(--ink)}
.cream{background:var(--cream);color:var(--ink)}
.section{padding:clamp(6rem,11vw,11rem) var(--pad)}
em{font-weight:400;color:var(--gold)}

.index-label,.micro,.archive-card>span,.release span,.book-copy>span,.venture>span{
  font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.17em;margin:0
}

/* ---------- Header ---------- */
.site-header{position:fixed;z-index:60;left:0;top:0;width:100%;height:var(--header-h);padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;color:#fff;mix-blend-mode:difference}
body:has(.poetra-header-light) .site-header{mix-blend-mode:normal;color:#fff}
body:has(.poetra-header-dark) .site-header{mix-blend-mode:normal;color:var(--ink)}
body:has(.poetra-header-dark) .wordmark img{filter:drop-shadow(0 0 1px rgba(0,0,0,.55)) drop-shadow(0 2px 6px rgba(0,0,0,.22))}
body:has(.poetra-header-light) .wordmark img{filter:drop-shadow(0 0 1px rgba(255,255,255,.9))}
.poetra-header-light,.poetra-header-dark{display:none}
.wordmark{position:relative;width:94px;height:94px;display:grid;place-items:center;font:1.45rem/.78 var(--serif);isolation:isolate}
.wordmark img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 1px rgba(255,255,255,.95)) drop-shadow(0 2px 8px rgba(0,0,0,.28))}
.wordmark .wordmark-text{font:1.45rem/.9 var(--serif);text-align:center}
.main-nav{display:flex;gap:1.8rem;font-size:.69rem;text-transform:uppercase;letter-spacing:.13em;margin:0;padding:0;list-style:none}
.main-nav li{margin:0;padding:0;list-style:none}
.main-nav a,.menu-btn{min-height:44px;display:flex;align-items:center}
.main-nav .current-menu-item>a:after,
.main-nav .current_page_item>a:after,
.main-nav .poetra-current>a:after{content:"";width:4px;height:4px;border-radius:50%;background:currentColor;margin-left:7px}
.menu-btn{display:none;border:0;background:transparent;color:inherit;cursor:pointer}

/* ---------- Overlay menu ---------- */
.menu-layer{position:fixed;inset:0;z-index:50;background:var(--red);color:#fff;display:grid;grid-template-columns:1.2fr .8fr;padding:9rem var(--pad) 3rem;visibility:hidden;clip-path:inset(0 0 100% 0);transition:clip-path .55s cubic-bezier(.7,0,.2,1),visibility .55s}
.menu-layer.open{visibility:visible;clip-path:inset(0)}
.menu-links{margin:0;padding:0;list-style:none;align-self:center}
.menu-links li{margin:0;padding:0;list-style:none}
.menu-links a{font-family:var(--serif);font-size:clamp(2.6rem,5vw,5rem);line-height:.88;display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid rgba(255,255,255,.35);padding:.05em 0}
.menu-links .menu-no{font:600 .65rem var(--sans);letter-spacing:.12em;padding-top:1.2rem}
.menu-aside{display:flex;flex-direction:column;justify-content:flex-end;padding-left:15%}
.menu-aside p{margin:0 0 1rem}

/* ---------- Motion chrome ---------- */
.transition-curtain{position:fixed;inset:0;z-index:100;background:var(--gold);transform:translateY(100%);pointer-events:none}
.cursor-dot,.cursor-ring{position:fixed;z-index:2147483646;pointer-events:none;border-radius:50%;display:none;mix-blend-mode:difference;top:0;left:0}
.cursor-dot{width:5px;height:5px;background:#fff}
.cursor-ring{width:36px;height:36px;border:1px solid rgba(255,255,255,.92);transition:width .2s,height .2s,background .2s}
.cursor-ring.hover{width:64px;height:64px;background:rgba(255,255,255,.22)}
.back-to-top{position:fixed;z-index:45;right:clamp(1rem,2.4vw,2.5rem);bottom:clamp(1rem,2.4vw,2.5rem);width:72px;height:72px;border:1px solid rgba(255,255,255,.42);border-radius:50%;background:rgba(16,16,12,.72);backdrop-filter:blur(10px);color:#fff;display:grid;place-content:center;opacity:0;visibility:hidden;transform:translateY(18px);transition:opacity .25s,transform .25s,visibility .25s,background .25s;cursor:pointer}
.back-to-top.visible{opacity:1;visibility:visible;transform:none}
.back-to-top:hover{background:var(--red)}
.back-to-top span{font:1.25rem/1 var(--serif)}
.back-to-top small{font:.55rem var(--sans);text-transform:uppercase;letter-spacing:.12em}
.reveal{opacity:0;transform:translateY(40px)}
.poetra-editor .reveal,.poetra-editor .load-in{opacity:1!important;transform:none!important}

/* ---------- Footer ---------- */
.site-footer{background:#0d0d09;color:var(--paper);padding:7rem var(--pad) 2rem}
.footer-cta{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid #4b4a43;padding-bottom:4rem;gap:2rem}
.footer-cta h2{font:clamp(3rem,7vw,7rem)/.9 var(--serif);font-weight:400;margin:0}
.footer-cta .footer-cta-link{border:1px solid #777;border-radius:50%;width:105px;height:105px;flex:0 0 105px;display:grid;place-items:center;text-align:center;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}
.footer-bottom{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem;margin-top:3rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.11em}
.footer-bottom div:nth-child(2){text-align:center}
.footer-bottom div:last-child{text-align:right}
.footer-bottom a:hover{color:var(--gold)}

/* ---------- Home hero ---------- */
.home-hero{position:relative;height:100svh;min-height:680px;color:#fff;overflow:hidden}
.home-photo{position:absolute;inset:-5%;background-image:var(--hero-image);background-position:center 20%;background-size:cover;background-repeat:no-repeat}
.home-wash{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.8),rgba(0,0,0,.15) 65%),linear-gradient(0deg,rgba(0,0,0,.65),transparent 50%)}
.hero-mist{position:absolute;z-index:2;left:0;right:0;bottom:0;width:100%;height:32%;pointer-events:none;opacity:.68;mix-blend-mode:screen;filter:blur(4px)}
.home-title{position:absolute;inset:0;z-index:3;padding:clamp(8rem,16vh,12rem) var(--pad) 3rem;display:flex;flex-direction:column;justify-content:flex-end}
.home-title h1{font:clamp(5rem,13vw,13rem)/.68 var(--serif);font-weight:400;letter-spacing:-.055em;margin:auto 0 3rem}
.home-title h1 em{display:inline-block;padding-left:12vw}
.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:2rem}
.hero-bottom p{font-size:.82rem;margin:0}
.circle-link{width:94px;height:94px;flex:0 0 94px;border:1px solid rgba(255,255,255,.6);border-radius:50%;display:grid;place-items:center;text-align:center;font-size:.63rem;text-transform:uppercase;letter-spacing:.1em}
.vertical-word{position:absolute;z-index:3;right:1.1rem;top:50%;writing-mode:vertical-rl;font-size:.58rem;letter-spacing:.17em;text-transform:uppercase}

/* ---------- Manifesto / display type ---------- */
.mega{font:clamp(3.5rem,7.4vw,8rem)/.94 var(--serif);font-weight:400;letter-spacing:-.035em;margin:4rem 0}
.manifesto .mega em{color:var(--red)}
.manifesto-foot{display:grid;grid-template-columns:1fr 1fr;gap:3rem;padding-left:50%}
.manifesto-foot p{max-width:520px;margin:0}
.arrow-link,.pill-link{display:inline-flex;align-items:center;justify-content:space-between;gap:1.5rem;border:0;border-bottom:1px solid;padding:.8rem 0;min-width:230px;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;background:transparent;color:inherit;cursor:pointer}
.display{font:clamp(3.5rem,7vw,7.5rem)/.92 var(--serif);font-weight:400;letter-spacing:-.035em}

/* ---------- Portals ---------- */
.portal-grid{padding:var(--pad);display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1.3rem,3vw,3.5rem)}
.portal{grid-column:span 4;padding:5rem 0}
.portal:nth-child(2){padding-top:14rem}
.portal img{width:100%;aspect-ratio:3/4;object-fit:cover;filter:saturate(.85);transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .4s}
.portal:hover img{transform:scale(.975);filter:saturate(1.1)}
.portal-no{display:block;margin-top:1.2rem;font-size:.62rem;letter-spacing:.17em;font-weight:600}
.portal h2{font:clamp(2.6rem,5vw,5rem)/1 var(--serif);font-weight:400;margin:.4rem 0}
.portal p{font-size:.75rem;color:#aaa;margin:0}

/* ---------- Ticker ---------- */
.ticker{display:flex;overflow:hidden;background:var(--gold);color:var(--ink);padding:.3rem 0;white-space:nowrap}
.ticker div{font:clamp(3rem,7vw,7rem)/1 var(--serif);animation:ticker 22s linear infinite}
@keyframes ticker{to{transform:translateX(-100%)}}

/* ---------- Split feature ---------- */
.home-about{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(3rem,8vw,9rem);align-items:center}
.home-about.reverse .portrait-window{order:2}
.portrait-window{height:75vh;overflow:hidden}
.portrait-window img{width:100%;height:120%;object-fit:cover;object-position:center 20%}
.home-about .display em{color:var(--gold)}

/* ---------- Page heroes ---------- */
.page-hero{padding:10rem var(--pad) 6rem;min-height:100svh}
.split-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:5vw;align-items:center;min-height:90svh;padding-top:8rem;padding-bottom:4rem}
.page-title{font:clamp(4.8rem,10vw,11rem)/.82 var(--serif);font-weight:400;letter-spacing:-.05em;margin:3rem 0 0;padding-bottom:.14em}
.split-hero .page-title em,.archive-head em,.books-hero em,.building-overlay em,.blog-hero .page-title em{color:var(--red)}
/* Accent legibility per surface — never the same hue as the ground it sits on. */
.gold em,.gold .page-title em,.gold .mega em,.gold .display em{color:var(--red)}
.red em,.red .page-title em,.red .mega em,.contact-page em{color:var(--gold)}
.cream em{color:var(--red)}
.hero-figure{margin:0}
.hero-figure img{width:100%;height:min(70vh,720px);object-fit:cover}
.hero-figure figcaption{font-size:.62rem;text-transform:uppercase;letter-spacing:.13em;margin-top:.7rem}

/* ---------- Bio ---------- */
.bio{background:var(--paper);color:var(--ink)}
.dropcopy{font:clamp(2.7rem,5.5vw,6rem)/1 var(--serif);max-width:1300px;margin:0}
.bio-columns{display:grid;grid-template-columns:1fr 1fr;gap:4rem;padding-left:42%;margin-top:6rem}

/* ---------- Role list ---------- */
.roles .index-label{border-bottom:1px solid #555;padding-bottom:2rem;display:block}
.role-list>a,.role-list>div{display:grid;grid-template-columns:90px 1fr 1fr;align-items:center;border-bottom:1px solid #4e4d46;min-height:140px}
.role-list strong{font:clamp(2.7rem,5vw,5rem) var(--serif);font-weight:400}
.role-list i{text-align:right;font-style:normal;font-size:.8rem;color:#aaa}

/* ---------- Recognition ---------- */
.recognition-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;margin-top:5rem}
.recognition article{border-top:1px solid;padding-top:2rem}
.recognition h3{font:clamp(2.2rem,4vw,4rem)/1 var(--serif);font-weight:400;margin:.6rem 0}
.recognition span{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.17em}

/* ---------- Archive grid ---------- */
.archive-head{padding:12rem var(--pad) 7rem;min-height:85vh}
.archive-head .page-title{max-width:1000px}
.archive-intro{max-width:430px;margin:3rem 0 0 auto}
.archive-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7rem 3rem;padding:8rem var(--pad)}
.archive-card{min-width:0}
.archive-card.wide{grid-column:span 2}
.archive-card img,.type-art{width:100%;height:min(75vh,800px);object-fit:cover}
.archive-card.wide img{height:min(85vh,900px)}
.archive-card>span{display:block;margin-top:1rem}
.archive-card h2{font:clamp(2.2rem,4vw,4rem)/1 var(--serif);font-weight:400;margin:.4rem 0}
.type-art{padding:3rem;display:flex;flex-direction:column;justify-content:space-between}
.type-art small{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.17em}
.type-art strong{font:clamp(4rem,10vw,10rem)/.75 var(--serif);font-weight:400}

/* ---------- Discipline hero (books) ---------- */
.discipline-hero{min-height:100svh;padding:12rem var(--pad) 6rem;color:#fff;display:flex;flex-direction:column;justify-content:flex-end}
.books-hero{background-position:center 48%;background-size:cover;background-repeat:no-repeat}
.discipline-hero>p:last-child{max-width:430px;margin-left:auto}

/* ---------- Books ---------- */
.book-stack{padding:7rem var(--pad)}
.book-row{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center;padding:7rem 0;border-bottom:1px solid #bbb}
.book-row.reverse .book-copy{order:2}
.book-row img{width:100%;max-height:80vh;object-fit:contain}
.book-copy h2{font:clamp(3rem,6.5vw,7rem)/.87 var(--serif);font-weight:400}
.book-copy p{max-width:430px}
.pill-link{border-width:0 0 1px}

/* ---------- Reading room dialog ---------- */
.reading-room{max-width:none;width:100vw;height:100vh;border:0;margin:0;background:var(--cream);padding:clamp(5rem,12vw,12rem);color:var(--ink)}
.reading-room::backdrop{background:rgba(0,0,0,.7)}
.reading-room h2{font:clamp(4rem,10vw,10rem)/.8 var(--serif);font-weight:400}
.reading-room .excerpt-body{max-width:52ch;font-size:1.05rem}
.dialog-close{position:absolute;top:2rem;right:2rem;border:1px solid;border-radius:50%;width:70px;height:70px;background:transparent;cursor:pointer}
.page-count{position:absolute;bottom:2rem;right:2rem;font-size:.65rem;letter-spacing:.12em}

/* ---------- Sound ---------- */
.sound-hero{min-height:100svh;padding:12rem var(--pad) 6rem;position:relative;overflow:hidden}
.sound-hero .page-title{position:relative}
.sound-ring{position:absolute;width:min(62vw,760px);aspect-ratio:1;border:1px solid #49483f;border-radius:50%;right:-8vw;top:12vh}
.sound-ring:before,.sound-ring:after{content:"";position:absolute;inset:15%;border:1px solid #49483f;border-radius:50%}
.sound-ring:after{inset:32%}
.sound-ring span{position:absolute;top:48%;left:5%;font-size:.65rem;letter-spacing:.15em}
.global-play{position:absolute;right:15vw;bottom:15vh;width:110px;height:110px;border:0;border-radius:50%;background:var(--gold);color:var(--ink);cursor:pointer}
.global-play span{margin-right:.25rem}
.featured-video{display:grid;grid-template-columns:1.35fr .65fr;gap:clamp(3rem,7vw,8rem);align-items:center}
.video-poster{position:relative;border:0;padding:0;background:#000;overflow:hidden;aspect-ratio:16/9;width:100%;cursor:pointer}
.video-poster img{width:100%;height:100%;object-fit:cover;transition:transform .7s,opacity .4s}
.video-poster:hover img{transform:scale(1.025);opacity:.8}
.video-poster-play{position:absolute;inset:0;margin:auto;width:110px;height:110px;border-radius:50%;background:var(--gold);color:var(--ink);display:grid;place-items:center;font-size:.65rem;text-transform:uppercase;letter-spacing:.12em}
.featured-video-copy h2{font:clamp(3.5rem,7vw,7.5rem)/.86 var(--serif);font-weight:400;margin:2rem 0}
.featured-video-copy h2 em{color:var(--red)}
.video-dialog{width:100vw;max-width:none;height:100vh;max-height:none;margin:0;border:0;padding:clamp(4.5rem,7vw,7rem);background:#090907;color:#fff}
.video-dialog::backdrop{background:#090907}
.video-close{position:absolute;right:2rem;top:1.5rem;border:0;background:transparent;color:#fff;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;cursor:pointer}
.video-frame{width:100%;height:calc(100% - 3rem);background:#000}
.video-frame iframe{width:100%;height:100%;border:0}
.video-caption{height:3rem;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;font-size:.68rem;text-transform:uppercase;letter-spacing:.12em}
.video-caption strong{font-weight:500;text-align:center}
.video-caption a{text-align:right}
.release-list{padding:6rem var(--pad)}
.release{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;padding:7rem 0;border-bottom:1px solid #bbb}
.release:nth-child(even) img{order:2}
.release img{width:100%;max-height:75vh;object-fit:contain}
.release h2{font:clamp(3.5rem,8vw,8rem)/.82 var(--serif);font-weight:400;margin:1.5rem 0}
.track-play{width:100%;display:flex;justify-content:space-between;border:1px solid;background:transparent;padding:1rem;cursor:pointer;color:inherit}
.release audio{width:100%;margin-top:1.5rem}

/* ---------- Building ---------- */
.building-hero{height:100svh;position:relative;color:#fff;overflow:hidden}
.building-hero>img{width:100%;height:100%;object-fit:cover}
.building-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.75),transparent 60%)}
.building-overlay{position:absolute;z-index:2;left:var(--pad);bottom:5rem}
.building-intro em{color:var(--red)}
.ventures{display:grid;grid-template-columns:1fr 1fr;gap:8rem 5rem}
.venture{border-top:1px solid #555;padding-top:2rem}
.venture h2{font:clamp(3rem,6vw,6rem)/.9 var(--serif);font-weight:400}
.venture p{max-width:470px;color:#aaa}

/* ---------- Visual ---------- */
.visual-hero{min-height:100svh;padding:12rem var(--pad) 5rem;position:relative;overflow:hidden}
.glyph-field{position:absolute;inset:0;display:grid;place-items:center;font:clamp(10rem,30vw,34rem)/1 var(--serif);white-space:nowrap;opacity:.16}
.visual-hero .page-title{position:absolute;bottom:4rem;z-index:2}
.visual-project{display:grid;grid-template-columns:1.1fr .9fr}
.visual-copy>p:last-child{max-width:520px}
.alphabet-panel{background:var(--blue);color:#fff;display:grid;grid-template-columns:1fr 1fr;place-items:center;font:clamp(5rem,12vw,13rem) var(--serif);min-height:850px}
.alphabet-panel span{transition:transform .3s}
.alphabet-panel span:hover{transform:rotate(12deg) scale(1.15);color:var(--gold)}
.faou p:last-child{max-width:450px;margin-left:auto}

/* ---------- Blog ---------- */
.blog-hero{min-height:100svh;padding:12rem var(--pad) 5rem;display:flex;flex-direction:column;justify-content:flex-end}
.blog-intro{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end;margin-top:4rem;padding-left:45%}
.blog-intro p{max-width:400px;margin:0}
.featured-post{min-height:85vh;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;position:relative;overflow:hidden}
.featured-post .mega{font-size:clamp(5rem,12vw,13rem)}
.word-orbit{width:min(40vw,540px);aspect-ratio:1;border:1px solid #4e4d45;border-radius:50%;display:grid;place-items:center;position:relative;justify-self:center}
.word-orbit:before,.word-orbit:after{content:"";position:absolute;inset:17%;border:1px solid #4e4d45;border-radius:50%}
.word-orbit:after{inset:35%;background:var(--gold)}
.word-orbit span{position:relative;z-index:1;font-size:.62rem;letter-spacing:.16em;transform:rotate(24deg)}
.feed-status{min-height:1.2em;margin-top:1rem;color:#aaa;font-size:.62rem;text-transform:uppercase;letter-spacing:.12em}
.post-head{display:grid;grid-template-columns:1fr 1fr;margin-bottom:5rem;gap:2rem}
.post-head p:last-child{max-width:400px}
.post-list{border-top:1px solid #aaa}
.post-list>a,.post-list>div{display:grid;grid-template-columns:130px 1.15fr 1fr 30px;gap:1.5rem;align-items:center;min-height:96px;border-bottom:1px solid #c4c0b4;transition:padding .25s,color .25s}
.post-list>a:hover{padding-left:1rem;color:var(--red)}
.post-list span{font-size:.65rem;text-transform:uppercase;letter-spacing:.12em}
.post-list h2{font:clamp(1.35rem,2.1vw,1.95rem)/1.15 var(--serif);font-weight:400;margin:0}
.post-list p{font-size:.8rem;max-width:400px;margin:0;opacity:.8}
.post-list i{font-style:normal}
.archive-out{display:flex;justify-content:space-between;align-items:baseline;gap:2rem;margin-top:5rem;padding:2rem 0;border-top:1px solid;font:clamp(1.8rem,4vw,4rem) var(--serif)}
.archive-out span{font:.68rem var(--sans);text-transform:uppercase;letter-spacing:.12em}

/* ---------- Contact ---------- */
.contact-page{min-height:100svh;padding:12rem var(--pad) 4rem;display:flex;flex-direction:column}
.contact-page .page-title{margin-bottom:2rem}
.contact-options{margin-top:auto;padding-top:2rem}
.contact-options>a,.contact-options>div{display:grid;grid-template-columns:180px 1fr 30px;align-items:center;border-top:1px solid rgba(255,255,255,.4);padding:1.2rem 0}
.contact-options strong{font:clamp(1.3rem,3vw,3rem) var(--serif);font-weight:400}
.contact-options span{font-size:.67rem;text-transform:uppercase;letter-spacing:.12em}
.contact-note{font-size:.75rem;max-width:420px;margin-top:3rem}

/* ---------- Contact form ---------- */
.contact-form-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(3rem,7vw,8rem);align-items:start}
.contact-form-section.is-stacked{grid-template-columns:1fr}
.contact-form-intro .display{margin:1.5rem 0}
.contact-form-lede{max-width:42ch;font-size:.95rem}
.poetra-form{display:grid;grid-template-columns:1fr 1fr;gap:1.75rem 2rem;margin:0}
.poetra-field{display:flex;flex-direction:column;gap:.55rem;margin:0;min-width:0}
.poetra-field-wide,.poetra-form-foot{grid-column:1/-1}
.poetra-field-wide select{max-width:26rem}
.poetra-field label{font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.15em;opacity:.75}
.poetra-field input,.poetra-field select,.poetra-field textarea{
  width:100%;font:inherit;font-size:1.05rem;color:inherit;background:transparent;
  border:0;border-bottom:1px solid currentColor;border-radius:0;padding:.7rem 0;
  transition:border-color .2s,box-shadow .2s;appearance:none
}
.poetra-field select{background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 14px) 55%,calc(100% - 8px) 55%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:2rem;cursor:pointer}
.poetra-field textarea{resize:vertical;min-height:7.5rem;line-height:1.6}
.poetra-field input:focus,.poetra-field select:focus,.poetra-field textarea:focus{outline:0;border-bottom-color:var(--gold);box-shadow:0 1px 0 0 var(--gold)}
.poetra-field.has-error input,.poetra-field.has-error textarea{border-bottom-color:var(--red);box-shadow:0 1px 0 0 var(--red)}
.poetra-error{min-height:1em;font-size:.72rem;letter-spacing:.02em;color:var(--red)}
.dark .poetra-error,.red .poetra-error{color:var(--gold)}
.poetra-hp{position:absolute!important;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap;pointer-events:none}
.poetra-form-foot{display:flex;align-items:center;gap:2rem;flex-wrap:wrap;margin-top:.5rem}
.poetra-submit{min-width:220px}
.poetra-submit[disabled]{opacity:.5;cursor:progress}
.poetra-form-status{margin:0;font-size:.72rem;text-transform:uppercase;letter-spacing:.13em;max-width:38ch}
.poetra-form-status.is-error{color:var(--red)}
.dark .poetra-form-status.is-error,.red .poetra-form-status.is-error{color:var(--gold)}
.poetra-form.is-sent .poetra-form-inner{display:none}
.poetra-form-sent{grid-column:1/-1;border-top:1px solid currentColor;padding-top:2rem}
.poetra-form-sent h3{font:clamp(2rem,4vw,3.4rem)/1 var(--serif);font-weight:400;margin:0 0 .5rem}

/* ---------- Compact page header (used by the Journal) ---------- */
.compact-head{padding:calc(var(--header-h) + 3.5rem) var(--pad) 2rem}
.compact-title{font:clamp(1.9rem,3.2vw,3.2rem)/1.05 var(--serif);font-weight:400;letter-spacing:-.02em;margin:.9rem 0 0;padding-bottom:.06em}
.compact-intro{max-width:46ch;margin:1rem 0 0;font-size:.9rem;opacity:.8}
.compact-head .pill-link{min-width:0;gap:1rem}

/* List sitting directly under a compact header needs far less air above it. */
.post-index.is-flush{padding-top:clamp(1.5rem,3vw,3rem)}
.post-index.is-flush .post-head{margin-bottom:2rem}

/* ---------- Journal single + archive ---------- */
.post-hero{padding:calc(var(--header-h) + 7rem) var(--pad) 4rem}
.post-hero .post-meta{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.17em;margin:0 0 2rem}
.post-hero h1{font:clamp(3rem,7.5vw,8rem)/.9 var(--serif);font-weight:400;letter-spacing:-.04em;margin:0;max-width:16ch;padding-bottom:.1em}
.post-hero .post-standfirst{font:clamp(1.3rem,2.4vw,2rem)/1.35 var(--serif);max-width:34ch;margin:2.5rem 0 0;opacity:.85}
.post-cover{margin:0;padding:0 var(--pad) clamp(1rem,3vw,2.5rem)}
.post-cover img{width:100%;max-height:78vh;object-fit:cover}
.post-cover figcaption{font-size:.66rem;text-transform:uppercase;letter-spacing:.14em;margin-top:.8rem;opacity:.7}
.post-body{padding:clamp(4rem,7vw,7rem) var(--pad)}
.post-body .entry-content{max-width:34em;margin:0 auto;font-size:1.08rem;line-height:1.7}
.post-body .entry-content>*+*{margin-top:1.4em}
.post-body .entry-content h2{font:clamp(1.9rem,3.4vw,2.8rem)/1.05 var(--serif);font-weight:400;margin-top:2.2em}
.post-body .entry-content h3{font:clamp(1.4rem,2.4vw,2rem)/1.1 var(--serif);font-weight:400;margin-top:2em}
.post-body .entry-content a{border-bottom:1px solid var(--red);color:inherit}
.post-body .entry-content a:hover{color:var(--red)}
.post-body .entry-content blockquote{margin:2.5em 0;padding-left:1.5rem;border-left:2px solid var(--gold);font:italic 1.35rem/1.5 var(--serif)}
.post-body .entry-content img{margin:2.5em 0}
.post-body .entry-content ul,.post-body .entry-content ol{padding-left:1.3em}
.post-body .entry-content li+li{margin-top:.5em}
.post-body .entry-content figcaption{font-size:.7rem;text-transform:uppercase;letter-spacing:.13em;opacity:.7;margin-top:.7rem}
.post-tags{max-width:34em;margin:3.5rem auto 0;display:flex;flex-wrap:wrap;gap:.6rem;font-size:.66rem;text-transform:uppercase;letter-spacing:.13em}
.post-tags a{border:1px solid;padding:.5rem .9rem}
.post-tags a:hover{background:var(--ink);color:var(--paper)}
.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:2rem;border-top:1px solid #4b4a43;padding:clamp(3rem,6vw,6rem) var(--pad)}
.post-nav a{display:block}
.post-nav span{font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.15em;opacity:.65}
.post-nav strong{display:block;margin-top:.8rem;font:clamp(1.5rem,3vw,2.6rem)/1.05 var(--serif);font-weight:400}
.post-nav .post-nav-next{text-align:right}
.post-nav a:hover strong{color:var(--gold)}
.journal-back{display:inline-flex;align-items:center;gap:.6rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;border-bottom:1px solid;padding-bottom:.4rem}
.archive-hero{padding:calc(var(--header-h) + 6rem) var(--pad) 3rem}
.archive-hero h1{font:clamp(3rem,7vw,7rem)/.9 var(--serif);font-weight:400;letter-spacing:-.04em;margin:1.5rem 0 0;padding-bottom:.1em}
.archive-hero .archive-description{max-width:44ch;margin-top:2rem}
.poetra-pagination{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;padding:0 var(--pad) clamp(5rem,9vw,9rem);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}
.poetra-pagination .page-numbers{border:1px solid;padding:.75rem 1.1rem;min-width:44px;text-align:center}
.poetra-pagination .page-numbers:hover{background:var(--ink);color:var(--paper)}
.poetra-pagination .current{background:var(--ink);color:var(--paper)}
.dark .poetra-pagination .page-numbers:hover,.dark .poetra-pagination .current{background:var(--paper);color:var(--ink)}
.poetra-pagination .dots{border:0;padding:.75rem .2rem}
.entry-content .poetra-pagination{padding:0;margin-top:3rem}

/* ---------- Single / archive fallbacks (non-Elementor) ---------- */
.poetra-entry{padding:calc(var(--header-h) + 6rem) var(--pad) 6rem;background:var(--paper);color:var(--ink)}
.poetra-entry .entry-title{font:clamp(3rem,7vw,7rem)/.9 var(--serif);font-weight:400;letter-spacing:-.03em;margin:0 0 2rem}
.poetra-entry .entry-content{max-width:70ch;font-size:1.05rem}
.poetra-entry .entry-content h2{font:clamp(2rem,4vw,3.4rem)/1 var(--serif);font-weight:400}
.poetra-entry .entry-content a{border-bottom:1px solid var(--red)}
.poetra-entry .entry-meta{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;margin-bottom:2rem}
.poetra-archive-list{display:grid;gap:4rem}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.skip-link{position:absolute;left:-9999px;z-index:999;padding:1rem;background:var(--gold);color:var(--ink)}
.skip-link:focus{left:1rem;top:1rem}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* ---------- Responsive ---------- */
@media(hover:hover) and (pointer:fine){
  body.poetra-custom-cursor .cursor-dot,
  body.poetra-custom-cursor .cursor-ring{display:block}
  body.poetra-custom-cursor,
  body.poetra-custom-cursor a,
  body.poetra-custom-cursor button{cursor:none}
  /* Hand the native pointer back to interface that is not part of the design:
     the WordPress admin bar, consent banners, chat widgets and similar
     injected overlays. The theme's own dialogs keep the custom cursor. */
  body.poetra-custom-cursor #wpadminbar,
  body.poetra-custom-cursor #wpadminbar *,
  body.poetra-custom-cursor .no-poetra-cursor,
  body.poetra-custom-cursor .no-poetra-cursor *,
  body.poetra-custom-cursor [id*="cookie" i],
  body.poetra-custom-cursor [id*="cookie" i] *,
  body.poetra-custom-cursor [class*="cookie" i],
  body.poetra-custom-cursor [class*="cookie" i] *,
  body.poetra-custom-cursor [id*="consent" i],
  body.poetra-custom-cursor [id*="consent" i] *,
  body.poetra-custom-cursor [class*="consent" i],
  body.poetra-custom-cursor [class*="consent" i] *{cursor:auto}
  body.poetra-custom-cursor #wpadminbar a,
  body.poetra-custom-cursor #wpadminbar button,
  body.poetra-custom-cursor .no-poetra-cursor a,
  body.poetra-custom-cursor .no-poetra-cursor button,
  body.poetra-custom-cursor [id*="cookie" i] a,
  body.poetra-custom-cursor [id*="cookie" i] button,
  body.poetra-custom-cursor [class*="cookie" i] a,
  body.poetra-custom-cursor [class*="cookie" i] button,
  body.poetra-custom-cursor [id*="consent" i] a,
  body.poetra-custom-cursor [id*="consent" i] button,
  body.poetra-custom-cursor [class*="consent" i] a,
  body.poetra-custom-cursor [class*="consent" i] button{cursor:pointer}
}
@media(max-width:850px){
  :root{--header-h:92px}
  .wordmark{width:76px;height:76px}
  .main-nav{display:none}
  .menu-btn{display:flex}
  .menu-layer{grid-template-columns:1fr;padding-top:7rem}
  .menu-aside{display:none}
  .home-photo{background-position:62% center}
  .home-title h1{font-size:clamp(5rem,24vw,8.5rem);line-height:.72}
  .home-title h1 em{padding-left:0}
  .hero-mist{height:28%;opacity:.58}
  .vertical-word{display:none}
  .manifesto-foot,.bio-columns{grid-template-columns:1fr;padding-left:0}
  .portal-grid{grid-template-columns:1fr}
  .portal{grid-column:auto;padding:3rem 0!important}
  .portal img{height:auto;aspect-ratio:4/5}
  .home-about,.split-hero,.book-row,.release,.visual-project{grid-template-columns:1fr}
  .home-about.reverse .portrait-window{order:0}
  .portrait-window{height:65vh}
  .split-hero{min-height:auto;padding-top:7rem}
  .hero-figure img{height:58vh}
  .role-list>a,.role-list>div{grid-template-columns:40px 1fr}
  .role-list i{display:none}
  .recognition-grid,.archive-grid,.ventures{grid-template-columns:1fr}
  .archive-card.wide{grid-column:auto}
  .archive-card img,.archive-card.wide img,.type-art{height:auto;min-height:60vh}
  .book-row.reverse .book-copy{order:0}
  .book-row img{max-height:70vh}
  .release:nth-child(even) img{order:0}
  .sound-ring{width:90vw;right:-35vw}
  .global-play{right:var(--pad);bottom:8vh}
  .featured-video{grid-template-columns:1fr}
  .video-poster-play{width:82px;height:82px}
  .video-dialog{padding:4.5rem 1rem 1rem}
  .video-frame{height:calc(100% - 4rem)}
  .video-caption{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;height:auto}
  .video-caption a,.video-caption strong{text-align:center}
  .building-overlay{right:var(--pad)}
  .visual-project .section{padding-bottom:5rem}
  .alphabet-panel{min-height:70vh}
  .blog-intro{grid-template-columns:1fr;padding-left:0}
  .featured-post{grid-template-columns:1fr}
  .word-orbit{position:absolute;right:-35%;bottom:5%;width:85vw;opacity:.5}
  .post-head{grid-template-columns:1fr}
  .post-list>a,.post-list>div{grid-template-columns:1fr 24px;gap:.4rem 1rem;padding:1.8rem 0}
  .post-list h2,.post-list p{grid-column:1}
  .post-list i{grid-column:2;grid-row:1/4}
  .archive-out{flex-direction:column;gap:1rem}
  .contact-form-section{grid-template-columns:1fr}
  .poetra-form{grid-template-columns:1fr}
  .post-nav{grid-template-columns:1fr}
  .post-nav .post-nav-next{text-align:left}
  .post-hero h1{font-size:clamp(2.6rem,11vw,4rem)}
  .compact-head{padding-top:calc(var(--header-h) + 3rem)}
  .compact-title{font-size:clamp(1.8rem,7vw,2.4rem)}
  .contact-options>a,.contact-options>div{grid-template-columns:1fr 30px}
  .contact-options span{grid-column:1/-1}
  .footer-cta{align-items:start;gap:3rem;flex-direction:column}
  .footer-bottom{grid-template-columns:1fr 1fr}
  .footer-bottom div:nth-child(2){text-align:right}
  .footer-bottom div:last-child{grid-column:1/-1;text-align:left}
  .back-to-top{width:58px;height:58px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal,.load-in{opacity:1;transform:none}
}
