:root{
  --proposal-max-w: 1180px;
  --proposal-gap: clamp(20px, 2vw, 28px);
  --proposal-section-spacing: clamp(38px, 4.2vw, 52px);
  --proposal-text: #10131a;
  --proposal-muted: #2c3731;
  --proposal-bg-callout: #f7f8f5;
  --proposal-border-muted: rgba(14,59,46,.12);
  --proposal-shadow-lg: 0 20px 45px rgba(7,20,14,.18);
}

body.page-proposal{
  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--proposal-text);
  background: #f9faf7;
}

main#main{
  max-width: var(--proposal-max-w);
  margin: 0 auto;
  padding: 0 clamp(18px, 3vw, 24px) clamp(48px, 5vw, 64px);
}

section.proposal-section{
  padding: var(--proposal-section-spacing) 0;
}

h1, h2, h3, h4{
  font-family: "Sora", system-ui, -apple-system, "Segoe UI", sans-serif;
  color: var(--proposal-text);
  line-height: 1.2;
}

h1{
  font-size: clamp(34px, 4.8vw, 54px);
  letter-spacing: -0.02em;
}

h2{
  font-size: clamp(28px, 3.8vw, 42px);
}

h3{
  font-size: clamp(20px, 3vw, 28px);
}

p{
  font-size: 18px;
  line-height: 1.55;
  max-width: 70ch;
}

.proposal-card,
.option-card,
.board-at-a-glance,
.proposal-show-card,
.doc-control{
  border-radius: 22px;
  border: 1px solid var(--proposal-border-muted);
  background: #fff;
  box-shadow: var(--proposal-shadow-lg);
}

.proposal-grid,
.pricing-grid,
.proposal-resources{
  gap: var(--proposal-gap);
}

.proposal-card,
.doc-control,
.option-card,
.board-at-a-glance{
  padding: clamp(20px, 2.5vw, 30px);
}

.proposal-card h2,
.option-card h3,
.proposal-card h3{
  color: #0b2f25;
}

.proposal-callout{
  background: var(--proposal-bg-callout);
  border-color: var(--proposal-border-muted);
  color: var(--proposal-text);
  font-weight: 500;
}

.proposal-list li,
.option-card-list li{
  color: var(--proposal-muted);
}

.section-index{
  position: sticky;
}

.section-index nav a{
  color: #0e3b25;
  font-weight: 600;
}

.section-index nav a:hover{
  color: #0b942a;
}

.page-hero.has-bg .page-hero__overlay{
  background:
    linear-gradient(180deg, rgba(3,7,11,.2), rgba(3,7,11,.9)),
    radial-gradient(circle at 20% 20%, rgba(233,169,35,.28), transparent 55%);
}

.page-hero__content-inner h1{
  font-family: "Sora", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: #fff;
}

.hero-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: clamp(24px, 2vw, 32px);
  align-items: stretch;
}

.board-hero-value{
  margin: 0.6rem 0 1.6rem;
  font-size: 18px;
  color: rgba(255,255,255,.95);
}

.board-hero-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.page-hero__content{
  min-height: clamp(520px, 70vh, 640px);
}

.board-at-a-glance{
  align-self: stretch;
  background: rgba(6,10,16,.88);
  color: rgba(255,255,255,.95);
  border: 1px solid rgba(255,255,255,.28);
  box-shadow: 0 30px 60px rgba(0,0,0,.45);
  padding: clamp(20px, 2.5vw, 32px);
  min-height: 100%;
  width: min(420px, 100%);
  margin-left: auto;
}

.board-at-a-glance h3{
  margin-top: 0;
  font-size: 22px;
}

.board-at-a-glance dt{
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 12px;
}

.board-at-a-glance dd{
  margin-bottom: 12px;
  font-size: 16px;
  font-weight: 600;
}

.board-at-a-glance-list{
  margin-top: 12px;
  color: rgba(255,255,255,.85);
}

.board-hero-actions .btn{
  padding: 12px 18px;
  font-size: 15px;
  box-shadow: 0 12px 24px rgba(5,35,22,.25);
}

.hero-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: clamp(24px, 2vw, 32px);
  align-items: center;
}

.board-hero-value{
  margin: 0.6rem 0 1.6rem;
  font-size: 18px;
  color: rgba(255,255,255,.95);
}

.board-hero-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
