
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f1f0ec;color:#151515;font-family:Arial,Helvetica,sans-serif}a{text-decoration:none;color:inherit}.wrap{width:min(1220px,calc(100% - 42px));margin:auto}.alert{background:#a91419;color:#fff;font-size:11px;font-weight:800;letter-spacing:1.4px;padding:8px 0}.alert .wrap{display:flex;justify-content:space-between}.alert a{border-bottom:1px solid #fff}header{height:100px;background:#080808;border-bottom:1px solid #292929;position:sticky;top:0;z-index:20}.nav{height:100%;display:flex;align-items:center}.logo{align-self:stretch;width:185px;position:relative}.logo img{position:absolute;width:180px;top:5px;left:0;z-index:2}.nav nav{margin-left:auto;display:flex;gap:33px;align-items:center;color:#eee;font-family:Impact,"Arial Narrow",sans-serif;font-size:16px;letter-spacing:.7px}.nav nav a:hover{color:#d32228}.nav .quote{padding:16px 21px;background:#bd1c21;color:#fff}#toggle{display:none;margin-left:auto;background:none;border:0;color:white;font-size:25px}.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 80% 30%,#3b3b3b 0,#181818 31%,#080808 68%);color:#fff;min-height:650px}.apparatus-lines{position:absolute;inset:0;opacity:.13;background:repeating-linear-gradient(135deg,transparent 0 80px,#b51d22 80px 84px,transparent 84px 135px)}.hero-grid{position:relative;display:grid;grid-template-columns:1.25fr .75fr;align-items:center;min-height:650px;gap:50px}.kicker,.eyebrow{font-weight:900;font-size:12px;letter-spacing:2.6px;color:#b81c21}.kicker{color:#ccc;display:flex;align-items:center;gap:10px}.kicker span{width:45px;height:4px;background:#c91d23}.hero h1,.heading h2,.stores h2,.story h2,.quote-section h2,.faq h2{font-family:Impact,"Arial Narrow",sans-serif;font-weight:400;line-height:.92;letter-spacing:.4px;margin:18px 0}.hero h1{font-size:clamp(58px,6.7vw,95px)}h1 em{font-style:normal;color:#cf242a}.hero-copy>p{max-width:760px;color:#d2d2d2;font-size:18px;line-height:1.65}.actions{display:flex;gap:12px;margin-top:28px}.button{display:inline-flex;padding:17px 25px;font-size:12px;font-weight:900;letter-spacing:1px}.red{background:#c41d22;color:white}.ghost,.outline{border:1px solid #777;color:white}.white{background:#fff;color:#111}.quick{display:flex;gap:16px;align-items:center;margin-top:45px;color:#bcbcbc;font-family:Impact,"Arial Narrow";letter-spacing:1px}.quick i{color:#c51e23}.hero-logo{text-align:center}.hero-logo img{width:min(460px,100%);filter:drop-shadow(0 25px 25px #000)}.stamp{margin:5px auto 0;border-top:1px solid #777;border-bottom:1px solid #777;padding:12px;color:#aaa;font-size:10px;letter-spacing:2px}.stamp b{color:#fff}.proof{background:#c51e23;color:#fff}.proof-grid{display:grid;grid-template-columns:repeat(4,1fr)}.proof-grid div{padding:22px;display:flex;gap:13px;align-items:center;border-right:1px solid rgba(255,255,255,.25)}.proof b{font:34px Impact;color:#7d1014}.proof span{font-weight:900;font-size:12px;letter-spacing:1px}.section{padding:100px 0}.heading{display:grid;grid-template-columns:1.25fr .75fr;column-gap:80px;align-items:end;margin-bottom:45px}.heading .eyebrow{grid-column:1/-1}.heading h2,.stores h2,.story h2,.quote-section h2,.faq h2{font-size:clamp(45px,5vw,70px)}.heading h2 span,.story h2 span,.quote-section h2 span{color:#b91c21}.heading p{color:#626262;line-height:1.7}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.card{background:#fff;border-top:5px solid #282828;padding:31px;min-height:285px;position:relative}.card.primary{border-color:#c41d22}.card.dark{background:#151515;color:#fff;border-color:#c41d22}.num{font:bold 12px Arial;color:#b61c21}.card h3{font:34px Impact;margin:50px 0 12px}.card p{color:#676767;line-height:1.6;font-size:14px}.dark p{color:#aaa}.card a{position:absolute;bottom:27px;color:#b91c21;font-weight:900;font-size:11px}.stores{background:#9f151a;color:white;padding:100px 0;position:relative;overflow:hidden}.stores:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 90px,rgba(0,0,0,.07) 90px 130px)}.store-layout{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}.pale{color:#f4b3b5}.stores h2 span{color:#fff}.stores p{color:#f0d1d2;line-height:1.7}.free{font:55px Impact;margin:25px 0}.free small{font:14px Arial;font-weight:900;letter-spacing:1px}.store-browser{background:#111;border:8px solid #292929;box-shadow:0 25px 50px rgba(0,0,0,.35)}.browser-top{height:43px;background:#e8e8e8;color:#777;display:flex;align-items:center;gap:7px;padding:0 12px;font-size:10px}.browser-top i{width:9px;height:9px;border-radius:50%;background:#aaa}.browser-top span{margin-left:10px}.browser-body{text-align:center;padding:35px;color:#fff}.mini-logo{width:85px;height:85px;border:3px solid #c51e23;transform:rotate(45deg);margin:5px auto 35px;display:grid;place-items:center;font:18px Impact;color:#fff}.mini-logo::first-line{transform:rotate(-45deg)}.browser-body h3{font:28px Impact}.products{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.products div{height:130px;background:linear-gradient(145deg,#333,#151515);display:grid;place-items:end center;padding:15px}.products span{font:14px Impact;color:#ddd}.browser-body p{font-size:12px}.compact{grid-template-columns:1.2fr .8fr}.gallery{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:8px}.gallery>div{height:320px;background:linear-gradient(145deg,#1d1d1d,#4a4a4a);padding:22px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;border-bottom:5px solid #b91c21}.gallery b{font:24px Impact}.gallery span{font-size:9px;letter-spacing:2px;color:#aaa}.story{padding:100px 0;background:#111;color:white}.story-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:100px;align-items:center}.story-logo{text-align:center}.story-logo img{width:min(360px,100%)}.story-logo .rule{height:1px;background:#444;margin:20px}.story-logo strong{font-size:10px;letter-spacing:2px;color:#aaa}.story p{color:#bdbdbd;line-height:1.8}.story blockquote{margin:30px 0 0;padding:18px 0 18px 20px;border-left:5px solid #c51e23;font:29px Impact}.quote-section{background:#242424;color:white;padding:100px 0}.quote-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px}.quote-section p,.quote-section li{color:#bbb;line-height:1.7}.quote-section ul{padding-left:20px}.quote-section form{background:#f4f3ef;color:#111;padding:32px}.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{display:flex;flex-direction:column;font-size:10px;font-weight:900;letter-spacing:1px;gap:7px;margin-bottom:15px}input,select,textarea{padding:13px;border:1px solid #c5c5c5;background:white;width:100%;font:14px Arial}.check{flex-direction:row;align-items:center}.check input{width:auto}.quote-section button{width:100%;padding:17px;background:#bd1b20;color:white;border:0;font-weight:900;letter-spacing:1px;cursor:pointer}.faq details{border-top:1px solid #ccc;padding:20px 0}.faq details:last-child{border-bottom:1px solid #ccc}.faq summary{font:22px Impact;cursor:pointer}.faq details p{color:#666;max-width:850px;line-height:1.7}footer{background:#050505;color:white;padding:30px 0}.foot{display:grid;grid-template-columns:110px 1fr auto;gap:20px;align-items:center}.foot img{width:100px}.foot div{display:flex;flex-direction:column}.foot span{color:#777;font-size:11px;margin-top:5px}.foot a{background:#bd1b20;padding:15px 20px;font-weight:900;font-size:11px}
@media(max-width:850px){header{height:82px}.logo img{width:145px}.nav nav{display:none;position:absolute;top:82px;left:0;right:0;background:#090909;padding:25px;flex-direction:column;align-items:flex-start}.nav nav.open{display:flex}#toggle{display:block}.hero-grid,.heading,.store-layout,.story-grid,.quote-layout{grid-template-columns:1fr}.hero-grid{padding:70px 0}.hero-logo{display:none}.proof-grid{grid-template-columns:1fr 1fr}.cards{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr 1fr}.heading{gap:10px}.heading p{margin-top:0}}@media(max-width:550px){.wrap{width:calc(100% - 28px)}.alert{font-size:8px}.alert a{display:none}.hero h1{font-size:55px}.quick{flex-wrap:wrap}.actions{flex-direction:column}.button{justify-content:center}.proof-grid,.cards,.gallery,.row,.foot{grid-template-columns:1fr}.proof-grid div{border-bottom:1px solid rgba(255,255,255,.2)}.section,.stores,.story,.quote-section{padding:70px 0}.store-layout,.story-grid,.quote-layout{gap:45px}.free{font-size:42px}.foot{text-align:center}.foot img{margin:auto}.foot div{align-items:center}}

/* IAFF trust badge: intentionally compact, never a hero-sized image */
.iaff-trust { background:#fff; padding:30px 0; border-top:1px solid #ddd; border-bottom:1px solid #ddd; }
.iaff-trust-grid { display:grid; grid-template-columns:90px 1fr auto; gap:24px; align-items:center; }
.iaff-trust-grid > img { display:block; width:80px !important; max-width:80px !important; height:auto !important; max-height:95px !important; object-fit:contain; }
.iaff-trust h2 { font:30px Impact,"Arial Narrow",sans-serif; margin:3px 0 5px; }
.iaff-trust p { margin:0; color:#666; line-height:1.55; font-size:14px; }
@media(max-width:700px){
  .iaff-trust-grid { grid-template-columns:70px 1fr; }
  .iaff-trust-grid > img { width:62px !important; max-width:62px !important; max-height:75px !important; }
  .iaff-trust-grid .button { grid-column:1/-1; }
}

.audience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.audience-grid a{background:#fff;padding:28px;border-top:5px solid #222;min-height:190px}
.audience-grid a:first-child{border-color:#bd1c21}
.audience-grid b{display:block;font:27px Impact,"Arial Narrow",sans-serif;margin-bottom:12px}
.audience-grid span{color:#666;font-size:13px;line-height:1.6}
.audience-grid a:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.08)}
@media(max-width:900px){.audience-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.audience-grid{grid-template-columns:1fr}}

/* Industries dropdown - hover + click stable */
.nav nav .dropdown{
  position:relative;
  display:flex;
  align-items:center;
  height:100%;
}
.nav nav .dropbtn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  cursor:pointer;
}
.nav nav .dropbtn:after{
  content:"▾";
  font-size:10px;
  color:#999;
  transition:transform .18s ease;
}
.nav nav .dropdown-menu{
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  position:absolute;
  top:100%;
  left:-18px;
  min-width:245px;
  background:#111;
  border-top:4px solid #bd1c21;
  box-shadow:0 16px 35px rgba(0,0,0,.35);
  padding:8px 0;
  z-index:80;
  transform:translateY(4px);
  transition:opacity .15s ease, transform .15s ease, visibility .15s ease;
}
.nav nav .dropdown-menu:before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-18px;
  height:18px;
}
.nav nav .dropdown-menu a{
  display:block;
  padding:13px 18px;
  color:#eee;
  font-family:Arial,Helvetica,sans-serif;
  font-size:12px;
  font-weight:800;
  letter-spacing:.6px;
  white-space:nowrap;
}
.nav nav .dropdown-menu a:hover{
  background:#1f1f1f;
  color:#fff;
}
.nav nav .dropdown:hover .dropdown-menu,
.nav nav .dropdown:focus-within .dropdown-menu,
.nav nav .dropdown.open .dropdown-menu{
  visibility:visible;
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
}
.nav nav .dropdown.open .dropbtn:after{
  transform:rotate(180deg);
}

@media(max-width:850px){
  .nav nav .dropdown{
    width:100%;
    display:block;
    height:auto;
  }
  .nav nav .dropdown-menu{
    visibility:visible;
    opacity:1;
    pointer-events:auto;
    position:static;
    transform:none;
    box-shadow:none;
    border-top:0;
    background:#111;
    margin-top:8px;
    padding:4px 0 4px 12px;
    min-width:0;
  }
  .nav nav .dropdown-menu:before{display:none}
  .nav nav .dropdown-menu a{
    padding:9px 10px;
    color:#bbb;
  }
}

/* ---------------- Quote page ---------------- */
.quotehero{
  background:
    radial-gradient(circle at 82% 28%,rgba(145,20,24,.28),transparent 28%),
    radial-gradient(circle at 76% 42%,#343434,#111 48%,#050505 82%);
  color:#fff;padding:88px 0 72px;
}
.quotehero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:65px;align-items:center}
.quotehero h1{font:clamp(56px,7vw,94px)/.9 Impact,"Arial Narrow",sans-serif;margin:12px 0}
.quotehero h1 span{color:#c62026}
.quotehero p{color:#bbb;line-height:1.75;max-width:720px}
.quote-points{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.quote-point{background:#171717;border:1px solid #3b3b3b;padding:20px}
.quote-point b{display:block;font:23px Impact,"Arial Narrow",sans-serif;margin-bottom:5px}
.quote-point span{font-size:12px;color:#aaa;line-height:1.5}

.quote-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:34px;align-items:start;padding:70px 0 95px}
.quote-form-wrap{background:#fff;padding:34px;box-shadow:0 14px 40px rgba(0,0,0,.08)}
.quote-form-wrap h2{font:42px Impact,"Arial Narrow",sans-serif;margin:0 0 7px}
.quote-form-wrap > p{margin:0 0 30px;color:#686868;line-height:1.65}
.form-section{border-top:1px solid #ddd;padding-top:28px;margin-top:28px}
.form-section:first-of-type{border-top:0;margin-top:0;padding-top:0}
.form-section-title{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.form-num{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#b7191f;color:#fff;font:18px Impact}
.form-section-title h3{font:28px Impact,"Arial Narrow",sans-serif;margin:0}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.form-grid.three{grid-template-columns:repeat(3,1fr)}
.field.full{grid-column:1/-1}
.field label{display:block;font-size:11px;font-weight:900;letter-spacing:.8px;margin-bottom:7px;color:#343434}
.field input,.field select,.field textarea{
  width:100%;box-sizing:border-box;border:1px solid #cfcfcf;background:#fafafa;
  padding:13px 14px;font:14px Arial,Helvetica,sans-serif;color:#222;outline:none
}
.field textarea{min-height:135px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#a8161b;background:#fff}
.help{font-size:11px;color:#777;line-height:1.45;margin-top:6px}
.required{color:#b7191f}

.service-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.service-choice{position:relative}
.service-choice input{position:absolute;opacity:0;pointer-events:none}
.service-choice label{
  display:block;border:1px solid #d2d2d2;padding:18px;background:#fafafa;cursor:pointer;min-height:82px
}
.service-choice label b{display:block;font:21px Impact,"Arial Narrow",sans-serif;margin-bottom:4px}
.service-choice label span{font-size:11px;color:#707070;line-height:1.4}
.service-choice input:checked + label{border-color:#b7191f;box-shadow:inset 0 0 0 2px #b7191f;background:#fff5f5}
.service-choice input:focus + label{outline:2px solid #222;outline-offset:2px}

.conditional{display:none;margin-top:18px;background:#f5f4f0;padding:20px;border-left:4px solid #b7191f}
.conditional.show{display:block}
.conditional h4{font:22px Impact,"Arial Narrow",sans-serif;margin:0 0 14px}

.upload-zone{border:2px dashed #aaa;background:#fafafa;padding:24px;text-align:center}
.upload-zone b{display:block;font:23px Impact,"Arial Narrow",sans-serif;margin-bottom:7px}
.upload-zone p{font-size:12px;color:#666;margin:0 0 14px;line-height:1.5}
.upload-zone input{max-width:100%}
.file-list{margin-top:12px;text-align:left;font-size:12px;color:#555}
.file-list div{padding:6px 0;border-top:1px solid #e5e5e5}

.check-row{display:flex;gap:10px;align-items:flex-start;margin:12px 0}
.check-row input{margin-top:3px}
.check-row label{font-size:13px;line-height:1.5;color:#444}
.form-submit{margin-top:28px;display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.form-submit .button{border:0;cursor:pointer}
.form-note{font-size:11px;color:#777;max-width:420px;line-height:1.45}

.quote-sidebar{position:sticky;top:24px}
.side-card{background:#111;color:#fff;padding:26px;margin-bottom:14px}
.side-card.red{background:#a8161b}
.side-card h3{font:29px Impact,"Arial Narrow",sans-serif;margin:0 0 10px}
.side-card p{font-size:13px;line-height:1.65;color:#bbb;margin:0}
.side-card.red p{color:#f3c9cb}
.side-card .mini{display:block;font-size:11px;letter-spacing:.8px;color:#999;margin-bottom:7px}
.side-contact{margin-top:16px;padding-top:16px;border-top:1px solid #3a3a3a;font-size:13px;line-height:1.8}
.side-card.red .side-contact{border-color:rgba(255,255,255,.25)}
.quote-sidebar .iaff-mini{background:#fff;border:1px solid #ddd;padding:22px;display:flex;gap:18px;align-items:center}
.quote-sidebar .iaff-mini img{width:66px;max-height:78px;object-fit:contain}
.quote-sidebar .iaff-mini b{font:21px Impact,"Arial Narrow",sans-serif;display:block}
.quote-sidebar .iaff-mini span{font-size:11px;color:#666;line-height:1.45;display:block;margin-top:4px}

.success-box{display:none;background:#edf7ee;border-left:5px solid #2f7d32;padding:22px;margin-top:25px}
.success-box.show{display:block}
.success-box h3{font:27px Impact,"Arial Narrow",sans-serif;margin:0 0 7px}
.success-box p{margin:0;color:#446148;line-height:1.55;font-size:13px}

@media(max-width:900px){
  .quotehero-grid,.quote-layout{grid-template-columns:1fr}
  .quote-sidebar{position:static}
  .service-options{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .quotehero{padding:65px 0 55px}
  .quote-points,.form-grid,.form-grid.three,.service-options{grid-template-columns:1fr}
  .quote-form-wrap{padding:24px 18px}
}

/* compact site-wide quote nav treatment */
nav a.quote{white-space:nowrap}

/* ---------------- Shop ODF ---------------- */
.shophero{
  background:
    radial-gradient(circle at 82% 30%,rgba(176,22,28,.25),transparent 26%),
    radial-gradient(circle at 72% 44%,#353535,#111 50%,#050505 84%);
  color:#fff;padding:90px 0 78px;
}
.shophero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}
.shophero h1{font:clamp(58px,7vw,98px)/.88 Impact,"Arial Narrow",sans-serif;margin:12px 0}
.shophero h1 span{color:#c62026}
.shophero p{color:#bbb;line-height:1.75;max-width:700px}
.shop-stamp{
  background:#111;border:1px solid #444;padding:34px;min-height:300px;display:flex;
  flex-direction:column;justify-content:center;position:relative;overflow:hidden
}
.shop-stamp:before{
  content:"ODF";position:absolute;right:-8px;bottom:-28px;
  font:150px/1 Impact,"Arial Narrow",sans-serif;color:rgba(255,255,255,.035)
}
.shop-stamp .eyebrow{margin-bottom:8px}
.shop-stamp h3{font:42px/1 Impact,"Arial Narrow",sans-serif;margin:0 0 14px}
.shop-stamp p{font-size:13px;max-width:430px}
.shop-intro{padding:88px 0}
.shop-intro-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:75px;align-items:start}
.shop-intro h2,.shop-categories h2,.shop-why h2,.shop-how h2{
  font:clamp(44px,5vw,72px)/.94 Impact,"Arial Narrow",sans-serif;margin:8px 0 18px
}
.shop-intro h2 span,.shop-categories h2 span,.shop-why h2 span,.shop-how h2 span{color:#c62026}
.shop-intro p,.shop-categories p,.shop-why p,.shop-how p{color:#666;line-height:1.75}
.shop-categories{padding:80px 0;background:#e7e5df}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:34px}
.product-card{background:#fff;min-height:290px;display:flex;flex-direction:column;justify-content:flex-end;padding:26px;position:relative;overflow:hidden;border-top:5px solid #222}
.product-card:before{
  content:"";position:absolute;inset:0 0 35% 0;
  background:linear-gradient(145deg,#202020,#3b3b3b);opacity:.95
}
.product-card:after{
  content:attr(data-mark);position:absolute;top:28px;left:22px;
  font:58px Impact,"Arial Narrow",sans-serif;color:rgba(255,255,255,.1)
}
.product-card b{font:27px Impact,"Arial Narrow",sans-serif;position:relative}
.product-card span{font-size:12px;color:#666;line-height:1.5;margin-top:6px;position:relative}
.product-card:first-child{border-color:#bd1c21}
.shop-why{padding:90px 0;background:#111;color:#fff}
.shop-why p{color:#aaa}
.shop-why-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}
.why-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.why-card{background:#181818;border:1px solid #333;padding:24px}
.why-card b{font:24px Impact,"Arial Narrow",sans-serif;display:block;margin-bottom:7px}
.why-card span{font-size:12px;color:#9d9d9d;line-height:1.5}
.shop-how{padding:90px 0}
.shop-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:32px}
.shop-step{background:#fff;padding:27px;border-bottom:4px solid #222}
.shop-step strong{font:36px Impact,"Arial Narrow",sans-serif;color:#c62026}
.shop-step h3{font:25px Impact,"Arial Narrow",sans-serif;margin:8px 0}
.shop-step p{font-size:13px}
.shop-note{margin-top:26px;background:#f4f2ed;border-left:5px solid #bd1c21;padding:20px 22px;color:#555;font-size:13px;line-height:1.6}
.shop-cta{background:#a8161b;color:#fff;padding:62px 0}
.shop-cta-grid{display:flex;justify-content:space-between;align-items:center;gap:35px}
.shop-cta h2{font:50px/1 Impact,"Arial Narrow",sans-serif;margin:0}
.shop-cta p{color:#efcacc;max-width:620px;line-height:1.65}
.home-shop{padding:84px 0;background:#111;color:#fff}
.home-shop-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}
.home-shop h2{font:clamp(44px,5vw,70px)/.92 Impact,"Arial Narrow",sans-serif;margin:8px 0}
.home-shop h2 span{color:#c62026}
.home-shop p{color:#aaa;line-height:1.7}
.home-shop-card{background:#191919;border:1px solid #3a3a3a;padding:30px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.home-shop-card div{background:#111;padding:20px;border-left:4px solid #333}
.home-shop-card div:first-child{border-color:#bd1c21}
.home-shop-card b{font:22px Impact,"Arial Narrow",sans-serif;display:block}
.home-shop-card span{font-size:11px;color:#888;line-height:1.4}
@media(max-width:900px){
  .shophero-grid,.shop-intro-grid,.shop-why-grid,.home-shop-grid{grid-template-columns:1fr}
  .product-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .product-grid,.why-cards,.shop-steps,.home-shop-card{grid-template-columns:1fr}
  .shop-cta-grid{flex-direction:column;align-items:flex-start}
}

/* ---------------- Our Story / About ---------------- */
.storyhero{
  background:
    radial-gradient(circle at 82% 28%,rgba(176,22,28,.24),transparent 27%),
    linear-gradient(120deg,#050505 0%,#151515 58%,#292929 100%);
  color:#fff;padding:92px 0 78px;
}
.storyhero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:65px;align-items:center}
.storyhero h1{font:clamp(58px,7vw,98px)/.88 Impact,"Arial Narrow",sans-serif;margin:12px 0}
.storyhero h1 span{color:#c62026}
.storyhero p{color:#bbb;line-height:1.75;max-width:690px}
.tagline-panel{background:#111;border:1px solid #3a3a3a;padding:36px;position:relative;overflow:hidden}
.tagline-panel:after{content:"ODF";position:absolute;right:-12px;bottom:-35px;font:160px Impact;color:rgba(255,255,255,.035)}
.tagline-panel .tagline{font:clamp(35px,4vw,56px)/.95 Impact,"Arial Narrow",sans-serif;margin:8px 0 16px}
.tagline-panel .tagline span{color:#c62026}
.tagline-panel p{font-size:13px;max-width:430px}

.origin{padding:92px 0}
.origin-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:80px;align-items:start}
.origin h2,.people h2,.principles h2,.timeline h2,.today h2{
  font:clamp(44px,5vw,72px)/.93 Impact,"Arial Narrow",sans-serif;margin:8px 0 18px
}
.origin h2 span,.people h2 span,.principles h2 span,.timeline h2 span,.today h2 span{color:#c62026}
.origin-copy p,.people p,.principles p,.timeline p,.today p{color:#626262;line-height:1.78}
.origin-quote{background:#111;color:#fff;padding:32px;margin-top:25px;border-left:6px solid #bd1c21}
.origin-quote b{font:31px/1 Impact,"Arial Narrow",sans-serif;display:block;margin-bottom:10px}
.origin-quote span{font-size:12px;color:#aaa;line-height:1.6}

.people{padding:90px 0;background:#e7e5df}
.people-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:34px}
.person-card{background:#fff;padding:34px;border-top:6px solid #222;min-height:300px}
.person-card:first-child{border-color:#bd1c21}
.person-card .role{font-size:11px;letter-spacing:1px;font-weight:900;color:#a8161b}
.person-card h3{font:38px Impact,"Arial Narrow",sans-serif;margin:7px 0 14px}
.person-card p{font-size:13px}
.person-card ul{padding-left:18px;color:#666;font-size:12px;line-height:1.75}

.tagline-story{background:#a8161b;color:#fff;padding:82px 0}
.tagline-story-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
.tagline-story .bigline{font:clamp(48px,6vw,82px)/.9 Impact,"Arial Narrow",sans-serif;margin:0}
.tagline-story .bigline span{display:block;color:#111}
.tagline-story p{color:#f2c9cb;line-height:1.75}
.tagline-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:24px}
.tagline-step{background:rgba(0,0,0,.15);padding:20px}
.tagline-step b{font:24px Impact,"Arial Narrow",sans-serif;display:block;color:#fff}
.tagline-step span{font-size:11px;color:#f2c9cb;line-height:1.45}

.principles{padding:92px 0;background:#111;color:#fff}
.principles p{color:#aaa}
.principle-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:34px}
.principle{border:1px solid #333;background:#171717;padding:26px}
.principle strong{font:34px Impact,"Arial Narrow",sans-serif;color:#c62026}
.principle h3{font:24px Impact,"Arial Narrow",sans-serif;margin:8px 0}
.principle p{font-size:12px;line-height:1.6}

.timeline{padding:92px 0}
.timeline-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px}
.timeline-items{border-left:3px solid #222;padding-left:28px}
.timeline-item{position:relative;padding:0 0 34px 18px}
.timeline-item:before{content:"";position:absolute;left:-36px;top:5px;width:13px;height:13px;background:#bd1c21;border:4px solid #fff;box-shadow:0 0 0 2px #222}
.timeline-item b{font:28px Impact,"Arial Narrow",sans-serif}
.timeline-item p{font-size:13px;margin:6px 0 0}

.today{padding:90px 0;background:#e7e5df}
.today-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}
.cred-card{background:#fff;padding:30px;display:grid;grid-template-columns:90px 1fr;gap:24px;align-items:center;border-left:6px solid #bd1c21}
.cred-card img{width:82px;max-height:95px;object-fit:contain}
.cred-card b{font:29px Impact,"Arial Narrow",sans-serif;display:block}
.cred-card span{font-size:12px;color:#666;line-height:1.55;display:block;margin-top:6px}

.story-cta{background:#a8161b;color:#fff;padding:65px 0}
.story-cta-grid{display:flex;justify-content:space-between;align-items:center;gap:35px}
.story-cta h2{font:clamp(40px,5vw,60px)/.95 Impact,"Arial Narrow",sans-serif;margin:0}
.story-cta p{color:#f0c6c8;max-width:600px;line-height:1.6}

@media(max-width:900px){
 .storyhero-grid,.origin-grid,.tagline-story-grid,.timeline-grid,.today-grid{grid-template-columns:1fr}
 .principle-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
 .people-grid,.principle-grid,.tagline-steps{grid-template-columns:1fr}
 .story-cta-grid{flex-direction:column;align-items:flex-start}
}

/* ---------------- FAQ + Contact ---------------- */
.faqhero,.contacthero{
  background:
    radial-gradient(circle at 82% 28%,rgba(176,22,28,.22),transparent 27%),
    linear-gradient(120deg,#050505 0%,#151515 58%,#292929 100%);
  color:#fff;padding:88px 0 72px;
}
.faqhero-grid,.contacthero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}
.faqhero h1,.contacthero h1{font:clamp(56px,7vw,94px)/.9 Impact,"Arial Narrow",sans-serif;margin:12px 0}
.faqhero h1 span,.contacthero h1 span{color:#c62026}
.faqhero p,.contacthero p{color:#bbb;line-height:1.75;max-width:700px}
.faq-aside,.contact-aside{background:#111;border:1px solid #3a3a3a;padding:30px}
.faq-aside h3,.contact-aside h3{font:32px Impact,"Arial Narrow",sans-serif;margin:0 0 10px}
.faq-aside p,.contact-aside p{font-size:13px}

.faq-section{padding:88px 0}
.faq-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:38px;align-items:start}
.faq-nav{position:sticky;top:22px;background:#111;color:#fff;padding:24px}
.faq-nav b{font:24px Impact,"Arial Narrow",sans-serif;display:block;margin-bottom:13px}
.faq-nav a{display:block;color:#bbb;text-decoration:none;font-size:12px;padding:8px 0;border-bottom:1px solid #2e2e2e}
.faq-nav a:hover{color:#fff}
.faq-group{margin-bottom:46px}
.faq-group h2{font:38px Impact,"Arial Narrow",sans-serif;margin:0 0 14px}
.faq-item{border-top:1px solid #d8d8d8}
.faq-question{
  width:100%;background:none;border:0;padding:18px 0;text-align:left;cursor:pointer;
  display:flex;justify-content:space-between;gap:20px;font:21px Impact,"Arial Narrow",sans-serif;color:#222
}
.faq-question span{font:24px Arial}
.faq-answer{display:none;padding:0 0 20px;color:#666;line-height:1.7;font-size:13px}
.faq-item.open .faq-answer{display:block}
.faq-item.open .faq-question span{transform:rotate(45deg)}

.contact-section{padding:88px 0}
.contact-layout{display:grid;grid-template-columns:1.08fr .92fr;gap:44px;align-items:start}
.contact-card{background:#fff;padding:34px;box-shadow:0 14px 40px rgba(0,0,0,.08)}
.contact-card h2{font:42px Impact,"Arial Narrow",sans-serif;margin:0 0 8px}
.contact-card > p{color:#666;line-height:1.65}
.contact-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:28px}
.contact-mini{background:#f3f1ec;padding:20px;border-top:4px solid #222}
.contact-mini:first-child{border-color:#bd1c21}
.contact-mini b{font:22px Impact,"Arial Narrow",sans-serif;display:block;margin-bottom:6px}
.contact-mini span{font-size:11px;color:#666;line-height:1.45}
.contact-side{background:#111;color:#fff;padding:30px}
.contact-side h3{font:31px Impact,"Arial Narrow",sans-serif;margin:0 0 11px}
.contact-side p{color:#aaa;font-size:13px;line-height:1.65}
.contact-list{margin-top:20px;border-top:1px solid #333;padding-top:16px;font-size:13px;line-height:1.9}
.contact-list a{color:#fff}
.contact-note{margin-top:14px;background:#a8161b;padding:20px}
.contact-note b{font:24px Impact,"Arial Narrow",sans-serif;display:block;margin-bottom:5px}
.contact-note span{font-size:11px;color:#f1c6c8;line-height:1.5}

@media(max-width:900px){
  .faqhero-grid,.contacthero-grid,.faq-layout,.contact-layout{grid-template-columns:1fr}
  .faq-nav{position:static}
}
@media(max-width:620px){
  .contact-mini-grid{grid-template-columns:1fr}
}

/* ---------------- V10 Store Finder ---------------- */
.store-quote-actions{display:flex;align-items:center;gap:8px}
.store-btn{
  display:inline-flex;align-items:center;justify-content:center;padding:12px 15px;
  border:1px solid #d9d9d9;color:#fff!important;text-decoration:none;font-weight:900;
  font-size:11px;letter-spacing:.35px;white-space:nowrap
}
.store-btn:hover{background:#fff;color:#111!important}
.finder-home{padding:62px 0;background:#111;color:#fff;border-top:1px solid #2b2b2b;border-bottom:1px solid #2b2b2b}
.finder-home-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:52px;align-items:center}
.finder-home h2{font:clamp(42px,5vw,66px)/.94 Impact,"Arial Narrow",sans-serif;margin:8px 0 12px}
.finder-home h2 span{color:#c62026}
.finder-home p{color:#aaa;line-height:1.65}
.store-search-wrap{position:relative}
.store-search{
  width:100%;box-sizing:border-box;background:#fff;border:0;padding:20px 22px;
  font-size:16px;color:#222;outline:none
}
.store-search-results{
  position:absolute;left:0;right:0;top:100%;z-index:30;background:#fff;color:#222;
  box-shadow:0 16px 35px rgba(0,0,0,.28);max-height:360px;overflow:auto;display:none
}
.store-search-results.show{display:block}
.store-result{display:block;padding:15px 18px;border-top:1px solid #eee;text-decoration:none;color:#222}
.store-result:hover{background:#f2f0eb}
.store-result b{display:block;font-size:13px}
.store-result span{display:block;font-size:11px;color:#777;margin-top:3px}
.store-search-hint{font-size:11px;color:#888;margin-top:9px}
.store-browse-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}
.store-browse-links a{border:1px solid #3d3d3d;color:#ddd;text-decoration:none;padding:9px 11px;font-size:10px;font-weight:900}
.store-browse-links a:hover{border-color:#c62026;color:#fff}

.storefinder-hero{
  background:radial-gradient(circle at 80% 20%,rgba(176,22,28,.22),transparent 28%),
  linear-gradient(120deg,#050505,#171717 62%,#292929);color:#fff;padding:86px 0 65px
}
.storefinder-hero-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:55px;align-items:center}
.storefinder-hero h1{font:clamp(56px,7vw,92px)/.9 Impact,"Arial Narrow",sans-serif;margin:10px 0}
.storefinder-hero h1 span{color:#c62026}
.storefinder-hero p{color:#bbb;line-height:1.7}
.finder-box{background:#111;border:1px solid #3b3b3b;padding:30px}
.finder-box h2{font:32px Impact,"Arial Narrow",sans-serif;margin:0 0 12px}
.store-directory{padding:82px 0}
.directory-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:28px}
.directory-head h2{font:clamp(40px,5vw,62px)/.95 Impact,"Arial Narrow",sans-serif;margin:5px 0}
.directory-head h2 span{color:#c62026}
.directory-head p{color:#666;max-width:580px;line-height:1.6}
.store-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}
.store-filter{border:1px solid #ccc;background:#fff;padding:10px 13px;cursor:pointer;font-weight:900;font-size:10px}
.store-filter.active,.store-filter:hover{background:#111;color:#fff;border-color:#111}
.store-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.store-card{display:flex;justify-content:space-between;gap:20px;align-items:center;background:#f2f0eb;padding:20px;border-left:4px solid #222}
.store-card:hover{border-left-color:#bd1c21}
.store-card h3{font:24px Impact,"Arial Narrow",sans-serif;margin:0 0 4px}
.store-card p{font-size:11px;color:#777;margin:0}
.store-card a{font-size:11px;font-weight:900;color:#a8161b;text-decoration:none;white-space:nowrap}
.store-empty{display:none;padding:30px;background:#f2f0eb;color:#666}
.store-start{padding:75px 0;background:#a8161b;color:#fff}
.store-start-grid{display:flex;justify-content:space-between;gap:45px;align-items:center}
.store-start h2{font:clamp(40px,5vw,60px)/.95 Impact,"Arial Narrow",sans-serif;margin:0 0 8px}
.store-start p{color:#f1c9cb;max-width:680px;line-height:1.6}
.platform-note{font-size:10px;color:#888;margin-top:16px;line-height:1.5}

@media(max-width:1000px){
  .store-quote-actions{gap:5px}.store-btn{padding:10px 9px;font-size:9px}
}
@media(max-width:900px){
  .finder-home-grid,.storefinder-hero-grid{grid-template-columns:1fr}
  .store-list{grid-template-columns:1fr}
  .directory-head,.store-start-grid{align-items:flex-start;flex-direction:column}
  .store-quote-actions{display:contents}
}

/* ---------------- V11 refinement ---------------- */
.work-hero,.industry-hero-v11{
  background:radial-gradient(circle at 83% 25%,rgba(176,22,28,.22),transparent 28%),
  linear-gradient(120deg,#050505 0%,#151515 60%,#292929 100%);color:#fff;padding:86px 0 68px
}
.work-hero-grid,.industry-hero-grid-v11{display:grid;grid-template-columns:1.08fr .92fr;gap:55px;align-items:center}
.work-hero h1,.industry-hero-v11 h1{font:clamp(56px,7vw,92px)/.9 Impact,"Arial Narrow",sans-serif;margin:10px 0}
.work-hero h1 span,.industry-hero-v11 h1 span{color:#c62026}
.work-hero p,.industry-hero-v11 p{color:#bbb;line-height:1.7;max-width:700px}
.work-proof{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.work-proof div{background:#111;border:1px solid #383838;padding:22px}
.work-proof b{display:block;font:26px Impact,"Arial Narrow",sans-serif;margin-bottom:5px}
.work-proof span{font-size:11px;color:#999;line-height:1.45}
.work-section,.industry-content-v11{padding:82px 0}
.work-intro{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;align-items:start}
.work-intro h2,.industry-content-v11 h2{font:clamp(40px,5vw,62px)/.95 Impact,"Arial Narrow",sans-serif;margin:6px 0 14px}
.work-intro p,.industry-content-v11 p{color:#666;line-height:1.7}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:38px}
.process-card{background:#f2f0eb;padding:27px;border-top:5px solid #222}
.process-card:nth-child(2){border-color:#a8161b}
.process-card h3{font:27px Impact,"Arial Narrow",sans-serif;margin:0 0 8px}
.process-card p{font-size:12px;color:#666;line-height:1.6}
.real-work{padding:78px 0;background:#111;color:#fff}
.real-work-head{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:28px}
.real-work h2{font:clamp(42px,5vw,64px)/.95 Impact,"Arial Narrow",sans-serif;margin:6px 0}
.real-work h2 span{color:#c62026}
.real-work p{color:#aaa;max-width:620px;line-height:1.6}
.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.photo-placeholder{min-height:245px;border:1px dashed #555;background:linear-gradient(145deg,#191919,#272727);display:flex;align-items:end;padding:20px}
.photo-placeholder b{font:23px Impact,"Arial Narrow",sans-serif}
.photo-placeholder span{display:block;color:#888;font-size:10px;margin-top:5px}
.capability-strip{padding:68px 0}
.capability-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}
.capability-grid a{background:#f2f0eb;color:#222;text-decoration:none;padding:22px 16px;border-bottom:4px solid #222}
.capability-grid a:hover{border-color:#a8161b}
.capability-grid b{font:22px Impact,"Arial Narrow",sans-serif;display:block}
.capability-grid span{font-size:10px;color:#777}
.industry-body-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:45px}
.industry-side-v11{background:#111;color:#fff;padding:28px}
.industry-side-v11 h3{font:30px Impact,"Arial Narrow",sans-serif;margin:0 0 10px}
.industry-side-v11 p{color:#aaa;font-size:12px}
.industry-list-v11{margin:20px 0 0;padding:0;list-style:none}
.industry-list-v11 li{border-top:1px solid #333;padding:11px 0;font-size:12px}
.use-grid-v11{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-top:35px}
.use-card-v11{background:#f2f0eb;padding:24px}
.use-card-v11 h3{font:25px Impact,"Arial Narrow",sans-serif;margin:0 0 8px}
.use-card-v11 p{font-size:12px;margin:0}
.related-v11{padding:65px 0;background:#f2f0eb}
.related-links-v11{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}
.related-links-v11 a{background:#111;color:#fff;text-decoration:none;padding:12px 15px;font-size:10px;font-weight:900}
.cta-v11{padding:70px 0;background:#a8161b;color:#fff}
.cta-v11 .wrap{display:flex;justify-content:space-between;align-items:center;gap:40px}
.cta-v11 h2{font:clamp(40px,5vw,60px)/.95 Impact,"Arial Narrow",sans-serif;margin:0 0 8px}
.cta-v11 p{color:#f2c8ca;max-width:650px;line-height:1.6}
@media(max-width:900px){
 .work-hero-grid,.industry-hero-grid-v11,.work-intro,.industry-body-grid{grid-template-columns:1fr}
 .process-grid,.photo-grid,.use-grid-v11{grid-template-columns:1fr 1fr}
 .capability-grid{grid-template-columns:1fr 1fr}
 .cta-v11 .wrap,.real-work-head{align-items:flex-start;flex-direction:column}
}
@media(max-width:580px){
 .process-grid,.photo-grid,.use-grid-v11,.capability-grid,.work-proof{grid-template-columns:1fr}
}

/* V11.2 — original company tagline promoted to hero */
.hero-origin-line{
  margin:18px 0 10px;
  font-family:Impact,"Arial Narrow",sans-serif;
  font-size:clamp(18px,1.65vw,25px);
  letter-spacing:1.6px;
  color:#fff;
  text-transform:uppercase;
}

/* V11.3 — preserve the hanging header logo without covering homepage hero copy */
@media (min-width:901px){
  body.home .hero-copy,
  body.front-page .hero-copy{
    padding-top:68px;
  }
}


/* ===== V11.5 RECOVERED PAGE-SPECIFIC STYLES ===== */

/* From approved prototype: custom-patches.html */
.pagehero{background:radial-gradient(circle at 80% 30%,#393939,#111 48%,#050505 80%);color:white;padding:90px 0}
.phgrid,.twocol,.processgrid{display:grid;grid-template-columns:1.2fr .8fr;gap:75px;align-items:center}
.crumb{font-size:10px;letter-spacing:2px;color:#888;margin-bottom:30px}.pagehero h1,.content h2,.darkband h2,.process h2,.serve h2{font:clamp(52px,6vw,88px)/.92 Impact;margin:12px 0}.pagehero h1 span,.content h2 span,.process h2 span,.serve h2 span{color:#c62026}.pagehero p,.content p,.process p,.serve p{line-height:1.8;color:#bbb}.facts{border-left:5px solid #c62026;background:#171717;padding:25px}.facts div{padding:16px;border-bottom:1px solid #333}.facts div:last-child{border:0}.facts b{display:block;font:23px Impact}.facts span{font-size:12px;color:#999}.content,.process,.serve{padding:95px 0}.content p,.process p,.serve p{color:#626262}.usegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:45px}.use{background:white;padding:27px;border-bottom:4px solid #222}.use b{font:25px Impact}.use p{font-size:13px}.callout{background:white;border-left:5px solid #c62026;padding:20px;font-weight:bold;line-height:1.6}.darkband{background:#111;color:white;padding:90px 0}.darkband p{color:#bbb;line-height:1.8}.compare{display:grid;grid-template-columns:1fr 1fr;gap:12px}.compare article{background:#1e1e1e;border-top:5px solid #555;padding:27px}.compare article:first-child{border-color:#c62026}.compare h3{font:27px Impact;margin:0 0 12px}.compare li{color:#bbb;font-size:13px;line-height:1.8}.steps article{display:grid;grid-template-columns:55px 1fr;background:white;padding:22px;margin-bottom:8px}.steps b{font:34px Impact;color:#c62026}.steps h3{font:23px Impact;margin:0 0 5px}.steps p{font-size:13px;margin:0}.serve{background:#e4e2dc}.serve ul{columns:2;line-height:2;color:#444}.redcta{background:#a8161b;color:white;padding:60px 0}.ctarow{display:flex;justify-content:space-between;align-items:center;gap:40px}.ctarow h2{font:46px Impact;margin:0}.ctarow p{color:#f0c9ca;max-width:650px;line-height:1.7}
.storefinder{background:#fff;padding:35px;margin-top:35px}.storefinder input{width:100%;padding:14px;border:1px solid #bbb}.storelist{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.storeitem{background:#f2f0eb;padding:18px;font-weight:700}
@media(max-width:800px){.phgrid,.twocol,.processgrid{grid-template-columns:1fr}.usegrid,.storelist{grid-template-columns:1fr 1fr}.ctarow{flex-direction:column;align-items:flex-start}}@media(max-width:520px){.usegrid,.compare,.storelist{grid-template-columns:1fr}.serve ul{columns:1}}

/* From approved prototype: embroidery.html */
.pagehero{background:radial-gradient(circle at 80% 30%,#393939,#111 48%,#050505 80%);color:white;padding:90px 0}.phgrid,.twocol,.processgrid{display:grid;grid-template-columns:1.2fr .8fr;gap:75px;align-items:center}.crumb{font-size:10px;letter-spacing:2px;color:#888;margin-bottom:30px}.pagehero h1,.content h2,.darkband h2,.process h2,.serve h2{font:clamp(52px,6vw,88px)/.92 Impact;margin:12px 0}.pagehero h1 span,.content h2 span,.process h2 span,.serve h2 span{color:#c62026}.pagehero p,.content p,.process p,.serve p{line-height:1.8;color:#bbb}.facts{border-left:5px solid #c62026;background:#171717;padding:25px}.facts div{padding:16px;border-bottom:1px solid #333}.facts div:last-child{border:0}.facts b{display:block;font:23px Impact}.facts span{font-size:12px;color:#999}.content,.process,.serve{padding:95px 0}.content p,.process p,.serve p{color:#626262}.usegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:45px}.use{background:white;padding:27px;border-bottom:4px solid #222}.use b{font:25px Impact}.use p{font-size:13px}.callout{background:white;border-left:5px solid #c62026;padding:20px;font-weight:bold;line-height:1.6}.darkband{background:#111;color:white;padding:90px 0}.darkband p{color:#bbb;line-height:1.8}.compare{display:grid;grid-template-columns:1fr 1fr;gap:12px}.compare article{background:#1e1e1e;border-top:5px solid #555;padding:27px}.compare article:first-child{border-color:#c62026}.compare h3{font:27px Impact;margin:0 0 12px}.compare li{color:#bbb;font-size:13px;line-height:1.8}.steps article{display:grid;grid-template-columns:55px 1fr;background:white;padding:22px;margin-bottom:8px}.steps b{font:34px Impact;color:#c62026}.steps h3{font:23px Impact;margin:0 0 5px}.steps p{font-size:13px;margin:0}.serve{background:#e4e2dc}.serve ul{columns:2;line-height:2;color:#444}.redcta{background:#a8161b;color:white;padding:60px 0}.ctarow{display:flex;justify-content:space-between;align-items:center;gap:40px}.ctarow h2{font:46px Impact;margin:0}.ctarow p{color:#f0c9ca;max-width:650px;line-height:1.7}@media(max-width:800px){.phgrid,.twocol,.processgrid{grid-template-columns:1fr}.usegrid{grid-template-columns:1fr 1fr}.ctarow{flex-direction:column;align-items:flex-start}}@media(max-width:520px){.usegrid,.compare{grid-template-columns:1fr}.serve ul{columns:1}}

/* From approved prototype: fire-ems-apparel.html */
.indhero{background:radial-gradient(circle at 78% 30%,#3a3a3a,#101010 52%,#050505 85%);color:white;padding:92px 0}
.indgrid{display:grid;grid-template-columns:1.15fr .85fr;gap:65px;align-items:center}.crumb{font-size:10px;letter-spacing:2px;color:#888;margin-bottom:28px}
.indhero h1,.content h2,.dark h2,.storesec h2,.proofsec h2{font:clamp(52px,6vw,88px)/.92 Impact;margin:12px 0}.indhero h1 span,.content h2 span,.storesec h2 span,.proofsec h2 span{color:#c62026}
.indhero p,.content p,.dark p,.storesec p,.proofsec p{line-height:1.8;color:#bbb}.iaffcard{background:#151515;border:1px solid #555;padding:28px;text-align:center}.iaffcard img{width:125px;max-width:45%;height:auto}.iaffcard h3{font:28px Impact;margin:14px 0 6px}.iaffcard p{font-size:13px;color:#aaa}
.band{background:#a8161b;color:#fff}.bandgrid{display:grid;grid-template-columns:repeat(4,1fr)}.bandgrid div{padding:24px;border-right:1px solid rgba(255,255,255,.25)}.bandgrid b{font:22px Impact}.bandgrid span{display:block;font-size:11px;color:#f0c8ca;margin-top:5px}
.content,.storesec,.proofsec{padding:95px 0}.twocol{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.content p,.storesec p,.proofsec p{color:#626262}
.servicegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:40px}.servicegrid a{background:#fff;padding:28px;border-bottom:4px solid #222}.servicegrid b{font:25px Impact}.servicegrid span{display:block;color:#666;font-size:13px;line-height:1.6;margin-top:8px}
.dark{background:#111;color:#fff;padding:95px 0}.darkgrid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.dark ul{columns:2;line-height:2;color:#bbb}
.storesec{background:#e4e2dc}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:35px}.step{background:#fff;padding:24px}.step b{font:34px Impact;color:#c62026}.step h3{font:22px Impact;margin:10px 0}.step p{font-size:13px}
.proofsec .proofcards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.proofcard{background:#fff;padding:28px;border-top:5px solid #c62026}.proofcard h3{font:24px Impact;margin:0 0 10px}.proofcard p{font-size:13px}
.redcta{background:#a8161b;color:white;padding:60px 0}.ctarow{display:flex;justify-content:space-between;align-items:center;gap:40px}.ctarow h2{font:46px Impact;margin:0}.ctarow p{color:#f0c9ca;max-width:680px;line-height:1.7}
@media(max-width:800px){.indgrid,.twocol,.darkgrid{grid-template-columns:1fr}.bandgrid,.steps{grid-template-columns:1fr 1fr}.servicegrid,.proofsec .proofcards{grid-template-columns:1fr 1fr}.ctarow{flex-direction:column;align-items:flex-start}}
@media(max-width:520px){.bandgrid,.steps,.servicegrid,.proofsec .proofcards{grid-template-columns:1fr}.dark ul{columns:1}}

/* V11.5 — interior pages: preserve hanging logo without covering breadcrumbs/headlines */
@media (min-width:901px){
  body:not(.home) .pagehero,
  body:not(.home) .storefinder-hero,
  body:not(.home) .work-hero,
  body:not(.home) .industry-hero-v11{
    padding-top:145px;
  }
}

/* Prevent page content from slipping under the logo on layouts without a named hero class */
@media (min-width:901px){
  body:not(.home) main > section:first-child{
    position:relative;
  }
}

/* V11.6 — service-page process section cleanup
   Scope these rules to .process so other pages' generic .steps grids cannot override them. */
.process .processgrid{
  grid-template-columns:.78fr 1.22fr;
  gap:64px;
  align-items:start;
}
.process .steps{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:0;
}
.process .steps article{
  display:grid;
  grid-template-columns:58px 1fr;
  gap:4px 12px;
  align-items:start;
  min-height:190px;
  margin:0;
  padding:28px 26px;
  background:#fff;
  border-top:5px solid #222;
  box-shadow:0 8px 22px rgba(0,0,0,.05);
}
.process .steps article:nth-child(2),
.process .steps article:nth-child(4){
  border-top-color:#c62026;
}
.process .steps b{
  font:38px/1 Impact,"Arial Narrow",sans-serif;
  color:#c62026;
}
.process .steps h3{
  font:27px/1.02 Impact,"Arial Narrow",sans-serif;
  margin:0 0 10px;
}
.process .steps p{
  grid-column:2;
  font-size:13px;
  line-height:1.65;
  margin:0;
  color:#626262;
}
@media(max-width:980px){
  .process .processgrid{grid-template-columns:1fr;gap:34px}
}
@media(max-width:680px){
  .process .steps{grid-template-columns:1fr}
  .process .steps article{min-height:0}
}

/* V11.7 managed Our Work cards */
.odf-managed-work .work-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  margin-top:28px;
}
.odf-managed-work .work-card{background:#111;color:#fff;overflow:hidden}
.odf-managed-work .work-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.odf-managed-work .work-card-copy{padding:22px}
.odf-managed-work .work-card h3{margin:5px 0 8px}
.odf-managed-work .work-card p{color:#d3d3d3;margin:0}
@media(max-width:900px){.odf-managed-work .work-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.odf-managed-work .work-grid{grid-template-columns:1fr}}

/* V11.8 managed project extras */
.odf-managed-work .work-customer{font-weight:800;color:#fff;margin:0 0 8px}
.odf-managed-work .work-thumbs{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}
.odf-managed-work .work-thumbs img{width:62px;height:48px;object-fit:cover;border:1px solid rgba(255,255,255,.25)}

/* V11.11 — optional editable homepage hero background */
.hero.hero-custom-background{
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  isolation:isolate;
}
.hero.hero-custom-background::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(0,0,0,var(--odf-hero-overlay,.40));
  z-index:0;
  pointer-events:none;
}
.hero.hero-custom-background .apparatus-lines{z-index:1;}
.hero.hero-custom-background .hero-grid{z-index:2;}

/* V11.13 quote submission UX */
.odf-hp{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
#quoteForm button[disabled]{opacity:.65;cursor:wait}
.success-box.show{display:block!important}

/* V11.14 contact form */
#contactForm button[disabled]{opacity:.65;cursor:wait}
#contactForm .success-box.show{display:block!important}

/* V11.15 store finder */
.store-directory-status{margin:0 0 14px;font-size:11px;font-weight:800;letter-spacing:.12em;color:#777}
.store-result-empty{cursor:default}
.store-card a{white-space:nowrap}

/* V11.20.2: match Find Your Store to Get A Quote dimensions */
.nav .store-quote-actions .store-btn{
  box-sizing:border-box;
  min-width:0;
  padding:16px 21px;
  border:1px solid #d9d9d9;
  background:transparent;
  color:#fff!important;
  font-weight:700;
  font-size:11px;
  line-height:normal;
  letter-spacing:.2px;
}
.nav .store-quote-actions .store-btn:hover{
  background:#fff;
  color:#111!important;
}
@media(max-width:1000px) and (min-width:901px){
  .nav .store-quote-actions .store-btn{
    padding:16px 14px;
    font-size:10px;
  }
}

/* V11.20.3: force the two desktop header CTAs to identical dimensions.
   This is deliberately last in the stylesheet so older responsive store-btn rules cannot shrink it. */
.nav .store-quote-actions{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
}
.nav .store-quote-actions > a.store-btn,
.nav .store-quote-actions > a.quote{
  box-sizing:border-box !important;
  width:108px !important;
  height:44px !important;
  min-width:108px !important;
  padding:0 8px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  white-space:nowrap !important;
  text-align:center !important;
  line-height:1 !important;
}
.nav .store-quote-actions > a.store-btn{
  font-size:9px !important;
  font-weight:700 !important;
  letter-spacing:.08em !important;
  border:1px solid #d9d9d9 !important;
  background:#111 !important;
  color:#fff !important;
}
.nav .store-quote-actions > a.quote{
  font-size:10px !important;
  font-weight:900 !important;
}
@media(max-width:900px){
  .nav .store-quote-actions > a.store-btn,
  .nav .store-quote-actions > a.quote{
    width:auto !important;
    min-width:0 !important;
    height:auto !important;
    padding:12px 14px !important;
  }
}

/* V11.20.4: restore original Quote typography while keeping equal button boxes */
.nav .store-quote-actions > a.store-btn,
.nav .store-quote-actions > a.quote{
  width:108px !important;
  min-width:108px !important;
  height:44px !important;
  padding:0 8px !important;
  box-sizing:border-box !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  white-space:nowrap !important;
  text-align:center !important;
}

/* FIND YOUR STORE: lighter, cleaner type for the longer label */
.nav .store-quote-actions > a.store-btn{
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:10.5px !important;
  font-weight:600 !important;
  line-height:1 !important;
  letter-spacing:.02em !important;
  background:#111 !important;
  color:#fff !important;
  border:1px solid #d9d9d9 !important;
}

/* GET A QUOTE: restore the original bold Impact nav treatment */
.nav .store-quote-actions > a.quote{
  font-family:Impact,"Arial Narrow",sans-serif !important;
  font-size:16px !important;
  font-weight:400 !important;
  line-height:1 !important;
  letter-spacing:.7px !important;
  background:#bd1c21 !important;
  color:#fff !important;
  border:1px solid #bd1c21 !important;
}

/* V11.21: FAQ answer engine + contextual internal links */
.odf-answer-faq{padding:64px 0;background:#0d1116;border-top:1px solid rgba(255,255,255,.08)}
.odf-answer-faq .wrap,.odf-related-links .wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.odf-answer-faq h2{margin:0 0 12px;font-size:clamp(1.9rem,4vw,3rem)}
.odf-answer-faq-intro{max-width:760px;opacity:.85;margin:0 0 26px}
.odf-answer-faq-list{display:grid;gap:10px;max-width:950px}
.odf-answer-faq-item{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.035)}
.odf-answer-faq-item summary{cursor:pointer;padding:18px 52px 18px 20px;font-weight:800;position:relative}
.odf-answer-faq-item summary::after{content:"+";position:absolute;right:20px;top:14px;font-size:24px}
.odf-answer-faq-item[open] summary::after{content:"–"}
.odf-answer-faq-copy{padding:0 20px 18px;max-width:850px;line-height:1.65;opacity:.88}
.odf-answer-faq-copy p{margin:0}
.odf-answer-faq-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.odf-related-links{padding:16px 0;background:#090c10;border-top:1px solid rgba(255,255,255,.07)}
.odf-related-links .wrap{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.odf-related-links strong{font-size:11px;letter-spacing:.12em;opacity:.65;margin-right:3px}
.odf-related-links a{font-size:12px;font-weight:700;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.25);padding-bottom:2px}

/* V11.21.1: make FAQ accordion interaction explicit and reliable */
.odf-answer-faq-item > summary{
  user-select:none;
  -webkit-user-select:none;
  list-style:none;
}
.odf-answer-faq-item > summary::-webkit-details-marker{display:none}
.odf-answer-faq-item > summary:focus-visible{
  outline:2px solid #fff;
  outline-offset:-4px;
}

/* V11.21.2: functional original FAQ accordions */
.faq-question:focus-visible{
  outline:2px solid #bd1c21;
  outline-offset:4px;
}
.faq-item.open .faq-answer{
  display:block;
}
.faq-item .faq-question span{
  transition:transform .18s ease;
}
.faq-item.open .faq-question span{
  transform:rotate(45deg);
}

/* V11.22.1 branded Find Your Store CTA */
@media (min-width:901px){
 .nav a.find-store,.nav .find-store,.nav a[href*="find-your-store"]{
  width:108px;height:44px;box-sizing:border-box;display:inline-flex;
  align-items:center;justify-content:center;padding:0 10px;
  font-family:Impact,"Arial Narrow",sans-serif !important;
  font-size:13px !important;font-weight:400 !important;line-height:1 !important;
  letter-spacing:.35px !important;text-transform:uppercase;white-space:nowrap;
 }
}

/* V11.22.2: exact header Store Finder styling */
@media (min-width:901px){
  .nav .store-quote-actions .store-btn{
    width:108px !important;
    height:44px !important;
    box-sizing:border-box !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 8px !important;
    font-family:Impact,"Arial Narrow",sans-serif !important;
    font-size:14px !important;
    font-weight:400 !important;
    line-height:1 !important;
    letter-spacing:.55px !important;
    text-transform:uppercase !important;
    white-space:nowrap !important;
  }
}

/* V11.22.3 Find Your Store — industrial ODF typography */
@media (min-width:901px){
  .nav .store-quote-actions .store-btn{
    width:108px!important;
    height:44px!important;
    box-sizing:border-box!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0 8px!important;
    font-family:Impact,"Arial Narrow",sans-serif!important;
    font-size:15px!important;
    font-weight:400!important;
    line-height:1!important;
    letter-spacing:.45px!important;
    text-transform:uppercase!important;
    white-space:nowrap!important;
    border:1px solid #d9d9d9!important;
  }
}

/* V11.23 branded 404 */
.odf-404-hero{min-height:52vh;display:flex;align-items:center;padding:90px 0 70px;background:#0d1116}
.odf-404-hero .wrap{max-width:900px;margin:0 auto;padding:0 24px}
.odf-404-hero h1{font-size:clamp(2.4rem,6vw,5rem);line-height:.95;margin:8px 0 18px}
.odf-404-hero p:not(.eyebrow){max-width:720px;font-size:1.05rem;line-height:1.65;opacity:.86}
.odf-404-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}

/* V11.23.1 — 404 contrast correction */
.odf-404,
.odf-404-hero{
  color:#fff !important;
}
.odf-404-hero .eyebrow{
  color:#e1282d !important;
  opacity:1 !important;
}
.odf-404-hero h1{
  color:#fff !important;
  opacity:1 !important;
  text-shadow:0 2px 18px rgba(0,0,0,.45);
}
.odf-404-hero p:not(.eyebrow){
  color:#e6e8eb !important;
  opacity:.92 !important;
}
.odf-404-hero .btn{
  color:#fff !important;
}

/* ===== V11.24 MOBILE / FUNCTIONALITY HARDENING ===== */
#toggle{
  min-width:44px;
  min-height:44px;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
#toggle:focus-visible,
#nav a:focus-visible,
.store-filter:focus-visible,
.button:focus-visible,
.btn:focus-visible{
  outline:2px solid #fff;
  outline-offset:3px;
}
.store-filter:focus-visible{outline-color:#a8161b}

@media(max-width:850px){
  header{z-index:100}
  #toggle{display:inline-flex}
  .nav nav{
    max-height:calc(100vh - 82px);
    overflow-y:auto;
    overscroll-behavior:contain;
    gap:0;
    padding:18px 21px 24px;
    border-top:1px solid #2d2d2d;
    box-shadow:0 18px 35px rgba(0,0,0,.45);
  }
  body.odf-mobile-nav-open{overflow:hidden}
  .nav nav > a,
  .nav nav .dropbtn{
    width:100%;
    min-height:44px;
    display:flex;
    align-items:center;
    padding:11px 4px;
    border-bottom:1px solid #242424;
  }
  .nav nav .dropbtn{justify-content:space-between}
  .nav nav .dropdown-menu{
    display:none;
    visibility:visible;
    opacity:1;
    pointer-events:auto;
    position:static;
    transform:none;
    box-shadow:none;
    border:0;
    background:#111;
    margin:0;
    padding:2px 0 8px 14px;
  }
  .nav nav .dropdown.open .dropdown-menu{display:block}
  .nav nav .dropdown-menu a{
    min-height:42px;
    display:flex;
    align-items:center;
    padding:9px 10px;
    white-space:normal;
  }
  .store-quote-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr;
    width:100%;
    gap:9px!important;
    margin-top:16px;
  }
  .nav .store-quote-actions > a.store-btn,
  .nav .store-quote-actions > a.quote{
    width:100%!important;
    min-width:0!important;
    height:46px!important;
    padding:0 10px!important;
  }
  .logo{width:150px}
  .logo img{width:145px;top:4px}
}

@media(max-width:550px){
  .alert .wrap{min-height:28px;align-items:center}
  .hero-grid{padding:54px 0 60px}
  .hero h1{font-size:clamp(46px,15vw,58px)}
  .hero-copy>p{font-size:16px;line-height:1.6}
  .hero-origin-line{font-size:18px}
  .actions{width:100%}
  .actions .button{width:100%}
  .faqhero,.contacthero,.quotehero,.storefinder-hero,.storyhero,.work-hero,.industry-hero-v11{padding-top:58px;padding-bottom:52px}
  .quote-form-wrap,.contact-card,.finder-box{padding:22px 16px}
  .faq-section,.contact-section,.store-directory,.work-section,.industry-content-v11{padding-top:58px;padding-bottom:58px}
  .faq-question{font-size:19px;line-height:1.1}
  .faq-answer{font-size:14px}
  .store-card{align-items:flex-start;flex-direction:column;gap:10px}
  .store-card a{white-space:normal}
  .store-search{font-size:16px;padding:17px 16px}
  .directory-head{margin-bottom:20px}
  .store-filters{display:grid;grid-template-columns:1fr 1fr}
  .store-filter{min-height:44px}
  input,select,textarea,button{font-size:16px}
}

@media(max-width:390px){
  .store-quote-actions{grid-template-columns:1fr}
  .store-filters{grid-template-columns:1fr}
}

/* ===== V11.24.1 MOBILE LOGO / MENU CLEARANCE =====
   The desktop logo intentionally hangs below the header. On mobile, when the
   navigation opens, reserve enough top clearance so the first menu item starts
   below the hanging logo instead of underneath it. */
@media(max-width:850px){
  .nav nav.open{
    padding-top:132px;
  }
}
@media(max-width:550px){
  .nav nav.open{
    padding-top:126px;
  }
}


/* ===== V11.25 PERFORMANCE ===== */
/* Let browsers skip expensive paint/layout work for off-screen content.
   Intrinsic size prevents scrollbar jumps while sections are skipped. */
@supports (content-visibility:auto) {
  main > section:not(.hero):not(.faqhero):not(.contacthero):not(.quotehero):not(.storefinder-hero):not(.storyhero):not(.work-hero) {
    content-visibility:auto;
    contain-intrinsic-size:auto 700px;
  }
}


/* V11.25.1 — preserve the approved hanging logo proportions. */
.logo img{height:auto!important;aspect-ratio:auto!important}


/* ===== V11.26 TAGLINE TRADEMARK ===== */
.odf-tm,
.odf-tm-inline{
  font-family:Arial,Helvetica,sans-serif;
  font-size:.28em;
  font-weight:700;
  line-height:1;
  vertical-align:super;
  margin-left:.08em;
  letter-spacing:0;
  text-shadow:none;
}
.hero h1 .odf-tm{
  position:relative;
  top:-.08em;
}

/* V11.26.1 — visible trademark on the actual homepage hero tagline */
.hero h1 .odf-tm{
  display:inline!important;
  position:relative!important;
  top:-.55em!important;
  margin-left:.08em!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:.24em!important;
  font-weight:700!important;
  line-height:1!important;
  vertical-align:baseline!important;
  letter-spacing:0!important;
  color:inherit!important;
  text-shadow:none!important;
}


/* ===== V11.27.2 NOT-SURE CARD ROOT-CAUSE FIX =====
   A generic .dark section rule later in the stylesheet was overriding the
   padding of the homepage article.card.dark. Restore the standard .card
   geometry while retaining only its dark color treatment. */
.cards .card.dark{
  padding:31px!important;
  min-height:285px!important;
  position:relative!important;
  display:block!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
.cards .card.dark h3{
  margin:50px 0 12px!important;
}
.cards .card.dark p{
  margin:1em 0!important;
  color:#aaa!important;
  line-height:1.6!important;
  font-size:14px!important;
}
.cards .card.dark a{
  position:absolute!important;
  bottom:27px!important;
  left:31px!important;
  margin:0!important;
  padding:0!important;
}


/* ===== V11.28 INTERIOR CONTENT-LAYER FIX =====
   V11.20 SEO depth styles were present only in style.css, while this theme
   intentionally enqueues assets/styles.css. Production therefore rendered
   the appended service/industry depth layer without its intended styling.
   Keep the approved homepage/header untouched and style only those layers. */
.odf-seo-depth{
  padding:64px 0;
  background:#0d1116;
  color:#fff;
  border-top:1px solid rgba(255,255,255,.08);
}
.odf-seo-depth .wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.odf-seo-depth .eyebrow{font-size:.78rem;letter-spacing:.18em;font-weight:800;margin:0 0 10px;color:#c62026;opacity:1}
.odf-seo-depth h2{max-width:850px;margin:0 0 18px;font-size:clamp(1.8rem,4vw,3rem);line-height:1.04;color:#fff}
.odf-seo-depth-intro{max-width:900px;font-size:1.08rem;line-height:1.7;color:#d5d8dc;margin:0 0 30px}
.odf-seo-depth-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.odf-seo-depth-card{display:flex;gap:10px;align-items:flex-start;padding:18px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.035)}
.odf-seo-depth-card span{font-weight:900;color:#c62026}
.odf-seo-depth-card p{margin:0!important;line-height:1.45!important;color:#e5e7e9!important}
.odf-seo-depth-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.odf-seo-depth-actions .btn,
.odf-answer-faq-actions .btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;text-decoration:none;font-family:Impact,"Arial Narrow",sans-serif;letter-spacing:.6px}
.odf-seo-depth-actions .btn.primary,
.odf-answer-faq-actions .btn.primary{background:#bd1c21;color:#fff;border:1px solid #bd1c21}
.odf-seo-depth-actions .btn.ghost,
.odf-answer-faq-actions .btn.ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.65)}

/* The V11.21 answer layer had a dark background but inherited dark body text. */
.odf-answer-faq{color:#fff}
.odf-answer-faq .eyebrow{color:#c62026;opacity:1}
.odf-answer-faq h2{color:#fff}
.odf-answer-faq-intro{color:#d5d8dc;opacity:1}
.odf-answer-faq-item{color:#fff}
.odf-answer-faq-item summary{color:#fff;background:transparent}
.odf-answer-faq-copy{color:#d5d8dc;opacity:1}
.odf-answer-faq-copy p{color:#d5d8dc!important}
.odf-related-links{color:#fff}
.odf-related-links strong{color:#aeb4bb}
.odf-related-links a{color:#d5d8dc}

@media(max-width:900px){.odf-seo-depth-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:550px){
  .odf-seo-depth{padding:52px 0}
  .odf-seo-depth-grid{grid-template-columns:1fr}
  .odf-seo-depth-actions .btn,.odf-answer-faq-actions .btn{width:100%}
}


/* ===== V11.28.6 PRODUCTION INTERIOR PAGE FIX =====
   1) Keep the approved hanging desktop logo when the page is at the top.
   2) Retract it into the sticky header once scrolling begins, preventing it
      from covering CTA copy and other interior-page content.
   3) Explicitly style the V11.20/V11.21 injected content layers and force a
      cache-busted release so production no longer serves stale CSS. */
@media(min-width:901px){
  .logo img{
    transition:width .18s ease,top .18s ease,left .18s ease,filter .18s ease;
  }
  body.odf-scrolled .logo img{
    width:108px!important;
    top:4px!important;
    left:34px!important;
    filter:drop-shadow(0 6px 10px rgba(0,0,0,.45));
  }
}

/* Service/industry red CTA sections */
.redcta{
  position:relative;
  z-index:1;
  background:#a8161b!important;
  color:#fff!important;
  padding:60px 0!important;
}
.redcta .ctarow{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:40px!important;
}
.redcta h2{color:#fff!important}
.redcta p{color:#f6d6d8!important}
.redcta .button.white{
  background:#fff!important;
  color:#111!important;
  border:1px solid #fff!important;
  text-decoration:none!important;
  white-space:nowrap;
}

/* SEO depth block appended to service/industry pages */
.odf-seo-depth{
  display:block!important;
  padding:64px 0!important;
  background:#0d1116!important;
  color:#fff!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
}
.odf-seo-depth .wrap{
  width:min(1180px,calc(100% - 42px))!important;
  max-width:1180px!important;
  margin:0 auto!important;
  padding:0!important;
}
.odf-seo-depth .eyebrow{
  color:#c62026!important;
  opacity:1!important;
  margin:0 0 10px!important;
}
.odf-seo-depth h2{
  color:#fff!important;
  margin:0 0 18px!important;
}
.odf-seo-depth-intro{
  color:#d5d8dc!important;
  margin:0 0 30px!important;
}
.odf-seo-depth-grid{
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  gap:14px!important;
}
.odf-seo-depth-card{
  display:flex!important;
  gap:10px!important;
  align-items:flex-start!important;
  padding:18px!important;
  background:rgba(255,255,255,.035)!important;
  border:1px solid rgba(255,255,255,.12)!important;
}
.odf-seo-depth-card span{color:#c62026!important;font-weight:900!important}
.odf-seo-depth-card p{color:#e5e7e9!important;margin:0!important}
.odf-seo-depth-actions{
  display:flex!important;
  gap:12px!important;
  flex-wrap:wrap!important;
  margin-top:28px!important;
}
.odf-seo-depth-actions .btn,
.odf-answer-faq-actions .btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:46px!important;
  padding:0 22px!important;
  text-decoration:none!important;
  font-family:Impact,"Arial Narrow",sans-serif!important;
  font-size:15px!important;
  letter-spacing:.7px!important;
}
.odf-seo-depth-actions .btn.primary,
.odf-answer-faq-actions .btn.primary{
  background:#bd1c21!important;
  color:#fff!important;
  border:1px solid #bd1c21!important;
}
.odf-seo-depth-actions .btn.ghost,
.odf-answer-faq-actions .btn.ghost{
  background:transparent!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.72)!important;
}

/* Contextual related links below the injected SEO block */
.odf-related-links{
  display:block!important;
  background:#090c10!important;
  color:#fff!important;
  padding:18px 0!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
}
.odf-related-links .wrap{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  flex-wrap:wrap!important;
}
.odf-related-links strong{
  color:#aeb4bb!important;
  font-size:10px!important;
  letter-spacing:1.5px!important;
}
.odf-related-links a{
  color:#fff!important;
  border-bottom:1px solid #555!important;
  text-decoration:none!important;
  font-size:11px!important;
}

/* FAQ: force readable contrast for both the original FAQ and answer-engine layer. */
.faq-section{
  background:#f2f0eb!important;
  color:#111!important;
}
.faq-section .faq-group h2,
.faq-section .faq-question,
.faq-section .faq-answer{
  color:#111!important;
}
.faq-section .faq-question{
  background:#fff!important;
}
.faq-section .faq-answer{
  background:#fff!important;
}
.odf-answer-faq{
  display:block!important;
  background:#0d1116!important;
  color:#fff!important;
  padding:64px 0!important;
}
.odf-answer-faq .eyebrow{color:#c62026!important;opacity:1!important}
.odf-answer-faq h2{color:#fff!important}
.odf-answer-faq-intro{color:#d5d8dc!important}
.odf-answer-faq-item{
  background:#151a20!important;
  border:1px solid rgba(255,255,255,.12)!important;
  color:#fff!important;
  margin-bottom:10px!important;
}
.odf-answer-faq-item summary{
  color:#fff!important;
  padding:18px!important;
  cursor:pointer!important;
  font-weight:800!important;
}
.odf-answer-faq-copy{padding:0 18px 18px!important}
.odf-answer-faq-copy p{color:#d5d8dc!important;margin:0!important}

@media(max-width:900px){
  .redcta .ctarow{align-items:flex-start!important;flex-direction:column!important}
  .odf-seo-depth-grid{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:550px){
  .odf-seo-depth-grid{grid-template-columns:1fr!important}
  .odf-seo-depth-actions .btn,
  .odf-answer-faq-actions .btn{width:100%!important}
}
