/* Playgrounds / The market, included. All component selectors are scoped. */
.pm-section{--pm-serif:'Playfair Display',Georgia,'Times New Roman',serif;--pm-sans:'Hanken Grotesk',sans-serif;--pm-paper:#fbfaf7;--pm-ink:#2c2a22;--pm-muted:#706f62;--pm-green:#3d5e24;--pm-line:#dcddd2;max-width:1160px;width:calc(100% - 112px);margin:0 auto;padding:65px 0 28px;color:var(--pm-ink);font-family:var(--pm-sans);font-size:14px;-webkit-font-smoothing:antialiased}
.pm-section *,.pm-section *::before,.pm-section *::after{box-sizing:border-box}
.pm-section button{font:inherit;color:inherit;cursor:pointer}
.pm-section button:focus-visible,.pm-section [tabindex]:focus-visible{outline:2px solid #526f37;outline-offset:5px}
.pm-section [hidden]{display:none!important}
.pm-intro{display:grid;grid-template-columns:1.06fr 1fr;gap:84px;align-items:center;margin:0 0 36px}
.pm-intro h2{font-family:var(--pm-serif);font-weight:400;letter-spacing:-.045em;font-size:clamp(40px,4vw,55px);line-height:1.055;margin:0;text-wrap:balance}
.pm-intro p{font-size:15px;line-height:1.85;color:#5a5c50;max-width:406px;margin:0}
.pm-showcase{border:1px solid var(--pm-line);border-radius:7px;background:#f6f5ee;overflow:hidden}
.pm-feature{display:grid;grid-template-columns:36% 64%;align-items:center;min-height:368px;position:relative}
.pm-story{padding:32px 0 23px 33px;min-width:0;position:relative;z-index:1}
.pm-eyebrow{text-transform:uppercase;font-size:9px;line-height:1.6;letter-spacing:.13em;font-weight:500;display:flex;gap:8px;align-items:center;color:#66735a}
.pm-dot{width:5px;height:5px;background:#698154;border-radius:50%;flex:none}
.pm-panels{position:relative;min-height:208px;margin-top:22px}
.pm-panel{outline:none}
.pm-panel h3{font-family:var(--pm-serif);font-weight:400;font-size:36px;line-height:1.08;letter-spacing:-.035em;max-width:335px;margin:0 0 15px;text-wrap:balance}
.pm-panel p{font-size:13px;line-height:1.75;max-width:300px;color:#686b5e;margin:0}
.pm-panel-count{position:absolute;right:0;top:0;font-size:9px;color:#8a8e7c;letter-spacing:.12em;display:none}
.pm-panel-detail{display:flex;align-items:center;color:#546748;font-size:10px;line-height:1.5;margin-top:22px;letter-spacing:.02em}
.pm-panel-detail::before{content:'';width:17px;height:1px;background:#aab89a;margin-right:9px;flex:none}
.pm-panel.is-entering{animation:pm-copy-in .65s cubic-bezier(.2,.8,.3,1) both}
@keyframes pm-copy-in{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:translateX(0)}}
.pm-story-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;max-width:325px;margin-top:7px}
.pm-control-hint{font-size:9px;color:#7c8170;letter-spacing:.02em}
.pm-motion{background:transparent;border:0;display:flex;align-items:center;justify-content:center;gap:6px;padding:7px 0 7px 8px;font-size:10px!important;line-height:1.3;min-height:30px}
.pm-motion svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:1.5}
.pm-motion .pm-play-icon{display:none}
.pm-motion[aria-pressed=true] .pm-play-icon{display:block}
.pm-motion[aria-pressed=true] .pm-pause-icon{display:none}
.pm-art{position:relative;align-self:stretch;display:flex;align-items:center;min-width:0;overflow:hidden}
.pm-map{display:block;width:118%;height:auto;flex:none;max-height:408px;margin-left:-7%;overflow:visible;pointer-events:none;font-family:var(--pm-sans);text-rendering:optimizeLegibility}
.pm-art-note{position:absolute;right:24px;bottom:19px;color:#808372;font-size:8px;letter-spacing:.025em}
.pm-svg-title{font-size:9px;letter-spacing:.6px;fill:#43543a;font-weight:600}
.pm-svg-copy{font-size:11px;fill:#4c5a41}
.pm-svg-small{font-size:8.4px;fill:#6e755f}
.pm-svg-subject{font-size:10.5px;letter-spacing:1.35px;fill:#5a6a4b}
.pm-map-detail{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .75s cubic-bezier(.2,.8,.3,1);pointer-events:none}
.pm-map-detail.is-active{opacity:1;transform:translateY(0)}
.pm-flow{animation:pm-data-flow 2.6s linear infinite;animation-delay:var(--pm-delay,0s)}
@keyframes pm-data-flow{to{stroke-dashoffset:-32}}
.pm-map-point{animation:pm-point 3.8s ease-in-out infinite;animation-delay:var(--pm-delay,0s)}
@keyframes pm-point{0%,100%{opacity:.62}50%{opacity:1}}
.pm-crane{transform-origin:80% 35%;animation:pm-crane 6s ease-in-out infinite}
@keyframes pm-crane{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
.pm-providers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--pm-line);background:#fffefa;position:relative;padding:0 12px}
.pm-provider{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-width:0;background:transparent;border:0;padding:20px 12px 18px;min-height:99px;transition:background .18s ease;text-align:center}
.pm-provider::after{content:'';position:absolute;bottom:0;left:20px;right:20px;height:3px;background:#6c8254;transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.pm-provider.is-active::after{transform:scaleX(1)}
.pm-provider:hover{background:#f6f6ef}
.pm-provider.is-active{background:#edf0e2}
.pm-provider .pm-brand img{transition:transform .2s cubic-bezier(.2,.8,.3,1)}
.pm-provider.is-active .pm-brand img{transform:scale(1.05)}
.pm-brand{height:34px;width:100%;display:flex;align-items:center;justify-content:center;max-width:185px}
.pm-brand img{max-height:34px;max-width:100%;height:auto;width:auto;object-fit:contain;display:block;filter:none;opacity:1}
.pm-brand-fallback{font-size:23px;font-weight:500;letter-spacing:-.6px;white-space:nowrap;line-height:1.1}
.pm-provider[data-provider="1"] .pm-brand-fallback{font-size:21px;letter-spacing:-.55px}
.pm-provider[data-provider="3"] .pm-brand-fallback{font-size:24px}
.pm-provider-category{font-size:10px;color:#747c67;line-height:1.3;white-space:nowrap}
.pm-provider-progress{position:absolute;bottom:0;left:20px;right:20px;height:3px;overflow:hidden;z-index:1;opacity:1}
.pm-provider-progress i{height:100%;width:100%;display:block;background:#3d5e24;transform:scaleX(0);transform-origin:left}
.pm-connect{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:32px 0 12px}
.pm-connect h3{font:400 27px/1.2 var(--pm-serif);letter-spacing:-.03em;margin:8px 0 0}
.pm-connect .pm-eyebrow{font-size:8px;letter-spacing:.12em;color:#7a806d}
.pm-integration-count{font-size:10px;line-height:1.4;white-space:nowrap;color:#747c68;display:flex;align-items:center;gap:13px;padding-bottom:4px}
.pm-integration-count span{font-size:14px}
.pm-marquee{overflow:hidden;position:relative;width:100%;margin-top:26px;padding:13px 0 17px}
/* Edge fades as overlays instead of a mask: masking an animated track forces low-quality
   offscreen rasterization in some browsers and was softening the logos. */
.pm-marquee::before,.pm-marquee::after{content:'';position:absolute;top:0;bottom:0;width:8%;z-index:2;pointer-events:none}
.pm-marquee::before{left:0;background:linear-gradient(90deg,#FBFAF7,rgba(251,250,247,0))}
.pm-marquee::after{right:0;background:linear-gradient(270deg,#FBFAF7,rgba(251,250,247,0))}
.pm-marquee-track{display:flex;width:max-content;animation:pm-marquee 57s linear infinite;will-change:transform;transform:translate3d(0,0,0);backface-visibility:hidden;-webkit-backface-visibility:hidden}
.pm-marquee-group{display:flex;align-items:center;gap:38px;padding-right:38px;flex-shrink:0}
.pm-integration{display:flex;align-items:center;height:28px;width:var(--logo-w);flex:none}
.pm-integration img{display:block;max-width:100%;height:22px;mix-blend-mode:multiply}
@keyframes pm-marquee{to{transform:translateX(-50%)}}
.pm-marquee:hover .pm-marquee-track,.pm-marquee:focus-within .pm-marquee-track{animation-play-state:paused}
.pm-footer{border-top:1px solid var(--pm-line);margin-top:8px;padding:17px 0 2px;display:flex;gap:24px;justify-content:space-between;align-items:center;color:#727867;font-size:11px}
.pm-footer>span{display:flex;align-items:center;gap:9px}
.pm-footer svg{width:13px;height:15px;fill:none;stroke:#758968;stroke-width:1.2;flex:none}
.pm-explore{border:0;border-bottom:1px solid #b4bba9;background:none;padding:3px 0 5px;font-size:11px!important;display:flex;align-items:center;gap:23px;flex:none}
.pm-explore span{transition:transform .2s ease}
.pm-explore:hover span{transform:translateX(3px)}
.pm-summary{padding:22px 24px;background:#f2f3eb;margin-top:17px;border:1px solid var(--pm-line);border-radius:5px}
.pm-summary h3{font:400 25px/1.2 var(--pm-serif);margin:0 0 8px}
.pm-summary p{color:#747969;font-size:12px;line-height:1.5;margin:0}
.pm-summary dl{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;font-size:11px;line-height:1.6;margin:20px 0 0}
.pm-summary dt{font-weight:600;margin-bottom:5px}.pm-summary dd{margin:0;color:#666e5d}
.pm-asset-note{font-size:9px;color:#8a857b;margin:16px 0 0;line-height:1.5}
.pm-section.pm-paused .pm-marquee-track,.pm-section.pm-offscreen .pm-marquee-track,.pm-section.pm-paused .pm-map *,.pm-section.pm-offscreen .pm-map *{animation-play-state:paused!important}
@media(min-width:1550px){.pm-section{max-width:1280px;padding-top:78px}.pm-feature{min-height:400px}.pm-map{max-height:452px}.pm-panels{min-height:220px}.pm-panel h3{font-size:39px;max-width:365px}.pm-story{padding-left:40px}.pm-intro h2{font-size:58px}}
@media(max-width:1050px){.pm-section{width:calc(100% - 76px);padding:43px 0 24px}.pm-intro{gap:58px;margin-bottom:27px}.pm-intro h2{font-size:43px}.pm-intro p{font-size:12px;line-height:1.85}.pm-story{padding:26px 0 18px 26px}.pm-panel h3{font-size:31px;max-width:282px}.pm-panel p{font-size:12px;max-width:248px}.pm-feature{min-height:292px}.pm-panels{min-height:190px;margin-top:19px}.pm-story-controls{max-width:267px}.pm-control-hint{font-size:8px}.pm-art-note{right:17px;bottom:17px}.pm-provider{min-height:89px;padding:16px 8px}.pm-brand-fallback{font-size:21px}.pm-provider[data-provider="1"] .pm-brand-fallback{font-size:18px}.pm-provider[data-provider="3"] .pm-brand-fallback{font-size:22px}.pm-provider-category{font-size:9px}.pm-connect h3{font-size:25px}.pm-connect{margin-top:26px}.pm-marquee-group{gap:29px;padding-right:29px}}
@media(max-width:760px){.pm-section{width:calc(100% - 42px);padding:36px 0 22px}.pm-intro{grid-template-columns:1fr;gap:18px;margin-bottom:25px}.pm-intro h2{font-size:43px;line-height:1.06}.pm-intro h2 br{display:none}.pm-intro p{font-size:13px;line-height:1.75;max-width:520px}.pm-feature{grid-template-columns:1fr}.pm-story{padding:25px 24px 0}.pm-panel h3{font-size:31px;max-width:450px}.pm-panel p{font-size:13px;max-width:400px}.pm-panels{min-height:152px;margin-top:18px}.pm-panel-count{display:block}.pm-panel-detail{margin-top:17px;font-size:10px}.pm-story-controls{max-width:none;margin-top:0}.pm-control-hint{font-size:9px}.pm-art{height:auto;min-height:0;margin:3px 0 10px}.pm-map{width:100%;margin-left:0;max-height:320px}.pm-art-note{bottom:10px;font-size:7px}.pm-providers{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 8px}.pm-provider{min-height:88px}.pm-provider:nth-child(-n+2){border-bottom:1px solid #e7e8df}.pm-brand-fallback{font-size:23px}.pm-provider[data-provider="1"] .pm-brand-fallback{font-size:21px}.pm-provider-category{font-size:10px}.pm-connect{display:block;margin-top:27px}.pm-connect h3{font-size:26px;max-width:360px}.pm-integration-count{margin-top:13px}.pm-marquee{padding-top:10px}.pm-footer{font-size:10px;gap:18px;align-items:flex-start;line-height:1.6}.pm-footer>span{max-width:230px}.pm-explore{font-size:10px!important;gap:10px;white-space:nowrap}.pm-summary dl{grid-template-columns:repeat(2,minmax(0,1fr))}.pm-asset-note{font-size:8px}}
@media(max-width:380px){.pm-section{width:calc(100% - 32px)}.pm-intro h2{font-size:39px}.pm-intro p{font-size:12px}.pm-story{padding:23px 17px 0}.pm-panel h3{font-size:29px;max-width:245px}.pm-panels{min-height:176px}.pm-panel-count{display:none}.pm-brand-fallback{font-size:21px}.pm-provider[data-provider="1"] .pm-brand-fallback{font-size:18px}.pm-provider-category{font-size:9px}.pm-footer{flex-direction:column;gap:12px}.pm-footer>span{max-width:none}}
@media(max-width:760px){.pm-motion{min-height:44px;padding-left:12px}.pm-explore{min-height:36px}}

/* QA: avoid overlap from the decorative counter and unreadable mobile callouts. */
.pm-panel-count{display:none!important}
@media(max-width:760px){.pm-callout{display:none}.pm-svg-subject{font-size:15px}.pm-art-note{font-size:8px}}

/* Content enrichment of the approved market section, not a new composition. */
.pm-section{padding-top:42px;padding-bottom:22px}
.pm-intro{margin-bottom:28px}
.pm-panels{min-height:252px;margin-top:18px}
.pm-panel p{max-width:335px}
.pm-panel-detail{margin-top:18px;align-items:flex-start;max-width:360px}
.pm-panel-detail::before{margin-top:7px}
.pm-overview .pm-panel-detail{margin-top:10px}
.pm-panel-detail strong{font-weight:500;font-size:11px;display:block}
.pm-panel-detail small{display:block;font-size:10px;color:#747b69;margin-top:4px}
.pm-story-controls{max-width:360px}
.pm-fields-toggle{display:flex;align-items:center;gap:13px;border:0;background:none;padding:7px 0;min-height:32px;font-size:10px!important;color:#596a4c!important;text-align:left}
.pm-fields-toggle:hover{color:#2c2a22!important}
.pm-toggle-sign{font-size:16px;line-height:1;font-weight:400}
.pm-source-heading{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#6f785f;margin-bottom:9px}
.pm-fields h3{font-size:29px;line-height:1.08;max-width:370px;margin-bottom:7px}
.pm-fields .pm-question{font-size:11px;color:#657255;line-height:1.5;max-width:390px}
.pm-fields dl{margin:14px 0 0;max-width:365px;display:grid;gap:9px}
.pm-fields dl div{font-size:11px;line-height:1.5}
.pm-fields dt{font-weight:600;color:#4c5842;display:inline}
.pm-fields dt::after{content:' / ';font-weight:400;color:#9b9f91}
.pm-fields dd{display:inline;margin:0;color:#646a5a}
.pm-field-coverage{max-width:370px;border-top:1px solid #d9ddcf;margin-top:14px;padding-top:10px;font-size:10px;line-height:1.5;color:#5e704e}
.pm-field-coverage span{padding:0 6px;color:#a2ad94}
.pm-brand{display:grid;place-items:center;position:relative;width:160px;max-width:100%;height:40px}
.pm-brand img{width:150px;max-width:100%;height:36px;max-height:36px;object-fit:contain;filter:none;opacity:1;position:static}
.pm-brand-fallback{font-size:23px;line-height:1.1}
.pm-provider[data-provider="1"] .pm-brand-fallback{font-size:23px;letter-spacing:-.6px}
.pm-provider[data-provider="3"] .pm-brand-fallback{font-size:23px;line-height:1}
.pm-brand-fallback small{display:block;font-family:var(--pm-sans);font-size:9px;font-weight:400;letter-spacing:.015em;line-height:1.4;margin-top:3px}
.pm-provider{gap:7px;padding-top:16px;padding-bottom:16px}
.pm-provider-category strong{font-weight:500;color:#5a6d47}
.pm-art-note{font-size:9px}
@media(min-width:1550px){.pm-section{padding-top:64px}.pm-panels{min-height:260px}.pm-fields h3{font-size:31px}}
@media(min-width:761px) and (max-width:1050px){.pm-panels{min-height:274px}.pm-fields dl{padding-right:12px}.pm-fields h3{font-size:27px}.pm-fields dl div{font-size:10.5px}.pm-field-coverage{font-size:9px;margin-right:12px}.pm-panel p{max-width:270px}}
@media(max-width:760px){.pm-section{padding-top:36px}.pm-panels{min-height:255px}.pm-panel p{max-width:400px}.pm-fields-toggle{min-height:44px;font-size:11px!important}.pm-story-controls{max-width:none}.pm-fields h3{font-size:29px}.pm-fields dl{max-width:440px;gap:10px}.pm-fields dl div{font-size:12px;line-height:1.6}.pm-fields .pm-question{font-size:12px}.pm-field-coverage{font-size:10px}.pm-brand{width:160px}.pm-brand-fallback,.pm-provider[data-provider="1"] .pm-brand-fallback,.pm-provider[data-provider="3"] .pm-brand-fallback{font-size:21px}.pm-provider-category{font-size:10px}.pm-brand-fallback small{font-size:8px}.pm-art-note{font-size:8px}}
@media(min-width:421px) and (max-width:760px){.pm-panels{min-height:280px}}
@media(max-width:420px){.pm-panels{min-height:295px}.pm-fields h3{font-size:27px}.pm-fields dl{gap:8px}.pm-fields dl div{font-size:11.5px}.pm-panel p{max-width:100%}.pm-panel-detail{max-width:100%}}
@media(max-width:350px){.pm-fields h3{font-size:25px}.pm-panels{min-height:320px}.pm-provider-category{font-size:9px}}

/* One consistent section height: all four source panels share the same grid cell,
   so hovering or switching a source (ATTOM has the longest copy) never resizes it. */
.pm-panels{display:grid;align-items:start}
.pm-panels>.pm-panel{grid-area:1/1}
.pm-panels>.pm-panel[hidden]{display:block!important;visibility:hidden;pointer-events:none}
