/* SALONOMICS managed product pages v1. Scoped to .slnm-product-v1. */

.slnm-product-v1 {
  --sp-ink:#10110f;
  --sp-ink-soft:#1b1d1a;
  --sp-paper:#f4f4f0;
  --sp-pearl:#fbfaf7;
  --sp-white:#fffef9;
  --sp-coral:#ff5a36;
  --sp-lime:#d8ff57;
  --sp-muted:#666962;
  --sp-line:rgba(16,17,15,.17);
  --sp-line-light:rgba(255,255,255,.2);
  --sp-shell:1240px;
  position:relative;
  width:100%;
  overflow:hidden;
  background:var(--sp-paper);
  color:var(--sp-ink);
  font-family:"Manrope","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-size:16px;
  font-weight:500;
  line-height:1.8;
  letter-spacing:.012em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

.slnm-product-v1 *,
.slnm-product-v1 *::before,
.slnm-product-v1 *::after { box-sizing:border-box; }

.slnm-product-route #main_content,
#main_content:has(.slnm-product-v1),
.slnm-product-route .l-mainContent,
#main_content:has(.slnm-product-v1) .l-mainContent {
  width:100% !important;
  max-width:none !important;
  padding:0 !important;
}

.slnm-product-route .l-content,
body:has(.slnm-product-v1) .l-content { padding-top:0 !important; }

.slnm-product-route .l-mainContent__inner,
.slnm-product-route .post_content,
#main_content:has(.slnm-product-v1) .l-mainContent__inner,
#main_content:has(.slnm-product-v1) .post_content {
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}

.slnm-product-route .c-pageTitle,
#main_content:has(.slnm-product-v1) .c-pageTitle,
.slnm-product-route .br-next-step,
.slnm-product-route .br-mobile-dock,
body:has(.slnm-product-v1) .br-next-step,
body:has(.slnm-product-v1) .br-mobile-dock { display:none !important; }

.slnm-product-route .post_content > *,
#main_content:has(.slnm-product-v1) .post_content > * { max-width:none; }

#main_content .slnm-product-v1 :where(p,h1,h2,h3,h4,ul,ol,figure,blockquote,dl,dd) {
  max-width:none;
  margin:0;
  padding:0;
  border:0;
  background:none;
  color:inherit;
  line-height:inherit;
}

#main_content .slnm-product-v1 :where(h1,h2,h3,h4)::before,
#main_content .slnm-product-v1 :where(h1,h2,h3,h4)::after { display:none; content:none; }

.slnm-product-v1 :where(ul,ol) { list-style:none; }
.slnm-product-v1 a { color:inherit; text-decoration:none !important; }
html body #main_content .slnm-product-v1 a { color:inherit; }
.slnm-product-v1 :where(a,button,summary):focus-visible { outline:3px solid var(--sp-coral); outline-offset:4px; }
.slnm-product-v1 img,.slnm-product-v1 svg { display:block; max-width:100%; }

.slnm-product-v1__shell { width:min(var(--sp-shell),calc(100% - 80px)); margin-inline:auto; }

.slnm-product-v1__hero {
  position:relative;
  min-height:min(850px,92svh);
  overflow:hidden;
  display:flex;
  align-items:center;
  padding:150px 0 92px;
  border-bottom:1px solid var(--sp-line);
}

.slnm-product-v1--business .slnm-product-v1__hero { background:var(--sp-ink); color:var(--sp-white); }
.slnm-product-v1--journal .slnm-product-v1__hero { background:var(--sp-paper); }
.slnm-product-v1--pro .slnm-product-v1__hero { background:var(--sp-pearl); }

.slnm-product-v1__hero::before {
  position:absolute;
  inset:0;
  background-image:linear-gradient(rgba(127,127,127,.105) 1px,transparent 1px),linear-gradient(90deg,rgba(127,127,127,.105) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),transparent 90%);
  content:"";
  pointer-events:none;
}

