:root {
  --black: #060608;
  --dark: #0d0d10;
  --card: #111115;
  --card2: #141418;
  --border: rgba(255,255,255,0.07);
  --border2: rgba(255,255,255,0.12);
  --green: #6abf3f;
  --green-glow: rgba(106,191,63,0.18);
  --green-subtle: rgba(106,191,63,0.06);
  --white: #f0f0f0;
  --muted: #b8b8b8;
  --muted2: #8d8d8d;
  --font-display: 'Bebas Neue', sans-serif;
  --font-body: 'Barlow', sans-serif;
  --font-cond: 'Barlow Condensed', sans-serif;
  color-scheme: dark;
}
:root[data-theme="light"]{
  --black:#f7f8f4;
  --dark:#ecefe8;
  --card:#ffffff;
  --card2:#f1f4ed;
  --border:rgba(13,18,12,0.12);
  --border2:rgba(13,18,12,0.18);
  --green:#3f8425;
  --green-glow:rgba(63,132,37,0.16);
  --green-subtle:rgba(63,132,37,0.08);
  --white:#10140f;
  --muted:#4f5b4a;
  --muted2:#6e7968;
  color-scheme:light;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--black);color:var(--white);font-family:var(--font-body);overflow-x:hidden;min-width:0;}
img,picture,video,canvas,svg{max-width:100%;}
img,picture,video{height:auto;}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:20px 48px;transition:backdrop-filter 0.3s,background 0.3s;}
nav.scrolled{background:rgba(6,6,8,0.93);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);}
:root[data-theme="light"] nav.scrolled{background:rgba(247,248,244,0.94);}
.nav-logo{display:flex;align-items:center;text-decoration:none;}
.nav-logo-img{display:block;width:auto;height:48px;max-width:160px;object-fit:contain;}
.nav-actions{display:flex;align-items:center;gap:12px;}
.nav-links{display:flex;gap:28px;list-style:none;}
.nav-links a{font-family:var(--font-cond);font-size:12px;letter-spacing:0.18em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color 0.2s;}
.nav-links a:hover,.nav-links a.active{color:var(--white);}
.nav-cta{font-family:var(--font-cond);font-size:12px;letter-spacing:0.2em;text-transform:uppercase;color:var(--green);border:1px solid var(--green);padding:10px 22px;text-decoration:none;transition:background 0.2s,color 0.2s;cursor:pointer;}
.nav-cta:hover{background:var(--green);color:var(--black);}
.nav-theme-toggle{width:42px;height:42px;border:1px solid var(--border2);background:var(--card);color:var(--white);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s,color .2s,background .2s;}
.nav-theme-toggle:hover{border-color:var(--green);color:var(--green);}
.theme-icon{width:18px;height:18px;}
.theme-icon .moon,:root[data-theme="light"] .theme-icon .sun{display:none;}
:root[data-theme="light"] .theme-icon .moon{display:block;}
.nav-ham{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;z-index:1001;}
.nav-ham span{width:24px;height:2px;background:var(--white);display:block;transition:transform .3s ease,opacity .3s ease;}
.nav-ham.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px);}
.nav-ham.active span:nth-child(2){opacity:0;}
.nav-ham.active span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px);}
.mobile-menu{position:fixed;inset:0;background:var(--black);z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s ease;}
.mobile-menu.active{opacity:1;pointer-events:all;}
.mobile-menu-links{list-style:none;text-align:center;padding:0;}
.mobile-menu-links li{margin:24px 0;opacity:0;transform:translateY(20px);transition:opacity .4s ease,transform .4s ease;}
.mobile-menu.active .mobile-menu-links li{opacity:1;transform:translateY(0);}
.mobile-menu.active .mobile-menu-links li:nth-child(1){transition-delay:.1s;}
.mobile-menu.active .mobile-menu-links li:nth-child(2){transition-delay:.15s;}
.mobile-menu.active .mobile-menu-links li:nth-child(3){transition-delay:.2s;}
.mobile-menu.active .mobile-menu-links li:nth-child(4){transition-delay:.25s;}
.mobile-menu-links a{font-family:var(--font-display);font-size:42px;letter-spacing:.02em;text-transform:uppercase;color:var(--white);text-decoration:none;transition:color .2s;}
.mobile-menu-links a:hover{color:var(--green);}
.mobile-menu-cta{margin-top:40px;opacity:0;transform:translateY(20px);transition:opacity .4s ease,transform .4s ease;}
.mobile-menu.active .mobile-menu-cta{opacity:1;transform:translateY(0);transition-delay:.35s;}
.mobile-theme-toggle{margin-top:18px;}

