/* Interacciones propias en CSS: sin dependencias ni recursos remotos. */
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-latin-600-normal.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Fraunces;src:url('assets/fonts/fraunces-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Fraunces;src:url('assets/fonts/fraunces-latin-400-italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
:root{--ease-out:cubic-bezier(.22,1,.36,1)}
body{font-family:Manrope,Arial,sans-serif}
h1,h2,.mock-nav b,.example-row h3,.plan h3,.price,.steps h3,.brand-symbol,.plan-number{font-family:Fraunces,Georgia,serif}
.hero h1{font-size:clamp(60px,6.2vw,92px)}
.price span:not(.price-number){font-family:Manrope,Arial,sans-serif}
.icon{display:inline-block;width:1.1em;height:1.1em;flex:none;vertical-align:-.15em;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.reading-progress{position:fixed;inset:0 0 auto;height:3px;z-index:30;pointer-events:none}
.reading-progress span{display:block;height:100%;background:var(--rust);transform:scaleX(var(--read-progress,0));transform-origin:left}
.header nav a{position:relative;padding-block:8px}
.header nav a::after{content:"";position:absolute;left:0;right:0;bottom:1px;height:1px;background:var(--rust);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease-out)}
.header nav a:hover{text-decoration:none}
.header nav a:hover::after,.header nav a:focus-visible::after,.header nav a[aria-current="location"]::after{transform:scaleX(1)}
.button{position:relative;overflow:hidden;isolation:isolate;transition:background .22s,transform .25s var(--ease-out),box-shadow .25s}
.button::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,#ffffff20 50%,transparent 75%);transform:translateX(-130%);transition:transform .65s var(--ease-out);pointer-events:none;z-index:-1}
.button:hover::before,.button:focus-visible::before{transform:translateX(130%)}
.button:hover,.button:focus-visible{box-shadow:0 8px 20px #213f3518}
.button:active{transform:translateY(0) scale(.98);box-shadow:none}
.button .icon,.text-link .icon{transition:transform .25s var(--ease-out)}
.button:hover .icon,.button:focus-visible .icon,.text-link:hover .icon,.text-link:focus-visible .icon{transform:translate(2px,-2px)}
.text-link{transition:border-color .2s,color .2s}
.text-link:hover,.text-link:focus-visible{border-color:var(--rust);color:var(--rust)}
.hero-art{--demo-bg:#e3e7d5;--demo-surface:#fffef8;--demo-accent:#43604d;--demo-ink:#385f4f;isolation:isolate;perspective:1100px}
.hero-art::before{content:"";position:absolute;inset:0 -12px 70px;z-index:-1;background-image:radial-gradient(#637d6830 .8px,transparent .8px);background-size:18px 18px;mask-image:radial-gradient(ellipse,#000 20%,transparent 70%);pointer-events:none}
.hero-art[data-demo-style="arena"]{--demo-bg:#eadbc9;--demo-surface:#fffcf5;--demo-accent:#88614a;--demo-ink:#75523d}
.mock-browser{background:var(--demo-surface);transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) rotate(-3deg);transition:transform .5s var(--ease-out),background .4s,box-shadow .4s}
.abstract,.abstract-label{background:var(--demo-bg);transition:background .4s}
.mock-button{background:var(--demo-accent);transition:background .4s;display:inline-flex;gap:6px;align-items:center}
.arch svg{color:var(--demo-ink);transition:color .4s}
.browser-top{align-items:center;min-height:33px}
.browser-top .icon{width:11px;height:11px}
.browser-dots{display:flex;gap:4px}
.browser-dots i{width:5px;height:5px;border-radius:50%;background:#94a489}
.demo-controls{display:flex;align-items:center;justify-content:center;gap:6px;margin:25px 0 5px;flex-wrap:wrap}
.demo-controls>span{font-size:10px;color:var(--muted);margin-right:6px}
.demo-style{display:inline-flex;align-items:center;gap:7px;background:var(--white);color:var(--ink);border:1px solid var(--line);padding:8px 12px;border-radius:30px;font-size:11px;line-height:1.3;min-height:36px;transition:background .2s,border-color .2s,transform .2s}
.demo-style::before{content:"";width:10px;height:10px;border-radius:50%;background:#79927b;border:1px solid #213f3530}
.demo-style[data-demo="arena"]::before{background:#b98d6b}
.demo-style[aria-pressed="true"]{border-color:var(--ink);background:#edf0e7;box-shadow:0 0 0 1px var(--ink)}
.demo-style:hover{transform:translateY(-1px)}
.demo-controls[hidden]{display:none}
.example-controls{display:flex;gap:6px;flex-wrap:wrap;margin-top:24px}
.example-controls[hidden]{display:none}
.example-controls button{border:1px solid #a8b89e;background:transparent;border-radius:30px;color:var(--ink);font-size:11px;padding:10px 15px;min-height:42px;transition:background .25s,color .25s,border-color .25s}
.example-controls button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--white)}
.example-controls button:hover{border-color:var(--ink)}
.example-sheet{transition:background .35s,color .35s,border-radius .35s,box-shadow .35s;border-top:4px solid #78917a;min-height:365px}
.example-sheet[data-layout="esencial"]{background:#fbfcfa;border-color:#657e8b;border-radius:2px;color:#253c49;box-shadow:12px 12px 0 #284b4010}
.example-sheet[data-layout="esencial"] h3{font-family:Manrope,Arial,sans-serif;font-size:25px;letter-spacing:-.06em}
.example-sheet[data-layout="editorial"]{background:#f5e8db;border-color:#a45636;border-radius:32px 4px 4px 4px;color:#593f30;box-shadow:0 16px 40px #663f2915}
.example-sheet[data-layout="editorial"] h3{font-style:italic;font-size:32px}
.example-sheet[data-layout="editorial"] .example-contact{color:#75472f}
.example-sheet[data-layout="cercano"]{border-radius:8px}
.example-sheet .example-contact .icon{width:10px;height:10px}
.example-sheet.showcase{padding:0;min-height:0;overflow:hidden;border:1px solid #b9c5af;border-top:4px solid #78917a}
.showcase-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.showcase-toolbar>span,.showcase-footer>span{font-size:10px;color:var(--muted)}
.viewport-controls{display:flex;gap:3px;padding:3px;background:#e8eddf;border-radius:5px}
.viewport-controls[hidden]{display:none}
.viewport-controls button{border:0;border-radius:3px;background:transparent;color:var(--muted);font-size:10px;padding:7px 10px;min-height:34px;transition:background .2s,color .2s}
.viewport-controls button[aria-pressed="true"]{background:var(--ink);color:var(--white)}
.showcase-viewport{padding:16px;background:#e7eadd;overflow:hidden}
.showcase-window{overflow:hidden;border:1px solid #a9b7a0;border-radius:7px;background:var(--white);margin:auto;box-shadow:0 8px 20px #213f3510}
.showcase-window iframe{display:block;width:100%;height:420px;border:0;background:var(--white);transform-origin:top left}
.showcase-viewport.is-scaled .showcase-window{width:calc(var(--preview-width) * var(--preview-scale));height:calc(620px * var(--preview-scale))}
.showcase-viewport.is-scaled iframe{width:var(--preview-width);height:620px;transform:scale(var(--preview-scale))}
.showcase-viewport[data-screen="mobile"] .showcase-window{border-radius:15px}
.showcase-footer{padding:13px 16px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.showcase-link{font-size:11px;text-underline-offset:4px;display:inline-flex;align-items:center;gap:6px}
.showcase-link:hover{color:var(--rust)}
@media(max-width:760px){.viewport-controls button{min-height:40px}.showcase-toolbar{padding:12px}.showcase-footer{padding:12px}.showcase-viewport{padding:12px}}
.included span{display:flex;align-items:center;gap:14px}
.included span::before,.plan li::before{content:none}
.included .icon{color:var(--rust)}
.plan li{display:flex;align-items:baseline;gap:10px}
.plan li .icon{width:13px;height:13px}
.plan{transition:transform .3s var(--ease-out),border-color .25s,box-shadow .3s}
.plan .tag{transition:background .25s,color .25s}
.plan.selected .tag{background:var(--ink);color:var(--white)}
.plan-switch button{transition:background .25s,color .25s,box-shadow .25s,transform .2s}
.plan-switch button:active{transform:scale(.97)}
.steps li{transition:border-color .25s,transform .3s var(--ease-out)}
.questions details{transition:background .25s,padding .25s,border-color .25s}
.questions details[open]{background:#edf0e5;padding-inline:16px;border-color:#a9b9a1}
summary::-webkit-details-marker{display:none}
summary::after{content:"";top:25px;right:5px;width:12px;height:12px;background:linear-gradient(var(--rust),var(--rust)) center/12px 1px no-repeat,linear-gradient(var(--rust),var(--rust)) center/1px 12px no-repeat;transition:transform .25s var(--ease-out)}
details[open] summary::after{content:"";transform:rotate(45deg)}
.questions details[open] p{animation:content-in .3s var(--ease-out)}
dialog[open]{animation:dialog-in .25s var(--ease-out)}
.close{border-radius:50%;transition:background .2s,transform .2s}
.close .icon{width:19px;height:19px}
.close:hover{background:var(--sage);transform:rotate(8deg)}
select,textarea{transition:border-color .2s,box-shadow .2s,background .2s}
select:focus,textarea:focus{border-color:var(--ink);background:var(--white);box-shadow:0 0 0 3px #213f3510}
.field-meta{display:flex;align-items:center;justify-content:space-between;gap:14px}
.field-count{font-size:10px;font-weight:400;color:var(--muted);white-space:nowrap}
.is-entering{animation:content-in .65s var(--ease-out) both}
@keyframes content-in{from{opacity:.3;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes dialog-in{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(hover:hover) and (pointer:fine){.hero-art:hover .mock-browser{box-shadow:0 32px 75px #2d483b22}.plan:hover{transform:translateY(-4px);border-color:#78917a;box-shadow:0 14px 34px #213f3510}.plan.selected:hover{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink),0 14px 34px #213f3510}.steps li:hover{border-color:#e4bd96;transform:translateY(-3px)}}
@media(max-width:760px){.hero h1{font-size:clamp(43px,13vw,57px)}.demo-controls{margin-top:24px}.demo-style{min-height:44px;padding-inline:15px}.hero-art::before{inset-inline:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.mock-browser{transform:rotate(-3deg)}.button:hover,.button:active,.plan:hover,.steps li:hover,.close:hover,.demo-style:hover{transform:none}.button:hover .icon,.text-link:hover .icon{transform:none}}

.quote-note{min-height:112px;margin:22px 0 26px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.quote-note>b{font-size:14px;color:var(--ink)}.quote-note p{font-size:12px;min-height:0;margin:8px 0 0;line-height:1.7;color:var(--muted)}

/* El cursor y el foco resaltan solo la modalidad sobre la que se está interactuando. */
@media(hover:hover) and (pointer:fine){
  .plans:hover .plan.selected:not(:hover){border-color:#cdd4c5;box-shadow:none;transform:none}
  .plans:hover .plan.selected:not(:hover) .tag{background:#ebeee3;color:var(--ink)}
  .plan:hover{border-color:var(--ink);box-shadow:0 14px 34px #213f3516;transform:translateY(-4px)}
  .plan.selected:hover{border-color:var(--ink);box-shadow:0 0 0 2px var(--ink),0 14px 34px #213f3516}
}
.plans:focus-within .plan.selected:not(:focus-within){border-color:#cdd4c5;box-shadow:none;transform:none}
.plans:focus-within .plan.selected:not(:focus-within) .tag{background:#ebeee3;color:var(--ink)}
.plan:focus-within{border-color:var(--ink);box-shadow:0 0 0 2px var(--ink);transform:translateY(-3px)}
.about{grid-template-columns:1fr 1.12fr;gap:clamp(34px,4.2vw,58px);align-items:center}
.about-heading{min-width:0}
.about-title-row{display:flex;align-items:center;gap:clamp(6px,1vw,12px)}
.about h2{flex:0 1 auto;min-width:0;font-size:clamp(50px,5.6vw,76px);line-height:.98}
.about-mark.brand-symbol{flex:0 0 auto;display:grid;place-items:center;width:clamp(64px,8vw,110px);height:clamp(70px,8.6vw,118px);border-radius:55% 55% 7px 7px;font-size:clamp(56px,6.4vw,88px);line-height:1}
.about-copy{padding-top:0;transform:translateY(clamp(16px,2vw,24px))}
@media(max-width:760px){
  .about{grid-template-columns:1fr;gap:14px;padding-block:50px}
  .about-title-row{gap:6px}
  .about h2{font-size:clamp(44px,14vw,58px)}
  .about-mark.brand-symbol{width:clamp(58px,18vw,76px);height:clamp(64px,20vw,84px);font-size:clamp(48px,14vw,64px)}
  .about-copy{padding-top:0;transform:none}
}
/* Revisión de contenidos: modalidades compactas y contacto breve en el pie. */
#opciones{padding-block:78px 72px}
#opciones .section-top{grid-template-columns:1fr}
#opciones .section-top h2{max-width:780px}
.plan{display:flex;flex-direction:column;min-height:0;padding:28px 30px 26px;transition:border-color .2s,box-shadow .2s,transform .2s}
.plan h3{font-size:clamp(32px,3.4vw,42px);margin:0 0 8px}
.plan>p{max-width:none;min-height:0;margin:0 0 22px;font-size:13px}
.plan .plan-info{align-self:flex-start;margin-top:auto;min-width:190px;gap:18px}
.plan-info>span{font:22px/1 Arial,sans-serif}
.plans-contact{display:flex;align-items:center;justify-content:space-between;gap:26px;margin-top:24px;padding:23px 26px;background:var(--sage);border-radius:7px}
.plans-contact .eyebrow{margin:0 0 7px;color:var(--muted)}
.plans-contact h3{font:clamp(23px,2.5vw,30px)/1.12 Georgia,serif;letter-spacing:-.035em;margin:0 0 6px}
.plans-contact p:not(.eyebrow){font-size:12px;color:var(--muted);margin:0}
.plans-contact .button{flex:none;white-space:nowrap}
#plan-dialog{overflow:auto}
#plan-details>p{font-size:13px;line-height:1.8;color:var(--muted)}
#plan-details>p strong{color:var(--ink)}
#plan-details h3{font:23px/1.15 Georgia,serif;letter-spacing:-.025em;margin:24px 0 10px}
.detail-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.detail-list li{font-size:12px;color:var(--muted);padding:10px 0;border-bottom:1px solid var(--line)}
.detail-list li::before{content:'✓';color:var(--rust);margin-right:10px}
.footer-contact,.footer-links{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.footer-phone{font-size:12px;text-decoration:none;white-space:nowrap}
.footer-phone:hover{text-decoration:underline;text-underline-offset:4px}
.footer-contact .button{white-space:nowrap}
@media(max-width:760px){
  #opciones{padding-block:58px}
  #opciones .section-top h2{font-size:40px}
  .plan{padding:24px}
  .plans-contact{align-items:flex-start;flex-direction:column;padding:21px;margin-top:18px;gap:16px}
  .plans-contact .button{width:100%}
  .footer-contact{order:2;width:100%;justify-content:space-between}
  .footer>p{order:3;flex-basis:100%}
  .footer-links{order:4;width:100%;gap:13px}
}

/* Portada compacta y propuesta equilibrada entre ambas columnas. */
.hero{min-height:0;padding-block:32px 26px}
.hero-art{padding-block:18px 14px}
.proposal{padding-block:44px 64px;grid-template-rows:auto 1fr;column-gap:clamp(40px,6vw,90px);row-gap:26px;align-items:start}
.proposal-heading{grid-column:1;grid-row:1}
.proposal-heading h2{margin-bottom:0}
.proposal-copy{grid-column:2;grid-row:1 / span 2}
.proposal .process-summary{grid-column:1;grid-row:2;margin:0}
.process-summary{padding-top:18px;border-top:1px solid var(--line)}
.process-summary>.eyebrow{margin:0 0 12px;color:var(--muted)}
.process-summary ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px;list-style:none;padding:0;margin:0}
.process-summary li{border-top:1px solid var(--line);padding:10px 0 0}
.process-summary li>span{display:block;color:var(--rust);font-size:9px;letter-spacing:.08em}
.process-summary h3{font:18px/1.2 Fraunces,Georgia,serif;letter-spacing:-.02em;margin:4px 0}
.footer-phone-group{display:inline-flex;align-items:center;gap:7px}
.footer-whatsapp-icon{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;color:#26856a;border-radius:50%}
.footer-whatsapp-icon:hover{background:#dce5d2;color:var(--ink)}
.footer-whatsapp-icon .icon{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:760px){
  .hero{padding-block:28px 22px;gap:12px}
  .hero-art{padding-block:12px 6px}
  .proposal{padding-block:36px 48px;grid-template-columns:1fr;grid-template-rows:auto;gap:22px}
  .proposal-heading,.proposal-copy,.proposal .process-summary{grid-column:1;grid-row:auto}
  .process-summary ol{gap:8px 16px}
  .process-summary h3{font-size:16px}
  .footer-phone-group{gap:8px}
}
