@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');

:root{
  --bg:#fbfcfd;
  --text:#172033;
  --muted:#6e7787;
  --soft:#f2f5f7;
  --card:#ffffff;
  --border:#e8edf1;
  --green:#2dcc89;
  --green-dark:#25b978;
  --pink:#f63366;
  --radius:28px;
  --shadow-soft:0 20px 40px -15px rgba(0,0,0,.06);
  --shadow-elevated:0 30px 60px -12px rgba(0,0,0,.1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:'Plus Jakarta Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;overflow-x:hidden}
h1,h2,h3,h4,h5,h6,.navbar-brand,.btn{font-family:'Outfit',system-ui,sans-serif}
a{text-decoration:none}
img{max-width:100%;display:block}
section{position:relative}
.container{max-width:1180px}

.navbar-custom{position:fixed;top:0;left:0;right:0;z-index:999;padding:20px 0;transition:all .28s ease;background:transparent}
.navbar-custom.scrolled,.navbar-custom.menu-open{background:rgba(255,255,255,.94);backdrop-filter:blur(16px);box-shadow:var(--shadow-soft);padding:12px 0}
.logo{height:42px;width:auto}
.nav-link{font-family:'Outfit';font-size:.95rem;font-weight:700;color:rgba(23,32,51,.72)!important;margin:0 10px;transition:.2s}
.nav-link:hover{color:var(--green)!important}
.navbar-toggler{border:0;box-shadow:none!important}
.navbar-toggler i{font-size:1.8rem;color:var(--text)}

.btn-main{border:0;border-radius:999px;background:var(--green);color:#fff!important;font-weight:800;padding:13px 24px;box-shadow:0 10px 20px rgba(45,204,137,.22);transition:.25s;display:inline-flex;align-items:center;gap:8px;justify-content:center}
.btn-main:hover{background:var(--green-dark);transform:translateY(-2px);box-shadow:0 16px 30px rgba(45,204,137,.3)}
.btn-accent{background:var(--pink);box-shadow:0 10px 20px rgba(246,51,102,.18)}
.btn-accent:hover{background:#df2555;box-shadow:0 16px 30px rgba(246,51,102,.28)}
.btn-outline-soft{border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--text)!important;font-weight:800;padding:13px 24px;transition:.25s;display:inline-flex;align-items:center;gap:8px;justify-content:center}
.btn-outline-soft:hover{border-color:var(--green);color:var(--green)!important;transform:translateY(-2px);box-shadow:var(--shadow-soft)}

.hero{padding:178px 0 112px;overflow:hidden}
.blob{position:absolute;right:-120px;top:30px;width:540px;height:540px;background:radial-gradient(circle,var(--green) 0%,rgba(45,204,137,.55) 30%,rgba(45,204,137,0) 72%);opacity:.33;animation:float 6s ease-in-out infinite;pointer-events:none}
.hero-badge{display:inline-flex;align-items:center;gap:7px;border-radius:999px;background:rgba(45,204,137,.1);color:var(--green);font-weight:800;padding:9px 16px;font-size:.92rem;margin-bottom:24px}
.hero h1{font-size:clamp(2.7rem,7vw,5.8rem);line-height:.98;font-weight:800;letter-spacing:-.04em;margin-bottom:26px}
.gradient-text{background:linear-gradient(135deg,var(--green),#68e6b2);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{font-size:1.16rem;color:var(--muted);max-width:540px;margin-bottom:34px;line-height:1.7}
.hero-img{border-radius:42px;box-shadow:var(--shadow-elevated);width:100%;animation:fadeScale .8s ease both}

.section-pad{padding:96px 0}
.section-title{text-align:center;margin-bottom:58px}
.section-title h2{font-size:clamp(2.1rem,4.5vw,4rem);font-weight:800;letter-spacing:-.035em;margin-bottom:14px}
.section-title p{color:var(--muted);font-size:1.1rem;margin:0 auto;max-width:610px;line-height:1.65}
.soft-bg{background:var(--soft)}

.card-feature{background:var(--soft);border-radius:28px;padding:32px;height:100%;transition:.28s;border:1px solid transparent}
.card-feature:hover{background:#fff;box-shadow:var(--shadow-elevated);transform:translateY(-8px)}
.icon-box{width:58px;height:58px;border-radius:20px;display:grid;place-items:center;margin-bottom:22px;font-size:1.55rem}
.icon-green{background:rgba(45,204,137,.1);color:var(--green)}
.icon-pink{background:rgba(246,51,102,.1);color:var(--pink)}
.card-feature h3,.condo-card h3{font-size:1.28rem;font-weight:800;margin-bottom:12px}
.card-feature p,.condo-card p{color:var(--muted);line-height:1.65;margin:0}

.steps-wrap h2{font-size:clamp(2.1rem,4.5vw,4rem);font-weight:800;letter-spacing:-.035em;margin-bottom:15px}
.steps-wrap>p{color:var(--muted);font-size:1.1rem;line-height:1.7;margin-bottom:36px}
.step-item{display:flex;align-items:center;gap:20px;margin-bottom:24px}
.step-num{font-family:'Outfit';font-weight:800;font-size:3.3rem;line-height:1;color:rgba(23,32,51,.09);min-width:82px}
.step-item h5{font-size:1.12rem;font-weight:800;margin:0;line-height:1.45}
.rounded-img{border-radius:42px;box-shadow:var(--shadow-elevated)}

.condo-badge{display:inline-flex;align-items:center;gap:7px;border-radius:999px;background:rgba(246,51,102,.1);color:var(--pink);font-weight:800;padding:9px 16px;font-size:.92rem;margin-bottom:18px}
.condo-card{display:flex;gap:20px;background:var(--soft);border-radius:28px;padding:30px;height:100%;transition:.25s}
.condo-card:hover{background:#fff;box-shadow:var(--shadow-elevated)}
.condo-card .icon-box{flex:0 0 58px;margin-bottom:0}

.franchise-band{padding:48px 18px}
.franchise-panel{background:var(--text);color:#fff;border-radius:56px;padding:88px 0;overflow:hidden;position:relative}
.franchise-panel:before{content:"";position:absolute;right:-120px;bottom:-140px;width:380px;height:380px;background:radial-gradient(circle,rgba(45,204,137,.35),rgba(45,204,137,0) 70%)}
.franchise-panel h2{font-size:clamp(2.1rem,4.5vw,4rem);font-weight:800;letter-spacing:-.035em;margin-bottom:22px}
.franchise-panel p{color:rgba(255,255,255,.72);font-size:1.08rem;line-height:1.7;margin-bottom:32px}
.benefit-list{list-style:none;padding:0;margin:0 0 38px}
.benefit-list li{display:flex;align-items:center;gap:12px;margin-bottom:14px;color:rgba(255,255,255,.9)}
.benefit-list i{color:var(--green);font-size:1.2rem}
.projection-card{background:#fff;color:var(--text);border-radius:38px;padding:34px;box-shadow:var(--shadow-elevated)}
.projection-card .label{font-family:'Outfit';font-weight:800;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--green)}
.projection-card h3{font-size:clamp(2.7rem,5vw,4rem);font-weight:800;margin:8px 0 4px}.projection-card p{color:var(--muted);margin:0}.projection-divider{border-top:1px solid var(--border);margin:26px 0}.projection-card h4{font-size:1.7rem;font-weight:800}.border-left{border-left:1px solid var(--border)}

.location-card,.payment-card,.faq-card{background:var(--soft);border-radius:22px;padding:20px;transition:.25s}.location-card:hover{box-shadow:var(--shadow-soft);transform:translateY(-3px)}.location-card{display:flex;align-items:center;gap:16px}.location-card p{margin:0}.location-card small{color:var(--muted)}
.payment-card{background:#fff;display:flex;align-items:center;gap:16px;margin-bottom:16px;font-weight:700}.faq-card{background:#fff;margin-bottom:16px}.faq-card strong{display:block;margin-bottom:8px}.faq-card p{font-size:.93rem;color:var(--muted);margin:0;line-height:1.65}

.cta{text-align:center;padding:96px 0}.cta h2{font-size:clamp(2.1rem,4.5vw,4rem);font-weight:800;letter-spacing:-.035em;margin-bottom:20px}.cta p{color:var(--muted);font-size:1.08rem;max-width:520px;margin:0 auto 34px;line-height:1.7}
.footer{background:var(--soft);padding:80px 0 30px}.footer h5{font-weight:800;margin-bottom:16px}.footer p,.footer a,.footer li{color:var(--muted)}.footer a:hover{color:var(--green)}.social a{color:var(--text);font-size:1.25rem;margin-right:18px}.footer-bottom{border-top:1px solid var(--border);padding-top:24px;margin-top:45px;text-align:center;font-size:.92rem;color:var(--muted)}

.franchise-page{min-height:100vh;background:var(--soft);padding:30px 0 70px}.franchise-logo{height:52px;margin:0 auto 58px}.form-heading{text-align:center;max-width:620px;margin:0 auto 42px}.form-heading h1{font-size:clamp(2.2rem,5vw,4.4rem);line-height:1.05;font-weight:800;letter-spacing:-.035em;margin-bottom:18px}.form-heading p{color:var(--muted);font-size:1.08rem;line-height:1.7}.lead-form{max-width:470px;margin:0 auto;background:#fff;border-radius:42px;padding:34px;box-shadow:var(--shadow-elevated)}.form-label{font-weight:800;font-size:.92rem;color:var(--text)}.form-control,.form-select{border:1px solid var(--border);background:var(--soft);border-radius:16px;padding:13px 16px;font-size:.95rem}.form-control:focus,.form-select:focus{border-color:var(--green);box-shadow:0 0 0 .25rem rgba(45,204,137,.12)}.form-note{text-align:center;color:var(--muted);font-size:.86rem;margin-top:18px}.back-link{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-weight:700}.back-link:hover{color:var(--green)}
.toast-ok{position:fixed;right:20px;bottom:20px;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow-elevated);border-radius:18px;padding:16px 18px;z-index:2000;display:none;max-width:340px}.toast-ok.show{display:block;animation:fadeUp .25s ease both}.toast-ok strong{display:block;color:var(--green);margin-bottom:4px}.toast-ok p{margin:0;color:var(--muted);font-size:.9rem}

.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:translateY(0)}
@keyframes float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(5deg)}}@keyframes fadeScale{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}

@media(max-width:991px){.hero{padding:145px 0 76px}.hero h1{font-size:3.5rem}.franchise-panel{border-radius:38px;padding:62px 0}.section-pad{padding:72px 0}.navbar-collapse{background:#fff;margin-top:16px;border-radius:24px;padding:18px;box-shadow:var(--shadow-soft)}.nav-link{margin:4px 0}.border-left{border-left:0;border-top:1px solid var(--border);padding-top:18px;margin-top:18px}.projection-card{margin-top:10px}}
@media(max-width:575px){.hero h1{font-size:2.95rem}.hero{padding-top:132px}.hero .d-flex{flex-direction:column;align-items:stretch}.btn-main,.btn-outline-soft{width:100%}.franchise-band{padding-left:10px;padding-right:10px}.franchise-panel{border-radius:30px}.lead-form{padding:26px;border-radius:32px}.logo{height:36px}.step-num{font-size:2.8rem;min-width:70px}.section-title{margin-bottom:40px}}
