/*
Theme Name: Enermous Tapes
Theme URI: https://www.enermous.co.za
Author: Enermous Tapes
Description: Catalogue theme for Enermous Tapes. WooCommerce runs in catalogue mode: no cart, no checkout, enquiry via the contact page. Ported from the approved React redesign.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: enermous
*/

/* ==========================================================================
   Ported verbatim from the approved redesign (Site.jsx STYLES).
   Design tokens live in :root below. Do not hand-edit colours further down;
   change the token instead so every page stays in step.
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800&family=Inter:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap');
body{margin:0;}
.en-root{
  --aubergine:#59014e; --aubergine-deep:#3d0035; --aubergine-soft:#7a0f6c;
  --brass:#b08641; --brass-text:#8a6d3f; --brass-soft:#c79a52;
  --charcoal:#211c24; --ink-2:#5f564f; --muted:#8a7f72;
  --bone:#f7f3ee; --bone-2:#efe7dc; --white:#ffffff; --hair:#e4dace;
  font-family:'Inter',system-ui,sans-serif; color:var(--charcoal);
  background:var(--bone); line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
.en-root *{box-sizing:border-box;}
.en-root h1,.en-root h2,.en-root h3,.en-root h4{font-family:'Archivo',sans-serif;font-weight:700;color:var(--charcoal);margin:0;letter-spacing:-0.02em;line-height:1.1;}
.en-root p{margin:0;}
.en-root a{color:inherit;}
.en-wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
.en-eyebrow{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:0.17em;text-transform:uppercase;color:var(--brass-text);font-weight:500;}

/* utility bar */
.en-utility{background:var(--aubergine-deep);color:var(--bone);font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:0.06em;}
.en-utility .en-wrap{display:flex;gap:10px 24px;align-items:center;justify-content:center;min-height:38px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px;}
.en-utility span{display:inline-flex;align-items:center;gap:8px;opacity:.92;white-space:nowrap;}
.en-utility .dot{width:4px;height:4px;border-radius:50%;background:var(--brass);flex-shrink:0;}

/* header */
.en-head{position:sticky;top:0;z-index:50;background:rgba(247,243,238,.86);backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s;}
.en-head.scrolled{border-bottom-color:var(--hair);box-shadow:0 6px 24px rgba(61,0,53,.07);}
.en-head .en-wrap{display:flex;align-items:center;justify-content:space-between;height:100px;transition:height .3s;}
.en-head.scrolled .en-wrap{height:84px;}
.en-logo{display:flex;align-items:center;cursor:pointer;flex-shrink:0;}
.en-logo svg{height:80px;width:auto;display:block;transition:height .3s;}
.en-head.scrolled .en-logo svg{height:66px;}
.en-logo svg path{fill:var(--aubergine);transition:fill .3s;}
.en-nav{display:flex;align-items:center;gap:30px;}
.en-nav button.en-navlink{background:none;border:none;font-family:'Inter';font-size:14.5px;font-weight:500;color:var(--charcoal);cursor:pointer;position:relative;padding:6px 0;letter-spacing:-0.01em;}
.en-navlink::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--brass);transition:right .28s ease;}
.en-navlink:hover::after{right:0;}
.en-navlink.active{color:var(--aubergine);}
.en-navlink.active::after{right:0;}
.en-navcta{background:var(--aubergine);color:var(--bone);border:none;padding:11px 20px;border-radius:2px;font-family:'Inter';font-size:13.5px;font-weight:600;cursor:pointer;transition:background .25s;white-space:nowrap;}
.en-navcta:hover{background:var(--aubergine-deep);}
.en-burger{display:none;background:none;border:none;color:var(--aubergine);cursor:pointer;padding:6px;}

/* mobile menu */
.en-mobile{display:none;}
.en-mobile.open{display:flex;flex-direction:column;position:fixed;inset:0;z-index:60;background:var(--aubergine-deep);padding:28px;}
.en-mobile-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:36px;}
.en-mobile-top .en-logo svg{height:52px;}
.en-mobile-top .en-logo svg path{fill:var(--bone);}
.en-mobile-top button{background:none;border:none;color:var(--bone);cursor:pointer;}
.en-mobile button.en-mlink{background:none;border:none;text-align:left;color:var(--bone);font-family:'Archivo';font-weight:600;font-size:27px;padding:18px 0;border-bottom:1px solid rgba(247,243,238,.14);cursor:pointer;}

