/* The responsive homepage and the dedicated phone HTML share this layout. */
html{background:#fff}
body{height:auto;min-height:100svh;grid-template-rows:80px minmax(0,1fr) auto;background:#fff}
.site-header{padding:7px 16px;border-bottom:1px solid #e8e8e8;gap:12px}
.brand{width:180px;max-width:52%;flex:none}
.site-header nav{gap:0;min-width:0}
.site-header nav>button{display:none}
.header-phone{display:flex;align-items:center;justify-content:center;min-height:44px;border:0;padding:0;font-size:14px;letter-spacing:.1px;white-space:nowrap}
.homepage{display:grid;grid-template-rows:auto auto minmax(152px,1fr);align-content:start;align-items:stretch;justify-content:stretch;background:#fff;overflow:visible}
.headline{grid-row:1;order:1;width:100%;padding:24px 16px;text-shadow:none;background:#fff}
.eyebrow{font-size:10px;letter-spacing:1.4px;line-height:1.5;margin:0 0 13px}
.eyebrow span{padding:0 3px}
h1{font-size:36px;line-height:1.08;letter-spacing:-1.45px;font-weight:600;margin:0}
.headline-first{display:block}
.affordability{max-width:350px;margin:16px auto 0;font-size:24px;font-weight:700;letter-spacing:1.2px;line-height:1.2;text-wrap:balance}
.entrance-image{grid-row:2;order:2;position:relative;inset:auto;z-index:0;display:block;width:100%;height:auto;max-height:none;min-height:0;object-fit:contain;object-position:center;aspect-ratio:1672/941;background:#fff;flex:none}
.scene-shade{display:none}
.welcome{grid-row:3;order:3;width:100%;display:flex;align-items:center;justify-content:center;padding:20px;color:var(--ink);background:#fff}
.actions{display:grid;grid-template-columns:1fr;gap:12px;width:100%;max-width:420px}
.button{width:100%;height:auto;min-height:52px;padding:16px 20px;font-size:13px;line-height:1.3;font-weight:700;letter-spacing:1.1px;gap:22px;border-radius:6px}
.button.primary{box-shadow:0 4px 14px #65080c14}
.button.secondary{color:var(--ink);border:1px solid #babdbf;background:#fff;backdrop-filter:none;gap:12px}
.button.secondary:hover{background:#f3f3f3}
.button .play{font-size:11px}
footer{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:15px 16px;border-top:3px solid var(--red);text-align:center}
.service-line{font-size:11px;line-height:1.4;letter-spacing:.65px}
.domain{font-size:15px;line-height:1.3;letter-spacing:-.2px;margin:0}
dialog{max-height:calc(100svh - 32px);overflow:auto}
#contact-dialog{width:calc(100% - 32px);max-width:398px;padding:40px 24px 28px}
.close-dialog{width:44px;height:44px}
#contact-dialog>.eyebrow{font-size:10px;letter-spacing:1.4px;padding-right:26px}
h2{font-size:31px}
.contact-phone{font-size:30px}
.contact-links{gap:20px;margin:14px 0 20px}
.contact-links a,.directions{display:inline-flex;align-items:center;min-height:44px;font-size:15px}
address{font-size:15px}
#video-dialog{width:calc(100% - 24px);max-width:720px}
.video-toolbar{padding:10px 12px;font-size:14px}
video{max-height:70svh}
body.phone-layout{max-width:430px;margin-inline:auto}
@media(min-width:900px){html:has(body.phone-layout){background:#e9eaeb}body.phone-layout{box-shadow:0 0 0 1px #d8dadb,0 16px 60px #171b2120}}
@media(max-width:359px){.site-header{padding-inline:12px;gap:8px}.brand{width:156px}.header-phone{font-size:12px}.headline{padding-inline:12px}.eyebrow{font-size:9px;letter-spacing:1.1px}h1{font-size:32px}.affordability{font-size:22px;letter-spacing:1px}.welcome{padding:18px 16px}.service-line{font-size:10px}}

.site-header nav .nav-link{display:none}

.site-header nav .nav-link{display:flex;align-items:center;font-size:11px;letter-spacing:0;white-space:nowrap}.site-header nav{gap:12px}.site-header .brand{width:160px;max-width:44%}.header-phone{font-size:13px}@media(max-width:359px){.site-header .brand{width:136px}.site-header nav{gap:8px}.site-header nav .nav-link{font-size:10px}.header-phone{font-size:12px}}
