/* ============================================================
   TECHSINNO — Service Page Styles
   Shared across all 4 service detail pages
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Share+Tech+Mono&family=Barlow:wght@300;400;500;600&display=swap');

:root {
  --bg:#f0f4f8; --bg2:#e8edf3; --navy:#0a1628; --navy2:#1a2e4a; --navy3:#2a4a6b;
  --green:#00cc44; --green2:#00ff55; --grey:#5a6a7e; --grey2:#8a9ab0; --grey3:#c8d4e0;
  --white:#fff; --shadow:0 4px 24px rgba(10,22,40,0.10); --shadow2:0 8px 40px rgba(10,22,40,0.15);
  --font-display:'Bebas Neue',sans-serif; --font-mono:'Share Tech Mono',monospace; --font-body:'Barlow',sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--navy);font-family:var(--font-body);line-height:1.6;overflow-x:hidden;}
::selection{background:var(--green);color:#fff;}

h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:0.04em;line-height:1;color:var(--navy);}
.mono{font-family:var(--font-mono);}
.container{max-width:1100px;margin:0 auto;padding:0 24px;}

/* Nav */
#navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(255,255,255,0.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--grey3);box-shadow:0 2px 16px rgba(10,22,40,0.07);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 24px;max-width:1200px;margin:0 auto;}
.nav-logo img{height:48px;width:auto;}
.nav-back{font-family:var(--font-mono);font-size:12px;color:var(--navy3);text-decoration:none;letter-spacing:1px;text-transform:uppercase;display:flex;align-items:center;gap:8px;transition:color 0.2s;}
.nav-back:hover{color:var(--green);}

/* Hero */
.sp-hero{padding:140px 0 60px;position:relative;overflow:hidden;}
.sp-hero-bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;}
.sp-hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,rgba(10,22,40,0.88) 0%,rgba(10,22,40,0.65) 100%);}
.sp-hero .container{position:relative;z-index:2;}
.sp-breadcrumb{font-family:var(--font-mono);font-size:12px;color:var(--green2);letter-spacing:2px;margin-bottom:16px;}
.sp-breadcrumb a{color:var(--grey2);text-decoration:none;}
.sp-breadcrumb a:hover{color:var(--green2);}
.sp-hero h1{font-size:clamp(44px,7vw,84px);color:#fff;margin-bottom:16px;text-shadow:0 2px 20px rgba(0,0,0,0.5);}
.sp-hero h1 .accent{color:var(--green2);text-shadow:0 0 30px rgba(0,255,85,0.5);}
.sp-hero p{font-size:18px;color:#d0dae6;max-width:640px;line-height:1.7;}

/* Content */
.sp-section{padding:70px 0;}
.sp-section.alt{background:var(--white);}
.sp-label{font-family:var(--font-mono);font-size:11px;color:var(--green);letter-spacing:3px;text-transform:uppercase;margin-bottom:12px;display:flex;align-items:center;gap:10px;}
.sp-label::before{content:'//';opacity:0.4;color:var(--navy3);}
.sp-section h2{font-size:clamp(28px,4vw,48px);margin-bottom:24px;}
.sp-section h3{font-size:24px;margin:32px 0 12px;color:var(--navy);}
.sp-section p{font-size:16px;color:var(--grey);line-height:1.8;margin-bottom:16px;max-width:760px;}
.sp-section strong{color:var(--navy);}

/* Feature grid */
.sp-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin:32px 0;}
.sp-feature{background:var(--white);border:1px solid var(--grey3);border-radius:14px;padding:28px 24px;box-shadow:var(--shadow);transition:all 0.3s;}
.sp-feature:hover{transform:translateY(-6px);box-shadow:var(--shadow2);border-color:var(--green);}
.sp-feature-icon{width:48px;height:48px;border-radius:12px;background:rgba(0,204,68,0.1);border:1px solid rgba(0,204,68,0.3);display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--green);margin-bottom:16px;}
.sp-feature h4{font-family:var(--font-display);font-size:20px;margin-bottom:8px;}
.sp-feature p{font-size:14px;margin-bottom:0;}

