:root{
  --black:#050605;
  --charcoal:#0d100c;
  --deep:#11150f;
  --card:#14180f;
  --olive:#4e5a2b;
  --olive2:#384320;
  --olive3:#68743c;
  --gold:#c9a227;
  --brass:#c49434;
  --cream:#f5f1e8;
  --paper:#fbfaf4;
  --ink:#11120f;
  --muted:#a9b0a4;
  --line:rgba(255,255,255,.12);
  --darkline:rgba(17,18,15,.15);
  --shadow:0 24px 70px rgba(0,0,0,.45);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--black);color:var(--cream);line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(1180px,92vw);margin:0 auto}.center-row{text-align:center;margin-top:30px}.site-header{position:fixed;z-index:1000;top:0;left:0;right:0;height:78px;background:linear-gradient(180deg,rgba(5,6,5,.98),rgba(7,8,7,.94));border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,60px);box-shadow:0 10px 35px rgba(0,0,0,.35)}.brand{display:flex;align-items:center;gap:12px;text-transform:uppercase;letter-spacing:.03em}.brand-bell{width:46px;height:46px;object-fit:contain;filter:drop-shadow(0 0 8px rgba(201,162,39,.28))}.brand-text strong{display:block;color:#fff;font-weight:950;font-size:20px;line-height:.92;letter-spacing:.02em}.main-nav{display:flex;align-items:center;gap:26px;font-size:13px;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.main-nav a{color:#f2f2ec;position:relative}.main-nav a:not(.nav-cta):after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:2px;background:var(--brass);transform:scaleX(0);transition:.2s}.main-nav a:hover{color:var(--brass)}.main-nav a:hover:after{transform:scaleX(1)}.nav-cta{border:1px solid var(--brass);color:var(--brass)!important;padding:11px 16px}.nav-cta:hover{background:var(--brass);color:#0b0b08!important}.menu-toggle{display:none;background:transparent;border:0;width:46px;padding:0}.menu-toggle span{display:block;height:3px;background:#f3f0e8;margin:6px 0}.hero{min-height:790px;display:grid;align-items:center;position:relative;background-image:var(--bg);background-size:cover;background-position:center right;overflow:hidden}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(248,246,239,.95) 0%,rgba(248,246,239,.87) 29%,rgba(248,246,239,.42) 50%,rgba(0,0,0,.08) 70%,rgba(0,0,0,.36) 100%)}.hero-watermark{position:absolute;z-index:1;left:1vw;top:120px;width:min(39vw,520px);height:560px;background:url('../images/liberty-bell-watermark.png') center/contain no-repeat;opacity:.105;filter:grayscale(1);pointer-events:none}.hero-inner{position:relative;z-index:2;padding-top:82px}.hero-copy{max-width:660px;color:var(--ink)}.eyebrow{font-size:13px;text-transform:uppercase;letter-spacing:.16em;color:var(--brass);font-weight:950;margin-bottom:14px}.eyebrow.olive{color:var(--olive)}h1,h2,h3{margin:0 0 16px;line-height:1.02;font-weight:950;letter-spacing:-.045em}h1{font-size:clamp(46px,6.2vw,86px);text-transform:uppercase;color:#0b0d0a}h2{font-size:clamp(34px,4.6vw,62px)}h3{font-size:24px}p{margin:0 0 18px}.hero-line{font-size:22px;line-height:1.1;text-transform:uppercase;color:var(--olive2);font-weight:950;letter-spacing:.02em}.hero-text{font-size:18px;max-width:600px;color:#252921}.button-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border:2px solid transparent;text-transform:uppercase;font-weight:950;letter-spacing:.08em;font-size:13px}.button.primary{background:var(--olive);color:#fff}.button.primary:hover{background:var(--olive3)}.button.ghost{border-color:rgba(0,0,0,.45);color:#121410;background:rgba(255,255,255,.22)}.button.ghost:hover{border-color:var(--olive);color:var(--olive)}.button.outline-light{border-color:rgba(255,255,255,.6);color:#fff}.button.outline-light:hover{background:#fff;color:#111}.trust-strip{background:#0a0c09;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.trust-grid div{padding:24px 20px;border-left:1px solid var(--line)}.trust-grid div:last-child{border-right:1px solid var(--line)}.trust-grid strong{display:block;color:var(--brass);font-size:18px;text-transform:uppercase}.trust-grid span{color:var(--muted);font-size:13px}.section{padding:92px 0}.light{background:var(--paper);color:var(--ink)}.section-title{text-align:center;max-width:850px}.section-title p{color:#3d4236;font-size:17px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:38px}.service-card{min-height:300px;position:relative;overflow:hidden;padding:24px;display:flex;flex-direction:column;justify-content:flex-end;background-image:linear-gradient(0deg,rgba(0,0,0,.92),rgba(0,0,0,.12)),var(--img);background-position:center;background-size:cover;box-shadow:0 18px 48px rgba(0,0,0,.20);border:1px solid rgba(0,0,0,.08)}.service-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--olive)}.bell-chip{position:absolute;top:14px;right:14px;width:40px;height:40px;display:grid;place-items:center;background:rgba(5,6,5,.72);border:1px solid rgba(201,162,39,.45);box-shadow:0 8px 18px rgba(0,0,0,.30)}.bell-chip img{width:28px;height:28px;object-fit:contain}.service-card h3,.service-card p{position:relative}.service-card h3{color:#fff;text-transform:uppercase;font-size:22px}.service-card p{color:#e4e8de;font-size:15px}.dark{background:radial-gradient(circle at top left,rgba(78,90,43,.22),transparent 35%),linear-gradient(180deg,#0b0d0a,#151910);color:#fff}.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.dark p{color:#d8ded1}.equipment-card{background:rgba(255,255,255,.045);border:1px solid var(--line);padding:30px;box-shadow:var(--shadow)}.equipment-card h3{text-transform:uppercase;color:var(--brass)}.equipment-list,.area-tags{display:flex;gap:10px;flex-wrap:wrap}.equipment-list span,.area-tags span{border:1px solid rgba(201,162,39,.28);background:rgba(78,90,43,.24);color:#e8eedf;padding:10px 13px;font-weight:850;font-size:14px}.image-band{position:relative;padding:30px 0;background-image:linear-gradient(90deg,rgba(56,67,32,.94),rgba(78,90,43,.86)),var(--bg);background-position:center;background-size:cover;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.12)}.band-inner{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center}.band-inner img{width:105px;height:105px;object-fit:contain;filter:drop-shadow(0 10px 20px rgba(0,0,0,.38))}.band-inner h2{margin:0;text-transform:uppercase;font-size:clamp(28px,3vw,42px);color:#fff}.band-inner p{margin:4px 0 0;color:#f4f1dd}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:36px}.gallery-grid figure{margin:0;overflow:hidden;background:#111;box-shadow:0 12px 34px rgba(0,0,0,.14)}.gallery-grid img{width:100%;height:220px;object-fit:cover;filter:saturate(.94) contrast(1.04)}.about{background:#f7f4ec;color:#111}.about p{color:#363b31;font-size:17px}.values-card{background:#10140e;color:#fff;padding:34px;border-left:6px solid var(--olive);box-shadow:var(--shadow);position:relative;overflow:hidden}.values-card:before{content:"";position:absolute;right:-78px;bottom:-90px;width:260px;height:260px;background:url('../images/liberty-bell-watermark.png') center/contain no-repeat;opacity:.07}.values-card h3{text-transform:uppercase;color:var(--brass)}.values-card ul{position:relative;margin:0;padding-left:20px;color:#dfe7d8}.values-card li{margin-bottom:12px}.contact{position:relative;background-image:linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.58)),var(--bg);background-position:center;background-size:cover}.contact-panel{display:grid;grid-template-columns:.85fr 1.15fr;gap:42px;background:rgba(8,10,7,.90);border:1px solid var(--line);padding:42px;box-shadow:var(--shadow)}.contact-info p{color:#d9e0d3}.contact-card{margin-top:28px;background:#080908;border:1px solid rgba(201,162,39,.30);display:flex;align-items:center;gap:14px;padding:16px;max-width:390px;border-radius:10px;box-shadow:0 18px 40px rgba(0,0,0,.26)}.contact-card img{width:74px;height:74px;object-fit:contain}.contact-card strong{display:block;text-transform:uppercase;color:#fff}.contact-card a,.contact-card span{display:block;color:var(--brass);font-weight:800}.quote-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.quote-form label{display:grid;gap:6px;color:#dbe3d5;font-size:13px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.quote-form input,.quote-form select,.quote-form textarea{width:100%;background:#f4f2eb;border:0;padding:14px;color:#111;font:inherit}.quote-form label:nth-last-of-type(1),.quote-form button,.form-note{grid-column:1/-1}.form-note{font-size:12px;color:var(--muted);margin:0}.site-footer{background:#050605;color:#c5cabc;border-top:1px solid var(--line)}.footer-top{display:grid;grid-template-columns:1fr 1.65fr;gap:46px;padding:38px 0}.footer-mark{display:flex;align-items:center;gap:15px}.footer-mark img{width:84px;height:84px;object-fit:contain}.footer-mark strong{display:block;text-transform:uppercase;color:#fff;font-size:22px;line-height:1}.footer-mark span{display:block;color:var(--brass);font-size:12px;text-transform:uppercase;font-weight:800;letter-spacing:.08em}.footer-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.footer-cols h4{margin:0 0 12px;color:var(--brass);text-transform:uppercase}.footer-cols a,.footer-cols span{display:block;color:#c5cabc;font-size:14px;margin:0 0 7px}.footer-bottom{border-top:1px solid var(--line);padding:13px 0;color:#898f82;font-size:13px;text-align:center}
@media (max-width:1000px){.service-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:900px){.site-header{height:68px}.brand-bell{width:42px;height:42px}.brand-text strong{font-size:16px}.menu-toggle{display:block}.main-nav{position:fixed;top:68px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;background:#080a07;border-bottom:1px solid var(--line);padding:8px 4vw 18px}.nav-open .main-nav{display:flex}.main-nav a{padding:14px 0;border-bottom:1px solid var(--line)}.main-nav a:after{display:none}.nav-cta{text-align:center;margin-top:10px}.hero{min-height:720px;background-position:center}.hero-shade{background:linear-gradient(180deg,rgba(248,246,239,.96),rgba(248,246,239,.84) 56%,rgba(0,0,0,.34))}.hero-watermark{width:72vw;top:105px;left:-12vw;opacity:.075}.trust-grid{grid-template-columns:1fr 1fr}.split,.contact-panel{grid-template-columns:1fr;gap:28px}.band-inner{grid-template-columns:1fr;text-align:center;justify-items:center}.section{padding:68px 0}.quote-form{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr;text-align:center;justify-items:center}.footer-mark{justify-content:center}.footer-cols{text-align:left;width:100%}}
@media (max-width:600px){h1{font-size:42px}.hero-line{font-size:17px}.hero-text{font-size:16px}.service-grid,.gallery-grid{grid-template-columns:1fr}.trust-grid{grid-template-columns:1fr}.contact-panel{padding:26px}.footer-cols{grid-template-columns:1fr;text-align:center}.service-card{min-height:260px}}


/* v5 imagery refresh */
.hero{min-height:790px;display:grid;align-items:center;position:relative;background-size:cover;background-position:center right;overflow:hidden}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(248,246,239,.93) 0%,rgba(248,246,239,.86) 28%,rgba(248,246,239,.38) 52%,rgba(0,0,0,.12) 72%,rgba(0,0,0,.46) 100%)}
.section-photo{position:relative;background-size:cover;background-position:center;overflow:hidden}
.light-photo::before,.about-photo::before{content:'';position:absolute;inset:0;background:rgba(251,250,244,.88)}
.dark-photo::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,10,7,.72),rgba(8,10,7,.82))}
.section-photo > .container,.section-photo > .center-row{position:relative;z-index:2}
.service-card{min-height:300px;position:relative;overflow:hidden;padding:0;display:block;box-shadow:0 18px 48px rgba(0,0,0,.20);border:1px solid rgba(0,0,0,.08);background:#0f120d}
.service-card .card-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.service-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.18) 36%,rgba(0,0,0,.88) 100%)}
.service-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--olive);z-index:3}
.service-content{position:relative;z-index:4;padding:24px;display:flex;flex-direction:column;justify-content:flex-end;min-height:300px}
.service-card h3,.service-card p{position:relative;z-index:4}
.gallery-grid figure{position:relative;border:1px solid rgba(0,0,0,.08)}
.gallery-grid figure::after{content:'';position:absolute;inset:0;box-shadow:inset 0 -80px 120px rgba(0,0,0,.08);pointer-events:none}
.about-photo::before{background:linear-gradient(180deg,rgba(247,244,236,.93),rgba(247,244,236,.9))}
#service-area .area-tags span{background:rgba(78,90,43,.4)}
.contact{position:relative;background-position:center;background-size:cover}
.contact-panel{background:rgba(8,10,7,.88)}
@media (max-width:900px){
  .hero{background-position:center}
  .hero-shade{background:linear-gradient(180deg,rgba(248,246,239,.95),rgba(248,246,239,.84) 54%,rgba(0,0,0,.38))}
}


