/* styles.css */
:root { --color-bg:#fff; --color-text:#242424; --color-muted:#616161; --color-line:#dedede; --color-surface:#f7f7f5; --color-accent:#253c32; --font-body:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; --page-width:1160px; --space-1:.5rem; --space-2:1rem; --space-3:1.5rem; --space-4:2rem; --space-5:3rem; --space-6:5rem; }
* { box-sizing:border-box; }
html { scroll-padding-top:2rem; }
body { margin:0; background:var(--color-bg); color:var(--color-text); font-family:var(--font-body); font-size:1rem; line-height:1.7; }
a { color:inherit; text-underline-offset:.25em; }
a:hover { color:var(--color-accent); }
:focus-visible { outline:3px solid var(--color-accent); outline-offset:5px; }
.container { width:min(var(--page-width),calc(100% - 3rem)); margin-inline:auto; }
.footer-inner { display:flex; justify-content:space-between; align-items:center; gap:var(--space-2); padding-block:var(--space-3); }
.brand { font-weight:650; text-decoration:none; }
.eyebrow, .site-footer { color:var(--color-muted); font-size:.8rem; }
.eyebrow { letter-spacing:.07em; text-transform:uppercase; font-weight:600; }
h1, h2, h3, h4 { line-height:1.25; text-wrap:balance; }
h1 { margin:var(--space-3) 0; font-size:clamp(2.5rem,6vw,4.75rem); font-weight:550; letter-spacing:-.045em; }
h2 { font-size:clamp(1.7rem,3vw,2.3rem); font-weight:550; letter-spacing:-.025em; margin:.5rem 0 1.5rem; }
h3 { font-size:1.15rem; font-weight:650; margin:0 0 1rem; }
h4 { font-size:.9rem; margin:0 0 .4rem; }
p { margin:0 0 1rem; }
ul { padding-left:1.3rem; }
li+li { margin-top:.35rem; }
.intro { padding-block:var(--space-6); max-width:850px; }
.layout { display:block; width:100%; }
.proposal-content { min-width:0; width:100%; }
.section { border-top:1px solid var(--color-line); padding-block:var(--space-5); }
.section-body { width:100%; max-width:none; }
.stack { display:grid; gap:var(--space-3); }
.panel { border:1px solid var(--color-line); padding:var(--space-3); }
.panel p:last-child, .stage p:last-child { margin-bottom:0; }
.stage { padding-block:var(--space-4); }
.stage+.stage { border-top:1px solid var(--color-line); }
.stage h3, .panel h3 { margin-top:.5rem; }
.inclusions { background:var(--color-surface); padding:var(--space-3); margin-top:var(--space-3); }
.table-wrap { overflow-x:auto; margin-block:var(--space-4); }
table { border-collapse:collapse; width:100%; text-align:left; font-size:.95rem; }
caption { text-align:left; font-weight:600; padding-bottom:.8rem; }
th, td { padding:1rem .75rem; border-bottom:1px solid var(--color-line); vertical-align:top; }
thead { background:var(--color-surface); }
td:last-child { white-space:nowrap; }
.total { font-size:1.2rem; font-weight:650; }
.term { padding-block:var(--space-3); }
.term+.term { border-top:1px solid var(--color-line); }
.term h3 .eyebrow { margin-right:.4rem; }
.site-footer { border-top:1px solid var(--color-line); margin-top:var(--space-4); }
.site-footer p { margin:0; }
.skip-link { position:fixed; top:1rem; left:1rem; padding:.75rem 1rem; background:var(--color-text); color:white; transform:translateY(-200%); z-index:10; }
.skip-link:focus { transform:translateY(0); }
@media(max-width:800px) {
.layout { grid-template-columns:1fr; gap:1rem; }
.intro { padding-block:3.5rem; }
}
@media(max-width:480px) {
.container { width:calc(100% - 2rem); }
.footer-inner { align-items:flex-start; flex-direction:column; gap:.4rem; }
.section { padding-block:2.5rem; }
th, td { padding:.75rem .5rem; }
}
@media print {
.skip-link, .site-footer a { display:none; }
.layout { display:block; }
.container { width:100%; }
.intro { padding:1rem 0 2rem; }
h1 { font-size:32pt; }
.section { padding-block:1rem; }
h2, h3, h4 { break-after:avoid; }
.panel, .inclusions, tr { break-inside:avoid; }
a { text-decoration:none; }
}
html { scroll-padding-top:7rem; }
.layout { display:block; }
.proposal-content { width:100%; max-width:none; margin:0; }

/* progress-nav.css */
.progress-nav { width: 100%;
  padding: 2em;
  position: fixed;
  top: 0;
  left: 0; }
.progress-nav__inner { justify-content: space-between;
  align-items: center;
  display: flex;
  position: relative; }
.progress-nav__logo { color: inherit;
  text-decoration: none; }
.progress-nav__wrapper { background-color: #c9cce0;
  border-radius: 50em;
  padding: .5em; }
.progress-nav__list { border-radius: 50em;
  justify-content: flex-start;
  align-items: center;
  display: flex;
  position: relative;
  overflow: hidden; }
.progress-nav__indicator { z-index: 2;
  background-color: #fff;
  border-radius: 50em;
  width: 2.5em;
  height: 2.5em;
  position: absolute;
  left: -2.5em;
  transition: all 1.2s cubic-bezier(0.16, 1, 0.3, 1); }
.progress-nav__btn { z-index: 3;
  cursor: pointer;
  color: inherit;
  justify-content: center;
  align-items: center;
  height: 2.5em;
  padding-left: 1em;
  padding-right: 1em;
  text-decoration: none;
  display: flex;
  position: relative;
  overflow: hidden; }
.progress-nav__btn.is--before { z-index: 1;
  width: 2.5em;
  height: 2.5em;
  padding-left: 0;
  padding-right: 0;
  position: absolute;
  right: 100%; }
.progress-nav__btn.is--after { z-index: 1;
  width: 2.5em;
  height: 2.5em;
  padding-left: 0;
  padding-right: 0;
  position: absolute;
  left: 100%; }
.progress-nav__btn-text { white-space: nowrap;
  justify-content: center;
  align-items: center;
  height: 100%;
  font-size: 1.125em;
  font-weight: 500;
  display: flex;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  transform: translateY(0%) rotate(0.001deg); }
.progress-nav__btn-text.is--duplicate { position: absolute;
  top: 100%; }
.progress-nav__btn:hover .progress-nav__btn-text { transform: translateY(-100%) rotate(0.001deg); }

/* navigation-layout.css */
.progress-nav { z-index:30; background:var(--color-bg); padding:1rem 1.5rem; border-bottom:1px solid var(--color-line); }
.progress-nav__inner { max-width:var(--page-width); margin-inline:auto; gap:1.5rem; }
.progress-nav__logo { font-weight:650; white-space:nowrap; }
.progress-nav__wrapper { min-width:0; font-size:.75rem; }
.progress-nav__btn { flex-shrink:0; }
.progress-nav__btn:focus-visible { outline-offset:-3px; border-radius:50em; }
body { padding-top:6rem; }
html { scroll-padding-top:7rem; }
@media(max-width:1100px) {
.progress-nav__inner { flex-direction:column; gap:.65rem; }
body { padding-top:8rem; }
html { scroll-padding-top:9rem; }
}
@media(max-width:720px) {
.progress-nav { padding:.75rem 1rem; }
.progress-nav__wrapper { width:100%; border-radius:1.5rem; }
.progress-nav__list { flex-wrap:wrap; justify-content:center; border-radius:1rem; }
.progress-nav__btn { padding-inline:.75em; }
body { padding-top:10rem; }
html { scroll-padding-top:11rem; }
}
@media(max-width:380px) {
body { padding-top:12rem; }
html { scroll-padding-top:13rem; }
}
@media print {
.progress-nav { display:none; }
body { padding-top:0; }
}
.progress-nav__wrapper { background-color:#f0f0f0; }
.progress-nav__indicator { background-color:#242424; }
.progress-nav__btn, .progress-nav__btn:hover { color:#242424; }
.progress-nav__btn.is--active, .progress-nav__btn.is--active:hover { color:#f0f0f0; }
.progress-nav__btn:focus-visible { outline-color:#242424; }

/* stacking-cards.css */
#objectives .cards-stack { padding-top: 15dvh;
  padding-bottom: 15dvh; }
#objectives .container { max-width: 90em;
  margin-left: auto;
  margin-right: auto;
  padding-left: 2em;
  padding-right: 2em; }
#objectives .cards-stack__list { grid-column-gap: 5em;
  grid-row-gap: 5em;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  display: flex; }
#objectives .cards-stack__item { flex: none;
  width: 100%;
  max-width: 25em;
  position: sticky;
  top: 5em; }
#objectives .cards-stack-card { aspect-ratio: 2 / 3;
  background-color: #fff;
  border-radius: 2em;
  flex-flow: column;
  justify-content: space-between;
  width: 100%;
  padding: 2.5em;
  display: flex; }
#objectives .cards-stack-card.is--green { background-color: #b1ae91; }
#objectives .cards-stack-card.is--dark { color: #fff;
  background-color: #201d1d; }
#objectives .cards-stack-card__number { font-size: 6.75em;
  font-weight: 500;
  line-height: .95; }
