/* ===========================================================
   HERO REPORT VULNERABILITY
=========================================================== */

#hero-report{

padding:140px 0 90px;

position:relative;

overflow:hidden;

background:
radial-gradient(circle at top right,
rgba(47,109,246,.12),
transparent 45%),
linear-gradient(180deg,
#07111f 0%,
#091523 100%);

}

.hero-report-grid{

display:grid;

grid-template-columns:1.1fr .9fr;

gap:70px;

align-items:center;

}

.hero-report-content h1{

font-size:56px;

font-weight:800;

line-height:1.08;

color:#fff;

margin-bottom:30px;

}

.hero-report-content h1 span{

display:block;

margin-top:18px;

font-size:24px;

font-weight:400;

line-height:1.45;

color:#8fa4bf;

}

.hero-description{

font-size:18px;

line-height:1.9;

color:#b7c4d6;

margin-bottom:40px;

}

.hero-checks{

display:grid;

grid-template-columns:repeat(2,minmax(220px,1fr));

gap:18px;

margin-bottom:45px;

}

.hero-checks div{

display:flex;

align-items:center;

gap:14px;

color:#e8edf5;

font-weight:600;

}

.hero-checks i{

color:#2f6df6;

font-size:20px;

width:22px;

text-align:center;

}

.hero-report-image{

text-align:center;

}

.hero-report-image img{

max-width:100%;

filter:

drop-shadow(0 25px 60px rgba(47,109,246,.25));

}

@media(max-width:991px){

.hero-report-grid{

grid-template-columns:1fr;

}

.hero-report-content{

order:2;

}

.hero-report-image{

order:1;

margin-bottom:40px;

}

.hero-report-content h1{

font-size:42px;

}

.hero-checks{

grid-template-columns:1fr;

}

}

/* ===========================================================
   SECURITY DISCLOSURE PROCESS
=========================================================== */

#disclosure-process{

padding:100px 0;

background:#081321;

}

.process-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:30px;

margin-top:70px;

}

.process-card{

position:relative;

padding:40px 30px;

border-radius:18px;

background:rgba(255,255,255,.03);

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

backdrop-filter:blur(12px);

transition:.3s;

text-align:center;

}

.process-card:hover{

transform:translateY(-8px);

border-color:rgba(47,109,246,.4);

box-shadow:0 20px 40px rgba(0,0,0,.35);

}

.process-number{

position:absolute;

top:20px;

right:20px;

font-size:14px;

font-weight:700;

color:#5f7492;

}

.process-icon{

font-size:44px;

margin-bottom:25px;

color:var(--sc-primary);

}

.process-card h3{

font-size:22px;

margin-bottom:18px;

color:#fff;

}

.process-card p{

font-size:16px;

line-height:1.8;

color:#a9b7c8;

}

@media(max-width:1100px){

.process-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.process-grid{

grid-template-columns:1fr;

}

}

/* ===========================================================
   BEFORE SUBMIT
=========================================================== */

#before-submit{

padding:110px 0;

background:#0b1728;

}

.guidelines-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:28px;

margin-top:70px;

}

.guideline-card{

padding:35px;

border-radius:18px;

background:rgba(255,255,255,.03);

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

transition:.35s;

}

.guideline-card:hover{

transform:translateY(-8px);

border-color:rgba(47,109,246,.35);

box-shadow:0 20px 40px rgba(0,0,0,.35);

}

