/* shanaskarian.com · shared stylesheet for subpages (design, awards, work, notes, 404)
   Source of truth for tokens: index.html <style>. Keep both in sync. */
:root{
  --paper:#F4F1EA; --paper-soft:#EDE9E0; --ink:#141414; --ink-dim:#6E6A62;
  --accent:#E8A33D; --dot:#F2B705; --dark:#12151A; --dark-ink:#EDE9E0;
  --line:#D8D3C8; --serif:'Fraunces',serif; --sans:'Inter',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:300;line-height:1.7;font-size:17px;overflow-x:hidden}
::selection{background:var(--dot);color:var(--ink)}
img{display:block;max-width:100%;height:auto}
.wrap{max-width:1240px;margin:0 auto;padding:0 40px}
.rv{opacity:0;transform:translateY(34px);transition:opacity .9s cubic-bezier(.2,.6,.2,1),transform .9s cubic-bezier(.2,.6,.2,1)}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.12s}.rv.d2{transition-delay:.24s}.rv.d3{transition-delay:.36s}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(244,241,234,.86);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
nav .wrap{display:flex;justify-content:space-between;align-items:center;height:72px}
.logo{font-family:var(--serif);font-size:22px;color:var(--ink);text-decoration:none;font-weight:400;white-space:nowrap}
.logo i{font-style:normal;display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--dot);margin-left:4px}
nav ul{display:flex;gap:36px;list-style:none;align-items:center}
nav ul a{position:relative;color:var(--ink);text-decoration:none;font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:400}
nav ul a::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;background:var(--ink);transition:width .3s}
nav ul a:hover::after,nav ul a[aria-current="page"]::after{width:100%}
.nav-cta{border:1.5px solid var(--ink);padding:10px 22px !important;transition:all .25s}
.nav-cta:hover{background:var(--ink);color:var(--paper) !important}
.nav-cta::after{display:none !important}
.menu-btn{display:none;background:none;border:0;cursor:pointer;padding:10px;margin-right:-10px}
.menu-btn span{display:block;width:24px;height:1.5px;background:var(--ink);margin:6px 0;transition:transform .3s,opacity .3s}
@media(max-width:900px){
  .menu-btn{display:block}
  nav ul{display:none;position:absolute;top:72px;left:0;right:0;flex-direction:column;align-items:flex-start;gap:0;background:var(--paper);border-bottom:1.5px solid var(--ink);padding:10px 40px 26px}
  nav ul li{width:100%}
  nav ul a{display:block;padding:16px 0;font-size:15px;border-bottom:1px solid var(--line)}
  nav ul a::after{display:none}
  .nav-cta{border:0;padding:16px 0 !important;margin-top:6px}
  .nav-cta:hover{background:transparent;color:var(--ink) !important}
  nav.open ul{display:flex}
  nav.open .menu-btn span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
  nav.open .menu-btn span:nth-child(2){opacity:0}
  nav.open .menu-btn span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
}

