/*
Theme Name: Nitikos
Theme URI: https://nitikos.com
Description: Nitikos child theme for Kadence. The art of sound judgment - a dark, editorial theme for finance, macroeconomics, geopolitics, energy and tech.
Author: Shreya Meher
Template: kadence
Version: 2.11
*/


  :root{
    --ink:#0a0d18; --ink2:#0e1326; --panel:#111733;
    --gold:#c9a86a; --gold-bright:#e6cf99; --gold-dim:rgba(201,168,106,0.22);
    --gold-faint:rgba(201,168,106,0.12);
    --cream:#f1ede1; --body:#b7bcc9; --muted:#7c8294;
    --display:"Cormorant Garamond", Georgia, serif;
    --sans:"Inter", system-ui, sans-serif;
    --maxw:1100px;
  }
  *{ margin:0; padding:0; box-sizing:border-box; }
  html{ scroll-behavior:smooth; }
  body{
    background:var(--ink); color:var(--body); font-family:var(--sans);
    font-weight:400; line-height:1.6; -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  ::selection{ background:rgba(201,168,106,0.28); color:var(--cream); }
  a{ color:inherit; text-decoration:none; }

  /* reading progress */
  .progress{ position:fixed; top:0; left:0; height:2px; width:0%;
    background:linear-gradient(90deg,var(--gold),var(--gold-bright)); z-index:200; }

  /* nav */
  .nav{ position:fixed; top:0; left:0; right:0; z-index:150;
    display:flex; align-items:center; justify-content:space-between;
    padding:18px clamp(20px,5vw,56px);
    background:rgba(10,13,24,0); backdrop-filter:blur(0px);
    transition:background .4s ease, padding .4s ease, border-color .4s ease;
    border-bottom:1px solid transparent; }
  .nav.scrolled{ background:rgba(10,13,24,0.82); backdrop-filter:blur(10px);
    padding-top:13px; padding-bottom:13px; border-bottom:1px solid var(--gold-faint); }
  .brand{ font-family:var(--display); font-weight:600; color:var(--cream);
    font-size:22px; letter-spacing:.16em; text-transform:uppercase; }
  .brand span{ color:var(--gold); }
  .navlinks{ display:flex; align-items:center; gap:clamp(16px,2.4vw,34px); }
  .navlinks a{ font-size:12.5px; letter-spacing:.14em; text-transform:uppercase;
    color:var(--muted); position:relative; padding:6px 0; transition:color .3s; }
  .navlinks a .num{ color:var(--gold); font-family:var(--display); font-style:italic;
    font-size:13px; margin-right:6px; }
  .navlinks a::after{ content:""; position:absolute; left:0; bottom:0; height:1px; width:0;
    background:var(--gold); transition:width .35s ease; }
  .navlinks a:hover{ color:var(--cream); }
  .navlinks a.active{ color:var(--cream); }
  .navlinks a.active::after{ width:100%; }
  .nav .sub{ display:inline-block; font-size:11.5px; letter-spacing:.16em; text-transform:uppercase;
    color:var(--gold); border:1px solid var(--gold-dim); padding:8px 16px; border-radius:1px;
    transition:background .3s, color .3s, border-color .3s; cursor:pointer; }
  .nav .sub:hover{ background:var(--gold); color:var(--ink); border-color:var(--gold); }
  @media(max-width:680px){ .navlinks .lk{ display:none; } }

  .wrap{ max-width:var(--maxw); margin:0 auto; padding:0 clamp(22px,5vw,40px); }

  /* hero */
  .hero{ position:relative; min-height:100vh; display:flex; flex-direction:column;
    align-items:center; justify-content:center; text-align:center; padding:120px 22px 80px; overflow:hidden; }
  .astro{ position:absolute; top:50%; left:50%; width:min(140vw,960px); height:min(140vw,960px);
    transform:translate(-50%,-52%); opacity:.5; pointer-events:none; }
  .astro .spin{ transform-origin:center; animation:spin 120s linear infinite; }
  .astro .spin2{ transform-origin:center; animation:spin 80s linear infinite reverse; }
  @keyframes spin{ to{ transform:rotate(360deg); } }
  .hero .astro{ transform:translate(-50%,-50%); }
  .hero::before{ content:""; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
    width:min(86vw,540px); height:min(86vw,540px); border-radius:50%; pointer-events:none;
    background:radial-gradient(circle, rgba(201,168,106,0.14), rgba(201,168,106,0.04) 46%, transparent 70%); }
  .hero-top, .hero-bottom{ position:absolute; left:50%; transform:translateX(-50%); z-index:2;
    max-width:88vw; text-transform:uppercase; text-align:center;
    text-shadow:0 0 10px var(--ink), 0 0 16px var(--ink); }
  .hero-top{ top:clamp(118px,23vh,232px); font-size:clamp(10.5px,2.5vw,12.5px);
    letter-spacing:.4em; color:var(--gold); white-space:nowrap; }
  .hero-bottom{ bottom:clamp(120px,19vh,205px); font-size:clamp(9.5px,2.3vw,11.5px);
    letter-spacing:.3em; color:var(--muted); white-space:nowrap; }
  .hero-eyebrow{ font-size:12.5px; letter-spacing:.42em; text-transform:uppercase;
    color:var(--gold); margin-bottom:26px; }
  .hero-title{ font-family:var(--display); font-weight:500; color:var(--cream);
    font-size:clamp(64px,15vw,168px); line-height:.92; letter-spacing:.01em; position:relative; z-index:2; }
  .hero-title em{ font-style:italic; color:var(--gold); }
  .etym{ margin-top:30px; display:flex; align-items:center; justify-content:center;
    flex-wrap:wrap; gap:14px; font-family:var(--display); }
  .etym .term{ display:flex; flex-direction:column; align-items:center; }
  .etym .word{ font-size:clamp(22px,4vw,30px); color:var(--cream); font-style:italic; }
  .etym .lang{ font-family:var(--sans); font-size:10.5px; letter-spacing:.22em;
    text-transform:uppercase; color:var(--muted); margin-top:4px; }
  .etym .op{ font-size:clamp(20px,3vw,26px); color:var(--gold); }
  .hero-sub{ position:relative; z-index:2; margin-top:30px; font-family:var(--display); font-style:italic;
    font-size:clamp(18px,2.6vw,24px); color:var(--gold-bright); letter-spacing:.02em; }
  .scrollcue{ position:absolute; bottom:34px; left:50%; transform:translateX(-50%);
    display:flex; flex-direction:column; align-items:center; gap:8px; color:var(--muted); }
  .scrollcue .ln{ width:1px; height:42px; background:linear-gradient(var(--gold),transparent);
    animation:drop 2.4s ease-in-out infinite; }
  .scrollcue span{ font-size:10px; letter-spacing:.3em; text-transform:uppercase; }
  @keyframes drop{ 0%,100%{ opacity:.3; transform:scaleY(.6); transform-origin:top; }
    50%{ opacity:1; transform:scaleY(1); } }

  /* sections */
  .section{ padding:clamp(26px,4vh,42px) 0; position:relative; scroll-margin-top:84px; }
  .eyebrow{ display:flex; align-items:center; gap:16px; margin-bottom:40px; }
  .eyebrow .rn{ font-family:var(--display); font-style:italic; font-size:30px; color:var(--gold); line-height:1; }
  .eyebrow .lbl{ font-size:12px; letter-spacing:.34em; text-transform:uppercase; color:var(--muted); }
  .eyebrow .bar{ flex:1; height:1px; background:var(--gold-dim); }

  .lede{ font-family:var(--display); font-size:clamp(26px,4vw,40px); line-height:1.32;
    color:var(--cream); font-weight:400; max-width:none; margin:0 0 34px; text-align:left; }
  .lede em{ font-style:italic; color:var(--gold); }
  .prose{ max-width:none; margin:0; text-align:justify; }
  .prose p{ font-size:clamp(16px,1.5vw,18px); color:var(--body); margin-bottom:22px; }
  .prose p .hi{ color:var(--cream); }
  .prose em{ color:var(--gold-bright); font-style:italic; }
  .pull{ font-family:var(--display); font-style:italic; font-size:clamp(24px,3.4vw,34px);
    color:var(--gold); margin:18px 0 0; text-align:left; max-width:none; }

  /* author */
  .author-grid{ display:block; text-align:left; }
  @media(max-width:760px){ .author-grid{ grid-template-columns:1fr; } }
  .medallion{ width:128px; height:128px; border-radius:50%; flex:none;
    border:1px solid var(--gold-dim); display:flex; align-items:center; justify-content:center;
    background:radial-gradient(circle at 50% 35%, #16204a, #0b1020); position:relative; margin:0 auto 30px; }
  .medallion::before{ content:""; position:absolute; inset:8px; border-radius:50%; border:1px solid var(--gold-faint); }
  .medallion .mono{ font-family:var(--display); font-style:italic; font-size:46px; color:var(--gold); }
  .byline{ font-family:var(--display); font-size:clamp(22px,2.6vw,28px); color:var(--cream); margin-bottom:6px; }
  .byline b{ color:var(--gold); font-weight:600; font-style:italic; }

  /* timeline */
  .timeline{ margin:46px 0 8px; }
  .tl-label{ font-size:11px; letter-spacing:.28em; text-transform:uppercase; color:var(--muted); margin-bottom:22px; }
  .tl-track{ position:relative; display:flex; justify-content:space-between; gap:8px;
    padding-top:26px; }
  .tl-track::before{ content:""; position:absolute; top:31px; left:6px; right:6px; height:1px; background:var(--gold-dim); }
  .tl-item{ position:relative; flex:1; display:flex; flex-direction:column; align-items:center;
    text-align:center; cursor:default; }
  .tl-dot{ width:11px; height:11px; border-radius:50%; background:var(--ink); border:1px solid var(--gold);
    margin-bottom:14px; transition:transform .3s ease, background .3s ease, box-shadow .3s ease; z-index:1; }
  .tl-item.present .tl-dot{ background:var(--gold); box-shadow:0 0 0 4px rgba(201,168,106,0.16); }
  .tl-item:hover .tl-dot, .tl-item:focus-within .tl-dot{ transform:scale(1.45); background:var(--gold-bright); }
  .tl-co{ font-family:var(--display); font-size:clamp(15px,1.7vw,19px); color:var(--cream); line-height:1.2; }
  .tl-item:hover .tl-co{ color:var(--gold-bright); }
  .tl-when{ font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); margin-top:6px; }
  .tl-item.present .tl-when{ color:var(--gold); }

  /* honest note */
  .note{ margin:48px 0 0; max-width:none; padding:28px 30px; border:1px solid var(--gold-faint);
    background:linear-gradient(180deg, rgba(201,168,106,0.04), rgba(201,168,106,0)); border-radius:2px; position:relative; text-align:justify; }
  .note::before{ content:"A note, in good faith"; position:absolute; top:-10px; left:22px;
    background:var(--ink); padding:0 10px; font-size:10.5px; letter-spacing:.24em;
    text-transform:uppercase; color:var(--gold); }
  .note p{ font-size:16px; color:var(--body); }
  .note em{ color:var(--gold-bright); font-style:italic; }

  /* principles */
  .vision{ font-family:var(--display); font-size:clamp(22px,3vw,32px); line-height:1.38;
    color:var(--cream); max-width:none; margin:0 0 54px; text-align:left; }
  .vision .small{ display:block; font-family:var(--sans); font-size:15px; color:var(--muted);
    line-height:1.6; margin:18px 0 0; max-width:none; }
  .cards{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
  @media(max-width:720px){ .cards{ grid-template-columns:1fr; } }
  .card{ border:1px solid var(--gold-faint); border-radius:2px; padding:30px 28px 32px;
    background:linear-gradient(180deg, rgba(255,255,255,0.018), rgba(255,255,255,0));
    transition:transform .4s cubic-bezier(.2,.7,.2,1), border-color .4s, background .4s; position:relative; overflow:hidden; }
  .card::after{ content:""; position:absolute; left:0; top:0; height:2px; width:0;
    background:linear-gradient(90deg,var(--gold),var(--gold-bright)); transition:width .5s ease; }
  .card:hover{ transform:translateY(-6px); border-color:var(--gold-dim);
    background:linear-gradient(180deg, rgba(201,168,106,0.05), rgba(255,255,255,0)); }
  .card:hover::after{ width:100%; }
  .card .ic{ width:46px; height:46px; margin-bottom:20px; color:var(--gold); }
  .card .ic path, .card .ic line, .card .ic circle, .card .ic polyline{
    stroke-dasharray:240; stroke-dashoffset:240; }
  .card.shown .ic path, .card.shown .ic line, .card.shown .ic circle, .card.shown .ic polyline{
    animation:draw 1.1s ease forwards; }
  @keyframes draw{ to{ stroke-dashoffset:0; } }
  .card h3{ font-family:var(--display); font-size:clamp(22px,2.4vw,27px); color:var(--cream);
    font-weight:600; margin-bottom:10px; }
  .card h3 em{ color:var(--gold); font-style:italic; font-weight:500; }
  .card p{ font-size:15.5px; color:var(--body); line-height:1.6; }

  /* footer */
  .foot{ border-top:1px solid var(--gold-faint); padding:64px 0 50px; text-align:center; }
  .foot .mark{ font-family:var(--display); font-style:italic; font-size:clamp(24px,4vw,34px);
    color:var(--gold); margin-bottom:10px; }
  .foot .mark b{ font-style:normal; font-weight:500; color:var(--cream); }
  .foot .origin{ font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); }
  .foot .cta{ margin-top:34px; }
  .foot .subbtn{ font-family:var(--sans); font-size:13px; letter-spacing:.16em; text-transform:uppercase;
    color:var(--ink); background:var(--gold); border:none; padding:14px 30px; border-radius:1px; cursor:pointer;
    transition:background .3s, transform .3s; }
  .foot .subbtn:hover{ background:var(--gold-bright); transform:translateY(-2px); }
  .foot .note2{ font-size:13px; color:var(--gold-bright); margin-top:16px; height:18px; opacity:0; transition:opacity .4s; }
  .foot .note2.show{ opacity:1; }
  .handles{ margin-top:40px; display:flex; justify-content:center; gap:28px; align-items:center; }
  .handles a{ font-size:13px; letter-spacing:.06em; color:var(--body); transition:color .3s; }
  .handles a:hover{ color:var(--gold-bright); }
  .handles .h-lbl{ color:var(--muted); letter-spacing:.18em; text-transform:uppercase; font-size:11px; margin-right:7px; }
  .handles .sep{ color:var(--gold-faint); }

  /* reveal */
  .js-anim .reveal{ opacity:0; transform:translateY(26px); transition:opacity .9s ease, transform .9s cubic-bezier(.2,.7,.2,1); }
  .js-anim .reveal.shown{ opacity:1; transform:none; }
  .reveal.d1{ transition-delay:.08s; } .reveal.d2{ transition-delay:.16s; }
  .reveal.d3{ transition-delay:.24s; } .reveal.d4{ transition-delay:.32s; }

  /* hero load sequence */
  .hl{ opacity:0; transform:translateY(18px); animation:rise .9s ease forwards; }
  .hl.s1{ animation-delay:.15s; } .hl.s2{ animation-delay:.45s; }
  .hl.s3{ animation-delay:.9s; } .hl.s4{ animation-delay:1.25s; } .hl.s5{ animation-delay:1.6s; }
  @keyframes rise{ to{ opacity:1; transform:none; } }

  :focus-visible{ outline:2px solid var(--gold); outline-offset:3px; }

  @media(prefers-reduced-motion:reduce){
    html{ scroll-behavior:auto; }
    *{ animation:none !important; transition:none !important; }
    .reveal{ opacity:1; transform:none; }
    .hl{ opacity:1; transform:none; }
    .card .ic path,.card .ic line,.card .ic circle,.card .ic polyline{ stroke-dashoffset:0; }
  }


/* ============ multi-page + components ============ */



.brand{ cursor:pointer; }
.menu-toggle{ display:none; background:none; border:none; color:var(--cream); font-size:22px; cursor:pointer; line-height:1; }

/* buttons */
.btns{ display:flex; flex-wrap:wrap; gap:16px; margin-top:38px; }
.btn{ font-family:var(--sans); font-size:14px; letter-spacing:.03em; padding:14px 32px;
  border-radius:40px; cursor:pointer; border:1px solid var(--gold); transition:.3s; display:inline-block; }
.btn-solid{ background:var(--gold); color:var(--ink); }
.btn-solid:hover{ background:var(--gold-bright); border-color:var(--gold-bright); transform:translateY(-2px); }
.btn-ghost{ background:transparent; color:var(--gold); }
.btn-ghost:hover{ background:rgba(201,168,106,.1); transform:translateY(-2px); }

/* home hero */
.hhero{ position:relative; min-height:90vh; display:flex; align-items:center; padding:120px 0 90px; overflow:hidden; }
.hhero .astro{ opacity:.30; }
.hhero .inner{ position:relative; z-index:2; }
.heyebrow{ font-size:12.5px; letter-spacing:.34em; text-transform:uppercase; color:var(--gold); margin-bottom:24px; }
.hhero h1{ font-family:var(--display); font-weight:600; color:var(--cream);
  font-size:clamp(44px,8vw,92px); line-height:1.0; margin:0 0 26px; max-width:15ch; }
.hhero .lead2{ font-size:clamp(17px,1.9vw,21px); color:var(--body); max-width:62ch; line-height:1.6; }

/* generic page header */
.phead{ padding:150px 0 8px; }
.phead h1{ font-family:var(--display); font-weight:600; color:var(--cream);
  font-size:clamp(40px,7vw,76px); line-height:1.02; margin:14px 0 18px; }
.phead h1 em{ font-style:italic; color:var(--gold); }
.phead .intro{ font-size:clamp(16px,1.7vw,19px); color:var(--body); max-width:66ch; line-height:1.6; }

.section-block{ padding:64px 0; }
.shead{ font-family:var(--display); font-weight:600; color:var(--cream); font-size:clamp(28px,4vw,42px); margin:0 0 36px; }

/* article cards */
.acards{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
@media(max-width:860px){ .acards{ grid-template-columns:1fr; } }
.acard{ display:block; border:1px solid var(--gold-faint); border-radius:8px; padding:30px 28px;
  background:var(--ink2); transition:transform .4s cubic-bezier(.2,.7,.2,1), border-color .4s, box-shadow .4s; cursor:pointer; }
.acard:hover{ transform:translateY(-6px); border-color:var(--gold-dim); box-shadow:0 26px 56px -30px rgba(0,0,0,.85); }
.acard .cat{ font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); margin-bottom:14px; display:block; }
.acard h3{ font-family:var(--display); font-weight:600; color:var(--cream); font-size:clamp(20px,2.1vw,25px); line-height:1.2; margin-bottom:14px; }
.acard p{ font-size:15px; color:var(--body); line-height:1.62; margin-bottom:22px; }
.acard .date{ font-size:12.5px; color:var(--muted); letter-spacing:.04em; }

/* category cards */
.catgrid{ display:grid; grid-template-columns:repeat(5,1fr); gap:18px; }
@media(max-width:980px){ .catgrid{ grid-template-columns:repeat(3,1fr); } }
@media(max-width:600px){ .catgrid{ grid-template-columns:repeat(2,1fr); } }
.catcard{ border:1px solid var(--gold-faint); border-radius:8px; padding:32px 16px; background:var(--ink2);
  text-align:center; cursor:pointer; transition:transform .4s, border-color .4s; }
.catcard:hover{ transform:translateY(-6px); border-color:var(--gold-dim); }
.catcard .ci{ width:56px; height:56px; border-radius:50%; border:1px solid var(--gold-dim);
  display:flex; align-items:center; justify-content:center; margin:0 auto 18px; color:var(--gold); }
.catcard .ci svg{ width:24px; height:24px; }
.catcard h4{ font-family:var(--display); font-weight:600; color:var(--cream); font-size:19px; margin-bottom:6px; }
.catcard .cnt{ font-size:12px; color:var(--muted); letter-spacing:.05em; }

/* join / newsletter */
.join{ border:1px solid var(--gold-faint); border-radius:12px; padding:clamp(44px,6vw,76px) 30px;
  background:radial-gradient(120% 150% at 50% 0%, rgba(201,168,106,.07), rgba(255,255,255,0)); text-align:center; }
.join h2{ font-family:var(--display); font-weight:600; color:var(--cream); font-size:clamp(30px,5vw,48px); margin-bottom:14px; }
.join p{ color:var(--body); max-width:48ch; margin:0 auto 30px; }
.signup{ display:flex; gap:12px; max-width:540px; margin:0 auto; flex-wrap:wrap; justify-content:center; }
.signup input{ flex:1; min-width:240px; background:rgba(255,255,255,.04); border:1px solid var(--gold-faint);
  border-radius:40px; padding:14px 22px; color:var(--cream); font-family:var(--sans); font-size:15px; }
.signup input::placeholder{ color:var(--muted); }
.signup input:focus{ outline:none; border-color:var(--gold-dim); }
.formnote{ margin-top:16px; font-size:13.5px; color:var(--gold-bright); opacity:0; transition:.4s; min-height:18px; }
.formnote.show{ opacity:1; }

/* filter chips */
.chips{ display:flex; flex-wrap:wrap; gap:12px; margin:6px 0 44px; }
.chip{ font-family:var(--sans); font-size:13px; letter-spacing:.03em; padding:9px 20px; border-radius:40px;
  border:1px solid var(--gold-faint); color:var(--body); background:transparent; cursor:pointer; transition:.3s; }
.chip:hover{ border-color:var(--gold-dim); color:var(--cream); }
.chip.on{ background:var(--gold); color:var(--ink); border-color:var(--gold); }

/* contact */
.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:52px; margin-top:24px; }
@media(max-width:760px){ .contact-grid{ grid-template-columns:1fr; gap:36px; } }
.cmethods{ display:flex; flex-direction:column; gap:24px; }
.cmethod .k{ font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); margin-bottom:6px; }
.cmethod .v{ font-family:var(--display); font-size:21px; color:var(--gold-bright); }
.cform{ display:flex; flex-direction:column; gap:14px; }
.cform input, .cform textarea{ background:rgba(255,255,255,.04); border:1px solid var(--gold-faint);
  border-radius:8px; padding:14px 16px; color:var(--cream); font-family:var(--sans); font-size:15px; }
