* {
margin: 0;
padding: 0;
box-sizing: border-box;
}

:root {
--gfn-dark-graphite: #2b2d2f;
--gfn-energetic-tangerine: #ff6b35;
--gfn-cool-silver: #c0c5ce;
--gfn-light-bg: #f4f5f7;
--gfn-white: #ffffff;
--gfn-black: #1a1c1e;
--gfn-tangerine-hover: #e65a2a;
--gfn-shadow: rgba(0, 0, 0, 0.15);
}

body {
font-family: 'Arial Narrow', 'Roboto Condensed', sans-serif;
line-height: 1.7;
color: var(--gfn-cool-silver);
background-color: var(--gfn-dark-graphite);
overflow-x: hidden;
}

.gfn-container {
max-width: 1320px;
margin: 0 auto;
padding: 0 24px;
}

.gfn-container-narrow {
max-width: 860px;
margin: 0 auto;
padding: 0 24px;
}

.gfn-header {
background: linear-gradient(135deg, var(--gfn-black) 0%, var(--gfn-dark-graphite) 100%);
padding: 18px 0;
position: sticky;
top: 0;
z-index: 1000;
box-shadow: 0 4px 12px var(--gfn-shadow);
}

.gfn-header .gfn-container {
display: flex;
justify-content: space-between;
align-items: center;
}

.gfn-logo-area {
display: flex;
align-items: center;
gap: 14px;
}

.gfn-logo-img {
border-radius: 50%;
border: 3px solid var(--gfn-energetic-tangerine);
}

.gfn-brand-title {
font-size: 28px;
font-weight: 900;
letter-spacing: 2px;
color: var(--gfn-white);
text-transform: uppercase;
}

.gfn-primary-nav {
display: flex;
gap: 32px;
}

.gfn-primary-nav a {
color: var(--gfn-cool-silver);
text-decoration: none;
font-weight: 700;
font-size: 15px;
letter-spacing: 1.2px;
text-transform: uppercase;
transition: color 0.3s ease, transform 0.2s ease;
position: relative;
}

.gfn-primary-nav a::after {
content: '';
position: absolute;
bottom: -6px;
left: 0;
width: 0;
height: 3px;
background: var(--gfn-energetic-tangerine);
transition: width 0.3s ease;
}

.gfn-primary-nav a:hover::after,
.gfn-primary-nav a.gfn-nav-active::after {
width: 100%;
}

.gfn-primary-nav a:hover,
.gfn-primary-nav a.gfn-nav-active {
color: var(--gfn-energetic-tangerine);
transform: translateY(-2px);
}

.gfn-hero-section {
position: relative;
height: 88vh;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
}

.gfn-hero-bg {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
filter: brightness(0.45);
}

.gfn-hero-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(135deg, rgba(43, 45, 47, 0.8) 0%, rgba(26, 28, 30, 0.6) 100%);
}

.gfn-hero-content {
position: relative;
z-index: 2;
text-align: center;
color: var(--gfn-white);
max-width: 920px;
padding: 0 24px;
}

.gfn-hero-heading {
font-size: 72px;
font-weight: 900;
letter-spacing: 4px;
margin-bottom: 24px;
text-transform: uppercase;
line-height: 1.1;
text-shadow: 3px 3px 8px rgba(0, 0, 0, 0.7);
}

.gfn-hero-subtitle {
font-size: 22px;
margin-bottom: 42px;
letter-spacing: 1px;
color: var(--gfn-cool-silver);
}

.gfn-hero-cta {
display: flex;
gap: 20px;
justify-content: center;
flex-wrap: wrap;
}

.gfn-btn-primary,
.gfn-btn-secondary,
.gfn-btn-tertiary,
.gfn-btn-membership {
padding: 16px 38px;
font-size: 16px;
font-weight: 800;
text-transform: uppercase;
letter-spacing: 1.4px;
text-decoration: none;
border-radius: 4px;
transition: all 0.3s ease;
display: inline-block;
border: none;
cursor: pointer;
}

