/* Business tech · conserva componentes, portadas y catálogo administrable. */
:root { --accent:#75f1bb; --accent-ink:#093b2c; --violet:#8d8dff; }
html[data-theme=dark] { color-scheme:dark; --bg:#090e18; --surface:#101724; --ink:#f1f5fd; --muted:#b3bed1; --line:#273244; --blue:#586fe8; --green:#75f1bb; --green-ink:#8beec3; --shadow:0 16px 48px #0002; --bs-body-bg:#090e18; --bs-body-color:#b3bed1; }
html[data-theme=light] { color-scheme:light; --bg:#f9fbff; --surface:#eef2f9; --ink:#14213a; --muted:#526078; --line:#d2dbea; --green-ink:#086645; }
body { overflow-wrap:break-word; }
button { border:0; }
a,input,textarea,select,summary { -webkit-tap-highlight-color:transparent; }
input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible { outline:2px solid var(--green-ink); outline-offset:4px; }
.rubik-topbar { background:#090e18; border-bottom:1px solid #ffffff0b; color:#b5c0d3; font-size:.75rem; padding-block:9px; }
.status-dot { display:inline-block; width:7px; height:7px; background:#75f1bb; border-radius:50%; margin-right:10px; box-shadow:0 0 12px #75f1bb75; }
.rubik-header { background:#0b1220ed; backdrop-filter:blur(18px); border-bottom:1px solid #ffffff12; }
.rubik-header.is-scrolled { box-shadow:0 8px 28px #0003; }
.rubik-nav { min-height:88px; gap:20px; }
.rubik-brand { font-size:1.65rem; }
.rubik-brand img { background:#fff; padding:4px; width:48px; height:48px; border-radius:13px; }
.rubik-brand small { font-size:.55rem; letter-spacing:.15em; color:#abb9d1; }
.rubik-nav nav { gap:21px; }
.rubik-nav nav a { color:#bcc6d9; font-size:.82rem; }
.rubik-nav nav a:hover,.rubik-nav nav a[aria-current=true] { color:#91f4c8; }
.rubik-nav nav a:after { background:#75f1bb; }
.nav-cta { border:1px solid #a3ffd224; border-radius:12px; min-height:46px; padding:10px 16px; font-size:.8rem; display:flex; gap:15px; align-items:center; }
.theme-toggle { border-radius:12px; }
.rubik-hero { text-align:left; min-height:720px; background:#090e18; }
.hero-photo { animation:none; object-position:center; opacity:.85; }
.rubik-hero:after { background:linear-gradient(90deg,#090e18f5 0%,#090e18ed 28%,#090e18a6 55%,#090e1808 100%),linear-gradient(0deg,#090e18,transparent 24%); }
.hero-content { padding-block:104px 110px; position:relative; }
.hero-content .eyebrow { margin:0 0 24px; display:inline-flex; background:#a9d4ff08; border:1px solid #ffffff20; border-radius:7px; padding:8px 13px; letter-spacing:.12em; font-size:.7rem; color:#a5f7d0; }
.hero-content h1 { max-width:760px; margin:0 0 27px; font-size:clamp(3.5rem,5.8vw,5.5rem); line-height:1.04; letter-spacing:-.06em; text-wrap:balance; }
.hero-content h1 span { background:linear-gradient(105deg,#c5ffe5,#75f1bb 55%,#83d4fc); color:#a9f8d1; background-clip:text; -webkit-text-fill-color:transparent; }
.hero-description { max-width:570px; margin:0 0 32px; font-size:1.08rem; color:#c0cce0; line-height:1.85; }
.hero-actions { justify-content:flex-start; gap:12px; }
.rubik-button { border-radius:12px; font-weight:650; min-height:54px; padding:14px 23px; gap:26px; font-size:.92rem; }
.button-green { background:#75f1bb; color:#092c21; box-shadow:0 8px 35px #75f1bb14; }
.button-green:hover { background:#a0f9d0; color:#092c21; box-shadow:0 12px 38px #75f1bb24; }
.button-blue { background:var(--ink); color:var(--bg); }
.button-blue:hover { background:var(--green-ink); color:var(--bg); }
.button-outline { background:#ffffff03; border:1px solid #ffffff35; color:#eff5ff; }
.hero-assurance { display:flex; flex-wrap:wrap; gap:12px 22px; font-size:.77rem; color:#b8c4d7; margin-top:22px; }
.hero-platforms { margin-top:37px; color:#a0aec7; font-size:.73rem; letter-spacing:.14em; }
.hero-caption { position:absolute; bottom:27px; right:max(24px,calc((100vw - 1152px)/2)); color:#a3b5cc; font-size:.65rem; display:flex; align-items:center; letter-spacing:.12em; }
.hero-caption>span:last-child { color:#75f1bb; margin-left:26px; }
.hero-ambient:before { background:#75f1bb; opacity:.055; width:330px; height:330px; }
.hero-ambient:after { background:#8d8dff; opacity:.08; }
.rubik-strip { background:var(--surface); color:var(--ink); padding-block:31px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.strip-grid { gap:24px; }
.strip-grid div { padding-inline:20px; border-color:var(--line); }
.strip-grid small { display:block; color:var(--green-ink); font-size:.64rem; letter-spacing:.14em; margin-bottom:8px; }
.strip-grid strong { font-size:1.3rem; font-weight:650; }
.strip-grid span { color:var(--muted); font-size:.78rem; }
.section-space { padding-block:108px; }
h2 { letter-spacing:-.045em; font-size:clamp(2.1rem,3.8vw,3.25rem); text-wrap:balance; }
h3 { font-weight:650; }
.section-kicker { font-size:.7rem; letter-spacing:.16em; }
.section-heading { max-width:700px; margin-bottom:50px; }
.section-heading>p:last-child { color:var(--muted); max-width:590px; margin-inline:auto; font-size:1rem; }
.section-tinted { background:radial-gradient(ellipse at 50% 0,#8d8dff05,transparent 55%),var(--surface); }
.about-images { padding-right:75px; padding-bottom:75px; }
.about-images>img { border-radius:20px; filter:saturate(.75); border:1px solid var(--line); }
.about-images>img:nth-child(2) { width:62%; border-width:7px; border-color:var(--bg); }
.about-label { background:#132c2aeb; border:1px solid #75f1bb44; backdrop-filter:blur(14px); font-size:.86rem; border-radius:12px; padding:20px; color:#fff; }
.about-label strong { color:#a2f6d0; }
.section-lead { color:var(--ink); font-size:1.1rem; }
.about-facts { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-block:26px; }
.about-facts>div { border-left:2px solid var(--green-ink); padding-left:16px; }
.about-facts strong { color:var(--ink); font-size:.89rem; font-weight:650; }
.about-facts p { font-size:.83rem; line-height:1.65; margin:7px 0 0; }
.check-list { font-size:.88rem; }
.service-grid { gap:20px; }
.service-card { padding:32px 28px; border:1px solid var(--line); background:linear-gradient(145deg,var(--bg),var(--surface)); border-radius:18px; box-shadow:none; }
.service-card:before { left:20px; right:20px; background:linear-gradient(90deg,transparent,#7be1bd4d,transparent); }
.service-card:hover { background:linear-gradient(140deg,var(--bg),var(--surface)); border-color:var(--green-ink); box-shadow:0 18px 40px #0002; }
.service-card:hover h3 { color:var(--ink); }.service-card:hover p { color:var(--muted); }
.service-icon { width:48px; height:48px; font-size:.9rem; border-radius:12px; background:var(--surface); border:1px solid var(--line); color:var(--green-ink); box-shadow:none; margin-bottom:24px; }
.service-card:hover .service-icon { color:var(--green-ink); background:var(--surface); }
.service-card h3 { font-size:1.23rem; }
.service-card p { font-size:.88rem; line-height:1.8; margin:16px 0 20px; }
.service-tags { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:22px; }
.service-tags span { border:1px solid var(--line); background:var(--surface); color:var(--muted); padding:4px 9px; font-size:.7rem; border-radius:5px; }
.service-quote { margin-top:auto; color:var(--green-ink); background:transparent; text-align:left; display:flex; align-items:center; justify-content:space-between; min-height:44px; font-size:.85rem; border-top:1px solid var(--line); padding:16px 0 0; font-weight:600; }
.case-card { background:var(--surface); box-shadow:none; }
.case-card:hover { box-shadow:0 16px 45px #0003; border-color:var(--green-ink); }
.case-copy { padding:25px; }.case-copy h3 { font-size:1.23rem; }.case-description { font-size:.86rem; }.case-category { font-size:.66rem; }
.case-cover { aspect-ratio:16/11; }.cases-heading>p { font-size:.91rem; }
.case-quote { display:flex; justify-content:space-between; align-items:center; width:100%; min-height:44px; border-top:1px solid var(--line); padding:14px 0 0; margin-top:20px; background:transparent; color:var(--green-ink); font-size:.8rem; }
.business-value { border-top:1px solid var(--line); }
.value-heading { display:flex; justify-content:space-between; align-items:end; gap:50px; margin-bottom:35px; }
.value-heading h2 { margin-bottom:0; }.value-heading h2 span { color:var(--muted); }.value-heading>p { font-size:.9rem; margin-bottom:0; }
.value-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:20px; }
.value-card { background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:30px; display:flex; flex-direction:column; position:relative; overflow:hidden; }
.value-feature { background:radial-gradient(ellipse at 50% 0,#75f1bb0a,transparent 75%),var(--surface); }
.value-card h3 { font-size:1.23rem; }.value-card>p { font-size:.86rem; line-height:1.85; margin-top:12px; }.value-card .service-tags { margin:18px 0 0; }
.value-number { color:var(--green-ink); border:1px solid var(--line); border-radius:50%; width:62px; height:62px; display:grid; place-items:center; font-size:2.25rem; margin:12px 0 30px; background:var(--bg); }
.connection-map { display:grid; grid-template-columns:1fr 1fr; gap:12px; text-align:center; margin:4px 0 30px; }
.connection-map span { background:var(--bg); border:1px solid var(--line); border-radius:7px; padding:8px; font-size:.74rem; color:var(--muted); }
.connection-map strong { grid-column:1/-1; justify-self:center; border:1px solid var(--green-ink); background:#75f1bb0a; border-radius:9px; color:var(--green-ink); font-size:.85rem; padding:12px 28px; box-shadow:0 0 28px #75f1bb0c; position:relative; }
.connection-map strong:before,.connection-map strong:after { content:""; position:absolute; left:50%; height:13px; width:1px; background:var(--green-ink); opacity:.4; }.connection-map strong:before { bottom:100%; }.connection-map strong:after { top:100%; }
.integration-section { padding-block:60px; border-block:1px solid var(--line); background:var(--surface); }
.integration-section>.container { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:55px; }
.integration-section h2 { font-size:1.9rem; margin-bottom:16px; }.integration-section p:last-child { margin:0; font-size:.84rem; }
.integration-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.integration-grid>div { background:var(--bg); border:1px solid var(--line); border-radius:10px; display:flex; align-items:center; gap:10px; padding:18px 13px; color:var(--ink); font-size:.74rem; }
.integration-grid img { background:#fff; border-radius:8px; padding:4px; width:30px; height:30px; object-fit:contain; }
.process-grid { grid-template-columns:repeat(4,1fr); gap:28px; }
.process-grid span { font-size:.65rem; }.process-grid h3 { font-size:1.15rem; }.process-grid p { font-size:.86rem; line-height:1.8; }.process-grid small { display:block; color:var(--green-ink); border-top:1px solid var(--line); padding-top:16px; margin-top:22px; font-size:.75rem; }
.process-cta { margin-top:42px; display:flex; justify-content:center; align-items:center; gap:28px; border:1px solid var(--line); background:var(--bg); border-radius:14px; padding:25px; }
.process-cta>span { font-size:.9rem; }
.faq-layout { display:grid; grid-template-columns:1fr 1.3fr; gap:90px; }.faq-layout>div:first-child>p:not(.section-kicker) { font-size:.9rem; max-width:340px; }
.text-cta { color:var(--green-ink); border-bottom:1px solid var(--line); padding:12px 0; background:transparent; min-height:44px; font-size:.88rem; text-align:left; }
.faq-list details { border-bottom:1px solid var(--line); }.faq-list details:first-child { border-top:1px solid var(--line); }
.faq-list summary { position:relative; cursor:pointer; list-style:none; padding:23px 36px 23px 0; color:var(--ink); font-size:.92rem; font-weight:600; min-height:44px; }
.faq-list summary::-webkit-details-marker { display:none; }.faq-list summary:after { content:"+"; position:absolute; right:3px; top:21px; color:var(--green-ink); font-size:1.3rem; font-weight:400; }
.faq-list details[open] summary:after { content:"−"; }.faq-list details[open] summary { color:var(--green-ink); }
.faq-list p { font-size:.88rem; line-height:1.9; padding-right:22px; margin-bottom:25px; }
.contact-section { background:radial-gradient(ellipse at 95% 70%,#75f1bb16,transparent 60%),linear-gradient(120deg,#0e1a28,#101e2e); border-block:1px solid #ffffff14; }
.contact-section h2 span { color:#9cf2ce; }.contact-section p { color:#bdcbe0; }.contact-section:before { border-color:#75f1bb1a; box-shadow:0 0 0 70px #75f1bb03,0 0 0 140px #75f1bb02; }
.contact-actions { padding:32px; border:1px solid #ffffff1b; border-radius:18px; background:#ffffff03; align-items:stretch; gap:16px; }
.contact-note { color:#b9c9dc; font-size:.75rem; text-align:center; }.contact-actions .contact-email { color:#dbedff; font-size:1rem; text-align:center; }.contact-actions .contact-fallback { justify-content:center; font-size:.75rem; }
.rubik-footer { background:#080d16; border-top:1px solid #ffffff0d; }.footer-grid p { color:#a7b5ce; }.footer-quote { display:flex; align-items:center; background:none; color:#b7c4dd; min-height:44px; padding:0; font-size:1rem; text-align:left; }.footer-quote:hover { color:#80edbc; }
.mobile-quote { display:none; }
/* Dialog: pantalla dividida, navegación por pasos y estados de envío. */
html.quote-open { overflow:hidden; }
#quote-dialog { padding:0; width:min(1000px,calc(100% - 40px)); max-width:1000px; max-height:90vh; max-height:90dvh; border:1px solid var(--line); border-radius:23px; background:var(--bg); color:var(--ink); box-shadow:0 35px 120px #0009; overflow:auto; }
#quote-dialog::backdrop { background:#030711c9; backdrop-filter:blur(9px); }
#quote-dialog[open] { animation:dialog-in .22s ease; }
.quote-shell { display:grid; grid-template-columns:.8fr 1.2fr; min-height:660px; }
.quote-aside { background:radial-gradient(ellipse at 90% 55%,#75f1bb17,transparent 65%),linear-gradient(140deg,#111d30,#0b1520); padding:38px; color:#afc0d8; display:flex; flex-direction:column; gap:36px; position:relative; overflow:hidden; }
.quote-aside:before { content:""; position:absolute; top:160px; right:-150px; width:300px; height:300px; border:1px solid #75f1bb12; border-radius:50%; box-shadow:0 0 0 50px #75f1bb03; pointer-events:none; }
.quote-aside>* { position:relative; }.quote-aside .rubik-brand { font-size:1.4rem; }.quote-aside .rubik-brand img { width:44px; height:44px; }
.quote-aside .section-kicker { color:#9cf2ce; font-size:.63rem; }.quote-aside h2 { color:#fff; font-size:2.7rem; line-height:1.12; margin:0 0 20px; letter-spacing:-.045em; }.quote-aside h2 span { color:#9cf2ce; }
.quote-aside p:not(.section-kicker) { font-size:.86rem; line-height:1.85; margin-bottom:0; }.quote-aside>small { font-size:.65rem; margin-top:auto; letter-spacing:.08em; }
.quote-benefits { padding:0; list-style:none; counter-reset:benefits; margin:0; font-size:.78rem; }.quote-benefits li { counter-increment:benefits; display:flex; align-items:center; gap:10px; margin-bottom:15px; }.quote-benefits li:before { content:"0" counter(benefits); color:#a3f2d0; border:1px solid #75f1bb30; background:#75f1bb08; border-radius:6px; padding:4px 8px; font-size:.65rem; }
.quote-main { padding:38px; position:relative; min-width:0; }.quote-close { position:absolute; top:17px; right:15px; width:44px; height:44px; border:1px solid var(--line); color:var(--muted); background:var(--surface); border-radius:50%; font-size:1rem; z-index:1; }.quote-close:hover { color:var(--ink); border-color:var(--green-ink); }
.quote-step-label { display:flex; justify-content:space-between; gap:10px; padding-right:42px; font-size:.65rem; color:var(--muted); letter-spacing:.06em; }.quote-step-label>span:first-child { color:var(--green-ink); font-weight:600; }
.quote-progress { height:3px; background:var(--line); border-radius:4px; margin:17px 0 28px; overflow:hidden; }.quote-progress span { display:block; height:100%; width:50%; background:var(--green-ink); transition:width .25s; }
.quote-main h2 { font-size:1.9rem; margin-bottom:12px; line-height:1.2; }.quote-main #quote-description { font-size:.84rem; color:var(--muted); line-height:1.7; margin-bottom:24px; }
.quote-step { margin:0; padding:0; min-width:0; border:0; }.quote-types { padding:0; border:0; display:grid; grid-template-columns:repeat(2,1fr); gap:9px; margin:0 0 21px; min-width:0; }
.quote-types legend { font-size:.8rem; font-weight:600; margin-bottom:11px; color:var(--ink); float:none; width:auto; }
.quote-types label { position:relative; cursor:pointer; }.quote-types input { position:absolute; width:1px; height:1px; opacity:0; }
.quote-types span { display:flex; align-items:center; gap:10px; min-height:50px; border:1px solid var(--line); border-radius:9px; padding:10px 12px; color:var(--muted); font-size:.75rem; background:var(--surface); }
.quote-types b { color:var(--green-ink); font-size:1.1rem; font-weight:400; }.quote-types input:checked+span { color:var(--ink); border-color:var(--green-ink); background:#75f1bb0a; box-shadow:inset 0 0 0 1px var(--green-ink); }.quote-types input:focus-visible+span { outline:2px solid var(--green-ink); outline-offset:3px; }
.quote-field { display:flex; flex-direction:column; gap:8px; margin-bottom:18px; font-size:.78rem; color:var(--ink); font-weight:550; }.quote-field>span { display:none; }.quote-field>small { color:var(--muted); font-size:.7rem; font-weight:400; }
.quote-field input,.quote-field textarea,.quote-field select { width:100%; border:1px solid var(--line); border-radius:9px; background:var(--surface); color:var(--ink); padding:12px; min-height:47px; font-size:.86rem; font-weight:400; line-height:1.5; }.quote-field input::placeholder,.quote-field textarea::placeholder { color:var(--muted); opacity:.82; }.quote-field textarea { resize:vertical; min-height:103px; max-height:240px; }
.quote-field select { font-size:.76rem; padding-right:24px; }.quote-field [aria-invalid=true] { border-color:#ef878f; }.quote-fields-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.quote-fields-row .quote-field { min-width:0; }
.quote-next { width:100%; justify-content:space-between; margin-top:2px; }
.quote-consent { display:flex; align-items:flex-start; gap:10px; font-size:.76rem; color:var(--muted); line-height:1.7; margin:10px 0 24px; cursor:pointer; padding-block:8px; }.quote-consent input { accent-color:var(--green-ink); width:20px; height:20px; flex-shrink:0; margin-top:3px; }.quote-consent a { color:var(--green-ink); text-decoration:underline; text-underline-offset:3px; }
.quote-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }.quote-form-actions { display:flex; gap:18px; align-items:center; justify-content:space-between; }.quote-form-actions .rubik-button { flex:1; }.quote-back { min-height:44px; padding:8px; background:none; color:var(--muted); font-size:.84rem; }.quote-privacy { font-size:.7rem; text-align:center; color:var(--muted); margin-top:17px; }
#quote-status { font-size:.82rem; line-height:1.65; color:#ef878f; margin:13px 0 0; }#quote-status:empty { display:none; }
.quote-success { text-align:center; padding:28px 0; }.success-symbol { display:grid; place-items:center; width:74px; height:74px; color:var(--green-ink); font-size:2rem; border-radius:50%; border:1px solid var(--green-ink); background:#75f1bb10; margin:0 auto 28px; box-shadow:0 0 0 12px #75f1bb04; }.quote-success h2 { font-size:2.15rem; }.quote-success>p:not(.section-kicker) { font-size:.88rem; color:var(--muted); }.quote-receipt { border:1px solid var(--line); background:var(--surface); border-radius:12px; display:grid; text-align:left; gap:5px; padding:20px; margin:25px 0; }.quote-receipt span { font-size:.7rem; color:var(--muted); }.quote-receipt strong { font-size:.85rem; font-weight:600; overflow-wrap:anywhere; }.quote-receipt strong+span { margin-top:13px; }
@keyframes dialog-in { from { opacity:0; transform:translateY(12px) scale(.985); } to { opacity:1; transform:none; } }
@media(min-width:1200px) { .nav-cta { display:flex; } }
@media(max-width:1199px) { .rubik-nav nav { gap:16px; }.rubik-nav { gap:16px; }.nav-cta { display:none; }.hero-content h1 { font-size:4.5rem; }.hero-description { max-width:530px; }.rubik-hero { min-height:690px; }.value-card { padding:25px; } }
@media(max-width:991px) { .section-space { padding-block:80px; }.rubik-nav { min-height:80px; padding-block:14px; }.rubik-nav nav.is-open { display:flex; gap:0; }.rubik-nav nav a { font-size:.94rem; padding-block:11px; }.rubik-hero { min-height:650px; }.hero-content { padding-block:80px 105px; }.hero-content h1 { font-size:4rem; }.hero-description { max-width:480px; }.hero-photo { object-position:70% center; }.about-images { max-width:460px; }.value-grid { grid-template-columns:1fr 1fr; }.value-feature { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; gap:12px 28px; }.value-feature .section-kicker { grid-column:1; }.value-feature .connection-map { grid-column:2; grid-row:1/4; margin:0; align-self:center; }.value-feature h3,.value-feature>p { grid-column:1; }.value-feature>p { margin:0; }.integration-section>.container { grid-template-columns:1fr; gap:28px; }.process-grid { grid-template-columns:repeat(2,1fr); gap:35px; }.faq-layout { gap:40px; }.contact-layout { grid-template-columns:1.1fr 1fr; gap:32px; }.contact-actions { padding:24px; }.quote-shell { grid-template-columns:.75fr 1.25fr; }.quote-aside,.quote-main { padding:30px; }.quote-aside h2 { font-size:2.2rem; } }
@media(max-width:767px) { .hero-content h1 { font-size:3.7rem; }.hero-content .eyebrow { font-size:.62rem; }.hero-description { max-width:450px; }.value-heading { display:block; }.value-heading>p { margin-top:20px; }.faq-layout,.contact-layout { grid-template-columns:1fr; }.faq-layout { gap:30px; }.faq-layout>div:first-child>p:not(.section-kicker) { max-width:100%; }.quote-shell { grid-template-columns:1fr; min-height:0; }.quote-aside { display:none; }#quote-dialog { width:calc(100% - 28px); max-width:560px; }.quote-main { padding:32px 27px; }.quote-step-label { padding-right:35px; font-size:.62rem; }.quote-main h2 { font-size:1.85rem; }.quote-success { padding-block:35px; } }
@media(max-width:575px) { .container { padding-inline:21px; }.section-space { padding-block:65px; }.rubik-topbar { padding-block:8px; }.rubik-topbar a { font-size:.7rem; }.rubik-nav { gap:10px; }.rubik-brand { font-size:1.4rem; }.rubik-brand img { width:42px; height:42px; }.rubik-brand small { font-size:.46rem; }.rubik-hero { min-height:650px; }.hero-photo { object-position:100% center; opacity:.7; }.rubik-hero:after { background:linear-gradient(90deg,#090e18ed,#090e189c),linear-gradient(0deg,#090e18,transparent 45%); }.hero-content { padding-block:66px 84px; }.hero-content h1 { font-size:clamp(2.65rem,10.2vw,3.7rem); max-width:100%; margin-bottom:24px; }.hero-content .eyebrow { font-size:.58rem; padding:8px 9px; letter-spacing:.05em; margin-bottom:22px; }.hero-description { font-size:.97rem; line-height:1.85; margin-bottom:26px; }.hero-actions { gap:11px; }.hero-actions .rubik-button { justify-content:space-between; }.hero-assurance { gap:8px 16px; font-size:.7rem; }.hero-platforms { font-size:.65rem; margin-top:28px; }.hero-caption { bottom:22px; right:21px; left:21px; font-size:.55rem; }.hero-caption>span:last-child { margin-left:auto; }.strip-grid { gap:25px 16px; }.strip-grid div { border:0; padding:0; }.strip-grid small { font-size:.57rem; }.strip-grid strong { font-size:1.15rem; }.strip-grid span { font-size:.74rem; }.about-images { padding-right:55px; padding-bottom:65px; }.about-facts { gap:15px; }.about-facts strong { font-size:.81rem; }.about-facts p { font-size:.78rem; }.about-label { padding:15px; font-size:.78rem; }.service-card { padding:28px; }.service-grid,.cases-grid { gap:18px; }.value-grid { grid-template-columns:1fr; }.value-feature { display:flex; }.value-feature .connection-map { margin:5px 0 22px; }.value-card { padding:28px; }.value-number { margin-top:0; margin-bottom:24px; }.integration-section { padding-block:45px; }.integration-section h2 { font-size:1.7rem; }.integration-grid { grid-template-columns:repeat(2,1fr); gap:10px; }.integration-grid>div { padding:16px 12px; }.process-grid { grid-template-columns:1fr; gap:35px; }.process-grid h3 { margin-top:15px; }.process-grid small { margin-top:17px; }.process-cta { flex-direction:column; gap:18px; align-items:stretch; text-align:center; padding:23px; }.contact-actions { padding:24px 20px; }.contact-section h2 { font-size:2.75rem; }.faq-list summary { font-size:.87rem; }.faq-list p { font-size:.85rem; }.footer-bottom { padding-bottom:95px; }.mobile-quote { display:flex; justify-content:space-between; align-items:center; gap:12px; position:fixed; bottom:0; left:0; right:0; z-index:25; padding:12px 18px calc(12px + env(safe-area-inset-bottom)); background:#0b1421f5; border-top:1px solid #ffffff1a; backdrop-filter:blur(16px); }.mobile-quote>span { font-size:.7rem; color:#c3d0e3; max-width:175px; line-height:1.5; }.mobile-quote>button { border-radius:10px; padding:11px 17px; min-height:44px; background:#75f1bb; color:#092c21; font-size:.84rem; font-weight:650; }.quote-main { padding:29px 21px 23px; }.quote-step-label { font-size:.58rem; letter-spacing:0; }.quote-close { right:10px; top:12px; width:40px; height:40px; }.quote-progress { margin-block:17px 23px; }.quote-main h2 { font-size:1.65rem; }.quote-types span { font-size:.73rem; padding:10px; gap:7px; }.quote-fields-row { grid-template-columns:1fr; gap:0; }.quote-field { font-size:.78rem; margin-bottom:15px; }.quote-field input,.quote-field textarea,.quote-field select { font-size:1rem; }.quote-field select { font-size:.9rem; }.quote-field textarea { min-height:100px; }.quote-success h2 { font-size:1.9rem; }.quote-form-actions { gap:9px; }.quote-form-actions .rubik-button { font-size:.85rem; padding-inline:16px; } }
@media(max-width:375px) { .rubik-nav { gap:8px; }.rubik-brand { font-size:1.12rem; }.rubik-brand img { width:36px; height:36px; }.rubik-brand small { font-size:.4rem; }.hero-content .eyebrow { font-size:.52rem; }.hero-assurance { font-size:.66rem; }.quote-step-label>span:last-child { display:none; }.quote-types span { font-size:.67rem; }.quote-main { padding-inline:18px; } }
@media(prefers-reduced-motion:reduce) { #quote-dialog[open] { animation:none; }.quote-progress span { transition:none; }.service-card { transform:none!important; } }
