@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,500;0,600;0,700;1,400;1,600&family=Lato:ital,wght@0,300;0,400;0,700;1,400&display=swap');

:root{
  --navy:#284050;
  --teal:#588088;
  --cream:#F4F1EB;
  --ink:#1A1A1A;
  --navy-rgb: 40,64,80;
  --teal-rgb: 88,128,136;
  --max: 1120px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:'Lato',Arial,sans-serif;
  font-size:17px;
  line-height:1.6;
}
h1,h2,h3,h4{
  font-family:'Montserrat',Arial,sans-serif;
  color:var(--navy);
  margin:0 0 .5em;
  line-height:1.15;
  font-weight:600;
}
h1{font-size:2.75rem;}
h2{font-size:2rem;}
h3{font-size:1.25rem;}
p{margin:0 0 1em;}
a{color:var(--navy);}
.italic-serif, .subhead{
  font-family:'Montserrat',Arial,sans-serif;
  font-style:italic;
  font-weight:400;
  color:var(--teal);
}
.wrap{max-width:var(--max); margin:0 auto; padding:0 32px;}
section{padding:96px 0;}
.eyebrow{
  display:flex; align-items:center; gap:10px;
  font-family:'Lato',Arial,sans-serif;
  font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  font-size:.78rem; color:var(--navy); margin-bottom:18px;
}
.eyebrow::before{content:""; display:inline-block; width:28px; height:3px; background:var(--teal); border-radius:2px;}

/* Header */
header.site{
  position:sticky; top:0; z-index:50;
  background:rgba(244,241,235,.92);
  backdrop-filter:blur(6px);
  border-bottom:1px solid rgba(40,64,80,.08);
}
.nav{display:flex; align-items:center; justify-content:space-between; padding:16px 0;}
.logo{display:flex; align-items:center; text-decoration:none;}
.logo img{height:30px; width:auto; display:block;}
.logo.footer-logo img{height:34px;}
.nav-links{display:flex; align-items:center; gap:32px; list-style:none; margin:0; padding:0;}
.nav-links a{
  text-decoration:none; color:var(--navy); font-size:.92rem; font-weight:400;
  font-family:'Lato',Arial,sans-serif;
}
.nav-links a:hover{color:var(--teal);}
.nav-cta{display:flex; align-items:center; gap:20px;}
.burger{display:none;}

