/* Phase 3 home route — editorial service ledger, no invented job-site imagery. */

body.ee-home {
  background: var(--ee-p3-cream);
  color: var(--ee-p3-black);
}

body.ee-home .home-shell {
  width: var(--ee-p3-frame);
}

body.ee-home .home-header {
  min-height: 64px;
  background: var(--ee-p3-cream);
  border-bottom: 1px solid var(--ee-p3-line-dark);
  box-shadow: none;
}

body.ee-home .home-header__inner {
  min-height: 64px;
  gap: 18px;
}

body.ee-home .home-brand {
  gap: 10px;
}

body.ee-home .home-brand img {
  width: min(190px, 38vw);
  height: 42px;
  object-fit: contain;
  object-position: left center;
}

body.ee-home .home-brand span {
  color: var(--ee-p3-black);
  opacity: .58;
  font: 800 10px/1.1 var(--ee-p3-mono);
  letter-spacing: .07em;
}

body.ee-home .home-nav {
  gap: clamp(12px, 1.8vw, 28px);
}

body.ee-home .home-nav a,
body.ee-home .home-link-call {
  min-height: 44px;
  color: var(--ee-p3-black);
  font: 700 12px/1.15 var(--ee-p3-body);
  text-underline-offset: 4px;
}

body.ee-home .home-actions,
body.ee-home .home-menu {
  align-items: center;
}

body.ee-home .home-btn {
  min-height: 48px;
  border: 1px solid var(--ee-p3-black);
  border-radius: 0;
  box-shadow: 2px 2px 0 var(--ee-p3-black);
  font: 800 11px/1 var(--ee-p3-mono);
  letter-spacing: .055em;
  text-transform: uppercase;
}

body.ee-home .home-btn--orange,
body.ee-home .home-menu__quote {
  background: var(--ee-p3-orange);
  color: var(--ee-p3-black);
}

body.ee-home .home-btn--dark {
  background: var(--ee-p3-black);
  color: var(--ee-p3-cream);
}

body.ee-home .home-btn--line,
body.ee-home .home-btn--ghost {
  background: transparent;
  color: var(--ee-p3-black);
}

body.ee-home .home-menu__panel {
  border: 1px solid var(--ee-p3-black);
  border-radius: 0;
  background: var(--ee-p3-cream);
  box-shadow: 4px 4px 0 var(--ee-p3-black);
}

body.ee-home .home-menu__head,
body.ee-home .home-menu__panel a {
  min-height: 48px;
  border-bottom-color: var(--ee-p3-line-dark);
}

body.ee-home .hero {
  background: var(--ee-p3-cream);
}

body.ee-home .hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(320px, 5fr);
  gap: 0;
  min-height: min(720px, calc(100vh - 64px));
  padding: clamp(32px, 7vw, 104px) 0 0;
  border-top: 0;
  border-bottom: 1px solid var(--ee-p3-line-dark);
}

body.ee-home .hero__copy {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-width: 0;
  padding: 0 clamp(24px, 5vw, 88px) clamp(34px, 4vw, 64px) 0;
}

body.ee-home .eyebrow {
  color: var(--ee-p3-dim);
  font: 800 12px/1.2 var(--ee-p3-mono);
  letter-spacing: .075em;
  text-transform: uppercase;
}

body.ee-home .hero h1 {
  max-width: 11ch;
  margin: clamp(26px, 5vw, 72px) 0 22px;
  color: var(--ee-p3-black);
  font-family: var(--ee-p3-display);
  font-size: clamp(56px, 7.1vw, 116px);
  font-weight: 700;
  line-height: .87;
  letter-spacing: -.045em;
  text-transform: uppercase;
}

body.ee-home .hero h1 span {
  color: var(--ee-p3-orange-ink);
}

body.ee-home .hero h1 span::after { display: none; }

body.ee-home .hero__deck {
  max-width: 53ch;
  color: #38342E;
  font-size: clamp(16px, 1.2vw, 19px);
  line-height: 1.48;
}

body.ee-home .hero__actions {
  gap: 10px;
  margin-top: 28px;
}

body.ee-home .hero-route {
  width: min(100%, 680px);
  margin-top: auto;
  padding-top: clamp(28px, 4vw, 64px);
}

body.ee-home .hero-route__line {
  stroke: var(--ee-p3-black);
  stroke-width: 1.4;
  opacity: .72;
}

body.ee-home .hero-route__node {
  fill: var(--ee-p3-orange);
  stroke: var(--ee-p3-black);
  stroke-width: 1.2;
}

body.ee-home .proof-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 20px 0 0;
  border-top: 1px solid var(--ee-p3-line-dark);
  background: var(--ee-p3-cream);
}

