/* Scoped copy/flow additions. Existing package scene and controller are intact. */
[data-package-content="ready"] .pb-heading h1,
[data-package-content="ready"] .pb-heading h2 { max-width: 900px; margin-inline: auto; }
[data-package-content="ready"] .pb-heading p { max-width: 680px; margin-inline: auto; }
[data-package-content="ready"] .pb-overview-facts dd { font-size: clamp(21px,2.6vw,32px); white-space: normal; overflow-wrap: anywhere; }
[data-package-content="ready"] .pb-overview-facts dt { margin-top: 8px; }
/* The name belongs on the box plate; no price or coaching caption below it. */
.pc-box-caption { display: none !important; }
[data-package-content="ready"] .pb-box-plaque > span,
[data-package-content="ready"] .pb-box-plaque > small,
[data-package-content="ready"] .pb-card-tier,
[data-package-content="ready"] .pb-delivery-copy > section[hidden] { display: none !important; }
[data-package-content="ready"] .pb-plan-card h3 { min-height: 0; font-size: clamp(23px,2.1vw,28px); }
[data-package-content="ready"] .pb-card-intro { min-height: 90px; }
[data-package-content="ready"] .pb-card-identity strong { font-size: clamp(28px,3vw,42px); white-space: nowrap; }
[data-package-content="ready"] .pb-box-plaque strong { font-size: clamp(22px,3.3vw,42px); line-height: 1.1; letter-spacing: -.025em; }
[data-package-content="ready"] .pb-box-plaque small { font-size: clamp(10px,1vw,13px); line-height: 1.3; }
[data-package-content="ready"] .pb-card-inclusions { display: none; }
.pc-support-list { margin: 0 0 24px; }
.pc-support-list > div { padding: 13px 0; border-top: 1px solid #b6c5d124; min-height: 76px; }
.pc-support-list dt { color: #a5b4c1; font-size: 11px; line-height: 1.5; }
.pc-support-list dd { margin: 5px 0 0; color: #e2eaf0; font-size: 14px; line-height: 1.5; }
[data-package-content="ready"] .pb-card-inclusions li { align-items: flex-start; }
[data-package-content="ready"] .pb-card-inclusions li svg { flex-shrink: 0; margin-top: 2px; }
[data-package-content="ready"] .po-center::after { content: "Support overview" !important; }
/* The original catalog illustrates unrelated roles. Keep its React-owned
   wrapper/ref intact, while hiding those obsolete tier controls. */
[data-package-content="ready"] .po-agent-group,
[data-package-content="ready"] .po-center { display: none !important; }
[data-package-content="ready"] .po-continuous-scene { display: none !important; margin: 0 !important; padding: 0 !important; min-height: 0 !important; height: 0 !important; }
[data-package-content="ready"] .pb-stage-footer { display:none; }
[data-package-content="ready"] .pe-comparison .pe-section-heading { margin-top:38px; }
.pc-demo-link { display: inline-flex; gap: 18px; align-items: center; min-height: 44px; padding: 10px 0; color: #e9f0f6; border-bottom: 1px solid #8fa3b6; text-decoration: none; font-size: 13px; font-weight: 500; }
.pc-demo-link:hover { color: #fff; border-color: #fff; }
.pc-demo-link:focus-visible, .pc-request-steps summary:focus-visible { outline: 2px solid #dce8f4; outline-offset: 5px; border-radius: 2px; }
.managed-overview[data-package-flow="ready"] > .managed-lifecycle,
.ip-paths[data-package-flow="ready"] > .ip-path-options,
.ip-paths[data-package-flow="ready"] > .ip-path-guidance { display: none; }
.pc-request-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 23px; }
.pc-request-steps > li { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 19px; align-items: start; }
.pc-step-number { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid #abb7c247; border-radius: 50%; color: #bac7d1; font-size: 11px; font-variant-numeric: tabular-nums; }
.pc-step-actor { display: block; color: #91a7b8; font-size: 10px; font-weight: 500; line-height: 1.5; letter-spacing: .11em; text-transform: uppercase; }
.pc-request-steps h3 { margin: 5px 0 7px; color: #e5ecf1; font-size: 18px; font-weight: 500; letter-spacing: -.025em; line-height: 1.3; }
.pc-request-steps p { margin: 0; color: #b1bfca; font-size: 13px; line-height: 1.75; }
.pc-workflow { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: clamp(35px,6vw,90px); padding: 55px 0; border-block: 1px solid #afc1cf2b; }
.pc-workflow-intro h2 { font-family: "DM Serif Display",Georgia,serif; font-size: clamp(30px,3vw,42px); font-weight: 400; line-height: 1.12; letter-spacing: -.035em; margin: 18px 0; }
.pc-workflow-intro > p { color: #aebdca; font-size: 14px; line-height: 1.8; margin-bottom: 22px; }
.pc-demo-disclosure { display: block; margin-top: 18px; max-width: 360px; color: #97aaba; font-size: 12px; line-height: 1.7; }
.pc-demo-views { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; }
.pc-agency-model { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 25px; margin: 0 0 30px; padding: 20px 0; border-block: 1px solid #afc1cf2b; }
.pc-agency-model > div { min-width: 0; }
.pc-agency-model dt { color: #e4edf4; font-size: 13px; font-weight: 500; margin-bottom: 6px; }
.pc-agency-model dd { margin: 0; color: #adbecd; font-size: 12px; line-height: 1.7; }
.pc-view-key { margin: 25px 0 20px; }
.pc-view-key > div { display: grid; grid-template-columns: 70px minmax(0,1fr); gap: 16px; padding: 11px 0; border-bottom: 1px solid #afc1cf20; }
.pc-view-key dt { color: #e4edf4; font-size: 13px; font-weight: 500; }
.pc-view-key dd { margin: 0; color: #adbecd; font-size: 13px; line-height: 1.6; }
.ip-paths[data-package-flow="ready"] .ip-next > a[href="/contact"] { display: none; }
.pc-branding-action { max-width: 280px; flex-shrink: 0; }
.pc-branding-action small { display: block; color: #9fb1c1; font-size: 12px; line-height: 1.7; margin-top: 12px; }
.pc-request-steps-full { gap: 27px; }
.pc-request-steps details { margin-top: 5px; }
.pc-request-steps summary { padding: 11px 0; color: #c5d5e2; font-size: 12px; cursor: pointer; min-height: 44px; }
.pc-request-steps details > p { padding: 0 0 11px; color: #b9c9d6; }
.pc-brief-status { color: #c3d4e1; font-size: 13px; line-height: 1.7; }

/* Contact and Mission share the site's atmosphere. Compact, content-led grids
   replace the old article-sized gaps without replacing React-owned sections. */
.experience .information-page:is(.ip-contact, .ip-mission) {
  width: min(1120px, calc(100% - 80px));
  padding: clamp(28px, 4vh, 42px) 0 32px;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 24px 46px;
  align-items: start;
}
.experience :is(.ip-contact, .ip-mission) .ip-hero {
  max-width: none; margin: 0; padding: 0; text-align: left;
}
.experience :is(.ip-contact, .ip-mission) .ip-hero h1 {
  font-family: "DM Sans Variable", sans-serif; font-size: clamp(36px, 3.55vw, 50px);
  font-weight: 550; line-height: 1.07; letter-spacing: -.055em;
}
.experience :is(.ip-contact, .ip-mission) .ip-hero h1 em { font-style: normal; color: #aabac5; }
.experience :is(.ip-contact, .ip-mission) .ip-eyebrow {
  font-size: 9px; letter-spacing: .15em; color: #a4c9dc; margin-bottom: 14px;
}
.experience :is(.ip-contact, .ip-mission) .ip-intro {
  margin: 18px 0 0; max-width: 46ch; font-size: 14px; line-height: 1.7; color: #b6c5cf;
}

/* The native form stays in its original DOM parent, including its result,
   validation and optional package handoff. Only its visual grid changes. */
.experience .ip-contact { grid-template-rows: auto 1fr; }
.experience .ip-contact .managed-contact-layout { display: contents; }
.experience .ip-contact .managed-contact-notes {
  grid-column: 1; grid-row: 2; min-width: 0; padding: 23px 0 0;
  border-top: 1px solid #b3d7ed26;
}
.experience .ip-contact .public-brief { grid-column: 2; grid-row: 1 / span 2; }
.experience .ip-contact .managed-contact-notes h2 {
  max-width: none; margin: 0 0 15px; color: #e5edf3; font-size: 21px; font-weight: 500;
}
.experience .ip-contact .managed-contact-notes ol {
  margin: 0 0 19px; padding-left: 19px; gap: 8px;
}
.experience .ip-contact .managed-contact-notes :is(li, p) { font-size: 12px; line-height: 1.65; }
.experience .ip-contact .managed-contact-notes li::marker { color: #83bdd9; font-variant-numeric: tabular-nums; }
.experience .ip-contact .managed-contact-notes > p { margin: 12px 0; max-width: 46ch; }
.experience .ip-contact .managed-contact-notes > p:first-of-type {
  white-space: pre-line; line-height: 1.95; padding: 13px 17px;
  border-left: 2px solid #96cbdf73; background: #0e1b244d; border-radius: 0 8px 8px 0;
}
.experience .ip-contact .managed-demo-note { margin-top: 16px; font-size: 11px; line-height: 1.65; color: #89a6b7; }
.experience .ip-contact .managed-inquiry {
  padding: 25px; border-color: #b3d7ed2b; border-radius: 16px; background: #101b25a8;
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px 16px;
  box-shadow: inset 0 1px 0 #c1e4fb0a;
}
.experience .ip-contact .managed-inquiry > :is(.managed-form-heading, label:first-of-type, label:last-of-type, p, button) { grid-column: 1 / -1; }
.experience .ip-contact .managed-form-heading .ip-eyebrow { margin: 0; }
.experience .ip-contact .managed-form-heading h2 { margin: 8px 0; font-size: 26px; font-weight: 500; }
.experience .ip-contact .managed-form-heading p { margin: 0; font-size: 12px; line-height: 1.6; }
.experience .ip-contact .managed-inquiry > label {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-content: start; gap: 7px;
  margin: 0; font-size: 11px; line-height: 1.45;
}
.experience .ip-contact .managed-inquiry .public-optional { font-size: 9px; align-self: start; color: #8098a7; }
.experience .ip-contact .managed-inquiry :is(textarea, select) {
  grid-column: 1 / -1; border-color: #9bc9df2b; background: #071119b3;
  font-size: 12px; line-height: 1.6; padding: 10px 11px; border-radius: 8px;
}
.experience .ip-contact .managed-inquiry textarea { min-height: 86px; height: 86px; resize: vertical; }
.experience .ip-contact .managed-inquiry textarea[name="task"] { min-height: 90px; height: 90px; }
.experience .ip-contact .managed-inquiry select { min-height: 43px; }
.experience .ip-contact .managed-field-note { margin: 0; color: #8ea8b9; font-size: 10px; line-height: 1.65; }
.experience .ip-contact .managed-inquiry button[type="submit"] {
  width: 100%; min-height: 43px; justify-content: center; border-radius: 8px;
}
.experience .ip-contact .managed-inquiry .managed-form-error { margin: 0; padding: 0; }
.experience .ip-contact .public-brief-status:empty { display: none; }
.experience .ip-contact .public-brief-result { padding: 23px; border-radius: 16px; background: #101b25a8; }
.experience .ip-contact .public-brief-result h2 { font-size: 24px; }

.experience .ip-mission { gap: 20px 30px; }
.experience .ip-mission .ip-mission-statement {
  display: block; border: 1px solid #b3d7ed24; border-radius: 16px;
  background: #101b2594; padding: 22px 25px;
}
.experience .ip-mission .ip-mission-statement > .ip-eyebrow { display: block; padding: 0; margin-bottom: 12px; }
.experience .ip-mission :is(.ip-mission-statement, .ip-responsibility, .ip-next) h2 {
  font-family: "DM Sans Variable", sans-serif; font-size: 25px; font-weight: 500;
  line-height: 1.18; letter-spacing: -.035em; margin: 0 0 12px;
}
.experience .ip-mission .ip-mission-statement p { font-size: 12px; line-height: 1.65; margin: 10px 0 0; }
.experience .ip-mission .ip-principles { grid-column: 1 / -1; gap: 14px; padding: 0; }
.experience .ip-mission .ip-principles article {
  position: relative; padding: 20px; border: 1px solid #b3d7ed1f; border-radius: 12px; background: #0b151e73;
}
.experience .ip-mission .ip-principle-mark {
  position: static; display: grid; place-items: center; width: 29px; height: 29px;
  margin: 0 0 15px; border: 1px solid #8cbcd142; border-radius: 8px; color: #a5d0e2;
  font-size: 10px; font-variant-numeric: tabular-nums; background: #a7cfe00a;
}
.experience .ip-mission .ip-principles h2 { font-family: "DM Sans Variable", sans-serif; font-size: 19px; font-weight: 500; margin: 0 0 9px; }
.experience .ip-mission .ip-principles p { font-size: 12px; line-height: 1.65; }
.experience .ip-mission .ip-responsibility { border: 0; border-top: 1px solid #b3d7ed26; background: none; padding: 20px 0 0; margin: 0; }
.experience .ip-mission .ip-responsibility .ip-eyebrow { margin-bottom: 12px; }
.experience .ip-mission .ip-responsibility > p:last-child { font-size: 12px; line-height: 1.65; margin: 0; }
.experience .ip-mission .ip-next {
  align-items: center; gap: 20px; padding: 20px 0 0; border-top-color: #b3d7ed26;
}
.experience .ip-mission .ip-next .ip-eyebrow { margin-bottom: 12px; }
.experience .ip-mission .ip-next h2 { font-size: 24px; }
.experience .ip-mission .ip-next p:last-child { font-size: 12px; line-height: 1.65; }
.experience .ip-mission .ip-next .ip-link {
  flex-shrink: 0; min-height: 43px; border: 1px solid #b8d9ec4a; border-radius: 9px;
  padding: 12px 15px; gap: 12px; background: #b3d9ed0d; font-size: 12px;
  transition: background 160ms ease, border-color 160ms ease;
}
.experience .ip-mission .ip-next .ip-link:hover { background: #b3d9ed1c; border-color: #b8d9ec94; }

@media (min-width: 901px) {
  .experience .ip-contact .managed-contact-notes { align-self: start; }
}
@media (max-width: 1000px) {
  .experience .information-page:is(.ip-contact, .ip-mission) { width: calc(100% - 48px); column-gap: 25px; }
  .experience .ip-contact .managed-inquiry { padding: 20px; }
  .experience .ip-mission .ip-next { flex-direction: column; align-items: flex-start; gap: 13px; }
}
@media (max-width: 900px) {
  .experience .information-page.ip-contact { grid-template-columns: minmax(0, 1fr); gap: 25px; max-width: 650px; }
  .experience .ip-contact .public-brief { grid-column: 1; grid-row: 2; }
  .experience .ip-contact .managed-contact-notes { grid-column: 1; grid-row: 3; }
  .experience .ip-contact .managed-contact-notes > p { max-width: none; }
}
@media (max-width: 700px) {
  .experience .information-page:is(.ip-contact, .ip-mission) { width: calc(100% - 40px); padding-top: 27px; }
  .experience .information-page.ip-mission { grid-template-columns: minmax(0, 1fr); gap: 21px; }
  .experience :is(.ip-contact, .ip-mission) .ip-hero h1 { font-size: clamp(35px, 9.7vw, 47px); }
  .experience .ip-mission .ip-principles { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .experience .ip-mission .ip-principles article { padding: 17px 17px 17px 62px; }
  .experience .ip-mission .ip-principle-mark { position: absolute; left: 17px; top: 17px; }
  .experience .ip-mission .ip-mission-statement { padding: 21px; }
  .experience .ip-mission .ip-next { flex-direction: row; align-items: center; }
}
@media (max-width: 480px) {
  .experience .ip-contact .managed-inquiry { grid-template-columns: minmax(0, 1fr); padding: 19px 17px; }
  .experience .ip-contact .managed-inquiry textarea { height: 83px; min-height: 83px; }
  .experience .ip-contact .managed-inquiry textarea[name="task"] { height: 96px; min-height: 96px; }
  .experience .ip-contact .managed-inquiry :is(textarea, select) { font-size: 16px; }
  .experience .ip-mission .ip-next { flex-direction: column; align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  .experience .ip-mission .ip-next .ip-link { transition: none; }
}
@media (max-width: 760px) {
  .pc-workflow { grid-template-columns: minmax(0,1fr); gap: 32px; padding: 32px 0; }
  .pc-workflow-intro h2 { max-width: 15ch; }
  .pc-request-steps > li { gap: 14px; grid-template-columns: 32px minmax(0,1fr); }
  .pc-request-steps h3 { font-size: 17px; }
  [data-package-content="ready"] .pb-card-intro,
  [data-package-content="ready"] .pb-plan-card h3 { min-height: 0; }
  .pc-agency-model { grid-template-columns: minmax(0,1fr); gap: 17px; }
  .pc-branding-action { max-width: none; }
}
