:root{
    --bg0:#f6f7fb;
    --bg1:#ffffff;
    --card:#ffffff;
    --line:#e5e7eb;
    --text:#111827;
    --muted:#6b7280;
    --accent:#2563eb;
    --accent2:#14b8a6;
}

html,body{height:100%;}
body{
    background:
        radial-gradient(900px 420px at 15% 8%, rgba(37,99,235,.10), transparent 60%),
        radial-gradient(900px 420px at 90% 22%, rgba(20,184,166,.08), transparent 60%),
        linear-gradient(180deg,var(--bg0),var(--bg1));
    color:var(--text);
    font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
}

a{color:inherit;}
a:hover{color:var(--accent);}
.cover-img {
    width: 100%;
    aspect-ratio: 14 / 9;
    object-fit: cover;
    display: block;
    background-color: #1a1a1a;
}
.navbar{
    background: rgba(255,255,255,.86);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--line);
}
.navbar .navbar-brand{
    letter-spacing:.2px;
    font-weight:800;
    line-height: 30px;
}
img.sizuya{
    width: 30px;
    height: 30px;
}
.navbar .nav-link{
    color: rgba(17,24,39,.80) !important;
    font-weight:600;
}
.navbar .nav-link.active,
.navbar .nav-link:hover{
    color: var(--accent) !important;
}

.hero{
    padding: 3.5rem 0 2.25rem 0;
}
.hero h1{
    font-weight:900;
    letter-spacing:.2px;
    line-height:1.08;
}
.hero .lead{
    color: var(--muted);
    max-width: 54ch;
}
.hero .badge-glow{
    background: rgba(37,99,235,.08);
    border: 1px solid rgba(37,99,235,.20);
    color: rgba(17,24,39,.85);
    font-weight:700;
}

.tech{
    position:relative;
}
.tech:before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background-image:
        linear-gradient(rgba(17,24,39,.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(17,24,39,.04) 1px, transparent 1px);
    background-size: 32px 32px;
    mask-image: radial-gradient(closest-side at 50% 25%, rgba(0,0,0,.9), rgba(0,0,0,.0));
    opacity:.9;
}

.tech-card{
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: 18px;
    box-shadow: 0 12px 30px rgba(17,24,39,.06);
}
.tech-card .card-body{padding:1.15rem 1.15rem;}
.tech-card .card-title{font-weight:800;}
.small-muted{color:var(--muted); font-size:.92rem;}

.price{
    font-weight:900;
    letter-spacing:.2px;
}
.price .amt{
    background: linear-gradient(135deg,var(--accent),var(--accent2));
    -webkit-background-clip:text;
    background-clip:text;
    color: transparent;
}

.btn-accent{
    background: var(--accent);
    border-color: var(--accent);
    font-weight:800;
    border-radius: 999px;
    box-shadow: 0 10px 24px rgba(37,99,235,.18);
}
.btn-accent:hover{
    filter: brightness(.96);
}
.btn-outline-light{
    /* legacy class in templates; map to a modest outline button */
    color: var(--accent) !important;
    border-color: rgba(37,99,235,.35) !important;
    border-radius: 999px;
    font-weight:800;
    background: rgba(255,255,255,.7) !important;
}
.btn-outline-light:hover{
    background: rgba(37,99,235,.06) !important;
}

.table{
    color: var(--text);
}
.table thead th{
    color: rgba(17,24,39,.80);
    border-bottom: 1px solid var(--line) !important;
}
.table td,.table th{
    border-color: var(--line) !important;
}

.carousel{
    border-radius: 18px;
    overflow:hidden;
    border: 1px solid var(--line);
    box-shadow: 0 14px 34px rgba(17,24,39,.08);
}
.carousel-control-prev-icon,
.carousel-control-next-icon{
    filter: none;
    background-color: rgba(255,255,255,.85);
    border-radius: 999px;
    box-shadow: 0 10px 22px rgba(17,24,39,.10);
    width: 3rem; height: 3rem;
    background-size: 60% 60%;
}

.badge{
    border-radius: 999px;
}
.badge-glow{
    background: rgba(20,184,166,.10);
    border: 1px solid rgba(20,184,166,.20);
    color: rgba(17,24,39,.85);
    font-weight:700;
}

.step{
    display:flex; align-items:center; gap:.75rem;
}
.step .n{
    width:34px;height:34px;border-radius:999px;
    display:flex;align-items:center;justify-content:center;
    border:1px solid rgba(37,99,235,.25);
    background: rgba(37,99,235,.06);
    box-shadow: 0 10px 22px rgba(37,99,235,.10);
    font-weight:900;
}

.footer{
    border-top: 1px solid var(--line);
    color: var(--muted);
    background: rgba(255,255,255,.75);
    backdrop-filter: blur(10px);
    line-height: 40px;
}
.footer a{
    text-decoration: none;
}