/* The service template extends the already published Manrope / Tenor Sans site.
   Existing pages do not load this stylesheet. */
.service-page { --reading-width:820px; }
.service-page #main { scroll-margin-top:80px; }
.service-hero { position:relative; display:flex; flex-direction:column; justify-content:flex-end; min-height:530px; margin:0 auto; padding:58px var(--gutter) 34px; isolation:isolate; color:#fff; background:#343732; }
.service-hero .article-hero-bg { position:absolute; inset:0; z-index:-2; overflow:hidden; }
.service-hero .article-hero-bg img { width:100%; height:100%; object-fit:cover; object-position:center 53%; }
.service-hero::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(15,19,15,.69),rgba(15,19,15,.16)),linear-gradient(0deg,rgba(15,19,15,.46),transparent 70%); }
.service-hero .article-hero-content { width:min(1040px,90%); padding-block:36px 58px; }
.service-hero h1 { margin:0; max-width:1040px; font:400 clamp(42px,4.45vw,72px)/1.1 var(--type); letter-spacing:-.04em; text-wrap:balance; }
.service-hero .article-hero-subtitle { max-width:660px; margin:24px 0 0; font-size:18px; line-height:1.6; color:#fff; }
.service-hero .article-hero-breadcrumbs { border-top:1px solid #ffffff55; padding-top:23px; }
.service-hero .article-hero-breadcrumbs .container { display:flex; align-items:center; flex-wrap:wrap; gap:10px; font-size:13px; line-height:1.7; }
.service-hero .article-hero-breadcrumbs a { display:inline-flex; align-items:center; min-height:26px; }
.service-hero .article-hero-breadcrumbs a:hover { text-decoration:underline; }
.service-hero .breadcrumb-separator { opacity:.65; }
.service-layout { display:grid; grid-template-columns:minmax(180px,240px) minmax(0,var(--reading-width)); justify-content:space-between; gap:clamp(48px,7vw,120px); max-width:1440px; margin:0 auto; padding:82px var(--gutter) 100px; align-items:start; }
.service-sidebar { position:sticky; top:116px; }
.service-sidebar .article-toc { font-size:14px; line-height:1.55; }
.service-toc-title { margin:0 0 19px; font-size:13px; color:var(--muted); }
.service-sidebar ul { margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }
.service-sidebar li { border-bottom:1px solid var(--line); }
.service-sidebar a { display:block; padding:12px 0; }
.service-sidebar a:hover { text-decoration:underline; }
.service-copy { min-width:0; font:400 17px/1.85 var(--type); overflow-wrap:break-word; }
.service-copy p { margin:0 0 22px; }
.service-copy .article-lead { font-size:20px; line-height:1.7; margin-bottom:52px; }
.service-copy h2 { margin:70px 0 26px; font:400 clamp(28px,2.6vw,39px)/1.2 var(--type); letter-spacing:-.035em; text-wrap:balance; }
.service-copy h3 { margin:34px 0 14px; font:500 22px/1.4 var(--type); letter-spacing:-.02em; }
.service-copy :is(h2,h3,[id]) { scroll-margin-top:115px; }
.service-copy strong { font-weight:650; }
.service-copy a:not(.service-action) { text-decoration:underline; text-decoration-color:#a8aca3; text-decoration-thickness:1px; }
.service-copy a:hover { text-decoration-color:currentColor; }
.service-copy ul,.service-copy ol { padding-left:22px; margin:20px 0 28px; }
.service-copy li { margin-block:10px; padding-left:4px; }
.service-table-scroll { max-width:100%; overflow-x:auto; margin:28px 0; border-block:1px solid var(--line); scrollbar-width:thin; }
.service-copy table { width:100%; border-collapse:collapse; font-size:14px; line-height:1.65; text-align:left; }
.service-copy th,.service-copy td { padding:17px 16px; vertical-align:top; min-width:135px; border-bottom:1px solid var(--line); }
.service-copy th { font-weight:650; background:var(--surface); }
.service-copy tr:last-child td { border-bottom:0; }
.service-copy th:first-child,.service-copy td:first-child { padding-left:16px; min-width:146px; }
.service-copy .article-note,.service-copy .article-tip,.service-copy .article-warning,.service-copy .tip-box,.service-copy .warning-box { margin:32px 0; padding:24px 28px; background:var(--surface); border-left:2px solid #9ba391; font-size:16px; }
.service-copy .article-note p:last-child,.service-copy .article-tip p:last-child,.service-copy .article-warning p:last-child { margin-bottom:0; }
.service-copy .advantages-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px 40px; margin-block:32px; }
.service-copy .advantage-card { padding-top:20px; border-top:1px solid var(--line); }
.service-copy .advantage-card h3 { margin-top:0; }
.service-copy .advantage-card p { font-size:15px; line-height:1.75; }
.service-copy .article-gallery { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:32px 0 60px; }
.service-copy .gallery-item { min-width:0; overflow:hidden; }
.service-copy .gallery-item img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.service-copy .faq-item { padding:28px 0; border-top:1px solid var(--line); }
.service-copy .faq-item h3 { margin:0 0 14px; font-size:20px; }
.service-copy .faq-item p { margin:0; }
.service-copy .article-cta { margin-top:60px; padding:36px; background:var(--surface); }
.service-copy .article-cta h2 { margin:0 0 16px; }
.service-action { display:inline-flex; justify-content:center; padding:15px 24px; min-height:52px; background:var(--ink); color:var(--paper); font-size:15px; line-height:1.5; }
.service-action:hover { background:var(--accent); }
.service-related { max-width:1440px; margin:0 auto; padding:0 var(--gutter) 90px; }
.service-related > section { padding:54px 0 12px; border-top:1px solid var(--line); }
.service-related > section + section { margin-top:52px; }
.service-related h2 { margin:0 0 34px; font-size:clamp(28px,3vw,42px); line-height:1.2; }
.service-related .services-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px 44px; }
.service-related a { display:block; padding:16px 0; border-top:1px solid var(--line); }
.service-related a:hover h3 { text-decoration:underline; text-decoration-thickness:1px; }
.service-related h3 { font-weight:500; font-size:19px; line-height:1.45; margin:0 0 9px; }
.service-related p { font-size:14px; line-height:1.7; margin:0; color:var(--muted); }
@media(min-width:1920px) { .service-hero { padding-inline:80px; } }
@media(max-width:1000px) {
 .service-hero { min-height:470px; }
 .service-layout { grid-template-columns:minmax(0,1fr); gap:42px; max-width:900px; padding-top:54px; }
 .service-sidebar { position:static; }
 .service-sidebar ul { display:grid; grid-template-columns:1fr 1fr; column-gap:32px; }
 .service-copy .article-lead { font-size:19px; }
 .service-related .services-links { grid-template-columns:1fr 1fr; }
}
@media(max-width:760px) {
 .service-page #main { scroll-margin-top:72px; }
 .service-hero { min-height:480px; padding-top:42px; padding-bottom:22px; }
 .service-hero .article-hero-content { width:100%; padding-block:18px 36px; }
 .service-hero h1 { font-size:clamp(34px,8.8vw,54px); line-height:1.13; text-wrap:initial; }
 .service-hero .article-hero-subtitle { font-size:16px; line-height:1.65; margin-top:21px; }
 .service-hero .article-hero-breadcrumbs .container { font-size:12px; gap:5px 9px; }
 .service-hero .article-hero-bg img { object-position:58% center; }
 .service-hero::before { background:rgba(15,19,15,.58); }
 .service-layout { padding-block:38px 62px; gap:34px; }
 .service-sidebar .article-toc { font-size:13px; }
 .service-sidebar ul { column-gap:20px; }
 .service-sidebar a { padding:10px 0; }
 .service-copy { font-size:16px; line-height:1.8; }
 .service-copy .article-lead { font-size:18px; line-height:1.75; margin-bottom:40px; }
 .service-copy h2 { margin-top:48px; font-size:29px; }
 .service-copy h3 { font-size:21px; }
 .service-copy th,.service-copy td { padding:14px 12px; min-width:138px; }
 .service-copy .advantages-grid { gap:12px 24px; }
 .service-copy .article-gallery { gap:10px; margin-bottom:44px; }
 .service-copy .article-note,.service-copy .article-tip,.service-copy .article-warning,.service-copy .tip-box,.service-copy .warning-box { padding:20px; font-size:15px; }
 .service-copy .article-cta { padding:26px 22px; }
 .service-copy .article-cta h2 { font-size:28px; }
 .service-related { padding-bottom:64px; }
 .service-related .services-links { grid-template-columns:1fr; gap:8px; }
 .service-related > section { padding-top:36px; }
 .service-related > section + section { margin-top:36px; }
}
@media(max-width:420px) { .service-copy .advantages-grid { grid-template-columns:1fr; } }
