/* Shared scale for existing Dev4you.lt components, including translated pages. */
.d4y-design-language {
 --d4y-section-space:64px;
 --d4y-grid-gap:24px;
 --d4y-card-radius:16px;
 --d4y-type-section:40px;
 --d4y-type-callout:36px;
 --d4y-border:#dfe5ee;
 --d4y-muted:#596271;
}
/* Every page reserves the same desktop scrollbar space. Touch layouts use their
   full width; opening a dialog must not change the content alignment. */
html:has(body.d4y-design-language) { scrollbar-gutter:stable; }
/* Reuse the purchased curved-line artwork as a quiet, consistent interior-page motif. */
.d4y-design-language .hero-section-wrap:not(.hero-home2) .hero-section-content-wrap { position:relative; isolation:isolate; }
.d4y-design-language .hero-section-wrap:not(.hero-home2) .hero-section-content-wrap::before {
 content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
 background:url("brand-lines.svg") center / cover no-repeat; opacity:.72;
}
.d4y-design-language:not(.d4y-shared-intro) .hero-section-wrap:not(.hero-home2) .hero-section-content-wrap .hero-section-content h1.synck-original-hero-heading {
 font-size:clamp(36px,3.9vw,64px); line-height:1.08; letter-spacing:-1.35px; margin-bottom:24px;
}
@media(max-width:767px) {
 .d4y-design-language { --d4y-section-space:44px; --d4y-grid-gap:16px; --d4y-type-section:32px; --d4y-type-callout:30px; }
 html:has(body.d4y-design-language) { scrollbar-gutter:auto; }
 .d4y-design-language:not(.d4y-shared-intro) .hero-section-wrap:not(.hero-home2) .hero-section-content-wrap .hero-section-content h1.synck-original-hero-heading { font-size:36px; line-height:1.12; letter-spacing:-.8px; margin-bottom:20px; }
 .d4y-design-language .hero-section-wrap:not(.hero-home2) .hero-section-content-wrap::before { opacity:.5; background-size:auto 100%; background-position:70% center; }
}
/* A single introduction for general interior pages. The existing home hero and
   the compact service/image composition retain their own layout. */
body.d4y-shared-intro .hero-section-wrap .hero-section-content-wrap {
 /* Override the original theme's important 150px top offset. */
 padding:136px 0 48px!important;
}
body.d4y-shared-intro .hero-section-wrap .hero-portfolio-body { padding:0; border:0; }
body.d4y-shared-intro .hero-section-wrap .hero-section-content-wrap .hero-section-content {
 display:block; text-align:left!important; max-width:none; margin:0;
}
body.d4y-shared-intro .hero-section-wrap .hero-section-content .section-subtitle {
 display:block; width:fit-content; padding:0; margin:0 0 20px; border:0; border-radius:0;
 background:none!important; color:#1351d8; font-size:11px; font-weight:600; line-height:1.5;
 letter-spacing:2px; text-transform:uppercase;
}
body.d4y-shared-intro .hero-section-wrap .hero-section-content-wrap .hero-section-content h1.synck-original-hero-heading {
 max-width:1050px; margin:0 0 20px; font-size:clamp(36px,3.8vw,56px); line-height:1.12;
 font-weight:600; letter-spacing:-1px; text-wrap:pretty;
}
body.d4y-shared-intro .hero-section-wrap .hero-section-content h1 br { display:none; }
body.d4y-shared-intro .hero-section-wrap .hero-section-content>p {
 max-width:720px; margin:0; font-size:17px; line-height:1.7; color:var(--d4y-muted)!important; text-wrap:pretty;
}
/* One closing invitation, whether the source is an original Elementor CTA or
   the service enquiry component. Retain the actual text, portraits and links. */
