*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
font-family:Inter,Arial,sans-serif;
background:#f4f7fb;
color:#243041;
line-height:1.5;
}

a{
text-decoration:none;
}

.one-window-page{
overflow-x:hidden;
}

/* HERO */

.ow-hero{
background:linear-gradient(135deg,#0057B8,#163A70);
color:#fff;
padding:80px 20px;
position:relative;
}

.ow-hero:before{
content:"";
position:absolute;
width:500px;
height:500px;
border-radius:50%;
background:rgba(255,255,255,.06);
top:-180px;
right:-100px;
filter:blur(20px);
}

.ow-container{
max-width:1240px;
margin:auto;
}

.ow-hero-inner{
display:grid;
grid-template-columns:2fr 1fr;
gap:40px;
align-items:center;
}

.ow-kicker{
display:inline-block;
background:rgba(255,255,255,.15);
padding:8px 14px;
border-radius:30px;
font-size:13px;
margin-bottom:18px;
}

.ow-kicker-dark{
background:#e9eef8;
color:#163A70;
}

.ow-hero h1{
font-size:56px;
line-height:1.1;
margin-bottom:20px;
}

.ow-hero p{
font-size:20px;
max-width:720px;
opacity:.95;
}

.ow-hero-actions{
display:flex;
gap:16px;
margin-top:30px;
flex-wrap:wrap;
}

.ow-btn{
display:inline-flex;
align-items:center;
justify-content:center;
padding:14px 18px;
border-radius:12px;
font-weight:600;
transition:.2s;
cursor:pointer;
border:none;
}

.ow-btn:hover{
transform:translateY(-2px);
}

.ow-btn-primary{
background:#d9a441;
color:#fff;
}

.ow-btn-primary:hover{
background:#c79639;
}

.ow-btn-light{
background:white;
color:#163A70;
}

.ow-btn-secondary{
background:#edf3ff;
color:#163A70;
}

.ow-hero-panel{
display:grid;
gap:18px;
}

.ow-stat{
background:rgba(255,255,255,.12);
backdrop-filter:blur(8px);
padding:26px;
border-radius:20px;
}

.ow-stat strong{
display:block;
font-size:42px;
}

.ow-stat span{
opacity:.9;
}

/* SEARCH */

.ow-search-section{
padding:55px 20px 20px;
}

.ow-search-box{
background:#fff;
border-radius:24px;
padding:34px;
box-shadow:0 10px 35px rgba(0,0,0,.07);
display:flex;
justify-content:space-between;
align-items:center;
gap:30px;
flex-wrap:wrap;
}

.ow-search-box h2{
font-size:34px;
margin-bottom:10px;
}

.ow-search-input{
flex:1;
min-width:320px;
padding:18px 20px;
border:2px solid #dbe5f3;
border-radius:14px;
font-size:16px;
}

.ow-search-input:focus{
outline:none;
border-color:#0057B8;
}

.ow-fast-actions{
display:flex;
gap:10px;
flex-wrap:wrap;
margin-top:22px;
}

.ow-chip{
border:none;
background:#e8eef8;
padding:11px 16px;
border-radius:30px;
cursor:pointer;
font-weight:600;
}

.ow-chip:hover{
background:#dbe5f3;
}

/* SERVICES */

.ow-services{
padding:60px 20px;
}

.ow-section-header{
display:flex;
justify-content:space-between;
gap:30px;
align-items:end;
margin-bottom:35px;
flex-wrap:wrap;
}

.ow-section-header h2{
font-size:44px;
}

.ow-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(340px,1fr));
gap:26px;
}

.ow-card{
background:white;
padding:28px;
border-radius:24px;
box-shadow:0 10px 30px rgba(0,0,0,.06);
border:1px solid #e6edf7;
transition:.25s;
}

.ow-card:hover{
transform:translateY(-8px);
box-shadow:0 18px 40px rgba(0,0,0,.09);
}

.ow-card-top{
display:flex;
gap:16px;
align-items:center;
margin-bottom:18px;
}

.ow-icon{
width:58px;
height:58px;
display:flex;
align-items:center;
justify-content:center;
background:#edf4ff;
border-radius:16px;
font-size:28px;
}

.ow-card h3{
font-size:24px;
margin-bottom:6px;
}

.ow-card-subtitle{
font-size:14px;
color:#6b7280;
}

.ow-short{
margin:18px 0;
color:#4b5563;
}

.ow-tags{
display:flex;
gap:8px;
flex-wrap:wrap;
margin-bottom:20px;
}

