/* ==========================================================================
   SPEEDOCEAN International Logistics — Main Stylesheet
   ========================================================================== */

/* ---------- 1. CSS RESET & CUSTOM PROPERTIES ---------- */

:root {
  /* Brand Colors */
  --deep-navy: #0a1628;
  --navy: #0d2137;
  --primary-blue: #1a5276;
  --ocean-blue: #2e86c1;
  --light-cyan: #5dade2;
  --bright-cyan: #3498db;
  --orange: #e67e22;
  --orange-bright: #f39c12;
  --orange-dark: #d35400;

  /* Neutrals */
  --white: #ffffff;
  --off-white: #f8f9fa;
  --gray-100: #f1f3f5;
  --gray-200: #e2e8f0;
  --gray-400: #a0aec0;
  --text-dark: #1a1a2e;
  --text-body: #4a5568;
  --text-muted: #718096;

  /* Typography */
  --ff: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

  /* Spacing (8-px grid) */
  --s1: 8px; --s2: 16px; --s3: 24px; --s4: 32px;
  --s5: 40px; --s6: 48px; --s8: 64px; --s10: 80px;

  /* Misc */
  --radius: 4px;
  --radius-md: 8px;
  --radius-pill: 500px;
  --shadow-sm: 0 1px 3px rgba(0,0,0,.08);
  --shadow-md: 0 4px 12px rgba(0,0,0,.1);
  --shadow-lg: 0 12px 28px rgba(0,0,0,.12);
  --ease: .3s ease;
  --ease-slow: .6s ease;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--ff);color:var(--text-body);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4,h5,h6{color:var(--text-dark);font-weight:700;line-height:1.15}
a{color:var(--ocean-blue);text-decoration:none;transition:color .2s}
a:hover{color:var(--primary-blue)}
img,svg{display:block;max-width:100%;height:auto}
ul,ol{list-style:none}
button,input,select,textarea{font-family:inherit;font-size:100%}

/* ---------- 2. PRELOADER ---------- */

.preloader{
  position:fixed;inset:0;z-index:9999;
  background:var(--deep-navy);
  display:flex;align-items:center;justify-content:center;
  transition:opacity .4s ease, visibility .4s ease;
}
.preloader.loaded{opacity:0;visibility:hidden;pointer-events:none}
.preloader-inner{text-align:center}
.preloader-logo img{width:64px;height:64px;margin:0 auto var(--s2)}
.preloader-spinner{
  width:40px;height:40px;margin:0 auto;
  border:3px solid rgba(255,255,255,.15);
  border-top-color:var(--orange);
  border-radius:50%;
  animation:spin .8s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- 3. UTILITY CLASSES ---------- */

.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--s3)}
.section-padding{padding:100px 0}
.text-center{text-align:center}
.text-white{color:var(--white)!important}
.text-white-muted{color:rgba(255,255,255,.7)!important}

/* Section headers */
.section-header{margin-bottom:var(--s8)}
.section-label{
  display:inline-block;text-transform:uppercase;letter-spacing:2.5px;
  font-size:.8rem;color:var(--orange);font-weight:700;margin-bottom:var(--s2);
}
.section-label-light{color:var(--orange-bright)}
.section-title{font-size:clamp(2rem,4vw,2.75rem);color:var(--navy);font-weight:800;margin-bottom:var(--s3)}
.section-subtitle{font-size:1.1rem;color:var(--text-muted);max-width:620px;margin:0 auto;line-height:1.7}
.section-text{font-size:1.1rem;color:var(--text-body);line-height:1.8;margin-bottom:var(--s3)}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 28px;font-size:.95rem;font-weight:600;
  border-radius:var(--radius);border:2px solid transparent;
  cursor:pointer;transition:all .25s ease;text-decoration:none;
  line-height:1.4;
}
.btn:active{transform:scale(.97)}
.btn svg{flex-shrink:0}

