:root{
  --linen:#F6F5F1;
  --black:#26282B;
  --red:#C7402D;
  --panel:#FDFCFA;
  --deep:#23272B;
  --kraft:#C89A62;
  --brass:#B9913F;
  --grey:#9A9C9E;
  --hair:#E2E0DA;
  --panel-text:#26282B;
  --deep-text:#F6F5F1;
  --red-text:#F6F5F1;
}
*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}
html{
  scroll-behavior:smooth;
}
body{
  font-family:"Segoe UI",Arial,Helvetica,sans-serif;
  font-size:16px;
  line-height:1.7;
  color:var(--black);
  background:var(--linen);
  overflow-x:hidden;
}
a{
  color:var(--red);
  text-decoration:none;
}
a:hover{
  text-decoration:underline;
}
img{
  max-width:100%;
  display:block;
}
.imageless-visual{
  display:none;
}
.reveal{
  opacity:1;
  transform:none;
  transition:opacity .8s ease,transform .8s ease;
}
.js .reveal{
  opacity:0;
  transform:translateY(28px);
}
.js .reveal.visible{
  opacity:1;
  transform:none;
}
.noscript-hint,.noscript-fallback{
  display:none;
}

/* ===== SCROLL REVEAL SAFETY ===== */
html.js .reveal{
  opacity:0;
  transform:translateY(28px);
}
html.js .reveal.visible{
  opacity:1;
  transform:none;
}