/* Process steps */
.sp-steps{display:flex;flex-direction:column;gap:0;margin:32px 0;counter-reset:step;}
.sp-step{display:flex;gap:24px;padding:24px 0;border-bottom:1px solid var(--grey3);}
.sp-step:last-child{border-bottom:none;}
.sp-step-num{flex-shrink:0;width:48px;height:48px;border-radius:50%;background:var(--navy);color:var(--green2);font-family:var(--font-display);font-size:24px;display:flex;align-items:center;justify-content:center;}
.sp-step-content h4{font-size:22px;margin-bottom:6px;}
.sp-step-content p{margin-bottom:0;font-size:15px;}

/* Checklist */
.sp-checklist{list-style:none;margin:24px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;}
.sp-checklist li{font-family:var(--font-body);font-size:15px;color:var(--navy2);padding:12px 16px;background:var(--white);border:1px solid var(--grey3);border-radius:10px;display:flex;align-items:center;gap:12px;}
.sp-checklist li::before{content:'✓';color:var(--green);font-weight:bold;font-size:18px;flex-shrink:0;}

/* Suggestion box */
.sp-suggestion{background:linear-gradient(135deg,var(--navy) 0%,var(--navy2) 100%);border-radius:16px;border-left:4px solid var(--green);padding:32px;margin:40px 0;}
.sp-suggestion h3{color:#fff;margin-top:0;}
.sp-suggestion p{color:#c0cce0;}
.sp-suggestion .mono{color:var(--green2);font-size:13px;}

/* CTA */
.sp-cta{text-align:center;padding:80px 0;background:linear-gradient(135deg,var(--bg) 0%,#eafff0 100%);}
.sp-cta h2{font-size:clamp(32px,5vw,56px);margin-bottom:16px;}
.sp-cta p{font-size:18px;color:var(--grey);max-width:560px;margin:0 auto 32px;}
.sp-cta-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.btn-primary{font-family:var(--font-mono);font-size:13px;letter-spacing:2px;text-transform:uppercase;padding:14px 32px;background:var(--green);color:#fff;border:none;cursor:pointer;text-decoration:none;display:inline-block;font-weight:600;transition:all 0.2s;border-radius:6px;box-shadow:0 4px 16px rgba(0,204,68,0.3);}
.btn-primary:hover{background:var(--navy);transform:translateY(-2px);}
.btn-outline{font-family:var(--font-mono);font-size:13px;letter-spacing:2px;text-transform:uppercase;padding:13px 32px;background:transparent;color:var(--navy);border:2px solid var(--navy);cursor:pointer;text-decoration:none;display:inline-block;transition:all 0.2s;border-radius:6px;}
.btn-outline:hover{background:var(--navy);color:#fff;}

/* Footer */
footer{background:var(--navy);padding:40px 0;text-align:center;}
footer p{font-family:var(--font-mono);font-size:11px;color:var(--grey2);letter-spacing:1px;line-height:1.8;}
footer a{color:var(--green);text-decoration:none;}

@media(max-width:768px){
  .sp-hero{padding:110px 0 50px;}
  .sp-step{gap:16px;}
}

/* ── Service page language switcher ── */
.sp-lang-switch{display:flex;gap:4px;}
.sp-lang-btn{position:relative;font-family:var(--font-mono);font-size:11px;letter-spacing:1px;padding:6px 10px;background:transparent;color:var(--navy3);border:1px solid var(--grey3);border-radius:5px;cursor:pointer;transition:all 0.2s;}
.sp-lang-btn:hover{border-color:var(--green);color:var(--green);}
.sp-lang-btn.active{background:var(--green);color:#fff;border-color:var(--green);}
.sp-lang-btn::after{content:attr(data-tooltip);position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(4px);background:var(--navy);color:#fff;font-size:11px;letter-spacing:0.5px;padding:5px 10px;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity 0.2s,transform 0.2s;z-index:2000;box-shadow:0 4px 12px rgba(0,0,0,0.2);border:1px solid rgba(0,204,68,0.3);}
.sp-lang-btn:hover::after{opacity:1;transform:translateX(-50%) translateY(0);}
@media(max-width:600px){
  .nav-back span{display:none;}
  .sp-lang-btn{padding:6px 8px;font-size:10px;}
}

/* ── Live IoT dashboard (farm-data section) ── */
#farm-data .iot-demo-dashboard {
  background: linear-gradient(135deg, #0a1628 0%, #1a2e4a 100%);
  border-radius: 16px; padding: 28px; margin-top: 32px;
  box-shadow: 0 20px 48px rgba(10,22,40,0.25);
  border: 1px solid rgba(0,204,68,0.2);
}
#farm-data .dash-header {
  display: flex; justify-content: space-between; align-items: center;
  padding-bottom: 18px; margin-bottom: 22px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}
#farm-data .dash-title {
  color: #00ff55; font-size: 13px; letter-spacing: 1.5px;
  display: flex; align-items: center; gap: 8px;
}
#farm-data .status-dot {
  width: 8px; height: 8px; border-radius: 50%; background: #00ff55;
  display: inline-block; animation: pulse-dot 1.5s infinite;
}
@keyframes pulse-dot { 0%,100% { opacity: 1; } 50% { opacity: 0.3; } }
#farm-data .dash-time { color: rgba(255,255,255,0.6); font-size: 13px; }
#farm-data .dash-nodes { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
#farm-data .node-card {
  background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1);
  border-radius: 12px; padding: 18px;
}
#farm-data .node-name {
  color: rgba(255,255,255,0.6); font-size: 10px; letter-spacing: 1px;
  display: flex; align-items: center; gap: 6px; margin-bottom: 12px;
}
#farm-data .node-val { color: #fff; font-size: 32px; font-family: var(--font-display); line-height: 1; }
#farm-data .node-unit { color: #00ff55; font-size: 11px; margin-top: 6px; }
.mono { font-family: var(--font-mono); }
@media (max-width: 700px) { #farm-data .dash-nodes { grid-template-columns: repeat(2, 1fr); } }

/* ══════════════════════════════════════════
   FULL NAV ON SUB-PAGES
══════════════════════════════════════════ */
.nav-logo img{height:60px;width:auto;transition:transform 0.3s;}
.nav-logo img:hover{transform:scale(1.05);}
.nav-inner{max-width:1280px;}
.sp-nav-links{display:flex;align-items:center;gap:24px;list-style:none;margin:0;padding:0;}
.sp-nav-links li{margin:0;}
.sp-nav-links a{
  font-family:var(--font-mono);font-size:11px;color:var(--navy3);
  text-decoration:none;letter-spacing:1px;text-transform:uppercase;
  transition:color 0.2s;position:relative;
}
.sp-nav-links a:not(.nav-login):hover{color:var(--green);}
.sp-nav-links a:not(.nav-login)::after{
  content:'';position:absolute;left:0;bottom:-6px;width:0;height:2px;
  background:var(--green);transition:width 0.25s;
}
.sp-nav-links a:not(.nav-login):hover::after{width:100%;}
.sp-nav-links a.nav-login{
  background:var(--green);color:#fff;padding:8px 16px;border-radius:6px;
  font-weight:600;transition:all 0.2s;
}
.sp-nav-links a.nav-login:hover{background:var(--navy);transform:translateY(-1px);}
.sp-nav-right{display:flex;align-items:center;gap:16px;}
.sp-nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;}
.sp-nav-toggle span{width:24px;height:2px;background:var(--navy);transition:all 0.3s;}
.sp-nav-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.sp-nav-toggle.active span:nth-child(2){opacity:0;}
.sp-nav-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.sp-mobile-nav{display:none;flex-direction:column;background:var(--white);border-top:1px solid var(--grey3);padding:0;max-height:0;overflow:hidden;transition:max-height 0.3s;}
.sp-mobile-nav.open{max-height:400px;padding:12px 0;}
.sp-mobile-nav a{
  font-family:var(--font-mono);font-size:13px;color:var(--navy3);
  text-decoration:none;letter-spacing:1px;text-transform:uppercase;
  padding:12px 24px;transition:background 0.2s;
}
.sp-mobile-nav a:hover{background:var(--bg2);color:var(--green);}

/* Responsive: hide desktop links, show hamburger */
@media (max-width:980px){
  .sp-nav-links{display:none;}
  .sp-nav-toggle{display:flex;}
  .sp-mobile-nav{display:flex;}
  .nav-logo img{height:52px;}
}

/* ══════════════════════════════════════════
   PREV / NEXT SERVICE PAGE NAVIGATION
══════════════════════════════════════════ */
.sp-pagenav{padding:40px 0;border-top:1px solid var(--grey3);background:var(--bg);}
.sp-pagenav .container{display:flex;align-items:center;justify-content:space-between;gap:16px;}
.sp-pagenav-btn{
  display:flex;align-items:center;gap:14px;
  background:var(--white);border:1px solid var(--grey3);border-radius:12px;
  padding:16px 22px;text-decoration:none;transition:all 0.25s;flex:1;max-width:340px;
  box-shadow:var(--shadow);
}
.sp-pagenav-btn:hover{border-color:var(--green);transform:translateY(-3px);box-shadow:0 12px 28px rgba(10,22,40,0.14);}
.sp-pagenav-btn i{font-size:24px;color:var(--green);flex-shrink:0;}
.sp-pagenav-next{justify-content:flex-end;text-align:right;}
.sp-pagenav-text{display:flex;flex-direction:column;gap:3px;}
.sp-pagenav-label{font-family:var(--font-mono);font-size:10px;color:var(--grey2);letter-spacing:1.5px;text-transform:uppercase;}
.sp-pagenav-name{font-family:var(--font-display);font-size:18px;color:var(--navy);letter-spacing:0.5px;line-height:1.1;}
.sp-pagenav-all{
  display:flex;align-items:center;justify-content:center;
  width:52px;height:52px;border-radius:12px;flex-shrink:0;
  background:var(--navy);color:#fff;text-decoration:none;transition:all 0.25s;
}
.sp-pagenav-all:hover{background:var(--green);transform:translateY(-3px);}
.sp-pagenav-all i{font-size:22px;}
@media (max-width:600px){
  .sp-pagenav-name{font-size:14px;}
  .sp-pagenav-btn{padding:12px 14px;gap:8px;}
  .sp-pagenav-btn i{font-size:18px;}
  .sp-pagenav-label{font-size:9px;}
  .sp-pagenav-all{width:44px;height:44px;}
}

/* ── Prev/Next service pager ── */
.sp-pager {
  background: var(--bg2);
  border-top: 1px solid var(--grey3);
  border-bottom: 1px solid var(--grey3);
  padding: 32px 0;
}
.sp-pager .container {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: stretch;
}
.sp-pager-btn {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 20px 28px;
  background: var(--white);
  border: 1px solid var(--grey3);
  border-radius: 14px;
  text-decoration: none;
  color: var(--navy);
  transition: all 0.25s cubic-bezier(0.2,0.8,0.2,1);
  flex: 1;
  max-width: 420px;
  box-shadow: var(--shadow);
}
.sp-pager-btn:hover {
  border-color: var(--green);
  transform: translateY(-3px);
  box-shadow: 0 14px 28px rgba(10,22,40,0.12);
}
.sp-pager-next {
  flex-direction: row;
  justify-content: flex-end;
  text-align: right;
  margin-left: auto;
}
.sp-pager-arrow {
  width: 48px; height: 48px; border-radius: 12px;
  background: var(--green4);
  display: flex; align-items: center; justify-content: center;
  font-size: 22px; color: var(--green);
  transition: all 0.25s;
  flex-shrink: 0;
}
.sp-pager-btn:hover .sp-pager-arrow {
  background: var(--green); color: #fff;
}
.sp-pager-text { display: flex; flex-direction: column; gap: 4px; }
.sp-pager-label {
  font-size: 10px; letter-spacing: 1.5px; color: var(--grey);
  text-transform: uppercase;
}
.sp-pager-name {
  font-size: 17px; font-weight: 700; color: var(--navy);
  font-family: var(--font-display); letter-spacing: 0.5px;
}
@media (max-width: 700px) {
  .sp-pager .container { flex-direction: column; }
  .sp-pager-btn { max-width: none; }
  .sp-pager-name { font-size: 14px; }
}