/* buttons */
.en-btn{display:inline-flex;align-items:center;gap:9px;font-family:'Inter';font-size:15px;font-weight:600;padding:14px 24px;border-radius:2px;cursor:pointer;border:1.6px solid var(--aubergine);text-decoration:none;transition:background .25s,color .25s,transform .15s;letter-spacing:-0.01em;background:none;}
.en-btn svg{width:17px;height:17px;transition:transform .25s;}
.en-btn-primary{background:var(--aubergine);color:var(--bone);}
.en-btn-primary:hover{background:var(--aubergine-deep);border-color:var(--aubergine-deep);}
.en-btn-primary:hover svg{transform:translateX(3px);}
.en-btn-ghost{background:transparent;color:var(--aubergine);}
.en-btn-ghost:hover{background:var(--aubergine);color:var(--bone);}
.en-btn:active{transform:scale(.98);}
.en-link{font-family:'Inter';font-weight:600;font-size:15px;color:var(--aubergine);text-decoration:none;display:inline-flex;align-items:center;gap:7px;cursor:pointer;background:none;border:none;}
.en-link svg{width:16px;height:16px;transition:transform .2s;}
.en-link:hover svg{transform:translate(2px,-2px);}

/* page fade */
.en-page{animation:enfade .5s ease;}
@keyframes enfade{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}

/* hero */
.en-hero{position:relative;overflow:hidden;padding:80px 0 80px;}
.en-hero-media{position:absolute;inset:0;background-size:cover;background-position:right -301px center;}
.en-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,var(--bone) 0%,var(--bone) 40%,rgba(247,243,238,.80) 52%,rgba(247,243,238,0) 82%);}
.en-hero-content{position:relative;z-index:1;max-width:600px;}
.en-hero h1{font-size:58px;font-weight:800;margin:20px 0 26px;max-width:15ch;}
.en-hero h1 em{font-style:normal;color:var(--aubergine);}
.en-hero-sub{font-size:18px;color:var(--ink-2);max-width:44ch;margin-bottom:65px;line-height:1.62;}
.en-btns{display:flex;gap:14px;flex-wrap:wrap;}

/* stat strip */
.en-stats{border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);background:var(--bone);}
.en-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);}
.en-stat{padding:26px 24px;border-right:1px solid var(--hair);}
.en-stat:last-child{border-right:none;}
.en-stat-k{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.13em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;}
.en-stat-v{font-family:'Archivo';font-weight:700;font-size:30px;color:var(--charcoal);line-height:1;}
.en-stat-v small{font-weight:500;font-size:14px;color:var(--ink-2);}

/* trust */
.en-trust{background:var(--white);border-bottom:1px solid var(--hair);}
.en-trust .en-wrap{display:flex;flex-direction:column;align-items:center;gap:18px;max-width:1400px;padding-top:28px;padding-bottom:28px;}
.en-trust-label{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);text-align:center;}
.en-trust-items{display:flex;gap:20px 40px;flex-wrap:wrap;align-items:center;justify-content:center;width:100%;}
@media(min-width:1300px){.en-trust-items{flex-wrap:nowrap;}}
.en-badge{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--bone);border-radius:2px;padding:10px 15px;background:var(--aubergine);letter-spacing:-0.01em;}
.en-badge svg{width:15px;height:15px;color:var(--brass-soft);}
.en-badge.gold{background:var(--brass);color:#fff;font-weight:700;}
.en-badge.gold svg{color:#fff;}

/* sections */
.en-sec{padding:100px 0;}
.en-sec.tight{padding:80px 0;}
.en-sec-white{background:var(--white);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);}
.en-sec-head{max-width:660px;margin:0 0 52px;}
.en-sec-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.en-sec-head h2{font-size:40px;margin:16px 0 0;}
.en-sec-head p{font-size:17px;color:var(--ink-2);margin-top:16px;line-height:1.6;}

/* intro */
.en-intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:start;}
.en-intro-body p{font-size:17px;color:var(--ink-2);line-height:1.72;margin-top:18px;}
.en-intro-body p:first-child{margin-top:0;}

