:root {
  --green-950: #082d20;
  --green-900: #0b3d2a;
  --green-800: #0e5438;
  --green-700: #126b46;
  --green-600: #178456;
  --green-500: #24a568;
  --lime: #b9d64b;
  --ink: #13231c;
  --muted: #607068;
  --line: #dce5e0;
  --soft: #f3f7f4;
  --white: #ffffff;
  --black: #07110c;
  --shadow: 0 24px 70px rgba(8, 45, 32, 0.13);
  --container: 1180px;
  --font-head: "Barlow Condensed", Arial, sans-serif;
  --font-body: "Inter", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--white);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.7;
  overflow-x: hidden;
}
body.nav-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.container { width: min(calc(100% - 48px), var(--container)); margin-inline: auto; }
.section { padding: 110px 0; }
.section--soft { background: var(--soft); }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 9999; padding: 12px 18px; color: #fff; background: var(--green-900); }
.skip-link:focus { top: 16px; }

h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--font-head); line-height: 1.04; letter-spacing: -0.015em; }
h1 { margin-bottom: 24px; font-size: clamp(58px, 6vw, 88px); font-weight: 700; text-transform: uppercase; }
h2 { margin-bottom: 22px; font-size: clamp(46px, 4.5vw, 66px); font-weight: 700; text-transform: uppercase; }
h3 { font-size: 28px; }
p { color: var(--muted); }
.eyebrow { display: flex; gap: 12px; align-items: center; margin-bottom: 16px; color: var(--green-700); font-family: var(--font-head); font-size: 14px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.eyebrow::before { width: 38px; height: 2px; background: currentColor; content: ""; }
.eyebrow--light { color: #a9d4ba; }

.button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; gap: 12px; padding: 13px 24px; border: 1px solid transparent; border-radius: 3px; font-size: 13px; font-weight: 700; letter-spacing: .055em; line-height: 1.2; text-align: center; text-transform: uppercase; transition: .25s ease; }
.button--primary { color: var(--green-950); background: var(--lime); box-shadow: 0 12px 32px rgba(185,214,75,.18); }
.button--primary:hover { transform: translateY(-2px); background: #cce761; }
.button--ghost { color: #fff; border-color: rgba(255,255,255,.32); background: rgba(255,255,255,.035); }
.button--ghost:hover { border-color: #fff; background: rgba(255,255,255,.09); }
.button--secondary { color: #fff; background: var(--green-700); }
.button--secondary:hover { transform: translateY(-2px); background: var(--green-800); }
.button--dark { width: 100%; color: #fff; background: var(--ink); }
.button--dark:hover { background: var(--green-950); }
.button--header { min-height: 44px; margin-left: 14px; padding-inline: 19px; color: #fff !important; background: var(--green-700); }

.topbar { color: #d4e7dc; background: var(--green-950); font-size: 12px; }
.topbar__inner { display: flex; min-height: 38px; align-items: center; justify-content: space-between; }
.topbar p { margin: 0; color: inherit; }
.topbar__links { display: flex; align-items: center; gap: 14px; }
.topbar__links span { width: 1px; height: 12px; background: rgba(255,255,255,.28); }
.topbar a:hover { color: #fff; }

.site-header { position: relative; z-index: 100; background: rgba(255,255,255,.97); border-bottom: 1px solid rgba(12,61,42,.08); transition: box-shadow .25s ease, transform .25s ease; }
.site-header.is-sticky { position: fixed; top: 0; right: 0; left: 0; box-shadow: 0 10px 35px rgba(7,17,12,.09); animation: slideDown .3s ease; }
.header__inner { display: flex; min-height: 82px; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; align-items: center; gap: 12px; color: var(--green-950); }
.brand__mark { display: flex; width: 39px; height: 39px; align-items: flex-end; justify-content: center; gap: 3px; padding: 7px; transform: skew(-7deg); background: var(--green-700); }
.brand__mark span { display: block; width: 5px; background: var(--lime); }
.brand__mark span:nth-child(1) { height: 12px; }
.brand__mark span:nth-child(2) { height: 19px; }
.brand__mark span:nth-child(3) { height: 26px; }
.brand__text { font-family: var(--font-head); font-size: 25px; font-weight: 700; letter-spacing: -.03em; line-height: 1; }
.brand__text > span { color: var(--green-600); }
.brand__text small { margin-left: 2px; font-size: 13px; letter-spacing: 0; }
.primary-nav { display: flex; align-items: center; }
.primary-nav > a:not(.button) { position: relative; padding: 29px 0; color: #30443a; font-size: 13px; font-weight: 600; }
.primary-nav > a:not(.button)::after { position: absolute; right: 0; bottom: 21px; left: 0; height: 2px; transform: scaleX(0); transform-origin: right; background: var(--green-600); content: ""; transition: transform .25s ease; }
.primary-nav > a:not(.button):hover::after { transform: scaleX(1); transform-origin: left; }
.menu-toggle { display: none; width: 46px; height: 42px; align-items: center; justify-content: center; flex-direction: column; gap: 5px; border: 0; background: transparent; }
.menu-toggle span { display: block; width: 24px; height: 2px; background: var(--ink); transition: .25s ease; }

.hero { position: relative; min-height: 760px; overflow: hidden; color: #fff; background: radial-gradient(circle at 75% 40%, rgba(23,132,86,.35), transparent 32%), linear-gradient(115deg, #061810 0%, #082d20 48%, #0b3d2a 100%); }
.hero__grid { position: absolute; inset: 0; opacity: .12; background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px); background-size: 52px 52px; mask-image: linear-gradient(to right, #000, transparent 78%); }
.hero::before { position: absolute; inset: 0; opacity: .18; background: url("assets/images/engineer-control-panel.png") left center / cover no-repeat; mix-blend-mode: soft-light; content: ""; }
.hero__inner { position: relative; z-index: 2; display: grid; min-height: 760px; grid-template-columns: 1.02fr .98fr; align-items: center; gap: 50px; padding-top: 20px; padding-bottom: 56px; }
.hero__copy { padding-top: 20px; }
.hero h1 span { color: var(--lime); }
.hero__lead { max-width: 660px; margin-bottom: 32px; color: #d1dfd7; font-size: 17px; line-height: 1.75; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero__proof { display: grid; max-width: 640px; grid-template-columns: repeat(3,1fr); margin-top: 48px; padding-top: 26px; border-top: 1px solid rgba(255,255,255,.15); }
.hero__proof div { padding-right: 25px; }
.hero__proof div + div { padding-left: 25px; border-left: 1px solid rgba(255,255,255,.14); }
.hero__proof strong, .hero__proof span { display: block; }
.hero__proof strong { font-family: var(--font-head); font-size: 24px; line-height: 1; }
.hero__proof span { margin-top: 6px; color: #9fb6a8; font-size: 11px; text-transform: uppercase; letter-spacing: .09em; }
.hero__visual { position: relative; display: flex; min-height: 590px; align-items: center; justify-content: center; }
.hero__product-card { position: relative; z-index: 3; width: min(82%, 510px); padding: 42px 30px 15px; border: 1px solid rgba(255,255,255,.15); background: linear-gradient(145deg, rgba(255,255,255,.14), rgba(255,255,255,.035)); backdrop-filter: blur(7px); box-shadow: 0 35px 85px rgba(0,0,0,.3); }
.hero__product-card::after { position: absolute; right: -18px; bottom: -18px; width: 80px; height: 80px; border-right: 3px solid var(--lime); border-bottom: 3px solid var(--lime); content: ""; }
.hero__product-card img { position: relative; z-index: 2; width: 100%; filter: drop-shadow(0 28px 20px rgba(0,0,0,.23)); }
.hero__label { position: absolute; top: 14px; left: 18px; color: #cbded2; font-size: 10px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.hero__ring { position: absolute; border: 1px solid rgba(185,214,75,.26); border-radius: 50%; }
.hero__ring--outer { width: 565px; height: 565px; animation: rotate 26s linear infinite; }
.hero__ring--outer::before, .hero__ring--outer::after { position: absolute; width: 10px; height: 10px; border-radius: 50%; background: var(--lime); content: ""; }
.hero__ring--outer::before { top: 50px; left: 91px; }
.hero__ring--outer::after { right: 52px; bottom: 90px; }
.hero__ring--inner { width: 440px; height: 440px; border-style: dashed; opacity: .7; animation: rotateReverse 20s linear infinite; }
.floating-chip { position: absolute; z-index: 4; display: flex; min-width: 220px; align-items: center; gap: 12px; padding: 13px 16px; color: #fff; border: 1px solid rgba(255,255,255,.13); background: rgba(6,24,16,.84); box-shadow: 0 16px 35px rgba(0,0,0,.2); backdrop-filter: blur(8px); }
.floating-chip--top { top: 84px; right: -18px; }
.floating-chip--bottom { bottom: 75px; left: -24px; }
.chip-icon { display: inline-flex; width: 40px; height: 40px; align-items: center; justify-content: center; color: var(--green-950); border-radius: 50%; background: var(--lime); font-family: var(--font-head); font-size: 18px; font-weight: 700; }
.floating-chip strong, .floating-chip small { display: block; }
.floating-chip strong { font-family: var(--font-head); font-size: 17px; }
.floating-chip small { color: #9fb6a8; font-size: 10px; }
.hero__glow { position: absolute; border-radius: 50%; filter: blur(80px); }
.hero__glow--one { top: 9%; right: 8%; width: 230px; height: 230px; background: rgba(185,214,75,.14); }
.hero__glow--two { bottom: -60px; left: 27%; width: 250px; height: 250px; background: rgba(23,132,86,.19); }
.hero__edge { position: absolute; right: 0; bottom: -1px; left: 0; height: 52px; clip-path: polygon(0 100%, 100% 0, 100% 100%); background: #fff; }

.intro__grid { display: grid; grid-template-columns: .95fr 1.05fr; align-items: center; gap: 90px; }
.intro__visual { position: relative; min-height: 500px; }
.image-frame { position: relative; overflow: hidden; background: var(--soft); box-shadow: var(--shadow); }
.image-frame--intro { width: 88%; margin-left: auto; padding: 42px; }
.image-frame--intro::before { position: absolute; top: 0; left: 0; width: 90px; height: 90px; border-top: 5px solid var(--green-600); border-left: 5px solid var(--green-600); content: ""; }
.image-frame--intro img { width: 100%; height: 390px; object-fit: contain; }
.intro__badge { position: absolute; bottom: 12px; left: 0; width: 280px; padding: 25px; color: #fff; background: var(--green-800); box-shadow: 0 18px 40px rgba(8,45,32,.25); }
.intro__badge::before { position: absolute; top: -5px; right: -5px; width: 38px; height: 38px; border-top: 2px solid var(--lime); border-right: 2px solid var(--lime); content: ""; }
.intro__badge strong, .intro__badge span { display: block; }
.intro__badge strong { margin-bottom: 6px; font-family: var(--font-head); font-size: 24px; text-transform: uppercase; }
.intro__badge span { color: #c7ddd0; font-size: 12px; line-height: 1.6; }
.intro__copy > p:not(.eyebrow) { max-width: 650px; }
.type-pills { display: flex; flex-wrap: wrap; gap: 10px; margin: 28px 0; }
.type-pills span { display: inline-flex; align-items: center; gap: 9px; padding: 10px 14px; color: var(--green-900); border: 1px solid #cfe0d6; background: #f7faf8; font-size: 12px; font-weight: 700; }
.type-pills i { width: 8px; height: 8px; border-radius: 50%; background: var(--green-600); box-shadow: 0 0 0 4px rgba(23,132,86,.1); }
.text-link { display: inline-flex; align-items: center; gap: 12px; color: var(--green-700); font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.text-link span { font-size: 22px; transition: transform .2s ease; }
.text-link:hover span { transform: translateX(5px); }
.text-link--light { color: var(--lime); }

.section-heading { margin-bottom: 52px; }
.section-heading--split { display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 70px; }
.section-heading--split h2 { margin-bottom: 0; }
.section-heading--split > p { max-width: 470px; margin-bottom: 5px; }
.section-heading--center { max-width: 760px; margin-right: auto; margin-left: auto; text-align: center; }
.section-heading--center .eyebrow { justify-content: center; }
.section-heading--light h2 { color: #fff; }
.section-heading--light > p:last-child { color: #a9beb1; }
.benefits__layout { display: grid; grid-template-columns: 1fr 1fr; gap: 45px; }
.benefits__image { position: relative; min-height: 590px; overflow: hidden; }
.benefits__image::after { position: absolute; inset: 0; background: linear-gradient(to top, rgba(8,45,32,.35), transparent 54%); content: ""; }
.benefits__image > img { width: 100%; height: 100%; min-height: 590px; object-fit: cover; }
.benefits__image-label { position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; display: flex; align-items: center; gap: 20px; padding: 24px 28px; color: #fff; background: rgba(8,45,32,.9); }
.benefits__image-label span { color: var(--lime); font-family: var(--font-head); font-size: 45px; font-weight: 700; line-height: 1; }
.benefits__image-label p { margin: 0; color: #d6e7dc; font-size: 12px; }
.benefits__cards { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; }
.benefit-card { min-height: 286px; padding: 33px 28px; border: 1px solid #dbe6df; background: #fff; transition: .25s ease; }
.benefit-card:hover { transform: translateY(-5px); border-color: transparent; box-shadow: var(--shadow); }
.benefit-card h3 { margin: 22px 0 12px; font-size: 25px; text-transform: uppercase; }
.benefit-card p { margin: 0; font-size: 13px; line-height: 1.75; }
.line-icon { display: flex; width: 56px; height: 56px; align-items: center; justify-content: center; border-radius: 50%; background: rgba(23,132,86,.08); }
.line-icon svg { width: 30px; height: 30px; fill: none; stroke: var(--green-700); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }

.products { position: relative; overflow: hidden; background: #07150e; }
.products__texture { position: absolute; inset: 0; opacity: .12; background: url("assets/images/engineer-control-panel.png") center/cover no-repeat; filter: grayscale(1); }
.products::before { position: absolute; inset: 0; background: linear-gradient(110deg, rgba(7,21,14,.99), rgba(7,21,14,.87)); content: ""; }
.products .container { position: relative; z-index: 2; }
.product-grid { display: grid; gap: 24px; }
.product-card { position: relative; display: grid; min-height: 460px; grid-template-columns: .93fr 1.07fr; overflow: hidden; border: 1px solid rgba(255,255,255,.11); background: rgba(255,255,255,.045); }
.product-card--reverse { grid-template-columns: 1.07fr .93fr; }
.product-card--reverse .product-card__image { order: 2; }
.product-card--reverse .product-card__content { order: 1; }
.product-card__number { position: absolute; z-index: 3; top: 18px; left: 22px; color: rgba(255,255,255,.18); font-family: var(--font-head); font-size: 54px; font-weight: 700; line-height: 1; }
.product-card--reverse .product-card__number { right: 22px; left: auto; }
.product-card__image { position: relative; display: flex; min-height: 460px; align-items: center; justify-content: center; padding: 50px 40px; background: #eef3ef; }
.product-card__image::after { position: absolute; inset: 20px; border: 1px solid rgba(8,45,32,.12); content: ""; }
.product-card__image img { position: relative; z-index: 2; width: 100%; max-height: 340px; object-fit: contain; filter: drop-shadow(0 20px 18px rgba(8,45,32,.14)); transition: transform .35s ease; }
.product-card:hover .product-card__image img { transform: scale(1.035); }
.product-card__content { display: flex; align-items: flex-start; justify-content: center; flex-direction: column; padding: 58px 60px; }
.product-card__tag { margin-bottom: 8px; color: var(--lime); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.product-card h3 { margin: 0 0 16px; color: #fff; font-size: 43px; text-transform: uppercase; }
.product-card__content > p:not(.product-card__tag) { color: #a9beb1; font-size: 14px; }
.product-card ul { display: grid; gap: 7px; margin: 10px 0 24px; padding: 0; color: #d2dfd7; list-style: none; font-size: 12px; }
.product-card li { position: relative; padding-left: 18px; }
.product-card li::before { position: absolute; top: 9px; left: 0; width: 7px; height: 7px; background: var(--green-500); content: ""; }

.industry-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.industry-card { position: relative; min-height: 330px; overflow: hidden; padding: 34px 28px; border: 1px solid var(--line); background: #fff; transition: .25s ease; }
.industry-card::after { position: absolute; right: 0; bottom: 0; width: 0; height: 5px; background: var(--lime); content: ""; transition: width .3s ease; }
.industry-card:hover { color: #fff; border-color: var(--green-800); background: var(--green-800); box-shadow: var(--shadow); transform: translateY(-5px); }
.industry-card:hover::after { left: 0; width: 100%; }
.industry-card:hover p { color: #c7ddd0; }
.industry-card:hover .industry-card__index { color: rgba(255,255,255,.14); }
.industry-card:hover .industry-card__icon { background: rgba(255,255,255,.09); }
.industry-card:hover .industry-card__icon svg { stroke: var(--lime); }
.industry-card__index { position: absolute; top: 19px; right: 24px; color: #e0e8e3; font-family: var(--font-head); font-size: 42px; font-weight: 700; line-height: 1; }
.industry-card__icon { display: flex; width: 65px; height: 65px; align-items: center; justify-content: center; margin-bottom: 34px; background: var(--soft); }
.industry-card__icon svg { width: 39px; height: 39px; fill: none; stroke: var(--green-700); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.industry-card h3 { margin-bottom: 14px; font-size: 28px; text-transform: uppercase; }
.industry-card p { margin: 0; font-size: 12px; line-height: 1.75; }

.why__grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 85px; }
.why__visual { position: relative; min-height: 650px; }
.why__image-shape { position: absolute; inset: 0 70px 0 0; overflow: hidden; clip-path: polygon(0 0, 86% 0, 100% 50%, 86% 100%, 0 100%); }
.why__image-shape img { width: 100%; height: 100%; object-fit: cover; }
.why__image-shape::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,45,32,.1), transparent); content: ""; }
.why__stat { position: absolute; right: 0; bottom: 40px; width: 260px; padding: 24px; color: #fff; background: var(--green-800); box-shadow: 0 20px 45px rgba(8,45,32,.28); }
.why__stat strong, .why__stat span { display: block; }
.why__stat strong { margin-bottom: 6px; font-family: var(--font-head); font-size: 25px; text-transform: uppercase; }
.why__stat span { color: #c5dccf; font-size: 11px; line-height: 1.6; }
.why__copy > p:not(.eyebrow) { margin-bottom: 30px; }
.why-list { display: grid; gap: 0; }
.why-list > div { display: grid; grid-template-columns: 52px 1fr; gap: 17px; padding: 17px 0; border-top: 1px solid #d9e4de; }
.why-list > div:last-child { border-bottom: 1px solid #d9e4de; }
.why-list > div > span { color: var(--green-600); font-family: var(--font-head); font-size: 21px; font-weight: 700; }
.why-list h3 { margin: 0 0 5px; font-size: 20px; text-transform: uppercase; }
.why-list p { margin: 0; font-size: 12px; line-height: 1.65; }

.process-grid { position: relative; display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
.process-grid::before { position: absolute; z-index: 0; top: 31px; right: 12.5%; left: 12.5%; height: 1px; background: #cbd9d1; content: ""; }
.process-card { position: relative; z-index: 1; padding: 0 20px; text-align: center; }
.process-card > span { display: inline-flex; width: 64px; height: 64px; align-items: center; justify-content: center; margin-bottom: 25px; color: #fff; border: 7px solid #fff; border-radius: 50%; background: var(--green-700); box-shadow: 0 0 0 1px #cbd9d1; font-family: var(--font-head); font-size: 21px; font-weight: 700; }
.process-card h3 { margin-bottom: 10px; font-size: 23px; text-transform: uppercase; }
.process-card p { margin: 0; font-size: 12px; }

.faq__grid { display: grid; grid-template-columns: .75fr 1.25fr; align-items: start; gap: 90px; }
.faq__intro { position: sticky; top: 130px; }
.faq__intro .button { margin-top: 12px; }
.accordion { border-top: 1px solid #cfddd5; }
.accordion__item { border-bottom: 1px solid #cfddd5; }
.accordion__item button { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 30px; padding: 25px 0; color: var(--ink); border: 0; background: transparent; text-align: left; }
.accordion__item button span { font-family: var(--font-head); font-size: 23px; font-weight: 600; line-height: 1.2; text-transform: uppercase; }
.accordion__item button i { position: relative; flex: 0 0 36px; width: 36px; height: 36px; border-radius: 50%; background: #e5ede8; }
.accordion__item button i::before, .accordion__item button i::after { position: absolute; top: 17px; left: 11px; width: 14px; height: 2px; background: var(--green-800); content: ""; transition: transform .2s ease; }
.accordion__item button i::after { transform: rotate(90deg); }
.accordion__item.is-open button i::after { transform: rotate(0); }
.accordion__panel { display: grid; max-height: 0; overflow: hidden; transition: max-height .35s ease; }
.accordion__panel p { max-width: 690px; margin: 0 0 24px; font-size: 13px; }
.accordion__item.is-open .accordion__panel { max-height: 250px; }

.quote { position: relative; overflow: hidden; padding: 105px 0; color: #fff; background: linear-gradient(120deg, var(--green-800), var(--green-950)); }
.quote__pattern { position: absolute; inset: 0; opacity: .12; background-image: linear-gradient(30deg, transparent 12%, rgba(255,255,255,.15) 12%, rgba(255,255,255,.15) 13%, transparent 13%), linear-gradient(-30deg, transparent 12%, rgba(255,255,255,.1) 12%, rgba(255,255,255,.1) 13%, transparent 13%); background-size: 70px 70px; }
.quote__grid { position: relative; z-index: 2; display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 85px; }
.quote h2 { max-width: 600px; color: #fff; }
.quote__copy > p:not(.eyebrow) { max-width: 590px; color: #c4d9cc; }
.quote__contact { display: flex; flex-wrap: wrap; gap: 36px; margin-top: 38px; }
.quote__contact a span, .quote__contact a strong { display: block; }
.quote__contact a span { margin-bottom: 2px; color: #9cc1ad; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.quote__contact a strong { font-family: var(--font-head); font-size: 22px; }
.quote-form { padding: 38px; color: var(--ink); background: #fff; box-shadow: 0 25px 75px rgba(0,0,0,.2); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.quote-form label { display: grid; gap: 7px; margin-bottom: 14px; color: #2d4439; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.quote-form input, .quote-form select, .quote-form textarea { width: 100%; color: var(--ink); border: 1px solid #d5e0da; border-radius: 0; outline: none; background: #fbfcfb; font-size: 13px; text-transform: none; transition: border-color .2s ease, box-shadow .2s ease; }
.quote-form input, .quote-form select { height: 49px; padding: 0 14px; }
.quote-form textarea { resize: vertical; padding: 13px 14px; }
.quote-form input:focus, .quote-form select:focus, .quote-form textarea:focus { border-color: var(--green-600); box-shadow: 0 0 0 3px rgba(23,132,86,.08); }
.form-note { margin: 10px 0 0; color: #84948b; font-size: 10px; text-align: center; }

.site-footer { color: #a9beb1; background: #06130d; }
.footer__top { display: grid; grid-template-columns: 1.5fr .7fr .8fr 1fr; gap: 65px; padding-top: 75px; padding-bottom: 60px; }
.brand--footer { color: #fff; }
.footer__brand > p { max-width: 390px; margin: 24px 0 0; color: #879c90; font-size: 12px; }
.footer__column { display: flex; align-items: flex-start; flex-direction: column; gap: 10px; }
.footer__column h3 { margin-bottom: 10px; color: #fff; font-size: 19px; text-transform: uppercase; }
.footer__column a { color: #8fa499; font-size: 12px; }
.footer__column a:hover { color: var(--lime); }
.footer__contact p { color: #6f8579; font-size: 11px; }
.footer__bottom { display: flex; min-height: 70px; align-items: center; justify-content: space-between; border-top: 1px solid rgba(255,255,255,.08); }
.footer__bottom p { margin: 0; color: #687c71; font-size: 10px; }
.footer__bottom div { display: flex; gap: 24px; }
.footer__bottom a { color: #687c71; font-size: 10px; }

.floating-quote { position: fixed; z-index: 90; right: 20px; bottom: 20px; display: flex; width: 102px; height: 54px; align-items: center; justify-content: space-between; gap: 8px; padding: 9px 11px; color: #fff; background: var(--green-700); box-shadow: 0 14px 35px rgba(8,45,32,.3); }
.floating-quote span { font-size: 9px; font-weight: 700; letter-spacing: .04em; line-height: 1.25; text-transform: uppercase; }
.floating-quote i { display: flex; width: 28px; height: 28px; align-items: center; justify-content: center; color: var(--green-950); border-radius: 50%; background: var(--lime); font-style: normal; }

.reveal { opacity: 0; transform: translateY(28px); transition: opacity .7s ease, transform .7s ease; }
.reveal--delay { transition-delay: .16s; }
.reveal--delay-small { transition-delay: .08s; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }

@keyframes rotate { to { transform: rotate(360deg); } }
@keyframes rotateReverse { to { transform: rotate(-360deg); } }
@keyframes slideDown { from { transform: translateY(-100%); } to { transform: translateY(0); } }

@media (max-width: 1199px) {
  :root { --container: 1040px; }
  .container { width: min(calc(100% - 40px), var(--container)); }
  .primary-nav > a:not(.button) { margin-left: 20px; }
  .button--header { margin-left: 9px; padding-inline: 14px; }
  .hero__inner { gap: 30px; }
  .hero__ring--outer { width: 500px; height: 500px; }
  .hero__ring--inner { width: 390px; height: 390px; }
  .floating-chip--top { right: 0; }
  .floating-chip--bottom { left: 0; }
  .intro__grid, .why__grid { gap: 60px; }
  .product-card__content { padding: 50px 46px; }
  .industry-card { padding: 31px 23px; }
  .footer__top { gap: 40px; }
}

@media (max-width: 991px) {
  .section { padding: 88px 0; }
  .topbar__inner { justify-content: center; }
  .topbar__inner > p { display: none; }
  .header__inner { min-height: 72px; }
  .menu-toggle { display: flex; z-index: 102; }
  .menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .primary-nav { position: fixed; z-index: 101; top: 0; right: 0; bottom: 0; display: flex; width: min(85vw, 420px); align-items: stretch; justify-content: center; flex-direction: column; padding: 90px 36px 40px; transform: translateX(105%); background: #fff; box-shadow: -20px 0 50px rgba(8,45,32,.14); transition: transform .3s ease; }
  .primary-nav.is-open { transform: translateX(0); }
  .primary-nav > a:not(.button) { margin: 0; padding: 15px 0; border-bottom: 1px solid #e1e9e4; font-family: var(--font-head); font-size: 22px; text-transform: uppercase; }
  .primary-nav > a:not(.button)::after { display: none; }
  .button--header { margin: 24px 0 0; }
  body.nav-open::after { position: fixed; z-index: 99; inset: 0; background: rgba(3,14,9,.5); content: ""; }
  .hero, .hero__inner { min-height: auto; }
  .hero__inner { grid-template-columns: 1fr; padding-top: 90px; padding-bottom: 105px; }
  .hero__copy { text-align: center; }
  .hero__copy .eyebrow { justify-content: center; }
  .hero__lead, .hero__proof { margin-right: auto; margin-left: auto; }
  .hero__actions { justify-content: center; }
  .hero__visual { min-height: 560px; }
  .hero__product-card { width: min(64%, 500px); }
  .floating-chip--top { right: 10%; }
  .floating-chip--bottom { left: 10%; }
  .intro__grid, .benefits__layout, .why__grid, .faq__grid, .quote__grid { grid-template-columns: 1fr; }
  .intro__grid { gap: 65px; }
  .intro__visual { width: min(100%, 720px); margin: 0 auto; }
  .intro__copy { max-width: 720px; margin: 0 auto; }
  .section-heading--split { grid-template-columns: 1fr; gap: 20px; }
  .section-heading--split > p { max-width: 650px; }
  .benefits__layout { gap: 20px; }
  .benefits__image, .benefits__image > img { min-height: 500px; }
  .product-card, .product-card--reverse { grid-template-columns: 1fr 1fr; }
  .product-card__content { padding: 42px 34px; }
  .product-card h3 { font-size: 36px; }
  .industry-grid { grid-template-columns: repeat(2,1fr); }
  .why__grid { gap: 70px; }
  .why__visual { width: min(100%, 720px); margin-inline: auto; }
  .process-grid { grid-template-columns: repeat(2,1fr); row-gap: 45px; }
  .process-grid::before { display: none; }
  .faq__grid { gap: 50px; }
  .faq__intro { position: static; max-width: 650px; }
  .quote__grid { gap: 55px; }
  .quote__copy { max-width: 720px; }
  .footer__top { grid-template-columns: 1.5fr 1fr 1fr; }
  .footer__brand { grid-column: 1 / -1; }
}

@media (max-width: 767px) {
  .container { width: min(calc(100% - 32px), var(--container)); }
  .section { padding: 72px 0; }
  h1 { font-size: clamp(48px, 14vw, 68px); }
  h2 { font-size: clamp(39px, 11vw, 54px); }
  .topbar__links { gap: 9px; }
  .topbar__links a { font-size: 10px; }
  .brand__text { font-size: 22px; }
  .hero__inner { padding-top: 72px; }
  .hero__lead { font-size: 15px; }
  .hero__proof { grid-template-columns: 1fr; max-width: 420px; gap: 0; text-align: left; }
  .hero__proof div, .hero__proof div + div { display: grid; grid-template-columns: 145px 1fr; align-items: center; padding: 13px 0; border: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
  .hero__proof div + div { padding-left: 0; }
  .hero__proof span { margin-top: 0; }
  .hero__visual { min-height: 480px; }
  .hero__ring--outer { width: 430px; height: 430px; }
  .hero__ring--inner { width: 330px; height: 330px; }
  .hero__product-card { width: min(75%, 420px); }
  .floating-chip { min-width: 205px; }
  .floating-chip--top { top: 45px; right: 0; }
  .floating-chip--bottom { bottom: 45px; left: 0; }
  .intro__visual { min-height: 430px; }
  .image-frame--intro { width: 93%; padding: 25px; }
  .image-frame--intro img { height: 340px; }
  .intro__badge { width: 250px; }
  .benefits__cards { grid-template-columns: 1fr; }
  .benefit-card { min-height: auto; }
  .product-card, .product-card--reverse { grid-template-columns: 1fr; }
  .product-card--reverse .product-card__image, .product-card--reverse .product-card__content { order: initial; }
  .product-card__image { min-height: 390px; }
  .product-card__number, .product-card--reverse .product-card__number { top: 18px; right: auto; left: 20px; color: rgba(8,45,32,.15); }
  .industry-grid { grid-template-columns: 1fr; }
  .industry-card { min-height: 280px; }
  .why__visual { min-height: 560px; }
  .why__image-shape { right: 30px; }
  .why__stat { right: 0; }
  .process-grid { grid-template-columns: 1fr; gap: 32px; }
  .process-card { max-width: 450px; margin: 0 auto; }
  .quote { padding: 80px 0; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .footer__top { grid-template-columns: 1fr 1fr; }
  .footer__brand { grid-column: 1 / -1; }
  .footer__contact { grid-column: 1 / -1; }
  .floating-quote { display: none; }
}

@media (max-width: 575px) {
  body { font-size: 15px; }
  .container { width: min(calc(100% - 24px), var(--container)); }
  .section { padding: 62px 0; }
  .topbar__links span { display: none; }
  .topbar__links { width: 100%; justify-content: space-between; }
  .brand__mark { width: 35px; height: 35px; }
  .brand__text { font-size: 20px; }
  .brand__text small { font-size: 10px; }
  .primary-nav { width: 91vw; padding-right: 26px; padding-left: 26px; }
  .hero__inner { padding-top: 58px; padding-bottom: 85px; }
  .hero__actions { display: grid; }
  .hero__actions .button { width: 100%; }
  .hero__proof div, .hero__proof div + div { grid-template-columns: 125px 1fr; }
  .hero__visual { min-height: 390px; margin-top: 18px; }
  .hero__ring--outer { width: 345px; height: 345px; }
  .hero__ring--inner { width: 270px; height: 270px; }
  .hero__product-card { width: 78%; padding: 35px 18px 8px; }
  .floating-chip { min-width: 0; max-width: 190px; padding: 10px 12px; }
  .floating-chip--top { top: 20px; }
  .floating-chip--bottom { bottom: 20px; }
  .chip-icon { width: 32px; height: 32px; flex: 0 0 32px; }
  .floating-chip strong { font-size: 14px; }
  .floating-chip small { font-size: 8px; }
  .intro__visual { min-height: 370px; }
  .image-frame--intro { width: 100%; padding: 18px; }
  .image-frame--intro img { height: 285px; }
  .intro__badge { bottom: 0; width: calc(100% - 35px); padding: 20px; }
  .type-pills { display: grid; }
  .benefits__image, .benefits__image > img { min-height: 430px; }
  .benefits__image-label { padding: 18px; }
  .benefits__image-label span { font-size: 38px; }
  .product-card__image { min-height: 310px; padding: 40px 25px; }
  .product-card__content { padding: 35px 25px; }
  .product-card h3 { font-size: 35px; }
  .why__visual { min-height: 470px; }
  .why__image-shape { right: 15px; clip-path: polygon(0 0, 88% 0, 100% 50%, 88% 100%, 0 100%); }
  .why__stat { bottom: 20px; width: 220px; padding: 19px; }
  .why-list > div { grid-template-columns: 42px 1fr; }
  .accordion__item button span { font-size: 20px; }
  .quote__contact { display: grid; gap: 18px; }
  .quote-form { padding: 25px 18px; }
  .footer__top { grid-template-columns: 1fr; gap: 32px; padding-top: 58px; }
  .footer__brand, .footer__contact { grid-column: auto; }
  .footer__bottom { align-items: flex-start; flex-direction: column; gap: 8px; padding: 20px 0; }
}
/* =========================================================
   SITE HEADER
========================================================= */

.site-header {
  position: relative;
  z-index: 1000;

  background: #fff;

  border-bottom: 1px solid
    rgba(18, 53, 39, 0.08);
}

.header__inner {
  min-height: 82px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 40px;
}


/* =========================================================
   DISTRIBUTOR LOCKUP
========================================================= */

.distributor-lockup {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;

  flex-shrink: 0;

  text-decoration: none;
}

.distributor-lockup__label {
  display: block;

  margin-bottom: 4px;

  font-family: 'Inter', sans-serif;

  font-size: 10px;
  font-weight: 600;

  line-height: 1;

  letter-spacing: 0.7px;

  text-transform: uppercase;

  color: #65756d;
}

.distributor-lockup img {
  display: block;

  width: 165px;
  height: auto;

  transition:
    opacity 0.25s ease,
    transform 0.25s ease;
}

.distributor-lockup:hover img {
  opacity: 0.85;

  transform: translateY(-1px);
}


/* =========================================================
   PRIMARY NAVIGATION
========================================================= */

.primary-nav {
  display: flex;
  align-items: center;

  gap: 29px;

  margin-left: auto;
}

.primary-nav > a,
.nav-dropdown__trigger > a {
  position: relative;

  display: inline-flex;
  align-items: center;

  min-height: 42px;

  font-family: 'Inter', sans-serif;

  font-size: 14px;
  font-weight: 600;

  line-height: 1;

  color: #35483f;

  text-decoration: none;

  white-space: nowrap;

  transition: color 0.2s ease;
}

.primary-nav > a:not(.button)::after,
.nav-dropdown__trigger > a::after {
  content: '';

  position: absolute;

  left: 0;
  bottom: 4px;

  width: 0;
  height: 2px;

  background: var(--green);

  transition: width 0.25s ease;
}

.primary-nav > a:not(.button):hover,
.nav-dropdown__trigger > a:hover {
  color: var(--green);
}

.primary-nav > a:not(.button):hover::after,
.nav-dropdown:hover
.nav-dropdown__trigger > a::after {
  width: 100%;
}


/* =========================================================
   DROPDOWN TRIGGER
========================================================= */

.nav-dropdown {
  position: relative;

  display: flex;
  align-items: center;
}

.nav-dropdown__trigger {
  display: flex;
  align-items: center;

  gap: 5px;
}

.nav-dropdown__toggle {
  width: 24px;
  height: 42px;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 0;

  border: 0;

  background: transparent;

  color: #35483f;

  cursor: pointer;
}

.nav-dropdown__toggle svg {
  transition:
    transform 0.25s ease,
    color 0.25s ease;
}

.nav-dropdown:hover
.nav-dropdown__toggle svg,
.nav-dropdown:focus-within
.nav-dropdown__toggle svg,
.nav-dropdown.is-open
.nav-dropdown__toggle svg {
  color: var(--green);

  transform: rotate(180deg);
}


/* =========================================================
   DROPDOWN MENU

   IMPORTANT:
   The menu begins immediately at top:100%.
   The padding creates the visual space.

   This means there is NO DEAD HOVER GAP.
========================================================= */

.nav-dropdown__menu {
  position: absolute;

  top: 100%;
  left: 50%;

  z-index: 500;

  width: 390px;

  padding-top: 14px;

  opacity: 0;
  visibility: hidden;

  pointer-events: none;

  transform:
    translateX(-50%)
    translateY(7px);

  transition:
    opacity 0.2s ease,
    visibility 0.2s ease,
    transform 0.2s ease;
}


/*
  The actual visual box.
*/

.nav-dropdown__panel {
  position: relative;

  padding: 8px;

  background: #fff;

  border:
    1px solid
    rgba(18, 53, 39, 0.08);

  border-radius: 8px;

  box-shadow:
    0 25px 60px rgba(18, 53, 39, 0.14),
    0 8px 20px rgba(18, 53, 39, 0.06);
}


/*
  Arrow
*/

.nav-dropdown__panel::before {
  content: '';

  position: absolute;

  top: -6px;
  left: 50%;

  width: 12px;
  height: 12px;

  background: #fff;

  border-top:
    1px solid
    rgba(18, 53, 39, 0.08);

  border-left:
    1px solid
    rgba(18, 53, 39, 0.08);

  transform:
    translateX(-50%)
    rotate(45deg);
}


/* OPEN STATES */

.nav-dropdown:hover
.nav-dropdown__menu,

.nav-dropdown:focus-within
.nav-dropdown__menu,

.nav-dropdown.is-open
.nav-dropdown__menu {
  opacity: 1;
  visibility: visible;

  pointer-events: auto;

  transform:
    translateX(-50%)
    translateY(0);
}


/* =========================================================
   DROPDOWN ITEMS
========================================================= */

.nav-dropdown__item {
  display: flex;
  align-items: center;

  gap: 14px;

  padding: 15px 14px;

  border-radius: 6px;

  text-decoration: none;

  transition:
    background 0.2s ease,
    transform 0.2s ease;
}

.nav-dropdown__item + .nav-dropdown__item {
  border-top:
    1px solid
    rgba(18, 53, 39, 0.06);
}

.nav-dropdown__item:hover {
  background:
    rgba(26, 113, 75, 0.06);

  transform: translateX(2px);
}


/* Number */

.nav-dropdown__icon {
  width: 36px;
  height: 36px;

  display: flex;
  align-items: center;
  justify-content: center;

  flex-shrink: 0;

  border-radius: 4px;

  background:
    rgba(26, 113, 75, 0.09);

  font-family:
    'Barlow Condensed',
    sans-serif;

  font-size: 13px;
  font-weight: 700;

  color: var(--green);
}


/* Content */

.nav-dropdown__content {
  display: block;
}

.nav-dropdown__content strong {
  display: block;

  margin-bottom: 3px;

  font-family:
    'Barlow Condensed',
    sans-serif;

  font-size: 19px;
  font-weight: 700;

  line-height: 1.1;

  color: #173c2e;
}

.nav-dropdown__content small {
  display: block;

  font-family:
    'Inter',
    sans-serif;

  font-size: 11px;
  font-weight: 400;

  line-height: 1.4;

  color: #738079;
}


/* =========================================================
   HEADER BUTTON
========================================================= */

.button--header {
  min-height: 46px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding:
    0 22px;

  margin-left: 4px;

  white-space: nowrap;
}


/* =========================================================
   1199
========================================================= */

@media (max-width: 1199px) {

  .header__inner {
    gap: 25px;
  }

  .distributor-lockup img {
    width: 145px;
  }

  .primary-nav {
    gap: 20px;
  }

  .primary-nav > a,
  .nav-dropdown__trigger > a {
    font-size: 13px;
  }

  .button--header {
    padding:
      0 18px;
  }

}


/* =========================================================
   991
========================================================= */

@media (max-width: 991px) {

  .header__inner {
    min-height: 74px;
  }

  .distributor-lockup img {
    width: 145px;
  }

  .distributor-lockup__label {
    font-size: 8px;
  }


  /* MOBILE NAV */

  .primary-nav {
    position: absolute;

    top: 100%;
    left: 0;
    right: 0;

    width: 100%;

    display: none;
    flex-direction: column;
    align-items: stretch;

    gap: 0;

    padding:
      16px 24px
      24px;

    background: #fff;

    border-top:
      1px solid
      rgba(18, 53, 39, 0.08);

    box-shadow:
      0 20px 40px
      rgba(18, 53, 39, 0.1);
  }

  .primary-nav.is-open {
    display: flex;
  }

  .primary-nav > a,
  .nav-dropdown__trigger > a {
    width: 100%;

    min-height: 48px;

    font-size: 14px;
  }

  .primary-nav > a::after,
  .nav-dropdown__trigger > a::after {
    display: none;
  }


  /* MOBILE DROPDOWN */

  .nav-dropdown {
    width: 100%;

    display: block;
  }

  .nav-dropdown__trigger {
    width: 100%;

    display: flex;
    align-items: center;
  }

  .nav-dropdown__trigger > a {
    flex: 1;
  }

  .nav-dropdown__toggle {
    width: 48px;
    height: 48px;
  }

  .nav-dropdown__menu {
    position: static;

    width: 100%;

    padding: 0;

    opacity: 1;
    visibility: visible;

    pointer-events: none;

    max-height: 0;

    overflow: hidden;

    transform: none;

    transition:
      max-height 0.35s ease,
      margin 0.35s ease;
  }


  /*
    Disable desktop hover opening
    on mobile.
  */

  .nav-dropdown:hover
  .nav-dropdown__menu,

  .nav-dropdown:focus-within
  .nav-dropdown__menu {
    max-height: 0;

    margin: 0;

    pointer-events: none;

    transform: none;
  }


  .nav-dropdown.is-open
  .nav-dropdown__menu {
    max-height: 330px;

    margin:
      4px 0
      12px;

    pointer-events: auto;
  }

  .nav-dropdown__panel {
    padding: 6px;

    background:
      #f5f8f6;

    border: 0;

    box-shadow: none;
  }

  .nav-dropdown__panel::before {
    display: none;
  }

  .nav-dropdown__item {
    padding:
      13px 12px;
  }

  .button--header {
    width: 100%;

    margin:
      12px 0
      0;
  }

}


/* =========================================================
   767
========================================================= */

@media (max-width: 767px) {

  .topbar p {
    display: none;
  }

  .topbar__inner {
    justify-content: center;
  }

}


/* =========================================================
   575
========================================================= */

@media (max-width: 575px) {

  .distributor-lockup img {
    width: 130px;
  }

  .distributor-lockup__label {
    font-size: 7px;

    letter-spacing:
      0.5px;
  }

  .primary-nav {
    padding:
      12px 20px
      20px;
  }

}

/* =========================================================
   TOPCHILLER CONTACT FORMS
========================================================= */

.tc-form {
  width: 100%;
}

.tc-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px 18px;
}

.tc-field {
  min-width: 0;
}

.tc-field--full {
  grid-column: 1 / -1;
}

.tc-field label {
  display: block;
  margin-bottom: 8px;

  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.3;

  letter-spacing: .45px;
  text-transform: uppercase;

  color: #233b31;
}

.tc-field label span {
  color: var(--green);
}

.tc-form .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

.tc-form input:not([type="submit"]),
.tc-form select,
.tc-form textarea {
  width: 100%;
  max-width: 100%;
  min-width: 0;

  padding: 14px 15px;

  border: 1px solid #d8e1dc;
  border-radius: 5px;
  outline: none;

  background: #fafcfb;

  font-family: 'Inter', sans-serif;
  font-size: 14px;
  line-height: 1.4;

  color: #19362a;

  transition:
    border-color .2s ease,
    background .2s ease,
    box-shadow .2s ease;
}

.tc-form input:not([type="submit"]),
.tc-form select {
  height: 50px;
}

.tc-form textarea {
  min-height: 150px;
  resize: vertical;
}

.tc-form input::placeholder,
.tc-form textarea::placeholder {
  color: #98a49e;
}

.tc-form input:focus,
.tc-form select:focus,
.tc-form textarea:focus {
  border-color: var(--green);
  background: #fff;

  box-shadow:
    0 0 0 3px
    rgba(29, 119, 77, .08);
}


/* SUBMIT */

.tc-form__submit {
  width: 100%;
  min-height: 56px;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 0 24px;

  border: 0;
  border-radius: 5px;

  background: var(--green);

  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 700;

  letter-spacing: .4px;
  text-transform: uppercase;

  color: #fff;

  cursor: pointer;

  transition:
    background .2s ease,
    transform .2s ease,
    box-shadow .2s ease;
}

.tc-form__submit:hover {
  transform: translateY(-1px);

  box-shadow:
    0 10px 25px
    rgba(29, 119, 77, .2);
}


/* CF7 */

.tc-form .wpcf7-not-valid-tip {
  margin-top: 6px;
  font-size: 11px;
}

.tc-form .wpcf7-response-output {
  margin: 20px 0 0 !important;
}

.tc-form .wpcf7-spinner {
  position: absolute;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1199px) {

}


@media (max-width: 991px) {

}


@media (max-width: 767px) {

  .tc-form__grid {
    gap: 17px;
  }

}


@media (max-width: 575px) {

  .tc-form__grid {
    grid-template-columns: 1fr;
  }

  .tc-field--full {
    grid-column: auto;
  }

}

/* =========================================================
   TOPCHILLER FORM — DARK SECTION VARIANT
========================================================= */

.tc-form--dark {
  width: 100%;
}


/* Labels */

.tc-form--dark .tc-field label {
  margin-bottom: 9px;

  color: rgba(255, 255, 255, 0.78);

  font-size: 10px;
  font-weight: 700;

  letter-spacing: 0.8px;
}

.tc-form--dark .tc-field label span {
  color: #8fd1a8;
}


/* Grid spacing */

.tc-form--dark .tc-form__grid {
  gap: 22px 18px;
}


/* Inputs */

.tc-form--dark input:not([type="submit"]),
.tc-form--dark select,
.tc-form--dark textarea {
  width: 100%;

  border: 1px solid rgba(255, 255, 255, 0.14);

  border-radius: 5px;

  background: #ffffff;

  color: #183b2e;

  box-shadow:
    0 1px 2px rgba(0, 0, 0, 0.04);

  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.2s ease;
}

.tc-form--dark input:not([type="submit"]),
.tc-form--dark select {
  height: 52px;
}

.tc-form--dark textarea {
  min-height: 135px;

  resize: vertical;
}


/* Placeholder */

.tc-form--dark input::placeholder,
.tc-form--dark textarea::placeholder {
  color: #93a19a;
}


/* Focus */

.tc-form--dark input:focus,
.tc-form--dark select:focus,
.tc-form--dark textarea:focus {
  border-color: #68b887;

  background: #ffffff;

  box-shadow:
    0 0 0 3px rgba(104, 184, 135, 0.15);

  transform: translateY(-1px);
}


/* Select */

.tc-form--dark select {
  cursor: pointer;
}


/* =========================================================
   SUBMIT BUTTON
========================================================= */

.tc-form--dark .tc-form__submit {
  width: auto;

  min-width: 260px;
  min-height: 54px;

  margin: 4px auto 0;

  padding: 0 28px;

  border: 1px solid #8acda4;

  border-radius: 4px;

  background: #ffffff;

  color: #124c35;

  font-size: 12px;
  font-weight: 700;

  letter-spacing: 0.5px;

  box-shadow:
    0 10px 25px rgba(0, 0, 0, 0.12);
}

.tc-form--dark .tc-form__submit:hover {
  background: #8acda4;

  border-color: #8acda4;

  color: #0d3828;

  transform: translateY(-2px);

  box-shadow:
    0 14px 30px rgba(0, 0, 0, 0.16);
}


/* =========================================================
   CONTACT FORM 7
========================================================= */

.tc-form--dark .wpcf7-form-control-wrap {
  display: block;
}

.tc-form--dark .wpcf7-not-valid-tip {
  margin-top: 6px;

  color: #ffc7c7;

  font-size: 11px;
}

.tc-form--dark .wpcf7-response-output {
  margin: 20px 0 0 !important;

  color: #fff;
}

.tc-form--dark .wpcf7-spinner {
  margin-left: 12px;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1199px) {

}


@media (max-width: 991px) {

  .tc-form--dark .tc-form__grid {
    gap: 20px 16px;
  }

}


@media (max-width: 767px) {

  .tc-form--dark .tc-form__submit {
    min-width: 230px;
  }

}


@media (max-width: 575px) {

  .tc-form--dark .tc-form__grid {
    grid-template-columns: 1fr;
  }

  .tc-form--dark .tc-field--full {
    grid-column: auto;
  }

  .tc-form--dark .tc-form__submit {
    width: 100%;
    min-width: 0;
  }

}
.tc-form.tc-form--dark br {display:none;}
