/** Final page and card refinements. */
.spot-fin-badge{width:max-content!important;max-width:100%;align-self:flex-start;flex:0 0 auto}

/* Full About section: image left, copy + facts right */
.spot-about-company{padding:120px 0;background:#f5f4ed;color:#17342d}
.spot-about-company__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:70px;align-items:center}
.spot-about-company__media{position:relative;min-height:520px}
.spot-about-company__media figure{margin:0;overflow:hidden;background:#dce5dd}
.spot-about-company__main{height:560px;border-radius:34px}
.spot-about-company__small{position:absolute;right:-24px;bottom:-30px;width:42%;height:220px;border:9px solid #f5f4ed;border-radius:26px}
.spot-about-company__media img{width:100%;height:100%;object-fit:cover}
.spot-about-company__copy{min-width:0}
.spot-about-company__copy .eyebrow{margin-bottom:16px}
.spot-about-company__copy h2{margin:0 0 18px;font:800 clamp(32px,4.2vw,56px)/1.02 Manrope,sans-serif;letter-spacing:-.045em}
.spot-about-company__copy .lead{margin:0 0 18px;max-width:none;font-size:17px;line-height:1.7}
.spot-about-company__story{color:#5e6b65;font-size:16px;line-height:1.82}
.spot-about-company__story p{margin:0 0 16px}
.spot-about-company__story p:last-child{margin-bottom:0}
.spot-about-company__facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:28px 0;background:rgba(23,52,45,.12);border:1px solid rgba(23,52,45,.12);border-radius:22px;overflow:hidden}
.spot-about-company__facts>div{display:grid;gap:8px;padding:22px;background:#fff}
.spot-about-company__facts strong{font:800 28px/1 Manrope;color:#10aa52}
.spot-about-company__facts span{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.spot-about-company__copy .btn{margin-top:8px}

/* Homepage CPT products: exactly three equal cards. */
.elementor-widget-spot_featured_products .spot-featured-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.elementor-widget-spot_featured_products .spot-featured-card{height:100%}
.elementor-widget-spot_featured_products .spot-featured-media{aspect-ratio:1/1}
.elementor-widget-spot_featured_products .spot-featured-media img{object-fit:cover}

/* Process media: balanced editorial gallery rather than two cramped strips. */
.spot-journey__step{grid-template-columns:1fr;min-height:500px}
.spot-journey__media,.spot-journey__media.has-two{grid-template-columns:1fr 1fr;gap:12px;min-height:500px;padding:12px}
.spot-journey__media figure,.spot-journey__media.has-two figure{min-height:0;border-radius:24px}
.spot-journey__media.has-two figure:last-child{margin:54px 0 18px}
.spot-journey__media img{object-position:center}

/* Blog: restrained, equal cards with readable excerpts. */
.elementor-widget-spot_blog_grid .section{padding:100px 0;background:#f5f4ed}
.elementor-widget-spot_blog_grid .blog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:46px}
.elementor-widget-spot_blog_grid .article{display:flex;flex-direction:column;min-height:100%;border-radius:24px}
.elementor-widget-spot_blog_grid .article>a{display:block;aspect-ratio:16/10;overflow:hidden}
.elementor-widget-spot_blog_grid .article img{display:block;width:100%;height:100%;max-height:none;object-fit:cover}
.elementor-widget-spot_blog_grid .article-copy{display:flex;flex:1;flex-direction:column;padding:24px}
.elementor-widget-spot_blog_grid .article-copy h3{font-size:22px;line-height:1.18}
.elementor-widget-spot_blog_grid .article-copy p{display:-webkit-box;overflow:hidden;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:14px;line-height:1.65}

/* Sustainability: three balanced cards rather than oversized alternating panels. */
.spot-sustainability{padding:105px 0}
.spot-sustainability__head{grid-template-columns:.4fr 1.6fr;align-items:start}
.spot-sustainability__head>.eyebrow{grid-row:1/3}
.spot-sustainability__head>.lead{grid-column:2;margin-top:0}
.spot-sustainability__list{display:grid;grid-template-columns:1fr;gap:28px}
.spot-sustainability__pillar,.spot-sustainability__pillar.is-reversed{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:36px;align-items:center;overflow:hidden;border:1px solid rgba(23,52,45,.1);border-radius:28px;background:var(--spot-card-bg,#fff);color:var(--spot-card-color,inherit);box-shadow:0 18px 45px rgba(16,55,36,.08);padding:18px}
.spot-sustainability__pillar.is-reversed{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}
.spot-sustainability__pillar.is-reversed .spot-sustainability__copy{order:1}
.spot-sustainability__pillar.is-reversed figure{order:2}
.spot-sustainability__pillar figure{order:initial;width:100%;height:340px;margin:0;border-radius:24px;box-shadow:none}
.spot-sustainability__copy{padding:18px 22px;display:flex;flex:1;flex-direction:column}
.spot-sustainability__copy h3{font-size:31px;margin-bottom:18px}
.spot-sustainability__copy>div{font-size:14px;line-height:1.72}
.spot-sustainability__copy blockquote{margin-top:auto;padding:18px;font-size:15px}
.spot-sustainability__number{color:var(--spot-number-color,#10aa52)}
.spot-sustainability__copy blockquote{border-left:3px solid var(--spot-accent-color,#10aa52);color:var(--spot-accent-color,#10aa52)}

/* Contact page */
.elementor-widget-spot_contact .section{padding:105px 0 0;background:linear-gradient(180deg,#f5f4ed 0,#fff 100%)}
.elementor-widget-spot_contact .contact-grid{grid-template-columns:.72fr 1.28fr;gap:54px;align-items:start}
.elementor-widget-spot_contact .contact-grid aside{padding:34px;border-radius:28px;background:var(--spot-card-bg,#073e36);color:var(--spot-card-color,#fff)}
.elementor-widget-spot_contact .contact-line{border-color:rgba(255,255,255,.13)}
.elementor-widget-spot_contact .contact-line a,.elementor-widget-spot_contact .contact-line span{color:var(--spot-card-color,#fff);line-height:1.55}
.elementor-widget-spot_contact .spot-cf7-wrap{padding:36px;border:1px solid rgba(23,52,45,.1);border-radius:28px;background:var(--spot-card-bg,#fff);box-shadow:0 20px 55px rgba(17,54,42,.08)}
.elementor-widget-spot_contact .wpcf7-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.elementor-widget-spot_contact .wpcf7-form>p{margin:0}
.elementor-widget-spot_contact .wpcf7-form>p:nth-last-child(-n+3){grid-column:1/-1}
.elementor-widget-spot_contact .wpcf7-form input:not([type=submit]),.elementor-widget-spot_contact .wpcf7-form textarea,.elementor-widget-spot_contact .wpcf7-form select{width:100%;border:1px solid rgba(23,52,45,.14);border-radius:13px;background:#f7f8f4;padding:14px}
.elementor-widget-spot_contact .wpcf7-form textarea{height:140px}
.elementor-widget-spot_contact .spot-contact-map{width:min(100% - 48px,1240px);height:390px;margin:58px auto 0;border-radius:30px 30px 0 0}

@media(max-width:980px){
 .spot-about-company__grid{grid-template-columns:1fr;gap:36px}
 .spot-about-company__small{right:16px;bottom:-18px}
 .spot-sustainability__head{grid-template-columns:1fr}
 .spot-sustainability__head>.eyebrow{grid-row:auto}
 .spot-sustainability__head>.lead{grid-column:auto}
 .spot-about-company__media{min-height:430px;overflow:hidden}
 .elementor-widget-spot_featured_products .spot-featured-grid,
 .elementor-widget-spot_products_grid .product-grid,
 .elementor-widget-spot_blog_grid .blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .spot-journey__step{grid-template-columns:1fr}
 .spot-journey__media.has-two figure:last-child{margin:30px 0 12px}
 .elementor-widget-spot_contact .contact-grid{grid-template-columns:1fr}
 .elementor-widget-spot_social .elementor-widget-container{align-items:flex-start;flex-direction:column}
 .spot-sustainability__pillar,
 .spot-sustainability__pillar.is-reversed{grid-template-columns:1fr}
}
@media(max-width:680px){
 .spot-about-company{padding:76px 0}.spot-about-company__media{min-height:360px}.spot-about-company__main{height:360px}.spot-about-company__small{right:8px;width:45%;height:150px}.spot-about-company__facts{grid-template-columns:1fr 1fr}.spot-about-company__copy h2{font-size:clamp(28px,8vw,40px)}
 .elementor-widget-spot_featured_products .spot-featured-grid,.elementor-widget-spot_products_grid .product-grid,.elementor-widget-spot_blog_grid .blog-grid{grid-template-columns:1fr}
 .spot-journey__media,.spot-journey__media.has-two{grid-template-columns:1fr;min-height:340px}.spot-journey__media.has-two figure:last-child{display:none}
 .spot-sustainability__pillar figure{height:240px}.elementor-widget-spot_contact .wpcf7-form{grid-template-columns:1fr}.elementor-widget-spot_contact .wpcf7-form>p{grid-column:1/-1}.elementor-widget-spot_contact .contact-grid aside,.elementor-widget-spot_contact .spot-cf7-wrap{padding:24px}.elementor-widget-spot_contact .spot-contact-map,.elementor-widget-spot_social{width:min(100% - 28px,1240px)!important}.elementor-widget-spot_social .spot-social-widget{align-items:stretch;flex-direction:column;width:100%}.elementor-widget-spot_social .spot-social-widget a{justify-content:center}
}
/* Elementor sets widget images to height:auto; these media frames require full-height images. */
.elementor-widget-spot_about_company .spot-about-company__media img,
.elementor-widget-spot_featured_products .spot-featured-media img,
.elementor-widget-spot_products_grid .product-image img,
.elementor-widget-spot_process_journey .spot-journey__media img,
.elementor-widget-spot_machines .machine-grid img,
.elementor-widget-spot_blog_grid .article img,
.elementor-widget-spot_sustainability_pillars .spot-sustainability__pillar img,
.elementor-widget-spot_certificates .spot-certificate__media img,
.elementor-widget-spot_marquee .image-marquee img,
.elementor-widget-spot_hero .spot-video-hero__media video {
 height:100%!important;
}
/* Follow Spot — the Elementor top section owns the full-width background. */
.spot-follow-band{
 background:#073e36!important;
 color:#fff!important;
}
.spot-follow-band>.elementor-container{
 width:100%!important;
 max-width:none!important;
}
.spot-follow-band .elementor-column,
.spot-follow-band .elementor-widget-wrap,
.spot-follow-band .elementor-widget-spot_social,
.spot-follow-band .elementor-widget-container{
 width:100%!important;
 max-width:none!important;
 margin:0!important;
 padding:0!important;
 background:transparent!important;
}
.spot-follow-band .spot-follow-section{
 width:100%!important;
 max-width:none!important;
 margin:0!important;
 padding:52px 0!important;
 background:#073e36!important;
 color:#fff!important;
}
.spot-follow-band .spot-follow-section__inner{
 width:min(calc(100% - 48px),1240px)!important;
 max-width:1240px!important;
 margin:0 auto!important;
 padding:0!important;
 display:flex!important;
 align-items:center!important;
 justify-content:space-between!important;
 gap:32px!important;
}
.spot-follow-band .spot-social-heading{margin:0!important;color:#fff!important;font:800 clamp(28px,4vw,48px)/1 Manrope,sans-serif!important;letter-spacing:-.04em!important}
.spot-follow-band .spot-social-widget{display:flex!important;flex-flow:row wrap!important;align-items:center!important;justify-content:flex-end!important;gap:12px!important}
.spot-follow-band .spot-social-widget a{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;width:auto!important;min-width:145px!important;height:52px!important;margin:0!important;padding:0 22px!important;border:1px solid #a9ed69!important;border-radius:999px!important;background:#a9ed69!important;color:#073e36!important;opacity:1!important;visibility:visible!important}
.spot-follow-band .spot-social-widget a svg,.spot-follow-band .spot-social-widget a svg path{display:block!important;width:18px!important;height:18px!important;fill:#073e36!important;color:#073e36!important;opacity:1!important;visibility:visible!important}
.spot-follow-band .spot-social-label{display:inline-block!important;margin:0!important;color:#073e36!important;opacity:1!important;visibility:visible!important}
.spot-follow-band .spot-social-widget a:hover{border-color:#fff!important;background:#fff!important;color:#073e36!important}
@media(max-width:760px){.spot-follow-band{padding:0!important}.spot-follow-band .spot-follow-section{padding:42px 0!important}.spot-follow-band .spot-follow-section__inner{width:min(calc(100% - 28px),1240px)!important;align-items:stretch!important;flex-direction:column!important}.spot-follow-band .spot-social-widget{align-items:stretch!important;flex-direction:column!important}.spot-follow-band .spot-social-widget a{width:100%!important}}
/* Our Process opening: heading group and description in two clear columns. */
/*.page-id-39 .spot-page-hero__layout{
 display:grid!important;
 grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)!important;
 gap:clamp(50px,8vw,120px)!important;
 align-items:end!important;
}
.page-id-39 .spot-page-hero__heading{min-width:0}
.page-id-39 .spot-page-hero__heading h1{margin:18px 0 0!important;max-width:820px!important}
.page-id-39 .spot-page-hero__description{
 align-self:end!important;
 max-width:520px!important;
 margin:0 0 8px!important;
 padding:0 0 4px 28px!important;
 border-left:2px solid #a9ed69!important;
 color:#e1ebe6!important;
 font-size:clamp(16px,1.35vw,20px)!important;
 line-height:1.7!important;
}
@media(max-width:850px){
 .page-id-39 .spot-page-hero__layout{grid-template-columns:1fr!important;gap:28px!important}
 .page-id-39 .spot-page-hero__description{max-width:650px!important;margin:0!important;padding:0!important;border-left:0!important}
}*/