/* Ajustes de composición basados en la maqueta aprobada. */
[hidden] { display: none !important; }
.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; }
.shell { width:min(100% - 7.2rem, 1440px); }
h1,h2 { font-weight:300; }
.site-header { background:rgba(3,11,18,.83); backdrop-filter:none; }
.header-inner { min-height:68px; justify-content:flex-start; gap:clamp(3rem,7vw,9rem); }
.brand img, .footer-inner .brand img { width:185px; height:58px; object-fit:contain; mix-blend-mode:screen; }
.site-nav { gap:clamp(1.6rem,2.8vw,3rem); }
.site-nav > a { font-size:.79rem; }
.hero { min-height:690px; height:clamp(690px,50vw,760px); }
.hero-media video { object-position:center 55%; }
.hero-shade { background:linear-gradient(90deg,rgba(1,8,14,.72),rgba(1,8,14,.36) 41%,transparent 70%); }
.hero-content { padding-top:3rem; }
.hero h1 { font-size:clamp(4.6rem,6vw,7.6rem); line-height:.91; margin-bottom:2rem; letter-spacing:-.06em; }
.hero-description { max-width:29ch; line-height:1.35; font-size:clamp(1.2rem,1.45vw,1.5rem); margin-bottom:1.55rem; }
.button { min-height:52px; padding:.8rem 1.4rem; border:0; font-size:.83rem; }
.button-light { min-width:260px; }
.showcase-grid { min-height:620px; grid-template-columns:minmax(0,.79fr) minmax(0,1.21fr); gap:clamp(2rem,5vw,6rem); }
.showcase-copy { padding-block:5rem; }
.showcase .eyebrow { letter-spacing:.26em; font-size:.75rem; margin-bottom:1.2rem; }
.showcase h2 { font-size:clamp(3.2rem,4.1vw,5.8rem); line-height:1.06; margin-bottom:1.4rem; }
.showcase-copy>p:not(.eyebrow):not(.detail-line) { font-size:1.2rem; line-height:1.48; max-width:34ch; }
.store-section { background:radial-gradient(circle at 64% 48%,#13529b 0%,#0a356d 42%,#04142a 100%); }
.store-section::after { content:""; position:absolute; bottom:0; left:0; right:0; height:18%; background:linear-gradient(0deg,#07121ed9,transparent); pointer-events:none; }
.laptop-scene { padding-bottom:2rem; transform:translateY(2rem); }
.laptop { width:min(100%,780px); }
.laptop-screen { aspect-ratio:1.44; border-width:12px; border-radius:20px 20px 4px 4px; }
.demo-store-nav { height:10%; }
.demo-store-nav strong { font-family:Arial,sans-serif; letter-spacing:-.04em; font-size:1.5em; }
.demo-store-hero { height:62%; background-position:67% center; }
.demo-store-hero strong { font-size:clamp(1.5rem,2.4vw,2.8rem); }
.demo-store-footer { height:28%; align-items:end; padding:0 2% 2%; gap:2%; font-family:Arial,sans-serif; font-size:clamp(.4rem,.62vw,.7rem); background:#faf9f6 url("assets/store-products.webp") center 32%/96% auto no-repeat; }
.demo-store-footer span { display:flex; align-items:end; width:33%; height:100%; padding:.4rem; background:linear-gradient(transparent 68%,#f9f8f3 88%); color:#20292e; }
.automation-section { background:radial-gradient(circle at 78% 46%,#c2e2fc,#e6f3fd 52%,#dcecf8); }
.automation-section .showcase-grid { min-height:570px; }
.automation-section h2 { font-size:clamp(3.1rem,4vw,5.5rem); }
.automation-section .eyebrow { color:#18344d; }
.flow-scene { width:min(100%,650px); }
.node-center .symbol { font-family:Arial,sans-serif; font-weight:700; font-style:italic; color:#182c41; }
.flow-node { border-radius:24%; }
.flow-node small { display:none; }
.node-mail .node-icon { color:#e54e47; }
.node-invoices .node-icon { color:#2b7dec; }
.node-data .node-icon { color:#2ca679; }
.node-alerts .node-icon { color:#347ad8; }
.node-reports .node-icon { color:#e9544f; }
.node-results .node-icon { color:#35a6cb; }
.assistant-section { background:linear-gradient(115deg,#f6f2eb 0%,#f8f5ef 48%,#e6e0d4 100%); }
.assistant-section .showcase-grid { min-height:570px; }
.assistant-section h2 { font-size:clamp(3.1rem,4vw,5.5rem); }
.assistant-section .eyebrow { color:#253442; }
.phone { transform:rotate(9deg); height:clamp(520px,43vw,640px); }
.contact-section { min-height:390px; background-image:url("assets/contact-mountains.webp"); background-position:center 54%; }
.contact-overlay { background:linear-gradient(90deg,rgba(247,244,238,.53),rgba(247,244,238,.22) 41%,transparent 70%); }
.contact-content { padding-block:3.6rem; }
.contact-content h2 { font-size:clamp(3.6rem,5vw,6.3rem); line-height:.96; margin-bottom:.7rem; }
.contact-content p:not(.eyebrow) { font-size:1.1rem; line-height:1.45; max-width:35ch; margin-bottom:.7rem; }
.button-blue { color:#fff; background:linear-gradient(#0f6cff,#0045bf); min-width:260px; box-shadow:0 8px 20px #094db43d; }
.button-blue:disabled { opacity:1; cursor:not-allowed; }
.site-footer { background:#030e18; }
.footer-inner { min-height:95px; justify-content:flex-start; gap:clamp(3rem,8vw,10rem); }
.footer-nav { display:flex; gap:clamp(1.5rem,2.6vw,3rem); }
.footer-nav a { color:#f3f5f8; text-decoration:none; font-size:.78rem; }
.footer-nav a:hover { color:#93c8ff; }
.info-header { position:relative; background:#030e18; }
.method-section { padding:clamp(4.5rem,7vw,7rem) 0; background:linear-gradient(160deg,#fff 50%,#f3f8fd); }
.method-intro { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr); gap:clamp(2rem,5vw,6rem); align-items:end; }
.method-intro .section-intro { max-width:none; }
.info-main .method-intro h1 { max-width:18ch; font-size:clamp(3.1rem,4vw,4.7rem); line-height:1.04; letter-spacing:-.045em; }
.method-intro h1 em { color:#126ce1; font-style:normal; }
.method-lead { max-width:31ch; margin:0 0 .45rem; padding-left:1.5rem; border-left:3px solid #1672ed; color:#294158; font-size:clamp(1.1rem,1.42vw,1.35rem); line-height:1.5; }
.method-steps { gap:clamp(1.5rem,3vw,3rem); margin-top:4rem; border-color:#cbd9e6; }
.method-steps article { padding-top:1.35rem; }
.method-steps .step-number { font-size:.86rem; font-weight:700; }
.info-main .method-steps h2 { max-width:20ch; margin:1.1rem 0 .65rem; font-size:clamp(1.4rem,1.75vw,1.85rem); line-height:1.15; }
.method-steps p { max-width:36ch; font-size:1rem; line-height:1.55; }
.method-steps article {
  position:relative;
  z-index:0;
  transform-origin:center;
  transition:transform .35s cubic-bezier(.22,1,.36,1);
}
.method-steps article::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:-.7rem -1rem -.55rem;
  border:1px solid #b8d9f88c;
  border-radius:8px;
  background:linear-gradient(145deg,#f4faff,#eaf4ff);
  box-shadow:0 12px 26px #0a3d7414;
  opacity:0;
  transition:opacity .35s ease;
  pointer-events:none;
}
@keyframes method-wave {
  0% { opacity:0; transform:translateY(18px) scale(.96); }
  58% { opacity:1; transform:translateY(-10px) scale(1.035); }
  78% { transform:translateY(3px) scale(.995); }
  100% { opacity:1; transform:none; }
}
@media(prefers-reduced-motion:no-preference) {
  .method-steps.is-motion-ready article { opacity:0; }
  .method-steps.is-motion-ready.is-visible article {
    opacity:1;
    animation:method-wave .9s cubic-bezier(.22,1,.36,1) backwards;
    animation-delay:calc(var(--step-index) * 150ms);
  }
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .method-steps article:hover { z-index:1; transform:translateY(-5px) scale(1.035); }
  .method-steps article:hover::before { opacity:1; }
}
@media(prefers-reduced-motion:reduce) {
  .method-steps article,.method-steps article::before { transition:none; }
}
.method-example { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(230px,.55fr); gap:clamp(2rem,5vw,5rem); align-items:center; margin-top:3.75rem; padding:2rem clamp(1.5rem,3vw,3rem); background:linear-gradient(115deg,#061a2d,#0b3261); color:#f6fbff; border-radius:6px; }
.method-example-label { margin:0 0 .7rem; color:#94c8ff; font-size:.72rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.method-example p:not(.method-example-label) { max-width:65ch; margin:0; font-size:clamp(1.05rem,1.25vw,1.2rem); line-height:1.5; }
.method-example strong { display:block; padding-left:2rem; border-left:1px solid #75b8ff6e; font-size:clamp(1.25rem,1.7vw,1.7rem); font-weight:400; line-height:1.25; }
.about-signature { display:flex; flex-direction:column; gap:.2rem; margin:1.8rem 0 0; padding-top:1rem; border-top:1px solid #91b9da4d; color:#f4f9ff !important; font-size:1rem !important; font-weight:600; }
.about-signature span { color:#9bc5e9; font-size:.78rem; font-weight:400; letter-spacing:.08em; text-transform:uppercase; }
.examples-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(2rem,6vw,7rem); }
.examples-intro h2 { max-width:13ch; font-size:clamp(3rem,4.4vw,5rem); font-weight:300; line-height:1.08; }
.examples-intro h2 em { color:#356d9e; }
.examples-intro>p:last-child { max-width:36ch; color:#496277; font-size:1.08rem; }
.examples-section { overflow-x:clip; }
.examples-list { border-top:1px solid #a9bdcc; }
.examples-list article { position:relative; padding:1.25rem .75rem 1.4rem; border-bottom:1px solid #a9bdcc; border-radius:4px; transition:opacity .95s ease,transform 1.05s cubic-bezier(.16,1,.3,1),background-color .3s ease,box-shadow .3s ease; }
.examples-list article>span { color:#355a75; font-family:inherit; font-size:.7rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.examples-list h3 { margin:.65rem 0 .35rem; font-size:clamp(1.45rem,1.7vw,1.8rem); font-weight:400; }
.examples-list p { max-width:55ch; margin:0; color:#496277; font-size:1rem; line-height:1.5; }
.example-flow {
  display:grid;
  gap:.4rem;
  margin-top:1rem;
  padding-left:1rem;
  border-left:1px solid #b9d4eb;
}
.examples-list .example-flow p {
  display:grid;
  grid-template-columns:6.5rem minmax(0,1fr);
  gap:.75rem;
  max-width:none;
  font-size:.95rem;
  line-height:1.45;
}
.example-flow strong {
  padding-top:.15rem;
  color:#355a75;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.06em;
  line-height:1.4;
  text-transform:uppercase;
}
@media(prefers-reduced-motion:no-preference) {
  .examples-list.is-motion-ready article:not(.is-visible) { opacity:0; transform:translateX(120px); }
}
@media(hover:hover) and (pointer:fine) {
  .examples-list article.is-visible:hover { z-index:1; transform:translateX(-7px) scale(1.025); background:#f8fbfe; box-shadow:0 12px 30px #173b5717; }
}
.sectors-section { overflow-x:clip; padding:clamp(4.5rem,7vw,7rem) 0; background:#fff; }
.sectors-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(2rem,6vw,7rem); align-items:start; }
.sectors-intro h2 { max-width:12ch; margin:.7rem 0 1.5rem; font-size:clamp(3rem,4.4vw,5rem); font-weight:300; line-height:1.08; }
.sectors-intro h2 em { color:#0969db; font-style:normal; }
.sectors-intro>p:last-child { max-width:39ch; color:#496277; font-size:1.08rem; line-height:1.55; }
.sectors-intro .eyebrow,.sectors-intro>p:last-child { transition:opacity .7s ease,transform .8s cubic-bezier(.16,1,.3,1); }
.sectors-intro:has(h2.is-reveal-ready:not(.is-revealed)) .eyebrow,.sectors-intro:has(h2.is-reveal-ready:not(.is-revealed))>p:last-child { opacity:0; transform:translateY(16px); }
.sector-accordion { border-top:1px solid #b8cad7; }
.sector-accordion details { border-bottom:1px solid #b8cad7; transition:transform .3s ease,background-color .25s ease; }
.sector-accordion.is-motion-ready details:not(.is-visible) { opacity:0; transform:translateX(145px); }
.sector-accordion.is-motion-ready details.is-visible { animation:sector-enter .9s cubic-bezier(.16,1,.3,1) backwards; animation-delay:calc(var(--sector-index,0) * 110ms); }
@keyframes sector-enter { from { opacity:0; transform:translateX(145px); } to { opacity:1; transform:translateX(0); } }
.sector-accordion details.is-visible:hover { background:#f6faff; transform:translateX(-5px) scale(1.01); }
.sector-accordion summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.35rem .35rem; cursor:pointer; list-style:none; }
.sector-accordion summary::-webkit-details-marker { display:none; }
.sector-accordion summary>span:first-child { display:flex; flex-direction:column; gap:.3rem; }
.sector-accordion summary small { color:#0969db; font-size:.7rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.sector-accordion summary strong { color:#071725; font-size:clamp(1.45rem,2vw,2rem); font-weight:400; line-height:1.2; }
.sector-summary { color:#526a7b; font-size:.94rem; line-height:1.4; }
.sector-toggle { display:grid; flex:none; place-items:center; width:2.3rem; height:2.3rem; border:1px solid #9bb8cd; border-radius:50%; color:#0969db; font-size:1.45rem; font-weight:300; line-height:1; transition:transform .25s ease,background .25s ease,color .25s ease; }
.sector-accordion details[open] .sector-toggle { transform:rotate(45deg); background:#0969db; color:#fff; border-color:#0969db; }
.sector-accordion summary:focus-visible { outline:2px solid #0969db; outline-offset:3px; }
.sector-list { margin:0; padding:0 .35rem 1.5rem; list-style:none; }
.sector-list li { display:grid; grid-template-columns:minmax(8rem,.7fr) minmax(0,1.3fr); gap:1.25rem; padding:.9rem 0; border-top:1px solid #e0eaf0; }
.sector-list li strong { color:#123c62; font-size:.95rem; line-height:1.4; }
.sector-list li span { color:#496277; font-size:.94rem; line-height:1.5; }
@media(max-width:760px) {
  .method-intro { grid-template-columns:1fr; gap:1.5rem; }
  .info-main .method-intro h1 { max-width:14ch; font-size:clamp(2.55rem,9vw,4rem); }
  .method-lead { max-width:38ch; margin:0; font-size:1.08rem; }
  .method-steps { margin-top:2.75rem; gap:0; }
  .method-steps article { padding:1.25rem 0; }
  .info-main .method-steps h2 { margin:.55rem 0 .45rem; font-size:1.5rem; }
  .method-example { grid-template-columns:1fr; gap:1.5rem; margin-top:2.5rem; padding:1.6rem; }
  .method-example strong { padding:1.25rem 0 0; border-left:0; border-top:1px solid #75b8ff6e; }
  .examples-grid { grid-template-columns:1fr; gap:2rem; }
  .examples-intro h2 { font-size:clamp(2.8rem,9vw,4rem); }
  .examples-list .example-flow p { display:block; font-size:.92rem; }
  .example-flow strong { display:block; margin-bottom:.15rem; }
  .examples-list.is-motion-ready article:not(.is-visible) { transform:translateX(72px); }
  .sectors-grid { grid-template-columns:1fr; gap:2rem; }
  .sectors-intro h2 { font-size:clamp(2.8rem,9vw,4rem); }
  .sector-list li { grid-template-columns:1fr; gap:.25rem; }
  .sector-accordion.is-motion-ready details:not(.is-visible) { transform:translateX(75px); }
}
@media(prefers-reduced-motion:reduce) { .sector-toggle,.sector-accordion details,.sectors-intro .eyebrow,.sectors-intro>p:last-child { transition:none; animation:none; } }
@media(max-width:760px) {
  .shell { width:min(100% - 2.5rem,560px); }
  .header-inner { min-height:68px; justify-content:space-between; }
  .brand img,.footer-inner .brand img { width:160px; height:52px; }
  .hero { min-height:720px; height:720px; }
  .hero-content { padding-top:13rem; }
  .hero h1 { font-size:clamp(3.6rem,11vw,5.3rem); }
  .showcase-grid,.automation-section .showcase-grid,.assistant-section .showcase-grid { min-height:0; }
  .showcase-copy { padding:4.5rem 0 2rem; }
  .showcase h2,.automation-section h2,.assistant-section h2 { font-size:clamp(2.9rem,9vw,4.7rem); }
  .showcase-copy>p:not(.eyebrow):not(.detail-line) { font-size:1rem; }
  .laptop-scene { transform:none; padding-bottom:4rem; }
  .demo-store-hero { height:62%; }
  .demo-store-footer { height:28%; }
  .flow-scene { margin-bottom:4rem; }
  .phone { transform:rotate(6deg); }
  .contact-section { min-height:490px; background-position:54% center; }
  .contact-content h2 { font-size:clamp(3.8rem,10vw,5rem); }
  .footer-inner { align-items:flex-start; flex-direction:column; gap:1rem; padding-block:1.3rem; }
  .footer-nav { flex-wrap:wrap; gap:1rem 1.5rem; }
}
