/* buildcontrol — Site footer, address block and skyline. */
/* footer */
.foot{position:relative;background:var(--header-grad);color:var(--text-on-dark);padding:70px 0 0;overflow:hidden}

.foot .wrap{position:relative;z-index:1}
.foot::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse 70% 90% at 15% 0%,#000 30%,transparent 72%)}
.foot::after{content:"";position:absolute;bottom:-140px;right:-100px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(45,107,200,.16),transparent 66%)}
.foot .wrap{position:relative;z-index:1}
.foot-grid{display:grid;grid-template-columns:1.5fr .8fr .8fr .8fr .8fr 1fr;gap:28px}
.foot-top{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding-bottom:24px;margin-bottom:30px;border-bottom:1px solid rgba(255,255,255,.12)}
.foot-top .foot-logo{display:flex;align-items:center;gap:14px;flex:0 0 auto}
.foot-top .foot-desc{flex:1;min-width:220px;margin:0;max-width:420px}
.foot-top .foot-cta-row{flex:0 0 auto;margin:0;display:flex;gap:12px}
.foot-grid{grid-template-columns:1fr 1fr 1fr 1fr 1.5fr!important}
.foot-grid{grid-template-columns:1fr 1fr 1fr 1fr!important}.foot-visit{margin-top:8px;padding-top:26px;border-top:1px solid rgba(255,255,255,.1)}
.foot-lower{margin-top:8px;padding-top:30px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:56px;flex-wrap:wrap;align-items:flex-start}
.foot-band{display:flex;align-items:center;justify-content:flex-start;gap:28px;flex-wrap:wrap;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:24px 30px;margin-bottom:40px}
.foot-band .fb-left{display:flex;align-items:center;gap:16px;min-width:0}
.foot-band .foot-logo{display:flex;align-items:center;gap:12px;flex:none}
.foot-band .fb-copy h3{font-family:var(--f-header);font-weight:700;font-size:19px;color:#fff;margin:0 0 3px;line-height:1.25}
.foot-band .fb-copy p{font-size:13.5px;color:#B7C8DE;margin:0}
.foot-band .foot-cta-row{margin:0;display:flex;gap:12px;flex:none;flex-wrap:wrap}
.foot-band .foot-desc{display:none}
.foot-contactrow{margin-top:36px;padding-top:28px;border-top:1px solid rgba(255,255,255,.1);display:flex;gap:56px;flex-wrap:wrap;align-items:flex-start}
.foot-final{margin-top:8px;padding-top:30px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:56px;flex-wrap:wrap;align-items:flex-start}
.foot-final .ff-brand{flex:1 1 300px;min-width:260px}
.foot-final .ff-brand .foot-logo{display:flex;align-items:center;gap:12px}
.foot-final .ff-brand .foot-desc{margin:14px 0 0;max-width:360px}
.foot-final .ff-addr{flex:0 1 auto}
.foot-final .ff-addr .ic{flex:none;width:32px;height:32px;border-radius:9px;background:rgba(255,255,255,.08);display:grid;place-items:center}
.foot-final .ff-addr .ic svg{width:16px;height:16px;fill:#8FB4E0}
@media(max-width:760px){.foot-final{gap:32px}}

.foot-contactrow .fv-inner{display:flex;gap:52px;flex-wrap:wrap;align-items:flex-start}
.foot-contactrow .cblock{margin-bottom:0}.foot-contactrow .ic{flex:none;width:32px;height:32px;border-radius:9px;background:rgba(255,255,255,.08);display:grid;place-items:center}.foot-contactrow .ic svg{width:16px;height:16px;fill:#8FB4E0}
@media(max-width:760px){.foot-band{flex-direction:column;align-items:flex-start}.foot-band .foot-cta-row{width:100%}.foot-contactrow .fv-inner{gap:32px}}
.foot-lower .fl-brand{flex:1 1 300px;min-width:260px}.foot-lower .fl-contact{flex:0 1 auto}
.foot-lower .fl-brand .foot-logo{display:flex;align-items:center;gap:14px}
.foot-lower .fl-brand .foot-desc{margin:14px 0 0;max-width:340px}
.foot-lower .fl-brand .foot-cta-row{margin:18px 0 0;display:flex;gap:12px;flex-wrap:wrap}

.foot-lower .fl-contact .fv-inner{display:grid;grid-template-columns:auto auto;gap:40px;justify-content:end;align-items:start}
.foot-lower .fl-contact .cblock{margin-bottom:0;text-align:left}
.foot-lower .fl-contact .clab{text-align:left}
.foot-lower .fl-contact .crow{justify-content:flex-start}
.foot-lower .fl-contact .foot-dir{margin-left:41px}
@media(max-width:820px){.foot-lower{gap:32px}.foot-lower .fl-contact .fv-inner{justify-content:start;grid-template-columns:1fr 1fr}}
@media(max-width:520px){.foot-lower .fl-contact .fv-inner{grid-template-columns:1fr;gap:24px}}
.foot-visit .foot-contact{background:transparent;border:none;padding:0}.foot-visit>.foot-contact>h4{margin-bottom:16px}.foot-visit .fv-inner{display:grid;grid-template-columns:auto auto;gap:64px;align-items:start;justify-content:center;max-width:none}.foot-visit .fv-inner .cblock{margin-bottom:0;text-align:center}.foot-visit .clab{text-align:center}.foot-visit .crow{justify-content:center}.foot-visit .foot-dir{margin-left:0}.foot-visit .crow .ctx{line-height:1.65}



@media(max-width:900px){.foot-grid{grid-template-columns:1fr 1fr!important}.foot-visit .fv-inner{gap:32px}}
@media(max-width:560px){.foot-grid{grid-template-columns:1fr!important}.foot-visit .fv-inner{grid-template-columns:1fr;gap:24px}}

.foot-col.foot-contact{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:20px}
@media(max-width:900px){.foot-grid{grid-template-columns:1fr 1fr!important}.foot-top{flex-direction:column;align-items:flex-start}.foot-top .foot-cta-row{width:100%}}
@media(max-width:560px){.foot-grid{grid-template-columns:1fr!important}}

@media(max-width:1040px){.foot-grid{grid-template-columns:1fr 1fr 1fr;gap:32px}}
@media(max-width:760px){.foot-grid{grid-template-columns:1fr 1fr;gap:28px}}
@media(max-width:520px){.foot-grid{grid-template-columns:1fr;gap:26px}}
.foot-logo .logo-tile{display:inline-flex;background:#fff;border-radius:var(--r-lg);padding:14px 18px;box-shadow:0 6px 20px rgba(0,0,0,.18)}
.foot-logo .logo-tile img{height:44px;width:auto;display:block}
.foot-desc{font-size:14px;line-height:1.65;color:#C4D3E6;margin:22px 0 24px;max-width:300px}
.foot-cta-row{display:flex;gap:12px;flex-wrap:wrap}
.foot-consult{display:inline-flex;align-items:center;gap:11px;height:48px;padding:0 7px 0 20px;border-radius:var(--r-full);background:#fff;color:var(--brand-700);font-family:var(--f-header);font-weight:600;font-size:14px;transition:transform .08s ease,filter .15s ease}
.foot-consult:hover{filter:brightness(.96)}
.foot-consult:active{transform:translateY(1px)}
.foot-consult .arw{width:34px;height:34px;border-radius:50%;background:var(--brand-700);display:grid;place-items:center;order:2;transition:transform .18s ease}
.foot-consult:hover .arw{transform:translateX(3px)}
.foot-consult .arw svg{width:16px;height:16px;stroke:#fff}
.foot-ghost{display:inline-flex;align-items:center;height:48px;padding:0 20px;border-radius:var(--r-full);border:1.5px solid rgba(255,255,255,.28);color:#fff;font-family:var(--f-header);font-weight:600;font-size:14px;transition:background .15s ease}
.foot-ghost:hover{background:rgba(255,255,255,.1)}
.foot-col h3,.foot-col h4{font-family:var(--f-header);font-weight:600;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#fff;margin-bottom:20px}
.foot-col ul{list-style:none;display:grid;gap:13px}
.foot-col ul a{font-size:14.5px;color:#D5E2F1;transition:color .15s ease,padding .15s ease}
.foot-col ul a:hover{color:#fff;padding-left:5px}
.foot-hours{margin-top:22px}
.foot-hours .bh{font-size:14px;color:#D5E2F1;margin-bottom:12px}
.foot-hours .bh b{display:block;color:#8FA8C6;font-family:var(--f-header);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px}
.foot-contact .cblock{margin-bottom:18px}
.foot-contact .clab{font-family:var(--f-header);font-weight:600;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#8FA8C6;margin-bottom:9px}
.foot-hours .ctx{padding-top:2px}
.hrow{display:flex;justify-content:space-between;gap:14px;padding:4px 0}
.hrow+.hrow{border-top:1px solid rgba(255,255,255,.08)}
.hday{color:#B7C8DE;font-size:13.5px}
.htime{color:#fff;font-weight:600;font-size:13.5px;white-space:nowrap}
.hclosed{color:#F0997B;font-weight:600;font-size:13px;background:rgba(216,90,48,.14);padding:1px 9px;border-radius:9999px}
.foot-dir{display:inline-flex;align-items:center;gap:6px;margin:12px 0 0 43px;font-family:var(--f-header);font-weight:600;font-size:13px;color:#7FB0F0;text-decoration:none}
.foot-dir svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2}
.foot-dir:hover{color:#A9CBF7}
.foot-contact .crow{display:flex;gap:11px;align-items:flex-start;font-size:14.5px;line-height:1.6;color:#E3ECF6}
.crow .ctx{flex:1;min-width:0;padding-top:5px}
.foot-contact .crow .ic{flex:none;width:32px;height:32px;border-radius:9px;background:rgba(255,255,255,.08);display:grid;place-items:center}
.foot-contact .crow .ic svg{width:16px;height:16px;fill:#fff}
.foot-apps{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;margin-top:14px;padding:22px 28px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:14px}
.foot-apps-contacts{display:flex;gap:32px;flex-wrap:wrap}
.fa-item{display:flex;gap:12px;align-items:center}
.fa-item .ic{flex:none;width:40px;height:40px;border-radius:10px;background:rgba(255,255,255,.08);display:grid;place-items:center}
.fa-item .ic svg{width:20px;height:20px;fill:#fff}
.fa-item .ft{display:flex;flex-direction:column;line-height:1.3}
.fa-item .ft small{font-size:11.5px;color:#8FA8C6;text-transform:uppercase;letter-spacing:.08em}
.fa-item .ft b{font-family:var(--f-header);font-weight:600;font-size:15px;color:#fff}
.foot-apps-dl{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.foot-apps-dl .dl-label{font-family:var(--f-header);font-weight:600;font-size:15px;color:#fff}
.store-badge{display:inline-flex;align-items:center;gap:9px;height:44px;padding:0 16px;border-radius:9px;background:#000;border:1px solid rgba(255,255,255,.18);transition:filter .15s ease}
.store-badge:hover{filter:brightness(1.25)}
.store-badge svg{width:22px;height:22px}
.store-badge .sb-txt{display:flex;flex-direction:column;line-height:1.1;text-align:left}
.store-badge .sb-txt small{font-size:9px;color:#C9D2DE}
.store-badge .sb-txt b{font-family:var(--f-header);font-weight:600;font-size:14px;color:#fff}
@media(max-width:640px){.foot-apps{flex-direction:column;align-items:flex-start}}
.foot-bar{padding:22px 0;margin-top:28px;font-size:13px;color:#9FB4CC;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;border-top:1px solid rgba(255,255,255,.12)}
.foot-legal{display:flex;gap:22px;flex-wrap:wrap}
.foot-social{display:flex;align-items:center;gap:10px}
.foot-social .sl{font-family:var(--f-header);font-weight:600;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#8FA8C6;margin-right:4px}
.foot-social a{width:34px;height:34px;border-radius:9px;background:rgba(255,255,255,.08);display:grid;place-items:center;transition:background .15s ease,transform .12s ease}
.foot-social a:hover{background:var(--brand-600);transform:translateY(-2px)}
.foot-social a svg{width:16px;height:16px;fill:#fff}
.foot-legal a{color:#9FB4CC;transition:color .15s ease}
.foot-legal a:hover{color:#fff}
.foot-bar a{color:#fff;font-weight:600}



@media(max-width:900px){
  .hero-in,.apply-in{grid-template-columns:1fr;gap:36px}
  .hero-art{height:320px;order:-1}
  .why-grid{grid-template-columns:1fr}
  .hero h1{font-size:34px}
  .form-row{grid-template-columns:1fr}
}

/* The footer was restructured into .foot-final/.ff-addr but the address styles
   are still scoped to the old .foot-contact wrapper, so .crow never became a
   flex row and the pin stacked above the address. Re-scope to the live markup. */
.ff-addr .crow{display:flex;gap:12px;align-items:center;font-size:14.5px;
  line-height:1.6;color:#E3ECF6;justify-content:flex-start}
.ff-addr .crow .ic{flex:none;width:32px;height:32px;border-radius:9px;
  background:rgba(255,255,255,.08);display:grid;place-items:center}
.ff-addr .crow .ic svg{width:16px;height:16px;fill:#fff}
.ff-addr .crow .ctx{flex:1;min-width:0;padding-top:0;line-height:1.65}
/* line the directions link up with the address text, not the icon */
.ff-addr .foot-dir{margin:10px 0 0 44px}
@media(max-width:760px){
  .ff-addr .crow{align-items:flex-start}
  .ff-addr .crow .ctx{padding-top:5px}
}

/* width:auto would size the svg from its own aspect ratio and overflow the
   container, so the width is pinned and the drawing crops instead.
   The crop is anchored left (xMin) so the first structure is never sliced,
   and the right edge fades so the cut reads as intentional. */
.foot-skyline{display:block;width:100%;max-width:none;height:64px;
  margin:22px 0 -8px;opacity:.28;pointer-events:none;
  -webkit-mask-image:linear-gradient(to right,#000 82%,transparent 100%);
  mask-image:linear-gradient(to right,#000 82%,transparent 100%)}
@media(max-width:1024px){.foot-skyline{height:56px}}
@media(max-width:760px){.foot-skyline{height:46px;margin:18px 0 -6px}}

/* A crane travels right to left and the city appears in its wake.
   Default state is FULLY VISIBLE; the hidden start is opted into by .armed,
   which only JS adds, so no-JS and reduced-motion get the finished skyline. */
.foot-skyline .sk-wipe{transform:translateX(0)}
.foot-skyline .sk-crane{display:none}
.foot-skyline.armed .sk-wipe{transform:translateX(2160px)}
.foot-skyline.armed .sk-crane{display:block;opacity:0}
.foot-skyline.build .sk-wipe{animation:sk-wipe 5.2s cubic-bezier(.42,0,.35,1) forwards}
.foot-skyline.build .sk-crane{animation:sk-travel 5.2s cubic-bezier(.42,0,.35,1) forwards}
.foot-skyline.build .sk-line{animation:sk-hoist 1.3s ease-in-out infinite}
@keyframes sk-wipe{from{transform:translateX(2160px)}to{transform:translateX(0)}}
@keyframes sk-travel{
  0%{transform:translateX(2160px);opacity:0}
  6%{opacity:1}
  88%{opacity:1}
  100%{transform:translateX(0);opacity:0}
}
@keyframes sk-hoist{0%,100%{transform:translateY(0)}50%{transform:translateY(9px)}}
@media(prefers-reduced-motion:reduce){
  .foot-skyline.armed .sk-wipe{transform:translateX(0)}
  .foot-skyline.armed .sk-crane{display:none}
  .foot-skyline.build .sk-wipe,.foot-skyline.build .sk-crane,
  .foot-skyline.build .sk-line{animation:none!important}
}