/* ===== PILLAR BOX NAVIGATION ===== */
.pillarbox{
  position:sticky;
  top:0;
  z-index:60;
  display:flex;
  flex-wrap:wrap;
  align-items:stretch;
  justify-content:space-between;
  gap:4px 16px;
  padding:14px 28px;
  background:var(--linen);
  border-bottom:3px solid var(--black);
}
.pillarboxHome{
  display:flex;
  align-items:center;
  gap:14px;
}
.pillarboxBrand{
  display:flex;
  align-items:center;
  gap:12px;
  padding:2px 26px 2px 2px;
}
.pillarboxIcon{
  position:relative;
  width:58px;
  height:86px;
  background:var(--red);
  border-radius:10px;
  border:2px solid var(--black);
  box-shadow:inset 0 0 0 3px var(--panel);
}
.pillarboxIconCap{
  position:absolute;
  top:-4px;
  left:6px;
  width:44px;
  height:14px;
  background:var(--red);
  border:2px solid var(--black);
  border-radius:8px 8px 2px 2px;
}
.pillarboxIconSlot{
  position:absolute;
  top:34px;
  left:8px;
  width:40px;
  height:7px;
  background:var(--deep);
  border-radius:3px;
  box-shadow:inset 0 0 0 3px var(--black);
}
.pillarboxIconPost{
  position:absolute;
  bottom:6px;
  left:26px;
  width:5px;
  height:12px;
  background:var(--black);
}
.pillarboxName{
  font-family:Georgia,"Times New Roman",serif;
  font-size:26px;
  line-height:1;
  font-weight:800;
  letter-spacing:1px;
  color:var(--black);
}
.pillarboxName span{
  color:var(--red);
}
.pillarboxTag{
  font-size:12px;
  letter-spacing:3px;
  color:var(--deep);
  text-transform:uppercase;
  margin-top:4px;
}
.pillarboxDoorWrap{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.doorNav{
  position:relative;
  display:block;
  min-width:88px;
  text-align:center;
  padding:12px 16px 10px;
  border-radius:6px 6px 0 0;
  border:2px solid var(--black);
  text-transform:uppercase;
  font-size:12.5px;
  font-weight:700;
  letter-spacing:1px;
  color:var(--black);
}
.doorNav:hover{
  text-decoration:none;
  transform:translateY(-2px);
}
.doorNavNum{
  position:absolute;
  top:-13px;
  left:-1px;
  font-size:10px;
  letter-spacing:0;
  background:var(--black);
  color:var(--linen);
  padding:1px 7px;
  border-radius:3px;
  border:1px solid var(--hair);
}
.doorNav:nth-child(even) .doorNavNum{
  background:var(--red);
}
.doorMat{
  background:var(--panel);
  color:var(--black);
}
.doorKerb{
  background:var(--deep);
  color:var(--linen);
}
.doorKerb:hover{
  color:var(--linen);
}
.doorMat:hover{
  color:var(--red);
}
.knockerRing{
  position:absolute;
  top:4px;
  right:8px;
  width:10px;
  height:10px;
  border:2px solid var(--brass);
  border-radius:50%;
  content:"";
}
.doorNav.isactive{
  text-decoration:underline;
  text-decoration-color:var(--red);
  text-underline-offset:6px;
}
.doorNavActive .knockerRing{
  display:block;
}
.nav-toggle{
  display:none;
  background:var(--deep);
  color:var(--linen);
  border:2px solid var(--black);
  padding:10px 16px;
  font-size:14px;
  font-weight:700;
  text-transform:uppercase;
  cursor:pointer;
  border-radius:6px;
}

/* ===== HERO TERRACE RUN ===== */
.terracerun{
  position:relative;
  background:linear-gradient(180deg,#F0ECE3 0%,var(--linen) 100%);
  padding:60px 28px 30px;
  overflow:hidden;
}
.skyBand{
  text-align:center;
  margin-bottom:8px;
  letter-spacing:6px;
  text-transform:uppercase;
  font-size:13px;
  color:var(--deep);
  font-weight:700;
}
.terraceHeadline{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(38px,6.2vw,82px);
  line-height:1.02;
  letter-spacing:-1px;
  text-align:center;
  color:var(--black);
  font-weight:900;
}
.terraceHeadline span{
  color:var(--red);
  display:inline-block;
}
.terraceSub{
  max-width:700px;
  margin:24px auto 20px;
  text-align:center;
  color:var(--deep);
  font-size:18px;
}
.terraceCtas{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:16px;
  margin:26px 0 40px;
}
.btnParcel{
  background:var(--red);
  color:var(--linen);
  padding:15px 30px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:2px;
  font-size:14px;
  border-radius:4px;
  border:2px solid var(--black);
  box-shadow:0 6px 0 var(--deep);
  transition:transform .15s ease,box-shadow .15s ease;
}
.btnParcel:hover{
  transform:translateY(3px);
  box-shadow:0 3px 0 var(--deep);
  color:var(--linen);
  text-decoration:none;
}
.btnOutline{
  background:var(--linen);
  color:var(--black);
  padding:15px 30px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:2px;
  font-size:14px;
  border-radius:4px;
  border:2px solid var(--black);
  transition:transform .15s ease;
}
.btnOutline:hover{
  color:var(--black);
  transform:translateY(-2px);
}
.terraceStreet{
  position:relative;
  height:300px;
  max-width:1200px;
  margin:0 auto;
}
.routeHop{
  position:absolute;
  top:14px;
  left:26px;
  right:26px;
  border-top:3px dashed var(--red);
}
.routeHop::before{
  content:"";
  position:absolute;
  left:0;
  top:-7px;
  width:16px;
  height:16px;
  border-radius:50%;
  background:var(--deep);
  border:3px solid var(--red);
}
.vanScape{
  position:absolute;
  bottom:14px;
  left:4%;
  width:200px;
}
.vanBodyPro{
  position:relative;
  height:92px;
  background:var(--black);
  border:3px solid var(--deep);
  border-radius:8px;
}
.vanRoofPro{
  position:absolute;
  top:-6px;
  left:30px;
  width:70px;
  height:12px;
  background:var(--black);
  border-radius:4px;
}
.vanShutterPro{
  position:absolute;
  left:6px;
  top:14px;
  width:74px;
  height:60px;
  background:var(--red);
  border-radius:3px;
  background-image:repeating-linear-gradient(180deg,var(--red) 0 8px,var(--deep) 8px 10px);
}
.vanShutterPro::after{
  content:"";
  position:absolute;
  left:8px;
  right:8px;
  top:38px;
  height:5px;
  background:var(--brass);
  border:1px solid var(--deep);
}
.vanPixelPro{
  position:absolute;
  right:10px;
  top:18px;
  width:36px;
  height:20px;
  background:var(--kraft);
  border:2px solid var(--deep);
  border-radius:3px;
}
.vanBrandPro{
  position:absolute;
  right:16px;
  bottom:10px;
  font-size:8px;
  letter-spacing:2px;
  color:var(--linen);
  text-transform:uppercase;
  font-weight:800;
}
.vanCabBackPro{
  position:absolute;
  left:-46px;
  bottom:-1px;
  width:52px;
  height:66px;
  background:var(--black);
  border-radius:6px 0 0 0;
  border-left:3px solid var(--deep);
  border-bottom:3px solid var(--deep);
}
.vanGlassPro{
  position:absolute;
  left:-38px;
  top:10px;
  width:30px;
  height:22px;
  background:var(--linen);
  border:2px solid var(--deep);
  border-radius:4px;
}
.vanWheelPro{
  position:absolute;
  bottom:-22px;
  width:34px;
  height:34px;
  border-radius:50%;
  background:var(--deep);
  border:8px solid var(--black);
}
.vanWheelProBack{
  left:-20px;
}
.vanWheelProFront{
  right:18px;
}
.wheelCapPro{
  position:absolute;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--brass);
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
}
.vanWheelProBack .wheelCapPro,.vanWheelProFront .wheelCapPro{
  position:absolute;
}
.vanMirrorStemPro{
  position:absolute;
  right:-12px;
  top:8px;
  width:12px;
  height:22px;
  background:var(--black);
}
.vanMirrorGlassPro{
  position:absolute;
  right:-16px;
  top:18px;
  width:18px;
  height:12px;
  background:var(--brass);
  border-radius:2px;
  border:2px solid var(--deep);
}
.terraceDoors{
  position:absolute;
  bottom:10px;
  left:28%;
  right:6%;
  display:flex;
  gap:14px;
  justify-content:flex-end;
}
.houseDoor{
  position:relative;
  width:112px;
  height:200px;
  border:3px solid var(--deep);
  border-radius:6px 6px 3px 3px;
  box-shadow:0 8px 0 rgba(35,39,43,0.14);
}
.houseDoorPanel{
  position:absolute;
  left:8px;
  right:8px;
  height:64px;
  border-radius:3px;
  background:rgba(246,245,241,0.5);
  border:2px solid var(--deep);
}
.houseDoorPanelTop{
  top:12px;
  height:74px;
  border-radius:50% 50% 4px 4px;
  background:transparent !important;
  border:2px solid var(--deep);
}
.doorP--mat{background:var(--panel);}
.doorP--kerb{background:var(--deep);}
.doorP--kraft{background:var(--kraft);}
.doorP--linen2{background:var(--linen);}
.doorP--soft{background:#EFE9E0;}
.houseNumb{
  position:absolute;
  right:10px;
  top:10px;
  font-size:15px;
  font-weight:900;
  color:#43464A;
  font-family:Georgia,serif;
}
.doorP--kerb .houseNumb{color:var(--linen);}
.houseKnocker{
  position:absolute;
  left:50%;
  top:34px;
  transform:translateX(-50%);
  width:24px;
  height:24px;
  border:3px solid var(--brass);
  border-radius:50%;
}
.houseKnocker::after{
  content:"";
  position:absolute;
  top:-12px;
  left:50%;
  transform:translateX(-50%);
  width:4px;
  height:12px;
  background:var(--brass);
  border-radius:2px;
}
.houseBell{
  position:absolute;
  right:-8px;
  top:118px;
  width:12px;
  height:12px;
  border-radius:2px;
  background:var(--brass);
  border:2px solid var(--deep);
}
.doorBaseKick{
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  height:8px;
  background:var(--deep);
  border-top:2px solid var(--grey);
}
.doorLeaf{
  position:absolute;
  left:6px;
  top:100px;
  width:5px;
  height:70px;
  background:var(--brass);
  border-radius:2px;
}
.doorP--kerb .houseKnocker{border-color:var(--brass);}
.terraceFootpath{
  position:absolute;
  bottom:-30px;
  left:-60px;
  right:-60px;
  height:44px;
  background:var(--grey);
}
.terraceFootpath::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  width:40%;
  background-image:repeating-linear-gradient(90deg,transparent 0 30px,#F6F5F1 30px 34px);
}
.parcelStackDoor{
  position:absolute;
  bottom:216px;
  left:calc(28% + 160px);
  z-index:5;
}
.parcelMini{
  position:relative;
  width:96px;
  height:66px;
  background:var(--kraft);
  border:2px solid var(--deep);
  border-radius:3px;
  box-shadow:0 6px 0 var(--deep);
}
.parcelMini::before,.parcelMini::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  top:0;
  margin:auto;
}
.parcelMini::before{
  width:100%;
  height:10px;
  background:rgba(38,40,43,0.25);
  transform:rotate(-45deg);
}
.parcelMini::after{
  height:100%;
  width:10px;
  background:rgba(38,40,43,0.25);
  transform:rotate(-45deg);
}
.parcelMiniLabel{
  position:absolute;
  right:6px;
  top:6px;
  width:34px;
  height:30px;
  background:var(--panel);
  border:1px solid var(--deep);
}
.parcelMiniLabel::before{
  content:"2";
  position:absolute;
  inset:2px;
  border:1px dashed var(--grey);
}
.parcelMiniShadow{
  position:absolute;
  bottom:-10px;
  left:-4px;
  right:-4px;
  height:12px;
  background:var(--deep);
  z-index:-1;
}
.signaturePadPro{
  position:absolute;
  right:2%;
  bottom:20px;
  width:170px;
  height:120px;
  background:var(--panel);
  border:3px solid var(--deep);
  border-radius:6px;
  transform:rotate(-3deg);
  box-shadow:0 6px 0 var(--deep);
}
.signaturePadPro::before{
  content:"";
  position:absolute;
  top:16px;
  left:12px;
  right:12px;
  height:2px;
  background:var(--grey);
}
.signatureLinePro{
  position:absolute;
  left:12px;
  bottom:12px;
  right:12px;
  height:60px;
  background-image:linear-gradient(100deg,transparent 20%,var(--deep) 30% 38%,transparent 42%),linear-gradient(78deg,transparent 44%,var(--deep) 55% 64%,transparent 70%);
}
.parcelLabelMini{
  position:absolute;
  left:10px;
  bottom:28px;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:1px;
  color:var(--grey);
}

/* ===== DROP CARD WALL ===== */
.dropwallWrap{
  background:var(--linen);
  position:relative;
}
.dropwallHead{
  text-align:center;
  max-width:820px;
  margin:0 auto;
  padding:70px 28px 10px;
}
.dropwallHead h2{
  font-family:Georgia,serif;
  font-size:clamp(30px,4vw,48px);
  color:var(--black);
  letter-spacing:-1px;
}
.dropwallHead p{
  color:var(--deep);
  margin-top:14px;
  font-size:17px;
}
.dropcards{
  max-width:1160px;
  margin:0 auto;
  padding:40px 28px 80px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  grid-auto-rows:minmax(0,auto);
  gap:30px;
  align-items:start;
}
.dropPost{
  transform:translateY(0);
}
.dropPost2{
  transform:translateY(34px);
}
.dropPost3{
  transform:translateY(14px);
}
.dropPost4{
  transform:translateY(60px);
}
.dropPost5{
  transform:translateY(30px);
}
.dropCard{
  position:relative;
  background:var(--kraft);
  border:3px solid var(--deep);
  border-radius:8px;
  padding:30px 24px 44px;
  box-shadow:0 8px 0 var(--deep);
  min-height:320px;
  display:flex;
  flex-direction:column;
}
.dropCardKraft2{
  background:#D3A96F;
}
.dropCardKraft3{
  background:#BE8E54;
}
.tapeX{
  position:absolute;
  top:-14px;
  left:50%;
  transform:translateX(-50%) rotate(0);
  width:150px;
  height:28px;
  background:rgba(246,245,241,0.85);
  border-left:1px solid #866C4C;
  border-right:1px solid #866C4C;
  z-index:3;
}
.dropCardLabel{
  position:absolute;
  top:8px;
  right:14px;
  width:52px;
  height:38px;
  background:var(--panel);
  border:1px solid var(--deep);
  border-radius:2px;
}
.dropCardLabel::after{
  content:"HF DELIVERY";
  position:absolute;
  inset:3px;
  border:1px dashed var(--grey);
  font-size:6px;
  letter-spacing:0.6px;
  text-align:center;
  padding-top:6px;
  color:var(--deep);
  overflow:hidden;
}
.dropTitle{
  position:relative;
  z-index:4;
  top:-4px;
  display:block;
  font-family:Georgia,serif;
  font-size:22px;
  font-weight:800;
  color:var(--black);
  margin-bottom:16px;
  letter-spacing:-0.3px;
}
.dropNum{
  display:block;
  font-size:12px;
  letter-spacing:3px;
  color:#6E5A44;
  text-transform:uppercase;
  font-weight:800;
  margin-bottom:2px;
}
.dropCard p{
  position:relative;
  z-index:2;
  color:var(--black);
  font-size:15.5px;
  line-height:1.75;
}
.dropCard .dropserve{
  color:var(--deep);
}
.routeStamp{
  position:absolute;
  right:14px;
  bottom:14px;
  font-size:10px;
  font-weight:900;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--red);
  background:var(--panel);
  border:2px solid var(--red);
  border-radius:3px;
  padding:4px 8px;
  transform:rotate(-6deg);
}
.dropFoot{
  position:relative;
  z-index:2;
  margin-top:auto;
  padding-top:26px;
}
.btnDoorLink{
  display:inline-block;
  margin-top:6px;
  font-weight:800;
  font-size:13px;
  letter-spacing:1px;
  text-transform:uppercase;
  border-bottom:2px solid var(--red);
  padding-bottom:2px;
  color:var(--black);
}
.btnDoorLink:hover{
  color:var(--red);
}

