/* Decorative components only. Avada owns page width, containers, columns and typography. */
.bsn-section { overflow-wrap:anywhere; }
/* Avada's 320px body minimum otherwise clips content beside desktop scrollbars at 320px viewports. */
@media(max-width:335px){body.bsn-native{min-width:0}}
.bsn-section [id] { scroll-margin-top:40px; }
.bsn-section .eyebrow,.bsn-section .kicker { font-size:11px;letter-spacing:2px;text-transform:uppercase; }
.bsn-section .hero-copy { max-width:680px; }
.bsn-inverse h1,.bsn-inverse h2,.bsn-inverse h3,.bsn-inverse a { color:var(--awb-color10); }
.bsn-section .actions { display:flex;flex-wrap:wrap;gap:14px;margin:30px 0; }
.bsn-section .wp-block-button__link { display:inline-block;background:var(--awb-color4);color:var(--awb-color9);padding:15px 22px;border:1px solid var(--awb-color4);font-size:14px;text-decoration:none; }
.bsn-section a:focus-visible,.bsn-mode:focus-visible,.bsn-print-button:focus-visible { outline:3px solid var(--awb-color4);outline-offset:4px; }
.bsn-caption,.bsn-source,.photo-disclosure,.bsn-section .note { font-size:12px;line-height:1.65; }
.bsn-section .bsn-stat strong { display:block;font-size:42px;line-height:1.2;font-weight:400; }
.bsn-section .bsn-stat span { display:block;font-size:12px;margin-top:12px; }
.bsn-section .section-top { display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:end; }
.bsn-section .card,.bsn-section .tech,.bsn-section .watch-item { border-top:1px solid var(--awb-color3);padding-top:24px; }
.bsn-section .number,.bsn-section .principle-number { color:var(--awb-color5); }
.bsn-section .principle { display:grid;grid-template-columns:32px 1fr;gap:16px;padding:20px 0;border-top:1px solid var(--awb-color3); }
.bsn-section .principle h3 { margin-top:0; }
.bsn-section .project-copy ul { list-style:none;padding:0; }
.bsn-section .project-copy li { display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid var(--awb-color3);padding:12px 0; }
.bsn-section .bsn-inset,.bsn-section .bsn-notice { padding:28px;border:1px solid var(--awb-color3); }
.bsn-section .bsn-price-card { padding:36px;background:var(--awb-color9);color:var(--awb-color10); }
.bsn-section .bsn-price-card h3,.bsn-section .bsn-price-card h2 { color:var(--awb-color10); }
.bsn-section .bsn-price { font-size:54px;line-height:1.1;letter-spacing:-2px;margin:24px 0; }
.bsn-section .bsn-price-breakdown { display:grid;grid-template-columns:1fr auto;gap:14px;border-block:1px solid var(--awb-color4);padding:24px 0;margin:24px 0;font-size:14px; }
.bsn-section .bsn-steps { list-style:none;margin:0;padding:0; }
.bsn-section .bsn-steps li { display:grid;grid-template-columns:32px 1fr;gap:18px;padding:22px 0;border-top:1px solid var(--awb-color3); }
.bsn-section .bsn-steps h3 { margin-top:0; }
.bsn-section .bsn-toc { display:flex;gap:12px;flex-wrap:wrap; }
.bsn-section .bsn-toc a { padding:10px 14px;border:1px solid var(--awb-color3); }
.bsn-section .bsn-checklist { padding-left:20px; }
.bsn-section .bsn-checklist li { margin-bottom:14px; }
.bsn-section .bsn-knowledge-card,.bsn-section .bsn-match-graphic { border:1px solid var(--awb-color4);padding:30px; }
.bsn-section .bsn-match-node { display:flex;flex-direction:column;text-align:center;padding:22px;border:1px solid var(--awb-color4); }
.bsn-section .bsn-match-node strong { font-size:24px; }
.bsn-section .bsn-match-line,.bsn-section .bsn-match-center { text-align:center;padding:10px; }
.bsn-section .bsn-app-preview { max-width:400px;margin:auto;padding:28px;border:1px solid var(--awb-color4);border-radius:24px;background:var(--awb-color9);color:var(--awb-color10); }
.bsn-section .bsn-app-top { display:flex;justify-content:space-between;gap:20px;font-size:10px; }
.bsn-section .bsn-app-status { display:flex;gap:12px;border:1px solid var(--awb-color4);padding:18px;margin:24px 0; }
.bsn-section .bsn-app-dot { flex:0 0 9px;height:9px;margin-top:8px;border-radius:50%;background:var(--awb-color4); }
.bsn-section .bsn-app-tile { display:flex;gap:15px;border-bottom:1px solid var(--awb-color4);padding:18px 0; }
.bsn-section .bsn-app-tile strong,.bsn-section .bsn-app-tile small { display:block; }
.bsn-section .situation { padding:28px;border:1px solid var(--awb-color3); }
.bsn-section .source-row { padding:12px 0;border-bottom:1px solid var(--awb-color3); }
.bsn-section details { border-bottom:1px solid var(--awb-color3);padding:20px 0; }
.bsn-section summary { cursor:pointer;font-weight:600; }
.bsn-section details[open] summary { margin-bottom:18px; }
.bsn-mode { font:inherit;font-size:14px;min-height:44px;padding:8px 12px;background:var(--awb-color9);color:var(--awb-color10);border:1px solid var(--awb-color4); }
.bsn-header .bsn-column:last-child { text-align:right; }
.bsn-print-button { cursor:pointer;padding:12px 20px;background:var(--awb-color4);color:var(--awb-color9);border:0;font:inherit; }
@media(max-width:800px){.bsn-section .section-top{grid-template-columns:1fr;gap:20px}.bsn-section .bsn-price-card,.bsn-section .bsn-inset,.bsn-section .bsn-knowledge-card{padding:24px}.bsn-section .bsn-price{font-size:42px}.bsn-section .project-copy li{flex-wrap:wrap}.bsn-section .bsn-price-breakdown{font-size:12px}.bsn-header .bsn-column:last-child{text-align:left}.bsn-section .bsn-stat strong{font-size:32px}}
@media print{.bsn-mode,.bsn-print-button{display:none}.bsn-section{break-inside:auto}.bsn-section h2,.bsn-section h3{break-after:avoid}}

/* Contact component: inherits Avada typography and global palette. */
.bsn-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.bsn-field{margin-bottom:20px;min-width:0}.bsn-field label{display:block;margin-bottom:9px;font-weight:600}.bsn-contact-form input:not([type=hidden]),.bsn-contact-form select,.bsn-contact-form textarea{box-sizing:border-box;width:100%;max-width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--awb-color3);background:var(--awb-color1);color:var(--awb-color7);font:inherit;border-radius:3px}.bsn-contact-form textarea{resize:vertical}.bsn-contact-form :is(input,select,textarea,button):focus-visible{outline:3px solid var(--awb-color5);outline-offset:3px}.bsn-contact-form [aria-invalid=true]{border-width:2px}.bsn-field-error{font-size:14px;margin-top:8px}.bsn-send{padding:16px 24px;background:var(--awb-color4);color:var(--awb-color9);border:1px solid var(--awb-color4);font:inherit;font-weight:600;cursor:pointer;max-width:100%}.bsn-form-feedback{border:2px solid var(--awb-color5);padding:24px;margin-bottom:24px}.bsn-honeypot{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.bsn-legal-copy{max-width:850px}.bsn-legal-copy h2{margin-top:42px}.bsn-legal-copy a{text-decoration:underline}@media(max-width:640px){.bsn-form-grid{grid-template-columns:1fr;gap:0}.bsn-send{width:100%}}
