/* Shared static styles: no framework or build step. */
:root { --navy:#0d2137; --blue:#1a4480; --gold:#f5b537; --ink:#26364a; --muted:#53647a; --line:#dce4ed; --soft:#f4f7fb; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:white; font:16px/1.7 Arial,Helvetica,sans-serif; }
a { color:var(--blue); text-underline-offset:4px; }
a:hover { text-decoration-thickness:2px; }
a:focus-visible, summary:focus-visible { outline:3px solid #b77100; outline-offset:5px; }
h1,h2,h3 { color:var(--navy); line-height:1.2; margin:0 0 20px; }
h1,h2 { font-family:Georgia,'Times New Roman',serif; }
h1 { font-size:clamp(2.3rem,4.5vw,4rem); letter-spacing:-.035em; }
h2 { font-size:clamp(1.8rem,3vw,2.5rem); }
h3 { font-size:1.15rem; margin-bottom:12px; }
p { margin:0 0 20px; }
address { font-style:normal; }
.container { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
.skip-link { position:absolute; top:-100px; left:16px; z-index:10; padding:12px 20px; background:white; }
.skip-link:focus { top:12px; }
.site-header { background:white; border-bottom:1px solid var(--line); }
.header-inner { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:94px; }
.brand { display:flex; gap:12px; align-items:center; text-decoration:none; color:var(--navy); font-size:.8rem; line-height:1.4; font-weight:700; }
.brand-mark { display:grid; place-items:center; width:44px; height:44px; flex-shrink:0; background:var(--blue); color:white; border-radius:12px; font:bold 28px Georgia,serif; }
.brand small { display:block; color:var(--blue); font-weight:400; margin-top:3px; }
.desktop-nav { display:flex; gap:4px; align-items:center; }
.desktop-nav a { padding:10px; color:var(--ink); text-decoration:none; font-size:.84rem; border-radius:6px; }
.desktop-nav a:hover,.desktop-nav a[aria-current] { background:#eaf0f9; color:var(--blue); }
.desktop-nav a:last-child { background:var(--blue); color:white; padding:12px; }
.desktop-nav a:last-child[aria-current] { text-decoration:underline; }
.mobile-nav { display:none; }
.hero,.banner,.cta { background:linear-gradient(125deg,var(--navy),var(--blue) 75%,#1e5799); color:#dbe6f5; }
.hero { padding:86px 0 64px; }
.hero-grid { display:grid; grid-template-columns:1.25fr 1fr; gap:70px; align-items:center; }
.hero h1,.banner h1,.cta h2,.expertise-panel h2 { color:white; }
.hero h1 span { display:block; color:var(--gold); }
.hero-badge { display:inline-block; padding:7px 14px; border:1px solid #ffffff40; border-radius:30px; font-size:.8rem; color:white; }
.lead { font-size:1.1rem; max-width:600px; }
.actions { display:flex; flex-wrap:wrap; gap:12px; margin:28px 0; }
.button { display:inline-flex; justify-content:center; align-items:center; min-height:46px; padding:11px 20px; background:var(--blue); color:white; border:1px solid transparent; border-radius:7px; text-decoration:none; font-size:.9rem; font-weight:bold; text-align:center; }
.button:hover { background:var(--navy); }
.button.gold { background:var(--gold); color:var(--navy); }
.button.gold:hover { background:#ffd16e; }
.button.outline { border-color:#ffffff90; background:transparent; }
.button.outline:hover { background:#ffffff15; }
.stats { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; padding-top:28px; margin-top:36px; border-top:1px solid #ffffff30; }
.stats strong { display:block; color:white; font-size:1.7rem; }
.stats span { display:block; font-size:.75rem; }
.expertise-panel { padding:36px; background:#ffffff0d; border:1px solid #ffffff30; border-radius:20px; }
.expertise-panel h2 { font-size:1.8rem; }
.expertise-panel .eyebrow { color:var(--gold); }
.check-list { list-style:none; padding:0; margin:20px 0; }
.check-list li { display:flex; gap:12px; margin:12px 0; }
.check-list li::before { content:'✓'; color:#a86800; font-weight:bold; }
.expertise-panel .check-list li::before { color:var(--gold); }
.panel-note { border-top:1px solid #ffffff30; padding-top:20px; margin:24px 0 0; font-size:.8rem; }
.section { padding:76px 0; }
.soft { background:var(--soft); }
.eyebrow { font-size:.76rem; font-weight:bold; text-transform:uppercase; letter-spacing:.15em; color:var(--blue); margin-bottom:12px; }
.cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:32px; }
.card { padding:28px; border:1px solid var(--line); border-radius:14px; background:white; box-shadow:0 5px 20px #0d213706; }
.card p { color:var(--muted); font-size:.95rem; }
.card p:last-child { margin-bottom:0; }
.card .actions { align-items:flex-start; flex-direction:column; }
.card .button { max-width:100%; }
.section-link { margin:32px 0 0; }
.prose { max-width:760px; }
.prose p,.intro { color:var(--muted); }
.intro { font-size:1.1rem; max-width:820px; margin-bottom:32px; }
.split { display:grid; grid-template-columns:1.2fr 1fr; gap:40px; margin-top:32px; align-items:start; }
.banner { padding:54px 0; }
.banner nav { margin-bottom:24px; font-size:.85rem; }
.banner a { color:#dbe6f5; }
.banner h1 { font-size:clamp(2.2rem,4vw,3rem); }
.banner p { max-width:760px; margin-bottom:0; }
.category-nav { display:flex; gap:10px; flex-wrap:wrap; margin:32px 0 60px; }
.category-nav a { padding:9px 16px; background:white; border:1px solid var(--line); border-radius:24px; font-size:.85rem; text-decoration:none; }
.category-nav a:hover { background:var(--blue); color:white; }
.service-category { margin-top:60px; scroll-margin-top:24px; }
.tag { display:inline-block; background:#eaf0f9; color:var(--blue); padding:4px 10px; border-radius:6px; font-size:.75rem; margin-bottom:14px; }
.tags { display:flex; gap:8px; flex-wrap:wrap; }
.profile { display:grid; grid-template-columns:1fr 2fr; border:1px solid var(--line); border-radius:18px; overflow:hidden; margin-top:32px; }
.profile-mark { display:flex; flex-direction:column; justify-content:center; align-items:center; background:linear-gradient(140deg,var(--navy),var(--blue)); color:var(--gold); font:90px Georgia,serif; padding:48px 24px; }
.profile-mark span { margin-top:24px; color:white; font:14px Arial,sans-serif; }
.profile-details { padding:40px; }
.profile-details h2 { font-size:1.9rem; }
.role { font-weight:bold; color:var(--blue); }
.steps { padding-left:22px; }
.steps li { padding-left:6px; margin-bottom:14px; }
.small { font-size:.85rem; }
.cta { text-align:center; }
.cta p { max-width:660px; margin:0 auto 28px; }
.site-footer { background:var(--navy); color:#c1d0e2; padding:56px 0 0; font-size:.86rem; }
.footer-grid { display:grid; grid-template-columns:1.1fr .7fr 1.2fr; gap:60px; }
.site-footer h2 { font:bold 1rem/1.5 Arial,sans-serif; color:white; }
.site-footer a { color:#dbe6f5; }
.site-footer nav { display:grid; gap:8px; }
.site-footer nav a { text-decoration:none; }
.site-footer nav a:hover { text-decoration:underline; }
.footer-badge { display:inline-block; padding:5px 12px; border:1px solid #ffffff40; border-radius:6px; color:var(--gold); }
.copyright { border-top:1px solid #ffffff25; padding-block:20px; margin-top:42px; font-size:.8rem; }
@media (max-width:1080px) {
  .desktop-nav { display:none; }
  .header-inner { flex-wrap:wrap; padding-block:18px; }
  .mobile-nav { display:block; margin-left:auto; }
  .mobile-nav summary { cursor:pointer; padding:8px 12px; border:1px solid var(--line); border-radius:6px; color:var(--blue); }
  .mobile-nav[open] { width:100%; }
  .mobile-nav nav { display:grid; gap:4px; padding-top:12px; }
  .mobile-nav nav a { padding:8px 12px; border-radius:6px; text-decoration:none; }
  .mobile-nav nav a[aria-current] { background:var(--soft); font-weight:bold; }
  .hero-grid { gap:30px; }
  .cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .footer-grid { gap:30px; }
}
@media (max-width:700px) {
  .container { width:calc(100% - 32px); }
  .brand { font-size:.7rem; gap:8px; }
  .brand-mark { width:36px; height:36px; }
  .hero { padding:48px 0; }
  .hero-grid,.split,.profile,.footer-grid { grid-template-columns:1fr; }
  .section { padding:48px 0; }
  .cards { grid-template-columns:1fr; }
  .stats { grid-template-columns:repeat(2,1fr); }
  .expertise-panel,.profile-details { padding:26px; }
  .profile-mark { padding:30px; font-size:64px; }
  .profile-mark span { margin-top:12px; }
  .banner { padding:36px 0; }
  .category-nav { margin-bottom:36px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media print {
  .site-header,.site-footer,.actions,.cta,.category-nav,.skip-link { display:none; }
  body { color:black; font-size:11pt; }
  .hero,.banner,.profile-mark { background:white; color:black; }
  .hero h1,.hero h1 span,.banner h1,.expertise-panel h2,.stats strong { color:black; }
  .section,.hero,.banner { padding:20px 0; }
  .card { break-inside:avoid; box-shadow:none; }
}

/* Temporary under-construction screen. Remove this block and the wrapper in
   index.html when the full website is ready to return. */
.construction-only { min-height:100vh; background:white; }
.construction-screen { min-height:100vh; display:grid; place-items:center; padding:24px; text-align:center; }
.construction-screen h1 { margin:0; color:#111; font:500 clamp(2rem,6vw,4rem)/1.1 Arial,Helvetica,sans-serif; letter-spacing:-.03em; }
.construction-original { display:none; }
