/* Pérez & Burgos — shared material finish.
   Load after the page's existing CSS and native-design.css; load the approved
   Home composition after this file. No content, route or state mutations. */
@font-face{font-family:"Newsreader";font-style:normal;font-weight:400 600;font-display:swap;src:url('/assets/fonts/newsreader-latin.woff2') format('woff2')}
@font-face{font-family:"Plus Jakarta Sans PB";font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/plus-jakarta-sans-400-latin.woff2') format('woff2')}
@font-face{font-family:"Plus Jakarta Sans PB";font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/plus-jakarta-sans-700-latin.woff2') format('woff2')}
html:root{
 --sans:"Plus Jakarta Sans PB",Arial,sans-serif;
 --brand:"Plus Jakarta Sans PB",Arial,sans-serif;
 --serif:"Newsreader",Georgia,serif;
 --ink:#102e3c;--ink-2:#173e50;--paper:#f6f3ed;--white:#fffdf9;--surface:#fffdf9;
 --accent:#b58c5c;--accent-2:#dfb47f;--muted:#53646a;--line:rgba(16,46,60,.16);
 --pb-mat-green:url('/assets/pb-green-slate-v1.webp');
 --pb-mat-ivory:url('/assets/pb-ivory-limestone-v1.webp');
 --pb-mat-light:linear-gradient(#f6f3edb8,#f6f3edb8),var(--pb-mat-ivory);
 --pb-mat-paper:linear-gradient(#fffdf9e8,#fffdf9e8),var(--pb-mat-ivory);
 --pb-mat-stone:linear-gradient(120deg,#102e3c80,#173e5073 62%,#244e5e80),var(--pb-mat-green);
 --pb-mat-footer:linear-gradient(#091f286b,#091f286b),var(--pb-mat-green);
 --pb-mat-radius:14px;--pb-mat-shell-radius:18px;--pb-ui-box-radius:14px;--pb-ui-button-radius:12px;
 --pb-mat-card-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 2px 4px rgba(17,46,52,.04),0 9px 22px rgba(17,46,52,.075);
 --pb-mat-shell-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 3px 6px rgba(17,46,52,.035),0 18px 38px rgba(17,46,52,.085);
 --pb-ui-button-sheen:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.025) 58%,rgba(16,46,60,.06));
 --pb-ui-button-shadow:inset 0 1px 0 rgba(255,255,255,.38),inset 0 -1px 0 rgba(16,46,60,.12),0 2px 0 rgba(10,35,43,.2),0 6px 14px rgba(10,35,43,.12);
 --pb-ui-button-shadow-hover:inset 0 1px 0 rgba(255,255,255,.42),inset 0 -1px 0 rgba(16,46,60,.12),0 3px 0 rgba(10,35,43,.2),0 9px 19px rgba(10,35,43,.16);
 /* Existing editorial scales, reused consistently rather than resizing forms. */
 --pb-page-title-size:clamp(2.4rem,3.5vw,3.3rem);
 --pb-section-title-size:clamp(1.72rem,2.55vw,2.65rem);
 --pb-article-title-size:clamp(1.62rem,2.2vw,2.12rem);
 --pb-copy-size:.94rem;--pb-copy-leading:1.6;
}
body{
 --sans:"Plus Jakarta Sans PB",Arial,sans-serif;
 --brand:"Plus Jakarta Sans PB",Arial,sans-serif;
 --serif:"Newsreader",Georgia,serif;
 font-family:var(--sans);
 background-color:#f8f5ef;
 background-image:linear-gradient(#f8f5efc9,#f8f5efc9),var(--pb-mat-ivory);
 background-size:auto,760px 760px;
}
body :is(button,input,select,textarea,legend,label){font-family:var(--sans)}
body :is(.eyebrow,.price-kicker,.service-num,.person-role,.card-label){font-family:var(--sans);font-weight:700;letter-spacing:.03em}
body main :is(h1,h2,h3,h4){font-family:var(--serif)}
/* The few independent templates do not consume the shared editorial scale. */
body:is(.payment-page,.payment-flow,.success-page,.admin-login-page,.admin-body) h1{font-family:var(--serif);font-size:var(--pb-page-title-size);line-height:1.08}
body:is(.admin-login-page,.admin-body) :is(h2,h3,h4){font-family:var(--serif)}
/* Readable documents sit on quiet paper; the material is strongest in broad bands. */
body :is(.services,.process-band,.locations,.team,.pricing,.practice-intro,.service-intro,
 .area-trustbar,.area-related,.area-pricing,.area-services,.service-tariff-hero,
 .model-intro,.model-boundary,.model-seo-guide,.model-related,.model-library-content,
 .legal-product-section,.fiscal-tool-section,.fiscal-results-section,.company-pricing-section,
 .company-online-section,.company-other-section,.company-calculator-section,
 .contact-channels,.consultation-options,.consultation-page-note,.contact-routing,
 .labor-fees-section,.labor-fees-preview,.management-section,.it-path,.it-proof,.it-compare,
 .it-academic-fees,.it-remote,.i18n-hero){
 background-color:var(--paper);
 background-image:var(--pb-mat-light);
 background-size:auto,760px 760px;
}
/* These heroes/bands have plain gradient fills, not narrative photo assets. */
body :is(.practice-hero,.service-hero,.it-guide-hero,.it-page-hero,.legal-hero,
 .seo-page-hero,.areas-hero,.model-hero,.model-detail-hero,.imm-hero,.monitorio-hero,
 .management-hero,.labor-fees-hero,.profile-hero,.verification-hero,
 .method,.contact,.seo-cta,.monitorio-cta,.preparation-band,.legal-product-scope,
 .legal-product-result,.fiscal-tool-summary,.i18n-next,.home-tools-shell){
 background-color:var(--ink);
 background-image:var(--pb-mat-stone);
 background-size:auto,960px 960px;
}
/* The photography in .hero-media, .it-hero and specialist image panels is untouched. */
body :is(.footer,.site-footer,.i18n-footer,.payment-flow-footer,.success-footer){
 background-color:#091f28;
 background-image:var(--pb-mat-footer);
 background-size:auto,960px 960px;
}
/* Standard two-tier navigation: same floating caliza piece as the accepted Home. */
body .site-header{
 background-color:#173b40;
 background-image:linear-gradient(115deg,rgba(15,46,54,.79),rgba(31,66,68,.72)),var(--pb-mat-green);
 background-size:auto,960px 960px;
 border-bottom-color:rgba(196,178,143,.25);
 overflow:visible;
 box-shadow:0 5px 16px rgba(5,29,35,.1);
}
body .site-header>.nav.wrap{
 position:relative;
 width:min(1380px,calc(100% - 24px));max-width:1380px;
 margin:10px auto;padding-inline:12px;
 border:1px solid rgba(222,205,174,.85);border-radius:18px;
 background-color:#f4eee2;
 background-image:linear-gradient(rgba(255,252,245,.91),rgba(242,234,219,.92)),var(--pb-mat-ivory);
 background-size:auto,640px 640px;
 box-shadow:inset 0 1px 0 #fffdf7,0 2px 3px rgba(4,26,33,.15),0 8px 21px rgba(3,24,30,.19);
 overflow:visible;
}
body .site-header :is(.nav-services-menu,.nav-more-areas[open] .nav-services-menu){border-radius:14px}
body .site-header .nav-services-menu>a{border-radius:10px}
body .site-header .nav-secondary-resources>a:is([href='/herramientas-juridicas/'],[href='/modelos-y-escritos-juridicos/']){border-radius:9px}
body .topbar{
 background-color:#0c2834;
 background-image:linear-gradient(#0c2834b8,#0c2834b8),var(--pb-mat-green);
 background-size:auto,960px 960px;
 border-bottom:1px solid rgba(218,193,150,.12);
}
body .topbar :is(.topbar-client-access-v223,.topbar-urgency){
 border-radius:10px;
 box-shadow:inset 0 1px 0 rgba(255,255,255,.17),0 2px 4px rgba(0,16,23,.12);
}
/* International pages keep their own compact, language-aware header structure. */
body.pb-i18n .i18n-header{
 padding-block:8px;
 background-color:#173b40;
 background-image:linear-gradient(115deg,#173b40c9,#173b40b8),var(--pb-mat-green);
 background-size:auto,960px 960px;
}
body.pb-i18n .i18n-header-inner{
 padding-inline:18px;border:1px solid rgba(222,205,174,.85);border-radius:18px;
 background-color:#f7f2e8;background-image:var(--pb-mat-paper);background-size:auto,640px 640px;
 box-shadow:var(--pb-mat-shell-shadow);
}
body .i18n-languages :is(a,span){border-radius:9px}
/* Neutral cards only: dark and featured variants are painted separately below. */
body :is(.service-card,.service-price-card,.price-card,.situation-card,.person,.person-card,
 .resource-card,.resource-preview-card,.model-card,.model-resource-card,.guide-index-card,
 .guide-video-card,.tool-card,.practice-hub-card,.area-route-card,.area-fee-card,
 .labor-price-card,.labor-fees-preview-card,.labor-fees-hero-card,.traffic-fee-card,
 .management-price-card,.management-contact-card,.company-price-card,.company-form-card,
 .prov-service-card,.prov-town-card,.i18n-card,.i18n-service-card,.imm-resource-card,.entry-card,
 .it-service-box,.it-academic-price-card,.it-investment-card,.crossborder-partner-card,.coverage-card,
 .contact-form,.contact-request__form,.contact-request__card,.service-request-panel,
 .service-checkout-panel,.site-search-box,.site-search-panel,.imm-tool-form,.model-value-grid article,
 .process-grid article,.case-list article,.location-grid article,.pathway-grid article,.it-path-grid article,
 .legal-card,.contract-card,.it-card,.it-decision-card,.it-scenario-card){
 border-radius:var(--pb-mat-radius);
 background-image:var(--pb-mat-paper);background-size:auto,640px 640px;
 box-shadow:var(--pb-mat-card-shadow);
}
/* Existing canonical Home card radii are important; this is the one shared override. */
html:root body :is(.situation-card,.price-card,.person,.resource-card){border-radius:14px!important}
body :is(.service-card.featured,.price-card.featured,.situation-card-accent,.priority-card.labor,.practice-hub-card.is-core,
 .labor-price-card.featured,.labor-fees-preview-card.is-featured,.area-route-card.is-featured){
 background-color:var(--ink);background-image:var(--pb-mat-stone);background-size:auto,960px 960px;
 box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 3px 6px rgba(5,29,35,.08),0 12px 26px rgba(5,29,35,.13);
}
/* The pale fills stay pale; alert/result success and error colours are not recoloured. */
body :is(.notice-box,.legal-caution,.imm-guide-caution,.prov-local-notice,.service-credit-note,
 .service-fit-note,.claim-purpose-note,.contact-request__warning,.seo-note,.i18n-callout,
 .tariff-filters,.tariff-matter,.tariff-consultation,.imm-library-toolbar,.model-library-toolbar,
 .guide-video-strip,.guide-consult,.model-detail-index,.guide-toc,.article-toc,.legal-index,
 .contract-price,.withdrawal-box,.service-resource-link,.pbx-related a,.seo-related-list>a,.imm-related-strip>a,.i18n-resources>a,
 .legal-product-shell,.calculator-subpanel,.dismissal-calculator,.temporary-disability-calculator,
 .unemployment-calculator,.traffic-calculator-app,.traffic-calculator-form,.deadline-calculator,
 .fiscal-tool-shell,.fiscal-progressive-panel,.legal-form-section,.legal-product-form){
 border-radius:var(--pb-mat-radius);
 box-shadow:var(--pb-mat-card-shadow);
}
body :is(.service-overview article,.tariff-matter-heading,.tariff-row,.tariff-consultation,
 .service-resource-link,.pbx-related a,.seo-related-list>a,.guide-video-strip,.guide-content article>.guide-toc,
 .model-value-grid article,.legal-product-form,.legal-form-section,.calculator-subpanel){
 background-image:var(--pb-mat-paper);background-size:auto,640px 640px;
}
/* Card corner paint is explicitly inset; shadow-bearing grids are not clipped. */
body :is(.practice-hub-card,.person-card,.guide-index-card,.model-card)::before{border-start-start-radius:14px}
body .practice-hub-card::before{inset-inline-start:14px;inset-block-start:0;border-radius:999px}
body :is(.person-portrait,.person-portrait>img,.person-portrait::after){border-radius:14px!important}
body .person-portrait{overflow:hidden}
body :is(.legal-table-wrap,.tariff-matter-heading,.i18n-service-group,.legal-product-shell){border-radius:14px}
body .tariff-matter-heading{border-end-start-radius:0;border-end-end-radius:0}
body .tariff-matter>.tariff-row:last-child{border-end-start-radius:14px;border-end-end-radius:14px}
/* Disclosures preserve their native open/closed and keyboard behavior. */
body :is(.faq-list,.imm-guide-faq,.i18n-faq) > details{
 border:1px solid rgba(45,71,69,.17);border-radius:14px;
 background-color:#fffdf9;background-image:var(--pb-mat-paper);background-size:auto,640px 640px;
 box-shadow:var(--pb-mat-card-shadow);
}
body :is(.faq-list,.imm-guide-faq,.i18n-faq)>details>summary{border-radius:13px}
body :is(.faq-list,.imm-guide-faq,.i18n-faq)>details[open]>summary{border-end-start-radius:0;border-end-end-radius:0}
body :is(.faq-list,.imm-guide-faq,.i18n-faq)>details[open]{border-color:rgba(159,125,77,.52)}
/* Buttons use the existing fills with a fine glaze; link/help microcontrols stay unboxed. */
html:root body :is(a.button,a.btn,button,input[type='submit'],input[type='button'],input[type='reset']):where(:not(.consultation-price-trigger,.legal-help,.fiscal-help,.management-help,.pb-context-help)){
 border-radius:var(--pb-ui-button-radius);
 box-shadow:var(--pb-ui-button-shadow);
}
html:root body :is(a.button,a.btn,input[type='submit'],input[type='button'],input[type='reset']){
 background-image:var(--pb-ui-button-sheen);box-shadow:var(--pb-ui-button-shadow);
 transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease;
}
html:root body :is(.button-accent,.button-small.nav-cta){
 background-color:var(--accent-2);color:#102b36;border-color:#d6b380;border-bottom-color:#ad8d5e;
 background-image:linear-gradient(180deg,rgba(255,255,255,.2),rgba(255,255,255,.015) 60%,rgba(143,103,54,.09));
}
body.consultation-gateway .site-header .nav-cta{color:#102b36!important}
html:root body :is(.button-dark,.button-small:not(.nav-cta)){
 background-color:#173e50;color:#fff;
 background-image:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,0) 65%,rgba(0,16,23,.11));
}
html:root body .button-ghost{background-image:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,0))}
body .contact-channels__grid>a{
 border-radius:14px;background-image:var(--pb-mat-paper);background-size:auto,640px 640px;
 box-shadow:var(--pb-mat-card-shadow);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
body :is(.contact-form,.contact-request__form,.service-request-panel,.payment-form-area,.legal-product-form)
 :is(input:not([type='checkbox'],[type='radio'],[type='range'],[type='hidden'],[type='file'],[type='submit'],[type='button']),select,textarea){
 border-radius:10px;
}
/* Transaction flows retain their two-column information architecture and statuses. */
body:is(.payment-page,.payment-flow){background-color:#0f2d3b;background-image:var(--pb-mat-stone);background-size:auto,960px 960px}
body :is(.payment-panel,.intake-panel,.success-grid){border-radius:18px;box-shadow:var(--pb-mat-shell-shadow)}
body :is(.payment-intro,.success-story){background-image:var(--pb-mat-stone);background-size:auto,960px 960px;border-radius:18px}
body :is(.payment-form-area,.success-next){background-image:var(--pb-mat-paper);background-size:auto,640px 640px;border-radius:18px}
body.success-page{--success-sans:var(--sans);--success-brand:var(--serif)}
body .payment-flow-header,body .success-header{background-image:var(--pb-mat-paper);background-size:auto,640px 640px}
/* Social landing entries have light ink and translucent dark cards, not paper. */
body[data-social-source],body[data-social-source] .top-wrap{
 background-color:#102e3c;background-image:var(--pb-mat-stone);background-size:auto,960px 960px;
}
body[data-social-source] .hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(2rem,4vw,3rem);line-height:1.08}
body[data-social-source] .entry-card{
 background-color:rgba(15,47,54,.85);
 background-image:linear-gradient(145deg,rgba(43,79,80,.72),rgba(14,43,52,.88)),var(--pb-mat-green);
 background-size:auto,960px 960px;
 box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 9px 22px rgba(3,20,29,.18);
}
body[data-social-source] .resource-preview-card{
 background-color:transparent;background-image:linear-gradient(150deg,rgba(255,242,222,.19),rgba(255,242,222,.06));
 box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 2px 5px rgba(3,20,29,.12);
}
/* Private layouts keep their metrics, state colours and data hierarchy intact. */
body:is(.admin-body,.admin-login-page){font-family:var(--sans);--font-sans:var(--sans)}
body.admin-body{background-image:var(--pb-mat-light);background-size:auto,760px 760px}
body.admin-login-page,body .admin-login-intro,body .admin-header{background-image:var(--pb-mat-stone);background-size:auto,960px 960px}
body .admin-login-card{background-image:var(--pb-mat-paper);background-size:auto,640px 640px}
body.admin-body :is(.case-card,.analytics-card,.admin-system-status>div,.admin-owner-access,.admin-period-filter,.admin-kpis>article){
 border-radius:14px;background-image:var(--pb-mat-paper);background-size:auto,640px 640px;box-shadow:var(--pb-mat-card-shadow);
}
body.admin-body :is(.admin-tabs>a,.admin-period-filter nav>a){border-radius:10px}
body .admin-login-card .admin-password-toggle{transform:translateY(-50%)!important;box-shadow:none;background-image:none}
html:root body :is(.pb-context-help,.consultation-price-trigger,.model-download-support button){box-shadow:none;background-image:none}
/* These selectors outrank immigration-languages.css if its runtime wrapper
   appends that existing sheet later. The language's own ink remains intact. */
body.pb-i18n .i18n-hero{background-color:var(--paper);background-image:var(--pb-mat-light);background-size:auto,760px 760px}
body.pb-i18n .i18n-hero h1{font-family:var(--serif);font-size:var(--pb-page-title-size)}
body.pb-i18n :is(.i18n-card,.i18n-service-card,.i18n-resources>a){border-radius:14px;background-image:var(--pb-mat-paper);background-size:auto,640px 640px;box-shadow:var(--pb-mat-card-shadow)}
body.pb-i18n .i18n-next{background-image:var(--pb-mat-stone);background-size:auto,960px 960px;border-radius:14px}
body.pb-i18n .i18n-footer{background-image:var(--pb-mat-footer);background-size:auto,960px 960px}
body.pb-i18n .i18n-faq>details{border-radius:14px;background-image:var(--pb-mat-paper);background-size:auto,640px 640px;box-shadow:var(--pb-mat-card-shadow)}
/* Deliberately keep Noto Arabic, RTL flow and script-specific leading. */
html[lang='ar'] body.pb-i18n{
 --serif:'PB Arabic','Segoe UI',Tahoma,sans-serif;--sans:'PB Arabic','Segoe UI',Tahoma,sans-serif;
 --brand:'PB Arabic','Segoe UI',Tahoma,sans-serif;
 --pb-page-title-size:clamp(1.85rem,3vw,2.65rem);
 font-family:var(--sans);letter-spacing:normal;
}
html[lang='ar'] body.pb-i18n :is(h1,h2,h3,h4,button,input,select,textarea,legend,label,.eyebrow){font-family:var(--sans)!important;letter-spacing:normal!important}
/* Logical corners retain the border-inline-start language-aware caution stripe. */
html[lang='ar'] body.pb-i18n .i18n-callout{border-radius:14px}
@media(min-width:901px){body .site-header>.nav.wrap{height:112px;min-height:112px}}
@media(min-width:901px) and (max-width:1120px){body .site-header>.nav.wrap{height:106px;min-height:106px;padding-inline:10px}}
@media(min-width:901px) and (max-width:940px){
 body .site-header>.nav.wrap:has(.home-immigration-languages){height:134px;min-height:134px}
 body .site-header>.nav.wrap:has(.home-immigration-languages)>.nav-links{grid-template-rows:80px 52px}
}
@media(max-width:900px){
 html:root{--pb-page-title-size:clamp(2.08rem,9.8vw,2.48rem);--pb-section-title-size:clamp(1.58rem,7.2vw,1.92rem);--pb-article-title-size:clamp(1.5rem,6.8vw,1.78rem)}
 body .site-header>.nav.wrap{width:min(760px,calc(100% - 16px));max-width:760px;margin:8px auto;padding-inline:12px;border-radius:14px}
 body .site-header>.nav.wrap:has(>.nav-links.open){border-radius:14px 14px 0 0}
 body .site-header>.nav.wrap>.brand{min-width:0}
 body .site-header>.nav.wrap>.brand>img{max-width:100%;height:auto}
 body .site-header>.nav.wrap>.menu-toggle{flex:0 0 auto}
 body .site-header>.nav.wrap>.nav-links{
  top:100%;left:-1px;right:-1px;width:auto;max-width:none;padding:16px;
  border:1px solid rgba(222,205,174,.85);border-radius:0 0 14px 14px;
  background:#f7f2e8;box-shadow:0 12px 22px rgba(3,24,30,.17);
  max-height:calc(100vh - 144px);max-height:calc(100dvh - 144px);overflow-x:hidden;overflow-y:auto;
 }
}
@media(max-width:600px){
 body.pb-i18n .i18n-header-inner{padding-inline:12px;border-radius:14px}
 html[lang='ar'] body.pb-i18n{--pb-page-title-size:1.8rem}
}
@media(hover:hover) and (pointer:fine){
 html:root body :is(a.button,a.btn,input[type='submit'],input[type='button'],input[type='reset']):not(:disabled,[disabled],[aria-disabled='true'],.is-disabled):hover{
  transform:translateY(-2px);box-shadow:var(--pb-ui-button-shadow-hover);
 }
 body :is(a.model-card,a.model-resource-card,a.guide-index-card,a.tool-card,a.resource-card,
 a.resource-preview-card,a.practice-hub-card,a.area-route-card,a.prov-town-card,a.i18n-card,
 a.entry-card,.contact-channels__grid>a,:where(.pbx-related a,.service-related-grid>a.service-resource-link,.seo-related-list>a)):not([aria-disabled='true'],.is-disabled):hover{
  transform:translateY(-2px);box-shadow:var(--pb-mat-shell-shadow);
 }
 body .topbar :is(.whatsapp-link,.topbar-client-access-v223,.topbar-urgency):hover{transform:translateY(-1px)}
}
html:root body :is(a.button,a.btn,button,input[type='submit'],input[type='button'],input[type='reset']):where(:disabled,[disabled],[aria-disabled='true'],.is-disabled){transform:none!important;transition:none!important;animation:none!important}
html:root body :is(a.button,a.btn,input[type='submit'],input[type='button'],input[type='reset']):not(:disabled,[disabled],[aria-disabled='true'],.is-disabled):active{transform:translateY(0);box-shadow:inset 0 1px 2px rgba(16,46,60,.13),0 1px 2px rgba(16,46,60,.06)}
@media(prefers-reduced-motion:reduce){
 html:root body :is(a.button,a.btn,button,input[type='submit'],input[type='button'],input[type='reset'],
 a.model-card,a.model-resource-card,a.guide-index-card,a.tool-card,a.resource-card,a.resource-preview-card,
 a.practice-hub-card,a.area-route-card,a.prov-town-card,a.i18n-card,a.entry-card,.contact-channels__grid>a,:where(.pbx-related a,.service-related-grid>a.service-resource-link,.seo-related-list>a),
 .topbar .whatsapp-link,.topbar .topbar-client-access-v223,.topbar .topbar-urgency){
  transform:none!important;transition:none!important;animation:none!important;
 }
}
@media(forced-colors:active){
 html:root{--pb-mat-light:none;--pb-mat-paper:none;--pb-mat-stone:none;--pb-mat-footer:none;--pb-mat-card-shadow:none;--pb-mat-shell-shadow:none;--pb-ui-button-shadow:none;--pb-ui-button-shadow-hover:none;--pb-ui-button-sheen:none}
 body,body :is(.site-header,.site-header>.nav.wrap,.topbar,.i18n-header,.i18n-header-inner,
 .practice-hero,.service-hero,.seo-page-hero,.areas-hero,.model-hero,.model-detail-hero,.imm-hero,
 .footer,.site-footer,.i18n-footer,.payment-flow-footer,.success-footer){background-image:none;box-shadow:none}
 html:root body :is(a.button,a.btn,button,input[type='submit'],input[type='button'],input[type='reset']){background-image:none;box-shadow:none}
}
@media print{
 html:root{--pb-mat-light:none;--pb-mat-paper:none;--pb-mat-stone:none;--pb-mat-footer:none;--pb-mat-card-shadow:none;--pb-mat-shell-shadow:none;--pb-ui-button-shadow:none;--pb-ui-button-shadow-hover:none;--pb-ui-button-sheen:none}
 body{background:#fff!important}
 body :is(.site-header,.site-header>.nav.wrap,.topbar,.i18n-header,.i18n-header-inner,
 .section,.practice-hero,.service-hero,.seo-page-hero,.areas-hero,.model-hero,.model-detail-hero,.imm-hero,
 .footer,.site-footer,.i18n-footer,.payment-flow-footer,.success-footer){background-image:none!important;box-shadow:none!important}
}

/* PB material coverage addendum. Load after global-materials.css, before the
   accepted Home R3 composition. No widget or Home-header rules here. */

/* Four real dark variants must never inherit the neutral card/band paper. */
body :is(.model-boundary,.model-review-cta,.company-online-section,.traffic-fee-card.featured),
body.admin-body .analytics-card.analytics-insight{
 background-color:var(--ink);
 background-image:var(--pb-mat-stone);
 background-size:auto,960px 960px;
}

/* Catalogue choice cards and practical linked resources. */
body .consultation-choice{
 background-color:var(--paper);background-image:var(--pb-mat-light);background-size:auto,760px 760px;
}
body :is(.consultation-option,.consultation-choice__help,.resource-card-grid>a){
 border-radius:14px;
 background-image:var(--pb-mat-paper);background-size:auto,640px 640px;
 box-shadow:var(--pb-mat-card-shadow);
}
body .consultation-options__grid--aligned .consultation-option--labor::before{
 left:14px;right:14px;border-radius:999px;
}
/* These article cards have a bordered table-like parent in the older sheets.
   Keep its column count and breakpoints; give the existing cells room to curve. */
body .seo-card-grid{gap:12px;border:0;border-radius:14px}
body .seo-card-grid>article{
 border:1px solid var(--line);border-radius:14px;
 background-color:#fffdf9;background-image:var(--pb-mat-paper);background-size:auto,640px 640px;
 box-shadow:var(--pb-mat-card-shadow);
}
body .resource-card-grid>a{
 transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease;
}

/* Only one compact public consultation form exists (Labour). Its existing
   inputs, validation, free-email/phone states and service amounts are untouched. */
body.consultation-request-compact .contact-request__form form>fieldset{
 border:1px solid rgba(45,71,69,.14);border-radius:14px;
 background-image:var(--pb-mat-paper);background-size:auto,640px 640px;
 box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 2px 5px rgba(17,46,52,.035);
}
body.consultation-request-compact :is(.consultation-scope-details,.consultation-urgency-details){border-radius:10px}

/* Real radio surfaces are the span next to the input, not the outer label.
   Keep selected fills, outlines and inset rings defined by pago.css. */
body :is(.service-option,.slot-option,.channel-options label)>input+span{
 border-radius:14px;
 box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 2px 5px rgba(17,46,52,.05);
 transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
body .payment-form-area :is(.service-option,.slot-option,.channel-options label)>input:not(:checked)+span{
 background-image:var(--pb-mat-paper);background-size:auto,640px 640px;
}
/* The original :checked rules are more specific than this default surface;
   their fill, border and inset selection ring remain authoritative. */
body :is(.service-option,.slot-option,.channel-options label)>input:disabled+span{
 transform:none!important;transition:none!important;
}
body .payment-form-area :is(.consent-row,.privacy-first-layer,.traffic-note,.consult-credit){border-radius:12px}

/* Personal case portal: retain all data/status ink and its original hero/card
   adjacency, adding material to the exact surfaces that had flat fills. */
body.client-portal-flow .client-portal-main{
 background-color:var(--paper);background-image:var(--pb-mat-light);background-size:auto,760px 760px;
}
body.client-portal-flow .client-portal-hero{
 border-radius:18px 18px 0 0;
 background-color:var(--ink);background-image:var(--pb-mat-stone);background-size:auto,960px 960px;
}
body.client-portal-flow .client-portal-card{
 border-radius:0 0 18px 18px;
 background-color:#fffdf9;background-image:var(--pb-mat-paper);background-size:auto,640px 640px;
 box-shadow:var(--pb-mat-shell-shadow);
}
body.client-portal-flow .client-portal-grid{border-radius:14px}
body.client-portal-flow .client-portal-next{
 border-radius:14px 0 0 14px;
 background-image:var(--pb-mat-paper);background-size:auto,640px 640px;
}
body.client-portal-flow .client-portal-summary{
 border-radius:0 14px 14px 0;
 background-image:linear-gradient(#eee9e0d9,#eee9e0d9),var(--pb-mat-ivory);background-size:auto,640px 640px;
}
body.client-portal-flow :is(.client-requested-docs,.client-upload-closed){border-radius:10px}

/* Keep Arabic's own metrics explicitly. Latin page-title variables must not
   win via older !important main-heading rules on translated runtime pages. */
html[lang='ar'] body.pb-i18n main h1{
 font-family:'PB Arabic','Segoe UI',Tahoma,sans-serif!important;
 font-size:clamp(1.85rem,3vw,2.65rem)!important;
 line-height:1.55!important;letter-spacing:normal!important;font-weight:650!important;
}
html[lang='ar'] body.pb-i18n main :is(h2,h3){
 font-family:'PB Arabic','Segoe UI',Tahoma,sans-serif!important;
 line-height:1.65!important;letter-spacing:normal!important;font-weight:600!important;
}
html[lang='ar'] body.pb-i18n.payment-flow .payment-intro h1{font-size:clamp(1.8rem,2.7vw,2.5rem)!important}
@media(max-width:850px){
 body.client-portal-flow .client-portal-next{border-radius:14px 14px 0 0}
 body.client-portal-flow .client-portal-summary{border-radius:0 0 14px 14px}
}
@media(max-width:600px){
 html[lang='ar'] body.pb-i18n main h1{font-size:1.8rem!important}
 html[lang='ar'] body.pb-i18n.payment-flow .payment-intro h1{font-size:1.75rem!important}
}
@media(hover:hover) and (pointer:fine){
 body .resource-card-grid>a:not([aria-disabled='true'],.is-disabled):hover{
  transform:translateY(-2px);box-shadow:var(--pb-mat-shell-shadow);
 }
 body :is(.service-option,.slot-option,.channel-options label)>input:not(:disabled)+span:hover{
  transform:translateY(-1px);
 }
}
@media(prefers-reduced-motion:reduce){
 body .resource-card-grid>a,
 body :is(.service-option,.slot-option,.channel-options label)>input+span{
  transform:none!important;transition:none!important;animation:none!important;
 }
}
@media(forced-colors:active),print{
 body :is(.service-option,.slot-option,.channel-options label)>input+span{background-image:none;box-shadow:none}
}

/* Final coverage: the same finish on practical resources and the Labour band. */
body .practical-resource-grid article{
 border-radius:14px;background-color:#fffdf9;
 background-image:var(--pb-mat-paper);background-size:auto,640px 640px;
 box-shadow:var(--pb-mat-card-shadow);
}
body .calma.section.labor-calma-v221{
 background-color:var(--ink);background-image:var(--pb-mat-stone);background-size:auto,960px 960px;
}
body:is(.service-page,.tariff-page) main :is(h2,h3){font-family:var(--serif)}
html:root body :is(a.button,a.btn,button,input[type='submit'],input[type='button'],input[type='reset']):where(:disabled,[disabled],[aria-disabled='true'],.is-disabled){
 box-shadow:none;transform:none!important;
}
/* One unobtrusive assistant access in the existing navigation, including when
   the floating launcher temporarily yields to the page's real controls. */
body .site-header .nav-resources:has(>.pb-nav-assistant){gap:clamp(10px,1.4vw,24px)}
html:root body .site-header .nav-resources>.pb-nav-assistant{
 display:inline-flex;align-items:center;justify-content:center;flex:0 0 34px;
 width:34px;height:34px;min-height:34px;padding:5px;margin:0;
 border:1px solid #b9a887;border-radius:10px;
 background:linear-gradient(#fff8eacc,#ece0cacc);color:#24484d;
 box-shadow:inset 0 1px 0 #fffdf5,0 2px 4px #14333a16;
 cursor:pointer;font:700 12px/1.4 var(--sans);
 transition:transform .18s ease,box-shadow .18s ease;
}
body .site-header .pb-nav-assistant>svg{width:23px;height:23px;flex:0 0 23px}
body .site-header .pb-nav-assistant>span{display:none}
body .site-header .pb-nav-assistant:focus-visible{outline:2px solid #8a653e;outline-offset:3px}
@media(min-width:901px) and (max-width:1120px){
 body .site-header .nav-resources:has(>.pb-nav-assistant){gap:10px}
}
@media(max-width:900px){
 html:root body .site-header .nav-resources>.pb-nav-assistant{
  width:auto;min-height:40px;height:auto;padding:7px 12px;gap:8px;flex:0 0 auto;
  justify-self:start;
 }
 body .site-header .pb-nav-assistant>span{display:inline}
}
@media(hover:hover) and (pointer:fine){
 html:root body .site-header .nav-resources>.pb-nav-assistant:hover{transform:translateY(-1px);box-shadow:inset 0 1px 0 #fffdf5,0 4px 7px #14333a26}
}
@media(prefers-reduced-motion:reduce){
 html:root body .site-header .nav-resources>.pb-nav-assistant{transform:none!important;transition:none!important}
}

/* Final two observed green surfaces. Reading paper remains quiet and unchanged. */
body :is(.guide-consult,.calculator-result.comprehensive-result){
 background-color:var(--ink);
 background-image:var(--pb-mat-stone);
 background-size:auto,960px 960px;
}

/* Global PB launcher only. Loaded at the end of each rendered head. */
body #pb-intake-root.pb-intake .pb-launcher{
 position:fixed!important;right:18px!important;bottom:18px!important;left:auto!important;
 align-items:center!important;justify-content:flex-start!important;box-sizing:border-box!important;
 width:218px!important;min-width:218px!important;max-width:calc(100vw - 24px)!important;
 height:58px!important;min-height:58px!important;padding:9px 13px 9px 9px!important;gap:10px!important;
 overflow:hidden!important;border:1px solid #b7a07c!important;border-bottom-color:#9d8159!important;border-radius:19px!important;
 background-color:#eee3d0!important;
 background-image:linear-gradient(#faf5eae8,#e5d7bee8),url('/assets/pb-ivory-limestone-v1.webp')!important;
 background-size:auto,320px 320px!important;color:#123a43!important;
 box-shadow:inset 0 1px 0 #fffffff0,0 3px 0 #78664840,0 10px 25px #09253133!important;
 transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}
body #pb-intake-root.pb-intake .pb-launcher .pb-launcher-mark{
 display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;
 width:36px!important;height:36px!important;flex:0 0 36px!important;padding:3px!important;
 background:linear-gradient(155deg,#32585b,#11333d)!important;color:#f1ddbc!important;
 border:1px solid #9f8c69!important;border-radius:12px!important;
 box-shadow:inset 0 1px 0 #ffffff24,0 1px 3px #0c273526!important;
}
body #pb-intake-root.pb-intake .pb-launcher .pb-robot-symbol{display:block!important;width:27px!important;height:27px!important;flex:none;overflow:visible;color:inherit}
body #pb-intake-root.pb-intake .pb-launcher .pb-launcher-copy{
 display:block!important;flex:1 1 auto!important;min-width:0!important;width:auto!important;max-width:100%!important;
 margin:0!important;padding:0!important;overflow:hidden!important;text-align:start!important;
}
body #pb-intake-root.pb-intake .pb-launcher .pb-launcher-copy>strong{
 display:block!important;white-space:nowrap!important;font:600 13px/1.25 var(--sans,Arial,sans-serif)!important;
 letter-spacing:0!important;color:#153d45!important;
}
body #pb-intake-root.pb-intake .pb-launcher .pb-launcher-copy>small{
 display:block!important;white-space:nowrap!important;font:400 10px/1.3 var(--sans,Arial,sans-serif)!important;
 letter-spacing:0!important;color:#496168!important;margin-top:3px!important;
}
body #pb-intake-root.pb-intake .pb-launcher .pb-launcher-short{display:none!important}
body #pb-intake-root.pb-intake .pb-launcher .pb-launcher-pulse{display:none!important}
body #pb-intake-root.pb-intake .pb-launcher:focus-visible{outline:2px solid #b78d50!important;outline-offset:4px!important}
body #pb-intake-root.pb-intake .pb-launcher.is-compact{
 width:148px!important;min-width:148px!important;height:48px!important;min-height:48px!important;
 padding:7px!important;gap:8px!important;border-radius:16px!important;
}
body #pb-intake-root.pb-intake .pb-launcher.is-compact .pb-launcher-mark{
 width:32px!important;height:32px!important;flex:0 0 32px!important;padding:2px!important;border-radius:10px!important;
}
body #pb-intake-root.pb-intake .pb-launcher.is-compact .pb-launcher-copy>strong,
body #pb-intake-root.pb-intake .pb-launcher.is-compact .pb-launcher-copy>small{display:none!important}
body #pb-intake-root.pb-intake .pb-launcher.is-compact .pb-launcher-short{
 display:inline!important;font:600 13px/1.2 var(--sans,Arial,sans-serif)!important;color:inherit!important;white-space:nowrap!important;
}
body #pb-intake-root.pb-intake .pb-launcher.is-compact.is-icon{
 width:54px!important;min-width:54px!important;height:54px!important;min-height:54px!important;
 padding:8px!important;gap:0!important;justify-content:center!important;border-radius:18px!important;
}
body #pb-intake-root.pb-intake .pb-launcher.is-compact.is-icon .pb-launcher-mark{width:36px!important;height:36px!important;flex:0 0 36px!important}
body #pb-intake-root.pb-intake .pb-launcher.is-compact.is-icon .pb-launcher-copy{display:none!important}
body #pb-intake-root.pb-intake[data-launcher-dock="left"] .pb-launcher{left:18px!important;right:auto!important}
body #pb-intake-root.pb-intake[data-launcher-dock="right"] .pb-launcher{left:auto!important;right:18px!important}
/* Replace only the old footer display gate. Native dialog ownership of [hidden] wins. */
body #pb-intake-root.pb-intake[data-page-footer-visible="1"] .pb-launcher:not([hidden]){display:flex!important}
body #pb-intake-root.pb-intake .pb-launcher[hidden]{display:none!important}
@media(hover:hover) and (pointer:fine){
 body #pb-intake-root.pb-intake .pb-launcher:hover{
  transform:translateY(-3px)!important;border-color:#9a7849!important;
  box-shadow:inset 0 1px 0 #ffffff,0 4px 0 #78664840,0 14px 29px #09253140!important;
 }
}
body #pb-intake-root.pb-intake .pb-launcher:active{transform:translateY(0)!important}
@media(max-width:600px){
 body #pb-intake-root.pb-intake .pb-launcher{right:12px!important;bottom:calc(12px + env(safe-area-inset-bottom,0px))!important}
 body #pb-intake-root.pb-intake[data-launcher-dock="left"] .pb-launcher{left:12px!important;right:auto!important}
 body #pb-intake-root.pb-intake[data-launcher-dock="right"] .pb-launcher{left:auto!important;right:12px!important}
}
@media(prefers-reduced-motion:reduce){
 body #pb-intake-root.pb-intake .pb-launcher{transition:none!important}
 body #pb-intake-root.pb-intake .pb-launcher:hover{transform:none!important}
}

/* Open mobile menu: readable bronze ink on the limestone navigation. */
body .site-header .menu-toggle[aria-expanded="true"]{color:#765634}