.btn-primary{background:var(--orange);color:var(--white);border-color:var(--orange)}
.btn-primary:hover,.btn-primary:focus{
  background:var(--orange-bright);border-color:var(--orange-bright);color:var(--white);
  transform:translateY(-2px);box-shadow:0 6px 20px rgba(230,126,34,.35);
}
.btn-secondary{background:transparent;color:var(--white);border-color:rgba(255,255,255,.5)}
.btn-secondary:hover,.btn-secondary:focus{background:rgba(255,255,255,.12);border-color:var(--white);color:var(--white)}
.btn-lg{padding:16px 36px;font-size:1.05rem}

/* ---------- 4. NAVIGATION ---------- */

.navbar{
  position:fixed;top:0;left:0;width:100%;height:80px;z-index:1000;
  background:transparent;transition:all var(--ease);
}
.navbar.scrolled{background:var(--navy);height:64px;box-shadow:var(--shadow-md)}
.navbar-inner{display:flex;align-items:center;justify-content:space-between;height:100%}

/* Logo */
.nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none;z-index:1002}
.nav-logo img{height:44px;width:44px;object-fit:contain;transition:height var(--ease)}
.navbar.scrolled .nav-logo img{height:36px;width:36px}
.nav-logo-text{
  font-size:1.15rem;color:var(--white);font-weight:400;letter-spacing:.5px;
}
.nav-logo-text strong{font-weight:800}

/* Links */
.nav-links{display:flex;align-items:center;gap:var(--s4);margin:0;padding:0}
.nav-link{
  color:rgba(255,255,255,.85);font-weight:500;font-size:.9rem;
  position:relative;padding:6px 0;transition:color .2s;
}
.nav-link::after{
  content:'';position:absolute;bottom:0;left:0;width:0;height:2px;
  background:var(--orange);transition:width .25s ease;
}
.nav-link:hover,
.nav-link.active{color:var(--white)}
.nav-link:hover::after,
.nav-link.active::after{width:100%}

/* Actions */
.nav-actions{display:flex;align-items:center;gap:var(--s2);z-index:1002}
.nav-phone{
  color:rgba(255,255,255,.8);display:flex;align-items:center;gap:6px;
  transition:color .2s;
}
.nav-phone svg{display:inline-block}
.nav-phone:hover{color:var(--orange)}
.nav-cta{border-radius:var(--radius-pill);padding:10px 24px;font-size:.85rem;white-space:nowrap}

/* Hamburger */
.hamburger{
  display:none;background:none;border:none;cursor:pointer;
  width:28px;height:20px;position:relative;z-index:1002;padding:0;
}
.hamburger-line{
  display:block;position:absolute;left:0;width:100%;height:2px;
  background:var(--white);transition:all .3s ease;
}
.hamburger-line:nth-child(1){top:0}
.hamburger-line:nth-child(2){top:9px}
.hamburger-line:nth-child(3){bottom:0}
.nav-open .hamburger-line:nth-child(1){transform:rotate(45deg);top:9px}
.nav-open .hamburger-line:nth-child(2){opacity:0}
.nav-open .hamburger-line:nth-child(3){transform:rotate(-45deg);bottom:9px}

/* ---------- 5. HERO SECTION ---------- */

.hero{
  position:relative;width:100%;height:100vh;min-height:700px;
  display:flex;align-items:center;overflow:hidden;
  background:var(--deep-navy);
}
.hero-bg{
  position:absolute;inset:0;
  background:
    url('../images/hero-bg.jpg') center/cover no-repeat,
    linear-gradient(135deg,var(--deep-navy),var(--navy));
  z-index:0;
}
.hero-overlay{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(135deg,rgba(10,22,40,.92) 0%,rgba(13,33,55,.7) 50%,rgba(26,82,118,.5) 100%);
}
/* Subtle grid pattern */
.hero-overlay::after{
  content:'';position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);
  background-size:60px 60px;
  pointer-events:none;
}