.cform textarea{ min-height:140px; resize:vertical; }
.cform input:focus, .cform textarea:focus{ outline:none; border-color:var(--gold-dim); }
.cform .btn{ align-self:flex-start; border:none; }

/* subscribe tiers */
.tiers{ display:grid; grid-template-columns:1fr 1fr; gap:22px; margin:18px 0 54px; }
@media(max-width:760px){ .tiers{ grid-template-columns:1fr; } }
.tiers.tiers-single{ grid-template-columns:minmax(0,460px); justify-content:center; }
.tier{ border:1px solid var(--gold-faint); border-radius:12px; padding:38px 34px; background:var(--ink2); }
.tier.featured{ border-color:var(--gold-dim); background:radial-gradient(130% 150% at 50% 0%, rgba(201,168,106,.08), rgba(255,255,255,0)); }
.tier .tname{ font-family:var(--display); font-size:25px; color:var(--gold-bright); margin-bottom:4px; }
.tier .tprice{ font-family:var(--display); font-size:36px; color:var(--cream); margin-bottom:20px; }
.tier .tprice span{ font-size:14px; color:var(--muted); font-family:var(--sans); }
.tier ul{ list-style:none; margin:0 0 28px; padding:0; }
.tier li{ font-size:15px; color:var(--body); padding:9px 0 9px 24px; position:relative; line-height:1.5; }
.tier li::before{ content:""; position:absolute; left:0; top:15px; width:7px; height:7px; background:var(--gold); transform:rotate(45deg); }

