/* Professional enhancement layer - preserves existing templates and URLs */
:root{
  --pro-ink:#071426;
  --pro-muted:#556579;
  --pro-border:#d7e0eb;
  --pro-surface:#ffffff;
  --pro-surface-soft:#f7f9fc;
  --pro-brand:#0f56d9;
  --pro-brand-strong:#0b3fa8;
  --pro-navy:#081f3a;
  --pro-accent:#f5c64f;
  --pro-shadow-sm:0 6px 18px rgba(8,31,58,.06);
  --pro-shadow-md:0 18px 48px rgba(8,31,58,.10);
  --pro-shadow-lg:0 28px 70px rgba(8,31,58,.14);
  --pro-radius:18px;
  --pro-radius-sm:12px;
}

::selection{background:rgba(15,86,217,.16);color:var(--pro-ink)}
html{scroll-padding-top:calc(var(--header) + 20px)}
body{background:linear-gradient(180deg,#f8fafc 0,#f5f7fa 320px,#f5f7fa 100%);color:var(--pro-ink)}
main{min-height:55vh}
main:focus{outline:none}
[id]{scroll-margin-top:calc(var(--header) + 20px)}

/* Header: calmer, clearer and more deliberate */
.ecg-header{
  background:rgba(255,255,255,.94);
  border-bottom-color:rgba(215,224,235,.88);
  transition:box-shadow .22s ease,background-color .22s ease,border-color .22s ease;
}
@supports (backdrop-filter:blur(14px)){
  .ecg-header{backdrop-filter:saturate(140%) blur(14px);background:rgba(255,255,255,.86)}
}
.ecg-header.is-scrolled{box-shadow:0 10px 30px rgba(8,31,58,.08);border-bottom-color:rgba(189,202,218,.8)}
.ecg-brand{border-radius:12px;transition:opacity .18s ease,transform .18s ease}
.ecg-brand:hover{transform:translateY(-1px)}
.ecg-mark{background:linear-gradient(145deg,var(--pro-brand),var(--pro-brand-strong));box-shadow:0 8px 20px rgba(15,86,217,.24)}
.ecg-top-link,.ecg-menu>summary{font-weight:750;letter-spacing:-.005em}
.ecg-top-link:hover,.ecg-menu>summary:hover{background:rgba(15,86,217,.045)}
.ecg-call-cta,.ecg-mobile-phone,.ecg-mobile-cta,.ecg-mobile-call{box-shadow:0 7px 18px rgba(15,86,217,.18)}
.ecg-service-menu{padding:14px;border-radius:0 0 16px 16px;box-shadow:var(--pro-shadow-lg)}
.ecg-service-menu a{padding:13px 14px;transition:background-color .16s ease,transform .16s ease}
.ecg-service-menu a:hover{transform:translateX(2px)}

/* Global typography */
h1,h2,h3{color:var(--pro-ink);text-wrap:balance}
h1{letter-spacing:-.045em}
h2{letter-spacing:-.038em}
p{color:inherit}
.site-content,.site-article-content,.site-service-main,.site-document,.site-resource-content{color:#304156}
.site-content>p,.site-article-content>p,.site-document>p,.site-resource-content>p{max-width:74ch}
.site-label,.ec-section-kicker{letter-spacing:.16em;color:var(--pro-brand)}
.site-breadcrumb{margin-bottom:26px}
.site-breadcrumb a{position:relative;font-weight:650}
.site-breadcrumb a:hover{text-decoration:underline;text-underline-offset:4px}

/* Buttons and interactive controls */
.site-btn,.ec-button,.ec-cookie-actions button,.ec-cookie-modal button{
  min-height:48px;
  border-radius:11px;
  transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease;
}
.site-btn:hover,.ec-button:hover,.ec-cookie-actions button:hover,.ec-cookie-modal button:hover{transform:translateY(-2px)}
.site-btn:active,.ec-button:active,.ec-cookie-actions button:active,.ec-cookie-modal button:active{transform:translateY(0)}
.site-btn-dark,.ec-button-primary{background:linear-gradient(145deg,var(--pro-brand),var(--pro-brand-strong));box-shadow:0 10px 24px rgba(15,86,217,.20)}
.site-text-action,.ec-text-link{position:relative;text-decoration:none}
.site-text-action::after,.ec-text-link::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .18s ease}
.site-text-action:hover::after,.ec-text-link:hover::after{transform:scaleX(1)}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid rgba(15,86,217,.34);outline-offset:4px}

/* Hero surfaces */
.site-home-hero,.site-page-hero,.site-article-hero,.site-resource-hero,.site-doc-hero,.site-editorial-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#fff 0%,#f8fbff 62%,#f2f7ff 100%)}
.site-home-hero::after,.site-page-hero::after,.site-article-hero::after,.site-resource-hero::after,.site-doc-hero::after,.site-editorial-hero::after{
  content:"";position:absolute;right:-180px;top:-250px;width:520px;height:520px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(15,86,217,.09),rgba(15,86,217,0) 68%);
}
.site-home-hero-grid,.site-page-hero-grid,.site-article-hero-grid,.site-resource-hero-grid{position:relative;z-index:1}
.site-home-copy>p,.site-page-hero-copy>p,.site-article-hero-copy>p,.site-resource-hero-copy>p{color:var(--pro-muted)}
.site-home-note,.site-hero-note{border:0;border-radius:22px;background:linear-gradient(150deg,#0b2a4d 0%,#071c34 100%);box-shadow:var(--pro-shadow-lg)}
.site-home-note:after,.site-hero-note:after{content:"";position:absolute;right:-45px;bottom:-70px;width:170px;height:170px;border:1px solid rgba(255,255,255,.08);border-radius:50%}
.site-home-proof{border-top-color:var(--pro-border)}

/* Sections and cards */
.site-home-section,.site-section{position:relative}
.site-home-section-white{background:rgba(255,255,255,.96)}
.site-home-services{gap:18px}
.site-home-service,.ec-related-card,.site-story-card,.site-resource-tile,.ec-info-card-row>*,.ec-service-detail-grid>*{
  border-color:var(--pro-border);
  box-shadow:0 1px 0 rgba(8,31,58,.02);
}
.site-home-service{border-radius:16px;overflow:hidden}
.site-home-service::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:3px;background:linear-gradient(90deg,var(--pro-brand),#72a6ff);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.site-home-service:hover{border-color:#b6c8e0;box-shadow:var(--pro-shadow-md)}
.site-home-service:hover::after{transform:scaleX(1)}
.site-home-process{border-radius:18px;box-shadow:0 20px 50px rgba(3,18,34,.15)}
.site-home-process>*{transition:background-color .18s ease}
.site-home-process>*:hover{background:#123356}
.site-home-call-inner{border-radius:20px;box-shadow:var(--pro-shadow-lg);background:linear-gradient(135deg,#0a294b,#071b31)}
.site-area-tags a,.site-area-tags span{border-radius:12px;box-shadow:var(--pro-shadow-sm)}

/* Content modules */
.ec-faq{border-color:var(--pro-border);background:#fff;transition:border-color .18s ease,box-shadow .18s ease}
.ec-faq:hover{border-color:#bdcce0}
.ec-faq[open]{box-shadow:var(--pro-shadow-sm);border-color:#b9cbe5}
.ec-faq summary{min-height:56px}
.ec-faq summary::marker{content:""}
.ec-article-answer,.ec-article-warning,.ec-editorial-note,.ec-article-cta,.ec-sticky-card,.ec-area-panel{border-radius:16px}
.ec-sticky-card{box-shadow:var(--pro-shadow-sm)}
.site-content table,.site-article-content table,.site-document table{border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid var(--pro-border);border-radius:14px;background:#fff}
.site-content th,.site-article-content th,.site-document th{background:#f0f5fb;color:var(--pro-ink)}
.site-content tr:last-child td,.site-article-content tr:last-child td,.site-document tr:last-child td{border-bottom:0}

/* Footer */
.site-footer{background:#06182c;border-top:0;color:#d5e0eb}
.site-footer .ecg-brand strong,.site-footer strong{color:#fff}
.site-footer-links a,.site-footer-links button{color:#b9c8d8;transition:color .16s ease,transform .16s ease}
.site-footer-links a:hover,.site-footer-links button:hover{color:#fff;transform:translateX(2px)}
.site-footer-bottom{border-top-color:rgba(255,255,255,.10);color:#8fa4ba}

/* Progressive back-to-top control */
.site-back-top{position:fixed;right:18px;bottom:18px;z-index:900;width:46px;height:46px;border:1px solid rgba(215,224,235,.9);border-radius:14px;background:rgba(255,255,255,.94);color:var(--pro-navy);box-shadow:var(--pro-shadow-md);display:grid;place-items:center;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .18s ease,visibility .18s ease,transform .18s ease}
.site-back-top[data-visible="true"]{opacity:1;visibility:visible;transform:none}
.site-back-top:hover{background:#fff;transform:translateY(-2px)}
.site-back-top svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* Mobile refinement */
@media (max-width:1040px){
  .ecg-header{height:68px}
  :root{--header:68px}
  .ecg-mobile-toggle{border-radius:10px}
  .ecg-mobile-panel{background:rgba(255,255,255,.98)}
  .ecg-mobile-intro{border-bottom-color:var(--pro-border)}
  .ecg-mobile-primary a,.ecg-mobile-links a{min-height:44px;display:flex;align-items:center}
}
@media (max-width:700px){
  body{line-height:1.62}
  h1{font-size:clamp(34px,10vw,42px);line-height:1.04}
  h2{font-size:clamp(28px,8vw,34px)}
  .site-home-hero{padding-top:48px}
  .site-home-hero::after,.site-page-hero::after,.site-article-hero::after,.site-resource-hero::after,.site-doc-hero::after,.site-editorial-hero::after{right:-260px;top:-290px}
  .site-home-note,.site-hero-note{border-radius:18px}
  .site-home-service{padding:21px}
  .site-home-service:hover{transform:none}
  .site-home-call-inner{border-radius:16px}
  .site-back-top{right:12px;bottom:12px;width:44px;height:44px}
  .ec-cookie-banner{box-shadow:0 24px 70px rgba(8,31,58,.22)}
}

/* Better behaviour for motion and printing */
@media (prefers-reduced-motion:reduce){
  .site-back-top,.ecg-header,.site-home-service::after,.site-text-action::after,.ec-text-link::after{transition:none!important}
}
@media print{
  .ecg-header,.site-footer,.site-back-top,.ec-cookie-banner,.ec-cookie-modal,.site-hero-actions,.ec-hero-actions{display:none!important}
  body{background:#fff;color:#000;font-size:11pt}
  main{min-height:0}
  a{text-decoration:underline}
  .site-section,.site-home-section{padding:18pt 0}
  .site-shell,.ecg-shell{width:100%;max-width:none}
  *{box-shadow:none!important;text-shadow:none!important}
}
