*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:#10233f;background:#fff;line-height:1.6}a{text-decoration:none;color:inherit}.container{width:min(1180px,calc(100% - 40px));margin:auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.97);border-bottom:1px solid #e8edf2}.nav-wrap{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;flex-direction:column;line-height:1}.brand-main{font-size:28px;font-weight:800;letter-spacing:1px;color:#0c2543}.brand-main strong{color:#1264c3;font-weight:500}.brand-tag{font-size:9px;letter-spacing:2px;margin-top:6px;color:#66758a}.nav{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:700;text-transform:uppercase}.nav a{transition:.2s}.nav a:hover{color:#1264c3}.nav-cta{background:#0c2543;color:#fff!important;padding:12px 20px;border-radius:3px}.menu-toggle{display:none;background:none;border:0;font-size:26px;color:#0c2543}.hero{position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(7,28,50,.97) 0%,rgba(7,28,50,.88) 42%,rgba(7,28,50,.45) 72%,rgba(7,28,50,.25) 100%),url("OfficeImage.png") center center/cover no-repeat;color:#fff}.hero-network{position:absolute;inset:0;opacity:.13;background-image:radial-gradient(circle at 10% 30%,#8ed4ff 0 2px,transparent 3px),radial-gradient(circle at 35% 70%,#8ed4ff 0 2px,transparent 3px);background-size:180px 180px}.hero-grid{position:relative;min-height:610px;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:70px;padding:80px 0}.eyebrow{font-size:12px;letter-spacing:3px;font-weight:800;color:#69b6ff;margin:0 0 14px;text-transform:uppercase}.eyebrow.dark{color:#1264c3}h1,h2,h3{font-family:"Barlow Condensed",Impact,sans-serif;text-transform:uppercase;line-height:1.05;letter-spacing:.5px}h1{font-size:clamp(46px,5vw,70px);margin:0;max-width:800px}.accent-line,.small-line{height:3px;width:62px;background:#1b8de0;margin:28px 0}.hero-text{font-size:20px;max-width:650px;color:#dbe8f3}.button-row{display:flex;gap:18px;flex-wrap:wrap;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:15px 23px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;border-radius:3px;transition:.2s}.primary{background:#126fd0;color:#fff}.primary:hover{background:#0d5dae;transform:translateY(-1px)}.outline{border:1px solid #56b9ff;color:#fff}.outline:hover{background:#fff;color:#0c2543}.hero-profile{width:min(390px,100%);justify-self:end;border:1px solid rgba(255,255,255,.5);border-radius:12px;overflow:hidden;background:rgba(255,255,255,.06);box-shadow:0 20px 50px rgba(0,0,0,.25)}.photo-placeholder{height:400px;display:grid;place-items:center;background:linear-gradient(145deg,#71879a,#263f54);color:#fff;font-weight:800;letter-spacing:3px;text-align:center;font-size:20px}.profile-caption{padding:20px 26px;display:flex;flex-direction:column;font-size:19px}.profile-caption span{color:#b9d2e5;font-size:15px}.services-section{padding:85px 0}.section-heading h2,.approach-section h2,.problems-section h2,.skills-section h2,.contact-section h2{font-size:48px;margin:0}.centered{text-align:center}.centered .small-line{margin:22px auto}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{border:1px solid #e0e7ee;border-radius:12px;padding:38px 30px;text-align:center;box-shadow:0 8px 25px rgba(20,45,70,.05);transition:.2s}.service-card:hover{transform:translateY(-4px);box-shadow:0 15px 35px rgba(20,45,70,.1)}.service-icon{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:#0c2c50;color:#fff;font-size:25px;margin:0 auto 22px;font-weight:700}.service-card h3,.lms-card h3{color:#1264c3;font-size:26px;margin:0 0 12px}.service-card p{color:#46586d;min-height:105px}.service-card a{color:#1264c3;font-weight:700}.lms-card{margin-top:24px;background:#eef5fb;border:1px solid #d6e4ef;border-radius:12px;padding:30px 36px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px}.lms-card .service-icon{margin:0}.lms-card p{margin:0;max-width:650px}.dark-outline{color:#0c2543;border-color:#7baed8}.dark-outline:hover{background:#0c2543;color:#fff}.approach-section{position:relative;overflow:hidden;background:#f8fafc url("BottomGraphic.jpg") center center/cover no-repeat;}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.approach-section p{max-width:650px;color:#263d55}.principles{border-left:1px solid #8fb1c9;padding-left:45px}.principle{display:flex;gap:22px;margin:24px 0}.principle-icon{font-size:38px;color:#1264c3;min-width:40px}.principle h3{font-size:23px;margin:0}.principle p{margin:4px 0}.problems-section{padding:90px 0}.problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:45px}.problem-grid>div{padding:27px;border-left:4px solid #1264c3;background:#f7f9fb}.problem-grid h3{font-size:23px;margin:0 0 10px}.problem-grid p{margin:0;color:#56687b}.skills-section{background:#0c2543;color:#fff;padding:75px 0}.skills-section h2{font-size:44px;margin-bottom:30px}.skills{display:flex;flex-wrap:wrap;gap:12px}.skills span{border:1px solid #496a88;border-radius:100px;padding:9px 16px;color:#dceaf5;font-size:14px}.contact-section{background:#1264c3;color:#fff;text-align:center;padding:85px 0}.contact-section h2{max-width:800px;margin:0 auto;font-size:52px}.contact-section p{max-width:650px;margin:20px auto 30px;color:#dceeff}.light-button{background:#fff;color:#0c2543}.light-button:hover{background:#eaf4fd}.footer{background:#071a2d;color:#c6d4e1;padding:30px 0}.footer-grid{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:30px;font-size:12px}.footer .brand-main{color:#fff;font-size:22px}.footer .brand-tag{color:#7e98ae}.footer-grid>div:nth-child(2),.footer-grid>div:nth-child(3){text-align:right}@media(max-width:900px){.nav{display:none}.menu-toggle{display:block}.nav.open{display:flex;position:absolute;top:82px;left:0;right:0;background:#fff;padding:20px;flex-direction:column;align-items:stretch;border-bottom:1px solid #ddd}.hero-grid,.approach-grid{grid-template-columns:1fr}.hero-grid{padding:65px 0}.hero-profile{justify-self:start;max-width:390px}.service-grid,.problem-grid{grid-template-columns:1fr 1fr}.lms-card{grid-template-columns:auto 1fr}.lms-card .button{grid-column:2;justify-self:start}.footer-grid{grid-template-columns:1fr}.footer-grid>div{text-align:left!important}}@media(max-width:620px){.container{width:min(100% - 28px,1180px)}h1{font-size:43px}.section-heading h2,.approach-section h2,.problems-section h2,.skills-section h2{font-size:39px}.contact-section h2{font-size:42px}.service-grid,.problem-grid{grid-template-columns:1fr}.lms-card{grid-template-columns:1fr}.lms-card .service-icon{margin:0}.lms-card .button{grid-column:auto}.hero-profile{width:100%}.photo-placeholder{height:330px}.nav-wrap{min-height:72px}.nav.open{top:72px}.button-row{flex-direction:column;align-items:stretch}.button{width:100%}}

