/* Service landing page — scoped so it does not break site layout */

.svc-page{
  width:min(1140px, 92%);
  margin-inline:auto;
  padding:100px 0 48px;
}
.svc-page .nav-back{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:13.5px;
  font-weight:500;
  opacity:.75;
  transition:opacity .2s;
  text-decoration:none;
  color:var(--ink);
}
.svc-page .nav-back:hover{ opacity:1; }
.svc-page .nav-back svg{ width:14px; height:14px; }

/* Top band: copy (+ packages) + cover */
.svc-top{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1.15fr);
  gap:36px 48px;
  align-items:start;
  margin-bottom:48px;
}
.svc-top-copy{
  display:flex;
  flex-direction:column;
  gap:28px;
  min-width:0;
}
.svc-hero{
  text-align:left;
  margin:0;
  min-width:0;
}
.svc-packages{
  min-width:0;
}
.svc-top-copy .pkg-grid{
  grid-template-columns:repeat(2, 1fr);
  margin-bottom:0;
}
.svc-location-eyebrow{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--safety);
  margin:0 0 14px;
}
.svc-hero h1{
  font-family:var(--font-display);
  font-size:clamp(28px, 3.4vw, 42px);
  line-height:1.12;
  letter-spacing:-.03em;
  margin:0 0 14px;
  max-width:18ch;
}
.svc-hero .sub{
  font-family:var(--font-body);
  font-size:16px;
  font-weight:450;
  line-height:1.55;
  color:var(--ink-soft);
  position:static;
  display:block;
  margin:0;
  max-width:38ch;
}
.svc-hero .sub::after{ display:none; }
.svc-hero-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.svc-hero-chip{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.72);
  font-family:var(--font-mono);
  font-size:12px;
  font-weight:600;
  letter-spacing:.02em;
  color:var(--blueprint);
}
.svc-hero-chip svg{
  width:14px;
  height:14px;
  flex:none;
  color:var(--safety);
}
.svc-cover{
  position:relative;
  margin:0;
  border-radius:calc(var(--radius-lg) + 4px);
  overflow:hidden;
  border:1px solid rgba(30,58,95,.12);
  background:#111820;
  aspect-ratio:5 / 4;
  box-shadow:
    0 24px 48px -28px rgba(27,36,48,.45),
    0 0 0 1px rgba(255,255,255,.4) inset;
}
.svc-cover::before{
  content:"";
  position:absolute;
  inset:auto auto 14px 14px;
  width:72px;
  height:4px;
  border-radius:999px;
  background:var(--safety);
  z-index:3;
  box-shadow:0 6px 16px -6px rgba(242,169,60,.8);
}
.svc-slider__track{
  position:absolute;
  inset:0;
}
.svc-slider__slide{
  position:absolute;
  inset:0;
  opacity:0;
  pointer-events:none;
  transition:opacity .22s ease;
  border:0;
  padding:0;
  background:transparent;
  cursor:zoom-in;
  width:100%;
  height:100%;
  display:block;
}
.svc-slider__slide.is-active{
  opacity:1;
  pointer-events:auto;
  z-index:1;
}
.svc-cover img,
.svc-slider__slide img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  background:#111820;
}
.svc-slider__nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:4;
  width:36px;
  height:36px;
  border:0;
  border-radius:999px;
  background:rgba(27,36,48,.55);
  color:#fff;
  font-size:22px;
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
}
.svc-slider__nav--prev{ left:10px; }
.svc-slider__nav--next{ right:10px; }
.svc-slider__nav:hover{ background:rgba(27,36,48,.78); }
.svc-slider__dots{
  position:absolute;
  left:0; right:0; bottom:12px;
  z-index:4;
  display:flex;
  justify-content:center;
  gap:6px;
}
.svc-slider__dot{
  width:8px; height:8px; border-radius:999px; border:0;
  background:rgba(255,255,255,.45); cursor:pointer; padding:0;
}
.svc-slider__dot.is-active{ background:#fff; }

.ba-zoom{
  position:absolute;
  inset:0;
  border:0;
  padding:0;
  background:transparent;
  cursor:zoom-in;
  display:block;
  width:100%;
  height:100%;
}
.ba-zoom img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  position:absolute;
  inset:0;
  border-radius:calc(var(--radius-md) - 2px);
}