/* ===== PROCESS OVERVIEW (secondary) ===== */
.processSteps{
  max-width:1150px;
  margin:0 auto;
  padding:30px 28px 60px;
}
.processRow{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:26px;
  counter-reset:step;
}
.processStep{
  position:relative;
  counter-increment:step;
  background:var(--panel);
  border:2px solid var(--hair);
  border-radius:8px;
  padding:28px 22px 26px;
  border-top:6px solid var(--red);
}
.processStep h3{
  font-family:Georgia,serif;
  font-size:19px;
  color:var(--black);
  margin:14px 0 10px;
}
.processStep p{
  color:var(--deep);
  font-size:15px;
}
.processStep::before{
  content:counter(step,decimal-leading-zero);
  font-family:Georgia,serif;
  font-size:32px;
  color:var(--red);
  font-weight:900;
}

/* ===== CTA + NEXT DROP STRIP ===== */
.nextdrop{
  background:var(--red);
  color:var(--linen);
  padding:52px 28px;
  text-align:center;
  border-top:4px solid var(--deep);
  border-bottom:4px solid var(--deep);
  position:relative;
}
.nextdropGlyph{
  width:52px;
  height:76px;
  background:var(--linen);
  border:3px solid var(--deep);
  border-radius:8px;
  margin:0 auto 16px;
  position:relative;
}
.nextdropGlyph::before{
  content:"";
  position:absolute;
  top:-4px;
  left:5px;
  width:36px;
  height:11px;
  background:var(--linen);
  border:2px solid var(--deep);
  border-radius:6px 6px 0 0;
}
.nextdropGlyph::after{
  content:"";
  position:absolute;
  top:32px;
  left:8px;
  width:32px;
  height:7px;
  background:var(--red);
  border-radius:3px;
}
.nextdrop h2{
  font-family:Georgia,serif;
  font-size:clamp(26px,4vw,40px);
  color:var(--linen);
}
.nextdrop p{
  color:var(--linen);
  font-size:18px;
  margin:16px auto;
  max-width:640px;
  text-align:center;
}
@media (max-width:520px){
  .nextdrop p{text-align:center;}
}

