/* Magnet Studio M18 — deep visual, readability and application-wide polish. */
:root {
  --m18-line:rgba(22,35,73,.105);
  --m18-soft:#f8f9fd;
  --m18-shadow:0 26px 78px rgba(27,41,81,.105);
  --m18-shadow-hover:0 34px 88px rgba(27,41,81,.145);
}

/* Shared atmosphere */
body:has(.m17-page),
body:has(.ms-dashboard),
body:has(.ms-commerce) {
  background:
    radial-gradient(circle at 0 4%,rgba(49,88,255,.085),transparent 29%),
    radial-gradient(circle at 100% 12%,rgba(234,59,168,.055),transparent 27%),
    linear-gradient(180deg,#f8f9fd 0%,#f3f5fa 55%,#f7f8fb 100%);
}

body:has(.m17-page) .ms-header,
body:has(.ms-dashboard) .ms-header,
body:has(.ms-commerce) .ms-header {
  width:min(1408px,calc(100vw - 32px));
  min-height:72px;
  border-color:rgba(255,255,255,.94);
  background:linear-gradient(112deg,rgba(255,255,255,.94),rgba(250,251,255,.88));
  box-shadow:0 18px 54px rgba(24,37,74,.105),inset 0 1px 0 rgba(255,255,255,.95);
}
body:has(.ms-dashboard) .ms-topbar,
body:has(.ms-commerce) .ms-topbar { display:none; }
body:has(.m17-page) .ms-nav a,
body:has(.ms-dashboard) .ms-nav a,
body:has(.ms-commerce) .ms-nav a { font-size:12px; letter-spacing:-.01em; }
body:has(.m17-page) .ms-header__actions > a,
body:has(.ms-dashboard) .ms-header__actions > a,
body:has(.ms-commerce) .ms-header__actions > a { min-height:46px; }

.m17-page { padding-top:22px; }
.m17-page p { text-wrap:pretty; }
.m17-label { font-size:10.5px; letter-spacing:.145em; }
.m17-link { font-size:13px; text-underline-offset:5px; }
.m17-link:hover { color:var(--m17-blue); }

/* Hero refinement */
.m17-hero {
  min-height:630px;
  position:relative;
  isolation:isolate;
  box-shadow:0 34px 96px rgba(27,41,81,.14);
}
.m17-hero::after {
  content:'';
  position:absolute;
  inset:0;
  z-index:5;
  border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.52);
  pointer-events:none;
}
.m17-hero__copy { padding-inline:clamp(58px,5.5vw,86px); }
.m17-hero h1 {
  font-size:clamp(58px,5.15vw,82px);
  line-height:.965;
  letter-spacing:-.061em;
}
.m17-hero__copy > p {
  max-width:620px;
  font-size:16.5px;
  line-height:1.76;
}
.m17-hero__visual { min-height:630px; }
.m17-hero__visual img { width:86%; max-height:545px; }
.m17-hero__badge { padding:11px 14px; font-size:9.5px; }
.m17-hero.is-navy .m17-hero__copy > p { color:#c5cee0; }

/* Compact trust rail beneath every page hero */
.m18-rail {
  margin-top:15px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.92);
  border-radius:22px;
  background:rgba(255,255,255,.86);
  box-shadow:0 17px 50px rgba(31,45,83,.07);
  backdrop-filter:blur(18px);
}
.m18-rail article {
  min-height:88px;
  padding:17px 22px;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:12px;
  align-items:center;
  border-right:1px solid var(--m18-line);
}
.m18-rail article:last-child { border-right:0; }
.m18-rail article > span {
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:13px;
  color:var(--m17-blue);
  background:linear-gradient(145deg,#edf1ff,#f6f3ff);
}
.m18-rail svg { width:18px; }
.m18-rail article > div { display:grid; gap:3px; }
.m18-rail b { font-size:11.5px; letter-spacing:-.015em; }
.m18-rail small { color:#7b879b; font-size:9px; line-height:1.35; }

/* Section hierarchy */
.m17-section-head { margin-bottom:42px; gap:70px; }
.m17-section-head h2 { font-size:clamp(43px,4.25vw,66px); line-height:1.005; }
.m17-section-head > p { font-size:15px; line-height:1.78; }
.m17-product-intro,
.m17-process,
.m17-price-includes,
.m17-help-topics,
.m17-b2b-benefits,
.m17-b2b-uses { padding-top:88px; }
.m17-compare { padding-top:92px; }
.m17-dark-story,
.m17-deep-dive,
.m17-proof-story,
.m17-volume,
.m17-photo-guide,
.m17-support-human,
.m17-b2b-workspace,
.m17-b2b-flow,
.m17-b2b-volume { margin-top:92px; }

/* Products */
.m17-product-showcase { gap:26px; }
.m17-product-row {
  min-height:510px;
  padding:22px;
  border-color:rgba(255,255,255,.96);
  background:linear-gradient(145deg,#fff,#fcfdff);
  box-shadow:var(--m18-shadow);
  transition:transform .35s var(--m17-ease),box-shadow .35s ease;
}
.m17-product-row:hover { transform:translateY(-4px); box-shadow:var(--m18-shadow-hover); }
.m17-product-row__visual { min-height:462px; }
.m17-product-row__visual::before {
  content:'';
  width:68%;
  aspect-ratio:1;
  position:absolute;
  border:1px solid rgba(49,88,255,.08);
  border-radius:50%;
  box-shadow:0 0 0 34px rgba(49,88,255,.018),0 0 0 68px rgba(49,88,255,.012);
}
.m17-product-row__visual img { position:relative; z-index:1; }
.m17-product-row__copy { padding-inline:34px; }
.m17-product-row__copy h2 { font-size:clamp(42px,4.05vw,64px); }
.m17-product-row__copy > p { font-size:15px; line-height:1.76; }
.m17-product-facts { gap:10px; }
.m17-product-facts span { padding:9px 12px; font-size:10px; background:#f7f9fd; }

.m17-compare__table { border-color:rgba(255,255,255,.96); box-shadow:0 22px 62px rgba(31,45,83,.075); }
.m17-compare__table > div { min-height:78px; transition:background .2s ease; }
.m17-compare__table > div:not(.is-head):nth-child(odd) { background:rgba(247,249,253,.62); }
.m17-compare__table > div:not(.is-head):hover { background:#f0f4ff; }
.m17-compare__table > div.is-head { min-height:56px; font-size:9px; }
.m17-compare__table span { padding:18px 24px; font-size:12px; }

.m17-dark-story p,
.m17-deep-dive__copy > p,
.m17-proof-story__copy > p,
.m17-photo-guide__copy > p,
.m17-support-human p,
.m17-b2b-workspace p,
.m17-b2b-volume p { font-size:15px; line-height:1.78; }
.m17-dark-story li,
.m17-proof-story__copy li,
.m17-b2b-workspace li { font-size:11.5px; }
.m17-proof-card { min-height:455px; box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 24px 55px rgba(3,10,30,.16); }
.m17-proof-card > span { font-size:9px; }
.m17-proof-card b { font-size:15px; }
.m17-proof-card small { font-size:10px; }

/* Process */
.m17-process__list { gap:18px; }
.m17-process__list article {
  min-height:250px;
  border-color:rgba(255,255,255,.96);
  box-shadow:0 20px 58px rgba(31,45,83,.075);
  transition:transform .28s ease,box-shadow .28s ease;
}
.m17-process__list article:hover { transform:translateX(4px); box-shadow:0 25px 66px rgba(31,45,83,.105); }
.m17-process__copy h3 { font-size:clamp(29px,2.75vw,42px); }
.m17-process__copy p { font-size:14px; line-height:1.72; }
.m17-mini-grid span { min-height:108px; }
.m17-mini-grid b { font-size:11px; }
.m17-mini-grid small { font-size:9px; }
.m17-before-after article small { font-size:9px; }
.m17-proof-screen header b { font-size:10.5px; }
.m17-proof-screen footer span { font-size:9px; }
.m17-local-strip { padding:22px 26px; }
.m17-local-strip b { font-size:12px; }
.m17-local-strip span { font-size:10px; }

/* Pricing */
.m17-calculator { margin-top:86px; gap:28px; }
.m17-calculator__controls { padding:52px; box-shadow:var(--m18-shadow); }
.m17-control > b { font-size:12.5px; }
.m17-control button { min-height:44px; padding-inline:16px; font-size:11px; }
.m17-calculator__summary { box-shadow:0 34px 88px rgba(15,27,61,.25); }
.m17-calculator__summary > span { font-size:10px; }
.m17-calculator__summary > p { font-size:13px; }
.m17-calculator__summary > em { font-size:10px; }
.m18-price-included { margin-top:20px; display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.m18-price-included span {
  min-height:45px;
  padding:9px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  color:#d7def0;
  background:rgba(255,255,255,.065);
  font-size:9px;
  font-weight:800;
}
.m18-price-included svg { width:14px; color:#77e0b8; }
.m17-calculator__summary > small { font-size:9px; }
.m17-price-includes article,
.m17-b2b-benefits article { min-height:242px; transition:transform .25s ease,box-shadow .25s ease; }
.m17-price-includes article:hover,
.m17-b2b-benefits article:hover { transform:translateY(-4px); box-shadow:0 24px 60px rgba(31,45,83,.10); }
.m17-price-includes h3,
.m17-b2b-benefits h3 { font-size:22px; }
.m17-price-includes p,
.m17-b2b-benefits p { font-size:12px; line-height:1.68; }
.m17-volume__tiers article { min-height:160px; }
.m17-volume__tiers span { font-size:10px; }
.m17-volume__tiers b { font-size:12px; }
.m17-volume__tiers small { font-size:9px; }

/* FAQ and support */
.m17-faq details {
  overflow:hidden;
  border-color:rgba(255,255,255,.96);
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.m17-faq details:hover { transform:translateY(-2px); box-shadow:0 18px 46px rgba(31,45,83,.075); }
.m17-faq details[open] { border-color:rgba(49,88,255,.18); background:linear-gradient(145deg,#fff,#f7f9ff); box-shadow:0 20px 52px rgba(31,45,83,.08); }
.m17-faq summary { min-height:78px; font-size:13.5px; }
.m17-faq details p { padding-bottom:25px; font-size:12.5px; line-height:1.75; }
.m17-help-topics article { min-height:282px; }
.m17-help-topics h3 { font-size:24px; }
.m17-help-topics p { font-size:12px; line-height:1.68; }
.m17-help-topics article > a {
  margin-top:21px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:var(--m17-blue);
  font-size:10.5px;
  font-weight:850;
}
.m17-help-topics article > a svg { width:14px; transition:transform .2s ease; }
.m17-help-topics article > a:hover svg { transform:translateX(3px); }
.m17-photo-guide__copy b { font-size:11.5px; }
.m17-photo-guide__copy small { font-size:9.5px; }
.m17-photo-guide__visual span { font-size:9.5px; }
.m17-human-card > span { font-size:9px; }
.m17-human-card strong { font-size:29px; }
.m17-human-card p { font-size:12px; }
.m18-status-ok {
  width:100%;
  min-height:50px;
  margin-top:19px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-radius:14px;
  color:#12684e;
  background:linear-gradient(135deg,#dcf7ec,#edfdf7);
  box-shadow:inset 0 0 0 1px rgba(35,170,124,.08);
  font-size:10px;
  font-weight:850;
}
.m18-status-ok svg { width:16px; }

/* B2B */
.m17-b2b-board { padding:27px; box-shadow:0 26px 58px rgba(3,10,30,.15); }
.m17-b2b-board header span { font-size:9px; }
.m17-b2b-board header b { font-size:11px; }
.m17-b2b-board article { min-height:80px; }
.m17-b2b-board article b { font-size:11.5px; }
.m17-b2b-board article small { font-size:9px; }
.m17-b2b-board article em { font-size:8.5px; }
.m18-board-action {
  width:100%;
  min-height:48px;
  margin-top:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-radius:14px;
  color:var(--m17-blue);
  background:#fff;
  box-shadow:0 15px 30px rgba(3,10,30,.18);
  font-size:10px;
  font-weight:850;
}
.m18-board-action svg { width:16px; }
.m17-b2b-uses article { padding-bottom:30px; transition:transform .25s ease,box-shadow .25s ease; }
.m17-b2b-uses article:hover { transform:translateY(-4px); box-shadow:0 24px 60px rgba(31,45,83,.10); }
.m17-b2b-uses h3 { font-size:29px; }
.m17-b2b-uses p { font-size:12px; line-height:1.67; }
.m17-b2b-flow article span { font-size:10px; }
.m17-b2b-flow article b { font-size:13px; }
.m17-b2b-flow article small { font-size:9.5px; line-height:1.5; }
.m17-b2b-volume__cards article { min-height:220px; }
.m17-b2b-volume__cards small { font-size:9px; }
.m17-b2b-volume__cards strong { font-size:24px; }
.m17-b2b-volume__cards span { font-size:9.5px; }

/* Final CTA */
.m17-final {
  margin-top:86px;
  padding:54px 60px;
  box-shadow:0 27px 78px rgba(31,45,83,.105);
}
.m17-final h2 { font-size:clamp(39px,3.8vw,57px); }
.m17-final p { font-size:14px; line-height:1.65; }

/* Account, dashboard and cart belong to the same product world */
body:has(.ms-dashboard) .ms-dashboard,
body:has(.ms-commerce) .ms-commerce { width:min(1360px,calc(100vw - 40px)); }
.ms-dashboard-hero,
.ms-commerce-head {
  border:1px solid rgba(255,255,255,.94);
  background:
    radial-gradient(circle at 98% 0%,rgba(120,84,255,.11),transparent 30%),
    linear-gradient(145deg,#fff,#f8f9ff);
  box-shadow:var(--m18-shadow);
}
.ms-dashboard-hero h1,
.ms-commerce-head h1 { letter-spacing:-.052em; text-wrap:balance; }
.ms-dashboard-grid,
.ms-cart-layout,
.ms-checkout { gap:24px; }
.ms-dashboard-nav,
.ms-panel,
.ms-project-grid article,
.ms-cart-list article,
.ms-summary,
.ms-checkout > section,
.ms-empty {
  border-color:rgba(255,255,255,.94);
  box-shadow:0 19px 58px rgba(31,45,83,.075);
}
.ms-project-grid article { transition:transform .25s ease,box-shadow .25s ease; }
.ms-project-grid article:hover { transform:translateY(-4px); box-shadow:0 24px 58px rgba(31,45,83,.11); }
.ms-empty {
  min-height:470px;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 42%,rgba(49,88,255,.09),transparent 25%),
    linear-gradient(145deg,#fff,#f8f9ff);
}
.ms-empty::before {
  content:'';
  width:360px;
  aspect-ratio:1;
  position:absolute;
  border:1px solid rgba(49,88,255,.08);
  border-radius:50%;
  box-shadow:0 0 0 42px rgba(49,88,255,.018),0 0 0 84px rgba(49,88,255,.011);
  pointer-events:none;
}
.ms-empty > * { position:relative; z-index:1; }

/* Footer refinement */
body:has(.m17-page) .ms-footer,
body:has(.ms-dashboard) .ms-footer,
body:has(.ms-commerce) .ms-footer {
  padding-top:42px;
  border-top-color:rgba(20,33,70,.11);
}
body:has(.m17-page) .ms-footer p,
body:has(.m17-page) .ms-footer a,
body:has(.m17-page) .ms-footer small,
body:has(.ms-dashboard) .ms-footer p,
body:has(.ms-dashboard) .ms-footer a,
body:has(.ms-commerce) .ms-footer p,
body:has(.ms-commerce) .ms-footer a { font-size:10px; line-height:1.55; }

@media (max-width:980px) {
  .m18-rail { grid-template-columns:1fr 1fr; }
  .m18-rail article:nth-child(2) { border-right:0; }
  .m18-rail article:nth-child(-n+2) { border-bottom:1px solid var(--m18-line); }
  .m17-hero__copy { padding-inline:48px; }
  .m17-product-row__copy { padding-inline:22px; }
}

@media (max-width:680px) {
  body:has(.m17-page) .ms-header,
  body:has(.ms-dashboard) .ms-header,
  body:has(.ms-commerce) .ms-header { width:calc(100vw - 16px); }
  .m17-page { padding-top:10px; }
  .m17-hero { min-height:0; }
  .m17-hero__copy { padding:42px 24px 45px; }
  .m17-hero h1 { font-size:clamp(45px,13vw,61px); }
  .m17-hero__copy > p { font-size:14.5px; }
  .m18-rail { grid-template-columns:1fr; border-radius:18px; }
  .m18-rail article { min-height:74px; border-right:0; border-bottom:1px solid var(--m18-line); }
  .m18-rail article:last-child { border-bottom:0; }
  .m18-rail article:nth-child(-n+2) { border-bottom:1px solid var(--m18-line); }
  .m17-section-head h2 { font-size:40px; }
  .m17-section-head > p { font-size:14px; }
  .m17-product-row__copy > p,
  .m17-dark-story p,
  .m17-deep-dive__copy > p,
  .m17-proof-story__copy > p,
  .m17-photo-guide__copy > p,
  .m17-support-human p,
  .m17-b2b-workspace p,
  .m17-b2b-volume p { font-size:14px; }
  .m18-price-included { grid-template-columns:1fr; }
  .m17-faq summary { font-size:13px; }
  .m17-faq details p { font-size:12px; }
  .m17-final { padding:38px 25px; }
  body:has(.ms-dashboard) .ms-dashboard,
  body:has(.ms-commerce) .ms-commerce { width:calc(100% - 16px); }
}

@media (prefers-reduced-motion:reduce) {
  .m17-product-row,
  .m17-process__list article,
  .m17-price-includes article,
  .m17-b2b-benefits article,
  .m17-b2b-uses article,
  .m17-faq details,
  .ms-project-grid article { transform:none !important; transition:none !important; }
}
