
:root{
  --font-sans:"Manrope","Avenir Next","Segoe UI",Arial,sans-serif;
  --font-serif:"Instrument Serif","Iowan Old Style","Times New Roman",serif;
  --ink:#171816;
  --ink-soft:#30322f;
  --paper:#f5f1e9;
  --surface:#fffdf9;
  --surface-2:#ebe6dc;
  --blue:#2f55e7;
  --orange:#f0643c;
  --yellow:#f1cf55;
  --mint:#9bcfbe;
  --muted:#656a65;
  --line:#d8d2c7;
  --radius-sm:10px;
  --radius-md:18px;
  --radius-lg:28px;
  --shadow-soft:0 24px 70px rgba(23,24,22,.11);
  --max:1280px;
}
html{font-synthesis:none;text-rendering:optimizeLegibility}
body{
  font-family:var(--font-sans);
  background:var(--paper);
  color:var(--ink);
  font-size:16px;
  line-height:1.68;
  letter-spacing:-.008em;
}
h1,h2,h3,h4,p{overflow-wrap:normal;word-break:normal}
h1,h2,h3{font-family:var(--font-sans);font-weight:700;text-transform:none;letter-spacing:-.052em}
.eyebrow{
  font-family:var(--font-sans);
  font-size:11px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.button{
  min-height:50px;
  padding:12px 20px;
  border-radius:var(--radius-sm);
  border-width:1px;
  font-size:14px;
  letter-spacing:-.01em;
  box-shadow:none;
}
.button:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(23,24,22,.13)}
.text-link{font-size:14px;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
.site-header{
  width:min(calc(100% - 40px),var(--max));
  margin-top:18px;
  padding:10px 12px 10px 16px;
  border-radius:16px;
  border:1px solid rgba(23,24,22,.09);
  box-shadow:0 8px 28px rgba(23,24,22,.06);
}
.brand{letter-spacing:.03em;text-transform:none}
.brand strong{font-family:var(--font-sans);font-size:16px;letter-spacing:-.025em}
.main-nav{gap:24px}
.main-nav a{font-size:13px;font-weight:700}
.main-nav .button-small{border-radius:10px;min-height:42px;padding:9px 17px}
.hero{
  width:min(calc(100% - 48px),var(--max));
  min-height:auto;
  margin:72px auto 104px;
  grid-template-columns:minmax(0,1.04fr) minmax(390px,.96fr);
  gap:clamp(48px,6vw,88px);
  align-items:center;
}
.hero-copy{max-width:690px}
.hero h1{
  max-width:690px;
  margin:0;
  font-size:clamp(57px,6.1vw,92px);
  line-height:.93;
  letter-spacing:-.067em;
  text-transform:none;
}
.hero h1 span{color:var(--blue)}
.hero h1 em{
  display:inline-block;
  font-family:var(--font-serif);
  font-weight:400;
  font-style:italic;
  color:var(--orange);
  letter-spacing:-.035em;
}
.hero .lead{
  max-width:610px;
  margin:31px 0 26px;
  font-size:18px;
  line-height:1.68;
  color:var(--ink-soft);
}
.hero-actions{gap:18px}
.hero-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  margin-top:50px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.hero-stats div{padding:20px 20px 20px 0}
.hero-stats div+div{padding-left:20px;border-left:1px solid var(--line)}
.hero-stats dt{font-size:22px;letter-spacing:-.04em}
.hero-stats dd{font-size:11px;line-height:1.45;letter-spacing:.02em}
.hero-art{position:relative;padding:15px}
.hero-art::before{
  content:"";
  position:absolute;
  inset:0 30px 36px 0;
  border:1px solid rgba(23,24,22,.16);
  border-radius:var(--radius-lg);
  transform:translate(-15px,-15px);
}
.hero-art img{
  position:relative;
  aspect-ratio:4/3;
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-soft);
}
.positioning{
  padding:30px max(24px,calc((100vw - var(--max))/2));
  grid-template-columns:.62fr 1.38fr;
}
.positioning p{
  font-family:var(--font-serif);
  font-size:28px;
  font-weight:400;
  font-style:italic;
  text-transform:none;
  letter-spacing:-.025em;
}
.positioning div{justify-content:flex-end}
.positioning span{
  padding:7px 0;
  border:0;
  border-radius:0;
  border-bottom:1px solid rgba(255,255,255,.28);
  font-size:11px;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.section{width:min(calc(100% - 48px),var(--max));padding:132px 0}
.section-heading{grid-template-columns:1.05fr .75fr;gap:90px}
.section-heading h2,
.market-services-heading h2,
.delivery-assurance h2,
.audit-cta h2,
.faq-heading h2{
  max-width:780px;
  font-size:clamp(46px,5.8vw,80px);
  line-height:.98;
  letter-spacing:-.057em;
  text-transform:none;
}
.section-heading>p,.market-services-heading>p{font-size:17px;line-height:1.72}
.filters{margin:46px 0 34px;border-bottom:1px solid var(--line);gap:28px}
.filters button{
  min-height:44px;
  padding:8px 0 13px;
  border:0;
  border-radius:0;
  color:var(--muted);
  background:transparent;
  font-size:12px;
  letter-spacing:.04em;
}
.filters button.active{background:transparent;color:var(--ink);box-shadow:inset 0 -2px 0 var(--ink)}
.project-grid{gap:74px 28px}
.project-card,
.project-card.wide{
  display:flex;
  flex-direction:column;
  grid-column:auto;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
.project-card.wide:nth-of-type(1),
.project-card.wide:nth-of-type(5){grid-column:1/-1;display:grid;grid-template-columns:1.25fr .75fr;gap:36px;align-items:end}
.project-card:hover{transform:none}
.project-image{border-radius:var(--radius-md);box-shadow:0 16px 42px rgba(23,24,22,.1)}
.project-image img{min-height:0;aspect-ratio:16/10;border-radius:var(--radius-md)}
.project-copy{padding:24px 0 0}
.project-card.wide .project-copy{padding:0 0 10px}
.project-meta{justify-content:flex-start;gap:16px;font-size:10px;letter-spacing:.1em}
.project-meta span+span::before{content:"—";margin-right:16px;color:var(--line)}
.project-copy h3{
  max-width:620px;
  margin:16px 0 10px;
  font-size:clamp(30px,3.4vw,50px);
  line-height:1;
  text-transform:none;
}
.project-copy p{max-width:580px;font-size:15px;line-height:1.72}
.project-actions{margin-top:22px;gap:24px}
.project-actions a{font-size:13px;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
.market-services{
  padding:126px max(24px,calc((100vw - var(--max))/2));
  background:var(--ink);
}
.market-services-heading{grid-template-columns:1fr .72fr;gap:90px}
.market-services-heading .eyebrow{color:var(--mint)}
.offer-grid{gap:1px;margin-top:62px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.16)}
.offer-card,
.offer-card.featured{
  min-height:560px;
  border-radius:0;
  padding:34px;
  background:#f8f5ef;
  color:var(--ink);
  transform:none;
}
.offer-card.featured{background:var(--blue);color:white}
.offer-tag{font-size:10px}
.offer-card h3{font-size:31px;line-height:1.05;text-transform:none;margin:48px 0 18px}
.offer-meta{padding:18px 0}
.offer-meta strong{font-size:22px}
.offer-card li{font-size:14px}
.included-strip{
  margin-top:28px;
  padding:19px 0;
  border-width:1px 0 0;
  border-radius:0;
}
.included-strip span{border-radius:0;background:transparent;border-bottom:1px solid rgba(255,255,255,.3)}
.sector-grid{gap:1px;background:var(--line);border:1px solid var(--line)}
.sector-grid article{border:0;border-radius:0;padding:30px}
.sector-grid h3{font-size:20px;text-transform:none}
.delivery-assurance{
  padding:126px max(24px,calc((100vw - var(--max))/2));
  grid-template-columns:.8fr 1.2fr;
}
.assurance-list article{padding:25px 0}
.assurance-list h3{font-size:22px;text-transform:none}
.process ol{gap:1px;background:var(--line);border:1px solid var(--line)}
.process li{min-height:300px;border:0;border-radius:0;padding:28px}
.process li>span{width:36px;height:36px;font-size:11px}
.process h3{margin:70px 0 10px;font-size:23px;text-transform:none}
.audit-cta{
  margin-bottom:132px;
  padding:64px;
  border-radius:var(--radius-md);
  grid-template-columns:1.1fr .9fr;
}
.audit-cta h2{font-size:clamp(44px,5vw,70px)}
.audit-cta aside div{grid-template-columns:110px 1fr}
.about{
  margin-bottom:132px;
  grid-template-columns:.46fr 1.1fr .8fr;
  gap:54px;
  border-radius:var(--radius-lg);
  padding:66px;
}
.about-copy h2{font-size:clamp(42px,5vw,68px);line-height:.98;text-transform:none}
.about blockquote{
  border:0;
  border-left:2px solid var(--orange);
  border-radius:0;
  padding:12px 0 12px 24px;
  transform:none;
  font-family:var(--font-serif);
  font-size:27px;
  font-style:italic;
}
.market-faq{grid-template-columns:.72fr 1.28fr;gap:90px}
.market-accordion button{font-size:15px;font-weight:700}
.contact{
  padding:126px max(24px,calc((100vw - var(--max))/2));
  background:var(--surface-2);
  grid-template-columns:.88fr 1.12fr;
}
.contact h2{font-size:clamp(44px,5.6vw,76px);line-height:.98;text-transform:none}
.contact form{
  border-radius:var(--radius-md);
  box-shadow:none;
  border:1px solid var(--line);
}
.contact input,.contact select,.contact textarea{border-radius:8px;background:white}
footer{grid-template-columns:.8fr 1.4fr auto auto;border-top:1px solid var(--line)}

/* Services */
.service-hero{
  width:min(calc(100% - 48px),var(--max));
  margin:78px auto 116px;
  grid-template-columns:1.08fr .72fr;
  gap:90px;
}
.service-hero h1,
.audit-hero-page h1{
  font-size:clamp(58px,7.2vw,104px);
  line-height:.93;
  text-transform:none;
}
.service-hero h1 em{font-family:var(--font-serif);font-weight:400;font-style:italic}
.service-hero-panel,.audit-score-card{border-radius:var(--radius-md)}
.detail-package-grid{gap:1px;background:var(--line);border:1px solid var(--line)}
.detail-package-grid article,
.detail-package-grid article.featured{border:0;border-radius:0;transform:none}
.detail-package-grid h3{font-size:28px;text-transform:none}
.platform-section{padding:126px max(24px,calc((100vw - var(--max))/2))}
.platform-section h2,.scope-section h2,.service-final-cta h2,.audit-explainer h2{
  font-size:clamp(44px,5.6vw,76px);
  line-height:.98;
  text-transform:none;
}
.platform-grid{gap:1px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.2)}
.platform-grid article{border:0;border-radius:0}
.platform-grid h3{font-size:20px;text-transform:none}
.comparison-table{border-radius:var(--radius-sm)}
.scope-section{margin-bottom:126px}
.service-final-cta{padding:100px max(24px,calc((100vw - var(--max))/2))}

/* Audit */
.audit-hero-page{width:min(calc(100% - 48px),var(--max));margin:78px auto 116px}
.audit-form-section{padding:126px max(24px,calc((100vw - var(--max))/2))}
.audit-form-section form{border-radius:var(--radius-md);box-shadow:0 20px 60px rgba(23,24,22,.14)}
.audit-form-section input,.audit-form-section select,.audit-form-section textarea{border-radius:8px}
.audit-tags span,.audit-boundary span{border-radius:0;border-width:0 0 1px;padding:6px 0}
.audit-score-card strong{font-family:var(--font-serif);font-style:italic;text-transform:none;font-weight:400}

/* Shared case study refinements */
.case-breadcrumb{
  font-family:var(--font-sans)!important;
  border-radius:10px!important;
}
@media(max-width:1050px){
  .hero{grid-template-columns:1fr;gap:50px;margin-top:54px}
  .hero-copy{max-width:800px}
  .hero h1{max-width:800px;font-size:clamp(56px,9vw,88px)}
  .hero-art{width:min(100%,780px);padding:0}
  .hero-art::before{display:none}
  .positioning{grid-template-columns:1fr}
  .positioning div{justify-content:flex-start}
  .project-card.wide:nth-of-type(1),.project-card.wide:nth-of-type(5){grid-template-columns:1fr}
  .project-card.wide .project-copy{padding-top:24px}
  .section-heading,.market-services-heading,.delivery-assurance,.audit-cta,.market-faq,.contact,.service-hero,.platform-section,.scope-section,.audit-hero-page,.audit-form-section{grid-template-columns:1fr}
  .offer-grid,.detail-package-grid{grid-template-columns:1fr;background:transparent;border:0;gap:16px}
  .offer-card,.offer-card.featured,.detail-package-grid article,.detail-package-grid article.featured{border-radius:var(--radius-md)}
  .about{grid-template-columns:.45fr 1.55fr}
  .about blockquote{grid-column:1/-1}
}
@media(max-width:720px){
  .site-header{width:calc(100% - 20px);margin-top:10px;border-radius:13px}
  .hero,.section,.service-hero,.audit-hero-page{width:calc(100% - 28px)}
  .hero{margin:42px auto 78px}
  .hero h1{font-size:clamp(43px,12.2vw,62px);line-height:.96}
  .hero .lead{font-size:16px;margin-top:24px}
  .hero-actions{align-items:flex-start;flex-direction:column}
  .hero-stats{grid-template-columns:1fr}
  .hero-stats div,.hero-stats div+div{padding:16px 0;border-left:0;border-top:1px solid var(--line)}
  .hero-stats div:first-child{border-top:0}
  .positioning{padding-block:28px}
  .positioning p{font-size:24px}
  .section{padding:88px 0}
  .section-heading,.market-services-heading{gap:24px}
  .section-heading h2,.market-services-heading h2,.delivery-assurance h2,.audit-cta h2,.faq-heading h2{font-size:clamp(40px,12vw,58px)}
  .project-grid{grid-template-columns:1fr;gap:64px}
  .project-card.wide:nth-of-type(1),.project-card.wide:nth-of-type(5){grid-column:auto}
  .market-services,.delivery-assurance,.contact,.platform-section,.audit-form-section{padding-block:88px}
  .offer-card,.offer-card.featured{min-height:auto;padding:26px}
  .sector-grid{grid-template-columns:1fr}
  .process ol{grid-template-columns:1fr}
  .audit-cta{width:calc(100% - 28px);padding:34px 24px;margin-bottom:88px}
  .about{width:calc(100% - 28px);padding:38px 24px;margin-bottom:88px}
  .about blockquote{font-size:23px}
  .market-faq{gap:30px}
  .contact form{padding:24px}
  footer{grid-template-columns:1fr}
}

/* about-workspace */

.about-mark{height:100%;min-height:420px}
.about-mark img{
  width:100%;
  height:100%;
  min-height:420px;
  object-fit:cover;
  object-position:center;
  border-radius:18px;
  filter:saturate(.88) contrast(.98);
}
.about-tags{gap:0;border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2)}
.about-tags span{padding:10px 14px 10px 0;border:0;border-radius:0;background:transparent}
.about-tags span+span{padding-left:14px;border-left:1px solid rgba(255,255,255,.2)}
.profile-meta span{border:0;border-radius:0;background:transparent;padding:6px 14px 6px 0}

