.ace-proposal {
  --ace-paper: #f6f4ef;
  --ace-white: #fbfaf7;
  --ace-ink: #202322;
  --ace-muted: #626965;
  --ace-blue: var(--blue, #123b91);
  --ace-gold: #927746;
  --ace-line: #d9d9d2;
  color: var(--ace-ink);
  background: var(--ace-paper);
  overflow: hidden;
}

.ace-proposal a:focus-visible {
  outline: 3px solid #b29560;
  outline-offset: 5px;
}

.ace-proposal .ace-wrap {
  width: min(1180px, calc(100% - 112px));
  margin-inline: auto;
}

.ace-proposal .ace-hero {
  position: relative;
  padding: clamp(72px, 9vw, 132px) 0 96px;
  border-bottom: 1px solid var(--ace-line);
  isolation: isolate;
}

.ace-proposal .ace-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 4%;
  right: -3%;
  width: min(46vw, 560px);
  aspect-ratio: 1;
  border: 1px solid #d9d2c2;
  border-radius: 50%;
  box-shadow: 0 0 0 42px var(--ace-paper), 0 0 0 43px #e4dfd3, 0 0 0 86px var(--ace-paper), 0 0 0 87px #e9e5dc;
  opacity: .55;
}

.ace-proposal .ace-hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 190px;
  gap: 42px;
  align-items: start;
}

.ace-proposal .ace-monogram {
  width: 92px;
  height: 92px;
  object-fit: contain;
  margin: 0 0 36px;
}

.ace-proposal .ace-eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--ace-gold);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .2em;
  line-height: 1.6;
  text-transform: none;
}

.ace-proposal .ace-eyebrow::before {
  content: "";
  width: 26px;
  height: 1px;
  background: currentColor;
}

.ace-proposal .ace-hero h1 {
  max-width: 920px;
  margin-top: 24px;
  font-size: clamp(53px, 6.1vw, 78px);
  line-height: .98;
  letter-spacing: -.045em;
  white-space: normal;
}

.ace-proposal .ace-hero h1 em,
.ace-proposal .ace-section h2 em,
.ace-proposal .ace-closing h2 em {
  color: var(--ace-blue);
}

.ace-proposal .ace-lede {
  max-width: 690px;
  margin-top: 27px;
  color: #505753;
  font-size: 16px;
  line-height: 1.85;
}

.ace-proposal .ace-hero-aside {
  align-self: end;
  margin-top: 170px;
  padding: 16px 0 0 18px;
  border-left: 1px solid #c7b790;
  color: var(--ace-muted);
  font-size: 11px;
  line-height: 1.75;
}

.ace-proposal .ace-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 24px;
  margin-top: 34px;
}

.ace-proposal .ace-primary-link,
.ace-proposal .ace-secondary-link {
  display: inline-flex;
  align-items: center;
  gap: 28px;
  min-height: 50px;
  font-size: 12px;
  font-weight: 550;
}

.ace-proposal .ace-primary-link {
  padding: 13px 20px;
  color: #fff;
  background: var(--ace-blue);
  transition: background .2s, transform .2s;
}

.ace-proposal .ace-primary-link:hover {
  background: #0b2b70;
  transform: translateY(-2px);
}

.ace-proposal .ace-secondary-link {
  border-bottom: 1px solid #b8b9b0;
  min-height: auto;
  padding: 8px 0;
  transition: color .2s, border-color .2s;
}

.ace-proposal .ace-secondary-link:hover {
  color: var(--ace-blue);
  border-color: var(--ace-blue);
}

.ace-proposal .ace-arrow {
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
}

.ace-proposal .ace-section {
  display: grid;
  grid-template-columns: minmax(170px, .55fr) 1.45fr;
  gap: clamp(45px, 9vw, 145px);
  padding-block: clamp(70px, 9vw, 118px);
  border-bottom: 1px solid var(--ace-line);
}

.ace-proposal .ace-section-index {
  padding-top: 10px;
}

.ace-proposal .ace-num {
  display: block;
  margin-bottom: 18px;
  color: #c4b791;
  font-family: var(--serif);
  font-size: 52px;
  line-height: 1;
}

.ace-proposal .ace-section-content h2 {
  max-width: 820px;
  font-size: clamp(42px, 5vw, 67px);
  line-height: 1.04;
  white-space: normal;
}

.ace-proposal .ace-section-content > p {
  max-width: 730px;
  margin-top: 23px;
  color: var(--ace-muted);
  font-size: 14px;
  line-height: 1.9;
}