/* PAGE SYSTEM */
.page{display:none;min-height:100vh;min-height:100dvh;}
.page.active{display:block;}

/* SERVICE HERO */
.svc-hero{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;justify-content:flex-end;padding:108px 48px 80px;position:relative;overflow:hidden;}
.svc-hero-bg{position:absolute;inset:0;z-index:0;}
:root[data-theme="light"] .svc-hero-bg{background:radial-gradient(ellipse 70% 60% at 65% 35%,rgba(63,132,37,0.12) 0%,transparent 60%),linear-gradient(180deg,#f7f8f4 0%,#ecefe8 100%) !important;}
.svc-hero-grid{position:absolute;inset:0;z-index:0;background-image:linear-gradient(rgba(255,255,255,0.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.025) 1px,transparent 1px);background-size:80px 80px;mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 20%,transparent 100%);}
.svc-hero-number{position:absolute;right:48px;top:50%;transform:translateY(-60%);font-family:var(--font-display);font-size:clamp(180px,25vw,320px);color:rgba(255,255,255,0.02);line-height:1;z-index:0;user-select:none;}
.svc-hero-content{position:relative;z-index:2;width:min(100%,720px);}
.svc-hero-media{
  position:absolute;
  top:50%;
  right:48px;
  transform:translateY(-48%);
  width:min(39vw,500px);
  aspect-ratio:4 / 5;
  z-index:1;
  overflow:hidden;
  border:1px solid var(--border2);
  background:linear-gradient(180deg,rgba(255,255,255,0.06),rgba(255,255,255,0)),rgba(10,10,12,0.82);
  box-shadow:0 30px 80px rgba(0,0,0,0.42);
}
.svc-hero-media::before{
  content:'';
  position:absolute;
  inset:14px;
  border:1px solid rgba(106,191,63,0.16);
  z-index:2;
  pointer-events:none;
}
.svc-hero-media::after{
  content:'';
  position:absolute;
  inset:auto 0 0;
  height:45%;
  background:linear-gradient(180deg,rgba(6,6,8,0) 0%,rgba(6,6,8,0.92) 100%);
  z-index:1;
  pointer-events:none;
}
.svc-hero-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.92;
  filter:saturate(.9) contrast(1.02);
}
.svc-hero-media-label{
  position:absolute;
  left:28px;
  right:28px;
  bottom:24px;
  z-index:3;
  font-family:var(--font-cond);
  font-size:11px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:rgba(240,240,240,0.82);
}
.svc-breadcrumb{font-family:var(--font-cond);font-size:11px;letter-spacing:0.3em;text-transform:uppercase;color:var(--green);margin-bottom:16px;opacity:0;animation:fadeUp 0.7s 0.2s forwards;}
.svc-breadcrumb a{color:var(--muted);text-decoration:none;transition:color 0.2s;}
.svc-breadcrumb a:hover{color:var(--white);}
.svc-breadcrumb span{margin:0 8px;color:var(--muted2);}
.svc-hero-title{font-family:var(--font-display);font-size:clamp(64px,11vw,148px);line-height:0.9;letter-spacing:0.02em;text-transform:uppercase;opacity:0;animation:fadeUp 0.9s 0.3s forwards;}
.svc-hero-title em{color:var(--green);font-style:normal;}
.svc-hero-sub{font-family:var(--font-body);font-size:17px;font-weight:300;color:rgba(240,240,240,0.65);max-width:520px;line-height:1.7;margin-top:24px;opacity:0;animation:fadeUp 0.9s 0.5s forwards;}
:root[data-theme="light"] .svc-hero-sub,
:root[data-theme="light"] .svc-overview-right p,
:root[data-theme="light"] .include-text p{color:var(--muted);}
.svc-hero-actions{display:flex;gap:16px;align-items:center;margin-top:40px;opacity:0;animation:fadeUp 0.9s 0.65s forwards;}
.btn-primary{font-family:var(--font-cond);font-size:13px;letter-spacing:0.2em;text-transform:uppercase;background:var(--green);color:var(--black);padding:16px 40px;border:none;cursor:pointer;font-weight:600;transition:transform 0.2s,box-shadow 0.2s;display:inline-block;}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(106,191,63,0.35);}
.btn-outline{font-family:var(--font-cond);font-size:13px;letter-spacing:0.2em;text-transform:uppercase;color:var(--green);border:1px solid var(--green);padding:15px 36px;cursor:pointer;background:none;transition:background 0.2s,color 0.2s;display:inline-block;text-decoration:none;}
.btn-outline:hover{background:var(--green);color:var(--black);}
.btn-ghost{font-family:var(--font-cond);font-size:13px;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted);text-decoration:none;display:inline-flex;align-items:center;gap:8px;cursor:pointer;background:none;border:none;transition:color 0.2s;}
.btn-ghost:hover{color:var(--white);}
.svc-hero-scroll{position:absolute;right:48px;bottom:80px;z-index:2;display:flex;flex-direction:column;align-items:center;gap:10px;opacity:0;animation:fadeIn 1s 1s forwards;}
.svc-hero-scroll span{font-family:var(--font-cond);font-size:10px;letter-spacing:0.3em;text-transform:uppercase;color:var(--muted);writing-mode:vertical-rl;}
.scroll-line{width:1px;height:60px;background:linear-gradient(to bottom,var(--green),transparent);animation:scrollPulse 2s infinite;}

