:root {
  --forest: #173f36;
  --forest-2: #234f44;
  --ink: #1b2824;
  --sage: #dce6df;
  --sage-2: #eef2ee;
  --sand: #f4f0e6;
  --paper: #fbfaf6;
  --coral: #ce6844;
  --gold: #d7b86e;
  --line: rgba(27, 40, 36, .16);
  --muted: #66736e;
  --shadow: 0 24px 70px rgba(21, 52, 44, .12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: "Segoe UI", Arial, sans-serif; line-height: 1.55; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
.skip-link { position: fixed; left: 12px; top: -100px; z-index: 100; background: white; padding: 10px 14px; }
.skip-link:focus { top: 12px; }
.section-shell { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.section { padding-block: 112px; }
.site-header { height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 0 max(24px, calc((100vw - 1180px)/2)); background: rgba(251,250,246,.92); border-bottom: 1px solid var(--line); backdrop-filter: blur(15px); position: sticky; top: 0; z-index: 20; }
.brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; line-height: 1; }
.brand-mark { width: 33px; height: 38px; display: flex; align-items: end; gap: 4px; transform: skew(-10deg); }
.brand-mark i { display: block; width: 13px; background: var(--forest); border-radius: 2px 2px 0 0; }
.brand-mark i:first-child { height: 25px; }.brand-mark i:last-child { height: 38px; background: var(--coral); }
.brand strong { display: block; font-size: 15px; letter-spacing: .12em; }.brand small { display: block; margin-top: 6px; color: var(--muted); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.site-nav { display: flex; align-items: center; gap: 28px; font-size: 14px; font-weight: 650; }
.site-nav a { text-decoration: none; }.site-nav a:hover { color: var(--coral); }
.site-nav .nav-cta { border: 1px solid var(--forest); padding: 10px 16px; }.site-nav .nav-cta:hover { color: white; background: var(--forest); }
.nav-toggle { display: none; border: 1px solid var(--line); background: transparent; padding: 8px 11px; }

.hero { min-height: 690px; display: grid; grid-template-columns: 1.04fr .96fr; align-items: center; gap: 60px; padding-block: 72px 82px; }
.kicker { display: flex; align-items: center; gap: 10px; margin: 0 0 20px; color: var(--forest); font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.kicker span { width: 24px; height: 2px; background: var(--coral); }.kicker.light { color: #f4f0e6; }
h1, h2, h3 { font-family: Georgia, "Times New Roman", serif; font-weight: 500; line-height: 1.05; }
h1 { max-width: 720px; margin: 0; font-size: clamp(52px, 6vw, 82px); letter-spacing: -.045em; }
h1 em { color: var(--coral); font-weight: inherit; }
.hero-lead { max-width: 650px; margin: 30px 0; color: #4e5d57; font-size: 20px; line-height: 1.65; }
.hero-actions { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
.button { display: inline-flex; justify-content: center; align-items: center; gap: 28px; min-height: 52px; padding: 0 22px; text-decoration: none; font-weight: 750; font-size: 14px; transition: .2s ease; }
.button:hover { transform: translateY(-2px); box-shadow: 0 12px 25px rgba(23,63,54,.17); }.button-primary { color: white; background: var(--forest); }.button-coral { color: white; background: var(--coral); }
.text-link { font-weight: 750; text-underline-offset: 5px; }.text-link span { color: var(--coral); margin-left: 8px; }
.trust-list { list-style: none; display: flex; gap: 30px; margin: 52px 0 0; padding: 22px 0 0; border-top: 1px solid var(--line); font-size: 13px; font-weight: 700; }.trust-list span { display: block; margin-bottom: 2px; color: var(--coral); font-size: 10px; }
.hero-visual { position: relative; min-height: 560px; background: var(--sage-2); overflow: hidden; box-shadow: var(--shadow); }.hero-visual::after { content: ""; position: absolute; inset: 0; border: 1px solid rgba(23,63,54,.1); pointer-events: none; }.hero-visual svg { width: 100%; height: 100%; display: block; padding-top: 25px; }
.visual-caption { position: absolute; left: 24px; top: 20px; font-size: 10px; letter-spacing: .13em; text-transform: uppercase; font-weight: 800; }.visual-note { position: absolute; right: 0; bottom: 0; width: 270px; padding: 24px; color: white; background: var(--forest); font-size: 13px; }.visual-note strong { color: #f3cf8c; font-family: Georgia, serif; font-size: 20px; font-weight: 500; }
.signal-band { padding: 22px max(24px, calc((100vw - 1180px)/2)); color: white; background: var(--forest); display: flex; align-items: center; justify-content: space-between; gap: 30px; }.signal-band p { margin: 0; font-family: Georgia, serif; font-size: 17px; }.signal-band div { display: flex; gap: 10px; flex-wrap: wrap; justify-content: end; }.signal-band span { padding: 6px 10px; border: 1px solid rgba(255,255,255,.22); font-size: 11px; letter-spacing: .04em; }

.section-intro { max-width: 760px; margin-bottom: 56px; }.section-intro h2, .tool-copy h2, .profile-copy h2, .fit-box h2, .contact-section h2 { margin: 0 0 24px; font-size: clamp(40px, 5vw, 62px); letter-spacing: -.035em; }.section-intro > p:last-child { max-width: 680px; color: var(--muted); font-size: 18px; }.section-intro.split { max-width: none; display: grid; grid-template-columns: 1.2fr .8fr; gap: 80px; align-items: end; }.section-intro.split > p { margin: 0 0 8px; }
.service-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }.service-card { min-height: 475px; padding: 38px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); position: relative; display: flex; flex-direction: column; background: #fff; }.service-card.featured { background: var(--sand); }.service-card.dark { color: white; background: var(--forest); }.service-no { position: absolute; right: 30px; top: 28px; color: var(--coral); font: 32px Georgia, serif; }.service-tag { color: var(--coral); font-size: 11px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }.service-card h3 { max-width: 480px; margin: 24px 0 18px; font-size: 36px; }.service-card > p:not(.service-tag) { max-width: 560px; color: var(--muted); }.service-card.dark > p:not(.service-tag) { color: #c4d3ce; }.service-card ul { margin: 18px 0 25px; padding: 0; list-style: none; }.service-card li { padding: 9px 0; border-bottom: 1px solid var(--line); font-size: 14px; }.service-card.dark li { border-color: rgba(255,255,255,.14); }.service-card li::before { content: "→"; margin-right: 10px; color: var(--coral); }.price { margin-top: auto; display: flex; align-items: end; justify-content: space-between; gap: 24px; }.price span { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }.service-card.dark .price span { color: #9cb2ab; }.price strong { font: 23px Georgia, serif; white-space: nowrap; }.price-note { margin: 16px 0 0; color: var(--muted); font-size: 12px; }

.tool-stage { color: white; background: #203b35; overflow: hidden; }.tool-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; align-items: center; }.tool-copy h2 { max-width: 600px; }.tool-copy > p:not(.kicker,.fine-print) { max-width: 600px; color: #c0cfca; font-size: 18px; }.tool-features { display: grid; gap: 9px; margin: 26px 0 34px; color: #dbe5e1; font-size: 13px; }.tool-features span::first-letter { color: var(--gold); }.fine-print { max-width: 520px; margin-top: 18px; color: #92aaa2; font-size: 11px; }
.matrix-preview { background: #faf9f4; color: var(--ink); box-shadow: 0 30px 80px rgba(0,0,0,.3); transform: rotate(1.5deg); }.preview-top { height: 52px; padding: 0 20px; display: flex; align-items: center; border-bottom: 1px solid #d8ddd9; font-size: 11px; font-weight: 800; letter-spacing: .08em; }.preview-top span { margin-right: auto; }.preview-top i { width: 8px; height: 8px; margin-left: 6px; background: #c8d4cf; border-radius: 50%; }.preview-top i:first-of-type { background: var(--coral); }.preview-body { height: 390px; margin: 24px 30px; position: relative; background: repeating-linear-gradient(0deg, transparent 0 76px, rgba(23,63,54,.12) 77px), repeating-linear-gradient(90deg, transparent 0 108px, rgba(23,63,54,.12) 109px), linear-gradient(135deg,#fff 10%,#e8efe9 100%); border-left: 1px solid var(--forest); border-bottom: 1px solid var(--forest); }.preview-axis { position: absolute; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }.preview-axis.x { bottom: -22px; right: 0; }.preview-axis.y { left: -28px; top: 0; transform: rotate(-90deg) translateX(-100%); transform-origin: left top; }.threshold-v,.threshold-h { position: absolute; border-color: rgba(206,104,68,.55); border-style: dashed; }.threshold-v { top: 0; bottom: 0; left: 58%; border-width: 0 0 0 1px; }.threshold-h { left: 0; right: 0; top: 42%; border-width: 1px 0 0; }.plot { position: absolute; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--forest); font: 12px Georgia,serif; box-shadow: 0 8px 20px rgba(23,63,54,.2); }.p1{right:14%;top:13%}.p2{left:48%;top:29%;background:var(--coral)}.p3{right:26%;bottom:22%}.p4{left:18%;bottom:18%;background:#8aa398}.p5{left:31%;top:15%;background:#d6ae60;color:#243b35}.preview-stats { display: grid; grid-template-columns: repeat(3,1fr); padding: 22px 30px; gap: 10px; background: #eef2ee; }.preview-stats span { color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }.preview-stats b { display: block; color: var(--forest); font: 28px Georgia,serif; }

.process-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }.process-list li { display: grid; grid-template-columns: 100px 1fr; gap: 30px; padding: 30px 0; border-bottom: 1px solid var(--line); }.process-list > li > span { color: var(--coral); font: 25px Georgia,serif; }.process-list h3 { margin: 0 0 7px; font-size: 26px; }.process-list p { margin: 0; color: var(--muted); }
.profile-section { background: var(--sage-2); }.profile-grid { display: grid; grid-template-columns: minmax(260px,.72fr) minmax(0,1.28fr); gap: 90px; align-items: stretch; }.profile-card { min-height: 540px; padding: 44px; display: flex; flex-direction: column; justify-content: space-between; color: white; background: linear-gradient(145deg,#2f5d51,#173f36); box-shadow: var(--shadow); }.monogram { width: 150px; height: 150px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; font: 58px Georgia,serif; color: #e8ce95; }.profile-person h3 { margin: 0 0 14px; color: white; font: 30px/1.02 Georgia,serif; }.profile-person h3 span { display: block; }.profile-person p { margin: 0; color: #b8cbc4; font: 13px/1.65 "Segoe UI",Arial,sans-serif; }.profile-copy { align-self: center; }.profile-heading { margin-bottom: 30px; }.profile-heading h2 { margin-bottom: 0; }.profile-lead { max-width: 720px; color: var(--forest); font: 23px/1.5 Georgia,serif; }.profile-copy > p:not(.profile-lead) { max-width: 760px; color: var(--muted); }.credentials { display: flex; gap: 8px; flex-wrap: wrap; margin: 28px 0 0; padding: 0; list-style: none; }.credentials li { padding: 8px 11px; border: 1px solid var(--line); background: white; font-size: 11px; font-weight: 700; }
.fit-box { padding: 66px; display: grid; grid-template-columns: 1.2fr .8fr; gap: 80px; color: white; background: var(--coral); }.fit-box h2 { margin-bottom: 0; }.fit-box ul { list-style: none; padding: 0; margin: 0; align-self: end; }.fit-box li { padding: 13px 0; border-bottom: 1px solid rgba(255,255,255,.28); }.fit-box li::before { content: "↗"; margin-right: 12px; }
.contact-section { padding-block: 100px; display: grid; grid-template-columns: 1.15fr .85fr; gap: 80px; align-items: start; }.contact-section > div:first-child > p:last-child { max-width: 650px; color: var(--muted); font-size: 18px; }.contact-card { padding: 34px; background: var(--sand); border: 1px solid var(--line); }.contact-card p { margin: 0 0 6px; color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .1em; }.contact-card a { display: flex; justify-content: space-between; text-decoration: none; font: 21px Georgia,serif; }.contact-card a span { color: var(--coral); }.contact-card hr { margin: 28px 0; border: 0; border-top: 1px solid var(--line); }.contact-card small { display: block; margin-top: 28px; color: var(--muted); }
.site-footer { padding: 60px max(24px, calc((100vw - 1180px)/2)); color: #b9c8c2; background: #112c25; display: grid; gap: 18px; }.footer-brand strong { display: block; color: white; letter-spacing: .1em; }.footer-brand span { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }.site-footer p { max-width: 760px; margin: 0; font-size: 13px; }.site-footer nav { display: flex; gap: 24px; }.site-footer nav a { font-size: 12px; }.legal-note { max-width: 850px; font-size: 11px; }.site-footer > small { padding-top: 20px; border-top: 1px solid rgba(255,255,255,.12); }

.monogram { align-self: center; }
.profile-card.with-photo { width: 100%; max-width: 380px; padding: 0; overflow: hidden; }
.profile-photo-wrap { height: 370px; margin: 0; overflow: hidden; background: #d8d0c8; }
.profile-photo { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 22%; filter: saturate(.82) contrast(1.03); }
.profile-card.with-photo .profile-person { padding: 30px 34px 36px; }

@media (max-width: 720px) {
  .profile-card.with-photo { min-height: 0; }
  .profile-photo-wrap { height: min(480px, 120vw); }
}

/* Assessment application */
.tool-page { background: #edf1ed; }.tool-page .topbar { min-height: 78px; padding: 15px 24px; display: flex; align-items: center; justify-content: space-between; gap: 20px; color: white; background: var(--forest); position: sticky; top: 0; z-index: 10; }.tool-page .topbar-brand { color: inherit; text-decoration: none; }.tool-page .topbar-brand .eyebrow { color: #e8ce95; margin-bottom: 4px; }.tool-page .topbar h1 { font: 26px Georgia,serif; letter-spacing: -.01em; }.tool-page .topbar-controls { display: flex; align-items: center; }.tool-page .language-control { display: flex; align-items: center; gap: 8px; color: #c3d2cd; font-size: 12px; font-weight: 700; }.tool-home-link { color: white; text-decoration: none; font-size: 12px; font-weight: 700; border: 1px solid rgba(255,255,255,.25); padding: 8px 12px; margin-left: 14px; }.tool-page button { border: 0; min-height: 40px; padding: 0 14px; color: white; background: var(--forest); cursor: pointer; font-weight: 700; }.tool-page button:hover { filter: brightness(1.08); }.tool-page button.ghost,.tool-page .tab { color: var(--ink); background: white; border: 1px solid var(--line); }.tool-page .app-shell { display: grid; grid-template-columns: minmax(270px,330px) minmax(0,1fr); min-height: calc(100vh - 78px); }.tool-page .sidebar { padding: 20px; border-right: 1px solid var(--line); }.tool-page .panel,.tool-page .matrix-panel,.tool-page .summary-panel,.tool-page .method-block,.tool-page .topic-card { background: rgba(255,255,255,.95); border: 1px solid var(--line); box-shadow: 0 8px 24px rgba(23,63,54,.06); }.tool-page .panel { padding: 18px; margin-bottom: 14px; }.tool-page .note { background: #fff8e9; border-color: #dfcfa7; }.tool-page h2 { margin: 0 0 14px; font: 20px Georgia,serif; }.tool-page h3 { font-family: Georgia,serif; }.tool-page label { display: grid; gap: 6px; color: var(--muted); font-size: 12px; font-weight: 700; margin-bottom: 12px; }.tool-page input,.tool-page select,.tool-page textarea { width: 100%; min-height: 38px; padding: 8px 10px; color: var(--ink); background: white; border: 1px solid var(--line); border-radius: 0; }.tool-page input[type="range"] { accent-color: var(--coral); padding: 0; }.tool-page .checkline { display: flex; align-items: center; gap: 8px; color: var(--ink); }.tool-page .checkline input { width: 18px; min-height: 18px; }.tool-page .workspace { min-width: 0; padding: 20px; }.tool-page .workspace-toolbar { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }.tool-page .top-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 6px; border: 1px solid var(--line); background: rgba(255,255,255,.5); }.tool-page .action-group { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }.tool-page .action-label { color: var(--muted); font-size:10px; font-weight:800; text-transform:uppercase; }.tool-page .button-row,.tool-page .tabs,.tool-page .legend { display:flex; gap:8px; flex-wrap:wrap; }.tool-page .tabs { margin-left:auto; }.tool-page .tab.active { color:white; background:var(--coral); border-color:var(--coral); }.tool-page .view { display:none; }.tool-page .view.active { display:block; }.tool-page .matrix-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,320px); gap:16px; }.tool-page .matrix-panel,.tool-page .summary-panel,.tool-page .method-block { padding:18px; }.tool-page .section-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; margin-bottom:14px; }.tool-page .eyebrow { margin:0 0 4px; color:var(--coral); font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.tool-page .legend { color:var(--muted); font-size:11px; font-weight:700; }.tool-page .dot { display:inline-block; width:9px; height:9px; margin-right:4px; border-radius:50%; }.tool-page .dot.material{background:var(--forest)}.tool-page .dot.monitor{background:var(--gold)}.tool-page .dot.optional{background:#7e9b91}.tool-page canvas { display:block; width:100%; max-width:100%; aspect-ratio:1120/760; background:#fff; border:1px solid var(--line); }.tool-page .stats { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin:0 0 18px; }.tool-page .stats div { padding:11px; background:var(--sage-2); }.tool-page .stats dt { color:var(--muted); font-size:10px; font-weight:800; }.tool-page .stats dd { margin:3px 0 0; font:24px Georgia,serif; }.tool-page .material-list { padding-left:20px; color:var(--muted); }.tool-page .topic-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }.tool-page .topic-card { padding:16px; }.tool-page .topic-head { display:grid; grid-template-columns:1fr 38px; gap:10px; margin-bottom:12px; }.tool-page .topic-head>div { display:grid; grid-template-columns:92px minmax(0,1fr); gap:8px; }.tool-page .topic-head input { font-weight:800; }.tool-page .icon-button { padding:0; color:#a8442f; background:#f6e5df; }.tool-page .field-grid,.tool-page .score-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.tool-page fieldset { border:1px solid var(--line); padding:12px; margin:0 0 12px; }.tool-page legend { color:var(--forest); font-size:12px; font-weight:800; }.tool-page .score-grid label { grid-template-columns:118px 1fr; align-items:center; margin-bottom:7px; }.tool-page .slider-control { display:grid; grid-template-columns:minmax(0,1fr) 30px; align-items:center; gap:8px; }.tool-page .slider-value { display:grid; place-items:center; min-width:30px; height:28px; background:var(--sage-2); color:var(--ink); font-size:11px; font-weight:800; }.tool-page .card-footer { display:flex; justify-content:space-between; gap:8px; }.tool-page .scoreBadge,.tool-page .materialityBadge { padding:7px 10px; background:var(--sage-2); font-size:11px; }.tool-page .materialityBadge.material{background:#dcece2;color:#155c40}.tool-page .materialityBadge.monitor{background:#faedcf;color:#754a12}.tool-page .materialityBadge.optional{background:#e5eeeb;color:#315a50}.tool-page .method-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.tool-page .method-block p,.tool-page .method-block li { color:var(--muted); font-size:13px; line-height:1.6; }.tool-page .table-tools { margin-bottom:16px; }.tool-page .table-tools input { max-width:760px; }

@media(max-width:1000px){.site-nav{display:none;position:absolute;left:0;right:0;top:84px;padding:22px 24px;flex-direction:column;align-items:stretch;background:var(--paper);border-bottom:1px solid var(--line)}.site-nav.open{display:flex}.nav-toggle{display:block}.hero{grid-template-columns:1fr;gap:30px}.hero-visual{min-height:500px}.signal-band{align-items:flex-start;flex-direction:column}.signal-band div{justify-content:flex-start}.tool-grid,.profile-grid,.contact-section{grid-template-columns:1fr}.tool-grid{gap:60px}.profile-grid{gap:50px}.matrix-preview{max-width:720px}.tool-page .app-shell,.tool-page .matrix-layout,.tool-page .method-grid{grid-template-columns:1fr}.tool-page .sidebar{border-right:0;border-bottom:1px solid var(--line)}.tool-page .topic-grid{grid-template-columns:1fr}}
@media(max-width:720px){.section-shell{width:min(100% - 30px,1180px)}.section{padding-block:72px}.site-header{height:72px;padding-inline:15px}.site-nav{top:72px}.hero{min-height:0;padding-block:56px}.hero-lead{font-size:17px}.hero-visual{min-height:420px}.trust-list{gap:18px}.signal-band{padding-inline:15px}.section-intro.split,.fit-box{grid-template-columns:1fr;gap:30px}.service-grid{grid-template-columns:1fr}.service-card{min-height:430px;padding:28px}.fit-box{padding:36px 28px}.profile-card{min-height:420px}.tool-page .topbar{align-items:flex-start;position:static}.tool-page .topbar-controls{flex-direction:column;align-items:flex-end;gap:6px}.tool-home-link{margin-left:0}.tool-page .workspace-toolbar{align-items:stretch;flex-direction:column}.tool-page .tabs{margin-left:0}.tool-page .tab{flex:1}.tool-page .field-grid,.tool-page .score-grid,.tool-page .topic-head>div{grid-template-columns:1fr}.tool-page .score-grid label{grid-template-columns:1fr}.tool-page .section-heading,.tool-page .card-footer{flex-direction:column}.tool-page .workspace,.tool-page .sidebar{padding:12px}}
@media(max-width:480px){h1{font-size:47px}.hero-visual{min-height:350px}.visual-note{width:220px;padding:16px}.service-card h3{font-size:31px}.price{align-items:flex-start;flex-direction:column}.preview-body{height:300px;margin-inline:20px}.preview-stats{padding-inline:20px}.contact-card a{font-size:17px}.trust-list{display:grid;grid-template-columns:repeat(3,1fr)}.tool-page .topbar h1{font-size:20px}.tool-page .topbar{padding:12px}.tool-page .language-control{font-size:10px}}
@media print{.site-header,.hero-actions,.signal-band,.site-footer,.tool-page .top-actions,.tool-page .tabs,.tool-page .sidebar,.tool-page .table-tools,.tool-page .remove{display:none!important}.tool-page .app-shell,.tool-page .matrix-layout{display:block}.tool-page .workspace{padding:0}.tool-page .view{display:block;break-after:page}}
