/* Compiled from assets/scss/style.scss — edit the SCSS source, not this file. */
:root {
  --ink: #0b1220;
  --ink-soft: #1e293b;
  --muted: #667085;
  --muted-light: #98a2b3;
  --surface: #ffffff;
  --surface-soft: #f7f9fc;
  --bg: #f2f6fa;
  --line: #e2e8f0;
  --line-strong: #d0d9e5;
  --primary: #087f6a;
  --primary-dark: #065f50;
  --primary-light: #e4f7f2;
  --blue: #2563eb;
  --blue-light: #eaf1ff;
  --violet: #6d5ce7;
  --warning: #f59e0b;
  --danger: #dc2626;
  --success: #079669;
  --radius-sm: 12px;
  --radius: 18px;
  --radius-lg: 26px;
  --radius-xl: 34px;
  --shadow-xs: 0 1px 2px rgba(11,18,32,.04);
  --shadow-sm: 0 8px 24px rgba(15,23,42,.06);
  --shadow-md: 0 18px 50px rgba(15,23,42,.10);
  --shadow-lg: 0 30px 80px rgba(7,27,47,.14);
  --transition: 180ms cubic-bezier(.2,.8,.2,1);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:94px}
body{margin:0;font-family:Inter,"SF Pro Display","Segoe UI",Roboto,system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--bg);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0;z-index:-2;background:radial-gradient(circle at 8% 5%,rgba(37,99,235,.055),transparent 24rem),radial-gradient(circle at 92% 18%,rgba(8,127,106,.07),transparent 28rem)}
::selection{background:#bdebe0;color:#073c34}
a{color:var(--primary);text-underline-offset:3px}
img{max-width:100%}
.container{width:min(1180px,calc(100% - 40px));max-width:none}

/* Navigation */
.navbar{min-height:78px;padding:.7rem 0;background:rgba(255,255,255,.88)!important;border-color:rgba(208,217,229,.7)!important;backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px);box-shadow:0 1px 0 rgba(15,23,42,.02)}
.navbar-brand{display:flex;align-items:center;gap:.7rem;color:var(--ink)!important;letter-spacing:-.025em;font-size:1.02rem}
.brand-mark{display:inline-grid;flex:0 0 auto;place-items:center;width:39px;height:39px;border-radius:13px;background:linear-gradient(145deg,#0c8f76 0%,#1677c8 100%);color:#fff;font-size:.76rem;font-weight:850;letter-spacing:.04em;box-shadow:0 8px 18px rgba(8,127,106,.24),inset 0 1px 0 rgba(255,255,255,.28)}
.navbar-nav{font-size:.94rem;font-weight:580}
.nav-link{padding:.65rem .8rem!important;color:#475467;border-radius:10px;transition:color var(--transition),background var(--transition)}
.nav-link:hover,.nav-link:focus{color:var(--ink);background:#f1f5f9}
.navbar-toggler{padding:.5rem;border:1px solid var(--line);border-radius:12px;box-shadow:none!important}

/* Buttons */
.btn{min-height:43px;padding:.64rem 1.1rem;border-radius:12px;font-weight:700;letter-spacing:-.01em;border-width:1px;transition:transform var(--transition),box-shadow var(--transition),background var(--transition),border-color var(--transition)}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn-lg{min-height:51px;padding:.82rem 1.35rem;border-radius:14px;font-size:1rem}
.btn-sm{min-height:34px;padding:.38rem .72rem;border-radius:9px;font-size:.82rem}
.btn-success{background:linear-gradient(135deg,#0a8f76,#08705f);border-color:#08705f;color:#fff;box-shadow:0 8px 20px rgba(8,127,106,.18)}
.btn-success:hover,.btn-success:focus{background:linear-gradient(135deg,#087b67,#075d50);border-color:#075d50;color:#fff;box-shadow:0 11px 26px rgba(8,127,106,.25)}
.btn-dark{background:#111827;border-color:#111827;box-shadow:0 7px 16px rgba(17,24,39,.15)}
.btn-outline-dark{border-color:#cbd5e1;background:rgba(255,255,255,.7);color:var(--ink)}
.btn-outline-dark:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.btn-outline-secondary{border-color:#d5dde8;color:#475467;background:#fff}
.rounded-pill{border-radius:999px!important}

/* Typography */
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;color:var(--primary);font-weight:800;letter-spacing:.115em;text-transform:uppercase;font-size:.72rem}
.eyebrow::before{content:"";width:20px;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--primary),#3ba8dc)}
.display-title{max-width:920px;margin:0;font-size:clamp(2.7rem,6.7vw,5.7rem);font-weight:820;line-height:.98;letter-spacing:-.065em;text-wrap:balance;background:linear-gradient(120deg,#081321 18%,#123f52 58%,#087f6a 105%);-webkit-background-clip:text;background-clip:text;color:transparent}
.section-title{font-size:clamp(2rem,4vw,3.25rem);line-height:1.08;letter-spacing:-.047em;text-wrap:balance}
.lead-copy{max-width:750px;color:var(--muted);font-size:clamp(1.04rem,2vw,1.27rem);line-height:1.65}
.text-secondary{color:var(--muted)!important}

/* Hero */
.hero{position:relative;isolation:isolate;overflow:hidden;padding:7.5rem 0 6.3rem;background:linear-gradient(180deg,#fff 0%,#f7fbfb 58%,rgba(242,246,250,.72) 100%)}
.hero::before{content:"";position:absolute;z-index:-1;width:680px;height:680px;right:-210px;top:-280px;border-radius:50%;background:radial-gradient(circle at 35% 65%,rgba(74,222,184,.24),rgba(37,99,235,.11) 48%,transparent 69%);filter:blur(2px)}
.hero::after{content:"";position:absolute;z-index:-1;width:360px;height:360px;left:-210px;bottom:-210px;border-radius:50%;background:rgba(109,92,231,.08);filter:blur(20px)}
.hero .lead-copy{margin-top:1.8rem!important;margin-bottom:2.5rem!important}
.search-panel{position:relative;padding:16px;background:rgba(255,255,255,.92);border:1px solid rgba(208,217,229,.75);border-radius:24px;box-shadow:var(--shadow-lg),inset 0 1px 0 #fff;backdrop-filter:blur(18px)}
.search-panel::before{content:"";position:absolute;inset:-1px;z-index:-1;border-radius:25px;background:linear-gradient(115deg,rgba(8,127,106,.3),transparent 26%,transparent 70%,rgba(37,99,235,.2));opacity:.55}
.search-panel .form-label{margin:0 0 .38rem .2rem;color:#475467;font-size:.75rem;letter-spacing:.01em}
.search-panel .btn{height:52px;margin-top:auto}

/* Forms */
.form-control,.form-select{min-height:50px;padding:.75rem .9rem;background-color:#fff;border:1px solid var(--line);border-radius:12px;color:var(--ink);box-shadow:var(--shadow-xs);transition:border-color var(--transition),box-shadow var(--transition),background var(--transition)}
.form-control::placeholder{color:#98a2b3}
.form-control:hover,.form-select:hover{border-color:var(--line-strong)}
.form-control:focus,.form-select:focus{border-color:rgba(8,127,106,.72);box-shadow:0 0 0 4px rgba(8,127,106,.11);background:#fff}
textarea.form-control{min-height:110px;resize:vertical}
.form-label{margin-bottom:.45rem;color:#344054;font-size:.87rem;font-weight:700}
.form-check-input:checked{background-color:var(--primary);border-color:var(--primary)}

/* Layout and sections */
.section{padding:6rem 0}
.section.bg-white{position:relative;background:rgba(255,255,255,.8)!important;border-top:1px solid rgba(226,232,240,.75);border-bottom:1px solid rgba(226,232,240,.75)}
.soft-card{background:rgba(255,255,255,.92);border:1px solid rgba(218,226,236,.9);border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow-sm)}
.soft-card h1,.soft-card h2,.soft-card h3{letter-spacing:-.03em}
.alert{border:0;border-radius:14px;box-shadow:var(--shadow-sm)}
.breadcrumb{padding:.6rem .85rem;width:max-content;max-width:100%;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.8)}
.breadcrumb a{text-decoration:none}

/* Franchise cards */
.franchise-card{position:relative;overflow:hidden;background:#fff;border:1px solid rgba(219,227,237,.9)!important;border-radius:24px;box-shadow:var(--shadow-sm);transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition)}
.franchise-card:hover{transform:translateY(-7px);border-color:rgba(8,127,106,.24)!important;box-shadow:0 24px 55px rgba(15,23,42,.12)}
.card-img-wrap{position:relative;display:grid;place-items:center;height:184px;padding:25px;background:linear-gradient(145deg,#fff 0%,#f6fafb 100%);border-bottom:1px solid #edf1f5}
.card-img-wrap::after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;background:rgba(8,127,106,.045);filter:blur(1px)}
.card-img-wrap img{position:relative;z-index:1;width:72%;height:72%;object-fit:contain;filter:drop-shadow(0 7px 14px rgba(15,23,42,.08))}
.card-img-wrap .badge{position:absolute;z-index:2;left:16px;top:16px;padding:.48rem .7rem;border-radius:999px;font-size:.68rem;letter-spacing:.04em;text-transform:uppercase}
.franchise-card .card-body{padding:23px}
.franchise-card .h5{font-size:1.18rem;letter-spacing:-.026em}
.franchise-card .small.text-success{color:var(--primary)!important;font-size:.72rem;text-transform:uppercase;letter-spacing:.075em}
.logo-placeholder{position:relative;z-index:1;display:grid;place-items:center;width:90px;height:90px;border:1px solid #cfeee6;border-radius:28px;background:linear-gradient(145deg,#ecfbf7,#dff5ef);color:var(--primary);font-size:1.55rem;font-weight:850;box-shadow:inset 0 1px 0 #fff}
.clamp-2{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;min-height:3.2em}
.arrow{color:var(--primary);font-size:1.6rem}
.category-pill{position:relative;display:block;height:100%;padding:20px 21px;background:rgba(255,255,255,.86);border:1px solid var(--line);border-radius:16px;color:var(--ink);text-decoration:none;font-weight:720;box-shadow:var(--shadow-xs);transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition),color var(--transition)}
.category-pill:hover{transform:translateY(-3px);color:var(--primary);border-color:rgba(8,127,106,.32);box-shadow:var(--shadow-sm)}

/* CTAs and details */
.cta-box{position:relative;isolation:isolate;overflow:hidden;padding:clamp(2.4rem,6vw,5rem);border-radius:32px;background:linear-gradient(135deg,#081e2d 0%,#0b463f 58%,#0a7565 120%);color:#fff;box-shadow:0 28px 70px rgba(4,35,43,.24)}
.cta-box::before{content:"";position:absolute;z-index:-1;right:-8%;top:-85%;width:480px;height:480px;border:1px solid rgba(255,255,255,.13);border-radius:50%;box-shadow:0 0 0 55px rgba(255,255,255,.025),0 0 0 110px rgba(255,255,255,.02)}
.cta-box .eyebrow::before{background:#7ee2c9}
.detail-logo{width:180px;height:140px;padding:20px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:25px;box-shadow:var(--shadow-md)}
.metric{height:100%;padding:20px;background:linear-gradient(145deg,#fff,#f9fbfd);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-xs)}
.metric small{display:block;margin-bottom:3px;color:var(--muted);font-size:.76rem}
.metric strong{font-size:1rem;letter-spacing:-.02em}
.sticky-lead{position:sticky;top:100px;border-top:4px solid var(--primary);box-shadow:var(--shadow-md)}
.gallery-img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:20px;box-shadow:var(--shadow-sm)}

/* Empty states and footer */
.empty-state{position:relative;overflow:hidden;padding:5rem 2rem;text-align:center;background:rgba(255,255,255,.78);border:1px dashed #bdc9d8;border-radius:25px}
.empty-state::before{content:"";display:block;width:54px;height:54px;margin:0 auto 1.2rem;border-radius:18px;background:linear-gradient(145deg,var(--primary-light),var(--blue-light));box-shadow:inset 0 0 0 1px rgba(8,127,106,.1)}
.site-footer{margin-top:0!important;background:#07131f;border-top:0;color:#d6deea}
.site-footer .container{padding-top:5rem!important;padding-bottom:2.5rem!important}
.site-footer h2{color:#fff}
.site-footer a{display:block;margin:.58rem 0;color:#99a7b9;text-decoration:none;transition:color var(--transition),transform var(--transition)}
.site-footer a:hover{color:#fff;transform:translateX(2px)}
.site-footer .text-secondary{color:#91a0b2!important}
.site-footer hr{margin:3rem 0 1.5rem;border-color:rgba(255,255,255,.1);opacity:1}

/* Dashboard app shell */
.dashboard-shell{min-height:calc(100vh - 78px)}
.dashboard-shell>main{background:linear-gradient(145deg,#f4f7fa,#eef3f8)}
.sidebar{position:relative;padding:28px 18px;min-height:calc(100vh - 78px);background:linear-gradient(180deg,#0a1724 0%,#101f30 100%);color:#fff;border-right:1px solid rgba(255,255,255,.05)}
.sidebar::after{content:"";position:absolute;left:0;right:0;bottom:0;height:220px;background:radial-gradient(circle at 20% 100%,rgba(8,127,106,.2),transparent 65%);pointer-events:none}
.sidebar a{position:relative;z-index:1;display:flex;align-items:center;margin:3px 0;padding:11px 13px;border:1px solid transparent;border-radius:11px;color:#aebdcd;text-decoration:none;font-size:.9rem;font-weight:620;transition:all var(--transition)}
.sidebar a:hover{background:rgba(255,255,255,.06);color:#fff}
.sidebar a.active{background:linear-gradient(135deg,rgba(22,163,135,.25),rgba(37,99,235,.15));border-color:rgba(109,222,194,.16);color:#fff;box-shadow:inset 3px 0 0 #32c8a5}
.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1.2rem;margin-bottom:2.2rem}
.page-head h1{letter-spacing:-.04em}
.stat{position:relative;overflow:hidden;min-height:118px;padding:22px;background:#fff;border:1px solid rgba(218,226,236,.95);border-radius:19px;box-shadow:var(--shadow-sm)}
.stat::after{content:"";position:absolute;right:-18px;top:-22px;width:75px;height:75px;border-radius:50%;background:linear-gradient(145deg,rgba(8,127,106,.12),rgba(37,99,235,.07))}
.stat small{font-size:.76rem;font-weight:650;text-transform:uppercase;letter-spacing:.045em}
.stat strong{margin-top:.25rem;font-size:1.85rem;line-height:1.1;letter-spacing:-.045em}
.topbar-balance{padding:.48rem .85rem;background:var(--primary-light);border:1px solid #c9eee4;border-radius:999px;color:var(--primary-dark);font-size:.82rem;font-weight:800}
.admin-table{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-sm)}
.admin-table .table{--bs-table-bg:transparent}
.admin-table th{padding:14px 16px;background:#f8fafc;color:#667085;font-size:.69rem;font-weight:800;letter-spacing:.065em;text-transform:uppercase;border-bottom-color:var(--line)}
.admin-table td{padding:15px 16px;border-bottom-color:#eef2f6}
.admin-table tr:last-child td{border-bottom:0}
.badge{border-radius:999px;padding:.42rem .62rem;font-weight:750}
.compare-bar{position:fixed;z-index:1050;left:50%;bottom:18px;display:flex;align-items:center;gap:12px;padding:10px 14px;white-space:nowrap;background:#101c2a;color:#fff;border:1px solid rgba(255,255,255,.11);border-radius:999px;box-shadow:0 18px 45px rgba(0,0,0,.28);transform:translateX(-50%);backdrop-filter:blur(12px)}
.mobile-cta{display:none}

@media (max-width:991.98px){
  .container{width:min(100% - 30px,1180px)}
  .navbar-collapse{margin-top:.7rem;padding:1rem;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-md)}
  .navbar-nav{align-items:stretch!important}
  .navbar-nav .btn{width:100%;margin-top:.3rem}
  .hero{padding:5.5rem 0 4.7rem}
  .search-panel{padding:20px}
  .section{padding:4.8rem 0}
  .sidebar{min-height:auto;padding:14px;display:flex;gap:5px;overflow-x:auto}
  .sidebar>div{display:none}
  .sidebar a{flex:0 0 auto;margin:0;white-space:nowrap}
  .dashboard-shell>main{min-height:calc(100vh - 145px)}
}

@media (max-width:767.98px){
  body{font-size:15px}
  .container{width:calc(100% - 24px)}
  .navbar{min-height:68px}
  .navbar-brand{font-size:.9rem}
  .brand-mark{width:35px;height:35px;border-radius:11px}
  .hero{padding:4.2rem 0 3.6rem}
  .display-title{font-size:clamp(2.55rem,13vw,4.2rem);line-height:1.01}
  .hero .lead-copy{margin:1.4rem 0 1.9rem!important}
  .search-panel{padding:14px;border-radius:20px}
  .search-panel::before{border-radius:21px}
  .search-panel .row{--bs-gutter-y:.75rem}
  .section{padding:4rem 0}
  .section-title{font-size:2.15rem}
  .soft-card{padding:20px;border-radius:20px}
  .franchise-card{border-radius:20px}
  .card-img-wrap{height:160px}
  .category-pill{padding:17px}
  .cta-box{padding:2.2rem 1.4rem;border-radius:24px;text-align:center}
  .cta-box .eyebrow{justify-content:center}
  .detail-logo{width:130px;height:105px;border-radius:19px}
  .sticky-lead{position:static}
  .gallery-img{border-radius:15px}
  .page-head{align-items:flex-start;flex-direction:column;margin-bottom:1.5rem}
  .page-head>.btn,.page-head>form{width:100%}
  .stat{min-height:103px;padding:17px}
  .stat strong{font-size:1.5rem}
  .admin-table{border-radius:16px}
  .dashboard-shell>main{padding:24px 14px!important}
  .mobile-cta{position:fixed;z-index:1040;right:0;bottom:0;left:0;display:block;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.94);border-top:1px solid var(--line);box-shadow:0 -10px 30px rgba(15,23,42,.1);backdrop-filter:blur(16px)}
  .compare-bar{bottom:80px;width:calc(100% - 24px);justify-content:center;gap:7px;font-size:.8rem}
  .site-footer{padding-bottom:75px}
}

@media (max-width:420px){
  .navbar-brand{max-width:235px;white-space:normal;line-height:1.15}
  .display-title{font-size:2.7rem}
  .lead-copy{font-size:1rem}
  .section-title{font-size:1.95rem}
  .compare-bar span{display:none}
  .metric{padding:15px}
  .metric strong{font-size:.9rem}
}

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

