/* PHP portal integration; retained premium portal styles are in portal.css. */
:root{--pf-green:#24645d;--pf-ink:#203a43;--pf-line:#dfe7e1}html{scroll-padding-top:110px}body.network-mode{background:#f6f5f1;color:var(--pf-ink);font-family:'DM Sans',system-ui,Arial,sans-serif}.cp-header{z-index:20}.cp-no-result[hidden],[data-name][hidden]{display:none!important}.cp-page{min-height:60vh}.cp-company>a{position:relative;display:block}.pf-photo-label{position:absolute;bottom:9px;left:10px;background:#fffef5e8;padding:3px 7px;border-radius:4px;font-size:9px;color:#53645b}.cp-company-grid{align-items:start}.cp-company-grid>.cp-empty-firms{grid-column:1/-1}.pf-kicker{font-size:10px;letter-spacing:2px;color:#426d60;font-weight:700}.pf-heading{padding:35px 0}.pf-heading h1{font-size:42px;line-height:1.2;margin:13px 0 18px;letter-spacing:-1.5px}.pf-heading p{color:#728177;font-size:14px}.pf-directory{min-height:65vh;padding-top:25px;padding-bottom:65px}.pf-directory-layout{display:grid;grid-template-columns:270px 1fr;gap:34px}.pf-filter{background:white;border:1px solid var(--pf-line);padding:24px;border-radius:12px;position:sticky;top:25px}.pf-filter h2{font-size:17px}.pf-filter label{font-size:12px;font-weight:600;display:block;margin:20px 0}.pf-filter input,.pf-filter select{display:block;width:100%;border:1px solid #d7dfd8;border-radius:7px;padding:11px;margin-top:7px;background:#fafbf9;color:#30483d}.pf-filter>.cp-button{width:100%;justify-content:center}.pf-filter>a{display:block;font-size:11px;color:#64766a;text-align:center;margin-top:15px}.pf-result-count{display:flex;justify-content:space-between;gap:12px;margin-bottom:20px;font-size:12px;color:#738277}.pf-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.pf-story-card{background:white;border:1px solid var(--pf-line);border-radius:12px;overflow:hidden}.pf-story-card>img{width:100%;height:235px;display:block}.pf-story-card>div{padding:25px}.pf-story-card h2{font-size:23px;margin-top:13px}.pf-story-card p{color:#687c70;font-size:13px}.pf-info-card{max-width:840px;background:#e7eeea;padding:55px;border-radius:14px;margin:30px auto}.pf-info-card h1{font-size:42px;margin:18px 0}.pf-info-card>p{font-size:16px;line-height:1.9;color:#5e7468}.pf-flash{background:#e7eeea;border:1px solid #ceded4;padding:18px 23px;border-radius:9px;margin:25px 0}.backend-page{padding-top:35px;padding-bottom:60px;min-height:65vh}.backend-page .grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.backend-page .two{grid-template-columns:repeat(2,minmax(0,1fr))}.backend-page .card{background:white;border:1px solid var(--pf-line);border-radius:12px;padding:30px;margin-bottom:24px}.backend-page .card h1{font-size:30px}.backend-page .card h2{font-size:23px}.backend-page .card p{font-size:13px;color:#657a6c}.backend-page .narrow{max-width:550px;margin:20px auto}.backend-page .page-heading{margin-bottom:35px}.backend-page .page-heading h1{font-size:39px;margin-top:16px}.backend-page .eyebrow{color:var(--pf-green);font-size:10px}.backend-page label{display:block;font-size:12px;font-weight:600;margin:20px 0}.backend-page input:not([type=hidden]),.backend-page textarea,.backend-page select{width:100%;display:block;margin-top:8px;border:1px solid #cddbd0;border-radius:7px;padding:12px;background:#fafbf9;font:14px/1.6 inherit;color:#203a43}.backend-page textarea{resize:vertical}.backend-page button,.backend-page .button{padding:12px 22px;background:#24645d;color:white;border:0;border-radius:8px;display:inline-flex;font-size:12px;font-weight:600;cursor:pointer}.backend-page a:not(.button){color:#24645d}.backend-page .badge{display:inline-block;background:#e7eeea;border-radius:20px;padding:4px 12px;font-size:11px;color:#24645d}.backend-page .product{border-top:1px solid var(--pf-line);padding:20px 0}.backend-page .product h3{margin-top:15px}.pf-corporate-logo{display:flex;align-items:center;gap:13px}.pf-corporate-logo>b{height:45px;width:45px;display:grid;place-items:center;background:#2458dc;color:white;font-size:28px;border-radius:9px}.pf-corporate-logo>span{font-size:23px;letter-spacing:-1px;font-weight:750}.pf-corporate-logo small{display:block;font-size:9px;font-weight:500;letter-spacing:.7px;color:#8590a0;margin-top:2px}.pf-preview-notice{background:#faf5e7;color:#7c6740;padding-top:10px;padding-bottom:10px;font-size:11px}.pf-corporate .db-hero-copy h1{font-size:clamp(34px,4vw,58px);overflow-wrap:anywhere}.pf-corporate .db-hero-copy h1 em{font-size:.72em}.pf-corporate .db-hero-copy>p{white-space:normal;overflow-wrap:anywhere}.pf-corporate .db-hero-photo{display:block}.pf-corporate .db-hero-photo img{height:100%;width:100%}.pf-corporate .db-product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.pf-catalog-visual{height:250px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:20px;background:linear-gradient(135deg,#eef1f5,#e5eaf2);color:#72819a}.pf-catalog-visual>span{font-size:9px;letter-spacing:1px}.pf-catalog-visual>b{font-size:90px;font-weight:600;color:#a0aec4;line-height:1}.pf-corporate .db-product-info{padding:24px 0}.pf-corporate .db-product-info h3{font-size:21px}.pf-corporate .db-product-info p{font-size:12px;color:#7a8393}.pf-corporate .db-product-info strong{font-size:12px;display:block;margin-bottom:20px}.pf-about{background:#f4f5f7;padding:65px 0}.pf-about-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;margin-top:22px}.pf-about-grid h2{font-size:38px}.pf-about-grid h2 em{font-style:normal;color:#8c98aa;font-size:.72em}.pf-about-grid p{font-size:15px;line-height:2;color:#697487;overflow-wrap:anywhere}.pf-contact{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding-top:70px;padding-bottom:70px}.pf-contact h2{font-size:36px}.pf-contact>div:last-child{padding-top:20px}.pf-contact p{color:#768193;font-size:13px}.pf-small-note{font-size:11px!important;color:#8b94a2!important;margin-top:20px!important}.pf-company-footer{background:#192232;color:#d4dce7;padding:28px 0;font-size:11px}.pf-empty-catalog{background:#f6f7f9;padding:35px;border-radius:10px;color:#7b8798}.pf-empty-catalog h3{font-size:21px;color:#303e50}.pf-product-detail{padding-top:35px;padding-bottom:65px}.pf-product-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-top:35px}.pf-product-symbol{height:430px;background:#edf0f5;color:#a1adc1;display:grid;place-items:center;font-size:150px}.pf-product-detail-grid h1{font-size:38px;overflow-wrap:anywhere}.pf-product-detail-grid p{font-size:14px;color:#738096;line-height:1.9;overflow-wrap:anywhere}.pf-product-price{display:block;font-size:20px;margin:25px 0}.pf-architecture .pf-corporate-logo>b,.pf-architecture .btn.db-button{background:#80694f}.pf-architecture .db-kicker,.pf-architecture .db-text-link{color:#80694f}.pf-architecture .pf-catalog-visual{background:#efebe5}.pf-architecture .pf-catalog-visual>b{color:#bcafa0}.pf-architecture .pf-about{background:#f5f2ed}.pf-corporate .cp-mobile-toggle{display:none}
@media(max-width:1000px){.pf-directory-layout{grid-template-columns:230px 1fr;gap:20px}.pf-heading h1{font-size:35px}.pf-story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pf-corporate .co-nav{gap:17px}.pf-corporate .co-nav>a{font-size:10px}.pf-corporate-logo>span{font-size:19px}.pf-corporate .db-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.pf-heading{padding:25px 0}.pf-heading h1,.pf-info-card h1{font-size:30px}.pf-directory-layout,.pf-story-grid,.backend-page .grid,.backend-page .two{grid-template-columns:1fr}.pf-filter{position:static}.pf-result-count{margin-top:8px;flex-wrap:wrap}.pf-story-card>img{height:220px}.pf-info-card{padding:30px 24px}.backend-page .card{padding:24px}.backend-page .page-heading h1{font-size:32px}.pf-about-grid,.pf-contact,.pf-product-detail-grid{grid-template-columns:1fr;gap:20px}.pf-corporate .db-product-grid{grid-template-columns:1fr}.pf-corporate .cp-mobile-toggle{display:block}.pf-corporate .co-nav{display:none}.pf-corporate .co-nav.open{display:flex;flex-direction:column;gap:0;padding:15px 25px}.pf-corporate .co-nav>a{padding:12px;width:100%}.pf-corporate-logo>b{height:38px;width:38px}.pf-about{padding:40px 0}.pf-about-grid h2,.pf-contact h2{font-size:29px}.pf-contact{padding-top:40px;padding-bottom:40px}.pf-product-symbol{height:260px;font-size:100px}.pf-product-detail-grid h1{font-size:30px}.pf-company-footer .flex{align-items:flex-start;flex-direction:column;gap:13px}.pf-preview-notice{font-size:10px}.pf-flash{font-size:12px}}
.pf-catalog-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:25px 0}.pf-catalog-summary>div{background:#e7eeea;border:1px solid #d6e2d9;border-radius:12px;padding:23px}.pf-catalog-summary strong{display:block;font-size:32px;line-height:1.2;margin-bottom:7px}.pf-catalog-summary span{font-size:12px;color:#657b6b}.pf-catalog-search{background:white;padding:23px;border:1px solid #dfe7e1;border-radius:12px;margin-bottom:30px}.pf-catalog-search>label{margin:0 0 10px}.pf-catalog-search>div{display:flex;align-items:center;gap:12px}.backend-page .pf-catalog-search input{margin:0}.pf-catalog-search a{font-size:12px}.pf-catalog-group .section-title>span{font-size:11px;color:#788b7b}.pf-edit-details{margin-top:18px;background:#f6f8f5;border-radius:8px;padding:14px}.pf-edit-details summary{color:#24645d;font-size:12px;cursor:pointer;font-weight:650}.pf-edit-details>p{font-size:11px!important;margin-top:14px}.pf-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.pf-service-card{border:1px solid #e3e7ec;padding:30px;border-radius:9px}.pf-service-card h3{font-size:23px;margin-top:20px}.pf-service-card p{font-size:13px;line-height:1.9;color:#778295}.pf-service-card strong{font-size:12px;display:block;margin-bottom:20px}.pf-services-section{border-top:1px solid #e9ecf1}.pf-corporate .co-nav{gap:20px}
@media(max-width:850px){.pf-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pf-catalog-group .section-title{align-items:flex-start;flex-direction:column;gap:8px}.pf-corporate .co-nav{gap:12px}}
@media(max-width:700px){.pf-catalog-summary{grid-template-columns:1fr;gap:12px}.pf-catalog-summary>div{padding:18px;display:flex;align-items:center;gap:20px}.pf-catalog-summary strong{font-size:26px;margin:0}.pf-catalog-search>div{flex-wrap:wrap}.pf-catalog-search input{flex-basis:100%}.pf-services-grid{grid-template-columns:1fr}.pf-service-card{padding:24px}}
.pf-article-body{white-space:normal;font-size:16px;line-height:2.05;overflow-wrap:anywhere}.pf-editor-thumb{max-width:260px;height:150px;object-fit:cover;border-radius:8px;margin-bottom:15px}.backend-page .pf-check{display:flex;align-items:center;gap:10px}.backend-page .pf-check input{width:18px!important;margin:0!important}.backend-page label small{display:block;color:#7a8a7d;font-size:10px;font-weight:400;margin-top:8px}.pf-editor-empty{padding:35px 23px;background:#eef2ed;border-radius:10px;color:#607666;margin:10px 0}.pf-editor-empty h3{font-size:20px;color:#2b4a3e}.pf-editor-empty p{font-size:12px;line-height:1.8}.cp-main-story h1,.cp-discovery h2{overflow-wrap:anywhere}.backend-page .grid.two>.card{min-width:0}.backend-page .card textarea{font-family:inherit}
.pf-recovery{border:2px solid #9dbfac!important;background:#f2f7f1!important}.pf-recovery>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pf-recovery code,.pf-mfa-secret{display:block;font-family:ui-monospace,monospace;letter-spacing:1px;background:#e7eee6;padding:13px 16px;border-radius:7px;overflow-wrap:anywhere;font-size:14px}.pf-mfa-secret{margin:18px 0;font-size:16px}.pf-table-scroll{overflow:auto;border:1px solid #dce6dd;border-radius:8px;margin:20px 0}.pf-compare{border-collapse:collapse;width:100%;min-width:600px;font-size:12px}.pf-compare th,.pf-compare td{text-align:left;vertical-align:top;padding:15px;border-bottom:1px solid #e2eae2;overflow-wrap:anywhere;max-width:400px}.pf-compare thead{background:#edf2ec}.pf-compare td:last-child{background:#f6f8f4}.backend-page .card form+form{margin-top:15px}@media(max-width:700px){.pf-recovery>div{grid-template-columns:1fr}.pf-mfa-secret{font-size:13px}.pf-compare th,.pf-compare td{padding:12px}}

/* v0.8 central city experience */
.pf-national-hero{padding:72px 60px;background:#eaf0eb;border:1px solid #dce5dd;border-radius:28px;margin:24px 0 64px;max-width:1100px}.pf-national-hero h1{font-size:clamp(36px,5vw,64px);line-height:1.1;letter-spacing:-2px;margin:22px 0;color:#163f3c}.pf-national-hero p{max-width:620px;color:#62726c;font-size:18px;line-height:1.8}.pf-national-hero form{display:flex;gap:12px;max-width:720px;margin-top:30px}.pf-national-hero input{flex:1;min-width:0;border:1px solid #d7e0da;border-radius:14px;padding:18px;background:#fff}.pf-city-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px;margin:26px 0 54px}.pf-city-grid>a{display:block;border:1px solid #e1e6df;border-radius:20px;padding:30px;background:#fff;box-shadow:0 12px 35px #183f3906;transition:transform .2s,border-color .2s}.pf-city-grid>a:hover{transform:translateY(-3px);border-color:#789c8d}.pf-city-grid h2{font-size:30px;color:#204d46;margin:18px 0 12px}.pf-city-grid p{font-size:13px;overflow-wrap:anywhere;color:#6b7b75}.pf-city-grid strong{display:block;margin-top:26px;color:#326456}.cp-city-dropdown .cp-drop-panel a{display:block;padding:12px 14px;border-radius:9px}.cp-city-dropdown .cp-drop-panel a:hover{background:#edf3ee}.pf-national-news{margin-top:40px}@media(max-width:640px){.pf-national-hero{padding:36px 24px}.pf-national-hero form{flex-direction:column}.pf-national-hero h1{letter-spacing:-1px}}

.pf-site-city{display:inline-flex;align-items:center;padding:10px 20px;border:1px solid #dce5df;border-radius:100px;color:#28534a;background:#f1f5ef;font-weight:600;font-size:14px}
/* v0.10 management workspace */
.pf-admin-nav{display:flex;flex-wrap:wrap;gap:7px;padding:8px;margin:22px 0 32px;background:#edf2ee;border:1px solid #dce5dd;border-radius:16px}.pf-admin-nav a{padding:12px 17px;border-radius:11px;font-weight:600;color:#526c62}.pf-admin-nav a[aria-current=page]{color:#fff;background:#28564a;box-shadow:0 4px 12px #173f3220}.pf-admin-nav a:hover{background:#dfe9e1}.pf-admin-nav a[aria-current=page]:hover{background:#204b40}.pf-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:25px 0 30px}.pf-metric-grid a{border:1px solid #e1e7df;border-radius:19px;background:#fff;padding:25px;box-shadow:0 8px 25px #163c2c04}.pf-metric-grid strong{display:block;font-size:38px;font-weight:600;color:#28564a;line-height:1.2}.pf-metric-grid span{display:block;margin-top:12px;color:#69786e}.pf-admin-actions,.pf-calendar-tools{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.pf-calendar-tools{margin:20px 0}.pf-calendar-tools form{display:flex;align-items:end;gap:10px;margin-left:auto}.pf-calendar-tools label{margin:0}.pf-calendar{width:100%;border-collapse:collapse;min-width:680px;background:#fff}.pf-calendar th,.pf-calendar td{padding:22px;text-align:left;border:1px solid #e0e7df;vertical-align:top}.pf-calendar thead th{background:#eaf0e9;color:#2b5042}.pf-calendar tbody th{background:#f7f8f4;min-width:145px}.pf-calendar small{display:block;margin-top:7px;color:#758176;line-height:1.8}.pf-calendar td{width:40%}.pf-calendar td p{margin:0 0 14px;overflow-wrap:anywhere}.pf-empty-slot,.pf-muted{color:#7a857b}.pf-management-filter{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px;background:#f5f7f2;border-radius:15px;margin:18px 0}.pf-management-filter label{margin:0;font-size:13px}.pf-management-filter input,.pf-management-filter select{width:100%;min-width:0}.pf-management-filter>a{align-self:center}.pf-pagination{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:20px 0;color:#738075;font-size:13px}.pf-pagination span{margin-right:auto}.backend-page .card{border-radius:20px}.backend-page button,.backend-page .button{border-radius:11px;transition:background .2s,box-shadow .2s}.backend-page input:focus,.backend-page textarea:focus,.backend-page select:focus{outline:2px solid #93b6a4;outline-offset:2px}.cp-button:focus-visible,.cp-nav a:focus-visible,.cp-login:focus-visible,.pf-admin-nav a:focus-visible{outline:3px solid #94b6a2;outline-offset:4px}.cp-button:hover{box-shadow:0 7px 18px #1b463526}.pf-table-scroll{overflow-x:auto;border-radius:16px;margin-bottom:24px}@media(max-width:760px){.pf-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pf-metric-grid a{padding:20px}.pf-admin-nav{gap:4px}.pf-admin-nav a{padding:10px 12px;font-size:12px}.pf-calendar-tools form{width:100%;margin-left:0}.pf-management-filter{grid-template-columns:1fr}.backend-page .page-heading h1{font-size:32px}.pf-calendar th,.pf-calendar td{padding:16px}}
/* v0.11 approved company photography */
.pf-business-logo{width:62px;height:62px;object-fit:contain;background:white;border:1px solid #e2e8df;border-radius:14px;padding:5px}.pf-catalog-visual>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.pf-catalog-visual{position:relative;overflow:hidden}.pf-product-detail-photo{display:block;width:100%;max-height:560px;object-fit:contain;background:#f2f4ed;border-radius:22px}.pf-business-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.pf-business-gallery figure{margin:0}.pf-business-gallery img{display:block;width:100%;height:260px;object-fit:cover;border-radius:18px;transition:filter .2s}.pf-business-gallery a:hover img{filter:brightness(.94)}.pf-business-gallery figcaption{font-size:14px;line-height:1.7;color:#65756b;padding:13px 3px}.pf-owned-images,.pf-image-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:25px}.pf-owned-images article{border:1px solid #e1e7df;border-radius:16px;overflow:hidden;background:#fafbf8}.pf-owned-images article>img{width:100%;height:200px;object-fit:contain;background:#edf0e8}.pf-owned-images article>div{padding:20px}.pf-review-photo{display:block;width:100%;max-height:360px;object-fit:contain;background:#f1f4ec;border-radius:14px;margin-bottom:20px}@media(max-width:760px){.pf-business-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pf-business-gallery img{height:190px}.pf-owned-images,.pf-image-review-grid{grid-template-columns:1fr}.pf-business-logo{width:48px;height:48px}}@media(max-width:420px){.pf-business-gallery{grid-template-columns:1fr}.pf-business-gallery img{height:230px}}

.cp-company-monogram>img{width:100%;height:100%;object-fit:contain;border-radius:inherit;background:white;padding:4px}
/* v0.12 explicit demo environment */
.pf-demo-banner{background:#f2e8cd;border-bottom:1px solid #e4d7b4;color:#67542e;font-size:12px;line-height:1.7}.pf-demo-banner>.wrap{display:flex;align-items:center;gap:15px;padding-top:12px;padding-bottom:12px}.pf-demo-banner strong{white-space:nowrap;letter-spacing:1px;font-size:11px}.pf-demo-banner a{margin-left:auto;font-weight:700;white-space:nowrap}.pf-demo-metric{background:#fff;border:1px solid #e1e7df;border-radius:19px;padding:25px}.pf-demo-metric strong{display:block;font-size:38px;color:#28564a}.pf-demo-metric span{display:block;margin-top:12px;color:#69786e}@media(max-width:760px){.pf-demo-banner>.wrap{flex-wrap:wrap;gap:6px 14px}.pf-demo-banner span{width:100%;order:3}.pf-demo-metric{padding:18px}}
.pf-service-search{border:1px solid #dfe7dd;background:#f6f8f2;border-radius:18px;padding:24px;margin:0 0 35px}.pf-service-search label{display:block;font-size:13px;color:#627464;margin-bottom:10px}.pf-service-search>div{display:flex;gap:12px}.pf-service-search input{min-width:0;flex:1;border:1px solid #dce3d7;border-radius:11px;padding:14px;background:white}@media(max-width:600px){.pf-service-search>div{flex-direction:column}}
