/* Viking Locksmiths — service page components (loads after about.css) */

/* breadcrumb */
.crumb{font-size:12.5px;letter-spacing:.04em;color:var(--muted);margin-bottom:16px;text-transform:uppercase;font-family:'Cinzel';font-weight:600}
.crumb a{color:var(--muted)}
.crumb a:hover{color:var(--gold)}
.crumb span{color:var(--gold)}

/* body sub-headings inside .story-body */
.story-body h2{font-size:clamp(20px,2.6vw,27px);font-weight:800;color:var(--white);margin:34px 0 14px;line-height:1.2}
.story-body h2:first-child{margin-top:0}

/* hero: smaller, more proportionate title + punch line */
.ah h1{font-size:clamp(26px,3.2vw,40px);line-height:1.1}
.ah p.ah-punch{font-size:17px;color:var(--white-2);max-width:600px;margin-top:14px;line-height:1.5}
.svc-hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.chips li{display:inline-flex;align-items:center;gap:8px;font-family:'Cinzel';font-weight:600;font-size:12.5px;letter-spacing:.03em;color:var(--white-2);border:1px solid var(--line);border-radius:999px;padding:8px 15px;background:rgba(217,164,65,.05)}
.chips svg{width:15px;height:15px;color:var(--gold);flex:0 0 auto}

/* checklist of what's covered */
.checklist{list-style:none;margin:20px 0;display:grid;gap:11px}
.checklist li{display:flex;align-items:flex-start;gap:12px;font-size:16px;color:var(--white-2);line-height:1.5}
.checklist svg{width:20px;height:20px;color:var(--gold);flex:0 0 auto;margin-top:1px}

/* numbered "how it works" steps */
.steps{list-style:none;counter-reset:step;margin:20px 0;display:grid;gap:14px}
.steps li{position:relative;padding:6px 0 6px 52px;font-size:16px;color:var(--white-2);line-height:1.5}
.steps li::before{counter-increment:step;content:counter(step);position:absolute;left:0;top:2px;width:34px;height:34px;border-radius:50%;background:rgba(217,164,65,.1);border:1px solid var(--gold);color:var(--gold);font-family:'Cinzel';font-weight:700;font-size:15px;display:flex;align-items:center;justify-content:center}

/* price reassurance box */
.price-note{margin:26px 0;padding:18px 22px;border:1px solid var(--line);border-radius:10px;background:rgba(217,164,65,.06);font-size:15.5px;color:var(--white-2);line-height:1.6}
.price-note strong{color:var(--gold);font-family:'Cinzel';display:block;font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}

/* FAQ */
.faq{margin:8px 0 4px;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:16px 34px 16px 0;position:relative;font-family:'Cinzel';font-weight:700;font-size:16px;color:var(--white)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:14px;color:var(--gold);font-size:22px;font-weight:400;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 18px;font-size:15.5px;color:var(--white-2);line-height:1.65}

/* side call card */
.call-card{margin-top:16px;border:1px solid var(--line);border-radius:12px;padding:22px;background:linear-gradient(160deg,rgba(217,164,65,.08),rgba(18,12,6,.4));text-align:center}
.call-card .cc-label{font-family:'Cinzel';font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.call-card .cc-num{font-family:'Cinzel';font-size:24px;font-weight:800;color:var(--white);display:block;margin-bottom:4px}
.call-card .cc-sub{font-size:13px;color:var(--muted);margin-bottom:16px}
.call-card .btn{width:100%}

/* related services + hub grid */
.related{padding:56px 0;border-top:1px solid var(--line);background:var(--brown-1)}
.related .r-head{text-align:center;margin-bottom:30px}
.related .eyebrow{font-family:'Cinzel';font-size:11px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:12px}
.related h2{font-size:clamp(22px,3vw,32px);font-weight:800;color:var(--white)}
.svc-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}
.svc-card{display:block;border:1px solid var(--line);border-radius:12px;padding:24px;background:rgba(247,240,226,.03);transition:transform .16s,border-color .2s}
.svc-card:hover{transform:translateY(-3px);border-color:var(--gold)}
.svc-card .sc-ico{width:38px;height:38px;color:var(--gold);margin-bottom:14px}
.svc-card h3{font-size:19px;font-weight:800;color:var(--white);margin-bottom:8px}
.svc-card p{font-size:14.5px;color:var(--muted);line-height:1.55}
.svc-card .sc-more{display:inline-block;margin-top:14px;font-family:'Cinzel';font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gold)}

/* multi-column footer (overrides about.css centered footer) */
footer{text-align:left;padding:44px 0 32px}
.foot{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap}
.foot-brand{max-width:300px}
.foot-brand .brand-logo{height:64px}
.foot-brand p{font-size:13.5px;color:var(--muted);margin-top:12px;line-height:1.6}
.foot-links{display:flex;gap:44px;flex-wrap:wrap}
.foot-col h5{font-family:'Cinzel';font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.foot-col a{display:block;font-size:13.5px;color:var(--muted);margin-bottom:9px}
.foot-col a:hover{color:var(--gold)}
.foot-bottom{max-width:1000px;margin:32px auto 0;padding:18px 32px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12.5px;color:var(--muted)}
.foot-bottom a{color:var(--gold)}

@media(max-width:760px){
  .steps li{font-size:15px}
  .related{padding:40px 0}
  footer{padding:30px 0 24px}
  .foot{flex-direction:column;gap:22px}
  .foot-links{gap:26px}

  /* Compact, tappable service rows so all of them fit on one screen.
     Each row links straight to its page. */
  .svc-cards{gap:9px}
  .svc-card{display:flex;align-items:center;gap:13px;padding:14px 40px 14px 15px;position:relative}
  .svc-card:hover{transform:none}
  .svc-card .sc-ico{width:24px;height:24px;margin-bottom:0}
  .svc-card h3{font-size:15.5px;margin-bottom:0}
  .svc-card p,.svc-card .sc-more{display:none}
  .svc-card::after{content:"\203A";position:absolute;right:17px;top:50%;transform:translateY(-50%);color:var(--gold);font-size:26px;line-height:1}

  /* One CTA on mobile: the sticky bar. Drop the in-page button clusters. */
  .svc-hero-cta{display:none}
  .final{display:none}

  /* Hub only: hide the hero chips so the five service rows sit together. */
  .hub-page .chips{display:none}

  /* Smaller hero title on mobile so it doesn't dominate the screen. */
  .ah h1{font-size:25px;line-height:1.12}
  .ah p.ah-punch{font-size:15.5px}
}