/* ===== TWO COLUMN MISSION ===== */
.missionWrap{
  max-width:1120px;
  margin:0 auto;
  padding:70px 28px;
}
.missionGrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  align-items:center;
}
.missionGrid h2{
  font-family:Georgia,serif;
  font-size:34px;
  color:var(--black);
  letter-spacing:-1px;
}
.missionGrid .subRow{
  font-size:12px;
  letter-spacing:3px;
  text-transform:uppercase;
  color:var(--red);
  font-weight:800;
  margin-bottom:10px;
}
.missionGrid p{
  margin-top:16px;
  color:var(--deep);
}
.missionVisMix{
  display:none;
}
.statBundles{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin-top:6px;
}
.statBundle{
  background:var(--panel);
  border:2px solid var(--hair);
  border-radius:8px;
  padding:24px 22px;
  text-align:center;
  box-shadow:0 4px 0 var(--hair);
}
.statBundle .num{
  font-family:Georgia,serif;
  font-size:44px;
  font-weight:900;
  color:var(--red);
  line-height:1;
}
.statBundle .num small{
  font-size:22px;
}
.statBundle span{
  display:block;
  margin-top:8px;
  font-weight:800;
  letter-spacing:1px;
  text-transform:uppercase;
  font-size:11px;
  color:var(--black);
}

