:root{--py-blue:#0000ff;--py-ink:#231f20;--py-muted:#777;--py-max:1300px}
html{scroll-behavior:smooth}
body{margin:0!important;background:#fff;color:var(--py-ink);font-family:"RF Dewi",Dewi,Arial,sans-serif!important;font-size:18px;line-height:1.5;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
a{color:inherit}

/* Shared header */
header.site{display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:121px;padding:28px 50px!important;border-bottom:1px solid var(--py-ink)!important}
header.site .logo{display:block!important;width:168px!important;height:64px!important;flex:0 0 168px!important;padding:0!important;text-decoration:none!important}
header.site .logo img{display:block;width:100%;height:100%;object-fit:contain}
header.site>div{white-space:nowrap}
header.site .back,header.site .switch{color:var(--py-blue)!important;font-size:13px!important;text-transform:uppercase;text-decoration:underline;text-underline-offset:3px}

/* Shared page rhythm */
.hero,section.hero-section{padding:64px max(24px,calc((100vw - var(--py-max))/2))!important;border:0!important;border-bottom:1px solid var(--py-ink)!important}
section:not(.hero-section):not(.visual-library){padding:70px max(24px,calc((100vw - var(--py-max))/2))!important;border-top:0!important;border-bottom:1px solid var(--py-ink)!important}
.wrap-inner{max-width:var(--py-max)!important;margin:0 auto!important}
.eyebrow{margin:0 0 18px!important;color:var(--py-muted)!important;font-size:13px!important;line-height:1.2;letter-spacing:.08em;text-transform:uppercase}
h1,h1.hero{max-width:18ch!important;margin:0 0 28px!important;color:var(--py-blue)!important;font-size:clamp(38px,5.4vw,76px)!important;line-height:1.02!important;font-weight:700!important;text-transform:uppercase!important;overflow-wrap:anywhere}
.lede{max-width:850px!important;margin:0!important;color:var(--py-ink)!important;font-size:clamp(19px,2vw,25px)!important;line-height:1.45!important}
.cta{display:inline-block!important;margin-top:28px!important;color:var(--py-blue)!important;font-size:16px;font-weight:700;text-transform:uppercase;text-decoration:underline;text-underline-offset:3px}
h2,h2.section-title{max-width:22ch!important;margin:0 0 36px!important;padding:0!important;color:var(--py-blue)!important;font-size:clamp(28px,3.5vw,48px)!important;line-height:1.05!important;font-weight:700!important;text-transform:uppercase!important}
h2.section-title span{color:inherit!important}

/* Shared content components */
.grid{border:1px solid var(--py-ink)}
.card{min-height:190px;padding:30px}
.card h3,.case h3,.sublist-label,.process-grid .item:before{color:var(--py-blue)!important}
.steps .step,.process-grid .item{border-top:1px solid var(--py-ink)!important}
.stats,.stats-row{border:1px solid var(--py-ink)!important;background:var(--py-ink)}
.stats .stat,.stats-row .stat{background:#fff}
.stats-row{padding:0!important}
.stats-row .divider{width:1px;background:var(--py-ink)}
.stats-row .stat{padding:28px!important}
.stats .num,.stats-row .num{color:var(--py-blue)!important;font-weight:700!important}
.pill{border-color:var(--py-ink)!important;border-radius:0!important}
.pill:hover{background:var(--py-blue)!important;border-color:var(--py-blue)!important;color:#fff!important}

/* Images and cases */
.visual-library{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;padding:0!important;background:var(--py-ink);border-top:0!important;border-bottom:1px solid var(--py-ink)!important}
.visual-library figure{margin:0;background:#fff;overflow:hidden;aspect-ratio:4/5}
.visual-library img{display:block;width:100%;height:100%;object-fit:cover}
.client-grid{border-top:1px solid var(--py-ink)!important;border-left:1px solid var(--py-ink)!important}
.client-cell{min-height:58px;border-right:1px solid var(--py-ink)!important;border-bottom:1px solid var(--py-ink)!important;padding:14px 16px!important;font-size:13px!important}
.client-cell.active,.client-cell:hover{background:var(--py-blue);color:#fff!important}
.case-tab-content{border-color:var(--py-ink)!important}
.case-photos{gap:1px!important;background:var(--py-ink)}
.case-photos img{aspect-ratio:4/5!important;object-fit:cover!important;background:#fff}
.case-card .name{color:var(--py-blue)!important;font-size:clamp(24px,3vw,38px)!important;text-transform:uppercase}

/* One FAQ system for details and legacy button markup */
.faq details,.faq-item,.faq-itemNone{position:relative;border-top:1px solid var(--py-ink)!important}
.faq details:last-child,.faq-item:last-child,.faq-itemNone:last-child{border-bottom:1px solid var(--py-ink)!important}
.faq summary,.faq-trigger{position:relative;display:flex!important;align-items:center;width:100%;min-height:80px;padding:24px 46px 24px 0!important;border:0;background:transparent;color:var(--py-ink);font-family:inherit;font-size:20px!important;font-weight:400!important;text-align:left;text-transform:uppercase;cursor:pointer}
.faq summary{list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after,.faq-plus{position:absolute!important;right:0;top:50%;width:24px!important;height:24px!important;margin:0!important;transform:translateY(-50%);background:url('/779e4e174227d00b6a74.svg') center/contain no-repeat!important;content:''}
.faq details[open] summary,.faq-item.active .faq-question{color:var(--py-blue)!important}
.faq details[open] summary:after,.faq-item.active .faq-plus{background-image:url('/d19d1a54b2fe27261e79.svg')!important}
.faq details p,.faq-answer{max-width:850px;margin:0;padding:0 0 28px!important;font-size:17px!important}
.faq-panel{padding:0!important}

/* Compact related-service pills. The current page uses the Paul & Yakov blue. */
.related{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:9px 11px!important}
.related h2{flex:0 0 100%!important;margin:0 0 18px!important;color:var(--py-ink)!important;font-size:clamp(26px,3.2vw,46px)!important;line-height:1!important}
.related h2 span{color:var(--py-blue)!important}
.related a{display:inline-flex!important;align-items:center!important;min-height:0!important;margin:0!important;padding:8px 17px!important;border:1px solid var(--py-blue)!important;border-radius:999px!important;color:var(--py-blue)!important;font-size:12px!important;line-height:1.15!important;letter-spacing:.025em;text-decoration:none!important;text-transform:uppercase!important;white-space:nowrap}
.related a:hover,.related a:focus-visible,.related a[aria-current="page"]{background:var(--py-blue)!important;border-color:var(--py-blue)!important;color:#fff!important}

/* Shared footer */
footer.site,.footer{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:40px;min-height:150px;padding:40px 50px!important;border-top:0!important;border-bottom:0!important;background:#fff;color:var(--py-ink)}
.footer-brand img{display:block;width:126px;height:48px;object-fit:contain;margin-bottom:12px}
.footer a,footer.site a{color:var(--py-ink);text-underline-offset:3px}

@media(max-width:991px){
  .related{gap:8px!important}
  .client-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:760px){
  body{font-size:16px}
  header.site{min-height:73px;padding:20px!important;gap:12px}
  header.site .logo{width:84px!important;height:32px!important;flex-basis:84px!important}
  header.site .back,header.site .switch{font-size:10px!important}
  .hero,section.hero-section,section:not(.hero-section):not(.visual-library){padding:42px 20px!important}
  h1,h1.hero{font-size:clamp(36px,12vw,54px)!important}
  h2,h2.section-title{font-size:30px!important}
  .grid,.cases{grid-template-columns:1fr!important}
  .stats,.stats-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .stats-row .divider{display:none}
  .client-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .case-photos{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .faq summary,.faq-trigger{min-height:66px;font-size:15px!important;padding-right:38px!important}
  .related h2{font-size:28px!important;margin-bottom:14px!important}
  .related a{padding:7px 13px!important;font-size:11px!important;white-space:normal}
  footer.site,.footer{min-height:0;padding:32px 20px!important;flex-direction:column!important}
  .footer-brand img{width:84px;height:32px}
}
