section{padding:clamp(64px,8vw,112px) clamp(20px,5vw,60px)}
.section-inner{max-width:1280px;margin:0 auto}
.section-badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;
  font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-corp);
  background:var(--blue-corp-07);padding:5px 14px;border-radius:20px;border:1px solid var(--blue-corp-12);margin-bottom:20px}
.section-h2{font-family:var(--font-serif);font-size:clamp(32px,4vw,52px);font-weight:normal;
  color:var(--text-dark);line-height:1.1;margin-bottom:14px}
.section-h2 em{font-style:italic;color:var(--blue-accent)}
.section-sub{font-size:clamp(15px,1.5vw,17px);color:var(--text-light);max-width:580px;line-height:1.6;margin-bottom:48px}

.btn-primary{display:inline-flex;align-items:center;gap:8px;background:var(--blue-corp);color:#fff;
  font-size:14px;font-weight:600;padding:13px 26px;border-radius:7px;border:2px solid var(--blue-corp);transition:all var(--transition)}
.btn-primary:hover{background:var(--blue-accent);border-color:var(--blue-accent);transform:scale(1.03)}
.btn-outline-white{display:inline-flex;align-items:center;gap:8px;background:transparent;color:rgba(255,255,255,.9);
  font-size:14px;font-weight:600;padding:13px 26px;border-radius:7px;border:2px solid rgba(255,255,255,.45);transition:all var(--transition)}
.btn-outline-white:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.8);color:#fff}
.btn-secondary{display:inline-flex;align-items:center;gap:8px;color:var(--blue-corp);font-size:14px;font-weight:600;
  padding:12px 24px;border-radius:7px;border:2px solid var(--blue-corp);background:transparent;transition:all var(--transition);width:fit-content}
.btn-secondary:hover{background:var(--blue-corp);color:#fff}

/* ===== SERVICES ===== */
#services{background:var(--white)}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.service-card{background:var(--white);border:1px solid var(--gray-border);border-radius:var(--radius-lg);
  padding:32px;transition:all var(--transition);position:relative;overflow:hidden;
  opacity:0;transform:translateY(40px);display:flex;flex-direction:column;gap:14px}
.service-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--blue-corp),var(--blue-accent));transform:scaleX(0);transform-origin:left;transition:transform var(--transition)}
.service-card:hover::before{transform:scaleX(1)}
.service-card:hover{border-color:var(--blue-accent);box-shadow:var(--shadow-hover);transform:translateY(-4px)!important}
.service-badge-tag{position:absolute;top:16px;right:16px;font-family:var(--font-mono);font-size:9px;
  font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--blue-corp);padding:3px 8px;border-radius:4px}
