/*
Theme Name: BMT Textiles
Theme URI: https://bmttextiles.com
Author: BMT Textiles SAS
Description: Tema corporativo a medida para BMT Textiles SAS.
Version: 1.0.0
Text Domain: bmt-textiles
*/

:root {
  --bmt-ink: #102540;
  --bmt-text: #252a31;
  --bmt-muted: #667085;
  --bmt-paper: #f6f6f4;
  --bmt-white: #fff;
  --bmt-line: #d7d9dc;
  --bmt-accent: #c9aa72;
  --bmt-max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--bmt-text);
  background: var(--bmt-paper);
  font-family: "Avenir Next", Avenir, Montserrat, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.65;
}
img, video { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, h4 { color: var(--bmt-ink); line-height: 1.15; margin: 0 0 1rem; }
h1 { font-size: clamp(2.3rem, 5vw, 5.4rem); font-weight: 600; letter-spacing: -.04em; }
h2 { font-size: clamp(1.9rem, 3vw, 3.6rem); font-weight: 600; letter-spacing: -.03em; }
h3 { font-size: clamp(1.35rem, 2vw, 2rem); font-weight: 600; }
p { margin: 0 0 1rem; }

.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.bmt-wrap { width: min(calc(100% - 40px), var(--bmt-max)); margin-inline: auto; }
.bmt-section { padding: clamp(64px, 9vw, 120px) 0; }
.bmt-kicker { margin-bottom: 18px; color: var(--bmt-accent); font-size: .78rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.bmt-lead { max-width: 780px; color: #3d4652; font-size: clamp(1.05rem, 1.5vw, 1.3rem); }
.bmt-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 25px; border: 1px solid var(--bmt-ink); background: var(--bmt-ink); color: #fff; font-weight: 600; letter-spacing: .03em; transition: .2s ease; }
.bmt-button:hover, .bmt-button:focus { background: transparent; color: var(--bmt-ink); }
.bmt-button--light { border-color: #fff; background: #fff; color: var(--bmt-ink); }

.bmt-header { position: relative; z-index: 20; background: rgba(246,246,244,.96); }
.bmt-header__inner { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: 210px; gap: 24px; }
.bmt-logo img { width: 160px; max-height: 150px; object-fit: contain; }
.bmt-nav { display: flex; gap: clamp(18px, 3vw, 34px); align-items: center; }
.bmt-nav a { position: relative; font-size: .9rem; letter-spacing: .035em; }
.bmt-nav a::after { position: absolute; right: 0; bottom: -5px; left: 0; height: 1px; background: var(--bmt-ink); content: ""; transform: scaleX(0); transform-origin: right; transition: transform .2s ease; }
.bmt-nav a:hover::after, .bmt-nav a:focus::after, .bmt-nav .current-menu-item a::after { transform: scaleX(1); transform-origin: left; }
.bmt-header__tools { display: flex; justify-content: flex-end; gap: 18px; color: var(--bmt-ink); }
.bmt-mobile-toggle { display: none; border: 0; background: transparent; color: var(--bmt-ink); font: inherit; }

.bmt-hero { position: relative; width: min(calc(100% - 80px), 1180px); min-height: clamp(450px, 64vw, 680px); margin: 0 auto; overflow: hidden; background: #cfd2d3; }
.bmt-hero video, .bmt-hero img { width: 100%; height: 100%; min-height: inherit; object-fit: cover; }
.bmt-hero::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,22,37,.42), transparent 70%); content: ""; }
.bmt-hero__copy { position: absolute; z-index: 2; bottom: clamp(32px, 7vw, 78px); left: clamp(28px, 6vw, 72px); width: min(650px, calc(100% - 56px)); color: #fff; }
.bmt-hero__copy h1, .bmt-hero__copy p { color: #fff; text-shadow: 0 2px 18px rgba(0,0,0,.25); }
.bmt-hero__copy p { max-width: 600px; font-size: 1.15rem; }

.bmt-split { display: grid; grid-template-columns: 1.02fr .98fr; align-items: stretch; gap: 0; background: #fff; }
.bmt-split__media img { width: 100%; height: 100%; min-height: 560px; object-fit: cover; }
.bmt-split__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(42px, 7vw, 90px); }
.bmt-split--reverse .bmt-split__media { order: 2; }

.bmt-purpose { background: var(--bmt-ink); color: #fff; }
.bmt-purpose h2, .bmt-purpose h3 { color: #fff; }
.bmt-purpose__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-top: 42px; background: rgba(255,255,255,.22); }
.bmt-purpose__card { padding: clamp(32px, 5vw, 64px); background: var(--bmt-ink); }
.bmt-purpose__number { display: block; margin-bottom: 28px; color: var(--bmt-accent); font-size: .85rem; letter-spacing: .18em; }

.bmt-clients { overflow: hidden; background: #fff; }
.bmt-client-grid { display: grid; grid-template-columns: repeat(5, 1fr); align-items: center; gap: 40px; margin-top: 44px; }
.bmt-client-grid img { width: 100%; max-width: 145px; max-height: 76px; margin: auto; filter: grayscale(1); object-fit: contain; opacity: .78; transition: .2s ease; }
.bmt-client-grid img:hover { filter: grayscale(0); opacity: 1; }

.bmt-page-hero { padding: clamp(70px, 10vw, 135px) 0; background: var(--bmt-ink); color: #fff; }
.bmt-page-hero h1, .bmt-page-hero p { color: #fff; }
.bmt-page-hero h1 { max-width: 900px; }
.bmt-process-grid { display: grid; gap: 70px; }
.bmt-process { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(32px, 7vw, 90px); }
.bmt-process:nth-child(even) .bmt-process__media { order: 2; }
.bmt-process__media img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.bmt-process ul, .bmt-article ul { padding-left: 1.2rem; }

.bmt-service-card { display: grid; grid-template-columns: 1fr 1fr; min-height: 600px; background: #fff; }
.bmt-service-card img { width: 100%; height: 100%; object-fit: cover; }
.bmt-service-card__copy { padding: clamp(42px, 7vw, 90px); align-self: center; }

.bmt-contact { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(42px, 8vw, 110px); }
.bmt-form { display: grid; gap: 20px; }
.bmt-form label { display: grid; gap: 8px; color: var(--bmt-ink); font-size: .86rem; font-weight: 600; }
.bmt-form input, .bmt-form textarea { width: 100%; border: 0; border-bottom: 1px solid #9ba2aa; border-radius: 0; background: transparent; padding: 13px 2px; color: var(--bmt-text); font: inherit; }
.bmt-form textarea { min-height: 140px; resize: vertical; }
.bmt-form input:focus, .bmt-form textarea:focus { outline: none; border-color: var(--bmt-ink); }
.bmt-notice { padding: 14px 18px; background: #e7efe9; color: #285334; }

.bmt-blog-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 30px; margin-top: 42px; }
.bmt-post-card { padding: clamp(28px, 4vw, 48px); border: 1px solid var(--bmt-line); background: #fff; }
.bmt-post-card time { color: var(--bmt-muted); font-size: .85rem; }
.bmt-article { max-width: 820px; margin: 0 auto; }
.bmt-article h2, .bmt-article h3 { margin-top: 2.2rem; }
.bmt-article p, .bmt-article li { font-size: 1.08rem; }

.bmt-footer { margin-top: 0; padding: 70px 0 30px; background: #0b1d31; color: #dce2e9; }
.bmt-footer h4 { color: #fff; }
.bmt-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 60px; }
.bmt-footer__links { display: grid; gap: 8px; }
.bmt-footer__bottom { margin-top: 55px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.16); color: #9da9b7; font-size: .85rem; }

@media (max-width: 900px) {
  .bmt-header__inner { grid-template-columns: auto 1fr auto; min-height: 120px; }
  .bmt-logo { grid-column: 2; justify-self: center; }
  .bmt-logo img { width: 108px; max-height: 100px; }
  .bmt-mobile-toggle { display: block; grid-column: 1; grid-row: 1; }
  .bmt-header__tools { grid-column: 3; grid-row: 1; }
  .bmt-nav { position: absolute; top: 100%; right: 0; left: 0; display: none; flex-direction: column; align-items: flex-start; padding: 25px 30px 35px; background: var(--bmt-paper); border-top: 1px solid var(--bmt-line); }
  .bmt-nav.is-open { display: flex; }
  .bmt-hero { width: 100%; }
  .bmt-split, .bmt-process, .bmt-service-card, .bmt-contact { grid-template-columns: 1fr; }
  .bmt-split--reverse .bmt-split__media, .bmt-process:nth-child(even) .bmt-process__media { order: initial; }
  .bmt-split__media img { min-height: 420px; }
  .bmt-client-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 620px) {
  .bmt-wrap { width: min(calc(100% - 28px), var(--bmt-max)); }
  .bmt-hero { min-height: 610px; }
  .bmt-purpose__grid, .bmt-blog-grid { grid-template-columns: 1fr; }
  .bmt-client-grid { grid-template-columns: repeat(2, 1fr); gap: 32px; }
  .bmt-footer__grid { grid-template-columns: 1fr; gap: 34px; }
}


/* BMT UX refresh 1.1 */
.bmt-wrap{width:100%;max-width:var(--bmt-max);margin-inline:auto;padding-inline:clamp(22px,4vw,48px)}
.bmt-section{padding:clamp(58px,7vw,96px) 0}
.bmt-header{position:sticky;z-index:20;top:0;border-bottom:1px solid rgba(16,37,64,.1);background:rgba(246,246,244,.94);backdrop-filter:blur(16px)}
.bmt-header__inner{display:flex;align-items:center;justify-content:space-between;max-width:none;min-height:102px;gap:40px;padding-inline:clamp(22px,4vw,64px)}
.bmt-logo{flex:0 0 auto}.bmt-logo img{width:108px;max-height:82px;object-fit:contain}
.bmt-nav{display:flex;gap:clamp(18px,3vw,34px);align-items:center}.bmt-nav a{position:relative;font-size:.88rem;font-weight:600;letter-spacing:.035em}
.bmt-nav .bmt-nav__cta{padding:11px 19px;border:1px solid var(--bmt-ink);transition:color .2s ease,background .2s ease}.bmt-nav .bmt-nav__cta::after{display:none}.bmt-nav .bmt-nav__cta:hover,.bmt-nav .bmt-nav__cta:focus{background:var(--bmt-ink);color:#fff}
.bmt-mobile-toggle{display:none;align-items:center;gap:8px;border:0;background:transparent;color:var(--bmt-ink);font:600 .9rem/1 inherit}
.bmt-hero{position:relative;width:100%;min-height:clamp(520px,calc(100vh - 102px),780px);margin:0;overflow:hidden;background:#cfd2d3}.bmt-hero__copy{position:absolute;z-index:2;bottom:clamp(38px,7vw,86px);left:clamp(22px,6vw,88px);width:min(690px,calc(100% - 44px));color:#fff}
.bmt-section>.bmt-split{max-width:none;padding-inline:0}
.bmt-clients{overflow:hidden;background:#fff}.bmt-clients__heading{margin-bottom:42px}.bmt-logo-marquee{position:relative;width:100%;overflow:hidden;border-block:1px solid var(--bmt-line)}.bmt-logo-marquee::before,.bmt-logo-marquee::after{position:absolute;z-index:2;top:0;bottom:0;width:clamp(30px,7vw,120px);pointer-events:none;content:""}.bmt-logo-marquee::before{left:0;background:linear-gradient(90deg,#fff,transparent)}.bmt-logo-marquee::after{right:0;background:linear-gradient(270deg,#fff,transparent)}.bmt-logo-track{display:flex;width:max-content;animation:bmt-marquee 34s linear infinite}.bmt-logo-group{display:flex;align-items:center}.bmt-client-logo{display:grid;width:clamp(170px,16vw,245px);height:138px;place-items:center;padding:28px 34px;border-right:1px solid var(--bmt-line)}.bmt-client-logo img{width:100%;max-width:150px;max-height:72px;filter:grayscale(1);object-fit:contain;opacity:.72;transition:filter .25s ease,opacity .25s ease,transform .25s ease}.bmt-client-logo:hover img{filter:grayscale(0);opacity:1;transform:scale(1.06)}.bmt-logo-marquee:hover .bmt-logo-track,.bmt-logo-marquee:focus-within .bmt-logo-track{animation-play-state:paused}@keyframes bmt-marquee{to{transform:translateX(-50%)}}
@media(max-width:900px){.bmt-header__inner{min-height:84px}.bmt-logo img{width:88px;max-height:66px}.bmt-mobile-toggle{display:inline-flex}.bmt-nav{position:absolute;top:100%;right:0;left:0;display:none;flex-direction:column;align-items:stretch;gap:0;padding:10px 22px 24px;background:var(--bmt-paper);border-top:1px solid var(--bmt-line);box-shadow:0 18px 35px rgba(16,37,64,.12)}.bmt-nav a{padding:15px 4px;border-bottom:1px solid var(--bmt-line)}.bmt-nav .bmt-nav__cta{margin-top:14px;padding:13px 18px;text-align:center}.bmt-nav.is-open{display:flex}.bmt-hero{min-height:calc(100svh - 84px)}}
@media(max-width:620px){.bmt-wrap{padding-inline:20px}.bmt-hero{min-height:620px}.bmt-client-logo{width:165px;height:112px;padding:22px 28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.bmt-logo-track{animation-play-state:paused}}
