.gallery-section{width:100%;padding:.25rem 0 1rem}.gallery-intro{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem;padding:0 .5rem}.gallery-kicker{margin:0;color:var(--muted);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.24em}.gallery-title{margin:0;color:var(--foreground);font-family:var(--font-display),Arial,Helvetica,sans-serif;font-size:clamp(1.6rem,4vw,2.4rem);font-weight:900;letter-spacing:-.03em}.gallery-description{max-width:42rem;margin:0;color:var(--muted);font-size:.95rem;line-height:1.75}.gallery{display:grid;grid-template-columns:1fr;gap:1.2rem;padding:0 .5rem}@media (min-width:640px){.gallery{grid-template-columns:repeat(2,1fr);padding:0}}@media (min-width:960px){.gallery{grid-template-columns:repeat(3,1fr)}}.card{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:var(--surface);text-decoration:none;color:var(--foreground);box-shadow:var(--shadow-soft);opacity:0;translate:0 20px;transition:opacity .55s ease,translate .55s cubic-bezier(.22,.9,.3,1),transform .18s ease,border-color .18s ease,box-shadow .18s ease}.card.in-view{opacity:1;translate:0 0}.card:focus-visible,.card:hover{transform:translateY(-3px);border-color:var(--accent-strong);box-shadow:var(--shadow-medium);outline:none}.card-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--accent-pale)}.card-media img,.card-media video{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.card:hover .card-media img,.card:hover .card-media video{transform:scale(1.04)}.card-index{position:absolute;top:.7rem;left:.7rem;background:var(--background);color:var(--foreground);font-weight:800;font-size:.7rem;letter-spacing:.05em;padding:.22rem .55rem;border-radius:var(--radius-pill)}.card-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;justify-content:center;pointer-events:none;opacity:.92;transition:opacity .2s ease}.card:hover .card-play{opacity:0}.card-body{padding:1.1rem 1.15rem 1.3rem;display:flex;flex-direction:column;gap:.6rem}.card-title{font-family:var(--font-display),Arial,Helvetica,sans-serif;font-weight:800;font-size:1.05rem;margin:0;text-wrap:balance}.card-stack{display:flex;flex-wrap:wrap;gap:.4rem}.card-stack span{font-size:.68rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--accent-strong);background:var(--accent-pale);border-radius:var(--radius-pill);padding:.2rem .55rem}@media (min-width:640px){.gallery-section{padding-top:1rem}}.page-shell{width:min(100%,80rem);margin:0 auto;padding:0 .75rem 4rem}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:var(--fade-to,1)}}@keyframes popScale{0%{opacity:0;transform:scale(.86)}to{opacity:1;transform:scale(1)}}@keyframes popUp{0%{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes blobMorph{0%,to{border-radius:61% 39% 65% 35%/44% 54% 46% 56%}50%{border-radius:46% 54% 42% 58%/56% 44% 58% 42%}}@keyframes ringSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes floatY{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.hero-section{display:grid;grid-template-columns:1fr;align-items:center;gap:2.5rem;padding:2.2rem 0 4.5rem}.hero-text{display:flex;flex-direction:column;gap:1.4rem}.hero-text>*{opacity:0;animation:fadeUp .7s cubic-bezier(.22,.9,.28,1) forwards}.hero-eyebrow{margin:0;color:var(--accent-strong);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.22em;animation-delay:.18s}.hero-title{margin:0;max-width:34rem;color:var(--foreground);font-family:var(--font-display),Arial,Helvetica,sans-serif;font-size:clamp(2.25rem,6.4vw,4rem);font-weight:900;line-height:.98;letter-spacing:-.03em;text-wrap:balance;animation-delay:.26s}.hero-description{margin:0;max-width:32rem;color:var(--muted);font-size:1rem;line-height:1.8;animation-delay:.38s}.hero-actions{display:flex;flex-direction:column;gap:.75rem;animation-delay:.48s}.hero-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;color:var(--muted);font-size:.85rem;font-weight:600;animation-delay:.56s}.hero-meta a{color:var(--foreground);text-decoration:none;border-bottom:1px solid var(--border);transition:border-color .15s ease,color .15s ease}.hero-meta a:hover{color:var(--accent-strong);border-color:var(--accent-strong)}.hero-figure{position:relative;display:flex;align-items:center;justify-content:center;padding:1.5rem;min-height:18rem}.hero-blob{inset:6% 8%;background:var(--accent);border-radius:61% 39% 65% 35%/44% 54% 46% 56%;animation:popScale .9s cubic-bezier(.22,.9,.3,1) .12s forwards,blobMorph 13s ease-in-out 1s infinite}.hero-blob,.hero-blob-ring{position:absolute;z-index:0;opacity:0}.hero-blob-ring{inset:-2% 0;border:2px solid var(--accent-strong);border-radius:42% 58% 53% 47%/58% 44% 56% 42%;--fade-to:0.25;animation:fadeIn .9s ease .26s forwards,ringSpin 46s linear 1.1s infinite}.hero-portrait{position:relative;z-index:1;width:min(72%,20rem);height:auto;filter:drop-shadow(0 22px 36px rgba(13,74,94,.28));opacity:0;animation:popUp .8s cubic-bezier(.22,.9,.3,1) .42s forwards}.hero-tag-float{position:absolute;z-index:2;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);padding:.4rem .85rem;font-size:.75rem;font-weight:700;color:var(--foreground);box-shadow:var(--shadow-soft);opacity:0}.hero-tag-float.t1{top:8%;right:2%;animation:fadeIn .5s ease .78s forwards,floatY 4.6s ease-in-out .78s infinite}.hero-tag-float.t2{bottom:10%;left:0;animation:fadeIn .5s ease .92s forwards,floatY 5.4s ease-in-out .92s infinite}.hero-tag-text{display:inline-block;opacity:1;transform:translateY(0) scale(1);transition:opacity .32s ease,transform .32s ease}.hero-tag-text.is-fading{opacity:0;transform:translateY(3px) scale(.97)}@media (min-width:640px){.page-shell{padding:0 1.5rem 4rem}.hero-actions{flex-direction:row;flex-wrap:wrap}}@media (min-width:900px){.hero-section{grid-template-columns:1.08fr .92fr;gap:2.5rem;padding:3rem 0 5.5rem}}@media (prefers-reduced-motion:reduce){.hero-blob,.hero-blob-ring,.hero-portrait,.hero-tag-float,.hero-tag-text,.hero-text>*{opacity:1;animation:none!important}}