:root {
--fg-green:        #203731;
--fg-green-deep:   #07130D;
--fg-gold:         #FFB612;
--fg-gold-dim:     rgba(255, 182, 18, .18);
--fg-cream:        #F8F5EE;
--fg-text:         #1A1A1A;
--fg-muted:        #3D3D3D;
--fg-card-bg:      #FFFFFF;
--fg-border:       rgba(32, 55, 49, .08);
--fg-border-hover: rgba(255, 182, 18, .42);
--fg-radius-md:    8px;
--fg-radius-lg:    12px;
--fg-radius-xl:    16px;
--fg-radius-pill:  999px;
--fg-font-head:    'Barlow Condensed', 'Arial Narrow', Arial, sans-serif;
--fg-font-body:    'Inter', 'Segoe UI', system-ui, sans-serif;
--fg-transition:   .25s ease;
} .gbp-fg-page {
background: var(--fg-cream);
color: var(--fg-text);
font-family: var(--fg-font-body);
} .gbp-fg-hero {
position: relative;
min-height: 82vh;
display: flex;
align-items: flex-start;
overflow: hidden;
background: var(--fg-green-deep);
color: #fff;
}
@media (max-width: 768px) { .gbp-fg-hero { min-height: 65vh; } } .gbp-fg-hero__bg {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden;
} .gbp-fg-hero__overlay {
position: absolute;
inset: 0;
background:
radial-gradient(ellipse at 55% 30%, rgba(32,55,49,.7) 0%, #07130D 65%),
linear-gradient(to top, rgba(2,6,3,.98) 0%, rgba(2,6,3,.45) 55%, transparent 100%);
} .gbp-fg-hero__img {
position: absolute;
inset: 0;
background-size: cover;
background-position: center 30%;
opacity: .28;
} .gbp-fg-hero__lines {
position: absolute;
inset: 0;
background: repeating-linear-gradient(
0deg,
transparent 79px,
rgba(255,182,18,.03) 80px
);
} .gbp-fg-hero__g-watermark {
position: absolute;
right: -3%;
bottom: -5%;
font-family: 'Barlow Condensed', sans-serif;
font-weight: 900;
font-size: clamp(16rem, 34vw, 40rem);
line-height: 1;
color: rgba(255,182,18,.04);
pointer-events: none;
user-select: none;
} .gbp-fg-hero__grain {
position: absolute;
inset: 0;
opacity: .032;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
background-repeat: repeat;
} .gbp-fg-hero__inner {
position: relative;
z-index: 2;
padding-top: clamp(120px, 18vh, 200px);
padding-bottom: clamp(60px, 8vh, 80px);
} .gbp-fg-hero__content {
max-width: 660px;
}
@media (max-width: 480px) {
.gbp-fg-hero__inner { padding: 60px 0 52px; }
} .gbp-fg-hero__eyebrow {
display: inline-block;
font-family: var(--fg-font-head);
font-size: .78rem;
font-weight: 600;
letter-spacing: .18em;
text-transform: uppercase;
color: var(--fg-gold);
margin-bottom: 18px;
padding: 4px 12px;
border: 1px solid var(--fg-gold-dim);
border-radius: 2px;
} .gbp-fg-hero__label {
display: inline-block;
font-family: var(--fg-font-body);
font-size: .75rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: .14em;
color: var(--fg-gold);
margin-bottom: 16px;
} .gbp-fg-hero__divider {
width: 56px;
height: 3px;
background: linear-gradient(90deg, var(--fg-gold), transparent);
margin: 20px 0 22px;
} .gbp-fg-hero__rule {
width: 48px;
height: 3px;
background: var(--fg-gold);
margin-bottom: 20px;
border-radius: 2px;
} .gbp-fg-hero__title {
font-family: var(--fg-font-head);
font-size: clamp(2.8rem, 7vw, 6rem);
font-weight: 800;
text-transform: uppercase;
letter-spacing: -.015em;
line-height: .95;
color: #fff;
margin: 0 0 8px;
}
.gbp-fg-hero__title-accent {
display: block;
color: var(--fg-gold);
} .gbp-fg-hero__sub {
font-family: var(--fg-font-head);
font-size: clamp(1.1rem, 2vw, 1.5rem);
font-weight: 600;
color: rgba(255,182,18,.75);
margin: 0 0 16px;
line-height: 1.3;
} .gbp-fg-hero__desc {
font-family: var(--fg-font-body);
font-size: clamp(.9rem, 1.4vw, 1rem);
color: #FFFFFF;
line-height: 1.75;
margin: 0;
max-width: 580px;
} .gbp-fg-hero__scroll {
position: absolute;
bottom: 28px;
left: 50%;
transform: translateX(-50%);
display: flex;
flex-direction: column;
align-items: center;
gap: 6px;
color: rgba(255,182,18,.45);
z-index: 2;
animation: fg-bounce 2s ease-in-out infinite;
}
.gbp-fg-hero__scroll span {
display: block;
width: 1px;
height: 22px;
background: linear-gradient(to bottom, transparent, rgba(255,182,18,.4));
}
@keyframes fg-bounce {
0%, 100% { transform: translateX(-50%) translateY(0); }
50%       { transform: translateX(-50%) translateY(5px); }
} .gbp-fg-intro {
background: var(--fg-cream);
border-top: none;
border-bottom: 1px solid var(--fg-border);
padding: clamp(44px, 6vw, 72px) 0;
}
.gbp-fg-intro--noicon .gbp-fg-intro__heading {
margin-bottom: 18px;
}
.gbp-fg-intro__lead {
font-size: 1rem;
line-height: 1.78;
color: var(--fg-text);
margin: 0 0 12px;
}
.gbp-fg-intro__lead strong {
color: var(--fg-text);
font-weight: 600;
}
.gbp-fg-intro__lead:last-of-type {
margin-bottom: 0;
}
.gbp-fg-intro__inner {
display: flex;
gap: 32px;
align-items: flex-start;
}
.gbp-fg-intro__icon {
flex-shrink: 0;
width: 64px;
height: 64px;
background: var(--fg-card-bg);
border: 1px solid var(--fg-border);
border-radius: var(--fg-radius-lg);
display: flex;
align-items: center;
justify-content: center;
color: var(--fg-gold);
margin-top: 4px;
box-shadow: 0 2px 8px rgba(7,19,13,.06);
}
.gbp-fg-intro__text {
flex: 1;
}
.gbp-fg-intro__heading {
font-family: var(--fg-font-head);
font-size: clamp(1.4rem, 3vw, 2rem);
font-weight: 800;
text-transform: uppercase;
color: var(--fg-green);
margin: 0 0 14px;
letter-spacing: -.01em;
}
.gbp-fg-intro__text p {
font-size: 1rem;
line-height: 1.78;
color: var(--fg-muted);
margin: 0 0 12px;
}
.gbp-fg-intro__text p:last-child {
margin-bottom: 0;
}
.gbp-fg-intro__text strong {
color: var(--fg-text);
font-weight: 600;
} .gbp-fg-intro__checklist {
list-style: none;
padding: 0;
margin: 20px 0 0;
display: grid;
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
gap: 10px;
}
.gbp-fg-intro__checklist li {
display: flex;
align-items: center;
gap: 8px;
font-size: .875rem;
color: var(--fg-text);
font-weight: 500;
}
.gbp-fg-intro__checklist svg {
color: var(--fg-gold);
flex-shrink: 0;
} .gbp-fg-promo {
padding: clamp(40px, 6vw, 72px) 0;
background: var(--fg-cream);
border-bottom: 1px solid var(--fg-border);
}
.gbp-fg-promo__card {
display: grid;
grid-template-columns: 1fr 1fr;
gap: clamp(32px, 5vw, 64px);
align-items: center;
background: linear-gradient(135deg, #07130D 0%, #1A3028 55%, #0D2018 100%);
border: 1px solid rgba(255,182,18,.18);
border-radius: 16px;
padding: clamp(32px, 5vw, 56px);
position: relative;
overflow: hidden;
} .gbp-fg-promo__card::before {
content: '';
position: absolute;
inset: 0;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
opacity: .025;
pointer-events: none;
} .gbp-fg-promo__card::after {
content: '';
position: absolute;
top: 0; left: 0; right: 0; height: 2px;
background: linear-gradient(to right, transparent 0%, rgba(255,182,18,.55) 30%, rgba(255,182,18,.55) 70%, transparent 100%);
pointer-events: none;
} .gbp-fg-promo__text {
position: relative;
z-index: 1;
}
.gbp-fg-promo__eyebrow {
display: inline-block;
font-family: var(--fg-font-head);
font-size: .72rem;
font-weight: 700;
letter-spacing: .2em;
text-transform: uppercase;
color: var(--fg-gold);
margin-bottom: 14px;
padding: 3px 10px;
border: 1px solid rgba(255,182,18,.28);
border-radius: 2px;
}
.gbp-fg-promo__heading {
font-family: var(--fg-font-head);
font-size: clamp(1.8rem, 3.5vw, 2.8rem);
font-weight: 800;
text-transform: uppercase;
letter-spacing: -.01em;
line-height: 1.0;
color: #fff;
margin: 0 0 16px;
}
.gbp-fg-promo__divider {
width: 48px;
height: 2px;
background: linear-gradient(90deg, var(--fg-gold), transparent);
margin-bottom: 20px;
}
.gbp-fg-promo__body {
font-family: var(--fg-font-body);
font-size: .9375rem;
line-height: 1.72;
color: rgba(255,255,255,.88);
margin: 0 0 20px;
}
.gbp-fg-promo__note {
display: inline-flex;
align-items: center;
gap: 7px;
font-family: var(--fg-font-body);
font-size: .8125rem;
color: rgba(255,255,255,.65);
margin: 0;
}
.gbp-fg-promo__note svg {
flex-shrink: 0;
color: var(--fg-gold);
opacity: .8;
}
.gbp-fg-promo__note strong {
color: var(--fg-gold);
font-weight: 600;
} .gbp-fg-promo__services {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px;
position: relative;
z-index: 1;
}
.gbp-fg-promo__service {
display: flex;
align-items: flex-start;
gap: 14px;
background: rgba(255,255,255,.05);
border: 1px solid rgba(255,182,18,.12);
border-radius: 10px;
padding: 18px 16px;
transition: background var(--fg-transition), border-color var(--fg-transition);
}
.gbp-fg-promo__service:hover {
background: rgba(255,182,18,.07);
border-color: rgba(255,182,18,.28);
}
.gbp-fg-promo__service-icon {
flex-shrink: 0;
width: 40px;
height: 40px;
background: rgba(255,182,18,.12);
border: 1px solid rgba(255,182,18,.22);
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
color: var(--fg-gold);
}
.gbp-fg-promo__service-body {
display: flex;
flex-direction: column;
gap: 3px;
}
.gbp-fg-promo__service-body strong {
font-family: var(--fg-font-head);
font-size: .9rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .02em;
color: #fff;
line-height: 1.2;
}
.gbp-fg-promo__service-body span {
font-family: var(--fg-font-body);
font-size: .75rem;
color: rgba(255,255,255,.55);
line-height: 1.3;
} @media (max-width: 860px) {
.gbp-fg-promo__card {
grid-template-columns: 1fr;
}
}
@media (max-width: 480px) {
.gbp-fg-promo__services {
grid-template-columns: 1fr;
}
} .gbp-fg-section {
padding: clamp(48px, 7vw, 96px) 0;
background: var(--fg-cream);
}
.gbp-fg-section__header {
text-align: center;
margin-bottom: clamp(36px, 5vw, 64px);
}
.gbp-fg-section__kicker {
display: inline-block;
font-family: var(--fg-font-body);
font-size: .75rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .16em;
color: var(--fg-green);
margin-bottom: 10px;
}
.gbp-fg-section__title {
font-family: var(--fg-font-head);
font-size: clamp(1.75rem, 4vw, 3rem);
font-weight: 800;
text-transform: uppercase;
color: var(--fg-green);
margin: 0;
letter-spacing: -.01em;
} .gbp-fg-timeline {
display: flex;
flex-direction: column;
gap: clamp(28px, 4vw, 48px);
} .gbp-fg-item {
position: relative;
display: grid;
grid-template-columns: 1fr 1fr;
gap: clamp(24px, 4vw, 56px);
align-items: center;
padding: clamp(28px, 3.5vw, 48px);
background: var(--fg-card-bg);
border: 1px solid var(--fg-border);
border-radius: var(--fg-radius-xl);
box-shadow: 0 2px 12px rgba(7,19,13,.06);
overflow: hidden;
isolation: isolate;
transition: border-color var(--fg-transition), box-shadow var(--fg-transition), transform var(--fg-transition);
}
.gbp-fg-item:hover {
border-color: var(--fg-border-hover);
box-shadow: 0 8px 32px rgba(7,19,13,.10);
transform: translateY(-2px);
} .gbp-fg-item--ltr .gbp-fg-item__media { order: 2; }
.gbp-fg-item--ltr .gbp-fg-item__content { order: 1; } .gbp-fg-item--rtl .gbp-fg-item__media { order: 1; }
.gbp-fg-item--rtl .gbp-fg-item__content { order: 2; } .gbp-fg-item__year-bg {
position: absolute;
bottom: -20px;
right: -10px;
font-family: var(--fg-font-head);
font-size: clamp(6rem, 14vw, 14rem);
font-weight: 800;
color: rgba(32, 55, 49, .03);
line-height: 1;
pointer-events: none;
z-index: 0;
user-select: none;
}
.gbp-fg-item--rtl .gbp-fg-item__year-bg {
right: auto;
left: -10px;
} .gbp-fg-item__media {
position: relative;
z-index: 1;
}
.gbp-fg-item__img-wrap {
position: relative;
aspect-ratio: 4 / 3;
border-radius: var(--fg-radius-lg);
overflow: hidden;
background: #E8E4DC;
}
.gbp-fg-item__img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform .35s ease;
}
.gbp-fg-item:hover .gbp-fg-item__img {
transform: scale(1.04);
} .gbp-fg-img-placeholder {
width: 100%;
height: 100%;
background: linear-gradient(135deg, #203731 0%, #07130D 60%, #10291B 100%);
display: flex;
align-items: center;
justify-content: center;
}
.gbp-fg-img-placeholder::after {
content: 'G';
font-family: var(--fg-font-head);
font-size: 5rem;
font-weight: 800;
color: rgba(255, 182, 18, .2);
} .gbp-fg-gallery-btn {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 8px 16px;
border-radius: var(--fg-radius-pill);
font-family: var(--fg-font-body);
font-size: .8rem;
font-weight: 600;
cursor: pointer;
white-space: nowrap;
transition: background var(--fg-transition), border-color var(--fg-transition);
} .gbp-fg-gallery-btn--overlay {
position: absolute;
bottom: 12px;
left: 50%;
transform: translateX(-50%);
background: rgba(7,19,13,.78);
border: 1px solid rgba(255,182,18,.35);
color: #fff;
backdrop-filter: blur(4px);
}
.gbp-fg-gallery-btn--overlay:hover {
background: rgba(255,182,18,.18);
border-color: var(--fg-gold);
} .gbp-fg-gallery-btn--below {
display: none;
width: 100%;
justify-content: center;
margin-top: 10px;
background: #F0EBE0;
border: 1.5px solid #C8B99A;
color: #203731;
}
.gbp-fg-gallery-btn--below:hover {
background: #e8e2d6;
border-color: #203731;
}
.gbp-fg-gallery-count {
color: var(--fg-gold);
font-size: .75rem;
} .gbp-fg-item__content {
position: relative;
z-index: 1;
}
.gbp-fg-item__meta-top {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 8px;
margin-bottom: 12px;
} .gbp-fg-badge {
display: inline-block;
font-family: var(--fg-font-body);
font-size: .6875rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .1em;
padding: 3px 10px;
background: rgba(255,182,18,.1);
border: 1px solid rgba(255,182,18,.3);
border-radius: var(--fg-radius-pill);
color: #8A6200;
} .gbp-fg-location {
display: inline-flex;
align-items: center;
gap: 4px;
font-size: .8125rem;
color: var(--fg-muted);
}
.gbp-fg-location svg {
color: var(--fg-gold);
flex-shrink: 0;
} .gbp-fg-item__year {
font-family: var(--fg-font-head);
font-size: clamp(2rem, 4vw, 3rem);
font-weight: 800;
text-transform: uppercase;
color: var(--fg-green);
margin: 0 0 14px;
line-height: 1.05;
letter-spacing: -.01em;
} .gbp-fg-item__desc {
font-size: .9375rem;
line-height: 1.78;
color: var(--fg-text);
margin-bottom: 20px;
}
.gbp-fg-item__desc p { margin: 0 0 10px; }
.gbp-fg-item__desc p:last-child { margin-bottom: 0; } .gbp-fg-stats {
display: flex;
flex-wrap: wrap;
gap: 8px;
list-style: none;
padding: 0;
margin: 0 0 24px;
}
.gbp-fg-stat {
font-family: var(--fg-font-head);
font-size: .8125rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .06em;
padding: 5px 12px;
background: rgba(32,55,49,.07);
border: 1px solid rgba(32,55,49,.12);
border-radius: var(--fg-radius-pill);
color: var(--fg-green);
} .gbp-fg-item__actions {
display: flex;
flex-wrap: wrap;
gap: 10px;
align-items: center;
} .gbp-fg-no-gallery {
font-size: .8125rem;
color: var(--fg-muted);
font-style: italic;
} .gbp-fg-btn {
display: inline-flex;
align-items: center;
gap: 7px;
font-family: var(--fg-font-head);
font-size: .875rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .05em;
padding: 10px 22px;
border-radius: var(--fg-radius-md);
cursor: pointer;
border: none;
text-decoration: none;
transition: background var(--fg-transition), transform var(--fg-transition),
border-color var(--fg-transition), color var(--fg-transition);
line-height: 1;
}
.gbp-fg-btn--primary {
background: var(--fg-gold);
color: var(--fg-green-deep);
border: 1.5px solid transparent;
}
.gbp-fg-btn--primary:hover {
background: #ffc82b;
transform: scale(1.02);
color: var(--fg-green-deep);
}
.gbp-fg-btn--secondary {
background: transparent;
color: var(--fg-green);
border: 1.5px solid rgba(32,55,49,.3);
}
.gbp-fg-btn--secondary:hover {
border-color: var(--fg-green);
background: rgba(32,55,49,.05);
color: var(--fg-green-deep);
} .gbp-fg-empty {
text-align: center;
color: var(--fg-muted);
padding: 48px 0;
font-size: 1rem;
} .gbp-fg-lightbox {
position: fixed;
inset: 0;
z-index: 9999;
display: flex;
align-items: center;
justify-content: center;
}
.gbp-fg-lightbox[hidden] {
display: none;
}
.gbp-fg-lightbox__overlay {
position: absolute;
inset: 0;
background: rgba(2, 4, 3, .95);
cursor: pointer;
}
.gbp-fg-lightbox__inner {
position: relative;
z-index: 1;
width: 100%;
max-width: 1200px;
height: 100dvh;
display: flex;
flex-direction: column;
padding: 0 16px 16px;
}
.gbp-fg-lightbox__header {
display: flex;
align-items: center;
justify-content: space-between;
padding: 16px 0 12px;
border-bottom: 1px solid rgba(255, 182, 18, .15);
flex-shrink: 0;
}
.gbp-fg-lightbox__title {
font-family: var(--fg-font-head);
font-size: 1.1rem;
font-weight: 700;
text-transform: uppercase;
color: #F8F8F2;
letter-spacing: .04em;
}
.gbp-fg-lightbox__counter {
font-family: var(--fg-font-body);
font-size: .875rem;
color: var(--fg-gold);
font-weight: 600;
margin-left: auto;
margin-right: 20px;
}
.gbp-fg-lightbox__close {
background: rgba(255, 255, 255, .05);
border: 1px solid rgba(255, 255, 255, .12);
border-radius: 50%;
width: 40px;
height: 40px;
display: flex;
align-items: center;
justify-content: center;
color: #F8F8F2;
cursor: pointer;
transition: background var(--fg-transition), color var(--fg-transition);
flex-shrink: 0;
}
.gbp-fg-lightbox__close:hover {
background: rgba(255, 182, 18, .15);
color: var(--fg-gold);
}
.gbp-fg-lightbox__stage {
flex: 1;
position: relative;
display: flex;
align-items: center;
justify-content: center;
min-height: 0;
padding: 12px 0;
}
.gbp-fg-lightbox__img-wrap {
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
}
.gbp-fg-lightbox__img {
max-width: 100%;
max-height: 100%;
object-fit: contain;
border-radius: var(--fg-radius-md);
box-shadow: 0 8px 40px rgba(0, 0, 0, .6);
display: block;
transition: opacity .2s ease;
}
.gbp-fg-lightbox__img.gbp-fg-loading {
opacity: .4;
}
.gbp-fg-lightbox__nav {
position: absolute;
top: 50%;
transform: translateY(-50%);
background: rgba(2, 4, 3, .70);
border: 1px solid rgba(255, 182, 18, .20);
border-radius: 50%;
width: 52px;
height: 52px;
display: flex;
align-items: center;
justify-content: center;
color: #F8F8F2;
cursor: pointer;
transition: background var(--fg-transition), border-color var(--fg-transition), color var(--fg-transition);
z-index: 2;
}
.gbp-fg-lightbox__nav:hover {
background: rgba(255, 182, 18, .18);
border-color: var(--fg-gold);
color: var(--fg-gold);
}
.gbp-fg-lightbox__nav:disabled {
opacity: .3;
cursor: default;
}
.gbp-fg-lightbox__prev { left: 8px; }
.gbp-fg-lightbox__next { right: 8px; }
.gbp-fg-lightbox__thumbs {
display: flex;
gap: 6px;
overflow-x: auto;
padding: 8px 0 4px;
flex-shrink: 0;
scrollbar-width: thin;
scrollbar-color: rgba(255, 182, 18, .30) transparent;
}
.gbp-fg-lightbox__thumbs::-webkit-scrollbar { height: 4px; }
.gbp-fg-lightbox__thumbs::-webkit-scrollbar-track { background: transparent; }
.gbp-fg-lightbox__thumbs::-webkit-scrollbar-thumb {
background: rgba(255, 182, 18, .30);
border-radius: 2px;
}
.gbp-fg-thumb {
flex-shrink: 0;
width: 64px;
height: 48px;
border-radius: var(--fg-radius-md);
overflow: hidden;
cursor: pointer;
border: 2px solid transparent;
opacity: .55;
transition: opacity var(--fg-transition), border-color var(--fg-transition);
}
.gbp-fg-thumb img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.gbp-fg-thumb:hover { opacity: .85; }
.gbp-fg-thumb--active { border-color: var(--fg-gold); opacity: 1; } @media (max-width: 1023px) {
.gbp-fg-item {
grid-template-columns: 1fr;
gap: 24px;
}
.gbp-fg-item--ltr .gbp-fg-item__media,
.gbp-fg-item--rtl .gbp-fg-item__media  { order: 1; }
.gbp-fg-item--ltr .gbp-fg-item__content,
.gbp-fg-item--rtl .gbp-fg-item__content { order: 2; }
.gbp-fg-item__year-bg { font-size: 8rem; bottom: -10px; }
.gbp-fg-lightbox__nav { width: 44px; height: 44px; }
.gbp-fg-lightbox__prev { left: 4px; }
.gbp-fg-lightbox__next { right: 4px; }
}
@media (max-width: 767px) {
.gbp-fg-hero { min-height: 60vh; }
.gbp-fg-hero__title {
font-size: clamp(2.5rem, 11vw, 4rem);
}
.gbp-fg-intro__inner {
flex-direction: column;
gap: 20px;
}
.gbp-fg-intro__icon { width: 48px; height: 48px; }
.gbp-fg-item {
padding: 20px;
border-radius: var(--fg-radius-lg);
}
.gbp-fg-item__year-bg { font-size: 5rem; }
.gbp-fg-gallery-btn--overlay { display: none; }
.gbp-fg-gallery-btn--below  { display: flex; }
.gbp-fg-item__actions {
flex-direction: column;
gap: 8px;
}
.gbp-fg-btn { width: 100%; justify-content: center; }
.gbp-fg-lightbox__inner { padding: 0 8px 8px; }
.gbp-fg-lightbox__nav { width: 40px; height: 40px; }
.gbp-fg-lightbox__nav svg { width: 24px; height: 24px; }
.gbp-fg-thumb { width: 52px; height: 40px; }
}
@media (max-width: 479px) {
.gbp-fg-hero__title { font-size: 2.6rem; }
.gbp-fg-timeline { gap: 20px; }
}
@media (prefers-reduced-motion: reduce) {
.gbp-fg-item { transform: none !important; }
.gbp-fg-item:hover .gbp-fg-item__img { transform: none; }
.gbp-fg-lightbox__img { transition: none; }
}