/*
Theme Name: Sharam Kohan
Theme URI: https://sharamkohan.com/
Author: Sharam Kohan
Description: A single-page index of the books, papers, and shorter writings of Sharam Kohan. Purpose-built, no page builder, no framework, no build step.
Version: 1.2.0
Requires at least: 6.0
Tested up to: 6.8
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: sharamkohan
*/


/* ── Typefaces, served from this domain ───────────────────────────────
 *
 * Newsreader and Archivo, both under the SIL Open Font License 1.1, whose
 * text sits beside the files in assets/fonts/. These are variable fonts:
 * three files cover every weight the site uses. Nothing is fetched from
 * Google, so loading this page makes no request outside this domain.
 * ──────────────────────────────────────────────────────────────────── */

@font-face{
  font-family:'Newsreader';
  font-style:normal;
  font-display:swap;
  font-weight:200 800;
  src:url('assets/fonts/newsreader-latin-wght-normal.woff2') format('woff2-variations');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Newsreader';
  font-style:italic;
  font-display:swap;
  font-weight:200 800;
  src:url('assets/fonts/newsreader-latin-wght-italic.woff2') format('woff2-variations');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Archivo';
  font-style:normal;
  font-display:swap;
  font-weight:100 900;
  src:url('assets/fonts/archivo-latin-wght-normal.woff2') format('woff2-variations');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

:root{
  --ink:#24305E;
  --on-ink:#F5F7FB;
  --on-ink-mute:#B9C2DE;
  --ground:#F7F9FC;
  --card:#FFFFFF;
  --body:#2A3242;
  --muted:#5C6678;
  --rule:#DFE4EE;
  --rule-strong:#C4CBDC;
  --accent:#374785;
  --accent-deep:#26325F;
  --highlight:#F76C6C;
  --heading:#1E2436;
  --serif:'Newsreader',Georgia,'Times New Roman',serif;
  --ui:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;
  --max:920px;
}

*{box-sizing:border-box;}
html{font-size:18px;-webkit-text-size-adjust:100%;}
body{
  margin:0;background:var(--ground);color:var(--body);
  font-family:var(--serif);font-weight:400;line-height:1.6;
  font-optical-sizing:auto;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
.wrap{max-width:var(--max);margin:0 auto;padding:0 1.8rem;}
a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}
.skip{position:absolute;left:-9999px;background:var(--card);color:var(--ink);
  padding:.7rem 1rem;font-family:var(--ui);font-size:.8rem;z-index:60;}
.skip:focus{left:.7rem;top:.7rem;}

/* ── Masthead ─────────────────────────────────── */
.masthead{background:#FFFFFF;color:var(--heading);border-bottom:3px solid var(--highlight);}
.masthead__inner{
  display:grid;grid-template-columns:132px 1fr;gap:1.8rem;align-items:center;
  padding:2.4rem 0;
}
.portrait{width:132px;height:132px;object-fit:cover;display:block;filter:saturate(.92);}
.masthead__name{
  font-weight:400;font-size:clamp(2.2rem,4.4vw,3.1rem);line-height:1.02;
  letter-spacing:-.024em;color:var(--heading);margin:0 0 .9rem;
}
.masthead__rule{width:64px;height:2px;background:var(--highlight);}
.masthead__name a{color:inherit;text-decoration:none;}
.masthead__name a:hover{color:var(--accent);}
.masthead__portrait{display:block;}

/* ── Two columns ──────────────────────────────── */
.columns{
  display:grid;grid-template-columns:1.3fr 1fr;gap:0 2.6rem;
  padding:2.4rem 0 2.8rem;align-items:start;
}
.colhead{
  display:flex;align-items:baseline;gap:.85rem;
  padding-bottom:.6rem;margin-bottom:.2rem;border-bottom:2px solid var(--accent);
}
.colhead__num{font-family:var(--serif);font-size:1.05rem;font-weight:400;color:var(--accent);}
.colhead__title{
  font-family:var(--ui);font-size:.75rem;font-weight:600;letter-spacing:.19em;
  text-transform:uppercase;color:var(--heading);margin:0;
}
.colhead__count{
  margin-left:auto;font-family:var(--ui);font-size:.66rem;font-weight:500;
  letter-spacing:.19em;text-transform:uppercase;color:var(--muted);
}

/* ── Books, stacked in the left column ────────── */
.book{
  display:grid;grid-template-columns:88px 1fr;gap:1.15rem;
  padding:1.35rem .9rem 1.4rem;margin:0 -.9rem;
  border-bottom:1px solid var(--rule);
  transition:background 180ms ease;
}
.book:last-child{border-bottom:0;}
.book:hover{background:var(--card);}
.book__cover{
  width:88px;height:auto;display:block;align-self:start;margin-top:.2rem;
  box-shadow:0 1px 2px rgba(20,25,30,.10),0 8px 20px rgba(20,25,30,.15);
}
.book__title{
  font-weight:500;font-size:1.28rem;line-height:1.18;letter-spacing:-.016em;
  color:var(--heading);margin:0 0 .2rem;
}
.book__title a,.paper__title a{
  color:inherit;text-decoration:none;
  background-image:linear-gradient(var(--accent),var(--accent));
  background-size:0% 1px;background-repeat:no-repeat;background-position:0 100%;
  transition:background-size 220ms ease,color 160ms ease;
}
.book__title a:hover,.paper__title a:hover{color:var(--accent);background-size:100% 1px;}
.book__sub{
  font-style:italic;font-weight:300;font-size:.93rem;color:var(--muted);
  line-height:1.34;margin:0 0 .5rem;
}
.book__body{margin:0 0 .7rem;font-size:.92rem;line-height:1.52;}
.book__meta{
  font-family:var(--ui);font-size:.64rem;letter-spacing:.05em;color:var(--muted);
  margin:0;line-height:1.7;
}
.book__meta .yr{font-weight:600;letter-spacing:.13em;color:var(--accent);}
.book__meta .yr::after{content:"  \00b7  ";color:var(--rule-strong);font-weight:400;}
.book__link{
  display:inline-block;margin-top:.5rem;white-space:nowrap;
  font-family:var(--ui);font-size:.64rem;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:var(--accent);text-decoration:none;
  border-bottom:1px solid var(--rule-strong);padding-bottom:2px;
  transition:border-color 160ms ease,color 160ms ease;
}
.book__link:hover{border-bottom-color:var(--accent);color:var(--accent-deep);}

/* ── Papers, stacked in the right column ──────── */
.paper{
  padding:1.05rem .9rem 1.15rem;margin:0 -.9rem;
  border-bottom:1px solid var(--rule);
  transition:background 180ms ease;
}
.paper:last-child{border-bottom:0;}
.paper:hover{background:var(--card);}
.paper__year{
  font-family:var(--ui);font-size:.64rem;font-weight:600;letter-spacing:.15em;
  color:var(--accent);margin:0 0 .25rem;
}
.paper__title{
  font-weight:500;font-size:1.08rem;line-height:1.24;letter-spacing:-.012em;
  color:var(--heading);margin:0 0 .2rem;
}
.paper__sub{
  font-style:italic;font-weight:300;font-size:.87rem;color:var(--muted);
  line-height:1.32;margin:0 0 .3rem;
}
.paper__body{margin:0 0 .35rem;font-size:.88rem;line-height:1.48;}
.paper__meta{
  font-family:var(--ui);font-size:.63rem;letter-spacing:.06em;color:var(--muted);margin:0;
}
.paper__meta a{color:var(--accent);text-decoration:none;border-bottom:1px solid var(--rule-strong);}
.paper__meta a:hover{border-bottom-color:var(--accent);}


/* ── Real pages: privacy policy, terms, disclaimer ────────────────── */
.page{padding:2.2rem 0 3rem;}
.page__back{
  font-family:var(--ui);font-size:.68rem;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;margin:0 0 1.6rem;
}
.page__back a{
  color:var(--accent);text-decoration:none;
  border-bottom:1px solid var(--rule-strong);padding-bottom:2px;
}
.page__back a:hover{border-bottom-color:var(--accent);color:var(--accent-deep);}
.page__title{
  font-weight:400;font-size:clamp(1.9rem,3.6vw,2.5rem);line-height:1.12;
  letter-spacing:-.02em;color:var(--heading);margin:0 0 .5rem;
  padding-bottom:.7rem;border-bottom:2px solid var(--accent);
}
.page__meta{
  font-family:var(--ui);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted);margin:0 0 1.9rem;
}
.page__pagination{font-family:var(--ui);font-size:.8rem;color:var(--muted);}

/* Prose inside a page */
.prose{max-width:68ch;font-size:1rem;line-height:1.72;}
.prose > :first-child{margin-top:0;}
.prose p{margin:0 0 1.15rem;}
.prose h2{
  font-weight:500;font-size:1.32rem;line-height:1.25;letter-spacing:-.012em;
  color:var(--heading);margin:2.2rem 0 .65rem;
}
.prose h3{
  font-weight:500;font-size:1.1rem;line-height:1.3;color:var(--heading);
  margin:1.8rem 0 .5rem;
}
.prose h4{
  font-family:var(--ui);font-size:.74rem;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted);margin:1.6rem 0 .5rem;
}
.prose a{color:var(--accent);text-decoration:none;border-bottom:1px solid var(--rule-strong);}
.prose a:hover{border-bottom-color:var(--accent);color:var(--accent-deep);}
.prose ul,.prose ol{margin:0 0 1.15rem;padding-left:1.3rem;}
.prose li{margin:0 0 .42rem;}
.prose li::marker{color:var(--muted);}
.prose blockquote{
  margin:1.5rem 0;padding:.15rem 0 .15rem 1.2rem;
  border-left:2px solid var(--accent);color:var(--muted);font-style:italic;
}
.prose hr{border:0;border-top:1px solid var(--rule);margin:2.2rem 0;}
.prose strong{font-weight:600;color:var(--heading);}
.prose code{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em;
  background:var(--card);border:1px solid var(--rule);padding:.08em .32em;
}
.prose img{max-width:100%;height:auto;}
.prose table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.94rem;}
.prose th{
  font-family:var(--ui);font-size:.68rem;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;text-align:left;color:var(--accent);
  padding:.65rem .9rem;border-bottom:2px solid var(--accent);
}
.prose td{padding:.65rem .9rem;border-bottom:1px solid var(--rule);vertical-align:top;}

