@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Unbounded:wght@500;600&display=swap');

:root{
  --ws-ink:#18221e;
  --ws-forest:#19372d;
  --ws-forest-2:#234b3d;
  --ws-lime:#c9f563;
  --ws-lime-hover:#d8ff7e;
  --ws-paper:#f2f0e8;
  --ws-white:#fff;
  --ws-muted:#69726d;
  --ws-line:rgba(24,34,30,.15);
  --ws-shadow:0 18px 42px rgba(25,55,45,.10);
  --ws-display:'Unbounded',sans-serif;
  --ws-body:'Manrope',sans-serif;

  --bg:var(--ws-paper);
  --bg2:#fff;
  --bg-soft:#fff;
  --card:#fff;
  --panel:#fff;
  --panel2:#f8f7f2;
  --paper:var(--ws-paper);
  --ink:var(--ws-ink);
  --text:var(--ws-ink);
  --txt:var(--ws-ink);
  --muted:var(--ws-muted);
  --muted-2:#87908b;
  --muted2:#87908b;
  --line:var(--ws-line);
  --line-soft:rgba(24,34,30,.09);
  --accent:var(--ws-forest);
  --accent-2:var(--ws-forest-2);
  --grn:var(--ws-forest);
  --grn2:var(--ws-forest-2);
  --radius:14px;

  --cluster-bg:var(--ws-paper);
  --cluster-bg-alt:#fff;
  --cluster-card:#fff;
  --cluster-line:var(--ws-line);
  --cluster-text:var(--ws-ink);
  --cluster-muted:var(--ws-muted);
  --cluster-accent:var(--ws-lime);
}