/* premium refinements */

.brand span{white-space:nowrap}
.site-header{flex-wrap:nowrap}
.main-nav{white-space:nowrap}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap}
.hero-actions .button,.service-hero .button{width:max-content;max-width:100%}
.service-hero>div:first-child{display:flex;flex-direction:column;align-items:flex-start}

/* final responsive refinements */

.hero-actions .button,
.hero-actions .text-link,
.service-hero .button{white-space:nowrap}
.site-header{gap:22px}
.main-nav{min-width:0;flex:0 1 auto}

@media(max-width:1120px){
  .main-nav{
    position:absolute;
    top:68px;
    left:0;
    right:0;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:3px;
    padding:18px;
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:14px;
    box-shadow:var(--shadow-soft);
  }
  .main-nav.open{display:flex}
  .main-nav a{min-height:46px;display:flex;align-items:center;padding:8px 13px}
  .nav-toggle{display:block}
}

/* V7 profile entry points */
.about-profile-link{margin:24px 0 0}
.about-profile-link .text-link{color:var(--mint)}
footer{grid-template-columns:.75fr 1.25fr auto auto auto}
@media(max-width:1050px){footer{grid-template-columns:1fr 1fr}}
@media(max-width:720px){footer{grid-template-columns:1fr}}

/* Progressive enhancement: without JavaScript, keep navigation usable. */
@media(max-width:1120px){
  html:not(.js-nav) .site-header{flex-wrap:wrap;height:auto;min-height:68px}
  html:not(.js-nav) .main-nav{position:static!important;display:flex!important;flex:1 0 100%;width:100%;box-shadow:none!important}
  html:not(.js-nav) .nav-toggle{display:none!important}
}
