:root{--blue:#08a9df;--blue2:#286f9f;--navy:#12161b;--ink:#171b20;--muted:#6a737c;--line:#e9edf1;--soft:#f6f9fb;--max:1440px;--shadow:0 18px 55px rgba(12,24,36,.11)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.72}img{display:block;max-width:100%}a{text-decoration:none;color:inherit}button,input,textarea{font:inherit}.container{width:min(calc(100% - 96px),var(--max));margin:auto}
.topbar{height:38px;background:#28658f;color:#fff;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700}.header{height:128px;background:#fff;border-bottom:1px solid #e8edf1;position:relative;z-index:30}.nav{height:100%;display:grid;grid-template-columns:150px 1fr 360px;align-items:center;gap:45px}.logo{width:100px;height:100px;object-fit:contain}.navlinks{display:flex;justify-content:center;gap:54px;font-size:15px;font-weight:700}.navlinks a{padding:50px 0;position:relative}.navlinks a:hover,.navlinks a.active{color:var(--blue)}.navlinks a.active:after{content:"";position:absolute;left:0;right:0;bottom:38px;height:3px;background:var(--blue)}.phone{font-size:13px;font-weight:700;padding-left:18px;line-height:1.5}.phone:before{content:"☎";float:left;color:var(--blue);font-size:30px;margin-right:13px}.phone span{display:block;color:#3e474f;margin-top:3px}.hamb{display:none}
.hero{height:650px;position:relative;overflow:hidden;background:#111}.slides,.slide{position:absolute;inset:0}.slide{opacity:0;background-size:cover;background-position:center;transition:opacity 1s}.slide.active{opacity:1}.slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.5) 52%,rgba(0,0,0,.16))}.hero-content{height:100%;display:flex;align-items:center;position:relative;z-index:2}.hero-copy{max-width:900px;padding-left:28px;color:#fff}.eyebrow{font-size:16px;color:var(--blue);font-weight:700}.hero .eyebrow{color:#fff}.hero h1{font-size:clamp(55px,5.4vw,84px);line-height:1.03;letter-spacing:-1.6px;margin:12px 0 22px}.hero p{font-size:19px;max-width:760px;color:#eef4f7;margin:0 0 30px}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;background:var(--blue);color:#fff;border-radius:5px;padding:15px 32px;font-size:15px;font-weight:700;cursor:pointer;transition:.25s}.btn:hover{transform:translateY(-3px);box-shadow:0 12px 28px #08a9df55}.slider-dots{position:absolute;z-index:4;bottom:35px;left:50%;transform:translateX(-50%);display:flex;gap:11px}.slider-dots button{width:12px;height:12px;border:0;border-radius:50%;background:#fff8}.slider-dots button.active{background:var(--blue);transform:scale(1.25)}
.ticker{height:76px;background:#2879bf;color:#fff;overflow:hidden;white-space:nowrap;display:flex;align-items:center}.ticker-track{display:flex;width:max-content;animation:marquee 30s linear infinite}.ticker span{padding:0 62px;font-size:17px;font-weight:700}@keyframes marquee{to{transform:translateX(-50%)}}
section{padding:125px 0}.intro{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:center}.image-stack{position:relative;min-height:535px}.image-stack .main{width:76%;height:490px;object-fit:cover;border-radius:9px}.image-stack .small{position:absolute;right:0;bottom:0;width:42%;height:305px;object-fit:cover;border:10px solid #fff;border-radius:9px;box-shadow:var(--shadow)}.experience{position:absolute;left:22%;bottom:-36px;background:#edf2f4;padding:19px 38px;border-radius:8px;text-align:center;box-shadow:var(--shadow)}.experience b{display:block;font-size:45px;line-height:1}.experience small{font-size:14px;color:#5d6770}.intro h2,h2{font-size:clamp(40px,4vw,62px);line-height:1.08;letter-spacing:-1px;margin:9px 0 24px}.lead{font-size:16px;color:var(--muted);line-height:1.9}.intro .lead{max-width:700px}.service-intro{text-align:center;max-width:920px;margin:0 auto 70px}.service-intro h2{margin:9px auto 18px}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.service-card{background:#fff;border-top:3px solid var(--blue);border-radius:2px;overflow:hidden;box-shadow:0 16px 48px rgba(17,28,39,.12);transition:.3s;display:flex;flex-direction:column;min-height:585px}.service-card:hover{transform:translateY(-9px);box-shadow:0 25px 60px rgba(17,28,39,.17)}.service-card .body{padding:27px 25px 19px;flex:1}.service-card .icon{width:58px;height:58px;border-radius:5px;background:#161a20;color:#fff;display:grid;place-items:center;font-size:25px;margin-bottom:18px}.service-card h3{font-size:20px;line-height:1.25;margin:0 0 14px}.service-card p,.service-card li{font-size:14px;color:#5d6770}.service-card ul{padding-left:20px;margin:13px 0}.service-card li{margin:7px 0}.service-card img{width:100%;height:250px;object-fit:cover;margin-top:auto}
.light-section{background:#f9fbfc}.dark-section,.about-services{background:#15181d;color:#fff;position:relative;overflow:hidden}.dark-section:before,.about-services:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(9,169,224,.10),transparent 35%)}.trust{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center;position:relative}.trust h2{font-size:57px}.trust p{color:#d2d8de;font-size:16px}.trust img{width:100%;height:500px;object-fit:cover}.checks{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:38px}.check{display:flex;gap:15px;align-items:center}.check i{width:52px;height:52px;background:var(--blue);border-radius:6px;display:grid;place-items:center;font-style:normal;font-size:22px;flex:none}.check b{font-size:15px}.testimonials{background:#fff;padding:125px 0}.testimonial-wrap{display:grid;grid-template-columns:340px 1fr;gap:75px;align-items:center}.testimonial-wrap>div:first-child h2{font-size:52px}.testi-viewport{overflow:hidden;padding:10px 5px 28px}.testi-track{display:flex;gap:28px;transition:transform .55s ease}.testi-card{min-width:calc(33.333% - 19px);padding:30px;background:#fff;border:1px solid #f0f2f4;box-shadow:0 15px 45px rgba(17,28,39,.08);border-radius:7px}.avatar{width:62px;height:62px;border-radius:50%;object-fit:cover;border:1px solid #d8dde2}.stars{color:var(--blue);letter-spacing:3px;font-size:16px;margin:8px 0}.testi-card p{font-size:14px;color:#68727b;min-height:95px}.testi-card b{display:block;font-size:15px}.testi-card small{font-size:12px;color:#8b939a}.arrow-row{display:flex;gap:12px;margin-top:28px}.arrow{width:48px;height:48px;border-radius:50%;border:1px solid #e2e7eb;background:#fff;cursor:pointer;box-shadow:0 5px 15px #00000010}.arrow:hover{background:var(--blue);color:#fff}
.cta{background:#0e1218 url('assets/caspca.net/cta_bg-scaled-1.jpeg') center/cover;color:#fff;position:relative}.cta:before{content:"";position:absolute;inset:0;background:rgba(7,10,14,.20)}.cta-grid,.contact-main-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:center}.contact-main-grid>.contact-person{grid-column:2;grid-row:1;z-index:3;pointer-events:none}.contact-main-grid>.contact-form{grid-column:2;grid-row:1;z-index:2}.cta h2{font-size:58px}.contact-list{display:grid;gap:29px;margin-top:38px}.contact-item{display:flex;gap:18px;align-items:center}.contact-icon{width:62px;height:62px;background:var(--blue);border-radius:6px;display:grid;place-items:center;font-size:26px;flex:none}.contact-item b{display:block;color:var(--blue);font-size:14px}.contact-item span{display:block;color:#fff;font-size:15px;max-width:540px}.contact-form{background:#fff;color:var(--ink);padding:46px;border-radius:12px;box-shadow:0 25px 70px #0005}.contact-form h3{font-size:39px;margin:0 0 22px}.contact-form input,.contact-form textarea{width:100%;padding:17px;border:1px solid #e2e7eb;background:#f6f8fa;border-radius:4px;margin-bottom:15px}.contact-form textarea{min-height:170px;resize:vertical}.contact-person{position:relative;min-height:530px;display:flex;align-items:flex-end;justify-content:flex-end}.contact-person img{width:430px;max-height:600px;object-fit:contain;filter:drop-shadow(0 20px 30px #0005);margin-right:-20px}.map-wrap{padding-top:0}.map-large{width:100%;height:540px;object-fit:cover;border:1px solid #e0e3e6}.footer{background:#15181d url('assets/caspca.net/footer_bg-2.jpeg') center/cover;color:#fff;padding:62px 0 24px}.footer-grid{display:grid;grid-template-columns:1.15fr .8fr 1.15fr;gap:80px}.footer h3{font-size:18px;margin:8px 0 17px}.footer p,.footer a{font-size:13px;color:#c7cdd4}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:17px}.footer-logo{width:90px;margin:0 auto 22px}.map{width:100%;height:250px;object-fit:cover}.copyright{text-align:center;border-top:1px solid #2b3036;margin-top:45px;padding-top:19px;font-size:11px;color:#aeb5bc}.floating-chat{position:fixed;right:26px;bottom:26px;width:60px;height:60px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:27px;z-index:60;box-shadow:0 10px 30px #0005}
.page-hero{height:500px;background:center/cover url('assets/caspca.net/1-1.png');position:relative;display:flex;align-items:flex-end}.page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.76),rgba(0,0,0,.52),rgba(0,0,0,.34))}.page-hero .container{position:relative;z-index:1;padding-bottom:78px}.page-hero h1{color:#fff;font-size:64px;line-height:1;margin:0;font-weight:800}
.about-intro{padding-top:120px}.about-people{display:grid;gap:105px}.person{display:grid;grid-template-columns:1fr 410px;gap:90px;align-items:center}.person:nth-child(even){grid-template-columns:410px 1fr}.person:nth-child(even) img{grid-column:1;grid-row:1}.person:nth-child(even) .person-copy{grid-column:2;grid-row:1}.person img{width:410px;height:410px;object-fit:cover;border-radius:9px;box-shadow:var(--shadow)}.person:nth-child(2) img{object-fit:contain;background:#fff}.person h3{font-size:31px;line-height:1.2;margin:0 0 17px}.person ul{padding-left:20px;color:#6b747c;font-size:14px;columns:2;column-gap:40px}.about-dark-heading{text-align:center;max-width:850px;margin:0 auto 65px;position:relative}.about-dark-heading h2{font-size:54px}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:85px;text-align:center}.process-item img{width:190px;height:190px;border-radius:50%;object-fit:cover;padding:8px;border:1px solid #cbdce6;margin:0 auto 27px}.process-item b{font-size:18px}.process-item p{font-size:14px;max-width:260px;margin:10px auto;color:#6c747b}.about-services .service-card{min-height:575px}.about-services .service-card h3{color:var(--ink)}
.service-list-page{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.service-detail{background:#fff;border-top:3px solid var(--blue);box-shadow:var(--shadow);padding:0 25px 25px;display:flex;flex-direction:column;min-height:650px;border-radius:4px;overflow:hidden}.service-detail img{width:calc(100% + 50px);height:255px;object-fit:cover;margin:0 -25px 24px}.service-detail h3{font-size:21px;line-height:1.25;margin:0 0 13px}.service-detail p,.service-detail li{font-size:14px;color:#626c75}.service-detail ol{padding-left:22px;margin-top:14px}.service-detail li{margin:7px 0}.contact-main{padding-bottom:110px}.contact-map{padding-top:0;padding-bottom:115px}.contact-map .container{width:min(calc(100% - 96px),var(--max))}.contact-map img{width:100%;height:560px;object-fit:cover;box-shadow:var(--shadow)}
.reveal{opacity:0;transform:translateY(24px);transition:.7s ease}.reveal.show{opacity:1;transform:none}
@media(max-width:1100px){.container{width:min(calc(100% - 48px),var(--max))}.nav{grid-template-columns:100px 1fr 250px;gap:20px}.navlinks{gap:25px}.services-grid,.service-list-page{grid-template-columns:repeat(2,1fr)}.person,.person:nth-child(even){grid-template-columns:1fr 320px;gap:45px}.person:nth-child(even) .person-copy{grid-column:1}.person:nth-child(even) img{grid-column:2}.person img{width:320px;height:320px}.testimonial-wrap{grid-template-columns:1fr;gap:40px}.testi-card{min-width:calc(50% - 14px)}.cta-grid,.contact-main-grid,.intro,.trust{gap:50px}.contact-person img{width:360px}}
@media(max-width:760px){.topbar{height:32px;font-size:11px}.header{height:82px}.nav{grid-template-columns:75px 1fr;gap:10px}.logo{width:70px;height:70px}.navlinks{display:none}.phone{display:none}.hamb{display:block;justify-self:end;border:0;background:none;font-size:27px;color:var(--ink)}.hero{height:530px}.hero-copy{padding-left:0}.hero h1{font-size:47px}.hero p{font-size:16px}.ticker{height:62px}.ticker span{font-size:13px;padding:0 35px}section{padding:80px 0}.intro,.trust,.cta-grid,.contact-main-grid{grid-template-columns:1fr}.image-stack{min-height:430px}.image-stack .main{height:390px}.image-stack .small{height:220px}.intro h2,h2{font-size:40px}.services-grid,.service-list-page{grid-template-columns:1fr}.service-card,.service-detail{min-height:auto}.service-card img{height:230px}.trust img{height:350px}.checks{grid-template-columns:1fr}.testimonial-wrap{grid-template-columns:1fr}.testi-card{min-width:100%}.cta h2{font-size:42px}.contact-main-grid>.contact-person{grid-column:1;grid-row:1;min-height:350px;order:-1}.contact-main-grid>.contact-form{grid-column:1;grid-row:2}.contact-person img{width:280px;margin:auto}.page-hero{height:360px}.page-hero h1{font-size:46px}.about-people{gap:70px}.person,.person:nth-child(even){grid-template-columns:1fr;gap:30px}.person:nth-child(even) img,.person:nth-child(even) .person-copy{grid-column:auto;grid-row:auto}.person img{width:100%;height:360px}.person ul{columns:1}.process{grid-template-columns:1fr;gap:55px}.about-dark-heading h2{font-size:42px}.contact-form{padding:30px}.contact-map img{height:420px}.footer-grid{grid-template-columns:1fr;gap:35px}.footer-logo{margin:0 0 20px}.map{height:260px}}

/* Final large desktop polish */
.home-contact{padding:135px 0 105px}.home-contact-visual{position:relative;min-height:610px}.home-contact-visual .contact-person{position:absolute;right:-10px;bottom:-2px;width:52%;min-height:520px;z-index:3}.home-contact-visual .contact-person img{width:100%;max-height:610px}.home-contact-visual .contact-form{position:absolute;left:0;top:55px;width:76%;z-index:2;padding:42px 38px}.home-contact-visual .contact-form h3{font-size:42px}.home-map{padding:0 0 125px;background:#fff}.home-map .map-large{height:500px;border:0;box-shadow:var(--shadow)}
.testimonials .testi-viewport{padding:18px 8px 35px}.testi-card{min-height:315px}.testi-card p{line-height:1.8}
.page-hero{background-image:url('assets/caspca.net/3-7.png');background-position:center 42%}
@media(max-width:1100px){.home-contact-visual{min-height:560px}.home-contact-visual .contact-form{width:72%}.home-contact-visual .contact-person{width:52%}}
@media(max-width:760px){.home-contact{padding:85px 0 70px}.home-contact-visual{min-height:auto;display:flex;flex-direction:column}.home-contact-visual .contact-person{position:relative;right:auto;bottom:auto;width:100%;min-height:330px;order:0}.home-contact-visual .contact-person img{width:300px;margin:0 auto}.home-contact-visual .contact-form{position:relative;left:auto;top:auto;width:100%;order:1;padding:30px}.home-map{padding-bottom:80px}.home-map .map-large{height:360px}.page-hero{height:430px}}


/* Final presentation pass: spacious real-website scale + testimonial slider polish */
@media(min-width:1101px){
  .container{width:min(calc(100% - 120px),1320px)}
  section{padding:135px 0}
  .header{height:116px}.logo{width:92px;height:92px}
  .nav{grid-template-columns:130px 1fr 300px;min-height:116px}
  .navlinks{gap:38px}.navlinks a{font-size:14px}
  .phone{font-size:13px}.phone span{font-size:13px}
  .hero{height:720px}.hero h1{font-size:72px}.hero p{font-size:19px;max-width:720px}
  .page-hero{height:560px}.page-hero h1{font-size:72px}
  .intro{gap:100px}.intro h2{font-size:58px}.lead{font-size:16px;line-height:1.9}
  .services-grid{gap:28px}.service-card{min-height:600px}.service-card h3{font-size:22px}.service-card p,.service-card li{font-size:14px}
  .service-list-page{gap:34px}.service-detail{min-height:700px;padding:0 30px 30px}.service-detail img{width:calc(100% + 60px);height:290px;margin:0 -30px 28px}
  .testimonials{padding:135px 0}.testimonial-wrap{grid-template-columns:360px 1fr;gap:85px}.testimonial-wrap>div:first-child h2{font-size:58px}.testi-card{min-height:340px;padding:32px}.testi-card p{font-size:15px;line-height:1.75}
  .cta h2{font-size:64px}.home-contact-visual{min-height:680px}.home-contact-visual .contact-form{top:65px;padding:48px;width:75%}.home-contact-visual .contact-person{min-height:610px}
  .home-map .map-large{height:560px}
  .contact-map img{height:600px}
}
.testi-viewport{scroll-behavior:smooth}
.testi-card{flex:0 0 auto}
@media(max-width:760px){.testi-card{min-height:320px}.testi-card p{min-height:unset}.contact-map{padding-top:0}}
