/* PitLane Graphics theme — base styles. Every color is a theme.json token
   (Pit Wall by default, re-skinned by styles/chalk.json); no hex here. */
:root{
	--pl-red:var(--wp--preset--color--red);--pl-red-deep:var(--wp--preset--color--red-deep);--pl-redtext:var(--wp--preset--color--red-text);
	--pl-black:var(--wp--preset--color--black);--pl-white:var(--wp--preset--color--white);
	--pl-ink:var(--wp--preset--color--ink);--pl-ink2:var(--wp--preset--color--ink-2);--pl-muted:var(--wp--preset--color--muted);--pl-line:var(--wp--preset--color--line);
	--pl-bg:var(--wp--preset--color--bg);--pl-surface:var(--wp--preset--color--surface);--pl-tile:var(--wp--preset--color--tile);
	--pl-band:var(--wp--preset--color--band);--pl-band2:var(--wp--preset--color--band-2);--pl-bandfg:var(--wp--preset--color--band-fg);--pl-bandmuted:var(--wp--preset--color--band-muted);--pl-bandline:var(--wp--preset--color--band-line);
	--pl-hero:var(--wp--custom--pl--hero-bg);--pl-herofg:var(--wp--preset--color--hero-fg);--pl-hero2:var(--wp--preset--color--hero-2);
	--pl-yellow:var(--wp--preset--color--yellow);--pl-ok:var(--wp--preset--color--ok);--pl-okfg:var(--wp--preset--color--ok-fg);--pl-star:var(--wp--preset--color--star);
	--pl-top:var(--wp--custom--pl--top);--pl-topfg:var(--wp--custom--pl--top-fg);--pl-hdr:var(--wp--custom--pl--hdr);--pl-hdrfg:var(--wp--custom--pl--hdr-fg);
	--pl-stage:var(--wp--custom--pl--stage);--pl-stageline:var(--wp--custom--pl--stage-line);--pl-chip:var(--wp--custom--pl--chip);--pl-chipfg:var(--wp--custom--pl--chip-fg);
	--pl-r:var(--wp--custom--pl--radius);--pl-rl:var(--wp--custom--pl--radius-l);--pl-sh:var(--wp--custom--pl--shadow);--pl-shl:var(--wp--custom--pl--shadow-l);
	--pl-gut:var(--wp--custom--pl--gut);--pl-max:var(--wp--custom--pl--max);
	--pl-fd:var(--wp--preset--font-family--display);--pl-fb:var(--wp--preset--font-family--body);
	/* playground sheet colors (the playground block repaints these) */
	--pl-sbg:var(--wp--preset--color--yellow);--pl-sfg:var(--wp--preset--color--black);--pl-sac:var(--wp--preset--color--red);
}
html{-webkit-text-size-adjust:100%}
body.pl-theme{margin:0;-webkit-font-smoothing:antialiased;overflow-x:clip}
.pl-theme *,.pl-theme *::before,.pl-theme *::after{box-sizing:border-box}
.pl-theme img{max-width:100%;height:auto}
:where(.pl-theme) a{color:inherit;text-decoration:none} /* zero specificity: button and link classes always win */
.pl-theme :focus-visible{outline:2px solid var(--pl-red);outline-offset:2px}

