/* Reset e configurações básicas #1f2937 */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: "Ubuntu", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    line-height: 1.6;
    color: #333;
    background-color: #f8f9fa;
}

:root {
  --cor-primaria: #3d5fc0; 
  --cor-orange: #ea580c; 
}

h1, h2, h3, h4, h5{
    color: var(--cor-primaria);
    text-shadow: 3px 3px 3px #fff;
}

/* width */
::-webkit-scrollbar {
    width: 10px;
}

/* Track */
::-webkit-scrollbar-track {
    box-shadow: inset 0 0 5px grey;
    border-radius: 10px;
}

/* Handle */
::-webkit-scrollbar-thumb {
    background: var(--cor-primaria);
    border-radius: 10px;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
    background: grey;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Header */
.header {
    background: #FFF;
    background: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(240, 240, 240, 1) 100%);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
}

.header-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.3rem 0;
}

.logotipo {
    width: 450px;
    height: 130px;
    object-fit: cover;
    background: url('../assets/logo.png') no-repeat left;
    background-size: 65%;
}

.logotipo a {
    width: 100%;
    height: 100%;
    display: block;
}

.logotipo .link {
    transition: all 0.3s ease;
}

.logotipo:hover {
    opacity: 0.7;
    cursor: pointer;
}

.nav {
    display: flex;
    gap: 0.4rem;
    font-size: 16px;
}

.nav-link,
.btn-active {
    text-decoration: none;
    color: #6b7280;
    padding: 0.4rem 1rem;
    border-radius: 1.375rem;
    transition: all 0.3s ease;
}

.nav-link:hover,
.btn-active:hover {
    background-color: rgb(215, 222, 236);
    color: #000;
}

.nav-link.active,
.btn-active {
    background-color: var(--cor-primaria);
    color: #fff;
}

.mobile-menu-toggle {
    position: relative;
    left: 10px;
    display: none;
    font-size: 1.5rem;
    cursor: pointer;
}

/* Hero Section Top */
.hero-section {
    background: linear-gradient(135deg, #4c74e0 0%, #062886 100%);
    color: white;
    padding: 8rem 0 5rem;
    margin-top: 20px;
}

.hero-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: center;
}

.hero-text h2 {
    font-size: 3.0rem;
    font-weight: bold;
    margin-bottom: 1.5rem;
    line-height: 1.2;
    letter-spacing: -1px;
    color: #fff;
    text-shadow: 4px 4px 4px #121213;
}

.hero-text p {
    font-size: 1.25rem;
    margin-bottom: 2rem;
    color: #bfdbfe;
    line-height: 1.6;
    text-shadow: 2px 2px 4px #000;
}