.guideline-icon{

width:72px;

height:72px;

border-radius:18px;

display:flex;

align-items:center;

justify-content:center;

background:linear-gradient(135deg,#2f6df6,#3b82f6);

margin-bottom:25px;

}

.guideline-icon i{

font-size:28px;

color:#fff;

}

.guideline-card h3{

font-size:22px;

color:#fff;

margin-bottom:16px;

}

.guideline-card p{

font-size:16px;

line-height:1.8;

color:#b6c3d4;

}

@media(max-width:1100px){

.guidelines-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.guidelines-grid{

grid-template-columns:1fr;

}

}

/* ===========================================================
   RESPONSIBLE DISCLOSURE COMMITMENT
=========================================================== */

.security-commitment{

margin-top:80px;

display:flex;

align-items:center;

gap:35px;

padding:40px 45px;

border-radius:22px;

background:
linear-gradient(135deg,
rgba(47,109,246,.12),
rgba(13,21,35,.95));

border:1px solid rgba(47,109,246,.30);

box-shadow:
0 20px 50px rgba(0,0,0,.35);

overflow:hidden;

position:relative;

}

.security-commitment::before{

content:"";

position:absolute;

left:0;

top:0;

bottom:0;

width:6px;

background:linear-gradient(
180deg,
#2f6df6,
#4f8cff);

}

.security-commitment-icon{

width:110px;

height:110px;

min-width:110px;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

background:linear-gradient(
135deg,
#2f6df6,
#4f8cff);

box-shadow:
0 0 35px rgba(47,109,246,.45);

}

.security-commitment-icon i{

font-size:46px;

color:#fff;

}

.security-commitment-content span{

display:inline-block;

font-size:13px;

letter-spacing:2px;

font-weight:700;

color:#6ea8ff;

margin-bottom:12px;

text-transform:uppercase;

}

.security-commitment-content h3{

font-size:32px;

color:#fff;

margin-bottom:18px;

}

.security-commitment-content p{

font-size:18px;

line-height:1.9;

color:#c4d0de;

max-width:900px;

}

.security-commitment-content strong{

color:#ffffff;

font-weight:700;

}

@media(max-width:900px){

.security-commitment{

flex-direction:column;

text-align:center;

padding:35px;

}

.security-commitment-icon{

margin-bottom:10px;

}

.security-commitment-content h3{

font-size:28px;

}

}

/* ===========================================================
   SAFE HARBOR
=========================================================== */

#safe-harbor{

padding:120px 0;

background:#081321;

}

.safe-harbor-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:70px;

align-items:center;

}

.safe-content h2{

font-size:46px;

color:#fff;

margin-bottom:30px;

}

.safe-content p{

font-size:18px;

line-height:1.9;

color:#b8c5d6;

margin-bottom:25px;

}

.safe-box{

background:rgba(255,255,255,.03);

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

border-radius:22px;

padding:45px;

backdrop-filter:blur(10px);

}

.safe-item{

display:flex;

gap:20px;

padding:22px 0;

border-bottom:1px solid rgba(255,255,255,.08);

}

.safe-item:last-child{

border-bottom:none;

}

.safe-item i{

font-size:26px;

color:#2f6df6;

margin-top:5px;

width:30px;

}

.safe-item h3{

font-size:22px;

color:#fff;

margin-bottom:8px;

}

.safe-item p{

font-size:16px;

line-height:1.8;

color:#b5c2d4;

margin:0;

}

@media(max-width:991px){

.safe-harbor-grid{

grid-template-columns:1fr;

}

}

/* ===========================================================
   RESPONSE TIMELINE
=========================================================== */

#response-timeline{

padding:120px 0;

background:#0b1728;

}

.timeline{

position:relative;

max-width:1000px;

margin:80px auto 0;

}

.timeline::before{

content:"";

position:absolute;

left:28px;

top:0;

bottom:0;

width:2px;

background:linear-gradient(
180deg,
#2f6df6,
rgba(47,109,246,.15));

}

.timeline-item{

display:flex;

gap:35px;

margin-bottom:55px;

position:relative;

}

.timeline-item:last-child{

margin-bottom:0;

}

.timeline-dot{

width:58px;

height:58px;

border-radius:50%;

background:#2f6df6;

box-shadow:

0 0 0 8px rgba(47,109,246,.15);

position:relative;

z-index:2;

flex-shrink:0;

}

.timeline-card{

flex:1;

padding:32px;

border-radius:18px;

background:rgba(255,255,255,.03);

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

transition:.35s;

}

.timeline-card:hover{

transform:translateY(-6px);

border-color:rgba(47,109,246,.4);

}

.timeline-time{

display:inline-block;

padding:8px 18px;

border-radius:50px;

background:rgba(47,109,246,.12);

color:#69a0ff;

font-size:13px;

font-weight:700;

letter-spacing:1px;

text-transform:uppercase;

margin-bottom:18px;

}

.timeline-card h3{

font-size:26px;

color:#fff;

margin-bottom:15px;

}

.timeline-card p{

font-size:17px;

line-height:1.8;

color:#b8c5d6;

margin:0;

}

@media(max-width:768px){

.timeline::before{

left:20px;

}

.timeline-dot{

width:42px;

height:42px;

}

.timeline-item{

gap:20px;

}

.timeline-card{

padding:25px;

}

.timeline-card h3{

font-size:22px;

}

}

/* ===========================================================
   REPORT REQUIREMENTS
=========================================================== */

#report-requirements{

padding:120px 0;

background:#081321;

}

.requirements-grid{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:35px;

margin-top:70px;

}

.requirements-card{

border-radius:22px;

padding:40px;

background:rgba(255,255,255,.03);

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

backdrop-filter:blur(12px);

transition:.35s;

}

.requirements-card:hover{

transform:translateY(-8px);

}

.requirements-card.success{

border-top:5px solid #20c997;

}

.requirements-card.warning{

border-top:5px solid #ff9800;

}

