/* A refinement of the original public homepage. Shared app styles stay untouched. */
body.manalog-home {
  --home-pad: clamp(22px, 4.5vw, 72px);
  --home-blue: #91b9e8;
  --home-motion: cubic-bezier(.22, 1, .36, 1);
  --pub-header-h: 76px;
  padding-top: var(--pub-header-h);
  background: #070707;
  color: #efefed;
}
.manalog-home :is(h1, h2, p) { margin: 0; }
.manalog-home a { text-decoration: none; }
.manalog-home [hidden] { display: none !important; }
.manalog-home svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex-shrink: 0;
}
.manalog-home :focus-visible { outline: 2px solid var(--home-blue); outline-offset: 5px; }
.manalog-home ::selection { background: var(--home-blue); color: #070707; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
.ml-skip {
  position: fixed;
  top: 12px;
  left: 20px;
  z-index: 100;
  padding: 12px 20px;
  background: #efefed;
  color: #070707;
  transform: translateY(-180%);
}
.ml-skip:focus { transform: none; }

/* The existing cat logo is used as-is, including the favicon. */
.ml-header {
  position: fixed;
  inset: 0 0 auto;
  height: var(--pub-header-h);
  padding-inline: var(--home-pad);
  display: flex;
  align-items: center;
  gap: 32px;
  z-index: 30;
  background: #070707;
  border-bottom: 1px solid #202020;
}
.ml-brand { display: inline-flex; align-items: center; gap: 11px; flex-shrink: 0; color: #efefed; }
.ml-brand img { width: 40px; height: 40px; flex-shrink: 0; }
.ml-brand-name { font-size: 23px; font-weight: 650; letter-spacing: -.9px; }
.ml-brand-name > span { color: var(--home-blue); }
.ml-nav { display: flex; gap: 28px; margin-left: auto; }
.ml-nav a, .ml-login { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; }
.ml-nav a { color: #a9a9a9; }
.ml-header-actions { display: flex; align-items: center; gap: 24px; margin-left: 24px; }
.ml-login { justify-content: center; padding-inline: 20px; border: 1px solid #393939; border-radius: 6px; color: #efefed; }
.ml-language { position: relative; }
.ml-language button { display: flex; align-items: center; gap: 6px; min-height: 44px; padding: 0; background: none; border: 0; color: #b6b6b6; font: inherit; font-size: 12px; cursor: pointer; }
.ml-language button svg { width: 14px; height: 14px; transition: transform 180ms var(--home-motion); }
.ml-language button[aria-expanded=true] svg { transform: rotate(180deg); }
.ml-languages { position: absolute; top: calc(100% + 8px); right: -12px; width: 168px; padding: 7px; background: #171717; border: 1px solid #363636; border-radius: 6px; box-shadow: 0 12px 30px #0005; }
.ml-languages a { display: flex; align-items: center; min-height: 44px; padding: 8px 12px; font-size: 14px; color: #eee; border-radius: 3px; }
.ml-languages a[aria-current=true] { background: #232323; color: var(--home-blue); }

.ml-footer { padding: 46px var(--home-pad) 24px; background: #070707; }
.ml-footer-top, .ml-footer-bottom { max-width: 1400px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.ml-footer-top { margin-bottom: 32px; }
.ml-footer nav { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 28px; }
.ml-footer nav a { display: inline-flex; align-items: center; min-height: 44px; color: #aaa; font-size: 12px; }
.ml-footer-bottom.pub-footer-bottom { padding: 0; border: 0; color: #858585; font-size: 11px; }
.ml-footer-bottom nav a { color: #929292; font-size: 11px; }
.sn-geoip-attribution { flex-basis: 100%; color: #929292 !important; font-size: 10px !important; }
.ml-cookie { position: fixed; z-index: 45; bottom: 18px; left: var(--home-pad); right: var(--home-pad); max-width: 740px; display: flex; align-items: center; gap: 22px; padding: 16px 20px; background: #222; border: 1px solid #404040; border-radius: 6px; box-shadow: 0 8px 30px #0004; font-size: 12px; line-height: 1.5; }
.ml-cookie p { color: #ccc; }
.ml-cookie a { color: #eee; text-decoration: underline; text-underline-offset: 3px; }
.ml-cookie button { flex-shrink: 0; min-height: 44px; padding: 10px 16px; border: 0; border-radius: 4px; background: #eee; color: #111; cursor: pointer; font: inherit; }

.home-hero-in{
  position:relative;
  min-width:0;
  min-height:calc(100svh - var(--pub-header-h));
  padding:clamp(72px,10vh,130px) var(--home-pad) 34px;
  display:grid;
  grid-template-rows:1fr auto;
  gap:54px;
}

.home-hero-copy{
  width:min(1080px,86%);
  min-width:0;
  align-self:center;
  display:grid;
  justify-items:start;
  gap:22px;
}

.home-identity{display:flex;align-items:center;gap:14px;min-height:30px}
.home-identity .pub-decode{min-width:132px;font-size:12px;letter-spacing:.12em}
.home-identity .pub-hero-sub{font-size:10px;letter-spacing:.1em}

.home-title{
  max-width:900px;
  margin:0;
  font-size:clamp(54px,6.7vw,100px);
  font-weight:600;
  line-height:1.01;
  letter-spacing:-.055em;
  text-wrap:balance;
}

.home-lead{
  max-width:610px;
  margin:4px 0 0;
  color:var(--muted);
  font-size:clamp(16px,1.45vw,20px);
  line-height:1.52;
}

.home-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:8px}
.home-actions .btn{min-height:44px;padding-inline:20px;border-radius:6px}

.home-hero-foot{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:18px;
  font-family:var(--pub-mono);
  color:var(--muted-2);
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.home-hero-foot .line{height:1px;background:var(--line-soft)}
.home-hero-foot a{color:var(--muted);transition:color var(--dur-fast) var(--ease-out)}
.home-hero-foot a:hover{color:var(--text-strong)}

.home-section{
  padding:clamp(82px,10vw,150px) var(--home-pad);
  border-bottom:1px solid var(--line-soft);
}

.home-section-in{max-width:var(--shell-max);margin:0 auto}

.home-section-label{
  margin:0 0 34px;
  font-family:var(--pub-mono);
  color:var(--muted-2);
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.home-statement-grid{
  display:grid;
  grid-template-columns:minmax(0,1.7fr) minmax(260px,.65fr);
  gap:clamp(46px,9vw,150px);
  align-items:end;
}

.home-statement h2{
  max-width:920px;
  margin:0;
  font-size:clamp(38px,5.5vw,78px);
  line-height:1.04;
  letter-spacing:-.04em;
  font-weight:550;
  text-wrap:balance;
}

.home-statement-copy{display:grid;gap:20px;color:var(--muted);font-size:16px;line-height:1.65}
.home-statement-copy p{margin:0}
.home-statement-copy strong{color:var(--text);font-weight:500}

.home-wordmark{
  position:relative;
  overflow:hidden;
  min-height:clamp(420px,44vw,640px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:40px var(--home-pad);
  border-bottom:1px solid var(--line-soft);
  background:transparent;
}

.home-wordmark span{
  position:relative;
  z-index:1;
  font-size:clamp(88px,20vw,330px);
  line-height:.75;
  letter-spacing:-.085em;
  font-weight:650;
  color:transparent;
  -webkit-text-stroke:1px rgba(255,255,255,.46);
}

.home-guides-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:30px;
  margin-bottom:42px;
}
.home-guides-head h2{
  max-width:850px;
  margin:0;
  font-size:clamp(38px,5.2vw,72px);
  line-height:1;
  letter-spacing:-.04em;
  font-weight:550;
}
.home-guides-head > a{font-size:13px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:4px}
.home-guides-head > a:hover{color:var(--text-strong)}

.home-guide-list{
  position:relative;
  isolation:isolate;
  border-top:1px solid var(--line);
}
.home-guide{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:70px minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
  min-height:126px;
  padding:24px 0;
  border-bottom:1px solid var(--line-soft);
  color:var(--text);
}
.home-guide > span{
  position:relative;
  z-index:1;
  transition:transform 440ms cubic-bezier(.16,1,.3,1),color 220ms var(--ease-out);
}
.home-guide:hover > span:nth-of-type(2),
.home-guide:focus-visible > span:nth-of-type(2){transform:translateX(10px)}
.home-guide:hover .num,
.home-guide:focus-visible .num{transform:translateX(4px);color:var(--muted)}
.home-guide:hover .meta,
.home-guide:focus-visible .meta{transform:translateX(-4px);color:var(--muted)}
.home-guide-hover{
  position:absolute;
  top:0;
  left:-14px;
  right:-14px;
  z-index:0;
  height:var(--guide-h,0px);
  pointer-events:none;
  border:1px solid var(--line-soft);
  border-radius:4px;
  background:#101214;
  opacity:0;
  transform:translate3d(0,var(--guide-y,0px),0) scaleY(.9);
  transform-origin:center;
  transition:
    height 440ms cubic-bezier(.16,1,.3,1),
    opacity 180ms var(--ease-out),
    transform 440ms cubic-bezier(.16,1,.3,1);
  will-change:height,opacity,transform;
}
.home-guide-hover.is-on{
  opacity:1;
  transform:translate3d(0,var(--guide-y,0px),0) scaleY(1);
}
.home-guide .num{font-family:var(--pub-mono);font-size:10px;color:var(--muted-2);letter-spacing:.1em}
.home-guide h3{margin:0 0 7px;font-size:clamp(21px,2.5vw,32px);line-height:1.15;font-weight:500;letter-spacing:-.02em}
.home-guide p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}
.home-guide .meta{font-family:var(--pub-mono);font-size:10px;color:var(--muted-2);white-space:nowrap}

.home-final{
  min-height:62svh;
  display:flex;
  align-items:center;
  background:#ededed;
  color:#0b0b0b;
}
.home-final-in{width:100%;max-width:var(--shell-max);margin:0 auto;padding:90px var(--home-pad)}
.home-final .home-section-label{color:#666}
.home-final h2{
  max-width:1020px;
  margin:0 0 40px;
  color:#0b0b0b;
  font-size:clamp(48px,7vw,102px);
  line-height:.94;
  letter-spacing:-.055em;
  font-weight:600;
}
.home-final .btn{background:#0b0b0b;color:#ededed;border-color:#0b0b0b;border-radius:6px;min-height:46px;padding-inline:22px}
.home-final .btn:hover{background:#222;color:#fff}


.home-organism { position: relative; background: #070707; isolation: isolate; overflow: clip; }
.home-hero { position: relative; min-height: calc(100svh - var(--pub-header-h)); border-bottom: 1px solid #1c1e21; }
.home-title span { display: block; }
.home-title { color: #efefed; }
.home-hero-copy { text-shadow: 0 2px 16px #070707; }
.home-identity { color: #c5c5c5; font-size: 12px; letter-spacing: .05em; }
.home-identity-note { color: #929292; font-size: 10px; letter-spacing: .07em; }
.home-hero-foot { letter-spacing: .04em; }
.home-hero-foot > a { justify-self: end; display: inline-flex; align-items: center; min-height: 44px; }
.home-hero-foot .sn-motion-toggle { font-family: var(--site-font); letter-spacing: normal; text-transform: none; }
.home-statement h2, .home-statement-copy { text-shadow: 0 2px 18px #070707; }
.home-wordmark span { -webkit-text-stroke-color: #858a91; text-shadow: none; }
.manalog-home:lang(en) .home-wordmark span,
.manalog-home:lang(fr) .home-wordmark span { font-size: clamp(52px, 17vw, 280px); }
.manalog-home:lang(de) .home-wordmark span { font-size: clamp(50px, 16vw, 264px); }
.home-wordmark { border-bottom: 0; }
.home-guides { background: #070707; }
.home-guide { overflow: visible; }
.home-guide .sn-button-veins { inset: 12% 0; height: 76%; z-index: 0; }
.home-guide p { max-width: 780px; }
.home-actions .btn { min-height: 50px; padding-inline: 24px; }
.home-final .btn { min-height: 50px; }
.home-final h2 span { display: block; }
.home-final .home-section-label { margin-bottom: 34px; }
.home-section-label { margin-bottom: 34px !important; }
.home-guide-hover { transition-duration: 750ms, 650ms, 750ms; }
.home-guide > span { transition-duration: 650ms, 450ms; }
.home-statement-copy p:first-child { color: #c7c7c7; }

/* RAZOR Wellness lineUp + .rv motion, lengthened without scroll manipulation. */
@media (prefers-reduced-motion: no-preference) {
  .home-title span { animation: home-line-up 1.6s var(--home-motion) both; }
  .home-title span:nth-child(1) { animation-delay: .20s; }
  .home-title span:nth-child(2) { animation-delay: .36s; }
  .home-identity, .home-lead, .home-actions { animation: home-line-up 1.4s var(--home-motion) both; }
  .home-identity { animation-delay: .08s; }
  .home-lead { animation-delay: .54s; }
  .home-actions { animation-delay: .68s; }
  @keyframes home-line-up { from { opacity: 0; transform: translateY(.34em); } to { opacity: 1; transform: none; } }
  .ml-reveal { transition: opacity 1.35s var(--home-motion), transform 1.35s var(--home-motion); }
  .ml-reveal.is-waiting { opacity: 0; transform: translateY(18px); }
}
@media (hover: hover) and (pointer: fine) {
  .ml-nav a:hover, .ml-footer nav a:hover { color: #fff; }
  .ml-languages a:hover { background: #2a2a2a; }
  .ml-login:hover { background: #14181d; }
}
@media (min-width: 901px) and (max-height: 820px) {
  .home-hero-in { padding-top: 38px; padding-bottom: 14px; gap: 26px; }
  .home-hero-copy { gap: 20px; }
}
@media (max-width: 1050px) {
  .ml-header { gap: 20px; }
  .ml-nav { gap: 18px; }
  .ml-header-actions { gap: 16px; margin-left: 4px; }
}
@media (max-width: 900px) {
  .home-hero-copy { width: 100%; }
  .home-title { font-size: clamp(48px, 8vw, 72px); }
  .home-statement-grid { grid-template-columns: 1fr; align-items: start; gap: 32px; }
  .home-statement-copy { max-width: 620px; }
}
@media (max-width: 760px) {
  body.manalog-home { --pub-header-h: 68px; }
  .ml-nav { display: none; }
  .ml-header-actions { margin-left: auto; }
  .ml-brand-name { font-size: 21px; }
  .ml-brand img { width: 36px; height: 36px; }
}
@media (max-width: 640px) {
  .home-hero-in { padding-top: 64px; padding-bottom: 16px; gap: 42px; }
  .home-identity { flex-direction: column; align-items: start; gap: 8px; }
  .home-hero-copy { gap: 22px; }
  .home-title { max-width: 100%; font-size: clamp(35px, 9.8vw, 60px); line-height: 1.04; letter-spacing: -.055em; }
  .home-lead { font-size: 16px; }
  .home-actions { width: 100%; }
  .home-actions .btn { flex: 1 1 130px; justify-content: center; padding-inline: 14px; }
  .home-hero-foot { grid-template-columns: 1fr auto; gap: 8px; font-size: 9px; }
  .home-hero-foot > a { display: none; }
  .home-section { padding-block: 74px; }
  .home-section-label { margin-bottom: 24px !important; }
  .home-statement h2 { font-size: clamp(34px, 8.4vw, 52px); }
  .home-wordmark { min-height: 380px; padding-inline: 12px; }
  .home-wordmark span { font-size: 19vw; letter-spacing: -.06em; }
  .home-guides-head { grid-template-columns: 1fr; align-items: start; margin-bottom: 30px; }
  .home-guides-head h2 { font-size: clamp(34px, 8.4vw, 52px); }
  .home-guides-head > a { justify-self: start; }
  .home-guide { grid-template-columns: 30px minmax(0, 1fr); gap: 10px 12px; padding: 24px 0; }
  .home-guide h3 { font-size: 22px; line-height: 1.2; }
  .home-guide .meta { grid-column: 2; white-space: normal; }
  .home-guide p { font-size: 13px; }
  .home-final { min-height: 56svh; }
  .home-final-in { padding-block: 72px; }
  .home-final h2 { font-size: clamp(37px, 9.8vw, 64px); line-height: 1.04; }
}
@media (max-width: 520px) {
  body.manalog-home { --home-pad: 22px; }
  .ml-header { gap: 10px; }
  .ml-header-actions { gap: 14px; }
  .ml-login { padding-inline: 13px; font-size: 12px; }
  .ml-brand { gap: 8px; }
  .ml-brand-name { font-size: 20px; }
  .ml-brand img { width: 32px; height: 32px; }
  .ml-footer { padding-top: 34px; }
  .ml-footer-top { align-items: flex-start; gap: 22px; }
  .ml-footer-top nav { gap: 0 18px; }
  .ml-footer-bottom { align-items: flex-start; gap: 12px; flex-direction: column; }
  .ml-footer-bottom nav { gap: 0 20px; }
  .ml-cookie { bottom: 12px; left: 12px; right: 12px; padding: 14px; gap: 12px; font-size: 11px; }
  .ml-cookie button { padding-inline: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .manalog-home *, .manalog-home *::before, .manalog-home *::after { animation: none !important; transition: none !important; }
  .ml-reveal.is-waiting { opacity: 1; transform: none; }
}
