@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Manrope:wght@400;500;600&family=Playfair+Display:ital,wght@1,500&display=swap');
:root{--green:#08271f;--green2:#0d352b;--gold:#cfa64c;--cream:#f2efe7;--paper:#fbfaf6;--ink:#17221f;--muted:#68736f;--line:rgba(23,34,31,.16)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%}.header{height:90px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:var(--green);color:#fff;position:relative;z-index:50;border-bottom:1px solid rgba(255,255,255,.15)}.logo img{width:190px;height:64px;object-fit:contain;object-position:left center}.header nav{display:flex;align-items:center;gap:30px;font-size:13px}.header nav a{opacity:.84}.header nav a:hover{opacity:1;color:#e4c273}.nav-cta{border:1px solid rgba(255,255,255,.45);padding:12px 17px;border-radius:2px}.menu{display:none;background:none;border:0;padding:10px}.menu span{display:block;width:25px;height:1px;background:#fff;margin:6px}.hero{min-height:calc(100vh - 90px);position:relative;color:#fff;display:flex;align-items:center;overflow:hidden}.hero-media{position:absolute;inset:0;background:url('hero-v2.jpg') center/cover;animation:drift 18s ease-in-out infinite alternate}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,25,19,.95),rgba(4,25,19,.62) 48%,rgba(4,25,19,.1)),linear-gradient(0deg,rgba(4,25,19,.5),transparent)}.hero-content{position:relative;z-index:2;padding:60px 8vw;max-width:1000px}.kicker,.eyebrow{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);font-weight:600}.hero h1,.page-hero h1,.contact h1,.legal h1{font:500 clamp(58px,7vw,105px)/.98 'Manrope';letter-spacing:0;margin:25px 0}.hero-content>p:not(.kicker){font-size:18px;color:#d7dedb;max-width:600px;line-height:1.7}.hero-note{position:absolute;right:5vw;bottom:35px;z-index:2;font-size:10px;letter-spacing:1.5px;text-transform:uppercase}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--green);color:#fff;padding:16px 20px;margin-top:25px;font-size:13px;font-weight:600;border:0;cursor:pointer}.hero .button,.cta .button{background:var(--gold);color:var(--green)}.gold{background:var(--gold);color:var(--green)}em{font-family:'Playfair Display';font-weight:500;color:var(--gold)}.section{padding:120px 8vw}.split{display:grid;grid-template-columns:.5fr 1.5fr;gap:7vw}.split h2,.section h2,.cta h2{font:500 clamp(40px,5vw,70px)/1.12 'Manrope';letter-spacing:0;margin:0 0 35px}.split p,.section-head>p,.article-layout article p,.two-col p,.legal p{font-size:15px;line-height:1.9;color:var(--muted)}.text-link{display:inline-block;border-bottom:1px solid;margin-top:20px;padding-bottom:7px;font-size:13px;font-weight:600}.dark{background:var(--green);color:#fff}.dark p{color:#b7c5c0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:60px}.section-head>p{max-width:390px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.18);margin-top:55px}.service-grid article{min-height:360px;padding:32px;border-right:1px solid rgba(255,255,255,.14)}.service-grid article:first-child{padding-left:0}.service-grid article:last-child{border:0}.service-grid span,.value-grid span{color:var(--gold);font-size:11px}.service-grid h3{font:500 24px/1.3 'Manrope';margin-top:70px}.service-grid p{font-size:13px;line-height:1.75}.industries{display:grid;grid-template-columns:.9fr 1.1fr;gap:10vw;background:var(--cream)}.industry-list{border-top:1px solid var(--line)}.industry-list span{display:block;padding:24px 5px;border-bottom:1px solid var(--line);font:500 20px 'Manrope'}.process{text-align:center}.process-line{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;margin:55px 0}.process-line span{text-transform:uppercase;letter-spacing:1.5px;font-size:12px;border:1px solid currentColor;padding:14px 18px}.process-line i{color:var(--gold);font-style:normal}.process-note{color:var(--muted)}.cta{text-align:center;background:#dbe7e1;padding:110px 8vw}.cta>p:first-child{text-transform:uppercase;letter-spacing:2px;font-size:11px}.cta h2{margin:25px 0}.page-hero{background:var(--green);color:#fff;padding:110px 8vw;min-height:500px;display:flex;flex-direction:column;justify-content:end}.page-hero p:last-child{max-width:650px;color:#b7c5c0;line-height:1.8}.image-band{height:min(58vw,690px);background-position:center;background-size:cover}.team-image{background-image:url('team-v2.jpg')}.operations-image{background-image:url('operations-v2.jpg')}.article-layout{display:grid;grid-template-columns:.45fr 1.55fr;gap:8vw}.article-layout article{max-width:850px}.article-layout .lead,.longform .lead{font-size:23px;line-height:1.55;color:var(--ink)}.statement h2{max-width:1050px}.two-col{display:grid;grid-template-columns:1fr 1.2fr;gap:10vw}.quote{text-align:center;padding:120px 12vw;background:#dbe7e1}.quote blockquote{font:500 clamp(50px,7vw,95px) 'Playfair Display';color:var(--green);margin:35px}.quote>p:last-child{max-width:800px;margin:auto;color:var(--muted);line-height:1.8}.value-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:45px}.value-grid article{padding:40px;border-top:1px solid var(--line)}.value-grid article:nth-child(odd){border-right:1px solid var(--line)}.value-grid h3,.three-grid h3,.control-list h3{font:500 24px 'Manrope'}.value-grid p,.three-grid p,.control-list p{color:var(--muted);line-height:1.75}.cream{background:var(--cream)}.three-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:45px}.three-grid article{padding:35px;border-right:1px solid var(--line)}.steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:55px}.steps article{padding:35px;border-right:1px solid rgba(255,255,255,.16)}.steps b{color:var(--gold)}.steps h3{font:500 23px 'Manrope';margin-top:55px}.steps p{font-size:13px;line-height:1.75}.control{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.control-list article{border-top:1px solid var(--line);padding:22px 0}.leaders h2{margin-bottom:55px}.leader-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.leader-grid article{background:var(--cream);padding:50px}.leader-num,.role{color:var(--gold)!important}.leader-grid p{line-height:1.75;color:var(--muted)}.featured-article{display:grid;grid-template-columns:1.1fr .9fr;background:var(--cream)}.featured-img{min-height:520px;background:url('insights-v2.jpg') center/cover}.featured-article>div:last-child{padding:60px;align-self:center}.featured-article h2{font-size:43px}.longform{max-width:930px;margin:auto}.longform h1{font:500 clamp(50px,6vw,80px)/1.05 'Manrope';letter-spacing:0}.longform h2{font-size:30px;margin-top:50px}.longform p{font-size:16px;line-height:1.9;color:var(--muted)}.article-img{height:500px;background:url('insights-v2.jpg') center/cover;margin:50px 0}.back{display:block;margin-bottom:50px}.contact{display:grid;grid-template-columns:.85fr 1.15fr;min-height:calc(100vh - 90px)}.contact-image{background:url('contact-v2.jpg') center/cover}.contact-copy{padding:80px 8vw;background:var(--cream)}.contact-copy>p{color:var(--muted);line-height:1.8}.contact form{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:45px}.contact label{display:flex;flex-direction:column;gap:8px;font-size:11px;text-transform:uppercase;letter-spacing:1px}.contact input,.contact select,.contact textarea{background:transparent;border:0;border-bottom:1px solid #8f9995;padding:12px 0;font:14px 'DM Sans'}.contact textarea{min-height:90px}.contact .full{grid-column:1/-1}.privacy-check{flex-direction:row!important;align-items:flex-start;text-transform:none!important;letter-spacing:0!important}.privacy-check input{margin-top:3px}.form-note{grid-column:1/-1;font-size:12px}.legal{max-width:950px;margin:auto}.legal h2{font:500 29px 'Manrope';margin-top:48px}.legal-note{border-left:3px solid var(--gold);padding:15px 20px;background:var(--cream)}footer{background:#041d17;color:#fff;padding:80px 8vw 28px}.footer-grid{display:grid;grid-template-columns:1.5fr .7fr 1.2fr 1.3fr;gap:60px}.footer-grid>div{display:flex;flex-direction:column;gap:12px}.footer-logo{width:230px}.footer-grid p,.footer-grid a{font-size:13px;color:#adbbb6}.footer-grid h4{text-transform:uppercase;font-size:10px;letter-spacing:1.5px;color:var(--gold)}.footer-talk{font:500 24px 'Manrope'!important;color:#fff!important;border-bottom:1px solid #5a6d66;padding-bottom:12px}.footer-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:65px;padding-top:20px;display:flex;justify-content:space-between;font-size:10px;color:#81918b}.consent{position:fixed;left:25px;right:25px;bottom:25px;z-index:100;background:#fff;color:var(--ink);box-shadow:0 20px 70px rgba(0,0,0,.25);padding:20px 24px;display:none;align-items:center;justify-content:space-between;gap:30px;max-width:900px;margin:auto}.consent.show{display:flex}.consent p{margin:0;font-size:13px}.consent button{padding:11px 15px;border:1px solid var(--line);background:#fff;cursor:pointer}.consent .accept{background:var(--green);color:#fff}@keyframes drift{to{transform:scale(1.08) translateX(1.5%)}}.visible{animation:rise .7s ease both}@keyframes rise{from{opacity:0;transform:translateY(22px)}}
@media(max-width:900px){.header{height:76px;padding:0 6vw}.logo img{width:165px;height:54px}.menu{display:block;z-index:60}.header nav{display:none;position:fixed;inset:0;background:var(--green);padding:115px 8vw;flex-direction:column;align-items:flex-start;font-size:22px}.header.open nav{display:flex}.header.open .logo,.header.open .menu{z-index:61}.hero{min-height:760px}.hero h1,.page-hero h1,.contact h1,.legal h1{font-size:58px;letter-spacing:0}.section{padding:85px 7vw}.split,.industries,.article-layout,.two-col,.control,.contact{grid-template-columns:1fr}.service-grid,.steps{grid-template-columns:1fr 1fr}.service-grid article:nth-child(2){border-right:0}.section-head{display:block}.three-grid,.leader-grid{grid-template-columns:1fr}.contact-image{min-height:400px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:1/-1}.featured-article{grid-template-columns:1fr}.consent{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.hero h1,.page-hero h1,.contact h1,.legal h1{font-size:45px}.hero-content{padding:80px 6vw}.hero-note{display:none}.section{padding:70px 6vw}.section h2,.cta h2{font-size:37px;letter-spacing:0}.service-grid,.value-grid,.steps{grid-template-columns:1fr}.service-grid article,.service-grid article:first-child{border-right:0;padding:28px 0;min-height:auto}.service-grid h3{margin-top:30px}.value-grid article:nth-child(odd){border-right:0}.process-line{justify-content:flex-start}.process-line i{display:none}.featured-article>div:last-child{padding:35px}.contact form{grid-template-columns:1fr}.contact .full{grid-column:auto}.footer-grid{grid-template-columns:1fr}.footer-grid>div{grid-column:auto!important}.footer-bottom{flex-direction:column;gap:10px}.consent{left:12px;right:12px;bottom:12px}.quote{padding:85px 7vw}.quote blockquote{font-size:52px}.article-img{height:320px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}

/* Typography: retain a premium close setting without collapsing word spacing. */
h1,h2,h3,.footer-talk{
  font-family:'Manrope','Avenir Next','Segoe UI',Arial,sans-serif;
}
.footer-talk{
  font-family:'Manrope','Avenir Next','Segoe UI',Arial,sans-serif!important;
}
em,.quote blockquote{
  font-family:'Playfair Display',Georgia,'Times New Roman',serif;
}
.hero h1,.page-hero h1,.contact h1,.legal h1,.longform h1{
  font-family:'Manrope','Avenir Next','Segoe UI',Arial,sans-serif;
  letter-spacing:0;
  word-spacing:normal;
  font-kerning:normal;
  text-rendering:optimizeLegibility;
}
.split h2,.section h2,.cta h2{
  font-family:'Manrope','Avenir Next','Segoe UI',Arial,sans-serif;
  letter-spacing:0;
  word-spacing:normal;
  font-kerning:normal;
  text-rendering:optimizeLegibility;
}
.service-grid h3,.value-grid h3,.three-grid h3,.control-list h3,.steps h3,.leader-grid h3,.longform h2{
  font-family:'Manrope','Avenir Next','Segoe UI',Arial,sans-serif;
  letter-spacing:0;
  word-spacing:normal;
  line-height:1.3;
  font-kerning:normal;
  text-rendering:optimizeLegibility;
}
.longform h2{
  font-size:clamp(27px,3vw,32px);
  margin-top:58px;
  margin-bottom:18px;
}
.quote blockquote{
  font-family:'Playfair Display',Georgia,'Times New Roman',serif;
  letter-spacing:0;
  word-spacing:normal;
}
.industry-list span,.contact input,.contact select,.contact textarea{
  font-family:'DM Sans','Segoe UI',Arial,sans-serif;
}
@media(max-width:560px){
  .hero h1,.page-hero h1,.contact h1,.legal h1,.longform h1{
    letter-spacing:0;
    word-spacing:normal;
  }
  .split h2,.section h2,.cta h2,.quote blockquote{
    letter-spacing:0;
    word-spacing:normal;
  }
}

/* Final professional typography guardrail: never compress words in headings. */
h1,h2,h3{
  letter-spacing:0!important;
  word-spacing:normal!important;
  font-kerning:normal;
  overflow-wrap:normal;
}
h1{line-height:1.06;}
h2{line-height:1.2;}
h3{line-height:1.32;}

/* Insight article: clear, editorial numbered sections. */
.article-point{
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  gap:28px;
  padding:42px 0;
  border-top:1px solid var(--line);
}
.article-point:last-child{border-bottom:1px solid var(--line);}
.article-point-number{
  color:var(--gold);
  font:600 13px/1.3 'Manrope','Avenir Next','Segoe UI',Arial,sans-serif;
  letter-spacing:.12em;
  padding-top:7px;
}
.article-point h2{
  margin:0 0 14px;
  font-size:clamp(25px,3vw,34px);
  line-height:1.25;
}
.article-point p{margin:0;}
@media(max-width:560px){
  .article-point{
    grid-template-columns:1fr;
    gap:10px;
    padding:32px 0;
  }
  .article-point-number{padding-top:0;}
}

/* V7: important section labels are intentionally visible, not micro-copy. */
.eyebrow{
  font-size:clamp(16px,1.25vw,19px);
  line-height:1.4;
  letter-spacing:.09em;
  margin-top:0;
  margin-bottom:22px;
}
/* Keep labels identical inside split/two-column layouts whose paragraph rules
   otherwise have greater selector specificity. */
.section .eyebrow{
  font-size:clamp(16px,1.25vw,19px);
  line-height:1.4;
  letter-spacing:.09em;
}
.kicker{
  font-size:clamp(13px,1vw,15px);
  line-height:1.4;
  letter-spacing:.14em;
}
.header nav{font-size:14px;}
.footer-grid h4{font-size:12px;}
.footer-social{
  display:flex;
  flex-direction:row;
  flex-wrap:wrap;
  gap:18px;
  margin-top:8px;
}
.footer-social a{
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.35);
  padding-bottom:4px;
}

/* Home process: every client-approved step description is retained. */
.process-detail-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:0;
  margin-top:62px;
  text-align:left;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.process-detail-grid article{
  padding:30px 24px 34px;
  border-right:1px solid var(--line);
}
.process-detail-grid article:first-child{padding-left:0;}
.process-detail-grid article:last-child{border-right:0;padding-right:0;}
.process-detail-grid b{
  color:var(--gold);
  font-size:12px;
  letter-spacing:.12em;
}
.process-detail-grid h3{
  margin:34px 0 14px;
  font:500 20px/1.3 'Manrope','Avenir Next','Segoe UI',Arial,sans-serif;
}
.process-detail-grid p{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.72;
}
.section-intro{
  max-width:820px;
  margin:0 0 15px;
  color:#b7c5c0;
  font-size:16px;
  line-height:1.8;
}

@media(max-width:1100px){
  .process-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .process-detail-grid article{border-bottom:1px solid var(--line);}
  .process-detail-grid article:nth-child(2n){border-right:0;}
  .process-detail-grid article:first-child{padding-left:24px;}
  .process-detail-grid article:last-child{padding-right:24px;border-bottom:0;}
}
@media(max-width:560px){
  .eyebrow,
  .section .eyebrow{font-size:16px;margin-bottom:17px;}
  .kicker{font-size:13px;}
  .process-detail-grid{grid-template-columns:1fr;margin-top:42px;}
  .process-detail-grid article,
  .process-detail-grid article:first-child,
  .process-detail-grid article:last-child{
    padding:26px 0;
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .process-detail-grid article:last-child{border-bottom:0;}
  .process-detail-grid h3{margin-top:18px;}
}

/* V9: every hero/page label uses the client-requested fixed size. */
.hero .kicker,
.page-hero .kicker,
.contact .kicker,
.legal .kicker{
  font-size:19px;
  line-height:1.4;
  letter-spacing:.12em;
}

/* V10: client-approved unified label scale across the complete website. */
.eyebrow,
.section .eyebrow,
.kicker,
.hero .kicker,
.page-hero .kicker,
.contact .kicker,
.legal .kicker{
  font-size:23px;
  line-height:1.35;
}

/* V11: layout directions supplied with the revised content. */
.article-layout .story-heading{
  max-width:900px;
  margin:0 0 32px;
  font-size:clamp(38px,4vw,58px);
  line-height:1.14;
}
.control .control-summary{
  color:#8a671f;
  font-weight:500;
}
@media(max-width:560px){
  .article-layout .story-heading{font-size:34px;}
}

/* V12: personal LinkedIn actions remain the final item in each leadership card. */
.leader-grid article{
  display:flex;
  flex-direction:column;
}
.leader-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  align-self:flex-start;
  margin-top:auto;
  padding-top:24px;
  padding-bottom:7px;
  border-bottom:1px solid var(--gold);
  color:var(--green);
  font-size:14px;
  font-weight:600;
}
.leader-link:hover,
.leader-link:focus-visible{
  color:#8a671f;
}

/* V13: make the primary footer contact unmistakably interactive. */
.footer-email{
  display:inline-flex;
  align-items:center;
  gap:8px;
  align-self:flex-start;
  width:fit-content;
  padding:3px 0 6px;
  border-bottom:1px solid rgba(207,166,76,.75);
  color:#fff!important;
  cursor:pointer;
}
.footer-email:hover,
.footer-email:focus-visible{
  color:#e4c273!important;
  border-bottom-color:#e4c273;
}
