/* Eckerd ITS 0.2.0 — tokens + core. */
/* Eckerd ITS style kit 0.1.0. Brand values: supplied Eckerd Brand Guidelines, pp. 4, 7–8. */
:root {
  --ec-ocean: #00a3c9;
  --ec-charcoal: #4c504a;
  --ec-deep-orange: #f26a2b;
  --ec-clementine: #f5a81c;
  --ec-lime: #bdcc2a;
  --ec-shell: #38939b;
  --ec-forest: #59935b;
  --ec-sky: #4ec8eb;
  /* UI colors supplement the brand palette for readable text and controls. */
  --ec-ink: #273b40;
  --ec-link: #006b85;
  --ec-link-hover: #004e62;
  --ec-paper: #fff;
  --ec-canvas: #f7f8f4;
  --ec-line: #dce3df;
  --ec-muted: #5d6b68;
  --ec-ocean-tint: #eaf6f8;
  --ec-success: #246444;
  --ec-success-tint: #edf6ee;
  --ec-danger: #a12d28;
  --ec-danger-tint: #fff0ed;
  --ec-warning: #795313;
  --ec-warning-tint: #fff7e6;
  --ec-focus: #006b85;
  --ec-font-body: 'Eckerd DIN', 'Segoe UI', Arial, sans-serif;
  --ec-font-heading: 'Eckerd DIN', 'Arial Narrow', 'Segoe UI', sans-serif;
  --ec-space-1: .25rem;
  --ec-space-2: .5rem;
  --ec-space-3: .75rem;
  --ec-space-4: 1rem;
  --ec-space-5: 1.5rem;
  --ec-space-6: 2rem;
  --ec-space-7: 3rem;
  --ec-space-8: 4.5rem;
  --ec-radius: .25rem;
  --ec-content-width: 1160px;
}
:root {
  --ec-font-heading: 'Eckerd DIN Condensed', 'DIN Condensed', 'Arial Narrow', 'Eckerd DIN', sans-serif;
  --ec-canvas: #f1f5f2;
  --ec-ocean-deep: #006b85;
  --ec-sand: #f7f2e8;
  --ec-shadow: 0 12px 32px #173d4214;
}

