.wbs-page { padding: 72px 0 88px; color: #173648; background: #f7f9f8; }
.wbs-layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.3fr); gap: 64px; align-items: start; }
.wbs-information h2 { color: #04483d; font-size: 30px; line-height: 1.3; letter-spacing: -.02em; margin: 0 0 12px; }
.wbs-information .wbs-agency { font-size: 15px; color: #47615a; line-height: 1.8; margin: 0 0 36px; }
.wbs-information h3 { color: #173648; font-size: 17px; line-height: 1.5; margin: 28px 0 12px; }
.wbs-information p, .wbs-information li { font-size: 14px; line-height: 1.85; color: #47615a; }
.wbs-information ul { padding-left: 20px; margin: 0; list-style: disc; }
.wbs-information li + li { margin-top: 10px; }
.wbs-guidance { margin-top: 32px; padding-top: 4px; border-top: 1px solid #dce5e0; }
.wbs-form-panel { padding: 32px; border: 1px solid #dde6e1; border-radius: 12px; background: #fff; }
.wbs-form-panel h2 { margin: 0 0 10px; font-size: 25px; color: #173648; }
.wbs-form-intro { color: #52675f; font-size: 13px; line-height: 1.8; margin: 0 0 28px; }
.wbs-form fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.wbs-form legend { float: none; width: auto; margin: 0 0 18px; color: #173648; font-size: 16px; font-weight: 600; }
.wbs-form legend span { color: #52675f; font-size: 12px; font-weight: 400; }
.wbs-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.wbs-full { grid-column: 1 / -1; }
.wbs-field { min-width: 0; }
.wbs-field label { display: block; margin-bottom: 7px; font-size: 13px; font-weight: 500; color: #173648; }
.wbs-field input, .wbs-field select, .wbs-field textarea { display: block; box-sizing: border-box; width: 100%; min-width: 0; min-height: 46px; padding: 11px 12px; border: 1px solid #cbd9d2; border-radius: 6px; background: #fff; color: #173648; font: inherit; font-size: 14px; line-height: 1.5; }
.wbs-field textarea { resize: vertical; }
.wbs-field input::placeholder, .wbs-field textarea::placeholder { color: #64766d; opacity: 1; }
.wbs-field [aria-invalid="true"] { border-color: #ac3340; }
.wbs-form .wbs-report { margin-top: 30px; padding-top: 26px; border-top: 1px solid #e3eae6; }
.wbs-report .wbs-field + .wbs-field { margin-top: 20px; }
.wbs-help { display: flex; justify-content: space-between; gap: 12px; margin-top: 6px; color: #52675f; font-size: 11px; line-height: 1.6; }
.wbs-agreement { display: flex; align-items: flex-start; gap: 10px; margin: 24px 0; }
.wbs-agreement input { flex: 0 0 18px; width: 18px; height: 18px; margin-top: 4px; accent-color: #04483d; }
.wbs-agreement label { margin: 0; color: #47615a; font-size: 13px; line-height: 1.8; cursor: pointer; }
.wbs-submit { display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-height: 48px; padding: 12px 23px; border: 0; border-radius: 6px; color: #fff; background: #04483d; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.wbs-submit:hover { background: #063c34; }
.wbs-submit:disabled { opacity: .65; cursor: wait; }
.wbs-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.wbs-errors { margin-bottom: 24px; padding: 16px 18px; border-radius: 6px; background: #fff1f2; color: #8e2636; font-size: 13px; line-height: 1.8; }
.wbs-errors ul { padding-left: 18px; margin: 8px 0 0; list-style: disc; }
.wbs-errors a { color: #8e2636; text-decoration: underline; text-underline-offset: 3px; }
.wbs-field-error { display: block; margin-top: 6px; color: #ac3340; font-size: 12px; line-height: 1.6; }
.wbs-success { margin-bottom: 36px; padding: 24px; border-radius: 10px; background: #e7f4ed; color: #135641; scroll-margin-top: 110px; }
.wbs-success h2 { margin: 0 0 12px; font-size: 22px; color: #135641; }
.wbs-success p { margin: 7px 0; font-size: 14px; }
.wbs-success a { display: inline-block; margin-top: 10px; color: #135641; text-decoration: underline; }
.wbs-form { scroll-margin-top: 110px; }
.wbs-page input:focus-visible, .wbs-page select:focus-visible, .wbs-page textarea:focus-visible, .wbs-page button:focus-visible, .wbs-page a:focus-visible { outline: 2px solid #04775e; outline-offset: 3px; }
.wbs-page ::selection { background: #c9e8dc; color: #04483d; }
@media (max-width: 991px) { .wbs-layout { grid-template-columns: minmax(0, 1fr); gap: 36px; } .wbs-page { padding: 40px 0 56px; } }
@media (max-width: 575px) { .wbs-fields { grid-template-columns: minmax(0, 1fr); } .wbs-form-panel { padding: 24px 18px; } .wbs-information h2 { font-size: 26px; } .wbs-submit { width: 100%; } }
