@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Inter:wght@300;400;500;600;700&display=swap');

/* Documentary411 product-page visual system.
   Presentation-only override for Funding Lab / Festival Strategy pages.
   Tokens must match styles.css/redesign.css/directory-upgrades.css. Do not
   reintroduce dark values -- verify-palette.js fails the build if you do. */

:root{
  --charcoal:#073f45;
  --charcoal-soft:#ffffff;
  --charcoal-line:rgba(7,63,69,.12);
  --offwhite:#fbf7f0;
  --offwhite-dim:#526a6d;
  --muted:#7c8c8d;
  --amber:#f36a16;
  --amber-dark:#d8560f;
  --amber-ink:#ffffff;
  --maxw:1040px;
  --radius:12px;
  --shadow:0 12px 34px rgba(7,63,69,.07);
  --font-head:'DM Serif Display',Georgia,serif;
  --font-body:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --teal:#073f45;
  --teal2:#0b5d61;
  --ivory:#fbf7f0;
  --sand:#f3ede4;
  --orange:#f36a16;
  --gold:#f5a623;
}

body{
  background:var(--ivory);
  color:var(--teal);
  font-family:var(--font-body);
  font-size:17px;
  line-height:1.68;
}

.wrap{max-width:var(--maxw)}
section{padding:72px 0}
section.tight{padding:42px 0}
.band-soft{background:#f5efe6}
hr.rule{border-top-color:rgba(7,63,69,.10)}

h1,h2,h3,h4{
  font-family:var(--font-head);
  color:var(--teal);
  font-weight:400;
  letter-spacing:-.018em;
}
h1{font-size:clamp(2.7rem,6vw,4.5rem);line-height:1.02}
h2{font-size:clamp(2rem,4vw,3rem);line-height:1.08}
h3{font-size:clamp(1.25rem,2.2vw,1.55rem);font-weight:400}

p{color:#4f6669}
p.lead{font-size:1.12rem;color:#334f53}
.subhead{
  font-family:var(--font-body);
  font-weight:400;
  font-size:clamp(1.08rem,2vw,1.28rem);
  color:#526a6d;
  line-height:1.5;
}
strong{color:var(--teal);font-weight:700}
em{color:#526a6d}
a{color:var(--orange)}
a:hover{color:#c84e0d}
.eyebrow{
  font-family:var(--font-body);
  font-size:.74rem;
  font-weight:700;
  letter-spacing:.17em;
  color:var(--orange);
}
.muted{color:var(--muted)}

/* Header */
.site-header{
  background:var(--teal);
  border-bottom:0;
  box-shadow:0 7px 24px rgba(7,63,69,.08);
}
.site-header .wrap{min-height:64px}
.brand{
  font-family:var(--font-head);
  font-weight:400;
  font-size:1.3rem;
  color:#fff;
}
.brand span{color:#f5a623}
.nav-note{
  font-family:var(--font-body);
  color:rgba(255,255,255,.70);
  text-transform:uppercase;
  letter-spacing:.11em;
  font-size:.72rem;
  font-weight:600;
}
.site-shop-link{
  margin-left:auto;
  color:#fff;
  border:1px solid rgba(255,255,255,.34);
  border-radius:3px;
  padding:7px 12px;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.08em;
  text-decoration:none;
  text-transform:uppercase;
}
.site-shop-link:hover{background:#f36a16;border-color:#f36a16;color:#fff}
.site-shop-link + .nav-note{margin-left:16px}

/* Hero */
.hero{
  position:relative;
  overflow:hidden;
  padding:88px 0 72px;
  background:
    linear-gradient(110deg,rgba(251,247,240,1) 0%,rgba(251,247,240,1) 64%,rgba(245,239,230,.96) 100%);
}
.hero::after{display:none}
.hero .wrap{position:relative;z-index:2}
.hero h1{max-width:850px;margin-bottom:.32em}
.hero .subhead{max-width:820px}
.hero p:not(.eyebrow):not(.subhead){max-width:820px}

/* Buttons */
.btn{
  font-family:var(--font-body);
  font-weight:700;
  font-size:.95rem;
  letter-spacing:.035em;
  border-radius:7px;
  padding:16px 26px;
}
.btn-primary{
  background:var(--orange);
  color:#fff;
  border-color:var(--orange);
  box-shadow:0 8px 20px rgba(243,106,22,.16);
}
.btn-primary:hover{background:#d8560f;color:#fff}
.btn-ghost{color:var(--teal);border-color:rgba(7,63,69,.18);background:#fff}
.btn-ghost:hover{color:var(--orange);border-color:var(--orange)}
.btn-sub{font-family:var(--font-body);color:var(--muted);font-size:.9rem}

/* Cards / content blocks */
.grid{gap:22px}
.card{
  background:#fff;
  border:1px solid rgba(7,63,69,.11);
  border-radius:12px;
  padding:28px 26px;
  box-shadow:var(--shadow);
}
.card h3{color:var(--teal)}
.card .num{
  font-family:var(--font-body);
  font-weight:700;
  color:var(--orange);
  border-color:var(--orange);
  background:rgba(243,106,22,.06);
}
.checklist li{color:#486164}
.checklist li::before{background:var(--orange)}

/* Honesty box */
.honesty{
  border:1px solid rgba(243,106,22,.34);
  border-left:6px solid var(--orange);
  background:#fff9f3;
  box-shadow:0 10px 26px rgba(7,63,69,.04);
}
.honesty h3{color:var(--teal)}

/* Guarantee / price */
.guarantee{
  background:#fff;
  border:1px solid rgba(7,63,69,.11);
  border-left:5px solid var(--orange);
  box-shadow:var(--shadow);
}
.guarantee .badge{
  font-family:var(--font-head);
  font-weight:400;
  color:var(--orange);
}
.price-line{
  font-family:var(--font-head);
  font-weight:400;
  color:var(--orange);
}
.price-line .strike{color:#93a0a0;font-family:var(--font-body);font-weight:600}

/* FAQ */
.faq details{border-bottom-color:rgba(7,63,69,.12)}
.faq summary{
  font-family:var(--font-body);
  color:var(--teal);
  font-weight:700;
}
.faq summary::after{color:var(--orange)}
.faq details[open] summary{color:var(--orange)}
.faq details p{color:#536b6e}

/* Other shared utility blocks */
.banner,
.next-list li::before{border-color:rgba(7,63,69,.12)}
.banner{background:#fff;box-shadow:var(--shadow)}
.next-list li::before{background:var(--orange);color:#fff}
.embed{border-color:rgba(7,63,69,.12);background:#fff}
.tl th,.tl td{border-bottom-color:rgba(7,63,69,.12)}
.tl th{color:var(--orange)}
.tl td:first-child{color:var(--teal)}

/* Footer */
.site-footer{
  background:#eee8de;
  border-top:0;
  color:#738486;
}
.site-footer a{color:#52696c}
.site-footer a:hover{color:var(--orange)}

/* Final CTA bands */
.band-soft.center{
  background:linear-gradient(100deg,var(--teal),#0b5d61);
}
.band-soft.center h2,
.band-soft.center p.lead{color:#fff}
.band-soft.center .muted{color:rgba(255,255,255,.72)}
.band-soft.center .muted a{color:#ffd08a}

@media(max-width:760px){
  body{font-size:16px}
  section{padding:52px 0}
  .hero{padding:62px 0 50px}
  .wrap{padding:0 18px}
  .btn{display:block;text-align:center}
}