body.ee-home .proof-strip li {
  min-height: 82px;
  padding: 14px 16px 14px 0;
  border: 0;
  border-right: 1px solid var(--ee-p3-line-dark);
}

body.ee-home .proof-strip li + li { padding-left: 16px; }
body.ee-home .proof-strip li:last-child { border-right: 0; }
body.ee-home .proof-strip b { color: var(--ee-p3-black); font: 800 12px/1.1 var(--ee-p3-body); }
body.ee-home .proof-strip span { color: var(--ee-p3-dim); font-size: 12px; line-height: 1.25; }

body.ee-home .hero-card {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-height: 520px;
  margin: 0;
  padding: clamp(22px, 3.1vw, 46px);
  border: 0;
  border-left: 1px solid rgba(246, 232, 215, .26);
  border-radius: 0;
  background: var(--ee-p3-black);
  box-shadow: none;
  color: var(--ee-p3-cream);
}

body.ee-home .hero-card__top {
  color: var(--ee-p3-cream);
  font: 800 12px/1 var(--ee-p3-mono);
  letter-spacing: .07em;
  text-transform: uppercase;
}

body.ee-home .live-dot { border-radius: 0; background: var(--ee-p3-orange); }

body.ee-home .hero-card__phone {
  /* Keep the actual contact action in the first desktop viewport. */
  margin: clamp(64px, 8.5vw, 128px) 0 20px;
  color: var(--ee-p3-cream);
  font: 700 clamp(38px, 4.1vw, 66px)/.9 var(--ee-p3-display);
  letter-spacing: -.035em;
}

body.ee-home .hero-quick-form { margin: 0; }

body.ee-home .hero-quick-form textarea,
body.ee-home .hero-quick-form input {
  border: 1px solid rgba(246, 232, 215, .45);
  border-radius: 0;
  background: transparent;
  color: var(--ee-p3-cream);
  font-size: 16px;
}

body.ee-home .hero-quick-form textarea::placeholder,
body.ee-home .hero-quick-form input::placeholder { color: rgba(246, 232, 215, .67); }
body.ee-home .hero-quick-form__send { gap: 8px; }
body.ee-home .hero-quick-form button { min-height: 52px; }

body.ee-home .hero-card__mark {
  right: 18px;
  bottom: 18px;
  width: 92px;
  height: 92px;
  opacity: .92;
}

body.ee-home .section {
  padding: clamp(64px, 9vw, 132px) 0;
  background: var(--ee-p3-cream);
}

body.ee-home .section-head {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr);
  gap: 20px 48px;
  align-items: end;
  padding-bottom: 30px;
  border-bottom: 1px solid var(--ee-p3-line-dark);
}

body.ee-home .section-head .eyebrow { grid-column: 1 / -1; margin: 0; }
body.ee-home .section-head h2,
body.ee-home .process-card h2,
body.ee-home .faq-card h2,
body.ee-home .tools-section h2,
body.ee-home .quote h2,
body.ee-home .standard h2 {
  color: var(--ee-p3-black);
  font-family: var(--ee-p3-display);
  font-size: clamp(34px, 4.2vw, 66px);
  font-weight: 700;
  line-height: .91;
  letter-spacing: -.035em;
  text-transform: uppercase;
}

body.ee-home .section-head p:last-child { max-width: 48ch; color: var(--ee-p3-dim); font-size: 16px; }

body.ee-home .service-list { border-bottom: 1px solid var(--ee-p3-line-dark); }