.hero-buttons {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.hero-image img,
.hero-image video {
    width: 100%;
    height: 380px;
    margin-top: 20px;
    object-fit: cover;
    border-radius: 0.5rem;
    border-radius: 8px;
    /*border-top-right-radius: 40px;
    border-bottom-left-radius: 30px;
    border-bottom-right-radius: 30px;*/
    border: 5px solid #fff;
    box-shadow: 0px 1px 18px 1px #ffffff41;
}

.hero-image img:hover {
    opacity: 0.7;
    cursor: pointer;
}

.hero-image video:hover  {
    opacity: 0.7;
    cursor: pointer;
}

/* Buttons */
.btn {
    display: inline-block;
    padding: 0.55rem 1.2rem;
    border-radius: 1.475rem;
    text-decoration: none;
    font-weight: 400;
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
    text-align: center;
}

.btn-primary {
    background-color: #1f2937;
    color: #bfdbfe;
    border: 2.5px solid #47576e
}

.btn-primary:hover {
    background-color: #47576e;
    transform: translateY(-2px);
    border: 1.5px solid #fff;
}

.btn-outline {
    display: inline-block;
    padding: 0.55rem 1.2rem;
    border-radius: 1.475rem;
    text-decoration: none;
    font-weight: 400;
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
    text-align: center;
    background-color: var(--cor-orange);
    color: white;
    border: 2px solid #fff;
}

.btn-outline:hover {
    background-color: var(--cor-primaria);
    border: 2px solid #fff;
    transform: translateY(-2px);
}

.btn-orange {
    background-color: var(--cor-orange);
    color: white;
}

.btn-orange:hover {
    background-color: #dc2626;
}

.btn-full {
    width: 20%;
}

/* Sections */
.about-section,
.servicos-section,
.contatos-section,
.hospedagem-section {
    padding: 1.5rem 0;
    background: white;
}

.hospedagem-section{
    background: #f3f4f6;
}

.section-header {
    text-align: left;
    margin-bottom: 1rem;
    text-shadow: 1px 1px 4px #fff;
}

.section-header h3,
.section-header h4 {
    max-width: 800px;
    font-size: 2.5rem;
    font-weight: bold;
    /*color: #1f2937;*/
    margin-bottom: 0.5rem;
    margin-left: 30px;
    /*text-shadow: rgb(174, 185, 212) 2px 0px 0px, rgb(174, 185, 212) 1.75517px 0.958851px 0px, rgb(174, 185, 212) 1.0806px 1.68294px 0px, rgb(174, 185, 212) 0.141474px 1.99499px 0px, rgb(174, 185, 212) -0.832294px 1.81859px 0px, rgb(174, 185, 212) -1.60229px 1.19694px 0px, rgb(174, 185, 212) -1.97998px 0.28224px 0px, rgb(174, 185, 212) -1.87291px -0.701566px 0px, rgb(174, 185, 212) -1.30729px -1.5136px 0px, rgb(174, 185, 212) -0.421592px -1.95506px 0px, rgb(174, 185, 212) 0.567324px -1.91785px 0px, rgb(174, 185, 212) 1.41734px -1.41108px 0px, rgb(174, 185, 212) 1.92034px -0.558831px 0px;*/
}

.section-header h4{
    font-size: 1.8rem;
}

.section-header p {
    font-size: 1.125rem;
    color: #6b7280;
    max-width: 800px;
    margin-left: 30px;
}

.section-header p.full {
    font-size: 1.100rem;
    max-width: 100%;
    line-height: 24px;
}

.section-header p.full-min {
    font-size: 0.8rem;
    max-width: 100%;
    margin-top: 10px;
}

.section-cta {
    text-align: center;
    margin-top: 3rem;
}

/* Features Grid */
.features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
}

.feature-item {
    text-align: center;
}

.feature-icon {
    background-color: rgb(215, 222, 236);
    width: 5rem;
    height: 5rem;
    border-radius: 50%;
    border: 5px solid var(--cor-primaria);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1rem;
}

.feature-icon:hover {
    opacity: 0.7;
    cursor: pointer;
}

.feature-icon i {
    font-size: 2rem;
    color: var(--cor-primaria);
}

.feature-item h4 {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.feature-item p {
    color: #6b7280;
}

/* Cards */
.cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin-bottom: 3rem;
}

.cards-grid .card img:hover {
    opacity: 0.7;
    cursor: pointer;
}

.card {
    border: 1.5px solid #fff;
    background: #6a727f0a;
    border-radius: 0.5rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    transition: all 0.3s ease;
    padding: 20px
}

