/* A Jones v4 — home */

/* ------------------------------------------------------------ hero */
.aj4-home-hero{position:relative;min-height:100svh;color:#fff;background:var(--ink);overflow:hidden;isolation:isolate;display:flex}
.aj4-home-hero__media{position:absolute;inset:0;z-index:-2}
.aj4-home-hero__media img,.aj4-home-hero__media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.aj4-home-hero__media img{animation:aj4-home-kb 18s var(--ease) both}
@keyframes aj4-home-kb{from{transform:scale(1.12)}to{transform:scale(1)}}
.aj4-home-hero__media video{opacity:0;transition:opacity 1.4s var(--ease)}
.aj4-home-hero__media video.is-playing{opacity:1}
.aj4-home-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(6,26,44,.9) 0%,rgba(6,26,44,.62) 45%,rgba(6,26,44,.12) 100%),linear-gradient(0deg,rgba(6,26,44,.92) 0%,rgba(6,26,44,0) 45%)}
.aj4-home-hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:radial-gradient(ellipse 60% 70% at 25% 55%,#000,transparent 75%);mask-image:radial-gradient(ellipse 60% 70% at 25% 55%,#000,transparent 75%)}
.aj4-home-hero__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;min-width:0;grid-template-rows:1fr auto;gap:28px 40px;align-items:end;padding-top:calc(var(--header-h) + var(--utility-h) + 40px);padding-bottom:28px;width:var(--shell)}
.aj4-home-hero__copy{grid-column:1;max-width:820px}
.aj4-home-hero__title{font-size:clamp(3.2rem,1.6rem + 7vw,8.4rem);letter-spacing:-.06em;line-height:.9;margin:0 0 26px;max-width:9ch}
.aj4-home-hero__lead{max-width:50ch;font-size:var(--fs-lede);line-height:1.5;color:rgba(234,242,249,.86);margin-bottom:32px}
.aj4-home-hero__proof{grid-column:2;align-self:end}
.aj4-home-hero__proof a{display:grid;gap:6px;padding:20px 22px;border-radius:var(--radius);background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:background .3s,transform .5s var(--ease)}
.aj4-home-hero__proof a:hover{background:rgba(255,255,255,.14);transform:translateY(-3px)}
.aj4-home-hero__stars{display:flex;gap:2px;color:#f5b84a}.aj4-home-hero__stars .aj-icon{width:16px;height:16px;fill:currentColor;stroke:none}
.aj4-home-hero__proof strong{font-size:1.15rem;letter-spacing:-.02em}
.aj4-home-hero__proof small{display:flex;align-items:center;gap:6px;font:400 .68rem var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--on-dark-muted)}
.aj4-home-hero__proof small .aj-icon{width:12px;height:12px}
.aj4-home-intents{grid-column:1/-1;display:flex;align-items:center;gap:18px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14)}
.aj4-home-intents p{margin:0;flex:none;font:400 .7rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--on-dark-muted)}
.aj4-home-intents ul{display:flex;gap:8px;list-style:none;overflow-x:auto;scrollbar-width:none}
.aj4-home-intents ul::-webkit-scrollbar{display:none}
.aj4-home-intents a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 16px 8px 12px;border-radius:999px;background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);font-weight:550;font-size:.92rem;white-space:nowrap;transition:background .3s,color .3s,transform .4s var(--ease)}
.aj4-home-intents a .aj-icon{width:18px;height:18px;color:var(--sky)}
.aj4-home-intents a:hover{background:#fff;color:var(--ink);transform:translateY(-2px)}
.aj4-home-intents a:hover .aj-icon{color:var(--blue)}
.aj4-home-intents a.is-all{padding-left:16px;background:transparent;box-shadow:none;color:var(--sky)}
.aj4-home-intents a.is-all:hover{background:transparent;color:#fff}
.aj4-home-hero__annot{position:absolute;inset:0;pointer-events:none;font:400 .66rem var(--mono);letter-spacing:.06em;color:rgba(255,255,255,.7)}
.aj4-home-hero__annot span{position:absolute;display:flex;align-items:center;gap:8px;opacity:0;animation:aj4-annot 1s var(--ease) forwards}
.aj4-home-hero__annot i{width:40px;height:1px;background:rgba(255,255,255,.6);position:relative}
.aj4-home-hero__annot i::before{content:"";position:absolute;left:-3px;top:-3px;width:7px;height:7px;border-radius:50%;border:1px solid #fff}
.aj4-home-hero__annot .a1{right:12%;top:34%;animation-delay:1.4s}
.aj4-home-hero__annot .a2{right:22%;top:48%;animation-delay:1.7s}
.aj4-home-hero__annot .a3{right:9%;top:62%;animation-delay:2s}
@keyframes aj4-annot{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:none}}
.aj4-home-hero__cue{position:absolute;left:50%;bottom:18px;width:22px;height:36px;margin-left:-11px;border-radius:12px;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.45);display:none}
.aj4-home-hero__cue span{position:absolute;left:50%;top:7px;width:3px;height:7px;margin-left:-1.5px;border-radius:2px;background:#fff;animation:aj4-cue 1.8s var(--ease) infinite}
@keyframes aj4-cue{60%{transform:translateY(10px);opacity:0}61%{transform:none;opacity:0}100%{opacity:1}}
@media (max-width:1100px){.aj4-home-hero__annot{display:none}}
@media (max-width:960px){
  .aj4-home-hero{min-height:calc(100svh - var(--tabs-h))}
  .aj4-home-hero::before{background:linear-gradient(0deg,rgba(6,26,44,.96) 0%,rgba(6,26,44,.7) 50%,rgba(6,26,44,.3) 100%)}
  .aj4-home-hero__inner{grid-template-columns:minmax(0,1fr);padding-top:calc(var(--header-h) + 24px);padding-bottom:20px;gap:22px}
  .aj4-home-hero__proof{grid-column:1;order:3}
  .aj4-home-hero__proof a{grid-template-columns:auto 1fr;align-items:center;padding:14px 16px;gap:2px 12px}
  .aj4-home-hero__stars{grid-row:span 2}
  .aj4-home-intents{order:2;flex-direction:column;align-items:stretch;gap:10px;margin-inline:calc(var(--gutter) * -1);padding:16px var(--gutter) 0}
  .aj4-home-intents ul{margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);scroll-snap-type:x mandatory}
  .aj4-home-intents li{scroll-snap-align:start}
  .aj4-home-hero__lead{font-size:1.05rem;margin-bottom:24px}
}
@media (max-width:640px){.aj4-home-hero .aj4-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.aj4-home-hero .aj4-btn{padding-left:18px;font-size:.92rem;justify-content:space-between}.aj4-home-hero .aj4-btn i{width:36px;height:36px}}
@media (max-width:380px){.aj4-home-hero .aj4-actions{grid-template-columns:1fr}}

/* ------------------------------------------------------------ layers bento (compact) */
.aj4-lb{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(2,clamp(210px,16vw,252px));gap:12px}
.aj4-lb__index{grid-column:1/span 4;grid-row:1/span 2;display:flex;flex-direction:column;padding:clamp(22px,2.2vw,32px);border-radius:var(--radius);background:var(--ink);color:var(--on-dark);position:relative;overflow:hidden;isolation:isolate}
.aj4-lb__index::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px) 0 0/28px 28px,linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px) 0 0/28px 28px,radial-gradient(90% 60% at 100% 0%,rgba(28,114,181,.35),transparent 70%)}
.aj4-lb__index .aj4-eyebrow{margin-bottom:12px}
.aj4-lb__index h2{margin:0 0 10px;font-size:clamp(1.7rem,1.2rem + 1.3vw,2.4rem);max-width:12ch}
.aj4-lb__lede{margin:0 0 auto;font-size:.95rem;line-height:1.5;color:var(--on-dark-muted);max-width:34ch}
.aj4-lb__list{list-style:none;margin:18px 0 14px;border-top:1px solid var(--line-dark)}
.aj4-lb__list a{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line-dark);font-size:.95rem;font-weight:550;transition:color .25s,padding .35s var(--ease)}
.aj4-lb__list .n{font:400 .66rem var(--mono);color:var(--sky)}
.aj4-lb__list .d{font:400 .62rem var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--on-dark-muted)}
.aj4-lb__list a:hover,.aj4-lb__list a.is-hot{color:#fff;padding-left:6px}
.aj4-lb__list a:hover .n,.aj4-lb__list a.is-hot .n{color:var(--signal)}
.aj4-lb__all{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.92rem;color:var(--sky)}
.aj4-lb__all .aj-icon{width:16px;height:16px;transition:transform .4s var(--ease)}
.aj4-lb__all:hover .aj-icon{transform:translateX(4px)}
.aj4-lb__tile{position:relative;display:block;min-width:0;border-radius:var(--radius);overflow:hidden;isolation:isolate;color:#fff;background:var(--navy)}
.aj4-lb__tile .aj4-img{position:absolute;inset:0;height:100%;aspect-ratio:auto;z-index:-2;background:var(--navy)}
.aj4-lb__tile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(6,26,44,.88) 0%,rgba(6,26,44,.25) 55%,rgba(6,26,44,0) 80%);transition:background .5s var(--ease)}
.aj4-lb__tile:hover::after,.aj4-lb__tile.is-hot::after{background:linear-gradient(0deg,rgba(6,26,44,.94) 0%,rgba(6,26,44,.55) 65%,rgba(6,26,44,.15) 100%)}
.aj4-lb__tile:hover .aj4-img.is-loaded img,.aj4-lb__tile.is-hot .aj4-img.is-loaded img{transform:scale(1.05)}
.aj4-lb__tile--surface{grid-column:5/span 5;grid-row:1}
.aj4-lb__tile--structure{grid-column:10/span 3;grid-row:1}
.aj4-lb__tile--slab{grid-column:5/span 3;grid-row:2}
.aj4-lb__tile--drainage{grid-column:8/span 3;grid-row:2}
.aj4-lb__tile--ground{grid-column:11/span 2;grid-row:2}
.aj4-lb__depth{position:absolute;left:12px;top:12px;padding:5px 9px;border-radius:999px;background:rgba(6,26,44,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font:400 .6rem var(--mono);letter-spacing:.07em;text-transform:uppercase}
.aj4-lb__copy{position:absolute;left:0;right:0;bottom:0;display:grid;gap:3px;padding:16px 52px 16px 16px}
.aj4-lb__copy small{font:400 .62rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--sky)}
.aj4-lb__copy strong{font-size:clamp(1rem,.85rem + .45vw,1.25rem);font-weight:600;letter-spacing:-.025em;line-height:1.15;text-wrap:balance}
.aj4-lb__copy em{font-style:normal;font-size:.84rem;line-height:1.4;color:rgba(234,242,249,.82);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-height:0;opacity:0;transition:max-height .5s var(--ease),opacity .4s,margin .5s var(--ease)}
.aj4-lb__tile:hover em,.aj4-lb__tile:focus-visible em,.aj4-lb__tile.is-hot em{max-height:2.9em;opacity:1;margin-top:4px}
.aj4-lb__tile--ground em{display:none}
.aj4-lb__tile>i{position:absolute;right:12px;bottom:14px;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#fff;color:var(--ink);transition:transform .5s var(--ease)}
.aj4-lb__tile>i .aj-icon{width:15px;height:15px}
.aj4-lb__tile:hover>i,.aj4-lb__tile.is-hot>i{transform:rotate(-45deg)}
@media (max-width:1100px){.aj4-lb__tile--surface em,.aj4-lb__tile em{display:none}}
@media (max-width:960px){
  .aj4-lb{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:auto;gap:10px}
  .aj4-lb__index{grid-column:1/-1;grid-row:auto}
  .aj4-lb__lede{margin-bottom:0}
  .aj4-lb__list{display:none}
  .aj4-lb__lede{margin-bottom:14px}
  .aj4-lb__tile,.aj4-lb__tile--surface,.aj4-lb__tile--structure,.aj4-lb__tile--slab,.aj4-lb__tile--drainage,.aj4-lb__tile--ground{grid-column:auto;grid-row:auto;aspect-ratio:1/1.05}
  .aj4-lb__tile--surface{grid-column:1/-1;aspect-ratio:16/9}
  .aj4-lb__copy{padding:12px 44px 12px 12px}
  .aj4-lb__tile>i{width:28px;height:28px;right:10px;bottom:12px}
}

/* ------------------------------------------------------------ work bento */
.aj4-home-work__grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:minmax(150px,auto);gap:var(--gap)}
.aj4-home-work__item{position:relative;display:block;grid-column:span 4;grid-row:span 2;min-height:300px;border-radius:var(--radius);overflow:hidden;isolation:isolate;color:#fff}
.aj4-home-work__item.is-lead{grid-column:span 7;grid-row:span 3}
.aj4-home-work__item.is-tall{grid-column:span 5;grid-row:span 3}
.aj4-home-work__item.is-wide{grid-column:span 4}
.aj4-home-work__item .aj4-img{position:absolute;inset:0;height:100%;aspect-ratio:auto;z-index:-2;background:var(--navy)}
.aj4-home-work__item::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(6,26,44,.92) 0%,rgba(6,26,44,.1) 55%);transition:background .5s}
.aj4-home-work__item:hover .aj4-img.is-loaded img{transform:scale(1.06)}
.aj4-home-work__tag{position:absolute;left:18px;top:18px;padding:6px 10px;border-radius:999px;background:rgba(6,26,44,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font:400 .66rem var(--mono);letter-spacing:.07em;text-transform:uppercase}
.aj4-home-work__copy{position:absolute;left:0;right:0;bottom:0;display:grid;gap:6px;padding:22px 76px 22px 22px}
.aj4-home-work__copy strong{font-size:clamp(1.15rem,1rem + .6vw,1.6rem);letter-spacing:-.03em;line-height:1.1;text-wrap:balance}
.aj4-home-work__copy small{font-size:.92rem;color:rgba(234,242,249,.78);max-height:0;opacity:0;overflow:hidden;transition:max-height .6s var(--ease),opacity .5s}
.aj4-home-work__item:hover small,.aj4-home-work__item:focus-visible small,.aj4-home-work__item.is-lead small{max-height:4.5em;opacity:1}
.aj4-home-work__item>i{position:absolute;right:20px;bottom:22px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff;color:var(--ink);transition:transform .5s var(--ease)}
.aj4-home-work__item:hover>i{transform:rotate(-45deg)}
.aj4-home-work__foot{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:var(--gap)}
.aj4-home-work__foot .aj4-rail-controls{display:none}
.aj4-home-work__foot .aj4-dim{flex:1;max-width:520px;margin-left:auto;color:var(--on-dark-muted)}
@media (max-width:960px){
  .aj4-home-work__grid{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:82%;grid-auto-rows:auto;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);scroll-padding-inline:var(--gutter)}
  .aj4-home-work__grid::-webkit-scrollbar{display:none}
  .aj4-home-work__item,.aj4-home-work__item.is-lead,.aj4-home-work__item.is-tall,.aj4-home-work__item.is-wide{grid-column:auto;grid-row:auto;min-height:0;aspect-ratio:4/5;scroll-snap-align:start}
  .aj4-home-work__item small{max-height:4.5em;opacity:1}
  .aj4-home-work__foot .aj4-rail-controls{display:flex}
  .aj4-home-work__foot .aj4-dim{display:none}
}

