/* EvalDC - independent medical-legal evaluation. Professional, restrained,
   credibility-first. Navy + slate + a single muted brass accent. System fonts,
   no external requests. No em/en dashes anywhere per house style. */
:root{
  --navy:#12233b; --navy-2:#1b3352; --ink:#1b2430; --slate:#4a586b;
  --mut:#6b7688; --line:#dfe4ec; --bg:#ffffff; --bg-soft:#f5f7fa;
  --brass:#9a7b3f; --brass-2:#b8944c; --white:#ffffff; --sh:0 12px 40px rgba(18,35,59,.10);
  --maxw:1140px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);background:var(--bg);line-height:1.6;font-size:17px;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:Georgia,"Times New Roman",serif;color:var(--navy);line-height:1.2;margin:0}
a{color:var(--navy);text-decoration:none}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.eyebrow{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  text-transform:uppercase;letter-spacing:.18em;font-size:.74rem;font-weight:700;color:var(--brass);margin:0 0 12px}
.btn{display:inline-block;background:var(--navy);color:#fff;padding:14px 26px;border-radius:4px;
  font-weight:600;font-size:.95rem;letter-spacing:.01em;border:1px solid var(--navy);transition:.15s}
.btn:hover{background:var(--navy-2);border-color:var(--navy-2)}
.btn--ghost{background:transparent;color:var(--navy)}
.btn--ghost:hover{background:var(--navy);color:#fff}

/* header */
header.nav{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.94);
  backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line)}