/* Hero route SVG lines */
.hero-routes{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  opacity:.15;
}
.hero-routes svg{width:100%;height:100%}
.hero-route-line{
  fill:none;stroke:var(--light-cyan);stroke-width:1.5;
  stroke-dasharray:12 8;
  animation:routeFlow 12s linear infinite;
}
.hero-route-line.delay-1{animation-delay:2s;stroke:var(--orange);opacity:.6}
.hero-route-line.delay-2{animation-delay:4s;stroke:var(--bright-cyan);opacity:.4}
@keyframes routeFlow{to{stroke-dashoffset:-600}}

/* Hero content */
.hero-content{position:relative;z-index:2;max-width:780px}
.hero-eyebrow{
  text-transform:uppercase;letter-spacing:3.5px;font-size:.8rem;
  color:var(--light-cyan);font-weight:600;margin-bottom:var(--s3);
}
.hero-title{
  font-size:clamp(2.4rem,5.5vw,4.2rem);color:var(--white);
  font-weight:800;line-height:1.08;margin-bottom:var(--s2);
}
.hero-subtitle{
  font-size:clamp(1.15rem,2.5vw,1.6rem);color:var(--orange);
  font-weight:600;margin-bottom:var(--s4);
}
.hero-text{
  font-size:1.1rem;color:rgba(255,255,255,.8);
  max-width:580px;margin-bottom:var(--s5);line-height:1.7;
}
.hero-ctas{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap}
.hero-call-btn{font-size:.95rem}

/* Scroll indicator */
.hero-scroll{
  position:absolute;bottom:32px;left:50%;transform:translateX(-50%);z-index:2;
}
.hero-scroll-line{
  width:1px;height:48px;background:rgba(255,255,255,.3);position:relative;overflow:hidden;
}
.hero-scroll-line::after{
  content:'';position:absolute;top:-100%;left:0;width:100%;height:50%;
  background:var(--orange);animation:scrollLine 2s ease infinite;
}
@keyframes scrollLine{
  0%{top:-50%}
  100%{top:150%}
}

/* ---------- 6. ABOUT SECTION ---------- */

.about{background:var(--white)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.about-content .btn{margin-top:var(--s1)}

/* About visual */
.about-visual{position:relative;display:flex;align-items:center;justify-content:center}
.about-logo-wrapper{
  position:relative;z-index:2;padding:var(--s6);
}
.about-logo-wrapper img{width:280px;height:auto;margin:0 auto}
.about-accent-shape{
  position:absolute;width:85%;padding-bottom:85%;border-radius:50%;
  background:var(--off-white);z-index:1;
}

/* ---------- 7. SERVICES SECTION ---------- */

.services{background:var(--off-white)}
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:0}

.service-card{
  background:var(--white);padding:36px 28px;border-radius:var(--radius);
  box-shadow:var(--shadow-sm);border-top:3px solid transparent;
  transition:all var(--ease);display:flex;flex-direction:column;
}
.service-card:hover{
  transform:translateY(-6px);box-shadow:var(--shadow-lg);
  border-top-color:var(--orange);
}
.service-icon{
  width:56px;height:56px;border-radius:50%;
  background:linear-gradient(135deg,var(--primary-blue),var(--ocean-blue));
  display:flex;align-items:center;justify-content:center;
  margin-bottom:var(--s3);color:var(--white);flex-shrink:0;
}
.service-icon svg{display:inline-block;width:28px;height:28px}
.service-title{color:var(--navy);font-size:1.15rem;font-weight:700;margin-bottom:var(--s1)}
.service-text{color:var(--text-body);line-height:1.7;font-size:.92rem;flex-grow:1}

/* ---------- 8. GLOBAL CONNECTIVITY ---------- */

.global{background:var(--deep-navy);overflow:hidden}
.globe-container{max-width:920px;margin:var(--s6) auto 0;position:relative}
.world-map{width:100%;height:auto}

