/* ========================================
   GLOBAL STYLES
======================================== */
*,
*::before,
*::after {
    box-sizing: border-box;
}

html,
body {
    max-width: 100%;
    overflow-x: hidden;
}
body{
    font-family: var(--font-body);
    background:#ffffff;
    color:var(--clr-text);
    overflow-x:hidden;
    line-height:1.6;
}
.container {
    width: min(100% - 40px, 1200px);
    margin: 0 auto;
}

section{
    padding:100px 0;
}

/* ========================================
   BUTTONS
======================================== */

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:16px 34px;
    border-radius:14px;
    font-weight:600;
    transition:.35s ease;
}

.btn-primary{
    background:#2563EB;
    color:#fff;
    box-shadow:0 15px 35px rgba(37,99,235,.25);
}

.btn-primary:hover{

transform:

translateY(-5px);

box-shadow:

0 25px 45px

rgba(37,99,235,.45);

}
.btn-secondary{
    border:2px solid #2563EB;
    color:#2563EB;
}

.btn-secondary:hover{
    background:#2563EB;
    color:#fff;
}

/* ========================================
   HEADER
======================================== */

.header{
    position:fixed;
    top:20px;
    left:0;
    width:100%;
    z-index:1000;
}

.navbar{
    display:flex;
    justify-content:space-between;
    align-items:center;

    height:82px;

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

    backdrop-filter:blur(16px);

    border-radius:20px;

    padding:0 35px;

    box-shadow:0 15px 40px rgba(0,0,0,.08);
}

.logo{
    font-family:var(--font-heading);
    font-size:1.9rem;
    font-weight:800;
    letter-spacing:-1px;
    color:#0B1F3A;
}

.logo span{
    color:#2563EB;
}

.nav-links{
    display:flex;
    gap:40px;
    align-items:center;
}

.nav-links a{
    position:relative;
    font-weight:600;
    color:#1F2937;
    transition:.3s;
}

.nav-links a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-8px;

    width:0;

    height:3px;

    background:#2563EB;

    border-radius:20px;

    transition:.35s;

}

.nav-links a:hover{

    color:#2563EB;

}

.nav-links a:hover::after{

    width:100%;

}
/* ========================================
   HERO SECTION
======================================== */

.hero{

    padding-top:190px;
    padding-bottom:120px;

    background:
        radial-gradient(circle at top left, rgba(37,99,235,.10), transparent 30%),
        radial-gradient(circle at bottom right, rgba(59,130,246,.12), transparent 30%),
        #ffffff;

}

.hero-content{

display:grid;

grid-template-columns:

1fr
1.2fr;

align-items:center;

gap:80px;


}

.hero-tag{

    display:inline-block;

    background:#DBEAFE;

    color:#2563EB;

    padding:10px 18px;

    border-radius:999px;

    font-size:.85rem;

    font-weight:700;

    margin-bottom:25px;

    letter-spacing:.5px;

}

.hero h1{

font-size:5rem;

font-weight:800;

line-height:1.05;

letter-spacing:-3px;

margin-bottom:30px;

color:#0B1F3A;
    max-width: 100%;
    overflow-wrap: break-word;


}

.hero-description{

font-size:1.15rem;

line-height:1.9;

color:#6B7280;

max-width:540px;

margin-bottom:45px;

}

.hero-buttons{

    display:flex;

    gap:20px;

    margin-bottom:55px;
    @media (max-width: 480px) {
    .hero-buttons {
        flex-direction: column;
        align-items: stretch;
    }

    .hero-buttons a {
        width: 100%;
        text-align: center;
    }
}

}

.hero-stats{

    display:flex;

    gap:50px;

}

.hero-stats h3{

    font-size:2rem;

    color:#2563EB;

}

.hero-stats span{

    color:#6B7280;

    font-size:.95rem;

}
/* ========================================
   HERO IMAGE
======================================== */

.hero-image{

    position:relative;

    display:flex;

    justify-content:center;

    align-items:center;

}

