/* Elementor wraps every widget in container, widget and widget-container divs
   the source layout never had. On the public site they take no part in
   layout, so the section markup lays out exactly as the source page does.
   The editor keeps its real boxes so widgets stay clickable. */
body:not(.elementor-editor-active) .elementor[data-elementor-type],
body:not(.elementor-editor-active) .elementor .e-con,
body:not(.elementor-editor-active) .elementor .e-con-inner,
body:not(.elementor-editor-active) .elementor .elementor-element,
body:not(.elementor-editor-active) .elementor .elementor-widget-container {
	display: contents !important;
}

/* Images carry intrinsic width/height (no layout shift while loading). Zero specificity:
   the attributes only reserve the aspect ratio; any stylesheet height still wins. */
:where(img[width][height]){height:auto}

.lh-skip{position:fixed;top:-100px;left:15px;z-index:1000;padding:16px;background:#fff078;color:#101010;font:16px/1 Arial,sans-serif}
.lh-skip:focus{top:15px}

/* How It Works: a sub-pixel overflow in the design (no visible element crosses the edge)
   gave phones a 1px horizontal scroll, and at tablet widths two decorative stickers sit
   past the right edge (10px at 820). clip (not hidden) keeps sticky elements working. */
@media(max-width:1024px){html:has(body.lh-page-hiw){overflow-x:clip}body.lh-page-hiw{overflow-x:clip}}

/* WCAG AA contrast (axe, 2026-10-20): the smallest shade shifts that clear 4.5:1 on small text. */
body.lh-page-hiw .landscape-tags span{color:#c2005a}
body.lh-page-hiw .coverage-footnote,body.lh-page-hiw .coverage-footnote .factor-source,body.lh-page-hiw .coverage-footnote a{color:#535d75}
body.lh-page-hiw .category-reference-note{color:#666}
body.lh-page-hiw .schema-service.schema-translate>span{color:#0620d4}
body.lh-page-hiw #review-reality-check .closing-copy .eyebrow,body.lh-page-hiw .review-next-checks article>span{color:#ffb6de}
body.lh-page-fppc .neighborhood-finale>figcaption{color:#0a1a8c}
body.home .playback-label{background:rgba(16,16,16,.62)}
body.home .emergency-motion{color:#0620d4!important;opacity:1!important}
body.home nav a{text-shadow:0 1px 2px rgba(0,0,0,.75),0 0 14px rgba(0,0,0,.5)}

/* iOS zooms into form fields under 16px; keep the contact fields at 16px on touch-size screens. */
@media(max-width:1024px){body.contact-page input,body.contact-page select,body.contact-page textarea{font-size:16px!important}}

/* Metric-matched fallbacks for the web fonts (performance pass 2026-10-23). The site and page
   stylesheets list each one right after its web font, so the text that paints before the web
   font arrives takes the same space and does not move when it swaps (layout shift on
   How it works was 0.159, all of it from this). Only the first moments of a page view use
   them; once the web fonts load nothing changes. Values tuned from rendered widths:
   Impact for Anton where it exists, Arial / Liberation Sans everywhere else. Each unicode-range
   is exactly the characters its web font has (the deployed file's cmap), so a character the web
   font lacks (the hand-lettered arrows, for one) still falls through to the next font in the
   stack as before, instead of to a resized Arial. Regenerate a range if its font file changes. */
@font-face{font-family:"LH Montreal Fallback";src:local("Arial"),local("ArialMT"),local("Liberation Sans"),local("LiberationSans-Regular"),local("Helvetica");size-adjust:93.94%;ascent-override:101.98%;descent-override:25.76%;line-gap-override:0%;unicode-range:U+20-7E,U+A0-113,U+116-12B,U+12E-131,U+134-13E,U+141-148,U+14A-14D,U+150-17E,U+192,U+218-21B,U+237,U+2C6-2C7,U+2D8-2DD,U+300-304,U+306-308,U+30A-30C,U+312,U+326-328,U+335-338,U+394,U+3A9,U+3BC,U+3C0,U+400-45F,U+490-493,U+496-497,U+49A-49B,U+4A2-4A3,U+4AE-4B3,U+4B6-4B7,U+4BA-4BB,U+4D8-4D9,U+4E2-4E3,U+4E8-4E9,U+4EE-4EF,U+139A,U+1E80-1E85,U+1EF2-1EF3,U+2000-200B,U+2013-2014,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2030,U+2039-203A,U+2044,U+2070,U+2074-2079,U+2080-2089,U+20AC,U+2122,U+2126,U+215B-215E,U+2190-2199,U+2202,U+2205-2206,U+220F,U+2211-2212,U+2219-221A,U+221E,U+222B,U+2248,U+2260,U+2264-2267,U+2460-2468,U+24EA,U+2580,U+2584,U+2588,U+25A0-25A1,U+25AA-25AB,U+25B2,U+25BA,U+25BC,U+25C4,U+25CA-25CB,U+25CF,U+2B0E-2B11,U+2BA0-2BA7,U+FB01-FB02,U+FEFF,U+1F150}
@font-face{font-family:"LH Anton Fallback";src:local("Impact");size-adjust:97%;ascent-override:121.26%;descent-override:33.93%;line-gap-override:0%;unicode-range:U+20-7E,U+A0-17F,U+218-21B,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2007-200B,U+2010,U+2012-2015,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2030,U+2032-2033,U+2039-203A,U+2044,U+2052,U+2074,U+20AC,U+2122,U+2190-2193,U+2212,U+2215,U+25B6-25B7,U+25C6,U+FB01-FB02}
@font-face{font-family:"LH Anton Fallback Sans";src:local("Arial"),local("ArialMT"),local("Liberation Sans"),local("LiberationSans-Regular"),local("Helvetica");size-adjust:70%;ascent-override:168.04%;descent-override:47.01%;line-gap-override:0%;unicode-range:U+20-7E,U+A0-17F,U+218-21B,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2007-200B,U+2010,U+2012-2015,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2030,U+2032-2033,U+2039-203A,U+2044,U+2052,U+2074,U+20AC,U+2122,U+2190-2193,U+2212,U+2215,U+25B6-25B7,U+25C6,U+FB01-FB02}
@font-face{font-family:"LH Caveat Fallback";src:local("Arial"),local("ArialMT"),local("Liberation Sans"),local("LiberationSans-Regular"),local("Helvetica");size-adjust:76.5%;ascent-override:125.49%;descent-override:39.22%;line-gap-override:0%;unicode-range:U+20-7E,U+A0-17E,U+218-21B,U+2BC,U+2C6,U+2DA,U+2DC,U+2010,U+2013-2014,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2030,U+2032-2033,U+2039-203A,U+2044,U+2052,U+2074,U+20AC,U+2122,U+2212,U+2215,U+FB01-FB02}
@font-face{font-family:"LH Freight Fallback";font-style:italic;src:local("Georgia Italic"),local("Georgia-Italic");size-adjust:71.48%;ascent-override:136.26%;descent-override:36.79%;line-gap-override:3.78%;unicode-range:U+20-7E,U+A0-127,U+12A-131,U+134-137,U+139-148,U+14C-165,U+16A-17E,U+192,U+1FA-1FF,U+218-21B,U+237,U+2C6-2C7,U+2D8-2DD,U+3BC,U+1E80-1E85,U+2009,U+2013-2014,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2030,U+2039-203A,U+2044,U+2070,U+2074-207B,U+2080-2089,U+20AC,U+2122,U+2212,U+2215,U+2248,U+2260,U+2264-2265,U+24DF,U+F6C3,U+FB00-FB04}