.gfn-btn-primary {
background: var(--gfn-energetic-tangerine);
color: var(--gfn-white);
box-shadow: 0 6px 18px rgba(255, 107, 53, 0.4);
}

.gfn-btn-primary:hover {
background: var(--gfn-tangerine-hover);
transform: translateY(-3px);
box-shadow: 0 10px 26px rgba(255, 107, 53, 0.5);
}

.gfn-btn-secondary {
background: transparent;
color: var(--gfn-white);
border: 2px solid var(--gfn-cool-silver);
}

.gfn-btn-secondary:hover {
background: var(--gfn-cool-silver);
color: var(--gfn-dark-graphite);
border-color: var(--gfn-cool-silver);
}

.gfn-btn-tertiary {
background: var(--gfn-dark-graphite);
color: var(--gfn-energetic-tangerine);
border: 2px solid var(--gfn-energetic-tangerine);
}

.gfn-btn-tertiary:hover {
background: var(--gfn-energetic-tangerine);
color: var(--gfn-white);
}

.gfn-stats-banner {
background: var(--gfn-black);
padding: 58px 0;
}

.gfn-stat-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 32px;
text-align: center;
}

.gfn-stat-item {
padding: 24px;
}

.gfn-stat-number {
font-size: 56px;
font-weight: 900;
color: var(--gfn-energetic-tangerine);
margin-bottom: 12px;
letter-spacing: 2px;
}

.gfn-stat-label {
font-size: 16px;
color: var(--gfn-cool-silver);
text-transform: uppercase;
letter-spacing: 1.2px;
font-weight: 700;
}

.gfn-services-preview,
.gfn-blog-preview,
.gfn-terminology-section,
.gfn-about-story,
.gfn-team-section,
.gfn-values-section,
.gfn-services-detailed,
.gfn-membership-section,
.gfn-process-section,
.gfn-blog-listing,
.gfn-contact-section,
.gfn-map-section {
padding: 88px 0;
}

.gfn-section-title {
font-size: 48px;
font-weight: 900;
text-align: center;
margin-bottom: 56px;
color: var(--gfn-white);
text-transform: uppercase;
letter-spacing: 3px;
position: relative;
}

.gfn-section-title::after {
content: '';
display: block;
width: 90px;
height: 5px;
background: var(--gfn-energetic-tangerine);
margin: 20px auto 0;
}

.gfn-services-grid,
.gfn-blog-grid-home {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
gap: 38px;
margin-bottom: 48px;
}

.gfn-service-card,
.gfn-blog-card-home {
background: var(--gfn-black);
border-radius: 8px;
overflow: hidden;
transition: transform 0.3s ease, box-shadow 0.3s ease;
box-shadow: 0 4px 14px var(--gfn-shadow);
}

.gfn-service-card:hover,
.gfn-blog-card-home:hover {
transform: translateY(-8px);
box-shadow: 0 12px 32px rgba(255, 107, 53, 0.3);
}

.gfn-service-card img,
.gfn-blog-card-home img {
width: 100%;
height: 260px;
object-fit: cover;
display: block;
}

.gfn-service-card h3,
.gfn-blog-card-home h3 {
padding: 24px 24px 12px;
font-size: 22px;
color: var(--gfn-white);
text-transform: uppercase;
letter-spacing: 1.4px;
font-weight: 800;
}

.gfn-service-card p,
.gfn-blog-card-home p {
padding: 0 24px 24px;
color: var(--gfn-cool-silver);
line-height: 1.7;
}

.gfn-read-more {
display: inline-block;
padding: 0 24px 24px;
color: var(--gfn-energetic-tangerine);
text-decoration: none;
font-weight: 700;
letter-spacing: 1px;
transition: color 0.3s ease;
}

.gfn-read-more:hover {
color: var(--gfn-tangerine-hover);
}

.gfn-terminology-section {
background: var(--gfn-black);
}

.gfn-terminology-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 28px;
}

.gfn-term-box {
background: var(--gfn-dark-graphite);
padding: 28px;
border-left: 4px solid var(--gfn-energetic-tangerine);
border-radius: 6px;
transition: transform 0.3s ease;
}