.ace-proposal .ace-section-content > p.ace-intro-copy {
  color: var(--ace-ink);
  font-family: var(--serif);
  font-size: 23px;
  line-height: 1.5;
}

.ace-proposal .ace-definition {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  margin-top: 42px;
  background: var(--ace-line);
  border: 1px solid var(--ace-line);
}

.ace-proposal .ace-definition article {
  min-height: 180px;
  padding: 26px 28px;
  background: var(--ace-white);
}

.ace-proposal .ace-definition .ace-eyebrow {
  font-size: 9px;
}

.ace-proposal .ace-definition p {
  max-width: 400px;
  margin-top: 14px;
  color: var(--ace-muted);
  font-size: 12px;
  line-height: 1.8;
}

.ace-proposal .ace-journey {
  padding-block: clamp(70px, 8vw, 105px);
  background: #e9ebe5;
}

.ace-proposal .ace-journey-heading {
  display: grid;
  grid-template-columns: 1fr .72fr;
  gap: 60px;
  align-items: end;
  margin-bottom: 54px;
}

.ace-proposal .ace-journey-heading .ace-eyebrow {
  margin-bottom: 20px;
}

.ace-proposal .ace-journey-heading h2 {
  max-width: 680px;
  font-size: clamp(43px, 5.2vw, 69px);
  white-space: normal;
}

.ace-proposal .ace-journey-heading > p {
  max-width: 390px;
  padding-bottom: 5px;
  color: var(--ace-muted);
  font-size: 13px;
  line-height: 1.85;
}

.ace-proposal .ace-tools {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid #bfc4ba;
  border-bottom: 1px solid #bfc4ba;
}

.ace-proposal .ace-tool {
  position: relative;
  min-height: 285px;
  padding: 29px 27px 32px 0;
}

.ace-proposal .ace-tool + .ace-tool {
  padding-left: 27px;
  border-left: 1px solid #bfc4ba;
}

.ace-proposal .ace-tool-step {
  color: var(--ace-gold);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.ace-proposal .ace-tool h3 {
  margin-top: 27px;
  color: var(--ace-blue);
  font-size: 36px;
  white-space: normal;
}

.ace-proposal .ace-tool p {
  max-width: 310px;
  margin-top: 14px;
  color: #5b625d;
  font-size: 12px;
  line-height: 1.85;
}

.ace-proposal .ace-tool small {
  display: block;
  margin-top: 18px;
  color: #77786f;
  font-size: 10px;
  line-height: 1.7;
}

.ace-proposal .ace-tool small strong {
  color: #39453f;
  font-weight: 600;
}

.ace-proposal .ace-example {
  display: grid;
  grid-template-columns: .78fr 1fr;
  gap: clamp(42px, 9vw, 140px);
  align-items: start;
  padding-block: clamp(70px, 9vw, 120px);
  border-bottom: 1px solid var(--ace-line);
}

.ace-proposal .ace-example-aside {
  padding: 27px 30px;
  background: #e8e3d8;
}

.ace-proposal .ace-example-aside .ace-eyebrow {
  font-size: 9px;
}

.ace-proposal .ace-example-aside p {
  margin-top: 18px;
  color: #515750;
  font-family: var(--serif);
  font-size: 21px;
  line-height: 1.55;
}

.ace-proposal .ace-example-copy h2 {
  font-size: clamp(41px, 4.6vw, 62px);
  white-space: normal;
}

.ace-proposal .ace-example-copy > p {
  margin-top: 22px;
  color: var(--ace-muted);
  font-size: 13px;
  line-height: 1.9;
}

.ace-proposal .ace-example-flow {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px 28px;
  margin-top: 34px;
  padding-top: 24px;
  border-top: 1px solid var(--ace-line);
}

.ace-proposal .ace-example-flow div {
  font-size: 11px;
  line-height: 1.75;
}

.ace-proposal .ace-example-flow b {
  display: block;
  margin-bottom: 5px;
  color: var(--ace-blue);
  font-family: var(--serif);
  font-size: 20px;
  font-weight: 400;
}

.ace-proposal .ace-people {
  padding-block: clamp(72px, 8vw, 110px);
  color: #f6f4ef;
  background: #1d2c36;
}

.ace-proposal .ace-people .ace-eyebrow {
  color: #cbb78a;
}

.ace-proposal .ace-people-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: clamp(45px, 9vw, 140px);
  align-items: start;
  margin-top: 24px;
}

.ace-proposal .ace-people h2 {
  max-width: 530px;
  font-size: clamp(43px, 5.1vw, 68px);
}

.ace-proposal .ace-people h2 em {
  color: #e5d7b8;
}