/* TICKER */
.ticker{background:var(--green);padding:11px 0;overflow:hidden;white-space:nowrap;}
.ticker-track{display:inline-flex;animation:tickerMove 25s linear infinite;}
.ticker-item{font-family:var(--font-cond);font-size:12px;letter-spacing:0.15em;text-transform:uppercase;color:var(--black);font-weight:600;padding:0 30px;}
.ticker-dot{color:rgba(0,0,0,0.3);padding:0 6px;}

/* SECTION */
.section-label{font-family:var(--font-cond);font-size:11px;letter-spacing:0.3em;text-transform:uppercase;color:var(--green);margin-bottom:14px;}
.section-title{font-family:var(--font-display);font-size:clamp(40px,5.5vw,72px);line-height:0.95;letter-spacing:0.02em;}

/* WHAT WE DO */
.svc-overview{padding:100px 48px;border-bottom:1px solid var(--border);}
.svc-overview-inner{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;align-items:start;}
.svc-overview-left{}
.svc-overview-right{padding-top:8px;}
.svc-overview-right p{font-family:var(--font-body);font-size:15px;font-weight:300;color:rgba(240,240,240,0.7);line-height:1.85;}
.svc-overview-right p+p{margin-top:18px;}

/* PROCESS */
.svc-process{padding:100px 48px;background:var(--dark);border-bottom:1px solid var(--border);}
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);margin-top:60px;}
.process-step{background:var(--dark);padding:44px 36px;position:relative;transition:background 0.3s;}
.process-step:hover{background:var(--card);}
.process-step::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform 0.4s;}
.process-step:hover::before{transform:scaleX(1);}
.step-num{font-family:var(--font-display);font-size:52px;color:rgba(106,191,63,0.15);line-height:1;margin-bottom:18px;}
.step-title{font-family:var(--font-cond);font-size:17px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:12px;}
.step-desc{font-family:var(--font-body);font-size:13px;font-weight:300;color:var(--muted);line-height:1.7;}

