:root{
  --ivory:#F5F0E3;
  --paper:#FCF9F1;
  --ink:#0E1E3F;
  --blue:#2348B5;
  --sky:#AFC2EE;
  --mist:#DCE3F3;
  --muted:#56617B;
  --rule:rgba(14,30,63,.17);
  --rule-inv:rgba(245,240,227,.2);
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ivory);color:var(--ink);font:400 17px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit}
h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:-.015em;text-wrap:balance}
h1{font-size:clamp(2.5rem,5.1vw,4.25rem);line-height:1.04}
h2{font-size:clamp(1.9rem,3.3vw,2.75rem);line-height:1.1}
h3{font:600 1.06rem/1.35 var(--sans)}
.wrap{width:min(1180px,100% - 48px);margin-inline:auto}
.num{font-variant-numeric:tabular-nums lining-nums}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.navy :focus-visible{outline-color:var(--sky)}

.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border:1px solid var(--ink);border-radius:3px;background:var(--ink);color:var(--ivory);font:500 1rem/1.2 var(--sans);text-decoration:none;cursor:pointer;transition:background .15s,color .15s}
.btn:hover{background:var(--blue);border-color:var(--blue)}
.btn.line{background:transparent;color:var(--ink)}
.btn.line:hover{background:var(--ink);color:var(--ivory);border-color:var(--ink)}
.btn svg{width:19px;height:19px;flex:none}

/* header */
.top{position:sticky;top:0;z-index:20;background:rgba(245,240,227,.93);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule)}
.top .wrap{display:flex;align-items:center;gap:28px;height:68px}
.mark{display:flex;align-items:center;gap:11px;margin-right:auto;font:500 1.32rem/1 var(--serif);text-decoration:none;letter-spacing:-.01em;white-space:nowrap}
.mark svg{width:27px;height:27px}
.top nav{display:flex;gap:26px}
.top nav a{font-size:.94rem;text-decoration:none;color:var(--muted)}
.top nav a:hover{color:var(--ink)}
.top .btn{padding:10px 16px;font-size:.94rem}

