/* Universal Mobile Responsive CSS */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{overflow-x:hidden}
img,video,iframe{max-width:100%;height:auto}

/* Navigation mobile */
@media(max-width:1024px){
.nav,.navbar,header nav{padding:1rem}
.nav-links,.navbar-nav,.menu{
position:fixed;top:0;right:-100%;width:80%;max-width:320px;height:100vh;
background:rgba(0,0,0,0.95);flex-direction:column;justify-content:center;
align-items:center;padding:2rem;transition:right 0.3s;z-index:9999}
.nav-links.active,.nav-links.open,.navbar-nav.active,.menu.active{right:0;display:flex}
.nav-toggle,.hamburger,.menu-toggle{display:flex;flex-direction:column;gap:5px;cursor:pointer;z-index:10000}
.nav-toggle span,.hamburger span{display:block;width:25px;height:2px;background:#fff}
.nav-cta,.nav-button{display:none}
}

/* Hero/header sections */
@media(max-width:768px){
.hero,header,.page-header{padding:5rem 1.5rem 3rem;min-height:auto}
.hero h1,.hero-title,h1{font-size:clamp(1.8rem,7vw,2.5rem);line-height:1.2}
.hero p,.hero-subtitle{font-size:1rem}
.hero-cta,.btn-group{flex-direction:column;gap:1rem;width:100%}
}

/* Sections and containers */
@media(max-width:768px){
section,.section{padding:3rem 1.5rem}
.container{padding:0 1rem}
h2,.section-title{font-size:clamp(1.5rem,5vw,2rem)}
}

/* Grids */
@media(max-width:768px){
.grid,.row,.cards,.services,.features,[class*="grid"]{
grid-template-columns:1fr;gap:1.5rem}
.col,.column,[class*="col-"]{width:100%}
}

/* Cards */
@media(max-width:768px){
.card,.service-card,.feature-card{padding:1.5rem}
}

/* Buttons */
@media(max-width:768px){
.btn,button,.button{padding:0.875rem 1.5rem;font-size:1rem;width:100%;text-align:center}
}

/* Footer */
@media(max-width:768px){
footer{padding:2rem 1.5rem}
.footer-grid,.footer-links{grid-template-columns:1fr;flex-direction:column;gap:1.5rem}
}

/* Forms */
@media(max-width:768px){
input,textarea,select{font-size:16px;padding:0.875rem}
.form-row{flex-direction:column}
}

/* Tables */
@media(max-width:768px){
table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
}

/* Extra small */
@media(max-width:480px){
.hero,header{padding:4rem 1rem 2rem}
section{padding:2rem 1rem}
h1{font-size:1.5rem}
h2{font-size:1.3rem}
}

/* Safe areas */
@supports(padding:max(0px)){
.nav,nav,header{padding-top:max(1rem,env(safe-area-inset-top))}
footer{padding-bottom:max(2rem,env(safe-area-inset-bottom))}
}