/* divisions */
.en-divgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.en-div{border:1px solid var(--hair);border-radius:6px;overflow:hidden;background:var(--white);display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s;}
.en-div:hover{transform:translateY(-4px) translateZ(0);box-shadow:0 18px 40px rgba(61,0,53,.1);}
.en-div-fig{position:relative;height:200px;overflow:hidden;}
.en-div-fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:filter .3s ease;}
.en-div:hover .en-div-fig img{filter:brightness(1.05);}
.en-div-ic{position:absolute;top:14px;left:14px;width:40px;height:40px;border-radius:3px;background:var(--aubergine);display:flex;align-items:center;justify-content:center;}
.en-div-ic svg{width:20px;height:20px;color:var(--bone);}
.en-div-body{padding:24px;flex:1;display:flex;flex-direction:column;}
.en-div-body h3{font-size:21px;margin-bottom:10px;}
.en-div-body p{font-size:14.5px;color:var(--ink-2);line-height:1.58;}

/* product cards */
.en-prodhead{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:44px;flex-wrap:wrap;}
.en-prodgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.en-card{background:var(--white);border:1px solid var(--hair);border-radius:6px;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s,border-color .25s;}
.en-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(61,0,53,.09);border-color:var(--brass);}
.en-ph{aspect-ratio:16/10;overflow:hidden;background:var(--bone);border-bottom:1px solid var(--hair);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--muted);position:relative;}
.en-ph svg{width:30px;height:30px;color:#cbbfa8;}
.en-ph .lbl{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.16em;text-transform:uppercase;}
.en-stamp{position:absolute;top:0;left:0;background:var(--aubergine);color:var(--bone);font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:500;letter-spacing:0.08em;padding:7px 13px;border-bottom-right-radius:4px;}
.en-card-body{padding:22px;display:flex;flex-direction:column;flex:1;}
.en-kick{display:flex;align-items:center;gap:10px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--brass-text);margin-bottom:11px;}
.en-kick .rule{width:20px;height:2px;background:var(--brass);}
.en-card h3{font-size:20px;font-weight:700;}
.en-card-desc{font-size:13.5px;color:var(--ink-2);line-height:1.55;margin-top:9px;flex:1;}
.en-spec{margin-top:16px;border-top:1px solid var(--hair);padding-top:13px;display:flex;flex-direction:column;gap:9px;}
.en-spec-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;}
.en-spec-k{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.05em;color:var(--muted);text-transform:uppercase;white-space:nowrap;}
.en-spec-v{font-size:13px;font-weight:600;color:var(--charcoal);text-align:right;}
.en-spec-v.tbc{color:var(--muted);font-weight:500;font-style:italic;}

