/* ==========================================
   CINEMATIC SECTIONS
========================================== */

.cinematic-section{
    position:relative;
    min-height:92vh;
    padding:130px min(8vw, 120px);
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:70px;
    align-items:center;
    overflow:hidden;
}

.cinematic-section::before{
    content:"";
    position:absolute;
    inset:8% 4%;
    border:1px solid rgba(255,106,0,.07);
    border-radius:34px;
    background:linear-gradient(145deg, rgba(255,255,255,.018), transparent);
    pointer-events:none;
}

.scene-number{
    position:absolute;
    top:70px;
    left:min(8vw, 120px);
    font-family:var(--font-heading);
    font-size:clamp(8rem, 18vw, 18rem);
    line-height:1;
    color:rgba(255,106,0,.045);
    z-index:0;
    pointer-events:none;
}

.scene-content{
    position:relative;
    z-index:2;
    max-width:720px;
}

.scene-content.right{
    justify-self:end;
}

.scene-content h2,
.final-card h2{
    font-family:var(--font-heading);
    font-size:clamp(3.8rem, 7vw, 7.5rem);
    line-height:.88;
    text-transform:uppercase;
    color:var(--color-white);
    margin-bottom:28px;
}

.scene-content p,
.final-card p{
    color:var(--color-muted);
    font-size:1.08rem;
    line-height:1.85;
}

.scene-actions{
    margin-top:38px;
    display:flex;
    gap:16px;
    flex-wrap:wrap;
}

.scene-panel,
.feature-terminal,
.progress-dashboard,
.final-card{
    position:relative;
    z-index:2;
    border-radius:32px;
    background:linear-gradient(145deg, rgba(22,22,22,.72), rgba(7,7,7,.86));
    border:1px solid rgba(255,106,0,.16);
    box-shadow:0 35px 100px rgba(0,0,0,.5), 0 0 70px rgba(255,106,0,.08);
    backdrop-filter:blur(18px);
}

.scene-panel{
    padding:55px;
}

.scene-panel::before{
    content:"";
    position:absolute;
    inset:auto 40px 40px auto;
    width:140px;
    height:140px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(255,106,0,.22), transparent 70%);
    filter:blur(18px);
}

.panel-line{
    width:90px;
    height:3px;
    background:var(--color-primary);
    margin-bottom:35px;
    box-shadow:0 0 22px rgba(255,106,0,.8);
}

.scene-panel h3{
    font-size:2rem;
    color:var(--color-white);
    margin-bottom:18px;
}

.scene-panel p{
    color:var(--color-muted);
    line-height:1.75;
}

.split-section{
    grid-template-columns:.95fr 1.05fr;
}

.feature-terminal{
    padding:0;
    overflow:hidden;
}

.terminal-header{
    display:flex;
    align-items:center;
    gap:10px;
    padding:18px 22px;
    border-bottom:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.035);
}

.terminal-header span{
    width:10px;
    height:10px;
    border-radius:50%;
    background:var(--color-primary);
    box-shadow:0 0 14px rgba(255,106,0,.7);
}

.terminal-header p{
    margin-left:12px;
    color:var(--color-muted);
    font-size:.82rem;
    letter-spacing:2px;
    font-weight:900;
}

.terminal-lines{
    padding:44px;
}

.terminal-lines p{
    color:var(--color-muted);
    font-family:monospace;
    font-size:1.05rem;
    margin-bottom:18px;
}

.terminal-lines b{
    color:var(--color-primary);
}

.mini-grid{
    margin-top:42px;
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:16px;
}

.mini-grid div{
    padding:22px 18px;
    border-radius:22px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
    text-align:center;
}

.mini-grid strong{
    display:block;
    font-size:2rem;
    margin-bottom:10px;
}

.mini-grid span{
    color:var(--color-muted);
    font-weight:900;
}

.progress-dashboard{
    padding:34px;
    display:grid;
    gap:18px;
}

.quote-cinematic{
    position:relative;
    min-height:80vh;
    padding:120px 20px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}

.quote-bg-word{
    position:absolute;
    font-family:var(--font-heading);
    font-size:clamp(7rem, 20vw, 20rem);
    color:rgba(255,106,0,.035);
    pointer-events:none;
}

.final-scene{
    min-height:90vh;
    display:flex;
    justify-content:center;
}

.final-card{
    width:min(1000px, 100%);
    padding:80px;
    text-align:center;
}