/* INCLUDES */
.svc-includes{padding:100px 48px;border-bottom:1px solid var(--border);}
.includes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);margin-top:60px;}
.include-item{background:var(--black);padding:36px 32px;display:flex;gap:16px;align-items:flex-start;transition:background 0.3s;}
.include-item:hover{background:var(--card);}
.include-check{width:20px;height:20px;flex-shrink:0;margin-top:2px;color:var(--green);}
.include-text h4{font-family:var(--font-cond);font-size:15px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:6px;}
.include-text p{font-family:var(--font-body);font-size:13px;font-weight:300;color:var(--muted);line-height:1.6;}

/* INDUSTRIES */
.svc-industries{padding:100px 48px;background:var(--dark);border-bottom:1px solid var(--border);}
.industries-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:48px;}
.industry-tag{font-family:var(--font-cond);font-size:13px;letter-spacing:0.14em;text-transform:uppercase;padding:12px 22px;border:1px solid var(--border2);color:var(--muted);transition:border-color 0.2s,color 0.2s,background 0.2s;}
.industry-tag:hover{border-color:var(--green);color:var(--green);background:var(--green-subtle);}

/* CTA STRIP */
.svc-cta{padding:120px 48px;text-align:center;position:relative;overflow:hidden;}
.svc-cta-bg{position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 50% 50%,rgba(106,191,63,0.07) 0%,transparent 70%);}
.svc-cta h2{position:relative;z-index:1;font-family:var(--font-display);font-size:clamp(48px,7vw,100px);line-height:0.95;text-transform:uppercase;}
.svc-cta h2 span{color:var(--green);}
.svc-cta p{position:relative;z-index:1;font-family:var(--font-body);font-size:16px;font-weight:300;color:var(--muted);margin:24px auto;max-width:460px;line-height:1.7;}
.svc-cta-actions{position:relative;z-index:1;display:flex;gap:14px;justify-content:center;margin-top:40px;}

/* OTHER SERVICES */
.svc-others{padding:80px 48px;border-top:1px solid var(--border);}
.others-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--border);margin-top:48px;}
.other-card{background:var(--black);padding:28px 24px;text-decoration:none;color:var(--white);transition:background 0.3s;cursor:pointer;}
.other-card:hover{background:var(--card);}
.other-card-num{font-family:var(--font-display);font-size:28px;color:rgba(106,191,63,0.2);margin-bottom:10px;}
.other-card-name{font-family:var(--font-cond);font-size:14px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:6px;}
.other-card-arrow{font-family:var(--font-cond);font-size:12px;letter-spacing:0.15em;color:var(--green);transition:transform 0.2s;display:inline-block;}
.other-card:hover .other-card-arrow{transform:translateX(4px);}

/* FOOTER */
footer{padding:60px 48px 36px;border-top:1px solid var(--border);display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:48px;}
.footer-brand-text{font-family:var(--font-display);font-size:26px;margin-bottom:10px;}
.footer-brand-text span{color:var(--green);}
.footer-tagline{font-family:var(--font-body);font-size:13px;font-weight:300;color:var(--muted);line-height:1.7;}
.footer-col h5{font-family:var(--font-cond);font-size:11px;letter-spacing:0.3em;text-transform:uppercase;color:var(--green);margin-bottom:18px;}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:10px;}
.footer-col ul a{font-family:var(--font-body);font-size:14px;font-weight:300;color:var(--muted);text-decoration:none;transition:color 0.2s;cursor:pointer;}
.footer-col ul a:hover{color:var(--white);}
.footer-bottom{grid-column:1/-1;padding-top:36px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;}
.footer-bottom p{font-family:var(--font-cond);font-size:11px;letter-spacing:0.15em;text-transform:uppercase;color:rgba(136,136,136,0.45);}
.footer-social{display:flex;gap:20px;}
.footer-social a{font-family:var(--font-cond);font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color 0.2s;cursor:pointer;}
.footer-social a:hover{color:var(--green);}

