
:root {
  --nav-width: 330px;
  --blue: #0066cc;
  --blue-focus: #0071e3;
  --target-blue: #123f73;
  --ink: #1d1d1f;
  --ink-80: #333333;
  --muted: #6e6e73;
  --muted-48: #7a7a7a;
  --canvas: #ffffff;
  --parchment: #f5f5f7;
  --pearl: #fafafc;
  --hairline: #e0e0e0;
  --panel: #ffffff;
  --pill: 9999px;
  --sm: 8px;
  --lg: 18px;
  --ease: 240ms ease;
}
html[data-theme="dark"] {
  --ink: #f5f5f7;
  --ink-80: #e8e8ed;
  --muted: #b8b8bd;
  --muted-48: #a8a8ad;
  --canvas: #1d1d1f;
  --parchment: #272729;
  --pearl: #2a2a2c;
  --hairline: #3d3d41;
  --panel: #252527;
  --blue: #2997ff;
  --blue-focus: #64adff;
}
* { box-sizing: border-box; }
html { color-scheme: light; background: var(--canvas); scroll-behavior: smooth; }
html[data-theme="dark"] { color-scheme: dark; }
body {
  margin: 0;
  min-width: 320px;
  min-height: 100dvh;
  overflow: hidden;
  background: var(--canvas);
  color: var(--ink);
  font-family: "SF Pro Text", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.47;
  letter-spacing: -0.374px;
}
button, input { font: inherit; }
a { color: var(--blue); }
button, a, input { -webkit-tap-highlight-color: transparent; }
button:active, .button:active { transform: scale(.95); }
button:focus-visible, a:focus-visible, input:focus-visible { outline: 2px solid var(--blue-focus); outline-offset: 2px; }
.shell { display: grid; grid-template-columns: var(--nav-width) minmax(0,1fr); min-height: 100dvh; transition: grid-template-columns var(--ease); }
.sidebar { min-width: 0; height: 100dvh; display: flex; flex-direction: column; overflow: hidden; background: var(--parchment); border-right: 1px solid var(--hairline); transition: transform var(--ease), opacity var(--ease); }
.sidebar-head { padding: 16px 16px 10px; }
.brand-row { display: flex; align-items: center; gap: 10px; min-height: 44px; }
.site-brand { min-width:0; flex:1; display:flex; align-items:center; gap:10px; color:var(--ink); text-decoration:none; }
.target-logo { position:relative; width:30px; height:30px; flex:0 0 30px; border:3px solid var(--target-blue); border-radius:50%; }
.target-logo::before, .target-logo::after { content:""; position:absolute; inset:5px; border:2px solid var(--target-blue); border-radius:50%; }
.target-logo::after { inset:11px; background:var(--target-blue); border:0; }
.site-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; font-weight:600; line-height:1.29; letter-spacing:-0.224px; text-transform:lowercase; }
.icon-button { width:44px; height:44px; display:inline-grid; place-items:center; flex:0 0 44px; border:0; border-radius:50%; background:transparent; color:var(--ink); cursor:pointer; }
.icon-button:hover { background:var(--pearl); }
.icon-glyph { font-size:20px; line-height:1; }
.search-row { display:flex; align-items:center; gap:8px; margin-top:8px; }
.search-trigger { width:44px; height:44px; display:grid; place-items:center; border:0; border-radius:50%; background:transparent; color:var(--ink); cursor:pointer; }
.search-trigger:hover { background:var(--pearl); }
.search-drawer { min-width:0; flex:1; }
.search-drawer[hidden] { display:none; }
.search-field { position:relative; }
.search-field input { width:100%; height:44px; border:1px solid var(--hairline); border-radius:var(--pill); background:var(--canvas); color:var(--ink); padding:12px 42px 12px 18px; font-size:17px; line-height:1.47; letter-spacing:-0.374px; }
.search-close { position:absolute; top:2px; right:2px; width:40px; height:40px; border:0; border-radius:50%; background:transparent; color:var(--muted); cursor:pointer; }
.nav-scroll { flex:1; overflow-y:auto; padding:0 10px 20px; }
.nav-label { padding:10px 10px 6px; color:var(--muted); font-size:12px; font-weight:400; line-height:1; letter-spacing:-0.12px; }
.folder { margin:2px 0; }
.folder-head { width:100%; display:grid; grid-template-columns:14px minmax(0,1fr); gap:8px; align-items:start; border:0; border-radius:var(--sm); background:transparent; color:var(--ink); text-align:left; cursor:pointer; padding:10px; }
.folder-head:hover, .folder-head.active, .folder-head[aria-expanded="true"] { background:var(--pearl); }
.chev { width:8px; height:8px; margin:5px 0 0 1px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(-45deg); transition:transform var(--ease); }
.folder-head[aria-expanded="true"] .chev { transform:rotate(45deg); }
.folder-name { font-size:14px; font-weight:400; line-height:1.29; letter-spacing:-0.224px; overflow-wrap:anywhere; }
.folder-children { display:grid; grid-template-rows:0fr; transition:grid-template-rows var(--ease); }
.folder-children.open { grid-template-rows:1fr; }
.folder-inner { overflow:hidden; }
.child-link { display:block; width:calc(100% - 34px); margin:2px 0 2px 34px; padding:8px 10px; border-radius:var(--sm); color:var(--muted); text-decoration:none; font-size:14px; line-height:1.43; letter-spacing:-0.224px; }
.child-link:hover, .child-link.active { background:var(--canvas); color:var(--ink); }
.sidebar-foot { padding:10px; border-top:1px solid var(--hairline); }
.utility-link, .utility-button { width:100%; min-height:40px; display:flex; align-items:center; gap:10px; padding:8px 10px; border:0; border-radius:var(--sm); background:transparent; color:var(--ink); text-decoration:none; cursor:pointer; font-size:14px; line-height:1.29; letter-spacing:-0.224px; text-align:left; }
.utility-link:hover, .utility-button:hover { background:var(--pearl); }
.main { min-width:0; height:100dvh; display:flex; flex-direction:column; background:var(--canvas); }
.topbar { min-height:56px; display:flex; align-items:center; gap:8px; padding:6px 14px; border-bottom:1px solid var(--hairline); background:color-mix(in srgb,var(--canvas) 88%, transparent); backdrop-filter:saturate(180%) blur(20px); -webkit-backdrop-filter:saturate(180%) blur(20px); }
.top-brand { display:none; }
.breadcrumb { min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; color:var(--muted); font-size:14px; line-height:1.43; letter-spacing:-0.224px; }
.top-spacer { flex:1; }
.top-link { display:inline-flex; min-height:36px; align-items:center; padding:8px 13px; border-radius:var(--pill); color:var(--blue); text-decoration:none; font-size:14px; line-height:1.29; letter-spacing:-0.224px; }
.top-link:hover { background:var(--parchment); }
.content-scroll { flex:1; overflow-y:auto; overscroll-behavior:contain; }
.content { width:min(100% - 40px, 980px); margin:0 auto; padding:80px 0; }
.hero { max-width:820px; padding-bottom:48px; }
.eyebrow { margin:0 0 12px; color:var(--muted); font-size:14px; font-weight:600; line-height:1.29; letter-spacing:-0.224px; }
h1 { margin:0; font-family:"SF Pro Display", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size:56px; font-weight:600; line-height:1.07; letter-spacing:-0.28px; text-wrap:balance; }
.hero-lead { max-width:760px; margin:20px 0 0; font-family:"SF Pro Display", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size:28px; font-weight:400; line-height:1.14; letter-spacing:.196px; color:var(--ink-80); }
.hero-copy { max-width:72ch; margin:22px 0 0; color:var(--muted); }
.cta-row { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.button { display:inline-flex; min-height:44px; align-items:center; justify-content:center; padding:11px 22px; border-radius:var(--pill); text-decoration:none; cursor:pointer; transition:transform 120ms ease; }
.button-primary { border:1px solid var(--blue); background:var(--blue); color:#fff; }
.button-secondary { border:1px solid var(--blue); background:transparent; color:var(--blue); }
.section { padding:48px 0; border-top:1px solid var(--hairline); }
h2 { margin:0 0 16px; font-family:"SF Pro Display", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size:40px; font-weight:600; line-height:1.1; letter-spacing:0; }
h3 { margin:0 0 8px; font-size:17px; font-weight:600; line-height:1.24; letter-spacing:-0.374px; }
.section p { max-width:72ch; margin:0; color:var(--muted); }
.section p + p { margin-top:16px; }
.asym-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr); gap:48px; align-items:start; }
.capability-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:24px; }
.capability { min-height:90px; padding:17px; border:1px solid var(--hairline); border-radius:18px; background:var(--panel); }
.capability p { margin:4px 0 0; color:var(--muted); font-size:14px; line-height:1.43; letter-spacing:-0.224px; }
.side-panel { padding:24px; border-radius:18px; background:var(--parchment); }
.side-panel + .side-panel { margin-top:16px; }
.side-panel ul { margin:12px 0 0; padding-left:20px; color:var(--muted); }
.side-panel li + li { margin-top:8px; }
.process { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:24px; counter-reset:process; }
.process-item { counter-increment:process; padding:20px 0; border-top:1px solid var(--hairline); }
.process-item::before { content:counter(process, decimal-leading-zero); display:block; margin-bottom:10px; color:var(--blue); font-size:14px; font-weight:600; line-height:1.29; letter-spacing:-0.224px; }
.naics-box { padding:24px; border:1px solid var(--hairline); border-radius:18px; background:var(--parchment); }
.naics-head { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:12px; }
.naics-note { color:var(--muted); font-size:14px; line-height:1.43; letter-spacing:-0.224px; }
.naics-list { display:grid; gap:10px; margin-top:20px; }
.naics-row { display:grid; grid-template-columns:95px minmax(0,1fr); gap:16px; padding:14px 0; border-top:1px solid var(--hairline); }
.naics-code { color:var(--ink); font-weight:600; }
.naics-code small { display:block; margin-top:4px; color:var(--blue); font-size:10px; font-weight:600; letter-spacing:-.08px; text-transform:uppercase; }
.naics-desc { color:var(--muted); }
.faq { display:grid; gap:0; margin-top:12px; }
.faq details { padding:18px 0; border-top:1px solid var(--hairline); }
.faq summary { cursor:pointer; font-weight:600; }
.faq details p { margin-top:12px; }
.related { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.related a { padding:8px 14px; border-radius:var(--pill); background:var(--parchment); color:var(--ink); text-decoration:none; font-size:14px; line-height:1.29; letter-spacing:-0.224px; }
.home-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:32px; }
.home-card { display:flex; min-height:110px; align-items:center; justify-content:space-between; gap:16px; padding:20px; border:1px solid var(--hairline); border-radius:18px; background:var(--panel); color:var(--ink); text-decoration:none; }
.home-card:hover { background:var(--parchment); }
.home-card strong { font-size:17px; line-height:1.24; letter-spacing:-.374px; }
.home-card span { color:var(--blue); font-size:24px; }
.contact-grid, .payment-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.info-card { padding:24px; border:1px solid var(--hairline); border-radius:18px; background:var(--panel); }
.info-card p { color:var(--muted); }
.info-card address { font-style:normal; color:var(--muted); }
.info-card-small { font-size: 10px; }
.notice { padding:17px; border-radius:18px; background:var(--parchment); color:var(--muted); }
.footer { padding:48px 0 0; margin-top:48px; border-top:1px solid var(--hairline); color:var(--muted); font-size:12px; line-height:1.5; letter-spacing:-.12px; }
.footer a { color:var(--muted); }
.empty-search { margin:10px; color:var(--muted); font-size:14px; }
.mobile-backdrop { position:fixed; inset:0; z-index:20; background:rgba(0,0,0,.42); }
body.nav-hidden .shell { grid-template-columns:0 minmax(0,1fr); }
body.nav-hidden .sidebar { transform:translateX(-100%); opacity:0; pointer-events:none; }
body.nav-hidden .top-brand { display:flex; align-items:center; gap:10px; color:var(--ink); text-decoration:none; }
body.nav-hidden .top-brand .target-logo { width:26px; height:26px; flex-basis:26px; }
body.nav-hidden .top-brand .target-logo::before { inset:4px; }
body.nav-hidden .top-brand .target-logo::after { inset:9px; }
@media (max-width: 833px) {
  body { overflow:hidden; }
  .shell { grid-template-columns:1fr; }
  .sidebar { position:fixed; inset:0 auto 0 0; z-index:30; width:min(var(--nav-width), calc(100vw - 44px)); transform:translateX(-100%); opacity:1; pointer-events:auto; }
  body.mobile-nav-open .sidebar { transform:translateX(0); }
  body.nav-hidden .sidebar { opacity:1; pointer-events:auto; }
  .top-brand { display:flex; align-items:center; gap:8px; color:var(--ink); text-decoration:none; }
  .top-brand .site-name { display:block; max-width:160px; }
  .breadcrumb { display:none; }
  .top-brand .target-logo { width:26px; height:26px; flex-basis:26px; }
  .top-brand .target-logo::before { inset:4px; }
  .top-brand .target-logo::after { inset:9px; }
  .desktop-only { display:none; }
  .content { width:min(100% - 32px,980px); padding:48px 0; }
  h1 { font-size:40px; line-height:1.1; }
  .hero-lead { font-size:24px; line-height:1.5; font-weight:300; }
  .asym-grid { grid-template-columns:1fr; gap:28px; }
  .capability-grid, .process, .home-grid, .contact-grid, .payment-grid { grid-template-columns:1fr; }
  .top-link { display:none; }
}
@media (max-width: 640px) {
  h1 { font-size:34px; }
  h2 { font-size:34px; line-height:1.25; letter-spacing:-.374px; }
  .content { padding:40px 0 56px; }
  .section { padding:40px 0; }
  .naics-row { grid-template-columns:1fr; gap:6px; }
}
@media (max-width:419px) { h1 { font-size:28px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }

/* Version 5: service search and capabilities */
.search-row{display:block;margin-top:10px}.search-trigger,.search-close{display:none}.search-drawer,.search-drawer[hidden]{display:block;width:100%}.search-field{display:block}.search-field input{width:100%;height:42px;border:1px solid #9299a1;border-radius:10px;background:transparent;color:var(--ink);padding:10px 12px;font-size:14px;line-height:1.4;letter-spacing:-.16px;box-shadow:none}.search-field input::placeholder{color:#707780;opacity:1}.search-field input:hover{border-color:#777f88}.search-field input:focus{border-color:var(--blue);background:var(--canvas)}.service-nav-link{width:100%;min-height:40px;display:grid;grid-template-columns:14px minmax(0,1fr);gap:8px;align-items:start;margin:2px 0;padding:10px;border-radius:var(--sm);color:var(--ink);text-decoration:none;font-size:14px;line-height:1.29;letter-spacing:-.224px}.service-nav-link:hover,.service-nav-link.active{background:var(--pearl)}.direct-marker{color:var(--muted);font-size:18px;line-height:14px}.capability-statement{gap:9px}.capability-statement span{font-size:12px;font-weight:600;letter-spacing:.02em}
