/*
	Restelix Global CSS v1.0.0
	Consolidated stylesheet for:
	- index.html
	- suite-comercial.html
	- pms-hotelero.html
	- restaurante-bar.html
	- operacion-hotelera.html
	- administracion-contabilidad.html
	- precios.html
	- partners.html
*/
:root {
	--bg:#f6fbff;
	--surface:#ffffff;
	--surface-2:#eef8ff;
	--ink:#0b1726;
	--muted:#5b6b7f;
	--primary:#06243f;
	--primary-2:#0b3a64;
	--cyan:#13b8d6;
	--green:#22b57a;
	--orange:#ff9d2e;
	--red:#ef6461;
	--line:#dce8f2;
	--shadow:0 24px 70px rgba(6, 36, 63, .12);
	--shadow-soft:0 14px 40px rgba(6, 36, 63, .08);
	--radius:24px;
	--radius-sm:16px;
	--max:1180px;
}
* { box-sizing:border-box; }
html {
	scroll-behavior:smooth;
	-webkit-text-size-adjust:100%;
}
body {
	margin:0;
	font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	font-size:.9rem;
	color:var(--ink);
	background:radial-gradient(circle at top left, rgba(19,184,214,.14), transparent 32rem), var(--bg);
	line-height:1.55;
}

a { color:inherit; text-decoration:none; }
img { max-width:100%; height:auto; }
button, input, select, textarea { font:inherit; }

.container {
	width:min(100% - 32px, var(--max)); margin-inline:auto;
}

.skip-link {
	position:absolute; left:-999px; top:12px; background:var(--primary); color:#fff; padding:10px 14px; border-radius:12px; z-index:100;
}
.skip-link:focus { left:12px; }

/* Header */
.site-header {
	position:sticky;
	top:0;
	z-index:50;
	background:rgba(246, 251, 255, .88);
	backdrop-filter:blur(18px);
	border-bottom:1px solid rgba(220, 232, 242, .75);
}
.site-header-two-tier {
	position:sticky;
	top:0;
	z-index:50;
}

.nav-primary-row {
	min-height:68px;
}

.section-nav-wrap {
	border-top:1px solid rgba(220, 232, 242, .7);
	background:rgba(255, 255, 255, .78);
	backdrop-filter:blur(18px);
}
.section-nav-inner {
	min-height:44px;
	display:flex;
	align-items:center;
	gap:14px;
	overflow:hidden;
}
.section-nav-label {
	flex:0 0 auto;
	color:var(--muted);
	font-size:.78rem;
	font-weight:900;
	text-transform:uppercase;
	letter-spacing:.04em;
}
.section-nav {
	display:flex;
	align-items:center;
	gap:8px;
	overflow-x:auto;
	overscroll-behavior-x:contain;
	scrollbar-width:none;
	-webkit-overflow-scrolling:touch;
}
.section-nav::-webkit-scrollbar {
	display:none;
}
.section-nav a {
	flex:0 0 auto; display:inline-flex;
	align-items:center; min-height:30px; padding:6px 11px;
	border-radius:999px; border:1px solid rgba(220, 232, 242, .88);
	color:#31506b; background:rgba(238, 248, 255, .72);
	font-size:.82rem; font-weight:850; white-space:nowrap;
}
.section-nav a:hover {
	color:var(--primary); background:#fff;
}
.section-nav a.is-active {
	color:#fff; background:linear-gradient(135deg, var(--primary), var(--primary-2)); border-color:transparent;
}

@media (max-width:760px) {
	.nav-primary-row { min-height:64px; }
	.section-nav-wrap { background:rgba(246, 251, 255, .94); }
	.section-nav-inner { min-height:46px; gap:10px; }
	.section-nav-label { display:none; }
	.section-nav { width:100%; padding:6px 0; }
	.section-nav a { min-height:34px; padding:7px 12px; font-size:.8rem; }
}

.nav-wrap {
	display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:72px;
}
.brand {
	display:inline-flex; align-items:center; gap:10px; font-weight:900; letter-spacing:-.04em;
	font-size:1.34rem; color:var(--primary); white-space:nowrap;
}
.brand-mark {
	width:38px; height:38px; border-radius:13px; display:grid; place-items:center;
	background:linear-gradient(135deg, var(--cyan), var(--green));
	color:#fff; box-shadow:0 10px 30px rgba(19,184,214,.25); font-size:1rem;
}
.nav-toggle { display:none; }
.hamburger {
	display:none; width:42px; height:42px; border:1px solid var(--line); border-radius:14px;
	background:var(--surface); align-items:center; justify-content:center; cursor:pointer;
}
.hamburger span,
.hamburger span::before,
.hamburger span::after {
	display:block; width:18px; height:2px; background:var(--primary); border-radius:99px; content:""; position:relative;
}
.hamburger span::before { position:absolute; top:-6px; }
.hamburger span::after { position:absolute; top:6px; }

.main-nav {
	display:flex; align-items:center;
	gap:22px; color:#2d3d50; font-size:.94rem; font-weight:700;
}
.main-nav a { opacity:.86; }
.main-nav a:hover { opacity:1; color:var(--primary); }

.nav-actions { display:flex; align-items:center; gap:10px; }
.nav-login { min-height:42px; padding-inline:15px; font-size:.88rem; background:rgba(255, 255, 255, .76); }

@media (max-width: 760px) {
  .nav-actions { display:none; }
  .main-nav .mobile-login { margin-top:8px; border-top:1px solid var(--line); padding-top:14px; }
}

/* Buttons */
.btn {
	display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:46px; padding:0 18px;
	border-radius:999px; font-weight:850; border:1px solid transparent; transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
	white-space:nowrap; cursor:pointer; font-family:inherit; font-size:.95rem;
}
.btn:hover { transform:translateY(-1px); }
.btn-primary {
	color:#fff; background:linear-gradient(135deg, var(--primary), var(--primary-2)); box-shadow:0 14px 34px rgba(6, 36, 63, .22);
}
.btn-secondary {
	color:var(--primary); background:var(--surface); border-color:var(--line); box-shadow:0 10px 28px rgba(6, 36, 63, .06);
}
.btn-accent,
.btn-whatsapp {
	color:#06243f; background:linear-gradient(135deg, #dcfff0, #bfffe2); border-color:rgba(34,181,122,.26);
}

