body {
background: url("/img/bg.png") center/cover no-repeat;
background-attachment: scroll;
}

/* ROOT */

:root{
--tf-radius: 16px;
--tf-radius-lg: 22px;
--tf-shadow: 0 10px 30px rgba(13,18,30,.10);
--tf-shadow-sm: 0 6px 18px rgba(13,18,30,.10);
--tf-border: rgba(15,23,42,.10);
--tf-bg: #f6f7fb;
--tf-bg-2:#eef1f7;
--tf-text:#0f172a;
--tf-muted:#475569;
}

/* LINKS */

a{
text-decoration:none;
}

a:hover{
text-decoration:underline;
}

/* NAVBAR */

.navbar-custom{
position:sticky;
top:0;
z-index:1030;

backdrop-filter:blur(10px);
-webkit-backdrop-filter:blur(10px);

border-bottom:1px solid rgba(255,255,255,.12);
background:rgba(255,255,255,.15)!important;
}

.navbar .navbar-brand{
font-weight:700;
letter-spacing:.2px;
color:#fff!important;
}

.navbar-custom .nav-link{
font-weight:600;
opacity:.95;
color:#fff!important;
}

.navbar-custom .nav-link:hover{
opacity:1;
}

/* DROPDOWN */

.dropdown-menu{
border:1px solid rgba(255,255,255,.10);
border-radius:14px;
overflow:hidden;
padding:10px;
background:rgba(255,255,255,.95);
}

.dropdown-item{
border-radius:10px;
padding:10px 12px;
font-weight:600;
}

/* BUTTONS */

.btn{
border-radius:999px!important;
font-weight:700;
letter-spacing:.2px;
transition:all .25s ease;
}

.btn-primary{
box-shadow:0 10px 22px rgba(13,110,253,.18);
}

.btn-outline-light{
border-color:rgba(255,255,255,.5)!important;
}

.btn:hover{
transform:translateY(-2px);
box-shadow:0 10px 20px rgba(0,0,0,.25);
}

/* CARD */

.card{
color:white;
border:1px solid rgba(255,255,255,.08);
border-radius:var(--tf-radius);
box-shadow:0 6px 18px rgba(0,0,0,.25);
background:rgba(24,30,62,.85);
backdrop-filter:blur(12px);
}

.card-hover{
transition:transform .18s ease,box-shadow .18s ease;
}

.card-hover:hover{
transform:translateY(-2px);
box-shadow:var(--tf-shadow);
}

/* TYPO */

h1,h2,h3,h4{
color:white;
letter-spacing:-0.02em;
}

h1{
line-height:1.1;
}

h2{
font-weight:800;
margin-bottom:14px;
}

.lead{
color:rgba(255,255,255,.92);
}

/* HERO */

.hero{
position:relative;
overflow:hidden;

border-radius:var(--tf-radius-lg);
min-height:260px;
max-width:1200px;

margin:20px auto 0;

box-shadow:var(--tf-shadow);

background:rgba(15,23,42,.3);
}

.hero::before{
content:"";
position:absolute;
inset:0;

background:linear-gradient(
135deg,
rgba(15,23,42,.72),
rgba(15,23,42,.25)
);
}

.hero::after{

content:"";
position:absolute;
top:-200px;
left:-200px;

width:500px;
height:500px;

background:radial-gradient(
circle,
rgba(0,140,255,.25),
transparent
);

filter:blur(120px);

pointer-events:none;

}

.hero .container{
position:relative;
display:flex;
flex-direction:column;
justify-content:center;
padding:46px 38px;
}

.hero h1{
color:#fff;
font-weight:900;
font-size:clamp(2rem,4vw,3.2rem);
}

/* SECTION */

main.container{
margin-top:36px!important;
}

.section{
background:rgba(255,255,255,.85);
border:1px solid rgba(15,23,42,.08);

border-radius:var(--tf-radius-lg);
padding:22px;

box-shadow:var(--tf-shadow-sm);

backdrop-filter:blur(10px);
}

/* FOOTER */

footer{
border-top:1px solid rgba(15,23,42,.08);
background:rgba(18,29,51,.3);
backdrop-filter:blur(10px);
}

/* NEWS */

#news{
margin-top:50px;
}

.news-item{
background:rgba(24,30,62,.65);
border:1px solid rgba(255,255,255,.05);

border-radius:12px;
padding:18px 20px;

margin-bottom:16px;

transition:all .2s ease;
}

.news-item:hover{
transform:translateY(-2px);
box-shadow:0 10px 25px rgba(0,0,0,.35);
}

.news-title{
font-weight:700;
font-size:15px;
margin-bottom:4px;
}

.news-date{
font-size:12px;
opacity:.7;
margin-bottom:8px;
color:white;
}

.news-text{
font-size:14px;
line-height:1.5;
}

/* GOOGLE REVIEWS */

.google-review-hero{
margin-top:14px;
padding:12px;

border-radius:10px;

background:rgba(255,255,255,.05);
border:1px solid rgba(255,255,255,.08);

backdrop-filter:blur(6px);
}

.google-title{
display:flex;
align-items:center;
gap:6px;

font-size:13px;
opacity:.8;

margin-bottom:6px;
}

.google-stars{
color:#ffc107;
font-size:18px;
letter-spacing:2px;
}

.google-score{
font-weight:700;
font-size:15px;
}

.google-count{
font-size:12px;
opacity:.7;
margin-bottom:8px;
}

.google-review-btn{
display:inline-block;

background:#fbbc05;
color:#000;

padding:6px 12px;

border-radius:6px;

font-size:13px;
font-weight:600;

text-decoration:none;
}

.google-review-btn:hover{
background:#e8a800;
}

.feature-list{
display:flex;
flex-direction:column;
gap:4px;
}

.feature-item{
display:flex;
align-items:center;
gap:5px;

font-size:14px;
font-weight:500;

color:white;
}

.feature-item i{
font-size:18px;
color:#4ade80;
}