/* AccessPro Solutions — site stylesheet */
:root{
  --paper:#F7F4EE; --paper2:#F2EEE6; --ink:#24211E; --body:#4C463F; --muted:#6E665E;
  --terra:#C2552A; --terra-ink:#A8481F; --terra-deep:#9C3F1C; --blue:#526A78;
  --rule:rgba(36,33,30,0.14); --rule-strong:#24211E;
  --dark-rule:rgba(247,244,238,0.18); --dark-text:#CFC8BF; --dark-mute:#A39C94; --dark-blue:#A9BDC8;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Public Sans',system-ui,sans-serif;font-size:16px;line-height:1.5}
img{max-width:100%;display:block}
h1,h2,h3,h4{font-family:'Archivo',system-ui,sans-serif;text-wrap:pretty;margin:0}
p{margin:0}
a{color:var(--terra-ink)}
a:hover{color:#8C3A16}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
::selection{background:#EBD8C8}
summary::-webkit-details-marker{display:none}
summary::marker{content:""}
main{scroll-margin-top:84px}
main:focus{outline:none}

.skip{position:absolute;left:-9999px;background:var(--ink);color:var(--paper);font-weight:700;text-decoration:none;padding:12px 18px;border-radius:6px;z-index:100}
.skip:focus{position:fixed;left:16px;top:12px;width:auto;height:auto}

/* ---------- layout ---------- */
.wrap{max-width:1440px;margin:0 auto;padding-left:clamp(16px,3vw,56px);padding-right:clamp(16px,3vw,56px)}
.wrap-6{max-width:1152px;margin:0 auto;padding-left:clamp(20px,3vw,48px);padding-right:clamp(20px,3vw,48px)}
.sec{border-bottom:1px solid var(--rule)}
.sec-pad{padding-top:clamp(48px,6vw,88px);padding-bottom:clamp(48px,6vw,88px)}
.tint{background:var(--paper2)}
.dark{background:var(--ink);color:var(--paper)}
.dark h1,.dark h2,.dark h3,.dark h4{color:var(--paper)}
.stack-head{display:flex;flex-wrap:wrap;gap:20px 56px;align-items:flex-end;justify-content:space-between;margin-bottom:38px}
.stack-head.airy{margin-bottom:48px}

/* ---------- type ---------- */
.mono{font-family:'IBM Plex Mono',monospace}
.eyebrow{font-family:'Archivo',system-ui,sans-serif;font-size:11.5px;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--blue);margin-bottom:14px}
.dark .eyebrow{color:var(--dark-blue)}
.lbl{font-family:'Archivo',system-ui,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:0.13em;text-transform:uppercase;color:var(--muted)}
.dark .lbl{color:var(--dark-blue)}
h1.page{font-weight:700;font-size:clamp(31px,4.2vw,52px);line-height:1.03;letter-spacing:-0.025em;max-width:22ch}
h2.sech{font-weight:700;font-size:clamp(24px,3vw,38px);line-height:1.08;letter-spacing:-0.02em}
.lede{font-size:18.5px;line-height:1.6;color:var(--body);max-width:58ch}
.dark .lede{color:var(--dark-text)}
.txt{font-size:16px;line-height:1.65;color:var(--body)}
.dark .txt{color:var(--dark-text)}
.note{font-size:13px;line-height:1.6;color:var(--muted);max-width:88ch}
.dark .note{color:var(--dark-mute)}
.maxw{max-width:54ch}

/* ---------- controls ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 26px;border-radius:6px;font-weight:600;font-size:15.5px;text-decoration:none;border:0;cursor:pointer;font-family:inherit}
.btn-terra{background:var(--terra);color:#FFFFFF}
.btn-terra:hover{background:var(--terra-deep);color:#FFFFFF}
.btn-dark{background:var(--ink);color:var(--paper)}
.btn-dark:hover{background:var(--terra);color:#FFFFFF}
.lnk{display:inline-flex;align-items:center;min-height:44px;font-weight:600;font-size:15.5px;text-decoration:none;color:var(--terra-ink)}
.lnk:hover{color:#8C3A16}
.lnk-u{box-shadow:inset 0 -1px 0 rgba(36,33,30,0.35);color:var(--ink);padding:0 2px}
.lnk-u:hover{color:var(--terra-ink)}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}

/* ---------- header ---------- */
.hdr{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--rule)}
.hdr-in{height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:0}
.mark{width:30px;height:30px;flex:0 0 auto;border:1.5px solid var(--ink);display:flex;align-items:center;justify-content:center}
.mark span{width:12px;height:12px;background:var(--terra);display:block}
.brand-t{display:flex;flex-direction:column;line-height:1.1;min-width:0}
.brand-n{font-family:'Archivo',sans-serif;font-weight:700;font-size:17px;color:var(--ink);letter-spacing:-0.01em}
.brand-s{font-family:'Archivo',system-ui,sans-serif;font-size:10px;font-weight:700;letter-spacing:0.13em;text-transform:uppercase;color:var(--muted)}
.pnav{display:flex;align-items:center;gap:clamp(10px,1.6vw,22px)}
.pnav a{text-decoration:none;font-size:14.5px;font-weight:600;display:inline-flex;align-items:center;min-height:44px;padding:0 2px;color:#3A352F}
.pnav a:hover{color:var(--terra-ink)}
.pnav a[aria-current="page"]{color:var(--terra-ink);box-shadow:inset 0 -2px 0 var(--terra)}
.hdr-cta{flex:0 0 auto;font-size:14px;min-height:44px;padding:12px 20px}
.mnav{display:none;position:relative}
.mnav-btn{cursor:pointer;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1.5px solid rgba(36,33,30,0.25);border-radius:6px;background:transparent;padding:0}
.mnav-btn span{width:19px;height:2px;background:var(--ink);box-shadow:0 -6px 0 var(--ink),0 6px 0 var(--ink);display:block}
.mnav-panel{display:none;position:absolute;right:0;top:calc(100% + 16px);background:var(--paper);border:1px solid rgba(36,33,30,0.2);padding:8px;flex-direction:column;gap:2px;min-width:236px;max-width:calc(100vw - 32px);z-index:60;box-shadow:0 20px 40px -24px rgba(36,33,30,.4)}
.mnav-panel.open{display:flex}
.mnav-panel a{display:flex;align-items:center;min-height:44px;padding:11px 14px;text-decoration:none;color:var(--ink);font-size:15px;font-weight:600}
.mnav-panel a:hover{background:#EFE9DE}
.mnav-panel a[aria-current="page"]{color:var(--terra-ink);background:#EFE9DE}
.mnav-panel .btn{margin-top:6px}

/* ---------- page intro ---------- */
.intro{padding-top:clamp(40px,5vw,72px);padding-bottom:clamp(32px,4vw,56px)}
.facts{margin:38px 0 0;padding-top:22px;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;gap:24px 48px}
.facts dt{font-family:'Archivo',system-ui,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:0.13em;text-transform:uppercase;color:var(--muted)}
.facts dd{margin:7px 0 0;font-size:15px;font-weight:600}

/* ---------- hero ---------- */
.hero{display:grid;grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr);min-height:78vh;max-width:1440px;margin:0 auto}
.hero-l{padding:clamp(40px,6vw,88px) clamp(16px,3vw,56px) clamp(40px,6vw,72px);border-right:1px solid var(--rule);display:flex;flex-direction:column;justify-content:center}
.hero-l .cta-row{margin-top:28px}
@media (min-width:961px){.hero-l{justify-content:flex-start;padding-top:clamp(28px,4vw,52px)}}
.hero-r{padding:clamp(28px,4vw,52px) clamp(16px,3vw,56px);background:var(--paper2);display:flex;flex-direction:column;justify-content:center;overflow-x:clip}
.plan{position:relative;background:var(--paper);border:1px solid var(--ink);padding:14px}
.fpanel-draw .plan-area{min-height:220px}
.plan-grid{position:absolute;inset:14px;background-image:linear-gradient(rgba(82,106,120,0.10) 1px,transparent 1px),linear-gradient(90deg,rgba(82,106,120,0.10) 1px,transparent 1px);background-size:28px 28px}
.plan-area{position:relative;aspect-ratio:4 / 3;min-height:300px}
.pinwrap{position:absolute;width:44px;height:44px;display:flex;align-items:center;justify-content:center}
.pin{width:44px;height:44px;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;background:transparent;border:0;padding:0;cursor:pointer}
.pin .pmark{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--ink);font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:600;background:var(--terra);color:#FFFFFF}
.pin:focus-visible .pmark{border-color:var(--paper)}
.tip{position:absolute;z-index:6;left:50%;bottom:calc(100% - 6px);transform:translateX(-50%);width:min(212px,58vw);background:var(--ink);color:var(--paper);padding:10px 12px;display:flex;flex-direction:column;gap:4px;text-align:left;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease;box-shadow:0 12px 26px -16px rgba(36,33,30,0.85)}
.tip.below{bottom:auto;top:calc(100% - 6px)}
.pinwrap.open .tip{opacity:1;visibility:visible}
.tip-t{font-family:'Archivo',system-ui,sans-serif;font-size:13.5px;font-weight:700;line-height:1.25}
.tip-o{font-size:12.5px;line-height:1.45;color:var(--dark-text)}
.tip-s{font-family:'Archivo',system-ui,sans-serif;font-size:10px;font-weight:700;letter-spacing:0.13em;text-transform:uppercase;color:#E3B294}
.plan-note{position:absolute;font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:0.12em;color:var(--muted)}
.tag{font-family:'Archivo',system-ui,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:#FFFFFF;background:var(--blue);padding:4px 8px}
.qual{display:inline-block;font-family:'Archivo',system-ui,sans-serif;font-size:11px;font-weight:700;letter-spacing:0.11em;text-transform:uppercase;color:var(--muted)}
.dark .qual{color:var(--dark-mute)}
.drawcap{margin-top:10px;font-family:'IBM Plex Mono',monospace;font-size:11px;line-height:1.55;letter-spacing:0.03em;color:var(--muted)}

/* hero report folder */
.folder{display:flex;flex-direction:column;min-width:0}
.ftabs{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-end;margin-bottom:-1px;position:relative;z-index:2}
.ftab{font-family:'Archivo',system-ui,sans-serif;font-size:12px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);background:var(--paper);border:1px solid var(--ink);border-radius:0;padding:10px 16px;cursor:pointer;line-height:1.1;min-height:40px}
.ftab[aria-selected="true"]{color:var(--ink);background:var(--paper);border-bottom-color:transparent;padding-bottom:11px}
.ftab:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.fbody{border:1px solid var(--ink);background:var(--paper);padding:clamp(14px,2vw,22px);min-width:0;display:flex;flex-direction:column;flex:1 1 auto;min-height:0}
.fpanel{min-width:0;animation:fpfade 150ms ease}
.fpanel[hidden]{display:none}
.fpanel:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.fpanel-sched{overflow-y:auto;flex:1 1 auto;min-height:0}
@keyframes fpfade{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.fpanel{animation:none}}
@media (min-width:961px){.folder{height:min(650px,calc(100vh - 150px))}}

/* schedule of inspection points */
.ptlist{list-style:none;margin:10px 0 0;padding:0;border-top:1px solid var(--rule-strong)}
.ptlist li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px 14px;padding:12px 0;border-bottom:1px solid var(--rule);align-items:start}
.ptno{width:26px;height:26px;border:1.5px solid var(--ink);display:flex;align-items:center;justify-content:center;font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:600;flex:0 0 auto}
.ptlist h4{font-family:'Archivo',system-ui,sans-serif;font-size:15px;font-weight:700;line-height:1.3}
.ptlist p{margin-top:6px;font-size:13.5px;line-height:1.5;color:var(--body)}
.fl{display:block;margin-bottom:2px;font-family:'Archivo',system-ui,sans-serif;font-size:10px;font-weight:700;letter-spacing:0.13em;text-transform:uppercase;color:var(--muted)}

/* document section heads */
.dochd{border-top:2px solid var(--rule-strong);padding-top:16px;margin-bottom:34px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px clamp(16px,3vw,40px);align-items:baseline}
.dark .dochd{border-top-color:rgba(247,244,238,0.5)}
.dochd .sn{font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:600;letter-spacing:0.1em;color:var(--blue)}
.dark .dochd .sn{color:var(--dark-blue)}
.dochd h2,.dochd h1{grid-column:2;font-weight:700;font-size:clamp(23px,2.7vw,34px);line-height:1.1;letter-spacing:-0.02em;max-width:26ch}
.dochd p{grid-column:2;margin-top:12px;font-size:15.5px;line-height:1.6;color:var(--body);max-width:58ch}
.dark .dochd p{color:var(--dark-text)}

/* margin note beside content */
.mgrid{display:grid;grid-template-columns:minmax(0,190px) minmax(0,1fr);gap:clamp(18px,3.5vw,52px);align-items:start}
.mnote{border-top:1px solid var(--rule);padding-top:10px;font-size:13px;line-height:1.6;color:var(--muted)}
.dark .mnote{border-top-color:var(--dark-rule);color:var(--dark-mute)}

/* record list (query / statement pairs) */
.recs{margin:0;border-top:1px solid var(--rule-strong)}
.recs > div{display:grid;grid-template-columns:minmax(0,0.42fr) minmax(0,1fr);gap:8px clamp(20px,3vw,48px);padding:20px 0;border-bottom:1px solid var(--rule)}
.recs dt{font-family:'Archivo',system-ui,sans-serif;font-size:17px;font-weight:600;line-height:1.3}
.recs dd{margin:0;font-size:15px;line-height:1.65;color:var(--body);max-width:78ch}

/* end-of-page referral line */
.closing{border-top:1px solid var(--rule-strong);padding-top:24px;display:flex;flex-wrap:wrap;gap:20px 40px;align-items:center;justify-content:space-between}
.closing .lede{flex:1 1 320px}
.refer{border-top:1px solid var(--rule-strong);padding-top:14px;display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline;font-size:15px;line-height:1.65;color:var(--body)}
.refer .sn{font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:600;letter-spacing:0.1em;color:var(--blue);flex:0 0 auto}

/* ---------- tables / registers ---------- */
.reg{border-top:1px solid var(--rule-strong)}
.dark .reg{border-top-color:rgba(247,244,238,0.28)}
.row3{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) minmax(0,1fr);border-bottom:1px solid var(--rule);padding:6px 0}
.dark .row3{border-bottom-color:var(--dark-rule)}
.row3 > *{padding:16px 16px 16px 0}
.row3 > *:last-child{padding-right:0}
.rowhead{padding:0}
.rowhead > *{padding:10px 16px 10px 0;font-family:'Archivo',system-ui,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted)}
.dark .rowhead > *{color:var(--dark-blue)}
.ref{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.1em;color:var(--blue);flex:0 0 auto}
.dark .ref{color:var(--dark-blue)}
.row3 h3{font-size:17px;font-weight:600}
.clab{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.ttl{display:flex;gap:14px;align-items:baseline}
.scope{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));column-gap:clamp(24px,3vw,40px);border-top:1px solid var(--rule)}
.scope li{padding:16px 0;border-bottom:1px solid var(--rule);min-width:0}
.dot{width:9px;height:9px;background:var(--terra);display:block;flex:0 0 auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tickmark{font-family:'Archivo',system-ui,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted)}

