.izhs-example-link{margin:24px 0;font-weight:700;color:#8c5c00}
.izhs-example-link a{text-decoration:underline;text-underline-offset:4px}
.izhs-roadmap.section{margin:0;padding:64px 0}
.izhs-roadmap .izhs-manager-contact{margin-top:40px}
.form-help{grid-column:1/-1;font-size:14px;margin:0}
.form-help a,.estimate form>small a{text-decoration:underline;text-underline-offset:3px}
#contact-help{font-size:13px;line-height:1.4;font-weight:400;color:var(--muted)}
#form-result{grid-column:1/-1;overflow-wrap:anywhere}
#form-result[data-state=error]{color:#9b2525}
#form-result[data-state=pending]{color:#566168}
.analytics-choice{position:fixed;z-index:1500;left:24px;bottom:24px;max-width:460px;padding:20px;background:#fff;color:#172027;border:1px solid #dfe3e4;box-shadow:0 6px 30px #17202730;border-radius:8px;font-size:14px;line-height:1.45}
.analytics-choice p{margin:0 0 14px}.analytics-choice a{text-decoration:underline}.analytics-choice>div{display:flex;gap:10px}
.analytics-choice button{min-height:44px;padding:10px 18px;border:1px solid #c8d0d3;background:#fff;border-radius:4px;font:inherit;font-weight:700;cursor:pointer}
.analytics-choice button[data-choice=accepted]{background:#f3a712;border-color:#f3a712}
.analytics-settings{font:inherit;color:inherit;background:none;border:0;padding:0;text-decoration:underline;cursor:pointer}
.thank-you{min-height:55vh;padding:72px 0}.thank-you .container{max-width:800px}.thank-you h1{font-size:clamp(32px,5vw,48px)}.thank-you p{font-size:18px}.thank-you .hero-actions{flex-wrap:wrap}
@media(max-width:960px){.analytics-choice{left:15px;right:15px;bottom:calc(90px + env(safe-area-inset-bottom));max-width:none}}
@media(max-width:640px){.izhs-roadmap.section{padding:40px 0}.izhs-example-link{font-size:15px}.analytics-choice{padding:16px}.thank-you{padding:48px 0}}
.hero::after{pointer-events:none}
.hero-audience-choice{position:relative;z-index:2}
.hero-audience-choice a{display:flex;flex-direction:column;justify-content:center;cursor:pointer;touch-action:manipulation}
.hero-audience-choice a:focus-visible{outline:3px solid #fff;outline-offset:4px}
.hero-audience-choice a:active{transform:translateY(1px)}
.letters-grid{align-items:start}
.letters-grid a{display:flex;flex-direction:column;min-width:0;height:auto;align-self:start}
.letters-grid img{width:100%;height:auto;max-width:100%;object-fit:contain}
.project-map-card[hidden]{display:none}
.project-map-shell:not(.has-selection){grid-template-columns:1fr}
/* Override intrinsic HTML heights when case images shrink on smaller screens. */
.case-hero img,.case-gallery img{height:auto;max-width:100%}
.case-gallery figure{min-width:0;align-self:start}
.case-gallery figure>a{display:block}
.case-gallery img{aspect-ratio:4/3;object-fit:contain;background:#17242c}
.case-gallery-technical img{background:#fff}
.home-cases-action{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.home-page #about .home-team-compact{padding:36px 0 0}
.process-video-link{display:inline-flex;align-items:center;min-height:48px;margin-top:26px;color:#956000;font-weight:800;text-decoration:underline;text-underline-offset:4px}
.file-label,.file-label span,#form-result{min-width:0;overflow-wrap:anywhere}
@media(max-width:960px){
  html{scroll-padding-top:calc(var(--mobile-header-height,72px) + 18px)}
  body.has-mobile-contact-bar{padding-bottom:calc(82px + env(safe-area-inset-bottom))}
  .nav-row nav.menu-open{position:fixed;top:var(--mobile-header-height,72px);bottom:0;left:0;right:0;width:100%;max-height:none;padding:16px 20px calc(24px + env(safe-area-inset-bottom));overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .services-menu .services-mega,.services-menu:hover .services-mega,.services-menu:focus-within .services-mega,.services-menu.is-open .services-mega{position:static;inset:auto;width:100%;max-height:none;transform:none;transition:none}
  .services-menu:not(.is-open) .services-mega{display:none}
  .services-menu.is-open .services-mega{display:block}
  .services-toggle,.menu-button{min-width:44px;min-height:44px;flex-shrink:0}
  .nav-row nav .services-mega a{min-height:44px;font-size:16px;line-height:1.4;padding:10px 6px}
  .mobile-contact-bar{padding:8px 10px calc(8px + env(safe-area-inset-bottom))}
  .mobile-contact-bar a{display:flex;align-items:center;justify-content:center;min-height:46px;font-size:13px;line-height:1.25}
  .mobile-menu-open .mobile-contact-bar,.lead-form-focused .mobile-contact-bar,.lightbox-open .mobile-contact-bar{visibility:hidden;pointer-events:none}
  #lead-form input,#lead-form textarea,#lead-form select{font-size:16px;min-height:48px;max-width:100%}
  #lead-form textarea{min-height:120px}
  #lead-form .button{min-height:52px}
  .inner-layout,.case-content,.estimate-grid,.hero-grid{min-width:0}
  .photo-lightbox{padding:calc(16px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom))}
  .photo-lightbox-frame{max-height:calc(100dvh - 48px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}
  .photo-lightbox-frame img{max-height:calc(100dvh - 130px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}
  .photo-lightbox-close{top:calc(12px + env(safe-area-inset-top))}
}
@media(max-width:640px){
  .home-page .hero-grid{padding-bottom:32px}
  .home-page .service-card{height:auto;min-height:190px;padding:22px;gap:12px}
  .home-page .service-card h3{font-size:24px;margin-top:0}
  .home-page .service-card p{font-size:16px;line-height:1.5}
  .home-page .service-num{width:30px;height:30px;font-size:11px}
  .home-page .home-case-card p{font-size:16px;line-height:1.5}
  .home-cases-action .button{width:100%}
  .home-page #about .home-team-compact{padding-top:24px}
  .process-owner{grid-template-columns:1fr;gap:10px;padding:20px}
  .letters-grid span{font-size:14px;line-height:1.35}
  .case-gallery figcaption{font-size:14px;line-height:1.4;overflow-wrap:anywhere}
}
/* Keep package prices below their descriptions at every screen width. */
#izhs-package{scroll-margin-top:120px}
#izhs-package strong{position:static;display:block;margin-top:14px}
#izhs-package h3{padding-right:0}
#izhs-package p{font-size:14px;line-height:1.5}
