/* Shared HOMETRUST foundation. Local assets and system fonts only.
   Approved palette: white dominant, deep navy structure, warm metallic
   gold accents, silver/light-grey secondary surfaces, electric blue for
   interactive product actions. General-public premium, not luxury-only. */
:root{--ink:#0a1f44;--navy:#0a1f44;--muted:#5b6472;--paper:#f7f9fc;--surface:#ffffff;--silver:#eef1f5;--line:#e3e7ed;--forest:#0a1f44;--accent:#5b6472;--soft:#f7f9fc;--gold:#c9a227;--action:#2457f5;--danger:#9a3e32;--serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',system-ui,-apple-system,sans-serif;
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;
  --radius-sm:8px;--radius-md:14px;--radius-lg:22px;
  --shadow-sm:0 2px 8px rgba(10,31,68,.06);--shadow-md:0 12px 32px rgba(10,31,68,.08);
  color:var(--ink);background:var(--paper);font-family:var(--sans);font-synthesis:none}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65}
img{max-width:100%;height:auto}
a{color:inherit;text-underline-offset:4px}
h1,h2,h3,p{overflow-wrap:break-word}
h1,h2,h3{line-height:1.18}
h1,h2{letter-spacing:-.035em}
h1{font:400 clamp(38px,5vw,68px)/1.08 var(--serif);margin:0 0 24px}
h2{font:400 clamp(26px,2.5vw,34px)/1.2 var(--serif);margin:0 0 18px}
h3{font-size:18px;font-weight:600}
p{color:var(--muted)}
em{font-weight:400}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
button,.button,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;max-width:100%;border:1px solid var(--forest);border-radius:8px;padding:12px 20px;background:var(--forest);color:#ffffff;text-decoration:none;font-size:14px;font-weight:600;line-height:1.5;white-space:normal;cursor:pointer;touch-action:manipulation}
.secondary,.button.secondary{background:transparent;color:var(--ink);border-color:#d5dae2}
button:disabled{opacity:.55;cursor:wait}
input,select,textarea{width:100%;min-width:0;min-height:48px;border:1px solid #d5dae2;border-radius:7px;padding:12px;background:var(--surface);color:var(--ink);font-size:16px}
input[type=checkbox],input[type=radio]{width:22px;min-height:22px;accent-color:var(--forest);flex-shrink:0}
input[type=file]{padding:8px;font-size:13px}
input::file-selector-button{min-height:40px;padding:8px 12px;margin-right:10px;border:0;border-radius:4px;background:var(--soft);color:var(--ink)}
label{font-size:13px;font-weight:600}
fieldset{min-width:0}
summary{min-height:48px;cursor:pointer;padding:12px 0}
small,.caption{font-size:12px;line-height:1.6;color:var(--muted)}
.eyebrow{font-size:10px!important;letter-spacing:.19em;font-weight:700;color:#5b6472;margin:0 0 18px}
.brand{font-size:21px;font-weight:750;letter-spacing:.15em;text-decoration:none;line-height:1.3;display:inline-block}
.brand span{display:block;margin-top:6px;font-size:9px;font-weight:500;letter-spacing:.14em;color:var(--muted)}
.shell{width:min(1280px,calc(100% - 96px));margin-inline:auto}
.skip{position:absolute;left:16px;top:-100px;background:var(--surface);padding:12px;z-index:50}
.skip:focus{top:12px}
:is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #5b6472;outline-offset:4px}
[hidden]{display:none!important}
[role=status]:empty{display:none}
footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding:32px 0;font-size:12px;color:var(--muted)}
footer strong{letter-spacing:.15em}
footer a{display:inline-flex;align-items:center;min-height:44px}
@media(hover:hover){button:hover,.button:hover{background:#102a56}
.secondary:hover{background:#e3e7ed;color:var(--ink)}
a:hover{text-decoration-thickness:2px}
}
@media(max-width:700px){.shell{width:calc(100% - 40px)}
h1{font-size:40px}
h2{font-size:28px}
footer{padding-bottom:32px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media(forced-colors:active){button,.button,.card,.panel{border:1px solid CanvasText}
}
