/* StarrMark Solutions — supplemental styles (things theme.json can't express cleanly) */
:root{ --sm-shadow:0 1px 3px rgba(15,26,30,.06); --sm-shadow-card:0 10px 30px -18px rgba(15,26,30,.25); }
body{ -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; color:var(--wp--preset--color--text); }

/* Eyebrow */
.sm-eyebrow{ font-size:.78rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--wp--preset--color--accent); }

/* Positioning line under hero (broker-not-lender, above the fold) */
.sm-pos{ border-left:3px solid var(--wp--preset--color--accent); padding-left:.9rem; font-weight:500; color:var(--wp--preset--color--primary); }

/* Cards */
.sm-card{ background:var(--wp--preset--color--elevated); border:1px solid var(--wp--preset--color--border); border-radius:12px; }
.sm-card__ico{ width:38px;height:38px;border-radius:9px;background:#e7f1ec;display:grid;place-items:center;color:var(--wp--preset--color--accent-hover);font-weight:600; }

/* City pills */
.sm-pill{ border:1px solid var(--wp--preset--color--border); border-radius:999px; padding:.45rem 1rem; font-size:.9rem; font-weight:500; color:var(--wp--preset--color--primary); display:inline-block; }

/* "Why" items */
.sm-why .wp-block-column{ border-top:2px solid var(--wp--preset--color--primary); padding-top:1.1rem; }

/* COMPLIANCE CALLOUT — cream + muted gold ONLY here (reserved by brief) */
.sm-disclaimer{ background:var(--wp--preset--color--disclaimer-bg); border:1px solid #ecdfbf; border-left:4px solid var(--wp--preset--color--disclaimer-accent); border-radius:8px; padding:1.5rem 1.75rem; }
.sm-disclaimer__label{ font-size:.75rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--wp--preset--color--disclaimer-accent); }
.sm-disclaimer p{ color:#4a4636; }

/* Program block (loan programs page) */
.sm-program{ border-top:1px solid var(--wp--preset--color--border); padding-top:2rem; }
.sm-program ul{ margin:0; }

/* Form mock (visual only — HubSpot embed replaces this; never a working WP form) */
.sm-formmock{ background:var(--wp--preset--color--elevated); border:1px solid var(--wp--preset--color--border); border-radius:12px; padding:clamp(1.25rem,3vw,2rem); }
.sm-formmock label{ display:block; font-size:.85rem; font-weight:600; color:var(--wp--preset--color--primary); margin:0 0 .35rem; }
.sm-formmock input,.sm-formmock select,.sm-formmock textarea{ width:100%; padding:.7rem .8rem; border:1px solid var(--wp--preset--color--border); border-radius:8px; background:#fff; font:inherit; color:var(--wp--preset--color--text); margin-bottom:1rem; }
.sm-formmock input:focus,.sm-formmock select:focus,.sm-formmock textarea:focus{ outline:2px solid var(--wp--preset--color--accent); outline-offset:1px; }
.sm-hsnote{ font-size:.78rem; color:var(--wp--preset--color--text-muted); border:1px dashed var(--wp--preset--color--accent); border-radius:6px; padding:.5rem .75rem; margin-bottom:1rem; }
.sm-ack{ display:flex; gap:.6rem; align-items:flex-start; font-size:.9rem; color:var(--wp--preset--color--text); background:var(--wp--preset--color--surface); border:1px solid var(--wp--preset--color--border); border-radius:8px; padding:1rem; }

/* Buttons: secondary (outline) — primary handled by theme.json */
.is-style-outline .wp-block-button__link{ background:transparent !important; color:var(--wp--preset--color--primary) !important; border:1px solid var(--wp--preset--color--primary); }
.is-style-outline .wp-block-button__link:hover{ background:var(--wp--preset--color--primary) !important; color:#fff !important; }

@media (prefers-reduced-motion: no-preference){
  .sm-reveal{ opacity:0; transform:translateY(12px); animation:smIn .6s cubic-bezier(.2,.7,.2,1) forwards; }
  .sm-reveal:nth-child(2){animation-delay:.07s}.sm-reveal:nth-child(3){animation-delay:.14s}.sm-reveal:nth-child(4){animation-delay:.21s}
  @keyframes smIn{ to{opacity:1;transform:none} }
}

/* ---- Heading/title color by context (replaces the global theme.json color that broke dark sections) ---- */
/* Default: headings + site title are charcoal on light backgrounds. */
:where(h1,h2,h3,h4),.wp-block-site-title{ color:var(--wp--preset--color--primary); }
/* On dark (primary-background) sections, headings + title + site title go light for contrast. */
.has-primary-background-color :where(h1,h2,h3,h4),
.has-primary-background-color .wp-block-site-title,
.has-primary-background-color .wp-block-site-title a{ color:var(--wp--preset--color--surface) !important; }
/* Footer nav links: light on the dark footer. */
.has-primary-background-color .wp-block-navigation a,
.has-primary-background-color .wp-block-navigation .wp-block-navigation-item__content{ color:var(--wp--preset--color--surface); }
.has-primary-background-color .wp-block-navigation a:hover{ color:var(--wp--preset--color--accent); }

/* ---- Remove the default flow-margin gap above header/footer template parts ---- */
/* WP applies :where(.wp-site-blocks) > * { margin-block-start: 1.5rem } which leaves a
   surface-colored strip above the dark footer (and below the header). Zero it for the
   footer so the dark band meets the section above it flush. */
.wp-site-blocks > footer{ margin-block-start:0; }
/* ---- Force readable light text inside any dark (primary-background) section ---- */
/* WP emits per-palette .has-*-color{...!important} utilities that beat inline/slug styles.
   Override at equal specificity (+!important) inside dark sections, in tiers: */

/* Tier 1 — wordmark + headings: bright white */
.has-primary-background-color .wp-block-site-title,
.has-primary-background-color .wp-block-site-title a,
.has-primary-background-color :where(h1,h2,h3,h4,h5,h6){
  color:var(--wp--preset--color--surface) !important;
}

/* Tier 2 — body text, nav, contact info: light gray */
.has-primary-background-color,
.has-primary-background-color p,
.has-primary-background-color li,
.has-primary-background-color span,
.has-primary-background-color .wp-block-navigation a,
.has-primary-background-color .wp-block-navigation .wp-block-navigation-item__content{
  color:var(--wp--preset--color--footer-text) !important;
}
.has-primary-background-color .wp-block-navigation a:hover{ color:var(--wp--preset--color--accent) !important; }

/* Tier 3 — disclaimer + copyright: dimmer gray (slug-targeted) */
.has-primary-background-color .has-footer-muted-color,
.has-primary-background-color p.has-footer-muted-color{ color:var(--wp--preset--color--footer-muted) !important; }

/* ===== REVAMPED HERO (full-bleed cover) ===== */
.sm-hero{ align-items:center; }
.sm-hero .wp-block-cover__inner-container{ width:100%; max-width:1180px; margin-inline:auto; padding-inline:1.5rem; }
.sm-hero__inner{ max-width:640px; margin-left:0; }
/* Decorative atmosphere when no photo is set yet (replace dimRatio bg with real img on upload) */
.sm-hero .wp-block-cover__background{ background-image:
  radial-gradient(120% 90% at 78% 18%, rgba(224,178,90,.16), transparent 55%),
  linear-gradient(115deg,#0F1A1E 0%,#13242a 38%,#1d3a3f 62%,#2c5258 100%) !important; }
.sm-hero__eyebrow{ color:#e8c074 !important; }
.sm-hero h1{ font-size:clamp(2.6rem,5.4vw,4.1rem); margin:1rem 0 1.1rem; }
.sm-hero__lead{ color:#dfe7e6 !important; max-width:46ch; }
.sm-hero__pos{ color:#fff !important; border-left:3px solid var(--wp--preset--color--accent); padding-left:.9rem; max-width:48ch; }

/* Ghost button (secondary CTA on dark hero) */
.is-style-ghost .wp-block-button__link{
  background:rgba(255,255,255,.08) !important; color:#fff !important;
  border:1px solid rgba(255,255,255,.45);
}
.is-style-ghost .wp-block-button__link:hover{ background:rgba(255,255,255,.16) !important; }

/* ===== REVAMPED CARDS (overlap hero, elevated, medallions) ===== */
.sm-cardgrid{ margin-top:-4rem; position:relative; z-index:5; gap:1.25rem; }
.sm-snapshot .sm-card{
  background:var(--wp--preset--color--elevated);
  border:1px solid var(--wp--preset--color--border);
  border-radius:14px; padding:1.6rem 1.4rem;
  box-shadow:0 24px 50px -28px rgba(15,26,30,.45);
  transition:transform .25s ease, box-shadow .25s ease;
}
.sm-snapshot .sm-card:hover{ transform:translateY(-5px); box-shadow:0 34px 60px -28px rgba(15,26,30,.55); }
.sm-card__ico{
  width:46px; height:46px; border-radius:12px;
  background:linear-gradient(135deg,#e7f1ec,#d6e9e0);
  display:grid; place-items:center; color:var(--wp--preset--color--accent-hover);
  font-size:1.3rem; margin-bottom:1rem;
}
@media (max-width:781px){ .sm-cardgrid{ margin-top:-2rem; } }