/* ===== STRENGTH LINE ===== */
.strengthLine{
  border-top:1px solid var(--hair);
  background:var(--panel);
}
.strengthInner{
  max-width:1120px;
  margin:0 auto;
  padding:0 28px;
  display:flex;
  flex-wrap:wrap;
  gap:6px 24px;
  justify-content:space-between;
}
.strengthTag{
  padding:22px 4px;
  display:flex;
  gap:12px;
  align-items:center;
  font-size:14px;
  font-weight:700;
  color:var(--black);
}
.strengthDots{
  width:26px;
  height:16px;
  border-top:2px dashed var(--red);
  position:relative;
  flex-shrink:0;
}
.strengthDots::before{
  content:"";
  position:absolute;
  top:-4px;
  left:0;
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--red);
}

/* ===== TESTIMONIAL / QUOTE - NO QUOTES, use block ===== */
.shoutLine{
  background:var(--linen);
  padding:6px 0 0;
}
.shoutInner{
  max-width:920px;
  margin:0 auto;
  padding:50px 28px 70px;
  text-align:center;
}
.shoutInner h2{
  font-family:Georgia,serif;
  font-size:30px;
  color:var(--black);
  letter-spacing:-1px;
}
.shoutBox{
  display:grid;
  gap:20px;
  margin-top:34px;
  text-align:left;
}
.testifyOne{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:26px;
  background:var(--panel);
  border:2px solid var(--hair);
  border-radius:8px;
  padding:28px;
}
.testifyMark{
  width:70px;
  height:70px;
  border-radius:50%;
  background:var(--red);
  color:var(--linen);
  font-family:Georgia,serif;
  font-size:26px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:3px solid var(--deep);
  flex-shrink:0;
}
.testifyOne p{
  color:var(--deep);
  font-size:17px;
}
.testifyOne cite{
  display:block;
  color:var(--red);
  font-weight:800;
  letter-spacing:1px;
  text-transform:uppercase;
  font-size:13px;
  font-style:normal;
  margin-top:14px;
}

/* ===== FAQ / accordion ===== */
.faqBand{
  background:var(--linen);
}
.faqInner{
  max-width:900px;
  margin:0 auto;
  padding:60px 28px 40px;
}
.faqInner h2{
  font-family:Georgia,serif;
  font-size:32px;
  color:var(--black);
  text-align:center;
  letter-spacing:-1px;
}
.accordionSet{
  margin-top:30px;
}
.accordionItem{
  background:var(--panel);
  border:2px solid var(--hair);
  margin-bottom:12px;
  border-radius:8px;
  border-left:5px solid var(--red);
  overflow:hidden;
}
.accTrigger{
  width:100%;
  text-align:left;
  background:none;
  border:none;
  padding:18px 20px;
  font-weight:800;
  font-size:16px;
  color:var(--black);
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  align-items:center;
  letter-spacing:0.2px;
}
.accTrigger .accCaret{
  transition:transform .3s ease;
  color:var(--red);
  font-size:22px;
  font-weight:900;
}
.accordionItem.accOpen .accCaret{
  transform:rotate(45deg);
}
.accPanel{
  display:none;
  padding:0 20px 20px;
  color:var(--deep);
}
.accordionItem.accOpen .accPanel{
  display:block;
}

/* ===== CTA RED BAND (reuse nextdrop on secondary ===== */
.ctaBand{
  background:var(--red);
  color:var(--linen);
  padding:52px 28px;
  text-align:center;
  border-top:4px solid var(--deep);
  border-bottom:4px solid var(--deep);
}
.ctaBand h2{
  font-family:Georgia,serif;
  font-size:clamp(26px,4vw,38px);
  color:var(--linen);
}
.ctaBand p{
  font-size:18px;
  color:var(--linen);
  max-width:620px;
  margin:14px auto 26px;
  text-align:center;
}
.ctaBand .btnParcel{
  background:var(--linen);
  color:var(--deep);
}
@media (max-width:520px){
  .ctaBand p{text-align:center;}
}

