:root{--brand:#6f42c1;--brand-2:#0d6efd;--radius:1.2rem;--shadow:0 10px 30px rgba(0,0,0,.08);--bg-grad:radial-gradient(1200px 600px at 10% 10%, rgba(111,66,193,.15), transparent),radial-gradient(1000px 500px at 90% 0%, rgba(13,110,253,.12), transparent);--ease-smooth:cubic-bezier(.22,1,.36,1);}body{font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,sans-serif}main{transition:opacity .6s var(--ease-smooth),transform .6s var(--ease-smooth);will-change:opacity,transform}img{border-radius:var(--radius)}.rounded-4{border-radius:var(--radius)!important}.shadow-soft{box-shadow:var(--shadow)}.hero{background:var(--bg-grad)}.card{border:0;border-radius:var(--radius);box-shadow:var(--shadow)}.card:hover{transform:translateY(-2px);transition:.25s;box-shadow:0 12px 34px rgba(0,0,0,.12)}.btn-primary{background:linear-gradient(135deg,var(--brand),var(--brand-2));border:none;border-radius:999px;padding:.75rem 1.25rem}

header .navbar{padding:.75rem 0;transition:box-shadow .3s ease}
header .navbar .container{padding-left:1.25rem;padding-right:1.25rem}
.navbar-brand{font-weight:700;font-size:1.35rem}
.navbar-nav .nav-link{font-weight:500;padding:.45rem 1rem;border-radius:999px;transition:color .2s ease,background-color .2s ease}
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus,
.navbar-nav .nav-link.active{background:rgba(111,66,193,.08);color:var(--brand)}
.navbar-toggler{border:1px solid rgba(0,0,0,.15);border-radius:999px;padding:.35rem .65rem;transition:border-color .2s ease,box-shadow .2s ease}
.navbar-toggler:focus{box-shadow:0 0 0 .2rem rgba(111,66,193,.25)}
.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0,0,0,0.7)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}