/* ------------------------------------------------------------ proof */
.aj4-home-proof__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,80px);align-items:center}
.aj4-home-proof h2{max-width:14ch}
.aj4-home-proof .aj4-lede{margin:0;color:var(--muted)}
.aj4-home-proof .aj4-stats{grid-template-columns:repeat(2,1fr)}
.aj4-home-proof .aj4-stat{transition:background .3s}
.aj4-home-proof .aj4-stat:hover{background:var(--paper)}
.aj4-home-proof .aj4-stat strong{color:var(--ink)}
@media (max-width:860px){.aj4-home-proof__grid{grid-template-columns:1fr}}

/* ------------------------------------------------------------ process */
.aj4-home-process__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,80px);align-items:start}
.aj4-home-process__media{position:sticky;top:calc(var(--header-h) + 28px);aspect-ratio:4/5;border-radius:var(--radius-lg);overflow:hidden;background:var(--navy)}
.aj4-home-process__img{position:absolute;inset:0;opacity:0;transform:scale(1.06);transition:opacity .9s var(--ease),transform 1.4s var(--ease)}
.aj4-home-process__img.is-on{opacity:1;transform:none}
.aj4-home-process__img .aj4-img{height:100%;aspect-ratio:auto}
.aj4-home-process__meter{position:absolute;left:20px;right:20px;bottom:20px;height:3px;border-radius:3px;background:rgba(255,255,255,.25);overflow:hidden}
.aj4-home-process__meter span{display:block;height:100%;width:20%;background:#fff;transition:width .8s var(--ease)}
.aj4-home-process__steps{list-style:none;display:grid;gap:12px}
.aj4-home-step{display:grid;grid-template-columns:56px 1fr;gap:20px;padding:28px;border-radius:var(--radius);background:var(--white);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .5s var(--ease),transform .5s var(--ease)}
.aj4-home-step.is-current{box-shadow:inset 0 0 0 1.5px var(--blue),var(--shadow-2)}
.aj4-home-step__n{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--paper);font:400 .9rem var(--mono);color:var(--blue);transition:background .4s,color .4s}
.aj4-home-step.is-current .aj4-home-step__n{background:var(--ink);color:#fff}
.aj4-home-step .aj4-mono{margin:0 0 4px;color:var(--blue);text-transform:uppercase}
.aj4-home-step h3{margin:0 0 8px}
.aj4-home-step p{color:var(--muted);margin-bottom:14px}
.aj4-home-step ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.9rem}
.aj4-home-step li{display:flex;align-items:center;gap:6px}
.aj4-home-step li .aj-icon{width:16px;height:16px;color:var(--ok)}
@media (max-width:960px){
  .aj4-home-process__grid{grid-template-columns:1fr}
  .aj4-home-process__media{display:none}
  .aj4-home-process__steps{position:relative;gap:0;padding-left:0}
  .aj4-home-step{grid-template-columns:44px 1fr;gap:16px;padding:0 0 28px;background:none;box-shadow:none!important;position:relative}
  .aj4-home-step::before{content:"";position:absolute;left:21px;top:48px;bottom:4px;width:1.5px;background:linear-gradient(var(--line-2) 50%,transparent 50%) 0 0/1.5px 8px}
  .aj4-home-step:last-child::before{display:none}
  .aj4-home-step__n{width:44px;height:44px;border-radius:14px;background:var(--white);box-shadow:inset 0 0 0 1px var(--line)}
}

