@charset "UTF-8";
/* Keep the approved brand composition; develop a stronger gray material palette. */
:root {background:#f1f2f2}
.graphite {
  --ink:#1d2226;
  --paper:#f1f2f2;
  --orange:#ff6b2d;
  --accent:#ff6b2d;
  --line:#899299;
  --surface:#e7e9e9;
  --deep:#282d31;
  background:var(--paper);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
}
.graphite .preview-strip {background:#e0e4e5;color:#263139;border-bottom:1px solid #929da5}
.graphite .site-header {background:var(--paper);border-bottom:1px solid #9ca5ab;height:96px;gap:28px}
.graphite .company {letter-spacing:-.04em;font-weight:800}
.graphite .company small {letter-spacing:.13em}
.graphite .desktop-nav {font-weight:700;gap:23px}
.graphite .header-contact {border-radius:0;background:var(--ink);color:#f1f2f3;min-height:48px;padding:0 22px}
.graphite .header-contact>span {color:var(--orange)}
.graphite .service-nav>div {background:#f5f6f6;border-top-color:var(--orange);box-shadow:0 15px 35px #202a3230}
.graphite .service-nav>div>a {border-color:#a2adb5}
.graphite .mobile-nav {background:#eceeee;box-shadow:0 15px 25px #151f2933}
.graphite .mobile-nav a {border-color:#909da7}
.graphite .eyebrow {letter-spacing:.085em}
.graphite .eyebrow i {width:6px;height:6px;background:var(--orange)}
.graphite .cta {border-radius:0;background:var(--ink);color:#f1f3f4;min-height:64px;padding:18px 24px;font-size:14px;letter-spacing:.01em;transition:background .2s,color .2s}
.graphite .cta>span {font-size:26px}
.graphite .cta:hover {background:#35424b}
.graphite .supply {font-weight:700;border-bottom-color:#75848e}
.graphite .photo img {filter:saturate(.78) contrast(1.04)}
.graphite .photo figcaption {background:#182229df;color:#eef2f5;line-height:1.5}
.graphite .brand-hero {background:var(--paper);min-height:824px;padding-top:47px;padding-bottom:82px}
.graphite .brand-photo {left:39%;top:24px;height:622px}
.graphite .brand-photo .photo {clip-path:polygon(0 0,100% 0,100% 90%,90% 100%,0 100%)}
.graphite .brand-photo img {object-position:66% center}
.graphite .brand-title .eyebrow {margin-bottom:24px;font-size:11px}
.graphite .brand-title h1 {font-size:clamp(78px,8.15vw,118px);line-height:1.07;font-weight:800;letter-spacing:-.075em}
.graphite .brand-title h1>span {background:var(--paper);padding:3px 25px 12px 0}
.graphite .brand-title h1>span:first-child {font-size:clamp(31px,3.45vw,50px);padding-bottom:9px;line-height:1.5}
.graphite .brand-title h1>.last-line {padding-right:0}
.graphite .orange-dot {color:#db490a}
.graphite .vertical-label {background:#282d31;color:#e4eaed;right:27px;top:27px;letter-spacing:.2em;padding:19px 12px;font-size:12px;border-top:3px solid var(--orange)}
.graphite .brand-intro {max-width:400px;margin-top:25px}
.graphite .brand-intro>p {font-size:14px;line-height:1.95;margin-bottom:22px}
.graphite .brand-intro .cta {background:var(--orange);color:#192026;box-shadow:0 3px 0 #bd471833}
.graphite .brand-intro .cta:hover {background:#ff8a59}
.graphite .brand-intro .supply {font-size:12px;margin-top:7px;min-height:52px}
.graphite .brand-hero:after {background:var(--orange);width:53%;height:183px;bottom:71px;clip-path:polygon(0 0,100% 0,100% 100%,18% 100%)}
.graphite .brand-bottom {border-top:1px solid #7f8b9477;padding-top:19px;bottom:22px;left:5%;right:5%;font-size:10px;letter-spacing:.035em}
.graphite .brand-bottom a {border-bottom:0;padding-bottom:0}
.graphite .brand-approach {padding:75px 6% 84px;background:#e5e8e8}
.graphite .section-kicker {border-color:#677985;padding-top:22px;letter-spacing:.09em;font-size:10px}
.graphite .approach-heading {padding:55px 2% 53px 5%;align-items:flex-end}
.graphite .approach-heading h2 {font-size:clamp(46px,5.6vw,81px);line-height:1.33;letter-spacing:-.07em}
.graphite .approach-heading>div {width:37%;max-width:420px}
.graphite .approach-heading p {font-size:14px;line-height:2.05}
.graphite .brand-montage {grid-template-columns:48% 52%;min-height:565px;padding-bottom:25px}
.graphite .brand-montage .mechanical {height:505px}
.graphite .brand-montage .mechanical img {object-position:center 48%}
.graphite .orange-note {background:#30363b;color:#edf1f3;margin-top:64px;min-height:435px;padding-top:51px;padding-bottom:39px;border-top:3px solid var(--orange)}
.graphite .orange-note h3 {font-size:39px;line-height:1.45;letter-spacing:-.045em}
.graphite .orange-note .large-symbol {color:var(--orange);font-size:70px;font-weight:400;top:18px}
.graphite .orange-note .supply {color:#f0f2f3;border-color:#88969f;font-size:11px}
.graphite .brand-montage .space-inset {border-color:#e5e8e8;top:265px;width:22%;height:300px}
.graphite .section-caption {font-size:11px;margin-top:25px;color:#35454f}
.graphite .brand-services {background:#252b2f;padding:86px 7%;color:#e9eef1;gap:10%;border-top:1px solid #82909a}
.graphite .brand-services h2 {font-size:48px;line-height:1.48}
.graphite .brand-services .eyebrow {color:#ff9c70;font-size:11px}
.graphite .brand-services .service-heading>p:not(.eyebrow) {color:#bdc9d1;font-size:13px}
.graphite .brand-services .cta {background:var(--orange);color:#192026}
.graphite .brand-services .cta:hover {background:#ff8a59}
.graphite .brand-services .service-row {border-color:#677783;padding:24px 0;gap:20px;transition:padding-left .2s,color .2s}
.graphite .brand-services .service-row:hover {color:#ffb391;padding-left:7px}
.graphite .brand-services .service-row p {color:#c1ced6;opacity:1;font-size:11px;line-height:1.9}
.graphite .brand-services .service-row h3 {font-size:23px;font-weight:700}
.graphite .brand-services .main-service {border-top:2px solid var(--orange);padding:28px 0;color:#ffa074}
.graphite .brand-services .main-service h3 {font-size:29px}
.graphite .service-row>span:first-child {font-size:11px;font-weight:400}
.graphite .service-row>span:last-child {font-weight:400}
.graphite .business-feature {margin:103px 7% 100px;grid-template-columns:1.1fr 1fr;gap:9%}
.graphite .business-feature h2 {font-size:clamp(36px,4vw,59px);line-height:1.45}
.graphite .business-feature>div>p:not(.eyebrow) {font-size:14px;line-height:2.1}
.graphite .business-feature .photo {height:560px;box-shadow:19px 19px 0 #d9dfe1}
.graphite .business-feature .photo img {object-position:center 37%}
.graphite .business-feature>div>a {border-color:#71828e;font-size:12px;padding-top:20px}
.graphite .business-stamp {background:var(--orange);left:41%;bottom:38px;padding:25px 33px}
.graphite .business-stamp strong {font-size:22px}
.graphite .home-trust {background:#e2e6e7;padding:79px 7%;gap:12%;border-top:1px solid #8e9da8;border-bottom:1px solid #8e9da8}
.graphite .home-trust h2 {font-size:52px;line-height:1.45}
.graphite .home-trust p {font-size:13px}
.graphite .registration-summary {border-color:#5b707f}
.graphite .registration-summary>strong {font-size:22px;letter-spacing:.015em}
.graphite .registration-summary>p {border-color:#879ba9;font-size:11px}
.graphite .inline-links a {border-color:#617887;font-size:12px}
.graphite .home-bottom {background:var(--paper);padding:85px 7% 93px}
.graphite .home-bottom h2 {font-size:42px;line-height:1.45}
.graphite .journal-row {border-color:#8b9ba6}
.graphite .journal-row h3 {font-weight:700}
.graphite .journal-row>span:first-child {color:#415864}
.graphite .contact-band {background:#343c42;color:#edf1f4;padding:83px 7%;border-top:1px solid #7d8e9a;position:relative}
.graphite .contact-band:before {content:"";position:absolute;top:-2px;left:7%;width:64px;height:4px;background:var(--orange)}
.graphite .contact-band .eyebrow {color:#bdcbd5;font-size:11px}
.graphite .contact-band h2 {font-size:45px;line-height:1.5}
.graphite .contact-band>div>p:not(.eyebrow) {color:#c1ced7}
.graphite .contact-band .cta {background:var(--orange);color:#192026;border:0}
.graphite .contact-band .cta:hover {background:#ff8a59}
.graphite .contact-band .phone {font-size:37px;letter-spacing:.04em}
.graphite .contact-band .phone small {color:#c1ced7;letter-spacing:.035em}
.graphite .full-footer {background:#232a2f;color:#dfe6eb;border-top:1px solid #566975}
.graphite .full-footer nav {color:#c5d2dc;line-height:1.9}
.graphite .footer-identity p {color:#b4c4cf}
.graphite .footer-bottom {border-color:#546d7e;color:#b4c4cf}
.graphite .footer-bottom small {letter-spacing:.1em}
.graphite .mobile-contact {background:#e9ecec;border-top:1px solid #8498a6;box-shadow:0 -3px 20px #18273133}
.graphite .mobile-contact .cta {background:var(--orange);color:#192026}
.graphite .mobile-contact>a:last-child {color:var(--ink);border-color:#768e9e}

/* Gray surfaces continue through every service, company and contact page. */
.graphite .breadcrumbs {color:#354e5e}
.graphite .page-hero {background:var(--paper);padding-top:57px;padding-bottom:66px}
.graphite .page-hero h1 {font-size:clamp(38px,4.2vw,61px);line-height:1.45;letter-spacing:-.06em}
.graphite .page-hero .eyebrow {color:#354e5e;letter-spacing:.12em}
.graphite .page-hero:after {background:#8296a5;width:12px}
.graphite .page-photo {height:425px;box-shadow:15px 15px 0 #dae0e2}
.graphite .page-lead {color:#2f424f}
.graphite .hero-arrow {color:#6c8596;font-size:160px}
.graphite .editorial-section {border-color:#8499a7}
.graphite .section-index,.graphite .wide-list article>span,.graphite .process-list article>span,.graphite .article-index {color:#405d71}
.graphite .check-list li {border-color:#9eaeb9;line-height:1.8}
.graphite .check-list li:before {color:#864013}
.graphite .scope-note {background:#e5eaec;border-left:3px solid #657f92;color:#243e50}
.graphite .prepare-section {background:#2b363f;color:#edf2f5}
.graphite .prepare-section .eyebrow {color:#adc1d0}
.graphite .prepare-section p {color:#c0d0dc}
.graphite .prepare-section li {border-color:#637f94}
.graphite .prepare-section li span {color:#ffb88f}
.graphite .prepare-section .cta {background:var(--orange);color:#192026}
.graphite .prepare-section .cta:hover {background:#ff8a59}
.graphite .related-links>a {border-color:#8ba0af}
.graphite .wide-list {background:#e5e9ea}
.graphite .wide-list article {border-color:#7f96a8}
.graphite .process-list article {border-color:#92a7b6}
.graphite .area-panel {background:#2b3740}
.graphite .area-panel h2 em {color:#ffac80}
.graphite .company-table dt {background:#e0e6e8}
.graphite .company-table dd {background:#edf0f1}
.graphite .company-table dt,.graphite .company-table dd {border-color:#90a5b5}
.graphite .registrations {background:#e5eaec}
.graphite .registration-grid article {border-color:#6c8597}
.graphite .registration-grid article>span {color:#405e74}
.graphite .permit-status {background:#edf0f1;border-left:3px solid #728fa2}
.graphite .empty-works {background:#e8edef;border-left:6px solid #627f93}
.graphite .empty-works>span {color:#37556a}
.graphite .faq-list details {border-color:#8a9fad}
.graphite .faq-list summary>span {color:#6f3c20}
.graphite .journal-list article,.graphite .article-body>header,.graphite .article-cta {border-color:#879eae}
.graphite .round-link {border-color:#6c879b}
.graphite .review-note {background:#eef1f2;border:1px solid #8797a2;border-left:3px solid #8c542a;color:#283c49}
.graphite .form-progress li {border-color:#8ca3b4;color:#365468}
.graphite .form-progress li[aria-current] {color:#1d3648;border-color:#385b74}
.graphite .field>label>span {color:#233e51;background:#dfe8ec}
.graphite .field input:not([type=file]),.graphite .field select,.graphite .field textarea {border-radius:0;border-color:#819bad;background:#f8f9f9;color:#172d3e}
.graphite .optional-fields {background:#e8eef1}
.graphite .file-zone {background:#ecf1f3;border-color:#7492a7}
.graphite .file-zone input::file-selector-button {background:#293e4d;color:#e6eef4}
.graphite .customer-type input,.graphite .consent input {accent-color:#2d4c64}
.graphite .aside-note {border-color:#849fb2}
.graphite .back-button {border-color:#7490a4;background:#e7edef}
.graphite .confirmation dt {border-color:#8fa4b4}
.graphite .skip {background:#f8f9f9;color:#172d3e}

@media(min-width:1600px) {
  .graphite .brand-hero {min-height:855px}
  .graphite .brand-photo {height:660px}
}
@media(max-width:1120px) and (min-width:761px) {
  .graphite .site-header {gap:19px}
  .graphite .desktop-nav {gap:15px}
  .graphite .brand-hero {min-height:767px;padding-top:42px}
  .graphite .brand-photo {left:43%;height:565px}
  .graphite .brand-title h1 {font-size:88px}
  .graphite .brand-title h1>span:first-child {font-size:35px}
  .graphite .brand-intro {max-width:350px}
  .graphite .brand-intro>p {font-size:13px}
  .graphite .brand-intro .cta {font-size:13px;padding:17px 21px}
  .graphite .brand-hero:after {width:49%;height:193px}
  .graphite .brand-approach {padding-left:5%;padding-right:5%}
  .graphite .approach-heading {padding-left:3%}
  .graphite .approach-heading h2 {font-size:58px}
  .graphite .approach-heading p {font-size:12px}
  .graphite .orange-note {padding-left:33%;padding-right:23px}
  .graphite .orange-note h3 {font-size:32px}
  .graphite .orange-note .large-symbol {font-size:56px}
  .graphite .brand-services {padding:75px 6%;gap:8%}
  .graphite .brand-services h2 {font-size:39px}
  .graphite .brand-services .main-service h3 {font-size:25px}
  .graphite .brand-services .service-row h3 {font-size:21px}
  .graphite .business-feature h2 {font-size:42px}
  .graphite .home-trust h2 {font-size:44px}
  .graphite .contact-band h2 {font-size:38px}
  .graphite .page-hero h1 {font-size:40px}
}
@media(max-width:760px) {
  .graphite .site-header {height:79px;gap:8px;padding:0 16px}
  .graphite .header-contact {min-height:42px;padding:0 12px;gap:10px}
  .graphite .cta {min-height:61px;font-size:13px;padding:17px 20px}
  .graphite .brand-hero {min-height:0;padding:31px 20px 0}
  .graphite .brand-title .eyebrow {font-size:9px;margin-bottom:20px}
  .graphite .brand-title h1 {font-size:clamp(55px,16.4vw,70px);line-height:1.12;letter-spacing:-.075em}
  .graphite .brand-title h1>span {padding:0 12px 4px 0}
  .graphite .brand-title h1>span:first-child {font-size:clamp(21px,5.9vw,27px);line-height:1.7;padding-bottom:8px;letter-spacing:-.065em}
  .graphite .brand-title h1>span:nth-child(2),.graphite .brand-title h1>.last-line {display:inline-block;padding-right:0}
  .graphite .brand-photo {position:relative;left:auto;right:auto;top:auto;height:295px;margin:23px -20px 0 0;width:calc(100% + 20px)}
  .graphite .brand-photo .photo {clip-path:polygon(0 0,100% 0,100% 89%,88% 100%,0 100%)}
  .graphite .brand-photo img {object-position:76% center}
  .graphite .vertical-label {top:18px;right:15px;font-size:10px;letter-spacing:.14em;padding:12px 7px;border-top-width:2px}
  .graphite .brand-intro {background:var(--paper);margin:0 -20px;max-width:none;padding:23px 20px 19px}
  .graphite .brand-intro>p {font-size:13px;line-height:1.95;margin-bottom:20px}
  .graphite .brand-intro .cta {background:var(--orange);color:#192026;min-height:61px;font-size:14px;padding:17px 20px}
  .graphite .brand-intro .supply {font-size:11px;margin-top:5px;min-height:51px;padding:16px 0}
  .graphite .brand-bottom {position:static;border-top:1px solid #8d9ca6;gap:14px;padding:19px 0 23px;font-size:9px}
  .graphite .brand-hero:after {display:none}
  .graphite .brand-approach {padding:44px 20px 58px}
  .graphite .section-kicker {font-size:9px;padding-top:18px;gap:10px}
  .graphite .approach-heading {display:block;padding:34px 0 22px}
  .graphite .approach-heading h2 {font-size:43px;line-height:1.38;margin-bottom:26px}
  .graphite .approach-heading>div {width:auto;max-width:none;padding-left:20%}
  .graphite .approach-heading p {font-size:12px;line-height:2}
  .graphite .brand-montage {display:block;min-height:0;padding:0 0 38px}
  .graphite .brand-montage .mechanical {height:330px;width:91%}
  .graphite .brand-montage .mechanical img {object-position:center 47%}
  .graphite .orange-note {margin:0 0 0 18%;min-height:345px;padding:30px 19px 30px 29%;border-top:2px solid var(--orange)}
  .graphite .orange-note h3 {font-size:29px;line-height:1.48}
  .graphite .orange-note .large-symbol {font-size:43px;right:14px;top:12px}
  .graphite .orange-note .supply {font-size:10px;gap:5px;margin-top:15px}
  .graphite .brand-montage .space-inset {top:363px;left:0;width:37%;height:244px;border:6px solid #e5e8e8;border-left:0}
  .graphite .section-caption {font-size:10px;line-height:2;margin-top:9px}
  .graphite .brand-services {display:block;padding:54px 24px}
  .graphite .brand-services .eyebrow {font-size:10px}
  .graphite .brand-services h2 {font-size:37px;line-height:1.45}
  .graphite .brand-services .service-heading>p:not(.eyebrow) {font-size:12px}
  .graphite .brand-services .cta {margin:26px 0 42px}
  .graphite .brand-services .service-row {padding:22px 0;gap:15px}
  .graphite .brand-services .service-row h3 {font-size:20px}
  .graphite .brand-services .service-row p {font-size:10px}
  .graphite .brand-services .main-service h3 {font-size:25px}
  .graphite .business-feature {margin:60px 24px 71px;display:block}
  .graphite .business-feature h2 {font-size:35px;line-height:1.48}
  .graphite .business-feature>div>p:not(.eyebrow) {font-size:12px}
  .graphite .business-feature .photo {height:420px;margin-top:31px;width:87%;margin-left:auto;box-shadow:12px 12px 0 #d9dfe1}
  .graphite .business-stamp {left:-5px;bottom:27px;padding:21px 24px}
  .graphite .business-stamp strong {font-size:19px}
  .graphite .home-trust {display:block;padding:51px 24px}
  .graphite .home-trust h2 {font-size:39px}
  .graphite .home-trust p {font-size:12px}
  .graphite .inline-links a {font-size:11px}
  .graphite .registration-summary>strong {font-size:20px}
  .graphite .registration-summary>p {font-size:10px}
  .graphite .home-bottom {display:block;padding:52px 24px}
  .graphite .home-bottom h2 {font-size:35px}
  .graphite .contact-band {display:block;padding:53px 24px}
  .graphite .contact-band:before {left:24px;width:43px}
  .graphite .contact-band h2 {font-size:34px;line-height:1.5}
  .graphite .contact-band .phone {font-size:32px}
  .graphite .full-footer {padding-bottom:123px}
  .graphite .mobile-contact {padding:8px 10px calc(8px + env(safe-area-inset-bottom));gap:8px}
  .graphite .mobile-contact .cta {font-size:12px;min-height:49px;padding:10px 14px;gap:10px}
  .graphite .mobile-contact .cta>span {font-size:21px}
  .graphite .page-hero {padding:34px 24px 42px}
  .graphite .page-hero h1 {font-size:clamp(29px,8.5vw,37px);line-height:1.55}
  .graphite .page-hero:after {width:6px}
  .graphite .page-photo {height:280px;box-shadow:10px 10px 0 #dae0e2;margin-right:0}
  .graphite .page-lead {font-size:12px}
  .graphite .company-table dt {background:#e0e6e8}
  .graphite .company-table dd {background:#e0e6e8}
}
@media(max-width:360px) {
  .graphite .brand-title h1 {font-size:16.4vw}
  .graphite .brand-title h1>span:first-child {font-size:5.85vw}
  .graphite .brand-intro .cta {font-size:13px}
  .graphite .orange-note h3 {font-size:27px}
  .graphite .brand-services .main-service h3 {font-size:22px}
  .graphite .brand-services .service-row h3 {font-size:18px}
  .graphite .contact-band h2 {font-size:30px}
  .graphite .contact-band .phone {font-size:29px}
  .graphite .registration-summary>strong {font-size:18px}
  .graphite .mobile-contact .cta {font-size:11px}
}
@media(prefers-reduced-motion:reduce) {
  .graphite *,.graphite *:before,.graphite *:after {animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
.graphite.motion-off *,.graphite.motion-off *:before,.graphite.motion-off *:after {animation:none!important;transition:none!important}
