@font-face {
  font-family: 'Manrope LUFT';
  src: url('/assets/fonts/manrope-variable.ttf') format('truetype');
  font-weight: 200 800;
  font-display: swap;
}
:root {
  --sans: 'Manrope LUFT', Arial, sans-serif;
  --serif: var(--sans);
  --ink: #1b1b1d;
  --paper: #f6f2e9;
  --lime: #f3a085;
  --line: #25252235;
  --signal: #f3a085;
  --dark: #17191b;
}
.heading-accent {font-weight: inherit; color: #7d4336;}
.display,.statement,.contact-title {font-weight: 650; letter-spacing: -.065em; line-height: 1.07;}
.display {font-size: clamp(42px,5vw,76px);}
.statement {font-size: clamp(44px,5.6vw,85px);}
.header {background: var(--dark); border-bottom: 1px solid #e8e0ce26;}
.header.is-scrolled {background: #17191bf5;}
.navigation {font-size: 13px;}
.header .brand-corner {fill: var(--signal);}
.hero {
  display: grid; grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
  align-items: center; gap: clamp(20px,4.4vw,100px);
  min-height: min(860px,100svh); height: auto; max-height: none;
  padding: 138px var(--gutter) 68px;
  background: var(--dark); color: #f7eee0;
}
.hero-content {padding: 0; max-width: none; min-width: 0;}
.hero .eyebrow {color: #d1c5b9; font-size: 11px; font-weight: 700;}
.hero h1 {font: 720 clamp(43px,5.3vw,96px)/.99 var(--sans); letter-spacing: -.082em; margin: 23px 0; transform: none;}
.hero h1 strong {display: block; color: var(--signal); font-weight: 720;}
.hero-lead {max-width: 415px; color: #dcd2c5; font-size: 16px; line-height: 1.7;}
.hero-action {display: inline-flex; align-items: center; gap: 30px; background: #f6eadd; color: var(--dark); padding: 12px 16px; margin-top: 27px; font-size: 13px; font-weight: 750;}
.hero-action:hover {background: var(--signal);}
.hero-action b {font-size: 18px;}
.hero-index {margin-top: 30px; font: 10px/1.4 monospace; text-transform: uppercase; letter-spacing: .13em; color: #c5b8aa;}
.intro {background: #f6f2e9;}
.intro .section-label,.section-label {margin-bottom: 35px; font-weight: 700;}
.expertise,.process {background: #eae6de;}
.section-heading>p,.sector-heading>p {font-size: 15px; max-width: 340px;}
.service-layout {grid-template-columns: minmax(0,.78fr) minmax(0,1.22fr); gap: 4vw;}
.service-tabs {padding: 0;}
.service-tabs>button {padding-top: 18px; padding-bottom: 18px;}
.service-tabs>button[aria-selected=true] {background: #eec5b5;}
.service-tabs>button>span:nth-child(2) {font-weight: 700;}
.service-panel {padding: clamp(22px,3vw,48px); min-height: 440px; border: 1px solid var(--line);}
.service-panel .eyebrow {color: #854634; font-weight: 800; font-size: 10px;}
.service-panel h3 {font-weight: 720; font-size: clamp(28px,3vw,49px); letter-spacing: -.055em; max-width: 580px;}
.service-panel p,.service-panel ul {font-size: 14px;}
.service-panel ul {list-style: none; padding: 0;}
.service-panel li {border-top: 1px solid var(--line); margin: 0; padding: 7px 0 7px 18px; position: relative;}
.service-panel li:before {content: ''; width: 5px; height: 5px; position: absolute; top: 17px; left: 1px; background: #a75842;}
.sector-list h3 {font-weight: 680; letter-spacing: -.04em; font-size: clamp(23px,2.3vw,35px);}
.sector-list p,.about-copy>p,.process-steps p {font-size: 14px;}
.idea {background: var(--dark); color: #f7eee0; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 7vw; align-items: center;}
.idea .eyebrow {color: var(--signal); margin-bottom: 18px;}
.idea-copy>p:not(.eyebrow) {margin-top: 22px; max-width: 510px; color: #dfd5ca;}
.idea .link {border-color: #e5ddd77a; margin-top: 15px;}
.idea-image {position: relative; border: 1px solid #efdecb37;}
.idea-image img {width: 100%; height: auto;}
.idea-image span {position: absolute; bottom: 0; left: 0; padding: 9px 12px; background: #17191b; color: #e6d4c3; font: 10px monospace; letter-spacing: .1em;}
.personal-signature {background: #e4d9cd;}
.signature-monogram {font-weight: 780; color: #855648;}
.signature-mark {fill: #855648;}
.process-steps h3 {font-size: clamp(24px,2.7vw,35px); font-weight: 720; letter-spacing: -.05em;}
.contact-title {font-size: clamp(42px,7.1vw,115px);}
.contact-title .heading-accent {color: var(--signal);}
.faq {background: var(--paper); border-top: 1px solid var(--line);}
.faq-layout {display: grid; grid-template-columns: .72fr 1.28fr; gap: 5vw;}
.faq details {border-top: 1px solid var(--line);}
.faq details:last-child {border-bottom: 1px solid var(--line);}
.faq summary {display: grid; grid-template-columns: 1fr 23px; gap: 12px; align-items: center; list-style: none; cursor: pointer; font-weight: 750; padding: 16px 0;}
.faq summary::-webkit-details-marker {display: none;}
.faq summary:after {content: '+'; font: 22px monospace; color: #854634;}
.faq details[open] summary:after {content: '−';}
.faq details p {font-size: 14px; padding: 0 24px 17px 0;}
.dialog-shell h2 {font-weight: 720; letter-spacing: -.065em;}
@media(max-width:960px) {
  .hero {gap: 25px; padding-top: 125px; min-height: 620px;}
  .hero h1 {font-size: clamp(42px,6vw,62px);}
}
@media(max-width:760px) {
  .hero {grid-template-columns: 1fr; padding-top: 109px; padding-bottom: 30px; min-height: 0; gap: 24px;}
  .hero h1 {font-size: clamp(39px,9.9vw,68px); margin: 15px 0;}
  .hero-lead {font-size: 14px;}
  .hero-index {display: none;}
  .hero-action {margin-top: 16px;}
  .service-layout,.idea,.faq-layout {grid-template-columns: 1fr;}
  .service-panel {min-height: 0;}
  .section-heading>p,.sector-heading>p {font-size: 14px;}
  .idea {gap: 25px;}
  .navigation {background: #17191b;}
}
.quick {padding-top: 24px; padding-bottom: 32px; background: #eae6de;}
.quick>.eyebrow {font-weight: 750; color: #68382d; margin-bottom: 12px;}
.quick-links {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);}
.quick-links a {display: grid; grid-template-columns: 1fr auto; gap: 3px 12px; padding: 15px 18px; align-items: center; transition: background-color .25s;}
.quick-links a:first-child {padding-left: 0;}
.quick-links a+a {border-left: 1px solid var(--line);}
.quick-links a:hover,.quick-links a:focus-visible {background: #f4d4c8;}
.quick-links small {grid-column: 1/-1; font: 10px/1.4 monospace; text-transform: uppercase;}
.quick-links strong {font-size: clamp(14px,1.4vw,20px); font-weight: 740; letter-spacing: -.035em;}
.quick-links b {font-size: 18px; font-weight: 500;}
@media(max-width:600px) {
  .quick-links {grid-template-columns: 1fr;}
  .quick-links a,.quick-links a:first-child {padding: 10px 2px;}
  .quick-links a+a {border-left: 0; border-top: 1px solid var(--line);}
}
@media(max-width:760px) {
  .about-grid,.intro-bottom,.process-steps {grid-template-columns: minmax(0,1fr);}
  .display,.statement,.contact-title {overflow-wrap: anywhere;}
}
@media(max-width:360px) {
  .display,.statement,.contact-title {font-size: 36px;}
}

.standards,.field-notes {border-top: 1px solid #bfb2a2;}
.standards {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  gap: clamp(28px, 7vw, 112px);
  background: #e8e2d8;
  color: #241e19;
}
.standards h2,.field-notes h2 {
  margin: .22em 0 .33em;
  font-size: clamp(2.15rem, 4.6vw, 4.65rem);
  font-weight: 600;
  letter-spacing: -.074em;
  line-height: 1;
  text-wrap: balance;
}
.standards-intro > p:last-child,.field-heading > p {max-width: 40ch;}
.standards-list {list-style: none; margin: 0; padding: 0;}
.standards-list > li {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 14px;
  padding: 20px 0;
  border-top: 1px solid #bfb2a2;
}
.standards-list > li:last-child {border-bottom: 1px solid #bfb2a2;}
.edition-index {font-size: .75rem; color: #7a4b30; margin-top: 5px;}
.standards-list h3 {font-size: 1.05rem; margin: 0 0 6px;}
.standards-list p {margin: 0; line-height: 1.6;}
.field-notes {background: #f4eee5; color: #241e19;}
.field-heading {
  display: flex;
  align-items: end;
  flex-wrap: wrap;
  justify-content: space-between;
  column-gap: 24px;
  margin-bottom: 30px;
}
.field-heading > p {margin: 0 0 15px;}
.field-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  align-items: start;
}
.field-card {border: 1px solid #c7b6a3; background: #efe7da;}
.field-card summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 24px;
  align-items: start;
  gap: 8px 12px;
  cursor: pointer;
  list-style: none;
  min-height: 136px;
  padding: 21px;
}
.field-card summary::-webkit-details-marker {display: none;}
.field-card summary:hover,.field-card[open] summary {background: #e9ddcd;}
.field-card summary > .eyebrow {grid-column: 1 / -1; color: #75472e;}
.field-card-title {font-size: clamp(1.05rem, 1.55vw, 1.4rem); line-height: 1.2;}
.field-arrow {font-size: 1.05rem; color: #75472e; text-align: right;}
.field-card[open] .field-arrow {transform: rotate(90deg);}
.field-card ol {margin: 0; padding: 0 21px 0 40px;}
.field-card li {padding: 13px 0; border-top: 1px solid #c7b6a3; line-height: 1.55;}
@media (max-width: 760px) {
  .standards,.field-grid {grid-template-columns: 1fr;}
  .field-card summary {min-height: 95px;}
}
