/* Shared presentation; all service copy and media remain native Elementor widgets. */
.tpp-service-page .header-breadcamb-fixer { display: none; }
.tpp-service { --svc-ink:#182e3b; --svc-red:#d8242f; --svc-muted:#526570; --svc-line:#dde5e8; color:var(--svc-ink); font-family:Inter,Arial,sans-serif; text-align:left; }
.tpp-service, .tpp-service * { box-sizing:border-box; }
.tpp-service.e-con, .tpp-service .e-con { --container-max-width:none; --container-default-padding:0px; --widgets-spacing:0px; --gap:0px; --row-gap:0px; --column-gap:0px; gap:0; padding:0; margin:0; min-width:0; max-width:none; }
.tpp-service.e-con { width:100%; }
.tpp-service .elementor-widget { margin:0; min-width:0; --widgets-spacing:0px; }
.tpp-service .elementor-widget-container { margin:0; }
.tpp-service .tpp-service-wrap { width:calc(100% - 48px); max-width:1240px; margin-inline:auto; }
.tpp-service :is(h1,h2,h3,h4) { font-family:inherit; color:var(--svc-ink); letter-spacing:-.7px; }
.tpp-service .elementor-widget-heading .elementor-heading-title { margin:0 !important; padding:0; }
.tpp-service p { margin:0 0 20px; }
.tpp-service p:last-child { margin-bottom:0; }
.tpp-service a:focus-visible, .tpp-service button:focus-visible { outline:3px solid var(--svc-red); outline-offset:4px; }
.tpp-service .tpp-service-hero { position:relative; padding-block:34px 42px; background:var(--svc-ink); border-bottom:3px solid var(--svc-red); }
.tpp-service .tpp-service-hero > .tpp-service-wrap { gap:24px; }
.tpp-service .tpp-service-title h1 { max-width:1050px; color:#fff; font-size:clamp(31px,7.8vw,42px); font-weight:500; letter-spacing:-1.2px; line-height:1.15; overflow-wrap:break-word; text-wrap:balance; }
.tpp-service .tpp-service-back { width:auto; align-self:flex-start; }
.tpp-service .tpp-service-back .elementor-button { display:inline-flex; align-items:center; gap:12px; padding:7px 0; min-height:44px; border:0; background:none; color:#d7e2e8; border-radius:0; font:500 13px/1.5 Inter,Arial,sans-serif; letter-spacing:.3px; }
.tpp-service .tpp-service-back .elementor-button::before { content:'←'; color:#f48389; font-size:20px; }
.tpp-service .tpp-service-back .elementor-button:hover { color:#fff; }
.tpp-service .tpp-service-body { padding-block:26px 64px; background:#fff; }
.tpp-service .tpp-service-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:28px; align-items:start; }
.tpp-service .tpp-service-nav { display:block; background:#f5f7f7; border:1px solid var(--svc-line); border-radius:4px; padding:22px 18px; }
.tpp-service .tpp-service-nav-title h2 { font-size:17px; font-weight:600; letter-spacing:-.3px; padding:0 8px 17px !important; }
.tpp-service .tpp-service-menu :is(nav,ul) { width:100%; margin:0; padding:0; }
.tpp-service .tpp-service-menu .hfe-nav-menu { width:100%; }
.tpp-service .tpp-service-menu .hfe-nav-menu__toggle { display:none; }
.tpp-service .tpp-service-menu li.menu-item { display:block; width:100%; margin:0; padding:0; border:0; }
.tpp-service .tpp-service-menu a.hfe-menu-item { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:50px; margin:0; padding:14px 12px; border:0; border-bottom:1px solid var(--svc-line); border-radius:0; color:var(--svc-muted); background:transparent; font:500 13px/1.6 Inter,Arial,sans-serif; text-align:left; white-space:normal; }
.tpp-service .tpp-service-menu li:last-child a { border-bottom:0; }
.tpp-service .tpp-service-menu a.hfe-menu-item::before, .tpp-service .tpp-service-menu a.hfe-menu-item::after { display:none; }
.tpp-service .tpp-service-menu a.hfe-menu-item > .rs__menu_sp_dyc { position:static; display:inline-flex; flex:0 0 20px; width:20px; min-width:20px; height:20px; margin-inline-start:auto; align-items:center; justify-content:center; transform:none; color:inherit; font-size:18px; line-height:1; }
.tpp-service .tpp-service-menu .current-menu-item > a.hfe-menu-item { color:#fff; background:var(--svc-ink); border-left:3px solid var(--svc-red); padding-left:9px; border-bottom-color:var(--svc-ink); }
.tpp-service .tpp-service-menu a.hfe-menu-item:hover { color:var(--svc-red); background:#eaf0f2; }
.tpp-service .tpp-service-menu .current-menu-item > a.hfe-menu-item:hover { color:#fff; background:#254453; }
.tpp-service-toggle { display:none; }
.tpp-service .tpp-service-article { gap:32px; }
.tpp-service .tpp-service-media { width:100%; min-width:0; overflow:hidden; background:#f3f5f5; border:1px solid var(--svc-line); border-radius:4px; }
.tpp-service .tpp-service-media.elementor-widget-image img { display:block; width:100%; height:auto; max-height:520px; object-fit:contain; border-radius:0; }
.tpp-service .tpp-service-media .elementor-slides-wrapper { height:auto; }
.tpp-service .tpp-service-media .swiper-slide { height:clamp(220px,53vw,440px) !important; }
.tpp-service .tpp-service-media .swiper-slide-bg { background-size:contain !important; background-position:center; background-repeat:no-repeat; background-color:#f3f5f5; }
.tpp-service .tpp-service-media .swiper-slide-bg img { width:100%; height:100%; object-fit:contain; }
.tpp-service .tpp-service-media .elementor-slide-heading:empty, .tpp-service .tpp-service-media .elementor-slide-description:empty { display:none; }
.tpp-service .tpp-service-media .elementor-swiper-button { display:flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%; background:rgba(24,46,59,.9); color:#fff; font-size:17px; }
.tpp-service .tpp-service-media .elementor-swiper-button-prev { left:12px; }
.tpp-service .tpp-service-media .elementor-swiper-button-next { right:12px; }
.tpp-service .tpp-service-media .swiper-pagination { position:absolute; bottom:10px; padding:5px 10px; line-height:1; }
.tpp-service .tpp-service-media .swiper-pagination-bullet { width:9px; height:9px; opacity:1; background:#a0afb8; border:1px solid #fff; }
.tpp-service .tpp-service-media .swiper-pagination-bullet-active { background:var(--svc-red); }
.tpp-service .tpp-service-copy { gap:24px; }
.tpp-service .tpp-service-copy .elementor-widget-text-editor { color:var(--svc-muted); font:400 16px/1.8 Inter,Arial,sans-serif; overflow-wrap:break-word; }
.tpp-service .tpp-service-copy .tpp-service-lead { color:var(--svc-ink); font-size:17px; line-height:1.8; }
.tpp-service .tpp-service-copy :is(h2,h3,h4) { font-size:23px; font-weight:600; line-height:1.4; margin:34px 0 18px; }
.tpp-service .tpp-service-copy h4:first-child { margin-top:0; }
.tpp-service .tpp-service-copy strong { font-weight:600; color:var(--svc-ink); }
.tpp-service .tpp-service-copy p:has(> strong:only-child) { margin-top:30px; font-size:22px; line-height:1.4; letter-spacing:-.5px; }
.tpp-service .tpp-service-copy p:first-child:has(> strong:only-child) { margin-top:0; }
.tpp-service .tpp-service-copy ul, .tpp-service .tpp-service-copy ol { padding-left:23px; margin:22px 0; }
.tpp-service .tpp-service-copy li { padding-left:5px; margin-bottom:16px; }
.tpp-service .tpp-service-copy li:last-child { margin-bottom:0; }
.tpp-service .tpp-service-copy li::marker { color:var(--svc-red); font-weight:600; }
.tpp-service .tpp-service-copy ul:last-child, .tpp-service .tpp-service-copy ol:last-child { margin-bottom:0; }
.tpp-service .tpp-service-copy .tpp-service-chapter { color:var(--svc-ink); padding-top:30px; border-top:1px solid var(--svc-line); margin-top:12px; font-size:22px; font-weight:500; line-height:1.4; letter-spacing:-.5px; }
.tpp-service .tpp-service-chapter ol { margin:0; padding-left:32px; }
.tpp-service .tpp-service-chapter li { margin:0; padding-left:8px; }
.tpp-service .tpp-service-chapter li p { margin:0; }
.tpp-service .tpp-service-chapter > .elementor-widget-container > p { display:none; }
.tpp-service .tpp-service-copy .tpp-service-checklist ul { display:grid; grid-template-columns:1fr; gap:10px; padding:0; list-style:none; }
.tpp-service .tpp-service-checklist li { position:relative; margin:0; padding:15px 16px 15px 32px; background:#f4f7f7; border-left:2px solid #dce5e8; font-size:15px; }
.tpp-service .tpp-service-checklist li::before { content:''; position:absolute; left:16px; top:25px; width:4px; height:4px; background:var(--svc-red); }
.tpp-service .tpp-service-empty { display:none; }
@media(max-width:899px) {
  .tpp-service .tpp-service-nav[data-tpp-services-ready] { padding:0; }
  .tpp-service-nav[data-tpp-services-ready] .tpp-service-nav-title { display:none; }
  .tpp-service-nav[data-tpp-services-ready] .tpp-service-toggle { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:56px; padding:16px 19px; border:0; border-radius:3px; background:#f5f7f7; color:#182e3b; font:600 15px/1.5 Inter,Arial,sans-serif; text-align:left; }
  .tpp-service-toggle::after { content:'+'; font-size:25px; font-weight:400; line-height:1; color:#d8242f; }
  .tpp-service-toggle[aria-expanded=true]::after { content:'−'; }
  .tpp-service-toggle[aria-expanded=false] ~ .tpp-service-menu { display:none; }
  .tpp-service-nav[data-tpp-services-ready] .tpp-service-menu { padding:0 12px 12px; }
  .tpp-service .tpp-service-media .elementor-swiper-button { width:40px; height:44px; }
}
@media(min-width:600px) {
  .tpp-service .tpp-service-wrap { width:calc(100% - 72px); }
  .tpp-service .tpp-service-hero { padding-block:40px 50px; }
  .tpp-service .tpp-service-title h1 { font-size:clamp(42px,5vw,62px); letter-spacing:-1.8px; }
  .tpp-service .tpp-service-body { padding-block:38px 80px; }
  .tpp-service .tpp-service-copy .tpp-service-checklist ul { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(min-width:900px) {
  .tpp-service .tpp-service-wrap { width:calc(100% - 96px); }
  .tpp-service .tpp-service-hero { padding-block:46px 60px; }
  .tpp-service .tpp-service-body { padding-block:52px 96px; }
  .tpp-service .tpp-service-grid { grid-template-columns:280px minmax(0,1fr); gap:48px; }
  .tpp-service .tpp-service-nav { position:sticky; top:120px; }
  .tpp-service .tpp-service-article { gap:40px; }
  .tpp-service .tpp-service-copy { gap:28px; }
  .tpp-service .tpp-service-copy .tpp-service-lead { font-size:19px; }
  .tpp-service .tpp-service-copy .tpp-service-chapter { font-size:25px; padding-top:36px; }
  .tpp-service .tpp-service-media .swiper-slide { height:440px !important; }
}
@media(min-width:1200px) { .tpp-service .tpp-service-grid { grid-template-columns:288px minmax(0,1fr); gap:64px; } }
@media(max-width:359px) {
  .tpp-service .tpp-service-wrap { width:calc(100% - 36px); }
  .tpp-service .tpp-service-title h1 { font-size:29px; }
  .tpp-service .tpp-service-media .swiper-slide { height:195px !important; }
}
@media(prefers-reduced-motion:reduce) { .tpp-service *, .tpp-service *::before, .tpp-service *::after { scroll-behavior:auto !important; transition:none !important; } }