/* hero */
.hero{position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0 0 0 auto;width:34%;background:var(--ink)}
.hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);gap:56px;align-items:center;padding-block:84px 96px}
.hero .lede{margin-top:26px;max-width:33em;font-size:1.14rem;color:#2B3857}
.hero .acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.hero .from{margin-top:30px;padding-top:18px;border-top:1px solid var(--rule);font-size:.94rem;color:var(--muted);max-width:33em}

.sheet{background:var(--paper);border:1px solid var(--ink);box-shadow:14px 14px 0 rgba(14,30,63,.13)}
.sheet header{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:18px 24px 15px;border-bottom:1px solid var(--ink)}
.sheet header b{font:500 1.28rem/1.2 var(--serif)}
.sheet header span{font-size:.82rem;color:var(--muted);text-align:right}
.sheet table{width:100%;border-collapse:collapse;font-size:.93rem}
.sheet th,.sheet td{padding:11px 14px;text-align:right;border-bottom:1px solid var(--rule);white-space:nowrap}
.sheet th:first-child,.sheet td:first-child{text-align:left;padding-left:24px;white-space:normal}
.sheet th:last-child,.sheet td:last-child{padding-right:24px}
.sheet td+td,.sheet th+th{border-left:1px solid var(--rule)}
.sheet thead th{font-weight:500;font-size:.82rem;color:var(--muted);background:rgba(220,227,243,.45)}
.sheet tbody td:last-child{color:var(--blue);font-weight:500}
.sheet i{font-style:normal;color:var(--muted);font-size:.8em;margin-left:5px}
.sheet tfoot td{font-weight:600;border-bottom:0;padding-block:14px}
.sheet tfoot td:not(:first-child) span{display:inline-block;padding-bottom:3px;border-bottom:3px double var(--ink)}
.tick{display:inline-block;width:13px;height:13px;margin-left:7px;vertical-align:-1px}
.tick path{fill:none;stroke:var(--blue);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:22;stroke-dashoffset:0}
.sheet footer{display:flex;justify-content:space-between;gap:16px;padding:13px 24px;border-top:1px solid var(--ink);background:var(--ink);color:var(--ivory);font-size:.9rem}
.sheet footer span:last-child{color:var(--sky)}
@media (prefers-reduced-motion:no-preference){
  .sheet tbody tr .tick path{animation:draw .45s ease-out both;animation-delay:calc(.5s + var(--i)*.22s)}
  .sheet tbody tr td:last-child .z{animation:show .3s ease-out both;animation-delay:calc(.5s + var(--i)*.22s)}
  .sheet footer{animation:show .5s ease-out both;animation-delay:2.1s}
}
@keyframes draw{from{stroke-dashoffset:22}to{stroke-dashoffset:0}}
@keyframes show{from{opacity:0}to{opacity:1}}

/* bands */
.band{padding-block:104px}
.band.tint{background:var(--paper);border-block:1px solid var(--rule)}
.navy{background:var(--ink);color:var(--ivory)}
.head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:end;margin-bottom:56px}
.head p{color:var(--muted);max-width:34em}
.navy .head p{color:#C3CCE2}

/* mapping */
.map{border-top:1px solid var(--ivory)}
.map .row{display:grid;grid-template-columns:minmax(0,1fr) 84px minmax(0,1fr) minmax(0,1.5fr);align-items:center;gap:0 20px;padding:19px 0;border-bottom:1px solid var(--rule-inv)}
.map .row.cap{padding:12px 0;font-size:.86rem;color:var(--sky)}
.map .t,.map .z{font:400 1.36rem/1.2 var(--serif)}
.map .t{color:#C3CCE2}
.map .wire{height:1px;background:var(--sky);position:relative;opacity:.75}
.map .wire::after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:1px solid var(--sky);border-right:1px solid var(--sky);transform:rotate(45deg)}
.map .c{font-size:.95rem;color:#C3CCE2}
.map .cap .wire{visibility:hidden}
.keep{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;margin-top:56px}
.keep h3{font:500 1.5rem/1.2 var(--serif);margin-bottom:10px}
.keep p{color:#C3CCE2;font-size:.98rem}

/* after the move */
.after{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink)}
.after li{padding:28px 28px 30px 0;border-bottom:1px solid var(--rule)}
.after li:not(:nth-child(3n+1)){padding-left:28px;border-left:1px solid var(--rule)}
.after h3{margin-bottom:8px}
.after p{color:var(--muted);font-size:.97rem}
.fine{margin-top:22px;font-size:.88rem;color:var(--muted)}

/* steps */
.steps{counter-reset:s;border-top:1px solid var(--ink)}
.steps li{counter-increment:s;display:grid;grid-template-columns:96px minmax(0,1fr) minmax(0,1.35fr);gap:24px;align-items:baseline;padding:26px 0;border-bottom:1px solid var(--rule)}
.steps li::before{content:counter(s);font:400 3rem/1 var(--serif);color:var(--blue)}
.steps h3{font:500 1.5rem/1.2 var(--serif)}
.steps p{color:var(--muted)}

/* options */
.opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--ink);background:var(--ivory)}
.opt{padding:34px 30px 32px;display:flex;flex-direction:column}
.opt+.opt{border-left:1px solid var(--ink)}
.opt h3{font:500 1.7rem/1.15 var(--serif)}
.opt .for{margin:10px 0 22px;color:var(--muted);font-size:.97rem;min-height:4.7em}
.opt ul{margin-bottom:28px;border-top:1px solid var(--rule)}
.opt li{padding:10px 0 10px 24px;border-bottom:1px solid var(--rule);font-size:.96rem;position:relative}
.opt li::before{content:"";position:absolute;left:2px;top:17px;width:11px;height:6px;border-left:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:rotate(-45deg)}
.opt .btn{margin-top:auto;justify-content:center}
.opt.pick{background:var(--ink);color:var(--ivory)}
.opt.pick .for{color:#C3CCE2}
.opt.pick ul,.opt.pick li{border-color:var(--rule-inv)}
.opt.pick li::before{border-color:var(--sky)}
.opt.pick .btn{background:var(--ivory);color:var(--ink);border-color:var(--ivory)}
.opt.pick .btn:hover{background:var(--sky);border-color:var(--sky)}

/* services */
.svc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:56px;border-top:1px solid var(--ink)}
.svc div{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:20px;padding:22px 0;border-bottom:1px solid var(--rule)}
.svc dt{font:500 1.22rem/1.25 var(--serif)}
.svc dd{color:var(--muted);font-size:.96rem}

