/* Frame only the supplied logo's outer whitespace; preserve all lettering. */
.footer-brand .brand {
  width: 250px;
  height: auto;
  aspect-ratio: 1.5;
  overflow: visible;
  border-radius: 8px;
}
.footer-brand .brand img {
  position: static;
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  border-radius: 0;
}
.footer-bottom { align-items: center; }
.inner-page .page-hero {
  position: relative;
  overflow: hidden;
  padding: 48px 0 0;
  background: radial-gradient(ellipse at 85% 0, #1856a5 0, transparent 52%), #082b74;
}
.inner-page .page-hero:before {
  content: '';
  position: absolute;
  width: 560px;
  height: 560px;
  border: 1px solid #ffffff0d;
  border-radius: 50%;
  right: -150px;
  top: -220px;
  pointer-events: none;
  box-shadow: 0 0 0 70px #ffffff03, 0 0 0 140px #ffffff02;
}
.inner-page .page-hero-grid { position: relative; grid-template-columns: 1.1fr 1fr; gap: 75px; padding-bottom: 52px; }
.inner-page .page-hero h1 { font-size: clamp(42px, 4.8vw, 65px); line-height: 1.1; letter-spacing: -.045em; }
.inner-page .page-hero h1 em { color: var(--yellow); font-style: normal; }
.inner-page .page-hero p { font-size: 15px; line-height: 1.85; max-width: 490px; }
.inner-page .breadcrumb { margin-bottom: 30px; }
.page-actions { display: flex; gap: 23px; flex-wrap: wrap; align-items: center; margin-top: 26px; }
.page-visual { position: relative; padding: 15px 0; }
.inner-page .page-visual img { height: 390px; border-radius: 100px 14px 14px 14px; object-fit: cover; }
.photo-caption { position: absolute; left: 20px; right: 20px; bottom: 35px; padding: 18px; border-radius: 9px; background: #092e32d9; backdrop-filter: blur(15px); display: flex; gap: 15px; align-items: center; color: #edf0dc; }
.photo-caption > span:first-child { font-size: 30px; line-height: 1; color: var(--yellow); }
.photo-caption > span:last-child { font-size: 12px; line-height: 1.7; }
.visual-tab { position: absolute; right: 20px; top: 0; padding: 10px 15px; background: var(--yellow); color: var(--ink); border-radius: 6px; font-size: 9px; font-weight: 700; letter-spacing: .1em; }
.hero-facts { position: relative; display: flex; gap: 50px; padding: 23px 0; border-top: 1px solid #ffffff20; }
.hero-facts span { display: flex; gap: 12px; align-items: center; font-size: 11px; color: #d5e0d4; }
.hero-facts span:before { content: '↗'; color: var(--yellow); }
.about-page .media-main { border-radius: 100px 12px 12px 12px; }
.about-page .media-small { border-radius: 14px; }
.about-page .values-grid { gap: 22px; }
.about-page .values-grid article { border: 1px solid #dce4d2; border-radius: 14px; background: white; padding: 30px; }
.value-mark { width: 52px; height: 52px; display: grid; place-items: center; border: 1px solid #dbe5ce; background: #f0f4e8; color: var(--green); border-radius: 12px; font-size: 29px; margin: 28px 0 22px; }
.about-page .values-grid h3 { font-size: 22px; letter-spacing: -.025em; }
.about-page .values-grid p { font-size: 14px; line-height: 1.85; }
.purpose-section { background: radial-gradient(ellipse at 50% 0, #eaf1f9, #fff 70%); }
.purpose-sun { font-size: 70px; color: #32931f; line-height: 1; display: inline-block; margin-bottom: 28px; }
.purpose-section h2 { font-size: clamp(34px, 4.4vw, 55px); }
.services-page #services .section-heading { text-align: left; margin-left: 0; }
.services-page #services .section-label { justify-content: flex-start; }
.service-jump { display: flex; gap: 10px; flex-wrap: wrap; margin: -12px 0 34px; }
.service-jump a { padding: 10px 17px; border: 1px solid #d7dfce; border-radius: 50px; background: white; font-size: 12px; font-weight: 600; transition: background .2s; }
.service-jump a:hover { background: var(--yellow); border-color: var(--yellow); }
.services-page .service-card { display: flex; flex-direction: column; padding-bottom: 22px; box-shadow: 0 7px 25px #16332a04; }
.services-page .service-card h3 { font-size: 21px; letter-spacing: -.025em; }
.services-page .service-card p { font-size: 14px; line-height: 1.8; }
.services-page .service-card .service-icon { width: 50px; height: 50px; background: #eff3e6; border-radius: 12px; display: grid; place-items: center; font-size: 25px; }
.services-page .photo-card .service-icon { display: none; }
.service-includes { list-style: none; margin: auto 0 18px; padding: 15px 0 0; border-top: 1px solid #e5e9df; }
.service-includes li { font-size: 12px; line-height: 1.8; color: #607255; display: flex; gap: 9px; padding: 4px 0; }
.service-includes li:before { content: '✓'; color: #607f45; }
.services-page .service-card > a { border-top: 1px solid #e5e9df; padding: 16px 0 0; font-size: 12px; }
.system-section .system-grid article { background: #f5f6ef; }
.system-section .system-grid article:nth-child(2) { background: #17363b; color: white; border-color: #17363b; }
.system-section .system-grid article:nth-child(2) p { color: #c3d2cb; }
.system-section .system-grid article:nth-child(2) > span { color: var(--yellow); }
.inner-page .contact-hero { padding-bottom: 58px; }
.contact-intro { position: relative; display: grid; grid-template-columns: 1.4fr .7fr; align-items: center; gap: 65px; }
.contact-intro h1 { max-width: 750px; }
.direct-call { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 12px; padding: 30px; border: 1px solid #ffffff26; border-radius: 16px; background: #ffffff05; }
.direct-call > span:not(.call-orbit) { font-size: 10px; color: #c2d4c6; letter-spacing: .06em; }
.direct-call strong { font-size: 24px; letter-spacing: -.035em; font-weight: 500; }
.call-orbit { width: 64px; height: 64px; display: grid; place-items: center; background: var(--yellow); border-radius: 50%; color: var(--ink); font-size: 33px; margin-bottom: 10px; transition: transform .25s; }
.direct-call:hover .call-orbit { transform: rotate(45deg); }
.contact-page .contact-section { padding: 85px 0; background: #fafbf6; }
.contact-page .contact-grid { gap: 65px; }
.contact-page .contact-copy h2 { font-size: clamp(32px, 3.6vw, 46px); }
.contact-page .contact-cards { gap: 12px; }
.contact-page .contact-cards > a, .contact-page .contact-cards > div { padding: 18px 20px; background: white; border: 1px solid #e1e6d9; border-radius: 10px; }
.contact-page .contact-cards > a:hover { border-color: #829873; }
.contact-page .contact-form { background: white; border-radius: 18px; border: 1px solid #dce4d2; box-shadow: 0 20px 65px #12362c07; scroll-margin-top: 120px; }
.form-heading { padding-bottom: 23px; border-bottom: 1px solid #e3e8dc; margin-bottom: 25px!important; }
.form-heading h3 { font-size: 29px; letter-spacing: -.035em; font-weight: 600; margin: 12px 0; }
.form-heading p { font-size: 13px; line-height: 1.75; margin: 0; }
.contact-form input, .contact-form select, .contact-form textarea { border-color: #dce3d5; border-radius: 7px; background: #fafbf7; }
.contact-next { margin-top: 34px; }
.contact-next h3 { font-size: 18px; letter-spacing: -.02em; }
.contact-next ol { list-style: none; counter-reset: next; padding: 0; margin: 0; }
.contact-next li { position: relative; counter-increment: next; padding: 0 0 24px 43px; }
.contact-next li:before { content: counter(next, decimal-leading-zero); position: absolute; top: 0; left: 0; width: 28px; height: 28px; border-radius: 50%; background: #ecf0df; color: #536d3e; display: grid; place-items: center; font-size: 10px; }
.contact-next strong, .contact-next li > span { display: block; }
.contact-next strong { font-size: 13px; font-weight: 600; }
.contact-next li > span { font-size: 12px; color: var(--muted); line-height: 1.8; }
.contact-page .office-section { background: white; }
.contact-page .map-section { border-radius: 18px; }
@media(max-width: 1000px) {
  .inner-page .page-hero-grid { gap: 35px; }
  .inner-page .page-hero h1 { font-size: 46px; }
  .page-actions { gap: 15px; }
  .page-actions .btn { gap: 14px; }
  .contact-intro { grid-template-columns: 1.2fr .8fr; gap: 30px; }
  .direct-call { padding: 24px; }
  .direct-call strong { font-size: 21px; }
  .contact-page .contact-grid { gap: 40px; }
}
@media(max-width: 800px) {
  .about-page .values-grid { grid-template-columns: 1fr; }
  .hero-facts { gap: 22px; flex-wrap: wrap; }
  .contact-page .contact-cards { grid-template-columns: 1fr; }
  .contact-page .contact-cards > div { grid-column: auto; }
  .contact-next { max-width: 500px; }
}
@media(max-width: 600px) {
  .footer-brand .brand { width: 240px; max-width: 100%; }
  .footer-bottom { align-items: flex-start; }
  .inner-page .page-hero { padding-top: 27px; }
  .inner-page .page-hero-grid { grid-template-columns: 1fr; gap: 25px; padding-bottom: 28px; }
  .inner-page .page-hero h1 { font-size: clamp(34px, 9vw, 46px); letter-spacing: -.035em; line-height: 1.15; }
  .inner-page .page-hero p { font-size: 15px; line-height: 1.8; }
  .inner-page .breadcrumb { font-size: 12px; margin-bottom: 26px; }
  .page-actions { align-items: flex-start; flex-direction: column; margin-top: 24px; gap: 8px; }
  .page-actions .hero-secondary { font-size: 13px; }
  .inner-page .page-visual img { height: 280px; border-radius: 65px 12px 12px 12px; }
  .visual-tab { font-size: 8px; right: 14px; }
  .photo-caption { left: 14px; right: 14px; bottom: 29px; padding: 14px; gap: 12px; }
  .photo-caption > span:last-child { font-size: 12px; }
  .hero-facts { padding: 22px 0; gap: 13px 22px; }
  .hero-facts span { font-size: 12px; }
  .about-page .values-grid article { padding: 26px; }
  .about-page .values-grid article > span { font-size: 10px; }
  .about-page .values-grid h3 { font-size: 23px; font-weight: 600; }
  .about-page .values-grid p { font-size: 15px; }
  .purpose-section .mission { text-align: left; }
  .purpose-section h2 { font-size: clamp(29px, 7.8vw, 36px); }
  .purpose-sun { font-size: 54px; }
  .service-jump { gap: 9px; margin-bottom: 28px; }
  .service-jump a { font-size: 12px; min-height: 44px; padding: 11px 14px; }
  .services-page .service-card h3 { font-size: 23px; }
  .services-page .service-card p { font-size: 15px; }
  .service-includes li, .services-page .service-card > a { font-size: 13px; }
  .contact-intro { grid-template-columns: 1fr; gap: 25px; }
  .inner-page .contact-hero { padding-bottom: 34px; }
  .direct-call { position: relative; padding-left: 88px; gap: 5px; }
  .call-orbit { position: absolute; left: 20px; top: 50%; margin: -24px 0 0; width: 48px; height: 48px; font-size: 26px; }
  .direct-call > span:not(.call-orbit) { font-size: 10px; }
  .direct-call strong { font-size: 23px; }
  .contact-page .contact-section { padding: 60px 0; }
  .contact-page .contact-copy h2 { font-size: clamp(29px, 7.8vw, 36px); }
  .contact-page .contact-grid { gap: 30px; }
  .form-heading h3 { font-size: 26px; }
  .form-heading p { font-size: 14px; }
  .contact-next h3 { font-size: 21px; }
  .contact-next strong { font-size: 15px; }
  .contact-next li > span { font-size: 14px; }
  .contact-next li { padding-bottom: 24px; }
}
@media(prefers-reduced-motion:reduce) {
  .direct-call:hover .call-orbit { transform: none; }
}

/* Keep inner page icon tiles in the same blue and green brand palette. */
.value-mark,.services-page .service-card .service-icon,.contact-next li:before{background:#e8f0fb;color:#023198;border-color:#cbdaf0}

/* Doventa Group and its child companies. */
.group-caption { color: #fff !important; font-size: 11px !important; font-weight: 700; margin: 20px 0 7px !important; }
.group-companies { list-style: none; margin: 0 0 16px; padding: 0; color: #c5d0cc; font-size: 10px; line-height: 1.9; }


/* Keep the complete logo visible without the footer's old fixed-ratio frame. */
.footer-brand .brand { width: min(250px, 100%); height: auto; aspect-ratio: auto; overflow: visible; }
.footer-brand .brand img { position: static; inset: auto; transform: none; width: 100%; height: auto; max-width: 100%; object-fit: contain; }

/* Solar promotion panel before the footer. */
.solar-promo { padding: 80px 0; background: #edf3f8; }
.solar-promo-shell { position: relative; display: grid; grid-template-columns: 1fr .86fr; min-height: 480px; overflow: hidden; border-radius: 24px; background: linear-gradient(120deg, #fff 0%, #f7fafc 58%, #dceaf9 100%); box-shadow: 0 20px 50px #02319816; }
.solar-promo-shell:before { content: ''; position: absolute; left: -120px; top: -210px; width: 550px; height: 550px; border: 34px solid #32931f; border-right-color: #023198; border-bottom-color: #023198; border-radius: 50%; opacity: .96; pointer-events: none; }
.solar-promo-shell:after { content: ''; position: absolute; inset: 0 auto auto 0; width: 42%; height: 55%; background-image: radial-gradient(#32931f 1px, transparent 1.5px); background-size: 13px 13px; opacity: .28; pointer-events: none; }
.solar-promo-copy { position: relative; z-index: 2; align-self: center; padding: 72px 55px 155px; }
.solar-promo-copy .section-label { color: #023198; }
.solar-promo-copy h2 { margin-bottom: 20px; color: #023198; font-size: clamp(38px, 4.2vw, 64px); text-transform: uppercase; line-height: 1.03; }
.solar-promo-copy h2 span { color: #32931f; }
.solar-promo-copy p { max-width: 430px; margin-bottom: 27px; color: #3e5168; font-size: 15px; }
.solar-promo-visual { position: relative; min-height: 100%; overflow: hidden; }
.solar-promo-visual:after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #edf3f8, transparent 35%), linear-gradient(0deg, #02319840, transparent 45%); }
.solar-promo-visual img { width: 100%; height: 100%; object-fit: cover; object-position: 60% center; }
.promo-sun { position: absolute; z-index: 2; top: 27px; right: 27px; color: #fff; font-size: 48px; text-shadow: 0 0 28px #ffea8f; }
.promo-panel { position: absolute; z-index: 3; right: 8%; bottom: 92px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 3px; width: min(48%, 250px); aspect-ratio: .72; padding: 6px; border: 5px solid #a7b5c7; background: #071f45; box-shadow: 0 14px 25px #061c3c55; transform: perspective(600px) rotateY(-11deg); }
.promo-panel span { border: 1px solid #7190b6; background: linear-gradient(135deg, #0e3266, #061b3e); }
.promo-benefits { position: absolute; z-index: 4; right: 22px; bottom: 20px; left: 22px; display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid #d5deea; border-radius: 15px; overflow: hidden; background: #fffffff2; backdrop-filter: blur(8px); }
.promo-benefits article { min-height: 105px; padding: 17px 15px; text-align: center; border-right: 1px solid #d5deea; }
.promo-benefits article:last-child { border-right: 0; }
.promo-benefits article > span { display: grid; place-items: center; width: 29px; height: 29px; margin: 0 auto 7px; border: 1px solid #32931f; border-radius: 50%; color: #267619; font-size: 16px; font-weight: 800; }
.promo-benefits strong { display: block; color: #12304f; font-size: 10px; line-height: 1.3; text-transform: uppercase; }
.promo-benefits p { margin: 5px 0 0; color: #5c6c7c; font-size: 9px; line-height: 1.4; }
@media(max-width: 800px) { .solar-promo { padding: 60px 0; } .solar-promo-shell { grid-template-columns: 1fr; min-height: 0; } .solar-promo-copy { padding: 62px 36px 44px; } .solar-promo-visual { min-height: 330px; } .solar-promo-visual:after { background: linear-gradient(0deg, #02319840, transparent 55%); } .promo-panel { bottom: 125px; } .promo-benefits { right: 15px; bottom: 15px; left: 15px; } }
@media(max-width: 520px) { .solar-promo { padding: 44px 0; } .solar-promo-shell { border-radius: 16px; } .solar-promo-shell:before { left: -215px; top: -255px; } .solar-promo-copy { padding: 49px 24px 35px; } .solar-promo-copy h2 { font-size: 37px; } .solar-promo-visual { min-height: 300px; } .promo-panel { width: 43%; right: 10%; bottom: 144px; } .promo-benefits { grid-template-columns: 1fr 1fr; } .promo-benefits article { min-height: 91px; padding: 12px 8px; border-bottom: 1px solid #d5deea; } .promo-benefits article:nth-child(2) { border-right: 0; } .promo-benefits article:nth-child(3), .promo-benefits article:nth-child(4) { border-bottom: 0; } }

/* Refined campaign composition. The image area can be replaced with an approved model portrait. */
.solar-promo { padding: 96px 0; background: #f4f7fb; }
.solar-promo-shell { grid-template-columns: minmax(0, .95fr) minmax(380px, 1.05fr); min-height: 590px; border: 0; border-radius: 28px; background: #082b74; box-shadow: 0 30px 80px #04225a29; }
.solar-promo-shell:before { left: -250px; top: -265px; width: 610px; height: 610px; border-width: 28px; border-color: #32931f; border-right-color: #7cb6ff; border-bottom-color: #7cb6ff; opacity: .75; }
.solar-promo-shell:after { left: 8%; top: 8%; width: 32%; height: 31%; background-image: radial-gradient(#80b5f5 1.2px, transparent 1.8px); background-size: 15px 15px; opacity: .28; }
.solar-promo-copy { display: flex; position: relative; z-index: 2; align-items: flex-start; justify-content: center; flex-direction: column; padding: 85px 54px 175px; color: #fff; }
.solar-promo-copy .section-label { color: #9acff7; }
.solar-promo-copy h2 { max-width: 510px; color: #fff; font-size: clamp(42px, 4.45vw, 68px); letter-spacing: -.065em; text-transform: none; }
.solar-promo-copy h2 span { color: #89d36a; }
.solar-promo-copy p { max-width: 390px; color: #c9d8ed; font-size: 15px; line-height: 1.9; }
.solar-promo-copy .btn-primary { color: #fff; background: #32931f; box-shadow: 0 12px 24px #0318463d; }
.solar-promo-copy .btn-primary:hover { background: #287b18; }
.solar-promo-visual { min-height: 590px; background: #123b82; }
.solar-promo-visual:before { content: ''; position: absolute; z-index: 2; inset: 0; background: linear-gradient(90deg, #082b74 0%, #082b7430 35%, transparent 70%), linear-gradient(0deg, #031d52a6, transparent 46%); }
.solar-promo-visual:after { display: none; }
.solar-promo-visual img { object-position: 68% center; filter: saturate(.95) contrast(1.08); transform: scale(1.03); }
.promo-sun { top: 36px; right: 40px; font-size: 58px; color: #fff8c5; text-shadow: 0 0 35px #ffe16b; }
.promo-panel { right: 9%; bottom: 128px; width: min(42%, 225px); border: 6px solid #cbd7e8; box-shadow: 0 22px 35px #04183f8a; transform: perspective(800px) rotateY(-13deg) rotateZ(1deg); }
.promo-benefits { right: 28px; bottom: 28px; left: 28px; border: 1px solid #ffffff35; border-radius: 17px; background: #ffffff; box-shadow: 0 12px 26px #03174b47; }
.promo-benefits article { min-height: 114px; padding: 20px 12px; border-color: #dce5f0; }
.promo-benefits article > span { width: 32px; height: 32px; border: 0; background: #e6f3e2; color: #267619; }
.promo-benefits strong { font-size: 10px; letter-spacing: .025em; }
.promo-benefits p { font-size: 9px; }
@media(max-width: 800px) { .solar-promo { padding: 68px 0; } .solar-promo-shell { grid-template-columns: 1fr; min-height: 0; } .solar-promo-copy { min-height: 405px; padding: 70px 42px 148px; } .solar-promo-visual { min-height: 400px; } .solar-promo-visual:before { background: linear-gradient(0deg, #031d5290, transparent 65%); } .promo-panel { bottom: 144px; } .promo-benefits { right: 20px; bottom: 20px; left: 20px; } }
@media(max-width: 520px) { .solar-promo { padding: 48px 0; } .solar-promo-shell { border-radius: 20px; } .solar-promo-copy { min-height: 390px; padding: 58px 25px 146px; } .solar-promo-copy h2 { font-size: clamp(39px, 11vw, 50px); } .solar-promo-copy p { font-size: 13px; } .solar-promo-visual { min-height: 360px; } .promo-sun { top: 20px; right: 20px; font-size: 45px; } .promo-panel { right: 9%; bottom: 156px; width: 39%; } .promo-benefits { right: 12px; bottom: 12px; left: 12px; } .promo-benefits article { min-height: 92px; padding: 11px 6px; } .promo-benefits article > span { width: 27px; height: 27px; margin-bottom: 5px; } .promo-benefits strong { font-size: 8px; } .promo-benefits p { font-size: 8px; } }

/* Doventa Group overview on the About page. */
.group-section { background: #f4f7fb; }
.group-section .section-heading { max-width: 690px; }
.group-company-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.group-company-card { display: flex; min-height: 245px; flex-direction: column; padding: 28px; border: 1px solid #d6e1ee; border-radius: 16px; background: #fff; }
.group-company-card > span { color: #32931f; font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.group-company-card h3 { margin: 28px 0 12px; color: #12304f; font-size: 22px; letter-spacing: -.035em; }
.group-company-card p { margin-bottom: 22px; font-size: 12px; line-height: 1.8; }
.group-company-card strong { margin-top: auto; color: #023198; font-size: 10px; letter-spacing: .07em; text-transform: uppercase; }
.group-company-card.featured { border-color: #023198; background: #082b74; }
.group-company-card.featured > span, .group-company-card.featured strong { color: #92d87b; }
.group-company-card.featured h3 { color: #fff; }
.group-company-card.featured p { color: #cad8ec; }
@media(max-width: 900px) { .group-company-grid { grid-template-columns: repeat(2, 1fr); } }
@media(max-width: 560px) { .group-company-grid { grid-template-columns: 1fr; gap: 12px; } .group-company-card { min-height: 0; padding: 25px; } .group-company-card h3 { margin-top: 20px; font-size: 23px; } }

/* ISO certification summary. */
.certification-section { background: #082b74; color: #fff; }
.certification-layout { display: grid; grid-template-columns: 1.2fr .8fr; gap: 90px; align-items: center; }
.certification-layout .section-label { color: #91d37b; }
.certification-layout h2 { margin-bottom: 20px; }
.certification-layout > div > p { max-width: 570px; color: #cfdaee; font-size: 14px; }
.certificate-card { padding: 32px; border: 1px solid #ffffff3b; border-radius: 18px; background: #ffffff0c; }
.certificate-card > span, .certificate-card > strong { display: block; }
.certificate-card > span { color: #91d37b; font-size: 13px; font-weight: 800; letter-spacing: .2em; }
.certificate-card > strong { margin: 5px 0 10px; font-size: 38px; letter-spacing: -.055em; }
.certificate-card > p { color: #cfdaee; font-size: 12px; }
.certificate-card dl { margin: 25px 0 0; }
.certificate-card dl > div { display: flex; justify-content: space-between; gap: 20px; padding: 12px 0; border-top: 1px solid #ffffff2a; }
.certificate-card dt { color: #9db6db; font-size: 10px; text-transform: uppercase; }
.certificate-card dd { margin: 0; color: #fff; font-size: 11px; font-weight: 700; text-align: right; }
.iso-footer { margin: 2px 0 14px !important; color: #91d37b !important; font-size: 10px !important; font-weight: 800; letter-spacing: .08em; }
@media(max-width: 800px) { .certification-layout { grid-template-columns: 1fr; gap: 35px; } .certificate-card { max-width: 500px; } }
@media(max-width: 560px) { .certification-layout h2 { font-size: 34px; } .certificate-card { padding: 26px; } }

/* Keep the quality overview close to the company introduction. */
.quality-summary { padding: 32px 0; background: #f1f6ee; border-block: 1px solid #dce7d7; }
.quality-summary-inner { display: grid; grid-template-columns: auto 1fr auto; gap: 36px; align-items: center; }
.quality-standard { padding-right: 36px; border-right: 1px solid #cbdcc5; }
.quality-standard span { display: block; color: #397b2c; font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.quality-standard strong { display: block; margin-top: 8px; color: #082b74; font-size: 24px; white-space: nowrap; }
.quality-summary-copy h2 { margin: 0 0 8px; font-size: 20px; letter-spacing: -.03em; }
.quality-summary-copy p { margin: 0; max-width: 560px; font-size: 13px; line-height: 1.8; }
.quality-summary .text-link { white-space: nowrap; }
.certification-scope-title { margin: 30px 0 14px; font-size: 15px; color: #fff; }
.certification-scope { list-style: none; margin: 0; padding: 0; }
.certification-scope li { display: flex; gap: 16px; padding: 16px 0; border-top: 1px solid #ffffff24; }
.certification-scope li > span { display: grid; place-items: center; flex: 0 0 34px; height: 34px; border-radius: 50%; background: #ffffff0e; color: #91d37b; font-size: 11px; font-weight: 800; }
.certification-scope h4 { margin: 0 0 5px; font-size: 15px; color: #fff; }
.certification-scope p { margin: 0; font-size: 13px; color: #cfdaee; line-height: 1.7; }
.certificate-card > strong { font-size: clamp(26px, 3vw, 38px); }
.certificate-card dl > div { align-items: baseline; flex-wrap: wrap; gap: 8px 16px; }
.certificate-card dd { overflow-wrap: anywhere; }
.certificate-address { margin-top: 22px; padding-top: 22px; border-top: 1px solid #ffffff2a; }
.certificate-address > span { color: #9db6db; font-size: 10px; letter-spacing: .08em; }
.certificate-address p { margin: 10px 0 0; color: #cfdaee; font-size: 12px; line-height: 1.9; }
@media(max-width: 1000px) { .quality-summary-inner { grid-template-columns: auto 1fr; gap: 24px; } .quality-summary-inner > a { grid-column: 2; justify-self: start; } .certification-layout { gap: 40px; } }
@media(max-width: 560px) { .quality-summary-inner { grid-template-columns: 1fr; gap: 20px; } .quality-standard { border-right: 0; padding: 0 0 18px; border-bottom: 1px solid #cbdcc5; } .quality-summary-inner > a { grid-column: 1; } }

/* Original certification artwork, framed individually in a shared footer panel. */
.footer-certifications { margin-top: 44px; }
.footer-certifications-heading { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 10px 24px; margin-bottom: 18px; text-align: center; }
.footer-certifications-heading > span { color: #a8c0e5; font-size: 9px; font-weight: 800; letter-spacing: .18em; }
.footer-certifications-heading > a { color: #e7f0ff; font-size: 11px; line-height: 1.6; }
.footer-certifications-heading > a:hover { color: #91d37b; }
.footer-certifications-logos { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); align-items: center; gap: 24px; max-width: 760px; margin: 0 auto; padding: 24px 32px; list-style: none; background: #fff; border: 1px solid #e3e9ef; border-radius: 12px; box-shadow: 0 10px 30px #00133618; }
.footer-certifications-logos > li { display: flex; align-items: center; justify-content: center; min-width: 0; }
.footer-cert-logo { display: block; position: relative; width: 100%; overflow: hidden; }
.footer-cert-logo img { position: absolute; display: block; max-width: none; height: auto; }
.footer-cert-logo--qra { max-width: 174px; aspect-ratio: 286 / 172; }
.footer-cert-logo--qra img { width: 341.25874%; left: -16.78322%; top: -12.79070%; }
.footer-cert-logo--uk { max-width: 108px; aspect-ratio: 177 / 180; }
.footer-cert-logo--uk img { width: 551.41243%; left: -197.17514%; top: -10.00000%; }
.footer-cert-logo--quality { max-width: 108px; aspect-ratio: 166 / 159; }
.footer-cert-logo--quality img { width: 587.95181%; left: -326.50602%; top: -15.72327%; }
.footer-cert-logo--iso { max-width: 108px; aspect-ratio: 168 / 165; }
.footer-cert-logo--iso img { width: 580.95238%; left: -431.54762%; top: -15.15152%; }
@media(max-width: 560px) {
  .footer-certifications { margin-top: 32px; }
  .footer-certifications-heading { flex-direction: column; gap: 6px; }
  .footer-certifications-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 20px; padding: 24px 18px; }
  .footer-cert-logo--qra { max-width: 145px; }
  .footer-cert-logo--uk, .footer-cert-logo--quality, .footer-cert-logo--iso { max-width: 100px; }
}

/* Thumb-friendly quick actions, with room for device safe areas. */
.mobile-bottom-nav { display: none; }
@media(max-width: 800px) {
  body { padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px)); }
  html { scroll-padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)); }
  .mobile-bottom-nav { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); position: fixed; z-index: 60; bottom: 0; left: 0; right: 0; padding: 8px max(12px, env(safe-area-inset-right, 0px)) calc(8px + env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-left, 0px)); background: #fffffffa; border-top: 1px solid #dfe7ee; box-shadow: 0 -6px 24px #102b3310; gap: 6px; }
  .mobile-bottom-nav a { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 4px; min-height: 54px; border-radius: 12px; color: #526477; font-size: 10px; font-weight: 800; line-height: 1.3; }
  .mobile-bottom-nav svg { width: 21px; height: 21px; }
  .mobile-bottom-nav a[aria-current="page"] { color: #023198; background: #eaf1fc; }
  .mobile-bottom-nav .mobile-enquire { background: #082b74; color: #fff; }
  .mobile-bottom-nav .mobile-enquire[aria-current="page"] { background: #082b74; color: #fff; box-shadow: inset 0 -3px #91d37b; }
  body.mobile-input-active .mobile-bottom-nav { display: none; }
  input, select, textarea { font-size: 16px !important; }
  #leadForm, .service-card[id] { scroll-margin-top: 105px; }
  .nav-links.open { max-height: calc(100dvh - 180px - env(safe-area-inset-bottom, 0px)); overflow-y: auto; overscroll-behavior: contain; }
}
@media(max-width: 560px) {
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-grid > .footer-brand, .footer-grid > div:last-child { grid-column: 1 / -1; }
  .footer-grid > div { min-width: 0; }
  .footer-grid a { overflow-wrap: anywhere; }
  .footer-grid > div > a:not(.brand) { display: flex; align-items: center; min-height: 44px; }
  .footer-certifications-heading > a { display: inline-flex; align-items: center; min-height: 44px; }
  .footer-bottom { line-height: 1.8; }
  .contact-form { min-width: 0; }
  .contact-form .btn { white-space: normal; gap: 12px; }
  .quality-summary-copy h2 { font-size: 23px; }
  .certificate-card dl > div { flex-direction: column; align-items: flex-start; }
  .certificate-card dd { text-align: left; font-size: 13px; }
}

/* Direct WhatsApp shortcut, above mobile navigation. */
.floating-contact { position: fixed; right: max(24px, env(safe-area-inset-right, 0px)); bottom: calc(24px + env(safe-area-inset-bottom, 0px)); z-index: 55; }
.floating-contact-whatsapp { display: grid; place-items: center; width: 56px; height: 56px; border: 2px solid #fff; border-radius: 50%; background: #25D366; color: #fff; box-shadow: 0 5px 18px #082b7430; }
.floating-contact svg { width: 29px; height: 29px; }
.floating-contact-whatsapp:hover { background: #128C7E; }
.floating-contact-whatsapp:focus-visible { outline: 3px solid #082b74; outline-offset: 4px; }
@media(max-width: 800px) {
  .floating-contact { right: max(14px, env(safe-area-inset-right, 0px)); bottom: calc(90px + env(safe-area-inset-bottom, 0px)); }
  .floating-contact-whatsapp { width: 50px; height: 50px; }
  body.mobile-input-active .floating-contact { display: none; }
}

/* White text on solid brand-green surfaces. */
.btn-primary,
.nav-links > .nav-cta,
.skip-link,
.floating-badge,
.cta-section,
.cta-inner .section-label,
.cta-section p,
.yellow-card,
.yellow-card p,
.energy-strip b,
.weather-controls button[aria-pressed="true"] {
  color: #fff;
}
.btn-primary:hover,
.nav-links > .nav-cta:hover {
  background: #287b18;
  color: #fff;
}