.service-icon{width:44px;height:44px;background:var(--blue-corp-07);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.service-icon svg{width:22px;height:22px}
.service-img-wrap{border-radius:var(--radius-sm);overflow:hidden;aspect-ratio:2/1;flex-shrink:0}
.service-img-wrap img{width:100%;height:100%;object-fit:cover}
.service-title{font-size:17px;font-weight:700;color:var(--text-dark);line-height:1.2}
.service-desc{font-size:14px;line-height:1.6;color:var(--text-mid);flex:1}
.service-link{font-size:13px;font-weight:600;color:var(--blue-accent);display:inline-flex;align-items:center;gap:5px;transition:gap var(--transition)}
.service-card:hover .service-link{gap:9px}
.service-card.kit-digital{background:#f0f4ff;border-color:var(--blue-corp-20)}

/* ===== WHY IMS ===== */
#why-ims{background:var(--gray-bg)}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.why-left{display:flex;flex-direction:column;gap:28px}
.why-points{display:flex;flex-direction:column;gap:14px}
.why-point{display:flex;align-items:flex-start;gap:14px;padding:14px 18px;background:var(--white);
  border-radius:var(--radius-md);border:1px solid var(--gray-border);transition:border-color var(--transition),box-shadow var(--transition)}
.why-point:hover{border-color:var(--blue-accent);box-shadow:0 4px 16px var(--blue-corp-07)}
.why-check{width:22px;height:22px;background:var(--blue-corp);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}
.why-check svg{width:12px;height:12px}
.why-point p{font-size:14px;color:var(--text-mid);line-height:1.5}
.why-right{position:relative}
.why-img-main{border-radius:var(--radius-lg);width:100%;display:block;box-shadow:0 20px 60px var(--blue-corp-12)}
.float-card{position:absolute;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border:1px solid var(--blue-corp-12);border-radius:var(--radius-md);padding:12px 16px;box-shadow:0 8px 24px var(--blue-corp-10)}
.float-card-bl{bottom:20px;left:-20px}
.float-card-tr{top:20px;right:-20px}
.float-card p{font-size:13px;font-weight:600;color:var(--blue-corp);white-space:nowrap}

/* ===== PARTNERS ===== */
#partners{background:var(--white);padding-top:48px;padding-bottom:48px}
#partners .section-inner{text-align:center}
.partners-row{display:flex;align-items:center;justify-content:center;gap:clamp(24px,5vw,56px);flex-wrap:wrap;
  padding:24px 0;border-top:1px solid var(--gray-border);border-bottom:1px solid var(--gray-border)}
.partner-item{display:flex;align-items:center;justify-content:center;opacity:0;transition:transform var(--transition)}
.partner-item img{height:38px;max-width:120px;object-fit:contain;filter:opacity(.9);transition:filter .25s ease,transform .25s ease}
.partner-item:hover img{filter:opacity(1);transform:scale(1.07)}

/* ===== PROCESS ===== */
#process{background:linear-gradient(135deg,#0d1a2e 0%,#0e2a5c 50%,#1044a0 100%);color:#fff}
#process .section-badge{color:var(--blue-accent);background:var(--blue-accent-10);border-color:var(--blue-accent-25)}
.process-header{text-align:center}

.process-track{position:relative}
.process-connector{position:absolute;top:52px;left:calc(12.5% + 28px);right:calc(12.5% + 28px);height:2px;display:none;pointer-events:none;z-index:0}
@media(min-width:1025px){.process-connector{display:block}}
.process-connector-line{
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(95,186,253,0) 0%,rgba(95,186,253,.45) 15%,rgba(52,204,206,.55) 50%,rgba(95,186,253,.45) 85%,rgba(95,186,253,0) 100%);
  transform:scaleX(0);transform-origin:left;
  transition:transform 1.4s cubic-bezier(.4,0,.2,1)}
.process-connector-line.drawn{transform:scaleX(1)}
.process-orb{position:absolute;top:50%;width:10px;height:10px;border-radius:50%;background:#fff;
  box-shadow:0 0 10px 4px rgba(95,186,253,.75),0 0 3px 1px rgba(52,204,206,.9);
  transform:translateY(-50%);left:-5px;opacity:0}
.process-connector.animated .process-orb{animation:orb-travel 3s ease-in-out infinite}
@keyframes orb-travel{
  0%{left:-5px;opacity:0} 8%{opacity:1} 92%{opacity:1} 100%{left:calc(100% - 5px);opacity:0}}

.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative;z-index:1}

.process-step{
  background:var(--white-06);border:1px solid var(--white-10);
  border-radius:var(--radius-lg);padding:32px 22px 28px;
  position:relative;overflow:hidden;
  transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition);
  opacity:0;transform:translateY(48px);
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.process-step::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--blue-corp),var(--blue-accent),var(--blue-teal));
  transform:scaleX(0);transform-origin:left;
  transition:transform .9s cubic-bezier(.4,0,.2,1) .3s}
.process-step.ps-visible::before{transform:scaleX(1)}
.process-step:hover{transform:translateY(-8px)!important;border-color:rgba(95,186,253,.4);box-shadow:0 20px 60px rgba(29,131,246,.22)}

