@charset "UTF-8";
@font-face { font-family: 'Roboto'; src: url('../fonts/roboto_variable.ttf') format('truetype'); font-weight: 100 900; font-style: normal; font-display: swap; }
:root { --yellow: #fff000; --ink: #090a08; --border: #e5e6e8; --content_width: 1440px; --side_gap: 32px; }
.content_container { width: min(var(--content_width), calc(100% - var(--side_gap) * 2)); margin-inline: auto; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 18px; }
body { margin: 0; color: var(--ink); background: #fff; font-family: 'Roboto', Arial, sans-serif; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; }
img { display: block; max-width: 100%; }
svg { flex-shrink: 0; }
h1, h2, h3, p { margin: 0; }
a, button { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid #1765cb; outline-offset: 5px; }
.icon_library { position: absolute; width: 0; height: 0; overflow: hidden; }
.icon { width: 24px; height: 24px; }
.skip_link { position: fixed; top: -80px; left: 15px; z-index: 10; padding: 12px; background: var(--yellow); }
.skip_link:focus { top: 10px; }
.site_header { background: #fff; }
.header_inner { min-height: 60px; padding: 0; display: flex; align-items: center; gap: 28px; max-width: var(--content_width); margin: auto; }
.brand { position: relative; display: block; width: 280px; height: 60px; flex-shrink: 0; overflow: hidden; }
.brand img { position: absolute; width: 290px; height: auto; max-width: none; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.main_nav { display: flex; align-items: center; gap: 26px; margin-left: auto; white-space: nowrap; }
.main_nav a { padding: 21px 0; font-size: 16px; font-weight: 700; }
.main_nav a:hover { box-shadow: inset 0 -3px var(--yellow); }
.header_phones { display: flex; align-items: center; gap: 9px; font-weight: 700; font-size: 17px; white-space: nowrap; margin-left: auto; }
.button { display: inline-flex; justify-content: center; align-items: center; gap: 13px; border: 0; border-radius: 10px; color: #050600; background: var(--yellow); font-weight: 800; padding: 15px 23px; transition: background .18s, transform .18s; }
.button:hover { background: #ffdb00; transform: translateY(-2px); }
.header_call { font-size: 15px; padding: 12px 17px; border-radius: 8px; white-space: nowrap; }
.header_call .icon { width: 20px; height: 20px; }
.menu_toggle { display: none; }
.hero { position: relative; min-height: 356px; background: linear-gradient(90deg, rgb(0 0 0 / 20%), transparent 65%), url('../images/hero_workshop.png') center 56% / cover no-repeat; color: white; }
.hero_content { padding: 33px 24px 59px; }
.hero h1 { font-size: clamp(38px, 3.8vw, 60px); font-weight: 900; letter-spacing: -1.6px; line-height: 1.02; text-shadow: 0 2px 7px rgb(0 0 0 / 30%); }
.hero h1 span { color: var(--yellow); }
.hero_content p { font-size: clamp(18px, 1.65vw, 26px); line-height: 1.25; font-weight: 700; margin-top: 12px; text-shadow: 0 1px 6px #000; }
.hero_call { margin-top: 18px; font-size: 24px; min-width: 290px; min-height: 59px; }
.hero_call .icon { width: 30px; height: 30px; }
.hero_contact_strip { position: absolute; bottom: 0; left: 0; display: flex; align-items: center; gap: 28px; padding: 7px 40px 7px 4.3%; min-height: 46px; color: #000; background: var(--yellow); clip-path: polygon(0 0, 95% 0, 100% 100%, 0 100%); font-size: 21px; font-weight: 800; }
.hero_contact_strip > a, .strip_phones { display: flex; align-items: center; gap: 15px; }
.hero_contact_strip .icon { width: 30px; height: 30px; }
.strip_divider { height: 27px; width: 1px; background: #2a2900; }
.strip_phones a:hover, .header_phones a:hover, .footer_details a:hover { text-decoration: underline; text-underline-offset: 4px; }
.services { padding: 24px 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.service_card { min-width: 0; display: grid; grid-template-columns: 44% 56%; border: 1px solid var(--border); border-radius: 9px; overflow: hidden; box-shadow: 0 1px 2px rgb(0 0 0 / 4%); }
.service_media { position: relative; min-width: 0; min-height: 160px; overflow: hidden; }
.service_image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.service_content { min-width: 0; padding: 12px 13px 13px 19px; position: relative; }
.service_content h2 { font-size: 21px; font-weight: 800; letter-spacing: -.6px; white-space: normal; margin-bottom: 12px; }
.check_list { margin: 0; padding: 0; list-style: none; display: grid; gap: 9px; font-size: 13px; line-height: 1.1; }
.check_list li { display: flex; align-items: center; gap: 9px; }
.check_list li::before { content: '✓'; display: grid; place-items: center; flex: 0 0 17px; height: 17px; background: var(--yellow); border-radius: 50%; color: #000; font-size: 13px; font-weight: 800; }
.service_more { position: absolute; right: 10px; bottom: 9px; display: grid; place-items: center; width: 35px; height: 35px; border: 0; border-radius: 50%; background: var(--yellow); transition: transform .18s; }
.service_more:hover { transform: translateX(3px); }
.feature_inner { background: var(--yellow); padding: 14px 0; display: grid; grid-template-columns: .85fr .95fr 1.12fr 1.34fr 1.05fr 1fr; min-height: 77px; align-items: center; }
.feature_item { display: flex; align-items: center; gap: 15px; padding: 0 18px; border-right: 1px solid #857d00; min-height: 38px; }
.feature_item:first-child { padding-left: 0; }
.feature_item:last-child { padding-right: 0; border: 0; }
.feature_item svg { width: 44px; height: 44px; }
.feature_item p { font-size: 16px; line-height: 1.1; font-weight: 700; }
.information_grid { display: grid; grid-template-columns: 2.1fr 1fr; gap: 34px; padding: 24px 0; }
.home_information_column { min-width: 0; display: flex; flex-direction: column; justify-content: space-between; gap: 24px; }
.home_about p { margin-top: 10px; font-size: 17px; line-height: 1.5; color: #4e554b; }
.home_about_link { display: inline-flex; align-items: center; gap: 10px; margin-top: 14px; color: #005cdc; font-size: 15px; font-weight: 700; }
.home_about_link .icon { width: 20px; height: 20px; }
.home_about_link:hover { text-decoration: underline; text-underline-offset: 4px; }
.information_grid > .location { min-width: 0; display: flex; flex-direction: column; }
.information_grid .location_card_map { flex: 1; }
.information_grid h2 { font-size: 25px; font-weight: 800; letter-spacing: -.7px; margin-bottom: 10px; }
.section_heading { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.section_heading a { color: #0065ff; font-size: 12px; white-space: nowrap; }
.section_heading a:hover, .map_link:hover { text-decoration: underline; }
.review_grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.review_card { min-height: 120px; border: 1px solid var(--border); border-radius: 8px; padding: 10px 14px 12px; }
.review_heading { display: flex; gap: 12px; align-items: center; margin-bottom: 8px; }
.review_card h3 { font-size: 15px; font-weight: 700; }
.review_card p { font-size: 13px; line-height: 1.3; }
.location_card { min-height: 120px; border-radius: 9px; background: #f2f3f0; border: 1px solid #e3e4df; display: flex; gap: 18px; align-items: center; padding: 13px 20px; }
.location_pin { width: 40px; height: 47px; color: #df2727; }
address { font-style: normal; font-size: 18px; font-weight: 700; line-height: 1.2; }
.location_card p { margin-top: 5px; font-size: 14px; color: #585c56; }
.map_link { display: inline-block; margin-top: 8px; color: #005cdc; font-size: 15px; font-weight: 700; }
.footer_inner { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 30px; min-height: 107px; padding: 16px 0 16px 290px; background: linear-gradient(90deg, transparent 12%, rgb(0 0 0 / 35%) 26%, rgb(0 0 0 / 68%) 70%), url('../images/footer_workbench.png') left 45% / cover no-repeat; color: #fff; }
.footer_copy h2 { font-size: clamp(20px, 1.65vw, 28px); font-weight: 800; letter-spacing: -.7px; line-height: 1.1; }
.footer_copy p { font-weight: 700; font-size: clamp(15px, 1.25vw, 20px); margin-top: 4px; line-height: 1.2; }
.footer_call { font-size: 16px; padding: 15px 20px; white-space: nowrap; }
.footer_details { font-size: 15px; font-weight: 700; }
.footer_phone_row, .footer_details > a { display: flex; align-items: center; gap: 10px; margin-bottom: 7px; }
.footer_phone_row > div { white-space: nowrap; }
.footer_details .icon { color: var(--yellow); width: 22px; height: 22px; }
.hours_note { font-size: 11px; font-weight: 400; color: #ddd; margin-left: 32px; }
.service_dialog { width: min(500px, calc(100% - 32px)); border: 0; border-top: 7px solid var(--yellow); border-radius: 12px; padding: 34px; color: var(--ink); box-shadow: 0 20px 80px #0005; }
.service_dialog::backdrop { background: rgb(0 0 0 / 65%); }
.dialog_close { position: absolute; top: 8px; right: 13px; width: 32px; height: 32px; border: 0; border-radius: 50%; background: #eee; font-size: 25px; }
.dialog_eyebrow { font-size: 11px; letter-spacing: 2px; font-weight: 800; color: #65665d; }
.service_dialog h2 { margin: 14px 0; font-size: 28px; }
.service_dialog p { font-size: 16px; line-height: 1.5; }
.service_dialog .dialog_note { margin: 18px 0 24px; font-size: 13px; color: #62645f; }
@media (min-width: 1600px) { .hero { min-height: 395px; } .hero_content { max-width: var(--content_width); margin: auto; } .services, .information_grid { max-width: var(--content_width); margin: auto; } .service_media { min-height: 180px; } }
@media (max-width: 1390px) { .header_inner { gap: 20px; } .brand { width: 230px; } .brand img { width: 250px; } .main_nav { gap: 19px; } .header_phones { font-size: 13px; } .header_call { padding: 11px 13px; } .feature_item { padding: 0 17px; gap: 13px; } .footer_inner { gap: 22px; padding-left: 24%; } .footer_details { font-size: 13px; } .footer_call { font-size: 16px; } }
@media (max-width: 1190px) { .header_phones { display: none; } .service_card { grid-template-columns: 40% 60%; } .service_content { padding-left: 13px; } .service_content h2 { font-size: 18px; } .check_list { font-size: 12px; } .hero_contact_strip { font-size: 18px; } .feature_item { gap: 10px; padding: 0 13px; } .feature_item svg { width: 34px; height: 34px; } .feature_item p { font-size: 12px; } .footer_inner { grid-template-columns: 1fr auto; padding-left: 30%; } .footer_details { grid-column: 1 / -1; display: flex; align-items: center; flex-wrap: wrap; gap: 15px; } .footer_phone_row, .footer_details > a { margin: 0; } .hours_note { margin: 0; } }
@media (max-width: 900px) { .header_inner { flex-wrap: wrap; justify-content: space-between; gap: 0; padding: 0 24px; position: relative; } .brand { width: 230px; height: 65px; } .menu_toggle { display: flex; flex-direction: column; justify-content: center; gap: 5px; width: 44px; height: 44px; background: var(--yellow); border: 0; border-radius: 7px; margin-left: 15px; order: 3; } .menu_toggle span { display: block; height: 2px; width: 23px; background: #000; margin: 0 auto; transition: transform .2s, opacity .2s; } .menu_toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); } .menu_toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; } .menu_toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); } .header_call { margin-left: auto; } .main_nav { display: none; width: 100%; order: 4; margin: 0; padding: 5px 0 15px; flex-wrap: wrap; gap: 0; } .main_nav.is_open { display: flex; } .main_nav a { padding: 13px 20px 13px 0; } .hero { min-height: 390px; background-position: 57% center; } .hero_content { padding: 36px 32px 110px; background: linear-gradient(90deg, #0008, transparent); } .hero h1 { font-size: 40px; letter-spacing: -1.3px; } .hero_content p { font-size: 19px; max-width: 530px; } .hero_call { font-size: 21px; min-width: 260px; min-height: 54px; } .hero_contact_strip { width: 100%; clip-path: none; padding: 11px 32px; gap: 18px; font-size: 16px; flex-wrap: wrap; } .hero_contact_strip .icon { width: 25px; height: 25px; } .services { grid-template-columns: 1fr; padding: 20px 0; gap: 14px; } .service_card { grid-template-columns: 36% 64%; } .service_media { min-height: 190px; } .service_content { padding: 20px 25px; } .service_content h2 { font-size: 25px; margin-bottom: 16px; } .check_list { font-size: 16px; gap: 11px; } .service_more { width: 42px; height: 42px; right: 18px; bottom: 17px; } .feature_inner { grid-template-columns: repeat(3, 1fr); padding: 18px 0; gap: 22px 0; } .feature_item { padding: 0 20px; gap: 15px; } .feature_item:nth-child(3) { border: 0; } .feature_item:nth-child(4) { padding-left: 0; } .feature_item svg { width: 40px; height: 40px; } .feature_item p { font-size: 14px; } .information_grid { grid-template-columns: 1fr; padding: 24px 0; gap: 24px; } .review_card { min-height: 160px; } .review_card p { font-size: 15px; } .review_card h3 { font-size: 14px; } .location_card { min-height: 140px; } .footer_inner { padding: 28px 0 28px 24%; background-position: 30% center; } .footer_copy h2 { font-size: 24px; } .footer_copy p { font-size: 17px; } .footer_call { font-size: 14px; padding: 15px; } .footer_details { line-height: 1.4; } }
@media (max-width: 600px) { .header_inner { padding: 0 16px; } .brand { width: 172px; height: 63px; } .brand img { width: 185px; } .header_call { font-size: 0; padding: 11px; gap: 0; } .header_call .icon { width: 22px; height: 22px; } .menu_toggle { margin-left: 10px; } .main_nav { flex-direction: column; align-items: stretch; padding-bottom: 12px; } .main_nav a { padding: 12px 4px; border-bottom: 1px solid #eee; } .hero { min-height: 526px; background-position: 63% center; } .hero_content { min-height: 429px; padding: 30px 20px 25px; background: linear-gradient(90deg, #000b, #0004); } .hero h1 { font-size: clamp(28px, 8.2vw, 42px); line-height: 1.09; letter-spacing: -1px; } .hero h1 br { display: none; } .hero h1 span { display: block; margin-top: 3px; } .hero_content p { font-size: 19px; line-height: 1.35; margin-top: 17px; max-width: 350px; } .desktop_break { display: none; } .hero_call { font-size: 21px; margin-top: 23px; min-width: 0; width: 100%; padding: 15px 18px; } .hero_contact_strip { position: absolute; padding: 13px 20px; gap: 11px; align-items: flex-start; font-size: 16px; min-height: 97px; } .hero_contact_strip > a, .strip_phones { gap: 10px; } .strip_phones { align-items: flex-start; } .strip_phones > div { line-height: 1.5; } .strip_phones a { white-space: nowrap; } .strip_divider { display: none; } .services { padding: 20px 0; gap: 18px; } .service_card { grid-template-columns: 1fr; } .service_media { min-height: 0; height: 213px; } .service_content { padding: 19px 20px 23px; } .service_content h2 { font-size: 25px; white-space: normal; } .check_list { font-size: 15px; gap: 12px; } .service_more { bottom: 18px; right: 18px; } .feature_inner { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 23px 0; gap: 24px 0; } .feature_item, .feature_item:nth-child(4) { padding: 0 12px; gap: 10px; } .feature_item:nth-child(odd) { padding-left: 0; border-right: 1px solid #857d00; } .feature_item:nth-child(even) { border: 0; padding-right: 0; } .feature_item svg { width: 33px; height: 33px; } .feature_item p { font-size: 12px; line-height: 1.2; } .information_grid { padding: 23px 0 26px; gap: 26px; } .information_grid h2 { font-size: 26px; margin-bottom: 15px; } .section_heading { align-items: flex-start; flex-direction: column; gap: 0; margin-bottom: 14px; } .section_heading h2 { margin-bottom: 7px; } .section_heading a { font-size: 13px; } .review_grid { grid-template-columns: 1fr; gap: 12px; } .review_card { min-height: 0; padding: 15px 17px 18px; } .review_card h3 { font-size: 16px; } .review_card p { font-size: 15px; line-height: 1.45; } .step_number { width: 38px; height: 38px; background: var(--yellow); } .location_card { padding: 20px 18px; gap: 16px; } .location_card address { font-size: 19px; } .location_card p { font-size: 13px; margin-top: 9px; } .map_link { font-size: 14px; margin-top: 12px; } .footer_inner { display: flex; flex-direction: column; align-items: stretch; gap: 21px; padding: 32px 4px; background-position: 38% center; background-image: linear-gradient(#0009, #000d), url('../images/footer_workbench.png'); } .footer_copy h2 { font-size: 28px; line-height: 1.12; } .footer_copy p { font-size: 18px; line-height: 1.35; margin-top: 10px; } .footer_call { font-size: 21px; } .footer_details { display: grid; gap: 13px; font-size: 16px; } .footer_phone_row { align-items: flex-start; } .footer_phone_row > div { white-space: normal; } .footer_phone_row a { white-space: nowrap; } .hours_note { font-size: 13px; margin-left: 32px; } .service_dialog { padding: 30px 22px 24px; } .service_dialog h2 { font-size: 25px; } .service_dialog .button { width: 100%; font-size: 14px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; } }

/* Shared centered content, full-width photographs and color bands. */
.header_inner { min-height: 76px; }
.brand { width: 280px; height: 76px; margin-right: 8px; }
.brand img { width: 280px; }
.main_nav { margin-left: 16px; }
.hero h1 { font-size: clamp(38px, 4.1vw, 62px); letter-spacing: -.5px; }
.hero_contact_band { position: absolute; inset: auto 0 0; color: #000; }
.hero_contact_band::before { content: ''; position: absolute; inset: 0 auto 0 0; width: calc(max(var(--side_gap), (100% - var(--content_width)) / 2) + 850px); background: var(--yellow); clip-path: polygon(0 0, calc(100% - 30px) 0, 100% 100%, 0 100%); }
.hero_contact_strip { position: relative; inset: auto; width: min(var(--content_width), calc(100% - var(--side_gap) * 2)); padding: 7px 24px; background: transparent; clip-path: none; }
.feature_strip { background: var(--yellow); }
.feature_inner { background: transparent; }
.contact_footer { color: white; background-color: #090b0c; background-image: linear-gradient(90deg, transparent 12%, #0006 26%, #000b 70%), url('../images/footer_workbench.png'); background-size: 100% 100%, auto 280px; background-position: left top, max(0px, calc((100% - var(--content_width)) / 2)) 45%; background-repeat: no-repeat; }
.footer_inner { background: transparent; }
.footer_inner { padding-left: 322px; }
.footer_copy h2 { font-size: 28px; }
.footer_copy p { font-size: 22px; }
.footer_call { font-size: 18px; }
.footer_details { font-size: 16px; }
.service_content h2 { font-size: 24px; letter-spacing: -.3px; }
.check_list { font-size: 16px; }
.check_list li:last-child { padding-right: 42px; }
.review_card p { font-size: 16px; }
.review_avatar { width: 36px; height: 36px; }
.review_stars { display: block; color: #b3a000; font-size: 19px; letter-spacing: 1px; line-height: 1.1; }
.reviews_status { font-size: 12px; color: #0065ff; white-space: nowrap; }
.mobile_nav_heading, .menu_backdrop { display: none; }
@media (max-width: 1390px) {
  .main_nav a { font-size: 15px; }
  .header_phones { font-size: 14px; }
  .header_call { font-size: 14px; }
  .brand { width: 240px; }
  .brand img { width: 240px; }
  .footer_inner { padding-left: 240px; }
  .footer_copy h2 { font-size: 25px; }
  .footer_copy p { font-size: 19px; }
  .footer_call { font-size: 16px; }
  .footer_details { font-size: 14px; }
}
@media (max-width: 1190px) {
  .main_nav a { font-size: 14px; }
  .service_content h2 { font-size: 18px; }
  .check_list { font-size: 12px; }
  .hero_contact_band::before { width: calc(var(--side_gap) + 740px); }
  .footer_inner { padding-left: 24%; }
}
@media (max-width: 900px) {
  :root { --side_gap: 24px; }
  .header_inner { padding-inline: 0; }
  .brand { width: 230px; height: 76px; }
  .brand img { width: 230px; }
  .hero_content { padding-inline: 8px; background: transparent; }
  .hero h1 { font-size: 40px; }
  .hero_contact_band { background: var(--yellow); }
  .hero_contact_band::before { display: none; }
  .hero_contact_strip { padding: 11px 8px; }
  .service_content h2 { font-size: 25px; }
  .check_list { font-size: 16px; }
  .review_card p { font-size: 15px; }
  .footer_copy h2 { font-size: 24px; }
  .footer_copy p { font-size: 17px; }
  .footer_call { font-size: 14px; }
  body.menu_open { overflow: hidden; }
  .main_nav, .main_nav.is_open { position: fixed; z-index: 101; top: 0; right: 0; bottom: 0; width: min(320px, 85vw); height: 100dvh; margin: 0; padding: 22px 24px; background: white; display: flex; flex-direction: column; align-items: stretch; flex-wrap: nowrap; gap: 0; overflow-y: auto; transform: translateX(100%); visibility: hidden; transition: transform .3s ease, visibility .3s; box-shadow: -8px 0 35px #0002; }
  .main_nav.is_open { transform: translateX(0); visibility: visible; }
  .mobile_nav_heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px; font-size: 23px; font-weight: 700; }
  .menu_close { display: grid; place-items: center; width: 38px; height: 38px; border: 0; border-radius: 6px; background: #f0f1f2; font-size: 29px; line-height: 1; color: #454545; }
  .main_nav a { padding: 16px 0; border-bottom: 1px solid var(--border); font-size: 17px; }
  .main_nav a:hover { box-shadow: none; color: #746b00; }
  .menu_backdrop { position: fixed; z-index: 100; inset: 0; display: block; width: 100%; height: 100%; border: 0; padding: 0; background: #0008; opacity: 0; visibility: hidden; transition: opacity .3s, visibility .3s; cursor: default; }
  .menu_backdrop.is_open { opacity: 1; visibility: visible; }
}
@media (max-width: 600px) {
  .header_call { font-size: 0; }
  :root { --side_gap: 16px; }
  .header_inner { min-height: 68px; }
  .brand { width: 180px; height: 68px; margin-right: 0; }
  .brand img { width: 180px; }
  .hero { background-image: linear-gradient(90deg, #0009, #0002), url('../images/hero_workshop.png'); }
  .hero_content { padding-inline: 4px; background: transparent; }
  .hero h1 { font-size: clamp(28px, 8.2vw, 42px); }
  .hero_contact_strip { padding-inline: 4px; }
  .check_list { font-size: 15px; }
  .review_avatar { width: 38px; height: 38px; }
  .reviews_status { font-size: 13px; }
  .contact_footer { background-image: linear-gradient(#0009, #000d), url('../images/footer_workbench.png'); background-position: left top, left bottom; }
  .footer_inner { padding-left: 4px; }
  .footer_copy h2 { font-size: 28px; }
  .footer_copy p { font-size: 18px; }
  .footer_call { font-size: 21px; }
  .footer_details { font-size: 16px; }
}
@media (min-width: 601px) and (max-width: 1190px) {
  .feature_inner { grid-template-columns: repeat(3, minmax(0, 1fr)); padding-block: 18px; gap: 22px 0; }
  .feature_item { padding: 0 20px; gap: 15px; }
  .feature_item:nth-child(3n) { padding-right: 0; border-right: 0; }
  .feature_item:nth-child(3n + 1) { padding-left: 0; }
  .feature_item svg { width: 40px; height: 40px; }
  .feature_item p { font-size: 16px; line-height: 1.2; }
  .services { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .service_card { grid-template-columns: 1fr; grid-template-rows: auto 1fr; }
  .service_media { min-height: 0; height: auto; aspect-ratio: 4 / 3; align-self: start; }
  .service_content { padding: 18px 20px 22px; }
  .service_content h2 { font-size: 20px; margin-bottom: 14px; }
  .check_list { font-size: 14px; gap: 11px; line-height: 1.25; }
  .check_list li:last-child { padding-right: 34px; }
  .service_more { width: 35px; height: 35px; right: 12px; bottom: 12px; }
}
@media (min-width: 601px) and (max-width: 767px) {
  .feature_inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .feature_item:nth-child(n) { padding: 0 20px; border-right: 1px solid #857d00; }
  .feature_item:nth-child(odd) { padding-left: 0; }
  .feature_item:nth-child(even) { padding-right: 0; border-right: 0; }
}
@media (max-width: 600px) {
  .feature_item p { font-size: 14px; line-height: 1.2; }
}
@media (prefers-reduced-motion: reduce) { .main_nav, .menu_backdrop { transition: none; } }

.language_switch { flex-shrink: 0; }
.language_select { width: 68px; height: 40px; padding: 0 8px; border: 1px solid #dfe2dc; border-radius: 6px; background: #f4f5f2; color: var(--ink); font-family: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.language_select:hover { border-color: #b8bba9; }
@media (min-width: 1191px) and (max-width: 1540px) {
  .header_phones > div { display: flex; flex-direction: column; gap: 3px; }
  .header_phones > div > span { display: none; }
}
@media (min-width: 901px) and (max-width: 1190px) {
  .header_call { font-size: 0; gap: 0; padding: 11px; }
}
@media (max-width: 900px) {
  .language_switch { margin-left: 12px; }
}
@media (max-width: 600px) {
  .language_switch { margin-left: 6px; }
  .brand { width: min(180px, calc(100% - 172px)); }
  .brand img { width: 100%; }
}

/* Address fades into the interactive map in one contact card. */
.location_card_map { position: relative; display: block; min-height: 360px; padding: 0; overflow: hidden; isolation: isolate; }
.location_map { position: absolute; inset: 85px 0 0; background: #e7e9e3; }
.location_map iframe { display: block; width: 100%; height: 100%; border: 0; }
.location_card_map::after { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(to bottom, #f2f3f0 0px, #f2f3f0 110px, rgb(242 243 240 / 90%) 135px, rgb(242 243 240 / 38%) 170px, transparent 205px); pointer-events: none; }
.location_overlay { position: relative; z-index: 2; display: flex; align-items: center; gap: 18px; padding: 18px 20px 25px; pointer-events: none; }
.location_overlay .map_link { pointer-events: auto; }
@media (max-width: 600px) {
  .location_card_map { min-height: 390px; padding: 0; }
  .location_overlay { padding: 20px 18px 25px; gap: 16px; }
  .location_map { top: 105px; }
  .location_card_map::after { background: linear-gradient(to bottom, #f2f3f0 0px, #f2f3f0 130px, rgb(242 243 240 / 90%) 150px, rgb(242 243 240 / 38%) 185px, transparent 220px); }
  .home_about p { font-size: 16px; }
}