/* Route lines animation */
.route-line{
  stroke-dasharray:8 6;stroke-dashoffset:0;
  opacity:0;transition:opacity .6s ease;
}
.animate-routes .route-line{opacity:1;animation:routeDash 15s linear infinite}
@keyframes routeDash{to{stroke-dashoffset:-400}}

.route-line.route-1{animation-delay:0s}
.route-line.route-2{animation-delay:.3s}
.route-line.route-3{animation-delay:.6s}
.route-line.route-4{animation-delay:.9s}
.route-line.route-5{animation-delay:1.2s}

/* Route dots pulse */
.route-dot{opacity:0;transition:opacity .4s}
.animate-routes .route-dot{opacity:1;animation:dotPulse 2.5s ease-in-out infinite}
@keyframes dotPulse{
  0%,100%{r:3.5;opacity:1}
  50%{r:6;opacity:.5}
}
.animate-routes .dot-china{animation-delay:0s}
.animate-routes .dot-mideast{animation-delay:.4s}
.animate-routes .dot-europe{animation-delay:.8s}
.animate-routes .dot-africa{animation-delay:1.2s}
.animate-routes .dot-americas{animation-delay:1.6s}
.animate-routes .dot-seasia{animation-delay:2s}

.route-labels text{opacity:0;transition:opacity .6s}
.animate-routes .route-labels text{opacity:1}

/* ---------- 9. WHY SPEEDOCEAN ---------- */

.why-us{background:var(--white)}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:36px}
.why-card{text-align:center;padding:var(--s4) var(--s3);transition:transform var(--ease)}
.why-card:hover{transform:translateY(-4px)}
.why-icon{
  color:var(--ocean-blue);margin-bottom:var(--s3);transition:all var(--ease);
  display:flex;align-items:center;justify-content:center;
}
.why-icon svg{width:44px;height:44px}
.why-card:hover .why-icon{color:var(--orange);transform:scale(1.1)}
.why-title{color:var(--navy);font-size:1.1rem;font-weight:700;margin-bottom:var(--s1)}
.why-text{color:var(--text-muted);font-size:.92rem;line-height:1.65}

/* ---------- 10. PROCESS SECTION ---------- */

.process{background:var(--off-white)}
.process-grid{display:flex;align-items:flex-start;position:relative;gap:0}

/* Hide the inline SVG connectors on desktop — use CSS pseudo-element line */
.process-connector{flex:0 0 auto;width:60px;display:flex;align-items:center;padding-top:36px}
.process-connector svg{width:100%;height:20px}

.process-step{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative}
.process-number{
  font-size:2.5rem;font-weight:800;color:var(--orange);
  width:76px;height:76px;display:flex;align-items:center;justify-content:center;
  border-radius:50%;background:var(--off-white);
  box-shadow:0 0 0 6px var(--off-white);margin-bottom:var(--s2);
  position:relative;z-index:2;
}
.process-title{color:var(--navy);font-weight:700;font-size:1.1rem;margin-bottom:var(--s1)}
.process-text{color:var(--text-muted);font-size:.9rem;max-width:200px;line-height:1.55}

/* ---------- 11. QUOTE / CTA SECTION ---------- */

.quote-section{
  background:linear-gradient(135deg,var(--navy) 0%,var(--deep-navy) 100%);
  color:var(--white);
}
.quote-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:start}

.quote-text{color:rgba(255,255,255,.75);font-size:1.05rem;line-height:1.75;margin-bottom:var(--s5)}
.quote-contact-label{color:rgba(255,255,255,.5);font-size:.85rem;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:var(--s1)}
.quote-phone{
  display:inline-flex;align-items:center;gap:10px;
  color:var(--white);font-size:1.35rem;font-weight:700;transition:color .2s;
}
.quote-phone svg{display:inline-block}
.quote-phone:hover{color:var(--orange)}

