.bom-page {
    --bom-blue:#063970;
    --bom-line:#e1e7ee;
    color:#172b40;
}
.bom-hero {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:3rem;
    padding:2.5rem 3rem;
    margin-bottom:1.75rem;
    border:1px solid #dce6f0;
    border-radius:20px;
    background:#fff;
}
.bom-eyebrow {
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    font-size:12px;
    font-weight:600;
    letter-spacing:.12em;
    color:var(--bom-blue);
}
.bom-eyebrow>span {
    width:7px;
    height:7px;
    border-radius:50%;
    background:#208878;
}
.bom-hero h1 {
    max-width:650px;
    font-size:clamp(1.8rem,3vw,2.55rem);
    font-weight:600;
    line-height:1.22;
    letter-spacing:-.035em;
    margin:.9rem 0 1rem;
}
.bom-hero p {
    max-width:650px;
    font-size:14px;
    line-height:1.85;
    color:#52667b;
}
.bom-hero-notes {
    display:flex;
    flex-wrap:wrap;
    gap:.75rem 1.25rem;
    margin-top:1.25rem;
    font-size:12px;
    color:#52667b;
}
.bom-hero-notes span:before {
    content:'✓';
    color:#208878;
    margin-right:.4rem;
}
.bom-hero-mark {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:1rem;
    border-left:1px solid #cfdae6;
    padding:1.5rem 0 1.5rem 2.5rem;
    min-width:220px;
    color:var(--bom-blue);
}
.bom-hero-mark strong {
    display:block;
    font-size:22px;
    font-weight:500;
    letter-spacing:-.03em;
}
.bom-hero-mark div>span {
    display:block;
    font-size:13px;
    color:#64748b;
    margin-top:4px;
}
.bom-form {
    border:1px solid var(--bom-line);
    border-radius:18px;
    background:#fff;
    overflow:hidden;
    box-shadow:0 8px 30px #14365704;
}
.bom-form-grid {
    display:grid;
    grid-template-columns:1fr 1.08fr;
}
.bom-upload-section,.bom-contact-section {
    padding:2rem;
}
.bom-upload-section {
    border-right:1px solid var(--bom-line);
}
.bom-section-heading {
    display:flex;
    gap:.8rem;
    align-items:flex-start;
    margin-bottom:1.5rem;
}
.bom-section-heading>span {
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    width:30px;
    height:30px;
    border:1px solid #dce6f0;
    border-radius:9px;
    color:var(--bom-blue);
    font-size:12px;
    font-weight:600;
    background:#f5f8fc;
}
.bom-section-heading h2 {
    font-size:17px;
    font-weight:600;
    letter-spacing:-.025em;
}
.bom-section-heading p {
    font-size:12px;
    color:#768598;
    margin-top:4px;
    line-height:1.65;
}
.bom-dropzone {
    position:relative;
    border:1.5px dashed #adbed2;
    border-radius:12px;
    background:#f8fafc;
    transition:background .15s,border-color .15s;
}
.bom-dropzone:focus-within,.bom-dropzone.is-dragging {
    outline:3px solid #b9d7f2;
    outline-offset:3px;
    border-color:var(--bom-blue);
    background:#edf4fc;
}
.bom-dropzone.has-file {
    border-color:#459889;
    background:#f1f9f6;
}
.bom-dropzone input {
    position:absolute;
    top:0;
    left:0;
    width:1px;
    height:1px;
    opacity:0;
}
.bom-dropzone label {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:.5rem;
    min-height:228px;
    padding:1.5rem;
    cursor:pointer;
    text-align:center;
}
.bom-upload-icon {
    display:flex;
    align-items:center;
    justify-content:center;
    width:54px;
    height:54px;
    background:#eaf0f7;
    color:var(--bom-blue);
    border-radius:15px;
    margin-bottom:.6rem;
}
.bom-dropzone strong {
    font-size:14px;
    font-weight:600;
    max-width:100%;
    overflow-wrap:anywhere;
}
.bom-dropzone label>span:not(.bom-upload-icon) {
    font-size:13px;
    color:#728198;
}
.bom-dropzone label>.bom-file-types {
    font-size:11px;
    margin-top:.4rem;
    letter-spacing:.025em;
}
.bom-template-link {
    display:flex;
    align-items:center;
    gap:.5rem;
    width:fit-content;
    color:var(--bom-blue);
    font-size:13px;
    font-weight:500;
    margin:1rem 0 1.6rem;
}
.bom-template-link:hover {
    text-decoration:underline;
}
.bom-template-link>span {
    border:1px solid var(--bom-line);
    border-radius:4px;
    padding:1px 4px;
    font-size:10px;
    color:#6c7d90;
}
.bom-guide h3 {
    font-size:13px;
    font-weight:600;
    margin-bottom:.5rem;
}
.bom-guide>p {
    font-size:12px;
    line-height:1.85;
    color:#6c7d90;
}
.bom-example-wrap {
    overflow-x:auto;
    max-width:100%;
    margin:.8rem 0;
}
.bom-example {
    width:100%;
    font-size:11px;
    border-collapse:collapse;
    text-align:left;
}
.bom-example th {
    font-weight:500;
    color:#7a8899;
    background:#f7f9fc;
    padding:.65rem .6rem;
    border-bottom:1px solid var(--bom-line);
    white-space:nowrap;
}
.bom-example td {
    padding:.7rem .6rem;
    border-bottom:1px solid #eff2f6;
    white-space:nowrap;
    color:#52667b;
}
.bom-example td:first-child {
    font-family:ui-monospace,monospace;
}
.bom-private {
    display:flex;
    align-items:flex-start;
    gap:.5rem;
    margin-top:1.5rem;
    color:#8290a0;
}
.bom-private svg {
    flex-shrink:0;
}
.bom-private p {
    font-size:11px;
    line-height:1.7;
    max-width:360px;
}
.bom-fields {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:1.1rem 1rem;
}
.bom-field {
    min-width:0;
}
.bom-field label {
    display:block;
    font-size:12px;
    font-weight:500;
    margin-bottom:.45rem;
    line-height:1.6;
}
.bom-field label>span,.bom-consent>span>span {
    color:#b54b45;
}
.bom-field label small {
    font-size:10px;
    font-weight:400;
    color:#8c98a6;
    margin-left:3px;
}
.bom-field input,.bom-field textarea {
    width:100%;
    min-width:0;
    border:1px solid #dce3eb;
    border-radius:7px;
    font:inherit;
    font-size:13px;
    color:#243b53;
    padding:.7rem .8rem;
    background:#fff;
    transition:border-color .15s;
}
.bom-field input {
    height:42px;
}
.bom-field textarea {
    resize:vertical;
    min-height:85px;
}
.bom-field input:focus,.bom-field textarea:focus {
    outline:3px solid #dbeafa;
    border-color:#507ca9;
}
.bom-field textarea::placeholder {
    color:#98a4b2;
    font-size:12px;
}
.bom-field-wide,.bom-quantity-hint {
    grid-column:1/-1;
}
.bom-quantity-hint {
    font-size:11px;
    line-height:1.6;
    color:#7c8b9d;
    margin-top:-.55rem;
}
.bom-form-footer {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:2rem;
    border-top:1px solid var(--bom-line);
    padding:1.4rem 2rem;
    background:#fcfdfe;
}
.bom-form-footer>div {
    max-width:650px;
}
.bom-consent {
    display:flex;
    align-items:flex-start;
    gap:.6rem;
    font-size:11px;
    color:#65768a;
    line-height:1.8;
    cursor:pointer;
}
.bom-consent input {
    margin-top:3px;
    width:15px;
    height:15px;
    flex-shrink:0;
    accent-color:var(--bom-blue);
}
.bom-consent a {
    color:var(--bom-blue);
    text-decoration:underline;
    text-underline-offset:2px;
}
.bom-small {
    font-size:11px!important;
    color:#8b97a5!important;
    line-height:1.7;
    margin-top:.45rem;
}
.bom-submit {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:1.3rem;
    flex-shrink:0;
    background:var(--bom-blue);
    color:#fff;
    border:0;
    border-radius:8px;
    padding:1rem 1.3rem;
    font-size:13px;
    font-weight:500;
    cursor:pointer;
    min-height:48px;
}
.bom-submit:hover {
    background:#0b498a;
}
.bom-submit:focus-visible,.bom-text-button:focus-visible,.bom-template-link:focus-visible {
    outline:3px solid #8cb3db;
    outline-offset:3px;
}
.bom-submit:disabled {
    opacity:.6;
    cursor:wait;
}
.bom-turnstile:has(>div) {
    padding:0 2rem 1.5rem;
}
.bom-field-error {
    font-size:12px;
    line-height:1.7;
    color:#b42318;
    margin-top:.4rem;
}
.bom-field-error:empty {
    display:none;
}
.bom-text-button {
    font-size:12px;
    color:var(--bom-blue);
    margin-top:.6rem;
    text-decoration:underline;
    cursor:pointer;
}
.bom-honeypot {
    position:absolute;
    left:-10000px;
    width:1px;
    height:1px;
    overflow:hidden;
}
.bom-alert {
    padding:1rem 1.25rem;
    border:1px solid #fecaca;
    background:#fff7f7;
    border-radius:10px;
    color:#9f2822;
    font-size:13px;
    margin-bottom:1rem;
    line-height:1.8;
}
.bom-alert ul {
    list-style:disc;
    padding-left:1rem;
}
.bom-success {
    display:flex;
    align-items:flex-start;
    gap:1rem;
    padding:2rem;
    border:1px solid #badfce;
    border-radius:14px;
    background:#f0faf5;
    color:#20674a;
}
.bom-success svg {
    flex-shrink:0;
}
.bom-success h2 {
    font-size:20px;
    font-weight:600;
    margin-bottom:.5rem;
}
.bom-success p {
    font-size:13px;
    line-height:1.9;
    overflow-wrap:anywhere;
}
.bom-info-card {
    margin-top:1.75rem;
    padding:0 2rem;
    border:1px solid var(--bom-line);
    border-radius:18px;
    background:#fff;
    box-shadow:0 8px 30px #14365704;
}
.bom-next {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:2rem;
    padding:2rem 0;
    border-bottom:1px solid var(--bom-line);
}
.bom-next>div {
    display:flex;
    gap:.8rem;
}
.bom-next>div>span {
    font-size:12px;
    color:#88a2bd;
    padding-top:2px;
}
.bom-next h2 {
    font-size:13px;
    font-weight:600;
}
.bom-next p {
    font-size:12px;
    line-height:1.8;
    color:#7c8b9b;
    margin-top:.3rem;
}
.bom-seo {
    display:grid;
    grid-template-columns:1fr 2fr;
    gap:3rem;
    padding:2rem 0;
}
.bom-seo h2 {
    font-size:18px;
    line-height:1.55;
    font-weight:500;
    max-width:280px;
    letter-spacing:-.02em;
}
.bom-seo p {
    font-size:12px;
    line-height:1.95;
    color:#728197;
    white-space:pre-line;
}
.bom-pcb-link {
    text-align:center;
    font-size:12px;
    color:#8390a0;
    padding:.5rem 0 2rem;
}
.bom-pcb-link a {
    color:var(--bom-blue);
    font-weight:500;
    margin-left:4px;
}
.bom-pcb-link a:hover {
    text-decoration:underline;
}
@media(max-width:900px) {
    .bom-hero {
        padding:2rem;
    }
    .bom-hero-mark {
        display:none;
    }
    .bom-upload-section,.bom-contact-section {
        padding:1.4rem;
    }
    .bom-form-footer {
        padding:1.3rem 1.4rem;
        gap:1rem;
    }
    .bom-submit {
        gap:.6rem;
        padding:1rem;
    }
    .bom-next {
        gap:1rem;
    }
    .bom-seo {
        gap:1.5rem;
    }
}
@media(max-width:640px) {
    .bom-info-card {
        padding:0 1.25rem;
    }
    .bom-hero {
        padding:1.5rem;
        border-radius:14px;
        gap:1rem;
    }
    .bom-hero h1 {
        font-size:29px;
    }
    .bom-hero p {
        font-size:13px;
    }
    .bom-hero-notes {
        font-size:11px;
        gap:.4rem .8rem;
    }
    .bom-form-grid {
        grid-template-columns:minmax(0,1fr);
    }
    .bom-upload-section {
        border-right:0;
        border-bottom:1px solid var(--bom-line);
    }
    .bom-upload-section,.bom-contact-section {
        padding:1.25rem;
    }
    .bom-form-footer {
        flex-direction:column;
        align-items:stretch;
        padding:1.25rem;
    }
    .bom-submit {
        width:100%;
    }
    .bom-next {
        grid-template-columns:minmax(0,1fr);
        gap:1.2rem;
        padding:1.8rem 0;
    }
    .bom-seo {
        grid-template-columns:minmax(0,1fr);
        gap:.75rem;
        padding:1.6rem 0;
    }
    .bom-seo h2 {
        max-width:none;
        font-size:17px;
    }
    .bom-pcb-link {
        line-height:1.9;
    }
    .bom-pcb-link a {
        display:block;
    }
    .bom-success {
        padding:1.25rem;
    }
    .bom-success h2 {
        font-size:17px;
    }
}
@media(max-width:380px) {
    .bom-fields {
        grid-template-columns:minmax(0,1fr);
    }
    .bom-field-wide,.bom-quantity-hint {
        grid-column:auto;
    }
    .bom-quantity-hint {
        margin-top:0;
    }
}
