/*
Theme Name: Terykon
Theme URI: https://terykon.com
Author: Terykon
Description: Dark editorial magazine theme for Terykon — independent Ukraine-based analysis.
Version: 1.5.0
Requires at least: 6.4
Tested up to: 7.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: terykon
*/

:root{
  --bg:#0b0b0a;
  --bg2:#12120f;
  --panel:#151511;
  --panel2:#1b1a15;

  --ink:#f0ece2;
  --cream:#f3eadb;
  --muted:#a8a097;
  --soft:#6d675f;

  --orange:#d96333;
  --orange2:#ef7a3d;

  --line:rgba(240,236,226,.16);
  --line2:rgba(240,236,226,.28);
  --grayline:rgba(240,236,226,.34);

  --sans:Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Arial, sans-serif;
  --serif:Georgia, "Times New Roman", serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:
    radial-gradient(circle at 18% 0%, rgba(217,99,51,.12), transparent 28rem),
    radial-gradient(circle at 88% 10%, rgba(239,122,61,.08), transparent 26rem),
    linear-gradient(180deg,var(--bg),#090908 54%,#070706);
  font-family:var(--sans);
  overflow-x:hidden;
}

body:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:200;
  opacity:.12;
  background-image:
    linear-gradient(rgba(240,236,226,.055) 1px, transparent 1px),
    radial-gradient(circle at 50% 0%,rgba(217,99,51,.18),transparent 40%);
  background-size:100% 4px,100% 100%;
  mix-blend-mode:overlay;
}

.site-fade{
  position:fixed;
  inset:0;
  background:var(--bg);
  z-index:9999;
  pointer-events:none;
  animation:siteFade .9s ease-out forwards;
}
@keyframes siteFade{to{opacity:0;visibility:hidden}}

a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.container{width:min(1180px,calc(100% - 44px));margin:0 auto}
.container-wide{width:min(1500px,calc(100% - 44px));margin:0 auto}

.reveal{
  opacity:0;
  transform:translateY(20px);
  filter:blur(5px);
  transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1),filter .85s cubic-bezier(.16,1,.3,1);
}
.reveal.in{opacity:1;transform:none;filter:none}

.site-header{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(11,11,10,.84);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(240,236,226,.16);
  transition:background .28s ease,border-color .28s ease,transform .28s ease;
}
.site-header.scrolled{
  background:rgba(11,11,10,.96);
  border-color:rgba(217,99,51,.28);
}
.header-inner{
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
}
.site-brand{display:flex;align-items:center;min-width:max-content}
.custom-logo{max-height:58px;width:auto}
.brand-fallback{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:max-content;
}
.logo-mark{
  width:58px;
  height:46px;
  display:block;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.32));
  animation:logoFloat 5.8s ease-in-out infinite;
}
@keyframes logoFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-4px)}
}
.logo-mark .orange{fill:var(--orange)}
.logo-mark .cream{fill:var(--cream)}
.logo-word{display:flex;flex-direction:column;line-height:1}
.logo-name{
  font-size:19px;
  font-weight:720;
  letter-spacing:.31em;
  text-transform:uppercase;
}
.logo-sub{
  margin-top:7px;
  color:var(--orange);
  font-size:9px;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:750;
}
.primary-nav ul{
  display:flex;
  align-items:center;
  gap:18px;
  list-style:none;
  padding:0;
  margin:0;
}
.primary-nav a{
  color:rgba(240,236,226,.76);
  font-size:12px;
  font-weight:720;
  letter-spacing:.05em;
  text-transform:uppercase;
  position:relative;
  padding:7px 0;
}
.primary-nav a:hover{color:var(--cream)}
.primary-nav a:after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:1px;
  background:var(--orange);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .25s ease;
}
.primary-nav a:hover:after{transform:scaleX(1)}
.header-cta{
  background:var(--orange);
  color:#140b07;
  padding:11px 15px;
  font-size:12px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.08em;
  transition:transform .22s ease,box-shadow .22s ease;
}
.header-cta:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 42px rgba(217,99,51,.25);
}
.menu-toggle{
  display:none;
  background:transparent;
  border:1px solid var(--line);
  color:var(--cream);
  padding:9px 12px;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:11px;
}

/* HERO */
.hero{
  min-height:calc(100vh - 76px);
  display:grid;
  grid-template-columns:1.05fr .95fr;
  border-bottom:1px solid var(--line);
}
.hero-copy{
  padding:84px 0 64px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.kicker,.label,.meta,.section-tag{
  color:var(--orange);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-weight:780;
  font-size:12px;
}
.hero h1{
  margin:24px 0;
  max-width:860px;
  font-family:var(--serif);
  font-size:clamp(64px,8vw,116px);
  line-height:.82;
  letter-spacing:-.075em;
  color:var(--cream);
}
.hero h1 .word{
  display:inline-block;
  opacity:0;
  transform:translateY(38px);
  filter:blur(8px);
  animation:wordIn .82s cubic-bezier(.16,1,.3,1) forwards;
}
@keyframes wordIn{
  to{opacity:1;transform:none;filter:none}
}
.hero-lead{
  max-width:780px;
  color:#d8d0c5;
  font-family:var(--serif);
  font-size:23px;
  line-height:1.48;
}
.hero-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:30px;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--line2);
  padding:13px 17px;
  color:var(--cream);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:12px;
  font-weight:820;
  position:relative;
  overflow:hidden;
  transition:transform .22s ease,border-color .22s ease,background .22s ease;
}
.btn.primary{
  background:var(--cream);
  color:#100e0a;
  border-color:var(--cream);
}
.btn.orange{
  background:var(--orange);
  color:#100a07;
  border-color:var(--orange);
}
.btn:hover{
  transform:translateY(-2px);
  border-color:rgba(217,99,51,.7);
}
.btn:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);
  transform:translateX(-120%);
  transition:transform .7s ease;
}
.btn:hover:before{transform:translateX(120%)}

