/* HMC Marine - Optimized CSS */
@import url(https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap);

/* ===== BASE STYLES ===== */
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Roboto',sans-serif;font-weight:300;color:#454545;font-size:15px;line-height:1.8;overflow-x:hidden}
h1,h2,h3,h4,h5,h6{font-weight:600;color:#272727;margin-bottom:15px}
a{color:#2c8cb3;transition:all 0.3s ease;text-decoration:none}
a:hover,a:focus{color:#1a5f7a;text-decoration:none}
img{max-width:100%;height:auto}
section{padding:80px 0;position:relative}

/* ===== NAVIGATION ===== */
.navbar-default{background:rgba(255,255,255,0.98);border:none;border-bottom:1px solid #e8e8e8;margin:0;min-height:70px;transition:all 0.3s ease;box-shadow:0 2px 15px rgba(0,0,0,0.08);backdrop-filter:blur(10px)}
.navbar-fixed-top.navbar-shrink{min-height:60px;box-shadow:0 5px 20px rgba(0,0,0,0.12)}
.navbar-default .navbar-brand{padding:15px 15px;height:70px;display:flex;align-items:center}
.navbar-default .navbar-brand .brand-logo{height:40px;width:40px;margin-right:12px;transition:all 0.3s ease}
.navbar-default .navbar-brand .logo-img{max-height:40px;margin-right:10px;transition:all 0.3s ease}
.navbar-default .navbar-brand .brand-text{font-size:22px;font-weight:700;color:#2c8cb3;transition:all 0.3s ease}
.navbar-default .navbar-brand:hover .brand-text{color:#1a5f7a}
.navbar-default .navbar-brand:hover .brand-logo{transform:scale(1.05)}
.navbar-default .navbar-nav>li>a{color:#454545;font-weight:500;padding:25px 20px;font-size:15px;transition:all 0.3s ease;position:relative}
.navbar-default .navbar-nav>li>a::after{content:'';position:absolute;bottom:20px;left:50%;transform:translateX(-50%);width:0;height:3px;background:#2c8cb3;transition:width 0.3s ease}
.navbar-default .navbar-nav>li>a:hover::after,.navbar-default .navbar-nav>li.active>a::after{width:60%}
.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li.active>a{color:#2c8cb3;background:transparent}
.navbar-default .navbar-toggle{border-color:#2c8cb3;margin-top:18px}
.navbar-default .navbar-toggle .icon-bar{background-color:#2c8cb3}
.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#f0f9fc}

/* ===== HERO SECTION ===== */
.hero-section{position:relative;height:100vh;min-height:600px;background:linear-gradient(135deg,#1a5f7a 0%,#2c8cb3 100%);display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero-section::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:url('../images/techbg.png') center/cover;opacity:0.1}
.hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.15)}
.hero-content{position:relative;z-index:2;text-align:center;color:#fff;padding:20px}
.hero-title{font-size:56px;font-weight:700;margin-bottom:25px;text-shadow:2px 2px 4px rgba(0,0,0,0.3);line-height:1.2;letter-spacing:2px;color:#ffffff}
.hero-subtitle{font-size:22px;font-weight:300;margin-bottom:15px;text-shadow:2px 2px 10px rgba(0,0,0,0.8),0 0 30px rgba(0,0,0,0.5);line-height:1.6}
.hero-buttons{margin-top:35px}
.hero-buttons .btn{margin:0 10px;min-width:160px;padding:15px 35px;font-size:16px;text-transform:uppercase;font-weight:500;border-radius:30px;transition:all 0.3s ease}
.btn-primary{background:#2c8cb3;border:2px solid #2c8cb3;color:#fff}
.btn-primary:hover{background:#1a5f7a;border-color:#1a5f7a;transform:translateY(-2px);box-shadow:0 5px 15px rgba(44,140,179,0.4)}
.btn-outline{background:transparent;border:2px solid #fff;color:#fff}
.btn-outline:hover{background:#fff;color:#2c8cb3;transform:translateY(-2px)}
.scroll-indicator{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:2}
.scroll-down{color:#fff;font-size:36px;animation:bounce 2s infinite}
@keyframes bounce{0%,20%,50%,80%,100%{transform:translateY(0)}40%{transform:translateY(-15px)}60%{transform:translateY(-8px)}}

/* ===== SECTIONS ===== */
.section{padding:80px 0;position:relative}
.section-gray{background:#f8f9fa}
.section-dark{background:#1a1a1a;color:#fff}
.section-dark .section-title,.section-dark .section-description{color:#fff}
.section-header{margin-bottom:60px;animation:fadeInUp 0.8s ease}
.section-title{font-size:38px;font-weight:700;margin-bottom:15px;text-transform:uppercase;letter-spacing:1px;position:relative;display:inline-block}
.section-divider{width:60px;height:4px;background:linear-gradient(90deg,#2c8cb3,#1a5f7a);margin:20px auto;border-radius:2px;animation:expandWidth 0.6s ease 0.3s backwards}
.section-description{font-size:18px;color:#666;max-width:700px;margin:0 auto}
@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes expandWidth{from{width:0}to{width:60px}}

/* ===== ABOUT SECTION ===== */
.about-content h3{font-size:28px;margin-bottom:20px;color:#2c8cb3;position:relative;padding-bottom:15px}
.about-content h3::after{content:'';position:absolute;bottom:0;left:0;width:60px;height:3px;background:linear-gradient(90deg,#2c8cb3,#1a5f7a)}
.about-content p{margin-bottom:20px;line-height:1.8}
.about-content h4{color:#272727;font-size:20px;margin-top:10px;margin-bottom:15px}
.about-stats{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:30px 20px;background:#f8f9fa;border-radius:10px;box-shadow:0 5px 20px rgba(0,0,0,0.05);height:100%}
.stat-item{text-align:center;padding:20px;width:100%;transition:transform 0.3s ease}
.stat-item:hover{transform:translateY(-5px)}
.stat-number{font-size:48px;font-weight:700;color:#2c8cb3;margin-bottom:10px;transition:color 0.3s ease}
.stat-item:hover .stat-number{color:#1a5f7a}
.stat-label{font-size:14px;color:#666;text-transform:uppercase;letter-spacing:0.5px}

/* ===== SERVICE CARDS ===== */
.service-card{background:#fff;padding:40px 30px;border-radius:12px;text-align:center;transition:all 0.4s cubic-bezier(0.165,0.84,0.44,1);height:100%;box-shadow:0 5px 20px rgba(0,0,0,0.08);margin-bottom:30px;position:relative;overflow:hidden}
.service-card::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(44,140,179,0.1),transparent);transition:left 0.6s ease}
.service-card:hover::before{left:100%}
.service-card:hover{transform:translateY(-12px);box-shadow:0 20px 50px rgba(44,140,179,0.25);border:1px solid rgba(44,140,179,0.2)}
.service-icon{width:80px;height:80px;margin:0 auto 25px;background:linear-gradient(135deg,#2c8cb3,#1a5f7a);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:36px;color:#fff;transition:all 0.4s ease;box-shadow:0 5px 15px rgba(44,140,179,0.3)}
.service-card:hover .service-icon{transform:scale(1.15) rotate(8deg);box-shadow:0 8px 25px rgba(44,140,179,0.5)}
.service-title{font-size:22px;font-weight:600;margin-bottom:15px;color:#2c8cb3;transition:color 0.3s ease}
.service-card:hover .service-title{color:#1a5f7a}
.service-description{font-size:15px;color:#666;line-height:1.7}

/* ===== EXPERIENCE CARDS ===== */
.experience-card{background:#fff;padding:35px 25px;border-radius:12px;text-align:center;transition:all 0.4s ease;height:100%;border:2px solid #e8e8e8;margin-bottom:30px;position:relative}
.experience-card::after{content:'';position:absolute;top:0;left:0;width:0;height:3px;background:linear-gradient(90deg,#2c8cb3,#1a5f7a);transition:width 0.4s ease}
.experience-card:hover::after{width:100%}
.experience-card:hover{border-color:#2c8cb3;box-shadow:0 12px 35px rgba(44,140,179,0.2);transform:translateY(-5px)}
.experience-icon{width:70px;height:70px;margin:0 auto 20px;background:#f0f9fc;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:30px;color:#2c8cb3;transition:all 0.4s ease;border:2px solid transparent}
.experience-card:hover .experience-icon{background:#2c8cb3;color:#fff;transform:scale(1.1);border-color:#1a5f7a}
.experience-card h3{font-size:20px;font-weight:600;margin-bottom:10px;color:#272727;transition:color 0.3s ease}
.experience-card:hover h3{color:#2c8cb3}
.experience-role{font-size:14px;color:#2c8cb3;font-weight:500;text-transform:uppercase;margin-bottom:15px;letter-spacing:0.5px}
.experience-desc{font-size:14px;color:#666;line-height:1.6}

/* ===== CONTACT SECTION ===== */
.contact-info{padding:20px 0}
.contact-item{display:flex;align-items:flex-start;margin-bottom:35px}
.contact-icon{width:60px;height:60px;background:#2c8cb3;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;color:#fff;margin-right:20px;flex-shrink:0}
.contact-details h4{font-size:18px;font-weight:600;color:#fff;margin-bottom:8px}
.contact-details p,.contact-details a{font-size:15px;color:#ccc;margin:0}
.contact-details a:hover{color:#fff}
.social-links{display:flex;gap:15px;margin-top:10px}
.social-link{width:40px;height:40px;background:#2c8cb3;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;transition:all 0.3s ease}
.social-link:hover{background:#fff;color:#2c8cb3;transform:scale(1.1)}
.map-container{border-radius:10px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,0.2);height:100%}
.map-container iframe{width:100%;height:100%;min-height:400px}

/* ===== FOOTER ===== */
.footer{background:#0d0d0d;padding:30px 0;color:#999}
.footer-text{margin:0;font-size:14px}
.footer-links{margin:0;font-size:14px}
.footer-links a{color:#999;margin:0 10px;transition:all 0.3s ease}
.footer-links a:hover{color:#2c8cb3}
.footer-credit{margin:10px 0 0 0;padding-top:15px;border-top:1px solid #2a2a2a;font-size:12px;color:#666}
.footer-credit a{color:#2c8cb3;text-decoration:none;transition:all 0.3s ease}
.footer-credit a:hover{color:#3da3c9;text-decoration:underline}

/* ===== BACK TO TOP BUTTON ===== */
.back-to-top{position:fixed;bottom:30px;right:30px;width:50px;height:50px;background:linear-gradient(135deg,#2c8cb3,#1a5f7a);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;opacity:0;visibility:hidden;transition:all 0.3s ease;z-index:1000;box-shadow:0 5px 20px rgba(44,140,179,0.4);border:2px solid transparent;text-decoration:none}
.back-to-top i{display:flex;align-items:center;justify-content:center;width:100%;height:100%;line-height:0}
.back-to-top.show{opacity:1;visibility:visible}
.back-to-top:hover{transform:translateY(-5px) scale(1.1);box-shadow:0 8px 30px rgba(44,140,179,0.6);border-color:rgba(255,255,255,0.3)}
.back-to-top:hover{background:#1a5f7a;transform:translateY(-5px);color:#fff}

/* ===== RESPONSIVE ===== */

/* Tablet Landscape & Desktop (992px to 1200px) */
@media(max-width:1199px){
.container{max-width:960px}
.hero-title{font-size:42px}
.section{padding:70px 0}
}

/* Tablet Portrait & Small Desktop (768px to 991px) */
@media(max-width:991px){
.hero-title{font-size:38px}
.hero-subtitle{font-size:19px}
.hero-buttons .btn{min-width:150px;padding:14px 30px}
.section{padding:60px 0}
.section-title{font-size:34px}
.section-header{margin-bottom:50px}
.about-stats{margin-top:30px}
.about-content h3{font-size:24px}
.navbar-default .navbar-nav>li>a{padding:15px 20px}
.navbar-default .navbar-nav>li>a::after{bottom:10px}
.stat-number{font-size:42px}
.service-card,.experience-card{margin-bottom:25px}
}

/* iPad Portrait & Large Mobile (481px to 767px) */
@media(max-width:767px){
.hero-section{min-height:550px;height:auto;padding:100px 0 80px}
.hero-title{font-size:32px;line-height:1.3}
.hero-subtitle{font-size:17px;margin-bottom:30px}
.hero-buttons .btn{margin:8px 5px;min-width:140px;padding:13px 25px;font-size:15px}
.section{padding:50px 0}
.section-title{font-size:30px}
.section-description{font-size:17px}
.section-header{margin-bottom:40px}
.about-content{margin-bottom:30px}
.about-content h3{font-size:22px;text-align:center}
.about-content h3::after{left:50%;transform:translateX(-50%)}
.about-stats{padding:25px 15px;margin-top:20px}
.stat-item{min-width:100%;margin-bottom:15px;padding:15px}
.stat-number{font-size:38px}
.stat-label{font-size:13px}
.service-card{padding:35px 25px;margin-bottom:25px}
.service-icon{width:70px;height:70px;font-size:32px}
.service-title{font-size:20px}
.service-description{font-size:14px}
.experience-card{padding:30px 20px;margin-bottom:25px}
.experience-icon{width:60px;height:60px;font-size:26px}
.experience-card h3{font-size:18px}
.experience-role{font-size:13px}
.experience-desc{font-size:13px}
.contact-item{margin-bottom:30px;flex-direction:column;align-items:center;text-align:center}
.contact-icon{margin-right:0;margin-bottom:15px}
.map-container iframe{min-height:300px}
.footer-text,.footer-links{text-align:center!important;margin-bottom:10px}
.footer-links{margin-top:10px}
.back-to-top{bottom:20px;right:20px;width:45px;height:45px;font-size:18px}
.navbar-default .navbar-brand .brand-text{font-size:20px}
}

/* Mobile Devices (320px to 480px) */
@media(max-width:480px){
body{font-size:14px}
.hero-section{min-height:500px;padding:90px 0 60px}
.hero-title{font-size:26px;margin-bottom:15px}
.hero-subtitle{font-size:15px;margin-bottom:25px}
.hero-buttons{display:flex;flex-direction:column;align-items:center}
.hero-buttons .btn{width:90%;max-width:200px;margin:8px 0;padding:12px 20px;font-size:14px}
.scroll-indicator{bottom:20px}
.scroll-down{font-size:28px}
.section{padding:40px 0}
.section-title{font-size:26px;letter-spacing:0.5px}
.section-description{font-size:15px;padding:0 15px}
.section-header{margin-bottom:35px}
.about-content h3{font-size:20px}
.about-content p,.about-content ul{font-size:14px}
.about-content h4{font-size:18px}
.about-stats{padding:20px 10px}
.stat-item{padding:12px;margin-bottom:10px}
.stat-number{font-size:34px}
.stat-label{font-size:12px}
.service-card{padding:30px 20px;margin-bottom:20px}
.service-icon{width:65px;height:65px;font-size:28px;margin-bottom:20px}
.service-title{font-size:19px}
.service-description{font-size:14px;line-height:1.6}
.experience-card{padding:25px 18px;margin-bottom:20px}
.experience-icon{width:55px;height:55px;font-size:24px;margin-bottom:15px}
.experience-card h3{font-size:17px}
.experience-role{font-size:12px}
.experience-desc{font-size:13px;line-height:1.5}
.contact-item{margin-bottom:25px}
.contact-icon{width:50px;height:50px;font-size:20px}
.contact-details h4{font-size:17px}
.contact-details p,.contact-details a{font-size:14px}
.map-container iframe{min-height:250px}
.footer{padding:25px 0}
.footer-text,.footer-links{font-size:13px}
.footer-credit{font-size:11px}
.back-to-top{bottom:15px;right:15px;width:42px;height:42px;font-size:16px}
.navbar-default{min-height:60px}
.navbar-default .navbar-brand{height:60px;padding:10px 15px}
.navbar-default .navbar-brand .brand-text{font-size:18px}
.navbar-default .navbar-toggle{margin-top:13px}
}

/* Small Mobile Devices (max 359px) */
@media(max-width:359px){
.hero-title{font-size:24px}
.hero-subtitle{font-size:14px}
.section-title{font-size:24px}
.stat-number{font-size:30px}
.service-card,.experience-card{padding:25px 15px}
.back-to-top{width:40px;height:40px}
}

/* Touch Device Optimizations */
@media(hover:none) and (pointer:coarse){
.service-card:hover,.experience-card:hover{transform:none}
.service-card:active{transform:scale(0.98);box-shadow:0 10px 30px rgba(44,140,179,0.2)}
.experience-card:active{transform:scale(0.98)}
.btn-primary:active,.btn-outline:active{transform:scale(0.95)}
.back-to-top:active{transform:scale(0.9)}
.navbar-default .navbar-nav>li>a{padding:12px 15px;font-size:16px;min-height:48px;display:flex;align-items:center}
.contact-icon,.service-icon,.experience-icon{-webkit-tap-highlight-color:transparent}
}

/* iPad Specific (portrait and landscape) */
@media only screen and (min-device-width:768px) and (max-device-width:1024px){
.hero-section{min-height:600px}
.hero-title{font-size:40px}
.hero-subtitle{font-size:20px}
.section{padding:65px 0}
.service-card,.experience-card{transition:all 0.2s ease}
.service-card:active{transform:translateY(-8px);box-shadow:0 15px 35px rgba(44,140,179,0.25)}
.experience-card:active{transform:translateY(-3px)}
}

/* Landscape Mode Adjustments */
@media(max-height:500px) and (orientation:landscape){
.hero-section{min-height:400px;padding:60px 0 40px}
.hero-title{font-size:28px}
.hero-subtitle{font-size:16px;margin-bottom:20px}
.section{padding:40px 0}
}

/* ===== SMOOTH SCROLL ===== */
html{scroll-behavior:smooth}

/* ===== ANIMATIONS ===== */
.animate__animated{animation-duration:1s}
.animate__delay-1s{animation-delay:1s}
