html{
  scroll-behavior:smooth;
  -webkit-text-size-adjust:100%;
}

body{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:16px;
  line-height:1.7;
  color:#2B2E2B;
  background-color:#F1F2ED;
  overflow-x:hidden;
}

p{
  margin:0 0 1em;
}

h1,h2,h3,h4{
  font-family:Arial,"Helvetica Neue",sans-serif;
  font-weight:700;
  line-height:1.2;
  color:#2B2E2B;
  margin:0 0 .5em;
}

h1{
  font-size:clamp(2.2rem,6vw,3.8rem);
  letter-spacing:-.01em;
}

h2{
  font-size:clamp(1.6rem,4vw,2.5rem);
}

h3{
  font-size:clamp(1.2rem,3vw,1.7rem);
}

a{
  color:#39566B;
  text-decoration-thickness:.08em;
  text-underline-offset:.12em;
}

a:hover{
  color:#B08A2E;
}

img{
  max-width:100%;
}

.wrap{
  max-width:1180px;
  margin:0 auto;
  padding:0 24px;
}

.sec{
  padding:56px 0;
}

.eyebrow{
  display:inline-block;
  border:1px solid #7C7F76;
  border-left:6px solid #B08A2E;
  padding:4px 14px;
  font-family:Arial,Arial,sans-serif;
  font-weight:700;
  letter-spacing:.16em;
  font-size:.8rem;
  color:#2B2E2B;
  margin-bottom:16px;
  text-transform:uppercase;
  background-color:#E4E1D5;
}

.lead{
  font-size:1.16rem;
  max-width:740px;
}

/* ============ DIAL-BANK NAV ============ */
.dialbankNav{
  position:sticky;
  top:0;
  z-index:60;
}

.dialbankNavBar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  padding:12px 24px;
  background-color:#39566B;
  border-bottom:3px solid #7C7F76;
  box-shadow:0 6px 0 0 #2B2E2B;
}

.dialbankBrand{
  display:flex;
  align-items:center;
  gap:14px;
}

.dialplate{
  width:60px;
  height:60px;
  border-radius:50%;
  background-color:#E4E1D5;
  border:7px solid #7C7F76;
  box-shadow:0 0 0 2px #2B2E2B;
  position:relative;
  flex:0 0 auto;
}

.dialplate::before{
  content:"";
  position:absolute;
  inset:7px;
  border-radius:50%;
  border:2px dotted #2B2E2B;
}

.dialplate::after{
  content:"";
  position:absolute;
  left:50%;
  top:12px;
  width:3px;
  height:22px;
  background-color:#B08A2E;
  transform-origin:center bottom;
  transform:translateX(-50%) rotate(35deg);
}

.dialbankBrand .brandName{
  font-family:Arial,Arial,sans-serif;
  font-weight:700;
  font-size:1.9rem;
  letter-spacing:.04em;
  color:#E4E1D5;
  line-height:1;
  text-decoration:none;
}

.dialbankBrand .brandName small{
  display:block;
  font-size:.6rem;
  letter-spacing:.3em;
  color:#B08A2E;
  font-family:Georgia,serif;
  font-weight:400;
  margin-top:5px;
}

.dialbankBrand .brandName:hover{
  color:#B08A2E;
}

.navLinks{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  list-style:none;
  margin:0;
  padding:0;
}

.navLinks .navItem a{
  display:flex;
  align-items:center;
  gap:8px;
  background-color:#E4E1D5;
  color:#2B2E2B;
  border:2px solid #2B2E2B;
  border-radius:10px;
  padding:7px 15px;
  font-family:Arial,Arial,sans-serif;
  font-weight:700;
  font-size:.9rem;
  letter-spacing:.04em;
  text-decoration:none;
}

