.bdu-marketing-page{
    /*
     * One scale, declared once.
     *
     * Sixty-one fixed sizes across twenty values had accumulated here, and the
     * mobile breakpoint adjusted four of them — so body copy stayed at 13px and
     * badges at 10px on a phone. Nine steps, each fluid between a phone and a
     * desktop, and nothing below twelve pixels.
     */
    --bdu-text-2xs:clamp(12px,.18vw + 11.4px,13px);
    --bdu-text-xs:clamp(12px,.18vw + 11.4px,13px);
    --bdu-text-sm:clamp(13px,.18vw + 12.4px,14px);
    --bdu-text-base:clamp(14px,.18vw + 13.4px,15px);
    --bdu-text-md:clamp(15px,.36vw + 13.8px,17px);
    --bdu-text-lg:clamp(17px,.36vw + 15.8px,19px);
    --bdu-text-xl:clamp(20px,.54vw + 18.3px,23px);
    --bdu-text-2xl:clamp(24px,.54vw + 22.3px,27px);
    --bdu-text-3xl:clamp(28px,1.07vw + 24.6px,34px);

    /* Section rhythm, fluid for the same reason. */
    --bdu-space-section:clamp(58px,4.7vw + 40px,84px);
    --bdu-space-hero:clamp(54px,5.4vw + 33px,84px);
    --bdu-space-page-hero:clamp(48px,4vw + 33px,70px);
    --bdu-space-cta:clamp(48px,3.6vw + 34px,68px);

    margin:0;min-height:100vh;background:var(--bdu-surface);color:var(--bdu-ink);font-family:"DM Sans",system-ui,sans-serif;overflow-x:clip}.bdu-marketing-page *{box-sizing:border-box}.bdu-marketing-page h1,.bdu-marketing-page h2,.bdu-marketing-page h3{font-family:"Playfair Display",Georgia,serif}.bdu-marketing-page a{color:inherit}.bdu-marketing-container{width:min(1180px,calc(100% - 40px));margin-inline:auto}.bdu-marketing-header{position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(115,0,7,.08);background:rgba(255,253,249,.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.bdu-marketing-nav-wrap{min-height:68px;display:flex;align-items:center;gap:28px}.bdu-marketing-brand{display:inline-flex;align-items:center;text-decoration:none;flex:0 0 auto}.bdu-marketing-brand .bdu-brand-logo{height:48px;max-width:205px}.bdu-marketing-nav{display:flex;align-items:center;gap:6px;margin-left:auto}.bdu-marketing-nav a,.bdu-marketing-login{display:inline-flex;align-items:center;min-height:42px;padding:0 12px;border-radius:10px;text-decoration:none;font-size:var(--bdu-text-base);font-weight:750;color:#633d41}.bdu-marketing-nav a:hover,.bdu-marketing-nav a.is-active,.bdu-marketing-login:hover{background:var(--bdu-primary-soft);color:var(--bdu-primary-dark)}.bdu-marketing-actions{display:flex;align-items:center;gap:8px}.bdu-marketing-primary,.bdu-marketing-secondary{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:10px 16px;text-decoration:none;font:inherit;font-size:var(--bdu-text-base);font-weight:850;cursor:pointer}.bdu-marketing-primary{border:1px solid var(--bdu-primary);background:var(--bdu-primary);color:#fff;box-shadow:0 8px 22px rgba(224,4,14,.18)}.bdu-marketing-primary:hover{background:var(--bdu-primary-hover);border-color:var(--bdu-primary-hover);color:#fff}.bdu-marketing-secondary{border:1px solid #decacc;background:#fff;color:#63383c}.bdu-marketing-secondary:hover{border-color:#d7a6aa;background:#fff8f7;color:var(--bdu-primary-dark)}.bdu-marketing-primary--large,.bdu-marketing-secondary--large{min-height:52px;padding:13px 20px;border-radius:14px}.bdu-marketing-secondary--light{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.08);color:#fff}.bdu-marketing-mobile-nav{display:none;margin-left:auto;position:relative}.bdu-marketing-kicker{display:inline-flex;align-items:center;gap:7px;margin:0 0 12px;color:var(--bdu-secondary-dark);font-size:var(--bdu-text-xs);font-weight:900;letter-spacing:.13em;text-transform:uppercase}.bdu-marketing-hero{position:relative;padding:var(--bdu-space-hero) 0 calc(var(--bdu-space-hero) + 6px);background:radial-gradient(circle at 8% 15%,rgba(230,183,85,.12),transparent 24%),radial-gradient(circle at 86% 14%,rgba(224,4,14,.12),transparent 28%),linear-gradient(145deg,var(--bdu-surface),#fff6f4 58%,#fff9ea);border-bottom:1px solid #f0dddd}.bdu-marketing-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.75fr);gap:70px;align-items:center}.bdu-marketing-hero-copy h1{max-width:760px;margin:0;font-size:clamp(34px,7.2vw,72px);line-height:1.02;letter-spacing:-.04em;text-wrap:balance;color:var(--bdu-ink)}.bdu-marketing-hero-copy>p{max-width:690px;margin:24px 0 0;font-size:var(--bdu-text-lg);line-height:1.78;color:#765257}.bdu-marketing-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.bdu-marketing-proof{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:28px;color:#69484c;font-size:var(--bdu-text-xs);font-weight:750}.bdu-marketing-proof span{display:inline-flex;align-items:center;gap:6px}.bdu-marketing-proof svg{color:var(--bdu-secondary-dark)}.bdu-marketing-hero-visual{position:relative;display:grid;place-items:center}.bdu-marketing-hero-visual:before{content:"";position:absolute;width:330px;height:330px;border:1px solid rgba(224,4,14,.13);border-radius:50%;transform:translate(58px,-18px)}.bdu-marketing-invite-card{position:relative;width:min(390px,100%);overflow:hidden;border:1px solid rgba(115,0,7,.12);border-radius:30px;background:#fff;box-shadow:0 34px 90px rgba(115,0,7,.16)}.bdu-marketing-invite-top{position:relative;padding:44px 32px 36px;text-align:center;background:linear-gradient(145deg,var(--bdu-primary-deep),var(--bdu-primary-dark) 55%,var(--bdu-ink));color:#fff}.bdu-marketing-invite-top .bdu-brand-symbol{width:52px;height:52px;margin:0 auto 14px}.bdu-marketing-invite-top>span{font-size:var(--bdu-text-2xs);letter-spacing:.18em;font-weight:850;color:#f4d58d}.bdu-marketing-invite-top .bdu-marketing-invite-title{margin:12px 0 10px;font-family:"Playfair Display",Georgia,serif;font-size:42px;line-height:.95;color:inherit}.bdu-marketing-invite-top .bdu-marketing-invite-title em{font-weight:400;color:#f2ca70}.bdu-marketing-invite-top p{margin:0;color:rgba(255,255,255,.68);font-size:var(--bdu-text-sm)}.bdu-marketing-invite-body{padding:18px;display:grid;gap:9px}.bdu-marketing-invite-body>div{display:flex;align-items:center;gap:12px;padding:12px 13px;border:1px solid #efe0e1;border-radius:13px;background:var(--bdu-surface)}.bdu-marketing-invite-body svg{color:var(--bdu-primary-hover);flex:0 0 auto}.bdu-marketing-invite-body span{display:grid;gap:2px}.bdu-marketing-invite-body strong{font-size:var(--bdu-text-sm)}.bdu-marketing-invite-body small{font-size:var(--bdu-text-2xs);color:#88696c}.bdu-marketing-section{padding:var(--bdu-space-section) 0}.bdu-marketing-section--tight{padding-top:54px}.bdu-marketing-section--soft{background:linear-gradient(180deg,#fff7f3,var(--bdu-surface));border-block:1px solid #f2dfdf}.bdu-marketing-section--dark{background:radial-gradient(circle at 10% 15%,rgba(230,183,85,.12),transparent 25%),var(--bdu-ink);color:#fff}.bdu-marketing-section-head{max-width:760px;margin-bottom:34px}.bdu-marketing-section-head h2{margin:0;font-size:clamp(34px,4.5vw,52px);line-height:1.05;letter-spacing:-.035em}.bdu-marketing-section-head>p{margin:14px 0 0;line-height:1.7;color:#78575a}.bdu-marketing-section--dark .bdu-marketing-section-head>p{color:rgba(255,255,255,.65)}.bdu-marketing-section-head--split{max-width:none;display:flex;align-items:end;justify-content:space-between;gap:30px}.bdu-marketing-section-head--split>div{max-width:760px}.bdu-marketing-section-head--split>a{display:inline-flex;align-items:center;gap:6px;color:var(--bdu-primary-dark);font-weight:850;text-decoration:none;white-space:nowrap}.bdu-marketing-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.bdu-marketing-feature-grid article,.bdu-marketing-story-grid article{border:1px solid #eadadb;border-radius:20px;background:#fff;padding:24px;box-shadow:0 12px 32px rgba(44,21,24,.045)}.bdu-marketing-feature-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;border:1px solid #f2c8cb;background:var(--bdu-primary-soft);color:var(--bdu-primary-hover)}.bdu-marketing-feature-grid h3,.bdu-marketing-story-grid h2{margin:18px 0 8px;font-size:var(--bdu-text-xl)}.bdu-marketing-feature-grid p,.bdu-marketing-story-grid p{margin:0;color:#77575a;line-height:1.7;font-size:var(--bdu-text-base)}.bdu-marketing-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.bdu-marketing-plan-grid article{position:relative;border:1px solid #eadadb;border-radius:22px;background:#fff;padding:28px;box-shadow:0 14px 36px rgba(44,21,24,.05)}.bdu-marketing-plan-grid article.is-popular{border-color:var(--bdu-secondary);box-shadow:0 18px 44px rgba(185,123,32,.11)}.bdu-marketing-plan-badge{position:absolute;right:18px;top:18px;border-radius:999px;background:var(--bdu-secondary-soft);color:#9a6418;padding:6px 9px;font-size:var(--bdu-text-2xs);font-weight:900;letter-spacing:.06em;text-transform:uppercase}.bdu-marketing-plan-code{margin:0;color:#8b5d62;font-size:var(--bdu-text-sm);font-weight:900;text-transform:uppercase;letter-spacing:.1em}.bdu-marketing-plan-grid h2,.bdu-marketing-plan-grid h3{font-size:var(--bdu-text-3xl);margin:10px 0 4px;color:var(--bdu-ink)}.bdu-marketing-plan-grid article>span:not(.bdu-marketing-plan-badge){font-size:var(--bdu-text-xs);color:#9a7478}.bdu-marketing-plan-grid article>p:not(.bdu-marketing-plan-code){min-height:72px;margin:18px 0;color:#745458;line-height:1.65;font-size:var(--bdu-text-sm)}.bdu-marketing-plan-grid article>a:not(.bdu-marketing-primary){display:inline-flex;align-items:center;gap:6px;color:var(--bdu-primary-dark);text-decoration:none;font-weight:850;font-size:var(--bdu-text-sm)}.bdu-marketing-plan-grid--detail article>p:not(.bdu-marketing-plan-code){min-height:92px}.bdu-marketing-plan-grid--detail .bdu-marketing-primary{width:100%;margin-top:4px}.bdu-marketing-steps-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}.bdu-marketing-steps{list-style:none;margin:0;padding:0;display:grid;gap:10px}.bdu-marketing-steps li{display:grid;grid-template-columns:54px 1fr;gap:16px;align-items:start;padding:18px;border:1px solid #eadadb;border-radius:16px;background:#fff}.bdu-marketing-steps li>span{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--bdu-primary-soft);color:var(--bdu-primary-dark);font-weight:900;font-size:var(--bdu-text-xs)}.bdu-marketing-steps strong{font-size:var(--bdu-text-base)}.bdu-marketing-steps p{margin:5px 0 0;color:#7c5d60;font-size:var(--bdu-text-sm);line-height:1.55}.bdu-marketing-faq-preview{max-width:980px}.bdu-marketing-faq-list{display:grid;gap:10px;margin-bottom:24px}.bdu-marketing-faq-list details{border:1px solid #e7d5d7;border-radius:15px;background:#fff;overflow:hidden;color:var(--bdu-ink)}.bdu-marketing-section--dark .bdu-marketing-faq-list details{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#fff}.bdu-marketing-faq-list summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 18px;font-size:var(--bdu-text-base);font-weight:850;cursor:pointer}.bdu-marketing-faq-list summary::-webkit-details-marker{display:none}.bdu-marketing-faq-list details p{margin:0;padding:0 18px 18px;line-height:1.7;color:#78595c;font-size:var(--bdu-text-sm)}.bdu-marketing-section--dark .bdu-marketing-faq-list details p{color:rgba(255,255,255,.68)}.bdu-marketing-cta{padding:var(--bdu-space-cta) 0;background:linear-gradient(135deg,var(--bdu-primary-soft),var(--bdu-secondary-soft))}.bdu-marketing-cta>.bdu-marketing-container{display:flex;align-items:center;justify-content:space-between;gap:40px}.bdu-marketing-cta h2{font-size:clamp(32px,4vw,48px);margin:0}.bdu-marketing-cta p{margin:10px 0 0;color:#765257;line-height:1.65}.bdu-marketing-footer{padding:64px 0 24px;border-top:1px solid #eadadb;background:#fff}.bdu-marketing-footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:44px}.bdu-marketing-footer-grid>div{display:grid;align-content:start;gap:10px}.bdu-marketing-footer-brand .bdu-brand-logo{height:48px;max-width:200px}.bdu-marketing-footer-brand p{max-width:280px;margin:4px 0 0;color:#806064;line-height:1.6;font-size:var(--bdu-text-sm)}.bdu-marketing-footer-grid strong{font-size:var(--bdu-text-xs);text-transform:uppercase;letter-spacing:.09em;color:#8f6569}.bdu-marketing-footer-grid a{display:inline-flex;align-items:center;min-height:32px;text-decoration:none;font-size:var(--bdu-text-sm);color:#5f3d41}.bdu-marketing-footer-grid a:hover{color:var(--bdu-primary-dark)}.bdu-marketing-footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:40px;padding-top:20px;border-top:1px solid #f0e3e4;color:#99777a;font-size:var(--bdu-text-2xs)}.bdu-marketing-page-hero{padding:var(--bdu-space-page-hero) 0 calc(var(--bdu-space-page-hero) - 16px);background:linear-gradient(145deg,var(--bdu-primary-soft),var(--bdu-surface) 60%,var(--bdu-secondary-soft));border-bottom:1px solid #f0dddd}.bdu-marketing-page-hero>.bdu-marketing-container{max-width:920px;text-align:center}.bdu-marketing-page-hero h1{margin:0;font-size:clamp(42px,6vw,66px);line-height:1;letter-spacing:-.04em}.bdu-marketing-page-hero p{max-width:760px;margin:18px auto 0;color:#775458;font-size:var(--bdu-text-md);line-height:1.75}.bdu-marketing-compare-wrap{margin-top:56px}.bdu-marketing-compare-scroll{overflow-x:auto;border:1px solid #eadadb;border-radius:18px;background:#fff}.bdu-marketing-compare{width:100%;border-collapse:collapse;min-width:760px}.bdu-marketing-compare th,.bdu-marketing-compare td{padding:14px 16px;border-bottom:1px solid #f0e3e4;text-align:center;font-size:var(--bdu-text-sm)}.bdu-marketing-compare th:first-child{text-align:left}.bdu-marketing-compare thead th{background:#fff7f3;color:#633d41;font-weight:900}.bdu-marketing-compare tbody th{color:#67474b;font-weight:750}.bdu-marketing-note{display:flex;align-items:flex-start;gap:10px;margin-top:16px;padding:14px 16px;border:1px solid #efdcb3;border-radius:14px;background:var(--bdu-secondary-soft);color:#6b4b19}.bdu-marketing-note svg{flex:0 0 auto}.bdu-marketing-note p{margin:0;font-size:var(--bdu-text-xs);line-height:1.65}.bdu-marketing-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.bdu-marketing-values{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px}.bdu-marketing-values>div:last-child{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.bdu-marketing-values article{border:1px solid #eadadb;background:#fff;border-radius:16px;padding:20px}.bdu-marketing-values strong{display:block;font-size:var(--bdu-text-base)}.bdu-marketing-values p{margin:7px 0 0;color:#76575a;font-size:var(--bdu-text-sm);line-height:1.65}.bdu-marketing-faq-page{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:36px;align-items:start}.bdu-marketing-faq-page aside{position:sticky;top:94px;border:1px solid #eadadb;border-radius:20px;background:#fff;padding:24px}.bdu-marketing-faq-page aside>svg{color:var(--bdu-secondary-dark)}.bdu-marketing-faq-page aside h2{font-size:var(--bdu-text-2xl);margin:14px 0 8px}.bdu-marketing-faq-page aside p{color:#77575a;line-height:1.65;font-size:var(--bdu-text-sm)}.bdu-marketing-faq-page aside a{width:100%;margin-top:8px}.bdu-marketing-contact-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:34px;align-items:start}.bdu-marketing-contact-form{display:grid;gap:16px;border:1px solid #eadadb;border-radius:22px;background:#fff;padding:28px}.bdu-marketing-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.bdu-marketing-contact-form label{display:grid;gap:7px;color:#553438;font-size:var(--bdu-text-xs);font-weight:850}.bdu-marketing-contact-form label>span{font-weight:600;color:#967276}.bdu-marketing-contact-form input:not([type=checkbox]),.bdu-marketing-contact-form select,.bdu-marketing-contact-form textarea,.bdu-marketing-template-filter select{width:100%;border:1px solid #dfccce;border-radius:12px;background:#fff;padding:12px 13px;font:inherit;font-size:var(--bdu-text-base);color:var(--bdu-ink);outline:none}.bdu-marketing-contact-form textarea{resize:vertical}.bdu-marketing-contact-form input:focus,.bdu-marketing-contact-form select:focus,.bdu-marketing-contact-form textarea:focus,.bdu-marketing-template-filter select:focus{border-color:var(--bdu-primary);box-shadow:0 0 0 3px rgba(224,4,14,.09)}.bdu-marketing-consent{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;gap:10px!important;font-weight:600!important;line-height:1.55}.bdu-marketing-consent input{margin-top:3px}.bdu-marketing-consent a{color:var(--bdu-primary-dark)}.bdu-marketing-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.bdu-marketing-success,.bdu-marketing-error{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px;padding:14px 16px;border-radius:14px}.bdu-marketing-success{border:1px solid #b8dfc5;background:#f2fbf5;color:#205c35}.bdu-marketing-error{border:1px solid #f1bfc2;background:var(--bdu-primary-soft);color:#8e1118}.bdu-marketing-success p,.bdu-marketing-error p{margin:4px 0 0;font-size:var(--bdu-text-xs);line-height:1.55}.bdu-marketing-contact-aside{position:sticky;top:94px;border:1px solid #eadadb;border-radius:20px;background:#fff;padding:24px}.bdu-marketing-contact-aside h2{font-size:var(--bdu-text-2xl);margin:15px 0 8px}.bdu-marketing-contact-aside ul{list-style:none;padding:0;margin:14px 0;display:grid;gap:12px}.bdu-marketing-contact-aside li{display:flex;align-items:flex-start;gap:9px;color:#67474b;font-size:var(--bdu-text-sm);line-height:1.55}.bdu-marketing-contact-aside li svg{color:var(--bdu-secondary-dark);flex:0 0 auto}.bdu-marketing-contact-aside a{color:var(--bdu-primary-dark);font-weight:800}.bdu-marketing-template-filter{display:flex;align-items:end;gap:12px;margin-bottom:28px;padding:16px;border:1px solid #eadadb;border-radius:16px;background:#fff}.bdu-marketing-template-filter label{display:grid;gap:6px;min-width:190px;color:#66464a;font-size:var(--bdu-text-2xs);font-weight:850}.bdu-marketing-template-filter>a{padding:11px;color:#8c6367;font-size:var(--bdu-text-xs);font-weight:800;text-decoration:none}.bdu-marketing-template-results-head h2{font-size:var(--bdu-text-3xl);margin:0}.bdu-marketing-template-results-head p{margin:5px 0 20px;color:#806064;font-size:var(--bdu-text-sm)}.bdu-marketing-template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.bdu-marketing-template-card{overflow:hidden;border:1px solid #eadadb;border-radius:20px;background:#fff}.bdu-marketing-template-media{position:relative;aspect-ratio:3/2;display:block;overflow:hidden;background:linear-gradient(145deg,var(--bdu-primary-soft),var(--bdu-secondary-soft));text-decoration:none}.bdu-marketing-template-media img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .25s ease}.bdu-marketing-template-card:hover img{transform:scale(1.025)}.bdu-marketing-template-media>div{width:100%;height:100%;display:grid;place-items:center;align-content:center;gap:10px;color:#956b6e;font-size:var(--bdu-text-xs)}.bdu-marketing-template-media>div .bdu-brand-symbol{width:58px;height:58px}.bdu-marketing-template-media>span{position:absolute;right:12px;top:12px;border-radius:999px;background:rgba(255,255,255,.93);padding:6px 9px;color:#7b4f53;font-size:var(--bdu-text-2xs);font-weight:900}.bdu-marketing-template-body{padding:18px}.bdu-marketing-template-body>p:first-child{margin:0;color:#a17276;font-size:var(--bdu-text-2xs);font-weight:850;text-transform:uppercase;letter-spacing:.08em}.bdu-marketing-template-body h3{margin:6px 0 9px;font-size:var(--bdu-text-xl);font-family:"Playfair Display",Georgia,serif}.bdu-marketing-template-body h3 a{text-decoration:none}.bdu-marketing-template-body>p:not(:first-child){min-height:68px;margin:0;color:#745458;font-size:var(--bdu-text-sm);line-height:1.65}.bdu-marketing-empty{grid-column:1/-1;text-align:center;border:1px dashed #dfc8ca;border-radius:18px;background:#fff;padding:48px;color:#745458}.bdu-marketing-empty h2{margin:12px 0 6px}.bdu-marketing-empty p{margin:0 0 16px}.bdu-marketing-pagination{margin-top:24px}.bdu-marketing-template-detail{display:grid;grid-template-columns:minmax(350px,.9fr) minmax(0,1.1fr);gap:56px;align-items:start}.bdu-marketing-template-detail-media{overflow:hidden;aspect-ratio:3/2;border:1px solid #eadadb;border-radius:24px;background:linear-gradient(145deg,var(--bdu-primary-soft),var(--bdu-secondary-soft));box-shadow:0 18px 54px rgba(44,21,24,.07)}.bdu-marketing-template-detail-media img{width:100%;height:100%;object-fit:cover}.bdu-marketing-template-detail-media>div{height:100%;display:grid;place-items:center;align-content:center;gap:12px;color:#8a6467}.bdu-marketing-template-detail-media .bdu-brand-symbol{width:74px;height:74px}.bdu-marketing-template-detail-copy h1{font-size:clamp(42px,5vw,62px);line-height:1;margin:0}.bdu-marketing-template-detail-copy>p{font-size:var(--bdu-text-base);line-height:1.75;color:#6f5054}.bdu-marketing-template-meta{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}.bdu-marketing-template-meta span,.bdu-marketing-tags span{border:1px solid #eadadb;border-radius:999px;background:#fff;padding:7px 10px;color:#775458;font-size:var(--bdu-text-2xs);font-weight:850}.bdu-marketing-template-block{margin:25px 0}.bdu-marketing-template-block h2{font-size:var(--bdu-text-xl);margin:0 0 10px}.bdu-marketing-tags{display:flex;flex-wrap:wrap;gap:7px}.bdu-marketing-template-note{margin-top:16px!important;font-size:var(--bdu-text-2xs)!important;color:#9a7a7d!important}.bdu-marketing-footer .bdu-brand-picture,.bdu-marketing-header .bdu-brand-picture{max-width:100%}@media(max-width:1000px){.bdu-marketing-nav-wrap{min-height:66px}.bdu-marketing-nav{display:none}.bdu-marketing-actions{display:none}.bdu-marketing-mobile-nav{display:block}.bdu-marketing-hero-grid{grid-template-columns:1fr;gap:50px}.bdu-marketing-hero-copy{text-align:center}.bdu-marketing-hero-copy h1,.bdu-marketing-hero-copy>p{margin-inline:auto}.bdu-marketing-hero-actions,.bdu-marketing-proof{justify-content:center}.bdu-marketing-feature-grid,.bdu-marketing-story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bdu-marketing-steps-grid,.bdu-marketing-values,.bdu-marketing-contact-grid,.bdu-marketing-template-detail{grid-template-columns:1fr;gap:30px}.bdu-marketing-values>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr))}.bdu-marketing-faq-page{grid-template-columns:1fr}.bdu-marketing-faq-page aside,.bdu-marketing-contact-aside{position:static}.bdu-marketing-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bdu-marketing-template-detail-media{max-width:600px;width:100%;margin-inline:auto;aspect-ratio:3/2}.bdu-marketing-footer-grid{grid-template-columns:2fr repeat(2,1fr)}.bdu-marketing-footer-grid>div:last-child{grid-column:2}.bdu-marketing-section-head--split{align-items:flex-start;flex-direction:column}}
@media(max-width:680px){.bdu-marketing-container{width:calc(100% - 28px)}.bdu-marketing-brand .bdu-brand-logo{height:42px;max-width:176px}.bdu-marketing-hero-copy>p{font-size:var(--bdu-text-base)}.bdu-marketing-hero-actions>a{width:100%}.bdu-marketing-proof{display:grid;justify-content:start;text-align:left;margin-left:auto;margin-right:auto;width:max-content;max-width:100%}.bdu-marketing-feature-grid,.bdu-marketing-story-grid,.bdu-marketing-plan-grid,.bdu-marketing-values>div:last-child,.bdu-marketing-template-grid{grid-template-columns:1fr}.bdu-marketing-cta>.bdu-marketing-container{align-items:flex-start;flex-direction:column}.bdu-marketing-cta .bdu-marketing-primary{width:100%}.bdu-marketing-footer-grid{grid-template-columns:1fr 1fr;gap:28px}.bdu-marketing-footer-brand{grid-column:1/-1}.bdu-marketing-footer-grid>div:last-child{grid-column:auto}.bdu-marketing-footer-bottom{flex-direction:column}.bdu-marketing-form-grid{grid-template-columns:1fr}.bdu-marketing-contact-form{padding:19px}.bdu-marketing-template-filter{align-items:stretch;flex-direction:column}.bdu-marketing-template-filter label{min-width:0}.bdu-marketing-template-filter .bdu-marketing-secondary{width:100%}.bdu-marketing-compare-wrap{margin-top:42px}.bdu-marketing-template-detail-media{aspect-ratio:3/2}.bdu-marketing-template-detail-copy .bdu-marketing-primary{width:100%}.bdu-marketing-invite-card{max-width:360px}.bdu-marketing-invite-top .bdu-marketing-invite-title{font-size:37px}}
@media(prefers-reduced-motion:reduce){.bdu-marketing-template-media img{transition:none}}

/* Public blog */
.bdu-blog-hero{padding:clamp(4rem,8vw,7rem) 0 3rem;background:linear-gradient(180deg,var(--bdu-primary-soft),transparent)}
.bdu-blog-hero h1{max-width:820px;margin:.6rem 0 1rem;font-family:"Playfair Display",Georgia,serif;font-size:clamp(2.35rem,6vw,4.8rem);line-height:1.02;color:var(--bdu-ink)}
.bdu-blog-hero p{max-width:720px;font-size:1.05rem;line-height:1.75;color:#6d5558}
.bdu-blog-search{max-width:680px;margin-top:2rem}.bdu-blog-search>label{display:block;margin-bottom:.55rem;font-weight:700}.bdu-blog-search>div{display:flex;gap:.65rem}.bdu-blog-search input{flex:1;min-height:48px;border:1px solid #e8d8d9;border-radius:14px;padding:.8rem 1rem;background:#fff}.bdu-blog-search button{display:inline-flex;align-items:center;gap:.45rem;border:0;border-radius:14px;padding:.8rem 1.15rem;background:var(--bdu-primary);color:#fff;font-weight:700}
.bdu-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.bdu-blog-card{display:flex;flex-direction:column;gap:.75rem;padding:1.35rem;border:1px solid #f0e4e4;border-radius:20px;background:#fff;box-shadow:0 12px 30px rgba(44,21,24,.05)}.bdu-blog-card>span{font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#9b7578}.bdu-blog-card h2,.bdu-blog-card h3{margin:0;font-family:"Playfair Display",Georgia,serif;line-height:1.2}.bdu-blog-card h2{font-size:1.55rem}.bdu-blog-card h3{font-size:1.3rem}.bdu-blog-card h2 a,.bdu-blog-card h3 a{color:var(--bdu-ink);text-decoration:none}.bdu-blog-card p{margin:0;line-height:1.7;color:#6d5558}.bdu-blog-read{display:inline-flex;align-items:center;gap:.4rem;margin-top:auto;color:var(--bdu-primary-dark);font-weight:700;text-decoration:none}.bdu-marketing-empty{grid-column:1/-1;text-align:center;padding:3rem 1rem;border:1px dashed #e5cccc;border-radius:20px}.bdu-marketing-pagination{margin-top:1.5rem}
.bdu-blog-article-head{padding:4rem 0 2.4rem;background:linear-gradient(180deg,var(--bdu-secondary-soft),transparent)}.bdu-blog-reading-width{max-width:820px}.bdu-blog-back{display:inline-flex;align-items:center;gap:.4rem;margin-bottom:1.4rem;color:var(--bdu-primary-dark);font-weight:700;text-decoration:none}.bdu-blog-article-head h1{margin:.65rem 0 1rem;font-family:"Playfair Display",Georgia,serif;font-size:clamp(2.25rem,6vw,4.4rem);line-height:1.04;color:var(--bdu-ink)}.bdu-blog-article-head p{font-size:1.1rem;line-height:1.75;color:#6d5558}.bdu-blog-byline{margin-top:1.25rem;font-size:.9rem;color:#8a6b6e}.bdu-blog-article .bdu-prose{padding:2.5rem 0 4rem}.bdu-prose{font-size:1.02rem;line-height:1.8;color:#412b2e}.bdu-prose h2,.bdu-prose h3{font-family:"Playfair Display",Georgia,serif;color:var(--bdu-ink);line-height:1.2}.bdu-prose h2{margin:2.2rem 0 .8rem;font-size:2rem}.bdu-prose h3{margin:1.8rem 0 .7rem;font-size:1.45rem}.bdu-prose p,.bdu-prose ul,.bdu-prose ol,.bdu-prose blockquote{margin:0 0 1.15rem}.bdu-prose blockquote{padding:1rem 1.2rem;border-left:4px solid var(--bdu-secondary);background:#fffaf0;border-radius:0 12px 12px 0}.bdu-prose code{padding:.1rem .35rem;border-radius:6px;background:#f5eeee;font-size:.9em}.bdu-prose a{color:var(--bdu-primary-dark)}
@media(max-width:820px){.bdu-blog-grid{grid-template-columns:1fr}.bdu-blog-search>div{flex-direction:column}.bdu-blog-search button{justify-content:center}.bdu-blog-article-head{padding-top:2.5rem}}



/* --------------------------------------------------------------------------
 * Landing demonstrations.
 *
 * Two sections that show what the product does rather than describing it: the
 * invitation video, and the personalised WhatsApp send.
 *
 * Supporting states stay lightweight and scriptless. When a persistent generated
 * invitation preview exists, the phone can use that media while the surrounding
 * interface still needs no animation library on the public page
 * first, usually on a phone, often on mobile data. Keyframes cost nothing and
 * stop on their own when the reader has asked for less motion.
 * -------------------------------------------------------------------------- */

.bdu-marketing-demo-grid{display:grid;grid-template-columns:1fr;gap:2.75rem;align-items:center}
.bdu-marketing-demo-copy h2{margin:0 0 14px;font-family:"Playfair Display",Georgia,serif;font-size:clamp(34px,4.5vw,52px);line-height:1.05;letter-spacing:-.035em;color:var(--bdu-ink)}
.bdu-marketing-demo-copy>p{margin:0 0 22px;font-size:var(--bdu-text-md);line-height:1.7;color:#6D5555}
.bdu-marketing-demo-points{margin:0;padding:0;list-style:none;display:grid;gap:.7rem}
.bdu-marketing-demo-points li{display:flex;align-items:flex-start;gap:.55rem;font-size:var(--bdu-text-base);line-height:1.55;color:#4A3636}
.bdu-marketing-demo-points svg{flex:0 0 auto;margin-top:.15rem;color:var(--bdu-primary)}

/* Phone. A fixed aspect ratio so the scenes never resize the section. */
.bdu-marketing-phone{justify-self:center;width:min(280px,84vw);aspect-ratio:9/17.5;border-radius:2.2rem;border:1px solid rgba(115,0,7,.14);background:#1A0002;padding:.7rem;box-shadow:0 26px 60px rgba(44,21,24,.22)}
.bdu-marketing-phone-screen{position:relative;overflow:hidden;height:100%;border-radius:1.7rem;background:linear-gradient(165deg,#3C0004 0%,var(--bdu-primary-deep) 55%,var(--bdu-primary-dark) 100%);color:var(--bdu-surface)}

.bdu-marketing-scene{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;padding:1.6rem 1.2rem;text-align:center;opacity:0}
.bdu-marketing-scene-kicker{font-size:var(--bdu-text-2xs);font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--bdu-secondary)}
.bdu-marketing-scene strong{font-family:"Playfair Display",Georgia,serif;font-size:var(--bdu-text-2xl);line-height:1.25}
.bdu-marketing-scene p{margin:0;font-size:var(--bdu-text-sm);color:rgba(255,253,249,.82)}
.bdu-marketing-scene-qr{width:78px;height:78px;border-radius:.6rem;background:
    repeating-linear-gradient(90deg,var(--bdu-surface) 0 8px,transparent 8px 16px),
    repeating-linear-gradient(0deg,var(--bdu-surface) 0 8px,transparent 8px 16px),#3C0004;
    box-shadow:0 0 0 6px var(--bdu-surface)}

/* Four beats of five seconds; each scene holds for one and hands over. */
@keyframes bduSceneCycle{0%,2%{opacity:0;transform:translateY(8px)}6%,22%{opacity:1;transform:none}26%,100%{opacity:0;transform:translateY(-8px)}}
.bdu-marketing-scene--1{animation:bduSceneCycle 20s ease-in-out infinite}
.bdu-marketing-scene--2{animation:bduSceneCycle 20s ease-in-out 5s infinite}
.bdu-marketing-scene--3{animation:bduSceneCycle 20s ease-in-out 10s infinite}
.bdu-marketing-scene--4{animation:bduSceneCycle 20s ease-in-out 15s infinite}

.bdu-marketing-phone-progress{position:absolute;left:1.1rem;right:1.1rem;bottom:1.1rem;height:3px;border-radius:99px;background:rgba(255,253,249,.22)}
.bdu-marketing-phone-progress span{display:block;height:100%;border-radius:99px;background:var(--bdu-secondary);animation:bduSceneProgress 20s linear infinite}
@keyframes bduSceneProgress{from{width:0}to{width:100%}}

/* Chat. */
.bdu-marketing-chat{justify-self:center;width:min(360px,100%);border-radius:1.4rem;border:1px solid rgba(115,0,7,.12);background:var(--bdu-surface);overflow:hidden;box-shadow:0 20px 46px rgba(44,21,24,.12)}
.bdu-marketing-chat-head{display:flex;align-items:center;gap:.55rem;padding:.85rem 1.1rem;background:var(--bdu-primary-deep);color:var(--bdu-surface);font-size:var(--bdu-text-sm);font-weight:700}
.bdu-marketing-chat-body{display:grid;gap:.6rem;padding:1.1rem;background:#F7F1EC}
.bdu-marketing-bubble{margin:0;max-width:86%;padding:.6rem .8rem;border-radius:.9rem;font-size:var(--bdu-text-sm);line-height:1.5;opacity:0;animation:bduBubbleIn .5s ease-out forwards}
.bdu-marketing-bubble--out{justify-self:start;border-bottom-left-radius:.25rem;background:#fff;color:var(--bdu-ink);animation-delay:.2s}
.bdu-marketing-bubble--link{color:var(--bdu-primary-dark);font-weight:650;word-break:break-all;animation-delay:1.1s}
.bdu-marketing-bubble--in{justify-self:end;border-bottom-right-radius:.25rem;background:#DCF6C8;color:var(--bdu-ink);animation-delay:2s}
@keyframes bduBubbleIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.bdu-marketing-chat-status{display:flex;align-items:center;gap:.45rem;padding:.7rem 1.1rem;font-size:var(--bdu-text-xs);font-weight:650;color:#4A3636;background:#fff}
.bdu-marketing-dot{width:.5rem;height:.5rem;border-radius:99px;background:#2FA84F}

@media(min-width:900px){
    .bdu-marketing-demo-grid{grid-template-columns:1.05fr .95fr;gap:4rem}
    .bdu-marketing-demo-grid--reverse .bdu-marketing-demo-copy{order:2}
}

/* A demonstration that will not stop is a demonstration nobody asked for. */
@media(prefers-reduced-motion:reduce){
    .bdu-marketing-scene,.bdu-marketing-phone-progress span,.bdu-marketing-bubble{animation:none}
    .bdu-marketing-scene{opacity:0}
    .bdu-marketing-scene--1{opacity:1}
    .bdu-marketing-bubble{opacity:1}
    .bdu-marketing-phone-progress span{width:25%}
}

/* --------------------------------------------------------------------------
 * Shell: header, mobile sheet, skip link.
 *
 * The header was already sticky and already had a stacking order; only the
 * translucency is new. The sheet sits just below that existing order rather
 * than the header being given a second, competing z-index.
 * -------------------------------------------------------------------------- */

.bdu-marketing-nav a{position:relative}
.bdu-marketing-nav a.is-active{color:var(--bdu-primary-dark);font-weight:700}
.bdu-marketing-nav a.is-active::after{content:"";position:absolute;left:0;right:0;bottom:-.55rem;height:2px;border-radius:99px;background:var(--bdu-primary)}






/*
 * Anchored to the header, not the viewport.
 *
 * The header carries backdrop-filter, and a filtered element becomes the
 * containing block for its fixed descendants — so a fixed sheet was measured
 * against a 66px-tall header and rendered nothing at all.
 *
 * The dropdown rules this replaced were left behind and outranked it on
 * specificity: .bdu-marketing-mobile-nav>div beats .bdu-marketing-sheet, so the
 * sheet kept the old panel's 300px width and 52px offset while taking the new
 * full height. They are gone.
 */
.bdu-marketing-mobile-nav{position:static}
.bdu-marketing-mobile-nav>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #ead7d9;border-radius:.75rem;color:var(--bdu-ink)}
.bdu-marketing-mobile-nav>summary::-webkit-details-marker{display:none}
.bdu-marketing-mobile-nav>summary:focus-visible{outline:2px solid var(--bdu-primary);outline-offset:2px}
.bdu-marketing-mobile-nav[open]>summary{border-color:var(--bdu-primary);background:rgba(224,4,14,.08);color:var(--bdu-primary-dark)}

.bdu-marketing-sheet{position:absolute;top:100%;left:0;right:0;height:calc(100vh - 66px);height:calc(100dvh - 66px);z-index:49;display:flex;flex-direction:column;overflow-y:auto;padding:.85rem 1rem calc(1rem + env(safe-area-inset-bottom,0px));background:var(--bdu-surface);border-top:1px solid rgba(115,0,7,.08);animation:bduSheetIn .18s ease-out}
@keyframes bduSheetIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

.bdu-marketing-sheet nav{display:grid;gap:2px}
/* A row is icon, two lines of text, and a chevron. 56px holds both lines
   without the list stretching down the screen the way seven 52px rows and a
   1.5rem gap did. */
.bdu-marketing-sheet nav a{display:grid;grid-template-columns:38px 1fr 16px;align-items:center;gap:.75rem;min-height:56px;padding:.35rem .6rem;border-radius:.85rem;text-decoration:none;color:var(--bdu-ink)}
.bdu-marketing-sheet nav a:hover{background:var(--bdu-primary-soft)}
.bdu-marketing-sheet nav a.is-active{background:rgba(224,4,14,.08)}
.bdu-marketing-sheet nav a.is-active .bdu-marketing-sheet-text strong{color:var(--bdu-primary-dark)}

.bdu-marketing-sheet-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:.7rem;background:var(--bdu-primary-soft);color:var(--bdu-primary-dark)}
.bdu-marketing-sheet nav a.is-active .bdu-marketing-sheet-icon{background:var(--bdu-primary);color:var(--bdu-surface)}
.bdu-marketing-sheet-text{display:grid;gap:1px;min-width:0}
.bdu-marketing-sheet-text strong{font-size:var(--bdu-text-base);font-weight:700;line-height:1.3}
.bdu-marketing-sheet-text small{font-size:var(--bdu-text-2xs);line-height:1.35;color:#8A6B6B;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bdu-marketing-sheet-chevron{color:#C9AFAF}

.bdu-marketing-sheet-actions{display:grid;gap:.55rem;margin-top:auto;padding-top:.9rem;border-top:1px solid rgba(115,0,7,.1)}
.bdu-marketing-sheet-actions a{justify-content:center;min-height:48px}

.bdu-skip-link{position:absolute;top:0;left:0;z-index:200;transform:translateY(-120%);padding:.75rem 1.15rem;border-bottom-right-radius:.75rem;background:var(--bdu-primary);color:var(--bdu-surface);font-size:var(--bdu-text-sm);font-weight:700;text-decoration:none;transition:transform .15s ease}
.bdu-skip-link:focus,.bdu-skip-link:focus-visible{transform:translateY(0);outline:2px solid var(--bdu-surface);outline-offset:-4px}
#bdu-marketing-content:focus{outline:none}

@media(min-width:1001px){.bdu-marketing-mobile-nav{display:none}}
@media(prefers-reduced-motion:reduce){.bdu-marketing-sheet{animation:none}.bdu-skip-link{transition:none}}

/* --------------------------------------------------------------------------
 * Footer primitives shared by the composed footer surface below.
 * -------------------------------------------------------------------------- */

.bdu-marketing-trust{list-style:none;display:grid}
.bdu-marketing-trust li{display:flex;align-items:center;gap:.55rem;font-size:var(--bdu-text-sm);line-height:1.5;color:#6D5555}
.bdu-marketing-trust svg{flex:0 0 auto;width:26px;height:26px;padding:5px;border-radius:8px;background:var(--bdu-primary-soft);color:var(--bdu-primary-dark)}
.bdu-marketing-footer-support a,
.bdu-marketing-footer-support span{display:inline-flex;align-items:center;gap:.45rem;font-size:var(--bdu-text-sm);color:#6D5555}
.bdu-marketing-footer-support a{text-decoration:none}
.bdu-marketing-footer-support a:hover{color:var(--bdu-primary-dark);text-decoration:underline}
.bdu-marketing-footer-support svg{flex:0 0 auto;color:var(--bdu-primary-dark)}
.bdu-marketing-footer-bottom a{color:inherit;text-decoration:none;opacity:.85}
.bdu-marketing-footer-bottom a:hover{opacity:1;text-decoration:underline}

/* --------------------------------------------------------------------------
 * Landing demonstrations, part two: replies and the door.
 *
 * Same rules as the first pair — keyframes only, no vendor script, and the
 * whole thing stops when the reader has asked for less motion. Sizes come from
 * the scale so these sections behave like the rest of the page on a phone.
 * -------------------------------------------------------------------------- */

.bdu-marketing-rsvp{justify-self:center;width:min(380px,100%);overflow:hidden;border:1px solid rgba(115,0,7,.12);border-radius:1.4rem;background:var(--bdu-surface);box-shadow:0 20px 46px rgba(44,21,24,.12)}
.bdu-marketing-rsvp-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.9rem 1.1rem;background:var(--bdu-primary-deep);color:var(--bdu-surface)}
.bdu-marketing-rsvp-head>span{display:inline-flex;align-items:center;gap:.5rem;font-size:var(--bdu-text-sm);font-weight:700}
/* The number counts the guests the rows below stand for. */
.bdu-marketing-rsvp-count{font-family:"Playfair Display",Georgia,serif;font-size:var(--bdu-text-xl);line-height:1}

.bdu-marketing-rsvp-list{margin:0;padding:.6rem;list-style:none;display:grid;gap:.4rem}
.bdu-marketing-rsvp-row{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:.7rem;padding:.6rem;border-radius:.85rem;background:#fff;border:1px solid rgba(115,0,7,.07);opacity:0;animation:bduRowIn .45s ease-out forwards}
.bdu-marketing-rsvp-row--1{animation-delay:.25s}
.bdu-marketing-rsvp-row--2{animation-delay:1.05s}
.bdu-marketing-rsvp-row--3{animation-delay:1.85s}
@keyframes bduRowIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.bdu-marketing-rsvp-row>span:nth-child(2){display:grid;gap:1px;min-width:0}
.bdu-marketing-rsvp-row strong{font-size:var(--bdu-text-sm);font-weight:700;color:var(--bdu-ink)}
.bdu-marketing-rsvp-row small{font-size:var(--bdu-text-2xs);color:#8A6B6B;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bdu-marketing-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:99px;background:var(--bdu-primary-soft);color:var(--bdu-primary-dark);font-size:var(--bdu-text-sm);font-weight:800}
.bdu-marketing-chip{border-radius:99px;padding:.25rem .6rem;font-size:var(--bdu-text-2xs);font-weight:800}
.bdu-marketing-chip.is-yes{background:#E8F6EC;color:#205C35}
.bdu-marketing-chip.is-maybe{background:var(--bdu-secondary-soft);color:#8A5E12}

/* Scanner. */
.bdu-marketing-scanner{justify-self:center;width:min(320px,100%);display:grid;gap:.85rem}
.bdu-marketing-scanner-frame{position:relative;aspect-ratio:1;display:grid;place-items:center;overflow:hidden;border-radius:1.4rem;background:linear-gradient(165deg,#3C0004,var(--bdu-primary-deep) 60%,#1A0002)}
.bdu-marketing-scanner-qr{width:44%;aspect-ratio:1;border-radius:.5rem;background:
    repeating-linear-gradient(90deg,var(--bdu-surface) 0 7px,transparent 7px 14px),
    repeating-linear-gradient(0deg,var(--bdu-surface) 0 7px,transparent 7px 14px),#1A0002;
    box-shadow:0 0 0 6px var(--bdu-surface)}
.bdu-marketing-scanner-beam{position:absolute;left:8%;right:8%;height:2px;border-radius:99px;background:linear-gradient(90deg,transparent,var(--bdu-secondary),transparent);box-shadow:0 0 14px rgba(230,183,85,.75);animation:bduBeam 2.6s ease-in-out infinite}
@keyframes bduBeam{0%,100%{top:16%}50%{top:82%}}
.bdu-marketing-scanner-corner{position:absolute;width:26px;height:26px;border:2px solid rgba(230,183,85,.85)}
.bdu-marketing-scanner-corner.is-tl{top:14px;left:14px;border-right:0;border-bottom:0;border-radius:.6rem 0 0 0}
.bdu-marketing-scanner-corner.is-tr{top:14px;right:14px;border-left:0;border-bottom:0;border-radius:0 .6rem 0 0}
.bdu-marketing-scanner-corner.is-bl{bottom:14px;left:14px;border-right:0;border-top:0;border-radius:0 0 0 .6rem}
.bdu-marketing-scanner-corner.is-br{bottom:14px;right:14px;border-left:0;border-top:0;border-radius:0 0 .6rem 0}

.bdu-marketing-scanner-result{display:flex;align-items:center;gap:.65rem;padding:.75rem .9rem;border-radius:1rem;border:1px solid #B8DFC5;background:#F2FBF5;color:#205C35;opacity:0;animation:bduRowIn .5s ease-out 1.3s forwards}
.bdu-marketing-scanner-result svg{flex:0 0 auto}
.bdu-marketing-scanner-result span{display:grid;gap:1px;min-width:0}
.bdu-marketing-scanner-result strong{font-size:var(--bdu-text-sm)}
.bdu-marketing-scanner-result small{font-size:var(--bdu-text-2xs);color:#3F6B4E}

@media(prefers-reduced-motion:reduce){
    .bdu-marketing-rsvp-row,.bdu-marketing-scanner-result{animation:none;opacity:1}
    .bdu-marketing-scanner-beam{animation:none;top:49%}
}


/* Public template detail — configured interactive demo. */
.bdu-marketing-template-detail-media.has-live-demo{position:relative;height:min(72vh,760px);min-height:620px;aspect-ratio:auto;background:#171310}
.bdu-marketing-template-detail-media.has-live-demo iframe{display:block;width:100%;height:100%;border:0;background:#171310}
.bdu-marketing-template-demo-badge{position:absolute;left:12px;bottom:12px;display:inline-flex;align-items:center;min-height:28px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(23,19,16,.82);padding:0 9px;color:#fff8e8;font-size:var(--bdu-text-2xs);font-weight:850;backdrop-filter:blur(8px);pointer-events:none}
@media(max-width:820px){.bdu-marketing-template-detail-media.has-live-demo{height:680px;min-height:560px}}
@media(max-width:680px){.bdu-marketing-template-detail-media.has-live-demo{height:640px;min-height:520px;aspect-ratio:auto}.bdu-marketing-template-demo-badge{left:9px;bottom:9px;min-height:26px;font-size:var(--bdu-text-2xs)}}

/* Public template showcase — live demo first, customer-facing feature language. */
.bdu-marketing-template-showcase-section{padding-top:clamp(2.4rem,5vw,4.6rem)}
.bdu-marketing-template-showcase{display:grid;gap:clamp(2rem,4vw,3.75rem)}
.bdu-marketing-template-showcase-head{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:clamp(2rem,5vw,4.75rem);align-items:end}
.bdu-marketing-template-showcase-copy{min-width:0}
.bdu-marketing-template-showcase-copy h1{max-width:820px;margin:.45rem 0 .9rem;font-size:clamp(3rem,7vw,5.6rem);line-height:.96;letter-spacing:-.035em}
.bdu-marketing-template-showcase-copy>p{max-width:760px;margin:0;color:#6f5054;font-size:var(--bdu-text-base);line-height:1.75}
.bdu-marketing-template-showcase-tags{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.25rem}
.bdu-marketing-template-showcase-tags span{display:inline-flex;align-items:center;min-height:30px;border:1px solid #eadadb;border-radius:999px;background:#fff;padding:.35rem .7rem;color:#775458;font-size:var(--bdu-text-2xs);font-weight:850}
.bdu-marketing-template-showcase-action{display:grid;grid-template-columns:40px minmax(0,1fr);gap:.8rem;border:1px solid #eadadb;border-radius:20px;background:#fff;padding:1.1rem;box-shadow:0 14px 38px rgba(44,21,24,.05)}
.bdu-marketing-template-showcase-action-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--bdu-primary-soft);color:var(--bdu-primary-dark)}
.bdu-marketing-template-showcase-action>div{min-width:0}
.bdu-marketing-template-showcase-action small{display:block;color:#9a7377;font-size:var(--bdu-text-2xs);font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.bdu-marketing-template-showcase-action strong{display:block;margin:.15rem 0 .25rem;color:var(--bdu-ink);font-family:"Playfair Display",Georgia,serif;font-size:var(--bdu-text-xl);line-height:1.2}
.bdu-marketing-template-showcase-action p{margin:0;color:#745458;font-size:var(--bdu-text-xs);line-height:1.55}
.bdu-marketing-template-showcase-action>.bdu-marketing-primary{grid-column:1/-1;width:100%;margin-top:.25rem}
.bdu-marketing-template-live{display:grid;gap:.8rem}
.bdu-marketing-template-live-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.25rem}
.bdu-marketing-template-live-head h2{margin:.35rem 0 .25rem;font-size:clamp(1.75rem,3vw,2.65rem);line-height:1.1}
.bdu-marketing-template-live-head p{max-width:700px;margin:0;color:#806064;font-size:var(--bdu-text-sm);line-height:1.6}
.bdu-marketing-template-live-state{display:inline-flex;align-items:center;gap:.4rem;flex:0 0 auto;min-height:32px;border:1px solid #cfe7d5;border-radius:999px;background:#f3fbf5;padding:.35rem .7rem;color:#176c36;font-size:var(--bdu-text-2xs);font-weight:850}
.bdu-marketing-template-live .bdu-marketing-template-detail-media{width:100%;border-radius:24px}
.bdu-marketing-template-live .bdu-marketing-template-detail-media.has-live-demo{height:min(82vh,900px);min-height:700px;box-shadow:0 22px 70px rgba(44,21,24,.1)}
.bdu-marketing-template-demo-note{margin:0;color:#9a7a7d;font-size:var(--bdu-text-2xs);line-height:1.55}
.bdu-marketing-template-showcase-grid{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:1rem;align-items:start}
.bdu-marketing-template-showcase-card{border:1px solid #eadadb;border-radius:20px;background:#fff;padding:1.25rem;box-shadow:0 12px 34px rgba(44,21,24,.04)}
.bdu-marketing-template-showcase-card h2{margin:.35rem 0 .55rem;font-size:var(--bdu-text-2xl);line-height:1.15}
.bdu-marketing-template-showcase-card>p{margin:0;color:#745458;font-size:var(--bdu-text-sm);line-height:1.65}
.bdu-marketing-template-fit-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.bdu-marketing-template-fit-list span{display:inline-flex;align-items:center;gap:.35rem;min-height:34px;border:1px solid #eadadb;border-radius:999px;background:#fff;padding:.4rem .7rem;color:#775458;font-size:var(--bdu-text-xs);font-weight:800}
.bdu-marketing-template-fit-list span.is-primary{border-color:#e6b7bb;background:#fff5f6;color:var(--bdu-primary-dark)}
.bdu-marketing-template-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-top:1rem}
.bdu-marketing-template-feature-grid article{min-width:0;border:1px solid #f0e3e4;border-radius:14px;background:#fcfafa;padding:.85rem}
.bdu-marketing-template-feature-grid strong{display:block;color:var(--bdu-ink);font-size:var(--bdu-text-sm)}
.bdu-marketing-template-feature-grid p,.bdu-marketing-template-feature-empty{margin:.2rem 0 0;color:#806064;font-size:var(--bdu-text-xs);line-height:1.55}
.bdu-marketing-template-final-cta{display:flex;align-items:center;justify-content:space-between;gap:2rem;border:1px solid #eadadb;border-radius:22px;background:linear-gradient(135deg,#fff8f8,#fff);padding:clamp(1.25rem,3vw,2rem)}
.bdu-marketing-template-final-cta h2{margin:.3rem 0 .35rem;font-size:clamp(1.75rem,3vw,2.6rem);line-height:1.1}
.bdu-marketing-template-final-cta p{margin:0;color:#745458;font-size:var(--bdu-text-sm)}
.bdu-marketing-template-final-cta>.bdu-marketing-primary{flex:0 0 auto}
@media(max-width:900px){
    .bdu-marketing-template-showcase-head,.bdu-marketing-template-showcase-grid{grid-template-columns:1fr}
    .bdu-marketing-template-showcase-action{max-width:620px}
    .bdu-marketing-template-live .bdu-marketing-template-detail-media.has-live-demo{height:760px;min-height:620px}
}
@media(max-width:680px){
    .bdu-marketing-template-showcase{gap:1.75rem}
    .bdu-marketing-template-showcase-copy h1{font-size:clamp(2.7rem,14vw,4.25rem)}
    .bdu-marketing-template-showcase-action{grid-template-columns:36px minmax(0,1fr);padding:1rem}
    .bdu-marketing-template-showcase-action-icon{width:36px;height:36px}
    .bdu-marketing-template-live-head{align-items:flex-start;flex-direction:column}
    .bdu-marketing-template-live-state{align-self:flex-start}
    .bdu-marketing-template-live .bdu-marketing-template-detail-media.has-live-demo{height:680px;min-height:560px;border-radius:18px}
    .bdu-marketing-template-feature-grid{grid-template-columns:1fr}
    .bdu-marketing-template-final-cta{align-items:stretch;flex-direction:column}
    .bdu-marketing-template-final-cta>.bdu-marketing-primary{width:100%}
}

/* --------------------------------------------------------------------------
 * Feature hierarchy.
 *
 * Six cards of identical weight said everything on the page mattered equally.
 * Four lead with room to explain themselves; the rest are a compact list that
 * can be read in one pass without competing with them.
 * -------------------------------------------------------------------------- */

.bdu-marketing-feature-grid--lead{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.bdu-marketing-feature-grid--lead article{padding:28px}
.bdu-marketing-feature-more{margin-top:18px;padding:22px;border:1px solid #eadadb;border-radius:20px;background:linear-gradient(180deg,#fffaf8,#fff)}
.bdu-marketing-feature-more>p{margin:0 0 16px;color:#8b6569;font-size:var(--bdu-text-xs);font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.bdu-marketing-feature-more ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 22px;margin:0;padding:0;list-style:none}
.bdu-marketing-feature-more li{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:11px}
.bdu-marketing-feature-more li>span:first-child{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;border:1px solid #f2c8cb;background:var(--bdu-primary-soft);color:var(--bdu-primary-hover)}
.bdu-marketing-feature-more strong{display:block;font-size:var(--bdu-text-base);line-height:1.35}
.bdu-marketing-feature-more small{display:block;margin-top:3px;color:#7c5d60;font-size:var(--bdu-text-sm);line-height:1.55}
@media(max-width:1000px){
    .bdu-marketing-feature-more ul{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
    .bdu-marketing-feature-grid--lead{grid-template-columns:1fr;gap:12px}
    .bdu-marketing-feature-grid--lead article{padding:20px}
    .bdu-marketing-feature-more{padding:18px}
    .bdu-marketing-feature-more ul{grid-template-columns:1fr;gap:14px}
}

/* --------------------------------------------------------------------------
 * Keyboard focus on the public site.
 *
 * The skip link and the menu button declared a ring; every other control on
 * thirteen public pages fell back to whatever the browser drew over a coloured
 * background, which on the primary button is almost nothing.
 * -------------------------------------------------------------------------- */

.bdu-marketing-page a:focus-visible,
.bdu-marketing-page button:focus-visible,
.bdu-marketing-page summary:focus-visible,
.bdu-marketing-page [tabindex]:focus-visible{outline:3px solid var(--bdu-primary);outline-offset:2px;border-radius:10px}
.bdu-marketing-section--dark a:focus-visible{outline-color:var(--bdu-secondary)}

/* --------------------------------------------------------------------------
 * Shell foundation.
 *
 * Four things the public shell did not do. The header looked identical whether
 * the reader was at the top of the page or halfway down it. Every in-page jump
 * — the skip link included — landed with its destination hidden behind the
 * sticky bar, because nothing declared a scroll margin. Selection and contrast
 * were left to the browser. And smooth scrolling had no way to be turned off.
 * -------------------------------------------------------------------------- */

/*
 * A hook class of its own rather than a second .bdu-marketing-header rule:
 * the header owns position, offset and blur in one place, and this owns the
 * timeline.
 *
 * Elevation, not movement. The bar keeps its height, so nothing below it
 * shifts; only the shadow under it arrives as the page leaves the top.
 *
 * Progressive enhancement in its own layer rather than a second declaration of
 * the header: this adds a timeline and nothing else, and restates none of the
 * position, offset or blur the one header rule owns. Browsers without
 * scroll-driven animation get the flat bar they get today.
 */
@supports (animation-timeline:scroll()){
    .bdu-marketing-header-lift{animation:bduHeaderLift linear both;animation-timeline:scroll(root block);animation-range:0 90px}
}
@keyframes bduHeaderLift{
    from{box-shadow:0 0 0 0 rgba(115,0,7,0);border-bottom-color:rgba(115,0,7,.08)}
    to{box-shadow:0 12px 30px -20px rgba(115,0,7,.5);border-bottom-color:rgba(115,0,7,.14)}
}

/*
 * Room for the bar above whatever was jumped to. 68px of header plus a little
 * air; the mobile bar is shorter, so the same offset simply leaves more.
 */
.bdu-marketing-page{scroll-behavior:smooth}
.bdu-marketing-page :target,
.bdu-marketing-page [id]{scroll-margin-top:88px}

::selection{background:var(--bdu-primary);color:#fff}
.bdu-marketing-page{color-scheme:light;-webkit-text-size-adjust:100%}

/*
 * The muted copy on this site sits between #6D5555 and #99777A on cream. That
 * reads comfortably by default and not at all for a reader who has asked the
 * operating system for more contrast.
 */
@media(prefers-contrast:more){
    .bdu-marketing-page{--bdu-marketing-muted:#4A3030}
    .bdu-marketing-hero-copy>p,.bdu-marketing-section-head>p,.bdu-marketing-demo-copy>p,
    .bdu-marketing-trust li,.bdu-marketing-footer-support a,.bdu-marketing-footer-support span,
    .bdu-marketing-footer-brand p,.bdu-marketing-footer-bottom{color:var(--bdu-marketing-muted)}
    .bdu-marketing-nav a,.bdu-marketing-login,.bdu-marketing-footer-grid a{color:var(--bdu-ink)}
    .bdu-marketing-secondary{border-color:var(--bdu-primary-dark);color:var(--bdu-primary-dark)}
}

@media(prefers-reduced-motion:reduce){
    .bdu-marketing-page{scroll-behavior:auto}
    .bdu-marketing-header-lift{animation:none}
}

/* --------------------------------------------------------------------------
 * Shell navigation, part two: who is signed in, and the one action for
 * everyone who is not.
 *
 * The header told a signed-in reader nothing except that a dashboard exists,
 * and a phone reader had to scroll back to the top — or open the menu — to
 * find the only button the site actually wants pressed.
 *
 * Both are details/summary and markup, same as the mobile menu: no script
 * reaches the public site.
 * -------------------------------------------------------------------------- */

.bdu-marketing-account{position:relative}
.bdu-marketing-account>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 9px 0 4px;border:1px solid #e6d2d4;border-radius:999px;background:#fff;color:#6b4348}
.bdu-marketing-account>summary::-webkit-details-marker{display:none}
.bdu-marketing-account>summary:hover{border-color:#d7a6aa}
.bdu-marketing-account[open]>summary{border-color:var(--bdu-primary);color:var(--bdu-primary-dark)}
.bdu-marketing-avatar-face{position:relative;display:grid;place-items:center;overflow:hidden;width:32px;height:32px;flex:0 0 auto;border-radius:999px;background:var(--bdu-primary);color:#fff;font-size:var(--bdu-text-sm);font-weight:900;line-height:1}
.bdu-marketing-avatar-face img{width:100%;height:100%;object-fit:cover;display:block}

.bdu-marketing-account-sheet{position:absolute;right:0;top:calc(100% + 10px);z-index:49;width:250px;display:grid;gap:2px;padding:8px;border:1px solid #ecdcdd;border-radius:16px;background:#fff;box-shadow:0 22px 50px -24px rgba(115,0,7,.45);animation:bduSheetIn .16s ease-out}
.bdu-marketing-account-who{margin:2px 4px 8px;display:grid;gap:2px;padding-bottom:9px;border-bottom:1px solid #f2e4e5}
.bdu-marketing-account-who strong{font-size:var(--bdu-text-base);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bdu-marketing-account-who small{color:#8a6b6b;font-size:var(--bdu-text-2xs)}
.bdu-marketing-account-sheet a,
.bdu-marketing-account-sheet button{display:flex;align-items:center;gap:9px;width:100%;min-height:42px;padding:0 10px;border:0;border-radius:10px;background:none;color:var(--bdu-ink);font:inherit;font-size:var(--bdu-text-sm);font-weight:700;text-align:left;text-decoration:none;cursor:pointer}
.bdu-marketing-account-sheet a:hover,
.bdu-marketing-account-sheet button:hover{background:var(--bdu-primary-soft);color:var(--bdu-primary-dark)}
.bdu-marketing-account-sheet svg{flex:0 0 auto;color:#a97f83}
.bdu-marketing-account-sheet form{margin:4px 0 0;padding-top:5px;border-top:1px solid #f2e4e5}

.bdu-marketing-sheet-signout{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;border:1.5px solid var(--bdu-primary);border-radius:12px;background:#fff;color:var(--bdu-primary);font:inherit;font-size:var(--bdu-text-base);font-weight:850;cursor:pointer}
.bdu-marketing-sheet-signout:hover{background:var(--bdu-primary);color:#fff}
.bdu-marketing-sheet-actions form{margin:0}

/* Off on a laptop: the header carries the same action three inches away. */
.bdu-marketing-sticky-cta,
.bdu-marketing-sticky-cta-spacer{display:none}

@media(max-width:680px){
    .bdu-marketing-sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:45;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid #f0dcdd;background:rgba(255,253,249,.97);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 -10px 28px -22px rgba(115,0,7,.6)}
    .bdu-marketing-sticky-cta>div{display:grid;gap:1px;min-width:0}
    .bdu-marketing-sticky-cta strong{font-size:var(--bdu-text-sm);line-height:1.25}
    .bdu-marketing-sticky-cta small{display:-webkit-box;color:#8a6b6b;font-size:var(--bdu-text-2xs);line-height:1.25;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}
    .bdu-marketing-sticky-cta .bdu-marketing-primary{flex:0 0 auto;min-height:44px;padding:0 14px}
    .bdu-marketing-sticky-cta-spacer{display:block;height:calc(var(--bdu-sticky-cta) + env(safe-area-inset-bottom,0px))}
}

@media(max-width:1000px){
    /* The account menu lives in the sheet at these widths. */
    .bdu-marketing-account{display:none}
}

/* --------------------------------------------------------------------------
 * Breadcrumb.
 *
 * Thirteen public pages and no way to tell where you were except the header.
 * The detail page had a back link doing half this job; one trail replaces it
 * and says the same thing to a search engine through structured data.
 * -------------------------------------------------------------------------- */

.bdu-marketing-breadcrumb{padding:14px 0 0}
.bdu-marketing-breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;list-style:none}
.bdu-marketing-breadcrumb li{display:inline-flex;align-items:center;gap:6px;min-width:0}
.bdu-marketing-breadcrumb a{display:inline-flex;align-items:center;min-height:28px;color:#8a6266;font-size:var(--bdu-text-xs);font-weight:800;text-decoration:none}
.bdu-marketing-breadcrumb a:hover{color:var(--bdu-primary-dark);text-decoration:underline}
.bdu-marketing-breadcrumb svg{color:#cbb0b2;flex:0 0 auto}
.bdu-marketing-breadcrumb li:last-child span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(52vw,420px);color:#5f3d41;font-size:var(--bdu-text-xs);font-weight:850}

/* --------------------------------------------------------------------------
 * Template gallery.
 *
 * The cards carried an internal version number under the name, three links to
 * the same page, and a heading level that put every template beside the
 * section heading above it. The filter gave no sign of being filtered, and the
 * pager was the framework default: a control built for an admin screen, with
 * its own sizes and its own greys.
 * -------------------------------------------------------------------------- */

.bdu-marketing-template-card{position:relative;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.bdu-marketing-template-card:hover{transform:translateY(-3px);border-color:#e0bfc2;box-shadow:0 20px 44px -26px rgba(115,0,7,.5)}
.bdu-marketing-template-body{display:flex;flex-direction:column;flex:1}

/* One link, stretched over the card: the image and the cue below it point at
   the same page the name does, and neither is a second tab stop. */
.bdu-marketing-template-body h3 a::after{content:"";position:absolute;inset:0;border-radius:20px}
.bdu-marketing-template-body h3 a:focus-visible::after{outline:3px solid var(--bdu-primary);outline-offset:2px}
.bdu-marketing-template-body h3 a:focus-visible{outline:none}

.bdu-marketing-template-card-cue{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:14px;color:var(--bdu-primary-dark);font-size:var(--bdu-text-xs);font-weight:850}
.bdu-marketing-template-card:hover .bdu-marketing-template-card-cue svg{transform:translateX(3px)}
.bdu-marketing-template-card-cue svg{transition:transform .2s ease}

.bdu-marketing-template-filter-reset{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 11px;border-radius:10px;color:#8c6367;font-size:var(--bdu-text-xs);font-weight:800;text-decoration:none}
.bdu-marketing-template-filter-reset:hover{background:var(--bdu-primary-soft);color:var(--bdu-primary-dark)}

.bdu-marketing-pager{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:30px}
.bdu-marketing-pager-list{display:flex;align-items:center;gap:4px;margin:0;padding:0;list-style:none}
.bdu-marketing-pager-step,.bdu-marketing-pager-page{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;min-width:40px;padding:0 12px;border:1px solid #e6d2d4;border-radius:11px;background:#fff;color:#63383c;font-size:var(--bdu-text-sm);font-weight:800;text-decoration:none}
.bdu-marketing-pager-step:hover,.bdu-marketing-pager-page:hover{border-color:#d7a6aa;color:var(--bdu-primary-dark)}
.bdu-marketing-pager-page.is-current{border-color:var(--bdu-primary);background:var(--bdu-primary);color:#fff}
.bdu-marketing-pager-step.is-disabled{opacity:.45;pointer-events:none}
.bdu-marketing-pager-gap{display:inline-flex;align-items:center;justify-content:center;min-width:26px;color:#a9888b}

@media(max-width:680px){
    .bdu-marketing-pager{gap:6px}
    .bdu-marketing-pager-step{flex:1 1 100%;order:2}
    .bdu-marketing-pager-list{order:1;flex:1 1 100%;justify-content:center;margin-bottom:4px}
}

@media(prefers-reduced-motion:reduce){
    .bdu-marketing-template-card,.bdu-marketing-template-card-cue svg{transition:none}
    .bdu-marketing-template-card:hover{transform:none}
}

/* --------------------------------------------------------------------------
 * The page behind an open menu.
 *
 * The sheet covers the viewport but the document under it kept scrolling, so a
 * thumb dragging over the menu moved the page instead — and closing it left
 * the reader somewhere they had not chosen to be.
 *
 * Scoped to the widths where the sheet exists: a details element left open
 * while a window is widened must not lock a desktop.
 * -------------------------------------------------------------------------- */

@media(max-width:1000px){
    body.bdu-marketing-page:has(.bdu-marketing-mobile-nav[open]){overflow:hidden}
}

/* --------------------------------------------------------------------------
 * The account, on a phone.
 *
 * The sheet ended in three buttons of three different weights — a filled red
 * one, an unbordered link and a pale outline — which read as three unrelated
 * decisions stacked on each other. One identity row that opens the account,
 * one primary action, one quiet way out.
 * -------------------------------------------------------------------------- */

.bdu-marketing-sheet-identity{display:grid;grid-template-columns:38px 1fr 16px;align-items:center;gap:.75rem;min-height:56px;padding:8px 10px;border:1px solid #ecdcdd;border-radius:14px;background:#fff;text-decoration:none;color:var(--bdu-ink)}
.bdu-marketing-sheet-identity:hover{border-color:#d7a6aa;background:var(--bdu-primary-soft)}
.bdu-marketing-sheet-identity .bdu-marketing-avatar-face{width:38px;height:38px;font-size:var(--bdu-text-base)}

/* --------------------------------------------------------------------------
 * Footer.
 *
 * Four stacks of plain links and a line of copyright. Everything sat in the
 * same weight, the column headings were the same grey as the links under them,
 * and the whole block met the page on a hairline that said nothing.
 *
 * No new content: the same links, the same three claims, the same optional
 * support column — given a hierarchy.
 * -------------------------------------------------------------------------- */

/* --------------------------------------------------------------------------
 * Public footer and scroll-to-top control.
 *
 * Trust facts stay with the brand, where they read as supporting context rather
 * than a separate banner. Product and company remain side-by-side on phones,
 * while legal and optional support use the full row. The back-to-top affordance
 * is script-free and progressively reveals itself with the same scroll-timeline
 * capability already used by the public header.
 * -------------------------------------------------------------------------- */

.bdu-marketing-footer{position:relative;margin-top:clamp(48px,7vw,88px);background:linear-gradient(180deg,#fffaf8,#fff 220px)}
.bdu-marketing-footer::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--bdu-primary),var(--bdu-secondary) 55%,transparent)}
.bdu-marketing-footer-inner{padding-top:36px}

/* One composed footer surface is calmer than three independent cards. */
.bdu-marketing-footer-grid{display:grid;gap:0;padding:26px 28px 28px;border:1px solid #efdddf;border-radius:24px;background:rgba(255,255,255,.92);box-shadow:0 18px 48px rgba(44,21,24,.055);align-items:start}
.bdu-marketing-footer-brand{display:grid;align-content:start;gap:12px;min-width:0;padding-right:28px}
.bdu-marketing-footer-brand p{max-width:30ch;margin:0;font-size:var(--bdu-text-base);line-height:1.65;color:#6d5555}
.bdu-marketing-trust{margin:4px 0 0;padding:0;border:0;background:transparent;box-shadow:none;grid-template-columns:1fr;gap:.45rem}
.bdu-marketing-trust li{justify-content:flex-start;min-height:32px;padding:0;background:transparent;font-weight:650;text-align:left}

.bdu-marketing-footer-sitemap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:22px;padding:2px 28px;min-width:0;border-left:1px solid #f0e0e1}
.bdu-marketing-footer-linkset{display:grid;align-content:start;gap:7px;min-width:0}
.bdu-marketing-footer-grid>div>strong,.bdu-marketing-footer-sitemap strong{position:relative;display:block;margin-bottom:4px;padding-bottom:10px;color:#4a2f33;font-size:var(--bdu-text-2xs);font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.bdu-marketing-footer-grid>div>strong::after,.bdu-marketing-footer-sitemap strong::after{content:"";position:absolute;left:0;bottom:0;width:22px;height:2px;border-radius:99px;background:var(--bdu-secondary)}
.bdu-marketing-footer-grid a{display:inline-flex;align-items:center;min-height:34px;color:#6b4a4e;text-decoration:none;text-underline-offset:4px}
.bdu-marketing-footer-grid a:hover{color:var(--bdu-primary-dark);text-decoration:underline}
.bdu-marketing-footer-grid a:focus-visible{outline:3px solid rgba(224,4,14,.24);outline-offset:2px;border-radius:8px}

.bdu-marketing-footer-support{display:grid;grid-template-columns:1fr;align-content:start;gap:5px;min-width:0;padding:2px 0 2px 28px;border-left:1px solid #f0e0e1;background:transparent;box-shadow:none}
.bdu-marketing-footer-support strong{margin-bottom:4px}
.bdu-marketing-footer-support a,.bdu-marketing-footer-support span{min-height:34px;line-height:1.5;overflow-wrap:anywhere;word-break:normal}

.bdu-marketing-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 2px 16px;color:#8a686b;font-size:var(--bdu-text-sm)}
.bdu-marketing-footer-domain{font-weight:750;opacity:.92;text-decoration:none}
.bdu-marketing-footer-domain:hover{color:var(--bdu-primary-dark);text-decoration:underline}

.bdu-marketing-scroll-top{position:fixed;right:clamp(14px,2vw,28px);bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:44;width:44px;height:44px;display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.38);border-radius:50%;background:var(--bdu-primary);color:#fff;text-decoration:none;box-shadow:0 10px 28px rgba(224,4,14,.28);opacity:1;visibility:visible;transform:none;transition:background .18s ease,box-shadow .18s ease}
.bdu-marketing-scroll-top:hover{background:var(--bdu-primary-hover);color:#fff;box-shadow:0 14px 34px rgba(224,4,14,.34)}
.bdu-marketing-scroll-top:focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 6px rgba(224,4,14,.24),0 14px 34px rgba(224,4,14,.28)}

@keyframes bduMarketingScrollTopReveal{
    from{opacity:0;visibility:hidden;transform:translateY(16px) scale(.88)}
    to{opacity:1;visibility:visible;transform:none}
}
@supports (animation-timeline:scroll()){
    .bdu-marketing-scroll-top{animation:bduMarketingScrollTopReveal linear both;animation-timeline:scroll(root block);animation-range:400px 470px}
}

@media(min-width:1001px){
    .bdu-marketing-footer-grid{grid-template-columns:minmax(250px,1.1fr) minmax(420px,1.7fr)}
    .bdu-marketing-footer-grid.has-support{grid-template-columns:minmax(250px,1.05fr) minmax(420px,1.55fr) minmax(230px,.95fr)}
}

@media(min-width:681px) and (max-width:1000px){
    .bdu-marketing-footer-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr);row-gap:22px}
    .bdu-marketing-footer-brand{padding-right:22px}
    .bdu-marketing-footer-sitemap{padding-right:0}
    .bdu-marketing-footer-support{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));padding:20px 0 0;border-left:0;border-top:1px solid #f0e0e1;gap:8px 20px}
    .bdu-marketing-footer-support strong{grid-column:1/-1;margin-bottom:0}
}

@media(max-width:680px){
    .bdu-marketing-footer{margin-top:42px;background:linear-gradient(180deg,#fffaf8,#fff 160px)}
    .bdu-marketing-footer-inner{padding-top:30px}
    .bdu-marketing-footer-grid{grid-template-columns:1fr;gap:0;padding:22px 18px 20px;border-radius:20px}
    .bdu-marketing-footer-brand{padding:0 0 20px}
    .bdu-marketing-trust{gap:.3rem}
    .bdu-marketing-trust li{min-height:32px}
    .bdu-marketing-footer-sitemap{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;padding:20px 0;border-left:0;border-top:1px solid #f0e0e1}
    .bdu-marketing-footer-linkset--legal{grid-column:1/-1;grid-template-columns:auto auto 1fr;align-items:start;column-gap:14px}
    .bdu-marketing-footer-linkset--legal strong{grid-column:1/-1}
    .bdu-marketing-footer-grid a,.bdu-marketing-footer-support a,.bdu-marketing-footer-support span{min-height:44px}
    .bdu-marketing-footer-linkset--legal a{width:max-content}
    .bdu-marketing-footer-support{grid-template-columns:1fr;gap:2px;padding:20px 0 0;border-left:0;border-top:1px solid #f0e0e1}
    .bdu-marketing-footer-support>a,.bdu-marketing-footer-support>span{width:100%}
    .bdu-marketing-footer-bottom{padding-top:14px;flex-wrap:wrap}
    .bdu-marketing-scroll-top{right:14px;bottom:calc(16px + env(safe-area-inset-bottom,0px))}
    .bdu-marketing-sticky-cta~.bdu-marketing-scroll-top{bottom:calc(var(--bdu-sticky-cta) + 16px + env(safe-area-inset-bottom,0px))}
}

@media(max-width:360px){
    .bdu-marketing-footer-grid{padding-inline:15px}
    .bdu-marketing-footer-sitemap{gap:14px 12px}
    .bdu-marketing-footer-linkset{gap:5px}
    .bdu-marketing-footer-grid a{font-size:var(--bdu-text-sm)}
}

@media(prefers-reduced-motion:reduce){
    .bdu-marketing-scroll-top{animation:none;transition:none}
}

/* --------------------------------------------------------------------------
 * The demonstration band.
 *
 * The four demonstrations were four full sections in a row. Each carried a
 * whole section's vertical padding, so between the feature list and the price
 * sat most of the page — and a reader on a phone scrolled past four near
 * identical bands wondering how many more there were.
 *
 * One band, one heading, four parts separated by a hairline.
 * -------------------------------------------------------------------------- */

.bdu-marketing-demos>.bdu-marketing-container:first-child{margin-bottom:46px}
.bdu-marketing-demos .bdu-marketing-demo+.bdu-marketing-demo>.bdu-marketing-container{margin-top:52px;padding-top:52px;border-top:1px solid #f1dfe0}

@media(max-width:900px){
    .bdu-marketing-demos>.bdu-marketing-container:first-child{margin-bottom:34px}
    .bdu-marketing-demos .bdu-marketing-demo+.bdu-marketing-demo>.bdu-marketing-container{margin-top:38px;padding-top:38px}
}

/* --------------------------------------------------------------------------
 * Visual language.
 *
 * Four things the page did not have, all of them cheap and all of them the
 * difference between a document and a product: a mark before the eyebrow, one
 * phrase of every headline carried in colour, some depth behind the hero, and
 * a dark band in the middle so the page has a middle.
 * -------------------------------------------------------------------------- */

/* The eyebrow earns its name. currentColor, so the rule follows the label into
   a dark band without a second declaration. */
.bdu-marketing-kicker::before{content:"";width:22px;height:2px;flex:0 0 auto;border-radius:2px;background:currentColor;opacity:.85}

/*
 * One accented phrase per headline. The colour is a variable rather than a
 * value so a band can change it once instead of every heading inside it
 * restating which background it happens to sit on.
 */
.bdu-marketing-page{--bdu-em:var(--bdu-primary)}
.bdu-marketing-section--dark{--bdu-em:var(--bdu-secondary)}
.bdu-marketing-cta{--bdu-em:var(--bdu-primary-dark)}
.bdu-marketing-hero-copy h1 em,
.bdu-marketing-page-hero h1 em,
.bdu-marketing-section-head h2 em,
.bdu-marketing-demo-copy h2 em,
.bdu-marketing-cta h2 em{font-style:normal;color:var(--bdu-em)}

/* Gradient where it is supported, flat brand colour where it is not — the
   fallback above is already correct, so this only ever adds. */
@supports ((background-clip:text) or (-webkit-background-clip:text)){
    .bdu-marketing-hero-copy h1 em{background:linear-gradient(100deg,var(--bdu-primary),var(--bdu-primary-dark) 45%,var(--bdu-secondary-dark));-webkit-background-clip:text;background-clip:text;color:transparent}
}

/*
 * Depth behind the hero, drawn rather than downloaded: a dot field and one
 * soft orb, both on pseudo-elements so the markup gains nothing to read.
 */
.bdu-marketing-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(115,0,7,.075) 1px,transparent 1px);background-size:22px 22px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 62%);mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 62%)}
.bdu-marketing-hero::after{content:"";position:absolute;right:-90px;top:-70px;width:380px;height:380px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(230,183,85,.28),transparent 68%);filter:blur(18px)}
.bdu-marketing-hero>.bdu-marketing-container{position:relative;z-index:1}

/* The card says what it is. */
.bdu-marketing-invite-live{position:absolute;top:16px;right:16px;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(0,0,0,.28);color:rgba(255,255,255,.9);font-size:var(--bdu-text-2xs);font-weight:800;letter-spacing:.04em}
.bdu-marketing-invite-live>span{width:7px;height:7px;border-radius:50%;background:var(--bdu-secondary);animation:bduLivePulse 2.4s ease-in-out infinite}
@keyframes bduLivePulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.78)}}

/* --------------------------------------------------------------------------
 * The nine steps, on a dark band.
 *
 * The page ran light, soft, light, soft, dark right at the end. Putting the
 * one explanatory band in the middle on ink gives the page a centre, and the
 * numbered cards were the easiest thing on it to invert honestly.
 * -------------------------------------------------------------------------- */

.bdu-marketing-section--dark .bdu-marketing-steps li{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.05)}
.bdu-marketing-section--dark .bdu-marketing-steps li>span{background:rgba(230,183,85,.16);color:var(--bdu-secondary)}
.bdu-marketing-section--dark .bdu-marketing-steps strong{color:#fff}
.bdu-marketing-section--dark .bdu-marketing-steps p{color:rgba(255,255,255,.66)}

@media(prefers-reduced-motion:reduce){
    .bdu-marketing-invite-live>span{animation:none}
}

/* --------------------------------------------------------------------------
 * The template rail.
 *
 * A horizontal shelf rather than a grid: it says there is more to the right
 * without printing a count, it keeps the front page short, and scroll-snap
 * does the work a carousel library would otherwise be loaded for.
 *
 * It bleeds to both edges of the viewport so a card is cut off at the right —
 * a row that ends flush with the container reads as a row that has ended.
 * -------------------------------------------------------------------------- */

.bdu-marketing-rail-wrap{margin-top:26px;overflow:hidden}
.bdu-marketing-rail{display:flex;gap:18px;margin:0;padding:4px calc((100vw - min(1180px,100vw - 40px))/2) 18px;list-style:none;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#e3c4c6 transparent}
.bdu-marketing-rail>li{flex:0 0 clamp(230px,26vw,278px);scroll-snap-align:start}
.bdu-marketing-rail .bdu-marketing-template-media{aspect-ratio:4/5}
.bdu-marketing-rail .bdu-marketing-template-body{padding:16px 18px 18px}
.bdu-marketing-rail .bdu-marketing-template-body h3{font-size:var(--bdu-text-lg)}

.bdu-marketing-rail::-webkit-scrollbar{height:8px}
.bdu-marketing-rail::-webkit-scrollbar-track{background:transparent}
.bdu-marketing-rail::-webkit-scrollbar-thumb{background:#ecd3d5;border-radius:99px}
.bdu-marketing-rail::-webkit-scrollbar-thumb:hover{background:#e0bfc2}

@media(max-width:680px){
    .bdu-marketing-rail{gap:14px;padding-inline:14px;scroll-padding-left:14px}
    .bdu-marketing-rail>li{flex-basis:min(74vw,260px)}
}

/* --------------------------------------------------------------------------
 * The event-type strip.
 *
 * Sits on the seam between the hero and the rest of the page and carries one
 * line: the kinds of event this application makes an invitation for. Not a
 * section — a section heading over ten short words would be a chapter title
 * over a sentence.
 * -------------------------------------------------------------------------- */

.bdu-marketing-typestrip{border-bottom:1px solid #f2e2e2;background:linear-gradient(180deg,#fffaf7,var(--bdu-surface))}
.bdu-marketing-typestrip>.bdu-marketing-container{display:flex;align-items:center;gap:16px;padding-block:15px}
.bdu-marketing-typestrip>.bdu-marketing-container>span{flex:0 0 auto;color:#9a7275;font-size:var(--bdu-text-2xs);font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.bdu-marketing-typestrip ul{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0;list-style:none}
.bdu-marketing-typestrip li{padding:6px 12px;border:1px solid #f0dcdd;border-radius:999px;background:#fff;color:#63383c;font-size:var(--bdu-text-xs);font-weight:750;line-height:1.4}

@media(max-width:680px){
    /* The label stops being a column and becomes the first line. */
    .bdu-marketing-typestrip>.bdu-marketing-container{display:grid;gap:10px;padding-block:14px}
    .bdu-marketing-typestrip ul{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;margin-inline:-14px;padding-inline:14px}
    .bdu-marketing-typestrip ul::-webkit-scrollbar{display:none}
    .bdu-marketing-typestrip li{flex:0 0 auto}
}

/* --------------------------------------------------------------------------
 * The anatomy band.
 *
 * Sixteen sections is too many cards and too few to hide. Grouped, it is six
 * short blocks a reader can take in at a glance, each naming its parts as
 * chips rather than another bulleted list competing with the feature band
 * above it.
 * -------------------------------------------------------------------------- */

.bdu-marketing-anatomy{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:36px}
.bdu-marketing-anatomy article{padding:22px;border:1px solid #eadadb;border-radius:20px;background:#fff}
.bdu-marketing-anatomy h3{margin:0 0 6px;font-size:var(--bdu-text-lg);font-family:"Playfair Display",Georgia,serif}
.bdu-marketing-anatomy>article>p{margin:0 0 14px;color:#7c5d60;font-size:var(--bdu-text-sm);line-height:1.6}
.bdu-marketing-anatomy ul{display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none}
.bdu-marketing-anatomy li{padding:5px 11px;border:1px solid #f2e2e3;border-radius:999px;background:var(--bdu-surface);color:#63383c;font-size:var(--bdu-text-2xs);font-weight:750;line-height:1.45}

@media(max-width:1000px){
    .bdu-marketing-anatomy{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
    .bdu-marketing-anatomy{grid-template-columns:1fr;gap:12px;margin-top:26px}
    .bdu-marketing-anatomy article{padding:18px}
}

/* --------------------------------------------------------------------------
 * The assurance band.
 *
 * Deliberately the calmest band on the page. A reader arrives here weighing
 * whether to trust the site with an event and a payment, and a block that
 * shouts about safety reads less safe than one that simply states what happens.
 * -------------------------------------------------------------------------- */

.bdu-marketing-assurances{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 24px;margin:36px 0 0;padding:0;list-style:none}
.bdu-marketing-assurances li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:start}
.bdu-marketing-assurances li>span{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;border:1px solid #f0dcdd;background:var(--bdu-primary-soft);color:var(--bdu-primary-dark)}
.bdu-marketing-assurances strong{display:block;margin-bottom:5px;font-size:var(--bdu-text-base);line-height:1.35}
.bdu-marketing-assurances p{margin:0;color:#7c5d60;font-size:var(--bdu-text-sm);line-height:1.6}

@media(max-width:1000px){
    .bdu-marketing-assurances{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
    .bdu-marketing-assurances{grid-template-columns:1fr;gap:18px;margin-top:26px}
}

/* --------------------------------------------------------------------------
 * The vendor band.
 *
 * A split rather than another three-across grid: the page already has four of
 * those, and a second audience deserves to look like a second audience rather
 * than four more features in the same shape.
 * -------------------------------------------------------------------------- */

.bdu-marketing-vendor{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:start}
.bdu-marketing-vendor>div>p{margin:14px 0 22px;color:#6d5555;font-size:var(--bdu-text-md);line-height:1.7}
.bdu-marketing-vendor ul{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.bdu-marketing-vendor li{display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;align-items:start;padding:18px;border:1px solid #eadadb;border-radius:16px;background:#fff}
.bdu-marketing-vendor li>span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--bdu-primary-soft);color:var(--bdu-primary-dark)}
.bdu-marketing-vendor strong{display:block;margin-bottom:4px;font-size:var(--bdu-text-base);line-height:1.35}
.bdu-marketing-vendor li p{margin:0;color:#7c5d60;font-size:var(--bdu-text-sm);line-height:1.6}

@media(max-width:1000px){
    .bdu-marketing-vendor{grid-template-columns:1fr;gap:30px}
}
@media(max-width:680px){
    .bdu-marketing-vendor li{padding:15px}
    .bdu-marketing-vendor>div>.bdu-marketing-secondary{width:100%}
}

/* --------------------------------------------------------------------------
 * The reading band.
 *
 * Dated writing on one side, a way to ask on the other. Neither is a feature,
 * so neither gets a feature card: the posts are a list and the help panel is a
 * panel, and the difference in shape is the point.
 * -------------------------------------------------------------------------- */

.bdu-marketing-learn{display:grid;grid-template-columns:1.3fr .7fr;gap:48px;align-items:start}
.bdu-marketing-learn>div>.bdu-marketing-section-head{margin-bottom:24px}
.bdu-marketing-learn ul{display:grid;gap:2px;margin:0;padding:0;list-style:none}
.bdu-marketing-learn li{padding:18px 0;border-top:1px solid #f1e2e3}
.bdu-marketing-learn li:last-child{border-bottom:1px solid #f1e2e3}
.bdu-marketing-learn li>span{display:block;margin-bottom:6px;color:#a2797c;font-size:var(--bdu-text-2xs);font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.bdu-marketing-learn h3{margin:0 0 6px;font-size:var(--bdu-text-lg);line-height:1.35}
.bdu-marketing-learn h3 a{color:var(--bdu-ink);text-decoration:none}
.bdu-marketing-learn h3 a:hover{color:var(--bdu-primary-dark);text-decoration:underline;text-underline-offset:4px}
.bdu-marketing-learn li p{margin:0;color:#7c5d60;font-size:var(--bdu-text-sm);line-height:1.6}
.bdu-marketing-learn-more{display:inline-flex;align-items:center;gap:7px;margin-top:22px;color:var(--bdu-primary-dark);font-size:var(--bdu-text-xs);font-weight:850;text-decoration:none}
.bdu-marketing-learn-more:hover{text-decoration:underline;text-underline-offset:4px}

.bdu-marketing-learn aside{padding:24px;border:1px solid #eadadb;border-radius:20px;background:linear-gradient(180deg,#fffaf8,#fff)}
.bdu-marketing-learn aside>p{margin:12px 0 18px;color:#7c5d60;font-size:var(--bdu-text-sm);line-height:1.65}
.bdu-marketing-learn aside a{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;align-items:center;padding:12px;border-radius:14px;text-decoration:none;color:var(--bdu-ink)}
.bdu-marketing-learn aside a:hover{background:var(--bdu-primary-soft)}
.bdu-marketing-learn aside a>span:first-child{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;border:1px solid #f0dcdd;background:#fff;color:var(--bdu-primary-dark)}
.bdu-marketing-learn aside strong{display:block;font-size:var(--bdu-text-base);line-height:1.3}
.bdu-marketing-learn aside small{display:block;margin-top:2px;color:#8a6b6b;font-size:var(--bdu-text-2xs);line-height:1.45}

@media(max-width:1000px){
    .bdu-marketing-learn{grid-template-columns:1fr;gap:30px}
}

/* --------------------------------------------------------------------------
 * The closing block, and the cost of eleven bands.
 *
 * The page now runs to eleven sections. Everything below the fold is skipped
 * at layout time until it is close to the viewport, with a height reserved so
 * the scrollbar does not jump as each one is reached.
 *
 * Three bands are deliberately excluded. The hero and the strip under it are
 * on screen immediately; the demonstrations are excluded because their
 * animations are the reason someone scrolls there, and a band that starts
 * moving only once it is measured arrives half-played.
 * -------------------------------------------------------------------------- */

.bdu-marketing-cta-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px}
/*
 * The second action was a text link beside a filled button, which made the two
 * read as different kinds of thing — one an action, one an aside. It is the
 * same kind of thing: somewhere else to go. So it borrows the secondary button
 * the rest of the site already uses rather than growing a third appearance of
 * its own; this class only says where it sits.
 */
.bdu-marketing-cta-link{justify-content:center}

#isi-undangan,#keamanan,#vendor,#belajar{content-visibility:auto;contain-intrinsic-size:auto 620px}

@media(max-width:680px){
    .bdu-marketing-cta-actions{align-items:stretch;width:100%}
    .bdu-marketing-cta-actions .bdu-marketing-primary{width:100%}
        #isi-undangan,#keamanan,#vendor,#belajar{contain-intrinsic-size:auto 900px}
}

/* --------------------------------------------------------------------------
 * Plan cards that answer the question.
 *
 * A name, a price, one sentence and a button — a buyer had to read fourteen
 * comparison rows to find out what any of them contained. The card now leads
 * with what the plan is configured to include, and points at the table for the
 * rest rather than trying to be the table.
 * -------------------------------------------------------------------------- */

.bdu-marketing-plan-grid--detail article{display:flex;flex-direction:column}
.bdu-marketing-plan-grid--detail article>p:not(.bdu-marketing-plan-code){min-height:0;margin:16px 0 18px}

.bdu-marketing-plan-points{display:grid;gap:9px;margin:0 0 18px;padding:18px 0 0;border-top:1px solid #f2e2e3;list-style:none}
.bdu-marketing-plan-points li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:9px;align-items:start;font-size:var(--bdu-text-sm);line-height:1.5;color:#5b3f42}
.bdu-marketing-plan-points svg{margin-top:2px;color:var(--bdu-primary)}
.bdu-marketing-plan-points strong{display:block;margin-top:1px;color:var(--bdu-ink);font-size:var(--bdu-text-base);font-weight:800}

.bdu-marketing-plan-compare{display:inline-block;margin:0 0 18px;color:#8a6266;font-size:var(--bdu-text-xs);font-weight:800;text-decoration:none;text-underline-offset:4px}
.bdu-marketing-plan-compare:hover{color:var(--bdu-primary-dark);text-decoration:underline}

/* The button sits on the floor of the card, so a row of cards of different
   heights still lines its actions up. */
.bdu-marketing-plan-grid--detail .bdu-marketing-primary{margin-top:auto}
.bdu-marketing-plan-grid--detail article.is-popular{transform:translateY(-6px)}

@media(max-width:1000px){
    .bdu-marketing-plan-grid--detail article.is-popular{transform:none}
}

/* --------------------------------------------------------------------------
 * The comparison table.
 *
 * Fourteen rows with no headings, "Ya" and "Tidak" spelled out in every cell,
 * and a horizontal scroll that lost the row labels as soon as it moved. The
 * group names have been in FeatureCatalog the whole time.
 * -------------------------------------------------------------------------- */

.bdu-marketing-compare caption{padding:16px 18px;border-bottom:1px solid #f0e3e4;color:#7c5d60;font-size:var(--bdu-text-xs);line-height:1.55;text-align:left;caption-side:top}

/* The header row and the feature column both stay put, so a reader scrolled
   two packages across still knows which plan and which feature they are
   looking at. */
.bdu-marketing-compare thead th{position:sticky;top:0;z-index:2}
.bdu-marketing-compare th:first-child{position:sticky;left:0;z-index:1;background:#fff}
.bdu-marketing-compare thead th:first-child{z-index:3;background:#fff7f3}
.bdu-marketing-compare th:first-child::after{content:"";position:absolute;top:0;right:0;bottom:0;width:1px;background:#f0e3e4}

.bdu-marketing-compare-group th{background:var(--bdu-primary-soft);color:var(--bdu-primary-dark);font-size:var(--bdu-text-2xs);font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.bdu-marketing-compare-group th:first-child::after{display:none}

.bdu-marketing-compare tbody th span{display:block;color:var(--bdu-ink);font-weight:800}
.bdu-marketing-compare tbody th small{display:block;margin-top:3px;max-width:34ch;color:#8a6b6b;font-size:var(--bdu-text-2xs);font-weight:500;line-height:1.45}

/* A tick is read faster than the word for it, and the word is still there for
   anything that cannot see the tick. */
.bdu-marketing-compare td.is-on{color:var(--bdu-primary)}
.bdu-marketing-compare td.is-off{color:#c9a9ac;font-size:var(--bdu-text-lg)}

.bdu-marketing-compare-scroll:focus-visible{outline:3px solid var(--bdu-primary);outline-offset:2px}

@media(max-width:680px){
    .bdu-marketing-compare caption{padding:13px 14px}
    .bdu-marketing-compare th,.bdu-marketing-compare td{padding:12px 13px}
    .bdu-marketing-compare tbody th small{max-width:22ch}
}

/* --------------------------------------------------------------------------
 * The comparison, on a narrow screen.
 *
 * The table starts at 760px, which on a phone means the only way to reach the
 * third package is to drag sideways and lose the row labels. Below 860px it is
 * replaced by one panel per package: the same rows, read down instead of
 * across, which is the question a buyer on a phone is actually asking — what
 * exactly is in this one.
 *
 * details/summary, like every other disclosure on this site: it reports its
 * own state and needs no script.
 * -------------------------------------------------------------------------- */

.bdu-marketing-compare-stack{display:none}

@media(max-width:860px){
    .bdu-marketing-compare-scroll{display:none}
    .bdu-marketing-compare-stack{display:grid;gap:12px}

    .bdu-marketing-compare-stack>details{border:1px solid #eadadb;border-radius:18px;background:#fff;overflow:hidden}
    .bdu-marketing-compare-stack>details[open]{border-color:#e0bfc2;box-shadow:0 16px 38px -26px rgba(115,0,7,.45)}
    .bdu-marketing-compare-stack summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:62px;padding:14px 18px}
    .bdu-marketing-compare-stack summary::-webkit-details-marker{display:none}
    .bdu-marketing-compare-stack summary strong{display:block;font-size:var(--bdu-text-base);line-height:1.3}
    .bdu-marketing-compare-stack summary small{display:block;margin-top:2px;color:#8a6b6b;font-size:var(--bdu-text-xs)}
    .bdu-marketing-compare-stack summary svg{flex:0 0 auto;color:#a97f83;transition:transform .18s ease}
    .bdu-marketing-compare-stack details[open] summary svg{transform:rotate(180deg)}
    .bdu-marketing-compare-stack details[open] summary{border-bottom:1px solid #f2e2e3}

    .bdu-marketing-compare-stack-group{margin:0;padding:12px 18px 8px;color:var(--bdu-primary-dark);font-size:var(--bdu-text-2xs);font-weight:900;letter-spacing:.1em;text-transform:uppercase;background:var(--bdu-primary-soft)}
    .bdu-marketing-compare-stack dl{margin:0;padding:0 18px}
    .bdu-marketing-compare-stack dl>div{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #f4e8e9}
    .bdu-marketing-compare-stack dl>div:last-child{border-bottom:0}
    .bdu-marketing-compare-stack dt{color:#6d5555;font-size:var(--bdu-text-sm);line-height:1.45}
    .bdu-marketing-compare-stack dd{margin:0;flex:0 0 auto;max-width:48%;color:var(--bdu-ink);font-size:var(--bdu-text-sm);font-weight:800;text-align:right}
}

@media(prefers-reduced-motion:reduce){
    .bdu-marketing-compare-stack summary svg{transition:none}
}

/* --------------------------------------------------------------------------
 * The payment-interval switch.
 *
 * Radios and labels. The hiding rules are written per interval because the
 * enum has three cases and a stylesheet cannot read an attribute into a
 * selector — and they only ever hide once one of those inputs is checked, so a
 * catalogue published in a single interval renders no control and loses
 * nothing.
 * -------------------------------------------------------------------------- */

.bdu-marketing-interval{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin:0 0 22px;padding:12px 14px;border:1px solid #eadadb;border-radius:16px;background:#fff}
.bdu-marketing-interval-copy{display:grid;gap:2px;min-width:0}
.bdu-marketing-interval-copy>span{color:#7b5155;font-size:var(--bdu-text-2xs);font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.bdu-marketing-interval-copy>small{color:#98777a;font-size:var(--bdu-text-xs);line-height:1.45}
.bdu-marketing-interval>div[role=group]{display:inline-flex;gap:4px;padding:4px;border:1px solid #eadadb;border-radius:999px;background:#fffaf8}
.bdu-marketing-interval label{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 16px;border-radius:999px;color:#6b4348;font-size:var(--bdu-text-sm);font-weight:800;cursor:pointer}
.bdu-marketing-interval label small{color:#a2797c;font-size:var(--bdu-text-2xs);font-weight:700}
.bdu-marketing-interval label:hover{background:var(--bdu-primary-soft)}

.bdu-marketing-interval-input:focus-visible~.bdu-marketing-interval>div[role=group]{outline:3px solid var(--bdu-primary);outline-offset:3px}

#bdu-interval-ONE_TIME:checked~.bdu-marketing-interval label[for="bdu-interval-ONE_TIME"],
#bdu-interval-MONTHLY:checked~.bdu-marketing-interval label[for="bdu-interval-MONTHLY"],
#bdu-interval-YEARLY:checked~.bdu-marketing-interval label[for="bdu-interval-YEARLY"]{background:var(--bdu-primary);color:#fff}
#bdu-interval-ONE_TIME:checked~.bdu-marketing-interval label[for="bdu-interval-ONE_TIME"] small,
#bdu-interval-MONTHLY:checked~.bdu-marketing-interval label[for="bdu-interval-MONTHLY"] small,
#bdu-interval-YEARLY:checked~.bdu-marketing-interval label[for="bdu-interval-YEARLY"] small{color:rgba(255,255,255,.78)}

#bdu-interval-ONE_TIME:checked~.bdu-marketing-plan-grid article:not([data-interval="ONE_TIME"]),
#bdu-interval-MONTHLY:checked~.bdu-marketing-plan-grid article:not([data-interval="MONTHLY"]),
#bdu-interval-YEARLY:checked~.bdu-marketing-plan-grid article:not([data-interval="YEARLY"]){display:none}

/* The table keeps every package, so each column says which interval it is
   sold in rather than leaving a reader to guess why a name is missing above. */
.bdu-marketing-compare thead th small{display:block;margin-top:3px;color:#9a7478;font-size:var(--bdu-text-2xs);font-weight:650;letter-spacing:0;text-transform:none}

@media(max-width:680px){
    .bdu-marketing-interval{align-items:stretch;gap:10px;padding:12px}
    .bdu-marketing-interval-copy{width:100%}
    .bdu-marketing-interval>div[role=group]{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));width:100%;border-radius:14px}
    .bdu-marketing-interval label{min-width:0;padding:0 8px;text-align:center}
}

/* --------------------------------------------------------------------------
 * Pricing: the last two bands.
 *
 * The assurance list is the front page's, reused as-is. Only the section it
 * sits in differs: no heading above it here, because a reader who has just
 * finished a comparison table does not need another section title before three
 * short lines.
 * -------------------------------------------------------------------------- */

#tenang .bdu-marketing-assurances{margin-top:0;padding-top:30px;border-top:1px solid #f1e2e3}
#tenang{padding-top:0}

/* --------------------------------------------------------------------------
 * Corrections.
 * -------------------------------------------------------------------------- */

/*
 * A tick in a comparison cell sat on the text baseline while the row beside it
 * was several lines tall, so it read as floating rather than as the answer to
 * that row. Block plus auto margins centres it on both axes regardless of how
 * the inline box would have fallen.
 */
.bdu-marketing-compare td{vertical-align:middle}
.bdu-marketing-compare td.is-on svg,
.bdu-marketing-compare td.is-off>span[aria-hidden]{display:block;margin:0 auto}
.bdu-marketing-compare tbody th{vertical-align:middle}
.bdu-marketing-compare tbody th span{display:inline}

/*
 * The closing button wrapped to three lines: the action column had no width of
 * its own, so flex handed it whatever was left after the paragraph.
 */
.bdu-marketing-cta-actions{flex:0 0 auto}
.bdu-marketing-cta-actions .bdu-marketing-primary{white-space:nowrap}

/*
 * The bottom bar and the space reserved for it were two separate numbers, and
 * the reserved one was short — so the last line of the footer sat underneath
 * it. One number now, used by both.
 */
.bdu-marketing-page{--bdu-sticky-cta:84px}

/*
 * The hero draws a soft orb past its right edge. Nothing clipped it, so on a
 * phone the document itself became scrollable sideways by the width of the
 * overhang.
 *
 * The page already declared overflow-x:hidden, which is why this was never
 * a full-width scrollbar — but hidden makes the other axis a scroll container,
 * and a scroll container is exactly what position:sticky stops working inside.
 * That declaration is now clip, which crops without changing the scrolling
 * behaviour of the other axis.
 *
 * The real overhang is clipped at its source: the hero draws both a blurred
 * orb past its right edge and a 330px decorative ring pushed 58px further
 * right, and on a 320px screen the ring alone is wider than the viewport.
 */
.bdu-marketing-hero{overflow:hidden}

@media(max-width:680px){
    .bdu-marketing-cta-actions .bdu-marketing-primary{white-space:normal}
}

/* --------------------------------------------------------------------------
 * Catalogue: search and chips.
 *
 * The old bar was two dropdowns and a submit button: choosing a category cost
 * two actions and gave no sign of which choice was active until the page came
 * back. Chips are links, so one click, and the active one is visible before
 * anything reloads.
 * -------------------------------------------------------------------------- */

.bdu-marketing-template-search{margin-bottom:16px}
.bdu-marketing-template-search label{display:block;margin-bottom:8px;color:#9a7275;font-size:var(--bdu-text-2xs);font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.bdu-marketing-template-search>div{display:flex;align-items:center;gap:10px;padding:6px 6px 6px 16px;border:1px solid #eadadb;border-radius:16px;background:#fff}
.bdu-marketing-template-search>div:focus-within{border-color:var(--bdu-primary);box-shadow:0 0 0 3px rgba(224,4,14,.09)}
.bdu-marketing-template-search svg{flex:0 0 auto;color:#a97f83}
.bdu-marketing-template-search input{flex:1 1 auto;min-width:0;border:0;background:none;padding:12px 0;font:inherit;font-size:var(--bdu-text-base);color:var(--bdu-ink);outline:none}
.bdu-marketing-template-search input::placeholder{color:#a98b8e}
.bdu-marketing-template-search button{flex:0 0 auto}

.bdu-marketing-template-chips{display:grid;gap:10px;margin-bottom:26px}
.bdu-marketing-template-chips>div{display:flex;flex-wrap:wrap;gap:7px}
.bdu-marketing-template-chips a{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border:1px solid #eadadb;border-radius:999px;background:#fff;color:#6b4348;font-size:var(--bdu-text-sm);font-weight:800;text-decoration:none}
.bdu-marketing-template-chips a:hover{border-color:#d7a6aa;background:var(--bdu-primary-soft);color:var(--bdu-primary-dark)}
.bdu-marketing-template-chips a.is-active{border-color:var(--bdu-primary);background:var(--bdu-primary);color:#fff}

.bdu-marketing-template-results-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}

.bdu-marketing-empty-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin:0 0 18px}
.bdu-marketing-empty-chips a{display:inline-flex;align-items:center;min-height:36px;padding:0 13px;border:1px solid #eadadb;border-radius:999px;background:var(--bdu-surface);color:#6b4348;font-size:var(--bdu-text-sm);font-weight:800;text-decoration:none}
.bdu-marketing-empty-chips a:hover{border-color:var(--bdu-primary);color:var(--bdu-primary-dark)}

@media(max-width:680px){
    .bdu-marketing-template-search>div{flex-wrap:wrap;padding:12px}
    .bdu-marketing-template-search input{flex:1 1 60%}
    .bdu-marketing-template-search button{width:100%}
    .bdu-marketing-template-chips>div{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;margin-inline:-14px;padding-inline:14px}
    .bdu-marketing-template-chips>div::-webkit-scrollbar{display:none}
    .bdu-marketing-template-chips a{flex:0 0 auto}
    .bdu-marketing-template-results-head{flex-direction:column;gap:10px}
}

/* --------------------------------------------------------------------------
 * Catalogue cards that say something.
 *
 * A card carried a family name, a title and a paragraph — nothing a reader
 * could use to choose between two designs. It now carries the shelf it sits
 * on, the events it was drawn for, and whether it can be walked through live,
 * which is the only one of the three that is genuinely decisive.
 * -------------------------------------------------------------------------- */

.bdu-marketing-template-live-flag{position:absolute;left:12px;top:12px;display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;background:rgba(27,10,12,.72);color:#fff;font-size:var(--bdu-text-2xs);font-weight:850;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}

.bdu-marketing-template-collection{margin-left:8px;padding-left:8px;border-left:1px solid #e6d2d4;color:#8a6266}

.bdu-marketing-template-fits{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 0;padding:0;list-style:none}
.bdu-marketing-template-fits li{padding:4px 9px;border:1px solid #f0e0e1;border-radius:999px;background:var(--bdu-surface);color:#6d5054;font-size:var(--bdu-text-2xs);font-weight:750;line-height:1.45}
.bdu-marketing-template-fits li.is-more{border-style:dashed;color:#9a7478}

/* The paragraph was already height-locked; the chips below it need the same
   treatment or a three-event card stands taller than a one-event card beside
   it and the grid stops looking like a grid. */
.bdu-marketing-template-body{display:flex;flex-direction:column}
.bdu-marketing-template-fits{margin-top:auto;padding-top:12px}
.bdu-marketing-template-card-cue{padding-top:14px}

/* --------------------------------------------------------------------------
 * Catalogue: order.
 *
 * Same chip language as the filters above it, one step down in weight — the
 * order is a refinement of a result, not a way of choosing one.
 * -------------------------------------------------------------------------- */

.bdu-marketing-template-sort{display:flex;align-items:center;flex-wrap:wrap;gap:6px;flex:0 0 auto}
.bdu-marketing-template-sort>span{margin-right:4px;color:#9a7275;font-size:var(--bdu-text-2xs);font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.bdu-marketing-template-sort a{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:999px;color:#6b4348;font-size:var(--bdu-text-xs);font-weight:800;text-decoration:none}
.bdu-marketing-template-sort a:hover{background:var(--bdu-primary-soft);color:var(--bdu-primary-dark)}
.bdu-marketing-template-sort a.is-active{background:var(--bdu-ink);color:#fff}

.bdu-marketing-template-reset-row{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;margin:0 0 18px}
.bdu-marketing-template-reset-row>span{color:#9a7478;font-size:var(--bdu-text-2xs)}

@media(max-width:680px){
    .bdu-marketing-template-sort{width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;flex-wrap:nowrap;margin-inline:-14px;padding-inline:14px}
    .bdu-marketing-template-sort::-webkit-scrollbar{display:none}
    .bdu-marketing-template-sort a,.bdu-marketing-template-sort>span{flex:0 0 auto}
}

/* --------------------------------------------------------------------------
 * The demo, at the width it will actually be read at.
 *
 * The frame took whatever width the page had left over, which for a document
 * that is opened on a phone is the least useful width to judge it at. It now
 * opens at phone width, with two wider settings for anyone checking how the
 * design holds up — and a way out to the full page, because a frame a few
 * hundred pixels wide is a keyhole.
 * -------------------------------------------------------------------------- */

.bdu-marketing-template-live-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}

.bdu-marketing-demo-sizes{display:inline-flex;gap:4px;margin:0 0 16px;padding:4px;border:1px solid #eadadb;border-radius:999px;background:#fff}
.bdu-marketing-demo-sizes label{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 14px;border-radius:999px;color:#6b4348;font-size:var(--bdu-text-xs);font-weight:800;cursor:pointer}
.bdu-marketing-demo-sizes label:hover{background:var(--bdu-primary-soft)}
.bdu-marketing-demo-size:focus-visible~.bdu-marketing-demo-sizes{outline:3px solid var(--bdu-primary);outline-offset:3px}

#bdu-demo-phone:checked~.bdu-marketing-demo-sizes label[for="bdu-demo-phone"],
#bdu-demo-tablet:checked~.bdu-marketing-demo-sizes label[for="bdu-demo-tablet"],
#bdu-demo-desktop:checked~.bdu-marketing-demo-sizes label[for="bdu-demo-desktop"]{background:var(--bdu-primary);color:#fff}

/*
 * The frame changes shape as well as width: a phone-width box at a 3:2 ratio
 * would be a letterbox, and an invitation is a tall document.
 */
#bdu-demo-phone:checked~.bdu-marketing-template-detail-media{width:min(390px,100%);aspect-ratio:10/19}
#bdu-demo-tablet:checked~.bdu-marketing-template-detail-media{width:min(720px,100%);aspect-ratio:3/4}
#bdu-demo-desktop:checked~.bdu-marketing-template-detail-media{width:100%;max-width:none;aspect-ratio:16/10}
#bdu-demo-phone:checked~.bdu-marketing-template-detail-media,
#bdu-demo-tablet:checked~.bdu-marketing-template-detail-media{margin-inline:auto}

.bdu-marketing-template-demo-fallback{margin:8px 0 0;color:#9a7478;font-size:var(--bdu-text-2xs)}
.bdu-marketing-template-demo-fallback a{color:var(--bdu-primary-dark);font-weight:800;text-underline-offset:3px}

@media(max-width:680px){
    .bdu-marketing-demo-sizes{width:100%;justify-content:space-between}
    .bdu-marketing-demo-sizes label{flex:1 1 0;justify-content:center;padding:0 8px}
    .bdu-marketing-template-live-actions{width:100%}
    .bdu-marketing-template-live-actions .bdu-marketing-secondary{flex:1 1 auto}
    /* Every setting is the same width here, so the choice is only about shape. */
    #bdu-demo-tablet:checked~.bdu-marketing-template-detail-media,
    #bdu-demo-desktop:checked~.bdu-marketing-template-detail-media{width:100%}
}

/* --------------------------------------------------------------------------
 * Related designs.
 *
 * The detail page ended in a single button, so a reader who was not convinced
 * by this design had nowhere to go but back. The row sits above that button:
 * still looking means still here.
 *
 * The rail on the front page wraps each card in a list item; the card itself
 * is an article, so the item only has to hand it the whole width.
 * -------------------------------------------------------------------------- */

.bdu-marketing-template-related{margin-top:64px;padding-top:44px;border-top:1px solid #f1e2e3}
.bdu-marketing-template-related .bdu-marketing-template-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.bdu-marketing-rail>li{display:flex}
.bdu-marketing-rail>li>article{width:100%}

@media(max-width:1000px){
    .bdu-marketing-template-related .bdu-marketing-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
    .bdu-marketing-template-related{margin-top:44px;padding-top:32px}
}

/* --------------------------------------------------------------------------
 * Catalogue hero, chip counts, and sharing a design.
 * -------------------------------------------------------------------------- */

.bdu-marketing-page-hero-count{margin-top:14px!important;display:inline-flex;align-items:center;padding:7px 14px;border:1px solid #f0dcdd;border-radius:999px;background:#fff;color:#6b4348!important;font-size:var(--bdu-text-sm)!important;font-weight:800}

/* The number rides inside the chip rather than beside it, so a row of chips
   stays a row of chips. */
.bdu-marketing-template-chips a small{margin-left:7px;padding:1px 7px;border-radius:999px;background:var(--bdu-primary-soft);color:var(--bdu-primary-dark);font-size:var(--bdu-text-2xs);font-weight:850}
.bdu-marketing-template-chips a.is-active small{background:rgba(255,255,255,.22);color:#fff}

.bdu-marketing-template-share{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;margin-top:56px;padding:24px;border:1px solid #eadadb;border-radius:20px;background:linear-gradient(180deg,#fffaf8,#fff)}
.bdu-marketing-template-share h2{margin:8px 0 4px;font-size:var(--bdu-text-2xl)}
.bdu-marketing-template-share p{margin:0;color:#7c5d60;font-size:var(--bdu-text-sm);line-height:1.6}
.bdu-marketing-template-share-actions{display:flex;flex-wrap:wrap;gap:10px}

@media(max-width:680px){
    .bdu-marketing-template-share{padding:20px;margin-top:40px}
    .bdu-marketing-template-share-actions{width:100%}
    .bdu-marketing-template-share-actions a{flex:1 1 100%}
}

/* --------------------------------------------------------------------------
 * Results head, on a phone.
 *
 * A three-times heading, a full sentence of summary and a scrolling order strip
 * stacked on top of each other filled the screen before a single design was
 * visible. Same information, a third of the height: the heading drops to the
 * body scale, the summary sits under it, and the order strip becomes a single
 * quiet line rather than a band of its own.
 * -------------------------------------------------------------------------- */

@media(max-width:680px){
    .bdu-marketing-template-results-head{gap:6px;margin-bottom:4px}
    .bdu-marketing-template-results-head h2{font-size:var(--bdu-text-xl)}
    .bdu-marketing-template-results-head p{margin:2px 0 0;font-size:var(--bdu-text-xs);line-height:1.5}

    .bdu-marketing-template-sort{gap:4px;padding-block:2px}
    .bdu-marketing-template-sort>span{margin-right:2px}
    .bdu-marketing-template-sort a{min-height:32px;padding:0 10px}

    .bdu-marketing-template-reset-row{margin-bottom:14px}
    .bdu-marketing-template-reset-row>span{flex:1 1 100%}
}

/* --------------------------------------------------------------------------
 * FAQ sections.
 *
 * Ten questions in one list jumped from price to guests to photographs to
 * security, so the only way to find anything was to read all of it. The
 * headings are quiet on purpose — they are signposts between answers, not
 * section titles competing with the page heading above them.
 * -------------------------------------------------------------------------- */

.bdu-marketing-faq-group+.bdu-marketing-faq-group{margin-top:34px}
.bdu-marketing-faq-group>h2{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-family:"DM Sans",system-ui,sans-serif;font-size:var(--bdu-text-2xs);font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#9a7275}
.bdu-marketing-faq-group>h2::after{content:"";flex:1 1 auto;height:1px;background:#f1e2e3}
.bdu-marketing-faq-group>h2>span{order:-1;display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--bdu-primary-soft);color:var(--bdu-primary-dark);font-size:var(--bdu-text-2xs);letter-spacing:0}
.bdu-marketing-faq-group .bdu-marketing-faq-list{margin-bottom:0}

@media(max-width:680px){
    .bdu-marketing-faq-group+.bdu-marketing-faq-group{margin-top:26px}
}

/* --------------------------------------------------------------------------
 * FAQ search, and linking to one answer.
 * -------------------------------------------------------------------------- */

.bdu-marketing-faq-search{margin-bottom:18px}
.bdu-marketing-faq-search label{display:block;margin-bottom:8px;color:#9a7275;font-size:var(--bdu-text-2xs);font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.bdu-marketing-faq-search>div{display:flex;align-items:center;gap:10px;padding:6px 6px 6px 16px;border:1px solid #eadadb;border-radius:16px;background:#fff}
.bdu-marketing-faq-search>div:focus-within{border-color:var(--bdu-primary);box-shadow:0 0 0 3px rgba(224,4,14,.09)}
.bdu-marketing-faq-search svg{flex:0 0 auto;color:#a97f83}
.bdu-marketing-faq-search input{flex:1 1 auto;min-width:0;border:0;background:none;padding:12px 0;font:inherit;font-size:var(--bdu-text-base);color:var(--bdu-ink);outline:none}
.bdu-marketing-faq-search input::placeholder{color:#a98b8e}

.bdu-marketing-faq-result{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;margin:0 0 20px;color:#6d5555;font-size:var(--bdu-text-sm)}
.bdu-marketing-faq-result a{display:inline-flex;align-items:center;gap:5px;color:var(--bdu-primary-dark);font-weight:800;text-decoration:none;text-underline-offset:3px}
.bdu-marketing-faq-result a:hover{text-decoration:underline}

/*
 * Opening one answer from a link.
 *
 * Current browsers expand a details element when the fragment points inside it,
 * but that is recent and not universal, so the rule below opens it regardless:
 * it overrides the user-agent rule that hides everything except the summary.
 * The chevron is turned with it, or the panel would read as closed while its
 * answer is on screen.
 */
.bdu-marketing-faq-list details:target>*{display:block}
.bdu-marketing-faq-list details:target{border-color:var(--bdu-primary);box-shadow:0 0 0 3px rgba(224,4,14,.08)}
.bdu-marketing-faq-list details:target summary svg,
.bdu-marketing-faq-list details[open] summary svg{transform:rotate(180deg)}
.bdu-marketing-faq-list summary svg{transition:transform .18s ease}

.bdu-marketing-faq-permalink{padding-top:0!important}
.bdu-marketing-faq-permalink a{color:#9a7478;font-size:var(--bdu-text-2xs);font-weight:800;text-decoration:none;text-underline-offset:3px}
.bdu-marketing-faq-permalink a:hover{color:var(--bdu-primary-dark);text-decoration:underline}

@media(max-width:680px){
    .bdu-marketing-faq-search>div{flex-wrap:wrap;padding:12px}
    .bdu-marketing-faq-search input{flex:1 1 60%}
    .bdu-marketing-faq-search button{width:100%}
}

@media(prefers-reduced-motion:reduce){
    .bdu-marketing-faq-list summary svg{transition:none}
}

/* An answer that points somewhere sits between the answer and its permalink,
   in the weight of an action rather than of more prose. */
.bdu-marketing-faq-more{padding-top:0!important;padding-bottom:10px!important}
.bdu-marketing-faq-more a{display:inline-flex;align-items:center;gap:6px;color:var(--bdu-primary-dark);font-size:var(--bdu-text-xs);font-weight:850;text-decoration:none;text-underline-offset:3px}
.bdu-marketing-faq-more a:hover{text-decoration:underline}

/* --------------------------------------------------------------------------
 * The help panel beside the questions.
 *
 * It named the Help Centre in the abstract. These are its actual sections with
 * what is actually published in each, so a reader can see whether the thing
 * they want is written up before clicking.
 * -------------------------------------------------------------------------- */

.bdu-marketing-faq-guides{display:grid;gap:2px;margin:16px 0 18px;padding:0;list-style:none}
.bdu-marketing-faq-guides a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px;padding:0 11px;border-radius:11px;color:var(--bdu-ink);font-size:var(--bdu-text-sm);font-weight:750;text-decoration:none}
.bdu-marketing-faq-guides a:hover{background:var(--bdu-primary-soft);color:var(--bdu-primary-dark)}
.bdu-marketing-faq-guides-count{flex:0 0 auto;min-width:24px;padding:2px 7px;border-radius:999px;background:var(--bdu-surface);color:#8a6266;font-size:var(--bdu-text-2xs);font-weight:850;text-align:center}
.bdu-marketing-faq-guides a:hover .bdu-marketing-faq-guides-count{background:#fff}

/*
 * On a phone the panel used to land after ten accordions, which is after the
 * point where somebody who could not find their answer has given up. Order
 * rather than duplication: one panel, moved.
 */
@media(max-width:1000px){
    .bdu-marketing-faq-page{display:flex;flex-direction:column}
    .bdu-marketing-faq-page>aside{order:-1;margin-bottom:26px}
}

/* --------------------------------------------------------------------------
 * The story, and the person telling it.
 *
 * A narrative column with a card beside it. The card carries a monogram rather
 * than a portrait: a stock photograph on an about page undoes everything the
 * page just said, and there is no real one to use.
 * -------------------------------------------------------------------------- */

.bdu-marketing-story{display:grid;grid-template-columns:1.35fr .65fr;gap:52px;align-items:start}
.bdu-marketing-story>div>p{margin:0 0 16px;color:#6d5555;font-size:var(--bdu-text-md);line-height:1.75}
.bdu-marketing-story blockquote{margin:24px 0 0;padding:20px 24px;border-left:3px solid var(--bdu-primary);border-radius:0 16px 16px 0;background:#fff}
.bdu-marketing-story blockquote p{margin:0;color:var(--bdu-ink);font-family:"Playfair Display",Georgia,serif;font-size:var(--bdu-text-lg);line-height:1.6;font-style:italic}
.bdu-marketing-story cite{display:block;margin-top:12px;color:#8a6266;font-size:var(--bdu-text-xs);font-style:normal;font-weight:800}

.bdu-marketing-builder{padding:26px;border:1px solid #eadadb;border-radius:22px;background:linear-gradient(180deg,#fffaf8,#fff);text-align:center}
.bdu-marketing-builder-mark{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:999px;background:var(--bdu-primary);color:#fff;font-family:"Playfair Display",Georgia,serif;font-size:var(--bdu-text-2xl);font-weight:700;letter-spacing:.02em}
.bdu-marketing-builder strong{display:block;margin-top:14px;font-size:var(--bdu-text-lg);line-height:1.3}
.bdu-marketing-builder>small{display:block;margin-top:4px;color:#8a6266;font-size:var(--bdu-text-xs);font-weight:750}
.bdu-marketing-builder>p{margin:16px 0 0;color:#7c5d60;font-size:var(--bdu-text-sm);line-height:1.65;text-align:left}
.bdu-marketing-builder ul{display:grid;gap:8px;margin:18px 0;padding:0;list-style:none;text-align:left}
.bdu-marketing-builder li{display:grid;grid-template-columns:16px minmax(0,1fr);gap:9px;align-items:start;color:#5b3f42;font-size:var(--bdu-text-sm);line-height:1.5}
.bdu-marketing-builder li svg{margin-top:3px;color:var(--bdu-primary)}
.bdu-marketing-builder .bdu-marketing-secondary{width:100%;justify-content:center}

@media(max-width:1000px){
    .bdu-marketing-story{grid-template-columns:1fr;gap:30px}
}
@media(max-width:680px){
    .bdu-marketing-story blockquote{padding:16px 18px}
    .bdu-marketing-builder{padding:20px}
}

/* --------------------------------------------------------------------------
 * Value cards.
 *
 * Six instead of four, so the grid needs a little more room to breathe and an
 * icon to tell them apart at a glance. The icon is decorative: the heading
 * beside it already says which value this is.
 * -------------------------------------------------------------------------- */

.bdu-marketing-values article>span{display:grid;place-items:center;width:34px;height:34px;margin-bottom:12px;border-radius:11px;border:1px solid #f2c8cb;background:var(--bdu-primary-soft);color:var(--bdu-primary-dark)}
.bdu-marketing-values article p{margin:6px 0 0;color:#7c5d60;font-size:var(--bdu-text-sm);line-height:1.6}

@media(max-width:680px){
    .bdu-marketing-values>div:last-child{grid-template-columns:1fr}
}

/* --------------------------------------------------------------------------
 * The counted facts.
 *
 * A strip on the seam under the hero, in the shape the event-type strip on the
 * front page uses — four short statements, none of which anybody had to be
 * asked to believe.
 * -------------------------------------------------------------------------- */

.bdu-marketing-facts{border-bottom:1px solid #f2e2e2;background:linear-gradient(180deg,#fffaf7,var(--bdu-surface))}
/* Four fixed columns only looked right when four numbers cleared their
   floors. With two, they sat against the left edge of a four-column grid.
   A centred row instead: whatever survives the floors is centred as a
   group, two or three or four. */
.bdu-marketing-facts ul{display:flex;flex-wrap:wrap;justify-content:center;gap:18px 52px;margin:0;padding:22px 0;list-style:none}
.bdu-marketing-facts li{flex:0 1 160px;display:grid;gap:2px;text-align:center}
.bdu-marketing-facts strong{font-family:"Playfair Display",Georgia,serif;font-size:clamp(32px,3.6vw,44px);line-height:1;color:var(--bdu-primary-dark)}
.bdu-marketing-facts span{color:#8a6266;font-size:var(--bdu-text-xs);font-weight:750;line-height:1.4}

@media(max-width:680px){
    .bdu-marketing-facts ul{gap:16px 28px;padding:18px 0}
    .bdu-marketing-facts li{flex:0 1 120px}
}

/* --------------------------------------------------------------------------
 * The journey.
 *
 * A rail down the left with a marker per step. The step still in progress is
 * marked differently rather than dated, because it has no date yet — and a
 * timeline that invents one for the present is how the old site ended up
 * re-writing its own history every January.
 * -------------------------------------------------------------------------- */

.bdu-marketing-journey{position:relative;margin:36px 0 0;padding:0 0 0 34px;list-style:none}
.bdu-marketing-journey::before{content:"";position:absolute;left:9px;top:8px;bottom:8px;width:2px;border-radius:2px;background:linear-gradient(180deg,var(--bdu-primary-soft),#f2e2e3)}
.bdu-marketing-journey li{position:relative;padding-bottom:26px}
.bdu-marketing-journey li:last-child{padding-bottom:0}
.bdu-marketing-journey li::before{content:"";position:absolute;left:-34px;top:5px;width:20px;height:20px;border-radius:999px;border:2px solid #eadadb;background:#fff}
.bdu-marketing-journey li::after{content:"";position:absolute;left:-28px;top:11px;width:8px;height:8px;border-radius:999px;background:#d9c2c4}
.bdu-marketing-journey li.is-current::before{border-color:var(--bdu-primary)}
.bdu-marketing-journey li.is-current::after{background:var(--bdu-primary)}

.bdu-marketing-journey-period{display:inline-flex;align-items:center;margin-bottom:6px;padding:4px 10px;border-radius:999px;background:var(--bdu-primary-soft);color:var(--bdu-primary-dark);font-size:var(--bdu-text-2xs);font-weight:850;letter-spacing:.04em}
.bdu-marketing-journey li.is-current .bdu-marketing-journey-period{background:var(--bdu-primary);color:#fff}
.bdu-marketing-journey strong{display:block;font-size:var(--bdu-text-lg);line-height:1.35}
.bdu-marketing-journey p{margin:6px 0 0;max-width:62ch;color:#7c5d60;font-size:var(--bdu-text-sm);line-height:1.65}

@media(max-width:680px){
    .bdu-marketing-journey{padding-left:28px;margin-top:26px}
    .bdu-marketing-journey::before{left:7px}
    .bdu-marketing-journey li::before{left:-28px;width:16px;height:16px;top:4px}
    .bdu-marketing-journey li::after{left:-23px;width:6px;height:6px;top:9px}
}

/* A planned step is drawn as an outline: the rail reaches it, but nothing about
   it is filled in yet. */
.bdu-marketing-journey li.is-planned::before{border-style:dashed;border-color:#e0bfc2}
.bdu-marketing-journey li.is-planned::after{background:transparent;box-shadow:inset 0 0 0 2px #d9c2c4}
.bdu-marketing-journey li.is-planned .bdu-marketing-journey-period{background:#fff;border:1px dashed #e0bfc2;color:#9a7478}
.bdu-marketing-journey li.is-planned strong{color:#6d5555}
.bdu-marketing-journey-period small{margin-left:7px;padding-left:7px;border-left:1px solid currentColor;font-size:inherit;font-weight:750;opacity:.75}

/* --------------------------------------------------------------------------
 * The closing note.
 *
 * The only paragraph on the site written to one reader rather than to an
 * audience, so it is set like a letter: narrower measure, serif, and a
 * signature under it.
 * -------------------------------------------------------------------------- */

.bdu-marketing-letter{max-width:760px;margin:0 auto;padding:34px 38px;border:1px solid #eadadb;border-radius:24px;background:linear-gradient(180deg,#fff,#fffaf8)}
.bdu-marketing-letter blockquote{margin:14px 0 0;padding:0;border:0}
.bdu-marketing-letter blockquote p{margin:0 0 15px;color:#6b5154;font-size:var(--bdu-text-base);line-height:1.85}
.bdu-marketing-letter blockquote p:last-child{margin-bottom:0}
.bdu-marketing-letter figcaption{display:flex;align-items:center;gap:14px;margin-top:26px;padding-top:22px;border-top:1px solid #f2e2e3}
.bdu-marketing-letter-mark{display:grid;place-items:center;width:44px;height:44px;flex:0 0 auto;border-radius:999px;background:var(--bdu-primary-soft);color:var(--bdu-primary-dark);font-family:"Playfair Display",Georgia,serif;font-size:var(--bdu-text-base);font-weight:700}
.bdu-marketing-letter figcaption strong{display:block;font-size:var(--bdu-text-base);line-height:1.3}
.bdu-marketing-letter figcaption small{display:block;margin-top:2px;color:#8a6266;font-size:var(--bdu-text-xs)}

@media(max-width:680px){
    .bdu-marketing-letter{padding:24px 20px;border-radius:20px}
}

/* The closing note reads as a note, not as a pull quote: the body face at
   reading size, a little more air between the lines, and a measure short enough
   to follow. It was set in the display serif at heading size, which made three
   plain paragraphs look like a proclamation. */
.bdu-marketing-letter blockquote{max-width:58ch}

/* A long trail is allowed to wrap, and the page it is on never grows a second
   line out of one title. */
.bdu-marketing-breadcrumb ol{flex-wrap:wrap}
.bdu-marketing-breadcrumb li:last-child span{display:inline-block;max-width:44ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}

@media(max-width:680px){
    .bdu-marketing-breadcrumb li:last-child span{max-width:20ch}
}

/* Public contact workspace. */
.bdu-marketing-contact-route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.bdu-marketing-contact-route-card{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) 20px;align-items:center;gap:12px;min-height:116px;border:1px solid #eadadb;border-radius:20px;background:#fff;padding:18px;color:#573b3f;text-decoration:none;box-shadow:0 10px 28px rgba(44,21,24,.04);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.bdu-marketing-contact-route-card:hover{border-color:#deb5b8;box-shadow:0 16px 34px rgba(44,21,24,.075);transform:translateY(-1px)}.bdu-marketing-contact-route-card:focus-visible{outline:3px solid rgba(224,4,14,.17);outline-offset:3px}.bdu-marketing-contact-route-icon,.bdu-marketing-contact-channel-icon{display:grid;place-items:center;width:44px;height:44px;border:1px solid #f0c7ca;border-radius:13px;background:var(--bdu-primary-soft);color:var(--bdu-primary-dark)}.bdu-marketing-contact-route-card>span:nth-child(2){display:grid;gap:4px;min-width:0}.bdu-marketing-contact-route-card strong{font-size:var(--bdu-text-base)}.bdu-marketing-contact-route-card small{color:#806064;font-size:var(--bdu-text-xs);font-weight:600;line-height:1.5}.bdu-marketing-contact-route-card>svg{color:#a67377}.bdu-marketing-contact-grid{grid-template-columns:minmax(0,1.45fr) minmax(300px,.7fr);gap:26px}.bdu-marketing-contact-main{min-width:0}.bdu-marketing-contact-form{--bdu-contact-control-h:44px;gap:20px;border-radius:22px;padding:clamp(22px,3vw,30px);box-shadow:0 16px 40px rgba(44,21,24,.055)}.bdu-marketing-contact-form-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid #f0e4e5}.bdu-marketing-contact-form-head>div{min-width:0}.bdu-marketing-contact-form-head .bdu-marketing-kicker{margin-bottom:7px}.bdu-marketing-contact-form-head h2{margin:0;font-size:clamp(28px,3vw,38px);line-height:1.08}.bdu-marketing-contact-form-head p{max-width:650px;margin:9px 0 0;color:#76575a;font-size:var(--bdu-text-sm);line-height:1.65}.bdu-marketing-contact-prefill{display:inline-flex;align-items:center;flex:0 0 auto;gap:6px;max-width:220px;border:1px solid #cfe8d6;border-radius:999px;background:#f2fbf5;padding:7px 10px;color:#27613a;font-size:var(--bdu-text-2xs);font-weight:800;line-height:1.35}.bdu-marketing-contact-topic-fieldset{display:grid;gap:10px;margin:0;border:0;padding:0}.bdu-marketing-contact-topic-fieldset>legend{margin-bottom:8px;padding:0;color:#553438;font-size:var(--bdu-text-xs);font-weight:900}.bdu-marketing-contact-topic-grid{display:flex;flex-wrap:wrap;gap:7px}.bdu-marketing-contact-topic{display:inline-flex;align-items:center;justify-content:center;min-height:36px;border:1px solid #e5d5d7;border-radius:999px;background:#fff;padding:6px 11px;color:#79595d;text-decoration:none;font-size:var(--bdu-text-2xs);font-weight:800}.bdu-marketing-contact-topic:hover{border-color:#dbaeb2;background:#fff8f7;color:var(--bdu-primary-dark)}.bdu-marketing-contact-topic.is-active{border-color:#e5a9ae;background:var(--bdu-primary-soft);color:var(--bdu-primary-dark);box-shadow:inset 0 0 0 1px rgba(224,4,14,.04)}.bdu-marketing-contact-topic:focus-visible{outline:3px solid rgba(224,4,14,.15);outline-offset:2px}.bdu-marketing-contact-field{display:grid!important;align-content:start;gap:7px!important;min-width:0}.bdu-marketing-contact-field-label{display:flex;align-items:baseline;justify-content:space-between;gap:10px;color:#553438!important;font-size:var(--bdu-text-xs);font-weight:850!important}.bdu-marketing-contact-field-label small{color:#9a787c;font-size:var(--bdu-text-2xs);font-weight:650}.bdu-marketing-contact-form .bdu-marketing-contact-field input:not([type=checkbox]),.bdu-marketing-contact-form .bdu-marketing-contact-field select{box-sizing:border-box;width:100%;height:var(--bdu-contact-control-h);min-height:var(--bdu-contact-control-h);border:1px solid #dccccf;border-radius:12px;background:#fff;padding:0 13px;font:inherit;font-size:var(--bdu-text-base);line-height:1.2;color:var(--bdu-ink);outline:none}.bdu-marketing-contact-form .bdu-marketing-contact-field textarea{box-sizing:border-box;width:100%;min-height:176px;border:1px solid #dccccf;border-radius:12px;background:#fff;padding:12px 13px;font:inherit;font-size:var(--bdu-text-base);line-height:1.55;color:var(--bdu-ink);outline:none;resize:vertical}.bdu-marketing-contact-form .bdu-marketing-contact-field input::placeholder,.bdu-marketing-contact-form .bdu-marketing-contact-field textarea::placeholder{color:#a3878a}.bdu-marketing-contact-form .bdu-marketing-contact-field input:focus,.bdu-marketing-contact-form .bdu-marketing-contact-field select:focus,.bdu-marketing-contact-form .bdu-marketing-contact-field textarea:focus{border-color:var(--bdu-primary);box-shadow:0 0 0 3px rgba(224,4,14,.09)}.bdu-marketing-contact-form [aria-invalid=true]{border-color:#c9262f!important;box-shadow:0 0 0 3px rgba(201,38,47,.08)}.bdu-marketing-contact-form input[aria-invalid=true]:focus,.bdu-marketing-contact-form select[aria-invalid=true]:focus,.bdu-marketing-contact-form textarea[aria-invalid=true]:focus{border-color:#a61119!important;box-shadow:0 0 0 3px rgba(201,38,47,.14)}.bdu-marketing-field-hint,.bdu-marketing-field-error{display:block;font-size:var(--bdu-text-2xs);line-height:1.45}.bdu-marketing-field-hint{color:#8b6a6e;font-weight:600}.bdu-marketing-field-error{color:#9f151d;font-weight:800}.bdu-marketing-consent{min-height:44px;padding:7px 0}.bdu-marketing-consent input{width:18px;height:18px;flex:0 0 auto;margin-top:2px}.bdu-marketing-consent-error{margin-top:-13px}.bdu-marketing-contact-submit{display:flex;align-items:center;gap:14px;padding-top:2px}.bdu-marketing-contact-submit>p{max-width:530px;margin:0;color:#846367;font-size:var(--bdu-text-2xs);line-height:1.55}.bdu-marketing-success,.bdu-marketing-error{margin-bottom:14px;box-shadow:0 8px 20px rgba(44,21,24,.035)}.bdu-marketing-error>svg,.bdu-marketing-success>svg{flex:0 0 auto}.bdu-marketing-contact-aside{display:grid;align-content:start;gap:20px;top:92px;border-radius:22px;padding:24px;box-shadow:0 14px 36px rgba(44,21,24,.045)}.bdu-marketing-contact-aside-head{display:grid;gap:14px}.bdu-marketing-contact-aside-head .bdu-marketing-kicker{margin:0 0 5px}.bdu-marketing-contact-aside h2{margin:0;font-size:var(--bdu-text-2xl);line-height:1.16}.bdu-marketing-contact-checklist{display:grid;gap:14px;margin:0;padding:0;list-style:none}.bdu-marketing-contact-checklist li{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:start;gap:10px}.bdu-marketing-contact-checklist li>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--bdu-secondary-soft);color:#8d5b15;font-size:var(--bdu-text-xs);font-weight:900}.bdu-marketing-contact-checklist div{display:grid;gap:3px}.bdu-marketing-contact-checklist strong{color:#50373a;font-size:var(--bdu-text-sm)}.bdu-marketing-contact-checklist p{margin:0;color:#7d6063;font-size:var(--bdu-text-xs);line-height:1.55}.bdu-marketing-contact-security-note{margin:0}.bdu-marketing-contact-aside-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:2px}.bdu-marketing-contact-aside-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;gap:6px;border:1px solid #e4d5d7;border-radius:11px;background:#fff;color:var(--bdu-primary-dark);font-size:var(--bdu-text-xs);font-weight:850;text-decoration:none}.bdu-marketing-contact-aside-actions a:hover{border-color:#d8aeb2;background:#fff8f7}.bdu-marketing-contact-channel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.bdu-marketing-contact-channel-card{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:start;gap:13px;min-height:150px;border:1px solid #eadadb;border-radius:20px;background:#fff;padding:20px;box-shadow:0 10px 28px rgba(44,21,24,.04)}.bdu-marketing-contact-channel-card>div{display:grid;align-content:start;gap:5px;min-width:0}.bdu-marketing-contact-channel-card>div>span{color:#987579;font-size:var(--bdu-text-2xs);font-weight:900;letter-spacing:.07em;text-transform:uppercase}.bdu-marketing-contact-channel-card strong{overflow-wrap:anywhere;color:#50373a;font-size:var(--bdu-text-base);line-height:1.4}.bdu-marketing-contact-channel-card a{display:inline-flex;align-items:center;width:max-content;min-height:40px;gap:5px;margin-top:4px;color:var(--bdu-primary-dark);font-size:var(--bdu-text-xs);font-weight:850;text-decoration:none}.bdu-marketing-contact-channel-card small{margin-top:4px;color:#7d6063;font-size:var(--bdu-text-xs);font-weight:600;line-height:1.5}
@media(max-width:1000px){.bdu-marketing-contact-route-grid{grid-template-columns:1fr}.bdu-marketing-contact-route-card{min-height:92px}.bdu-marketing-contact-grid{grid-template-columns:1fr;gap:22px}.bdu-marketing-contact-aside{position:static}.bdu-marketing-contact-channel-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}
@media(max-width:680px){.bdu-marketing-contact-route-card{grid-template-columns:40px minmax(0,1fr) 18px;min-height:96px;padding:15px}.bdu-marketing-contact-route-icon,.bdu-marketing-contact-channel-icon{width:40px;height:40px}.bdu-marketing-contact-form{--bdu-contact-control-h:44px;gap:18px;padding:19px}.bdu-marketing-contact-form-head{display:grid;gap:12px}.bdu-marketing-contact-prefill{max-width:none;width:max-content}.bdu-marketing-contact-topic{position:relative;min-height:40px;padding:7px 11px}.bdu-marketing-contact-topic::after{content:"";position:absolute;inset:-2px}.bdu-marketing-form-grid{grid-template-columns:1fr}.bdu-marketing-contact-submit{align-items:stretch;flex-direction:column}.bdu-marketing-contact-submit .bdu-marketing-primary{width:100%;justify-content:center}.bdu-marketing-contact-aside{padding:20px}.bdu-marketing-contact-aside-actions{grid-template-columns:1fr}.bdu-marketing-contact-aside-actions a,.bdu-marketing-contact-channel-card a{min-height:44px}.bdu-marketing-contact-channel-grid{grid-template-columns:1fr}.bdu-marketing-contact-channel-card{min-height:0;padding:18px}}


/* --------------------------------------------------------------------------
 * Legal document reading experience.
 *
 * Legal copy is long by nature, but it should not become one unbroken card.
 * The document keeps the public-page hero and container grammar, then adds a
 * compact table of contents and independently scannable sections. The same
 * primitives can be reused by other legal documents without creating a route-
 * specific visual system.
 * -------------------------------------------------------------------------- */

.bdu-marketing-legal-layout{display:grid;grid-template-columns:minmax(220px,260px) minmax(0,1fr);gap:28px;align-items:start}
.bdu-marketing-legal-nav{position:sticky;top:92px;display:grid;gap:14px;border:1px solid #eadadb;border-radius:20px;background:#fff;padding:18px;box-shadow:0 10px 28px rgba(44,21,24,.035)}
.bdu-marketing-legal-meta{display:grid;grid-template-columns:30px minmax(0,1fr);gap:9px;align-items:center;border:1px solid #f0e1e2;border-radius:12px;background:#fff9f9;padding:9px 10px;min-width:0}
.bdu-marketing-legal-meta-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--bdu-primary-soft);color:var(--bdu-primary-dark)}
.bdu-marketing-legal-meta>span:last-child{display:grid;gap:1px;min-width:0}
.bdu-marketing-legal-meta small{color:#9a7478;font-size:var(--bdu-text-2xs);font-weight:800;line-height:1.25;letter-spacing:.02em}
.bdu-marketing-legal-meta time{color:#5d4044;font-size:var(--bdu-text-xs);font-weight:850;line-height:1.35;white-space:normal}
.bdu-marketing-legal-nav>strong{color:#4f3438;font-size:var(--bdu-text-sm)}
.bdu-marketing-legal-nav nav{display:grid;gap:3px}
.bdu-marketing-legal-nav nav a{display:flex;align-items:center;min-height:44px;border-radius:10px;padding:8px 10px;color:#75575a;font-size:var(--bdu-text-xs);font-weight:750;line-height:1.35;text-decoration:none}
.bdu-marketing-legal-nav nav a:hover{background:var(--bdu-primary-soft);color:var(--bdu-primary-dark)}
.bdu-marketing-legal-nav nav a:focus-visible{outline:3px solid rgba(224,4,14,.15);outline-offset:2px}
.bdu-marketing-legal-document{display:grid;gap:16px;min-width:0}
.bdu-marketing-legal-section{position:relative;scroll-margin-top:96px;border:1px solid #eadadb;border-radius:20px;background:#fff;padding:clamp(22px,3.2vw,34px);box-shadow:0 12px 32px rgba(44,21,24,.035)}
.bdu-marketing-legal-section--summary{background:linear-gradient(145deg,#fff,var(--bdu-surface));border-color:#e8d6d8}
.bdu-marketing-legal-section:target{border-color:#d8aeb2;box-shadow:0 0 0 3px rgba(224,4,14,.06),0 12px 32px rgba(44,21,24,.045)}
.bdu-marketing-legal-section>.bdu-marketing-kicker{margin-bottom:8px}
.bdu-marketing-legal-section h2{max-width:760px;margin:0;color:var(--bdu-ink);font-size:clamp(26px,3vw,34px);line-height:1.12;letter-spacing:-.025em}
.bdu-marketing-legal-section>p{max-width:850px;margin:13px 0 0;color:#654b4e;font-size:var(--bdu-text-base);line-height:1.78}
.bdu-marketing-legal-section>ul{display:grid;gap:11px;max-width:850px;margin:16px 0 0;padding-left:22px;color:#654b4e}
.bdu-marketing-legal-section>ul li{padding-left:3px;font-size:var(--bdu-text-base);line-height:1.72}
.bdu-marketing-legal-section>ul strong{color:#4d3236}
.bdu-marketing-legal-number{position:absolute;top:20px;right:22px;color:#c7a7aa;font-size:var(--bdu-text-xs);font-weight:900;letter-spacing:.1em}
.bdu-marketing-legal-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:22px}
.bdu-marketing-legal-summary-grid>div{display:grid;grid-template-columns:38px minmax(0,1fr);gap:11px;align-items:start;border:1px solid #efdedf;border-radius:14px;background:#fff;padding:14px}
.bdu-marketing-legal-summary-grid>div>svg{display:grid;width:38px;height:38px;border-radius:11px;background:var(--bdu-primary-soft);padding:10px;color:var(--bdu-primary-dark)}
.bdu-marketing-legal-summary-grid span{display:grid;gap:3px}
.bdu-marketing-legal-summary-grid strong{color:#4d3236;font-size:var(--bdu-text-sm)}
.bdu-marketing-legal-summary-grid small{color:#806367;font-size:var(--bdu-text-xs);line-height:1.5}
.bdu-marketing-legal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.bdu-marketing-legal-actions .bdu-marketing-primary,.bdu-marketing-legal-actions .bdu-marketing-secondary{min-height:44px}
.bdu-marketing-legal-change-note{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:start;margin-top:20px;border-radius:14px;background:#fff8ec;padding:14px 15px;color:#6e542b}
.bdu-marketing-legal-change-note>svg{margin-top:2px;color:#9b6818}
.bdu-marketing-legal-change-note p{margin:0;font-size:var(--bdu-text-xs);line-height:1.6}


@media print{
    .bdu-marketing-header,.bdu-marketing-footer,.bdu-marketing-sticky-cta,.bdu-marketing-sticky-cta-spacer,.bdu-marketing-scroll-top,.bdu-marketing-breadcrumb{display:none!important}
    .bdu-marketing-page{background:#fff!important;color:#111!important}
    .bdu-marketing-legal-layout{display:block!important}
    .bdu-marketing-legal-nav{display:none!important}
    .bdu-marketing-legal-document{display:block!important}
    .bdu-marketing-legal-section{break-inside:avoid;page-break-inside:avoid;margin:0 0 14px;border-color:#d9d9d9;box-shadow:none!important;background:#fff!important;padding:18px}
    .bdu-marketing-legal-actions{display:none!important}
    .bdu-marketing-legal-change-note{border:1px solid #ddd;background:#fff!important}
}

@media(max-width:1000px){
    .bdu-marketing-legal-layout{grid-template-columns:1fr;gap:20px}
    .bdu-marketing-legal-nav{position:static}
    .bdu-marketing-legal-nav nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px}
}
@media(max-width:680px){
    .bdu-marketing-legal-nav{padding:16px}
    .bdu-marketing-legal-nav nav{grid-template-columns:1fr}
    .bdu-marketing-legal-section{padding:20px 18px}
    .bdu-marketing-legal-number{top:18px;right:18px}
    .bdu-marketing-legal-summary-grid{grid-template-columns:1fr}
    .bdu-marketing-legal-actions{display:grid;grid-template-columns:1fr}
    .bdu-marketing-legal-actions .bdu-marketing-primary,.bdu-marketing-legal-actions .bdu-marketing-secondary{width:100%;justify-content:center}
}

/* --------------------------------------------------------------------------
 * Home flagship hero product visual.
 *
 * The hero demonstrates the public invitation first, then lightly surfaces the
 * operational capabilities around it. No account data or fabricated metrics
 * are used; the entire composition is decorative and remains CSS-only.
 * -------------------------------------------------------------------------- */

.bdu-marketing-hero-visual{isolation:isolate;min-width:0}
.bdu-marketing-hero-stage{position:relative;width:min(500px,100%);min-height:590px;display:grid;place-items:center;margin-inline:auto}
.bdu-marketing-hero-stage::before,.bdu-marketing-hero-stage::after{content:"";position:absolute;pointer-events:none;border-radius:50%;z-index:-1}
.bdu-marketing-hero-stage::before{width:420px;height:420px;border:1px solid rgba(224,4,14,.12);box-shadow:0 0 0 42px rgba(224,4,14,.025),0 0 0 84px rgba(230,183,85,.035)}
.bdu-marketing-hero-stage::after{width:300px;height:300px;background:radial-gradient(circle,rgba(230,183,85,.2),rgba(224,4,14,.06) 48%,transparent 72%);filter:blur(14px)}
.bdu-marketing-hero-visual::before{width:380px;height:380px;transform:none;border-color:rgba(224,4,14,.09)}

.bdu-marketing-hero-device{width:min(350px,calc(100% - 84px));border-color:rgba(115,0,7,.15);border-radius:30px;box-shadow:0 34px 90px rgba(70,25,30,.18),0 10px 28px rgba(115,0,7,.08);transform:rotate(1.2deg);animation:bduHeroDeviceFloat 7s ease-in-out infinite}
.bdu-marketing-hero-device-bar{height:34px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:0 13px;border-bottom:1px solid #f0dfe0;background:#fffaf8;color:#957377;font-size:var(--bdu-text-2xs);font-weight:750;letter-spacing:.01em}
.bdu-marketing-hero-device-bar::after{content:"";width:22px}
.bdu-marketing-hero-device-dots{display:flex;gap:4px}
.bdu-marketing-hero-device-dots i{width:6px;height:6px;border-radius:50%;background:#dfc5c7}
.bdu-marketing-hero-device-dots i:first-child{background:#e59da2}
.bdu-marketing-hero-device-dots i:last-child{background:#e6c56f}

.bdu-marketing-hero-cover{padding:38px 25px 26px;background:radial-gradient(circle at 50% -10%,rgba(230,183,85,.25),transparent 42%),linear-gradient(155deg,#5f0006,var(--bdu-primary-deep) 55%,#2d171a);overflow:hidden}
.bdu-marketing-hero-cover-media{position:absolute!important;inset:0;z-index:0;display:block;overflow:hidden;pointer-events:none}
.bdu-marketing-hero-cover-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(34,0,3,.3),rgba(67,0,7,.76) 70%,rgba(33,0,3,.92));pointer-events:none}
.bdu-marketing-hero-cover-media img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;filter:saturate(.82) contrast(.96)}
.bdu-marketing-hero-cover>*:not(.bdu-marketing-hero-cover-media){position:relative;z-index:2}
.bdu-marketing-hero-cover::before,.bdu-marketing-hero-cover::after{content:"";position:absolute;border:1px solid rgba(255,255,255,.1);border-radius:50%;pointer-events:none}
.bdu-marketing-hero-cover::before{width:190px;height:190px;left:-95px;bottom:-110px}
.bdu-marketing-hero-cover::after{width:220px;height:220px;right:-130px;top:-120px}
.bdu-marketing-hero-cover .bdu-brand-symbol{width:42px;height:42px;margin-bottom:10px}
.bdu-marketing-hero-cover>span:not(.bdu-marketing-invite-live){font-size:var(--bdu-text-2xs);letter-spacing:.16em}
.bdu-marketing-hero-cover .bdu-marketing-invite-title{margin:10px 0 8px;font-size:clamp(30px,5.5vw,42px);line-height:1;letter-spacing:-.025em;text-wrap:balance;overflow-wrap:anywhere}
.bdu-marketing-hero-cover .bdu-marketing-invite-title em{font-style:italic;color:#f4d58d}

.bdu-marketing-hero-guest{position:relative;z-index:1;display:grid;gap:3px;margin:22px auto 0;padding:12px 14px;width:min(268px,100%);border:1px solid rgba(255,255,255,.16);border-radius:14px;background:rgba(255,255,255,.08);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);text-align:left}
.bdu-marketing-hero-guest small{font-size:var(--bdu-text-2xs);color:rgba(255,255,255,.62)}
.bdu-marketing-hero-guest strong{font-size:var(--bdu-text-sm);color:#fff}
.bdu-marketing-hero-guest span{font-size:var(--bdu-text-2xs);color:#f2d99b;letter-spacing:0}

.bdu-marketing-hero-invite-body{padding:14px;background:linear-gradient(180deg,#fff,#fffaf8)}
.bdu-marketing-hero-invite-body>div{border-radius:13px}
.bdu-marketing-hero-event{display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;align-items:center!important;gap:10px!important;padding:11px 12px!important;border:1px solid #efe0e1!important;background:#fff!important}
.bdu-marketing-hero-event-icon{width:38px;height:38px;display:grid!important;place-items:center;border-radius:11px;background:var(--bdu-primary-soft);color:var(--bdu-primary-dark)}
.bdu-marketing-hero-event>span:last-child{display:grid;gap:1px}
.bdu-marketing-hero-event small{font-size:var(--bdu-text-2xs);color:#937176}
.bdu-marketing-hero-event strong{font-size:var(--bdu-text-sm);color:#4e3034}

.bdu-marketing-hero-invite-actions{display:grid!important;grid-template-columns:1.15fr .85fr!important;gap:7px!important;padding:0!important;border:0!important;background:transparent!important}
.bdu-marketing-hero-invite-actions>span{min-height:38px;display:inline-flex!important;align-items:center;justify-content:center;gap:6px;padding:8px 9px;border:1px solid #ead5d7;border-radius:11px;background:#fff;color:#744e52;font-size:var(--bdu-text-2xs);font-weight:850}
.bdu-marketing-hero-invite-actions>span.is-primary{border-color:var(--bdu-primary);background:var(--bdu-primary);color:#fff;box-shadow:0 7px 16px rgba(224,4,14,.14)}

.bdu-marketing-hero-mini-status{display:grid!important;gap:5px!important;padding:10px 11px!important;border:0!important;background:#fff8f3!important}
.bdu-marketing-hero-mini-status>span{display:flex!important;align-items:center;gap:7px;color:#846065;font-size:var(--bdu-text-2xs);font-weight:700}
.bdu-marketing-hero-mini-status i{width:7px;height:7px;border-radius:50%;background:#54a36c;box-shadow:0 0 0 3px rgba(84,163,108,.12)}
.bdu-marketing-hero-mini-status svg{color:var(--bdu-primary-dark)}

.bdu-marketing-hero-float{position:absolute;z-index:2;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;min-width:174px;padding:10px 12px;border:1px solid rgba(115,0,7,.11);border-radius:14px;background:rgba(255,255,255,.94);box-shadow:0 18px 38px rgba(66,25,29,.11);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.bdu-marketing-hero-float>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--bdu-primary-soft);color:var(--bdu-primary-dark)}
.bdu-marketing-hero-float>div{display:grid;gap:1px}
.bdu-marketing-hero-float small{font-size:var(--bdu-text-2xs);color:#967176}
.bdu-marketing-hero-float strong{font-size:var(--bdu-text-xs);line-height:1.3;color:#513236}
.bdu-marketing-hero-float--personal{left:0;top:112px;animation:bduHeroFloatChip 6.4s ease-in-out infinite}
.bdu-marketing-hero-float--rsvp{right:-3px;top:245px;animation:bduHeroFloatChip 6.8s ease-in-out -1.2s infinite}
.bdu-marketing-hero-float--checkin{left:12px;bottom:54px;animation:bduHeroFloatChip 7.1s ease-in-out -.7s infinite}

@keyframes bduHeroDeviceFloat{0%,100%{transform:translateY(0) rotate(1.2deg)}50%{transform:translateY(-7px) rotate(.6deg)}}
@keyframes bduHeroFloatChip{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}

@media(max-width:1000px){
    .bdu-marketing-hero-stage{min-height:560px}
    .bdu-marketing-hero-device{width:min(350px,calc(100% - 96px))}
}

@media(max-width:680px){
    .bdu-marketing-hero-grid{gap:34px}
    .bdu-marketing-hero-stage{width:min(390px,100%);min-height:520px}
    .bdu-marketing-hero-stage::before{width:310px;height:310px;box-shadow:0 0 0 30px rgba(224,4,14,.022),0 0 0 58px rgba(230,183,85,.03)}
    .bdu-marketing-hero-stage::after{width:230px;height:230px}
    .bdu-marketing-hero-device{width:min(318px,calc(100% - 34px));transform:none}
    .bdu-marketing-hero-cover{padding:34px 20px 22px}
    .bdu-marketing-hero-cover .bdu-marketing-invite-title{font-size:37px}
    .bdu-marketing-hero-float{min-width:0;padding:8px 9px;grid-template-columns:30px minmax(0,1fr);gap:7px}
    .bdu-marketing-hero-float>span{width:30px;height:30px}
    .bdu-marketing-hero-float--personal{left:0;top:90px}
    .bdu-marketing-hero-float--rsvp{right:0;top:222px}
    .bdu-marketing-hero-float--checkin{left:8px;bottom:34px}
    .bdu-marketing-hero-float strong{font-size:var(--bdu-text-2xs)}
}

@media(max-width:390px){
    .bdu-marketing-hero-stage{min-height:500px}
    .bdu-marketing-hero-device{width:min(300px,calc(100% - 26px))}
    .bdu-marketing-hero-float--rsvp{right:-2px}
    .bdu-marketing-hero-float--checkin{display:none}
    .bdu-marketing-hero-float{max-width:154px}
}

@media(prefers-reduced-motion:reduce){
    .bdu-marketing-hero-device,.bdu-marketing-hero-float{animation:none}
}
.bdu-marketing-hero-cover>.bdu-marketing-invite-live{z-index:2;letter-spacing:.04em;color:rgba(255,255,255,.9)}

/* --------------------------------------------------------------------------
 * Home product demonstrations — realistic product UI.
 *
 * These remain illustrative, CSS-only surfaces. They show the shape of the
 * real workflow without presenting demo numbers as customer analytics.
 * -------------------------------------------------------------------------- */

.bdu-marketing-phone{position:relative;width:min(292px,86vw);padding:.72rem;border-color:rgba(115,0,7,.18);background:linear-gradient(145deg,#210003,#080001);box-shadow:0 30px 72px rgba(44,21,24,.24),0 0 0 6px rgba(255,255,255,.48)}
.bdu-marketing-phone-hardware{position:absolute;z-index:4;left:50%;top:.72rem;display:flex;align-items:center;justify-content:center;gap:6px;width:78px;height:18px;transform:translateX(-50%);border-radius:0 0 12px 12px;background:#090001}
.bdu-marketing-phone-speaker{width:34px;height:3px;border-radius:99px;background:#4f3336}
.bdu-marketing-phone-camera{width:5px;height:5px;border-radius:50%;background:#38282a;box-shadow:inset 0 0 0 1px #60494c}
.bdu-marketing-phone-screen{border-radius:1.72rem;background:radial-gradient(circle at 50% 22%,rgba(230,183,85,.18),transparent 27%),linear-gradient(165deg,#430007 0%,var(--bdu-primary-deep) 55%,#210003 100%)}
.bdu-marketing-phone-storybar{position:absolute;z-index:3;left:18px;right:18px;top:17px;display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.bdu-marketing-phone-storybar span{height:2px;border-radius:99px;background:rgba(255,255,255,.34)}
.bdu-marketing-phone-storybar span:first-child{background:var(--bdu-secondary)}
.bdu-marketing-phone-status{position:absolute;z-index:3;left:18px;right:18px;top:27px;display:flex;justify-content:space-between;gap:8px;font-size:var(--bdu-text-2xs);font-weight:800;color:rgba(255,255,255,.7)}
.bdu-marketing-scene{gap:.48rem;padding:3.2rem 1.3rem 2.8rem}
.bdu-marketing-scene-kicker{max-width:210px}
.bdu-marketing-scene-monogram{display:grid;place-items:center;width:76px;height:76px;margin-bottom:4px;padding:8px;border:1px solid rgba(230,183,85,.42);border-radius:50%;font-family:"Playfair Display",Georgia,serif;font-size:var(--bdu-text-xl);line-height:1.05;text-align:center;color:#fff8ea;box-shadow:inset 0 0 0 7px rgba(255,255,255,.035);overflow-wrap:anywhere}
.bdu-marketing-scene-monogram i{margin:-8px 0;font-size:var(--bdu-text-sm);font-weight:400;color:var(--bdu-secondary)}
.bdu-marketing-scene-icon{display:grid;place-items:center;width:44px;height:44px;margin-bottom:3px;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:rgba(255,255,255,.08);color:var(--bdu-secondary)}
.bdu-marketing-scene small{max-width:220px;font-size:var(--bdu-text-2xs);line-height:1.5;color:rgba(255,253,249,.63)}
.bdu-marketing-scene-qr{width:86px;height:86px}
.bdu-marketing-phone-progress{bottom:1.25rem}

.bdu-marketing-chat{width:min(390px,100%);border-radius:1.5rem;background:#fff;box-shadow:0 24px 58px rgba(44,21,24,.13)}
.bdu-marketing-chat-head{min-height:64px;gap:.7rem;padding:.75rem .9rem;background:linear-gradient(135deg,var(--bdu-primary-deep),#430007)}
.bdu-marketing-chat-avatar{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:rgba(255,255,255,.12);font-weight:900}
.bdu-marketing-chat-recipient{display:grid;gap:1px;min-width:0;flex:1 1 auto}
.bdu-marketing-chat-recipient strong{font-size:var(--bdu-text-sm)}
.bdu-marketing-chat-recipient small{font-size:var(--bdu-text-2xs);font-weight:600;color:rgba(255,255,255,.68)}
.bdu-marketing-chat-demo{flex:0 0 auto;padding:4px 7px;border:1px solid rgba(255,255,255,.2);border-radius:999px;font-size:var(--bdu-text-2xs);font-weight:850;color:rgba(255,255,255,.82)}
.bdu-marketing-chat-body{min-height:250px;align-content:center;gap:.75rem;padding:1.15rem;background:radial-gradient(circle at 16% 20%,rgba(230,183,85,.08),transparent 30%),#f7f1ec}
.bdu-marketing-bubble{display:grid;gap:.45rem;max-width:88%;padding:.72rem .82rem;box-shadow:0 5px 14px rgba(44,21,24,.055)}
.bdu-marketing-bubble--out{border:1px solid #eadbdd}
.bdu-marketing-bubble--in{gap:.25rem;background:#eef8e9}
.bdu-marketing-bubble--in small{justify-self:end;font-size:var(--bdu-text-2xs);color:#66806d}
.bdu-marketing-chat-greeting{display:block}
.bdu-marketing-chat-linkcard{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;margin-top:2px;padding:8px;border:1px solid #f0d9db;border-radius:10px;background:#fff8f7;color:var(--bdu-primary-dark)}
.bdu-marketing-chat-linkcard>svg{justify-self:center}
.bdu-marketing-chat-linkcard>span{display:grid;gap:1px;min-width:0}
.bdu-marketing-chat-linkcard strong{font-size:var(--bdu-text-xs)}
.bdu-marketing-chat-linkcard small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--bdu-text-2xs);font-weight:600;color:#8c6569}
.bdu-marketing-chat-time{justify-self:end;font-size:var(--bdu-text-2xs);color:#937377}
.bdu-marketing-chat-status{justify-content:flex-start;gap:.5rem;min-height:48px;padding:.7rem 1rem;border-top:1px solid #f0e1e2;background:#fff;color:#65474a}
.bdu-marketing-chat-status>span:nth-child(2){font-size:var(--bdu-text-xs);font-weight:700}
.bdu-marketing-chat-status strong{margin-left:auto;padding:4px 7px;border-radius:999px;background:var(--bdu-primary-soft);color:var(--bdu-primary-dark);font-size:var(--bdu-text-2xs);font-weight:850}

.bdu-marketing-rsvp{width:min(400px,100%);border-radius:1.5rem;background:#fff;box-shadow:0 24px 58px rgba(44,21,24,.12)}
.bdu-marketing-rsvp-head{min-height:64px;padding:.75rem .95rem;background:linear-gradient(135deg,var(--bdu-primary-deep),#430007)}
.bdu-marketing-rsvp-head>span:first-child{display:flex;align-items:center;gap:.55rem}
.bdu-marketing-rsvp-head>span:first-child>span{display:grid;gap:1px}
.bdu-marketing-rsvp-head strong{font-size:var(--bdu-text-sm)}
.bdu-marketing-rsvp-head small{font-size:var(--bdu-text-2xs);font-weight:600;color:rgba(255,255,255,.68)}
.bdu-marketing-rsvp-live{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid rgba(255,255,255,.18);border-radius:999px;font-size:var(--bdu-text-2xs);font-weight:800;color:rgba(255,255,255,.82)}
.bdu-marketing-rsvp-live i{width:6px;height:6px;border-radius:50%;background:#80d79a;box-shadow:0 0 0 4px rgba(128,215,154,.13)}
.bdu-marketing-rsvp-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:.75rem .75rem .15rem;background:#fff}
.bdu-marketing-rsvp-summary>span{display:grid;gap:3px;padding:.6rem .65rem;border:1px solid #f0e0e1;border-radius:.8rem;background:#fffaf9}
.bdu-marketing-rsvp-summary small{font-size:var(--bdu-text-2xs);color:#8a686c}
.bdu-marketing-rsvp-summary strong{font-family:"Playfair Display",Georgia,serif;font-size:var(--bdu-text-lg);line-height:1;color:#4b2f33}
.bdu-marketing-rsvp-list{padding:.6rem .75rem .75rem;gap:.45rem}
.bdu-marketing-rsvp-row{grid-template-columns:36px minmax(0,1fr) auto;padding:.65rem .7rem;border-color:#f0e1e2}
.bdu-marketing-avatar{width:36px;height:36px}

.bdu-marketing-scanner{width:min(350px,100%);gap:.75rem}
.bdu-marketing-scanner-shell{overflow:hidden;border:1px solid rgba(115,0,7,.12);border-radius:1.5rem;background:#fff;box-shadow:0 24px 58px rgba(44,21,24,.13)}
.bdu-marketing-scanner-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:54px;padding:.7rem .9rem;background:#fff;color:#503337}
.bdu-marketing-scanner-head>span{display:inline-flex;align-items:center;gap:7px;font-size:var(--bdu-text-sm);font-weight:850}
.bdu-marketing-scanner-head>span svg{color:var(--bdu-primary)}
.bdu-marketing-scanner-head small{padding:4px 7px;border-radius:999px;background:var(--bdu-primary-soft);font-size:var(--bdu-text-2xs);font-weight:800;color:var(--bdu-primary-dark)}
.bdu-marketing-scanner-frame{aspect-ratio:1.12;border-radius:0;background:linear-gradient(165deg,#260003,#570009 60%,#160002)}
.bdu-marketing-scanner-ambient{position:absolute;inset:8%;border-radius:20px;background:radial-gradient(circle at 50% 50%,rgba(230,183,85,.13),transparent 48%);border:1px solid rgba(255,255,255,.06)}
.bdu-marketing-scanner-qr{width:39%;z-index:1;box-shadow:0 0 0 7px var(--bdu-surface),0 12px 28px rgba(0,0,0,.22)}
.bdu-marketing-scanner-beam{z-index:2;left:13%;right:13%}
.bdu-marketing-scanner-corner{z-index:2;width:30px;height:30px}
.bdu-marketing-scanner-corner.is-tl{top:12%;left:12%}
.bdu-marketing-scanner-corner.is-tr{top:12%;right:12%}
.bdu-marketing-scanner-corner.is-bl{bottom:16%;left:12%}
.bdu-marketing-scanner-corner.is-br{bottom:16%;right:12%}
.bdu-marketing-scanner-hint{position:absolute;z-index:2;left:12px;right:12px;bottom:12px;text-align:center;font-size:var(--bdu-text-2xs);font-weight:700;color:rgba(255,255,255,.66)}
.bdu-marketing-scanner-result{display:grid;grid-template-columns:42px minmax(0,1fr);gap:.75rem;padding:.8rem .9rem;border-radius:1rem;background:#f2fbf5}
.bdu-marketing-scanner-success{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#dff3e5;color:#205c35}
.bdu-marketing-scanner-result>span:last-child{display:grid;gap:1px}
.bdu-marketing-scanner-result>span:last-child>small{font-size:var(--bdu-text-2xs);font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#3f6b4e}
.bdu-marketing-scanner-result>span:last-child>strong{font-size:var(--bdu-text-sm);color:#204c31}
.bdu-marketing-scanner-result em{font-style:normal;font-size:var(--bdu-text-2xs);color:#557762}

@media(max-width:680px){
    .bdu-marketing-demo-grid{gap:2rem}
    .bdu-marketing-phone{width:min(272px,82vw)}
    .bdu-marketing-chat,.bdu-marketing-rsvp,.bdu-marketing-scanner{width:min(100%,380px)}
    .bdu-marketing-chat-body{min-height:0;padding:1rem}
    .bdu-marketing-rsvp-summary{gap:5px;padding:.65rem .65rem .1rem}
    .bdu-marketing-rsvp-summary>span{padding:.55rem}
    .bdu-marketing-scanner-frame{aspect-ratio:1.2}
}

@media(max-width:390px){
    .bdu-marketing-phone{width:min(258px,82vw)}
    .bdu-marketing-chat-demo{display:none}
    .bdu-marketing-chat-head,.bdu-marketing-rsvp-head{padding-inline:.75rem}
    .bdu-marketing-chat-status strong{display:none}
    .bdu-marketing-rsvp-summary>span{padding:.5rem .45rem}
    .bdu-marketing-rsvp-row{grid-template-columns:34px minmax(0,1fr);gap:.55rem}
    .bdu-marketing-rsvp-row>.bdu-marketing-chip{grid-column:2;justify-self:start}
    .bdu-marketing-scanner-head{padding-inline:.75rem}
}

@media(prefers-reduced-motion:reduce){
    .bdu-marketing-phone-storybar span:first-child{background:var(--bdu-secondary)}
}

/* --------------------------------------------------------------------------
 * Home composition and visual rhythm.
 *
 * Hero and product demonstrations now have enough visual weight to carry the
 * landing page. This layer gives the sections around them a deliberate cadence
 * instead of letting every band use the same white/soft/card treatment.
 * -------------------------------------------------------------------------- */

.bdu-home-section{position:relative;isolation:isolate}
.bdu-home-section>.bdu-marketing-container{position:relative;z-index:1}
.bdu-home-section .bdu-marketing-section-head{margin-bottom:clamp(28px,3vw,38px)}
.bdu-home-section .bdu-marketing-section-head>p{max-width:68ch}

/* Showcase -> capability: the shelf stays light, then the workflow gets a
   quiet paper tint so two white bands do not read as one accidental block. */
.bdu-home-showcase{padding-bottom:clamp(54px,5vw,78px)}
.bdu-home-showcase .bdu-marketing-section-head--split{align-items:center}
.bdu-home-capabilities{border-top:1px solid #f4e7e7;background:linear-gradient(180deg,#fffdfb 0%,#fff 52%,#fffaf8 100%)}
.bdu-home-capabilities .bdu-marketing-feature-grid--lead article{box-shadow:0 14px 34px rgba(44,21,24,.045)}
.bdu-home-capabilities .bdu-marketing-feature-more{margin-top:clamp(24px,3vw,34px)}

/* Demonstrations are the visual centre of the page. A soft radial wash keeps
   four realistic devices feeling like one product story rather than four
   unrelated mock-ups. */
.bdu-home-demonstrations{overflow:hidden;background:radial-gradient(circle at 86% 8%,rgba(230,183,85,.10),transparent 26%),radial-gradient(circle at 10% 70%,rgba(224,4,14,.055),transparent 30%),linear-gradient(180deg,#fff7f3,var(--bdu-surface))}
.bdu-home-demonstrations>.bdu-marketing-container:first-child .bdu-marketing-section-head{max-width:820px}

/* Content anatomy returns to a calm white surface before the process band. */
.bdu-home-anatomy-band{background:#fff}
.bdu-home-anatomy-band .bdu-marketing-anatomy article{box-shadow:0 10px 28px rgba(44,21,24,.035)}

/* Process is the middle chapter. The restrained gold orb mirrors the hero but
   remains behind the copy/cards and never becomes another illustration. */
.bdu-home-process{overflow:clip;padding-block:clamp(66px,6vw,94px)}
.bdu-home-process::before{content:"";position:absolute;right:-120px;top:-150px;width:380px;height:380px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(230,183,85,.13),transparent 68%)}
.bdu-home-process .bdu-marketing-section-head{position:sticky;top:104px}

/* Trust stays deliberately quieter than product and price. */
.bdu-home-confidence{background:linear-gradient(180deg,#fff,#fffdfb)}
.bdu-home-confidence .bdu-marketing-assurances{padding-top:clamp(24px,2.5vw,32px);border-top:1px solid #f1e2e3}

/* Commercial chapter: pricing owns the tinted band. Vendor follows on white
   as a contained panel, so two adjacent soft sections no longer merge into one
   long pink block. */
.bdu-home-pricing{border-bottom:0}
.bdu-home-pricing .bdu-marketing-plan-grid{align-items:stretch}
.bdu-home-pricing .bdu-marketing-plan-grid article{height:100%}
.bdu-home-vendor{padding-top:clamp(52px,4vw,68px);background:#fff}
.bdu-home-vendor .bdu-marketing-vendor{padding:clamp(24px,3vw,36px);border:1px solid #eadadb;border-radius:26px;background:linear-gradient(135deg,#fffaf8 0%,#fff 55%,#fffdf7 100%);box-shadow:0 18px 46px rgba(44,21,24,.05)}
.bdu-home-vendor .bdu-marketing-vendor>div{align-self:center}

/* FAQ is the final dark checkpoint. Reading/support then returns to paper
   before the closing CTA, which makes the final action feel intentional. */
.bdu-home-faq{padding-block:clamp(64px,5.5vw,88px)}
.bdu-home-learn{background:linear-gradient(180deg,#fff,#fffaf8 100%)}
.bdu-home-learn .bdu-marketing-learn aside{box-shadow:0 14px 34px rgba(44,21,24,.04)}
.bdu-home-final-cta{margin-top:0;border-top:1px solid #efdede}

@media(max-width:1000px){
    .bdu-home-process .bdu-marketing-section-head{position:static}
    .bdu-home-vendor .bdu-marketing-vendor{padding:28px}
}

@media(max-width:680px){
    .bdu-home-section .bdu-marketing-section-head{margin-bottom:26px}
    .bdu-home-showcase{padding-bottom:52px}
    .bdu-home-capabilities .bdu-marketing-feature-more{margin-top:24px}
    .bdu-home-process{padding-block:60px}
    .bdu-home-confidence .bdu-marketing-assurances{padding-top:22px}
    .bdu-home-vendor{padding-top:48px}
    .bdu-home-vendor .bdu-marketing-vendor{padding:20px;border-radius:20px}
    .bdu-home-faq{padding-block:58px}
}

/* --------------------------------------------------------------------------
 * Home mobile narrative + motion polish.
 *
 * Mobile readers see the product before its supporting copy inside each demo,
 * while the DOM keeps the explanatory copy in its semantic source order. The
 * visual layer is intentionally shorter than desktop: continuous decorative
 * motion is removed above the fold and realistic demos retain only motion that
 * explains product behaviour.
 * -------------------------------------------------------------------------- */

.bdu-marketing-demo-visual{min-width:0}

@media(max-width:680px){
    .bdu-marketing-hero{padding-top:50px;padding-bottom:54px}
    .bdu-marketing-hero-grid{gap:28px}
    .bdu-marketing-hero-copy>p{margin-top:18px;line-height:1.65}
    .bdu-marketing-hero-actions{gap:9px;margin-top:24px}
    .bdu-marketing-proof{gap:8px 14px;margin-top:20px}

    .bdu-marketing-hero-stage{min-height:470px}
    .bdu-marketing-hero-stage::before{width:282px;height:282px;box-shadow:0 0 0 26px rgba(224,4,14,.02),0 0 0 48px rgba(230,183,85,.026)}
    .bdu-marketing-hero-stage::after{width:205px;height:205px;filter:blur(12px)}
    .bdu-marketing-hero-device{width:min(286px,calc(100% - 34px));box-shadow:0 24px 58px rgba(70,25,30,.15),0 8px 20px rgba(115,0,7,.07);animation:none}
    .bdu-marketing-hero-cover{padding:30px 18px 20px}
    .bdu-marketing-hero-cover .bdu-marketing-invite-title{font-size:35px}
    .bdu-marketing-hero-guest{margin-top:17px;padding:10px 12px}
    .bdu-marketing-hero-invite-body{padding:11px}
    .bdu-marketing-hero-float{animation:none;box-shadow:0 12px 28px rgba(66,25,29,.09)}
    .bdu-marketing-hero-float--personal{left:2px;top:78px}
    .bdu-marketing-hero-float--rsvp{right:2px;top:206px}
    .bdu-marketing-hero-float--checkin{display:none}

    .bdu-home-section{padding-block:52px}
    .bdu-home-showcase{padding-top:46px;padding-bottom:50px}
    .bdu-home-section .bdu-marketing-section-head{margin-bottom:24px}
    .bdu-home-process{padding-block:56px}
    .bdu-home-faq{padding-block:54px}
    .bdu-home-vendor{padding-block:50px}

    .bdu-home-demonstrations{padding-block:50px 54px}
    .bdu-home-demonstrations>.bdu-marketing-container:first-child .bdu-marketing-section-head{margin-bottom:0}
    .bdu-marketing-demos>.bdu-marketing-container:first-child{margin-bottom:28px}
    .bdu-marketing-demos .bdu-marketing-demo+.bdu-marketing-demo>.bdu-marketing-container{margin-top:30px;padding-top:30px}
    .bdu-marketing-demo-grid{gap:1.4rem}
    .bdu-marketing-demo-visual{order:-1;justify-self:center;margin-inline:auto}
    .bdu-marketing-demo-copy{order:1}
    .bdu-marketing-demo-copy h2{margin-bottom:10px;font-size:clamp(31px,8.8vw,39px);line-height:1.08}
    .bdu-marketing-demo-copy>p{margin-bottom:16px;font-size:var(--bdu-text-base);line-height:1.62}
    .bdu-marketing-demo-points{gap:.52rem}
    .bdu-marketing-demo-points li{gap:.48rem;font-size:var(--bdu-text-sm);line-height:1.5}

    .bdu-marketing-phone{width:min(232px,72vw);box-shadow:0 20px 44px rgba(44,21,24,.18),0 0 0 4px rgba(255,255,255,.4)}
    .bdu-marketing-chat,.bdu-marketing-rsvp{width:min(100%,340px);box-shadow:0 18px 38px rgba(44,21,24,.10)}
    .bdu-marketing-scanner{width:min(100%,310px)}
    .bdu-marketing-scanner-shell{box-shadow:0 18px 38px rgba(44,21,24,.10)}
    .bdu-marketing-chat-body{padding:.88rem}
    .bdu-marketing-rsvp-summary{gap:4px;padding:.58rem .58rem .08rem}
    .bdu-marketing-rsvp-list{padding:.52rem .58rem .58rem}
    .bdu-marketing-rsvp-row{padding:.56rem .6rem}
    .bdu-marketing-scanner-frame{aspect-ratio:1.3}
    .bdu-marketing-scanner-beam{animation-duration:3.2s}

    .bdu-home-capabilities .bdu-marketing-feature-grid article{padding:20px}
    .bdu-home-process .bdu-marketing-steps li{grid-template-columns:44px minmax(0,1fr);gap:12px;padding:16px}
    .bdu-home-process .bdu-marketing-steps li>span{width:42px;height:42px;border-radius:12px}
    .bdu-home-pricing .bdu-marketing-plan-grid article{padding:22px}
    .bdu-home-vendor .bdu-marketing-vendor{padding:19px}

    .bdu-home-showcase .bdu-marketing-section-head--split>a,
    .bdu-home-learn .bdu-marketing-learn-more,
    .bdu-home-faq .bdu-marketing-secondary{min-height:44px;display:inline-flex;align-items:center}
}

@media(max-width:430px){
    .bdu-marketing-hero-stage{min-height:448px}
    .bdu-marketing-hero-device{width:min(274px,calc(100% - 24px))}
    .bdu-marketing-hero-float{max-width:148px;padding:7px 8px}
    .bdu-marketing-hero-float--personal{left:0;top:72px}
    .bdu-marketing-hero-float--rsvp{right:0;top:194px}

    .bdu-home-section{padding-block:48px}
    .bdu-home-showcase{padding-block:44px 46px}
    .bdu-home-demonstrations{padding-block:46px 50px}
    .bdu-home-process{padding-block:52px}
    .bdu-home-faq{padding-block:50px}

    .bdu-marketing-demo-grid{gap:1.2rem}
    .bdu-marketing-demos>.bdu-marketing-container:first-child{margin-bottom:24px}
    .bdu-marketing-demos .bdu-marketing-demo+.bdu-marketing-demo>.bdu-marketing-container{margin-top:26px;padding-top:26px}
    .bdu-marketing-phone{width:min(222px,71vw)}
    .bdu-marketing-chat,.bdu-marketing-rsvp{width:min(100%,326px)}
    .bdu-marketing-scanner{width:min(100%,296px)}
    .bdu-marketing-scanner-frame{aspect-ratio:1.34}
}

@media(max-width:360px){
    .bdu-marketing-hero{padding-top:44px;padding-bottom:48px}
    .bdu-marketing-hero-copy>p{margin-top:16px}
    .bdu-marketing-hero-stage{min-height:420px}
    .bdu-marketing-hero-device{width:min(258px,calc(100% - 18px))}
    .bdu-marketing-hero-float--rsvp{display:none}
    .bdu-marketing-hero-float--personal{top:66px;max-width:142px}
    .bdu-marketing-phone{width:min(214px,70vw)}
    .bdu-marketing-chat,.bdu-marketing-rsvp{width:100%}
    .bdu-marketing-scanner{width:min(100%,284px)}
    .bdu-marketing-rsvp-summary small{font-size:var(--bdu-text-2xs)}
    .bdu-marketing-demo-copy h2{font-size:clamp(31px,9.4vw,36px)}
    .bdu-home-capabilities .bdu-marketing-feature-grid article,
    .bdu-home-pricing .bdu-marketing-plan-grid article{padding:18px}
}

@media(prefers-reduced-motion:reduce){
    .bdu-marketing-hero-device,.bdu-marketing-hero-float{animation:none!important;transform:none}
    .bdu-marketing-scanner-beam{animation:none!important}
}

/* --------------------------------------------------------------------------
 * Home trust + conversion authenticity.
 *
 * Conversion copy should explain what a guest can safely expect, not expose
 * implementation language or turn demonstration data into implied customer
 * statistics. The proof row is one calm strip; demonstrations identify their
 * sample data explicitly; pricing carries the decision context beside the
 * catalogue-backed cards rather than adding another sales badge.
 * -------------------------------------------------------------------------- */

.bdu-marketing-hero .bdu-marketing-proof{max-width:680px;padding:13px 15px;border:1px solid rgba(115,0,7,.10);border-radius:16px;background:rgba(255,255,255,.62);box-shadow:0 10px 28px rgba(44,21,24,.035);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.bdu-marketing-hero .bdu-marketing-proof span{min-height:28px;line-height:1.45}
.bdu-marketing-hero .bdu-marketing-proof svg{flex:0 0 auto}

.bdu-marketing-demo-context{display:flex;align-items:flex-start;gap:9px;max-width:720px;margin:16px 0 0;padding:11px 13px;border:1px solid rgba(115,0,7,.09);border-radius:13px;background:rgba(255,255,255,.68);color:#735459;font-size:var(--bdu-text-sm);font-weight:650;line-height:1.55}
.bdu-marketing-demo-context svg{flex:0 0 auto;margin-top:2px;color:var(--bdu-secondary-dark)}

.bdu-home-pricing-intro{max-width:64ch;margin:14px 0 0;color:#78575a;line-height:1.68}
.bdu-home-pricing .bdu-marketing-section-head--split>div{max-width:780px}
.bdu-home-pricing .bdu-marketing-section-head--split>a{align-self:flex-end;min-height:44px}

.bdu-home-final-cta .bdu-marketing-primary{box-shadow:0 10px 26px rgba(224,4,14,.18)}
.bdu-home-final-cta .bdu-marketing-cta-link{box-shadow:none}

@media(max-width:1000px){
    .bdu-home-pricing .bdu-marketing-section-head--split>a{align-self:flex-start}
}

@media(max-width:680px){
    .bdu-marketing-hero .bdu-marketing-proof{width:100%;max-width:430px;padding:12px 13px;gap:7px}
    .bdu-marketing-hero .bdu-marketing-proof span{width:100%;min-height:32px}
    .bdu-marketing-demo-context{padding:10px 11px;font-size:var(--bdu-text-xs)}
    .bdu-home-pricing-intro{font-size:var(--bdu-text-sm);line-height:1.6}
    .bdu-home-pricing .bdu-marketing-section-head--split>a{width:100%;justify-content:center}
}

/* --------------------------------------------------------------------------
 * Home + marketing demo final experience audit.
 *
 * Published demo media is allowed to make the illustrative phone feel like the
 * actual invitation it represents, while operational guest state stays sample
 * data. The scanner is one product surface: code, scan target, and confirmation
 * belong to the same flow instead of reading as unrelated cards.
 * -------------------------------------------------------------------------- */

.bdu-marketing-demo-copy h2{text-wrap:balance}
.bdu-marketing-scene{overflow:hidden}
.bdu-marketing-scene>*:not(.bdu-marketing-scene-cover){position:relative;z-index:2}
.bdu-marketing-scene-cover{position:absolute;inset:0;z-index:0;display:block;overflow:hidden;pointer-events:none}
.bdu-marketing-scene-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(25,0,2,.3),rgba(61,0,7,.7) 55%,rgba(25,0,3,.94));pointer-events:none}
.bdu-marketing-scene-cover img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;filter:saturate(.82) contrast(.98)}
.bdu-marketing-scene strong,.bdu-marketing-scene p,.bdu-marketing-scene small{overflow-wrap:anywhere}
.bdu-marketing-scene-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;width:min(205px,88%);margin:3px 0 2px}
.bdu-marketing-scene-gallery>span{overflow:hidden;aspect-ratio:1;border:1px solid rgba(255,255,255,.15);border-radius:10px;background:rgba(255,255,255,.07);box-shadow:0 8px 18px rgba(0,0,0,.14)}
.bdu-marketing-scene-gallery img{width:100%;height:100%;display:block;object-fit:cover}
.bdu-marketing-scene-pass{display:grid;grid-template-columns:78px minmax(0,1fr);align-items:center;gap:11px;width:min(218px,94%);padding:10px;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:rgba(255,255,255,.09);box-shadow:0 16px 34px rgba(0,0,0,.16);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.bdu-marketing-scene-pass .bdu-marketing-scene-qr{width:70px;height:70px;box-shadow:0 0 0 5px var(--bdu-surface)}
.bdu-marketing-scene-pass-copy{display:grid;gap:4px;min-width:0;text-align:left}
.bdu-marketing-scene-pass-copy strong{font-family:"DM Sans",system-ui,sans-serif;font-size:var(--bdu-text-sm);line-height:1.25;color:#fff}
.bdu-marketing-scene-pass-copy small{font-size:var(--bdu-text-2xs);line-height:1.35;color:rgba(255,253,249,.68)}

.bdu-marketing-chat-recipient strong,.bdu-marketing-chat-linkcard small,.bdu-marketing-rsvp-row strong{overflow-wrap:anywhere}
.bdu-marketing-rsvp-row>span:nth-child(2){min-width:0}

.bdu-marketing-scanner{width:min(420px,100%);gap:0}
.bdu-marketing-scanner-shell{display:grid;gap:12px;padding:0 12px 12px;overflow:hidden;border:1px solid rgba(115,0,7,.12);border-radius:1.65rem;background:linear-gradient(180deg,#fff,#fffaf8);box-shadow:0 28px 64px rgba(44,21,24,.13)}
.bdu-marketing-scanner-head{margin-inline:-12px;min-height:58px;padding:.72rem 1rem;border-bottom:1px solid #f0e1e2;background:#fff}
.bdu-marketing-scanner-head small{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.bdu-marketing-scanner-head small i{width:6px;height:6px;border-radius:50%;background:#39a55d;box-shadow:0 0 0 4px rgba(57,165,93,.1)}
.bdu-marketing-scanner-frame{position:relative;display:grid;place-items:center;aspect-ratio:1.18;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:radial-gradient(circle at 50% 42%,rgba(151,25,36,.22),transparent 34%),linear-gradient(160deg,#160103,#320006 58%,#110102)}
.bdu-marketing-scanner-ambient{inset:7%;border-radius:18px;background:radial-gradient(circle at 50% 48%,rgba(230,183,85,.1),transparent 52%);border-color:rgba(255,255,255,.05)}
.bdu-marketing-scanner-pass{position:relative;z-index:1;display:grid;width:min(264px,72%);overflow:hidden;border:1px solid rgba(255,255,255,.42);border-radius:18px;background:#fffdf9;box-shadow:0 22px 48px rgba(0,0,0,.28);transform:rotate(-1.2deg)}
.bdu-marketing-scanner-pass-event{display:grid;gap:2px;padding:10px 12px;background:linear-gradient(135deg,var(--bdu-primary-deep),#8c0710);color:#fff;text-align:left}
.bdu-marketing-scanner-pass-event small{font-size:var(--bdu-text-2xs);font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.bdu-marketing-scanner-pass-event strong{font-family:"Playfair Display",Georgia,serif;font-size:var(--bdu-text-base);line-height:1.12;overflow-wrap:anywhere}
.bdu-marketing-scanner-pass-event em{font-style:normal;font-size:var(--bdu-text-2xs);color:rgba(255,255,255,.76)}
.bdu-marketing-scanner-pass-body{display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:11px;padding:11px 12px 12px}
.bdu-marketing-scanner-pass .bdu-marketing-scanner-qr{position:relative;width:78px;height:78px;overflow:hidden;border:6px solid #fff;border-radius:8px;background-color:#fff;background-image:repeating-conic-gradient(#1a0c0e 0 25%,transparent 0 50%);background-size:12px 12px;box-shadow:0 0 0 1px #eadcdd}
.bdu-marketing-scanner-qr i{position:absolute;width:22px;height:22px;border:5px solid #1a0c0e;background:#fff;box-shadow:inset 0 0 0 4px #fff,inset 0 0 0 8px #1a0c0e}
.bdu-marketing-scanner-qr i.is-tl{top:4px;left:4px}.bdu-marketing-scanner-qr i.is-tr{top:4px;right:4px}.bdu-marketing-scanner-qr i.is-bl{bottom:4px;left:4px}
.bdu-marketing-scanner-qr b{position:absolute;right:3px;bottom:3px;padding:2px 4px;border-radius:5px;background:rgba(255,255,255,.92);font-family:"DM Sans",system-ui,sans-serif;font-size:var(--bdu-text-2xs);font-weight:950;letter-spacing:.06em;color:#6b4a4e}
.bdu-marketing-scanner-pass-copy{display:grid;gap:3px;min-width:0;color:#4a2f33;text-align:left}
.bdu-marketing-scanner-pass-copy small{font-size:var(--bdu-text-2xs);font-weight:850;letter-spacing:.05em;text-transform:uppercase;color:#9a6b70}
.bdu-marketing-scanner-pass-copy strong{font-size:var(--bdu-text-sm);line-height:1.25;overflow-wrap:anywhere;color:#422b2f}
.bdu-marketing-scanner-pass-copy em{font-style:normal;font-size:var(--bdu-text-2xs);line-height:1.35;color:#7c5c60}
.bdu-marketing-scanner-beam{z-index:3;left:10%;right:10%;height:2px;box-shadow:0 0 14px rgba(230,183,85,.5)}
.bdu-marketing-scanner-corner{z-index:2;width:28px;height:28px}
.bdu-marketing-scanner-corner.is-tl{top:9%;left:9%}.bdu-marketing-scanner-corner.is-tr{top:9%;right:9%}.bdu-marketing-scanner-corner.is-bl{bottom:16%;left:9%}.bdu-marketing-scanner-corner.is-br{bottom:16%;right:9%}
.bdu-marketing-scanner-hint{left:16px;right:16px;bottom:11px;color:rgba(255,255,255,.72)}
.bdu-marketing-scanner-result{margin:0;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:.72rem;padding:.72rem .78rem;border:1px solid #cbe8d3;border-radius:14px;background:#f2fbf5;box-shadow:none}
.bdu-marketing-scanner-success{width:40px;height:40px;border-radius:12px}
.bdu-marketing-scanner-result-copy{display:grid;gap:1px;min-width:0}
.bdu-marketing-scanner-result-copy>small{font-size:var(--bdu-text-2xs);font-weight:850;letter-spacing:.055em;text-transform:uppercase;color:#3f6b4e}
.bdu-marketing-scanner-result-copy>strong{font-size:var(--bdu-text-sm);line-height:1.25;color:#204c31;overflow-wrap:anywhere}
.bdu-marketing-scanner-result-copy>em{font-style:normal;font-size:var(--bdu-text-2xs);line-height:1.35;color:#557762;overflow-wrap:anywhere}
.bdu-marketing-scanner-result-state{display:inline-flex!important;align-items:center;gap:6px;align-self:center;padding:5px 8px;border-radius:999px;background:#dff3e5;font-size:var(--bdu-text-2xs);font-weight:850;color:#205c35;white-space:nowrap}
.bdu-marketing-scanner-result-state i{width:6px;height:6px;border-radius:50%;background:#39a55d}
.bdu-marketing-scanner-demo-note{display:flex;align-items:center;justify-content:center;gap:6px;margin:0;padding:0 4px;color:#85676a;font-size:var(--bdu-text-2xs);line-height:1.45;text-align:center}
.bdu-marketing-scanner-demo-note svg{flex:0 0 auto;color:var(--bdu-primary-dark)}

@media(max-width:680px){
    .bdu-marketing-scene-gallery{width:min(190px,86%)}
    .bdu-marketing-scene-pass{grid-template-columns:70px minmax(0,1fr);width:min(206px,94%);gap:10px}
    .bdu-marketing-scene-pass .bdu-marketing-scene-qr{width:62px;height:62px}
    .bdu-marketing-scanner{width:min(100%,354px)}
    .bdu-marketing-scanner-shell{gap:10px;padding:0 10px 10px}
    .bdu-marketing-scanner-head{margin-inline:-10px;padding-inline:.8rem}
    .bdu-marketing-scanner-frame{aspect-ratio:1.22}
    .bdu-marketing-scanner-pass{width:min(252px,76%)}
}

@media(max-width:390px){
    .bdu-marketing-scene-gallery{gap:4px;width:min(178px,84%)}
    .bdu-marketing-scanner{width:min(100%,320px)}
    .bdu-marketing-scanner-frame{aspect-ratio:1.2}
    .bdu-marketing-scanner-pass{width:min(238px,80%)}
    .bdu-marketing-scanner-pass-body{grid-template-columns:70px minmax(0,1fr);gap:8px;padding:9px 10px 10px}
    .bdu-marketing-scanner-pass .bdu-marketing-scanner-qr{width:66px;height:66px;background-size:10px 10px}
    .bdu-marketing-scanner-result{grid-template-columns:36px minmax(0,1fr);padding:.65rem .68rem}
    .bdu-marketing-scanner-success{width:36px;height:36px}
    .bdu-marketing-scanner-result-state{grid-column:2;justify-self:start}
}

@media(max-width:360px){
    .bdu-marketing-scanner{width:100%}
    .bdu-marketing-scanner-head small{max-width:116px;overflow:hidden;text-overflow:ellipsis}
    .bdu-marketing-scanner-pass{width:min(226px,82%)}
    .bdu-marketing-scanner-pass-event{padding-inline:10px}
    .bdu-marketing-scanner-pass-body{grid-template-columns:64px minmax(0,1fr)}
    .bdu-marketing-scanner-pass .bdu-marketing-scanner-qr{width:60px;height:60px}
}

/* Published marketing media preview assets. */
.bdu-marketing-scene-poster::after{background:linear-gradient(180deg,rgba(25,0,2,.24),rgba(61,0,7,.63) 52%,rgba(25,0,3,.95))}
.bdu-marketing-scene-poster img{filter:saturate(.86) contrast(.98)}
.bdu-marketing-scene-media-status{display:flex;flex-wrap:wrap;justify-content:center;gap:5px 7px;width:min(224px,92%);margin-top:2px}
.bdu-marketing-scene-media-status>span{display:inline-flex;align-items:center;gap:4px;min-height:24px;padding:4px 7px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(24,0,3,.32);color:rgba(255,253,249,.76);font-size:var(--bdu-text-2xs);font-weight:750;line-height:1.2;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.bdu-marketing-scene-media-status svg{flex:0 0 auto;color:var(--bdu-secondary)}
@media(max-width:390px){.bdu-marketing-scene-media-status{gap:4px;width:min(205px,90%)}.bdu-marketing-scene-media-status>span{padding-inline:6px}}

/* Persistent preview video from the curated published invitation. */
.bdu-marketing-phone-video{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;border-radius:inherit;background:#150002;object-fit:cover;object-position:center;color:#fff}
.bdu-marketing-phone-video:focus-visible{outline:3px solid rgba(230,183,85,.78);outline-offset:-5px}

/* Home final quality and performance safeguards. */
.bdu-marketing-hero-cover-media img{aspect-ratio:3/4}
.bdu-marketing-phone-video{aspect-ratio:9/16}
.bdu-marketing-scene-poster img{aspect-ratio:9/16}
.bdu-marketing-scene-gallery img{aspect-ratio:1/1}
.bdu-marketing-hero-cover .bdu-marketing-invite-title,
.bdu-marketing-hero-guest strong,
.bdu-marketing-hero-event small,
.bdu-marketing-chat-recipient strong,
.bdu-marketing-chat-linkcard small,
.bdu-marketing-scanner-pass-event strong,
.bdu-marketing-scanner-pass-copy strong,
.bdu-marketing-scanner-result-copy>strong{overflow-wrap:anywhere;word-break:normal}
.bdu-marketing-hero-cover .bdu-marketing-invite-title,
.bdu-marketing-scanner-pass-event strong,
.bdu-marketing-scanner-pass-copy strong{
    display:-webkit-box;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}
.bdu-marketing-chat-linkcard small{word-break:break-word}
.bdu-marketing-phone-screen,.bdu-marketing-scanner-shell{min-width:0}

@media(max-width:430px){
    .bdu-marketing-hero-cover .bdu-marketing-invite-title{-webkit-line-clamp:2}
    .bdu-marketing-scanner-pass-event strong,.bdu-marketing-scanner-pass-copy strong{-webkit-line-clamp:2}
}

@media(prefers-reduced-motion:reduce){
    .bdu-marketing-phone-video{background-image:none}
}

/* --------------------------------------------------------------------------
 * Public template catalogue and detail refinement.
 *
 * Filters read as one workspace, cards reserve their media footprint before
 * images arrive, and the detail page reports the preview state it can really
 * provide. The layout remains script-free.
 * -------------------------------------------------------------------------- */

.bdu-marketing-template-catalog-tools{margin-bottom:26px;padding:18px;border:1px solid #eadadb;border-radius:22px;background:linear-gradient(180deg,#fff,#fffaf8);box-shadow:0 14px 34px rgba(44,21,24,.035)}
.bdu-marketing-template-catalog-tools .bdu-marketing-template-search{margin-bottom:14px}
.bdu-marketing-template-catalog-tools .bdu-marketing-template-chips{margin-bottom:0}
.bdu-marketing-template-chips a[aria-current="true"],.bdu-marketing-template-sort a[aria-current="true"]{box-shadow:0 0 0 1px rgba(224,4,14,.08)}

.bdu-marketing-template-media img{aspect-ratio:3/2}
.bdu-marketing-template-live-flag{right:auto;max-width:calc(100% - 24px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bdu-marketing-template-body h3{min-height:2.5em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.bdu-marketing-template-body>p:not(:first-child){display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}

.bdu-marketing-template-live-state.is-static{border-color:#e6d6b0;background:#fffaf0;color:#805c16}
.bdu-marketing-template-live-state.is-pending{border-color:#e5dadd;background:#faf7f8;color:#80666a}
.bdu-marketing-template-demo-badge{left:auto;right:12px;top:12px;bottom:auto;max-width:calc(100% - 24px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bdu-marketing-template-detail-media:not(.has-live-demo) img{display:block;width:100%;height:100%;aspect-ratio:3/2;object-fit:cover}
.bdu-marketing-template-showcase-action strong,.bdu-marketing-template-final-cta h2{overflow-wrap:anywhere}

@media(max-width:680px){
    .bdu-marketing-template-catalog-tools{margin-inline:-4px;padding:14px;border-radius:18px}
    .bdu-marketing-template-search button,.bdu-marketing-template-chips a,.bdu-marketing-template-sort a,.bdu-marketing-demo-sizes label{min-height:44px}
    .bdu-marketing-template-demo-badge{right:9px;top:9px;left:auto;bottom:auto}
    .bdu-marketing-template-body h3{min-height:0}
}


/* Public pricing decision and purchase-readiness refinement. */
.bdu-pricing-decision-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:0 0 24px}
.bdu-pricing-decision-grid article{display:grid;grid-template-columns:44px minmax(0,1fr);gap:13px;align-items:start;padding:16px 17px;border:1px solid #eadadb;border-radius:18px;background:linear-gradient(180deg,#fff,#fffaf8);box-shadow:0 12px 28px rgba(44,21,24,.035)}
.bdu-pricing-decision-grid article>span{display:grid;place-items:center;width:44px;height:44px;border:1px solid #efd9db;border-radius:13px;background:var(--bdu-primary-soft);color:var(--bdu-primary-dark)}
.bdu-pricing-decision-grid strong{display:block;margin:1px 0 5px;color:#4d3034;font-size:var(--bdu-text-base);line-height:1.35}
.bdu-pricing-decision-grid p{margin:0;color:#7b5b5f;font-size:var(--bdu-text-sm);line-height:1.58}

.bdu-marketing-plan-grid--detail article{overflow:hidden;min-width:0}
.bdu-marketing-plan-grid--detail article.is-popular{transform:none}
.bdu-marketing-plan-grid--detail article.is-popular::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--bdu-secondary),var(--bdu-primary))}
.bdu-pricing-plan-amount{overflow-wrap:anywhere}
.bdu-pricing-plan-interval{display:inline-flex;align-items:center;width:max-content;max-width:100%;min-height:28px;padding:4px 9px;border:1px solid #f0e0e1;border-radius:999px;background:#fffaf8;color:#8b676a!important;font-weight:750}
.bdu-pricing-plan-description{overflow-wrap:anywhere}
.bdu-marketing-plan-compare{display:inline-flex;align-items:center;min-height:44px;margin-bottom:14px}
.bdu-marketing-plan-grid--detail .bdu-marketing-primary{min-height:46px;text-align:center}

.bdu-pricing-purchase-note{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:start;margin:22px 0 0;padding:17px 18px;border:1px solid #e8d7b3;border-radius:18px;background:linear-gradient(135deg,#fffaf0,#fff);color:#5c4723}
.bdu-pricing-purchase-note>span{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:var(--bdu-secondary-soft);color:#99651b}
.bdu-pricing-purchase-note strong{display:block;margin:1px 0 5px;color:#4d3818;font-size:var(--bdu-text-base)}
.bdu-pricing-purchase-note p{margin:0;color:#765d35;font-size:var(--bdu-text-sm);line-height:1.62}
.bdu-pricing-purchase-note p+p{margin-top:7px}

.bdu-marketing-compare-scroll{scrollbar-gutter:stable}
.bdu-marketing-compare-stack dt,.bdu-marketing-compare-stack dd{overflow-wrap:anywhere}
.bdu-pricing-confidence-head{max-width:720px;margin-bottom:26px}
.bdu-pricing-confidence-head h2{margin:0;font-size:clamp(30px,4vw,44px);line-height:1.08;letter-spacing:-.03em}
.bdu-pricing-confidence-head p{margin:11px 0 0;color:#76575a;font-size:var(--bdu-text-base);line-height:1.68}
#tenang .bdu-marketing-assurances{padding-top:24px}

@media(max-width:680px){
    .bdu-pricing-decision-grid{grid-template-columns:1fr;gap:10px;margin-bottom:18px}
    .bdu-pricing-decision-grid article{padding:14px}
    .bdu-pricing-purchase-note{grid-template-columns:40px minmax(0,1fr);gap:12px;padding:15px}
    .bdu-pricing-purchase-note>span{width:40px;height:40px}
    .bdu-marketing-plan-grid--detail article{padding:20px}
    .bdu-marketing-plan-grid--detail .bdu-marketing-primary,.bdu-marketing-plan-compare{min-height:44px}
    .bdu-pricing-confidence-head{margin-bottom:20px}
}

@media(max-width:390px){
    .bdu-pricing-decision-grid article{grid-template-columns:40px minmax(0,1fr);gap:11px}
    .bdu-pricing-decision-grid article>span{width:40px;height:40px}
    .bdu-marketing-interval label{font-size:var(--bdu-text-xs)}
    .bdu-marketing-interval label small{display:block}
}


/* FAQ self-service discovery and escalation hierarchy. */
.bdu-marketing-faq-jumps{display:grid;gap:9px;margin:0 0 24px;padding:14px 15px;border:1px solid #eadadb;border-radius:16px;background:var(--bdu-surface)}
.bdu-marketing-faq-jumps>span{color:#9a7275;font-size:var(--bdu-text-2xs);font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.bdu-marketing-faq-jumps>div{display:flex;flex-wrap:wrap;gap:7px}
.bdu-marketing-faq-jumps a{display:inline-flex;align-items:center;min-height:38px;padding:0 12px;border:1px solid #e4cfd1;border-radius:999px;background:#fff;color:#6b4348;font-size:var(--bdu-text-xs);font-weight:800;text-decoration:none}
.bdu-marketing-faq-jumps a:hover{border-color:var(--bdu-primary);color:var(--bdu-primary-dark)}
.bdu-marketing-faq-group{scroll-margin-top:88px}
.bdu-marketing-faq-result[aria-live]{min-height:24px}
.bdu-marketing-faq-guides a,.bdu-marketing-faq-permalink a,.bdu-marketing-faq-more a,.bdu-marketing-faq-jumps a{touch-action:manipulation}
.bdu-marketing-faq-escalate{display:inline-flex;align-items:center;justify-content:center;min-height:44px;color:#7b565a;font-size:var(--bdu-text-sm);font-weight:800;text-decoration:underline;text-underline-offset:3px}
.bdu-marketing-faq-escalate:hover{color:var(--bdu-primary-dark)}
.bdu-marketing-faq-list summary,.bdu-marketing-faq-list details p{overflow-wrap:anywhere}
@media(max-width:680px){
    .bdu-marketing-faq-jumps{padding:12px}
    .bdu-marketing-faq-jumps>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
    .bdu-marketing-faq-jumps a,.bdu-marketing-faq-guides a{min-height:44px}
    .bdu-marketing-faq-jumps a{justify-content:center;text-align:center;padding:7px 9px}
    .bdu-marketing-empty .bdu-marketing-primary,.bdu-marketing-empty .bdu-marketing-secondary,.bdu-marketing-faq-escalate{width:100%;margin-top:8px}
}
@media(max-width:390px){
    .bdu-marketing-faq-jumps>div{grid-template-columns:1fr}
}

/* Contact escalation and completion refinements. */
.bdu-marketing-contact-escalation-context{display:flex;align-items:flex-start;gap:10px;border:1px solid #ead7b1;border-radius:14px;background:#fffaf0;padding:12px 14px;color:#694b28}
.bdu-marketing-contact-escalation-context>svg{flex:0 0 auto;margin-top:2px;color:#9b681d}
.bdu-marketing-contact-escalation-context p{margin:0;font-size:var(--bdu-text-xs);line-height:1.6}
.bdu-marketing-contact-complete{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;border:1px solid #cfe8d6;border-radius:22px;background:linear-gradient(145deg,#f7fcf8,#fff);padding:clamp(22px,3vw,32px);box-shadow:0 16px 40px rgba(44,21,24,.05)}
.bdu-marketing-contact-complete-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#e8f7ec;color:#25623a}
.bdu-marketing-contact-complete .bdu-marketing-kicker{margin-bottom:6px;color:#35724a}
.bdu-marketing-contact-complete h2{margin:0;font-size:clamp(28px,3vw,38px);line-height:1.08}
.bdu-marketing-contact-complete p{max-width:680px;margin:10px 0 0;color:#6f5558;line-height:1.65}
.bdu-marketing-contact-complete-note{font-size:var(--bdu-text-sm)}
.bdu-marketing-contact-complete-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.bdu-marketing-contact-channel-card.is-preferred{border-color:#dfb77a;background:linear-gradient(145deg,#fffdf8,#fff);box-shadow:0 14px 32px rgba(113,74,21,.07)}
.bdu-marketing-contact-channel-card>div>span small{display:inline-flex;margin-left:6px;border-radius:999px;background:var(--bdu-secondary-soft);padding:3px 6px;color:#845715;font-size:var(--bdu-text-2xs);font-weight:900;letter-spacing:0;text-transform:none}
.bdu-marketing-contact-channel-card p{margin:2px 0 0;color:#806064;font-size:var(--bdu-text-xs);line-height:1.5}
.bdu-marketing-contact-channel-card.is-preferred .bdu-marketing-contact-channel-icon{border-color:#e7c991;background:#fff8e7;color:#87580f}
@media(max-width:680px){.bdu-marketing-contact-complete{grid-template-columns:1fr;gap:13px;padding:20px}.bdu-marketing-contact-complete-icon{width:44px;height:44px}.bdu-marketing-contact-complete-actions{display:grid;grid-template-columns:1fr}.bdu-marketing-contact-complete-actions a{width:100%;min-height:44px}.bdu-marketing-contact-escalation-context{padding:11px 12px}.bdu-marketing-contact-channel-card>div>span small{margin-left:4px}}

/* About page: one factual story, with a short route to the pages that prove the
   product promises. The trust layer stays quiet so it reads as reference, not
   as another sales banner. */
.bdu-marketing-about-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:26px auto 0}
.bdu-marketing-about-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 13px;border:1px solid #eadadb;border-radius:999px;background:rgba(255,255,255,.72);color:#68484c;text-decoration:none;font-size:var(--bdu-text-sm);font-weight:800}
.bdu-marketing-about-nav a:hover{border-color:#dbaeb2;background:#fff;color:var(--bdu-primary-dark)}
.bdu-marketing-about-nav a:focus-visible,.bdu-marketing-about-trust-grid a:focus-visible{outline:3px solid rgba(224,4,14,.24);outline-offset:3px}
.bdu-marketing-story-grid--about article{display:flex;min-width:0;flex-direction:column}
.bdu-marketing-story-grid--about h2{overflow-wrap:anywhere;text-wrap:balance}
.bdu-marketing-story-grid--about p{overflow-wrap:anywhere}
.bdu-marketing-about-trust{display:grid;gap:24px}
.bdu-marketing-about-identity{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;padding:28px 30px;border:1px solid #eadadb;border-radius:24px;background:linear-gradient(135deg,#fff,#fff8f5);box-shadow:0 14px 36px rgba(44,21,24,.045)}
.bdu-marketing-about-identity h2{max-width:760px;margin:0;font-size:clamp(32px,4vw,48px);line-height:1.06;letter-spacing:-.035em;text-wrap:balance}
.bdu-marketing-about-identity h2 em{color:var(--bdu-primary-dark);font-weight:500}
.bdu-marketing-about-identity p{max-width:70ch;margin:14px 0 0;color:#745458;font-size:var(--bdu-text-base);line-height:1.75}
.bdu-marketing-about-identity-mark{display:grid;place-items:center;width:82px;height:82px;border:1px solid #f0d6d8;border-radius:24px;background:#fff;box-shadow:0 10px 28px rgba(115,0,7,.07);color:var(--bdu-primary-dark);font-family:"Playfair Display",Georgia,serif;font-size:var(--bdu-text-2xl);font-weight:750;letter-spacing:-.03em}
.bdu-marketing-about-trust-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.bdu-marketing-about-trust-grid article{position:relative;display:flex;min-width:0;min-height:230px;flex-direction:column;padding:22px 22px 20px;border:1px solid #eadadb;border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(44,21,24,.035)}
.bdu-marketing-about-trust-grid article::before{content:"";position:absolute;top:-1px;left:20px;width:48px;height:2px;border-radius:99px;background:linear-gradient(90deg,var(--bdu-primary),var(--bdu-secondary))}
.bdu-marketing-about-trust-icon{display:grid;place-items:center;width:40px;height:40px;margin-bottom:14px;border-radius:12px;background:var(--bdu-primary-soft);color:var(--bdu-primary-dark)}
.bdu-marketing-about-trust-grid strong{display:block;color:#4d3236;font-size:var(--bdu-text-md);line-height:1.35;overflow-wrap:anywhere}
.bdu-marketing-about-trust-grid p{margin:9px 0 18px;color:#78585b;font-size:var(--bdu-text-sm);line-height:1.65;overflow-wrap:anywhere}
.bdu-marketing-about-trust-grid article>a,.bdu-marketing-about-trust-actions a{display:inline-flex;align-items:center;min-height:44px;margin-top:auto;color:var(--bdu-primary-dark);text-decoration:none;font-size:var(--bdu-text-sm);font-weight:850;text-underline-offset:4px}
.bdu-marketing-about-trust-grid article>a:hover,.bdu-marketing-about-trust-actions a:hover{text-decoration:underline}
.bdu-marketing-about-trust-actions{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:auto}
.bdu-marketing-about-trust-actions a{margin-top:0}

@media(max-width:1000px){
    .bdu-marketing-story-grid--about{grid-template-columns:1fr}
    .bdu-marketing-about-identity{grid-template-columns:1fr}
    .bdu-marketing-about-identity-mark{width:64px;height:64px;border-radius:18px}
}

@media(max-width:680px){
    .bdu-marketing-about-nav{justify-content:flex-start;gap:7px;margin-top:22px}
    .bdu-marketing-about-nav a{flex:1 1 calc(50% - 4px);padding-inline:10px}
    .bdu-marketing-about-identity{gap:20px;padding:22px 20px;border-radius:20px}
    .bdu-marketing-about-trust-grid{grid-template-columns:1fr;gap:12px}
    .bdu-marketing-about-trust-grid article{min-height:0;padding:20px 18px 17px}
    .bdu-marketing-about-trust-grid article>a,.bdu-marketing-about-trust-actions a{min-height:44px}
}

@media(max-width:390px){
    .bdu-marketing-about-nav a{flex-basis:100%}
    .bdu-marketing-about-trust-actions{display:grid;grid-template-columns:1fr;gap:2px}
}