/* SCROLL REVEAL */
.reveal{opacity:0;transform:translateY(36px);transition:opacity 0.8s ease,transform 0.8s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}
.reveal-delay-1{transition-delay:0.1s;}
.reveal-delay-2{transition-delay:0.2s;}
.reveal-delay-3{transition-delay:0.3s;}
.reveal-delay-4{transition-delay:0.4s;}
.reveal-delay-5{transition-delay:0.5s;}
.reveal-delay-6{transition-delay:0.6s;}

/* ===== AI QUOTE MODAL ===== */
.modal-overlay{display:none;position:fixed;inset:0;z-index:3000;background:rgba(0,0,0,0.85);backdrop-filter:blur(10px);align-items:center;justify-content:center;padding:20px;}
.modal-overlay.open{display:flex;}
.modal-box{width:100%;max-width:520px;background:var(--card);border:1px solid var(--border2);position:relative;display:flex;flex-direction:column;max-height:88vh;animation:modalIn 0.4s cubic-bezier(0.16,1,0.3,1);}
@keyframes modalIn{from{opacity:0;transform:scale(0.93) translateY(24px);}to{opacity:1;transform:scale(1) translateY(0);}}
.modal-header{padding:20px 22px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:14px;flex-shrink:0;}
.modal-ai-avatar{width:38px;height:38px;background:var(--green);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.modal-ai-avatar svg{width:20px;height:20px;}
.modal-header-info{flex:1;}
.modal-header-info h3{font-family:var(--font-cond);font-size:16px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:3px;}
.modal-status{font-family:var(--font-body);font-size:12px;color:var(--green);display:flex;align-items:center;gap:6px;}
.status-dot{width:7px;height:7px;border-radius:50%;background:var(--green);animation:statusPulse 2s infinite;}
@keyframes statusPulse{0%,100%{opacity:1;}50%{opacity:0.3;}}
.modal-service-badge{font-family:var(--font-cond);font-size:10px;letter-spacing:0.18em;text-transform:uppercase;padding:4px 10px;background:rgba(106,191,63,0.1);border:1px solid rgba(106,191,63,0.2);color:var(--green);}
.modal-close{background:none;border:none;color:var(--muted);font-size:20px;cursor:pointer;transition:color 0.2s;line-height:1;padding:6px;display:flex;align-items:center;justify-content:center;}
.modal-close:hover{color:var(--white);}
.modal-main{display:flex;flex-direction:column;flex:1;min-height:0;}
.modal-messages{flex:1;overflow-y:auto;padding:20px 20px 8px;display:flex;flex-direction:column;gap:14px;scrollbar-width:thin;scrollbar-color:var(--border2) transparent;}
.modal-messages::-webkit-scrollbar{width:4px;}
.modal-messages::-webkit-scrollbar-thumb{background:var(--border2);}
.msg{display:flex;gap:10px;align-items:flex-end;animation:msgIn 0.3s ease;}
@keyframes msgIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
.msg.user{flex-direction:row-reverse;}
.msg-avatar{width:28px;height:28px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-cond);font-size:10px;font-weight:700;letter-spacing:0.05em;}
.msg.ai .msg-avatar{background:var(--green);color:var(--black);}
.msg.user .msg-avatar{background:var(--card2);border:1px solid var(--border2);color:var(--muted);}
.msg-bubble{max-width:78%;padding:11px 15px;font-family:var(--font-body);font-size:14px;font-weight:300;line-height:1.6;}
.msg.ai .msg-bubble{background:var(--card2);border:1px solid var(--border);color:var(--white);border-radius:2px 10px 10px 10px;}
.msg.user .msg-bubble{background:rgba(106,191,63,0.1);border:1px solid rgba(106,191,63,0.2);color:var(--white);border-radius:10px 2px 10px 10px;text-align:right;}
.typing-bubble{background:var(--card2);border:1px solid var(--border);border-radius:2px 10px 10px 10px;padding:13px 16px;display:flex;gap:5px;align-items:center;}
.typing-dot{width:6px;height:6px;background:var(--muted2);border-radius:50%;animation:typingBounce 1.2s infinite;}
.typing-dot:nth-child(2){animation-delay:0.2s;}
.typing-dot:nth-child(3){animation-delay:0.4s;}
@keyframes typingBounce{0%,60%,100%{transform:translateY(0);opacity:0.35;}30%{transform:translateY(-5px);opacity:1;}}
.modal-quick-replies{padding:8px 20px 4px;display:flex;flex-wrap:wrap;gap:7px;flex-shrink:0;}
.quick-reply{font-family:var(--font-cond);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;padding:7px 14px;border:1px solid rgba(106,191,63,0.25);background:rgba(106,191,63,0.05);color:var(--green);cursor:pointer;transition:background 0.2s,border-color 0.2s;animation:msgIn 0.3s ease;}
.quick-reply:hover{background:rgba(106,191,63,0.15);border-color:var(--green);}
.modal-input-wrap{padding:14px 20px 18px;border-top:1px solid var(--border);display:flex;gap:9px;flex-shrink:0;align-items:flex-end;}
.modal-input{flex:1;background:var(--dark);border:1px solid var(--border2);color:var(--white);font-family:var(--font-body);font-size:14px;font-weight:300;padding:12px 15px;outline:none;transition:border-color 0.2s;resize:none;min-height:46px;max-height:120px;line-height:1.5;}
.modal-input:focus{border-color:var(--green);}
.modal-input::placeholder{color:var(--muted2);}
.modal-send{background:var(--green);border:none;color:var(--black);width:46px;height:46px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity 0.2s,transform 0.2s;flex-shrink:0;}
.modal-send:hover{opacity:0.85;transform:scale(1.05);}
.modal-send svg{width:17px;height:17px;}
.modal-send:disabled{opacity:0.4;transform:none;}
.modal-progress{height:2px;background:var(--border);flex-shrink:0;}
.modal-progress-bar{height:100%;background:var(--green);transition:width 0.5s ease;}
.modal-success{display:none;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:52px 32px;text-align:center;flex:1;}
.modal-success.show{display:flex;}
.success-icon{width:68px;height:68px;border-radius:50%;border:1px solid var(--green);background:rgba(106,191,63,0.08);display:flex;align-items:center;justify-content:center;color:var(--green);}
.success-icon svg{width:30px;height:30px;}
.modal-success h3{font-family:var(--font-display);font-size:38px;letter-spacing:0.04em;text-transform:uppercase;}
.modal-success h3 span{color:var(--green);}
.modal-success p{font-family:var(--font-body);font-size:14px;font-weight:300;color:var(--muted);line-height:1.75;max-width:300px;}
.modal-success .btn-outline{margin-top:8px;cursor:pointer;}