/* footer */
.site-foot{ border-top:1px solid var(--gold-faint); margin-top:30px; padding:66px 0 40px; }
.foot-top{ display:grid; grid-template-columns:1.7fr 1fr 1fr 1fr; gap:40px; }
@media(max-width:760px){ .foot-top{ grid-template-columns:1fr 1fr; gap:30px; } }
.foot-brand .fb{ font-family:var(--display); font-size:24px; letter-spacing:.12em; text-transform:uppercase; color:var(--cream); }
.foot-brand .fb span{ color:var(--gold); }
.foot-brand p{ font-size:14px; color:var(--muted); max-width:36ch; margin-top:14px; line-height:1.6; }
.fcol h5{ font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin-bottom:16px; }
.fcol a{ display:block; font-size:14px; color:var(--body); margin-bottom:11px; cursor:pointer; transition:.3s; }
.fcol a:hover{ color:var(--gold-bright); }
.foot-bot{ margin-top:50px; padding-top:24px; border-top:1px solid rgba(255,255,255,.06);
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px; font-size:12.5px; color:var(--muted); }
.foot-bot .social a{ color:var(--body); margin-left:20px; cursor:pointer; transition:.3s; }
.foot-bot .social a:hover{ color:var(--gold-bright); }

/* mobile menu */
@media(max-width:680px){
  .menu-toggle{ display:block; z-index:160; }
  .navlinks{ position:fixed; inset:0 0 0 auto; width:min(80vw,320px); height:100vh; background:#0b0f1d;
    flex-direction:column; align-items:flex-start; justify-content:center; gap:26px; padding:48px 40px;
    transform:translateX(100%); transition:transform .4s ease; border-left:1px solid var(--gold-faint); }
  .navlinks.open{ transform:none; }
  .navlinks .lk{ display:block; font-size:17px; color:var(--cream); }
  .navlinks .sub{ display:inline-block; }
}

