/* =========================================================
   NUEVAL Design — V6 stylesheet (rev.1, 2026-10-11)
   ------------------------------------------------------------------
   This is the v2 stylesheet (comparison copy). The original
   assets/style.css is left untouched.
   Changes vs V5 rev.3:
     · .wrap max-width 1240 -> 1200  (tighter engineering grid)
     · .spec-row line-height bumped for equal-height product rows
     · .cap-grid 3 cols -> 4 cols   (UV printing added as card 04)
     · .pillars -> wireframe style  (01 + top hairline dividers)
     · removed unused .cta-banner / .ph-note / .statband / .hours
     · responsive 4 -> 2 -> 1 for the capability grid
     · new: .cert-strip/.cert-badge (text-only trust marks)
     · new: .cookie-bar, .legal-* doc styles
   ========================================================= */

/* ---- self-hosted fonts (latin subsets) ---- */
@font-face{font-family:'Inter';font-style:normal;font-weight:300;font-display:swap;src:url('fonts/inter-300.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/inter-400.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/inter-500.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/inter-600.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/inter-700.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/montserrat-400.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/montserrat-500.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/montserrat-600.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/montserrat-700.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:800;font-display:swap;src:url('fonts/montserrat-800.woff2') format('woff2')}

:root{
  --black:#1a1a1a;
  --black-2:#212121;
  --dark:#2a2a2a;
  --mid:#3a3a3a;
  --gray:#b0b0b0;
  --gray-2:#8a8a8a;
  --white:#ffffff;
  --off:#f5f5f5;
  --green:#88c193;
  --green-d:#6ba87a;
  --green-l:#a8d4b3;
  --line:rgba(255,255,255,.07);
  --line-2:rgba(255,255,255,.05);
  --line-3:rgba(255,255,255,.12);
  --r:20px;
  --r-sm:16px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
:target{scroll-margin-top:92px}
body{
  font-family:'Inter',sans-serif;
  background-color:var(--black);
  color:var(--white);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5,h6{font-family:'Montserrat',sans-serif;font-weight:700;line-height:1.2}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font-family:inherit;font-size:inherit}

/* v2: main container tightened to 1200px */
.wrap{max-width:1200px;margin:0 auto;padding:0 32px}

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:80;
  background:rgba(26,26,26,.92);
  backdrop-filter:blur(20px);
  border-bottom:1px solid var(--line);
  transition:padding .3s ease,box-shadow .3s ease;
}
.site-header.is-stuck{box-shadow:0 4px 30px rgba(0,0,0,.35)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;height:80px}
.brand{
  display:inline-flex;flex-direction:column;align-items:flex-start;
  gap:5px;line-height:1;
}
.brand-logo{height:30px;width:auto}
.brand-slogan{
  font-size:.68rem;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--green);white-space:nowrap;
}
.nav{display:flex;align-items:center;gap:2.4rem}
.nav a{
  position:relative;padding:6px 0;font-weight:500;font-size:1rem;color:#d6d6d6;
  transition:color .3s ease;
}
.nav a::after{
  content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;
  background:var(--green);transition:width .3s ease;
}
.nav a:hover,.nav a.is-active{color:var(--green)}
.nav a:hover::after,.nav a.is-active::after{width:100%}
.header-cta{display:flex;align-items:center;gap:10px}

/* ---------- Buttons (pill) ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:1rem 2.4rem;border-radius:50px;border:none;
  font-family:'Inter',sans-serif;font-weight:600;font-size:1rem;cursor:pointer;
  transition:all .3s ease;white-space:nowrap;
}
.btn-primary{background:var(--green);color:var(--black)}
.btn-primary:hover{background:var(--green-l);transform:translateY(-3px);box-shadow:0 10px 30px rgba(136,193,147,.3)}
.btn-accent{background:var(--green);color:var(--black)}
.btn-accent:hover{background:var(--green-l);transform:translateY(-3px);box-shadow:0 10px 30px rgba(136,193,147,.3)}
.btn-outline{background:transparent;color:var(--white);border:2px solid rgba(255,255,255,.28)}
.btn-outline:hover{border-color:var(--green);color:var(--green);transform:translateY(-3px)}
.btn-sm{padding:.7rem 1.4rem;font-size:.88rem}
.nav-toggle{display:none;width:42px;height:42px;border:1px solid var(--line-3);background:transparent;border-radius:10px;cursor:pointer}
.nav-toggle span{display:block;width:18px;height:2px;background:var(--white);margin:3px auto}

/* ---------- Hero ---------- */
.hero{
  position:relative;overflow:hidden;background:#0e0e0e;
  display:flex;flex-direction:column;justify-content:flex-end;
  min-height:calc(100vh - 80px);
}
.hero::before{
  content:'';position:absolute;top:-20%;left:-10%;width:60%;height:120%;
  background:radial-gradient(circle,rgba(136,193,147,.10) 0%,transparent 70%);
  pointer-events:none;
}
.hero-grid{
  position:relative;z-index:2;display:flex;align-items:flex-end;
  min-height:calc(100vh - 80px);padding-bottom:3.2rem;
}
.hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;padding:0 6% 0 4%;max-width:min(880px,100%)}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:9px;align-self:flex-start;
  padding:.55rem 1.2rem;border:1px solid var(--green);border-radius:30px;
  background:rgba(136,193,147,.13);color:var(--green);
  font-size:.8rem;font-weight:500;letter-spacing:1px;text-transform:uppercase;margin-bottom:2rem;
}
.hero-eyebrow i{width:6px;height:6px;border-radius:50%;background:var(--green);display:block}
.hero h1{
  font-size:clamp(2.35rem,4.4vw,3.4rem);font-weight:800;letter-spacing:-1px;
  margin-bottom:1.5rem;
}
.hero h1 em{font-style:normal;color:var(--green)}
.hero p{font-size:1.1rem;color:var(--gray);max-width:31em;margin-bottom:2.5rem;line-height:1.8;font-weight:300}
.hero-btns{display:flex;flex-wrap:wrap;gap:1rem}
.hero-stats{
  position:absolute;right:4%;bottom:3.6rem;z-index:3;
  display:flex;padding-top:0;border-top:none;
}
.hero-stats div{padding-right:2.4rem;margin-right:2.4rem;border-right:1px solid var(--line-3)}
.hero-stats div:last-child{border-right:none;padding-right:0;margin-right:0}
.hero-stats b{display:block;font-family:'Montserrat',sans-serif;font-size:1.6rem;font-weight:700;letter-spacing:-.5px;margin-bottom:2px}
.hero-stats span{font-size:.78rem;color:var(--gray-2);letter-spacing:1px;text-transform:uppercase}
.hero-figure{position:absolute;inset:0;z-index:1;background:#141414}
.hero-figure img{width:100%;height:100%;object-fit:cover;object-position:center 45%}
.hero-figure::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(14,14,14,.95) 0%,rgba(14,14,14,.88) 38%,rgba(14,14,14,.62) 72%,rgba(14,14,14,.55) 100%);
}
.hero-strip{position:relative;z-index:2;background:#121212;border-top:1px solid #232323;border-bottom:1px solid #232323}
.hero-strip .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding-top:3.2rem;padding-bottom:3.2rem}
.hero-strip div{
  background:#1A1A1A;border:1px solid #333333;border-radius:4px;
  padding:1.9rem 1.7rem;transition:all .3s ease;
}
.hero-strip div:hover{border-color:var(--green);transform:translateY(-4px)}
.hero-strip div b{
  display:block;font-family:'Montserrat',sans-serif;color:var(--white);
  font-size:1.15rem;font-weight:700;letter-spacing:-.5px;margin-bottom:.45rem;
}
.hero-strip div span{display:block;color:var(--gray-2);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;font-weight:300}

