/* Casa en Orden | Hito 09.15 AK: modernización visual integral
 * Sólo CSS de presentación. Sin cookies, rastreo, compras ni scripts externos.
 * Mantener al FINAL de los estilos en las ocho páginas.
 */
:root{
  --ak-ink:#192d4b;
  --ak-blue:#235de0;
  --ak-blue-dark:#1643a8;
  --ak-sky:#edf5ff;
  --ak-line:#dce7f7;
  --ak-shadow:0 14px 30px rgba(22,63,130,.12),0 4px 0 rgba(22,63,130,.08);
}
body{
  color:var(--ak-ink);
  background:linear-gradient(180deg,#fbfdff 0%,#f5f9ff 52%,#fff 100%);
  overflow-x:clip;
}
.header{
  background:rgba(255,255,255,.9);
  border-bottom:1px solid rgba(196,214,239,.74);
  box-shadow:0 6px 22px rgba(24,52,101,.045);
}
.brand{color:#17345d;display:inline-flex;align-items:center;gap:8px}
.brandmark{
  background:linear-gradient(145deg,#62aeff 0%,#2c72eb 55%,#1448b4 100%);
  border:1px solid rgba(255,255,255,.55);
  box-shadow:inset 0 2px 1px rgba(255,255,255,.42),inset 0 -3px 0 rgba(11,45,127,.15),0 5px 10px rgba(34,93,196,.23);
  transform:rotate(-5deg);
}
.nav nav a{border-radius:12px;padding:10px 13px;transition:background .22s ease,color .22s ease,transform .22s ease}
.nav nav a:hover{background:#eaf2ff;color:#173f93;transform:translateY(-1px)}
select{border:1px solid #c8d8f0;box-shadow:0 3px 0 rgba(27,62,125,.06)}
/* Botones legibles, con volumen y presión real. */
.btn,
.legal-paper a.btn:not(.alt),
.legal-paper a.btn.alt{
  position:relative;
  min-height:45px;
  border-radius:14px;
  font-weight:800;
  letter-spacing:.005em;
  text-decoration:none;
  text-align:center;
  text-shadow:none;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,filter .18s ease;
}
.btn:not(.alt),
.legal-paper a.btn:not(.alt){
  color:#fff;
  background:linear-gradient(165deg,#246bd8 0%,#2668e6 47%,#1746b7 100%);
  border:1px solid #1a56c3;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.32),inset 0 -3px 0 rgba(10,45,137,.22),0 5px 0 #103d99,0 11px 20px rgba(27,82,185,.20);
}
.btn.alt,
.legal-paper a.btn.alt{
  color:#164cae;
  background:linear-gradient(180deg,#fff 0%,#f4f8ff 100%);
  border:1px solid #85aff6;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.9),0 4px 0 #bed2f4,0 8px 18px rgba(25,79,164,.10);
}
.btn:not(.alt):hover,
.legal-paper a.btn:not(.alt):hover{
  color:#fff;
  filter:brightness(1.07);
  box-shadow:inset 0 2px 0 rgba(255,255,255,.38),inset 0 -3px 0 rgba(10,45,137,.22),0 8px 0 #103d99,0 16px 25px rgba(27,82,185,.22);
}
.btn.alt:hover,
.legal-paper a.btn.alt:hover{
  color:#103f95;
  background:linear-gradient(180deg,#fff 0%,#eaf3ff 100%);
  box-shadow:inset 0 2px 0 rgba(255,255,255,.9),0 7px 0 #bed2f4,0 13px 24px rgba(25,79,164,.14);
}
.btn:hover,.legal-paper a.btn:hover{transform:translateY(-3px);text-decoration:none}
.btn:active,.legal-paper a.btn:active{transform:translateY(3px);box-shadow:inset 0 2px 5px rgba(15,49,107,.15),0 2px 0 #16459b}
.btn:focus-visible,.legal-paper a.btn:focus-visible{outline:3px solid #ffb52f;outline-offset:5px}
.btn[aria-disabled="true"],.btn:disabled{opacity:.65;cursor:not-allowed;transform:none}
/* Inicio con profundidad y luz; no depende de imágenes externas. */
.hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  margin-top:19px;
  margin-bottom:15px;
  padding-left:clamp(22px,4vw,55px);
  padding-right:clamp(22px,4vw,55px);
  background:radial-gradient(circle at 87% 15%,rgba(105,188,255,.24),transparent 42%),
    radial-gradient(circle at 12% 80%,rgba(142,185,255,.16),transparent 40%),
    linear-gradient(125deg,#fbfdff 0%,#f1f7ff 66%,#eaf4ff 100%);
  border:1px solid #dce9fb;
  border-radius:34px;
  box-shadow:0 20px 48px rgba(29,71,143,.08),inset 0 2px 0 rgba(255,255,255,.85);
}
.hero::before,.hero::after{
  content:"";position:absolute;z-index:-1;pointer-events:none;
  width:240px;height:240px;border-radius:50%;border:36px solid rgba(73,144,246,.085);
}
.hero::before{right:-120px;top:-135px;animation:ak-float 10s ease-in-out infinite}
.hero::after{bottom:-170px;left:-150px;width:310px;height:310px;border-color:rgba(84,168,245,.09);animation:ak-float 13s ease-in-out infinite reverse}
.hero h1{color:#173253}
.hero .lead{color:#495e7b}
.eyebrow{color:#1751ae}
.eyebrow::before{content:"";display:inline-block;width:8px;height:8px;margin-right:9px;border-radius:50%;background:#5ca3fc;box-shadow:0 0 0 4px #deedff;vertical-align:middle}
.preview{
  transform:rotate(1.2deg);
  background:linear-gradient(168deg,#fff 0%,#f9fcff 100%);
  border:1px solid #cddff6;
  box-shadow:0 15px 0 rgba(39,100,190,.075),0 32px 60px rgba(30,75,148,.16),inset 0 2px 0 #fff;
  transition:transform .25s ease,box-shadow .25s ease;
}
.preview:hover{transform:translateY(-5px) rotate(.3deg);box-shadow:0 18px 0 rgba(39,100,190,.07),0 38px 63px rgba(30,75,148,.2)}
.preview-line{box-shadow:0 3px 0 rgba(34,77,150,.035);transition:transform .2s ease,background .2s ease}
.preview-line:hover{transform:translateX(4px);background:#f2f8ff}
.section.soft{background:linear-gradient(180deg,#f3f8ff 0%,#f8fbff 100%)}
.feature,.onboarding-step,.plan,.faq details,.aj-card{
  border:1px solid #d9e6f7;
  background:linear-gradient(165deg,#fff,#fafdff);
  box-shadow:0 6px 0 rgba(36,90,177,.055),0 16px 28px rgba(26,65,127,.075),inset 0 2px 0 rgba(255,255,255,.95);
  transition:transform .23s ease,box-shadow .23s ease,border-color .23s ease;
}
.feature:hover,.onboarding-step:hover,.plan:hover,.aj-card:hover{
  transform:translateY(-5px);
  border-color:#9fc0f6;
  box-shadow:0 10px 0 rgba(36,90,177,.065),0 23px 37px rgba(26,65,127,.12),inset 0 2px 0 #fff;
}
.ficon,.step-number{
  box-shadow:inset 0 2px 0 rgba(255,255,255,.7),0 4px 0 rgba(35,94,180,.09),0 9px 15px rgba(26,84,171,.09)
}
.plan.featured{
  border:2px solid #437fee;
  box-shadow:0 9px 0 rgba(37,99,211,.11),0 25px 45px rgba(35,91,192,.15),inset 0 2px 0 #fff;
}
.popular{background:linear-gradient(120deg,#3e8afd,#1f56cd);box-shadow:0 4px 0 #1844a0,0 10px 16px rgba(31,79,178,.2)}
.price strong{color:#154ba6}
.faq details{padding:0}
.faq summary{padding:21px;display:flex;gap:18px;align-items:center;justify-content:space-between;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#e9f2ff;color:#1958bf;font-size:21px;line-height:1}
.faq details[open] summary::after{content:"−"}
.faq details[open] p{padding:0 21px 18px;margin:0}
.closing{position:relative}
.closing .btn{min-width:210px}
/* Enlaces del pie convertidos en botones 3D: todos los accesos quedan visibles. */
footer{
  background:linear-gradient(148deg,#173258 0%,#102541 64%,#0a1e38 100%);
  border-top:4px solid #3069c9;
  box-shadow:inset 0 3px 10px rgba(255,255,255,.04);
}
.foot{align-items:start;gap:30px}
.foot>div:first-child{flex:0 0 180px;padding-top:7px}
.foot>div:first-child strong{font-size:18px;color:#fff}
.footlinks{flex:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}
.footlinks a{
  min-width:0;
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 14px;
  border:1px solid rgba(171,204,250,.27);
  border-radius:14px;
  background:linear-gradient(180deg,rgba(255,255,255,.125),rgba(255,255,255,.055));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.11),0 4px 0 rgba(2,14,36,.34),0 9px 12px rgba(0,10,28,.15);
  color:#f6fbff;
  font-size:13px;
  font-weight:700;
  line-height:1.4;
  text-align:center;
  overflow-wrap:anywhere;
  transition:background .22s ease,border-color .22s ease,transform .22s ease,box-shadow .22s ease;
}
.footlinks a:hover{
  color:#fff;
  background:linear-gradient(180deg,rgba(80,151,255,.38),rgba(50,109,215,.26));
  border-color:#9bc4ff;
  transform:translateY(-3px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 7px 0 rgba(2,14,36,.32),0 14px 21px rgba(0,10,28,.21);
}
.footlinks a:active{transform:translateY(2px);box-shadow:0 2px 0 rgba(2,14,36,.42)}
.footlinks a:focus-visible{outline:3px solid #ffc457;outline-offset:4px}
.footer-note{color:#bdd0e9;line-height:1.6}
footer .legal-language{color:#b3cce9;line-height:1.6}
/* Las páginas legales y de ayuda usan los mismos componentes de calidad. */
.legal-paper{
  border:1px solid #d4e4f7;
  background:linear-gradient(165deg,#fff,#fdfefe);
  box-shadow:0 10px 0 rgba(43,102,184,.035),0 25px 47px rgba(24,66,130,.085),inset 0 2px 0 rgba(255,255,255,.9);
}
.legal-status{border-radius:14px;box-shadow:0 4px 0 rgba(142,93,28,.08)}
.legal-mail{
  color:#133f86;
  background:linear-gradient(180deg,#eff6ff,#e3efff);
  border-color:#a9c7f1;
  box-shadow:0 4px 0 #c5d9f4,0 9px 18px rgba(38,91,164,.08);
  transition:transform .18s ease,box-shadow .18s ease;
}
.legal-mail:hover{transform:translateY(-2px);box-shadow:0 6px 0 #c5d9f4,0 12px 22px rgba(38,91,164,.12)}
.aj-card{border-radius:17px;background:linear-gradient(145deg,#fff,#f3f8ff)}
.aj-actions{gap:15px}
.aj-actions .btn{flex:0 1 auto}
.legal-paper .legal-tip,.legal-callout{background:#f0f6ff;border-left-color:#3878d9}
.aj-links,.legal-bottom{gap:12px}
.aj-links a,.legal-bottom a{
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid #a8c7f3;
  border-radius:12px;
  padding:11px 15px;
  background:linear-gradient(180deg,#fff,#eff5ff);
  color:#164ca1;
  font-size:14px;
  font-weight:750;
  text-decoration:none;
  box-shadow:0 4px 0 #c6d8f2,0 9px 14px rgba(28,72,138,.075);
  transition:transform .2s ease,box-shadow .2s ease;
}
.aj-links a:hover,.legal-bottom a:hover{transform:translateY(-2px);box-shadow:0 6px 0 #c6d8f2,0 12px 18px rgba(28,72,138,.1)}
/* Entrada suave, sin animaciones perpetuas en textos ni contenido crítico. */
@keyframes ak-rise{from{opacity:.82;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}
@keyframes ak-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
.hero>div:first-child{animation:ak-rise .65s ease-out both}
.hero .preview{animation:ak-rise .85s ease-out .12s both}
.feature,.onboarding-step,.plan{animation:ak-rise .6s ease-out both}
.feature:nth-child(2),.onboarding-step:nth-child(2),.plan:nth-child(2){animation-delay:.08s}
.feature:nth-child(3),.onboarding-step:nth-child(3),.plan:nth-child(3){animation-delay:.16s}
.feature:nth-child(4){animation-delay:.24s}
/* Comportamiento responsive, sin botones diminutos ni desbordamiento. */
@media(max-width:1050px){.footlinks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.hero{gap:22px}.foot>div:first-child{flex-basis:145px}.footlinks a{font-size:12px}}
@media(max-width:650px){
  .hero{margin-top:10px;border-radius:23px;padding:45px 22px 62px;gap:28px}
  .preview,.preview:hover{transform:none}
  .foot{display:flex;flex-direction:column;gap:18px}
  .foot>div:first-child{flex:auto}
  .footlinks{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
  .footlinks a{min-height:52px;padding:12px 10px;font-size:12px}
  .btn{max-width:100%}
}
@media(max-width:390px){
  .footlinks{grid-template-columns:1fr}
  .footlinks a{justify-content:flex-start;padding-left:19px}
  .hero{padding-left:18px;padding-right:18px}
  .aj-actions .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .hero::before,.hero::after,.hero>div:first-child,.hero .preview,.feature,.onboarding-step,.plan{animation:none!important}
  .btn,.legal-paper a.btn,.footlinks a,.feature,.onboarding-step,.plan,.preview,.preview-line,.aj-card,.aj-links a,.legal-bottom a{transition:none!important}
  .btn:hover,.legal-paper a.btn:hover,.footlinks a:hover,.feature:hover,.onboarding-step:hover,.plan:hover,.preview:hover,.preview-line:hover,.aj-card:hover,.aj-links a:hover,.legal-bottom a:hover{transform:none!important}
}