html{scroll-behavior:smooth}
body{
  background:var(--ws-paper);
  color:var(--ws-ink);
  font-family:var(--ws-body);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
main{background:var(--ws-paper)}
a{color:inherit}
h1,h2,
.section-title,
.rk-headline,
.cluster-hero h1,
.cluster-section h2,
.project-title,
.project-price,
.card-price-main,
.mp-hero h1,
.article-cta h3{
  font-family:var(--ws-display)!important;
  font-weight:500!important;
  letter-spacing:-.05em!important;
}
h3{letter-spacing:-.02em}
.card-title{
  font-family:var(--ws-display)!important;
  font-weight:500!important;
  letter-spacing:-.04em!important;
}
.cn{max-width:1280px}
.section,.cluster-section,.rk-section{padding-top:96px;padding-bottom:96px}
.section.alt,.section.soft,.cluster-section--alt{background:#fff}

.page-hero,
.projects-hero,
.project-hero{
  min-height:430px;
  display:flex;
  align-items:center;
  color:#fff;
  border:0;
  background:
    radial-gradient(900px 420px at 84% -30%,rgba(201,245,99,.14),transparent 62%),
    linear-gradient(135deg,var(--ws-forest),#10251e)!important;
}
.page-hero::before{background:linear-gradient(90deg,rgba(10,24,18,.16),rgba(10,24,18,.04))!important}
.page-hero-content{padding:96px 0!important}
.projects-hero .cn{padding-top:82px!important;padding-bottom:76px!important}
.page-hero h1,
.projects-hero h1,
.project-hero h1{
  max-width:980px;
  margin-bottom:18px;
  color:#fff!important;
  font-size:clamp(42px,6vw,76px)!important;
  line-height:1.04!important;
}
.page-hero p,
.projects-hero p,
.project-hero p{max-width:760px;color:rgba(255,255,255,.72)!important;font-size:17px}
.page-hero .eyebrow,
.projects-hero .eyebrow,
.project-hero .eyebrow{color:rgba(255,255,255,.6)!important}

.btn,
.button,
.cluster-btn,
.rk-btn,
.fbtn,
.form-submit,
.filters-sheet-apply{
  min-height:48px;
  border-radius:0!important;
  font-family:var(--ws-body)!important;
  font-weight:800!important;
}
.btn-main,.btn-grn,.button-accent,.cluster-btn--main,.form-submit,.filters-sheet-apply{
  border-color:var(--ws-lime)!important;
  background:var(--ws-lime)!important;
  color:#142018!important;
}
.btn-main:hover,.btn-grn:hover,.button-accent:hover,.cluster-btn--main:hover,.form-submit:hover{
  background:var(--ws-lime-hover)!important;
}
.btn-dk,.button-dark,.rk-btn.primary{
  background:var(--ws-forest)!important;
  color:#fff!important;
}
.btn-out,.btn-ghost,.button-outline,.rk-btn.ghost{
  border:1px solid var(--ws-line)!important;
  background:transparent!important;
  color:var(--ws-ink)!important;
}

.card,
.project-card,
.service-card,
.adv-item,
.list-card,
.faq-item,
.stage,
.price-item,
.info-card,
.contact-card,
.spec-card,
.rel-card,
.cluster-card,
.cluster-product,
.quality__fact,
.quality__panel{
  border:1px solid var(--ws-line)!important;
  border-radius:10px!important;
  background:#fff!important;
  color:var(--ws-ink)!important;
  box-shadow:none!important;
}
.card:hover,
.project-card:hover,
.service-card:hover,
.cluster-product:hover{
  border-color:rgba(25,55,45,.3)!important;
  box-shadow:var(--ws-shadow)!important;
  transform:translateY(-3px);
}

.portfolio-page .cards-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:22px!important;
}
.portfolio-page .card-media{aspect-ratio:16/10!important}
.portfolio-page .card-body{padding:18px 20px 16px!important}
.portfolio-page .card-title{
  margin-bottom:7px!important;
  color:var(--ws-ink)!important;
  font-family:var(--ws-display)!important;
  font-size:18px!important;
  font-weight:500!important;
}
.portfolio-page .card-meta{margin-bottom:7px!important;color:var(--ws-muted)!important}
.portfolio-page .card-desc{
  min-height:0!important;
  display:-webkit-box;
  overflow:hidden;
  color:var(--ws-muted)!important;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.portfolio-page .card-actions{padding-top:12px!important}
.portfolio-page .card-link{
  width:auto!important;
  min-height:42px;
  justify-content:space-between!important;
  padding:0!important;
  border:0!important;
  border-top:1px solid var(--ws-line)!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--ws-ink)!important;
}
.portfolio-page .card-link::after{content:"→";font-size:17px}
.card-desc,.card-sub,.card-meta,.project-meta,.project-desc,
.adv-item,.list-card p,.faq-item p,.stage p,.price-item p,
.cluster-card p,.cluster-card ul,.cluster-product__meta,
.quality__lead,.quality__fact p,.quality__panel p{
  color:var(--ws-muted)!important;
}

.tabs-wrap{gap:8px}
.tab-btn,.chip,.fbtn,.cross-links a,.cluster-links a,.pill{
  border:1px solid var(--ws-line)!important;
  background:#fff!important;
  color:var(--ws-ink)!important;
}
.tab-btn.active,.chip.active,.fbtn.primary{
  border-color:var(--ws-forest)!important;
  background:var(--ws-forest)!important;
  color:#fff!important;
}
.filters-box,.seo-card,.catalog-guide,.catalog-assist,.geo-coverage,.cta-band,.seo-note{
  border:1px solid var(--ws-line)!important;
  border-radius:10px!important;
  background:#fff!important;
  color:var(--ws-ink)!important;
  box-shadow:none!important;
}
.filters-head h2,.quick-label,.f-field label{color:var(--ws-muted)!important}
.filters-sub,.cards-state,.catalog-state,.filters-result{color:var(--ws-muted)!important}
.filters-result{border-color:rgba(25,55,45,.18)!important;background:rgba(25,55,45,.06)!important}
.filters-result strong{color:var(--ws-ink)!important}
.sort-select,.f-field input,.f-field select,.fg input,.fg select,.fg textarea,
.cluster-field input,.cluster-field textarea{
  border:1px solid var(--ws-line)!important;
  border-radius:4px!important;
  background:#fff!important;
  color:var(--ws-ink)!important;
}
.sort-wrap::after,.f-select::after{color:var(--ws-muted)!important}
.card-img{background:#dfe4de!important}
.card-area{border-color:rgba(255,255,255,.25)!important;background:rgba(25,55,45,.84)!important;color:#fff}
.card-price{
  display:grid;
  gap:7px;
  padding-top:18px!important;
  border-color:var(--ws-line)!important;
}
.card-price-main{
  color:var(--ws-ink)!important;
  font-size:clamp(24px,2.1vw,30px)!important;
  font-weight:600!important;
  line-height:1.12!important;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.card-price-sub{
  margin-top:0!important;
  color:var(--ws-muted)!important;
  font-size:11px!important;
  line-height:1.45;
}
.card-actions{margin-top:15px!important}
.card-btn.dark{
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 16px!important;
  border:1px solid var(--ws-lime)!important;
  border-radius:0!important;
  background:var(--ws-lime)!important;
  color:var(--ws-ink)!important;
  font-size:12px!important;
  font-weight:800!important;
}
.card-btn.dark:hover{
  border-color:var(--ws-lime-hover)!important;
  background:var(--ws-lime-hover)!important;
}

/* Project details: convert the former dark content cards to the light system. */
.price-block{
  border:1px solid rgba(201,245,99,.34)!important;
  border-radius:10px!important;
  background:rgba(15,33,26,.92)!important;
  box-shadow:none!important;
}
.price-block::before{background:var(--ws-lime)!important}
.price-main{
  color:#fff!important;
  font-family:var(--ws-display)!important;
  font-weight:500!important;
  font-variant-numeric:tabular-nums;
}
.price-label{color:var(--ws-lime)!important}
.price-sub{color:rgba(255,255,255,.55)!important}
.price-mort{color:#fff!important}
.price-note{color:rgba(255,255,255,.68)!important}

.section-title{color:var(--ws-ink)!important}
.section-lead,.desc-text,.cost-lead{color:var(--ws-muted)!important}
.feature-chip,.fact,.acc,.plan-card,.process-item,.cost-card{
  border:1px solid var(--ws-line)!important;
  border-radius:10px!important;
  background:#fff!important;
  color:var(--ws-ink)!important;
}
.feature-chip,.fact-v,.plan-title,.acc>summary,
.spec-group-title,.spec-item strong,.process-title,.faq-q,
.cost-v{color:var(--ws-ink)!important}
.fact-k,.plan-sub,.acc>summary::after,.spec-item span,
.process-desc,.faq-a,.cost-k,.cost-sub{color:var(--ws-muted)!important}
.acc-content{color:var(--ws-ink)!important}
.spec-short li,.turnkey-list li{color:var(--ws-muted)!important}
.spec-short li::before,.turnkey-list li::before{background:var(--ws-forest)!important}
.spec-group{
  border:1px solid var(--ws-line)!important;
  background:var(--ws-paper)!important;
}
.spec-item{border-color:var(--ws-line)!important}
.process-step{
  border-color:var(--ws-forest)!important;
  color:var(--ws-forest)!important;
}
.cost-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.cost-card{padding:22px}
.cost-k{
  margin-bottom:10px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.cost-v{
  margin-bottom:8px;
  font-family:var(--ws-display);
  font-size:clamp(22px,2.5vw,32px);
  font-weight:500;
  line-height:1.12;
}
.cost-sub{font-size:13px;line-height:1.55}
.inline-cta{
  border-color:var(--ws-line)!important;
  border-radius:10px!important;
  background:#fff!important;
}
.inline-cta p{color:var(--ws-muted)!important}
.cta-card{
  border-color:rgba(255,255,255,.16)!important;
  border-radius:10px!important;
  background:var(--ws-forest)!important;
  color:#fff!important;
}
.cta-card h2{color:#fff!important}
.cta-card p,.cta-note{color:rgba(255,255,255,.68)!important}

.hero,
.cluster-hero,
.mp-hero{
  color:#fff;
  border:0!important;
  background:
    radial-gradient(900px 420px at 84% -30%,rgba(201,245,99,.14),transparent 62%),
    linear-gradient(135deg,var(--ws-forest),#10251e)!important;
}
.hero h1,.cluster-hero h1,.mp-hero h1{color:#fff!important}
.hero p,.hero-price,.cluster-hero p,.mp-lead{color:rgba(255,255,255,.74)!important}
.hero .btn-ghost,.cluster-hero .cluster-btn--ghost,.mp-hero .btn-ghost{
  border-color:rgba(255,255,255,.28)!important;
  color:#fff!important;
}
.hero-media,.mp-media{border-radius:10px!important;border-color:rgba(255,255,255,.18)!important}
.cluster-hero h1{font-size:clamp(42px,6vw,76px)!important;line-height:1.04!important}
.cluster-section h2{font-size:clamp(34px,4.3vw,58px)!important}
.cluster-btn--main{background:var(--ws-lime)!important}
.cluster-price__main,.cluster-cta{
  border-color:rgba(25,55,45,.22)!important;
  border-radius:10px!important;
  background:var(--ws-forest)!important;
  color:#fff!important;
}
.cluster-price__main p,.cluster-cta p{color:rgba(255,255,255,.68)!important}
.cluster-product__link{color:var(--ws-forest)!important}
.cluster-table{background:#fff!important;color:var(--ws-ink)!important}
.cluster-table th{color:var(--ws-muted)!important}
.cluster-faq details{border-color:var(--ws-line)!important;background:#fff!important}
.cluster-faq p{color:var(--ws-muted)!important}

.rk-headline{font-size:clamp(38px,5vw,68px)!important;line-height:1.06!important}
.rk-hero{
  padding:104px 0 84px!important;
  background:
    radial-gradient(720px 420px at 15% 10%,rgba(201,245,99,.10),transparent 62%),
    var(--ws-forest)!important;
  color:#fff!important;
}
.rk-hero-grid{
  grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr)!important;
  align-items:center!important;
  gap:56px!important;
}
.rk-hero-copy{padding:0!important}
.rk-hero .rk-headline{color:#fff!important}
.rk-hero .rk-eyebrow{color:var(--ws-lime)!important}
.rk-hero .rk-eyebrow::before{background:var(--ws-lime)!important}
.rk-hero .rk-subtitle{color:rgba(255,255,255,.68)!important}
.rk-hero .rk-triggers li{color:rgba(255,255,255,.72)!important}
.rk-hero .rk-triggers li::before{color:var(--ws-lime)!important}
.rk-hero-media{
  min-height:590px!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:10px!important;
  box-shadow:none!important;
}
.rk-hero-collage{gap:2px!important;padding:0!important}
.rk-hero-collage figure{border-radius:0!important}
.rk-hero-glass,.rk-hero-stat{border-radius:4px!important}
.rk-section.alt,.rk-tone-light,.rk-tone-paper,.rk-tone-wood,.rk-tone-warm,.rk-tone-ink{
  background:var(--ws-paper)!important;
}
.rk-tone-dark{background:var(--ws-forest)!important}
.rk-map{background:rgba(242,240,232,.94)!important}
.rk-map-nav a{border-color:var(--ws-line)!important;background:#fff!important;color:var(--ws-ink)!important}
.rk-map-nav a.active{background:var(--ws-forest)!important;color:#fff!important}
.rk-card,.rk-hero-media{border-radius:10px!important}
.rk-btn{
  min-height:52px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 22px!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.rk-btn.primary{
  border:1px solid var(--ws-lime)!important;
  background:var(--ws-lime)!important;
  color:var(--ws-ink)!important;
}
.rk-btn.primary:hover{background:var(--ws-lime-hover)!important}
.rk-btn.ghost{
  border:1px solid var(--ws-line)!important;
  background:transparent!important;
  color:var(--ws-ink)!important;
}
.rk-hero .rk-btn.ghost{
  border-color:rgba(255,255,255,.32)!important;
  color:#fff!important;
}

.mp-price{border-radius:10px!important;background:var(--ws-lime)!important;color:var(--ws-ink)!important;box-shadow:none!important}
.mp-price small,.mp-price span{color:rgba(24,34,30,.68)!important}
.section h2{font-size:clamp(34px,4vw,58px)!important}
.seo-content{color:var(--ws-muted)!important}

.article{background:#fff!important;color:var(--ws-ink)!important}
.article-intro,.article p,.article li,.article-table td,.article-note p,
.article-warning p,.article-summary p{color:var(--ws-ink)!important}
.article strong{color:var(--ws-ink)!important}
.article a:not(.btn){color:var(--ws-forest)!important}
.article-nav,.article-summary,.article-cta{
  border-color:var(--ws-line)!important;
  border-radius:10px!important;
  background:var(--ws-paper)!important;
}
.article-table-wrap{border-color:var(--ws-line)!important}
.article-table th{background:rgba(25,55,45,.08)!important;color:var(--ws-forest)!important}
.article-table td{border-color:var(--ws-line)!important}
.faq-list details{border-color:var(--ws-line)!important;background:#fff!important}
.article-sources p,.article-sources li{color:var(--ws-muted)!important}

.quality{background:#fff!important;color:var(--ws-ink)!important}
.quality__eyebrow,.quality__fact strong{color:var(--ws-forest)!important}
.quality__links a{border-color:var(--ws-line)!important;background:var(--ws-paper)!important;color:var(--ws-ink)!important}

footer,.footer,.cluster-footer,.paint-footer{
  border-color:rgba(255,255,255,.14)!important;
  background:var(--ws-forest)!important;
  color:#fff!important;
}
footer a,.footer a,.cluster-footer a,.footer-sub,.fsub,.paint-footer,
footer p,.footer p,.cluster-footer p{color:rgba(255,255,255,.64)!important}
.footer-phone,.ftel{color:#fff!important}

.form-overlay,.cluster-modal{background:rgba(10,24,18,.78)!important}
.form-box,.cluster-modal__box{
  border-color:var(--ws-line)!important;
  border-radius:10px!important;
  background:var(--ws-paper)!important;
  color:var(--ws-ink)!important;
}
.form-box h3,.cluster-modal__box h2{font-family:var(--ws-display)!important;color:var(--ws-ink)!important}
.f-close,.fcls,.cluster-close{color:var(--ws-ink)!important}
.form-note,.cluster-modal__box p,.fg label,.cluster-field label{color:var(--ws-muted)!important}

@media(max-width:768px){
  html,body{max-width:100%;overflow-x:clip!important}
  .section,.cluster-section,.rk-section{padding-top:64px;padding-bottom:64px}
  .page-hero,.projects-hero,.project-hero{min-height:360px}
  .page-hero-content{padding:72px 0!important}
  .page-hero h1,.projects-hero h1,.project-hero h1,
  .hero h1,.cluster-hero h1,.mp-hero h1{font-size:clamp(36px,11vw,52px)!important}
  .filters-box{padding:14px!important}
  .card,.project-card,.service-card{border-radius:8px!important}
  .card-price-main{font-size:25px!important}
  .cost-grid{grid-template-columns:1fr}
  .rk-hero-grid{grid-template-columns:1fr!important;gap:34px!important}
  .rk-hero-media{min-height:380px!important}
  .rk-hero .rk-btns{display:grid!important;grid-template-columns:1fr}
  .rk-hero .rk-btn{width:100%}
  .rk-map{overflow:hidden}
  .rk-map-nav{width:100%;max-width:100%;min-width:0;overscroll-behavior-x:contain}
  .portfolio-page .cards-grid{grid-template-columns:1fr!important;gap:16px!important}
  .portfolio-page .card-media{aspect-ratio:4/3!important}
  .portfolio-page .card-body{padding:16px!important}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