/* Sections and Typography */
.section { padding:82px 0; }
.section-tight { padding:56px 0; }
.section-dark {
	background:linear-gradient(135deg, var(--primary), #093b63 60%, #075b70); color:#fff;
}
.section-dark p,
.section-dark .section-subtitle { color:rgba(255,255,255,.78); }
.section-kicker {
	display:inline-flex; align-items:center; gap:8px; padding:7px 12px; border:1px solid rgba(19, 184, 214, .28);
	color:#075b70; background:rgba(19, 184, 214, .08); border-radius:999px; font-size:.82rem; font-weight:900;
	letter-spacing:.02em; text-transform:uppercase;
}
.section-dark .section-kicker {
	background:rgba(255,255,255,.12); color:#dffbff; border-color:rgba(255,255,255,.18);
}
.section-title {
	margin:16px 0 14px; font-size:clamp(2rem, 3vw, 3.6rem); line-height:1.05; letter-spacing:-.06em; color:var(--primary);
}
.section-dark .section-title { color:#fff; }
.section-subtitle {
	max-width:840px; color:var(--muted); font-size:clamp(1rem, 1.6vw, 1.18rem); margin:0;
}
.center { text-align:center; }
.center .section-subtitle { margin-inline:auto; }
.text-block p {
	color:var(--muted); font-size:1.05rem; margin:0 0 16px;
}
.section-dark .text-block p { color:rgba(255,255,255,.78); }

/* Hero */
.hero {
	padding:68px 0 76px; overflow:hidden;
}
.hero-grid {
	display:grid; grid-template-columns:minmax(0, 1fr) minmax(420px, .95fr); align-items:center; gap:46px;
}
.hero h1 {
	margin:18px 0 14px; font-size:clamp(2.55rem, 4vw, 5rem); line-height:.98; letter-spacing:-.075em; color:var(--primary);
}
.hero-lead {
	color:var(--muted); font-size:clamp(1.05rem, 1.8vw, 1.28rem); max-width:720px; margin:0 0 26px;
}
.hero-lead strong { color:var(--ink); }
.hero-actions {
	display:flex; flex-wrap:wrap; gap:12px; margin-bottom:26px;
}
.badge-row {
	display:flex; flex-wrap:wrap; gap:9px; max-width:780px;
}
.badge {
	display:inline-flex; align-items:center; gap:7px; padding:7px 11px; border-radius:999px;
	background:rgba(255,255,255,.82); border:1px solid var(--line); color:#33475f; font-size:.83rem;
	font-weight:750; box-shadow:0 8px 22px rgba(6, 36, 63, .04);
}
.badge-dot {
	width:8px; height:8px; border-radius:999px; background:var(--green);
}

/* Shared Stage / Floating Visuals */
.product-stage,.commercial-stage,.pms-stage,.restaurant-stage,.ops-stage,.finance-stage,.pricing-stage,
.partner-stage {
	position:relative; min-height:620px; display:grid; place-items:center;
}
.product-stage { min-height:560px; }

.glow {
	position:absolute; width:450px; height:450px; border-radius:999px; filter:blur(4px); z-index:0;
	background:radial-gradient(circle, rgba(19,184,214,.20), rgba(34,181,122,.12), transparent 66%);
}
.restaurant-stage .glow { background:radial-gradient(circle, rgba(255,157,46,.18), rgba(19,184,214,.12), transparent 66%); }

.floating-card {
	position:absolute; z-index:2; display:flex; align-items:center; gap:10px; min-width:180px;
	padding:12px 14px; border-radius:18px; background:rgba(255,255,255,.92); border:1px solid rgba(220,232,242,.9);
	box-shadow:var(--shadow-soft); font-weight:900; color:var(--primary); font-size:.88rem;
}
.floating-card small {
	display:block; color:var(--muted); font-weight:750; font-size:.7rem;
}
.floating-card .chip {
	width:34px; height:34px; border-radius:12px; display:grid;
	place-items:center; color:#fff; background:var(--primary); font-size:.78rem;
}
.float-1 { top:34px; left:-4px; }
.float-2 { top:96px; right:-8px; }
.float-3 { bottom:72px; left:-8px; }
.float-4 { bottom:20px; right:22px; }
.float-1 .chip { background:var(--green); }
.float-2 .chip { background:var(--cyan); }
.float-3 .chip { background:var(--orange); }
.float-4 .chip { background:var(--primary); }
.restaurant-stage .float-1 .chip { background:var(--orange); }

/* Generic Layouts */
.split {
	display:grid; grid-template-columns:.95fr 1.05fr; gap:44px; align-items:center;
}
.split.reverse { grid-template-columns:1.05fr .95fr; }
.split.centered { align-items:center; }

.cards-3 {
	margin-top:36px; display:grid; grid-template-columns:repeat(3, 1fr); gap:18px;
}
.cards-2 {
	margin-top:36px; display:grid; grid-template-columns:repeat(2, 1fr); gap:18px;
}
.feature-grid {
	margin-top:34px; display:grid; grid-template-columns:repeat(3, 1fr); gap:14px;
}

/* Common Cards */
.pillar-card,.feature-card,.module-card,.price-card,.partner-card,.product-card,
.scenario-card,.integration-card,.cta-card,.level-card,.profile-card,.process-card,
.form-card,.calculator-card,.faq-card {
	padding:24px; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow-soft);
}
.feature-card {
	box-shadow:none; padding:20px;
}
.card-icon {
	width:48px; height:48px; border-radius:16px; display:grid; place-items:center;
	color:#fff; background:linear-gradient(135deg, var(--primary), var(--cyan));
	font-weight:950; margin-bottom:18px;
}
.cards-3 > :nth-child(2) .card-icon { background:linear-gradient(135deg, var(--green), var(--cyan)); }
.cards-3 > :nth-child(3) .card-icon { background:linear-gradient(135deg, var(--orange), var(--primary)); }

.pillar-card h3,.feature-card h3,.module-card h3,.price-card h3,.partner-card h3,.product-card h3,
.scenario-card h3,.integration-card h3,.cta-card h3,.level-card h3,.profile-card h3,.process-card h3,
.form-card h3,.calculator-card h3,.faq-card h3 {
	color:var(--primary);
	font-size:1.18rem; line-height:1.2; margin:0 0 10px; letter-spacing:-.03em;
}

.pillar-card p,.feature-card p,.module-card p,.price-card p,.partner-card p,.product-card p,
.scenario-card p,.integration-card p,.cta-card p,.level-card p,.profile-card p,.process-card p,
.form-card p,.calculator-card p,.faq-card p {
	color:var(--muted); margin:0 0 18px;
}
.feature-card p,
.faq-card p { margin-bottom:0; }

.mini-list {
	display:flex; flex-wrap:wrap; gap:8px; margin:0 0 20px; padding:0; list-style:none;
}
.mini-list li {
	padding:6px 9px; background:var(--surface-2); border:1px solid var(--line);
	border-radius:999px; color:#31506b; font-size:.78rem; font-weight:800;
}
.text-link { color:var(--primary); font-weight:950; }

/* Strips */
.logo-strip,
.proof-strip {
	border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(255,255,255,.62);
}
.strip-grid {
	display:grid; grid-template-columns:1.3fr repeat(4, 1fr); align-items:center;
	gap:18px; padding:22px 0; color:#52657a; font-weight:800; font-size:.9rem;
}
.strip-item {
	min-height:42px; display:grid; place-items:center; border:1px dashed var(--line);
	border-radius:14px; background:rgba(255,255,255,.7); color:#71849a; text-align:center;
}

/* Problem Boards */
.problem-grid {
	display:grid; grid-template-columns:.9fr 1.1fr; gap:34px; align-items:center;
}
.problem-board,.disconnect-board {
	display:grid; grid-template-columns:repeat(2, 1fr); gap:14px; position:relative;
}
.disconnect-board::before {
	content:""; position:absolute; inset:12% 18%; pointer-events:none;
	background:linear-gradient(135deg, transparent 48%, rgba(255,157,46,.22) 49%, rgba(255,157,46,.22) 51%, transparent 52%);
}
.problem-card,.system-card {
	min-height:130px; padding:18px; background:#fff; border:1px solid var(--line); border-radius:var(--radius-sm);
	box-shadow:var(--shadow-soft); position:relative; z-index:1;
}
.problem-card strong,.system-card strong {
	display:block; color:var(--primary); font-size:1rem; margin-bottom:6px;
}
.problem-card span,.system-card span {
	color:var(--muted); font-size:.9rem;
}

/* Flow */
.flow-wrap {
	margin-top:34px; padding:26px; background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.15);
	border-radius:30px; overflow:hidden;
}
.flow-line {
	display:grid; grid-template-columns:repeat(auto-fit, minmax(145px, 1fr)); gap:12px;
}
.flow-step {
	min-height:146px; padding:16px; border-radius:18px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.16);
}
.flow-step .num {
	width:30px; height:30px; border-radius:10px; display:grid; place-items:center;
	background:rgba(255,255,255,.18); color:#fff; font-weight:950; margin-bottom:12px;
}
.flow-step strong {
	display:block; color:#fff; line-height:1.2; margin-bottom:8px;
}
.flow-step span {
	color:rgba(255,255,255,.75); font-size:.86rem;
}