/* Quote form */
.quote-form-wrapper{position:relative}
.quote-form{
  background:var(--white);border-radius:var(--radius-md);
  padding:40px;box-shadow:var(--shadow-lg);
}
.form-title{color:var(--navy);font-size:1.35rem;font-weight:700;margin-bottom:var(--s3)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2);margin-bottom:var(--s2)}

.form-group{display:flex;flex-direction:column;margin-bottom:var(--s2)}
.form-group:last-child{margin-bottom:0}
.form-group label{
  font-size:.75rem;text-transform:uppercase;letter-spacing:1px;
  color:var(--text-muted);font-weight:600;margin-bottom:6px;
}
.required{color:var(--orange)}

.form-group input,
.form-group select,
.form-group textarea{
  padding:11px 14px;border:1.5px solid var(--gray-200);border-radius:var(--radius);
  background:var(--white);color:var(--text-dark);font-size:.95rem;
  transition:border-color .2s, box-shadow .2s;
  width:100%;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{
  outline:none;border-color:var(--ocean-blue);
  box-shadow:0 0 0 3px rgba(46,134,193,.12);
}
.form-group input.error,
.form-group select.error,
.form-group textarea.error{border-color:#e74c3c;box-shadow:0 0 0 3px rgba(231,76,60,.1)}

.form-group textarea{resize:vertical;min-height:72px}
.form-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='7' viewBox='0 0 12 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23718096' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}

.btn-submit{width:100%;margin-top:var(--s1)}

/* Success state */
.form-success{
  background:var(--white);border-radius:var(--radius-md);
  padding:48px 40px;box-shadow:var(--shadow-lg);text-align:center;
}
.form-success[hidden]{display:none}
.success-icon{margin-bottom:var(--s3)}
.success-icon svg{margin:0 auto}
.success-title{color:var(--navy);font-size:1.3rem;font-weight:700;margin-bottom:var(--s2)}
.success-text{color:var(--text-body);font-size:1rem;margin-bottom:var(--s3);line-height:1.6}
.success-phone{
  display:inline-flex;align-items:center;gap:8px;
  color:var(--navy);font-size:1.15rem;font-weight:700;margin-bottom:var(--s3);
  transition:color .2s;
}
.success-phone svg{display:inline-block}
.success-phone:hover{color:var(--orange)}
.success-reset{margin-top:var(--s2)}

/* ---------- 12. CONTACT SECTION ---------- */

.contact{background:var(--white)}
.contact-card{
  max-width:520px;margin:0 auto;padding:var(--s6) var(--s4);
  border-radius:var(--radius-md);
}
.contact-logo{margin-bottom:var(--s3)}
.contact-logo img{width:80px;height:80px;margin:0 auto}
.contact-company{
  font-size:1.15rem;font-weight:600;color:var(--navy);margin-bottom:var(--s4);
}
.contact-phone{
  display:flex;align-items:center;justify-content:center;gap:12px;
  font-size:clamp(1.6rem,4vw,2.4rem);font-weight:800;
  color:var(--navy);margin-bottom:var(--s3);transition:color .2s;
}
.contact-phone svg{display:inline-block;flex-shrink:0}
.contact-phone:hover{color:var(--orange)}

/* ---------- 13. FOOTER ---------- */

.footer{background:var(--deep-navy);color:rgba(255,255,255,.65);padding:72px 0 24px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;margin-bottom:48px}

.footer-logo{display:flex;align-items:center;gap:10px;text-decoration:none;margin-bottom:var(--s3)}
.footer-logo img{height:40px;width:40px;object-fit:contain}
.footer-logo-text{color:var(--white);font-size:1rem;font-weight:400;letter-spacing:.5px}
.footer-logo-text strong{font-weight:800}

.footer-desc{max-width:360px;line-height:1.75;font-size:.92rem;margin-bottom:var(--s2)}
.footer-legal-name{font-size:.8rem;color:rgba(255,255,255,.4)}

.footer-heading{
  color:var(--white);font-size:1rem;font-weight:700;margin-bottom:var(--s3);
  text-transform:uppercase;letter-spacing:1px;
}
.footer-nav ul{display:flex;flex-direction:column;gap:12px}
.footer-nav a{color:rgba(255,255,255,.6);font-size:.92rem;transition:all .2s}
.footer-nav a:hover{color:var(--white);padding-left:4px}

.footer-phone{
  display:inline-flex;align-items:center;gap:8px;
  color:rgba(255,255,255,.8);font-size:.95rem;font-weight:600;transition:color .2s;
}
.footer-phone svg{display:inline-block}
.footer-phone:hover{color:var(--orange)}

.footer-bottom{
  border-top:1px solid rgba(255,255,255,.08);padding-top:24px;
  text-align:center;font-size:.82rem;color:rgba(255,255,255,.4);
}

/* ---------- 14. SCROLL-TO-TOP ---------- */

.scroll-top{
  position:fixed;bottom:28px;right:28px;z-index:900;
  width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;
  background:var(--navy);color:var(--white);
  display:flex;align-items:center;justify-content:center;
  box-shadow:var(--shadow-md);
  opacity:0;visibility:hidden;transform:translateY(10px);
  transition:all .3s ease;
}
.scroll-top.visible{opacity:1;visibility:visible;transform:translateY(0)}
.scroll-top:hover{background:var(--orange);transform:translateY(-2px)}
.scroll-top svg{display:inline-block}

/* ---------- 15. SCROLL ANIMATIONS ---------- */

.fade-up{transform:translateY(30px);opacity:0;transition:transform var(--ease-slow),opacity var(--ease-slow)}
.fade-up.visible{transform:translateY(0);opacity:1}

.fade-in{opacity:0;transition:opacity var(--ease-slow)}
.fade-in.visible{opacity:1}

.slide-left{transform:translateX(-30px);opacity:0;transition:transform var(--ease-slow),opacity var(--ease-slow)}
.slide-left.visible{transform:translateX(0);opacity:1}

.slide-right{transform:translateX(30px);opacity:0;transition:transform var(--ease-slow),opacity var(--ease-slow)}
.slide-right.visible{transform:translateX(0);opacity:1}

.delay-1{transition-delay:.1s}
.delay-2{transition-delay:.2s}
.delay-3{transition-delay:.3s}
.delay-4{transition-delay:.4s}

/* ---------- 16. RESPONSIVE ---------- */

/* Tablet */
@media(max-width:1024px){
  .services-grid,.why-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .quote-grid{gap:40px}
  .about-logo-wrapper img{width:220px}
}

/* Mobile */
@media(max-width:768px){
  .section-padding{padding:64px 0}
  .section-header{margin-bottom:var(--s5)}

  /* Nav */
  .hamburger{display:block}
  .nav-links{
    position:fixed;top:0;right:0;width:100%;height:100vh;
    background:var(--deep-navy);flex-direction:column;
    justify-content:center;align-items:center;gap:var(--s4);
    transform:translateX(100%);transition:transform .35s ease;z-index:1001;
  }
  .nav-open .nav-links{transform:translateX(0)}
  .nav-link{font-size:1.4rem;padding:8px 0}
  .nav-cta{display:none}
  .nav-phone{display:none}

  /* Hero */
  .hero{min-height:600px}
  .hero-title{font-size:clamp(2rem,7vw,3rem)}
  .hero-ctas{flex-direction:column;align-items:stretch}
  .hero-ctas .btn{width:100%;text-align:center}
  .hero-scroll{display:none}

  /* Sections */
  .about-grid,.quote-grid{grid-template-columns:1fr;gap:40px}
  .services-grid,.why-grid{grid-template-columns:1fr}
  .about-visual{order:-1}
  .about-logo-wrapper img{width:180px}

  /* Process */
  .process-grid{flex-direction:column;gap:32px}
  .process-connector{display:none}
  .process-step{flex-direction:row;text-align:left;gap:var(--s3)}
  .process-number{min-width:64px;width:64px;height:64px;font-size:2rem}
  .process-text{max-width:none}

  /* Quote form */
  .quote-form{padding:28px 20px}
  .form-grid{grid-template-columns:1fr}
  .form-title{font-size:1.15rem}

  /* Footer */
  .footer-grid{grid-template-columns:1fr;gap:28px}

  /* Contact */
  .contact-phone{font-size:1.5rem}
}

/* Small */
@media(max-width:480px){
  .container{padding:0 var(--s2)}
  .hero-content{padding:0 var(--s1)}
  .service-card{padding:24px 20px}
  .why-card{padding:var(--s3) var(--s2)}
  .quote-form{padding:24px 16px}
  .process-number{min-width:56px;width:56px;height:56px;font-size:1.6rem}
}

/* Print */
@media print{
  .navbar,.hero,.preloader,.scroll-top,.quote-section{display:none!important}
  body{background:#fff;color:#000}
  .about,.services,.why-us,.process,.contact{page-break-inside:avoid}
}

/* ==========================================================================
   LANGUAGE SWITCHER
   ========================================================================== */
.lang-switch {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #fff;
  border-radius: 4px;
  padding: 8px 12px;
  font-family: inherit;
  font-size: 0.9rem;
  font-weight: 500;
  cursor: pointer;
  display: flex;
  align-items: center;
  transition: all 0.3s ease;
  margin-right: 15px;
}
.lang-switch:hover {
  background: rgba(255, 255, 255, 0.2);
}
.navbar.scrolled .lang-switch {
  border-color: rgba(255, 255, 255, 0.3);
}

/* ==========================================================================
   RTL SUPPORT (ARABIC)
   ========================================================================== */
[dir="rtl"] {
  font-family: 'Cairo', 'Inter', system-ui, sans-serif;
}
[dir="rtl"] .navbar .nav-actions .lang-switch {
  margin-right: 0;
  margin-left: 15px;
}
[dir="rtl"] .nav-logo {
  margin-right: 0;
  margin-left: auto; /* Push to right */
}
[dir="rtl"] .nav-links {
  margin-left: auto;
  margin-right: 0;
}
[dir="rtl"] .hero-routes {
  transform: scaleX(-1);
}
[dir="rtl"] .process-connector svg {
  transform: scaleX(-1);
}
[dir="rtl"] .quote-form .form-grid {
  /* No change needed for grid, but just in case */
}
[dir="rtl"] .service-icon {
  margin-left: auto;
  margin-right: 0;
}
[dir="rtl"] .footer-nav, [dir="rtl"] .footer-contact {
  text-align: right;
}
[dir="rtl"] .about-visual {
  /* Handle mirroring if needed, but it's flex */
}
[dir="rtl"] .btn svg {
  margin-right: 0;
  margin-left: 8px;
}
[dir="rtl"] .contact-phone svg, [dir="rtl"] .footer-phone svg {
  margin-right: 0;
  margin-left: 8px;
}
[dir="rtl"] .nav-phone svg {
  margin-right: 0;
}
[dir="rtl"] .hamburger {
  margin-left: 0;
}
@media (max-width: 768px) {
  [dir="rtl"] .nav-actions {
    margin-right: auto;
    margin-left: 15px;
  }
}

/* ==========================================================================
   SOCIAL LINKS
   ========================================================================== */
.social-links a:hover {
  opacity: 1 !important;
  transform: translateY(-2px);
}
.footer-brand .social-links a:hover {
  color: #e67e22 !important; /* Orange accent */
}
.contact-card .social-links a:hover {
  color: #e67e22 !important;
}
