body.pv-breathe-home{overflow-x:hidden;overflow-y:auto}.portfolio-intro{max-width:650px;font-size:clamp(17px,2vw,21px);line-height:1.6;color:#65656b;margin-top:24px}.portfolio-count{color:#717078;font:12px JetBrains Mono,monospace;margin-bottom:32px}.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.portfolio-project{overflow:hidden;background:#fff;border:1px solid #dcd9d2;border-radius:24px}.portfolio-cover{height:220px;display:grid;place-items:center;background:radial-gradient(ellipse at 75% 20%,#34242b,#101013 75%);color:#fff}.portfolio-cover img{object-fit:contain}.portfolio-cover>span{font-size:40px;font-weight:600;letter-spacing:-.04em}.portfolio-copy{padding:30px}.portfolio-copy h3{font-size:28px;margin:10px 0;letter-spacing:-.04em}.portfolio-copy>p:not(.portfolio-tag){color:#65656b;line-height:1.6}.portfolio-tag{text-transform:uppercase;font:10px JetBrains Mono,monospace;letter-spacing:.12em;color:#747078}.portfolio-open{border:1px solid #c32029;background:#c32029;color:#fff;border-radius:12px;padding:13px 18px;font:600 14px DM Sans,sans-serif;display:flex;justify-content:space-between;width:100%;cursor:pointer;margin-top:24px;transition:background .2s}.portfolio-open:hover{background:#a61520}.pv-portfolio section+section{margin-top:64px}.pv-portfolio section>h2{font-size:30px;margin-bottom:24px;letter-spacing:-.03em}.portfolio-cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.portfolio-case{background:#fff;border:1px solid #dcd9d2;border-radius:22px;padding:28px}.portfolio-number{color:#b91c23;font:14px JetBrains Mono,monospace}.portfolio-case h3{font-size:24px;line-height:1.2;letter-spacing:-.025em;min-height:86px}.portfolio-case dt{color:#242428;font-size:12px;font-weight:700;margin-top:24px}.portfolio-case dd{margin:8px 0 0;color:#696970;font-size:14px;line-height:1.6}.portfolio-case a{display:inline-block;color:#b91c23;margin-top:24px;padding:12px 0}.portfolio-cta{display:flex;align-items:center;justify-content:space-between;gap:32px;border-top:1px solid #d5d1c9;margin-top:72px;padding-top:44px}.portfolio-cta h2{max-width:500px;font-size:32px;letter-spacing:-.03em}body.pv-breathe-home.portfolio-viewing{overflow:hidden}.portfolio-viewer{position:fixed;padding:0;border:1px solid #444;border-radius:20px;background:#f3f1ec;color:#1b1b20;width:min(1200px,96vw);max-width:96vw;height:92dvh;max-height:92dvh;margin:auto;overflow:auto}.portfolio-viewer::backdrop{background:#000c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.portfolio-viewer[open]{display:flex;flex-direction:column;animation:viewer-in .22s ease-out}.viewer-bar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;background:#fff}.viewer-bar h2{font-size:20px;margin:5px 0 0}.viewer-close,.viewer-controls button,.viewer-controls a{border:1px solid #cbc8c2;border-radius:9px;padding:10px 14px;background:#fff;color:#242428;cursor:pointer;font:13px DM Sans,sans-serif;text-decoration:none;min-height:44px}.viewer-controls{display:flex;flex-wrap:wrap;gap:8px;padding:12px 24px 0}.viewer-controls [aria-pressed=true]{color:#fff;background:#242428;border-color:#242428}.viewer-controls a{margin-left:auto}.viewer-note,.viewer-status,.viewer-help{padding:0 24px;font-size:12px;color:#66636b}.viewer-help{padding-bottom:18px}.viewer-help summary{cursor:pointer;padding:8px 0}.viewer-stage{flex:1 0 300px;min-height:300px;margin:0 16px;display:flex;justify-content:center;background:#ddd9d3;border-radius:12px;overflow:hidden}.viewer-stage iframe{width:100%;height:100%;min-height:300px;border:0;background:#fff}.viewer-stage[data-size=mobile] iframe{max-width:390px}:where(.portfolio-open,.viewer-close,.viewer-controls button,.viewer-controls a,.viewer-help summary):focus-visible{outline:3px solid #b91c23;outline-offset:3px}@keyframes viewer-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media(max-width:760px){.portfolio-grid,.portfolio-cases{grid-template-columns:1fr}.portfolio-cover{height:175px}.portfolio-copy{padding:24px}.portfolio-case h3{min-height:0}.portfolio-cta{align-items:stretch;flex-direction:column}.viewer-bar{padding:12px}.viewer-controls{padding:10px 12px 0}.viewer-controls a{margin-left:0}.viewer-note,.viewer-status,.viewer-help{padding-left:12px;padding-right:12px}.viewer-stage{margin:0 8px}}@media(prefers-reduced-motion:reduce){.portfolio-viewer[open]{animation:none}.portfolio-open{transition:none}}.portfolio-cover--jp{background:radial-gradient(ellipse at 75% 20%,#244c38,#0c1812 75%)}.portfolio-cover--jp b{color:#46985a}