/* eco */
.en-eco{background:var(--aubergine);color:var(--bone);}
.en-eco-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:60px;align-items:center;}
.en-eco h2{color:var(--bone);font-size:38px;}
.en-eco .en-eyebrow{color:var(--brass-soft);}
.en-eco p{color:rgba(247,243,238,.82);font-size:16.5px;line-height:1.68;margin-top:18px;}
.en-eco-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;}
.en-eco-li{display:flex;gap:16px;align-items:flex-start;padding:22px 0;border-bottom:1px solid rgba(247,243,238,.16);}
.en-eco-li:first-child{border-top:1px solid rgba(247,243,238,.16);}
.en-eco-li-ic{width:34px;height:34px;border-radius:50%;border:1px solid var(--brass-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.en-eco-li-ic svg{width:16px;height:16px;color:var(--brass-soft);}
.en-eco-li h4{font-family:'Archivo';font-weight:600;font-size:16px;margin:0 0 4px;color:var(--bone);}
.en-eco-li p{margin:0;font-size:14px;color:rgba(247,243,238,.72);}

/* cta band */
.en-ctaband{background:var(--bone-2);}
.en-ctaband .en-wrap{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;padding-top:60px;padding-bottom:60px;}
.en-ctaband h2{font-size:32px;max-width:22ch;}
.en-ctaband p{color:var(--ink-2);margin-top:10px;font-size:16px;}

/* page banner */
.en-banner{position:relative;background:var(--aubergine-deep);overflow:hidden;}
.en-banner-img{position:absolute;inset:0;}
.en-banner-img img{width:100%;height:100%;object-fit:cover;opacity:.26;}
.en-banner .en-wrap{position:relative;padding-top:88px;padding-bottom:88px;}
.en-banner .en-eyebrow{color:var(--brass-soft);}
.en-banner h1{color:var(--bone);font-size:52px;margin-top:16px;max-width:20ch;}
.en-banner p{color:rgba(247,243,238,.8);font-size:18px;margin-top:18px;max-width:56ch;line-height:1.6;}

/* about content */
.en-two{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.en-two.text-first{grid-template-columns:1.05fr .95fr;}
.en-two img{width:100%;height:420px;object-fit:cover;border-radius:6px;display:block;}
.en-prose h3{font-size:28px;margin-bottom:16px;}
.en-prose p{font-size:16.5px;color:var(--ink-2);line-height:1.72;margin-top:16px;}
.en-prose p:first-of-type{margin-top:0;}

/* policy cards */
.en-polgrid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.en-pol{background:var(--white);border:1px solid var(--hair);border-radius:6px;padding:32px;}
.en-pol .en-eyebrow{margin-bottom:14px;display:block;}
.en-pol h3{font-size:23px;margin-bottom:18px;}
.en-pol ol,.en-pol ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:14px;counter-reset:pol;}
.en-pol li{display:flex;gap:14px;font-size:14.5px;color:var(--ink-2);line-height:1.55;align-items:flex-start;}
.en-pol.num li{counter-increment:pol;}
.en-pol.num li::before{content:counter(pol,decimal-leading-zero);font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:500;color:var(--brass-text);flex-shrink:0;padding-top:2px;min-width:22px;}
.en-pol.tick li::before{content:"";width:18px;height:18px;border-radius:50%;background:var(--bone-2);flex-shrink:0;margin-top:1px;background-image:none;}
.en-pol.tick li{position:relative;}
.en-tickic{flex-shrink:0;color:var(--brass-text);margin-top:1px;}
.en-tickic svg{width:17px;height:17px;}

/* markets list */
.en-mktgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.en-mkt{padding:32px;border:1px solid var(--hair);border-radius:6px;background:var(--bone);transition:background .25s,border-color .25s;}
.en-mkt:hover{background:var(--white);border-color:var(--brass);}
.en-mkt-ic{width:52px;height:52px;border-radius:3px;background:var(--aubergine);display:flex;align-items:center;justify-content:center;margin-bottom:20px;}
.en-mkt-ic svg{width:26px;height:26px;color:var(--bone);}
.en-mkt h3{font-size:21px;margin-bottom:10px;}
.en-mkt p{font-size:14.5px;color:var(--ink-2);line-height:1.58;}

/* products page */
.en-filter{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:40px;}
.en-fbtn{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:0.06em;text-transform:uppercase;padding:9px 16px;border:1px solid var(--hair);background:var(--white);color:var(--ink-2);border-radius:2px;cursor:pointer;transition:all .2s;}
.en-fbtn:hover{border-color:var(--brass);color:var(--charcoal);}
.en-fbtn.on{background:var(--aubergine);color:var(--bone);border-color:var(--aubergine);}
.en-players{display:flex;flex-direction:column;gap:6px;margin-top:14px;}
.en-layer{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--ink-2);font-family:'IBM Plex Mono',monospace;}
.en-layer .bar{height:9px;border-radius:1px;background:var(--aubergine);opacity:.85;}
.en-suit{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px;}
.en-suit span{font-size:12px;color:var(--brass-text);display:inline-flex;align-items:center;gap:5px;}
.en-suit svg{width:12px;height:12px;}

/* contact */
.en-contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:start;}
.en-form{display:flex;flex-direction:column;gap:18px;}
.en-field label{display:block;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;}
.en-field input,.en-field textarea{width:100%;font-family:'Inter';font-size:15px;color:var(--charcoal);background:var(--white);border:1px solid var(--hair);border-radius:3px;padding:13px 15px;outline:none;transition:border-color .2s,box-shadow .2s;}
.en-field input:focus,.en-field textarea:focus{border-color:var(--aubergine);box-shadow:0 0 0 3px rgba(89,1,78,.08);}
.en-field textarea{resize:vertical;min-height:130px;}
.en-cap{display:flex;align-items:center;gap:14px;background:var(--bone-2);border-radius:3px;padding:14px 16px;}
.en-cap-q{font-family:'IBM Plex Mono',monospace;font-size:15px;font-weight:500;color:var(--charcoal);}
.en-cap input{width:80px;}
.en-note{background:#faf3e6;border:1px solid var(--brass-soft);border-radius:3px;padding:13px 16px;font-size:13.5px;color:var(--brass-text);display:flex;gap:10px;align-items:flex-start;}
.en-note svg{width:16px;height:16px;flex-shrink:0;margin-top:1px;}
.en-cinfo{background:var(--white);border:1px solid var(--hair);border-radius:6px;overflow:hidden;}
.en-cinfo-head{background:var(--aubergine);color:var(--bone);font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;padding:14px 22px;display:flex;justify-content:space-between;align-items:center;}
.en-cinfo-head .dot{width:7px;height:7px;border-radius:50%;background:var(--brass-soft);}
.en-cinfo-row{display:flex;gap:14px;padding:18px 22px;border-bottom:1px solid var(--hair);align-items:flex-start;}
.en-cinfo-row:last-child{border-bottom:none;}
.en-cinfo-row svg{width:18px;height:18px;color:var(--brass-text);flex-shrink:0;margin-top:2px;}
.en-cinfo-k{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;}
.en-cinfo-v{font-size:14.5px;color:var(--charcoal);line-height:1.5;}
.en-cinfo-a{color:inherit;text-decoration:none;border-bottom:1px solid var(--brass-soft);transition:color .2s,border-color .2s;}
.en-cinfo-a:hover{color:var(--brass-text);border-bottom-color:var(--brass-text);}
.en-map{margin-top:22px;border:1px solid var(--hair);border-radius:6px;background:var(--aubergine-deep);position:relative;overflow:hidden;height:200px;display:flex;align-items:center;justify-content:center;}
.en-map-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(247,243,238,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(247,243,238,.06) 1px,transparent 1px);background-size:34px 34px;}
.en-map-pin{position:relative;text-align:center;color:var(--bone);}
.en-map-pin .pinic{width:44px;height:44px;border-radius:50%;background:var(--brass);display:flex;align-items:center;justify-content:center;margin:0 auto 10px;}
.en-map-pin .pinic svg{width:22px;height:22px;color:#3a2a0f;}
.en-map-pin a{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:0.06em;color:var(--brass-soft);text-decoration:none;display:inline-flex;align-items:center;gap:6px;margin-top:4px;}

/* footer */
.en-foot{background:var(--aubergine-deep);color:var(--bone);padding:72px 0 30px;}
.en-foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1.2fr;gap:48px;padding-bottom:44px;border-bottom:1px solid rgba(247,243,238,.14);}
.en-foot .en-logo svg{height:88px;}
.en-foot .en-logo svg path{fill:var(--bone);}
.en-foot-tag{margin-top:18px;font-size:14px;color:rgba(247,243,238,.66);max-width:34ch;line-height:1.6;}
.en-foot-col h5{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.15em;text-transform:uppercase;color:var(--brass-soft);margin:0 0 18px;font-weight:500;}
.en-foot-col button.flink{display:block;background:none;border:none;text-align:left;color:rgba(247,243,238,.82);font-family:'Inter';font-size:14px;margin-bottom:12px;cursor:pointer;transition:color .2s;padding:0;}
.en-foot-col button.flink:hover{color:var(--bone);}
.en-foot-contact{display:flex;gap:11px;align-items:flex-start;color:rgba(247,243,238,.82);font-size:14px;margin-bottom:14px;line-height:1.5;}
.en-foot-a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(247,243,238,.28);transition:color .2s,border-color .2s;}
.en-foot-a:hover{color:var(--bone);border-bottom-color:var(--bone);}
.en-foot-contact svg{width:16px;height:16px;color:var(--brass-soft);flex-shrink:0;margin-top:2px;}
.en-foot-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:24px;flex-wrap:wrap;gap:12px;}
.en-foot-bottom p{font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:0.05em;color:rgba(247,243,238,.5);}

