.pf{--pf-pad:clamp(72px, 9vw, 128px)}.pf-wrap{width:100%;max-width:1320px;padding-inline:var(--site-gutter);margin-inline:auto}.pf-center{text-align:center}.pf-hero{padding-block:clamp(120px, 12vw, 176px) var(--pf-pad)}.pf-hero-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:clamp(40px,6vw,96px);display:grid}.pf-h1{font-family:var(--font-display);letter-spacing:-.015em;color:var(--on-dark);font-size:clamp(40px,5.4vw,84px);line-height:1.04}.pf-h1 .txt-grad{width:fit-content;display:block}.pf-lead{max-width:44ch;color:var(--on-dark-2);margin-top:clamp(22px,2.4vw,34px);font-size:clamp(18px,1.45vw,21px);line-height:1.65}.pf-count{font-family:var(--font-display);color:var(--purple-soft);margin-top:14px;font-size:17px;font-weight:700}.pf-actions{flex-wrap:wrap;align-items:center;gap:18px 28px;margin-top:clamp(28px,3vw,44px);display:flex}.pf-actions-center{justify-content:center}.pf-hero-tiles{--drop:clamp(36px, 5vw, 80px);padding-bottom:var(--drop);grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,28px);display:grid}.pf-hero-tiles li:nth-child(2n){translate:0 var(--drop)}.pf-thumb{aspect-ratio:3/2;background:var(--bg-dark-2);border-radius:20px;display:block;overflow:hidden;box-shadow:0 44px 80px -40px #000000d9,0 14px 30px -18px #0000008c}.pf-thumb img{object-fit:cover;width:100%;height:100%;transition:transform .9s var(--ease-soft);display:block}.pf-thumb:hover img{transform:scale(1.04)}.pf-thumb:focus-visible{outline:2px solid var(--purple-soft);outline-offset:5px}.pf-textlink{font-family:var(--font-body);color:var(--on-dark);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--purple-soft) 60%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--purple-soft) 60%, transparent);text-decoration-color:color-mix(in srgb, var(--purple-soft) 60%, transparent);text-underline-offset:6px;transition:color .45s var(--ease-soft), text-decoration-color .45s var(--ease-soft);align-items:center;gap:10px;font-size:16px;font-weight:700;text-decoration-thickness:1.5px;display:inline-flex}.pf-textlink svg,.pf-back svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px;transition:transform .45s var(--ease-soft);flex-shrink:0}.pf-textlink:hover{color:var(--purple-soft);-webkit-text-decoration-color:var(--purple-soft);-webkit-text-decoration-color:var(--purple-soft);text-decoration-color:var(--purple-soft)}.pf-textlink:hover svg{transform:translate(-4px)}.pf-textlink:focus-visible,.pf-back:focus-visible{outline:2px solid var(--purple-soft);outline-offset:4px;border-radius:4px}.pf-grid-sec{padding-block:var(--pf-pad);scroll-margin-top:40px}.pf-grid-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px 40px;display:flex}.pf-filter{border:1px solid var(--lt-line,#2a0d2f1f);background:#fff;border-radius:28px;flex-wrap:wrap;gap:4px;padding:5px;display:inline-flex;box-shadow:0 18px 36px -26px #2a0d2f59}.pf-chip{min-height:42px;font-family:var(--font-body);color:var(--on-dark);white-space:nowrap;cursor:pointer;transition:background-color .45s var(--ease-soft), color .45s var(--ease-soft);background:0 0;border:0;border-radius:999px;align-items:center;gap:8px;padding-inline:16px;font-size:15px;font-weight:700;display:inline-flex}.pf-chip-n{font-variant-numeric:tabular-nums;color:var(--on-dark-soft);transition:color .45s var(--ease-soft);font-size:13px;font-weight:500}.pf-chip:hover{background:color-mix(in srgb, var(--purple) 8%, transparent)}.pf-chip[aria-pressed=true]{background:var(--on-dark);color:#fff}.pf-chip[aria-pressed=true] .pf-chip-n{color:#ffffffb3}.pf-chip:focus-visible{outline:2px solid var(--purple-soft);outline-offset:2px}.pf-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(40px,4vw,64px) clamp(20px,2.4vw,36px);margin-top:clamp(40px,4.4vw,64px);display:grid}.pf-grid>li[hidden]{display:none}.pf-card{color:inherit;text-decoration:none;display:block}.pf-frame{aspect-ratio:3/2;background:var(--lt-lilac,#f1e9f5);transition:transform .45s var(--ease-soft), box-shadow .45s var(--ease-soft);border-radius:22px;display:block;overflow:hidden;box-shadow:0 34px 64px -34px #2a0d2f6b,0 12px 24px -14px #2a0d2f4d}.pf-frame img{object-fit:cover;width:100%;height:100%;transition:transform .9s var(--ease-soft);display:block}.pf-card:hover .pf-frame{transform:translateY(-6px);box-shadow:0 44px 74px -30px #2a0d2f80,0 14px 26px -14px #2a0d2f52}.pf-card:hover .pf-frame img{transform:scale(1.04)}.pf-card:focus-visible{outline:none}.pf-card:focus-visible .pf-frame{outline:2px solid var(--purple-soft);outline-offset:6px}.pf-cap{padding-top:20px;flex-direction:column;gap:4px;padding-inline:4px;display:flex}.pf-client{font-family:var(--font-display);color:var(--on-dark);transition:color .45s var(--ease-soft);font-size:clamp(20px,1.6vw,24px);font-weight:700;line-height:1.2}.pf-card:hover .pf-client{color:var(--purple-soft)}.pf-type{color:var(--on-dark-soft);font-size:15px;line-height:1.5}.pf-more{justify-content:center;margin-top:clamp(44px,5vw,72px);display:flex}.pf-morebtn{border:1px solid var(--lt-line,#2a0d2f1f);min-height:52px;font-family:var(--font-body);color:var(--on-dark);cursor:pointer;transition:transform .4s var(--ease-soft), border-color .45s var(--ease-soft), box-shadow .45s var(--ease-soft);background:#fff;border-radius:999px;align-items:center;gap:10px;padding-inline:28px;font-size:16px;font-weight:700;display:inline-flex;box-shadow:0 18px 36px -26px #2a0d2f59}.pf-morebtn:hover{border-color:color-mix(in srgb, var(--purple) 35%, transparent);transform:translateY(-2px);box-shadow:0 24px 44px -26px #2a0d2f73}.pf-morebtn:focus-visible{outline:2px solid var(--purple-soft);outline-offset:3px}.pf-close{padding-block:var(--pf-pad)}.pf-close-inner{text-align:center;max-width:820px}.pf-close-body{max-width:52ch;color:var(--on-dark-2);margin:18px auto 0;font-size:clamp(18px,1.4vw,21px);line-height:1.65}.pf-back{min-height:44px;color:var(--on-dark-soft);transition:color .45s var(--ease-soft);align-items:center;gap:8px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex}.pf-back:hover{color:var(--purple-soft)}.pf-back:hover svg{transform:translate(4px)}.pf-p-hero{padding-top:clamp(104px,10vw,150px)}.pf-p-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:clamp(40px,6vw,96px);margin-top:clamp(20px,2.4vw,36px);display:grid}.pf-p-grid-short{align-items:center}.pf-p-h1{font-family:var(--font-display);letter-spacing:-.015em;color:var(--on-dark);text-wrap:balance;font-size:clamp(38px,4.6vw,68px);line-height:1.05}.pf-p-service{font-family:var(--font-display);color:var(--purple-soft);text-wrap:balance;margin-top:14px;font-size:clamp(21px,1.9vw,27px);line-height:1.3}.pf-tags{flex-wrap:wrap;gap:8px;margin-top:22px;display:flex}.pf-tags li{border:1px solid var(--line-on-dark,#ffffff29);color:var(--on-dark-2);border-radius:999px;padding:6px 14px;font-size:13px;line-height:1.5}.pf-p-desc{max-width:62ch;margin-top:clamp(24px,2.6vw,36px)}.pf-p-desc p{color:var(--on-dark-2);font-size:17px;line-height:1.75}.pf-p-desc p+p{margin-top:.8em}.pf-p-cover{margin:0;position:sticky;top:120px}.pf-p-cover img{border-radius:28px;width:100%;height:auto;display:block;box-shadow:0 50px 90px -40px #000000bf,0 18px 36px -20px #00000080}.pf-gal-sec{padding-block:var(--pf-pad)}.pf-gal{columns:2;column-gap:clamp(20px,2.4vw,36px);margin-top:clamp(40px,4.4vw,64px)}.pf-gal[data-count="1"]{columns:1;max-width:900px;margin-inline:auto}.pf-gal li{break-inside:avoid;margin-bottom:clamp(20px,2.4vw,36px)}.pf-gal img{background:var(--lt-lilac,#f1e9f5);border-radius:22px;width:100%;height:auto;display:block;box-shadow:0 34px 64px -34px #2a0d2f6b,0 12px 24px -14px #2a0d2f4d}.pf-next{padding-block:var(--pf-pad)}.pf-next-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 40px;display:flex}.pf-next .pf-frame{background:var(--bg-dark-2);box-shadow:0 44px 80px -40px #000000d9,0 14px 30px -18px #0000008c}.pf-next .pf-card:hover .pf-frame{box-shadow:0 50px 90px -40px #000000e6,0 16px 32px -18px #0009}.pf-next-cta{border-top:1px solid var(--line-on-dark,#ffffff1f);flex-direction:column;align-items:center;gap:22px;margin-top:clamp(56px,6vw,96px);padding-top:clamp(40px,4.4vw,64px);display:flex}.pf-next-line{font-family:var(--font-display);color:var(--on-dark);text-align:center;font-size:clamp(24px,2.4vw,34px);line-height:1.2}@media (width<=1024px){.pf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pf-grid-3>li:nth-child(3){display:none}}@media (width<=900px){.pf-hero-grid,.pf-p-grid{grid-template-columns:minmax(0,1fr)}.pf-hero-tiles{max-width:560px}.pf-p-cover{order:-1;position:static}}@media (width<=767px){.pf-lead,.pf-p-desc p,.pf-close-body{font-size:20px;line-height:1.62}.pf-hero-tiles{order:-1}.pf-filter{width:calc(100% + var(--site-gutter) * 2);margin-inline:calc(var(--site-gutter) * -1);padding:0 var(--site-gutter);box-shadow:none;scrollbar-width:none;background:0 0;border:0;border-radius:0;flex-wrap:nowrap;overflow-x:auto}.pf-filter::-webkit-scrollbar{display:none}.pf-chip{border:1px solid var(--lt-line,#2a0d2f1f);background:#fff}.pf-gal{columns:1}}@media (width<=600px){.pf-grid{grid-template-columns:minmax(0,1fr)}.pf-grid-3>li:nth-child(3){display:block}}@media (prefers-reduced-motion:reduce){.pf-frame,.pf-frame img,.pf-thumb img{transition:none}}