.slnm-product-v1__hero::after {
  position:absolute;
  top:9%;
  right:-10%;
  width:min(54vw,760px);
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,var(--sp-accent-soft,rgba(255,90,54,.34)) 0,rgba(255,255,255,0) 66%);
  filter:blur(8px);
  content:"";
  pointer-events:none;
}

.slnm-product-v1--journal { --sp-accent:var(--sp-lime); --sp-accent-soft:rgba(216,255,87,.58); }
.slnm-product-v1--business { --sp-accent:var(--sp-coral); --sp-accent-soft:rgba(255,90,54,.34); }
.slnm-product-v1--pro { --sp-accent:var(--sp-coral); --sp-accent-soft:rgba(255,90,54,.28); }

.slnm-product-v1__hero-grid {
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(350px,.68fr);
  gap:clamp(56px,8vw,132px);
  align-items:center;
}

.slnm-product-v1__eyebrow {
  display:flex;
  align-items:center;
  gap:13px;
  color:var(--sp-accent) !important;
  font-family:"DM Sans","Manrope",sans-serif;
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
  line-height:1.5 !important;
  text-transform:uppercase;
}
.slnm-product-v1__eyebrow::before { width:25px; height:2px; background:currentColor; content:""; }

.slnm-product-v1__hero h1 {
  max-width:900px !important;
  margin-top:24px !important;
  font-size:clamp(48px,6.1vw,92px);
  font-weight:800;
  letter-spacing:-.065em;
  line-height:.98 !important;
  text-wrap:balance;
}
.slnm-product-v1--journal .slnm-product-v1__hero h1 { font-size:clamp(52px,5vw,76px); }
.slnm-product-v1__hero h1 span { display:block; }

.slnm-product-v1__hero-lead {
  max-width:680px !important;
  margin-top:34px !important;
  color:color-mix(in srgb,currentColor 70%,transparent) !important;
  font-size:clamp(15px,1.3vw,19px);
  line-height:1.95 !important;
}

.slnm-product-v1__hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:38px; }

.slnm-product-v1__button {
  display:inline-flex;
  min-height:62px;
  min-width:232px;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:0 18px 0 23px;
  border:1px solid currentColor;
  font-size:12px;
  font-weight:800;
  letter-spacing:.02em;
  line-height:1.35;
  transition:transform .25s cubic-bezier(.22,1,.36,1),background-color .25s ease,color .25s ease,border-color .25s ease;
}
.slnm-product-v1__button:hover { transform:translateY(-3px); }
.slnm-product-v1__button i {
  display:grid;
  width:34px;
  height:34px;
  flex:0 0 34px;
  place-items:center;
  border:1px solid currentColor;
  border-radius:50%;
  font-style:normal;
  transition:transform .25s ease;
}
.slnm-product-v1__button:hover i { transform:translateX(4px); }
.slnm-product-v1__button--accent { border-color:var(--sp-accent); background:var(--sp-accent); color:var(--sp-ink) !important; }
.slnm-product-v1__button--light { border-color:rgba(255,255,255,.34); color:var(--sp-white) !important; }
.slnm-product-v1__button--ink { border-color:var(--sp-ink); background:var(--sp-ink); color:var(--sp-white) !important; }
.slnm-product-v1__button--plain { border-color:var(--sp-line); background:rgba(255,255,255,.3); }

.slnm-product-v1__hero-art {
  position:relative;
  min-height:440px;
  perspective:1000px;
}

.slnm-product-v1__orb {
  position:absolute;
  top:50%;
  left:50%;
  width:min(34vw,410px);
  aspect-ratio:1;
  border:1px solid color-mix(in srgb,currentColor 34%,transparent);
  border-radius:50%;
  transform:translate(-50%,-50%) rotateX(62deg) rotateZ(-18deg);
  transform-style:preserve-3d;
}
.slnm-product-v1__orb::before,.slnm-product-v1__orb::after {
  position:absolute;
  border:1px solid color-mix(in srgb,var(--sp-accent) 68%,transparent);
  border-radius:50%;
  content:"";
}
.slnm-product-v1__orb::before { inset:12%; }
.slnm-product-v1__orb::after { inset:29%; background:var(--sp-accent); box-shadow:0 0 80px color-mix(in srgb,var(--sp-accent) 55%,transparent); }

