:root {
  --ivory: #f7f3ed;
  --ivory-deep: #efe9df;
  --teal: #073e40;
  --teal-dark: #052f31;
  --teal-soft: #24575a;
  --gold: #b87925;
  --gold-light: #d29b45;
  --ink: #18262c;
  --muted: #596467;
  --line: #d8cec0;
  --card: #fbf8f3;
  --serif: Georgia, "Iowan Old Style", "Baskerville", "Times New Roman", serif;
  --sans: "Aptos", "Segoe UI", Arial, sans-serif;
  --max: 1240px;
  --shadow: 0 18px 40px rgba(5, 47, 49, .08);
  --hero-text-share: 40%;
  --hero-image-share: 60%;
  --hero-diagonal: 8%;
  --hero-text-max: 560px;
  --hero-body-max: 520px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 112px; }
body {
  margin: 0;
  background: var(--ivory);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.65;
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
.container { max-width: var(--max); margin: 0 auto; padding: 0 38px; }
.site-header {
  height: 106px;
  border-bottom: 1px solid var(--line);
  background: rgba(247,243,237,.96);
  display: flex;
  align-items: center;
  position: sticky; top: 0; z-index: 10;
  transition: height 250ms ease, background-color 250ms ease, box-shadow 250ms ease;
}
.header-row { display:flex; align-items:center; justify-content:space-between; gap:32px; width:100%; }
.brand img {
  width: 362px;
  height: auto;
  transition: width 250ms ease;
}

/* Scrolled Header Styles */
body.header-scrolled .site-header {
  height: 72px;
  box-shadow: 0 4px 20px rgba(5, 47, 49, 0.06);
  background: rgba(247, 243, 237, 0.98);
}
body.header-scrolled .brand img {
  width: 290px;
}
body.header-scrolled .nav .button {
  min-height: 46px;
  padding: 0 20px;
  font-size: 12px;
}
.nav { display:flex; align-items:center; gap:31px; font-size: 14px; text-transform: uppercase; font-weight: 500; }
.nav a:not(.button) { position:relative; padding: 15px 0; }
.nav a.active:not(.button)::after { content:""; position:absolute; left:0; right:0; bottom:0; height:3px; background:var(--gold); }
.nav-menu-toggle {
  display:none;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:44px;
  padding:0 16px;
  border:1px solid var(--teal);
  background:transparent;
  color:var(--teal);
  font:inherit;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
}
.nav-menu-toggle .menu-mark {
  position:relative;
  width:18px;
  height:10px;
  display:inline-block;
}
.nav-menu-toggle .menu-mark::before,
.nav-menu-toggle .menu-mark::after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  height:2px;
  background:var(--gold);
  transition:transform 180ms ease, top 180ms ease, bottom 180ms ease;
}
.nav-menu-toggle .menu-mark::before { top:0; }
.nav-menu-toggle .menu-mark::after { bottom:0; }
body.nav-open .nav-menu-toggle .menu-mark::before { top:4px; transform:rotate(42deg); }
body.nav-open .nav-menu-toggle .menu-mark::after { bottom:4px; transform:rotate(-42deg); }
.nav-menu-toggle:focus-visible { outline:2px solid var(--gold-light); outline-offset:4px; }
.button {
  position:relative; overflow:hidden;
  display:inline-flex; align-items:center; gap:14px;
  min-height:58px; padding:0 25px;
  border:1px solid var(--teal);
  font-size:13px; font-weight:700; letter-spacing:.02em; text-transform:uppercase;
  box-shadow:none;
  transition: background-color 200ms ease, border-color 200ms ease, box-shadow 200ms ease, color 200ms ease, transform 200ms ease, min-height 250ms ease, padding 250ms ease, font-size 250ms ease;
}
.button,
.button:hover,
.button:focus-visible,
.button:active { transform:none; }
.button::after {
  content:""; position:absolute; left:0; right:0; bottom:0; height:3px; background:var(--gold-light);
  transform:scaleX(.22); transform-origin:left; transition:transform 200ms ease, background-color 200ms ease;
}
.button:hover::after,
.button:focus-visible::after { transform:scaleX(1); }
.button .arrow { display:inline-block; transition:transform 200ms ease; }
.button:hover .arrow,
.button:focus-visible .arrow { transform:translateX(5px); }
.button:focus-visible,
.text-link:focus-visible { outline:2px solid var(--gold-light); outline-offset:4px; }
.button-primary { background:var(--teal); border-color:var(--teal); color:var(--ivory); }
.button-primary:hover,
.button-primary:focus-visible { background:var(--teal-dark); border-color:var(--teal-dark); box-shadow:0 10px 22px rgba(5,47,49,.14); }
.button-secondary { background:rgba(251,248,243,.34); color:var(--teal); }
.button-secondary:hover,
.button-secondary:focus-visible { background:var(--teal); border-color:var(--teal); color:var(--ivory); }
.button-reversed { background:var(--ivory); border-color:var(--ivory); color:var(--teal-dark); }
.button-reversed:hover,
.button-reversed:focus-visible { background:#fff8eb; border-color:#fff8eb; color:var(--teal-dark); box-shadow:0 10px 24px rgba(0,0,0,.16); }
.arrow { color:var(--gold-light); font-size:22px; line-height:1; }
.eyebrow {
  color:var(--gold); font-size:14px; letter-spacing:.24em;
  font-weight:700; text-transform:uppercase; margin:0 0 18px;
}
h1,h2,h3 { font-family: var(--serif); color:var(--teal-dark); font-weight:600; line-height:1.14; margin:0; }
h1 { font-size: clamp(46px, 4.1vw, 64px); letter-spacing: -.035em; }
h2 { font-size: clamp(34px, 3vw, 46px); letter-spacing:-.025em; }
h3 { font-size:26px; letter-spacing:-.02em; }
p { margin:0; }
.hero { border-bottom:1px solid var(--line); }
.hero-grid {
  display:grid; grid-template-columns: 49% 51%;
  min-height:640px;
}
.hero-content { padding:68px 42px 70px 0; }
.hero-content h1 span { display:block; }
.hero-dot { color:var(--gold); }
.hero-intro { max-width:510px; font-size:18px; line-height:1.72; margin:34px 0 38px; }
.gold-rule { width:60px; height:2px; background:var(--gold); margin:28px 0; }
.hero-actions { display:flex; gap:18px; flex-wrap:wrap; }
.hero-visual {
  position:relative; min-height:640px; overflow:hidden;
  clip-path: polygon(15% 0,100% 0,100% 100%,0 100%);
  background:
    linear-gradient(110deg, rgba(4,47,49,.15), rgba(4,47,49,.05)),
    linear-gradient(145deg, #b8c6c5 0%, #e9ccb0 29%, #35575a 30%, #203c43 58%, #b47a42 59%, #17383c 100%);
}
.hero-visual::before {
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(90deg, transparent 0 28%, rgba(247,243,237,.14) 28% 29%, transparent 29% 39%, rgba(247,243,237,.17) 39% 40%, transparent 40%),
    linear-gradient(0deg, rgba(7,62,64,.45), transparent 48%);
  opacity:.92;
}
.photo-pending {
  position:absolute; top:22px; right:25px; z-index:1; padding:8px 12px;
  border:1px solid rgba(255,255,255,.4); color:white;
  font-size:11px; letter-spacing:.12em; text-transform:uppercase; opacity:.72;
}
.hero-callout {
  position:absolute; z-index:2; right:0; bottom:42px;
  width:min(86%,590px); background:var(--teal); color:white;
  padding:25px 40px 25px 54px; font-size:20px; line-height:1.55;
}
.hero-callout::before { content:""; position:absolute; left:30px; top:25px; bottom:25px; width:2px; background:var(--gold); }
.credibility { border-bottom:1px solid var(--line); }
.credibility-row {
  display:grid; grid-template-columns:repeat(5,1fr);
  padding:34px 0; gap:0;
}
.cred {
  min-height:72px; display:flex; align-items:center; gap:18px; padding:0 22px;
  border-left:1px solid var(--line); font-size:13px; line-height:1.65;
}
.cred:first-child { border-left:0; padding-left:0; }
.line-icon { width:43px; height:43px; flex:0 0 43px; color:var(--teal); }
.section { padding:56px 0 64px; border-bottom:1px solid var(--line); }
.section-title {
  display:flex; align-items:center; gap:25px; justify-content:center;
  color:var(--gold); font-size:15px; font-weight:700; letter-spacing:.22em; text-transform:uppercase;
  margin-bottom:46px;
}
.section-title::before, .section-title::after { content:""; height:1px; background:var(--line); width:min(33vw,390px); }
.cards-three { display:grid; grid-template-columns:repeat(3,1fr); gap:0; }
.service-card { padding:0 36px; border-left:1px solid var(--line); }
.service-card:first-child { padding-left:0; border-left:0; }
.card-header { display:flex; gap:20px; align-items:flex-start; }
.icon-circle {
  height:76px; width:76px; flex:0 0 76px; border-radius:50%; background:#eae4da;
  display:flex; align-items:center; justify-content:center; color:var(--teal);
}
.service-card .line-icon { width:46px; height:46px; }
.service-card h3 { margin-top:8px; }
.service-card .gold-rule { margin:18px 0 23px; width:42px; }
.service-card p { color:var(--ink); font-size:15px; margin-left:96px; min-height:95px; }
.text-link {
  position:relative; display:inline-flex; gap:12px; align-items:center; margin:25px 0 0 96px;
  text-transform:uppercase; font-size:13px; font-weight:700; color:var(--teal);
  transition:color 200ms ease, transform 200ms ease;
}
.text-link::after {
  content:""; position:absolute; left:0; bottom:-5px; width:0; height:1px; background:var(--gold);
  transition:width 200ms ease;
}
.text-link:hover::after,
.text-link:focus-visible::after { width:calc(100% - 34px); }
.text-link .arrow { display:inline-block; transition:transform 200ms ease; }
.text-link:hover .arrow,
.text-link:focus-visible .arrow { transform:translateX(5px); }
.text-link-reversed { color:var(--ivory); }
.impact-grid { display:grid; grid-template-columns: repeat(4,1fr); gap:0; }
.impact-card { border-left:1px solid var(--line); padding:0 27px; }
.impact-card:first-child { padding-left:0; border-left:0; }
.impact-head { display:flex; align-items:center; gap:17px; margin-bottom:22px; }
.impact-square { background:var(--teal); color:white; width:62px; height:62px; display:flex; align-items:center; justify-content:center; }
.impact-square .line-icon { color:white; width:37px; height:37px; }
.impact-card h3 { font-size:23px; }
.impact-card p { font-size:14px; min-height:112px; }
.proof-note { color:var(--muted); font-style:italic; }
.cta-panel { background:var(--teal); color:white; padding:43px 0 34px; }
.cta-row { display:grid; grid-template-columns:1.55fr 1fr; gap:42px; align-items:center; }
.cta-panel .button { min-height:58px; padding:0 25px; justify-self:end; white-space:nowrap; }
.cta-message { display:flex; gap:28px; align-items:center; }
.cta-message .icon-circle { background:transparent; color:var(--gold-light); border:2px solid var(--gold); }
.cta-panel h2 { color:white; margin-bottom:12px; }
.cta-panel p { font-size:14px; max-width:490px; }
.contact-stack { border-left:2px solid var(--gold); padding-left:38px; display:grid; gap:16px; font-size:17px; }
.contact-item { display:flex; gap:16px; align-items:center; }
.contact-item .line-icon { width:28px; height:28px; color:var(--gold-light); }
.site-footer { background:var(--teal-dark); color:rgba(255,255,255,.9); }
.footer-row { display:flex; justify-content:space-between; align-items:center; min-height:88px; gap:28px; font-size:12px; text-transform:uppercase; letter-spacing:.1em; }
.footer-brand img { width:245px; }
.footer-links { display:flex; gap:24px; }
.footer-copy { letter-spacing:0; text-transform:none; }
.page-hero {
  display:grid; grid-template-columns:1.2fr .8fr; min-height:385px; background:var(--teal); color:white;
}
.page-hero-content { padding:58px 55px max(58px,6vw); }
.page-hero h1, .page-hero h2 { color:white; margin-bottom:20px; }
.page-hero p { max-width:620px; color:rgba(255,255,255,.89); font-size:18px; }
.page-hero-image {
  display:block;
  overflow:hidden;
  background:
    linear-gradient(90deg, rgba(7,62,64,.28), rgba(7,62,64,0)),
    linear-gradient(125deg, #e5ccac, #d3d5ce 35%, #456468 36%, #153b3c 100%);
  clip-path:polygon(16% 0,100% 0,100% 100%,0 100%);
}
.page-hero-image img {
  display:block;
  width:100%;
  height:100%;
  min-height:100%;
  object-fit:cover;
  object-position:center;
}
.content-narrow { max-width:850px; }
.prose h2 { margin:0 0 18px; }
.prose p { font-size:17px; margin-bottom:22px; }
.modules { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; margin-top:38px; }
.module { border:1px solid var(--line); background:var(--card); padding:29px; }
.module h3 { margin-bottom:13px; font-size:24px; }
.module p { font-size:15px; }
.outcome-list { margin:22px 0 0; padding:0; list-style:none; display:grid; gap:13px; }
.outcome-list li { padding-left:27px; position:relative; }
.outcome-list li::before { content:"✓"; position:absolute; left:0; color:var(--gold); font-weight:700; }
.split { display:grid; grid-template-columns:1.35fr .65fr; gap:46px; }
.sidebar-box { background:var(--ivory-deep); padding:30px; align-self:start; }
.sidebar-box h3 { font-size:23px; margin-bottom:16px; }
.steps { counter-reset:step; display:grid; gap:27px; margin-top:36px; }
.step { position:relative; padding-left:64px; }
.step::before { counter-increment:step; content:counter(step); position:absolute; left:0; top:0; width:40px; height:40px; border:1px solid var(--gold); border-radius:50%; display:grid; place-items:center; color:var(--gold); font-weight:700; }
.step h3 { font-size:23px; margin-bottom:5px; }
.form-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:54px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.field { display:flex; flex-direction:column; gap:6px; }
.field.full { grid-column:1/-1; }
label { font-size:13px; font-weight:600; color:var(--teal); }
input, textarea {
  font:inherit; background:white; border:1px solid var(--line); padding:13px 14px; min-height:48px;
}
textarea { min-height:135px; resize:vertical; }
.form-note { color:var(--muted); font-size:13px; margin:16px 0; }
.pending { font-size:12px; margin-top:12px; color:var(--gold); font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.utility-hero { padding:80px 0; }
.utility-hero h1 { margin-bottom:18px; }
.page-privacy .utility-hero-grid {
  display:grid;
  grid-template-columns:minmax(0, 1.05fr) minmax(300px, .95fr);
  gap:clamp(42px, 6vw, 76px);
  align-items:start;
}
.page-privacy .utility-hero-image {
  display:block;
  overflow:hidden;
  min-height:430px;
  border:1px solid var(--line);
  background:var(--ivory-deep);
}
.page-privacy .utility-hero-image img {
  display:block;
  width:100%;
  height:100%;
  min-height:430px;
  object-fit:cover;
  object-position:center;
}
.small-prose h2 { font-size:28px; margin:40px 0 12px; }
.small-prose p, .small-prose li { font-size:16px; }
.badge {
  display:inline-flex; padding:8px 12px; border:1px solid var(--gold); color:var(--gold);
  font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; margin-top:20px;
}
.page-focus-hub .page-hero-content p + p { margin-top:14px; }
.page-focus-hub .editorial-split {
  display:grid; grid-template-columns:.9fr 1.1fr; gap:72px; align-items:start;
}
.page-focus-hub .editorial-heading h2 { max-width:520px; }
.page-focus-hub .editorial-copy {
  border-left:1px solid var(--line); padding-left:46px; display:grid; gap:18px;
}
.page-focus-hub .editorial-copy p { max-width:760px; font-size:17px; line-height:1.78; }
.page-focus-hub .service-hub-section { background:var(--ivory); padding-top:64px; padding-bottom:88px; }
.page-focus-hub .service-value-stack { display:grid; gap:34px; }
.page-focus-hub .service-value-module {
  display:grid; grid-template-columns:minmax(260px, 32%) 1fr; gap:clamp(38px, 5vw, 72px);
  padding:clamp(34px, 5vw, 58px); border:1px solid var(--line);
  background:linear-gradient(90deg, rgba(251,248,242,.88), rgba(251,248,242,.56));
  box-shadow:0 18px 44px rgba(8,47,45,.06); align-items:stretch;
}
.page-focus-hub .service-value-aside {
  display:flex; flex-direction:column; align-items:flex-start; min-height:100%;
  padding-right:clamp(18px, 3vw, 34px); border-right:1px solid rgba(201,161,77,.32);
}
.page-focus-hub .service-value-aside h3 {
  margin:18px 0 16px; max-width:330px; font-size:30px; line-height:1.16;
}
.page-focus-hub .service-value-aside p {
  margin:0 0 30px; color:var(--ink); font-size:15px; line-height:1.68;
}
.page-focus-hub .service-value-link { margin-top:auto; }
.page-focus-hub .service-value-body {
  display:grid; align-content:start; gap:14px; max-width:830px;
}
.page-focus-hub .service-value-body p {
  margin:0; color:var(--ink); font-size:15px; line-height:1.72;
}
.page-focus-hub .service-value-body ul {
  margin:0 0 18px 1.1em; padding:0; color:var(--ink); font-size:15px;
}
.page-focus-hub .service-value-body li { margin-bottom:9px; line-height:1.58; }
.page-focus-hub .value-label {
  color:var(--teal); font-size:12px; font-weight:800; letter-spacing:.12em;
  text-transform:uppercase;
}
.page-focus-hub .value-outcome {
  margin-top:14px; padding-top:18px; border-top:1px solid rgba(201,161,77,.55);
  color:var(--teal); font-weight:700;
}
.page-focus-hub .value-outcome span {
  display:block; margin-bottom:7px; color:var(--gold); font-size:11px; font-weight:800;
  letter-spacing:.12em; text-transform:uppercase;
}
.page-focus-hub .lens-section { background:var(--ivory-deep); }
.page-focus-hub .lens-panel {
  max-width:940px; margin:0 auto; padding:42px 48px; border:1px solid var(--line);
  background:rgba(251,248,243,.72);
}
.page-focus-hub .lens-panel h2 { margin-bottom:20px; }
.page-focus-hub .lens-panel p:not(.eyebrow) { max-width:780px; font-size:17px; line-height:1.78; margin-bottom:16px; }
.page-focus-hub .lens-panel p:last-child { margin-bottom:0; }
.page-focus-hub .section-heading-left { max-width:820px; margin-bottom:38px; }
.page-focus-hub .section-heading-left h2 { margin-bottom:18px; }
.page-focus-hub .section-heading-left p { color:var(--ink); font-size:17px; line-height:1.78; }
.page-focus-hub .situation-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.page-focus-hub .situation-grid .module {
  position:relative; margin:0; padding:34px 36px 32px; border-color:var(--line);
  background:rgba(251,248,243,.72);
}
.page-focus-hub .situation-grid .module::before {
  content:""; position:absolute; left:0; right:0; top:0; height:3px; background:var(--gold);
}
.page-focus-hub .situation-grid .module h3 { margin-bottom:15px; font-size:24px; line-height:1.2; }
.page-focus-hub .cta-actions {
  display:flex; flex-direction:column; align-items:flex-start; gap:16px; justify-self:end;
  padding-top:6px;
}
.page-focus-hub .cta-actions .text-link { margin:0 0 0 2px; }
.page-focus-hub .cta-actions .cta-link {
  color:var(--ivory); font-size:14px; letter-spacing:.04em; line-height:1.2;
  padding:4px 0; opacity:1;
}
.page-focus-hub .cta-actions .cta-link::after { bottom:-2px; background:var(--gold-light); height:2px; }
.page-focus-hub .cta-actions .cta-link:hover,
.page-focus-hub .cta-actions .cta-link:focus-visible { color:white; }
.page-focus-hub .cta-actions .text-link .arrow { color:var(--gold-light); }
@media (max-width: 1030px) {
  .site-header { height:auto; padding:18px 0; }
  .header-row { flex-wrap:wrap; }
  .brand img { width:min(360px,70vw); }
  .nav { width:100%; justify-content:space-between; gap:12px; flex-wrap:wrap; }
  .nav-menu-toggle { display:inline-flex; order:1; flex:1 1 112px; }
  .nav .button { order:2; flex:1 1 190px; justify-content:center; padding:0 16px; }
  .nav a:not(.button) { display:none; }
  body.nav-open .nav a:not(.button) {
    order:3;
    display:flex;
    width:100%;
    min-height:42px;
    align-items:center;
    padding:10px 0;
    border-top:1px solid rgba(184,121,37,.28);
  }
  body.nav-open .nav a.active:not(.button)::after { display:none; }
  body.nav-open.header-scrolled .site-header { height:auto; }
  .hero-grid, .page-hero { grid-template-columns:1fr; }
  .hero-visual, .page-hero-image { min-height:430px; clip-path:none; }
  .page-hero-image img { min-height:430px; }
  .page-privacy .utility-hero-grid { grid-template-columns:1fr; gap:32px; }
  .page-privacy .utility-hero-image,
  .page-privacy .utility-hero-image img { min-height:360px; }
  .hero-content { padding-right:0; }
  .credibility-row { grid-template-columns:repeat(2,1fr); }
  .cred:nth-child(3), .cred:nth-child(5) { border-left:0; padding-left:0; }
  .cards-three, .impact-grid { grid-template-columns:1fr 1fr; gap:42px 0; }
  .page-focus-hub .editorial-split { grid-template-columns:1fr; gap:30px; }
  .page-focus-hub .editorial-copy { border-left:0; padding-left:0; }
  .page-focus-hub .service-value-module { grid-template-columns:1fr; }
  .page-focus-hub .service-value-aside { border-right:0; padding-right:0; }
  .page-focus-hub .service-value-link { margin-top:4px; }
  .page-focus-hub .situation-grid { grid-template-columns:1fr; }
  .page-focus-hub .cta-actions { justify-self:start; }
  .cta-row, .form-layout, .split { grid-template-columns:1fr; }
  .cta-panel .button { justify-self:start; }
}
@media (min-width: 721px) and (max-width: 1030px) {
  .page-change-management .page-hero,
  .page-process-improvement .page-hero,
  .page-program-leadership .page-hero,
  .page-contact .page-hero {
    grid-template-columns:1.08fr .92fr;
  }
  .page-change-management .page-hero-image,
  .page-process-improvement .page-hero-image,
  .page-program-leadership .page-hero-image,
  .page-contact .page-hero-image {
    min-height:auto;
    clip-path:polygon(16% 0,100% 0,100% 100%,0 100%);
  }
  .page-change-management .page-hero-image img,
  .page-process-improvement .page-hero-image img,
  .page-program-leadership .page-hero-image img,
  .page-contact .page-hero-image img {
    min-height:100%;
  }
  .page-privacy .utility-hero-grid {
    grid-template-columns:minmax(0, 1.05fr) minmax(300px, .95fr);
    gap:clamp(42px, 6vw, 76px);
  }
}

.cta-panel .cta-row .cta-actions {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
  justify-self: end;
  padding-top: 6px;
  flex-wrap: wrap;
}

.cta-panel .cta-row .cta-actions .button {
  flex: 0 0 260px;
  width: 260px;
  max-width: 100%;
  box-sizing: border-box;
  justify-content: center;
  gap: 14px;
}

.cta-panel .cta-row .cta-actions .button-secondary {
  border: 1px solid rgba(247, 243, 237, .78);
  color: var(--ivory);
  background: transparent;
}

.cta-panel .cta-row .cta-actions .button-secondary:hover,
.cta-panel .cta-row .cta-actions .button-secondary:focus-visible {
  background: rgba(247, 243, 237, .12);
  border-color: var(--ivory);
  color: var(--ivory);
}

.page-contact .contact-intro-section .contact-actions .button {
  flex: 0 0 260px;
  width: 260px;
  max-width: 100%;
  box-sizing: border-box;
  justify-content: center;
  gap: 14px;
}

.page-contact .contact-intro-section .contact-actions .button-secondary {
  border: 1px solid var(--teal);
  color: var(--teal);
  background: transparent;
}

.page-contact .contact-intro-section .contact-actions .button-secondary:hover,
.page-contact .contact-intro-section .contact-actions .button-secondary:focus-visible {
  background: rgba(5, 47, 49, .08);
  border-color: var(--teal);
  color: var(--teal);
}

.page-contact .contact-hero .contact-hero-secondary {
  border: 1px solid rgba(247, 243, 237, .68);
  color: var(--ivory);
  background: transparent;
}

.page-contact .contact-hero .contact-hero-secondary:hover,
.page-contact .contact-hero .contact-hero-secondary:focus-visible {
  background: rgba(247, 243, 237, .12);
  border-color: var(--ivory);
  color: var(--ivory);
}

@media (max-width: 720px) {
  .container { padding:0 22px; }
  .site-header {
    position: sticky;
    top: 0;
    z-index: 10;
    transition: height 250ms ease, background-color 250ms ease, box-shadow 250ms ease, padding 250ms ease;
  }
  .nav,
  body.page-experience-impact .nav,
  body.page-contact .nav,
  body.page-about-approach .nav,
  body.page-change-management .nav,
  body.page-process-improvement .nav,
  body.page-program-leadership .nav {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
  }
  .nav-menu-toggle { display:inline-flex; order:1; flex:1 1 92px; }
  .nav .button { order:2; flex:1 1 164px; justify-content:center; }
  .nav a:not(.button) {
    display: none;
  }
  body.nav-open .nav a:not(.button) {
    order:3;
    display:flex;
    width:100%;
    min-height:42px;
    align-items:center;
    padding:10px 0;
    border-top:1px solid rgba(184,121,37,.28);
  }
  body.nav-open .nav a.active:not(.button)::after { display:none; }
  .nav .button {
    min-height: 44px;
    padding: 0 16px;
    font-size: 11px;
    margin: 0;
    display: inline-flex;
  }
  body.header-scrolled .site-header {
    height: 64px;
    padding: 8px 0;
  }
  body.nav-open.header-scrolled .site-header { height:auto; }
  body.header-scrolled .brand img {
    height: 38px;
    width: auto;
  }
  body.header-scrolled .nav .button {
    min-height: 38px;
    padding: 0 12px;
    font-size: 10px;
  }
  body.header-scrolled .nav-menu-toggle {
    min-height: 38px;
    padding:0 12px;
    font-size:10px;
  }
  .hero-content { padding:45px 0 48px; }
  h1 { font-size:42px; }
  .hero-visual { min-height:330px; }
  .hero-callout { width:100%; bottom:0; padding:19px 22px 19px 42px; font-size:16px; }
  .hero-callout::before { left:24px; top:18px; bottom:18px; }
  .credibility-row, .cards-three, .impact-grid, .modules, .form-grid { grid-template-columns:1fr; }
  .cred, .cred:nth-child(3), .cred:nth-child(5) { border:0; border-top:1px solid var(--line); padding:20px 0; }
  .cred:first-child { border-top:0; }
  .service-card, .service-card:first-child, .impact-card, .impact-card:first-child { border:0; padding:0; }
  .service-card p, .text-link { margin-left:0; }
  .page-focus-hub .lens-panel { padding:30px 22px; }
  .page-focus-hub .service-value-stack { gap:28px; }
  .page-focus-hub .service-value-module { padding:28px 22px 30px; }
  .page-focus-hub .service-value-aside h3 { font-size:24px; }
  .section-title::before, .section-title::after { width:30px; }
  .cta-message { align-items:flex-start; }
  .contact-stack { padding-left:20px; }
  .footer-row { flex-direction:column; padding:30px 0; align-items:flex-start; }
  .page-hero-content { padding:42px 22px; }
  .page-hero { grid-template-columns:1fr; }
  .page-hero-image { min-height:320px; clip-path:none; }
  .page-hero-image img { min-height:320px; }
  .page-privacy .utility-hero-grid { grid-template-columns:1fr; gap:32px; }
  .page-privacy .utility-hero-image {
    order:-1;
    min-height:300px;
  }
  .page-privacy .utility-hero-image,
  .page-privacy .utility-hero-image img { min-height:300px; }

  .cta-panel .cta-row .cta-actions,
  .page-contact .contact-intro-section .contact-actions {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }

  .cta-panel .cta-row .cta-actions .button,
  .page-contact .contact-intro-section .contact-actions .button {
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .button,
  .button::after,
  .text-link,
  .text-link::after,
  .nav-menu-toggle .menu-mark::before,
  .nav-menu-toggle .menu-mark::after { transition:none; }
  .button:hover .arrow,
  .button:focus-visible .arrow,
  .text-link:hover .arrow,
  .text-link:focus-visible .arrow { transform:none; }
}
