
body.d4y-design-language:is(.d4y-page-clients,.d4y-page-contact,.d4y-page-certificates,.d4y-page-news,.d4y-page-faq,.d4y-page-services) :is(.cta-area,.news-area,.d4y-enquiry-card) .theme-btn { background:#1351d8; color:white; }
body.d4y-design-language:is(.d4y-page-clients,.d4y-page-contact,.d4y-page-certificates,.d4y-page-news,.d4y-page-faq,.d4y-page-services) :is(.cta-area,.news-area,.d4y-enquiry-card) .theme-btn:hover { background:#0d43bb; color:white; }
/* One editorial column of questions; answers keep their existing Bootstrap behavior. */
.d4y-page-faq .faq-area { padding:20px 0 76px; }
.d4y-page-faq .faq-inner { position:relative; display:grid; grid-template-columns:minmax(0,.38fr) minmax(0,1fr); gap:20px 54px; padding:40px 0 0; background:transparent; border-radius:0; border-top:1px solid #dce3ef; }
.d4y-page-faq .d4y-faq-heading>.section-subtitle { margin:3px 0 20px; font-size:11px; line-height:1.5; letter-spacing:1.8px; }
.d4y-page-faq .d4y-faq-heading>.section-title { font-size:36px; line-height:1.14; letter-spacing:-.7px; margin:0; padding-bottom:40px; background:none; }
.d4y-page-faq .d4y-faq-heading { align-self:start; padding-bottom:140px; background:url('brand-lines.svg') left bottom/450px auto no-repeat; }
.d4y-page-faq .faq-items-box { grid-column:2; grid-row:1; display:block; width:100%; }
.d4y-page-faq .faq-col { width:100%; }
.d4y-page-faq .faq-box { padding:0; margin:0; border:0; border-bottom:1px solid #dce3ef; border-radius:0; background:none; box-shadow:none; }
.d4y-page-faq .faq-box .card-header { margin:0; padding:0; border:0; background:none; }
.d4y-page-faq .faq-box .card-header button { position:relative; display:block; width:100%; min-height:70px; padding:22px 44px 22px 0; background:none; border:0; font-size:22px; line-height:1.3; font-weight:500; text-align:left; color:#252d39; }
.d4y-page-faq .faq-box .card-header button .icon { display:none; }
.d4y-page-faq .faq-box .card-header button::before,.d4y-page-faq .faq-box .card-header button::after { content:''; position:absolute; top:34px; right:7px; width:14px; height:2px; border:0; background:#1351d8; transition:transform .2s; }
.d4y-page-faq .faq-box .card-header button::after { transform:rotate(90deg); }
.d4y-page-faq .faq-box .card-header button[aria-expanded=true]::after { transform:rotate(0); }
.d4y-page-faq .faq-box .card-header button[aria-expanded=true] { color:#1351d8; }
.d4y-page-faq .faq-box .card-body { padding:0 38px 24px 0; font-size:16px; line-height:1.75; color:#535f72; }
.d4y-page-faq .faq-box button:focus-visible { outline:2px solid #1351d8; outline-offset:4px; }
/* Use a technical brief diagram instead of the repeated empty meeting-room photo. */
body.d4y-design-language:is(.d4y-page-faq,.d4y-page-services) .about-service3-area { position:relative; isolation:isolate; overflow:hidden; padding:66px 0; }
body.d4y-design-language:is(.d4y-page-faq,.d4y-page-services) .about-service3-area .custom-row { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:56px; align-items:center; }
body.d4y-design-language:is(.d4y-page-faq,.d4y-page-services) .about-service3-area .img-box { width:auto; min-width:0; max-width:none; }
.d4y-brief-blueprint { display:block; width:100%; height:auto; max-height:320px; overflow:visible; }
body.d4y-design-language:is(.d4y-page-faq,.d4y-page-services) .about-service3-area .content-box { width:auto; min-width:0; max-width:none; }
body.d4y-design-language:is(.d4y-page-faq,.d4y-page-services) .about-service3-area .content-box h2 { font-size:36px; line-height:1.15; letter-spacing:-.6px; margin-bottom:24px; }
body.d4y-design-language:is(.d4y-page-faq,.d4y-page-services) .about-service3-area .content-box p { font-size:16px; line-height:1.75; }
body.d4y-design-language:is(.d4y-page-faq,.d4y-page-services) .about-service3-area .content-box ul { margin-top:24px; gap:16px; padding-top:20px; border-top:1px solid #ffffff25; }
body.d4y-design-language:is(.d4y-page-faq,.d4y-page-services) .about-service3-area .content-box li { font-size:14px; line-height:1.5; }
/* News remains news. A readable lead story, with the original image in its real ratio. */
.d4y-page-news .news-area { padding:12px 0 36px; }
.d4y-page-news .sticky-news { display:grid!important; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:42px; padding:32px; border-radius:16px; background:#f3f6fc; border:1px solid #e1e7f1; box-shadow:none; }
.d4y-page-news .sticky-news .news-img-box { width:auto; min-width:0; overflow:hidden; align-self:center; border-radius:10px; }
.d4y-page-news .sticky-news .news-img-box img { width:100%; height:auto; aspect-ratio:12/5; object-fit:contain; border-radius:0; }
.d4y-page-news .sticky-news .news-content { width:auto; max-width:none; padding:12px 8px 12px 0; }
.d4y-page-news .sticky-news .news-content .section-subtitle { color:#1351d8!important; font-size:11px; margin-bottom:16px; }
.d4y-page-news .sticky-news .news-content h2 { font-size:32px; line-height:1.2; font-weight:500; letter-spacing:-.5px; margin-bottom:18px; }
.d4y-page-news .sticky-news .news-content h2 a { color:#252d39; }
.d4y-page-news .sticky-news .news-content p { font-size:15px; line-height:1.7; color:#566175; margin:0 0 18px; }
.d4y-page-news .sticky-news .news-content ul { padding-top:18px; border-top:1px solid #dce4f1; margin-bottom:22px; gap:10px; }
.d4y-page-news .sticky-news .news-content li { color:#566175; font-size:13px; line-height:1.55; }
.d4y-page-news .sticky-news .news-content .theme-btn { position:static; display:inline-flex; width:auto; height:auto; min-height:48px; padding:12px 24px; gap:12px; border-radius:30px; font-size:15px; line-height:1.4; }
/* Reading pages share a fixed navigation gap; prose fills the remaining column. */
body.d4y-design-language:is(.d4y-page-privacy,.d4y-page-cookies,.d4y-page-article) .blog-details-area { padding:12px 0 76px; overflow:visible; }
body.d4y-design-language:is(.d4y-page-privacy,.d4y-page-cookies,.d4y-page-article) .blog-details-body { padding:0; }
body.d4y-design-language:is(.d4y-page-privacy,.d4y-page-cookies,.d4y-page-article) .blog-details-area .blog-details-inner.d4y-reading-layout { display:grid; grid-template-columns:245px minmax(0,1fr); align-items:start; justify-content:start; gap:48px; padding:36px 0 0; border-top:1px solid #dce3ef; background:none; border-radius:0; }
.d4y-reading-nav { position:sticky; top:100px; min-width:0; }
.d4y-reading-nav details { border:0; background:transparent; }
.d4y-reading-nav summary { position:relative; list-style:none; padding:0 22px 16px 0; border-bottom:1px solid #dce3ef; font-size:14px; font-weight:600; color:#263248; cursor:pointer; }
.d4y-reading-nav summary::-webkit-details-marker { display:none; }
.d4y-reading-nav summary::marker { content:''; }
.d4y-reading-nav summary>span::before,.d4y-reading-nav summary>span::after { content:''; position:absolute; top:11px; right:0; width:10px; height:1px; background:#1351d8; }
.d4y-reading-nav summary>span::after { transform:rotate(90deg); }
.d4y-reading-nav details[open] summary>span::after { transform:none; }
.d4y-reading-nav ol { margin:0; padding:14px 0 0; list-style:none; counter-reset:reading; }
.d4y-reading-nav li { margin:0!important; padding:0; counter-increment:reading; }
.d4y-reading-nav li a { display:grid; grid-template-columns:19px minmax(0,1fr); gap:7px; padding:11px 0; color:#566175; text-decoration:none; font-size:12px; line-height:1.55; border:0; }
.d4y-reading-nav li a::before { content:counter(reading,decimal-leading-zero); font-size:10px; padding-top:1px; color:#1351d8; }
.d4y-reading-nav li a:hover,.d4y-reading-nav li a[aria-current=location] { color:#1351d8; }
.d4y-reading-nav :is(a,summary):focus-visible { outline:2px solid #1351d8; outline-offset:4px; }
body.d4y-design-language:is(.d4y-page-privacy,.d4y-page-cookies,.d4y-page-article) .blog-details-area .blog-details-inner .d4y-reading-body { min-width:0; padding:0; width:100%; max-width:none; }
body.d4y-design-language:is(.d4y-page-privacy,.d4y-page-cookies,.d4y-page-article) .blog-details-area .blog-details-inner .d4y-reading-body h2 { font-size:30px; line-height:1.22; letter-spacing:-.5px; font-weight:500; margin:40px 0 18px; scroll-margin-top:104px; }
body.d4y-design-language:is(.d4y-page-privacy,.d4y-page-cookies,.d4y-page-article) .blog-details-area .blog-details-inner .d4y-reading-body h2:first-child { margin-top:0; }
body.d4y-design-language:is(.d4y-page-privacy,.d4y-page-cookies,.d4y-page-article) .blog-details-area .blog-details-inner .d4y-reading-body :is(p,li) { font-size:17px; line-height:1.85; font-weight:400; color:#4c5769; margin:0 0 20px; }
.d4y-reading-body a { color:#1351d8; text-decoration:underline; text-underline-offset:3px; }
.d4y-reading-body>img { display:block; width:100%; height:auto; aspect-ratio:12/5; object-fit:contain; border-radius:12px; margin:30px 0 36px; }
.d4y-reading-body ul { padding-left:22px; }
.d4y-page-article .d4y-reading-body ul { list-style:disc; }
.d4y-page-article .d4y-reading-body ol { list-style:decimal; padding-left:22px; }
.d4y-page-article .d4y-reading-body :is(ul,ol) { margin:0 0 24px; }
.d4y-page-article .d4y-reading-body li::marker { color:#1351d8; font-weight:500; }
/* The article starts with its illustration; policies start directly with text. */
body.d4y-design-language.d4y-page-article .blog-details-area .blog-details-inner .d4y-reading-body>img:first-child { margin:0 0 36px; }
/* Reuse native curved artwork around contact and client closing panels. */
body.d4y-page-contact .d4y-contact-direct::after { inset:auto -140px -100px auto; width:520px; height:350px; border:0; border-radius:0; box-shadow:none; background:url('brand-lines.svg') center/cover no-repeat; opacity:.38; }
body.d4y-page-contact .d4y-contact-arrow svg { display:block; width:20px; height:20px; }
body.d4y-page-contact .d4y-contact-map-link svg { display:inline-block; vertical-align:middle; width:16px; height:16px; margin-left:8px; }

@media(max-width:1199px) {
 body.d4y-design-language:is(.d4y-page-privacy,.d4y-page-cookies,.d4y-page-article) .blog-details-area .blog-details-inner.d4y-reading-layout { grid-template-columns:210px minmax(0,1fr); gap:36px; }
 .d4y-page-faq .faq-inner { gap:18px 32px; }
}
@media(max-width:991px) {
 body.d4y-design-language:is(.d4y-page-privacy,.d4y-page-cookies,.d4y-page-article) .blog-details-area .blog-details-inner.d4y-reading-layout { display:block; }
 .d4y-reading-nav { position:static; margin-bottom:30px; padding:17px 20px; border:1px solid #dce3ef; border-radius:10px; background:#f6f8fd; }
 .d4y-reading-nav summary { border:0; padding-bottom:0; }
 .d4y-reading-nav ol { padding-top:12px; }
 .d4y-reading-nav li a { font-size:13px; padding:9px 0; }
 .d4y-page-news .sticky-news { gap:28px; padding:26px; }
 .d4y-page-news .sticky-news .news-content h2 { font-size:28px; }
}
@media(max-width:767px) {
 .d4y-page-faq .faq-area { padding:12px 0 44px; }
 .d4y-page-faq .d4y-faq-heading { padding-bottom:0; background:none; }
 .d4y-page-faq .faq-inner { display:block; padding-top:28px; }
 .d4y-page-faq .d4y-faq-heading>.section-subtitle { margin-bottom:14px; }
 .d4y-page-faq .d4y-faq-heading>.section-title { padding:0; background:none; margin-bottom:24px; font-size:30px; }
 .d4y-page-faq .faq-box .card-header button { font-size:20px; line-height:1.3; min-height:66px; padding-block:20px; }
 .d4y-page-faq .faq-box .card-body { padding-right:0; font-size:16px; }
 body.d4y-design-language:is(.d4y-page-faq,.d4y-page-services) .about-service3-area { padding:40px 0; }
 body.d4y-design-language:is(.d4y-page-faq,.d4y-page-services) .about-service3-area .custom-row { display:flex; flex-direction:column; gap:16px; }
 body.d4y-design-language:is(.d4y-page-faq,.d4y-page-services) .about-service3-area .img-box { width:100%; max-width:430px; }
 .d4y-brief-blueprint { max-height:220px; }
 body.d4y-design-language:is(.d4y-page-faq,.d4y-page-services) .about-service3-area .content-box h2 { font-size:30px; }
 .d4y-page-news .sticky-news { display:block!important; padding:20px; }
 .d4y-page-news .sticky-news .news-content { padding:24px 0 4px; }
 .d4y-page-news .sticky-news .news-content h2 { font-size:28px; }
 body.d4y-design-language:is(.d4y-page-privacy,.d4y-page-cookies,.d4y-page-article) .blog-details-area { padding:0 0 48px; }
 body.d4y-design-language:is(.d4y-page-privacy,.d4y-page-cookies,.d4y-page-article) .blog-details-area .blog-details-inner.d4y-reading-layout { padding-top:24px; }
 body.d4y-design-language:is(.d4y-page-privacy,.d4y-page-cookies,.d4y-page-article) .blog-details-area .blog-details-inner .d4y-reading-body h2 { font-size:27px; margin-top:32px; }
 body.d4y-design-language:is(.d4y-page-privacy,.d4y-page-cookies,.d4y-page-article) .blog-details-area .blog-details-inner .d4y-reading-body :is(p,li) { font-size:16px; line-height:1.8; }
}

@media(prefers-reduced-motion:reduce) { .d4y-page-faq .faq-box .card-header button::after { transition:none; } }

/* Grouped FAQ hub: the existing native accordion, with compact topic navigation. */
.d4y-page-faq .d4y-faq-topics { padding:0 0 36px; }
.d4y-page-faq .d4y-faq-topics-label { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin:0 0 16px; color:#252d39; font-size:16px; }
.d4y-page-faq .d4y-faq-topics-label span { font-size:13px; font-weight:400; color:#667184; }
.d4y-page-faq .d4y-faq-topics ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; list-style:none; margin:0; padding:0; }
.d4y-page-faq .d4y-faq-topics li { min-width:0; margin:0; padding:0; }
.d4y-page-faq .d4y-faq-topics a { display:flex; align-items:center; gap:12px; min-height:54px; height:100%; padding:14px 18px; border:1px solid #e0e6f0; border-radius:10px; background:#f7f9fd; color:#293449; font-size:14px; line-height:1.4; text-decoration:none; transition:background .2s,border-color .2s; }
.d4y-page-faq .d4y-faq-topics a>span { color:#1351d8; font-size:11px; font-variant-numeric:tabular-nums; }
.d4y-page-faq .d4y-faq-topics a>svg { width:16px; height:16px; flex:none; margin-left:auto; color:#1351d8; }
.d4y-page-faq .d4y-faq-topics a:hover { background:#edf2fc; border-color:#b4c7ed; }
.d4y-page-faq :is(.d4y-faq-topics,.d4y-faq-topic-links) a:focus-visible { outline:2px solid #1351d8; outline-offset:3px; }
.d4y-page-faq .d4y-faq-topic .faq-area { padding:0 0 32px; }
.d4y-page-faq .d4y-faq-topic .faq-inner { padding-top:32px; }
.d4y-page-faq .d4y-faq-topic .d4y-faq-heading { padding-bottom:0; background:none; }
.d4y-page-faq .d4y-faq-topic .d4y-faq-heading>.section-title { font-size:32px; line-height:1.2; padding-bottom:0; margin-bottom:20px; scroll-margin-top:110px; }
.d4y-page-faq .d4y-faq-topic .d4y-faq-heading>.section-subtitle { margin-bottom:14px; }
.d4y-page-faq .d4y-faq-topic-links { display:flex; flex-direction:column; align-items:flex-start; gap:12px; margin:0; }
.d4y-page-faq .d4y-faq-topic-links a { color:#53627c; font-size:13px; line-height:1.55; text-decoration:underline; text-decoration-color:#c5cfe0; text-underline-offset:4px; }
.d4y-page-faq .d4y-faq-topic-links a:hover { color:#1351d8; text-decoration-color:currentColor; }
.d4y-page-faq .d4y-faq-topic .card-body { white-space:pre-line; }
@media(max-width:991px) {
 .d4y-page-faq .d4y-faq-topics ol { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .d4y-page-faq .d4y-faq-topic .faq-inner { display:block; }
 .d4y-page-faq .d4y-faq-topic .d4y-faq-heading { margin-bottom:16px; }
 .d4y-page-faq .d4y-faq-topic .d4y-faq-heading>.section-title { margin-bottom:16px; }
 .d4y-page-faq .d4y-faq-topic-links { flex-direction:row; flex-wrap:wrap; gap:10px 22px; padding-bottom:12px; }
}
@media(max-width:767px) {
 .d4y-page-faq .d4y-faq-topics { padding-bottom:28px; }
 .d4y-page-faq .d4y-faq-topics-label { align-items:flex-start; flex-direction:column; gap:4px; }
 .d4y-page-faq .d4y-faq-topics ol { grid-template-columns:minmax(0,1fr); gap:8px; }
 .d4y-page-faq .d4y-faq-topics a { min-height:48px; padding:12px 14px; }
 .d4y-page-faq .d4y-faq-topic .faq-area { padding-bottom:24px; }
 .d4y-page-faq .d4y-faq-topic .faq-inner { padding-top:24px; }
 .d4y-page-faq .d4y-faq-topic .d4y-faq-heading>.section-title { font-size:28px; }
}
@media(prefers-reduced-motion:reduce) { .d4y-page-faq .d4y-faq-topics a { transition:none; } }
