/* Services uses the shared palette and type system with an editorial two-column grid. */
.expertise-page{padding-top:64px;padding-bottom:80px}
.expertise-intro{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:64px;align-items:center;margin-bottom:56px}
.expertise-intro h1{font-size:var(--heading-page);line-height:1.03;letter-spacing:-2.8px;margin-bottom:28px}
.expertise-intro .lead{font-size:17px;line-height:1.7;margin:0;max-width:530px}
.expertise-image{margin:0;min-width:0}
.expertise-image img{display:block;width:100%;height:340px;object-fit:cover;object-position:55% 55%;filter:saturate(.7)}
.expertise-image figcaption{font-size:9px;text-transform:uppercase;letter-spacing:1.8px;color:var(--text-muted);margin-top:14px}
.expertise-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--border);margin-bottom:24px}
.expertise-index a{display:flex;align-items:center;gap:20px;padding:24px 0;font-size:13px}
.expertise-index a+a{border-left:1px solid var(--border);padding-left:28px}
.expertise-index a>span:first-child{font-size:11px;color:var(--text-muted)}
.expertise-index a>span:last-child{margin-left:auto;padding-right:24px;transition:transform var(--duration-fast) var(--ease-precise)}
.expertise-index a:hover>span:last-child{transform:translateY(3px)}
.expertise-page .service-detail{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:80px;padding-block:64px;border-top:0;border-bottom:1px solid var(--border);scroll-margin-top:24px}
.service-heading{min-width:0}
.expertise-page .service-heading h2{font-size:clamp(32px,3vw,44px);line-height:1.1;letter-spacing:-1.7px;margin-bottom:20px}
.expertise-page .service-heading .eyebrow{font-size:10px;letter-spacing:1.8px;margin-bottom:24px}
.expertise-page .service-note{font-size:15px;line-height:1.6;color:var(--text-muted);margin-bottom:32px}
.service-visual{display:block;max-width:390px}
.service-visual img{display:block;width:100%;height:220px;object-fit:cover;filter:saturate(.65);transition:filter var(--duration-project) var(--ease-precise)}
.service-visual:hover img{filter:saturate(.9)}
.service-visual>span{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px;border-bottom:1px solid var(--border);font-size:11px;line-height:1.5}
.service-copy{padding-top:36px;min-width:0}
.expertise-page .service-copy p{font-size:16px;line-height:1.85;margin-bottom:22px}
.expertise-page .service-copy>p:first-child{font-size:19px;line-height:1.65;color:var(--ink);margin-bottom:28px}
.expertise-page .service-copy h3{font-size:18px;font-weight:500;margin-top:32px;margin-bottom:18px;letter-spacing:-.3px}
.service-copy .content-list{list-style:none;padding:0;margin-block:0 28px}
.service-copy .content-list li{font-size:14px;line-height:1.7;margin:0;padding:13px 0 13px 20px;border-bottom:1px solid #d6c8b780;position:relative}
.service-copy .content-list li::before{content:"";position:absolute;width:4px;height:4px;background:#988774;left:0;top:23px}
.service-copy .text-link{font-size:13px;margin-top:10px;margin-bottom:0}
.service-focus{max-width:390px;border-top:1px solid var(--border);margin-top:40px}
.service-focus span{display:block;font-size:10px;letter-spacing:1.7px;padding-block:19px;border-bottom:1px solid var(--border);color:var(--text-muted)}
.expertise-page .faq{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:80px;max-width:none;margin-top:0;padding-block:72px 0;border-top:0}
.expertise-page .faq h2{font-size:44px;letter-spacing:-1.7px}
.faq-heading>p:last-child{font-size:15px;max-width:240px}
.faq-questions{border-top:1px solid var(--border)}
.expertise-page .faq details{padding-block:22px}
.expertise-page .faq summary{font-size:16px;list-style:none;position:relative;padding-right:35px}
.expertise-page .faq summary::-webkit-details-marker{display:none}
.expertise-page .faq summary::after{content:"+";position:absolute;right:0;top:0;font-size:22px;font-weight:400;color:var(--text-muted)}
.expertise-page .faq details[open] summary::after{content:"−"}
.expertise-page .faq details p{font-size:15px;line-height:1.8}
@media(max-width:1100px){
 .expertise-intro{gap:40px}.expertise-intro h1{font-size:52px}.expertise-image img{height:320px}
 .expertise-page .service-detail,.expertise-page .faq{gap:48px}
 .expertise-page .service-heading h2{font-size:34px}
 .service-visual img{height:200px}
}
@media(max-width:900px){
 .expertise-page{padding-top:48px}.expertise-intro{grid-template-columns:minmax(0,1fr);gap:32px;margin-bottom:40px}
 .expertise-intro h1{font-size:58px}.expertise-intro .lead{max-width:600px}
 .expertise-image img{height:280px;object-position:center 58%}
 .expertise-index a{font-size:12px;gap:12px}.expertise-index a+a{padding-left:18px}.expertise-index a>span:last-child{padding-right:12px}
 .expertise-page .service-detail{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:32px;padding-block:48px}
 .expertise-page .service-heading h2{font-size:30px}.service-copy{padding-top:34px}
 .service-visual img{height:180px}.expertise-page .service-copy>p:first-child{font-size:17px}
 .expertise-page .service-copy p{font-size:15px}
 .expertise-page .faq{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:32px;padding-top:48px}
 .expertise-page .faq h2{font-size:36px}
}
@media(max-width:600px){
 .expertise-page{padding-top:40px;padding-bottom:56px}.expertise-intro{gap:28px;margin-bottom:32px}
 .expertise-intro h1{font-size:var(--heading-page-mobile);letter-spacing:-1.8px;margin-bottom:24px}.expertise-intro .lead{font-size:15px;line-height:1.75}
 .expertise-image img{height:220px}.expertise-image figcaption{font-size:8px;line-height:1.5}
 .expertise-index{grid-template-columns:minmax(0,1fr);margin-bottom:0}
 .expertise-index a{min-height:56px;padding-block:16px;font-size:13px}.expertise-index a+a{border-left:0;border-top:1px solid var(--border);padding-left:0}.expertise-index a>span:last-child{padding-right:0}
 .expertise-page .service-detail{grid-template-columns:minmax(0,1fr);gap:24px;padding-block:40px}
 .expertise-page .service-heading h2{font-size:34px;margin-bottom:16px}.expertise-page .service-heading .eyebrow{margin-bottom:18px}
 .expertise-page .service-note{font-size:14px;margin-bottom:24px}.service-note br{display:none}
 .service-visual{max-width:none}.service-visual img{height:220px}.service-copy{padding-top:0}
 .expertise-page .service-copy>p:first-child{font-size:17px}.expertise-page .service-copy p{font-size:15px;line-height:1.8}
 .service-focus{margin-top:24px;max-width:none}.service-focus span{padding-block:16px;font-size:9px}
 .expertise-page .faq{grid-template-columns:minmax(0,1fr);gap:24px;padding-top:40px}
 .expertise-page .faq h2{font-size:34px}.expertise-page .faq h2 br{display:none}.faq-heading>p:last-child{max-width:none;margin-bottom:0}
 .expertise-page .faq summary{font-size:15px}.expertise-page .faq details p{font-size:14px}
}

.expertise-page .faq .eyebrow{font-size:10px;line-height:1.5;letter-spacing:1.8px}

.expertise-image .digital-craft{min-height:340px}
.service-visual .digital-craft{box-shadow:none}
.service-visual .craft-toolbar{padding:11px 16px;font-size:7px}
.service-visual .craft-body{padding:20px}
.service-visual .digital-craft h3{font-size:29px;margin-bottom:20px}
.service-visual .craft-stat b{font-size:26px}
.service-visual .craft-chart{height:64px}
.service-visual .craft-shop{grid-template-columns:minmax(0,1fr) minmax(0,.8fr)}
.service-visual .craft-shop img{height:190px;filter:saturate(.5)}
@media(max-width:900px){.service-visual .craft-body{padding:16px}.service-visual .digital-craft h3{font-size:24px}.service-visual .craft-toolbar{font-size:6px;padding:10px}.service-visual .craft-stat b{font-size:22px}.service-visual .craft-shop{grid-template-columns:minmax(0,1fr)}.service-visual .craft-shop img{height:150px}}
@media(max-width:600px){.expertise-image .digital-craft{min-height:0}.service-visual .craft-shop{grid-template-columns:minmax(0,1fr) minmax(0,.8fr)}.service-visual .craft-shop img{height:190px}}


/* Keep recovered portfolio images intact within the service preview. */
.service-visual>img{height:auto;object-fit:contain;filter:none}
.service-visual:hover>img{filter:none}

/* Keep the expertise index balanced as the service range grows. */
@media(min-width:901px){.expertise-index{grid-template-columns:repeat(4,minmax(0,1fr))}.expertise-index a{gap:12px}.expertise-index a+a{padding-left:18px}.expertise-index a>span:last-child{padding-right:12px}}