/* ── Footer ───────────────────────────────────── */
.site-footer{background:#FFFFFF;color:var(--muted);border-top:1px solid var(--rule);}
.site-footer__inner{
  display:flex;align-items:baseline;justify-content:space-between;gap:.9rem 2rem;
  flex-wrap:wrap;padding:1.5rem 0 1.7rem;font-size:.88rem;font-weight:300;
}
.site-footer p{margin:0;}
.site-footer__links{display:flex;gap:1.5rem;flex-wrap:wrap;}
.site-footer__links a{
  font-family:var(--ui);font-size:.68rem;font-weight:500;letter-spacing:.12em;
  text-transform:uppercase;color:var(--accent);text-decoration:none;
  border-bottom:1px solid transparent;padding-bottom:2px;
}
.site-footer__links a:hover{border-bottom-color:var(--accent);color:var(--accent-deep);}
.site-footer__copy{color:var(--muted);}

@media (max-width:860px){
  .columns{grid-template-columns:1fr;gap:0;}
  .col--papers{margin-top:2.4rem;}
}
@media (max-width:560px){
  .page{padding:1.6rem 0 2.4rem;}
  .site-footer__inner{flex-direction:column;align-items:flex-start;}
  html{font-size:17px;}
  .wrap{padding:0 1.3rem;}
  .masthead__inner{grid-template-columns:1fr;gap:1.2rem;padding:1.9rem 0;}
  .portrait{width:118px;height:118px;}
  .book{grid-template-columns:76px 1fr;gap:1rem;}
  .book__cover{width:76px;}
}
@media (prefers-reduced-motion:reduce){*{transition:none !important;}}
