/* Shared Broker Studio type scale and controls. */
@font-face{font-family:'Broker DM Sans';src:url('/assets/dm-sans-variable.ttf') format('truetype');font-style:normal;font-weight:100 1000;font-display:swap}
:root{--bs-title:40px;--bs-heading:28px;--bs-subheading:20px;--bs-body:16px;--bs-label:14px;--broker-font:'Broker DM Sans',Arial,sans-serif}
html:root body,html:root body :is(h1,h2,h3,h4,p,li,small,span,a,label,legend,button,input,select,textarea,summary,figcaption){font-family:'Broker DM Sans',Arial,sans-serif!important}
html:root.broker-navy.broker-silver body h1,html:root body.homepage-premium h1,html:root.broker-navy.broker-silver body .staff-shell.broker-darkroom .staff-main h1,html:root.broker-navy.broker-silver body .wt-topline h1{font-size:var(--bs-title)!important;font-weight:500!important;line-height:1.15!important;letter-spacing:-.035em!important;max-width:100%;overflow-wrap:break-word}
html:root.broker-navy.broker-silver body h2,html:root body.homepage-premium h2,html:root.broker-navy.broker-silver body .wt-app h2{font-size:var(--bs-heading)!important;font-weight:500!important;line-height:1.2!important;letter-spacing:-.025em!important}
html:root.broker-navy.broker-silver body h3,html:root body.homepage-premium h3{font-size:var(--bs-subheading)!important;font-weight:500!important;line-height:1.3!important}
html:root.broker-navy.broker-silver body :is(p,li,input,select,textarea),html:root body.homepage-premium :is(p,li,input,select,textarea){font-size:var(--bs-body)!important;line-height:1.55!important}
html:root.broker-navy.broker-silver body :is(label,legend,summary,button,.button,.staff-primary,.staff-secondary,.broker-account-link),html:root body.homepage-premium :is(label,legend,summary,button,.button){font-size:var(--bs-body)!important;line-height:1.4!important}
html:root.broker-navy.broker-silver body :is(small,figcaption,.eyebrow,.staff-eyebrow,.wt-eyebrow,.wt-footnote,.wt-estimate-note,.wt-footer),html:root body.homepage-premium :is(small,figcaption,.eyebrow,.homepage-small,.bs-film-note,.enhancement-index,.enhancement-review,.comparison-help){font-size:var(--bs-label)!important;line-height:1.5!important}
html:root body :is(button,.button,.staff-primary,.staff-secondary,input:not([type=checkbox]):not([type=radio]):not([type=range]),select){min-height:44px}
html:root body :is(button,.button,.staff-primary,.staff-secondary):not([role=checkbox]):not([role=radio]):not(.staff-help):not(.staff-enlarge){border-radius:10px!important}
html:root body :is(input,select,textarea){box-sizing:border-box;max-width:100%}
/* Text controls retain space around labels, including controls outside My Studio.
   Image cards, icon controls, checkbox and radio primitives keep their own sizing. */
html:root body :is(.button,.small-button,.broker-account-link,.broker-logout-button,.checkout-back,.text-link),
html:root body button:not([class]):not([role]):not([aria-label]),
html:root body :is(.saved-walkthroughs-heading,.saved-video-actions) :is(button,a),
html:root body .wt-app button.wt-text-button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;height:auto;max-width:100%;padding:12px 18px!important;line-height:1.4!important;white-space:normal;overflow-wrap:anywhere;text-align:center}
html:root body :is(.saved-video-actions,.checkout-actions,.broker-account-actions,.staff-actions,.wt-nav){flex-wrap:wrap;gap:12px}
html:root body :is(.saved-video-actions,.checkout-actions,.broker-account-actions,.wt-nav)>*{min-width:0;max-width:100%}
html:root body :is(button,.button,.small-button,.broker-account-link,.broker-logout-button):focus-visible{outline:3px solid #15171b!important;outline-offset:3px}
@media(max-width:480px){html:root body :is(.saved-video-actions,.wt-nav){align-items:stretch}html:root body .saved-video-actions>:is(button,a){flex:1 1 auto}html:root body .wt-app .wt-photo-actions>:is(button,label){width:100%;justify-content:center}}
html:root body :is(.broker-brand-logo,header .brand img){width:220px!important;height:auto!important;max-width:100%;object-fit:contain!important}
html:root body .broker-studio-brand{width:220px}
html:root body :is(.broker-main-menu,.broker-account-actions,header nav){flex-wrap:wrap}
html:root body :is(header nav a,.broker-workflow-tabs a){font-size:16px!important;line-height:1.4!important}
html:root body .skip-to-content{position:absolute;left:16px;top:-100px;z-index:9999;padding:12px 18px;background:white;color:black}
html:root body .skip-to-content:focus{top:12px}
html:root body main{box-sizing:border-box;min-width:0}
html:root body.homepage-premium .hero-copy{padding-top:48px;padding-bottom:36px}
html:root body.homepage-premium .tier h3{font-size:32px!important}
@media(max-width:600px){:root{--bs-title:32px;--bs-heading:24px}html:root body :is(.broker-brand-logo,header .brand img){width:180px!important}html:root body .broker-studio-brand{width:180px}html:root body :is(header nav a,.broker-workflow-tabs a){font-size:14px!important}html:root body.homepage-premium .hero-copy{padding-top:28px;padding-bottom:28px}}

/* Icon glyphs inside text buttons use the same readable foreground. */
html:root body :is(.button,.small-button,.broker-account-link,.broker-logout-button,.nav-login) span{color:inherit!important}

/* One page gutter for the public homepage and the photo studio. */
:root{--bs-page-gutter:max(24px,min(2vw,32px),env(safe-area-inset-left),env(safe-area-inset-right))}
html.broker-navy.broker-silver{--studio-album-gutter:var(--bs-page-gutter)}
body.homepage-premium>header,body.homepage-premium>main,body.homepage-premium>footer{box-sizing:border-box;width:100%;max-width:none;margin-inline:0;padding-inline:var(--bs-page-gutter)}
body.homepage-premium>header{flex-wrap:wrap}
body.homepage-premium .enhancement-copy{width:100%;max-width:640px;min-width:0}
body.homepage-premium .bs-film-demo>div{max-width:640px;min-width:0}
body.homepage-premium .home-login form{width:100%;max-width:600px;justify-self:end}
body.homepage-premium :is(.faq p,.pricing-footnote p,.membership-flexibility){max-width:75ch}
@media(max-width:600px){:root{--bs-page-gutter:max(16px,env(safe-area-inset-left),env(safe-area-inset-right))}}

/* The bundled variable font supplies real weights; do not synthesize them. */
html:root body{font-synthesis:none}