.slnm-product-v1__float-card {
  position:absolute;
  z-index:2;
  display:flex;
  min-width:175px;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:17px 18px;
  border:1px solid color-mix(in srgb,currentColor 23%,transparent);
  background:color-mix(in srgb,var(--sp-paper) 92%,transparent);
  color:var(--sp-ink);
  box-shadow:0 22px 55px rgba(0,0,0,.13);
  backdrop-filter:blur(12px);
  font-family:"DM Sans","Noto Sans JP",sans-serif;
  font-size:9px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
  transform:translateZ(44px);
}
.slnm-product-v1__float-card b { display:grid; width:27px; height:27px; place-items:center; border-radius:50%; background:var(--sp-accent); font-size:9px; }
.slnm-product-v1__float-card--a { top:14%; left:0; }
.slnm-product-v1__float-card--b { top:45%; right:-2%; }
.slnm-product-v1__float-card--c { right:13%; bottom:8%; }
.slnm-product-v1__float-card--d { bottom:13%; left:-3%; }

.slnm-product-v1__hero-index {
  position:absolute;
  right:0;
  bottom:0;
  display:flex;
  align-items:center;
  gap:14px;
  font-family:"DM Sans",sans-serif;
  font-size:9px;
  font-weight:800;
  letter-spacing:.14em;
  opacity:.6;
}
.slnm-product-v1__hero-index::before { width:52px; height:1px; background:currentColor; content:""; }

.slnm-product-v1__marquee { overflow:hidden; border-bottom:1px solid var(--sp-line); background:var(--sp-accent); color:var(--sp-ink); }
.slnm-product-v1__marquee-track { display:flex; width:max-content; animation:slnm-product-marquee 34s linear infinite; }
.slnm-product-v1__marquee span { flex:none; padding:15px 26px; font-family:"DM Sans",sans-serif; font-size:10px; font-weight:800; letter-spacing:.14em; white-space:nowrap; }
@keyframes slnm-product-marquee { to { transform:translateX(-25%); } }

.slnm-product-v1__section { position:relative; padding:clamp(88px,10vw,152px) 0; border-bottom:1px solid var(--sp-line); }
.slnm-product-v1__section--white { background:var(--sp-white); }
.slnm-product-v1__section--dark { background:var(--sp-ink); color:var(--sp-white); --sp-line:rgba(255,255,255,.18); }
.slnm-product-v1__section--accent { background:var(--sp-accent); }
.slnm-product-v1__section--compact { padding-block:clamp(68px,7vw,108px); }

.slnm-product-v1__section-head {
  display:grid;
  grid-template-columns:210px minmax(0,1fr) minmax(260px,.56fr);
  gap:clamp(28px,5vw,72px);
  align-items:start;
  margin-bottom:clamp(48px,7vw,88px);
}
.slnm-product-v1__section-index { color:var(--sp-accent) !important; font-family:"DM Sans",sans-serif; font-size:10px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.slnm-product-v1__section-head h2 { max-width:760px !important; font-size:clamp(37px,5vw,72px); font-weight:800; letter-spacing:-.055em; line-height:1.08 !important; text-wrap:balance; }
.slnm-product-v1__section-head > p:last-child { color:color-mix(in srgb,currentColor 66%,transparent) !important; font-size:14px; line-height:1.95 !important; }

.slnm-product-v1__problem-grid,
.slnm-product-v1__domain-grid,
.slnm-product-v1__feature-grid,
.slnm-product-v1__offer-grid,
.slnm-product-v1__path-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--sp-line); border-left:1px solid var(--sp-line); }