/* ------------------------------------------------------------ services */
.aj4-home-services__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}
.aj4-home-svc{position:relative;display:block;border-radius:var(--radius);overflow:hidden;isolation:isolate;color:#fff;aspect-ratio:1}
.aj4-home-svc .aj4-img{position:absolute;inset:0;height:100%;aspect-ratio:auto;z-index:-2}
.aj4-home-svc::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(6,26,44,.9),rgba(6,26,44,.05) 60%);transition:background .5s}
.aj4-home-svc:hover::after{background:linear-gradient(0deg,rgba(4,84,141,.92),rgba(6,26,44,.2) 75%)}
.aj4-home-svc:hover .aj4-img.is-loaded img{transform:scale(1.06)}
.aj4-home-svc__n{position:absolute;left:16px;top:14px;font:400 .7rem var(--mono);letter-spacing:.06em;opacity:.85}
.aj4-home-svc__t{position:absolute;left:0;right:0;bottom:0;display:grid;gap:4px;padding:18px}
.aj4-home-svc__t strong{font-size:1.12rem;letter-spacing:-.02em;line-height:1.15;text-wrap:balance}
.aj4-home-svc__t small{font-size:.84rem;color:rgba(234,242,249,.8);line-height:1.35;max-height:0;opacity:0;overflow:hidden;transition:max-height .5s var(--ease),opacity .4s}
.aj4-home-svc:hover small,.aj4-home-svc:focus-visible small{max-height:3em;opacity:1}
@media (max-width:960px){.aj4-home-services__grid{grid-template-columns:repeat(2,1fr)}.aj4-home-svc small{display:none}.aj4-home-svc__t{padding:14px}.aj4-home-svc__t strong{font-size:1rem}}

