/* services.css — used by services.html AND all service-*.html pages */

.page-hero{padding:9rem 5% 4rem;background:var(--white)}
.page-hero .s-title{font-size:clamp(2.4rem,5vw,4rem)}

/* ── SERVICES CARDS (services.html) ── */
.sec-services{padding-top:1rem}
.svc-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;max-width:1100px}

.svc-card{
  display:block;padding:2.5rem;border:1px solid var(--border-g);
  border-radius:var(--radius);background:var(--white);
  transition:box-shadow .3s,transform .3s,border-color .3s;
  position:relative;overflow:hidden;
}
.svc-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:var(--cherry);transform:scaleX(0);transform-origin:left;
  transition:transform .4s ease;
}
.svc-card:hover{box-shadow:var(--sh-md);transform:translateY(-4px);border-color:var(--border)}
.svc-card:hover::before{transform:scaleX(1)}

.svc-card-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1rem}
.svc-card-icon{font-size:1.8rem}
.svc-card-badge{background:var(--cherry);color:var(--white);font-size:.67rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:.25rem .7rem;border-radius:2px}
.svc-card-badge--outline{background:transparent;border:1px solid var(--border);color:var(--cherry)}
.svc-card-level{font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--cherry);margin-bottom:.6rem}
.svc-card h2{font-family:'Cormorant Garamond',serif;font-size:1.55rem;font-weight:700;color:var(--black);margin-bottom:.7rem;line-height:1.2}
.svc-card p{font-size:.88rem;color:var(--gray);line-height:1.75;margin-bottom:1.2rem}
.svc-card-meta{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.5rem;padding-top:1.2rem;border-top:1px solid var(--border-g)}
.svc-card-meta span{font-size:.82rem;color:var(--gray)}
.svc-card-price{font-size:.9rem;color:var(--gray);margin-bottom:1.2rem}
.svc-card-price strong{font-family:'Cormorant Garamond',serif;font-size:1.8rem;color:var(--cherry);font-weight:700}
.svc-card-cta{font-size:.84rem;font-weight:600;color:var(--cherry);transition:gap .2s}

/* process steps */
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border-g);border:1px solid var(--border-g);border-radius:var(--radius);overflow:hidden;margin-top:3rem}
.ps{background:var(--white);padding:2.2rem 1.8rem;transition:background .3s}
.ps:hover{background:var(--cherry-pale)}
.ps-n{font-family:'Cormorant Garamond',serif;font-size:3.5rem;font-weight:700;color:var(--gray-lt);line-height:1;display:block;margin-bottom:.8rem}
.ps h3{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:700;color:var(--black);margin-bottom:.5rem}
.ps p{font-size:.86rem;color:var(--gray);line-height:1.65}

/* faq */
.faq-list{max-width:760px;margin-top:3rem;display:flex;flex-direction:column;gap:.5rem}
.faq-item{border:1px solid var(--border-g);border-radius:var(--radius);overflow:hidden;background:var(--white)}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1.2rem 1.5rem;font-size:.95rem;font-weight:500;color:var(--black);text-align:left;transition:background .2s}
.faq-q span{font-size:1.3rem;color:var(--cherry);transition:transform .3s;flex-shrink:0}
.faq-q:hover{background:var(--cherry-pale)}
.faq-item.open .faq-q span{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .3s}
.faq-a p{font-size:.88rem;color:var(--gray);line-height:1.75;padding:0 1.5rem}
.faq-item.open .faq-a{max-height:200px}
.faq-item.open .faq-a p{padding:0 1.5rem 1.2rem}

/* ══════════════════════════════════════════════
   SERVICE DETAIL PAGES (service-web/brand/social/graphic.html)
   ══════════════════════════════════════════════ */

.detail-hero{
  padding:9rem 5% 3rem;
  background:var(--white);
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5rem;
  align-items:center;
}
.detail-breadcrumb{
  font-size:.75rem;color:var(--gray);
  margin-bottom:1.5rem;
  display:flex;align-items:center;gap:.5rem;
}
.detail-breadcrumb a{color:var(--cherry);transition:opacity .2s}
.detail-breadcrumb a:hover{opacity:.7}
.detail-breadcrumb span{color:var(--gray-lt)}