.slnm-product-v1__problem,
.slnm-product-v1__domain,
.slnm-product-v1__feature,
.slnm-product-v1__offer,
.slnm-product-v1__path {
  position:relative;
  min-height:280px;
  padding:28px;
  border-right:1px solid var(--sp-line);
  border-bottom:1px solid var(--sp-line);
  overflow:hidden;
}
.slnm-product-v1__problem small,.slnm-product-v1__domain small,.slnm-product-v1__feature small,.slnm-product-v1__offer small,.slnm-product-v1__path small { display:block; margin-bottom:54px; color:color-mix(in srgb,currentColor 52%,transparent); font-family:"DM Sans",sans-serif; font-size:9px; font-weight:800; letter-spacing:.13em; }
.slnm-product-v1__problem h3,.slnm-product-v1__domain h3,.slnm-product-v1__feature h3,.slnm-product-v1__offer h3,.slnm-product-v1__path h3 { font-size:clamp(20px,2vw,29px); font-weight:800; letter-spacing:-.035em; line-height:1.42 !important; }
.slnm-product-v1__problem p,.slnm-product-v1__domain p,.slnm-product-v1__feature p,.slnm-product-v1__offer p,.slnm-product-v1__path p { margin-top:18px !important; color:color-mix(in srgb,currentColor 65%,transparent) !important; font-size:13px; line-height:1.85 !important; }
.slnm-product-v1__domain:nth-child(1) { background:var(--sp-white); color:var(--sp-ink); }
.slnm-product-v1__domain:nth-child(2) { background:var(--sp-ink); color:var(--sp-white); }
.slnm-product-v1__domain:nth-child(3) { background:var(--sp-coral); color:var(--sp-ink); }
.slnm-product-v1__domain:nth-child(4) { background:var(--sp-white); color:var(--sp-ink); }
.slnm-product-v1__domain::after { position:absolute; right:24px; bottom:20px; font-family:"DM Sans",sans-serif; font-size:54px; font-weight:800; line-height:1; opacity:.1; content:attr(data-index); }

.slnm-product-v1__loop { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; counter-reset:loop; }
.slnm-product-v1__loop-step { position:relative; min-height:280px; padding:30px 30px 36px; border:1px solid var(--sp-line); border-right:0; counter-increment:loop; }
.slnm-product-v1__loop-step:last-child { border-right:1px solid var(--sp-line); }
.slnm-product-v1__loop-step::before { display:grid; width:46px; height:46px; margin-bottom:68px; place-items:center; border:1px solid var(--sp-line); border-radius:50%; content:"0" counter(loop); font-family:"DM Sans",sans-serif; font-size:10px; font-weight:800; }
.slnm-product-v1__loop-step:not(:last-child)::after { position:absolute; z-index:2; top:51px; right:-8px; width:15px; height:15px; border-top:1px solid currentColor; border-right:1px solid currentColor; content:""; transform:rotate(45deg); }
.slnm-product-v1__loop-step h3 { font-size:24px; font-weight:800; letter-spacing:-.03em; }
.slnm-product-v1__loop-step p { margin-top:15px !important; color:color-mix(in srgb,currentColor 64%,transparent) !important; font-size:13px; }

.slnm-product-v1__split { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:clamp(48px,9vw,132px); align-items:start; }
.slnm-product-v1__split h2 { font-size:clamp(40px,5.5vw,76px); font-weight:800; letter-spacing:-.055em; line-height:1.08 !important; text-wrap:balance; }
.slnm-product-v1__split-copy > p { color:color-mix(in srgb,currentColor 68%,transparent) !important; font-size:15px; line-height:2 !important; }
.slnm-product-v1__principles { margin-top:38px; border-top:1px solid var(--sp-line); }
.slnm-product-v1__principle { display:grid; grid-template-columns:72px minmax(0,1fr); gap:22px; padding:23px 0; border-bottom:1px solid var(--sp-line); }
.slnm-product-v1__principle b { color:var(--sp-accent); font-family:"DM Sans",sans-serif; font-size:10px; letter-spacing:.12em; }
.slnm-product-v1__principle strong { display:block; font-size:18px; line-height:1.5; }
.slnm-product-v1__principle span { display:block; margin-top:6px; color:color-mix(in srgb,currentColor 62%,transparent); font-size:13px; }

