/* ================================================
   TRILO — trilo.css  |  shared across all 5 pages
   ================================================ */
@import url('https://fonts.googleapis.com/css2?family=Syne:wght@400;600;700;800&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,300&display=swap');

:root {
  --brand:     #a62d43;
  --brand-h:   #c03050;
  --brand-dim: rgba(166,45,67,0.10);
  --brand-mid: rgba(166,45,67,0.22);
  --cream:     #FFF8F3;
  --dark:      #0F0E0C;
  --mid:       #3D3B38;
  --muted:     #8A8680;
  --white:     #FFFFFF;
  --border:    #E8E4DF;
  --tint:      #F5F0EB;
  --nav-h:     76px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"DM Sans",sans-serif;background:var(--cream);color:var(--dark);overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button{font-family:"DM Sans",sans-serif;cursor:pointer}

/* TYPE */
h1,h2,h3,h4{font-family:"Syne",sans-serif;font-weight:800;letter-spacing:-0.03em;line-height:1.05}
h1{font-size:clamp(46px,7vw,90px);letter-spacing:-3px}
h2{font-size:clamp(28px,4vw,50px);letter-spacing:-2px}
h3{font-size:clamp(17px,2vw,21px);letter-spacing:-0.5px}
p{font-size:15px;font-weight:300;line-height:1.72;color:var(--mid)}
.label{font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--brand)}

