.detail-page{max-width:1280px;margin:0 auto;padding:clamp(48px,7vw,80px) clamp(20px,4.4vw,56px);overflow-wrap:anywhere}
.detail-heading nav{font-size:14px;color:#8a867f;margin-bottom:18px;line-height:1.6}
.detail-heading nav a{color:inherit}
.detail-heading h1{font-size:clamp(38px,5.6vw,68px);line-height:1.08;font-weight:800;letter-spacing:-.025em;margin:0 0 40px;max-width:1000px;text-wrap:balance}
.detail-content{max-width:860px;font-size:17px;line-height:1.75;color:#4a4844}
.detail-content h2,.detail-images h2{color:#141414;font-size:clamp(26px,3vw,36px);line-height:1.2;font-weight:800;letter-spacing:-.02em;margin:40px 0 20px}
.detail-content h3{color:#141414;font-size:24px;line-height:1.3;margin:32px 0 12px}
.detail-content h4{color:#141414;font-size:18px;margin:24px 0 6px}
.detail-content p{margin:0 0 18px}
.detail-content ul,.detail-content ol{padding-left:24px;margin:0 0 24px}
.detail-content a{color:#141414;text-underline-offset:3px}
.detail-content img{display:block;width:100%;height:auto;max-height:560px;object-fit:cover;border-radius:2px;margin:28px 0 40px}
.detail-content table{width:100%;border-collapse:collapse}
.detail-content th,.detail-content td{padding:12px;text-align:left;border-bottom:1px solid #e4e1db}
.detail-topics{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:40px}
.detail-topics a{border:1px solid #d6d3cd;background:#fff;color:#141414;text-decoration:none;padding:10px 14px;font-size:15px;font-weight:500}
.detail-topics a:hover,.service-topic:hover{border-color:#141414;color:#c4161c}
.detail-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px;margin-top:24px}
.detail-gallery img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;background:#e4e1db;border-radius:2px}
.detail-actions{display:flex;flex-wrap:wrap;gap:24px;align-items:center;border-top:1px solid #e4e1db;margin-top:48px;padding-top:32px}
.detail-actions a{color:#141414;font-weight:600}
.detail-actions .detail-button,.detail-content .detail-download{display:inline-block;background:#c4161c;color:#fff;padding:14px 24px;border-radius:2px;text-decoration:none;font-weight:600}
.detail-actions .detail-button:hover,.detail-content .detail-download:hover{background:#a31217}

.service-heading{display:flex;align-items:center;gap:.35em;font-size:clamp(30px,3.6vw,42px);line-height:1.2;font-weight:800;letter-spacing:-.02em;margin:0 0 22px}
.service-heading img{display:block;width:auto;height:.75em;height:1cap;flex:none}
.service-heading span{min-width:0;overflow-wrap:anywhere}
@media(max-width:600px){.service-heading{font-size:clamp(24px,7.5vw,30px)}}

.services-trigger{display:flex;align-items:center;gap:2px}
.services-trigger>a{color:inherit;text-decoration:none;padding:8px 0}
.services-trigger>button{border:0;background:none;color:inherit;font:inherit;width:26px;height:34px;padding:0;cursor:pointer}
.services-menu{max-height:calc(100dvh - 140px);overflow-y:auto;overscroll-behavior:contain}
.services-menu-grid{max-width:1280px;margin:0 auto;padding:36px clamp(20px,4.4vw,56px) 40px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px}
.services-menu-group{min-width:0;display:flex;flex-direction:column;gap:8px;overflow-wrap:anywhere}
.services-menu-heading{display:flex;gap:.4em;align-items:center;color:#141414;text-decoration:none;font-weight:700;font-size:16px;line-height:1.4;margin-bottom:6px}
.services-menu-heading img{display:block;width:auto;height:.75em;height:1cap;flex:none}
.services-menu-heading span{min-width:0}
.services-menu-topic{font-size:14px;line-height:1.6;color:#5c5954;text-decoration:none;padding:2px 0}
.services-menu a:hover{color:#c4161c}
#mobile-navigation{max-height:calc(100dvh - 150px);overflow-y:auto;overscroll-behavior:contain}
.mobile-services-row{display:flex;align-items:center;gap:12px;padding:0 clamp(20px,4.4vw,56px);border-bottom:1px solid #eee;min-width:0}
.mobile-services-row>a{color:#141414;text-decoration:none;padding:16px 0;flex:1;min-width:0;overflow-wrap:anywhere}
.mobile-services-row>button{width:44px;height:44px;flex:none;border:1px solid #e4e1db;border-radius:2px;color:#141414;background:#fff;font-size:22px;cursor:pointer}
.mobile-services{background:#fbfaf8}
.mobile-services .mobile-services-row{padding-left:clamp(32px,6vw,72px);font-size:16px}
.mobile-service-topics{display:flex;flex-direction:column;padding:8px clamp(20px,4.4vw,56px) 12px clamp(44px,8vw,88px);border-bottom:1px solid #e4e1db}
.mobile-service-topics a{display:block;color:#5c5954;text-decoration:none;font-size:15px;font-weight:400;line-height:1.5;padding:12px 0;overflow-wrap:anywhere}
.mobile-service-topics a:hover{color:#c4161c}
@media(min-width:960px) and (max-width:1199px){.services-menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
