/* Inner company pages. Shared typography, navigation and buttons are in style.css. */
.inner-page { background: #fff; color: #172d45; }
.inner-page .page-heading { padding: 22px 0 34px; background: #f3f5f7; border-bottom: 1px solid #e1e6eb; }
.inner-page .breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 24px; color: #677687; font-size: 12px; }
.inner-page .breadcrumbs a { color: #536477; }
.inner-page .breadcrumbs a:hover { color: var(--orange-dark); text-decoration: underline; }
.inner-page .page-heading h1 { margin: 0 0 12px; font-size: clamp(27px, 3vw, 36px); line-height: 1.2; letter-spacing: -.02em; }
.inner-page .page-heading p { max-width: 800px; margin: 0; color: #596b7d; font-size: 16px; line-height: 1.7; }
.inner-page .inner-content { padding-top: 46px; padding-bottom: 64px; }
.inner-page .content-layout { display: grid; grid-template-columns: 236px minmax(0, 1fr); align-items: start; gap: 54px; }
.inner-page .page-sidebar { border: 1px solid #dde4eb; }
.inner-page .page-sidebar > h2 { margin: 0; padding: 17px 20px; background: #f3f5f7; font-size: 17px; }
.inner-page .page-sidebar nav { display: flex; flex-direction: column; }
.inner-page .page-sidebar nav a { padding: 14px 20px; border-top: 1px solid #e3e8ed; color: #43566b; font-size: 14px; line-height: 1.5; }
.inner-page .page-sidebar nav a:hover { background: #f6f8fa; color: var(--orange-dark); }
.inner-page .sidebar-contact { margin: 20px; padding-top: 19px; border-top: 1px solid #e1e6eb; }
.inner-page .sidebar-contact h3 { font-size: 15px; margin: 0 0 8px; }
.inner-page .sidebar-contact p { margin: 0 0 17px; color: #607082; font-size: 13px; line-height: 1.7; }
.inner-page .sidebar-contact .button { min-height: 40px; padding: 8px 13px; font-size: 13px; }
.inner-page .page-article { min-width: 0; }
.inner-page h2 { margin: 0 0 16px; font-size: 25px; line-height: 1.35; letter-spacing: -.015em; }
.inner-page h3 { margin: 0 0 9px; font-size: 17px; line-height: 1.4; }
.inner-page p { color: #596b7d; line-height: 1.8; }
.inner-page .page-article p { margin: 0 0 18px; }
.inner-page .page-article section { scroll-margin-top: 145px; }
.inner-page .service-detail + .service-detail { margin-top: 35px; padding-top: 34px; border-top: 1px solid #e1e6eb; }
.inner-page .article-image { width: 100%; height: 280px; margin-bottom: 30px; object-fit: cover; }
.inner-page .shipping-image { height: 250px; }
.inner-page .content-list { margin: 15px 0 20px; padding-left: 20px; color: #596b7d; line-height: 1.8; }
.inner-page .content-list li + li { margin-top: 6px; }
.inner-page .content-note { margin-top: 22px; padding: 16px 18px; background: #f5f7f9; border-left: 3px solid #c5d2df; font-size: 13px; }
.inner-page .information-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; margin-top: 25px; }
.inner-page .information-columns p { font-size: 14px; }
.inner-page .text-link { color: var(--orange-dark); font-size: 14px; font-weight: 700; }
.inner-page .text-link:hover { text-decoration: underline; }
.inner-page .order-steps { list-style: none; counter-reset: order; margin: 25px 0 0; padding: 0; }
.inner-page .order-steps li { position: relative; counter-increment: order; padding: 0 0 21px 46px; }
.inner-page .order-steps li::before { content: counter(order, decimal-leading-zero); position: absolute; top: 0; left: 0; color: var(--orange-dark); font-size: 19px; font-weight: 700; line-height: 1.4; }
.inner-page .order-steps h3 { margin-bottom: 7px; }
.inner-page .order-steps p { font-size: 14px; }
.inner-page .process-kicker { margin: 0 0 10px; color: var(--orange-dark); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.inner-page .process-review { margin: 20px 0; padding: 19px 22px; background: #f5f7f9; border-left: 3px solid #c5d2df; }
.inner-page .process-review h3 { margin-bottom: 8px; font-size: 15px; }
.inner-page .process-review p { margin-bottom: 0; font-size: 14px; }
.inner-page .article-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 36px; padding: 26px; background: #f1f5f9; border: 1px solid #dce5ee; }
.inner-page .article-cta h2 { margin-bottom: 8px; font-size: 21px; }
.inner-page .article-cta p { margin: 0; font-size: 14px; }
.inner-page .article-cta .button { flex-shrink: 0; }
.inner-page .table-scroll { width: 100%; margin: 24px 0; overflow-x: auto; }
.inner-page .comparison-table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 14px; line-height: 1.7; }
.inner-page .comparison-table th, .inner-page .comparison-table td { padding: 16px; border: 1px solid #dde4eb; text-align: left; vertical-align: top; }
.inner-page .comparison-table thead th { background: #f1f4f7; font-weight: 700; }
.inner-page .comparison-table tbody th { width: 22%; font-weight: 700; }
.inner-page .comparison-table td { color: #596b7d; }
.inner-page .cost-breakdown { margin: 24px 0 0; }
.inner-page .cost-breakdown > div { display: grid; grid-template-columns: minmax(150px, .8fr) minmax(0, 1.4fr); gap: 24px; padding: 19px 0; border-top: 1px solid #dfe6ed; }
.inner-page .cost-breakdown dt { font-size: 14px; font-weight: 700; line-height: 1.6; }
.inner-page .cost-breakdown dd { margin: 0; color: #596b7d; font-size: 14px; line-height: 1.75; }
.inner-page .faq-list { border-top: 1px solid #dfe6ed; }
.inner-page .faq-list details { margin: 0; border: 0; border-bottom: 1px solid #dfe6ed; }
.inner-page .faq-list summary { position: relative; padding: 19px 35px 19px 0; cursor: pointer; font-size: 16px; font-weight: 600; list-style: none; }
.inner-page .faq-list summary::-webkit-details-marker { display: none; }
.inner-page .faq-list summary::after { position: absolute; top: 17px; right: 4px; content: '+'; color: var(--orange-dark); font-size: 21px; font-weight: 400; }
.inner-page .faq-list details[open] summary::after { content: '−'; }
.inner-page .faq-answer { padding: 0 28px 19px 0; }
.inner-page .faq-list .faq-answer p { max-width: none; margin: 0; padding: 0; font-size: 14px; }
.inner-page .faq-answer a, .inner-page .policy-article a { color: var(--orange-dark); text-decoration: underline; }
.inner-page .faq-page > section + section { margin-top: 38px; }
.inner-page .company-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 55px; align-items: start; }
.inner-page .company-intro h2 { max-width: 390px; font-size: 28px; }
.inner-page .company-intro p { margin: 0 0 18px; }
.inner-page .company-intro figure { margin: 0; }
.inner-page .company-intro figure img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.inner-page figcaption { margin-top: 12px; color: #728194; font-size: 12px; }
.inner-page .company-section { margin-top: 46px; padding-top: 40px; border-top: 1px solid #dfe6ed; }
.inner-page .buyer-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; margin-top: 26px; }
.inner-page .buyer-columns article + article { padding-left: 27px; border-left: 1px solid #dfe6ed; }
.inner-page .buyer-columns p { margin: 0; font-size: 14px; }
.inner-page .company-model { display: grid; grid-template-columns: 1fr 1.3fr; gap: 55px; }
.inner-page .company-model .cost-breakdown { margin: 0; }
.inner-page .company-model p { margin: 0; font-size: 15px; }
.inner-page .section-intro { max-width: 750px; }
.inner-page .page-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 25px; }
.inner-page .contact-layout { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.3fr); gap: 64px; }
.inner-page .contact-information > p { margin: 0 0 25px; }
.inner-page .contact-details { margin: 0 0 25px; }
.inner-page .contact-details > div { padding: 16px 0; border-top: 1px solid #e0e6ed; }
.inner-page .contact-details dt { margin-bottom: 5px; color: #778393; font-size: 12px; }
.inner-page .contact-details dd { margin: 0; font-size: 15px; }
.inner-page .contact-details dd a { color: var(--orange-dark); font-size: 19px; }
.inner-page .contact-preparation { margin-top: 34px; padding-top: 27px; border-top: 1px solid #dfe6ed; }
.inner-page .contact-preparation p, .inner-page .contact-preparation li { font-size: 14px; }
.inner-page .contact-form-panel { padding: 30px; background: #f6f8fa; border: 1px solid #e0e6ec; }
.inner-page .contact-form-panel h2 { font-size: 23px; }
.inner-page .contact-form-intro { margin: 0 0 25px; font-size: 14px; }
.inner-page .quote-form { padding: 0; background: none; border: none; }
.inner-page .form-field { margin-bottom: 19px; }
.inner-page .form-field label { display: block; margin-bottom: 8px; color: #263d54; font-size: 13px; font-weight: 600; }
.inner-page .form-field input, .inner-page .form-field textarea, .inner-page .form-field select { width: 100%; min-height: 44px; padding: 11px 12px; border: 1px solid #cbd5df; border-radius: 2px; background: white; color: #172d45; font: inherit; font-size: 14px; }
.inner-page .form-field textarea { min-height: 135px; resize: vertical; }
.inner-page .form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 19px; }
.inner-page .quote-form .form-help { margin: 17px 0 0; color: #728092; font-size: 12px; line-height: 1.7; }
.inner-page .form-help a { color: var(--orange-dark); text-decoration: underline; }
.inner-page .form-status { margin-top: 15px; color: #334f6c; font-size: 14px; }
.inner-page .form-status:empty { margin: 0; }
.inner-page .quote-fallback { display: inline-block; margin-top: 12px; color: var(--orange-dark); font-size: 14px; text-decoration: underline; }
.inner-page .quote-fallback[hidden] { display: none; }
.inner-page .policy-article { max-width: 850px; }
.inner-page .policy-article section + section { margin-top: 34px; padding-top: 30px; border-top: 1px solid #dfe6ed; }
.inner-page .policy-article h2 { font-size: 22px; }
.inner-page .policy-article p { font-size: 15px; }
@media (max-width: 960px) {
    .inner-page .content-layout { grid-template-columns: 200px minmax(0, 1fr); gap: 30px; }
    .inner-page .company-intro, .inner-page .company-model { gap: 30px; }
    .inner-page .contact-layout { gap: 30px; }
    .inner-page .article-cta { flex-direction: column; align-items: flex-start; }
    .inner-page .contact-form-panel { padding: 24px; }
}
@media (max-width: 720px) {
    .inner-page .page-heading { padding: 18px 0 26px; }
    .inner-page .breadcrumbs { margin-bottom: 20px; }
    .inner-page .page-heading p { font-size: 14px; }
    .inner-page .inner-content { padding-top: 30px; padding-bottom: 44px; }
    .inner-page .content-layout { display: flex; flex-direction: column; gap: 30px; }
    .inner-page .page-sidebar { width: 100%; }
    .inner-page .page-sidebar > h2 { padding: 12px 15px; font-size: 15px; }
    .inner-page .page-sidebar nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .inner-page .page-sidebar nav a { padding: 11px 15px; font-size: 12px; }
    .inner-page .page-sidebar .sidebar-contact { display: none; }
    .inner-page .page-article { width: 100%; }
    .inner-page h2 { font-size: 22px; }
    .inner-page .article-image, .inner-page .shipping-image { height: 215px; }
    .inner-page .information-columns, .inner-page .company-intro, .inner-page .company-model, .inner-page .contact-layout { grid-template-columns: 1fr; gap: 24px; }
    .inner-page .information-columns { gap: 0; }
    .inner-page .cost-breakdown > div { grid-template-columns: 1fr; gap: 7px; padding: 15px 0; }
    .inner-page .buyer-columns { grid-template-columns: 1fr; gap: 22px; }
    .inner-page .buyer-columns article + article { padding: 21px 0 0; border-left: 0; border-top: 1px solid #dfe6ed; }
    .inner-page .company-section { margin-top: 32px; padding-top: 29px; }
    .inner-page .contact-form-panel { padding: 22px 19px; }
    .inner-page .contact-form-panel h2 { font-size: 22px; }
    .inner-page .form-row { grid-template-columns: 1fr; gap: 0; }
    .inner-page .form-field input, .inner-page .form-field textarea, .inner-page .form-field select { font-size: 16px; }
    .inner-page .faq-list summary { font-size: 15px; }
}
