@import url(reset.css);

:root{
    --bg:#ffffff;
    --panel:#f5f5f7;
    --text:#222;
    --muted:#555;
    --accent:#ff7a18;
    --accent-2:#2ea3ff;
    --border:#ddd;
    --radius:14px;
    --shadow:0 4px 18px rgba(0,0,0,.08);
    --maxw:1200px;
    --bluebck: #000C1E;
}

body {

    height: 100vh;
    background: var(--bg);
    margin:0;
    font:16px/1.5 Lato, Sans-serif;
    color:var(--text);
}

header {

    position: relative;
    top: 0;
    background-color: #fff;
    padding: 0 2rem;
    background: var(--bg);
    width: 100%;
    max-width: 100%;
    height: 90px;
    z-index: 9999;
}

.navbar {

    width: 100%;
    max-width: 1200px;
    height: 90px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;

}

.logo a img {

    height: 24px;
    min-width: 100px;
}

a {

    color: var(--bluebck);
    font-variant: small-caps;
    transition: color ease 0.5s;
}

a:hover {

    color: var(--accent);
    transition: color ease 0.5s;
}

.navbar .links{

    display: flex;
    gap: 2rem;
    font-weight: 900;
}

.toggle_btn {

    cursor: pointer;
    height: 32px;
    width: 32px;
    display: none;
}

.toggle_btn path {

    fill: var(--bluebck);
    height: 32px;
    width: 32px;
    transition: fill ease 0.5s;
}

.toggle_btn:hover path {
    
    fill: var(--accent);
    height: 32px;
    width: 32px;
    transition: fill ease 0.5s;
}

.dropdown_menu {

    min-width: 200px;
    display: none;
    position: absolute;
    right: 2rem;
    top: 60px;
    height: 0;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 5px;
    overflow: hidden;
    transition: height 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.dropdown_menu .links li a {

    display: none;
    width: 100%; 
    text-align: center;
    padding: 5px 0px;
    font-weight: 900;
    border-radius: 5px;
    background-color: none;
    transition: background-color 0.4s ease, color 0.4s ease;
}

.dropdown_menu .links li a:hover {
    background-color: var(--bluebck);
    color: var(--bg);
    transition: background-color 0.4s ease, color 0.4s ease;
}

.dropdown_menu.open {

    height: auto;
    overflow: visible;
}

.dropdown_menu ul li {

    padding: 0.1rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hero{
    
    margin: 0 auto;
    margin-bottom: 30px;
    position:relative;
    text-align:center;
    color:#fff;
    background:url('./../img/fond.png') center/cover no-repeat;
    padding:120px 20px;
    border-radius:var(--radius);
}

.hero::after{
    
    content:"";
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.5);
    border-radius:var(--radius);
}

.hero-content{
    
    position:relative;
    z-index:1;
    max-width:800px;
    margin:0 auto;
}

.hero h1{
    
    font-size:clamp(32px,5vw,54px);
    margin:0 0 20px;
}

.hero p{
    
    margin:0 0 20px;
    font-size:18px;
}

.cta{
    
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    justify-content:center;
}

.btn{
    
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:12px 18px;
    border-radius:12px;
    font-weight:700;
    border:1px solid transparent;
}

.btn-primary{
    
    background:var(--accent);
    color:#fff;
}

.btn-ghost{
    
    border-color:#fff;
    color:#fff;
}

.about{

    max-width: var(--maxw);
    margin: 0 auto;
    background:#fafafa;
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:40px;box-shadow:var(--shadow);
}

.about h2{
    
    margin-top:0;
    color:var(--accent);
}

.about h3{

    margin-top:24px;
    color:var(--text);
}

.about p{
    
    margin:8px 0;
    color:var(--muted);
}

.services{
    
    max-width: var(--maxw);
    margin: 0 auto;
}

h2 {

    display: block;
    font-size: 1.5em;
    margin-block-start: 0.83em;
    margin-block-end: 0.83em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    font-weight: bold;
    unicode-bidi: isolate;
}

.grid-services{display:grid;gap:20px;grid-template-columns:repeat(12,1fr)}
.service-card{grid-column:span 3;background: rgba(0,12,30,.9);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}
.service-card h3{font-size:1.0em;font-variant:normal;color:var(--accent);margin:0; margin-bottom: 10px;}
.service-card p{color:var(--border);margin:0}



footer {
    
    margin-top: 30px;
    background:var(--bluebck);
    max-width: 100%;
}

.footer-container {
    
    margin: 0 auto;
    padding:10px;
    color: var(--bg);
    max-width: var(--maxw);
    text-align: center;
}

.footer-contact {

    display: inline-block;
    width: 33%;
    min-width: 300px;
    padding: 10px;
    text-align: left;
}

.footer-contact .info {

    display: inline-block;
}

.footer-map {
    
    display: inline-block;
}

.footer-map .googlemaps {

    display: inline-block;
    border-radius:var(--radius);
    box-shadow:var(--shadow);
    border: 1px solid var(--accent);
    width: 33%;
    min-width: 300px;
    padding: 10px;
    border-radius: var(--radius);
    
}

.info p a {

    color: var(--accent-2); 
}

.info p a:hover {

    color: var(--accent); 
}

.footer-brand {

    display: inline-block;
    width: 33%;
    min-width: 300px;
    padding: 10px;
    color: var(--accent);
    text-align: left;
}

.footer-social{

    display: inline-block;
    width: 100%;
    min-width: 300px;
    text-align: center;
    padding: 10px;
}

.footer-social a:hover {

    color: var(--accent-2); 
}

.social{
    
    display:inline-block;
    font-weight:600;
    color:var(--text);
}

.social img{
    
    display:inline-block;
    height: 24px;
    width: 24px;
    transition: transform 0.3s ease;
}

.social img:hover{
    
    transform: rotate(10deg);
}



@media (max-width: 992px){

    .navbar .links {
    
        display: none;
    }
    
    .navbar .toggle_btn {

        display: block;
    }

    .dropdown_menu {
    
        display: block;
    }

    .dropdown_menu.open {
        
        border: 1px solid var(--border);
    }

    .dropdown_menu .links li a {
    
        display: inline-block;
    }

    .service-card{
    
        grid-column: span 6;
    }
    
}

@media (max-width: 572px) {
    
    .dropdown_menu {
    
        left: 2rem;
        width: unset;
    }
    
    .service-card{
    
        grid-column:1/-1;
    }
}