@charset "UTF-8";
/* ==========================================================================
   pricing-guide.css  (v=1)
   Page-specific styles for pricing-guide.html. Shared chrome (nav, footer,
   buttons, sections, container, type tokens) comes from main.css / components.css
   / nav.css. Everything here is prefixed .pg- to avoid collisions.
   ========================================================================== */

/* ---- Intro lead ---------------------------------------------------------- */
.pg-lead{max-width:760px}
.pg-lead p{font-size:var(--text-lg);line-height:1.8}

/* ---- Factors split ------------------------------------------------------- */
.pg-factors{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-8);
  margin-top:var(--space-12);
}
@media (min-width:900px){
  .pg-factors{grid-template-columns:1fr 1fr;gap:var(--space-10)}
}

.pg-factor-col{display:flex;flex-direction:column;gap:var(--space-5)}

.pg-factor-col__head{
  display:flex;
  align-items:center;
  gap:var(--space-4);
  padding-bottom:var(--space-5);
  border-bottom:2px solid var(--color-border);
}
.pg-factor-col__badge{
  flex-shrink:0;
  width:48px;height:48px;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;
  background:rgba(197,160,89,.14);
  color:var(--color-gold);
}
.pg-factor-col--down .pg-factor-col__badge{
  background:rgba(123,117,54,.14);
  color:var(--color-od-green);
}
.pg-factor-col__badge svg{width:22px;height:22px}
.pg-factor-col--down .pg-factor-col__badge svg{transform:rotate(180deg)}

.pg-factor-col__title{
  font-family:var(--font-heading);
  font-size:var(--text-xl);
  line-height:1.1;
  margin:0;
}
.pg-factor-col__sub{
  display:block;
  font-family:var(--font-body);
  font-weight:var(--font-weight-regular);
  font-size:var(--text-sm);
  letter-spacing:0;
  text-transform:none;
  color:var(--color-text-muted);
  margin-top:3px;
}

/* ---- Factor card --------------------------------------------------------- */
.pg-card{
  position:relative;
  background:var(--color-surface);
  border:1px solid var(--color-border);
  border-left:4px solid var(--color-gold);
  border-radius:var(--radius-lg);
  padding:var(--space-5) var(--space-6);
  box-shadow:var(--shadow-sm);
  transition:transform var(--transition-base),box-shadow var(--transition-base);
}
.pg-factor-col--down .pg-card{border-left-color:var(--color-od-green)}
.pg-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-card-hover)}

.pg-card__head{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2)}
.pg-card__chip{
  flex-shrink:0;
  width:30px;height:30px;
  display:flex;align-items:center;justify-content:center;
  border-radius:8px;
  background:rgba(197,160,89,.14);
  color:var(--color-gold);
}
.pg-factor-col--down .pg-card__chip{background:rgba(123,117,54,.14);color:var(--color-od-green)}
.pg-card__chip svg{width:15px;height:15px}
.pg-factor-col--down .pg-card__chip svg{transform:rotate(180deg)}

.pg-card__title{
  font-family:var(--font-heading);
  font-size:var(--text-base);
  letter-spacing:.02em;
  line-height:1.15;
  margin:0;
}
.pg-card__text{
  font-size:var(--text-sm);
  line-height:1.65;
  color:var(--color-text-muted);
  margin:0;
}

/* ---- Inspection band ----------------------------------------------------- */
.pg-inspect{position:relative;overflow:hidden;background-color:var(--color-charcoal)}
.pg-inspect__bg{
  position:absolute;inset:0;
  background-size:cover;
  background-position:center 35%;
  background-repeat:no-repeat;
}
/* dark gradient scrim so left-aligned copy stays readable, roofer stays visible */
.pg-inspect__bg::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(16,16,18,.90) 0%,rgba(16,16,18,.66) 42%,rgba(16,16,18,.20) 100%);
}
@media (max-width:767px){
  .pg-inspect__bg::after{
    background:linear-gradient(180deg,rgba(16,16,18,.62) 0%,rgba(16,16,18,.86) 78%);
  }
}
.pg-inspect .container{position:relative;z-index:2}
.pg-inspect__content{
  max-width:560px;
  padding-top:var(--space-24);
  padding-bottom:var(--space-24);
}
.pg-inspect__content .eyebrow{color:var(--color-gold)}
.pg-inspect__content h2{color:#f4f4f0}
.pg-inspect__content p{color:rgba(244,244,240,.82);font-size:var(--text-base);line-height:1.8}
.pg-inspect__caption{
  margin-top:var(--space-6);
  font-size:var(--text-xs);
  text-transform:uppercase;
  letter-spacing:var(--tracking-eyebrow);
  color:rgba(244,244,240,.55);
}

/* ---- Ballpark hand-off --------------------------------------------------- */
.pg-ballpark{
  max-width:640px;
  margin:var(--space-10) auto 0;
  background:var(--color-surface);
  border:1px solid var(--color-border);
  border-top:4px solid var(--color-gold);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-md);
  padding:var(--space-8) var(--space-6);
  text-align:center;
}
.pg-ballpark__form{
  display:flex;
  gap:var(--space-3);
  margin-top:var(--space-6);
}
@media (max-width:599px){.pg-ballpark__form{flex-direction:column}}
.pg-ballpark__input{
  flex:1;
  min-width:0;
  padding:0 var(--space-5);
  height:54px;
  font-size:var(--text-base);
  color:var(--color-text-primary);
  background:var(--color-bg);
  border:1px solid var(--color-border);
  border-radius:var(--radius-md);
  transition:border-color var(--transition-fast),box-shadow var(--transition-fast);
}
.pg-ballpark__input::placeholder{color:var(--color-warmgray)}
.pg-ballpark__input:focus{
  outline:none;
  border-color:var(--color-gold);
  box-shadow:0 0 0 3px rgba(197,160,89,.18);
}
.pg-ballpark__form .btn{height:54px;white-space:nowrap}
.pg-ballpark__note{
  margin-top:var(--space-5);
  font-size:var(--text-sm);
  color:var(--color-text-muted);
  line-height:1.6;
}

/* ---- Closing CTA --------------------------------------------------------- */
.pg-cta__inner{max-width:680px;margin:0 auto;text-align:center}
.pg-cta__buttons{
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-4);
  justify-content:center;
  margin-top:var(--space-8);
}
