/* Affordable Office Spaces — Medical Offices Premium v2
   Additive page styles. The shared shell remains in ../styles.css. */

.medical-offices-page {
  --mo-mint: #dff8f3;
  --mo-mint-strong: #8ce2d5;
  --mo-blue: #dff4fa;
  --mo-coral: #ff835d;
  --mo-night: #061c24;
  --mo-night-soft: #0c3640;
  --mo-line: rgba(16,42,51,.1);
  background: #f8fbfc;
}
.medical-offices-page main { position: relative; }
.medical-offices-page h1,
.medical-offices-page h2,
.medical-offices-page h3 { text-wrap: balance; }
.medical-offices-page h1 em,
.medical-offices-page h2 em { color: var(--orange); font-style: normal; }
.medical-offices-page button:focus-visible,
.medical-offices-page a:focus-visible,
.medical-offices-page input:focus-visible,
.medical-offices-page select:focus-visible,
.medical-offices-page textarea:focus-visible { outline: 3px solid rgba(255,101,52,.34); outline-offset: 3px; }
.medical-offices-page .site-header { margin-bottom: 0; }
.medical-offices-page .breadcrumb { position: relative; z-index: 4; display: flex; align-items: center; gap: 9px; margin-bottom: 38px; color: var(--muted); font-size: 0.86rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.medical-offices-page .breadcrumb strong { color: var(--ink); }
.medical-offices-page .breadcrumb a { transition: color .25s ease; }
.medical-offices-page .breadcrumb a:hover { color: var(--orange); }
.mo-section-heading { display: grid; grid-template-columns: minmax(520px,1.12fr) minmax(320px,.62fr); align-items: end; gap: clamp(40px,7vw,110px); margin-bottom: 58px; }
.mo-section-heading h2 { margin: 0; font-family: var(--font-display); font-size: clamp(2.7rem,4.75vw,5.45rem); letter-spacing: -.068em; line-height: 1.02; }
.mo-section-heading > p { max-width: 590px; margin: 0 0 8px; color: var(--muted); line-height: 1.82; }
.mo-section-heading--light { color: white; }
.mo-section-heading--light > p { color: rgba(255,255,255,.62); }

/* Hero ------------------------------------------------------------------ */
.mo-intro { position: relative; z-index: 1; min-height: 1030px; margin-top: -96px; padding: 184px 0 72px; overflow: hidden; background: radial-gradient(circle at 10% 12%,rgba(100,217,207,.22),transparent 27%),radial-gradient(circle at 88% 13%,rgba(255,101,52,.16),transparent 26%),linear-gradient(150deg,#f8fcfd 0,#eef9f8 46%,#fff8f2 100%); }
.mo-intro::after { content:""; position:absolute; right:-8%; bottom:-27%; width:780px; height:780px; border:1px solid rgba(16,42,51,.06); border-radius:50%; box-shadow:0 0 0 92px rgba(100,217,207,.035),0 0 0 184px rgba(255,101,52,.025); pointer-events:none; }
.mo-intro__grid { position:absolute; inset:0; opacity:.42; background-image:linear-gradient(rgba(16,42,51,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(16,42,51,.04) 1px,transparent 1px); background-size:58px 58px; -webkit-mask-image:linear-gradient(to bottom,#000 0,transparent 88%); mask-image:linear-gradient(to bottom,#000 0,transparent 88%); }
.mo-intro__glow { position:absolute; border-radius:50%; filter:blur(12px); pointer-events:none; animation:moDrift 12s ease-in-out infinite alternate; }
.mo-intro__glow--one { top:130px; left:-250px; width:650px; height:650px; background:radial-gradient(circle,rgba(100,217,207,.23),transparent 68%); }
.mo-intro__glow--two { top:75px; right:-260px; width:730px; height:730px; background:radial-gradient(circle,rgba(255,101,52,.17),transparent 68%); animation-delay:-5s; }
@keyframes moDrift { to { transform:translate3d(34px,-19px,0) scale(1.06); } }
.mo-particle-canvas { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; opacity:.82; }
.mo-intro__layout { position:relative; z-index:2; display:grid; grid-template-columns:minmax(500px,.92fr) minmax(580px,1.08fr); align-items:center; gap:clamp(42px,6vw,94px); }
.mo-intro__copy h1 { max-width:820px; margin:18px 0 0; font-family:var(--font-display); font-size:clamp(3.9rem,6.1vw,7.15rem); font-weight:700; letter-spacing:-.08em; line-height:.955; }
.mo-intro__lede { max-width:740px; margin:29px 0 0; color:var(--ink-soft); font-size:clamp(1.05rem,1.18vw,1.1rem); line-height:1.82; }
.mo-intro__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:31px; }
.mo-intro__facts { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin:26px 0 0; }
.mo-intro__facts > div { padding:14px 14px 16px; border:1px solid rgba(16,42,51,.085); border-radius:17px; background:rgba(255,255,255,.5); box-shadow:inset 0 1px rgba(255,255,255,.8); }
.mo-intro__facts dt { color:var(--aqua-deep); font-size:.82rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.mo-intro__facts dd { margin:6px 0 0; font-size:0.84rem; font-weight:700; line-height:1.5; }
.mo-intro__stage { position:relative; min-height:705px; perspective:1500px; }
.mo-hero-frame { position:absolute; inset:14px 0 54px 54px; overflow:hidden; border-radius:48px 48px 122px 48px; background:var(--ink-deep); box-shadow:var(--shadow-lg); transform-style:preserve-3d; }
.mo-hero-media { position:absolute; inset:0; overflow:hidden; }
.mo-hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transform:scale(1.075); transition:opacity .9s ease,transform 7.5s linear; }
.mo-hero-image.is-active { opacity:1; transform:scale(1); }
.mo-hero-media__wash { position:absolute; inset:0; background:linear-gradient(180deg,rgba(3,18,24,.05),rgba(3,18,24,.14) 46%,rgba(3,18,24,.78)),linear-gradient(115deg,rgba(5,24,31,.25),transparent 60%); }
.mo-hero-media__caption { position:absolute; right:31px; bottom:27px; left:31px; color:#fff; }
.mo-hero-media__caption span,.mo-hero-media__caption strong { display:block; }
.mo-hero-media__caption span { color:var(--aqua); font-size:0.82rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.mo-hero-media__caption strong { max-width:450px; margin-top:7px; font-family:var(--font-display); font-size:1.08rem; line-height:1.35; }
.mo-signal { position:absolute; z-index:4; top:3px; left:0; width:min(345px,47%); padding:21px; border:1px solid rgba(255,255,255,.72); border-radius:29px; background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(255,255,255,.58)); box-shadow:0 25px 72px rgba(7,28,36,.2),inset 0 1px rgba(255,255,255,.9); -webkit-backdrop-filter:blur(24px) saturate(145%); backdrop-filter:blur(24px) saturate(145%); }
.mo-signal__top { display:flex; align-items:center; justify-content:space-between; gap:16px; color:var(--muted); font-size:.82rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.mo-signal__top > span { display:flex; align-items:center; gap:8px; }
.mo-signal__top > span i { width:7px; height:7px; border-radius:50%; background:#55db9d; box-shadow:0 0 0 5px rgba(85,219,157,.13); animation:moStatusPulse 2s ease-out infinite; }
@keyframes moStatusPulse { 70%,100% { box-shadow:0 0 0 13px rgba(85,219,157,0); } }
.mo-signal__top button { display:grid; place-items:center; width:34px; height:34px; border:1px solid var(--line); border-radius:50%; background:rgba(255,255,255,.66); transition:transform .25s ease,background .25s ease; }
.mo-signal__top button:hover { transform:rotate(7deg); background:#fff; }
.mo-signal__top svg { width:14px; height:14px; }
.mo-signal__modes { display:grid; grid-template-columns:repeat(4,1fr); gap:5px; margin-top:16px; padding:4px; border:1px solid rgba(16,42,51,.08); border-radius:14px; background:rgba(242,248,250,.72); }
.mo-signal__modes button { min-width:0; min-height:44px; padding:7px 3px; border:0; border-radius:10px; color:var(--muted); background:transparent; font-size:.82rem; font-weight:800; line-height:1.3; transition:color .25s ease,background .25s ease,transform .25s var(--ease); }
.mo-signal__modes button span { display:block; color:rgba(16,42,51,.32); font-size:.82rem; }
.mo-signal__modes button.is-active { color:#fff; background:var(--ink-deep); box-shadow:0 9px 22px rgba(7,28,36,.18); transform:translateY(-1px); }
.mo-signal__modes button.is-active span { color:var(--aqua); }
.mo-signal__readout { margin-top:17px; }
.mo-signal__readout small { color:var(--orange); font-size:.82rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.mo-signal__readout h2 { margin:6px 0 8px; font-family:var(--font-display); font-size:1.17rem; letter-spacing:-.045em; line-height:1.16; }
.mo-signal__readout p { margin:0; color:var(--muted); font-size:0.84rem; line-height:1.62; }
.mo-signal__sequence { display:flex; align-items:center; gap:5px; margin-top:16px; }
.mo-signal__sequence span { color:rgba(16,42,51,.36); font-size:.82rem; font-weight:800; text-transform:uppercase; transition:color .3s ease; }
.mo-signal__sequence span.is-active { color:var(--aqua-deep); }
.mo-signal__sequence i { height:1px; flex:1; background:rgba(16,42,51,.1); }
.mo-signal__metrics { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin-top:15px; }
.mo-signal__metrics div { padding:10px; border:1px solid rgba(16,42,51,.08); border-radius:12px; background:rgba(255,255,255,.5); }
.mo-signal__metrics small,.mo-signal__metrics strong { display:block; }
.mo-signal__metrics small { color:var(--muted); font-size:.82rem; font-weight:800; text-transform:uppercase; }
.mo-signal__metrics strong { margin-top:4px; font-size:.82rem; }
.mo-lens { position:absolute; z-index:6; right:-15px; top:98px; width:245px; padding:17px 18px; border-radius:22px; }
.mo-lens > div:first-child { padding-right:5px; }
.mo-lens small,.mo-lens strong { display:block; }
.mo-lens small { color:var(--orange); font-size:.82rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.mo-lens strong { margin-top:4px; font-size:0.84rem; }
.mo-lens button { display:grid; grid-template-columns:1fr 33px 1fr; align-items:center; width:100%; margin-top:12px; padding:5px 7px; border:1px solid rgba(16,42,51,.09); border-radius:999px; background:rgba(255,255,255,.55); font-size:.82rem; font-weight:800; }
.mo-lens button span:last-child { text-align:right; }
.mo-lens button i { position:relative; height:24px; border-radius:999px; background:var(--ink-deep); }
.mo-lens button i::after { content:""; position:absolute; top:5px; left:5px; width:14px; height:14px; border-radius:50%; background:#fff; transition:transform .35s var(--ease),background .35s ease; }
.mo-lens button[aria-pressed="true"] i { background:var(--orange); }
.mo-lens button[aria-pressed="true"] i::after { transform:translateX(9px); }
.mo-lens p { margin:11px 0 0; color:var(--muted); font-size:.82rem; line-height:1.55; }
.mo-status-card { position:absolute; z-index:6; right:12px; bottom:80px; display:flex; align-items:flex-start; gap:11px; width:250px; padding:15px 16px; border-radius:20px; }
.mo-status-card > span { display:grid; place-items:center; width:30px; height:30px; flex:0 0 auto; border-radius:11px; background:var(--ink-deep); }
.mo-status-card > span i { width:7px; height:7px; border-radius:50%; background:var(--orange); box-shadow:0 0 0 5px rgba(255,101,52,.14); }
.mo-status-card small,.mo-status-card strong { display:block; }
.mo-status-card small { color:var(--orange); font-size:.82rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.mo-status-card strong { margin-top:4px; font-size:.82rem; line-height:1.5; }
.mo-hero-use { position:absolute; z-index:7; right:27px; bottom:8px; display:grid; grid-template-columns:1fr auto; align-items:center; width:282px; padding:15px 17px; border-radius:21px; text-align:left; }
.mo-hero-use span,.mo-hero-use strong { display:block; }
.mo-hero-use span { color:var(--muted); font-size:.82rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.mo-hero-use strong { margin-top:4px; font-size:0.84rem; }
.mo-hero-use b { grid-row:1/3; grid-column:2; display:grid; place-items:center; width:35px; height:35px; border-radius:50%; color:#fff; background:var(--orange); transition:transform .3s var(--ease); }
.mo-hero-use:hover b { transform:translateX(4px); }

/* Proof rail ------------------------------------------------------------ */
.mo-proof { position:relative; z-index:4; margin-top:-13px; padding:0 0 52px; background:#fff; }
.mo-proof__grid { display:grid; grid-template-columns:repeat(4,1fr); overflow:hidden; border:1px solid rgba(16,42,51,.08); border-radius:30px; background:rgba(255,255,255,.86); box-shadow:0 28px 80px rgba(8,42,52,.1); }
.mo-proof article { display:grid; grid-template-columns:auto 1fr; gap:14px; min-height:145px; padding:24px 23px; border-right:1px solid rgba(16,42,51,.08); }
.mo-proof article:last-child { border-right:0; }
.mo-proof article > span { display:grid; place-items:center; width:34px; height:34px; border-radius:12px; color:#fff; background:var(--ink-deep); font-size:0.82rem; font-weight:800; }
.mo-proof strong { font-family:var(--font-display); font-size:0.9rem; line-height:1.35; }
.mo-proof p { margin:7px 0 0; color:var(--muted); font-size:0.84rem; line-height:1.58; }

/* Page rail ------------------------------------------------------------- */
.mo-page-rail { position:sticky; z-index:70; top:92px; display:flex; align-items:center; justify-content:center; width:min(calc(100% - 48px),1160px); margin:0 auto -30px; padding:7px; border-radius:999px; background:rgba(255,255,255,.82); box-shadow:0 14px 42px rgba(7,28,36,.1); }
.mo-page-rail a { position:relative; display:flex; align-items:center; gap:6px; min-height:42px; padding:0 15px; border-radius:999px; color:var(--muted); font-size:0.84rem; font-weight:800; white-space:nowrap; transition:color .25s ease,background .25s ease,transform .25s var(--ease); }
.mo-page-rail a span { color:rgba(16,42,51,.35); font-size:.82rem; }
.mo-page-rail a:hover { color:var(--ink); transform:translateY(-1px); }
.mo-page-rail a.is-active { color:#fff; background:var(--ink-deep); box-shadow:0 9px 22px rgba(7,28,36,.18); }
.mo-page-rail a.is-active span { color:var(--aqua); }

/* Practice Fit Studio --------------------------------------------------- */
.mo-fit-section { overflow:hidden; padding-top:170px; background:linear-gradient(180deg,#fff 0,#f4fafb 100%); }
.mo-fit-section__mesh { position:absolute; inset:0; opacity:.32; background-image:radial-gradient(circle at 1px 1px,rgba(16,42,51,.11) 1px,transparent 1px); background-size:27px 27px; -webkit-mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 78%,transparent); mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 78%,transparent); }
.mo-fit { position:relative; }
.mo-fit__tabs { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-bottom:25px; padding:7px; border:1px solid var(--mo-line); border-radius:25px; background:rgba(255,255,255,.78); box-shadow:var(--shadow-sm); }
.mo-fit__tabs button { display:flex; align-items:center; gap:12px; min-height:75px; padding:13px 15px; border:0; border-radius:19px; background:transparent; text-align:left; transition:color .3s ease,background .3s ease,transform .3s var(--ease); }
.mo-fit__tabs button > span { display:grid; place-items:center; width:34px; height:34px; flex:0 0 auto; border-radius:12px; color:var(--muted); background:rgba(16,42,51,.06); font-size:.82rem; font-weight:800; }
.mo-fit__tabs strong,.mo-fit__tabs small { display:block; }
.mo-fit__tabs strong { font-family:var(--font-display); font-size:0.86rem; }
.mo-fit__tabs small { margin-top:3px; color:var(--muted); font-size:.82rem; }
.mo-fit__tabs button.is-active { color:#fff; background:linear-gradient(135deg,var(--ink-deep),#123f49); box-shadow:0 16px 35px rgba(7,28,36,.18); transform:translateY(-2px); }
.mo-fit__tabs button.is-active > span { color:var(--ink-deep); background:var(--aqua); }
.mo-fit__tabs button.is-active small { color:rgba(255,255,255,.62); }
.mo-fit__grid { display:grid; grid-template-columns:minmax(560px,1.08fr) minmax(420px,.92fr); align-items:stretch; gap:28px; }
.mo-fit__visual { position:relative; min-height:650px; overflow:hidden; border-radius:42px 42px 112px 42px; }
.mo-fit__media { position:absolute; inset:0; }
.mo-fit__media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transform:scale(1.06); transition:opacity .7s ease,transform 6s linear; }
.mo-fit__media img.is-active { opacity:1; transform:scale(1); }
.mo-fit__wash { position:absolute; inset:0; background:linear-gradient(180deg,rgba(4,19,25,.05),rgba(4,19,25,.15) 46%,rgba(4,19,25,.82)); }
.mo-fit__hud { position:absolute; top:24px; left:24px; display:flex; align-items:center; gap:12px; padding:12px 15px; border:1px solid rgba(255,255,255,.27); border-radius:16px; color:#fff; background:rgba(4,24,31,.44); -webkit-backdrop-filter:blur(15px); backdrop-filter:blur(15px); }
.mo-fit__hud span { display:flex; align-items:center; gap:7px; color:rgba(255,255,255,.64); font-size:.82rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.mo-fit__hud span i { width:7px; height:7px; border-radius:50%; background:var(--aqua); }
.mo-fit__hud strong { padding-left:12px; border-left:1px solid rgba(255,255,255,.18); font-size:0.84rem; }
.mo-fit__zones { position:absolute; right:24px; bottom:100px; left:24px; display:grid; grid-template-columns:repeat(4,1fr); gap:6px; }
.mo-fit__zones span { display:grid; place-items:center; min-height:34px; border:1px solid rgba(255,255,255,.16); border-radius:999px; color:rgba(255,255,255,.48); background:rgba(4,24,31,.35); font-size:.82rem; font-weight:800; text-transform:uppercase; -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); transition:color .3s ease,background .3s ease,border-color .3s ease; }
.mo-fit__zones span.is-active { color:var(--ink-deep); border-color:var(--aqua); background:var(--aqua); }
.mo-fit__signal { position:absolute; right:24px; bottom:24px; left:24px; padding:14px 16px; border:1px solid rgba(255,255,255,.18); border-radius:18px; color:#fff; background:rgba(4,24,31,.58); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); }
.mo-fit__signal small,.mo-fit__signal strong { display:block; }
.mo-fit__signal small { color:var(--aqua); font-size:.82rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.mo-fit__signal strong { margin-top:5px; font-family:var(--font-display); font-size:0.88rem; }
.mo-fit__story { padding:44px 42px; border:1px solid var(--mo-line); border-radius:42px; background:#fff; box-shadow:var(--shadow-md); }
.mo-fit__story > span { display:grid; place-items:center; width:46px; height:46px; border-radius:16px; color:#fff; background:linear-gradient(135deg,var(--orange),var(--orange-soft)); font-size:0.84rem; font-weight:800; box-shadow:0 14px 30px rgba(255,101,52,.24); }
.mo-fit__story > small { display:block; margin-top:25px; color:var(--orange); font-size:0.84rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.mo-fit__story h3 { margin:10px 0 16px; font-family:var(--font-display); font-size:clamp(1.75rem,2.45vw,2.65rem); letter-spacing:-.055em; line-height:1.08; }
.mo-fit__story > p { margin:0; color:var(--muted); line-height:1.8; }
.mo-fit__split { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:26px; }
.mo-fit__split > div { padding:16px; border:1px solid var(--mo-line); border-radius:18px; background:var(--ice); }
.mo-fit__split small,.mo-fit__split strong { display:block; }
.mo-fit__split small { color:var(--aqua-deep); font-size:.82rem; font-weight:800; text-transform:uppercase; }
.mo-fit__split strong { margin-top:6px; font-size:0.84rem; line-height:1.5; }
.mo-fit__questions { margin-top:20px; padding:18px 20px; border-left:3px solid var(--orange); border-radius:0 18px 18px 0; background:#fff7f2; }
.mo-fit__questions > small { color:var(--orange); font-size:.82rem; font-weight:800; text-transform:uppercase; }
.mo-fit__questions ul { display:grid; gap:7px; margin:10px 0 0; padding-left:18px; color:var(--ink-soft); font-size:0.86rem; }
.mo-fit__story .button { margin-top:24px; }

/* Care flow ------------------------------------------------------------- */
.mo-flow-section { overflow:hidden; color:#fff; background:radial-gradient(circle at 8% 15%,rgba(100,217,207,.17),transparent 30%),linear-gradient(135deg,#061b23 0,#0a303a 58%,#0b4548 100%); }
.mo-flow-section__grid { position:absolute; inset:0; opacity:.22; background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px); background-size:62px 62px; -webkit-mask-image:radial-gradient(circle at 50% 45%,#000,transparent 78%); mask-image:radial-gradient(circle at 50% 45%,#000,transparent 78%); }
.mo-flow-section__glow { position:absolute; right:-210px; bottom:-230px; width:690px; height:690px; border-radius:50%; background:radial-gradient(circle,rgba(255,101,52,.17),transparent 68%); filter:blur(12px); }
.mo-flow { position:relative; }
.mo-flow__top { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:22px; }
.mo-flow__tabs { display:flex; flex-wrap:wrap; gap:7px; padding:6px; border:1px solid rgba(255,255,255,.1); border-radius:999px; background:rgba(255,255,255,.055); }
.mo-flow__tabs button { min-height:43px; padding:0 15px; border:0; border-radius:999px; color:rgba(255,255,255,.5); background:transparent; font-size:0.84rem; font-weight:800; transition:color .25s ease,background .25s ease,transform .25s var(--ease); }
.mo-flow__tabs button span { color:var(--aqua); font-size:.82rem; margin-right:5px; }
.mo-flow__tabs button.is-active { color:var(--ink-deep); background:#fff; transform:translateY(-1px); }
.mo-flow__view { display:flex; gap:5px; padding:5px; border:1px solid rgba(255,255,255,.1); border-radius:999px; background:rgba(255,255,255,.055); }
.mo-flow__view button { min-height:39px; padding:0 14px; border:0; border-radius:999px; color:rgba(255,255,255,.5); background:transparent; font-size:.82rem; font-weight:800; }
.mo-flow__view button.is-active { color:#fff; background:rgba(255,101,52,.82); }
.mo-flow__grid { display:grid; grid-template-columns:minmax(560px,1.12fr) minmax(410px,.88fr); gap:25px; }
.mo-flow__map,.mo-flow__story { border-color:rgba(255,255,255,.13); background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.035)); box-shadow:0 30px 90px rgba(0,0,0,.21),inset 0 1px rgba(255,255,255,.12); }
.mo-flow__map { position:relative; min-height:590px; padding:24px; border-radius:38px 38px 100px 38px; }
.mo-flow__map-top { display:flex; align-items:center; justify-content:space-between; gap:20px; color:rgba(255,255,255,.54); font-size:.82rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.mo-flow__map-top span { display:flex; align-items:center; gap:8px; }
.mo-flow__map-top span i { width:7px; height:7px; border-radius:50%; background:var(--aqua); box-shadow:0 0 0 5px rgba(100,217,207,.12); }
.mo-flow__map-top strong { color:var(--aqua); }
.mo-flow__route { display:block; width:100%; height:auto; aspect-ratio:760 / 390; margin:24px 0 0; overflow:visible; }
.mo-flow__route-base { fill:none; stroke:rgba(255,255,255,.09); stroke-width:6; stroke-linecap:round; }
.mo-flow__route-live { fill:none; stroke:url(#moFlowGradient); stroke-width:7; stroke-linecap:round; stroke-dasharray:750; stroke-dashoffset:595; filter:drop-shadow(0 0 10px rgba(100,217,207,.22)); transition:stroke-dashoffset .75s var(--ease); }
.mo-flow__stations circle { fill:#0a303a; stroke:rgba(255,255,255,.2); stroke-width:2; transition:fill .35s ease,stroke .35s ease,filter .35s ease; }
.mo-flow__stations text { fill:rgba(255,255,255,.55); font: 800 13px var(--font-sans); text-anchor:middle; dominant-baseline:middle; }
.mo-flow__stations g.is-active circle { fill:var(--orange); stroke:#fff; filter:drop-shadow(0 0 11px rgba(255,101,52,.45)); }
.mo-flow__stations g.is-active text { fill:#fff; }
.mo-flow__zones { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; margin-top:-4px; }
.mo-flow__zones span { padding:8px; border-top:1px solid rgba(255,255,255,.1); color:rgba(255,255,255,.4); font-size:.82rem; font-weight:800; text-align:center; text-transform:uppercase; }
.mo-flow__status { position:absolute; right:24px; bottom:25px; left:24px; padding:16px 18px; border:1px solid rgba(255,255,255,.11); border-radius:18px; background:rgba(3,18,24,.36); }
.mo-flow__status small,.mo-flow__status strong { display:block; }
.mo-flow__status small { color:var(--aqua); font-size:.82rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.mo-flow__status strong { margin-top:6px; font-family:var(--font-display); font-size:0.88rem; }
.mo-flow__story { padding:42px 38px; border-radius:38px; }
.mo-flow__story > span { display:grid; place-items:center; width:48px; height:48px; border:1px solid rgba(255,255,255,.16); border-radius:16px; color:var(--aqua); background:rgba(255,255,255,.07); font-size:0.84rem; font-weight:800; }
.mo-flow__story > small { display:block; margin-top:24px; color:var(--orange-soft); font-size:0.82rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.mo-flow__story h3 { margin:9px 0 15px; font-family:var(--font-display); font-size:clamp(1.65rem,2.35vw,2.5rem); letter-spacing:-.055em; line-height:1.08; }
.mo-flow__story > p { margin:0; color:rgba(255,255,255,.62); line-height:1.82; }
.mo-flow__split { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:24px; }
.mo-flow__split > div { padding:15px; border:1px solid rgba(255,255,255,.1); border-radius:17px; background:rgba(255,255,255,.045); }
.mo-flow__split small,.mo-flow__split strong { display:block; }
.mo-flow__split small { color:var(--aqua); font-size:.82rem; font-weight:800; text-transform:uppercase; }
.mo-flow__split strong { margin-top:6px; font-size:0.84rem; line-height:1.52; }
.mo-flow__question { margin-top:18px; padding:16px 17px; border-left:3px solid var(--orange); border-radius:0 17px 17px 0; background:rgba(255,101,52,.09); }
.mo-flow__question small,.mo-flow__question strong { display:block; }
.mo-flow__question small { color:var(--orange-soft); font-size:.82rem; font-weight:800; text-transform:uppercase; }
.mo-flow__question strong { margin-top:6px; font-size:0.84rem; line-height:1.5; }
.mo-flow__story .button { margin-top:23px; }

/* Sink suite ------------------------------------------------------------ */
.mo-sink-section { overflow:hidden; background:linear-gradient(180deg,#fff 0,#f2f9fa 100%); }
.mo-sink { display:grid; grid-template-columns:minmax(580px,1.08fr) minmax(390px,.92fr); align-items:center; gap:clamp(34px,6vw,90px); }
.mo-sink__scene { position:relative; min-height:690px; overflow:hidden; border-radius:48px 48px 128px 48px; }
.mo-sink__scene > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.mo-sink__wash { position:absolute; inset:0; background:linear-gradient(180deg,rgba(5,25,31,.03),rgba(5,25,31,.08) 58%,rgba(5,25,31,.62)); }
.mo-sink__point { --point-color:var(--aqua); position:absolute; z-index:3; left:var(--x); top:var(--y); display:grid; place-items:center; width:48px; height:48px; padding:0; border:1px solid rgba(255,255,255,.6); border-radius:50%; color:#fff; background:rgba(5,28,35,.62); transform:translate(-50%,-50%); box-shadow:0 0 0 9px rgba(100,217,207,.1),0 12px 30px rgba(0,0,0,.18); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); transition:transform .3s var(--ease),background .3s ease,box-shadow .3s ease; }
.mo-sink__point::after { content:""; position:absolute; inset:-14px; border:1px solid rgba(100,217,207,.44); border-radius:50%; animation:moPointPulse 2.3s ease-out infinite; }
.mo-sink__point span { font-size:0.82rem; font-weight:800; }
.mo-sink__point i { position:absolute; right:3px; bottom:3px; width:8px; height:8px; border-radius:50%; background:var(--point-color); }
.mo-sink__point:hover,.mo-sink__point.is-active { transform:translate(-50%,-50%) scale(1.12); background:var(--orange); box-shadow:0 0 0 12px rgba(255,101,52,.13),0 15px 35px rgba(0,0,0,.22); }
.mo-sink__point.is-active::after { border-color:rgba(255,101,52,.6); }
@keyframes moPointPulse { 70%,100% { opacity:0; transform:scale(1.45); } }
.mo-sink__legend { position:absolute; right:24px; bottom:24px; left:24px; display:flex; align-items:center; justify-content:space-between; gap:15px; padding:14px 16px; border-radius:18px; color:#fff; background:rgba(5,28,35,.55); border-color:rgba(255,255,255,.18); }
.mo-sink__legend span { display:flex; align-items:center; gap:8px; color:rgba(255,255,255,.62); font-size:.82rem; font-weight:800; text-transform:uppercase; }
.mo-sink__legend span i { width:7px; height:7px; border-radius:50%; background:var(--aqua); }
.mo-sink__legend strong { font-size:0.82rem; }
.mo-sink__story { padding:10px 0; }
.mo-sink__story-top { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-bottom:18px; border-bottom:1px solid var(--mo-line); color:var(--muted); font-size:0.82rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.mo-sink__story-top strong { color:var(--orange); }
.mo-sink__story > small { display:block; margin-top:27px; color:var(--orange); font-size:0.82rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.mo-sink__story h3 { margin:10px 0 16px; font-family:var(--font-display); font-size:clamp(2rem,3.15vw,3.35rem); letter-spacing:-.06em; line-height:1.06; }
.mo-sink__story > p { margin:0; color:var(--muted); line-height:1.84; }
.mo-sink__checks { display:grid; gap:8px; margin-top:25px; }
.mo-sink__checks > div { display:grid; grid-template-columns:85px 1fr; align-items:start; gap:14px; padding:14px 15px; border:1px solid var(--mo-line); border-radius:17px; background:#fff; }
.mo-sink__checks small { color:var(--aqua-deep); font-size:.82rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.mo-sink__checks strong { font-size:0.84rem; line-height:1.5; }
.mo-sink__notice { display:flex; gap:13px; margin-top:18px; padding:17px; border:1px solid rgba(255,101,52,.15); border-radius:18px; background:#fff6f1; }
.mo-sink__notice > span { display:grid; place-items:center; width:28px; height:28px; flex:0 0 auto; border-radius:50%; color:#fff; background:var(--orange); font-weight:900; }
.mo-sink__notice p { margin:0; }
.mo-sink__notice strong,.mo-sink__notice small { display:block; }
.mo-sink__notice strong { font-size:0.86rem; line-height:1.45; }
.mo-sink__notice small { margin-top:6px; color:var(--muted); font-size:0.82rem; line-height:1.56; }
.mo-sink__story .button { margin-top:22px; }

/* Compatibility Matrix ------------------------------------------------- */
.mo-operations-section { overflow:hidden; color:#fff; background:radial-gradient(circle at 92% 10%,rgba(255,101,52,.16),transparent 28%),linear-gradient(140deg,#061a22,#0a313a 62%,#0a4649); }
.mo-operations-section__glow { position:absolute; left:-220px; bottom:-240px; width:720px; height:720px; border-radius:50%; background:radial-gradient(circle,rgba(100,217,207,.17),transparent 68%); filter:blur(14px); }
.mo-operations { position:relative; display:grid; grid-template-columns:minmax(520px,1.05fr) minmax(430px,.95fr); gap:28px; }
.mo-operations__choices { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.mo-operations__choices button { position:relative; display:grid; grid-template-columns:43px 1fr 12px; align-items:center; gap:13px; min-height:79px; padding:12px 14px; overflow:hidden; border:1px solid rgba(255,255,255,.1); border-radius:19px; color:#fff; background:rgba(255,255,255,.055); text-align:left; transition:transform .3s var(--ease),background .3s ease,border-color .3s ease; }
.mo-operations__choices button::before { content:""; position:absolute; inset:0; opacity:0; background:linear-gradient(120deg,rgba(100,217,207,.12),rgba(255,101,52,.1)); transition:opacity .3s ease; }
.mo-operations__choices button > * { position:relative; z-index:1; }
.mo-operations__choices button > span { display:grid; place-items:center; width:43px; height:43px; border:1px solid rgba(255,255,255,.1); border-radius:14px; color:var(--aqua); background:rgba(255,255,255,.055); }
.mo-operations__choices svg { width:19px; height:19px; }
.mo-operations__choices strong,.mo-operations__choices small { display:block; }
.mo-operations__choices strong { font-size:0.84rem; }
.mo-operations__choices small { margin-top:4px; color:rgba(255,255,255,.47); font-size:.82rem; }
.mo-operations__choices button > i { width:10px; height:10px; border:1px solid rgba(255,255,255,.24); border-radius:50%; }
.mo-operations__choices button:hover,.mo-operations__choices button[aria-pressed="true"] { transform:translateY(-2px); border-color:rgba(100,217,207,.4); background:rgba(255,255,255,.09); }
.mo-operations__choices button:hover::before,.mo-operations__choices button[aria-pressed="true"]::before { opacity:1; }
.mo-operations__choices button[aria-pressed="true"] > i { border-color:var(--aqua); background:var(--aqua); box-shadow:0 0 0 5px rgba(100,217,207,.12); }
.mo-operations__dashboard { position:sticky; top:130px; align-self:start; padding:25px; border-color:rgba(255,255,255,.13); border-radius:38px; background:linear-gradient(145deg,rgba(255,255,255,.11),rgba(255,255,255,.045)); box-shadow:0 32px 100px rgba(0,0,0,.23),inset 0 1px rgba(255,255,255,.13); }
.mo-operations__top { display:flex; align-items:center; justify-content:space-between; gap:20px; color:rgba(255,255,255,.55); font-size:.82rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.mo-operations__top span { display:flex; align-items:center; gap:8px; }
.mo-operations__top span i { width:7px; height:7px; border-radius:50%; background:var(--aqua); }
.mo-operations__top strong { color:#fff; }
.mo-radar-wrap { position:relative; width:min(100%,440px); margin:14px auto 0; aspect-ratio:1; }
.mo-radar { width:100%; height:100%; overflow:visible; }
.mo-radar__grid polygon,.mo-radar__grid path { fill:none; stroke:rgba(255,255,255,.1); stroke-width:1; }
.mo-radar__shape { fill:rgba(100,217,207,.17); stroke:var(--aqua); stroke-width:3; filter:drop-shadow(0 0 12px rgba(100,217,207,.24)); transition:all .65s var(--ease); }
.mo-radar__points circle { fill:var(--orange); stroke:#fff; stroke-width:2; filter:drop-shadow(0 0 8px rgba(255,101,52,.35)); transition:all .65s var(--ease); }
.mo-radar__label { position:absolute; color:rgba(255,255,255,.52); font-size:.82rem; font-weight:800; text-transform:uppercase; }
.mo-radar__label--privacy { top:2%; left:50%; transform:translateX(-50%); }
.mo-radar__label--arrival { top:25%; right:1%; }
.mo-radar__label--infrastructure { right:-2%; bottom:22%; }
.mo-radar__label--operations { bottom:1%; left:50%; transform:translateX(-50%); }
.mo-radar__label--storage { bottom:22%; left:0; }
.mo-radar__label--flexibility { top:25%; left:1%; }
.mo-radar__score { position:absolute; inset:50% auto auto 50%; display:grid; place-items:center; width:112px; height:112px; border:1px solid rgba(255,255,255,.14); border-radius:50%; background:rgba(5,28,35,.83); transform:translate(-50%,-50%); box-shadow:0 0 0 10px rgba(255,255,255,.025); }
.mo-radar__score small,.mo-radar__score strong,.mo-radar__score span { display:block; text-align:center; }
.mo-radar__score small { color:var(--aqua); font-size:.82rem; font-weight:800; text-transform:uppercase; }
.mo-radar__score strong { margin-top:2px; font-family:var(--font-display); font-size:1.3rem; }
.mo-radar__score strong i { font-style:normal; }
.mo-radar__score span { color:rgba(255,255,255,.42); font-size:.82rem; }
.mo-operations__summary { padding:18px 19px; border:1px solid rgba(255,255,255,.1); border-radius:19px; background:rgba(4,20,27,.28); }
.mo-operations__summary small,.mo-operations__summary strong { display:block; }
.mo-operations__summary small { color:var(--orange-soft); font-size:.82rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.mo-operations__summary strong { margin-top:6px; font-family:var(--font-display); font-size:0.88rem; }
.mo-operations__summary p { margin:8px 0 0; color:rgba(255,255,255,.5); font-size:0.82rem; line-height:1.55; }
.mo-operations__dashboard .button { margin-top:12px; }

/* Composer -------------------------------------------------------------- */
.mo-composer-section { overflow:hidden; background:radial-gradient(circle at 85% 15%,rgba(100,217,207,.15),transparent 26%),linear-gradient(180deg,#f6fbfc,#fff 56%,#fff8f3); }
.mo-composer-section__grid { position:absolute; inset:0; opacity:.35; background-image:linear-gradient(rgba(16,42,51,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(16,42,51,.035) 1px,transparent 1px); background-size:56px 56px; -webkit-mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 80%,transparent); mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 80%,transparent); }
.mo-composer { position:relative; z-index:1; display:grid; grid-template-columns:minmax(610px,1.18fr) minmax(350px,.82fr); align-items:start; gap:26px; }
.mo-composer__builder,.mo-composer__preview { border:1px solid var(--mo-line); background:rgba(255,255,255,.9); box-shadow:var(--shadow-md); }
.mo-composer__builder { min-height:705px; overflow:hidden; border-radius:42px; }
.mo-composer__header { display:grid; grid-template-columns:1fr auto; align-items:center; gap:20px; padding:23px 25px; color:#fff; background:linear-gradient(135deg,var(--ink-deep),#0b3a43); }
.mo-composer__header > div:first-child > span { color:var(--aqua); font-size:.82rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.mo-composer__header h3 { margin:5px 0 0; font-family:var(--font-display); font-size:1.07rem; letter-spacing:-.04em; }
.mo-composer__step { display:flex; align-items:baseline; gap:3px; font-family:var(--font-display); }
.mo-composer__step strong { font-size:1.45rem; }
.mo-composer__step span { color:rgba(255,255,255,.45); font-size:0.86rem; }
.mo-composer__progress { grid-column:1/-1; height:3px; overflow:hidden; border-radius:99px; background:rgba(255,255,255,.11); }
.mo-composer__progress span { display:block; width:20%; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--aqua),var(--orange)); transition:width .45s var(--ease); }
.mo-composer__panel { padding:31px; }
.mo-composer__prompt { display:grid; grid-template-columns:46px 1fr; gap:15px; align-items:start; }
.mo-composer__prompt > span { display:grid; place-items:center; width:46px; height:46px; border-radius:15px; color:#fff; background:var(--orange); font-size:0.84rem; font-weight:800; box-shadow:0 12px 28px rgba(255,101,52,.23); }
.mo-composer__prompt small { color:var(--orange); font-size:.82rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.mo-composer__prompt h3 { margin:6px 0 8px; font-family:var(--font-display); font-size:clamp(1.55rem,2.2vw,2.35rem); letter-spacing:-.055em; line-height:1.08; }
.mo-composer__prompt p { margin:0; color:var(--muted); font-size:0.9rem; line-height:1.65; }
.mo-choice-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin-top:27px; }
.mo-choice-grid--two { grid-template-columns:1fr 1fr; }
.mo-choice-grid button { display:grid; grid-template-columns:42px 1fr; align-items:center; gap:12px; min-height:92px; padding:14px; border:1px solid var(--mo-line); border-radius:19px; background:var(--ice); text-align:left; transition:transform .28s var(--ease),border-color .28s ease,background .28s ease,box-shadow .28s ease; }
.mo-choice-grid button > span { display:grid; place-items:center; width:42px; height:42px; border-radius:14px; color:var(--aqua-deep); background:#fff; font-size:0.82rem; font-weight:800; box-shadow:0 8px 20px rgba(7,28,36,.06); }
.mo-choice-grid strong,.mo-choice-grid small { display:block; }
.mo-choice-grid strong { font-family:var(--font-display); font-size:0.86rem; line-height:1.3; }
.mo-choice-grid small { margin-top:4px; color:var(--muted); font-size:.82rem; line-height:1.4; }
.mo-choice-grid button:hover,.mo-choice-grid button[aria-pressed="true"] { transform:translateY(-3px); border-color:rgba(255,101,52,.35); background:#fff; box-shadow:0 16px 34px rgba(7,28,36,.09); }
.mo-choice-grid button[aria-pressed="true"] { color:#fff; border-color:var(--ink-deep); background:var(--ink-deep); }
.mo-choice-grid button[aria-pressed="true"] > span { color:var(--ink-deep); background:var(--aqua); }
.mo-choice-grid button[aria-pressed="true"] small { color:rgba(255,255,255,.58); }
.mo-priority-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:27px; }
.mo-priority-grid button { position:relative; min-height:48px; padding:10px 16px 10px 39px; border:1px solid var(--mo-line); border-radius:15px; background:var(--ice); font-size:0.84rem; font-weight:800; text-align:left; transition:color .25s ease,background .25s ease,border-color .25s ease,transform .25s var(--ease); }
.mo-priority-grid button::before { content:""; position:absolute; left:15px; top:50%; width:12px; height:12px; border:1px solid rgba(16,42,51,.25); border-radius:4px; transform:translateY(-50%); }
.mo-priority-grid button:hover { transform:translateY(-2px); border-color:rgba(100,217,207,.45); }
.mo-priority-grid button[aria-pressed="true"] { color:#fff; border-color:var(--aqua-deep); background:var(--aqua-deep); }
.mo-priority-grid button[aria-pressed="true"]::before { border-color:#fff; background:#fff; box-shadow:inset 0 0 0 3px var(--aqua-deep); }
.mo-composer__error { min-height:19px; margin-top:10px; color:#b33a20; font-size:0.84rem; font-weight:800; }
.mo-composer__actions { display:flex; align-items:center; justify-content:flex-end; gap:16px; margin-top:18px; }
.mo-composer__back,.mo-composer__reset { padding:0; border:0; background:transparent; color:var(--muted); font-size:0.86rem; font-weight:800; }
.mo-composer__back:hover,.mo-composer__reset:hover { color:var(--orange); }
.mo-composer__preview { position:sticky; top:130px; padding:25px; border-radius:38px; }
.mo-preview__top { display:flex; align-items:center; justify-content:space-between; gap:15px; color:var(--muted); font-size:.82rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.mo-preview__top span { display:flex; align-items:center; gap:8px; }
.mo-preview__top span i { width:7px; height:7px; border-radius:50%; background:#55db9d; box-shadow:0 0 0 5px rgba(85,219,157,.12); }
.mo-preview__top strong { color:var(--orange); }
.mo-preview__ring { display:grid; place-items:center; width:190px; height:190px; margin:24px auto; border-radius:50%; background:conic-gradient(var(--orange) 0 var(--mo-progress),rgba(16,42,51,.08) var(--mo-progress) 360deg); position:relative; transition:background .45s ease; }
.mo-preview__ring::before { content:""; position:absolute; inset:11px; border-radius:50%; background:linear-gradient(145deg,#fff,#edf7f8); box-shadow:inset 0 1px rgba(255,255,255,.9); }
.mo-preview__ring > div { position:relative; z-index:1; text-align:center; }
.mo-preview__ring strong { display:block; font-family:var(--font-display); font-size:2.25rem; letter-spacing:-.07em; }
.mo-preview__ring small { color:var(--muted); font-size:.82rem; font-weight:800; text-transform:uppercase; }
.mo-composer__preview > small { color:var(--orange); font-size:.82rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.mo-composer__preview > h3 { margin:7px 0 9px; font-family:var(--font-display); font-size:1.32rem; letter-spacing:-.05em; line-height:1.14; }
.mo-composer__preview > p { margin:0; color:var(--muted); font-size:0.86rem; line-height:1.63; }
.mo-composer__preview dl { display:grid; gap:7px; margin:20px 0 0; }
.mo-composer__preview dl > div { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:10px 12px; border:1px solid var(--mo-line); border-radius:13px; background:var(--ice); }
.mo-composer__preview dt { color:var(--muted); font-size:.82rem; font-weight:800; text-transform:uppercase; }
.mo-composer__preview dd { max-width:66%; margin:0; overflow:hidden; font-size:0.82rem; font-weight:800; text-align:right; text-overflow:ellipsis; white-space:nowrap; }
.mo-preview__layers { display:grid; grid-template-columns:repeat(4,1fr); gap:5px; margin-top:16px; }
.mo-preview__layers > span { grid-column:1/-1; color:var(--muted); font-size:.82rem; font-weight:800; text-transform:uppercase; }
.mo-preview__layers > div { display:grid; justify-items:center; gap:5px; padding:8px 3px; border:1px solid var(--mo-line); border-radius:11px; background:#fff; }
.mo-preview__layers i { width:8px; height:8px; border-radius:50%; background:rgba(16,42,51,.12); transition:background .3s ease,box-shadow .3s ease; }
.mo-preview__layers i.is-active { background:var(--aqua-deep); box-shadow:0 0 0 4px rgba(17,123,120,.12); }
.mo-preview__layers small { color:var(--muted); font-size:.82rem; font-weight:800; }
.mo-preview__notice { display:flex; gap:10px; margin-top:16px; padding:13px; border:1px solid rgba(255,101,52,.15); border-radius:14px; background:#fff7f2; }
.mo-preview__notice > span { display:grid; place-items:center; width:24px; height:24px; flex:0 0 auto; border-radius:50%; color:#fff; background:var(--orange); font-size:0.82rem; font-weight:900; }
.mo-preview__notice p { margin:0; }
.mo-preview__notice strong,.mo-preview__notice small { display:block; }
.mo-preview__notice strong { font-size:0.82rem; }
.mo-preview__notice small { margin-top:3px; color:var(--muted); font-size:.82rem; line-height:1.5; }
.mo-composer__result { padding:32px; }
.mo-composer__result-top { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-bottom:18px; border-bottom:1px solid var(--mo-line); color:var(--muted); font-size:0.82rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.mo-composer__result-top span { display:flex; align-items:center; gap:8px; }
.mo-composer__result-top span i { width:8px; height:8px; border-radius:50%; background:#55db9d; }
.mo-composer__result-top strong { color:var(--orange); font-size:0.9rem; }
.mo-composer__result > small { display:block; margin-top:25px; color:var(--orange); font-size:0.82rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.mo-composer__result > h3 { margin:8px 0 10px; font-family:var(--font-display); font-size:2.05rem; letter-spacing:-.055em; line-height:1.08; }
.mo-composer__result > p { margin:0; color:var(--muted); }
.mo-composer__result-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:23px; }
.mo-composer__result-grid > div { padding:14px; border:1px solid var(--mo-line); border-radius:16px; background:var(--ice); }
.mo-composer__result-grid small,.mo-composer__result-grid strong { display:block; }
.mo-composer__result-grid small { color:var(--aqua-deep); font-size:.82rem; font-weight:800; text-transform:uppercase; }
.mo-composer__result-grid strong { margin-top:5px; font-size:0.84rem; line-height:1.45; }
.mo-composer__layers { margin-top:17px; padding:16px; border:1px solid var(--mo-line); border-radius:19px; background:#fff; }
.mo-composer__layers-top { display:flex; align-items:center; justify-content:space-between; gap:18px; color:var(--muted); font-size:.82rem; font-weight:800; text-transform:uppercase; }
.mo-composer__layers-top strong { color:var(--ink); }
.mo-composer__layers-top i { color:var(--orange); font-style:normal; }
.mo-composer__layer-grid { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin-top:12px; }
.mo-composer__layer-grid > div { padding:11px; border-radius:12px; background:var(--ice); }
.mo-composer__layer-grid small,.mo-composer__layer-grid strong { display:block; }
.mo-composer__layer-grid small { color:var(--muted); font-size:.82rem; font-weight:800; text-transform:uppercase; }
.mo-composer__layer-grid strong { margin-top:4px; font-size:.82rem; line-height:1.42; }
.mo-composer__tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:17px; }
.mo-composer__tags span { padding:7px 10px; border:1px solid rgba(17,123,120,.16); border-radius:999px; color:var(--aqua-deep); background:rgba(100,217,207,.1); font-size:.82rem; font-weight:800; }
.mo-composer__questions { margin-top:17px; padding:17px; border-left:3px solid var(--orange); border-radius:0 17px 17px 0; background:#fff7f2; }
.mo-composer__questions > small { color:var(--orange); font-size:.82rem; font-weight:800; text-transform:uppercase; }
.mo-composer__questions ol { display:grid; gap:7px; margin:10px 0 0; padding-left:20px; color:var(--ink-soft); font-size:0.84rem; }
.mo-composer__result-actions { display:flex; flex-wrap:wrap; align-items:center; gap:9px; margin-top:20px; }

/* Practice path --------------------------------------------------------- */
.mo-path-section { overflow:hidden; background:#fff; }
.mo-path__tabs { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-bottom:25px; }
.mo-path__tabs button { display:flex; align-items:center; gap:13px; min-height:78px; padding:14px 16px; border:1px solid var(--mo-line); border-radius:20px; background:var(--ice); text-align:left; transition:transform .3s var(--ease),background .3s ease,border-color .3s ease; }
.mo-path__tabs button > span { display:grid; place-items:center; width:35px; height:35px; flex:0 0 auto; border-radius:12px; color:var(--aqua-deep); background:#fff; font-size:.82rem; font-weight:800; }
.mo-path__tabs strong,.mo-path__tabs small { display:block; }
.mo-path__tabs strong { font-family:var(--font-display); font-size:0.88rem; }
.mo-path__tabs small { margin-top:3px; color:var(--muted); font-size:.82rem; }
.mo-path__tabs button:hover,.mo-path__tabs button.is-active { transform:translateY(-3px); border-color:var(--ink-deep); background:var(--ink-deep); color:#fff; box-shadow:0 16px 36px rgba(7,28,36,.14); }
.mo-path__tabs button.is-active > span { color:var(--ink-deep); background:var(--aqua); }
.mo-path__tabs button.is-active small { color:rgba(255,255,255,.56); }
.mo-path__grid { display:grid; grid-template-columns:minmax(570px,1.08fr) minmax(400px,.92fr); align-items:center; gap:clamp(35px,6vw,88px); }
.mo-path__visual { position:relative; }
.mo-path__image-stack { position:relative; min-height:615px; overflow:hidden; border-radius:46px 46px 118px 46px; }
.mo-path__image-stack img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transform:scale(1.06); transition:opacity .7s ease,transform 6s linear; }
.mo-path__image-stack img.is-active { opacity:1; transform:scale(1); }
.mo-path__image-stack > span { position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(5,26,33,.58)); }
.mo-path__line { display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin:17px 45px 0; }
.mo-path__line i { position:relative; height:3px; background:rgba(16,42,51,.09); }
.mo-path__line i::before { content:""; position:absolute; left:0; top:50%; width:10px; height:10px; border:2px solid #fff; border-radius:50%; background:rgba(16,42,51,.18); transform:translateY(-50%); box-shadow:0 0 0 1px rgba(16,42,51,.08); }
.mo-path__line i.is-active { background:linear-gradient(90deg,var(--aqua),var(--orange)); }
.mo-path__line i.is-active::before { background:var(--orange); box-shadow:0 0 0 5px rgba(255,101,52,.12); }
.mo-path__story > span { display:grid; place-items:center; width:47px; height:47px; border-radius:16px; color:#fff; background:var(--ink-deep); font-size:0.84rem; font-weight:800; }
.mo-path__story > small { display:block; margin-top:25px; color:var(--orange); font-size:0.82rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.mo-path__story h3 { margin:9px 0 15px; font-family:var(--font-display); font-size:clamp(2rem,3.2vw,3.45rem); letter-spacing:-.065em; line-height:1.04; }
.mo-path__story > p { margin:0; color:var(--muted); line-height:1.84; }
.mo-path__focus { margin-top:24px; padding:16px 18px; border:1px solid rgba(100,217,207,.2); border-radius:18px; background:rgba(100,217,207,.09); }
.mo-path__focus small,.mo-path__focus strong { display:block; }
.mo-path__focus small { color:var(--aqua-deep); font-size:.82rem; font-weight:800; text-transform:uppercase; }
.mo-path__focus strong { margin-top:6px; font-size:0.86rem; line-height:1.5; }
.mo-path__confirm { margin-top:16px; padding:17px 18px; border-left:3px solid var(--orange); border-radius:0 18px 18px 0; background:#fff7f2; }
.mo-path__confirm > small { color:var(--orange); font-size:.82rem; font-weight:800; text-transform:uppercase; }
.mo-path__confirm ul { display:grid; gap:7px; margin:10px 0 0; padding-left:18px; color:var(--ink-soft); font-size:0.84rem; }
.mo-path__story .button { margin-top:22px; }

/* Gallery / locations / stories / FAQ / form -------------------------- */
.mo-gallery { padding:128px 0 145px; background:linear-gradient(180deg,#f3f9fa,#edf7f8); }
.gallery-strip__top { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:40px; }
.gallery-strip__top > div:first-child { max-width:800px; }
.gallery-strip__top h2 { margin:0; font-family:var(--font-display); font-size:clamp(2.7rem,4.4vw,5rem); letter-spacing:-.06em; line-height:1.02; }
.gallery-strip__top h2 em { color:var(--orange); font-style:normal; }
.gallery-strip__controls { display:flex; gap:8px; }
.gallery-strip__controls button { display:grid; place-items:center; width:46px; height:46px; border:1px solid var(--line); border-radius:50%; background:#fff; transition:transform .25s var(--ease),color .25s ease,background .25s ease; }
.gallery-strip__controls button:hover { color:#fff; background:var(--ink-deep); transform:translateY(-2px); }
.mo-gallery .gallery-rail { cursor:grab; }
.mo-gallery .gallery-card { border:0; text-align:left; }
.mo-gallery .gallery-card:active { cursor:grabbing; }
.mo-gallery .gallery-card span { pointer-events:none; }
.mo-locations { background:#fff; }
.mo-locations .location-panel__copy h3 { font-size:clamp(1.8rem,2.8vw,3rem); }
.mo-stories h2 em { color:var(--orange-soft); }
.mo-stories .eyebrow { color:rgba(255,255,255,.65); }
.mo-stories .story-card { border-color:rgba(255,255,255,.14); background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.06)); }
.mo-ready { margin-top:28px; padding:20px; border-radius:24px; }
.mo-ready__top { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:13px; color:var(--muted); font-size:0.82rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.mo-ready__top strong { color:var(--ink); }
.mo-ready__top i { color:var(--orange); font-style:normal; }
.mo-ready label { display:block; margin-top:7px; cursor:pointer; }
.mo-ready input { position:absolute; opacity:0; pointer-events:none; }
.mo-ready label > span { position:relative; display:block; padding:10px 10px 10px 34px; border:1px solid var(--mo-line); border-radius:13px; color:var(--muted); background:rgba(255,255,255,.58); font-size:0.82rem; line-height:1.45; transition:color .25s ease,border-color .25s ease,background .25s ease; }
.mo-ready label > span i { position:absolute; top:50%; left:12px; width:12px; height:12px; border:1px solid rgba(16,42,51,.24); border-radius:4px; transform:translateY(-50%); }
.mo-ready input:checked + span { color:var(--ink); border-color:rgba(17,123,120,.25); background:rgba(100,217,207,.1); }
.mo-ready input:checked + span i { border-color:var(--aqua-deep); background:var(--aqua-deep); box-shadow:inset 0 0 0 3px #fff; }
.mo-ready__bar { height:5px; margin-top:14px; overflow:hidden; border-radius:99px; background:rgba(16,42,51,.08); }
.mo-ready__bar span { display:block; width:0; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--aqua-deep),var(--orange)); transition:width .4s var(--ease); }
.mo-ready > p { margin:10px 0 0; color:var(--muted); font-size:.82rem; line-height:1.52; }
.mo-contact .tour-form { position:relative; }
.mo-form-summary { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:18px 0 0; padding:13px 14px; border:1px solid rgba(100,217,207,.2); border-radius:16px; background:rgba(100,217,207,.09); }
.mo-form-summary span,.mo-form-summary strong,.mo-form-summary small { display:block; }
.mo-form-summary span { color:var(--aqua-deep); font-size:.82rem; font-weight:800; text-transform:uppercase; }
.mo-form-summary strong { margin-top:3px; font-size:0.84rem; }
.mo-form-summary small { max-width:420px; margin-top:3px; color:var(--muted); font-size:.82rem; line-height:1.45; }
.mo-form-summary > b { flex:0 0 auto; padding:7px 9px; border-radius:10px; color:#fff; background:var(--ink-deep); font-size:.82rem; }

/* Floating dock / dialogs / toast -------------------------------------- */
.mo-desktop-shortcut { position:fixed; z-index:220; right:22px; bottom:24px; display:grid; grid-template-columns:52px minmax(0,1fr) 34px; align-items:center; gap:12px; width:330px; padding:13px 14px; border-radius:23px; text-align:left; box-shadow:0 24px 74px rgba(7,28,36,.2); transition:transform .3s var(--ease),opacity .3s ease; }
.mo-desktop-shortcut:hover { transform:translateY(-4px); }
.mo-brief-dock__ring { --dock-progress:0deg; position:relative; display:grid; place-items:center; width:52px; height:52px; border-radius:50%; background:conic-gradient(var(--orange) 0 var(--dock-progress),rgba(16,42,51,.09) var(--dock-progress) 360deg); }
.mo-brief-dock__ring::before { content:""; position:absolute; inset:5px; border-radius:50%; background:#fff; }
.mo-brief-dock__ring i { position:relative; z-index:1; color:var(--orange); font-family:var(--font-display); font-size:0.9rem; font-style:normal; }
.mo-desktop-shortcut small,.mo-desktop-shortcut strong,.mo-desktop-shortcut em { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mo-desktop-shortcut small { color:var(--orange); font-size:.82rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.mo-desktop-shortcut strong { margin-top:3px; font-size:0.84rem; }
.mo-desktop-shortcut em { margin-top:3px; color:var(--muted); font-size:.82rem; font-style:normal; }
.mo-desktop-shortcut > b { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; color:#fff; background:var(--ink-deep); }
.mo-toast { position:fixed; z-index:10020; right:24px; bottom:112px; max-width:340px; padding:13px 17px; border-radius:15px; color:#fff; background:var(--ink-deep); box-shadow:0 20px 60px rgba(0,0,0,.22); font-size:0.86rem; font-weight:800; }
.mo-gallery-dialog { width:min(1100px,calc(100% - 34px)); max-width:none; max-height:calc(100vh - 34px); padding:0; overflow:visible; border:0; border-radius:30px; color:#fff; background:#04171e; box-shadow:0 50px 160px rgba(0,0,0,.5); }
.mo-gallery-dialog::backdrop { background:rgba(3,17,23,.78); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); }
.mo-gallery-dialog figure { margin:0; }
.mo-gallery-dialog figure img { width:100%; max-height:calc(100vh - 150px); object-fit:contain; border-radius:30px 30px 0 0; background:#020d12; }
.mo-gallery-dialog figcaption { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 24px; }
.mo-gallery-dialog figcaption span { font-family:var(--font-display); font-size:0.96rem; }
.mo-gallery-dialog figcaption small { color:rgba(255,255,255,.48); }
.mo-gallery-dialog figcaption i { color:var(--orange-soft); font-style:normal; }
.mo-gallery-dialog__nav { position:absolute; z-index:4; top:50%; display:grid; place-items:center; width:48px; height:48px; border:1px solid rgba(255,255,255,.16); border-radius:50%; color:#fff; background:rgba(4,23,30,.65); transform:translateY(-50%); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); }
.mo-gallery-dialog__nav--prev { left:17px; }
.mo-gallery-dialog__nav--next { right:17px; }

/* Responsive ------------------------------------------------------------ */
@media (max-width:1180px) {
  .mo-intro__layout { grid-template-columns:minmax(420px,.9fr) minmax(520px,1.1fr); gap:35px; }
  .mo-hero-frame { left:32px; }
  .mo-proof__grid { grid-template-columns:1fr 1fr; }
  .mo-proof article:nth-child(2) { border-right:0; }
  .mo-proof article:nth-child(-n+2) { border-bottom:1px solid rgba(16,42,51,.08); }
  .mo-page-rail { justify-content:flex-start; overflow-x:auto; scrollbar-width:none; }
  .mo-page-rail::-webkit-scrollbar { display:none; }
  .mo-fit__grid,.mo-flow__grid,.mo-sink,.mo-path__grid { grid-template-columns:minmax(0,1fr) minmax(350px,.78fr); }
  .mo-operations { grid-template-columns:minmax(470px,1.05fr) minmax(380px,.95fr); }
  .mo-composer { grid-template-columns:minmax(540px,1.12fr) minmax(330px,.88fr); }
}

@media (max-width:980px) {
  .mo-section-heading { grid-template-columns:1fr; gap:22px; }
  .mo-section-heading > p { max-width:700px; }
  .mo-intro { min-height:auto; padding-bottom:55px; }
  .mo-intro__layout { grid-template-columns:1fr; }
  .mo-intro__copy { max-width:780px; }
  .mo-intro__stage { min-height:690px; }
  .mo-hero-frame { inset:20px 20px 50px 42px; }
  .mo-proof { padding-bottom:38px; }
  .mo-page-rail { top:84px; width:calc(100% - 32px); margin-bottom:-22px; }
  .mo-fit-section { padding-top:145px; }
  .mo-fit__tabs,.mo-path__tabs { grid-template-columns:1fr 1fr; }
  .mo-fit__grid,.mo-flow__grid,.mo-sink,.mo-path__grid { grid-template-columns:1fr; }
  .mo-fit__visual,.mo-sink__scene,.mo-path__image-stack { min-height:600px; }
  .mo-flow__story { min-height:auto; }
  .mo-operations { grid-template-columns:1fr; }
  .mo-operations__dashboard { position:relative; top:auto; }
  .mo-composer { grid-template-columns:1fr; }
  .mo-composer__preview { position:relative; top:auto; grid-row:1; }
  .mo-preview__ring { width:160px; height:160px; }
  .mo-composer__builder { min-height:680px; }
  .mo-desktop-shortcut { display:none !important; }
}

@media (max-width:720px) {
  .medical-offices-page .container { width:min(calc(100% - 30px),var(--container)); }
  .mo-intro { margin-top:-96px; padding-top:170px; }
  .medical-offices-page .breadcrumb { margin-bottom:25px; }
  .mo-intro__copy h1 { font-size:clamp(3.15rem,15vw,4.6rem); }
  .mo-intro__lede { font-size:1.02rem; }
  .mo-intro__actions { display:grid; }
  .mo-intro__actions .button { width:100%; }
  .mo-intro__facts { grid-template-columns:1fr; }
  .mo-intro__stage { min-height:710px; margin-top:18px; }
  .mo-hero-frame { inset:30px 0 58px 0; border-radius:35px 35px 86px 35px; }
  .mo-signal { top:0; left:14px; width:calc(100% - 28px); padding:17px; }
  .mo-signal__modes button { font-size:.82rem; }
  .mo-signal__readout p { display:none; }
  .mo-signal__sequence { display:none; }
  .mo-hero-media__caption { right:20px; bottom:20px; left:20px; }
  .mo-lens { right:12px; top:380px; width:230px; }
  .mo-status-card { right:auto; bottom:44px; left:12px; width:230px; }
  .mo-hero-use { right:12px; bottom:0; width:245px; }
  .mo-proof__grid { grid-template-columns:1fr; border-radius:23px; }
  .mo-proof article { min-height:auto; border-right:0; border-bottom:1px solid rgba(16,42,51,.08); }
  .mo-proof article:last-child { border-bottom:0; }
  .mo-page-rail { top:78px; width:calc(100% - 20px); padding:5px; border-radius:18px; }
  .mo-page-rail a { min-height:38px; padding:0 12px; font-size:0.82rem; }
  .mo-section-heading h2 { font-size:clamp(2.55rem,12vw,4rem); }
  .mo-fit-section { padding-top:130px; }
  .mo-fit__tabs,.mo-path__tabs { display:flex; overflow-x:auto; padding:6px; scrollbar-width:none; }
  .mo-fit__tabs::-webkit-scrollbar,.mo-path__tabs::-webkit-scrollbar { display:none; }
  .mo-fit__tabs button,.mo-path__tabs button { min-width:210px; }
  .mo-fit__visual,.mo-sink__scene,.mo-path__image-stack { min-height:520px; border-radius:32px 32px 74px 32px; }
  .mo-fit__story,.mo-flow__story { padding:30px 24px; }
  .mo-fit__split,.mo-flow__split { grid-template-columns:1fr; }
  .mo-flow__top { align-items:stretch; flex-direction:column; }
  .mo-flow__tabs { flex-wrap:nowrap; overflow-x:auto; border-radius:18px; scrollbar-width:none; }
  .mo-flow__tabs::-webkit-scrollbar { display:none; }
  .mo-flow__tabs button { flex:0 0 auto; }
  .mo-flow__view { align-self:flex-start; }
  .mo-flow__map { min-height:500px; padding:18px; border-radius:30px 30px 74px 30px; }
  .mo-flow__route { margin-top:50px; transform:scale(1.08); }
  .mo-flow__zones { display:none; }
  .mo-flow__status { right:18px; bottom:18px; left:18px; }
  .mo-sink__point { width:42px; height:42px; }
  .mo-sink__legend { right:16px; bottom:16px; left:16px; }
  .mo-operations__choices { grid-template-columns:1fr; }
  .mo-radar-wrap { width:min(100%,380px); }
  .mo-composer__builder { min-height:0; border-radius:30px; }
  .mo-composer__header { padding:19px; }
  .mo-composer__panel,.mo-composer__result { padding:23px 19px; }
  .mo-choice-grid,.mo-choice-grid--two { grid-template-columns:1fr; }
  .mo-priority-grid { grid-template-columns:1fr; }
  .mo-composer__actions { justify-content:space-between; }
  .mo-composer__result-grid,.mo-composer__layer-grid { grid-template-columns:1fr; }
  .mo-composer__result-actions { display:grid; }
  .mo-composer__result-actions .button { width:100%; }
  .mo-composer__preview { padding:21px; border-radius:30px; }
  .mo-composer__preview dl > div { align-items:flex-start; flex-direction:column; }
  .mo-composer__preview dd { max-width:100%; text-align:left; white-space:normal; }
  .mo-path__story h3 { font-size:2.45rem; }
  .gallery-strip__top { align-items:flex-start; flex-direction:column; }
  .mo-gallery-dialog__nav { top:auto; bottom:68px; }
  .mo-gallery-dialog__nav--prev { left:14px; }
  .mo-gallery-dialog__nav--next { right:14px; }
  .mo-form-summary { align-items:flex-start; flex-direction:column; }
  .mo-toast { right:15px; bottom:92px; left:15px; max-width:none; text-align:center; }
}

@media (max-width:420px) {
  .mo-intro__stage { min-height:675px; }
  .mo-signal { left:7px; width:calc(100% - 14px); }
  .mo-signal__modes { gap:3px; }
  .mo-signal__modes button { min-height:40px; font-size:.82rem; }
  .mo-lens { top:365px; right:7px; width:210px; }
  .mo-status-card { left:7px; width:215px; }
  .mo-hero-use { right:7px; width:225px; }
  .mo-fit__tabs button,.mo-path__tabs button { min-width:190px; }
  .mo-fit__visual,.mo-sink__scene,.mo-path__image-stack { min-height:455px; }
  .mo-fit__zones { right:14px; bottom:93px; left:14px; }
  .mo-fit__zones span { font-size:.82rem; }
  .mo-fit__signal { right:14px; bottom:14px; left:14px; }
  .mo-flow__map { min-height:445px; }
  .mo-radar__label { font-size:.82rem; }
  .mo-radar__score { width:95px; height:95px; }
  .mo-preview__layers { grid-template-columns:1fr 1fr; }
  .mo-preview__layers > span { grid-column:1/-1; }
}

@media (prefers-reduced-motion:reduce) {
  .mo-intro__glow,
  .mo-signal__top > span i,
  .mo-sink__point::after { animation:none !important; }
  .mo-hero-image,
  .mo-fit__media img,
  .mo-path__image-stack img { transition:opacity .2s ease !important; transform:none !important; }
  .mo-flow__route-live,
  .mo-radar__shape,
  .mo-radar__points circle,
  .mo-preview__ring,
  .mo-ready__bar span { transition:none !important; }
}

/* ----------------------------------------------------------------------
   Medical Offices Premium v2 enhancements
   Appointment rhythm, suite decision route and conversion bridge.
   ---------------------------------------------------------------------- */
.medical-offices-page .mo-page-rail { width:min(calc(100% - 40px),1320px); }
.medical-offices-page .mo-page-rail a { gap:5px; padding-inline:11px; font-size:0.82rem; }
.medical-offices-page .mo-page-rail a span { font-size:.82rem; }

/* Practice Rhythm Studio ------------------------------------------------ */
.mo-rhythm-section { overflow:hidden; background:linear-gradient(180deg,#f5fafb 0,#fff 55%,#f8fbfc 100%); }
.mo-rhythm-section__mesh { position:absolute; inset:0; opacity:.34; background-image:linear-gradient(rgba(16,42,51,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(16,42,51,.045) 1px,transparent 1px); background-size:46px 46px; -webkit-mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent); mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent); }
.mo-rhythm-section__glow { position:absolute; top:10%; right:-280px; width:720px; height:720px; border-radius:50%; background:radial-gradient(circle,rgba(100,217,207,.18),transparent 67%); filter:blur(10px); pointer-events:none; }
.mo-rhythm { position:relative; }
.mo-rhythm__controls { display:grid; grid-template-columns:1.25fr .85fr .75fr; gap:10px; margin-bottom:24px; padding:9px; border-radius:25px; background:rgba(255,255,255,.74); }
.mo-rhythm__control-block { min-width:0; padding:13px 14px; border:1px solid rgba(16,42,51,.075); border-radius:18px; background:rgba(248,252,252,.76); }
.mo-rhythm__control-block > span { display:block; margin:0 0 9px; color:var(--muted); font-size:.82rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.mo-rhythm__practice-tabs,.mo-rhythm__button-row { display:grid; gap:5px; }
.mo-rhythm__practice-tabs { grid-template-columns:repeat(4,1fr); }
.mo-rhythm__button-row { grid-template-columns:repeat(4,1fr); }
.mo-rhythm__control-block:last-child .mo-rhythm__button-row { grid-template-columns:repeat(3,1fr); }
.mo-rhythm__practice-tabs button,.mo-rhythm__button-row button { min-width:0; min-height:42px; border:1px solid rgba(16,42,51,.08); border-radius:12px; color:var(--muted); background:#fff; font-size:.82rem; font-weight:800; transition:transform .25s var(--ease),color .25s ease,background .25s ease,border-color .25s ease,box-shadow .25s ease; }
.mo-rhythm__practice-tabs button i { display:block; margin-bottom:2px; color:rgba(16,42,51,.34); font-size:.82rem; font-style:normal; }
.mo-rhythm__practice-tabs button:hover,.mo-rhythm__button-row button:hover { transform:translateY(-1px); border-color:rgba(17,123,120,.25); }
.mo-rhythm__practice-tabs button.is-active,.mo-rhythm__button-row button.is-active { color:#fff; border-color:var(--ink-deep); background:var(--ink-deep); box-shadow:0 9px 22px rgba(7,28,36,.16); }
.mo-rhythm__practice-tabs button.is-active i { color:var(--aqua); }
.mo-rhythm__grid { display:grid; grid-template-columns:minmax(600px,1.12fr) minmax(400px,.88fr); align-items:stretch; gap:27px; }
.mo-rhythm__dashboard { position:relative; min-height:610px; overflow:hidden; padding:26px; border-color:rgba(255,255,255,.13); border-radius:42px 42px 108px 42px; color:#fff; background:radial-gradient(circle at 16% 13%,rgba(100,217,207,.18),transparent 28%),radial-gradient(circle at 92% 90%,rgba(255,101,52,.16),transparent 31%),linear-gradient(145deg,#061c24,#0b323b 64%,#0b4244); box-shadow:0 34px 90px rgba(7,28,36,.22),inset 0 1px rgba(255,255,255,.12); }
.mo-rhythm__dashboard::before { content:""; position:absolute; inset:0; opacity:.17; background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px); background-size:38px 38px; -webkit-mask-image:radial-gradient(circle at 50% 45%,#000,transparent 78%); mask-image:radial-gradient(circle at 50% 45%,#000,transparent 78%); pointer-events:none; }
.mo-rhythm__top { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:20px; padding-bottom:19px; border-bottom:1px solid rgba(255,255,255,.1); color:rgba(255,255,255,.55); font-size:.82rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.mo-rhythm__top span { display:flex; align-items:center; gap:8px; }
.mo-rhythm__top span i { width:8px; height:8px; border-radius:50%; background:var(--aqua); box-shadow:0 0 0 6px rgba(100,217,207,.11); animation:moRhythmPulse 2.4s ease-out infinite; }
.mo-rhythm__top strong { color:var(--aqua); font-size:0.84rem; }
@keyframes moRhythmPulse { 70%,100% { box-shadow:0 0 0 16px rgba(100,217,207,0); } }
.mo-rhythm__timeline { position:relative; z-index:2; margin-top:28px; }
.mo-rhythm__hours { display:grid; grid-template-columns:repeat(7,1fr); margin:0 0 9px; color:rgba(255,255,255,.42); font-size:.82rem; font-weight:800; }
.mo-rhythm__hours span:last-child { text-align:right; }
.mo-rhythm__track { position:relative; height:270px; overflow:hidden; border:1px solid rgba(255,255,255,.11); border-radius:25px; background:linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px); background-size:calc(100% / 6) 100%; box-shadow:inset 0 1px rgba(255,255,255,.06); }
.mo-rhythm__track::before,.mo-rhythm__track::after { content:""; position:absolute; right:0; left:0; height:1px; background:rgba(255,255,255,.08); }
.mo-rhythm__track::before { top:117px; }
.mo-rhythm__track::after { top:195px; }
.mo-rhythm__slot,.mo-rhythm__buffer { position:absolute; left:var(--start); width:var(--width); min-width:3px; border-radius:13px; overflow:hidden; transition:left .55s var(--ease),width .55s var(--ease),opacity .3s ease,transform .35s var(--ease); }
.mo-rhythm__slot { top:24px; height:76px; padding:11px 10px; border:1px solid rgba(255,255,255,.26); color:var(--ink-deep); background:linear-gradient(135deg,#bcf3ea,var(--aqua)); box-shadow:0 15px 30px rgba(0,0,0,.16),inset 0 1px rgba(255,255,255,.56); }
.mo-rhythm__slot:nth-of-type(even) { top:127px; color:#fff; background:linear-gradient(135deg,#fe966f,var(--orange)); }
.mo-rhythm__slot b,.mo-rhythm__slot small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mo-rhythm__slot b { font-family:var(--font-display); font-size:0.84rem; }
.mo-rhythm__slot small { margin-top:5px; opacity:.68; font-size:.82rem; font-weight:800; text-transform:uppercase; }
.mo-rhythm__buffer { top:214px; height:26px; border:1px solid rgba(255,176,121,.28); background:repeating-linear-gradient(135deg,rgba(255,176,121,.22) 0 5px,rgba(255,176,121,.08) 5px 10px); }
.mo-rhythm__buffer::after { content:""; position:absolute; top:50%; right:4px; left:4px; height:2px; border-radius:999px; background:rgba(255,176,121,.52); transform:translateY(-50%); }
.mo-rhythm__legend { position:relative; z-index:2; display:flex; flex-wrap:wrap; gap:14px; margin-top:14px; color:rgba(255,255,255,.48); font-size:.82rem; font-weight:800; text-transform:uppercase; }
.mo-rhythm__legend span { display:flex; align-items:center; gap:6px; }
.mo-rhythm__legend i { width:11px; height:7px; border-radius:999px; }
.mo-rhythm__legend-session { background:var(--aqua); }
.mo-rhythm__legend-buffer { border:1px solid rgba(255,176,121,.6); background:rgba(255,176,121,.2); }
.mo-rhythm__legend-open { border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.06); }
.mo-rhythm__metrics { position:relative; z-index:2; display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:18px; }
.mo-rhythm__metrics > div { padding:13px; border:1px solid rgba(255,255,255,.1); border-radius:16px; background:rgba(255,255,255,.055); }
.mo-rhythm__metrics small,.mo-rhythm__metrics strong { display:block; }
.mo-rhythm__metrics small { color:rgba(255,255,255,.42); font-size:.82rem; font-weight:800; text-transform:uppercase; }
.mo-rhythm__metrics strong { margin-top:5px; font-size:0.82rem; line-height:1.45; }
.mo-rhythm__metrics i { color:var(--aqua); font-style:normal; }
.mo-rhythm__story { padding:42px 39px; border:1px solid var(--mo-line); border-radius:42px; background:#fff; box-shadow:var(--shadow-md); }
.mo-rhythm__story > span { display:grid; place-items:center; width:48px; height:48px; border-radius:16px; color:#fff; background:linear-gradient(135deg,var(--orange),#ff9c72); box-shadow:0 14px 30px rgba(255,101,52,.22); font-size:0.84rem; font-weight:800; }
.mo-rhythm__story > small { display:block; margin-top:25px; color:var(--orange); font-size:0.82rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.mo-rhythm__story h3 { margin:9px 0 15px; font-family:var(--font-display); font-size:clamp(1.75rem,2.45vw,2.62rem); letter-spacing:-.055em; line-height:1.08; }
.mo-rhythm__story > p { margin:0; color:var(--muted); line-height:1.8; }
.mo-rhythm__signals { display:grid; gap:8px; margin-top:23px; }
.mo-rhythm__signals > div { padding:14px 15px; border:1px solid var(--mo-line); border-radius:16px; background:var(--ice); }
.mo-rhythm__signals small,.mo-rhythm__signals strong { display:block; }
.mo-rhythm__signals small { color:var(--aqua-deep); font-size:.82rem; font-weight:800; text-transform:uppercase; }
.mo-rhythm__signals strong { margin-top:5px; font-size:0.84rem; line-height:1.5; }
.mo-rhythm__question { margin-top:17px; padding:16px 17px; border-left:3px solid var(--orange); border-radius:0 17px 17px 0; background:#fff7f2; }
.mo-rhythm__question small,.mo-rhythm__question strong { display:block; }
.mo-rhythm__question small { color:var(--orange); font-size:.82rem; font-weight:800; text-transform:uppercase; }
.mo-rhythm__question strong { margin-top:6px; font-size:0.84rem; line-height:1.55; }
.mo-rhythm__note { display:flex; gap:12px; margin-top:17px; padding:13px 14px; border:1px solid rgba(17,123,120,.14); border-radius:15px; background:rgba(100,217,207,.08); }
.mo-rhythm__note span { flex:0 0 auto; color:var(--aqua-deep); font-size:.82rem; font-weight:800; text-transform:uppercase; }
.mo-rhythm__note p { margin:0; color:var(--muted); font-size:.82rem; line-height:1.55; }
.mo-rhythm__story .button { margin-top:21px; }

/* Suite Decision Map ---------------------------------------------------- */
.mo-decision-section { overflow:hidden; background:linear-gradient(180deg,#fff 0,#edf7f7 100%); }
.mo-decision-section__grid { position:absolute; inset:0; opacity:.26; background-image:radial-gradient(circle at 1px 1px,rgba(16,42,51,.13) 1px,transparent 1px); background-size:29px 29px; -webkit-mask-image:linear-gradient(to bottom,transparent,#000 17%,#000 83%,transparent); mask-image:linear-gradient(to bottom,transparent,#000 17%,#000 83%,transparent); }
.mo-decision-section__glow { position:absolute; bottom:-280px; left:-240px; width:730px; height:730px; border-radius:50%; background:radial-gradient(circle,rgba(255,101,52,.14),transparent 68%); filter:blur(12px); }
.mo-decision { position:relative; }
.mo-decision__steps { display:grid; grid-template-columns:repeat(6,1fr); gap:7px; margin-bottom:25px; padding:7px; border:1px solid var(--mo-line); border-radius:25px; background:rgba(255,255,255,.82); box-shadow:var(--shadow-sm); }
.mo-decision__steps button { position:relative; display:flex; align-items:center; gap:10px; min-width:0; min-height:76px; padding:12px 13px; border:0; border-radius:18px; color:var(--ink); background:transparent; text-align:left; transition:transform .3s var(--ease),color .25s ease,background .25s ease,box-shadow .25s ease; }
.mo-decision__steps button > span { display:grid; place-items:center; width:31px; height:31px; flex:0 0 auto; border-radius:11px; color:var(--aqua-deep); background:rgba(100,217,207,.11); font-size:.82rem; font-weight:800; }
.mo-decision__steps strong,.mo-decision__steps small { display:block; }
.mo-decision__steps strong { font-family:var(--font-display); font-size:0.84rem; line-height:1.3; }
.mo-decision__steps small { margin-top:3px; color:var(--muted); font-size:.82rem; line-height:1.35; }
.mo-decision__steps button > i { position:absolute; top:10px; right:10px; width:7px; height:7px; border-radius:50%; background:rgba(16,42,51,.12); transition:background .25s ease,box-shadow .25s ease; }
.mo-decision__steps button.is-considered > i { background:#55db9d; box-shadow:0 0 0 4px rgba(85,219,157,.12); }
.mo-decision__steps button.is-active { color:#fff; background:var(--ink-deep); box-shadow:0 14px 30px rgba(7,28,36,.17); transform:translateY(-2px); }
.mo-decision__steps button.is-active > span { color:var(--ink-deep); background:var(--aqua); }
.mo-decision__steps button.is-active small { color:rgba(255,255,255,.56); }
.mo-decision__grid { display:grid; grid-template-columns:minmax(590px,1.1fr) minmax(400px,.9fr); gap:27px; }
.mo-decision__map { position:relative; min-height:610px; overflow:hidden; padding:27px; border-color:rgba(255,255,255,.13); border-radius:42px 42px 110px 42px; color:#fff; background:radial-gradient(circle at 15% 12%,rgba(100,217,207,.16),transparent 30%),radial-gradient(circle at 91% 88%,rgba(255,101,52,.15),transparent 30%),linear-gradient(145deg,#061b23,#0b323b 66%,#0d4545); box-shadow:0 34px 90px rgba(7,28,36,.22),inset 0 1px rgba(255,255,255,.12); }
.mo-decision__map::after { content:""; position:absolute; inset:0; opacity:.16; background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px); background-size:42px 42px; -webkit-mask-image:radial-gradient(circle at 50% 45%,#000,transparent 76%); mask-image:radial-gradient(circle at 50% 45%,#000,transparent 76%); pointer-events:none; }
.mo-decision__map-top { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:18px; color:rgba(255,255,255,.53); font-size:.82rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.mo-decision__map-top > span { display:flex; align-items:center; gap:8px; }
.mo-decision__map-top > span i { width:8px; height:8px; border-radius:50%; background:var(--aqua); box-shadow:0 0 0 6px rgba(100,217,207,.1); }
.mo-decision__map-top strong { color:#fff; }
.mo-decision__map-top b { color:var(--aqua); font-style:normal; }
.mo-decision__route { position:relative; z-index:2; display:block; width:100%; height:auto; margin:18px 0 0; overflow:visible; }
.mo-decision__route-base,.mo-decision__route-live { fill:none; stroke-linecap:round; }
.mo-decision__route-base { stroke:rgba(255,255,255,.09); stroke-width:7; }
.mo-decision__route-live { stroke:url(#moDecisionGradient); stroke-width:7; stroke-dasharray:830; stroke-dashoffset:690; filter:drop-shadow(0 0 10px rgba(100,217,207,.25)); transition:stroke-dashoffset .72s var(--ease); }
.mo-decision__stations circle { fill:#0b343d; stroke:rgba(255,255,255,.2); stroke-width:2; transition:fill .35s ease,stroke .35s ease,filter .35s ease; }
.mo-decision__stations text { fill:rgba(255,255,255,.55); font: 800 13px var(--font-sans); text-anchor:middle; dominant-baseline:middle; }
.mo-decision__stations g.is-active circle { fill:var(--orange); stroke:#fff; filter:drop-shadow(0 0 11px rgba(255,101,52,.45)); }
.mo-decision__stations g.is-considered circle { fill:#55db9d; stroke:#fff; }
.mo-decision__stations g.is-active text,.mo-decision__stations g.is-considered text { fill:#fff; }
.mo-decision__coverage { position:relative; z-index:2; display:grid; grid-template-columns:145px 1fr; align-items:center; gap:22px; margin-top:-8px; padding:18px; border:1px solid rgba(255,255,255,.1); border-radius:24px; background:rgba(3,18,24,.28); }
.mo-decision__ring { display:grid; place-items:center; width:126px; height:126px; border-radius:50%; background:conic-gradient(var(--aqua) var(--mo-decision-progress),rgba(255,255,255,.08) 0); transition:background .55s ease; }
.mo-decision__ring::before { content:""; position:absolute; width:101px; height:101px; border-radius:50%; background:#0a3038; box-shadow:inset 0 0 0 1px rgba(255,255,255,.08); }
.mo-decision__ring > span { position:relative; z-index:1; text-align:center; }
.mo-decision__ring strong,.mo-decision__ring small { display:block; }
.mo-decision__ring strong { font-family:var(--font-display); font-size:1.28rem; }
.mo-decision__ring small { margin-top:2px; color:rgba(255,255,255,.44); font-size:.82rem; font-weight:800; text-transform:uppercase; }
.mo-decision__coverage > div:last-child small,.mo-decision__coverage > div:last-child strong { display:block; }
.mo-decision__coverage > div:last-child small { color:var(--aqua); font-size:.82rem; font-weight:800; text-transform:uppercase; }
.mo-decision__coverage > div:last-child strong { margin-top:6px; font-family:var(--font-display); font-size:0.93rem; line-height:1.38; }
.mo-decision__coverage > div:last-child p { margin:7px 0 0; color:rgba(255,255,255,.55); font-size:0.82rem; line-height:1.55; }
.mo-decision__story { padding:42px 39px; border:1px solid var(--mo-line); border-radius:42px; background:#fff; box-shadow:var(--shadow-md); }
.mo-decision__story-top { display:flex; align-items:center; gap:13px; }
.mo-decision__story-top span { display:grid; place-items:center; width:48px; height:48px; flex:0 0 auto; border-radius:16px; color:#fff; background:linear-gradient(135deg,var(--orange),#ff9c72); font-size:0.84rem; font-weight:800; box-shadow:0 14px 28px rgba(255,101,52,.2); }
.mo-decision__story-top small { color:var(--orange); font-size:0.82rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.mo-decision__story h3 { margin:20px 0 14px; font-family:var(--font-display); font-size:clamp(1.75rem,2.4vw,2.58rem); letter-spacing:-.055em; line-height:1.08; }
.mo-decision__story > p { margin:0; color:var(--muted); line-height:1.8; }
.mo-decision__cards { display:grid; gap:8px; margin-top:22px; }
.mo-decision__cards > div { padding:14px 15px; border:1px solid var(--mo-line); border-radius:16px; background:var(--ice); }
.mo-decision__cards small,.mo-decision__cards strong { display:block; }
.mo-decision__cards small { color:var(--aqua-deep); font-size:.82rem; font-weight:800; text-transform:uppercase; }
.mo-decision__cards strong { margin-top:5px; font-size:0.84rem; line-height:1.5; }
.mo-decision__owner { margin-top:16px; padding:14px 15px; border-left:3px solid var(--orange); border-radius:0 16px 16px 0; background:#fff7f2; }
.mo-decision__owner small,.mo-decision__owner strong { display:block; }
.mo-decision__owner small { color:var(--orange); font-size:.82rem; font-weight:800; text-transform:uppercase; }
.mo-decision__owner strong { margin-top:5px; font-size:0.84rem; line-height:1.5; }
.mo-decision__mark { display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; min-height:49px; margin-top:18px; padding:0 16px; border:1px solid rgba(17,123,120,.18); border-radius:15px; color:var(--aqua-deep); background:rgba(100,217,207,.09); font-size:0.82rem; font-weight:800; transition:transform .25s var(--ease),background .25s ease,color .25s ease; }
.mo-decision__mark i { display:grid; place-items:center; width:25px; height:25px; border-radius:50%; color:transparent; background:rgba(17,123,120,.1); font-style:normal; transition:color .25s ease,background .25s ease; }
.mo-decision__mark:hover { transform:translateY(-1px); }
.mo-decision__mark[aria-pressed="true"] { color:#fff; background:var(--aqua-deep); }
.mo-decision__mark[aria-pressed="true"] i { color:var(--aqua-deep); background:#fff; }
.mo-decision__story .button { margin-top:10px; }

/* From brief to review -------------------------------------------------- */
.mo-review-path { padding-block:80px; overflow:hidden; background:#fff; }
.mo-review-path__shell { position:relative; display:grid; grid-template-columns:minmax(360px,.78fr) minmax(620px,1.22fr); align-items:center; gap:clamp(35px,5vw,80px); overflow:hidden; padding:48px; border-radius:45px 45px 110px 45px; color:#fff; background:radial-gradient(circle at 8% 5%,rgba(100,217,207,.18),transparent 28%),radial-gradient(circle at 94% 100%,rgba(255,101,52,.18),transparent 29%),linear-gradient(135deg,#061c24,#0b343e 68%,#0c4747); box-shadow:0 32px 90px rgba(7,28,36,.2); }
.mo-review-path__shell::before { content:""; position:absolute; inset:0; opacity:.14; background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px); background-size:42px 42px; pointer-events:none; }
.mo-review-path__copy,.mo-review-path__steps,.mo-review-path__meter { position:relative; z-index:1; }
.mo-review-path__copy .eyebrow { color:rgba(255,255,255,.64); }
.mo-review-path__copy h2 { margin:16px 0 15px; font-family:var(--font-display); font-size:clamp(2.3rem,3.8vw,4.35rem); letter-spacing:-.065em; line-height:1.02; }
.mo-review-path__copy p { max-width:570px; margin:0; color:rgba(255,255,255,.59); line-height:1.8; }
.mo-review-path__copy .button { margin-top:24px; }
.mo-review-path__copy .button b { margin-left:7px; font-size:1rem; }
.mo-review-path__steps { display:grid; gap:10px; }
.mo-review-path__steps article { position:relative; display:grid; grid-template-columns:50px 1fr 10px; gap:14px; align-items:start; padding:18px 18px 18px 17px; border:1px solid rgba(255,255,255,.1); border-radius:20px; background:rgba(255,255,255,.05); transition:transform .3s var(--ease),background .3s ease,border-color .3s ease; }
.mo-review-path__steps article > span { display:grid; place-items:center; width:42px; height:42px; border-radius:14px; color:rgba(255,255,255,.48); background:rgba(255,255,255,.07); font-size:0.82rem; font-weight:800; }
.mo-review-path__steps small,.mo-review-path__steps strong { display:block; }
.mo-review-path__steps small { color:var(--aqua); font-size:.82rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.mo-review-path__steps strong { margin-top:4px; font-family:var(--font-display); font-size:0.88rem; line-height:1.4; }
.mo-review-path__steps p { margin:5px 0 0; color:rgba(255,255,255,.47); font-size:.82rem; line-height:1.5; }
.mo-review-path__steps article > i { align-self:center; width:9px; height:9px; border-radius:50%; background:rgba(255,255,255,.15); }
.mo-review-path__steps article.is-active { border-color:rgba(100,217,207,.48); background:rgba(100,217,207,.11); transform:translateX(6px); }
.mo-review-path__steps article.is-active > span { color:var(--ink-deep); background:var(--aqua); }
.mo-review-path__steps article.is-active > i { background:var(--aqua); box-shadow:0 0 0 6px rgba(100,217,207,.1); }
.mo-review-path__steps article.is-complete { border-color:rgba(85,219,157,.27); }
.mo-review-path__steps article.is-complete > i { background:#55db9d; }
.mo-review-path__meter { grid-column:1/-1; height:4px; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.08); }
.mo-review-path__meter span { display:block; width:12%; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--aqua),var(--orange)); box-shadow:0 0 16px rgba(100,217,207,.24); transition:width .55s var(--ease); }

/* Composer refinements for six planning layers ------------------------- */
.medical-offices-page .mo-preview__layers { grid-template-columns:repeat(3,1fr); }
.medical-offices-page .mo-composer__layer-grid { grid-template-columns:repeat(3,1fr); }
.medical-offices-page .mo-composer__layer-grid > div { min-width:0; }
.medical-offices-page .mo-composer__layer-grid strong { overflow-wrap:anywhere; }

@media (max-width:1180px) {
  .medical-offices-page .mo-page-rail { justify-content:flex-start; overflow-x:auto; scrollbar-width:none; }
  .medical-offices-page .mo-page-rail::-webkit-scrollbar { display:none; }
  .mo-rhythm__grid,.mo-decision__grid { grid-template-columns:minmax(0,1fr) minmax(360px,.78fr); }
  .mo-rhythm__controls { grid-template-columns:1fr 1fr; }
  .mo-rhythm__control-block:first-child { grid-column:1/-1; }
  .mo-decision__steps { display:flex; overflow-x:auto; scrollbar-width:none; }
  .mo-decision__steps::-webkit-scrollbar { display:none; }
  .mo-decision__steps button { flex:0 0 205px; }
  .mo-review-path__shell { grid-template-columns:minmax(330px,.82fr) minmax(500px,1.18fr); }
}

@media (max-width:980px) {
  .mo-rhythm__grid,.mo-decision__grid { grid-template-columns:1fr; }
  .mo-rhythm__dashboard,.mo-decision__map { min-height:590px; }
  .mo-rhythm__story,.mo-decision__story { padding:36px 32px; }
  .mo-review-path__shell { grid-template-columns:1fr; }
  .mo-review-path__meter { grid-column:auto; }
  .medical-offices-page .mo-composer__layer-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width:720px) {
  .mo-rhythm__controls { grid-template-columns:1fr; padding:7px; border-radius:20px; }
  .mo-rhythm__control-block:first-child { grid-column:auto; }
  .mo-rhythm__practice-tabs { display:flex; overflow-x:auto; scrollbar-width:none; }
  .mo-rhythm__practice-tabs::-webkit-scrollbar { display:none; }
  .mo-rhythm__practice-tabs button { flex:0 0 112px; }
  .mo-rhythm__button-row { grid-template-columns:repeat(2,1fr); }
  .mo-rhythm__control-block:last-child .mo-rhythm__button-row { grid-template-columns:repeat(3,1fr); }
  .mo-rhythm__dashboard,.mo-decision__map { min-height:auto; padding:20px; border-radius:31px 31px 76px 31px; }
  .mo-rhythm__timeline { margin-top:23px; }
  .mo-rhythm__hours { font-size:.82rem; }
  .mo-rhythm__track { height:245px; border-radius:19px; }
  .mo-rhythm__slot { top:20px; height:70px; padding:9px 7px; }
  .mo-rhythm__slot:nth-of-type(even) { top:113px; }
  .mo-rhythm__buffer { top:197px; }
  .mo-rhythm__track::before { top:103px; }
  .mo-rhythm__track::after { top:181px; }
  .mo-rhythm__slot b { font-size:.82rem; }
  .mo-rhythm__slot small { display:none; }
  .mo-rhythm__metrics { grid-template-columns:1fr; }
  .mo-rhythm__story,.mo-decision__story { padding:29px 23px; border-radius:30px; }
  .mo-rhythm__signals { grid-template-columns:1fr; }
  .mo-decision__steps button { flex-basis:184px; min-height:70px; }
  .mo-decision__route { margin-top:25px; transform:scale(1.05); }
  .mo-decision__coverage { grid-template-columns:112px 1fr; gap:14px; margin-top:4px; padding:14px; }
  .mo-decision__ring { width:100px; height:100px; }
  .mo-decision__ring::before { width:80px; height:80px; }
  .mo-decision__ring strong { font-size:1rem; }
  .mo-review-path { padding-block:60px; }
  .mo-review-path__shell { padding:30px 23px; border-radius:31px 31px 76px 31px; }
  .mo-review-path__steps article { grid-template-columns:44px 1fr 9px; padding:15px; }
  .mo-review-path__steps article > span { width:38px; height:38px; }
  .mo-review-path__steps article.is-active { transform:none; }
  .medical-offices-page .mo-preview__layers { grid-template-columns:1fr 1fr; }
  .medical-offices-page .mo-composer__layer-grid { grid-template-columns:1fr; }
}

@media (max-width:420px) {
  .mo-rhythm__control-block { padding:11px; }
  .mo-rhythm__practice-tabs button { flex-basis:104px; }
  .mo-rhythm__top,.mo-decision__map-top { align-items:flex-start; flex-direction:column; gap:7px; }
  .mo-rhythm__track { height:225px; }
  .mo-rhythm__slot { top:18px; height:63px; border-radius:10px; }
  .mo-rhythm__slot:nth-of-type(even) { top:98px; }
  .mo-rhythm__buffer { top:178px; height:23px; }
  .mo-rhythm__track::before { top:90px; }
  .mo-rhythm__track::after { top:164px; }
  .mo-rhythm__slot b { font-size:.82rem; }
  .mo-rhythm__legend { gap:9px; font-size:.82rem; }
  .mo-decision__route { margin-top:34px; transform:scale(1.12); }
  .mo-decision__coverage { grid-template-columns:1fr; justify-items:center; text-align:center; }
  .mo-decision__coverage > div:last-child { max-width:290px; }
  .mo-decision__cards { gap:7px; }
  .mo-review-path__copy h2 { font-size:2.35rem; }
}

@media (prefers-reduced-motion:reduce) {
  .mo-rhythm__top span i { animation:none !important; }
  .mo-rhythm__slot,.mo-rhythm__buffer,.mo-decision__route-live,.mo-decision__ring,.mo-review-path__steps article,.mo-review-path__meter span { transition:none !important; }
}

/* v2 visual polish: let the live diagrams size to their content rather than
   stretching to the adjacent narrative card. */
.mo-rhythm__grid,
.mo-decision__grid { align-items:start; }
.mo-rhythm__dashboard,
.mo-decision__map { min-height:0; }
@media (max-width:980px) {
  .mo-rhythm__dashboard,
  .mo-decision__map { min-height:0; }
}

/* Anchor targets remain visible beneath the shared sticky header and the
   Medical Offices planning rail. */
.medical-offices-page main > section[id] { scroll-margin-top: 162px; }
@media (max-width:720px) {
  .medical-offices-page main > section[id] { scroll-margin-top: 146px; }
}