/* ---- WordPress integration ---- */
.navlinks ul{ list-style:none; margin:0; padding:0; display:contents; }
.navlinks li{ display:contents; }
.navlinks .current-menu-item > a{ color:var(--cream); }
.navlinks .current-menu-item > a::after{ width:100%; }
.site-main{ position:relative; z-index:1; }
.article-body{ font-size:17px; color:var(--body); }
.article-body p{ margin-bottom:1.1em; line-height:1.8; }
.article-body h2,.article-body h3,.article-body h4{ font-family:var(--display); color:var(--gold-bright); font-weight:600; margin:1.3em 0 .5em; line-height:1.2; }
.article-body h2{ font-size:1.7em; } .article-body h3{ font-size:1.4em; }
.article-body a{ color:var(--cream); text-decoration:underline; }
.article-body em{ color:var(--cream); font-style:italic; }
.article-body strong{ font-weight:700; }
.article-body ul,.article-body ol{ margin:0 0 1.1em 1.4em; }
.article-body li{ margin-bottom:.5em; }
.article-body img{ max-width:100%; height:auto; border-radius:8px; margin:1em 0; }
.article-body blockquote{ border-left:2px solid var(--gold-dim); margin:1.2em 0; padding-left:22px; font-family:var(--display); font-style:italic; color:var(--gold-bright); font-size:1.2em; }
.navigation.pagination{ margin-top:48px; }
.pagination .page-numbers{ display:inline-block; color:var(--body); border:1px solid var(--gold-faint); padding:8px 14px; border-radius:6px; margin:0 6px 8px 0; text-decoration:none; }
.pagination .current{ background:var(--gold); color:var(--ink); border-color:var(--gold); }
.pagination a.page-numbers:hover{ border-color:var(--gold-dim); color:var(--cream); }
.foot-top{ grid-template-columns:1.6fr 1fr 1fr 1fr 1fr; }
@media(max-width:760px){ .foot-top{ grid-template-columns:1fr 1fr; } }

