/* MASTER 2.4: unified spacing, textured section transitions and purposeful motion.
   Scoped to MASTER shortcodes; no WooCommerce core CSS overrides. */
.mce.mce-v2 .mce-shell{
  max-width:min(calc(var(--mt-container,1380px) + 52px),100%);
  width:100%; padding-left:26px; padding-right:26px;
}
.mce.mce-v2 :is(.mce-v2-hero-layout,.mce-v2-category-grid,.mce-v2-about-grid,.mce-v22-purpose-grid,.mce-v2-cta-grid){min-width:0}
.mce.mce-v2 :is(.mce-v2-hero-copy,.mce-v2-about-lead,.mce-v21-form-panel,.mce-v21-contact-aside){min-width:0}
.mce.mce-v2:is(.mce-v2-hero,.mce-v2-categories,.mce-v2-about,.mce-v2-highlights,.mce-v2-cta,.mce-v2-contact-page){isolation:isolate;overflow:hidden}
.mce.mce-v2>.mce-shell{z-index:2}
/* The theme's stationery/packaging textures: barely visible, animated slowly. */
.mce.mce-v2-categories::before,
.mce.mce-v2-highlights::before,
.mce.mce-v2-contact-page::before{
  content:"";position:absolute;inset:-20% -9%;pointer-events:none;z-index:0;opacity:.42;
  background-image:repeating-linear-gradient(118deg,transparent 0px,transparent 67px,rgba(14,76,52,.035) 68px,transparent 69px,transparent 145px),
    radial-gradient(circle at 12% 48%,rgba(20,92,63,.07),transparent 34%),
    radial-gradient(circle at 88% 20%,rgba(181,138,90,.075),transparent 29%);
  animation:mce240TextureSlide 25s ease-in-out infinite alternate;
}
.mce.mce-v2-about::before,.mce.mce-v2-cta::before{
  content:"";position:absolute;inset:-10% -7%;pointer-events:none;z-index:0;opacity:.6;
  background:radial-gradient(ellipse 43% 45% at 15% 78%,rgba(186,230,193,.12),transparent 77%),
    repeating-linear-gradient(131deg,transparent 0 90px,rgba(255,255,255,.033) 91px 92px,transparent 94px 185px);
  animation:mce240TextureSlide 32s ease-in-out infinite alternate;
}
.mce.mce-v2-hero::after{
  content:"";position:absolute;right:-19%;top:-35%;width:66vw;max-width:900px;aspect-ratio:1;
  border:1px solid rgba(26,88,58,.09);box-shadow:0 0 0 80px rgba(26,88,58,.015),0 0 0 165px rgba(26,88,58,.015);
  border-radius:43% 57% 59% 41%;z-index:0;pointer-events:none;animation:mce240Halo 24s ease-in-out infinite alternate;
}
.mce.mce-v2-hero>.mce-shell{z-index:1}
@keyframes mce240TextureSlide{from{transform:translate3d(-1.2%,0,0)}to{transform:translate3d(1.2%,2%,0)}}
@keyframes mce240Halo{from{transform:translate3d(-2%,2%,0) rotate(-7deg)}to{transform:translate3d(2%,-2%,0) rotate(15deg)}}
/* Subtle separator / paper cut between the category area and about section. */
.mce.mce-v2-categories{border-bottom:1px solid rgba(8,68,45,.07)}
.mce.mce-v2-about{border-top:4px solid rgba(178,146,102,.38)}
.mce.mce-v2-highlights{border-top:1px solid rgba(37,74,49,.08)}
/* No numbering or redundant taxonomy tags on cards. */
.mce.mce-v2 .mce-v2-card-counter,
.mce.mce-v2 .mce-v2-product-index,
.mce.mce-v2 .mce-category-no{display:none!important}
/* Well-spaced, contemporary mission and vision panels. */
.mce.mce-v2-about .mce-v22-purpose-grid{gap:22px!important;margin-top:clamp(32px,4.5vw,64px)}
.mce.mce-v2-about .mce-v2-purpose{
  min-height:265px;border-radius:21px;padding:clamp(27px,3.5vw,46px);
  border:1px solid rgba(239,255,240,.18);
  background:linear-gradient(135deg,rgba(228,255,235,.11),rgba(255,255,255,.045));
  box-shadow:inset 0 1px rgba(255,255,255,.12),0 20px 43px rgba(0,30,19,.13);
  transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s,background .4s;
}
.mce.mce-v2-about .mce-v2-purpose:nth-child(2){
  background:linear-gradient(135deg,#ecf0df,#f8f2e7);border-color:rgba(255,255,255,.32);
}
.mce.mce-v2-about .mce-v2-purpose::after{
  content:"";position:absolute;width:230px;height:230px;right:-93px;bottom:-134px;
  border:1px solid rgba(201,240,215,.2);border-radius:50%;box-shadow:0 0 0 28px rgba(201,240,215,.025);pointer-events:none;
  transition:transform .8s cubic-bezier(.2,.8,.2,1);
}
.mce.mce-v2-about .mce-v2-purpose:nth-child(2)::after{border-color:rgba(24,80,53,.13);box-shadow:0 0 0 28px rgba(24,80,53,.023)}
.mce.mce-v2-about .mce-v2-purpose:hover{transform:translateY(-7px);box-shadow:inset 0 1px rgba(255,255,255,.2),0 25px 55px rgba(0,20,14,.2)}
.mce.mce-v2-about .mce-v2-purpose:hover::after{transform:translate(-23px,-17px) scale(1.06)}
.mce.mce-v2-about .mce-v2-purpose-tag{letter-spacing:.19em;font-size:11px;color:#bbd9c7}
.mce.mce-v2-about .mce-v2-purpose:nth-child(2) .mce-v2-purpose-tag{color:#4d795f}
.mce.mce-v2-about .mce-v2-purpose h3{font-size:clamp(27px,2.9vw,39px);line-height:1.17;letter-spacing:-.042em;margin:24px 0 15px}
.mce.mce-v2-about .mce-v2-purpose:nth-child(2) h3{color:#0c4837}
.mce.mce-v2-about .mce-v2-purpose p{font-size:clamp(14px,1.07vw,16px);line-height:1.84;max-width:570px;color:#cce1d3}
.mce.mce-v2-about .mce-v2-purpose:nth-child(2) p{color:#476556}
.mce.mce-v2-about .mce-v2-purpose-icon{right:30px;top:28px;color:rgba(201,238,216,.8)}
.mce.mce-v2-about .mce-v2-purpose:nth-child(2) .mce-v2-purpose-icon{color:rgba(30,108,67,.38)}
.mce.mce-v2-about .mce-v2-purpose-icon .mce-icon{width:45px;height:45px;stroke-width:1.5}
/* Contact, one compact form and one pathway for quotes and general enquiries. */
.mce.mce-v2-contact-page .mce-shell{padding-top:clamp(55px,5vw,80px);padding-bottom:clamp(60px,5vw,85px)}
.mce.mce-v2-contact-page .mce-v21-page-top{margin:0 auto clamp(25px,3.4vw,40px);max-width:830px}
.mce.mce-v2-contact-page .mce-v21-page-top h1{font-size:clamp(38px,5.2vw,66px);margin:16px 0!important}
.mce.mce-v2-contact-page .mce-v21-page-top p{font-size:clamp(14px,1.2vw,16px);max-width:620px}
.mce.mce-v2-contact-page .mce-v21-contact-layout{grid-template-columns:minmax(0,.81fr) minmax(0,1.19fr);gap:20px;align-items:stretch}
.mce.mce-v2-contact-page .mce-v21-contact-aside{min-height:0;padding:clamp(22px,3vw,38px);border-radius:17px}
.mce.mce-v2-contact-page .mce-v21-aside-graphic{min-height:80px;margin-bottom:8px}
.mce.mce-v2-contact-page .mce-v21-aside-graphic>.mce-icon{height:56px;width:56px;opacity:.6}
.mce.mce-v2-contact-page .mce-v21-aside-graphic span{font-size:clamp(19px,2.1vw,27px)}
.mce.mce-v2-contact-page .mce-v21-contact-aside h2{font-size:clamp(26px,2.9vw,36px)!important;margin:8px 0 13px!important}
.mce.mce-v2-contact-page .mce-v21-contact-aside>p{font-size:13px;line-height:1.72;margin-bottom:18px!important}
.mce.mce-v2-contact-page .mce-v21-form-panel{padding:clamp(22px,3vw,37px);border-radius:17px}
.mce.mce-v2-contact-page .mce-v21-panel-head h2{font-size:clamp(25px,2.6vw,34px);margin:8px 0 20px!important}
.mce.mce-v2-contact-page .mce-v21-form{gap:13px}
.mce.mce-v2-contact-page .mce-v21-form-grid{gap:12px}
.mce.mce-v2-contact-page .mce-v21-form label{font-size:11px;gap:6px}
.mce.mce-v2-contact-page .mce-v21-form :is(input:not([type=hidden]),select,textarea){min-height:43px;padding:10px 12px;font-size:13px;border-radius:8px}
.mce.mce-v2-contact-page .mce-v21-form textarea{min-height:95px;max-height:240px}
.mce.mce-v2-contact-page .mce-v21-form-footer{gap:12px}
.mce.mce-v2-contact-page .mce-v21-form .mce-btn{min-height:44px;padding:11px 17px}
/* Never show a public admin setup instruction, even with old cached shortcode HTML. */
.mce.mce-v2-contact-page .mce-v21-helpnote{display:none!important}
@media(max-width:960px){
 .mce.mce-v2-contact-page .mce-v21-contact-layout{grid-template-columns:1fr}
 .mce.mce-v2-contact-page .mce-v21-contact-aside{padding:26px}
 .mce.mce-v2-about .mce-v22-purpose-grid{gap:13px!important}
}
@media(max-width:680px){
 .mce.mce-v2 .mce-shell{padding-left:17px;padding-right:17px}
 .mce.mce-v2-contact-page .mce-v21-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .mce.mce-v2-contact-page .mce-v21-form-grid label{min-width:0}
 .mce.mce-v2-about .mce-v22-purpose-grid{grid-template-columns:1fr}
 .mce.mce-v2-about .mce-v2-purpose{min-height:0;padding:26px 23px}
 .mce.mce-v2-about .mce-v2-purpose h3{margin:19px 0 11px}
}
@media(max-width:390px){.mce.mce-v2 .mce-shell{padding-left:13px;padding-right:13px}.mce.mce-v2-contact-page .mce-v21-form-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){
 .mce.mce-v2::before,.mce.mce-v2::after{animation:none!important}
 .mce.mce-v2-about .mce-v2-purpose,.mce.mce-v2-about .mce-v2-purpose::after{transition:none!important}
}
.mce.mce-no-motion::before,.mce.mce-no-motion::after{animation:none!important}
