:root { --navy:#102b40; --ink:#102b40; --blue:#a8d0e7; --gold:#b89459; --paper:#f3f0e9; --muted:#4b5b65; --line:#c8c8bf; }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body { margin:0; background:var(--paper); color:var(--ink); font:18px/1.65 Arial,sans-serif; }
    a { color:inherit; text-underline-offset:5px; }
    a:hover { text-decoration-thickness:2px; }
    a:focus-visible,button:focus-visible { outline:3px solid currentColor; outline-offset:5px; }
    button { font:inherit; }
    h1,h2,h3,p { margin:0; }
    h1,h2,.slogan { font-family:Georgia,serif; font-weight:400; }
    h1 { font-size:clamp(48px,5.4vw,82px); line-height:1.09; letter-spacing:-.04em; }
    h2 { font-size:clamp(36px,3.65vw,56px); line-height:1.13; letter-spacing:-.035em; }
    h3 { font-size:27px; line-height:1.2; font-weight:500; letter-spacing:-.02em; }
    p { max-width:60ch; }
    [hidden] { display:none !important; }
    .wrap { width:min(1240px,calc(100% - 96px)); margin-inline:auto; }
    .label { font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.12em; line-height:1.5; }
    .preview-note { background:#d9e4e9; text-align:center; color:var(--navy); padding:9px 24px; font-size:13px; line-height:1.5; }
    .skip { position:absolute; top:-100px; left:20px; z-index:10; padding:12px 20px; background:var(--paper); color:var(--navy); }
    .skip:focus { top:10px; }
    .opening { color:var(--paper); background:var(--navy); }
    header { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:18px; border-bottom:1px solid #536472; position:relative; }
    .wordmark { text-decoration:none; line-height:1; display:flex; align-items:center; gap:12px; padding-block:6px; }
    .brand-mark { display:block; width:48px; height:48px; padding:4px; background:var(--paper); object-fit:contain; flex:none; }
    .wordmark-text { display:flex; align-items:baseline; gap:8px; }
    .wordmark strong { font-size:24px; font-weight:700; letter-spacing:-.04em; }
    .wordmark-text > span { font-size:13px; letter-spacing:.15em; color:var(--blue); }
    nav { display:flex; align-items:center; gap:30px; font-size:15px; }
    nav a { text-decoration:none; padding-block:12px; }
    .nav-contact { border-bottom:1px solid var(--gold); }
    .menu-button { display:none; color:inherit; background:transparent; border:1px solid #82919a; min-height:44px; padding:8px 14px; cursor:pointer; }
    .hero { display:grid; grid-template-columns:1.45fr 1fr; gap:48px; padding-block:40px 44px; align-items:start; }
    .hero .label { display:flex; align-items:center; gap:14px; color:var(--blue); margin-bottom:26px; }
    .hero .label::before { content:""; width:28px; height:2px; background:var(--gold); flex:none; }
    h1 em { color:var(--blue); font-weight:400; }
    .hero-copy { margin-top:28px; max-width:47ch; color:#d3dee3; font-size:19px; }
    .button { display:inline-flex; gap:26px; align-items:center; justify-content:center; min-height:52px; padding:13px 22px; background:var(--blue); color:var(--navy); text-decoration:none; font-size:16px; font-weight:700; border:1px solid var(--blue); }
    .button:hover { background:#bedced; }
    .hero .button { margin-top:30px; }
    .arrow { font-size:22px; line-height:1; }
    .hero-side { padding-bottom:4px; }
    .hero-workspace { display:block; width:100%; max-width:360px; height:auto; margin:0 auto 16px; }
    .hero-side .label { margin-top:0; margin-bottom:16px; }
    .service-link { display:flex; justify-content:space-between; align-items:center; gap:16px; border-bottom:1px solid #536472; padding-block:19px; font-size:21px; text-decoration:none; }
    .service-icon { display:block; width:28px; height:28px; flex:none; }
    .service-arrow { margin-left:auto; flex:none; }
    .service-link:first-of-type { border-top:1px solid #536472; }
    .hero-side p { margin-top:24px; font-size:16px; color:#d3dee3; }
    .signature-line { display:flex; justify-content:space-between; gap:20px; align-items:center; border-top:1px solid #536472; padding-block:21px; font-size:14px; }
    .signature-line span:last-child { color:#d3dee3; }
    section { scroll-margin-top:24px; }
    .services { display:grid; grid-template-columns:1fr 1.5fr; gap:64px; padding-block:64px; }
    .section-intro .label { margin-bottom:22px; color:var(--muted); }
    .section-intro p { margin-top:24px; color:var(--muted); }
    .service-row { display:block; border-top:1px solid var(--line); padding-block:20px 24px; }
    .service-row:last-child { border-bottom:1px solid var(--line); }
    .service-row p { margin-top:12px; color:var(--muted); }
    .automation { background:linear-gradient(to bottom,var(--blue) calc(100% - 36px),var(--paper)); padding-block:52px; }
    .automation-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
    .automation .label { margin-bottom:22px; }
    .automation p { margin-top:22px; }
    .workflow { list-style:none; margin:0; padding:0; }
    .workflow li { display:block; padding:16px 0; border-top:1px solid #658da5; }
    .workflow li:last-child { border-bottom:1px solid #658da5; }
    .workflow strong { font-size:20px; font-weight:500; }
    .workflow span { display:block; font-size:16px; }
    .about { display:grid; grid-template-columns:1fr 1.3fr; gap:40px; padding-block:64px; align-items:center; }
    .about .label { margin-bottom:22px; color:var(--muted); }
    .about-body { margin-top:28px; }
    .about-body p+p { margin-top:22px; }
    .about-body p { color:var(--muted); }
    .about-body .about-lead { color:var(--ink); font-size:20px; }
    .bio-link { display:inline-flex; align-items:center; gap:22px; min-height:48px; margin-top:26px; border-bottom:1px solid var(--gold); text-decoration:none; font-size:16px; font-weight:700; }
    .bio-link span { font-size:22px; }
    .bio-link:hover { border-color:var(--ink); }
    .about-illustration { margin:0 auto; min-width:0; width:100%; max-width:820px; }
    .about-illustration img { display:block; width:100%; height:auto; }
    .slogan { font-size:32px; line-height:1.35; border-left:2px solid var(--gold); padding-left:24px; margin-top:32px; color:var(--navy); }
    .approach { background:linear-gradient(to bottom,var(--paper),var(--navy) 36px); color:var(--paper); padding-block:60px; }
    .approach-grid { display:grid; grid-template-columns:1fr 1.15fr; gap:64px; }
    .approach .label { margin-bottom:22px; color:var(--blue); }
    .approach .section-intro p { color:#d3dee3; }
    .approach-steps { list-style:none; margin:0; padding:0; }
    .approach-steps li { display:block; padding-block:18px; border-top:1px solid #536472; }
    .approach-steps li:last-child { border-bottom:1px solid #536472; }
    .approach-steps h3 { font-size:24px; }
    .approach-steps p { margin-top:10px; color:#d3dee3; font-size:17px; }
    .contact { display:grid; grid-template-columns:1.1fr 1fr; gap:64px; padding-block:60px; }
    .contact .label { margin-bottom:22px; color:var(--muted); }
    .contact-body p { color:var(--muted); }
    .contact .button { background:var(--navy); color:var(--paper); border-color:var(--navy); margin-top:25px; }
    .contact .button:hover { background:#25485f; }
    .email { display:block; width:fit-content; margin-top:22px; font-size:19px; overflow-wrap:anywhere; }
    .email-note { font-size:14px; margin-top:8px; }
    footer { border-top:1px solid var(--line); padding-block:30px; display:flex; justify-content:space-between; gap:24px; font-size:14px; color:var(--muted); }
    footer a { display:inline-block; padding-block:6px; }
    .footer-brand { display:flex; align-items:center; gap:12px; }
    .footer-brand .brand-mark { width:36px; height:36px; padding:2px; }
    @media(min-width:761px) { nav[hidden] { display:flex !important; } }
    @media(max-width:1000px) {
      .wrap { width:calc(100% - 64px); }
      .hero,.services,.automation-grid,.about,.approach-grid,.contact { gap:48px; }
      .about { grid-template-columns:1fr; gap:24px; }
      nav { gap:20px; }
      .hero { grid-template-columns:1.5fr 1fr; }
      .signature-line { font-size:13px; }
    }
    @media(max-width:760px) {
      .wrap { width:calc(100% - 40px); }
      body { font-size:17px; }
      header { flex-wrap:wrap; padding-block:17px; gap:14px; }
      .wordmark strong { font-size:23px; }
      .wordmark { gap:10px; }
      .wordmark .brand-mark { width:40px; height:40px; }
      .wordmark-text > span { font-size:11px; }
      .js .menu-button { display:block; }
      nav { width:100%; display:flex; flex-wrap:wrap; gap:4px 22px; padding-block:5px; }
      .js nav { flex-direction:column; align-items:stretch; }
      .js nav a { border-top:1px solid #536472; padding:12px 4px; min-height:48px; }
      .hero,.services,.automation-grid,.about,.approach-grid,.contact { grid-template-columns:1fr; gap:24px; }
      .hero { padding-block:30px 28px; }
      .hero .label { font-size:11px; letter-spacing:.08em; gap:10px; margin-bottom:23px; }
      .hero .label::before { width:18px; }
      .hero-copy { font-size:18px; margin-top:23px; }
      .hero .button { margin-top:24px; }
      .hero-side { margin-top:5px; }
      .hero-workspace { max-width:320px; margin-bottom:16px; }
      .hero-side .label { font-size:12px; }
      .service-link { padding-block:15px; font-size:19px; }
      .service-icon { width:25px; height:25px; }
      .signature-line { flex-direction:column; align-items:start; gap:5px; padding-block:19px; }
      .services,.about,.contact { padding-block:40px; }
      .automation,.approach { padding-block:42px; }
      .section-intro p { margin-top:18px; }
      .service-row { padding-block:20px; }
      h3 { font-size:25px; }
      .slogan { margin-top:28px; font-size:29px; }
      .approach-steps h3 { font-size:23px; }
      .contact h2 { max-width:12ch; }
      footer { flex-direction:column; gap:8px; padding-block:25px; }
    }
    @media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* Static preview additions; palette and typography remain provisional. */
.email-note { font-size:14px; margin-top:8px; }
.workflow-note { font-size:15px; }
.error-page { min-height:75vh; padding-block:60px; }
.error-page p { margin-top:24px; }
.error-page .button { margin-top:28px; }
.error-logo { width:80px; height:80px; padding:0; }
nav a, footer a { min-height:44px; }
.service-row { scroll-margin-top:24px; }
@media(max-width:360px) { h1 { font-size:43px; } .wordmark strong { font-size:20px; } .wordmark .brand-mark { width:32px; height:32px; padding:3px; } .wordmark-text { flex-direction:column; align-items:start; gap:4px; } }
@media print { .menu-button,.preview-note,.skip { display:none; } .opening,.approach,.automation { background:white; color:#102b40; } }

.wordmark, .email { min-height:44px; }

/* Supplementary military biography; shared static site typography. */
.bio-header nav { flex-wrap:wrap; }
.biography-page { padding-block:64px 90px; }
.bio-intro, .bio-prose, .bio-highlights, .bio-actions { max-width:780px; margin-inline:auto; }
.bio-intro { padding-bottom:38px; border-bottom:1px solid var(--line); }
.bio-intro .label { margin-bottom:22px; color:var(--muted); }
.bio-intro h1 { font-size:clamp(42px,5vw,68px); }
.bio-intro p { margin-top:22px; color:var(--muted); }
.bio-prose { padding-top:34px; }
.bio-prose h2 { font-size:36px; margin-bottom:24px; }
.bio-prose p+p, .bio-highlights p+p { margin-top:22px; }
.bio-highlights { margin-top:44px; padding-top:34px; border-top:1px solid var(--line); }
.bio-highlights h2 { font-size:36px; }
.bio-highlights h3 { font-size:24px; margin-top:30px; }
.bio-highlights ul { padding-left:24px; }
.bio-highlights li+li { margin-top:12px; }
.bio-highlights p { margin-top:18px; }
.bio-actions { display:flex; align-items:center; flex-wrap:wrap; gap:18px 32px; margin-top:44px; padding-top:28px; border-top:1px solid var(--line); }
.bio-actions a { min-height:44px; display:inline-flex; align-items:center; }
@media(max-width:760px) {
  .about-body { margin-top:24px; }
  .about-body .about-lead { font-size:19px; }
  .bio-header nav { width:100%; gap:4px 22px; }
  .biography-page { padding-block:42px 62px; }
}
