.modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;align-items:center;justify-content:center;z-index:300;padding:20px}
.modal.show{display:flex}
.modal .box{background:#fff;max-width:640px;padding:clamp(28px,5vw,56px)}
.modal h2{font-size:clamp(32px,3vw,44px)}
.modal p{color:var(--ink-2);font-size:15px;margin-top:18px}
.modal .eyebrow{font-size:13px;font-weight:500;color:#000;margin:0 0 14px}
.modal .agree{min-height:48px;padding:0 26px;border:1px solid #000;background:#fff;cursor:pointer;font-weight:600}
.modal .agree:hover{border-color:var(--accent);color:var(--accent)}

/* footer */
.site-foot{padding:clamp(85px,9.6vw,138px) var(--g) 28px;background:#fff}
.foot-grid{display:grid;gap:40px;border-top:1px solid var(--line);padding-top:40px}
.foot-grid a{display:block;text-decoration:none;font-size:16px;padding:3px 0}
.foot-grid .pages a{font-weight:700}
.foot-grid h4{font-size:13px;font-weight:500;color:var(--ink-2);margin-bottom:10px}
.foot-grid .logo img{height:54px;width:auto}
@media (min-width:768px){.foot-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1180px){.foot-grid{grid-template-columns:1.2fr 1fr 1fr 1.6fr}}
.credits{margin-top:48px;font-size:11px;line-height:1.5;color:#6b6b6b;columns:2 320px;column-gap:40px}
.credits p{break-inside:avoid;margin-bottom:4px}
.credits a{color:inherit}
.foot-legal{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:40px;font-size:13px}
.foot-legal a{text-decoration:none;font-weight:600}

/* reveal */
html.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}
html.js .reveal.in{opacity:1;transform:none}

@media print{
  .site-head,.site-foot,.q-nav,.helpbox,.lead-box,.no-print,.menu,#loader{display:none!important}
  .check-wrap{padding:0}