.en-ph.has-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:filter .3s ease;}
.en-card:hover .en-ph.has-img img{filter:brightness(1.05);}
.en-stamp{z-index:2;}
.en-tlogo{height:38px;width:auto;display:block;flex-shrink:0;}
.en-tlogo[data-k="bma"]{height:28px;}
.en-tlogo[data-k="sasdc"]{height:44px;}
.en-tlogo[data-k="psa"]{height:44px;}
.en-flogos{display:flex;flex-wrap:wrap;gap:18px 40px;align-items:center;padding-top:28px;margin-top:8px;border-top:1px solid rgba(247,243,238,.14);}
.en-flogos img{height:38px;width:auto;display:block;background:var(--bone);padding:6px 9px;border-radius:3px;}
.en-flogos img[data-k="bma"]{height:28px;}
.en-matintro{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start;margin-bottom:14px;padding-bottom:36px;border-bottom:2px solid var(--charcoal);}
.en-matintro .lede{font-size:19px;color:var(--charcoal);line-height:1.55;font-family:'Archivo';font-weight:500;letter-spacing:-0.01em;}
.en-matintro p{font-size:16px;color:var(--ink-2);line-height:1.7;}
.en-mat{display:grid;grid-template-columns:132px 1.15fr 1fr;gap:34px;align-items:start;padding:34px 0;border-bottom:1px solid var(--hair);}
.en-mat:last-of-type{border-bottom:1px solid var(--charcoal);}
.en-swatch{width:132px;height:132px;border-radius:50%;overflow:hidden;background:var(--bone-2);border:5px solid var(--aubergine);box-shadow:0 0 0 1px var(--hair);display:flex;align-items:center;justify-content:center;}
.en-swatch img{transform:scale(1.1);}
.en-swatch img{width:100%;height:100%;object-fit:cover;display:block;}
.en-swatch span{font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:0.14em;color:var(--muted);text-align:center;line-height:1.5;}
.en-mat-idx{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.14em;color:var(--brass-text);display:block;margin-bottom:7px;}
.en-mat h3{font-size:26px;margin-bottom:6px;}
.en-mat-poly{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:0.06em;color:var(--muted);text-transform:uppercase;}
.en-mat-desc{font-size:15px;color:var(--ink-2);line-height:1.65;margin-top:14px;max-width:44ch;}
.en-attr{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px dotted var(--hair);align-items:baseline;}
.en-attr:last-child{border-bottom:none;}
.en-attr-k{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.07em;text-transform:uppercase;color:var(--muted);white-space:nowrap;}
.en-attr-v{font-size:14px;font-weight:600;text-align:right;}
.en-inds{margin-top:14px;display:flex;flex-wrap:wrap;gap:6px;}
.en-inds span{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:0.07em;text-transform:uppercase;color:var(--aubergine);border:1px solid var(--hair);border-radius:2px;padding:5px 9px;background:var(--white);}
.en-pkggrid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;align-items:stretch;}
.en-pkggrid > .reveal,.en-pkggrid .en-card{height:100%;}
.en-pkgfig{position:relative;aspect-ratio:4/3;background:var(--white);border-bottom:1px solid var(--hair);overflow:hidden;}
.en-pkgfig img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:12px;display:block;}
.en-pkggrid .en-card h3{font-size:18px;line-height:1.25;}
.en-pkgprice{margin-top:auto;padding-top:15px;display:flex;justify-content:space-between;align-items:baseline;gap:12px;}
.en-pkgprice .k{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);}
.en-pkgprice .v{font-family:'Archivo';font-weight:700;font-size:23px;line-height:1;color:var(--aubergine);letter-spacing:-0.01em;}
.en-pkgnote{margin-top:26px;font-size:13.5px;color:var(--muted);}
@media(max-width:860px){
  .en-matintro{grid-template-columns:1fr;gap:20px;}
  .en-mat{grid-template-columns:96px 1fr;gap:22px;}
  .en-swatch{width:96px;height:96px;}
  .en-mat-attrs{grid-column:1 / -1;}
  .en-tlogo{height:36px;}
}