.slnm-product-v1__dashboard { position:relative; min-height:560px; padding:22px; border:1px solid var(--sp-line); background:var(--sp-pearl); color:var(--sp-ink); box-shadow:0 30px 80px rgba(0,0,0,.08); }
.slnm-product-v1__dashboard-top { display:flex; align-items:center; justify-content:space-between; padding:13px 14px 26px; font-family:"DM Sans",sans-serif; font-size:9px; font-weight:800; letter-spacing:.12em; }
.slnm-product-v1__dashboard-grid { display:grid; grid-template-columns:.78fr 1.22fr; gap:12px; }
.slnm-product-v1__dashboard-panel { min-height:170px; padding:20px; border:1px solid var(--sp-line); background:var(--sp-white); }
.slnm-product-v1__dashboard-panel--wide { grid-column:1/-1; min-height:220px; }
.slnm-product-v1__dashboard-panel small { font-family:"DM Sans",sans-serif; font-size:8px; font-weight:800; letter-spacing:.12em; }
.slnm-product-v1__dashboard-panel strong { display:block; margin-top:26px; font-size:clamp(26px,3vw,44px); letter-spacing:-.05em; line-height:1.12; }
.slnm-product-v1__bars { display:flex; height:100px; align-items:flex-end; gap:8px; margin-top:31px; }
.slnm-product-v1__bars i { flex:1; min-width:5px; background:var(--sp-accent); height:var(--bar,50%); }
.slnm-product-v1__task { display:flex; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid var(--sp-line); font-size:12px; }
.slnm-product-v1__task::before { width:9px; height:9px; flex:0 0 9px; border:1px solid var(--sp-ink); border-radius:50%; content:""; }
.slnm-product-v1__task.is-done::before { border-color:var(--sp-accent); background:var(--sp-accent); }

.slnm-product-v1__price-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.slnm-product-v1--pro .slnm-product-v1__price-grid,
.slnm-product-v1--business .slnm-product-v1__price-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.slnm-product-v1--journal .slnm-product-v1__path-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.slnm-product-v1__price { position:relative; display:flex; min-height:400px; flex-direction:column; padding:30px; border:1px solid var(--sp-line); background:var(--sp-white); }
.slnm-product-v1__price.is-primary { background:var(--sp-ink); color:var(--sp-white); --sp-line:rgba(255,255,255,.2); }
.slnm-product-v1__price.is-accent { background:var(--sp-accent); }
.slnm-product-v1__price-label { font-family:"DM Sans",sans-serif; font-size:9px; font-weight:800; letter-spacing:.13em; }
.slnm-product-v1__price h3 { margin-top:40px !important; font-size:27px; font-weight:800; letter-spacing:-.04em; line-height:1.3 !important; }
.slnm-product-v1__price-value { margin-top:18px !important; font-size:14px; font-weight:700; }
.slnm-product-v1__price-value strong { font-size:clamp(27px,3vw,42px); letter-spacing:-.04em; }
.slnm-product-v1__price ul { display:grid; gap:10px; margin-top:32px !important; color:color-mix(in srgb,currentColor 68%,transparent); font-size:12px; }
.slnm-product-v1__price li { display:flex; gap:9px; }
.slnm-product-v1__price li::before { color:var(--sp-accent); content:"—"; }
.slnm-product-v1__price-note { margin-top:auto !important; padding-top:28px !important; border-top:1px solid var(--sp-line) !important; color:color-mix(in srgb,currentColor 56%,transparent) !important; font-size:10px; }