.ow-tags span{
background:#f2f5fa;
padding:8px 11px;
border-radius:20px;
font-size:13px;
}

.ow-actions{
display:flex;
gap:12px;
flex-wrap:wrap;
}

.ow-details{
display:none;
margin-top:22px;
padding-top:18px;
border-top:1px solid #e5e7eb;
}

.ow-details.open{
display:block;
}

.ow-details h4{
margin-bottom:12px;
}

.ow-details ul{
margin-left:18px;
margin-bottom:16px;
}

.ow-empty{
display:none;
text-align:center;
padding:40px;
margin-top:20px;
background:#fff;
border-radius:20px;
}

/* HIGHLIGHT SEARCH RESULT */

.ow-card-highlight{
transform:translateY(-8px) scale(1.02);
border:2px solid #d9a441;
box-shadow:
0 0 0 6px rgba(217,164,65,.18),
0 20px 45px rgba(0,0,0,.12);
transition:.35s;
}

/* FOOTER */

.ow-footer-section{
padding:30px 20px 70px;
}

.ow-footer-box{
background:white;
padding:36px;
border-radius:30px;
display:grid;
grid-template-columns:1.4fr 1fr;
gap:30px;
box-shadow:0 10px 35px rgba(0,0,0,.06);
}

.ow-footer-box h2{
font-size:42px;
margin:14px 0;
}

.ow-help-card{
background:#f4f8ff;
padding:28px;
border-radius:22px;
}

.ow-help-card h3{
margin-bottom:14px;
}

.ow-help-card ul{
margin-left:18px;
}

.ow-help-card li{
margin-bottom:10px;
}

/* ROUTER MODAL */

.ow-modal{
display:none;
position:fixed;
inset:0;
z-index:999;
}

.ow-modal.open{
display:block;
}

.ow-modal-backdrop{
position:absolute;
inset:0;
background:rgba(10,24,48,.62);
backdrop-filter:blur(6px);
}

.ow-modal-content{
position:relative;
z-index:1;
max-width:760px;
margin:7vh auto;
background:#fff;
border-radius:28px;
padding:34px;
box-shadow:0 30px 80px rgba(0,0,0,.28);
}

.ow-modal-close{
position:absolute;
top:18px;
right:18px;
width:40px;
height:40px;
border:none;
border-radius:50%;
background:#edf3ff;
color:#163A70;
font-size:28px;
cursor:pointer;
}

.ow-modal-content h2{
font-size:36px;
margin-bottom:10px;
}

.ow-modal-content p{
color:#4b5563;
margin-bottom:24px;
}

.ow-router-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:14px;
}

.ow-router-option{
text-align:left;
border:1px solid #e1e8f5;
background:#f8fbff;
border-radius:18px;
padding:18px;
cursor:pointer;
transition:.2s;
}

.ow-router-option:hover{
transform:translateY(-3px);
border-color:#d9a441;
box-shadow:0 12px 28px rgba(0,0,0,.08);
}

.ow-router-option strong{
display:block;
font-size:17px;
margin-bottom:6px;
color:#163A70;
}

.ow-router-option span{
display:block;
font-size:14px;
color:#5f6b7a;
}

/* TABLET */

@media(max-width:900px){

.ow-hero-inner,
.ow-footer-box{
grid-template-columns:1fr;
}

.ow-hero h1{
font-size:42px;
}

.ow-section-header h2{
font-size:34px;
}

.ow-search-box h2{
font-size:28px;
}

}

/* PHONE */

@media(max-width:600px){

.ow-hero{
padding:48px 16px;
}

.ow-hero h1{
font-size:34px;
}

.ow-hero p{
font-size:16px;
}

.ow-hero-actions{
flex-direction:column;
}

.ow-btn{
width:100%;
}

.ow-search-section{
padding:32px 16px 10px;
}

.ow-search-box{
padding:22px;
}

.ow-search-input{
min-width:100%;
width:100%;
}

.ow-grid{
grid-template-columns:1fr;
}

.ow-card{
padding:22px;
}

.ow-section-header h2,
.ow-footer-box h2{
font-size:30px;
}

.ow-footer-box{
padding:24px;
}

.ow-card-highlight{
transform:translateY(-4px) scale(1.01);
}

.ow-modal-content{
margin:4vh 14px;
padding:24px;
}

.ow-router-grid{
grid-template-columns:1fr;
}

.ow-modal-content h2{
font-size:28px;
}

}