.fm-portfolio { --fm-ink:#1c3965; --fm-muted:#556f96; --fm-line:#dbe6f5; --fm-bg:#f7faff; --fm-accent:#295287; color:var(--fm-ink); background:var(--fm-bg); font:15px/1.65 Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; padding:0 max(22px,calc((100% - 1180px)/2)) 60px; }
.fm-portfolio *, .fm-portfolio *::before, .fm-portfolio *::after { box-sizing:border-box; }
.fm-portfolio [hidden] { display:none!important; }
.fm-portfolio button { font:inherit; color:inherit; cursor:pointer; }
.fm-portfolio button:focus-visible { outline:3px solid var(--fm-accent); outline-offset:5px; }
.fm-portfolio .fm-top { padding:28px 0; display:flex; justify-content:space-between; gap:20px; border-bottom:1px solid var(--fm-line); align-items:center; }
.fm-portfolio .fm-brand { font-size:18px; letter-spacing:.12em; text-transform:uppercase; font-weight:700; }
.fm-portfolio .fm-top-note { font-size:11px; letter-spacing:.15em; text-transform:uppercase; color:var(--fm-muted); text-align:right; }
.fm-portfolio .fm-intro { padding:70px 0 52px; max-width:980px; }
.fm-portfolio .fm-eyebrow { color:var(--fm-accent); text-transform:uppercase; font-size:11px; letter-spacing:.16em; margin:0 0 18px; }
.fm-portfolio h1 { font-size:clamp(38px,5.3vw,64px); font-weight:600; line-height:1.08; letter-spacing:-.055em; margin:0 0 24px; }
.fm-portfolio .fm-lead { max-width:490px; color:var(--fm-muted); font-size:16px; margin:0; }
.fm-portfolio .fm-toolbar { padding:0 0 24px; display:flex; gap:18px; justify-content:space-between; align-items:center; border-bottom:1px solid var(--fm-line); margin:0 0 30px; }
.fm-portfolio .fm-filters { display:flex; flex-wrap:wrap; gap:8px; }
.fm-portfolio .fm-filter { border:1px solid transparent; border-radius:0; background:none; padding:7px 13px; font-size:12px; }
.fm-portfolio .fm-filter[aria-pressed=true] { background:var(--fm-ink); color:var(--fm-bg); }
.fm-portfolio .fm-count { color:var(--fm-muted); font-size:12px; white-space:nowrap; }
.fm-portfolio .fm-grid { column-count:3; column-gap:28px; }
.fm-portfolio .fm-card { display:block; width:100%; margin:0 0 34px; padding:0; text-align:left; background:none; border:0; break-inside:avoid; }
.fm-portfolio img { display:block; width:100%; height:auto; max-width:none; }
.fm-portfolio .fm-card:hover img { opacity:.92; }
.fm-portfolio .fm-card-title { display:block; font-size:23px; font-weight:600; line-height:1.25; letter-spacing:-.035em; margin:16px 0 5px; }
.fm-portfolio .fm-card-meta { display:flex; justify-content:space-between; gap:10px; color:var(--fm-muted); font-size:12px; }
.fm-portfolio .fm-arrow { font-size:18px; }
.fm-portfolio .fm-back { margin:34px 0; border:0; border-bottom:1px solid var(--fm-ink); padding:0 0 4px; background:none; font-size:12px; }
.fm-portfolio .fm-project-head { padding:15px 0 40px; max-width:920px; }
.fm-portfolio h2 { font-size:clamp(34px,4vw,54px); line-height:1.13; letter-spacing:-.055em; font-weight:600; margin:0 0 20px; }
.fm-portfolio .fm-gallery { columns:2; column-gap:28px; }
.fm-portfolio .fm-gallery figure { break-inside:avoid; display:block; margin:0 0 30px; }
.fm-portfolio figcaption { display:flex; gap:12px; padding:10px 0 0; font-size:12px; color:var(--fm-muted); }
.fm-portfolio .fm-image-number { color:var(--fm-accent); }
.fm-portfolio .fm-footer { border-top:1px solid var(--fm-line); margin:36px 0 0; padding:22px 0 0; display:flex; justify-content:space-between; gap:20px; color:var(--fm-muted); font-size:11px; letter-spacing:.03em; }
@media(min-width:1600px) { .fm-portfolio { max-width:1760px; margin:auto; } }
@media(max-width:1000px) { .fm-portfolio .fm-grid { column-count:2; } .fm-portfolio .fm-intro { padding-top:48px; } }
@media(max-width:620px) { .fm-portfolio .fm-grid,.fm-portfolio .fm-gallery { column-count:1; } .fm-portfolio .fm-top-note { max-width:115px; font-size:9px; } .fm-portfolio .fm-brand { font-size:14px; } .fm-portfolio .fm-toolbar { align-items:flex-start; flex-direction:column; gap:12px; } .fm-portfolio .fm-intro { padding:42px 0 34px; } .fm-portfolio .fm-footer { flex-direction:column; gap:6px; } }
@media(prefers-reduced-motion:no-preference) { .fm-portfolio .fm-card img { transition:opacity .18s ease; } }

/* Identidad visual tomada del tema FotoMarketing Studio v2.0.2. */
.fm-portfolio .fm-top{min-height:90px;padding:16px 0;gap:24px}
.fm-portfolio .fm-brand{display:block;width:245px;max-width:45%;flex-shrink:0}
.fm-portfolio .fm-brand img{width:100%;height:auto;max-height:56px;object-fit:contain;object-position:left center}
.fm-portfolio .fm-top-note{font-size:12px;letter-spacing:0;text-transform:none;max-width:230px}
.fm-portfolio .fm-intro{padding:82px 0 40px;max-width:850px}
.fm-portfolio .fm-eyebrow{font-weight:750;letter-spacing:.19em}
.fm-portfolio .fm-lead{max-width:600px}
.fm-portfolio .fm-filters{gap:9px}
.fm-portfolio .fm-filter,.fm-portfolio .fm-back{display:inline-flex;justify-content:center;align-items:center;gap:9px;border:1px solid var(--fm-accent);border-radius:4px;background:transparent;color:var(--fm-accent);padding:13px 23px;font-weight:700;font-size:13px;transition:background .2s,transform .2s}
.fm-portfolio .fm-filter[aria-pressed=true]{background:var(--fm-accent);color:#fff}
.fm-portfolio .fm-filter:hover,.fm-portfolio .fm-back:hover{background:#3771c7;border-color:#3771c7;color:#fff;transform:translateY(-1px)}
.fm-portfolio button:focus-visible{outline-color:#2a7efe}
.fm-portfolio .fm-grid{column-gap:22px}
.fm-portfolio .fm-card>img{border-radius:14px}
.fm-portfolio .fm-gallery{column-gap:24px}
.fm-portfolio .fm-footer{font-size:12px;letter-spacing:0}
@media(min-width:1600px){.fm-portfolio{max-width:none}}
@media(max-width:620px){.fm-portfolio{padding:0 15px 44px}.fm-portfolio .fm-top-note{max-width:135px;font-size:10px}.fm-portfolio .fm-brand{width:190px}.fm-portfolio .fm-filter{padding:11px 17px}.fm-portfolio .fm-intro{padding:48px 0 32px}}
@media(prefers-reduced-motion:reduce){.fm-portfolio *{transition:none!important;scroll-behavior:auto!important}}

.fm-portfolio .fm-plan-gallery{columns:1;max-width:100%;}
.fm-portfolio .fm-plan-gallery figure{background:#fff;padding:12px;border:1px solid var(--fm-line);border-radius:14px;}
.fm-portfolio .fm-download{display:inline-flex;align-items:center;justify-content:center;padding:13px 23px;margin:0 0 28px;border:1px solid var(--fm-accent);border-radius:4px;background:var(--fm-accent);color:#fff;text-decoration:none;font-weight:700;font-size:13px;}
.fm-portfolio .fm-download:hover{background:#3771c7;border-color:#3771c7;}
.fm-portfolio .fm-download:focus-visible{outline:3px solid #2a7efe;outline-offset:5px;}
/* WordPress integration: original proportions and isolated navigation. */
#portfolio.fm-portfolio{padding-top:30px;scroll-margin-top:110px}
.fm-portfolio a.fm-card{text-decoration:none;color:var(--fm-ink)}
.fm-portfolio .fm-project-nav{display:flex;flex-wrap:wrap;gap:12px;border-top:1px solid var(--fm-line);padding-top:25px}
.fm-portfolio .fm-project-nav a{border:1px solid var(--fm-line);padding:8px 12px;border-radius:4px;font-size:13px}
.fm-portfolio .fm-gallery img,.fm-portfolio .fm-card>img{height:auto;object-fit:contain;max-width:100%}
.fm-portfolio a:focus-visible{outline:3px solid #2a7efe;outline-offset:5px}