/* v7 full-width imagery pass */
.hero{background-repeat:no-repeat;background-size:cover;background-position:center center}
.hero-shade{background:linear-gradient(90deg,rgba(248,246,239,.92) 0%,rgba(248,246,239,.84) 32%,rgba(248,246,239,.38) 54%,rgba(0,0,0,.12) 72%,rgba(0,0,0,.46) 100%)}
.section-photo{background-repeat:no-repeat;background-size:cover;background-position:center center;position:relative;overflow:hidden}
.services-photo{background-position:center center}
.light-photo::before{background:rgba(251,250,244,.74)}
.about-photo::before{background:linear-gradient(180deg,rgba(247,244,236,.76),rgba(247,244,236,.86))}
.dark-photo::before{background:linear-gradient(180deg,rgba(8,10,7,.58),rgba(8,10,7,.74))}
.service-grid{gap:22px}
.service-card .card-image{display:none !important}
.service-card{background:linear-gradient(180deg,rgba(255,255,255,.08) 0%,rgba(255,255,255,.04) 32%,rgba(0,0,0,.76) 100%) !important;border:1px solid rgba(78,90,43,.36);box-shadow:0 18px 48px rgba(0,0,0,.16);backdrop-filter:blur(1px)}
.service-card::after{display:none !important}
.service-content{min-height:300px;justify-content:flex-end}
.service-card h3{font-size:20px;text-shadow:0 2px 14px rgba(0,0,0,.30)}
.service-card p{color:#f1f4eb}
.gallery-grid{gap:18px}
.gallery-grid figure{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(1px)}
.gallery-grid img{height:240px}
.equipment-card,.values-card,.contact-panel{backdrop-filter:blur(2px)}
.image-band{background-position:center center;background-size:cover;background-repeat:no-repeat}
@media (max-width:900px){
  .hero-shade{background:linear-gradient(180deg,rgba(248,246,239,.95),rgba(248,246,239,.83) 54%,rgba(0,0,0,.40))}
  .light-photo::before{background:rgba(251,250,244,.80)}
}


/* === V9 OVERRIDES: single full-width section imagery, not tiled image cards === */
.section-photo,
.hero,
.image-band,
.contact{
  background-repeat:no-repeat !important;
  background-size:cover !important;
  background-position:center center !important;
}

/* stronger section-wide backgrounds */
.light-photo::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(251,250,244,.88) 0%, rgba(251,250,244,.82) 38%, rgba(251,250,244,.78) 100%) !important;
}
.about-photo::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(247,244,236,.88) 0%, rgba(247,244,236,.82) 45%, rgba(247,244,236,.78) 100%) !important;
}
.dark-photo::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(8,10,7,.82) 0%, rgba(8,10,7,.75) 40%, rgba(8,10,7,.70) 100%) !important;
}