.detail-badges{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}
.detail-badge{font-size:.67rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:.25rem .75rem;border-radius:2px;border:1px solid var(--border);color:var(--cherry)}
.detail-badge.filled{background:var(--cherry);color:var(--white);border-color:var(--cherry)}

.detail-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2.4rem,5vw,4rem);font-weight:700;line-height:1.08;letter-spacing:-.025em;color:var(--black);margin-bottom:1rem}
.detail-title em{font-style:italic;color:var(--cherry)}
.detail-sub{font-size:1rem;color:var(--gray);line-height:1.8;margin-bottom:2rem;max-width:480px}

.detail-meta-row{display:flex;gap:2rem;flex-wrap:wrap;margin-bottom:2rem;padding:1.2rem 0;border-top:1px solid var(--border-g);border-bottom:1px solid var(--border-g)}
.detail-meta{text-align:center}
.detail-meta strong{display:block;font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:700;color:var(--cherry)}
.detail-meta span{font-size:.72rem;color:var(--gray);letter-spacing:.07em;text-transform:uppercase}

.detail-img{border-radius:4px;overflow:hidden;box-shadow:var(--sh-md)}
.detail-img img{width:100%;height:480px;object-fit:cover}

.price-box{
  background:var(--black);padding:2rem;border-radius:var(--radius);margin-top:1.5rem;
}
.price-box .price-label{font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:.4rem}
.price-box .price-val{font-family:'Cormorant Garamond',serif;font-size:2.8rem;font-weight:700;color:var(--white);line-height:1;margin-bottom:.3rem}
.price-box .price-note{font-size:.8rem;color:rgba(255,255,255,.4);margin-bottom:1.5rem}
.price-box .btn-solid{width:100%;justify-content:center;font-size:.9rem;font-weight:600;letter-spacing:.05em}
.price-box .price-ask{display:block;text-align:center;margin-top:.8rem;font-size:.8rem;color:rgba(255,255,255,.35);transition:color .2s}
.price-box .price-ask:hover{color:rgba(255,255,255,.7)}

/* includes section */
.detail-includes{padding:5rem 5%;background:var(--white-alt)}
.includes-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-top:3rem;align-items:start}
.includes-list{display:flex;flex-direction:column;gap:.75rem}
.inc-item{display:flex;align-items:flex-start;gap:.9rem;padding:1rem 1.2rem;background:var(--white);border:1px solid var(--border-g);border-radius:var(--radius);transition:border-color .2s,box-shadow .2s}
.inc-item:hover{border-color:var(--border);box-shadow:var(--sh-sm)}
.inc-check{color:var(--cherry);font-size:1.1rem;flex-shrink:0;margin-top:.05rem}
.inc-text h4{font-size:.92rem;font-weight:600;color:var(--black);margin-bottom:.15rem}
.inc-text p{font-size:.82rem;color:var(--gray);line-height:1.55}

/* portfolio mini */
.detail-port{display:flex;flex-direction:column;gap:1rem}
.port-img{border-radius:var(--radius);overflow:hidden}
.port-img img{width:100%;height:180px;object-fit:cover;transition:transform .5s}
.port-img:hover img{transform:scale(1.04)}

/* topics */
.topics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-top:2.5rem}
.topic-item{display:flex;align-items:center;gap:.8rem;padding:.9rem 1.1rem;border:1px solid var(--border-g);border-radius:var(--radius);font-size:.87rem;color:var(--ink);background:var(--white);transition:border-color .2s}
.topic-item:hover{border-color:var(--border)}
.topic-num{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:700;color:var(--cherry);opacity:.5;flex-shrink:0;min-width:24px}

/* detail stats bar */
.detail-stats{display:flex;flex-wrap:wrap;border:1px solid var(--border-g);border-radius:var(--radius);overflow:hidden;margin-bottom:4rem}
.detail-stats .stat-cell{flex:1;min-width:140px}

@media(max-width:1024px){
  .svc-cards{grid-template-columns:1fr 1fr}
  .process-steps{grid-template-columns:repeat(2,1fr)}
  .detail-hero{grid-template-columns:1fr;gap:2.5rem}
  .detail-img img{height:320px}
  .includes-grid{grid-template-columns:1fr}
}
@media(max-width:768px){
  .svc-cards{grid-template-columns:1fr}
  .process-steps{grid-template-columns:1fr 1fr}
  .topics-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
  .process-steps{grid-template-columns:1fr}
  .detail-meta-row{gap:1rem}
}