/* Comparisons */
.comparison {
	margin-top:34px; display:grid; grid-template-columns:repeat(2, 1fr); gap:18px;
}
.compare-card {
	padding:28px; border-radius:var(--radius); border:1px solid var(--line); background:#fff; box-shadow:var(--shadow-soft);
}
.compare-card.featured,
.level-card.featured {
	background:linear-gradient(135deg, #f4fdff, #effff8); border-color:rgba(34,181,122,.28);
}
.compare-card h3 {
	margin:0 0 16px; color:var(--primary); font-size:1.35rem;
}
.check-list {
	list-style:none; padding:0; margin:0; display:grid; gap:12px;
}
.check-list li {
	display:grid; grid-template-columns:24px 1fr; gap:10px; color:#40546b;
}
.check-list li::before {
	content:""; width:20px; height:20px; border-radius:7px; background:#e8f1f8; margin-top:2px;
}
.featured .check-list li::before { background:linear-gradient(135deg, var(--green), var(--cyan)); }

/* CTA */
.cta-box {
	display:grid; grid-template-columns:1fr auto; gap:28px; align-items:center; padding:34px; border-radius:32px;
	background:linear-gradient(135deg, var(--primary), #075b70); color:#fff; box-shadow:var(--shadow);
}
.cta-box h2 {
	margin:0 0 8px; font-size:clamp(1.8rem, 4vw, 3rem); letter-spacing:-.05em; line-height:1.05;
}
.cta-box p {
	margin:0; color:rgba(255,255,255,.78); max-width:730px;
}
.cta-actions { display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.cta-box .btn-secondary {
	background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.2); color:#fff; box-shadow:none;
}
.cta-box .btn-primary {
	background:#fff; color:var(--primary); box-shadow:none;
}

/* Footer */
.site-footer {
	padding:56px 0 28px; background:#031727; color:rgba(255,255,255,.72);
}
.footer-grid {
	display:grid; grid-template-columns:1.3fr repeat(4, 1fr); gap:26px;
}
.footer-brand {
	color:#fff; font-weight:950; font-size:1.25rem; letter-spacing:-.03em; margin-bottom:12px;
}
.footer-grid p { margin:0; max-width:340px; }
.footer-col h3 { margin:0 0 12px; color:#fff; font-size:.92rem; }
.footer-col a { display:block; margin:9px 0; color:rgba(255,255,255,.68); font-size:.9rem; }
.footer-bottom { margin-top:38px; padding-top:22px; border-top:1px solid rgba(255,255,255,.1); font-size:.85rem; }

/* Dashboard / Browser Mockups */
.mock-dashboard,.dashboard-shell,.pos-shell,.ops-shell,.finance-shell,.price-shell,.partner-shell {
	position:relative; z-index:1; width:min(100%, 560px); border-radius:32px; padding:16px;
	background:rgba(255,255,255,.84); border:1px solid rgba(255,255,255,.8); box-shadow:var(--shadow);
}
.mock-dashboard { width:min(100%, 520px); }
.mock-window,.dashboard-window,.pos-window,.ops-window,.finance-window,.price-window,
.partner-window {
	overflow:hidden; border-radius:24px; background:#fff; border:1px solid var(--line);
}
.mock-topbar {
	height:46px; display:flex; align-items:center; justify-content:space-between;
	gap:14px; padding:0 16px; border-bottom:1px solid var(--line); background:#f9fcff;
}
.mock-dots { display:flex; gap:6px; }
.mock-dots i { width:9px; height:9px; border-radius:50%; display:block; background:#c7d8e6; }
.mock-title { font-size:.8rem; font-weight:900; color:var(--primary); }

/* Home / PMS Rack Mockups */
.mock-body,.dashboard-body {
	display:grid; grid-template-columns:136px 1fr; min-height:350px;
}
.dashboard-body { grid-template-columns:132px 1fr; }
.mock-sidebar {
	padding:16px; background:#06243f; color:rgba(255,255,255,.74);
}
.mock-logo {
	width:46px;
	height:46px;
	border-radius:16px;
	background:linear-gradient(135deg, var(--cyan), var(--green));
	margin-bottom:18px;
}
.mock-menu-line {
	height:10px; border-radius:999px; background:rgba(255,255,255,.16); margin:13px 0;
}
.mock-menu-line:nth-child(3) { width:86%; }
.mock-menu-line:nth-child(4) { width:72%; }
.mock-menu-line:nth-child(5) { width:92%; }
.mock-menu-line:nth-child(6) { width:64%; }
.mock-main,
.dashboard-main {
	padding:18px; background:linear-gradient(180deg, #fff, #f5fbff);
}
.mock-metrics,
.metric-row {
	display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; margin-bottom:14px;
}
.metric-row { grid-template-columns:repeat(2, 1fr); }
.metric {
	padding:12px; border:1px solid var(--line); border-radius:16px; background:#fff;
}
.metric small { display:block; color:var(--muted); font-size:.68rem; font-weight:800; }
.metric strong { display:block; margin-top:5px; color:var(--primary); font-size:1.08rem; }
.calendar,
.rack-board {
	border:1px solid var(--line); background:#fff; border-radius:18px; padding:12px;
}
.calendar-head,.calendar-row,.rack-head,.rack-row {
	display:grid; grid-template-columns:1.1fr repeat(4, 1fr); gap:8px; align-items:center;
}
.rack-head,
.rack-row { grid-template-columns:74px repeat(4, 1fr); }
.calendar-head,
.rack-head { margin-bottom:8px; }
.calendar-head span,
.rack-head span { font-size:.65rem; color:var(--muted); font-weight:850; }
.room { font-size:.69rem; font-weight:850; color:#37506a; }
.bar { height:22px; border-radius:999px; background:#e7f0f8; }
.bar.active { background:linear-gradient(135deg, var(--cyan), var(--green)); }
.bar.orange,
.bar.warn { background:linear-gradient(135deg, var(--orange), #ffd28d); }
.bar.clean { background:linear-gradient(135deg, #a9f3da, #d9fff0); }

/* Suite Comercial */
.commerce-grid {
	position:relative; z-index:1; width:min(100%, 560px); display:grid; grid-template-columns:.82fr 1fr;
	gap:16px; align-items:end;
}
.device-pair {
	position:relative; min-height:520px; display:grid; place-items:center;
}
.phone {
	width:210px; border-radius:34px; padding:12px; background:#09243e; box-shadow:var(--shadow); justify-self:center;
}
.device-pair .phone {
	position:absolute; left:26px; bottom:10px; z-index:2;
}
.phone-screen {
	min-height:410px; border-radius:26px; background:#fff; overflow:hidden; border:1px solid rgba(255,255,255,.2);
}
.phone-hero {
	padding:22px 16px; color:#fff; background:linear-gradient(135deg, var(--primary), var(--cyan));
}
.phone-hero small { display:block; opacity:.8; font-weight:850; }
.phone-hero strong { display:block; font-size:1.12rem; line-height:1.1; margin-top:8px; }
.phone-card { margin:12px; padding:12px; border:1px solid var(--line); border-radius:16px; }
.phone-card b { display:block; color:var(--primary); margin-bottom:6px; }
.phone-card span { color:var(--muted); font-size:.78rem; }
.phone-price { color:var(--green); font-size:1.2rem; font-weight:950; }
.phone-btn {
	display:block; margin:12px; padding:11px; border-radius:14px; color:#fff;
	background:linear-gradient(135deg, var(--primary), var(--green));
	text-align:center; font-weight:900; font-size:.88rem;
}
.panel,
.suite-panel {
	border-radius:28px; padding:14px; background:rgba(255,255,255,.78);
	border:1px solid var(--line); box-shadow:var(--shadow-soft);
}
.panel { width:min(100%, 520px); margin-left:auto; }
.panel-inner {
	border-radius:20px; overflow:hidden; background:#fff; border:1px solid var(--line);
}
.panel-head,.folio-head,.kitchen-head,.inventory-head,.board-head,.estimate-head {
	display:flex; justify-content:space-between; align-items:center;
	padding:16px; border-bottom:1px solid var(--line);
}
.panel-head strong,.folio-head strong,.kitchen-head strong,.inventory-head strong,
.board-head strong { color:var(--primary); }
.sync-pill {
	padding:6px 10px; border-radius:999px; background:#e4fff3; color:#08784c; font-size:.75rem; font-weight:950;
}
.channel-row {
	display:grid; grid-template-columns:1fr auto auto; gap:10px; align-items:center; padding:14px 16px; border-bottom:1px solid var(--line);
}
.channel-row:last-child { border-bottom:0; }
.channel-row strong { color:#244059; }
.channel-row span { color:var(--muted); font-size:.84rem; }
.status { width:10px; height:10px; border-radius:999px; background:var(--green); }

/* Matrices / Folios / Screens */
.screen-stack { position:relative; min-height:480px; }
.screen-large,
.screen-small {
	background:#fff; border:1px solid var(--line); border-radius:24px; box-shadow:var(--shadow-soft); overflow:hidden;
}
.screen-large { width:min(100%, 560px); }
.screen-small { position:absolute; width:260px; right:4px; bottom:6px; }
.rack { padding:16px; display:grid; gap:10px; }
.rack .rack-row { grid-template-columns:86px 1fr; }
.rack-room { font-weight:900; color:#31506b; font-size:.84rem; }
.rack-bars { display:grid; grid-template-columns:repeat(5, 1fr); gap:6px; }
.rack-bars span { height:28px; border-radius:10px; background:#e7f0f8; }
.rack-bars span.on { background:linear-gradient(135deg, var(--cyan), var(--green)); }
.rack-bars span.warn { background:linear-gradient(135deg, var(--orange), #ffd28d); }

.folio,
.folio-content { padding:16px; }
.folio-content { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.folio-visual,.matrix-card,.tariff-matrix,.kitchen-board,.inventory-visual,
.pwa-board,.inventory-board,.events-board,.invoice-board,.cash-board,.policy-board,
.toolkit-board {
	width:min(100%, 560px); margin-inline:auto; border-radius:28px; padding:16px;
	background:rgba(255,255,255,.75); border:1px solid var(--line); box-shadow:var(--shadow-soft);
}
.folio-window,.rate-matrix,.matrix,.kitchen-window,.inventory-window,
.board-window {
	background:#fff; border:1px solid var(--line); border-radius:20px; overflow:hidden;
}
.folio-box {
	padding:14px; border:1px solid var(--line);	border-radius:16px;
	background:#fbfdff;
}
.folio-box small { display:block; color:var(--muted); font-weight:850; font-size:.72rem; margin-bottom:4px; }
.folio-box strong { display:block; color:var(--primary); font-size:1.08rem; }
.folio-lines { grid-column:1 / -1; border:1px solid var(--line); border-radius:16px; overflow:hidden; }
.folio-line {
	display:flex; justify-content:space-between; gap:12px; padding:12px 14px; border-bottom:1px solid var(--line); color:#40546b;
}
.folio-line:last-child { border-bottom:0; }
.folio-line b,
.folio-line strong { color:var(--primary); }
.folio-line.total { background:#f2fbff; font-weight:900; }

.matrix-head,
.matrix-row {
	display:grid; grid-template-columns:1.1fr repeat(4, 1fr);
}
.matrix-head span {
	padding:12px; font-weight:900; color:var(--primary); font-size:.78rem;
	background:#f7fbff; border-right:1px solid var(--line); border-bottom:1px solid var(--line);
}
.matrix-row span {
	padding:13px 12px; color:#36516b; font-size:.84rem; border-right:1px solid var(--line); border-bottom:1px solid var(--line);
}
.matrix-row span:first-child { font-weight:900; color:var(--primary); }
.matrix-row span.on { background:#eafff5; color:#08784c; font-weight:900; }
.matrix-row span.hot { background:#fff2dc; color:#9b5807; font-weight:900; }

/* Restaurant POS */
.pos-body {
	display:grid; grid-template-columns:1.15fr .85fr; min-height:380px; background:linear-gradient(180deg, #fff, #f5fbff);
}
.pos-left { padding:18px; border-right:1px solid var(--line); }
.pos-right { padding:18px; background:#fbfdff; }
.table-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; margin-bottom:16px; }
.table-card { min-height:72px; padding:10px; border:1px solid var(--line); border-radius:16px; background:#fff; }
.table-card strong { display:block; color:var(--primary); font-size:.92rem; }
.table-card span { color:var(--muted); font-size:.74rem; }
.table-card.active { background:linear-gradient(135deg, #ecfbff, #effff8); border-color:rgba(34,181,122,.28); }
.table-card.warn { background:#fff7eb; border-color:rgba(255,157,46,.28); }
.product-grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:9px; }
.product-btn { padding:12px; border-radius:14px; border:1px solid var(--line); background:#fff; color:#36516b; font-weight:850; font-size:.8rem; text-align:left; }
.ticket-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
.ticket-head strong { color:var(--primary); }
.ticket-pill { padding:6px 9px; border-radius:999px; background:#e4fff3; color:#08784c; font-size:.72rem; font-weight:950; }
.ticket-line { display:flex; justify-content:space-between; gap:10px; padding:10px 0; border-bottom:1px solid var(--line); color:#40546b; font-size:.86rem; }
.ticket-line b { color:var(--primary); }
.ticket-total { margin-top:14px; padding:14px; border-radius:16px; background:var(--primary); color:#fff; display:flex; justify-content:space-between; font-weight:950; }
.charge-room { margin-top:12px; padding:12px; border-radius:16px; background:#fff2dc; color:#7a4506; font-weight:900; font-size:.84rem; }

.order-grid,
.pwa-grid { padding:16px; display:grid; grid-template-columns:repeat(2, 1fr); gap:12px;
}
.order-card,
.pwa-card {
	padding:14px; border:1px solid var(--line); border-radius:16px; background:#fbfdff;
}
.order-card.hot { background:#fff7eb; border-color:rgba(255,157,46,.32); }
.order-card strong,
.pwa-card strong { display:block; color:var(--primary); margin-bottom:6px; }
.order-card span,
.pwa-card span { display:block; color:var(--muted); font-size:.84rem; }
.order-card small,
.pwa-card small { display:inline-block; margin-top:10px; padding:5px 8px; border-radius:999px; background:#eef8ff; color:#075b70; font-weight:900; }

/* Operation */
.ops-body {
	display:grid; grid-template-columns:1.05fr .95fr; min-height:390px; background:linear-gradient(180deg, #fff, #f5fbff);
}
.ops-main { padding:18px; border-right:1px solid var(--line); }
.ops-side { padding:18px; background:#fbfdff; }
.room-status-grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:10px; margin-bottom:14px; }
.status-card { min-height:86px; padding:12px; border:1px solid var(--line); border-radius:16px; background:#fff; }
.status-card strong { display:block; color:var(--primary); font-size:.9rem; }
.status-card span { color:var(--muted); font-size:.74rem; }
.status-card.ready { background:#eafff5; border-color:rgba(34,181,122,.26); }
.status-card.dirty { background:#fff7eb; border-color:rgba(255,157,46,.28); }
.status-card.maintenance { background:#eef8ff; border-color:rgba(19,184,214,.28); }
.task-panel { border:1px solid var(--line); border-radius:18px; background:#fff; overflow:hidden; }
.task-row { display:grid; grid-template-columns:1fr auto; gap:10px; padding:13px 14px; border-bottom:1px solid var(--line); align-items:center; }
.task-row:last-child { border-bottom:0; }
.task-row strong { display:block; color:#244059; font-size:.88rem; }
.task-row span { color:var(--muted); font-size:.76rem; }
.task-pill { padding:6px 9px; border-radius:999px; background:#eef8ff; color:#075b70; font-size:.72rem; font-weight:950; }
.task-pill.hot { background:#fff2dc; color:#9b5807; }
.mobile-card { border-radius:24px; padding:12px; background:#09243e; box-shadow:var(--shadow-soft); }
.mobile-screen { border-radius:18px; background:#fff; overflow:hidden; min-height:330px; }
.mobile-head { padding:18px 14px; color:#fff; background:linear-gradient(135deg, var(--primary), var(--green)); }
.mobile-head small { display:block; opacity:.78; font-weight:850; }
.mobile-head strong { display:block; margin-top:6px; line-height:1.1; }
.mobile-task { margin:10px; padding:12px; border:1px solid var(--line); border-radius:14px; }
.mobile-task b { display:block; color:var(--primary); font-size:.88rem; }
.mobile-task span { color:var(--muted); font-size:.75rem; }

.inventory-line,.event-line,.doc-line,.cash-line,.policy-line,
.tool-line {
	display:grid; grid-template-columns:1fr auto auto; gap:12px; padding:14px 16px; border-bottom:1px solid var(--line); align-items:center;
}
.tool-line { grid-template-columns:1fr auto; }
.inventory-line:last-child,.event-line:last-child,.doc-line:last-child,.cash-line:last-child,.policy-line:last-child,
.tool-line:last-child { border-bottom:0; }
.inventory-line strong,.event-line strong,.doc-line strong,.cash-line strong,.policy-line strong,
.tool-line strong { color:#244059; }
.inventory-line span,.event-line span,.doc-line span,.cash-line span,.policy-line span,
.tool-line span { color:var(--muted); font-size:.84rem; }
.stock,.event-status,.amount,.doc-status,.policy-status,
.tool-status { min-width:86px; text-align:right; font-weight:950; color:var(--primary); }
.stock.low,.event-status.hot,.amount.pending,
.doc-status.pending { color:#9b5807; }
.amount.positive { color:#08784c; }

/* Finance */
.finance-body {
	display:grid; grid-template-columns:1.1fr .9fr; min-height:395px; background:linear-gradient(180deg, #fff, #f5fbff);
}
.finance-main { padding:18px; border-right:1px solid var(--line); }
.finance-side { padding:18px; background:#fbfdff; }
.chart-card,
.report-card {
	border:1px solid var(--line); background:#fff; border-radius:18px; padding:14px;
}
.section-dark .chart-card,
.section-dark .report-card {
	background:rgba(255,255,255,.11); border:1px solid rgba(255,255,255,.16); border-radius:24px;
}
.chart-card strong, .report-card strong { display:block; color:var(--primary); margin-bottom:10px; }
.section-dark .chart-card strong, .section-dark .report-card strong { color:#fff; }
.fake-chart { height:188px; display:flex; align-items:end; gap:9px; padding-top:16px; }
.fake-chart i { flex:1; border-radius:12px 12px 0 0; background:linear-gradient(180deg, #7ee8f6, #22b57a); min-height:32px; }
.fake-chart i:nth-child(1) { height:44%; }
.fake-chart i:nth-child(2) { height:62%; }
.fake-chart i:nth-child(3) { height:49%; }
.fake-chart i:nth-child(4) { height:78%; }
.fake-chart i:nth-child(5) { height:58%; }
.fake-chart i:nth-child(6) { height:88%; }
.report-box { border:1px solid var(--line); background:#fff; border-radius:18px; overflow:hidden; }
.report-head { padding:14px; border-bottom:1px solid var(--line); color:var(--primary); font-weight:950; }
.report-line { display:flex; justify-content:space-between; gap:12px; padding:12px 14px; border-bottom:1px solid var(--line); color:#40546b; font-size:.9rem; }
.report-line:last-child { border-bottom:0; }
.report-line b { color:var(--primary); }
.report-line.total { background:#f2fbff; font-weight:950; }
.section-dark .report-line { border-bottom-color:rgba(255,255,255,.13); color:rgba(255,255,255,.72); }
.section-dark .report-line b { color:#fff; }

.finance-visual {
	display:grid; grid-template-columns:1.1fr .9fr; gap:14px;
}

/* Integration / Module / Audience */
.module-grid {
	margin-top:36px; display:grid; grid-template-columns:repeat(5, 1fr); gap:14px;
}
.module-card { padding:18px; box-shadow:none; }
.module-card h3 { font-size:1.03rem; }
.module-card p { font-size:.9rem; margin:0; }

.integration-map {
	margin-top:34px; display:grid; grid-template-columns:repeat(5, 1fr); gap:12px; align-items:stretch;
}
.integration-node {
	padding:18px; min-height:138px; border-radius:22px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.16);
}
.integration-node strong { display:block; color:#fff; margin-bottom:8px; }
.integration-node span { color:rgba(255,255,255,.74); font-size:.9rem; }

.audience-grid {
	margin-top:34px; display:grid; grid-template-columns:repeat(3, 1fr); gap:14px;
}
.audience-card {
	padding:22px; background:#fff; border:1px solid var(--line); border-radius:22px;
}
.audience-card h3 { margin:0 0 8px; color:var(--primary); font-size:1.05rem; }
.audience-card p { margin:0; color:var(--muted); font-size:.94rem; }

/* Pricing */
.pricing-split {
	margin-top:36px; display:grid; grid-template-columns:1fr 1fr; gap:18px; align-items:stretch;
}
.price-card.highlight {
	background:linear-gradient(135deg, var(--primary), #0b3a64); color:#fff;
}
.price-card.highlight h3,
.price-card.highlight p { color:#fff; }
.price-card.highlight p { opacity:.78; }
.price-list { margin:0; padding:0; list-style:none; display:grid; gap:12px; }
.price-list li { display:flex; justify-content:space-between; gap:18px; padding-bottom:12px; border-bottom:1px solid rgba(220,232,242,.78); color:#3d5269; }
.price-card.highlight .price-list li { border-bottom-color:rgba(255,255,255,.14); color:rgba(255,255,255,.78); }
.price-list b { color:var(--primary); }
.price-card.highlight .price-list b { color:#fff; }

.price-body { padding:20px; background:linear-gradient(180deg, #fff, #f5fbff); }
.estimate-card { border:1px solid var(--line); border-radius:22px; background:#fff; overflow:hidden; }
.estimate-head { display:block; }
.estimate-head small { display:block; color:var(--muted); font-weight:850; font-size:.76rem; }
.estimate-head strong { display:block; margin-top:4px; color:var(--primary); font-size:2rem; letter-spacing:-.05em; }
.estimate-list { padding:6px 18px 18px; }
.estimate-row { display:flex; justify-content:space-between; gap:14px; padding:12px 0; border-bottom:1px solid var(--line); color:#40546b; }
.estimate-row:last-child { border-bottom:0; }
.estimate-row b { color:var(--primary); }
.estimate-note { margin:14px 0 0; padding:12px; border-radius:16px; background:#eef8ff; color:#31506b; font-size:.88rem; }

.calculator-layout {
	display:grid; grid-template-columns:1fr .82fr; gap:18px; align-items:start; margin-top:36px;
}
.calc-grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:14px; }
.field { display:grid; gap:7px; }
label { color:#244059; font-size:.9rem; font-weight:850; }
input, select, textarea {
	width:100%; min-height:46px; border:1px solid var(--line); border-radius:14px; padding:10px 12px; color:var(--ink); background:#fff; outline:none;
}
input:focus, select:focus, textarea:focus {
	border-color:rgba(19,184,214,.65); box-shadow:0 0 0 4px rgba(19,184,214,.12);
}
textarea { resize:vertical; min-height:106px; }
.check-field {
	display:flex; gap:10px; align-items:flex-start; padding:12px; border:1px solid var(--line); border-radius:16px; background:#fbfdff;
}
.check-field input { width:18px; min-height:auto; margin-top:3px; }
.check-field span { display:block; color:var(--muted); font-size:.84rem; }
.checkbox-grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:12px; margin-top:14px; }
.summary-card { position:sticky; top:94px; padding:0; overflow:hidden; }
.summary-head { padding:24px; background:linear-gradient(135deg, var(--primary), #075b70); color:#fff; }
.summary-head small { display:block; color:rgba(255,255,255,.72); font-weight:850; }
.summary-head strong { display:block; margin-top:5px; font-size:clamp(2rem, 5vw, 3.2rem); letter-spacing:-.06em; line-height:1; }
.summary-body { padding:20px 24px 24px; }
.summary-row { display:flex; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid var(--line); color:#40546b; }
.summary-row:last-child { border-bottom:0; }
.summary-row b { color:var(--primary); }
.summary-foot { margin-top:16px; padding:14px; border-radius:16px; background:#eef8ff; color:#31506b; font-size:.9rem; }
.summary-warning { display:none; margin-top:12px; padding:14px; border-radius:16px; background:#fff7eb; color:#7a4506; font-size:.9rem; font-weight:700; }
.summary-warning.show { display:block; }
.summary-actions { display:grid; gap:10px; margin-top:16px; }
.form-grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:14px; }
.form-grid .full { grid-column:1 / -1; }
.form-note { margin:14px 0 0; color:var(--muted); font-size:.88rem; }
.form-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.faq-grid { margin-top:36px; display:grid; grid-template-columns:repeat(2, 1fr); gap:18px; }
.faq-card { box-shadow:none; border-radius:22px; }
.faq-card h3 { font-size:1.05rem; }

/* Partners */
.partner-body { padding:20px; background:linear-gradient(180deg, #fff, #f5fbff); }
.partner-dashboard { display:grid; grid-template-columns:1.05fr .95fr; gap:14px; }
.pipeline-card,
.commission-card { border:1px solid var(--line); border-radius:20px; background:#fff; overflow:hidden; }
.pipeline-row { display:grid; grid-template-columns:1fr auto; gap:10px; padding:13px 15px; border-bottom:1px solid var(--line); }
.pipeline-row:last-child { border-bottom:0; }
.pipeline-row strong { display:block; color:#244059; font-size:.88rem; }
.pipeline-row span { color:var(--muted); font-size:.75rem; }
.pipeline-row b { color:var(--primary); }
.commission-body { padding:15px; }
.commission-number { color:var(--primary); font-size:2.2rem; line-height:1; font-weight:950; letter-spacing:-.06em; }
.commission-body p { margin:10px 0 0; color:var(--muted); font-size:.9rem; }
.partner-metrics { margin-top:14px; display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; }
.level-rate { display:inline-flex; align-items:baseline; gap:6px; color:var(--primary); font-size:2.4rem; line-height:1; font-weight:950; letter-spacing:-.06em; margin-bottom:12px; }
.level-rate small { font-size:.9rem; color:var(--muted); letter-spacing:0; }

/* Responsive */
@media (max-width:1040px) {
	.main-nav { gap:13px; font-size:.86rem; }
	.hero-grid,.problem-grid,.split,.split.reverse,.finance-visual,.pricing-split,
	.calculator-layout { grid-template-columns:1fr; }
	.hero-grid { gap:22px; }
	.product-stage,.commercial-stage,.pms-stage,.restaurant-stage,.ops-stage,.finance-stage,.pricing-stage,
	.partner-stage { min-height:610px; }
	.cards-3,.feature-grid { grid-template-columns:1fr; }
	.cards-2,.comparison,
	.faq-grid { grid-template-columns:1fr; }
	.flow-line { grid-template-columns:repeat(3, 1fr); }
	.module-grid { grid-template-columns:repeat(2, 1fr); }
	.integration-map { grid-template-columns:repeat(2, 1fr); }
	.audience-grid { grid-template-columns:1fr; }
	.partner-dashboard { grid-template-columns:1fr; }
	.footer-grid { grid-template-columns:1fr 1fr; }
	.cta-box { grid-template-columns:1fr; }
	.cta-actions { justify-content:flex-start; }
	.summary-card { position:static; }
}

@media (max-width:760px) {
	.container { width:min(100% - 24px, var(--max)); }
	.hamburger { display:inline-flex; }
	.main-nav {
		position:absolute; left:12px; right:12px; top:72px;
		display:none; flex-direction:column; align-items:stretch; padding:18px;
		border:1px solid var(--line); border-radius:22px; background:rgba(255,255,255,.97);
		box-shadow:var(--shadow-soft);
	}
	.main-nav a { padding:10px 8px; }
	.nav-toggle:checked ~ .main-nav { display:flex; }
	.nav-cta { display:none; }

	.hero { padding:38px 0 50px; overflow:clip; }
	.hero-grid > * { min-width:0; }
	.hero h1 {
		font-size:clamp(2rem, 10.4vw, 3.15rem); line-height:1.06;
		letter-spacing:-.045em; max-width:100%; overflow-wrap:normal;
		word-break:normal; text-wrap:balance;
	}
	.hero-lead {
		max-width:100%; font-size:1rem; line-height:1.56; overflow-wrap:break-word;
	}
	.hero-actions,
	.form-actions {
		display:flex; flex-wrap:wrap; align-items:stretch;
	}
	.hero-actions .btn,
	.form-actions .btn {
		width:auto; flex:1 1 158px; min-width:0; min-height:48px; padding:0 14px;
		white-space:normal; text-align:center; line-height:1.15;
	}
	.badge-row {
		display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:8px;
		max-width:none; overflow:visible; padding-bottom:0; scroll-snap-type:none;
	}
	.badge {
		width:100%; min-width:0; justify-content:flex-start; white-space:normal; line-height:1.2;
	}

	.product-stage { min-height:580px; }
	.commercial-stage { min-height:810px; }
	.pms-stage { min-height:720px; }
	.restaurant-stage { min-height:870px; }
	.ops-stage { min-height:920px; }
	.finance-stage { min-height:870px; }
	.pricing-stage { min-height:760px; }
	.partner-stage { min-height:820px; }

	.mock-dashboard,.dashboard-shell,.pos-shell,.ops-shell,.finance-shell,.price-shell,
	.partner-shell { width:100%; padding:10px; align-self:start; }

	.floating-card { position:static; margin:10px auto 0; width:100%; }
	.mock-body,.dashboard-body,.pos-body,.ops-body,.finance-body,.commerce-grid { grid-template-columns:1fr; }
	.mock-sidebar { display:none; }
	.mock-metrics,.metric-row,.partner-metrics { grid-template-columns:1fr; }
	.calendar-head,.calendar-row,.rack-head,.rack-row { grid-template-columns:72px repeat(3, 1fr); }
	.calendar-head span:nth-child(5),
	.calendar-row .bar:nth-child(5),
	.rack-head span:nth-child(5),
	.rack-row .bar:nth-child(5) { display:none; }

	.proof-strip .strip-grid,
	.logo-strip .strip-grid { grid-template-columns:1fr 1fr; }
	.strip-grid > strong { grid-column:1 / -1; }
	.disconnect-board,.problem-board,.module-grid,.integration-map,.order-grid,.pwa-grid,.calc-grid,.checkbox-grid,.form-grid { grid-template-columns:1fr; }
	.flow-wrap { padding:14px; }
	.flow-line { grid-template-columns:1fr !important; }
	.section { padding:62px 0; }
	.section-tight { padding:42px 0; }
	.footer-grid { grid-template-columns:1fr; }
	.cta-box { padding:24px; }
	.cta-actions .btn,
	.summary-actions .btn { width:100%; }

	.device-pair { min-height:680px; }
	.device-pair .phone { left:50%; transform:translateX(-50%); bottom:0; width:208px; }
	.phone { width:208px; order:2; }
	.suite-panel { width:100%; order:1; }
	.panel { width:100%; margin:0; align-self:start; }
	.channel-row { grid-template-columns:1fr auto; }
	.channel-row span { display:none; }

	.screen-stack { min-height:620px; }
	.screen-small { width:88%; left:50%; right:auto; transform:translateX(-50%); bottom:0; }
	.folio-content { grid-template-columns:1fr; }
	.folio-lines { grid-column:auto; }
	.matrix-card,
	.tariff-matrix { padding:10px; overflow-x:auto; }
	.rate-matrix,
	.matrix { min-width:560px; }

	.pos-left,
	.ops-main,
	.finance-main { border-right:0; border-bottom:1px solid var(--line); }
	.table-grid { grid-template-columns:repeat(2, 1fr); }
	.product-grid,
	.room-status-grid { grid-template-columns:1fr; }

	.inventory-line,.event-line,.doc-line,.cash-line,
	.policy-line { grid-template-columns:1fr auto; }
	.inventory-line span,.event-line span,.doc-line span,.cash-line span,
	.policy-line span { display:none; }
	.form-grid .full { grid-column:auto; }
}

@media (max-width:380px) {
	.hero h1 { font-size:clamp(1.85rem, 9.8vw, 2.65rem); letter-spacing:-.035em; }
	.section-kicker { font-size:.74rem; }
	.badge-row { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) {
	*, *::before, *::after { scroll-behavior:auto !important; transition:none !important; }
}

.breather { padding:54px 0;
	background:
		radial-gradient(circle at top left, rgba(19,184,214,.12), transparent 28rem),
		linear-gradient(135deg, #ffffff, #eef8ff);
	border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
.breather-grid { display:grid; grid-template-columns:1fr .8fr; gap:28px; align-items:center; }
.breather h2 { margin:12px 0 0; color:var(--primary); font-size:clamp(1.7rem, 3.5vw, 3rem); line-height:1.05; letter-spacing:-.05em; }
.breather p { margin:0; color:var(--muted); font-size:1.08rem; }

@media (max-width:760px) {
	.breather { padding:42px 0; }
	.breather-grid { grid-template-columns:1fr; }
}

.scroll-assistant {
	position:fixed; right:16px; bottom:18px; z-index:60; display:grid; gap:8px;
}
.scroll-assistant a {
	width:42px; height:42px; display:grid; place-items:center;
	border-radius:999px; color:#fff;
	background:linear-gradient(135deg, var(--primary), var(--primary-2));
	box-shadow:0 12px 28px rgba(6,36,63,.22);
	font-weight:950; text-decoration:none;
}

@media (max-width:760px) {
	.scroll-assistant { right:12px; bottom:14px; }
	.scroll-assistant a { width:38px; height:38px; }
}

/* Tarjetas de problemas / dolores */
.problem-board {
	display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:18px;
}
.problem-card {
	position:relative; padding:22px 20px 18px 20px; border-radius:20px; border:1px solid #efb1b1;
	background:linear-gradient(180deg, #fff8f8 0%, #fff1f1 100%);
	box-shadow:0 12px 28px rgba(120, 20, 20, 0.06);
	overflow:hidden;
}
.problem-card::before {
	content:"!"; position:absolute; top:18px; right:18px; width:32px; height:32px;
	display:grid; place-items:center;
	background:linear-gradient(135deg, #d94b4b, #b92f2f); color:#fff; font-weight:900; font-size:1rem;
	border-radius:999px; box-shadow:0 10px 20px rgba(185, 47, 47, 0.18);
}
.problem-card .problem-tag {
	display:inline-flex; align-items:center; gap:6px; margin-bottom:10px; padding:6px 10px;
	border-radius:999px; background:rgba(217, 75, 75, 0.10); color:#a22727;
	font-size:0.76rem; font-weight:800; letter-spacing:.02em; text-transform:uppercase;
}
.problem-card strong {
	display:block; margin:0 36px 10px 0; color:#8d1f1f; font-size:1.04rem; line-height:1.2;
}
.problem-card span {
	display:block; color:#6d4a4a; line-height:1.58; font-size:0.98rem;
}
.problem-card:hover {
	transform:translateY(-2px); border-color:#df8a8a; box-shadow:0 16px 34px rgba(120, 20, 20, 0.09); transition:all .22s ease;
}

@media (max-width:760px) {
	.problem-board { grid-template-columns:1fr; }
	.problem-card { padding:20px 18px 16px 18px; }
}