/* ---------- Sections ---------- */
.section{padding:7rem 0;border-top:1px solid var(--line)}
.section-soft{background:var(--black-2)}
.section-head{max-width:800px;margin-bottom:3.5rem}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center}
.section-head.row{max-width:none;display:flex;justify-content:space-between;align-items:flex-end;gap:3.5rem}
.section-intro{flex:0 0 420px;max-width:420px;padding-bottom:.3rem}
.section-intro p{color:var(--gray);font-size:1rem;font-weight:300;line-height:1.75;margin-bottom:1.1rem}
.section-intro a{
  display:inline-flex;align-items:center;gap:9px;
  color:var(--green);font-weight:600;font-size:.9rem;
  padding-bottom:2px;border-bottom:1px solid rgba(136,193,147,.35);transition:all .25s ease;
}
.section-intro a:hover{color:var(--green-l);border-bottom-color:var(--green-l);gap:13px}
.section-label{
  display:inline-block;color:var(--green);font-size:.8rem;font-weight:600;
  letter-spacing:2px;text-transform:uppercase;margin-bottom:1rem;
}
.section-head h2{font-size:clamp(1.9rem,3.4vw,2.8rem);font-weight:700;letter-spacing:-.5px;margin-bottom:1rem}
.section-head h2 + p{color:var(--gray);font-size:1.05rem;font-weight:300;line-height:1.8}