.contact-card{position:relative;background:linear-gradient(160deg,rgba(111,66,193,.12),rgba(13,110,253,.08));border:1px solid rgba(111,66,193,.1);border-radius:var(--radius);overflow:hidden}
.contact-card::before,.contact-card::after{content:'';position:absolute;border-radius:50%;filter:blur(0);opacity:.55}
.contact-card::before{width:220px;height:220px;background:rgba(111,66,193,.18);top:-110px;right:-80px}
.contact-card::after{width:160px;height:160px;background:rgba(13,110,253,.16);bottom:-90px;left:-70px}
.contact-card>*{position:relative;z-index:1}
.section-highlight{position:relative;background:linear-gradient(155deg,rgba(111,66,193,.12),rgba(13,110,253,.08));border-radius:calc(var(--radius) + .6rem);border:1px solid rgba(111,66,193,.12);box-shadow:0 26px 60px rgba(15,23,42,.08);overflow:hidden}
.section-highlight::before{content:'';position:absolute;inset:-20% -10% auto -20%;height:260px;background:radial-gradient(circle,rgba(255,255,255,.35),transparent 60%);opacity:.65;pointer-events:none}
.section-highlight::after{content:'';position:absolute;bottom:-30%;right:-15%;width:360px;height:360px;background:radial-gradient(circle,rgba(13,110,253,.25),transparent 60%);opacity:.35;pointer-events:none}
.section-highlight>*{position:relative;z-index:1}
.feature-card{position:relative;display:flex;flex-direction:column;height:100%;border-radius:calc(var(--radius) + .4rem);background:linear-gradient(160deg,rgba(255,255,255,.92),rgba(236,243,255,.8));border:1px solid rgba(111,66,193,.1);box-shadow:0 18px 40px rgba(15,23,42,.08);overflow:hidden;transition:transform .4s var(--ease-smooth),box-shadow .4s var(--ease-smooth)}
.feature-card::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 20% -10%,rgba(111,66,193,.18),transparent 55%),radial-gradient(circle at 85% 110%,rgba(13,110,253,.18),transparent 55%);opacity:.7;pointer-events:none;transition:opacity .4s var(--ease-smooth)}
.feature-card:hover,.feature-card:focus-within{transform:translateY(-6px) scale(1.02);box-shadow:0 28px 60px rgba(15,23,42,.12)}
.feature-card:hover::before,.feature-card:focus-within::before{opacity:.9}
.feature-card__link-wrap{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}
.feature-card__link-wrap:focus-visible{outline:3px solid rgba(111,66,193,.4);outline-offset:4px;border-radius:calc(var(--radius) + .4rem)}
.feature-card__media{position:relative;overflow:hidden}
.feature-card__media img{width:100%;height:220px;object-fit:cover;transition:transform .6s cubic-bezier(.22,1,.36,1)}
.feature-card:hover .feature-card__media img,.feature-card:focus-within .feature-card__media img{transform:scale(1.05)}
.feature-card__body{position:relative;padding:1.75rem 1.75rem 1.5rem;z-index:1;display:flex;flex-direction:column;flex:1}
.feature-card__tag{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:999px;background:rgba(255,255,255,.85);color:var(--brand);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-bottom:.85rem;box-shadow:0 6px 18px rgba(111,66,193,.18)}
.feature-card__text{flex:1;margin-bottom:1.25rem}
.feature-card__cta{display:inline-flex;align-items-center;gap:.35rem;font-weight:600;color:var(--brand);transition:gap .2s ease,color .2s ease}
.feature-card__cta::after{content:'\2192';font-size:.9rem;transition:transform .2s ease}
.feature-card__link-wrap:hover .feature-card__cta,.feature-card__link-wrap:focus-visible .feature-card__cta,.feature-card__link-wrap:focus .feature-card__cta{color:var(--brand-2);gap:.5rem}
.feature-card__link-wrap:hover .feature-card__cta::after,.feature-card__link-wrap:focus-visible .feature-card__cta::after,.feature-card__link-wrap:focus .feature-card__cta::after{transform:translateX(4px)}