.hero-visual{
  position:relative;
  overflow:hidden;
  min-height:620px;
  border-left:1px solid var(--line);
  background:
    linear-gradient(180deg,rgba(11,11,10,.12),rgba(11,11,10,.86)),
    radial-gradient(circle at 48% 28%,rgba(217,99,51,.20),transparent 20rem),
    linear-gradient(145deg,#2b2d25,#13140f 60%,#080807);
}
.terykon-mound{
  position:absolute;
  left:10%;
  right:10%;
  bottom:7%;
  height:78%;
  clip-path:polygon(50% 0%,94% 88%,6% 88%);
  background:
    radial-gradient(circle at 49% 28%,rgba(217,99,51,.40),transparent 19%),
    linear-gradient(145deg,#4a4c3e,#20231b 60%,#0b0c0a);
  border:1px solid rgba(240,236,226,.18);
  filter:drop-shadow(0 48px 90px rgba(0,0,0,.45));
  animation:moundIn 1.2s .35s cubic-bezier(.16,1,.3,1) both, moundFloat 7s ease-in-out infinite;
}
@keyframes moundIn{
  from{opacity:0;transform:translateY(30px) scale(.985)}
  to{opacity:1;transform:none}
}
@keyframes moundFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
}
.ash-lines{
  position:absolute;
  inset:0;
  background:
    repeating-linear-gradient(178deg,transparent,transparent 34px,rgba(240,236,226,.045) 35px),
    repeating-linear-gradient(92deg,transparent,transparent 48px,rgba(217,99,51,.030) 49px);
  animation:ashDrift 18s linear infinite alternate;
}
@keyframes ashDrift{
  from{transform:scale(1.02) translate(-1%,-1%)}
  to{transform:scale(1.07) translate(1%,1%)}
}
.scanline{
  position:absolute;
  left:-20%;
  right:-20%;
  top:34%;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(217,99,51,.70),transparent);
  opacity:0;
  animation:scan 6.6s ease-in-out infinite;
}
@keyframes scan{
  0%,25%{transform:translateY(-220px);opacity:0}
  45%{opacity:.58}
  82%,100%{transform:translateY(330px);opacity:0}
}
.field-note{
  position:absolute;
  top:10%;
  right:8%;
  width:282px;
  padding:18px;
  background:var(--cream);
  color:#15120d;
  box-shadow:0 26px 70px rgba(0,0,0,.35);
  transform:rotate(1.8deg) translateY(-12px);
  opacity:0;
  animation:noteIn .9s .8s ease forwards;
}
@keyframes noteIn{to{opacity:1;transform:rotate(1.8deg) translateY(0)}}
.field-note strong{
  display:block;
  font-family:var(--serif);
  font-size:25px;
  line-height:.95;
  letter-spacing:-.04em;
  margin-bottom:8px;
}
.field-note p{
  margin:0;
  color:#4a4034;
  font-family:var(--serif);
  line-height:1.42;
}
.visual-caption{
  position:absolute;
  left:7%;
  right:7%;
  bottom:6%;
  padding-top:13px;
  border-top:1px solid rgba(240,236,226,.22);
  display:flex;
  justify-content:space-between;
  color:#d7cec2;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:11px;
  font-weight:800;
}

/* QUICK STATS */
.quick-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-bottom:1px solid var(--line);
}
.quick-stat{
  padding:28px 32px;
  background:var(--bg2);
  border-right:1px solid var(--line);
  transition:background .25s ease,transform .25s ease;
}
.quick-stat:last-child{border-right:0}
.quick-stat:hover{
  background:#171812;
  transform:translateY(-3px);
}
.quick-stat strong{
  display:block;
  font-family:var(--serif);
  font-size:42px;
  color:var(--orange);
  line-height:1;
}
.quick-stat span{
  display:block;
  margin-top:9px;
  color:var(--muted);
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:780;
}

/* SECTIONS */
.fade-divider{
  position:relative;
  height:84px;
  overflow:hidden;
  background:linear-gradient(180deg,transparent,rgba(217,99,51,.070),transparent);
}
.fade-divider:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent,rgba(240,236,226,.08),transparent);
  transform:translateX(-120%);
  animation:pass 7s ease-in-out infinite;
}
@keyframes pass{
  0%,42%{transform:translateX(-120%);opacity:0}
  62%{opacity:1}
  100%{transform:translateX(120%);opacity:0}
}

.mission{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:52px;
  padding:72px 0;
  border-bottom:1px solid var(--line);
}
.mission h2{
  margin:10px 0 0;
  font-family:var(--serif);
  font-size:clamp(46px,5vw,70px);
  line-height:.92;
  letter-spacing:-.06em;
}
.mission p{
  margin:0 0 18px;
  color:#d5ccc0;
  font-size:19px;
  line-height:1.65;
}

