/* Local v6 subset of the approved v5 foundation. No external build required. */
html.prod [data-sample] { display: none !important; }
.hero h1 { letter-spacing: 0px; }
.consent input { width: 20px; height: 20px; flex-basis: 20px; margin-top: 0px; }
.header-search { display: grid; place-items: center; width: 44px; min-width: 44px; height: 44px; }
.legacy-catalog { margin-top: 24px; border-top: 1px solid var(--line); }
.legacy-catalog > summary { cursor: pointer; padding: 16px 0px; font-size: 14px; color: var(--glow); }
.legacy-catalog .catalog-layout { padding-top: 14px; }
.legacy-catalog .dropdown-links { padding: 12px 0px; }
.service-routes { padding-bottom: 26px; margin-bottom: 26px; border-bottom: 1px solid var(--line); }
.company-routes { margin-top: 18px; }
.project-more { padding: 28px var(--gutter) 38px; display: flex; gap: 32px; flex-wrap: wrap; }
.request-context { margin: 0px 0px 24px; padding: 15px; border: 1px solid var(--line); }
.request-context > span { color: var(--glow); font-size: 13px; }
.request-context p { color: var(--ink); font-size: 14px; margin: 6px 0px; }
.context-clear { background: none; padding: 10px 0px; min-height: 44px; font-size: 13px; text-decoration: underline; }
.brief-additions { margin-top: 24px; }
.check-line { display: flex; gap: 11px; align-items: flex-start; font-size: 14px; cursor: pointer; }
.check-line input { appearance: none; width: 20px; height: 20px; flex: 0 0 20px; margin: 1px 0px 0px; border: 1px solid rgb(100, 115, 134); display: grid; place-items: center; border-radius: 0px; }
.check-line input:checked { background: var(--blue); border-color: var(--blue); }
.check-line input:checked::after { content: "✓"; font-size: 14px; color: white; }
.purpose-field { display: grid; gap: 12px; margin: 28px 0px 18px; font-size: 14px; }
.purpose-field select, .calc-form .lead-form select { background: rgb(249, 248, 243); color: rgb(27, 32, 39); border: 1px solid rgba(34, 43, 51, 0.27); border-radius: 0px; width: 100%; min-width: 0px; padding: 12px; min-height: 48px; font-size: 15px; }
.field-note { font-size: 14px; line-height: 1.55; }
#area-help { margin-top: 12px; }
.brief-summary { margin-top: 25px; border-top: 1px solid var(--line); padding-top: 23px; }
.brief-summary > span { font-size: 13px; letter-spacing: 0.06em; color: var(--blue); }
.brief-summary p { font-size: 16px; margin: 10px 0px 0px; color: rgb(27, 32, 39); }
.brief-links { display: flex; flex-wrap: wrap; gap: 12px 28px; margin-top: 24px; }
.calc-form { align-self: start; }
.attachment { font-size: 14px; min-width: 0px; }
.attachment > label { display: block; margin-bottom: 10px; }
.lead-form .attachment input[type="file"] { display: block; width: 100%; max-width: 100%; padding: 10px 0px; min-height: 44px; border-bottom: 1px solid var(--line); font-size: 14px; }
.attachment input::file-selector-button { background: rgb(224, 228, 231); border: 1px solid rgb(100, 115, 134); color: rgb(32, 38, 46); font: inherit; padding: 8px 12px; margin-right: 12px; cursor: pointer; }
.attachment .field-note { margin: 10px 0px 0px; font-size: 13px; }
.file-list { list-style: none; padding: 0px; margin: 0px; }
.file-status { font-size: 13px; margin: 8px 0px 0px; overflow-wrap: anywhere; }
.file-status:empty { display: none; }
.production-teaser { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 8vw; border-top: 1px solid var(--line); padding-top: 40px; margin-bottom: 28px; }
.production-teaser picture { display: block; overflow: hidden; }
.production-teaser img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.production-copy h3 { font-size: clamp(28px, 3vw, 46px); }
.production-copy p { font-size: 16px; margin-top: 24px; max-width: 480px; }
.review-links { display: flex; flex-wrap: wrap; gap: 28px; margin-top: 30px; }
html:not(.prod) #faq.faq { padding-top: 25px; }
.ready-project-entry { grid-column: 1 / -1; border-top: 1px solid var(--line); padding-top: 30px; display: flex; gap: 25px; justify-content: space-between; align-items: center; }
.ready-project-links { display: flex; gap: 28px; flex-wrap: wrap; }
.ready-project { grid-column: 1 / -1; display: grid; grid-template-columns: 1.2fr 1fr; gap: 8vw; border-top: 1px solid var(--line); padding-top: 35px; scroll-margin-top: 110px; }
.ready-project h3 { font-size: 30px; }
.ready-project .lead-form input:not([type="checkbox"], [type="hidden"]) { border-color: rgba(27, 32, 39, 0.314); }
.ready-project .lead-form input::placeholder { color: rgb(98, 104, 112); }
.ready-project .file-status { margin-bottom: 0px; }
@media (min-width: 1200px){.site-header { gap: 14px; }
.logo { flex-basis: 116px; }
.logo img { width: 116px; }
.nav-list { gap: 14px; }
.nav-link { font-size: 13px; }
.nav-trigger { min-width: 20px; }
.header-contact { display: block; }
.header-contact a { font-size: 14px; white-space: nowrap; }
.header-contact span { display: none; }
.header-cta { white-space: nowrap; font-size: 13px; padding: 11px 14px; gap: 14px; }
.header-cta .label-full { display: inline; }
.header-cta .label-short { display: none; }
.header-search { min-width: 36px; width: 36px; }}
@media (min-width: 1440px){.site-header { gap: 22px; }
.nav-list { gap: 20px; }
.nav-link { font-size: 14px; }}
@media (min-width: 1024px) and (max-width: 1199px){:root { --header: 80px; }
.primary-nav { display: none; position: fixed; top: var(--header); left: 0px; right: 0px; height: calc(100dvh - var(--header)); overflow: auto; margin: 0px; background: rgb(21, 25, 31); padding: 25px var(--gutter) 50px; }
.menu-open .primary-nav { display: block; }
.nav-list { display: block; }
.nav-item-heading { justify-content: space-between; border-bottom: 1px solid var(--line); }
.nav-link { font-family: var(--title); font-size: 23px; padding: 17px 0px; }
.nav-trigger { width: 50px; height: 60px; }
.nav-dropdown { position: static; padding: 22px 0px; background: none; box-shadow: none; border: 0px; max-height: none; overflow: visible; }
.catalog-categories { padding: 0px; min-height: 0px; }
.catalog-category-panel { position: static; width: 100%; padding: 20px; }
.services-menu-layout { grid-template-columns: 1fr; }
.catalog-quick-links { flex-wrap: wrap; }
.header-contact { display: block; margin-left: auto; }
.menu-toggle { display: flex; width: 44px; height: 44px; flex-direction: column; align-items: center; justify-content: center; gap: 6px; background: none; padding: 0px; }
.menu-toggle span { height: 1px; width: 24px; background: var(--ink); }
.menu-open .menu-toggle span:first-child { transform: translateY(7px) rotate(45deg); }
.menu-open .menu-toggle span:nth-child(2) { opacity: 0; }
.menu-open .menu-toggle span:last-child { transform: translateY(-7px) rotate(-45deg); }
.site-header.scrolled { height: var(--header); }}
@media (max-width: 1199px){.header-search { margin-left: auto; }
.header-contact { margin-left: 0px; }
.calc-form .attachment, .calc-form .lead-form > label:has(select), .calc-form .lead-form > label:has(#contact-period) { grid-column: 1 / -1; }}
@media (max-width: 767px){.production-teaser { grid-template-columns: 1fr; gap: 26px; padding-top: 28px; }
.production-copy .eyebrow { margin-bottom: 18px; }
.production-copy p { font-size: 14px; margin-top: 18px; }
html:not(.prod) #faq.faq { padding-top: 25px; }
.ready-project-entry { display: flex; flex-direction: column; align-items: stretch; margin-top: 35px; }
.ready-project-entry .button { width: 100%; }
.ready-project { grid-template-columns: 1fr; gap: 25px; margin-top: 30px; }}
@media (max-width: 599px){.site-header { gap: 6px; }
.header-search { width: 44px; min-width: 44px; }
.header-cta { margin-left: 0px; font-size: 13px; }
.calc-form .lead-form { display: flex; flex-direction: column; }
.brief-links { flex-direction: column; align-items: flex-start; }}
@media (scripting: none){.ready-project[hidden] { display: grid !important; }
.header-search { margin-left: 0px; }
.primary-nav { display: block; position: static; height: auto; }
.site-header { height: auto; position: relative; flex-wrap: wrap; }}
.attachment { position: relative; }
.attachment .file-picker { display: inline-flex; align-items: center; justify-content: space-between; gap: 30px; border: 1px solid rgb(100, 115, 134); padding: 9px 14px; min-height: 44px; cursor: pointer; margin: 0px; }
.file-picker span { font-size: 20px; line-height: 1; }
.lead-form .attachment input.file-native { position: absolute; width: 1px; height: 1px; min-height: 0px; padding: 0px; border: 0px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.attachment:has(.file-native:focus-visible) .file-picker { outline: 2px solid var(--blue); outline-offset: 4px; }
@media (min-width: 600px) and (max-width: 767px){.header-contact { display: none; }
.hero { grid-template-columns: minmax(0px, 1fr); min-height: 0px; padding-bottom: 0px; }
.hero-form { width: 100%; margin-top: 15px; }}