/* bullet lists */
.blist{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.dark .blist{border-top-color:var(--dark-rule)}
.blist li{display:flex;gap:14px;align-items:baseline;padding:13px 0;border-bottom:1px solid var(--rule);font-size:16px;line-height:1.55}
.dark .blist li{border-bottom-color:var(--dark-rule);color:var(--dark-text)}
.blist .bul{flex:0 0 auto;width:7px;height:7px;background:var(--terra);display:block;margin-top:7px}
.blist .bul-b{background:var(--blue)}
.cols2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,56px)}
.cols2-tight{gap:0 clamp(24px,4vw,64px)}
.cols3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,44px)}

/* journey */
.jny{list-style:none;margin:0;padding:0}
.jny li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:0 clamp(18px,3vw,44px);border-top:1px solid var(--rule)}
.jny-ref{padding:26px clamp(14px,2.5vw,32px) 26px 0;border-right:1px solid var(--rule);display:flex;align-items:flex-start;gap:clamp(12px,2vw,26px)}
.jny-b{padding:26px 0;display:flex;flex-wrap:wrap;gap:8px 40px;align-items:baseline}
.jny-b h3{font-weight:700;font-size:clamp(19px,2vw,24px);letter-spacing:-0.01em;flex:0 0 auto;min-width:230px}
.jny-b p{font-size:15.5px;line-height:1.6;color:var(--body);flex:1 1 320px;max-width:62ch}

