
:root{
  --brand:#12b8a5; /* teal */
  --brand-2:#0ea5a0;
  --ink:#edf6f6;   /* light text */
  --bg:#0b0f2a;    /* deep navy */
  --card:#10173a;  /* dark panel */
  --muted:#c8d3d2;
  --accent:#12b8a5;
  --shadow:0 10px 20px rgba(0,0,0,.25), 0 2px 6px rgba(0,0,0,.2);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font:16px/1.6 Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;color:var(--ink);background:var(--bg)}
.container{max-width:1100px;margin:0 auto;padding:0 20px}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
header{background:linear-gradient(120deg,#0b123f,#1428a0);color:white;padding:24px 0;position:sticky;top:0;z-index:40}
nav{display:flex;align-items:center;justify-content:space-between;gap:20px}
nav .links a{color:white;opacity:.95;margin:0 10px}
nav .links a:hover{opacity:1;text-decoration:underline}
.hero{
  background:radial-gradient(1200px 600px at 80% -20%, rgba(255,255,255,.1), transparent),
             linear-gradient(120deg,#0b123f,#1428a0);
  color:white;
  padding:80px 0 60px;
}
.hero h1{font-size:44px;line-height:1.15;margin:0 0 14px}
.hero p{max-width:800px;margin:0 0 26px;font-size:18px;opacity:.95}
.cta{display:inline-block;background:white;color:#0b123f;padding:12px 18px;border-radius:10px;font-weight:600;border:2px solid transparent}
.cta:hover{border-color:#fff; text-decoration:none}
.section{padding:64px 0}
.card{background:var(--card);border-radius:16px;padding:22px;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.08)}
.grid{display:grid;gap:18px}
.grid-3{grid-template-columns:repeat(3, minmax(0,1fr))}
.grid-2{grid-template-columns:repeat(2, minmax(0,1fr))}
@media (max-width:900px){.grid-3,.grid-2{grid-template-columns:1fr} .hero h1{font-size:34px}}
h2{font-size:28px;margin:0 0 12px}
h3{margin:8px 0 8px;font-size:18px}
.list{margin:0;padding:0 0 0 18px}
.badge{display:inline-block;padding:4px 10px;border-radius:999px;background:#053f72;color:#ccefff;font-weight:600;font-size:12px;margin-bottom:8px}
footer{padding:40px 0 60px;color:var(--muted)}
.small{font-size:14px;color:var(--muted)}
.hero .sub{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
button, .btn{cursor:pointer;border:none;border-radius:10px;padding:12px 16px;font-weight:600}
.btn-primary{background:var(--accent);color:#001b44}
.btn-outline{background:transparent;border:2px solid var(--accent);color:var(--accent)}
.kpis{display:flex;gap:18px;flex-wrap:wrap;margin-top:16px}
.kpi{background:rgba(255,255,255,.12);border-radius:12px;padding:8px 12px}
blockquote{margin:0;padding:0;border-left:4px solid var(--brand);padding-left:14px;color:#e6fbf7;background:#0d1b3d;border-radius:6px}
.form{display:grid;gap:12px;max-width:560px}
input, textarea{width:100%;padding:12px 12px;border-radius:10px;border:1px solid #2a375e;background:#0f1640;color:#e8f4f2;font:inherit}
input:focus, textarea:focus{outline:2px solid var(--brand-2);border-color:transparent}
label{font-weight:600;font-size:14px}
hr.sep{border:0;border-top:1px solid #1d2b52;margin:24px 0}

img{max-width:100%;height:auto}


/* --- Header/logo fixes --- */
header{padding:16px 0}
nav img{height:56px;max-height:56px}
@media (max-width:900px){
  nav{flex-direction:column;align-items:flex-start;gap:8px}
  nav img{height:40px;max-height:40px}
  nav .links{display:flex;flex-wrap:wrap;gap:8px}
  nav .links a{padding:6px 0}
}

/* Ensure sections scroll below sticky header */
:target{scroll-margin-top:90px}

/* Hero buttons stacking on small screens */
.hero .cta, .hero .btn{margin-top:8px;display:inline-block}
@media (max-width:900px){
  .hero .cta, .hero .btn{display:block;margin-right:0}
}


/* Hero grid adjustments */
.hero-grid{align-items:center}
.hero-logo-col{text-align:center}
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr !important}
  .hero-logo-col{margin-bottom:20px}
}


/* Reduce hero height and spacing */
.hero{padding:50px 0 40px;}
header{padding:12px 0}
@media (max-width:900px){
  .hero{padding:36px 0 28px;}
}


/* Reduce space between hero text and buttons */
.hero p{margin-bottom:16px;}
.kpis{margin-top:12px;}


/* --- Header height reduction --- */
header{padding:8px 0;}
nav img{height:48px;max-height:48px}

/* --- About section adjustments --- */
#about p{font-size:1.08rem;line-height:1.65;}
#about img{max-height:360px;height:auto;width:auto;object-fit:contain;border-radius:12px;display:block;margin:0 auto;}
@media (max-width:900px){#about p{font-size:1rem;line-height:1.6;}#about img{max-height:320px;height:auto;width:auto;object-fit:contain;}}


/* --- About headshot adjustments: keep full image --- */
#about img{max-height:360px;height:auto;width:auto;object-fit:contain;border-radius:12px;display:block;margin:0 auto;}


/* Full width How Coaching Works section */
.fullwidth-how{margin-top:32px;}
.fullwidth-how .card{max-width:1100px;margin:0 auto;}
@media (min-width:900px){
  .fullwidth-how ol.list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 20px;}
}


/* How it works full-width & two-column list */
#how-it-works .list{column-count:2; column-gap:24px}
@media (max-width:900px){
  #how-it-works .list{column-count:1}
}


/* Balanced headshot sizing in About section */
#about img{
  width:100%;
  height:auto;
  max-width:500px;
  max-height:none;
}
@media (min-width:901px){
  #about .container.grid.grid-2{
    align-items:center;
  }
  #about img{
    max-width:100%;
  }
}


/* Middle-ground sizing for About headshot */
#about img{
  width:80%;
  height:auto;
  max-height:400px;
  object-fit:contain;
  margin:0 auto;
  display:block;
}
@media (max-width:900px){
  #about img{
    width:100%;
    max-height:320px;
  }
}


/* Keep nav compact on mobile with button inline */
nav{flex-wrap:wrap}
nav .links{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
@media (max-width:600px){
  nav .links a.btn{padding:8px 10px}
  nav img#brand-rotator{height:38px;max-height:38px}
  header{padding:6px 0}
}

/* About: put headshot above text on mobile and add spacing */
@media (max-width:900px){
  #about .container.grid.grid-2{display:grid;grid-template-columns:1fr}
  #about .container.grid.grid-2 > div:first-child{order:2}
  #about .container.grid.grid-2 > div:nth-child(2){order:1;margin-bottom:12px}
}


/* Ensure hero logo/portrait are same size */
.hero-logo-col img#brand-rotator{
  width: 340px;
  height: 340px;
  max-width: 100%;
  object-fit: contain;
  display:block;
  margin: 0 auto;
}
@media (max-width:900px){
  .hero-logo-col img#brand-rotator{
    width: 220px;
    height: 220px;
  }
}


/* Sharper hero image box sizes */
.hero-logo-col img#brand-rotator{
  width: 300px;
  height: 300px;
}
@media (max-width:900px){
  .hero-logo-col img#brand-rotator{
    width: 200px;
    height: 200px;
  }
}


/* Keep nav items inline with Book a Consult button on small screens */
@media (max-width:500px){
  nav .links a{
    font-size:0.85rem;
    padding:4px 6px;
  }
  nav .links a.btn{
    font-size:0.85rem;
    padding:6px 8px;
    white-space:nowrap;
  }
  nav{gap:6px}
}


/* Nav restructuring */
nav{display:flex;align-items:center;justify-content:space-between;gap:16px}
nav .links{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.nav-cta a.btn{white-space:nowrap}

/* Mobile layout: logo left, CTA right on first row; links on second row */
@media (max-width:430px){
  nav{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center}
  nav > a:first-child{grid-column:1/2;grid-row:1/2}
  .nav-cta{grid-column:2/3;grid-row:1/2;justify-self:end}
  nav .links{grid-column:1/3;grid-row:2/3;justify-content:flex-start;gap:8px}
  nav .links a{font-size:0.86rem;padding:4px 0}
  .nav-cta a.btn{font-size:0.88rem;padding:6px 10px}
  header{padding:6px 0}
  nav img{height:36px;max-height:36px}
}