.photo-placeholder{position:relative;overflow:hidden}
.photo-placeholder img{width:100%;height:100%;display:block;object-fit:cover;object-position:center center}

/* Version 3 headshot scale adjustment */
.hero-profile .photo-placeholder{
  padding: 22px 28px 0;
  height: 430px;
  background: transparent;
  display:flex;
  align-items:flex-start;
  justify-content:center;
}
.hero-profile .photo-placeholder img{
  width: 88%;
  height: 100%;
  display:block;
  object-fit:contain;
  object-position:center bottom;
  border-radius: 6px 6px 0 0;
}
@media(max-width:900px){
  .hero-profile .photo-placeholder{
    height:430px;
    padding:20px 24px 0;
  }
}
@media(max-width:620px){
  .hero-profile .photo-placeholder{
    height:390px;
    padding:18px 22px 0;
  }
}





@media(max-width:620px){
  
}


@media(max-width:620px){
  .contact-section{padding-bottom:38px}
  
}

/* Very faint middle background graphic */
.approach-section::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:rgba(255,255,255,.90);
  pointer-events:none;
}
.approach-section > .container{
  position:relative;
  z-index:1;
}

/* Keep the closing area deep blue all the way through the footer */
.contact-section{
  background:#061e3a !important;
}
.footer{
  background:#06182c !important;
}

/* =========================================
   EXPERIENCE ACROSS INDUSTRIES
   ========================================= */

.ctp-experience {
    padding: 100px 20px;
    background: #ffffff;
}

.ctp-experience-container {
    max-width: 1100px;
    margin: 0 auto;
}

/* Header */

.ctp-experience-header {
    max-width: 720px;
    margin-bottom: 60px;
}

.ctp-eyebrow {
    display: block;
    margin-bottom: 18px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2.5px;
}

.ctp-experience-header h2 {
    margin: 0 0 22px;
    font-size: 46px;
    line-height: 1.1;
    font-weight: 700;
}

.ctp-experience-header h2 span {
    font-weight: 400;
}

.ctp-experience-header p {
    max-width: 650px;
    margin: 0;
    font-size: 18px;
    line-height: 1.7;
}

/* Client list */

.ctp-client-list {
    border-top: 1px solid #dfe3e8;
}

.ctp-client-item {
    display: flex;
    align-items: center;
    gap: 30px;
    padding: 28px 10px;
    border-bottom: 1px solid #dfe3e8;
    transition: padding-left 0.25s ease;
}

.ctp-client-item:hover {
    padding-left: 25px;
}

.ctp-client-number {
    width: 35px;
    flex-shrink: 0;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    opacity: 0.45;
}

.ctp-client-item h3 {
    margin: 0 0 7px;
    font-size: 25px;
    line-height: 1.2;
    font-weight: 600;
}

.ctp-client-item span {
    font-size: 13px;
    letter-spacing: 0.5px;
    opacity: 0.65;
}

/* Footer statement */

.ctp-experience-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 45px;
    padding: 25px 0;
    font-size: 15px;
}

.ctp-experience-footer span {
    opacity: 0.65;
}

/* Tablet */

@media (max-width: 700px) {

    .ctp-experience {
        padding: 70px 20px;
    }

    .ctp-experience-header h2 {
        font-size: 36px;
    }

    .ctp-client-item {
        gap: 18px;
    }

    .ctp-client-item h3 {
        font-size: 21px;
    }

    .ctp-experience-footer {
        display: block;
    }

    .ctp-experience-footer span {
        display: block;
        margin-top: 8px;
    }
}

/* Phone */

@media (max-width: 480px) {

    .ctp-experience-header h2 {
        font-size: 31px;
    }

    .ctp-client-number {
        width: 25px;
    }

    .ctp-client-item h3 {
        font-size: 19px;
    }

    .ctp-client-item span {
        font-size: 12px;
    }
}