/* report sheet */
.sheet{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,0.65fr);border:1px solid var(--ink);background:var(--paper)}
.sheet-l{padding:clamp(22px,3vw,36px);border-right:1px solid var(--rule)}
.sheet dl{margin:0}
.sheet dt{margin:22px 0 0;font-family:'Archivo',system-ui,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:0.13em;text-transform:uppercase;color:var(--muted)}
.sheet dd{margin:8px 0 0;font-size:16.5px;line-height:1.6;color:#33302B}
.badge{font-family:'Archivo',system-ui,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:#FFFFFF;background:var(--terra);padding:4px 9px}
.badge-dark{background:var(--ink)}

/* evidence register (report sheet, right column) */
.sheet-ev{grid-template-columns:minmax(0,0.72fr) minmax(0,0.28fr)}
.sheet-ev .sheet-l{border-right:0}
.evreg{padding:clamp(22px,3vw,36px);background:var(--paper2);border-left:1px solid rgba(36,33,30,0.15);display:flex;flex-direction:column;gap:14px}
.evlist{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.evlist li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 12px;padding:13px 0;border-bottom:1px solid var(--rule)}
.evref{font-family:'IBM Plex Mono',monospace;font-size:10.5px;font-weight:600;letter-spacing:0.12em;color:var(--blue);padding-top:2px}
.evname{font-size:14.5px;font-weight:600;line-height:1.4;color:#33302B}
.evstat{grid-column:2;display:flex;align-items:center;gap:8px;font-family:'Archivo',system-ui,sans-serif;font-size:10px;font-weight:700;letter-spacing:0.11em;text-transform:uppercase;color:var(--muted)}
.evstat::before{content:"";width:7px;height:7px;background:var(--terra);display:block;flex:0 0 auto}

/* register of figures */
.figs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--rule-strong);row-gap:0}
.figs > div{padding:20px 20px 24px;border-bottom:1px solid var(--rule);border-right:1px solid var(--rule)}
.figs > div:nth-child(2n+1){padding-left:0}
.figs dt{margin-bottom:8px;font-family:'Archivo',system-ui,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted)}
.figs dd{margin:0;font-family:'Archivo',sans-serif;font-size:clamp(19px,2vw,24px);font-weight:700;letter-spacing:-0.01em;line-height:1.35}
.figs .sm{font-size:16px;font-weight:600;line-height:1.55}

