.services-section { position:relative; overflow:hidden; padding:clamp(76px,8vw,112px) clamp(20px,5vw,72px) clamp(68px,7vw,96px); color:#f7f9fc; background:radial-gradient(ellipse at 85% 2%,#0a4676 0,transparent 34%),linear-gradient(140deg,#031c37,#062c4d 56%,#031a32); border-top:3px solid #ffc400; isolation:isolate; }
.services-section::before { content:""; position:absolute; z-index:-1; top:-300px; left:-210px; width:520px; height:520px; border:1px solid #ffc40014; border-radius:50%; box-shadow:0 0 0 32px #ffc40006,0 0 0 66px #ffc40004; pointer-events:none; }
.services-inner { width:min(100%,1200px); margin:0 auto; }
.services-heading { max-width:820px; margin:0 auto 42px; text-align:center; }
.services-eyebrow { display:inline-flex; align-items:center; gap:10px; margin:0 0 12px; color:#ffc400; font-size:13px; line-height:1; font-weight:800; letter-spacing:.2em; }
.services-eyebrow::before,.services-eyebrow::after { content:""; width:24px; height:1px; background:#ffc40080; }
.services-heading h2 { margin:0; color:#fff; font-family:'Roboto Condensed',Arial,sans-serif; font-size:clamp(36px,5vw,58px); line-height:1.05; font-weight:800; letter-spacing:-.025em; }
.services-heading > p:last-child { max-width:790px; margin:15px auto 0; color:#c4d3e2; font-size:clamp(16px,1.55vw,19px); line-height:1.55; }
.services-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-rows:1fr; gap:20px; }
.services-categories { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin:0 0 28px; }
.services-category-tab { display:inline-flex; min-height:48px; align-items:center; justify-content:center; gap:11px; padding:10px 18px; border:1px solid #ffc40068; border-radius:8px; color:#eaf2f9; background:#082b49; font-family:'Roboto Condensed',Arial,sans-serif; font-size:16px; font-weight:800; cursor:pointer; transition:color .18s ease,background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease; }
.services-category-tab:hover { transform:translateY(-1px); border-color:#ffd735; }
.services-category-tab.is-active { border-color:#ffda33; color:#06213e; background:linear-gradient(180deg,#ffd735,#ffbe00); box-shadow:0 3px 0 #bd8700; }
.services-category-tab:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.service-card { position:relative; min-width:0; min-height:490px; display:flex; flex-direction:column; overflow:hidden; border:1px solid #ffffff1c; border-radius:13px; background:linear-gradient(155deg,#0a3153,#062442); box-shadow:0 12px 28px #0013293b; opacity:0; transform:translateY(17px); transition:opacity .38s ease,transform .3s ease,border-color .24s ease,box-shadow .24s ease; }
.is-visible .service-card { opacity:1; transform:translateY(0); }
.is-visible .service-card:nth-child(3n + 2) { transition-delay:.05s; }.is-visible .service-card:nth-child(3n) { transition-delay:.1s; }
.service-card:hover { transform:translateY(-5px); border-color:#ffc40078; box-shadow:0 18px 36px #00132966,0 0 24px #ffc40010; }
.service-photo { position:relative; height:178px; flex:0 0 178px; overflow:hidden; background:#092b4a; }
.service-photo img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.service-card:hover .service-photo img { transform:scale(1.035); }
.service-placeholder { position:relative; width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; overflow:hidden; color:#ffc400; background:radial-gradient(ellipse at 50% 115%,#104875 0,transparent 60%),linear-gradient(145deg,#082b4c,#041d36); }
.service-placeholder::before,.service-placeholder::after { content:""; position:absolute; width:175px; height:175px; border:1px solid #ffc40018; border-radius:50%; pointer-events:none; }
.service-placeholder::before { transform:scale(1.15); }.service-placeholder::after { transform:scale(1.48); }
.service-placeholder svg { position:relative; z-index:1; width:46px; height:46px; padding:9px; border:1px solid #ffc40045; border-radius:12px; background:#ffc4000d; }
.service-placeholder span { position:relative; z-index:1; color:#afc2d5; font-size:12px; letter-spacing:.04em; }
.service-card-body { flex:1; display:flex; flex-direction:column; align-items:flex-start; padding:19px 20px 18px; }
.service-number { margin:0 0 7px; color:#ffc400; font-family:'Roboto Condensed',Arial,sans-serif; font-size:12px; line-height:1; font-weight:800; letter-spacing:.16em; }
.service-card h3 { min-height:48px; margin:0 0 10px; color:#fff; font-family:'Roboto Condensed',Arial,sans-serif; font-size:clamp(19px,1.7vw,23px); line-height:1.15; font-weight:800; }
.service-description { margin:0; color:#c5d4e3; font-size:14px; line-height:1.52; }
.service-detail-button { align-self:flex-start; min-height:34px; margin-top:11px; padding:7px 10px; display:inline-flex; align-items:center; justify-content:center; gap:7px; border:1px solid #ffc40078; border-radius:6px; color:#ffda33; background:#ffc4000c; font-family:'Roboto Condensed',Arial,sans-serif; font-size:13px; line-height:1; font-weight:800; text-decoration:none; transition:color .18s ease,background .18s ease,border-color .18s ease,transform .18s ease; }
.service-detail-button svg { width:15px; height:15px; }
.service-detail-button:hover { transform:translateY(-1px); border-color:#ffda33; color:#06213e; background:#ffda33; }
.service-detail-button:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.service-actions { width:100%; display:grid; grid-template-columns:1fr; gap:9px; margin-top:auto; padding-top:17px; }
.service-order-button { position:relative; z-index:3; min-height:43px; padding:10px 11px; display:flex; align-items:center; justify-content:center; gap:7px; border:1px solid #ffc4009c; border-radius:7px; font-family:'Roboto Condensed',Arial,sans-serif; font-size:14px; line-height:1.05; font-weight:800; text-align:center; text-decoration:none; cursor:pointer; transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease,filter .18s ease; }
.service-order-button { border-color:#ffda33; background:linear-gradient(180deg,#ffd735,#ffbe00); color:#06213e; box-shadow:0 3px 0 #bd8700; }.service-order-button:hover { transform:translateY(-2px); filter:brightness(1.05); }
.service-order-button svg,.services-help-button svg { flex:0 0 auto; width:17px; height:17px; }
.service-order-button:focus-visible,.services-help-button:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.services-pagination { display:flex; align-items:center; justify-content:center; gap:17px; margin:28px auto 0; }
.services-page-button { display:inline-flex; min-width:120px; min-height:44px; align-items:center; justify-content:center; gap:8px; padding:9px 14px; border:1px solid #ffda33; border-radius:7px; color:#06213e; background:linear-gradient(180deg,#ffd735,#ffbe00); box-shadow:0 3px 0 #bd8700; font-family:'Roboto Condensed',Arial,sans-serif; font-size:15px; font-weight:800; cursor:pointer; transition:transform .18s ease,filter .18s ease,opacity .18s ease; }
.services-page-button:hover:not(:disabled) { transform:translateY(-2px); filter:brightness(1.05); }
.services-page-button:disabled { opacity:.42; cursor:not-allowed; box-shadow:none; }
.services-page-button svg { width:18px; height:18px; flex:0 0 auto; }
.services-page-button:focus-visible { outline:2px solid #fff; outline-offset:4px; }
.services-page-indicator { min-width:52px; color:#e5edf5; font-size:14px; font-weight:800; text-align:center; font-variant-numeric:tabular-nums; }
.services-grid { scroll-margin-top:96px; }
.services-help { display:flex; align-items:center; justify-content:space-between; gap:26px; margin-top:36px; padding:24px 28px; border:1px solid #ffc40045; border-radius:13px; background:linear-gradient(100deg,#092e4f,#0a365c); box-shadow:0 12px 28px #00132938; }
.services-help h3 { margin:0 0 5px; color:#fff; font-family:'Roboto Condensed',Arial,sans-serif; font-size:clamp(21px,2.4vw,28px); line-height:1.15; font-weight:800; }
.services-help p { max-width:720px; margin:0; color:#c9d7e4; font-size:15px; line-height:1.5; }
.services-help-button { flex:0 0 auto; min-height:48px; padding:12px 17px; display:inline-flex; align-items:center; justify-content:center; gap:10px; border:1px solid #ffda33; border-radius:8px; background:linear-gradient(180deg,#ffd735,#ffbe00); color:#06213e; text-decoration:none; font-family:'Roboto Condensed',Arial,sans-serif; font-size:15px; font-weight:800; box-shadow:0 4px 0 #bd8700; transition:transform .18s ease,filter .18s ease; }
.services-help-button:hover { transform:translateY(-2px); filter:brightness(1.05); }
@media (max-width:980px) { .services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }.service-card { min-height:470px; }.service-card h3 { font-size:22px; } }
@media (max-width:620px) { .services-section { padding:64px 17px 68px; }.services-heading { margin-bottom:24px; }.services-heading h2 { font-size:38px; }.services-heading > p:last-child { font-size:15px; }.services-categories { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:20px; }.services-category-tab { min-height:46px; gap:7px; padding:9px 8px; font-size:14px; }.services-grid { grid-template-columns:1fr; gap:14px; }.service-card { min-height:455px; }.service-photo { height:190px; flex-basis:190px; }.service-card-body { padding:19px 19px 17px; }.service-card h3 { min-height:0; font-size:22px; }.service-order-button { min-height:45px; font-size:15px; }.services-pagination { gap:10px; margin-top:22px; }.services-page-button { min-width:105px; min-height:42px; padding:8px 10px; font-size:14px; }.services-help { align-items:stretch; flex-direction:column; gap:17px; margin-top:26px; padding:21px; }.services-help-button { width:100%; min-height:48px; } }
@media (prefers-reduced-motion:reduce) { .service-card,.service-photo img,.service-placeholder svg,.service-order-button,.service-detail-button,.services-help-button,.services-page-button { transition:none!important; }.service-card { opacity:1; transform:none; } }
