.portfolio{--pf-paper: #f8f7f4;--pf-ink: #30322e;--pf-muted: #73756f;--pf-line: #deded6;--pf-accent: #8c7352;background:var(--pf-paper);color:var(--pf-ink);font-size:14px;line-height:1.75;min-height:100vh}.pf-wrap{width:min(1240px,88%);margin-inline:auto}.portfolio h1,.portfolio h2,.portfolio h3,.portfolio p,.portfolio figure{margin:0}.portfolio em{font-family:"Noto Serif",serif;font-weight:400;color:var(--pf-accent)}.portfolio section{scroll-margin-top:110px}.pf-header{height:98px;width:100%;padding:0 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--pf-line);background:#f8f7f4f5;position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);gap:24px}.pf-logo{font-size:32px;font-weight:600;letter-spacing:-2px;line-height:1.1}.pf-logo>span{color:var(--pf-accent)}.pf-logo small{font-size:7px;letter-spacing:2px;display:block;margin-top:8px;font-weight:400}.pf-header nav{display:flex;gap:36px}.pf-header nav a{font-size:12px;position:relative;padding:12px 0}.pf-header nav sup{font-size:8px;margin-right:8px;color:var(--pf-muted)}.pf-header nav a[aria-current]{color:var(--pf-accent)}.pf-header nav a[aria-current]:after{content:"";height:2px;position:absolute;left:0;right:0;bottom:2px;background:var(--pf-accent)}.pf-fb{display:flex;align-items:center;gap:30px;font-size:11px}.pf-arrow{display:inline-block;font-size:22px;line-height:1;font-weight:400}.pf-section-label{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.7px;color:var(--pf-muted);gap:16px}.pf-live:before{content:"";display:inline-block;width:5px;height:5px;background:#919781;border-radius:50%;margin:0 9px 2px 0}.pf-about{padding-top:38px}.pf-hero-grid{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:9%;padding:68px 0 75px}.pf-kicker{font-size:10px;letter-spacing:1.8px;color:var(--pf-muted)}.pf-hero-copy h1{font-weight:400;font-size:clamp(38px,4.3vw,62px);line-height:1.33;letter-spacing:-2.6px;margin:25px 0}.pf-hero-copy h1:focus{outline:none}.pf-hero-copy h1 em{font-size:.92em;white-space:nowrap}.pf-intro{max-width:430px;font-size:13px;line-height:1.95;color:var(--pf-muted)}.pf-intro strong{font-weight:400;color:var(--pf-ink)}.pf-button{display:inline-flex;align-items:center;gap:36px;background:var(--pf-ink);color:#fff;padding:14px 21px;font-size:11px;margin-top:28px;transition:background .2s}.pf-button:hover{background:#5a5042}.pf-handnote{display:block;font-family:"Noto Serif",serif;font-style:italic;font-size:12px;margin-top:18px;color:var(--pf-muted)}.pf-portrait{position:relative;transform:rotate(3deg);background:#fff;padding:13px 13px 0;box-shadow:0 8px 35px #40361c0b;max-width:430px;justify-self:end;width:100%}.pf-portrait-image{height:410px;overflow:hidden;background:#e9e9e9}.pf-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 76%}.pf-portrait figcaption{height:57px;display:flex;align-items:center;justify-content:space-between;font-size:7px;letter-spacing:1.5px;padding-inline:8px;color:#77746c}.pf-portrait figcaption>span:last-child{font-size:24px;color:#9d8d70}.pf-tape{position:absolute;top:-17px;width:100px;height:35px;background:#d9cbaa9e;left:38%;transform:rotate(-7deg);z-index:1}.pf-side-note{position:absolute;right:-48px;top:54%;font:italic 11px "Noto Serif",serif;color:#8a8274;writing-mode:vertical-rl}.pf-about-foot{border-top:1px solid var(--pf-line);padding:29px 0 45px;display:grid;grid-template-columns:1fr 1.7fr 1fr;gap:35px;align-items:start}.pf-about-foot>span{font-size:8px;letter-spacing:1.4px;padding-top:5px}.pf-about-foot p{color:var(--pf-muted);font-size:11px;line-height:1.9}.pf-about-foot a{font-size:10px;display:flex;justify-content:flex-end;align-items:center;gap:18px}.pf-tutorial{background:#eeefe9;padding:66px 0}.pf-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin:35px 0 40px}.pf-section-heading h2{font-size:clamp(30px,3.4vw,46px);font-weight:400;letter-spacing:-1.8px;line-height:1.4}.pf-section-heading>p{max-width:330px;font-size:12px;color:var(--pf-muted);margin-bottom:5px;line-height:1.9}.pf-filter{display:flex;align-items:center;gap:8px;margin-bottom:27px;flex-wrap:wrap}.pf-filter button{font-size:10px;padding:8px 16px;border:1px solid #d4d7cd;border-radius:30px;min-height:40px}.pf-filter button[aria-pressed=true]{background:var(--pf-ink);border-color:var(--pf-ink);color:#fff}.pf-filter>span{margin-left:auto;font-size:8px;letter-spacing:1.2px;color:#77796f}.pf-note{border-top:1px solid #d4d7cd}.pf-note:last-child{border-bottom:1px solid #d4d7cd}.pf-note .pf-note-link{list-style:none;display:grid;grid-template-columns:70px 1fr 44px;gap:20px;padding:28px 0;cursor:pointer;align-items:center}.portfolio summary::-webkit-details-marker{display:none}.portfolio summary:focus-visible{outline:2px solid var(--pf-accent);outline-offset:4px}.pf-note-number{font:italic 24px "Noto Serif",serif;color:#9a9f90}.pf-note-category{font-size:8px;letter-spacing:1.4px;text-transform:uppercase;color:#72786a}.pf-note h3{font-size:20px;font-weight:400;letter-spacing:-.5px;margin:6px 0}.pf-note .pf-note-link p{font-size:11px;color:var(--pf-muted)}.pf-note-open{width:38px;height:38px;border:1px solid #c8cdbf;border-radius:50%;display:grid;place-items:center;font-size:21px;transition:transform .2s}.pf-note[open] .pf-note-open{transform:rotate(45deg)}.pf-note-body{padding:0 64px 30px 90px;max-width:850px}.pf-note-body ol{padding-left:18px}.pf-note-body li{padding:8px 0 8px 10px}.pf-note-body h4{font-size:13px;margin:0 0 4px;font-weight:600}.pf-note-body p{font-size:12px;color:#63695d}.pf-note-body .pf-draft{font-size:10px;color:#818777;font-style:italic}.pf-tutorial-foot{display:flex;justify-content:space-between;gap:20px;font-size:11px;margin-top:28px;color:var(--pf-muted)}.pf-tutorial-foot>span{font:italic 13px "Noto Serif",serif}.pf-tutorial-foot a{display:flex;align-items:center;gap:15px;color:var(--pf-ink)}.pf-product{padding-top:66px;padding-bottom:50px}.pf-project{display:grid;grid-template-columns:1.6fr 1fr;gap:52px;align-items:center;margin:42px 0 55px}.pf-project-preview{background:#181720;padding:13px 13px 0;box-shadow:0 15px 35px #1f1e260c}.pf-window-bar{display:flex;align-items:center;justify-content:space-between;color:#97929e;font-size:7px;letter-spacing:1.4px;padding:0 5px 12px;gap:10px}.pf-window-bar>span:first-child{font-size:7px;letter-spacing:3px;color:#615b6a}.pf-window-bar .pf-arrow{font-size:15px}.pf-project-preview img{width:100%;height:auto;display:block;aspect-ratio:1.5;object-fit:cover;object-position:top}.pf-project-copy h3{font-size:34px;font-weight:400;letter-spacing:-1.5px;margin:13px 0}.pf-project-copy h3>span{color:#a6a697;font-size:22px;margin-left:24px}.pf-project-copy>p{font-size:12px;color:var(--pf-muted);line-height:1.9}.pf-tags{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.pf-tags span{font-size:9px;border:1px solid var(--pf-line);padding:3px 10px}.pf-project-details{border-top:1px solid var(--pf-line)}.pf-project-details summary{list-style:none;display:flex;justify-content:space-between;cursor:pointer;font-size:11px;padding:16px 0}.pf-project-details p{font-size:11px;color:var(--pf-muted);margin-bottom:12px}.pf-project-details a{font-size:10px}.pf-project-details a .pf-arrow{font-size:16px;margin-left:9px}.pf-next{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--pf-line);padding-top:28px;gap:25px}.pf-next>span:first-child{font-size:8px;letter-spacing:1.3px;color:var(--pf-muted)}.pf-next p{font-size:12px}.pf-next>span:last-child{font-size:37px;color:#a0957e}.pf-footer{border-top:1px solid var(--pf-line);padding-top:45px;display:grid;grid-template-columns:1fr 1fr;gap:35px}.pf-footer-name{font-size:24px;letter-spacing:-.8px;line-height:1.5}.pf-footer-name span{color:var(--pf-accent)}.pf-footer p{font:italic 12px "Noto Serif",serif;color:var(--pf-muted);margin-top:15px}.pf-footer-links{display:flex;flex-direction:column;align-items:flex-end;gap:13px;font-size:11px}.pf-footer-links a{display:flex;align-items:center;gap:30px}.pf-footer-links .pf-arrow{font-size:17px}.pf-colophon{grid-column:1/-1;border-top:1px solid var(--pf-line);display:flex;justify-content:space-between;padding:21px 0;font-size:8px;letter-spacing:1.2px;color:var(--pf-muted)}.pf-skip{position:fixed;left:20px;top:-100px;z-index:100;background:#fff;padding:15px}.pf-skip:focus{top:15px}.portfolio a:hover{color:var(--pf-accent)}.portfolio .pf-button:hover{color:#fff}.intro-portal-wash{position:fixed;inset:0;background:#f8f7f4;pointer-events:none;z-index:80;opacity:0}.intro-is-entering .site-header,.intro-is-entering .intro-footer{opacity:0;transition:opacity .2s}.intro-is-entering{pointer-events:none}@media(max-width:900px){.pf-header nav{gap:20px}.pf-fb{gap:8px}.pf-hero-grid{gap:6%;padding:55px 0}.pf-hero-copy h1{font-size:40px;letter-spacing:-1.6px}.pf-portrait-image{height:340px}.pf-side-note{right:-25px}.pf-about-foot{grid-template-columns:1fr 2fr}.pf-about-foot>a{grid-column:2;justify-content:flex-start}.pf-project{gap:30px}.pf-project-copy h3{font-size:28px}}@media(max-width:650px){.pf-wrap{width:88%}.pf-header{height:104px;padding:16px 6% 10px;display:grid;grid-template-columns:1fr auto;gap:8px}.pf-logo{font-size:25px}.pf-logo small{display:none}.pf-header nav{grid-column:1/-1;grid-row:2;justify-content:space-between;gap:12px}.pf-header nav a{font-size:11px;padding:6px 0}.pf-fb{grid-column:2;grid-row:1;font-size:10px}.pf-section-label{font-size:7px;letter-spacing:1px}.pf-live{max-width:145px;text-align:right}.pf-about{padding-top:26px}.pf-hero-grid{grid-template-columns:1fr;gap:44px;padding:37px 0 40px}.pf-hero-copy h1{font-size:clamp(32px,8.7vw,46px);letter-spacing:-1.6px;margin:20px 0}.pf-intro{font-size:12px}.pf-hero-copy h1 em{white-space:normal}.pf-kicker{font-size:8px}.pf-portrait{width:80%;justify-self:center;transform:rotate(2deg)}.pf-portrait-image{height:290px}.pf-portrait figcaption{font-size:6px;height:45px;letter-spacing:1px}.pf-side-note{font-size:9px}.pf-about-foot{grid-template-columns:1fr;gap:14px;padding-bottom:30px}.pf-about-foot>a{grid-column:auto}.pf-tutorial{padding:38px 0}.pf-section-heading{display:block;margin:25px 0}.pf-section-heading h2{font-size:32px;letter-spacing:-1px}.pf-section-heading>p{margin-top:20px;font-size:11px}.pf-filter{gap:6px}.pf-filter button{font-size:9px;padding:6px 12px}.pf-filter>span{width:100%;margin:10px 0 0;font-size:7px}.pf-note .pf-note-link{grid-template-columns:28px 1fr 30px;gap:12px;padding:22px 0}.pf-note-number{font-size:18px}.pf-note h3{font-size:17px;line-height:1.5}.pf-note-category{font-size:7px}.pf-note .pf-note-link p{font-size:10px}.pf-note-open{height:28px;width:28px;font-size:18px}.pf-note-body{padding:0 0 20px 40px}.pf-tutorial-foot{display:block}.pf-tutorial-foot a{margin-top:15px}.pf-product{padding-top:38px}.pf-project{grid-template-columns:1fr;gap:25px;margin:30px 0}.pf-project-copy h3{font-size:30px}.pf-next{flex-wrap:wrap;gap:15px}.pf-next p{max-width:80%;font-size:11px}.pf-next>span:first-child{width:100%;font-size:7px}.pf-footer{padding-top:30px;grid-template-columns:1fr}.pf-footer-name{font-size:24px}.pf-footer-links{align-items:flex-start}.pf-colophon{font-size:7px;letter-spacing:.6px}.portfolio section{scroll-margin-top:125px}}.pf-project-link{border-top:1px solid var(--pf-line);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;font-size:12px}.pf-project-preview{display:block}.pf-article-page{min-height:100vh}.pf-article{width:min(740px,88%);margin:auto;padding:70px 0}.pf-article h1{font-size:clamp(32px,4vw,52px);line-height:1.35;letter-spacing:-1.5px;margin:24px 0;font-weight:400}.pf-article-lead{font-size:17px;color:var(--pf-muted)}.pf-article .pf-draft{font-size:11px;color:var(--pf-muted);margin:26px 0 45px;border-bottom:1px solid var(--pf-line);padding-bottom:25px}.pf-article ol{list-style:none;padding:0}.pf-article li{display:grid;grid-template-columns:45px 1fr;gap:18px;margin-bottom:42px}.pf-article h2{font-size:22px;font-weight:400;margin:0 0 12px}.pf-article li p{color:var(--pf-muted);font-size:15px;line-height:1.95}.pf-article footer{border-top:1px solid var(--pf-line);padding-top:30px;margin-top:55px}@media(max-width:650px){.pf-article-page .pf-header{display:flex;height:80px}.pf-article-page .pf-header>a:last-child{font-size:11px}.pf-article{padding-top:40px}.pf-article li{grid-template-columns:26px 1fr;gap:12px}}