body.d4y-design-language :is(.cta-area,.d4y-enquiry-cta) { padding:var(--d4y-section-space) 0; }
body.d4y-design-language :is(.cta-body,.d4y-enquiry-card) {
 position:relative; isolation:isolate; overflow:hidden; padding:48px;
 border-radius:var(--d4y-card-radius); background:#1c1c1c; color:#fff;
}
body.d4y-design-language .cta-body {
 display:grid!important; grid-template-columns:minmax(0,1fr) auto; gap:0 32px; text-align:left!important;
}
body.d4y-design-language .cta-body>.left { min-width:0; max-width:none; grid-column:1; text-align:left; }
body.d4y-design-language .cta-body .our-expert-team-box {
 grid-column:1; justify-content:flex-start; margin:0 0 20px;
}
body.d4y-design-language .cta-body .our-expert-team-box-inner { justify-content:flex-start; }
body.d4y-design-language .cta-body .our-expert-team-box .imgs img {
 width:36px; height:36px; object-fit:cover; border-radius:50%;
}
body.d4y-design-language .cta-body :is(h2,h3) { grid-column:1; }
body.d4y-design-language .cta-body>p { grid-column:1; }
body.d4y-design-language .cta-body>.theme-btn { grid-column:2; grid-row:1/5; align-self:center; justify-self:start; }
.d4y-design-language .d4y-enquiry-card {
 display:flex; align-items:center; justify-content:space-between; gap:32px;
}
.d4y-design-language .d4y-enquiry-card::before {
 content:''; position:absolute; z-index:-1; width:350px; height:420px; right:0; top:-80px;
 background:url('brand-lines-dark.svg') center / cover no-repeat; opacity:.8; pointer-events:none;
}
.d4y-enquiry-copy { max-width:700px; min-width:0; }
.d4y-enquiry-copy .section-subtitle {
 color:#a9c6ff!important; font-size:11px; line-height:1.5; letter-spacing:2px; margin:0 0 16px;
}
body.d4y-design-language :is(.cta-body>h2,.cta-body>h3,.cta-body>.left>h3,.d4y-enquiry-copy h2) {
 margin:0 0 16px; color:#fff; font-size:var(--d4y-type-callout); font-weight:600;
 line-height:1.15; letter-spacing:-.6px; text-wrap:pretty;
}
body.d4y-design-language :is(.cta-body>p,.cta-body>.left>p,.d4y-enquiry-copy>p:last-child) {
 max-width:640px; margin:0; color:#cbd0da; font-size:16px; line-height:1.7;
}
.d4y-enquiry-actions { flex-shrink:0; display:flex; align-items:center; }
body.d4y-design-language :is(.cta-body,.d4y-enquiry-actions,.our-team-2-header,.hero-service-about .section-header) .theme-btn {
 display:inline-flex; align-items:center; justify-content:center; flex:none; gap:12px;
 min-height:48px; width:auto; height:auto; padding:12px 24px; border-radius:99px;
 background:#1351d8; color:#fff; font-size:15px; line-height:1.4; white-space:nowrap;
}
body.d4y-design-language :is(.cta-body,.d4y-enquiry-actions,.our-team-2-header,.hero-service-about .section-header) .theme-btn:hover { background:#0d43bb; color:#fff; }
body.d4y-design-language :is(.cta-area,.d4y-enquiry-cta) a:focus-visible { outline:3px solid #a9c6ff; outline-offset:5px; }
/* The catalogue's process is a normal section, not a second oversized hero. */
.d4y-page-services .about-area { padding:var(--d4y-section-space) 0; }
.d4y-page-services .about-area .section-title { font-size:var(--d4y-type-section); line-height:1.15; }
@media(max-width:991px) {
 body.d4y-design-language :is(.cta-body,.d4y-enquiry-card) { padding:32px; }
}
@media(max-width:767px) {
 body.d4y-shared-intro .hero-section-wrap .hero-section-content-wrap { padding:104px 0 32px!important; }
 body.d4y-shared-intro .hero-section-wrap .hero-section-content .section-subtitle { margin-bottom:16px; }
 body.d4y-shared-intro .hero-section-wrap .hero-section-content-wrap .hero-section-content h1.synck-original-hero-heading {
  font-size:36px; letter-spacing:-.6px; margin-bottom:20px;
 }
 body.d4y-shared-intro .hero-section-wrap .hero-section-content>p { font-size:16px; }
 body.d4y-design-language :is(.cta-body,.d4y-enquiry-card) { display:flex!important; flex-direction:column; align-items:flex-start!important; gap:0; padding:28px 24px; }
 body.d4y-design-language .cta-body>.theme-btn,.d4y-design-language .d4y-enquiry-actions { margin-top:24px; align-self:flex-start; }
 body.d4y-design-language .cta-body>.theme-btn { width:auto; }
}
@media(max-width:360px) {
 body.d4y-shared-intro .hero-section-wrap .hero-section-content-wrap .hero-section-content h1.synck-original-hero-heading { font-size:32px; }
}
@media(max-width:360px) {
 .d4y-design-language:not(.d4y-shared-intro) .hero-section-wrap:not(.hero-home2) .hero-section-content-wrap .hero-section-content h1.synck-original-hero-heading { font-size:32px; }
}

/* Section labels share one typographic role; the authored home hero is separate. */
.d4y-design-language :is(.section-header,.our-team-2-header) .section-subtitle {
 font-size:11px; line-height:1.5; letter-spacing:2px;
}