.columns{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-bottom:1px solid var(--line);
}
.column{
  position:relative;
  overflow:hidden;
  padding:42px 5vw 46px;
  min-height:300px;
  background:var(--panel);
  border-right:1px solid var(--line);
  transition:background .28s ease,transform .28s ease,border-color .28s ease;
}
.column:last-child{border-right:0}
.column:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent,rgba(217,99,51,.09));
  opacity:0;
  transition:opacity .28s ease;
}
.column:hover{
  background:#1a1a14;
  transform:translateY(-5px);
  border-color:rgba(217,99,51,.32);
}
.column:hover:before{opacity:1}
.column>*{position:relative}
.column h3{
  margin:10px 0 16px;
  font-family:var(--serif);
  font-size:36px;
  line-height:.98;
  letter-spacing:-.045em;
}
.column p{
  color:var(--muted);
  line-height:1.58;
}

/* EDITORIAL FEED */
.feed{
  padding:60px 0;
  display:grid;
  grid-template-columns:1.72fr 1fr;
  gap:24px;
}
.feature{
  position:relative;
  overflow:hidden;
  min-height:560px;
  padding:30px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:var(--panel);
  border:1px solid var(--line);
  transition:transform .28s ease,border-color .28s ease,background .28s ease,box-shadow .28s ease;
}
.feature:hover,.mini:hover,.box:hover,.article-card:hover{
  transform:translateY(-5px);
  border-color:rgba(217,99,51,.45);
  background:#1b1a15;
  box-shadow:0 30px 80px rgba(0,0,0,.28);
}
.feature-image{
  position:absolute;
  inset:0;
  opacity:.32;
}
.feature-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:grayscale(.08) contrast(1.1);
}
.feature:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 20%,rgba(11,11,10,.70) 66%,rgba(11,11,10,.98));
}
.feature>*:not(.feature-image){position:relative;z-index:2}
.feature h2{
  margin:12px 0;
  max-width:860px;
  font-family:var(--serif);
  font-size:clamp(42px,5vw,68px);
  line-height:.92;
  letter-spacing:-.055em;
}
.feature p,.mini p,.box p,.article-card p{
  color:var(--muted);
  line-height:1.58;
}
.right-feed{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.mini,.box{
  background:var(--panel);
  border:1px solid var(--line);
  padding:24px;
  transition:transform .28s ease,border-color .28s ease,background .28s ease,box-shadow .28s ease;
}
.mini h3,.box h3{
  margin:10px 0;
  font-family:var(--serif);
  font-size:32px;
  line-height:.98;
  letter-spacing:-.045em;
}
.box input,.support-strip input{
  width:100%;
  border:1px solid rgba(11,11,10,.26);
  background:#fff;
  color:#111;
  padding:14px;
  margin:10px 0 12px;
}

.article-list{
  padding:66px 0;
  border-top:1px solid var(--line);
}
.section-title{
  margin:10px 0 28px;
  font-family:var(--serif);
  font-size:clamp(42px,5vw,60px);
  line-height:.92;
  letter-spacing:-.055em;
}
.article-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.article-card{
  overflow:hidden;
  background:var(--panel);
  border:1px solid var(--line);
  transition:transform .28s ease,border-color .28s ease,background .28s ease,box-shadow .28s ease;
}
.article-card-image{
  display:block;
  background:#111;
}
.article-card img{
  width:100%;
  aspect-ratio:1.55;
  object-fit:cover;
}
.article-card-body{padding:18px}
.article-card h3{
  margin:0 0 10px;
  font-family:var(--serif);
  font-size:27px;
  line-height:.98;
  letter-spacing:-.045em;
}

/* 3000+ ARCHIVE */
.archive-3000{
  padding:70px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:
    radial-gradient(circle at 10% 20%,rgba(217,99,51,.10),transparent 24rem),
    var(--bg2);
}
.archive-grid{
  display:grid;
  grid-template-columns:1fr 1.3fr;
  gap:34px;
  align-items:start;
}
.archive-3000 h2{
  font-family:var(--serif);
  font-size:clamp(54px,7vw,94px);
  line-height:.82;
  letter-spacing:-.07em;
  margin:10px 0 18px;
}
.archive-3000 p{color:var(--muted);font-size:18px;line-height:1.6}
.archive-filters{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
}
.archive-filter{
  border:1px solid var(--line);
  background:var(--panel);
  padding:20px;
  min-height:132px;
  transition:transform .25s ease,border-color .25s ease;
}
.archive-filter:hover{
  transform:translateY(-4px);
  border-color:rgba(217,99,51,.45);
}
.archive-filter strong{
  display:block;
  color:var(--cream);
  font-size:22px;
  font-family:var(--serif);
}
.archive-filter span{
  display:block;
  color:var(--orange);
  margin-top:12px;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:800;
}

/* SUPPORT */
.support-strip{
  margin:0 auto 70px;
  width:min(1180px,calc(100% - 44px));
  display:grid;
  grid-template-columns:1.35fr .85fr;
  gap:30px;
  padding:34px;
  background:var(--cream);
  color:#15120d;
  position:relative;
  overflow:hidden;
}
.support-strip:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg,transparent,rgba(217,99,51,.17),transparent);
  transform:translateX(-120%);
  animation:paperPass 7.2s ease-in-out infinite;
}
@keyframes paperPass{
  0%,45%{transform:translateX(-120%)}
  70%,100%{transform:translateX(120%)}
}
.support-strip>*{position:relative}
.support-strip h2{
  margin:0 0 12px;
  color:#15120d;
  font-family:var(--serif);
  font-size:46px;
  line-height:.94;
  letter-spacing:-.055em;
}
.support-strip p{
  color:#4b4034;
  font-family:var(--serif);
  font-size:18px;
  line-height:1.5;
}
.darkbtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#0b0b0a;
  color:var(--cream);
  padding:13px 16px;
  text-transform:uppercase;
  font-size:12px;
  font-weight:850;
  letter-spacing:.1em;
}