.gfn-term-box:hover {
transform: translateX(8px);
}

.gfn-term-box h4 {
font-size: 20px;
color: var(--gfn-energetic-tangerine);
margin-bottom: 12px;
text-transform: uppercase;
letter-spacing: 1.2px;
font-weight: 800;
}

.gfn-term-box p {
color: var(--gfn-cool-silver);
line-height: 1.7;
}

.gfn-page-hero {
background: linear-gradient(135deg, var(--gfn-black) 0%, var(--gfn-dark-graphite) 100%);
padding: 88px 0 68px;
text-align: center;
}

.gfn-page-hero h1 {
font-size: 58px;
font-weight: 900;
color: var(--gfn-white);
margin-bottom: 18px;
text-transform: uppercase;
letter-spacing: 3px;
}

.gfn-page-hero p {
font-size: 20px;
color: var(--gfn-cool-silver);
letter-spacing: 1px;
}

.gfn-about-story {
background: var(--gfn-dark-graphite);
}

.gfn-story-content {
max-width: 720px;
margin-bottom: 42px;
}

.gfn-story-content h2 {
font-size: 38px;
color: var(--gfn-white);
margin-bottom: 24px;
text-transform: uppercase;
letter-spacing: 2px;
font-weight: 900;
}

.gfn-story-content p {
margin-bottom: 18px;
line-height: 1.8;
color: var(--gfn-cool-silver);
}

.gfn-story-image {
width: 100%;
max-width: 100%;
border-radius: 8px;
box-shadow: 0 8px 24px var(--gfn-shadow);
}

.gfn-team-section {
background: var(--gfn-black);
}

.gfn-team-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 38px;
}

.gfn-team-card {
background: var(--gfn-dark-graphite);
border-radius: 8px;
overflow: hidden;
text-align: center;
transition: transform 0.3s ease, box-shadow 0.3s ease;
box-shadow: 0 4px 14px var(--gfn-shadow);
}

.gfn-team-card:hover {
transform: translateY(-8px);
box-shadow: 0 12px 28px rgba(255, 107, 53, 0.3);
}

.gfn-team-card img {
width: 100%;
height: 400px;
object-fit: cover;
display: block;
}

.gfn-team-card h3 {
padding: 24px 20px 8px;
font-size: 24px;
color: var(--gfn-white);
font-weight: 800;
letter-spacing: 1px;
}

.gfn-team-position {
color: var(--gfn-energetic-tangerine);
font-weight: 700;
text-transform: uppercase;
font-size: 14px;
letter-spacing: 1.2px;
padding: 0 20px 12px;
}

.gfn-team-card p:not(.gfn-team-position) {
padding: 0 20px 28px;
color: var(--gfn-cool-silver);
line-height: 1.6;
}

.gfn-values-section {
background: var(--gfn-dark-graphite);
}

.gfn-values-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
gap: 32px;
}

.gfn-value-item {
text-align: center;
padding: 32px 20px;
background: var(--gfn-black);
border-radius: 8px;
transition: transform 0.3s ease;
}

.gfn-value-item:hover {
transform: translateY(-6px);
}

.gfn-value-icon {
font-size: 58px;
margin-bottom: 18px;
}

.gfn-value-item h3 {
font-size: 20px;
color: var(--gfn-white);
margin-bottom: 14px;
text-transform: uppercase;
letter-spacing: 1.4px;
font-weight: 800;
}

.gfn-value-item p {
color: var(--gfn-cool-silver);
line-height: 1.7;
}

.gfn-service-detail {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 58px;
align-items: center;
margin-bottom: 78px;
}

.gfn-service-reverse {
direction: rtl;
}

.gfn-service-reverse > * {
direction: ltr;
}

.gfn-service-detail-content h2 {
font-size: 36px;
color: var(--gfn-white);
margin-bottom: 22px;
text-transform: uppercase;
letter-spacing: 2px;
font-weight: 900;
}

.gfn-service-detail-content p {
margin-bottom: 22px;
line-height: 1.8;
color: var(--gfn-cool-silver);
}

