/* --- CSS RESET & NORMALIZE --- */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,main,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font:inherit;vertical-align:baseline;box-sizing:border-box;}
html{line-height:1;box-sizing:border-box;}
*,*:before,*:after{box-sizing:inherit;}
body{font-family:'Lato',Arial,sans-serif;color:#F3F6FA;background:linear-gradient(137deg,#253756 0%,#35548b 100%);font-size:16px;min-height:100vh;-webkit-font-smoothing:antialiased;}
img{display:block;max-width:100%;height:auto;}
a{text-decoration:none;color:inherit;transition:color .3s;}
ul,ol{list-style:none;}
strong,b{font-weight:bold;}
input,button,textarea,select{font-family:inherit;font-size:inherit;}

/* --- BRAND FONTS --- */
@import url('https://fonts.googleapis.com/css?family=Montserrat:700,900&display=swap');
@import url('https://fonts.googleapis.com/css?family=Lato:400,700&display=swap');
h1,h2,h3,h4,h5,h6{font-family:'Montserrat',Arial,sans-serif;color:#fff;}
h1{font-size:2.7rem;line-height:1.125;margin-bottom:24px;font-weight:900;letter-spacing:.04em;}
h2{font-size:2rem;margin-bottom:20px;font-weight:700;}
h3{font-size:1.25rem;margin-bottom:12px;}
.lead{font-size:1.25rem;margin-bottom:20px;color:#e0e8ff;font-family:'Lato',Arial,sans-serif;}
p{margin-bottom:1em;color: #e7eef9;line-height:1.7;font-size:1rem;}
section ul,section ol{margin-bottom:1rem;}

/* --- MAIN CONTAINER & SPACING --- */
.container{max-width:1180px;padding:0 18px;margin:0 auto;}
.section,.content-wrapper{margin-bottom:60px;padding:40px 20px;}
.content-wrapper{background:rgba(37,55,86,.25);border-radius:22px;box-shadow:0 8px 34px 0 rgba(35,70,130,.14);position:relative;}
.text-section{max-width:720px;margin-left:auto;margin-right:auto;text-align:center;}

/* --- FLEX LAYOUT PATTERNS --- */
.card-container{display:flex;flex-wrap:wrap;gap:24px;}
.card{margin-bottom:20px;position:relative;flex:1 1 320px;min-width:280px;background:#1d2a42;border-radius:18px;box-shadow:0 2px 22px 0 rgba(37,55,86,0.16);padding:32px 28px;transition:box-shadow .24s,transform .23s;}
.card:hover{box-shadow:0 6px 44px 0 #267fff66,0 0 0 2px #33e5e2cc;transform:translateY(-4px) scale(1.02);}
.content-grid{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;}
.text-image-section{display:flex;align-items:center;gap:30px;flex-wrap:wrap;}
.cta-btn-wrapper{display: flex;gap:28px;flex-wrap:wrap;align-items:center;margin:28px 0;}
.feature-grid, .service-list, .team-grid, .news-list, .faq-list{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;}
.feature-grid>div,.service-list>div,.team-grid>div,.news-list>div,.faq-list>div{background:#20305a;border-radius:15px;padding:28px 20px;flex:1 1 230px;min-width:200px;box-shadow:0 3px 13px 0 #2537562c;transition:box-shadow .23s,transform .22s;}
.feature-grid>div:hover,.service-list>div:hover,.team-grid>div:hover,.news-list>div:hover,.faq-list>div:hover{box-shadow:0 5px 30px 0 #037fff99,0 0 0 1.5px #33e5e2aa;transform:translateY(-3px) scale(1.025);}

.testimonial-card{display:flex;align-items:center;gap:20px;padding:20px;background:#F3F6FA;color:#253756;border-radius:18px;box-shadow:0 4px 20px #25375613;margin-bottom:20px;}
.testimonial-card blockquote{font-size:1.1rem;font-style:italic;color:#253756;line-height:1.5;}
.testimonial-card p{font-size:1rem;color:#253756;margin-bottom:0;}
.testimonial-card strong{color:#253756;letter-spacing:0.02em;}

.feature-item{display:flex;flex-direction:column;align-items:flex-start;gap:15px;}

/* --- HEADER --- */
header{background:#253756;position:sticky;top:0;z-index:1002;box-shadow:0 3px 15px -6px #0ff7f752;}
nav{display:flex;align-items:center;justify-content:space-between;width:100%;gap:20px;min-height:82px;}
nav>ul{display:flex;align-items:center;gap:22px;}
nav>ul li{display:inline-block;}
nav a,img{vertical-align:middle;}
nav a{font-size:1rem;font-family:'Montserrat',Arial,sans-serif;padding:7px 14px;margin:0 1px;border-radius:7px;transition:background .19s,color .20s;}
nav>ul a{color:#c5e3ff;position:relative;}
nav>ul a:after{content:"";display:block;width:0;height:2px;background:#33e5e2;transition:.2s;width:0%;margin-top:1px;}
nav>ul a:hover,.btn-primary:focus{color:#33e5e2;background:rgba(43,227,238,.045);}
nav>ul a:hover:after{width:100%;}

.btn-primary{display:inline-block;padding:12px 28px;font-size:1.05rem;font-family:'Montserrat',Arial,sans-serif;font-weight:700;color:#20305a;background:linear-gradient(93deg,#33e5e2 60%,#267fff 100%);border:none;border-radius:8px;box-shadow:0 2px 18px #33e5e257;cursor:pointer;transition:background .23s,box-shadow .19s,color .23s,transform .16s;outline:none;}
.btn-primary:hover, .btn-primary:focus{color:#fff;background:linear-gradient(90deg,#267fff 40%,#33e5e2 100%);box-shadow:0 4px 30px #33e5e2aa,0 0 0 2px #33e5e255;transform:scale(1.03);}

/* --- MOBILE NAVIGATION --- */
.mobile-menu-toggle{display:none;position:fixed;top:16px;right:18px;z-index:1203;background:linear-gradient(93deg,#33e5e2 40%,#267fff 100%);color:#253756;font-size:2rem;width:48px;height:48px;border:none;border-radius:50%;box-shadow:0 2px 18px #33e5e2a5;cursor:pointer;align-items:center;justify-content:center;transition:background .2s,box-shadow .19s;}
.mobile-menu-toggle:focus{box-shadow:0 0 0 2.5px #267fff55;}

.mobile-menu{display:none;position:fixed;top:0;left:0;width:100vw;height:100vh;background:#19233cfa;z-index:1402;flex-direction:column;justify-content:flex-start;align-items:flex-start;padding:14px 0 0 0;transform:translateX(-100%);transition:transform .32s cubic-bezier(.45,.06,.56,1), opacity .22s;box-shadow:0 8px 90px 0 #0ff7f773;}
.mobile-menu.open{display:flex;transform:translateX(0);}
.mobile-menu-close{margin-left:auto;margin-right:24px;font-size:2.1rem;background:none;border:none;color:#33e5e2;cursor:pointer;transition:color .2s;z-index:9999;}
.mobile-menu-close:hover{color:#fff;}
.mobile-nav{display:flex;flex-direction:column;width:100%;gap:10px;padding-left:38px;margin-top:18px;}
.mobile-nav a{padding:16px 0;font-size:1.3rem;color:#e0f8ff;font-family:'Montserrat',Arial,sans-serif;border-bottom:1px solid #267fff22;transition:color .16s,background .18s;}
.mobile-nav a:active,.mobile-nav a:focus{background:#25375633;color:#33e5e2;}

/* --- RESPONSIVE NAV --- */
@media (max-width:1000px){
  nav>ul{gap:16px;}
}
@media (max-width:890px){
  nav>ul{gap:8px;}
  .btn-primary{padding:11px 20px;}
}
@media (max-width:800px){
  nav>ul,
  nav .btn-primary{display:none;}
  .mobile-menu-toggle{display:flex;}
}
/* HEADER MOBILE NAV */
@media (max-width:800px){
  header{padding-right:54px;} /* make space for toggle */
}

/* --- FLEX, SPACING, ALIGNMENT --- */
/* Section, Card, Grid Alignment (critical patterns) */
.section{margin-bottom:60px;padding:40px 20px;}
.card-container{display:flex;flex-wrap:wrap;gap:24px;}
.card{margin-bottom:20px;}
.content-grid{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;}
.text-image-section{display:flex;align-items:center;gap:30px;flex-wrap:wrap;}
.testimonial-card{display:flex;align-items:center;gap:20px;padding:20px;}
.feature-item{display:flex;flex-direction:column;align-items:flex-start;gap:15px;}

/* --- CONTACT & FOOTER --- */
.footer-nav{display:flex;gap:26px;flex-wrap:wrap;justify-content:center;margin-bottom:22px;}
.footer-nav a{color:#99d8ff;font-size:1rem;font-family:'Montserrat',Arial,sans-serif;transition:color .16s;}
.footer-nav a:hover{color:#33e5e2;}
.footer-company{display:flex;flex-direction:column;align-items:center;text-align:center;background:#23325a;padding:28px 20px;border-radius:17px;gap:18px;}
.footer-company img{margin-bottom:10px;width:62px;}
.footer-company p{color:#bff1f8;margin-bottom:5px;}
.footer-company address{color:#a2b4c1;font-style:normal;font-size:1rem;line-height:1.7;}
.footer-company address img{width:19px;height:19px;vertical-align:middle;margin-right:5px;}
footer .container{padding-top:38px;padding-bottom:38px;}

/* --- COMPONENTS --- */
.contact-info p{display:flex;align-items:center;gap:8px;font-size:1.05rem;color:#e7eef9;margin-bottom:12px;}
.contact-form-note{background:#F3F6FA;color:#253756;padding:16px;border-radius:11px;font-size:1rem;font-family:'Lato',Arial,sans-serif;box-shadow:0 2px 11px #25375619;}
.contact-box{background:#22396a;color:#c0e3ff;padding:17px 20px;border-radius:14px;font-size:1.08rem;margin:18px 0;}
.contact-box img{width:18px;vertical-align:middle;margin-right:5px;}
.address-info img{width:18px;vertical-align:middle;margin-right:6px;}

/* --- CARDS / NEWS / FAQ / TEAM --- */
.news-teaser{background:#25375621;padding:20px;border-radius:14px;color:#eaf7ff;box-shadow:0 2px 7px #267fff14;display:flex;flex-direction:column;margin-bottom:20px;gap:0.25rem;transition:box-shadow .18s,transform .16s;}
.news-teaser:hover{box-shadow:0 3px 18px #267fff55,0 0 0 1px #33e5e299;transform:scale(1.016);}
.news-teaser span{font-size:.98rem;color:#abdff6;margin-bottom:4px;}
.news-teaser a{color:#33e5e2;font-weight:700;transition:color .12s;}
.news-teaser a:hover{color:#267fff;text-decoration:underline;}

.faq-list h3{color:#33e5e2;font-size:1.15rem;margin-bottom:5px;}
.faq-list>div{background:#1d2a42;padding:19px 19px;border-radius:13px;margin-bottom:18px;box-shadow:0 2px 8px #25375619;}

.team-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:6px;background:#20305a;border-radius:14px;padding:22px 17px;box-shadow:0 2px 11px #25375621;}
.team-grid h3{color:#33e5e2;margin-bottom:5px;}

.service-list>div img,.feature-grid>div img{width:36px;height:36px;margin-bottom:12px;}

/* CTA Button Wrapper */
.cta-btn-wrapper{display:flex;gap:28px;flex-wrap:wrap;align-items:center;margin:28px 0;}

/* --- TYPOGRAPHY SCALE --- */
@media (max-width:650px){
  h1{font-size:2.1rem;}
  h2{font-size:1.38rem;}
  .lead{font-size:1.07rem;}
  nav a,.btn-primary{font-size:.97rem;}
}

/* --- RESPONSIVE LAYOUTS --- */
@media (max-width:1100px){
  .container{max-width:96vw;}
}
@media (max-width:900px){
  .feature-grid,.service-list,.team-grid,.news-list,.faq-list,.card-container,.content-grid{gap:16px;}
  .content-wrapper,.section{padding:26px 7px;}
}
@media (max-width:780px){
  .feature-grid,.service-list,.team-grid,.news-list,.faq-list,.card-container,.content-grid{gap:10px;}
  .feature-grid>div,.service-list>div,.team-grid>div,.news-list>div,.faq-list>div,.card{min-width:96vw;flex:1 1 97vw;}
}
@media (max-width:768px){
  .text-image-section{flex-direction:column;align-items:flex-start;gap:16px;}
  nav{flex-direction:column;gap:5px;}
  .footer-nav{gap:10px;}
  .footer-company{padding:18px 5px;}
  .container{padding:0 7px;}
  .content-wrapper{text-align:left;padding:17px 3px;}
  .section{padding:19px 2px;}
  h1{text-align:left;}
  .testimonial-card{flex-direction:column;align-items:flex-start;padding:13px;}
}
@media (max-width:495px){
  .btn-primary{font-size:.92rem;padding:8px 14px;}
  .news-teaser,.card,.feature-grid>div,.service-list>div,.testimonial-card{padding:10px;}
}

/* --- ANIMATIONS --- */
@keyframes fadeInUp{0%{opacity:0;transform:translateY(22px);}100%{opacity:1;transform:none;}}
.section,.content-wrapper,.card,.feature-grid>div,.testimonial-card,.news-teaser{animation:fadeInUp .85s cubic-bezier(.21,.61,.37,1) 0.02s backwards;}

/* --- FOCUS STATE FOR ACCESSIBILITY --- */
a:focus,.btn-primary:focus,.mobile-menu-close:focus,.mobile-nav a:focus{outline:2px solid #33e5e2;outline-offset:2px;}

/* --- NEON/TECH EFFECTS --- */
.btn-primary,.feature-grid>div,.card,.news-teaser,.mobile-menu-toggle{box-shadow:0 0 0 0 #33e5e200,0 2px 18px #33e5e280;transition:box-shadow .22s, background .15s, color .17s, transform .17s;}
.btn-primary:hover,.feature-grid>div:hover,.card:hover,.news-teaser:hover{box-shadow:0 0 13px #33e5e2,0 8px 25px #267fff36;}

/* --- COOKIE CONSENT BANNER --- */
.cookie-consent-banner{display:flex;align-items:center;justify-content:space-between;position:fixed;bottom:0;left:0;width:100%;background:linear-gradient(93deg,#23325a 84%,#33e5e2 100%);padding:22px 26px;box-shadow:0 -1px 19px #25375688;z-index:2004;color:#ecfcff;font-size:1.08rem;font-family:'Lato',Arial,sans-serif;animation:fadeInUp .85s cubic-bezier(.21,.61,.37,1) 0.02s backwards;}
.cookie-consent-banner p{color:#ecfcff;font-size:1.08rem;margin-bottom:0;}
.cookie-consent-buttons{display:flex;gap:13px;flex-wrap:wrap;}
.cookie-btn{padding:11px 20px;border:none;background:linear-gradient(93deg,#33e5e2 64%,#267fff 100%);color:#253756;font-family:'Montserrat',Arial,sans-serif;font-weight:700;border-radius:7px;font-size:1rem;cursor:pointer;box-shadow:0 2px 8px #33e5e238;transition:background .17s, color .16s, transform .17s;}
.cookie-btn:hover{background:linear-gradient(90deg,#267fff 30%,#33e5e2 100%);color:#fff;}
.cookie-btn.cookie-settings{background:#253756;color:#33e5e2;border:1.7px solid #33e5e2;}
.cookie-btn.cookie-settings:hover{background:#22396a;color:#fff;}

/* --- COOKIE PREFERENCES MODAL --- */
.cookie-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#19233cde;z-index:2009;display:flex;align-items:center;justify-content:center;animation:fadeInUp .23s;}
.cookie-modal{background:#F3F6FA;color:#253756;max-width:420px;width:95vw;padding:30px 25px 23px 23px;border-radius:18px;box-shadow:0 9px 45px #25375638,0 0 0 6px #33e5e233;display:flex;flex-direction:column;gap:20px;animation:fadeInUp .43s;}
.cookie-modal h2,.cookie-modal h3{color:#253756;margin-bottom:10px;}
.cookie-category{display:flex;align-items:center;gap:14px;margin-bottom:10px;}
.cookie-category label{font-weight:700;}
.cookie-modal-toggles input[type=checkbox]{accent-color:#33e5e2;width:20px;height:20px;}
.cookie-modal-actions{display:flex;gap:16px;justify-content:flex-end;margin-top:17px;}
.cookie-modal .cookie-btn{font-size:.98rem;padding:8px 19px;}
.cookie-modal-close{position:absolute;top:20px;right:22px;border:none;background:none;font-size:1.7rem;color:#267fff;cursor:pointer;z-index:2011;}
.cookie-modal-close:hover{color:#253756;}

/* --- Hide Cookie Modal on close --- */
.cookie-modal-overlay[style*="display: none"]{display:none!important;}

/* --- MISC --- */
::-webkit-scrollbar{width:10px;background:#1d2a42;}
::-webkit-scrollbar-thumb{background:#267fff;border-radius:6px;}
::-webkit-selection{background:#33e5e2;color:#253756;}

/* --- END --- */
