/* Utility pages: About / Contact (info bands) and Privacy / Terms (legal document). */
.ut-hero{padding:clamp(34px,6vh,72px) 0 clamp(30px,5vh,60px);background:var(--paper)}
.pg-util .crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;font:600 10.5px/1 var(--f-mono);font-stretch:112%;letter-spacing:.04em;color:var(--ink-mute)}
.pg-util .crumbs a{color:var(--ink-soft);text-decoration:none}
.pg-util .crumbs a:hover{color:var(--red)}
.pg-util .crumbs span[aria-current]{color:var(--ink)}
.ut-h1{font-weight:560;letter-spacing:-.04em;line-height:1.04;font-size:clamp(32px,3.9vw,52px);max-width:22ch;margin:0 0 22px}
.ut-h1 .x{font-weight:300;color:var(--ink-soft)}
.ut-intro{font-size:clamp(16px,1.3vw,18px);line-height:1.7;color:var(--ink-soft);max-width:62ch;margin-bottom:14px}
.ut-call{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:26px}
.ut-tel{font:420 26px/1.1 var(--f-disp);font-stretch:125%;font-variant-numeric:tabular-nums;letter-spacing:-.03em;color:var(--ink);text-decoration:none}
.ut-hours{color:var(--ink-mute)}

/* info bands (About / Contact) */
.ut-sec-band{padding:var(--sec-pad) 0}
.ut-sec-band.sv-tint{background:var(--paper-2)}
.ut-sec-in{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(28px,4vw,72px);align-items:start}
.ut-sec-head .eyebrow{margin-bottom:14px}
.ut-sec-body>*:first-child{margin-top:0}

/* legal document */
.ut-doc{background:var(--paper);padding:clamp(30px,5vh,64px) 0 var(--sec-pad)}
.ut-doc-in{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:clamp(30px,4vw,70px);align-items:start}
.ut-index{position:sticky;top:calc(var(--bar-h) + 24px);border-left:2px solid var(--line);padding-left:18px;max-height:calc(100vh - var(--bar-h) - 60px);overflow:auto}
.ut-index-h{color:var(--ink-mute);margin-bottom:12px}
.ut-index ol{list-style:none;margin:0;padding:0;counter-reset:ix}
.ut-index li{counter-increment:ix}
.ut-index a{display:flex;gap:10px;padding:6px 0;font-size:14px;line-height:1.35;color:var(--ink-soft);text-decoration:none}
.ut-index a::before{content:counter(ix,decimal-leading-zero);font:600 10.5px/1.6 var(--f-mono);font-stretch:125%;color:var(--ink-mute);flex:none}
@media(hover:hover){.ut-index a:hover{color:var(--red)}.ut-index a:hover::before{color:var(--red)}}
.ut-sec{padding:0 0 clamp(30px,4vh,48px);margin-bottom:clamp(30px,4vh,48px);border-bottom:1px solid var(--line);scroll-margin-top:calc(var(--bar-h) + 20px)}
.ut-sec:last-child{border-bottom:0;margin-bottom:0}
.ut-h2{font-family:var(--f-disp);font-weight:560;letter-spacing:-.03em;line-height:1.1;font-size:clamp(22px,2.1vw,30px);margin:0 0 16px}
.ut-h2 .x{font-weight:300;color:var(--ink-soft)}
.ut-body p{color:var(--ink-soft);line-height:1.72;max-width:70ch}
.ut-body p + p{margin-top:14px}

@media(max-width:980px){
  .ut-sec-in{grid-template-columns:1fr}
  .ut-doc-in{grid-template-columns:1fr}
  .ut-index{position:static;max-height:none;overflow:visible;border-left:0;border-top:2px solid var(--line);padding:18px 0 0;margin-bottom:8px}
  .ut-index ol{columns:2;column-gap:24px}
}
@media(max-width:560px){.ut-index ol{columns:1}}

/* sitemap + 404 */
.sm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(26px,3.5vw,60px);align-items:start}
.sm-list{list-style:none;margin:10px 0 0;padding:0}
.sm-list a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 2px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:15px;letter-spacing:-.01em}
.sm-list svg{width:14px;height:14px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;opacity:.3;transition:transform .35s var(--ease),opacity .25s}
@media(hover:hover){.sm-list a:hover{color:var(--red)}.sm-list a:hover svg{opacity:1;transform:translateX(4px)}}
.e4{padding:clamp(60px,14vh,140px) 0 clamp(60px,12vh,120px)}
.e4-code{color:var(--red);margin-bottom:14px}
.e4 .ut-intro a{color:var(--ink);text-decoration-color:var(--red);text-underline-offset:3px}
@media(max-width:860px){.sm-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.sm-grid{grid-template-columns:1fr}}