.navLinks .navItem a:before{
  content:"";
  width:14px;
  height:10px;
  background-image:repeating-linear-gradient(to bottom,#7C7F76 0 1px,transparent 1px 3px);
}

.navLinks .navItem a:hover{
  background-color:#B08A2E;
}

.navLinks .navItem-lubri a{
  background-color:#C2634E;
  color:#F1F2ED;
}

.navLinks .navItem-lubri a:before{
  background-color:#B08A2E;
  background-image:none;
  height:12px;
  border:1px dashed #2B2E2B;
}

.navLinks .navItem-lubri a:hover{
  background-color:#B08A2E;
  color:#2B2E2B;
}

.navToggle{
  display:none;
  background:#E4E1D5;
  border:2px solid #2B2E2B;
  border-radius:8px;
  cursor:pointer;
  padding:6px 10px;
}

.navToggle span{
  display:block;
  width:24px;
  height:4px;
  background-color:#B08A2E;
  margin:5px 0;
  border-radius:2px;
}

@media (max-width:860px){
  .navToggle{
    display:block;
  }
  .navLinks{
    display:none;
    width:100%;
    flex-direction:column;
    padding:10px 0 4px;
    border-top:2px solid #39566B;
  }
  .navLinksOpen .navLinks{
    display:flex;
  }
  .navLinks .navItem{
    width:100%;
  }
  .navLinks .navItem a{
    justify-content:center;
    width:100%;
    box-sizing:border-box;
  }
  .dialbankNavBar{
    padding-bottom:10px;
  }
}

/* ============ OIL-DROP HERO ============ */
.oildrop{
  padding:0;
}

.oildropBody{
  display:grid;
  grid-template-columns:3fr 2fr;
  gap:34px;
  align-items:center;
  max-width:1180px;
  margin:0 auto;
  padding:70px 24px 54px;
}

.oildrop-eyebrow{
  display:inline-block;
  background-color:#2B2E2B;
  color:#B08A2E;
  font-family:Arial,Arial,sans-serif;
  font-weight:700;
  letter-spacing:.24em;
  font-size:.78rem;
  padding:5px 14px;
  margin-bottom:20px;
}

.oildrop-copy h1{
  margin-bottom:18px;
}

.oildrop-copy p.lead{
  margin-bottom:30px;
}

.ctaRow{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

.btnGold{
  background-color:#B08A2E;
  color:#F1F2ED;
  border:2px solid #2B2E2B;
  padding:13px 24px;
  font-family:Arial,Arial,sans-serif;
  font-weight:700;
  letter-spacing:.04em;
  text-decoration:none;
  display:inline-block;
  box-shadow:5px 5px 0 0 #7C7F76;
  cursor:pointer;
}

.btnGold:hover{
  background-color:#C2634E;
  color:#F1F2ED;
}

.btnBlue{
  background-color:transparent;
  color:#39566B;
  border:2px solid #39566B;
  padding:13px 24px;
  font-family:Arial,Arial,sans-serif;
  font-weight:700;
  letter-spacing:.04em;
  text-decoration:none;
  display:inline-block;
  cursor:pointer;
  background-color:#E4E1D5;
  box-shadow:5px 5px 0 0 #7C7F76;
}

.btnBlue:hover{
  background-color:#39566B;
  color:#E4E1D5;
}

.dial-wall{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  align-items:end;
  justify-items:center;
  gap:10px;
}

.gauge{
  border-radius:50%;
  background-color:#E4E1D5;
  border:5px solid #7C7F76;
  box-shadow:0 0 0 3px #2B2E2B inset;
  position:relative;
}

.gauge1{width:64px;height:64px;}
.gauge2{width:118px;height:118px;}
.gauge3{width:80px;height:80px;}
.gauge4{width:56px;height:56px;}

.gauge::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:14%;
  width:3px;
  height:46%;
  background-color:#2B2E2B;
  transform-origin:center bottom;
}

.gauge::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:8%;
  width:13px;
  height:13px;
  transform:translateX(-50%);
  border-radius:50%;
  background-color:#B08A2E;
  border:2px solid #2B2E2B;
}

.gaugeRead{
  border:0;
  padding:0;
  line-height:1.15;
  background-color:#C2634E;
  color:#F1F2ED;
  font-weight:700;
  font-size:.58rem;
  letter-spacing:.05em;
  border:1px solid #2B2E2B;
  box-shadow:none;
  border-radius:99px;
  margin-bottom:16px;
}

.gaugeRead::before,.gaugeRead::after{
  display:none;
}

