/* Service pages: hero with a 3D model, feature grid, gallery and steps */
.service{max-width:1120px;margin:0 auto;padding:clamp(16px,3vw,40px) clamp(14px,4vw,24px) 64px}
.svc-block{margin-top:clamp(44px,6vw,80px)}
.svc-block>h2{margin:0 0 clamp(18px,2.6vw,28px);color:var(--navy);font-size:clamp(22px,3vw,32px);font-weight:800;letter-spacing:-.01em}

/* Hero */
.svc-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(16px,3vw,40px);align-items:center;padding:clamp(12px,3vw,32px) 0}
@media(max-width:860px){.svc-hero{grid-template-columns:1fr;text-align:center}}
.eyebrow{margin:0 0 10px;color:var(--orange);font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.svc-hero h1{margin:0;color:var(--navy);font-size:clamp(30px,5.2vw,54px);font-weight:800;letter-spacing:-.02em;line-height:1.08}
.svc-hero .lede{margin:14px 0 0;font-family:"Kalam",Arial,cursive;font-weight:300;color:#3d4652;font-size:clamp(18px,2.6vw,26px)}
.svc-intro{margin:12px 0 0;max-width:46ch;color:#4a525d;font-size:clamp(15px,1.8vw,17px);line-height:1.6}
@media(max-width:860px){.svc-intro{margin-left:auto;margin-right:auto}}
.svc-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(20px,3vw,28px)}
@media(max-width:860px){.svc-hero-actions{justify-content:center}}
.svc-cta{--ledge:6px;padding:15px 24px;font-size:16px}
.svc-hero-art{width:100%;aspect-ratio:1/.88;min-height:240px}
@media(max-width:860px){.svc-hero-art{max-width:420px;margin:0 auto;order:-1}}

/* What's included */
.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:clamp(12px,1.8vw,18px);margin:0;padding:0;list-style:none}
.feature{display:flex;gap:14px;align-items:flex-start;padding:clamp(14px,2vw,20px);border:1px solid #e6e8ee;border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 16px 30px -24px rgba(20,43,73,.55);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,border-color .3s ease}
.feature:hover{transform:translateY(-4px);border-color:rgba(237,101,18,.45);box-shadow:0 22px 36px -22px rgba(237,101,18,.45)}
.feature-icon{display:grid;place-items:center;flex:none;width:50px;height:50px;border-radius:16px;background:linear-gradient(160deg,#fbfcfd,#eceef2);border:1px solid #d9dde4;box-shadow:inset 0 1px 0 #fff,inset 0 -3px 6px rgba(20,43,73,.07),0 8px 14px -10px rgba(20,43,73,.5);transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .3s ease}
.feature:hover .feature-icon{transform:translateY(-3px) rotate(-4deg);border-color:rgba(237,101,18,.5)}
.feature h3{margin:2px 0 4px;color:var(--navy);font-size:17px}
.feature p{margin:0;font-family:"Kalam",Arial,cursive;color:#4a525d;font-size:16px;line-height:1.35}

/* Gallery */
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(10px,1.6vw,16px)}
.shot{margin:0;overflow:hidden;border:1px solid #e6e8ee;border-radius:18px;background:#f4f6f9;box-shadow:0 18px 34px -26px rgba(20,43,73,.6);transform:perspective(900px);transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s ease,border-color .3s ease}
.shot img{display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.shot:hover{transform:perspective(900px) translateY(-6px) rotateX(4deg) rotateY(-4deg);border-color:rgba(237,101,18,.45);box-shadow:0 30px 48px -26px rgba(237,101,18,.45)}
.shot:hover img{transform:scale(1.05)}
.gallery-note{margin:14px 0 0;color:var(--muted);font-size:13.5px;text-align:center}

/* Steps reuse the About page look, so the three-across layout stays familiar */
.service .steps{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2.4vw,26px);margin:0;padding:0;list-style:none}
@media(max-width:760px){.service .steps{grid-template-columns:1fr}}
.service .step{position:relative;padding:clamp(16px,2.4vw,24px);border:1px solid #e6e8ee;border-radius:22px;background:rgba(255,255,255,.94);box-shadow:0 20px 40px -28px rgba(20,43,73,.55);text-align:center}
.service .step-num{display:grid;place-items:center;width:44px;height:44px;margin:0 auto 10px;border-radius:50%;background:linear-gradient(180deg,#24446f,#142b49);color:#fff;font-size:18px;font-weight:700;box-shadow:0 5px 0 #0a192c,0 12px 20px -10px rgba(20,43,73,.6)}
.service .step-icon{display:grid;place-items:center;width:68px;height:68px;margin:6px auto 12px;border-radius:22px;background:linear-gradient(160deg,#fbfcfd,#eceef2);border:1px solid #d9dde4;box-shadow:inset 0 1px 0 #fff,inset 0 -3px 6px rgba(20,43,73,.07),0 8px 16px -10px rgba(20,43,73,.5)}
.service .step-icon .ico{width:32px;height:32px}
.service .step h3{margin:4px 0 6px;color:var(--navy);font-size:clamp(17px,2.1vw,20px)}
.service .step p{margin:0;font-family:"Kalam",Arial,cursive;color:#4a525d;font-size:16px}
.service .step:hover .step-icon{transform:translateY(-3px);border-color:rgba(237,101,18,.5)}

@media(max-width:620px){
  .svc-block>h2{text-align:center}
  .feature{flex-direction:column;align-items:center;text-align:center}
  .feature p{max-width:26ch;margin-inline:auto}
}
