.company-contact { --cc-ink: #213b34; --cc-muted: #5c6863; --cc-line: #e2e8e3; color: var(--cc-ink); background: #fff; }
.company-contact .container { width: min(1160px, calc(100% - 48px)); }
.company-contact p { color: var(--cc-muted); }
.company-contact a, .company-contact button { -webkit-tap-highlight-color: transparent; }
.company-contact a:focus-visible, .company-contact button:focus-visible { outline: 3px solid #006a4e; outline-offset: 5px; }
.company-contact .cc-eyebrow { margin: 0 0 18px; color: #a93917; font-size: .72rem; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; }
.cc-intro { padding: 76px 0 44px; }
.cc-intro-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 76px; align-items: center; }
.company-contact h1 { margin: 0 0 22px; font-size: clamp(2.4rem, 4.5vw, 3.65rem); font-weight: 600; line-height: 1.13; letter-spacing: -.045em; }
.company-contact h1 span { color: #ff5527; }
.company-contact .cc-intro-copy { max-width: 580px; margin: 0; font-size: 1.05rem; line-height: 1.85; }
.cc-company-note { border-left: 1px solid var(--cc-line); padding: 8px 0 8px 32px; }
.cc-note-label { display: block; font-size: .82rem; font-weight: 600; margin-bottom: 12px; }
.cc-company-note p { margin: 0 0 14px; font-size: .83rem; line-height: 1.9; }
.cc-company-note a { display: inline-flex; gap: 12px; align-items: center; font-size: .79rem; font-weight: 600; }
.cc-channels { padding-bottom: 64px; }
.cc-channel-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.cc-channel { padding: 30px; border: 1px solid var(--cc-line); border-radius: 18px; background: #fff; display: flex; flex-direction: column; align-items: flex-start; }
.cc-channel-primary { background: #fff6f1; border-color: #f1daca; }
.cc-icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: #f0f4f0; color: #315346; font-size: 1.2rem; margin-bottom: 26px; }
.cc-channel-primary .cc-icon { background: #ffe5d6; color: #a93917; }
.company-contact .cc-channel-label { font-size: .68rem; font-weight: 600; letter-spacing: .04em; margin: 0 0 9px; color: #627167; }
.company-contact .cc-channel h2 { font-size: 1.5rem; font-weight: 600; letter-spacing: -.025em; margin: 0 0 12px; }
.cc-channel > p:not(.cc-channel-label) { font-size: .88rem; line-height: 1.8; margin: 0 0 28px; }
.cc-action { display: flex; justify-content: space-between; align-items: center; gap: 12px; width: 100%; min-height: 48px; padding: 13px 17px; margin-top: auto; border: 1px solid #ccd7cd; border-radius: 9px; background: #fff; color: var(--cc-ink); font-size: .78rem; font-weight: 600; cursor: pointer; transition: background .15s, border-color .15s; }
.cc-action i { font-size: .75rem; }
.cc-action:hover { background: #f1f5f0; border-color: #98ad9c; }
.cc-channel-primary .cc-action { background: #d93e17; border-color: #d93e17; color: #fff; }
.cc-channel-primary .cc-action:hover { background: #bb3210; border-color: #bb3210; }
.cc-channel-detail { margin-top: 14px; color: #5c6863; font-size: .75rem; overflow-wrap: anywhere; }
.cc-enquiries { padding: 60px 0; background: #f7f9f6; border-block: 1px solid #edf1eb; }
.cc-enquiry-layout { display: grid; grid-template-columns: 1.7fr 1fr; gap: 64px; align-items: start; }
.company-contact .cc-enquiries h2 { font-size: 2rem; font-weight: 600; letter-spacing: -.035em; margin: 0 0 14px; line-height: 1.2; }
.company-contact .cc-enquiries .cc-eyebrow { margin-bottom: 14px; }
.cc-section-copy { font-size: .85rem; margin-bottom: 28px; }
.cc-topic-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 32px; }
.cc-topic { border-top: 1px solid #d9e2d8; padding-top: 20px; display: flex; flex-direction: column; align-items: start; }
.cc-topic-number { color: #8b9a8c; font-size: .68rem; font-weight: 500; margin-bottom: 9px; }
.company-contact .cc-topic h3 { font-size: .98rem; font-weight: 600; margin: 0 0 9px; }
.cc-topic p { font-size: .83rem; line-height: 1.85; margin: 0 0 14px; }
.cc-topic a { margin-top: auto; min-height: 44px; display: inline-flex; align-items: center; gap: 12px; color: #305944; font-size: .74rem; font-weight: 600; }
.cc-topic a:hover, .cc-company-note a:hover { text-decoration: underline; text-underline-offset: 4px; }
.cc-preparation { background: #213b34; color: #fff; padding: 32px; border-radius: 18px; }
.cc-preparation-icon { display: block; color: #f8ae8c; font-size: 1.5rem; margin-bottom: 22px; }
.company-contact .cc-preparation h2 { font-size: 1.8rem; line-height: 1.2; margin-bottom: 18px; }
.company-contact .cc-preparation p { color: #d0dcd5; font-size: .8rem; line-height: 1.85; margin-bottom: 24px; }
.cc-preparation-item { border-top: 1px solid #496057; padding-top: 20px; }
.company-contact .cc-preparation-item h3 { font-size: .85rem; font-weight: 500; margin: 0 0 8px; color: #fff; }
.company-contact .cc-preparation-item p { font-size: .75rem; }
.cc-preparation a { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; font-size: .78rem; color: #fff; font-weight: 500; }
.cc-preparation a:focus-visible { outline-color: #f8ae8c; }
.cc-company { padding: 58px 0 42px; }
.cc-company-grid { display: grid; grid-template-columns: 1.7fr 1fr; gap: 64px; }
.company-contact .cc-company h2 { font-size: 1.85rem; letter-spacing: -.035em; font-weight: 600; margin: 0 0 22px; }
.company-contact .cc-legal-name { color: var(--cc-ink); font-size: .92rem; font-weight: 500; margin: 0 0 6px; }
.cc-former-name { font-size: .73rem; margin-bottom: 20px; }
.cc-registration { display: flex; flex-wrap: wrap; gap: 14px 26px; margin: 0; }
.cc-registration div { display: flex; gap: 9px; font-size: .75rem; }
.cc-registration dt { color: var(--cc-muted); }
.cc-registration dd { margin: 0; font-weight: 500; overflow-wrap: anywhere; }
.cc-office { padding-left: 32px; border-left: 1px solid var(--cc-line); }
.cc-office-label { display: flex; gap: 10px; align-items: center; font-size: .8rem; font-weight: 600; margin-bottom: 14px; }
.cc-office-label i { color: #a93917; }
.cc-office address { font-size: .8rem; color: var(--cc-muted); line-height: 1.9; font-style: normal; }
.cc-social { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 20px; }
.cc-social span { font-size: .69rem; color: var(--cc-muted); margin-right: 6px; }
.cc-social a { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--cc-line); border-radius: 50%; font-size: .9rem; }
.cc-social a:hover { background: #f0f4f0; }
.cc-bottom-note { padding: 26px 0; }
.cc-bottom-note .container { display: flex; align-items: center; justify-content: center; gap: 12px; }
.cc-bottom-note i { color: #687b6c; font-size: .8rem; }
.company-contact .cc-bottom-note p { font-size: .72rem; margin: 0; }
.cc-bottom-note a { color: #305944; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 1000px) {
    .cc-intro-grid { gap: 36px; }
    .cc-enquiry-layout { gap: 32px; grid-template-columns: 1.5fr 1fr; }
    .cc-channel { padding: 24px; }
    .cc-preparation { padding: 26px; }
}
@media (max-width: 760px) {
    .cc-intro { padding: 42px 0 30px; }
    .cc-intro-grid, .cc-enquiry-layout, .cc-company-grid { grid-template-columns: 1fr; gap: 30px; }
    .cc-company { padding: 38px 0 24px; }
    .cc-office { border-left: 0; border-top: 1px solid var(--cc-line); padding: 24px 0 0; }
    .cc-company-note { border-left: 0; border-top: 1px solid var(--cc-line); padding: 22px 0 0; }
    .company-contact .cc-intro-copy { font-size: .92rem; }
    .cc-channel-grid { grid-template-columns: 1fr; gap: 14px; }
    .cc-channel { padding: 24px; }
    .cc-icon { margin-bottom: 20px; }
    .cc-channels { padding-bottom: 38px; }
    .cc-enquiries { padding: 38px 0; }
    .cc-topic-grid { gap: 24px; }
    .cc-preparation { padding: 28px; }
    .cc-bottom-note .container { align-items: start; justify-content: start; }
    .cc-bottom-note i { margin-top: 5px; }
}
@media (max-width: 480px) {
    .company-contact .container { width: calc(100% - 40px); }
    .company-contact h1 { font-size: 2.2rem; }
    .company-contact .cc-eyebrow { font-size: .66rem; }
    .cc-topic-grid { grid-template-columns: 1fr; gap: 20px; }
    .cc-topic { padding-top: 16px; }
    .cc-topic p { margin-bottom: 5px; }
}
