/* MySidekick Prompt C site-wide propagation — shared supporting-page system */
.ms-page { background: var(--ms-canvas); }
.ms-page main { overflow: clip; }

.ms-page-hero {
  position: relative;
  padding: clamp(78px, 9vw, 142px) 0 clamp(70px, 8vw, 116px);
  border-bottom: 1px solid var(--ms-line);
  isolation: isolate;
}
.ms-page-hero::after {
  content: "";
  position: absolute;
  width: min(42vw, 620px);
  aspect-ratio: 1;
  right: -15vw;
  top: -23%;
  border: 1px solid rgba(0,110,115,.2);
  border-radius: 43% 57% 66% 34% / 49% 40% 60% 51%;
  transform: rotate(17deg);
  pointer-events: none;
  z-index: -2;
}
.ms-page-hero::before {
  content: "";
  position: absolute;
  width: 170px;
  height: 170px;
  right: 8vw;
  bottom: -82px;
  background: var(--ms-coral);
  border-radius: 52% 48% 35% 65% / 59% 36% 64% 41%;
  opacity: .14;
  pointer-events: none;
  z-index: -1;
}
.ms-page-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.16fr) minmax(320px, .84fr);
  gap: clamp(44px, 7vw, 110px);
  align-items: end;
}
.ms-page-eyebrow {
  margin: 0 0 18px;
  color: var(--ms-teal);
  font-size: 10px;
  line-height: 1.3;
  font-weight: 800;
  letter-spacing: .19em;
  text-transform: uppercase;
}
.ms-page-title {
  max-width: 950px;
  margin: 0;
  font-family: var(--ms-font-display);
  font-size: clamp(58px, 7.4vw, 118px);
  font-weight: 400;
  letter-spacing: -.062em;
  line-height: .88;
  text-wrap: balance;
}
.ms-page-title em,
.ms-page-section-title em {
  color: var(--ms-teal);
  font-style: italic;
  font-weight: 400;
}
.ms-page-lede {
  max-width: 720px;
  margin: 26px 0 0;
  color: #3f505a;
  font-size: clamp(18px, 1.55vw, 22px);
  line-height: 1.55;
}
.ms-page-aside {
  position: relative;
  max-width: 500px;
  padding: 28px 0 4px 30px;
  border-left: 1px solid var(--ms-ink);
  color: var(--ms-muted);
  font-size: 15px;
}
.ms-page-aside strong {
  display: block;
  margin-bottom: 8px;
  color: var(--ms-ink);
  font-family: var(--ms-font-display);
  font-size: 30px;
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: 1.05;
}

.ms-page-ribbon {
  overflow: hidden;
  padding: 13px 0;
  background: var(--ms-ink);
  color: var(--ms-white);
  white-space: nowrap;
}
.ms-page-ribbon-track {
  display: inline-flex;
  gap: 26px;
  align-items: center;
  min-width: max-content;
  animation: msPageMarquee 32s linear infinite;
  font-size: 11px;
  font-weight: 740;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.ms-page-ribbon-track i { color: var(--ms-teal-bright); font-style: normal; }
@keyframes msPageMarquee { to { transform: translateX(-50%); } }

.ms-page-section {
  position: relative;
  padding: clamp(76px, 9vw, 134px) 0;
  border-bottom: 1px solid var(--ms-line);
}
.ms-page-section--soft { background: var(--ms-paper); }
.ms-page-section--mist { background: var(--ms-mist); }
.ms-page-section--ink { background: var(--ms-ink); color: var(--ms-white); border-bottom-color: rgba(255,255,255,.12); }
.ms-page-section--coral { background: #ffe1d8; }
.ms-page-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .82fr);
  gap: clamp(38px, 7vw, 110px);
  align-items: end;
  margin-bottom: clamp(42px, 6vw, 84px);
}
.ms-page-section-title {
  max-width: 900px;
  margin: 0;
  font-family: var(--ms-font-display);
  font-size: clamp(47px, 5.7vw, 86px);
  font-weight: 400;
  letter-spacing: -.052em;
  line-height: .95;
  text-wrap: balance;
}
.ms-page-section-copy {
  max-width: 650px;
  margin: 0;
  color: var(--ms-muted);
  font-size: clamp(16px, 1.3vw, 19px);
  line-height: 1.6;
}
.ms-page-section--ink .ms-page-section-copy { color: rgba(255,255,255,.68); }
.ms-page-section--ink .ms-page-eyebrow { color: var(--ms-teal-bright); }

