.gallery-hero{position:relative;isolation:isolate;min-height:560px;display:flex;align-items:center;background-position:center;background-size:cover;}
.gallery-hero::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(100deg,rgba(27,58,107,.98),rgba(27,58,107,.89),rgba(27,58,107,.52));}
.gallery-hero-inner{padding:96px 0;color:#fff;}
.gallery-hero .eyebrow{color:#bfe6d6;}
.gallery-hero h1{font-size:clamp(44px,7vw,76px);color:#fff;max-width:12ch;margin-top:14px;}
.gallery-hero p{font-size:18px;max-width:60ch;margin-top:22px;color:rgba(255,255,255,.9);}
.gallery-proof{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px;}
.gallery-proof span{border:1px solid rgba(255,255,255,.34);background:rgba(255,255,255,.08);padding:7px 11px;border-radius:999px;font-size:12px;font-weight:600;backdrop-filter:blur(4px);}
.gallery-section{padding:88px 0;background:var(--white);border-bottom:1px solid var(--line);}
.gallery-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:end;}
.gallery-heading h2{font-size:clamp(30px,4vw,46px);margin-top:10px;}
.gallery-heading p{font-size:15px;opacity:.78;}
.gallery-filters{display:flex;gap:10px;flex-wrap:wrap;margin:34px 0 12px;}
.gallery-filters button{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:999px;padding:10px 16px;font:600 13px Inter,Arial,sans-serif;cursor:pointer;transition:.2s;}
.gallery-filters button:hover,.gallery-filters button.active{background:var(--ink);color:#fff;border-color:var(--ink);}
.gallery-count{font:500 11px 'IBM Plex Mono',monospace;letter-spacing:.06em;text-transform:uppercase;color:#58708e;margin:0 0 22px;}
.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:260px;grid-auto-flow:dense;gap:14px;}
.gallery-item,.gallery-video{position:relative;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--raise);padding:0;cursor:pointer;text-align:left;min-width:0;color:inherit;font:inherit;}
.gallery-item.wide,.gallery-video.wide{grid-column:span 2;}
.gallery-item.tall,.gallery-video.tall{grid-row:span 2;}
.gallery-item img,.gallery-video img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease;}
.gallery-item:hover img,.gallery-video:hover img{transform:scale(1.035);}
.gallery-item:focus-visible,.gallery-video:focus-visible{outline:3px solid var(--green);outline-offset:3px;}
.gallery-caption{position:absolute;left:0;right:0;bottom:0;padding:62px 18px 17px;background:linear-gradient(transparent,rgba(10,29,52,.94));color:#fff;display:flex;flex-direction:column;gap:3px;}
.gallery-caption strong{font-family:Fraunces,Georgia,serif;font-size:18px;line-height:1.2;}
.gallery-caption span{font-size:12px;opacity:.86;line-height:1.45;}
.media-label{position:absolute;left:12px;top:12px;z-index:2;padding:6px 9px;border-radius:999px;background:rgba(251,252,250,.92);color:var(--ink);font:600 10px 'IBM Plex Mono',monospace;letter-spacing:.07em;text-transform:uppercase;box-shadow:0 5px 15px rgba(10,29,52,.14);}
.gallery-item.is-hidden,.gallery-video.is-hidden{display:none;}
.video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:62px;height:62px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(27,58,107,.94);border:1px solid rgba(255,255,255,.45);color:#fff;font-size:18px;padding-left:3px;box-shadow:0 12px 30px rgba(0,0,0,.3);transition:transform .2s,background .2s;}
.gallery-video:hover .video-play{transform:translate(-50%,-50%) scale(1.08);background:var(--green);}
.gallery-cta{padding:76px 0;}
.lightbox{position:fixed;z-index:1000;inset:0;background:rgba(4,13,27,.94);display:none;align-items:center;justify-content:center;padding:64px 24px 28px;}
.lightbox.open{display:flex;}
.lightbox figure{max-width:min(1100px,94vw);max-height:88vh;display:flex;flex-direction:column;align-items:center;gap:13px;}
.lightbox img,.lightbox video{max-width:100%;max-height:78vh;object-fit:contain;border-radius:12px;box-shadow:0 30px 80px rgba(0,0,0,.45);background:#000;}
.lightbox video{width:auto;height:auto;}
.lightbox [hidden]{display:none!important;}
.lightbox figcaption{color:#fff;font-weight:600;text-align:center;}
.lightbox-close{position:absolute;right:24px;top:18px;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);color:#fff;font-size:31px;line-height:1;cursor:pointer;}
body.lightbox-open{overflow:hidden;}
@media(max-width:1000px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:820px){.gallery-heading{grid-template-columns:1fr;gap:20px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.gallery-item.wide,.gallery-video.wide{grid-column:span 2;}}
@media(max-width:600px){.gallery-hero{min-height:500px;background-position:58% center}.gallery-hero-inner{padding:72px 0}.gallery-hero h1{font-size:46px}.gallery-hero p{font-size:16px}.gallery-section{padding:64px 0}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:290px}.gallery-item.wide,.gallery-video.wide,.gallery-item.tall,.gallery-video.tall{grid-column:auto;grid-row:auto}.gallery-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:5px;scrollbar-width:thin}.gallery-filters button{white-space:nowrap}.lightbox{padding-inline:14px}.lightbox-close{right:12px;top:10px}.gallery-proof{gap:7px}.gallery-proof span{font-size:11px}}
@media(prefers-reduced-motion:reduce){.gallery-item img,.gallery-video img,.video-play{transition:none}}

/* Larger approved brand mark */
.brand img{height:110px!important;width:auto!important;}
@media(max-width:600px){.brand img{height:84px!important;}}

/* Featured Fogo de Chao commercial case */
.fogo-feature{padding:28px 20px 10px;background:#f7f9fc;}
.fogo-feature-inner{max-width:1180px;margin:0 auto;border:1px solid rgba(25,65,119,.14);border-radius:24px;background:#fff;padding:26px;box-shadow:0 16px 40px rgba(21,48,84,.07);}
.fogo-feature-copy{max-width:760px;margin-bottom:20px;}
.fogo-feature-copy h2{margin:.35rem 0 .55rem;font-size:clamp(1.8rem,3vw,2.7rem);color:#153f75;}
.fogo-feature-copy p{margin:0;color:#56657a;line-height:1.65;}
.fogo-feature-media{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:14px;}
.fogo-feature-media figure{margin:0;position:relative;overflow:hidden;border-radius:16px;min-height:260px;background:#e9eef5;}
.fogo-feature-media img{width:100%;height:100%;object-fit:cover;display:block;}
.fogo-feature-media figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px 14px 12px;color:#fff;font-weight:700;background:linear-gradient(transparent,rgba(8,24,45,.8));}
@media(max-width:700px){.fogo-feature{padding:20px 14px 0}.fogo-feature-inner{padding:18px}.fogo-feature-media{grid-template-columns:1fr}.fogo-feature-media figure{min-height:220px}}