/* products section now opens straight into the detail blocks */
#products{padding-top:0}

/* ---------- Why cards ---------- */
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.why-card{
  display:flex;flex-direction:column;
  background:#1A1A1A;border:1px solid #333333;border-radius:4px;
  padding:2.1rem 1.7rem 2.3rem;transition:all .35s ease;
}
.why-card:hover{transform:translateY(-5px);border-color:var(--green)}
.why-num{
  font-family:'Montserrat',sans-serif;font-size:2.8rem;font-weight:800;
  color:#333333;line-height:1;letter-spacing:-1.5px;margin-bottom:1.5rem;
  transition:color .3s ease;
}
.why-card:hover .why-num{color:var(--green)}
.why-card h3{font-size:1.06rem;font-weight:700;line-height:1.35;margin-bottom:.75rem}
.why-card p{font-size:.9rem;color:var(--gray);line-height:1.75;font-weight:300}

/* ---------- Collections ---------- */
.coll-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.coll-item{
  display:flex;flex-direction:column;background:var(--dark);
  border:1px solid var(--line-2);border-radius:var(--r);overflow:hidden;
  transition:all .4s ease;
}
.coll-item:hover{transform:translateY(-8px);border-color:var(--green);box-shadow:0 20px 60px rgba(0,0,0,.4)}
.coll-thumb{aspect-ratio:4/3;background:#141414;overflow:hidden;position:relative}
.coll-body{padding:1.6rem 1.5rem 1.8rem;flex:1;display:flex;flex-direction:column}
.coll-body h3{font-size:1.02rem;font-weight:700;margin-bottom:0}
.chip-list{list-style:none;display:flex;flex-direction:column;gap:7px;margin:1.1rem 0 1.15rem}
.chip{
  display:inline-flex;align-items:center;gap:9px;align-self:flex-start;
  padding:.48rem .8rem .48rem .62rem;border-radius:50px;
  background:#222222;border:1px solid #2C2C2C;transition:border-color .25s ease;
}
.chip:hover{border-color:rgba(136,193,147,.5)}
.chip svg{width:14px;height:14px;flex:0 0 14px;stroke:var(--green);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.coll-body .chip > span{display:inline;margin:0;padding:0;font-size:.74rem;color:#EDEDED;font-weight:400;letter-spacing:.01em;white-space:nowrap}
.coll-body span{
  display:inline-flex;align-items:center;gap:7px;margin-top:auto;padding-top:1.3rem;
  font-weight:600;font-size:.88rem;color:var(--green);
}
.coll-body svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}
.coll-item:hover .coll-body svg{transform:translateX(4px)}

/* ---------- Workflow ---------- */
.wf-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.wf-step{padding:0 2.2rem;position:relative}
.wf-step:first-child{padding-left:0}
.wf-num{font-family:'Montserrat',sans-serif;font-size:3rem;font-weight:800;color:var(--green);opacity:.4;line-height:1;margin-bottom:1.1rem;letter-spacing:-1px}
.wf-step:not(:last-child)::before{
  content:'';position:absolute;top:28px;left:5.4rem;right:1rem;height:1px;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.18) 0 5px,transparent 5px 11px);
}
.wf-step h3{font-size:1.02rem;font-weight:700;margin-bottom:.7rem}
.wf-step p{font-size:.9rem;color:var(--gray);line-height:1.7;font-weight:300}

