/* Made To Measure · Ritual Hero v1.0 — estilos
   Todos los colores y tipografías vienen de variables --mtm-* que el motor
   define a partir de config.theme. No edites aquí los colores: usa la config. */
.mtm-ritual{position:relative;background:var(--mtm-bg);color:var(--mtm-text);font-family:var(--mtm-body)}
.mtm-ritual *{box-sizing:border-box}
.mtm-ritual__pin{position:sticky;top:var(--mtm-offset);height:calc(100vh - var(--mtm-offset));height:calc(100svh - var(--mtm-offset));overflow:hidden;background:radial-gradient(60% 70% at 66% 58%,var(--mtm-glow-bg) 0%,var(--mtm-bg) 62%,var(--mtm-bg-deep) 100%)}
.mtm-ritual__grain{position:absolute;inset:0;opacity:.07;pointer-events:none;mix-blend-mode:screen;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='600' height='600'><filter id='w'><feTurbulence type='fractalNoise' baseFrequency='.004 .09' numOctaves='3' seed='4'/><feColorMatrix values='0 0 0 0 .9  0 0 0 0 .6  0 0 0 0 .35  0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23w)'/></svg>");background-size:600px 600px}
.mtm-ritual__glow{position:absolute;border-radius:50%;pointer-events:none;background:radial-gradient(closest-side,var(--mtm-accent-glow),transparent);filter:blur(10px)}
.mtm-ritual__bowl{position:absolute;left:0;top:0;will-change:transform}
.mtm-ritual__shadow{position:absolute;inset:-4%;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.75) 70%,rgba(0,0,0,0));transform:translate(3%,5%)}
.mtm-ritual__spin{position:absolute;inset:0;will-change:transform}
.mtm-ritual__spin img{position:absolute;inset:0;width:100%;height:100%;border-radius:50%;max-width:none}
.mtm-ritual__spin img+img{opacity:0}
.mtm-ritual__rim{position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25),inset 0 -18px 40px rgba(0,0,0,.28),inset 0 14px 30px rgba(255,255,255,.08);pointer-events:none}
.mtm-ritual__steam{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.mtm-ritual__callouts{position:absolute;inset:0;pointer-events:none}
.mtm-ritual .mtm-co{position:absolute;left:0;top:0;opacity:0;will-change:transform,opacity}
.mtm-ritual .mtm-co__dot{position:absolute;left:-7px;top:-7px;width:14px;height:14px;border-radius:50%;background:var(--mtm-accent);box-shadow:0 0 0 5px var(--mtm-accent-ring),0 0 18px var(--mtm-accent-glow)}
.mtm-ritual .mtm-co__line{position:absolute;left:0;top:-.5px;height:1px;background:linear-gradient(90deg,var(--mtm-accent),transparent);transform-origin:0 50%}
.mtm-ritual .mtm-co__card{position:absolute;top:0;transform:translateY(-50%);white-space:nowrap;padding:9px 14px 10px;border-radius:6px;background:var(--mtm-card);border:1px solid var(--mtm-line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.mtm-ritual .mtm-co__label{display:block;font:700 18px/1.1 var(--mtm-display);color:var(--mtm-accent)}
.mtm-ritual .mtm-co__sub{display:block;font:500 12.5px/1.3 var(--mtm-label);color:var(--mtm-text);margin-top:3px}
.mtm-ritual__copy{position:absolute;inset:0;display:grid;align-items:center;padding:24px max(16px,env(safe-area-inset-right,0px)) 72px max(16px,env(safe-area-inset-left,0px));pointer-events:none}
.mtm-ritual .mtm-cap{grid-area:1/1;max-width:min(28rem,34vw);margin-left:clamp(0px,6vw,96px);opacity:0;visibility:hidden}
.mtm-ritual .mtm-cap--intro{opacity:1;visibility:visible}
.mtm-ritual .mtm-eyebrow{margin:0 0 14px;font:500 12.5px/1.4 var(--mtm-label);letter-spacing:.15em;text-transform:uppercase;color:var(--mtm-accent)}
.mtm-ritual .mtm-h1{margin:0;font-family:var(--mtm-display);font-weight:700;font-size:clamp(3.4rem,7.6vw,7rem);line-height:.92;background:linear-gradient(135deg,var(--mtm-accent),var(--mtm-accent-2));-webkit-background-clip:text;background-clip:text;color:transparent;text-wrap:balance}
.mtm-ritual .mtm-lede{margin:18px 0 0;font-size:1.15rem;max-width:26rem}
.mtm-ritual .mtm-hint{margin:26px 0 0;font:500 12px/1 var(--mtm-label);letter-spacing:.16em;text-transform:uppercase;color:var(--mtm-muted);display:flex;align-items:center;gap:12px}
.mtm-ritual .mtm-hint i{display:block;width:18px;height:28px;border:1.5px solid var(--mtm-muted);border-radius:10px;position:relative}
.mtm-ritual .mtm-hint i::after{content:"";position:absolute;left:50%;top:6px;width:3px;height:6px;margin-left:-1.5px;border-radius:2px;background:var(--mtm-accent);animation:mtm-wheel 1.6s ease-in-out infinite}
@keyframes mtm-wheel{0%{transform:translateY(0);opacity:1}100%{transform:translateY(10px);opacity:0}}
.mtm-ritual .mtm-step{display:block;font:600 12.5px/1 var(--mtm-label);letter-spacing:.15em;text-transform:uppercase;color:var(--mtm-accent);margin-bottom:12px;font-variant-numeric:tabular-nums}
.mtm-ritual .mtm-cap h2{margin:0;font-family:var(--mtm-display);font-weight:700;font-size:clamp(2.3rem,4.4vw,3.9rem);line-height:.98;color:var(--mtm-text);text-wrap:balance}
.mtm-ritual .mtm-body{margin:14px 0 0;font-size:1.05rem;color:var(--mtm-muted);max-width:25rem}
.mtm-ritual .mtm-cap--final h2{font-size:clamp(2.7rem,5.4vw,4.8rem)}
.mtm-ritual .mtm-price{display:inline-flex;align-items:baseline;gap:10px;margin-top:16px;font:600 15px/1 var(--mtm-label);color:var(--mtm-text)}
.mtm-ritual .mtm-price b{font:700 30px/1 var(--mtm-display);color:var(--mtm-accent)}
.mtm-ritual .mtm-ctas{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.mtm-ritual .mtm-btn{pointer-events:auto;display:inline-flex;align-items:center;gap:8px;padding:14px 20px;border-radius:4px;font:600 15px/1 var(--mtm-label);text-decoration:none;transition:transform .3s cubic-bezier(.2,.9,.3,1),box-shadow .3s}
.mtm-ritual .mtm-btn--main{background:var(--mtm-accent);color:var(--mtm-bg)}
.mtm-ritual .mtm-btn--main:hover{transform:translateY(-3px);box-shadow:0 12px 32px var(--mtm-accent-glow)}
.mtm-ritual .mtm-btn--ghost{border:1px solid var(--mtm-line);color:var(--mtm-text);background:transparent}
.mtm-ritual .mtm-btn--ghost:hover{border-color:var(--mtm-accent)}
.mtm-ritual .mtm-btn:focus-visible{outline:2px solid var(--mtm-accent);outline-offset:3px}
.mtm-ritual__phases{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);display:flex;gap:6px;margin:0;padding:6px;list-style:none;border-radius:999px;background:var(--mtm-card);border:1px solid var(--mtm-line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none}
.mtm-ritual__phases li{white-space:nowrap;font:600 11.5px/1 var(--mtm-label);letter-spacing:.06em;padding:8px 11px;border-radius:999px;color:var(--mtm-muted);transition:background .3s,color .3s}
.mtm-ritual__phases li.done{color:var(--mtm-text)}
.mtm-ritual__phases li.on{background:var(--mtm-accent);color:var(--mtm-bg)}
@media (max-width:860px){
  .mtm-ritual__pin{background:radial-gradient(90% 55% at 50% 68%,var(--mtm-glow-bg) 0%,var(--mtm-bg) 64%,var(--mtm-bg-deep) 100%)}
  .mtm-ritual__copy{align-items:start;padding-top:20px}
  .mtm-ritual .mtm-cap,.mtm-ritual .mtm-cap--final{max-width:100%;margin-left:0}
  .mtm-ritual .mtm-h1{font-size:clamp(2.8rem,14vw,4.2rem)}
  .mtm-ritual .mtm-lede{font-size:1rem;margin-top:12px}
  .mtm-ritual .mtm-hint{display:none}
  .mtm-ritual .mtm-cap h2{font-size:clamp(1.8rem,8.4vw,2.5rem)}
  .mtm-ritual .mtm-cap--final h2{font-size:clamp(2.1rem,9.6vw,2.9rem)}
  .mtm-ritual .mtm-body{font-size:.95rem;margin-top:8px}
  .mtm-ritual .mtm-price{margin-top:10px}
  .mtm-ritual .mtm-price b{font-size:24px}
  .mtm-ritual .mtm-ctas{margin-top:14px;gap:8px}
  .mtm-ritual .mtm-btn{padding:12px 14px;font-size:14px}
  .mtm-ritual .mtm-co__label{font-size:15px}
  .mtm-ritual .mtm-co__sub{font-size:11px}
  .mtm-ritual .mtm-co__card{padding:7px 10px 8px}
  .mtm-ritual__phases{bottom:14px;max-width:calc(100% - 32px)}
  .mtm-ritual__phases li{padding:7px 8px;font-size:10px;letter-spacing:0}
}