/* Opt in with .ec-site on the page wrapper. No global reset or framework dependency. */
.ec-site { margin:0; color:var(--ec-charcoal); background:var(--ec-paper); font:400 17px/1.55 var(--ec-font-body); -webkit-font-smoothing:antialiased; }
.ec-site *, .ec-site *::before, .ec-site *::after { box-sizing:border-box; }
.ec-site [hidden] { display:none!important; }
.ec-site a { color:var(--ec-link); text-underline-offset:.2em; }
.ec-site a:hover { color:var(--ec-link-hover); }
.ec-site :focus-visible { outline:3px solid var(--ec-focus); outline-offset:4px; }
.ec-site img { max-width:100%; height:auto; }
.ec-site h1,.ec-site h2,.ec-site h3 { font-family:var(--ec-font-heading); font-weight:700; color:var(--ec-ink); line-height:1.08; margin:0 0 1rem; }
.ec-site h1 { font-size:clamp(2.65rem,5.2vw,4.8rem); letter-spacing:-.035em; }
.ec-site h2 { font-size:clamp(1.65rem,3vw,2.3rem); letter-spacing:-.02em; }
.ec-site h3 { font-size:1.4rem; }
.ec-site p { margin:0 0 1rem; }
.ec-site button,.ec-site input,.ec-site select,.ec-site textarea { font:inherit; }
.ec-site button { cursor:pointer; }
.ec-site button:disabled { cursor:not-allowed; opacity:.6; }
.ec-site .ec-container { width:min(var(--ec-content-width),calc(100% - 5rem)); margin-inline:auto; }
.ec-site .ec-skip { position:absolute; top:-100px; left:1rem; z-index:100; background:#fff; padding:1rem; }
.ec-site .ec-skip:focus { top:1rem; }
.ec-site .ec-eyebrow { display:block; font-size:.76rem; font-weight:700; text-transform:uppercase; letter-spacing:.13em; color:var(--ec-link); margin-bottom:1rem; }
.ec-site .ec-muted { color:var(--ec-muted); }
.ec-site .ec-small { font-size:.87rem; }
.ec-site .ec-lead { font-size:1.2rem; max-width:42rem; color:var(--ec-muted); }
.ec-site .ec-rule { border:0; border-top:1px solid var(--ec-line); margin:2rem 0; }
.ec-site .ec-header { border-top:5px solid var(--ec-ocean); border-bottom:1px solid var(--ec-line); background:white; }
.ec-site .ec-header-inner { min-height:112px; display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.ec-site .ec-brand { display:flex; align-items:center; gap:1.75rem; color:var(--ec-ink); text-decoration:none; }
.ec-site .ec-brand img { width:204px; display:block; }
.ec-site .ec-brand-label { border-left:1px solid var(--ec-line); padding-left:1.75rem; font-size:.9rem; line-height:1.3; max-width:12rem; }
.ec-site .ec-header-links { display:flex; gap:1.5rem; font-size:.88rem; }
.ec-site .ec-header-links a { color:var(--ec-charcoal); text-decoration:none; }
.ec-site .ec-header-links a:hover { text-decoration:underline; }
.ec-site .ec-nav { border-bottom:1px solid var(--ec-line); }
.ec-site .ec-nav-inner { display:flex; align-items:center; gap:2.25rem; min-height:57px; flex-wrap:wrap; }
.ec-site .ec-nav a { text-decoration:none; color:var(--ec-muted); font-size:.95rem; padding:1rem 0 .85rem; border-bottom:3px solid transparent; }
.ec-site .ec-nav a[aria-current=page] { color:var(--ec-ink); border-bottom-color:var(--ec-ocean); font-weight:700; }
.ec-site .ec-breadcrumb { font-size:.8rem; padding-top:2rem; display:flex; flex-wrap:wrap; gap:.65rem; color:var(--ec-muted); }
.ec-site .ec-breadcrumb a { text-decoration:none; }
.ec-site .ec-button { display:inline-flex; align-items:center; justify-content:center; gap:1rem; min-height:48px; padding:.75rem 1.4rem; border:1px solid var(--ec-link); border-radius:var(--ec-radius); background:var(--ec-link); color:white; font-weight:700; text-decoration:none; line-height:1.25; transition:background .15s,transform .15s; }
.ec-site .ec-button:hover { background:var(--ec-link-hover); color:white; transform:translateY(-1px); }
.ec-site .ec-button-secondary { color:var(--ec-link); background:transparent; }
.ec-site .ec-button-secondary:hover { background:var(--ec-ocean-tint); color:var(--ec-link-hover); }
.ec-site .ec-field { display:flex; flex-direction:column; gap:.45rem; margin-bottom:1.4rem; min-width:0; }
.ec-site .ec-field label { color:var(--ec-ink); font-weight:700; font-size:.94rem; }
.ec-site .ec-input { border:1px solid #8c9b98; background:#fff; border-radius:var(--ec-radius); padding:.8rem .9rem; width:100%; min-height:49px; color:var(--ec-ink); }
.ec-site .ec-input::placeholder { color:#6a7774; opacity:1; }
.ec-site .ec-input[aria-invalid=true] { border-color:var(--ec-danger); }
.ec-site .ec-field-note { font-size:.85rem; color:var(--ec-muted); }
.ec-site .ec-checkbox { display:flex; align-items:flex-start; gap:.7rem; font-size:.95rem; }
.ec-site .ec-checkbox input { width:19px; height:19px; accent-color:var(--ec-link); margin-top:.2rem; flex-shrink:0; }
.ec-site .ec-alert { padding:1rem 1.2rem; border-left:3px solid var(--ec-ocean); background:var(--ec-ocean-tint); color:var(--ec-ink); border-radius:0 var(--ec-radius) var(--ec-radius) 0; }
.ec-site .ec-alert-success { background:var(--ec-success-tint); border-left-color:var(--ec-success); }
.ec-site .ec-alert-error { background:var(--ec-danger-tint); border-left-color:var(--ec-danger); }
.ec-site .ec-table-wrap { overflow-x:auto; border:1px solid var(--ec-line); border-radius:var(--ec-radius); }
.ec-site .ec-table { border-collapse:collapse; width:100%; text-align:left; font-size:.95rem; }
.ec-site .ec-table caption { text-align:left; padding:1rem 1.25rem; font-weight:700; color:var(--ec-ink); }
.ec-site .ec-table th { font-size:.75rem; text-transform:uppercase; letter-spacing:.08em; background:var(--ec-canvas); color:var(--ec-muted); }
.ec-site .ec-table th,.ec-site .ec-table td { padding:1rem 1.25rem; border-top:1px solid var(--ec-line); vertical-align:middle; }
.ec-site .ec-table tbody tr:nth-child(even) { background:#fafbf9; }
.ec-site .ec-badge { display:inline-block; border-radius:3px; padding:.18rem .6rem; font-size:.78rem; font-weight:700; color:var(--ec-success); background:var(--ec-success-tint); white-space:nowrap; }
.ec-site .ec-badge-pending { color:var(--ec-warning); background:var(--ec-warning-tint); }
.ec-site .ec-footer { margin-top:5rem; background:var(--ec-canvas); border-top:1px solid var(--ec-line); }
.ec-site .ec-footer-inner { padding:2.3rem 0; display:flex; justify-content:space-between; align-items:center; gap:1.5rem; font-size:.82rem; color:var(--ec-muted); }
.ec-site .ec-footer strong { color:var(--ec-charcoal); }
.ec-site .ec-footer-links { display:flex; gap:1.5rem; }
.ec-site .ec-footer-links a { color:var(--ec-muted); }
.ec-site .ec-visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:760px) {
 .ec-site { font-size:16px; }
 .ec-site .ec-container { width:calc(100% - 2.5rem); }
 .ec-site .ec-header-inner { min-height:96px; gap:1rem; }
 .ec-site .ec-brand img { width:168px; }
 .ec-site .ec-brand-label { display:none; }
 .ec-site .ec-header-links { gap:1rem; font-size:.8rem; }
 .ec-site .ec-nav-inner { gap:1.4rem; }
 .ec-site .ec-footer-inner { align-items:flex-start; flex-direction:column; }
 .ec-site .ec-footer-links { gap:1rem; flex-wrap:wrap; }
}
@media(prefers-reduced-motion:reduce) { .ec-site *, .ec-site *::before, .ec-site *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
@media print { .ec-site .ec-nav,.ec-site .ec-header-links,.ec-site .ec-skip,.ec-site .ec-preview-bar { display:none!important; } .ec-site { color:#000;background:#fff; } .ec-site .ec-container { width:100%; } .ec-site .ec-footer { margin-top:2rem; } }
/* 0.2: stronger institutional color, condensed type, and depth. */
.ec-site { background:var(--ec-canvas); }
.ec-site h1,.ec-site h2 { letter-spacing:0; text-transform:uppercase; }
.ec-site .ec-header { border-top:0; }
.ec-site .ec-header-inner { min-height:108px; }
.ec-site .ec-brand img { width:244px; }
.ec-site .ec-brand-label { font-size:1rem; }
.ec-site .ec-header-links a:last-child { background:var(--ec-deep-orange); color:#253334; font-weight:700; padding:.65rem 1.15rem; }
.ec-site .ec-header-links { align-items:center; }
.ec-site .ec-nav { background:var(--ec-ocean-deep); border:0; box-shadow:0 3px 12px #103c421f; }
.ec-site .ec-nav a { color:#fff; padding:1rem .2rem .8rem; font-size:1rem; }
.ec-site .ec-nav a:hover { color:#fff; background:#ffffff0a; }
.ec-site .ec-nav a[aria-current=page] { color:#fff; border-bottom-color:var(--ec-lime); }
.ec-site .ec-nav :focus-visible { outline-color:var(--ec-clementine); }
.ec-site .ec-button { border-radius:2px; box-shadow:0 3px 0 #003c4b1c; }
.ec-site .ec-alert { border-radius:2px; }
.ec-site .ec-input { background:#fff; border-color:#8a9f9a; box-shadow:inset 0 2px 4px #163d4206; }
.ec-site .ec-footer { background:#183f47; border-top:6px solid var(--ec-ocean); color:#fff; }
.ec-site .ec-footer-inner { padding:3rem 0; color:#d4e6e7; }
.ec-site .ec-footer-brand img { filter:brightness(0) invert(1); display:block; width:230px; }
.ec-site .ec-footer-brand p { margin:1.1rem 0 0; }
.ec-site .ec-footer-links a { color:#fff; }
.ec-site .ec-footer :focus-visible { outline-color:var(--ec-clementine); }
.ec-site .ec-table-wrap { background:#fff; border:0; box-shadow:var(--ec-shadow); border-radius:3px; }
.ec-site .ec-table th { background:var(--ec-ocean-deep); color:white; padding:1.15rem 1.25rem; }
.ec-site .ec-table tbody tr:nth-child(even) { background:#eaf3f3; }
.ec-site .ec-table td { border-color:#d7e6e3; }
.ec-site .ec-badge { border:1px solid #b3d0bd; }
.ec-site .ec-badge-pending { border-color:#e8d4a6; }
@media(max-width:760px) { .ec-site .ec-brand img { width:185px; }.ec-site .ec-header-links a:last-child { padding:.55rem .7rem; }.ec-site .ec-header-inner { min-height:93px; } }
@media print { .ec-site { background:white; }.ec-site .ec-footer { background:white;color:#000; }.ec-site .ec-footer-brand img { filter:none; } }