.g1{background-color:#C2634E;}
.gaugeAngle1::before{transform:translateX(-50%) rotate(320deg);}
.gaugeAngle2::before{transform:translateX(-50%) rotate(300deg);}
.gaugeAngle3::before{transform:translateX(-50%) rotate(330deg);}
.gaugeAngle4::before{transform:translateX(-50%) rotate(280deg);}

.gaugeDropLeft,.gaugeDropTL,.gaugeDropC,.gaugeDropR{
  position:relative;
}

.lubeTray{
  margin-top:22px;
}

.lubeTable{
  width:100%;
  border-collapse:collapse;
  background-color:#E4E1D5;
  border:2px solid #2B2E2B;
  font-size:.82rem;
}

.lubeTable th{
  background-color:#7C7F76;
  color:#F1F2ED;
  text-align:left;
  font-family:Arial,Arial,sans-serif;
  letter-spacing:.08em;
  font-size:.72rem;
  padding:7px 9px;
  text-transform:uppercase;
}

.lubeTable td{
  border-top:1px solid #7C7F76;
  color:#2B2E2B;
  padding:8px 9px;
}

.lubeTable strong{
  color:#2B2E2B;
}

.itemGoldDot{
  display:inline-block;
  width:10px;
  height:10px;
  border-radius:0 50% 50% 50%;
  background-color:#B08A2E;
  transform:rotate(-45deg);
  border:1px solid #2B2E2B;
  margin-left:5px;
}

@media (max-width:940px){
  .oildropBody{
    grid-template-columns:1fr;
  }
  .dial-wall{
    margin-top:10px;
  }
}

.oildropKick{
  background-color:#39566B;
  border-top:10px solid #2B2E2B;
}

.kickStat{
  max-width:1180px;
  margin:0 auto;
  padding:20px 24px;
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:0;
}

.kickItem{
  text-align:center;
  padding:4px 18px;
  border-right:2px solid #39566B;
}

.kickItem:not(:first-child){
  border-left:1px solid #B08A2E;
}

.kickNum{
  font-family:Arial,Arial,sans-serif;
  font-weight:700;
  font-size:clamp(1.7rem,4vw,2.5rem);
  color:#B08A2E;
  line-height:1;
  margin-bottom:4px;
}

.kickItem span{
  font-size:.72rem;
  letter-spacing:.12em;
  color:#E4E1D5;
  font-family:Arial,Arial,sans-serif;
  text-transform:uppercase;
}

@media (max-width:760px){
  .kickStat{
    grid-template-columns:1fr;
    gap:12px;
  }
  .kickItem:not(:first-child){
    border-left:0;
    border-top:1px solid #7C7F76;
    padding-top:10px;
  }
}

/* ============ LUBE CHART ROWS ============ */
.lubechart{
  padding:60px 0 30px;
}

.lubeHeader{
  max-width:1180px;
  margin:0 auto;
  padding:0 24px;
}

.chartStack{
  max-width:1000px;
  margin:36px auto 0;
  padding:0 24px;
}

.chartRow{
  display:grid;
  grid-template-columns:82px 1fr;
  gap:22px;
  background-color:#F1F2ED;
  border:1px solid #7C7F76;
  border-left:8px solid #B08A2E;
  padding:26px 22px;
  margin-bottom:14px;
  box-shadow:8px 8px 0 0 #E4E1D5;
  position:relative;
}

.chartRow:nth-child(even){
  transform:translateX(34px);
  border-left-color:#39566B;
}

@media (max-width:820px){
  .chartRow,.chartRow:nth-child(even){
    grid-template-columns:1fr;
    transform:none;
  }
}

.chartCode{
  background-color:#2B2E2B;
  color:#B08A2E;
  font-family:"Courier New",monospace;
  font-weight:700;
  letter-spacing:.05em;
  align-self:start;
  text-align:center;
  padding:8px 4px;
  border:1px solid #B08A2E;
  font-size:.82rem;
  height:auto;
}

.chartCodeDot{
  border:0;
  padding:0;
  background:none;
  box-shadow:none;
}

.h3-row{
  display:flex;
  align-items:center;
  gap:10px;
}

.h3-row h3{
  margin:0;
}

.oildropTick{
  display:inline-block;
  width:16px;
  height:16px;
  border-radius:0 50% 50% 50%;
  background-color:#B08A2E;
  transform:rotate(-45deg);
  border:2px solid #2B2E2B;
  margin-right:10px;
  flex:0 0 auto;
}

.chartRow p{
  color:#2B2E2B;
  margin-bottom:10px;
  font-size:.98rem;
}

.more-pill{
  display:inline-block;
  background-color:#E4E1D5;
  border:2px solid #39566B;
  color:#39566B;
  padding:5px 14px;
  font-family:Arial,Arial,sans-serif;
  font-weight:700;
  font-size:.85rem;
  letter-spacing:.05em;
  text-decoration:none;
  margin-top:4px;
}

.more-pill:hover{
  background-color:#39566B;
  color:#F1F2ED;
}

@media (max-width:680px){
  .chartStack{
    padding:0 8px;
  }
  .chartRow:nth-child(even){
    transform:none;
  }
}

/* ============ STATEMENT ROW ============ */
.statementRow{
  background-color:#7C7F76;
  padding:0;
  margin-top:34px;
}

.statementFlex{
  max-width:1180px;
  margin:0 auto;
  display:flex;
  align-items:center;
  gap:40px;
  flex-wrap:wrap;
  padding:54px 24px;
}

.statementFigure{
  font-family:Arial,Arial,sans-serif;
  font-weight:700;
  font-size:clamp(5rem,15vw,9rem);
  line-height:.8;
  color:#E4E1D5;
  border-right:4px solid #2B2E2B;
  padding-right:36px;
}

.statementCopy p{
  margin:0;
  font-family:Arial,Arial,sans-serif;
  font-weight:700;
  font-size:clamp(1.5rem,4vw,2.3rem);
  line-height:1.25;
  color:#F1F2ED;
  text-transform:uppercase;
  max-width:760px;
}

@media (max-width:820px){
  .statementFlex{
    flex-direction:column;
    align-items:flex-start;
    gap:24px;
  }
  .statementFigure{
    border-right:0;
    border-bottom:4px solid #2B2E2B;
    padding-right:0;
    padding-bottom:10px;
  }
}

/* ============ ROTATION DIAL ============ */
.rotationDial{
  background-color:#39566B;
  padding:70px 0 90px;
  margin-top:60px;
}

.rotationWrap{
  max-width:1180px;
  margin:0 auto;
  padding:0 24px;
}

.rotationWrap h2{
  color:#E4E1D5;
}

.rotationWrap .eyebrow{
  background-color:#2B2E2B;
  color:#B08A2E;
  border-color:#2B2E2B;
}

.rotationIntro{
  color:#E4E1D5;
  max-width:760px;
}

.dialStage{
  margin-top:30px;
}

.dialArc{
  background-color:#2B2E2B;
  border:3px solid #7C7F76;
  border-radius:999px 999px 0 0;
  height:150px;
  position:relative;
  overflow:hidden;
  margin-bottom:40px;
}

.dialArcNeedle{
  position:absolute;
  left:50%;
  bottom:0;
  width:5px;
  height:130px;
  background-color:#B08A2E;
  transform-origin:center bottom;
  transform:translateX(-50%) rotate(-55deg);
  border-radius:3px;
}

.dialArcNeedle::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-10px;
  width:20px;
  height:20px;
  transform:translateX(-50%);
  border-radius:50%;
  background-color:#39566B;
  border:4px solid #B08A2E;
  box-sizing:border-box;
}