/* ===== SERVICE PAGE HERO ===== */
.miniStreetHead{
  background:linear-gradient(180deg,#EFE9E0 0%,var(--linen) 100%);
  text-align:center;
  padding:54px 28px 36px;
  border-bottom:1px solid var(--hair);
}
.miniStreetHead .kicker{
  font-size:12px;
  letter-spacing:5px;
  text-transform:uppercase;
  font-weight:800;
  color:var(--red);
}
.miniStreetHead h1{
  font-family:Georgia,serif;
  font-size:clamp(34px,5vw,56px);
  color:var(--black);
  letter-spacing:-1px;
  margin-top:6px;
}
.miniStreetHead p{
  max-width:700px;
  margin:18px auto 0;
  color:var(--deep);
  font-size:17px;
}

/* ===== SECTION INTRO ===== */
.sectionIntro{
  max-width:900px;
  margin:0 auto;
  padding:60px 28px 10px;
  text-align:center;
}
.sectionIntro h2{
  font-family:Georgia,serif;
  font-size:32px;
  color:var(--black);
  letter-spacing:-1px;
}
.sectionIntro p{
  color:var(--deep);
  font-size:17px;
  margin-top:16px;
}
.sectionIntro .kickerGrey{
  font-size:12px;
  letter-spacing:3px;
  color:var(--red);
  text-transform:uppercase;
  font-weight:800;
  margin-bottom:8px;
}

/* ===== STEP ON / ALTERNATE service detail cards ===== */
.doorServiceBand{
  max-width:1100px;
  margin:0 auto;
  padding:20px 28px 30px;
  display:grid;
  gap:34px;
}
.doorServiceRow{
  display:grid;
  grid-template-columns:300px 1fr;
  gap:34px;
  background:var(--panel);
  border:2px solid var(--hair);
  border-radius:10px;
  padding:34px;
  align-items:start;
}
.serviceVisPanel{
  background:var(--linen);
  border:2px dashed var(--hair);
  border-radius:8px;
  padding:24px 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:170px;
}
.serviceVisPanel .glyphText{
  font-family:Georgia,serif;
  font-size:66px;
  line-height:1;
  color:var(--red);
  font-weight:900;
}
.serviceVisMini{
  text-align:center;
}
.serviceVisMini .lrgVisHead{
  font-family:Georgia,serif;
  font-size:22px;
  color:var(--black);
  font-weight:800;
  border-top:4px solid var(--red);
  padding-top:12px;
}
.serviceVisMini .visCaption{
  font-size:11px;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--grey);
  margin-top:6px;
}
.serviceText h3{
  font-family:Georgia,serif;
  font-size:25px;
  color:var(--black);
  letter-spacing:-0.5px;
}
.serviceText .servKicker{
  font-size:12px;
  letter-spacing:3px;
  text-transform:uppercase;
  font-weight:800;
  color:var(--red);
  margin-bottom:6px;
}
.serviceText p{
  color:var(--deep);
  font-size:16px;
  margin-top:14px;
}
.serviceText ul{
  margin:16px 0 0;
  padding-left:2px;
  list-style:none;
}
.serviceText li{
  position:relative;
  padding-left:26px;
  margin-bottom:8px;
  color:var(--deep);
  font-size:15.5px;
}
.serviceText li::before{
  content:"";
  position:absolute;
  left:0;
  top:8px;
  width:12px;
  height:12px;
  border-radius:50%;
  background:var(--red);
  border:2px solid var(--deep);
}