/* VIDEO */
.video-section{
  padding:68px 0;
  border-top:1px solid var(--line);
}
.video-wrap{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  background:#0d0d0c;
  border:1px solid var(--line);
  overflow:hidden;
}
.video-wrap iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}

/* PAGES / SINGLE */
.page-wrap,.archive-wrap,.single-wrap{
  padding:84px 0;
}
.page-header,.archive-header,.single-header{
  max-width:980px;
  margin-bottom:34px;
}
.page-header h1,.archive-header h1,.single-header h1{
  margin:14px 0;
  font-family:var(--serif);
  font-size:clamp(54px,8vw,102px);
  line-height:.82;
  letter-spacing:-.075em;
}
.page-header p,.archive-header p,.single-header p{
  color:var(--muted);
  font-family:var(--serif);
  font-size:22px;
  line-height:1.45;
}
.single-featured{
  margin-bottom:36px;
}
.single-featured img{
  width:100%;
  max-height:760px;
  object-fit:cover;
}
figcaption{
  margin-top:9px;
  color:var(--soft);
  font-size:12px;
}
.single-layout{
  display:grid;
  grid-template-columns:minmax(0,820px) 300px;
  gap:58px;
}
.content{
  color:#e5ded4;
  font-family:var(--serif);
  font-size:21px;
  line-height:1.72;
}
.content p{margin:0 0 1.25em}
.content a{
  color:var(--orange2);
  text-decoration:underline;
  text-underline-offset:4px;
}
.content h2,.content h3{
  font-family:var(--sans);
  line-height:1.05;
  margin:1.6em 0 .65em;
}
.sidebar-card{
  background:var(--panel);
  border:1px solid var(--line);
  padding:18px;
  margin-bottom:18px;
}
.sidebar-card span{
  display:block;
  color:var(--orange);
  text-transform:uppercase;
  letter-spacing:.15em;
  font-size:11px;
  font-weight:800;
  margin-bottom:8px;
}
.sidebar-card p{color:var(--muted)}
.sidebar-card a{color:var(--orange2)}

/* FOOTER */
.site-footer{
  border-top:1px solid var(--line);
  background:#070706;
  padding:54px 0 24px;
}
.footer-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:30px;
  padding-bottom:34px;
  border-bottom:1px solid var(--line);
}
.footer-brand{
  font-weight:780;
  letter-spacing:.31em;
  text-transform:uppercase;
  margin-bottom:10px;
}
.footer-grid p{color:var(--muted)}
.footer-grid h4{
  margin:0 0 12px;
  color:var(--orange);
  text-transform:uppercase;
  letter-spacing:.15em;
  font-size:12px;
}
.footer-grid a{
  display:block;
  color:var(--muted);
  margin:8px 0;
  font-size:14px;
}
.footer-grid a:hover{color:var(--orange2)}
.footer-bottom{
  padding-top:22px;
  display:flex;
  justify-content:space-between;
  gap:18px;
  color:var(--soft);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:12px;
}

/* subtle mouse effect from approved preview */
.cursor-halo,.cursor-dot,.cursor-ash{
  position:fixed;
  pointer-events:none;
  z-index:60;
}
.cursor-halo{
  width:210px;
  height:210px;
  border-radius:50%;
  opacity:0;
  background:radial-gradient(circle,rgba(217,99,51,.15),rgba(217,99,51,.055) 34%,transparent 70%);
  filter:blur(13px);
  mix-blend-mode:screen;
  transform:translate(-50%,-50%);
  transition:opacity .28s ease;
}
.cursor-dot{
  width:5px;
  height:5px;
  border-radius:50%;
  opacity:0;
  background:rgba(217,99,51,.66);
  box-shadow:0 0 16px rgba(217,99,51,.42);
  transform:translate(-50%,-50%);
  transition:opacity .22s ease;
}
body.pointer-active .cursor-halo,
body.pointer-active .cursor-dot{opacity:1}
.cursor-ash{
  width:var(--s,2px);
  height:var(--s,2px);
  border-radius:50%;
  opacity:.42;
  background:rgba(240,236,226,.62);
  box-shadow:0 0 8px rgba(217,99,51,.22);
  transform:translate(-50%,-50%);
  animation:cursorAsh .9s ease-out forwards;
}
@keyframes cursorAsh{
  to{
    opacity:0;
    transform:translate(calc(-50% + var(--dx,20px)),calc(-50% + var(--dy,-24px))) scale(.15);
  }
}
@media(pointer:coarse),(prefers-reduced-motion:reduce){
  .cursor-halo,.cursor-dot,.cursor-ash{display:none!important}
  .reveal{opacity:1;transform:none;filter:none}
  .site-fade{display:none}
  *{animation:none!important;transition:none!important}
}