/* NAV */
#nav{position:fixed;top:0;left:0;right:0;z-index:200;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;padding:0 40px;background:rgba(255,248,243,0.95);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}
.nav-left{display:flex;align-items:center;gap:30px;height:100%}
.nav-logo{display:flex;align-items:center;height:100%}
.nav-logo img{height:52px;width:auto;display:block;margin-top:10px}
.nav-links{display:flex;gap:2px;list-style:none;align-items:center}
.nav-links a{font-size:14px;font-weight:400;color:var(--mid);padding:6px 12px;border-radius:8px;transition:all .15s}
.nav-links a:hover{color:var(--brand);background:var(--brand-dim)}
.nav-links a.active{color:var(--brand);font-weight:500}
.nav-links .nav-login{color:#2a2826}
.nav-right{display:flex;align-items:center;gap:10px}
.btn-nav{background:var(--brand);color:white;padding:8px 20px;border-radius:100px;font-size:14px;font-weight:500;border:none;cursor:pointer;transition:all .2s;font-family:"DM Sans",sans-serif;text-decoration:none;display:inline-block}
.btn-nav:hover{background:var(--brand-h);transform:translateY(-1px)}

/* BUTTONS */
.btn{display:inline-block;padding:14px 32px;border-radius:100px;font-family:"DM Sans",sans-serif;font-size:16px;font-weight:500;border:none;cursor:pointer;text-decoration:none;transition:all .2s;text-align:center}
.btn-primary{background:var(--brand);color:white}
.btn-primary:hover{background:var(--brand-h);transform:translateY(-2px);box-shadow:0 8px 24px rgba(166,45,67,.3)}
.btn-ghost{color:var(--mid);display:inline-flex;align-items:center;gap:7px;font-size:15px;font-weight:400;background:none;border:none;padding:0;cursor:pointer;font-family:"DM Sans",sans-serif}
.btn-ghost::after{content:"\2192";transition:transform .2s}
.btn-ghost:hover{color:var(--brand)}
.btn-ghost:hover::after{transform:translateX(3px)}
.btn-outline-dark{background:transparent;color:rgba(255,255,255,.65);border:1px solid rgba(255,255,255,.22);padding:14px 32px;border-radius:100px;font-family:"DM Sans",sans-serif;font-size:16px;font-weight:400;text-decoration:none;display:inline-block;transition:all .2s}
.btn-outline-dark:hover{border-color:rgba(255,255,255,.55);color:white}
.btn-sm{padding:9px 20px;font-size:14px}
.btn-full{width:100%}

/* TICKER */
.ticker-wrap{background:var(--brand);padding:13px 0;overflow:hidden;white-space:nowrap}
.ticker{display:inline-block;animation:ticker 28s linear infinite}
.ticker span{font-family:"Syne",sans-serif;font-size:13px;font-weight:700;color:white;letter-spacing:1.5px;text-transform:uppercase;padding:0 28px}
.ticker span::after{content:"\25C6";padding-left:28px;opacity:.5;font-size:9px}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* SECTIONS */
.sec{padding:100px 48px}
.sec-inner{max-width:1100px;margin:0 auto}
.sec-white{background:var(--white)}
.sec-tint{background:var(--tint)}
.sec-dark{background:var(--dark)}
.sec-brand{background:var(--brand)}
.sec-hd{margin-bottom:52px}
.sec-hd .label{display:block;margin-bottom:14px}

/* PAGE HEADER (dark hero) */
.pg-hd{padding:calc(var(--nav-h) + 72px) 48px 72px;background:var(--dark);position:relative;overflow:hidden}
.pg-hd-bg{position:absolute;inset:0;background:radial-gradient(ellipse 60% 70% at 75% 45%,rgba(166,45,67,.16) 0%,transparent 65%)}
.pg-hd-inner{position:relative;z-index:1;max-width:1100px;margin:0 auto}
.pg-hd .label{display:block;margin-bottom:14px;color:rgba(166,45,67,.8)}
.pg-hd h1{color:white;font-size:clamp(36px,5vw,64px)}
.pg-hd p{color:rgba(255,255,255,.42);font-size:17px;max-width:520px;margin-top:14px;line-height:1.65}

/* HERO */
.hero{display:flex;flex-direction:column;justify-content:flex-start;padding:190px 48px 80px;position:relative;overflow:hidden;min-height:100vh}
.hero-bg{position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse 55% 50% at 80% 35%,rgba(166,45,67,.08) 0%,transparent 65%),radial-gradient(ellipse 40% 55% at 8% 80%,rgba(166,45,67,.05) 0%,transparent 60%)}
.hero-content{position:relative;z-index:1;max-width:880px}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:var(--brand-dim);border:1px solid var(--brand-mid);border-radius:100px;padding:6px 16px;font-size:13px;font-weight:500;color:var(--brand);margin-bottom:32px;animation:fadeUp .6s ease both}
.hero-badge-dot{width:7px;height:7px;border-radius:50%;background:var(--brand);animation:pulse 2s infinite;flex-shrink:0}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.65)}}
.hero h1{margin-bottom:24px;animation:fadeUp .6s .1s ease both}
.hero h1 em{font-style:normal;color:var(--brand);display:block}
.hero-sub{font-size:19px;font-weight:300;color:var(--mid);max-width:500px;line-height:1.65;margin-bottom:44px;animation:fadeUp .6s .2s ease both}
.hero-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;animation:fadeUp .6s .3s ease both}

