.pf-section{padding:88px 0;background:linear-gradient(135deg,#e8f3f9,#fff 55%,#eaf4f9)}.pf-container{max-width:1250px;width:88%;margin:auto}.pf-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px}.pf-heading h2{font-size:clamp(35px,4.3vw,57px);line-height:1.08;letter-spacing:-.05em;margin:13px 0}.pf-heading p{max-width:650px;color:#536e81;line-height:1.7}.pf-count{flex-shrink:0;background:#fff;border:1px solid #d4e4ed;padding:19px;border-radius:15px;box-shadow:0 14px 30px #123b621c;color:#335c74}.pf-count b{font-size:26px;color:#f47b20}.pf-filter{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 32px}.pf-filter button{border:1px solid #cadfe9;background:#fff;color:#246184;cursor:pointer;padding:12px 19px;border-radius:40px;font-size:13px;font-weight:750;transition:all .25s}.pf-filter button[aria-pressed=true]{background:#123b62;color:white;border-color:#123b62}.pf-filter button:hover{transform:translateY(-3px);border-color:#f47b20}.pf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.pf-card{--pf-accent:#2b6b99;min-width:0;overflow:hidden;border:1px solid #d4e3ed;background:#fff;border-radius:22px;box-shadow:0 16px 32px #0c365323;transition:transform .4s,box-shadow .4s,border-color .4s}.pf-card:hover{transform:translateY(-9px);box-shadow:0 30px 68px #0b35583d;border-color:#f1aa75}.pf-card[hidden]{display:none!important}.pf-visual{position:relative;isolation:isolate;aspect-ratio:16/9;display:block;overflow:hidden;background:linear-gradient(130deg,#08263d,var(--pf-accent))}.pf-visual:before,.pf-detail-visual:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 15%,#ffffff45,transparent 34%),repeating-linear-gradient(140deg,transparent 0 50px,#ffffff0c 51px 52px)}.pf-visual img,.pf-detail-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2;opacity:0;transition:opacity .35s,transform .5s}.pf-visual img.is-loaded,.pf-detail-visual img.is-loaded{opacity:1}.pf-card:hover .pf-visual img{transform:scale(1.045)}.pf-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:13px;color:#fff}.pf-monogram{width:90px;height:90px;border-radius:24px;display:grid;place-items:center;background:#ffffff25;border:1px solid #ffffff60;box-shadow:0 12px 25px #0002;font-size:38px;font-weight:900}.pf-fallback b{font-size:22px;text-align:center}.pf-chip{position:absolute;z-index:3;top:15px;left:15px;border:1px solid #ffffff55;background:#0c304bdc;color:#fff;font-size:10px;letter-spacing:.12em;border-radius:40px;padding:10px 13px;text-transform:uppercase;font-weight:850}.pf-card-body{padding:23px}.pf-card-body small{color:#be662a;letter-spacing:.15em;font-weight:800;font-size:11px}.pf-card-body h3{font-size:23px;margin:11px 0;letter-spacing:-.035em}.pf-card-body p{font-size:14px;line-height:1.6;color:#5b7284;margin:0;min-height:64px}.pf-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:21px}.pf-link{border-bottom:1px solid #286f96;color:#286f96;font-size:13px;font-weight:780;padding-bottom:6px}.pf-link:hover{color:#f47b20;border-color:#f47b20}.pf-logo{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#eaf3f8;color:var(--pf-accent);font-size:14px;font-weight:850}.pf-note{color:#607c8c;font-size:12px;line-height:1.7;margin-top:25px}.pf-more{text-align:center;margin-top:34px}
.pf-detail{padding:65px 0 92px;background:linear-gradient(125deg,#eef6fb,#fff 60%,#e9f3fa)}.pf-detail-inner{width:88%;max-width:1240px;margin:auto}.pf-crumb{font-size:13px;color:#638094}.pf-crumb a{color:#1f719d;font-weight:750}.pf-detail-intro{max-width:880px;padding:45px 0 34px}.pf-detail-intro h1{font-size:clamp(43px,6vw,82px);letter-spacing:-.06em;line-height:1.03;margin:17px 0}.pf-detail-intro p{font-size:19px;color:#516c7f;line-height:1.65}.pf-detail-kicker{border-left:3px solid #f47b20;padding-left:13px;color:#b45d2b;font-size:11px;letter-spacing:.19em;font-weight:850}.pf-detail-visual{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:16/9;background:linear-gradient(110deg,#092943,var(--pf-accent));border:2px solid #f5fbff;border-radius:24px;box-shadow:0 28px 65px #0b365744}.pf-detail-visual .pf-monogram{position:absolute;z-index:1;left:50%;top:50%;transform:translate(-50%,-50%);color:#fff;width:160px;height:160px;font-size:65px}.pf-detail-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:30px;margin-top:35px}.pf-detail-panel{padding:34px;background:#fff;border:1px solid #d4e5ed;border-radius:20px;box-shadow:0 14px 32px #143b581b}.pf-detail-panel h2{font-size:28px;letter-spacing:-.045em;margin:6px 0 18px}.pf-detail-panel p{color:#566f83;line-height:1.8;font-size:15px}.pf-tags{display:flex;flex-wrap:wrap;gap:10px;margin:23px 0}.pf-tags span{border-radius:50px;background:#f0f7fb;border:1px solid #d4e4ed;color:#286080;padding:10px 14px;font-size:13px;font-weight:700}.pf-detail-actions{margin:27px 0 0;display:flex;align-items:center;gap:20px;flex-wrap:wrap}.pf-detail-bottom{margin-top:46px}.pf-detail-bottom a{font-weight:750;font-size:15px;color:#276e94}.pf-detail-bottom a:hover{color:#d26b2b}@media(max-width:1050px){.pf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pf-detail-grid{grid-template-columns:1fr}}@media(max-width:650px){.pf-section{padding:54px 0 65px}.pf-container,.pf-detail-inner{width:91%}.pf-heading{display:block}.pf-heading h2{font-size:35px}.pf-heading p{font-size:15px}.pf-count{display:inline-block;margin-top:16px}.pf-grid{grid-template-columns:1fr;gap:22px}.pf-card-body p{min-height:0}.pf-detail{padding:36px 0 64px}.pf-detail-intro{padding:32px 0 24px}.pf-detail-intro h1{font-size:clamp(38px,10vw,55px)}.pf-detail-intro p{font-size:16px}.pf-detail-visual{border-radius:15px}.pf-detail-panel{padding:25px}.pf-detail-panel h2{font-size:25px}}@media(prefers-reduced-motion:reduce){.pf-card,.pf-visual img,.pf-link{transition:none!important}.pf-card:hover{transform:none}}.pf-card{scroll-margin-top:80px}.pf-dialog{width:min(730px,94vw);max-height:90vh;overflow:auto;border:1px solid #d4e5ef;border-radius:24px;padding:25px;box-shadow:0 35px 95px #061a2cb8;color:#15374e}.pf-dialog::backdrop{background:#061b30ba;backdrop-filter:blur(5px)}.pf-dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.pf-dialog-head button{border:0;background:#eaf4f9;border-radius:50%;font-size:28px;width:42px;height:42px;cursor:pointer}.pf-dialog-image{height:255px;border-radius:15px;background:linear-gradient(120deg,#113958,#216eb4);display:grid;place-items:center;color:#fff;overflow:hidden}.pf-dialog-image img{width:100%;height:100%;object-fit:cover}.pf-dialog-image strong{font-size:45px}.pf-dialog h2{font-size:clamp(27px,4vw,38px);margin:20px 0 10px}.pf-dialog p{color:#587083;line-height:1.7}.pf-dialog-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin:22px 0}.pf-dialog small{color:#6e8795;font-size:11px}@media(max-width:650px){.pf-dialog{padding:18px}.pf-dialog-image{height:185px}}
/* Chamada compacta do portfólio na página Sobre */
.pf-teaser{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(28px,5vw,86px);align-items:center;min-height:410px}
.pf-teaser-copy h2{font-size:clamp(36px,4vw,59px);line-height:1.05;letter-spacing:-.055em;margin:17px 0 21px}
.pf-teaser-copy>p:not(.eyebrow){font-size:17px;line-height:1.75;color:#536e81;max-width:500px;margin-bottom:27px}
.pf-teaser-collage{position:relative;display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:145px 145px;gap:14px;min-width:0;padding:24px;border-radius:26px;background:linear-gradient(145deg,#0b2b46,#19517d);box-shadow:0 26px 56px #0c36533e;overflow:hidden}
.pf-teaser-collage img{display:block;min-width:0;width:100%;height:100%;object-fit:cover;border-radius:13px;border:1px solid #ffffff46;box-shadow:0 10px 20px #001e3361;transition:transform .35s}
.pf-teaser-collage img:first-child{grid-row:1/3}
.pf-teaser-collage:hover img:first-child{transform:scale(1.025)}
.pf-teaser-collage:hover img:nth-child(2){transform:translateY(-4px)}
.pf-teaser-collage span{position:absolute;bottom:35px;left:35px;right:35px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#05263fdd;border:1px solid #ffffff52;color:white;padding:13px 17px;border-radius:11px;letter-spacing:.13em;font-size:11px;font-weight:800;backdrop-filter:blur(9px)}
.pf-teaser-collage span b{color:#ff9850;font-size:23px;line-height:.6}
@media(max-width:900px){.pf-teaser{grid-template-columns:1fr}.pf-teaser-collage{max-width:620px;width:100%;margin:auto}}
@media(max-width:500px){.pf-teaser-collage{padding:12px;gap:8px;grid-template-rows:105px 105px;border-radius:16px}.pf-teaser-collage span{bottom:17px;left:17px;right:17px;padding:10px 12px;font-size:9px}}

/* Grupos separados e status de projetos sem link */
.pf-group{margin:27px 0 46px}
.pf-group[hidden]{display:none!important}
.pf-group-heading{padding:7px 0 24px;border-bottom:1px solid #cddfeb;margin-bottom:27px}
.pf-group-kicker{font-size:11px;letter-spacing:.17em;font-weight:800;color:#bf6928}
.pf-group-heading h3{font-size:clamp(27px,3vw,40px);letter-spacing:-.045em;margin:8px 0;color:#163a55}
.pf-group-heading p{font-size:14px;color:#607c8e;margin:6px 0 0}
.pf-development{padding:34px 32px 12px;border:1px solid #d2e2ee;border-radius:25px;background:linear-gradient(145deg,#e4f0f7,#f8fbfe);box-shadow:0 18px 44px #123b6218}
.pf-development .pf-chip{background:#6b3f18e8;border-color:#ffb36f}
.pf-card-bottom{flex-wrap:wrap;align-items:center;gap:11px}
.pf-external{display:inline-flex;align-items:center;justify-content:center;min-height:43px;border-radius:9px;background:#0b4164;padding:11px 14px;color:#fff;font-weight:750;font-size:13px;transition:background .2s,transform .2s}
.pf-external:hover{background:#f26a1b;transform:translateY(-2px)}
.pf-inert{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:11px 14px;background:#edf1f4;color:#69808d;border:1px solid #cdd9e2;border-radius:9px;opacity:1;font:750 13px/1.2 Inter,system-ui,sans-serif;cursor:not-allowed}
.pf-detail-link{font-size:12px;font-weight:750;color:#23658a;border-bottom:1px solid #9bb8ca;padding:4px 0}
.pf-detail-link:hover{color:#db6b28}
.pf-dialog .pf-external,.pf-dialog .pf-inert{min-width:185px}
@media(max-width:700px){.pf-development{padding:22px 14px 2px;border-radius:18px}}