.ace-proposal .ace-people-copy > p {
  max-width: 590px;
  color: #c2cbc8;
  font-size: 13px;
  line-height: 1.9;
}

.ace-proposal .ace-benefits {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 34px;
}

.ace-proposal .ace-benefits article {
  padding-top: 18px;
  border-top: 1px solid #66716d;
}

.ace-proposal .ace-benefits h3 {
  color: #e6d5b0;
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .04em;
}

.ace-proposal .ace-benefits p {
  margin-top: 10px;
  color: #c2cbc8;
  font-size: 11px;
  line-height: 1.8;
}

.ace-proposal .ace-future {
  display: grid;
  grid-template-columns: minmax(170px, .55fr) 1.45fr;
  gap: clamp(45px, 9vw, 145px);
  padding-block: clamp(70px, 8vw, 108px);
  border-bottom: 1px solid var(--ace-line);
}

.ace-proposal .ace-future h2 {
  font-size: clamp(42px, 5vw, 65px);
  white-space: normal;
}

.ace-proposal .ace-future-content > p {
  max-width: 740px;
  margin-top: 22px;
  color: var(--ace-muted);
  font-size: 13px;
  line-height: 1.9;
}

.ace-proposal .ace-future-points {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 31px;
}

.ace-proposal .ace-future-points article {
  padding-top: 16px;
  border-top: 1px solid #c5c5bb;
}

.ace-proposal .ace-future-points b {
  display: block;
  color: var(--ace-blue);
  font-family: var(--serif);
  font-size: 22px;
  font-weight: 400;
}

.ace-proposal .ace-future-points p {
  margin-top: 7px;
  color: var(--ace-muted);
  font-size: 10px;
  line-height: 1.75;
}

.ace-proposal .ace-boundaries {
  padding-block: 45px;
  background: #efede7;
}

.ace-proposal .ace-boundary-inner {
  display: grid;
  grid-template-columns: .55fr 1.45fr;
  gap: clamp(45px, 9vw, 145px);
  align-items: start;
}

.ace-proposal .ace-boundary-inner h2 {
  font-family: var(--sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .18em;
  line-height: 1.6;
  text-transform: uppercase;
}

.ace-proposal .ace-boundary-inner ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 35px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ace-proposal .ace-boundary-inner li {
  position: relative;
  padding-left: 17px;
  color: #555b56;
  font-size: 11px;
  line-height: 1.75;
}

.ace-proposal .ace-boundary-inner li::before {
  content: "";
  position: absolute;
  top: .73em;
  left: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--ace-gold);
}

.ace-proposal .ace-closing {
  padding-block: clamp(70px, 8vw, 105px);
  text-align: center;
}

.ace-proposal .ace-closing .ace-eyebrow {
  justify-content: center;
}

.ace-proposal .ace-closing h2 {
  margin-top: 20px;
  font-size: clamp(47px, 6.2vw, 78px);
  white-space: nowrap;
}

.ace-proposal .ace-closing > p {
  max-width: 590px;
  margin: 20px auto 0;
  color: var(--ace-muted);
  font-size: 13px;
  line-height: 1.85;
}

.ace-proposal .ace-closing .ace-actions {
  justify-content: center;
}

.ace-proposal .ace-smallprint {
  padding-top: 28px;
  border-top: 1px solid var(--ace-line);
  color: #767a74;
  font-size: 9px;
  line-height: 1.7;
  text-align: center;
}

@media (max-width: 900px) {
  .ace-proposal .ace-wrap { width: calc(100% - 72px); }
  .ace-proposal .ace-hero-inner { grid-template-columns: 1fr 145px; gap: 25px; }
  .ace-proposal .ace-hero h1 { font-size: clamp(50px, 6.6vw, 66px); }
  .ace-proposal .ace-section, .ace-proposal .ace-future, .ace-proposal .ace-boundary-inner { gap: 48px; }
  .ace-proposal .ace-journey-heading { gap: 35px; }
  .ace-proposal .ace-tool { padding-right: 18px; }
  .ace-proposal .ace-tool + .ace-tool { padding-left: 18px; }
  .ace-proposal .ace-tool h3 { font-size: 29px; }
  .ace-proposal .ace-example { gap: 48px; }
}