/* ===== CONTACT ===== */
.contactHero{
  background:linear-gradient(180deg,#EFE9E0 0%,var(--linen) 100%);
  text-align:center;
  padding:54px 28px 36px;
  border-bottom:1px solid var(--hair);
}
.contactHero h1{
  font-family:Georgia,serif;
  font-size:clamp(34px,5vw,52px);
  color:var(--black);
  letter-spacing:-1px;
}
.contactHero p{
  max-width:680px;
  margin:18px auto 0;
  color:var(--deep);
  font-size:17px;
}
.contactPaneWrap{
  max-width:1120px;
  margin:0 auto;
  padding:60px 28px 80px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
  align-items:start;
}
.contactPanel{
  display:grid;
  gap:22px;
}
.contactFormCard{
  background:var(--panel);
  border:3px solid var(--deep);
  border-radius:10px;
  padding:34px;
  box-shadow:0 8px 0 var(--hair);
}
.contactFormCard h2{
  font-family:Georgia,serif;
  font-size:26px;
  color:var(--black);
}
.formField{
  display:block;
  margin-top:18px;
}
.formField label{
  display:block;
  font-weight:800;
  font-size:13.5px;
  text-transform:uppercase;
  letter-spacing:1px;
  color:var(--black);
  margin-bottom:8px;
}
.formField label .redNote{
  color:var(--red);
}
.formField.wideField textarea{
  min-height:150px;
  resize:vertical;
}
.formField input,.formField textarea,.formField select{
  width:100%;
  background:var(--linen);
  border:2px solid var(--hair);
  border-radius:6px;
  padding:13px 14px;
  font-family:inherit;
  font-size:15.5px;
  color:var(--black);
}
.formField input:focus,.formField textarea:focus{
  outline:none;
  border-color:var(--red);
  box-shadow:0 0 0 3px #E8C7BF;
}
.formField input[readonly]{
  background:var(--grey);
  color:var(--linen);
  border-color:var(--deep);
  font-weight:800;
}
.btnSend{
  margin-top:24px;
  background:var(--red);
  color:var(--linen);
  border:2px solid var(--deep);
  padding:15px 34px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:2px;
  font-size:15px;
  border-radius:4px;
  cursor:pointer;
  box-shadow:0 6px 0 var(--deep);
  transition:transform .15s,box-shadow .15s;
  width:100%;
}
.btnSend:hover{
  transform:translateY(3px);
  box-shadow:0 3px 0 var(--deep);
}
.contactDetailCard{
  position:relative;
  background:var(--deep);
  color:var(--linen);
  border-radius:12px;
  padding:34px;
}
.contactDetailCard h2{
  font-family:Georgia,serif;
  font-size:26px;
  color:var(--linen);
}
.detailRow{
  display:flex;
  gap:16px;
  margin-top:22px;
  align-items:flex-start;
}
.detailRow .dtIcon{
  width:44px;
  height:44px;
  flex-shrink:0;
  background:var(--red);
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:Georgia,serif;
  font-weight:900;
  color:var(--linen);
  font-size:18px;
}
.detailRow .dtLabel{
  display:block;
  font-size:11px;
  letter-spacing:2px;
  text-transform:uppercase;
  color:#C8C6C0;
  margin-bottom:4px;
}
.detailRow .dtVal{
  font-weight:700;
  color:var(--linen);
  line-height:1.6;
  overflow-wrap:break-word;
}
.hoursGrid{
  display:grid;
  grid-template-columns:1fr auto;
  gap:6px 14px;
  margin-top:10px;
  font-size:14.5px;
}
.hoursGrid .hDay{
  color:#D7D4CE;
}
.hoursGrid .hTime{
  font-weight:800;
  color:var(--linen);
}
.hoursGrid .hHighlight .hTime{
  color:#FFD99E;
}
.legalMiniNote{
  margin-top:22px;
  font-size:13px;
  color:#B9B6AF;
  border-top:1px solid #3A3E43;
  padding-top:16px;
}
.legalMiniNote a{
  color:var(--kraft);
  text-decoration:underline;
}
.legalMiniNote a:hover{
  color:var(--linen);
}

/* ===== PAGE HEADER (secondary pages above nav maybe) ===== */

/* ===== FOOTER LETTERBOX SILL ===== */
.letterboxsill{
  position:relative;
  background:var(--deep);
  color:var(--linen);
  padding:0;
  z-index:1;
}
.letterboxSillTop{
  position:relative;
  z-index:1;
}
.letterboxSlotGraphic{
  position:relative;
  height:52px;
  background:var(--deep);
  border-bottom:2px solid #33373C;
  display:flex;
  align-items:center;
  justify-content:center;
}
.letterboxSlotBar{
  position:relative;
  width:280px;
  height:14px;
  background:#101214;
  border:2px solid var(--brass);
  border-radius:4px;
}
.letterboxSlotBar::before,.letterboxSlotBar::after{
  content:"";
  position:absolute;
  top:-7px;
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--brass);
  border:2px solid #101214;
}
.letterboxSlotBar::before{left:-6px;}
.letterboxSlotBar::after{right:-6px;}
.letterboxFoil{
  position:absolute;
  inset:0;
  background:var(--deep);
  z-index:0;
}
.sillBody{
  position:relative;
  z-index:1;
  max-width:1220px;
  margin:0 auto;
  padding:40px 28px 20px;
  display:grid;
  grid-template-columns:1.4fr 1fr 1.4fr;
  gap:40px;
}
.sillBrand h4{
  font-family:Georgia,serif;
  font-size:22px;
  color:var(--linen);
}
.sillBrand h4 span{
  color:var(--red);
}
.sillBrand .sillIconWrap{
  width:34px;
  height:48px;
  background:var(--red);
  border-radius:6px;
  display:inline-block;
  vertical-align:middle;
  margin-right:10px;
  border:1px solid var(--linen);
  position:relative;
}
.sillBrand .sillIconWrap::before{
  content:"";
  position:absolute;
  top:16px;
  left:6px;
  right:6px;
  height:4px;
  background:var(--deep);
  border-radius:2px;
}
.sillMission{
  color:#C8C5BF;
  margin-top:16px;
  font-size:15px;
}
.sillNoteLine{
  font-size:10px;
  letter-spacing:3px;
  text-transform:uppercase;
  color:var(--kraft);
  margin-top:18px;
}
.footerLinkBay h5,.footerLinkBay2 h5{
  font-family:Georgia,serif;
  font-size:15px;
  color:var(--linen);
  letter-spacing:1px;
  text-transform:uppercase;
  margin-bottom:14px;
  border-bottom:1px solid #383C41;
  padding-bottom:8px;
}
.footerLinkBay ul,.footerLinkBay2 ul{
  list-style:none;
  display:grid;
  gap:10px;
}
.footerLinkBay a,.footerLinkBay2 a{
  color:#C9C6C0;
  font-size:15px;
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.footerLinkBay a:hover,.footerLinkBay2 a:hover{
  color:var(--linen);
  text-decoration:underline;
}
.footerLinkBay a::before,.footerLinkBay2 a::before{
  content:"";
  width:14px;
  height:9px;
  border-top:2px dashed var(--red);
  flex-shrink:0;
}
.sillContactDetail{
  display:grid;
  gap:18px;
}
.sillContactDetail p{
  color:#C9C6C0;
  font-size:15px;
  line-height:1.65;
}
.sillContactDetail strong{
  display:block;
  color:var(--linen);
  font-size:11px;
  letter-spacing:2px;
  text-transform:uppercase;
  margin-bottom:3px;
}
.sillContactDetail a{
  color:var(--linen);
  font-weight:700;
  overflow-wrap:break-word;
}
.pavementBand{
  position:relative;
  z-index:1;
  background:var(--grey);
  color:var(--linen);
  border-top:2px solid var(--linen);
  padding:16px 28px;
  overflow:hidden;
}
.pavementRow{
  max-width:1220px;
  margin:0 auto;
  display:flex;
  flex-wrap:wrap;
  gap:10px 24px;
  justify-content:space-between;
  align-items:center;
  font-size:13px;
  color:var(--linen);
}
.pavementRow a{
  color:var(--linen);
  text-decoration:underline;
}
.pavementRoute{
  height:14px;
  flex-basis:100%;
  border-top:2px dashed var(--linen);
  position:relative;
}
.pavementRoute::before{
  content:"";
  position:absolute;
  left:0;
  top:-4px;
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--linen);
}
.sillCtas{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:22px;
}
.sillCtas a{
  color:var(--linen);
  font-size:13px;
  font-weight:800;
  letter-spacing:1px;
  text-transform:uppercase;
  border:2px solid var(--linen);
  padding:10px 18px;
  border-radius:4px;
}
.sillCtas a:hover{
  background:var(--linen);
  color:var(--deep);
  text-decoration:none;
}

