.navbar { flex-wrap:wrap; gap:1rem; }
.nav-links { gap:1.1rem; }
.header-phone { white-space:nowrap; }
.language-switch {
  display:inline-flex;
  align-items:center;
  flex-shrink:0;
  gap:3px;
  padding:3px;
  border:1px solid #d7e3da;
  border-radius:999px;
  background:#f3f7f4;
  font-size:.8rem;
}
.language-switch > span { display:none; }
.language-switch a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  min-width:76px;
  padding:0 12px;
  border-radius:999px;
  color:#34513e;
  font-weight:600;
  line-height:1;
  text-decoration:none;
  transition:background-color .18s ease, color .18s ease, box-shadow .18s ease;
}
.language-switch a:hover { background:#e3ece5; color:#203d2a; }
.language-switch a[aria-current="page"] {
  background:#286337;
  color:#fff;
  font-weight:700;
  text-decoration:none;
  box-shadow:0 2px 5px rgba(28,73,41,.16);
}
.language-switch a:focus-visible { outline:3px solid #244768; outline-offset:3px; }

.audience-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; }
.audience-card { background:white; border:1px solid #dce6df; border-radius:16px; padding:2rem; }
.audience-card h3 { margin:.6rem 0 1rem; }
.audience-card p { margin-bottom:1rem; }
.card-actions { display:flex; flex-direction:column; gap:1rem; margin-top:1.5rem; align-items:flex-start; }
.card-actions > a:not(.btn), .property-note a { color:#244768; font-weight:600; }
.property-note { text-align:center; margin-top:1.8rem; }
.benefit-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
.benefit-grid h3 { margin-bottom:.75rem; }
.quote-banner { text-align:center; }
.quote-banner p { margin:1rem 0 1.5rem; }
.quote-banner .hero-cta { justify-content:center; margin-bottom:0; }
.quote-details { border:1px solid #dce6df; border-radius:10px; padding:1rem; }
.quote-details summary { cursor:pointer; color:#244768; font-weight:600; }
.optional-fields { display:flex; flex-direction:column; gap:1.25rem; margin-top:1.25rem; }
.quote-error { color:#9f2525; background:#fff0f0; padding:1rem; border-radius:8px; }
.quote-steps { padding-left:1.2rem; margin:1rem 0; }
.quote-steps li { margin-bottom:.8rem; }
.form-note,.field-hint { color:#52605a; }
.contact-sidebar .btn { margin:1rem 0; }
[hidden] { display:none !important; }
input:invalid:focus,select:invalid:focus { border-color:#a52a2a; }
@media (max-width:1100px) and (min-width:769px) { .nav-links { gap:.75rem; } .logo-img-nav { height:36px; } .language-switch { margin-left:auto; } }
@media (max-width:768px) { .audience-grid,.benefit-grid { grid-template-columns:1fr; } .audience-card { padding:1.5rem; } .language-switch { margin-left:auto; } .nav-toggle { order:3; } .nav-links { order:4; } .contact-form-wrap { padding:1.5rem; } .hero-content { max-width:100%; } .hero-headline { overflow-wrap:break-word; } .navbar { gap:.75rem; } .hero-cta a { text-align:center; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }

.form-group input::placeholder,.form-group textarea::placeholder { color:#68786f; }

@media (max-width:768px) {
  .language-switch { font-size:.75rem; padding:2px; gap:2px; }
  .language-switch a { min-width:65px; min-height:44px; padding:0 9px; }
  .logo-img-nav { max-width:130px; height:auto; }
}
@media (max-width:374px) {
  .logo-img-nav { max-width:110px; }
  .navbar { gap:.5rem; }
}
.platform-hero{background:linear-gradient(135deg,#173b29,#286337);color:white;padding:5rem 0;}
.platform-intro{max-width:900px;}.platform-intro h1{font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.12;margin:1.3rem 0;}.platform-intro>p{max-width:720px;font-size:1.15rem;line-height:1.75;margin:1.5rem 0;}.platform-status{display:inline-block;padding:.5rem 1rem;border:1px solid #99bb9e;border-radius:999px;font-weight:600;background:#ffffff12;}.platform-caption{font-size:.9rem!important;color:#d2e7d6;}.platform-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;}.platform-icon,.platform-step{display:block;font-size:1.8rem;color:#286337;margin-bottom:1rem;}.platform-update{margin-top:2rem;border-left:4px solid #286337;background:#f3f7f4;padding:1.5rem 2rem;border-radius:0 12px 12px 0;}.platform-update h2{font-size:1.4rem;margin-bottom:.7rem;}.platform-teaser{padding:2.5rem;border-radius:20px;background:#173b29;color:white;}.platform-teaser p{margin:1rem 0 1.5rem;max-width:760px;}.platform-teaser .section-label{color:#a8dba9;}
@media(max-width:1100px){.platform-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:768px){.platform-grid{grid-template-columns:1fr;}.platform-hero{padding:3rem 0;}.platform-teaser{padding:1.5rem;}.platform-update{padding:1.5rem;}}
.platform-intro h1,.platform-intro>p,.platform-teaser h2,.platform-teaser p{color:#fff;}
/* Unified navigation and icon rhythm across both languages. */
.site-header .navbar{max-width:1320px;min-height:80px;gap:20px;flex-wrap:nowrap;padding-top:14px;padding-bottom:14px;}
.site-header .logo{flex-shrink:0;}
.site-header .nav-links{flex:1;justify-content:center;gap:18px;}
.site-header .nav-links>li>a,.nav-dropdown-toggle{display:inline-flex;align-items:center;gap:7px;min-height:44px;white-space:nowrap;font-size:.875rem;}
.nav-item-icon{width:17px;text-align:center;font-size:.85rem;color:#40794b;flex-shrink:0;}
.site-header .nav-links a.active{color:#286337;font-weight:700;}
.site-header .nav-links .btn-nav{font-size:.85rem;padding:12px 16px;}
.language-switch{flex-shrink:0;gap:2px;padding:3px 4px;background:#f4f7f4;border-color:#dbe5dc;}
.language-switch .language-icon{display:block;width:19px;height:19px;margin:0 4px;color:#577660;flex-shrink:0;}
.language-switch a{min-width:67px;padding:0 10px;font-size:.78rem;}
.language-switch a:hover{transform:none;}
.nav-toggle{min-width:44px;min-height:44px;align-items:center;justify-content:center;border:1px solid #e0e8e1;border-radius:10px;flex-shrink:0;}
.nav-cat-ic{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;}
.nav-cat-ic i{width:20px;text-align:center;}
.nav-panel-head{display:flex;align-items:center;gap:10px;}
.nav-panel-head>i{width:20px;text-align:center;flex-shrink:0;}
.nav-panel-links>a{min-height:36px;line-height:1.45;}
.service-icon,.eco-icon,.impact-icon,.platform-icon{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;font-size:24px;border-radius:14px;background:#edf5ee;color:#286337;margin-bottom:16px;}
.service-icon>i,.eco-icon>i,.impact-icon>i{font-size:24px;width:28px;text-align:center;}
.section-dark .service-icon{background:#ffffff16;color:#a7dbac;}
.hero-badge,.section-label,.service-badge{align-items:center;gap:8px;}
.hero-badge>i,.section-label>i,.service-badge>i{width:18px;text-align:center;flex-shrink:0;}
.link-arrow{display:inline-flex;align-items:center;gap:7px;}
.footer-contact li>i{width:18px;min-width:18px;margin-top:4px;text-align:center;line-height:1.25;}
a:focus-visible,button:focus-visible{outline:3px solid #286337;outline-offset:4px;}
@media(min-width:1101px) and (max-width:1250px){.site-header .nav-links{gap:12px;}.site-header .nav-links>li>a,.nav-dropdown-toggle{font-size:.8rem;}.site-header .navbar{gap:14px;}.nav-item-icon{display:none;}.logo-img-nav{height:38px;}.site-header .nav-links .btn-nav{font-size:.78rem;padding:10px 12px;}}
@media(max-width:1100px){
 .site-header .navbar{min-height:76px;gap:12px;flex-wrap:nowrap;}
 .site-header .nav-links{display:none;position:fixed;top:76px;left:0;right:0;background:#fff;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:4px;padding:16px 24px;border-bottom:1px solid #e0e8e1;box-shadow:0 12px 22px #173b2912;z-index:99;max-height:calc(100dvh - 76px);overflow-y:auto;}
 .site-header .nav-links.open{display:flex;}
 .site-header .nav-links>li>a{width:100%;padding:9px 10px;border-radius:8px;font-size:.95rem;}
 .site-header .nav-links>li>a.active{background:#edf5ee;}
 .site-header .nav-links .btn-nav{justify-content:center;margin-top:8px;}
 .site-header .nav-toggle{display:flex;order:3;}
 .site-header .language-switch{margin-left:auto;order:2;}
 .nav-dropdown{width:100%;}
 .nav-dropdown-toggle{width:100%;justify-content:space-between;padding:9px 10px;font-size:.95rem;}
 .nav-dropdown:not(.open) .nav-mega{display:none;}
 .nav-mega,.nav-mega-split{position:static;transform:none;min-width:0;width:100%;grid-template-columns:1fr;gap:8px;border:0;box-shadow:none;border-radius:0;padding:8px 0;opacity:1;visibility:visible;pointer-events:auto;display:none;}
 .nav-dropdown.open .nav-mega{display:grid;transform:none;}
 .nav-mega::before{display:none;}
 .nav-mega-cats{border-right:0;padding-right:0;gap:4px;}
 .nav-cat{padding:12px;min-height:48px;}
 .nav-cat-arrow,.nav-cat.is-active .nav-cat-arrow{opacity:1;transform:rotate(90deg);}
 .nav-mega-panels{min-height:0;padding-top:0;}
 .nav-mega-panel.is-active{animation:none;}
 .nav-panel-head{margin:4px 0 6px;}
 .nav-panel-links{column-count:1;padding-left:8px;}
 .nav-panel-links>a{padding:9px 8px;min-height:44px;}
 .nav-mega-foot{padding-top:12px;margin-top:4px;}
}
@media(max-width:600px){
 .site-header .navbar{gap:8px;padding-left:16px;padding-right:16px;}
 .site-header .logo-img-nav{width:110px;height:auto;max-width:110px;}
 .language-switch{padding:2px;}
 .language-switch .language-icon{width:16px;height:16px;margin:0 2px;}
 .language-switch a{min-width:57px;padding:0 7px;font-size:.7rem;min-height:44px;}
}
@media(max-width:359px){.site-header .logo-img-nav{width:90px;max-width:90px;}.language-switch .language-icon{display:none;}.site-header .navbar{gap:6px;padding-left:12px;padding-right:12px;}}

/* Typography shared with the homepage */
body, button, input, select, textarea { font-family: var(--font-main); }
h1, h2, h3, .sidebar-card h3 { font-family: var(--font-display); font-weight: 700; }
h4, h5, h6 { font-family: var(--font-main); font-weight: 700; }
.section-label { font-family: var(--font-script); font-weight: 400; }

/* Illustrative construction cleaning comparisons */
.construction-examples .section-desc { max-width: 820px; margin-inline: auto; }
.construction-reference-note { display: flex; align-items: flex-start; gap: 12px; max-width: 900px; margin: 0 auto 32px; padding: 18px 22px; background: #f0f7f1; border: 1px solid #d7e8da; border-radius: 12px; color: #385143; font-size: .9rem; line-height: 1.65; }
.construction-reference-note i { flex: 0 0 auto; margin-top: 5px; }
.construction-comparison-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.construction-comparison { margin: 0; overflow: hidden; border: 1px solid #e0e8e2; border-radius: 18px; background: #fff; box-shadow: 0 8px 24px rgba(20, 60, 34, .06); }
.construction-comparison-photo { position: relative; }
.construction-comparison-photo img { display: block; width: 100%; height: auto; }
.construction-comparison-labels { position: absolute; inset: 14px 14px auto; display: grid; grid-template-columns: 1fr 1fr; gap: 28px; pointer-events: none; }
.construction-comparison-labels span { justify-self: start; padding: 7px 13px; border-radius: 8px; background: rgba(22, 35, 27, .9); color: #fff; font-size: .85rem; font-weight: 600; }
.construction-comparison-labels span + span { background: #21653c; }
.construction-comparison figcaption { padding: 24px; }
.construction-reference-tag { display: inline-block; margin-bottom: 10px; font-size: .75rem; font-weight: 600; color: #52705b; }
.construction-comparison h3 { margin: 0 0 10px; font-size: 1.5rem; }
.construction-comparison figcaption p { margin: 0; color: #5c6861; line-height: 1.7; }
.construction-gallery-cta { margin-top: 32px; }
@media (max-width: 700px) {
 .construction-comparison-grid { grid-template-columns: minmax(0, 1fr); gap: 22px; }
 .construction-reference-note { padding: 16px; }
 .construction-comparison figcaption { padding: 20px; }
 .construction-comparison-labels { inset: 10px 10px auto; gap: 20px; }
 .construction-comparison-labels span { padding: 5px 10px; font-size: .78rem; }
 .construction-gallery-cta .btn { white-space: normal; }
}

/* Keep bilingual footer details within compact mobile screens. */
@media (max-width: 700px) {
 .footer-grid > * { min-width: 0; }
 .footer-contact li { flex-wrap: wrap; overflow-wrap: anywhere; }
 .footer-contact a { max-width: 100%; overflow-wrap: anywhere; }
 .footer-contact .btn { white-space: normal; }
}
