/* Canonical MEFZ visual roles. Generated from notes/system-audit-20261105/roles.json. */
:root{--bg:#f4efe8;--fg:#1b1916;--mut:#6f6a62;--line:#ddd5c8;--brass:#c29448;--brass2:#8e6424;--card:#fbf8f3;--mefz-soft:#eae2d5;--mefz-copy:#4a463f;--mefz-card-copy:#5e5951;--mefz-radius:8px;--mefz-gap:20px}
body{font-family:Onest,Arial,sans-serif;font-weight:300;background:var(--bg);color:var(--fg)}
body .lb,body .home-label,body .eyebrow,body .pp small,body .hot2 small,body .kd2 small,body .feat small,body .dp>small,body .dp .ph small,body .buy-contact-label,body .sr-dark small,body .sr-hero-note small,body .card-type,body .panel-sub,body .filter label,body .quantity-field label,body .request-box label,body .request-item label,body .request-item small,body .gallery-topline,body .spec-pair span,body .spec-table caption,body .mf-navigation h6,body .contact-item small,body .nx-history-copy>small,body .nx-client small,body .dc small,body .audit-image-note,body .ch .map .cap small{font-family:Onest,Arial,sans-serif!important;font-size:12.5px!important;font-weight:300!important;line-height:1.5!important;letter-spacing:normal!important;text-transform:none!important}
body .ah h1,body .ch h1,body .hub-intro h1,body .intro h1,body .detail-copy h1{font-family:Onest,Arial,sans-serif!important;font-size:64px!important;font-weight:200!important;line-height:1.04!important;letter-spacing:-.025em!important;text-transform:none!important}
body .bh .h,body .buy-heading .h,body .section-head h2,body .legacy-catalog .hd h2,body .cnA .top .h,body .pq .h,body .tour .h,body .contact-faq-copy>h2,body .related .section-heading h2{font-family:Onest,Arial,sans-serif!important;font-size:64px!important;font-weight:200!important;line-height:1.04!important;letter-spacing:-.025em!important;text-transform:none!important}
body .home-hero-bottom .sub h2,body .nx-service-copy h3,body .nx-history-copy h3,body .st-title,body .sr-work-group h3,body .buy-payment h3,body .buy-contact-a h3,body .feat h4,body .rq1 h6,body .hub-panel h2,body .request-box h2,body .empty h2{font-family:Onest,Arial,sans-serif!important;font-size:24px!important;font-weight:400!important;line-height:1.25!important;letter-spacing:normal!important;text-transform:none!important}
body .bi h5,body .rq-condition h3,body .pp h4,body .hot2 h4,body .kd2 h4,body .cnA .g6 h4,body .pq h5,body .pq .gi b,body .dc h5,body .dp h4,body .buy-steps h4,body .st-panel h4,body .sr-edm-text h3,body .sr-work-group h4,body .product-info h3,body .request-item h3,body .category-tile h3,body .detail-inline-description h2,body .faq-item h3,body .audit-job h4{font-family:Onest,Arial,sans-serif!important;font-size:19px!important;font-weight:400!important;line-height:1.25!important;letter-spacing:normal!important;text-transform:none!important}
body .txt,body .lead,body .goal,body .home-hero-bottom .sub p,body .legacy-catalog .hd p,body .nx-history-copy>p,body .hub-intro p,body .intro p,body .detail-copy .description,body .faq-answer p,body .contact-item>p,body .buy-payment dd{font-family:Onest,Arial,sans-serif!important;font-size:15px!important;font-weight:300!important;line-height:1.6!important;letter-spacing:normal!important;text-transform:none!important}
body .bi p,body .nx-service-copy p,body .rq-condition p,body .pp p,body .hot2 p,body .kd2 p,body .cnA .g6 p,body .pq li,body .pq .gi,body .dp p,body .dp .dln span,body .buy-steps p,body .buy-contact-note,body .st-panel p,body .st-examples .equipment-items li,body .sr-edm-text p,body .sr-specs p,body .sr-work-group p,body .spec-pair b,body .detail-order>p,body .detail-inline-description .rich,body .detail-inline-description .rich p,body .finish-options li,body .side-help p,body .mf-intro,body .mf-contacts,body .request-box p,body .rq1 dl>div,body .audit-job-detail p{font-family:Onest,Arial,sans-serif!important;font-size:13.5px!important;font-weight:300!important;line-height:1.6!important;letter-spacing:normal!important;text-transform:none!important}
body .btn>span:not(header span),body .btn:not(:has(>span)):not(header .btn),body .buy-contact-actions a,body .mf-email{font-family:Onest,Arial,sans-serif!important;font-size:13.5px!important;font-weight:400!important;line-height:1.5!important;letter-spacing:normal!important;text-transform:none!important}
body header .btn>span,body header .btn:not(:has(>span)),body .add,body .gallery-tabs button,body .view-button,body .text-button,body .reset,body .product-actions>a,body .dchips button,body .contact-more,body .panel-action,body .audit-route{font-family:Onest,Arial,sans-serif!important;font-size:12.5px!important;font-weight:400!important;line-height:1.5!important;letter-spacing:normal!important;text-transform:none!important}
body .rq1 dt,body .buy-payment dt,body .spec-table td:first-child,body .hub-links small,body .count,body .mf-bottom,body .buy-step-number,body .st-number{font-family:Onest,Arial,sans-serif!important;font-size:12.5px!important;font-weight:300!important;line-height:1.5!important;letter-spacing:normal!important;text-transform:none!important}
body .hub-links a,body .hub-links.single a,body .service-hub-links a,body .catalog-five a,body .tree a,body .tree summary,body .mf-navigation li{font-family:Onest,Arial,sans-serif!important;font-size:13.5px!important;font-weight:300!important;line-height:1.5!important;letter-spacing:normal!important;text-transform:none!important}
body .contact-item>a,body .ch .facts.f2 b,body .dpm .ph b,body .sr-hero-note b{font-family:Onest,Arial,sans-serif!important;font-size:24px!important;font-weight:400!important;line-height:1.25!important;letter-spacing:normal!important;text-transform:none!important}
body .dp .dln b,body .hot2>b,body .kd2>b,body .mf-phone,body .tour .inf b,body .vbar>span{font-family:Onest,Arial,sans-serif!important;font-size:19px!important;font-weight:400!important;line-height:1.25!important;letter-spacing:normal!important;text-transform:none!important}
body .cnA .g6>div>b,body .sr-specs b{font-family:Onest,Arial,sans-serif!important;font-size:46px!important;font-weight:200!important;line-height:1.1!important;letter-spacing:-.025em!important;text-transform:none!important}
body .mf-copy h3{font-family:Onest,Arial,sans-serif!important;font-size:38px!important;font-weight:200!important;line-height:1.12!important;letter-spacing:-.025em!important;text-transform:none!important}
body .lb,body .home-label,body .eyebrow,body .pp small,body .hot2 small,body .kd2 small,body .feat small,body .dp>small,body .dp .ph small,body .buy-contact-label,body .sr-dark small,body .sr-hero-note small,body .card-type,body .panel-sub,body .filter label,body .quantity-field label,body .request-box label,body .request-item label,body .request-item small,body .gallery-topline,body .spec-pair span,body .spec-table caption,body .mf-navigation h6,body .contact-item small,body .nx-history-copy>small,body .nx-client small,body .dc small,body .audit-image-note,body .ch .map .cap small{color:var(--mut)!important}
body .txt,body .lead,body .goal,body .home-hero-bottom .sub p,body .legacy-catalog .hd p,body .nx-history-copy>p,body .hub-intro p,body .intro p,body .detail-copy .description,body .faq-answer p,body .contact-item>p,body .buy-payment dd{color:var(--mefz-copy)!important}
body .bi p,body .nx-service-copy p,body .rq-condition p,body .pp p,body .hot2 p,body .kd2 p,body .cnA .g6 p,body .pq li,body .pq .gi,body .dp p,body .dp .dln span,body .buy-steps p,body .buy-contact-note,body .st-panel p,body .st-examples .equipment-items li,body .sr-edm-text p,body .sr-specs p,body .sr-work-group p,body .spec-pair b,body .detail-order>p,body .detail-inline-description .rich,body .detail-inline-description .rich p,body .finish-options li,body .side-help p,body .mf-intro,body .mf-contacts,body .request-box p,body .rq1 dl>div,body .audit-job-detail p{color:var(--mefz-card-copy)!important}
body .rq1 dt,body .buy-payment dt,body .spec-table td:first-child,body .hub-links small,body .count,body .mf-bottom,body .buy-step-number,body .st-number{color:var(--mut)!important}

/* One text palette, retaining explicit contrast on dark components. */
body :is(.lb,.home-label,.eyebrow,.pp small,.dp>small,.buy-contact-label,.card-type,.panel-sub,.filter label,.quantity-field label,.gallery-topline,.spec-pair span,.mf-navigation h6,.contact-item small,.dc small,.rq1 dt,.buy-payment dt){color:var(--mut)}
body :is(.txt,.lead,.goal,.hub-intro p,.detail-copy .description,.faq-answer p){color:var(--mefz-copy)}
body :is(.bi p,.nx-service-copy p,.rq-condition p,.pp p,.kd2 p,.cnA .g6 p,.pq li,.pq .gi,.dp p,.buy-steps p,.buy-contact-note,.st-panel p,.st-examples .equipment-items li,.sr-edm-text p,.sr-specs p,.sr-work-group p,.detail-order>p,.detail-inline-description .rich,.side-help p,.mf-intro,.mf-contacts){color:var(--mefz-card-copy)}
body :is(.hot2,.dpm,.rq-order,.cnA .g6>.d,.hub-sale,.sr-dark){background-color:var(--fg);color:var(--bg)}
body :is(.hot2,.dpm,.rq-order,.cnA .g6>.d,.hub-sale,.sr-dark) :is(p,small,.panel-sub){color:#c2baad!important}
body :is(.pp,.dp,.cnA .g6>div,.rq-condition,.dc,.feat,.st-panel,.buy-payment,.buy-contact-a,.hub-panel){border-color:var(--line);border-radius:var(--mefz-radius)}
body :is(.pp,.dp:not(.dpm),.rq-condition:not(.rq-order),.dc,.feat,.st-panel:not(.st-panel-soft),.buy-payment,.hub-panel:not(.hub-sale):not(.hub-zipper)){background-color:var(--card)}
body :is(.st-panel-soft,.buy-contact-a,.hub-zipper){background-color:var(--mefz-soft)}
body :is(.ppl,.dep,.cnA .g6,.rq-conditions,.shelf,.cards,.hub-mosaic,.buy-steps){gap:20px}
body :is(.pp,.dp,.cnA .g6>div,.rq-condition,.dc){padding:24px}
body :is(.st-panel,.buy-payment,.buy-contact-a,.hub-panel,.rq1){padding:28px}
body .hub-panel h2{max-width:100%}
body .hub-panel{border-radius:8px}
body .shelf{grid-template-columns:repeat(3,minmax(0,1fr))}
body a.dc{height:auto;min-height:300px;gap:12px}
body .dc .pv{flex:none}
body .dc small{margin-top:auto}
body .dc h5{margin-top:0}
body .docs[data-filter=diploma] .shelf,body .docs[data-filter=other] .shelf{grid-template-columns:repeat(4,minmax(0,1fr))}
body .product-image,body .detail-gallery{border-color:var(--line);border-radius:8px}
body .product-info h3{letter-spacing:normal}
body .related{margin-top:96px}
body .related .section-heading{margin-bottom:40px}
/* Shared action colour and weight. Split-arrow buttons retain their existing anatomy. */
body .btn>span,body .btn>i,body .btn:not(:has(>span)),body .buy-contact-actions .buy-call,body .mf-email{background:var(--brass);color:var(--fg);border-color:var(--brass)}
body .btn>span{display:flex;align-items:center;justify-content:center;min-height:48px;padding-top:0;padding-bottom:0}
body .btn>i{width:48px}
body .btn:not(:has(>span)),body .buy-contact-actions a,body .mf-email{min-height:48px;border-radius:4px}
body .btn.o>span,body .btn.o>i,body .btn.o2>span,body .btn.o2>i,body .btn.outline,body .buy-contact-actions .buy-write{background:transparent;border:1px solid #bdb3a4;color:var(--fg)}
body .btn.dark{background:var(--fg);border-color:var(--fg);color:var(--bg)}
body header .btn:has(>span){background:transparent;border:0;padding:0;gap:4px;min-height:36px;align-items:stretch}body header .btn>span{padding:0 20px;min-height:36px;border-radius:4px}body header .btn>i{display:grid;place-items:center;font-style:normal;border-radius:4px;font-size:17px}
body header .btn>i{width:36px}
body header .btn:not(:has(>span)){min-height:36px}
body .add{min-height:36px;border-color:#bdb3a4;border-radius:4px}
body :is(.contact-more,.panel-action,.product-actions>a,.audit-route){color:var(--brass2)}
/* Contacts: two balanced cards, content centred around the same internal axis. */
body .buyers-a .buy-payment,body .buyers-a .buy-contact-a{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:32px 28px}
body .buyers-a .buy-payment h3{margin:0 0 28px}
body .buyers-a .buy-payment dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px;width:100%;max-width:640px}
body .buyers-a .buy-payment dl>div{display:block;border:0;padding:0;min-width:0}
body .buyers-a .buy-payment dd{margin-top:8px}
body .buyers-a .buy-contact-a h3{margin-top:12px}
body .buyers-a .buy-contact-note{margin:12px 0 24px}
body .buyers-a .buy-contact-actions{align-items:stretch;align-self:center;width:100%;max-width:360px;margin:0 0 24px}
body .buyers-a .buy-contact-actions a{white-space:normal}
body .buyers-a .buy-other{align-self:center;width:100%;max-width:360px;margin:0;padding-top:20px}
body .buy-phone-list{grid-template-columns:1fr;text-align:left}
body .buy-phone-list a{margin:auto}
body .rq1 h6{font-size:24px;font-weight:400;line-height:1.25;text-transform:none;letter-spacing:normal;color:var(--fg);margin-bottom:20px}
/* Documents use the site's four-column grid, with one two-column featured certificate. */
body .docs,body .docs[data-filter=diploma],body .docs[data-filter=other]{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:stretch}
body .docs .feat{grid-column:span 2}
body .docs .shelf,body .docs[data-filter=diploma] .shelf,body .docs[data-filter=other] .shelf{display:contents}
body .feat{grid-template-rows:auto auto auto}
body .feat dl{align-self:start}
@media(max-width:1100px){body .docs{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){
body .ah h1,body .ch h1,body .hub-intro h1,body .intro h1,body .detail-copy h1{font-size:40px!important;line-height:1.08!important}
body .bh .h,body .buy-heading .h,body .section-head h2,body .legacy-catalog .hd h2,body .cnA .top .h,body .pq .h,body .tour .h,body .contact-faq-copy>h2,body .related .section-heading h2{font-size:36px!important;line-height:1.08!important}
body .docs,body .docs[data-filter=diploma],body .docs[data-filter=other]{grid-template-columns:repeat(2,minmax(0,1fr))}
body .related{margin-top:64px}body .related .section-heading{margin-bottom:32px}
body .buyers-a .buy-payment dl{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*{transition-duration:.01ms!important;animation-duration:.01ms!important}}