.requirements-header{

display:flex;

align-items:center;

gap:18px;

margin-bottom:30px;

}

.requirements-header i{

font-size:34px;

}

.success .requirements-header i{

color:#20c997;

}

.warning .requirements-header i{

color:#ff9800;

}

.requirements-header h3{

font-size:28px;

color:#fff;

margin:0;

}

.requirements-card ul{

list-style:none;

padding:0;

margin:0;

}

.requirements-card li{

display:flex;

align-items:flex-start;

gap:15px;

padding:15px 0;

border-bottom:1px solid rgba(255,255,255,.06);

font-size:17px;

color:#c3d0df;

line-height:1.7;

}

.requirements-card li:last-child{

border-bottom:none;

}

.success li i{

color:#20c997;

margin-top:4px;

}

.warning li i{

color:#ff9800;

margin-top:4px;

}

@media(max-width:992px){

.requirements-grid{

grid-template-columns:1fr;

}

}

/* ===========================================================
   CONTACT & REPORT FORM
=========================================================== */

#report-contact{

padding:120px 0;

background:#0b1728;

}

.report-grid{

display:grid;

grid-template-columns:380px 1fr;

gap:45px;

margin-top:70px;

}

.contact-card,
.report-form-card{

background:rgba(255,255,255,.03);

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

border-radius:22px;

padding:40px;

backdrop-filter:blur(12px);

}

.contact-card h3{

font-size:30px;

color:#fff;

margin-bottom:20px;

}

.contact-card p{

color:#b8c5d6;

line-height:1.8;

margin-bottom:35px;

}

.contact-item{

display:flex;

gap:18px;

margin-bottom:28px;

align-items:flex-start;

}

.contact-item i{

width:48px;

height:48px;

display:flex;

align-items:center;

justify-content:center;

border-radius:14px;

background:#2f6df6;

color:#fff;

font-size:18px;

}

.contact-item span{

display:block;

font-size:13px;

color:#7ea8ff;

text-transform:uppercase;

margin-bottom:6px;

}

.contact-item strong{

color:#fff;

font-size:17px;

font-weight:600;

}

.contact-note{

margin-top:35px;

padding:18px;

border-radius:14px;

background:rgba(47,109,246,.10);

border-left:4px solid #2f6df6;

color:#c8d4e2;

line-height:1.7;

}

.contact-note i{

margin-right:10px;

color:#69a0ff;

}

.form-row{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:20px;

}

.form-group{

margin-bottom:22px;

}

.form-group label{

display:block;

margin-bottom:8px;

color:#fff;

font-weight:600;

}

.form-group input,
.form-group textarea{

width:100%;

padding:15px;

border-radius:12px;

border:1px solid rgba(255,255,255,.10);

background:rgba(255,255,255,.04);

color:#fff;

font-size:15px;

transition:.3s;

box-sizing:border-box;

}

.form-group input:focus,
.form-group textarea:focus{

outline:none;

border-color:#2f6df6;

box-shadow:0 0 0 3px rgba(47,109,246,.15);

}

.form-group textarea{

resize:vertical;

min-height:140px;

}

.checkbox-group{

display:flex;

gap:12px;

align-items:flex-start;

margin:25px 0;

color:#c4d0df;

line-height:1.7;

}

.btn-primary{

padding:16px 32px;

border:none;

border-radius:50px;

background:#2f6df6;

color:#fff;

font-size:16px;

font-weight:600;

cursor:pointer;

transition:.3s;

}

.btn-primary:hover{

background:#4b82ff;

transform:translateY(-2px);

}

@media(max-width:991px){

.report-grid{

grid-template-columns:1fr;

}

.form-row{

grid-template-columns:1fr;

}

}

.notification{

    display:flex;
    align-items:flex-start;
    gap:20px;

    width:100%;

    margin-top:25px;

    padding:24px;

    border-radius:18px;

    background:#111827;

    color:#fff;

    border-left:6px solid transparent;

    opacity:0;

    max-height:0;

    overflow:hidden;

    transition:all .35s ease;

    box-sizing:border-box;

}

.notification.show{

    opacity:1;

    max-height:300px;

}

.notification.success{

    border-left-color:#16c47f;

}

.notification.error{

    border-left-color:#ef4444;

}

.notification-icon{

    font-size:34px;

}

.notification.success i{

    color:#16c47f;

}

.notification.error i{

    color:#ef4444;

}

.notification h4{

    margin:0 0 8px;

    font-size:20px;

    color:#fff;

}

.notification p{

    margin:0;

    color:#d6d6d6;

}

.notification span{

    display:block;

    margin-top:15px;

    color:#9ca3af;

}

.hidden{

    display:none;

}