/* Praktia — claridad, espacio y foco. */
:root{--ink:#1d1d1f;--green:#005bb5;--accent:#0066cc;--paper:#fff;--wash:#f5f5f7;--muted:#646469;--line:#dedee3;--font:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;--title:var(--font)}
body{font-family:var(--font);background:#fff;color:var(--ink);-webkit-font-smoothing:antialiased}.wrap{max-width:1200px;padding-inline:40px}html{scroll-padding-top:90px}h1,h2,h3{font-family:var(--font);font-weight:600;letter-spacing:-.045em}h2,.section-heading h2{font-size:48px;line-height:1.08}.eyebrow{color:var(--muted);text-transform:none;letter-spacing:0;font-size:15px;font-weight:500}.header{position:sticky;top:0;z-index:20;min-height:68px;max-width:none;padding-inline:max(32px,calc((100vw - 1120px)/2));background:rgba(255,255,255,.92);backdrop-filter:blur(20px);border-bottom:1px solid #ececf0}.header .brand{font-size:29px}.brand span{color:var(--ink)}nav{gap:26px}.header nav>a{font-size:12px}.button,.header .button,.contact-panel .light{background:#0071e3;border:0;color:#fff;border-radius:100px;min-height:48px;padding:13px 23px;font-weight:400;font-size:16px}.button:hover,.header .button:hover,.contact-panel .light:hover{background:#0064cc}.header .button{min-height:34px;padding:8px 16px;font-size:12px}.text-button,.on-dark,.contact-panel .on-dark{color:#0066cc;font-size:16px;text-decoration:none}.text-button:hover{text-decoration:underline}.hero,.hero.sw-hero{display:flex;flex-direction:column;gap:45px;padding-top:76px;padding-bottom:36px;text-align:center}.hero-copy{max-width:870px}.hero .eyebrow{font-size:16px;margin-bottom:20px}.hero h1{font-size:clamp(48px,6.3vw,80px);line-height:1.04;letter-spacing:-.055em;max-width:900px;font-weight:650;text-wrap:balance}.intro{font-size:22px;line-height:1.5;max-width:670px;margin:25px auto}.hero .actions{justify-content:center;gap:26px}.hero-points{justify-content:center;font-size:12px;margin:20px auto 0;gap:20px}.hero-points li{font-size:12px}.hero-points .i{display:none}.business-carousel{width:100%;max-width:100%;text-align:left;position:relative}.carousel-heading{display:none}.business-slide img{aspect-ratio:2.65;object-position:center 45%;border-radius:26px}.business-slide figcaption{min-height:0;padding:22px 0 0}.business-slide figcaption strong{font-family:var(--font);font-size:22px;font-weight:600}.business-slide figcaption span{font-size:14px}.carousel-toolbar{position:absolute;right:0;bottom:4px;border:0;margin:0;padding:0;gap:10px}.carousel-arrows button,.carousel-pause{background:#f5f5f7;border:0;color:#333}.carousel-disclosure{font-size:11px}.audience-inner{border:0!important;justify-content:center;flex-wrap:wrap;padding:24px 0!important;gap:22px!important}.audience-inner p,.audience-inner>span{font-size:12px;color:var(--muted)}.section{padding-block:90px}.section-heading{gap:40px;margin-bottom:40px}.section-heading>p{max-width:370px}.problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border:0}.problem{display:flex;flex-direction:column;gap:20px;padding:32px;background:var(--wash);border:0;border-radius:24px}.problem .number{color:var(--muted);font-size:13px;display:block}.problem .icon-badge,.capabilities-grid .icon-badge{display:none}.problem h3{font-size:27px;font-weight:600;line-height:1.17}.problem>p{font-size:15px;line-height:1.6}.capabilities{margin-top:90px;padding-top:0;border:0}.capabilities-lead{column-gap:70px}.capabilities-lead h2{font-size:44px}.capabilities-lead .eyebrow{color:var(--muted)}.capabilities-grid{gap:0 55px;margin-top:32px}.capabilities-grid article{padding:29px 0;background:none;border-radius:0;border-bottom:1px solid var(--line)}.capability-label{color:#0066cc;font-size:13px}.capabilities-grid h3{font-size:24px;line-height:1.2;font-weight:600}.capabilities-grid p{font-size:16px}.method{background:#f5f5f7;color:var(--ink);border:0;padding-block:75px}.method-head{max-width:660px}.method h2{font-size:48px;color:var(--ink);max-width:700px}.method .eyebrow,.method-head>p,.timeline p{color:var(--muted)}.timeline{gap:25px}.timeline:before,.timeline:after,.timeline li:before,.timeline li:after{display:none}.timeline-icon{display:none}.timeline-step{color:#0066cc;font-size:13px}.timeline h3{font-size:21px;color:var(--ink);font-weight:600}.timeline p{font-size:15px}.profile-link{color:#0066cc}.faq-section{gap:80px}.faq-list summary{font-weight:500}.contact-panel{display:block;text-align:center;background:var(--wash);border:0;border-radius:28px;padding:64px 32px}.contact-panel .eyebrow{color:var(--muted)}.contact-panel h2{font-size:48px;max-width:700px;margin:20px auto}.contact-panel>p:not(.eyebrow){margin:20px auto;max-width:650px}.contact-panel .actions{display:flex;flex-direction:row;justify-content:center;gap:25px;margin:25px auto}.footer{padding-top:30px;padding-bottom:30px}.footer .brand{font-size:25px}.footer p,.footer>span{font-size:11px}.sw-mock{width:100%;max-width:900px;text-align:left;border-radius:22px;box-shadow:0 20px 70px #00000012}.sw-mock-bar{background:#f5f5f7}.sw-mock-nav{background:#f5f5f7}.sw-mock-nav li.on{color:#0066cc;background:#e7f1fc}.sw-chart span{background:#0071e3}.sw-before-after{padding-top:40px}.sw-fit-inner{background:var(--wash);border-radius:24px}.sw-team-head h2{font-size:44px}.sw-modules{margin-top:0}.sw-team-list{gap:25px}dialog{border:0;border-radius:24px;background:#fff;box-shadow:0 24px 100px #0003;padding:36px}dialog::backdrop{background:#0005;backdrop-filter:blur(8px)}input,select,textarea{border-color:#c7c7cc;border-radius:10px;background:#fff}.close{background:var(--wash);border-radius:50%;top:12px;right:12px}.legal h1{font-family:var(--font)}
@media(max-width:1000px){.header{padding-inline:24px}nav{gap:18px}.problem{padding:25px}.problem h3{font-size:23px}.hero h1{font-size:64px}.timeline{grid-template-columns:repeat(3,1fr)}.faq-section{gap:45px}}
@media(max-width:760px){.wrap{padding-inline:24px}.header{min-height:64px;padding-inline:24px}.header .brand{font-size:27px}.hero,.hero.sw-hero{padding-top:50px;gap:32px}.hero h1{font-size:46px;line-height:1.06;letter-spacing:-.045em}.hero .eyebrow{font-size:13px}.intro{font-size:18px;line-height:1.5;margin:23px auto}.hero .actions{gap:12px;flex-direction:column}.hero-points{display:none}.business-slide img{aspect-ratio:1.35;border-radius:20px}.business-slide figcaption{padding-top:18px;padding-right:115px;min-height:85px}.business-slide figcaption strong{font-size:18px}.business-slide figcaption span{font-size:12px}.carousel-toolbar{bottom:30px}.carousel-arrows{gap:5px}.carousel-arrows button,.carousel-pause{min-width:34px;min-height:34px;width:34px;height:34px}.audience-inner{gap:8px 16px!important}.audience-inner>span{width:100%;text-align:center}.section{padding-block:58px}h2,.section-heading h2,.method h2,.sw-team-head h2{font-size:35px;line-height:1.12}.section-heading>p{font-size:16px}.problem-grid{grid-template-columns:1fr;gap:14px}.problem{padding:28px;gap:14px}.problem h3{font-size:26px}.capabilities{margin-top:58px}.capabilities-lead h2{font-size:35px}.capabilities-grid{grid-template-columns:1fr}.capabilities-grid article{padding-block:25px}.method{padding-block:50px}.timeline{grid-template-columns:1fr;gap:25px}.timeline li{padding-bottom:23px;border-bottom:1px solid var(--line)}.timeline li:last-child{border:0}.timeline h3{font-size:23px}.faq-section{grid-template-columns:1fr;gap:35px}.contact-panel{padding:40px 24px;border-radius:22px}.contact-panel h2{font-size:34px}.contact-panel .actions{flex-direction:column;align-items:center;gap:12px}.contact-panel .text-button{justify-content:center}.footer{gap:20px}.footer>span{line-height:1.8}.sw-mock{border-radius:16px}.sw-team-list{grid-template-columns:1fr}.sw-fit-inner{padding:28px}.sw-kpis strong{font-size:18px}dialog{padding:32px 22px}}
.hero h1 br{display:block}.hero-points{border:0}.button{background-image:none}.header .button{background-image:none}
@media(max-width:760px){.header nav{gap:14px}.header nav a[href="/software"],.header nav a[href="/"]{display:block;font-size:11px}.header nav a[href="/software"]{max-width:65px;line-height:1.3}.hero h1{font-size:44px}.hero h1 br{display:block}}
/* Proceso: contraste y composición independientes del antiguo bloque oscuro. */
.method{padding-block:72px}
.method .method-head{display:block;max-width:760px;margin:0 auto;text-align:center;padding:0}
.method .method-head .eyebrow{color:#646469;margin:0 0 18px}
.method .method-head h2{max-width:760px;margin:0 auto;font-size:48px;line-height:1.1;text-wrap:balance}
.method .method-head>p:last-child{color:#646469;max-width:600px;margin:22px auto 0;font-size:18px;line-height:1.55}
.method .timeline{grid-template-columns:repeat(5,minmax(0,1fr));gap:28px;padding:0;margin:52px 0 0}
.method .timeline li{display:block;padding:22px 0 0;border:0;border-top:1px solid #d2d2d7}
.method .timeline li::after{display:none}
.method .timeline-step{color:#0066cc;margin:0 0 12px;font-size:12px;letter-spacing:.04em}
.method .timeline h3{color:#1d1d1f;font-size:21px;line-height:1.25;margin:0;letter-spacing:-.025em}
.method .timeline p{color:#646469;font-size:15px;line-height:1.6;margin:12px 0 0}
@media(max-width:1000px){.method .timeline{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}}
@media(max-width:760px){.method{padding-block:48px}.method .method-head{text-align:left}.method .method-head h2{font-size:34px;text-wrap:pretty}.method .method-head>p:last-child{font-size:16px;margin-top:18px}.method .timeline{grid-template-columns:1fr;gap:24px;margin-top:32px}.method .timeline li{padding-top:22px}.method .timeline h3{font-size:22px}.method .timeline p{margin-top:8px}.method .timeline-step{margin-bottom:9px}}
/* Acento de marca para las letras de inteligencia artificial. */
.brand span{color:#0066cc}

/* Fotografías completas: se conserva la proporción original, sin recortes. */
.hero .business-carousel{max-width:900px;margin-inline:auto}
.business-slide img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;object-position:center}
@media(max-width:760px){.business-slide img{aspect-ratio:3/2;height:auto}.business-slide figcaption{padding-right:0;min-height:0}.business-carousel .carousel-toolbar{position:static;justify-content:flex-end;margin-top:14px}.business-carousel .carousel-arrows button,.business-carousel .carousel-pause{min-width:44px;min-height:44px;width:44px;height:44px}}
/* Carrusel compacto: fotografía y contexto comparten una sola fila. */
.hero .business-carousel{max-width:900px;background:#f5f5f7;border-radius:24px;overflow:hidden;margin-top:0}
.business-carousel .business-slide:not([hidden]){display:grid;grid-template-columns:1.2fr 1fr;align-items:center}
.business-carousel .business-slide img{border-radius:0;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
.business-carousel .business-slide figcaption{padding:32px 36px 90px;min-height:0}
.business-carousel .business-slide figcaption strong{font-size:28px;line-height:1.15;letter-spacing:-.03em}
.business-carousel .business-slide figcaption span{font-size:15px;line-height:1.5;margin-top:12px;max-width:270px}
.business-carousel .carousel-toolbar{position:absolute;bottom:25px;left:calc(54.55% + 36px);right:30px;display:flex;justify-content:space-between;margin:0;padding:0;border:0}
.business-carousel .carousel-arrows button,.business-carousel .carousel-pause{background:#e8e8ed;min-width:40px;min-height:40px;width:40px;height:40px}
@media(max-width:760px){.hero .business-carousel{max-width:420px;border-radius:20px}.business-carousel .business-slide:not([hidden]){grid-template-columns:1fr}.business-carousel .business-slide figcaption{padding:20px 20px 70px}.business-carousel .business-slide figcaption strong{font-size:22px}.business-carousel .business-slide figcaption span{font-size:14px;margin-top:7px;max-width:none}.business-carousel .carousel-toolbar{left:20px;right:20px;bottom:15px}.business-carousel .carousel-arrows button,.business-carousel .carousel-pause{min-width:40px;min-height:40px}}

/* Firma de marca. */
.header .brand-with-tagline{display:flex;flex-direction:column;align-items:flex-start;gap:5px;flex-shrink:0;padding-block:12px}
.brand-with-tagline .brand-word{color:#1d1d1f;display:block;line-height:1;letter-spacing:-.06em}
.brand-with-tagline .brand-word>span{color:#0066cc}
.brand-with-tagline .brand-tagline{font-family:var(--font);font-size:11px;line-height:1.3;letter-spacing:0;font-weight:400;color:#646469;white-space:nowrap}
@media(max-width:760px){.header .brand-with-tagline{font-size:27px}.brand-with-tagline .brand-tagline{font-size:9px}.header nav a[href="/software"],.header nav a[href="/"]{display:none}}