/* reveal */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);}
.reveal.in{opacity:1;transform:none;}
.h-anim{opacity:0;transform:translateY(16px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);}
.en-root.loaded .h-anim{opacity:1;transform:none;}

@media(max-width:960px){
  .en-hero-grid,.en-intro-grid,.en-eco-grid,.en-two,.en-two.text-first,.en-contact-grid{grid-template-columns:1fr;gap:40px;}
  .en-divgrid,.en-prodgrid,.en-mktgrid,.en-pkggrid{grid-template-columns:1fr 1fr;}
  .en-hero h1{font-size:46px;}
  .en-banner h1{font-size:40px;}
  .en-sec-head h2{font-size:32px;}
  .en-foot-grid{grid-template-columns:1fr 1fr;}
  .en-polgrid{grid-template-columns:1fr;}
  .en-hero-fig img{height:400px;}
}
@media(max-width:820px){
  .en-nav{display:none;}
  .en-burger{display:block;}
  .en-hero-content{max-width:100%;}
  .en-hero-media::after{background:linear-gradient(180deg,rgba(247,243,238,.97) 0%,rgba(247,243,238,.9) 46%,rgba(247,243,238,.4) 100%);}
}
@media(max-width:680px){
  .en-wrap{padding:0 22px;}
  .en-hero{padding:56px 0 64px;}
  .en-hero h1{font-size:36px;}
  .en-sec{padding:64px 0;}
  .en-sec.tight{padding:52px 0;}
  .en-stats-grid,.en-divgrid,.en-prodgrid,.en-mktgrid,.en-pkggrid,.en-foot-grid,.en-filmgrid{grid-template-columns:1fr;}
  .en-facility img{max-height:280px;}
  .en-stat{border-right:none;border-bottom:1px solid var(--hair);}
  .en-stat:last-child{border-bottom:none;}
  .en-sec-head h2{font-size:28px;}
  .en-eco h2{font-size:28px;}
  .en-banner h1{font-size:33px;}
  .en-banner .en-wrap{padding-top:60px;padding-bottom:60px;}
}
@media(prefers-reduced-motion:reduce){
  .reveal,.h-anim,.en-page{transition:none;animation:none;opacity:1;transform:none;}
  .en-btn,.en-card,.en-div,.en-div-fig img{transition:none;}
  .en-video video{animation:none;}
}
/* facility showcase + video */
.en-facility{width:100%;line-height:0;}
.en-facility img{width:100%;height:auto;max-height:620px;object-fit:cover;display:block;}
.en-video{border-radius:8px;overflow:hidden;border:1px solid var(--hair);background:#000;}
.en-video video{width:100%;height:auto;display:block;}
/* automotive protection film feature */
.en-filmbanner{width:100%;height:auto;border-radius:8px;display:block;}
.en-filmgrid{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;margin-top:32px;align-items:center;}
.en-filmdesc{font-size:18px;line-height:1.65;color:var(--ink-2);margin:0;}
/* 3M application guide download */
.en-guide{display:block;text-decoration:none;margin-top:34px;}
.en-guide img{width:100%;height:auto;border:1px solid var(--hair);border-radius:6px;display:block;background:var(--white);}
.en-guide-cta{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:.02em;color:var(--brass-text);}
.en-guide-cta svg{width:15px;height:15px;}
.en-guide:hover .en-guide-cta{text-decoration:underline;}

/* ==========================================================================
   WordPress additions
   Everything above is the ported design. Below: rules the React build carried
   as inline styles, plus the handful of classes WordPress needs.
   ========================================================================== */

/* About page accreditation grid. Was an inline flex style in the React build;
   per-logo heights still come from the data-k rules above. */
.en-accredgrid{display:flex;flex-wrap:wrap;gap:28px 56px;align-items:center;}
.en-accredgrid img{height:58px;width:auto;display:block;}
.en-accredgrid img[data-k="bma"]{height:42px;}

/* Nav and cards became real anchors in WordPress; strip the default link
   styling so they render exactly as the <button> versions did. */
.en-navlink,.en-mlink,.en-navcta,.flink,.en-link,.en-btn{text-decoration:none;}
.en-logo-link{display:inline-block;text-decoration:none;color:inherit;}
.en-div{text-decoration:none;color:inherit;cursor:pointer;}
.en-card h3 a{color:inherit;text-decoration:none;}
.en-card h3 a:hover{color:var(--aubergine);}
.en-ph{display:block;text-decoration:none;}

/* Catalogue mode: reference pricing, never an offer. */
.en-price-quote{font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:0.04em;text-transform:uppercase;color:var(--muted);}
.en-price-note{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.05em;color:var(--muted);text-transform:none;}

/* Filtered-out product cards. */
[data-prodcard][hidden]{display:none;}

/* Accessibility: skip link, visible only on keyboard focus. */
.screen-reader-text{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.screen-reader-text:focus{position:fixed;top:12px;left:12px;z-index:9999;width:auto;height:auto;clip:auto;padding:12px 20px;background:var(--aubergine);color:var(--bone);font-family:'IBM Plex Mono',monospace;font-size:13px;border-radius:3px;}

/* WordPress core output classes. */
.alignwide{max-width:1180px;margin-left:auto;margin-right:auto;}
.aligncenter{display:block;margin-left:auto;margin-right:auto;}
img.alignright{float:right;margin:0 0 1em 1.5em;}
img.alignleft{float:left;margin:0 1.5em 1em 0;}
.wp-caption{max-width:100%;}
.wp-caption-text{font-size:13px;color:var(--muted);margin-top:8px;}