.slnm-product-v1__post-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.slnm-product-v1__post { min-width:0; border:1px solid var(--sp-line); background:var(--sp-white); }
.slnm-product-v1__post a { display:flex; min-height:330px; flex-direction:column; padding:30px; transition:background-color .2s ease,transform .24s ease; }
.slnm-product-v1__post a:hover { background:color-mix(in srgb,var(--sp-coral) 18%,var(--sp-white)); transform:translateY(-3px); }
.slnm-product-v1__post-meta { color:var(--sp-muted); font-family:"DM Sans",sans-serif; font-size:9px; font-weight:800; letter-spacing:.12em; }
.slnm-product-v1__post h3 { margin-top:50px !important; font-size:clamp(22px,2.6vw,36px); font-weight:800; letter-spacing:-.045em; line-height:1.42 !important; }
.slnm-product-v1__post p { margin-top:19px !important; color:var(--sp-muted) !important; font-size:13px; }
.slnm-product-v1__post-link { display:flex; justify-content:space-between; margin-top:auto; padding-top:28px; border-top:1px solid var(--sp-line); font-family:"DM Sans",sans-serif; font-size:9px; font-weight:800; letter-spacing:.1em; }

.slnm-product-v1__compare { width:100%; border-collapse:collapse; border-top:1px solid var(--sp-line); }
.slnm-product-v1__compare th,.slnm-product-v1__compare td { padding:22px 18px; border-right:1px solid var(--sp-line); border-bottom:1px solid var(--sp-line); text-align:left; vertical-align:top; }
.slnm-product-v1__compare th:first-child,.slnm-product-v1__compare td:first-child { border-left:1px solid var(--sp-line); }
.slnm-product-v1__compare th { font-size:13px; font-weight:800; }
.slnm-product-v1__compare td { color:color-mix(in srgb,currentColor 70%,transparent); font-size:12px; }

.slnm-product-v1__faq { max-width:920px; margin-left:auto; }
.slnm-product-v1__faq details { border-top:1px solid var(--sp-line); }
.slnm-product-v1__faq details:last-child { border-bottom:1px solid var(--sp-line); }
.slnm-product-v1__faq summary { position:relative; display:grid; min-height:82px; cursor:pointer; grid-template-columns:52px minmax(0,1fr) 34px; gap:18px; align-items:center; list-style:none; font-size:15px; font-weight:800; }
.slnm-product-v1__faq summary::-webkit-details-marker { display:none; }
.slnm-product-v1__faq summary b { color:var(--sp-accent); font-family:"DM Sans",sans-serif; font-size:9px; letter-spacing:.1em; }
.slnm-product-v1__faq summary i { display:grid; width:32px; height:32px; place-items:center; border:1px solid var(--sp-line); border-radius:50%; font-style:normal; }
.slnm-product-v1__faq details[open] summary i { transform:rotate(45deg); }
.slnm-product-v1__faq details > p { max-width:720px !important; padding:0 0 30px 70px !important; color:color-mix(in srgb,currentColor 68%,transparent) !important; font-size:13px; }

.slnm-product-v1__final {
  position:relative;
  overflow:hidden;
  padding:clamp(84px,10vw,150px) 0;
  background:var(--sp-coral);
  color:var(--sp-ink);
}
.slnm-product-v1__final::before { position:absolute; top:-42%; right:-10%; width:min(62vw,820px); aspect-ratio:1; border:1px solid rgba(16,17,15,.22); border-radius:50%; content:""; }
.slnm-product-v1__final::after { position:absolute; top:-25%; right:4%; width:min(43vw,560px); aspect-ratio:1; border:1px solid rgba(16,17,15,.2); border-radius:50%; content:""; }
.slnm-product-v1__final-grid { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.52fr); gap:48px; align-items:end; }
.slnm-product-v1__final h2 { max-width:850px !important; font-size:clamp(43px,6vw,86px); font-weight:800; letter-spacing:-.06em; line-height:1.03 !important; text-wrap:balance; }
.slnm-product-v1__final p { max-width:560px !important; margin-top:26px !important; font-size:14px; line-height:1.9 !important; }
.slnm-product-v1__final-actions { display:grid; gap:10px; }
.slnm-product-v1__final .slnm-product-v1__button { width:100%; background:var(--sp-ink); color:var(--sp-white) !important; border-color:var(--sp-ink); }
.slnm-product-v1__final .slnm-product-v1__button--secondary { background:transparent; color:var(--sp-ink) !important; border-color:rgba(16,17,15,.48); }

