/* The original choreography is unchanged. Only its mobile layout reference is stable. */
html.imaids-stable-mobile body.home .hero,
html.imaids-stable-mobile body.home.finale-v36 .hero{min-height:var(--imaids-layout-height,100lvh)!important}
html.imaids-stable-mobile body.home #main>.panel[data-stack]{min-height:var(--imaids-motion-height,100svh)}

/* Autofill uses the same navy and cream as manually entered phone numbers. */
html body.finale-v36 .price-form input[type="tel"]:-webkit-autofill,
html body.finale-v36 .price-form input[type="tel"]:-webkit-autofill:hover,
html body.finale-v36 .price-form input[type="tel"]:-webkit-autofill:focus{
 -webkit-text-fill-color:#eee4cf!important;caret-color:#eee4cf!important;
 -webkit-box-shadow:0 0 0 1000px #0d1723 inset!important;box-shadow:0 0 0 1000px #0d1723 inset!important;
 background-color:#0d1723!important;color:#eee4cf!important;color-scheme:dark}
html body.finale-v36 .price-form input[type="tel"]:autofill{
 -webkit-text-fill-color:#eee4cf!important;caret-color:#eee4cf!important;
 box-shadow:0 0 0 1000px #0d1723 inset!important;background-color:#0d1723!important;color:#eee4cf!important}
/* Green is reserved for confirmed success; errors retain a separate clear state. */
html body.finale-v36 .price-form .form-status[data-state="success"]{
 background:#1c4234!important;border-color:#587b66!important;color:#f5e6cb!important}
html body.finale-v36 .price-form .form-status[data-state="pending"]{
 background:#1a2735!important;border-color:#5b6973!important;color:#eee4cf!important}
html body.finale-v36 .price-form .form-status[data-state="error"]{
 background:#431e30!important;border-color:#ac526f!important;color:#f5e6cb!important}

/* Custom input painting avoids Safari's native autofill fill layer. Keep native
   telephone autocomplete and keyboard behavior intact. */
html body .price-form input[type="tel"]{appearance:none!important;-webkit-appearance:none!important;
 background:#0d1723!important;color:#eee4cf!important;-webkit-text-fill-color:#eee4cf!important;caret-color:#eee4cf!important;
 -webkit-box-shadow:inset 0 0 0 1000px #0d1723!important;box-shadow:inset 0 0 0 1000px #0d1723!important}
html body .price-form input[type="tel"]:-webkit-autofill{
 -webkit-background-clip:text!important;background-clip:text!important;
 -webkit-text-fill-color:#eee4cf!important;caret-color:#eee4cf!important;
 -webkit-box-shadow:inset 0 0 0 1000px #0d1723!important;box-shadow:inset 0 0 0 1000px #0d1723!important}
html body .price-form input[type="tel"]:autofill{
 -webkit-background-clip:text!important;background-clip:text!important;
 -webkit-text-fill-color:#eee4cf!important;box-shadow:inset 0 0 0 1000px #0d1723!important}
/* Invisible empty feedback reserves exactly the measured success-message height. */
html body .price-form .form-status{display:block!important;box-sizing:border-box!important;min-height:var(--price-status-height,5.4em)!important;overflow-anchor:none}
html body .price-form .form-status:empty{visibility:hidden!important}

@media(max-width:720px){html body.finale-v36.polished-v36.home .phone-control,html body.finale-v36.polished-v36.home .phone-control.hero-phone-aligned{bottom:calc(32px + env(safe-area-inset-bottom,0px))!important}}

html body #price-dialog .price-form .form-status{display:block!important;margin:14px 0!important;padding:12px!important;border:1px solid transparent;border-radius:9px!important;font:400 13px/1.55 var(--sans)!important}
html body #request-price .price-form .form-status{padding:16px!important;border:1px solid transparent;border-radius:12px!important}
html body #price-dialog .price-form .form-status:empty{display:block!important}

/* Storybook's wide-screen menu uses the same clear destinations as ALINE.
   The original hamburger and all mobile header geometry remain unchanged. */
html body .site-header .storybook-desktop-nav{display:none}
@media(min-width:1100px), (min-width:960px) and (orientation:landscape){
 html body.finale-v36.polished-v36.review-v37 .site-header .storybook-desktop-nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(20px,2vw,32px);margin-left:auto;min-height:44px}
 html body.finale-v36.polished-v36.review-v37 .site-header .storybook-desktop-nav a{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;color:#eee4cf;font:600 14px/1.4 var(--sans);text-decoration:none;white-space:nowrap;text-shadow:0 1px 3px #0009;transition:color .18s ease;text-underline-offset:7px}
 html body.finale-v36.polished-v36.review-v37 .site-header .storybook-desktop-nav a:hover{color:#e4bd78;text-decoration:underline;text-decoration-thickness:1px}
 html body.finale-v36.polished-v36.review-v37 .site-header .storybook-desktop-nav a:focus-visible{outline:2px solid #e4bd78;outline-offset:5px;border-radius:2px}
 html body.finale-v36.polished-v36.review-v37 .site-header .header-actions{display:none!important}
}

/* Bound native vertical scrolling at the page edges, as confirmed for ALINE.
   Preserve all interior scrolling, parallax, reveals, forms and FAQ movement. */
html,body{overscroll-behavior-y:none}