.glow{

    position:absolute;

    width:420px;

    height:420px;

    border-radius:50%;

    background:radial-gradient(circle,#60A5FA,transparent 70%);

    filter:blur(80px);

    opacity:.45;

}

.website-preview{

    position:relative;

    width:620px;

    background:white;

    border-radius:24px;

    overflow:hidden;

    box-shadow:
    0 30px 70px rgba(0,0,0,.12);

    animation:
    float 6s ease-in-out infinite;

    transition:.4s;

    cursor:pointer;

}
.website-preview:hover{

    transform:

    translateY(-8px)

    rotate(-1deg);

}

.browser-top{

    height:60px;

    background:#EEF2FF;

    display:flex;

    align-items:center;

    padding:0 18px;

    gap:15px;

}

.dots{

    display:flex;

    gap:8px;

}

.dots span{

    width:12px;

    height:12px;

    border-radius:50%;

    background:#CBD5E1;

}

.address-bar{

    flex:1;

    background:white;

    height:34px;

    border-radius:999px;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:.8rem;

    color:#94A3B8;

}

.browser-body{

    padding:30px;

}
/* ========================================
   MINI WEBSITE
======================================== */

.mini-nav{

    display:flex;

    justify-content:space-between;

    margin-bottom:30px;

}

.mini-logo{

    width:110px;

    height:16px;

    border-radius:20px;

    background:#2563EB;

}

.mini-links{

    width:170px;

    height:16px;

    border-radius:20px;

    background:#DBEAFE;

}

.mini-hero{

    height:180px;

    border-radius:18px;

    margin-bottom:25px;

    background:linear-gradient(135deg,#2563EB,#60A5FA);

}

.mini-services{

    display:grid;

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

    gap:15px;

    margin-bottom:25px;

}

.mini-services div{

    height:70px;

    border-radius:14px;

    background:#EFF6FF;

}

.mini-footer{

    height:50px;

    border-radius:14px;

    background:#F3F4F6;

}
/* ========================================
   FLOATING CARDS
======================================== */

.floating-card{

position:absolute;

background:white;

padding:16px 24px;

border-radius:50px;

box-shadow:

0 20px 40px rgba(0,0,0,.08);

font-size:.92rem;

font-weight:700;

animation:

float 5s ease-in-out infinite;

}

.top{

top:-25px;

right:20px;

animation-delay:.3s;

}

.left{

left:-70px;

top:180px;

animation-delay:.8s;

}

.right{

right:-80px;

bottom:90px;

animation-delay:1.5s;

}
/* ========================================
   ANIMATIONS
======================================== */

@keyframes float{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-14px);

    }

    100%{

        transform:translateY(0);

    }

}
/*====================================
BACKGROUND DECORATION
=====================================*/

.hero{

    position:relative;

    overflow:hidden;

}

.hero::before{

    content:"";

    position:absolute;

    width:700px;

    height:700px;

    background:radial-gradient(circle,
    rgba(37,99,235,.08),
    transparent 70%);

    top:-250px;

    right:-150px;

    border-radius:50%;

}

.hero::after{

    content:"";

    position:absolute;

    width:500px;

    height:500px;

    background:radial-gradient(circle,
    rgba(96,165,250,.08),
    transparent 70%);

    left:-150px;

    bottom:-250px;

    border-radius:50%;

}
/*======================================
INDUSTRIES SECTION
======================================*/

.industries{

    padding:120px 0;

    background:#ffffff;

}

.section-header{

    max-width:700px;

    margin:0 auto 70px;

    text-align:center;

}

.section-tag{

    display:inline-block;

    padding:10px 18px;

    background:#DBEAFE;

    color:#2563EB;

    border-radius:999px;

    font-weight:700;

    font-size:.85rem;

    margin-bottom:20px;

}

.section-header h2{

    font-size:3rem;

    margin-bottom:20px;

    color:#0B1F3A;

}

.section-header p{

    color:#6B7280;

    font-size:1.1rem;

}

.industry-grid{

    display:grid;

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

    gap:30px;

}

.industry-card{

    background:#fff;

    padding:40px;

    border-radius:20px;

    border:1px solid #E5E7EB;

    transition:.35s;

    cursor:pointer;

}

.industry-card:hover{

    transform:translateY(-10px);

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

    border-color:#2563EB;

}

