.portfolio{--pf-ink:var(--pf-primary,#1a365d);--pf-accent:#ffd700;max-width:1200px;margin:auto;padding:clamp(24px,5vw,64px) 24px;color:#24354b}.portfolio *{box-sizing:border-box}.portfolio h1,.portfolio h2{text-transform:none;font-family:inherit}.portfolio a{color:var(--pf-ink);text-underline-offset:5px}.portfolio a:focus-visible,.portfolio button:focus-visible,.portfolio input:focus-visible,.portfolio select:focus-visible{outline:3px solid #2474bd;outline-offset:5px}.portfolio .pf-breadcrumb{font-size:.9rem;margin:0 0 30px}.portfolio h1{font-size:clamp(2.3rem,5vw,4.25rem);line-height:1.08;letter-spacing:-.035em;color:var(--pf-ink);max-width:960px;margin:18px 0 24px}.portfolio h2{font-size:clamp(1.4rem,3vw,2rem);color:var(--pf-ink);line-height:1.25;margin:0 0 20px}.portfolio p{line-height:1.8;max-width:75ch}.portfolio .pf-intro{font-size:1.17rem;max-width:62ch;margin-bottom:38px}.portfolio .pf-intro>:first-child{margin-top:0}.portfolio .pf-intro>:last-child{margin-bottom:0}.portfolio .pf-intro a{color:var(--pf-ink);text-underline-offset:3px}.pf-tools{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 36px;align-items:center}.pf-tools label{display:grid;gap:6px;flex:1;min-width:170px;font-size:.85rem}.pf-tools input,.pf-tools select{border:1px solid #bac9d5;border-radius:5px;padding:12px;background:white;color:#24354b;font:inherit}.portfolio .pf-button{display:inline-flex;justify-content:center;align-items:center;min-height:46px;border:0;border-radius:5px;padding:12px 22px;background:var(--pf-ink);color:white;text-decoration:none;font:inherit;cursor:pointer}.pf-tools .pf-button{align-self:end}.portfolio .pf-link{display:inline-block;font-weight:600;margin:12px 22px 0 0}.pf-list{display:grid;gap:0}.pf-reference{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:40px;padding:36px 0;border-top:1px solid #dce4ec}.pf-reference.pf-featured{background:#edf3f9;padding:42px;border:0;border-left:5px solid var(--pf-accent);border-radius:0 12px 12px 0;margin-bottom:28px;grid-template-columns:minmax(0,1fr) 230px}.portfolio blockquote{font-family:Georgia,Times New Roman,serif;font-size:clamp(1.2rem,2.3vw,1.6rem);line-height:1.65;margin:18px 0;color:var(--pf-ink)}.portfolio blockquote p{margin:0}.pf-author{font-size:.92rem;color:#52657a}.pf-topic{font-size:.85rem;color:#52657a;display:block;margin-bottom:12px}.pf-logo{max-width:160px;max-height:65px;object-fit:contain;object-position:left;margin-bottom:18px}.pf-paper{align-self:start;display:block;background:#e2e9f0;padding:12px;text-decoration:none;border-radius:6px}.pf-paper img{display:block;width:100%;height:240px;object-fit:contain;background:white}.pf-paper span{display:block;font-size:.8rem;margin-top:9px;text-align:center}.pf-featured .pf-paper img{height:310px}.portfolio .pf-reference blockquote{background:transparent;border:0;padding:0;font-style:normal}.portfolio .pf-reference blockquote:after,.portfolio .pf-reference blockquote:before{content:none}.portfolio .pf-tools input,.portfolio .pf-tools select{width:100%;min-width:0;max-width:100%}.pf-projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.pf-project{background:#fff;border:1px solid #dce4ec;border-radius:8px;overflow:hidden}.pf-project-image{width:100%;height:250px;object-fit:cover}.pf-project-body{padding:26px}.pf-project-mark{padding:30px 26px;background:#edf3f9;color:var(--pf-ink);font-size:1.3rem;min-height:110px;display:flex;align-items:center}.pf-project h2{font-size:1.45rem}.pf-budget{font-size:1.1rem;font-weight:700;color:var(--pf-ink)}.pf-detail{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:56px;margin:44px 0}.pf-content{white-space:pre-line;line-height:1.85;overflow-wrap:anywhere}.pf-documents{display:grid;gap:24px;align-content:start}.pf-documents figure{margin:0}.pf-documents img{max-width:100%;height:auto;display:block}.pf-documents figcaption{font-size:.86rem;line-height:1.6;margin:12px 0}.pf-related{margin:60px 0}.pf-facts{display:flex;flex-wrap:wrap;gap:24px 40px;padding:26px;background:#edf3f9;margin:30px 0;border-radius:6px}.pf-facts dt{font-size:.84rem;color:#52657a}.pf-facts dd{margin:6px 0 0;font-weight:700;color:var(--pf-ink)}.pf-cover{max-height:440px;width:100%;object-fit:cover;border-radius:8px}.pf-section{margin-bottom:36px}.pf-pages{display:flex;gap:28px;align-items:center;margin:40px 0}.pf-cta{padding:32px;background:var(--pf-ink);border-radius:8px;margin-top:48px}.pf-cta,.portfolio .pf-cta a,.portfolio .pf-cta h2{color:white}.pf-cta a{margin-right:24px}.pf-empty{padding:36px;background:#edf3f9;border-radius:6px}.pf-dialog{border:0;border-radius:8px;padding:20px;max-width:95vw;max-height:94vh}.pf-dialog::backdrop{background:rgba(12,26,46,.8)}.pf-dialog img{max-width:100%;max-height:78vh;object-fit:contain}.pf-dialog button{display:block;margin:0 0 16px auto}.pf-document-open{width:100%;padding:0;border:0;background:none;cursor:zoom-in}.pf-document-open img{width:100%;height:auto}@media(max-width:760px){.portfolio{padding:28px 18px}.pf-reference,.pf-reference.pf-featured{grid-template-columns:minmax(0,1fr);gap:22px;padding:26px 20px}.pf-reference .pf-paper{width:160px}.pf-featured .pf-paper img,.pf-paper img{height:210px}.pf-detail{grid-template-columns:minmax(0,1fr);gap:28px}.pf-documents{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.pf-projects{grid-template-columns:minmax(0,1fr)}.pf-tools{align-items:stretch}.pf-tools .pf-button{align-self:stretch}.pf-facts{gap:20px}.portfolio h1{overflow-wrap:anywhere}}