/* LobeHub-inspired comfortable/compact density: 4px base grid, bounded type, mobile-first workspaces. */
:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--control-h:42px}
body{font-size:15px}
.public-site{--shell:min(1180px,calc(100% - 48px))}
.button{min-height:var(--control-h);padding:10px 16px;border-radius:11px;font-size:.82rem}
.button-small{min-height:36px;padding:8px 12px;font-size:.75rem}
.eyebrow{font-size:.66rem;letter-spacing:.1em}
.pill{padding:6px 10px;font-size:.7rem}
.feature-icon{width:40px;height:40px;border-radius:12px}

.brand{height:44px}
.brand-lockup,.brand-compact .brand-lockup{width:168px;height:44px}
.brand-lockup img{left:-34px;top:-46px;width:216px}
.nav-inner{min-height:64px;gap:20px}
.public-links{gap:2px}
.public-links a{padding:8px 10px;font-size:.75rem}

.public-site .hero{padding:56px 0 30px}
.public-site .hero-grid{grid-template-columns:minmax(0,.92fr) minmax(460px,1.08fr);gap:40px}
.public-site .hero-copy{padding:18px 0 30px}
.public-site .hero h1{max-width:620px;margin:18px 0 16px;font-size:clamp(2.75rem,4.15vw,3.55rem);line-height:1.01;letter-spacing:-.055em}
.public-site .hero-lead{max-width:570px;margin-bottom:22px;font-size:.92rem;line-height:1.65}
.public-site .hero-product{min-height:430px}
.public-site .product-window{inset:24px 0 38px 20px}
.public-site .trust-row{gap:8px;margin-top:22px}
.public-site .trust-row span{padding:6px 9px;font-size:.66rem}
.public-site .hero-foot{padding-top:18px;font-size:.68rem}

.public-site .section{padding:72px 0}
.public-site .section-heading{margin-bottom:32px}
.public-site .section-heading h2{max-width:760px;margin:8px 0 12px;font-size:clamp(2rem,3.2vw,2.75rem);line-height:1.08;letter-spacing:-.045em}
.public-site .section-heading p{font-size:.86rem;line-height:1.65}
.public-site .module-grid,.public-site .resource-grid,.public-site .info-grid{gap:16px}
.public-site .module-grid article{min-height:124px;padding:20px;gap:14px}
.public-site .resource-grid article{min-height:238px;padding:22px}
.public-site .faq-block{gap:40px;margin-top:52px;padding:36px}
.public-site .contact-grid{gap:48px}
.public-site .contact-copy h2{font-size:clamp(2rem,3.2vw,2.8rem)}
.public-site .contact-form{gap:14px;padding:28px}
.public-site .field-grid{gap:12px}
.public-site .public-footer{padding-top:48px}
.public-site .footer-main{gap:44px}

.public-site .subhero{padding:56px 0 52px}
.public-site .subhero-grid{gap:44px}
.public-site .subhero h1{max-width:12ch;margin:16px 0 14px;font-size:clamp(2.8rem,4.25vw,3.65rem);line-height:1}
.public-site .subhero-lead{font-size:.84rem;line-height:1.65}
.public-site .subhero-visual{min-height:350px}
.public-site .page-section{padding:68px 0}
.public-site .page-section-head{gap:36px;margin-bottom:30px}
.public-site .page-section-head h2,.public-site .deep-dive-copy h2,.public-site .page-faq h2,.public-site .page-cta h2{font-size:clamp(2rem,3.1vw,2.7rem);line-height:1.08}
.public-site .info-card{min-height:190px;padding:20px}
.public-site .page-process{gap:16px}
.public-site .page-process article{padding:20px}
.public-site .deep-dive{gap:44px}
.public-site .page-faq{gap:40px}
.public-site .page-cta-inner{padding:36px}
.public-site .demo-section{padding:68px 0}
.public-site .demo-heading{gap:36px;margin-bottom:28px}
.public-site .demo-heading h2{font-size:clamp(2rem,3.2vw,2.8rem)}
.public-site .product-demo{min-height:560px}
.public-site .demo-stage{padding:24px}
.public-site .price-hero{padding:60px 0 126px}
.public-site .price-hero h1{font-size:clamp(3rem,4.8vw,4.25rem);line-height:.94}
.public-site .price-lab-section{padding-bottom:72px}
.public-site .price-choices,.public-site .price-total-card{padding:34px}
.public-site .price-total strong{font-size:clamp(2.8rem,4.2vw,4rem)}
.public-site .price-includes,.public-site .price-compare{padding:72px 0}