@media(max-width:1050px){
  .hero,.mission,.feed,.archive-grid,.support-strip,.single-layout{grid-template-columns:1fr}
  .hero-visual{border-left:0;border-top:1px solid var(--line)}
  .quick-stats,.columns,.article-grid,.footer-grid{grid-template-columns:1fr 1fr}
  .primary-nav{
    display:none;
    position:absolute;
    left:22px;
    right:22px;
    top:76px;
    padding:18px;
    background:rgba(11,11,10,.97);
    border:1px solid var(--line);
  }
  .primary-nav.is-open{display:block}
  .primary-nav ul{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .menu-toggle{display:block}
  .header-cta{display:none}
}
@media(max-width:680px){
  .container,.container-wide{width:min(100% - 28px,1180px)}
  .hero-copy{padding-top:62px}
  .hero h1{font-size:56px}
  .hero-lead{font-size:19px}
  .quick-stats,.columns,.article-grid,.footer-grid,.archive-filters{grid-template-columns:1fr}
  .primary-nav ul{grid-template-columns:1fr}
  .logo-sub{display:none}
  .footer-bottom{display:block}
}


/* v0.6 — quieter cursor trail */
.cursor-halo{
  width:150px;
  height:150px;
  background:radial-gradient(circle,rgba(217,99,51,.075),rgba(217,99,51,.028) 36%,transparent 72%);
  filter:blur(16px);
}
.cursor-dot{
  width:3px;
  height:3px;
  background:rgba(217,99,51,.42);
  box-shadow:0 0 9px rgba(217,99,51,.24);
}
body.pointer-active .cursor-halo{opacity:.72}
body.pointer-active .cursor-dot{opacity:.58}
.cursor-ash{
  opacity:.22;
  background:rgba(240,236,226,.36);
  box-shadow:0 0 5px rgba(217,99,51,.12);
}

/* v0.6 — hero right as lead article card */
.hero-visual.editorial-hero{
  display:flex;
  align-items:flex-end;
  min-height:620px;
}
.terykon-mound{
  opacity:.18;
  filter:drop-shadow(0 30px 65px rgba(0,0,0,.38));
}
.hero-article-bg{
  position:absolute;
  inset:0;
  opacity:.28;
}
.hero-article-bg img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:grayscale(.18) contrast(1.08) brightness(.82);
}
.hero-article-bg:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 25%,rgba(217,99,51,.18),transparent 22rem),
    linear-gradient(180deg,rgba(11,11,10,.12),rgba(11,11,10,.82) 62%,rgba(11,11,10,.98));
}
.hero-article-card{
  position:relative;
  z-index:3;
  width:calc(100% - 14%);
  margin:0 7% 7%;
  padding:26px;
  border:1px solid rgba(240,236,226,.18);
  background:rgba(18,18,15,.72);
  backdrop-filter:blur(10px);
  box-shadow:0 28px 78px rgba(0,0,0,.36);
  animation:articleCardIn .9s .55s cubic-bezier(.16,1,.3,1) both;
}
@keyframes articleCardIn{
  from{opacity:0;transform:translateY(22px);filter:blur(5px)}
  to{opacity:1;transform:none;filter:none}
}
.hero-article-card h2{
  margin:10px 0 14px;
  font-family:var(--serif);
  color:var(--cream);
  font-size:clamp(34px,4vw,56px);
  line-height:.94;
  letter-spacing:-.055em;
}
.hero-article-card p{
  margin:0;
  color:#d6cec1;
  font-family:var(--serif);
  font-size:18px;
  line-height:1.48;
}
.hero-article-card .read-link{
  display:inline-block;
  margin-top:18px;
  color:var(--orange);
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:11px;
  font-weight:850;
}
.field-note.article-note{
  width:315px;
}
.field-note.article-note strong{
  font-size:23px;
}
.field-note.article-note p{
  font-size:15px;
}
@media(max-width:1050px){
  .field-note.article-note{
    position:absolute;
    top:8%;
    right:6%;
    width:min(315px,72%);
  }
}