.intervalList{
  list-style:none;
  margin:14px 0 0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:16px;
}

.intervalItem{
  background-color:#2B2E2B;
  border:2px solid #7C7F76;
  padding:16px 14px;
  text-align:center;
}

.intervalItem:nth-child(5n){
  border-color:#B08A2E;
}

.intervalItem .tick{
  display:inline-block;
  width:9px;
  height:9px;
  border-radius:50%;
  background-color:#B08A2E;
  margin-bottom:6px;
}

.intervalItem h4{
  color:#E4E1D5;
  font-family:Arial,Arial,sans-serif;
  margin:6px 0 10px;
  font-size:1rem;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.intervalItem p{
  color:#E4E1D5;
  font-size:.88rem;
  margin:0;
}

.intervalItem .reviewTag{
  background-color:#C2634E;
  color:#E4E1D5;
  display:inline-block;
  font-family:Arial,Arial,sans-serif;
  font-weight:700;
  font-size:.72rem;
  letter-spacing:.1em;
  padding:3px 9px;
  margin-top:8px;
}

@media (max-width:860px){
  .intervalList{
    grid-template-columns:1fr 1fr;
  }
}

/* ============ SERVICE-DUE STRIP ============ */
.serviceDue{
  background-color:#B08A2E;
  border-top:6px solid #2B2E2B;
  padding:0;
}

.serviceDueInner{
  max-width:1180px;
  margin:0 auto;
  padding:34px 24px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:26px;
  align-items:center;
}

.dueStamp{
  background-color:#2B2E2B;
  color:#B08A2E;
  font-family:"Courier New",monospace;
  font-weight:700;
  letter-spacing:.08em;
  padding:12px 16px;
  transform:rotate(-4deg);
  border:3px solid #E4E1D5;
  text-transform:uppercase;
  text-align:center;
}

.dueText{
  margin:0;
  font-family:Arial,Arial,sans-serif;
  font-weight:700;
  color:#2B2E2B;
  font-size:clamp(1.25rem,3vw,1.7rem);
  line-height:1.3;
}

.serviceDueInner .btnBlue{
  background-color:#2B2E2B;
  border-color:#2B2E2B;
  color:#B08A2E;
  box-shadow:none;
}

.serviceDueInner .btnBlue:hover{
  background-color:#F1F2ED;
  color:#2B2E2B;
}

@media (max-width:860px){
  .serviceDueInner{
    grid-template-columns:1fr;
    text-align:center;
  }
  .dueStamp{
    justify-self:center;
  }
}

/* ============ BINDER-RACK FOOTER ============ */
.binderrack{
  background-color:#39566B;
  margin-top:0;
  border-top:12px solid #2B2E2B;
}

.binderTopBar{
  border-top:5px solid #B08A2E;
}

.binderSelf{
  padding:44px 0 6px;
}

.binderDevice{
  max-width:1180px;
  margin:0 auto;
  padding:0 24px;
}

.binderSet{
  display:flex;
  justify-content:center;
  align-items:flex-end;
  gap:12px;
  flex-wrap:wrap;
}

.binderSpine{
  background-color:#E4E1D5;
  width:96px;
  box-shadow:0 0 0 3px #7C7F76;
  border-top:3px solid #7C7F76;
  position:relative;
  padding:0 0 4px;
}

.spineCap{
  background-color:#7C7F76;
  height:8px;
}

.spineTopBar{
  background-color:#B08A2E;
  height:6px;
}

.binderSpine .spineLabel{
  background-color:#B08A2E;
  color:#2B2E2B;
  font-family:Arial,Arial,sans-serif;
  font-weight:700;
  font-size:.62rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  text-align:center;
  padding:5px 4px;
  margin:8px 7px 0;
  border:1px solid #2B2E2B;
}

.binderSpine .spineCode{
  color:#39566B;
  font-family:"Courier New",monospace;
  font-size:.66rem;
  text-align:center;
  padding:8px 4px;
  letter-spacing:.1em;
}

.binderSpine .spineRings{
  padding:6px 7px 2px;
}

.binderSpine .ringRow{
  border-top:3px solid #7C7F76;
  margin-bottom:6px;
}

.binderSpine .bheight-1{height:150px;}
.binderSpine .bheight-2{height:130px;}
.binderSpine .bheight-3{height:118px;}
.binderSpine .bheight-4{height:140px;}
.binderSpine .bheight-5{height:125px;}
.binderSpine .bheight-6{height:110px;}

.binderMotto{
  text-align:center;
  color:#B08A2E;
  font-family:"Courier New",monospace;
  font-weight:700;
  letter-spacing:.32em;
  font-size:.8rem;
  text-transform:uppercase;
  margin:16px 0 0;
}

@media (max-width:760px){
  .binderSpine .bheight-3,.binderSpine .bheight-5,.binderSpine .bheight-6{
    display:none;
  }
}

.binderCols{
  padding:28px 0 0;
}

.binderColsInner{
  max-width:1180px;
  margin:0 auto;
  padding:0 24px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:40px;
}

.binderCol h4{
  color:#B08A2E;
  font-family:Arial,Arial,sans-serif;
  letter-spacing:.14em;
  font-size:.86rem;
  text-transform:uppercase;
  margin-bottom:14px;
  border-bottom:1px solid #39566B;
  padding-bottom:8px;
}

.binderCol ul{
  list-style:none;
  margin:0;
  padding:0;
}

.binderCol li{
  margin-bottom:9px;
}

.binderCol a{
  color:#E4E1D5;
  text-decoration:none;
  font-size:.96rem;
}

.binderCol a:hover{
  color:#B08A2E;
  text-decoration:underline;
}

.binderCol p{
  color:#E4E1D5;
  font-size:.95rem;
  margin:0;
}

@media (max-width:760px){
  .binderColsInner{
    grid-template-columns:1fr;
    gap:28px;
  }
}

.binderTray{
  border-top:4px solid #7C7F76;
  margin-top:26px;
}

.binderPlate{
  background-color:#2B2E2B;
  padding-bottom:18px;
}

.binderPlateInner{
  max-width:1180px;
  margin:0 auto;
  padding:26px 24px 0;
  text-align:center;
  position:relative;
  z-index:2;
}

.binderPlate .coName{
  font-family:Arial,Arial,sans-serif;
  font-weight:700;
  color:#B08A2E;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:1rem;
  margin:0;
}

.binderPlate p{
  color:#E4E1D5;
  font-size:.92rem;
  margin:4px 0;
}

.binderPlate a{
  color:#B08A2E;
}

.copyright{
  color:#E4E1D5;
  font-size:.78rem;
  letter-spacing:.05em;
  margin:16px 0 0;
}

/* ============ CONTACT ============ */
.contactShell{
  padding:0 0 30px;
}

.pageBand{
  background-color:#39566B;
  padding:44px 0;
  border-bottom:10px solid #2B2E2B;
}

.pageBandInner{
  max-width:1180px;
  margin:0 auto;
  padding:0 24px;
}

.pageBand h1{
  color:#E4E1D5;
  margin:0;
}

.pageBand .crumb{
  color:#B08A2E;
  font-family:Arial,Arial,sans-serif;
  letter-spacing:.2em;
  font-size:.78rem;
  text-transform:uppercase;
  margin-bottom:10px;
}

.pageBand p{
  color:#E4E1D5;
  max-width:740px;
  margin:14px 0 0;
}

.contactGrid{
  max-width:1180px;
  margin:0 auto;
  padding:48px 24px;
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:48px;
}

@media (max-width:900px){
  .contactGrid{
    grid-template-columns:1fr;
  }
}

.contactPanel{
  background-color:#E4E1D5;
  border:2px solid #2B2E2B;
  padding:28px;
}

.contactPanel h2{
  margin-top:0;
}

.formRow{
  margin-bottom:16px;
}

.formRow label{
  display:block;
  font-family:Arial,Arial,sans-serif;
  font-weight:700;
  font-size:.86rem;
  margin-bottom:6px;
  letter-spacing:.05em;
}

.formRow input,.formRow textarea,.formRow select{
  width:100%;
  box-sizing:border-box;
  border:2px solid #39566B;
  padding:10px 12px;
  font-family:Georgia,serif;
  font-size:1rem;
  color:#2B2E2B;
  background-color:#F1F2ED;
}

.formRow textarea{
  min-height:130px;
  resize:vertical;
}

.btnSubmit{
  background-color:#B08A2E;
  color:#F1F2ED;
  border:2px solid #2B2E2B;
  font-family:Arial,Arial,sans-serif;
  font-weight:700;
  font-size:1rem;
  letter-spacing:.06em;
  padding:13px 28px;
  cursor:pointer;
  box-shadow:4px 4px 0 0 #7C7F76;
}

.btnSubmit:hover{
  background-color:#C2634E;
}

.formNote{
  font-size:.8rem;
  color:#2B2E2B;
  margin-top:12px;
}

.infobox{
  background-color:#F1F2ED;
  border:2px solid #7C7F76;
  border-left:8px solid #B08A2E;
  padding:20px;
  margin-bottom:24px;
}

.infobox h3{
  margin:0 0 10px;
  font-size:1.1rem;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.infobox p{
  margin:4px 0;
  font-size:.98rem;
}

.infobox .fieldLabel{
  font-family:Arial,Arial,sans-serif;
  font-weight:700;
  color:#B08A2E;
  text-transform:uppercase;
  font-size:.76rem;
  letter-spacing:.1em;
  display:block;
}

.hoursStrip{
  margin-top:8px;
}

.hoursStrip p{
  margin:3px 0;
  font-size:.92rem;
}

.panel-note{
  padding-left:22px;
  border-left:5px solid #B08A2E;
  font-size:.92rem;
}

/* FAQ */
.faqBlock{
  background-color:#39566B;
  padding:50px 0;
}

.faqHeader{
  max-width:1180px;
  margin:0 auto;
  padding:0 24px;
}

.faqHeader h2,.faqHeader p{
  color:#E4E1D5;
}

.faqList{
  max-width:900px;
  margin:0 auto;
  padding:0 24px;
}

.faqItem{
  background-color:#F1F2ED;
  border:2px solid #7C7F76;
  margin-bottom:12px;
}

.faqQ{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  text-align:left;
  background:transparent;
  border:0;
  padding:18px 22px;
  font-family:Arial,Arial,sans-serif;
  font-weight:700;
  font-size:1rem;
  color:#2B2E2B;
  cursor:pointer;
}

.faqQ .plusSign{
  color:#B08A2E;
  font-size:1.6rem;
  font-weight:400;
  line-height:1;
  flex:0 0 auto;
}

.faqA{
  max-height:0;
  overflow:hidden;
  transition:max-height .35s ease;
}

.faqA p{
  margin:0;
  padding:0 22px 20px;
  font-size:.96rem;
  color:#2B2E2B;
}

/* ============ SERVICE PAGES ============ */
.pageBody{
  padding-bottom:0;
}

.introBand{
  padding-bottom:20px;
}

.introBand .lead{
  margin-bottom:0;
}

.serviceMain{
  padding:10px 0 10px;
}

.serviceBlock{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:34px;
  padding:42px 0;
  border-bottom:2px solid #D9D5C6;
}

.serviceBlock:last-of-type{
  border-bottom:0;
}

@media (max-width:760px){
  .serviceBlock{
    grid-template-columns:1fr;
    gap:18px;
  }
}

.serviceMarker{
  background-color:#2B2E2B;
  color:#B08A2E;
  font-family:"Courier New",monospace;
  font-weight:700;
  font-size:1.2rem;
  letter-spacing:.06em;
  border:2px solid #B08A2E;
  padding:16px 6px;
  text-align:center;
  align-self:start;
  width:88px;
  height:66px;
  box-sizing:border-box;
}

.serviceBody h2{
  font-family:Arial,Arial,sans-serif;
  color:#B08A2E;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:clamp(1.3rem,3vw,1.8rem);
  margin-top:0;
}

.serviceBody p{
  max-width:860px;
}

.processBand{
  background-color:#E4E1D5;
  border-top:8px solid #B08A2E;
  padding:60px 0;
}

.processBand h2{
  color:#39566B;
}

.processList{
  list-style:none;
  margin:30px 0 0;
  padding:0;
  counter-reset:step;
}

.processList li{
  display:grid;
  grid-template-columns:70px 1fr;
  gap:8px 22px;
  padding:20px 0;
  border-bottom:1px solid #7C7F76;
}

.processList li:last-child{
  border-bottom:0;
}

.processList h3{
  margin:0;
  font-size:1.15rem;
  color:#39566B;
}

.processList p{
  grid-column:2;
  margin:0;
  font-size:.96rem;
  color:#2B2E2B;
  max-width:820px;
}

.stepNum{
  grid-row:1/3;
  background-color:#2B2E2B;
  color:#B08A2E;
  font-family:"Courier New",monospace;
  font-weight:700;
  text-align:center;
  height:56px;
  line-height:56px;
  border:1px solid #B08A2E;
}

@media (max-width:600px){
  .processList li{
    grid-template-columns:1fr;
  }
  .processList p,.processList h3{
    grid-column:1;
  }
  .stepNum{
    height:44px;
    line-height:44px;
  }
}

/* ============ SCROLL REVEAL (JS-safe) ============ */
/* Default without JS: content fully visible (noscript-safe). */
.reveal-init{
  opacity:1;
  transform:none;
}

/* When JS is available (html.js added by main.js), elements start hidden
   and are revealed by the IntersectionObserver; a 1200ms force timer in
   main.js adds .reveal-visible to anything still hidden so content can
   never stay invisible. */
html.js .reveal-init{
  opacity:0;
  transform:translateY(26px);
  transition:opacity .65s ease,transform .65s ease;
}

html.js .reveal-init.reveal-visible{
  opacity:1;
  transform:translateY(0);
}

@media (prefers-reduced-motion:reduce){
  .reveal-init,
  html.js .reveal-init{
    opacity:1;
    transform:none;
    transition:none;
  }
}

