{"version":3,"file":"BlogPostPage.IDkwEq2D.mjs","names":["p","useState","useRef","useMemo"],"sources":["https:/framerusercontent.com/modules/AAr61qbwYcY7FJCcqNxg/XGunkdhqRiLcMFFu4nZC/BlogPostPage.js"],"sourcesContent":["/**\n * BlogPostPage.tsx — RANGO Technologies blog detail template\n *\n * Self-contained Framer code component. Takes a `slug` prop (from Framer property controls)\n * and renders the matching post from the embedded BLOG_POSTS array. Mounts on every\n * /blog-{slug} page (21 pages total).\n *\n * Mirrors the RangoWebsite.tsx pattern (useRef + useEffect + dangerouslySetInnerHTML + STYLES).\n *\n * Body parser: lines starting with \"### \" become <h3>; lines starting with \"- \" become <ul>\n * bullets; everything else becomes <p>. CSS class \"bp-body\" styles all of these.\n */import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useEffect,useMemo,useRef,useState}from\"react\";const LOGO_URL=\"https://framerusercontent.com/images/dxsWCchYA4pbhpfnvkADM0aCEF4.png\";const SITE_ORIGIN=\"https://www.rango.tech\";const CATEGORY_TINT={\"Managed IT\":\"#FFF3EA\",Cybersecurity:\"#FFE6E6\",\"Microsoft 365\":\"#E6EFFF\",Networking:\"#E6F4F1\",Compliance:\"#F2EAFF\",\"Hurricane Prep\":\"#FFF8E1\",\"Industry Insights\":\"#EFEFEF\",\"Case Studies\":\"#FCEFE6\",\"Company News\":\"#E8F0FE\"};const BLOG_POSTS=[{slug:\"how-wifi-7-improves-productivity\",title:\"How Wi-Fi 7 Improves Productivity, Reliability, and Security for Businesses in 2026\",seoTitle:\"Wi-Fi 7 for Business Productivity | RANGO Technologies\",seoDescription:\"Learn when Wi-Fi 7 makes sense for South Florida offices, clinics, warehouses, and hybrid teams - and how to upgrade without disrupting work.\",excerpt:\"Wi-Fi problems rarely look like a major business risk at first. They look like frozen video calls, barcode scanners that disconnect, patient rooms with weak signal, and employees blaming the...\",category:\"Networking\",ctaType:\"free-assessment\",relatedServices:[\"business-wifi\",\"network-administration\",\"cybersecurity\"],coverImage:\"https://framerusercontent.com/images/rVZCvT6U38B5nSCf7Plpg46obs.png\",coverImageAlt:\"Business Wi-Fi access point installed in a South Florida office ceiling.\",primaryKeywordIntent:\"best business Wi-Fi setup Miami\",publishDate:\"2025-12-29\",lastUpdated:\"2026-04-26\",readTime:\"2 min read\",author:\"RANGO Technologies\",body:\"Wi-Fi problems rarely look like a major business risk at first. They look like frozen video calls, barcode scanners that disconnect, patient rooms with weak signal, and employees blaming the internet when the real problem is the office network. Wi-Fi 7 gives businesses more capacity, lower latency, and better performance in crowded environments, but only when it is designed correctly.\\n\\nThe upgrade is not about chasing the newest standard. It is about giving your team a network that can handle cloud apps, VoIP, cameras, guest access, mobile devices, and hybrid work without constant interruption. A Wi-Fi 7 access point on a poorly designed network will still disappoint. The design, cabling, switching, firewall, channel plan, and security model matter.\\n\\nFor South Florida offices, clinics, warehouses, and commercial spaces, construction materials, neighboring networks, and device density can make Wi-Fi unpredictable. A proper site survey and business-grade deployment prevent the guessing game.\\n\\n### What to look for\\n\\n- Video calls drop or freeze in certain rooms.\\n\\n- Guests and employees share the same network.\\n\\n- The office has added cameras, phones, tablets, scanners, or IoT devices since the network was installed.\\n\\n- There is no visibility into which devices are consuming bandwidth.\\n\\n- Your network gear is managed by guesswork instead of monitoring.\\n\\n### How RANGO helps\\n\\nRANGO Technologies designs and installs business Wi-Fi using commercial platforms like Ubiquiti UniFi and TP-Link Omada. We review coverage, switching, firewall rules, guest segmentation, security settings, and ongoing monitoring so the network is built for the way your team actually works.\\n\\nNot sure if Wi-Fi 7 is worth it for your office? Schedule a free network assessment and we will show you where the bottlenecks are.\"},{slug:\"why-24-7-it-support-is-a-necessity\",title:\"Why 24/7 IT Support Is a Necessity for Modern Businesses\",seoTitle:\"24/7 IT Support for South Florida Businesses | RANGO\",seoDescription:\"Learn why 24/7 IT support matters for uptime, cybersecurity, remote work, cloud apps, and regulated South Florida businesses.\",excerpt:\"Business technology does not fail only between 9 and 5. Email compromise, server alerts, internet outages, backup failures, and remote-work issues often happen at the worst possible time. For many...\",category:\"Managed IT\",ctaType:\"free-assessment\",relatedServices:[\"managed-it-services\",\"remote-it-support\",\"onsite-it-support\"],coverImage:\"https://framerusercontent.com/images/Qb8bLlPKFhujdYo4ViAvvV0YsCs.png\",coverImageAlt:\"RANGO engineer providing remote IT support after hours.\",primaryKeywordIntent:\"Miami IT support 24/7\",publishDate:\"2025-12-08\",lastUpdated:\"2026-04-26\",readTime:\"2 min read\",author:\"RANGO Technologies\",body:\"Business technology does not fail only between 9 and 5. Email compromise, server alerts, internet outages, backup failures, and remote-work issues often happen at the worst possible time. For many companies, 24/7 support is no longer a luxury. It is part of basic operational resilience.\\n\\nThe real value of 24/7 IT support is not simply having someone answer the phone. It is having the right alerts, documentation, remote access, escalation process, and local response plan in place before something breaks. Without that structure, after-hours support becomes a voicemail box with a promise attached to it.\\n\\nIn South Florida, businesses also deal with storms, power issues, ISP outages, logistics schedules, medical office hours, and teams working across locations. Support needs to match that reality.\\n\\n### What to look for\\n\\n- Your staff works evenings, weekends, or across locations.\\n\\n- Your business relies on Microsoft 365, VoIP, cloud apps, or remote access.\\n\\n- A cybersecurity alert after hours would not reach a decision-maker quickly.\\n\\n- You do not know who handles an outage when your primary IT person is unavailable.\\n\\n- There is no written escalation process for urgent problems.\\n\\n### How RANGO helps\\n\\nRANGO builds support around documented environments, senior engineers, remote troubleshooting, endpoint visibility, and local onsite response when needed. The goal is simple: shorten downtime and prevent routine issues from becoming expensive interruptions.\\n\\nIf your business cannot afford to wait until Monday, schedule a free assessment and let us review your support model.\"},{slug:\"5-signs-to-upgrade-your-office-network\",title:\"5 Signs It Is Time to Upgrade Your Office Network\",seoTitle:\"5 Signs Your Office Network Needs an Upgrade | RANGO\",seoDescription:\"Slow Wi-Fi, dropped calls, aging switches, and poor visibility are signs your office network may need a redesign. Learn what to check first.\",excerpt:\"A network upgrade should not wait until the entire office is down. Most networks show warning signs for months before they fail: slow cloud apps, random Wi-Fi drops, bad VoIP quality, security...\",category:\"Networking\",ctaType:\"free-assessment\",relatedServices:[\"network-administration\",\"business-wifi\",\"cybersecurity\"],coverImage:\"https://framerusercontent.com/images/xpdKNxfqZNM7QeGFl8PIRCTpr8.png\",coverImageAlt:\"Network switch and patch panel in a business communications closet.\",primaryKeywordIntent:\"office network upgrade Miami\",publishDate:\"2025-11-17\",lastUpdated:\"2026-04-26\",readTime:\"2 min read\",author:\"RANGO Technologies\",body:\"A network upgrade should not wait until the entire office is down. Most networks show warning signs for months before they fail: slow cloud apps, random Wi-Fi drops, bad VoIP quality, security gaps, and equipment nobody can identify.\\n\\nThe problem is that many businesses treat the network as a one-time installation. In reality, every new camera, phone, laptop, cloud app, and employee changes the load on the network. What worked five years ago may now be the reason everyone complains that the internet is slow.\\n\\nMiami offices, medical suites, warehouses, and professional firms often grow in pieces. One switch gets added here, one access point there, and eventually nobody has a clean map. That is when stability and security suffer.\\n\\n### What to look for\\n\\n- Your Wi-Fi works in some rooms but not others.\\n\\n- Video calls and VoIP calls break up even when speed tests look fine.\\n\\n- The firewall, switches, or access points are more than five years old.\\n\\n- No one has a current network diagram or admin credentials.\\n\\n- Guest devices, cameras, printers, and employee devices are not segmented.\\n\\n### How RANGO helps\\n\\nRANGO reviews the full stack: internet circuits, firewall, switches, access points, cabling, VLANs, guest Wi-Fi, security settings, and monitoring. Then we prioritize what needs to be replaced now versus what can wait.\\n\\nRequest a network review before the next outage turns into lost revenue.\"},{slug:\"top-cyber-threats-small-businesses-2026\",title:\"Top Cyber Threats Targeting Small Businesses in 2026\",seoTitle:\"Top Small Business Cyber Threats in 2026 | RANGO\",seoDescription:\"The biggest cyber risks for small businesses in 2026 include phishing, ransomware, stolen passwords, weak backups, and unmanaged cloud access.\",excerpt:\"Small businesses are no longer too small to be targeted. Attackers go after companies that depend on email, Microsoft 365, remote access, and online banking but often lack full-time security...\",category:\"Cybersecurity\",ctaType:\"cybersecurity-review\",relatedServices:[\"cybersecurity\",\"mdr-xdr\",\"microsoft-365-consulting\",\"cloud-backup-disaster-recovery\"],coverImage:\"https://framerusercontent.com/images/lJ46D6jtvPgzPHCpjJw804LcJI.png\",coverImageAlt:\"Cybersecurity dashboard showing business threat alerts.\",primaryKeywordIntent:\"how to protect my business from ransomware\",publishDate:\"2025-11-10\",lastUpdated:\"2026-04-26\",readTime:\"2 min read\",author:\"RANGO Technologies\",body:\"Small businesses are no longer too small to be targeted. Attackers go after companies that depend on email, Microsoft 365, remote access, and online banking but often lack full-time security staff. In 2026, the most dangerous threats are not always sophisticated. They are the preventable ones.\\n\\nPhishing, business email compromise, ransomware, credential theft, fake invoices, and weak remote access remain common because they work. A single user click or reused password can open the door. The answer is not one tool. It is layered security.\\n\\nSouth Florida businesses with bilingual teams, vendors, logistics partners, patient data, client files, or multi-location operations need clear controls that do not slow everyone down.\\n\\n### What to look for\\n\\n- MFA is not enforced for every user and administrator.\\n\\n- Backups exist but restore tests are not documented.\\n\\n- Users have local admin rights without business justification.\\n\\n- Email authentication and filtering are weak.\\n\\n- There is no 24/7 alerting or incident response plan.\\n\\n### How RANGO helps\\n\\nRANGO helps SMBs build practical security: MFA, EDR, email protection, DNS filtering, backup validation, security awareness training, Microsoft 365 hardening, and MDR/XDR where the risk justifies it.\\n\\nSchedule a cybersecurity review and get a plain-English scorecard of your biggest risks.\"},{slug:\"business-backup-disaster-recovery-miami\",title:\"Business Backup and Disaster Recovery: What Owners Need to Know\",seoTitle:\"Business Backup & Disaster Recovery in Miami | RANGO\",seoDescription:\"Backups are not enough. Learn how South Florida businesses should think about restore testing, cloud backup, ransomware, and hurricane readiness.\",excerpt:\"A backup only matters if it can be restored. Many businesses have a backup product installed, but no one has tested whether files, servers, Microsoft 365 data, or practice-management systems can...\",category:\"Hurricane Prep\",ctaType:\"free-assessment\",relatedServices:[\"cloud-backup-disaster-recovery\",\"cybersecurity\",\"managed-it-services\"],coverImage:\"https://framerusercontent.com/images/0OAcIRBBxdwHS6mW3iakNtVLzY.png\",coverImageAlt:\"Cloud backup and disaster recovery dashboard for business systems.\",primaryKeywordIntent:\"cloud backup for business Miami\",publishDate:\"2025-10-22\",lastUpdated:\"2026-04-26\",readTime:\"2 min read\",author:\"RANGO Technologies\",body:\"A backup only matters if it can be restored. Many businesses have a backup product installed, but no one has tested whether files, servers, Microsoft 365 data, or practice-management systems can actually be recovered under pressure.\\n\\nBackup is the copy. Disaster recovery is the plan. A business needs both. The plan should define what gets backed up, how often, where it is stored, who can access it, how restore tests are documented, and how fast critical systems need to come back online.\\n\\nFor Florida businesses, disaster recovery is not theoretical. Hurricanes, power loss, water damage, ISP outages, and ransomware can all create downtime. A good plan assumes something will fail and prepares around it.\\n\\n### What to look for\\n\\n- No one can show the last successful restore test.\\n\\n- Microsoft 365 email and SharePoint are not backed up separately.\\n\\n- Backups use the same credentials as production systems.\\n\\n- Recovery time and recovery point goals are not documented.\\n\\n- Critical systems depend on one office, one server, or one internet provider.\\n\\n### How RANGO helps\\n\\nRANGO designs backup and recovery around actual business operations, including servers, endpoints, Microsoft 365, line-of-business data, and cloud recovery. We also document restore testing so owners know the plan works.\\n\\nAsk for a backup and disaster recovery review before hurricane season or before your next cyber insurance renewal.\"},{slug:\"unifi-business-wifi-security-miami\",title:\"Get Better Wi-Fi, Cameras, and Access Control with UniFi\",seoTitle:\"UniFi Business Wi-Fi & Security in Miami | RANGO\",seoDescription:\"UniFi can simplify Wi-Fi, switching, cameras, and access control for small businesses when it is designed and managed correctly.\",excerpt:\"UniFi is popular because it gives small and mid-size businesses strong visibility without enterprise-level complexity. Wi-Fi, switching, cameras, door access, and network monitoring can be managed...\",category:\"Networking\",ctaType:\"free-assessment\",relatedServices:[\"business-wifi\",\"network-administration\",\"security-camera-installation\",\"access-control\"],coverImage:\"https://framerusercontent.com/images/D3Nk2PcRgEcOOtFMz96Uvu8ILI.png\",coverImageAlt:\"UniFi access point, switch, camera, and network console in a business installation.\",primaryKeywordIntent:\"UniFi business Wi-Fi Miami\",publishDate:\"2025-09-15\",lastUpdated:\"2026-04-26\",readTime:\"2 min read\",author:\"RANGO Technologies\",body:\"UniFi is popular because it gives small and mid-size businesses strong visibility without enterprise-level complexity. Wi-Fi, switching, cameras, door access, and network monitoring can be managed from a clean interface. That is powerful when the design is done correctly.\\n\\nThe mistake is treating UniFi like a consumer product. Businesses still need proper VLANs, firewall policy, cable labeling, PoE budgeting, backup internet planning, user roles, and documentation. A pretty dashboard does not replace a network design.\\n\\nFor Miami offices, clinics, warehouses, restaurants, and commercial buildings, UniFi can be a strong fit when you need good performance, clean installation, and centralized management without overbuying.\\n\\n### What to look for\\n\\n- You need better Wi-Fi and camera visibility in one environment.\\n\\n- You want guest networks separated from business devices.\\n\\n- You need mobile access to cameras or doors.\\n\\n- Your current network has no clear monitoring or documentation.\\n\\n- You want a clean upgrade path without unnecessary complexity.\\n\\n### How RANGO helps\\n\\nRANGO is experienced with Ubiquiti environments and designs UniFi deployments around business needs: coverage, security, camera retention, access roles, cabling, monitoring, and handoff documentation.\\n\\nSchedule a UniFi design review for your office, warehouse, clinic, or commercial space.\"},{slug:\"how-to-spot-phishing-emails-business\",title:\"How to Spot Phishing Emails Before They Cost Your Business Money\",seoTitle:\"How to Spot Phishing Emails at Work | RANGO\",seoDescription:\"Teach employees how to spot phishing emails, fake invoices, Microsoft 365 password scams, and business email compromise attempts.\",excerpt:\"Most phishing emails are designed to create pressure. They ask someone to click, approve, pay, reset, download, or verify before thinking. The best defense is a team that knows what suspicious...\",category:\"Cybersecurity\",ctaType:\"cybersecurity-review\",relatedServices:[\"cybersecurity\",\"microsoft-365-consulting\",\"managed-it-services\"],coverImage:\"https://framerusercontent.com/images/jFOng6Drkk1t4SsmFvF6zVeqPek.png\",coverImageAlt:\"Employee reviewing a suspicious email on a business laptop.\",primaryKeywordIntent:\"phishing email training for small business\",publishDate:\"2025-04-08\",lastUpdated:\"2026-04-26\",readTime:\"2 min read\",author:\"RANGO Technologies\",body:\"Most phishing emails are designed to create pressure. They ask someone to click, approve, pay, reset, download, or verify before thinking. The best defense is a team that knows what suspicious looks like and a security setup that limits damage when someone makes a mistake.\\n\\nPhishing is dangerous because it targets normal business habits: invoices, shared documents, password resets, bank notices, shipping updates, and messages from executives. The email may look familiar, but the link, sender, attachment, or request does not match normal process.\\n\\nSmall offices often rely on trust and speed. That is exactly what attackers exploit. A simple approval process and employee training can prevent a large loss.\\n\\n### What to look for\\n\\n- Urgent request involving money, gift cards, payroll, or bank changes.\\n\\n- Microsoft 365 password warning that links to an unfamiliar domain.\\n\\n- Invoice from a vendor with changed payment instructions.\\n\\n- Sender display name is familiar but email address is wrong.\\n\\n- Attachment arrives unexpectedly or demands macros.\\n\\n### How RANGO helps\\n\\nRANGO combines email security, MFA, phishing simulations, Microsoft 365 hardening, and practical employee training. We keep the training short and realistic so people actually use it.\\n\\nRequest a phishing-readiness review and see where your team is exposed.\"},{slug:\"ubiquiti-omada-network-installation-miami\",title:\"Ubiquiti vs. TP-Link Omada for Business Network Installation\",seoTitle:\"Ubiquiti vs Omada Business Network Installation | RANGO\",seoDescription:\"Compare Ubiquiti UniFi and TP-Link Omada for small business Wi-Fi, switching, management, and budget planning.\",excerpt:\"Ubiquiti UniFi and TP-Link Omada can both be good platforms for small and mid-size businesses. The right answer depends on building size, support needs, camera and access-control plans, budget,...\",category:\"Networking\",ctaType:\"free-assessment\",relatedServices:[\"network-administration\",\"business-wifi\"],coverImage:\"https://framerusercontent.com/images/de2mCwIbrxlEDdklG6IHbBK5ppU.png\",coverImageAlt:\"Business network equipment comparison between Ubiquiti and TP-Link Omada.\",primaryKeywordIntent:\"Ubiquiti Omada network installation Miami\",publishDate:\"2025-03-25\",lastUpdated:\"2026-04-26\",readTime:\"2 min read\",author:\"RANGO Technologies\",body:\"Ubiquiti UniFi and TP-Link Omada can both be good platforms for small and mid-size businesses. The right answer depends on building size, support needs, camera and access-control plans, budget, and how much centralized visibility the business needs.\\n\\nThe platform choice matters, but design matters more. A properly installed Omada network will outperform a poorly installed UniFi network, and vice versa. Cabling, placement, switching, VLANs, firewall policy, guest access, and documentation decide the outcome.\\n\\nFor South Florida businesses, the common scenarios are offices, clinics, warehouses, commercial suites, restaurants, and multi-tenant spaces. Each has different coverage and reliability needs.\\n\\n### What to look for\\n\\n- Choose UniFi when you want a strong ecosystem for Wi-Fi, cameras, switching, and access control.\\n\\n- Consider Omada when budget is tighter and the network scope is straightforward.\\n\\n- Avoid mixing unmanaged switches into a business network without a plan.\\n\\n- Do not skip site survey or cable testing.\\n\\n- Make sure the provider documents admin access and network topology.\\n\\n### How RANGO helps\\n\\nRANGO designs and supports both Ubiquiti and Omada environments. We help you choose based on use case, not brand hype, and we leave behind clean documentation.\\n\\nBook a network design consultation before buying hardware.\"},{slug:\"dental-office-it-compliance-florida\",title:\"Dental Office IT Compliance Issues Florida Practices Cannot Ignore\",seoTitle:\"Dental Office IT Compliance in Florida | RANGO\",seoDescription:\"Dental offices need HIPAA-ready IT, access controls, backup testing, imaging reliability, MFA, and documented security practices.\",excerpt:\"Dental offices handle protected health information, payment data, images, insurance records, and patient communications every day. That makes IT compliance more than a paperwork issue. It affects...\",category:\"Compliance\",ctaType:\"hipaa-review\",relatedServices:[\"hipaa-it-compliance\",\"industries-medical-dental\",\"cloud-backup-disaster-recovery\"],coverImage:\"https://framerusercontent.com/images/dtSM4dQncNLUQjRRnRhMPgy1iE.png\",coverImageAlt:\"Dental office workstation with secure practice-management software.\",primaryKeywordIntent:\"IT company for dental office Florida\",publishDate:\"2025-03-15\",lastUpdated:\"2026-04-26\",readTime:\"2 min read\",author:\"RANGO Technologies\",body:\"Dental offices handle protected health information, payment data, images, insurance records, and patient communications every day. That makes IT compliance more than a paperwork issue. It affects how users log in, how data is backed up, how devices are secured, and how quickly the practice can recover if something fails.\\n\\nMany dental practices inherit a patchwork of computers, imaging devices, Wi-Fi, cloud portals, and practice-management software. Without documentation, MFA, encryption, backup testing, and access control, it becomes hard to prove the environment is being managed responsibly.\\n\\nFlorida dental offices also face hurricane risk, vendor dependencies, and multi-location complexity. Compliance needs to work in the real office, not just in a binder.\\n\\n### What to look for\\n\\n- MFA is enforced for email, admin portals, and remote access.\\n\\n- Backups are tested and documented.\\n\\n- Former employees are removed from systems quickly.\\n\\n- Workstations lock automatically and use endpoint protection.\\n\\n- Network access is segmented for guests, clinical devices, and business systems.\\n\\n### How RANGO helps\\n\\nRANGO supports medical and dental practices with HIPAA-ready IT, backup validation, Microsoft 365 security, access control, network reliability, and documentation that stands up to review.\\n\\nSchedule a HIPAA IT review for your dental practice.\"},{slug:\"remote-it-support-for-south-florida-businesses\",title:\"Remote IT Support for South Florida Businesses\",seoTitle:\"Remote IT Support for Businesses in Miami | RANGO\",seoDescription:\"Remote IT support can resolve many business issues quickly when it is backed by documentation, senior engineers, security tools, and local onsite coverage.\",excerpt:\"Remote IT support should feel fast, secure, and useful. It should not feel like waiting in a ticket queue while someone reads from a script. When done well, remote support can solve user issues,...\",category:\"Managed IT\",ctaType:\"free-assessment\",relatedServices:[\"remote-it-support\",\"managed-it-services\",\"onsite-it-support\"],coverImage:\"https://framerusercontent.com/images/GpjSIOg78UEmY3ZBiCP1zctFq7I.png\",coverImageAlt:\"Technician remotely supporting a business laptop and Microsoft 365 account.\",primaryKeywordIntent:\"remote IT support Miami\",publishDate:\"2025-03-05\",lastUpdated:\"2026-04-26\",readTime:\"2 min read\",author:\"RANGO Technologies\",body:\"Remote IT support should feel fast, secure, and useful. It should not feel like waiting in a ticket queue while someone reads from a script. When done well, remote support can solve user issues, Microsoft 365 problems, security alerts, printer issues, software errors, and access problems without waiting for a truck roll.\\n\\nThe difference is preparation. A provider needs documented systems, secure remote access, endpoint visibility, admin credentials, and escalation paths. Without that foundation, every issue becomes a new investigation.\\n\\nFor South Florida businesses with multiple offices, remote employees, bilingual teams, and urgent client-facing work, fast remote support reduces downtime while onsite service remains available when hardware or cabling work is needed.\\n\\n### What to look for\\n\\n- Users can reach support without hunting for a phone number.\\n\\n- Technicians know your environment before connecting.\\n\\n- Remote access is logged and secured.\\n\\n- Common fixes are documented.\\n\\n- Onsite support is available when remote work is not enough.\\n\\n### How RANGO helps\\n\\nRANGO combines senior-engineer remote support with local onsite response across Miami-Dade and Broward. The goal is to fix what can be fixed fast and dispatch locally when the issue is physical.\\n\\nSchedule a support review and find out whether your current process is slowing your team down.\"},{slug:\"windows-10-support-ended-business-checklist\",title:\"Windows 10 Support Has Ended: Business Checklist for 2026\",seoTitle:\"Windows 10 Support Has Ended: Business Checklist | RANGO\",seoDescription:\"Windows 10 support ended in October 2025. Use this checklist to plan Windows 11 upgrades, hardware refresh, security controls, and app testing.\",excerpt:\"Windows 10 support has ended, which means businesses still running it need a clear plan. The risk is not that computers stop working overnight. The risk is that unsupported systems become harder...\",category:\"Microsoft 365\",ctaType:\"free-assessment\",relatedServices:[\"microsoft-365-consulting\",\"cybersecurity\",\"managed-it-services\"],coverImage:\"https://framerusercontent.com/images/7WTr7WUdmfxxjRfDhaRImH0ZKQ.png\",coverImageAlt:\"Business laptop being upgraded from Windows 10 to Windows 11.\",primaryKeywordIntent:\"Windows 10 support ended business checklist\",publishDate:\"2025-02-20\",lastUpdated:\"2026-04-26\",readTime:\"2 min read\",author:\"RANGO Technologies\",body:\"Windows 10 support has ended, which means businesses still running it need a clear plan. The risk is not that computers stop working overnight. The risk is that unsupported systems become harder to secure, harder to insure, and harder to support over time.\\n\\nA clean migration is more than clicking upgrade. Businesses need to know which devices can run Windows 11, which applications need testing, which machines should be replaced, and how user data, profiles, printers, security tools, and Microsoft 365 access will move.\\n\\nFor small offices and professional firms, the easiest time to fix this is before an audit, cyber insurance questionnaire, or urgent hardware failure forces the issue.\\n\\n### What to look for\\n\\n- Inventory every Windows 10 device and owner.\\n\\n- Identify machines that fail Windows 11 requirements.\\n\\n- Test line-of-business software before rollout.\\n\\n- Back up user data before migration.\\n\\n- Confirm endpoint protection, encryption, MFA, and patching after migration.\\n\\n### How RANGO helps\\n\\nRANGO can inventory endpoints, build a phased migration plan, stage replacement hardware, migrate profiles, verify Microsoft 365 access, and document the upgrade for compliance and insurance conversations.\\n\\nAsk for a Windows 10/Windows 11 readiness review before unsupported systems become a bigger risk.\"},{slug:\"network-security-checklist-small-business\",title:\"Network Security Checklist for Small Businesses\",seoTitle:\"Small Business Network Security Checklist | RANGO\",seoDescription:\"A practical network security checklist covering firewalls, MFA, segmentation, Wi-Fi, backups, patching, users, and monitoring.\",excerpt:\"Network security does not need to be mysterious. Most small businesses can reduce risk dramatically by getting the basics right and documenting them. The hard part is making sure someone owns the...\",category:\"Cybersecurity\",ctaType:\"cybersecurity-review\",relatedServices:[\"cybersecurity\",\"network-administration\",\"mdr-xdr\"],coverImage:\"https://framerusercontent.com/images/lPdUn9s5TgqpYTCaYOZRFWGu6A.jpg\",coverImageAlt:\"Firewall and network monitoring dashboard for a small business.\",primaryKeywordIntent:\"cybersecurity assessment for small business\",publishDate:\"2024-07-15\",lastUpdated:\"2026-04-26\",readTime:\"2 min read\",author:\"RANGO Technologies\",body:\"Network security does not need to be mysterious. Most small businesses can reduce risk dramatically by getting the basics right and documenting them. The hard part is making sure someone owns the work every month.\\n\\nAttackers look for easy paths: weak passwords, exposed remote access, old firewalls, flat networks, unpatched devices, missing backups, and abandoned user accounts. A checklist turns those vague risks into visible action items.\\n\\nFor South Florida businesses, the checklist should also account for remote users, multiple sites, hurricane readiness, vendor access, and line-of-business systems that cannot tolerate downtime.\\n\\n### What to look for\\n\\n- Enforce MFA for all users, especially administrators.\\n\\n- Segment guest Wi-Fi, cameras, printers, and business devices.\\n\\n- Patch firewalls, switches, access points, servers, and endpoints.\\n\\n- Remove inactive users and shared admin accounts.\\n\\n- Test backups and monitor security alerts.\\n\\n### How RANGO helps\\n\\nRANGO performs practical security reviews that focus on what owners can understand and act on: priority risks, effort level, business impact, and recommended next steps.\\n\\nSchedule a cybersecurity assessment and get a prioritized scorecard.\"},{slug:\"business-security-cameras-access-control-guide\",title:\"Business Security Cameras and Access Control: A Practical Guide\",seoTitle:\"Business Security Cameras & Access Control Guide | RANGO\",seoDescription:\"Learn how security cameras and access control work together for offices, warehouses, clinics, and commercial buildings.\",excerpt:\"Security cameras and access control are not just about recording incidents. They help businesses control who gets in, see what happened, protect employees, verify deliveries, and support insurance...\",category:\"Industry Insights\",ctaType:\"contact\",relatedServices:[\"security-camera-installation\",\"access-control\",\"network-administration\"],coverImage:\"https://framerusercontent.com/images/DtBgG3tw95JXFk5NwmMChOsO9g.jpg\",coverImageAlt:\"Commercial security camera and access control reader at an office entrance.\",primaryKeywordIntent:\"business security cameras access control Miami\",publishDate:\"2024-07-10\",lastUpdated:\"2026-04-26\",readTime:\"2 min read\",author:\"RANGO Technologies\",body:\"Security cameras and access control are not just about recording incidents. They help businesses control who gets in, see what happened, protect employees, verify deliveries, and support insurance or compliance requirements.\\n\\nThe best systems are designed together. Cameras need the right placement, retention period, lighting, network capacity, and user permissions. Access control needs clean door hardware, credential policies, emergency planning, and reliable cloud management.\\n\\nSouth Florida offices, warehouses, medical suites, and multi-tenant buildings often need a blend of cameras, mobile credentials, door schedules, and remote visibility. Clean installation and handoff matter as much as the product brand.\\n\\n### What to look for\\n\\n- Camera views cover entrances, exits, reception, inventory, and vulnerable areas.\\n\\n- Retention matches business and insurance needs.\\n\\n- Managers can review footage without sharing admin credentials.\\n\\n- Door access is removed immediately when staff leave.\\n\\n- The camera network is separated from business workstations.\\n\\n### How RANGO helps\\n\\nRANGO installs and supports commercial camera and access-control systems, including UniFi Protect, Brivo, ButterflyMX, and related networking. We document the system so owners are not dependent on one installer.\\n\\nRequest a camera and access-control walkthrough for your facility.\"},{slug:\"how-to-choose-managed-it-provider-miami\",title:\"How to Choose a Managed IT Provider in Miami\",seoTitle:\"How to Choose a Managed IT Provider in Miami | RANGO\",seoDescription:\"A practical buyer guide for Miami businesses comparing managed IT providers, contracts, security controls, onboarding, and local response.\",excerpt:\"Choosing a managed IT provider is not about finding the cheapest monthly plan. It is about trusting a team with your users, data, email, backups, security, and business continuity. The wrong...\",category:\"Managed IT\",ctaType:\"free-assessment\",relatedServices:[\"managed-it-services\",\"cybersecurity\",\"cloud-backup-disaster-recovery\",\"about\"],coverImage:\"https://framerusercontent.com/images/XpnBi5zfjMFu9Lz9bF3OiB3muM.jpg\",coverImageAlt:\"Business owner reviewing managed IT provider checklist.\",primaryKeywordIntent:\"IT support for small business Miami\",publishDate:\"2026-04-26\",lastUpdated:\"2026-04-26\",readTime:\"2 min read\",author:\"RANGO Technologies\",body:\"Choosing a managed IT provider is not about finding the cheapest monthly plan. It is about trusting a team with your users, data, email, backups, security, and business continuity. The wrong provider feels inexpensive until the first outage, breach, or failed restore.\\n\\nA serious provider should be able to explain onboarding, documentation, response times, security baseline, backup testing, vendor escalation, local onsite coverage, and what is included in plain English. If the proposal is vague, the service usually will be too.\\n\\nMiami businesses need a provider that understands local response, bilingual support, hurricane readiness, compliance pressure, and the mix of professional services, healthcare, warehouses, and offices that operate across South Florida.\\n\\n### What to look for\\n\\n- Ask for the first 30-day onboarding plan.\\n\\n- Ask how backups are tested and documented.\\n\\n- Ask whether MFA, EDR, email security, and patching are included.\\n\\n- Ask who answers urgent calls and where onsite support comes from.\\n\\n- Ask for a written scope and clear exclusions.\\n\\n### How RANGO helps\\n\\nRANGO uses senior engineers, documented environments, cybersecurity baseline work, and local onsite support to make IT quieter and more accountable.\\n\\nSchedule a free assessment before signing your next IT contract.\"},{slug:\"managed-it-service-cost-south-florida\",title:\"What Does Managed IT Service Cost in South Florida?\",seoTitle:\"Managed IT Service Cost in South Florida | RANGO\",seoDescription:\"Understand common managed IT pricing models, what affects cost, and why the cheapest provider is rarely the lowest-risk option.\",excerpt:\"Most South Florida businesses want a straight answer: what should managed IT cost? The honest answer is that pricing depends on users, devices, servers, compliance needs, security stack, onsite...\",category:\"Managed IT\",ctaType:\"free-assessment\",relatedServices:[\"managed-it-services\",\"remote-it-support\",\"onsite-it-support\"],coverImage:\"https://framerusercontent.com/images/lWMsVWRrvVn5cnXflIVlzjPCac.jpg\",coverImageAlt:\"Managed IT pricing worksheet for a South Florida business.\",primaryKeywordIntent:\"what does managed IT service cost\",publishDate:\"2026-04-26\",lastUpdated:\"2026-04-26\",readTime:\"2 min read\",author:\"RANGO Technologies\",body:\"Most South Florida businesses want a straight answer: what should managed IT cost? The honest answer is that pricing depends on users, devices, servers, compliance needs, security stack, onsite requirements, and how much responsibility the provider is taking on.\\n\\nCheap IT usually leaves out the expensive work: documentation, backup testing, cybersecurity monitoring, patching, vendor management, and strategic planning. A good proposal should show what is included and what costs extra.\\n\\nIn Miami-Dade and Broward, pricing also depends on travel, after-hours support, multi-location complexity, industry requirements, and whether the business needs senior-engineer support rather than basic help desk coverage.\\n\\n### What to look for\\n\\n- Per-user pricing is simple but must define included devices.\\n\\n- Per-device pricing works for equipment-heavy environments.\\n\\n- Flat monthly pricing should include a written scope.\\n\\n- Projects, cabling, hardware, and major migrations may be separate.\\n\\n- Security and backup should not be afterthoughts.\\n\\n### How RANGO helps\\n\\nRANGO scopes managed IT around the actual environment, then gives a written proposal so owners understand the service model before committing.\\n\\nRequest a free assessment and get pricing based on your real environment, not a generic package.\"},{slug:\"hipaa-it-compliance-checklist-medical-dental\",title:\"HIPAA IT Compliance Checklist for Medical and Dental Practices\",seoTitle:\"HIPAA IT Compliance Checklist for Medical & Dental | RANGO\",seoDescription:\"A practical HIPAA IT checklist for medical and dental offices covering MFA, backups, access control, audit logs, encryption, and documentation.\",excerpt:\"HIPAA IT compliance is not just a policy document. It is the way your practice protects electronic patient information across email, workstations, servers, cloud apps, imaging systems, backups,...\",category:\"Compliance\",ctaType:\"hipaa-review\",relatedServices:[\"hipaa-it-compliance\",\"industries-medical-dental\",\"cloud-backup-disaster-recovery\"],coverImage:\"https://framerusercontent.com/images/N8aPRF4wb7CrxQBD6KHuGZekh4.jpg\",coverImageAlt:\"HIPAA IT compliance checklist for a medical or dental practice.\",primaryKeywordIntent:\"HIPAA compliant IT company South Florida\",publishDate:\"2026-04-26\",lastUpdated:\"2026-04-26\",readTime:\"2 min read\",author:\"RANGO Technologies\",body:\"HIPAA IT compliance is not just a policy document. It is the way your practice protects electronic patient information across email, workstations, servers, cloud apps, imaging systems, backups, and user access.\\n\\nThe strongest practices can show evidence: who has access, how accounts are secured, how backups are tested, how devices are protected, how incidents are handled, and when risks were reviewed.\\n\\nSouth Florida practices often operate across multiple offices, vendors, imaging systems, and cloud portals. A practical checklist helps owners close gaps without slowing patient care.\\n\\n### What to look for\\n\\n- Complete and document a Security Risk Analysis.\\n\\n- Enforce MFA and remove shared admin accounts.\\n\\n- Encrypt supported devices and protect endpoints.\\n\\n- Test backups and document restore results.\\n\\n- Maintain access, offboarding, incident response, and vendor records.\\n\\n### How RANGO helps\\n\\nRANGO helps medical and dental practices build HIPAA-ready IT with security controls, backup validation, Microsoft 365 hardening, documentation, and quarterly review support.\\n\\nSchedule a HIPAA IT review and get a prioritized list of what to fix first.\"},{slug:\"protect-business-from-ransomware-2026\",title:\"How to Protect Your Business from Ransomware in 2026\",seoTitle:\"How to Protect Your Business from Ransomware | RANGO\",seoDescription:\"Ransomware prevention for small businesses: MFA, EDR, patching, email security, employee training, immutable backups, and recovery planning.\",excerpt:\"Ransomware protection starts before the ransom note. The businesses that recover best are the ones that reduce entry points, detect suspicious activity early, and maintain backups that attackers...\",category:\"Cybersecurity\",ctaType:\"cybersecurity-review\",relatedServices:[\"cybersecurity\",\"mdr-xdr\",\"cloud-backup-disaster-recovery\"],coverImage:\"https://framerusercontent.com/images/cLZwHFwULZJmpFN4uunXgNUeo.jpg\",coverImageAlt:\"Ransomware protection layers for a small business network.\",primaryKeywordIntent:\"how to protect my business from ransomware\",publishDate:\"2026-04-26\",lastUpdated:\"2026-04-26\",readTime:\"2 min read\",author:\"RANGO Technologies\",body:\"Ransomware protection starts before the ransom note. The businesses that recover best are the ones that reduce entry points, detect suspicious activity early, and maintain backups that attackers cannot easily destroy.\\n\\nA ransomware plan needs layers: MFA, endpoint detection, patching, email filtering, DNS protection, least-privilege access, security training, immutable backups, restore testing, and an incident response process.\\n\\nFor manufacturers, medical offices, wholesalers, and professional firms in South Florida, downtime can mean missed appointments, delayed shipments, production stoppage, and client trust problems.\\n\\n### What to look for\\n\\n- Block exposed remote access and require MFA.\\n\\n- Use EDR instead of basic antivirus only.\\n\\n- Patch operating systems, firewalls, and applications.\\n\\n- Limit admin rights and remove stale accounts.\\n\\n- Keep offline or immutable backups and test restores.\\n\\n### How RANGO helps\\n\\nRANGO builds ransomware resilience with managed cybersecurity, MDR/XDR options, backup validation, Microsoft 365 hardening, and practical recovery planning.\\n\\nRequest a ransomware-readiness review before an attacker tests your plan for you.\"},{slug:\"microsoft-365-security-checklist-small-business\",title:\"Microsoft 365 Security Checklist for Small Businesses\",seoTitle:\"Microsoft 365 Security Checklist for Small Business | RANGO\",seoDescription:\"Secure Microsoft 365 with MFA, admin controls, mailbox forwarding checks, SharePoint permissions, email authentication, and backup.\",excerpt:\"Microsoft 365 is where many businesses keep email, files, Teams chats, calendars, and client data. That makes it one of the most important systems to secure. Default settings are not enough for...\",category:\"Microsoft 365\",ctaType:\"cybersecurity-review\",relatedServices:[\"microsoft-365-consulting\",\"cybersecurity\",\"managed-it-services\"],coverImage:\"https://framerusercontent.com/images/huTK8MwlyqMWxq1AMbQnwhos98c.jpg\",coverImageAlt:\"Microsoft 365 security settings checklist on a business laptop.\",primaryKeywordIntent:\"Microsoft 365 security checklist small business\",publishDate:\"2026-04-26\",lastUpdated:\"2026-04-26\",readTime:\"2 min read\",author:\"RANGO Technologies\",body:\"Microsoft 365 is where many businesses keep email, files, Teams chats, calendars, and client data. That makes it one of the most important systems to secure. Default settings are not enough for most businesses.\\n\\nSmall businesses often grow into Microsoft 365 without cleaning up admin roles, mailbox forwarding, guest sharing, legacy access, retention, or backup. That creates unnecessary risk.\\n\\nFor South Florida businesses with remote teams, medical data, client files, or regulated workflows, Microsoft 365 needs to be intentionally configured and reviewed.\\n\\n### What to look for\\n\\n- Enforce MFA for every user and administrator.\\n\\n- Review admin roles and remove unnecessary privileges.\\n\\n- Check mailbox forwarding and suspicious inbox rules.\\n\\n- Configure SPF, DKIM, and DMARC.\\n\\n- Back up Microsoft 365 data separately from Microsoft itself.\\n\\n### How RANGO helps\\n\\nRANGO hardens Microsoft 365 environments, reviews risky settings, supports licensing, configures backup, and documents the controls owners need to understand.\\n\\nAsk for a Microsoft 365 health check and security review.\"},{slug:\"hurricane-season-it-disaster-recovery-checklist\",title:\"Hurricane Season IT Disaster Recovery Checklist for Florida Businesses\",seoTitle:\"Hurricane IT Disaster Recovery Checklist | RANGO\",seoDescription:\"Florida businesses should prepare IT before hurricane season with backups, power planning, internet failover, remote access, and recovery testing.\",excerpt:\"Hurricane season is not the time to discover that your backup has never been tested, your remote access depends on the office internet, or your team does not know who to call. IT disaster recovery...\",category:\"Hurricane Prep\",ctaType:\"free-assessment\",relatedServices:[\"cloud-backup-disaster-recovery\",\"managed-it-services\",\"remote-it-support\"],coverImage:\"https://framerusercontent.com/images/vuRlzVemeYgc5Cs6qgnf7wCoRM.jpg\",coverImageAlt:\"Florida business disaster recovery checklist before hurricane season.\",primaryKeywordIntent:\"hurricane IT disaster recovery Florida business\",publishDate:\"2026-04-26\",lastUpdated:\"2026-04-26\",readTime:\"2 min read\",author:\"RANGO Technologies\",body:\"Hurricane season is not the time to discover that your backup has never been tested, your remote access depends on the office internet, or your team does not know who to call. IT disaster recovery should be reviewed before the first serious storm appears on the map.\\n\\nPreparation includes backups, cloud access, internet failover, UPS units, contact lists, remote work readiness, vendor contacts, insurance records, and a written recovery order for critical systems.\\n\\nFlorida businesses know storms are part of operating here. The difference is whether technology planning is handled before the pressure starts.\\n\\n### What to look for\\n\\n- Test critical backups and document the result.\\n\\n- Confirm remote access works outside the office.\\n\\n- Review UPS batteries and shutdown procedures.\\n\\n- Export vendor, carrier, and support contacts.\\n\\n- Define which systems come back first after an outage.\\n\\n### How RANGO helps\\n\\nRANGO helps businesses prepare with cloud backup, restore testing, remote access, internet redundancy planning, and a plain-English disaster recovery checklist.\\n\\nSchedule a hurricane-readiness IT review before storm season gets busy.\"},{slug:\"cyber-insurance-requirements-small-business-2026\",title:\"Cyber Insurance Requirements for Small Businesses in 2026\",seoTitle:\"Cyber Insurance Requirements for Small Businesses | RANGO\",seoDescription:\"Cyber insurance carriers increasingly expect MFA, EDR, backups, patching, email security, employee training, and documented controls.\",excerpt:\"Cyber insurance applications are getting more detailed. Carriers want to know whether your business uses MFA, endpoint protection, backups, patching, email security, training, and incident...\",category:\"Cybersecurity\",ctaType:\"cybersecurity-review\",relatedServices:[\"cybersecurity\",\"mdr-xdr\",\"cloud-backup-disaster-recovery\",\"microsoft-365-consulting\"],coverImage:\"https://framerusercontent.com/images/7rYkhEjGqoOAVYhFCWP05L0am8.jpg\",coverImageAlt:\"Small business reviewing cyber insurance security requirements.\",primaryKeywordIntent:\"cyber insurance requirements small business\",publishDate:\"2026-04-26\",lastUpdated:\"2026-04-26\",readTime:\"2 min read\",author:\"RANGO Technologies\",body:\"Cyber insurance applications are getting more detailed. Carriers want to know whether your business uses MFA, endpoint protection, backups, patching, email security, training, and incident response planning. Guessing on those answers is risky.\\n\\nThe best time to prepare is before renewal. If you cannot prove a control is in place, the carrier may price the policy higher, exclude coverage, or ask follow-up questions that delay binding.\\n\\nSouth Florida businesses in healthcare, professional services, manufacturing, and distribution often face vendor and insurance requirements even when they are not formally regulated.\\n\\n### What to look for\\n\\n- MFA on email, VPN, remote access, and admin accounts.\\n\\n- EDR or managed endpoint protection.\\n\\n- Immutable or isolated backups with restore testing.\\n\\n- Patch management and vulnerability review.\\n\\n- Security awareness training and incident response contacts.\\n\\n### How RANGO helps\\n\\nRANGO helps businesses answer cyber insurance questionnaires accurately by implementing and documenting the controls carriers commonly expect.\\n\\nRequest a cyber insurance readiness review before your next renewal.\"},{slug:\"business-wifi-vs-home-wifi\",title:\"Business Wi-Fi vs. Home Wi-Fi: When the Mesh System Stops Cutting It\",seoTitle:\"Business Wi-Fi vs Home Wi-Fi | RANGO Technologies\",seoDescription:\"Home mesh Wi-Fi is not built for offices, clinics, warehouses, guest networks, cameras, VoIP, and business monitoring. Learn when to upgrade.\",excerpt:\"A home mesh system can work well in a house. That does not mean it belongs in a business. Offices, clinics, warehouses, and commercial spaces need secure guest networks, device visibility,...\",category:\"Networking\",ctaType:\"free-assessment\",relatedServices:[\"business-wifi\",\"network-administration\"],coverImage:\"https://framerusercontent.com/images/lQoWpRmvYAlnyFeWm2TwUFoTVk.jpg\",coverImageAlt:\"Comparison of home mesh Wi-Fi and commercial business Wi-Fi access points.\",primaryKeywordIntent:\"best business Wi-Fi setup Miami\",publishDate:\"2026-04-26\",lastUpdated:\"2026-04-26\",readTime:\"2 min read\",author:\"RANGO Technologies\",body:\"A home mesh system can work well in a house. That does not mean it belongs in a business. Offices, clinics, warehouses, and commercial spaces need secure guest networks, device visibility, roaming, VLANs, bandwidth control, and monitoring.\\n\\nThe issue is not just speed. Business Wi-Fi must support more users, more devices, VoIP, cameras, printers, POS systems, scanners, and cloud apps while keeping the network secure and manageable.\\n\\nIn Miami offices and warehouses, walls, neighboring networks, metal racks, and device density can make consumer Wi-Fi unreliable quickly.\\n\\n### What to look for\\n\\n- Guests connect to the same network as business devices.\\n\\n- No one can see which devices are connected.\\n\\n- Video calls fail even when the internet speed is high.\\n\\n- There is no clean handoff between access points.\\n\\n- You cannot centrally manage updates, passwords, or alerts.\\n\\n### How RANGO helps\\n\\nRANGO designs commercial Wi-Fi around coverage, performance, segmentation, monitoring, and documentation. We help owners stop treating Wi-Fi as a mystery.\\n\\nSchedule a Wi-Fi assessment and find out whether your current setup is holding the business back.\"}];const CTA_DESTINATIONS={\"free-assessment\":{href:\"/free-it-assessment\",label:\"Schedule a free IT assessment\"},\"cybersecurity-review\":{href:\"/cybersecurity\",label:\"Get a cybersecurity review\"},\"hipaa-review\":{href:\"/hipaa-it-compliance\",label:\"Get a HIPAA IT review\"},contact:{href:\"/contact\",label:\"Contact RANGO Technologies\"}};const SERVICE_LINK_MAP={\"managed-it-services\":\"/managed-it-services\",cybersecurity:\"/cybersecurity\",\"mdr-xdr\":\"/mdr-xdr\",\"microsoft-365-consulting\":\"/microsoft-365-consulting\",\"hipaa-it-compliance\":\"/hipaa-it-compliance\",\"cloud-backup-disaster-recovery\":\"/cloud-backup-disaster-recovery\",\"network-administration\":\"/network-administration\",\"business-wifi\":\"/business-wifi\",\"voip-phone-systems\":\"/voip-phone-systems\",\"security-camera-installation\":\"/security-camera-installation\",\"access-control\":\"/access-control\",\"remote-it-support\":\"/remote-it-support\",\"onsite-it-support\":\"/onsite-it-support\",\"industries-medical-dental\":\"/industries-medical-dental\",about:\"/about\",contact:\"/contact\"};const SERVICE_LABELS={\"managed-it-services\":\"Managed IT Services\",cybersecurity:\"Cybersecurity\",\"mdr-xdr\":\"MDR / XDR\",\"microsoft-365-consulting\":\"Microsoft 365 Consulting\",\"hipaa-it-compliance\":\"HIPAA IT Compliance\",\"cloud-backup-disaster-recovery\":\"Cloud Backup & DR\",\"network-administration\":\"Network Administration\",\"business-wifi\":\"Business Wi-Fi\",\"voip-phone-systems\":\"VoIP Phone Systems\",\"security-camera-installation\":\"Security Cameras\",\"access-control\":\"Access Control\",\"remote-it-support\":\"Remote IT Support\",\"onsite-it-support\":\"Onsite IT Support\",\"industries-medical-dental\":\"Medical & Dental\",about:\"About RANGO\",contact:\"Contact\"};function escapeHtml(s){return s.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(/\"/g,\"&quot;\");}function fmtDate(iso){const d=new Date(iso+\"T00:00:00\");return d.toLocaleDateString(\"en-US\",{year:\"numeric\",month:\"long\",day:\"numeric\"});}function detailHref(slug){return`/blog-${slug}`;}function renderBody(body){const out=[];const blocks=body.split(/\\n{2,}/);let inUl=false;const closeUl=()=>{if(inUl){out.push(\"</ul>\");inUl=false;}};for(const b of blocks){const t=b.trim();if(!t)continue;if(t.startsWith(\"### \")){closeUl();out.push(`<h3 class=\"bp-h3\">${escapeHtml(t.slice(4))}</h3>`);}else if(t.startsWith(\"- \")){if(!inUl){out.push(`<ul class=\"bp-ul\">`);inUl=true;}out.push(`<li>${escapeHtml(t.slice(2))}</li>`);}else{closeUl();out.push(`<p>${escapeHtml(t)}</p>`);}}closeUl();return out.join(\"\\n\");}function relatedPosts(slug,limit=3){const me=BLOG_POSTS.find(p=>p.slug===slug);if(!me)return[];const same=BLOG_POSTS.filter(p=>p.slug!==slug&&p.category===me.category);const other=BLOG_POSTS.filter(p=>p.slug!==slug&&p.category!==me.category);return[...same,...other].slice(0,limit);}function buildPostMarkup(p){const tint=CATEGORY_TINT[p.category]||\"#F3F4F6\";const cta=CTA_DESTINATIONS[p.ctaType]||CTA_DESTINATIONS[\"free-assessment\"];const heroImg=p.coverImage?`<img src=\"${escapeHtml(p.coverImage)}\" alt=\"${escapeHtml(p.coverImageAlt)}\" width=\"1200\" height=\"630\" style=\"width:100%;height:100%;object-fit:cover;display:block\" />`:`<div style=\"width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:${tint};color:#1F2937;font-family:Outfit,system-ui,sans-serif;font-weight:600;font-size:1.05rem;letter-spacing:.04em;text-transform:uppercase;text-align:center;padding:24px\">${escapeHtml(p.category)}</div>`;const services=p.relatedServices.map(s=>SERVICE_LINK_MAP[s]&&SERVICE_LABELS[s]?`<li><a href=\"${SERVICE_LINK_MAP[s]}\">${escapeHtml(SERVICE_LABELS[s])}</a></li>`:\"\").filter(Boolean).join(\"\");const related=relatedPosts(p.slug).map(rp=>`\n<article class=\"bc\">\n    <a href=\"${detailHref(rp.slug)}\" class=\"bca\">\n        <div class=\"bci\">${rp.coverImage?`<img src=\"${escapeHtml(rp.coverImage)}\" alt=\"${escapeHtml(rp.coverImageAlt)}\" loading=\"lazy\" width=\"1200\" height=\"630\" style=\"width:100%;height:100%;object-fit:cover\" />`:`<div class=\"bcip\" style=\"background:${CATEGORY_TINT[rp.category]||\"#F3F4F6\"};width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:Outfit,system-ui,sans-serif;color:#1F2937;font-weight:600;letter-spacing:.04em;text-transform:uppercase\">${escapeHtml(rp.category)}</div>`}</div>\n        <div class=\"bcb\">\n            <div class=\"bct\">${escapeHtml(rp.category)}</div>\n            <h3>${escapeHtml(rp.title)}</h3>\n            <p>${escapeHtml(rp.excerpt)}</p>\n            <div class=\"bcm\"><span>${escapeHtml(fmtDate(rp.publishDate))}</span><span>${escapeHtml(rp.readTime)}</span></div>\n        </div>\n    </a>\n</article>`).join(\"\");return NAV_HTML+`\n<main role=\"main\">\n    <nav class=\"bp-crumb\" aria-label=\"Breadcrumb\">\n        <div class=\"ctn\">\n            <ol>\n                <li><a href=\"/\">Home</a></li>\n                <li aria-hidden=\"true\">/</li>\n                <li><a href=\"/blog\">Blog</a></li>\n                <li aria-hidden=\"true\">/</li>\n                <li aria-current=\"page\">${escapeHtml(p.category)}</li>\n            </ol>\n        </div>\n    </nav>\n    <article class=\"bp\">\n        <header class=\"bp-hd\">\n            <div class=\"ctn\">\n                <span class=\"badge bp-cat\">${escapeHtml(p.category)}</span>\n                <h1>${escapeHtml(p.title)}</h1>\n                <p class=\"bp-excerpt\">${escapeHtml(p.excerpt)}</p>\n                <div class=\"bp-meta\">\n                    <span>By ${escapeHtml(p.author)}</span>\n                    <span aria-hidden=\"true\">\\xb7</span>\n                    <time datetime=\"${escapeHtml(p.publishDate)}\">${escapeHtml(fmtDate(p.publishDate))}</time>\n                    <span aria-hidden=\"true\">\\xb7</span>\n                    <span>${escapeHtml(p.readTime)}</span>\n                    ${p.lastUpdated&&p.lastUpdated!==p.publishDate?`<span aria-hidden=\"true\">\\xb7</span><span>Updated ${escapeHtml(fmtDate(p.lastUpdated))}</span>`:\"\"}\n                </div>\n            </div>\n        </header>\n        <div class=\"bp-cover ctn\">\n            <div class=\"bp-cover-in\">${heroImg}</div>\n        </div>\n        <div class=\"ctn bp-wrap\">\n            <div class=\"bp-body\">\n                ${renderBody(p.body)}\n                <div class=\"bp-cta-mid\">\n                    <p><strong>${escapeHtml(cta.label)}.</strong> Talk to a senior RANGO engineer about your environment.</p>\n                    <a href=\"${cta.href}\" class=\"btn btn-p\">${escapeHtml(cta.label)}</a>\n                </div>\n            </div>\n            <aside class=\"bp-side\" aria-label=\"Related services\">\n                <h2>Related services</h2>\n                <ul class=\"bp-side-l\">${services}</ul>\n                <a href=\"${cta.href}\" class=\"btn btn-p\" style=\"margin-top:18px\">${escapeHtml(cta.label)}</a>\n            </aside>\n        </div>\n        <section class=\"bp-final-cta strip\">\n            <div class=\"ctn cta-in\">\n                <h2>${escapeHtml(cta.label)}</h2>\n                <p>Get a plain-English review from a senior RANGO engineer. No obligation.</p>\n                <div class=\"cta-bt\"><a href=\"${cta.href}\" class=\"btn btn-p\">${escapeHtml(cta.label)}</a><a href=\"/contact\" class=\"btn btn-w\">Contact us</a></div>\n            </div>\n        </section>\n        ${related?`<section class=\"section bp-related\"><div class=\"ctn\"><h2>Related posts</h2><div class=\"bl-g\">${related}</div></div></section>`:\"\"}\n    </article>\n</main>\n`+FOOTER_HTML;}function buildSEO(p){const url=SITE_ORIGIN+detailHref(p.slug);return{title:p.seoTitle||p.title,description:p.seoDescription,canonical:url,ogTitle:p.seoTitle||p.title,ogDescription:p.seoDescription,ogUrl:url,ogImage:p.coverImage||SITE_ORIGIN+\"/og-default.png\"};}function setMeta(name,content,attr=\"name\"){if(typeof document===\"undefined\")return;let el=document.head.querySelector(`meta[${attr}=\"${name}\"]`);if(!el){el=document.createElement(\"meta\");el.setAttribute(attr,name);document.head.appendChild(el);}el.content=content;}function setLink(rel,href){if(typeof document===\"undefined\")return;let el=document.head.querySelector(`link[rel=\"${rel}\"]`);if(!el){el=document.createElement(\"link\");el.rel=rel;document.head.appendChild(el);}el.href=href;}function injectJSONLD(id,payload){if(typeof document===\"undefined\")return;let el=document.head.querySelector(`script[data-jsonld=\"${id}\"]`);if(!el){el=document.createElement(\"script\");el.type=\"application/ld+json\";el.setAttribute(\"data-jsonld\",id);document.head.appendChild(el);}try{const txt=JSON.stringify(payload);JSON.parse(txt);el.textContent=txt;}catch{/* noop */}}const NAV_HTML=`\n<header><nav class=\"nav\" role=\"navigation\" aria-label=\"Primary navigation\"><div class=\"nav-in\"><a href=\"/\" class=\"nav-logo\" aria-label=\"RANGO TECHNOLOGIES home\"><img src=\"https://framerusercontent.com/images/dxsWCchYA4pbhpfnvkADM0aCEF4.png\" alt=\"RANGO TECHNOLOGIES — Managed IT Services South Florida\" class=\"brand-logo\" /></a><ul class=\"nav-l\"><li class=\"dd\"><button class=\"dd-trig\" aria-haspopup=\"true\" aria-expanded=\"false\" aria-controls=\"dd-services\">Services <svg class=\"dd-chev\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" aria-hidden=\"true\"><polyline points=\"6 9 12 15 18 9\"/></svg></button><div class=\"dd-panel\" id=\"dd-services\" role=\"menu\"><a href=\"/managed-it-services\" role=\"menuitem\">Managed IT Services</a><a href=\"/cybersecurity\" role=\"menuitem\">Cybersecurity &amp; Threat Protection</a><a href=\"/mdr-xdr\" role=\"menuitem\">Managed Detection &amp; Response (MDR/XDR)</a><a href=\"/microsoft-365-consulting\" role=\"menuitem\">Microsoft 365 Consulting</a><a href=\"/hipaa-it-compliance\" role=\"menuitem\">HIPAA IT Compliance</a><a href=\"/cloud-backup-disaster-recovery\" role=\"menuitem\">Cloud Backup &amp; Disaster Recovery</a><a href=\"/network-administration\" role=\"menuitem\">Network Administration</a><a href=\"/business-wifi\" role=\"menuitem\">Business Wi-Fi &amp; Networking</a><a href=\"/voip-phone-systems\" role=\"menuitem\">VoIP Business Phone Systems</a><a href=\"/security-camera-installation\" role=\"menuitem\">Security Cameras</a><a href=\"/access-control\" role=\"menuitem\">Access Control</a><a href=\"/remote-it-support\" role=\"menuitem\">Remote IT Support</a><a href=\"/onsite-it-support\" role=\"menuitem\">Onsite IT Support</a></div></li><li class=\"dd\"><button class=\"dd-trig\" aria-haspopup=\"true\" aria-expanded=\"false\" aria-controls=\"dd-industries\">Industries <svg class=\"dd-chev\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" aria-hidden=\"true\"><polyline points=\"6 9 12 15 18 9\"/></svg></button><div class=\"dd-panel\" id=\"dd-industries\" role=\"menu\"><a href=\"/industries-medical-dental\" role=\"menuitem\">Medical &amp; Dental</a><a href=\"/industries-professional-services\" role=\"menuitem\">Professional Services</a><a href=\"/industries-manufacturing\" role=\"menuitem\">Manufacturing</a><a href=\"/industries-wholesale-distribution\" role=\"menuitem\">Wholesale &amp; Distribution</a><a href=\"/industries-commercial-offices\" role=\"menuitem\">Commercial Offices</a><a href=\"/industries-remote-hybrid-teams\" role=\"menuitem\">Remote &amp; Hybrid Teams</a></div></li><li class=\"dd\"><button class=\"dd-trig\" aria-haspopup=\"true\" aria-expanded=\"false\" aria-controls=\"dd-areas\">Service Areas <svg class=\"dd-chev\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" aria-hidden=\"true\"><polyline points=\"6 9 12 15 18 9\"/></svg></button><div class=\"dd-panel\" id=\"dd-areas\" role=\"menu\"><a href=\"/locations-miami-lakes\" role=\"menuitem\">Miami Lakes</a><a href=\"/locations-doral\" role=\"menuitem\">Doral</a><a href=\"/locations-hialeah\" role=\"menuitem\">Hialeah</a><a href=\"/locations-coral-gables\" role=\"menuitem\">Coral Gables</a><a href=\"/locations-kendall\" role=\"menuitem\">Kendall</a><a href=\"/locations-homestead\" role=\"menuitem\">Homestead</a><a href=\"/locations-miami-dade\" role=\"menuitem\">Miami-Dade County</a><a href=\"/locations-south-florida\" role=\"menuitem\">South Florida</a></div></li><li><a href=\"/about\">About</a></li><li><a href=\"/reviews\">Reviews</a></li><li><a href=\"/blog\">Insights</a></li><li><a href=\"/contact\">Contact</a></li></ul><div class=\"nav-c\"><div class=\"dd nav-ph-dd\"><button class=\"dd-trig nav-ph-btn\" type=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" aria-controls=\"dd-phone\" aria-label=\"Call RANGO Technologies\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" aria-hidden=\"true\"><path d=\"M22 16.92v3a2 2 0 01-2.18 2 19.79 19.79 0 01-8.63-3.07 19.5 19.5 0 01-6-6 19.79 19.79 0 01-3.07-8.67A2 2 0 014.11 2h3a2 2 0 012 1.72c.12.8.32 1.58.59 2.33a2 2 0 01-.45 2.11L8.09 9.91a16 16 0 006 6l1.27-1.27a2 2 0 012.11-.45c.75.27 1.53.47 2.33.59A2 2 0 0122 16.92z\"/></svg></button><div class=\"dd-panel nav-ph-pop\" id=\"dd-phone\" role=\"menu\"><a href=\"tel:+18667264648\" class=\"dd-row\" role=\"menuitem\" aria-label=\"Call toll-free 1.866.RANGO.IT\"><span class=\"dd-row-label\">Toll-free</span><span class=\"dd-row-value\">1.866.RANGO.IT</span></a><a href=\"tel:+13059018990\" class=\"dd-row\" role=\"menuitem\" aria-label=\"Call local 305-901-8990\"><span class=\"dd-row-label\">Local</span><span class=\"dd-row-value\">(305) 901-8990</span></a></div></div><a href=\"/support\" class=\"nav-ico nav-support\" aria-label=\"Support\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M4 13a8 8 0 0116 0\"/><path d=\"M5 13v3a2 2 0 002 2h1v-7H7a2 2 0 00-2 2z\"/><path d=\"M19 13v3a2 2 0 01-2 2h-1v-7h1a2 2 0 012 2z\"/><path d=\"M12 20h2a4 4 0 004-4\"/></svg></a><a href=\"/free-it-assessment\" class=\"nav-cta\">Free IT Assessment</a></div><div class=\"nav-mq\" aria-label=\"Quick header actions\"><a href=\"tel:+18667264648\" class=\"nav-ico nav-call\" aria-label=\"Call RANGO Technologies\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" aria-hidden=\"true\"><path d=\"M22 16.92v3a2 2 0 01-2.18 2 19.79 19.79 0 01-8.63-3.07 19.5 19.5 0 01-6-6 19.79 19.79 0 01-3.07-8.67A2 2 0 014.11 2h3a2 2 0 012 1.72c.12.8.32 1.58.59 2.33a2 2 0 01-.45 2.11L8.09 9.91a16 16 0 006 6l1.27-1.27a2 2 0 012.11-.45c.75.27 1.53.47 2.33.59A2 2 0 0122 16.92z\"/></svg></a><a href=\"/support\" class=\"nav-ico nav-support\" aria-label=\"Support\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M4 13a8 8 0 0116 0\"/><path d=\"M5 13v3a2 2 0 002 2h1v-7H7a2 2 0 00-2 2z\"/><path d=\"M19 13v3a2 2 0 01-2 2h-1v-7h1a2 2 0 012 2z\"/><path d=\"M12 20h2a4 4 0 004-4\"/></svg></a></div><button class=\"nav-h\" aria-label=\"Menu\" aria-expanded=\"false\" aria-controls=\"mob\"><span class=\"nav-h-i\"><span></span><span></span><span></span></span></button></div></nav></header>\n<div class=\"mob-bd\" aria-hidden=\"true\"></div>\n<aside class=\"mob\" id=\"mob\" role=\"dialog\" aria-label=\"Main menu\" aria-modal=\"true\"><div class=\"mob-h\"><div class=\"mob-logo\">RANGO TECHNOLOGIES</div><button class=\"mob-x\" aria-label=\"Close menu\">&times;</button></div><nav class=\"mob-nav\" aria-label=\"Mobile primary navigation\"><div class=\"acc\"><button class=\"acc-trig\" aria-expanded=\"false\" aria-controls=\"acc-services\">Services <svg class=\"acc-chev\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" aria-hidden=\"true\"><polyline points=\"6 9 12 15 18 9\"/></svg></button><div class=\"acc-panel\" id=\"acc-services\"><a href=\"/managed-it-services\">Managed IT Services</a><a href=\"/cybersecurity\">Cybersecurity &amp; Threat Protection</a><a href=\"/mdr-xdr\">Managed Detection &amp; Response (MDR/XDR)</a><a href=\"/microsoft-365-consulting\">Microsoft 365 Consulting</a><a href=\"/hipaa-it-compliance\">HIPAA IT Compliance</a><a href=\"/cloud-backup-disaster-recovery\">Cloud Backup &amp; Disaster Recovery</a><a href=\"/network-administration\">Network Administration</a><a href=\"/business-wifi\">Business Wi-Fi &amp; Networking</a><a href=\"/voip-phone-systems\">VoIP Business Phone Systems</a><a href=\"/security-camera-installation\">Security Cameras</a><a href=\"/access-control\">Access Control</a><a href=\"/remote-it-support\">Remote IT Support</a><a href=\"/onsite-it-support\">Onsite IT Support</a></div></div><div class=\"acc\"><button class=\"acc-trig\" aria-expanded=\"false\" aria-controls=\"acc-industries\">Industries <svg class=\"acc-chev\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" aria-hidden=\"true\"><polyline points=\"6 9 12 15 18 9\"/></svg></button><div class=\"acc-panel\" id=\"acc-industries\"><a href=\"/industries-medical-dental\">Medical &amp; Dental</a><a href=\"/industries-professional-services\">Professional Services</a><a href=\"/industries-manufacturing\">Manufacturing</a><a href=\"/industries-wholesale-distribution\">Wholesale &amp; Distribution</a><a href=\"/industries-commercial-offices\">Commercial Offices</a><a href=\"/industries-remote-hybrid-teams\">Remote &amp; Hybrid Teams</a></div></div><div class=\"acc\"><button class=\"acc-trig\" aria-expanded=\"false\" aria-controls=\"acc-areas\">Service Areas <svg class=\"acc-chev\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" aria-hidden=\"true\"><polyline points=\"6 9 12 15 18 9\"/></svg></button><div class=\"acc-panel\" id=\"acc-areas\"><a href=\"/locations-miami-lakes\">Miami Lakes</a><a href=\"/locations-doral\">Doral</a><a href=\"/locations-hialeah\">Hialeah</a><a href=\"/locations-coral-gables\">Coral Gables</a><a href=\"/locations-kendall\">Kendall</a><a href=\"/locations-homestead\">Homestead</a><a href=\"/locations-miami-dade\">Miami-Dade County</a><a href=\"/locations-south-florida\">South Florida</a></div></div><a href=\"/about\" class=\"mob-link\">About</a><a href=\"/reviews\" class=\"mob-link\">Reviews</a><a href=\"/blog\" class=\"mob-link\">Insights</a><a href=\"/support\" class=\"mob-link\">Support</a><a href=\"/contact\" class=\"mob-link\">Contact</a></nav><div class=\"mob-cta\"><a href=\"/free-it-assessment\" class=\"btn btn-p\">Free IT Assessment</a><a href=\"tel:+18667264648\" class=\"btn btn-d\">Call 1.866.RANGO.IT</a><a href=\"tel:+13059018990\" class=\"mob-cta-sub\">or call local (305) 901-8990</a></div></aside>\n`;const FOOTER_HTML=`\n<footer class=\"ft\" role=\"contentinfo\"><div class=\"ctn\"><div class=\"ft-top\"><div class=\"ft-news\" aria-labelledby=\"ft-news-h\"><h4 id=\"ft-news-h\" class=\"ft-news-h\">Get the RANGO IT brief</h4><p class=\"ft-news-p\">Short, useful updates: cybersecurity alerts, Microsoft 365 changes, and what's actually working for South Florida businesses. No spam.</p><form class=\"ft-news-form\" action=\"https://assets.mailerlite.com/jsonp/1430809/forms/150774642331616770/subscribe\" method=\"post\" target=\"_blank\" rel=\"noopener noreferrer\"><div class=\"ft-news-row\"><input type=\"email\" name=\"fields[email]\" placeholder=\"you@company.com\" autocomplete=\"email\" required aria-label=\"Email\" /><input type=\"text\" name=\"fields[name]\" placeholder=\"First name\" autocomplete=\"given-name\" aria-label=\"First name\" /><input type=\"text\" name=\"fields[last_name]\" placeholder=\"Last name\" autocomplete=\"family-name\" aria-label=\"Last name\" /><button type=\"submit\">Subscribe</button></div><input type=\"hidden\" name=\"ml-submit\" value=\"1\" /><input type=\"hidden\" name=\"anticsrf\" value=\"true\" /></form><p class=\"ft-news-fine\">By subscribing you agree to receive marketing emails from RANGO Technologies. Unsubscribe anytime.</p></div></div><div class=\"ft-g\"><div class=\"ft-br\"><div class=\"ft-lo\"><span>RANGO</span> TECHNOLOGIES</div><p>Managed IT and Cybersecurity for South Florida businesses.</p><address style=\"font-style:normal\" class=\"ft-meta\">14100 Palmetto Frontage Rd, Suite 108<br>Miami Lakes, FL 33016<br><a href=\"tel:18667264648\">1.866.RANGO.IT</a><br><a href=\"mailto:sales@rango.tech\">sales@rango.tech</a></address><div class=\"ft-trust\">BBB A+ Accredited &middot; 5-Star Google &middot; Microsoft Authorized Reseller &middot; Ubiquiti Full Stack Pro &middot; Brivo Authorized Dealer</div><div class=\"ft-hours\">Mon&ndash;Fri, 8:00 AM &ndash; 6:00 PM ET</div></div><div class=\"ft-acc\"><button class=\"ft-acc-trig\" aria-expanded=\"false\"><h4>Services</h4><svg class=\"ft-acc-chev\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" aria-hidden=\"true\"><polyline points=\"6 9 12 15 18 9\"/></svg></button><ul class=\"ft-acc-body ft-lk\"><li><a href=\"/managed-it-services\">Managed IT Services</a></li><li><a href=\"/cybersecurity\">Cybersecurity &amp; Threat Protection</a></li><li><a href=\"/mdr-xdr\">Managed Detection &amp; Response (MDR/XDR)</a></li><li><a href=\"/microsoft-365-consulting\">Microsoft 365 Consulting</a></li><li><a href=\"/hipaa-it-compliance\">HIPAA IT Compliance</a></li><li><a href=\"/cloud-backup-disaster-recovery\">Cloud Backup &amp; Disaster Recovery</a></li><li><a href=\"/network-administration\">Network Administration</a></li><li><a href=\"/business-wifi\">Business Wi-Fi &amp; Networking</a></li><li><a href=\"/voip-phone-systems\">VoIP Business Phone Systems</a></li><li><a href=\"/security-camera-installation\">Security Cameras</a></li><li><a href=\"/access-control\">Access Control</a></li><li><a href=\"/remote-it-support\">Remote IT Support</a></li><li><a href=\"/onsite-it-support\">Onsite IT Support</a></li></ul></div><div class=\"ft-acc\"><button class=\"ft-acc-trig\" aria-expanded=\"false\"><h4>Industries</h4><svg class=\"ft-acc-chev\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" aria-hidden=\"true\"><polyline points=\"6 9 12 15 18 9\"/></svg></button><ul class=\"ft-acc-body ft-lk\"><li><a href=\"/industries-medical-dental\">Medical &amp; Dental</a></li><li><a href=\"/industries-professional-services\">Professional Services</a></li><li><a href=\"/industries-manufacturing\">Manufacturing</a></li><li><a href=\"/industries-wholesale-distribution\">Wholesale &amp; Distribution</a></li><li><a href=\"/industries-commercial-offices\">Commercial Offices</a></li><li><a href=\"/industries-remote-hybrid-teams\">Remote &amp; Hybrid Teams</a></li></ul></div><div class=\"ft-acc\"><button class=\"ft-acc-trig\" aria-expanded=\"false\"><h4>Service Areas</h4><svg class=\"ft-acc-chev\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" aria-hidden=\"true\"><polyline points=\"6 9 12 15 18 9\"/></svg></button><ul class=\"ft-acc-body ft-lk\"><li><a href=\"/locations-miami-lakes\">Miami Lakes</a></li><li><a href=\"/locations-doral\">Doral</a></li><li><a href=\"/locations-hialeah\">Hialeah</a></li><li><a href=\"/locations-coral-gables\">Coral Gables</a></li><li><a href=\"/locations-kendall\">Kendall</a></li><li><a href=\"/locations-homestead\">Homestead</a></li><li><a href=\"/locations-miami-dade\">Miami-Dade County</a></li><li><a href=\"/locations-south-florida\">South Florida</a></li></ul></div><div class=\"ft-acc\"><button class=\"ft-acc-trig\" aria-expanded=\"false\"><h4>Company</h4><svg class=\"ft-acc-chev\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" aria-hidden=\"true\"><polyline points=\"6 9 12 15 18 9\"/></svg></button><ul class=\"ft-acc-body ft-lk\"><li><a href=\"/about\">About</a></li><li><a href=\"/reviews\">Reviews</a></li><li><a href=\"/blog\">Blog</a></li><li><a href=\"/free-it-assessment\">Free IT Assessment</a></li><li><a href=\"/contact\">Contact</a></li></ul></div></div><div class=\"ft-sm\"><h4>Sitemap</h4><p class=\"ft-sm-list\"><a href=\"/\">Home</a>, <a href=\"/about\">About</a>, <a href=\"/reviews\">Reviews</a>, <a href=\"/blog\">Blog</a>, <a href=\"/contact\">Contact</a>, <a href=\"/free-it-assessment\">Free IT Assessment</a>, <a href=\"/managed-it-services\">Managed IT Services</a>, <a href=\"/cybersecurity\">Cybersecurity</a>, <a href=\"/mdr-xdr\">MDR &amp; XDR</a>, <a href=\"/microsoft-365-consulting\">Microsoft 365</a>, <a href=\"/hipaa-it-compliance\">HIPAA IT Compliance</a>, <a href=\"/cloud-backup-disaster-recovery\">Cloud Backup &amp; DR</a>, <a href=\"/network-administration\">Network Administration</a>, <a href=\"/business-wifi\">Business Wi-Fi</a>, <a href=\"/voip-phone-systems\">VoIP</a>, <a href=\"/security-camera-installation\">Security Cameras</a>, <a href=\"/access-control\">Access Control</a>, <a href=\"/remote-it-support\">Remote IT Support</a>, <a href=\"/onsite-it-support\">Onsite IT Support</a>, <a href=\"/industries-medical-dental\">Medical &amp; Dental</a>, <a href=\"/industries-professional-services\">Professional Services</a>, <a href=\"/industries-manufacturing\">Manufacturing</a>, <a href=\"/industries-wholesale-distribution\">Wholesale &amp; Distribution</a>, <a href=\"/industries-commercial-offices\">Commercial Offices</a>, <a href=\"/industries-remote-hybrid-teams\">Remote &amp; Hybrid Teams</a>, <a href=\"/locations-miami-lakes\">Miami Lakes</a>, <a href=\"/locations-doral\">Doral</a>, <a href=\"/locations-hialeah\">Hialeah</a>, <a href=\"/locations-coral-gables\">Coral Gables</a>, <a href=\"/locations-kendall\">Kendall</a>, <a href=\"/locations-homestead\">Homestead</a>, <a href=\"/locations-miami-dade\">Miami-Dade County</a>, <a href=\"/locations-south-florida\">South Florida</a>.</p></div><div class=\"ft-bt\"><div>&copy; 2026 RANGO Technologies IT Services. All rights reserved.</div><div class=\"ft-bl\"><a href=\"/privacy\">Privacy</a><span>&middot;</span><a href=\"/terms\">Terms</a><span>&middot;</span><a href=\"/disclaimer\">Disclaimer</a></div></div></div></footer>\n`;const SHELL_STYLES=`\n* { box-sizing: border-box; }\na, a:link, a:visited, a:hover, a:active { color: inherit; text-decoration: none; }\nimg { max-width: 100%; height: auto; display: block; }\n.ctn { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 16px; }\n.nav { position: sticky; top: 0; left: 0; right: 0; z-index: 1000; background: #0F172A; backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border-bottom: 1px solid rgba(255,255,255,0.08); transition: .3s cubic-bezier(.4,0,.2,1); }\n.nav-in { width: 100%; max-width: 1280px; margin: 0 auto; padding-inline: clamp(14px,3vw,32px); padding-top: 0; padding-bottom: 0; display: flex; align-items: center; justify-content: space-between; height: 56px; gap: clamp(8px,1.4vw,20px); min-width: 0; box-sizing: border-box; }\n.nav-logo { display: flex; align-items: center; gap: 8px; font-family: 'Outfit', system-ui, sans-serif; min-height: 44px; }\n.brand-logo { height: 32px; width: auto; max-width: 200px; display: block; object-fit: contain; }\n.nav-logo-t { display: flex; flex-direction: column; line-height: 1.15; }\n.nav-logo-m { font-size: 1.05rem; font-weight: 700; letter-spacing: .04em; color: var(--orange); }\n.nav-logo-s { font-size: .6rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }\n.nav-l { display: none; align-items: center; gap: 8px; list-style: none; margin: 0; padding: 0; min-width: 0; flex: 1 1 auto; }\n.nav-l > li { position: relative; }\n.nav-l a, .nav-l .dd-trig { font-family: 'Outfit', system-ui, sans-serif; font-size: .95rem; font-weight: 500; color: #FFFFFF; transition: .3s cubic-bezier(.4,0,.2,1); padding: 8px 12px; min-height: 44px; display: inline-flex; align-items: center; background: none; border: none; cursor: pointer; gap: 6px; }\n.nav-l a:visited, .nav-l .dd-trig:visited { color: #FFFFFF; }\n.nav-l a:hover, .nav-l .dd-trig:hover, .nav-l a:focus, .nav-l .dd-trig:focus { color: #F59E0B; }\n.nav-l a:focus-visible, .nav-l .dd-trig:focus-visible { outline: 2px solid #F59E0B; outline-offset: 2px; }\n.dd-chev { transition: transform .3s cubic-bezier(.4,0,.2,1); width: 12px; height: 12px; }\n.dd.open .dd-chev { transform: rotate(180deg); }\n.dd.open .dd-trig { color: #F59E0B; }\n.dd-panel { display: none; position: absolute; top: calc(100% + 8px); left: 0; min-width: 280px; background: #0F172A; box-shadow: 0 8px 24px rgba(0,0,0,0.4); border-top: 2px solid #D97706; border-radius: 12px; padding: 8px 0; z-index: 1001; }\n.dd.open .dd-panel { display: block; }\n.dd-panel a { display: flex !important; font-family: 'Outfit', system-ui, sans-serif; font-size: .94rem; font-weight: 500; padding: 12px 20px !important; color: #FFFFFF !important; min-height: auto !important; white-space: nowrap; }\n.dd-panel a:visited { color: #FFFFFF !important; }\n.dd-panel a:hover, .dd-panel a:focus { background: rgba(255,255,255,0.06); color: #F59E0B !important; }\n.nav-c { display: none; align-items: center; gap: 10px; flex-shrink: 0; }\n.nav-ph-dd { position: relative; display: inline-flex; }\n.nav-ph-btn { font-family: 'Outfit', system-ui, sans-serif; font-weight: 600; font-size: .9rem; color: #FFFFFF; display: inline-flex; align-items: center; gap: 6px; padding: 10px; min-height: 44px; min-width: 44px; background: transparent; border: 1px solid rgba(255,255,255,0.16); border-radius: 999px; cursor: pointer; transition: .3s cubic-bezier(.4,0,.2,1); white-space: nowrap; }\n.nav-ph-btn:hover, .nav-ph-btn:focus-visible { color: #F59E0B; border-color: rgba(245,158,11,0.6); outline: none; }\n.nav-ph-dd.open .nav-ph-btn { color: #F59E0B; border-color: #F59E0B; }\n.nav-ph-pop { display: none; position: absolute; top: calc(100% + 8px); right: 0; min-width: 240px; background: #0F172A; box-shadow: 0 8px 24px rgba(0,0,0,0.4); border-top: 2px solid #D97706; border-radius: 12px; padding: 8px 0; z-index: 1001; }\n.nav-ph-dd.open .nav-ph-pop { display: block; }\n.nav-ph-pop a { display: flex !important; padding: 12px 20px !important; color: #FFFFFF !important; font-family: 'Outfit', system-ui, sans-serif; font-size: .94rem; font-weight: 500; min-height: 44px !important; align-items: center; white-space: nowrap; }\n.nav-ph-pop a:visited { color: #FFFFFF !important; }\n.nav-ph-pop a:hover, .nav-ph-pop a:focus { background: rgba(245,158,11,0.12); color: #F59E0B !important; }\n.nav-ph-pop a.dd-row { justify-content: space-between !important; gap: 16px; }\n.dd-row-label { font-size: .76rem; font-weight: 500; opacity: .65; text-transform: uppercase; letter-spacing: .04em; }\n.dd-row-value { font-size: .94rem; font-weight: 600; color: #FFFFFF; }\n.nav-ph-pop a.dd-row:hover .dd-row-value, .nav-ph-pop a.dd-row:focus .dd-row-value { color: #F59E0B !important; }\n.mob-cta-sub { display: block !important; text-align: center; padding: 12px 16px !important; color: #E5E7EB !important; font-size: .9rem; font-weight: 500; text-decoration: none; min-height: 44px; }\n.mob-cta-sub:hover, .mob-cta-sub:focus { color: #D97706 !important; }\n\n.nav-ph { font-family: 'Outfit', system-ui, sans-serif; font-weight: 600; font-size: .9rem; color: #FFFFFF; display: flex; align-items: center; gap: 6px; padding: 8px 10px; min-height: 44px; }\n.nav-ph:visited { color: #FFFFFF; }\n.nav-ph:hover, .nav-ph:focus { color: #F59E0B; }\n.nav-cta { display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-family: 'Outfit', system-ui, sans-serif; font-weight: 600; font-size: clamp(.85rem,.9vw,.95rem); padding: clamp(8px,1vw,12px) clamp(14px,1.6vw,22px); border-radius: 50px; background: #D97706; color: #FFFFFF; transition: .3s cubic-bezier(.4,0,.2,1); min-height: 44px; white-space: nowrap; flex-shrink: 0; }\n.nav-cta:hover { background: var(--orange-dk); transform: translateY(-1px); box-shadow: 0 8px 24px rgba(232,121,42,.35); }\n.nav-h { display: flex; align-items: center; justify-content: center; background: none; border: none; cursor: pointer; width: 44px; height: 44px; position: relative; z-index: 1002; padding: 0; }\n.nav-h-i { display: block; width: 24px; height: 24px; position: relative; }\n.nav-h-i span { display: block; width: 100%; height: 2.5px; background: #FFFFFF; transition: .3s cubic-bezier(.4,0,.2,1); position: absolute; left: 0; right: 0; }\n.nav-h:active .nav-h-i span, .nav-h.on .nav-h-i span { background: #F59E0B; }\n.nav-h-i span:nth-child(1) { top: 4px; }\n.nav-h-i span:nth-child(2) { top: 50%; transform: translateY(-50%); }\n.nav-h-i span:nth-child(3) { bottom: 4px; }\n.nav-h.on .nav-h-i span:nth-child(1) { top: 50%; transform: translateY(-50%) rotate(45deg); }\n.nav-h.on .nav-h-i span:nth-child(2) { opacity: 0; }\n.nav-h.on .nav-h-i span:nth-child(3) { bottom: 50%; transform: translateY(50%) rotate(-45deg); }\n.mob-bd { position: fixed; inset: 0; background: rgba(0,0,0,.55); opacity: 0; pointer-events: none; transition: opacity .3s cubic-bezier(.4,0,.2,1); z-index: 1000; }\n.mob-bd.on { opacity: 1; pointer-events: auto; }\n.mob { position: fixed; top: 0; right: 0; bottom: 0; width: 100%; max-width: 380px; background: #0F172A; box-shadow: 0 0 40px rgba(0,0,0,.45); color: #FFFFFF; z-index: 1001; display: flex; flex-direction: column; transform: translateX(100%); transition: transform .3s cubic-bezier(.4,0,.2,1); overflow-y: auto; -webkit-overflow-scrolling: touch; }\n.mob.on { transform: translateX(0); }\n.mob-h { display: flex; align-items: center; justify-content: space-between; padding: 16px; border-bottom: 1px solid rgba(255,255,255,.12); position: sticky; top: 0; background: #0F172A; z-index: 2; }\n.mob-logo { font-family: 'Outfit', system-ui, sans-serif; font-weight: 700; font-size: 1.05rem; color: #D97706; letter-spacing: .04em; }\n.mob-x { width: 44px; height: 44px; border: none; background: none; cursor: pointer; font-size: 28px; line-height: 1; color: #FFFFFF; display: flex; align-items: center; justify-content: center; border-radius: 8px; }\n.mob-x:hover, .mob-x:focus { background: rgba(255,255,255,0.08); color: #D97706; }\n.mob-nav { flex: 1; padding: 8px 0; }\n.mob-section { color: #94A3B8; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 16px 20px 6px; }\n.mob-divider { height: 1px; background: rgba(255,255,255,.12); margin: 8px 0; }\n.mob-tel { color: #FFFFFF; }\n.mob-tel:hover, .mob-tel:focus { color: #D97706; }\n.mob-tel svg { color: #FFFFFF; }\n.acc { border-bottom: 1px solid rgba(255,255,255,.12); }\n.acc-trig { display: flex; align-items: center; justify-content: space-between; width: 100%; background: none; border: none; cursor: pointer; font-family: 'Outfit', system-ui, sans-serif; font-size: 1.05rem; font-weight: 500; color: #FFFFFF; padding: 14px 20px; min-height: 48px; text-align: left; }\n.acc-chev { transition: transform .3s cubic-bezier(.4,0,.2,1); color: rgba(255,255,255,0.6); }\n.acc.open .acc-chev { transform: rotate(180deg); color: #D97706; }\n.acc.open .acc-trig { color: #D97706; }\n.acc-panel { display: none; flex-direction: column; background: rgba(255,255,255,0.04); padding: 4px 0 8px; }\n.acc.open .acc-panel { display: flex; }\n.acc-panel a { font-family: 'Source Sans 3', system-ui, sans-serif; font-size: .94rem; color: #E5E7EB; padding: 10px 36px; min-height: 44px; display: flex; align-items: center; border-bottom: 1px solid rgba(255,255,255,0.06); }\n.acc-panel a:visited { color: #E5E7EB; }\n.acc-panel a:last-child { border-bottom: none; }\n.acc-panel a:hover, .acc-panel a:focus { color: #D97706; background: rgba(255,255,255,0.06); }\n.mob-link { display: flex; align-items: center; font-family: 'Outfit', system-ui, sans-serif; font-size: 1.05rem; font-weight: 500; color: #FFFFFF; padding: 14px 20px; min-height: 48px; border-bottom: 1px solid rgba(255,255,255,.12); }\n.mob-link:visited { color: #FFFFFF; }\n.mob-link:hover, .mob-link:focus { color: #D97706; }\n.mob-cta { padding: 16px; display: flex; flex-direction: column; gap: 10px; border-top: 1px solid rgba(255,255,255,.12); }\n.mob-cta .btn { min-height: 56px; width: 100%; display: inline-flex; align-items: center; justify-content: center; font-family: 'Outfit', system-ui, sans-serif; font-weight: 700; border-radius: 999px; padding: 14px 20px; font-size: 16px; }\n.mob-cta .btn-p { background: #D97706; color: #FFFFFF !important; }\n.mob-cta .btn-p:hover, .mob-cta .btn-p:focus { background: #F59E0B; color: #FFFFFF !important; }\n.mob-cta .btn-d { background: transparent; color: #FFFFFF; border: 1px solid rgba(255,255,255,.24); }\n.mob-cta .btn-d:hover, .mob-cta .btn-d:focus { color: #D97706; border-color: #D97706; }\n.ft { background: var(--ft-bg); color: rgba(255,255,255,.6); padding: 48px 0 24px; }\n.ft a { color: rgba(255,255,255,.7); }\n.ft a:hover { color: var(--orange); }\n.ft-g { display: grid; grid-template-columns: 1fr; gap: 0; margin-bottom: 24px; }\n.ft-br { padding: 0 0 28px 0; border-bottom: 1px solid rgba(255,255,255,.08); }\n.ft-br p { font-size: .95rem; line-height: 1.7; margin: 14px 0 0; max-width: 340px; }\n.ft-meta { margin-top: 14px; font-size: .88rem; line-height: 1.7; color: rgba(255,255,255,.55); }\n.ft-trust { margin-top: 14px; font-size: .78rem; line-height: 1.6; color: rgba(255,255,255,.5); }\n.ft-hours { margin-top: 10px; font-size: .85rem; color: rgba(255,255,255,.55); }\n.ft-lo { font-family: 'Outfit', system-ui, sans-serif; font-weight: 700; font-size: 1.2rem; color: #FFFFFF; display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }\n.ft-lo span { color: var(--orange); }\n.ft h4 { font-family: 'Outfit', system-ui, sans-serif; font-size: .85rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #FFFFFF; margin: 0; }\n.ft-acc { border-bottom: 1px solid rgba(255,255,255,.08); }\n.ft-acc-trig { display: flex; align-items: center; justify-content: space-between; width: 100%; background: none; border: none; cursor: pointer; color: #FFFFFF; padding: 18px 0; font-family: 'Outfit', system-ui, sans-serif; font-size: .85rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; text-align: left; min-height: 48px; }\n.ft-acc-chev { transition: transform .3s cubic-bezier(.4,0,.2,1); color: rgba(255,255,255,.5); }\n.ft-acc.open .ft-acc-chev { transform: rotate(180deg); color: var(--orange); }\n.ft-acc-body { display: none; list-style: none; padding: 0 0 18px 0; margin: 0; flex-direction: column; gap: 6px; }\n.ft-acc.open .ft-acc-body { display: flex; }\n.ft-lk { list-style: none; display: flex; flex-direction: column; gap: 8px; padding: 0; margin: 0; }\n.ft-lk a, .ft-acc-body a { font-size: .92rem; color: rgba(255,255,255,.55); transition: .3s cubic-bezier(.4,0,.2,1); min-height: 40px; display: inline-flex; align-items: center; }\n.ft-lk a:hover, .ft-acc-body a:hover { color: var(--orange); }\n.ft-sm { padding: 24px 0; border-top: 1px solid rgba(255,255,255,.08); border-bottom: 1px solid rgba(255,255,255,.08); }\n.ft-sm h4 { margin-bottom: 10px; }\n.ft-sm-list { font-size: 12px; line-height: 1.8; color: rgba(255,255,255,.45); margin: 0; }\n.ft-sm-list a { color: rgba(255,255,255,.55); }\n.ft-sm-list a:hover { color: var(--orange); }\n.ft-bt { padding-top: 20px; display: flex; justify-content: space-between; align-items: center; font-size: .78rem; flex-direction: column; gap: 12px; text-align: center; }\n.ft-bl { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; }\n.ft-bl a { color: rgba(255,255,255,.4); transition: .3s cubic-bezier(.4,0,.2,1); }\n.ft-bl a:hover { color: var(--orange); }\n@media (min-width: 480px) { .ctn { padding: 0 20px; } .nav-in { padding: 0 20px; } }\n@media (min-width: 768px) { .ctn { padding: 0 24px; } .brand-logo { height: 36px; max-width: 220px; } .nav-in { padding: 0 24px; } .ft { padding: 64px 0 32px; } .ft-g { grid-template-columns: 1fr 1fr; gap: 32px; margin-bottom: 36px; } .ft-br { padding: 0; border-bottom: none; grid-column: 1 / -1; } .ft-acc { border: none; } .ft-acc-trig { padding: 0 0 18px 0; cursor: default; pointer-events: none; min-height: auto; } .ft-acc-chev { display: none; } .ft-acc-body { display: flex !important; padding-bottom: 0; } .ft-bt { flex-direction: row; text-align: left; font-size: .82rem; } .ft-bl { flex-wrap: nowrap; justify-content: flex-end; } }\n@media (min-width: 1024px) { .nav-in { padding: 0 28px; height: 64px; } .brand-logo { height: 40px; max-width: 240px; } .nav-l { display: flex; min-width: 0; flex: 1 1 auto; } .nav-c { display: flex; flex-shrink: 0; min-width: 0; } .nav-h { display: none; } .nav-logo-m { font-size: 1.15rem; } .nav-logo-s { font-size: .65rem; } .mob, .mob-bd { display: none !important; } .ft { padding: 72px 0 36px; } .ft-g { grid-template-columns: 2fr 1.4fr 1.4fr 1.4fr 1.2fr; gap: 40px; margin-bottom: 48px; } .ft-br { grid-column: auto; } .ft-lo { font-size: 1.3rem; } .ft h4 { font-size: .88rem; } .ft-lk a, .ft-acc-body a { font-size: .95rem; min-height: 32px; } .ft-sm { padding: 28px 0; } .ft-bt { padding-top: 28px; font-size: .85rem; } .ft-bl { gap: 24px; } }\n@media (min-width: 1280px) { .ctn { padding: 0 32px; } .nav-in { padding-inline: clamp(20px,2vw,32px); } .nav-cta { font-size: .95rem; padding: 12px 22px; } }\n/* === HEADER QUICK ACTIONS === */\n.nav-logo { min-width: 0; flex-shrink: 1; }\n.brand-logo { max-width: clamp(136px,42vw,200px); }\n.nav-mq { display: flex; align-items: center; gap: 8px; margin-left: auto; flex-shrink: 0; }\n.nav-ico, .nav-ph-btn { width: 44px; height: 44px; min-width: 44px; display: inline-flex !important; align-items: center; justify-content: center; color: #FFFFFF !important; border: 1px solid rgba(245,158,11,.65) !important; border-radius: 999px; background: linear-gradient(135deg,#F59E0B 0%,#D97706 100%) !important; box-shadow: 0 8px 22px rgba(217,119,6,.34), inset 0 1px 0 rgba(255,255,255,.22); transition: transform .22s ease, box-shadow .22s ease, background .22s ease, border-color .22s ease; text-decoration: none; flex-shrink: 0; }\n.nav-ico:visited { color: #FFFFFF !important; }\n.nav-ico:hover, .nav-ico:focus-visible, .nav-ph-btn:hover, .nav-ph-btn:focus-visible, .nav-ph-dd.open .nav-ph-btn { color: #FFFFFF !important; border-color: #FBBF24 !important; background: linear-gradient(135deg,#FBBF24 0%,#E8792A 100%) !important; box-shadow: 0 10px 28px rgba(245,158,11,.46), 0 0 0 3px rgba(245,158,11,.20); transform: translateY(-1px); outline: none; }\n.nav-ico svg, .nav-ph-btn svg { width: 18px; height: 18px; display: block; color: currentColor !important; stroke: currentColor !important; filter: drop-shadow(0 1px 1px rgba(0,0,0,.25)); }\n.nav-c .nav-ico { display: inline-flex !important; }\n.nav-c { gap: 10px; }\n@media (max-width: 359px) { .nav-in { gap: 6px; } .nav-mq { gap: 6px; } .nav-ico, .nav-ph-btn, .nav-h { width: 40px; height: 40px; min-width: 40px; } .brand-logo { max-width: 132px; } }\n@media (min-width: 768px) { .brand-logo { max-width: 220px; } .nav-mq { gap: 10px; } }\n@media (min-width: 1024px) { .nav-mq { display: none; } .brand-logo { max-width: 240px; } .nav-c .nav-ico { display: inline-flex !important; } }\n\n.ft-top { padding: 0 0 24px 0; margin: 0 0 24px 0; border-bottom: 1px solid rgba(255,255,255,.10); }\n.ft-news { display: flex; flex-direction: column; gap: 10px; max-width: 480px; }\n.ft-news-h { font-size: 16px; font-weight: 700; color: #FFFFFF; margin: 0; letter-spacing: -0.005em; }\n.ft-news-p { font-size: 13px; line-height: 1.5; color: #E5E7EB; margin: 0; }\n.ft-news-form { width: 100%; }\n.ft-news-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; align-items: stretch; width: 100%; }\n.ft-news-row input[type=\"email\"] { grid-column: 1 / -1; min-height: 44px; }\n.ft-news-row input[type=\"text\"] { min-height: 44px; }\n.ft-news-row button[type=\"submit\"] { grid-column: 1 / -1; min-height: 48px; font-weight: 700; letter-spacing: 0.01em; }\n.ft-news-row input[type=\"email\"], .ft-news-row input[type=\"text\"] { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.18); color: #FFFFFF; border-radius: 8px; padding: 10px 12px; font-size: 13px; line-height: 1.4; outline: none; min-width: 0; }\n.ft-news-row input::placeholder { color: rgba(255,255,255,.5); }\n.ft-news-row input:focus { border-color: #D97706; background: rgba(255,255,255,.10); }\n.ft-news-row button[type=\"submit\"] { background: #D97706; color: #FFFFFF; border: 0; border-radius: 8px; font-weight: 700; font-size: 13px; padding: 0 16px; cursor: pointer; white-space: nowrap; min-height: 40px; }\n.ft-news-row button[type=\"submit\"]:hover { background: #F59E0B; }\n.ft-news-fine { font-size: 11px; line-height: 1.5; color: #94A3B8; margin: 0; }\n\n\n/* === BACK TO TOP === */\n.back-to-top { position: fixed; right: clamp(16px, 3vw, 28px); bottom: clamp(16px, 3vw, 28px); width: 48px; height: 48px; border-radius: 50%; border: 0; background: #D97706; color: #FFFFFF; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 6px 18px rgba(15, 23, 42, 0.25), 0 2px 6px rgba(15, 23, 42, 0.15); z-index: 90; transition: background 0.15s ease, transform 0.15s ease; }\n.back-to-top:hover { background: #F59E0B; transform: translateY(-2px); }\n.back-to-top:focus-visible { outline: 2px solid #FFFFFF; outline-offset: 2px; box-shadow: 0 0 0 4px #D97706; }\n.back-to-top svg { display: block; }\n@media (max-width: 480px) { .back-to-top { width: 44px; height: 44px; right: 14px; bottom: 14px; } }\n`;const STYLES=`\na, a:link, a:visited, a:hover, a:active { color: inherit; text-decoration: none; }\n/* === RESET === */\n*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}\n:root{\n  --orange:#E8792A;--orange-dk:#D06820;--orange-lt:#FFF3EA;--orange-2:#D97706;--orange-tint:#FFF8F0;\n  --charcoal:#2B2B2B;--slate:#4A4F57;--g700:#374151;--g500:#6B7280;--g300:#D1D5DB;--g100:#F3F4F6;--g50:#F9FAFB;--white:#FFFFFF;--ink:#1A1A1A;--ft-bg:#0F0F0F;\n  --ff-d:'Outfit',system-ui,sans-serif;--ff-b:'Source Sans 3',system-ui,sans-serif;\n  --mw:1200px;--spy:clamp(48px,7vw,72px);--rad:12px;--rad-s:8px;\n  --sh-s:0 1px 3px rgba(0,0,0,.06);--sh-m:0 4px 24px rgba(0,0,0,.08);--sh-l:0 12px 48px rgba(0,0,0,.1);--sh-dd:0 4px 16px rgba(0,0,0,.08);\n  --tr:.3s cubic-bezier(.4,0,.2,1);\n  --focus:0 0 0 3px rgba(232,121,42,.4);\n}\nhtml{scroll-behavior:smooth;-webkit-text-size-adjust:100%}\nbody{font-family:var(--ff-b);color:var(--charcoal);background:var(--white);line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased;font-size:16px;overflow-wrap:break-word}\nimg{max-width:100%;display:block;height:auto}\na{text-decoration:none;color:inherit;-webkit-tap-highlight-color:transparent}\na:focus-visible,.btn:focus-visible,button:focus-visible{outline:none;box-shadow:var(--focus)}\nh1,h2,h3,h4,h5,h6{font-family:var(--ff-d);line-height:1.2;text-wrap:balance}\ninput,textarea,select{font-size:16px;min-height:56px}\n.ctn{max-width:var(--mw);margin:0 auto;padding:0 16px}\n.skip{position:absolute;top:-100%;left:16px;padding:12px 24px;background:var(--orange);color:var(--white);border-radius:var(--rad);font-family:var(--ff-d);font-weight:600;z-index:9999;transition:top .2s}.skip:focus{top:16px}\n\n/* === BUTTONS === */\n.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--ff-d);font-weight:600;font-size:1rem;padding:16px 24px;border-radius:50px;border:none;cursor:pointer;transition:var(--tr);letter-spacing:.01em;min-height:56px;width:100%}\n.btn-p{background:#E8792A;color:#FFFFFF !important}.btn-p:hover{background:var(--orange-dk);transform:translateY(-1px);box-shadow:0 8px 24px rgba(232,121,42,.35)}\n.bp-side .btn,.bp-cta-mid .btn{white-space:normal;line-height:1.25;font-size:.95rem;padding:14px 18px;text-wrap:balance}\n.btn-o{background:transparent;color:var(--charcoal);border:1.5px solid var(--g300)}.btn-o:hover{border-color:var(--orange);color:var(--orange)}\n.btn-w{background:var(--white);color:var(--charcoal)}.btn-w:hover{background:var(--g50);transform:translateY(-1px);box-shadow:var(--sh-m)}\n.btn-d{background:var(--charcoal);color:var(--white)}.btn-d:hover{background:#1a1a1a}\n\n/* === TYPOGRAPHY UTILITIES === */\n.badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--ff-d);font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--orange);padding:8px 16px;background:var(--orange-lt);border-radius:50px}\n.sl{font-family:var(--ff-d);font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--orange);margin-bottom:12px}\n.st{font-size:1.6rem;font-weight:700;color:var(--charcoal);margin-bottom:16px;letter-spacing:-.01em}\n.ss{font-size:1rem;color:var(--g500);max-width:680px;line-height:1.7}\n\n/* === NAV === */\n.nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:#0F172A;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,0.08);transition:var(--tr)}\n.nav-in{max-width:var(--mw);margin:0 auto;padding:0 16px;display:flex;align-items:center;justify-content:space-between;height:56px}\n.nav-logo{display:flex;align-items:center;gap:8px;font-family:var(--ff-d)}\n.nav-logo-t{display:flex;flex-direction:column;line-height:1.15}\n.nav-logo-m{font-size:1.05rem;font-weight:700;letter-spacing:.04em;color:var(--orange)}\n.nav-logo-s{font-size:.6rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--g500)}\n.brand-logo{height:32px;width:auto;max-width:200px;display:block;object-fit:contain}\n.nav-l{display:none;align-items:center;gap:8px;list-style:none}\n.nav-l>li{position:relative}\n.nav-l a,.nav-l .dd-trig{font-family:var(--ff-d);font-size:.95rem;font-weight:500;color:#FFFFFF;transition:var(--tr);padding:8px 12px;min-height:44px;display:inline-flex;align-items:center;background:none;border:none;cursor:pointer;gap:6px}\n.nav-l a:visited{color:#FFFFFF}\n.nav-l a:hover,.nav-l .dd-trig:hover,.nav-l a:focus,.nav-l .dd-trig:focus{color:#F59E0B}\n.dd-chev{transition:transform var(--tr);width:12px;height:12px}\n.dd.open .dd-chev{transform:rotate(180deg)}\n.dd.open .dd-trig{color:#F59E0B}\n.dd-panel{display:none;position:absolute;top:calc(100% + 8px);left:0;min-width:280px;background:#0F172A;box-shadow:0 8px 24px rgba(0,0,0,0.4);border-top:2px solid #D97706;border-radius:12px;padding:8px 0;z-index:1001}\n.dd.open .dd-panel{display:block}\n.dd-panel a{display:flex !important;font-family:var(--ff-d);font-size:.94rem;font-weight:500;padding:12px 20px !important;color:#FFFFFF !important;min-height:auto !important;border-radius:0;white-space:nowrap}\n.dd-panel a:visited{color:#FFFFFF !important}\n.dd-panel a:hover,.dd-panel a:focus{background:rgba(255,255,255,0.06);color:#F59E0B !important}\n.nav-c{display:none;align-items:center;gap:12px}\n.nav-ph{font-family:var(--ff-d);font-weight:600;font-size:.9rem;color:#FFFFFF;display:flex;align-items:center;gap:6px;padding:8px 10px;min-height:44px}\n.nav-ph:visited{color:#FFFFFF}\n.nav-ph:hover,.nav-ph:focus{color:#F59E0B}\n.nav-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--ff-d);font-weight:600;font-size:.92rem;padding:12px 20px;border-radius:50px;background:#D97706;color:#FFFFFF;transition:var(--tr);min-height:44px;white-space:nowrap}\n.nav-cta:visited{color:#FFFFFF}\n.nav-cta:hover{background:var(--orange-dk);transform:translateY(-1px);box-shadow:0 8px 24px rgba(232,121,42,.35)}\n.nav-h{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;width:44px;height:44px;position:relative;z-index:1002;padding:0}\n.nav-h-i{display:block;width:24px;height:24px;position:relative}\n.nav-h-i span{display:block;width:100%;height:2.5px;background:#FFFFFF;transition:var(--tr);position:absolute;left:0;right:0}\n.nav-h:active .nav-h-i span,.nav-h.on .nav-h-i span{background:#F59E0B}\n.nav-h-i span:nth-child(1){top:4px}.nav-h-i span:nth-child(2){top:50%;transform:translateY(-50%)}.nav-h-i span:nth-child(3){bottom:4px}\n.nav-h.on .nav-h-i span:nth-child(1){top:50%;transform:translateY(-50%) rotate(45deg)}.nav-h.on .nav-h-i span:nth-child(2){opacity:0}.nav-h.on .nav-h-i span:nth-child(3){bottom:50%;transform:translateY(50%) rotate(-45deg)}\n\n/* === MOBILE DRAWER === */\n.mob-bd{position:fixed;inset:0;background:rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:opacity var(--tr);z-index:1000}\n.mob-bd.on{opacity:1;pointer-events:auto}\n.mob{position:fixed;top:0;right:0;bottom:0;width:100%;max-width:380px;background:#0F172A;z-index:1001;display:flex;flex-direction:column;transform:translateX(100%);transition:transform var(--tr);overflow-y:auto;-webkit-overflow-scrolling:touch}\n.mob.on{transform:translateX(0)}\n.mob-h{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid rgba(255,255,255,0.08);position:sticky;top:0;background:#0F172A;z-index:2}\n.mob-logo{font-family:var(--ff-d);font-weight:700;font-size:1.05rem;color:var(--orange);letter-spacing:.04em}\n.mob-x{width:44px;height:44px;border:none;background:none;cursor:pointer;font-size:28px;line-height:1;color:#FFFFFF;display:flex;align-items:center;justify-content:center;border-radius:8px}\n.mob-x:hover,.mob-x:focus{background:rgba(255,255,255,0.08);color:#F59E0B}\n.mob-nav{flex:1;padding:8px 0}\n.acc{border-bottom:1px solid rgba(255,255,255,0.08)}\n.acc-trig{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;cursor:pointer;font-family:var(--ff-d);font-size:1.05rem;font-weight:500;color:#FFFFFF;padding:14px 20px;min-height:48px;text-align:left}\n.acc-chev{transition:transform var(--tr);color:var(--g500)}\n.acc.open .acc-chev{transform:rotate(180deg);color:#F59E0B}\n.acc.open .acc-trig{color:#F59E0B}\n.acc-panel{display:none;flex-direction:column;background:rgba(255,255,255,0.04);padding:4px 0 8px}\n.acc.open .acc-panel{display:flex}\n.acc-panel a{font-family:var(--ff-b);font-size:.94rem;color:#FFFFFF;padding:10px 36px;min-height:44px;display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,0.06)}\n.acc-panel a:visited{color:#FFFFFF}\n.acc-panel a:last-child{border-bottom:none}\n.acc-panel a:hover,.acc-panel a:focus{color:#F59E0B;background:rgba(255,255,255,0.06)}\n.mob-link{display:flex;align-items:center;font-family:var(--ff-d);font-size:1.05rem;font-weight:500;color:#FFFFFF;padding:14px 20px;min-height:48px;border-bottom:1px solid rgba(255,255,255,0.08)}\n.mob-link:visited{color:#FFFFFF}\n.mob-link:hover,.mob-link:focus{color:#F59E0B}\n.mob-cta{padding:16px;display:flex;flex-direction:column;gap:10px;border-top:1px solid rgba(255,255,255,0.08)}\n.mob-cta .btn{min-height:56px;width:100%}\n\n/* === HERO === */\n.hero{padding-top:88px;padding-bottom:var(--spy);position:relative;overflow:hidden;background:linear-gradient(168deg,var(--white) 0%,var(--g50) 50%,var(--orange-lt) 100%)}\n.hero::before{content:'';position:absolute;top:-200px;right:-200px;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(232,121,42,.06) 0%,transparent 70%);pointer-events:none}\n.hero-in{max-width:var(--mw);margin:0 auto;padding:0 16px;display:grid;grid-template-columns:1fr;gap:36px;align-items:center}\n.hero-ct{position:relative;z-index:1}\n.hero h1{font-size:2rem;font-weight:700;color:var(--charcoal);margin-bottom:18px;letter-spacing:-.02em}\n.hero h1 span{color:var(--orange)}\n.hero-sb{font-size:1rem;color:var(--g500);margin-bottom:28px;max-width:560px;line-height:1.7}\n.hero-bt{display:flex;gap:10px;flex-direction:column;margin-bottom:36px}\n.hero-bt .btn{width:100%}\n.hero-tr{display:flex;align-items:flex-start;gap:14px;padding-top:24px;border-top:1px solid var(--g300);flex-direction:column}\n.hero-tri{display:flex;align-items:center;gap:8px;font-family:var(--ff-d);font-size:.9rem;font-weight:500;color:var(--slate)}\n.hero-vis{position:relative;max-width:520px;margin:0 auto}\n.hero-cd{background:var(--white);border-radius:20px;padding:24px;box-shadow:var(--sh-l);border:1px solid rgba(0,0,0,.04)}\n.hero-cg{display:grid;grid-template-columns:1fr 1fr;gap:10px}\n.hero-st{background:var(--g50);border-radius:var(--rad);padding:16px 8px;text-align:center}\n.hero-sv{font-family:var(--ff-d);font-size:1.4rem;font-weight:700;color:var(--orange)}\n.hero-sl{font-size:.78rem;color:var(--g500);margin-top:4px;font-weight:500}\n.hero-cf{margin-top:18px;padding-top:18px;border-top:1px solid var(--g100);display:flex;align-items:center;gap:12px;flex-direction:column;text-align:center}\n.hero-av{width:44px;height:44px;border-radius:50%;background:var(--orange-lt);display:flex;align-items:center;justify-content:center;font-family:var(--ff-d);font-weight:700;color:var(--orange);font-size:.95rem;flex-shrink:0}\n.hero-qt{font-size:.95rem;color:var(--slate);font-style:italic;line-height:1.55}\n.hero-fl{display:none;position:absolute;top:-20px;right:-20px;background:var(--charcoal);color:var(--white);border-radius:var(--rad);padding:14px 18px;box-shadow:var(--sh-l);align-items:center;gap:10px;animation:fl 6s ease-in-out infinite}\n.hero-fl svg{color:#22c55e}.hero-ft{font-family:var(--ff-d);font-size:.85rem;font-weight:600}\n@keyframes fl{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}\n\n/* === VALUE === */\n.vp{padding:var(--spy) 0;background:var(--white)}\n.vg{display:grid;grid-template-columns:1fr;gap:20px;margin-top:36px}\n.vc{padding:28px;border-radius:var(--rad);border:1px solid var(--g100);transition:var(--tr)}\n.vc:hover{border-color:var(--orange);box-shadow:var(--sh-m);transform:translateY(-3px)}\n.vi{width:48px;height:48px;border-radius:var(--rad-s);background:var(--orange-lt);display:flex;align-items:center;justify-content:center;margin-bottom:18px}\n.vi svg{width:24px;height:24px;color:var(--orange)}\n.vc h3{font-size:1.15rem;font-weight:600;margin-bottom:8px;color:var(--charcoal)}\n.vc p{font-size:1rem;color:var(--g500);line-height:1.7}\n\n/* === SERVICES === */\n.svs{padding:var(--spy) 0;background:var(--g50)}\n.svs-h{text-align:center;margin-bottom:36px}.svs-h .ss{margin:0 auto}.svs-h .st{margin-bottom:16px}\n.svs-strip{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:24px}\n.svs-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:50px;background:var(--white);border:1px solid var(--g100);font-family:var(--ff-d);font-size:.75rem;font-weight:500;color:var(--slate);transition:var(--tr)}\n.svs-pill svg{width:13px;height:13px;color:var(--orange);flex-shrink:0}.svs-pill:hover{border-color:var(--orange);color:var(--charcoal)}\n.svs-g{display:grid;grid-template-columns:1fr;gap:16px}\n.sc{background:var(--white);border-radius:var(--rad);padding:24px;border:1px solid var(--g100);transition:var(--tr);display:flex;flex-direction:column}\n.sc:hover{box-shadow:var(--sh-m);transform:translateY(-2px)}\n.sn{font-family:var(--ff-d);font-size:.78rem;font-weight:700;color:var(--orange);margin-bottom:12px;letter-spacing:.05em}\n.sc h3{font-size:1.15rem;font-weight:600;color:var(--charcoal);margin-bottom:10px}\n.sc p{font-size:1rem;color:var(--g500);line-height:1.7;flex:1}\n.scl{margin-top:18px;display:inline-flex;align-items:center;gap:6px;font-family:var(--ff-d);font-size:.95rem;font-weight:600;color:var(--orange);transition:var(--tr);min-height:44px;padding:8px 0}.scl:hover{gap:10px}\n\n/* === CYBER STACK === */\n.cys{padding:var(--spy) 0;background:var(--white);position:relative;overflow:hidden}\n.cys::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,var(--white) 0%,rgba(232,121,42,.03) 50%,var(--white) 100%);pointer-events:none}\n.cys-in{position:relative;z-index:1}.cys-h{margin-bottom:36px}\n.cys-top{display:grid;grid-template-columns:1fr;gap:24px;margin-bottom:24px}\n.cys-dash{background:var(--charcoal);border-radius:16px;padding:24px;color:var(--white);position:relative;overflow:hidden}\n.cys-dash::before{content:'';position:absolute;top:-40px;right:-40px;width:180px;height:180px;border-radius:50%;background:rgba(232,121,42,.12)}\n.cys-dash-in{position:relative;z-index:1}\n.cys-dash h3{font-size:1.2rem;font-weight:700;margin-bottom:10px}\n.cys-dash p{font-size:1rem;color:rgba(255,255,255,.6);line-height:1.6;margin-bottom:18px}\n.cys-dash-areas{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}\n.cys-area{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:var(--rad-s);padding:8px 4px;text-align:center;font-family:var(--ff-d);font-size:.7rem;font-weight:600;color:rgba(255,255,255,.7);letter-spacing:.03em}\n.cys-area-active{background:rgba(232,121,42,.15);border-color:rgba(232,121,42,.3);color:var(--orange)}\n.cys-grid{display:grid;grid-template-columns:1fr;gap:16px}\n.cyc{padding:24px;border-radius:var(--rad);border:1px solid var(--g100);background:var(--white);transition:var(--tr)}\n.cyc:hover{border-color:var(--orange);box-shadow:var(--sh-m);transform:translateY(-2px)}\n.cyc-icon{width:42px;height:42px;border-radius:var(--rad-s);background:var(--orange-lt);display:flex;align-items:center;justify-content:center;margin-bottom:14px}\n.cyc-icon svg{width:22px;height:22px;color:var(--orange)}\n.cyc h4{font-size:1.1rem;font-weight:600;color:var(--charcoal);margin-bottom:8px}\n.cyc p{font-size:1rem;color:var(--g500);line-height:1.65}\n\n/* === WHY RANGO === */\n.wr{padding:var(--spy) 0;background:var(--white)}\n.wg{display:grid;grid-template-columns:1fr;gap:32px;align-items:center;margin-top:36px}\n.wl{display:flex;flex-direction:column;gap:24px}\n.wi{display:flex;gap:14px}\n.wii{width:42px;height:42px;min-width:42px;border-radius:50%;background:var(--orange-lt);display:flex;align-items:center;justify-content:center}\n.wii svg{width:20px;height:20px;color:var(--orange)}\n.wi h4{font-size:1.1rem;font-weight:600;margin-bottom:6px;color:var(--charcoal)}\n.wi p{font-size:1rem;color:var(--g500);line-height:1.65}\n.wv{background:linear-gradient(145deg,var(--charcoal) 0%,#3a3a3a 100%);border-radius:20px;padding:28px;color:var(--white);position:relative;overflow:hidden}\n.wv::before{content:'';position:absolute;top:-50px;right:-50px;width:220px;height:220px;border-radius:50%;background:rgba(232,121,42,.15)}\n.wvc{position:relative;z-index:1}.wv h3{font-size:1.3rem;font-weight:700;margin-bottom:22px}\n.wvs{display:grid;grid-template-columns:1fr 1fr;gap:14px}\n.ws{background:rgba(255,255,255,.08);border-radius:var(--rad-s);padding:16px;border:1px solid rgba(255,255,255,.08)}\n.wsv{font-family:var(--ff-d);font-size:1.5rem;font-weight:700;color:var(--orange)}\n.wsl{font-size:.82rem;color:rgba(255,255,255,.65);margin-top:4px}\n.wvn{margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);font-size:.92rem;color:rgba(255,255,255,.6);line-height:1.55;display:flex;align-items:flex-start;gap:10px}\n.wvn svg{color:var(--orange);flex-shrink:0;margin-top:3px}\n\n/* === TRUST === */\n.trs{padding:var(--spy) 0;background:var(--g50)}\n.trs-h{text-align:center;margin-bottom:36px}.trs-h .ss{margin:0 auto}\n.trc{display:grid;grid-template-columns:1fr;gap:14px}\n.tc{text-align:center;padding:24px 18px;background:var(--white);border-radius:var(--rad);border:1px solid var(--g100)}\n.tci{width:48px;height:48px;margin:0 auto 12px;background:var(--orange-lt);border-radius:50%;display:flex;align-items:center;justify-content:center}\n.tci svg{width:22px;height:22px;color:var(--orange)}\n.tc h4{font-size:1rem;font-weight:600;color:var(--charcoal);margin-bottom:4px}\n.tc p{font-size:.88rem;color:var(--g500)}\n\n/* === LOCAL === */\n.loc{padding:var(--spy) 0;background:var(--white)}\n.loc-in{display:grid;grid-template-columns:1fr;gap:36px;align-items:center}\n.loc-ct .ss{margin-bottom:24px}\n.loc-li{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}\n.lli{display:flex;align-items:center;gap:10px;font-size:1rem;color:var(--slate)}\n.lli svg{width:18px;height:18px;color:var(--orange);flex-shrink:0}\n.loc-mp{background:var(--g50);border-radius:20px;height:220px;display:flex;align-items:center;justify-content:center;border:1px solid var(--g100);overflow:hidden}\n.loc-mi{text-align:center;color:var(--g500)}\n.loc-pin{width:64px;height:64px;margin:0 auto 14px;background:var(--orange);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 24px rgba(232,121,42,.3)}\n.loc-pin svg{width:28px;height:28px;color:var(--white)}\n.loc-lbl{font-family:var(--ff-d);font-weight:600;color:var(--charcoal);font-size:1.05rem}\n.loc-sub{font-size:.88rem;margin-top:4px}\n\n/* === CTA === */\n.cta{padding:var(--spy) 0;background:var(--charcoal);position:relative;overflow:hidden}\n.cta::before{content:'';position:absolute;bottom:-100px;left:-100px;width:400px;height:400px;border-radius:50%;background:rgba(232,121,42,.08);pointer-events:none}\n.cta::after{content:'';position:absolute;top:-150px;right:-50px;width:300px;height:300px;border-radius:50%;background:rgba(232,121,42,.06);pointer-events:none}\n.cta-in{text-align:center;position:relative;z-index:1}\n.cta-in h2{font-size:1.6rem;color:var(--white);margin-bottom:14px}\n.cta-in>p{font-size:1.05rem;color:rgba(255,255,255,.6);max-width:600px;margin:0 auto 28px;line-height:1.7}\n.cta-bt{display:flex;gap:10px;justify-content:center;flex-direction:column;align-items:stretch;max-width:340px;margin:0 auto}\n.cta-bt .btn{width:100%}\n.cta-ci{margin-top:32px;display:flex;justify-content:center;gap:18px;flex-direction:column;align-items:center}\n.cci{display:flex;align-items:center;gap:8px;font-family:var(--ff-d);font-size:.92rem;color:rgba(255,255,255,.5)}\n.cci svg{color:var(--orange)}.cci a{color:rgba(255,255,255,.7);transition:var(--tr)}.cci a:hover{color:var(--white)}\n\n/* === BLOG === */\n.bls{padding:var(--spy) 0;background:var(--g50)}\n.bl-h{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;flex-direction:column;gap:18px}\n.bl-g{display:grid;grid-template-columns:1fr;gap:20px}\n.bc{background:var(--white);border-radius:var(--rad);overflow:hidden;border:1px solid var(--g100);transition:var(--tr)}\n.bc:hover{box-shadow:var(--sh-m);transform:translateY(-3px)}\n.bci{height:140px;display:flex;align-items:center;justify-content:center;overflow:hidden}\n.bcip{font-family:var(--ff-d);font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--g300)}\n.bcb{padding:22px}\n.bct{font-family:var(--ff-d);font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--orange);margin-bottom:8px}\n.bc h3{font-size:1.05rem;font-weight:600;margin-bottom:8px;color:var(--charcoal);line-height:1.4}\n.bc p{font-size:.95rem;color:var(--g500);line-height:1.6}\n.bcm{margin-top:14px;padding-top:14px;border-top:1px solid var(--g100);display:flex;justify-content:space-between;align-items:center;font-size:.82rem;color:var(--g500)}\n\n/* === FOOTER === */\n.ft{background:var(--ft-bg);color:rgba(255,255,255,.6);padding:48px 0 24px}\n.ft-g{display:grid;grid-template-columns:1fr;gap:0;margin-bottom:24px}\n.ft-br{padding:0 0 28px 0;border-bottom:1px solid rgba(255,255,255,.08)}\n.ft-br p{font-size:.95rem;line-height:1.7;margin-top:14px;max-width:340px}\n.ft-br .ft-meta{margin-top:14px;font-size:.88rem;line-height:1.7;color:rgba(255,255,255,.55)}\n.ft-br .ft-meta a{color:rgba(255,255,255,.7)}.ft-br .ft-meta a:hover{color:var(--orange)}\n.ft-br .ft-trust{margin-top:14px;font-size:.78rem;line-height:1.6;color:rgba(255,255,255,.5)}\n.ft-br .ft-hours{margin-top:10px;font-size:.85rem;color:rgba(255,255,255,.55)}\n.ft-lo{font-family:var(--ff-d);font-weight:700;font-size:1.2rem;color:var(--white);display:flex;align-items:center;gap:8px;margin-bottom:6px}.ft-lo span{color:var(--orange)}\n.ft h4{font-size:.85rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--white);margin:0}\n.ft-acc{border-bottom:1px solid rgba(255,255,255,.08)}\n.ft-acc-trig{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;cursor:pointer;color:var(--white);padding:18px 0;font-family:var(--ff-d);font-size:.85rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-align:left}\n.ft-acc-chev{transition:transform var(--tr);color:rgba(255,255,255,.5)}\n.ft-acc.open .ft-acc-chev{transform:rotate(180deg);color:var(--orange)}\n.ft-acc-body{display:none;list-style:none;padding-bottom:18px;flex-direction:column;gap:6px}\n.ft-acc.open .ft-acc-body{display:flex}\n.ft-lk{list-style:none;display:flex;flex-direction:column;gap:8px}\n.ft-lk a,.ft-acc-body a{font-size:.92rem;color:rgba(255,255,255,.55);transition:var(--tr);min-height:40px;display:inline-flex;align-items:center}.ft-lk a:hover,.ft-acc-body a:hover{color:var(--orange)}\n.ft-sm{padding:24px 0;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}\n.ft-sm h4{margin-bottom:10px}\n.ft-sm-list{font-size:12px;line-height:1.8;color:rgba(255,255,255,.45)}\n.ft-sm-list a{color:rgba(255,255,255,.55)}\n.ft-sm-list a:hover{color:var(--orange)}\n.ft-bt{padding-top:20px;display:flex;justify-content:space-between;align-items:center;font-size:.78rem;flex-direction:column;gap:12px;text-align:center}\n.ft-bl{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.ft-bl a{color:rgba(255,255,255,.4);transition:var(--tr)}.ft-bl a:hover{color:var(--orange)}\n\n/* === REVEAL === */\n.rv{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}.rv.vis{opacity:1;transform:translateY(0)}\n\n/* === TABLET (≥768px) === */\n@media (min-width:768px){\n  .brand-logo{height:36px;max-width:220px}\n  :root{--spy:clamp(64px,8vw,96px)}\n  body{font-size:17px}\n  .ctn{padding:0 24px}\n  .nav-in{padding:0 24px}\n  .st{font-size:2.2rem;margin-bottom:18px}\n  .ss{font-size:1.1rem;line-height:1.75}\n  .badge{font-size:.85rem;padding:8px 18px}\n  .sl{font-size:.85rem;margin-bottom:14px}\n  .btn{width:auto;min-height:48px;font-size:1.02rem;padding:14px 28px}\n  .hero{padding-top:108px}\n  .hero-in{padding:0 24px;gap:48px}\n  .hero h1{font-size:3rem;margin-bottom:22px}\n  .hero-sb{font-size:1.18rem;margin-bottom:36px}\n  .hero-bt{flex-direction:row;flex-wrap:wrap}\n  .hero-bt .btn{width:auto}\n  .hero-tr{flex-direction:row;align-items:center;gap:24px;padding-top:28px}\n  .hero-cd{padding:36px}\n  .hero-cg{gap:14px}\n  .hero-st{padding:20px}\n  .hero-sv{font-size:1.8rem}\n  .hero-sl{font-size:.85rem}\n  .hero-cf{flex-direction:row;text-align:left}\n  .hero-fl{display:flex}\n  .vg{grid-template-columns:repeat(2,1fr);gap:24px;margin-top:44px}\n  .vc{padding:36px}\n  .svs-h{margin-bottom:48px}\n  .svs-g{grid-template-columns:repeat(2,1fr);gap:20px}\n  .sc{padding:32px}\n  .svs-pill{font-size:.85rem;padding:8px 16px}\n  .svs-pill svg{width:14px;height:14px}\n  .cys-top{grid-template-columns:1fr;gap:32px}\n  .cys-dash{padding:32px}\n  .cys-dash h3{font-size:1.35rem}\n  .cys-dash p{font-size:1.04rem}\n  .cys-area{padding:12px;font-size:.8rem}\n  .cys-grid{grid-template-columns:repeat(2,1fr);gap:18px}\n  .cyc{padding:28px}\n  .wg{grid-template-columns:1fr;gap:48px}\n  .wv{padding:40px}\n  .wsv{font-size:1.7rem}\n  .trc{grid-template-columns:repeat(2,1fr);gap:20px}\n  .tc{padding:28px 22px}\n  .loc-in{grid-template-columns:1fr;gap:48px}\n  .loc-mp{height:340px}\n  .cta-in h2{font-size:2.3rem;margin-bottom:16px}\n  .cta-in>p{font-size:1.15rem;margin-bottom:36px}\n  .cta-bt{flex-direction:row;max-width:none}\n  .cta-bt .btn{width:auto}\n  .cta-ci{flex-direction:row;gap:36px;flex-wrap:wrap}\n  .bl-h{flex-direction:row;align-items:flex-end;margin-bottom:44px}\n  .bl-g{grid-template-columns:repeat(2,1fr);gap:24px}\n  .bci{height:180px}\n  .ft{padding:64px 0 32px}\n  .ft-g{grid-template-columns:1fr 1fr;gap:32px;margin-bottom:36px}\n  .ft-br{padding:0;border-bottom:none;grid-column:1 / -1}\n  .ft-acc{border:none}\n  .ft-acc-trig{padding:0 0 18px 0;cursor:default;pointer-events:none}\n  .ft-acc-chev{display:none}\n  .ft-acc-body{display:flex !important;padding-bottom:0}\n  .ft-bt{flex-direction:row;text-align:left;font-size:.82rem}\n  .ft-bl{flex-wrap:nowrap;justify-content:flex-end}\n}\n\n/* === DESKTOP (≥1024px) === */\n@media (min-width:1024px){\n  .brand-logo{height:40px;max-width:240px}\n  :root{--spy:clamp(72px,9vw,128px);--mw:1200px}\n  body{font-size:18px;line-height:1.8}\n  .ctn{padding:0 28px}\n  .nav-in{padding:0 28px;height:64px}\n  .nav-l{display:flex}\n  .nav-c{display:flex}\n  .nav-h{display:none}\n  .nav-logo-m{font-size:1.15rem}\n  .nav-logo-s{font-size:.65rem}\n  .mob,.mob-bd{display:none !important}\n  .hero{padding-top:144px}\n  .hero-in{grid-template-columns:1fr 1fr;gap:72px}\n  .hero h1{font-size:3.4rem;margin-bottom:22px}\n  .hero-sb{font-size:1.25rem;margin-bottom:40px}\n  .hero-vis{max-width:none}\n  .st{font-size:clamp(2.1rem,4vw,3.2rem);margin-bottom:20px}\n  .ss{font-size:clamp(1.15rem,1.7vw,1.3rem);line-height:1.8}\n  .vg{grid-template-columns:repeat(3,1fr);gap:32px;margin-top:52px}\n  .vc{padding:40px}\n  .vc h3{font-size:1.3rem;margin-bottom:10px}\n  .vc p{font-size:1.1rem;line-height:1.75}\n  .svs-h{margin-bottom:60px}\n  .svs-g{grid-template-columns:repeat(3,1fr);gap:24px}\n  .sc{padding:36px}\n  .sc h3{font-size:1.3rem}\n  .sc p{font-size:1.05rem;line-height:1.75}\n  .svs-pill{font-size:.88rem;padding:10px 20px}\n  .svs-pill svg{width:15px;height:15px}\n  .cys-h{margin-bottom:52px}\n  .cys-top{grid-template-columns:1fr 1fr;gap:48px;margin-bottom:40px}\n  .cys-dash{padding:40px}\n  .cys-dash h3{font-size:1.4rem}\n  .cys-dash p{font-size:1.05rem}\n  .cys-area{padding:12px;font-size:.82rem}\n  .cys-grid{grid-template-columns:repeat(3,1fr);gap:20px}\n  .cyc{padding:32px}\n  .cyc h4{font-size:1.15rem}\n  .cyc p{font-size:1.05rem;line-height:1.7}\n  .wg{grid-template-columns:1fr 1fr;gap:64px;margin-top:52px}\n  .wl{gap:32px}\n  .wi{gap:18px}\n  .wii{width:48px;height:48px;min-width:48px}\n  .wii svg{width:22px;height:22px}\n  .wi h4{font-size:1.2rem}\n  .wi p{font-size:1.08rem;line-height:1.7}\n  .wv{padding:48px}\n  .wv h3{font-size:1.6rem;margin-bottom:28px}\n  .wvs{gap:20px}\n  .ws{padding:22px}\n  .wsv{font-size:1.8rem}\n  .trs-h{margin-bottom:52px}\n  .trc{grid-template-columns:repeat(4,1fr);gap:24px}\n  .tc{padding:32px 24px}\n  .tci{width:52px;height:52px}.tci svg{width:24px;height:24px}\n  .tc h4{font-size:1.05rem}.tc p{font-size:.92rem}\n  .loc-in{grid-template-columns:1fr 1fr;gap:72px}\n  .loc-li{gap:14px;margin-bottom:36px}\n  .lli{font-size:1.1rem}\n  .lli svg{width:20px;height:20px}\n  .loc-mp{height:440px}\n  .loc-pin{width:72px;height:72px}.loc-pin svg{width:32px;height:32px}\n  .loc-lbl{font-size:1.15rem}\n  .cta-in h2{font-size:clamp(2.1rem,4vw,2.9rem);margin-bottom:18px}\n  .cta-in>p{font-size:1.2rem;margin-bottom:40px}\n  .cta-bt{gap:14px}\n  .cta-ci{gap:44px;margin-top:44px}\n  .cci{font-size:.95rem}\n  .bls{padding:var(--spy) 0}\n  .bl-h{margin-bottom:52px}\n  .bl-g{grid-template-columns:repeat(3,1fr);gap:28px}\n  .bci{height:200px}\n  .bc h3{font-size:1.18rem}.bc p{font-size:1rem;line-height:1.7}\n  .bcb{padding:28px}\n  .bcm{font-size:.85rem}\n  .ft{padding:72px 0 36px}\n  .ft-g{grid-template-columns:2fr 1.4fr 1.4fr 1.4fr 1.2fr;gap:40px;margin-bottom:48px}\n  .ft-br{grid-column:auto}\n  .ft-lo{font-size:1.3rem}\n  .ft h4{font-size:.88rem}\n  .ft-lk a,.ft-acc-body a{font-size:.95rem;min-height:32px}\n  .ft-sm{padding:28px 0}\n  .ft-sm-list{font-size:12px}\n  .ft-bt{padding-top:28px;font-size:.85rem}\n  .ft-bl{gap:24px}\n}\n\n@media (min-width:1440px){:root{--mw:1320px}.hero h1{font-size:3.8rem}.hero-in{gap:88px}}\n@media (hover:none){.vc:hover,.sc:hover,.bc:hover,.cyc:hover{transform:none;box-shadow:none}}\n@media (max-height:500px) and (orientation:landscape){.hero{padding-top:72px;padding-bottom:36px}.mob{overflow-y:auto}}\n@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.nav{border-bottom-width:.5px}.vc,.sc,.cyc,.tc,.bc{border-width:.5px}}\n@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.rv{opacity:1;transform:none}.hero-fl{animation:none}.mob{transition:none}.mob-bd{transition:none}}\n@supports (padding:env(safe-area-inset-bottom)){.nav-in{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.ctn{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.ft{padding-bottom:max(24px,env(safe-area-inset-bottom))}.mob{padding-bottom:env(safe-area-inset-bottom)}}\n@media print{.nav,.mob,.mob-bd,.hero-fl,.cta,.btn{display:none!important}body{color:#000;background:#fff;font-size:12pt}.hero{padding-top:20px;background:none}.rv{opacity:1;transform:none}section{page-break-inside:avoid}}\n\n.ft-top { padding: 0 0 24px 0; margin: 0 0 24px 0; border-bottom: 1px solid rgba(255,255,255,.10); }\n.ft-news { display: flex; flex-direction: column; gap: 10px; max-width: 480px; }\n.ft-news-h { font-size: 16px; font-weight: 700; color: #FFFFFF; margin: 0; letter-spacing: -0.005em; }\n.ft-news-p { font-size: 13px; line-height: 1.5; color: #E5E7EB; margin: 0; }\n.ft-news-form { width: 100%; }\n.ft-news-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; align-items: stretch; width: 100%; }\n.ft-news-row input[type=\"email\"] { grid-column: 1 / -1; min-height: 44px; }\n.ft-news-row input[type=\"text\"] { min-height: 44px; }\n.ft-news-row button[type=\"submit\"] { grid-column: 1 / -1; min-height: 48px; font-weight: 700; letter-spacing: 0.01em; }\n.ft-news-row input[type=\"email\"], .ft-news-row input[type=\"text\"] { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.18); color: #FFFFFF; border-radius: 8px; padding: 10px 12px; font-size: 13px; line-height: 1.4; outline: none; min-width: 0; }\n.ft-news-row input::placeholder { color: rgba(255,255,255,.5); }\n.ft-news-row input:focus { border-color: #D97706; background: rgba(255,255,255,.10); }\n.ft-news-row button[type=\"submit\"] { background: #D97706; color: #FFFFFF; border: 0; border-radius: 8px; font-weight: 700; font-size: 13px; padding: 0 16px; cursor: pointer; white-space: nowrap; min-height: 40px; }\n.ft-news-row button[type=\"submit\"]:hover { background: #F59E0B; }\n.ft-news-fine { font-size: 11px; line-height: 1.5; color: #94A3B8; margin: 0; }\n\n\n/* === BACK TO TOP === */\n.back-to-top { position: fixed; right: clamp(16px, 3vw, 28px); bottom: clamp(16px, 3vw, 28px); width: 48px; height: 48px; border-radius: 50%; border: 0; background: #D97706; color: #FFFFFF; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 6px 18px rgba(15, 23, 42, 0.25), 0 2px 6px rgba(15, 23, 42, 0.15); z-index: 90; transition: background 0.15s ease, transform 0.15s ease; }\n.back-to-top:hover { background: #F59E0B; transform: translateY(-2px); }\n.back-to-top:focus-visible { outline: 2px solid #FFFFFF; outline-offset: 2px; box-shadow: 0 0 0 4px #D97706; }\n.back-to-top svg { display: block; }\n@media (max-width: 480px) { .back-to-top { width: 44px; height: 44px; right: 14px; bottom: 14px; } }\n`;const BP_STYLES=`\n\n/* === BLOG POST DETAIL === */\n.bp-crumb{padding:14px 0;background:var(--white);border-bottom:1px solid var(--g100);font-size:.85rem;color:var(--g500)}\n.bp-crumb ol{list-style:none;display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0;padding:0}\n.bp-crumb a{color:var(--g500)}.bp-crumb a:hover{color:var(--orange)}\n.bp-crumb [aria-current=\"page\"]{color:var(--charcoal);font-weight:600}\n.bp{background:var(--white)}\n.bp-hd{padding:48px 0 24px;background:linear-gradient(180deg,var(--white) 0%,var(--orange-tint) 100%)}\n.bp-hd .badge{margin-bottom:14px}\n.bp-hd h1{font-family:var(--ff-d);font-weight:700;color:var(--charcoal);font-size:2rem;line-height:1.2;letter-spacing:-.01em;margin:0 0 14px;text-wrap:balance}\n.bp-excerpt{font-size:1.1rem;color:var(--g500);line-height:1.7;max-width:760px;margin:0 0 20px}\n.bp-meta{font-family:var(--ff-d);font-size:.92rem;color:var(--g500);display:flex;flex-wrap:wrap;gap:8px;align-items:center}\n.bp-meta time{color:var(--charcoal)}\n.bp-cover{padding:24px 16px}\n.bp-cover-in{aspect-ratio:1200/630;width:100%;border-radius:16px;overflow:hidden;border:1px solid var(--g100);box-shadow:var(--sh-m)}\n.bp-wrap{display:grid;grid-template-columns:1fr;gap:36px;padding:24px 16px 48px}\n.bp-body{font-family:var(--ff-b);color:var(--charcoal);font-size:1.05rem;line-height:1.8}\n.bp-body p{margin:0 0 18px}\n.bp-body .bp-h3{font-family:var(--ff-d);font-size:1.35rem;color:var(--charcoal);margin:32px 0 12px;font-weight:700;letter-spacing:-.005em}\n.bp-body .bp-ul{padding:0;margin:0 0 22px;list-style:none;display:grid;gap:10px}\n.bp-body .bp-ul li{position:relative;padding-left:28px;line-height:1.7}\n.bp-body .bp-ul li::before{content:\"\";position:absolute;left:0;top:9px;width:14px;height:14px;border-radius:50%;background:var(--orange-lt);border:2px solid var(--orange)}\n.bp-cta-mid{margin:32px 0;padding:24px;background:var(--orange-lt);border-radius:var(--rad);border:1px solid rgba(232,121,42,.18);display:flex;flex-direction:column;gap:14px;align-items:flex-start}\n.bp-cta-mid p{margin:0;font-size:1rem;color:var(--charcoal)}\n.bp-cta-mid .btn{width:auto}\n.bp-side{background:var(--g50);border-radius:var(--rad);padding:24px;border:1px solid var(--g100);position:relative;align-self:start}\n.bp-side h2{font-family:var(--ff-d);font-size:1rem;font-weight:700;color:var(--charcoal);margin:0 0 12px;letter-spacing:.04em;text-transform:uppercase}\n.bp-side-l{list-style:none;padding:0;margin:0;display:grid;gap:10px}\n.bp-side-l a{display:inline-flex;align-items:center;color:var(--charcoal);padding:6px 0;font-size:.98rem;font-family:var(--ff-d);font-weight:500}\n.bp-side-l a:hover{color:var(--orange)}\n.bp-final-cta{padding:64px 0;background:var(--charcoal);color:var(--white);text-align:center}\n.bp-final-cta h2{color:var(--white);font-size:1.6rem;margin-bottom:14px}\n.bp-final-cta p{color:rgba(255,255,255,.7);font-size:1.05rem;max-width:560px;margin:0 auto 24px;line-height:1.7}\n.bp-final-cta .cta-bt{display:flex;flex-direction:column;gap:10px;max-width:340px;margin:0 auto}\n.bp-final-cta .btn-w{background:var(--white);color:var(--charcoal)}\n.bp-related{background:var(--g50);padding:48px 0}\n.bp-related h2{font-family:var(--ff-d);font-size:1.5rem;color:var(--charcoal);margin:0 0 24px;text-align:center}\n.bp-related .bl-g{margin:0}\n.blog-cat-h{font-family:var(--ff-d);font-size:1.35rem;color:var(--charcoal);margin:0 0 24px;font-weight:700}\n.blog-feat .blog-feat-label{font-family:var(--ff-d);font-size:.78rem;font-weight:700;color:var(--orange);letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}\n.blog-feat .bl-g-feat{grid-template-columns:1fr;gap:24px}\n.bc{background:var(--white);border-radius:var(--rad);overflow:hidden;border:1px solid var(--g100);transition:var(--tr)}\n.bc:hover{box-shadow:var(--sh-m);transform:translateY(-3px)}\n.bc .bca{display:block;color:inherit}\n.bc-feat{grid-column:1/-1}\n.bc .bci{height:200px;background:var(--g50);overflow:hidden}\n.bc-feat .bci{height:280px}\n.bc h3{font-family:var(--ff-d);font-size:1.1rem;font-weight:700;color:var(--charcoal);margin:0 0 8px;line-height:1.35}\n.bc-feat h3{font-size:1.4rem}\n@media (min-width:768px){\n    .bp-hd{padding:64px 0 32px}\n    .bp-hd h1{font-size:2.6rem}\n    .bp-cover{padding:32px 24px}\n    .bp-cta-mid{flex-direction:row;align-items:center;justify-content:space-between}\n    .bp-cta-mid p{flex:1}\n    .bp-final-cta .cta-bt{flex-direction:row;max-width:none;justify-content:center}\n    .bp-related h2{text-align:left}\n    .bc-feat .bci{height:340px}\n}\n@media (min-width:1024px){\n    .bp-hd{padding:96px 0 48px}\n    .bp-hd h1{font-size:3.2rem}\n    .bp-wrap{grid-template-columns:minmax(0,1fr) 320px;gap:64px;padding:48px 28px 96px}\n    .bp-body{font-size:1.15rem;line-height:1.9}\n    .bp-body .bp-h3{font-size:1.55rem;margin-top:40px}\n    .bp-side{position:sticky;top:96px}\n    .bp-final-cta{padding:96px 0}\n    .bp-final-cta h2{font-size:2.2rem}\n}\n\n`;/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function BlogPostPage(props){const[showBackToTop,setShowBackToTop]=useState(false);useEffect(()=>{const onScroll=()=>setShowBackToTop(window.scrollY>500);window.addEventListener(\"scroll\",onScroll,{passive:true});onScroll();return()=>window.removeEventListener(\"scroll\",onScroll);},[]);const ref=useRef(null);const post=useMemo(()=>BLOG_POSTS.find(p=>p.slug===props.slug),[props.slug]);useEffect(()=>{if(!post||typeof document===\"undefined\")return;const seo=buildSEO(post);document.title=seo.title;setMeta(\"description\",seo.description);setMeta(\"robots\",\"index,follow\");setLink(\"canonical\",seo.canonical);setMeta(\"og:title\",seo.ogTitle,\"property\");setMeta(\"og:description\",seo.ogDescription,\"property\");setMeta(\"og:type\",\"article\",\"property\");setMeta(\"og:url\",seo.ogUrl,\"property\");if(seo.ogImage)setMeta(\"og:image\",seo.ogImage,\"property\");setMeta(\"article:published_time\",post.publishDate,\"property\");setMeta(\"article:modified_time\",post.lastUpdated,\"property\");setMeta(\"article:author\",post.author,\"property\");setMeta(\"article:section\",post.category,\"property\");setMeta(\"twitter:card\",\"summary_large_image\");setMeta(\"twitter:title\",seo.ogTitle);setMeta(\"twitter:description\",seo.ogDescription);if(seo.ogImage)setMeta(\"twitter:image\",seo.ogImage);injectJSONLD(\"blogposting\",{\"@context\":\"https://schema.org\",\"@type\":\"BlogPosting\",headline:post.title,description:post.seoDescription,image:post.coverImage||undefined,datePublished:post.publishDate,dateModified:post.lastUpdated,author:{\"@type\":\"Organization\",name:post.author,url:SITE_ORIGIN},publisher:{\"@type\":\"Organization\",name:\"RANGO Technologies\",logo:{\"@type\":\"ImageObject\",url:LOGO_URL}},mainEntityOfPage:{\"@type\":\"WebPage\",\"@id\":seo.canonical},url:seo.canonical,articleSection:post.category,keywords:post.primaryKeywordIntent,wordCount:post.body.split(/\\s+/).filter(Boolean).length});injectJSONLD(\"breadcrumb\",{\"@context\":\"https://schema.org\",\"@type\":\"BreadcrumbList\",itemListElement:[{\"@type\":\"ListItem\",position:1,name:\"Home\",item:SITE_ORIGIN+\"/\"},{\"@type\":\"ListItem\",position:2,name:\"Blog\",item:SITE_ORIGIN+\"/blog\"},{\"@type\":\"ListItem\",position:3,name:post.category},{\"@type\":\"ListItem\",position:4,name:post.title,item:seo.canonical}]});},[post]);useEffect(()=>{if(!ref.current)return;if(!document.querySelector('link[href*=\"Outfit\"]')){const l=document.createElement(\"link\");l.href=\"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Source+Sans+3:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap\";l.rel=\"stylesheet\";document.head.appendChild(l);}const c=ref.current;const hb=c.querySelector(\".nav-h\");const mob=c.querySelector(\"#mob\");const bd=c.querySelector(\".mob-bd\");const closeBtn=c.querySelector(\".mob-x\");const openDrawer=()=>{mob?.classList.add(\"on\");bd?.classList.add(\"on\");hb?.classList.add(\"on\");hb?.setAttribute(\"aria-expanded\",\"true\");document.body.style.overflow=\"hidden\";};const closeDrawer=()=>{mob?.classList.remove(\"on\");bd?.classList.remove(\"on\");hb?.classList.remove(\"on\");hb?.setAttribute(\"aria-expanded\",\"false\");document.body.style.overflow=\"\";};const toggleDrawer=()=>{if(mob?.classList.contains(\"on\"))closeDrawer();else openDrawer();};hb?.addEventListener(\"click\",toggleDrawer);closeBtn?.addEventListener(\"click\",closeDrawer);bd?.addEventListener(\"click\",closeDrawer);mob?.querySelectorAll(\"a[href]\").forEach(a=>a.addEventListener(\"click\",closeDrawer));const closeAllDd=()=>{c.querySelectorAll(\".dd.open\").forEach(d=>{d.classList.remove(\"open\");d.querySelector(\".dd-trig\")?.setAttribute(\"aria-expanded\",\"false\");});};c.querySelectorAll(\".dd-trig\").forEach(t=>{t.addEventListener(\"click\",e=>{e.stopPropagation();e.preventDefault();const dd=t.parentElement;const wasOpen=dd.classList.contains(\"open\");closeAllDd();if(!wasOpen){dd.classList.add(\"open\");t.setAttribute(\"aria-expanded\",\"true\");}});});const onDocClick=e=>{if(!e.target.closest(\".dd\"))closeAllDd();};document.addEventListener(\"click\",onDocClick);c.querySelectorAll(\".acc-trig\").forEach(t=>{t.addEventListener(\"click\",e=>{e.preventDefault();e.stopPropagation();const acc=t.parentElement;const open=acc.classList.toggle(\"open\");t.setAttribute(\"aria-expanded\",String(open));});});c.querySelectorAll(\".ft-acc-trig\").forEach(t=>{t.addEventListener(\"click\",e=>{e.preventDefault();const acc=t.parentElement;const open=acc.classList.toggle(\"open\");t.setAttribute(\"aria-expanded\",String(open));});});const obs=new IntersectionObserver(entries=>{entries.forEach((en,i)=>{if(en.isIntersecting){setTimeout(()=>en.target.classList.add(\"vis\"),i*80);obs.unobserve(en.target);}});},{threshold:.1,rootMargin:\"0px 0px -40px 0px\"});c.querySelectorAll(\".rv\").forEach(el=>obs.observe(el));const nav=c.querySelector(\".nav\");const onScroll=()=>{if(nav)nav.style.boxShadow=window.scrollY>10?\"0 2px 24px rgba(0,0,0,.06)\":\"none\";};window.addEventListener(\"scroll\",onScroll,{passive:true});return()=>{window.removeEventListener(\"scroll\",onScroll);document.removeEventListener(\"click\",onDocClick);obs.disconnect();document.body.style.overflow=\"\";};},[post]);if(!post){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",minHeight:\"60vh\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",padding:\"40px\",fontFamily:\"Outfit,system-ui,sans-serif\",color:\"#2B2B2B\"},children:/*#__PURE__*/_jsxs(\"div\",{style:{textAlign:\"center\"},children:[/*#__PURE__*/_jsx(\"h1\",{style:{fontSize:\"1.5rem\",marginBottom:12},children:\"Post not found\"}),/*#__PURE__*/_jsxs(\"p\",{style:{color:\"#6B7280\",marginBottom:18},children:['The slug \"',escapeHtml(props.slug||\"\"),'\" does not match a known post.']}),/*#__PURE__*/_jsx(\"a\",{href:\"/blog\",style:{color:\"#D97706\",textDecoration:\"underline\"},children:\"Back to the blog\"})]})});}return /*#__PURE__*/_jsxs(\"div\",{ref:ref,style:{width:\"100%\",minHeight:\"100vh\"},children:[/*#__PURE__*/_jsx(\"style\",{children:STYLES}),/*#__PURE__*/_jsx(\"style\",{children:SHELL_STYLES}),/*#__PURE__*/_jsx(\"style\",{children:BP_STYLES}),/*#__PURE__*/_jsx(\"div\",{dangerouslySetInnerHTML:{__html:buildPostMarkup(post)}}),showBackToTop&&/*#__PURE__*/_jsx(\"button\",{type:\"button\",className:\"back-to-top\",onClick:()=>window.scrollTo({top:0,behavior:\"smooth\"}),\"aria-label\":\"Back to top\",title:\"Back to top\",children:/*#__PURE__*/_jsxs(\"svg\",{width:\"22\",height:\"22\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"line\",{x1:\"12\",y1:\"19\",x2:\"12\",y2:\"5\"}),/*#__PURE__*/_jsx(\"polyline\",{points:\"5 12 12 5 19 12\"})]})})]});}addPropertyControls(BlogPostPage,{slug:{type:ControlType.String,title:\"Slug\",defaultValue:\"how-to-choose-managed-it-provider-miami\",description:\"Must match a slug in BLOG_POSTS exactly.\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"BlogPostPage\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./BlogPostPage.map"],"mappings":"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"}