/* contact particulars */
.dl-contact{margin:0;border-top:1px solid var(--rule)}
.dl-contact > div{padding:16px 0;border-bottom:1px solid var(--rule)}
.dl-contact > div:last-child{border-bottom:0}
.dl-contact dt{font-family:'Archivo',system-ui,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted)}
.dl-contact dd{margin:8px 0 0;font-size:16.5px;line-height:1.65}
.dl-contact a{text-decoration:none;overflow-wrap:anywhere}

/* ---------- contact form ---------- */
.enqgrid{display:grid;grid-template-columns:minmax(0,0.72fr) minmax(0,1.28fr);gap:40px clamp(40px,5vw,64px);align-items:start}
.brief{position:sticky;top:104px}
.checks{list-style:none;margin:16px 0 0;padding:0;border-top:1px solid var(--rule)}
.checks li{display:flex;gap:12px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--rule);font-size:15.5px}
.checks .bul{width:6px;height:6px;background:var(--blue);display:block;flex:0 0 auto}
.fgroups{display:flex;flex-direction:column;gap:32px}
.fgroup{border-top:1px solid var(--rule);padding-top:22px}
.fgroup:first-child{border-top:0;padding-top:0}
.fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field.full{grid-column:1 / -1}
.field label{font-size:14px;font-weight:600}
.field .hint{font-size:12.5px;color:var(--muted)}
.field input,.field select,.field textarea{min-height:48px;padding:12px 14px;border:1px solid rgba(36,33,30,0.3);border-radius:6px;background:#FFFDF9;color:var(--ink);font-size:16px;font-family:inherit;width:100%}
.field textarea{min-height:120px;resize:vertical;line-height:1.5}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid var(--terra);outline-offset:2px;border-color:var(--terra)}
.field [aria-invalid="true"]{border-color:#A3271B;background:#FFF6F3}
.err{font-size:12.5px;font-weight:600;color:#A3271B;min-height:0}
.err:empty{display:none}
.summary-err{border:1px solid #A3271B;background:#FFF1EC;padding:14px 16px;border-radius:6px;margin-bottom:22px}
.summary-err h3{font-size:15px;margin-bottom:8px}
.summary-err ul{margin:0;padding-left:18px;font-size:14px;line-height:1.7}
.formstatus{margin-top:14px;font-size:14.5px;line-height:1.6}
.formstatus[data-state="error"]{color:#A3271B;font-weight:600}
.thanks{min-height:420px;display:flex;flex-direction:column;justify-content:center}
.thanks[hidden]{display:none}
.thanks-mark{width:22px;height:22px;background:var(--terra);display:block}
.legend{font-family:'Archivo',system-ui,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:0.13em;text-transform:uppercase;color:var(--muted);margin-bottom:16px;padding:0;display:block}
fieldset{border:0;margin:0;padding:0;min-width:0}

/* ---------- footer ---------- */
.ftr{background:var(--ink);color:var(--dark-text)}
.ftr-in{padding-top:clamp(44px,6vw,72px);padding-bottom:40px}
.ftr-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr);gap:clamp(28px,4vw,48px)}
.ftr h2{font-family:'Archivo',system-ui,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:0.13em;text-transform:uppercase;color:var(--dark-blue);margin-bottom:12px}
.ftr ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.ftr ul a{display:inline-block;padding:7px 0;color:var(--dark-text);text-decoration:none;font-size:14.5px}
.ftr ul a:hover{color:var(--paper)}
.ftr address{font-style:normal;font-size:14.5px;line-height:1.7;color:var(--dark-text);overflow-wrap:break-word}
.ftr address a{color:#E3B294;text-decoration:none;overflow-wrap:anywhere}
.ftr address a:hover{color:var(--paper)}
.ftr-mark{width:28px;height:28px;flex:0 0 auto;border:1.5px solid var(--paper);display:flex;align-items:center;justify-content:center}
.ftr-mark span{width:11px;height:11px;background:var(--terra);display:block}
.ftr-bar{margin-top:44px;padding-top:24px;border-top:1px solid var(--dark-rule);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:13px;color:var(--dark-mute)}
.ftr-bar a{color:var(--dark-mute);text-decoration:none}
.ftr-bar a:hover{color:var(--paper)}
.ftr-bar span.links{display:flex;flex-wrap:wrap;gap:18px}

/* legal pages */
.legal h2{font-size:clamp(20px,2.4vw,26px);font-weight:700;letter-spacing:-0.01em;margin:38px 0 12px}
.legal h3{font-size:17px;font-weight:600;margin:24px 0 8px}
.legal p,.legal li{font-size:16px;line-height:1.7;color:var(--body)}
.legal p{margin:0 0 14px}
.legal ul{margin:0 0 16px;padding-left:20px}
.legal li{margin-bottom:8px}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .pnav,.hdr-cta{display:none}
  .mnav{display:block}
}
@media (max-width:960px){
  .hero,.sheet,.enqgrid{grid-template-columns:minmax(0,1fr)}
  .hero-l,.sheet-l{border-right:0}
  .mgrid,.recs > div{grid-template-columns:minmax(0,1fr)}
  .recs > div{gap:6px}
  .sheet-ev{grid-template-columns:minmax(0,1fr)}
  .evreg{border-left:0;border-top:1px solid rgba(36,33,30,0.15)}
  .hero{min-height:0}
  .cols3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ftr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rowhead{display:none}
  .row3{grid-template-columns:minmax(0,1fr);padding:14px 0}
  .row3 > *{padding:4px 0}
  .clab{position:static;width:auto;height:auto;margin:6px 0 4px;overflow:visible;clip:auto;white-space:normal;display:block;font-family:'Archivo',system-ui,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted)}
  .dark .clab{color:var(--dark-blue)}
  .brief{position:static}
}
@media (max-width:760px){
  .figs{grid-template-columns:minmax(0,1fr)}
  .figs > div{padding-left:0}
}
@media (min-width:1024px){
  .figs{grid-template-columns:repeat(5,minmax(0,1fr))}
  .figs > div{padding:24px 20px 28px}
  .figs > div:nth-child(2n+1){padding-left:20px}
  .figs > div:nth-child(5n+1){padding-left:0}
  .stack-head.airy{margin-bottom:56px}
}
@media (max-width:640px){
  .cols2,.cols3,.ftr-grid,.fgrid{grid-template-columns:minmax(0,1fr)}
  .dochd{grid-template-columns:minmax(0,1fr)}
  .dochd h2,.dochd h1,.dochd p{grid-column:1}
  .ptlist li{grid-template-columns:auto minmax(0,1fr)}
  .ptlist li .tag{grid-column:2;justify-self:start}
  .jny li{grid-template-columns:minmax(0,1fr)}
  .jny-ref{border-right:0;padding:20px 0 0}
  .jny-b{padding:8px 0 22px}
  .btn{width:100%}
  .cta-row .btn{width:100%}
  .hdr-in{gap:12px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
}