.nav__in{display:flex;align-items:center;justify-content:space-between;height:74px}
.brand{display:flex;align-items:baseline;gap:2px;font-family:Georgia,serif;font-size:1.5rem;font-weight:700;color:var(--navy);letter-spacing:.01em}
.brand b{color:var(--brass)}
.brand small{display:block;font-family:-apple-system,sans-serif;font-size:.6rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--mut);font-weight:700;margin-top:2px}
.nav__links{display:flex;align-items:center;gap:30px}
.nav__links a{font-size:.93rem;font-weight:500;color:var(--slate)}
.nav__links a:not(.btn):hover{color:var(--navy)}
.nav__links .btn,.nav__links .btn:hover{color:#fff}
.navtoggle{display:none;background:none;border:0;font-size:1.5rem;color:var(--navy)}

/* hero */
.hero{background:linear-gradient(180deg,#0f1f34 0%,#16294191 60%,#12233b 100%),var(--navy);color:#eef2f7;padding:96px 0 88px}
.hero .eyebrow{color:var(--brass-2)}
.hero h1{color:#fff;font-size:2.85rem;max-width:16ch;margin-bottom:18px}
.hero p{color:#c6d0dd;font-size:1.18rem;max-width:54ch;margin:0 0 30px}
.hero__cta{display:flex;gap:14px;flex-wrap:wrap}
.hero__cta .btn{background:var(--brass);border-color:var(--brass);color:#1a1405}
.hero__cta .btn:hover{background:var(--brass-2);border-color:var(--brass-2)}
.hero__cta .btn--ghost{background:transparent;color:#fff;border-color:#40597b}
.hero__cta .btn--ghost:hover{background:#fff;color:var(--navy);border-color:#fff}

/* credential strip */
.creds{background:var(--bg-soft);border-bottom:1px solid var(--line)}
.creds__in{display:flex;flex-wrap:wrap;gap:14px 40px;justify-content:center;padding:22px 24px;
  font-size:.9rem;color:var(--slate);text-align:center}
.creds__in b{color:var(--navy)}

/* sections */
section{padding:78px 0}
.section-head{max-width:60ch;margin-bottom:44px}
.section-head h2{font-size:2rem;margin-bottom:12px}
.section-head p{color:var(--slate);font-size:1.06rem;margin:0}
.soft{background:var(--bg-soft)}

/* service grid */
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:30px 28px;transition:.15s}
.card:hover{box-shadow:var(--sh);transform:translateY(-2px)}
.card h3{font-size:1.28rem;margin-bottom:8px}
.card p{color:var(--slate);margin:0;font-size:.98rem}
.card .tag{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--brass);margin-bottom:12px}

/* two-audience */
.two{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.two > div{padding:38px 34px}
.two > div:first-child{border-right:1px solid var(--line)}
.two h3{font-size:1.35rem;margin-bottom:10px}
.two p{color:var(--slate);margin:0 0 6px}

/* about */
.about{display:grid;grid-template-columns:1fr 1.3fr;gap:48px;align-items:start}
.portrait{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 22%;
  border-radius:8px;background:#12233b;display:block;box-shadow:var(--sh)}
.about h2{font-size:2rem;margin-bottom:14px}
.about p{color:var(--slate);margin:0 0 14px}
.cred-list{list-style:none;padding:0;margin:16px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cred-list li{position:relative;padding-left:22px;font-size:.95rem;color:var(--ink)}
.cred-list li:before{content:"";position:absolute;left:0;top:9px;width:10px;height:10px;
  border:2px solid var(--brass);border-radius:2px;transform:rotate(45deg)}

/* coverage */
.states{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.state{border:1px solid var(--line);border-radius:8px;padding:26px 24px;background:#fff}
.state h3{font-size:1.5rem;margin-bottom:6px}
.state .role{color:var(--brass);font-weight:700;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px}
.state p{color:var(--slate);font-size:.94rem;margin:0}

/* CTA band */
.band{background:var(--navy);color:#fff;text-align:center}
.band h2{color:#fff;font-size:2rem;margin-bottom:12px}
.band p{color:#c6d0dd;max-width:52ch;margin:0 auto 26px}
.band .btn{background:var(--brass);border-color:var(--brass);color:#1a1405}
.band .btn:hover{background:var(--brass-2);border-color:var(--brass-2)}

/* form */
.intake{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.intake .full{grid-column:1/-1}
label{display:block;font-size:.82rem;font-weight:600;color:var(--navy);margin-bottom:6px;letter-spacing:.02em}
input,select,textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:6px;
  font:inherit;font-size:.95rem;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--navy)}

/* footer */
footer{background:#0e1b2d;color:#9fb0c4;padding:56px 0 30px;font-size:.92rem}
.foot__top{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:36px;padding-bottom:30px;border-bottom:1px solid #23374f}
.foot__top .brand{color:#fff}
.foot__top p{margin:12px 0 0;max-width:42ch}
footer h4{color:#fff;font-family:-apple-system,sans-serif;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;margin:0 0 14px}
footer a{color:#9fb0c4;display:block;margin:7px 0}
footer a:hover{color:#fff}
.foot__bot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:22px;color:#6a7d95;font-size:.84rem}

/* responsive */
@media(max-width:860px){
  .nav__links{display:none}
  .hero h1{font-size:2.15rem}
  .grid,.two,.about,.states,.intake,.foot__top{grid-template-columns:1fr}
  .two > div:first-child{border-right:0;border-bottom:1px solid var(--line)}
  section{padding:56px 0}
}

/* ============ motion & interactivity ============ */
@media (prefers-reduced-motion: no-preference){
  .reveal{opacity:0;transform:translateY(24px);
    transition:opacity .7s cubic-bezier(.16,.7,.3,1),transform .7s cubic-bezier(.16,.7,.3,1)}
  .reveal.in{opacity:1;transform:none}
  /* hero entrance */
  .hero .eyebrow,.hero h1,.hero p,.hero__cta{opacity:0;transform:translateY(18px);
    animation:heroIn .85s cubic-bezier(.16,.7,.3,1) forwards}
  .hero h1{animation-delay:.08s}.hero p{animation-delay:.18s}.hero__cta{animation-delay:.28s}
  @keyframes heroIn{to{opacity:1;transform:none}}
}

/* animated warm accent drifting behind the hero */
.hero{position:relative;overflow:hidden}
.hero > .container{position:relative;z-index:1}
.hero:before{content:"";position:absolute;top:-45%;right:-12%;width:62vw;height:62vw;
  background:radial-gradient(circle,rgba(184,148,76,.20),transparent 62%);
  pointer-events:none;z-index:0}
@media (prefers-reduced-motion: no-preference){
  .hero:before{animation:drift 18s ease-in-out infinite alternate}
  @keyframes drift{from{transform:translate(0,0) scale(1)}to{transform:translate(-7%,9%) scale(1.08)}}
}

/* nav: shadow once scrolled */
header.nav{transition:box-shadow .25s ease,background .25s ease}
header.nav.scrolled{box-shadow:0 6px 26px rgba(18,35,59,.09)}

/* nav link animated underline */
.nav__links a:not(.btn){position:relative}
.nav__links a:not(.btn):after{content:"";position:absolute;left:0;bottom:-5px;height:2px;width:0;
  background:var(--brass);transition:width .25s ease}
.nav__links a:not(.btn):hover:after{width:100%}

/* button sheen on hover */
.btn{position:relative;overflow:hidden}
.btn > span,.btn{z-index:1}
.btn:after{content:"";position:absolute;top:0;left:-130%;width:55%;height:100%;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.28),transparent);
  transform:skewX(-18deg);pointer-events:none}
.btn:hover:after{left:135%;transition:left .6s ease}

/* service card: accent bar draws across on hover */
.card:before{content:"";position:absolute;left:0;top:0;height:3px;width:0;
  background:var(--brass);border-radius:8px 8px 0 0;transition:width .35s ease}
.card:hover:before{width:100%}

/* coverage state cards lift */
.state{transition:transform .18s ease,box-shadow .18s ease}
.state:hover{transform:translateY(-3px);box-shadow:var(--sh)}

/* portrait subtle zoom */
.portrait{transition:transform .5s ease}
.about:hover .portrait{transform:scale(1.02)}

/* mobile menu (functional dropdown) */
@media(max-width:860px){
  .navtoggle{display:block}
  .nav__links{position:absolute;top:74px;left:0;right:0;background:#fff;
    border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;
    padding:6px 0;display:none;box-shadow:0 14px 28px rgba(18,35,59,.10)}
  .nav__links.open{display:flex;animation:menuDrop .22s ease}
  @keyframes menuDrop{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
  .nav__links a{padding:13px 24px}
  .nav__links a:not(.btn):after{display:none}
  .nav__links .btn{margin:8px 24px;text-align:center}
}