.svc-lightbox{
  position:fixed;
  inset:0;
  z-index:400;
  background:rgba(10,16,24,.88);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.svc-lightbox[hidden]{ display:none !important; }
body.svc-lightbox-open{ overflow:hidden; }
.svc-lightbox__img{
  max-width:min(1100px, 92vw);
  max-height:86vh;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:12px;
  box-shadow:0 24px 60px -20px rgba(0,0,0,.55);
}
.svc-lightbox__close,
.svc-lightbox__nav{
  position:absolute;
  border:0;
  background:rgba(255,255,255,.12);
  color:#fff;
  cursor:pointer;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.svc-lightbox__close{
  top:18px; right:18px;
  width:44px; height:44px; font-size:28px;
}
.svc-lightbox__nav{
  top:50%; transform:translateY(-50%);
  width:46px; height:46px; font-size:28px;
}
.svc-lightbox__nav--prev{ left:16px; }
.svc-lightbox__nav--next{ right:16px; }
.svc-lightbox__close:hover,
.svc-lightbox__nav:hover{ background:rgba(255,255,255,.22); }

@media (max-width:900px){
  .svc-top{
    grid-template-columns:1fr;
    gap:20px;
    margin-bottom:36px;
  }
  .svc-top-copy{ gap:22px; }
  .svc-hero h1{ max-width:none; }
  .svc-hero .sub{ max-width:none; }
  .svc-cover{
    aspect-ratio:5 / 4;
    order:-1;
  }
}

.pkg-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin-bottom:40px;
}
.pkg-item{
  background:var(--paper-2);
  border:1.5px solid var(--line);
  border-radius:var(--radius-md);
  padding:16px 12px;
  text-align:center;
}
.pkg-item .check{ color:var(--safety); font-size:18px; line-height:1; margin-bottom:8px; }
.pkg-item .icon{
  width:36px;
  height:36px;
  margin:0 auto 10px;
  border-radius:10px;
  background:var(--blueprint);
  display:flex;
  align-items:center;
  justify-content:center;
}
.pkg-item .icon svg{ width:18px; height:18px; }
.pkg-item p{
  font-size:12.5px;
  font-weight:600;
  line-height:1.35;
  color:var(--ink);
}

.proof{ margin-bottom:40px; }
.proof-head{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:16px;
  font-family:var(--font-mono);
  font-size:11.5px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ink-soft);
}
.proof-head::before,
.proof-head::after{
  content:"";
  flex:1;
  height:2px;
  background:var(--safety);
  opacity:.6;
}
.proof-head span{
  white-space:nowrap;
  font-weight:600;
  color:var(--ink);
}
.ba-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.ba-box{
  aspect-ratio:4/3;
  border-radius:var(--radius-md);
  background:var(--paper-2);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:16px;
  text-align:center;
  overflow:hidden;
  position:relative;
  margin:0;
}
.ba-box img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  position:absolute;
  inset:0;
  border-radius:calc(var(--radius-md) - 2px);
}
.ba-box .placeholder{
  font-size:12px;
  color:var(--ink-soft);
  line-height:1.4;
}
.ba-box .label{
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  padding:8px;
  background:rgba(27,36,48,.72);
  color:#fff;
  font-size:11px;
  font-weight:600;
  font-family:var(--font-mono);
  letter-spacing:.04em;
}
.ba-box.has-img .placeholder{ display:none; }
.proof-caption{
  text-align:center;
  margin-top:14px;
  font-family:var(--font-display);
  font-weight:700;
  font-size:15px;
  color:var(--safety);
  letter-spacing:-.01em;
}
.proof-prices{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:10px;
  margin:18px 0 0;
  padding:0;
  list-style:none;
}
.proof-prices li{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  padding:12px 10px;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  background:var(--paper-2);
}
.proof-prices__label{
  font-family:var(--font-mono);
  font-size:12px;
  font-weight:600;
  letter-spacing:.04em;
  color:var(--ink-soft);
}
.proof-prices__value{
  font-family:var(--font-display);
  font-size:18px;
  font-weight:700;
  color:var(--blueprint);
  letter-spacing:-.02em;
}
.ba-grid--second{ margin-top:18px; }
@media (max-width:640px){
  .proof-prices{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}

.trap-form{
  background:var(--paper-2);
  border:1.5px solid var(--line);
  border-radius:var(--radius-lg);
  padding:24px 20px 28px;
  margin-bottom:24px;
}
.trap-form h2{
  font-family:var(--font-display);
  font-size:17px;
  margin-bottom:20px;
  text-align:center;
}
.form-group{ margin-bottom:18px; }
.form-group label{
  display:block;
  font-size:14px;
  font-weight:600;
  margin-bottom:10px;
}
.pill-row{ display:flex; flex-wrap:wrap; gap:8px; }
.pill-btn{
  flex:1;
  min-width:calc(33% - 8px);
  padding:10px 8px;
  border:1.5px solid var(--line);
  border-radius:999px;
  background:var(--paper);
  font-size:13px;
  font-weight:600;
  color:var(--ink);
  cursor:pointer;
  transition:border-color .2s, background .2s, color .2s;
  text-align:center;
}
.pill-btn:hover{ border-color:var(--blueprint); }
.pill-btn.selected{
  border-color:var(--safety);
  background:var(--safety-soft);
  color:var(--ink);
}

.upload-zone{
  border:2px dashed var(--line);
  border-radius:var(--radius-md);
  padding:24px 16px;
  text-align:center;
  cursor:pointer;
  transition:border-color .2s, background .2s;
  position:relative;
}
.upload-zone:hover,
.upload-zone.dragover{
  border-color:var(--safety);
  background:rgba(242,169,60,.06);
}
.upload-zone input{
  position:absolute;
  inset:0;
  opacity:0;
  cursor:pointer;
}
.upload-zone .up-icon{ font-size:28px; margin-bottom:6px; opacity:.5; }
.upload-zone p{ font-size:13.5px; font-weight:600; }
.upload-zone small{
  display:block;
  margin-top:4px;
  font-size:12px;
  color:var(--ink-soft);
}
.upload-preview{
  margin-top:10px;
  font-size:12px;
  color:var(--blueprint);
  font-weight:600;
}

.wa-cta{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:100%;
  padding:18px 20px;
  border:0;
  border-radius:999px;
  background:var(--safety);
  color:var(--ink);
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(13px,3.5vw,15px);
  letter-spacing:.02em;
  cursor:pointer;
  text-decoration:none;
  box-shadow:0 14px 28px -8px rgba(242,169,60,.55);
  transition:transform .2s, box-shadow .2s;
}
.wa-cta:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 32px -8px rgba(242,169,60,.65);
}
.wa-cta svg{ width:22px; height:22px; flex:none; }