/* TYPE */
.sec-label{display:flex;align-items:center;gap:12px;font-size:12.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:28px}
.sec-label::before{content:"";width:34px;height:1.5px;background:var(--accent)}
h1.page{font-family:var(--serif);font-weight:300;font-size:clamp(42px,6.4vw,92px);line-height:1.04;letter-spacing:-.015em;max-width:16ch}
h1.page em{font-style:italic}
h1.page .dot{display:inline-block;width:.14em;height:.14em;border-radius:50%;background:var(--dot);margin-left:.06em}
h2{font-family:var(--serif);font-weight:300;font-size:clamp(32px,4.6vw,58px);line-height:1.14;letter-spacing:-.01em;max-width:22ch;margin-bottom:36px}
h2 em{font-style:italic}
h3.sub{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.25;margin-bottom:14px}
.lead{font-size:19px;color:#3d3a34;max-width:60ch}
.lead b{font-weight:500}
p.body{font-size:17.5px;color:#3d3a34;max-width:62ch;margin-bottom:22px}
.quiet{font-size:14px;color:var(--ink-dim)}
.btn{display:inline-block;padding:15px 34px;border:1.5px solid var(--ink);color:var(--ink);text-decoration:none;font-size:13.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;transition:all .25s;background:rgba(244,241,234,.55)}
.btn:hover{background:var(--ink);color:var(--paper);transform:translateY(-2px)}
.btn.solid{background:var(--ink);color:var(--paper)}
.btn.solid:hover{background:transparent;color:var(--ink)}
.coffee-link{display:inline-block;margin-top:18px;font-family:var(--serif);font-style:italic;font-size:21px;color:var(--ink);text-decoration:none;border-bottom:1.5px solid var(--dot);padding-bottom:2px;transition:all .25s}
.coffee-link:hover{background:rgba(242,183,5,.25)}
a.ext{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);transition:border-color .25s}
a.ext:hover{border-color:var(--ink)}
a.ext::after{content:" ↗";color:var(--accent);font-size:.85em}

/* PAGE HEAD */
.page-head{padding:170px 0 70px}
.page-head .lead{margin-top:34px}
.crumbs{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:30px}
.crumbs a{color:var(--ink-dim);text-decoration:none}
.crumbs a:hover{color:var(--ink)}
.crumbs i{font-style:normal;margin:0 10px;color:var(--accent)}
section.txt{padding:110px 0}
section.soft{background:var(--paper-soft)}
.rule{border:0;border-top:1.5px solid var(--ink);margin:0}

/* AWARD CHIPS */
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--ink);padding:7px 14px;font-size:12.5px;letter-spacing:.06em;color:var(--ink);text-decoration:none;background:var(--paper);transition:all .25s}
.chip:hover{background:var(--ink);color:var(--paper)}
.chip::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--dot)}
.chip.silver::before{background:#B9B6AE}
.chip.top::before{background:var(--accent)}
.chip b{font-weight:500}

/* OFFICIAL BADGES */
.badges{display:flex;flex-wrap:wrap;gap:16px;margin-top:22px;align-items:flex-start}
.badges a{display:block;line-height:0}
.badges img{height:112px;width:auto;display:block}
.badges.small{margin:0 0 18px}
.badges.small img{height:84px}
@media(max-width:900px){.badges img{height:88px}.badges.small img{height:68px}}

/* TALLY BAND (design hub + home) */
.tally{border-top:1.5px solid var(--ink);border-bottom:1px solid var(--line);padding:46px 0;background:var(--paper)}
.tally .row{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.tally .n{font-family:var(--serif);font-size:clamp(40px,5vw,66px);font-weight:300;line-height:1;letter-spacing:-.02em}
.tally .n span{color:var(--accent)}
.tally p{margin-top:10px;font-size:14px;color:var(--ink-dim);max-width:22ch}
@media(max-width:900px){.tally .row{grid-template-columns:repeat(2,1fr)}}

/* PROJECT GRID (hub) */
.projects{display:grid;grid-template-columns:repeat(2,1fr);gap:40px 36px;margin-top:70px}
.proj{text-decoration:none;color:var(--ink);display:block}
.proj .ph{position:relative;overflow:hidden;background:var(--paper-soft);aspect-ratio:4/3}
.proj .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.6,.2,1)}
.proj:hover .ph img{transform:scale(1.04)}
.proj .ph .badge{position:absolute;left:18px;top:18px;background:var(--paper);font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding:7px 12px;color:var(--ink)}
.proj .k{margin-top:22px;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-dim)}
.proj h3{font-family:var(--serif);font-weight:400;font-size:30px;line-height:1.15;margin:10px 0 10px}
.proj h3 em{font-style:italic}
.proj p{font-size:15px;color:var(--ink-dim);max-width:46ch}
.proj .aw{margin-top:14px;font-size:13px;color:var(--ink);line-height:1.7}
.proj .aw b{font-weight:500}
.proj.wide{grid-column:1/-1}
.proj.wide .ph{aspect-ratio:21/9}
.proj.pending .ph{display:flex;align-items:center;justify-content:center;border:1px dashed var(--line)}
.proj.pending .ph span{font-family:var(--serif);font-style:italic;color:var(--ink-dim);font-size:18px}
@media(max-width:900px){.projects{grid-template-columns:1fr}.proj.wide .ph{aspect-ratio:4/3}}

/* PROJECT PAGE */
.hero-img{margin-top:60px}
.hero-img img{width:100%;max-height:82vh;object-fit:cover}
.hero-img figcaption,.gallery figcaption{font-size:12.5px;color:#9b968b;margin-top:12px;letter-spacing:.02em}
.two{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:72px;align-items:start}
.facts{border-top:1.5px solid var(--ink);position:sticky;top:96px}
.facts dl{display:grid;grid-template-columns:auto 1fr;gap:0 18px}
.facts dt,.facts dd{padding:13px 0;border-bottom:1px solid var(--line);font-size:14px}
.facts dt{color:var(--ink-dim);letter-spacing:.04em;white-space:nowrap}
.facts dd{color:var(--ink)}
.facts dd a{color:var(--ink)}
.facts dd b{font-weight:500}
.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-top:70px}
.gallery figure{display:flex;flex-direction:column;min-width:0}
.gallery figure.wide{grid-column:1/-1}
.gallery img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:var(--paper-soft)}
.gallery figure.wide img{aspect-ratio:21/9;max-height:80vh}
.gallery figure.tall img{aspect-ratio:4/5}
.pn{display:grid;grid-template-columns:1fr 1fr;border-top:1.5px solid var(--ink)}
.pn a{padding:46px 40px;text-decoration:none;color:var(--ink);display:block;transition:background .25s}
.pn a:hover{background:var(--paper-soft)}
.pn a:last-child{text-align:right;border-left:1px solid var(--line)}
.pn .k{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-dim)}
.pn .t{font-family:var(--serif);font-size:26px;margin-top:8px}
.pn .t i{font-style:normal;color:var(--accent)}
.placeholder{border:1px dashed var(--line);background:var(--paper-soft);aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-style:italic;color:var(--ink-dim);font-size:19px;text-align:center;padding:40px}
@media(max-width:900px){.two{grid-template-columns:1fr;gap:44px}.facts{position:static}.gallery{grid-template-columns:1fr}.pn{grid-template-columns:1fr}.pn a:last-child{text-align:left;border-left:0;border-top:1px solid var(--line)}}

