/* PixelsForged site-wide polish layer — shared across studio, product, and admin pages. */
:root{
  --pf-safe-x:max(18px, env(safe-area-inset-left));
  --pf-safe-r:max(18px, env(safe-area-inset-right));
  --pf-focus:#e8541f;
  --pf-ease:cubic-bezier(.22,.8,.22,1);
}
html{scroll-padding-top:88px;text-size-adjust:100%;-webkit-text-size-adjust:100%}
body{min-height:100svh}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid color-mix(in srgb,var(--pf-focus) 70%,transparent);outline-offset:3px}
img,svg,video,canvas{max-width:100%}
[data-pf-reveal]{opacity:0;transform:translateY(14px);transition:opacity .55s var(--pf-ease),transform .55s var(--pf-ease)}
[data-pf-reveal].is-visible{opacity:1;transform:none}
.pf-skip{position:fixed;left:16px;top:12px;z-index:10000;padding:10px 14px;border-radius:999px;background:#17161d;color:white;font:600 13px/1 system-ui;transform:translateY(-160%);transition:transform .2s}
.pf-skip:focus{transform:none}
.pf-progress{position:fixed;inset:0 0 auto;height:2px;z-index:9999;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,#e8541f,#ff9d55);pointer-events:none}
.pf-site-footer{border-top:1px solid rgba(127,127,127,.2);padding:28px max(24px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));font-family:Inter,system-ui,sans-serif}
.pf-site-footer__inner{max-width:1120px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}
.pf-site-footer__brand{font-weight:750;letter-spacing:-.02em;color:inherit}.pf-site-footer__brand span{color:#e8541f}
.pf-site-footer__links{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;font-size:13px;opacity:.72}.pf-site-footer__links a:hover{opacity:1;text-decoration:underline;text-underline-offset:4px}
.pf-back-home{position:fixed;z-index:90;left:max(14px,env(safe-area-inset-left));bottom:max(14px,env(safe-area-inset-bottom));display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid rgba(127,127,127,.22);border-radius:999px;background:color-mix(in srgb,Canvas 88%,transparent);color:CanvasText;box-shadow:0 10px 35px rgba(0,0,0,.12);backdrop-filter:blur(14px);font:650 12px/1 Inter,system-ui;text-decoration:none;transition:transform .2s var(--pf-ease),box-shadow .2s}
.pf-back-home:hover{transform:translateY(-2px);box-shadow:0 14px 38px rgba(0,0,0,.16)}
.pf-back-home i{width:7px;height:7px;background:#e8541f;border-radius:50%;box-shadow:0 0 0 4px rgba(232,84,31,.13)}

/* Marketing pages: more deliberate rhythm and responsive containment. */
body.pf-marketing main>section,body.pf-marketing section{scroll-margin-top:90px}
body.pf-marketing :is(.wrap,.container,.shell,.inner){padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right))}
body.pf-marketing :is(.btn,button,[class*="button"],a[class*="cta"]){min-height:44px}
body.pf-marketing :is(.card,.work,.svc,.price-card,.feature-card,.step){transition:transform .24s var(--pf-ease),box-shadow .24s var(--pf-ease),border-color .24s var(--pf-ease)}
body.pf-marketing :is(.card,.work,.svc,.price-card,.feature-card):hover{transform:translateY(-3px)}
body.pf-marketing h1{max-width:18ch;text-wrap:balance}
body.pf-marketing :is(h2,h3){text-wrap:balance}
body.pf-marketing p{text-wrap:pretty}

/* Admin and app pages: reliable mobile controls without changing product identity. */
body.pf-app :is(input,select,textarea),body.pf-admin :is(input,select,textarea){font-size:max(16px,1em)}
body.pf-admin :is(.sub,.card,.panel){overflow-wrap:anywhere}

@media (max-width:760px){
  html{scroll-padding-top:72px}
  .pf-site-footer__inner{align-items:flex-start;flex-direction:column}
  .pf-site-footer__links{gap:12px 18px}
  .pf-back-home{left:50%;transform:translateX(-50%);bottom:max(10px,env(safe-area-inset-bottom));white-space:nowrap}
  .pf-back-home:hover{transform:translateX(-50%) translateY(-2px)}
  body.pf-marketing{overflow-x:hidden}
  body.pf-marketing :is(.hero,.block,section){min-width:0}
  body.pf-marketing h1{font-size:clamp(36px,11vw,56px)!important;line-height:1.02!important;letter-spacing:-.035em!important}
  body.pf-marketing h2{font-size:clamp(28px,8vw,38px)!important;line-height:1.08!important}
  body.pf-marketing :is(.cta-row,.actions,.hero-actions){display:grid!important;grid-template-columns:1fr!important;width:100%}
  body.pf-marketing :is(.cta-row,.actions,.hero-actions)>*{width:100%;justify-content:center;text-align:center}
  body.pf-marketing :is(.grid,.svc-grid,.work-grid,.steps,.feature-grid,.pricing-grid,.contact-wrap){grid-template-columns:1fr!important}
  body.pf-marketing :is(.wide,[class*="span"]){grid-column:auto!important}
  body.pf-marketing :is(.card,.svc,.work,.step,.price-card,.feature-card){border-radius:18px}
  body.pf-marketing table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  body.pf-admin :is(.toolbar,.sub-top,.sub-actions,.admin-head){align-items:stretch!important;flex-direction:column!important}
  body.pf-admin :is(.sub-actions,.toolbar)>*{width:100%}
  body.pf-app{padding-bottom:max(20px,env(safe-area-inset-bottom))}
}
@media (max-width:390px){
  body.pf-marketing h1{font-size:35px!important}
  body.pf-marketing :is(.wrap,.container,.shell,.inner){padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
  .pf-site-footer{padding-left:18px;padding-right:18px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  [data-pf-reveal]{opacity:1;transform:none}
}
