/* Professional purchasing and account pages share the storefront's jade palette. */
.b2b-header-link{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:32px;min-height:40px;font-size:11px;white-space:nowrap}
.b2b-header-link .ph{font-size:25px}
.b2b-header-link:hover{color:var(--jade)}
.b2b-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;background:var(--sage);color:var(--jade-dark);font-size:10px;line-height:1.5;letter-spacing:.04em;font-weight:600}
.b2b-badge .ph{font-size:16px}
.product-access-panel{margin:24px 0;padding:25px;background:#eef0e8;border:1px solid #dce2d6}
.product-access-panel h2{font-family:var(--serif);font-size:29px;line-height:1.1;margin:16px 0 10px}
.product-access-panel p{font-size:13px;line-height:1.8;color:var(--muted);margin:0 0 18px}
.product-access-panel .button{width:100%;margin:0}
.product-access-links{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:17px;font-size:11px;line-height:1.8}
.product-access-links a{border-bottom:1px solid #a9b4a5}
.product-access-caption{font-size:10px;line-height:1.6;font-weight:600;color:var(--jade);letter-spacing:.015em}
.product-access-note{font-size:12px;line-height:1.6;color:var(--muted)}
.b2b-stock-status{font-size:13px;color:var(--muted);padding:17px 0;border-block:1px solid var(--line);margin:24px 0}
.b2b-invitation{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:45px;align-items:center;background:var(--sage);padding:36px 40px;margin-bottom:65px}
.b2b-invitation h2{font-family:var(--serif);font-size:36px;line-height:1.12;margin:12px 0}
.b2b-invitation p{max-width:720px;color:var(--muted);font-size:13px;line-height:1.9;margin:0}
.b2b-invitation-actions{display:flex;flex-direction:column;gap:18px;align-items:center}
.b2b-invitation-actions .button{margin:0;white-space:nowrap}
.b2b-invitation-actions .text-link{font-size:12px}
.b2b-account-page{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,7vw,110px);padding-block:65px 95px;align-items:start}
.b2b-back{font-size:12px;gap:9px;margin-bottom:40px}
.b2b-intro>.eyebrow{margin-bottom:20px}
.b2b-intro h1,.quote-heading h1{font-family:var(--serif);font-weight:400;font-size:clamp(44px,4.3vw,65px);letter-spacing:-.025em;line-height:1.04;margin:0 0 22px}
.b2b-intro-copy{font-size:15px;color:var(--muted);line-height:1.9;max-width:450px}
.b2b-steps{list-style:none;padding:0;margin:36px 0 28px}
.b2b-steps li{display:flex;gap:20px;align-items:flex-start;padding:22px 0;border-top:1px solid var(--line)}
.b2b-steps li>span{font-family:var(--serif);font-size:28px;color:var(--gold);line-height:1}
.b2b-steps h2{font-size:15px;font-family:var(--sans);font-weight:500;margin:0 0 8px;line-height:1.5}
.b2b-steps p,.b2b-intro-footnote{font-size:12px;color:var(--muted);line-height:1.9;margin:0}
.b2b-intro-footnote{padding-left:42px;max-width:450px}
.b2b-panel{background:var(--paper);border:1px solid var(--line);padding:36px;box-shadow:0 12px 40px #102c2805}
.b2b-panel h2,.quote-form-panel h2{font-family:var(--serif);font-size:36px;line-height:1.1;font-weight:400;margin:0 0 13px}
.b2b-panel-lead{font-size:13px;line-height:1.9;color:var(--muted);margin:0 0 26px}
.b2b-tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:30px}
.b2b-tabs button{background:none;border:0;border-bottom:2px solid transparent;font:inherit;font-size:13px;padding:0 0 15px;color:var(--muted);cursor:pointer;margin-bottom:-1px}
.b2b-tabs button[aria-selected=true]{color:var(--jade);border-bottom-color:var(--jade);font-weight:600}
.b2b-form{display:flex;flex-direction:column;gap:20px}
.b2b-form>h2{margin:0 0 -10px}
.b2b-form>.b2b-panel-lead{margin:0 0 4px}
.b2b-form .form-grid{gap:19px}
.b2b-form label{font-size:12px;line-height:1.5}
.b2b-form input,.b2b-form textarea{font-size:14px}
.b2b-form input:focus-visible,.b2b-form textarea:focus-visible{outline:2px solid var(--jade);outline-offset:2px}
.b2b-form textarea{resize:vertical;min-height:120px}
.b2b-form .button{width:100%;margin:0;font-size:14px;gap:12px}
.b2b-form .form-error{margin:0;font-size:12px;line-height:1.8}
.b2b-form-note{font-size:11px;line-height:1.9;color:var(--muted);margin:18px 0 0}
.b2b-form>.b2b-form-note{margin:0}
.b2b-form-note a,.b2b-form .checkbox-label a{color:var(--jade);text-decoration:underline;text-underline-offset:3px}
.b2b-field-hint,.b2b-optional{font-size:10px;color:var(--muted);font-weight:400}
.b2b-form .checkbox-label{margin:0;align-items:flex-start;line-height:1.8;gap:11px;font-size:11px}
.b2b-form .checkbox-label input{margin-top:2px;flex-shrink:0}
.b2b-loading{min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);font-size:13px;gap:12px}
.b2b-loading .ph{font-size:32px;color:var(--jade)}
#b2b-load-error .button{margin-top:22px}
#b2b-account>.b2b-badge{margin-bottom:22px}
.b2b-badge[data-status=rejected],.b2b-badge[data-status=suspended]{background:#ece3d7;color:#705337}
.b2b-account-details{margin:30px 0}
.b2b-account-details>div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:20px;border-top:1px solid var(--line);padding:14px 0;font-size:12px;line-height:1.8}
.b2b-account-details dt{color:var(--muted)}
.b2b-account-details dd{margin:0;overflow-wrap:anywhere}
.b2b-account-actions{display:flex;flex-direction:column;align-items:center;gap:22px}
.b2b-account-actions .button{width:100%;margin:0;font-size:14px}
.b2b-account-actions .text-link{font-size:12px}
#b2b-logout-error{font-size:12px;line-height:1.8}
.quote-page{padding-block:45px 95px}
.quote-page>.b2b-back{margin-bottom:35px}
.quote-heading{max-width:660px;margin-bottom:42px}
.quote-heading>.eyebrow{margin-bottom:18px}
.quote-heading>p:last-child{font-size:14px;line-height:1.9;color:var(--muted);max-width:510px;margin:0}
.quote-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,7vw,100px);align-items:start}
.quote-product{background:#eef0e8;border:1px solid #e0e4da}
.quote-product>a{display:block;overflow:hidden}
.quote-product img{width:100%;height:auto;max-height:400px;object-fit:contain;mix-blend-mode:multiply;padding:28px}
.quote-product-copy{padding:26px 30px 22px;border-top:1px solid #dbe0d4}
.quote-product-copy h2{font-family:var(--serif);font-weight:400;font-size:31px;line-height:1.1;margin:10px 0}
.quote-product-copy>p{font-size:13px;line-height:1.8;color:var(--muted);margin:0 0 7px}
.quote-product-copy .product-size{display:block;margin-bottom:18px}
.quote-product-note{font-size:11px;line-height:1.9;color:var(--muted);padding:0 30px 25px;margin:0}
.quote-form-panel{background:var(--paper);padding:32px;border:1px solid var(--line)}
.quote-form-panel .b2b-form>.button{margin-top:4px}
.quote-success{padding:35px 4px;text-align:center}
.quote-success-icon{display:flex;align-items:center;justify-content:center;width:66px;height:66px;border-radius:50%;background:var(--sage);color:var(--jade);font-size:32px;margin:0 auto 24px}
.quote-success>.eyebrow{display:block;margin-bottom:18px}
.quote-success>p{font-size:13px;line-height:1.9;color:var(--muted);max-width:350px;margin:0 auto 24px}
.quote-success>.quote-reference{font-size:16px;font-weight:600;color:var(--jade);margin:20px auto 15px}
.quote-success .button{font-size:14px;margin-top:8px}
.b2b-back:focus-visible,.b2b-header-link:focus-visible,.b2b-tabs button:focus-visible,.product-access-links a:focus-visible{outline:2px solid var(--jade);outline-offset:4px}
@media(max-width:1150px){
  .b2b-header-link>span{display:none}
  .b2b-account-page{gap:40px}
  .b2b-panel{padding:28px}
  .b2b-invitation{gap:28px;padding:30px}
}
@media(max-width:850px){
  .b2b-account-page{grid-template-columns:1fr;padding-block:38px 60px;gap:32px;max-width:640px}
  .b2b-intro h1,.quote-heading h1{font-size:51px}
  .b2b-intro-copy{max-width:none}
  .b2b-steps{display:none}
  .b2b-intro-footnote{padding:0;margin-top:15px;max-width:none}
  .b2b-back{margin-bottom:27px}
  .b2b-invitation{grid-template-columns:1fr}
  .b2b-invitation-actions{align-items:flex-start;gap:16px}
  .quote-grid{gap:28px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
  .quote-form-panel{padding:24px}
  .quote-form-panel .form-grid{grid-template-columns:1fr}
  .quote-product-copy{padding:24px}
  .quote-product-note{padding-inline:24px}
}
@media(max-width:650px){
  .b2b-header-link{min-width:27px;min-height:36px}
  .b2b-header-link .ph{font-size:23px}
  .b2b-account-page{padding-block:28px 50px;gap:25px}
  .b2b-intro>.eyebrow,.quote-heading>.eyebrow{font-size:9px;letter-spacing:.16em}
  .b2b-intro h1,.quote-heading h1{font-size:43px;margin-bottom:17px}
  .b2b-intro-copy{font-size:13px;line-height:1.85}
  .b2b-intro-footnote{font-size:11px}
  .b2b-panel{padding:24px 20px}
  .b2b-panel h2,.quote-form-panel h2{font-size:32px}
  .b2b-panel-lead{font-size:12px}
  .b2b-form .form-grid{grid-template-columns:1fr;gap:17px}
  .b2b-form input,.b2b-form textarea{font-size:16px}
  .b2b-form .button{font-size:12px;min-height:49px}
  .b2b-account-details>div{grid-template-columns:1fr;gap:3px;padding:12px 0}
  .b2b-invitation{padding:25px;margin-bottom:42px}
  .b2b-invitation h2{font-size:32px}
  .b2b-invitation p{font-size:12px}
  .b2b-invitation-actions{align-items:stretch}
  .b2b-invitation-actions .text-link{align-self:flex-start;font-size:11px}
  .product-access-panel{padding:20px;margin:20px 0}
  .product-access-panel h2{font-size:27px}
  .product-access-panel p{font-size:12px}
  .product-access-links{flex-direction:column;align-items:flex-start}
  .product-access-caption{font-size:9px}
  .product-access-note{font-size:10px}
  .quote-page{padding-block:28px 55px}
  .quote-page>.b2b-back{margin-bottom:27px}
  .quote-heading{margin-bottom:27px}
  .quote-heading>p:last-child{font-size:12px}
  .quote-grid{grid-template-columns:1fr;gap:25px}
  .quote-product{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center}
  .quote-product img{padding:12px;max-height:180px}
  .quote-product-copy{padding:20px 16px;border:0}
  .quote-product-copy h2{font-size:25px;margin:8px 0}
  .quote-product-copy>p{font-size:11px}
  .quote-product-copy>.eyebrow{font-size:8px}
  .quote-product-copy .product-size{font-size:11px;margin-bottom:10px}
  .quote-product-note{grid-column:1/-1;padding:0 20px 18px;font-size:10px}
  .quote-form-panel{padding:24px 20px}
  .quote-success{padding:20px 0}
}
@media(max-width:390px){
  .site-header .wordmark{font-size:28px}
  .site-header .header-inner{gap:7px}
  .site-header .cart-toggle>span{font-size:0}
  .site-header .cart-toggle [data-cart-count]{font-size:10px}
  .b2b-intro h1,.quote-heading h1{font-size:38px}
}
