/* Task Site 04.03. Current Frame Design editorial style, service routes only. */
#main-content .service-hero { padding-block:32px 40px; }
#main-content .service-breadcrumbs { margin-bottom:clamp(32px,5vw,64px); font-weight:400; }
#main-content .service-heading { display:block; max-width:1100px; }
#main-content .service-label { font-size:11px; font-weight:400; letter-spacing:.18em; line-height:1.6; color:inherit; opacity:.65; margin-bottom:22px; }
#main-content .service-heading h1 { font-size:clamp(38px,5.3vw,76px); font-weight:400; line-height:1.08; letter-spacing:-.035em; text-wrap:balance; }
#main-content .service-lead { max-width:780px; margin:24px 0 0; font-size:clamp(16px,1.45vw,20px); line-height:1.6; color:inherit; opacity:.8; }
#main-content .service-nav { gap:16px 32px; margin-top:36px; padding-bottom:24px; border-bottom:1px solid #939a9b66; }
#main-content .service-nav a { border:0; border-bottom:1px solid transparent; border-radius:0; padding:10px 0; font-size:14px; font-weight:400; background:none; color:inherit; opacity:.65; }
#main-content .service-nav a[aria-current="page"], #main-content .service-nav a:hover { background:none; color:inherit; border-color:currentColor; opacity:1; }
#main-content .service-section { padding-block:32px 56px; }
#main-content .service-section-heading { display:block; margin-bottom:32px; }
#main-content .service-section h2, #main-content .service-dark h2 { font-size:clamp(28px,3.3vw,46px); font-weight:400; line-height:1.15; letter-spacing:-.035em; text-wrap:balance; }
#main-content .service-cards { gap:32px; }
#main-content .service-cards article, #main-content .service-direction,
#main-content .contact-main, #main-content .contact-address, #main-content .works-status {
  background:transparent; color:inherit; border:0; border-top:1px solid #939a9b88; border-radius:0; padding:28px 0; box-shadow:none;
}
#main-content .service-cards h3 { font-size:clamp(23px,2.2vw,30px); font-weight:400; line-height:1.2; letter-spacing:-.025em; margin-bottom:16px; }
#main-content .service-number { font-size:clamp(24px,3vw,38px); font-weight:400; color:inherit; opacity:.7; margin-bottom:26px; }
#main-content .service-section p:not(.service-label), #main-content .service-dark p,
#main-content .service-cards p, #main-content .contact-main p:not(.service-label) { color:inherit; opacity:.8; line-height:1.65; }
#main-content .service-dark { background:none; color:inherit; padding-block:40px 56px; margin-bottom:0; }
#main-content .service-dark > .shell { border-top:1px solid #939a9b88; padding-top:40px; }
#main-content .service-dark p:not(.service-label) { font-size:17px; }
#main-content .service-two-columns { gap:32px 64px; }
#main-content .service-button, #main-content .service-text-link { background:transparent; color:inherit; border:0; border-bottom:1px solid #939a9b; border-radius:0; padding:12px 0; font-weight:400; font-size:16px; min-height:44px; line-height:1.4; text-align:left; }
#main-content .service-button:hover, #main-content .service-text-link:hover { border-bottom-color:currentColor; }
#main-content .contact-grid { gap:48px; }
#main-content .contact-phone { display:inline-block; font-size:clamp(24px,3vw,44px); font-weight:400; letter-spacing:-.035em; }
#main-content .contact-channels { gap:12px 24px; }
#main-content .contact-channels a { padding:18px 0; border:0; border-bottom:1px solid #939a9b88; border-radius:0; font-size:20px; }
#main-content .service-details dd { font-weight:400; overflow-wrap:anywhere; }
#main-content .service-payment li { font-size:clamp(20px,2vw,26px); border-color:#939a9b66; }
#main-content .works-status { display:grid; grid-template-columns:1.2fr 1fr; gap:20px 64px; }
#main-content .works-status .service-label { grid-column:1/-1; margin:0; }
#main-content .works-status h2 { grid-row:2/4; max-width:640px; }
#main-content .works-status p:not(.service-label) { margin:0; font-size:18px; }
#main-content .works-status .service-button { justify-self:start; }
#main-content .service-direction:hover { border-color:currentColor; }
#main-content .service-section a:focus-visible, #main-content .service-dark a:focus-visible, #main-content .service-nav a:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
@media(max-width:900px) {
  #main-content .contact-grid { grid-template-columns:1fr; gap:12px; }
  #main-content .service-cards { gap:24px; }
}
@media(max-width:700px) {
  #main-content .service-heading h1 { font-size:clamp(34px,10vw,48px); }
  #main-content .service-nav { gap:8px 22px; margin-top:24px; }
  #main-content .service-section { padding-block:20px 32px; }
  #main-content .service-cards, #main-content .service-two-columns, #main-content .works-status { grid-template-columns:1fr; gap:24px; }
  #main-content .works-status h2 { grid-row:auto; }
  #main-content .service-dark { padding-block:20px 32px; }
  #main-content .service-dark > .shell { padding-top:28px; }
  #main-content .contact-channels a { font-size:17px; }
}