/* SHAKE ANIMATION */
@keyframes shake{0%,100%{transform:translateX(0);}20%,60%{transform:translateX(-5px);}40%,80%{transform:translateX(5px);}}
.shake{animation:shake 0.4s ease;}

/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes tickerMove{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes scrollPulse{0%,100%{opacity:0.3;}50%{opacity:1;}}

/* KEYBOARD FOCUS */
:where(a,button,input,textarea):focus-visible{outline:2px solid var(--green);outline-offset:3px;}
.modal-input:focus-visible{border-color:var(--green);outline-offset:2px;}

/* MOBILE */
@media(max-width:768px){
  body{font-size:16px;}
  nav{padding:18px 20px;}
  .nav-logo-img{height:42px;max-width:140px;}
  .nav-links{display:none;}
  .nav-ham{display:flex;}
  .nav-actions .nav-cta{display:none;}
  .nav-ham,.nav-cta,.btn-primary,.btn-ghost,.quick-reply,.modal-send,.modal-success .btn-outline,.mobile-menu-links a,.mobile-menu-cta button{min-height:44px;min-width:44px;}
  .mobile-menu-links a{display:inline-flex;align-items:center;justify-content:center;font-size:clamp(2.25rem,11vw,3.25rem);line-height:1;}
  .mobile-menu-cta .nav-cta{display:inline-flex;align-items:center;justify-content:center;background:none;}
  .svc-hero{padding:96px 20px 60px;}
  .svc-hero-media{
    position:relative;
    top:auto;
    right:auto;
    transform:none;
    width:min(100%,520px);
    margin:0 0 32px;
  }
  .svc-hero-number{display:none;}
  .svc-hero-content{width:100%;}
  .svc-hero-title{font-size:clamp(4rem,18vw,7.5rem);}
  .svc-hero-sub,.svc-overview-right p,.step-desc,.include-text p,.industry-tag,.msg-bubble,.modal-input{font-size:1rem;}
  .svc-hero-actions{width:min(100%,28rem);flex-direction:column;align-items:stretch;gap:.875rem;}
  .btn-primary,.btn-ghost,.btn-outline{width:100%;display:inline-flex;align-items:center;justify-content:center;text-align:center;padding:.95rem 1.25rem;}
  .svc-overview{padding:70px 20px;}
  .svc-overview-inner{grid-template-columns:1fr;gap:40px;}
  .svc-process{padding:70px 20px;}
  .process-steps{grid-template-columns:repeat(2,1fr);}
  .svc-includes{padding:70px 20px;}
  .includes-grid{grid-template-columns:1fr;}
  .svc-industries{padding:70px 20px;}
  .svc-cta{padding:80px 20px;}
  .svc-others{padding:60px 20px;}
  .others-grid{grid-template-columns:repeat(2,1fr);}
  footer{grid-template-columns:1fr;padding:60px 20px 36px;text-align:center;}
  .footer-col ul{align-items:center;}
  .footer-bottom{flex-direction:column;gap:1rem;text-align:center;}
  .footer-social{justify-content:center;flex-wrap:wrap;}
  .svc-hero-scroll{display:none;}
  .svc-cta-actions{flex-direction:column;align-items:center;}
  .modal-overlay{padding:1rem;}
  .modal-box{max-height:calc(100dvh - 2rem);}
  .modal-close{min-width:44px;min-height:44px;}
  .modal-input-wrap{align-items:stretch;}
  .modal-send{min-width:46px;min-height:46px;}
}

@media(max-width:480px){
  nav{padding:.875rem 1rem;}
  .nav-logo-img{height:34px;max-width:120px;}
  .nav-ham{padding:.625rem;}
  .mobile-menu-links li{margin:1rem 0;}
  .mobile-menu-links a{font-size:clamp(2rem,13vw,2.75rem);}
  .svc-hero{padding-top:88px;}
  .svc-hero{padding-left:1rem;padding-right:1rem;padding-bottom:3.5rem;}
  .svc-hero-media{aspect-ratio:5 / 4;}
  .svc-hero-media-label{left:20px;right:20px;bottom:18px;font-size:10px;letter-spacing:0.18em;}
  .svc-breadcrumb{font-size:.72rem;letter-spacing:.14em;line-height:1.45;flex-wrap:wrap;}
  .svc-hero-title{font-size:clamp(3.35rem,20vw,5rem);overflow-wrap:anywhere;}
  .section-title{font-size:clamp(2.6rem,15vw,4rem);}
  .svc-overview,.svc-process,.svc-includes,.svc-industries,.svc-others{padding:4rem 1rem;}
  .process-steps,.others-grid{grid-template-columns:1fr;}
  .svc-cta{padding:5rem 1rem;}
  footer{padding:3.5rem 1rem 2.25rem;}
  .modal-overlay{padding:.75rem;}
  .modal-box{max-height:calc(100dvh - 1.5rem);}
  .modal-header{padding:1rem;padding-right:3.25rem;}
  .modal-service-badge{display:none;}
  .modal-input-wrap{flex-direction:column;padding:.875rem 1rem 1rem;}
  .modal-send{width:100%;}
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation:none !important;transition:none !important;}
  .reveal,
  .reveal.visible,
  .svc-breadcrumb,
  .svc-hero-title,
  .svc-hero-sub,
  .svc-hero-actions,
  .svc-hero-scroll{opacity:1 !important;transform:none !important;}
  .ticker-track{transform:none !important;}
}
