/* Phase 03B: loaded only by Team, Careers and Contact. */
.phase03b [hidden] { display:none !important; }
.phase03b .preparation-copy { color:#c3cfe5; font-size:12px; margin-top:24px; }
.collaboration-map { border-block:1px solid #405274; padding:26px 0; }
.collaboration-map ol { padding:0; margin:0 0 0 5px; list-style:none; }
.collaboration-map li { color:#e5ecfc; border-left:1px solid #6d89c3; padding:0 0 28px 26px; font-size:17px; line-height:1.7; position:relative; }
.collaboration-map li::before { content:""; position:absolute; width:9px; height:9px; border:1px solid #a8bfff; background:var(--brand-navy); left:-5px; top:9px; }
.collaboration-map li:last-child { padding-bottom:0; border-left-color:transparent; }
.engineering-layout, .focus-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); gap:100px; }
.phase03b .engineering-intro { margin-top:24px; max-width:430px; }
.engineering-method { list-style:none; margin:0; padding:0; }
.engineering-method li { display:grid; grid-template-columns:32px minmax(0,1fr); gap:22px; padding:28px 0; border-top:1px solid #ccd4e3; }
.engineering-method li:first-child { padding-top:0; border:0; }
.engineering-method li:last-child { padding-bottom:0; }
.engineering-method .corp-number { padding-top:7px; }
.engineering-method h3 { font-size:22px; }
.engineering-method p { font-size:14px; }
.phase03b .method-output { font-size:12px; margin-top:14px; color:var(--brand-blue); }
.quality-principles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:48px; margin-top:44px; }
.quality-rule { width:32px; height:2px; background:var(--brand-blue); display:block; margin-bottom:24px; }
.quality-principles p { font-size:14px; }
.focus-list { padding:0; margin:0; border-top:1px solid #ccd4e3; }
.focus-list > div { border-bottom:1px solid var(--brand-line); padding:22px 0; }
.focus-list dt { font-size:18px; font-weight:600; line-height:1.7; margin-bottom:8px; }
.focus-list dd { margin:0; color:var(--brand-muted); font-size:14px; line-height:1.9; }
.careers-hero { padding-block:68px 64px; }
.careers-hero .corp-lead { max-width:730px; }
.recruitment-status, .inquiry-availability { padding:32px 0; background:#edf2fc; border-bottom:1px solid #dce4f1; }
.status-layout { display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1.8fr); gap:64px; }
.status-layout .corp-label { margin:0; padding-top:5px; }
.status-layout h2 { font-size:23px; line-height:1.5; }
.status-layout p:not(.corp-label) { font-size:14px; margin-top:12px; max-width:800px; }
.future-areas { border-top:1px solid #ccd4e3; }
.future-areas article { display:grid; grid-template-columns:40px minmax(0,1fr) minmax(0,1.35fr); gap:32px; border-bottom:1px solid var(--brand-line); padding:32px 0; align-items:start; }
.future-areas .corp-number { padding-top:6px; }
.future-areas h3 { font-size:22px; margin:0; }
.future-areas p { font-size:14px; }
.work-belief { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center; }
.editorial-link { display:inline-flex; min-height:44px; align-items:center; gap:20px; color:var(--brand-blue); font-size:14px; margin-top:22px; }
.editorial-link:hover { text-decoration:underline; text-underline-offset:5px; }
.talent-exchange { max-width:900px; }
.talent-exchange h2 { font-size:32px; }
.talent-exchange > p:not(.corp-label) { margin-top:24px; }
.talent-exchange .exchange-note { border-left:2px solid #bdcbef; padding-left:20px; font-size:13px; }
.contact-hero { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:end; padding-block:52px 56px; }
.contact-hero .corp-lead { margin:0 0 6px; }
.inquiry-layout { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.5fr); gap:90px; align-items:start; }
.inquiry-guide h2 { font-size:30px; }
.inquiry-guide ul { margin:24px 0 0; list-style:none; padding:0; }
.inquiry-guide li { padding:14px 0; font-size:14px; color:var(--brand-muted); line-height:1.85; border-bottom:1px solid var(--brand-line); }
.channel-note { margin-top:40px; padding:24px; background:var(--brand-canvas); border-left:2px solid #bdcbef; }
.channel-note h3 { font-size:16px; margin-bottom:12px; }
.channel-note p { font-size:13px; }
.inquiry-panel { min-width:0; border-top:2px solid var(--brand-blue); padding-top:26px; }
.inquiry-panel h2 { font-size:28px; }
.phase03b .inquiry-note { margin:12px 0 28px; font-size:14px; }
#inquiryForm { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; }
.inquiry-field { min-width:0; }
.field-company, .field-subject, .field-message, .privacy-notice, .consent-field, .inquiry-actions, .inquiry-status, #inquiryForm noscript { grid-column:1 / -1; }
.inquiry-field label { color:var(--brand-ink); display:block; font-weight:600; font-size:13px; line-height:1.7; margin-bottom:9px; }
#inquiryForm input:not([type="checkbox"]), #inquiryForm textarea { color:var(--brand-ink); background:#fff; border:1px solid #aebbd1; border-radius:4px; width:100%; min-width:0; font:400 16px/1.6 var(--brand-font); padding:11px 13px; box-shadow:none; }
#inquiryForm input:not([type="checkbox"]) { min-height:48px; }
#inquiryForm textarea { resize:vertical; min-height:190px; }
#inquiryForm :is(input,textarea):focus { outline:2px solid #6d8be5; outline-offset:2px; border-color:var(--brand-blue); background:#fff; }
#inquiryForm [aria-invalid="true"] { border-color:#b12a37; }
.phase03b .field-error { color:#a32131; font-size:12px; line-height:1.7; margin-top:8px; }
.phase03b .field-hint { color:var(--brand-muted); font-size:12px; margin-top:8px; }
.privacy-notice { background:var(--brand-canvas); border:1px solid var(--brand-line); padding:22px 24px; }
.privacy-notice h3 { font-size:15px; margin-bottom:10px; }
.privacy-notice p { font-size:13px; }
.consent-field label { display:flex; align-items:flex-start; gap:12px; font-size:13px; color:var(--brand-ink); line-height:1.9; cursor:pointer; }
#inquiryForm input[type="checkbox"] { appearance:auto; accent-color:var(--brand-blue); width:18px; height:18px; min-height:18px; flex:0 0 18px; margin:4px 0 0; padding:0; border-radius:2px; }
.inquiry-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px; }
.inquiry-actions button { cursor:pointer; justify-content:center; }
.inquiry-actions .unavailable { background:#e8edf5; color:#53617a; border-color:#d3dce9; cursor:not-allowed; }
.phase03b .inquiry-status { font-size:13px; color:var(--brand-ink); padding:16px 20px; background:#edf2fc; border-left:3px solid var(--brand-blue); margin:0; }
#inquiryForm[data-validation="invalid"] .inquiry-status { border-left-color:#a32131; background:#fcf0f1; }
#inquiryForm :is(input,textarea,button) { scroll-margin-top:calc(var(--header-h) + 28px); }
@media (max-width:1099px) {
    .engineering-layout, .focus-layout, .work-belief, .contact-hero { gap:48px; }
    .inquiry-layout { gap:42px; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); }
    .quality-principles { gap:28px; }
}
@media (max-width:760px) {
    .phase03b .preparation-copy { font-size:11px; margin-top:18px; }
    .collaboration-map { padding:22px 0; }
    .collaboration-map li { font-size:15px; padding-bottom:22px; }
    .engineering-layout, .focus-layout, .work-belief, .contact-hero, .inquiry-layout { grid-template-columns:1fr; gap:32px; }
    .phase03b .engineering-intro { font-size:14px; margin-top:20px; }
    .engineering-method li { gap:14px; grid-template-columns:24px minmax(0,1fr); padding:24px 0; }
    .engineering-method h3 { font-size:21px; }
    .quality-principles { grid-template-columns:1fr; gap:28px; margin-top:32px; }
    .quality-rule { margin-bottom:16px; }
    .quality-principles h3 { font-size:21px; }
    .careers-hero { padding-block:36px 40px; }
    .status-layout { grid-template-columns:1fr; gap:12px; }
    .status-layout .corp-label { padding:0; }
    .status-layout h2 { font-size:21px; }
    .recruitment-status, .inquiry-availability { padding:26px 0; }
    .future-areas article { grid-template-columns:26px minmax(0,1fr); gap:12px; padding:26px 0; }
    .future-areas h3 { font-size:21px; }
    .future-areas p { grid-column:2; }
    .work-belief p { font-size:14px; }
    .editorial-link { font-size:13px; line-height:1.7; }
    .talent-exchange h2 { font-size:27px; }
    .talent-exchange > p:not(.corp-label) { margin-top:20px; font-size:14px; }
    .contact-hero { padding-block:36px 40px; gap:20px; }
    .contact-hero .corp-lead { margin:0; }
    .inquiry-guide h2 { font-size:28px; }
    .inquiry-guide ul { margin-top:18px; }
    .channel-note { margin-top:26px; padding:20px; }
    .inquiry-panel h2 { font-size:26px; }
    #inquiryForm { grid-template-columns:minmax(0,1fr); gap:22px; }
    .privacy-notice { padding:18px; }
    .inquiry-actions { flex-direction:column; align-items:stretch; }
    .inquiry-actions button { width:100%; font-size:12px; }
}