#objectives .cards-stack-card__h { letter-spacing: -.04em;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 3.375em;
  font-weight: 600;
  line-height: .95; }
#objectives .cards-stack-card__services { flex-flow: column;
  justify-content: flex-end;
  min-height: 11em;
  display: flex; }
@media screen and (max-width: 767px) {
.cards-stack-card { font-size: .8em; }
}
#objectives .cards-stack { padding-top:2rem; padding-bottom:8rem; }
#objectives .cards-stack__item { top:7rem; }
#objectives .cards-stack-card { border:1px solid #ddd; min-height:30rem; }
#objectives .cards-stack-card__h { font-size:clamp(2rem,4vw,3.5rem); max-width:18ch; line-height:1.05; }
#objectives .cards-stack-card__services { min-height:0; margin-top:2rem; max-width:42rem; }
#objectives .cards-stack-card__services p { margin:0; font-size:1.125rem; line-height:1.5; }
@media(max-width:1100px) {
#objectives .cards-stack__item { top:9rem; }
}
@media(max-width:767px) {
#objectives .cards-stack__item { top:11rem; }
#objectives .cards-stack-card { padding:1.5rem; min-height:28rem; aspect-ratio:auto; }
#objectives .cards-stack-card__number { font-size:4rem; }
}
@media print {
#objectives .cards-stack__item { position:static; }
#objectives .cards-stack-card { transform:none!important; min-height:0; aspect-ratio:auto; }
}
#objectives .cards-stack__item { max-width:22rem; }
#objectives .cards-stack-card { aspect-ratio:2 / 3; min-height:0; padding:1.75rem; border-radius:1.5rem; }
#objectives .cards-stack-card__number { font-size:4.5rem; }
#objectives .cards-stack-card__h { font-size:2rem; line-height:1.08; }
#objectives .cards-stack-card__services { margin-top:1.25rem; }
#objectives .cards-stack-card__services p { font-size:1rem; line-height:1.45; }
@media(max-width:767px) {
#objectives .cards-stack__item { max-width:19rem; }
#objectives .cards-stack-card { padding:1.5rem; aspect-ratio:2 / 3; }
#objectives .cards-stack-card__h { font-size:1.75rem; }
}

