/* Independent Codex finish — one editorial layer, October 6, 2026. */
:root {
  --wrap: 78rem;
  --gutter: clamp(1.25rem, 4vw, 4rem);
  --sec-gap: clamp(3.25rem, 6.2vw, 5.75rem);
  --brand-gold: #e8b53f;
}
html { scroll-padding-top: 7rem; }
body { line-height: 1.65; }
h1, h2 { font-family: var(--serif); font-weight: 450; letter-spacing: -.035em; line-height: 1.08; }
h3 { letter-spacing: -.025em; }
h2 em { font-weight: 430; }
p { text-wrap: pretty; }
.eyebrow, .label, .sec__num { letter-spacing: .105em; font-size: .8rem; }
.sec__head { gap: 1rem; margin-bottom: 2.6rem; }
.sec__head h2 { max-width: 48rem; }
.sec__head .lede { max-width: 42rem; }
.btn { min-height: 46px; padding: .7rem 1.15rem; font-weight: 600; border-radius: 1.5rem; }
a { text-underline-offset: .22em; }
:where(a, button, summary):focus-visible { outline-width: 3px; outline-offset: 5px; }
.masthead__bar { min-height: 88px; }
.brand { width: 168px; }
.nav { gap: 1.45rem; }
.nav a { font-size: .94rem; }
.nav .nav__cta { font-size: .9rem; }
.sculpt-hero__grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.04fr);
  gap: clamp(2rem, 4vw, 4rem);
  padding-block: 3.5rem 3rem;
  min-height: 600px;
}
.sculpt-hero h1 {
  font-family: var(--serif);
  font-size: clamp(3.55rem, 6vw, 5.9rem);
  font-weight: 450; letter-spacing: -.043em;
  line-height: 1.025; margin-block: 1.3rem 1.65rem;
}
.sculpt-hero h1 em { color: var(--brand-gold); }
.sculpt-hero .lede { font-size: clamp(1.13rem, 1.4vw, 1.25rem); line-height: 1.5; max-width: 31rem; }
.hero-summary { max-width: 30rem; margin-top: 1.25rem; color: var(--on-dark-2); font-size: 1rem; }
.sculpt-hero .actions { margin-top: 1.7rem; gap: .75rem; }
.sculpt-hero__art { margin: 0; align-self: center; }
.sculpt-hero__art .hero-desktop { display: block; }
.sculpt-hero__art .hero-phone { display: none; }
.sculpt-hero__art figcaption { margin: .4rem 0 0; text-align: center; font-size: .87rem; color: var(--on-dark-2); }
.hero-sequence { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid #56617a; }
.hero-sequence a {
  display: flex; align-items: center; gap: .8rem; padding: 1.3rem 0;
  min-height: 64px; color: var(--on-dark); text-decoration: none; font-size: 1.06rem; font-weight: 550;
}
.hero-sequence a + a { padding-left: 1.5rem; border-left: 1px solid #56617a; }
.hero-sequence a:hover { color: var(--brand-gold); }
.hero-sequence .sequence-number { color: var(--brand-gold); font-size: .79rem; letter-spacing: .06em; }
.stage-section { background: var(--paper); }
.stage-cards { gap: 1.1rem; }
.form-card { border-radius: 1.6rem .6rem .6rem .6rem; background: var(--wash); }
.form-card__top { padding: 1.25rem 1.15rem 0; }
.form-card > .stage-illustration { height: 175px; object-fit: contain; padding: .6rem .6rem 0; }
.form-card__body { padding: .25rem 1.15rem 1.5rem; }
.form-card__body h3 { font-family: var(--serif); font-weight: 500; font-size: 2.05rem; }
.form-card__body p { font-size: 1rem; line-height: 1.5; margin-top: .6rem; }
.form-card__output { margin-top: 1.15rem; padding-top: 1rem; }
.form-card__output h4 { font-weight: 650; font-size: .9rem; line-height: 1.45; }
.form-card__output p { font-size: .94rem; }
.form-number { font-size: .88rem; letter-spacing: .06em; color: var(--ink-2); }
.form-symbol { display: inline-grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: var(--wash, var(--paper)); }
.form-symbol img.stage-symbol { width: 30px; height: 30px; padding: 0; }
.selected-grid { gap: 1.5rem; }
.selected-grid article {
  border: 1px solid var(--rule-soft); border-top: 0;
  border-radius: 1.6rem .6rem .6rem .6rem; box-shadow: inset 0 4px 0 var(--accent);
  padding: 1.75rem; display: flex; flex-direction: column; align-items: flex-start;
}
.selected-grid h3 { margin-top: .75rem; font-size: 1.5rem; line-height: 1.2; }
.selected-grid p { margin-bottom: 1rem; }
.selected-grid .svc-action { margin-top: auto; line-height: 1.45; }
.route { border-top-color: #8b9ba4; padding-block: 1.65rem; gap: 1rem; }
.route__name { font-family: var(--serif); font-size: 2.3rem; font-weight: 450; line-height: 1.08; letter-spacing: -.03em; }
.route__t { line-height: 1.55; }
.route__go { font-weight: 650; margin-top: auto; }
.phead { padding-block: 3rem 3.5rem; }
.phead h1, .contact-main h1 { font-size: clamp(2.9rem, 5vw, 4.65rem); }
.phead__grid { align-items: center; }
.phead .label { margin-bottom: .8rem; }
.crumbs { font-size: .85rem; margin-bottom: 1.25rem; }
.approach-story { gap: 2rem; }
.approach-story li { border: 1px solid #d2dce1; border-radius: 1rem; padding: 1.6rem; }
.approach-story li:not(:last-child)::after { top: 4.1rem; right: -1.6rem; color: var(--ink-2); }
.story-art { height: 115px; margin-bottom: .35rem; }
.story-connections { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; width: 100%; align-content: center; }
.story-connections span {
  position: relative; display: grid; place-items: center; text-align: center;
  padding: .65rem .2rem; border: 1px solid #8a9da9; border-radius: .5rem;
  background: #e6edf1; font-size: .76rem; font-weight: 550; line-height: 1.3;
}
.story-connections span + span::before { content: none; }
.story-connections span:not(:last-child)::after {
  content: ""; position: absolute; top: 50%; width: .7rem; height: 1px;
  background: #8a9da9; right: -.7rem;
}
.practice-stages { gap: 2rem; }
.practice-stages .form-symbol { width: 52px; height: 52px; }
.practice-stages .form-symbol img.stage-symbol { width: 32px; height: 32px; }
.practice-stages h3 { font-family: var(--serif); font-size: 2rem; font-weight: 450; margin-top: 1rem; }
.practice-stages p { font-size: 1rem; line-height: 1.5; max-width: 17rem; }
.practice-scope { border-top: 1px solid #56617a; padding-top: 1.8rem; margin-top: 2.1rem; }
.capability-grid { gap: 2.2rem 3rem; }
.capability-grid article { border-top: 1px solid #8b9ba4; padding-top: 1.35rem; }
.capability-grid h3 { font-family: var(--serif); font-weight: 500; font-size: 1.7rem; margin-bottom: .65rem; }
.capability-grid p { color: var(--ink-2); max-width: 33rem; }
.service-guide { border-top: 0; box-shadow: inset 0 4px 0 var(--brand-gold); }
.stage-jump { gap: 1rem; padding-block: .4rem; }
.stage-jump a { gap: .8rem; }
.stage-jump .form-symbol { width: 42px; height: 42px; }
.cat { grid-template-columns: minmax(0, 19rem) minmax(0, 1fr); gap: 4rem; padding-block: 2rem; border-top-width: 1px; }
.cat + .cat { border-top-width: 1px; margin-top: 1.5rem; }
.cat__side h2 { font-size: 2.9rem; }
.cat__side .service-form { max-height: 165px; margin-top: 1.1rem; }
.svclist__name { font-size: 1.2rem; font-weight: 600; letter-spacing: -.02em; }
.svclist__out { max-width: 40rem; }
.svclist > li { padding-block: 1.5rem; }
.mapping-intro { padding-block: 2.2rem 3.5rem; }
.mapping-intro h1 { font-size: clamp(2.8rem, 4.7vw, 4.5rem); }
.mapping-intro .eyebrow { text-transform: none; font-size: .82rem; letter-spacing: .015em; }
.mapping-intro__form { max-width: 31rem; justify-self: end; filter: none; }
.map-diagram { border-color: #b7c1bd; padding: 1.25rem; border-radius: 1rem; }
.map-diagram figcaption { font-size: .87rem; line-height: 1.5; }
.scene-notes { gap: 2rem; margin-top: 1.8rem; }
.scene-notes p { line-height: 1.6; }
.equiv summary { min-height: 44px; display: flex; align-items: center; font-size: .95rem; font-weight: 600; }
.sculpt-output { gap: 4rem; }
.output-model { max-width: 490px; justify-self: end; }
.output-model figcaption { font-size: .87rem; margin-top: .8rem; padding-top: .8rem; }
.contact-brand { border-radius: 1.6rem .6rem .6rem .6rem; padding: 2.5rem 2rem; }
.contact-brand figcaption { margin-top: 1.75rem; }
.brand-slogan {
  color: var(--brand-gold); font-size: 1.2rem; font-weight: 600; letter-spacing: .015em;
  line-height: 1.4; display: inline-flex; flex-direction: row; flex-wrap: wrap;
}
.slogan-dot, .slogan-between { color: #bdcdd7; }
.slogan-between { display: inline; margin-inline: .35em; }
.foot { padding-block: 3.5rem 1.5rem; }
.foot__grid { display: grid; grid-template-columns: 1.2fr 1fr .95fr; gap: 3rem; align-items: start; }
.footer-logo { width: 280px; }
.foot__slogan { text-transform: none; margin-top: 1.2rem; font-weight: 600; letter-spacing: 0; }
.foot__slogan .brand-slogan { font-size: 1.35rem; }
.footer-note { font-size: .98rem; margin-top: 1rem; color: var(--on-dark-2); }
.foot__links { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem 1.5rem; font-size: .94rem; }
.foot__links a { text-decoration: none; line-height: 1.4; padding-block: .25rem; }
.foot__links a:hover { text-decoration: underline; }
.footer-contact .label { color: var(--on-dark-2); }
.footer-invite { display: inline-block; font-family: var(--serif); color: var(--on-dark); font-size: 1.8rem; line-height: 1.15; text-decoration: none; margin-top: .65rem; }
.footer-invite:hover { color: var(--brand-gold); }
.footer-email { margin-top: 1rem; font-size: .94rem; }
.footer-email a { color: var(--brand-gold); }
.footer-bottom { display: flex; justify-content: space-between; gap: 1rem; border-top: 1px solid #56617a; margin-top: 2.5rem; padding-top: 1.2rem; }
.footer-bottom p { margin: 0; font-size: .83rem; color: var(--on-dark-2); }
.privacy-intro { padding-block: 3rem 2rem; }
.privacy-intro h1 { font-size: clamp(3rem, 5vw, 4.65rem); }
.privacy-content { max-width: 50rem; padding-block: 0 4.5rem; }
.privacy-content section { padding-block: 1.7rem; border-top: 1px solid var(--rule); }
.privacy-content h2 { font-size: 2rem; margin-bottom: .85rem; }
.privacy-content p { max-width: 43rem; color: var(--ink-2); }
@media (max-width: 1100px) {
  .nav { gap: .9rem; }
  .sculpt-hero__grid { min-height: 520px; gap: 2rem; }
  .sculpt-hero h1 { font-size: clamp(3.5rem, 6.2vw, 5rem); }
  .stage-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .form-card > .stage-illustration { height: 190px; }
  .foot__grid { grid-template-columns: 1.2fr 1fr; gap: 2rem; }
  .footer-contact { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: .5rem 2rem; }
  .footer-contact .label { grid-column: 1; }
  .footer-invite { grid-column: 1; margin-top: 0; }
  .footer-email { grid-column: 2; grid-row: 1 / 3; align-self: end; }
  .cat { grid-template-columns: minmax(0, 16rem) minmax(0, 1fr); gap: 2rem; }
  .sculpt-output { grid-template-columns: 1fr; gap: 2rem; }
  .output-model { max-width: 490px; justify-self: start; }
  .brand-slogan { font-size: 1.15rem; }
}
@media (max-width: 768px) {
  .masthead__bar { min-height: 82px; }
  .nav { gap: 0; }
  .sculpt-hero__grid { grid-template-columns: minmax(0, 1fr); min-height: 0; padding-block: 2.6rem 1.8rem; gap: 1.75rem; }
  .sculpt-hero h1 { font-size: clamp(3.3rem, 11vw, 4.8rem); margin-bottom: 1.4rem; }
  .sculpt-hero .lede { font-size: 1.15rem; }
  .sculpt-hero__art { width: 100%; max-width: 31rem; margin-inline: auto; }
  .sculpt-hero__art .hero-desktop { display: block; }
  .sculpt-hero__art .hero-phone { display: none; }
  .hero-sequence { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero-sequence a { padding: 1rem 0; min-height: 58px; font-size: 1rem; }
  .hero-sequence a + a { padding-left: 1.15rem; }
  .hero-sequence a:nth-child(3) { padding-left: 0; border-left: 0; }
  .hero-sequence a:nth-child(n+3) { border-top: 1px solid #56617a; }
  .phead { padding-block: 2.2rem 2.7rem; }
  .phead__grid { gap: 1.5rem; }
  .phead h1, .contact-main h1 { font-size: clamp(2.7rem, 9.5vw, 3.9rem); }
  .sec__head { margin-bottom: 2rem; }
  .form-card { display: block; padding: 0; }
  .form-card__top { padding: 1.1rem 1.1rem 0; }
  .form-card .form-symbol { width: 44px; height: 44px; }
  .form-card .form-symbol img.stage-symbol { width: 30px; height: 30px; }
  .form-card > .stage-illustration { width: 100%; height: 170px; margin: 0; padding: .3rem .7rem 0; }
  .form-card__body { padding: .5rem 1.15rem 1.4rem; }
  .form-card__body h3 { font-size: 1.9rem; }
  .selected-grid article { padding: 1.5rem; }
  .route__name { font-size: 2.2rem; }
  .approach-story li { display: block; padding: 1.4rem; }
  .approach-story h3 { margin: .5rem 0 .75rem; }
  .approach-story p { margin: 0; }
  .approach-story li:not(:last-child)::after { top: auto; bottom: -1.9rem; right: 50%; }
  .story-art { height: 105px; }
  .story-connections { max-width: 23rem; margin-inline: auto; }
  .story-connections span { font-size: .9rem; padding: .65rem .25rem; }
  .practice-stages { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 1.3rem; }
  .practice-stages h3 { font-size: 1.75rem; }
  .practice-stages p { font-size: .98rem; }
  .capability-grid { gap: 1.7rem; }
  .cat { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .cat__side .service-form { max-width: 20rem; height: 150px; margin-top: .75rem; }
  .mapping-intro__grid { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .mapping-intro h1 { font-size: clamp(2.6rem, 8.8vw, 3.8rem); }
  .mapping-intro__form { width: 100%; max-width: 24rem; height: 170px; justify-self: center; object-fit: contain; }
  .mapping-intro .eyebrow { font-size: .78rem; line-height: 1.5; }
  .map-diagram { padding: .45rem; }
  .scene-notes { gap: 1rem; }
  .output-model { max-width: 490px; width: 100%; }
  .contact-brand { padding: 2rem 1.5rem; }
  .contact-brand .brand-slogan { font-size: 1.1rem; }
  .foot { padding-top: 2.8rem; }
  .foot__grid { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .footer-logo { width: 260px; max-width: 100%; }
  .footer-contact { display: block; grid-column: auto; }
  .footer-invite { margin-top: .5rem; }
  .footer-email { margin-top: 1rem; }
  .footer-bottom { display: block; margin-top: 2rem; }
  .footer-bottom p + p { margin-top: .6rem; }
  .foot__slogan .brand-slogan { font-size: 1.3rem; }
  .privacy-intro { padding-top: 2.2rem; }
  .privacy-content { padding-bottom: 3rem; }
}
@media (max-width: 560px) {
  .stage-cards { grid-template-columns: minmax(0, 1fr); }
  .form-card { display: grid; grid-template-columns: 90px minmax(0, 1fr); align-items: start; padding: 1.1rem; border-radius: 1rem; gap: .6rem 1rem; }
  .form-card__top { grid-column: 1; padding: 0; align-self: start; flex-direction: column; align-items: center; gap: .5rem; }
  .form-card > .stage-illustration { grid-column: 1; grid-row: 2; width: 90px; height: 80px; padding: 0; align-self: start; }
  .form-card__body { grid-column: 2; grid-row: 1 / 3; padding: 0; min-width: 0; }
  .form-card__body h3 { font-size: 1.8rem; }
  .form-card__output { margin-top: .9rem; padding-top: .8rem; }
  .form-card__body p { font-size: .96rem; }
  .form-card__output p { font-size: .9rem; }
  .brand-slogan { flex-direction: column; align-items: flex-start; }
  .slogan-between { display: none; }
}
@media (max-width: 360px) {
  .sculpt-hero h1 { font-size: 3.28rem; }
  .sculpt-hero .actions { flex-direction: column; align-items: stretch; }
  .sculpt-hero .btn { justify-content: center; }
  .form-card { grid-template-columns: 64px minmax(0, 1fr); gap: .5rem .8rem; padding: 1rem; }
  .form-card > .stage-illustration { width: 64px; height: 65px; }
  .practice-stages { gap: 1.7rem 1rem; }
  .story-connections { gap: .55rem; }
  .story-connections span { font-size: .75rem; }
  .story-connections span:not(:last-child)::after { width: .55rem; right: -.55rem; }
  .mapping-intro .eyebrow { align-items: flex-start; }
  .mapping-intro .eyebrow .form-symbol { width: 40px; height: 40px; }
}
