:root {
  --pi-navy: #071d36;
  --pi-navy-2: #0b2d55;
  --pi-blue: #0b6dd7;
  --pi-sky: #31a3ff;
  --pi-ink: #102033;
  --pi-muted: #607083;
  --pi-paper: #f4f7fb;
  --pi-line: #dbe3ec;
  --pi-green: #29a86b;
  --pi-shadow: 0 18px 52px rgba(7, 29, 54, 0.10);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
a { transition: color .18s ease, background-color .18s ease, border-color .18s ease; }
.wp-site-blocks { padding: 0; }
.entry-content { margin-block-start: 0; }
.pi-section { padding-top: clamp(4rem, 7vw, 7.5rem); padding-bottom: clamp(4rem, 7vw, 7.5rem); }
.pi-section-tight { padding-top: clamp(3rem, 5vw, 5rem); padding-bottom: clamp(3rem, 5vw, 5rem); }
.pi-no-gap { gap: 0 !important; }
.pi-muted { color: var(--pi-muted); }

/* Header */
.pi-site-header {
  position: relative;
  z-index: 20;
  min-height: 112px;
  border-bottom: 1px solid var(--pi-line);
  background: #fff;
}
.pi-header-inner {
  min-height: 112px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding-inline: clamp(1.25rem, 4vw, 4.5rem);
}
.pi-brand { display: flex; align-items: center; gap: .8rem; flex: 0 0 auto; }
.pi-brand-shield img { width: 78px !important; height: 78px !important; object-fit: contain; }
.pi-brand-word img { width: 180px !important; height: auto !important; object-fit: contain; }
.pi-header-nav { margin-left: auto; }
.pi-header-nav .wp-block-navigation-item__content { color: #263b51; text-decoration: none; }
.pi-header-nav .wp-block-navigation-item__content:hover { color: var(--pi-blue); }
.pi-header-cta .wp-element-button { background: var(--pi-navy); white-space: nowrap; }
.pi-header-cta .wp-element-button:hover { background: var(--pi-blue); }

/* Common typography */
.pi-eyebrow {
  display: flex;
  align-items: center;
  gap: 1rem;
  color: var(--pi-blue);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.pi-eyebrow::before { content: ""; width: 34px; height: 3px; background: var(--pi-sky); }
.pi-eyebrow-on-dark { color: #75c2ff; }
.pi-section-title { font-size: clamp(2rem, 3.3vw, 3.25rem); margin: .75rem 0 1rem; }
.pi-lead { color: var(--pi-muted); font-size: clamp(1rem, 1.3vw, 1.2rem); max-width: 820px; }

/* Hero */
.pi-home-hero { min-height: 810px; }
.pi-hero-copy {
  min-height: 810px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 5.2rem clamp(2rem, 6vw, 7.5rem);
}
.pi-hero-copy h1 { font-size: clamp(3.4rem, 5.5vw, 6.4rem); margin: 1.25rem 0 1.5rem; max-width: 900px; }
.pi-hero-copy > p:not(.pi-eyebrow) { color: var(--pi-muted); font-size: 1.28rem; max-width: 830px; }
.pi-hero-actions { margin-top: 2.25rem; }
.pi-hero-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin-top: 3rem; max-width: 850px; }
.pi-stat { border-right: 1px solid var(--pi-line); padding-right: 1.5rem; }
.pi-stat:last-child { border-right: 0; }
.pi-stat strong { display: block; color: var(--pi-navy); font-size: 1.42rem; line-height: 1.2; }
.pi-stat span { color: #718296; font-size: .68rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.pi-hero-image { min-height: 810px; position: relative; overflow: hidden; }
.pi-hero-image img { width: 100%; height: 810px !important; object-fit: cover; object-position: 56% 48%; }
.pi-hero-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7,29,54,.08), rgba(7,29,54,0)); pointer-events: none; }
.pi-expert-card { position: absolute; left: 6%; bottom: 8%; z-index: 3; padding: 1.55rem 2rem; color: #fff; background: var(--pi-navy); border-left: 6px solid var(--pi-sky); box-shadow: var(--pi-shadow); }
.pi-expert-card strong { display: block; font-family: Georgia, serif; font-size: 1.35rem; font-weight: 400; }
.pi-expert-card span { display: block; color: #d2e0ed; font-size: .82rem; margin-top: .25rem; }

/* Combined knowledge and start cards */
.pi-home-start { background: var(--pi-paper); }
.pi-knowledge-panel { background: var(--pi-navy-2); color: #fff; padding: clamp(3rem, 5vw, 5.2rem); min-height: 560px; }
.pi-knowledge-panel h2 { color: #fff; font-size: clamp(2rem, 3vw, 3rem); margin: 1rem 0 1.5rem; }
.pi-knowledge-panel p, .pi-knowledge-panel li { color: #cbd8e5; }
.pi-knowledge-panel a { color: #74c0ff; font-weight: 750; }
.pi-start-side { padding: clamp(3rem, 5vw, 5.2rem); }
.pi-start-grid { margin-top: 2rem; }
.pi-info-card { height: 100%; background: #fff; border: 1px solid var(--pi-line); border-radius: 8px; padding: 2rem; }
.pi-info-card .pi-number { display: grid; place-items: center; width: 62px; height: 62px; border-radius: 50%; background: #e7f3fe; color: var(--pi-blue); font-weight: 800; }
.pi-info-card h3 { font-family: inherit; font-size: 1.15rem; font-weight: 750; margin-top: 1.6rem; }
.pi-info-card p { color: var(--pi-muted); font-size: .9rem; }
.pi-info-card a { font-size: .83rem; font-weight: 750; }

/* Process */
.pi-process-grid { margin-top: 4rem; position: relative; }
.pi-process-grid::before { content: ""; position: absolute; left: 6%; right: 6%; top: 48px; height: 4px; background: #c8dff2; }
.pi-process-step { position: relative; z-index: 1; }
.pi-process-step .pi-number { display: grid; place-items: center; width: 96px; height: 96px; border-radius: 50%; background: var(--pi-blue); color: #fff; font-size: 1.2rem; font-weight: 800; }
.pi-process-step h3 { font-family: inherit; font-size: 1.25rem; font-weight: 750; margin-top: 1.7rem; }
.pi-process-step p { color: var(--pi-muted); font-size: .9rem; max-width: 290px; }

/* Valuation */
.pi-valuation-section { background: #eaf3fb; }
.pi-valuation-photo { min-height: 720px; position: relative; overflow: hidden; }
.pi-valuation-photo img { width: 100%; height: 720px !important; object-fit: cover; object-position: 38% 50%; }
.pi-valuation-photo::after { content: ""; position: absolute; inset: 0; background: rgba(4,28,54,.57); }
.pi-valuation-copy { position: absolute; z-index: 2; inset: 0; padding: clamp(3rem, 5vw, 6rem); color: #fff; }
.pi-valuation-copy h2 { color: #fff; font-size: clamp(2.5rem, 4vw, 4.2rem); max-width: 600px; }
.pi-valuation-copy p, .pi-valuation-copy li { color: #e1eaf3; }
.pi-form-column { display: flex; align-items: center; padding: clamp(2rem, 5vw, 5rem); }

/* Form block */
.pi-lead-form-wrap { width: 100%; background: #fff; border-radius: 10px; padding: clamp(1.8rem, 3.4vw, 3.4rem); box-shadow: var(--pi-shadow); }
.pi-lead-form-wrap h2, .pi-lead-form-wrap h3 { margin-top: 0; }
.pi-form-intro { color: var(--pi-muted); margin-top: -.5rem; }
.pi-lead-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.1rem; margin-top: 1.8rem; }
.pi-field { display: flex; flex-direction: column; gap: .42rem; }
.pi-field-full { grid-column: 1 / -1; }
.pi-field label { color: #52677d; font-size: .72rem; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }
.pi-field input, .pi-field select, .pi-field textarea {
  width: 100%; min-height: 54px; padding: .8rem 1rem; border: 1px solid #cbd6e1; border-radius: 4px; background: #f9fbfd; color: var(--pi-ink); font: inherit;
}
.pi-field textarea { min-height: 115px; resize: vertical; }
.pi-consent { grid-column: 1 / -1; display: grid; grid-template-columns: 22px 1fr; gap: .65rem; color: #5d6e80; font-size: .78rem; }
.pi-consent input { width: 18px; height: 18px; margin-top: .15rem; }
.pi-form-submit { grid-column: 1 / -1; min-height: 62px; border: 0; border-radius: 5px; background: var(--pi-blue); color: #fff; font: inherit; font-weight: 800; cursor: pointer; }
.pi-form-submit:hover { background: var(--pi-navy); }
.pi-form-submit[disabled] { opacity: .6; cursor: wait; }
.pi-form-message { grid-column: 1 / -1; border-radius: 4px; padding: .9rem 1rem; display: none; }
.pi-form-message.is-visible { display: block; }
.pi-form-message.is-success { color: #155f3d; background: #e3f7ed; }
.pi-form-message.is-error { color: #912b2b; background: #fdeaea; }
.pi-hp { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

/* Cards and archives */
.pi-card-grid { margin-top: 2.5rem; }
.pi-article-card { height: 100%; overflow: hidden; border: 1px solid var(--pi-line); border-radius: 8px; background: #fff; }
.pi-article-card .wp-block-post-featured-image { margin: 0; }
.pi-article-card .wp-block-post-featured-image img { width: 100%; height: 225px; object-fit: cover; }
.pi-card-body { padding: 1.7rem; }
.pi-article-card h3, .pi-article-card .wp-block-post-title { font-family: inherit; font-size: 1.25rem; font-weight: 760; line-height: 1.3; }
.pi-article-card .wp-block-post-excerpt { color: var(--pi-muted); font-size: .9rem; }
.pi-article-card .wp-block-post-terms { color: var(--pi-blue); font-size: .7rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.pi-feature-card { border: 1px solid var(--pi-line); border-radius: 8px; overflow: hidden; background: #fff; }
.pi-feature-card img { width: 100%; height: 520px !important; object-fit: cover; object-position: 34% center; }
.pi-feature-copy { padding: clamp(2rem, 5vw, 5rem); }

/* Inner page hero */
.pi-page-hero { background: var(--pi-paper); padding: clamp(4.2rem, 7vw, 7rem) clamp(1.25rem, 5vw, 5rem); }
.pi-page-hero h1 { font-size: clamp(3rem, 5vw, 5.5rem); max-width: 1050px; margin: 1rem 0 1.5rem; }
.pi-page-hero p { color: var(--pi-muted); font-size: 1.15rem; max-width: 1050px; }

/* Knowledge hub */
.pi-topic-box { height: 100%; padding: 2.4rem; background: var(--pi-paper); border: 1px solid var(--pi-line); border-radius: 8px; }
.pi-topic-box h2 { font-family: inherit; font-size: 1.45rem; font-weight: 780; }
.pi-topic-box ul { list-style: none; padding: 0; margin: 1.6rem 0 0; }
.pi-topic-box li { border-bottom: 1px solid var(--pi-line); padding: .85rem 0; }
.pi-topic-box li a { display: flex; justify-content: space-between; color: #2d4257; text-decoration: none; }
.pi-topic-box li a::after { content: "→"; color: var(--pi-blue); font-weight: 800; }
.pi-district-band { background: var(--pi-navy-2); color: #fff; }
.pi-district-band h2 { color: #fff; }
.pi-district-band p { color: #cbd8e5; }
.pi-district-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.pi-district-grid a { padding: 1.25rem 1.5rem; border: 1px solid #315a81; border-radius: 6px; background: #123b64; color: #fff; text-decoration: none; font-weight: 700; }
.pi-district-grid a::after { content: "→"; float: right; color: #6ec0ff; }
.pi-situation-card { height: 100%; border: 1px solid var(--pi-line); border-left: 7px solid var(--pi-blue); border-radius: 6px; padding: 2rem; }

/* Article */
.pi-article-hero { background: var(--pi-paper); }
.pi-article-hero h1 { font-size: clamp(3.1rem, 5vw, 5.5rem); }
.pi-article-meta { color: var(--pi-muted); font-size: .82rem; }
.pi-article-shell { display: grid; grid-template-columns: 320px minmax(0, 1030px); gap: clamp(3rem, 7vw, 8rem); align-items: start; }
.pi-toc { position: sticky; top: 1.5rem; padding: 2rem; background: var(--pi-paper); border-radius: 8px; }
.pi-toc h3 { font-family: inherit; font-size: .78rem; font-weight: 800; color: var(--pi-blue); text-transform: uppercase; }
.pi-toc ol { padding-left: 1.2rem; }
.pi-toc li { margin: 1rem 0; font-size: .85rem; font-weight: 700; }
.pi-article-body { font-size: 1.06rem; color: #40556a; }
.pi-article-body h2 { font-size: clamp(1.8rem, 3vw, 2.5rem); margin-top: 4rem; }
.pi-article-body h3 { font-size: 1.35rem; margin-top: 2.2rem; }
.pi-callout { padding: 1.6rem 2rem; background: #eaf4fd; border-radius: 7px; color: var(--pi-navy); }
.pi-callout-warn { background: #fff8eb; border: 1px solid #ead5ad; }
.pi-mid-cta { padding: 2.6rem; background: var(--pi-navy-2); border-radius: 8px; color: #fff; }
.pi-mid-cta h3 { color: #fff; margin-top: 0; }
.pi-author-box { padding: 2rem; background: var(--pi-paper); border-radius: 8px; }
.pi-author-box img { width: 250px; height: 250px; object-fit: cover; object-position: 55% 35%; border-radius: 6px; }

/* Footer */
.pi-site-footer { background: var(--pi-navy); color: #d7e2ed; padding: 5rem clamp(1.25rem, 5vw, 5rem) 2rem; }
.pi-site-footer h2, .pi-site-footer h3 { color: #fff; }
.pi-site-footer h3 { font-family: inherit; font-size: .75rem; font-weight: 800; color: #70b8ff; letter-spacing: .05em; text-transform: uppercase; }
.pi-site-footer p, .pi-site-footer li { font-size: .85rem; color: #c9d5e0; }
.pi-site-footer a { color: #e2ebf3; text-decoration: none; }
.pi-footer-bottom { margin-top: 4rem; padding-top: 1.5rem; border-top: 1px solid #28445f; color: #91a5b9; font-size: .75rem; }

/* Accessibility and responsive behaviour */
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { width: auto; height: auto; margin: 0; padding: 1rem; clip: auto; background: #fff; color: var(--pi-navy); z-index: 100000; }

@media (max-width: 1180px) {
  .pi-header-cta { display: none; }
  .pi-header-nav { margin-left: 0; }
  .pi-home-hero, .pi-hero-copy, .pi-hero-image { min-height: 680px; }
  .pi-hero-image img { height: 680px !important; }
  .pi-article-shell { grid-template-columns: 260px minmax(0, 1fr); gap: 3rem; }
}

@media (max-width: 920px) {
  .pi-site-header, .pi-header-inner { min-height: 92px; }
  .pi-brand-shield img { width: 58px !important; height: 58px !important; }
  .pi-brand-word img { width: 145px !important; }
  .pi-header-nav { order: 3; width: 100%; }
  .pi-header-inner { flex-wrap: wrap; padding-block: .75rem; }
  .pi-home-hero .wp-block-columns, .pi-valuation-section .wp-block-columns { flex-wrap: wrap !important; }
  .pi-home-hero .wp-block-column, .pi-valuation-section .wp-block-column { flex-basis: 100% !important; }
  .pi-hero-copy { min-height: auto; padding-block: 4.5rem; }
  .pi-hero-image { min-height: 560px; }
  .pi-hero-image img { height: 560px !important; }
  .pi-process-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pi-process-grid::before { display: none; }
  .pi-article-shell { grid-template-columns: 1fr; }
  .pi-toc { position: relative; top: auto; }
}

@media (max-width: 640px) {
  .pi-brand-word { display: none; }
  .pi-header-nav .wp-block-navigation__responsive-container-open { display: flex; }
  .pi-hero-copy h1 { font-size: 3rem; }
  .pi-hero-stats { grid-template-columns: 1fr; }
  .pi-stat { border-right: 0; border-bottom: 1px solid var(--pi-line); padding-bottom: 1rem; }
  .pi-process-grid { grid-template-columns: 1fr; }
  .pi-lead-form { grid-template-columns: 1fr; }
  .pi-field-full, .pi-consent, .pi-form-submit, .pi-form-message { grid-column: auto; }
  .pi-district-grid { grid-template-columns: 1fr; }
  .pi-article-body { font-size: 1rem; }
}

