/*
Theme Name: Conexa Web
Theme URI: https://conexa-tpv.com/
Author: Conexa TPV
Author URI: https://conexa-tpv.com/
Description: Tema corporativo de Conexa TPV para hostelería y comercio en la provincia de Cádiz.
Version: 1.4.8
Text Domain: conexa-web
*/

@font-face { font-family:"Conexa Display"; src:url("assets/fonts/montserrat.woff2") format("woff2"); font-weight:100 900; font-display:optional; }
@font-face { font-family:"Conexa Text"; src:url("assets/fonts/albert-sans.woff2") format("woff2"); font-weight:100 900; font-display:optional; }
@font-face { font-family:"Conexa Text"; src:url("assets/fonts/albert-sans-italic.woff2") format("woff2"); font-style:italic; font-weight:100 900; font-display:optional; }

:root {
	--navy:#00263e;
	--navy-2:#06334f;
	--orange:#ff671d;
	--orange-dark:#b83700;
	--orange-action:#d13f00;
	--cream:#f6f2ea;
	--mist:#eef3f5;
	--paper:#fff;
	--ink:#0b293b;
	--muted:#5a6b75;
	--line:#d8e1e5;
	--green:#0f824b;
	--radius:22px;
	--shadow:0 22px 60px rgba(0,38,62,.13);
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"Conexa Text",Arial,sans-serif; line-height:1.55; -webkit-font-smoothing:antialiased; }
body,button,input,select,textarea { font-family:"Conexa Text",Arial,sans-serif; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
p { margin-top:0; }
.skip-link:focus,
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible { outline:3px solid var(--orange-action); outline-offset:3px; }
.wrap { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
.skip-link { position:fixed; top:8px; left:8px; z-index:1000; padding:10px 14px; background:#fff; color:var(--navy); transform:translateY(-150%); }
.skip-link:focus { transform:none; }

h1,h2,h3 { margin:0; font-family:"Conexa Display","Conexa Text",sans-serif; line-height:1.06; letter-spacing:-.045em; }
h1 { max-width:760px; font-size:clamp(3rem,6.3vw,6.15rem); }
h2 { font-size:clamp(2.3rem,4.1vw,4.35rem); }
h3 { font-size:1.35rem; }
.eyebrow { margin:0 0 16px; color:var(--orange-dark); font-family:"Conexa Display",sans-serif; font-size:.75rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.eyebrow-light { color:#ff9a68; }
.section { padding:104px 0; }
.section-heading { margin-bottom:48px; }
.split-heading { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(280px,.62fr); align-items:end; gap:80px; }
.split-heading > p { margin:0 0 6px; color:var(--muted); font-size:1.08rem; }
.centered-heading { max-width:760px; margin-right:auto; margin-left:auto; text-align:center; }
.centered-heading > p:last-child { margin:20px 0 0; color:var(--muted); font-size:1.08rem; }

.service-bar { color:#fff; background:var(--navy); font-size:.82rem; }
.service-bar-inner { min-height:36px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.service-bar p { display:flex; gap:10px; margin:0; }
.service-bar strong { color:#ff9a68; }
.service-bar span,.service-area { opacity:.82; }
.site-header { position:sticky; top:0; z-index:50; border-bottom:1px solid rgba(0,38,62,.08); background:rgba(255,255,255,.95); backdrop-filter:blur(14px); }
.header-inner { min-height:78px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.brand { flex:0 0 auto; }
.brand img { width:178px; height:auto; }
.menu { display:flex; align-items:center; gap:20px; margin:0; padding:0; list-style:none; color:#254151; font-size:.94rem; font-weight:700; }
.menu a { position:relative; }
.menu a:after { position:absolute; right:0; bottom:-8px; left:0; height:2px; background:var(--orange); content:""; transform:scaleX(0); transition:transform .2s ease; }
.menu a:hover:after,.menu a:focus-visible:after { transform:scaleX(1); }
.header-actions { display:flex; align-items:center; gap:16px; }
.header-phone { font-weight:800; white-space:nowrap; }

.button { display:inline-flex; min-height:52px; align-items:center; justify-content:center; gap:8px; padding:13px 21px; border:0; border-radius:12px; background:var(--orange-action); color:#fff; font-weight:800; line-height:1.2; cursor:pointer; box-shadow:0 12px 25px rgba(209,63,0,.22); transition:transform .18s ease,background .18s ease,box-shadow .18s ease; }
.button:hover { background:var(--orange-dark); transform:translateY(-2px); box-shadow:0 16px 30px rgba(255,103,29,.26); }
.button-small { min-height:42px; padding:9px 15px; border-radius:10px; font-size:.9rem; }
.button-outline { border:1px solid #a8b9c2; background:#fff; color:var(--navy); box-shadow:none; }
.button-outline:hover { border-color:var(--navy); background:var(--navy); color:#fff; }
.button-whatsapp { background:var(--green); box-shadow:0 12px 25px rgba(18,140,82,.2); }
.button-whatsapp:hover { background:#0c7443; box-shadow:0 16px 30px rgba(18,140,82,.25); }
.button-block { width:100%; }

.hero { overflow:hidden; padding:76px 0 82px; background:radial-gradient(circle at 85% 20%,rgba(255,103,29,.13),transparent 24%),linear-gradient(135deg,#fff 0%,#f7fafb 55%,#edf4f6 100%); }
.hero-grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr); align-items:center; gap:72px; }
.hero h1 span { color:var(--orange); }
.lead { max-width:670px; margin:26px 0 31px; color:#425966; font-size:clamp(1.08rem,1.6vw,1.25rem); }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.hero-facts { display:flex; gap:38px; margin:44px 0 0; padding:26px 0 0; border-top:1px solid var(--line); list-style:none; }
.hero-facts li { display:grid; }
.hero-facts strong { color:var(--navy); font-family:"Conexa Display",sans-serif; font-size:1.45rem; line-height:1.1; }
.hero-facts span { color:var(--muted); font-size:.82rem; }
.hero-visual { position:relative; min-height:590px; }
.hero-visual:before { position:absolute; inset:8% -22% -8% 20%; border-radius:50%; background:var(--orange); opacity:.08; content:""; }
.hero-visual > img,.hero-visual > video { position:absolute; inset:0; width:100%; height:100%; border-radius:140px 22px 22px 22px; object-fit:cover; object-position:center; background:var(--navy); box-shadow:var(--shadow); }
.hero-visual:after { position:absolute; inset:0; border-radius:140px 22px 22px 22px; background:linear-gradient(180deg,transparent 60%,rgba(0,38,62,.28)); content:""; }
.plan-float { position:absolute; z-index:2; right:-34px; bottom:36px; width:265px; padding:24px; border-radius:18px; color:#fff; background:var(--navy); box-shadow:var(--shadow); }
.plan-float > span { display:block; margin-bottom:5px; color:#ff9a68; font-size:.72rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.plan-float p { margin:0; }
.plan-float p strong { font-family:"Conexa Display",sans-serif; font-size:2.6rem; }
.plan-float small { display:block; margin-top:-3px; opacity:.72; }
.plan-float ul { display:flex; flex-wrap:wrap; gap:5px 12px; margin:15px 0 0; padding:14px 0 0; border-top:1px solid rgba(255,255,255,.18); list-style:none; font-size:.78rem; }
.plan-float li:before { margin-right:5px; color:var(--orange); content:"•"; }
.coverage-cloud { position:absolute; z-index:3; top:28px; left:-36px; width:390px; display:flex; flex-wrap:wrap; gap:7px; }
.location-chip { display:inline-flex; align-items:center; padding:8px 12px; border:1px solid rgba(0,38,62,.1); border-radius:999px; color:#36515f; background:rgba(255,255,255,.93); font-size:.7rem; font-weight:800; box-shadow:0 8px 24px rgba(0,38,62,.11); backdrop-filter:blur(8px); }
.location-main { padding:11px 15px; color:var(--navy); font-size:.84rem; }
.location-main i { margin-right:7px; color:var(--orange); font-style:normal; }
.province-chip { border-color:var(--orange); color:var(--navy); background:var(--orange); }

.trust-strip { color:var(--navy); background:var(--orange); }
.trust-grid { min-height:90px; display:grid; grid-template-columns:repeat(4,1fr); align-items:center; }
.trust-grid p { display:flex; align-items:center; gap:12px; margin:0; padding:12px 22px; border-right:1px solid rgba(0,38,62,.3); }
.trust-grid p:first-child { padding-left:0; }
.trust-grid p:last-child { padding-right:0; border-right:0; }
.trust-grid span { display:grid; width:30px; height:30px; flex:0 0 30px; place-items:center; border:1px solid rgba(0,38,62,.55); border-radius:50%; font-size:.69rem; }
.trust-grid strong { font-size:.89rem; line-height:1.25; }

.value-section { background:#fff; }
.value-grid { display:grid; grid-template-columns:1.12fr repeat(3,1fr); gap:15px; }
.value-card { min-height:310px; padding:28px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; }
.value-card.featured { color:#fff; border-color:var(--navy); background:var(--navy); }
.value-card h3 { margin:70px 0 14px; font-size:1.45rem; }
.value-card p { margin:0; color:var(--muted); }
.value-card.featured p { color:#c5d1d8; }
.card-number { color:var(--orange); font-family:"Conexa Display",sans-serif; font-size:3rem; font-weight:800; line-height:1; }
.line-icon { display:grid; width:50px; height:50px; place-items:center; border-radius:14px; color:var(--orange-dark); background:#fff1e9; font-family:"Conexa Display",sans-serif; font-size:1.5rem; font-weight:800; }

.plans-section { position:relative; overflow:hidden; color:#fff; background:var(--navy); }
.plans-section:after { position:absolute; top:-220px; right:-130px; width:540px; height:540px; border:90px solid rgba(255,103,29,.08); border-radius:50%; content:""; }
.plans-section .wrap { position:relative; z-index:1; }
.plans-heading { max-width:800px; }
.plans-heading > p:last-child { max-width:680px; margin:20px 0 0; color:#b9cbd4; font-size:1.05rem; }
.plans-grid { display:grid; grid-template-columns:.86fr 1.14fr; gap:18px; }
.plan-card { position:relative; border-radius:var(--radius); background:#fff; color:var(--ink); }
.primary-plan { padding:36px; }
.plan-label { position:absolute; top:0; right:28px; padding:8px 13px; border-radius:0 0 10px 10px; color:var(--navy); background:var(--orange); font-size:.7rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.plan-name { margin:0 0 8px; color:var(--orange-dark); font-size:.75rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.primary-plan h3 { font-size:2rem; }
.price { display:flex; align-items:baseline; gap:7px; margin:26px 0 0; }
.price strong { font-family:"Conexa Display",sans-serif; font-size:3.8rem; line-height:1; }
.price span { color:var(--muted); font-weight:700; }
.tax { margin:5px 0 24px; color:var(--muted); font-size:.83rem; }
.check-list { display:grid; gap:11px; margin:0 0 30px; padding:24px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); list-style:none; }
.check-list li:before { display:inline-grid; width:19px; height:19px; margin-right:9px; place-items:center; border-radius:50%; background:#e3f5eb; color:var(--green); content:"✓"; font-size:.72rem; font-weight:900; }
.plan-stack { display:grid; gap:16px; }
.compact-plan { min-height:165px; display:grid; grid-template-columns:1fr auto; align-items:center; gap:25px; padding:28px 32px; }
.compact-plan h3 { font-size:1.7rem; }
.compact-plan p:not(.plan-name) { margin:9px 0 0; color:var(--muted); }
.compact-price { display:grid; min-width:160px; text-align:right; }
.compact-price strong { font-family:"Conexa Display",sans-serif; font-size:2.15rem; line-height:1; }
.compact-price span,.compact-price small { color:var(--muted); }
.compact-price span { margin-top:5px; font-size:.8rem; }
.compact-price small { margin-top:12px; padding-top:10px; border-top:1px solid var(--line); }
.compact-action { display:grid; min-width:210px; justify-items:end; gap:14px; }
.price-on-request strong { max-width:230px; color:var(--orange-dark); font-size:1.25rem; }
.price-on-request span { color:var(--navy); font-size:.82rem; font-weight:800; }
.plan-contact-button { min-width:190px; }
.plan-note { display:grid; grid-template-columns:.8fr 1.2fr; align-items:center; gap:28px; padding:23px 28px; border:1px solid rgba(255,255,255,.2); border-radius:18px; color:#fff; background:rgba(255,255,255,.06); }
.plan-note strong { color:#ff9a68; }
.plan-note span { color:#b9cbd4; font-size:.9rem; }
.plan-options-row { display:grid; grid-template-columns:1.15fr .85fr; gap:16px; margin-top:18px; }
.software-only,.extras-box { padding:27px 29px; border:1px solid rgba(255,255,255,.18); border-radius:18px; background:rgba(255,255,255,.06); }
.mini-label { display:block; margin-bottom:8px; color:#ff9a68; font-size:.68rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.software-only h3,.extras-box h3 { color:#fff; font-size:1.25rem; }
.software-only ul { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:22px 0 13px; padding:0; list-style:none; }
.software-only li { display:grid; padding-right:12px; border-right:1px solid rgba(255,255,255,.17); }
.software-only li:last-child { border-right:0; }
.software-only li strong { color:#fff; font-family:"Conexa Display",sans-serif; font-size:1.35rem; }
.software-only li span,.software-only small,.extras-box small { color:#9fb5c0; font-size:.76rem; }
.software-only .software-quote strong { color:#ff9a68; font-size:.91rem; line-height:1.15; }
.software-quote span { margin-top:5px; }
.software-quote-button { min-height:36px; margin-top:12px; padding:7px 9px; font-size:.67rem; text-align:center; }
.extras-box p { margin:22px 0 13px; color:#dbe5ea; }
.extras-box p strong { color:#fff; }
.plan-footer { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:22px; padding-top:22px; border-top:1px solid rgba(255,255,255,.16); }
.plan-footer p { margin:0; color:#b9cbd4; }
.plan-footer a { color:#ff9a68; font-weight:800; }

.solutions-section { background:var(--cream); }
.solutions-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.solution-card { min-height:390px; display:grid; grid-template-columns:minmax(0,1fr) minmax(180px,.72fr); align-items:center; gap:24px; overflow:hidden; padding:34px; border-radius:var(--radius); background:#fff; }
.solution-copy { align-self:end; padding-bottom:5px; }
.solution-tag { display:inline-flex; padding:5px 9px; border-radius:999px; color:var(--orange-dark); background:#fff0e8; font-size:.69rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.solution-copy h3 { margin:16px 0 13px; font-size:1.85rem; }
.solution-copy p { color:var(--muted); }
.solution-copy strong { display:block; margin-top:20px; color:var(--navy); font-size:.86rem; }
.solution-visual { align-self:center; }
.kds-ui { display:grid; gap:9px; padding:17px; border:10px solid #132c3b; border-radius:13px; color:#fff; background:#213f50; box-shadow:0 17px 30px rgba(0,38,62,.18); transform:rotate(3deg); }
.kds-ui span { color:#ff9a68; font-size:.7rem; font-weight:800; text-transform:uppercase; }
.kds-ui i { padding:8px; border-radius:6px; background:rgba(255,255,255,.09); font-size:.72rem; font-style:normal; }
.kds-ui b { padding:7px; border-radius:6px; color:var(--navy); background:#63d8a4; font-size:.68rem; text-align:center; }
.phone-ui { display:grid; place-items:center; }
.phone-ui > div { width:140px; min-height:265px; display:grid; align-content:start; gap:10px; padding:28px 14px 16px; border:8px solid var(--navy); border-radius:25px; background:#f8fafb; box-shadow:0 18px 34px rgba(0,38,62,.2); transform:rotate(-5deg); }
.phone-ui small { color:var(--orange-dark); font-weight:800; }
.phone-ui strong { margin:4px 0 35px; font-size:1.1rem; }
.phone-ui span { padding:9px; border-radius:7px; background:#e9eff2; font-size:.72rem; }
.phone-ui b { margin-top:20px; padding:9px; border-radius:7px; color:#fff; background:var(--green); font-size:.7rem; text-align:center; }
.chart-ui { padding:22px; border-radius:15px; color:#fff; background:var(--navy); box-shadow:0 18px 34px rgba(0,38,62,.2); transform:rotate(2deg); }
.chart-ui > span { display:block; color:#a9bec9; font-size:.72rem; }
.chart-ui > strong { display:block; margin-top:5px; font-size:1.35rem; }
.chart-ui div { height:115px; display:flex; align-items:end; gap:7px; margin-top:18px; }
.chart-ui i { flex:1; border-radius:4px 4px 0 0; background:#ff8e57; }
.chart-ui i:nth-child(1){height:32%}.chart-ui i:nth-child(2){height:58%}.chart-ui i:nth-child(3){height:46%}.chart-ui i:nth-child(4){height:78%}.chart-ui i:nth-child(5){height:94%}
.kiosk-ui { display:grid; place-items:center; }
.kiosk-ui > div { width:150px; min-height:275px; padding:18px 13px; border:9px solid #122b3a; border-radius:10px; background:#fff; box-shadow:0 18px 34px rgba(0,38,62,.2); transform:rotate(4deg); }
.kiosk-ui span { display:block; margin-bottom:18px; color:var(--navy); font-size:.8rem; font-weight:800; text-align:center; }
.kiosk-ui i { display:inline-block; width:53px; height:75px; margin:3px; border-radius:8px; background:linear-gradient(145deg,#ffe2d3,#ff925d); }
.kiosk-ui b { display:block; margin:28px 5px 0; padding:9px; border-radius:7px; color:#fff; background:var(--orange-action); font-size:.7rem; text-align:center; }
.cash-ui { display:grid; gap:12px; padding:22px; border-radius:18px; color:#fff; background:linear-gradient(145deg,#244457,#001f33); box-shadow:0 18px 34px rgba(0,38,62,.2); transform:rotate(-3deg); }
.cash-ui > span { color:#ff9a68; font-size:.72rem; font-weight:800; text-transform:uppercase; }
.cash-ui div { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; padding:18px 8px; border-radius:10px; background:rgba(255,255,255,.07); }
.cash-ui i { height:46px; border:2px solid #668294; border-radius:50%; background:#244457; }
.cash-ui b { padding:8px; border-radius:7px; color:var(--navy); background:#63d8a4; font-size:.68rem; text-align:center; }
.connect-ui { display:grid; grid-template-columns:1fr 1fr; gap:9px; padding:12px; transform:rotate(2deg); }
.connect-ui b,.connect-ui span { display:grid; min-height:62px; place-items:center; padding:8px; border-radius:12px; text-align:center; box-shadow:0 10px 24px rgba(0,38,62,.1); }
.connect-ui b { grid-column:1 / -1; color:#fff; background:var(--navy); }
.connect-ui span { border:1px solid var(--line); color:var(--navy); background:#fff; font-size:.76rem; font-weight:800; }
.connect-ui span:last-child { grid-column:1 / -1; }

.process-section { color:#fff; background:var(--navy-2); }
.process-section .eyebrow { color:#ffb18a; }
.process-wrap { display:grid; grid-template-columns:.78fr 1.22fr; gap:100px; }
.process-intro { position:sticky; top:140px; align-self:start; }
.process-intro > p:not(.eyebrow) { margin:24px 0 26px; color:#b9cbd4; font-size:1.07rem; }
.text-link { color:var(--navy); font-weight:800; text-decoration:underline; text-underline-offset:4px; }
.process-section .text-link { color:#ffb18a; }
.process-list { display:grid; gap:0; margin:0; padding:0; list-style:none; }
.process-list li { display:grid; grid-template-columns:68px 1fr; gap:20px; padding:30px 0; border-bottom:1px solid rgba(255,255,255,.15); }
.process-list li:first-child { padding-top:0; }
.process-list span { color:#ff9a68; font-family:"Conexa Display",sans-serif; font-size:1.1rem; font-weight:800; }
.process-list h3 { font-size:1.55rem; }
.process-list p { margin:10px 0 0; color:#b9cbd4; }

.sectors-section { padding:90px 0; background:#fff; }
.sector-list { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; }
.sector-list span { padding:13px 18px; border:1px solid var(--line); border-radius:999px; color:#38515e; background:#fff; font-weight:700; }
.sector-list span:first-child,.sector-list span:nth-child(2) { border-color:#ffb590; color:var(--orange-dark); background:#fff5f0; }

.team-section { background:var(--mist); }
.team-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.team-card { padding:12px 12px 24px; border-radius:var(--radius); background:#fff; }
.team-photo { height:390px; overflow:hidden; border-radius:15px; background:#d9e2e6; }
.team-photo img { width:100%; height:100%; object-fit:cover; object-position:center 18%; }
.team-photo .mirror-photo { transform:scaleX(-1); }
.team-card h3 { margin:22px 14px 6px; }
.team-card > p { margin:0 14px; color:var(--muted); }
.team-quote { max-width:860px; margin:55px auto 0; padding:0; border:0; color:var(--navy); font-family:"Conexa Display",sans-serif; font-size:clamp(1.55rem,3vw,2.55rem); font-weight:700; line-height:1.22; letter-spacing:-.035em; text-align:center; }

.contact-section { padding:105px 0; color:var(--navy); background:var(--orange); }
.contact-grid { display:grid; grid-template-columns:1fr .8fr; align-items:start; gap:80px; }
.contact-section .eyebrow { color:var(--navy); }
.contact-copy h2 { max-width:690px; color:var(--navy); }
.contact-copy > p:not(.eyebrow) { max-width:620px; margin:24px 0 28px; color:#4a1a00; font-size:1.08rem; }
.contact-buttons { display:flex; flex-wrap:wrap; gap:12px; }
.button-light { background:#fff; color:var(--navy); box-shadow:none; }
.button-light:hover { background:var(--navy); color:#fff; }
.button-ghost { border:1px solid var(--navy); color:var(--navy); background:transparent; box-shadow:none; }
.button-ghost:hover { border-color:#fff; background:#fff; color:var(--navy); }
.contact-details { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; margin-top:55px; padding-top:30px; border-top:1px solid rgba(255,255,255,.35); }
.contact-details p { display:grid; gap:5px; margin:0; }
.contact-details p:last-child { grid-column:1 / -1; }
.contact-details strong { font-size:.74rem; letter-spacing:.08em; text-transform:uppercase; }
.contact-details a,.contact-details span { color:var(--navy); }
.contact-form-card { padding:34px; border-radius:var(--radius); color:var(--ink); background:#fff; box-shadow:0 25px 55px rgba(113,35,0,.18); }
.contact-section .contact-form-card { color:var(--navy); }
.contact-form-card > p { margin:10px 0 25px; color:var(--navy); }
.contact-form-card form { display:grid; gap:15px; }
.contact-form-card label { display:grid; gap:6px; font-size:.82rem; font-weight:800; }
.contact-form-card input,.contact-form-card select,.contact-form-card textarea { width:100%; padding:12px 13px; border:1px solid var(--line); border-radius:9px; color:var(--navy); background:#f9fbfc; font:inherit; resize:vertical; }
.contact-form-card input::placeholder,.contact-form-card textarea::placeholder { color:rgba(0,38,62,.62); }
.contact-form-card input:focus,.contact-form-card select:focus,.contact-form-card textarea:focus { border-color:var(--orange); outline:2px solid rgba(255,103,29,.15); }
.contact-form-card .button { color:var(--navy); }
.contact-section .contact-buttons .button,.contact-section .contact-form-card .button { border-color:var(--green); color:#fff; background:var(--green); box-shadow:0 12px 25px rgba(18,140,82,.22); }
.contact-section .contact-buttons .button:hover,.contact-section .contact-form-card .button:hover { border-color:#0c7443; color:#fff; background:#0c7443; box-shadow:0 16px 30px rgba(18,140,82,.27); }
.contact-form-card small { color:var(--navy); font-size:.72rem; text-align:center; }
.form-privacy-brief { display:grid; gap:7px; padding:14px 16px; border:1px solid rgba(0,38,62,.14); border-radius:10px; color:#425e6d; background:#f4f8f9; font-size:.78rem; line-height:1.55; }
.form-privacy-brief p { margin:0; }
.form-privacy-brief strong { color:var(--navy); }
.form-privacy-brief a { color:#005d91; font-weight:800; text-decoration:underline; text-underline-offset:3px; }
.form-privacy-brief a:hover,.form-privacy-brief a:focus-visible { color:var(--orange-dark); }
.conexa-honeypot { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.form-status { margin:0 0 18px; padding:13px 15px; border-left:4px solid var(--navy); border-radius:0 10px 10px 0; color:var(--navy); background:var(--mist); font-weight:750; }
.form-status--success { border-color:var(--green); background:#eaf7f0; }
.form-status--error { border-color:var(--orange); background:#fff1e9; }

.site-footer { padding:55px 0 25px; color:#b9cbd4; background:#001b2c; }
.footer-grid { display:grid; grid-template-columns:1.3fr repeat(2,.7fr); gap:70px; padding-bottom:40px; }
.footer-brand img { width:190px; filter:brightness(0) invert(1); }
.footer-brand p { max-width:360px; margin:20px 0 0; }
.footer-grid h2 { margin-bottom:14px; color:#fff; font-size:.75rem; letter-spacing:.11em; text-transform:uppercase; }
.footer-grid p { margin:5px 0; font-size:.9rem; }
.footer-grid a:hover { color:#fff; }
.footer-bottom { display:flex; justify-content:space-between; gap:25px; padding-top:24px; border-top:1px solid rgba(255,255,255,.12); font-size:.78rem; }
.footer-bottom em { color:#7e98a6; }
.footer-legal { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px 15px; }
.footer-legal a { color:#d8e4e9; text-decoration:underline; text-decoration-color:rgba(216,228,233,.35); text-underline-offset:4px; }
.footer-legal a:hover,.footer-legal a:focus-visible { color:#fff; text-decoration-color:#fff; }
.footer-legal a[aria-current="page"] { color:#fff; font-weight:800; }
.floating-whatsapp { position:fixed; z-index:60; right:22px; bottom:22px; display:none; width:54px; height:54px; place-items:center; border:3px solid #fff; border-radius:50%; color:#fff; background:var(--green); font-size:.72rem; font-weight:900; box-shadow:0 12px 30px rgba(0,0,0,.22); }
.wp-block { max-width:800px; margin:48px auto; }
[hidden] { display:none !important; }
.menu a[aria-current="page"] { color:var(--orange); }
.menu a[aria-current="page"]:after { transform:scaleX(1); }

/* Página de planes */
.plans-hero { position:relative; overflow:hidden; padding:92px 0; color:#fff; background:linear-gradient(135deg,var(--navy) 0%,#063853 100%); }
.plans-hero:after { position:absolute; top:-260px; right:-130px; width:620px; height:620px; border:100px solid rgba(255,103,29,.1); border-radius:50%; content:""; }
.plans-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:1.12fr .88fr; align-items:center; gap:80px; }
.plans-hero h1 { max-width:720px; font-size:clamp(3rem,5.6vw,5.5rem); }
.plans-hero h1 span { color:#ff8c54; }
.plans-hero .lead { color:#c7d6dd; }
.plans-hero .button-outline { border-color:rgba(255,255,255,.55); color:#fff; background:transparent; }
.plans-hero .button-outline:hover { border-color:#fff; color:var(--navy); background:#fff; }
.plans-hero-summary { padding:30px; border:1px solid rgba(255,255,255,.18); border-radius:var(--radius); background:rgba(255,255,255,.08); backdrop-filter:blur(10px); }
.summary-kicker { margin:0 0 20px; color:#ff9a68; font-size:.75rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.plans-hero-summary ul { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; margin:0; padding:0; list-style:none; }
.plans-hero-summary li { display:grid; gap:4px; padding-top:17px; border-top:1px solid rgba(255,255,255,.16); }
.plans-hero-summary strong { color:#fff; font-family:"Conexa Display",sans-serif; font-size:1.45rem; }
.plans-hero-summary span { color:#b9cbd4; font-size:.83rem; }

.plan-picker-section { background:#f7fafb; }
.plan-tabs { width:min(620px,100%); display:grid; grid-template-columns:repeat(2,1fr); gap:6px; margin:0 auto 42px; padding:6px; border:1px solid var(--line); border-radius:15px; background:#e8eff2; }
.plan-tabs button { min-height:51px; padding:10px 18px; border:0; border-radius:10px; color:#526b78; background:transparent; font-size:.94rem; font-weight:800; cursor:pointer; }
.plan-tabs button[aria-selected="true"] { color:#fff; background:var(--navy); box-shadow:0 8px 20px rgba(0,38,62,.18); }
.plan-tabs button:focus-visible { outline:3px solid rgba(255,103,29,.45); outline-offset:2px; }
.plan-mode-intro { display:grid; grid-template-columns:.75fr 1.25fr; align-items:end; gap:55px; margin-bottom:24px; padding:25px 28px; border-radius:17px; color:#fff; background:var(--navy); }
.plan-mode-intro span { color:#ff9a68; font-size:.7rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.plan-mode-intro h3 { margin-top:5px; font-size:1.65rem; }
.plan-mode-intro p { margin:0; color:#b9cbd4; }
.full-plan-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.detail-plan-card { position:relative; min-height:590px; display:flex; flex-direction:column; padding:34px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:0 15px 38px rgba(0,38,62,.06); }
.detail-plan-card.recommended-plan { border:2px solid var(--orange); box-shadow:0 20px 45px rgba(255,103,29,.12); }
.detail-plan-badge { position:absolute; top:0; right:25px; padding:8px 12px; border-radius:0 0 9px 9px; color:var(--navy); background:var(--orange); font-size:.7rem; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.detail-plan-card h3 { font-size:2rem; }
.detail-price { display:flex; align-items:baseline; gap:7px; margin:28px 0 0; }
.detail-price strong { font-family:"Conexa Display",sans-serif; font-size:3.6rem; line-height:1; }
.detail-price span { color:var(--muted); font-weight:700; }
.custom-plan-title { margin:33px 0 7px; color:var(--orange); font-family:"Conexa Display",sans-serif; font-size:1.48rem; font-weight:800; line-height:1.1; }
.detail-plan-card .check-list { flex:1; align-content:start; }
.more-devices-note { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:22px; margin-top:22px; padding:22px 26px; border:1px solid var(--line); border-radius:16px; background:#fff; }
.more-devices-note strong { color:var(--navy); }
.more-devices-note > span { color:var(--muted); }
.more-devices-note a { color:var(--orange-dark); font-weight:800; white-space:nowrap; }

.included-section { background:#fff; }
.equipment-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:15px; }
.equipment-grid article { min-height:260px; padding:27px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; }
.equipment-grid article > span { display:inline-flex; min-height:43px; align-items:center; padding:8px 12px; border-radius:10px; color:var(--orange-dark); background:#fff0e8; font-family:"Conexa Display",sans-serif; font-size:.8rem; font-weight:900; letter-spacing:.04em; }
.equipment-grid h3 { margin:65px 0 12px; font-size:1.35rem; }
.equipment-grid p { margin:0; color:var(--muted); }
.equipment-grid .equipment-product-photo { display:block; width:100%; height:180px; margin:12px auto 16px; object-fit:contain; }
.equipment-grid .equipment-with-photo h3 { margin-top:0; }

.extras-section { background:var(--cream); }
.extras-detail-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.extras-detail-grid article { padding:30px; border-radius:var(--radius); background:#fff; }
.extras-detail-grid article > div { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:35px; }
.extras-detail-grid article > div > span { color:var(--orange-dark); font-size:.75rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.extras-detail-grid article > div > strong { color:var(--navy); font-family:"Conexa Display",sans-serif; font-size:1.55rem; white-space:nowrap; }
.extras-detail-grid article > div small { font-family:"Conexa Text",sans-serif; font-size:.7rem; }
.extras-detail-grid h3 { font-size:1.45rem; }
.extras-detail-grid p { margin:12px 0 18px; color:var(--muted); }
.extras-detail-grid article > small { display:block; padding-top:15px; border-top:1px solid var(--line); color:#6f818b; }

.setup-section { color:#fff; background:var(--navy); }
.setup-grid { display:grid; grid-template-columns:.7fr 1.3fr; align-items:center; gap:95px; }
.setup-price { display:grid; padding:45px; border:1px solid rgba(255,255,255,.18); border-radius:var(--radius); background:rgba(255,255,255,.07); }
.setup-price p { margin:0 0 12px; color:#ff9a68; font-size:.72rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.setup-price > strong { font-family:"Conexa Display",sans-serif; font-size:clamp(3rem,6vw,5rem); line-height:1; }
.setup-price > strong span { display:block; margin-top:9px; color:#ff9a68; font-size:1.25rem; }
.setup-price > small { margin-top:23px; padding-top:18px; border-top:1px solid rgba(255,255,255,.16); color:#c5d3da; }
.setup-copy h2 { max-width:700px; font-size:clamp(2.2rem,3.8vw,4rem); }
.setup-list { display:grid; gap:11px; margin:30px 0; padding:0; list-style:none; }
.setup-list li { color:#cfdae0; }
.setup-list li:before { margin-right:10px; color:#ff8c54; content:"✓"; font-weight:900; }
.qr-note { display:grid; gap:5px; padding:20px 22px; border-left:4px solid var(--orange); color:var(--navy); background:#fff; }
.qr-note span { color:var(--muted); }

.conditions-section { background:#edf3f5; }
.conditions-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:15px; }
.conditions-grid article { min-height:245px; padding:27px; border-radius:var(--radius); background:#fff; }
.conditions-grid span { color:var(--orange); font-family:"Conexa Display",sans-serif; font-weight:900; }
.conditions-grid h3 { margin:58px 0 12px; }
.conditions-grid p { margin:0; color:var(--muted); }

.faq-section { background:#fff; }
.faq-grid { display:grid; grid-template-columns:.68fr 1.32fr; gap:90px; }
.faq-grid > div:first-child > p:last-child { margin-top:22px; color:var(--muted); }
.faq-list { border-top:1px solid var(--line); }
.faq-list details { border-bottom:1px solid var(--line); }
.faq-list summary { position:relative; padding:22px 45px 22px 0; color:var(--navy); font-family:"Conexa Display",sans-serif; font-size:1.05rem; font-weight:800; cursor:pointer; list-style:none; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary:after { position:absolute; top:20px; right:4px; color:var(--orange); content:"+"; font-size:1.45rem; }
.faq-list details[open] summary:after { content:"−"; }
.faq-list details p { max-width:720px; margin:0; padding:0 45px 22px 0; color:var(--muted); }

.plans-contact { padding:85px 0; color:var(--navy); background:var(--orange); }
.plans-contact-inner { display:grid; grid-template-columns:1.15fr .85fr; align-items:center; gap:70px; }
.plans-contact .eyebrow { color:var(--navy); }
.plans-contact h2 { color:#fff; font-size:clamp(2.3rem,4vw,4rem); }
.plans-contact p:not(.eyebrow) { max-width:700px; margin:20px 0 0; }
.plans-contact-actions { display:grid; gap:12px; }
.plans-contact-actions .button { width:100%; }
.plans-contact-actions .button-outline { border-color:var(--navy); color:var(--navy); background:transparent; }
.plans-contact-actions .button-outline:hover { color:#fff; background:var(--navy); }

/* Página de soluciones */
.menu a[aria-current="page"] { color:var(--navy); }
.menu a[aria-current="page"]:after { transform:scaleX(1); }
.solutions-hero { overflow:hidden; padding:82px 0 88px; background:radial-gradient(circle at 82% 15%,rgba(255,103,29,.14),transparent 24%),linear-gradient(140deg,#fff 0%,#f4f8f9 100%); }
.solutions-hero-grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(390px,.72fr); align-items:center; gap:86px; }
.solutions-hero h1 { max-width:800px; font-size:clamp(3.1rem,5.8vw,5.85rem); }
.solutions-hero h1 span { color:var(--orange); }
.solutions-hero-panel { position:relative; overflow:hidden; padding:36px; border-radius:34px 34px 110px 34px; color:#fff; background:var(--navy); box-shadow:var(--shadow); }
.solutions-hero-panel:after { position:absolute; right:-75px; bottom:-80px; width:210px; height:210px; border:38px solid var(--orange); border-radius:50%; opacity:.14; content:""; }
.solution-panel-kicker { margin:0 0 28px; color:#ff9a68; font-size:.74rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.solutions-hero-panel > strong { display:block; font-family:"Conexa Display",sans-serif; font-size:clamp(2.25rem,4vw,3.9rem); line-height:1; letter-spacing:-.05em; }
.solutions-hero-panel .agora-partner-logo { display:block; width:286px; max-width:100%; height:auto; aspect-ratio:2.6; object-fit:cover; mix-blend-mode:screen; }
.solution-panel-list { position:relative; z-index:1; display:grid; grid-template-columns:repeat(2,1fr); gap:9px; margin:28px 0; }
.solution-panel-list span { min-height:70px; display:flex; align-items:center; padding:14px; border:1px solid rgba(255,255,255,.18); border-radius:14px; background:rgba(255,255,255,.07); font-weight:800; }
.solutions-hero-panel > p:last-child { position:relative; z-index:1; max-width:360px; margin:0; color:#c5d3db; }

.solution-priority-strip { padding:22px 0; color:var(--navy); background:var(--orange); }
.solution-priority-strip .wrap { display:flex; align-items:center; justify-content:space-between; gap:35px; }
.solution-priority-strip p { margin:0; font-size:.76rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.solution-priority-strip ul { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; margin:0; padding:0; list-style:none; }
.solution-priority-strip li { padding:7px 12px; border:1px solid rgba(0,38,62,.48); border-radius:999px; font-size:.78rem; font-weight:800; }

.featured-solutions { background:#fff; }
.featured-solutions-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.featured-solution { min-height:585px; display:flex; flex-direction:column; padding:34px; border:1px solid var(--line); border-radius:28px; background:#f5f8f9; box-shadow:0 14px 40px rgba(0,38,62,.06); }
.featured-solution-top { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.solution-index { color:var(--orange); font-family:"Conexa Display",sans-serif; font-size:2.8rem; font-weight:900; line-height:1; }
.solution-label { padding:7px 11px; border-radius:999px; color:var(--navy); background:#fff; font-size:.7rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.featured-solution-copy { margin-top:auto; padding-top:70px; }
.featured-kicker { margin:0 0 10px; color:var(--orange); font-size:.78rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.featured-solution h3 { max-width:480px; color:var(--navy); font-size:clamp(2rem,3.5vw,3.5rem); }
.featured-solution-copy > p:not(.featured-kicker) { max-width:570px; margin:19px 0 24px; color:var(--muted); font-size:1.03rem; }
.featured-solution ul { display:grid; grid-template-columns:repeat(2,1fr); gap:9px 18px; margin:0 0 28px; padding:0; list-style:none; color:var(--navy); font-size:.86rem; font-weight:700; }
.featured-solution li:before { margin-right:7px; color:var(--orange); content:"✓"; }
.solution-cta { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:auto; padding-top:20px; border-top:1px solid rgba(0,38,62,.14); color:var(--navy); font-weight:900; }
.solution-cta span { color:var(--orange); font-size:1.3rem; transition:transform .18s ease; }
.solution-cta:hover span { transform:translateX(5px); }
.featured-myagora { color:#fff; border-color:var(--navy); background:var(--navy); }
.featured-myagora .solution-label { color:#fff; background:rgba(255,255,255,.12); }
.featured-myagora h3,.featured-myagora .solution-cta { color:#fff; }
.featured-myagora .featured-solution-copy > p:not(.featured-kicker) { color:#c5d3db; }
.featured-myagora ul { color:#e5edf1; }
.featured-myagora .solution-cta { border-top-color:rgba(255,255,255,.18); }
.featured-kds { background:#edf3f5; }
.featured-qr { background:#fff4ee; }
.featured-kiosk { color:#fff; border-color:var(--orange); background:var(--orange); }
.featured-kiosk .solution-index,.featured-kiosk .featured-kicker { color:var(--navy); }
.featured-kiosk .solution-label { color:var(--navy); background:rgba(255,255,255,.82); }
.featured-kiosk h3,.featured-kiosk ul,.featured-kiosk .solution-cta { color:var(--navy); }
.featured-kiosk .featured-solution-copy > p:not(.featured-kicker) { color:#59301d; }
.featured-kiosk li:before { color:var(--navy); }
.featured-kiosk .solution-cta { border-top-color:rgba(0,38,62,.22); }
.featured-kiosk .solution-cta span { color:var(--navy); }

.connected-flow-section { color:#fff; background:var(--navy); }
.connected-flow-grid { display:grid; grid-template-columns:.8fr 1.2fr; align-items:center; gap:90px; }
.connected-flow-grid h2 { max-width:500px; color:#fff; }
.connected-flow-grid > div > p:not(.eyebrow) { max-width:510px; margin:22px 0 28px; color:#c5d3db; }
.connected-flow { position:relative; display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.connected-flow:before { position:absolute; top:30px; bottom:30px; left:30px; width:1px; background:rgba(255,255,255,.24); content:""; }
.connected-flow li { position:relative; z-index:1; min-height:92px; display:grid; grid-template-columns:62px 1fr; align-items:center; gap:20px; padding:15px 22px; border:1px solid rgba(255,255,255,.14); border-radius:18px; background:#0a3450; }
.connected-flow li > span { display:grid; width:44px; height:44px; place-items:center; border-radius:50%; color:var(--navy); background:var(--orange); font-family:"Conexa Display",sans-serif; font-weight:900; }
.connected-flow li div { display:grid; gap:2px; }
.connected-flow strong { font-size:1.04rem; }
.connected-flow small { color:#afc0ca; font-size:.82rem; }

.supporting-solutions { background:#eef3f5; }
.supporting-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:15px; }
.supporting-grid article { min-height:310px; padding:28px; border-radius:var(--radius); background:#fff; }
.supporting-grid article > span { color:var(--orange); font-size:.7rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.supporting-grid h3 { margin:78px 0 14px; color:var(--navy); font-size:1.5rem; }
.supporting-grid p { margin:0; color:var(--muted); }

.solution-assurance { padding:88px 0; background:#fff; }
.assurance-grid { display:grid; grid-template-columns:.8fr 1.2fr; align-items:start; gap:90px; }
.assurance-grid h2 { max-width:500px; font-size:clamp(2.3rem,4vw,4rem); }
.assurance-grid ul { margin:0; padding:0; border-top:1px solid var(--line); list-style:none; }
.assurance-grid li { display:grid; grid-template-columns:190px 1fr; gap:25px; padding:22px 0; border-bottom:1px solid var(--line); }
.assurance-grid strong { color:var(--navy); font-family:"Conexa Display",sans-serif; font-size:1.07rem; }
.assurance-grid span { color:var(--muted); }
.solution-email-link { padding:8px 0 0; color:var(--navy); font-size:.86rem; font-weight:800; text-align:center; text-decoration:underline; text-underline-offset:4px; }

/* Rojo Ágora como acento de sus soluciones; azul Conexa como base. */
.solutions-page { --agora-red:#ff0b3b; --agora-red-text:#c9002a; --agora-red-light:#ff8299; --agora-tint:#fff1f4; }
.solutions-page .solutions-hero-panel:after { border-color:var(--agora-red); }
.solutions-page .solution-panel-kicker { color:var(--agora-red-light); }
.solutions-page .solution-panel-list span { border-left:3px solid var(--agora-red); }
.solutions-page .solution-priority-strip { color:var(--navy); background:var(--mist); border-bottom:3px solid var(--agora-red); }
.solutions-page .solution-priority-strip li { color:var(--agora-red-text); background:#fff; border-color:#f3b6c2; }
.solutions-page .featured-solutions > .wrap > .section-heading .eyebrow { color:var(--agora-red-text); }
.solutions-page .featured-solution { border-top:3px solid var(--agora-red); }
.solutions-page .solution-index { color:var(--agora-red); }
.solutions-page .featured-kicker,.solutions-page .featured-solution li:before,.solutions-page .solution-cta span { color:var(--agora-red-text); }
.solutions-page .solution-label { color:var(--agora-red-text); background:var(--agora-tint); }
.solutions-page .featured-myagora .featured-kicker,.solutions-page .featured-myagora li:before,.solutions-page .featured-myagora .solution-cta span { color:var(--agora-red-light); }
.solutions-page .featured-myagora .solution-label { color:#fff; background:rgba(255,130,153,.16); }
.solutions-page .featured-qr { background:var(--agora-tint); }
.solutions-page .featured-kiosk { color:var(--navy); background:#fff; border-color:var(--line); border-top-color:var(--agora-red); }
.solutions-page .featured-kiosk .featured-solution-copy > p:not(.featured-kicker) { color:var(--muted); }
.solutions-page .connected-flow-section .eyebrow { color:var(--agora-red-light); }
.solutions-page .connected-flow li > span { color:var(--navy); background:var(--agora-red-light); }

@media (min-width:781px) and (max-width:1100px) {
	.header-inner { flex-wrap:wrap; gap:12px 24px; padding-block:14px; }
	.header-inner nav { order:3; width:100%; }
	.header-inner .menu { justify-content:center; flex-wrap:wrap; gap:12px 22px; }
}

@media (max-width:1020px) {
	.menu { gap:18px; }
	.header-phone { display:none; }
	.hero-grid { grid-template-columns:1fr 410px; gap:42px; }
	.hero-visual { min-height:540px; }
	.plan-float { right:-10px; }
	.value-grid { grid-template-columns:repeat(2,1fr); }
	.solution-card { grid-template-columns:1fr; min-height:440px; }
	.solution-copy { order:2; }
	.solution-visual { width:190px; margin:auto; }
	.process-wrap { gap:55px; }
	.contact-grid { gap:45px; }
	.plans-hero-grid { gap:45px; }
	.full-plan-grid { grid-template-columns:repeat(2,1fr); }
	.detail-plan-card:last-child { grid-column:1 / -1; min-height:520px; }
	.equipment-grid,.conditions-grid { grid-template-columns:repeat(2,1fr); }
	.setup-grid { gap:55px; }
	.faq-grid { gap:50px; }
	.solutions-hero-grid { gap:45px; }
	.supporting-grid { grid-template-columns:repeat(2,1fr); }
	.connected-flow-grid,.assurance-grid { gap:55px; }
}

@media (max-width:780px) {
	.wrap { width:min(100% - 32px,620px); }
	.section { padding:76px 0; }
	.service-bar-inner { justify-content:center; text-align:center; }
	.service-bar p { display:block; }
	.service-bar .service-area,.service-bar p span { display:none; }
	.header-inner { min-height:68px; }
	.brand img { width:154px; }
	.header-inner nav { display:none; }
	.header-actions .button { display:none; }
	.header-phone { display:block; font-size:.86rem; }
	.hero { padding:54px 0 60px; }
	.hero-grid { grid-template-columns:1fr; gap:42px; }
	h1 { font-size:clamp(2.75rem,14vw,4.8rem); }
	.hero-actions { display:grid; }
	.hero-actions .button { width:100%; }
	.hero-facts { justify-content:space-between; gap:12px; }
	.hero-facts strong { font-size:1.25rem; }
	.hero-facts span { font-size:.72rem; }
	.hero-visual { min-height:470px; margin:0 10px; }
	.hero-visual > img,.hero-visual > video,.hero-visual:after { border-radius:90px 18px 18px 18px; }
	.coverage-cloud { top:18px; left:-10px; width:calc(100% + 20px); gap:5px; }
	.location-chip { padding:6px 9px; font-size:.62rem; }
	.location-main { padding:9px 12px; font-size:.74rem; }
	.plan-float { right:-10px; bottom:20px; width:230px; padding:19px; }
	.trust-grid { grid-template-columns:repeat(2,1fr); padding:12px 0; }
	.trust-grid p { min-height:58px; padding:9px 12px; border-right:0; }
	.trust-grid p:first-child { padding-left:12px; }
	.split-heading { grid-template-columns:1fr; gap:22px; }
	.value-grid,.plans-grid,.solutions-grid,.team-grid,.contact-grid { grid-template-columns:1fr; }
	.value-card { min-height:260px; }
	.value-card h3 { margin-top:45px; }
	.compact-plan { grid-template-columns:1fr; }
	.compact-price { text-align:left; }
	.compact-action { width:100%; justify-items:start; }
	.plan-contact-button { width:100%; }
	.plan-note { grid-template-columns:1fr; gap:8px; }
	.plan-options-row { grid-template-columns:1fr; }
	.software-only ul { grid-template-columns:1fr; }
	.software-only li { padding:0 0 10px; border-right:0; border-bottom:1px solid rgba(255,255,255,.14); }
	.software-only li:last-child { border-bottom:0; }
	.plan-footer { display:block; }
	.plan-footer a { display:inline-block; margin-top:10px; }
	.solution-card { min-height:510px; }
	.process-wrap { grid-template-columns:1fr; gap:55px; }
	.process-intro { position:static; }
	.team-photo { height:440px; }
	.contact-details { grid-template-columns:1fr; }
	.contact-details p:last-child { grid-column:auto; }
	.footer-grid { grid-template-columns:1fr; gap:28px; }
	.footer-bottom { display:grid; }
	.footer-legal { justify-content:flex-start; }
	.floating-whatsapp { display:grid; }
	.plans-hero { padding:65px 0; }
	.plans-hero-grid,.full-plan-grid,.equipment-grid,.extras-detail-grid,.setup-grid,.conditions-grid,.faq-grid,.plans-contact-inner { grid-template-columns:1fr; }
	.plans-hero-summary ul { gap:16px; }
	.plan-tabs { position:sticky; z-index:20; top:74px; }
	.plan-mode-intro { grid-template-columns:1fr; gap:12px; }
	.detail-plan-card,.detail-plan-card:last-child { min-height:auto; grid-column:auto; }
	.more-devices-note { grid-template-columns:1fr; gap:8px; }
	.equipment-grid article { min-height:220px; }
	.equipment-grid h3 { margin-top:45px; }
	.setup-price { padding:32px; }
	.plans-contact-actions { margin-top:10px; }
	.solutions-hero { padding:60px 0 66px; }
	.solutions-hero-grid,.featured-solutions-grid,.connected-flow-grid,.supporting-grid,.assurance-grid { grid-template-columns:1fr; }
	.solutions-hero-panel { padding:28px; border-radius:25px 25px 75px 25px; }
	.solution-priority-strip .wrap { align-items:flex-start; flex-direction:column; gap:12px; }
	.solution-priority-strip ul { justify-content:flex-start; }
	.featured-solution { min-height:auto; padding:26px; }
	.featured-solution-copy { padding-top:55px; }
	.featured-solution ul { grid-template-columns:1fr; }
	.connected-flow-section { padding:76px 0; }
	.connected-flow-grid,.assurance-grid { gap:48px; }
	.supporting-grid article { min-height:250px; }
	.supporting-grid h3 { margin-top:55px; }
	.assurance-grid li { grid-template-columns:1fr; gap:5px; }
}

@media (prefers-reduced-motion:reduce) {
	* { scroll-behavior:auto !important; transition:none !important; }
}

/* Enlace de Complianz para revisar o retirar el consentimiento desde el pie. */
.footer-legal .cmplz-revoke-link,.footer-legal .cmplz-manage-consent { padding:0; border:0; color:inherit; background:transparent; font:inherit; cursor:pointer; }
.footer-legal .cmplz-revoke-link:hover,.footer-legal .cmplz-revoke-link:focus-visible,.footer-legal .cmplz-manage-consent:hover,.footer-legal .cmplz-manage-consent:focus-visible { color:#fff; text-decoration:underline; text-underline-offset:3px; }
.cookie-banner { position:fixed; z-index:200; right:24px; bottom:24px; left:24px; width:min(1120px,calc(100% - 48px)); margin:auto; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:32px; padding:24px 26px; border:1px solid rgba(255,255,255,.18); border-radius:20px; color:#fff; background:rgba(0,38,62,.97); box-shadow:0 24px 70px rgba(0,18,31,.36); backdrop-filter:blur(16px); }
.cookie-banner[hidden],.cookie-preferences[hidden] { display:none!important; }
.cookie-kicker { margin:0 0 5px; color:#ff9a68; font-size:.7rem; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.cookie-banner h2,.cookie-preferences h2 { margin:0; font-size:clamp(1.35rem,2vw,1.75rem); letter-spacing:-.025em; }
.cookie-banner-copy > p:last-child { max-width:760px; margin:8px 0 0; color:#d6e0e5; font-size:.9rem; line-height:1.5; }
.cookie-banner-copy a { color:#fff; font-weight:750; text-decoration:underline; text-underline-offset:3px; }
.cookie-banner-actions { display:grid; grid-template-columns:repeat(2,minmax(145px,1fr)); gap:9px; min-width:350px; }
.cookie-action { min-height:46px; padding:10px 15px; border:1px solid transparent; border-radius:10px; font-weight:800; cursor:pointer; transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease; }
.cookie-action:hover { transform:translateY(-1px); }
.cookie-action-accept { color:#fff; background:var(--orange-action); }
.cookie-action-accept:hover { background:var(--orange-dark); }
.cookie-action-reject { border-color:#fff; color:#fff; background:transparent; }
.cookie-action-reject:hover { color:var(--navy); background:#fff; }
.cookie-action-settings { grid-column:1 / -1; color:#d6e0e5; background:transparent; }
.cookie-action-settings:hover { color:#fff; background:rgba(255,255,255,.08); }
.cookie-action:focus-visible,.cookie-close:focus-visible,.cookie-settings-link:focus-visible,.cookie-category input:focus-visible { outline:3px solid #ffb08a; outline-offset:3px; }
.cookie-preferences { position:fixed; z-index:220; inset:0; display:grid; place-items:center; padding:24px; }
.cookie-preferences-backdrop { position:absolute; inset:0; background:rgba(0,22,37,.64); backdrop-filter:blur(6px); }
.cookie-preferences-panel { position:relative; width:min(660px,100%); max-height:min(760px,calc(100dvh - 48px)); overflow:auto; padding:30px; border-radius:22px; color:var(--ink); background:#fff; box-shadow:0 28px 90px rgba(0,18,31,.4); }
.cookie-preferences-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.cookie-preferences-heading .cookie-kicker { color:var(--orange-dark); }
.cookie-close { width:42px; height:42px; flex:0 0 42px; border:1px solid var(--line); border-radius:50%; color:var(--navy); background:#fff; font-size:1.75rem; line-height:1; cursor:pointer; }
.cookie-preferences-panel > p { margin:16px 0 22px; color:var(--muted); }
.cookie-category { display:flex; align-items:center; justify-content:space-between; gap:28px; padding:18px 0; border-top:1px solid var(--line); cursor:pointer; }
.cookie-category div { display:grid; gap:3px; }
.cookie-category strong { color:var(--navy); font-size:1.02rem; }
.cookie-category span { color:var(--muted); font-size:.88rem; }
.cookie-always-on { flex:0 0 auto; color:var(--green)!important; font-weight:800; }
.cookie-category input { width:48px; height:26px; flex:0 0 48px; margin:0; accent-color:var(--orange); cursor:pointer; }
.cookie-preferences-actions { display:grid; grid-template-columns:repeat(2,1fr); gap:9px; margin-top:24px; }
.cookie-preferences-actions .cookie-action-reject { border-color:var(--line); color:var(--navy); background:#f4f7f9; }
.cookie-preferences-actions .cookie-action-reject:hover { border-color:var(--navy); color:#fff; background:var(--navy); }
.cookie-preferences-actions .cookie-action-settings { grid-column:1 / -1; color:var(--navy); }
.cookie-preferences-actions .cookie-action-settings:hover { color:#fff; background:var(--navy); }
body.cookie-modal-open { overflow:hidden; }

@media (max-width:780px) {
	.cookie-banner { right:12px; bottom:calc(82px + env(safe-area-inset-bottom,0px)); left:12px; width:calc(100% - 24px); grid-template-columns:1fr; gap:18px; padding:20px; border-radius:17px; }
	.cookie-banner-actions { min-width:0; }
	.cookie-preferences { padding:12px; }
	.cookie-preferences-panel { max-height:calc(100dvh - 24px); padding:24px 20px; border-radius:18px; }
	.cookie-category { gap:16px; }
	.cookie-category span { font-size:.82rem; }
	.cookie-preferences-actions { grid-template-columns:1fr; }
	.cookie-preferences-actions .cookie-action-settings { grid-column:auto; }
}

/* Carta real del cliente junto al recorrido de su pedido. */
.connected-flow-illustrated { overflow:hidden; scroll-margin-top:90px; }
.flow-heading { max-width:850px; margin:0 auto 58px; text-align:center; }
.flow-heading h2 { color:#fff; }
.flow-heading > p:last-child { max-width:690px; margin:24px auto 0; color:#c5d3db; font-size:1.12rem; }
.connected-flow-illustrated .connected-flow-grid { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:80px; }
.flow-phone-figure { position:relative; margin:0; display:grid; justify-items:center; gap:25px; }
.flow-phone-figure:before { position:absolute; top:12%; left:5%; width:90%; height:65%; border-radius:50%; background:radial-gradient(ellipse,rgba(255,11,59,.14),transparent 70%); content:""; pointer-events:none; }
.flow-phone-crop { position:relative; width:min(290px,85%); aspect-ratio:720 / 1650; overflow:hidden; border-radius:16% / 7%; box-shadow:0 25px 48px rgba(0,0,0,.3); transform:rotate(-3deg); }
.flow-phone-crop img { position:absolute; width:150%; max-width:none; height:auto; left:-22.78%; top:-7.76%; }
.flow-phone-figure figcaption { position:relative; color:#c5d3db; font-size:.9rem; text-align:center; }
.flow-phone-figure figcaption span { display:block; margin-bottom:5px; color:var(--agora-red-light); font-weight:800; font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; }
.flow-steps-panel { min-width:0; }
.connected-flow-illustrated .connected-flow { gap:18px; }
.connected-flow-illustrated .connected-flow:before { left:45px; background:var(--agora-red-light); }
.connected-flow-illustrated .connected-flow li { grid-template-columns:44px minmax(0,1fr); gap:18px; padding:24px; border-left:3px solid var(--agora-red); }
.connected-flow-illustrated .connected-flow strong { font-family:"Conexa Display",sans-serif; font-size:1.1rem; }
.connected-flow-illustrated .connected-flow small { margin-top:6px; color:#c5d3db; font-size:.94rem; }
.flow-steps-panel > .button { margin-top:30px; }
.flow-steps-panel > .flow-support-note { margin:14px 0 0; color:#afc0ca; font-size:.86rem; }
@keyframes conexa-flow-enter { from { opacity:.25; transform:translateY(18px); } to { opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion:no-preference) {
  .flow-in-view .connected-flow li { animation:conexa-flow-enter .6s both; }
  .flow-in-view .connected-flow li:nth-child(2) { animation-delay:.12s; }
  .flow-in-view .connected-flow li:nth-child(3) { animation-delay:.24s; }
  .flow-in-view .connected-flow li:nth-child(4) { animation-delay:.36s; }
}
@media (max-width:780px) {
  .connected-flow-illustrated .connected-flow-grid { grid-template-columns:1fr; gap:42px; }
  .flow-heading { margin-bottom:40px; text-align:left; }
  .flow-phone-crop { width:min(235px,75%); transform:none; }
  .connected-flow-illustrated .connected-flow li { padding:20px 16px; gap:14px; }
  .connected-flow-illustrated .connected-flow:before { left:39px; }
  .flow-steps-panel > .button { width:100%; }
}

@media (prefers-reduced-motion:reduce) {
	html { scroll-behavior:auto; }
	*,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}