.slnm-product-v1__micro-note { margin-top:18px !important; color:color-mix(in srgb,currentColor 58%,transparent) !important; font-size:10px; line-height:1.7 !important; }
.slnm-product-v1__empty { padding:42px; border:1px solid var(--sp-line); background:var(--sp-white); }

.slnm-product-v1__reveal { opacity:0; transform:translateY(24px); transition:opacity .72s cubic-bezier(.22,1,.36,1),transform .72s cubic-bezier(.22,1,.36,1); }
.slnm-product-v1__reveal.is-visible { opacity:1; transform:none; }

/* Keep the global header legible over light product heroes. */
.slnm-product-route--journal .sm-header,
.slnm-product-route--pro .sm-header,
body:has(.slnm-product-v1--journal) .sm-header,
body:has(.slnm-product-v1--pro) .sm-header { color:#10110f; background:rgba(251,250,247,.9); border-bottom-color:rgba(16,17,15,.09); backdrop-filter:blur(14px); }
.slnm-product-route--journal .sm-header :where(.sm-logo,.sm-nav a,.sm-menu-btn),
.slnm-product-route--pro .sm-header :where(.sm-logo,.sm-nav a,.sm-menu-btn),
body:has(.slnm-product-v1--journal) .sm-header :where(.sm-logo,.sm-nav a,.sm-menu-btn),
body:has(.slnm-product-v1--pro) .sm-header :where(.sm-logo,.sm-nav a,.sm-menu-btn) { color:#10110f !important; }
.slnm-product-route--journal .sm-header .sm-brand__strand--main,
.slnm-product-route--journal .sm-header .sm-brand__strand--light,
.slnm-product-route--pro .sm-header .sm-brand__strand--main,
.slnm-product-route--pro .sm-header .sm-brand__strand--light,
body:has(.slnm-product-v1--journal) .sm-header .sm-brand__strand--main,
body:has(.slnm-product-v1--journal) .sm-header .sm-brand__strand--light,
body:has(.slnm-product-v1--pro) .sm-header .sm-brand__strand--main,
body:has(.slnm-product-v1--pro) .sm-header .sm-brand__strand--light { stroke:#10110f; }
.slnm-product-route--journal .sm-header .sm-brand__strand--accent,
.slnm-product-route--pro .sm-header .sm-brand__strand--accent,
body:has(.slnm-product-v1--journal) .sm-header .sm-brand__strand--accent,
body:has(.slnm-product-v1--pro) .sm-header .sm-brand__strand--accent { stroke:#ff5a36; }

html:is(.sm-menu-open,.br-conversion-menu-open) body.slnm-product-route .sm-header { background:#10110f; color:#fffef9; border-bottom-color:rgba(255,255,255,.12); }
html:is(.sm-menu-open,.br-conversion-menu-open) body.slnm-product-route .sm-header :where(.sm-logo,.sm-nav a,.sm-menu-btn) { color:#fffef9 !important; }
html:is(.sm-menu-open,.br-conversion-menu-open) body.slnm-product-route .sm-header .sm-brand__strand--main,
html:is(.sm-menu-open,.br-conversion-menu-open) body.slnm-product-route .sm-header .sm-brand__strand--light { stroke:#fffef9; }

@media (max-width:1100px) {
  .slnm-product-v1__hero-grid { grid-template-columns:minmax(0,1fr) minmax(300px,.62fr); gap:42px; }
  .slnm-product-v1__section-head { grid-template-columns:150px minmax(0,1fr); }
  .slnm-product-v1__section-head > p:last-child { grid-column:2; }
  .slnm-product-v1__problem-grid,.slnm-product-v1__domain-grid,.slnm-product-v1__feature-grid,.slnm-product-v1__offer-grid,.slnm-product-v1__path-grid,.slnm-product-v1__price-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:800px) {
  .slnm-product-v1__shell { width:calc(100% - 40px); }
  .slnm-product-v1__hero { min-height:auto; padding:122px 0 72px; }
  .slnm-product-v1__hero-grid { grid-template-columns:1fr; gap:52px; }
  .slnm-product-v1__hero h1 { font-size:clamp(39px,11.4vw,56px); }
  .slnm-product-v1--journal .slnm-product-v1__hero h1 { font-size:clamp(36px,10.2vw,50px); }
  .slnm-product-v1__hero-art { min-height:330px; }
  .slnm-product-v1__orb { width:min(78vw,330px); }
  .slnm-product-v1__float-card { min-width:142px; padding:13px; font-size:8px; }
  .slnm-product-v1__float-card--a { left:2%; }
  .slnm-product-v1__float-card--b { right:0; }
  .slnm-product-v1__float-card--c { right:5%; }
  .slnm-product-v1__float-card--d { left:0; }
  .slnm-product-v1__hero-index { display:none; }
  .slnm-product-v1__section-head { grid-template-columns:1fr; gap:17px; }
  .slnm-product-v1__section-head > p:last-child { grid-column:auto; }
  .slnm-product-v1__split { grid-template-columns:1fr; }
  .slnm-product-v1__loop { grid-template-columns:1fr; }
  .slnm-product-v1__loop-step { min-height:0; }
  .slnm-product-v1__loop-step:not(:last-child) { border-right:1px solid var(--sp-line); border-bottom:0; }
  .slnm-product-v1__loop-step::before { margin-bottom:30px; }
  .slnm-product-v1__loop-step:not(:last-child)::after { top:auto; right:31px; bottom:-7px; transform:rotate(135deg); }
  .slnm-product-v1__dashboard { min-height:0; }
  .slnm-product-v1__dashboard-grid { grid-template-columns:1fr; }
  .slnm-product-v1__dashboard-panel--wide { grid-column:auto; }
  .slnm-product-v1__post-grid { grid-template-columns:1fr; }
  .slnm-product-v1__post a { min-height:290px; }
  .slnm-product-v1__final-grid { grid-template-columns:1fr; align-items:start; }
  .slnm-product-v1__compare { display:block; overflow-x:auto; white-space:normal; }
  .slnm-product-v1__compare th,.slnm-product-v1__compare td { min-width:180px; }
}

@media (max-width:560px) {
  .slnm-product-v1__hero-actions { display:grid; }
  .slnm-product-v1__button { width:100%; min-width:0; }
  .slnm-product-v1__problem-grid,.slnm-product-v1__domain-grid,.slnm-product-v1__feature-grid,.slnm-product-v1__offer-grid,.slnm-product-v1__path-grid,.slnm-product-v1__price-grid { grid-template-columns:1fr; }
  .slnm-product-v1__problem,.slnm-product-v1__domain,.slnm-product-v1__feature,.slnm-product-v1__offer,.slnm-product-v1__path { min-height:0; }
  .slnm-product-v1__problem small,.slnm-product-v1__domain small,.slnm-product-v1__feature small,.slnm-product-v1__offer small,.slnm-product-v1__path small { margin-bottom:32px; }
  .slnm-product-v1__price { min-height:360px; }
  .slnm-product-v1__faq summary { grid-template-columns:40px minmax(0,1fr) 32px; gap:10px; }
  .slnm-product-v1__faq details > p { padding-left:50px !important; }
}

@media (prefers-reduced-motion:reduce) {
  .slnm-product-v1__marquee-track { animation:none; }
  .slnm-product-v1__reveal { opacity:1; transform:none; transition:none; }
  .slnm-product-v1__button,.slnm-product-v1__button i,.slnm-product-v1__post a { transition:none; }
}