/* Buttons */
.btn{
  display:inline-flex; align-items:center; gap:8px;
  font-family:'Lato',Arial,sans-serif; font-weight:700; font-size:.92rem;
  padding:14px 26px; border-radius:2px; text-decoration:none;
  border:1px solid transparent; cursor:pointer; letter-spacing:.01em;
}
.btn-primary{background:var(--navy); color:#fff;}
.btn-primary:hover{background:#1c2f3b;}
.btn-secondary{background:transparent; color:var(--navy); border-color:var(--navy);}
.btn-secondary:hover{background:var(--navy); color:#fff;}
.btn-link{
  color:var(--navy); text-decoration:underline; text-underline-offset:4px;
  font-family:'Lato',Arial,sans-serif; font-weight:700; font-size:.95rem;
}
.btn-sm{padding:10px 18px; font-size:.82rem;}

/* Hero */
.hero{
  padding:110px 0 90px;
  background:linear-gradient(180deg, rgba(88,128,136,.08), transparent 60%);
}
.hero .wrap{max-width:920px;}
.hero h1{font-size:3.1rem; max-width:880px;}
.hero .subhead{display:block; font-size:1.3rem; max-width:680px; margin-bottom:34px;}
.hero-ctas{display:flex; align-items:center; gap:28px; flex-wrap:wrap;}
.badge-pill{
  display:inline-flex; align-items:center; gap:8px; background:#fff; border:1px solid var(--teal);
  color:var(--teal); font-family:'Montserrat',Arial,sans-serif; font-weight:600; font-size:.78rem;
  letter-spacing:.04em; text-transform:uppercase; padding:8px 16px; border-radius:999px; margin-bottom:22px;
}

/* Proof bar */
.proof{padding:40px 0; border-top:1px solid rgba(40,64,80,.1); border-bottom:1px solid rgba(40,64,80,.1);}
.proof p{
  text-align:center; font-family:'Lato',Arial,sans-serif; font-size:.85rem;
  letter-spacing:.06em; text-transform:uppercase; color:rgba(26,26,26,.55); margin-bottom:24px;
}
.logo-strip{display:flex; flex-wrap:wrap; justify-content:center; gap:40px 52px;}
.logo-strip span{
  font-family:'Montserrat',Arial,sans-serif; font-weight:600; font-size:1.1rem;
  color:rgba(40,64,80,.45); letter-spacing:.02em;
}

/* Problem cards */
.card-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:44px;}
.problem-card{
  background:#fff; border:1px solid rgba(40,64,80,.1); padding:34px 30px; border-radius:2px;
}
.problem-card .num{
  font-family:'Montserrat',Arial,sans-serif; font-weight:700; font-size:.85rem;
  color:var(--teal); margin-bottom:16px; letter-spacing:.05em;
}
.section-head{max-width:760px;}
.section-head h2{margin-bottom:14px;}

/* Comparison table */
.compare{width:100%; border-collapse:collapse; margin-top:44px; background:#fff;}
.compare th, .compare td{
  text-align:left; padding:18px 22px; border:1px solid rgba(40,64,80,.12); vertical-align:top; font-size:.95rem;
}
.compare th{
  font-family:'Montserrat',Arial,sans-serif; font-weight:600; color:var(--navy); background:rgba(88,128,136,.08);
}
.compare td.kuma, .compare th.kuma{background:var(--navy); color:#fff;}
.compare th.kuma{color:#fff;}
.compare-wrap{overflow-x:auto;}
.compare td.row-label{
  font-family:'Montserrat',Arial,sans-serif; font-weight:600; color:var(--navy); background:rgba(88,128,136,.06);
  white-space:nowrap;
}

/* Engagements */
.tier-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:44px; align-items:stretch;}
.tier-card{
  background:#fff; border:1px solid rgba(40,64,80,.12); padding:36px 30px; border-radius:2px;
  display:flex; flex-direction:column;
}
.tier-card .tier-label{
  font-family:'Lato',Arial,sans-serif; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  font-size:.72rem; color:var(--teal); margin-bottom:12px;
}
.tier-card h3{font-size:1.35rem;}
.tier-card .price{
  font-family:'Montserrat',Arial,sans-serif; font-weight:600; color:var(--navy); font-size:1.05rem; margin:16px 0 20px;
}
.tier-card ul{margin:0 0 24px; padding-left:20px; font-size:.92rem;}
.tier-card ul li{margin-bottom:8px;}
.tier-card .btn-link{margin-top:auto;}
.tier-card.featured{border-color:var(--navy); box-shadow:0 18px 40px -24px rgba(40,64,80,.35);}

/* Partners */
.partner-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:44px;}
.partner-card{background:#fff; border:1px solid rgba(40,64,80,.1); padding:32px 28px; border-radius:2px;}
.partner-card .avatar{
  width:64px; height:64px; border-radius:50%; background:var(--navy); color:#fff;
  display:flex; align-items:center; justify-content:center; font-family:'Montserrat',Arial,sans-serif;
  font-weight:600; font-size:1.2rem; margin-bottom:18px;
}
.partner-card h3{margin-bottom:2px;}
.partner-card .role{
  font-family:'Lato',Arial,sans-serif; font-weight:700; font-size:.82rem; color:var(--teal);
  text-transform:uppercase; letter-spacing:.05em; margin-bottom:14px; display:block;
}
.partner-card p{font-size:.94rem;}

/* Contact */
.contact-section{background:var(--navy); color:#fff;}
.contact-section h2{color:#fff;}
.contact-section .eyebrow{color:rgba(255,255,255,.7);}
.contact-section .eyebrow::before{background:var(--teal);}
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px; margin-top:44px; align-items:start;}
.contact-copy p{color:rgba(255,255,255,.8); font-size:1.05rem;}
.contact-form{background:#fff; padding:34px; border-radius:2px;}
.contact-form label{
  display:block; font-family:'Lato',Arial,sans-serif; font-weight:700; font-size:.8rem;
  text-transform:uppercase; letter-spacing:.04em; color:var(--navy); margin-bottom:6px;
}
.contact-form .field{margin-bottom:18px;}
.contact-form input, .contact-form select, .contact-form textarea{
  width:100%; padding:12px 14px; border:1px solid rgba(40,64,80,.25); border-radius:2px;
  font-family:'Lato',Arial,sans-serif; font-size:.95rem; color:var(--ink); background:#fff;
}
.contact-form textarea{min-height:100px; resize:vertical;}
.contact-form .btn-primary{width:100%; justify-content:center;}
.contact-note{font-size:.82rem; color:rgba(255,255,255,.6); margin-top:16px;}

/* Footer */
footer.site{padding:60px 0 40px; border-top:1px solid rgba(40,64,80,.12);}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; margin-bottom:40px;}
.footer-grid h4{
  font-family:'Lato',Arial,sans-serif; font-weight:700; font-size:.78rem; text-transform:uppercase;
  letter-spacing:.06em; color:rgba(40,64,80,.6); margin-bottom:14px;
}
.footer-grid ul{list-style:none; margin:0; padding:0;}
.footer-grid li{margin-bottom:10px;}
.footer-grid a{color:var(--navy); text-decoration:none; font-size:.92rem;}
.footer-grid a:hover{color:var(--teal);}
.footer-bottom{
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px;
  border-top:1px solid rgba(40,64,80,.12); padding-top:24px; font-size:.82rem; color:rgba(26,26,26,.55);
}

/* Product pages */
.page-hero{padding:80px 0 60px;}
.page-hero .kicker{
  font-family:'Lato',Arial,sans-serif; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  font-size:.78rem; color:var(--teal); margin-bottom:16px;
}
.timeline{margin-top:44px; display:grid; gap:0;}
.timeline-item{
  display:grid; grid-template-columns:140px 1fr; gap:28px; padding:26px 0; border-top:1px solid rgba(40,64,80,.12);
}
.timeline-item:last-child{border-bottom:1px solid rgba(40,64,80,.12);}
.timeline-item .days{
  font-family:'Montserrat',Arial,sans-serif; font-weight:600; color:var(--navy); font-size:1rem;
}
.two-col{display:grid; grid-template-columns:1fr 1fr; gap:56px;}
.deliverable-list{list-style:none; margin:0; padding:0;}
.deliverable-list li{
  padding:14px 0 14px 30px; border-top:1px solid rgba(40,64,80,.12); position:relative;
}
.deliverable-list li:last-child{border-bottom:1px solid rgba(40,64,80,.12);}
.deliverable-list li::before{
  content:"›"; position:absolute; left:0; top:14px; color:var(--teal); font-weight:700; font-size:1.1rem;
}
.phase-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:44px;}
.phase{padding:28px 26px; border:1px solid rgba(40,64,80,.12);}
.phase + .phase{border-left:none;}
.phase .phase-num{
  font-family:'Montserrat',Arial,sans-serif; font-weight:700; font-size:2rem; color:rgba(88,128,136,.35); margin-bottom:10px;
}
.price-box{
  background:#fff; border:1px solid rgba(40,64,80,.15); padding:34px; border-radius:2px; margin-top:32px;
}
.price-box .amount{font-family:'Montserrat',Arial,sans-serif; font-weight:700; font-size:1.6rem; color:var(--navy);}
.price-box .btn{margin-top:20px;}
.outcomes-list{display:grid; grid-template-columns:1fr 1fr; gap:18px 40px; margin-top:20px;}
.outcomes-list li{list-style:none; padding-left:26px; position:relative; font-size:.95rem;}
.outcomes-list li::before{content:"✓"; position:absolute; left:0; color:var(--teal); font-weight:700;}

@media (max-width: 860px){
  .nav-links{display:none;}
  .card-grid, .tier-grid, .partner-grid, .phase-grid{grid-template-columns:1fr;}
  .phase{border-left:1px solid rgba(40,64,80,.12) !important; border-bottom:none;}
  .phase:last-child{border-bottom:1px solid rgba(40,64,80,.12);}
  .contact-grid, .two-col{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .hero h1{font-size:2.2rem;}
  h1{font-size:2.1rem;}
  section{padding:64px 0;}
  .timeline-item{grid-template-columns:1fr;}
}
