/*
 * EricStrate.com desktop/mobile visual refinement - 2026-10-19.
 * Presentation only. The WordPress page, SEO metadata, visible copy,
 * WARP nodes/JSON-LD and destination URLs remain the authoritative sources.
 * A live HTML element is always used for text; the background is decorative.
 */
body.home { --es-premium-ink:#0b1d42; --es-premium-muted:#344d71; }
body.home #post-26 .es-home-wacp .es-hero-row::before {
  background-color:#e5f3ff !important;
  background-image:
    linear-gradient(90deg,rgba(255,253,248,.94) 0%,rgba(252,251,245,.73) 30%,rgba(252,251,245,.18) 59%,rgba(252,251,245,0) 100%),
    url("https://images.unsplash.com/photo-1553191657-244838d47167?auto=format&fit=crop&w=2400&q=82") !important;
  background-size:cover !important;
  background-position:center 51% !important;
  background-repeat:no-repeat !important;
}
body.home #post-26 .es-home-wacp .es-hero-row { padding-top:41px; }
body.home #post-26 .es-home-wacp .es-hero-row>.es-wacp-content>h1 {
  font-size:clamp(47px,4.9vw,74px) !important;
  line-height:1.03 !important;
  letter-spacing:-.047em !important;
  max-width:820px;
  color:var(--es-premium-ink) !important;
  text-shadow:none !important;
  margin-bottom:17px !important;
  font-weight:790 !important;
}
body.home #post-26 .es-home-wacp .es-home-lead {
  color:var(--es-premium-muted) !important;
  text-shadow:none !important;
  max-width:660px;
  font-size:17px !important;
  line-height:1.43 !important;
}
body.home #post-26 .es-home-wacp .es-home-lead a {
  color:#075988 !important;
  font-weight:700;
  text-shadow:none !important;
  text-underline-offset:3px;
}
body.home #post-26 .es-home-wacp .es-home-proof {
  color:#15365c !important;
  text-shadow:none !important;
  font-size:12px !important;
  gap:20px;
}
body.home #post-26 .es-home-wacp .es-home-proof span::before {
  color:#fff;
  background:#0788a7;
}
body.home #post-26 .es-home-wacp .es-hero-primary {
  background:#c4ef03; border-color:#c4ef03;
  color:#102a17 !important; border-radius:10px;
  box-shadow:0 4px 12px rgba(13,57,48,.11);
}
body.home #post-26 .es-home-wacp .es-hero-secondary {
  color:#0d365f !important;
  background:rgba(255,255,255,.85);
  border:1.5px solid #123a65;
  border-radius:10px;
  box-shadow:none;
}
body.home #post-26 .es-home-wacp .es-hero-secondary:hover {
  background:#fff;
}
body.home #post-26 .es-home-wacp .es-hero-button {
  min-height:49px;
  font-size:14px;
  padding:11px 18px;
}
body.home #post-26 .es-home-wacp .es-request-card {
  background:rgba(255,255,255,.98);
  border:1px solid #e4edf6;
  border-radius:13px;
  box-shadow:0 12px 32px rgba(23,55,91,.14);
  padding:22px 24px 18px;
  margin-top:-5px;
  position:relative;
}
body.home #post-26 .es-home-wacp .es-request-card::before {
  content:"";
  position:absolute;
  top:25px;left:22px;
  width:82px;height:82px;
  border-radius:50%;
  background:#e5edf5 url("https://ericstrate.com/wp-content/uploads/2026/04/cropped-EricStratePhoto.jpg") center 35%/cover no-repeat;
  border:3px solid #fff;
  box-shadow:0 1px 7px rgba(23,55,91,.14);
  pointer-events:none;
}
body.home #post-26 .es-home-wacp .es-request-card>.es-card-eyebrow,
body.home #post-26 .es-home-wacp .es-request-card>h2,
body.home #post-26 .es-home-wacp .es-request-card>.es-card-intro {
  margin-left:104px;
}
body.home #post-26 .es-home-wacp .es-request-card>.es-card-eyebrow {font-size:10px;letter-spacing:.09em;margin-top:0;}
body.home #post-26 .es-home-wacp .es-request-card>h2 {
  font-size:24px;line-height:1.14;letter-spacing:-.025em;
  color:var(--es-premium-ink);
  margin-bottom:7px;
}
body.home #post-26 .es-home-wacp .es-request-card>.es-card-intro {
  font-size:12.5px;line-height:1.38;
  margin-bottom:37px;color:#64758c;
}
body.home #post-26 .es-home-wacp .es-email-button {
  border-radius:8px;background:#184877;
  box-shadow:none;min-height:43px;
}
body.home #post-26 .es-home-wacp .es-request-card .es-form-note {font-size:10px;}
body.home #post-26 .es-home-wacp .es-request-mobile-link{display:none;}
html body.home #post-26 .es-home-wacp .es-hero-row .wacp-citation > summary.wacp6-marker {
  color:#075781 !important;
  background:#d6f3fb !important;
  border-radius:6px !important;
  padding:3px 5px !important;
  font-weight:700 !important;
  text-shadow:none !important;
}
body.home #post-26 .es-home-wacp .es-home-featureband {
  background:#f2f8fc;gap:17px;
  padding-top:17px;padding-bottom:17px;
}
body.home #post-26 .es-home-wacp .es-home-featureband svg {width:30px;height:30px;}
body.home #post-26 .es-home-wacp .es-home-featureband strong {color:#14294b;}
body.home #post-26 .es-home-wacp .es-home-featureband small {font-size:10px;}
body.home #post-26 .es-home-wacp .es-home-services {
  gap:15px;
  margin-top:27px;margin-bottom:45px;
}
body.home #post-26 .es-home-wacp .es-service-card {
  border:1px solid #e1eaf2;
  border-radius:12px;
  padding:19px;
  box-shadow:0 8px 22px rgba(13,48,92,.045);
}
body.home #post-26 .es-home-wacp .es-service-card p {
  font-size:13px !important;line-height:1.48 !important;
}
body.home #post-26 .es-home-wacp .es-service-card h3 {
  font-size:16px !important;line-height:1.24 !important;
}
body.home #post-26 .es-home-wacp .es-services-intro h2 {font-size:26px;}
body.home #post-26 .es-home-wacp .es-services-intro>p:not(.es-card-eyebrow) {
  font-size:13px;line-height:1.55;
}
html body.home .es-yelp-slider--featureband {
  border-bottom:1px solid #e3edf5;
  background:linear-gradient(125deg,#f7fbfe 0%,#fff 48%,#f5fafe 100%);
  padding:24px 22px 17px;
}
html body.home .es-yelp-slider--featureband .es-yelp-slider__inner {max-width:1250px;}
html body.home .es-yelp-slider--featureband .es-yelp-slider__row {
  grid-template-columns:36px minmax(0,1fr) 36px;
}
html body.home .es-yelp-slider--featureband .es-yelp-slider__card {
  flex-basis:calc((100% - 24px)/3) !important;
  min-height:176px;
  padding:18px 20px;
  border-radius:12px;
}
html body.home .es-yelp-slider--featureband .es-yelp-slider__quote {
  font-size:15px !important;line-height:1.55 !important;
}
html body.home .es-yelp-slider--featureband .es-yelp-slider__reviewer {font-size:13px;}
html body.home .es-yelp-slider--featureband .es-yelp-slider__location {font-size:12px;}
html body.home .es-yelp-slider--featureband .es-yelp-slider__title {font-size:27px !important;}
html body.home .es-yelp-slider--featureband .es-yelp-slider__sub {font-size:13px !important;}
@media (max-width:1250px) and (min-width:761px) {
  body.home #post-26 .es-home-wacp .es-hero-row>.es-wacp-content>h1 {font-size:clamp(44px,4.45vw,59px) !important;}
  body.home #post-26 .es-home-wacp .es-hero-row {grid-template-columns:24px minmax(0,1fr) 350px;}
  body.home #post-26 .es-home-wacp .es-request-card>.es-card-eyebrow,
  body.home #post-26 .es-home-wacp .es-request-card>h2,
  body.home #post-26 .es-home-wacp .es-request-card>.es-card-intro {margin-left:92px;}
  body.home #post-26 .es-home-wacp .es-request-card::before {width:72px;height:72px;}
  body.home #post-26 .es-home-wacp .es-request-card>h2 {font-size:21px;}
}
@media (max-width:1024px) and (min-width:761px) {
  body.home #post-26 .es-home-wacp .es-hero-row {grid-template-columns:23px minmax(0,1fr) 320px;}
  body.home #post-26 .es-home-wacp .es-hero-row>.es-wacp-content>h1 {font-size:clamp(38px,4.8vw,49px) !important;}
  body.home #post-26 .es-home-wacp .es-home-lead {font-size:15px !important;}
}
@media (max-width:760px) {
  body.home .es-home-wrap{padding-left:19px;padding-right:19px;}
  body.home #post-26 .es-home-wacp .es-hero-row {
    grid-template-columns:minmax(0,1fr) !important;
    gap:0;
    padding-top:40px;
  }
  body.home #post-26 .es-home-wacp .es-hero-row::before{
    margin-top:-40px !important;
    background-color:#d5eaf8 !important;
    background-image:
      linear-gradient(180deg,rgba(250,251,251,.91) 0%,rgba(250,251,251,.81) 31%,rgba(250,251,251,.08) 66%,rgba(250,251,251,.01) 100%),
      url("https://images.unsplash.com/photo-1553191657-244838d47167?auto=format&fit=crop&w=950&q=80") !important;
    background-position:58% center !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
  }
  body.home #post-26 .es-home-wacp .es-hero-row>.es-wacp-content>h1,
  body.home #post-26 .es-home-wacp .es-hero-row>.es-home-lead,
  body.home #post-26 .es-home-wacp .es-home-hero-actions,
  body.home #post-26 .es-home-wacp .es-home-proof{
    grid-column:1/-1 !important;
  }
  body.home #post-26 .es-home-wacp .es-hero-row>.es-wacp-content>h1 {
    font-size:clamp(34px,8.55vw,49px) !important;
    line-height:1.06 !important;
    max-width:100%;
    margin:0 0 15px !important;
    letter-spacing:-.038em !important;
  }
  body.home #post-26 .es-home-wacp .es-hero-row>.es-wacp-content>h1 br {display:none;}
  body.home #post-26 .es-home-wacp .es-home-lead {
    font-size:16px !important;
    line-height:1.5 !important;
    margin:0 0 19px !important;
    max-width:100%;
  }
  body.home #post-26 .es-home-wacp .es-hero-row>.es-answer-rail{
    position:absolute;
    left:auto;right:0;top:7px;
    padding:0 !important;
    grid-column:1/-1;
  }
  body.home #post-26 .es-home-wacp .es-hero-row>.es-answer-rail .es-answer-card {text-align:right;}
  body.home #post-26 .es-home-wacp .es-hero-button {
    min-height:48px;
    font-size:13px;
    border-radius:9px;
  }
  body.home #post-26 .es-home-wacp .es-home-proof{
    color:#183b5c !important;
    gap:12px;
    font-size:10px !important;
    margin-bottom:26px;
  }
  body.home #post-26 .es-home-wacp .es-request-card {
    grid-column:1/-1 !important;
    grid-row:5;
    width:100%;
    max-width:490px;
    min-height:118px;
    padding:17px 22px 16px;
    margin:0 auto 22px;
    background:rgba(255,255,255,.98);
  }
  body.home #post-26 .es-home-wacp .es-request-card::before {
    top:20px;left:17px;width:74px;height:74px;
  }
  body.home #post-26 .es-home-wacp .es-request-card>.es-card-eyebrow,
  body.home #post-26 .es-home-wacp .es-request-card>h2,
  body.home #post-26 .es-home-wacp .es-request-card>.es-card-intro {margin-left:84px;margin-right:17px;}
  body.home #post-26 .es-home-wacp .es-request-card>.es-card-eyebrow {font-size:9px;margin-bottom:5px;}
  body.home #post-26 .es-home-wacp .es-request-card>h2 {font-size:21px;line-height:1.15;margin-bottom:5px;}
  body.home #post-26 .es-home-wacp .es-request-card>.es-card-intro {font-size:12px;line-height:1.3;margin-bottom:0;}
  body.home #post-26 .es-home-wacp .es-request-card .es-request-form,
  body.home #post-26 .es-home-wacp .es-request-card .es-form-note {display:none;}
  body.home #post-26 .es-home-wacp .es-request-card .es-request-mobile-link {
    display:block;position:absolute;inset:0;z-index:3;
    border-radius:inherit;
  }
  body.home #post-26 .es-home-wacp .es-request-card::after {
    content:"›";position:absolute;right:13px;top:43px;color:#057ab4;
    font-size:30px;font-weight:500;pointer-events:none;
  }
  body.home #post-26 .es-home-wacp .es-request-card:focus-within {
    outline:3px solid #045788;outline-offset:3px;
  }
  body.home #post-26 .es-home-wacp .es-home-featureband {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px 14px;
    padding:21px 19px;
  }
  body.home #post-26 .es-home-wacp .es-home-featureband small {font-size:10px;}
  body.home #post-26 .es-home-wacp .es-home-featureband strong {font-size:13px;}
  body.home #post-26 .es-home-wacp .es-home-services {
    grid-template-columns:minmax(0,1fr);
    gap:12px;
    padding:0 2px;
    margin-top:27px;
  }
  body.home #post-26 .es-home-wacp .es-services-intro {
    display:block;
    grid-column:1/-1 !important;
    padding:0 0 9px !important;
  }
  body.home #post-26 .es-home-wacp .es-services-intro h2 {font-size:25px;}
  body.home #post-26 .es-home-wacp .es-service-card {
    display:grid;
    grid-template-columns:61px minmax(0,1fr) 17px;
    grid-template-rows:auto auto;
    gap:2px 13px;
    padding:14px 15px;
    min-height:108px;
    align-content:center;
  }
  body.home #post-26 .es-home-wacp .es-service-card .es-service-icon{
    grid-column:1;grid-row:1/3;
    align-self:center;
    width:56px;height:56px;margin:0;
  }
  body.home #post-26 .es-home-wacp .es-service-card h3{
    grid-column:2;grid-row:1;
    font-size:16px !important;
    margin:0 0 3px;
  }
  body.home #post-26 .es-home-wacp .es-service-card p{
    grid-column:2;grid-row:2;
    font-size:12px !important;
    margin:0;
  }
  body.home #post-26 .es-home-wacp .es-service-card>a{
    grid-column:3;grid-row:1/3;
    align-self:center;
    margin:0;
    font-size:0;
  }
  body.home #post-26 .es-home-wacp .es-service-card>a>span[aria-hidden]{
    font-size:24px;
  }
  body.home #post-26 .es-home-wacp .es-hero-row>.es-wacp-content>p,
  body.home #post-26 .es-home-wacp .es-hero-row>.es-wacp-content>[data-warp-evidence],
  body.home #post-26 .es-home-wacp .es-hero-row>.es-profile,
  body.home #post-26 .es-home-wacp .es-about-anchor {
    grid-column:1/-1 !important;
  }
  html body.home .es-yelp-slider--featureband{padding:19px 16px 14px;}
  html body.home .es-yelp-slider--featureband .es-yelp-slider__card{
    flex-basis:100% !important;min-height:177px;padding:18px;
  }
  html body.home .es-yelp-slider--featureband .es-yelp-slider__quote{font-size:15px!important;}
  html body.home .es-yelp-slider--featureband .es-yelp-slider__title{font-size:23px!important;}
  html body.home .es-yelp-slider--featureband .es-yelp-slider__row{
    grid-template-columns:29px minmax(0,1fr) 29px;
    gap:5px;
  }
  html body.home .es-yelp-slider--featureband .es-yelp-slider__nav {width:29px;height:35px;}
}
@media (max-width:400px) {
 body.home #post-26 .es-home-wacp .es-hero-row>.es-wacp-content>h1 {font-size:35px !important;}
 body.home #post-26 .es-home-wacp .es-request-card>.es-card-eyebrow,
 body.home #post-26 .es-home-wacp .es-request-card>h2,
 body.home #post-26 .es-home-wacp .es-request-card>.es-card-intro {margin-left:77px;}
 body.home #post-26 .es-home-wacp .es-request-card::before {width:65px;height:65px;}
 body.home #post-26 .es-home-wacp .es-request-card>h2 {font-size:19px;}
}
@media (prefers-reduced-motion:reduce) {
 body.home #post-26 .es-home-wacp *{scroll-behavior:auto!important;transition-duration:.01ms!important;}
}