/* ============ Nitikos update — search, socials, subscribe, register ============ */

/* nav search */
.navsearch{ display:flex; align-items:center; gap:8px; border:1px solid var(--gold-faint); border-radius:40px; padding:6px 14px; background:rgba(255,255,255,.03); transition:border-color .3s; }
.navsearch:focus-within{ border-color:var(--gold-dim); }
.navsearch button{ background:none; border:none; padding:0; display:flex; cursor:pointer; color:var(--muted); }
.navsearch svg{ width:15px; height:15px; flex:none; }
.navsearch input{ background:transparent; border:none; outline:none; color:var(--cream); font-family:var(--sans); font-size:12.5px; width:120px; }
.navsearch input::placeholder{ color:var(--muted); }
@media(max-width:900px){ .navsearch{ display:none; } }

/* articles page search */
.searchbar{ display:flex; align-items:center; gap:10px; border:1px solid var(--gold-faint); border-radius:40px; padding:12px 20px; max-width:520px; margin:0 0 26px; background:rgba(255,255,255,.03); }
.searchbar:focus-within{ border-color:var(--gold-dim); }
.searchbar button{ background:none; border:none; padding:0; display:flex; cursor:pointer; color:var(--muted); }
.searchbar svg{ width:18px; height:18px; flex:none; }
.searchbar input{ flex:1; background:transparent; border:none; outline:none; color:var(--cream); font-family:var(--sans); font-size:15px; }
.searchbar input::placeholder{ color:var(--muted); }