.gfn-service-features {
list-style: none;
margin-bottom: 28px;
}

.gfn-service-features li {
padding: 12px 0;
padding-left: 32px;
position: relative;
color: var(--gfn-cool-silver);
}

.gfn-service-features li::before {
content: '▸';
position: absolute;
left: 0;
color: var(--gfn-energetic-tangerine);
font-size: 20px;
font-weight: 900;
}

.gfn-service-detail img {
width: 100%;
border-radius: 8px;
box-shadow: 0 8px 24px var(--gfn-shadow);
}

.gfn-service-pricing {
display: flex;
align-items: baseline;
gap: 8px;
margin-top: 24px;
}

.gfn-price-label {
font-size: 14px;
color: var(--gfn-cool-silver);
text-transform: uppercase;
}

.gfn-price-value {
font-size: 42px;
font-weight: 900;
color: var(--gfn-energetic-tangerine);
}

.gfn-price-period {
font-size: 16px;
color: var(--gfn-cool-silver);
}

.gfn-membership-section {
background: var(--gfn-black);
}

.gfn-membership-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 38px;
}

.gfn-membership-card {
background: var(--gfn-dark-graphite);
border-radius: 8px;
padding: 42px 28px;
text-align: center;
position: relative;
transition: transform 0.3s ease, box-shadow 0.3s ease;
box-shadow: 0 4px 14px var(--gfn-shadow);
}

.gfn-membership-card:hover {
transform: translateY(-8px);
box-shadow: 0 12px 28px rgba(255, 107, 53, 0.3);
}

.gfn-membership-featured {
border: 3px solid var(--gfn-energetic-tangerine);
}

.gfn-featured-badge {
position: absolute;
top: -14px;
left: 50%;
transform: translateX(-50%);
background: var(--gfn-energetic-tangerine);
color: var(--gfn-white);
padding: 6px 18px;
font-size: 12px;
font-weight: 800;
letter-spacing: 1.2px;
border-radius: 20px;
}

.gfn-membership-card h3 {
font-size: 28px;
color: var(--gfn-white);
margin-bottom: 24px;
text-transform: uppercase;
letter-spacing: 2px;
font-weight: 900;
}

.gfn-membership-price {
margin-bottom: 32px;
}

.gfn-mem-currency {
font-size: 24px;
color: var(--gfn-energetic-tangerine);
font-weight: 700;
}

.gfn-mem-amount {
font-size: 58px;
font-weight: 900;
color: var(--gfn-energetic-tangerine);
}

.gfn-mem-period {
font-size: 16px;
color: var(--gfn-cool-silver);
}

.gfn-membership-features {
list-style: none;
margin-bottom: 32px;
text-align: left;
}

.gfn-membership-features li {
padding: 12px 0;
padding-left: 28px;
position: relative;
color: var(--gfn-cool-silver);
}

.gfn-membership-features li::before {
content: '✓';
position: absolute;
left: 0;
color: var(--gfn-energetic-tangerine);
font-weight: 900;
font-size: 18px;
}

.gfn-btn-membership {
width: 100%;
}

.gfn-process-section {
background: var(--gfn-dark-graphite);
}

.gfn-process-timeline {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: 32px;
}

.gfn-process-step {
text-align: center;
padding: 32px 20px;
background: var(--gfn-black);
border-radius: 8px;
position: relative;
}

.gfn-process-number {
font-size: 68px;
font-weight: 900;
color: var(--gfn-energetic-tangerine);
opacity: 0.3;
margin-bottom: 16px;
}

.gfn-process-step h3 {
font-size: 20px;
color: var(--gfn-white);
margin-bottom: 14px;
text-transform: uppercase;
letter-spacing: 1.2px;
font-weight: 800;
}

.gfn-process-step p {
color: var(--gfn-cool-silver);
line-height: 1.7;
}

.gfn-blog-listing {
background: var(--gfn-dark-graphite);
}

.gfn-blog-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
gap: 42px;
}

