/* 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}}

/* BPN elegance v50 — approved BenefitPass signature */
body[data-page] .logo>.brand-wordmark,body .brand>.brand-wordmark,body .topbar .brand>.brand-wordmark{font-family:Georgia,'Times New Roman',serif!important;font-size:34px!important;font-weight:400!important;letter-spacing:-1.55px!important;line-height:1.04!important;white-space:nowrap!important}
body[data-page] .logo .brand-wordmark small,body .brand .brand-wordmark small,body .topbar .brand .brand-wordmark small{font-size:11px!important;letter-spacing:3.5px!important;line-height:1.4!important;margin-top:6px!important;color:#434b43!important;font-weight:500!important}
body .logo .bpn-wordmark-dot,body .brand .bpn-wordmark-dot{display:inline-block!important;width:.21em!important;height:.21em!important;border-radius:50%!important;background:#e12820!important;color:transparent!important;font-size:inherit!important;font-style:normal!important;line-height:0!important;letter-spacing:0!important;vertical-align:.025em!important;margin-left:.045em!important;overflow:hidden!important}
body[data-page] .logo .brand-mark,body .brand .brand-mark{width:46px!important;height:46px!important;flex:0 0 46px!important;border-radius:12px!important}
body[data-page] .site-header{padding-top:23px!important;padding-bottom:23px!important;border-bottom-color:#ddd5c7!important}
body[data-page] .button{border-radius:999px!important;transition:background .2s ease,box-shadow .2s ease,transform .2s ease!important}
body[data-page] .button.primary{box-shadow:0 5px 16px #a82d1912!important}
body[data-page] .button:focus-visible,body[data-page] a:focus-visible,body[data-page] summary:focus-visible{outline:2px solid #b42a22!important;outline-offset:5px!important}
body[data-page="business"] .campaign-hero{padding-top:52px!important;padding-bottom:56px!important}
body[data-page="business"] h1.campaign-title{font-family:Georgia,'Times New Roman',serif!important;font-weight:400!important;letter-spacing:-.048em!important;line-height:1.06!important;font-size:clamp(46px,8vw,104px)!important}
body[data-page="business"] .campaign-copy h2{letter-spacing:-.025em!important;line-height:1.17!important}
body[data-page="business"] .campaign-copy>p{font-size:18px!important;line-height:1.7!important;color:#414c42!important}
body[data-page="business"] .campaign-copy>.campaign-terms{font-size:16px!important;line-height:1.65!important}
body[data-page="business"] .campaign-object.restored-pass-scene{background:radial-gradient(ellipse at 45% 32%,#fffdf8,#eae1d1)!important;border:1px solid #ded3c0!important;border-radius:28px!important;box-shadow:0 20px 60px #6553410a!important}
body[data-page="business"] .calculator-invitation{border-color:#d1b2a2!important;border-radius:20px!important;background:#f3ede3!important;padding:24px!important}
body[data-page="business"] .calculator-invitation>strong{font-family:Georgia,serif!important;letter-spacing:-.025em!important;line-height:1.17!important}
body[data-page="business"] .campaign-calculator{background:#fffcf7!important;border:1px solid #d7cdbd!important;border-radius:26px!important;padding:32px!important;box-shadow:0 16px 48px #6553410b!important}
body[data-page="business"] .calculator-heading h3{font-size:35px!important;letter-spacing:-.025em!important;line-height:1.15!important}
body[data-page="business"] .campaign-calculator .acquisition-calc-price>label,body[data-page="business"] .campaign-calculator .acquisition-range-label label{font-size:18px!important;color:#303c32!important;line-height:1.4!important}
body[data-page="business"] .campaign-calculator .acquisition-calc-result{background:#f4eee3!important;border:1px solid #e3d9c8!important;border-radius:18px!important;padding:24px!important;margin-top:22px!important}
body[data-page="business"] .campaign-calculator .acquisition-calc-result>span{font-size:18px!important;color:#303c32!important}
body[data-page="business"] .campaign-calculator .acquisition-calc-result>output{font-size:clamp(42px,5vw,58px)!important;line-height:1.2!important;color:#b72c23!important}
body[data-page="business"] .payment-option,body[data-page="business"] .payment-promise-free,body[data-page="business"] .payment-promise-sale{border-radius:24px!important}
body[data-page="business"] .payment-option--bpn{background:#283c33!important;border-color:#283c33!important}
body[data-page="business"] .payment-option h3,body[data-page="business"] .payment-promise-sale>h3{letter-spacing:-.025em!important;line-height:1.16!important}
body[data-page="business"] .campaign-mechanics{background:#f0eadf!important;border-color:#ddd4c4!important}
body[data-page="business"] .campaign-mechanics h2,body[data-page="business"] .section-head h2,body[data-page="business"] .catalog-principles-heading h2,body[data-page="business"] .closing h2{letter-spacing:-.032em!important;line-height:1.15!important}
body[data-page="business"] .campaign-partners{background:#f3eee5!important}
body[data-page="business"] .campaign-partners .audience-grid>a{padding:28px 18px!important;border-radius:18px!important;background:#fffcf650!important;border:1px solid #ded4c3!important}
body[data-page="business"] .campaign-partners .round-arrow{border-radius:50%!important;background:#b72c23!important}
body[data-page="business"] .segment-directory{border-radius:20px!important;background:#f4eee4!important}
body[data-page="business"] .segment-directory>summary{padding:24px!important}
body[data-page="business"] .faq-section details{border-color:#d5cdbc!important}
body[data-page="business"] .faq-section summary{font-size:19px!important;line-height:1.5!important}
body[data-page="business"] .faq-answer{font-size:17px!important;line-height:1.7!important;color:#39463b!important}
body[data-page="business"] .closing{border-radius:26px!important;background:#eee7da!important;padding:44px!important}
body[data-page] footer{border-top-color:#d5cbbc!important}
@media(max-width:700px){body[data-page] .site-header{padding-top:18px!important;padding-bottom:18px!important}body[data-page] .logo>.brand-wordmark,body .brand>.brand-wordmark,body .topbar .brand>.brand-wordmark{font-size:30px!important}body[data-page] .logo .brand-mark,body .brand .brand-mark{width:40px!important;height:40px!important;flex-basis:40px!important}body[data-page] .logo .brand-wordmark small,body .brand .brand-wordmark small{font-size:10px!important;letter-spacing:2.8px!important}body[data-page="business"] .campaign-hero{padding-top:30px!important;padding-bottom:30px!important}body[data-page="business"] h1.campaign-title{font-size:clamp(38px,9.5vw,66px)!important;line-height:1.09!important}body[data-page="business"] .campaign-calculator{padding:24px 20px!important;border-radius:22px!important}body[data-page="business"] .campaign-calculator .acquisition-calc-result{padding:20px 14px!important}body[data-page="business"] .closing{padding:30px 22px!important}body[data-page="business"] .faq-section summary{font-size:18px!important}}
@media(prefers-reduced-motion:reduce){body[data-page] .button{transition:none!important}}