/* SERVICES: no photo tiles inside cards */
.service-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  margin-top:38px;
}
.service-card{
  background:linear-gradient(180deg, rgba(17,20,15,.94) 0%, rgba(7,9,7,.96) 100%) !important;
  border:1px solid rgba(78,90,43,.42) !important;
  box-shadow:0 16px 40px rgba(0,0,0,.16) !important;
  padding:24px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-end !important;
  min-height:250px !important;
  overflow:hidden !important;
}
.service-card .card-image{display:none !important;}
.service-card::after{display:none !important;}
.service-card::before{content:""; position:absolute; left:0; top:0; bottom:0; width:5px; background:var(--olive); z-index:2;}
.service-content{display:block !important; padding:0 !important; min-height:auto !important;}
.service-card h3{font-size:20px !important; color:#fff !important; text-transform:uppercase; position:relative; z-index:3;}
.service-card p{font-size:15px !important; color:#dce3d3 !important; position:relative; z-index:3;}
.bell-chip{position:absolute; top:14px; right:14px; z-index:4;}

/* GALLERY: clean content cards, no photo grid */
.gallery-grid{display:none !important;}
.gallery-clean{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  margin-top:36px;
}
.gallery-clean-card{
  background:rgba(255,255,255,.80);
  border:1px solid rgba(78,90,43,.28);
  box-shadow:0 16px 36px rgba(0,0,0,.10);
  padding:28px;
}
.gallery-clean-card h3{font-size:24px; color:#111; text-transform:uppercase;}
.gallery-clean-card p{color:#363b31;}

/* Keep equipment/about/service area as section-wide images with clean overlays */
.equipment-card,
.values-card,
.contact-panel{
  backdrop-filter:none !important;
}
.equipment-card{
  background:rgba(13,16,12,.82) !important;
}
.values-card{
  background:rgba(16,20,14,.90) !important;
}

/* Make white sections feel intentional, not blank */
.section.light .section-title,
.section.about .split,
.section.dark .split,
.section.contact .contact-panel{
  position:relative;
  z-index:2;
}

/* Alternate sections: background on whole section, not each slot */
#services{background-position:center center !important;}
#gallery{background-position:center center !important;}
#about{background-position:center center !important;}
#service-area{background-position:center center !important;}

@media (max-width:1000px){
  .service-grid{grid-template-columns:repeat(2,1fr) !important;}
  .gallery-clean{grid-template-columns:1fr !important;}
}
@media (max-width:600px){
  .service-grid{grid-template-columns:1fr !important;}
  .service-card{min-height:220px !important;}
}
