*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;overflow-x:hidden}
body{background:#080b0f;display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;font-family:'Inter',system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.6;padding:32px 24px;padding:max(32px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(32px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));overflow-x:hidden}

.poster{width:100%;max-width:920px;background:#080b0f;position:relative;overflow:hidden;border:1px solid #0f1f14}

.bg-glow{position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,#00ff6611 0%,transparent 70%);top:-200px;right:-150px;pointer-events:none}
.bg-glow2{position:absolute;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,#00aaff08 0%,transparent 70%);bottom:-100px;left:-80px;pointer-events:none}

.grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(0,255,80,0.025) 1px,transparent 1px),linear-gradient(90deg,rgba(0,255,80,0.025) 1px,transparent 1px);background-size:32px 32px}

.scan{position:absolute;left:0;right:0;height:120px;background:linear-gradient(180deg,transparent,rgba(0,255,100,0.04),transparent);animation:scanMove 6s ease-in-out infinite;z-index:1;pointer-events:none}
.poster--detail .scan{height:140px;background:linear-gradient(180deg,transparent,rgba(0,255,100,0.065),transparent)}
@keyframes scanMove{0%{top:-120px}100%{top:110%}}

.svc-group{font-family:'Syne',sans-serif;font-size:15px;font-weight:700;color:#00ff66;padding:22px 4px 12px;margin-top:8px;letter-spacing:0.02em}
.svc-group:first-of-type{margin-top:0;padding-top:0}

.inner{position:relative;z-index:2;padding:48px 52px 40px}

.toprow{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:36px;gap:24px}
.badge{font-size:12px;letter-spacing:0.18em;color:#00ff66;border:1px solid #00ff6633;padding:8px 16px;text-transform:uppercase;font-weight:600;display:inline-block;text-decoration:none}
.badge:hover{border-color:#00ff6688}
.live{display:flex;align-items:center;gap:8px;font-size:13px;color:#6a9a72;letter-spacing:0.06em;margin-top:8px}
.blink{width:7px;height:7px;border-radius:50%;background:#00ff66;animation:blink 1.2s ease-in-out infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0.2}}

.eyebrow{font-size:12px;letter-spacing:0.2em;color:#5a8a62;text-transform:uppercase;margin-bottom:12px;font-weight:600}
.hero{font-family:'Syne',sans-serif;font-weight:800;font-size:clamp(2.5rem,6vw,3.75rem);line-height:1.05;color:#fff;margin-bottom:20px;letter-spacing:-0.03em}
.hero .g{color:#00ff66}
.hero .dim{color:#3d5c44}
.page-title{font-family:'Syne',sans-serif;font-weight:800;font-size:clamp(1.75rem,5vw,2.35rem);line-height:1.15;color:#fff;margin-bottom:16px}
.page-lead{font-size:17px;color:#8ab892;line-height:1.75;margin-bottom:28px}
.page-lead strong{color:#b8dcc0;font-weight:600}

.tagline{font-size:17px;color:#8ab892;line-height:1.75;max-width:100%;margin-bottom:32px}
.tagline strong{color:#b8dcc0;font-weight:600}

.sep{display:flex;align-items:center;gap:16px;margin-bottom:32px}
.sep-line{flex:1;height:1px;background:linear-gradient(90deg,#00ff6622,transparent)}
.sep-txt{font-size:12px;color:#5a8a62;letter-spacing:0.18em;text-transform:uppercase;font-weight:600}

.services{display:flex;flex-direction:column;gap:6px;margin-bottom:32px}
.svc{display:flex;align-items:flex-start;gap:20px;padding:18px 22px;border:1px solid #0c1a10;background:#0a0f0b;position:relative;overflow:hidden;transition:border-color 0.2s}
.svc::after{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:#00ff66;opacity:0;transition:opacity 0.2s}
.svc:hover{border-color:#00ff6622}
.svc:hover::after{opacity:1}
.svc-num{font-size:13px;color:#00ff6688;min-width:28px;padding-top:3px;letter-spacing:0.08em;font-family:'JetBrains Mono',monospace;font-weight:700}
.svc-body{flex:1;min-width:0}
.svc-name{font-family:'Syne',sans-serif;font-weight:700;font-size:18px;color:#d8f0dc;margin-bottom:8px;letter-spacing:0.01em}
.svc-desc{font-size:15px;color:#7aaa82;line-height:1.7;overflow-wrap:break-word}
.svc-desc em{color:#9ec8a6;font-style:normal;font-weight:500}
.svc-tag{margin-left:auto;font-size:12px;border:1px solid #1a4028;color:#6a9a72;padding:6px 12px;align-self:flex-start;white-space:nowrap;flex-shrink:0;font-weight:500}
.svc-more{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:14px;font-weight:600;color:#00ff66;text-decoration:none;border:1px solid #00ff6644;padding:9px 16px;transition:background 0.2s,border-color 0.2s}
.svc-more:hover{background:#00ff660d;border-color:#00ff66aa;color:#5dff9a}

.callout{border:1px solid #00ff6628;background:#020d04;padding:22px 28px;margin-bottom:32px;display:flex;gap:20px;align-items:flex-start}
.callout-mark{font-size:11px;color:#00ff66;letter-spacing:0.12em;writing-mode:vertical-rl;transform:rotate(180deg);flex-shrink:0;opacity:0.75;font-weight:600}
.callout-content strong{display:block;font-family:'Syne',sans-serif;font-size:20px;font-weight:700;color:#00ff66;margin-bottom:10px;line-height:1.35}
.callout-content p{font-size:15px;color:#7aaa82;line-height:1.75}
.callout-content p em{color:#9ec8a6;font-style:normal;font-weight:500}

.bottom{display:flex;flex-wrap:wrap;gap:32px;border-top:1px solid #0c1a10;padding-top:28px;margin-top:8px}
.contact{flex:1;min-width:260px;border-right:1px solid #0c1a10;padding-right:32px}
.contact-label{font-size:12px;letter-spacing:0.18em;color:#5a8a62;text-transform:uppercase;margin-bottom:10px;font-weight:600}
.contact-name{font-family:'Syne',sans-serif;font-size:28px;font-weight:800;color:#fff;margin-bottom:6px}
.contact-title{font-size:15px;color:#7aaa82;margin-bottom:12px}
.contact-reach{font-size:15px;color:#00ff66aa;letter-spacing:0.04em}

.coverage{flex:1;min-width:200px;padding-left:32px;text-align:right}
.cov-label{font-size:12px;letter-spacing:0.18em;color:#5a8a62;text-transform:uppercase;margin-bottom:10px;font-weight:600}
.cov-areas{display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.area{font-size:15px;color:#7aaa82;padding:2px 0}
.area.main{color:#9ec8a6;font-weight:600}

.corner{position:absolute;font-size:10px;color:#1a4020;letter-spacing:0.08em;font-family:'JetBrains Mono',monospace}
.tl{top:12px;left:16px}.tr{top:12px;right:16px}.bl{bottom:12px;left:16px}.br{bottom:12px;right:16px}

.toprow-meta{font-size:12px;color:#5a8a62;letter-spacing:0.12em;line-height:1.6;font-weight:500;flex-shrink:0}

/* Service detail pages */
.back-link{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#00ff66;text-decoration:none;margin-bottom:28px;padding:8px 0}
.back-link:hover{color:#5dff9a}
.detail-section{margin-bottom:32px}
.detail-section h2{font-family:'Syne',sans-serif;font-size:18px;font-weight:700;color:#00ff66;margin-bottom:14px;letter-spacing:0.02em}
.detail-section p,.detail-section li{font-size:15px;color:#7aaa82;line-height:1.75}
.detail-section p+p,.detail-section p+ul{margin-top:12px}
.detail-list{list-style:none;padding:0}
.detail-list li{padding:12px 0 12px 28px;border-bottom:1px solid #0c1a10;position:relative}
.detail-list li:last-child{border-bottom:none}
.detail-list li::before{content:'→';position:absolute;left:0;color:#00ff66;font-weight:700}
.detail-box{border:1px solid #0c1a10;background:#0a0f0b;padding:18px 22px;margin-top:12px}
.detail-box strong{display:block;font-family:'Syne',sans-serif;color:#d8f0dc;font-size:16px;margin-bottom:8px}
.detail-timeline{display:grid;gap:12px;margin-top:12px}
.detail-step{display:flex;gap:16px;padding:14px 18px;border:1px solid #0c1a10;background:#0a0f0b}
.detail-step-num{font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:700;color:#00ff6688;min-width:32px}
.detail-cta{border:1px solid #00ff6633;background:#020d04;padding:22px 26px;margin-top:8px}
.detail-cta p{font-size:15px;color:#8ab892;margin-bottom:14px;line-height:1.7}
.detail-cta a{display:inline-flex;font-weight:600;color:#00ff66;text-decoration:none;border:1px solid #00ff6644;padding:10px 18px}
.detail-cta a:hover{background:#00ff660d}

@media (max-width:768px){
  body{align-items:flex-start;padding:16px 12px;padding:max(16px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}
  .poster{border-radius:4px}
  .inner{padding:36px 22px 30px}
  .corner{display:none}
  .toprow{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:28px}
  .toprow-meta{text-align:left!important;width:100%}
  .hero{font-size:clamp(2.1rem,11vw,3.25rem)}
  .tagline,.page-lead{font-size:16px;margin-bottom:28px}
  .svc{flex-wrap:wrap;gap:12px 16px;padding:16px 18px}
  .svc-tag{margin-left:0;width:100%;text-align:left;white-space:normal}
  .svc-more{width:100%;justify-content:center}
  .callout{flex-direction:column;gap:12px;padding:18px 20px}
  .callout-mark{writing-mode:horizontal-tb;transform:none;letter-spacing:0.14em}
  .callout-content strong{font-size:18px}
  .bottom{flex-direction:column;gap:0}
  .contact{min-width:0;border-right:none;padding-right:0;padding-bottom:24px;border-bottom:1px solid #0c1a10;width:100%}
  .coverage{min-width:0;padding-left:0;padding-top:24px;text-align:left;width:100%}
  .cov-areas{align-items:flex-start}
}

@media (max-width:480px){
  body{padding:10px 8px;padding:max(10px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}
  .inner{padding:28px 16px 24px}
  .badge{font-size:11px;padding:7px 12px;letter-spacing:0.14em}
  .live{font-size:12px}
  .eyebrow{font-size:11px;margin-bottom:10px}
  .hero{font-size:clamp(1.85rem,10vw,2.5rem);margin-bottom:16px}
  .page-title{font-size:clamp(1.5rem,8vw,2rem)}
  .tagline,.page-lead{font-size:15px;line-height:1.65;margin-bottom:24px}
  .sep{margin-bottom:24px}
  .svc-name{font-size:17px}
  .svc-desc,.callout-content p,.contact-title,.contact-reach,.area,.detail-section p,.detail-section li{font-size:14px}
  .contact-name{font-size:24px}
  .callout-content strong{font-size:17px}
  .svc{padding:14px 14px}
  .svc-num{min-width:24px;font-size:12px}
  .detail-section h2{font-size:17px}
}
