.cs-gallery{scroll-margin-top:6rem;background:#fbf8f1;color:#0b1f3f;padding:6rem 0}
.cs-gallery__inner{max-width:80rem;margin:0 auto;padding:0 1.5rem}
.cs-gallery__head{display:flex;flex-direction:column;gap:1.5rem;justify-content:space-between}
.cs-gallery__eyebrow{margin:0 0 1rem;font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.25em;color:#0066CB}
.cs-gallery__title{margin:0;max-width:48rem;font-size:clamp(2.25rem,5vw,4.25rem);font-weight:900;line-height:.95;letter-spacing:-.035em}
.cs-gallery__accent{font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:400;color:#FF636B}
.cs-gallery__intro{margin:0;max-width:26rem;font-size:1.125rem;line-height:1.6;color:rgba(11,31,63,.8)}
.cs-gallery__group{margin-top:3.5rem;scroll-margin-top:6rem}
.cs-gallery__group-title{margin:0 0 .75rem;font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.1;font-weight:800;letter-spacing:-.025em}
.cs-gallery__group-description{margin:0;max-width:45rem;line-height:1.6;color:rgba(11,31,63,.8)}
.cs-gallery__group .cs-gallery__grid{margin-top:1.75rem}
.cs-gallery__group--imprinting .cs-gallery__img{aspect-ratio:4/3}
.cs-gallery__title .cs-gallery__accent{color:#c7323b}
.cs-gallery__grid{list-style:none;margin:3.5rem 0 0;padding:0;display:grid;gap:1.5rem;grid-template-columns:1fr}
.cs-gallery__item{margin:0}
.cs-gallery__link{display:block;color:inherit;text-decoration:none;border-radius:1.75rem;outline:none}
.cs-gallery__frame{position:relative;border-radius:1.75rem;background:#0066CB;padding:1rem;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.cs-gallery__item:nth-child(3n+2) .cs-gallery__frame{background:#0b1f3f}
.cs-gallery__item:nth-child(3n+3) .cs-gallery__frame{background:#5B4E96}
.cs-gallery__img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;border-radius:1rem;background:#f1ebdd}
.cs-gallery__view{position:absolute;right:1.75rem;top:1.75rem;display:inline-flex;align-items:center;gap:.4rem;border-radius:999px;background:#fbf8f1;color:#0b1f3f;padding:.5rem .9rem;font-size:.8125rem;font-weight:800;box-shadow:0 6px 18px -8px rgba(5,20,60,.5);transition:background-color .2s,color .2s}
.cs-gallery__caption{display:flex;align-items:baseline;gap:.75rem;margin-top:1.1rem}
.cs-gallery__num{font-size:.875rem;font-weight:700;color:#c7323b}
.cs-gallery__name{margin:0;font-size:1.5rem;font-weight:900;letter-spacing:-.02em;line-height:1.15}
.cs-gallery__link:hover .cs-gallery__frame,.cs-gallery__link:focus-visible .cs-gallery__frame{transform:translateY(-4px);box-shadow:0 30px 60px -30px rgba(5,20,60,.55)}
.cs-gallery__link:hover .cs-gallery__view,.cs-gallery__link:focus-visible .cs-gallery__view{background:#FF636B}
.cs-gallery__link:hover .cs-gallery__name,.cs-gallery__link:focus-visible .cs-gallery__name{color:#0066CB}
.cs-gallery__link:focus-visible .cs-gallery__frame{outline:4px solid #FF636B;outline-offset:4px}
.cs-gallery__cta{margin-top:3.5rem;display:flex;flex-direction:column;align-items:flex-start;gap:1.25rem;border:2px solid #0b1f3f;border-radius:2rem;padding:2rem}
.cs-gallery__cta-text{margin:0;max-width:40rem;font-size:1.25rem;font-weight:600;line-height:1.35}
.cs-gallery__cta-text .cs-gallery__accent{color:#0066CB}
.cs-gallery__cta-link{display:inline-flex;align-items:center;gap:.5rem;flex-shrink:0;border-radius:999px;background:#0b1f3f;color:#fbf8f1;padding:.9rem 1.5rem;font-weight:700;text-decoration:none;transition:background-color .2s}
.cs-gallery__cta-link:hover{background:#0066CB}
.cs-gallery__cta-link:focus-visible{outline:3px solid #FF636B;outline-offset:4px}
.cs-gallery__custom-content{margin-top:3.5rem;overflow-wrap:anywhere}
.cs-gallery__custom-content img{max-width:100%;height:auto;object-fit:contain!important;border-radius:1rem}
.cs-gallery__custom-content .wp-block-gallery{gap:1.5rem}
.cs-gallery__custom-content figure{max-width:100%}
@media (min-width:640px){.cs-gallery__grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:768px){.cs-gallery{padding:8rem 0}.cs-gallery__head{flex-direction:row;align-items:flex-end}.cs-gallery__cta{flex-direction:row;align-items:center;justify-content:space-between}.cs-gallery__cta-text{font-size:1.5rem}}
@media (min-width:1024px){.cs-gallery__grid{grid-template-columns:repeat(3,1fr);gap:2rem}}
@media (prefers-reduced-motion:reduce){.cs-gallery__frame{transition:none}.cs-gallery__link:hover .cs-gallery__frame,.cs-gallery__link:focus-visible .cs-gallery__frame{transform:none}}
