/* Proposal page — website-style layout on the main site system (assets/site.css).
   Page-specific components only; doc.css is NOT loaded here (audit/blueprint keep it). */

/* Hero — slightly smaller H1 so the long proposal title wraps gracefully */
.prop-hero h1{font-size:clamp(2.05rem,5.4vw,3.55rem);max-width:15em}
.prop-hero .hero-sub{max-width:60ch}

/* Long-form prose inside website bands */
.flow-p{color:#43536a;margin-bottom:1.15rem;max-width:74ch}
.flow-p strong{color:var(--blue-ink)}
.flow-p:last-child{margin-bottom:0}
.narrow{width:min(880px,92%)}

/* Prepared-for / by / purpose panel (framed card, gradient top bar) */
.meta-panel{position:relative;overflow:hidden;background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.7rem 1.9rem}
.meta-panel::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--blue) 0%,var(--nav-blue) 45%,var(--orange) 100%)}
.meta-row{padding:.55rem 0;color:#43536a}
.meta-row + .meta-row{border-top:1px solid var(--wash-2)}
.meta-row strong{color:var(--blue-ink);font-family:var(--font-head);text-transform:uppercase;letter-spacing:.06em;font-size:.92rem;margin-right:.5rem}

/* Audit stat strip */
.stats{display:grid;gap:1.2rem;margin:2.2rem 0 2.4rem}
.stat{position:relative;overflow:hidden;background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.4rem 1.5rem 1.3rem}
.stat::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--blue) 0%,var(--nav-blue) 45%,var(--orange) 100%)}
.stat .num{font-family:var(--font-head);font-size:2.6rem;font-weight:700;line-height:1;background:linear-gradient(180deg,var(--blue),var(--blue-dark));-webkit-background-clip:text;background-clip:text;color:transparent}
.stat .lbl{color:var(--muted);font-size:.94rem;margin-top:.35rem;line-height:1.45}

/* Findings — bordered cards with gradient top bars */
.find-grid{display:grid;gap:1.4rem;margin-top:2.2rem}
.find-card{position:relative;overflow:hidden;background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.6rem 1.7rem 1.7rem}
.find-card::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--blue) 0%,var(--nav-blue) 45%,var(--orange) 100%)}
.find-card h3{font-size:1.32rem;line-height:1.2;margin-bottom:.5rem}
.find-card p{color:var(--muted);font-size:.98rem}

/* Build phases — framed panels */
.phase-panel{position:relative;overflow:hidden;background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:2rem;margin-top:1.6rem}
.phase-panel::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--blue) 0%,var(--nav-blue) 45%,var(--orange) 100%)}
.phase-tag{display:inline-block;font-family:var(--font-head);font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;color:#fff;background:linear-gradient(92deg,var(--blue) 0%,var(--blue-dark) 90%);border-radius:999px;padding:.32rem .9rem;margin-bottom:.9rem}
.phase-panel h3{font-size:1.55rem;text-transform:uppercase;line-height:1.15;margin-bottom:.6rem}
.phase-panel .check-list{margin-top:1.1rem}
.phase-split{display:grid;gap:2.2rem;align-items:start}
.phase-split img.photo{border-radius:var(--radius);box-shadow:var(--shadow);width:100%;object-fit:cover}

/* Promise panel */
.promise-panel{position:relative;overflow:hidden;background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:2.4rem;text-align:center}
.promise-panel::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--blue) 0%,var(--nav-blue) 45%,var(--orange) 100%)}
.promise-panel h2::after{margin-left:auto;margin-right:auto}
.promise-panel .eyebrow{margin-bottom:.6rem}
.promise-panel p{color:#43536a;font-size:1.1rem;max-width:62ch;margin:0 auto}

/* Questions — numbered cards */
.q-grid{display:grid;gap:1.2rem;margin-top:2.2rem}
.q-card{background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 24px rgba(2,60,120,.06);padding:1.3rem 1.4rem 1.4rem}
.q-card .num{font-family:var(--font-head);font-size:1.9rem;font-weight:700;line-height:1;background:linear-gradient(180deg,var(--blue),var(--blue-dark));-webkit-background-clip:text;background-clip:text;color:transparent}
.q-card p{color:#43536a;font-size:.97rem;margin-top:.5rem}

/* Next-step band link */
.ctaband a.txtlink{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}

@media(min-width:720px){
  .stats{grid-template-columns:repeat(3,1fr)}
  .find-grid{grid-template-columns:repeat(2,1fr)}
  .find-card.wide{grid-column:1 / -1}
  .q-grid{grid-template-columns:repeat(2,1fr)}
}
@media(min-width:1000px){
  .q-grid{grid-template-columns:repeat(3,1fr)}
  .phase-split{grid-template-columns:1.25fr .75fr}
}
@media(max-width:719px){
  .meta-panel{padding:1.3rem 1.25rem}
  .phase-panel{padding:1.5rem 1.25rem}
  .promise-panel{padding:1.8rem 1.25rem}
}