.industry-icon{

    width:70px;

    height:70px;

    border-radius:18px;

    background:#EFF6FF;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:2rem;

    margin-bottom:25px;

}

.industry-card h3{

    margin-bottom:15px;

    color:#0B1F3A;

}

.industry-card p{

    color:#6B7280;

    line-height:1.8;

}
/*======================================
TRANSFORMATIONS
======================================*/

.transformations{

    padding:120px 0;

    background:#F8FAFC;

}

.transformation-grid{

    display:grid;

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

    gap:35px;

}

.transformation-card{

    background:#fff;

    padding:35px;

    border-radius:22px;

    border:1px solid #E5E7EB;

    transition:.35s;

}

.transformation-card:hover{

    transform:translateY(-8px);

    box-shadow:0 20px 45px rgba(0,0,0,.08);

}

.website{

    height:180px;

    border-radius:16px;

    position:relative;

    margin-bottom:18px;

    overflow:hidden;

}

.website.old{

    background:#E5E7EB;

}

.website.modern{

    background:linear-gradient(135deg,#2563EB,#60A5FA);

}

.arrow{

    text-align:center;

    font-size:2rem;

    color:#2563EB;

    margin-bottom:18px;

}

.label{

    position:absolute;

    top:15px;

    left:15px;

    padding:8px 14px;

    border-radius:999px;

    font-size:.75rem;

    font-weight:700;

}

.old-label{

    background:#FEE2E2;

    color:#B91C1C;

}

.new-label{

    background:#DBEAFE;

    color:#2563EB;

}

.transformation-card h3{

    margin-bottom:15px;

    color:#0B1F3A;

}

.transformation-card p{

    color:#6B7280;

    line-height:1.8;

}
/*======================================
SERVICES
======================================*/

.services{

    padding:120px 0;

    background:#ffffff;

}

.services-grid{

    display:grid;

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

    gap:30px;

}

.service-card{

    background:#fff;

    padding:40px;

    border-radius:22px;

    border:1px solid #E5E7EB;

    transition:.35s;

}

.service-card:hover{

    transform:translateY(-10px);

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

    border-color:#2563EB;

}

.service-icon{

    width:64px;
    height:64px;

    border-radius:16px;

    background:#EFF6FF;

    display:flex;
    align-items:center;
    justify-content:center;

    margin-bottom:24px;

    color:#2563EB;

    transition:.35s ease;

}

.service-icon svg{

    width:30px;
    height:30px;

    stroke-width:2;

}

.service-card:hover .service-icon{

    background:#2563EB;

    color:#ffffff;

    transform:translateY(-3px);

}

.service-card h3{

    margin-bottom:15px;

    color:#0B1F3A;

}

.service-card p{

    color:#6B7280;

    line-height:1.8;

}
/*======================================
WHY CHOOSE US
======================================*/

.why-us{

    padding:120px 0;

    background:#F8FAFC;

}

.why-grid{

    display:grid;

    grid-template-columns:1.2fr .8fr;

    gap:70px;

    align-items:center;

}

.why-description{

    margin:25px 0 45px;

    color:#6B7280;

    line-height:1.9;

}

.feature-list{

    display:flex;

    flex-direction:column;

    gap:28px;

}

.feature-item{

    display:flex;

    gap:20px;

    align-items:flex-start;

}

.check{

    width:42px;

    height:42px;

    background:#2563EB;

    color:white;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    font-weight:bold;

    flex-shrink:0;

}

.feature-item h4{

    margin-bottom:8px;

    color:#0B1F3A;

}

.feature-item p{

    color:#6B7280;

}

.quote-box{

    background:white;

    border-radius:24px;

    padding:50px;

    box-shadow:0 25px 60px rgba(0,0,0,.08);

}

.quote-box h3{

    font-size:2rem;

    margin-bottom:20px;

    color:#0B1F3A;

}

.quote-box p{

    color:#6B7280;

    line-height:1.8;

    margin-bottom:35px;

}
/*======================================
MOBILE NAVIGATION
======================================*/

.menu-toggle{

    display:none;

    border:none;

    background:#EFF6FF;

    color:#2563EB;

    width:48px;

    height:48px;

    border-radius:14px;

    align-items:center;

    justify-content:center;

    cursor:pointer;

}

.menu-toggle svg{

    width:24px;

    height:24px;

}

.mobile-menu{

    display:none;

}
/*======================================
SCROLL REVEAL ANIMATIONS
======================================*/

.reveal{

    opacity:0;

    transform:translateY(40px);

    transition:
        opacity .8s ease,
        transform .8s ease;

}

.reveal.active{

    opacity:1;

    transform:translateY(0);

}

.reveal-left{

    opacity:0;

    transform:translateX(-40px);

    transition:
        opacity .8s ease,
        transform .8s ease;

}

.reveal-left.active{

    opacity:1;

    transform:translateX(0);

}

.reveal-right{

    opacity:0;

    transform:translateX(40px);

    transition:
        opacity .8s ease,
        transform .8s ease;

}

.reveal-right.active{

    opacity:1;

    transform:translateX(0);

}
/*======================================
STAGGERED ANIMATIONS
======================================*/

.industry-card:nth-child(2),
.service-card:nth-child(2),
.transformation-card:nth-child(2){

    transition-delay:.1s;

}

.industry-card:nth-child(3),
.service-card:nth-child(3),
.transformation-card:nth-child(3){

    transition-delay:.2s;

}

.industry-card:nth-child(4),
.service-card:nth-child(4),
.transformation-card:nth-child(4){

    transition-delay:.3s;

}

.industry-card:nth-child(5),
.service-card:nth-child(5),
.transformation-card:nth-child(5){

    transition-delay:.4s;

}

.industry-card:nth-child(6),
.service-card:nth-child(6),
.transformation-card:nth-child(6){

    transition-delay:.5s;

}
/*======================================
PORTFOLIO
======================================*/

.portfolio{

    padding:120px 0;

    background:#F8FAFC;

}

.portfolio-grid{

    display:grid;

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

    gap:30px;

}

.portfolio-card{

    background:#ffffff;

    border:1px solid #E5E7EB;

    border-radius:24px;

    overflow:hidden;

    transition:.35s ease;

}

.portfolio-card:hover{

    transform:translateY(-8px);

    box-shadow:0 25px 50px rgba(0,0,0,.09);

}

.portfolio-preview{

    position:relative;

    padding:25px;

    height:280px;

    overflow:hidden;

}

.coffee-preview{

    background:#EDE8E0;

}

.law-preview{

    background:#E8EDF3;

}

.restaurant-preview{

    background:#E9E7E2;

}

.preview-browser{

    height:210px;

    background:#ffffff;

    border-radius:12px;

    overflow:hidden;

    box-shadow:0 15px 35px rgba(0,0,0,.12);

}

.browser-bar{

    height:25px;

    background:#F1F5F9;

    display:flex;

    align-items:center;

    gap:5px;

    padding-left:10px;

}

.browser-bar span{

    width:6px;

    height:6px;

    border-radius:50%;

    background:#CBD5E1;

}

.preview-content{

    height:185px;

    overflow:hidden;

}

.preview-nav{

    height:35px;

    padding:0 14px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    font-size:7px;

    color:#475569;

}

.preview-nav strong{

    font-size:10px;

    color:#0B1F3A;

}

.preview-hero{

    padding:25px 20px;

}

.preview-hero small{

    font-size:6px;

    font-weight:700;

    letter-spacing:1px;

    color:#2563EB;

}

.preview-hero h3{

    margin:8px 0 15px;

    font-size:20px;

    line-height:1.1;

    color:#0B1F3A;

}

.preview-hero button{

    border:none;

    padding:7px 12px;

    border-radius:5px;

    background:#2563EB;

    color:#ffffff;

    font-size:7px;

}

.concept-label{

    position:absolute;

    top:18px;

    right:18px;

    background:#0B1F3A;

    color:#ffffff;

    padding:7px 12px;

    border-radius:999px;

    font-size:.65rem;

    font-weight:700;

}

.portfolio-info{

    padding:30px;

}

.portfolio-meta{

    display:flex;

    justify-content:space-between;

    gap:10px;

    margin-bottom:15px;

    font-size:.72rem;

    font-weight:700;

    color:#2563EB;

}

.portfolio-info h3{

    color:#0B1F3A;

    font-size:1.4rem;

    margin-bottom:12px;

}

.portfolio-info p{

    color:#6B7280;

    line-height:1.7;

    margin-bottom:22px;

}

.portfolio-link{

    display:inline-flex;

    align-items:center;

    gap:8px;

    color:#2563EB;

    font-weight:700;

}

.portfolio-link span{

    transition:.25s ease;

}

.portfolio-link:hover span{

    transform:translateX(5px);

}

.portfolio-cta{

    text-align:center;

    margin-top:60px;

}

.portfolio-cta p{

    color:#6B7280;

    margin-bottom:18px;

}
/*======================================
OUR PROCESS
======================================*/

.process{

    padding:120px 0;

    background:#ffffff;

}

.process-grid{

    display:grid;

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

    gap:20px;

    position:relative;

}

.process-step{

    position:relative;

    padding:35px 25px;

    border:1px solid #E5E7EB;

    border-radius:22px;

    background:#ffffff;

    transition:.35s ease;

}

.process-step:hover{

    transform:translateY(-8px);

    border-color:#2563EB;

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

}

.process-number{

    font-size:.8rem;

    font-weight:800;

    color:#2563EB;

    margin-bottom:20px;

}

.process-icon{

    width:58px;

    height:58px;

    border-radius:16px;

    background:#EFF6FF;

    color:#2563EB;

    display:flex;

    align-items:center;

    justify-content:center;

    margin-bottom:25px;

}

.process-icon svg{

    width:26px;

    height:26px;

}

.process-step h3{

    color:#0B1F3A;

    margin-bottom:12px;

}

.process-step p{

    color:#6B7280;

    line-height:1.7;

    font-size:.9rem;

}
/*======================================
PRICING
======================================*/

.pricing{

    padding:120px 0;

    background:#F8FAFC;

}

.pricing-grid{

    display:grid;

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

    gap:30px;

    align-items:stretch;

}

.pricing-card{

    position:relative;

    background:#ffffff;

    border:1px solid #E5E7EB;

    border-radius:24px;

    padding:40px;

    display:flex;

    flex-direction:column;

    transition:.35s ease;

}

.pricing-card:hover{

    transform:translateY(-8px);

    box-shadow:0 25px 50px rgba(0,0,0,.08);

}

.pricing-card.featured{

    border:2px solid #2563EB;

    box-shadow:0 20px 50px rgba(37,99,235,.12);

}

.popular-badge{

    position:absolute;

    top:0;

    left:50%;

    transform:translate(-50%,-50%);

    background:#2563EB;

    color:#ffffff;

    padding:8px 18px;

    border-radius:999px;

    font-size:.7rem;

    font-weight:800;

    white-space:nowrap;

}

.pricing-name{

    display:inline-block;

    color:#2563EB;

    font-weight:800;

    font-size:.9rem;

    margin-bottom:15px;

}

.pricing-header h3{

    font-size:3rem;

    color:#0B1F3A;

    margin-bottom:15px;

}

.pricing-header p{

    color:#6B7280;

    line-height:1.7;

    min-height:82px;

}

.pricing-divider{

    height:1px;

    background:#E5E7EB;

    margin:30px 0;

}

.pricing-features{

    list-style:none;

    display:flex;

    flex-direction:column;

    gap:17px;

    margin:0 0 35px;

    padding:0;

    flex:1;

}

.pricing-features li{

    display:flex;

    align-items:flex-start;

    gap:12px;

    color:#475569;

    line-height:1.5;

}

.pricing-features li span{

    color:#2563EB;

    font-weight:800;

}

.pricing-button{

    display:flex;

    align-items:center;

    justify-content:center;

    width:100%;

    min-height:52px;

    border:1px solid #2563EB;

    border-radius:12px;

    color:#2563EB;

    font-weight:700;

    transition:.3s ease;

}

.pricing-button:hover{

    background:#EFF6FF;

}

.pricing-button.primary{

    background:#2563EB;

    color:#ffffff;

    box-shadow:0 12px 25px rgba(37,99,235,.25);

}

.pricing-button.primary:hover{

    background:#1D4ED8;

    transform:translateY(-2px);

}

.pricing-note{

    text-align:center;

    color:#6B7280;

    margin-top:35px;

}
/*======================================
FAQ
======================================*/

.faq{

    padding:120px 0;

    background:#ffffff;

}

.faq-list{

    max-width:850px;

    margin:0 auto;

    display:flex;

    flex-direction:column;

    gap:15px;

}

.faq-item{

    border:1px solid #E5E7EB;

    border-radius:16px;

    overflow:hidden;

    background:#ffffff;

    transition:.3s ease;

}

.faq-item:hover{

    border-color:#CBD5E1;

}

.faq-question{

    width:100%;

    padding:24px 28px;

    border:none;

    background:transparent;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:20px;

    text-align:left;

    cursor:pointer;

    color:#0B1F3A;

    font-family:inherit;

    font-size:1rem;

    font-weight:700;

}

.faq-question svg{

    width:20px;

    height:20px;

    flex-shrink:0;

    color:#2563EB;

    transition:.3s ease;

}

.faq-answer{

    max-height:0;

    overflow:hidden;

    transition:max-height .35s ease;

}

.faq-answer p{

    padding:0 28px 25px;

    color:#6B7280;

    line-height:1.7;

    margin:0;

}

.faq-item.active .faq-question svg{

    transform:rotate(45deg);

}

.faq-item.active{

    border-color:#BFDBFE;

    background:#F8FAFC;

}
/*======================================
FINAL CTA
======================================*/

.final-cta{

    padding:110px 0;

    background:#0B1F3A;

    color:#ffffff;

}

.final-cta-content{

    max-width:850px;

    margin:0 auto;

    text-align:center;

}

.final-cta .section-tag{

    color:#60A5FA;

}

.final-cta h2{

    color:#ffffff;

    font-size:clamp(2.2rem,5vw,4rem);

    line-height:1.1;

    margin:20px 0;

}

.final-cta p:not(.section-tag){

    max-width:650px;

    margin:0 auto;

    color:#CBD5E1;

    line-height:1.8;

}

.final-cta-buttons{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:15px;

    margin-top:35px;

}

.final-cta .btn-secondary{

    color:#ffffff;

    border-color:#475569;

}

.final-cta .btn-secondary:hover{

    background:#ffffff;

    color:#0B1F3A;

}


/*======================================
CONTACT
======================================*/

.contact{

    padding:120px 0;

    background:#F8FAFC;

}

.contact-grid{

    display:grid;

    grid-template-columns:.85fr 1.15fr;

    gap:80px;

    align-items:start;

}

.contact-info h2{

    color:#0B1F3A;

    font-size:clamp(2rem,4vw,3.2rem);

    line-height:1.15;

    margin:20px 0;

}

.contact-info > p:not(.section-tag){

    color:#6B7280;

    line-height:1.8;

    max-width:500px;

}

.contact-details{

    margin-top:40px;

    display:flex;

    flex-direction:column;

    gap:25px;

}

.contact-detail{

    display:flex;

    align-items:center;

    gap:16px;

}

.contact-detail-icon{

    width:52px;

    height:52px;

    flex-shrink:0;

    border-radius:14px;

    background:#EFF6FF;

    color:#2563EB;

    display:flex;

    align-items:center;

    justify-content:center;

}

.contact-detail-icon svg{

    width:22px;

    height:22px;

}

.contact-detail span{

    display:block;

    color:#94A3B8;

    font-size:.75rem;

    font-weight:700;

    text-transform:uppercase;

    letter-spacing:.5px;

    margin-bottom:4px;

}

.contact-detail a,

.contact-detail p{

    color:#0B1F3A;

    font-weight:600;

    margin:0;

}

.contact-detail a:hover{

    color:#2563EB;

}

.contact-form-wrapper{

    background:#ffffff;

    border:1px solid #E5E7EB;

    border-radius:24px;

    padding:40px;

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

}

.contact-form{

    display:flex;

    flex-direction:column;

    gap:20px;

}

.form-row{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:18px;

}

.form-group{

    display:flex;

    flex-direction:column;

    gap:8px;

}

.form-group label{

    color:#0B1F3A;

    font-size:.85rem;

    font-weight:700;

}

.form-group label span{

    color:#94A3B8;

    font-weight:400;

}

.form-group input,

.form-group select,

.form-group textarea{

    width:100%;

    border:1px solid #DDE3EA;

    border-radius:12px;

    padding:14px 16px;

    background:#ffffff;

    color:#0B1F3A;

    font-family:inherit;

    font-size:.95rem;

    outline:none;

    transition:.25s ease;

}

.form-group input:focus,

.form-group select:focus,

.form-group textarea:focus{

    border-color:#2563EB;

    box-shadow:0 0 0 3px rgba(37,99,235,.1);

}

.form-group textarea{

    resize:vertical;

    min-height:130px;

}

.contact-submit{

    width:100%;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    border:none;

    cursor:pointer;

}

.contact-submit svg{

    width:18px;

    height:18px;

}

.form-note{

    text-align:center;

    color:#94A3B8;

    font-size:.8rem;

    margin:0;

}
/*======================================
FOOTER
======================================*/

.footer{

    background:#07172B;

    color:#ffffff;

    padding:80px 0 25px;

}

.footer-grid{

    display:grid;

    grid-template-columns:1.6fr 1fr 1fr 1.2fr;

    gap:60px;

    padding-bottom:60px;

}

.footer-logo{

    display:inline-block;

    color:#ffffff;

    font-size:1.5rem;

    font-weight:800;

    margin-bottom:20px;

}

.footer-logo:hover{

    color:#60A5FA;

}

.footer-brand p{

    max-width:340px;

    color:#94A3B8;

    line-height:1.8;

    margin-bottom:25px;

}

.footer-cta{

    color:#60A5FA;

    font-weight:700;

}

.footer-cta:hover{

    color:#ffffff;

}

.footer-column h3{

    color:#ffffff;

    font-size:.9rem;

    margin-bottom:22px;

}

.footer-column ul{

    list-style:none;

    display:flex;

    flex-direction:column;

    gap:13px;

    margin:0;

    padding:0;

}

.footer-column li{

    color:#94A3B8;

    font-size:.9rem;

}

.footer-column a{

    color:#94A3B8;

    transition:.25s ease;

}

.footer-column a:hover{

    color:#ffffff;

}

.footer-contact li{

    display:flex;

    align-items:center;

    gap:10px;

}

.footer-contact svg{

    width:17px;

    height:17px;

    color:#60A5FA;

    flex-shrink:0;

}

.footer-bottom{

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

    padding-top:25px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:20px;

}

.footer-bottom p{

    color:#64748B;

    font-size:.8rem;

    margin:0;

}

.footer-bottom-links{

    display:flex;

    gap:25px;

}

.footer-bottom-links a{

    color:#64748B;

    font-size:.8rem;

}

.footer-bottom-links a:hover{

    color:#ffffff;

}
html {
    scroll-behavior: smooth;
}
@media (max-width: 480px) {
    .hero h1 {
        font-size: clamp(2.3rem, 11vw, 3.5rem);
        line-height: 1.05;
    }
}
.thank-you-page {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 80px 0;
}

.thank-you-content {
    max-width: 650px;
    text-align: center;
    margin: 0 auto;
}
.whatsapp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 22px;
    border-radius: 8px;
    background: #25D366;
    color: #ffffff;
    font-weight: 700;
    text-decoration: none;
    transition: transform 0.2s ease, background 0.2s ease;
}

.whatsapp-btn:hover {
    background: #1ebe5d;
    transform: translateY(-2px);
}
.menu-toggle {
    display: none;
    background: none;
    border: 0;
    color: inherit;
    font-size: 1.8rem;
    cursor: pointer;
}

@media (max-width: 768px) {
    .menu-toggle {
        display: block;
    }

    .nav-links {
        display: none;
        position: absolute;
        top: 100%;
        left: 20px;
        right: 20px;
        flex-direction: column;
        gap: 16px;
        padding: 24px;
        background: #ffffff;
        border-radius: 12px;
        box-shadow: 0 16px 35px rgba(0, 0, 0, 0.12);
    }

    .nav-links.active {
        display: flex;
    }
}