/* category grid — six directions */
.catgrid{ grid-template-columns:repeat(3,1fr); }
@media(max-width:760px){ .catgrid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:460px){ .catgrid{ grid-template-columns:1fr; } }

/* contact: intellectual intro + social logos */
.cintro{ font-family:var(--display); font-size:clamp(19px,2.2vw,24px); color:var(--cream); line-height:1.45; margin:30px 0 0; font-style:italic; }
.iglink{ display:inline-flex; align-items:center; gap:10px; color:var(--gold-bright); }
.iglink svg{ width:24px; height:24px; }
.iglink:hover{ color:var(--gold); }

/* subscribe controls */
.subcontrols{ display:flex; flex-wrap:wrap; align-items:center; gap:20px; margin:6px 0 30px; }
.toggle{ display:inline-flex; border:1px solid var(--gold-faint); border-radius:40px; padding:4px; }
.toggle button{ font-family:var(--sans); font-size:13px; letter-spacing:.04em; padding:9px 20px; border-radius:40px; border:none; background:transparent; color:var(--body); cursor:pointer; transition:.3s; }
.toggle button.on{ background:var(--gold); color:var(--ink); }
.ctrl-label{ font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); margin-right:4px; }
.savepill{ font-size:12px; color:var(--gold-bright); border:1px solid var(--gold-dim); border-radius:40px; padding:6px 14px; }
.tier{ position:relative; }
.tier .ribbon{ position:absolute; top:-11px; right:26px; font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--ink); background:var(--gold); padding:5px 12px; border-radius:40px; }
.tier .tconv{ font-size:12.5px; color:var(--muted); margin:-12px 0 22px; min-height:16px; }
.tier .btn{ width:100%; text-align:center; }
.subfoot{ text-align:center; color:var(--muted); font-size:14px; max-width:60ch; margin:0 auto; line-height:1.6; }

