/* =====================================
AUTO PAGE DETECTION SYSTEM
===================================== */

.index,
.about,
.services,
.contact,
.membership,
.search,
.citation-generator,
.resolver{

background:
linear-gradient(
180deg,
#020817,
#071225,
#020817
);

color:white;

min-height:100vh;

}

/* =====================================
COMMON PAGE WRAPPER
===================================== */

.page-container{

max-width:1300px;

margin:auto;

padding:120px 20px 80px;

}

.page-card{

background:
rgba(255,255,255,.04);

border:
1px solid rgba(255,255,255,.06);

backdrop-filter:
blur(20px);

border-radius:30px;

padding:40px;

box-shadow:
0 20px 60px rgba(0,0,0,.25);

}

/* =====================================
PAGE HEADERS
===================================== */

.page-header{

margin-bottom:50px;

text-align:center;

}

.page-header h1{

font-size:60px;

font-weight:700;

letter-spacing:-2px;

margin-bottom:15px;

}

.page-header p{

color:#9fb2d4;

font-size:18px;

max-width:800px;

margin:auto;

}

/* =====================================
FORMS
===================================== */

.form-control,
.form-select{

background:
rgba(255,255,255,.05);

border:
1px solid rgba(255,255,255,.08);

color:white;

border-radius:16px;

padding:14px;

}

.form-control:focus,
.form-select:focus{

background:
rgba(255,255,255,.08);

border-color:#2563ff;

box-shadow:none;

color:white;

}

.form-control::placeholder{

color:#94a3b8;

}

/* =====================================
TABLES
===================================== */

.table{

color:white;

}

.table th{

background:
rgba(255,255,255,.05);

border:none;

padding:18px;

}

.table td{

padding:18px;

border-color:
rgba(255,255,255,.05);

}

/* =====================================
DOI LANDING PAGE
===================================== */

.resolver .page-card,
.landing .page-card,
.article .page-card{

max-width:1200px;

margin:auto;

}

.resolver .page-header h1,
.landing .page-header h1{

font-size:46px;

}

/* =====================================
CONTACT PAGE
===================================== */

.contact .page-card{

max-width:900px;

margin:auto;

}

/* =====================================
SEARCH PAGE
===================================== */

.search .page-card{

max-width:1100px;

margin:auto;

}

/* =====================================
MEMBERSHIP PAGE
===================================== */

.membership .pricing-card{

height:100%;

background:
rgba(255,255,255,.04);

border:
1px solid rgba(255,255,255,.06);

border-radius:30px;

padding:40px;

transition:.4s;

}

.membership .pricing-card:hover{

transform:
translateY(-10px);

border-color:
rgba(37,99,255,.4);

}

/* =====================================
ABOUT PAGE
===================================== */

.about .about-image{

border-radius:30px;

overflow:hidden;

}

/* =====================================
SERVICES PAGE
===================================== */

.services .service-card{

height:100%;

}

/* =====================================
MOBILE
===================================== */

@media(max-width:768px){

.page-container{

padding:
110px 15px 50px;

}

.page-card{

padding:25px;

}

.page-header h1{

font-size:38px;

}

}
/* ==========================
FOOTER
========================== */

.footer-section{
padding:80px 0 40px;
}

.footer-box{

background:
rgba(255,255,255,.04);

border:
1px solid rgba(255,255,255,.06);

border-radius:30px;

padding:50px;

backdrop-filter:blur(20px);

}

.footer-logo{

font-size:32px;

font-weight:700;

margin-bottom:20px;

}

.footer-text{

color:#9fb2d4;

line-height:1.8;

}

.footer-links{

list-style:none;

padding:0;

margin:0;

}

.footer-links li{

margin-bottom:12px;

}

.footer-links a{

color:#9fb2d4;

text-decoration:none;

transition:.3s;

}

.footer-links a:hover{

color:#fff;

}

.footer-divider{

border-color:
rgba(255,255,255,.08);

margin:40px 0;

}

.footer-bottom{

display:flex;

justify-content:space-between;

flex-wrap:wrap;

gap:15px;

color:#94a3b8;

font-size:14px;

}
.social-icons{

margin-top:20px;

display:flex;

gap:12px;

}

.social-icons a{

width:42px;
height:42px;

display:flex;

align-items:center;
justify-content:center;

border-radius:50%;

background:
rgba(255,255,255,.06);

color:white;

text-decoration:none;

transition:.3s;

}

.social-icons a:hover{

background:#2563ff;

transform:translateY(-3px);

}
.footer-section{
padding:80px 0 40px;
}

.footer-box{
background:rgba(255,255,255,.04);
border:1px solid rgba(255,255,255,.06);
border-radius:30px;
padding:50px;
backdrop-filter:blur(20px);
}

