/* =========================================================
   PHYSICS BY SUBRATA — HOME PAGE
   Clean responsive layout
   ========================================================= */

.pbs-home,
.pbs-home * {
    box-sizing: border-box;
}

.pbs-home {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px 50px;
    color: #0f172a;
    background: transparent;
    overflow: hidden;
}

/* =========================================================
   HERO
   ========================================================= */
.pbs-home-hero {
    width: 100%;
    min-height: 365px;
    margin: 0 0 26px;
    padding: 42px 48px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 390px;
    align-items: center;
    position: relative;
    overflow: hidden;
    border: 0;
    border-radius: 26px;
    background:
        radial-gradient(circle at 84% 24%, rgba(124,58,237,.13), transparent 28%),
        radial-gradient(circle at 68% 90%, rgba(6,182,212,.10), transparent 30%),
        linear-gradient(115deg, #effcf9 0%, #f4f8ff 48%, #faf5ff 100%);
}

.pbs-home-hero::before {
    content: "";
    position: absolute;
    width: 360px;
    height: 360px;
    right: -170px;
    top: -190px;
    border-radius: 50%;
    background: rgba(59,130,246,.07);
    pointer-events: none;
}

.pbs-home-hero::after {
    content: "";
    position: absolute;
    width: 220px;
    height: 220px;
    right: -115px;
    bottom: -135px;
    border-radius: 50%;
    border: 1px solid rgba(99,102,241,.12);
    box-shadow: 0 0 0 22px rgba(99,102,241,.025),
                0 0 0 46px rgba(99,102,241,.018);
    pointer-events: none;
}

.pbs-home-hero-decoration {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    z-index: 1;
}

.pbs-hero-orb,
.pbs-hero-ring {
    position: absolute;
    display: block;
    border-radius: 50%;
}

.pbs-hero-orb.orb-one {
    width: 105px;
    height: 105px;
    right: 235px;
    top: -48px;
    background: rgba(59,130,246,.055);
    border: 1px solid rgba(59,130,246,.10);
}

.pbs-hero-orb.orb-two {
    width: 58px;
    height: 58px;
    right: 38px;
    bottom: 28px;
    background: rgba(168,85,247,.055);
    border: 1px solid rgba(168,85,247,.10);
}

.pbs-hero-ring.ring-one {
    width: 170px;
    height: 170px;
    right: -76px;
    top: 28px;
    border: 1px solid rgba(37,99,235,.10);
}

.pbs-hero-ring.ring-two {
    width: 105px;
    height: 105px;
    right: 110px;
    bottom: -60px;
    border: 1px dashed rgba(20,184,166,.11);
}

.pbs-home-hero-content {
    position: relative;
    z-index: 2;
    max-width: 650px;
}

.pbs-home-eyebrow {
    display: inline-flex;
    align-items: center;
    margin: 0 0 15px;
    padding: 7px 11px;
    border: 1px solid rgba(79,70,229,.18);
    border-radius: 8px;
    background: rgba(99,102,241,.06);
    color: #4f46e5;
    font-size: 10px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: 1px;
}

.pbs-home-hero h1 {
    max-width: 680px;
    margin: 0;
    color: #07111f;
    font-size: clamp(42px, 5vw, 60px);
    line-height: 1.02;
    letter-spacing: -2.5px;
    font-weight: 900;
}

.pbs-home-hero h1 span {
    display: block;
    background: linear-gradient(90deg, #2563eb, #7c3aed, #c026d3);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.pbs-home-hero-sub {
    margin: 16px 0 0;
    color: #52657d;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 600;
}

.pbs-home-start-btn {
    min-height: 48px;
    margin-top: 22px;
    padding: 0 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    border-radius: 12px;
    background: linear-gradient(135deg, #db2777, #ef4444 55%, #f97316);
    color: #fff !important;
    text-decoration: none !important;
    font-size: 14px;
    font-weight: 800;
    box-shadow: 0 10px 22px rgba(225,29,72,.18);
    transition: transform .2s ease, box-shadow .2s ease;
}

.pbs-home-start-btn:hover {
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: 0 14px 28px rgba(225,29,72,.24);
}

.pbs-home-start-btn strong {
    font-size: 18px;
    line-height: 1;
}

.pbs-home-hero-logo {
    width: 390px;
    height: 310px;
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent !important;
}

.pbs-hero-glow {
    position: absolute;
    width: 285px;
    height: 285px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(59,130,246,.13), rgba(139,92,246,.08) 42%, rgba(6,182,212,.04) 60%, transparent 73%);
    pointer-events: none;
}

.pbs-home-hero-logo img {
    display: block;
    width: 230px;
    max-width: 100%;
    height: auto;
    object-fit: contain;
    border: 0;
    outline: 0;
    background: transparent;
    filter: drop-shadow(0 12px 18px rgba(30,64,175,.10));
}

/* =========================================================
   THREE FEATURE CARDS
   ========================================================= */
.pbs-home-feature-row {
    width: 100%;
    margin: 0 0 42px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.pbs-home-feature-card {
    min-height: 112px;
    padding: 20px 22px;
    position: relative;
    display: flex;
    align-items: center;
    gap: 15px;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    text-decoration: none !important;
    box-shadow: 0 7px 20px rgba(15,23,42,.035);
    transition: transform .2s ease, box-shadow .2s ease;
}

.feature-blue { background: linear-gradient(135deg,#fff,#f4f8ff); border-color:#dbeafe; }
.feature-violet { background: linear-gradient(135deg,#fff,#faf6ff); border-color:#ede9fe; }
.feature-teal { background: linear-gradient(135deg,#fff,#f0fdfa); border-color:#ccfbf1; }

.pbs-home-feature-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 13px 28px rgba(15,23,42,.08);
}

.pbs-feature-icon {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    font-size: 22px;
}

.feature-blue .pbs-feature-icon { background:#eff6ff; }
.feature-violet .pbs-feature-icon { background:#f5f3ff; }
.feature-teal .pbs-feature-icon { background:#ecfdf5; }

.pbs-feature-content { min-width: 0; }

.pbs-feature-title {
    color:#0f172a;
    font-size:16px;
    line-height:1.3;
    font-weight:800;
}

.pbs-feature-sub {
    margin-top:6px;
    color:#64748b;
    font-size:12px;
    line-height:1.4;
    font-weight:600;
}

.pbs-feature-arrow {
    position:absolute;
    right:18px;
    bottom:15px;
    color:#64748b;
    font-size:16px;
    opacity:0;
    transition:opacity .2s ease, transform .2s ease;
}

.pbs-home-feature-card:hover .pbs-feature-arrow {
    opacity:1;
    transform:translateX(3px);
}

/* =========================================================
   QUICK ACCESS — NO EXTRA OUTER CONTAINER
   ========================================================= */
.pbs-home-quick-section {
    width: 100%;
    margin: 0 0 38px;
    padding: 0;
    background: transparent !important;
    border: 0 !important;
}

.pbs-home-section-heading {
    width:100%;
    margin:0 0 18px;
}

.pbs-home-section-heading span {
    display:block;
    color:#0f172a;
    font-size:22px;
    line-height:1.2;
    font-weight:900;
    letter-spacing:-.4px;
}

.pbs-home-section-heading small {
    display:block;
    margin-top:5px;
    color:#718096;
    font-size:12px;
    font-weight:600;
}

.pbs-home-quick-grid {
    width:100%;
    margin:0;
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:15px;
    background:transparent;
}

.pbs-home-quick-card {
    min-height:128px;
    padding:20px 12px 18px;
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:11px;
    border:1px solid #e2e8f0;
    border-radius:15px;
    background:#fff;
    text-decoration:none !important;
    box-shadow:0 6px 18px rgba(15,23,42,.035);
    overflow:hidden;
    transition:transform .2s ease, box-shadow .2s ease;
}

.pbs-home-quick-card::before {
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:4px;
}

.quick-blue::before { background:linear-gradient(90deg,#2563eb,#38bdf8); }
.quick-violet::before { background:linear-gradient(90deg,#7c3aed,#c026d3); }
.quick-pink::before { background:linear-gradient(90deg,#db2777,#fb7185); }
.quick-cyan::before { background:linear-gradient(90deg,#0891b2,#14b8a6); }
.quick-orange::before { background:linear-gradient(90deg,#ea580c,#f59e0b); }

.pbs-home-quick-card:hover {
    transform:translateY(-3px);
    box-shadow:0 13px 28px rgba(15,23,42,.08);
}

.pbs-quick-icon {
    width:44px;
    height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    font-size:21px;
}

.quick-blue .pbs-quick-icon { background:#eff6ff; }
.quick-violet .pbs-quick-icon { background:#f5f3ff; }
.quick-pink .pbs-quick-icon { background:#fdf2f8; }
.quick-cyan .pbs-quick-icon { background:#ecfeff; }
.quick-orange .pbs-quick-icon { background:#fff7ed; }

.pbs-home-quick-card h3 {
    margin:0;
    color:#0f172a;
    font-size:14px;
    line-height:1.3;
    font-weight:800;
    text-align:center;
}

/* =========================================================
   LEARN / PRACTICE / TEST
   ========================================================= */
.pbs-home-info-strip {
    width:100%;
    margin:0 0 8px;
    padding:12px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    border:1px solid #e2e8f0;
    border-radius:16px;
    background:#fff;
    box-shadow:0 6px 18px rgba(15,23,42,.03);
}

.pbs-info-item {
    min-height:62px;
    padding:8px 20px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    border-right:1px solid #e5e7eb;
}

.pbs-info-item:last-child { border-right:0; }

.pbs-info-number {
    color:#94a3b8;
    font-size:10px;
    font-weight:900;
}

.pbs-info-item strong {
    display:block;
    color:#0f172a;
    font-size:14px;
    line-height:1.25;
    font-weight:900;
}

.pbs-info-item span {
    display:block;
    margin-top:3px;
    color:#64748b;
    font-size:10px;
    line-height:1.3;
    font-weight:600;
}

/* =========================================================
   DARK MODE
   ========================================================= */
html.dark-mode .pbs-home,
body.dark-mode .pbs-home {
    color:#e2e8f0;
}

html.dark-mode .pbs-home-hero,
body.dark-mode .pbs-home-hero {
    border: 1px solid rgba(148,163,184,.18);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.025),
                0 14px 35px rgba(0,0,0,.12);
    background:
        radial-gradient(circle at 84% 24%,rgba(124,58,237,.18),transparent 28%),
        radial-gradient(circle at 68% 90%,rgba(6,182,212,.08),transparent 30%),
        linear-gradient(115deg,#07151a,#0b1220 48%,#11102a);
}

html.dark-mode .pbs-home-eyebrow,
body.dark-mode .pbs-home-eyebrow {
    border-color:rgba(129,140,248,.22);
    background:rgba(99,102,241,.10);
    color:#93c5fd;
}

html.dark-mode .pbs-home-hero h1,
body.dark-mode .pbs-home-hero h1 { color:#f8fafc; }

html.dark-mode .pbs-home-hero-sub,
body.dark-mode .pbs-home-hero-sub { color:#94a3b8; }

html.dark-mode .pbs-home-feature-card,
body.dark-mode .pbs-home-feature-card,
html.dark-mode .pbs-home-quick-card,
body.dark-mode .pbs-home-quick-card,
html.dark-mode .pbs-home-info-strip,
body.dark-mode .pbs-home-info-strip {
    background:#0f172a;
    border-color:#1e293b;
    box-shadow:0 8px 22px rgba(0,0,0,.16);
}

html.dark-mode .pbs-feature-title,
body.dark-mode .pbs-feature-title,
html.dark-mode .pbs-home-quick-card h3,
body.dark-mode .pbs-home-quick-card h3,
html.dark-mode .pbs-info-item strong,
body.dark-mode .pbs-info-item strong,
html.dark-mode .pbs-home-section-heading span,
body.dark-mode .pbs-home-section-heading span { color:#f8fafc; }

html.dark-mode .pbs-feature-sub,
body.dark-mode .pbs-feature-sub,
html.dark-mode .pbs-home-section-heading small,
body.dark-mode .pbs-home-section-heading small,
html.dark-mode .pbs-info-item span,
body.dark-mode .pbs-info-item span { color:#94a3b8; }

html.dark-mode .pbs-info-item,
body.dark-mode .pbs-info-item { border-right-color:#263244; }

/* =========================================================
   TABLET
   ========================================================= */
@media (max-width: 1000px) {
    .pbs-home { padding-left:18px; padding-right:18px; }
    .pbs-home-hero { grid-template-columns:minmax(0,1fr) 310px; padding:36px; }
    .pbs-home-hero-logo { width:310px; }
    .pbs-home-hero-logo img { width:200px; }
    .pbs-home-hero h1 { font-size:46px; }
    .pbs-home-quick-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width: 800px) {
    .pbs-home-hero { grid-template-columns:minmax(0,1fr) 250px; padding:30px; }
    .pbs-home-hero-logo { width:250px; }
    .pbs-home-hero-logo img { width:175px; }
    .pbs-home-hero h1 { font-size:40px; }
}

/* =========================================================
   MOBILE
   ========================================================= */
@media (max-width: 700px) {
    .pbs-home {
        padding:0 12px 34px;
    }

    .pbs-home-hero {
        min-height:0;
        margin-bottom:20px;
        padding:26px 18px 16px;
        display:block;
        text-align:center;
        border-radius:20px;
    }

    .pbs-home-eyebrow {
        margin-left:auto;
        margin-right:auto;
        font-size:9px;
    }

    .pbs-home-hero h1 {
        font-size:34px;
        letter-spacing:-1.5px;
    }

    .pbs-home-hero-sub {
        margin-top:11px;
        font-size:11px;
    }

    .pbs-home-start-btn {
        min-height:44px;
        margin-top:17px;
        padding:0 18px;
        font-size:13px;
    }

    .pbs-home-hero-logo {
        width:100%;
        height:185px;
        margin-top:4px;
    }

    .pbs-home-hero-logo img { width:165px; }
    .pbs-hero-glow { width:170px; height:170px; }

    .pbs-hero-orb.orb-one { right:-28px; top:-34px; width:88px; height:88px; }
    .pbs-hero-orb.orb-two { right:24px; bottom:18px; width:48px; height:48px; }
    .pbs-hero-ring.ring-one { right:-58px; top:36px; width:130px; height:130px; }
    .pbs-hero-ring.ring-two { right:70px; bottom:-52px; width:90px; height:90px; }

    .pbs-home-feature-row {
        grid-template-columns:1fr;
        gap:10px;
        margin-bottom:32px;
    }

    .pbs-home-feature-card {
        min-height:82px;
        padding:15px 17px;
        border-radius:13px;
    }

    .pbs-feature-icon {
        width:42px;
        height:42px;
        flex-basis:42px;
        font-size:20px;
    }

    .pbs-feature-title { font-size:15px; }
    .pbs-feature-sub { font-size:11px; margin-top:4px; }

    .pbs-home-quick-section { margin-bottom:30px; }
    .pbs-home-section-heading { margin-bottom:14px; }
    .pbs-home-section-heading span { font-size:20px; }
    .pbs-home-section-heading small { font-size:10px; }

    .pbs-home-quick-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
    }

    .pbs-home-quick-card {
        min-height:105px;
        padding:17px 9px 15px;
        border-radius:13px;
    }

    .pbs-home-quick-card:last-child {
        grid-column:1 / -1;
        width:calc(50% - 5px);
        justify-self:center;
    }

    .pbs-quick-icon { width:40px; height:40px; font-size:20px; }
    .pbs-home-quick-card h3 { font-size:13px; }

    .pbs-home-info-strip {
        margin-bottom:0;
        padding:5px;
        grid-template-columns:1fr;
        border-radius:13px;
    }

    .pbs-info-item {
        min-height:54px;
        padding:8px 12px;
        justify-content:flex-start;
        border-right:0;
        border-bottom:1px solid #e5e7eb;
    }

    .pbs-info-item:last-child { border-bottom:0; }
    .pbs-info-item strong { font-size:13px; }
    .pbs-info-item span { font-size:10px; }
}

@media (max-width: 380px) {
    .pbs-home { padding-left:10px; padding-right:10px; }
    .pbs-home-hero h1 { font-size:30px; }
    .pbs-home-hero-logo { height:165px; }
    .pbs-home-hero-logo img { width:150px; }
    .pbs-feature-title { font-size:14px; }
    .pbs-feature-sub { font-size:10px; }
    .pbs-home-quick-card h3 { font-size:12px; }
}
