/* Shearer: the supplied chrome identity and a brighter customer-facing palette. */
:root {
  color-scheme: light;
  --font: 'Inter', 'Segoe UI', Arial, sans-serif;
  --bg: #fff; --surface: #f1f5f8; --surface-raised: #fff;
  --text: #172f43; --muted: #52697c; --subtle: #63798a;
  --line: #cddae3; --line-strong: #9eb4c4;
  --accent: #0873b0; --blue: #096cad; --radius: 4px; --section-space: 82px;
}
body { background: var(--bg); color: var(--text); font: 400 16px/1.7 var(--font); }
h1,h2,h3,h4 { color: var(--text); }
h1,h2,h3 { font-family: 'Archivo',var(--font); font-weight: 500; letter-spacing: -.025em; }
h4 { font-family: var(--font); font-weight: 600; }
.section { border-top-color: var(--line); }
.section-heading h2,.approach-copy h2,.faq-grid h2,.request-copy h2 { font-size: clamp(1.9rem,2.7vw,2.35rem); line-height: 1.2; letter-spacing: -.025em; }
.section-heading { margin-bottom: 34px; gap: 32px; }
.section-heading>div { max-width: 720px; }
.section-intro { font-size: 1rem; line-height: 1.75; color: var(--muted); max-width: 590px; }
.eyebrow { font-size: .6875rem; letter-spacing: .12em; color: #326788; margin-bottom: 14px; }
.eyebrow:before { width: 24px; height: 2px; background: #198fc4; }
.section-note { display: none; }

/* Transparent wordmark isolated from the supplied chrome brand artwork. */
.wordmark { width: 270px; display: block; line-height: 0; }
.brand-logo { display: block; width: 100%; height: auto; }
.utility-bar { background: #eff4f7; border-color: #d7e3ea; color: #4a6478; }
.utility-inner { min-height: 34px; }
.utility-inner>span { font-size: .625rem; letter-spacing: .12em; font-weight: 600; }
.utility-inner p { font-size: .6875rem; }
.utility-separator { color: #7892a5; }
.header { background: #0c1d2bf7; border-bottom: 1px solid #53778f; }
.header-inner { min-height: 105px; gap: 28px; }
.header nav { gap: 26px; }
.section-link { color: #d0dce4; font-size: .8125rem; font-weight: 500; padding-block: 40px; }
.section-link:hover,.section-link[aria-current=location] { color: #fff; }
.section-link[aria-current=location]:after { background: #3eb7ee; }
.desk-button { color: #c8d8e3; background: transparent; border-color: #607a8d; min-height: 42px; font-size: .75rem; }
.desk-button svg { color: #86c8ed; }
.desk-button:hover { color: #fff; background: #203b50; border-color: #9ac4dd; }
.menu-toggle { background: #17364d; border-color: #7797ad; }

/* A bright reading surface beside the original blue server-room artwork. */
.hero { background-color: #092437; color: #eaf3f9; }
.hero:before { background: linear-gradient(180deg,#03253b00 50%,#08273a9c 78%,#092437 100%); }
.hero-main { grid-template-columns: minmax(0,1fr) 480px; min-height: 585px; gap: 44px; padding: 43px 0 36px; }
.brand-caption { display: none; }
.hero-panel { color: var(--text); background: #f4f8fcf7; border: 1px solid #e4eef6; border-top: 4px solid #35ade4; border-radius: 4px; padding: 34px 35px 27px; box-shadow: 0 16px 45px #00142440; }
.panel-brand { color: #416880; font-size: .6875rem; font-weight: 600; letter-spacing: .13em; margin-bottom: 20px; }
.hero-panel .eyebrow { display: none; }
.hero h1 { font-size: 2.75rem; line-height: 1.13; letter-spacing: -.03em; font-weight: 500; color: #142f46; margin-bottom: 21px; overflow-wrap: normal; }
.hero h1 span { color: #086b9e; }
.hero-description { font-size: .9375rem; line-height: 1.8; color: #455f73; max-width: 400px; }
.hero-actions { margin-top: 25px; display: grid; gap: 10px; grid-template-columns: 1fr; }
.hero-actions .button { border-radius: 3px; font-size: .875rem; min-height: 48px; }
.hero-panel-footer { border-color: #ccdce7; color: #4c6a81; letter-spacing: .07em; font-size: .625rem; margin-top: 23px; padding-top: 16px; }
.button { border-radius: 3px; font-weight: 600; box-shadow: none; }
.primary { color: #fff; background: #096cad; border-color: #096cad; box-shadow: inset 0 1px 0 #ffffff1a; }
.primary:hover { background: #07598f; border-color: #07598f; }
.secondary,.outline,.hero-actions .secondary,.option-body .button { color: #15577e; background: transparent; border-color: #97b0c2; }
.secondary:hover,.outline:hover,.hero-actions .secondary:hover,.option-body .button:hover { color: #133f5c; background: #e7f1f8; border-color: #5f8ea9; }
.hero-paths { background: #f5f8fb; border: 1px solid #d3e2ec; border-radius: 4px; box-shadow: 0 7px 25px #03142018; backdrop-filter: none; }
.path-button { color: #1b394f; padding: 23px 26px; min-height: 104px; }
.path-button+.path-button { border-color: #ccdce7; }
.path-button:hover,.path-button:focus-visible { background: #e7f1f8; }
.path-button:hover:after { background: #268fc1; }
.path-icon { background: transparent; border: 0; border-radius: 0; box-shadow: none; color: #1676a8; width: 40px; height: 43px; }
.path-icon svg { width: 28px; height: 28px; stroke-width: 1.4; }
.path-text strong { font-size: .9375rem; font-weight: 600; letter-spacing: -.018em; }
.path-text>span { color: #536f83; font-size: .75rem; }
.path-action { display: block; color: #1778a9; font-size: 1.15rem; }
.hero-foot { color: #c8dce9; font-size: .75rem; padding: 22px 0 25px; }
.hero-foot .check { color: #82cfee; }

/* Services share a single directory with a persistent selection. */
.services { background: #fff; }
.segment { background: #edf4f8; border: 1px solid #c7d8e4; border-radius: 4px; gap: 0; padding: 4px; }
.segment span { color: #3f5e75; font-size: .8125rem; padding: 9px 13px; border-radius: 2px; font-weight: 500; }
.segment input:checked+span { background: #1a526f; color: #fff; box-shadow: none; }
.service-explorer { background: #fff; border: 1px solid #c8d9e4; border-top: 2px solid #7ba7bf; border-radius: 0; box-shadow: none; grid-template-columns: 290px minmax(0,1fr); }
.service-index { background: #f1f6f9; border-color: #ccdce7; }
.index-heading { color: #4d6a7f; border-color: #ccdce7; font-size: .625rem; letter-spacing: .1em; min-height: 60px; }
.index-heading>span:last-child { color: #4c718a; }
.service-button { color: #34546b; border-bottom-color: #d3e0e9; font-size: .875rem; padding: 18px 17px; gap: 12px; min-height: 70px; }
.service-number { color: #6a8ba1; }
.service-number svg { width: 22px; height: 22px; }
.service-button .plus { color: #4f809d; }
.service-button:hover { background: #e5eff6; color: #173f59; }
.service-button[aria-pressed=true] { color: #124d70; background: #deedf7; border-left-color: #0d80b8; }
.service-button[aria-pressed=true] .service-number,.service-button[aria-pressed=true] .plus { color: #146e9d; }
.service-detail { background: #fff; padding: 32px 32px 29px; min-height: 550px; }
.detail-top { display: none; }
.detail-body { grid-template-columns: minmax(0,1fr) 215px; gap: 26px; }
.service-detail h3 { color: #153b55; font-size: 1.875rem; line-height: 1.22; margin-bottom: 18px; }
.detail-description { color: #4e6577; font-size: .9375rem; line-height: 1.8; }
.detail-subhead { color: #53778d; font-size: .6875rem; letter-spacing: .085em; margin-top: 25px; }
.detail-features li { color: #355267; font-size: .875rem; line-height: 1.8; padding-block: 8px; }
.detail-features li:before { color: #1985ad; }
.detail-bottom { border-color: #d0dfe9; padding-top: 23px; }
.detail-fit { color: #526e82; font-size: .8125rem; }
.service-map { border-color: #d2e1eb; }
.map-caption,.map-orbit,.map-junction { display: none; }
.map-drawing { background: none; }
.map-core { top: 46%; }
.map-core img { filter: none; }
.map-connection { stroke: #8cb6ce; stroke-width: 1.2; filter: none; }
.map-icon { border: 0; border-radius: 0; box-shadow: none; background: #fff; color: #267aa4; }
.map-node { color: #486d85; font-size: .75rem; font-weight: 500; }
.map-node>span:last-child { background: #fff; padding-inline: 4px; }

/* Compare support models on one continuous silver-blue surface. */
#support-options { background: #edf3f7; }
.support-comparison { background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.support-option+.support-option { border-color: #bdcfdc; }
.option-head { background: transparent; padding: 12px 29px 25px; min-height: 298px; }
.option-label { color: #466c84; font-size: .625rem; letter-spacing: .11em; }
.option-head h3 { color: #1a3b53; font-size: 1.625rem; }
.option-head p { color: #516b7e; font-size: .9375rem; line-height: 1.75; }
.option-body { border-color: #c8d9e4; padding: 25px 29px 12px; }
.option-body h4 { color: #294d65; font-size: .8125rem; }
.option-body li { color: #456277; font-size: .875rem; }
.option-body li:before { background: #4895ba; }
.option-fit,.scope-note { color: #516e83; font-size: .8125rem; }
.model-node>span,.model-managed .model-node:nth-of-type(2)>span { border: 0; border-radius: 0; box-shadow: none; background: #edf3f7; color: #297aa5; }
.model-node small { color: #4e7189; background: transparent; font-size: .75rem; padding: 0; }
.model-lines { stroke: #8eb5ce; opacity: .9; }
.model-lines .scope-path { display: none; }
.scope-note { margin-top: 29px; }

/* This navy section connects the lighter content back to the brand. */
#about { background: #12364d; border-top-color: #214b63; }
.approach-copy h2 { color: #f4f8fc; }
.approach-copy .eyebrow { color: #9ed5ec; }
.approach-copy .eyebrow:before { background: #63b8dd; }
.approach-copy>p:not(.eyebrow),.process p { color: #c2d6e3; line-height: 1.85; }
.approach-signature { border-color: #42657b; }
.approach-signature>span { color: #dcebf3; letter-spacing: .1em; font-size: .6875rem; }
.approach-signature>p { color: #abc9db; }
.process { border-color: #42657b; }
.process li { border-color: #3c5e73; }
.process li:not(:last-child):before { background: #50768e; }
.process-number { border: 1px solid #7595aa; border-radius: 50%; box-shadow: none; color: #d2eaf8; background: #12364d; font-size: .75rem; font-weight: 600; }
.process h3 { color: #f0f6fa; font-family: var(--font); font-size: 1rem; font-weight: 600; letter-spacing: -.01em; }
.process p { font-size: .9375rem; }
.faq-section { background: #fff; }
.faq-list details { border-color: #cbdce6; }
.faq-list details[open] { border-top-color: #2c8db9; }
summary { color: #24455d; font-size: .9375rem; font-weight: 500; padding-block: 22px; }
summary>span { color: #2b81ac; }
.faq-list details>p { color: #4b667a; font-size: .9375rem; }

.request-section { background: #edf4f8; border-top-color: #c6d9e6; }
.request-copy>p:not(.eyebrow) { color: #4d687e; }
.request-panel { background: #fff; border: 1px solid #c0d3e1; border-top: 3px solid #4a91b8; border-radius: 3px; box-shadow: 0 10px 24px #21465f08; padding: 31px; }
.form-head { border-color: #d0dee8; }
.form-head h3 { color: #23465e; font-size: 1.5rem; }
.form-head p { color: #577386; }
.form-head>span { color: #58798d; font-size: .625rem; letter-spacing: .08em; }
form label { color: #34546b; font-size: .875rem; font-weight: 500; }
.optional { color: #647c8d; }
select,textarea { background: #f8fbfd; color: #243f55; border: 1px solid #abc2d3; border-radius: 3px; font-size: 1rem; }
select:hover,textarea:hover { border-color: #628fac; }
select:focus,textarea:focus { border-color: #257eac; }
textarea::placeholder { color: #567084; }
.form-note { color: #5d7485; font-size: .75rem; }
#brief-output { color: #31536c; }
.edit-button { color: #0b6fa5; }
.staff-access { background: transparent; border: 0; border-top: 1px solid #bfd2df; border-radius: 0; padding: 25px 0; max-width: 100%; }
.staff-access>svg { color: #377ea5; }
.staff-access h3 { color: #2f526c; font-family: var(--font); font-size: .9375rem; font-weight: 600; }
.staff-access p { color: #5a778b; }
.staff-access a { color: #176e9d; text-decoration-color: #83afc9; }
.request-copy p.contact-location { color: #56758a; }
.footer { background: #0c1d2b; border-color: #28465c; }
.footer .wordmark { width: 275px; }
.footer-top>div:first-child>p { color: #b3c8d6; margin-top: 15px; font-size: .8125rem; }
.footer-links { color: #c8d9e4; }
.footer-location>span { color: #b2cddb; font-size: .6875rem; }
.footer-location>p { color: #a6bfce; }
.footer-location>a { color: #a7d5ee; border-color: #507b93; }
.footer-bottom { color: #a4bccb; border-color: #345165; }

/* Client access and the request handoff share the site's established grid. */
.portal-button { min-height: 44px; padding: 11px 16px; background: #e8f3fa; border-color: #b7d7e9; color: #174a6b; font-size: .8125rem; }
.portal-button svg { width: 18px; height: 18px; color: #237fae; }
.portal-button:hover { background: #fff; border-color: #edfaff; color: #134060; }
.hero-client-link { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 19px; font-size: .75rem; line-height: 1.6; color: #526e82; }
.hero-client-link>span:not(.sr-only) { color: #146c9b; font-weight: 600; }
.hero-client-link:hover>span:not(.sr-only) { text-decoration: underline; text-underline-offset: 4px; }
.hero-panel-footer { margin-top: 17px; }
.path-icon svg,.path-action { transition: transform .18s ease; }
.path-button:hover .path-icon svg { transform: translateY(-2px); }
.path-button:hover .path-action { transform: rotate(90deg); }
.service-button { transition: background .18s ease,color .18s ease,border-color .18s ease; }
.service-button[aria-pressed=true] { box-shadow: inset 0 0 0 1px #c2dcecff; }
.faq-list details>p a { color: #096ca5; text-decoration: underline; text-underline-offset: 3px; }
.request-grid { gap: 72px; align-items: start; }
.request-copy h2 { font-size: clamp(1.9rem,2.7vw,2.35rem); }
.request-copy>p:not(.eyebrow) { max-width: 430px; }
.portal-access { margin-top: 28px; padding: 24px; background: #12364d; border: 1px solid #315b74; border-radius: 4px; color: #f4f8fc; }
.portal-access-head { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 19px; color: #b7d7e8; font-size: .625rem; font-weight: 600; letter-spacing: .11em; }
.portal-access-head svg { width: 18px; height: 18px; color: #b7d7e8; }
.portal-signin { width: 100%; justify-content: space-between; background: #e3f2fb; color: #174867; border-color: #bfdeef; padding: 13px 15px; font-size: .8125rem; }
.portal-signin:hover { background: #fff; color: #124363; border-color: #fff; }
.portal-signin svg { width: 18px; height: 18px; }
.portal-actions { margin-top: 20px; }
.portal-action { display: flex; align-items: center; gap: 14px; padding: 19px 0; border-top: 1px solid #3e6178; color: #e7f1f7; }
.portal-action>svg { width: 24px; height: 24px; color: #95c9e4; }
.portal-action>span:not(.portal-arrow):not(.sr-only) { display: grid; gap: 5px; }
.portal-action strong { font-size: .8125rem; font-weight: 600; line-height: 1.5; }
.portal-action small { color: #b5cddb; font-size: .75rem; line-height: 1.5; }
.portal-arrow { margin-left: auto; color: #9bcfea; transition: transform .18s ease; }
.portal-action:hover strong { text-decoration: underline; text-underline-offset: 4px; }
.portal-action:hover .portal-arrow { transform: translate(2px,-2px); }
.portal-reset { display: inline-block; color: #badced; font-size: .75rem; margin-top: 5px; text-decoration: underline; text-underline-offset: 4px; }
.portal-account-note { color: #b5cddb; font-size: .6875rem; line-height: 1.7; margin-top: 13px; }
.portal-access a:focus-visible { outline-color: #8ad6fa; }
.request-panel .form-head { align-items: start; }
.request-panel .form-head p { max-width: 325px; }
.request-panel button[type=submit] { justify-content: space-between; }
.request-panel button[type=submit] svg { width: 18px; height: 18px; }
.portal-handoff-note { color: #47677f; font-size: .8125rem; line-height: 1.8; margin-top: 17px; }
.portal-handoff-note strong { font-weight: 600; }
.brief-tools { display: flex; gap: 24px; flex-wrap: wrap; margin-bottom: 8px; }
.brief-tools .edit-button { padding: 15px 0 12px; font-size: .8125rem; }
.result-actions { flex-wrap: wrap; }
.result-actions .button { flex: 1 1 150px; width: auto; min-height: 49px; }
.footer-staff-link { color: #a7c0d0; }
@media(max-width:1150px) {
  .request-grid { gap: 42px; }
  .portal-button { font-size: .75rem; padding-inline: 13px; }
  .portal-access { padding: 21px; }
  .portal-signin { font-size: .75rem; padding-inline: 13px; }
}
@media(max-width:1024px) {
  .portal-button { margin-top: 16px; font-size: .9375rem; min-height: 49px; }
  .service-button[aria-pressed=true] { box-shadow: inset 0 -2px #1785b8; }
}
@media(max-width:850px) { .request-grid { gap: 32px; } }
@media(max-width:760px) {
  .request-grid { gap: 32px; }
  .portal-access { max-width: 540px; padding: 25px; }
  .portal-signin { font-size: .875rem; padding-inline: 15px; }
  .portal-action strong { font-size: .9375rem; }
  .portal-action small { font-size: .8125rem; }
  .portal-reset { font-size: .8125rem; }
  .portal-account-note { font-size: .75rem; }
  .hero-client-link { font-size: .75rem; }
}
@media(max-width:370px) {
  .portal-access { padding: 20px; }
  .portal-signin { font-size: .8125rem; }
  .result-actions { flex-direction: column; }
  .result-actions .button { flex-basis: auto; width: 100%; }
}
@media(prefers-reduced-motion:reduce) {
  .path-button:hover .path-icon svg,.path-button:hover .path-action,.portal-action:hover .portal-arrow { transform: none; }
}

@media(min-width:1600px) { .hero-main { min-height: 625px; padding-top: 57px; padding-bottom: 46px; } }
@media(max-width:1150px) {
  .wordmark { width: 243px; } .header nav { gap: 19px; } .section-link { font-size: .75rem; }
  .hero-main { grid-template-columns: minmax(0,1fr) 440px; gap: 30px; }
  .hero h1 { font-size: 2.5rem; } .hero-panel { padding: 30px; }
  .path-button { padding: 22px 19px; gap: 12px; } .path-text strong { font-size: .875rem; } .path-action { display: none; }
  .service-explorer { grid-template-columns: 270px minmax(0,1fr); } .service-detail { padding: 29px 26px; }
  .detail-body { grid-template-columns: minmax(0,1fr) 180px; gap: 18px; } .service-detail h3 { font-size: 1.7rem; }
  .option-head,.option-body { padding-inline: 23px; } .option-head h3 { font-size: 1.5rem; }
  .option-head p,.option-body li { font-size: .875rem; }
}
@media(max-width:1024px) {
  .header-inner { min-height: 92px; } .wordmark { width: 240px; }
  .header nav { gap: 0; background: #0e2638; border-color: #65869b; }
  .section-link { font-size: 1rem; padding-block: 15px; } .section-link[aria-current=location] { color: #99d5f2; }
  .desk-button { margin-left: 0; font-size: .875rem; }
  .service-explorer { grid-template-columns: 1fr; } .service-index { border-right: 0; border-bottom: 1px solid #c7d9e5; }
  .service-button { border-right-color: #cbdce7; } .service-button[aria-pressed=true] { box-shadow: inset 0 -2px #1785b8; }
  .service-detail { min-height: 0; } .detail-body { grid-template-columns: minmax(0,1fr) 230px; gap: 36px; }
}
@media(max-width:850px) {
  .hero-main { grid-template-columns: minmax(0,1fr) 390px; gap: 20px; } .hero-panel { padding: 29px 27px 25px; }
  .hero h1 { font-size: 2.3rem; }
  .option-head,.option-body { padding-inline: 18px; } .option-head { min-height: 315px; }
  .option-head h3 { font-size: 1.375rem; } .model-node small { font-size: .6875rem; } .path-button { padding-inline: 16px; }
}
@media(max-width:760px) {
  :root { --section-space: 56px; } .section { padding: 56px 0; }
  .header-inner { min-height: 86px; } .wordmark { width: 224px; }
  .utility-inner { min-height: 32px; } .utility-inner p { font-size: .625rem; }
  .hero { background-image: linear-gradient(180deg,transparent 210px,#092437 490px),url('assets/shearer-chrome.png'); background-color: #092437; }
  .hero:before { background: none; } .hero-main { grid-template-columns: 1fr; padding: 0 0 24px; min-height: 0; gap: 0; }
  .brand-stage { height: 292px; } .hero-panel { width: 100%; max-width: 540px; padding: 29px 28px 24px; border-radius: 4px; }
  .panel-brand { font-size: .625rem; margin-bottom: 18px; }
  .hero h1 { font-size: clamp(2rem,6.3vw,2.65rem); line-height: 1.15; }
  .hero-description { font-size: .9375rem; line-height: 1.8; }
  .hero-actions { grid-template-columns: 1fr 1fr; } .hero-actions .button { font-size: .8125rem; padding-inline: 12px; }
  .hero-panel-footer { font-size: .5625rem; letter-spacing: .05em; flex-wrap: wrap; }
  .hero-paths { border-radius: 4px; } .path-button { min-height: 86px; padding: 18px 22px; gap: 15px; }
  .path-button+.path-button { border-left: 0; border-top-color: #ccdde8; }
  .path-action { display: block; } .path-text strong { font-size: .9375rem; } .path-text>span { font-size: .75rem; }
  .hero-foot { font-size: .6875rem; gap: 9px 21px; }
  .section-heading h2,.approach-copy h2,.faq-grid h2,.request-copy h2 { font-size: 1.9rem; } .section-intro { font-size: .9375rem; }
  .segment { max-width: 420px; width: 100%; } .segment span { font-size: .8125rem; padding: 10px 8px; }
  .service-explorer { border-radius: 0; }
  .service-button { min-height: 76px; font-size: .8125rem; padding: 14px 12px; gap: 9px; border-color: #ccdde8; }
  .service-button:nth-child(2n) { border-right: 0; } .service-button:last-child { border-bottom-color: #ccdde8; }
  .service-detail { padding: 27px 24px; } .service-detail h3 { font-size: 1.75rem; }
  .detail-body { grid-template-columns: 1fr; gap: 5px; } .detail-features li { font-size: .9375rem; }
  .service-map { border-top: 0; padding-top: 9px; } .map-drawing { max-width: 244px; }
  .detail-bottom { flex-direction: column; align-items: flex-start; gap: 17px; }
  .support-comparison { grid-template-columns: 1fr; border-radius: 0; }
  .support-option+.support-option { border-left: 0; border-top: 1px solid #b7cedd; margin-top: 31px; padding-top: 28px; }
  .option-head { min-height: 0; padding: 0 0 24px; } .option-body { padding: 22px 0 0; }
  .option-head h3 { font-size: 1.65rem; } .option-head p,.option-body li { font-size: .9375rem; }
  .model-graphic { width: 100%; max-width: 355px; } .model-node small { font-size: .8125rem; }
  .option-body .button { width: auto; min-width: 220px; align-self: flex-start; padding-inline: 22px; } .option-fit { min-height: 0; }
  .request-panel { padding: 26px 24px; border-radius: 3px; } .form-head h3 { font-size: 1.375rem; }
  .form-head>span { font-size: .5625rem; } .staff-access { padding-inline: 0; } .footer .wordmark { width: 260px; }
}
@media(max-width:430px) {
  .brand-stage { height: 265px; } .hero-panel { padding: 27px 24px 23px; }
  .hero-actions { grid-template-columns: 1fr; } .hero-actions .button { font-size: .875rem; }
  .hero-panel-footer { gap: 8px 12px; } .service-button { padding-inline: 10px; gap: 8px; } .service-number svg { width: 20px; height: 20px; }
}
@media(max-width:370px) {
  .wordmark { width: 204px; } .brand-stage { height: 249px; } .hero-panel { padding-inline: 21px; }
  .hero h1 { font-size: 1.9rem; } .service-detail { padding-inline: 20px; } .service-button { font-size: .75rem; padding-inline: 9px; }
  .section-heading h2,.approach-copy h2,.faq-grid h2,.request-copy h2 { font-size: 1.75rem; } .request-panel { padding-inline: 20px; }
}

/* The Shearer Standard: an editorial introduction and a continuous service guide. */
#about.standard-section { background: #102e43; border-top: 1px solid #48728e; }
.standard-heading { display: grid; grid-template-columns: 1.18fr 1fr; gap: 76px; align-items: end; margin-bottom: 36px; }
.standard-title .eyebrow { color: #a1d3eb; margin-bottom: 20px; }
.standard-title .eyebrow:before { background: #62bce3; width: 29px; }
.standard-title h2 { color: #f5f9fc; font-size: clamp(2rem,3.25vw,2.65rem); line-height: 1.17; letter-spacing: -.03em; }
.standard-introduction { padding-bottom: 2px; }
.standard-introduction p { color: #c2d5e2; font-size: .9375rem; line-height: 1.85; }
.standard-introduction p+p { margin-top: 12px; }
.standard-principles { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0 0 42px; border-top: 1px solid #43637a; border-bottom: 1px solid #43637a; padding: 25px 0; }
.standard-principles>div { padding: 0 28px; }
.standard-principles>div:first-child { padding-left: 0; }
.standard-principles>div:last-child { padding-right: 0; }
.standard-principles>div+div { border-left: 1px solid #43637a; }
.standard-principles dt { display: flex; align-items: center; gap: 11px; color: #eef6fb; font-size: .875rem; line-height: 1.5; font-weight: 600; }
.standard-principles svg { width: 21px; height: 21px; color: #9dcee7; }
.standard-principles dd { color: #b5cfde; font-size: .8125rem; line-height: 1.8; margin: 9px 0 0 32px; }
.delivery-guide { background: #f7fafc; border-top: 3px solid #66b2d4; color: #203f55; }
.delivery-guide-heading { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 17px 29px; background: #e6eff5; border-bottom: 1px solid #bdd1df; }
.delivery-guide-heading>p { color: #315b76; font-size: .6875rem; font-weight: 600; letter-spacing: .1em; }
.delivery-guide-heading>span { color: #4c6a7f; font-size: .75rem; }
.delivery-steps { list-style: none; padding: 0; margin: 0; }
.delivery-step { display: grid; grid-template-columns: 48px minmax(170px,.9fr) minmax(260px,1.65fr) minmax(185px,1fr); gap: 24px; padding: 29px; align-items: start; }
.delivery-step+.delivery-step { border-top: 1px solid #c8d9e4; }
.delivery-step:nth-child(even) { background: #edf4f8; }
.delivery-marker { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; padding-top: 1px; color: #477c9c; }
.delivery-marker>span { font-family: 'Archivo',var(--font); font-size: 1.75rem; line-height: 1; font-variant-numeric: tabular-nums; letter-spacing: -.03em; }
.delivery-marker>svg { width: 26px; height: 26px; color: #558daa; stroke-width: 1.4; }
.delivery-stage { display: block; color: #466c85; font-size: .625rem; font-weight: 600; line-height: 1.8; letter-spacing: .075em; margin-bottom: 10px; }
.delivery-title h3 { color: #193e58; font-size: 1.3rem; line-height: 1.3; letter-spacing: -.018em; }
.delivery-description { color: #435f73; font-size: .875rem; line-height: 1.85; }
.delivery-outcome { border-left: 2px solid #98bdd3; padding: 1px 0 0 19px; min-width: 0; }
.delivery-outcome-label { display: block; color: #426d86; font-size: .625rem; font-weight: 600; line-height: 1.8; letter-spacing: .075em; margin-bottom: 9px; }
.delivery-outcome h4 { color: #244b65; font-size: .8125rem; line-height: 1.55; font-weight: 600; }
.delivery-outcome p { color: #4e6b7e; font-size: .8125rem; line-height: 1.8; margin-top: 7px; }
.standard-footer { display: flex; justify-content: space-between; align-items: center; gap: 40px; margin-top: 32px; }
.standard-local { max-width: 455px; }
.standard-local strong { display: block; color: #e4f0f8; font-size: .8125rem; line-height: 1.7; font-weight: 600; }
.standard-local p { color: #b3cddd; font-size: .75rem; line-height: 1.85; margin-top: 6px; }
.standard-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 16px 22px; }
.standard-options { color: #bfdfef; font-size: .8125rem; text-decoration: underline; text-underline-offset: 5px; text-decoration-color: #6e9db6; }
.standard-options:hover { color: #fff; text-decoration-color: #c5e4f5; }
.standard-request { background: #e9f4fb; color: #204f6d; border: 1px solid #c2dce9; padding: 12px 18px; font-size: .8125rem; }
.standard-request svg { width: 18px; height: 18px; }
.standard-request:hover { background: #fff; color: #123f5c; border-color: #fff; }
.standard-actions a:focus-visible { outline-color: #a1dcf7; }
@media(max-width:1150px) {
  .standard-heading { gap: 46px; }
  .standard-title h2 { font-size: 2.25rem; }
  .standard-principles>div { padding-inline: 22px; }
  .standard-principles dt { font-size: .8125rem; }
  .standard-principles dd { font-size: .75rem; }
  .delivery-step { grid-template-columns: 39px minmax(155px,.9fr) minmax(220px,1.45fr) minmax(170px,1fr); gap: 19px; padding: 25px; }
  .delivery-title h3 { font-size: 1.1875rem; }
  .delivery-description { font-size: .8125rem; }
  .delivery-outcome { padding-left: 16px; }
  .delivery-outcome p { font-size: .75rem; }
  .standard-footer { gap: 25px; }
  .standard-actions { gap: 14px; }
}
@media(max-width:1000px) {
  .standard-heading { grid-template-columns: 1fr 1fr; gap: 35px; align-items: start; }
  .standard-title h2 { font-size: 2rem; }
  .standard-introduction p { font-size: .875rem; }
  .standard-principles { margin-bottom: 32px; }
  .standard-principles>div { padding-inline: 18px; }
  .standard-principles dt { align-items: flex-start; }
  .standard-principles dd { margin-left: 0; }
  .delivery-step { grid-template-columns: 40px minmax(0,1.55fr) minmax(185px,1fr); gap: 13px 25px; padding: 27px; }
  .delivery-marker { grid-column: 1; grid-row: 1 / span 2; }
  .delivery-title { grid-column: 2; }
  .delivery-title h3 { font-size: 1.3rem; }
  .delivery-title h3 br { display: none; }
  .delivery-stage { margin-bottom: 7px; font-size: .625rem; }
  .delivery-description { grid-column: 2; grid-row: 2; font-size: .875rem; }
  .delivery-outcome { grid-column: 3; grid-row: 1 / span 2; padding-left: 21px; }
  .delivery-outcome-label { font-size: .625rem; }
  .delivery-outcome p { font-size: .8125rem; }
  .standard-footer { align-items: flex-start; }
  .standard-actions { flex-direction: column; align-items: flex-end; flex-shrink: 0; }
}
@media(max-width:760px) {
  .standard-heading { grid-template-columns: 1fr; gap: 23px; margin-bottom: 28px; }
  .standard-title .eyebrow { margin-bottom: 16px; }
  .standard-title h2 { font-size: clamp(1.875rem,5.3vw,2.3rem); }
  .standard-introduction { max-width: 580px; }
  .standard-introduction p { font-size: .9375rem; line-height: 1.85; }
  .standard-principles { grid-template-columns: 1fr; padding-block: 0; margin-bottom: 30px; }
  .standard-principles>div,.standard-principles>div:first-child,.standard-principles>div:last-child { padding: 19px 0; }
  .standard-principles>div+div { border-left: 0; border-top: 1px solid #43637a; }
  .standard-principles dt { font-size: .875rem; align-items: center; }
  .standard-principles dd { margin: 7px 0 0 32px; font-size: .8125rem; }
  .delivery-guide-heading { padding: 16px 22px; }
  .delivery-guide-heading>p { font-size: .625rem; }
  .delivery-guide-heading>span { display: none; }
  .delivery-step { grid-template-columns: 30px minmax(0,1fr); gap: 13px 17px; padding: 25px 22px; }
  .delivery-marker { gap: 14px; grid-row: 1 / span 3; }
  .delivery-marker>span { font-size: 1.5rem; }
  .delivery-marker>svg { width: 23px; height: 23px; }
  .delivery-title { grid-column: 2; grid-row: 1; }
  .delivery-title h3 { font-size: 1.3rem; line-height: 1.35; }
  .delivery-stage { font-size: .625rem; letter-spacing: .06em; }
  .delivery-description { grid-column: 2; grid-row: 2; font-size: .9375rem; line-height: 1.8; }
  .delivery-outcome { grid-column: 2; grid-row: 3; border-left: 0; border-top: 1px solid #b7cfdc; padding: 16px 0 0; margin-top: 3px; }
  .delivery-outcome-label { font-size: .625rem; margin-bottom: 5px; }
  .delivery-outcome h4 { font-size: .875rem; }
  .delivery-outcome p { font-size: .8125rem; margin-top: 5px; }
  .standard-footer { flex-direction: column; align-items: stretch; gap: 23px; margin-top: 27px; }
  .standard-local { max-width: 100%; }
  .standard-local strong { font-size: .8125rem; }
  .standard-local p { font-size: .8125rem; }
  .standard-actions { flex-direction: row; flex-wrap: wrap; justify-content: flex-start; align-items: center; gap: 18px 24px; }
  .standard-request { min-height: 48px; }
}
@media(max-width:370px) {
  .standard-title h2 { font-size: 1.75rem; }
  .delivery-guide-heading { padding-inline: 17px; }
  .delivery-step { grid-template-columns: 26px minmax(0,1fr); gap: 12px 13px; padding: 24px 17px; }
  .delivery-title h3 { font-size: 1.1875rem; }
  .delivery-description { font-size: .875rem; }
  .standard-actions { flex-direction: column; align-items: stretch; }
  .standard-request { font-size: .8125rem; padding-inline: 13px; }
}