/* ES-HOMEPAGE-ABOUT-REFLOW-20261019
 * The existing biography uses display:contents so each WARP evidence
 * paragraph is a grid child. The Yelp carousel shifted the lower
 * content to rows 9+; the prior selectors placed a1-f2-e1 and a1-f3-e1
 * in the same grid row (11), visually overlapping the paragraphs.
 * Explicitly give every item one row and preserve the photo in col 3.
 * Scoped to page 26; no content, schema, WARP-ID, link or UI-widget edits.
 */
@media (min-width: 761px) {
  html body.home #post-26 .es-home-wacp .es-hero-row > .es-wacp-content > p:first-of-type {
    grid-column: 2 !important;
    grid-row: 9 !important;
    position: relative;
    min-width: 0;
    margin: 0 44px 20px 0 !important;
    font-size: 22px !important;
    line-height: 1.3 !important;
    font-weight: 750;
    color: #0b1d42;
  }
  html body.home #post-26 .es-home-wacp .es-hero-row > .es-wacp-content > #a1-f1-e1 {
    grid-column: 2 !important;
    grid-row: 10 !important;
  }
  html body.home #post-26 .es-home-wacp .es-hero-row > .es-wacp-content > #a1-f2-e1 {
    grid-column: 2 !important;
    grid-row: 11 !important;
  }
  html body.home #post-26 .es-home-wacp .es-hero-row > .es-wacp-content > #a1-f3-e1 {
    grid-column: 2 !important;
    grid-row: 12 !important;
  }
  html body.home #post-26 .es-home-wacp .es-hero-row > .es-profile {
    grid-column: 3 !important;
    grid-row: 9 / 13 !important;
    position: static !important;
    float: none !important;
    width: min(100%, 250px);
    min-width: 0;
    margin: 0 auto 24px !important;
    padding: 0 !important;
    justify-self: center;
    align-self: start;
    text-align: center;
  }
}
/* Shared biography typography: preserve the original sentences/anchors. */
html body.home #post-26 .es-home-wacp .es-hero-row > .es-wacp-content > #a1-f1-e1,
html body.home #post-26 .es-home-wacp .es-hero-row > .es-wacp-content > #a1-f2-e1,
html body.home #post-26 .es-home-wacp .es-hero-row > .es-wacp-content > #a1-f3-e1 {
  position: relative !important;
  float: none !important;
  min-width: 0;
  width: auto;
  margin: 0 44px 22px 0 !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  color: #102846 !important;
  text-shadow: none !important;
  overflow-wrap: break-word;
}
html body.home #post-26 .es-home-wacp .es-hero-row > .es-profile img {
  display: block;
  float: none !important;
  width: min(100%, 220px) !important;
  height: auto !important;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 16px;
  margin: 0 auto !important;
}
html body.home #post-26 .es-home-wacp .es-hero-row > .es-profile .es-profile-link {
  float: none !important;
  margin: 12px 0 0 !important;
  text-align: center !important;
}
@media (max-width: 760px) {
  html body.home #post-26 .es-home-wacp .es-hero-row > .es-wacp-content > p:first-of-type {
    grid-column: 1 / -1 !important;
    grid-row: 9 !important;
    position: relative !important;
    margin: 0 0 18px !important;
    min-width: 0;
    font-size: 21px !important;
    line-height: 1.35 !important;
    color: #0b1d42;
  }
  html body.home #post-26 .es-home-wacp .es-hero-row > .es-wacp-content > #a1-f1-e1 {
    grid-column: 1 / -1 !important;
    grid-row: 10 !important;
  }
  html body.home #post-26 .es-home-wacp .es-hero-row > .es-wacp-content > #a1-f2-e1 {
    grid-column: 1 / -1 !important;
    grid-row: 11 !important;
  }
  html body.home #post-26 .es-home-wacp .es-hero-row > .es-wacp-content > #a1-f3-e1 {
    grid-column: 1 / -1 !important;
    grid-row: 12 !important;
  }
  html body.home #post-26 .es-home-wacp .es-hero-row > .es-wacp-content > #a1-f1-e1,
  html body.home #post-26 .es-home-wacp .es-hero-row > .es-wacp-content > #a1-f2-e1,
  html body.home #post-26 .es-home-wacp .es-hero-row > .es-wacp-content > #a1-f3-e1 {
    margin: 0 0 20px !important;
    font-size: 16px !important;
    line-height: 1.72 !important;
  }
  html body.home #post-26 .es-home-wacp .es-hero-row > .es-profile {
    grid-column: 1 / -1 !important;
    grid-row: 13 !important;
    position: static !important;
    float: none !important;
    justify-self: center !important;
    align-self: start;
    width: min(100%, 240px);
    margin: 8px auto 32px !important;
    padding: 0 !important;
    text-align: center !important;
  }
  html body.home #post-26 .es-home-wacp .es-hero-row > .es-profile img {
    width: min(100%, 185px) !important;
  }
}


/* ES-WARP-A1-CITATION-COLOR-20261019: match normal WARP citation typography on the light hero.
   #a1 is necessary to override the later inline hero-only white rule. */
html body.home #post-26 .es-home-wacp .es-hero-row #a1 .wacp-citation > summary.wacp6-marker {
  color: #3366cc !important;
}
