/* Phase G interior pages, continuing the approved V5 yellow / dark system. */
.content-page{background:var(--dark);color:#fff;min-height:60vh}
.inner-hero{position:relative;overflow:hidden;background:linear-gradient(115deg,#f7b817 0%,#ffc52d 64%,#eaa70c 100%);color:#171717}
.inner-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 28%,rgba(80,50,0,.08) 28.2%,transparent 28.5%);pointer-events:none}
.inner-hero-copy{position:relative;z-index:1;padding:72px 0 68px;max-width:850px}
.inner-hero h1{font-size:clamp(48px,6vw,74px);line-height:.98;letter-spacing:-.045em;margin:10px 0 18px;overflow-wrap:anywhere}
.inner-hero p{font-size:16px;line-height:1.6;max-width:680px;margin:0}
.content-eyebrow{display:block;font-size:11px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.content-section{padding:68px 0}
.content-section-alt{background:var(--dark2)}
.section-intro{max-width:720px;margin-bottom:30px}
.section-intro h2{font-size:clamp(34px,4vw,46px);line-height:1.05;letter-spacing:-.035em;margin:9px 0 15px}
.section-intro p,.article-body{color:#d0d0d0;font-size:15px;line-height:1.75}
.text-link{display:inline-flex;align-items:center;gap:8px;color:var(--yellow);font-size:11px;font-weight:900;letter-spacing:.04em}
.text-link:hover{color:#fff}
.application-detail-grid,.principle-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.application-detail-grid article,.principle-grid article{background:#2a2b2b;border:1px solid rgba(255,255,255,.08);padding:28px;min-width:0}
.application-detail-grid article>span,.principle-grid article>span{color:var(--yellow);font-weight:900;font-size:12px}
.application-detail-grid h2,.principle-grid h2{font-size:24px;margin:15px 0 10px}
.application-detail-grid p,.principle-grid p{color:#bdbdbd;line-height:1.65;font-size:14px;min-height:46px}
.yellow-cta{background:linear-gradient(90deg,#f7b817,#ffc52d);color:#171717;padding:36px 0}
.yellow-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.yellow-cta h2{font-size:34px;margin:8px 0 0}
.project-grid,.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.project-card,.article-card{background:#292a2a;border:1px solid rgba(255,255,255,.08);overflow:hidden;min-width:0}
.project-card-media,.article-card-media{height:210px;background:#222;display:grid;place-items:center;overflow:hidden;color:#777;font-size:12px}
.project-card-media img,.article-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.project-card:hover img,.article-card:hover img{transform:scale(1.025)}
.project-card-copy,.article-card-copy{padding:22px}
.project-card-copy .content-eyebrow,.article-card-copy .content-eyebrow{color:var(--yellow)}
.project-card h2,.article-card h2{font-size:23px;line-height:1.15;margin:10px 0}
.project-card p,.article-card p{font-size:13px;line-height:1.62;color:#bdbdbd}
.project-meta-compact{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}
.project-meta-compact span{background:#202121;color:#ddd;padding:7px 9px;font-size:11px}
.content-empty-state{border:1px solid rgba(255,255,255,.1);background:#292a2a;text-align:center;padding:58px 24px}
.content-empty-state>span{color:var(--yellow);font-size:11px;font-weight:900;letter-spacing:.1em}
.content-empty-state h2{font-size:30px;margin:11px 0}
.content-empty-state p,.content-pending{color:#aaa;line-height:1.65}
.content-empty-state.compact{padding:30px}.content-empty-state.compact p{margin:0}
.project-feature{padding:44px 0 0;background:var(--dark)}
.project-feature img{width:100%;max-height:640px;object-fit:cover}
.project-detail-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:60px;align-items:start}
.article-body{min-width:0;overflow-wrap:anywhere}.article-body>:first-child{margin-top:0}.article-body>:last-child{margin-bottom:0}
.article-body img{height:auto}.article-body a{color:var(--yellow);text-decoration:underline}
.project-detail-list{margin:0;border-top:3px solid var(--yellow);background:#292a2a;padding:8px 22px}
.project-detail-list>div{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.09)}
.project-detail-list>div:last-child{border-bottom:0}.project-detail-list dt{color:#aaa;font-size:11px;font-weight:800;text-transform:uppercase}.project-detail-list dd{margin:0;font-size:14px}
.pagination{margin-top:34px}.nav-links{display:flex;flex-wrap:wrap;gap:8px}.page-numbers{background:#292a2a;padding:10px 13px}.page-numbers.current{background:var(--yellow);color:#171717}
.article-reading{max-width:850px}.article-back{margin-top:38px}
.about-page-grid{display:grid;grid-template-columns:50% 50%;gap:55px;align-items:center}
.about-page-media img{width:100%;height:380px;object-fit:cover}
.principle-grid{grid-template-columns:repeat(3,1fr)}
.contact-page-grid{display:grid;grid-template-columns:38% 62%;gap:55px;align-items:start}
.contact-notes{display:flex;flex-direction:column;gap:9px;margin-top:25px}
.contact-notes span{position:relative;padding-left:18px;color:#aaa;font-size:12px;line-height:1.5}.contact-notes span::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;background:var(--yellow)}
.inquiry-panel{background:#292a2a;border:1px solid rgba(255,255,255,.09);padding:30px}
.inquiry-form{min-width:0}.inquiry-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.inquiry-form label{display:flex;flex-direction:column;gap:7px;min-width:0}.inquiry-form label>span,.inquiry-product span{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.inquiry-form input,.inquiry-form select,.inquiry-form textarea{width:100%;max-width:100%;border:1px solid rgba(255,255,255,.14);background:#202121;color:#fff;padding:12px 13px;outline:0;border-radius:0}
.inquiry-form input:focus,.inquiry-form select:focus,.inquiry-form textarea:focus{border-color:var(--yellow)}
.inquiry-message{grid-column:1/-1}.inquiry-form textarea{resize:vertical;min-height:135px}
.inquiry-submit{border:0;background:var(--yellow);color:#171717;padding:14px 22px;font-size:12px;font-weight:900;cursor:pointer;margin-top:16px}.inquiry-submit:disabled{opacity:.55;cursor:wait}
.inquiry-submit span{margin-left:8px}.inquiry-status{min-height:20px;margin:12px 0 0;font-size:12px;line-height:1.5}.inquiry-status.is-success{color:#96e29f}.inquiry-status.is-error{color:#ff9e91}
.inquiry-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.inquiry-product{background:#202121;border-left:4px solid var(--yellow);padding:14px 16px;margin-bottom:16px;display:flex;justify-content:space-between;gap:16px}.inquiry-product strong{overflow-wrap:anywhere}
.product-inquiry .inquiry-form{background:#292a2a;color:#fff;padding:26px}.product-inquiry-layout{display:grid;grid-template-columns:32% 68%;gap:45px;align-items:start}.product-inquiry-layout>div:first-child{padding-top:10px}
.catalogue-hero-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:50px;align-items:center;padding:50px 0}.catalogue-hero-grid .inner-hero-copy{padding:20px 0}
.catalogue-placeholder,.resource-placeholder{display:grid;place-items:center;align-content:center;gap:8px;min-height:250px;border:1px solid rgba(23,23,23,.28);background:repeating-linear-gradient(135deg,rgba(23,23,23,.08) 0,rgba(23,23,23,.08) 8px,transparent 8px,transparent 18px);text-align:center;color:#171717;font-size:11px;font-weight:900;letter-spacing:.08em}.catalogue-placeholder small{font-weight:600;letter-spacing:0}
.system-intro-grid,.category-overview-grid{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:60px;align-items:start}.system-copy{color:#d0d0d0;line-height:1.8}.system-copy>:first-child{margin-top:0}
.catalogue-group-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.catalogue-group-card{background:#292a2a;border:1px solid rgba(255,255,255,.08);padding:27px;min-width:0}.catalogue-group-card>span,.resource-guide-card>div>span{color:var(--yellow);font-size:11px;font-weight:900}.catalogue-group-card h2{font-size:23px;margin:14px 0 10px}.catalogue-group-card p{color:#bdbdbd;line-height:1.6;min-height:68px}
.category-directory{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.category-directory>section{background:#292a2a;border-left:4px solid var(--yellow);padding:24px}.category-directory h2{font-size:22px;margin:0 0 14px}.category-directory h2 a:hover,.category-directory li a:hover{color:var(--yellow)}.category-directory ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;margin:0;padding:0;list-style:none}.category-directory li{color:#bbb;font-size:13px;overflow-wrap:anywhere}
.category-application-list{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.category-application-list span{background:#292a2a;border-top:3px solid var(--yellow);padding:20px;font-size:13px;font-weight:800}.subcategory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.subcategory-grid a{display:flex;flex-direction:column;justify-content:space-between;gap:30px;min-height:140px;background:#292a2a;border:1px solid rgba(255,255,255,.08);padding:22px}.subcategory-grid a:hover{border-color:var(--yellow)}.subcategory-grid strong{font-size:20px}.subcategory-grid span{color:var(--yellow);font-size:10px;font-weight:900}
.category-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.category-product-grid .product-card{min-width:0}
.resource-guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.resource-guide-card{background:#292a2a;border:1px solid rgba(255,255,255,.08);min-width:0}.resource-guide-card>div:last-child{padding:22px}.resource-guide-card h2{font-size:23px;margin:10px 0}.resource-guide-card p{color:#bdbdbd;line-height:1.62;font-size:13px;min-height:64px}.resource-placeholder{min-height:165px;border:0;border-bottom:1px solid rgba(255,255,255,.08);color:#777;background:repeating-linear-gradient(135deg,#222 0,#222 9px,#252626 9px,#252626 19px)}

@media(max-width:980px){
  .project-grid,.article-grid{grid-template-columns:repeat(2,1fr)}
  .about-page-grid,.contact-page-grid,.project-detail-grid,.product-inquiry-layout{grid-template-columns:1fr;gap:35px}
  .principle-grid{grid-template-columns:1fr}
  .catalogue-hero-grid,.system-intro-grid,.category-overview-grid{grid-template-columns:1fr}.catalogue-group-grid,.subcategory-grid,.resource-guide-grid{grid-template-columns:repeat(2,1fr)}.category-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.category-application-list{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:720px){
  .inner-hero-copy{padding:50px 0}.inner-hero h1{font-size:44px}
  .content-section{padding:48px 0}
  .application-detail-grid,.project-grid,.article-grid{grid-template-columns:1fr}
  .project-card-media,.article-card-media{height:225px}
  .yellow-cta-inner{align-items:flex-start;flex-direction:column}.yellow-cta h2{font-size:30px}
  .about-page-media img{height:280px}
  .inquiry-panel,.product-inquiry .inquiry-form{padding:20px}
  .inquiry-grid{grid-template-columns:1fr}.inquiry-message{grid-column:auto}
  .project-detail-list>div{grid-template-columns:1fr;gap:6px}
  .catalogue-hero-grid{padding:35px 0;gap:25px}.catalogue-placeholder{min-height:190px}.catalogue-group-grid,.category-directory,.category-directory ul,.subcategory-grid,.category-product-grid,.resource-guide-grid,.category-application-list{grid-template-columns:1fr}.catalogue-group-card p,.resource-guide-card p{min-height:0}
}




/* ===== APPLICATIONS PAGE — CLEAN VERSION ===== */

.applications-page-clean{
  background:var(--dark);
  color:#fff;
}

.applications-clean-hero{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(135deg,transparent 30%,rgba(74,47,0,.08) 30.15%,transparent 30.4%),
    linear-gradient(90deg,#f7b817 0%,#ffc52d 72%,#eeaa10 100%);
  color:#171717;
}

.applications-clean-hero-inner{
  min-height:390px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding-top:64px;
  padding-bottom:64px;
}

.applications-clean-hero h1{
  max-width:900px;
  margin:10px 0 18px;
  font-size:clamp(58px,7vw,88px);
  line-height:.94;
  letter-spacing:-.055em;
  font-weight:900;
}

.applications-clean-hero p{
  max-width:690px;
  margin:0;
  font-size:16px;
  line-height:1.65;
}

.applications-clean-actions{
  margin-top:28px;
}

.applications-clean-section{
  padding:76px 0 82px;
  background:var(--dark2);
}

.applications-clean-heading{
  max-width:760px;
  margin-bottom:36px;
}

.applications-clean-heading h2{
  margin:9px 0 14px;
  font-size:clamp(36px,4.5vw,50px);
  line-height:1.03;
  letter-spacing:-.04em;
}

.applications-clean-heading p{
  max-width:700px;
  margin:0;
  color:#c5c5c5;
  font-size:14px;
  line-height:1.72;
}

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

.applications-clean-card{
  position:relative;
  min-height:250px;
  padding:30px 30px 26px;
  background:#2a2b2b;
  border:1px solid rgba(255,255,255,.08);
  display:flex;
  flex-direction:column;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}

.applications-clean-card:hover{
  transform:translateY(-3px);
  border-color:rgba(247,184,23,.55);
  box-shadow:0 16px 34px rgba(0,0,0,.17);
}

.applications-clean-card-line{
  width:54px;
  height:4px;
  background:var(--yellow);
  margin-bottom:28px;
}

.applications-clean-card h3{
  margin:0 0 12px;
  font-size:28px;
  line-height:1.05;
  letter-spacing:-.03em;
}

.applications-clean-card p{
  max-width:560px;
  margin:0;
  color:#c1c1c1;
  font-size:14px;
  line-height:1.68;
}

.applications-clean-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:24px;
}

.applications-clean-tags span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 9px;
  background:#202121;
  color:#aaa;
  font-size:10px;
  font-weight:800;
}

.applications-clean-card>a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:max-content;
  margin-top:auto;
  padding-top:24px;
  color:var(--yellow);
  font-size:10px;
  font-weight:900;
  letter-spacing:.04em;
}

.applications-clean-card>a:hover{
  color:#fff;
}

@media(max-width:820px){
  .applications-clean-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:720px){
  .applications-clean-hero-inner{
    min-height:340px;
    padding-top:52px;
    padding-bottom:52px;
  }

  .applications-clean-hero h1{
    font-size:50px;
  }

  .applications-clean-section{
    padding:52px 0 58px;
  }

  .applications-clean-card{
    min-height:230px;
    padding:24px;
  }

  .applications-clean-card h3{
    font-size:24px;
  }
}


/* ===== APPLICATIONS PAGE — VISUAL / TYPOGRAPHY UPGRADE ===== */

.applications-clean-hero-inner{
  min-height:430px;
  padding-top:76px;
  padding-bottom:74px;
}

.applications-clean-hero .content-eyebrow{
  font-size:12px;
  letter-spacing:.14em;
}

.applications-clean-hero h1{
  max-width:920px;
  margin:12px 0 24px;
  font-size:clamp(68px,7.8vw,104px);
  line-height:.9;
  letter-spacing:-.06em;
}

.applications-clean-hero p{
  max-width:760px;
  font-size:18px;
  line-height:1.7;
}

.applications-clean-actions{
  margin-top:32px;
}

.applications-clean-actions .btn.black{
  padding:17px 24px;
  font-size:12px;
  letter-spacing:.03em;
}

.applications-clean-section{
  padding:90px 0 96px;
}

.applications-clean-heading{
  max-width:860px;
  margin-bottom:48px;
}

.applications-clean-heading .kicker{
  font-size:12px;
  letter-spacing:.13em;
}

.applications-clean-heading h2{
  margin:12px 0 18px;
  font-size:clamp(44px,5vw,60px);
  line-height:.98;
  letter-spacing:-.045em;
}

.applications-clean-heading p{
  max-width:760px;
  font-size:16px;
  line-height:1.75;
}

.applications-clean-grid{
  gap:24px;
}

.applications-clean-card{
  min-height:320px;
  padding:36px 36px 32px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.018),transparent 44%),
    #2a2b2b;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.018);
}

.applications-clean-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:var(--yellow);
  opacity:.95;
}

.applications-clean-card:hover{
  transform:translateY(-5px);
  border-color:rgba(247,184,23,.72);
  box-shadow:0 22px 44px rgba(0,0,0,.22);
}

.applications-clean-card-line{
  width:70px;
  height:5px;
  margin-bottom:34px;
}

.applications-clean-card h3{
  max-width:520px;
  margin:0 0 16px;
  font-size:34px;
  line-height:1.02;
  letter-spacing:-.035em;
}

.applications-clean-card p{
  max-width:600px;
  font-size:16px;
  line-height:1.72;
}

.applications-clean-tags{
  gap:10px;
  margin-top:30px;
}

.applications-clean-tags span{
  min-height:32px;
  padding:0 11px;
  background:#1f2020;
  color:#bcbcbc;
  border:1px solid rgba(255,255,255,.06);
  font-size:11px;
}

.applications-clean-card>a{
  margin-top:auto;
  padding-top:30px;
  font-size:12px;
  letter-spacing:.05em;
}

.applications-clean-card>a span{
  font-size:16px;
}

.applications-page-clean .yellow-cta{
  padding:44px 0;
}

.applications-page-clean .yellow-cta .content-eyebrow{
  font-size:11px;
  letter-spacing:.13em;
}

.applications-page-clean .yellow-cta h2{
  font-size:40px;
  line-height:1.02;
  letter-spacing:-.035em;
}

@media(max-width:980px){
  .applications-clean-hero h1{
    font-size:72px;
  }

  .applications-clean-card{
    min-height:300px;
  }
}

@media(max-width:720px){
  .applications-clean-hero-inner{
    min-height:360px;
    padding-top:58px;
    padding-bottom:58px;
  }

  .applications-clean-hero h1{
    font-size:54px;
  }

  .applications-clean-hero p{
    font-size:16px;
  }

  .applications-clean-section{
    padding:58px 0 64px;
  }

  .applications-clean-heading h2{
    font-size:38px;
  }

  .applications-clean-heading p{
    font-size:15px;
  }

  .applications-clean-card{
    min-height:280px;
    padding:28px 26px 26px;
  }

  .applications-clean-card h3{
    font-size:28px;
  }

  .applications-clean-card p{
    font-size:15px;
  }

  .applications-page-clean .yellow-cta h2{
    font-size:32px;
  }
}

/* ===== RINGLOCK SYSTEM PAGE V3 — APPROVED PRODUCT PAGE ===== */
.ringlock-system-page-v3{background:var(--dark);color:#fff}

.ringlock-v3-hero{
  position:relative;
  overflow:hidden;
  min-height:620px;
  background:#27333c;
}
.ringlock-v3-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(90deg,rgba(7,11,15,.82) 0%,rgba(7,11,15,.53) 40%,rgba(7,11,15,.10) 70%,rgba(7,11,15,.03) 100%),
    var(--ringlock-hero);
  background-position:center right;
  background-size:cover;
}
.ringlock-v3-hero-inner{
  position:relative;
  z-index:1;
  min-height:620px;
  display:flex;
  align-items:center;
}
.ringlock-v3-hero-copy{
  max-width:720px;
  padding:84px 0;
}
.ringlock-v3-hero-copy .content-eyebrow{color:var(--yellow);font-size:12px;letter-spacing:.14em}
.ringlock-v3-hero-copy h1{
  max-width:760px;
  margin:12px 0 24px;
  font-size:clamp(62px,7vw,94px);
  line-height:.90;
  letter-spacing:-.058em;
  font-weight:900;
}
.ringlock-v3-hero-copy p{
  max-width:650px;
  margin:0;
  color:#f0f0f0;
  font-size:18px;
  line-height:1.68;
}
.ringlock-v3-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.ringlock-v3-hero-actions .btn{padding:15px 20px;font-size:12px}
.ringlock-v3-hero-actions .btn.yellow{background:var(--yellow);color:#171717}
.ringlock-v3-hero-actions .btn.black{border:1px solid rgba(255,255,255,.16)}

.ringlock-v3-system{padding:88px 0;background:#181919}
.ringlock-v3-system-grid{
  display:grid;
  grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);
  gap:54px;
  align-items:center;
}
.ringlock-v3-system-copy h2{
  margin:10px 0 18px;
  font-size:clamp(42px,5vw,58px);
  line-height:.96;
  letter-spacing:-.047em;
}
.ringlock-v3-system-copy p{
  margin:0;
  max-width:500px;
  color:#c6c6c6;
  font-size:16px;
  line-height:1.72;
}
.ringlock-v3-system-link{margin-top:24px}
.ringlock-v3-system-visual{
  min-height:500px;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.ringlock-v3-system-visual img{
  width:100%;
  height:500px;
  object-fit:contain;
}

.ringlock-v3-products{padding:88px 0 94px;background:var(--dark2)}
.ringlock-v3-products-head{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(300px,1.1fr);
  gap:60px;
  align-items:end;
  margin-bottom:38px;
}
.ringlock-v3-products-head h2{
  margin:10px 0 0;
  font-size:clamp(42px,4.8vw,58px);
  line-height:.98;
  letter-spacing:-.045em;
}
.ringlock-v3-products-head p{
  margin:0;
  max-width:560px;
  justify-self:end;
  color:#c4c4c4;
  font-size:15px;
  line-height:1.7;
}
.ringlock-v3-slider{position:relative;padding:0 66px}
.ringlock-v3-viewport{overflow:hidden}
.ringlock-v3-track{
  display:flex;
  gap:24px;
  transition:transform .48s cubic-bezier(.22,.61,.36,1);
  will-change:transform;
  touch-action:pan-y;
}
.ringlock-v3-track>.product-card{
  flex:0 0 calc((100% - 48px)/3);
  min-width:calc((100% - 48px)/3);
  background:#292a2a;
  border:1px solid rgba(255,255,255,.09);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.ringlock-v3-track>.product-card:hover{
  transform:translateY(-5px);
  border-color:rgba(247,184,23,.55);
  box-shadow:0 18px 38px rgba(0,0,0,.22);
}
.ringlock-v3-track>.product-card .visual{
  height:330px;
  display:grid;
  place-items:center;
  background:#232424;
  overflow:hidden;
}
.ringlock-v3-track>.product-card .visual img{
  width:83.333%;
  height:83.333%;
  max-width:none;
  object-fit:contain;
  padding:0;
}
.ringlock-v3-track>.product-card .visual .num{display:none!important}
.ringlock-v3-track>.product-card .card-copy{padding:25px 25px 27px}
.ringlock-v3-track>.product-card .card-copy h3{
  margin:0 0 10px;
  font-size:24px;
  line-height:1.06;
  letter-spacing:-.03em;
}
.ringlock-v3-track>.product-card .card-copy p{
  min-height:45px;
  margin:0 0 18px;
  color:#bbb;
  font-size:13px;
  line-height:1.62;
}
.ringlock-v3-track>.product-card .card-copy b{
  color:var(--yellow);
  font-size:11px;
  letter-spacing:.04em;
}
.ringlock-v3-arrow{
  position:absolute;
  top:50%;
  z-index:3;
  width:48px;
  height:92px;
  transform:translateY(-50%);
  border:1px solid rgba(255,255,255,.10);
  background:#171818;
  color:var(--yellow);
  font-size:32px;
  line-height:1;
  cursor:pointer;
}
.ringlock-v3-arrow:hover{background:var(--yellow);color:#171717}
.ringlock-v3-arrow:disabled{opacity:.22;cursor:default}
.ringlock-v3-arrow.is-prev{left:0}
.ringlock-v3-arrow.is-next{right:0}

.ringlock-v3-capability{padding:58px 0;background:#181919}
.ringlock-v3-capability-grid{
  display:grid;
  grid-template-columns:minmax(260px,.82fr) minmax(0,1.18fr);
  gap:55px;
  align-items:center;
}
.ringlock-v3-capability-grid h2{
  margin:9px 0 0;
  font-size:clamp(34px,4vw,44px);
  line-height:1;
  letter-spacing:-.04em;
}
.ringlock-v3-capability-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid rgba(255,255,255,.10);
  border-bottom:1px solid rgba(255,255,255,.10);
}
.ringlock-v3-capability-strip>div{
  padding:24px 20px;
  border-right:1px solid rgba(255,255,255,.10);
}
.ringlock-v3-capability-strip>div:last-child{border-right:0}
.ringlock-v3-capability-strip strong{
  display:block;
  color:var(--yellow);
  font-size:24px;
  line-height:1;
  margin-bottom:8px;
}
.ringlock-v3-capability-strip span{
  color:#999;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
}

.ringlock-v3-applications{padding:84px 0;background:var(--dark2)}
.ringlock-v3-section-head{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(300px,1.2fr);
  gap:60px;
  align-items:start;
  margin-bottom:38px;
}
.ringlock-v3-section-head h2{
  margin:9px 0 0;
  font-size:clamp(40px,4.6vw,54px);
  line-height:.98;
  letter-spacing:-.045em;
}
.ringlock-v3-section-head>p{
  margin:0;
  max-width:600px;
  color:#c6c6c6;
  font-size:15px;
  line-height:1.72;
}
.ringlock-v3-applications-grid{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);
  gap:24px;
}
.ringlock-v3-application-image{
  min-height:520px;
  overflow:hidden;
  background:#202121;
}
.ringlock-v3-application-image img{
  width:100%;
  height:520px;
  object-fit:cover;
  object-position:center 42%;
}
.ringlock-v3-application-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.ringlock-v3-application-list article{
  padding:25px;
  background:#292a2a;
  border-top:3px solid var(--yellow);
}
.ringlock-v3-application-list h3{
  margin:0 0 10px;
  font-size:21px;
  line-height:1.1;
}
.ringlock-v3-application-list p{
  margin:0;
  color:#bbb;
  font-size:13px;
  line-height:1.62;
}

.ringlock-v3-insights{padding:84px 0;background:var(--dark)}
.ringlock-v3-insight-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.ringlock-v3-insight-card{
  min-width:0;
  overflow:hidden;
  background:#292a2a;
  border:1px solid rgba(255,255,255,.08);
}
.ringlock-v3-insight-media{
  height:220px;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:#222;
  color:#777;
  font-size:11px;
}
.ringlock-v3-insight-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease;
}
.ringlock-v3-insight-card:hover .ringlock-v3-insight-media img{transform:scale(1.025)}
.ringlock-v3-insight-copy{padding:23px}
.ringlock-v3-insight-copy .content-eyebrow{color:var(--yellow)}
.ringlock-v3-insight-copy h3{
  margin:10px 0 11px;
  font-size:22px;
  line-height:1.15;
}
.ringlock-v3-insight-copy p{
  margin:0 0 16px;
  color:#bbb;
  font-size:13px;
  line-height:1.62;
}

.ringlock-v3-faq{padding:84px 0;background:var(--dark2)}
.ringlock-v3-faq-grid{
  display:grid;
  grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);
  gap:60px;
  align-items:start;
}
.ringlock-v3-faq-intro h2{
  margin:9px 0 15px;
  font-size:clamp(40px,4.5vw,52px);
  line-height:.98;
  letter-spacing:-.045em;
}
.ringlock-v3-faq-intro p{
  margin:0;
  color:#bbb;
  font-size:14px;
  line-height:1.65;
}
.ringlock-v3-faq-item{border-top:1px solid rgba(255,255,255,.12)}
.ringlock-v3-faq-item:last-child{border-bottom:1px solid rgba(255,255,255,.12)}
.ringlock-v3-faq-question{
  width:100%;
  border:0;
  background:transparent;
  color:#fff;
  padding:19px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  text-align:left;
  font-size:16px;
  font-weight:800;
  cursor:pointer;
}
.ringlock-v3-faq-question b{
  color:var(--yellow);
  font-size:21px;
  transition:transform .22s ease;
}
.ringlock-v3-faq-item.is-open .ringlock-v3-faq-question b{transform:rotate(45deg)}
.ringlock-v3-faq-answer{padding:0 44px 18px 0}
.ringlock-v3-faq-answer p{
  margin:0;
  color:#bbb;
  font-size:14px;
  line-height:1.68;
}

.ringlock-v3-inquiry{
  background:linear-gradient(90deg,#f7b817,#ffc52d);
  color:#171717;
  padding:46px 0;
}
.ringlock-v3-inquiry-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
}
.ringlock-v3-inquiry h2{
  margin:8px 0 9px;
  font-size:38px;
  line-height:1;
  letter-spacing:-.035em;
}
.ringlock-v3-inquiry p{margin:0;font-size:14px}
.ringlock-v3-inquiry .btn.black{flex:0 0 auto}

@media(max-width:980px){
  .ringlock-v3-system-grid,.ringlock-v3-products-head,.ringlock-v3-capability-grid,.ringlock-v3-section-head,.ringlock-v3-applications-grid,.ringlock-v3-faq-grid{grid-template-columns:1fr}
  .ringlock-v3-products-head p{justify-self:start}
  .ringlock-v3-track>.product-card{
    flex-basis:calc((100% - 24px)/2);
    min-width:calc((100% - 24px)/2);
  }
  .ringlock-v3-system-visual img{height:440px}
  .ringlock-v3-application-image,.ringlock-v3-application-image img{height:430px;min-height:430px}
  .ringlock-v3-insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .ringlock-v3-hero,.ringlock-v3-hero-inner{min-height:560px}
  .ringlock-v3-hero-copy{padding:60px 0}
  .ringlock-v3-hero-copy h1{font-size:52px}
  .ringlock-v3-hero-copy p{font-size:16px}
  .ringlock-v3-system,.ringlock-v3-products,.ringlock-v3-applications,.ringlock-v3-insights,.ringlock-v3-faq{padding:56px 0}
  .ringlock-v3-system-copy h2,.ringlock-v3-products-head h2,.ringlock-v3-section-head h2,.ringlock-v3-faq-intro h2{font-size:38px}
  .ringlock-v3-system-visual{min-height:360px}
  .ringlock-v3-system-visual img{height:360px}
  .ringlock-v3-slider{padding:0 42px}
  .ringlock-v3-track>.product-card{
    flex-basis:100%;
    min-width:100%;
  }
  .ringlock-v3-track>.product-card .visual{height:290px}
  .ringlock-v3-capability-strip,.ringlock-v3-application-list,.ringlock-v3-insight-grid{grid-template-columns:1fr}
  .ringlock-v3-capability-strip>div{
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.10);
  }
  .ringlock-v3-capability-strip>div:last-child{border-bottom:0}
  .ringlock-v3-application-image,.ringlock-v3-application-image img{height:360px;min-height:360px}
  .ringlock-v3-inquiry-inner{align-items:flex-start;flex-direction:column}
  .ringlock-v3-inquiry h2{font-size:32px}
}


/* =========================================================
   PRODUCTS PAGE — LARGER SYSTEM COPY + CLEAR ALL-PRODUCT GRID
   ========================================================= */

/* Complete System: enlarge the left text block */
.ringlock-v3-system-grid{
  grid-template-columns:minmax(390px,.82fr) minmax(0,1.18fr);
  gap:70px;
}

.ringlock-v3-system-copy .kicker{
  font-size:15px !important;
  line-height:1.25;
  font-weight:900;
  letter-spacing:1.7px;
}

.ringlock-v3-system-copy h2{
  max-width:560px;
  margin:14px 0 24px;
  font-size:clamp(54px,5.8vw,72px);
  line-height:.94;
  letter-spacing:-.052em;
}

.ringlock-v3-system-copy p{
  max-width:560px;
  font-size:18px;
  line-height:1.72;
}

.ringlock-v3-system-link{
  margin-top:30px;
  font-size:14px !important;
  font-weight:900;
}

/* Product area: no accordion/hidden slider — every product is visible */
.ringlock-v3-product-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  align-items:stretch;
}

/* The existing product-card is a full clickable link */
.ringlock-v3-product-grid>.product-card{
  width:100%;
  min-width:0;
  min-height:540px;
  display:flex;
  flex-direction:column;
  background:#292a2a;
  border:1px solid rgba(255,255,255,.10);
  transition:
    transform .22s ease,
    border-color .22s ease,
    box-shadow .22s ease;
}

.ringlock-v3-product-grid>.product-card:hover{
  transform:translateY(-6px);
  border-color:rgba(247,184,23,.60);
  box-shadow:0 20px 42px rgba(0,0,0,.28);
}

.ringlock-v3-product-grid>.product-card:focus-visible{
  outline:2px solid var(--yellow);
  outline-offset:3px;
}

.ringlock-v3-product-grid>.product-card .visual{
  height:330px;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:#232424;
}

.ringlock-v3-product-grid>.product-card .visual img{
  width:82%;
  height:82%;
  max-width:none;
  object-fit:contain;
  padding:0;
}

.ringlock-v3-product-grid>.product-card .visual .num{
  display:none!important;
}

.ringlock-v3-product-grid>.product-card .card-copy{
  flex:1;
  display:flex;
  flex-direction:column;
  padding:26px 26px 28px;
}

.ringlock-v3-product-grid>.product-card .card-copy h3{
  margin:0 0 12px;
  color:#fff;
  font-size:27px;
  line-height:1.06;
  letter-spacing:-.035em;
}

.ringlock-v3-product-grid>.product-card .card-copy p{
  margin:0 0 22px;
  color:#c2c2c2;
  font-size:14px;
  line-height:1.62;
}

.ringlock-v3-product-grid>.product-card .card-copy b{
  margin-top:auto;
  color:var(--yellow);
  font-size:13px;
  letter-spacing:.025em;
}

/* Old slider controls are no longer used */
.ringlock-v3-slider,.ringlock-v3-arrow{
  display:none!important;
}

@media(max-width:980px){
  .ringlock-v3-system-grid{
    grid-template-columns:1fr;
    gap:34px;
  }

  .ringlock-v3-system-copy h2{
    font-size:clamp(48px,7vw,64px);
  }

  .ringlock-v3-product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:680px){
  .ringlock-v3-system-copy .kicker{
    font-size:13px !important;
  }

  .ringlock-v3-system-copy h2{
    font-size:42px;
  }

  .ringlock-v3-system-copy p{
    font-size:16px;
  }

  .ringlock-v3-product-grid{
    grid-template-columns:1fr;
  }

  .ringlock-v3-product-grid>.product-card{
    min-height:0;
  }

  .ringlock-v3-product-grid>.product-card .visual{
    height:300px;
  }

  .ringlock-v3-product-grid>.product-card .card-copy h3{
    font-size:24px;
  }
}


/* ===== APPLICATIONS PAGE V2 — IMAGE-LED INDUSTRIAL ===== */
.applications-page-v2{background:#171919;color:#fff}
.applications-v2-hero{position:relative;min-height:690px;overflow:hidden;background:#111}
.applications-v2-hero::before{content:"";position:absolute;inset:0;background-image:var(--applications-hero);background-size:cover;background-position:center;transform:scale(1.015)}
.applications-v2-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,10,10,.88) 0%,rgba(8,10,10,.68) 38%,rgba(8,10,10,.24) 70%,rgba(8,10,10,.10) 100%)}
.applications-v2-hero-inner{position:relative;z-index:2;min-height:690px;display:flex;align-items:center}
.applications-v2-hero-copy{width:min(720px,62%);padding:90px 0}
.applications-v2-hero .content-eyebrow,.applications-v2-intro .content-eyebrow,.applications-v2-bottom .content-eyebrow{font-size:14px;letter-spacing:.14em;font-weight:900;color:var(--yellow)}
.applications-v2-hero h1{margin:15px 0 24px;font-size:clamp(62px,6.2vw,104px);line-height:.89;letter-spacing:-.058em;font-weight:900}
.applications-v2-hero p{max-width:650px;margin:0 0 32px;color:#dedede;font-size:17px;line-height:1.72}
.applications-v2-hero .btn{padding:18px 25px;font-size:12px}

.applications-v2-intro{padding:88px 0 76px;background:#202222;border-bottom:1px solid rgba(255,255,255,.07)}
.applications-v2-intro-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.75fr);gap:80px;align-items:end}
.applications-v2-intro h2{max-width:760px;margin:13px 0 0;font-size:clamp(48px,5vw,72px);line-height:.93;letter-spacing:-.05em}
.applications-v2-intro p{margin:0 0 5px;color:#c8c8c8;font-size:16px;line-height:1.78}

.applications-v2-list{padding:0;background:#171919}
.applications-v2-row{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);min-height:520px;border-bottom:1px solid rgba(255,255,255,.09)}
.applications-v2-row:nth-child(even){grid-template-columns:minmax(360px,.65fr) minmax(0,1.35fr)}
.applications-v2-row:nth-child(even) .applications-v2-image{order:2}
.applications-v2-row:nth-child(even) .applications-v2-copy{order:1}
.applications-v2-image{position:relative;overflow:hidden;min-height:520px;background:#242626}
.applications-v2-image::after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.04);pointer-events:none}
.applications-v2-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s ease,filter .35s ease}
.applications-v2-row:hover .applications-v2-image img{transform:scale(1.025)}
.applications-v2-copy{display:flex;flex-direction:column;justify-content:center;padding:58px 58px 54px;background:#202222}
.applications-v2-index{display:block;margin-bottom:20px;color:var(--yellow);font-size:14px;font-weight:900;letter-spacing:.12em}
.applications-v2-copy h2{margin:0 0 20px;font-size:clamp(42px,4vw,62px);line-height:.94;letter-spacing:-.048em}
.applications-v2-copy p{max-width:520px;margin:0;color:#c7c7c7;font-size:16px;line-height:1.72}
.applications-v2-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}
.applications-v2-tags span{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border:1px solid rgba(255,255,255,.10);background:#191b1b;color:#cfcfcf;font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.applications-v2-copy>a{margin-top:34px;color:var(--yellow);font-size:12px;font-weight:900;letter-spacing:.04em;text-decoration:none}
.applications-v2-copy>a span{margin-left:7px;font-size:16px}

.applications-v2-bottom{padding:54px 0;background:var(--yellow);color:#171717}
.applications-v2-bottom .content-eyebrow{color:#171717}
.applications-v2-bottom-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}
.applications-v2-bottom h2{margin:7px 0 6px;font-size:clamp(34px,3.8vw,52px);line-height:.98;letter-spacing:-.04em}
.applications-v2-bottom p{margin:0;font-size:14px}
.applications-v2-bottom .btn.black{flex:0 0 auto;padding:18px 25px}

@media(max-width:980px){
  .applications-v2-hero,.applications-v2-hero-inner{min-height:600px}
  .applications-v2-hero-copy{width:75%}
  .applications-v2-intro-grid{grid-template-columns:1fr;gap:30px}
  .applications-v2-row,.applications-v2-row:nth-child(even){grid-template-columns:1fr}
  .applications-v2-row:nth-child(even) .applications-v2-image,.applications-v2-row:nth-child(even) .applications-v2-copy{order:initial}
  .applications-v2-image{min-height:460px}
  .applications-v2-copy{padding:46px 42px 48px}
}
@media(max-width:720px){
  .applications-v2-hero,.applications-v2-hero-inner{min-height:560px}
  .applications-v2-hero::before{background-position:62% center}
  .applications-v2-hero-shade{background:linear-gradient(90deg,rgba(8,10,10,.90),rgba(8,10,10,.56))}
  .applications-v2-hero-copy{width:100%;padding:70px 0}
  .applications-v2-hero h1{font-size:clamp(50px,14vw,68px)}
  .applications-v2-hero p{font-size:15px}
  .applications-v2-intro{padding:60px 0 54px}
  .applications-v2-intro h2{font-size:44px}
  .applications-v2-intro p{font-size:15px}
  .applications-v2-image{min-height:330px}
  .applications-v2-copy{padding:38px 26px 42px}
  .applications-v2-copy h2{font-size:40px}
  .applications-v2-copy p{font-size:15px}
  .applications-v2-bottom{padding:42px 0}
  .applications-v2-bottom-inner{align-items:flex-start;flex-direction:column}
}


/* =========================================================
   APPLICATIONS V2 — FINAL VISUAL TUNING
   Unified image sizing / tighter hero / clearer typography
   ========================================================= */

/* HERO: slightly shorter and better balanced */
.applications-v2-hero,.applications-v2-hero-inner{
  min-height:620px !important;
}

.applications-v2-hero-copy{
  width:min(690px,58%) !important;
  padding:76px 0 70px !important;
}

.applications-v2-hero h1{
  margin:14px 0 22px !important;
  font-size:clamp(58px,5.6vw,92px) !important;
  line-height:.91 !important;
}

.applications-v2-hero p{
  max-width:610px !important;
  font-size:16px !important;
  line-height:1.68 !important;
}

/* Intro: reduce title dominance and tighten rhythm */
.applications-v2-intro{
  padding:74px 0 66px !important;
}

.applications-v2-intro-grid{
  grid-template-columns:minmax(0,1fr) minmax(390px,.78fr) !important;
  gap:72px !important;
}

.applications-v2-intro h2{
  max-width:690px !important;
  font-size:clamp(44px,4.5vw,62px) !important;
  line-height:.96 !important;
}

.applications-v2-intro p{
  font-size:15px !important;
  line-height:1.72 !important;
}

/* All four application rows use exactly the same visual dimensions */
.applications-v2-row,.applications-v2-row:nth-child(even){
  grid-template-columns:minmax(0,1.18fr) minmax(410px,.82fr) !important;
  min-height:500px !important;
}

.applications-v2-row:nth-child(even){
  grid-template-columns:minmax(410px,.82fr) minmax(0,1.18fr) !important;
}

/* LOCK IMAGE CONTAINERS TO SAME SIZE */
.applications-v2-image{
  height:500px !important;
  min-height:500px !important;
  max-height:500px !important;
}

.applications-v2-image img{
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center;
}

/* Individual crop tuning without changing file dimensions */
.applications-v2-row:nth-child(1) .applications-v2-image img{
  object-position:center 48% !important;
}

.applications-v2-row:nth-child(2) .applications-v2-image img{
  object-position:center 50% !important;
}

.applications-v2-row:nth-child(3) .applications-v2-image img{
  object-position:center 48% !important;
}

.applications-v2-row:nth-child(4) .applications-v2-image img{
  object-position:center 42% !important;
}

/* Copy area: wider and easier to scan */
.applications-v2-copy{
  padding:50px 50px 48px !important;
}

.applications-v2-index{
  margin-bottom:16px !important;
  font-size:15px !important;
}

.applications-v2-copy h2{
  max-width:520px !important;
  margin:0 0 18px !important;
  font-size:clamp(38px,3.5vw,54px) !important;
  line-height:.98 !important;
}

.applications-v2-copy p{
  max-width:540px !important;
  font-size:15px !important;
  line-height:1.7 !important;
}

/* Tags: larger and clearer */
.applications-v2-tags{
  gap:10px !important;
  margin-top:26px !important;
}

.applications-v2-tags span{
  min-height:36px !important;
  padding:0 13px !important;
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:.055em !important;
}

/* Yellow action text: larger */
.applications-v2-copy>a{
  margin-top:30px !important;
  font-size:13px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
}

.applications-v2-copy>a span{
  margin-left:8px !important;
  font-size:17px !important;
}

/* Bottom CTA: more vertical breathing room and stronger button */
.applications-v2-bottom{
  padding:66px 0 !important;
}

.applications-v2-bottom h2{
  margin:8px 0 9px !important;
  font-size:clamp(38px,4vw,56px) !important;
}

.applications-v2-bottom p{
  font-size:15px !important;
}

.applications-v2-bottom .btn.black{
  padding:19px 28px !important;
  font-size:13px !important;
}

/* Tablet */
@media(max-width:980px){
  .applications-v2-hero,.applications-v2-hero-inner{
    min-height:560px !important;
  }

  .applications-v2-hero-copy{
    width:72% !important;
  }

  .applications-v2-row,.applications-v2-row:nth-child(even){
    grid-template-columns:1fr !important;
    min-height:0 !important;
  }

  .applications-v2-image{
    height:420px !important;
    min-height:420px !important;
    max-height:420px !important;
  }

  .applications-v2-copy{
    padding:42px 38px 44px !important;
  }
}

/* Mobile */
@media(max-width:720px){
  .applications-v2-hero,.applications-v2-hero-inner{
    min-height:520px !important;
  }

  .applications-v2-hero-copy{
    width:100% !important;
    padding:64px 0 58px !important;
  }

  .applications-v2-hero h1{
    font-size:clamp(48px,13vw,64px) !important;
  }

  .applications-v2-intro{
    padding:54px 0 48px !important;
  }

  .applications-v2-intro h2{
    font-size:40px !important;
  }

  .applications-v2-image{
    height:300px !important;
    min-height:300px !important;
    max-height:300px !important;
  }

  .applications-v2-copy{
    padding:34px 24px 38px !important;
  }

  .applications-v2-copy h2{
    font-size:38px !important;
  }

  .applications-v2-tags span{
    min-height:34px !important;
    font-size:11px !important;
  }

  .applications-v2-bottom{
    padding:48px 0 !important;
  }
}

/* =========================================================
   PROJECTS V2 — DYNAMIC PORTFOLIO / PROJECT DETAIL
   ========================================================= */
.projects-archive-v2,.project-single-v2{background:#181919;color:#fff}

.projects-v2-hero{
  min-height:560px;
  background:
    radial-gradient(circle at 80% 40%,#313333 0,#232424 35%,#171818 70%);
}
.projects-v2-hero-grid{
  min-height:560px;
  display:grid;
  grid-template-columns:minmax(0,58%) minmax(0,42%);
  gap:30px;
  align-items:center;
}
.projects-v2-hero-copy h1{
  max-width:780px;
  margin:14px 0 22px;
  font-size:clamp(62px,7vw,96px);
  line-height:.9;
  letter-spacing:-.06em;
}
.projects-v2-hero-copy p{
  max-width:640px;
  margin:0;
  color:#ccc;
  font-size:17px;
  line-height:1.72;
}
.projects-v2-hero .content-eyebrow,.projects-v2-cta .content-eyebrow{
  color:var(--yellow);
  font-size:14px;
  font-weight:900;
  letter-spacing:.14em;
}
.projects-v2-hero-graphic{
  height:410px;
  border-left:1px solid rgba(255,255,255,.08);
  display:grid;
  place-items:center;
  color:#5e6060;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
}

.projects-v2-featured{
  padding:88px 0;
  background:#202121;
}
.projects-v2-section-head{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(340px,1.1fr);
  gap:60px;
  align-items:end;
  margin-bottom:36px;
}
.projects-v2-section-head .kicker{
  font-size:14px;
  letter-spacing:.14em;
}
.projects-v2-section-head h2{
  margin:10px 0 0;
  font-size:clamp(42px,4.6vw,58px);
  line-height:.98;
  letter-spacing:-.045em;
}
.projects-v2-section-head>p{
  max-width:580px;
  margin:0;
  color:#c4c4c4;
  font-size:15px;
  line-height:1.72;
}

.projects-v2-featured-card{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(360px,.6fr);
  min-height:520px;
  overflow:hidden;
  background:#292a2a;
  border:1px solid rgba(255,255,255,.09);
}
.projects-v2-featured-media{
  min-height:520px;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:#202121;
  color:#666;
  font-size:11px;
  font-weight:900;
  letter-spacing:.1em;
}
.projects-v2-featured-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s ease;
}
.projects-v2-featured-card:hover .projects-v2-featured-media img{
  transform:scale(1.025);
}
.projects-v2-featured-copy{
  padding:50px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.projects-v2-featured-copy h3{
  margin:12px 0 18px;
  font-size:clamp(36px,3.8vw,48px);
  line-height:.98;
  letter-spacing:-.045em;
}
.projects-v2-featured-copy>p{
  margin:0;
  color:#bbb;
  font-size:14px;
  line-height:1.7;
}
.projects-v2-meta-strip{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  margin:26px 0;
  background:#3a3b3b;
}
.projects-v2-meta-strip>div{
  min-width:0;
  padding:18px;
  background:#232424;
}
.projects-v2-meta-strip span{
  display:block;
  color:#888;
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.projects-v2-meta-strip strong{
  display:block;
  margin-top:6px;
  font-size:14px;
  line-height:1.4;
  overflow-wrap:anywhere;
}

.projects-v2-all{
  padding:88px 0;
  background:#181919;
}
.projects-v2-filters{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:34px;
}
.projects-v2-filters a{
  border:1px solid rgba(255,255,255,.11);
  background:#242525;
  color:#ccc;
  padding:11px 14px;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}
.projects-v2-filters a:hover,.projects-v2-filters a.is-active{
  background:var(--yellow);
  border-color:var(--yellow);
  color:#171717;
}
.projects-v2-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}
.projects-v2-card{
  overflow:hidden;
  background:#292a2a;
  border:1px solid rgba(255,255,255,.09);
  transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease;
}
.projects-v2-card:hover{
  transform:translateY(-5px);
  border-color:rgba(247,184,23,.48);
  box-shadow:0 20px 40px rgba(0,0,0,.22);
}
.projects-v2-card-media{
  height:340px;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:#202121;
  color:#666;
  font-size:10px;
  font-weight:900;
  letter-spacing:.1em;
}
.projects-v2-card-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .4s ease;
}
.projects-v2-card:hover .projects-v2-card-media img{
  transform:scale(1.025);
}
.projects-v2-card-copy{
  padding:26px;
}
.projects-v2-card-meta{
  color:var(--yellow);
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.projects-v2-card-copy h3{
  margin:9px 0 10px;
  font-size:28px;
  line-height:1.08;
  letter-spacing:-.03em;
}
.projects-v2-card-copy p{
  margin:0 0 18px;
  color:#bbb;
  font-size:13px;
  line-height:1.62;
}
.projects-v2-pagination{
  margin-top:36px;
}
.projects-v2-pagination .nav-links{
  justify-content:center;
}

.projects-v2-cta{
  padding:56px 0;
  background:var(--yellow);
  color:#171717;
}
.projects-v2-cta .content-eyebrow{
  color:#171717;
}
.projects-v2-cta-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
}
.projects-v2-cta h2{
  margin:8px 0;
  font-size:42px;
  line-height:1;
  letter-spacing:-.035em;
}
.projects-v2-cta p{
  margin:0;
  font-size:14px;
}

/* SINGLE PROJECT */
.project-single-v2-hero{
  position:relative;
  min-height:650px;
  overflow:hidden;
  background:linear-gradient(135deg,#303232,#1d1e1e);
}
.project-single-v2-hero-bg{
  position:absolute;
  inset:0;
}
.project-single-v2-hero-bg img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.project-single-v2-hero-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(8,9,9,.90) 0,rgba(8,9,9,.55) 46%,rgba(8,9,9,.14) 100%);
}
.project-single-v2-hero-inner{
  position:relative;
  z-index:2;
  min-height:650px;
  display:flex;
  align-items:flex-end;
  padding-bottom:74px;
}
.project-single-v2-hero-copy{
  max-width:860px;
}
.project-single-v2-hero-copy .kicker{
  font-size:14px;
  letter-spacing:.14em;
}
.project-single-v2-hero-copy h1{
  margin:13px 0 18px;
  font-size:clamp(58px,6.2vw,90px);
  line-height:.91;
  letter-spacing:-.055em;
}
.project-single-v2-hero-copy p{
  max-width:650px;
  margin:0;
  color:#d0d0d0;
  font-size:16px;
  line-height:1.7;
}

.project-single-v2-info{
  background:var(--yellow);
  color:#171717;
}
.project-single-v2-info-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.project-single-v2-info-grid>div{
  min-width:0;
  padding:24px;
  border-right:1px solid rgba(0,0,0,.16);
}
.project-single-v2-info-grid>div:last-child{
  border-right:0;
}
.project-single-v2-info-grid span{
  display:block;
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.project-single-v2-info-grid strong{
  display:block;
  margin-top:7px;
  font-size:16px;
  line-height:1.4;
  overflow-wrap:anywhere;
}

.project-single-v2-body{
  padding:88px 0;
  background:#1b1c1c;
}
.project-single-v2-article{
  max-width:900px;
  margin:0 auto;
}
.project-single-v2-article>.kicker{
  font-size:14px;
  letter-spacing:.14em;
}
.project-single-v2-article>h2{
  margin:10px 0 28px;
  font-size:42px;
  line-height:1;
  letter-spacing:-.035em;
}
.project-single-v2-article{
  color:#c8c8c8;
  font-size:16px;
  line-height:1.8;
}
.project-single-v2-article img{
  width:100%;
  height:auto;
  margin:30px 0;
}
.project-single-v2-article figure{
  margin:34px 0;
}
.project-single-v2-article figure img{
  margin:0;
}

.project-single-v2-related{
  padding:84px 0;
  background:#232424;
}
.project-single-v2-related-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

@media(max-width:980px){
  .projects-v2-hero-grid,.projects-v2-section-head,.projects-v2-featured-card{
    grid-template-columns:1fr;
  }
  .projects-v2-hero-graphic{
    display:none;
  }
  .projects-v2-featured-media{
    min-height:380px;
  }
  .projects-v2-grid{
    grid-template-columns:1fr;
  }
  .project-single-v2-info-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .project-single-v2-related-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:720px){
  .projects-v2-hero,.projects-v2-hero-grid{
    min-height:500px;
  }
  .projects-v2-hero-copy h1{
    font-size:54px;
  }
  .projects-v2-featured,.projects-v2-all,.project-single-v2-body,.project-single-v2-related{
    padding:58px 0;
  }
  .projects-v2-featured-copy{
    padding:30px;
  }
  .projects-v2-featured-copy h3{
    font-size:34px;
  }
  .projects-v2-card-media{
    height:260px;
  }
  .project-single-v2-hero,.project-single-v2-hero-inner{
    min-height:520px;
  }
  .project-single-v2-hero-copy h1{
    font-size:52px;
  }
  .project-single-v2-info-grid{
    grid-template-columns:1fr 1fr;
  }
  .project-single-v2-related-grid{
    grid-template-columns:1fr;
  }
  .projects-v2-cta{
    padding:46px 0;
  }
  .projects-v2-cta-inner{
    align-items:flex-start;
    flex-direction:column;
  }
}



/* =========================================================
   RESOURCES V2 — DYNAMIC ARTICLE CENTER
   ========================================================= */
.resources-page-v2,.article-single-v2{
  background:#181919;
  color:#fff;
}

.resources-v2-hero{
  min-height:560px;
  background:
    radial-gradient(circle at 78% 40%,#303232 0,#242525 34%,#171818 72%);
}

.resources-v2-hero-grid{
  min-height:560px;
  display:grid;
  grid-template-columns:minmax(0,62%) minmax(0,38%);
  align-items:center;
  gap:36px;
}

.resources-v2-hero-copy h1{
  max-width:850px;
  margin:14px 0 22px;
  font-size:clamp(62px,6.7vw,96px);
  line-height:.9;
  letter-spacing:-.06em;
}

.resources-v2-hero-copy p{
  max-width:650px;
  margin:0;
  color:#ccc;
  font-size:17px;
  line-height:1.72;
}

.resources-v2-hero .content-eyebrow,.resources-v2-cta .content-eyebrow{
  color:var(--yellow);
  font-size:14px;
  font-weight:900;
  letter-spacing:.14em;
}

.resources-v2-hero-note{
  height:360px;
  border-left:1px solid rgba(255,255,255,.08);
  display:grid;
  place-items:center;
  color:#5f6060;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
}

/* Featured block uses approved project image with a black overlay */
.resources-v2-featured{
  position:relative;
  padding:88px 0;
  background:
    linear-gradient(rgba(8,9,9,.84),rgba(8,9,9,.84)),
    var(--resources-bg) center center/cover no-repeat;
}

.resources-v2-featured>.container{
  position:relative;
  z-index:2;
}

.resources-v2-section-head{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(340px,1.1fr);
  gap:60px;
  align-items:end;
  margin-bottom:36px;
}

.resources-v2-section-head .kicker{
  font-size:14px;
  letter-spacing:.14em;
}

.resources-v2-section-head h2{
  margin:10px 0 0;
  font-size:clamp(42px,4.6vw,58px);
  line-height:.98;
  letter-spacing:-.045em;
}

.resources-v2-featured-card{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);
  min-height:500px;
  overflow:hidden;
  background:rgba(35,36,36,.90);
  border:1px solid rgba(255,255,255,.11);
  box-shadow:0 26px 60px rgba(0,0,0,.20);
}

.resources-v2-featured-media{
  min-height:500px;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:rgba(26,27,27,.78);
  color:#707171;
  font-size:11px;
  font-weight:900;
  letter-spacing:.1em;
}

.resources-v2-featured-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .42s ease;
}

.resources-v2-featured-card:hover .resources-v2-featured-media img{
  transform:scale(1.025);
}

.resources-v2-featured-copy{
  padding:48px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.resources-v2-featured-meta,.resources-v2-article-meta{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  color:#929292;
  font-size:10px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.resources-v2-featured-meta span:first-child,.resources-v2-article-meta span:first-child{
  color:var(--yellow);
}

.resources-v2-featured-copy h3{
  margin:14px 0 18px;
  font-size:clamp(34px,3.4vw,44px);
  line-height:1;
  letter-spacing:-.045em;
}

.resources-v2-featured-copy>p{
  margin:0 0 24px;
  color:#bbb;
  font-size:14px;
  line-height:1.72;
}

.resources-v2-latest{
  padding:88px 0;
  background:#181919;
}

.resources-v2-article-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}

.resources-v2-article-card{
  overflow:hidden;
  background:#292a2a;
  border:1px solid rgba(255,255,255,.09);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}

.resources-v2-article-card:hover{
  transform:translateY(-5px);
  border-color:rgba(247,184,23,.5);
  box-shadow:0 18px 38px rgba(0,0,0,.22);
}

.resources-v2-article-media{
  height:260px;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:#232424;
  color:#666;
  font-size:10px;
  font-weight:900;
  letter-spacing:.1em;
}

.resources-v2-article-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .38s ease;
}

.resources-v2-article-card:hover .resources-v2-article-media img{
  transform:scale(1.025);
}

.resources-v2-article-copy{
  padding:24px;
}

.resources-v2-article-copy h3{
  margin:10px 0 12px;
  font-size:24px;
  line-height:1.08;
  letter-spacing:-.025em;
}

.resources-v2-article-copy p{
  margin:0 0 18px;
  color:#bbb;
  font-size:13px;
  line-height:1.62;
}

.resources-v2-topics{
  padding:78px 0;
  background:#222323;
}

.resources-v2-topic-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}

.resources-v2-topic-card{
  position:relative;
  min-height:150px;
  padding:24px;
  background:#292a2a;
  border:1px solid rgba(255,255,255,.09);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  transition:transform .22s ease,border-color .22s ease;
}

.resources-v2-topic-card:hover{
  transform:translateY(-4px);
  border-color:rgba(247,184,23,.55);
}

.resources-v2-topic-card>span{
  color:var(--yellow);
  font-size:11px;
  font-weight:900;
}

.resources-v2-topic-card h3{
  max-width:220px;
  margin:14px 0 0;
  font-size:22px;
  line-height:1.05;
}

.resources-v2-topic-card b{
  position:absolute;
  right:20px;
  bottom:20px;
  color:var(--yellow);
}

/* Calculators intentionally hidden from Resources V2 until needed. */
.resources-page-v2 .calculator-links-section,.resources-page-v2 .calculator-tool-grid{
  display:none!important;
}

.resources-v2-cta{
  padding:56px 0;
  background:var(--yellow);
  color:#171717;
}

.resources-v2-cta .content-eyebrow{
  color:#171717;
}

.resources-v2-cta-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
}

.resources-v2-cta h2{
  margin:8px 0;
  font-size:42px;
  line-height:1;
  letter-spacing:-.035em;
}

.resources-v2-cta p{
  margin:0;
  font-size:14px;
}

/* =========================================================
   ARTICLE SINGLE V2
   ========================================================= */
.article-single-v2-hero{
  position:relative;
  min-height:620px;
  overflow:hidden;
  background:linear-gradient(135deg,#303232,#1d1e1e);
}

.article-single-v2-hero-bg{
  position:absolute;
  inset:0;
}

.article-single-v2-hero-bg img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.article-single-v2-hero-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(8,9,9,.92) 0,rgba(8,9,9,.60) 44%,rgba(8,9,9,.18) 100%);
}

.article-single-v2-hero-inner{
  position:relative;
  z-index:2;
  min-height:620px;
  display:flex;
  align-items:flex-end;
  padding-bottom:68px;
}

.article-single-v2-hero-copy{
  max-width:900px;
}

.article-single-v2-hero-copy>.kicker{
  font-size:14px;
  letter-spacing:.14em;
}

.article-single-v2-hero-copy h1{
  margin:14px 0 18px;
  font-size:clamp(58px,6vw,88px);
  line-height:.92;
  letter-spacing:-.055em;
}

.article-single-v2-meta{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  color:#aaa;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.article-single-v2-hero-copy>p{
  max-width:700px;
  margin:20px 0 0;
  color:#d0d0d0;
  font-size:16px;
  line-height:1.7;
}

.article-single-v2-body{
  padding:88px 0;
  background:#1b1c1c;
}

.article-single-v2-reading{
  max-width:900px;
  margin:0 auto;
  color:#c8c8c8;
  font-size:16px;
  line-height:1.82;
}

.article-single-v2-reading h2{
  margin:36px 0 18px;
  color:#fff;
  font-size:40px;
  line-height:1;
  letter-spacing:-.03em;
}

.article-single-v2-reading h3{
  margin:30px 0 14px;
  color:#fff;
  font-size:28px;
  line-height:1.05;
}

.article-single-v2-reading p,.article-single-v2-reading li{
  color:#c8c8c8;
  font-size:16px;
  line-height:1.82;
}

.article-single-v2-reading img{
  width:100%;
  height:auto;
  margin:34px 0;
}

.article-single-v2-reading figure{
  margin:36px 0;
}

.article-single-v2-reading figure img{
  margin:0;
}

.article-single-v2-back{
  display:inline-flex;
  margin-top:34px;
}

.article-single-v2-related{
  padding:84px 0;
  background:#232424;
}

.article-single-v2-related-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

@media(max-width:980px){
  .resources-v2-hero-grid,.resources-v2-section-head,.resources-v2-featured-card{
    grid-template-columns:1fr;
  }

  .resources-v2-hero-note{
    display:none;
  }

  .resources-v2-featured-media{
    min-height:380px;
  }

  .resources-v2-article-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .resources-v2-topic-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .article-single-v2-related-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:720px){
  .resources-v2-hero,.resources-v2-hero-grid{
    min-height:500px;
  }

  .resources-v2-hero-copy h1{
    font-size:52px;
  }

  .resources-v2-featured,.resources-v2-latest,.resources-v2-topics,.article-single-v2-body,.article-single-v2-related{
    padding:58px 0;
  }

  .resources-v2-featured-copy{
    padding:30px;
  }

  .resources-v2-featured-copy h3{
    font-size:34px;
  }

  .resources-v2-article-grid,.resources-v2-topic-grid,.article-single-v2-related-grid{
    grid-template-columns:1fr;
  }

  .resources-v2-article-media{
    height:230px;
  }

  .article-single-v2-hero,.article-single-v2-hero-inner{
    min-height:520px;
  }

  .article-single-v2-hero-copy h1{
    font-size:50px;
  }

  .resources-v2-cta{
    padding:46px 0;
  }

  .resources-v2-cta-inner{
    align-items:flex-start;
    flex-direction:column;
  }
}



/* ===== RESOURCES V2 HERO BACKGROUND FIX =====
   Keep the page visually complete even before articles are published.
*/
.resources-v2-hero{
  position:relative !important;
  overflow:hidden !important;
  background:#151616 !important;
}

.resources-v2-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:var(--resources-hero-bg);
  background-size:cover;
  background-position:center 48%;
  transform:scale(1.015);
  z-index:0;
}

.resources-v2-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(
      90deg,
      rgba(8,9,9,.93) 0%,
      rgba(8,9,9,.84) 40%,
      rgba(8,9,9,.64) 68%,
      rgba(8,9,9,.70) 100%
    );
  z-index:1;
}

.resources-v2-hero-grid{
  position:relative !important;
  z-index:2 !important;
}

.resources-v2-hero-note{
  height:360px !important;
  padding-left:58px !important;
  border-left:1px solid rgba(255,255,255,.18) !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:flex-start !important;
  color:#fff !important;
}

.resources-v2-hero-note span{
  color:var(--yellow) !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.14em !important;
}

.resources-v2-hero-note strong{
  display:block;
  max-width:380px;
  margin-top:16px;
  color:#fff;
  font-size:34px;
  line-height:1.04;
  letter-spacing:-.035em;
}

@media(max-width:980px){
  .resources-v2-hero::before{
    background-position:58% center;
  }
}

@media(max-width:720px){
  .resources-v2-hero::after{
    background:rgba(8,9,9,.80);
  }
}



/* =========================================================
   RESOURCES V3 — FINAL CONTENT CENTER REFINEMENT
   ========================================================= */

/* Hero keeps the engineering photo. */
.resources-v2-hero{
  border-bottom:1px solid rgba(255,255,255,.07);
}

/* Browse by Topic directly below Hero for immediate navigation. */
.resources-v2-topics{
  padding:66px 0 72px !important;
  background:#202222 !important;
  border-bottom:1px solid rgba(255,255,255,.07);
}

/* Featured Article switches to a clean dark section — no repeated background image. */
.resources-v2-featured{
  padding:82px 0 90px !important;
  background:#181919 !important;
  background-image:none !important;
}

.resources-v2-featured::before,.resources-v2-featured::after{
  display:none !important;
}

/* Featured card more balanced: 56/44, less empty space. */
.resources-v2-featured-card{
  grid-template-columns:minmax(0,56%) minmax(360px,44%) !important;
  min-height:470px !important;
  background:#242525 !important;
  box-shadow:0 22px 50px rgba(0,0,0,.22) !important;
}

.resources-v2-featured-media{
  min-height:470px !important;
  background:
    linear-gradient(145deg,rgba(255,255,255,.018),transparent 48%),
    #202121 !important;
}

.resources-v2-featured-media img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}

/* Transparent product-style images remain contained instead of being distorted. */
.resources-v2-featured-media img[src$=".png"],.resources-v2-featured-media img[src*="transparent"]{
  object-fit:contain !important;
  padding:8% !important;
}

.resources-v2-featured-copy{
  padding:44px 44px !important;
}

/* No ugly "pending" state. */
.resources-v2-image-fallback{
  display:flex !important;
  width:100%;
  height:100%;
  min-height:240px;
  align-items:center;
  justify-content:center;
  padding:28px;
  text-align:center;
  color:#777 !important;
  background:
    linear-gradient(135deg,rgba(247,184,23,.03),transparent 45%),
    #222323;
  font-size:11px !important;
  font-weight:900 !important;
  letter-spacing:.12em !important;
}

/* Latest Articles adapt to article count. */
.resources-v2-article-grid{
  align-items:stretch;
}

.resources-v2-article-grid-1{
  grid-template-columns:minmax(0,560px) !important;
}

.resources-v2-article-grid-2{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}

.resources-v2-article-grid-3{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}

.resources-v2-article-grid-1 .resources-v2-article-card{
  min-height:420px;
}

.resources-v2-article-grid-1 .resources-v2-article-media{
  height:290px !important;
}

.resources-v2-article-grid-2 .resources-v2-article-media{
  height:280px !important;
}

/* Topic cards a little more useful/visible */
.resources-v2-topic-card{
  min-height:165px !important;
}

.resources-v2-topic-card h3{
  font-size:24px !important;
}

/* Hide empty/uncategorized noise visually if it slips through */
.resources-v2-featured-meta span:first-child,.resources-v2-article-meta span:first-child{
  text-transform:uppercase;
}

/* Latest section slightly tighter */
.resources-v2-latest{
  padding:78px 0 86px !important;
}

/* Responsive */
@media(max-width:980px){
  .resources-v2-featured-card{
    grid-template-columns:1fr !important;
  }

  .resources-v2-featured-media{
    min-height:360px !important;
  }

  .resources-v2-article-grid-1,.resources-v2-article-grid-2,.resources-v2-article-grid-3{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:720px){
  .resources-v2-topics{
    padding:52px 0 56px !important;
  }

  .resources-v2-featured{
    padding:56px 0 62px !important;
  }

  .resources-v2-featured-media{
    min-height:300px !important;
  }

  .resources-v2-featured-copy{
    padding:30px 26px !important;
  }

  .resources-v2-article-grid-1,.resources-v2-article-grid-2,.resources-v2-article-grid-3{
    grid-template-columns:1fr !important;
  }
}



/* =========================================================
   RESOURCES V4 — HERO PLAIN DARK / FEATURED BACKGROUND IMAGE
   ========================================================= */

/* Hero: remove engineering photo and return to clean dark background */
.resources-v2-hero{
  position:relative !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 76% 42%,#2b2d2d 0,#222323 32%,#171818 72%) !important;
}

.resources-v2-hero::before,.resources-v2-hero::after{
  display:none !important;
}

.resources-v2-hero-grid{
  position:relative !important;
  z-index:1 !important;
}

/* Featured Article: place the engineering image here, with black overlay */
.resources-v2-featured{
  position:relative !important;
  overflow:hidden !important;
  padding:82px 0 90px !important;
  background:#141515 !important;
  background-image:none !important;
}

.resources-v2-featured::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  background-image:var(--resources-featured-bg) !important;
  background-size:cover !important;
  background-position:center 50% !important;
  transform:scale(1.01);
  z-index:0 !important;
}

.resources-v2-featured::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  background:
    linear-gradient(
      90deg,
      rgba(8,9,9,.86) 0%,
      rgba(8,9,9,.80) 42%,
      rgba(8,9,9,.73) 100%
    ) !important;
  z-index:1 !important;
}

.resources-v2-featured>.container{
  position:relative !important;
  z-index:2 !important;
}

/* Make the Featured card feel integrated with the background */
.resources-v2-featured-card{
  background:rgba(32,33,33,.88) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  box-shadow:0 22px 56px rgba(0,0,0,.28) !important;
}

.resources-v2-featured-media{
  background:rgba(26,27,27,.84) !important;
}

/* Keep section title readable against the image */
.resources-v2-featured .resources-v2-section-head h2,.resources-v2-featured .resources-v2-section-head p{
  text-shadow:0 2px 16px rgba(0,0,0,.48);
}

@media(max-width:980px){
  .resources-v2-featured::before{
    background-position:58% center !important;
  }
}

@media(max-width:720px){
  .resources-v2-featured::after{
    background:rgba(8,9,9,.78) !important;
  }
}



/* =========================================================
   RESOURCES V5 — APPROVED RAMUSE-STYLE HERO
   Only affects Resources hero. Dynamic article logic unchanged.
   ========================================================= */

.resources-v2-hero{
  position:relative !important;
  overflow:hidden !important;
  min-height:620px !important;
  background:#111212 !important;
  background-image:
    linear-gradient(90deg, rgba(5,6,6,.18), rgba(5,6,6,.02) 62%, rgba(5,6,6,.22)),
    repeating-linear-gradient(
      90deg,
      #111212 0px,
      #111212 27px,
      #171818 28px,
      #1b1c1c 31px,
      #101111 34px,
      #101111 57px
    ) !important;
}

.resources-v2-hero::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.018),transparent 24%,rgba(0,0,0,.20)),
    radial-gradient(circle at 28% 35%,rgba(255,255,255,.035),transparent 36%) !important;
  pointer-events:none !important;
}

.resources-v2-hero::after{
  display:none !important;
}

.resources-v2-hero-grid{
  position:relative !important;
  z-index:2 !important;
  min-height:620px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1.55fr) minmax(330px,.85fr) !important;
  align-items:stretch !important;
  gap:0 !important;
}

.resources-v2-hero-copy{
  padding:82px 70px 76px 0 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}

.resources-v2-hero-copy .eyebrow{
  margin-bottom:26px !important;
  letter-spacing:.18em !important;
}

.resources-v2-hero-copy h1{
  max-width:850px !important;
  margin:0 !important;
  font-family:"Arial Narrow","Roboto Condensed","Helvetica Neue",Arial,sans-serif !important;
  font-size:clamp(58px,6.05vw,104px) !important;
  line-height:.94 !important;
  letter-spacing:-.035em !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  color:#d8d8d8 !important;
  background:linear-gradient(
    180deg,
    #f3f3f3 0%,
    #d7d7d7 27%,
    #a9aaab 53%,
    #e0e0e0 72%,
    #9b9c9d 100%
  ) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
  text-shadow:0 5px 12px rgba(0,0,0,.28) !important;
}

.resources-v2-hero-copy h1::after{
  content:"" !important;
  display:block !important;
  width:92px !important;
  height:4px !important;
  margin-top:34px !important;
  background:linear-gradient(90deg,#f5b800 0 42%,rgba(245,184,0,.22) 42% 100%) !important;
}

.resources-v2-hero-copy > p{
  max-width:690px !important;
  margin-top:30px !important;
  font-size:17px !important;
  line-height:1.65 !important;
  color:#e3e3e3 !important;
}

.resources-v2-hero-side{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  padding:70px 30px 70px 72px !important;
  border-left:1px solid rgba(255,255,255,.17) !important;
  background:rgba(25,26,26,.58) !important;
}

.resources-v2-hero-side::before{
  content:"" !important;
  position:absolute !important;
  left:-1px !important;
  top:32% !important;
  width:3px !important;
  height:126px !important;
  background:#f5b800 !important;
}

.resources-v2-hero-side .eyebrow{
  margin-bottom:22px !important;
  letter-spacing:.18em !important;
}

.resources-v2-hero-side h2,.resources-v2-hero-side h3{
  max-width:390px !important;
  margin:0 !important;
  color:#f3f3f3 !important;
  font-size:clamp(34px,3vw,52px) !important;
  line-height:1.02 !important;
  letter-spacing:-.035em !important;
  font-weight:750 !important;
}

@media(max-width:980px){
  .resources-v2-hero,.resources-v2-hero-grid{
    min-height:auto !important;
  }
  .resources-v2-hero-grid{
    grid-template-columns:1fr !important;
  }
  .resources-v2-hero-copy{
    padding:64px 0 54px !important;
  }
  .resources-v2-hero-side{
    padding:48px 0 54px 34px !important;
    border-left:0 !important;
    border-top:1px solid rgba(255,255,255,.14) !important;
    background:rgba(20,21,21,.42) !important;
  }
  .resources-v2-hero-side::before{
    left:0 !important;
    top:48px !important;
    height:88px !important;
  }
}

@media(max-width:620px){
  .resources-v2-hero-copy h1{
    font-size:clamp(44px,14vw,68px) !important;
  }
  .resources-v2-hero-copy > p{
    font-size:15px !important;
  }
  .resources-v2-hero-side h2,.resources-v2-hero-side h3{
    font-size:34px !important;
  }
}


/* =========================================================
   RESOURCES V6 — APPROVED 3D RINGLOCK HERO
   Real site header remains separate.
   Hero artwork contains the 3D title + orderly Ringlock support + right-side light beam.
   No extra right-side copy.
   ========================================================= */
.resources-v6-hero{
    position:relative;
    width:100%;
    background:#050505;
    overflow:hidden;
}
.resources-v6-hero-art{
    width:100%;
    min-height:clamp(560px,58vw,860px);
    background-repeat:no-repeat;
    background-position:center top;
    background-size:cover;
}
@media (min-width:1500px){
    .resources-v6-hero-art{
        min-height:820px;
        background-size:cover;
        background-position:center top;
    }
}
@media (max-width:980px){
    .resources-v6-hero-art{
        min-height:620px;
        background-size:cover;
        background-position:42% top;
    }
}
@media (max-width:620px){
    .resources-v6-hero-art{
        min-height:520px;
        background-size:auto 100%;
        background-position:36% top;
    }
}


/* =========================================================
   RESOURCES V6.2 — FEATURED ARTICLE BACKGROUND
   Remove engineering background image and use a dark gray transition.
   ========================================================= */
.resources-v2-featured,.resources-featured,.featured-article-section,body.page-template-page-resources .featured{
    background-image:none !important;
    background:
        linear-gradient(
            135deg,
            #151616 0%,
            #202121 42%,
            #2a2b2b 70%,
            #181919 100%
        ) !important;
}

/* Remove any photo overlay/pseudo layer attached to this section. */
.resources-v2-featured::before,.resources-v2-featured::after,.resources-featured::before,.resources-featured::after,.featured-article-section::before,.featured-article-section::after,body.page-template-page-resources .featured::before,body.page-template-page-resources .featured::after{
    background-image:none !important;
}

/* Keep the dynamic featured card itself dark and readable. */
.resources-v2-featured .featured-card,.resources-featured .featured-card,.featured-article-section .featured-card,body.page-template-page-resources .featured .featured-card{
    background:linear-gradient(90deg,#191a1a 0%,#222323 100%) !important;
}

/* ===== CONTACT PAGE V2 — APPROVED CONTACT / MAP / FAQ ===== */
.tgg-contact-v2{background:#1a1b1b;color:#fff}.tgg-contact-v2-main{padding:88px 0 76px;background:#252626}.tgg-contact-v2-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(340px,.72fr);gap:46px;align-items:stretch}.tgg-contact-v2-form>.content-eyebrow,.tgg-contact-v2-info>.content-eyebrow,.tgg-contact-v2-faq-head>.content-eyebrow{color:var(--yellow);font-size:12px;letter-spacing:.14em}.tgg-contact-v2-form h1{margin:15px 0 18px;font-size:clamp(54px,5.8vw,78px);line-height:.92;letter-spacing:-.055em}.tgg-contact-v2-lead{max-width:680px;margin:0 0 30px;color:#c6c6c6;font-size:15px;line-height:1.72}.tgg-contact-v2-form-panel .inquiry-grid{gap:14px}.tgg-contact-v2-form-panel .inquiry-form input,.tgg-contact-v2-form-panel .inquiry-form select,.tgg-contact-v2-form-panel .inquiry-form textarea{min-height:56px;border:1px solid #5a5757;background:#494646;color:#fff;padding:16px 18px;font-size:14px}.tgg-contact-v2-form-panel .inquiry-form textarea{min-height:178px}.tgg-contact-v2-form-panel .inquiry-submit{width:100%;min-height:56px;margin-top:14px;background:var(--yellow);color:#171717;font-size:13px}.tgg-contact-v2-info{background:#494646;padding:48px 44px 42px}.tgg-contact-v2-info h2{margin:17px 0 34px;font-size:clamp(30px,3vw,40px);line-height:1.05;letter-spacing:-.035em}.tgg-contact-v2-info-item{display:grid;grid-template-columns:58px 1fr;gap:18px;align-items:start;margin:24px 0}.tgg-contact-v2-icon{width:58px;height:58px;display:grid;place-items:center;background:var(--yellow);font-size:23px;font-weight:900}.tgg-contact-v2-info-item h3{margin:4px 0 8px;font-size:18px}.tgg-contact-v2-info-item p{margin:0;color:#d2d2d2;font-size:14px;line-height:1.55}.tgg-contact-v2-whatsapp{display:inline-block;margin-top:10px;color:var(--yellow);font-size:11px;font-weight:900}.tgg-contact-v2-map-placeholder{position:relative;height:420px;overflow:hidden;background:#e9e8e5}.tgg-contact-v2-map-placeholder:before,.tgg-contact-v2-map-placeholder:after{content:"";position:absolute;left:-8%;width:116%;height:27px;background:#d4c399}.tgg-contact-v2-map-placeholder:before{top:43%;transform:rotate(-8deg)}.tgg-contact-v2-map-placeholder:after{top:61%;transform:rotate(12deg)}.tgg-contact-v2-map-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(130,130,130,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(130,130,130,.18) 1px,transparent 1px);background-size:68px 56px}.tgg-contact-v2-pin{position:absolute;z-index:3;left:50%;top:46%;width:62px;height:62px;background:var(--yellow);border-radius:50% 50% 50% 0;transform:translate(-50%,-50%) rotate(-45deg)}.tgg-contact-v2-pin span{position:absolute;left:20px;top:20px;width:22px;height:22px;border-radius:50%;background:#fff}.tgg-contact-v2-map-card{position:absolute;z-index:4;left:calc(50% + 58px);top:46%;transform:translateY(-50%);width:min(370px,calc(100% - 40px));padding:20px 23px;background:#171818}.tgg-contact-v2-map-card strong,.tgg-contact-v2-map-card span,.tgg-contact-v2-map-card small{display:block}.tgg-contact-v2-map-card span{margin-top:6px;color:#d0d0d0}.tgg-contact-v2-map-card small{margin-top:9px;color:#888}.tgg-contact-v2-faq{padding:86px 0 94px;background:#252626}.tgg-contact-v2-faq-head{text-align:center;margin-bottom:42px}.tgg-contact-v2-faq-head h2{margin:14px 0 0;font-size:clamp(42px,4.8vw,62px);letter-spacing:-.045em}.tgg-contact-v2-faq-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.tgg-contact-v2-faq-col>h3{margin:0 0 21px;font-size:24px}.tgg-contact-v2-faq-item{margin:0 0 12px;border:1px solid rgba(255,255,255,.06);background:#494646}.tgg-contact-v2-faq-item summary{position:relative;list-style:none;cursor:pointer;padding:20px 54px 20px 22px;font-size:15px;font-weight:800}.tgg-contact-v2-faq-item summary::-webkit-details-marker{display:none}.tgg-contact-v2-faq-item summary:after{content:"+";position:absolute;right:22px;color:var(--yellow);font-size:25px}.tgg-contact-v2-faq-item[open]{background:var(--yellow)}.tgg-contact-v2-faq-item[open] summary{color:#171717}.tgg-contact-v2-faq-item[open] summary:after{content:"×";color:#171717}.tgg-contact-v2-faq-item>div{padding:0 22px 21px;background:#252626}.tgg-contact-v2-faq-item>div p{margin:0;padding-top:18px;color:#c6c6c6;line-height:1.68}.tgg-contact-v2-cta{padding:52px 0;background:var(--yellow);color:#171717}.tgg-contact-v2-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:36px}.tgg-contact-v2-cta h2{margin:7px 0;font-size:clamp(34px,4vw,50px)}
@media(max-width:980px){.tgg-contact-v2-grid,.tgg-contact-v2-faq-columns{grid-template-columns:1fr}}@media(max-width:760px){.tgg-contact-v2-main{padding:58px 0}.tgg-contact-v2-form h1{font-size:50px}.tgg-contact-v2-form-panel .inquiry-grid{grid-template-columns:1fr}.tgg-contact-v2-info{padding:34px 26px}.tgg-contact-v2-map-placeholder{height:360px}.tgg-contact-v2-map-card{left:50%;top:73%;transform:translate(-50%,-50%)}.tgg-contact-v2-faq{padding:60px 0}.tgg-contact-v2-cta-inner{align-items:flex-start;flex-direction:column}}

/* =========================================================
   CONTACT V2.1 — FINAL POLISH
   Better form rhythm / shorter info card / clean location block
   ========================================================= */

/* Form: less backend-like, more B2B front-end */
.tgg-contact-v2-form-panel .inquiry-grid{
  gap:16px !important;
}
.tgg-contact-v2-form-panel .inquiry-form label>span{
  display:block !important;
  margin-bottom:2px;
  color:#cfcfcf;
  font-size:10px !important;
  letter-spacing:.08em;
  opacity:.72;
}
.tgg-contact-v2-form-panel .inquiry-form input,.tgg-contact-v2-form-panel .inquiry-form select,.tgg-contact-v2-form-panel .inquiry-form textarea{
  min-height:62px !important;
  padding:17px 18px !important;
  background:#403e3e !important;
  border-color:#565252 !important;
  font-size:15px !important;
  transition:border-color .2s ease,background .2s ease;
}
.tgg-contact-v2-form-panel .inquiry-form input:hover,.tgg-contact-v2-form-panel .inquiry-form select:hover,.tgg-contact-v2-form-panel .inquiry-form textarea:hover{
  background:#454242 !important;
}
.tgg-contact-v2-form-panel .inquiry-form textarea{
  min-height:220px !important;
}
.tgg-contact-v2-form-panel .inquiry-submit{
  min-height:62px !important;
  font-size:14px !important;
  letter-spacing:.03em;
}

/* Information card: remove excessive empty height */
.tgg-contact-v2-grid{
  align-items:start !important;
}
.tgg-contact-v2-info{
  min-height:0 !important;
  align-self:start !important;
  padding:44px 42px 38px !important;
}
.tgg-contact-v2-info h2{
  margin-bottom:28px !important;
}
.tgg-contact-v2-info-item{
  margin:20px 0 !important;
}

/* Replace fake map with a clean location trust section */
.tgg-contact-v2-location{
  padding:58px 0;
  background:
    linear-gradient(90deg,#171818 0%,#202121 52%,#2a2b2b 100%);
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.tgg-contact-v2-location-card{
  min-height:230px;
  display:flex;
  align-items:center;
  gap:34px;
  padding:42px 46px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.02),transparent 48%),
    #232424;
  border:1px solid rgba(255,255,255,.08);
  position:relative;
  overflow:hidden;
}
.tgg-contact-v2-location-card::after{
  content:"TIANJIN";
  position:absolute;
  right:28px;
  bottom:-18px;
  font-size:112px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.06em;
  color:rgba(255,255,255,.025);
  pointer-events:none;
}
.tgg-contact-v2-location-mark{
  flex:0 0 82px;
  width:82px;
  height:82px;
  display:grid;
  place-items:center;
  background:var(--yellow);
  color:#171717;
  font-size:34px;
  font-weight:900;
}
.tgg-contact-v2-location-copy{
  position:relative;
  z-index:1;
}
.tgg-contact-v2-location-copy .content-eyebrow{
  color:var(--yellow);
}
.tgg-contact-v2-location-copy h2{
  margin:9px 0 12px;
  font-size:clamp(38px,4.6vw,58px);
  line-height:.95;
  letter-spacing:-.045em;
}
.tgg-contact-v2-location-copy p{
  max-width:640px;
  margin:0;
  color:#bdbdbd;
  font-size:14px;
  line-height:1.7;
}

@media(max-width:760px){
  .tgg-contact-v2-info{
    padding:32px 24px 28px !important;
  }
  .tgg-contact-v2-location{
    padding:42px 0;
  }
  .tgg-contact-v2-location-card{
    min-height:0;
    padding:30px 24px;
    align-items:flex-start;
    gap:20px;
  }
  .tgg-contact-v2-location-mark{
    flex-basis:60px;
    width:60px;
    height:60px;
    font-size:27px;
  }
  .tgg-contact-v2-location-card::after{
    font-size:72px;
    right:10px;
  }
}




/* =========================================================
   CONTACT V3 — 1:1 REFERENCE-LED DESIGN
   Fully namespaced to this Contact page.
   ========================================================= */
.contact-reference-page{
  background:#272727;
  color:#fff;
}
.contact-reference-main{
  padding:80px 0 78px;
  background:#272727;
}
.contact-reference-grid{
  display:grid;
  grid-template-columns:minmax(0,1.22fr) minmax(350px,.78fr);
  gap:68px;
  align-items:center;
}
.contact-reference-kicker{
  display:block;
  color:#f7b817;
  font-size:12px;
  font-weight:900;
  letter-spacing:.02em;
}
.contact-reference-left h1{
  margin:24px 0 30px;
  font-size:clamp(40px,4.4vw,58px);
  line-height:1;
  letter-spacing:-.04em;
  font-weight:900;
}
.contact-reference-fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px 18px;
}
.contact-reference-fields input,.contact-reference-fields select,.contact-reference-fields textarea{
  width:100%;
  border:1px solid #5b5858;
  border-radius:0;
  outline:0;
  background:#484545;
  color:#fff;
  padding:17px 22px;
  font-size:15px;
  font-family:inherit;
}
.contact-reference-fields input,.contact-reference-fields select{
  min-height:58px;
}
.contact-reference-fields textarea{
  min-height:188px;
  resize:vertical;
}
.contact-reference-fields input::placeholder,.contact-reference-fields textarea::placeholder{
  color:#a1a1a1;
  opacity:1;
}
.contact-reference-fields select{
  color:#c8c8c8;
}
.contact-reference-fields input:focus,.contact-reference-fields select:focus,.contact-reference-fields textarea:focus{
  border-color:#f7b817;
}
.contact-reference-full{
  grid-column:1/-1;
}
.contact-reference-submit{
  width:100%;
  min-height:62px;
  margin-top:20px !important;
  border:0 !important;
  background:#f7b817 !important;
  color:#171717 !important;
  font-size:15px !important;
  font-weight:900 !important;
  letter-spacing:.02em;
}
.contact-reference-submit:hover{
  background:#ffc52d !important;
}
.contact-reference-form .inquiry-status{
  margin:10px 0 0;
}

.contact-reference-card{
  position:relative;
  padding:50px 48px 42px;
  background:#4a4747;
  min-height:540px;
}
.contact-reference-card::before{
  content:"";
  position:absolute;
  right:74px;
  top:0;
  width:46px;
  height:22px;
  background:#272727;
  clip-path:polygon(0 0,100% 0,100% 100%);
}
.contact-reference-card::after{
  content:"";
  position:absolute;
  left:74px;
  bottom:-21px;
  width:48px;
  height:22px;
  background:#4a4747;
  clip-path:polygon(0 0,100% 100%,0 100%);
}
.contact-reference-card h2{
  max-width:430px;
  margin:26px 0 32px;
  font-size:clamp(31px,3.2vw,42px);
  line-height:1.08;
  letter-spacing:-.035em;
  font-weight:900;
}
.contact-reference-divider{
  height:1px;
  background:rgba(255,255,255,.20);
  margin:0 0 26px;
}
.contact-reference-divider-bottom{
  margin:30px 0 0;
}
.contact-reference-info{
  display:grid;
  grid-template-columns:58px 1fr;
  gap:20px;
  align-items:start;
  margin:22px 0;
}
.contact-reference-icon{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  background:#f7b817;
  color:#fff;
  font-size:23px;
  font-weight:900;
}
.contact-reference-info h3{
  margin:5px 0 8px;
  font-size:18px;
  line-height:1.1;
}
.contact-reference-info p{
  margin:3px 0;
  color:#d5d5d5;
  font-size:14px;
  line-height:1.45;
}
.contact-reference-info a:hover{
  color:#f7b817;
}

/* Map strip */
.contact-reference-map{
  background:#181818;
}
.contact-reference-map-inner{
  position:relative;
  min-height:300px;
  overflow:hidden;
  background:#2c2c2c;
}
.contact-reference-map-grid{
  position:absolute;
  inset:0;
  opacity:.18;
  background-image:
    linear-gradient(rgba(255,255,255,.14) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.14) 1px,transparent 1px);
  background-size:72px 58px;
}
.contact-reference-road{
  position:absolute;
  left:-8%;
  width:116%;
  height:24px;
  background:#6f6249;
  opacity:.65;
  transform-origin:center;
}
.contact-reference-road.road-one{
  top:46%;
  transform:rotate(-8deg);
}
.contact-reference-road.road-two{
  top:64%;
  transform:rotate(11deg);
}
.contact-reference-pin{
  position:absolute;
  left:50%;
  top:50%;
  width:54px;
  height:54px;
  background:#f7b817;
  border-radius:50% 50% 50% 0;
  transform:translate(-50%,-50%) rotate(-45deg);
}
.contact-reference-pin span{
  position:absolute;
  left:18px;
  top:18px;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#fff;
}
.contact-reference-map-copy{
  position:absolute;
  left:calc(50% + 55px);
  top:50%;
  transform:translateY(-50%);
  padding:17px 20px;
  background:#171717;
}
.contact-reference-map-copy strong,.contact-reference-map-copy span{
  display:block;
}
.contact-reference-map-copy strong{
  font-size:16px;
}
.contact-reference-map-copy span{
  margin-top:5px;
  color:#bdbdbd;
  font-size:12px;
}

/* FAQ */
.contact-reference-faq{
  padding:76px 0 88px;
  background:#272727;
}
.contact-reference-faq-head{
  text-align:center;
  margin-bottom:42px;
}
.contact-reference-faq-head h2{
  margin:14px 0 0;
  font-size:clamp(42px,4.6vw,58px);
  line-height:1;
  letter-spacing:-.04em;
}
.contact-reference-faq-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}
.contact-reference-faq-grid>div>h3{
  margin:0 0 20px;
  font-size:24px;
  line-height:1.1;
}
.contact-reference-faq-item{
  margin:0 0 12px;
  border:0;
  background:#4a4747;
}
.contact-reference-faq-item summary{
  position:relative;
  list-style:none;
  cursor:pointer;
  padding:21px 58px 21px 22px;
  color:#fff;
  font-size:15px;
  font-weight:800;
  line-height:1.35;
}
.contact-reference-faq-item summary::-webkit-details-marker{
  display:none;
}
.contact-reference-faq-item summary::after{
  content:"+";
  position:absolute;
  right:22px;
  top:50%;
  transform:translateY(-50%);
  color:#f7b817;
  font-size:24px;
  font-weight:400;
}
.contact-reference-faq-item[open]{
  background:#f7b817;
}
.contact-reference-faq-item[open] summary{
  color:#171717;
}
.contact-reference-faq-item[open] summary::after{
  content:"×";
  color:#171717;
}
.contact-reference-faq-item>div{
  background:#272727;
  padding:0 22px 20px;
}
.contact-reference-faq-item>div p{
  margin:0;
  padding-top:17px;
  color:#c7c7c7;
  font-size:14px;
  line-height:1.65;
}

@media(max-width:980px){
  .contact-reference-grid{
    grid-template-columns:1fr;
    gap:42px;
  }
  .contact-reference-card{
    min-height:0;
  }
}
@media(max-width:720px){
  .contact-reference-main{
    padding:56px 0 60px;
  }
  .contact-reference-fields{
    grid-template-columns:1fr;
  }
  .contact-reference-full{
    grid-column:auto;
  }
  .contact-reference-card{
    padding:34px 26px 30px;
  }
  .contact-reference-map-inner{
    min-height:270px;
  }
  .contact-reference-map-copy{
    left:50%;
    top:74%;
    transform:translate(-50%,-50%);
    width:calc(100% - 40px);
  }
  .contact-reference-faq{
    padding:58px 0 64px;
  }
  .contact-reference-faq-grid{
    grid-template-columns:1fr;
  }
}

/* =========================================================
   CONTACT V3.1 — TOP SECTION REBUILD
   Goal: wider, more balanced, closer to the approved reference.
   Only affects the top contact/form/company-information area.
   ========================================================= */

.contact-reference-main{
  padding:74px 0 76px !important;
  background:#262626 !important;
}

/* Use a wider canvas than the rest of the site so the form does not feel cramped */
.contact-reference-main > .container{
  width:min(1380px,calc(100% - 54px)) !important;
  max-width:none !important;
}

.contact-reference-grid{
  grid-template-columns:minmax(0,1.58fr) minmax(400px,.92fr) !important;
  gap:72px !important;
  align-items:start !important;
}

/* LEFT */
.contact-reference-left{
  min-width:0;
  padding-top:14px;
}

.contact-reference-left .contact-reference-kicker{
  font-size:13px !important;
  letter-spacing:.04em !important;
}

.contact-reference-left h1{
  max-width:880px !important;
  margin:24px 0 34px !important;
  font-size:clamp(48px,4.6vw,66px) !important;
  line-height:.96 !important;
  letter-spacing:-.042em !important;
  font-weight:900 !important;
}

.contact-reference-fields{
  grid-template-columns:1fr 1fr !important;
  gap:20px 18px !important;
}

.contact-reference-fields input,.contact-reference-fields select,.contact-reference-fields textarea{
  background:#494646 !important;
  border:1px solid #5a5757 !important;
  color:#fff !important;
  font-size:16px !important;
  padding:18px 22px !important;
}

.contact-reference-fields input,.contact-reference-fields select{
  min-height:64px !important;
}

.contact-reference-fields textarea{
  min-height:220px !important;
}

.contact-reference-fields input::placeholder,.contact-reference-fields textarea::placeholder{
  color:#aaa !important;
}

.contact-reference-submit{
  min-height:66px !important;
  margin-top:20px !important;
  font-size:16px !important;
  letter-spacing:.01em !important;
}

/* RIGHT CARD */
.contact-reference-card{
  min-height:0 !important;
  padding:48px 46px 40px !important;
  background:#4a4747 !important;
  align-self:start !important;
}

.contact-reference-card::before{
  right:74px !important;
  width:58px !important;
  height:24px !important;
}

.contact-reference-card::after{
  left:74px !important;
  width:58px !important;
  height:24px !important;
}

.contact-reference-card .contact-reference-kicker{
  font-size:13px !important;
  letter-spacing:.035em !important;
}

.contact-reference-card h2{
  max-width:500px !important;
  margin:25px 0 30px !important;
  font-size:clamp(31px,2.7vw,40px) !important;
  line-height:1.12 !important;
  letter-spacing:-.03em !important;
}

.contact-reference-divider{
  margin-bottom:24px !important;
}

.contact-reference-info{
  grid-template-columns:62px 1fr !important;
  gap:20px !important;
  margin:22px 0 !important;
}

.contact-reference-icon{
  width:62px !important;
  height:62px !important;
}

.contact-reference-info h3{
  margin:5px 0 8px !important;
  font-size:19px !important;
}

.contact-reference-info p{
  font-size:15px !important;
  line-height:1.5 !important;
}

/* Desktop alignment: card visually ends close to the form button */
@media(min-width:1100px){
  .contact-reference-card{
    margin-top:0 !important;
  }
}

/* Tablet */
@media(max-width:1099px){
  .contact-reference-main > .container{
    width:min(1120px,calc(100% - 42px)) !important;
  }
  .contact-reference-grid{
    grid-template-columns:minmax(0,1.35fr) minmax(340px,.85fr) !important;
    gap:40px !important;
  }
  .contact-reference-left h1{
    font-size:52px !important;
  }
}

/* Stack earlier than before so nothing gets squeezed */
@media(max-width:900px){
  .contact-reference-grid{
    grid-template-columns:1fr !important;
  }
  .contact-reference-card{
    max-width:none !important;
  }
}

/* Mobile */
@media(max-width:720px){
  .contact-reference-main{
    padding:54px 0 58px !important;
  }
  .contact-reference-main > .container{
    width:calc(100% - 28px) !important;
  }
  .contact-reference-left{
    padding-top:0;
  }
  .contact-reference-left h1{
    font-size:44px !important;
    line-height:.98 !important;
    margin-bottom:28px !important;
  }
  .contact-reference-fields{
    grid-template-columns:1fr !important;
  }
  .contact-reference-full{
    grid-column:auto !important;
  }
  .contact-reference-card{
    padding:34px 26px 30px !important;
  }
  .contact-reference-card h2{
    font-size:31px !important;
  }
}

/* =========================================================
   CONTACT V3.2 — RIGHT COMPANY CARD RESTORE
   Restore the wider, lower, cleaner reference-card proportions.
   Only affects the company information card.
   ========================================================= */

.contact-reference-grid{
  grid-template-columns:minmax(0,1.42fr) minmax(460px,.98fr) !important;
  gap:56px !important;
}

/* Wider and lower card */
.contact-reference-card{
  width:100% !important;
  min-height:0 !important;
  padding:44px 48px 38px !important;
  background:#4b4848 !important;
}

/* Softer notches */
.contact-reference-card::before{
  right:72px !important;
  width:44px !important;
  height:18px !important;
  background:#262626 !important;
}
.contact-reference-card::after{
  left:72px !important;
  width:44px !important;
  height:18px !important;
  background:#4b4848 !important;
}

/* Title: controlled, no giant stacked block */
.contact-reference-card .contact-reference-kicker{
  font-size:12px !important;
  letter-spacing:.03em !important;
}

.contact-reference-card h2{
  max-width:520px !important;
  margin:22px 0 26px !important;
  font-size:clamp(28px,2.25vw,36px) !important;
  line-height:1.16 !important;
  letter-spacing:-.025em !important;
  font-weight:800 !important;
}

/* Subtle separators */
.contact-reference-divider{
  margin:0 0 22px !important;
  background:rgba(255,255,255,.16) !important;
}
.contact-reference-divider-bottom{
  margin:24px 0 0 !important;
}

/* Contact rows: smaller icons, more horizontal rhythm */
.contact-reference-info{
  grid-template-columns:50px 1fr !important;
  gap:18px !important;
  align-items:center !important;
  margin:18px 0 !important;
}

.contact-reference-icon{
  width:50px !important;
  height:50px !important;
  font-size:19px !important;
}

.contact-reference-info h3{
  margin:0 0 5px !important;
  font-size:18px !important;
  line-height:1.15 !important;
}

.contact-reference-info p{
  margin:2px 0 !important;
  color:#d8d8d8 !important;
  font-size:14px !important;
  line-height:1.45 !important;
}

/* Ensure the card stays visually compact on desktop */
@media(min-width:1100px){
  .contact-reference-card{
    max-width:none !important;
  }
}

/* Tablet */
@media(max-width:1099px){
  .contact-reference-grid{
    grid-template-columns:minmax(0,1.25fr) minmax(390px,.9fr) !important;
    gap:40px !important;
  }
  .contact-reference-card h2{
    font-size:31px !important;
  }
}

/* Stack before it becomes skinny */
@media(max-width:920px){
  .contact-reference-grid{
    grid-template-columns:1fr !important;
  }
  .contact-reference-card{
    max-width:none !important;
  }
}

/* =========================================================
   CONTACT V3.3 — ALIGNMENT + CORNER FIX
   Remove decorative cut corners and align company card
   horizontally/vertically with the left form area.
   ========================================================= */

/* Remove both cut-corner pseudo elements completely */
.contact-reference-card::before,.contact-reference-card::after{
  display:none !important;
  content:none !important;
}

/* Keep a clean rectangular card */
.contact-reference-card{
  border-radius:0 !important;
  overflow:hidden !important;
  align-self:stretch !important;
  height:auto !important;
  min-height:100% !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  padding:48px 48px 40px !important;
}

/* Make left and right blocks align on the same top and bottom lines */
.contact-reference-grid{
  align-items:stretch !important;
}

/* Let the left side define the section height naturally */
.contact-reference-left{
  display:flex !important;
  flex-direction:column !important;
}

/* Keep the card content vertically balanced inside the same height */
.contact-reference-card .contact-reference-divider-bottom{
  margin-top:auto !important;
}

/* Slight spacing correction so title and info rows sit cleanly */
.contact-reference-card h2{
  margin-top:22px !important;
  margin-bottom:28px !important;
}
.contact-reference-info{
  margin:19px 0 !important;
}

/* On stacked layouts, return to natural content height */
@media(max-width:920px){
  .contact-reference-card{
    min-height:0 !important;
    height:auto !important;
    align-self:auto !important;
  }
  .contact-reference-card .contact-reference-divider-bottom{
    margin-top:24px !important;
  }
}

/* =========================================================
   CONTACT V3.4 — LARGER TYPE + FLOATING WHATSAPP
   ========================================================= */

/* Slightly enlarge the core Contact page typography */
.contact-reference-left .contact-reference-kicker,.contact-reference-card .contact-reference-kicker,.contact-reference-faq-head .contact-reference-kicker{
  font-size:14px !important;
}

.contact-reference-left h1{
  font-size:clamp(54px,5vw,72px) !important;
}

.contact-reference-fields input,.contact-reference-fields select,.contact-reference-fields textarea{
  font-size:17px !important;
}

.contact-reference-card h2{
  font-size:clamp(32px,2.55vw,40px) !important;
}

.contact-reference-info h3{
  font-size:20px !important;
}

.contact-reference-info p{
  font-size:16px !important;
}

.contact-reference-faq-head h2{
  font-size:clamp(46px,5vw,64px) !important;
}

.contact-reference-faq-grid>div>h3{
  font-size:26px !important;
}

.contact-reference-faq-item summary{
  font-size:17px !important;
}

.contact-reference-faq-item>div p{
  font-size:15px !important;
}

@media(max-width:720px){
  .contact-reference-left h1{
    font-size:48px !important;
  }
}

/* =========================================================
   CONTACT V3.5 — REAL FACTORY MAP
   ========================================================= */
.contact-reference-real-map{
  position:relative;
  width:100%;
  min-height:380px;
  overflow:hidden;
  background:#202020;
}
.contact-reference-real-map iframe{
  display:block;
  width:100%;
  height:380px;
  border:0;
  filter:grayscale(1) brightness(.72) contrast(1.12);
}
.contact-reference-real-map-label{
  position:absolute;
  left:50%;
  bottom:28px;
  transform:translateX(-50%);
  width:min(720px,calc(100% - 40px));
  padding:17px 20px;
  background:rgba(18,18,18,.94);
  border-left:4px solid #f7b817;
  box-shadow:0 12px 30px rgba(0,0,0,.28);
  pointer-events:none;
}
.contact-reference-real-map-label strong,.contact-reference-real-map-label span{
  display:block;
}
.contact-reference-real-map-label strong{
  color:#fff;
  font-size:16px;
  line-height:1.3;
}
.contact-reference-real-map-label span{
  margin-top:5px;
  color:#d0d0d0;
  font-size:13px;
  line-height:1.45;
}
@media(max-width:720px){
  .contact-reference-real-map,.contact-reference-real-map iframe{
    min-height:320px;
    height:320px;
  }
  .contact-reference-real-map-label{
    bottom:16px;
    padding:14px 16px;
  }
}

/* =========================================================
   Article Single — laptop readability + Related Products fix
   Scoped to ordinary WordPress article pages only.
   ========================================================= */

.article-single-v2 .article-single-v2-reading{
  font-size:18px !important;
  line-height:1.78 !important;
}

.article-single-v2 .article-single-v2-reading p,.article-single-v2 .article-single-v2-reading li{
  font-size:18px !important;
  line-height:1.78 !important;
}

.article-single-v2 .article-single-v2-reading h2{
  font-size:38px !important;
  line-height:1.12 !important;
}

.article-single-v2 .article-single-v2-reading h3{
  font-size:27px !important;
  line-height:1.18 !important;
}

.article-single-v2 .article-single-v2-meta{
  font-size:13px !important;
}

.article-single-v2 .article-single-v2-hero-copy > .kicker{
  font-size:14px !important;
}

/* Force the old/shared product-card template into the approved compact article layout. */
.article-single-v2 .article-single-v2-related-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:16px !important;
}

.article-single-v2 .article-single-v2-related-grid > .product-card{
  display:block !important;
  min-width:0 !important;
  overflow:hidden !important;
  background:#2b2c2c !important;
  border:1px solid rgba(255,255,255,.10) !important;
  transform:none !important;
  box-shadow:none !important;
}

/* Remove 01 / 02 / 03 / 04 regardless of the shared card CSS. */
.article-single-v2 .article-single-v2-related-grid .product-card .num{
  display:none !important;
}

/* Give the product photo most of the card height. */
.article-single-v2 .article-single-v2-related-grid .product-card .visual,.article-single-v2 .article-single-v2-related-grid .product-card-media{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  height:245px !important;
  padding:12px !important;
  overflow:hidden !important;
  background:#2b2b2b !important;
}

.article-single-v2 .article-single-v2-related-grid .product-card .visual img,.article-single-v2 .article-single-v2-related-grid .product-card-media img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  object-fit:contain !important;
  object-position:center !important;
}

/* Keep the copy area short so it does not eat the image area. */
.article-single-v2 .article-single-v2-related-grid .product-card .card-copy,.article-single-v2 .article-single-v2-related-grid .product-card-copy{
  min-height:0 !important;
  padding:13px 14px 15px !important;
}

.article-single-v2 .article-single-v2-related-grid .product-card .card-copy h3,.article-single-v2 .article-single-v2-related-grid .product-card-copy h3{
  margin:0 0 11px !important;
  font-size:18px !important;
  line-height:1.24 !important;
  font-weight:800 !important;
}

/* Article related cards do not need the short-description line. */
.article-single-v2 .article-single-v2-related-grid .product-card .card-copy p{
  display:none !important;
}

.article-single-v2 .article-single-v2-related-grid .product-card .card-copy b,.article-single-v2 .article-single-v2-related-grid .product-card-copy .text-link{
  font-size:12px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  letter-spacing:.035em !important;
}

@media (max-width:1180px){
  .article-single-v2 .article-single-v2-related-grid{
    gap:12px !important;
  }

  .article-single-v2 .article-single-v2-related-grid .product-card .visual,.article-single-v2 .article-single-v2-related-grid .product-card-media{
    height:220px !important;
  }

  .article-single-v2 .article-single-v2-related-grid .product-card .card-copy h3,.article-single-v2 .article-single-v2-related-grid .product-card-copy h3{
    font-size:17px !important;
  }
}

@media (max-width:980px){
  .article-single-v2 .article-single-v2-related-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .article-single-v2 .article-single-v2-related-grid .product-card .visual,.article-single-v2 .article-single-v2-related-grid .product-card-media{
    height:250px !important;
  }
}

@media (max-width:720px){
  .article-single-v2 .article-single-v2-reading,.article-single-v2 .article-single-v2-reading p,.article-single-v2 .article-single-v2-reading li{
    font-size:17px !important;
  }

  .article-single-v2 .article-single-v2-related-grid{
    grid-template-columns:1fr !important;
  }

  .article-single-v2 .article-single-v2-related-grid .product-card .visual,.article-single-v2 .article-single-v2-related-grid .product-card-media{
    height:270px !important;
  }
}

/* Article-only Related Products cards; intentionally independent of shared product-card markup. */
.article-single-v2 .article-single-v2-related-grid > .article-related-product-card{
  display:block;
  min-width:0;
  overflow:hidden;
  background:#2b2c2c;
  border:1px solid rgba(255,255,255,.10);
}

.article-single-v2 .article-related-product-media{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:245px;
  padding:12px;
  overflow:hidden;
  background:#2b2b2b;
}

.article-single-v2 .article-related-product-media img{
  display:block;
  width:100%;
  height:100%;
  margin:0;
  object-fit:contain;
  object-position:center;
}

.article-single-v2 .article-related-product-copy{
  padding:13px 14px 15px;
}

.article-single-v2 .article-related-product-copy h3{
  margin:0 0 11px;
  font-size:18px;
  line-height:1.24;
  font-weight:800;
}

.article-single-v2 .article-related-product-copy h3 a{
  color:#fff;
  text-decoration:none;
}

.article-single-v2 .article-related-product-link{
  color:var(--yellow);
  font-size:12px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.035em;
  text-decoration:none;
  text-transform:uppercase;
}

@media (max-width:1180px){
  .article-single-v2 .article-related-product-media{
    height:220px;
  }
}

@media (max-width:980px){
  .article-single-v2 .article-related-product-media{
    height:250px;
  }
}

@media (max-width:720px){
  .article-single-v2 .article-related-product-media{
    height:270px;
  }
}

/* =========================================================
   V6 CONTENT-PAGE VISUAL POLISH
   Common laptop-readable type scale + compact cards.
   ========================================================= */

.content-eyebrow{font-size:13px;line-height:1.3}
.text-link{font-size:13px;line-height:1.35}
.section-intro p,.article-body{font-size:16px;line-height:1.78}

.application-detail-grid p,.principle-grid p{font-size:15px;line-height:1.7}
.application-detail-grid article>span,.principle-grid article>span{font-size:13px}

.project-card-media,.article-card-media{height:230px;font-size:13px}
.project-card p,.article-card p{font-size:14px;line-height:1.65}
.project-meta-compact span{font-size:12px}
.content-empty-state>span{font-size:13px}
.project-detail-list dt{font-size:12px}
.project-detail-list dd{font-size:15px}

.contact-notes span{font-size:14px}
.inquiry-form label>span,.inquiry-product span{font-size:12px}
.inquiry-form input,.inquiry-form select,.inquiry-form textarea{font-size:15px;line-height:1.45}
.inquiry-submit{font-size:13px}
.inquiry-status{font-size:13px}

.catalogue-placeholder,.resource-placeholder{font-size:12px}
.catalogue-group-card>span,.resource-guide-card>div>span{font-size:12px}
.catalogue-group-card p,.resource-guide-card p{font-size:14px;line-height:1.65}
.category-directory li,.category-application-list span{font-size:14px}
.subcategory-grid span{font-size:12px}

/* Ringlock system and application pages. */
.applications-clean-heading p{font-size:16px}
.applications-clean-tags span{font-size:12px}
.applications-clean-card>a{font-size:13px}

.ringlock-v3-track>.product-card .card-copy p{font-size:14px}
.ringlock-v3-track>.product-card .card-copy b{font-size:12px}
.ringlock-v3-capability-strip span{font-size:12px}
.ringlock-v3-application-list p{font-size:14px;line-height:1.65}
.ringlock-v3-insight-copy p{font-size:14px;line-height:1.65}

.applications-v2-tags span{font-size:12px}
.applications-v2-copy>a{font-size:13px}

/* Projects. */
.projects-v2-meta-strip span{font-size:12px}
.projects-v2-filters a{font-size:12px}
.projects-v2-card-media{font-size:12px}
.projects-v2-card-meta{font-size:12px}
.projects-v2-card-copy p{font-size:14px;line-height:1.65}
.project-single-v2-info-grid span{font-size:12px}

/* Resources / Blog. */
.resources-v2-hero-note{font-size:13px}
.resources-v2-featured-meta,.resources-v2-article-meta{font-size:12px}
.resources-v2-article-media{font-size:12px}
.resources-v2-article-copy p{font-size:14px;line-height:1.65}
.resources-v2-topic-card>span{font-size:12px}
.resources-v2-cta p{font-size:15px}

/* Article reading and article-only Related Products. */
.article-single-v2 .article-single-v2-meta{
  font-size:13px!important;
}
.article-single-v2 .article-single-v2-reading,.article-single-v2 .article-single-v2-reading p,.article-single-v2 .article-single-v2-reading li{
  font-size:18px!important;
  line-height:1.82!important;
}
.article-single-v2 .article-single-v2-reading h2{
  font-size:40px!important;
  line-height:1.08!important;
}
.article-single-v2 .article-single-v2-reading h3{
  font-size:28px!important;
  line-height:1.15!important;
}
.article-single-v2 .article-single-v2-related-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
}
.article-single-v2 .article-related-product-card{
  overflow:hidden;
  background:#2b2c2c;
  border:1px solid rgba(255,255,255,.10);
}
.article-single-v2 .article-related-product-media{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:260px;
  padding:12px;
  overflow:hidden;
  background:#2b2b2b;
}
.article-single-v2 .article-related-product-media img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}
.article-single-v2 .article-related-product-copy{
  padding:14px 15px 16px;
}
.article-single-v2 .article-related-product-copy h3{
  margin:0 0 12px;
  font-size:19px;
  line-height:1.25;
}
.article-single-v2 .article-related-product-link{
  font-size:13px;
}

/* Top-level Applications gateway — inline page CSS is overridden intentionally. */
.applications-gateway .kicker{font-size:13px!important}
.applications-gateway-hero p{font-size:17px!important;line-height:1.72!important}
.applications-gateway-intro p{font-size:16px!important;line-height:1.7!important}
.applications-gateway-label{font-size:12px!important}
.applications-gateway-body p{font-size:15px!important;line-height:1.68!important}
.applications-gateway-link{font-size:13px!important}

/* Top-level Blog gateway. */
.blog-hub-page .blog-hub-kicker{font-size:13px!important}
.blog-hub-hero p{font-size:17px!important;line-height:1.72!important}
.blog-hub-card .label{font-size:12px!important}
.blog-hub-card p{font-size:15px!important;line-height:1.68!important}
.blog-hub-link{font-size:13px!important}










/* Contact page. */
.tgg-contact-v2-form>.content-eyebrow,.tgg-contact-v2-info>.content-eyebrow,.tgg-contact-v2-faq-head>.content-eyebrow{font-size:13px}
.tgg-contact-v2-form-panel .inquiry-form label>span{font-size:12px}
.tgg-contact-v2-form-panel .inquiry-form input,.tgg-contact-v2-form-panel .inquiry-form select,.tgg-contact-v2-form-panel .inquiry-form textarea{font-size:15px}
.tgg-contact-v2-whatsapp{font-size:13px}
.tgg-contact-v2-faq-item summary{font-size:16px}
.tgg-contact-v2-faq-item>div p{font-size:15px}

/* Common laptop range. */
@media(min-width:981px) and (max-width:1440px){
  .inner-hero p{font-size:17px}
  .project-card-media,.article-card-media{height:220px}
  .article-single-v2 .article-related-product-media{height:245px}
}

@media(max-width:980px){
  .article-single-v2 .article-single-v2-related-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:720px){
  .content-eyebrow,.text-link{font-size:12px}
  .section-intro p,.article-body{font-size:16px}
  .article-single-v2 .article-single-v2-reading,.article-single-v2 .article-single-v2-reading p,.article-single-v2 .article-single-v2-reading li{font-size:17px!important}
  .article-single-v2 .article-single-v2-related-grid{grid-template-columns:1fr!important}
  .article-single-v2 .article-related-product-media{height:270px}
}