/* AWARDS PAGE */
.aw-group{margin-top:64px;border-top:1.5px solid var(--ink);padding-top:26px}
.aw-group .gh{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap;margin-bottom:10px}
.aw-group h3{font-family:var(--serif);font-weight:400;font-size:28px}
.aw-group .meta{font-size:13px;color:var(--ink-dim);letter-spacing:.04em}
.aw-row{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,3fr) minmax(0,4fr) auto;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);align-items:baseline;font-size:15px}
.aw-row .p{font-family:var(--serif);font-size:19px}
.aw-row .p a{color:var(--ink);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .25s}
.aw-row .p a:hover{border-color:var(--ink)}
.aw-row .lvl b{font-weight:500}
.aw-row .cat{color:var(--ink-dim);font-size:14px}
.aw-row .lnk{font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
@media(max-width:900px){.aw-row{grid-template-columns:1fr;gap:4px}.aw-row .lnk{margin-top:6px}}
.honors li{list-style:none;padding:18px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:110px 1fr;gap:20px;font-size:15.5px}
.honors li span{color:var(--ink-dim);font-size:13px;letter-spacing:.06em;padding-top:3px}
.honors li b{font-weight:500}
@media(max-width:900px){.honors li{grid-template-columns:1fr;gap:4px}}

/* FAQ (awards page) */
.faqs{border-top:1.5px solid var(--ink);max-width:62ch}
.faq{padding:26px 0;border-bottom:1px solid var(--line)}
.faq h3{font-family:var(--serif);font-weight:400;font-size:22px;line-height:1.3;margin-bottom:10px}
.faq p{font-size:15.5px;color:#3d3a34}

/* NOTES / WORK LISTS */
.list{margin-top:50px;border-top:1.5px solid var(--ink)}
.item{display:grid;grid-template-columns:150px 1fr auto;gap:28px;padding:30px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);align-items:baseline}
.item .cat{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-dim)}
.item h3{font-family:var(--serif);font-weight:400;font-size:25px;line-height:1.25;margin-bottom:8px}
.item p{font-size:15px;color:var(--ink-dim);max-width:60ch}
.item .date{font-size:12px;color:#9b968b;white-space:nowrap}
a.item:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
@media(max-width:900px){.item{grid-template-columns:1fr;gap:8px}}

/* AUTHOR BAND (every subpage) */
.author-band{border-top:1.5px solid var(--ink);padding:64px 0}
.author{display:grid;grid-template-columns:150px minmax(0,1fr);gap:40px;align-items:center}
.author-ph img{width:150px;height:150px;object-fit:cover;border-radius:50%;display:block}
.author h3{font-family:var(--serif);font-weight:400;font-size:26px;margin-bottom:8px}
.author p{font-size:15.5px;color:#3d3a34;max-width:62ch}
.author-links{margin-top:16px;display:flex;gap:22px;flex-wrap:wrap}
.author-links a{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);text-decoration:none;border-bottom:1.5px solid var(--dot);padding-bottom:3px}
@media(max-width:900px){.author{grid-template-columns:1fr;gap:22px}.author-ph img{width:110px;height:110px}}

/* CTA BAND + FOOTER */
.cta-band{background:var(--paper-soft);padding:90px 0;border-top:1px solid var(--line)}
.cta-band h2{margin-bottom:22px}
footer{border-top:1.5px solid var(--ink);padding:46px 0 64px}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13.5px;color:var(--ink-dim)}
footer a{color:var(--ink-dim);text-decoration:none}
footer a:hover{color:var(--ink)}
@media(max-width:900px){
  .wrap{padding:0 24px}
  nav ul{padding:10px 24px 26px}
  .page-head{padding:120px 0 54px}
  section.txt{padding:80px 0}
  .pn a{padding:34px 24px}
}