body.ee-home .service-row {
  display: grid;
  grid-template-columns: 78px 48px minmax(0, 1fr) minmax(190px, .44fr);
  min-height: 154px;
  gap: 18px;
  padding: 20px 0;
  border: 0;
  border-top: 1px solid var(--ee-p3-line-dark);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.ee-home .service-row::before,
body.ee-home .service-row::after { display: none; }
body.ee-home .service-row:hover,
body.ee-home .service-row:focus-visible { transform: none; background: rgba(13, 17, 23, .035); }
body.ee-home .service-row img { width: 64px; height: 64px; align-self: center; }
body.ee-home .service-row__num { color: var(--ee-p3-orange-ink); font: 800 13px/1 var(--ee-p3-mono); }
body.ee-home .service-row h3 { color: var(--ee-p3-black); font-family: var(--ee-p3-display); font-size: clamp(21px, 2vw, 31px); line-height: .94; }
body.ee-home .service-row p,
body.ee-home .service-row small { color: var(--ee-p3-dim); font-size: 14px; line-height: 1.38; }
body.ee-home .service-row small { align-self: end; text-align: right; font: 800 11px/1.25 var(--ee-p3-mono); letter-spacing: .045em; }

body.ee-home .standard {
  padding: clamp(64px, 9vw, 132px) 0;
  background: var(--ee-p3-black);
  color: var(--ee-p3-cream);
}

body.ee-home .standard h2,
body.ee-home .standard .eyebrow,
body.ee-home .standard__copy p { color: var(--ee-p3-cream); }
body.ee-home .standard__copy p:not(.eyebrow) { color: rgba(246, 232, 215, .7); }
body.ee-home .standard__plate { border: 1px solid rgba(246, 232, 215, .28); border-radius: 0; background: transparent; box-shadow: none; }
body.ee-home .standard__plate article { border-color: rgba(246, 232, 215, .2); }
body.ee-home .standard__plate span { color: var(--ee-p3-orange); }
body.ee-home .standard__plate h3 { color: var(--ee-p3-cream); font-family: var(--ee-p3-display); font-size: 25px; line-height: .92; }
body.ee-home .standard__plate p { color: rgba(246, 232, 215, .68); }

body.ee-home .process-tools { border-top: 1px solid var(--ee-p3-line-dark); }
body.ee-home .process-card,
body.ee-home .faq-card { border: 0; border-radius: 0; background: transparent; box-shadow: none; }
body.ee-home .process-card { border-right: 1px solid var(--ee-p3-line-dark); }
body.ee-home .steps { border-top: 1px solid var(--ee-p3-line-dark); }
body.ee-home .steps li { border-bottom-color: var(--ee-p3-line-dark); }
body.ee-home .steps span { color: var(--ee-p3-orange-ink); }
body.ee-home .steps h3 { color: var(--ee-p3-black); font-size: 18px; }
body.ee-home .steps p,
body.ee-home .faq-card p { color: var(--ee-p3-dim); }
body.ee-home .faq-card details { border-bottom-color: var(--ee-p3-line-dark); }
body.ee-home .faq-card summary { min-height: 54px; color: var(--ee-p3-black); font-size: 16px; }

body.ee-home .tools-section { border-top: 1px solid var(--ee-p3-line-dark); }
body.ee-home .tool-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; border: 1px solid var(--ee-p3-line-dark); border-bottom: 0; }
body.ee-home .tool-grid a {
  min-height: 150px;
  display: grid;
  grid-template-columns: 72px 42px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  border: 0;
  border-right: 1px solid var(--ee-p3-line-dark);
  border-bottom: 1px solid var(--ee-p3-line-dark);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.ee-home .tool-grid a:nth-child(2n) { border-right: 0; }
body.ee-home .tool-grid a:hover { transform: none; background: rgba(13, 17, 23, .04); }
body.ee-home .tool-grid a::after { color: var(--ee-p3-orange-ink); }
body.ee-home .tool-grid__media { width: 62px; height: 62px; border: 1px solid var(--ee-p3-line-dark); border-radius: 0; background: transparent; }
body.ee-home .tool-grid span:not(.tool-grid__media) { color: var(--ee-p3-orange-ink); font: 800 12px/1 var(--ee-p3-mono); }
body.ee-home .tool-grid h3 { color: var(--ee-p3-black); font-family: var(--ee-p3-display); font-size: 24px; line-height: .94; }
body.ee-home .tool-grid p { color: var(--ee-p3-dim); font-size: 13px; }

/* The field-tool catalogue is intentionally a dark bay in Prime/Dark mode.
   These late route rules keep its inherited legacy surface and its type system
   in the same material context instead of painting black text onto it. */
html[data-theme="dark"] body.ee-home .tools-section {
  background: #10161E;
  border-top-color: rgba(246, 232, 215, .24);
}

html[data-theme="dark"] body.ee-home .tools-section .section-head,
html[data-theme="dark"] body.ee-home .tools-section .tool-grid,
html[data-theme="dark"] body.ee-home .tools-section .tool-grid a,
html[data-theme="dark"] body.ee-home .tools-section .tool-grid__media {
  border-color: rgba(246, 232, 215, .24);
}

html[data-theme="dark"] body.ee-home .tools-section .section-head h2,
html[data-theme="dark"] body.ee-home .tools-section .tool-grid h3 {
  color: var(--ee-p3-cream);
}

html[data-theme="dark"] body.ee-home .tools-section .section-head .eyebrow,
html[data-theme="dark"] body.ee-home .tools-section .section-head p:last-child,
html[data-theme="dark"] body.ee-home .tools-section .tool-grid p {
  color: #C7B9A6;
}

html[data-theme="dark"] body.ee-home .tools-section .tool-grid a:hover {
  background: rgba(246, 232, 215, .06);
}

body.ee-home .quote {
  padding: clamp(64px, 9vw, 132px) 0;
  background: var(--ee-p3-orange);
}

body.ee-home .quote h2,
body.ee-home .quote .eyebrow,
body.ee-home .quote__copy p { color: var(--ee-p3-black); }
body.ee-home .quote__grid { gap: 0; border: 1px solid var(--ee-p3-black); }
body.ee-home .quote__copy { padding: clamp(28px, 4vw, 58px); border-right: 1px solid var(--ee-p3-black); }
body.ee-home .quote-form { border: 0; border-radius: 0; background: var(--ee-p3-cream); box-shadow: none; }
body.ee-home .quote-form input,
body.ee-home .quote-form select,
body.ee-home .quote-form textarea { border-color: var(--ee-p3-line-dark); border-radius: 0; background: transparent; color: var(--ee-p3-black); font-size: 16px; }
body.ee-home .quote-form button { min-height: 52px; border-radius: 0; background: var(--ee-p3-black); color: var(--ee-p3-cream); box-shadow: 2px 2px 0 var(--ee-p3-orange); }

body.ee-home .js .reveal { opacity: 1; transform: none; }

@media (max-width: 900px) {
  body.ee-home .home-nav { display: none; }
  body.ee-home .hero__grid { grid-template-columns: 1fr; min-height: 0; }
  body.ee-home .hero__copy { padding: 0 0 34px; }
  body.ee-home .hero-card { min-height: 420px; border-left: 0; border-top: 1px solid rgba(246, 232, 215, .25); }
  body.ee-home .section-head { grid-template-columns: 1fr; gap: 12px; }
  body.ee-home .service-row { grid-template-columns: 62px 38px minmax(0, 1fr); }
  body.ee-home .service-row small { grid-column: 3; text-align: left; align-self: start; }
  body.ee-home .process-card { border-right: 0; border-bottom: 1px solid var(--ee-p3-line-dark); }
}

@media (max-width: 640px) {
  body.ee-home .home-header,
  body.ee-home .home-header__inner { min-height: 56px; }
  body.ee-home .home-header__inner { width: min(100% - 24px, 1320px); gap: 7px; }
  body.ee-home .home-brand img { width: 132px; height: 34px; }
  body.ee-home .home-brand span,
  body.ee-home .home-link-call { display: none; }
  body.ee-home .home-btn { min-height: 44px; padding-inline: 10px; font-size: 10px; }
  body.ee-home .home-menu > summary {
    display: grid;
    min-width: 44px;
    min-height: 44px;
    padding: 0 8px;
    place-items: center;
    background: var(--ee-p3-black);
    color: var(--ee-p3-cream);
    box-shadow: 2px 2px 0 var(--ee-p3-orange);
  }
  body.ee-home .home-tools-link { display: none; }
  body.ee-home .hero__grid { padding-top: 32px; }
  body.ee-home .hero h1 { margin-top: 28px; font-size: clamp(52px, 17vw, 82px); }
  body.ee-home .hero__deck { font-size: 16px; }
  body.ee-home .hero__actions { display: grid; grid-template-columns: 1fr 1fr; }
  body.ee-home .hero__actions .home-btn { justify-content: center; }
  body.ee-home .proof-strip { grid-template-columns: 1fr; }
  body.ee-home .proof-strip li,
  body.ee-home .proof-strip li + li { min-height: 0; padding: 12px 0; border-right: 0; border-bottom: 1px solid var(--ee-p3-line-dark); }
  body.ee-home .proof-strip li:last-child { border-bottom: 0; }
  body.ee-home .hero-card { min-height: 440px; padding: 24px; }
  body.ee-home .hero-card__phone { margin-top: 64px; font-size: clamp(36px, 13vw, 58px); }
  body.ee-home .hero-quick-form__send { grid-template-columns: 1fr; }
  body.ee-home .service-row { grid-template-columns: 44px minmax(0, 1fr); gap: 12px; min-height: 0; padding: 22px 0; }
  body.ee-home .service-row img { display: none; }
  body.ee-home .service-row__num { grid-row: 1 / span 2; }
  body.ee-home .service-row small { grid-column: 2; }
  body.ee-home .tool-grid { grid-template-columns: 1fr; }
  body.ee-home .tool-grid a,
  body.ee-home .tool-grid a:nth-child(2n) { min-height: 126px; border-right: 0; }
  body.ee-home .quote__grid { grid-template-columns: 1fr; }
  body.ee-home .quote__copy { border-right: 0; border-bottom: 1px solid var(--ee-p3-black); }
  body.ee-home .mobile-dock { z-index: 1000; }
}
