.product-service-page { background:#fff; }
.product-service-page .section { padding:92px 0; }

.product-service-hero { position:relative; overflow:hidden; padding:64px 0 82px; background:linear-gradient(135deg,#f5f9ff 0%,#fff 54%,#edf5ff 100%); }
.product-service-hero::before { content:""; position:absolute; width:620px; height:620px; right:-250px; top:-310px; border-radius:50%; border:1px solid rgba(22,112,234,.12); box-shadow:0 0 0 80px rgba(22,112,234,.025),0 0 0 160px rgba(22,112,234,.015); }
.product-service-hero-grid { position:relative; display:grid; grid-template-columns:minmax(0, .9fr) minmax(430px, 1.1fr); gap:72px; align-items:center; }
.product-service-breadcrumbs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:28px; color:#7a8da3; font-size:12px; font-weight:700; }
.product-service-breadcrumbs a { color:var(--blue-700); }
.product-service-copy h1 { max-width:720px; margin:14px 0 20px; font-size:clamp(46px,5.2vw,72px); line-height:1.03; letter-spacing:-.052em; }
.product-service-copy h1 span { color:var(--blue-600); }
.product-service-copy > p { max-width:690px; margin:0; color:#4f637b; font-size:17px; line-height:1.82; }
.product-service-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px; margin-top:30px; }
.product-service-note { display:flex; gap:12px; align-items:flex-start; max-width:570px; margin-top:28px; color:#667b92; font-size:12px; line-height:1.65; }
.product-service-note span { width:34px; height:34px; flex:0 0 auto; display:grid; place-items:center; border-radius:11px; color:var(--blue-700); background:var(--blue-100); font-weight:800; }

.product-service-visual { position:relative; min-height:560px; }
.product-service-main-image { position:absolute; inset:0 0 34px 42px; overflow:hidden; border-radius:34px; box-shadow:0 34px 80px rgba(11,50,98,.22); }
.product-service-main-image img { width:100%; height:100%; object-fit:cover; }
.product-service-badge { position:absolute; left:0; bottom:0; z-index:2; width:190px; padding:20px 22px; border:1px solid rgba(255,255,255,.7); border-radius:22px; color:#fff; background:linear-gradient(135deg,#082f69,#116adf); box-shadow:0 20px 46px rgba(7,49,105,.24); }
.product-service-badge strong,.product-service-badge span { display:block; }
.product-service-badge strong { font-size:24px; }
.product-service-badge span { margin-top:4px; color:rgba(255,255,255,.72); font-size:10px; line-height:1.5; }

.product-service-facts { position:relative; z-index:4; margin-top:-32px; }
.product-service-facts-grid { display:grid; grid-template-columns:repeat(3,1fr); overflow:hidden; border:1px solid var(--line); border-radius:24px; background:#fff; box-shadow:var(--shadow-md); }
.product-service-facts article { padding:22px 25px; }
.product-service-facts article:not(:last-child) { border-right:1px solid var(--line); }
.product-service-facts strong { display:block; color:var(--blue-700); font-size:16px; }
.product-service-facts span { display:block; margin-top:5px; color:var(--muted); font-size:11px; line-height:1.5; }

.product-service-intro-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:72px; align-items:start; }
.product-service-intro h2,.product-service-gallery-heading h2,.product-service-process h2 { margin:10px 0 17px; font-size:clamp(34px,4vw,50px); line-height:1.1; letter-spacing:-.04em; }
.product-service-intro-copy p { margin:0 0 18px; color:#50647b; line-height:1.85; }
.product-service-features { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.product-service-feature { padding:22px; border:1px solid var(--line); border-radius:20px; background:#fbfdff; }
.product-service-feature span { width:38px; height:38px; display:grid; place-items:center; margin-bottom:15px; border-radius:12px; color:var(--blue-700); background:var(--blue-100); font-size:15px; font-weight:800; }
.product-service-feature strong { display:block; margin-bottom:7px; font-size:14px; }
.product-service-feature p { margin:0; color:var(--muted); font-size:11px; line-height:1.65; }

.product-service-gallery-section { background:#f5f8fc; }
.product-service-gallery-heading { display:grid; grid-template-columns:1fr minmax(280px,.68fr); gap:55px; align-items:end; margin-bottom:34px; }
.product-service-gallery-heading > p { margin:0; color:var(--muted); line-height:1.8; }
.product-service-gallery { display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:290px; gap:16px; }
.product-service-gallery figure { margin:0; overflow:hidden; border-radius:22px; background:#dfe8f3; box-shadow:0 12px 30px rgba(18,53,91,.08); }
.product-service-gallery figure:first-child { grid-column:span 2; }
.product-service-gallery figure:nth-child(4) { grid-row:span 2; }
.product-service-gallery img { width:100%; height:100%; object-fit:cover; transition:transform .55s ease; }
.product-service-gallery figure:hover img { transform:scale(1.045); }

.product-service-process { background:#fff; }
.product-service-process-panel { display:grid; grid-template-columns:.8fr 1.2fr; gap:60px; align-items:center; padding:48px; border:1px solid var(--line); border-radius:32px; background:linear-gradient(135deg,#f8fbff,#fff); box-shadow:var(--shadow-sm); }
.product-service-steps { display:grid; gap:12px; }
.product-service-step { display:grid; grid-template-columns:46px 1fr; gap:15px; align-items:center; padding:17px 18px; border:1px solid var(--line); border-radius:18px; background:#fff; }
.product-service-step > span { width:42px; height:42px; display:grid; place-items:center; border-radius:13px; color:var(--blue-700); background:var(--blue-100); font-size:10px; font-weight:800; }
.product-service-step strong { display:block; font-size:13px; }
.product-service-step small { display:block; margin-top:3px; color:var(--muted); font-size:10px; line-height:1.5; }

.product-service-cta { padding:0 0 100px; }
.product-service-cta-panel { display:grid; grid-template-columns:1fr auto; gap:40px; align-items:center; padding:48px 52px; overflow:hidden; border-radius:34px; color:#fff; background:radial-gradient(circle at 87% 15%,rgba(113,183,255,.27),transparent 23%),linear-gradient(135deg,#062d67,#0a5dcc); box-shadow:var(--shadow-md); }
.product-service-cta-panel .section-label { color:#a4d0ff; }
.product-service-cta-panel h2 { max-width:760px; margin:8px 0; font-size:clamp(32px,4vw,48px); line-height:1.1; }
.product-service-cta-panel p { max-width:720px; margin:0; color:rgba(255,255,255,.73); }

@media (max-width:1050px) {
  .product-service-hero-grid,.product-service-intro-grid,.product-service-process-panel { grid-template-columns:1fr; }
  .product-service-visual { min-height:500px; }
  .product-service-main-image { inset:0 0 24px 28px; }
  .product-service-gallery { grid-template-columns:repeat(2,1fr); }
  .product-service-gallery figure:first-child { grid-column:span 2; }
  .product-service-gallery figure:nth-child(4) { grid-row:auto; }
}

@media (max-width:700px) {
  .product-service-page .section { padding:70px 0; }
  .product-service-hero { padding:42px 0 68px; }
  .product-service-copy h1 { font-size:43px; }
  .product-service-copy > p { font-size:15px; }
  .product-service-visual { min-height:390px; }
  .product-service-main-image { inset:0 0 20px 18px; border-radius:25px; }
  .product-service-badge { width:165px; padding:16px 18px; }
  .product-service-facts { margin-top:-18px; }
  .product-service-facts-grid { grid-template-columns:1fr; }
  .product-service-facts article:not(:last-child) { border-right:0; border-bottom:1px solid var(--line); }
  .product-service-features { grid-template-columns:1fr; }
  .product-service-gallery-heading { grid-template-columns:1fr; gap:12px; }
  .product-service-gallery { grid-template-columns:1fr; grid-auto-rows:285px; }
  .product-service-gallery figure:first-child { grid-column:auto; }
  .product-service-process-panel { padding:27px 22px; }
  .product-service-cta { padding-bottom:74px; }
  .product-service-cta-panel { grid-template-columns:1fr; padding:32px 25px; border-radius:26px; }
}