.footer-logo{
font-size:32px;
font-weight:700;
margin-bottom:20px;
}

.footer-text{
color:#9fb2d4;
line-height:1.8;
}

.footer-links{
list-style:none;
padding:0;
margin:0;
}

.footer-links li{
margin-bottom:12px;
}

.footer-links a{
color:#9fb2d4;
text-decoration:none;
transition:.3s;
}

.footer-links a:hover

.footer-divider{
border-color:rgba(255,255,255,.08);
margin:40px 0;
}

.footer-bottom{
display:flex;
justify-content:space-between;
align-items:center;
flex-wrap:wrap;
gap:15px;
color:#94a3b8;
font-size:14px;
}

.social-icons{
display:flex;
gap:12px;
margin-top:20px;
}

.social-icons a{
width:42px;
height:42px;
display:flex;
align-items:center;
justify-content:center;
border-radius:50%;
background:rgba(255,255,255,.06);
color:white;
text-decoration:none;
transition:.3s;
}

.social-icons a:hover{
background:#2563ff;
transform:translateY(-3px);
}

@media(max-width:768px){

.footer-box{
padding:30px;
}

.footer-bottom{
text-align:center;
justify-content:center;
}

}
.pricing-card{

background:
rgba(255,255,255,.04);

border:
1px solid rgba(255,255,255,.06);

border-radius:30px;

padding:40px;

height:100%;

transition:.3s;

}

.pricing-card:hover{

transform:
translateY(-10px);

border-color:
rgba(37,99,255,.4);

}

.pricing-card ul{

padding-left:20px;

line-height:2;

}
.accordion-item{

background:
rgba(255,255,255,.04);

border:
1px solid rgba(255,255,255,.06);

margin-bottom:15px;

border-radius:20px;

overflow:hidden;

}

.accordion-button{

background:
rgba(255,255,255,.03);

color:white;

font-weight:600;

box-shadow:none;

}

.accordion-button:not(.collapsed){

background:
rgba(37,99,255,.15);

color:white;

}

.accordion-button::after{

filter:brightness(0) invert(1);

}

.accordion-body{

background:
rgba(255,255,255,.02);

color:#cbd5e1;

}.accordion-item{

background:
rgba(255,255,255,.04);

border:
1px solid rgba(255,255,255,.06);

margin-bottom:15px;

border-radius:20px;

overflow:hidden;

}

.accordion-button{

background:
rgba(255,255,255,.03);

color:white;

font-weight:600;

box-shadow:none;

}

.accordion-button:not(.collapsed){

background:
rgba(37,99,255,.15);

color:white;

}

.accordion-button::after{

filter:brightness(0) invert(1);

}

.accordion-body{

background:
rgba(255,255,255,.02);

color:#cbd5e1;

}
.accordion-item{

background:
rgba(255,255,255,.04);

border:
1px solid rgba(255,255,255,.06);

margin-bottom:15px;

border-radius:20px;

overflow:hidden;

}

.accordion-button{

background:
rgba(255,255,255,.03);

color:white;

font-weight:600;

box-shadow:none;

}

.accordion-button:not(.collapsed){

background:
rgba(37,99,255,.15);

color:white;

}

.accordion-button::after{

filter:brightness(0) invert(1);

}

.accordion-body{

background:
rgba(255,255,255,.02);

color:#cbd5e1;

}
.page-card h3{
font-weight:700;
}

.text-info{
color:#38bdf8!important;
font-weight:600;
word-break:break-all;
}

.text-secondary{
color:#94a3b8!important;
}