.home-diagnostic,.home-routes,.home-contact{padding:72px 0;background:#fff}
.home-routes{background:linear-gradient(180deg,#faf7ff,#fff)}
.home-section-head{display:grid;grid-template-columns:1fr .72fr;align-items:end;gap:40px;margin-bottom:28px}
.home-section-head h2{margin:7px 0 0;font-size:clamp(2rem,3.2vw,2.7rem);line-height:1.08}
.home-section-head p{margin:0;font-size:.84rem;line-height:1.65}
.home-diagnostic-grid{display:grid;grid-template-columns:330px minmax(0,1fr);align-items:stretch;gap:16px}
.calendar-panel{display:flex;flex-direction:column;padding:24px;border:1px solid #e2d7ea;border-radius:20px;background:radial-gradient(circle at 80% 8%,rgba(160,64,242,.13),transparent 32%),linear-gradient(145deg,#f8f1ff,#fff);box-shadow:var(--shadow-sm)}
.calendar-panel h3{margin:10px 0 8px;font-size:1.45rem}.calendar-panel>p{font-size:.76rem}.calendar-panel>.text-link{margin-top:auto;font-size:.75rem}
.home-quiz.diagnostic{grid-template-columns:minmax(0,1fr) 250px;margin:0;border-color:#e2d7ea;box-shadow:var(--shadow-sm)}
.home-quiz .diagnostic-form,.home-quiz .diagnostic-result{padding:28px}
.home-quiz .diagnostic-head h3{font-size:1.35rem}
.home-quiz .diagnostic-head>span{flex:none;white-space:nowrap}
.home-quiz .quiz-step{min-height:178px}
.home-quiz .quiz-step legend{font-size:1.05rem}
.home-quiz .quiz-options{margin-top:20px}
.home-quiz .quiz-options span{min-height:48px;padding:9px}
.home-quiz .score-ring{width:150px;height:150px}.home-quiz .score-ring::before{width:122px;height:122px}.home-quiz .score-ring strong{font-size:2.1rem}
.route-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.route-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;min-height:112px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow-sm);transition:.2s var(--ease)}
.route-card:hover{transform:translateY(-2px);border-color:#d4bee7;box-shadow:var(--shadow-card)}
.route-card>span:nth-child(2){display:grid;gap:4px}.route-card strong{font-size:.82rem}.route-card small{color:var(--muted);font-size:.68rem;line-height:1.45}.route-card>svg{color:var(--purple)}
.pricing-teaser-inner{padding:32px}.pricing-teaser-inner h2{font-size:clamp(1.6rem,2.7vw,2.25rem)}

.calendar-countdown{position:relative;margin:18px 0 22px}
.calendar-grid{display:grid;gap:14px}
.calendar-day{position:relative;isolation:isolate;display:grid;place-items:center;overflow:hidden;min-height:218px;padding:42px 18px 22px;border:1px solid #dccae9;border-radius:18px;background:#fff;box-shadow:0 18px 40px rgba(86,38,130,.1)}
.calendar-day::before{content:"";position:absolute;z-index:-2;inset:0 0 auto;height:40px;background:linear-gradient(90deg,#7d29df,#a84ef2)}
.calendar-day::after{content:"";position:absolute;z-index:-1;left:0;right:0;top:40px;height:1px;background:#e9dfef}
.calendar-rings{position:absolute;z-index:3;left:50%;top:26px;display:flex;gap:54px;transform:translateX(-50%)}
.calendar-rings i{width:12px;height:28px;border:3px solid #2e2037;border-radius:8px;background:#fff;box-shadow:0 4px 0 rgba(0,0,0,.12)}
.calendar-day small{color:var(--purple);font-size:.62rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.calendar-day strong{font-family:Sora;font-size:5.1rem;line-height:.92;letter-spacing:-.09em;font-variant-numeric:tabular-nums}
.calendar-day em{color:var(--muted);font-size:.72rem;font-style:normal;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.calendar-page{position:absolute;z-index:2;left:10px;right:10px;top:41px;height:58%;border-radius:0 0 12px 12px;background:linear-gradient(#fff,#f7effd);opacity:0;transform-origin:top;pointer-events:none;animation:calendarPageTurn 4.8s cubic-bezier(.32,.72,.2,1) infinite}
.calendar-clock{display:flex;align-items:center;justify-content:center;gap:7px;padding:14px;border:1px solid #e4d8ec;border-radius:14px;background:rgba(255,255,255,.72)}
.calendar-clock span{display:grid;justify-items:center;gap:3px;min-width:54px}.calendar-clock strong{font-family:Sora;font-size:1.35rem;font-variant-numeric:tabular-nums}.calendar-clock small{color:var(--muted);font-size:.52rem;text-transform:uppercase}.calendar-clock>i{color:#b89cca;font-style:normal}
.page-countdown.calendar-countdown{max-width:680px;margin:32px auto 0;padding:26px;border:1px solid #deceea;border-radius:22px;background:rgba(255,255,255,.72);box-shadow:0 22px 65px rgba(82,38,121,.1)}
.page-countdown .calendar-grid{grid-template-columns:220px minmax(0,1fr);align-items:center}.page-countdown .calendar-day{min-height:230px}.page-countdown .calendar-clock{padding:24px}.page-countdown>small{display:block;margin-top:14px;color:var(--muted);font-size:.62rem;text-align:center}
@keyframes calendarPageTurn{0%,68%{opacity:0;transform:perspective(500px) rotateX(0)}72%{opacity:.92}88%{opacity:.3;transform:perspective(500px) rotateX(-112deg)}100%{opacity:0;transform:perspective(500px) rotateX(-150deg)}}

.portal-shell{width:min(100% - 48px,1240px)}
.portal-topbar{height:64px}
.portal-main{padding-block:28px 56px}
.portal-title{gap:20px;margin-bottom:22px}.portal-title h1{margin:6px 0 4px;font-size:clamp(1.8rem,2.35vw,2.35rem)}.portal-title p{font-size:.75rem}
.sidebar-layout{grid-template-columns:210px minmax(0,1fr);gap:20px}
.side-nav-wrap{top:84px;padding:8px;border-radius:14px}.side-nav a{padding:9px 10px;font-size:.7rem}
.dashboard-grid{gap:12px;margin-bottom:12px}.metric-card{min-height:132px;padding:17px}.metric-card strong{margin-top:15px;font-size:1.85rem}
.panel-grid{gap:12px}.panel-card{padding:20px;border-radius:16px}.panel-head{margin-bottom:14px}.panel-card h2{font-size:1rem}
.table-wrap{max-width:100%}.data-table{table-layout:auto}.data-table th{padding:10px 12px}.data-table td{padding:12px;font-size:.66rem;white-space:normal;overflow-wrap:anywhere}
.portal-entry-grid{gap:16px}.portal-intro{min-height:500px;padding:32px}.portal-intro h1{font-size:clamp(2.5rem,3.4vw,3.5rem)}.portal-actions-grid{gap:12px}.portal-action-card{min-height:240px;padding:22px}
.auth-aside{padding:42px clamp(28px,4vw,64px)}.auth-aside h1{font-size:clamp(2.6rem,3.8vw,4rem)}.auth-main{padding:42px clamp(24px,5vw,68px)}.auth-card{padding:32px}.auth-card h1{font-size:1.8rem}

@media(max-width:1100px){
  .public-site{--shell:min(920px,calc(100% - 40px))}
  .public-site .hero-grid,.public-site .subhero-grid,.home-section-head,.home-diagnostic-grid,.public-site .contact-grid{grid-template-columns:1fr}
  .public-site .hero-product{width:min(100%,680px);margin-inline:auto}
  .public-site .subhero-visual{width:min(100%,680px);margin-inline:auto}
  .home-quiz.diagnostic{grid-template-columns:minmax(0,1fr) 250px}
  .calendar-panel{display:grid;grid-template-columns:1fr 300px;align-items:center;column-gap:28px}.calendar-panel .calendar-countdown{grid-column:2;grid-row:1/5;margin:0}.calendar-panel>.text-link{margin-top:8px}
  .sidebar-layout{grid-template-columns:1fr}
  .side-nav-wrap{position:static;display:grid;grid-template-columns:1fr auto;align-items:center}.side-nav{grid-template-columns:auto repeat(3,minmax(0,1fr));align-items:center}.side-nav-label{padding:8px}.network-card{margin:0}
  .doc-preview-shell,.work-form-shell{grid-template-columns:1fr}.doc-preview-meta{position:static}
}

@media(max-width:768px){
  body{font-size:15px}
  .public-site{--shell:min(100% - 32px,100%)}
  .brand{height:42px}.brand-lockup,.brand-compact .brand-lockup{width:158px;height:42px}.brand-lockup img{left:-33px;top:-46px;width:216px}
  .nav-inner{min-height:60px}.public-links{top:55px}.nav-actions>.button{display:none}
  .public-site .hero{padding:36px 0 22px}.public-site .hero-copy{padding:8px 0 20px}.public-site .hero h1{font-size:clamp(2.35rem,11.2vw,2.8rem);line-height:1.02}.public-site .hero-lead{font-size:.84rem}.public-site .hero-product{min-height:350px}.public-site .product-window{inset:14px 0 32px}.public-site .floating-proof{padding:7px 9px}.public-site .hero-insy{width:80px}.public-site .hero-foot{display:none}
  .public-site .section,.public-site .page-section,.home-diagnostic,.home-routes,.home-contact,.public-site .demo-section{padding:52px 0}
  .public-site .section-heading h2,.public-site .page-section-head h2,.public-site .deep-dive-copy h2,.public-site .page-faq h2,.public-site .page-cta h2,.home-section-head h2{font-size:clamp(1.85rem,8.5vw,2.25rem)}
  .public-site .subhero{padding:40px 0}.public-site .subhero h1{font-size:clamp(2.35rem,10.8vw,2.9rem)}.public-site .subhero-visual{min-height:300px}
  .public-site .info-grid,.route-card-grid{grid-template-columns:1fr}.public-site .info-card{min-height:auto}.route-card{min-height:96px;padding:15px}
  .home-section-head{gap:12px;margin-bottom:22px}.calendar-panel{display:flex;padding:20px}.calendar-panel .calendar-countdown{margin:14px 0 18px}.home-quiz.diagnostic{grid-template-columns:1fr}.home-quiz .diagnostic-form,.home-quiz .diagnostic-result{padding:22px}.home-quiz .quiz-options{grid-template-columns:1fr}.home-quiz .quiz-step{min-height:auto}.home-quiz .diagnostic-result{border-radius:0 0 19px 19px}.home-quiz .score-ring{width:138px;height:138px}.home-quiz .score-ring::before{width:112px;height:112px}
  .calendar-day{min-height:190px}.calendar-day strong{font-size:4.35rem}.calendar-clock{gap:4px;padding:12px 8px}.calendar-clock span{min-width:47px}.calendar-clock strong{font-size:1.15rem}
  .page-countdown.calendar-countdown{padding:18px}.page-countdown .calendar-grid{grid-template-columns:1fr}.page-countdown .calendar-day{min-height:200px}.page-countdown .calendar-clock{padding:14px 8px}
  .pricing-teaser-inner{padding:24px}.pricing-teaser-action{align-items:stretch}.pricing-teaser-action .button{width:100%}
  .public-site .footer-main{grid-template-columns:1fr;gap:28px}
  .public-site .price-hero{padding:44px 0 112px}.public-site .price-hero-head{align-items:flex-start;flex-direction:column;gap:20px}.public-site .price-hero h1{font-size:clamp(2.8rem,13vw,3.6rem)}.public-site .price-lab{grid-template-columns:1fr}.public-site .price-choices,.public-site .price-total-card{padding:22px}.public-site .price-includes-grid{grid-template-columns:1fr}.public-site .maintenance-v2{grid-template-columns:1fr;gap:24px}
  .compare-table{overflow:visible}.compare-row{min-width:0;grid-template-columns:1fr;gap:8px;padding:14px 16px}.compare-head{display:none}.compare-row span:nth-child(2)::before{content:"Base propia: ";color:var(--muted)}.compare-row span:nth-child(3)::before{content:"Base nueva: ";color:var(--muted)}
  .product-demo{min-height:auto}.demo-nav{grid-template-columns:repeat(3,minmax(0,1fr));padding:12px}.demo-brand,.demo-safety{grid-column:1/-1}.demo-nav button{justify-content:center;padding:10px 7px}.demo-nav button svg{display:none}.demo-stage{padding:16px}.demo-table{overflow:visible}.demo-table>div{min-width:0;grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:12px}.demo-table-head{display:none!important}.demo-table>div>span:nth-child(3),.demo-table>div>span:nth-child(4){justify-self:start}.demo-sign-flow{padding:20px}
  .portal-shell{width:min(100% - 24px,100%)}.portal-main{padding-block:22px 42px}.portal-title{align-items:flex-start;flex-direction:column;margin-bottom:18px}.portal-title h1{font-size:1.75rem}.portal-title>.status{white-space:normal}
  .side-nav-wrap{display:block;padding:7px}.side-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.side-nav-label{display:none}.side-nav a{justify-content:center;min-width:0;padding:9px 6px;text-align:center}.side-nav a span{overflow:hidden;text-overflow:ellipsis}.network-card{display:none}
  .dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.metric-card{min-width:0;min-height:118px;padding:14px}.metric-card strong{font-size:1.6rem}.panel-grid{grid-template-columns:1fr}.panel-card{padding:16px}.panel-head{align-items:flex-start}.activity-list li{align-items:flex-start;flex-direction:column;gap:6px}.activity-list>li>span{text-align:left}
  .table-wrap{overflow:visible;border:0;border-radius:0}.responsive-data-table,.responsive-data-table tbody,.responsive-data-table tr,.responsive-data-table td{display:block;width:100%}.responsive-data-table thead{display:none}.responsive-data-table tbody{display:grid;gap:10px}.responsive-data-table tr{overflow:hidden;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:var(--shadow-sm)}.responsive-data-table td{display:grid;grid-template-columns:94px minmax(0,1fr);gap:10px;padding:10px 12px;border-bottom:1px solid var(--line);font-size:.7rem;white-space:normal;overflow-wrap:anywhere}.responsive-data-table td:last-child{border-bottom:0}.responsive-data-table td::before{content:attr(data-label);color:var(--muted);font-size:.58rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.responsive-data-table td>*{min-width:0}.responsive-data-table td .button{justify-self:start}
  .form-grid{grid-template-columns:1fr}.field-full{grid-column:auto}.document-content{padding:18px;overflow-wrap:anywhere}.document-content table{display:block;max-width:100%;overflow:auto}.doc-preview-shell{gap:14px}.work-guide{min-height:320px;padding:24px}.work-card{padding:20px}
  .auth-layout{grid-template-columns:1fr}.auth-aside{min-height:290px;padding:28px 20px}.auth-aside h1{font-size:2.35rem}.auth-aside p{font-size:.76rem}.auth-insy{width:190px}.auth-main{padding:24px 14px}.auth-card{padding:24px}.portal-entry-grid{grid-template-columns:1fr}.portal-intro{min-height:390px;padding:24px}.portal-intro h1{font-size:2.55rem}.portal-actions-grid,.portal-product-preview{grid-template-columns:1fr}.portal-action-card{min-height:210px}
  .signing-header{padding-inline:16px}.reader-meta,.signing-form-card{padding:18px}.reader-meta h1{font-size:1.65rem}.signing-progress{overflow:hidden}.signing-progress span{min-width:0;font-size:.58rem}.signature-canvas{max-width:100%}
}

@media(max-width:420px){
  .public-site{--shell:min(100% - 24px,100%)}
  .public-site .hero h1{font-size:2.3rem}.public-site .hero-product{min-height:320px}.public-site .product-window-body{grid-template-columns:48px minmax(0,1fr)}.public-site .mock-dashboard{padding:14px 9px}.public-site .mock-metrics{gap:6px}.public-site .mock-metrics>span{padding:10px 7px 10px 28px}.public-site .proof-two{right:4px}
  .home-quiz .diagnostic-head{align-items:flex-start;flex-direction:column;gap:9px}.home-quiz .quiz-actions{gap:8px}.home-quiz .quiz-actions .button{flex:1;padding-inline:9px}
  .side-nav a{font-size:.62rem}.side-nav a svg{width:16px}.dashboard-grid{grid-template-columns:1fr}.metric-card{min-height:105px}.responsive-data-table td{grid-template-columns:82px minmax(0,1fr);padding:9px 10px}.portal-header-actions .button span{display:none}.logout-form .button{padding-inline:9px}
}

@media(prefers-reduced-motion:reduce){.calendar-page{animation:none}}
