/* DBP80: restrained blue, white and red accents from the existing logo. */
:root{
  --blue:#0058c8;
  --blue-dark:#003f94;
  --brand-red:#c62340;
  --brand-red-dark:#a51b34;
  --mint:#eaf1ff;
}
.topbar::before{
  content:"";display:block;height:4px;
  background:linear-gradient(90deg,var(--blue) 0 33.333%,#fff 33.333% 66.666%,var(--brand-red) 66.666% 100%);
}
.topbar nav a{position:relative;transition:color .2s ease}
.topbar nav a::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:2px;background:var(--brand-red);transform:scaleX(0);transition:transform .2s ease}
.topbar nav a:hover::after,.topbar nav a:focus-visible::after{transform:scaleX(1)}
.topbar nav .nav-phone{color:var(--brand-red)}
.hero{background:linear-gradient(115deg,#eef4ff 0%,#fff 70%,#fff7f8 100%)}
.hero::after{border-color:rgba(0,88,200,.055)}
.hero .eyebrow{color:var(--blue-dark)}
.eyebrow::before{width:30px;height:3px;background:linear-gradient(90deg,var(--blue) 0 33.333%,#fff 33.333% 66.666%,var(--brand-red) 66.666% 100%)}
.hero .eyebrow::before{display:inline-block;flex-shrink:0}
.button,button[type="submit"]{background:var(--blue)}
.button:hover,button[type="submit"]:hover{background:var(--blue-dark)}
.button.work-button{background:#fff;color:var(--blue);border-color:var(--blue)}
.button.work-button:hover{background:#edf3ff}
.button.call-button{background:var(--brand-red);color:#fff}
.button.call-button:hover{background:var(--brand-red-dark)}
.points li{background:#fff;border-color:#d5e1f5;color:var(--blue-dark)}
.number{background:#eaf1ff;color:var(--blue)}
.service{border-top:3px solid var(--blue)}
.service:nth-child(2){border-top-color:#d9e1ed}
.service:nth-child(3){border-top-color:var(--brand-red)}
.section-heading h2::after,.reviews-heading h3::after,.area-section> .container> h2::after{
  content:"";display:block;width:66px;height:3px;margin-top:16px;
  background:linear-gradient(90deg,var(--blue) 0 33.333%,#fff 33.333% 66.666%,var(--brand-red) 66.666% 100%);
}
.about-section,.contact{background:#102442;position:relative}
.contact::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--blue) 0 33.333%,#fff 33.333% 66.666%,var(--brand-red) 66.666% 100%)}
.contact .form-card{border-top:3px solid var(--brand-red)}
footer{background:#fff;border-top:3px solid var(--blue)}
@media(max-width:800px){
  .mobile-contact .button:last-child{background:var(--brand-red)}
  .topbar nav a::after{bottom:2px}
}
@media(prefers-reduced-motion:reduce){.topbar nav a,.topbar nav a::after{transition:none}}

/* Align the home contact actions; give Leo the same brand accents. */
.hero-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:28px}
.hero .hero-actions .button{width:100%;min-height:50px;margin:0;padding:12px 14px;font-size:15px;text-align:center}
.hero-actions .work-button{grid-column:1/-1}
#dbp-chat{border:1px solid #d5dfed;box-shadow:0 12px 45px #10244226}
#dbp-chat header{background:#003f94;position:relative;padding-bottom:18px}
#dbp-chat header::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,#0058c8 0 33.333%,#fff 33.333% 66.666%,#c62340 66.666%)}
#dbp-chat .dbp-chat-heading small{color:#e4eeff}
#dbp-chat .dbp-chat-log p{background:#eef4ff}
#dbp-chat .dbp-chat-log p.user{background:#0058c8;color:#fff}
#dbp-chat .dbp-chat-options button,#dbp-chat .dbp-chat-log a{border-color:#cddcf3;color:#003f94;background:#fff}
#dbp-chat .dbp-chat-options button:hover,#dbp-chat .dbp-chat-log a:hover{border-color:#0058c8;background:#eef4ff}
#dbp-chat form button{background:#c62340;color:#fff}
#dbp-chat form button:hover{background:#a51b34}
#dbp-chat input:focus{border-color:#0058c8;outline:2px solid #d7e6ff}
#dbp-chat header button:hover{background:#ffffff1c;transform:none}
button.dbp-chat-launch .dbp-chat-avatar{background:#fff;border-radius:50%;border-left:3px solid #0058c8;border-right:3px solid #c62340;box-shadow:0 3px 14px #10244226}
button.dbp-chat-launch::after{border-left:3px solid #0058c8;border-right:3px solid #c62340}
@media(max-width:470px){.hero-actions{grid-template-columns:1fr}.hero-actions .work-button{grid-column:auto}}

/* Portfolio photos: white frames and discrete tricolour accents. */
#realisations .gallery-card{background:#fff;border:1px solid #d8e2f0;border-radius:12px;overflow:hidden;box-shadow:0 5px 18px #10244208;transition:box-shadow .2s ease,border-color .2s ease}
#realisations .gallery-card:hover{border-color:#a5bfe4;box-shadow:0 10px 25px #10244212}
#realisations .gallery-card .photo-open{border-radius:0;background:#f5f7fc;margin:0}
#realisations .gallery-card .photo-open img{padding:10px}
#realisations .gallery-card .zoom-label{background:#0058c8;color:#fff;border-left:3px solid #c62340;border-radius:5px;box-shadow:0 2px 8px #10244222}
#realisations .gallery-card figcaption{padding:16px;color:#102442;font-weight:600;font-size:14px;line-height:1.5}
#realisations .gallery-card figcaption::before{content:"";display:block;height:4px;margin:-16px -16px 14px;background:linear-gradient(90deg,#0058c8 0 33.333%,#fff 33.333% 66.666%,#c62340 66.666%)}
#realisations .gallery-contact{border-top-color:#d8e2f0}
@media(prefers-reduced-motion:reduce){#realisations .gallery-card{transition:none}}

/* Clear, unobtrusive insurance and privacy information. */
.insurance-note{max-width:850px;margin:18px 0;padding:16px 18px;border:1px solid #d9e3f0;border-left:3px solid var(--blue);border-right:3px solid var(--brand-red);border-radius:8px;background:#f8faff;color:#40546c}
.insurance-heading{display:flex;align-items:center;gap:10px;color:var(--blue-dark)}
.insurance-heading svg{flex:0 0 24px}
.insurance-note p{margin:8px 0 0;font-size:13px;line-height:1.6}
footer .insurance-scope{margin-top:10px}
footer summary{cursor:pointer;min-height:30px;display:list-item}
footer .insurance-scope p{font-size:12px}
.privacy-details{scroll-margin-top:24px}
.privacy-content{max-width:850px;padding:5px 0 12px;line-height:1.7}
.privacy-content h3{font-size:15px;margin:20px 0 8px;color:var(--ink)}
.privacy-content p{margin:0 0 12px}
.privacy-content a,.privacy a{color:var(--blue-dark);text-underline-offset:3px}
.privacy a:focus-visible,footer summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px}

/* Preserve the original logo colours and presentation; reduce repeated flags. */
.topbar::before,.contact::before,#dbp-chat header::after,#realisations .gallery-card figcaption::before{display:none}
.hero{background:#f5f7fa}
.eyebrow::before{width:24px;height:2px}
.section-heading h2::after,.reviews-heading h3::after,.area-section>.container>h2::after{width:36px;height:2px;margin-top:14px}
.service,.service:nth-child(2),.service:nth-child(3){border-top:1px solid #d9e1ed}
.contact .form-card{border-top:2px solid var(--brand-red)}
footer{border-top:1px solid #d9e1ed}
.insurance-note{border:1px solid #d9e3f0;border-left:2px solid var(--blue);background:#f8faff}
#realisations .gallery-card .zoom-label{background:#ffffffed;color:var(--blue-dark);border:1px solid #d8e2f0;box-shadow:none}
#realisations .gallery-card figcaption{border-top:1px solid #e7ebee}
#dbp-chat header{padding-bottom:14px}
button.dbp-chat-launch .dbp-chat-avatar{border:1px solid #d5dfed;border-bottom:2px solid var(--brand-red)}
button.dbp-chat-launch::after{border:1px solid #d5dfed}

/* No flag decorations beside captions or beneath headings. */
.eyebrow::before,.hero .eyebrow::before,.section-heading h2::after,.reviews-heading h3::after,.area-section>.container>h2::after{display:none;content:none}
