/* Shared styles for aventaconsulting.com
   Brand palette: Aventa Consulting Brand Guidelines v1.0, section 04.
   Navy #173F58, Sage #8A9B78, Ink #26343D, Mist #F3F5F4, Warm White #F7F4EE.
   Roles map those colors so the dark theme can restate the same roles
   without touching component rules. */

:root{
  --bg:#FFFFFF;
  --surface:#FFFFFF;
  --band:#F3F5F4;
  --text:#26343D;
  --muted:#5E6E77;
  --heading:#173F58;
  --accent:#173F58;
  --accent-hover:#0F2C40;
  --on-accent:#FFFFFF;
  --sage:#8A9B78;
  --on-sage:#173F58;
  --line:#E4E9EA;
  --error:#A8201A;
  --header-bg:rgba(255,255,255,.9);
  --footer-bg:#173F58;
  --footer-text:#C7D3DA;
  --headshot-a:#FFFFFF;
  --headshot-b:#E4EAEC;
  --logo:url("/assets/logo-horizontal.png");
  --logo-compact:url("/assets/logo-mark.png");
  --logo-lockup:url("/assets/logo-lockup.png");
  --max:1080px;
  --display:"Montserrat",-apple-system,"Segoe UI",Arial,sans-serif;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
:root[data-theme="dark"]{
  --bg:#0D1F2B;
  --surface:#142836;
  --band:#101F2A;
  --text:#DCE5EA;
  --muted:#9BABB5;
  --heading:#EAF1F5;
  --accent:#7FB2D4;
  --accent-hover:#A3C9E2;
  --on-accent:#0D1F2B;
  --sage:#A9BA96;
  --on-sage:#0D1F2B;
  --line:#24384A;
  --error:#F3B7B3;
  --header-bg:rgba(13,31,43,.9);
  --footer-bg:#091822;
  --footer-text:#B7C6CF;
  --headshot-a:#142836;
  --headshot-b:#1B3448;
  --logo:url("/assets/logo-horizontal-light.png");
  --logo-compact:url("/assets/logo-mark-light.png");
  --logo-lockup:url("/assets/logo-lockup-light.png");
}
/* Same dark values for anyone whose browser prefers dark before the script runs. */
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0D1F2B;
    --surface:#142836;
    --band:#101F2A;
    --text:#DCE5EA;
    --muted:#9BABB5;
    --heading:#EAF1F5;
    --accent:#7FB2D4;
    --accent-hover:#A3C9E2;
    --on-accent:#0D1F2B;
    --sage:#A9BA96;
    --on-sage:#0D1F2B;
    --line:#24384A;
    --error:#F3B7B3;
    --header-bg:rgba(13,31,43,.9);
    --footer-bg:#091822;
    --footer-text:#B7C6CF;
    --headshot-a:#142836;
    --headshot-b:#1B3448;
    --logo:url("/assets/logo-horizontal-light.png");
    --logo-compact:url("/assets/logo-mark-light.png");
    --logo-lockup:url("/assets/logo-lockup-light.png");
  }
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
h1,h2{font-family:var(--display);font-weight:600;letter-spacing:-0.01em;line-height:1.2;color:var(--heading)}
h3{font-family:var(--display);font-weight:500;line-height:1.3;color:var(--heading)}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}

/* skip link: off-screen until keyboard focus */
.skip{position:absolute;left:16px;top:8px;z-index:100;padding:10px 16px;background:var(--accent);color:var(--on-accent);font-weight:600;font-size:.9rem;border-radius:8px;transform:translateY(-200%);transition:transform .15s ease}
.skip:focus{transform:translateY(0);text-decoration:none;outline:2px solid var(--accent);outline-offset:2px}

/* ---------- nav ---------- */
header{position:sticky;top:0;z-index:50;background:var(--header-bg);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:88px;gap:16px}
@media(max-width:820px){.nav{height:68px}}
.logo{display:flex;align-items:center;text-decoration:none}
.logo:hover{text-decoration:none}
/* 183px wide clears the 180px digital minimum for the full lockup */
.logo-img{display:block;width:183px;height:55px;background:var(--logo) left center/contain no-repeat}
@media(max-width:820px){.logo-img{width:52px;height:40px;background-image:var(--logo-compact)}}
.nav-links{display:flex;align-items:center;gap:24px;font-size:.92rem;font-weight:500}
.nav-links a:not(.btn){color:var(--text)}
.nav-links a:not(.btn):hover{color:var(--accent);text-decoration:none}
.btn{display:inline-block;background:var(--accent);color:var(--on-accent);padding:11px 22px;border-radius:8px;font-weight:600;font-size:.95rem;border:none;cursor:pointer;transition:background .15s ease}
.btn:hover{background:var(--accent-hover);text-decoration:none}
.nav .btn{padding:9px 18px;font-size:.88rem}
@media(max-width:940px){.nav-links{gap:18px}}
@media(max-width:820px){.nav-links{gap:14px}}

/* theme toggle */
.theme-toggle{display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex:none;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--heading);cursor:pointer;transition:border-color .15s ease,color .15s ease}
.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}
.theme-toggle svg{width:18px;height:18px;display:block}
.theme-toggle .icon-sun{display:none}
:root[data-theme="dark"] .theme-toggle .icon-sun{display:block}
:root[data-theme="dark"] .theme-toggle .icon-moon{display:none}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .theme-toggle .icon-sun{display:block}
  :root:not([data-theme="light"]) .theme-toggle .icon-moon{display:none}
}

/* ---------- footer ---------- */
footer{background:var(--footer-bg);color:var(--footer-text);padding:48px 0;font-size:.85rem}
footer a{color:var(--footer-text)}
footer a:hover{color:#fff}
.foot{display:flex;justify-content:space-between;gap:28px;flex-wrap:wrap;align-items:center}
.foot-logo{width:260px;max-width:100%;height:auto;display:block}
.foot-meta{display:flex;flex-direction:column;gap:4px;text-align:right}
@media(max-width:560px){.foot{flex-direction:column;align-items:flex-start}.foot-meta{text-align:left}}

/* ---------- simple centered pages (thanks, 404) ---------- */
/* Light mode uses Warm White; dark mode keeps the shared navy surface. */
:root:not([data-theme="dark"]){
  --simple-bg:#F7F4EE;
}
:root[data-theme="dark"]{
  --simple-bg:var(--bg);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --simple-bg:var(--bg);
  }
}
:root[data-theme="light"]{
  --simple-bg:#F7F4EE;
}
body.simple{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:24px;
  background:var(--simple-bg);
}
.simple-logo{
  width:200px;
  max-width:70vw;
  aspect-ratio:600/624;
  margin:0 auto 32px;
  background:var(--logo-lockup) center/contain no-repeat;
}
body.simple h1{font-size:2.2rem;margin:0 0 12px}
body.simple p{color:var(--muted);margin:0 auto 28px;max-width:46ch;line-height:1.6}
body.simple .btn{display:inline-block}
body.simple .simple-foot{margin-top:36px;font-size:.85rem}
body.simple .simple-foot a{color:var(--muted);font-weight:500;text-decoration:none}
body.simple .simple-foot a:hover{color:var(--accent);text-decoration:underline}
