:root {
--loc-near-black: #101113;
--loc-dark-gray: #212529;
--loc-medium-gray: #5C5F66;
--loc-light-gray-text: #868E96;
--loc-light-gray-bg: #F8F9FA;
--loc-border: #E9ECEF;
--loc-white: #FFFFFF;
--loc-primary: #7A4FF7;
--loc-primary-dark: #632EF4;
--loc-primary-light: #9B7BF9;
--loc-primary-light-bg: #EDE9FE;
--loc-success: #059669;
--loc-cta-gradient: linear-gradient(180deg, #7A4FF7 0%, #632EF4 100%);
--loc-hero-text-gradient: linear-gradient(45deg, #FF1CBF, #0CA7FF, #7B61FF);
--loc-hero-bg-gradient: linear-gradient(90deg, #9F53D9 0%, #0CA7FF 48.5%, #2B95F6 100%);
--loc-font-heading: Archivo, sans-serif;
--loc-font-body: Inter, sans-serif;
--loc-shadow-md: 0 4px 12px rgba(0,0,0,0.1);
--loc-section-gap: 48px;
} .loc-page {
font-family: var(--loc-font-body);
color: var(--loc-dark-gray);
background: var(--loc-white);
line-height: 1.6;
-webkit-font-smoothing: antialiased;
}
.loc-page h1, .loc-page h2, .loc-page h3, .loc-page h4 {
font-family: var(--loc-font-heading);
color: var(--loc-near-black);
line-height: 1.25;
}
.loc-section { padding: var(--loc-section-gap) 0; }
.loc-section + .loc-section { border-top: 1px solid var(--loc-border); }
.loc-section__title {
font-size: 24px;
font-weight: 700;
margin-bottom: 24px;
}
.loc-section__title span { color: var(--loc-primary); }
@media (min-width: 768px) {
:root { --loc-section-gap: 64px; }
.loc-section__title { font-size: 28px; }
} .loc-hero {
background: var(--loc-near-black);
overflow: hidden;
}
.loc-hero__content {
max-width: 1200px;
margin: 0 auto;
padding: 48px 24px 0;
display: grid;
grid-template-columns: 1fr;
gap: 24px;
align-items: end;
}
.loc-hero__text {
display: flex;
flex-direction: column;
gap: 18px;
padding-bottom: 32px;
} .loc-hero__breadcrumb {
font-size: 13px;
color: rgba(255,255,255,0.45);
animation: locFadeIn 0.5s ease both 0.1s;
}
.loc-hero__breadcrumb a {
color: rgba(255,255,255,0.45);
text-decoration: none;
transition: color 0.2s;
}
.loc-hero__breadcrumb a:hover { color: rgba(255,255,255,0.8); }
.loc-hero__breadcrumb .sep { margin: 0 5px; opacity: 0.35; }
.loc-hero__breadcrumb .current { color: rgba(255,255,255,0.65); font-weight: 500; } .loc-hero__location-badge {
display: inline-flex;
align-items: center;
gap: 8px;
background: rgba(122,79,247,0.14);
border: 1px solid rgba(122,79,247,0.28);
padding: 5px 12px;
width: fit-content;
font-size: 11px;
font-weight: 700;
color: #c4a8ff;
letter-spacing: 0.08em;
text-transform: uppercase;
animation: locFadeUp 0.5s ease both 0.2s;
} .loc-hero .loc-hero__h1 {
font-family: var(--loc-font-heading);
font-size: 28px;
font-weight: 800;
line-height: 1.1;
color: var(--loc-white);
letter-spacing: -0.02em;
animation: locFadeUp 0.5s ease both 0.3s;
}
.loc-hero .loc-hero__h1 .gradient-text {
background: var(--loc-hero-text-gradient);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
} .loc-hero .loc-hero__h2 {
font-family: var(--loc-font-body);
font-size: 15px;
font-weight: 400;
line-height: 1.6;
color: rgba(255,255,255,0.65);
max-width: 480px;
margin: 0;
animation: locFadeUp 0.5s ease both 0.4s;
}
.loc-hero .loc-hero__h2 strong { color: rgba(255,255,255,0.9); font-weight: 600; } .loc-hero__address {
display: flex;
align-items: center;
gap: 8px;
font-size: 14px;
font-weight: 500;
color: rgba(255,255,255,0.55);
animation: locFadeUp 0.5s ease both 0.45s;
}
.loc-hero__address svg { flex-shrink: 0; opacity: 0.6; } .loc-hero__ctas {
display: flex;
flex-direction: column;
align-items: stretch;
gap: 14px;
margin-top: 6px;
animation: locFadeUp 0.5s ease both 0.55s;
}
.btn-primary {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 10px;
background: var(--loc-cta-gradient);
color: var(--loc-white);
font-family: var(--loc-font-body);
font-size: 15px;
font-weight: 600;
padding: 15px 30px;
border: none;
cursor: pointer;
text-decoration: none;
transition: transform 0.2s, box-shadow 0.2s;
box-shadow: 0 4px 20px rgba(122,79,247,0.35);
}
.btn-primary:hover {
transform: translateY(-1px);
box-shadow: 0 6px 28px rgba(122,79,247,0.5);
color: var(--loc-white);
}
.btn-primary .price { font-weight: 700; }
.btn-secondary {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
background: transparent;
color: var(--loc-white);
font-family: var(--loc-font-body);
font-size: 14px;
font-weight: 500;
padding: 14px 24px;
border: 1px solid rgba(255,255,255,0.22);
cursor: pointer;
text-decoration: none;
transition: border-color 0.2s, background 0.2s;
}
.btn-secondary:hover {
border-color: rgba(255,255,255,0.45);
background: rgba(255,255,255,0.05);
color: var(--loc-white);
} .loc-hero__urgency {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 4px;
font-size: 12px;
color: rgba(255,255,255,0.42);
animation: locFadeUp 0.4s ease both 0.65s;
}
.loc-hero__urgency span { display: flex; align-items: center; gap: 5px; }
.urgency-dot { display: none; } .loc-hero__image-col {
display: flex;
flex-direction: column;
align-items: flex-end;
}
.loc-hero__image-wrapper {
position: relative;
width: 100%;
max-width: 520px;
overflow: hidden;
animation: locFadeIn 0.8s ease both 0.3s;
}
.loc-hero__image-wrapper img {
display: block;
width: 100%;
height: 280px;
object-fit: cover;
}
.loc-hero__image-wrapper::after {
content: '';
position: absolute;
bottom: 0; left: 0; right: 0;
height: 80px;
background: linear-gradient(to top, var(--loc-near-black), transparent);
pointer-events: none;
}
.loc-hero__image-badges {
position: absolute;
top: 16px; left: 16px;
display: flex;
flex-direction: column;
gap: 8px;
z-index: 2;
}
.image-badge {
display: inline-flex;
align-items: center;
gap: 6px;
background: rgba(0,0,0,0.65);
backdrop-filter: blur(12px);
padding: 6px 12px;
font-size: 12px;
font-weight: 600;
color: var(--loc-white);
}
.image-badge svg { flex-shrink: 0; }
.image-badge--gold svg { color: #FBBF24; }
.image-badge--purple svg { color: var(--loc-primary-light); }
@media (min-width: 768px) {
.loc-hero .loc-hero__h1 { font-size: 36px; }
.loc-hero__ctas { flex-direction: row; align-items: center; }
.loc-hero__urgency { flex-direction: row; gap: 14px; }
.urgency-dot { display: block; width: 3px; height: 3px; border-radius: 50%; background: rgba(255,255,255,0.2); }
}
@media (min-width: 960px) {
.loc-hero__content { grid-template-columns: 1fr 1fr; gap: 40px; }
.loc-hero__text { padding-bottom: 48px; }
.loc-hero .loc-hero__h1 { font-size: 42px; }
.loc-hero .loc-hero__h2 { font-size: 16px; }
.loc-hero__image-wrapper img { height: 420px; }
} .trust-bar {
background: var(--loc-near-black);
border-top: 1px solid rgba(255,255,255,0.06);
}
.trust-bar__inner {
max-width: 1200px;
margin: 0 auto;
padding: 16px 20px;
display: flex;
align-items: center;
gap: 20px;
flex-wrap: nowrap;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
scrollbar-width: none;
-ms-overflow-style: none;
}
.trust-bar__inner::-webkit-scrollbar {
display: none;
}
.trust-bar__item {
display: flex;
align-items: center;
gap: 8px;
flex-shrink: 0;
white-space: nowrap;
animation: locFadeUp 0.4s ease both;
}
.trust-bar__item:nth-child(1) { animation-delay: 0.5s; }
.trust-bar__item:nth-child(2) { animation-delay: 0.6s; }
.trust-bar__item:nth-child(3) { animation-delay: 0.7s; }
.trust-bar__item:nth-child(4) { animation-delay: 0.8s; }
.trust-bar__item:nth-child(5) { animation-delay: 0.9s; }
.trust-bar__icon {
width: 38px; height: 38px;
display: flex;
align-items: center;
justify-content: center;
background: rgba(122,79,247,0.1);
flex-shrink: 0;
}
.trust-bar__icon svg { color: var(--loc-primary-light); }
.trust-bar__text { display: flex; flex-direction: column; }
.trust-bar__label { font-size: 13px; font-weight: 600; color: rgba(255,255,255,0.88); }
.trust-bar__sub { font-size: 11px; color: rgba(255,255,255,0.38); }
.loc-hero__accent-strip {
height: 3px;
background: var(--loc-hero-bg-gradient);
}
@media (min-width: 992px) {
.trust-bar__inner { overflow-x: visible; justify-content: space-between; padding: 20px 24px; }
} .loc-nav {
background: var(--loc-white);
border-bottom: 1px solid var(--loc-border);
box-shadow: 0 8px 12px rgba(0,0,0,0.04);
position: sticky;
top: 0;
z-index: 1000;
transition: box-shadow 0.2s;
}
.loc-nav.scrolled { box-shadow: 0 8px 24px rgba(0,0,0,0.1); }
.loc-nav__inner {
max-width: 1200px;
margin: 0 auto;
padding: 0 24px;
display: flex;
align-items: center;
justify-content: space-between;
}
.loc-nav__links {
display: flex;
list-style: none;
padding: 0; margin: 0;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
scrollbar-width: none;
}
.loc-nav__links::-webkit-scrollbar { display: none; }
.loc-nav__links a {
display: block;
padding: 16px 18px;
font-size: 14px;
font-weight: 500;
color: var(--loc-medium-gray);
text-decoration: none;
border-bottom: 2px solid transparent;
transition: color 0.2s, border-color 0.2s;
white-space: nowrap;
}
.loc-nav__links a:hover,
.loc-nav__links a.active {
color: var(--loc-primary);
border-bottom-color: var(--loc-primary);
}
.loc-nav__cta {
display: none;
align-items: center;
gap: 8px;
background: var(--loc-cta-gradient);
color: var(--loc-white);
font-size: 13px;
font-weight: 600;
padding: 10px 20px;
border: none;
cursor: pointer;
text-decoration: none;
transition: transform 0.15s, box-shadow 0.15s;
flex-shrink: 0;
}
.loc-nav__cta:hover {
transform: translateY(-1px);
box-shadow: 0 4px 16px rgba(122,79,247,0.35);
color: var(--loc-white);
}
@media (min-width: 768px) { .loc-nav__cta { display: inline-flex; } } .loc-plans-section { background: var(--loc-light-gray-bg); }
.loc-plans-section__inner {
max-width: 1200px;
margin: 0 auto;
padding: 64px 24px;
}
.loc-plans-section__header { text-align: center; margin-bottom: 40px; }
.loc-plans-section__title {
font-family: var(--loc-font-heading);
font-size: 28px;
font-weight: 700;
color: var(--loc-near-black);
margin-bottom: 8px;
}
.loc-plans-section__sub { font-size: 15px; color: var(--loc-medium-gray); margin: 0; }
.plans-grid {
display: grid;
grid-template-columns: 1fr;
gap: 20px;
margin-bottom: 48px;
max-width: 400px;
margin-left: auto;
margin-right: auto;
}
.plan-card {
background: var(--loc-white);
border: 1px solid var(--loc-border);
padding: 32px 24px;
position: relative;
transition: box-shadow 0.2s, border-color 0.2s;
}
.plan-card:hover {
box-shadow: 0 12px 24px rgba(0,0,0,0.08);
border-color: rgba(122,79,247,0.2);
}
.plan-card--popular {
border-color: var(--loc-primary);
box-shadow: 0 12px 24px rgba(122,79,247,0.12);
}
.plan-card__badge {
position: absolute;
top: -1px; right: 24px;
background: var(--loc-cta-gradient);
color: var(--loc-white);
font-size: 11px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.06em;
padding: 5px 14px;
}
.plan-card__name {
font-family: var(--loc-font-heading);
font-size: 20px;
font-weight: 700;
color: var(--loc-near-black);
margin-bottom: 4px;
}
.plan-card__price {
font-family: var(--loc-font-heading);
font-size: 36px;
font-weight: 800;
color: var(--loc-near-black);
line-height: 1.2;
margin-bottom: 20px;
}
.plan-card__price span { font-size: 15px; font-weight: 500; color: var(--loc-medium-gray); }
.plan-card__desc {
font-size: 13px;
color: var(--loc-light-gray-text);
margin-bottom: 20px;
line-height: 1.5;
min-height: 40px;
}
.plan-card__features {
list-style: none;
padding: 0; margin: 0 0 24px;
display: flex;
flex-direction: column;
gap: 10px;
}
.plan-card__features li {
display: flex;
align-items: flex-start;
gap: 10px;
font-size: 14px;
color: var(--loc-dark-gray);
line-height: 1.4;
}
.plan-card__features li svg { flex-shrink: 0; margin-top: 2px; }
.plan-card__features li.excluded { color: var(--loc-light-gray-text); opacity: 0.5; }
.plan-card__cta {
display: block;
width: 100%;
padding: 14px;
font-family: var(--loc-font-body);
font-size: 14px;
font-weight: 600;
text-align: center;
text-decoration: none;
cursor: pointer;
transition: transform 0.15s, box-shadow 0.15s;
border: none;
}
.plan-card__cta--primary {
background: var(--loc-cta-gradient);
color: var(--loc-white);
box-shadow: 0 4px 16px rgba(122,79,247,0.25);
}
.plan-card__cta--primary:hover {
transform: translateY(-1px);
box-shadow: 0 6px 24px rgba(122,79,247,0.4);
color: var(--loc-white);
}
.plan-card__cta--outline {
background: transparent;
color: var(--loc-primary);
border: 1px solid var(--loc-primary);
}
.plan-card__cta--outline:hover { background: rgba(122,79,247,0.04); }
.plan-card__note { font-size: 11px; color: var(--loc-light-gray-text); margin-top: 10px; text-align: center; } .compare-toggle {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
padding: 14px;
background: var(--loc-white);
border: 1px solid var(--loc-border);
font-family: var(--loc-font-body);
font-size: 14px;
font-weight: 600;
color: var(--loc-primary);
cursor: pointer;
width: 100%;
max-width: 320px;
margin: 0 auto;
transition: background 0.2s, border-color 0.2s;
}
.compare-toggle:hover { background: rgba(122,79,247,0.04); border-color: var(--loc-primary); }
.compare-toggle svg { transition: transform 0.3s; }
.compare-toggle.open svg { transform: rotate(180deg); }
.compare-table-container {
max-height: 0;
overflow: hidden;
transition: max-height 0.5s ease;
}
.compare-table-container.open { max-height: 2000px; margin-top: 24px; }
.compare-table {
width: 100%;
border-collapse: collapse;
font-size: 14px;
background: var(--loc-white);
}
.compare-table thead th {
font-family: var(--loc-font-heading);
font-size: 15px;
font-weight: 700;
color: var(--loc-near-black);
padding: 16px 20px;
text-align: center;
border-bottom: 2px solid var(--loc-border);
position: sticky;
top: 56px;
background: var(--loc-white);
z-index: 10;
}
.compare-table thead th:first-child {
text-align: left;
font-weight: 600;
color: var(--loc-medium-gray);
font-family: var(--loc-font-body);
font-size: 13px;
text-transform: uppercase;
letter-spacing: 0.04em;
}
.compare-table tbody td {
padding: 14px 20px;
border-bottom: 1px solid var(--loc-border);
text-align: center;
color: var(--loc-dark-gray);
}
.compare-table tbody td:first-child { text-align: left; font-weight: 500; color: var(--loc-near-black); }
.compare-table tbody tr:hover { background: rgba(122,79,247,0.02); }
.check-icon { color: var(--loc-primary); }
.dash-icon { color: var(--loc-light-gray-text); opacity: 0.35; }
@media (min-width: 768px) {
.plans-grid { grid-template-columns: repeat(3, 1fr); max-width: none; }
} .loc-about__figure { margin: 0 0 24px; }
.loc-about__figure img { width: 100%; height: auto; display: block; }
.loc-about__content { font-size: 15px; line-height: 1.7; }
.loc-about__content p { margin-bottom: 16px; }
.loc-about__keywords {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin-top: 20px;
padding-top: 16px;
border-top: 1px solid var(--loc-border);
}
.loc-about__kw-tag {
display: inline-block;
padding: 4px 12px;
background: var(--loc-primary-light-bg);
color: var(--loc-primary-dark);
font-size: 12px;
font-weight: 500;
}
.loc-about__stats-strip {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 12px;
padding: 20px;
background: var(--loc-primary-light-bg);
border-left: 4px solid var(--loc-primary);
}
.loc-about__stat { display: flex; align-items: center; gap: 10px; }
.loc-about__stat-icon {
color: var(--loc-primary);
font-size: 20px; width: 20px; height: 20px;
flex-shrink: 0;
}
.loc-about__stat strong { display: block; font-size: 13px; font-weight: 700; color: var(--loc-near-black); }
.loc-about__stat span { font-size: 11px; color: var(--loc-medium-gray); }
@media (min-width: 768px) { .loc-about__stats-strip { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 992px) { .loc-about__figure { margin: 0; } } .loc-why-city { background: var(--loc-light-gray-bg); }
.loc-why-city__content { font-size: 15px; line-height: 1.7; }
.loc-why-city__sidebar { margin-top: 32px; }
.loc-sidebar-card {
background: var(--loc-white);
border: 1px solid var(--loc-border);
padding: 20px;
margin-bottom: 16px;
}
.loc-sidebar-card__title {
font-size: 14px; font-weight: 700;
text-transform: uppercase; letter-spacing: 0.5px;
color: var(--loc-medium-gray);
margin: 0 0 12px;
display: flex; align-items: center; gap: 8px;
}
.loc-sidebar-card__title .dashicons { color: var(--loc-primary); font-size: 18px; width: 18px; height: 18px; }
.loc-sidebar-card__content { font-size: 14px; line-height: 1.6; color: var(--loc-dark-gray); }
.loc-sidebar-card__content p { margin-bottom: 8px; }
@media (min-width: 992px) { .loc-why-city__sidebar { margin-top: 0; } } .loc-why-flexy__content { font-size: 15px; line-height: 1.7; max-width: 800px; }
.loc-why-flexy__stats {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 16px;
margin-top: 32px;
}
.loc-stat {
display: flex; align-items: center; gap: 12px;
padding: 16px;
background: var(--loc-light-gray-bg);
border: 1px solid var(--loc-border);
}
.loc-stat__icon {
flex-shrink: 0; width: 40px; height: 40px;
background: var(--loc-primary-light-bg);
display: flex; align-items: center; justify-content: center;
}
.loc-stat__icon .dashicons { color: var(--loc-primary); font-size: 20px; width: 20px; height: 20px; }
.loc-stat__text { font-size: 13px; font-weight: 600; color: var(--loc-near-black); }
@media (min-width: 768px) { .loc-why-flexy__stats { grid-template-columns: repeat(4, 1fr); } } .loc-features__grid {
display: grid; grid-template-columns: repeat(2, 1fr);
gap: 16px; list-style: none; padding: 0; margin: 0;
}
.loc-features__item {
display: flex; align-items: center; gap: 12px;
padding: 14px 16px;
background: var(--loc-white);
border: 1px solid var(--loc-border);
transition: border-color 0.2s;
}
.loc-features__item:hover { border-color: var(--loc-primary); }
.loc-features__icon { width: 32px; height: 32px; flex-shrink: 0; object-fit: contain; }
.loc-features__label { font-size: 13px; font-weight: 500; color: var(--loc-near-black); }
@media (min-width: 768px) { .loc-features__grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 992px) { .loc-features__grid { grid-template-columns: repeat(4, 1fr); } } .loc-personas { background: var(--loc-light-gray-bg); }
.loc-personas__grid { display: grid; grid-template-columns: 1fr; gap: 20px; }
.loc-personas__card {
background: var(--loc-white);
border: 1px solid var(--loc-border);
overflow: hidden;
display: flex; flex-direction: column;
transition: box-shadow 0.2s;
}
.loc-personas__card:hover { box-shadow: var(--loc-shadow-md); }
.loc-personas__card-image { width: 100%; height: 180px; object-fit: cover; }
.loc-personas__card-body { padding: 20px; flex: 1; display: flex; flex-direction: column; }
.loc-personas__card-title { font-size: 16px; font-weight: 700; margin: 0 0 8px; }
.loc-personas__card-title a { color: var(--loc-near-black); text-decoration: none; }
.loc-personas__card-title a:hover { color: var(--loc-primary); }
.loc-personas__card-desc { font-size: 13px; color: var(--loc-medium-gray); flex: 1; margin-bottom: 12px; }
.loc-personas__card-link {
font-size: 13px; font-weight: 600;
color: var(--loc-primary); text-decoration: none;
display: flex; align-items: center; gap: 4px;
}
.loc-personas__card-link:hover { color: var(--loc-primary-dark); }
@media (min-width: 768px) { .loc-personas__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 992px) { .loc-personas__grid { grid-template-columns: repeat(3, 1fr); } } .loc-personas__carousel .owl-item { display: flex; }
.loc-personas__carousel .loc-personas__card { width: 100%; }
.loc-personas__carousel .owl-nav { margin-top: 16px; }
.loc-personas__carousel .owl-dots { margin-top: 12px; } .loc-benefits__grid {
display: grid; grid-template-columns: repeat(2, 1fr);
gap: 16px; list-style: none; padding: 0; margin: 0;
}
.loc-benefits__item {
display: flex; align-items: flex-start; gap: 12px;
padding: 16px;
background: var(--loc-white);
border: 1px solid var(--loc-border);
}
.loc-benefits__icon { width: 36px; height: 36px; flex-shrink: 0; object-fit: contain; }
.loc-benefits__text h4 { font-size: 14px; font-weight: 600; margin: 0 0 4px; }
.loc-benefits__text p { font-size: 12px; color: var(--loc-medium-gray); margin: 0; line-height: 1.5; }
@media (min-width: 768px) { .loc-benefits__grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 992px) { .loc-benefits__grid { grid-template-columns: repeat(4, 1fr); } } .loc-map__embed {
margin: 0; height: 300px;
background: var(--loc-light-gray-bg);
border: 1px solid var(--loc-border);
overflow: hidden;
}
.loc-map__embed .acf-map { width: 100%; height: 100%; }
.loc-map__details { margin-top: 24px; }
.loc-map__details dt {
font-size: 12px; font-weight: 700;
text-transform: uppercase; letter-spacing: 0.5px;
color: var(--loc-medium-gray); margin-top: 16px;
}
.loc-map__details dt:first-child { margin-top: 0; }
.loc-map__details dd { font-size: 14px; margin: 4px 0 0; color: var(--loc-near-black); }
@media (min-width: 992px) {
.loc-map__embed { height: 360px; }
.loc-map__details { margin-top: 0; }
} .loc-testimonials { background: var(--loc-light-gray-bg); }
.loc-testimonial-card {
background: var(--loc-white);
border: 1px solid var(--loc-border);
padding: 24px; height: 100%;
display: flex; flex-direction: column;
}
.loc-testimonial-card__stars { color: #F59E0B; font-size: 14px; margin-bottom: 12px; }
.loc-testimonial-card__text {
font-size: 14px; line-height: 1.6;
font-style: italic; color: var(--loc-dark-gray);
flex: 1; margin-bottom: 16px;
}
.loc-testimonial-card__author {
display: flex; align-items: center; gap: 12px;
padding-top: 12px; border-top: 1px solid var(--loc-border);
}
.loc-testimonial-card__avatar { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.loc-testimonial-card__avatar-placeholder {
width: 40px; height: 40px; border-radius: 50%;
background: var(--loc-primary); color: #fff;
display: flex; align-items: center; justify-content: center;
font-size: 16px; font-weight: 700; flex-shrink: 0;
}
.loc-testimonial-card__name { font-size: 13px; font-weight: 600; color: var(--loc-near-black); }
.loc-testimonial-card__role { font-size: 12px; color: var(--loc-medium-gray); } .loc-gallery__carousel .loc-gallery__slide { overflow: hidden; }
.loc-gallery__carousel .loc-gallery__slide img {
width: 100%; height: 320px;
object-fit: cover; display: block;
}
.loc-gallery__single img {
width: 100%; max-height: 400px;
object-fit: cover; display: block;
}
.loc-gallery__carousel .owl-nav {
position: absolute; top: 50%; width: 100%;
display: flex; justify-content: space-between;
transform: translateY(-50%);
pointer-events: none; padding: 0 8px;
}
.loc-gallery__carousel .owl-nav button {
pointer-events: auto;
width: 40px; height: 40px;
background: rgba(0,0,0,0.5) !important;
color: #fff !important;
border-radius: 50%;
display: flex; align-items: center; justify-content: center;
font-size: 18px; border: none;
transition: background 0.2s;
}
.loc-gallery__carousel .owl-nav button:hover { background: rgba(0,0,0,0.8) !important; }
.loc-gallery__carousel .owl-dots { text-align: center; margin-top: 16px; }
.loc-gallery__carousel .owl-dot span {
width: 10px; height: 10px;
background: var(--loc-border);
border-radius: 50%;
display: inline-block;
margin: 0 4px;
transition: background 0.2s;
}
.loc-gallery__carousel .owl-dot.active span { background: var(--loc-primary); }
@media (min-width: 768px) {
.loc-gallery__carousel .loc-gallery__slide img { height: 400px; }
} .loc-faq__accordion .accordion-item {
border: 1px solid var(--loc-border);
margin-bottom: 8px; overflow: hidden;
}
.loc-faq__accordion .accordion-button {
font-size: 14px; font-weight: 600;
color: var(--loc-near-black);
padding: 16px 20px;
background: var(--loc-white);
}
.loc-faq__accordion .accordion-button:not(.collapsed) {
background: var(--loc-light-gray-bg);
color: var(--loc-primary-dark);
box-shadow: none;
}
.loc-faq__accordion .accordion-body { font-size: 14px; line-height: 1.7; padding: 16px 20px; }
.loc-faq__paa { margin-top: 24px; border-top: 1px solid var(--loc-border); padding-top: 20px; }
.loc-faq__paa summary { font-size: 16px; font-weight: 700; color: var(--loc-near-black); cursor: pointer; padding: 8px 0; }
.loc-faq__paa-list { list-style: none; padding: 0; margin: 12px 0 0; }
.loc-faq__paa-item {
padding: 10px 0; border-bottom: 1px solid var(--loc-border);
font-size: 14px; display: flex; align-items: flex-start; gap: 8px;
}
.loc-faq__paa-item .dashicons {
color: var(--loc-primary); flex-shrink: 0;
font-size: 16px; width: 16px; height: 16px; margin-top: 3px;
} .loc-cta-banner {
background: linear-gradient(135deg, #0D1F3C 0%, #1E3A5F 50%, #2D6A8F 100%);
padding: 48px 0; text-align: center; color: #fff;
} .loc-cta-banner .loc-cta-banner__title { font-size: 28px; font-weight: 800; margin: 0 0 8px; color: #fff; }
.loc-cta-banner__subtitle { font-size: 16px; color: rgba(255,255,255,0.8); margin-bottom: 24px; }
.loc-cta-banner__actions { display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; }
.loc-cta-banner__btn {
display: inline-flex; align-items: center; gap: 8px;
padding: 14px 32px; font-size: 15px; font-weight: 600;
text-decoration: none; transition: all 0.2s;
}
.loc-cta-banner__btn--primary { background: var(--loc-primary); color: #fff; }
.loc-cta-banner__btn--primary:hover { background: var(--loc-primary-dark); color: #fff; }
.loc-cta-banner__btn--outline { border: 2px solid rgba(255,255,255,0.5); color: #fff; background: transparent; }
.loc-cta-banner__btn--outline:hover { border-color: #fff; background: rgba(255,255,255,0.1); color: #fff; }
.loc-cta-banner__seo-desc {
max-width: 700px; margin: 32px auto 0;
font-size: 13px; color: rgba(255,255,255,0.6); line-height: 1.6;
}
@media (min-width: 768px) {
.loc-cta-banner { padding: 64px 0; }
.loc-cta-banner__title { font-size: 36px; }
}
.loc-nearby__icons { display: flex; justify-content: center; gap: 32px; padding: 24px 0; }
.loc-nearby__icon {
display: flex; flex-direction: column; align-items: center; gap: 8px;
text-decoration: none; color: var(--loc-medium-gray);
font-size: 12px; font-weight: 500; transition: color 0.2s;
}
.loc-nearby__icon:hover { color: var(--loc-primary); }
.loc-nearby__icon img { width: 40px; height: 40px; }
.loc-seo-desc { padding: 32px 0; border-top: 1px solid var(--loc-border); }
.loc-seo-desc__content {
font-size: 14px; color: var(--loc-medium-gray);
line-height: 1.7; max-width: 800px;
} @keyframes locFadeUp {
from { opacity: 0; transform: translateY(18px); }
to   { opacity: 1; transform: translateY(0); }
}
@keyframes locFadeIn {
from { opacity: 0; }
to   { opacity: 1; }
} .loc-sr-only {
position: absolute; width: 1px; height: 1px;
padding: 0; margin: -1px; overflow: hidden;
clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}