.ms-relief-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 16px;
  align-items: stretch;
}
.ms-relief-card {
  position: relative;
  min-height: 270px;
  padding: 32px;
  border-radius: 34px;
  overflow: hidden;
  text-decoration: none;
  transition: transform .35s var(--ms-ease), box-shadow .35s var(--ms-ease);
}
.ms-relief-card:hover { transform: translateY(-7px) rotate(-.35deg); box-shadow: var(--ms-shadow); }
.ms-relief-card:nth-child(1) { grid-column: span 7; background: #dceee8; }
.ms-relief-card:nth-child(2) { grid-column: span 5; background: #ffe1d8; }
.ms-relief-card:nth-child(3) { grid-column: span 5; background: #e8e8ef; }
.ms-relief-card:nth-child(4) { grid-column: span 7; background: #f4e9c9; }
.ms-relief-card span {
  display: block;
  margin-bottom: 24px;
  color: var(--ms-teal);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.ms-relief-card h3 {
  max-width: 620px;
  margin: 0 0 16px;
  font-family: var(--ms-font-display);
  font-size: clamp(31px, 3.3vw, 52px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.045em;
}
.ms-relief-card p { max-width: 580px; margin: 0; color: #45545d; }
.ms-relief-card::after {
  content: "";
  position: absolute;
  width: 120px;
  aspect-ratio: 1;
  right: -25px;
  bottom: -30px;
  border: 18px solid rgba(0,110,115,.11);
  border-radius: 50%;
}

.ms-step-flow { counter-reset: msstep; border-top: 1px solid currentColor; }
.ms-step-row {
  counter-increment: msstep;
  display: grid;
  grid-template-columns: 84px minmax(220px,.8fr) minmax(0,1.2fr);
  gap: 28px;
  padding: 28px 0;
  border-bottom: 1px solid var(--ms-line);
  align-items: start;
}
.ms-step-row::before {
  content: "0" counter(msstep);
  color: var(--ms-teal);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
}
.ms-step-row h3 {
  margin: 0;
  font-family: var(--ms-font-display);
  font-size: clamp(28px, 2.6vw, 40px);
  font-weight: 400;
  letter-spacing: -.04em;
  line-height: 1.02;
}
.ms-step-row p { max-width: 690px; margin: 2px 0 0; color: var(--ms-muted); }
.ms-page-section--ink .ms-step-row { border-bottom-color: rgba(255,255,255,.16); }
.ms-page-section--ink .ms-step-row::before { color: var(--ms-teal-bright); }
.ms-page-section--ink .ms-step-row p { color: rgba(255,255,255,.68); }

.ms-flow-visual {
  display: grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  gap: 10px;
  align-items: stretch;
  margin-top: 48px;
}
.ms-flow-node {
  position: relative;
  min-height: 185px;
  padding: 24px 20px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 26px;
  background: rgba(255,255,255,.035);
}
.ms-flow-node:not(:last-child)::after {
  content: "→";
  position: absolute;
  right: -17px;
  top: 50%;
  z-index: 2;
  color: var(--ms-teal-bright);
  font-size: 22px;
  transform: translateY(-50%);
}
.ms-flow-node b { display:block; color: var(--ms-teal-bright); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.ms-flow-node strong { display:block; margin-top: 26px; font-family: var(--ms-font-display); font-size: 27px; font-weight:400; line-height:1; }
.ms-flow-node p { margin: 10px 0 0; color: rgba(255,255,255,.62); font-size: 13px; }
.ms-flow-node--human { border-color: rgba(255,107,74,.7); background: rgba(255,107,74,.11); }

.ms-bsc-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.ms-bsc {
  position: relative;
  min-height: 310px;
  padding: 34px 30px;
  border-top: 3px solid var(--ms-teal);
  background: var(--ms-paper);
}
.ms-bsc:nth-child(2) { border-top-color: var(--ms-coral); transform: translateY(26px); }
.ms-bsc:nth-child(3) { border-top-color: var(--ms-ink); transform: translateY(-12px); }
.ms-bsc b { color: var(--ms-muted); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
.ms-bsc h3 { margin: 38px 0 14px; font-family: var(--ms-font-display); font-size: clamp(36px, 3.7vw, 58px); font-weight: 400; line-height: .96; letter-spacing: -.045em; }
.ms-bsc p { color: var(--ms-muted); }

.ms-before-after {
  display: grid;
  grid-template-columns: 1fr 70px 1fr;
  gap: 20px;
  align-items: center;
}
.ms-before-after-card {
  min-height: 260px;
  padding: 32px;
  border-radius: 36px;
  background: var(--ms-paper);
}
.ms-before-after-card--after { background: #dceee8; }
.ms-before-after-card span { display:block; margin-bottom: 24px; color: var(--ms-muted); font-size: 10px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.ms-before-after-card h3 { margin:0 0 14px; font-family:var(--ms-font-display); font-size:clamp(35px,4vw,62px); font-weight:400; line-height:.96; letter-spacing:-.045em; }
.ms-before-after-card p { max-width:570px; color:var(--ms-muted); }
.ms-before-after-arrow { text-align:center; color:var(--ms-teal); font-size:38px; }

.ms-story-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 18px;
}
.ms-story-tile {
  grid-column: span 6;
  position: relative;
  min-height: 430px;
  padding: 34px;
  border-radius: 38px;
  overflow: hidden;
  text-decoration: none;
  background: #dceee8;
}
.ms-story-tile:nth-child(2) { background:#ffe1d8; transform:translateY(34px); }
.ms-story-tile:nth-child(3) { background:#f4e9c9; }
.ms-story-tile:nth-child(4) { background:#e7e8ef; transform:translateY(34px); }
.ms-story-tile span { display:block; color:var(--ms-teal); font-size:10px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.ms-story-tile h3 { max-width:600px; margin:80px 0 18px; font-family:var(--ms-font-display); font-size:clamp(36px,4vw,62px); font-weight:400; line-height:.95; letter-spacing:-.052em; }
.ms-story-tile p { max-width:560px; color:#48565f; }
.ms-story-tile strong { position:absolute; left:34px; bottom:30px; font-size:12px; }
.ms-story-tile::after { content:""; position:absolute; width:180px; height:180px; right:-65px; top:-45px; border:1px solid rgba(19,34,56,.18); border-radius:42% 58% 63% 37% / 50% 41% 59% 50%; transform:rotate(18deg); }

.ms-trust-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.ms-trust-card { min-height:280px; padding:34px; border-radius:32px; border:1px solid rgba(255,255,255,.17); background:rgba(255,255,255,.035); }
.ms-trust-card b { color:var(--ms-teal-bright); font-size:10px; letter-spacing:.14em; text-transform:uppercase; }
.ms-trust-card h3 { margin:46px 0 12px; font-family:var(--ms-font-display); font-size:clamp(34px,3.4vw,52px); font-weight:400; line-height:.98; letter-spacing:-.045em; }
.ms-trust-card p { color:rgba(255,255,255,.66); }

.ms-detail-list { border-top:1px solid var(--ms-ink); }
.ms-detail-row { display:grid; grid-template-columns:minmax(190px,.7fr) minmax(0,1.3fr); gap:32px; padding:22px 0; border-bottom:1px solid var(--ms-line); }
.ms-detail-row strong { font-size:13px; }
.ms-detail-row span, .ms-detail-row p { margin:0; color:var(--ms-muted); }

.ms-contact-grid { display:grid; grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr); gap:clamp(48px,7vw,110px); align-items:start; }
.ms-contact-intro { position:sticky; top:130px; }
.ms-contact-intro h2 { margin:0; font-family:var(--ms-font-display); font-size:clamp(46px,5vw,76px); font-weight:400; line-height:.95; letter-spacing:-.052em; }
.ms-contact-intro p { color:var(--ms-muted); }
.ms-contact-form { padding:34px; border-radius:36px; background:var(--ms-paper); box-shadow:0 24px 70px rgba(19,34,56,.07); }
.ms-form-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.ms-field { margin-bottom:20px; }
.ms-field label { display:block; margin-bottom:7px; color:var(--ms-muted); font-size:10px; font-weight:750; letter-spacing:.13em; text-transform:uppercase; }
.ms-field input,.ms-field textarea,.ms-field select { width:100%; min-height:48px; padding:12px 0; border:0; border-bottom:1px solid #aeb8b7; border-radius:0; background:transparent; color:var(--ms-ink); }
.ms-field textarea { min-height:110px; resize:vertical; }
.ms-form-note { margin:10px 0 24px; padding:16px 18px; border-left:3px solid var(--ms-coral); background:#fff4ef; color:var(--ms-muted); font-size:13px; }
.ms-form-status { margin-left:14px; color:var(--ms-teal); font-size:12px; font-weight:700; }

.ms-page-note {
  padding:20px 22px;
  border-left:3px solid var(--ms-coral);
  background:rgba(255,107,74,.08);
  color:var(--ms-muted);
  font-size:14px;
}
.ms-page-note strong { color:var(--ms-ink); }

.ms-page-close {
  position:relative;
  overflow:hidden;
  padding:clamp(78px,9vw,132px) 0;
  background:var(--ms-ink);
  color:var(--ms-white);
}
.ms-page-close::after { content:""; position:absolute; width:370px; height:370px; right:-120px; bottom:-180px; border:1px solid rgba(69,194,185,.45); border-radius:50%; }
.ms-page-close-grid { display:grid; grid-template-columns:1.12fr .88fr; gap:clamp(44px,7vw,100px); align-items:end; }
.ms-page-close h2 { margin:0; font-family:var(--ms-font-display); font-size:clamp(52px,6vw,94px); font-weight:400; line-height:.9; letter-spacing:-.058em; }
.ms-page-close h2 em { color:var(--ms-teal-bright); font-style:italic; }
.ms-page-close p { max-width:620px; color:rgba(255,255,255,.68); font-size:17px; }
.ms-page-close-actions { display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-top:24px; }
.ms-page-text-link { color:var(--ms-teal); font-size:13px; font-weight:720; text-decoration:none; }
.ms-page-text-link--light { color:var(--ms-teal-bright); }

.ms-legal-hero .ms-page-title { max-width:830px; }
.ms-legal-copy { max-width:960px; }
.ms-legal-copy h2 { margin:62px 0 14px; font-family:var(--ms-font-display); font-size:clamp(34px,4vw,54px); font-weight:400; line-height:1; letter-spacing:-.04em; }
.ms-legal-copy h2:first-child { margin-top:0; }
.ms-legal-copy p,.ms-legal-copy li { color:var(--ms-muted); }
.ms-legal-copy ul { padding-left:20px; }

@media (max-width: 980px) {
  .ms-page-hero-grid,.ms-page-section-head,.ms-page-close-grid,.ms-contact-grid { grid-template-columns:1fr; }
  .ms-page-aside { max-width:720px; }
  .ms-relief-card:nth-child(n),.ms-story-tile { grid-column:span 6; transform:none; }
  .ms-bsc-grid { grid-template-columns:1fr; }
  .ms-bsc:nth-child(n) { transform:none; min-height:0; }
  .ms-flow-visual { grid-template-columns:1fr; }
  .ms-flow-node { min-height:0; }
  .ms-flow-node:not(:last-child)::after { content:"↓"; right:auto; left:50%; top:auto; bottom:-22px; transform:translateX(-50%); }
  .ms-contact-intro { position:static; }
}

@media (max-width: 720px) {
  .ms-page-hero { padding-top:66px; }
  .ms-page-hero::after { width:85vw; right:-48vw; top:-12%; }
  .ms-page-hero::before { width:110px; height:110px; right:4vw; bottom:-48px; }
  .ms-page-title { font-size:clamp(52px,16vw,76px); }
  .ms-page-lede { font-size:17px; }
  .ms-page-aside { border-left:0; border-top:1px solid var(--ms-ink); padding:22px 0 0; }
  .ms-relief-card:nth-child(n),.ms-story-tile { grid-column:1/-1; min-height:330px; }
  .ms-step-row { grid-template-columns:52px 1fr; gap:16px; }
  .ms-step-row p { grid-column:2; }
  .ms-before-after { grid-template-columns:1fr; }
  .ms-before-after-arrow { transform:rotate(90deg); }
  .ms-trust-grid { grid-template-columns:1fr; }
  .ms-detail-row { grid-template-columns:1fr; gap:8px; }
  .ms-form-row { grid-template-columns:1fr; gap:0; }
  .ms-contact-form { padding:24px 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .ms-page-ribbon-track { animation: none; }
}
