/* First-party portfolio layouts; no script required to show an initial published grid. */
.rct-portfolio-grid{width:100%;max-width:100%;--rct-pg-gap:18px;color:inherit}
.rct-pg-toolbar{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;justify-content:space-between;margin:0 0 1.2rem}
.rct-pg-filters{display:flex;flex-wrap:wrap;gap:.5rem}
.rct-pg-toolbar button,.rct-pg-toolbar select,.rct-pg-pager button{border:1px solid #cedbf0;border-radius:9px;background:transparent;padding:.6rem .95rem;color:inherit;cursor:pointer;font:inherit}
.rct-pg-toolbar button[aria-pressed=true],.rct-pg-pager button[aria-current=page]{background:var(--rct-primary,#3467ef);color:#fff;border-color:var(--rct-primary,#3467ef)}
.rct-pg-toolbar label{display:flex;align-items:center;gap:.5rem;font-size:.85rem}
.rct-pg-results{display:grid;gap:var(--rct-pg-gap);grid-template-columns:repeat(var(--rct-pg-desktop,3),minmax(0,1fr))}
.rct-pg-card{position:relative;min-width:0;min-height:0;overflow:hidden;border:1px solid #e0e6f0;border-radius:12px;background:var(--rct-card-bg,#fff);box-sizing:border-box}
.rct-pg-thumb{display:block;position:relative;overflow:hidden;background:#e8eef8}
.rct-pg-thumb img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .35s ease}
.rct-pg-ratio-square .rct-pg-thumb img,.rct-pg-ratio-square .rct-pg-placeholder{aspect-ratio:1}
.rct-pg-ratio-portrait .rct-pg-thumb img,.rct-pg-ratio-portrait .rct-pg-placeholder{aspect-ratio:3/4}
.rct-pg-ratio-natural .rct-pg-thumb img{aspect-ratio:auto}
.rct-pg-placeholder{display:block;aspect-ratio:4/3;background:linear-gradient(135deg,#e7edfb,#d6e1f7)}
.rct-pg-body{padding:1rem 1.1rem}.rct-pg-body h3{font-size:1.1rem;margin:0 0 .5rem}.rct-pg-body h3 a{text-decoration:none;color:inherit}.rct-pg-excerpt{font-size:.92rem;margin:.6rem 0;line-height:1.55}.rct-pg-meta{display:flex;gap:.3rem .75rem;flex-wrap:wrap;color:#566782;font-size:.78rem}
.rct-pg-overlay{position:absolute;inset:0;background:#071b40ad;color:#fff;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}
.rct-pg-hover-overlay .rct-pg-card:is(:hover,:focus-within) .rct-pg-overlay,.rct-pg-hover-actions .rct-pg-card:is(:hover,:focus-within) .rct-pg-overlay{opacity:1}
.rct-pg-hover-zoom .rct-pg-card:is(:hover,:focus-within) img{transform:scale(1.065)}
.rct-pg-action{display:inline-block;font-size:.85rem;font-weight:600;margin-top:.7rem;color:var(--rct-primary,#3467ef)}
.rct-pg-hover-reveal .rct-pg-card .rct-pg-body{transition:transform .3s ease}
.rct-pg-hover-reveal .rct-pg-card:is(:hover,:focus-within) .rct-pg-body{transform:translateY(-5px)}
.rct-pg-card-minimal .rct-pg-card{border:0;border-radius:0}
.rct-pg-card-editorial .rct-pg-card{border-radius:0}.rct-pg-card-glass .rct-pg-card{background:linear-gradient(135deg,#eff5ffef,#ffffffce);backdrop-filter:blur(8px)}
.rct-pg-card-bordered .rct-pg-card{border:2px solid #9aaccb}.rct-pg-card-shadow .rct-pg-card{box-shadow:0 12px 30px #142a4f20}
.rct-pg-card-accent .rct-pg-card{border-top:4px solid var(--rct-primary,#3467ef)}.rct-pg-card-rounded .rct-pg-card{border-radius:24px}.rct-pg-card-dark .rct-pg-card{background:#132340;color:white}.rct-pg-card-dark .rct-pg-meta{color:#c4d6ef}.rct-pg-card-image_first .rct-pg-body{padding:.75rem}
.rct-pg-layout-masonry .rct-pg-results{display:block;columns:var(--rct-pg-desktop,3);column-gap:var(--rct-pg-gap)}
.rct-pg-layout-masonry .rct-pg-card{break-inside:avoid;margin:0 0 var(--rct-pg-gap);display:inline-block;width:100%}
.rct-pg-layout-justified .rct-pg-results{display:flex;flex-wrap:wrap;align-items:stretch}
.rct-pg-layout-justified .rct-pg-card{flex:var(--rct-pg-aspect,1.4) 1 calc(210px * var(--rct-pg-aspect,1.4));max-width:100%}
.rct-pg-layout-justified .rct-pg-thumb img{height:210px;aspect-ratio:auto;object-fit:cover}
.rct-pg-layout-editorial .rct-pg-card:first-child{grid-column:span 2;grid-row:span 2}
.rct-pg-layout-editorial .rct-pg-card:first-child .rct-pg-thumb img{aspect-ratio:16/10}
.rct-pg-layout-fullwidth{width:100vw;max-width:100vw;position:relative;left:50%;transform:translateX(-50%)}
.rct-pg-layout-fullwidth .rct-pg-results{grid-template-columns:repeat(var(--rct-pg-desktop,3),minmax(0,1fr));gap:0}
.rct-pg-layout-fullwidth .rct-pg-card{border:0;border-radius:0}
.rct-pg-pagination{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem;padding:1.5rem 0}.rct-pg-more{display:block;margin:1.3rem auto}.rct-pg-sentinel{height:1px}
.rct-pg-status{font-size:.85rem;min-height:0}.rct-portfolio-grid[aria-busy=true] .rct-pg-results{opacity:.65}
.rct-pg-toolbar button:focus-visible,.rct-pg-toolbar select:focus-visible,.rct-pg-pagination button:focus-visible,.rct-pg-more:focus-visible,.rct-pg-card a:focus-visible{outline:3px solid var(--rct-primary,#3467ef);outline-offset:2px}
@media(max-width:1023px){.rct-pg-results,.rct-pg-layout-fullwidth .rct-pg-results{grid-template-columns:repeat(var(--rct-pg-tablet,2),minmax(0,1fr))}.rct-pg-layout-masonry .rct-pg-results{columns:var(--rct-pg-tablet,2)}.rct-pg-layout-editorial .rct-pg-card:first-child{grid-column:auto;grid-row:auto}}
@media(max-width:639px){.rct-pg-results,.rct-pg-layout-fullwidth .rct-pg-results{grid-template-columns:repeat(var(--rct-pg-mobile,1),minmax(0,1fr))}.rct-pg-layout-masonry .rct-pg-results{columns:var(--rct-pg-mobile,1)}.rct-pg-toolbar{align-items:stretch;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.rct-portfolio-grid *{scroll-behavior:auto!important;transition:none!important}}

@media(max-width:639px){.rct-pg-layout-justified .rct-pg-card{flex-basis:100%}.rct-pg-layout-justified .rct-pg-thumb img{height:auto;aspect-ratio:4/3}}

/* Accessible, clickable overlay action lives outside the image anchor to avoid nested links. */
.rct-pg-hover-actions .rct-pg-card .rct-pg-action{position:absolute;top:24%;left:50%;z-index:2;transform:translate(-50%,8px);border-radius:8px;padding:.6rem .85rem;background:var(--rct-primary,#3467ef);color:#fff;opacity:0;transition:opacity .25s ease,transform .25s ease}
.rct-pg-hover-actions .rct-pg-card:is(:hover,:focus-within) .rct-pg-action{opacity:1;transform:translate(-50%,0)}
.rct-pg-hover-actions .rct-pg-card .rct-pg-overlay{pointer-events:none}
@media(prefers-reduced-motion:reduce){.rct-pg-hover-actions .rct-pg-card .rct-pg-action{transition:none!important}}