.gfn-blog-card {
background: var(--gfn-black);
border-radius: 8px;
overflow: hidden;
transition: transform 0.3s ease, box-shadow 0.3s ease;
box-shadow: 0 4px 14px var(--gfn-shadow);
}

.gfn-blog-card:hover {
transform: translateY(-8px);
box-shadow: 0 12px 32px rgba(255, 107, 53, 0.3);
}

.gfn-blog-card img {
width: 100%;
height: 280px;
object-fit: cover;
display: block;
}

.gfn-blog-meta {
padding: 18px 24px 8px;
display: flex;
gap: 12px;
font-size: 13px;
color: var(--gfn-cool-silver);
}

.gfn-blog-category {
color: var(--gfn-energetic-tangerine);
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1px;
}

.gfn-blog-card h2 {
padding: 0 24px 14px;
font-size: 24px;
color: var(--gfn-white);
font-weight: 800;
letter-spacing: 0.8px;
line-height: 1.4;
}

.gfn-blog-card p {
padding: 0 24px 18px;
color: var(--gfn-cool-silver);
line-height: 1.7;
}

.gfn-blog-read-more {
display: inline-block;
padding: 0 24px 24px;
color: var(--gfn-energetic-tangerine);
text-decoration: none;
font-weight: 700;
letter-spacing: 1px;
transition: color 0.3s ease;
}

.gfn-blog-read-more:hover {
color: var(--gfn-tangerine-hover);
}

.gfn-contact-section {
background: var(--gfn-dark-graphite);
}

.gfn-contact-wrapper {
display: grid;
grid-template-columns: 1fr 1.3fr;
gap: 58px;
}

.gfn-contact-info h2 {
font-size: 32px;
color: var(--gfn-white);
margin-bottom: 32px;
text-transform: uppercase;
letter-spacing: 2px;
font-weight: 900;
}

.gfn-contact-item {
display: flex;
gap: 20px;
margin-bottom: 32px;
}

.gfn-contact-icon {
font-size: 32px;
flex-shrink: 0;
}

.gfn-contact-item h3 {
font-size: 18px;
color: var(--gfn-energetic-tangerine);
margin-bottom: 8px;
text-transform: uppercase;
letter-spacing: 1.2px;
font-weight: 800;
}

.gfn-contact-item p {
color: var(--gfn-cool-silver);
line-height: 1.7;
}

.gfn-contact-item a {
color: var(--gfn-cool-silver);
text-decoration: none;
transition: color 0.3s ease;
}

.gfn-contact-item a:hover {
color: var(--gfn-energetic-tangerine);
}

.gfn-contact-form-area h2 {
font-size: 32px;
color: var(--gfn-white);
margin-bottom: 32px;
text-transform: uppercase;
letter-spacing: 2px;
font-weight: 900;
}

.gfn-contact-form {
display: flex;
flex-direction: column;
gap: 24px;
}

.gfn-form-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
}

.gfn-form-group {
display: flex;
flex-direction: column;
}

.gfn-form-group label {
margin-bottom: 8px;
color: var(--gfn-cool-silver);
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1px;
font-size: 13px;
}

.gfn-form-group input,
.gfn-form-group select,
.gfn-form-group textarea {
padding: 14px 16px;
background: var(--gfn-black);
border: 2px solid var(--gfn-cool-silver);
border-radius: 4px;
color: var(--gfn-white);
font-size: 15px;
font-family: inherit;
transition: border-color 0.3s ease;
}

.gfn-form-group input:focus,
.gfn-form-group select:focus,
.gfn-form-group textarea:focus {
outline: none;
border-color: var(--gfn-energetic-tangerine);
}

.gfn-submit-btn {
padding: 16px 38px;
background: var(--gfn-energetic-tangerine);
color: var(--gfn-white);
border: none;
border-radius: 4px;
font-size: 16px;
font-weight: 800;
text-transform: uppercase;
letter-spacing: 1.4px;
cursor: pointer;
transition: all 0.3s ease;
box-shadow: 0 6px 18px rgba(255, 107, 53, 0.4);
}