.btn-main{
display:inline-block;
padding:14px 30px;
border-radius:14px;
background:linear-gradient(135deg,#2563ff,#00c6ff);
color:white;
text-decoration:none;
border:none;
font-weight:600;
}

.form-label{
font-weight:600;
margin-bottom:10px;
}

.page-card form{
max-width:1000px;
margin:auto;
}

.btn-main i{
margin-right:8px;
}
.text-secondary{
color:#94a3b8!important;
}

.badge{
font-size:15px;
border-radius:50px;
}

.page-card img{
background:white;
padding:10px;
border-radius:20px;
}
.citation-output{

background:
rgba(255,255,255,.03);

border:
1px solid rgba(255,255,255,.06);

padding:25px;

border-radius:16px;

line-height:2;

color:#cbd5e1;

word-break:break-word;

}

pre{

background:#020817;

padding:25px;

border-radius:18px;

color:#38bdf8;

overflow:auto;

}
/* =====================================
COMMON PAGE LAYOUT
===================================== */

.page-container{
max-width:1200px;
margin:120px auto 80px;
padding:0 20px;
}

.page-header{
text-align:center;
margin-bottom:50px;
}

.page-header h1{
font-size:52px;
font-weight:700;
margin-bottom:15px;
}

.page-header h2{
font-size:40px;
font-weight:700;
margin-bottom:15px;
}

.page-header p{
max-width:800px;
margin:auto;
color:#94a3b8;
font-size:18px;
line-height:1.8;
}

/* =====================================
CARDS
===================================== */

.page-card{

background:
rgba(255,255,255,.04);

border:
1px solid rgba(255,255,255,.06);

border-radius:28px;

padding:35px;

backdrop-filter:blur(20px);

box-shadow:
0 10px 40px rgba(0,0,0,.25);

}

.page-card h2,
.page-card h3,
.page-card h4{
font-weight:700;
}

.page-card p{
color:#cbd5e1;
line-height:1.9;
}

/* =====================================
BUTTONS
===================================== */

.btn-main{

display:inline-block;

padding:14px 30px;

border-radius:14px;

background:
linear-gradient(
135deg,
#2563ff,
#00c6ff
);

color:white;

text-decoration:none;

font-weight:600;

border:none;

transition:.3s;

}

.btn-main:hover{

transform:translateY(-2px);

color:white;

}

.btn-glass{

display:inline-block;

padding:14px 30px;

border-radius:14px;

background:
rgba(255,255,255,.08);

border:
1px solid rgba(255,255,255,.08);

color:white;

text-decoration:none;

transition:.3s;

}

.btn-glass:hover{

background:
rgba(255,255,255,.12);

color:white;

}

/* =====================================
SERVICE CARDS
===================================== */

.service-card{

background:
rgba(255,255,255,.04);

border:
1px solid rgba(255,255,255,.06);

border-radius:25px;

padding:35px;

height:100%;

transition:.3s;

}

.service-card:hover{

transform:
translateY(-8px);

border-color:
rgba(37,99,255,.35);

}

.service-icon{

width:70px;
height:70px;

margin:auto auto 20px;

display:flex;
align-items:center;
justify-content:center;

border-radius:18px;

background:
rgba(37,99,255,.15);

font-size:30px;

color:#38bdf8;

}

.service-card h4{

margin-bottom:15px;

}

.service-card p{

color:#94a3b8;

}

/* =====================================
PRICING CARDS
===================================== */

.pricing-card{

background:
rgba(255,255,255,.04);

border:
1px solid rgba(255,255,255,.06);

border-radius:30px;

padding:40px;

height:100%;

transition:.3s;

}

.pricing-card:hover{

transform:
translateY(-10px);

border-color:
rgba(37,99,255,.35);

}

.pricing-card h1{

font-size:50px;

font-weight:700;

}

.pricing-card ul{

padding-left:20px;

line-height:2;

}

/* =====================================
FORMS
===================================== */

.form-control,
.form-select{

background:
rgba(255,255,255,.05);

border:
1px solid rgba(255,255,255,.08);

color:white;

padding:14px;

border-radius:14px;

}

.form-control:focus,
.form-select:focus{

background:
rgba(255,255,255,.08);

color:white;

border-color:#2563ff;

box-shadow:none;

}

.form-control::placeholder{
color:#94a3b8;
}

.form-label{
font-weight:600;
margin-bottom:10px;
}

/* =====================================
TABLES
===================================== */

.table{

color:white;

}

.table thead{

background:
rgba(255,255,255,.04);

}

.table th{

padding:15px;

border:none;

}

.table td{

padding:15px;

border-color:
rgba(255,255,255,.05);

}

/* =====================================
FAQ
===================================== */

.accordion-item{

background:
rgba(255,255,255,.04);

border:
1px solid rgba(255,255,255,.06);

margin-bottom:15px;

border-radius:20px;

overflow:hidden;

}

.accordion-button{

background:
rgba(255,255,255,.03);

color:white;

font-weight:600;

box-shadow:none;

}

.accordion-button:not(.collapsed){

background:
rgba(37,99,255,.15);

color:white;

}

.accordion-button::after{

filter:
brightness(0)
invert(1);

}

.accordion-body{

background:
rgba(255,255,255,.02);

color:#cbd5e1;

}

/* =====================================
CITATION PAGE
===================================== */

.citation-output{

background:
rgba(255,255,255,.03);

border:
1px solid rgba(255,255,255,.06);

padding:25px;

border-radius:16px;

line-height:2;

color:#cbd5e1;

word-break:break-word;

}

pre{

background:#020817;

padding:25px;

border-radius:18px;

color:#38bdf8;

overflow:auto;

}

/* =====================================
RESPONSIVE
===================================== */

@media(max-width:768px){

.page-header h1{
font-size:38px;
}

.page-header h2{
font-size:30px;
}

.page-card{
padding:25px;
}

.pricing-card{
padding:25px;
}

}