/* contact */
.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:64px;align-items:start}
.contact h2{margin-bottom:20px}
.contact .intro{color:#C3CCE2;max-width:30em}
.contact .list{margin-top:28px;border-top:1px solid var(--rule-inv)}
.contact .list li{padding:12px 0;border-bottom:1px solid var(--rule-inv);font-size:.98rem}
.contact .direct{margin-top:28px;display:grid;gap:6px;font-size:.98rem;color:#C3CCE2}
.contact .direct a{color:var(--ivory);text-underline-offset:4px}
form{background:var(--paper);color:var(--ink);padding:34px;border:1px solid var(--ivory);display:grid;gap:18px}
form .two{display:grid;grid-template-columns:1fr 1fr;gap:18px}
label{display:grid;gap:7px;font-size:.9rem;font-weight:500}
input,select{width:100%;padding:12px 13px;border:1px solid rgba(14,30,63,.38);border-radius:3px;background:#fff;color:var(--ink);font:400 1rem/1.3 var(--sans)}
input:focus,select:focus{outline:2px solid var(--blue);outline-offset:1px;border-color:var(--blue)}
form .btn{justify-content:center;padding-block:16px}
.note{font-size:.86rem;color:var(--muted)}

/* faq */
.faq{border-top:1px solid var(--ink);max-width:880px}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{display:flex;justify-content:space-between;gap:24px;padding:20px 0;cursor:pointer;list-style:none;font:500 1.28rem/1.3 var(--serif)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:400 1.5rem/1 var(--sans);color:var(--blue);flex:none}
.faq details[open] summary::after{content:"\2212"}
.faq details p{padding:0 48px 22px 0;color:var(--muted);max-width:44em}

footer.site{background:var(--ink);color:#C3CCE2;padding:52px 0 96px;font-size:.92rem}
footer.site .wrap{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:48px}
footer.site b{display:block;font:500 1.3rem/1.2 var(--serif);color:var(--ivory);margin-bottom:10px}
footer.site nav{display:flex;flex-wrap:wrap;gap:8px 22px;align-content:start}
footer.site .legal{grid-column:1/-1;padding-top:22px;border-top:1px solid var(--rule-inv);font-size:.84rem}

.wa{position:fixed;right:22px;bottom:22px;z-index:30;display:inline-flex;align-items:center;gap:10px;padding:13px 18px 13px 15px;border-radius:999px;background:var(--blue);color:#fff;font:500 .96rem/1 var(--sans);text-decoration:none;border:1px solid rgba(245,240,227,.55);box-shadow:0 10px 26px rgba(14,30,63,.3)}
.wa:hover{background:var(--ink)}
.wa svg{width:22px;height:22px}

@media (max-width:1000px){
  .top nav{display:none}
  .hero::after{display:none}
  .hero .wrap{grid-template-columns:1fr;padding-block:56px 72px;gap:48px}
  .head,.keep,.contact{grid-template-columns:1fr;gap:20px}
  .head{margin-bottom:40px}
  .keep,.contact{gap:40px}
  .band{padding-block:72px}
  .after{grid-template-columns:1fr 1fr}
  .after li,.after li:not(:nth-child(3n+1)){padding:24px 0;border-left:0}
  .after li:nth-child(even){padding-left:24px;border-left:1px solid var(--rule)}
  .after li:nth-child(odd){padding-right:24px}
  .opts{grid-template-columns:1fr}
  .opt+.opt{border-left:0;border-top:1px solid var(--ink)}
  .opt .for{min-height:0}
  .svc{grid-template-columns:1fr}
  .steps li{grid-template-columns:64px minmax(0,1fr)}
  .steps p{grid-column:2}
  .map .row{grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr)}
  .map .c{grid-column:1/-1;margin-top:6px}
  .map .cap .c{display:none}
}
@media (max-width:620px){
  body{font-size:16px}
  .wrap{width:calc(100% - 36px)}
  .top .btn span{display:none}
  .top .btn{padding:10px 12px}
  .sheet{box-shadow:8px 8px 0 rgba(14,30,63,.13)}
  .sheet table{font-size:.78rem}
  .sheet th,.sheet td{padding:9px 7px}
  .sheet th:first-child,.sheet td:first-child{padding-left:12px}
  .sheet th:last-child,.sheet td:last-child{padding-right:12px}
  .sheet header,.sheet footer{padding-inline:12px;flex-direction:column;gap:4px}
  .sheet header span{text-align:left}
  .sheet i{display:none}
  .tick{width:10px;height:10px;margin-left:4px}
  .map .t,.map .z{font-size:1.12rem}
  .after{grid-template-columns:1fr}
  .after li,.after li:nth-child(even),.after li:nth-child(odd){padding:22px 0;border-left:0}
  .svc div{grid-template-columns:1fr;gap:6px}
  form{padding:22px}
  form .two{grid-template-columns:1fr}
  .faq summary{font-size:1.14rem}
  .faq details p{padding-right:0}
  footer.site .wrap{grid-template-columns:1fr}
  .wa span{display:none}
  .wa{padding:14px;right:16px;bottom:16px}
}

/* multi-page additions */
.top nav a[aria-current]{color:var(--ink);font-weight:500;box-shadow:0 2px 0 var(--blue)}
.sub{font:500 1.5rem/1.2 var(--serif);margin:0 0 18px}
.links+.sub{margin-top:56px}
.hero.plain::after{display:none}
.hero.plain .wrap{grid-template-columns:1fr;padding-block:68px 72px}
.hero.plain h1{max-width:19em;font-size:clamp(2.1rem,4vw,3.4rem)}
.hero.plain .lede{max-width:40em}
.crumb{font-size:.92rem;color:var(--muted);margin-bottom:22px}
.crumb a{text-underline-offset:4px}

.sheet.text th,.sheet.text td{text-align:left;white-space:normal}
.sheet.text td:first-child{font-weight:500}
.sheet.text tbody td:last-child{color:inherit;font-weight:400}
.tag{display:inline-block;padding:2px 10px;border:1px solid var(--blue);border-radius:999px;font-size:.78rem;color:var(--blue);white-space:nowrap}
.tag.q{border-color:var(--muted);color:var(--muted)}
.cut{display:grid;grid-template-columns:1fr 1fr}
.cut>div{padding:22px 24px 26px}
.cut>div+div{border-left:1px solid var(--ink);background:rgba(220,227,243,.5)}
.cut small{display:block;color:var(--muted);font-size:.82rem}
.cut b{display:block;font:500 1.22rem/1.25 var(--serif);margin:2px 0 14px}
.cut li{padding:9px 0;border-top:1px solid var(--rule);font-size:.92rem}
.bands{display:grid;grid-template-columns:1.05fr 1fr;grid-auto-rows:minmax(47px,auto)}
.bands>span{grid-column:1;display:flex;align-items:center;padding:0 24px;border-bottom:1px solid var(--rule);font-size:.95rem}
.bands>div{grid-column:2;display:flex;flex-direction:column;justify-content:center;padding:14px 22px;border-left:1px solid var(--ink)}
.bands>div b{font:500 1.22rem/1.25 var(--serif)}
.bands>div small{font-size:.84rem;margin-top:4px}
.bands .crm{grid-row:1/span 3;background:rgba(220,227,243,.6);border-bottom:1px solid var(--ink)}
.bands .crm small{color:var(--muted)}
.bands .bks{grid-row:4/span 4;background:var(--blue);color:#fff}
.bands .bks small{color:#DCE3F3}

.duo{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--ink)}
.duo>div{padding:34px 32px 30px}
.duo>div+div{border-left:1px solid var(--ink);background:var(--paper)}
.tint .duo>div+div{background:var(--ivory)}
.duo h3{font:500 1.6rem/1.2 var(--serif);margin-bottom:8px}
.duo p{color:var(--muted);font-size:.97rem;margin-bottom:20px}
.duo li{padding:11px 0;border-top:1px solid var(--rule);font-size:.97rem}

.links{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--ink)}
.links a{display:block;padding:22px 20px 24px;text-decoration:none;transition:background .15s,color .15s}
.links a+a{border-left:1px solid var(--rule)}
.links b{display:block;font:500 1.3rem/1.2 var(--serif);margin-bottom:6px}
.links span{font-size:.9rem;color:var(--muted)}
.links a:hover{background:var(--ink);color:var(--ivory)}
.links a:hover span{color:var(--sky)}

.caselist{border-top:1px solid var(--ink)}
.caselist a{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) minmax(0,.9fr);gap:28px;align-items:baseline;padding:24px 0;border-bottom:1px solid var(--rule);text-decoration:none}
.caselist b{font:500 1.5rem/1.2 var(--serif)}
.caselist small{display:block;font:400 .88rem/1.4 var(--sans);color:var(--muted);margin-top:4px}
.caselist p{color:var(--muted);font-size:.97rem}
.caselist em{font-style:normal;font-size:.9rem;text-align:right}
.caselist a:hover b{color:var(--blue)}
.more{display:inline-block;margin-top:26px;font-weight:500;text-underline-offset:5px}

.facts{display:flex;flex-wrap:wrap;margin-top:40px;border-block:1px solid var(--ink)}
.facts div{padding:16px 36px 16px 0;margin-right:36px;border-right:1px solid var(--rule)}
.facts div:last-child{border-right:0;margin-right:0}
.facts small{display:block;color:var(--muted);font-size:.84rem}
.facts b{font:500 1.3rem/1.3 var(--serif)}
.ba{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:72px;align-items:start}
.ba h2{font-size:clamp(1.6rem,2.4vw,2.05rem);margin-bottom:22px}
.ba ul li{padding:15px 0;border-top:1px solid var(--rule)}
.ba dl div{padding:16px 0;border-top:1px solid var(--rule)}
.ba dt{font:500 1.28rem/1.25 var(--serif);margin-bottom:4px}
.ba dd{color:var(--muted)}
.next{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:56px;padding-top:22px;border-top:1px solid var(--ink)}
.next a{font-weight:500;text-underline-offset:5px}
.prose{max-width:44em}
.prose p+p{margin-top:16px}
.prose p{color:#2B3857}

@media (max-width:1000px){
  html{scroll-padding-top:120px}
  .top .wrap{flex-wrap:wrap;height:auto;padding-top:12px;gap:0 16px}
  .top nav{display:flex;order:3;width:100%;gap:22px;overflow-x:auto;padding:12px 0 13px;white-space:nowrap;scrollbar-width:none}
  .top nav::-webkit-scrollbar{display:none}
  .duo,.ba{grid-template-columns:1fr}
  .ba{gap:44px}
  .duo>div+div{border-left:0;border-top:1px solid var(--ink)}
  .links{grid-template-columns:1fr 1fr}
  .links a{border-bottom:1px solid var(--rule)}
  .links a+a{border-left:0}
  .links a:nth-child(even){border-left:1px solid var(--rule)}
  .caselist a{grid-template-columns:1fr;gap:8px}
  .caselist em{text-align:left}
}
@media (max-width:620px){
  .cut{grid-template-columns:1fr}
  .cut>div+div{border-left:0;border-top:1px solid var(--ink)}
  .bands>span{padding:0 12px;font-size:.86rem}
  .bands>div{padding:12px}
  .duo>div{padding:26px 22px}
  .links{grid-template-columns:1fr}
  .links a:nth-child(even){border-left:0}
  .facts div{border-right:0;margin-right:0;width:100%;padding:12px 0;border-top:1px solid var(--rule)}
  .facts div:first-child{border-top:0}
}

/* phone and tablet layout */
.menu{display:none}
@media (max-width:1000px){
  html{scroll-padding-top:76px}
  .top .wrap{padding-top:0;min-height:60px;gap:0 10px}
  .menu{display:inline-flex;align-items:center;gap:9px;order:2;padding:10px 14px;border:1px solid var(--ink);border-radius:3px;background:transparent;color:var(--ink);font:500 .94rem/1.2 var(--sans);cursor:pointer}
  .menu i{display:block;width:16px;height:10px;border-block:2px solid currentColor}
  .top.open .menu{background:var(--ink);color:var(--ivory)}
  .top .btn{order:1}
  .top nav{display:none;order:3;width:100%;flex-direction:column;gap:0;overflow:visible;padding:0 0 8px;white-space:normal}
  .top.open nav{display:flex}
  .top nav a{padding:14px 0;border-top:1px solid var(--rule);font-size:1.02rem;color:var(--ink)}
  .top nav a[aria-current]{box-shadow:none;color:var(--blue)}
  .hero .wrap,.hero.plain .wrap{grid-template-columns:minmax(0,1fr)}
  .sheet{max-width:640px}
}
@media (max-width:620px){
  h1,.hero.plain h1{font-size:2.1rem;line-height:1.08}
  h2{font-size:1.7rem}
  .hero .wrap{padding-block:36px 52px;gap:36px}
  .hero.plain .wrap{padding-block:36px 48px}
  .hero .lede{margin-top:18px;font-size:1.04rem}
  .hero .acts{margin-top:26px;gap:10px}
  .hero .acts .btn{width:100%;justify-content:center}
  .hero .from{margin-top:24px}
  .band{padding-block:54px}
  .head{margin-bottom:28px;gap:14px}
  .sheet{overflow-x:auto}
  .sheet table{font-size:.76rem}
  .sheet th,.sheet td{padding:9px 6px}
  .sheet thead th{white-space:normal;font-size:.72rem;line-height:1.3;vertical-align:bottom}
  .sheet header b{font-size:1.16rem}
  .tag{padding:1px 7px;font-size:.7rem}
  .map .row{grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);gap:0 12px;padding:16px 0}
  .keep{margin-top:40px;gap:28px}
  .steps li{grid-template-columns:34px minmax(0,1fr);gap:6px 12px;padding:20px 0}
  .steps li::before{font-size:2rem}
  .steps h3{font-size:1.3rem}
  .opt{padding:26px 20px 24px}
  .opt h3{font-size:1.45rem}
  .links a{padding:16px 16px 18px}
  .caselist a{padding:20px 0}
  .caselist b{font-size:1.3rem}
  .contact{gap:32px}
  form{padding:20px 16px;gap:16px}
  .faq summary{padding:17px 0;gap:16px}
  .next{margin-top:40px;flex-direction:column;gap:12px}
  footer.site{padding:40px 0 92px}
  footer.site .wrap{gap:28px}
  footer.site nav{gap:12px 22px}
}
@media (max-width:620px){
  footer.site nav a,footer.site p a,.contact .direct a,.more,.crumb a,.next a{display:inline-block;padding-block:8px}
  footer.site nav{gap:0 22px}
}