@media (max-width:991.98px){
  header .navbar .container{padding-left:1.5rem;padding-right:1.5rem}
  header .navbar .navbar-collapse{background:#fff;border-radius:var(--radius);box-shadow:0 18px 40px rgba(0,0,0,.08);padding:1rem;margin-top:.75rem}
  header .navbar-nav{gap:.35rem}
  header .navbar-nav .nav-link{display:block;padding:.6rem .85rem}
  header .navbar .btn-primary{display:block;width:100%;margin-top:.75rem}
}
@media (max-width:575.98px){
  .feature-card__media img{height:200px}
  .feature-card__body{padding:1.5rem 1.5rem 1.35rem}
}

.footer-modern{background:linear-gradient(135deg,#161725,#1f1630);position:relative;overflow:hidden;padding-bottom:3.375rem}
.footer-modern::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at top left,rgba(111,66,193,.25),transparent 55%),radial-gradient(circle at bottom right,rgba(13,110,253,.22),transparent 45%);opacity:.85;pointer-events:none}
.footer-modern .container{position:relative;z-index:1}
.footer-logo{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;color:#fff;letter-spacing:.05em}
.text-white-70{color:rgba(255,255,255,.75)!important}
.footer-link{display:block;font-size:.9rem;color:rgba(255,255,255,.72);text-decoration:none;padding:.15rem 0;transition:color .2s ease,transform .2s ease}
.footer-link:hover,.footer-link:focus{color:#fff;transform:translateX(4px)}
.footer-divider{border-top:1px solid rgba(255,255,255,.12)}
.footer-modern ul li span:first-child{margin-right:.65rem}

html.is-preload main{opacity:0;transform:translateY(18px) scale(.99)}
html.is-loaded main{opacity:1;transform:none}
html.is-exiting main{opacity:0;transform:translateY(-12px);pointer-events:none}
html.is-exiting body{pointer-events:none}

.reveal-item,[data-animate]{opacity:0;transform:translateY(28px);transition:opacity .6s var(--ease-smooth),transform .6s var(--ease-smooth);transition-delay:var(--delay,0s);will-change:opacity,transform}
.reveal-item.is-visible,[data-animate].is-visible{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  main{transition:none!important}
  html.is-preload main,html.is-exiting main{transform:none!important;opacity:1!important}
  .reveal-item,.reveal-item.is-visible,[data-animate],[data-animate].is-visible{transition:none!important;opacity:1!important;transform:none!important}
}

/* Toast notifications */
.toast-root{position:fixed;z-index:1080;top:1rem;right:1rem;display:flex;flex-direction:column;gap:.5rem;pointer-events:none}
.toast{min-width:260px;max-width:92vw;background:#fff;border:1px solid rgba(0,0,0,.1);box-shadow:0 10px 30px rgba(0,0,0,.08);border-radius:12px;padding:.75rem 1rem;font-size:.95rem;line-height:1.35;opacity:0;transform:translateY(-8px);animation:toast-in .25s ease-out forwards}
.toast.success{border-left:6px solid #198754}
.toast.error{border-left:6px solid #dc3545}
.toast .title{font-weight:700;margin-bottom:.25rem}
.toast .msg{opacity:.9}
@keyframes toast-in{to{opacity:1;transform:translateY(0)}}
@keyframes toast-out{to{opacity:0;transform:translateY(-6px)}}


/* Toast feedback */
.tg-toast{position:fixed;z-index:1080;right:1rem;bottom:1rem;min-width:260px;max-width:90vw;padding:.875rem 1rem;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.15);font-weight:600;opacity:0;transform:translateY(10px);transition:opacity .25s ease,transform .25s ease}
.tg-toast.show{opacity:1;transform:translateY(0)}
.tg-toast.success{background:#198754;color:#fff}
.tg-toast.error{background:#dc3545;color:#fff}
.tg-toast .small{display:block;font-weight:400;opacity:.9;margin-top:.25rem}

/* Centered success popup */
.notify-overlay{position:fixed;inset:0;background:rgba(0,0,0,.35);display:grid;place-items:center;z-index:1100;backdrop-filter:saturate(120%) blur(2px);opacity:0;pointer-events:none;transition:opacity .35s var(--ease-smooth)}
.notify-overlay.is-visible{opacity:1;pointer-events:auto}
.notify-card{width:min(90vw,440px);background:#fff;border-radius:16px;box-shadow:0 20px 50px rgba(0,0,0,.18);padding:1.25rem 1.25rem 1rem;border:1px solid rgba(0,0,0,.08);opacity:0;transform:translateY(22px) scale(.96);transition:transform .38s var(--ease-smooth),opacity .38s var(--ease-smooth)}
.notify-card.is-visible{opacity:1;transform:none}
.notify-title{font-weight:800;font-size:1.15rem;margin-bottom:.25rem}
.notify-body{font-size:.975rem;opacity:.9;margin-bottom:.75rem}
.notify-btn{appearance:none;border:0;border-radius:999px;padding:.6rem 1rem;background:var(--brand,#6f42c1);color:#fff;cursor:pointer}
.notify-btn:focus-visible{outline:3px solid rgba(111,66,193,.4);outline-offset:3px}

img,iframe{max-width:100%;height:auto;display:block}
iframe[src*="google.com/maps"]{aspect-ratio:4/3;border:0}
.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}
table{width:100%}
@media (max-width:576px){
  .g-5{--bs-gutter-x:1rem;--bs-gutter-y:1rem}
  .container,.container-fluid{padding-left:1rem;padding-right:1rem}
}
main>section:last-of-type{margin-bottom:.5rem}
footer{margin-top:0}