/* ===== HISTORY/WORDS GUTTER (legal pages not here) ===== */

/* ----- RESPONSIVE ----- */
@media (max-width:1024px){
  .dropcards{
    grid-template-columns:repeat(2,1fr);
  }
  .dropPost,.dropPost2,.dropPost3,.dropPost4,.dropPost5{
    transform:none;
  }
  .processRow{
    grid-template-columns:repeat(2,1fr);
  }
  .terraceDoors{
    left:34%;
  }
  .houseDoor{
    width:92px;
  }
  .vanScape{
    width:150px;
  }
  .sigScale{
    transform:scale(0.8);
  }
  .missionGrid,.contactPaneWrap{
    grid-template-columns:1fr;
    gap:30px;
  }
  .doorServiceRow{
    grid-template-columns:1fr;
  }
  .sillBody{
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width:760px){
  .pillarbox{
    position:relative;
    padding:10px 18px;
    gap:10px;
  }
  .pillarboxDoorWrap{
    order:3;
    width:100%;
    justify-content:center;
  }
  .nav-toggle{
    display:block;
  }
  .navOpen .pillarboxDoorWrap{
    display:flex;
  }
  .dropcards{
    grid-template-columns:1fr;
    padding-left:18px;
    padding-right:18px;
  }
  .processRow,.missionGrid,.statBundles{
    grid-template-columns:1fr;
  }
  .testifyOne{
    grid-template-columns:1fr;
    text-align:left;
  }
  .terraceStreet{
    height:250px;
  }
  .vanScape{
    display:none;
  }
  .terraceDoors{
    left:4%;
    right:4%;
    gap:8px;
  }
  .houseDoor{
    width:18%;
    max-width:96px;
    min-width:60px;
  }
  .signaturePadPro{
    right:6%;
    transform:scale(0.75) rotate(-3deg);
    transform-origin:bottom right;
  }
  .parcelStackDoor{
    left:20%;
  }
  .sillBody{
    grid-template-columns:1fr;
  }
  /*
  .footerLinkBay,.footerLinkBay2{align-items:flex-start;}
  */
}
@media (max-width:520px){
  body{
    font-size:16px;
  }
  .pillarboxBrand{
    padding-right:2px;
  }
  .missionGrid{
    grid-template-columns:1fr;
  }
  .statBundles{
    grid-template-columns:1fr;
  }
  .contactPaneWrap{
    padding-left:18px;
    padding-right:18px;
  }
  .contactFormCard{
    padding:22px;
  }
  .nextdrop,.ctaBand,.dropwallHead,.sectionIntro{
    padding-left:18px;
    padding-right:18px;
  }
  .btnParcel,.btnOutline{
    width:100%;
    text-align:center;
  }
  .terraceStreet{
    height:210px;
  }
  .houseDoor{
    height:150px;
    width:19%;
  }
  .houseNumb{
    font-size:11px;
  }
}
