@layer tokens, reset, layout, components, accessibility;
@layer tokens {
  :root { --bh-ink:#171411; --bh-ink-raised:#252019; --bh-paper:#f6f3ef; --bh-warm:#eeebe5; --bh-text:#1a1714; --bh-muted:#5e5852; --bh-border:#d8d2ca; --bh-gold:#765128; --bh-gold-fill:#b88b52; --display:Cormorant,Georgia,serif; --body:Inter,system-ui,sans-serif; color-scheme:light; }
}
@layer reset {
  * { box-sizing:border-box; }
  body { margin:0; background:var(--bh-paper); color:var(--bh-text); font:16px/1.65 var(--body); }
  h1,h2,h3,p { margin:0; }
  a { color:inherit; }
  img { max-width:100%; display:block; }
}
@layer layout {
  .wrap { width:min(1184px,calc(100% - 64px)); margin-inline:auto; }
  .top { background:var(--bh-ink); color:var(--bh-paper); }
  .top .wrap { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:104px; }
  .logo { width:208px; }
  .top nav { display:flex; gap:24px; align-items:center; }
  .hero { padding:80px 0 72px; border-bottom:1px solid var(--bh-border); }
  .hero-grid { display:grid; grid-template-columns:2fr 1fr; gap:80px; align-items:end; }
  .eyebrow { color:var(--bh-gold); font-size:13px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; margin-bottom:20px; }
  h1 { font:500 clamp(44px,5.5vw,76px)/1.03 var(--display); max-width:760px; letter-spacing:-.025em; }
  .hero p { color:var(--bh-muted); font-size:18px; margin-top:24px; max-width:650px; }
  .contents { border-left:1px solid var(--bh-border); padding-left:28px; }
  .contents a { display:flex; align-items:center; justify-content:space-between; min-height:48px; border-bottom:1px solid var(--bh-border); text-decoration:none; }
  .section { padding:72px 0; scroll-margin-top:24px; }
  .section+.section { border-top:1px solid var(--bh-border); }
  .section-head { display:flex; gap:20px; align-items:baseline; margin-bottom:32px; }
  .number { color:var(--bh-gold); font-size:14px; }
  h2 { font:500 clamp(34px,4vw,48px)/1.15 var(--display); }
  .grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
  .resource { border:1px solid var(--bh-border); border-radius:6px; padding:28px; display:flex; flex-direction:column; align-items:flex-start; background:var(--bh-paper); }
  h3 { font:600 28px/1.18 var(--display); margin-bottom:20px; }
  .resource p { color:var(--bh-muted); margin-bottom:16px; }
  .resource .action { margin-top:auto; }
  .meditations { background:var(--bh-ink); color:var(--bh-paper); }
  .meditations .number { color:var(--bh-gold-fill); }
  .meditations .resource { background:transparent; border-color:#51483e; }
  .meditations .resource p { color:var(--bh-paper); }
  .status { font-size:14px; border-top:1px solid var(--bh-border); padding-top:12px; }
  .notice { padding:20px 24px; margin-top:28px; border-left:3px solid var(--bh-gold-fill); background:var(--bh-warm); color:var(--bh-text); }
  .request { max-width:760px; }
  .request p { margin-top:20px; }
  footer { background:var(--bh-ink); color:var(--bh-paper); padding:40px 0; }
  footer .wrap { display:flex; align-items:center; justify-content:space-between; gap:24px; }
  footer nav { display:flex; gap:24px; }
  @media(max-width:900px) { .hero-grid { grid-template-columns:1fr; gap:36px; } .contents { border-left:0; padding-left:0; max-width:480px; } .grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
  @media(max-width:600px) { .wrap { width:calc(100% - 40px); } .top .wrap { min-height:88px; } .logo { width:156px; } .top nav { gap:12px; } .top nav a:first-child { display:none; } .hero { padding:48px 0; } .grid { grid-template-columns:1fr; } .section { padding:48px 0; } .resource { padding:24px; } footer .wrap { align-items:flex-start; flex-direction:column; } }
}
@layer components {
  .lead-magnet { grid-column:1/-1; background:var(--bh-warm); }
  .lead-magnet p { max-width:65ch; }
  .meditation-player { display:block; width:100%; max-width:100%; aspect-ratio:16/9; background:#000; border-radius:4px; }
  .action { display:inline-flex; min-height:48px; align-items:center; padding:12px 20px; border-radius:6px; background:var(--bh-ink); color:var(--bh-paper); text-decoration:none; font-weight:600; line-height:1.4; transition:background-color 150ms ease-out; }
  .action:hover { background:var(--bh-gold); }
  .action:active { opacity:.85; }
  .top a:not(.action),footer a { min-height:44px; display:inline-flex; align-items:center; text-underline-offset:5px; }
  .top .action { background:var(--bh-paper); color:var(--bh-ink); }
  .top .action:hover { background:var(--bh-warm); }
  .contents a:hover { color:var(--bh-gold); }
}
@layer accessibility {
  :focus-visible { outline:3px solid var(--bh-gold-fill); outline-offset:4px; }
  .skip { position:absolute; left:16px; top:-100px; padding:12px; background:var(--bh-paper); color:var(--bh-ink); z-index:5; }
  .skip:focus { top:12px; }
  @media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; } }
}
