:root { --brand-green:#8e9d86; --brand-ink:#43583e; --brand-cream:#f3ede7; --brand-sand:#c7a98b; --promo-height:0px; }
.promo-preview { --promo-height:34px; }
body.visual-home { background:var(--brand-cream); }
.promo-strip { position:fixed; inset:0 0 auto; height:34px; z-index:1100; background:var(--brand-ink); color:#fff; display:flex; align-items:center; justify-content:center; gap:22px; padding:0 14px; font:500 10px/1.3 'Inter',sans-serif; letter-spacing:.13em; }
.promo-strip strong { font-weight:700; }
.promo-strip a { color:inherit; font-weight:600; text-underline-offset:3px; }
.preview-review { position:fixed; top:calc(var(--promo-height) + 79px); right:10px; z-index:1200; max-width:calc(100% - 20px); padding:7px 11px; border:1px solid #d8cbbd; border-radius:6px; background:#fffcf7f2; color:#61584c; font:400 10px/1.5 'Inter',sans-serif; box-shadow:0 2px 12px #2e2e2e12; pointer-events:none; }
#nav-wrap { top:calc(var(--promo-height) + 14px); animation:none; }
#nb-menu { padding-top:calc(var(--promo-height) + 110px); }
.visual-home .fi { opacity:1; transform:none; }
.visual-home #planes,.visual-home #resultados,.visual-home #metodo,.visual-home #sobre-mi,.visual-home #contacto { scroll-margin-top:calc(var(--promo-height) + 106px); }
.visual-home .hero-title { font-size:clamp(4rem,12vw,11rem); font-weight:400; line-height:.95; letter-spacing:.01em; }
.visual-home .hero-title .hero-by { display:inline-block; font:italic 400 .4em/.8 'Playfair Display',serif; color:var(--brand-sand); letter-spacing:0; margin-right:.12em; }
.visual-home .hero-eyebrow { font-size:9px; letter-spacing:.2em; color:#f0e1d2; }
.visual-home .hero-service-title { font:500 clamp(1.15rem,2.1vw,1.8rem)/1.3 'Inter',sans-serif; max-width:34ch; margin-top:18px; }
.visual-home .hero-desc { font-size:11px; max-width:none; letter-spacing:.14em; color:#f3ede7; text-transform:none; }
.visual-home .hero-bottom-row { gap:16px; align-items:flex-start; }
.visual-home .hero-right { gap:12px; align-items:flex-start; }
.visual-home .hero-badge { color:#eee1d3; font-size:9px; background:#2e2e2e35; }
.visual-home .hero-cta-btn { padding:17px 35px; font-size:11px; background:var(--brand-ink); }
.hero-results-link { color:#eee1d3; font:400 11px/1.6 'Inter',sans-serif; text-underline-offset:4px; }
.visual-home #hero { min-height:700px; height:100svh; max-height:1000px; }
.visual-home .hero-lower { padding-bottom:45px; }
.visual-home .hero-photo::after { background:linear-gradient(180deg,#08080820 0%,transparent 25%,#08080808 40%,#080808b5 78%,#080808ed 100%); }
.visual-section { padding:68px 24px; }
.visual-inner { max-width:1160px; margin:auto; }
.visual-heading { margin:0; color:#2e2e2e; font:400 clamp(2rem,4vw,3.6rem)/1.08 'Playfair Display',serif; letter-spacing:-.025em; }
.visual-heading em { color:#66785d; font-weight:400; }
.visual-eyebrow { display:block; color:#66785d; font:600 9px/1.6 'Inter',sans-serif; letter-spacing:.21em; text-transform:uppercase; margin:0 0 14px; }
.visual-sub { color:#655d54; font:400 13px/1.8 'Inter',sans-serif; margin-top:15px; }
.visual-center { text-align:center; }
.brand-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; border-radius:7px; padding:16px 25px; background:var(--brand-ink); color:#fff; font:600 10px/1.6 'Inter',sans-serif; letter-spacing:.1em; text-decoration:none; text-transform:uppercase; border:0; cursor:pointer; }
.brand-button:hover { background:#354731; }
.brand-link { color:var(--brand-ink); font:500 12px/1.8 'Inter',sans-serif; text-underline-offset:4px; }
.brand-icon { width:30px; height:30px; flex:0 0 auto; color:#7a8c71; fill:none; stroke:currentColor; stroke-width:1.35; stroke-linecap:round; stroke-linejoin:round; }
.visual-home #resultados { padding:60px 24px 50px; background:var(--brand-cream); }
.proof-heading-row { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:27px; }
.proof-heading-row .visual-heading { font-size:clamp(2rem,3.5vw,3rem); }
.proof-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.proof-card { min-width:0; }
.proof-media { position:relative; border-radius:15px; overflow:hidden; aspect-ratio:4/4.6; background:#d8cec2; }
.proof-video { display:block; width:100%; height:100%; object-fit:cover; }
.proof-play { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; width:100%; height:100%; padding:0; border:0; background:linear-gradient(0deg,#0004,transparent 55%); color:#fff; cursor:pointer; }
.proof-play span { display:flex; align-items:center; justify-content:center; border:1px solid #fffd; border-radius:50%; width:48px; height:48px; background:#ffffff20; backdrop-filter:blur(5px); }
.proof-play svg { width:18px; height:18px; margin-left:3px; }
.proof-name { margin:14px 0 4px; color:#2e2e2e; font:500 12px/1.5 'Inter',sans-serif; }
.proof-focus { margin:0; color:#73685c; font:400 10px/1.7 'Inter',sans-serif; }
.proof-action { text-align:center; margin-top:27px; }
.visual-home #planes { background:#fffcf8; padding:32px 24px 40px; }
.plans-heading { display:flex; justify-content:space-between; align-items:center; gap:25px; margin-bottom:24px; text-align:left; }
.plans-heading .visual-eyebrow { display:none; }
.plans-heading .visual-heading { font-size:44px; }
.plans-heading .visual-sub { max-width:30ch; text-align:right; font-size:11px; margin:0; }
.shop-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.shop-card { overflow:hidden; border:1px solid #e4dbcf; border-radius:15px; background:var(--brand-cream); }
.shop-photo { position:relative; aspect-ratio:3/2; overflow:hidden; background:#d6ccc0; }
.shop-photo img { width:100%; height:100%; object-fit:cover; object-position:50% 22%; display:block; transition:transform .35s ease; }
.shop-card:hover .shop-photo img { transform:scale(1.025); }
.shop-type { position:absolute; top:13px; left:12px; right:12px; display:flex; justify-content:flex-start; pointer-events:none; }
.shop-type span { color:#2e2e2e; background:#f3ede7ee; padding:6px 10px; border-radius:30px; font:500 8px/1.4 'Inter',sans-serif; letter-spacing:.07em; text-transform:uppercase; }
.shop-content { padding:16px 14px 12px; }
.shop-title { margin:0 0 7px; color:#2e2e2e; font:500 28px/1.05 'Playfair Display',serif; letter-spacing:-.02em; min-height:30px; }
.shop-title.long { font-size:21px; }
.shop-goal { color:#61594f; font:400 11px/1.7 'Inter',sans-serif; margin:0 0 13px; min-height:20px; }
.shop-features { display:none; }
.shop-features span { display:inline-flex; align-items:center; gap:4px; }
.shop-features svg { width:14px; height:14px; }
.shop-price-block { margin:0 0 17px; }
.price-reference { color:#817669; font:400 12px/1.5 'Inter',sans-serif; text-decoration-thickness:1px; }
.shop-price-line { display:flex; align-items:center; flex-wrap:wrap; gap:9px; margin-top:4px; }
.shop-price { color:#2e2e2e; font:500 29px/1.1 'Playfair Display',serif; font-variant-numeric:lining-nums; }
.shop-period { display:block; margin-top:6px; font:400 9px/1.6 'Inter',sans-serif; color:#74695c; }
.discount-tag { display:inline-block; background:#dfe7d8; color:#43583e; border-radius:4px; padding:4px 5px; font:600 8px/1.3 'Inter',sans-serif; }
.shop-buy { width:100%; padding:13px 7px; min-height:45px; font-size:9px; letter-spacing:.06em; }
.shop-more { display:block; text-align:center; padding:9px 0 0; color:#6c6256; font:400 10px/1.6 'Inter',sans-serif; text-underline-offset:3px; min-height:30px; }
.shop-savings { color:#66785d; font:500 9px/1.5 'Inter',sans-serif; margin:8px 0 0; }
.plans-assistance { margin:25px 0 0; text-align:center; color:#776c5f; font:400 11px/1.8 'Inter',sans-serif; }
.plans-assistance a { color:inherit; text-underline-offset:4px; }
.brand-values { padding:27px 20px; background:#8e9d86; color:#fff9f0; display:flex; justify-content:center; flex-wrap:wrap; gap:15px 38px; font:400 9px/1.8 'Inter',sans-serif; text-transform:uppercase; letter-spacing:.2em; }
.visual-home #metodo { background:var(--brand-cream); padding:65px 24px; }
.method-visual { display:grid; grid-template-columns:1fr 1fr; gap:65px; align-items:center; }
.method-image { position:relative; border-radius:16px; overflow:hidden; background:#d3c7ba; }
.method-image img { display:block; width:100%; aspect-ratio:4/4.4; object-fit:cover; object-position:65% 50%; }
.method-caption { position:absolute; bottom:20px; left:20px; right:20px; background:#f3ede7ee; border-radius:9px; padding:15px; font:400 21px/1.2 'Playfair Display',serif; }
.method-steps { list-style:none; padding:0; margin:28px 0; }
.method-steps li { display:flex; gap:17px; align-items:center; padding:17px 0; border-bottom:1px solid #d9cbbd; }
.method-steps h3 { font:500 16px/1.4 'Inter',sans-serif; margin:0 0 4px; }
.method-steps p { font:400 12px/1.8 'Inter',sans-serif; color:#76695a; margin:0; }
.visual-home #sobre-mi { padding:65px 5%; background:var(--brand-cream); }
.visual-home .sobre-heading { font-weight:500; }
.visual-home .sobre-video-card { aspect-ratio:9/16; }
.visual-home .sobre-photo img { aspect-ratio:9/16; height:auto; max-height:580px; object-fit:cover; }
.visual-home .sobre-bio { font-size:14px; line-height:1.9; }
.visual-home .sobre-cta { font-size:10px; padding:15px 22px; min-height:47px; }
.visual-home .sobre-text-col { min-width:0; }
.visual-home .stats-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
.visual-home .stat-val { font-size:clamp(1.6rem,3vw,2.5rem); }
.about-visual { display:grid; grid-template-columns:240px 1fr; gap:50px; align-items:center; max-width:900px; margin:auto; }
.about-photo { width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:120px 120px 16px 16px; }
.about-copy { max-width:54ch; color:#655d54; font:400 14px/1.9 'Inter',sans-serif; margin:18px 0; }
.about-bio { color:#655d54; font:400 12px/1.9 'Inter',sans-serif; }
.about-bio summary { cursor:pointer; color:#43583e; text-decoration:underline; text-underline-offset:4px; margin-top:15px; }
.about-bio p { margin-top:15px; }
.visual-home #oferta-recetas { padding:40px 24px 60px; background:#fffcf8; }
.recipe-visual { display:grid; grid-template-columns:220px 1fr auto; align-items:center; gap:30px; max-width:1040px; margin:auto; padding:22px; border:1px solid #d9cbbd; border-radius:16px; background:var(--brand-cream); }
.recipe-visual img { width:100%; height:180px; object-fit:cover; object-position:50% 20%; border-radius:10px; }
.recipe-visual h2 { font:400 30px/1.15 'Playfair Display',serif; margin:0 0 10px; }
.recipe-visual p { font:400 12px/1.8 'Inter',sans-serif; color:#74695c; margin:0; }
.recipe-price { margin:12px 0; font:500 24px/1.3 'Playfair Display',serif; color:#2e2e2e; }
.recipe-price small { font:400 10px/1.5 'Inter',sans-serif; color:#74695c; }
.visual-home .faq-section { padding:50px 24px; }
.visual-home .faq-inner { max-width:850px; }
.visual-home .faq-inner h2 { font-weight:400; font-size:32px; }
.visual-home #contacto { padding:60px 24px 80px; background:var(--brand-cream); }
.checkout-layout { max-width:1040px; margin:auto; display:grid; grid-template-columns:.9fr 1.1fr; gap:65px; align-items:start; }
.checkout-layout > *,.visual-home .fg { min-width:0; }
.visual-home .fg input,.visual-home .fg select,.visual-home .fg textarea { max-width:100%; }
.visual-home .contacto-heading { font:400 clamp(2rem,4vw,3.4rem)/1.1 'Playfair Display',serif; letter-spacing:-.025em; margin:0; }
.visual-home .contacto-sub { font:400 13px/1.9 'Inter',sans-serif; margin-top:20px; }
.checkout-form-panel { padding:27px; border-radius:16px; background:#fffcf8; border:1px solid #e0d4c6; }
.visual-home .form-grid { gap:18px 16px; }
.visual-home .fg label { color:#655b4e; font-size:9px; }
.visual-home .fg input,.visual-home .fg select,.visual-home .fg textarea { background:#fff; border-color:#d9cbbd; font-size:13px; min-height:45px; }
.visual-home .form-submit button { font-size:10px; letter-spacing:.07em; padding:16px 12px; min-height:49px; }
.visual-home .form-helper { font-size:10px; }
.visual-home #fmsg { margin-top:15px; font:400 12px/1.8 'Inter',sans-serif; }
.buy-only { display:none; }
.is-buying .buy-only { display:block; }
.is-buying .consult-only,.is-buying .fg-plan,.is-buying .fg-objective { display:none; }
.order-summary { display:grid; grid-template-columns:100px 1fr; gap:17px; align-items:center; padding:18px 0; margin-top:20px; border-top:1px solid #d9cbbd; border-bottom:1px solid #d9cbbd; }
.order-summary img { width:100px; height:128px; object-fit:cover; border-radius:10px; }
.order-summary h3 { font:500 24px/1.2 'Playfair Display',serif; margin:0 0 10px; }
.order-summary p { font:400 12px/1.8 'Inter',sans-serif; color:#655b4e; margin:0; }
.purchase-help { margin:17px 0 0; font:400 11px/1.8 'Inter',sans-serif; }
.purchase-help a { color:#74695c; text-underline-offset:3px; }
.visual-home #footer { padding-top:40px; padding-bottom:55px; }
.visual-home .f-brand { font-weight:400; }
.visual-home .f-tag { max-width:26ch; font-size:12px; }
.plan-page.visual-detail { padding-top:var(--promo-height); }
.visual-detail .detail-nav { padding-top:20px; padding-bottom:16px; }
.visual-detail .detail-brand em { font:italic 400 28px/.8 'Playfair Display',serif; color:#aa8c70; }
.visual-detail .detail-hero { padding-bottom:40px; }
.visual-detail .detail-title { font-weight:400; font-size:clamp(3.4rem,6vw,6rem); letter-spacing:-.035em; line-height:.98; }
.visual-detail .detail-title em { display:block; color:#6b7e62; font-size:.59em; margin-top:14px; font-weight:400; }
.visual-detail .detail-lead { max-width:37ch; font-size:14px; line-height:1.85; }
.detail-badges { display:flex; flex-wrap:wrap; gap:9px; margin:22px 0; }
.detail-badges span { display:inline-flex; gap:7px; align-items:center; color:#66785d; background:#e8e9df; border-radius:6px; padding:8px 10px; font:500 10px/1.5 'Inter',sans-serif; }
.detail-badges svg { width:18px; height:18px; }
.visual-detail .detail-price { font-size:36px; }
.visual-detail .detail-actions { gap:5px; }
.visual-detail .detail-secondary { color:#7a6f62; font-size:11px; }
.visual-detail .detail-photo img { aspect-ratio:4/4.8; object-position:50% 20%; }
.visual-detail .detail-button { min-width:230px; font-size:10px; letter-spacing:.08em; }
.detail-process { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; border-top:1px solid #d9cbbd; border-bottom:1px solid #d9cbbd; padding:30px 0; margin-bottom:35px; }
.detail-process h2 { margin:12px 0 6px; font:500 16px/1.3 'Playfair Display',serif; }
.detail-process p { color:#74695c; font:400 12px/1.7 'Inter',sans-serif; margin:0; }
.plan-deep { padding:20px 0; border-bottom:1px solid #d9cbbd; }
.plan-deep > summary { font:500 15px/1.7 'Inter',sans-serif; cursor:pointer; }
.plan-deep .detail-body { border:0; padding:30px 0 10px; }
.plan-deep .detail-about { padding:20px 0; border-top:1px solid #d9cbbd; }
.visual-detail .faq-inner { margin:35px 0; }
.visual-detail .faq-inner h2 { font-size:28px; font-weight:400; }
.visual-detail .detail-bottom { padding:35px; background:#e3e6db; border-radius:16px; text-align:center; margin:20px 0 45px; }
.visual-detail .detail-bottom h2 { font:400 36px/1.2 'Playfair Display',serif; }
.visual-detail .detail-bottom .detail-actions { align-items:center; }
@media(min-width:768px) {
  .visual-home .sobre-grid { grid-template-columns:1fr 1fr; }
  .visual-home .sobre-text-col { grid-column:1 / -1; }
}
@media(min-width:1100px) {
  .visual-home .sobre-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.6fr); }
  .visual-home .sobre-text-col { grid-column:auto; }
  .visual-home .stats-row { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(min-width:640px) {
  #nav-wrap { top:calc(var(--promo-height) + 14px); }
  .visual-home .hero-bottom-row { flex-direction:row; justify-content:space-between; align-items:flex-end; }
  .visual-home .hero-right { align-items:flex-end; }
}
@media(max-width:1000px) {
  .shop-grid { gap:12px; }
  .shop-content { padding:17px 12px 12px; }
  .shop-title { font-size:24px; }
  .shop-price { font-size:26px; }
  .recipe-visual { grid-template-columns:170px 1fr; }
  .recipe-visual > .recipe-action { grid-column:2; margin-top:-5px; }
}
@media(max-width:767px) {
  .promo-strip { font-size:8px; gap:13px; letter-spacing:.08em; }
  .promo-strip a { font-size:8px; }
  .preview-review { font-size:8px; top:calc(var(--promo-height) + 82px); right:5px; padding:5px 7px; }
  .visual-home #hero { min-height:660px; max-height:930px; }
  .visual-home .hero-lower { padding:0 20px 31px; }
  .visual-home .hero-title { font-size:clamp(4rem,16vw,7rem); }
  .visual-home .hero-eyebrow { font-size:8px; letter-spacing:.15em; }
  .visual-home .hero-service-title { font-size:19px; max-width:28ch; margin-top:17px; }
  .visual-home .hero-bottom-row { margin-top:18px; gap:14px; }
  .visual-home .hero-desc { font-size:10px; }
  .visual-home .hero-right { width:100%; flex-direction:column; align-items:stretch; gap:10px; }
  .visual-home .hero-badge { align-self:flex-start; font-size:8px; }
  .visual-home .hero-cta-btn { width:100%; }
  .hero-results-link { text-align:center; font-size:10px; }
  .visual-home #resultados { padding:40px 20px; }
  .proof-heading-row { display:block; margin-bottom:22px; }
  .proof-heading-row .visual-heading { font-size:30px; }
  .proof-heading-row .visual-sub { font-size:11px; margin-top:12px; }
  .proof-grid { gap:8px; }
  .proof-media { aspect-ratio:3/4.3; border-radius:10px; }
  .proof-play span { width:34px; height:34px; }
  .proof-play svg { width:12px; height:12px; }
  .proof-name { font-size:9px; margin-top:10px; line-height:1.6; }
  .proof-focus { font-size:8px; }
  .proof-action { margin-top:23px; }
  .visual-home #planes { padding:40px 16px; }
  .plans-heading { margin-bottom:25px; }
  .plans-heading { display:block; text-align:center; }
  .plans-heading .visual-heading { font-size:33px; }
  .plans-heading .visual-sub { max-width:none; text-align:center; margin-top:12px; }
  .visual-sub { font-size:12px; }
  .shop-grid { grid-template-columns:1fr 1fr; gap:12px; }
  .shop-photo { aspect-ratio:3/3.7; }
  .shop-type { top:9px; left:8px; right:8px; }
  .shop-type span { font-size:7px; padding:5px 7px; }
  .shop-content { padding:15px 11px 10px; }
  .shop-title { font-size:25px; min-height:30px; }
  .shop-title.long { font-size:20px; line-height:1.15; min-height:46px; }
  .shop-goal { font-size:10px; min-height:34px; margin-bottom:10px; }
  .shop-features { font-size:8px; gap:6px; min-height:34px; margin-bottom:10px; }
  .shop-features svg { width:12px; height:12px; }
  .shop-price { font-size:24px; }
  .shop-price-line { gap:5px; }
  .price-reference { font-size:10px; }
  .discount-tag { font-size:7px; padding:3px; }
  .shop-period { font-size:8px; min-height:24px; }
  .shop-buy { font-size:8px; padding:12px 5px; min-height:44px; }
  .shop-more { font-size:9px; padding-top:10px; }
  .shop-savings { font-size:8px; }
  .plans-assistance { margin-top:23px; font-size:10px; }
  .brand-values { gap:13px 20px; padding:22px 18px; font-size:8px; letter-spacing:.12em; }
  .visual-home #metodo { padding:40px 20px; }
  .method-visual { grid-template-columns:1fr; gap:28px; }
  .method-image img { aspect-ratio:5/3.5; }
  .method-caption { font-size:20px; bottom:15px; left:15px; right:15px; padding:12px; }
  .method-steps { margin:18px 0 24px; }
  .method-steps li { padding:14px 0; }
  .method-steps h3 { font-size:14px; }
  .method-steps p { font-size:11px; }
  .visual-home #sobre-mi { padding:40px 20px; }
  .visual-home .sobre-grid { grid-template-columns:1fr 1fr; gap:15px; }
  .visual-home .sobre-text-col { grid-column:1 / -1; }
  .visual-home .sobre-heading { font-size:clamp(3rem,15vw,5rem); }
  .visual-home .sobre-heading-wrap { margin-bottom:25px; }
  .visual-home .sobre-photo img { height:100%; max-height:350px; aspect-ratio:9/16; object-fit:cover; }
  .visual-home .sobre-video-card { max-height:350px; }
  .visual-home .sobre-bio { font-size:13px; }
  .about-visual { grid-template-columns:105px 1fr; gap:20px; align-items:start; }
  .about-photo { aspect-ratio:3/4.5; border-radius:70px 70px 12px 12px; }
  .about-visual .visual-heading { font-size:30px; }
  .about-copy { font-size:12px; line-height:1.8; margin:12px 0; }
  .about-bio { font-size:11px; }
  .about-bio summary { font-size:10px; }
  .visual-home #oferta-recetas { padding:25px 20px 40px; }
  .recipe-visual { grid-template-columns:100px 1fr; gap:18px; padding:16px; }
  .recipe-visual img { height:145px; grid-row:1/3; }
  .recipe-visual h2 { font-size:24px; }
  .recipe-visual p { font-size:10px; }
  .recipe-visual > .recipe-action { margin-top:-4px; }
  .recipe-action .brand-button { font-size:8px; min-height:44px; padding:12px; width:100%; }
  .recipe-price { font-size:22px; }
  .recipe-price small { font-size:8px; display:block; }
  .visual-home .faq-section { padding:35px 20px; }
  .visual-home .faq-inner h2 { font-size:28px; }
  .faq-inner summary { font-size:12px; padding-top:17px; padding-bottom:17px; }
  .faq-inner details p { font-size:12px; }
  .visual-home #contacto { padding:40px 20px 60px; }
  .checkout-layout { grid-template-columns:1fr; gap:25px; }
  .visual-home .contacto-heading { font-size:34px; }
  .visual-home .contacto-sub { margin-top:13px; font-size:12px; }
  .checkout-form-panel { padding:20px; }
  .visual-home .form-grid { grid-template-columns:1fr; }
  .order-summary { grid-template-columns:75px 1fr; padding:15px 0; margin-top:15px; }
  .order-summary img { width:75px; height:95px; }
  .order-summary h3 { font-size:23px; margin-bottom:6px; }
  .order-summary p { font-size:11px; }
  .visual-detail .detail-nav-links { font-size:10px; }
  .visual-detail .detail-hero { padding-bottom:25px; gap:25px; }
  .visual-detail .detail-title { font-size:64px; }
  .visual-detail .detail-title em { font-size:34px; }
  .visual-detail .detail-lead { font-size:13px; }
  .visual-detail .detail-price { font-size:32px; }
  .visual-detail .detail-photo img { aspect-ratio:5/4; }
  .detail-badges { margin:18px 0; gap:6px; }
  .detail-badges span { font-size:9px; padding:7px 8px; }
  .detail-badges svg { width:16px; height:16px; }
  .detail-process { gap:12px; padding:24px 0; margin-bottom:20px; }
  .detail-process h2 { font-size:14px; }
  .detail-process p { font-size:10px; }
  .detail-process .brand-icon { width:25px; height:25px; }
  .plan-deep > summary { font-size:13px; }
  .plan-deep .detail-body h2 { font-size:25px; }
  .plan-deep .detail-body p,.plan-deep .detail-body li { font-size:12px; }
  .visual-detail .detail-bottom { padding:25px 20px; }
  .visual-detail .detail-bottom h2 { font-size:30px; }
}
@media(prefers-reduced-motion:reduce) {
  .shop-photo img { transition:none; }
  html { scroll-behavior:auto; }
}

/* Lectura visual: promesa, credenciales y beneficios. */
.visual-home .hero-service-title { max-width:650px; }
.hero-service-label { display:block; font:500 10px/1.6 'Inter',sans-serif; letter-spacing:.09em; margin-bottom:14px; }
.hero-promise { display:block; font:400 clamp(2.8rem,5.5vw,5.3rem)/1.02 'Playfair Display',serif; letter-spacing:-.03em; }
.hero-promise em { color:#dfc5ac; font-weight:400; }
.visual-home .hero-desc { display:flex; flex-wrap:wrap; gap:8px; margin:0; }
.hero-desc span { padding:7px 11px; border:1px solid #f3ede75c; border-radius:30px; font-size:10px; letter-spacing:.02em; background:#2e2e2e20; }
.shop-features { display:flex; flex-direction:column; gap:6px; margin:0 0 16px; min-height:38px; color:#66785d; font:500 10px/1.5 'Inter',sans-serif; }
.proof-focus { display:flex; flex-wrap:wrap; gap:5px; }
.proof-focus span { padding:4px 8px; border:1px solid #d9cbbd; border-radius:30px; }
.step-number { display:block; color:#7a8c71; font:600 9px/1.5 'Inter',sans-serif; letter-spacing:.14em; margin-bottom:5px; }
.visual-home .method-steps li { padding:20px 0; }
.visual-home .sobre-text-col { gap:22px; }
.visual-home .sobre-bio { display:grid; gap:20px; }
.bio-intro h3 { font:400 38px/1.1 'Playfair Display',serif; color:#2e2e2e; letter-spacing:-.025em; margin:0 0 12px; }
.bio-intro .visual-eyebrow { margin-bottom:10px; }
.bio-intro p,.visual-home .sobre-bio > p { margin:0; }
.bio-credentials,.bio-stages { display:flex; flex-wrap:wrap; gap:7px; list-style:none; padding:0; margin:0; }
.bio-credentials li { padding:6px 9px; background:#e0e5d9; border-radius:5px; color:#43583e; font:500 10px/1.6 'Inter',sans-serif; }
.bio-stages li { padding:5px 0; color:#68584a; font:500 10px/1.6 'Inter',sans-serif; }
.bio-stages li + li::before { content:'·'; margin-right:7px; color:#a38b73; }
.bio-quote { background:#43583e; color:#fff9f0; border-radius:12px; padding:23px 25px; margin:0; font:400 36px/1.03 'Playfair Display',serif; letter-spacing:-.02em; }
.bio-quote span { display:block; color:#ded4c6; font:500 9px/1.6 'Inter',sans-serif; letter-spacing:.13em; text-transform:uppercase; margin-bottom:12px; }
.bio-quote em { color:#dac0a7; font-weight:400; }
.bio-benefits { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.bio-benefits article { border:1px solid #d9cbbd; border-radius:12px; padding:16px 13px; background:#fffcf87a; }
.bio-benefits .brand-icon { width:24px; height:24px; margin-bottom:10px; }
.bio-benefits h4 { font:600 12px/1.45 'Inter',sans-serif; color:#43583e; margin:0 0 7px; }
.bio-benefits p { font:400 11px/1.7 'Inter',sans-serif; margin:0; color:#716456; }
.bio-purpose { padding-left:15px; border-left:2px solid #c7a98b; font-size:12px; }
@media(min-width:1100px) {
  .visual-home .sobre-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.9fr); }
}
@media(max-width:767px) {
  .visual-home #hero { min-height:760px; }
  .visual-home .hero-title { font-size:59px; }
  .visual-home .hero-service-title { margin-top:16px; }
  .hero-service-label { max-width:30ch; font-size:10px; margin-bottom:11px; }
  .hero-promise { font-size:48px; line-height:1; }
  .visual-home .hero-bottom-row { margin-top:18px; gap:16px; }
  .visual-home .hero-desc { gap:6px; }
  .hero-desc span { font-size:11px; padding:6px 10px; }
  .visual-home .hero-badge { display:none; }
  .visual-home .hero-cta-btn { font-size:12px; min-height:52px; }
  .hero-results-link { font-size:11px; }
  .visual-home .hero-eyebrow { font-size:7px; }
  .proof-heading-row .visual-heading { font-size:34px; }
  .proof-heading-row .visual-sub { font-size:13px; }
  .proof-grid { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:12px; padding:0 0 12px; }
  .proof-card { flex:0 0 76%; scroll-snap-align:start; }
  .proof-media { aspect-ratio:4/4.4; }
  .proof-play span { width:48px; height:48px; }
  .proof-play svg { width:18px; height:18px; }
  .proof-name { font-size:14px; margin-top:12px; }
  .proof-focus { font-size:11px; }
  .proof-heading-row::after { content:'Deslizá para ver más →'; display:block; margin-top:16px; color:#66785d; font:500 11px/1.6 'Inter',sans-serif; }
  .plans-heading .visual-heading { font-size:38px; }
  .plans-heading .visual-sub { font-size:13px; max-width:27ch; margin:12px auto 0; }
  .shop-content { padding:16px 10px 10px; }
  .shop-goal { font-size:12px; line-height:1.6; min-height:39px; }
  .shop-title { font-size:27px; }
  .shop-title.long { font-size:21px; }
  .shop-features { font-size:10px; min-height:45px; margin-bottom:15px; }
  .shop-period { font-size:10px; min-height:32px; }
  .shop-buy { font-size:10px; min-height:48px; letter-spacing:0; }
  .shop-more { font-size:11px; min-height:38px; }
  .shop-type span { font-size:8px; }
  .shop-price-line { gap:6px; }
  .discount-tag { font-size:8px; }
  .plans-assistance { font-size:12px; }
  .visual-home .method-steps { display:grid; gap:10px; }
  .visual-home .method-steps li { padding:18px 15px; border:1px solid #d9cbbd; border-radius:12px; background:#fffcf87a; align-items:flex-start; gap:15px; }
  .method-steps .brand-icon { width:27px; height:27px; margin-top:7px; }
  .method-steps h3 { font-size:16px; }
  .method-steps p { font-size:12px; }
  .visual-home .sobre-heading { font-size:55px; }
  .visual-home .sobre-bio { font-size:14px; line-height:1.8; gap:18px; }
  .bio-intro h3 { font-size:36px; }
  .bio-credentials li { font-size:11px; padding:7px 9px; }
  .bio-quote { padding:24px; font-size:41px; }
  .bio-quote span { font-size:10px; }
  .bio-stages li { font-size:11px; }
  .bio-benefits article { padding:17px 13px; }
  .bio-benefits h4 { font-size:13px; }
  .bio-benefits p { font-size:12px; }
  .bio-purpose { font-size:13px; }
  .visual-home .sobre-cta { font-size:12px; min-height:52px; }
  .stat-lbl { font-size:10px; color:#74695c; }
  .recipe-visual h2 { font-size:26px; }
  .recipe-visual p { font-size:12px; }
  .recipe-action .brand-button { font-size:10px; }
  .visual-home .fg label { font-size:11px; }
  .visual-home .fg input,.visual-home .fg select,.visual-home .fg textarea { font-size:16px; }
  .visual-home .contacto-sub { font-size:14px; }
  .visual-home .form-submit button { font-size:11px; }
}
@media(max-width:370px) {
  .hero-promise { font-size:43px; }
  .shop-title.long { font-size:19px; }
  .shop-price { font-size:22px; }
  .shop-buy { font-size:9px; }
}

/* Planes completos: fotografías sin recorte e inclusiones visibles. */
.shop-photo { aspect-ratio:9/16; background:#e7ded3; }
.shop-photo img { object-fit:contain; object-position:center; transition:none; }
.shop-card:hover .shop-photo img { transform:none; }
.shop-includes-label { font:700 9px/1.5 'Inter',sans-serif; letter-spacing:.16em; color:#43583e; margin:0 0 10px; }
.shop-features { font-size:12px; gap:8px; min-height:46px; }
.shop-features svg { width:17px; height:17px; }
.plan-more { display:flex; align-items:center; justify-content:center; min-height:46px; padding:10px 7px; margin-top:9px; border:1px solid #b5bea9; border-radius:7px; background:#f8f8f0; color:#43583e; font:600 13px/1.5 'Inter',sans-serif; text-decoration:none; }
.plan-more:hover { background:#e2e8db; }
.visual-detail .detail-photo img { aspect-ratio:auto; height:auto; object-fit:contain; object-position:center; }
.recipe-visual img { object-fit:contain; background:#e7ded3; }
.order-summary img { object-fit:contain; background:#e7ded3; }
.includes-jump { display:flex; gap:18px; align-items:center; justify-content:space-between; width:fit-content; min-height:48px; padding:11px 17px; margin:0 0 22px; border:1px solid #aab89f; border-radius:8px; color:#43583e; background:#e4e9dd; font:600 12px/1.5 'Inter',sans-serif; text-decoration:none; letter-spacing:.04em; }
.includes-jump span { font-size:20px; }
.plan-inclusions { scroll-margin-top:calc(var(--promo-height) + 24px); padding:35px; margin:0 0 40px; border-radius:18px; background:#e2e8da; border:1px solid #b9c6ad; }
.inclusions-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:25px; }
.inclusions-heading .visual-eyebrow { margin-bottom:9px; }
.inclusions-heading h2 { font:400 42px/1.1 'Playfair Display',serif; letter-spacing:-.025em; margin:0; }
.inclusions-heading h2 em { color:#66785d; font-weight:400; }
.inclusions-count { font:500 11px/1.6 'Inter',sans-serif; color:#66785d; }
.inclusions-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:13px; }
.inclusion-card { padding:23px; border-radius:12px; background:#fffcf8; border:1px solid #cdd6c5; }
.inclusion-card .brand-icon { width:29px; height:29px; margin-bottom:14px; }
.inclusion-card h3 { font:600 17px/1.35 'Inter',sans-serif; color:#43583e; margin:0 0 10px; }
.inclusion-card p { font:400 13px/1.8 'Inter',sans-serif; color:#655b4e; margin:0; }
.visual-detail .inclusions-buy { margin-top:23px; }
.plan-deep .detail-body-single { grid-template-columns:minmax(0,1fr); }
@media(max-width:767px) {
  .shop-photo { aspect-ratio:9/16; }
  .shop-includes-label { font-size:10px; }
  .shop-features { font-size:11px; min-height:58px; gap:9px; }
  .shop-features span { align-items:flex-start; gap:5px; }
  .shop-features svg { width:16px; height:16px; margin-top:1px; }
  .plan-more { font-size:13px; min-height:48px; padding:9px 4px; }
  .visual-detail .detail-photo { max-width:440px; margin:0 auto; }
  .visual-detail .detail-photo img { aspect-ratio:auto; height:auto; object-fit:contain; }
  .includes-jump { width:100%; font-size:13px; margin-bottom:20px; }
  .plan-inclusions { padding:24px 17px; margin-bottom:28px; }
  .inclusions-heading { display:block; margin-bottom:21px; }
  .inclusions-heading h2 { font-size:35px; }
  .inclusions-count { display:block; margin-top:10px; font-size:12px; }
  .inclusions-grid { grid-template-columns:minmax(0,1fr); gap:11px; }
  .inclusion-card { position:relative; padding:21px 17px 21px 60px; }
  .inclusion-card .brand-icon { position:absolute; top:22px; left:17px; width:27px; height:27px; margin:0; }
  .inclusion-card h3 { font-size:16px; margin-bottom:7px; }
  .inclusion-card p { font-size:14px; line-height:1.7; }
  .visual-detail .inclusions-buy { display:flex; width:100%; font-size:12px; }
}
/* La aclaración de la maqueta acompaña la barra sin tapar el contenido. */
html.promo-preview { --promo-height:52px; }
.promo-preview .preview-review { top:34px; left:0; right:0; max-width:none; height:18px; padding:0 7px; border:0; border-radius:0; box-shadow:none; background:#f3ede7; text-align:center; font-size:9px; line-height:18px; }
/* Legibilidad 2026-10-19: tamaños mínimos y zonas táctiles cómodas, sin cambiar la composición. */
:root body .hero-eyebrow, :root body .visual-eyebrow, :root body .step-number, :root body .shop-includes-label,
:root body .bio-quote span, :root body .brand-values span, :root body .hero-badge { font-size:11px; }
:root body .shop-type span { font-size:10px; padding:6px 10px; }
:root body .shop-period, :root body .recipe-price small, :root body .detail-badges span { font-size:11px; }
:root body .fg label { font-size:11px; }
:root body .shop-buy { font-size:12px; letter-spacing:.05em; min-height:48px; }
:root body .hero-results-link, :root body .plans-assistance a, :root body .purchase-help a,
:root body .detail-nav-links a, :root body .breadcrumbs a, :root body .plan-directory a,
:root body .detail-brand, :root body .receipt-back, :root body .receipt-help { display:inline-flex; align-items:center; min-height:44px; }
@media(max-width:767px) {
  :root body .hero-eyebrow { font-size:10px; letter-spacing:.14em; }
  :root body .shop-type span { font-size:9px; padding:5px 7px; letter-spacing:.02em; white-space:nowrap; }
  :root body .shop-buy { font-size:11px; letter-spacing:.02em; }
}
@media(max-width:360px) { :root body .shop-type span { font-size:8px; padding:5px 6px; letter-spacing:0; } }
/* El selector de plan queda visible al comprar, para poder cambiar de plan o volver a "Necesito ayuda". */
:root body .is-buying .fg-plan { display:flex; }
/* Portada 2026-10-19: el contenido fluye (nada se corta) y los títulos se ajustan al alto de la pantalla,
   así el botón de compra entra en la primera vista también con zoom o en celulares bajos. */
:root body #hero { height:auto; min-height:min(100svh,1000px); max-height:none; display:flex; flex-direction:column; justify-content:flex-end; }
:root body .hero-lower { position:relative; padding-top:96px; padding-bottom:clamp(18px,4svh,45px); }
:root body .hero-title { font-size:clamp(3.2rem,min(12vw,19svh),11rem); }
:root body .hero-promise { font-size:clamp(2.2rem,min(5.5vw,10svh),5.3rem); }
:root body .hero-service-title { margin-top:clamp(8px,2svh,18px); }
:root body .hero-service-label { margin-bottom:clamp(6px,1.4svh,14px); }
:root body .hero-bottom-row { margin-top:clamp(10px,2.2svh,18px); }
@media(max-width:767px) {
  :root body #hero { min-height:min(100svh,930px); }
  :root body .hero-lower { padding-top:100px; }
  :root body .hero-title { font-size:clamp(2.8rem,min(15vw,9svh),4.4rem); }
  :root body .hero-promise { font-size:clamp(2.1rem,min(12.5vw,7.5svh),3rem); }
}
/* Escala más contenida (pedido 2026-10-19): menú, portada y títulos de sección ~20% más chicos. */
:root body nav#nb { padding:7px 10px; }
:root body .nb-link { font-size:10px; padding:6px 10px; min-height:32px; }
:root body .nb-cta { font-size:10px; padding:8px 16px; min-height:34px; }
:root body .hero-title { font-size:clamp(2.8rem,min(9.5vw,15svh),8.5rem); }
:root body .hero-promise { font-size:clamp(2rem,min(4.4vw,8svh),4.2rem); }
:root body .hero-service-label { font-size:10px; }
:root body .hero-eyebrow { letter-spacing:.16em; }
:root body .sobre-heading { font-size:clamp(2.6rem,8vw,7rem); }
:root body .visual-heading { font-size:clamp(1.8rem,3.2vw,2.9rem); }
:root body .faq-inner h2, :root body .contacto-heading { font-size:clamp(1.8rem,3.2vw,2.8rem); }
@media(max-width:767px) {
  :root body .hero-title { font-size:clamp(2.5rem,min(13vw,8svh),3.8rem); }
  :root body .hero-promise { font-size:clamp(1.9rem,min(10.5vw,6.5svh),2.6rem); }
  :root body .sobre-heading { font-size:clamp(2.4rem,12vw,3.6rem); }
  :root body .visual-heading, :root body .contacto-heading { font-size:clamp(1.7rem,8vw,2.2rem); }
}
/* Sobre mí reorganizado (2026-10-19): fotos + beneficios + números a la izquierda, historia a la derecha. Sin huecos. */
:root body .sobre-grid { display:grid; gap:16px; max-width:1240px; margin:0 auto; align-items:start;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  grid-template-areas:"photo video" "text text" "benef benef" "stats stats" "cta cta"; }
:root body .sobre-photo { grid-area:photo; }
:root body .sobre-video-card { grid-area:video; }
:root body .sobre-text-col { grid-area:text; }
:root body .bio-benefits { grid-area:benef; }
:root body .stats-row { grid-area:stats; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
:root body .sobre-cta { grid-area:cta; justify-self:stretch; }
:root body .sobre-photo img, :root body .sobre-video-card { width:100%; height:100%; max-height:none; aspect-ratio:4/5; object-fit:cover; }
:root body .stat-card { padding:16px 8px; }
:root body .stat-val { font-size:clamp(1.3rem,2.4vw,2rem); white-space:nowrap; }
@media(min-width:1000px) {
  :root body .sobre-grid { column-gap:22px; row-gap:18px;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.25fr);
    grid-template-areas:"photo video text" "benef benef text" "stats stats cta"; }
  :root body .sobre-text-col { padding-left:12px; }
  :root body .sobre-cta { align-self:center; justify-self:start; }
}
@media(max-width:767px) {
  :root body .sobre-grid { gap:12px; }
  :root body .stats-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
  :root body .sobre-photo img, :root body .sobre-video-card { aspect-ratio:3/4; }
}
:root body .sobre-heading-wrap { max-width:1240px; margin-left:auto; margin-right:auto; }
/* Botones de compra con rebote (2026-10-19): sube con resorte al pasar el mouse, se hunde al tocar
   y salta una vez al aparecer en pantalla. Sin movimiento si el dispositivo pide reducirlo. */
:root body :is(.brand-button,.hero-cta-btn,.nb-cta,.nb-menu-cta,.sobre-cta,.detail-button,.form-submit button) {
  transition:transform .45s cubic-bezier(.34,1.8,.5,1), box-shadow .3s ease, background-color .2s ease;
  will-change:transform;
}
@media(hover:hover) {
  :root body :is(.brand-button,.hero-cta-btn,.nb-cta,.nb-menu-cta,.sobre-cta,.detail-button,.form-submit button):hover {
    transform:translateY(-3px) scale(1.04); box-shadow:0 10px 22px rgba(46,46,46,.22);
  }
}
:root body :is(.brand-button,.hero-cta-btn,.nb-cta,.nb-menu-cta,.sobre-cta,.detail-button,.form-submit button):active {
  transform:translateY(1px) scale(.96); box-shadow:0 2px 6px rgba(46,46,46,.18); transition-duration:.12s;
}
@keyframes ctaBounce {
  0%,100% { transform:translateY(0) scale(1); }
  30% { transform:translateY(-7px) scale(1.04,.97); }
  50% { transform:translateY(0) scale(.97,1.03); }
  68% { transform:translateY(-3px) scale(1.01); }
  84% { transform:translateY(0) scale(1); }
}
:root body .cta-bounce { animation:ctaBounce .9s cubic-bezier(.3,.7,.4,1) both; }
@media(prefers-reduced-motion:reduce) {
  :root body :is(.brand-button,.hero-cta-btn,.nb-cta,.nb-menu-cta,.sobre-cta,.detail-button,.form-submit button) { transition:background-color .2s ease; transform:none !important; }
  :root body .cta-bounce { animation:none; }
}
/* CTA de Sobre mí: ocupa toda la columna derecha y la altura de la fila de números. */
@media(min-width:1000px) {
  :root body .sobre-cta { align-self:stretch; justify-self:stretch; margin-left:12px; min-height:84px; border-radius:12px;
    font-size:clamp(13px,1.15vw,16px); letter-spacing:.14em; display:flex; align-items:center; justify-content:center; }
}
/* Fotos nuevas (2026-10-22): planes 2:3 sin bandas, carrusel automático en Sobre mí. */
:root body .shop-photo { aspect-ratio:2/3; }
:root body .shop-photo img { object-fit:cover; object-position:50% 25%; }
:root body .method-image img { object-position:42% 35%; }
:root body .about-carousel { position:relative; overflow:hidden; aspect-ratio:4/5; border-radius:20px; background:#d6ccc0; }
:root body .about-carousel .about-slide { position:absolute; inset:0; width:100%; height:100%; max-height:none; aspect-ratio:auto; object-fit:cover; border-radius:0;
  opacity:0; transform:scale(1.06); transition:opacity 1.1s ease, transform 4.5s ease-out; }
:root body .about-carousel .about-slide.is-active { opacity:1; transform:scale(1); }
:root body .about-dots { position:absolute; left:0; right:0; bottom:12px; display:flex; justify-content:center; gap:4px; z-index:2; }
:root body .about-dot { width:24px; height:24px; padding:0; border:0; background:none; cursor:pointer; display:flex; align-items:center; justify-content:center; }
:root body .about-dot::before { content:''; width:7px; height:7px; border-radius:99px; background:#fff9; transition:width .3s ease, background .3s ease; box-shadow:0 1px 3px #0004; }
:root body .about-dot.is-active::before { width:20px; background:#fff; }
@media(max-width:767px) { :root body .about-carousel { aspect-ratio:3/4; border-radius:16px; } }
@media(prefers-reduced-motion:reduce) { :root body .about-carousel .about-slide { transition:opacity .3s ease; transform:none; } }
:root body .method-image img { aspect-ratio:1200/1002; height:auto; max-height:none; object-fit:cover; object-position:42% 35%; }
/* Carrusel deslizante (2026-10-22): la foto nueva entra de costado y la anterior sale. */
:root body .about-carousel .about-slide { opacity:1; transform:translateX(100%); transition:none; will-change:transform; }
:root body .about-carousel .about-slide.from-left { transform:translateX(-100%); }
:root body .about-carousel .about-slide.is-active { transform:translateX(0); transition:transform .85s cubic-bezier(.65,0,.25,1); }
:root body .about-carousel .about-slide.leave-left { transform:translateX(-100%); transition:transform .85s cubic-bezier(.65,0,.25,1); }
:root body .about-carousel .about-slide.leave-right { transform:translateX(100%); transition:transform .85s cubic-bezier(.65,0,.25,1); }
@media(prefers-reduced-motion:reduce) {
  :root body .about-carousel .about-slide.is-active, :root body .about-carousel .about-slide.leave-left, :root body .about-carousel .about-slide.leave-right { transition:none; }
}
/* Imagen fija "FITNESS" en Sobre mí: completa sobre el mismo rosa, sin interacción. */
:root body .sobre-fitness { background:#df0962; }
:root body .sobre-fitness img { display:block; width:100%; height:100%; object-fit:contain; pointer-events:none; user-select:none; -webkit-user-drag:none; }
:root body .proof-video { pointer-events:none; }
