/* BPN ivory edition — public pages and operational interfaces */
:root,body,body[data-page]{--paper:#f8f5ee;--ink:#19201d;--brand:#e12820;--orange:#e12820;--orange-dark:#bc211a;--brand-soft:#f2e7df;--brand-highlight:#e12820;--line:#cbc6bb;--muted:#525950;--green:#286140;background:#f8f5ee;color:#19201d;font-family:Arial,Helvetica,sans-serif}
body[data-page] main{max-width:1360px}
body[data-page] .site-header,.topbar{background:#f8f5ee;border-bottom:1px solid #cbc6bb}
body[data-page] .logo,body .brand{display:inline-flex;align-items:center;gap:12px;color:#19201d;text-decoration:none}
body[data-page] .logo .brand-mark,.brand .brand-mark{display:block;width:38px;height:38px;flex:0 0 38px;border-radius:9px}
body[data-page] .logo>.brand-wordmark,.brand>.brand-wordmark{font-family:Georgia,'Times New Roman',serif;font-size:29px;letter-spacing:-1.6px;font-weight:400;line-height:1.05;color:#19201d;display:block}
body[data-page] .logo>.brand-wordmark>span,.brand>.brand-wordmark>span{color:#19201d;font:inherit}
.bpn-wordmark-dot{color:#e12820;font-style:normal}
body[data-page] .logo .brand-wordmark small,.brand .brand-wordmark small{font-family:Arial,Helvetica,sans-serif;font-size:8px;letter-spacing:3px;line-height:1.4;color:#4c554b;font-weight:500;display:block;margin-top:5px}
body[data-page] h1,body[data-page] .hero h1,body[data-page] .page-intro h1,.workspace h1,.login-story h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.055em;line-height:1.04;color:#19201d}
body[data-page] .hero h1,body[data-page] .page-intro h1{font-size:clamp(43px,6.1vw,78px)}
body[data-page] h2,.workspace h2,.login-card h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.04em;line-height:1.1}
body[data-page] .section-head h2,body[data-page] .editorial h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(35px,4.8vw,63px);color:#19201d;font-weight:400;letter-spacing:-.05em}
body[data-page] em,body[data-page] .page-intro h1 em{color:#e12820;font-style:normal}
body[data-page] .hero-description,body[data-page] .page-intro p,body[data-page] .section-head p,body[data-page] .editorial p,.page-heading p{color:#50584f;font-size:18px;line-height:1.6}
body[data-page] .eyebrow{color:#525b50;background:transparent;border:0;letter-spacing:.13em;font-size:12px}
body[data-page] .hero,body[data-page] .page-intro{border-color:#cbc6bb}
body[data-page] .button.primary,.btn.primary,.btn.danger,body[data-page] .site-header .button.primary{background:#e12820;border-color:#e12820;color:#fff;border-radius:3px;box-shadow:none}
body[data-page] .button.primary:hover,.btn.primary:hover{background:#bc211a;border-color:#bc211a;color:#fff}
body[data-page] .button,body .btn{border-radius:3px;font-size:16px}
body[data-page] .button.text,body[data-page] .text-link{color:#b32920}
body[data-page] .pass-scene{background:#ece4d6;border-radius:5px}
body[data-page] .ticket{background:#202724}.ticket-stub{background:#e12820;color:#fff;border-radius:0 15px 15px 0}.ticket-stub>i{color:#fff}.ticket-stub:before,.ticket-stub:after{background:#ece4d6}
body[data-page] .audience-grid>a,body[data-page] .panel,body[data-page] .scenario-panel,body[data-page] .scenario-buttons button,body[data-page] .join-card,body[data-page] .role-card{background:#fffcf5;border:1px solid #cbc6bb;border-radius:4px;box-shadow:none;color:#19201d}
body[data-page] .audience-grid h3,body[data-page] .role-card h3{font-family:Georgia,serif;font-size:30px;font-weight:400;color:#19201d}
body[data-page] .audience-grid p,body[data-page] .role-card p{color:#525950;font-size:17px;line-height:1.55}
body[data-page] .faq-section{border-color:#cbc6bb}
body[data-page] .faq-section summary{font-size:18px;color:#202620;line-height:1.4;border-color:#cbc6bb}
body[data-page] .faq-answer{font-size:17px;color:#51584f;line-height:1.6}
body[data-page] .faq-section details{background:transparent;border-color:#cbc6bb}
body[data-page] .closing{background:#eae0d0;color:#19201d;border:0;border-radius:3px}
body[data-page] .closing h2{font-family:Georgia,serif;font-size:clamp(37px,5.2vw,66px);color:#19201d;font-weight:400}
body[data-page] .closing p{color:#465042;font-size:18px}
body[data-page] footer{background:#f8f5ee;border-color:#cbc6bb;color:#19201d}
body[data-page] .footer-brand p,body[data-page] .footer-bottom,body[data-page] .company-details,body[data-page] .company-details p{color:#555d52;font-size:14px}
body[data-page] .footer-nav a,body[data-page] .footer-nav button{color:#313a2f;font-size:15px}
body[data-page] .footer-nav h3{color:#19201d;font-family:Georgia,serif;font-weight:400;font-size:24px}
.layout{background:#f8f5ee}.sidebar{background:#eee9de;border-color:#cbc6bb}.sidebar button{color:#30392f;border-radius:3px;font-size:16px}.sidebar button span{color:#5a6456}.sidebar button.active{background:#242b26;color:#fff;box-shadow:inset 3px 0 #e12820}.sidebar button.active span{color:#f5b6a4}.sidebar button:hover:not(.active){background:#e2ddd0}
.workspace{background:#f8f5ee}.workspace h1{font-size:clamp(34px,3.6vw,52px)}.workspace h2{color:#19201d}.card{background:#fffcf5;border:1px solid #cbc6bb;border-radius:4px;box-shadow:none;color:#19201d}.card p,.hint,.muted{color:#545d51;line-height:1.6}.stat strong,.metric strong{color:#19201d;font-weight:500}.stat,.metric{background:#f2eee4;border-color:#d1cbbb}
.tabs button,.login-tabs button{background:#eee9de;color:#30392f;border-color:#cbc6bb}.tabs button.active,.login-tabs button.selected{background:#242b26;color:#fff;border-color:#242b26}
input,select,textarea{background:#fffdf8;border:1px solid #bdb9aa;border-radius:3px;color:#263125;font-size:16px}input::placeholder,textarea::placeholder{color:#66705e}input:focus,select:focus,textarea:focus{outline:2px solid #d23b2a;outline-offset:2px}
th{background:#eee9de;color:#3b4737;font-size:15px}td{color:#2d3829;border-color:#d5d0c2;font-size:16px}.code-box,.empty{background:#eee9de;color:#3b4737;border-color:#c6c1b2;border-radius:4px}
.demo-banner{background:#242b26;color:#fff9ed;font-size:14px;border-color:#646b5b}.login-story{background:#eae1d2;color:#19201d;border:1px solid #cdc5b5}.login-story h1{color:#19201d}.login-story p,.login-story small{color:#4d5848}.login-card{border-top:3px solid #e12820}.login-card label{font-size:16px}
dialog{background:#fffcf5;color:#19201d;border-color:#bfb9a9;border-radius:5px}.catalog-controls{background:#eee9de;border-color:#c6c1b2}.benefit-card{border-color:#c6c1b2;border-radius:5px}.benefit-card-body{background:#fffcf5}.benefit-card-head{background:#242b26}.benefit-card-head h2{font-family:Georgia,serif;font-weight:400}.benefit-prices .benefit-final{background:#242b26}.benefit-card .actions .btn{background:#e12820;border-color:#e12820}.benefit-card .venue-contacts a{color:#9f3024}
@media(max-width:700px){body[data-page] .hero h1,body[data-page] .page-intro h1{font-size:43px}body[data-page] .logo>.brand-wordmark,.brand>.brand-wordmark{font-size:26px}.workspace h1{font-size:35px}body[data-page] .faq-section summary{font-size:17px}}

#bpn-ivory-preview .iv-logo{display:inline-flex;align-items:center;gap:11px}#bpn-ivory-preview .iv-logo>img{width:38px;height:38px;border-radius:9px;flex:0 0 38px}#bpn-ivory-preview .iv-logo>.iv-logo-copy{color:#19201d}#bpn-ivory-preview .iv-logo-dot{color:#e12820;font-weight:400}#bpn-ivory-preview .iv-logo-copy small{color:#4c554b}
body .topbar .brand>.brand-wordmark{font-family:Georgia,'Times New Roman',serif;font-size:29px;font-weight:400;letter-spacing:-1.6px;line-height:1.05;color:#19201d}body .topbar .brand>.brand-wordmark>span{color:#19201d;font:inherit}body .topbar .brand .brand-wordmark small{font-family:Arial,Helvetica,sans-serif;font-size:8px;letter-spacing:3px;color:#4c554b;font-weight:500}.benefit-card-head h2,.benefit-card-head p,.benefit-prices .benefit-final,.benefit-prices .benefit-final strong{color:#fff9ed}

/* Footer readability v48: override legacy dark-theme declarations */
body[data-page] footer{background:#eee8dc!important;color:#202820!important;border-top:1px solid #b8b1a3!important}
body[data-page] footer .footer-top,body[data-page] footer .footer-bottom,body[data-page] footer .company-details{border-color:#b8b1a3!important}
body[data-page] footer .footer-top a,body[data-page] footer .footer-nav button,body[data-page] footer .footer-brand p,body[data-page] footer .footer-pending,body[data-page] footer .company-details,body[data-page] footer .company-details p,body[data-page] footer .company-details span,body[data-page] footer .footer-bottom,body[data-page] footer .footer-bottom span,body[data-page] footer .text-button,body[data-page] footer .footer-contact-label{color:#303a30!important;font-size:16px!important;line-height:1.65!important;opacity:1!important}
body[data-page] footer .footer-nav h3,body[data-page] footer .footer-contacts h3{color:#19201d!important;font-family:Georgia,serif;font-size:24px!important;line-height:1.25!important;font-weight:400}
body[data-page] footer .footer-contacts a{color:#19201d!important;font-size:17px!important;font-weight:600;overflow-wrap:anywhere}
body[data-page] footer .company-details strong{color:#19201d!important;font-size:18px!important}
body[data-page] footer .logo>.brand-wordmark,body[data-page] footer .logo .brand-wordmark>span{color:#19201d!important}
body[data-page] footer .logo .brand-wordmark .brand-dot{color:#c32920!important}
body[data-page] footer .logo .brand-wordmark small{color:#3f493e!important;font-size:11px!important;letter-spacing:2px}
body[data-page] footer .social-icon,body[data-page] footer .social-icon.pending{width:46px;height:46px;flex:0 0 46px;color:#202820!important;border:1px solid #a9a394!important;background:#fffaf0!important;opacity:1!important;border-radius:10px}
body[data-page] footer .social-icon svg{width:24px;height:24px}
body[data-page] footer a:hover,body[data-page] footer button:hover{color:#aa211a!important;text-decoration:underline;text-underline-offset:4px}
body[data-page] footer a:focus-visible,body[data-page] footer button:focus-visible{outline:2px solid #aa211a;outline-offset:4px}
@media(max-width:600px){body[data-page] footer .footer-contacts{grid-template-columns:1fr!important}body[data-page] footer .footer-top{gap:28px 20px}body[data-page] footer .footer-bottom{flex-wrap:wrap;gap:16px}}