@media (max-width: 680px) {
  .ace-proposal .ace-wrap { width: calc(100% - 40px); }
  .ace-proposal .ace-hero { padding-block: 57px 66px; }
  .ace-proposal .ace-hero::after { top: 26%; right: -45%; width: 90vw; opacity: .3; }
  .ace-proposal .ace-hero-inner { display: block; }
  .ace-proposal .ace-monogram { width: 72px; height: 72px; margin-bottom: 28px; }
  .ace-proposal .ace-eyebrow { font-size: 8px; letter-spacing: .17em; }
  .ace-proposal .ace-hero h1 { max-width: 100%; font-size: clamp(44px, 11vw, 62px); line-height: 1.03; white-space: normal; }
  .ace-proposal .ace-lede { max-width: 550px; font-size: 14px; }
  .ace-proposal .ace-hero-aside { max-width: 310px; margin-top: 36px; font-size: 10px; }
  .ace-proposal .ace-actions { gap: 17px; }
  .ace-proposal .ace-primary-link, .ace-proposal .ace-secondary-link { font-size: 11px; gap: 20px; }
  .ace-proposal .ace-section, .ace-proposal .ace-future { display: block; padding-block: 65px; }
  .ace-proposal .ace-section-index { margin-bottom: 26px; }
  .ace-proposal .ace-num { display: inline-block; margin: 0 15px 0 0; vertical-align: middle; font-size: 36px; }
  .ace-proposal .ace-section-index .ace-eyebrow { display: inline-flex; vertical-align: middle; }
  .ace-proposal .ace-section-content h2, .ace-proposal .ace-example-copy h2, .ace-proposal .ace-future h2 { font-size: clamp(40px, 10vw, 53px); white-space: normal; }
  .ace-proposal .ace-section-content > p.ace-intro-copy { font-size: 21px; }
  .ace-proposal .ace-definition { grid-template-columns: 1fr; margin-top: 30px; }
  .ace-proposal .ace-definition article { min-height: auto; padding: 22px; }
  .ace-proposal .ace-journey { padding-block: 65px; }
  .ace-proposal .ace-journey-heading { display: block; margin-bottom: 34px; }
  .ace-proposal .ace-journey-heading h2 { font-size: clamp(42px, 10vw, 53px); white-space: normal; }
  .ace-proposal .ace-journey-heading > p { margin-top: 19px; font-size: 12px; }
  .ace-proposal .ace-tools { display: block; }
  .ace-proposal .ace-tool { min-height: auto; padding: 24px 0 27px; }
  .ace-proposal .ace-tool + .ace-tool { padding-left: 0; border-left: 0; border-top: 1px solid #bfc4ba; }
  .ace-proposal .ace-tool h3 { margin-top: 14px; font-size: 34px; }
  .ace-proposal .ace-tool p { max-width: 450px; font-size: 12px; }
  .ace-proposal .ace-example { display: flex; flex-direction: column; gap: 28px; padding-block: 65px; }
  .ace-proposal .ace-example-aside { order: 2; }
  .ace-proposal .ace-example-copy { order: 1; }
  .ace-proposal .ace-example-flow { grid-template-columns: 1fr; gap: 17px; }
  .ace-proposal .ace-people { padding-block: 65px; }
  .ace-proposal .ace-people-grid { display: block; margin-top: 22px; }
  .ace-proposal .ace-people h2 { font-size: clamp(43px, 10vw, 56px); }
  .ace-proposal .ace-people-copy { margin-top: 27px; }
  .ace-proposal .ace-benefits { grid-template-columns: 1fr; gap: 22px; }
  .ace-proposal .ace-future h2 { margin-top: 24px; }
  .ace-proposal .ace-future-points { grid-template-columns: 1fr; gap: 17px; }
  .ace-proposal .ace-boundaries { padding-block: 32px; }
  .ace-proposal .ace-boundary-inner { display: block; }
  .ace-proposal .ace-boundary-inner ul { grid-template-columns: 1fr; gap: 9px; margin-top: 19px; }
  .ace-proposal .ace-closing { padding-block: 65px; }
  .ace-proposal .ace-closing .ace-eyebrow { font-size: 7px; }
  .ace-proposal .ace-closing h2 { font-size: clamp(43px, 10vw, 56px); white-space: normal; }
  .ace-proposal .ace-closing > p { font-size: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .ace-proposal *,
  .ace-proposal *::before,
  .ace-proposal *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* Keep the approved design while following the visitor’s website palette. */
html[data-website-style="emerald"] .ace-proposal { --ace-paper:#faf7ee; --ace-white:#fffdf6; --ace-ink:#173d32; --ace-muted:#52665d; --ace-line:#daceb6; }
html[data-website-style="emerald"] .ace-proposal .ace-people { background:#123e32; }
html[data-website-style="emerald"] .ace-proposal .ace-primary-link:hover { background:#123e32; }
html[data-website-style="emerald"] .ace-proposal .ace-secondary-link:hover { color:#123e32; border-color:#123e32; }