.svc-foot{
  text-align:center;
  margin-top:20px;
  padding-bottom:100px;
  font-family:var(--font-mono);
  font-size:11.5px;
  color:var(--ink-soft);
  line-height:1.6;
}
.svc-seo-copy{
  margin:0 0 36px;
  padding:22px 20px;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  background:var(--paper-2);
}
.svc-seo-copy h2{
  font-size:20px;
  margin-bottom:10px;
}
.svc-seo-copy p{
  color:var(--ink-soft);
  font-size:14.5px;
  line-height:1.6;
  margin:0;
}
.svc-seo-copy p + p{ margin-top:10px; }

.svc-related{
  margin:28px 0 8px;
  padding:20px 0 0;
  border-top:1px solid rgba(30,58,95,.12);
}
.svc-related h2{
  font-family:var(--font-display);
  font-size:18px;
  margin-bottom:12px;
}
.svc-related ul{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:10px 16px;
  padding:0;
  margin:0;
}
.svc-related a{
  font-size:14px;
  font-weight:600;
  color:var(--safety);
  text-decoration:none;
}
.svc-related a:hover{ text-decoration:underline; }

@media (max-width:640px){
  .svc-page{ padding:88px 0 32px; }
  .pkg-grid{ grid-template-columns:repeat(2,1fr); gap:10px; }
  .pkg-item{ padding:14px 10px; }
  .pkg-item p{ font-size:12px; }
  .trap-form{ padding:20px 14px 22px; }
  .pill-btn{
    min-width:calc(50% - 8px);
    font-size:12.5px;
    padding:11px 8px;
  }
  .ba-grid{ gap:8px; }
}