/* STEPS GRID */
.steps-3{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--border);border:1px solid var(--border);border-radius:24px;overflow:hidden}
.steps-4{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--border);border:1px solid var(--border);border-radius:24px;overflow:hidden}
.step{background:var(--white);padding:44px 36px;transition:background .2s}
.step:hover{background:#fdf8f5}
.step-n{font-family:"Syne",sans-serif;font-size:60px;font-weight:800;color:var(--brand-dim);line-height:1;margin-bottom:20px;letter-spacing:-2px}
.step h3{margin-bottom:10px}
.step p{font-size:14px}
.step-brand{background:var(--brand)}
.step-brand:hover{background:var(--brand-h)}
.step-brand h3{color:white}
.step-brand p{color:rgba(255,255,255,.7)}
.step-brand .step-n{color:rgba(255,255,255,.15)}

/* ACTIVITY CARDS */
.act-carousel-wrap{position:relative}
.act-carousel{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:4px;scrollbar-width:none}
.act-carousel::-webkit-scrollbar{display:none}
.carousel-btns{display:flex;gap:10px;margin-top:16px;justify-content:flex-end}
.carousel-btn{width:40px;height:40px;border-radius:50%;border:1.5px solid rgba(255,255,255,.2);background:transparent;color:rgba(255,255,255,.7);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;font-size:16px}
.carousel-btn:hover{background:var(--brand);border-color:var(--brand);color:white}
.act-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.act-card{background:#211d1b;border:1px solid rgba(255,255,255,.1);border-radius:18px;overflow:hidden;transition:all .25s;cursor:pointer;flex:0 0 300px;scroll-snap-align:start}
.act-card:hover{transform:translateY(-5px);box-shadow:0 16px 48px rgba(0,0,0,.4);border-color:rgba(166,45,67,.4)}
.act-img{height:168px;position:relative;overflow:hidden;background:linear-gradient(135deg,#0f2a4a 0%,#1a5276 100%)}
.act-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.75}
.act-img-word{font-family:"Syne",sans-serif;font-size:52px;font-weight:800;color:rgba(255,255,255,.07);position:absolute;bottom:-6px;right:10px;letter-spacing:-2px;user-select:none;pointer-events:none;z-index:1}
.act-cat-pill{position:absolute;top:12px;left:12px;font-family:"Syne",sans-serif;font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.9);background:rgba(0,0,0,.35);backdrop-filter:blur(8px);padding:4px 10px;border-radius:100px;border:1px solid rgba(255,255,255,.15);z-index:2}
.act-body{padding:18px 20px 20px}
.act-name{font-family:"Syne",sans-serif;font-size:18px;font-weight:700;margin-bottom:4px;color:white;letter-spacing:-.3px}
.act-prov{font-size:12px;color:rgba(255,255,255,.55);margin-bottom:14px;font-weight:300}
.act-price{display:flex;align-items:baseline;gap:7px;margin-bottom:4px}
.act-price-now{font-family:"Syne",sans-serif;font-size:26px;font-weight:800;color:#e8455f}
.act-price-lbl{font-size:12px;color:rgba(255,255,255,.5);font-weight:300}
.act-price-was{font-size:12px;color:rgba(255,255,255,.45);text-decoration:line-through}
.act-sess{font-size:11px;color:rgba(255,255,255,.5);margin-bottom:18px;font-weight:300}
.act-btn{display:block;width:100%;background:var(--brand);color:white;border:none;padding:10px;border-radius:10px;font-family:"DM Sans",sans-serif;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;text-align:center;text-decoration:none}
.act-btn:hover{background:var(--brand-h)}

/* FILTERS */
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.fbtn{background:var(--tint);border:1.5px solid var(--border);color:var(--mid);padding:7px 18px;border-radius:100px;font-family:"DM Sans",sans-serif;font-size:13px;cursor:pointer;transition:all .2s}
.fbtn:hover,.fbtn.active{background:var(--brand);border-color:var(--brand);color:white}
.search-wrap{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap;align-items:center}
.search-input{padding:10px 18px;background:var(--white);border:1.5px solid var(--border);border-radius:100px;font-family:"DM Sans",sans-serif;font-size:14px;font-weight:300;color:var(--dark);outline:none;transition:border-color .2s;min-width:260px;flex:1}
.search-input::placeholder{color:var(--muted)}
.search-input:focus{border-color:var(--brand)}
.filter-select{padding:10px 16px;background:var(--white);border:1.5px solid var(--border);border-radius:100px;font-family:"DM Sans",sans-serif;font-size:13px;color:var(--mid);outline:none;cursor:pointer}

/* STATS BAR */
.stats-bar{background:var(--brand);padding:80px 48px}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);max-width:1100px;margin:0 auto}
.stat{padding:0 36px;border-right:1px solid rgba(255,255,255,.2);text-align:center}
.stat:first-child{padding-left:0}.stat:last-child{border-right:none;padding-right:0}
.stat-n{font-family:"Syne",sans-serif;font-size:52px;font-weight:800;color:white;letter-spacing:-2px;line-height:1;margin-bottom:8px;display:block}
.stat-l{font-size:14px;font-weight:300;color:rgba(255,255,255,.72)}

/* TESTIMONIALS */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.testi{background:white;border:1px solid var(--border);border-radius:20px;padding:34px;transition:transform .2s,box-shadow .2s}
.testi:hover{transform:translateY(-3px);box-shadow:0 12px 36px rgba(15,14,12,.08)}
.testi-stars{color:var(--brand);font-size:14px;margin-bottom:16px;letter-spacing:2px}
.testi-text{font-size:15px;font-weight:300;line-height:1.72;color:var(--mid);margin-bottom:22px;font-style:italic}
.testi-auth{display:flex;align-items:center;gap:12px}
.testi-av{width:40px;height:40px;border-radius:50%;background:var(--brand);display:flex;align-items:center;justify-content:center;font-family:"Syne",sans-serif;font-size:13px;font-weight:700;color:white;flex-shrink:0}
.testi-name{font-family:"Syne",sans-serif;font-size:14px;font-weight:700}
.testi-role{font-size:12px;color:var(--muted);font-weight:300}

/* CTA DARK */
.cta-dark{padding:120px 48px;text-align:center;background:var(--dark);position:relative;overflow:hidden}
.cta-dark-bg{position:absolute;inset:0;background:radial-gradient(ellipse 65% 60% at 50% 50%,rgba(166,45,67,.13) 0%,transparent 70%)}
.cta-dark-inner{position:relative;z-index:1}
.cta-dark h2{color:white;max-width:680px;margin:0 auto 14px}
.cta-dark-sub{font-size:17px;font-weight:300;color:rgba(255,255,255,.42);max-width:480px;margin:0 auto 42px;line-height:1.65}
.cta-dark-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* FAQ */
.faq-item{border-bottom:1px solid var(--border)}
.faq-q{padding:18px 0;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-family:"Syne",sans-serif;font-size:16px;font-weight:700;letter-spacing:-.3px;transition:color .2s}
.faq-q:hover{color:var(--brand)}
.faq-tog{font-size:22px;color:var(--brand);transition:transform .25s;font-weight:300;flex-shrink:0;margin-left:12px}
.faq-item.open .faq-tog{transform:rotate(45deg)}
.faq-ans{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq-item.open .faq-ans{max-height:300px}
.faq-ans p{padding-bottom:18px;font-size:14px;color:var(--mid)}

/* FORMS */
.fg{margin-bottom:16px}
.fg label{display:block;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--mid);margin-bottom:6px}
.fi,.fs,.ft{width:100%;padding:12px 16px;background:var(--tint);border:1.5px solid var(--border);border-radius:12px;font-family:"DM Sans",sans-serif;font-size:15px;font-weight:300;color:var(--dark);outline:none;transition:all .2s}
.fi::placeholder,.ft::placeholder{color:var(--muted)}
.fi:focus,.fs:focus,.ft:focus{border-color:var(--brand);background:white;box-shadow:0 0 0 3px var(--brand-dim)}
.ft{min-height:96px;resize:vertical}
.fs{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%238A8680' stroke-width='1.5' stroke-linecap='round' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-hint{font-size:12px;color:var(--muted);margin-top:5px}
.form-err{font-size:12px;color:var(--brand);margin-top:5px}

/* AUTH LAYOUT */
.auth-layout{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}
.auth-left{background:var(--dark);padding:60px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.auth-left-bg{position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 60% 50%,rgba(166,45,67,.22) 0%,transparent 70%)}
.auth-left-inner{position:relative;z-index:1}
.auth-left h2{color:white;margin-bottom:16px}
.auth-left p{color:rgba(255,255,255,.38);font-size:15px;line-height:1.7;max-width:380px}
.auth-right{padding:60px;display:flex;align-items:center;justify-content:center;background:var(--cream)}
.auth-box{width:100%;max-width:400px}
.auth-box h1{font-size:clamp(26px,3vw,34px);margin-bottom:6px}
.auth-sub{color:var(--muted);margin-bottom:32px;font-size:15px;font-weight:300}
.btn-google{width:100%;padding:13px;border-radius:12px;background:white;border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;gap:10px;font-size:14px;font-weight:500;color:var(--dark);transition:all .2s;cursor:pointer;margin-bottom:16px;font-family:"DM Sans",sans-serif}
.btn-google:hover{border-color:var(--brand);box-shadow:0 2px 12px rgba(0,0,0,.08)}
.google-circle{width:18px;height:18px;border-radius:50%;background:conic-gradient(#4285F4 0deg 90deg,#EA4335 90deg 180deg,#FBBC05 180deg 270deg,#34A853 270deg 360deg);flex-shrink:0}
.auth-divider{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.auth-divider span{font-size:12px;color:var(--muted);white-space:nowrap}
.auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background:var(--border)}
.auth-foot{font-size:14px;color:var(--muted);text-align:center;margin-top:16px;font-weight:300}
.auth-foot a{color:var(--brand);font-weight:500}

/* DASHBOARD */
.dash-layout{display:block;min-height:100vh;padding-top:var(--nav-h)}
.sidebar{position:fixed;top:var(--nav-h);left:0;bottom:0;width:240px;background:var(--white);border-right:1px solid var(--border);overflow-y:auto;padding:20px 0;z-index:100}
.dash-main{margin-left:240px;padding:40px 44px;min-height:calc(100vh - var(--nav-h));box-sizing:border-box}
.sidebar-label{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--muted);padding:16px 20px 6px;display:block}
.sidebar-link{display:flex;align-items:center;gap:10px;padding:9px 16px;margin:1px 8px;border-radius:10px;font-size:14px;font-weight:400;color:var(--mid);transition:all .15s;cursor:pointer;width:calc(100% - 16px);text-decoration:none}
.sidebar-link:hover{background:var(--tint);color:var(--dark)}
.sidebar-link.active{background:var(--brand-dim);color:var(--brand);font-weight:500}
.sidebar-ico{font-size:16px;width:20px;text-align:center;flex-shrink:0}
.dash-main{padding:40px 44px}

/* STAT CARDS (dashboard) */
.stat-card{background:var(--white);border:1px solid var(--border);border-radius:16px;padding:24px}
.stat-card-val{font-family:"Syne",sans-serif;font-size:36px;font-weight:800;letter-spacing:-1.5px;line-height:1;margin-bottom:4px}
.stat-card-val.brand{color:var(--brand)}
.stat-card-lbl{font-size:13px;color:var(--muted);font-weight:300}

/* CARDS */
.card{background:var(--white);border:1px solid var(--border);border-radius:16px;overflow:hidden}
.card-hd{padding:16px 22px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.card-hd h4{font-family:"Syne",sans-serif;font-size:16px;font-weight:700;letter-spacing:-.3px}
.card-bd{padding:20px 22px}

/* MODALS */
.modal-ov{position:fixed;inset:0;z-index:500;background:rgba(15,14,12,.6);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .25s}
.modal-ov.open{opacity:1;pointer-events:all}
.modal{background:white;border-radius:24px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 24px 80px rgba(0,0,0,.25);transform:translateY(12px) scale(.98);transition:transform .28s cubic-bezier(.34,1.2,.64,1)}
.modal-ov.open .modal{transform:translateY(0) scale(1)}
.modal-hd{padding:20px 24px 0;display:flex;justify-content:space-between;align-items:flex-start}
.modal-x{background:var(--tint);border:none;width:30px;height:30px;border-radius:8px;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--muted);transition:all .15s}
.modal-x:hover{background:var(--border);color:var(--dark)}
.modal-bd{padding:20px 24px 26px}
.sdots{display:flex;gap:6px;margin-bottom:20px}
.sdot{width:8px;height:8px;border-radius:50%;background:var(--border);transition:background .2s}
.sdot.on{background:var(--brand)}
.cls-lbl{font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--mid);margin-bottom:10px;display:block}
.cls-opts{display:flex;flex-direction:column;gap:8px}
.cls-opt{width:100%;background:var(--tint);border:1.5px solid var(--border);border-radius:12px;padding:12px 14px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-family:"DM Sans",sans-serif;transition:all .15s;text-align:left}
.cls-opt:hover,.cls-opt.sel{border-color:var(--brand);background:var(--brand-dim)}
.cls-day{font-size:14px;font-weight:500;color:var(--dark);display:block}
.cls-det{font-size:12px;font-weight:300;color:var(--muted)}
.cls-chk{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:11px;color:transparent;transition:all .15s;flex-shrink:0}
.cls-opt.sel .cls-chk{background:var(--brand);border-color:var(--brand);color:white}
.p-box{background:var(--tint);border:1px solid var(--border);border-radius:12px;padding:14px;margin:14px 0}
.p-row{display:flex;justify-content:space-between;font-size:14px;padding:5px 0;border-bottom:1px solid var(--border)}
.p-row:last-child{border-bottom:none;padding-top:9px}
.p-row.tot span:last-child{font-weight:800;font-size:17px;font-family:"Syne",sans-serif;color:var(--brand)}
.p-row span:first-child{color:var(--mid);font-weight:300}
.save-badge{background:rgba(45,138,78,.09);border:1px solid rgba(45,138,78,.18);border-radius:8px;padding:9px 14px;text-align:center;font-size:13px;font-weight:500;color:#2D8A4E;margin-bottom:16px}
.m-back{background:none;border:none;cursor:pointer;font-family:"DM Sans",sans-serif;font-size:14px;color:var(--muted);padding:0;margin-bottom:14px;transition:color .15s;display:flex;align-items:center;gap:4px}
.m-back:hover{color:var(--brand)}
.success-state{text-align:center;padding:20px 0}
.s-check{width:58px;height:58px;border-radius:50%;background:rgba(45,138,78,.1);border:2px solid rgba(45,138,78,.2);margin:0 auto 18px;display:flex;align-items:center;justify-content:center}
.s-check svg{width:26px;height:26px;stroke:#2D8A4E;fill:none;stroke-width:2.5}
.success-state h3{font-family:"Syne",sans-serif;font-size:22px;font-weight:800;margin-bottom:10px}
.success-state p{font-size:14px;font-weight:300;color:var(--mid);line-height:1.7;margin-bottom:8px}

/* FOOTER */
#footer{background:var(--dark);border-top:1px solid rgba(255,255,255,.06);padding:44px 48px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}
.f-logo img{height:32px;width:auto;opacity:.8}
.f-copy{font-size:13px;font-weight:300;color:rgba(255,255,255,.25)}
.f-links{display:flex;gap:22px;flex-wrap:wrap}
.f-links a{font-size:13px;font-weight:300;color:rgba(255,255,255,.38);transition:color .2s}
.f-links a:hover{color:white}

/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.fi-up{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}
.fi-up.vis{opacity:1;transform:translateY(0)}

/* BADGE */
.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:100px;font-size:11px;font-weight:600}
.badge-ok{background:rgba(45,138,78,.1);color:#2D8A4E}
.badge-warn{background:rgba(200,114,10,.12);color:#C8720A}
.badge-err{background:rgba(166,45,67,.1);color:var(--brand)}
.badge-mute{background:var(--border);color:var(--muted)}

/* DIVIDER */
hr,.divider{height:1px;background:var(--border);border:none;margin:24px 0}

/* RESPONSIVE */
@media(max-width:768px){
  #nav{padding:0 16px}
  .nav-links{display:none}
  .hero{padding:calc(var(--nav-h) + 40px) 22px 56px}
  .sec{padding:60px 22px}
  .pg-hd{padding:calc(var(--nav-h)+36px) 22px 36px}
  .auth-layout{grid-template-columns:1fr}
  .auth-left{display:none}
  .auth-right{padding:36px 22px}
  .steps-3,.steps-4,.testi-grid,.act-grid{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:28px}
  .stat{border-right:none;padding:0}
  .sidebar{display:none}
  .dash-main{margin-left:0;padding:22px 18px}
  #footer{flex-direction:column;text-align:center;padding:32px 22px}
  .f-links{flex-wrap:wrap;justify-content:center}
  .form-row{grid-template-columns:1fr}
  .cta-dark{padding:72px 22px}
  .stats-bar{padding:56px 22px}
}