/* layout helpers */
.pl-theme .wp-site-blocks > *{margin-block:0}
.pl-full .wp-block-post-content > *{margin-block:0}
.pl-wrap{max-width:var(--pl-max);margin-inline:auto;padding-inline:var(--pl-gut)}
.pl-wrap.is-layout-flex,.pl-wrap.is-layout-grid{width:100%}
.pl-sec{padding:clamp(60px,7vw,88px) 0;position:relative}
.pl-main{padding-block:48px clamp(60px,7vw,88px)}
.pl-full.pl-main{padding-block:0}
.pl-studio.pl-main{padding:0}
.pl-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.pl-grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.pl-grid5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
.pl-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.pl-row{display:flex;align-items:center;gap:16px}
.pl-between{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
.pl-hide-m{}
.pl-show-m{display:none!important}

/* type */
.pl-d{font-family:var(--pl-fd);font-weight:800;text-transform:uppercase;line-height:.92;letter-spacing:-.01em;margin:0;text-wrap:balance}
.pl-hero-h{font-size:var(--wp--preset--font-size--hero)}
.pl-h2{font-size:var(--wp--preset--font-size--section)}
.pl-h3{font-size:var(--wp--preset--font-size--sub)}
.pl-page-title{margin:0 0 16px}
.pl-eb{font:600 13px/1 var(--pl-fb);letter-spacing:.14em;text-transform:uppercase;color:var(--pl-muted);margin:0}
.pl-lead{font-size:var(--wp--preset--font-size--lead);color:var(--pl-ink2);max-width:560px}
.pl-muted{color:var(--pl-muted)}
.pl-small{font-size:13px}
.pl-num{font-variant-numeric:tabular-nums}
.pl-stars{color:var(--pl-star);letter-spacing:2px;font-size:15px}
.pl-cat{font:700 11px/1 var(--pl-fb);letter-spacing:.12em;text-transform:uppercase;color:var(--pl-redtext)}
.pl-cat a{color:inherit}
.pl-ln{display:block;overflow:hidden;padding-bottom:.05em}
.pl-ln > span{display:inline-block}
.pl-accent{color:var(--pl-red)}

/* buttons */
.pl-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 24px;border-radius:var(--pl-r);border:0;font:700 15px/1 var(--pl-fb);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:transform .18s ease,background .18s ease,box-shadow .18s ease,border-color .18s ease;white-space:nowrap;text-decoration:none}
.pl-btn:hover{transform:translateY(-1px)}
.pl-b-red{background:var(--pl-red);color:var(--pl-white);box-shadow:0 8px 20px rgba(225,6,0,.22)}
.pl-b-red:hover{background:var(--pl-red-deep);color:var(--pl-white)}
.pl-b-ink{background:var(--pl-black);color:var(--pl-white)}
.pl-b-ink:hover{color:var(--pl-white)}
.pl-b-ghost{background:transparent;border:1.5px solid var(--pl-line);color:var(--pl-ink)}
.pl-b-ghost:hover{border-color:var(--pl-ink);color:var(--pl-ink)}
.pl-band .pl-b-ghost,.pl-hero .pl-b-ghost{border-color:rgba(255,255,255,.28);color:var(--pl-bandfg)}
.pl-band .pl-b-ghost:hover,.pl-hero .pl-b-ghost:hover{border-color:var(--pl-bandfg);color:var(--pl-bandfg)}
.pl-btn-s{height:46px;padding:0 18px;font-size:14px}
.pl-btn-l{height:56px;padding:0 30px;font-size:16px}
.pl-btn-xl{height:60px;padding:0 34px;font-size:17px}
.pl-btn-full{width:100%}
.pl-chev{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.pl-tlink{display:inline-flex;align-items:center;gap:8px;font-weight:700;border-bottom:2px solid var(--pl-line);padding-bottom:2px;transition:border-color .18s}
.pl-tlink:hover{border-color:var(--pl-red);color:inherit}

/* surfaces */
.pl-card{display:block;background:var(--pl-surface);border:1px solid var(--pl-line);border-radius:var(--pl-rl);overflow:hidden;transition:box-shadow .25s ease,transform .25s ease,border-color .25s ease}
a.pl-card:hover{box-shadow:var(--pl-sh);transform:translateY(-2px);border-color:var(--pl-ink2)}
.pl-tilt{transition:transform .25s ease,box-shadow .25s ease}
.pl-tilt:hover{transform:translateY(-3px) rotate(-.4deg);box-shadow:var(--pl-shl)}
.pl-pill{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 12px;border-radius:999px;background:var(--pl-surface);border:1px solid var(--pl-line);font:600 13px var(--pl-fb);color:var(--pl-ink2);white-space:nowrap;margin:0}
.pl-pill-red{background:var(--pl-red);color:var(--pl-white);border-color:var(--pl-red)}
.pl-badge{position:absolute;top:10px;left:10px;height:24px;padding:0 9px;border-radius:12px;background:rgba(0,0,0,.55);backdrop-filter:blur(6px);font:700 11px/24px var(--pl-fb);letter-spacing:.06em;text-transform:uppercase;color:var(--pl-white);display:flex;align-items:center;gap:6px}
.pl-pills{gap:8px}
.pl-dot{width:7px;height:7px;border-radius:50%;background:var(--pl-okfg);box-shadow:0 0 0 3px rgba(45,179,91,.22);flex:none;display:inline-block}
.pl-rule{height:1px;background:var(--pl-line);transform-origin:left center;margin:24px 0 0}
.pl-band{background:var(--pl-band);color:var(--pl-bandfg)}
.pl-band h1,.pl-band h2,.pl-band h3,.pl-band h4{color:var(--pl-bandfg)}
.pl-band .pl-eb{color:var(--pl-bandmuted)}
.pl-band .pl-pill{background:var(--pl-band2);border-color:var(--pl-bandline);color:var(--pl-bandfg)}
.pl-surface-band{background:var(--pl-surface);border-top:1px solid var(--pl-line);border-bottom:1px solid var(--pl-line)}
.pl-hatch{background-image:repeating-linear-gradient(135deg,transparent 0 12px,rgba(17,17,19,.035) 12px 13px)}
.pl-band.pl-hatch{background-image:repeating-linear-gradient(135deg,transparent 0 12px,rgba(255,255,255,.035) 12px 13px)}
.pl-wedge{position:relative}
.pl-wedge::before{content:"";position:absolute;left:0;right:0;top:-34px;height:35px;background:var(--pl-band);clip-path:polygon(0 100%,100% 0,100% 100%)}
.pl-wedge-end::after{content:"";position:absolute;left:0;right:0;bottom:-34px;height:35px;background:var(--pl-band);clip-path:polygon(0 0,100% 0,0 100%);z-index:1}
.pl-ghost{position:absolute;font-family:var(--pl-fd);font-weight:800;font-style:italic;text-transform:uppercase;line-height:1;font-size:clamp(110px,20vw,280px);color:transparent;-webkit-text-stroke:1.5px rgba(17,17,19,.09);pointer-events:none;user-select:none;white-space:nowrap;margin:0}
.pl-band .pl-ghost{-webkit-text-stroke:1.5px rgba(255,255,255,.08)}
.pl-deco{position:absolute;pointer-events:none;will-change:transform;z-index:1}
.pl-stk{filter:url(#pl-diecut);overflow:visible}
.pl-marq{display:flex;width:max-content;animation:pl-marq 60s linear infinite}
.pl-marq:hover{animation-play-state:paused}
@keyframes pl-marq{to{transform:translateX(-50%)}}
.pl-in{height:52px;border:1px solid var(--pl-bandline);background:var(--pl-band2);border-radius:var(--pl-r);padding:0 14px;color:var(--pl-bandfg);font:16px var(--pl-fb);width:100%;min-width:0}
.pl-progress{position:fixed;left:0;top:0;right:0;height:calc(3px + env(safe-area-inset-top,0px));background:var(--pl-red);transform:scaleX(0);transform-origin:left;z-index:40;pointer-events:none}

/* details (FAQ) */
.pl-theme details.wp-block-details,.pl-faq details{border-top:1px solid var(--pl-line);padding:0}
.pl-faq details:last-child{border-bottom:1px solid var(--pl-line)}
.pl-theme details summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;cursor:pointer;font:700 18px/1.3 var(--pl-fb)}
.pl-theme details summary::-webkit-details-marker{display:none}
.pl-theme details summary::after{content:"";width:32px;height:32px;border-radius:50%;border:1.5px solid var(--pl-line);flex:none;background:center/14px no-repeat url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23141416' stroke-width='2.4'><path d='M12 5v14M5 12h14'/></svg>");transition:transform .2s}
.pl-theme details[open] summary::after{transform:rotate(45deg);border-color:var(--pl-ink)}
.pl-theme details > :not(summary){margin:0 0 20px;color:var(--pl-ink2);max-width:760px;font-weight:400;font-size:16px}

/* top bar + header */
.pl-topbar{background:var(--pl-top);color:var(--pl-topfg);font-size:13px}
.pl-topbar-in{min-height:38px;gap:16px}
.pl-topbar p{margin:0}
.pl-topbar .pl-from{display:flex;align-items:center;gap:10px;font-weight:600;margin:0}
.pl-topbar-r{opacity:.9}
.pl-hdr{position:sticky;top:0;z-index:20;background:var(--pl-hdr);color:var(--pl-hdrfg);border-bottom:1px solid rgba(255,255,255,.08)}
.pl-hdr-in{min-height:78px;gap:36px}
.pl-brand{gap:0;flex:none}
.pl-brand .wp-block-site-logo img,.pl-brand .pl-logo-fallback img{height:40px;width:auto;display:block}
.pl-brand .wp-block-site-logo,.pl-brand .pl-logo-fallback{margin:0}
.pl-brand:has(.wp-block-site-logo img) .pl-logo-fallback{display:none}
.pl-hdr .pl-nav{font-weight:600;font-size:15px;flex:1 1 auto;min-width:0}
.pl-hdr .pl-nav .wp-block-navigation__container{gap:26px}
.pl-hdr .pl-nav .wp-block-navigation-item{white-space:nowrap}
.pl-hdr .pl-nav .wp-block-navigation-item__content{opacity:.88;padding:6px 0;transition:opacity .18s}
.pl-hdr .pl-nav .wp-block-navigation-item__content:hover{opacity:1;color:inherit}
.pl-hdr .pl-nav .wp-block-navigation__responsive-container-open,.pl-hdr .pl-nav .wp-block-navigation__responsive-container-close{color:inherit;width:44px;height:44px;align-items:center;justify-content:center;padding:0}
.pl-hdr .pl-nav .wp-block-navigation__responsive-container.is-menu-open{padding:calc(24px + env(safe-area-inset-top,0px)) var(--pl-gut) 24px}
.pl-hdr .pl-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{gap:18px}
.pl-hdr .pl-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{font:800 34px/1 var(--pl-fd);text-transform:uppercase;opacity:1}
.pl-hdr-actions{margin-left:auto;gap:6px;flex:none}
.pl-ico-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:inherit;margin:0}
.pl-ico-btn a,.pl-ico-btn button{color:inherit;display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:none;border:0;padding:0;cursor:pointer}
.pl-ico-btn svg,.pl-ico-btn .wc-block-mini-cart__icon{width:22px;height:22px}
.pl-ico-btn .wc-block-mini-cart__badge{background:var(--pl-red);color:var(--pl-white);border:0}
.pl-ico-btn .wc-block-mini-cart__quantity-badge{margin:0}
.pl-hdr-actions .pl-cta{margin-left:8px}
.pl-hdr-actions .pl-btn{width:auto}
.pl-cta{margin:0}
.pl-cta.pl-cta-full .pl-btn{width:100%}
body.page-template-page-studio .pl-topbar{display:none}
body.page-template-page-studio .pl-hdr{position:static}

/* footer */
.pl-foot{background:var(--pl-surface);border-top:1px solid var(--pl-line);color:var(--pl-ink)}
.pl-foot-in{padding-top:52px;padding-bottom:28px}
.pl-foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 1fr;gap:30px}
.pl-foot-grid > *{margin:0}
.pl-foot-brand > *,.pl-foot-col > *{margin-block:0}
.pl-foot-logo img{height:40px;width:auto}
.pl-foot-text{color:var(--pl-ink2);margin:16px 0 0!important;max-width:300px}
.pl-foot-brand .pl-pills{margin-top:14px!important}
.pl-foot-brand .pl-foot-soc{margin-top:18px!important}
.pl-foot-col .pl-eb{margin-bottom:14px!important}
.pl-foot-col > * + *{margin-top:10px!important}
.pl-foot-links{list-style:none;margin:0;padding:0;display:grid;gap:10px;color:var(--pl-ink2)}
.pl-foot-links li{margin:0}
.pl-foot-links a:hover{color:var(--pl-redtext)}
.pl-foot-email{color:var(--pl-ink2);margin:0}
.pl-foot-bottom{margin-top:40px;padding-top:20px;border-top:1px solid var(--pl-line);font-size:13px;color:var(--pl-muted);gap:12px}
.pl-foot-bottom p{margin:0}

/* reading pages (page, single, blog list) */
.pl-single .pl-post-meta,.pl-post-meta{gap:12px;align-items:center;font-size:13px;color:var(--pl-muted);margin-bottom:12px}
.pl-post-meta > *{margin:0}
.pl-post-hero{margin:28px 0 36px;border-radius:var(--pl-rl);overflow:hidden}
.pl-post-hero img{display:block;width:100%}
.pl-single .wp-block-post-content{font-size:17px}
.pl-single .wp-block-post-content h2{font-size:34px;margin:40px 0 12px}
.pl-single .wp-block-post-content h3{margin:28px 0 8px}
.pl-single .wp-block-post-content :is(p,li,td,th,figcaption,blockquote,dd) a:not(.pl-btn):not(.pl-tlink):not(.pl-card):not(.pl-product){color:var(--pl-redtext);border-bottom:1px solid currentColor}
.pl-single .wp-block-post-content img{border-radius:var(--pl-r)}
.pl-page .wp-block-post-content a{color:var(--pl-redtext);text-decoration:underline}
.pl-post-nav{margin-top:48px;padding-top:20px;border-top:1px solid var(--pl-line);font-weight:600;gap:16px}
.pl-posts{margin-top:28px}
.pl-post-list{margin:0;padding:0;list-style:none}
.pl-post{gap:18px;padding:18px 0;border-top:1px solid var(--pl-line);margin:0}
.pl-post:last-child{border-bottom:1px solid var(--pl-line)}
.pl-post-img{flex:0 0 118px;width:118px;margin:0;border-radius:10px;overflow:hidden;background:var(--pl-tile)}
.pl-post-img img{display:block;width:100%;height:100%;object-fit:cover}
.pl-post-body{min-width:0}
.pl-post-body > *{margin-block:0}
.pl-post-body .pl-post-meta{margin-bottom:6px}
.pl-post-title{font:700 18px/1.25 var(--pl-fb);text-transform:none;letter-spacing:0;margin:0 0 4px}
.pl-post:hover .pl-post-title{color:var(--pl-redtext)}
.pl-post-x{margin:0;color:var(--pl-ink2);font-size:14px}
.pl-post-x p{margin:0}
.pl-post-x .wp-block-post-excerpt__more-text{display:none}
.pl-pagination{margin-top:32px;font-weight:600}
.pl-pagination .page-numbers.current{color:var(--pl-redtext)}
.pl-search{margin:0 0 8px}
.pl-search .wp-block-search__inside-wrapper{gap:10px}
.pl-search .wp-block-search__input{height:52px;border:1px solid var(--pl-line);border-radius:var(--pl-r);padding:0 14px;background:var(--pl-surface);font:16px var(--pl-fb);color:var(--pl-ink)}
.pl-search .wp-block-search__button{height:52px;padding:0 24px;border:0;border-radius:var(--pl-r);background:var(--pl-black);color:var(--pl-white);font:700 15px/1 var(--pl-fb);letter-spacing:.05em;text-transform:uppercase;cursor:pointer}
.pl-404 .pl-btn{margin-top:8px}
.pl-404 .pl-eb{color:var(--pl-redtext)}

/* phone sticky bar (Home) */
.pl-stickybar{position:fixed;left:0;right:0;bottom:0;z-index:50;display:none;padding:10px var(--pl-gut) calc(10px + env(safe-area-inset-bottom,0px));background:rgba(17,17,19,.94);backdrop-filter:blur(10px);border-top:1px solid var(--pl-bandline);transform:translateY(110%);transition:transform .35s ease;margin:0}
.pl-stickybar.show{transform:translateY(0)}
.pl-stickybar .pl-btn{width:100%;height:50px}

@media (max-width:900px){
	.pl-hide-m{display:none!important}
	.pl-show-m{display:flex!important}
	.pl-grid3,.pl-grid4,.pl-two{grid-template-columns:1fr}
	.pl-grid4.pl-two-m,.pl-grid3.pl-two-m,.pl-grid5{grid-template-columns:repeat(2,minmax(0,1fr))}
	.pl-two{gap:40px}
	.pl-between{flex-direction:column;align-items:stretch}
	.pl-m-stack{flex-direction:column!important;align-items:stretch!important}
	.pl-btn{width:100%}
	.pl-hdr-in{min-height:66px;gap:16px}
	.pl-brand .wp-block-site-logo img,.pl-brand .pl-logo-fallback img{height:32px}
	.pl-wedge::before,.pl-wedge-end::after{display:none}
	.pl-ghost{font-size:90px}
	.pl-deco.pl-hide-m{display:none}
	.pl-foot-grid{grid-template-columns:1fr;gap:26px}
	.pl-foot-bottom{flex-direction:column;align-items:flex-start}
	.pl-post{gap:14px}
	.pl-post-img{flex-basis:92px;width:92px}
	.pl-stickybar{display:block}
	.pl-main{padding-block:32px 60px}
	/* the navigation collapses to the menu button below 900px, not only below 600px */
	.pl-hdr .pl-nav .wp-block-navigation__responsive-container-open:not(.always-shown){display:flex}
	.pl-hdr .pl-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open){display:none}
}
@media (prefers-reduced-motion:reduce){
	.pl-theme *,.pl-theme *::before,.pl-theme *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
	.pl-progress{display:none}
}