/* ------------------------------------------------------------ map */
.aj4-home-map__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,5vw,72px);align-items:center}
.aj4-home-map h2{max-width:12ch}
.aj4-home-map__chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:24px 0 28px}
.aj4-home-map__chips a{display:inline-flex;min-height:40px;align-items:center;padding:6px 14px;border-radius:999px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px var(--line-dark);font-size:.9rem;font-weight:500;transition:background .3s,color .3s}
.aj4-home-map__chips a:hover,.aj4-home-map__chips a.is-hot{background:var(--sky);color:var(--ink)}
.aj4-home-map__fig{position:relative;border-radius:var(--radius-lg);padding:12px;background:radial-gradient(70% 70% at 45% 45%,rgba(28,114,181,.25),transparent 70%),rgba(255,255,255,.03);box-shadow:inset 0 0 0 1px var(--line-dark)}
.aj4-home-map__fig svg{width:100%;height:auto;overflow:visible}
.aj4-home-map .rings circle{fill:none;stroke:rgba(190,216,236,.38);stroke-width:1.2;stroke-dasharray:2 6}
.aj4-home-map .rings text{font:400 10px var(--mono);fill:rgba(190,216,236,.75);letter-spacing:.06em}
.aj4-home-map .town line{stroke:rgba(190,216,236,.0);stroke-width:1;transition:stroke .4s}
.aj4-home-map .town circle{fill:var(--sky);stroke:var(--navy);stroke-width:2;transition:r .4s var(--spring),fill .3s}
.aj4-home-map .town text{font:500 11.5px var(--font);fill:rgba(234,242,249,.82);paint-order:stroke;stroke:var(--navy);stroke-width:3px;transition:fill .3s}
.aj4-home-map .town.is-hq circle{fill:var(--signal);stroke:#fff;stroke-width:2.5}
.aj4-home-map .town.is-hq text{font-weight:700;fill:#fff;font-size:13px}
.aj4-home-map .town.is-hq::after{content:""}
.aj4-home-map .town:hover line,.aj4-home-map .town:focus line,.aj4-home-map .town.is-hot line{stroke:rgba(190,216,236,.6);stroke-dasharray:4 4}
.aj4-home-map .town:hover circle,.aj4-home-map .town:focus circle,.aj4-home-map .town.is-hot circle{fill:#fff;r:8}
.aj4-home-map .town:hover text,.aj4-home-map .town.is-hot text{fill:#fff}
.aj4-home-map__fig figcaption{display:flex;justify-content:space-between;padding:8px 10px 2px;font:400 .64rem var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--on-dark-muted)}
.aj4-home-map .is-hq circle{animation:aj4-hq 2.6s var(--ease) infinite}
@keyframes aj4-hq{50%{stroke-width:7;stroke:rgba(232,98,42,.35)}}
@media (max-width:960px){.aj4-home-map__grid{grid-template-columns:1fr}.aj4-home-map__fig{order:-1;margin-inline:calc(var(--gutter) * -.5)}.aj4-home-map .town text{font-size:13px}}

/* ------------------------------------------------------------ plan */
.aj4-home-plan__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}
.aj4-home-tool{display:grid;border-radius:var(--radius);overflow:hidden;box-shadow:inset 0 0 0 1px var(--line);transition:transform .5s var(--ease),box-shadow .5s}
.aj4-home-tool:hover{transform:translateY(-4px);box-shadow:var(--shadow-2)}
.aj4-home-tool__ui{display:grid;gap:8px;padding:22px;background:linear-gradient(var(--line) 1px,transparent 1px) 0 0/20px 20px,linear-gradient(90deg,var(--line) 1px,transparent 1px) 0 0/20px 20px,var(--paper)}
.aj4-home-tool__ui .r,.aj4-home-tool__ui .res{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-radius:10px;background:#fff;box-shadow:0 0 0 1px var(--line);font-size:.86rem}
.aj4-home-tool__ui i{font-style:normal;color:var(--muted)}
.aj4-home-tool__ui b{font-weight:600;font-variant-numeric:tabular-nums}
.aj4-home-tool__ui .ok{color:var(--ok)}.aj4-home-tool__ui .warn{color:var(--signal)}
.aj4-home-tool__ui .res{background:var(--ink);color:#fff;box-shadow:none;margin-top:4px}
.aj4-home-tool__ui .res i{color:var(--on-dark-muted)}
.aj4-home-tool__t{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;padding:20px 22px;align-items:center}
.aj4-home-tool__t .aj-icon{grid-row:span 2;width:40px;height:40px;padding:9px;border-radius:12px;background:var(--sky-2);color:var(--blue)}
.aj4-home-tool__t strong{font-size:1.06rem;letter-spacing:-.015em}
.aj4-home-tool__t small{color:var(--muted);font-size:.9rem}
.aj4-home-guides{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:var(--gap);padding-top:var(--gap);border-top:1px solid var(--line)}
.aj4-home-guides .aj4-mono{margin:0 10px 0 0;color:var(--muted);text-transform:uppercase}
.aj4-home-guides a{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:6px 14px;border-radius:999px;background:var(--paper);font-size:.92rem;font-weight:500;transition:background .3s,color .3s}
.aj4-home-guides a .aj-icon{width:16px;height:16px;color:var(--blue)}
.aj4-home-guides a .aj-icon:last-child{display:none}
.aj4-home-guides a:hover{background:var(--ink);color:#fff}
.aj4-home-guides a:hover .aj-icon{color:var(--sky)}
@media (max-width:960px){
  .aj4-home-plan__grid{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:82%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);scroll-padding-inline:var(--gutter)}
  .aj4-home-plan__grid::-webkit-scrollbar{display:none}
  .aj4-home-tool{scroll-snap-align:start}
  .aj4-home-guides{display:grid;gap:0;border-top:0;padding-top:0}
  .aj4-home-guides .aj4-mono{margin:0 0 6px}
  .aj4-home-guides a{border-radius:0;background:none;padding:12px 0;border-bottom:1px solid var(--line);min-height:52px}
  .aj4-home-guides a span{flex:1}
  .aj4-home-guides a .aj-icon:last-child{display:block;color:var(--muted)}
  .aj4-home-guides a:hover{background:none;color:var(--blue)}
}

.aj4-home-hero__inner>*{min-width:0}
.aj4-home-hero .aj4-eyebrow{color:var(--sky)}
