/* Corporate presentation: restrained typography and a consistent editorial grid. */
:root {
  --navy: #152831;
  --paper: #f5f3ee;
  --gold: #9c8255;
  --ink: #172a32;
  --muted: #5d6670;
  --line: #d8d9d4;
}
html { scroll-padding-top: 118px; }
body { font-family: 'DM Sans', Arial, sans-serif; }
.corporate-bar { background: var(--navy); color: #e6eaeb; }
.corporate-bar .container { display: flex; align-items: center; justify-content: space-between; min-height: 35px; gap: 16px; font: 12px/1.4 var(--display); }
.corporate-bar span { text-transform: uppercase; letter-spacing: 2.5px; font-size: 10px; }
.corporate-bar a:hover { text-decoration: underline; text-underline-offset: 4px; }
.header-inner { min-height: 104px; }
.brand { gap: 18px; }
.brand-mark { width: 51px; height: 51px; color: #896d3e; border-width: 1.4px; }
.brand-mark::after { top: 15px; right: 8px; }
.brand-wordmark { display: flex; flex-direction: column; gap: 7px; }
.brand-wordmark > span { font: 23px/1.05 var(--display); letter-spacing: 5.5px; text-transform: uppercase; }
.brand-wordmark small { font: 10px/1.2 Arial, sans-serif; letter-spacing: 4.5px; text-transform: uppercase; }
.primary-nav { gap: 30px; font-size: 14px; }
.nav-contact { background: transparent; color: #7f653a; border: 1px solid var(--gold); min-height: 48px; padding-inline: 25px; font: 17px/1.4 var(--display); }
.nav-contact:hover { background: var(--paper); color: var(--ink); }
.hero { grid-template-columns: 57% 43%; min-height: 650px; }
.hero-copy { padding-top: 60px; padding-bottom: 66px; padding-right: 35px; }
.hero-copy::before { content: ''; display: block; width: 92px; height: 1px; margin-bottom: 38px; background: #bb9d68; }
.hero h1 { font-size: clamp(44px, 4.45vw, 68px); line-height: 1.2; letter-spacing: -1.8px; }
.hero h1 > span { display: block; }
.hero h1 > span:last-child { color: #c1a475; }
.hero-copy > p { max-width: 615px; font-size: 20px; line-height: 1.75; margin-top: 32px; }
.hero-actions { margin-top: 38px; gap: 20px 36px; }
.hero-actions .button, .hero-actions .text-link { font: 18px/1.4 var(--display); }
.hero-actions .button { min-width: 176px; }
.hero-actions .arrow { width: 17px; height: 17px; }
.hero-image img { object-position: 50% 50%; }
.page-index { background: #fff; border-bottom: 1px solid var(--line); }
.page-index .container { display: flex; align-items: center; flex-wrap: wrap; gap: 24px 38px; min-height: 94px; padding-block: 22px; }
.page-index .container > span { color: #80673f; text-transform: uppercase; letter-spacing: 2.4px; font-size: 10px; padding: 6px 32px 6px 0; border-right: 1px solid #c6bba6; }
.page-index a { font: 17px/1.5 var(--display); border-bottom: 1px solid #b9a27b; padding: 3px 0; }
.page-index a:hover { color: #80673f; }
.section { padding-block: 96px; }
.section-label { color: #846b42; font-weight: 500; letter-spacing: 2.3px; margin-bottom: 28px; }
.section-title { font-size: clamp(38px, 4vw, 58px); line-height: 1.16; letter-spacing: -1.6px; }
.about { background: var(--paper); }
.about-grid { grid-template-columns: 1.05fr 1fr; gap: 70px; margin-top: 0; }
.about-grid .section-title { font-size: clamp(40px, 4.35vw, 64px); }
.about-copy { padding-left: 44px; border-left: 1px solid #c1b498; }
.about-copy p { font-size: 17px; line-height: 1.8; }
.about-copy p:last-of-type { margin-bottom: 20px; }
.about-copy .text-link { font-size: 15px; }
.expertise .section-intro { grid-template-columns: 1.35fr 1fr; }
.expertise-item h3 { font-family: var(--display); font-size: 25px; font-weight: 400; }
.expertise-item { padding-block: 33px; }
.expertise-grid { margin-top: 35px; }
.section-description { font-size: 17px; }
.sector-row { padding-block: 28px; }
.sector-row h3 { font-size: 27px; }
.approach .section-title { max-width: 850px; }
.process-list { margin-top: 48px; }
.process-step h3 { font-size: 27px; }
.innovation .section-label { color: #c5b38e; }
.innovation .section-title { max-width: 600px; }
.innovation-list h3 { font-size: 30px; }
.innovation-grid > div:first-child > p:not(.section-label) { font-size: 18px; }
.management { background: var(--paper); }
.management-layout, .founders-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 80px; align-items: start; }
.management-intro > p:not(.section-label), .founders-copy > p:not(.section-label) { margin-top: 24px; color: var(--muted); font-size: 17px; line-height: 1.8; max-width: 580px; }
.management-list { margin-top: 4px; }
.management-list article { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.3fr); gap: 25px; padding: 30px 0; border-top: 1px solid #c1b498; }
.management-list article:last-child { padding-bottom: 0; }
.management-list h3 { font: 400 24px/1.3 var(--display); letter-spacing: -.4px; }
.management-list p { border-left: 1px solid #cfc5b5; padding-left: 24px; font-size: 15px; line-height: 1.75; color: var(--muted); }
.founders { background: #fff; }
.founders-copy > .text-link { margin-top: 24px; }
.conversation-note { border: 1px solid #b8a483; margin-top: 5px; }
.conversation-note > .section-label { padding: 27px 32px; margin: 0; border-bottom: 1px solid #cfc5b5; }
.conversation-note ol { padding: 0; margin: 0; list-style: none; }
.conversation-note li { display: grid; grid-template-columns: 22px minmax(0,1fr); gap: 18px; padding: 27px 30px; }
.conversation-note li + li { border-top: 1px solid var(--line); }
.conversation-note li > span { font: 16px/1.6 var(--display); color: #846b42; }
.conversation-note h4 { margin: 0; font: 400 23px/1.35 var(--display); }
.conversation-note li p { font-size: 15px; line-height: 1.7; color: var(--muted); margin-top: 9px; }
.conversation-closing { font: italic 16px/1.65 var(--display); color: var(--muted); padding: 25px 32px; border-top: 1px solid var(--line); background: #faf9f6; }
.questions { background: var(--paper); }
.questions-layout { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.3fr); gap: 90px; align-items: start; }
.questions-intro > p:not(.section-label) { margin-top: 25px; color: var(--muted); font-size: 17px; max-width: 300px; }
.questions-intro .text-link { margin-top: 20px; }
.question-list { border: 1px solid #c5b79e; background: #fff; }
.question-list details + details { border-top: 1px solid #d5cbbb; }
.question-list summary { list-style: none; position: relative; padding: 22px 55px 22px 26px; font: 400 21px/1.45 var(--display); cursor: pointer; }
.question-list summary::-webkit-details-marker { display: none; }
.question-list summary::before, .question-list summary::after { content: ''; position: absolute; right: 24px; top: 36px; width: 12px; height: 1px; background: #846b42; }
.question-list summary::after { transform: rotate(90deg); }
.question-list details[open] summary::after { transform: rotate(0); }
.question-list summary:hover { background: #fbfaf7; }
.question-list summary:focus-visible { outline: 2px solid #9c8255; outline-offset: -4px; }
.answer { padding: 0 27px 25px; color: var(--muted); font-size: 16px; line-height: 1.8; }
.contact { background: #fff; }
.contact-copy .section-title { max-width: 650px; }
.site-footer { padding-top: 64px; }
.footer-directory { display: grid; grid-template-columns: 1.4fr .8fr .95fr 1.25fr; gap: 45px; padding-bottom: 50px; }
.footer-company .brand { white-space: normal; gap: 14px; }
.footer-company .brand-wordmark > span { font-size: 21px; letter-spacing: 4px; }
.footer-company .brand-wordmark small { font-size: 9px; letter-spacing: 3.5px; }
.footer-company .brand-mark { width: 43px; height: 43px; color: #bca67e; }
.footer-company .brand-mark::after { top: 12px; right: 7px; width: 6px; height: 6px; }
.footer-company > p { color: #b9c3c6; font: 15px/1.9 var(--display); margin-top: 25px; }
.footer-column { display: flex; align-items: flex-start; flex-direction: column; gap: 10px; min-width: 0; }
.footer-column h2 { margin: 0 0 11px; font-size: 11px; line-height: 1.5; letter-spacing: 1.6px; text-transform: uppercase; color: #d3c1a0; font-weight: 400; }
.footer-column a, .footer-address address { color: #c4cdd0; font-size: 13px; line-height: 1.8; font-style: normal; }
.footer-column a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.footer-address > a { margin-top: 8px; overflow-wrap: anywhere; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; border-top: 1px solid #526166; padding-top: 25px; }
.footer-bottom .copyright { padding-top: 0; }
.footer-bottom > a { display: flex; align-items: center; gap: 12px; color: #c4cdd0; font-size: 12px; }
.footer-bottom .arrow { width: 15px; height: 15px; }
@media (min-width: 1600px) { .hero { min-height: 690px; } }
@media (max-width: 1200px) {
  .primary-nav { gap: 22px; font-size: 13px; }
  .brand { gap: 14px; }
  .brand-wordmark > span { font-size: 21px; letter-spacing: 4px; }
  .brand-wordmark small { font-size: 9px; letter-spacing: 3.6px; }
  .hero h1 { font-size: clamp(43px,4.45vw,55px); }
  .hero-copy > p { font-size: 18px; }
  .hero-actions { gap: 18px 27px; }
  .hero-actions .button, .hero-actions .text-link { font-size: 16px; }
  .page-index .container { gap: 20px 28px; }
  .page-index .container > span { padding-right: 22px; }
  .page-index a { font-size: 16px; }
  .management-layout, .founders-layout { gap: 50px; }
  .management-list article { grid-template-columns: 1fr; gap: 12px; }
  .management-list p { border-left: 0; padding-left: 0; }
  .questions-layout { gap: 55px; }
  .footer-directory { gap: 30px; }
}
@media (max-width: 1000px) {
  .header-inner { min-height: 88px; }
  .hero-copy { padding-block: 50px; }
  .hero-copy::before { margin-bottom: 28px; }
  .hero-copy > p { font-size: 17px; }
  .hero-actions { align-items: flex-start; }
  .hero-actions .text-link { font-size: 16px; }
  .about-grid { gap: 40px; }
  .about-copy { padding-left: 32px; }
  .page-index .container { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 17px 25px; }
  .page-index .container > span { grid-column: 1/-1; border: 0; padding: 0; }
  .page-index a { width: fit-content; }
  .footer-directory { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 42px; }
}
@media (max-width: 760px) {
  html { scroll-padding-top: 98px; }
  .corporate-bar .container { min-height: 30px; font-size: 10px; gap: 10px; }
  .corporate-bar span { font-size: 8px; letter-spacing: 1.3px; }
  .header-inner { min-height: 82px; }
  .brand { gap: 12px; }
  .brand-mark { width: 39px; height: 39px; }
  .brand-mark::after { top: 11px; right: 6px; width: 6px; height: 6px; }
  .brand-wordmark { gap: 5px; }
  .brand-wordmark > span { font-size: 19px; letter-spacing: 3.4px; }
  .brand-wordmark small { font-size: 8px; letter-spacing: 2.7px; }
  .hero { min-height: 0; }
  .hero-copy { padding: 49px var(--gutter) 53px; }
  .hero-copy::before { width: 64px; margin-bottom: 27px; }
  .hero h1 { font-size: clamp(37px,6.9vw,52px); letter-spacing: -1.2px; }
  .hero h1 > span + span { margin-top: 9px; }
  .hero-copy > p { margin-top: 26px; font-size: 17px; }
  .hero-actions { margin-top: 28px; gap: 18px 24px; flex-direction: row; }
  .hero-actions .button { min-width: auto; }
  .hero-image { height: 340px; }
  .hero-image img { object-position: center 55%; }
  .page-index .container { padding-block: 25px; gap: 14px 20px; }
  .page-index a { font-size: 15px; }
  .section { padding-block: 68px; }
  .section-title, .about-grid .section-title { font-size: clamp(34px,7vw,46px); line-height: 1.18; letter-spacing: -1px; }
  .section-label { margin-bottom: 24px; letter-spacing: 1.8px; font-size: 10px; }
  .about-grid, .expertise .section-intro, .management-layout, .founders-layout, .questions-layout { grid-template-columns: minmax(0,1fr); gap: 33px; }
  .about-copy { padding-left: 0; border-left: 0; }
  .about-copy p { font-size: 16px; }
  .expertise-item h3 { font-size: 24px; }
  .expertise-item { padding-block: 28px; }
  .sector-row h3 { font-size: 25px; }
  .process-list { margin-top: 35px; }
  .management-intro > p:not(.section-label), .founders-copy > p:not(.section-label) { font-size: 16px; }
  .management-list article { grid-template-columns: 1fr; padding-block: 25px; gap: 12px; }
  .management-list article:last-child { padding-bottom: 0; }
  .management-list h3 { font-size: 25px; }
  .management-list p { font-size: 16px; }
  .conversation-note { margin-top: 0; }
  .conversation-note > .section-label { padding: 22px 24px; }
  .conversation-note li { padding: 23px 22px; gap: 13px; grid-template-columns: 20px minmax(0,1fr); }
  .conversation-note h4 { font-size: 22px; }
  .conversation-closing { padding: 23px 25px; }
  .question-list summary { font-size: 20px; padding: 21px 42px 21px 21px; }
  .question-list summary::before, .question-list summary::after { right: 18px; top: 35px; }
  .answer { padding: 0 21px 23px; font-size: 15px; }
  .questions-intro > p:not(.section-label) { max-width: 450px; }
  .questions-intro .text-link { margin-top: 14px; }
  .footer-directory { gap: 36px 25px; }
  .footer-company, .footer-address { grid-column: 1/-1; }
  .footer-company .brand-wordmark > span { font-size: 22px; }
  .footer-company > p { margin-top: 21px; }
  .footer-column h2 { font-size: 10px; }
  .footer-column a, .footer-address address { font-size: 14px; }
  .footer-bottom { align-items: flex-start; flex-direction: column; gap: 15px; }
}
@media (max-width: 380px) {
  .corporate-bar span { font-size: 7px; letter-spacing: 1px; }
  .corporate-bar .container { font-size: 9px; }
  .header-inner .brand > span:last-child { max-width: none; white-space: nowrap; }
  .brand { gap: 9px; }
  .brand-mark { width: 32px; height: 32px; }
  .brand-mark::after { top: 9px; right: 5px; width: 5px; height: 5px; }
  .brand-wordmark > span { font-size: 16px; letter-spacing: 2.8px; }
  .brand-wordmark small { font-size: 7px; letter-spacing: 2.2px; }
  .js-nav .menu-toggle { gap: 7px !important; padding-inline: 9px !important; font-size: 12px; }
  .hero h1 { font-size: 34px; }
  .hero-copy > p { font-size: 16px; }
  .page-index .container { column-gap: 17px; }
  .page-index a { font-size: 14px; }
  .section-title, .about-grid .section-title { font-size: 33px; }
  .expertise-item h3 { font-size: 22px; }
  .sector-row h3 { font-size: 23px; }
  .footer-directory { gap: 35px 18px; }
}