.card:hover {
    border: 1.5px solid #8291e488;
    background: #fff;
    transform: translateY(-5px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
}

.card img {
    width: 100%;
    height: 340px;
    object-fit: cover;
    border-radius: 8px;
    /*border-top-right-radius: 40px;
    border-bottom-left-radius: 30px;
    border-bottom-right-radius: 30px;*/
    border: 8px solid #fff;
    box-shadow: 0px 1px 18px 1px #22212141;
}

.card-content {
    padding: 1.5rem;
}

.card h4 {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.card h5 {
    position: relative;
    width: 65%;
    display: block;
    float: left;
    font-size: 2.0rem;
    font-weight: 600;
    line-height: 30px;

    .sub{
        font-size: 1.25rem;
    }
}

.card .subtitle{
    position: relative;
    width: 100%;
    display: block;
    float: left;
    font-size: 14px;
}

.card .preco {
    position: relative;
    width: 35%;
    height: 50px;
    display: block;
    float: left;
    font-size: 16px;
    font-weight: bold;
    line-height: 60px;
    text-shadow: rgb(255, 255, 255) 4px 0px 0px, rgb(255, 255, 255) 3.87565px 0.989616px 0px, rgb(255, 255, 255) 3.51033px 1.9177px 0px, rgb(255, 255, 255) 2.92676px 2.72656px 0px, rgb(255, 255, 255) 2.16121px 3.36588px 0px, rgb(255, 255, 255) 1.26129px 3.79594px 0px, rgb(255, 255, 255) 0.282949px 3.98998px 0px, rgb(255, 255, 255) -0.712984px 3.93594px 0px, rgb(255, 255, 255) -1.66459px 3.63719px 0px, rgb(255, 255, 255) -2.51269px 3.11229px 0px, rgb(255, 255, 255) -3.20457px 2.39389px 0px, rgb(255, 255, 255) -3.69721px 1.52664px 0px, rgb(255, 255, 255) -3.95997px 0.56448px 0px, rgb(255, 255, 255) -3.97652px -0.432781px 0px, rgb(255, 255, 255) -3.74583px -1.40313px 0px, rgb(255, 255, 255) -3.28224px -2.28625px 0px, rgb(255, 255, 255) -2.61457px -3.02721px 0px, rgb(255, 255, 255) -1.78435px -3.57996px 0px, rgb(255, 255, 255) -0.843183px -3.91012px 0px, rgb(255, 255, 255) 0.150409px -3.99717px 0px, rgb(255, 255, 255) 1.13465px -3.8357px 0px, rgb(255, 255, 255) 2.04834px -3.43574px 0px, rgb(255, 255, 255) 2.83468px -2.82216px 0px, rgb(255, 255, 255) 3.44477px -2.03312px 0px, rgb(255, 255, 255) 3.84068px -1.11766px 0px, rgb(255, 255, 255) 3.9978px -0.132717px 0px;
}

.card em {
    font-size: 16px;
    display: block;
    float: left;
}

.card span{
    font-size: 38px;
    display: block;
    float: left;
}

.card-description {
    position: relative;
    display: block;
    float: left;
}

.card ul {
    list-style: none;
    margin-bottom: 1rem;
}

.card li {
    color: #6b7280;
    font-size: 0.875rem;
    margin-bottom: 0.15rem;
}

.card li.red{
    color: #ec2c1e94;
}

.card .subtitle2{
    position: relative;
    width: 100%;
    margin: 5px auto 0px;
    text-align: center;
    font-size: 13px;
    font-weight: bold;
    color: #e70707;
    display: block;
    float: left;
    background-color: bisque;
    animation: pisca 1s linear infinite;
}

.card  .subtitle2 strong{
    font-size: 18px;

}

@keyframes pisca {
    0% {opacity: 1;}
    25% {opacity: 0.5;}
    50% {opacity: 0;}
    75% {opacity: 0.5;}
    100% {opacity: 1;}
}


/* Services Grid */
.services-grid {
    position: relative;
    width: 100%;    
    height: 100%;
    display: flex;
    margin-bottom: 30px;
}

.service-card {
    background: white;
    padding: 2rem 1rem;
    border-radius: 0.5rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.service-icon {
    width: 3rem;
    height: 3rem;
    border-radius: 0.375rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
    background-color: #2563eb;
}

.service-icon.orange {
    background-color: #ea580c;
}

.service-icon.gold {
    background-color: #8c9605;
}

.service-icon.purple {
    background-color: #7c3aed;
}

.service-icon i {
    color: white;
    font-size: 1.5rem;
}

.service-card h4 {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 1rem;
}

.service-card p {
    color: #6b7280;
    margin-bottom: 1rem;
}

.service-card ul {
    list-style: none;
}

.service-card li {
    color: #6b7280;
    font-size: 0.875rem;
    margin-bottom: 0.25rem;
}

/* Semi novos */
.semi-novos-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
    gap: 2rem;
    margin-bottom: 3rem;
}

.specs {
    margin-bottom: 1rem;
}

.specs p {
    font-size: 0.875rem;
    margin-bottom: 0.25rem;
}

.warranty {
    color: #059669;
    font-weight: 600;
}

.advantages-section {
    background: #dbeafe;
    padding: 2rem;
    border-radius: 0.5rem;
}

.advantages-section h4 {
    text-align: center;
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 2rem;
}

.advantages-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 2rem;
}

.advantage-item {
    text-align: center;
}

.advantage-icon {
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1rem;
}

.advantage-icon.blue {
    background-color: #2563eb;
}

.advantage-icon.green {
    background-color: #059669;
}

.advantage-icon.orange {
    background-color: #ea580c;
}

.advantage-icon i {
    color: white;
    font-size: 1.5rem;
}

.advantage-item h5 {
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.advantage-item p {
    font-size: 0.875rem;
    color: #6b7280;
}

/* Portfolio Section */
.sites{
    position: relative;
    width: 100%;
    height: 100%;
    display: block;
    float: left;
    padding: 0;
    margin: 0;
}

.sites img{
    position: relative;
    width: 280px;
    height: 200px;
    display: block;
    float: left;
    margin: 0 50px 50px 0;
    border-top-left-radius: 8px;
    border-top-right-radius: 40px;
    border-bottom-left-radius: 30px;
    border-bottom-right-radius: 30px;
    background-color: #F1F4FF;
    border: 5px solid #fff;
    box-shadow: 4px 4px 4px rgba(75, 74, 74, 0.315);
}  

.sites img:hover{
    opacity: 0.7;
    cursor: pointer;
}

.sites img.right{
    margin: 0 0 50px 0;
}

.bloco {
  position: relative;
  width: 100%;
  height: auto;
  display: block;
  float: left;
  margin: 0 0 30px 0px;
  clear: both;
}

.bloco .video {
    position: relative;
    width: 225px;
    height: 100%;
    display: block;
    float: left;
    padding: 0;
    margin: 0;
}

.video video, .video iframe {
    border-top-left-radius: 6px;
    background-color: #7b8fd3ab;
    border: 6px solid var(--cor-primaria);
    box-shadow: 4px 4px 4px rgba(75, 74, 74, 0.315);
}

.banner{
    position: relative;
    display: block;
    float: left;
    padding: 0;
    margin: 0 15px 20px 0;
}

.banner-img{
    position: relative;
    display: block;
    float: left;
    margin-top: 10px;
    padding: 5px;
    border-top-left-radius: 8px;
    background-color: #fff;
    border: 5px solid var(--cor-primaria);
    box-shadow: 4px 4px 4px rgba(75, 74, 74, 0.315);
}

/* Contact Section */
.contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
}

.contact{
    position: relative;
    width: 100%;
    margin: 0 auto;
    display: grid;
}

.form-contato{
    position: relative;
    width: 80%;
    margin: 0 auto;
}

.contact-form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.form-group {
    display: flex;
    flex-direction: column;
    margin-bottom: 14px;
}

.form-group label {
    font-weight: 600;
    margin-bottom: 0.5rem;
    color: #374151;
}

.form-group input,
.form-group select,
.form-group textarea {
    padding: 0.75rem;
    border: 1px solid #d1d5db;
    border-radius: 0.375rem;
    font-size: 1rem;
    transition: border-color 0.3s ease;
}

.campo-input,
.campo-select,
.campo-textarea {
    width: 100%;
    padding: 0.75rem;
    border: 1px solid #d1d5db;
    border-radius: 0.375rem;
    font-size: 1rem;
    transition: border-color 0.3s ease;
}

.form-group input::placeholder,
.form-group select,
.form-group textarea::placeholder {
    color: #3d60c054;
    opacity: 1;
    font-size: 15px;
}

.form-group input:focus,
.form-group textarea:focus {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.contact-info {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    line-height: 29px;
}

.contact-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

.contact-item i {
    font-size: 1.25rem;
    color: #1f2937;
    margin-top: 0.25rem;
}

.contact-label {
    font-weight: 600;
    margin-bottom: 0.25rem;
}

.map-placeholder {
    width: 100% !important;
    background: #f3f4f6;
    height: auto;
    border-radius: 0.5rem;
    /*display: flex;
    align-items: center;
    justify-content: center;*/
    color: #6b7280;
}

.map-placeholder iframe {
    width: 100% !important;
}

/* Footer */
.footer {
    background: linear-gradient(135deg, #4c74e0 0%, #062886 100%);
    color: white;
    padding: 2rem 0;
}

.footer-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 3rem;
    margin-bottom: 2rem;
}

.footer-column{
    
}

.footer-logotipo {
    width: 180px;
    height: 80px;
    object-fit: cover;
    background: url('../assets/logo-footer.png') no-repeat left;
    background-size: contain;
}

.footer-column p {
    color: #ffffffb2;
    margin-bottom: 1rem;
    text-shadow: 1px 1px 4px #2c1f1f;
}

.footer-column h5 {
    font-size: 1.0rem;
    font-weight: 600;
    margin-bottom: 0.6rem;
    color: #ffffff;
    text-transform: uppercase;
    text-shadow: 1px 1px 4px #180101;
}

.footer-column ul {
    list-style: none;
}

.footer-column li {
    color: #b4cdee;
    margin-bottom: 0.5rem;
    line-height: 20px;
    text-shadow: 1px 1px 4px #180101;
}

.footer-column li a {
    color: #b4cdee;
    text-decoration: none;
}

.footer-column li a:hover {
    color: #eeeff1;
}

.footer-bottom {
    border-top: 1px solid #396fb6a8;
    padding-top: 2rem;
    text-align: center;
    color: ffffffb2;
    font-size: 12px;
    text-shadow: 1px 1px 4px #180101;
}

.footer-bottom a {
    color: #aeb2bb;
    text-decoration: none;
    text-shadow: 1px 1px 4px #180101;
}

.footer-bottom a:hover {
    color: #eeeff1;
}

/* WhatsApp Float */
.whatsapp-float {
    position: fixed;
    bottom: 2rem;
    right: 2rem;
    background: #25d366;
    color: white;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(37, 211, 102, 0.4);
    transition: all 0.3s ease;
    z-index: 1000;
}

.whatsapp-float:hover {
    background: #133b6b;
    transform: scale(1.1);
    box-shadow: 0 6px 20px rgba(111, 139, 230, 0.6);
}

/* Message Page */
.message-page {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f3f4f6;
}

.message-container {
    background: white;
    padding: 3rem;
    border-radius: 0.5rem;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
    text-align: center;
    max-width: 500px;
    width: 100%;
}

.message {
    margin-bottom: 2rem;
}

.message i {
    font-size: 3rem;
    margin-bottom: 1rem;
}

.message.success i {
    color: #059669;
}

.message.error i {
    color: #dc2626;
}

.message h2 {
    font-size: 1.5rem;
    margin-bottom: 1rem;
}

.message ul {
    text-align: left;
    list-style: none;
    padding-left: 0;
}

.message li {
    margin-bottom: 0.5rem;
    color: #dc2626;
}

.message-actions {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}

.pack{
    position: relative;
    width: 100%;
    margin-top: 15px;
}

.pack img{
    position: relative;
    width: 50%;
    height: auto;
    text-align: center;
    margin: 0 auto;
}

.lojas{
    font-size: 12px;
    margin-top: 10px;
}

/* Responsive */
@media (max-width: 768px) {
    .mobile-menu-toggle {
        display: block;
        z-index: 1001;
    }

    .nav {
        /* Configuração de Menu Dropdown/Overlay */
        position: absolute;
        top: 130px;
        /* Ajuste para a altura do seu header */
        left: 0;
        right: 0;
        width: 100%;
        background-color: #1f2937;
        /* Fundo escuro para mobile */
        flex-direction: column;
        align-items: center;
        box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);

        /* Esconder o menu e preparar a animação */
        height: 0;
        overflow: hidden;
        /* Esconde o conteúdo que transborda */
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s ease-in-out;
    }

    /* Exibe o menu quando a classe 'mobile-active' é adicionada pelo JS */
    .nav.mobile-active {
        height: 90vh;
        /* Permite que o conteúdo defina a altura */
        max-height: 90vh;
        /* Define uma altura máxima razoável */
        opacity: 1;
        visibility: visible;
        padding: 0.5rem 0;
        /* Adicione padding para o menu */
    }

    /* Estilo dos links no menu mobile */
    .nav-link {
        width: 90%;
        /* Ocupa toda a largura */
        text-align: center;
        padding: 8px 1rem !important;
        margin-top: 6px;
        color: #1F2937;
        /* Cor do link no fundo escuro */
        border: 1px solid #47576e !important;
        ;
    }

    .nav-link:hover,
    .nav-link.active {
        background-color: #6b7280;
    }

    /* Garante que o container se ajuste no mobile */
    .header-content {
        padding: 0.5rem 20px;
    }

    /* Ajuste o logotipo para não ocupar tanto espaço */
    .logotipo {
        width: 250px;
        height: 80px;
        background-size: contain;
    }

    .hero-content {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .hero-text h2 {
        font-size: 2.5rem;
    }

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

    .form-row {
        grid-template-columns: 1fr;
    }

    .hero-buttons {
        justify-content: center;
    }

    .cards-grid,
    .services-grid,
    .semi-novos-grid {
        grid-template-columns: 1fr;
    }

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

    .features-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .features-grid {
        grid-template-columns: 1fr;
    }

    .hero-text h2 {
        font-size: 2rem;
    }

    .section-header h3 {
        font-size: 2rem;
    }
}