/* DCAST FINAL PREMIUM POLISH */
:root{
  --dcast-navy:#0b1f40;
  --dcast-navy-2:#07172f;
  --dcast-green:#0aa466;
  --dcast-green-soft:#dff4eb;
  --dcast-ink:#111827;
  --dcast-muted:#667085;
  --dcast-line:#e7ecf2;
  --dcast-shell:1380px;
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
img{image-rendering:auto}

/* ---------- Canonical navigation ---------- */
.navwrap{top:16px!important;padding:0 18px!important}
.island{
  width:min(var(--dcast-shell),calc(100vw - 36px))!important;
  max-width:var(--dcast-shell)!important;
  min-height:72px;
  padding:8px 10px 8px 22px!important;
  gap:9px!important;
  background:rgba(255,255,255,.96)!important;
  border:1px solid rgba(10,31,64,.07)!important;
  box-shadow:0 16px 45px rgba(10,31,64,.13)!important;
  backdrop-filter:blur(18px) saturate(145%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(145%)!important;
}
.brand{gap:10px!important;min-width:260px}
.brand img{width:36px!important;height:44px!important;object-fit:contain!important}
.brand-name{line-height:1.02!important;letter-spacing:.01em!important}
.island>a:not(.brand):not(.btn){
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 15px;
  border-radius:999px;
  color:#172033;
  font-weight:600;
  text-decoration:none;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.island>a:not(.brand):not(.btn):hover{background:#f2f7f5;color:#078657;transform:translateY(-1px)}
.island>a.active:not(.brand){background:var(--dcast-green-soft)!important;color:#078657!important}
.island .cta-btn{margin:0 0 0 8px!important;min-height:52px!important;padding:0 27px!important;font-size:.95rem!important;box-shadow:0 10px 24px rgba(10,164,102,.17)}
.btn,.sys-btn{font-weight:700!important;letter-spacing:.01em!important}
.btn-green,.sys-btn-primary{background:var(--dcast-green)!important}
.btn-green:hover,.sys-btn-primary:hover{background:#078b57!important}

/* ---------- Shared About/Guarding/Why hero ---------- */
.dcast-about-v1-hero{min-height:570px!important;margin-bottom:0!important}
.dcast-about-v1-photo{transform:scale(1.01)}
.dcast-about-v1-overlay{background:linear-gradient(90deg,rgba(6,20,47,.86) 0%,rgba(8,27,55,.66) 44%,rgba(8,27,55,.40) 100%)!important}
.dcast-about-v1-content{max-width:1100px!important;padding-left:clamp(24px,6vw,96px)!important;padding-right:clamp(24px,6vw,96px)!important}
.dcast-about-v1-content h1{max-width:980px;letter-spacing:-.045em!important;text-wrap:balance}
.dcast-about-v1-eyebrow{letter-spacing:.19em!important}

/* ---------- Typography & vertical rhythm ---------- */
section{scroll-margin-top:100px}
.dcast-about-v1-foundations,.gp-services-section,.gp-sectors-section,.gp-strengths-section,.why,.about{padding-top:88px!important;padding-bottom:88px!important}
.gp-section-head,.gp-section-head-light{max-width:820px;margin-left:auto!important;margin-right:auto!important}
.gp-section-head h2,.gp-section-head-light h2,.why h2,.about h2{letter-spacing:-.035em!important;text-wrap:balance}

/* ---------- Guarding ---------- */
.gp-service-card,.gp-strength-card{
  border-radius:18px!important;
  overflow:hidden;
  border:1px solid rgba(10,31,64,.08)!important;
  box-shadow:0 8px 24px rgba(10,31,64,.07)!important;
  transition:transform .28s ease,box-shadow .28s ease!important;
}
.gp-service-card:hover,.gp-strength-card:hover{transform:translateY(-6px);box-shadow:0 20px 42px rgba(10,31,64,.13)!important}
.gp-service-card img{transition:transform .45s ease!important}
.gp-service-card:hover img{transform:scale(1.035)}

/* ---------- Systems: premium catalogue ---------- */
.systems-showcase-page{background:#fff!important}
.sys-container{width:min(1280px,calc(100% - 56px))!important}
.sys-hero{background:linear-gradient(135deg,#07172f,#0a2d54)!important}
.sys-hero-grid{min-height:650px!important}
.sys-hero-copy{padding-top:96px!important;padding-bottom:64px!important}
.sys-hero-title{letter-spacing:-.055em!important;text-wrap:balance}
.sys-hero-copy .sys-copy{font-size:1.02rem!important;max-width:560px!important;color:#d1dae8!important}
.sys-feature-strip{gap:22px!important}
.sys-feature{padding:10px 0}
.sys-section{padding:104px 0!important;background:linear-gradient(180deg,#fff 0%,#fbfcfe 100%)}
.sys-section-head{margin-bottom:54px!important}
.sys-section-head .sys-copy{max-width:650px;margin-left:auto!important;margin-right:auto!important}
.sys-card-grid{gap:24px!important}
.sys-card{
  border-radius:18px!important;
  border:1px solid rgba(10,31,64,.08)!important;
  box-shadow:0 10px 28px rgba(10,31,64,.07)!important;
}
.sys-card:hover{transform:translateY(-7px)!important;box-shadow:0 23px 48px rgba(10,31,64,.14)!important}
.sys-card-media{height:178px!important;background:#eef2f6!important}
.sys-card-body{padding:36px 20px 25px!important}
.sys-card h3{font-size:1.02rem!important;letter-spacing:-.015em}
.sys-card p{font-size:.84rem!important;line-height:1.65!important}
.sys-trust{padding:8px 0 100px!important;background:#fbfcfe}
.sys-trust-panel{border-radius:26px!important;box-shadow:0 26px 64px rgba(5,25,56,.2)!important}
.sys-industries{padding:96px 0!important;background:#f4f7fa!important}
.sys-industry{border-radius:16px!important;transition:transform .25s ease,box-shadow .25s ease}
.sys-industry:hover{transform:translateY(-5px);box-shadow:0 16px 34px rgba(10,31,64,.10)!important}
.sys-industry-media{height:116px!important}
.sys-cta{padding:104px 0!important}

/* ---------- About / Why cards ---------- */
.dcast-about-v1-card{
  border-radius:18px!important;
  border:1px solid rgba(10,31,64,.08)!important;
  box-shadow:0 8px 26px rgba(10,31,64,.06)!important;
  transition:transform .25s ease,box-shadow .25s ease!important;
}
.dcast-about-v1-card:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(10,31,64,.11)!important}
.why-grid>*{border-radius:18px!important;box-shadow:0 8px 25px rgba(10,31,64,.06)}

/* ---------- Contact ---------- */
.dcast-premium-contact-page{padding-top:128px!important;padding-bottom:96px!important;background:linear-gradient(180deg,#f8fafc 0%,#fff 100%)!important}
.dcast-premium-contact-shell{width:min(1240px,calc(100% - 48px))!important}
.dcast-contact-heading{letter-spacing:-.045em!important;text-wrap:balance}
.dcast-contact-form-card{border-radius:24px!important;box-shadow:0 24px 60px rgba(10,31,64,.11)!important;border:1px solid rgba(10,31,64,.08)!important}
.dcast-contact-field input,.dcast-contact-field select,.dcast-contact-field textarea{border-radius:12px!important;transition:border-color .2s ease,box-shadow .2s ease!important}
.dcast-contact-field input:focus,.dcast-contact-field select:focus,.dcast-contact-field textarea:focus{border-color:rgba(10,164,102,.7)!important;box-shadow:0 0 0 4px rgba(10,164,102,.1)!important;outline:none!important}

/* ---------- Footer ---------- */
footer{background:#07172f!important}
.foot-grid{width:min(1280px,calc(100% - 48px));margin:0 auto!important;padding-top:64px!important;gap:42px!important}
.foot-grid h4{letter-spacing:.12em!important}
.foot-grid a{transition:color .2s ease,transform .2s ease}
.foot-grid a:hover{color:#fff!important}
.foot-bottom{border-top:1px solid rgba(255,255,255,.08)!important}

/* ---------- Mobile / tablet ---------- */
@media(max-width:1100px){
  .island{width:min(960px,calc(100vw - 28px))!important}
  .brand{min-width:auto}
  .island>a:not(.brand):not(.btn){padding:0 10px}
  .sys-card-grid{grid-template-columns:repeat(3,1fr)!important}
  .sys-card-grid.second{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:820px){
  .navwrap{top:10px!important;padding:0 10px!important}
  .island{width:calc(100vw - 20px)!important;min-height:62px;padding:6px 8px 6px 14px!important}
  .brand img{width:31px!important;height:38px!important}
  .brand-name{font-size:.88rem!important}
  .island>a:not(.brand),.island>.cta-btn{display:none!important}
  .burger{display:flex!important}
  .dcast-about-v1-hero{min-height:510px!important}
  .dcast-about-v1-content{padding-left:24px!important;padding-right:24px!important}
  .dcast-about-v1-content h1{font-size:clamp(2.8rem,11vw,4.7rem)!important;line-height:.98!important}
  .sys-container{width:min(100% - 30px,1280px)!important}
  .sys-hero-grid{grid-template-columns:1fr!important;min-height:auto!important}
  .sys-hero-copy{padding:92px 0 46px!important}
  .sys-hero-visual{min-height:430px!important;clip-path:none!important}
  .sys-card-grid,.sys-card-grid.second{grid-template-columns:repeat(2,1fr)!important}
  .sys-card-media{height:190px!important}
  .sys-trust-grid{grid-template-columns:repeat(2,1fr)!important}
  .sys-industries-grid{grid-template-columns:repeat(3,1fr)!important}
  .dcast-premium-contact-page{padding-top:100px!important}
  .dcast-premium-contact-shell{width:min(100% - 28px,1240px)!important}
  .foot-grid{width:min(100% - 30px,1280px)!important;grid-template-columns:1fr 1fr!important}
}
@media(max-width:560px){
  .island{border-radius:24px!important}
  .dcast-about-v1-hero{min-height:475px!important}
  .dcast-about-v1-content h1{font-size:clamp(2.45rem,13vw,3.8rem)!important}
  .sys-hero-title{font-size:clamp(2.7rem,14vw,4.2rem)!important}
  .sys-feature-strip{grid-template-columns:1fr 1fr!important;gap:14px!important}
  .sys-card-grid,.sys-card-grid.second{grid-template-columns:1fr!important}
  .sys-card-media{height:230px!important}
  .sys-trust-grid{grid-template-columns:1fr!important}
  .sys-industries-grid{grid-template-columns:1fr 1fr!important}
  .sys-cta-inner{align-items:stretch!important}
  .sys-cta-actions{width:100%!important;flex-direction:column!important}
  .sys-cta-actions .sys-btn{width:100%!important}
  .foot-grid{grid-template-columns:1fr!important;gap:30px!important;padding-top:48px!important}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