/* account / register form */
.account{ max-width:560px; margin:0 auto; text-align:left; }
.account .row{ display:flex; gap:14px; }
@media(max-width:520px){ .account .row{ flex-direction:column; gap:0; } }
.account .field{ margin-bottom:14px; flex:1; }
.account label{ display:block; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); margin-bottom:7px; }
.account input{ width:100%; background:rgba(255,255,255,.04); border:1px solid var(--gold-faint); border-radius:8px; padding:14px 16px; color:var(--cream); font-family:var(--sans); font-size:15px; }
.account input:focus{ outline:none; border-color:var(--gold-dim); }
.account .btn{ width:100%; text-align:center; border:none; margin-top:6px; cursor:pointer; }
.account .fineprint{ font-size:12.5px; color:var(--muted); margin-top:14px; line-height:1.5; text-align:center; }
.formerror{ border:1px solid rgba(201,168,106,.4); background:rgba(201,168,106,.06); color:var(--gold-bright); border-radius:8px; padding:12px 16px; margin-bottom:18px; font-size:14px; }

/* social logos in footer */
.foot-bot .social{ display:flex; align-items:center; gap:18px; }
.foot-bot .social a{ display:inline-flex; align-items:center; }
.foot-bot .social svg{ width:18px; height:18px; }

/* ============ Nitikos v1.2 — brand consistency + mobile menu polish ============ */

/* Niti (white) + kos (gold) in headings, matching the logo */
.shead .kos, .phead h1 .kos { color: var(--gold); }

/* Offset the fixed nav (and mobile panel) below the WordPress admin bar — only affects logged-in admins */
@media screen and (min-width:783px){ body.admin-bar .nav{ top:32px; } }
@media screen and (max-width:782px){
  body.admin-bar .nav{ top:46px; }
  body.admin-bar .navlinks{ top:46px; height:calc(100vh - 46px); }
}

/* Mobile menu: top-aligned links, in-panel search, no dead space at top */
@media (max-width:680px){
  .navlinks{ justify-content:flex-start; padding-top:100px; }
  .navlinks .navsearch{ display:flex; width:100%; }
  .navlinks .navsearch input{ width:100%; }
}

/* Dimming backdrop behind the open mobile menu + lock background scroll */
.nav-backdrop{ position:fixed; inset:0; background:rgba(6,9,18,.55); opacity:0; visibility:hidden; transition:opacity .35s ease; z-index:140; }
.nav-backdrop.show{ opacity:1; visibility:visible; }
body.menu-open{ overflow:hidden; }

/* ============ Nitikos v1.3 — legal page + confirmed iPhone menu fix ============ */

/* Terms / legal content, styled to match the site */
.legal{ max-width:760px; }
.legal .legal-updated{ font-size:13px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-bright); margin-bottom:10px; }
.legal .lead{ font-family:var(--display); font-style:italic; font-size:clamp(20px,2.4vw,26px); color:var(--cream); line-height:1.45; margin:0 0 26px; }
.legal h2{ font-family:var(--display); font-weight:600; color:var(--gold-bright); font-size:clamp(22px,2.6vw,28px); line-height:1.2; margin:40px 0 14px; padding-top:24px; border-top:1px solid var(--gold-faint); }
.legal h2:first-of-type{ border-top:none; padding-top:0; margin-top:6px; }
.legal p{ font-size:16px; color:var(--body); line-height:1.72; margin:0 0 16px; }
.legal ul{ list-style:none; margin:4px 0 18px; padding:0; }
.legal li{ font-size:16px; color:var(--body); line-height:1.62; padding:8px 0 8px 26px; position:relative; }
.legal li::before{ content:""; position:absolute; left:2px; top:15px; width:6px; height:6px; background:var(--gold); transform:rotate(45deg); }
.legal a{ color:var(--gold-bright); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; }
.legal a:hover{ color:var(--gold); }
.legal strong{ color:var(--cream); font-weight:600; }
.legal em{ color:var(--gold-bright); font-style:italic; }

/* Confirmed fix: stop the mobile menu button needing two taps on touch devices */
@media (hover: none){
  .menu-toggle:hover{ background:transparent; color:var(--cream); }
}

/* ============ Nitikos v1.4 — Kit signup + Premium "coming soon" ============ */
.tier .ribbon-soon{ background:var(--muted); color:var(--ink); }
.btn-soon{ opacity:.55; cursor:not-allowed; pointer-events:none; }
.tier .soon-help{ font-size:12.5px; color:var(--muted); margin-top:12px; line-height:1.5; }
.tier .signup{ margin-top:18px; display:flex; gap:10px; flex-wrap:wrap; }
.tier .signup input[type="email"]{ flex:1 1 180px; }

/* ---- Floating subscribe button (v2.2) ---- */
.nk-fab-sub{
  position:fixed; right:22px; bottom:22px; z-index:120;
  display:inline-flex; align-items:center; gap:8px;
  background:linear-gradient(90deg,var(--gold),var(--gold-bright));
  color:#1a1205; text-decoration:none; border:none; cursor:pointer;
  font-family:var(--sans); font-size:14px; font-weight:600; letter-spacing:.01em;
  padding:12px 18px; border-radius:999px;
  box-shadow:0 10px 30px -8px rgba(0,0,0,.55), 0 2px 6px rgba(0,0,0,.3);
  transition:transform .16s ease, box-shadow .16s ease, filter .16s ease;
}
.nk-fab-sub svg{ width:18px; height:18px; display:block; }
.nk-fab-sub:hover{ transform:translateY(-2px); filter:brightness(1.05);
  box-shadow:0 16px 40px -8px rgba(0,0,0,.62), 0 3px 8px rgba(0,0,0,.32); }