/* ---------- Product detail blocks ---------- */
.pd-block{padding:6.5rem 0;border-bottom:1px solid var(--line)}
.pd-block:last-of-type{border-bottom:none}
.pd-block:nth-of-type(even){background:var(--black-2)}
.pd-inner{display:grid;grid-template-columns:42% minmax(0,1fr);gap:22px;align-items:center}
.pd-block .wrap{max-width:1060px}
.pd-inner.reverse .pd-media{order:-1}
.pd-media{background:transparent;border:0;padding:14px;aspect-ratio:4/5}
.pd-media img{width:100%;height:100%;object-fit:cover;border-radius:3px}
.pd-body h2{font-size:clamp(1.55rem,2.6vw,2.1rem);font-weight:700;letter-spacing:-.5px;margin-bottom:1rem}
.pd-body > p{color:var(--gray);font-size:1rem;line-height:1.8;font-weight:300;margin-bottom:2rem}
.spec-title{font-size:.78rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--green);margin-bottom:1rem}
.spec-table{background:var(--dark);border:1px solid var(--line-2);border-radius:var(--r-sm);overflow:hidden;margin-bottom:2.6rem}
/* v2: taller rows so the spec table matches the 4:5 media height */
.spec-row{display:grid;grid-template-columns:178px 1fr;padding:1.35rem 1.3rem;font-size:.9rem;border-bottom:1px solid var(--line-2)}
.spec-row:last-child{border-bottom:none}
.spec-row dt{color:var(--gray-2);font-weight:400}
.spec-row dd{color:var(--white);font-weight:400}
.pd-btns{display:flex;flex-wrap:wrap;gap:.9rem}

/* ---------- Capability grid ---------- */
/* v2: 4-column engineering grid */
.cap-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:1200px;margin-left:auto;margin-right:auto}
.cap-card{
  background:#181818;border:1px solid var(--line-2);border-radius:16px;
  overflow:hidden;display:flex;flex-direction:column;
  padding-bottom:24px;transition:all .4s ease;
}
.cap-card:hover{transform:translateY(-5px);border-color:var(--green)}
.cap-media{aspect-ratio:16/11;background:#232323;overflow:hidden;flex:none}
.cap-media img{width:100%;height:100%;object-fit:cover}
.cap-body{padding:20px 22px 0;flex:1;display:flex;flex-direction:column}
.cap-num{font-family:'Montserrat',sans-serif;font-size:2.4rem;font-weight:800;color:var(--green);opacity:.4;line-height:1;margin-bottom:.9rem;letter-spacing:-1px}
.cap-body h3{font-size:1.06rem;font-weight:700;margin-bottom:.75rem}
.cap-body p{color:var(--gray);font-size:.9rem;line-height:1.75;font-weight:300}

/* ---------- Compliance ---------- */
.comp{background:var(--dark);border:1px solid var(--line-2);border-top:3px solid var(--green);border-radius:var(--r);padding:3.4rem 3.2rem;margin-top:4rem}
.comp h3{font-size:clamp(1.5rem,2.4vw,2rem);font-weight:700;letter-spacing:-.5px;margin-bottom:1rem}
.comp > p{color:var(--gray);font-weight:300;max-width:64em;margin-bottom:2rem;font-size:1rem;line-height:1.8}
.comp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;margin-bottom:1.5rem}
.comp-cell{background:#242424;padding:1.5rem 1.4rem}
.comp-cell dt{font-size:.72rem;letter-spacing:1.6px;text-transform:uppercase;color:var(--gray-2);font-weight:600;margin-bottom:.55rem}
.comp-cell dd{font-size:.95rem;font-weight:500;line-height:1.55}
.comp-note{font-size:.88rem;color:var(--gray-2);margin-bottom:1.8rem;max-width:64em;font-weight:300}

/* v2: text-only certification marks (no third-party logos used) */
.cert-strip{list-style:none;display:flex;flex-wrap:wrap;gap:.7rem;margin:0 0 1.8rem}
.cert-badge{
  font-size:.78rem;font-weight:600;letter-spacing:.04em;color:#e6e6e6;
  background:#1f1f1f;border:1px solid var(--line-3);border-radius:6px;
  padding:.5rem .9rem;white-space:nowrap;
}
.cert-strip.sm .cert-badge{font-size:.72rem;padding:.42rem .75rem;color:var(--gray)}

/* ---------- Applications ---------- */
.app-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}
.app-card{background:var(--dark);border:1px solid var(--line-2);border-radius:var(--r);overflow:hidden;transition:all .4s ease}
.app-card:hover{transform:translateY(-6px);border-color:var(--green);box-shadow:0 20px 50px rgba(0,0,0,.4)}
.app-media{aspect-ratio:16/9;background:#232323;overflow:hidden}
.app-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.app-card:hover .app-media img{transform:scale(1.04)}
.app-body{padding:2rem}
.app-body h3{font-size:1.12rem;font-weight:700;margin-bottom:.7rem}
.app-body .focus{font-size:.92rem;color:var(--gray);font-weight:300;line-height:1.75}
.app-body .focus strong{color:var(--green);font-weight:600}

/* ---------- About ---------- */
.about-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:4rem;align-items:start}
.about-copy p{color:var(--gray);font-size:1.02rem;font-weight:300;line-height:1.85;margin-bottom:1.3rem}
.about-copy p strong{color:var(--white);font-weight:600}
.about-media{position:relative}
.about-media{border-radius:var(--r);overflow:hidden;aspect-ratio:4/5}
.about-media img{width:100%;height:100%;object-fit:cover}
.about-media::before{
  content:'';position:absolute;top:-18px;right:-18px;width:100%;height:100%;
  border:2px solid var(--green);border-radius:var(--r);z-index:-1;
}
/* v2: wireframe pillars — number on top, thin hairline divider, no filled cells */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:2.2rem;background:none;border:none;margin-top:3.4rem}
.pillar{background:transparent;padding:1.5rem 0 0;border-top:1px solid var(--line-3)}
.pillar b{display:block;font-family:'Montserrat',sans-serif;font-size:1.3rem;font-weight:800;color:var(--green);opacity:.75;line-height:1;letter-spacing:-.5px;margin-bottom:.9rem}
.pillar h3{font-size:.98rem;font-weight:700;line-height:1.4;margin-bottom:.55rem}
.pillar p{font-size:.85rem;color:var(--gray);font-weight:300;line-height:1.7}

