.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#6b21a8,#5a1c9c,#4c1885);padding:20px}.login-card,.signup-card{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:400px;padding:40px}.signup-card{max-width:500px}.login-header{text-align:center;margin-bottom:30px}.login-header h1{font-size:32px;color:#6b21a8;margin:0 0 10px;font-weight:700}.login-header p{color:#666;margin:0;font-size:16px}.login-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:600;color:#333;font-size:14px}.form-group input{padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;transition:border-color .2s;font-family:inherit}.form-group input:focus{outline:none;border-color:#6b21a8;box-shadow:0 0 0 3px #6b21a81a}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.form-group select{padding:12px 36px 12px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;transition:border-color .2s;font-family:inherit;background-color:#fff;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b21a8' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.form-group select:focus{outline:none;border-color:#6b21a8;box-shadow:0 0 0 3px #6b21a81a}.form-group select:disabled{background-color:#f5f5f5;cursor:not-allowed}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-row .form-group{min-width:0}.form-row input,.form-row select{width:100%}.error-message{background-color:#fee2e2;color:#991b1b;padding:12px 16px;border-radius:8px;font-size:14px;border-left:4px solid #dc2626}.success-message{background-color:#dcfce7;color:#166534;padding:12px 16px;border-radius:8px;font-size:14px;border-left:4px solid #16a34a}.login-button{padding:12px 24px;background:linear-gradient(135deg,#6b21a8,#5a1c9c);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s;margin-top:10px}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 25px #6b21a84d}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-footer{margin-top:30px;padding-top:20px;border-top:1px solid #e5e7eb;text-align:center;font-size:13px;color:#666}.login-footer p{margin:0 0 8px;font-weight:600;color:#333}.login-footer small{display:block;color:#999;font-family:monospace}@media (max-width: 620px){.login-card,.signup-card{padding:30px 20px}.signup-card{max-width:100%}.login-header h1{font-size:28px}.form-group input,.form-group select{padding:12px;font-size:16px}.form-row{grid-template-columns:1fr}}.admin-dashboard{min-height:100vh;background:#f8f9fa;padding:32px 20px}.dashboard-header{text-align:center;margin-bottom:40px}.dashboard-header h1{font-size:2.5rem;color:#0f0a2a;margin:0 0 8px;font-weight:800}.dashboard-header p{color:#5d5977;margin:0;font-size:1.1rem}.dashboard-tabs{display:flex;gap:8px;margin-bottom:24px;border-bottom:2px solid #e7e2f7}.tab-button{padding:12px 20px;background:transparent;border:none;border-bottom:3px solid transparent;color:#5d5977;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s;position:relative;bottom:-2px;white-space:nowrap}.tab-button:hover{color:#0f0a2a}.tab-button.active{color:#6232ea;border-bottom-color:#6232ea}.tab-count{display:inline-block;background:#f0eafe;color:#6232ea;border-radius:999px;padding:2px 8px;font-size:.8rem;margin-left:6px;font-weight:700}.tab-button.active .tab-count{background:#6232ea;color:#fff}.dashboard-container{max-width:1200px;margin:0 auto;background:#fff;border-radius:12px;padding:32px;box-shadow:0 1px 3px #0000000d}.error-banner{background-color:#fee2e2;color:#991b1b;padding:16px;border-radius:8px;border-left:4px solid #dc2626;margin-bottom:24px}.success-banner{background-color:#dcfce7;color:#166534;padding:16px;border-radius:8px;border-left:4px solid #16a34a;margin-bottom:24px}.filters-section{display:flex;align-items:center;gap:16px;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid #e7e2f7}.filters-section label{font-weight:600;color:#0f0a2a;white-space:nowrap}.state-select{padding:10px 14px;border:2px solid #e7e2f7;border-radius:8px;font-size:.95rem;font-family:inherit;background-color:#fff;cursor:pointer;min-width:200px;transition:border-color .2s}.state-select:focus{outline:none;border-color:#6232ea;box-shadow:0 0 0 3px #6232ea1a}.result-count{margin-left:auto;color:#5d5977;font-weight:600;white-space:nowrap}.franchises-table-wrapper{overflow-x:auto}.franchises-table{width:100%;border-collapse:collapse;font-size:.95rem}.franchises-table thead{background:#f7f5ff;border-bottom:2px solid #e7e2f7}.franchises-table th{padding:14px 16px;text-align:left;font-weight:700;color:#0f0a2a;letter-spacing:-.01em}.franchises-table td{padding:14px 16px;border-bottom:1px solid #e7e2f7;color:#17132e}.franchises-table tbody tr:hover{background:#f9f8ff}.franchise-name{font-weight:600;color:#6232ea}.location{font-size:.9rem}.location .state{color:#5d5977;font-size:.85rem}.email{font-size:.9rem;color:#5d5977;word-break:break-all}.status-badge{display:inline-block;padding:6px 12px;border-radius:6px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.status-pending{background:#fef3c7;color:#92400e}.status-approved{background:#dcfce7;color:#166534}.status-rejected{background:#fee2e2;color:#991b1b}.status-suspended{background:#f3f4f6;color:#374151}.btn-approve{padding:8px 16px;background:linear-gradient(135deg,#6232ea,#8f5bff);color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-approve:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #6232ea4d}.btn-approve:disabled{opacity:.6;cursor:not-allowed}.action-status{color:#5d5977;font-weight:500}.empty-state{text-align:center;padding:60px 20px;color:#5d5977}.empty-state p{font-size:1.1rem;margin:0}.loading{text-align:center;padding:60px 20px;color:#5d5977;font-size:1.1rem}@media (max-width: 768px){.dashboard-header h1{font-size:1.8rem}.dashboard-container{padding:20px}.filters-section{flex-direction:column;align-items:stretch}.state-select{min-width:unset}.result-count{margin-left:0}.franchises-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.franchises-table th,.franchises-table td{padding:10px 8px;font-size:.85rem}.franchise-name{font-size:.9rem}.btn-approve{padding:6px 12px;font-size:.8rem}}@media (max-width: 480px){.admin-dashboard{padding:16px 10px}.dashboard-header h1{font-size:1.5rem}.dashboard-container{padding:16px}.franchises-table{font-size:.8rem}.franchises-table th,.franchises-table td{padding:8px 6px}.status-badge{padding:4px 8px;font-size:.75rem}}:root{--primary: #6232ea;--primary-strong: #4a1fc7;--primary-soft: #f0eafe;--pink: #ff5fa2;--accent: #ffb703;--ink: #0f0a2a;--text: #17132e;--muted: #5d5977;--bg: #ffffff;--bg-soft: #f7f5ff;--border: #e7e2f7;--radius: 20px;--radius-sm: 12px;--shadow: 0 1px 2px rgba(30, 15, 90, .05), 0 18px 40px -22px rgba(60, 30, 160, .35);--shadow-lg: 0 30px 60px -28px rgba(60, 30, 160, .5);--gradient: linear-gradient(135deg, #6232ea 0%, #8f5bff 50%, #ff5fa2 120%);--font: "Plus Jakarta Sans", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--primary: #9a78ff;--primary-strong: #b79cff;--primary-soft: #251c45;--text: #f3f0ff;--muted: #b6b1cf;--bg: #0e0b1a;--bg-soft: #151126;--border: #2a2444;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 18px 40px -22px rgba(0, 0, 0, .8);--shadow-lg: 0 30px 60px -28px rgba(0, 0, 0, .9)}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font);color:var(--text);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}img,svg{max-width:100%}h1,h2,h3{line-height:1.12;margin:0 0 14px;letter-spacing:-.025em;overflow-wrap:break-word}h1{font-size:clamp(2.2rem,6vw,4.2rem);font-weight:800}h2{font-size:clamp(1.65rem,3.8vw,2.7rem);font-weight:800}h3{font-size:1.2rem;font-weight:700;letter-spacing:-.015em}p{margin:0 0 12px}a{color:var(--primary)}blockquote,figure{margin:0}::selection{background:var(--primary);color:#fff}.container{width:100%;max-width:1180px;margin:0 auto;padding:0 24px}.section{padding:104px 0}.section.alt{background:var(--bg-soft)}.section-head{text-align:center;max-width:680px;margin:0 auto 56px}.section-head p{margin:0;font-size:1.1rem}.muted{color:var(--muted)}.center{text-align:center}.prose{max-width:720px}.prose h2{margin-top:36px}.kicker{display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--primary);background:var(--primary-soft);padding:6px 14px;border-radius:999px;margin-bottom:16px}.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;background:#ffffff1a;border:1px solid rgba(255,255,255,.18);color:#fff;font-size:.9rem;font-weight:600;margin-bottom:24px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.eyebrow:before{content:"";flex-shrink:0;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px #ffb70340}.badge{display:inline-block;padding:5px 12px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:.82rem;font-weight:700}.gradient-text{background:linear-gradient(90deg,#ffd166,#ff8fb1 55%,#c4a3ff);-webkit-background-clip:text;background-clip:text;color:transparent}.site-header{position:sticky;top:0;z-index:30;padding:12px 0;background:transparent;pointer-events:none}.header-inner{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;min-height:64px;padding:0 10px 0 24px;background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);border:1px solid var(--border);border-radius:999px;box-shadow:var(--shadow)}.logo{font-weight:800;font-size:1.25rem;color:var(--text);text-decoration:none;letter-spacing:-.03em;white-space:nowrap;display:flex;align-items:center;gap:12px}.logo img,.logo-image{height:56px;width:auto;display:block}.logo:before{content:"";display:none}.site-nav{display:flex;gap:2px}.site-nav a{color:var(--muted);text-decoration:none;font-weight:600;font-size:.92rem;padding:9px 14px;border-radius:999px;white-space:nowrap;transition:background .2s ease,color .2s ease}.site-nav a:hover{color:var(--text);background:var(--primary-soft)}.site-nav a.active{background:var(--ink);color:#fff}.login-dropdown{position:relative;margin-left:8px}.login-link{background:var(--primary);color:#fff;padding:9px 14px;border:none;border-radius:999px;font-weight:600;font-size:.92rem;cursor:pointer;white-space:nowrap;transition:background .2s ease}.login-link:hover{background:var(--primary-strong)}.login-link.logout-btn{background:#ef4444}.login-link.logout-btn:hover{background:#dc2626}.login-menu{position:absolute;top:100%;right:0;background:var(--bg);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);min-width:180px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .2s ease,visibility .2s ease,transform .2s ease;z-index:100;overflow:hidden;margin-top:8px}.login-menu.open{opacity:1;visibility:visible;transform:translateY(0)}.login-option{display:block;padding:12px 16px;color:var(--text);text-decoration:none;font-weight:600;font-size:.92rem;transition:background .2s ease,color .2s ease;border:none}.login-option:hover{background:var(--primary-soft);color:var(--primary)}.login-option:first-child{border-top:none}.login-option+.login-option{border-top:1px solid var(--border)}.nav-toggle{display:none;background:var(--primary-soft);border:none;border-radius:50%;font-size:1.2rem;color:var(--primary);cursor:pointer;width:46px;height:46px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:#1a1204;padding:15px 28px;border:none;border-radius:999px;font:inherit;font-weight:700;font-size:.98rem;text-decoration:none;cursor:pointer;box-shadow:0 12px 26px -12px #ffb703f2,inset 0 1px #ffffff80;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 18px 30px -12px #ffb703f2,inset 0 1px #ffffff80}.btn:active{transform:translateY(0)}.btn:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.btn-outline{background:#ffffff14;color:#fff;box-shadow:none;border:1px solid rgba(255,255,255,.35);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.btn-outline:hover{background:#ffffff2e;box-shadow:none}.btn-link{background:none;box-shadow:none;color:var(--primary);padding:0;font-weight:700}.btn-link:hover{transform:none;box-shadow:none;text-decoration:underline}.hero{position:relative;overflow:hidden;margin-top:-88px;padding:190px 0 150px;color:#fff;background:radial-gradient(60% 70% at 85% 15%,rgba(255,95,162,.45),transparent 60%),radial-gradient(55% 60% at 10% 90%,rgba(98,50,234,.65),transparent 60%),linear-gradient(160deg,#0f0a2a,#1d1052 55%,#35157f)}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(255,255,255,.16) 1px,transparent 1px);background-size:28px 28px;mask-image:radial-gradient(70% 70% at 50% 40%,#000,transparent);-webkit-mask-image:radial-gradient(70% 70% at 50% 40%,#000,transparent);pointer-events:none}.hero-grid{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}.hero-inner{position:relative;z-index:1;min-width:0}.hero h1{color:#fff;margin-bottom:22px}.hero p{font-size:1.2rem;max-width:540px;margin:0 0 34px;color:#ffffffd1}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.hero-art{position:relative;display:flex;justify-content:center;min-width:0}.hero-art:before{content:"";position:absolute;top:8%;right:4%;bottom:8%;left:4%;background:var(--gradient);filter:blur(70px);opacity:.55;border-radius:50%}.abacus-art{position:relative;width:100%;max-width:440px;height:auto;filter:drop-shadow(0 30px 50px rgba(8,3,40,.55));animation:float 6s ease-in-out infinite}.abacus-rod{animation:bead-bob 3.4s ease-in-out infinite}.stats{position:relative;z-index:2;margin-top:-76px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:20px 8px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:28px;box-shadow:var(--shadow-lg);padding:32px 20px}.stat{text-align:center;display:flex;flex-direction:column;gap:2px}.stat strong{font-size:clamp(1.7rem,3.4vw,2.4rem);font-weight:800;letter-spacing:-.03em;background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.stat span{color:var(--muted);font-size:.92rem;font-weight:500}.page-header{position:relative;overflow:hidden;margin-top:-88px;padding:170px 0 84px;text-align:center;color:#fff;background:radial-gradient(50% 80% at 90% 0%,rgba(255,95,162,.4),transparent 60%),linear-gradient(160deg,#0f0a2a,#1d1052 60%,#35157f)}.page-header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(255,255,255,.14) 1px,transparent 1px);background-size:26px 26px;mask-image:radial-gradient(60% 90% at 50% 20%,#000,transparent);-webkit-mask-image:radial-gradient(60% 90% at 50% 20%,#000,transparent)}.page-header .container{position:relative}.page-header h1{color:#fff;font-size:clamp(2rem,5vw,3.4rem);margin-bottom:12px}.page-header p{margin:0 auto;max-width:600px;color:#fffc;font-size:1.12rem}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:24px}.cards.four{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}.cards.three{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}.cards.two{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr))}.card{position:relative;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:flex-start;min-width:0;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}.card .btn-link{margin-top:auto}.bento{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.feature h3{margin-bottom:8px}.feature p{margin:0}.feature-icon{display:grid;place-items:center;width:54px;height:54px;margin-bottom:22px;border-radius:16px;background:var(--gradient);color:#fff;box-shadow:0 14px 24px -14px var(--primary)}.icon{width:26px;height:26px}.card.quote{gap:20px;padding:36px}.quote-mark{font-size:4.5rem;line-height:.6;font-weight:800;background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.card.quote blockquote{font-size:1.1rem;color:var(--text);font-weight:500}.card.quote figcaption{color:var(--muted);font-weight:700;margin-top:auto}.checklist{list-style:none;padding:0;margin:4px 0 24px;width:100%}.checklist li{padding:9px 0 9px 32px;position:relative;border-bottom:1px solid var(--border)}.checklist li:last-child{border-bottom:none}.checklist li:before{content:"✓";position:absolute;left:0;top:11px;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-size:.7rem;font-weight:800}.steps{margin-bottom:8px}.step-number{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:var(--gradient);color:#fff;font-weight:800;font-size:1.1rem;margin-bottom:18px;box-shadow:0 14px 24px -14px var(--primary)}.split{display:grid;grid-template-columns:1fr;gap:32px}.split>*{min-width:0}.cta{position:relative;overflow:hidden;padding:80px 24px;border-radius:36px;text-align:center;color:#fff;background:radial-gradient(60% 90% at 100% 0%,rgba(255,95,162,.55),transparent 60%),linear-gradient(135deg,#1d1052,#4a1fc7);box-shadow:var(--shadow-lg)}.cta:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(255,255,255,.14) 1px,transparent 1px);background-size:26px 26px;mask-image:radial-gradient(60% 80% at 50% 0%,#000,transparent);-webkit-mask-image:radial-gradient(60% 80% at 50% 0%,#000,transparent)}.cta-inner{position:relative;max-width:620px;margin:0 auto}.cta h2{color:#fff}.cta p{color:#ffffffd1;font-size:1.12rem;margin-bottom:30px}.level-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(290px,100%),1fr));gap:24px}.level{align-items:stretch}.level-head{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;margin-bottom:18px;flex-wrap:wrap}.level-number{font-weight:800;font-size:1.25rem;letter-spacing:-.02em;background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.topic-list{margin:0;padding-left:22px;color:var(--muted)}.topic-list li{padding:8px 0;border-bottom:1px solid var(--border)}.topic-list li:last-child{border-bottom:none}.topic-list li::marker{color:var(--primary);font-weight:700}.faq-wrap{max-width:840px}.faq-toolbar{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;margin-bottom:32px}.tabs{display:flex;gap:4px;background:var(--bg-soft);padding:5px;border-radius:999px;border:1px solid var(--border)}.tab{background:none;border:none;padding:11px 20px;border-radius:999px;font:inherit;font-weight:700;font-size:.92rem;color:var(--muted);cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease}.tab:hover{color:var(--primary)}.tab.active{background:var(--ink);color:#fff;box-shadow:0 8px 18px -10px var(--ink)}.faq-search{flex:1 1 220px;max-width:320px;padding:13px 18px;border:1px solid var(--border);border-radius:999px;font:inherit;color:var(--text);background:var(--bg);transition:border-color .2s ease,box-shadow .2s ease}.faq-search:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft)}.faq-list{display:flex;flex-direction:column;gap:14px}.faq-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);overflow:hidden;transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease;animation:faq-in .45s ease both}.faq-item:hover{transform:translateY(-2px)}.faq-item.open{border-color:var(--primary);box-shadow:var(--shadow)}.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 26px;background:none;border:none;font:inherit;font-weight:700;font-size:1.05rem;color:var(--text);text-align:left;cursor:pointer}.faq-icon{flex-shrink:0;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-size:1.25rem;font-weight:600;transition:transform .3s ease,background .25s ease,color .25s ease}.faq-item.open .faq-icon{transform:rotate(135deg);background:var(--primary);color:#fff}.faq-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease}.faq-item.open .faq-panel{grid-template-rows:1fr}.faq-panel-inner{overflow:hidden}.faq-answer{padding:0 26px 24px;color:var(--muted);margin:0;opacity:0;transform:translateY(-4px);transition:opacity .3s ease,transform .3s ease}.faq-item.open .faq-answer{opacity:1;transform:none}.faq-empty{text-align:center;padding:24px 0}.faq-cta{margin-top:48px;text-align:center;padding:40px 32px;border-radius:var(--radius);background:var(--primary-soft)}.faq-cta p{font-weight:800;color:var(--primary);font-size:1.2rem}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:20px}.gallery-item{aspect-ratio:4 / 3;display:flex;align-items:center;justify-content:center;background:radial-gradient(70% 90% at 100% 0%,rgba(255,95,162,.22),transparent 60%),var(--primary-soft);border:1px solid var(--border);border-radius:var(--radius);color:var(--primary);font-weight:700;transition:transform .3s ease,box-shadow .3s ease}.gallery-item:hover{transform:scale(1.03) rotate(-.5deg);box-shadow:var(--shadow-lg)}.two-col{display:grid;grid-template-columns:1fr;gap:40px}.two-col>*{min-width:0}.form{display:flex;flex-direction:column;gap:14px;max-width:580px}.form input,.form textarea{width:100%;padding:15px 18px;border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;font-size:1rem;color:var(--text);background:var(--bg);transition:border-color .2s ease,box-shadow .2s ease}.form input:focus,.form textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft)}.form .btn{align-self:flex-start}.form-status{color:var(--primary);font-weight:700;margin:0;min-height:1.5em}.form-wrapper{max-width:580px}.contact-details{color:var(--muted);padding:32px;border-radius:var(--radius);background:var(--bg-soft);border:1px solid var(--border);align-self:start}.contact-details h3{color:var(--text)}.sub-nav{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin:-30px auto 0;position:relative;z-index:2;width:fit-content;max-width:100%;padding:6px;border-radius:999px;background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--border);box-shadow:var(--shadow-lg)}.sub-nav a{padding:12px 22px;border-radius:999px;color:var(--muted);text-decoration:none;font-weight:700;font-size:.92rem;transition:background .2s ease,color .2s ease}.sub-nav a:hover{color:var(--text);background:var(--primary-soft)}.sub-nav a.active{background:var(--ink);color:#fff}.franchise-info>*+*{margin-top:64px}.definition-list{margin:0;display:flex;flex-direction:column;gap:12px}.definition-list dt{font-weight:700}.definition-list dd{margin:2px 0 0}.investment{padding:40px;border-radius:var(--radius);background:var(--primary-soft);text-align:center;border:1px solid var(--border)}.investment h3{color:var(--primary)}.investment p{margin-bottom:8px}.investment-range{font-weight:800;color:var(--text);font-size:1.15rem}.filters{display:grid;grid-template-columns:1fr;gap:16px;margin:28px 0 16px;max-width:640px}.field{display:flex;flex-direction:column;gap:8px;font-weight:700;font-size:.9rem}.field select{width:100%;padding:14px 44px 14px 18px;border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;font-weight:500;font-size:1rem;color:var(--text);background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%236232ea' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 18px center;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.field select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft)}.result-count{color:var(--muted);font-weight:600;margin-bottom:20px}.partner-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:20px}.partner-card{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:24px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);box-shadow:var(--shadow);transition:transform .3s ease,box-shadow .3s ease}.partner-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.partner-address{margin:0;color:var(--text)}.partner-phone{margin-top:auto;font-weight:700;text-decoration:none}.partner-phone:hover{text-decoration:underline}.partners-banner{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:48px;border-radius:32px;background:var(--primary-soft);border:1px solid var(--border)}.partners-banner h2{margin-bottom:8px}.partners-banner p{margin:0}.table{width:100%;border-collapse:separate;border-spacing:0;background:var(--bg);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--border)}.table th,.table td{text-align:left;padding:16px 20px;border-bottom:1px solid var(--border)}.table tr:last-child td{border-bottom:none}.table th{background:var(--bg-soft);color:var(--primary);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em}.site-footer{padding:72px 0 28px;color:#ffffffb8;background:linear-gradient(180deg,#120b33,#0b0720)}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}.footer-brand{color:#fff;font-weight:800;font-size:1.4rem;letter-spacing:-.03em;margin-bottom:10px}.footer-heading{color:#fff;font-weight:700;margin-bottom:14px}.footer-text{margin-bottom:8px}.site-footer nav{display:flex;flex-direction:column}.site-footer nav a{color:#ffffffb8;text-decoration:none;padding:4px 0;transition:color .2s ease,transform .2s ease}.site-footer nav a:hover{color:#fff;transform:translate(3px)}.footer-bottom{margin-top:48px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);font-size:.92rem}.footer-bottom p{margin:0}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes bead-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes faq-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes fade-up{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes nav-slide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.hero-inner>*,.page-header .container>*{animation:fade-up .75s ease both}.hero-inner>*:nth-child(2){animation-delay:.1s}.hero-inner>*:nth-child(3){animation-delay:.2s}.hero-inner>*:nth-child(4){animation-delay:.3s}.reveal{opacity:0;transform:translateY(32px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:none}.card.reveal.is-visible:hover{transform:translateY(-6px)}@media (min-width: 800px){.filters{grid-template-columns:1fr 1fr}.two-col{grid-template-columns:1.1fr .9fr;gap:56px}.split{grid-template-columns:1fr 1fr}}@media (min-width: 981px){.bento{grid-template-columns:repeat(4,1fr)}}@media (max-width: 980px){.hero{padding:150px 0 130px}.hero-grid{grid-template-columns:1fr;text-align:center;gap:24px}.hero p{margin-left:auto;margin-right:auto}.hero-actions{justify-content:center}.hero-art{order:-1}.abacus-art{max-width:300px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>:first-child{grid-column:1 / -1}}@media (max-width: 1060px){.nav-toggle{display:grid;place-items:center}.header-inner{position:relative;padding-left:20px}.site-nav{display:none;position:absolute;top:calc(100% + 10px);left:0;right:0;flex-direction:column;gap:2px;padding:10px;background:var(--bg);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow-lg)}.site-nav.open{display:flex;animation:nav-slide .25s ease both}.site-nav a{padding:14px 16px;border-radius:14px}}@media (max-width: 860px){.section{padding:72px 0}.section-head{margin-bottom:40px}.stats{margin-top:-56px}.sub-nav{border-radius:24px}.table th,.table td{padding:14px 12px}}@media (max-width: 620px){.container{padding:0 18px}.section{padding:56px 0}.hero{padding:128px 0 110px}.page-header{padding:132px 0 64px}.hero p{font-size:1.05rem}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.eyebrow{font-size:.82rem;padding:7px 14px}.bento,.footer-grid{grid-template-columns:1fr}.stats{margin-top:-44px}.stats-grid{grid-template-columns:repeat(2,1fr);padding:24px 12px}.card,.card.quote{padding:24px}.cta{padding:48px 20px;border-radius:28px}.cta .btn,.form .btn,.tabs{width:100%}.tab{flex:1;padding:11px 10px}.faq-search{max-width:none}.faq-question{padding:18px;font-size:1rem}.faq-answer{padding:0 18px 20px}.sub-nav{width:100%}.sub-nav a{flex:1 1 100%;text-align:center;padding:12px 16px}.contact-details,.investment{padding:24px}.partners-banner{flex-direction:column;align-items:flex-start;padding:28px 24px;border-radius:24px}.partners-banner .btn{width:100%}.logo{font-size:1.1rem}.logo img,.logo-image{height:48px}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
