.our-expertise-hero{padding:160px 0 var(--sp-12);margin:0 auto;position:relative;overflow:hidden}.our-expertise-hero h1{font-size:clamp(var(--text-4xl),6vw,var(--text-6xl));font-weight:800;line-height:1.05;letter-spacing:-.03em;margin-bottom:var(--sp-4);color:navy}.expertise-sub{max-width:65ch;margin:0;margin-bottom:var(--sp-10)}.services-detail{padding:var(--sp-8) 0 var(--sp-24)}.services-tab-nav{display:flex;flex-wrap:wrap;gap:var(--sp-3);padding:var(--sp-2) 0 var(--sp-4);margin-bottom:var(--sp-12);justify-content:flex-start}.services-tab-btn{padding:var(--sp-4) var(--sp-8);font-size:var(--text-sm);font-weight:600;color:var(--text-2);background:#fff;border:1px solid var(--border);border-radius:var(--r-full);white-space:nowrap;transition:all var(--dur-fast) var(--ease-flow);flex-shrink:0}.services-tab-btn:hover{border-color:var(--border-hover);color:var(--text-1)}.services-tab-btn.active{background:navy;color:#fff;border-color:navy;box-shadow:var(--shadow-sm)}.services-panel{display:none;grid-template-columns:repeat(3,1fr);gap:var(--sp-6);align-items:stretch;animation:fadeIn .4s var(--ease-out) forwards}.services-panel.active{display:grid}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.expertise-card{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-6);display:flex;flex-direction:column;transition:box-shadow var(--dur-fast)}.expertise-card:hover{box-shadow:var(--shadow-sm)}.expertise-card h4{font-size:var(--text-lg);font-weight:700;color:var(--text-1);margin-bottom:var(--sp-4);line-height:1.3}.ec-image{width:100%;aspect-ratio:16/10;border-radius:var(--r-md);overflow:hidden;margin-bottom:var(--sp-4);background:#f4f5f7}.ec-image img{width:100%;height:100%;object-fit:cover}.expertise-card p{font-size:var(--text-sm);color:var(--text-2);line-height:1.6;margin-top:auto}.expertise-card-placeholder{grid-column:1 / -1;text-align:center;padding:var(--sp-12);background:var(--bg-card);border:1px dashed var(--border);border-radius:var(--r-lg);color:var(--text-3)}@media (min-width: 769px){.services-tab-btn{order:1}.services-panel{order:2;width:100%;margin-top:var(--sp-8)}}@media (max-width: 1024px){.services-panel{grid-template-columns:repeat(2,1fr)}.services-tab-nav{justify-content:flex-start}}@media (max-width: 768px){.services-tab-nav{flex-direction:column;gap:var(--sp-4);margin-bottom:var(--sp-8)}.services-tab-btn{order:initial;width:100%;text-align:left;display:flex;justify-content:space-between;align-items:center;border-radius:var(--r-md);padding:var(--sp-4) var(--sp-6)}.services-tab-btn:after{content:"▼";font-size:.65rem;transition:transform var(--dur-fast);opacity:.75}.services-tab-btn.active:after{transform:rotate(180deg)}.services-panel{order:initial;grid-template-columns:1fr;width:100%;margin-top:var(--sp-2);margin-bottom:var(--sp-6)}}.process{padding:var(--sp-24) 0;background:var(--bg-2)}.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-6);margin-top:var(--sp-12);position:relative}.process-steps:before{content:"";position:absolute;top:30px;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,var(--border),var(--primary),var(--border),transparent);z-index:0}.process-step{text-align:center;position:relative;z-index:1}.step-number{width:60px;height:60px;border-radius:50%;background:var(--bg);border:1px solid var(--border-glow);display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-size:var(--text-xl);font-weight:800;color:var(--accent-light);margin:0 auto var(--sp-5);transition:all var(--dur-base) var(--ease-flow);position:relative}.process-step:hover .step-number{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 0 20px var(--primary-glow);transform:scale(1.1)}.process-step h4{font-size:var(--text-base);font-weight:700;margin-bottom:var(--sp-3)}.process-step p{font-size:var(--text-sm);color:var(--text-2);line-height:1.7}@media (max-width: 768px){.process-steps{grid-template-columns:1fr 1fr}.process-steps:before{display:none}}@media (max-width: 480px){.process-steps{grid-template-columns:1fr}}