.step-watermark{
  position:absolute;top:-10px;right:10px;font-size:92px;font-weight:900;line-height:1;
  background:linear-gradient(180deg,var(--blue-accent-20) 0%,rgba(95,186,253,.03) 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  font-family:var(--font-mono);pointer-events:none;user-select:none;letter-spacing:-.02em}

.step-icon-wrap{
  width:54px;height:54px;border-radius:14px;
  background:var(--blue-accent-12);border:1px solid var(--blue-accent-20);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:20px;transition:background var(--transition),box-shadow var(--transition);color:var(--blue-accent)}
.process-step:hover .step-icon-wrap{background:rgba(95,186,253,.22);box-shadow:0 0 20px var(--blue-accent-20)}
.step-icon-wrap svg{width:26px;height:26px}

.step-title{font-size:17px;font-weight:700;color:#fff;margin-bottom:10px;line-height:1.2}
.step-desc{font-size:13.5px;line-height:1.65;color:rgba(255,255,255,.62)}

/* ===== CONTACT ===== */
#contact{background:var(--gray-bg)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.form-group label{font-size:13px;font-weight:600;color:var(--text-dark)}
.form-group input,.form-group select,.form-group textarea{
  font-family:var(--font-sans);font-size:14px;color:var(--text-dark);background:var(--white);
  border:1.5px solid var(--gray-border);border-radius:var(--radius-sm);padding:11px 14px;
  transition:border-color var(--transition),box-shadow var(--transition);outline:none;width:100%}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{
  border-color:var(--blue-accent);box-shadow:0 0 0 3px rgba(74,144,217,.12)}
.form-group textarea{resize:vertical;min-height:110px}
.form-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
.form-checkbox{display:flex;align-items:flex-start;gap:10px;margin-bottom:20px}
.form-checkbox input[type="checkbox"]{width:16px;height:16px;margin-top:2px;flex-shrink:0;accent-color:var(--blue-corp)}
.form-checkbox label{font-size:13px;color:var(--text-mid);line-height:1.5;cursor:pointer}
.form-checkbox a{color:var(--blue-accent)}
.btn-submit{width:100%;padding:14px;background:var(--blue-corp);color:#fff;font-size:15px;font-weight:600;
  border-radius:7px;border:none;cursor:pointer;transition:all var(--transition)}
.btn-submit:hover{background:var(--blue-accent)}
.btn-submit:disabled{opacity:.7;cursor:not-allowed}
.contact-info{display:flex;flex-direction:column;gap:28px}
.contact-details{display:flex;flex-direction:column;gap:14px}
.contact-item{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:var(--white);
  border-radius:var(--radius-md);border:1px solid var(--gray-border)}
.contact-item-icon{width:36px;height:36px;background:var(--blue-corp-07);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.contact-item-icon svg{width:18px;height:18px}
.contact-item-text{display:flex;flex-direction:column;gap:2px}
.contact-item-label{font-size:11px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--text-light)}
.contact-item-value{font-size:14px;color:var(--text-dark);font-weight:500}
.contact-item-value a{color:var(--blue-accent)}
.map-wrap{border-radius:var(--radius-md);overflow:hidden}

@media(max-width:1024px){
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .why-grid,.contact-grid{grid-template-columns:1fr;gap:40px}
  .process-steps{grid-template-columns:repeat(2,1fr);gap:16px}
  .process-connector{display:none!important}
  .form-group input,.form-group select,.form-group textarea{font-size:16px}
}
@media(max-width:768px){
  .services-grid{grid-template-columns:1fr}
  .float-card-bl,.float-card-tr{display:none}
  .process-steps{grid-template-columns:1fr;gap:12px}
  .process-step{padding:22px 18px 20px;backdrop-filter:none;-webkit-backdrop-filter:none}
  .why-img-main{box-shadow:0 8px 24px var(--blue-corp-12)}
  .step-watermark{font-size:72px;top:-6px}
  .btn-primary,.btn-secondary,.btn-outline-white{width:100%;justify-content:center}
  .btn-secondary{width:auto}
  .why-grid{gap:32px}
  .why-points{gap:10px}
  .why-point{padding:12px 14px}
  .contact-grid{gap:28px}
  .contact-details{gap:10px}
  .map-wrap iframe{height:200px}
  .partners-row{gap:clamp(16px,5vw,40px)}
  #process{padding-top:clamp(48px,8vw,80px);padding-bottom:clamp(48px,8vw,80px)}
}
@media(max-width:480px){
  .services-grid{gap:14px}
  .service-card{padding:24px 20px}
  .process-step{padding:20px 16px}
  .step-watermark{display:none}
  .kit-amounts{grid-template-columns:1fr}
  .kit-step{padding:18px}
  .contact-item{padding:12px 14px}
}
