
:root{
  --apdc-v2-navy:#08142E;
  --apdc-v2-navy2:#11204A;
  --apdc-v2-blue:#167FD5;
  --apdc-v2-cyan:#42D4F5;
  --apdc-v2-violet:#563BC4;
  --apdc-v2-light:#F3F7FC;
  --apdc-v2-text:#0B1738;
  --apdc-v2-muted:#52627A;
  --apdc-v2-line:#D9E3EF;
}

/* Global, avoids horizontal overflow without destroying tablet grids */
html,body{max-width:100%;overflow-x:hidden}
.site-main,.elementor,.elementor-page{max-width:100%;overflow-x:clip}
.apdc-v2-inner,.apdc-v2-inner *{box-sizing:border-box}
.apdc-v2-inner .e-con{min-width:0}
.apdc-v2-inner .elementor-widget-heading,
.apdc-v2-inner .elementor-widget-text-editor{min-width:0}
.apdc-v2-inner h1,.apdc-v2-inner h2,.apdc-v2-inner h3,.apdc-v2-inner p,
.apdc-v2-inner li,.apdc-footer-grid *{overflow-wrap:anywhere}

/* Header / palette */
.apdc-site-header{
  background:linear-gradient(110deg,#071127 0%,#0E2148 62%,#27175B 100%)!important;
  border-bottom:1px solid rgba(103,210,245,.16)!important;
}
.apdc-nav a{color:#DDEAF5!important}
.apdc-nav a:hover{color:#6EDCF7!important}
.apdc-header-cta{
  background:linear-gradient(135deg,#118BDD,#5940C8)!important;
  border:0!important;
  box-shadow:0 7px 20px rgba(22,127,213,.22);
}
.apdc-header-cta:hover{filter:brightness(1.08)}
.apdc-brand img.custom-logo{object-fit:contain!important}

/* Generic V2 */
.apdc-v2-inner{max-width:1120px!important;margin-left:auto!important;margin-right:auto!important}
.apdc-v2-eyebrow p{letter-spacing:.15em;font-weight:800;margin:0!important}
.apdc-v2-card{
  box-shadow:0 7px 24px rgba(25,52,91,.055);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.apdc-v2-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(25,52,91,.10);border-color:#BCD8EE!important}
.apdc-v2-card-dark{background:rgba(255,255,255,.96)!important}
.apdc-v2-card .elementor-button{font-size:13px!important}
.apdc-v2-stat{box-shadow:0 6px 20px rgba(24,57,96,.05)}
.apdc-v2-list{margin:0;padding-left:1.15em}
.apdc-v2-list li{margin:.42em 0}
.apdc-v2-gradient-dark{
  background:
    radial-gradient(circle at 90% 15%,rgba(75,213,245,.14),transparent 33%),
    linear-gradient(125deg,#08142E 0%,#14295B 64%,#301F70 100%)!important;
}
.apdc-v2-newsletter{
  background:
    radial-gradient(circle at 15% 0%,rgba(66,212,245,.16),transparent 28%),
    linear-gradient(120deg,#173A77 0%,#294B9A 52%,#5034AF 100%)!important;
}
.apdc-v2-section-light{background:linear-gradient(180deg,#F7FAFD 0%,#EEF5FB 100%)!important}
.apdc-v2-actions{align-items:center}
.apdc-v2-actions .elementor-button{white-space:normal}
.apdc-v2-form-card{padding:22px!important;border:1px solid var(--apdc-v2-line);border-radius:14px;background:#F9FBFE}
.apdc-v2-form-placeholder{
  border-color:rgba(73,114,153,.35)!important;
  background:rgba(255,255,255,.10)!important;
  min-height:105px!important;
}
.apdc-v2-form-placeholder.light{background:#fff!important}
.apdc-v2-cert-row{display:flex;flex-wrap:wrap;gap:8px}
.apdc-v2-cert-row span{
  border:1px solid #C9DBE9;background:#fff;border-radius:999px;padding:7px 11px;
  font:700 11px/1 Montserrat,Arial,sans-serif;color:#21446E;letter-spacing:.04em
}

/* Placeholders for future photography */
.apdc-photo-placeholder{
  min-height:255px;border-radius:16px;border:1px dashed #8CB6D4;
  background:
    linear-gradient(135deg,rgba(22,127,213,.10),rgba(86,59,196,.11)),
    repeating-linear-gradient(135deg,transparent 0 16px,rgba(255,255,255,.33) 16px 17px);
  display:flex;flex-direction:column;justify-content:center;align-items:center;
  text-align:center;padding:24px;color:#244565;
}
.apdc-photo-placeholder-icon{font-size:36px;line-height:1;margin-bottom:10px;color:#167FD5}
.apdc-photo-placeholder strong{font:800 13px/1.25 Montserrat,Arial,sans-serif;letter-spacing:.06em}
.apdc-photo-placeholder span{font:500 12px/1.45 Inter,Arial,sans-serif;color:#66829B;margin-top:6px;max-width:300px}
.apdc-v2-visual-band .apdc-photo-placeholder{min-height:190px}
.apdc-team-photo-placeholder{
  height:185px;border-radius:13px;border:1px dashed #9CB9CF;
  background:linear-gradient(135deg,#EAF5FC,#EEF0FA);
  display:grid;place-items:center;color:#66829B;font:800 12px Montserrat,Arial,sans-serif;letter-spacing:.08em
}
.apdc-v2-team-card{min-width:0}
.apdc-v2-team-card .elementor-widget-heading{margin-top:2px}

/* Buttons use logo-inspired gradient */
.apdc-v2-hero .elementor-button,
.apdc-v2-newsletter .elementor-button,
.apdc-v2-inner .elementor-button{
  transition:transform .18s ease,filter .18s ease,box-shadow .18s ease;
}
.apdc-v2-inner .elementor-button:hover{transform:translateY(-1px);filter:brightness(1.03)}
.apdc-v2-hero .elementor-widget-button:not(:last-child) .elementor-button,
.apdc-v2-inner .apdc-card-link .elementor-button{}

/* Archive news */
.apdc-blog-wrap{max-width:1120px!important;padding:58px 22px!important}
.apdc-blog-title{color:#0B1738!important}
.apdc-blog-intro{color:#52627A!important}
.apdc-post-grid{gap:18px!important}
.apdc-post-card{border-color:#D9E3EF!important;box-shadow:0 7px 22px rgba(25,52,91,.05)}
.apdc-post-date{color:#167FD5!important}

/* Footer */
.apdc-site-footer{
  background:linear-gradient(125deg,#061027 0%,#0A1B3C 72%,#211553 100%)!important;
  padding-top:44px!important;
}
.apdc-footer-grid{grid-template-columns:1.15fr .8fr 1fr .78fr!important;gap:28px!important}
.apdc-footer-title{font-size:16px!important}
.apdc-footer-iso-placeholder{
  border:none!important;background:transparent!important;padding:0!important;min-height:auto!important;
  align-items:flex-start!important;
}
.apdc-footer-iso-logo{max-width:108px!important;width:auto!important;height:auto!important}
.apdc-footer-small{margin-top:28px!important;padding-top:16px!important}

/* tablet */
@media (max-width:1024px){
  .apdc-v2-inner{max-width:100%!important}
  .apdc-v2-two-col{gap:22px!important}
  .apdc-v2-two-col>.e-con{min-width:0}
  .apdc-services-grid,.apdc-v2-grid-4,.apdc-team-grid,.apdc-v2-grid-3,.apdc-v2-grid-2x2{
    flex-wrap:wrap!important;
  }
  .apdc-services-grid>.e-con,.apdc-v2-grid-4>.e-con{
    width:calc(50% - 8px)!important;flex-basis:calc(50% - 8px)!important;max-width:calc(50% - 8px)!important
  }
  .apdc-v2-grid-3>.e-con,.apdc-team-grid>.e-con{
    width:calc(50% - 9px)!important;flex-basis:calc(50% - 9px)!important;max-width:calc(50% - 9px)!important
  }
  .apdc-v2-grid-2>.e-con,.apdc-v2-grid-2x2>.e-con{
    width:calc(50% - 8px)!important;flex-basis:calc(50% - 8px)!important;max-width:calc(50% - 8px)!important
  }
  .apdc-service-card h3{font-size:19px!important;line-height:1.12!important}
  .apdc-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* portrait tablet/mobile */
@media (max-width:767px){
  .apdc-header-inner{padding:9px 15px!important;gap:12px!important}
  .apdc-site-header img.custom-logo{height:auto!important;max-height:40px!important;max-width:185px!important}
  .apdc-v2-two-col{flex-direction:column!important}
  .apdc-v2-two-col>.e-con{width:100%!important;max-width:100%!important;flex-basis:100%!important}
  .apdc-services-grid>.e-con,.apdc-v2-grid-4>.e-con,.apdc-v2-grid-3>.e-con,
  .apdc-v2-grid-2>.e-con,.apdc-team-grid>.e-con,.apdc-v2-grid-2x2>.e-con{
    width:100%!important;max-width:100%!important;flex-basis:100%!important
  }
  .apdc-v2-hero h1{font-size:clamp(37px,9.4vw,48px)!important;line-height:1.02!important}
  .apdc-v2-hero h2{font-size:clamp(25px,6.8vw,31px)!important;line-height:1.12!important}
  .apdc-v2-actions{width:100%!important;align-items:stretch!important}
  .apdc-v2-actions>.e-con,.apdc-v2-actions .elementor-widget-button{width:100%!important;max-width:340px!important}
  .apdc-v2-actions .elementor-button{width:100%!important;justify-content:center!important}
  .apdc-photo-placeholder{min-height:210px}
  .apdc-footer-grid{grid-template-columns:1fr!important}
  .apdc-site-footer{padding-left:18px!important;padding-right:18px!important}
}
