/* rishidean.com theme — base layout. Stylesheets are linked individually in partials/styles.hbs (no @import chain; see D-E02S04-02). Tokens are copied from design/design-system/tokens/ (do not edit the copies). */

/* ---------- Layout ---------- */
*,*::before,*::after{box-sizing:border-box}
body{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-page);color:var(--text-body);font:var(--type-body);letter-spacing:var(--tracking-body)}
.site-main{flex:1}
.container{width:100%;max-width:var(--container-wide);margin-inline:auto;padding-inline:var(--gutter)}
img{max-width:100%;height:auto;display:block}

/* ---------- Type roles ---------- */
.eyebrow{font:var(--type-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-meta);margin:0}
h1,h2,h3{color:var(--text-heading);margin:0}
h1{font:var(--type-h1);letter-spacing:var(--tracking-display)}
h2{font:var(--type-h2);letter-spacing:var(--tracking-heading)}
h3{font:var(--type-h3);letter-spacing:var(--tracking-heading)}


/* ---------- Shared page heads + section titles (used across templates) ---------- */
.section-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:32px}
.section-title{margin:0;font:var(--fw-display) 32px/1 var(--font-display);letter-spacing:var(--tracking-heading);color:var(--fg-1)}
/* ---------- Hero ---------- */
.home-hero{padding:96px 0 72px;display:grid;gap:24px}
.home-hero__title{margin:0;font:var(--fw-display) 88px/.96 var(--font-display);letter-spacing:var(--tracking-display);color:var(--fg-1);max-width:1000px;text-wrap:balance}
.home-hero__title--sm{font-size:52px;line-height:1.02}
.home-hero__lead{margin:0;max-width:620px;font:var(--type-lead);color:var(--fg-3);text-wrap:pretty}
.home-hero--compact{padding:72px 0 40px;gap:16px}
.page-head{padding:96px 0 64px;display:grid;gap:20px}
.page-head__lead{margin:0;max-width:620px;font:var(--type-lead);color:var(--fg-3)}
@media (max-width:760px){
  .home-hero{padding:56px 0 48px}
  .home-hero__title{font-size:clamp(44px,13vw,60px);line-height:.98}
  .home-hero__title--sm{font-size:clamp(34px,9vw,44px)}
  .home-hero__lead{font-size:19px}
  .page-head{padding:56px 0 40px}
}

/* ---------- Post / page ---------- */
.post__header{padding-top:var(--space-9);display:grid;gap:var(--space-5);max-width:calc(var(--measure-reading) + 2*var(--gutter));margin-inline:auto}
.post__title{font:var(--type-h1);letter-spacing:var(--tracking-display)}
.post__summary{margin:0;font:var(--type-lead);color:var(--fg-2)}
.post__cover{margin:var(--space-6) 0 0}
.post__cover img{border-radius:var(--radius-md);filter:var(--img-hero);width:100%}
.post__cover figcaption{margin-top:var(--space-3);font-family:var(--font-reading);font-style:italic;font-size:var(--fs-small);color:var(--fg-3)}

/* ---------- Error ---------- */
.error{padding-top:var(--space-10);display:grid;gap:var(--space-5)}

/* ---------- Responsive ---------- */
@media (max-width:760px){
  .site-nav .nav{gap:var(--space-5)}
  .post__header{padding-top:var(--space-8)}
  .post__title{font-size:clamp(32px,9vw,44px)}
}
