/* SERVICES PAGE */
.svc-hero{background:#1a1714;padding:160px 5vw 100px;text-align:center;position:relative;overflow:hidden}
.svc-hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:120px;background:linear-gradient(180deg,transparent,var(--bg))}
.svc-hero-label{font-family:'Sora',sans-serif;font-size:10px;letter-spacing:7px;color:var(--accent);text-transform:uppercase;margin-bottom:32px;display:flex;align-items:center;justify-content:center;gap:16px}
.svc-hero-label::before,.svc-hero-label::after{content:'';width:48px;height:1px;background:var(--accent);opacity:0.5}
.svc-hero-title{font-family:'Cormorant Garamond',serif;font-size:clamp(32px,5vw,56px);font-weight:400;color:#f0ebe3;line-height:1.3;margin-bottom:24px;text-wrap:balance}
.svc-hero-title em{font-style:italic;color:var(--accent)}
.svc-hero-sub{font-size:16px;color:rgba(240,235,227,.85);line-height:2;font-weight:400;max-width:560px;margin:0 auto}

/* SERVICES CARDS */
.svc-section{padding:100px 5vw;max-width:900px;margin:0 auto}
.svc-card{background:#f5f2ed;border:1px solid rgba(196,163,90,0.15);border-left:4px solid var(--accent);border-radius:16px;padding:48px 44px;margin-bottom:40px;display:grid;grid-template-columns:80px 1fr;gap:36px;align-items:start;transition:transform .4s,box-shadow .4s;color:#1a1714}
.svc-card:hover{transform:translateY(-4px);box-shadow:0 16px 48px rgba(196,163,90,.1)}
.svc-bot{width:80px;height:80px;flex-shrink:0}
.svc-bot svg{display:block;width:100%;height:100%}
.svc-name{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:600;margin-bottom:16px;line-height:1.3;color:#1a1714}
.svc-desc{font-size:15px;color:var(--text);line-height:2.1;font-weight:400;margin-bottom:20px}
.svc-price{display:inline-flex;align-items:center;gap:8px;font-family:'Sora',sans-serif;font-size:13px;color:var(--accent);font-weight:600;letter-spacing:1px;margin-bottom:16px}
.svc-price::before{content:'';width:20px;height:1px;background:var(--accent);opacity:0.5}
.svc-recommend{font-size:14px;color:var(--text);line-height:2;font-weight:400}
.svc-recommend strong{color:#1a1714;font-weight:500;font-size:11px;font-family:'Sora',sans-serif;letter-spacing:2px;text-transform:uppercase;display:block;margin-bottom:6px}
.svc-examples{font-size:12px;color:var(--accent);margin-top:12px;font-family:'Sora',sans-serif;letter-spacing:1px}
.svc-maint-note{font-size:11px;color:#8b8378;margin-top:6px;margin-bottom:10px;font-weight:300;letter-spacing:.2px;line-height:1.6}
.svc-maint-note::before{content:'※ ';color:var(--accent);opacity:.7}
.svc-price-tba{display:inline-flex;align-items:center;gap:8px;font-family:'Sora',sans-serif;font-size:13px;color:var(--accent);font-weight:600;letter-spacing:1px;margin-bottom:16px}
.svc-price-tba::before{content:'';width:20px;height:1px;background:var(--accent);opacity:0.5}

/* FLOW */
.svc-flow{padding:100px 5vw;background:#1a1714}
.svc-flow-inner{max-width:1000px;margin:0 auto}
.svc-flow .sec-label{justify-content:center}
.svc-flow .sec-heading{text-align:center}
.svc-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:64px}
.svc-step{text-align:center;position:relative}
.svc-step::after{content:'';position:absolute;top:28px;right:-16px;width:32px;height:1px;background:var(--accent);opacity:0.3}
.svc-step:last-child::after{display:none}
.svc-step-num{font-family:'Cormorant Garamond',serif;font-size:40px;font-weight:400;color:var(--accent);line-height:1;margin-bottom:16px}
.svc-step-title{font-family:'Sora',sans-serif;font-size:13px;font-weight:600;letter-spacing:1px;margin-bottom:8px}
.svc-step-text{font-size:14px;color:rgba(240,235,227,0.88);line-height:1.9;font-weight:400}

/* CTA DARK */
.svc-cta{background:#1a1714;padding:120px 5vw;text-align:center}
.svc-cta-title{font-family:'Cormorant Garamond',serif;font-size:clamp(24px,4vw,40px);font-weight:400;color:#f0ebe3;margin-bottom:16px;text-wrap:balance}
.svc-cta-sub{font-size:15px;color:rgba(240,235,227,.85);margin-bottom:40px;font-weight:400}
.svc-cta .cta-btn{border-color:var(--accent);color:var(--accent)}
.svc-cta .cta-btn::before{background:var(--accent)}
.svc-cta .cta-btn:hover{color:#fff;border-color:var(--accent)}
.svc-cta-note{font-size:12.5px;color:rgba(240,235,227,.7);margin-top:20px}

/* RESPONSIVE */
@media(max-width:900px){
  .svc-hero{padding:120px 5vw 80px}
  .svc-card{grid-template-columns:1fr;gap:20px;padding:32px 24px}
  .svc-bot{margin:0 auto}
  .svc-steps{grid-template-columns:1fr 1fr;gap:40px 24px}
  .svc-step::after{display:none}
}
@media(max-width:768px){
  .svc-section{padding:72px 5vw}
  .svc-flow{padding:72px 5vw}
  .svc-cta{padding:80px 5vw}
  .svc-name{font-size:20px}
  .svc-desc{font-size:13px}
  .svc-step-text{font-size:12px}
}
@media(max-width:480px){
  .svc-steps{grid-template-columns:1fr}
  .svc-hero-title{font-size:28px}
  .svc-card{padding:24px 20px}
}

/* FAQ PAGE */
.faq-list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.faq-item{border-radius:12px;overflow:hidden}
.faq-q{background:#f5f2ed;padding:20px 24px;cursor:pointer;display:flex;align-items:center;gap:16px;border:1px solid rgba(196,163,90,0.15);border-radius:12px;transition:border-color .3s;color:#1a1714}
.faq-q:hover{border-color:rgba(196,163,90,.3)}
.faq-q-mark{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:600;color:var(--accent);flex-shrink:0;width:28px}
.faq-q-text{font-size:16px;font-weight:500;flex:1;line-height:1.6;color:#1a1714}
.faq-q-icon{font-family:'Cormorant Garamond',serif;font-size:24px;color:var(--accent);flex-shrink:0;width:24px;text-align:center;transition:transform .3s}
.faq-item.open .faq-q-icon{transform:rotate(45deg)}
.faq-item.open .faq-q{border-color:rgba(196,163,90,.3);border-radius:12px 12px 0 0}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.4,0,.2,1)}
.faq-a-inner{padding:16px 24px 24px 68px;font-size:15px;color:var(--text);line-height:2;font-weight:400;background:#f5f2ed;border:1px solid rgba(196,163,90,0.15);border-top:none;border-radius:0 0 12px 12px}
.faq-a-inner a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.faq-section{padding:80px 5vw 120px;max-width:1000px;margin:0 auto}
@media(max-width:768px){
  .faq-q{padding:16px 18px;gap:12px}
  .faq-q-text{font-size:14px}
  .faq-a-inner{padding:12px 18px 20px 56px;font-size:14px}
  .faq-section{padding:60px 5vw 80px}
}
@media(max-width:480px){
  .faq-q-mark{font-size:18px;width:24px}
  .faq-q-text{font-size:13px}
  .faq-q-icon{font-size:20px;width:20px}
  .faq-a-inner{padding:12px 16px 18px 48px;font-size:13px}
}
