body.site-green{
  --paper:#f3f7f2!important;
  --surface:#ffffff!important;
  --ink:#173126!important;
  --muted:#4f6257!important;
  --accent:#246b45!important;
  --accent-2:#8b5d08!important;
  --accent2:#8b5d08!important;
  --green-header:#0b2418;
  --green-header-copy:#e8f3e9;
  --green-action:#246b45;
  --green-action-hover:#185637;
  background:var(--paper);
  color:var(--ink)
}
.site-green :where(h1,h2,h3,.brand,.brand-word,.eyebrow,.kicker,.submit-btn){
  letter-spacing:0
}

/* Static, brand-forward header. */
.site-green .site-header{
  position:static!important;
  inset:auto!important;
  z-index:auto;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:20px;
  padding:13px max(24px,calc((100vw - 1240px)/2));
  background:var(--green-header);
  border:0;
  border-bottom:4px solid #d5a62c;
  box-shadow:0 12px 28px rgba(7,28,18,.18);
  backdrop-filter:none
}
.site-green .brand{
  min-width:max-content;
  color:#fff;
  display:inline-flex;
  align-items:center;
  gap:10px
}
.site-green .brand-mark{
  width:38px;
  height:38px;
  filter:drop-shadow(0 5px 10px rgba(0,0,0,.24))
}
.site-green .brand-word{
  color:#f7fbf7;
  font-size:1.12rem;
  letter-spacing:0
}
.site-green .brand-word b{color:#9fe25f}
.site-green .brand-word i{color:#c1d8c5}
.site-green .site-header nav{
  min-width:0;
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:5px 16px;
  overflow:visible;
  font-size:.86rem
}
.site-green .site-header nav a{
  position:relative;
  min-height:38px;
  display:inline-flex;
  align-items:center;
  color:#c9ddcd;
  padding:5px 0;
  text-decoration:none
}
.site-green .site-header nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:3px;
  height:2px;
  background:#d5a62c;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .18s ease
}
.site-green .site-header nav a:hover,
.site-green .site-header nav a:focus-visible{color:#fff}
.site-green .site-header nav a:hover::after,
.site-green .site-header nav a:focus-visible::after{transform:scaleX(1)}
.site-green .site-header nav a[href="#instant-quote"]{
  min-height:42px;
  padding:8px 15px;
  color:#10271a;
  background:#dff45c;
  border:1px solid #efffa3;
  border-radius:6px;
  box-shadow:0 6px 16px rgba(0,0,0,.2)
}
.site-green .site-header nav a[href="#instant-quote"]::after{display:none}
.site-green .site-header nav a[href="#instant-quote"]:hover{background:#efff8a;color:#10271a}
.site-green .lang-switcher{
  display:grid;
  grid-template-columns:repeat(4,34px);
  gap:3px;
  align-items:center;
  justify-content:end;
  font-size:.72rem
}
.site-green .lang-switcher a{
  min-width:34px;
  min-height:30px;
  display:grid;
  place-items:center;
  padding:0;
  color:#c3d7c7;
  border:1px solid rgba(255,255,255,.13);
  border-radius:4px;
  text-decoration:none
}
.site-green .lang-switcher a:hover{color:#fff;background:rgba(255,255,255,.1)}
.site-green .lang-switcher a[aria-current]{
  color:#10271a;
  background:#d5a62c;
  border-color:#e9c35e
}

/* Image-led hero with the actual upload pipeline in the first viewport. */
.site-green .hero{
  min-height:660px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,440px);
  align-items:center;
  gap:56px;
  padding:72px max(32px,calc((100vw - 1180px)/2)) 82px;
  color:#fff;
  overflow:hidden;
  background-image:
    linear-gradient(90deg,rgba(5,24,14,.97) 0%,rgba(8,38,22,.9) 42%,rgba(8,38,22,.38) 70%,rgba(8,38,22,.12) 100%),
    url("/assets/hero-functional-workshop.webp")!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important
}
.site-green .hero::before{
  content:"";
  position:absolute;
  inset:auto 0 0;
  z-index:-1;
  height:9px;
  background:linear-gradient(90deg,#246b45 0 44%,#d5a62c 44% 63%,#dff45c 63% 100%)
}
.site-green .hero::after{
  background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.28))
}
.site-green .hero-inner{
  width:100%;
  max-width:650px;
  margin:0;
  padding:0;
  border:0
}
.site-green .hero .eyebrow{
  margin:0;
  padding:7px 10px;
  color:#10271a;
  background:#dff45c;
  border:1px solid #efffa3;
  border-radius:4px;
  box-shadow:none
}
.site-green .hero h1{
  max-width:12ch;
  margin:18px 0;
  color:#fff;
  font-size:4rem;
  line-height:1;
  text-shadow:0 3px 24px rgba(0,0,0,.42)
}
.site-green .hero .lede{
  max-width:590px;
  margin:0 0 22px;
  color:#e7f1e8;
  font-size:1.18rem;
  text-shadow:0 2px 16px rgba(0,0,0,.45)
}
.site-green .micro-list{margin-bottom:24px}
.site-green .micro-list span{
  min-height:32px;
  color:#f5fbf5;
  background:rgba(8,34,20,.72);
  border:1px solid rgba(223,244,92,.4);
  border-radius:4px
}
.site-green .hero-actions{gap:12px;margin-top:0}
.site-green .button{
  min-height:48px;
  border-radius:6px
}
.site-green .button.primary,
.site-green .submit-btn,
.site-green .map-btn{
  color:#fff;
  background:var(--green-action);
  border-color:var(--green-action);
  box-shadow:none
}
.site-green .button.primary:hover,
.site-green .submit-btn:hover,
.site-green .map-btn:hover{
  color:#fff;
  background:var(--green-action-hover);
  border-color:var(--green-action-hover)
}
.site-green main .button.secondary,
.site-green .map-btn+.map-btn{
  color:var(--ink);
  background:#fff;
  border-color:#657c6d
}
.site-green .hero .button.primary{
  color:#10271a;
  background:#dff45c;
  border-color:#efffa3
}
.site-green .hero .button.primary:hover{color:#10271a;background:#efff8a;border-color:#efff8a}
.site-green .hero .button.secondary{
  color:#fff;
  background:rgba(6,28,17,.62);
  border-color:rgba(255,255,255,.74)
}

.hero-upload-panel{
  width:100%;
  min-width:0;
  padding:24px;
  color:var(--ink);
  background:rgba(250,253,249,.97);
  border:1px solid rgba(255,255,255,.78);
  border-top:5px solid #dff45c;
  border-radius:8px;
  box-shadow:0 24px 58px rgba(0,0,0,.34)
}
.hero-upload-panel .kicker{margin:0;color:var(--accent)}
.hero-upload-panel h2{
  margin:5px 0 8px;
  color:var(--ink);
  font-size:1.78rem;
  line-height:1.05
}
.hero-upload-intro{margin:0 0 17px;color:var(--muted);font-size:.92rem}
.hero-model-dropzone{
  width:100%;
  min-height:128px;
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  align-items:center;
  gap:14px;
  padding:18px;
  color:var(--ink);
  background:#fff;
  border:2px dashed #6d9277;
  border-radius:7px;
  font:inherit;
  text-align:left;
  cursor:pointer;
  transition:border-color .18s ease,background .18s ease,transform .18s ease
}
.hero-model-dropzone:hover,
.hero-model-dropzone.is-dragging{
  border-color:#8b5d08;
  background:#f7fbf5;
  transform:translateY(-2px)
}
.hero-model-dropzone:disabled{cursor:wait;opacity:.72;transform:none}
.hero-upload-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  color:#fff;
  background:var(--green-action);
  border-radius:50%;
  font-size:1.45rem;
  font-weight:900
}
.hero-upload-copy{min-width:0;display:grid;gap:4px}
.hero-upload-copy strong{
  color:var(--ink);
  font-size:1.04rem;
  overflow-wrap:anywhere
}
.hero-upload-copy small{color:var(--muted);font-size:.8rem}
.hero-upload-progress{margin-top:14px}
.hero-upload-progress-track{
  height:9px;
  overflow:hidden;
  background:#d8e5da;
  border-radius:4px
}
.hero-upload-progress-track span{
  display:block;
  width:0;
  height:100%;
  background:linear-gradient(90deg,var(--green-action),#8b5d08);
  transition:width .2s ease
}
.hero-upload-progress p{margin:7px 0 0;color:#365443;font-size:.82rem}
.hero-pipeline{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:18px 0 0;
  padding:0;
  list-style:none
}
.hero-pipeline li{
  min-width:0;
  padding-top:9px;
  border-top:2px solid #bdd0c0;
  color:#52665a;
  font-size:.72rem;
  font-weight:800;
  text-transform:uppercase
}
.hero-pipeline span{
  display:block;
  margin-bottom:2px;
  color:var(--accent);
  font-size:.7rem
}
.hero-upload-result{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:4px 12px;
  margin-top:16px;
  padding:14px;
  color:#fff;
  background:#143d27;
  border-left:4px solid #dff45c;
  border-radius:6px
}
.hero-upload-progress[hidden],
.hero-upload-result[hidden]{display:none!important}
.hero-upload-result span{color:#c7dbca;font-size:.74rem;font-weight:800;text-transform:uppercase}
.hero-upload-result strong{font-size:1.35rem}
.hero-upload-result a{
  grid-column:2;
  grid-row:1 / span 2;
  color:#10271a;
  background:#dff45c;
  border-radius:5px;
  padding:9px 11px;
  font-size:.78rem;
  font-weight:900;
  text-decoration:none
}

/* Main content palette and readable component states. */
.site-green .eyebrow,
.site-green .kicker{color:var(--accent)}
.site-green .intro p,
.site-green .seo-band p,
.site-green .contact p,
.site-green .source-heading>p,
.site-green .plain-page p,
.site-green .plain-page li,
.site-green .source-card p,
.site-green .intake-card p,
.site-green .fit-card p,
.site-green .service-card p,
.site-green .proof-copy p,
.site-green .faq details p,
.site-green .about-copy p,
.site-green .about-mission p,
.site-green .about-boundary p,
.site-green .about-timeline li{color:var(--muted)}
.site-green .services,
.site-green .source-strip,
.site-green .fit-guide{background:var(--paper)}
.site-green .source-card,
.site-green .intake-card,
.site-green .service-card,
.site-green .fit-card,
.site-green .faq details,
.site-green .niche-board article{
  color:var(--ink);
  background:#fff;
  border:1px solid #d2dfd4;
  border-radius:8px;
  box-shadow:0 10px 26px rgba(26,58,37,.07)
}
.site-green .source-card::before,
.site-green .intake-card::before,
.site-green .service-card::before{background:var(--green-action)}
.site-green .source-card::after,
.site-green .intake-card::after,
.site-green .service-card::after{display:none}
.site-green .source-card strong,
.site-green .intake-card strong,
.site-green .fit-card strong,
.site-green .niche-board strong{color:var(--accent)}
.site-green .proof{
  max-width:none;
  color:var(--ink);
  background:#e7f0e6;
  align-items:center
}
.site-green .proof h2{color:var(--ink)}
.site-green .proof-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  align-items:stretch
}
.site-green .proof-card{
  color:var(--ink);
  background:#fff;
  border:1px solid #cbdacb;
  border-radius:8px;
  box-shadow:0 12px 28px rgba(34,66,44,.11);
  display:grid;
  grid-template-rows:260px auto
}
.site-green .proof-card:first-child{grid-row:auto}
.site-green .proof-card img{
  width:100%;
  height:260px;
  aspect-ratio:auto;
  object-fit:cover
}
.site-green .proof-card figcaption{
  color:#294735;
  background:#fff;
  border-top:1px solid #dce7dc
}
.site-green .niche-copy{
  color:#fff;
  background:#143d27;
  border:1px solid #276443;
  border-radius:8px
}
.site-green .niche-copy .kicker{color:#dff45c}
.site-green .niche-copy h2{color:#fff}
.site-green .niche-copy p{color:#d6e5d8}
.site-green .process{background:#fbfdfb}
.site-green .process li{
  color:#304b3a;
  background:#edf4ed;
  border-left-color:#8b5d08
}
.site-green .contact-panel,
.site-green .contact-aside{
  color:#fff;
  background:#143d27;
  border-color:#276443;
  border-radius:8px
}
.site-green .contact-panel p,
.site-green .contact-aside p{color:#d6e5d8}
.site-green .contact-panel a,
.site-green .contact-aside a{color:#fff}
.site-green .contact-form{
  border:1px solid #cfdbd0;
  border-radius:8px;
  box-shadow:0 14px 36px rgba(26,58,37,.09)
}
.site-green .form-group input:focus,
.site-green .form-group textarea:focus{
  border-color:var(--green-action);
  box-shadow:0 0 0 3px rgba(36,107,69,.18)
}
.site-green footer{
  color:#43584b;
  background:#eaf1e9;
  border-top-color:#cad8cb
}
.site-green footer a{color:#244c34;border-bottom-color:#6f8777}

/* The detailed quote remains an unframed working section below the hero. */
.site-green #quote-prominent-slot{padding:0;margin:0;background:transparent}
.site-green .instant-quote{
  max-width:none;
  margin:0;
  padding:76px max(24px,calc((100vw - 1160px)/2));
  color:var(--ink);
  background:#edf4ed;
  border:0;
  border-bottom:1px solid #c9d8cb;
  border-radius:0;
  box-shadow:none;
  position:relative;
  z-index:auto
}
.site-green .instant-quote-heading>p,
.site-green .quantity-tier-heading>p{color:var(--muted)}
.site-green .instant-quote-heading h2{font-size:2.7rem}
.site-green .quote-capacity{
  display:inline-flex;
  margin:12px 0 0;
  padding:7px 10px;
  color:#315340;
  background:#fff;
  border:1px solid #bfcfc1;
  border-radius:6px;
  font-size:.84rem;
  font-weight:800
}
.site-green .quote-capacity[data-accepting="true"]::before{
  content:"";
  width:8px;
  height:8px;
  margin:6px 8px 0 0;
  border-radius:50%;
  background:var(--green-action)
}
.site-green .model-dropzone{
  color:var(--ink);
  background:#fff;
  border-color:#779780
}
.site-green .model-dropzone:hover,
.site-green .model-dropzone.is-dragging{
  background:#f7fbf6;
  border-color:#8b5d08
}
.site-green .model-dropzone-icon{
  color:#fff;
  background:var(--green-action)
}
.site-green .model-dropzone span:last-child{color:var(--muted)}
.site-green .quote-progress-track{background:#d2dfd4}
.site-green .quote-progress-track span{background:linear-gradient(90deg,var(--green-action),#8b5d08)}
.site-green .quote-progress p{color:#365443}
.site-green .model-preview{
  background:#e5efe5;
  border-color:#bdcfbf
}
.site-green .model-preview-label{
  color:#fff;
  background:rgba(11,36,24,.9)
}
.site-green .quote-fieldset legend,
.site-green .quote-quantity>label{color:#304b3a}
.site-green .quote-segmented,
.site-green .quote-stepper{
  background:#fff;
  border-color:#b9cbbb
}
.site-green .quote-segmented span{color:#3f5648;border-color:#d4e0d5}
.site-green .quote-segmented input:checked+span{
  color:#fff;
  background:var(--green-action)
}
.site-green .quote-stepper button{
  color:#fff;
  background:var(--green-action)
}
.site-green .quote-metrics dt{color:#53665a}
.site-green .quote-metrics dd{color:var(--ink)}
.site-green .quote-current-price{
  color:#fff;
  background:#143d27;
  border-left-color:#d5a62c
}
.site-green .quote-current-price span{color:#c6d9ca}
.site-green .quote-current-price strong{color:#fff}
.site-green .quote-current-price p{color:#d6e5d8}
.site-green .quantity-tier{
  color:var(--ink);
  background:#fff;
  border-color:#bfcec0
}
.site-green .quantity-tier:hover:not(:disabled){
  border-color:var(--green-action);
  box-shadow:0 10px 24px rgba(30,67,42,.1)
}
.site-green .quantity-tier-title{color:#52665a}
.site-green .quantity-tier-price{color:#244c34}
.site-green .quantity-tier-saving{color:#246b45}

/* On-brand location panel. */
.contact-map .map-visual{
  min-height:150px;
  display:flex;
  align-items:center;
  gap:18px;
  padding:38px 28px;
  background:linear-gradient(135deg,#edf5ec,#f7f0dc)
}
.contact-map .map-visual svg{flex:0 0 auto;filter:drop-shadow(0 4px 8px rgba(23,58,47,.22))}
.contact-map .map-visual-text strong{
  display:block;
  color:var(--ink);
  font-family:"Space Grotesk",Inter,sans-serif;
  font-size:1.18rem;
  letter-spacing:0
}
.contact-map .map-visual-text span{color:var(--muted);font-size:.98rem}

@media(max-width:1080px){
  .site-green .site-header{
    grid-template-columns:auto minmax(0,1fr);
    gap:10px 20px
  }
  .site-green .lang-switcher{
    grid-column:1 / -1;
    grid-template-columns:repeat(7,34px);
    justify-content:start
  }
  .site-green .hero{
    grid-template-columns:minmax(0,1fr) minmax(330px,390px);
    gap:34px
  }
  .site-green .hero h1{font-size:3.25rem}
}

@media(max-width:820px){
  .site-green .site-header{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    padding:11px 16px 13px
  }
  .site-green .site-header .brand{order:1;justify-self:start}
  .site-green .site-header nav:not(.lang-switcher){
    order:3;
    flex:initial;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:6px;
    width:100%;
    margin:0;
    padding:0;
    overflow:visible;
    font-size:.78rem
  }
  .site-green .site-header nav:not(.lang-switcher) a{
    min-height:40px;
    justify-content:center;
    padding:7px 6px;
    color:#d6e6d8;
    background:rgba(255,255,255,.07);
    border:1px solid rgba(255,255,255,.12);
    border-radius:5px;
    white-space:normal;
    text-align:center
  }
  .site-green .site-header nav:not(.lang-switcher) a::after{display:none}
  .site-green .site-header nav:not(.lang-switcher) a[href="#instant-quote"]{
    min-height:40px;
    padding:7px 6px
  }
  .site-green .site-header .lang-switcher{
    order:2;
    grid-column:auto;
    grid-template-columns:repeat(7,minmax(38px,1fr));
    width:100%;
    max-width:none;
    margin:0;
    gap:4px
  }
  .site-green .site-header .lang-switcher a{min-width:0;min-height:38px}
  .site-green .hero{
    min-height:auto;
    grid-template-columns:1fr;
    gap:34px;
    padding:56px 20px 64px;
    background-image:
      linear-gradient(180deg,rgba(5,24,14,.94) 0%,rgba(5,24,14,.78) 48%,rgba(5,24,14,.5) 100%),
      url("/assets/hero-functional-workshop.webp")!important;
    background-position:center center!important
  }
  .site-green .hero-inner{max-width:650px}
  .site-green .hero h1{max-width:14ch;font-size:2.35rem}
  .site-green .hero .lede{font-size:1.02rem}
  .site-green .hero-actions{width:100%;max-width:390px}
  .hero-upload-panel{order:-1;max-width:520px;padding:20px}
  .hero-upload-panel h2{font-size:1.55rem}
  .site-green .proof-grid{grid-template-columns:1fr}
  .site-green .proof-card{grid-template-rows:220px auto}
  .site-green .proof-card img{height:220px}
  .site-green .instant-quote{padding:58px 20px}
  .site-green .instant-quote-heading h2{font-size:1.9rem}
}

@media(max-width:520px){
  .site-green .site-header nav:not(.lang-switcher) a[href="#facts"],
  .site-green .site-header nav:not(.lang-switcher) a[href="#proof"],
  .site-green .site-header nav:not(.lang-switcher) a[href="#process"]{display:none}
  .site-green .site-header nav:not(.lang-switcher){grid-template-columns:repeat(4,minmax(0,1fr))}
  .site-green .brand-mark{width:34px;height:34px}
  .site-green .brand-word{font-size:1rem}
  .site-green .hero{padding:46px 16px 54px}
  .site-green .hero h1{font-size:2.05rem}
  .site-green .hero .eyebrow{font-size:.68rem}
  .site-green .micro-list{gap:7px}
  .site-green .micro-list span{font-size:.72rem}
  .site-green .hero-actions{
    display:grid;
    grid-template-columns:1fr;
    max-width:none
  }
  .hero-upload-panel{padding:17px}
  .hero-model-dropzone{
    grid-template-columns:42px minmax(0,1fr);
    min-height:116px;
    padding:14px
  }
  .hero-upload-icon{width:42px;height:42px}
  .hero-upload-result{
    grid-template-columns:1fr;
    gap:5px
  }
  .hero-upload-result a{
    grid-column:auto;
    grid-row:auto;
    margin-top:5px;
    text-align:center
  }
}

@media(prefers-reduced-motion:reduce){
  .site-green .site-header nav a::after,
  .hero-model-dropzone,
  .hero-upload-progress-track span{transition:none}
}