.gfn-submit-btn:hover {
background: var(--gfn-tangerine-hover);
transform: translateY(-3px);
box-shadow: 0 10px 26px rgba(255, 107, 53, 0.5);
}

.gfn-map-section {
background: var(--gfn-black);
}

.gfn-map-placeholder iframe {
border-radius: 8px;
box-shadow: 0 8px 24px var(--gfn-shadow);
}

.gfn-modal {
display: none;
position: fixed;
z-index: 2000;
left: 0;
top: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.8);
}

.gfn-modal-content {
background-color: var(--gfn-dark-graphite);
margin: 10% auto;
padding: 48px;
border: 2px solid var(--gfn-energetic-tangerine);
border-radius: 8px;
width: 90%;
max-width: 520px;
text-align: center;
position: relative;
box-shadow: 0 12px 48px rgba(255, 107, 53, 0.4);
}

.gfn-modal-close {
color: var(--gfn-cool-silver);
position: absolute;
top: 16px;
right: 24px;
font-size: 32px;
font-weight: bold;
cursor: pointer;
transition: color 0.3s ease;
}

.gfn-modal-close:hover {
color: var(--gfn-energetic-tangerine);
}

.gfn-modal-icon {
font-size: 78px;
color: var(--gfn-energetic-tangerine);
margin-bottom: 24px;
}

.gfn-modal-content h2 {
color: var(--gfn-white);
margin-bottom: 16px;
font-size: 32px;
text-transform: uppercase;
letter-spacing: 2px;
font-weight: 900;
}

.gfn-modal-content p {
color: var(--gfn-cool-silver);
line-height: 1.7;
}

.gfn-post-content {
background: var(--gfn-dark-graphite);
padding: 68px 0 88px;
}

.gfn-back-link {
display: inline-block;
color: var(--gfn-energetic-tangerine);
text-decoration: none;
font-weight: 700;
margin-bottom: 28px;
transition: color 0.3s ease;
letter-spacing: 1px;
}

.gfn-back-link:hover {
color: var(--gfn-tangerine-hover);
}

.gfn-post-header h1 {
font-size: 48px;
color: var(--gfn-white);
margin-bottom: 18px;
font-weight: 900;
line-height: 1.2;
letter-spacing: 1px;
}

.gfn-post-meta {
color: var(--gfn-cool-silver);
font-size: 14px;
margin-bottom: 38px;
display: flex;
gap: 12px;
flex-wrap: wrap;
}

.gfn-post-featured-image {
width: 100%;
border-radius: 8px;
margin-bottom: 42px;
box-shadow: 0 8px 24px var(--gfn-shadow);
}

.gfn-post-body {
color: var(--gfn-cool-silver);
line-height: 1.9;
font-size: 17px;
}

.gfn-post-body h2 {
font-size: 36px;
color: var(--gfn-white);
margin: 42px 0 22px;
font-weight: 900;
text-transform: uppercase;
letter-spacing: 1.4px;
}

.gfn-post-body h3 {
font-size: 28px;
color: var(--gfn-white);
margin: 32px 0 18px;
font-weight: 800;
letter-spacing: 1px;
}

.gfn-post-body h4 {
font-size: 22px;
color: var(--gfn-energetic-tangerine);
margin: 24px 0 14px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1.2px;
}

.gfn-post-body p {
margin-bottom: 22px;
}

.gfn-post-body strong {
color: var(--gfn-white);
font-weight: 800;
}

.gfn-post-body ul,
.gfn-post-body ol {
margin-left: 32px;
margin-bottom: 22px;
}

.gfn-post-body li {
margin-bottom: 12px;
}

.gfn-post-footer {
margin-top: 58px;
text-align: center;
}

.gfn-footer {
background: var(--gfn-black);
padding: 68px 0 28px;
}

.gfn-footer-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: 42px;
margin-bottom: 42px;
}

.gfn-footer-about h3,
.gfn-footer-links h4,
.gfn-footer-legal h4,
.gfn-footer-contact h4 {
color: var(--gfn-white);
font-size: 20px;
margin-bottom: 20px;
text-transform: uppercase;
letter-spacing: 1.8px;
font-weight: 900;
}