/* ---------- Form ---------- */
.form-wrap{display:grid;grid-template-columns:1fr 1.08fr;gap:3.6rem;align-items:start}
.form-head h2{font-size:clamp(1.7rem,2.8vw,2.3rem);font-weight:700;letter-spacing:-.5px;margin-bottom:1rem}
.form-head > p{color:var(--gray);font-size:1rem;font-weight:300;line-height:1.8}
.form{background:var(--dark);border:1px solid var(--line-2);border-radius:var(--r);padding:2.6rem}
.field{margin-bottom:1.3rem}
.field label{display:block;font-size:.85rem;font-weight:500;margin-bottom:.55rem;color:var(--white)}
.field label .req{color:var(--green)}
.field input,.field select,.field textarea{
  width:100%;padding:.9rem 1.1rem;border:1px solid var(--line-3);border-radius:12px;
  background:#1f1f1f;color:var(--white);font-weight:300;transition:all .2s ease;
}
.field select option{background:#1f1f1f;color:var(--white)}
.field input::placeholder,.field textarea::placeholder{color:#6e6e6e}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(136,193,147,.18);
}
.field textarea{min-height:150px;resize:vertical}
.field input[type=file]{padding:.8rem;background:#1f1f1f;font-size:.88rem}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}
.form-note{font-size:.85rem;color:var(--gray-2);margin-top:1.1rem;font-weight:300}
.form-status{margin-top:1rem;font-size:.9rem;font-weight:500;display:none}
.form-status.ok{display:block;color:var(--green)}
.form-status.err{display:block;color:#e08b7d}
.form-submit{width:100%;margin-top:.6rem;padding:1.05rem}
.form-side{margin-top:2.6rem}
.form-side .side-card{background:transparent;border:1px solid var(--line-3);border-radius:var(--r);padding:1.4rem 1.5rem;margin-bottom:14px}
.form-side h3{font-size:.68rem;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;color:var(--green);margin-bottom:.75rem}
.form-side p{font-size:.9rem;color:var(--gray);font-weight:300;line-height:1.7}
.form-side p + p{margin-top:.6rem}
.form-side a{display:block;font-weight:500;color:var(--white);margin-top:.25rem}
.form-side a:hover{color:var(--green)}

/* ---------- Footer ---------- */
.site-footer{background:#141414;border-top:1px solid var(--line);color:var(--gray);padding:4.5rem 0 1.9rem;font-size:.93rem;font-weight:300}
.foot-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:3rem;padding-bottom:3rem;border-bottom:1px solid var(--line)}
.foot-grid h4{color:var(--white);font-weight:600;margin-bottom:1.2rem;font-size:.96rem;font-family:'Montserrat',sans-serif}
.foot-grid ul{list-style:none}
.foot-grid li{margin-bottom:.7rem}
.foot-grid li a:hover{color:var(--green)}
.foot-brand{margin-bottom:1.3rem}
.foot-wordmark{
  font-family:'Montserrat',sans-serif;font-weight:800;
  font-size:1.32rem;letter-spacing:-.4px;line-height:1.1;
  margin-bottom:1rem;
}
.foot-wordmark .wm-accent{color:var(--green);font-weight:600;letter-spacing:.06em;font-size:.82rem;display:block;margin-top:5px}
.foot-slogan{
  color:var(--green);font-size:.78rem;font-weight:600;letter-spacing:1px;
  text-transform:uppercase;margin-bottom:.9rem;
}
.foot-about{max-width:32em;line-height:1.85}
/* v2: registered entity line */
.foot-entity{font-size:.8rem;color:var(--gray-2);line-height:1.7;margin-top:.9rem;max-width:34em}
.foot-entity strong{color:var(--gray);font-weight:500}
.foot-bottom{padding-top:1.7rem;display:flex;justify-content:space-between;gap:1.2rem;flex-wrap:wrap;font-size:.86rem;color:var(--gray-2)}
.foot-legal{display:flex;gap:1.4rem;flex-wrap:wrap}
.foot-legal a{color:var(--gray-2)}
.foot-legal a:hover{color:var(--green)}

/* ---------- Resources (collapsed) ---------- */
.res-section{padding:4.6rem 0}
.res-bar{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:2rem;
  background:var(--black-2);border:1px solid var(--line-3);border-radius:var(--r-sm);
  padding:1.5rem 1.9rem;text-align:left;cursor:pointer;
  transition:border-color .3s ease,background .3s ease;
}
.res-bar:hover{border-color:var(--green);background:#1c1c1c}
.res-bar-left{display:flex;flex-direction:column;gap:.5rem;min-width:0}
.res-bar-left .section-label{margin:0}
.res-bar-title{font-family:'Montserrat',sans-serif;font-size:1.18rem;font-weight:700;letter-spacing:-.3px;color:var(--white)}
.res-bar-files{font-size:.86rem;font-weight:300;color:var(--gray-2)}
.res-bar-right{display:flex;align-items:center;gap:1.2rem;flex:none}
.res-hint{font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:var(--green)}
.res-caret{width:11px;height:11px;border-right:2px solid var(--green);border-bottom:2px solid var(--green);
  transform:rotate(45deg) translate(-2px,-2px);transition:transform .3s ease}
.res-bar[aria-expanded="true"] .res-caret{transform:rotate(-135deg) translate(-3px,-3px)}

.res-panel{padding-top:2.2rem}
.res-note{font-size:.9rem;font-weight:300;color:var(--gray);margin-bottom:1.8rem;line-height:1.7}
.res-note strong{color:var(--green);font-weight:500}
.doc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.doc-card{
  display:flex;flex-direction:column;text-align:left;cursor:pointer;
  background:#181818;border:1px solid var(--line-2);border-radius:16px;overflow:hidden;
  transition:border-color .3s ease,transform .3s ease;
}
.doc-card:hover{border-color:var(--green);transform:translateY(-4px)}
.doc-thumb{display:block;aspect-ratio:16/10;background:#232323;overflow:hidden}
.doc-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.doc-card:nth-child(3) .doc-thumb img{object-position:50% 34%}
.doc-card:hover .doc-thumb img{transform:scale(1.04)}
.doc-body{display:flex;flex-direction:column;padding:1.4rem 1.5rem 1.5rem}
.doc-file{font-family:'Montserrat',sans-serif;font-size:1rem;font-weight:700;letter-spacing:-.2px;color:var(--white);margin-bottom:.55rem}
.doc-desc{font-size:.85rem;font-weight:300;line-height:1.65;color:var(--gray);margin-bottom:1.2rem}
.doc-actions{display:flex;align-items:center;gap:1.2rem;margin-top:auto}
.doc-view{font-size:.82rem;font-weight:500;color:var(--green);letter-spacing:.02em}
.doc-req{font-size:.82rem;font-weight:400;color:var(--gray-2);border-bottom:1px solid rgba(255,255,255,.2);
  padding-bottom:1px;cursor:pointer;transition:color .2s ease,border-color .2s ease}
.doc-req:hover,.doc-req:focus{color:var(--white);border-color:var(--green);outline:none}

/* ---------- Toast ---------- */
.toast{
  position:fixed;bottom:1.8rem;left:50%;transform:translate(-50%,24px);z-index:300;
  background:var(--dark);border:1px solid var(--line-3);color:#fff;
  padding:.9rem 1.5rem;border-radius:50px;font-size:.92rem;font-weight:400;
  box-shadow:0 12px 34px rgba(0,0,0,.4);opacity:0;transition:opacity .25s,transform .25s;pointer-events:none;
}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* ---------- Product shots with the white studio backdrop knocked out ---------- */
.hero-figure,
.why-media,
.coll-thumb,
.pd-media{background:#1a1a1a}

/* ---------- Cookie consent bar ---------- */
.cookie-bar{
  position:fixed;left:1.2rem;right:1.2rem;bottom:1.2rem;z-index:250;
  max-width:820px;margin:0 auto;
  background:#1c1c1c;border:1px solid var(--line-3);border-radius:14px;
  padding:1.1rem 1.4rem;display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;
  box-shadow:0 18px 50px rgba(0,0,0,.5);
}
.cookie-bar p{font-size:.86rem;color:var(--gray);line-height:1.6;flex:1;min-width:220px}
.cookie-bar a{color:var(--green);text-decoration:underline}
.cookie-actions{display:flex;gap:.6rem;flex:none}
.cookie-bar[hidden]{display:none}

/* ---------- Legal document pages ---------- */
.legal-hero{padding:6rem 0 2rem;border-bottom:1px solid var(--line)}
.legal-hero .section-label{margin-bottom:.8rem}
.legal-hero h1{font-size:clamp(1.9rem,3.6vw,2.7rem);font-weight:800;letter-spacing:-.6px;margin-bottom:.9rem}
.legal-hero p{color:var(--gray);font-weight:300;font-size:.95rem}
.legal-body{padding:3.5rem 0 6rem;max-width:820px}
.legal-body h2{font-size:1.2rem;font-weight:700;margin:2.4rem 0 .8rem;letter-spacing:-.2px}
.legal-body h2:first-child{margin-top:0}
.legal-body h3{font-size:1rem;font-weight:600;margin:1.6rem 0 .5rem}
.legal-body p{color:var(--gray);font-size:.96rem;font-weight:300;line-height:1.85;margin-bottom:1rem}
.legal-body ul{margin:0 0 1.1rem 1.2rem;color:var(--gray);font-size:.96rem;font-weight:300;line-height:1.85}
.legal-body li{margin-bottom:.45rem}
.legal-body a{color:var(--green);text-decoration:underline}
.legal-body table{width:100%;border-collapse:collapse;margin:1rem 0 1.6rem;font-size:.9rem}
.legal-body th,.legal-body td{border:1px solid var(--line-3);padding:.7rem .9rem;text-align:left;color:var(--gray);font-weight:300;vertical-align:top}
.legal-body th{color:var(--white);font-weight:600;background:#202020}
.legal-updated{display:inline-block;font-size:.8rem;color:var(--gray-2);letter-spacing:.04em;margin-top:.4rem}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .coll-grid{grid-template-columns:repeat(2,1fr)}
  /* v2: capability grid 4 -> 2 columns */
  .cap-grid{grid-template-columns:repeat(2,1fr)}
  .wf-grid{grid-template-columns:1fr 1fr;gap:3rem 0}
  .wf-step{padding:0 1.8rem}
  .wf-step:nth-child(odd){padding-left:0}
  .wf-step:not(:last-child)::before{display:none}
  .comp-grid{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1.5fr 1fr 1fr 1fr;gap:1.8rem}
  .foot-grid h4{font-size:.88rem;margin-bottom:.9rem}
  .foot-grid li{margin-bottom:.55rem}
  .foot-brand .brand-logo{height:30px}
  .brand-logo{height:27px}
  .brand-slogan{font-size:.6rem;letter-spacing:.1em}
  .foot-slogan{font-size:.7rem;letter-spacing:.5px}
  .nav{gap:1.6rem}
}
@media (max-width:900px){
  .wrap{padding:0 24px}
  .header-cta .btn{display:none}
  .nav-toggle{display:block}
  .nav{
    position:absolute;top:80px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;
    background:var(--black);border-bottom:1px solid var(--line);padding:1rem 24px 1.3rem;display:none;
  }
  .nav.open{display:flex}
  .nav a{padding:.85rem 0;border-bottom:1px solid var(--line-2);color:var(--white)}
  .nav a::after{display:none}
  .hero{min-height:auto}
  .hero-grid{min-height:auto;padding:5.5rem 24px 0}
  .hero-copy{padding:0;max-width:none}
  .hero-figure{position:absolute;inset:0}
  .hero-figure::after{background:linear-gradient(180deg,rgba(14,14,14,.93) 0%,rgba(14,14,14,.85) 100%)}
  .hero-stats{position:static;margin-top:3rem;padding-top:1.6rem;border-top:1px solid var(--line-3);flex-wrap:wrap;gap:1.2rem 0}
  .hero-stats div{padding-right:1.5rem;margin-right:1.5rem}
  .hero-strip .wrap{grid-template-columns:1fr 1fr}
  .section{padding:5rem 0}
  .pd-inner,.about-grid,.form-wrap{grid-template-columns:1fr;gap:2.6rem}
  .pd-media{padding:16px}
  .pd-inner.reverse .pd-media{order:0}
  .doc-grid{grid-template-columns:1fr}
  /* v2: keep the capability grid at 2 columns on tablet */
  .cap-grid{grid-template-columns:repeat(2,1fr)}
  .res-bar{padding:1.3rem 1.4rem}
  .res-hint{display:none}
  .res-bar-files{font-size:.78rem}
  .app-grid{grid-template-columns:1fr}
  .why-grid{grid-template-columns:1fr 1fr}
  .section-head.row{flex-direction:column;align-items:flex-start;gap:1.5rem}
  .section-intro{flex:none;max-width:none;padding-bottom:0}
  .comp{padding:2.4rem 1.7rem}
  .form{padding:1.8rem}
  .field-row{grid-template-columns:1fr;gap:0}
  .about-media::before{display:none}
  .pillars{gap:1.6rem}
}
@media (max-width:560px){
  .coll-grid,.why-grid,.doc-grid,.cap-grid{grid-template-columns:1fr}
  .wf-grid{grid-template-columns:1fr;gap:2.2rem}
  .comp-grid{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .spec-row{grid-template-columns:1fr;gap:.2rem}
  .pillars{grid-template-columns:1fr}
  .hero-strip .wrap{grid-template-columns:1fr}
  .cookie-bar{flex-direction:column;align-items:stretch}
  .cookie-actions{justify-content:flex-end}
}

/* ---------- Footer mailto links ---------- */
.foot-grid li a[href^="mailto:"]{color:var(--gray)}
.foot-grid li a[href^="mailto:"]::after{content:"\2192";margin-left:7px;color:var(--green);opacity:0;transition:opacity .2s ease,transform .2s ease;display:inline-block}
.foot-grid li a[href^="mailto:"]:hover::after{opacity:1;transform:translateX(3px)}
