/* DRAM Monochrome Industrial — base / content system */
:root{
  --dram-ink:#0a0a0a;
  --dram-bg:#ffffff;
  --dram-soft:#f2f2ef;
  --dram-muted:#6c6c67;
  --dram-border:#d9d9d4;
  --dram-container:1440px;
  --dram-gutter:40px;
  --dram-section-space:96px;
  --dram-topbar-height:38px;
  --dram-header-height:88px;
  --dram-chrome-height:126px;
  --site-container:var(--dram-container);
  --site-gutter:var(--dram-gutter);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.dram-site{
  margin:0;
  background:var(--dram-bg);
  color:var(--dram-ink);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  font-size:17px;
  line-height:1.72;
  font-weight:400;
  letter-spacing:-.006em;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
.dram-shell{width:min(calc(100% - (var(--dram-gutter)*2)),var(--dram-container));margin:0 auto}
.dram-skip{position:absolute;left:-9999px;top:0;background:#fff;color:#000;padding:12px 18px;z-index:10000}
.dram-skip:focus{left:12px}

/* Page Builder normalization */
.pb5-document{overflow:hidden}
.pb5-section{padding:var(--dram-section-space) 0}
.pb5-container-template,.pb5-container-content,.pb5-container-wide{width:min(calc(100% - (var(--dram-gutter)*2)),var(--dram-container));margin:0 auto}
.pb5-container-narrow{width:min(calc(100% - (var(--dram-gutter)*2)),900px);margin:0 auto}
.pb5-container-full{width:100%}
.pb5-widget-pb5-heading h1,.pb5-widget-pb5-heading h2,.pb5-widget-pb5-heading h3,
.pb5-widget-pb5-text h1,.pb5-widget-pb5-text h2,.pb5-widget-pb5-text h3{
  font-family:inherit;color:var(--dram-ink);letter-spacing:-.045em;font-weight:580;
}
.pb5-widget-pb5-text p,.pb5-widget-pb5-text li{font-size:17px;line-height:1.78;font-weight:400}
.pb5-widget-pb5-text ul{padding-left:1.2em}
.pb5-widget-pb5-button a,.pb5-button{border-radius:0!important}
.pb5-widget-pb5-image img{width:100%;display:block}

.dram-kicker,.dram-home-kicker{
  margin:0 0 20px!important;font-size:11px!important;line-height:1.2!important;
  text-transform:uppercase;letter-spacing:.18em;font-weight:750!important;color:var(--dram-muted)
}
.dram-kicker-light{color:#bdbdb6!important}
.dram-display-title h1,.dram-display-title h2{
  font-size:clamp(42px,5.2vw,78px)!important;line-height:.98!important;font-weight:570!important;
  letter-spacing:-.05em!important;margin:0 0 28px!important;max-width:880px
}
.dram-section-title h2,.dram-service-copy h2{
  font-size:clamp(38px,4vw,64px)!important;line-height:1.02!important;font-weight:570!important;
  letter-spacing:-.045em!important;margin:0 0 28px!important;max-width:980px
}
.dram-lead,.dram-lead p{font-size:clamp(19px,1.5vw,24px)!important;line-height:1.55!important;color:#3e3e3a;max-width:790px}
.dram-lead-small{font-size:18px!important;line-height:1.65!important;color:#44443f;max-width:800px}

/* Subpage layouts live in dram-pages.css. */

/* Shared cards */
.dram-related-head,.dram-solutions-head,.dram-knowledge-head,.dram-process-head{background:var(--dram-soft);padding-bottom:34px!important}
.dram-related-grid,.dram-solutions-grid,.dram-knowledge-grid{background:var(--dram-soft);padding-top:0!important}
.dram-solutions-grid .pb5-columns,.dram-knowledge-grid .pb5-columns{align-items:stretch!important}
.dram-solution-card{
  display:flex;flex-direction:column;min-height:100%;align-self:stretch;overflow:hidden;
  background:#fff;border:1px solid #d4d4cf;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease
}
.dram-solution-card>.pb5-widget-pb5-text,.dram-solution-card>.pb5-widget-pb5-text>div{height:100%}
.dram-solution-card .pb5-widget-pb5-image{margin:0!important}
.dram-solution-card:hover{transform:translateY(-3px);border-color:#bdbdb7;box-shadow:0 18px 44px rgba(0,0,0,.07)}
.dram-card-image{overflow:hidden}
.dram-card-image img{width:100%;aspect-ratio:16/10!important;object-fit:cover;transition:transform .35s ease}
.dram-solution-card:hover .dram-card-image img{transform:scale(1.018)}
.dram-card-body{padding:24px 25px 27px!important;display:flex;flex:1}
.dram-link-card{position:relative;display:flex;flex-direction:column;height:100%}
.dram-card-index{display:none!important}
.dram-link-card h3{font-size:23px!important;line-height:1.16!important;letter-spacing:-.035em;font-weight:590!important;margin:0 0 13px!important}
.dram-link-card p{font-size:14.5px!important;line-height:1.62!important;color:#555550;margin:0 0 23px!important}
.dram-link-card a{margin-top:auto;width:max-content;font-size:12.5px;font-weight:750;text-decoration:none;border-bottom:1px solid #111;padding-bottom:2px;letter-spacing:.005em}

/* Forms, reading, legal and sitemap layouts live in dram-pages.css. */

/* Template Engine section contract */
.dram-callout{padding:clamp(30px,4vw,58px);border:1px solid var(--dram-border);background:#fff}
.dram-callout-soft{background:var(--dram-soft)}
.dram-callout-dark{background:var(--dram-ink);border-color:var(--dram-ink);color:#fff}
.dram-callout-eyebrow{display:block;margin-bottom:18px;font-size:11px;font-weight:750;letter-spacing:.16em;text-transform:uppercase;color:var(--dram-muted)}
.dram-callout-dark .dram-callout-eyebrow{color:#bdbdb6}
.dram-callout h2{font-size:clamp(31px,3.4vw,51px);line-height:1.06;margin:0 0 20px;letter-spacing:-.04em}
.dram-callout p{max-width:760px;margin:0 0 24px;line-height:1.7}
.dram-callout a{display:inline-flex;gap:10px;align-items:center;text-decoration:none;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:2px}

@media(max-width:980px){
  :root{--dram-gutter:24px;--dram-section-space:74px;--dram-header-height:76px;--dram-chrome-height:114px}
  .dram-display-title h1{font-size:clamp(42px,8vw,68px)!important}
}
@media(max-width:640px){
  :root{--dram-gutter:20px;--dram-section-space:54px;--dram-topbar-height:34px;--dram-header-height:70px;--dram-chrome-height:104px}
  .pb5-section{padding:54px 0}
  .pb5-widget-pb5-text p,.pb5-widget-pb5-text li{font-size:16px;line-height:1.76}
  .dram-display-title h1{font-size:43px!important;line-height:1!important}
  .dram-section-title h2,.dram-service-copy h2{font-size:38px!important}
  .dram-card-body{padding:22px!important}
  .dram-kicker,.dram-home-kicker{margin-bottom:15px!important}
}