/* v0.7 — Hero Field Signal carousel. Everything else stays as v0.6. */
.field-signal-hero{ isolation:isolate; }
.field-signal-slides{ position:absolute; inset:0; z-index:0; overflow:hidden; }
.field-signal-slide{ position:absolute; inset:0; opacity:0; transform:scale(1.018); transition:opacity 1.15s ease, transform 6.8s ease; }
.field-signal-slide.active{ opacity:1; transform:scale(1.045); }
.field-signal-slide img,.field-signal-slide .field-signal-placeholder{ width:100%; height:100%; object-fit:cover; filter:grayscale(.14) contrast(1.08) brightness(.76); }
.field-signal-slide:after{ content:""; position:absolute; inset:0; background:radial-gradient(circle at 48% 24%,rgba(217,99,51,.18),transparent 22rem),linear-gradient(180deg,rgba(11,11,10,.18),rgba(11,11,10,.80) 62%,rgba(11,11,10,.98)); }
.field-signal-placeholder{ background:radial-gradient(circle at 35% 18%,rgba(217,99,51,.20),transparent 28%),linear-gradient(135deg,rgba(240,236,226,.06),transparent 48%),#151511; }
.field-signal-hero .terykon-mound{ opacity:.14; }
.field-signal-card,.signal-note,.signal-dots{ position:relative; z-index:4; }
.signal-note strong,.signal-note p,.signal-card-title,.signal-card-excerpt,.signal-card-meta,.signal-card-link{ transition:opacity .28s ease, transform .28s ease; }
.signal-updating .signal-note strong,.signal-updating .signal-note p,.signal-updating .signal-card-title,.signal-updating .signal-card-excerpt,.signal-updating .signal-card-meta,.signal-updating .signal-card-link{ opacity:0; transform:translateY(5px); }
.field-signal-card .signal-card-meta{ margin-bottom:10px; }
.signal-dots{ position:absolute; left:7%; bottom:4.5%; display:flex; gap:7px; z-index:5; }
.signal-dot{ width:26px; height:2px; border:0; padding:0; background:rgba(240,236,226,.22); cursor:pointer; }
.signal-dot.active{ background:var(--orange); }
.signal-dot:hover{ background:rgba(217,99,51,.72); }
.field-signal-hero .visual-caption{ bottom:2.2%; }


/* v0.8 — Hero diary signal, latest 10 article images, no post-it */
.field-signal-hero.diary-signal-hero{
  display:block;
  min-height:620px;
}
.diary-signal-hero .field-note,
.diary-signal-hero .hero-article-card{
  display:none!important;
}
.diary-signal-center{
  position:absolute;
  z-index:4;
  left:50%;
  top:48%;
  transform:translate(-50%,-50%);
  width:min(620px,82%);
  text-align:center;
  pointer-events:none;
  animation:diarySignalIn 1s .42s cubic-bezier(.16,1,.3,1) both;
}
@keyframes diarySignalIn{
  from{opacity:0;transform:translate(-50%,calc(-50% + 18px));filter:blur(6px)}
  to{opacity:1;transform:translate(-50%,-50%);filter:none}
}
.diary-line{
  color:var(--cream);
  font-family:var(--serif);
  font-size:clamp(19px,2vw,28px);
  line-height:1.18;
  letter-spacing:-.025em;
  text-shadow:0 18px 60px rgba(0,0,0,.55);
}
.diary-day{
  margin:14px 0 10px;
  color:var(--orange);
  font-family:var(--sans);
  font-size:clamp(46px,7vw,92px);
  line-height:.88;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-weight:840;
  text-shadow:0 18px 70px rgba(0,0,0,.58);
}
.diary-keep{
  color:rgba(240,236,226,.78);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.22em;
  font-weight:780;
}
.signal-title-card{
  position:absolute;
  z-index:5;
  right:7%;
  bottom:7%;
  width:min(390px,72%);
  padding:18px 20px;
  border:1px solid rgba(240,236,226,.20);
  background:rgba(11,11,10,.58);
  backdrop-filter:blur(10px);
  box-shadow:0 24px 70px rgba(0,0,0,.34);
  transition:opacity .28s ease,transform .28s ease,border-color .25s ease,background .25s ease;
}
.signal-title-card:hover{
  border-color:rgba(217,99,51,.46);
  background:rgba(18,18,15,.72);
  transform:translateY(-3px);
}
.signal-title-card h2{
  margin:8px 0 0;
  color:var(--cream);
  font-family:var(--serif);
  font-size:clamp(25px,2.6vw,38px);
  line-height:.98;
  letter-spacing:-.045em;
}
.signal-title-card .meta{
  margin-bottom:0;
}
.signal-title-card .read-link{
  display:inline-block;
  margin-top:14px;
  color:var(--orange);
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:10px;
  font-weight:850;
}
.signal-updating .signal-title-card{
  opacity:0;
  transform:translateY(8px);
}
.diary-signal-hero .signal-dots{
  left:7%;
  bottom:7%;
}
.diary-signal-hero .visual-caption{
  bottom:2.2%;
}
.diary-signal-hero .scanline{
  opacity:.72;
}
.diary-signal-hero .field-signal-slide:after{
  background:
    radial-gradient(circle at 50% 22%,rgba(217,99,51,.19),transparent 21rem),
    linear-gradient(180deg,rgba(11,11,10,.22),rgba(11,11,10,.58) 42%,rgba(11,11,10,.92));
}
@media(max-width:680px){
  .signal-title-card{right:5%;bottom:8%;width:90%;}
  .diary-signal-center{top:42%;}
  .diary-signal-hero .signal-dots{bottom:4.5%;}
}

/* v0.8 — Reports from the field manifesto and TV note */
.field-reports-manifesto,
.tv-smartphone-note{
  border:1px solid var(--line);
  background:rgba(240,236,226,.035);
  padding:22px;
  color:#d8d0c5;
  font-family:var(--serif);
  font-size:22px;
  line-height:1.35;
  margin:24px 0 30px;
}
.field-reports-manifesto p,
.tv-smartphone-note p{
  margin:0;
}
.tv-smartphone-note{
  display:inline-block;
  max-width:720px;
  margin-top:0;
  margin-bottom:24px;
  color:var(--cream);
}


/* v0.9 — TV note moved inside playlist frame; no other visual changes */
.video-wrap{
  position:relative;
}
.tv-smartphone-overlay{
  position:absolute;
  z-index:5;
  top:18px;
  left:18px;
  max-width:min(520px, calc(100% - 36px));
  color:var(--orange);
  font-family:var(--sans);
  font-size:12px;
  font-weight:780;
  letter-spacing:.18em;
  line-height:1.55;
  text-transform:uppercase;
  pointer-events:none;
  text-shadow:
    0 2px 12px rgba(0,0,0,.78),
    0 0 22px rgba(217,99,51,.20);
}
.tv-smartphone-note{
  display:none!important;
}
@media(max-width:680px){
  .tv-smartphone-overlay{
    top:12px;
    left:12px;
    font-size:10px;
    letter-spacing:.12em;
  }
}


/* v0.10 — targeted refinements only */

/* wider header layout and no vertical menu wrapping */
.site-header .container.header-inner{
  width:min(1560px,calc(100% - 44px));
}
.site-brand{
  flex:0 0 auto;
}
.primary-nav{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  justify-content:flex-end;
}
.primary-nav ul{
  width:100%;
  justify-content:flex-end;
  flex-wrap:nowrap;
  gap:clamp(14px,1.25vw,24px);
}
.primary-nav a{
  white-space:nowrap;
  font-size:11px;
  letter-spacing:.045em;
}
.header-cta{
  flex:0 0 auto;
  margin-left:8px;
}

/* smaller dark triangle behind the day counter */
.field-signal-hero .terykon-mound{
  left:31%;
  right:31%;
  bottom:24%;
  height:48%;
  opacity:.18;
  filter:drop-shadow(0 20px 42px rgba(0,0,0,.30));
}

/* keep the day counter dominant after shrinking the triangle */
.diary-signal-center{
  z-index:5;
}

/* menu remains usable before mobile breakpoint */
@media(max-width:1250px){
  .primary-nav ul{
    gap:12px;
  }
  .primary-nav a{
    font-size:10px;
    letter-spacing:.035em;
  }
  .logo-name{
    font-size:17px;
  }
  .logo-sub{
    font-size:8px;
  }
}


/* v1.1 — mobile drawer only. Desktop remains unchanged. */
.mobile-nav-backdrop{
  display:none;
}

@media(max-width:1050px){
  body.mobile-nav-open{
    overflow:hidden;
  }

  .mobile-nav-backdrop{
    display:block;
    position:fixed;
    inset:0;
    z-index:98;
    opacity:0;
    pointer-events:none;
    background:rgba(11,11,10,.72);
    backdrop-filter:blur(6px);
    transition:opacity .32s cubic-bezier(.16,1,.3,1);
  }

  .mobile-nav-backdrop.is-open{
    opacity:1;
    pointer-events:auto;
  }

  .site-header{
    z-index:110;
  }

  .menu-toggle{
    position:relative;
    z-index:114;
  }

  .primary-nav{
    display:block;
    position:fixed;
    top:0;
    right:0;
    bottom:0;
    left:auto;
    width:min(88vw,430px);
    height:100dvh;
    padding:112px 34px 34px;
    background:
      radial-gradient(circle at 88% 0%,rgba(217,99,51,.10),transparent 18rem),
      rgba(11,11,10,.985);
    border:0;
    border-left:1px solid rgba(240,236,226,.22);
    box-shadow:-34px 0 90px rgba(0,0,0,.52);
    transform:translateX(104%);
    transition:transform .38s cubic-bezier(.16,1,.3,1);
    z-index:113;
    overflow-y:auto;
  }

  .primary-nav.is-open{
    transform:translateX(0);
  }

  .primary-nav ul{
    width:auto;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    gap:24px;
  }

  .primary-nav a{
    color:rgba(240,236,226,.84);
    font-size:15px;
    line-height:1.15;
    letter-spacing:.13em;
    white-space:normal;
  }

  .primary-nav a:hover{
    color:var(--orange);
  }

  .primary-nav a:after{
    bottom:-7px;
  }
}

@media(max-width:680px){
  .primary-nav{
    width:min(89vw,390px);
    padding:104px 28px 30px;
  }

  .primary-nav ul{
    gap:23px;
  }

  .primary-nav a{
    font-size:14px;
    letter-spacing:.12em;
  }
}


/* v1.2 — mobile hero visibility and ordering only. Desktop remains unchanged. */
@media(max-width:1050px){
  .hero{
    min-height:auto;
    display:flex;
    flex-direction:column;
  }

  .hero-copy{
    display:contents;
  }

  .hero-copy > div:first-child{
    display:contents;
  }

  .hero-copy > div:first-child > .kicker{
    order:1;
    width:min(1180px,calc(100% - 44px));
    margin:62px auto 18px;
  }

  .hero h1{
    order:2;
    width:min(1180px,calc(100% - 44px));
    margin:0 auto 26px;
  }

  .hero h1 .word{
    opacity:1!important;
    transform:none!important;
    filter:none!important;
    animation:none!important;
  }

  .hero-visual{
    order:3;
    width:100%;
    min-height:560px;
    border-left:0;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
  }

  .hero-lead{
    order:4;
    width:min(1180px,calc(100% - 44px));
    margin:34px auto 0;
  }

  .hero-actions{
    order:5;
    width:min(1180px,calc(100% - 44px));
    margin:28px auto 0;
  }

  .hero-copy > .kicker{
    order:6;
    width:min(1180px,calc(100% - 44px));
    margin:22px auto 44px;
  }
}

@media(max-width:680px){
  .hero-copy > div:first-child > .kicker{
    width:min(100% - 28px,1180px);
    margin-top:48px;
  }

  .hero h1{
    width:min(100% - 28px,1180px);
    font-size:54px;
    margin-bottom:22px;
  }

  .hero-visual{
    min-height:500px;
  }

  .hero-lead,
  .hero-actions,
  .hero-copy > .kicker{
    width:min(100% - 28px,1180px);
  }
}

@media(prefers-reduced-motion:reduce){
  .hero h1 .word{
    opacity:1!important;
    transform:none!important;
    filter:none!important;
    animation:none!important;
  }

  .scanline{
    opacity:.42!important;
    transform:none!important;
  }
}


/* v1.3 — targeted fixes only */
html{
  background:#0b0b0a!important;
  min-height:100%;
  overscroll-behavior-y:none;
}
body{
  min-height:100%;
  background-color:#0b0b0a!important;
  overscroll-behavior-y:none;
}
.site-footer{
  background:#070706;
}

/* Mobile hero scanline visibility; desktop unchanged */
@media(max-width:1050px){
  .hero-visual .scanline{
    display:block!important;
    z-index:8!important;
    opacity:.72!important;
    top:36%!important;
    height:1px!important;
    background:linear-gradient(90deg,transparent,rgba(217,99,51,.88),transparent)!important;
    box-shadow:0 0 18px rgba(217,99,51,.22);
    animation:scanMobileVisible 5.8s ease-in-out infinite!important;
  }

  @keyframes scanMobileVisible{
    0%,18%{transform:translateY(-210px);opacity:0}
    38%{opacity:.72}
    82%,100%{transform:translateY(260px);opacity:0}
  }
}
@media(max-width:680px){
  .hero-visual .scanline{top:34%!important;}
}
@media(prefers-reduced-motion:reduce){
  .hero-visual .scanline{
    display:block!important;
    z-index:8!important;
    opacity:.48!important;
    top:36%!important;
    transform:none!important;
    animation:none!important;
    background:linear-gradient(90deg,transparent,rgba(217,99,51,.72),transparent)!important;
  }
}


/* v1.5 — Terykon provenance, watermark and anti-copy visual layer */

/* Automatic visible watermark layer on article images/video blocks.
   This is intentionally lightweight and does not damage the original media files. */
.single .entry-content figure,
.single .entry-content .wp-block-image,
.single .entry-content .wp-block-cover,
.single .entry-content .wp-block-gallery figure,
.single .entry-content .wp-block-video,
.single .entry-content .wp-block-embed,
.single .article-content figure,
.single .article-content .wp-block-image,
.single .article-content .wp-block-cover,
.single .article-content .wp-block-gallery figure,
.single .article-content .wp-block-video,
.single .article-content .wp-block-embed{
  position:relative;
  overflow:hidden;
}

/* Visible copyright mark */
.single .entry-content figure::after,
.single .entry-content .wp-block-image::after,
.single .entry-content .wp-block-cover::after,
.single .entry-content .wp-block-video::after,
.single .entry-content .wp-block-embed::after,
.single .article-content figure::after,
.single .article-content .wp-block-image::after,
.single .article-content .wp-block-cover::after,
.single .article-content .wp-block-video::after,
.single .article-content .wp-block-embed::after{
  content:"© Terykon / Giorgio Provinciali & Alla Perdei";
  position:absolute;
  right:14px;
  bottom:12px;
  z-index:7;
  padding:6px 9px;
  border:1px solid rgba(243,234,219,.24);
  border-radius:999px;
  background:rgba(11,11,10,.54);
  color:rgba(243,234,219,.86);
  font-family:var(--sans);
  font-size:10px;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
  backdrop-filter:blur(8px);
  pointer-events:none;
}

/* Light forensic/screenshot layer: visible enough to establish provenance,
   subtle enough not to damage reading. */
.single .entry-content figure::before,
.single .entry-content .wp-block-image::before,
.single .entry-content .wp-block-cover::before,
.single .entry-content .wp-block-video::before,
.single .entry-content .wp-block-embed::before,
.single .article-content figure::before,
.single .article-content .wp-block-image::before,
.single .article-content .wp-block-cover::before,
.single .article-content .wp-block-video::before,
.single .article-content .wp-block-embed::before{
  content:"TERYKON · UKRAINE FIELD ARCHIVE";
  position:absolute;
  inset:-25%;
  z-index:6;
  display:block;
  color:rgba(243,234,219,.055);
  font-family:var(--sans);
  font-size:11px;
  font-weight:750;
  letter-spacing:.18em;
  line-height:84px;
  text-transform:uppercase;
  transform:rotate(-26deg);
  white-space:pre;
  pointer-events:none;
  background:
    repeating-linear-gradient(
      0deg,
      transparent 0,
      transparent 64px,
      rgba(243,234,219,.026) 65px,
      transparent 66px
    );
}

/* Avoid watermarking tiny author avatars or UI images */
.single .author-box figure::before,
.single .author-box figure::after,
.single .wp-block-image.is-style-rounded::before,
.single .wp-block-image.is-style-rounded::after{
  content:none!important;
}

/* Provenance / archive record box */
.terykon-provenance-record{
  margin:64px 0 0;
  padding:24px;
  border:1px solid var(--line);
  background:
    radial-gradient(circle at 92% 0%,rgba(217,99,51,.10),transparent 18rem),
    rgba(21,21,17,.72);
}
.terykon-provenance-record .label{
  margin-bottom:12px;
}
.terykon-provenance-record p{
  margin:0;
  color:#d8d0c5;
}
.terykon-provenance-record a{
  color:var(--orange);
}

@media(max-width:680px){
  .single .entry-content figure::after,
  .single .entry-content .wp-block-image::after,
  .single .entry-content .wp-block-cover::after,
  .single .entry-content .wp-block-video::after,
  .single .entry-content .wp-block-embed::after,
  .single .article-content figure::after,
  .single .article-content .wp-block-image::after,
  .single .article-content .wp-block-cover::after,
  .single .article-content .wp-block-video::after,
  .single .article-content .wp-block-embed::after{
    right:10px;
    bottom:10px;
    max-width:calc(100% - 20px);
    font-size:8px;
    letter-spacing:.05em;
  }
}