.nk-fab-sub:active{ transform:translateY(0) scale(.97); }
.nk-fab-sub:focus-visible{ outline:2px solid var(--gold-bright); outline-offset:3px; }
@media (max-width:600px){
  .nk-fab-sub{ right:14px; bottom:14px; padding:11px 15px; font-size:13px; }
  .nk-fab-sub svg{ width:16px; height:16px; }
}
@media (prefers-reduced-motion: reduce){
  .nk-fab-sub{ transition:none; }
  .nk-fab-sub:hover{ transform:none; }
}

/* ---- Subscribe popup modal (v2.3) ---- */
.nk-modal[hidden]{ display:none; }
.nk-modal{ position:fixed; inset:0; z-index:300; display:flex; align-items:center; justify-content:center; padding:20px; }
.nk-modal-backdrop{ position:absolute; inset:0; background:rgba(5,7,15,.66); -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px); }
.nk-modal-card{ position:relative; z-index:1; width:100%; max-width:400px;
  background:linear-gradient(180deg,#141a33,#0e1326);
  border:1px solid var(--gold-dim, rgba(201,168,106,.22)); border-radius:16px;
  padding:32px 28px 26px; box-shadow:0 30px 80px -20px rgba(0,0,0,.7);
  animation:nk-modal-in .18s ease; }
@keyframes nk-modal-in{ from{ opacity:0; transform:translateY(8px) scale(.98); } to{ opacity:1; transform:none; } }
.nk-modal-x{ position:absolute; top:10px; right:14px; background:none; border:none;
  color:var(--muted,#7c8294); font-size:26px; line-height:1; cursor:pointer; padding:4px 6px; }
.nk-modal-x:hover{ color:var(--cream,#f1ede1); }
.nk-modal-title{ font-family:var(--display,'Cormorant Garamond',serif); color:var(--cream,#f1ede1);
  font-size:28px; font-weight:600; margin:0 0 8px; line-height:1.1; }
.nk-modal-sub{ color:var(--body,#b7bcc9); font-size:15px; line-height:1.55; margin:0 0 20px; }
@media (prefers-reduced-motion: reduce){ .nk-modal-card{ animation:none; } }

/* ---- Share rows (v2.5) ---- */
.nk-share{ display:flex; align-items:center; gap:20px; }
.nk-share .nk-share-lbl{ font-family:var(--sans); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); }
.nk-share-icons{ display:flex; align-items:center; gap:18px; }
.nk-share a, .nk-share button{ background:none; border:none; padding:0; cursor:pointer; color:rgba(201,168,106,.55); display:inline-flex; align-items:center; transition:color .15s ease, transform .15s ease; }
.nk-share a:hover, .nk-share button:hover{ color:var(--gold-bright); transform:translateY(-1px); }
.nk-share svg{ width:18px; height:18px; display:block; }
.nk-share .nk-copied{ font-family:var(--sans); font-size:11px; color:var(--gold-bright); opacity:0; transition:opacity .2s ease; }
.nk-share .nk-copied.on{ opacity:1; }
/* bottom: full bordered row, label left, icons right */
.nk-share-bottom{ border-top:1px solid var(--gold-dim); border-bottom:1px solid var(--gold-dim); padding:14px 2px; margin:44px 0 8px; }
.nk-share-bottom .nk-share-icons{ margin-left:auto; }
/* top: light utility, no label/borders, smaller + dimmer, left-aligned */
.nk-share-top{ border:none; padding:0; margin:16px 0 0; gap:0; }
.nk-share-top .nk-share-lbl{ display:none; }
.nk-share-top .nk-share-icons{ margin-left:0; gap:16px; }
.nk-share-top svg{ width:16px; height:16px; }
.nk-share-top a, .nk-share-top button{ color:rgba(201,168,106,.42); }

/* ---- Homepage testimonials (v2.8) ---- */
.nk-testi-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(300px, 460px)); justify-content:center; gap:20px; }
.nk-testi-card{ margin:0; border:1px solid var(--gold-faint); border-radius:12px; padding:24px 28px 22px; text-align:left;
  background:radial-gradient(130% 150% at 50% 0%, rgba(201,168,106,.05), rgba(255,255,255,0)); }
.nk-testi-card .mark{ font-family:var(--display); font-size:44px; line-height:.85; color:var(--gold); opacity:.4; }
.nk-testi-card blockquote{ font-family:var(--display); font-style:italic; font-size:17px; line-height:1.55; color:var(--cream); margin:2px 0 16px; }
.nk-testi-card .by{ display:flex; flex-direction:column; gap:2px; }
.nk-testi-card .by .n{ font-family:var(--sans); font-size:14px; font-weight:600; color:var(--gold-bright); letter-spacing:.02em; }
.nk-testi-card .by .r{ font-family:var(--sans); font-size:12px; color:var(--muted); line-height:1.4; }

/* ---- Tighter homepage section spacing (v2.9) ---- */
body.home .section-block{ padding:40px 0; }
body.home .shead{ margin-bottom:28px; }
