/* Portfolio / contemporary studio. All colours continue to follow owner settings. */
.portfolio-public{--pf-line:color-mix(in srgb,var(--ink) 13%,transparent);--pf-muted:color-mix(in srgb,var(--ink) 65%,var(--background));--pf-serif:Georgia,'Times New Roman',serif;background:var(--background);color:var(--ink);font:15px/1.65 var(--font,Inter,sans-serif)}
.portfolio-public *{box-sizing:border-box}.portfolio-public a{color:inherit}.portfolio-public .pf-wrap{width:min(1440px,calc(100% - 80px));margin-inline:auto}.portfolio-public h1,.portfolio-public h2{font-family:var(--font,Inter,sans-serif);font-weight:600;letter-spacing:-.065em;line-height:1.04;margin:22px 0;text-wrap:balance}.portfolio-public.pf-heading-serif h1,.portfolio-public.pf-heading-serif h2{font-family:var(--pf-serif);font-weight:400}
.portfolio-public .company-header{width:min(1440px,calc(100% - 80px));margin:0 auto;padding:24px 0;min-height:104px;background:var(--header-bg,transparent);border:0;border-radius:0;box-shadow:none;gap:30px;position:relative;z-index:30}.portfolio-public .company-logo{max-width:260px;line-height:1.1;font-size:22px}.portfolio-public .company-logo img{object-fit:contain;max-width:190px;max-height:64px}.portfolio-public .company-navigation{font-size:12px}.portfolio-public .company-navigation>.webxy-header-menu{gap:30px}.portfolio-public .webxy-header-menu a{font-weight:500}.portfolio-public .webxy-nav-item:last-child>[data-menu-contact]{border:1px solid var(--header-text,var(--ink));border-radius:100px;padding:12px 24px}
.portfolio-public .pf-kicker{font:500 10px/1.6 var(--font,Inter,sans-serif);letter-spacing:.15em;text-transform:uppercase;display:flex;align-items:center;gap:12px}.pf-kicker i{width:6px;height:6px;border-radius:50%;background:currentColor;display:inline-block}
.portfolio-public .pf-hero{position:relative;isolation:isolate;display:grid;align-items:center;min-height:680px;padding:65px 64px 55px;margin-bottom:84px;border-radius:24px;overflow:hidden;color:#fff;background:#1d2427}.pf-hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,16,20,.86),rgba(10,16,20,.7) 38%,rgba(10,16,20,.08) 78%),linear-gradient(0deg,rgba(10,16,20,.35),transparent 45%);pointer-events:none}.pf-hero-copy{position:relative;max-width:610px;padding:25px 0;z-index:2}.portfolio-public .pf-hero h1{font-size:clamp(54px,6.3vw,92px);margin:28px 0;color:#fff;max-width:640px}.portfolio-public .pf-lead{color:var(--pf-muted);font-size:16px;line-height:1.8;max-width:460px;margin:22px 0}.portfolio-public .pf-hero .pf-lead{color:#fffC;font-size:15px;max-width:380px}.pf-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:32px}.portfolio-public .pf-button{background:var(--primary);color:#fff;border:1px solid var(--primary);border-radius:100px;min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:30px;font-size:12px;padding:17px 25px;text-decoration:none;font-weight:500;line-height:1.3}.portfolio-public .pf-hero .pf-button{background:#fff;border-color:#fff;color:#131a21}.pf-button svg,.pf-text-link svg{width:22px;height:22px;flex-shrink:0;transition:transform .2s}.pf-button:hover svg,.pf-text-link:hover svg{transform:translateX(4px)}.portfolio-public .pf-text-link{font-size:12px;display:inline-flex;align-items:center;gap:20px;text-decoration:none;border-bottom:1px solid var(--pf-line);padding-bottom:5px;min-height:44px}.portfolio-public .pf-hero .pf-text-link{color:#fff;border-color:#fff6}.pf-scroll{margin-top:55px;display:flex;align-items:center;gap:12px;font-size:10px;text-decoration:none;letter-spacing:.04em;color:#fffB}.pf-scroll span{width:34px;height:34px;border:1px solid #fff5;border-radius:50%;display:grid;place-items:center;font-size:15px}.pf-hero-visual{position:absolute;inset:0;z-index:-2;min-width:0}.pf-hero-media,.pf-hero-media picture{display:block;width:100%;height:100%}.pf-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 58%;display:block}.pf-hero-detail{position:absolute;right:32px;bottom:68px;width:140px;height:170px;margin:0;border:5px solid #fff;border-radius:16px;overflow:hidden;box-shadow:0 12px 35px #0003}.pf-hero-detail img{width:100%;height:100%;object-fit:cover}.pf-image-caption{position:absolute;right:32px;bottom:20px;font-size:9px;letter-spacing:.07em;display:flex;gap:14px;margin:0;max-width:50%;color:#fff}.pf-image-caption span{opacity:.6}.pf-image-placeholder{height:100%;min-height:240px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 30%,var(--background)),color-mix(in srgb,var(--primary) 8%,var(--background)))}
.portfolio-public .pf-section-heading{display:flex;justify-content:space-between;align-items:end;gap:55px;margin-bottom:32px}.portfolio-public .pf-section-heading h2{font-size:clamp(34px,4vw,58px);max-width:700px;margin-bottom:0}.pf-section-heading>p,.pf-section-heading>div>p{max-width:350px;font-size:13px;color:var(--pf-muted);margin-bottom:0}.pf-categories{padding-block:0 70px}.pf-category-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.pf-category-list>a{display:flex;align-items:end;justify-content:space-between;min-width:0;min-height:116px;border:1px solid var(--pf-line);border-radius:16px;padding:22px;text-decoration:none;font-size:15px;font-weight:500;background:color-mix(in srgb,var(--ink) 2%,var(--background));transition:background .25s,transform .25s}.pf-category-list>a:hover{background:color-mix(in srgb,var(--ink) 7%,var(--background));transform:translateY(-3px)}.pf-category-list>a>span{min-width:0}.pf-category-list sup{font-size:9px;color:var(--pf-muted);margin-left:7px;font-weight:400}.pf-category-list svg{width:30px;height:30px;flex-shrink:0;transform:rotate(-35deg);border:1px solid var(--pf-line);border-radius:100px;padding:6px;margin-left:12px}
.pf-projects{padding-block:28px 85px}.pf-filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 30px;max-width:100%}.pf-filters button{font:500 11px/1.4 var(--font);min-height:42px;padding:11px 18px;border:1px solid var(--pf-line);border-radius:100px;cursor:pointer;background:transparent;color:var(--ink);white-space:normal;transition:background .2s,color .2s}.pf-filters button span{font-size:9px;margin-left:8px}.pf-filters button[aria-pressed=true]{background:var(--ink);color:var(--background);border-color:var(--ink)}.pf-project-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:45px 28px;align-items:start}.pf-project{min-width:0;align-self:start;grid-column:span 6}.pf-project[hidden]{display:none!important}.pf-layout-editorial .pf-project:nth-child(4n+1),.pf-layout-editorial .pf-project:nth-child(4n+4){grid-column:span 7}.pf-layout-editorial .pf-project:nth-child(4n+2),.pf-layout-editorial .pf-project:nth-child(4n+3){grid-column:span 5}.pf-layout-editorial .pf-project:nth-child(4n+2){margin-top:100px}.pf-project-image{display:block;position:relative;overflow:hidden;aspect-ratio:1.3;border-radius:20px;background:color-mix(in srgb,var(--ink) 5%,var(--background))}.pf-project-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.3,1)}.pf-project:hover .pf-project-image img{transform:scale(1.045)}.pf-project-number{position:absolute;top:20px;left:20px;font-size:10px;color:#141b25;background:#fffE;border-radius:100px;padding:6px 12px;letter-spacing:.1em}.pf-project-open{position:absolute;right:20px;bottom:20px;display:grid;place-items:center;width:48px;height:48px;background:#fff;color:#141b25;border-radius:50%;transition:transform .3s}.pf-project-open svg{width:22px;height:22px;transform:rotate(-35deg)}.pf-project:hover .pf-project-open{transform:rotate(35deg)}.pf-project-info{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:20px}.pf-project-info>div>span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--pf-muted)}.portfolio-public .pf-project-info h3{font-family:var(--font);font-size:22px;font-weight:500;letter-spacing:-.045em;margin:7px 0 0;line-height:1.25}.pf-project-info h3 a{text-decoration:none}.pf-project-info>svg{width:23px;height:23px;flex-shrink:0}.pf-project-excerpt{font-size:12px;line-height:1.7;color:var(--pf-muted);max-width:440px;margin:10px 0 0}.pf-layout-compact .pf-project{grid-column:span 4}.pf-layout-compact .pf-project-info h3{font-size:19px}.pf-layout-compact .pf-project-image{aspect-ratio:1.1}.pf-filterable[data-pf-filtered=true] .pf-project{grid-column:span 6;margin-top:0}.pf-filter-status:empty{display:none}.pf-filter-status{font-size:12px;color:var(--pf-muted);margin:18px 0}.pf-empty{padding:30px 0;font-size:15px;color:var(--pf-muted)}
.pf-about{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;padding:46px;border:1px solid var(--pf-line);border-radius:24px;background:color-mix(in srgb,var(--ink) 3%,var(--background));margin-bottom:80px}.pf-about-visual{position:relative;aspect-ratio:1;border-radius:18px;overflow:hidden;background:color-mix(in srgb,var(--primary) 10%,var(--background))}.pf-about-visual>img{width:100%;height:100%;object-fit:cover;display:block}.pf-about-note{position:absolute;bottom:20px;left:20px;background:#fffE;color:#141b25;border-radius:100px;padding:12px 18px;font-size:12px;font-weight:500;max-width:calc(100% - 40px);line-height:1.4}.portfolio-public .pf-about h2{font-size:clamp(34px,4.1vw,60px);margin:24px 0}.pf-about-copy>p{font-size:13px;line-height:1.9;color:var(--pf-muted);margin-bottom:25px}.pf-contact-cta{position:relative;padding:55px 58px 58px;border-radius:24px;color:var(--background);background:var(--ink);margin-bottom:55px;overflow:hidden}.pf-contact-cta>div{display:flex;align-items:center;justify-content:space-between;gap:35px}.portfolio-public .pf-contact-cta h2{font-size:clamp(44px,6vw,84px);margin:26px 0}.pf-round-link{display:grid;place-items:center;width:100px;height:100px;flex-shrink:0;border:1px solid currentColor;border-radius:50%;transition:background .2s,color .2s}.pf-round-link svg{width:40px;height:40px;transform:rotate(-35deg)}.pf-round-link:hover{background:var(--background);color:var(--ink)}.pf-contact-cta>p{font-size:13px;opacity:.75;max-width:500px}.portfolio-public .pf-contact-cta .pf-text-link{border-color:color-mix(in srgb,var(--background) 40%,transparent)}
.portfolio-public .company-footer{border-top:1px solid var(--pf-line);background:transparent;color:var(--ink);padding:48px max(40px,calc((100vw - 1440px)/2));gap:40px}.portfolio-public .company-footer h3{font-weight:500;font-size:14px}.portfolio-public .company-footer h4{font-size:10px;letter-spacing:.12em;text-transform:uppercase}.portfolio-public .company-footer p,.portfolio-public .company-footer a,.portfolio-public .company-footer small{font-size:12px}.portfolio-public .company-footer-bottom{border-color:var(--pf-line);padding-top:24px;font-size:11px}.pf-mobile-contact{display:none}
.pf-archive,.pf-document{padding-block:38px 85px}.pf-back{display:inline-flex;align-items:center;font-size:11px;text-decoration:none;margin-bottom:35px;min-height:36px}.portfolio-public .pf-archive h1,.portfolio-public .pf-document h1{font-size:clamp(42px,5.8vw,80px);margin-top:18px}.pf-document-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:55px;align-items:center;margin-bottom:35px}.pf-document-cover{margin:0 0 45px;height:min(600px,50vw);border-radius:20px;overflow:hidden;background:color-mix(in srgb,var(--ink) 4%,var(--background))}.pf-document-cover img{width:100%;height:100%;display:block;object-fit:contain}.pf-document-body{font-size:15px;line-height:1.9}.pf-document-body>p{max-width:820px}.pf-document-body .webxy-content-gallery{gap:20px;margin-block:35px}.pf-document-body .webxy-content-gallery>a{border-radius:14px;overflow:hidden}.pf-document-body .webxy-content-gallery>a>img{object-fit:contain;aspect-ratio:1.25;background:color-mix(in srgb,var(--ink) 4%,var(--background))}.pf-document-cta{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-block:40px;margin-top:50px;border-top:1px solid var(--pf-line)}.portfolio-public .pf-document-cta h2{font-size:36px;margin:16px 0}.portfolio-public .wc-contact{background:transparent}.portfolio-public .wc-heading h1{font-family:var(--font);font-weight:600;letter-spacing:-.055em}.portfolio-public .wc-form button[type=submit]{background:var(--primary);border-radius:100px}.portfolio-public .wc-map{border-radius:20px}.portfolio-public :focus-visible{outline:2px solid currentColor;outline-offset:5px}.pf-motion-ready{transition:transform .65s ease,opacity .65s ease}.pf-motion-ready:not(.pf-in-view){transform:translateY(20px)}
@media(min-width:1600px){.portfolio-public .pf-hero{min-height:740px}.portfolio-public .pf-hero h1{font-size:100px}}
@media(max-width:1100px){.portfolio-public .pf-wrap,.portfolio-public .company-header{width:calc(100% - 48px)}.portfolio-public .pf-hero{padding:45px;min-height:620px}.portfolio-public .pf-hero h1{font-size:66px;max-width:490px}.pf-hero-detail{width:110px;height:140px;right:25px}.pf-category-list{grid-template-columns:repeat(3,minmax(0,1fr))}.pf-about{padding:30px;gap:35px}.portfolio-public .company-navigation>.webxy-header-menu{gap:20px}.pf-project-grid{gap:36px 22px}.portfolio-public .pf-project-info h3{font-size:20px}}
@media(max-width:760px){.portfolio-public .pf-wrap,.portfolio-public .company-header{width:calc(100% - 32px)}.portfolio-public .company-header{padding:16px 4px;min-height:78px}.portfolio-public .company-logo{max-width:210px;font-size:19px}.portfolio-public .company-logo img{max-width:150px;max-height:48px}.portfolio-public .company-menu-toggle{border:1px solid var(--pf-line);border-radius:100px;padding:10px 14px;min-height:44px;background:transparent;color:var(--header-text,var(--ink))}.portfolio-public .company-navigation{background:var(--header-bg,var(--background));border:1px solid var(--pf-line);border-radius:18px;left:0;right:0;width:auto;max-width:100%;padding:16px}.portfolio-public .pf-hero{display:flex;align-items:end;min-height:660px;padding:250px 25px 30px;margin-bottom:45px;border-radius:20px}.pf-hero::after{background:linear-gradient(0deg,rgba(8,14,18,.95),rgba(8,14,18,.75) 42%,rgba(8,14,18,.03) 90%)}.pf-hero-copy{max-width:100%;padding:0}.portfolio-public .pf-hero h1{font-size:clamp(41px,11.5vw,62px);max-width:100%;margin:20px 0}.portfolio-public .pf-hero .pf-lead{font-size:13px;line-height:1.75;margin:15px 0;max-width:100%;color:#fffC}.pf-hero-media img{object-position:58% 35%}.pf-hero-detail,.pf-image-caption,.pf-scroll{display:none}.portfolio-public .pf-kicker{font-size:9px;letter-spacing:.1em}.pf-actions{gap:16px;margin-top:22px}.portfolio-public .pf-button{font-size:11px;padding:14px 18px;min-height:48px;gap:16px}.portfolio-public .pf-text-link{font-size:11px;gap:12px}.portfolio-public .pf-section-heading{display:block;margin-bottom:25px}.portfolio-public .pf-section-heading h2{font-size:35px;margin-top:17px}.pf-section-heading>p,.pf-section-heading>div>p{margin-top:15px;max-width:100%;font-size:12px}.pf-section-heading .pf-text-link{margin-top:12px}.pf-categories{padding-bottom:40px}.pf-category-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.pf-category-list>a{min-height:92px;padding:15px;font-size:12px;border-radius:14px;line-height:1.35}.pf-category-list sup{font-size:8px;margin-left:4px}.pf-category-list svg{width:25px;height:25px;padding:5px;margin-left:5px}.pf-projects{padding-block:20px 45px}.pf-filters{gap:6px;margin-bottom:22px}.pf-filters button{font-size:10px;padding:9px 12px;min-height:38px}.pf-project-grid{grid-template-columns:1fr;gap:30px}.pf-project-grid .pf-project,.pf-layout-editorial .pf-project:nth-child(n),.pf-filterable[data-pf-filtered=true] .pf-project{grid-column:auto;margin-top:0}.pf-project-image,.pf-layout-compact .pf-project-image{aspect-ratio:1.2;border-radius:17px}.pf-project-info{padding-top:16px}.portfolio-public .pf-project-info h3,.pf-layout-compact .pf-project-info h3{font-size:20px}.pf-project-excerpt{font-size:12px;margin-top:8px}.pf-project-number{top:15px;left:15px}.pf-project-open{right:15px;bottom:15px;width:43px;height:43px}.pf-about{grid-template-columns:1fr;padding:18px;gap:26px;border-radius:20px;margin-bottom:40px}.pf-about-visual{aspect-ratio:1.05;border-radius:14px}.pf-about-note{font-size:10px;left:12px;bottom:12px;padding:10px 14px;max-width:calc(100% - 24px)}.pf-about-copy{padding:0 4px 7px}.portfolio-public .pf-about h2{font-size:35px;margin:19px 0}.pf-about-copy>p{font-size:12px}.pf-contact-cta{padding:30px 25px 32px;border-radius:20px;margin-bottom:20px}.pf-contact-cta>div{gap:15px;flex-wrap:wrap}.portfolio-public .pf-contact-cta h2{font-size:37px;margin:22px 0 15px;flex:1;min-width:180px}.pf-round-link{width:53px;height:53px;margin-bottom:10px}.pf-round-link svg{width:24px;height:24px}.pf-contact-cta>p{font-size:12px}.portfolio-public .company-footer{padding:35px 20px 105px;grid-template-columns:1fr;gap:26px}.portfolio-public .company-footer-bottom{gap:15px;flex-wrap:wrap}.pf-mobile-contact{position:fixed;bottom:0;left:0;right:0;z-index:40;display:flex;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--background);border-top:1px solid var(--pf-line);box-shadow:0 -8px 25px #00000008}.pf-mobile-contact>a{flex:1;min-height:44px;border:1px solid var(--pf-line);border-radius:100px;display:flex;justify-content:center;align-items:center;gap:12px;font-size:12px;text-decoration:none}.pf-mobile-contact>a:last-child{background:var(--primary);color:white;border-color:var(--primary)}.pf-mobile-contact svg{width:18px;height:18px}.pf-archive,.pf-document{padding-block:28px 45px}.pf-document-heading{grid-template-columns:1fr;gap:0;margin-bottom:25px}.portfolio-public .pf-archive h1,.portfolio-public .pf-document h1{font-size:42px}.pf-document-cover{height:70vw;margin-bottom:25px;border-radius:17px}.pf-document-body .webxy-content-gallery{gap:10px}.pf-document-body{font-size:14px}.pf-document-cta{display:block;margin-top:35px;padding-block:28px}.portfolio-public .pf-document-cta h2{font-size:30px}.pf-document-cta .pf-button{margin-top:10px}.portfolio-public .wc-contact{padding-inline:20px}.portfolio-public .wc-heading h1{font-size:41px}.portfolio-public .webxy-photo-controls{gap:5px}.portfolio-public .webxy-photo-controls button{font-size:10px;padding:8px 9px}.pf-back{margin-bottom:23px}}
@media(prefers-reduced-motion:reduce){.portfolio-public *{scroll-behavior:auto!important;transition:none!important;animation:none!important}.pf-motion-ready:not(.pf-in-view){transform:none}}