.gfn-footer-about p {
color: var(--gfn-cool-silver);
line-height: 1.7;
margin-bottom: 14px;
}

.gfn-footer-reg {
font-size: 13px;
color: var(--gfn-cool-silver);
opacity: 0.7;
}

.gfn-footer-links ul,
.gfn-footer-legal ul {
list-style: none;
}

.gfn-footer-links li,
.gfn-footer-legal li {
margin-bottom: 12px;
}

.gfn-footer-links a,
.gfn-footer-legal a {
color: var(--gfn-cool-silver);
text-decoration: none;
transition: color 0.3s ease;
font-weight: 600;
}

.gfn-footer-links a:hover,
.gfn-footer-legal a:hover {
color: var(--gfn-energetic-tangerine);
}

.gfn-footer-contact p {
color: var(--gfn-cool-silver);
line-height: 1.8;
margin-bottom: 12px;
}

.gfn-footer-bottom {
border-top: 1px solid rgba(192, 197, 206, 0.2);
padding-top: 28px;
text-align: center;
}

.gfn-footer-bottom p {
color: var(--gfn-cool-silver);
font-size: 14px;
}

.gfn-cookie-banner {
position: fixed;
bottom: 0;
left: 0;
right: 0;
background: var(--gfn-black);
padding: 28px 24px;
box-shadow: 0 -4px 24px var(--gfn-shadow);
z-index: 1500;
border-top: 3px solid var(--gfn-energetic-tangerine);
display: none;
}

.gfn-cookie-banner.gfn-show {
display: block;
}

.gfn-cookie-content {
max-width: 1280px;
margin: 0 auto;
}

.gfn-cookie-content h4 {
color: var(--gfn-white);
font-size: 20px;
margin-bottom: 12px;
font-weight: 800;
text-transform: uppercase;
letter-spacing: 1.4px;
}

.gfn-cookie-content p {
color: var(--gfn-cool-silver);
margin-bottom: 20px;
line-height: 1.7;
}

.gfn-cookie-content a {
color: var(--gfn-energetic-tangerine);
text-decoration: underline;
}

.gfn-cookie-buttons {
display: flex;
gap: 14px;
flex-wrap: wrap;
}

.gfn-cookie-btn-accept,
.gfn-cookie-btn-customize,
.gfn-cookie-btn-decline {
padding: 12px 28px;
border: none;
border-radius: 4px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1.2px;
cursor: pointer;
transition: all 0.3s ease;
font-size: 14px;
}

.gfn-cookie-btn-accept {
background: var(--gfn-energetic-tangerine);
color: var(--gfn-white);
}

.gfn-cookie-btn-accept:hover {
background: var(--gfn-tangerine-hover);
}

.gfn-cookie-btn-customize {
background: transparent;
border: 2px solid var(--gfn-cool-silver);
color: var(--gfn-cool-silver);
}

.gfn-cookie-btn-customize:hover {
background: var(--gfn-cool-silver);
color: var(--gfn-dark-graphite);
}

.gfn-cookie-btn-decline {
background: transparent;
color: var(--gfn-cool-silver);
}

.gfn-cookie-btn-decline:hover {
color: var(--gfn-white);
}

@media (max-width: 968px) {
.gfn-hero-heading {
font-size: 52px;
}
.gfn-hero-subtitle {
font-size: 18px;
}
.gfn-primary-nav {
gap: 20px;
}
.gfn-service-detail,
.gfn-contact-wrapper {
grid-template-columns: 1fr;
}
.gfn-service-reverse {
direction: ltr;
}
.gfn-form-row {
grid-template-columns: 1fr;
}
}

@media (max-width: 640px) {
.gfn-hero-heading {
font-size: 38px;
}
.gfn-section-title {
font-size: 36px;
}
.gfn-primary-nav {
flex-direction: column;
gap: 12px;
}
.gfn-stat-grid {
grid-template-columns: 1fr;
}
}

h1, h2, h3, h4, h5, h6 {word-break: break-word;}
