:root{
  --navy:#082a6b;
  --blue:#0e6fe4;
  --teal:#20a9c6;
  --orange:#ef6a07;
  --orange-deep:#d95700;
  --ink:#16181d;
  --muted:#586174;
  --line:#dbe2eb;
  --paper:#ffffff;
  --paper-2:#f8fafc;
  --max:1180px;
  --radius:20px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:var(--navy)}
a:hover{color:var(--orange)}
.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}
.skip-link{position:absolute;left:-999px;top:10px;background:#fff;padding:10px;z-index:999}
.skip-link:focus{left:10px}
.site-header{
  position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);
  backdrop-filter:blur(10px);border-bottom:1px solid rgba(8,42,107,.08)
}
.nav-wrap{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{text-decoration:none;display:flex;align-items:center}
.brand-logo{height:60px;width:auto;object-fit:contain}
.site-nav{display:flex;align-items:center;gap:28px}
.site-nav a{text-decoration:none;font-size:.94rem;font-weight:700;color:var(--ink)}
.site-nav a:hover{text-decoration:underline;text-underline-offset:5px;color:var(--navy)}
.nav-cta{border:1px solid var(--navy);padding:10px 15px;border-radius:999px;color:var(--navy)!important}
.nav-toggle{display:none;background:none;border:0;padding:8px}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--navy);margin:5px 0}
.hero{
  padding:96px 0 84px;
  background:linear-gradient(180deg,#fff 0%,#f6f9fc 100%);
}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:center}
.eyebrow,.smallcaps{text-transform:uppercase;letter-spacing:.16em;font-size:.76rem;font-weight:800}
.teal{color:var(--teal)}
.blue{color:var(--blue)}
.orange{color:var(--orange)}
.navy{color:var(--navy)}
.orange-text{color:var(--orange)}
.teal-text{color:var(--teal)}
.hero h1{font-size:clamp(3.5rem,8vw,6.9rem);line-height:.88;letter-spacing:-.065em;margin:0 0 28px;color:var(--navy)}
.hero-lead{font-size:clamp(1.1rem,2vw,1.34rem);max-width:720px;color:#333a49;margin:0 0 34px}
.button-row{display:flex;gap:14px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:999px;padding:13px 20px;font-weight:750;border:1px solid var(--navy);transition:.2s ease}
.button:hover{transform:translateY(-1px)}
.primary{background:var(--navy);color:#fff!important}
.secondary{background:#fff;color:var(--navy)!important}
.full{width:100%}
.hero-panel{
  background:linear-gradient(135deg, rgba(32,169,198,.08), rgba(14,111,228,.08) 52%, rgba(239,106,7,.1));
  border:1px solid #dbe6f3;
  border-radius:28px;
  padding:42px;
  min-height:420px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.hero-logo{max-width:360px;margin-bottom:30px;object-fit:contain}
.hero-panel-text{font-size:1rem;color:#333f56;max-width:450px}
.section{padding:88px 0}
.two-col{display:grid;grid-template-columns:.82fr 1.18fr;gap:72px}
.section h2{font-size:clamp(2rem,4vw,3.25rem);line-height:1.06;letter-spacing:-.04em;margin:0 0 24px;color:var(--ink)}
.prose{font-size:1.06rem}
.prose p{margin:0 0 20px;color:#333d51}
.color-band{background:linear-gradient(135deg, #121212 0%, var(--navy) 58%, #1046a3 100%)}
.color-band .section-head h2{color:#fff}
.section-head{max-width:830px;margin-bottom:46px}
.section-head>p:last-child{font-size:1.05rem;color:#556277}
.situation-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.situation-grid article{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  border-radius:var(--radius);
  padding:26px;
  min-height:230px;
  color:#fff;
}
.situation-grid span{font-size:.75rem;letter-spacing:.16em;color:#9edff0}
.situation-grid h3{font-size:1.18rem;line-height:1.2;margin:44px 0 12px}
.situation-grid p{margin:0;color:#eef4ff}
.services{border-top:1px solid var(--line)}
details{border-bottom:1px solid var(--line)}
summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:54px 1fr;gap:12px;padding:28px 0;align-items:start}
summary::-webkit-details-marker{display:none}
summary strong{display:block;font-size:clamp(1.25rem,2.4vw,1.8rem);line-height:1.2;color:var(--ink)}
summary small{display:block;color:var(--muted);font-size:.98rem;margin-top:6px}
.service-num{font-size:.78rem;letter-spacing:.12em;color:var(--orange);padding-top:5px}
.detail-body{padding:0 0 34px 66px;max-width:860px;color:#33415b}
.detail-body ul{margin:16px 0 0;padding-left:18px}
.detail-body li{margin:6px 0}
.clients-section{
  background:linear-gradient(135deg, #f27813 0%, var(--orange) 52%, #e35c00 100%);
}
.clients-section .clients-head h2{color:#fff}
.clients-section .clients-head .eyebrow{color:var(--navy)}
.client-list{display:flex;flex-wrap:wrap;gap:14px}
.client-list span{
  display:inline-flex;align-items:center;padding:12px 16px;border-radius:999px;
  background:#fff;border:1px solid rgba(255,255,255,.7);color:var(--navy);
  font-weight:700;box-shadow:0 4px 14px rgba(91,38,0,.08);
}
.founder{background:#fff}
.founder-grid{display:grid;grid-template-columns:.76fr 1.24fr;gap:72px;align-items:start}
.founder-photo-card{
  background:#111;
  border:1px solid #1d1d1d;border-radius:24px;overflow:hidden;
}
.founder-photo{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.founder-id{padding:22px 24px 28px;background:#111}
.founder-id h2{font-size:1.7rem;margin:0 0 6px;color:#fff}
.founder-title{margin:0;color:#b7c8e8;font-weight:650}
.personal-note{
  margin-top:28px!important;
  padding-top:22px;
  border-top:1px solid #d9e1ec;
  font-style:italic;
  color:var(--navy)!important;
}
.insights{
  background:linear-gradient(180deg, #eef8fa 0%, #f7fbfd 100%);
  border-top:1px solid #d7edf2;
}
.insights .section-head h2{color:var(--navy)}
.insight-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;align-items:start}
.insight-card{border:1px solid #cfe5ea;border-radius:var(--radius);padding:34px;background:#fff}
.insight-card h3{font-size:1.7rem;line-height:1.15;margin:8px 0 12px;color:var(--orange-deep)}
.insight-card p{max-width:700px;color:#4c5a72}
.feature{display:flex;justify-content:space-between;gap:30px;align-items:end}
.text-link,.article-link{font-weight:800;text-underline-offset:4px}
.text-link{white-space:nowrap}
.article-link{display:inline-block;margin-top:14px}
.insight-archive{display:grid;gap:16px}
.insight-archive article{border:1px solid #cfe5ea;border-radius:18px;padding:22px;background:#fff}
.insight-archive h4{margin:4px 0 8px;font-size:1.1rem;color:var(--navy)}
.insight-archive p{margin:0;color:#556277}
.contact{background:#eef4fa}
.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:72px;align-items:start}
.contact-grid>div:first-child>p:last-child{font-size:1.08rem;max-width:700px;color:#36425a}
.contact-card{background:#fff;border-radius:22px;padding:34px;border:1px solid #d9e4f0}
.contact-card p{margin:0 0 20px}
.contact-card a:not(.button){text-underline-offset:4px}
.site-footer{
  position:relative;
  background-image:url('assets/footer-art.jpg');
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.footer-overlay{
  background:linear-gradient(rgba(10,14,20,.68), rgba(10,14,20,.78));
  padding:34px 0;
}
.footer-grid{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
.footer-grid p{margin:0;color:#f4f7fb;font-size:.88rem}
.copyright{text-align:right}
.footer-logo{
  height:72px;width:auto;
  background:#fff;border-radius:10px;padding:4px 8px;
}

.testimonials-section{
  background:linear-gradient(180deg,#edf7fb 0%,#f7fbfd 100%);
  border-top:1px solid #d7edf2;
  border-bottom:1px solid #d7edf2;
}
.testimonials-head h2{color:var(--navy)}
.testimonial-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.testimonial-card{
  background:#fff;
  border:1px solid #cfe3ea;
  border-radius:20px;
  padding:26px;
  box-shadow:0 8px 24px rgba(8,42,107,.05);
}
.testimonial-tag{
  margin:0 0 24px;
  color:var(--teal);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.13em;
  font-weight:800;
}
.testimonial-quote{
  margin:0 0 16px;
  color:var(--orange-deep);
  font-size:1.35rem;
  line-height:1.25;
  font-weight:800;
}
.testimonial-summary{
  margin:0 0 24px;
  color:#3c475d;
}
.testimonial-name{
  margin:0;
  color:var(--navy);
  font-weight:800;
}
.testimonial-org{
  margin:3px 0 0;
  color:#657086;
  font-size:.92rem;
}
@media (max-width:1000px){
  .testimonial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:650px){
  .testimonial-grid{grid-template-columns:1fr}
}

@media (max-width:1000px){
  .hero-grid,.two-col,.founder-grid,.contact-grid,.insight-layout{grid-template-columns:1fr;gap:42px}
}
@media (max-width:900px){
  .site-nav{display:none;position:absolute;left:20px;right:20px;top:82px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;flex-direction:column;align-items:stretch;gap:6px;box-shadow:0 18px 50px rgba(0,0,0,.1)}
  .site-nav.open{display:flex}
  .site-nav a{padding:10px 8px}
  .nav-toggle{display:block}
  .hero{padding-top:64px}
  .situation-grid{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr;align-items:start}
  .copyright{text-align:left}
}
@media (max-width:600px){
  .wrap{width:min(var(--max),calc(100% - 28px))}
  .nav-wrap{min-height:78px}
  .brand-logo{height:46px}
  .hero{padding:54px 0 62px}
  .hero h1{font-size:3.65rem}
  .hero-panel{min-height:260px;padding:28px}
  .hero-logo{max-width:260px}
  .section{padding:66px 0}
  .situation-grid{grid-template-columns:1fr}
  .situation-grid article{min-height:180px}
  summary{grid-template-columns:40px 1fr}
  .detail-body{padding-left:52px}
  .feature{flex-direction:column;align-items:flex-start}
  .footer-logo{height:58px}
}