/* step-timeline.css */
.step-timeline { width:100%; max-width:50em; margin:4rem auto 0; }
.step-timeline__wrapper { position:relative; }
.step-timeline__list { display:flex; flex-direction:column; gap:8em; list-style:none; padding:0; margin:0; }
.step-timeline__item { display:flex; gap:3em; align-items:flex-start; position:relative; margin:0; }
.step-timeline__line { pointer-events:none; background:#22201c24; width:2px; position:absolute; top:0; bottom:0; left:1.5em; }
.step-timeline__fill { transform-origin:50% 0; background:#7d8a69; width:100%; height:100%; position:absolute; inset:0; }
.step-timeline__marker { color:#22201c; background:#ebe8dd; border:1px solid #0003; border-radius:100em; flex:none; display:flex; align-items:center; justify-content:center; width:3em; height:3em; transition:all .4s cubic-bezier(.645,.045,.355,1); position:relative; }
[data-step-timeline-item][data-status="active"] [data-step-timeline-marker] { background:#7d8a69; color:#f2efe6; border-color:#7d8a69; }
[data-step-timeline-item][data-current] [data-step-timeline-marker] { box-shadow:0 0 0 .5em rgba(125,138,105,.16); }
.step-timeline__content { display:flex; flex-direction:column; align-items:flex-start; gap:1em; max-width:38em; min-width:0; padding-top:.4em; transition:opacity .25s; }
[data-step-timeline-item] .step-timeline__content { opacity:.25; }
[data-step-timeline-item][data-status="active"] .step-timeline__content { opacity:.5; }
[data-step-timeline-item][data-current] .step-timeline__content { opacity:1; }
.step-timeline__content-h { letter-spacing:-.04em; margin:0; font-size:2em; font-weight:400; line-height:1.1; }
.step-timeline__content p { margin:0; }
.step-timeline__content .inclusions { margin-top:0; width:100%; }
@media(max-width:767px) {
.step-timeline { max-width:none; }
.step-timeline__list { gap:6em; }
.step-timeline__item { gap:1.5em; }
.step-timeline__content-h { font-size:1.5em; }
}
@media print {
[data-step-timeline-item] .step-timeline__content { opacity:1!important; }
}

/* terms-reader.css */
#terms .terms-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr); gap:clamp(2rem,7vw,8rem); padding-top:3rem; align-items:start; }
#terms .terms-heading h2 { margin:0; }
#terms .terms-accordion { min-width:0; }
#terms .terms-accordion__item { margin:0; padding:0; border:0; }
#terms .terms-accordion__item summary { display:grid; grid-template-columns:2.25rem minmax(0,1fr) 1rem; align-items:baseline; gap:.875rem; padding:1.5rem 0; list-style:none; cursor:pointer; font-size:1.15rem; font-weight:600; line-height:1.4; }
#terms summary::-webkit-details-marker { display:none; }
#terms .terms-accordion__number { font-size:.65rem; font-weight:500; color:var(--color-muted); }
#terms .terms-accordion__icon { font-size:1.35rem; font-weight:400; line-height:1; transition:transform .2s ease; }
#terms details[open] .terms-accordion__icon { transform:rotate(45deg); }
#terms summary:hover { color:#666; }
#terms summary:focus-visible { outline:2px solid #242424; outline-offset:4px; border-radius:3px; }
#terms .terms-accordion__content { padding:0 2rem 1.75rem 3.125rem; color:var(--color-muted); font-size:1rem; line-height:1.7; }
#terms .terms-accordion__content p:first-child { margin-top:0; }
#terms .terms-accordion__content p:last-child { margin-bottom:0; }
@media(max-width:767px) {
#terms .terms-grid { grid-template-columns:1fr; gap:1.5rem; padding-top:1.5rem; }
#terms .terms-accordion__item summary { font-size:1.05rem; grid-template-columns:1.5rem minmax(0,1fr) 1rem; }
#terms .terms-accordion__content { padding-left:2.375rem; padding-right:0; }
}
@media(prefers-reduced-motion:reduce) {
#terms .terms-accordion__icon { transition:none; }
}

/* logo-loader.css */
.logo-loader { position: fixed;
  inset: 0%;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  perspective: 40em; }
.logo-loader__bg { position: absolute;
  inset: 0%;
  z-index: 0;
  background-color: #0a0a0a;
  transform-origin: 50% 0%; }
.logo-loader__stack { position: relative;
  z-index: 1;
  display: grid;
  width: 12em;
  transform-style: preserve-3d; }
.logo-loader__logo { grid-column: 1;
  grid-row: 1; }
.logo-loader__logo-svg { display: block;
  width: 100%;
  height: auto; }
.logo-loader__track { position: absolute;
  bottom: 3.5em;
  left: 0%;
  right: 0%;
  z-index: 1;
  width: 8em;
  height: 0.25em;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
  border-radius: 100em;
  background-color: rgba(255, 255, 255, 0.15); }
.logo-loader__bar { position: absolute;
  inset: 0%;
  background-color: #ffffff;
  transform-origin: 0% 50%;
  transform: scaleX(0); }
.logo-loader__stack { width:min(29.25vw,14.4rem); }
.logo-loader__bg { background-color:#0a0a0a; }
[data-logo-loader-reset] { opacity:0; }
@media print {
.logo-loader { display:none!important; }
}

/* Hero layout retained from the former background component. */
.intro { position:relative; isolation:isolate; max-width:none; }
.intro > * { position:relative; }

/* layout-refinements.css */
.intro { min-height:calc(100svh - 6rem);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  padding-block:5rem; }
h1 { font-size:clamp(3rem,6.5vw,5.4rem); font-weight:700; line-height:1.08; }
h2 { font-size:clamp(2rem,3.5vw,2.8rem); font-weight:700; margin-bottom:2rem; }
h3 { font-size:1.35rem; font-weight:700; }
h4 { font-size:1rem; font-weight:650; }
.section { border:0; padding-block:5rem; }
.section-heading { margin-bottom:2.5rem; }
.panel { border:0; padding:2rem; background:var(--color-surface); }
.stack { gap:2rem; }
.term+.term, .stage+.stage { border:0; }
.term, .stage { padding-block:2rem; }
.site-footer, .progress-nav { border:0; }
.site-footer { margin-top:3rem; padding-block:1rem; }
th, td { border:0; padding-block:1.25rem; }
tbody tr:nth-child(even) { background:var(--color-surface); }
#objectives .cards-stack-card { border:0; }
#objectives .cards-stack-card:not(.is--green):not(.is--dark) { background:#f3f2ed; }
#objectives .cards-stack-card__h { font-size:2.15rem; font-weight:700; }
.step-timeline__line { opacity:1; }
.step-timeline__marker { border:0; }
.step-timeline__content-h { font-size:2.25rem; font-weight:650; line-height:1.15; }
.step-timeline__content { gap:1.5rem; }
.step-timeline__list { gap:9rem; }
@media(max-width:1100px) {
.intro { min-height:calc(100svh - 8rem); }
}
@media(max-width:720px) {
.intro { min-height:calc(100svh - 10rem); padding-block:3rem; }
.section { padding-block:3.5rem; }
.step-timeline__content-h { font-size:1.65rem; }
.panel { padding:1.5rem; }
}
@media(max-width:380px) {
.intro { min-height:calc(100svh - 12rem); }
}
@media print {
.intro { min-height:0; padding-block:1rem; }
.section { padding-block:1.5rem; }
}

/* hero-reference.css */
#top.reference-hero { min-height:calc(100svh - 6rem); padding:6rem 0 5rem; display:flex; align-items:center; justify-content:center; text-align:center; background:white; gap:0; }
#top.reference-hero h1 { color:#141414; font-family:Arial,Helvetica,sans-serif; font-size:clamp(2rem,5.4vw,4.8rem); font-weight:750; letter-spacing:-.055em; line-height:1.08; margin:0; text-wrap:initial; }
#top .hero-copy-line { display:flex; justify-content:center; align-items:center; gap:.18em; white-space:nowrap; }
#top .hero-copy-line+.hero-copy-line { margin-top:.08em; }
#top .hero-followup { color:#777; max-width:43rem; font-size:clamp(1rem,1.5vw,1.3rem); line-height:1.45; margin:2.75rem auto 0; letter-spacing:-.025em; }
#top .hero-actions { display:flex; justify-content:center; gap:.65rem; flex-wrap:wrap; margin-top:3.5rem; }
#top .hero-button { display:inline-flex; align-items:center; gap:.75rem; padding:.95rem 1.35rem; border-radius:100px; text-decoration:none; font-weight:600; font-size:1rem; line-height:1.2; transition:transform .2s,background .2s; }
#top .hero-button:hover { transform:translateY(-2px); }
#top .hero-button--primary { background:#242424; color:white; }
#top .hero-button--primary:hover { background:#080808; }
#top .hero-button--secondary { background:#f0f0f0; color:#171717; }
#top .hero-button--secondary:hover { background:#e4e4e4; }
@media(max-width:1100px) {
#top.reference-hero { min-height:calc(100svh - 8rem); }
}
@media(max-width:720px) {
#top.reference-hero { min-height:calc(100svh - 10rem); padding:4rem 0; }
#top.reference-hero h1 { font-size:clamp(1.4rem,5.35vw,2.6rem); }
#top .hero-followup { max-width:32rem; margin-top:2rem; }
#top .hero-actions { margin-top:2rem; }
#top .hero-button { font-size:.9rem; padding:.9rem 1.15rem; }
}
@media(prefers-reduced-motion:reduce) {
#top .hero-button { transition:none; }
}
#top .hero-sticker { display:inline-flex; flex:none; width:.88em; height:.88em; align-items:center; justify-content:center; transition:transform .3s ease; }
#top .hero-sticker img { display:block; width:100%; height:100%; object-fit:contain; }
#top .hero-sticker:hover { transform:rotate(-5deg) scale(1.05); }
@media(prefers-reduced-motion:reduce) {
#top .hero-sticker { transition:none; }
}

/* directional-buttons.css */
#top .hero-button.btn { position:relative; isolation:isolate; transition:none; }
#top .hero-button.btn:hover { transform:none; }
.btn__bg, .btn__circle-wrap { position:absolute; inset:0; border-radius:inherit; }
.btn__bg { background:#242424; }
.btn__circle-wrap { overflow:hidden; }
.btn__circle { pointer-events:none; background:#f0f0f0; border-radius:50%; width:100%; display:block; position:absolute; top:50%; left:50%; transition:transform .7s cubic-bezier(.625,.05,0,1),background-color .4s cubic-bezier(.625,.05,0,1); transform:translate(-50%,-50%) scale(0) rotate(.001deg); }
.before__100 { padding-top:100%; display:block; }
.btn__text { position:relative; display:flex; align-items:center; gap:.75rem; color:#fff; transition:color .7s cubic-bezier(.625,.05,0,1); }
.btn:hover .btn__circle, .btn:focus-visible .btn__circle { transform:translate(-50%,-50%) scale(1) rotate(.001deg); }
.btn[data-theme="dark"]:hover .btn__text, .btn[data-theme="dark"]:focus-visible .btn__text { color:#242424; }
.btn[data-theme="light"] .btn__bg { background:#f0f0f0; }
.btn[data-theme="light"] .btn__text { color:#171717; }
.btn[data-theme="light"] .btn__circle { background:#242424; }
@media(prefers-reduced-motion:reduce) {
.btn__circle, .btn__text { transition:none; }
}
.btn[data-theme="light"]:hover .btn__text, .btn[data-theme="light"]:focus-visible .btn__text { color:#f0f0f0; }

/* heading-font.css */
html body h1, html body h2, html body h3, html body h4, html body h5, html body h6, #top.reference-hero h1, #objectives .cards-stack-card__h { font-family:"Boldonse",Arial,sans-serif; font-weight:400; line-height:1.45; letter-spacing:-.035em; }
#top.reference-hero h1 { font-size:clamp(1.4rem,3.6vw,3.2rem); }
#terms .terms-accordion__item summary { font-family:"Boldonse",Arial,sans-serif; font-size:.85rem; font-weight:400; line-height:1.65; }
#objectives .cards-stack-card__h { font-size:1.45rem; }
html body h2 { font-size:clamp(1.65rem,2.7vw,2.35rem); }
.step-timeline__content-h { font-size:clamp(1.2rem,2vw,1.7rem); }
@media(max-width:720px) {
#top.reference-hero h1 { font-size:clamp(.9rem,3.5vw,1.8rem); }
}
#top.reference-hero h1 { text-transform:uppercase; font-size:clamp(1.1rem,3.3vw,2.95rem); }
#top .hero-sticker { width:1.25em; height:1.25em; }
#top .hero-sticker img[src$="hero-x.png"] { transform:scale(1.13); }
@media(max-width:720px) {
#top.reference-hero h1 { font-size:clamp(.75rem,3.05vw,1.65rem); }
}
html body #design-development .step-timeline__content-h { line-height:1.85; }

/* secondary-font.css */
:root { --font-body:"Switzer",Arial,sans-serif; }
body { font-family:var(--font-body); }
button, input, select, textarea { font-family:inherit; }

/* content-entrance.css */
.content-pending main section :is(h2,h3,h4,p,li,td,th,summary):not(:has(h2,h3,h4,p,li,table)):not(.content-revealed) { opacity:0; }
@media(prefers-reduced-motion:reduce) {
.content-pending main section :is(h2,h3,h4,p,li,td,th,summary) { opacity:1; }
}

/* Terms titles have no separating rules. */
#terms .terms-accordion__item summary { border-bottom:0; }

:root { --color-bg:#f5f2ec; --color-text:#15191f; --color-muted:#6f747b; --color-line:#d9d5cd; --color-surface:#fffefa; --color-accent:#315f8f; --font-body:'Inter',Arial,sans-serif; --page-width:100%; }
body.proposal-three { padding:0; background:var(--color-bg); }
.masthead { height:76px; padding:0 4vw; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; border-bottom:1px solid #15191f29; font:600 11px 'Onest',sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.masthead a { text-decoration:none; font-size:23px; letter-spacing:-.05em; text-transform:none; }
.masthead span:last-child { justify-self:end; }
main.container { width:100%; }
html body.proposal-three h1,html body.proposal-three h2,html body.proposal-three h3,html body.proposal-three h4,html body.proposal-three #objectives .cards-stack-card__h { font-family:'Onest',sans-serif; font-weight:500; letter-spacing:-.055em; line-height:1.08; }
body.proposal-three #top { min-height:calc(100svh - 76px); align-items:flex-start; text-align:left; padding:clamp(76px,9vw,130px) 4vw 32px; background:linear-gradient(90deg,transparent 24.95%,#15191f0a 25%,transparent 25.05%,transparent 49.95%,#15191f0a 50%,transparent 50.05%,transparent 74.95%,#15191f0a 75%,transparent 75.05%); }
body.proposal-three #top h1 { font-family:'Onest',sans-serif; text-transform:none; font-size:clamp(46px,6.5vw,104px); letter-spacing:-.065em; font-weight:500; line-height:1.05; }
#top .hero-copy-line { display:block; white-space:normal; }
#top .hero-followup { margin:30px 0 0; max-width:700px; color:var(--color-muted); font:400 clamp(18px,1.7vw,25px)/1.45 'Onest',sans-serif; }
#top .hero-actions { margin-top:30px; }
.hero-meta { display:grid; grid-template-columns:repeat(4,1fr); width:100%; border-top:1px solid var(--color-text); margin-top:80px; padding-top:18px; }
.hero-meta span { display:block; font:600 10px/1.3 'Onest',sans-serif; text-transform:uppercase; letter-spacing:.1em; color:var(--color-muted); margin-bottom:5px; }
.hero-meta strong { font:500 14px/1.3 'Onest',sans-serif; }
.progress-nav { position:fixed; top:auto; bottom:22px; left:50%; transform:translateX(-50%); width:max-content; max-width:95vw; background:transparent; padding:0; }
.progress-nav__logo { display:none; }
.progress-nav__inner { display:block; }
.progress-nav__wrapper { background:#efedf7ed; border:1px solid #d9d5df; box-shadow:0 8px 32px #15191f12; font-family:'Onest',sans-serif; backdrop-filter:blur(12px); }
.progress-nav__indicator { background:#fffefa; }
.progress-nav__btn.is--active { color:#15191f; }
.section { padding:clamp(88px,10vw,150px) 4vw; }
.section:nth-child(odd) { background:#fffefa; }
.section-heading { display:grid; grid-template-columns:1fr; gap:0; margin-bottom:60px; }
.eyebrow { font:600 11px/1.4 'Onest',sans-serif; letter-spacing:.14em; color:#315f8f; }
.section-heading > .eyebrow { border-bottom:1px solid #d9d5cd; padding-bottom:28px; margin-bottom:clamp(42px,6vw,84px); }
html body.proposal-three h2 { font-size:clamp(45px,6vw,88px); max-width:15ch; margin:0; }
#overview .section-body { max-width:760px; margin-left:auto; }
.section-body > p { max-width:78ch; }
html body.proposal-three h3 { font-size:clamp(24px,2.4vw,39px); }
html body.proposal-three h4 { font-size:18px; }
#objectives .cards-stack-card__h { font-size:30px!important; }
#objectives .cards-stack-card.is--green { background:#dce7f1; }
#objectives .cards-stack-card.is--dark { background:#15191f; }
#design-development { background:#15191f; color:#fffefa; }
#design-development .eyebrow { color:#77a5d2; }
#design-development .inclusions { background:#ffffff09; }
#design-development .step-timeline { max-width:100%; }
#design-development .step-timeline__content { max-width:70ch; }
html body #design-development .step-timeline__content-h { line-height:1.15; }
.step-timeline__fill { background:#77a5d2; }
#design-development .step-timeline__marker { background:#dce7f1; color:#315f8f; }
#schedule { background:#e8edf2; }
.gantt-scroll { overflow-x:auto; margin-top:48px; }
.gantt { min-width:850px; }
.gantt-row { display:grid; grid-template-columns:280px 1fr; border-bottom:1px solid #15191f20; }
.gantt-header { font:600 10px 'Onest',sans-serif; text-transform:uppercase; color:#6f747b; }
.gantt-header > div:first-child { padding:20px 0; }
.gantt-weeks { display:grid; grid-template-columns:repeat(11,1fr); }
.gantt-weeks span { text-align:center; padding:20px 0; border-left:1px solid #15191f12; }
.gantt-label { padding:22px 25px 22px 0; display:grid; grid-template-columns:25px 1fr; gap:6px; }
.gantt-label span { color:#315f8f; font-size:10px; }
.gantt-label strong { font:500 14px/1.4 'Onest',sans-serif; }
.gantt-label small { grid-column:2; color:#6f747b; font-size:11px; }
.gantt-track { position:relative; background:repeating-linear-gradient(90deg,#15191f12 0 1px,transparent 1px calc(100% / 11)); }
.gantt-bar { position:absolute; top:34%; height:32%; min-height:14px; background:#315f8f; border-radius:3px; }
.schedule-note { font-size:12px; color:#6f747b; margin-top:16px; }
.panel { border-top:1px solid #d9d5cd; border-radius:0; padding:32px 0; background:transparent; }
#terms .terms-grid { gap:8vw; }
#terms .terms-accordion__item summary { font:500 20px/1.4 'Onest',sans-serif; border-bottom:0; }
#terms .terms-accordion__number { color:#315f8f; }
#about { background:#315f8f; color:#fffefa; }
#about .eyebrow { color:#dce7f1; }
#about .section-body { max-width:760px; margin-left:auto; }
.site-footer { padding:50px 4vw 110px; background:#15191f; color:#fffefa; margin:0; }
@media(max-width:800px) { .masthead { padding:0 22px; }.masthead>span:nth-child(2){display:none}.masthead{grid-template-columns:1fr auto} body.proposal-three #top { padding:70px 22px 28px; } .section { padding:80px 22px; } .hero-meta { grid-template-columns:1fr 1fr; gap:24px; } #terms .terms-grid { grid-template-columns:1fr; } .progress-nav__list { flex-wrap:wrap; } .progress-nav__wrapper { border-radius:20px; } }
@media print { .progress-nav { display:none; } .hero-meta { margin-top:30px; } .gantt { min-width:0; } .gantt-row { grid-template-columns:180px 1fr; } }
.proposal-three .progress-nav__btn.is--active,.proposal-three .progress-nav__btn.is--active:hover { color:#15191f; }

/* About portrait with the supplied perspective hover treatment. */
#about .about-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:8vw; align-items:center; }
#about .section-body { margin:0; max-width:none; }
#about .perspective__wrap { display:flex; align-items:center; justify-content:center; width:100%; position:relative; }
#about .perspective__item { width:100%; max-width:390px; position:relative; transform:perspective(50vw); transform-style:preserve-3d; will-change:transform; }
#about .perspective__item-bg { border:5px solid #fffefa; border-radius:8px; overflow:hidden; box-shadow:0 20px 50px #102b4530; }
#about .perspective__img { display:block; width:100%; height:auto; }
@media(max-width:800px) { #about .about-layout { grid-template-columns:1fr; gap:3rem; } #about .perspective__item { max-width:340px; } }
@media(prefers-reduced-motion:reduce) { #about .perspective__item { will-change:auto; } }

/* Pricing follows the reference's split introduction and ruled milestone table. */
#pricing { background:#fffefa; }
#pricing .pricing-intro { display:grid; grid-template-columns:1.2fr 1fr; gap:8vw; align-items:center; }
html body.proposal-three #pricing h2 { font-weight:600; line-height:1; }
#pricing .pricing-summary p { margin:0; }
#pricing .pricing-lead { font:600 clamp(22px,2vw,32px)/1.4 'Onest',sans-serif; letter-spacing:-.035em; }
#pricing .pricing-lead strong { color:#315f8f; }
#pricing .pricing-summary .pricing-subtitle { color:#6f747b; font-size:16px; line-height:1.6; margin-top:20px; }
#pricing .section-heading { margin-bottom:clamp(60px,7vw,110px); }
#pricing .table-wrap { margin:0; }
#pricing table { font-family:'Inter',sans-serif; }
#pricing .pricing-caption { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
#pricing th,#pricing td { border-bottom:1px solid #bec8d1; padding:24px 0; background:transparent; }
#pricing thead th { font-size:10px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:#6f747b; padding:0 0 14px; }
#pricing tbody th { width:42%; font-weight:600; }
#pricing tbody td { color:#6f747b; }
#pricing th:last-child,#pricing td:last-child { text-align:right; }
#pricing tbody td:last-child { color:#315f8f; font-weight:700; font-size:18px; }
@media(max-width:800px) { #pricing .pricing-intro { grid-template-columns:1fr; gap:32px; } #pricing table { min-width:620px; } #pricing .section-heading { margin-bottom:48px; } }

/* CSS-only sticky support headings; the site navigation sits at the bottom. */
#support { --nav-height:0px; padding-bottom:0; }
#support .sticky-tab-group { overflow:clip; margin:64px -4vw 0; }
#support .sticky-tab { position:relative; overflow:clip; background:#f5f2ec; }
#support .sticky-tab:nth-child(even) { background:#e8edf2; }
#support .sticky-tab__sticky { z-index:2; position:sticky; top:var(--nav-height); display:flex; flex-direction:column; box-shadow:0 4px 8px #15191f0a; }
#support .sticky-tab__inner { background:#fffefa; border-top:1px solid #d9d5cd; border-bottom:1px solid #d9d5cd; padding:28px 4vw; }
#support .sticky-tab__content { display:flex; align-items:center; gap:28px; }
#support .sticky-tab__number { color:#315f8f; font:600 12px 'Inter',sans-serif; flex:none; }
html body.proposal-three #support .sticky-tab__title { margin:0; font-size:clamp(22px,2.5vw,38px); line-height:1.2; }
#support .sticky-tab__body { min-height:66vh; padding:48px 4vw 100px; }
#support .sticky-tab__body > * { max-width:78ch; margin-left:auto; margin-right:0; }
@media(max-width:800px) { #support .sticky-tab-group { margin-left:-22px; margin-right:-22px; } #support .sticky-tab__inner { padding:22px; } #support .sticky-tab__content { gap:16px; } #support .sticky-tab__body { padding:32px 22px 80px; min-height:66svh; } }
@media print { #support .sticky-tab__sticky { position:static; } #support .sticky-tab__body { min-height:0; padding-bottom:32px; } }

#design-development .inclusions { width:100%; }
#design-development .deliverables-list { list-style:none; margin:16px 0 0; padding:0; display:grid; gap:12px; }
#design-development .deliverables-list li { position:relative; padding-left:28px; margin:0; line-height:1.55; }
#design-development .deliverables-list li::before { content:"✓"; position:absolute; left:0; top:0; color:#85d8a0; font-weight:700; }

/* One continuous overview, with the opportunities visible together. */
#overview { background:#fffefa; }
html body.proposal-three #overview h2 { max-width:none; font-size:clamp(24px,4.3vw,68px); line-height:1.15; }
#overview .section-heading { margin-bottom:48px; }
#overview .section-heading > .eyebrow { margin-bottom:44px; }
.opportunity-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.opportunity-card { padding:28px; background:#e8edf2; border-radius:16px; min-width:0; }
.opportunity-number { display:block; color:#315f8f; font:500 32px 'Onest',sans-serif; margin-bottom:40px; }
html body.proposal-three .opportunity-card h3 { font-size:clamp(24px,2.2vw,34px); line-height:1.15; margin:0 0 20px; }
.opportunity-card p { font-size:15px; line-height:1.6; margin:0; }
@media(max-width:700px) { .opportunity-grid { grid-template-columns:1fr; } #overview .section-heading { margin-bottom:32px; } html body.proposal-three #overview h2 { font-size:clamp(18px,4.2vw,30px); } .opportunity-number { margin-bottom:24px; } }

/* Keep the short overview statement in view as the original cards stack and fan. */
#overview .section-heading { position:sticky; top:20px; z-index:0; padding-bottom:20px; }
#overview #objectives { position:relative; margin-top:32px; }
#overview #objectives .cards-stack { padding-bottom:8rem; }
#overview #objectives .cards-stack__item { top:300px; max-width:20rem; }
#overview #objectives .cards-stack-card { aspect-ratio:auto; min-height:390px; }
@media(max-height:800px) and (min-width:801px) { #overview .section-heading > .eyebrow { margin-bottom:22px; padding-bottom:16px; } html body.proposal-three #overview h2 { font-size:clamp(28px,3.5vw,54px); } #overview #objectives .cards-stack__item { top:225px; } #overview #objectives .cards-stack-card { min-height:340px; } }
@media(max-width:800px) { #overview .section-heading { top:14px; } #overview #objectives .cards-stack__item { top:230px; max-width:min(19rem,78vw); } }
@media(prefers-reduced-motion:reduce) { #overview .section-heading { position:static; } }

/* Viewport-sized canvas stays bounded throughout the long process section. */
#design-development { position:relative; isolation:isolate; }
#design-development .process-dots { position:absolute; inset:0; pointer-events:none; z-index:-1; }
#design-development .interactive-dots-grid { position:sticky; top:0; width:100%; height:100vh; pointer-events:none; }
#design-development > .section-heading,#design-development > .section-body { position:relative; }
/* Soft photographic hero treatment for the third proposal only. */
body.proposal-three:not(.proposal-four) #top {
  background:linear-gradient(90deg,rgba(244,245,240,.46),rgba(244,245,240,.25) 60%,rgba(244,245,240,.12)),url('assets/hero-marble.jpg') center center / cover no-repeat;
  color:#343e43;
}
html body.proposal-three:not(.proposal-four) #top h1,
body.proposal-three:not(.proposal-four) #top .hero-copy-line { color:#343e43; }
body.proposal-three:not(.proposal-four) #top .hero-followup { color:#4c595f; }
body.proposal-three:not(.proposal-four) #top .eyebrow { color:#465e6b; }
body.proposal-three:not(.proposal-four) #top .hero-meta { border-color:#43535b45; background:#f4f5f066; padding:18px 20px; border-radius:0 0 8px 8px; }
body.proposal-three:not(.proposal-four) #top .hero-meta span { color:#52616a; }
body.proposal-three:not(.proposal-four) #top .hero-meta strong { color:#343e43; }
body.proposal-three:not(.proposal-four) #top .hero-button--primary { background:#40515a; color:#f2f3ed; }
body.proposal-three:not(.proposal-four) #top .hero-button--secondary { background:#f4f5f0b3; color:#3c4b53; border-color:#52616a66; }
@media(max-width:800px) { body.proposal-three:not(.proposal-four) #top { background-position:35% center; } }

/* Compact hero and top navigation for index3. */
body.proposal-three:not(.proposal-four) .progress-nav { top:20px; bottom:auto; }
body.proposal-three:not(.proposal-four) #top {
  min-height:100svh;
  padding-top:clamp(110px,10vw,150px);
  background-image:radial-gradient(ellipse at bottom left,rgba(245,244,237,.88) 0%,rgba(245,244,237,.48) 32%,transparent 70%),linear-gradient(90deg,rgba(244,245,240,.46),rgba(244,245,240,.25) 60%,rgba(244,245,240,.12)),url('assets/hero-marble.jpg');
}
html body.proposal-three:not(.proposal-four) #top h1 { font-size:clamp(36px,5.2vw,80px); }
body.proposal-three:not(.proposal-four) #top .hero-followup { font-size:clamp(16px,1.3vw,20px); line-height:1.5; max-width:620px; margin-top:24px; }
body.proposal-three:not(.proposal-four) #top .hero-meta { margin-top:56px; }
@media(max-width:800px) { body.proposal-three:not(.proposal-four) .progress-nav { top:12px; } body.proposal-three:not(.proposal-four) #top { padding-top:120px; } }
body.proposal-three:not(.proposal-four) #top { background-size:cover,cover,cover; background-position:center,center,center; background-repeat:no-repeat; }
@media(max-width:800px) { body.proposal-three:not(.proposal-four) #top { background-position:center,center,35% center; } }

/* Near-black client mark, aligned with the hero's left margin. */
.proposal-three:not(.proposal-four) .hero-client-logo { position:absolute; top:22px; left:4vw; z-index:30; width:160px; display:block; }
.proposal-three:not(.proposal-four) .hero-client-logo img { width:100%; height:auto; display:block; filter:brightness(0); opacity:.84; }
@media(max-width:1000px) {
  .proposal-three:not(.proposal-four) .hero-client-logo { top:18px; left:22px; width:130px; }
  body.proposal-three:not(.proposal-four) .progress-nav { top:70px; }
  body.proposal-three:not(.proposal-four) #top { padding-top:160px; }
}
/* Full-width photographic slider; foreground copy remains stationary. */
body.proposal-three:not(.proposal-four) #top { position:relative; isolation:isolate; background:none; overflow:hidden; }
#top .hero-slides { position:absolute; inset:0; z-index:-2; pointer-events:none; }
#top .hero-slide { position:absolute; inset:0; background-size:cover; background-position:center; opacity:0; transition:opacity 1.2s ease; }
#top .hero-slide.is-active { opacity:1; }
body.proposal-three:not(.proposal-four) #top::before { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background:radial-gradient(ellipse at bottom left,rgba(245,244,237,.9),rgba(245,244,237,.48) 35%,transparent 75%),linear-gradient(90deg,rgba(244,245,240,.55),rgba(244,245,240,.2) 65%,rgba(244,245,240,.05)); }
#top .hero-slider-controls { position:absolute; right:4vw; top:84px; display:flex; align-items:center; gap:8px; }
#top .hero-slider-controls button { cursor:pointer; border:1px solid #43535b40; border-radius:30px; padding:8px 12px; font:500 11px/1.2 'Inter',sans-serif; color:#34454c; background:#f4f5f0c9; }
#top .hero-slider-controls button[aria-pressed="true"] { background:#40515a; color:#f4f5f0; }
#top .hero-slider-controls button:focus-visible { outline:2px solid #40515a; outline-offset:3px; }
@media(max-width:800px) { #top .hero-slide { background-position:35% center; } #top .hero-slider-controls { position:relative; top:auto; right:auto; order:5; margin-top:20px; } }
@media(prefers-reduced-motion:reduce) { #top .hero-slide { transition:none; } }

/* Display the hero photographs without a gradient overlay. */
body.proposal-three:not(.proposal-four) #top::before { content:none; background:none; }

body.proposal-four { --color-bg:#0b0c0b; --color-text:#e8e5df; --color-muted:#a3a39c; --color-line:#303330; --color-surface:#141715; --color-accent:#82bfc4; background:#0b0c0b; color:#e8e5df; }
.proposal-four .masthead { height:90px; padding:0 8vw; border-top:3px solid #287e83; border-bottom:0; display:flex; justify-content:space-between; gap:30px; }
.proposal-four .masthead > a:first-child { font:bold 32px Georgia,serif; letter-spacing:-1px; }
.proposal-four .masthead nav { display:flex; gap:30px; }
.proposal-four .masthead nav a,.proposal-four .masthead .masthead-cta { font:12px monospace; letter-spacing:.04em; text-transform:uppercase; }
.proposal-four .masthead .masthead-cta { padding:12px 18px; border-radius:40px; background:#e8e5df; color:#141715; }
body.proposal-four #top { display:block; padding:0; min-height:0; background:#0b0c0b; }
.proposal-four .hero-main { position:relative; padding:clamp(85px,10vw,170px) 8vw 48px; }
html body.proposal-four #top h1 { font-family:Georgia,'Times New Roman',serif; font-size:clamp(48px,6vw,100px); font-weight:400; line-height:1.02; letter-spacing:-.045em; }
.proposal-four #top .hero-followup { max-width:680px; color:#aaa9a2; font:400 clamp(17px,1.35vw,22px)/1.5 'Inter',sans-serif; margin-top:28px; }
.proposal-four #top .hero-actions { justify-content:flex-start; gap:16px; margin-top:28px; }
.proposal-four #top .hero-button { font:12px monospace; text-transform:uppercase; letter-spacing:.04em; border:1px solid #353832; padding:16px 22px; border-radius:40px; }
.proposal-four #top .hero-button--primary { background:#e8e5df; color:#151715; }
.proposal-four #top .hero-button--secondary { background:transparent; color:#e8e5df; }
.proposal-four #top .hero-button:hover { background:#82bfc4; color:#0b0c0b; }
.hero-side-note { position:absolute; bottom:50px; right:8vw; font:12px monospace; text-transform:uppercase; letter-spacing:.05em; text-decoration:none; color:#aaa9a2; }
.hero-side-note span:first-child { color:#82bfc4; margin-right:10px; }
.binary-strip { height:230px; border-block:1px solid #2b2e29; overflow:hidden; }
.binary-strip canvas { display:block; width:100%; height:100%; }
.hero-facts { display:grid; grid-template-columns:repeat(4,1fr); padding:0 8vw; }
.hero-facts span { padding:24px 14px; border:1px solid #262923; border-top:0; text-align:center; color:#aaa9a2; font:12px monospace; text-transform:uppercase; }
.proposal-four .section,.proposal-four .section:nth-child(odd),.proposal-four #overview,.proposal-four #pricing,.proposal-four #about { background:#101310; color:#e8e5df; }
.proposal-four #design-development,.proposal-four #schedule,.proposal-four #terms { background:#141918; color:#e8e5df; }
.proposal-four .eyebrow,.proposal-four #about .eyebrow,.proposal-four #pricing .pricing-lead strong,.proposal-four #pricing tbody td:last-child { color:#82bfc4; }
.proposal-four .section-heading>.eyebrow,.proposal-four .panel,.proposal-four #pricing th,.proposal-four #pricing td,.proposal-four #terms .terms-accordion__item summary { border-color:#343c37; }
.proposal-four #pricing tbody td,.proposal-four #pricing .pricing-subtitle,.proposal-four .schedule-note,.proposal-four .gantt-label small { color:#aaa9a2; }
.proposal-four #objectives .cards-stack-card:not(.is--green):not(.is--dark) { background:#29332e; color:#e8e5df; }
.proposal-four #objectives .cards-stack-card.is--green { background:#3c5550; color:#f1f0e8; }
.proposal-four #objectives .cards-stack-card.is--dark { background:#1b2525; color:#f1f0e8; }
.proposal-four #support .sticky-tab,.proposal-four #support .sticky-tab:nth-child(even) { background:#171e19; }
.proposal-four #support .sticky-tab__inner { background:#101510; border-color:#343c37; }
.proposal-four .gantt-bar { background:#82bfc4; }
.proposal-four .gantt-track { background:repeating-linear-gradient(90deg,#ffffff12 0 1px,transparent 1px calc(100% / 11)); }
.proposal-four .gantt-row { border-color:#ffffff20; }
.proposal-four .progress-nav__wrapper { background:#202620ee; border-color:#3d463e; }
.proposal-four .progress-nav__btn { color:#e8e5df; }
.proposal-four .progress-nav__indicator { background:#e8e5df; }
.proposal-four .site-footer { background:#090c09; }
@media(max-width:1100px) { .hero-side-note { position:static; display:block; margin-top:36px; } .proposal-four .masthead nav { gap:14px; } }
@media(max-width:700px) { .proposal-four .masthead { padding:0 22px; height:76px; } .proposal-four .masthead nav { display:none; } .proposal-four .hero-main { padding:70px 22px 40px; } .hero-facts { padding:0 22px; grid-template-columns:1fr 1fr; } .binary-strip { height:170px; } .proposal-four #top .hero-actions { flex-wrap:wrap; } }
html body.proposal-four #top h1,body.proposal-four #top .hero-copy-line { color:#e8e5df; }
.proposal-four #terms .terms-accordion__number,.proposal-four .gantt-label span,.proposal-four #support .sticky-tab__number { color:#82bfc4; }

#support .support-intro { display:grid; grid-template-columns:1.2fr 1fr; gap:8vw; align-items:center; }
html body.proposal-four #support h2 { font-weight:600; line-height:1; }
#support .support-summary p { margin:0; }
#support .support-lead { font:600 clamp(22px,2vw,32px)/1.4 'Onest',sans-serif; letter-spacing:-.035em; }
#support .support-lead strong { color:#82bfc4; }
#support .support-summary .support-subtitle { margin-top:20px; color:#aaa9a2; font-size:16px; line-height:1.6; }
@media(max-width:800px) { #support .support-intro { grid-template-columns:1fr; gap:32px; } }
/* The heading stays with the reader until the terms grid ends. */
.proposal-four #terms .terms-heading { position:sticky; top:32px; align-self:start; }
@media(max-width:800px) { .proposal-four #terms .terms-heading { top:0; z-index:2; background:#141918; padding:16px 0; } html body.proposal-four #terms .terms-heading h2 { font-size:clamp(28px,6vw,44px); } }
@media print { .proposal-four #terms .terms-heading { position:static; } }
.proposal-four #terms .terms-accordion__item summary { transition:color .2s ease; }
.proposal-four #terms .terms-accordion__item summary:hover,
.proposal-four #terms .terms-accordion__item summary:focus-visible,
.proposal-four #terms .terms-accordion__item[open] summary { color:#8fffe4; }
.proposal-four #terms .terms-accordion__item summary:focus-visible { outline:2px solid #8fffe4; outline-offset:5px; }
.proposal-four .section-intro { display:grid; grid-template-columns:1.2fr 1fr; gap:8vw; align-items:center; }
.proposal-four .section-summary p { margin:0; }
.proposal-four .section-lead { font:600 clamp(22px,2vw,32px)/1.4 'Onest',sans-serif; letter-spacing:-.035em; }
.proposal-four .section-summary strong,.proposal-four .terms-heading-summary strong { color:#8fffe4; }
.proposal-four .section-summary .section-subtitle { margin-top:20px; color:#aaa9a2; font-size:16px; line-height:1.6; }
.proposal-four .terms-heading-summary { font-size:18px; line-height:1.6; max-width:34ch; color:#aaa9a2; margin-top:28px; }
.proposal-four .gantt-weeks { grid-template-columns:repeat(10,1fr); }
.proposal-four .gantt-track { background:repeating-linear-gradient(90deg,#ffffff12 0 1px,transparent 1px calc(100% / 10)); }
@media(max-width:800px) { .proposal-four .section-intro { grid-template-columns:1fr; gap:28px; } .proposal-four #overview .section-summary { display:none; } }
/* Process introduction uses body typography with restrained emphasis. */
.proposal-four #design-development .section-lead { font-family:var(--font-body); font-size:16px; font-weight:400; line-height:1.6; letter-spacing:normal; color:#aaa9a2; }
.proposal-four #design-development .section-lead strong { color:#82bfc4; font-weight:600; }
/* Consistent body-sized introductory copy. */
.proposal-four #schedule .section-lead,
.proposal-four #pricing .pricing-lead,
.proposal-four #support .support-lead { font-family:var(--font-body); font-size:16px; font-weight:400; line-height:1.6; letter-spacing:normal; color:#aaa9a2; }
.proposal-four #schedule .section-lead strong,
.proposal-four #pricing .pricing-lead strong,
.proposal-four #support .support-lead strong { color:#82bfc4; font-weight:600; }
/* Full-width sticky introduction, followed by the terms on the right. */
.proposal-four #terms .terms-grid { display:block; }
.proposal-four #terms .terms-heading { display:grid; grid-template-columns:1.2fr 1fr; gap:8vw; align-items:center; top:0; z-index:3; background:#141918; padding:24px 0; }
.proposal-four #terms .terms-heading-summary { font-size:16px; font-weight:400; line-height:1.6; margin:0; max-width:none; }
.proposal-four #terms .terms-heading-summary strong { color:#82bfc4; font-weight:600; }
.proposal-four #terms .terms-accordion { width:calc((100% - 8vw) / 2.2); margin:40px 0 0 auto; }
@media(max-width:800px) { .proposal-four #terms .terms-heading { grid-template-columns:1fr; gap:16px; padding:16px 0; } .proposal-four #terms .terms-accordion { width:100%; margin-top:24px; } }

/* White client mark in the upper-right corner. */
.proposal-four .masthead-client-logo { display:block; flex:0 0 auto; width:180px; }
.proposal-four .masthead-client-logo img { display:block; width:100%; height:auto; filter:brightness(0) invert(1); }
@media(max-width:700px) { .proposal-four .masthead-client-logo { width:130px; } }
/* Keep the dot canvas behind solid Includes panels, including dimmed steps. */
.proposal-four #design-development .step-timeline__content { opacity:1; --step-content-opacity:.25; }
.proposal-four #design-development [data-status="active"] .step-timeline__content { --step-content-opacity:.5; }
.proposal-four #design-development [data-current] .step-timeline__content { --step-content-opacity:1; }
.proposal-four #design-development .step-timeline__content > :not(.inclusions),
.proposal-four #design-development .inclusions > * { opacity:var(--step-content-opacity); transition:opacity .25s; }
.proposal-four #design-development .inclusions { position:relative; background:#1c2220; }
@media(prefers-reduced-motion:reduce) { .proposal-four #design-development .step-timeline__content { --step-content-opacity:1; } }

/* Proposal metadata adapted to the compact hero strip. */
.proposal-four .hero-facts > div { padding:20px 14px; border:1px solid #262923; border-top:0; text-align:center; display:flex; flex-direction:column; justify-content:center; gap:8px; min-width:0; }
.proposal-four .hero-facts > div > span { padding:0; border:0; font:10px/1.4 monospace; letter-spacing:.08em; color:#aaa9a2; }
.proposal-four .hero-facts strong { font:400 13px/1.5 'Inter',sans-serif; color:#e8e5df; }

.proposal-four:not(.proposal-five) .hero-facts { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media(max-width:480px) { .proposal-four:not(.proposal-five) .hero-facts { grid-template-columns:1fr; } }

/* Six-week programme for index4. */
.proposal-four:not(.proposal-five) .gantt-weeks { grid-template-columns:repeat(6,1fr); }
.proposal-four:not(.proposal-five) .gantt-track { background:repeating-linear-gradient(90deg,#ffffff12 0 1px,transparent 1px calc(100% / 6)); }

/* Keep the three-line opportunity heading clear of the fanning cards. */
.proposal-four:not(.proposal-five) #overview #objectives .cards-stack__item { top:390px; }
@media(max-height:800px) and (min-width:801px) { .proposal-four:not(.proposal-five) #overview #objectives .cards-stack__item { top:320px; } }
@media(max-width:800px) { .proposal-four:not(.proposal-five) #overview #objectives .cards-stack__item { top:280px; } }

/* Smaller, lower hero headline on the dark proposal. */
html body.proposal-four:not(.proposal-five) #top h1 { font-size:clamp(36px,4.5vw,75px); }
.proposal-four:not(.proposal-five) .hero-main { padding-top:clamp(145px,16vw,270px); }
@media(max-width:700px) { .proposal-four:not(.proposal-five) .hero-main { padding-top:110px; } }
/* Give opportunity cards more room without scaling their typography. */
.proposal-four:not(.proposal-five) #overview #objectives .cards-stack__item { max-width:23rem; }
.proposal-four:not(.proposal-five) #overview #objectives .cards-stack-card { min-height:430px; }
@media(max-height:800px) and (min-width:801px) { .proposal-four:not(.proposal-five) #overview #objectives .cards-stack-card { min-height:380px; } }
@media(max-width:800px) { .proposal-four:not(.proposal-five) #overview #objectives .cards-stack__item { max-width:min(21rem,82vw); } }

/* Original homepage typography and stickers, centered in the dark hero. */
.proposal-four:not(.proposal-five) .hero-main { text-align:center; padding:clamp(100px,11vw,190px) 5vw 70px; }
html body.proposal-four:not(.proposal-five) #top h1 { font-family:'Boldonse',Arial,sans-serif; font-weight:400; font-size:clamp(1.1rem,3.3vw,2.95rem); line-height:1.45; letter-spacing:-.035em; text-transform:uppercase; margin:0 auto; }
.proposal-four:not(.proposal-five) #top .hero-copy-line { display:flex; justify-content:center; align-items:center; gap:.18em; white-space:nowrap; }
.proposal-four:not(.proposal-five) #top .hero-actions { justify-content:center; margin-top:36px; }
.proposal-four:not(.proposal-five) .hero-side-note { position:static; display:block; margin-top:36px; }
@media(max-width:700px) { html body.proposal-four:not(.proposal-five) #top h1 { font-size:clamp(.75rem,3.05vw,1.65rem); } .proposal-four:not(.proposal-five) .hero-main { padding:100px 18px 50px; } }
/* Center the process as one readable column, including its markers. */
.proposal-four:not(.proposal-five) #design-development .step-timeline { max-width:860px; margin-inline:auto; }
.proposal-four:not(.proposal-five) #design-development .step-timeline__content { flex:1; max-width:none; }
/* Boldonse section titles, sized for the existing split introductions. */
html body.proposal-four:not(.proposal-five) .section h2 { font-family:'Boldonse',Arial,sans-serif; font-weight:400; font-size:clamp(26px,3.1vw,48px); line-height:1.45; letter-spacing:-.035em; }
html body.proposal-four:not(.proposal-five) #overview h2 { font-size:clamp(22px,2.65vw,42px); }
@keyframes hero-sticker-wobble { 0%,100% { transform:rotate(0) scale(1); } 20% { transform:rotate(-13deg) scale(1.08); } 45% { transform:rotate(11deg) scale(1.08); } 65% { transform:rotate(-7deg) scale(1.05); } 85% { transform:rotate(4deg) scale(1.02); } }
@media(hover:hover) and (prefers-reduced-motion:no-preference) { .proposal-four:not(.proposal-five) #top .hero-sticker:hover { animation:hero-sticker-wobble .75s ease-in-out infinite; } }
@media(max-width:700px) { .proposal-four:not(.proposal-five) #design-development .step-timeline__item { gap:1.5em; } }
/* Consistent heading rhythm, including the section-specific overrides. */
html body.proposal-four:not(.proposal-five) :is(#top,#overview,#design-development,#schedule,#pricing,#support,#terms,#about) :is(h1,h2,h3,h4,h5,h6) { letter-spacing:-.01em; line-height:1.4; }
html body.proposal-four:not(.proposal-five) :is(#overview,#design-development,#schedule,#pricing,#support,#terms,#about) h2 { line-height:1.55; }
html body.proposal-four:not(.proposal-five) #overview .cards-stack-card__h { line-height:1.35; letter-spacing:-.01em; }
html body.proposal-four:not(.proposal-five) #overview h2 { line-height:1.55; }
.proposal-four:not(.proposal-five) #overview #objectives .cards-stack__item { top:330px; }
@media(max-height:800px) and (min-width:801px) { .proposal-four:not(.proposal-five) #overview #objectives .cards-stack__item { top:260px; } }
@media(max-width:800px) { .proposal-four:not(.proposal-five) #overview #objectives .cards-stack__item { top:320px; } }

/* Comfortable header row with room above and below the labels. */
.proposal-four:not(.proposal-five) #pricing thead th { padding:18px 12px; font-size:12px; line-height:1.6; vertical-align:middle; white-space:normal; }
.proposal-four:not(.proposal-five) #pricing thead th:first-child { padding-left:0; }
.proposal-four:not(.proposal-five) #pricing thead th:last-child { padding-right:0; }

/* Support details open on demand instead of sticking during scroll. */
.proposal-four:not(.proposal-five) #support .support-accordions { margin-inline:4vw; }
.support-accordion { border-top:1px solid #343c37; }
.support-accordion:last-child { border-bottom:1px solid #343c37; }
.support-accordion summary { display:flex; align-items:center; gap:24px; padding:26px 0; cursor:pointer; list-style:none; }
.support-accordion summary::-webkit-details-marker { display:none; }
.support-accordion__number { color:#82bfc4; font-size:12px; }
.support-accordion__title { font:500 clamp(18px,2vw,28px)/1.4 'Onest',sans-serif; }
.support-accordion__icon { margin-left:auto; font-size:26px; }
.support-accordion[open] .support-accordion__icon { transform:rotate(45deg); }
.support-accordion summary:focus-visible { outline:2px solid #82bfc4; outline-offset:4px; }
.support-accordion__body { max-width:78ch; margin-left:auto; padding:8px 0 36px; }
.support-accordion__body p { margin:0 0 16px; }
.support-accordion__body ul { padding-left:22px; margin-bottom:20px; }
.support-accordion__body li { margin-bottom:8px; }
/* Inset the pricing and support content with comfortable breathing room. */
.proposal-four:not(.proposal-five) #pricing .table-wrap { margin:32px clamp(16px,3vw,56px) 24px; }
.proposal-four:not(.proposal-five) #pricing table th,
.proposal-four:not(.proposal-five) #pricing table td { padding-left:20px; padding-right:20px; }
.proposal-four:not(.proposal-five) #support .support-accordions { margin:32px clamp(16px,3vw,56px) 0; }
.proposal-four:not(.proposal-five) #support .support-accordion summary { padding-inline:20px; }
.proposal-four:not(.proposal-five) #support .support-accordion__body { padding:16px 20px 40px; }
.proposal-four:not(.proposal-five) #support { padding-bottom:clamp(64px,7vw,110px); }
@media(max-width:700px) {
 .proposal-four:not(.proposal-five) #pricing .table-wrap,
 .proposal-four:not(.proposal-five) #support .support-accordions { margin-inline:0; }
 .proposal-four:not(.proposal-five) #support .support-accordion summary { padding-inline:12px; }
 .proposal-four:not(.proposal-five) #support .support-accordion__body { padding-inline:12px; }
}
/* Match schedule content to the pricing and support insets. */
.proposal-four:not(.proposal-five) #schedule > .section-body { margin:32px clamp(16px,3vw,56px) 24px; }
@media(max-width:700px) { .proposal-four:not(.proposal-five) #schedule > .section-body { margin-inline:0; } }

.proposal-four:not(.proposal-five) #about .section-lead { font-family:var(--font-body); font-size:16px; font-weight:400; line-height:1.6; letter-spacing:normal; color:#aaa9a2; }
.proposal-four:not(.proposal-five) #about .section-lead strong { font-weight:600; }

.proposal-four:not(.proposal-five) #about .eyebrow { text-transform:none; }
/* Let the chart shrink between its margins instead of overflowing at 100% width. */
.proposal-four:not(.proposal-five) #schedule > .section-body { width:auto; min-width:0; }

/* Technology subsection beneath the scope timeline. */
#design-development .technology-stack { max-width:1100px; margin:clamp(64px,7vw,112px) auto 0; }
#design-development .technology-stack > h3 { font-family:"Boldonse",sans-serif; font-size:clamp(20px,2vw,28px); font-weight:400; line-height:1.6; margin:0 0 40px; }
#design-development .technology-stack__list { list-style:none; padding:0; margin:0; }
#design-development .technology-stack__list > li { display:grid; grid-template-columns:64px minmax(0,1fr); gap:24px; padding:28px 0; border-bottom:1px solid rgba(232,229,223,.12); }
#design-development .technology-stack__number { color:#82bfc4; font-size:12px; padding-top:7px; }
#design-development .technology-stack h4 { font-family:"Onest",sans-serif; font-size:clamp(20px,2vw,28px); font-weight:600; line-height:1.4; margin:0 0 12px; }
#design-development .technology-stack p { color:#aaa9a2; font-size:16px; line-height:1.65; margin:0; }
@media(max-width:600px) { #design-development .technology-stack__list > li { grid-template-columns:28px minmax(0,1fr); gap:16px; } }

#design-development .scope-exclusions__list { margin:0; padding-left:1.25rem; color:#aaa9a2; font-size:16px; line-height:1.65; }
#design-development .scope-exclusions__list li { padding:12px 0 12px 10px; }
#design-development .scope-exclusions__list li::marker { color:#82bfc4; }

/* Phone-only opening screen; tablet and desktop retain their layout. */
@media (max-width:600px) {
  .proposal-four:not(.proposal-five) #top .hero-facts { display:none; }
  .proposal-four:not(.proposal-five) #top .binary-strip { height:clamp(150px,22svh,220px); }
  .proposal-four:not(.proposal-five) #top .hero-main {
    box-sizing:border-box;
    min-height:calc(100svh - 76px - clamp(150px,22svh,220px));
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:48px 18px;
  }
}

.section-dock { display:none; z-index:100; width:fit-content; margin-left:auto; margin-right:auto; position:fixed; bottom:calc(2em + env(safe-area-inset-bottom)); left:0; right:0; font:14px/1.5 'Inter',sans-serif; }
.section-dock__pill { color:#161c33; background-color:#e9ecf6; border-radius:1.5em; overflow:hidden; }
.section-dock__toggle { color:inherit; white-space:nowrap; appearance:none; background-color:#0000; border:none; font:inherit; padding:.85em 1.5em; display:block; cursor:pointer; }
.section-dock__label-wrap { height:1.5em; display:block; position:relative; overflow:hidden; }
.section-dock__link-num { color:#161c338c; margin-right:.6em; font-size:.75em; line-height:1; display:inline-block; position:relative; bottom:.05em; }
[data-section-dock-link][data-active] .section-dock__link-num { color:rgba(255,255,255,.6); }
.section-dock__label { line-height:1.5; display:block; }
.section-dock__list { opacity:0; visibility:hidden; width:max-content; padding:.5em; position:absolute; top:0; left:0; }
.section-dock__indicator { z-index:1; pointer-events:none; background-color:#161c33; border-radius:100em; width:2em; height:2em; position:absolute; top:0; left:0; }
.section-dock__items { flex-flow:column; margin:0; padding-left:0; list-style:none; display:flex; }
.section-dock__link { z-index:2; white-space:nowrap; color:inherit; border-radius:100em; padding:.5em 1em; text-decoration:none; transition:color .3s ease; display:block; position:relative; }
[data-section-dock-link][data-active] { color:#fff; }
@media(max-width:600px) { .progress-nav { display:none; } .section-dock { display:block; } }

@media(max-width:600px) {
  html body.proposal-four:not(.proposal-five) #top h1 {
    width:80vw;
    max-width:80vw;
    font-size:5.2vw;
    margin-inline:auto;
  }
}

/* Hide hero action buttons on phones and tablets. */
@media (max-width:1024px) {
  .proposal-four #top .hero-main .hero-actions { display:none; }
}

/* Quieter, more compact opportunity cards on phones. */
@media(max-width:600px) {
  .proposal-four:not(.proposal-five) #overview #objectives .cards-stack__item { max-width:min(19rem,76vw); }
  .proposal-four:not(.proposal-five) #overview #objectives .cards-stack-card { min-height:380px; aspect-ratio:auto; padding:1.35rem; }
  .proposal-four:not(.proposal-five) #overview #objectives .cards-stack-card__number { font-weight:400; font-size:3.5rem; opacity:.45; }
  .proposal-four:not(.proposal-five) #overview #objectives .cards-stack-card__h { font-size:1.5rem; }
}

/* Phone heading sizing and tighter process timeline titles. */
@media(max-width:600px) {
  html body.proposal-four:not(.proposal-five) .section h2 { font-size:clamp(31.2px,3.72vw,57.6px); }
  html body.proposal-four:not(.proposal-five) #overview h2 { font-size:clamp(26.4px,3.18vw,50.4px); }
  html body.proposal-four:not(.proposal-five) #terms .terms-heading h2 { font-size:clamp(33.6px,7.2vw,52.8px); }
  html body.proposal-four:not(.proposal-five) #design-development h3.step-timeline__content-h { line-height:1.05; }
}

@media(max-width:600px) {
  .logo-loader__stack { width:min(40.95vw,20.16rem); }
}
