@import url('https://cdn.jsdelivr.net/npm/@fontsource/exo-2@latest/300.css');
@import url('https://cdn.jsdelivr.net/npm/@fontsource/exo-2@latest/400.css');
@import url('https://cdn.jsdelivr.net/npm/@fontsource/exo-2@latest/600.css');
@import url('https://cdn.jsdelivr.net/npm/@fontsource/exo-2@latest/700.css');

html {
word-break: break-word;
overflow-wrap: anywhere;
}

body {
margin: 0;
font-family: 'Exo 2', sans-serif;
}

.skip-focus-label {
position: absolute;
top: -40px;
left: 8px;
font-size: 14px;
background: #144E34;
color: #fff;
padding: 4px 8px;
border-radius: 8px;
transition: top 0.5s ease-in-out;
z-index: 2000;
}

.skip-focus-label:focus {
top: 8px;
}

*:focus-visible {
outline: 2px solid #F42B52;
outline-offset: 3px;
}

*:focus-visible::before {
content: attr(aria-label);
position: absolute;
top: -22px;
left: 0;
font-size: 14px;
color: #F42B52;
white-space: nowrap;
pointer-events: none;
}

.site-header {
position: relative;
background: #fff;
border-bottom: 2px solid #E2E6ED;
box-shadow: 1px 6px 22px 1px rgba(244, 43, 82, 0.10);
}

.site-header-background {
position: absolute;
inset: 0;
background: linear-gradient(135deg, #fff 60%, #E2E6ED 100%);
z-index: 0;
pointer-events: none;
}

.site-header-inner {
position: relative;
z-index: 1;
max-width: 1200px;
margin: 0 auto;
padding: 0 24px;
}

.site-header-top {
display: flex;
align-items: center;
gap: 24px;
padding: 24px 0 12px;
border-bottom: 1px solid #E2E6ED;
}

.logo-pod {
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
width: 96px;
height: 96px;
border: 2px dashed #144E34;
clip-path: polygon(50% 0%, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%);
background: #fff;
box-shadow: 1px 2px 5px 1px rgba(20, 78, 52, 0.06);
}

.logo-pod img {
width: 72px;
height: 72px;
object-fit: contain;
display: block;
}

.brand-divider {
width: 1px;
height: 64px;
background: #E2E6ED;
flex-shrink: 0;
}

.brand-label-deck {
display: flex;
flex-direction: column;
gap: 4px;
}

.brand-name {
font-size: 20px;
font-weight: 700;
line-height: 1.1;
color: #144E34;
letter-spacing: 0;
}

.brand-tagline {
font-size: 14px;
font-weight: 400;
line-height: 1.3;
color: #3a3a3a;
}

.proof-pod {
margin-left: auto;
display: flex;
flex-direction: column;
align-items: flex-end;
gap: 4px;
}

.proof-badge {
font-size: 14px;
font-weight: 600;
color: #fff;
background: #144E34;
padding: 4px 12px;
border-radius: 8px;
line-height: 1.3;
}

.proof-since {
font-size: 14px;
font-weight: 400;
color: #3a3a3a;
line-height: 1.3;
}

.site-header-nav-row {
padding: 12px 0;
}

.primary-navigation {
display: flex;
flex-wrap: wrap;
gap: 4px;
list-style: none;
margin: 0;
padding: 0;
}

.primary-navigation li {
display: flex;
}

.primary-navigation a {
display: flex;
align-items: center;
padding: 8px 12px;
font-size: 15px;
font-weight: 600;
line-height: 1.3;
color: #1b1b1b;
text-decoration: none;
border-radius: 8px;
min-height: 44px;
transition: background 0.5s ease-in-out, color 0.5s ease-in-out;
white-space: nowrap;
}

.primary-navigation a:hover {
background: #144E34;
color: #fff;
}

.primary-navigation a[aria-current="page"] {
background: #F42B52;
color: #fff;
}

@media (max-width: 768px) {
.site-header-top {
flex-wrap: wrap;
padding: 12px 0 8px;
}

.proof-pod {
margin-left: 0;
align-items: flex-start;
width: 100%;
}

.primary-navigation a {
font-size: 14px;
padding: 8px 8px;
}
}

@media (max-width: 480px) {
.logo-pod {
width: 72px;
height: 72px;
}

.logo-pod img {
width: 52px;
height: 52px;
}

.brand-name {
font-size: 17px;
}

.site-header-inner {
padding: 0 12px;
}
}

.site-footer {
background: #144E34;
border-top: 2px solid #0d3524;
box-shadow: 1px 12px 40px 1px rgba(20, 78, 52, 0.14) inset;
}

.site-footer-inner {
max-width: 1200px;
margin: 0 auto;
padding: 48px 24px 24px;
}

.footer-columns {
display: flex;
flex-wrap: wrap;
gap: 48px;
margin-bottom: 48px;
}

.footer-brand-cell {
flex: 0 0 auto;
display: flex;
flex-direction: column;
gap: 12px;
min-width: 180px;
}

.footer-logo-pod {
display: flex;
align-items: center;
justify-content: center;
width: 80px;
height: 80px;
border: 2px dashed #E2E6ED;
clip-path: polygon(50% 0%, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%);
background: rgba(255, 255, 255, 0.08);
box-shadow: 1px 2px 5px 1px rgba(244, 43, 82, 0.06);
}

.footer-logo-pod img {
width: 60px;
height: 60px;
object-fit: contain;
display: block;
}

.footer-brand-name {
font-size: 17px;
font-weight: 700;
color: #fff;
line-height: 1.1;
}

.footer-founding {
font-size: 14px;
font-weight: 400;
color: #E2E6ED;
line-height: 1.3;
}

.footer-links-cell {
flex: 1 1 160px;
display: flex;
flex-direction: column;
gap: 8px;
}

.footer-group-label {
font-size: 14px;
font-weight: 700;
color: #E2E6ED;
line-height: 1.3;
text-transform: uppercase;
margin-bottom: 4px;
}

.footer-links-cell a {
font-size: 15px;
font-weight: 400;
color: #fff;
text-decoration: none;
line-height: 1.55;
transition: color 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
min-height: 44px;
display: flex;
align-items: center;
}

.footer-links-cell a:hover {
color: #F42B52;
}

.footer-contact-cell {
flex: 1 1 200px;
display: flex;
flex-direction: column;
gap: 8px;
}

.footer-contact-label {
font-size: 14px;
font-weight: 700;
color: #E2E6ED;
line-height: 1.3;
text-transform: uppercase;
margin-bottom: 4px;
}

.footer-contact-item {
font-size: 15px;
font-weight: 400;
color: #fff;
line-height: 1.55;
text-decoration: none;
transition: color 0.5s ease-in-out;
}

.footer-contact-item:hover {
color: #F42B52;
}

.footer-contact-address {
font-size: 14px;
color: #E2E6ED;
line-height: 1.55;
font-style: normal;
}

.footer-bottom {
border-top: 1px solid rgba(226, 230, 237, 0.2);
padding-top: 24px;
display: flex;
flex-wrap: wrap;
gap: 12px;
align-items: center;
justify-content: space-between;
}

.footer-copyright {
font-size: 14px;
color: #E2E6ED;
line-height: 1.3;
}

.footer-legal-links {
display: flex;
flex-wrap: wrap;
gap: 12px;
list-style: none;
margin: 0;
padding: 0;
}

.footer-legal-links a {
font-size: 14px;
color: #E2E6ED;
text-decoration: none;
line-height: 1.3;
transition: color 0.45s ease-in-out;
}

.footer-legal-links a:hover {
color: #F42B52;
}

@media (max-width: 768px) {
.footer-columns {
gap: 24px;
}

.footer-brand-cell {
width: 100%;
}
}

@media (max-width: 480px) {
.site-footer-inner {
padding: 24px 12px 12px;
}

.footer-bottom {
flex-direction: column;
align-items: flex-start;
}
}

.consent-strip {
position: fixed;
top: 0;
left: 0;
right: 0;
margin: 0 auto;
max-width: 860px;
background: #fff;
border-bottom: 2px solid #E2E6ED;
border-radius: 0 0 12px 12px;
box-shadow: 1px 6px 22px 1px rgba(20, 78, 52, 0.10);
z-index: 1200;
padding: 12px 24px;
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 12px;
}

.consent-strip[hidden] {
display: none;
}

.consent-text-deck {
flex: 1 1 300px;
display: flex;
flex-direction: column;
gap: 4px;
}

.consent-description {
font-size: 15px;
font-weight: 400;
color: #1b1b1b;
line-height: 1.55;
font-family: 'Exo 2', sans-serif;
}

.consent-headline {
font-size: 14px;
font-weight: 600;
color: #3a3a3a;
line-height: 1.3;
font-family: 'Exo 2', sans-serif;
}

.consent-buttons {
display: flex;
flex-wrap: wrap;
gap: 8px;
align-items: center;
}

.consent-accept-button {
font-family: 'Exo 2', sans-serif;
font-size: 15px;
font-weight: 600;
color: #fff;
background: #144E34;
border: 2px solid #144E34;
border-radius: 8px;
padding: 8px 24px;
min-height: 44px;
cursor: pointer;
transition: background 0.5s ease-in-out, color 0.5s ease-in-out;
}

.consent-accept-button:hover {
background: #F42B52;
border-color: #F42B52;
}

.consent-accept-button:active {
transform: scale(0.97);
}

.consent-reject-link {
font-family: 'Exo 2', sans-serif;
font-size: 15px;
font-weight: 600;
color: #144E34;
background: #fff;
border: 2px solid #144E34;
border-radius: 8px;
padding: 8px 24px;
min-height: 44px;
cursor: pointer;
text-decoration: none;
display: inline-flex;
align-items: center;
transition: background 0.5s ease-in-out, color 0.5s ease-in-out;
}

.consent-reject-link:hover {
background: #E2E6ED;
}

.consent-reject-link:active {
transform: scale(0.97);
}

@media (max-width: 480px) {
.consent-strip {
padding: 12px;
}

.consent-accept-button,
.consent-reject-link {
width: 100%;
justify-content: center;
}
}

.terms-text-tgh {
max-width: 1200px;
margin: 0 auto;
padding: 48px 24px;
}

.terms-text-tgh strong,
.terms-text-tgh b {
font-weight: 700;
color: #144E34;
}

.terms-text-tgh em,
.terms-text-tgh i {
font-style: italic;
}

.terms-text-tgh a {
color: #F42B52;
text-decoration: underline;
text-underline-offset: 3px;
transition: color 0.5s ease-in-out, text-decoration-color 0.55s ease-in-out;
}

.terms-text-tgh a:hover {
color: #144E34;
text-decoration-color: #144E34;
}

.terms-text-tgh table {
width: 100%;
border-collapse: collapse;
margin: 24px 0;
font-size: 15px;
line-height: 1.55;
box-shadow: 1px 6px 22px 1px rgba(20, 78, 52, 0.10);
border-radius: 12px;
overflow: hidden;
}

.terms-text-tgh thead {
background-color: #144E34;
color: #ffffff;
}

.terms-text-tgh thead th {
padding: 12px 24px;
font-size: 14px;
font-weight: 700;
line-height: 1.3;
text-align: left;
letter-spacing: 0;
}

.terms-text-tgh tbody tr {
border-bottom: 1px solid #E2E6ED;
transition: background-color 0.45s ease-in-out;
}

.terms-text-tgh tbody tr:last-child {
border-bottom: none;
}

.terms-text-tgh tbody tr:nth-child(even) {
background-color: #f4f6f9;
}

.terms-text-tgh tbody tr:hover {
background-color: #eaf0ed;
}

.terms-text-tgh td {
padding: 12px 24px;
font-size: 15px;
line-height: 1.55;
vertical-align: top;
color: #1e2a24;
}

.terms-text-tgh th {
padding: 12px 24px;
}

.terms-text-tgh div {
margin: 24px 0;
font-size: 15px;
line-height: 1.75;
}

@media (max-width: 768px) {
.terms-text-tgh {
padding: 48px 12px;
}

.terms-text-tgh table {
display: block;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
border-radius: 8px;
}

.terms-text-tgh thead th,
.terms-text-tgh td {
padding: 12px;
font-size: 14px;
}
}

@media (max-width: 480px) {
.terms-text-tgh {
padding: 24px 8px;
}

.terms-text-tgh div {
font-size: 14px;
line-height: 1.75;
}
}

.analytics-detail {
max-width: 100%;
overflow-x: hidden;
}

.analytics-detail .ad-title-block {
position: relative;
padding: 48px 24px;
background: radial-gradient(ellipse 80% 60% at 50% 40%, #ffffff 0%, #E2E6ED 60%, #c8cdd8 100%);
}

.analytics-detail .ad-title-block .ad-corner-tl {
position: absolute;
top: 24px;
left: 24px;
width: 48px;
height: 48px;
border-top: 2px solid #144E34;
border-left: 2px solid #144E34;
border-radius: 8px 0 0 0;
pointer-events: none;
}

.analytics-detail .ad-title-block .ad-corner-br {
position: absolute;
bottom: 24px;
right: 24px;
width: 48px;
height: 48px;
border-bottom: 2px solid #F42B52;
border-right: 2px solid #F42B52;
border-radius: 0 0 8px 0;
pointer-events: none;
}

.analytics-detail .ad-title-inner {
max-width: 1200px;
margin: 0 auto;
position: relative;
}

.analytics-detail .ad-eyebrow {
display: inline-block;
font-size: 14px;
line-height: 1.3;
color: #144E34;
background: rgba(20, 78, 52, 0.08);
padding: 4px 12px;
border-radius: 8px;
margin-bottom: 24px;
text-transform: uppercase;
letter-spacing: 0.04em;
}

.analytics-detail .ad-main-heading {
font-size: 48px;
line-height: 1.1;
color: #111827;
margin: 0 0 12px 0;
max-width: 900px;
}

.analytics-detail .ad-subtitle {
font-size: 20px;
line-height: 1.55;
color: #374151;
margin: 0 0 24px 0;
max-width: 720px;
}

.analytics-detail .ad-meta-row {
display: flex;
flex-direction: row;
align-items: center;
gap: 24px;
flex-wrap: wrap;
}

.analytics-detail .ad-meta-item {
font-size: 14px;
line-height: 1.3;
color: #4B5563;
}

.analytics-detail .ad-meta-item strong {
color: #111827;
}

.analytics-detail .ad-meta-sep {
width: 4px;
height: 4px;
border-radius: 48px;
background: #F42B52;
flex-shrink: 0;
}

.analytics-detail .ad-image-band {
position: relative;
background: #111827;
}

.analytics-detail .ad-image-band::after {
content: '';
display: block;
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 48px;
background: #f4f5f7;
clip-path: ellipse(55% 100% at 50% 100%);
pointer-events: none;
}

.analytics-detail .ad-article-image {
width: 100%;
max-height: 480px;
object-fit: cover;
object-position: center top;
display: block;
opacity: 0.88;
border-radius: 0;
}

.analytics-detail .ad-body-section {
background: #f4f5f7;
padding: 48px 24px 96px;
position: relative;
}

.analytics-detail .ad-body-grid {
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 340px;
gap: 48px;
align-items: start;
}

.analytics-detail .ad-article-body {
min-width: 0;
}

.analytics-detail .ad-article-body .ad-accent-line {
display: block;
width: 36px;
height: 3px;
background: #F42B52;
border-radius: 8px;
margin-bottom: 12px;
}

.analytics-detail .ad-body-text p {
font-size: 17px;
line-height: 1.75;
color: #1f2937;
margin: 0 0 24px 0;
}

.analytics-detail .ad-body-text h2 {
font-size: 36px;
line-height: 1.1;
color: #111827;
margin: 48px 0 12px 0;
padding-top: 12px;
border-top: 2px solid #E2E6ED;
}

.analytics-detail .ad-body-text h3 {
font-size: 20px;
line-height: 1.3;
color: #111827;
margin: 24px 0 8px 0;
}

.analytics-detail .ad-body-text h4 {
font-size: 17px;
line-height: 1.3;
color: #111827;
margin: 24px 0 8px 0;
}

.analytics-detail .ad-body-text ul {
margin: 0 0 24px 0;
padding: 0;
list-style: none;
display: flex;
flex-direction: column;
gap: 8px;
}

.analytics-detail .ad-body-text ul li {
font-size: 17px;
line-height: 1.55;
color: #1f2937;
padding-left: 20px;
position: relative;
}

.analytics-detail .ad-body-text ul li::before {
content: '';
position: absolute;
left: 0;
top: 10px;
width: 6px;
height: 6px;
border-radius: 48px;
background: #144E34;
}

.analytics-detail .ad-body-text blockquote {
margin: 24px 0;
padding: 24px;
background: #ffffff;
border-radius: 12px;
box-shadow: 1px 2px 5px 1px rgba(20, 78, 52, 0.06);
position: relative;
}

.analytics-detail .ad-body-text blockquote .ad-quote-mark {
display: block;
font-size: 96px;
line-height: 1.1;
color: #F42B52;
opacity: 0.18;
position: absolute;
top: -12px;
left: 12px;
pointer-events: none;
font-family: Georgia, serif;
}

.analytics-detail .ad-body-text blockquote p {
font-size: 20px;
line-height: 1.55;
color: #111827;
margin: 0;
position: relative;
}

.analytics-detail .ad-body-text cite {
display: block;
font-size: 14px;
line-height: 1.3;
color: #6B7280;
margin-top: 8px;
font-style: normal;
}

.analytics-detail .ad-body-text del {
color: #9CA3AF;
text-decoration: line-through;
}

.analytics-detail .ad-body-text details {
margin: 0 0 24px 0;
border-radius: 12px;
background: #ffffff;
box-shadow: 1px 2px 5px 1px rgba(20, 78, 52, 0.06);
overflow: hidden;
}

.analytics-detail .ad-body-text summary {
font-size: 17px;
line-height: 1.55;
color: #111827;
padding: 12px 24px;
cursor: pointer;
font-weight: 600;
list-style: none;
transition: background 0.5s ease-in-out;
}

.analytics-detail .ad-body-text summary:hover {
background: #f4f5f7;
}

.analytics-detail .ad-body-text details[open] summary {
border-bottom: 1px solid #E2E6ED;
}

.analytics-detail .ad-body-text details>*:not(summary) {
padding: 12px 24px 24px;
}

.analytics-detail .ad-body-text .ad-inline-highlight {
background: rgba(244, 43, 82, 0.1);
color: #C0102E;
padding: 2px 6px;
border-radius: 8px;
}

.analytics-detail .ad-sidebar {
display: flex;
flex-direction: column;
gap: 24px;
}

.analytics-detail .ad-float-card {
background: #ffffff;
border-radius: 20px;
box-shadow: 1px 6px 22px 1px rgba(20, 78, 52, 0.10);
padding: 24px;
position: sticky;
top: 24px;
}

.analytics-detail .ad-float-card .ad-card-status {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
margin-bottom: 24px;
}

.analytics-detail .ad-status-dot {
width: 8px;
height: 8px;
border-radius: 48px;
background: #144E34;
flex-shrink: 0;
animation: ad-flicker 3.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) infinite;
}

@keyframes ad-flicker {

0%,
100% {
opacity: 1;
}

20% {
opacity: 0.6;
}

45% {
opacity: 0.9;
}

70% {
opacity: 0.5;
}

85% {
opacity: 0.95;
}
}

.analytics-detail .ad-status-label {
font-size: 14px;
line-height: 1.3;
color: #144E34;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.04em;
}

.analytics-detail .ad-card-row {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
padding: 8px 0;
border-bottom: 1px solid #E2E6ED;
}

.analytics-detail .ad-card-row:last-of-type {
border-bottom: none;
}

.analytics-detail .ad-card-label {
font-size: 14px;
line-height: 1.3;
color: #4B5563;
}

.analytics-detail .ad-card-value {
font-size: 15px;
line-height: 1.3;
color: #111827;
font-weight: 600;
}

.analytics-detail .ad-card-cta {
display: block;
margin-top: 24px;
padding: 12px 24px;
background: #144E34;
color: #ffffff;
text-decoration: none;
border-radius: 12px;
font-size: 15px;
line-height: 1.3;
text-align: center;
font-weight: 600;
transition: background 0.5s ease-in-out, box-shadow 0.55s ease-in-out;
}

.analytics-detail .ad-card-cta:hover {
background: #0e3826;
box-shadow: 1px 6px 22px 1px rgba(20, 78, 52, 0.10);
}

.analytics-detail .ad-card-cta:active {
transform: scale(0.98);
}

.analytics-detail .ad-pattern-section {
position: relative;
background: #111827;
padding: 48px 24px;
overflow: hidden;
}

.analytics-detail .ad-pattern-bg {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden;
}

.analytics-detail .ad-pattern-bg .ad-shape {
position: absolute;
opacity: 0.06;
background: #E2E6ED;
}

.analytics-detail .ad-pattern-bg .ad-shape-1 {
width: 32px;
height: 32px;
border-radius: 8px;
top: 15%;
left: 8%;
transform: rotate(22deg);
}

.analytics-detail .ad-pattern-bg .ad-shape-2 {
width: 20px;
height: 20px;
border-radius: 48px;
top: 60%;
left: 20%;
}

.analytics-detail .ad-pattern-bg .ad-shape-3 {
width: 48px;
height: 48px;
border-radius: 12px;
top: 30%;
right: 15%;
transform: rotate(45deg);
}

.analytics-detail .ad-pattern-bg .ad-shape-4 {
width: 16px;
height: 16px;
border-radius: 8px;
bottom: 20%;
right: 30%;
transform: rotate(12deg);
}

.analytics-detail .ad-pattern-bg .ad-shape-5 {
width: 24px;
height: 24px;
border-radius: 48px;
top: 75%;
left: 55%;
}

.analytics-detail .ad-pattern-section .ad-pattern-inner {
max-width: 1200px;
margin: 0 auto;
position: relative;
}

.analytics-detail .ad-pattern-section .ad-accent-line {
display: block;
width: 36px;
height: 3px;
background: #F42B52;
border-radius: 8px;
margin: 0 auto 12px;
}

.analytics-detail .ad-services-label {
text-align: center;
font-size: 14px;
line-height: 1.3;
color: #9CA3AF;
text-transform: uppercase;
letter-spacing: 0.06em;
margin-bottom: 8px;
}

.analytics-detail .ad-services-heading {
font-size: 36px;
line-height: 1.1;
color: #ffffff;
text-align: center;
margin: 0 0 24px 0;
}

.analytics-detail .ad-services-sub {
font-size: 17px;
line-height: 1.55;
color: #D1D5DB;
text-align: left;
max-width: 640px;
margin: 0 auto 48px;
}

.analytics-detail .ad-services-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
margin-bottom: 48px;
}

.analytics-detail .ad-service-item {
background: rgba(255, 255, 255, 0.05);
border-radius: 20px;
padding: 24px;
border: 1px solid rgba(226, 230, 237, 0.12);
transition: background 0.5s ease-in-out, border-color 0.55s ease-in-out;
}

.analytics-detail .ad-service-item:hover {
background: rgba(255, 255, 255, 0.09);
border-color: rgba(226, 230, 237, 0.25);
}

.analytics-detail .ad-service-icon {
width: 36px;
height: 36px;
margin-bottom: 12px;
}

.analytics-detail .ad-service-name {
font-size: 17px;
line-height: 1.3;
color: #ffffff;
margin: 0 0 8px 0;
font-weight: 600;
}

.analytics-detail .ad-service-desc {
font-size: 15px;
line-height: 1.55;
color: #9CA3AF;
margin: 0;
}

.analytics-detail .ad-cta-row {
display: flex;
flex-direction: row;
justify-content: center;
gap: 12px;
flex-wrap: wrap;
}

.analytics-detail .ad-btn-primary {
display: inline-block;
padding: 12px 48px;
background: #F42B52;
color: #ffffff;
text-decoration: none;
border-radius: 12px;
font-size: 17px;
line-height: 1.3;
font-weight: 600;
transition: background 0.5s ease-in-out, box-shadow 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.analytics-detail .ad-btn-primary:hover {
background: #c01e3e;
box-shadow: 1px 12px 40px 1px rgba(244, 43, 82, 0.14);
}

.analytics-detail .ad-btn-primary:active {
transform: scale(0.98);
}

.analytics-detail .ad-btn-secondary {
display: inline-block;
padding: 12px 48px;
background: transparent;
color: #ffffff;
text-decoration: none;
border-radius: 12px;
font-size: 17px;
line-height: 1.3;
font-weight: 600;
border: 1px solid rgba(255, 255, 255, 0.3);
transition: border-color 0.5s ease-in-out, background 0.55s ease-in-out;
}

.analytics-detail .ad-btn-secondary:hover {
border-color: rgba(255, 255, 255, 0.6);
background: rgba(255, 255, 255, 0.06);
}

.analytics-detail .ad-btn-secondary:active {
transform: scale(0.98);
}

@media (max-width: 1280px) {
.analytics-detail .ad-body-grid {
grid-template-columns: 1fr 300px;
}
}

@media (max-width: 768px) {
.analytics-detail .ad-main-heading {
font-size: 36px;
}

.analytics-detail .ad-body-grid {
grid-template-columns: 1fr;
}

.analytics-detail .ad-float-card {
position: static;
}

.analytics-detail .ad-services-grid {
grid-template-columns: 1fr;
}

.analytics-detail .ad-sidebar {
order: -1;
}
}

@media (max-width: 480px) {
.analytics-detail .ad-main-heading {
font-size: 36px;
}

.analytics-detail .ad-meta-row {
gap: 8px;
}

.analytics-detail .ad-title-block {
padding: 48px 12px;
}

.analytics-detail .ad-body-section {
padding: 48px 12px 96px;
}

.analytics-detail .ad-pattern-section {
padding: 48px 12px;
}
}

.analytics-detail .ad-bg-shift {
animation: ad-bg-shift 18s ease-in-out infinite;
background-size: 200% 200%;
}

@keyframes ad-bg-shift {
0% {
background-position: 0% 50%;
}

50% {
background-position: 100% 50%;
}

100% {
background-position: 0% 50%;
}
}

.learning-program {
max-width: 100%;
overflow-x: hidden;
}

.learning-program .page-wrapper {
max-width: 1200px;
margin: 0 auto;
padding: 0 24px;
}

.learning-program .title-block {
padding: 96px 24px 48px;
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 380px;
gap: 48px;
align-items: start;
}

.learning-program .title-text-zone {
position: relative;
}

.learning-program .title-decoration {
width: 48px;
height: 3px;
background: #F42B52;
margin-bottom: 24px;
border-radius: 8px;
}

.learning-program .title-eyebrow {
font-size: 14px;
line-height: 1.55;
color: #144E34;
text-transform: uppercase;
letter-spacing: 0.08em;
margin-bottom: 24px;
display: block;
}

.learning-program .title-heading {
font-size: 48px;
line-height: 1.1;
color: #0f1a14;
margin-bottom: 24px;
font-weight: 800;
}

.learning-program .title-heading em {
font-style: normal;
color: #F42B52;
}

.learning-program .title-subtext {
font-size: 17px;
line-height: 1.75;
color: #2a3a30;
margin-bottom: 24px;
max-width: 520px;
}

.learning-program .title-geo {
font-size: 14px;
line-height: 1.55;
color: #4a5a52;
}

.learning-program .title-geo-dot {
display: inline-block;
width: 6px;
height: 6px;
background: #144E34;
border-radius: 8px;
margin-right: 8px;
vertical-align: middle;
}

.learning-program .title-bg-diamond {
position: absolute;
top: -24px;
left: -48px;
width: 120px;
height: 120px;
background: #E2E6ED;
transform: rotate(45deg);
border-radius: 12px;
z-index: -1;
opacity: 0.5;
}

.learning-program .title-card {
border-radius: 20px;
overflow: hidden;
box-shadow: 1px 6px 22px 1px rgba(244, 43, 82, 0.10);
position: relative;
}

.learning-program .title-card-image {
width: 100%;
height: 320px;
object-fit: cover;
object-position: center top;
display: block;
filter: saturate(0.85);
}

.learning-program .title-card-overlay {
position: absolute;
inset: 0;
background: linear-gradient(197deg, rgba(244, 43, 82, 0.38), transparent 65%);
border-radius: 20px;
}

.learning-program .title-card-label {
position: absolute;
bottom: 24px;
left: 24px;
right: 24px;
font-size: 14px;
line-height: 1.55;
color: #fff;
font-weight: 600;
text-shadow: 0 1px 4px rgba(20, 78, 52, 0.4);
}

.learning-program .title-cta-group {
display: flex;
flex-direction: row;
gap: 12px;
margin-top: 24px;
flex-wrap: wrap;
}

.learning-program .btn-primary {
display: inline-block;
padding: 12px 24px;
background: #F42B52;
color: #fff;
font-size: 15px;
font-weight: 700;
border-radius: 12px;
text-decoration: none;
border: 2px solid #F42B52;
cursor: pointer;
transition: background 0.5s ease-in-out, color 0.5s ease-in-out, transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.learning-program .btn-primary:hover {
background: #c41e3a;
border-color: #c41e3a;
}

.learning-program .btn-primary:active {
transform: scale(0.97);
}

.learning-program .btn-secondary {
display: inline-block;
padding: 12px 24px;
background: transparent;
color: #144E34;
font-size: 15px;
font-weight: 700;
border-radius: 12px;
text-decoration: none;
border: 2px solid #144E34;
cursor: pointer;
transition: background 0.55s ease-in-out, color 0.55s ease-in-out, transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.learning-program .btn-secondary:hover {
background: #144E34;
color: #fff;
}

.learning-program .btn-secondary:active {
transform: scale(0.97);
}

.learning-program .divider-text {
display: flex;
align-items: center;
gap: 24px;
padding: 0 24px;
max-width: 1200px;
margin: 0 auto;
}

.learning-program .divider-text::before,
.learning-program .divider-text::after {
content: '';
flex: 1;
height: 1px;
background: #E2E6ED;
}

.learning-program .divider-text span {
font-size: 14px;
color: #4a5a52;
white-space: nowrap;
text-transform: uppercase;
letter-spacing: 0.1em;
}

.learning-program .magazine-section {
padding: 48px 24px;
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: 2fr 1fr;
gap: 48px;
align-items: start;
}

.learning-program .magazine-main {
display: flex;
flex-direction: column;
gap: 24px;
}

.learning-program .magazine-accent-line {
width: 36px;
height: 3px;
background: #144E34;
border-radius: 8px;
margin-bottom: 8px;
}

.learning-program .magazine-heading {
font-size: 36px;
line-height: 1.1;
color: #0f1a14;
font-weight: 700;
margin-bottom: 12px;
}

.learning-program .magazine-body {
font-size: 17px;
line-height: 1.75;
color: #2a3a30;
}

.learning-program .magazine-body-small {
font-size: 15px;
line-height: 1.75;
color: #3a4a40;
}

.learning-program .feature-strip {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
margin-top: 12px;
}

.learning-program .feature-item {
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
padding: 24px 12px;
background: #fff;
border-radius: 20px;
box-shadow: 1px 2px 5px 1px rgba(244, 43, 82, 0.06);
text-align: center;
transition: box-shadow 0.5s ease-in-out, transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.learning-program .feature-item:hover {
box-shadow: 1px 6px 22px 1px rgba(244, 43, 82, 0.10);
transform: translateY(-4px);
}

.learning-program .feature-icon {
width: 40px;
height: 40px;
display: flex;
align-items: center;
justify-content: center;
}

.learning-program .feature-icon svg {
width: 32px;
height: 32px;
}

.learning-program .feature-label {
font-size: 14px;
line-height: 1.55;
color: #0f1a14;
font-weight: 600;
}

.learning-program .magazine-sidebar {
display: flex;
flex-direction: column;
gap: 24px;
}

.learning-program .sidebar-card {
background: #144E34;
border-radius: 20px;
padding: 24px;
color: #fff;
box-shadow: 1px 6px 22px 1px rgba(20, 78, 52, 0.10);
}

.learning-program .sidebar-card-accent {
width: 28px;
height: 3px;
background: #F42B52;
border-radius: 8px;
margin-bottom: 12px;
}

.learning-program .sidebar-card-heading {
font-size: 20px;
line-height: 1.3;
font-weight: 700;
margin-bottom: 12px;
color: #fff;
}

.learning-program .sidebar-card-text {
font-size: 15px;
line-height: 1.75;
color: #b8d4c4;
}

.learning-program .sidebar-stat-list {
display: flex;
flex-direction: column;
gap: 12px;
margin-top: 12px;
}

.learning-program .sidebar-stat {
display: flex;
flex-direction: column;
gap: 4px;
padding-bottom: 12px;
border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.learning-program .sidebar-stat:last-child {
border-bottom: none;
padding-bottom: 0;
}

.learning-program .sidebar-stat-value {
font-size: 36px;
line-height: 1.1;
font-weight: 800;
color: #fff;
}

.learning-program .sidebar-stat-label {
font-size: 14px;
line-height: 1.55;
color: #8ab89e;
}

.learning-program .alternating-section {
background: #E2E6ED;
padding: 96px 24px;
}

.learning-program .alternating-inner {
max-width: 1200px;
margin: 0 auto;
}

.learning-program .alternating-heading-block {
text-align: center;
margin-bottom: 48px;
}

.learning-program .alternating-eyebrow {
font-size: 14px;
line-height: 1.55;
color: #144E34;
text-transform: uppercase;
letter-spacing: 0.08em;
display: block;
margin-bottom: 12px;
}

.learning-program .alternating-heading {
font-size: 36px;
line-height: 1.1;
color: #0f1a14;
font-weight: 700;
}

.learning-program .alternating-list {
display: flex;
flex-direction: column;
gap: 48px;
}

.learning-program .alt-item {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: center;
background: #fff;
border-radius: 32px;
padding: 48px;
box-shadow: 1px 2px 5px 1px rgba(20, 78, 52, 0.06);
opacity: 0;
transform: translateY(32px);
transition: opacity 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.learning-program .alt-item.visible {
opacity: 1;
transform: translateY(0);
}

.learning-program .alt-item.right .alt-text {
order: 2;
}

.learning-program .alt-item.right .alt-visual {
order: 1;
}

.learning-program .alt-text {
display: flex;
flex-direction: column;
gap: 12px;
}

.learning-program .alt-accent-line {
width: 28px;
height: 3px;
background: #F42B52;
border-radius: 8px;
}

.learning-program .alt-heading {
font-size: 20px;
line-height: 1.3;
font-weight: 700;
color: #0f1a14;
}

.learning-program .alt-body {
font-size: 15px;
line-height: 1.75;
color: #3a4a40;
}

.learning-program .alt-visual {
border-radius: 20px;
overflow: hidden;
position: relative;
}

.learning-program .alt-visual img {
width: 100%;
height: 260px;
object-fit: cover;
object-position: center;
display: block;
border-radius: 20px;
transition: transform 0.65s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.learning-program .alt-visual:hover img {
transform: scale(1.03);
}

.learning-program .alt-visual-overlay {
position: absolute;
inset: 0;
background: linear-gradient(197deg, rgba(20, 78, 52, 0.25), transparent 60%);
border-radius: 20px;
pointer-events: none;
}

.learning-program .alt-number {
display: inline-flex;
align-items: center;
justify-content: center;
width: 36px;
height: 36px;
background: #F42B52;
color: #fff;
font-size: 15px;
font-weight: 800;
border-radius: 12px;
}

.learning-program .faq-section {
padding: 96px 24px;
position: relative;
background: #fff;
}

.learning-program .faq-vignette {
position: absolute;
inset: 0;
background: radial-gradient(ellipse 60% 50% at 50% 50%, rgba(226, 230, 237, 0.55) 0%, transparent 70%);
pointer-events: none;
}

.learning-program .faq-inner {
max-width: 1200px;
margin: 0 auto;
position: relative;
}

.learning-program .faq-header {
text-align: center;
margin-bottom: 48px;
}

.learning-program .faq-header-accent {
width: 36px;
height: 3px;
background: #144E34;
border-radius: 8px;
margin: 0 auto 12px;
}

.learning-program .faq-heading {
font-size: 36px;
line-height: 1.1;
font-weight: 700;
color: #0f1a14;
margin-bottom: 12px;
}

.learning-program .faq-subheading {
font-size: 17px;
line-height: 1.75;
color: #3a4a40;
max-width: 560px;
margin: 0 auto;
text-align: left;
}

.learning-program .faq-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
}

.learning-program .faq-item {
background: #fff;
border-radius: 20px;
box-shadow: 1px 2px 5px 1px rgba(20, 78, 52, 0.06);
overflow: hidden;
}

.learning-program .faq-question {
width: 100%;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
gap: 12px;
padding: 24px;
background: none;
border: none;
cursor: pointer;
text-align: left;
font-size: 15px;
line-height: 1.55;
font-weight: 700;
color: #0f1a14;
transition: color 0.5s ease-in-out;
}

.learning-program .faq-question:hover {
color: #144E34;
}

.learning-program .faq-question:focus {
outline: 2px solid #144E34;
outline-offset: -2px;
}

.learning-program .faq-toggle {
flex-shrink: 0;
width: 24px;
height: 24px;
border-radius: 8px;
background: #E2E6ED;
display: flex;
align-items: center;
justify-content: center;
transition: background 0.5s ease-in-out, transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.learning-program .faq-question[aria-expanded="true"] .faq-toggle {
background: #144E34;
transform: rotate(45deg);
}

.learning-program .faq-toggle svg {
width: 14px;
height: 14px;
}

.learning-program .faq-question[aria-expanded="true"] .faq-toggle svg path {
stroke: #fff;
}

.learning-program .faq-answer {
display: none;
padding: 0 24px 24px;
font-size: 15px;
line-height: 1.75;
color: #3a4a40;
}

.learning-program .faq-answer.open {
display: block;
}

.learning-program .faq-bottom-cta {
margin-top: 48px;
text-align: center;
display: flex;
flex-direction: column;
align-items: center;
gap: 12px;
}

.learning-program .faq-bottom-text {
font-size: 17px;
line-height: 1.55;
color: #2a3a30;
}

.learning-program .reveal-load {
opacity: 0;
transform: translateY(24px);
transition: opacity 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.learning-program .reveal-load.loaded {
opacity: 1;
transform: translateY(0);
}

.learning-program .delay-1 {
transition-delay: 0.1s;
}

.learning-program .delay-2 {
transition-delay: 0.22s;
}

.learning-program .delay-3 {
transition-delay: 0.36s;
}

.learning-program .delay-4 {
transition-delay: 0.5s;
}

@media (max-width: 1280px) {
.learning-program .title-block {
grid-template-columns: 1fr 320px;
}
}

@media (max-width: 768px) {
.learning-program .title-block {
grid-template-columns: 1fr;
padding: 48px 24px 24px;
gap: 24px;
}

.learning-program .title-heading {
font-size: 36px;
}

.learning-program .title-card-image {
height: 220px;
}

.learning-program .magazine-section {
grid-template-columns: 1fr;
gap: 24px;
}

.learning-program .feature-strip {
grid-template-columns: 1fr 1fr;
}

.learning-program .alt-item {
grid-template-columns: 1fr;
gap: 24px;
padding: 24px;
}

.learning-program .alt-item.right .alt-text {
order: 0;
}

.learning-program .alt-item.right .alt-visual {
order: 0;
}

.learning-program .faq-grid {
grid-template-columns: 1fr;
}

.learning-program .alternating-section {
padding: 48px 24px;
}

.learning-program .faq-section {
padding: 48px 24px;
}
}

@media (max-width: 480px) {
.learning-program .title-heading {
font-size: 36px;
}

.learning-program .feature-strip {
grid-template-columns: 1fr;
}

.learning-program .title-cta-group {
flex-direction: column;
}

.learning-program .magazine-heading {
font-size: 36px;
}
}

.contact-us-page {
background-color: #fff;
overflow-x: clip;
}

.contact-us-page .reach-strip {
background: linear-gradient(197deg, #E2E6ED, transparent);
padding: 96px 24px 48px;
position: relative;
}

.contact-us-page .reach-strip::before {
content: "";
position: absolute;
inset: 0;
background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23144E34' fill-opacity='0.04'%3E%3Ccircle cx='30' cy='30' r='2'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
pointer-events: none;
}

.contact-us-page .reach-inner {
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: 5fr 3fr;
gap: 48px;
align-items: start;
position: relative;
}

.contact-us-page .reach-text-zone {
padding: 48px 48px 48px 0;
}

.contact-us-page .reach-accent-line {
display: block;
width: 36px;
height: 3px;
background: #F42B52;
margin-bottom: 24px;
border-radius: 8px;
}

.contact-us-page .reach-heading {
font-size: 48px;
line-height: 1.1;
color: #111;
margin: 0 0 24px;
font-weight: 800;
}

.contact-us-page .reach-heading .num-accent {
color: #F42B52;
}

.contact-us-page .reach-subtext {
font-size: 17px;
line-height: 1.55;
color: #2a2a2a;
margin: 0 0 24px;
}

.contact-us-page .reach-image-zone {
position: relative;
padding: 24px 0;
}

.contact-us-page .reach-image-frame {
border-radius: 20px;
overflow: hidden;
box-shadow: 1px 12px 40px 1px rgba(20, 78, 52, 0.14);
}

.contact-us-page .reach-image-frame img {
width: 100%;
height: 320px;
object-fit: cover;
object-position: center top;
display: block;
filter: brightness(0.88);
transition: filter 0.55s ease-in-out;
}

.contact-us-page .reach-image-frame img:hover {
filter: brightness(1.05);
}

.contact-us-page .reach-deco-ring {
position: absolute;
top: 8px;
right: -12px;
width: 72px;
height: 72px;
border-radius: 48px;
background: #F42B52;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 1px 6px 22px 1px rgba(244, 43, 82, 0.10);
outline: 3px solid #fff;
outline-offset: 2px;
pointer-events: none;
}

.contact-us-page .reach-deco-ring svg {
width: 32px;
height: 32px;
fill: #fff;
}

.contact-us-page .info-strip {
display: flex;
flex-direction: row;
gap: 24px;
margin-top: 24px;
flex-wrap: wrap;
}

.contact-us-page .info-item {
display: flex;
flex-direction: column;
gap: 4px;
}

.contact-us-page .info-label {
font-size: 14px;
color: #555;
line-height: 1.3;
text-transform: uppercase;
letter-spacing: 0.04em;
}

.contact-us-page .info-value {
font-size: 15px;
color: #111;
line-height: 1.3;
font-weight: 600;
text-decoration: none;
transition: color 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.contact-us-page .info-value:hover {
color: #F42B52;
}

.contact-us-page .form-band {
background: #fff;
padding: 96px 24px;
border-top: 1px solid #E2E6ED;
border-bottom: 1px solid #E2E6ED;
}

.contact-us-page .form-band-inner {
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: 2fr 3fr;
gap: 96px;
align-items: start;
}

.contact-us-page .form-meta {
position: sticky;
top: 24px;
}

.contact-us-page .form-meta-accent {
display: block;
width: 36px;
height: 3px;
background: #144E34;
margin-bottom: 24px;
border-radius: 8px;
}

.contact-us-page .form-meta-heading {
font-size: 36px;
line-height: 1.1;
color: #111;
margin: 0 0 24px;
font-weight: 700;
}

.contact-us-page .form-meta-body {
font-size: 15px;
line-height: 1.55;
color: #333;
margin: 0 0 24px;
}

.contact-us-page .feature-strip {
display: flex;
flex-direction: column;
gap: 24px;
margin-top: 12px;
}

.contact-us-page .feature-icon-row {
display: flex;
flex-direction: row;
gap: 12px;
align-items: flex-start;
}

.contact-us-page .feature-icon-circle {
width: 40px;
height: 40px;
min-width: 40px;
border-radius: 12px;
background: #144E34;
display: flex;
align-items: center;
justify-content: center;
outline: 2px solid #E2E6ED;
outline-offset: 2px;
}

.contact-us-page .feature-icon-circle svg {
width: 20px;
height: 20px;
fill: #fff;
}

.contact-us-page .feature-text-label {
font-size: 14px;
font-weight: 700;
color: #111;
line-height: 1.3;
margin-bottom: 4px;
}

.contact-us-page .feature-text-desc {
font-size: 14px;
color: #555;
line-height: 1.55;
margin: 0;
}

.contact-us-page .contact-form {
background: #fff;
border: 1px solid #E2E6ED;
border-radius: 20px;
padding: 48px;
box-shadow: 1px 6px 22px 1px rgba(20, 78, 52, 0.10);
}

.contact-us-page .form-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
margin-bottom: 24px;
}

.contact-us-page .form-field {
display: flex;
flex-direction: column;
gap: 8px;
}

.contact-us-page .form-field.full {
grid-column: 1 / -1;
}

.contact-us-page .field-label {
font-size: 14px;
font-weight: 600;
color: #222;
line-height: 1.3;
}

.contact-us-page .field-input {
padding: 12px 16px;
border: 1px solid #ccc;
border-radius: 12px;
font-size: 15px;
color: #111;
background: #fff;
box-shadow: inset 1px 2px 4px rgba(20, 78, 52, 0.06);
transition: border-color 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
outline: none;
appearance: none;
-webkit-appearance: none;
}

.contact-us-page .field-input::placeholder {
color: #999;
text-transform: uppercase;
font-size: 13px;
}

.contact-us-page .field-input:focus {
border-color: #144E34;
box-shadow: inset 1px 2px 4px rgba(20, 78, 52, 0.08), 0 0 0 3px rgba(20, 78, 52, 0.08);
}

.contact-us-page .field-select {
padding: 12px 16px;
border: 1px solid #ccc;
border-radius: 12px;
font-size: 15px;
color: #111;
background: #fff;
box-shadow: inset 1px 2px 4px rgba(20, 78, 52, 0.06);
transition: border-color 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
outline: none;
appearance: none;
-webkit-appearance: none;
background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 6l4 4 4-4' stroke='%23555' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 16px center;
padding-right: 48px;
}

.contact-us-page .field-select:focus {
border-color: #144E34;
box-shadow: inset 1px 2px 4px rgba(20, 78, 52, 0.08), 0 0 0 3px rgba(20, 78, 52, 0.08);
}

.contact-us-page .privacy-row {
display: flex;
flex-direction: row;
gap: 12px;
align-items: flex-start;
margin-bottom: 24px;
margin-top: 8px;
}

.contact-us-page .privacy-checkbox {
width: 18px;
height: 18px;
min-width: 18px;
margin-top: 2px;
accent-color: #144E34;
cursor: pointer;
}

.contact-us-page .privacy-text {
font-size: 14px;
color: #444;
line-height: 1.55;
}

.contact-us-page .privacy-text a {
color: #144E34;
text-decoration: underline;
text-decoration-color: rgba(20, 78, 52, 0.4);
transition: color 0.5s ease-in-out;
}

.contact-us-page .privacy-text a:hover {
color: #F42B52;
}

.contact-us-page .submit-btn {
display: inline-flex;
align-items: center;
gap: 8px;
background: #144E34;
color: #fff;
border: none;
border-radius: 12px;
padding: 16px 48px;
font-size: 17px;
font-weight: 700;
cursor: pointer;
box-shadow: 1px 6px 22px 1px rgba(20, 78, 52, 0.10);
transition: background 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.45s ease-in-out;
type: submit;
}

.contact-us-page .submit-btn:hover {
background: #F42B52;
}

.contact-us-page .submit-btn:active {
transform: scale(0.97);
}

.contact-us-page .submit-btn:focus-visible {
outline: 3px solid #144E34;
outline-offset: 3px;
}

.contact-us-page .details-band {
background: linear-gradient(197deg, #144E34 60%, #0d3522);
padding: 96px 24px;
position: relative;
overflow: hidden;
}

.contact-us-page .details-band::before {
content: "";
position: absolute;
inset: 0;
background-image: url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Ccircle cx='40' cy='40' r='3'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
pointer-events: none;
animation: bg-breathe 10s ease-in-out infinite;
}

@keyframes bg-breathe {

0%,
100% {
background-size: 80px 80px;
}

50% {
background-size: 90px 90px;
}
}

.contact-us-page .details-band-inner {
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 48px;
position: relative;
}

.contact-us-page .detail-card {
background: rgba(255, 255, 255, 0.06);
border: 1px solid rgba(255, 255, 255, 0.12);
border-radius: 20px;
padding: 48px 24px;
text-align: center;
transition: background 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.contact-us-page .detail-card:hover {
background: rgba(255, 255, 255, 0.10);
}

.contact-us-page .detail-card-icon {
width: 56px;
height: 56px;
border-radius: 32px;
background: #F42B52;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 24px;
outline: 3px solid rgba(255, 255, 255, 0.2);
outline-offset: 3px;
box-shadow: 1px 6px 22px 1px rgba(244, 43, 82, 0.14);
}

.contact-us-page .detail-card-icon svg {
width: 26px;
height: 26px;
fill: #fff;
}

.contact-us-page .detail-card-label {
font-size: 14px;
color: rgba(255, 255, 255, 0.6);
text-transform: uppercase;
letter-spacing: 0.06em;
margin-bottom: 8px;
line-height: 1.3;
}

.contact-us-page .detail-card-value {
font-size: 17px;
color: #fff;
font-weight: 600;
line-height: 1.55;
text-decoration: none;
transition: color 0.5s ease-in-out;
display: block;
}

.contact-us-page .detail-card-value:hover {
color: #F42B52;
}

.contact-us-page .detail-card-note {
font-size: 14px;
color: rgba(255, 255, 255, 0.5);
line-height: 1.55;
margin-top: 8px;
}

.contact-us-page .details-band-heading {
font-size: 36px;
line-height: 1.1;
color: #fff;
font-weight: 700;
text-align: center;
margin: 0 0 48px;
grid-column: 1 / -1;
}

.contact-us-page .details-band-heading .accent-dot {
display: inline-block;
width: 8px;
height: 8px;
background: #F42B52;
border-radius: 48px;
margin-left: 4px;
vertical-align: middle;
margin-bottom: 6px;
}

.contact-us-page .dashed-path-deco {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
overflow: hidden;
}

.contact-us-page .dashed-path-deco svg {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
opacity: 0.12;
}

@media (max-width: 1280px) {
.contact-us-page .reach-inner {
grid-template-columns: 1fr 1fr;
gap: 48px;
}

.contact-us-page .form-band-inner {
gap: 48px;
}
}

@media (max-width: 768px) {
.contact-us-page .reach-inner {
grid-template-columns: 1fr;
gap: 24px;
}

.contact-us-page .reach-text-zone {
padding: 24px 0;
}

.contact-us-page .reach-heading {
font-size: 36px;
}

.contact-us-page .form-band-inner {
grid-template-columns: 1fr;
gap: 48px;
}

.contact-us-page .form-meta {
position: static;
}

.contact-us-page .form-row {
grid-template-columns: 1fr;
}

.contact-us-page .contact-form {
padding: 24px;
}

.contact-us-page .details-band-inner {
grid-template-columns: 1fr;
gap: 24px;
}

.contact-us-page .details-band-heading {
grid-column: 1;
}
}

@media (max-width: 480px) {
.contact-us-page .reach-strip {
padding: 48px 24px 24px;
}

.contact-us-page .reach-heading {
font-size: 36px;
}

.contact-us-page .form-band {
padding: 48px 24px;
}

.contact-us-page .details-band {
padding: 48px 24px;
}

.contact-us-page .info-strip {
flex-direction: column;
gap: 12px;
}

.contact-us-page .submit-btn {
width: 100%;
justify-content: center;
}
}

.about-us-page {
max-width: 100%;
overflow-x: hidden;
}

.about-us-page .page-limiter {
max-width: 1200px;
margin: 0 auto;
padding: 0 24px;
}

.about-us-page .top-block {
background: #144E34;
padding: 96px 24px 48px;
position: relative;
}

.about-us-page .top-block-inner {
max-width: 1200px;
margin: 0 auto;
display: flex;
flex-direction: row;
align-items: flex-end;
gap: 48px;
}

.about-us-page .top-block-text {
flex: 1 1 55%;
}

.about-us-page .top-block-visual {
flex: 0 0 38%;
position: relative;
}

.about-us-page .top-label {
display: inline-block;
font-size: 14px;
line-height: 1.3;
color: #E2E6ED;
letter-spacing: 0.08em;
text-transform: uppercase;
margin-bottom: 24px;
}

.about-us-page .top-label-dot {
display: inline-block;
width: 7px;
height: 7px;
border-radius: 50%;
background: #F42B52;
margin-left: 4px;
vertical-align: middle;
position: relative;
top: -1px;
}

.about-us-page .top-heading {
font-size: 48px;
line-height: 1.1;
color: #ffffff;
margin: 0 0 24px;
font-weight: 700;
}

.about-us-page .top-sub {
font-size: 17px;
line-height: 1.55;
color: #E2E6ED;
margin: 0 0 12px;
}

.about-us-page .top-thesis {
font-size: 15px;
line-height: 1.55;
color: #b8c4bc;
margin: 0 0 8px;
}

.about-us-page .top-image-wrap {
width: 100%;
aspect-ratio: 1 / 1;
border-radius: 12px;
overflow: hidden;
box-shadow: 1px 12px 40px 1px rgba(20, 78, 52, 0.14);
}

.about-us-page .top-image-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center top;
display: block;
}

.about-us-page .dots-group {
position: absolute;
bottom: -24px;
right: -12px;
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 8px;
width: 72px;
pointer-events: none;
}

.about-us-page .dot-sm {
width: 6px;
height: 6px;
border-radius: 50%;
background: #F42B52;
opacity: 0.5;
}

.about-us-page .dot-md {
width: 10px;
height: 10px;
border-radius: 50%;
background: #E2E6ED;
opacity: 0.4;
}

.about-us-page .dot-lg {
width: 14px;
height: 14px;
border-radius: 50%;
background: #F42B52;
opacity: 0.25;
}

.about-us-page .story-block {
background: #ffffff;
background-image: linear-gradient(197deg, #E2E6ED 0%, transparent 60%);
padding: 96px 24px;
position: relative;
}

.about-us-page .story-inner {
max-width: 1200px;
margin: 0 auto;
display: flex;
flex-direction: row;
gap: 48px;
align-items: flex-start;
}

.about-us-page .story-images {
flex: 0 0 45%;
display: flex;
flex-direction: column;
gap: 24px;
}

.about-us-page .story-img-primary {
width: 100%;
aspect-ratio: 1 / 1;
border-radius: 20px;
overflow: hidden;
box-shadow: 1px 6px 22px 1px rgba(20, 78, 52, 0.10);
}

.about-us-page .story-img-primary img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform 0.55s ease-in-out;
}

.about-us-page .story-img-primary:hover img {
transform: scale(1.04);
}

.about-us-page .story-img-row {
display: flex;
flex-direction: row;
gap: 24px;
}

.about-us-page .story-img-half {
flex: 1 1 50%;
aspect-ratio: 1 / 1;
border-radius: 12px;
overflow: hidden;
box-shadow: 1px 2px 5px 1px rgba(20, 78, 52, 0.06);
}

.about-us-page .story-img-half img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform 0.60s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.about-us-page .story-img-half:hover img {
transform: scale(1.05);
}

.about-us-page .story-text {
flex: 1 1 50%;
padding-top: 12px;
}

.about-us-page .block-accent-line {
display: block;
width: 36px;
height: 3px;
background: #F42B52;
border-radius: 8px;
margin-bottom: 12px;
}

.about-us-page .story-heading {
font-size: 36px;
line-height: 1.1;
color: #0d1f18;
margin: 0 0 24px;
font-weight: 700;
text-align: center;
}

.about-us-page .story-body {
font-size: 15px;
line-height: 1.75;
color: #1e2d27;
margin: 0 0 24px;
text-align: left;
}

.about-us-page .story-metrics {
display: flex;
flex-direction: row;
gap: 24px;
margin-top: 24px;
}

.about-us-page .metric-item {
flex: 1 1 auto;
background: #144E34;
border-radius: 12px;
padding: 24px 12px;
text-align: center;
box-shadow: 1px 6px 22px 1px rgba(20, 78, 52, 0.10);
transition: box-shadow 0.50s ease-in-out, transform 0.50s ease-in-out;
}

.about-us-page .metric-item:hover {
box-shadow: 1px 12px 40px 1px rgba(20, 78, 52, 0.14);
transform: translateY(-3px);
}

.about-us-page .metric-number {
font-size: 36px;
line-height: 1.1;
color: #ffffff;
font-weight: 700;
display: block;
}

.about-us-page .metric-label {
font-size: 14px;
line-height: 1.3;
color: #E2E6ED;
display: block;
margin-top: 4px;
}

.about-us-page .team-block {
background: #0d1f18;
padding: 96px 24px;
position: relative;
overflow: hidden;
}

.about-us-page .team-block-pattern {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
opacity: 0.04;
background-image: repeating-linear-gradient(135deg,
transparent,
transparent 18px,
#E2E6ED 18px,
#E2E6ED 20px);
animation: patternDrift 18s linear infinite;
}

@keyframes patternDrift {
0% {
background-position: 0 0;
}

100% {
background-position: 0 -120px;
}
}

.about-us-page .team-inner {
max-width: 1200px;
margin: 0 auto;
position: relative;
}

.about-us-page .team-header {
text-align: center;
margin-bottom: 48px;
}

.about-us-page .team-heading {
font-size: 36px;
line-height: 1.1;
color: #ffffff;
margin: 0 0 12px;
font-weight: 700;
}

.about-us-page .team-sub {
font-size: 17px;
line-height: 1.55;
color: #b8c4bc;
max-width: 560px;
margin: 0 auto;
text-align: left;
}

.about-us-page .team-grid {
display: flex;
flex-direction: row;
gap: 24px;
}

.about-us-page .team-card {
flex: 1 1 0;
background: #144E34;
border-radius: 20px;
overflow: hidden;
box-shadow: 1px 6px 22px 1px rgba(244, 43, 82, 0.10);
transition: box-shadow 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.about-us-page .team-card:hover {
box-shadow: 1px 12px 40px 1px rgba(244, 43, 82, 0.14);
transform: translateY(-4px);
}

.about-us-page .team-card-img {
width: 100%;
aspect-ratio: 1 / 1;
overflow: hidden;
}

.about-us-page .team-card-img img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center top;
display: block;
transition: transform 0.60s ease-in-out;
}

.about-us-page .team-card:hover .team-card-img img {
transform: scale(1.04);
}

.about-us-page .team-card-body {
padding: 24px;
}

.about-us-page .team-card-name {
font-size: 20px;
line-height: 1.3;
color: #ffffff;
font-weight: 700;
margin: 0 0 4px;
}

.about-us-page .team-card-role {
font-size: 14px;
line-height: 1.3;
color: #F42B52;
font-weight: 600;
margin: 0 0 12px;
text-transform: uppercase;
}

.about-us-page .team-card-desc {
font-size: 15px;
line-height: 1.55;
color: #b8c4bc;
margin: 0;
}

.about-us-page .team-dots {
position: absolute;
top: 24px;
right: 0;
display: flex;
flex-direction: column;
gap: 8px;
pointer-events: none;
}

.about-us-page .accent-line-wrap {
display: flex;
flex-direction: row;
justify-content: center;
margin-bottom: 12px;
}

@media (max-width: 1280px) {
.about-us-page .top-heading {
font-size: 48px;
}
}

@media (max-width: 768px) {
.about-us-page .top-block-inner {
flex-direction: column;
gap: 48px;
}

.about-us-page .top-block-visual {
flex: 0 0 auto;
width: 100%;
}

.about-us-page .top-heading {
font-size: 36px;
}

.about-us-page .story-inner {
flex-direction: column;
}

.about-us-page .story-images {
flex: 0 0 auto;
width: 100%;
}

.about-us-page .team-grid {
flex-direction: column;
}

.about-us-page .story-metrics {
flex-direction: column;
}
}

@media (max-width: 480px) {
.about-us-page .top-block {
padding: 48px 24px 48px;
}

.about-us-page .top-heading {
font-size: 36px;
}

.about-us-page .story-img-row {
flex-direction: column;
}

.about-us-page .team-sub {
text-align: center;
}
}

.analytics-page {
max-width: 100%;
overflow-x: hidden;
}

.analytics-page *,
.analytics-page *::before,
.analytics-page *::after {
box-sizing: border-box;
}

.analytics-page ::selection {
background: #d0d5dd;
color: #111;
}

@keyframes text-sweep {
0% {
background-position: -200% center;
}

100% {
background-position: 200% center;
}
}

.analytics-page .sweep-heading {
background: linear-gradient(197deg, #E2E6ED, transparent 40%, #F42B52 60%, #144E34);
background-size: 200% auto;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
animation: text-sweep 1.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

.analytics-page .page-banner {
display: flex;
flex-direction: row;
align-items: stretch;
max-width: 1200px;
margin: 0 auto;
padding: 96px 48px 48px;
gap: 48px;
}

.analytics-page .banner-image-col {
flex: 0 0 280px;
position: relative;
}

.analytics-page .banner-image-col::after {
content: '';
position: absolute;
top: 12px;
left: 12px;
right: -12px;
bottom: -12px;
border: 2px solid #F42B52;
border-radius: 20px;
z-index: 0;
pointer-events: none;
}

.analytics-page .banner-image-col::before {
content: '';
position: absolute;
top: 6px;
left: 6px;
right: -6px;
bottom: -6px;
border: 2px solid #E2E6ED;
border-radius: 20px;
z-index: 0;
pointer-events: none;
}

.analytics-page .banner-img-wrap {
position: relative;
z-index: 1;
border-radius: 20px;
overflow: hidden;
width: 100%;
height: 340px;
}

.analytics-page .banner-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center top;
display: block;
}

.analytics-page .banner-text-col {
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
gap: 24px;
padding-top: 24px;
border-top: 3px solid #F42B52;
}

.analytics-page .banner-label {
font-size: 14px;
line-height: 1.3;
color: #144E34;
letter-spacing: 0.08em;
text-transform: uppercase;
}

.analytics-page .banner-heading {
font-size: 48px;
line-height: 1.1;
color: #111;
margin: 0;
}

.analytics-page .banner-desc {
font-size: 17px;
line-height: 1.55;
color: #333;
max-width: 520px;
margin: 0;
}

.analytics-page .posts-area {
background: #f4f5f7;
padding: 96px 48px;
}

.analytics-page .posts-inner {
max-width: 1200px;
margin: 0 auto;
}

.analytics-page .area-heading-wrap {
margin-bottom: 48px;
}

.analytics-page .area-heading-wrap h2 {
font-size: 36px;
line-height: 1.1;
color: #111;
margin: 0 0 8px;
}

.analytics-page .area-heading-wrap p {
font-size: 15px;
line-height: 1.55;
color: #444;
margin: 0;
}

.analytics-page .posts-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
}

.analytics-page .post-card {
background: #fff;
border-radius: 12px;
overflow: hidden;
box-shadow: 1px 2px 5px 1px rgba(20, 78, 52, 0.06);
transition: box-shadow 0.55s ease-in-out, transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
display: flex;
flex-direction: column;
}

.analytics-page .post-card:hover {
box-shadow: 1px 12px 40px 1px rgba(20, 78, 52, 0.14);
transform: translateY(-4px);
}

.analytics-page .post-card-img-wrap {
width: 100%;
height: 180px;
overflow: hidden;
flex-shrink: 0;
}

.analytics-page .post-card-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform 0.6s ease-in-out;
}

.analytics-page .post-card:hover .post-card-img-wrap img {
transform: scale(1.04);
}

.analytics-page .post-card-body {
padding: 24px;
display: flex;
flex-direction: column;
gap: 12px;
flex: 1;
}

.analytics-page .post-meta {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
flex-wrap: wrap;
}

.analytics-page .post-meta-item {
font-size: 14px;
line-height: 1.3;
color: #555;
}

.analytics-page .post-meta-dot {
width: 5px;
height: 5px;
border-radius: 48px;
background: #F42B52;
flex-shrink: 0;
}

.analytics-page .post-card-title {
font-size: 17px;
line-height: 1.3;
color: #111;
margin: 0;
font-weight: 700;
}

.analytics-page .post-card-subtitle {
font-size: 14px;
line-height: 1.55;
color: #144E34;
margin: 0;
font-weight: 600;
}

.analytics-page .post-card-desc {
font-size: 15px;
line-height: 1.55;
color: #444;
margin: 0;
}

.analytics-page .post-card-footer {
margin-top: auto;
padding-top: 12px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
gap: 12px;
}

.analytics-page .post-author {
font-size: 14px;
line-height: 1.3;
color: #333;
}

.analytics-page .post-read-link {
font-size: 14px;
line-height: 1.3;
color: #F42B52;
text-decoration: none;
font-weight: 600;
background: linear-gradient(197deg, #E2E6ED, transparent);
background-size: 100% 2px;
background-repeat: no-repeat;
background-position: bottom;
padding-bottom: 2px;
transition: color 0.5s ease-in-out, background-color 0.5s ease-in-out;
}

.analytics-page .post-read-link:hover {
color: #144E34;
}

.analytics-page .post-card.featured {
grid-column: span 2;
flex-direction: row;
}

.analytics-page .post-card.featured .post-card-img-wrap {
width: 260px;
height: auto;
flex-shrink: 0;
}

.analytics-page .post-card.featured .post-card-body {
flex: 1;
}

.analytics-page .post-card.featured .post-card-title {
font-size: 20px;
}

.analytics-page .metrics-band {
background: #144E34;
padding: 48px;
}

.analytics-page .metrics-inner {
max-width: 1200px;
margin: 0 auto;
display: flex;
flex-direction: row;
gap: 48px;
align-items: center;
}

.analytics-page .metrics-text {
flex: 1;
}

.analytics-page .metrics-text h2 {
font-size: 36px;
line-height: 1.1;
color: #fff;
margin: 0 0 12px;
}

.analytics-page .metrics-text p {
font-size: 15px;
line-height: 1.55;
color: #c8d8cf;
margin: 0;
max-width: 400px;
}

.analytics-page .metrics-grid {
flex: 1;
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 24px;
}

.analytics-page .metric-item {
background: rgba(242, 43, 82, 0.12);
border-radius: 12px;
padding: 24px;
border: 1px solid rgba(242, 43, 82, 0.2);
}

.analytics-page .metric-number {
font-size: 36px;
line-height: 1.1;
color: #F42B52;
font-weight: 800;
display: block;
}

.analytics-page .metric-label {
font-size: 14px;
line-height: 1.3;
color: #c8d8cf;
margin-top: 4px;
display: block;
}

.analytics-page .newsletter-strip {
padding: 96px 48px;
max-width: 1200px;
margin: 0 auto;
display: flex;
flex-direction: row;
gap: 96px;
align-items: flex-start;
}

.analytics-page .newsletter-left {
flex: 1;
}

.analytics-page .newsletter-left h2 {
font-size: 36px;
line-height: 1.1;
color: #111;
margin: 0 0 12px;
padding-top: 12px;
border-top: 3px solid #144E34;
}

.analytics-page .newsletter-left p {
font-size: 15px;
line-height: 1.55;
color: #444;
margin: 0;
}

.analytics-page .newsletter-right {
flex: 1;
}

.analytics-page .newsletter-form {
display: flex;
flex-direction: column;
gap: 12px;
}

.analytics-page .newsletter-form input[type="email"] {
width: 100%;
padding: 12px 24px;
border: 1px solid #E2E6ED;
border-radius: 8px;
font-size: 15px;
line-height: 1.55;
color: #111;
background: #fff;
box-shadow: inset 1px 2px 4px rgba(20, 78, 52, 0.06);
transition: border-color 0.5s ease-in-out, box-shadow 0.5s ease-in-out;
outline: none;
text-transform: uppercase;
}

.analytics-page .newsletter-form input[type="email"]::placeholder {
color: #888;
font-size: 13px;
text-transform: uppercase;
}

.analytics-page .newsletter-form input[type="email"]:focus {
border-color: #144E34;
box-shadow: inset 1px 2px 4px rgba(20, 78, 52, 0.10);
}

.analytics-page .newsletter-form button {
padding: 12px 24px;
background: #F42B52;
color: #fff;
border: none;
border-radius: 8px;
font-size: 15px;
line-height: 1.3;
font-weight: 700;
cursor: pointer;
transition: background 0.55s ease-in-out, transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
align-self: flex-start;
}

.analytics-page .newsletter-form button:hover {
background: #c4163c;
}

.analytics-page .newsletter-form button:active {
transform: scale(0.97);
}

.analytics-page .newsletter-form button:focus {
outline: 2px solid #144E34;
outline-offset: 3px;
}

.analytics-page .newsletter-note {
font-size: 14px;
line-height: 1.3;
color: #666;
margin: 0;
}

@media (max-width: 1280px) {
.analytics-page .posts-grid {
grid-template-columns: repeat(2, 1fr);
}

.analytics-page .post-card.featured {
grid-column: span 2;
}
}

@media (max-width: 768px) {
.analytics-page .page-banner {
flex-direction: column;
padding: 48px 24px 24px;
gap: 24px;
}

.analytics-page .banner-image-col {
flex: none;
}

.analytics-page .banner-img-wrap {
height: 220px;
}

.analytics-page .banner-heading {
font-size: 36px;
}

.analytics-page .posts-area {
padding: 48px 24px;
}

.analytics-page .posts-grid {
grid-template-columns: 1fr;
}

.analytics-page .post-card.featured {
grid-column: span 1;
flex-direction: column;
}

.analytics-page .post-card.featured .post-card-img-wrap {
width: 100%;
height: 180px;
}

.analytics-page .metrics-band {
padding: 48px 24px;
}

.analytics-page .metrics-inner {
flex-direction: column;
gap: 24px;
}

.analytics-page .metrics-grid {
width: 100%;
}

.analytics-page .newsletter-strip {
flex-direction: column;
padding: 48px 24px;
gap: 24px;
}
}

@media (max-width: 480px) {
.analytics-page .banner-heading {
font-size: 36px;
}

.analytics-page .metrics-grid {
grid-template-columns: 1fr;
}

.analytics-page .post-card-footer {
flex-direction: column;
align-items: flex-start;
}
}

.entry-page {
max-width: 100%;
overflow-x: hidden;
}

.entry-page .entry-container {
max-width: 1200px;
margin: 0 auto;
padding: 0 24px;
}

.entry-page .title-block {
background: #0d2e1e;
position: relative;
overflow: hidden;
}

.entry-page .title-block-aurora {
position: absolute;
inset: 0;
pointer-events: none;
z-index: 0;
}

.entry-page .title-block-aurora::before {
content: "";
position: absolute;
width: 60%;
height: 70%;
top: -10%;
left: -5%;
background: radial-gradient(ellipse at 30% 40%, rgba(20, 78, 52, 0.55) 0%, transparent 70%);
animation: aurora-shift 8s ease-in-out infinite alternate;
}

.entry-page .title-block-aurora::after {
content: "";
position: absolute;
width: 50%;
height: 60%;
bottom: -5%;
right: 5%;
background: radial-gradient(ellipse at 70% 60%, rgba(244, 43, 82, 0.18) 0%, transparent 65%);
animation: aurora-shift 11s ease-in-out infinite alternate-reverse;
}

@keyframes aurora-shift {
0% {
transform: translate(0, 0) scale(1);
opacity: 0.7;
}

100% {
transform: translate(3%, 4%) scale(1.08);
opacity: 1;
}
}

.entry-page .title-block-grid {
display: grid;
grid-template-columns: 1fr 1fr;
min-height: 560px;
position: relative;
z-index: 1;
}

.entry-page .title-text-zone {
padding: 96px 48px 96px 0;
display: flex;
flex-direction: column;
justify-content: center;
}

.entry-page .title-reading-line {
width: 48px;
height: 2px;
background: #F42B52;
margin-bottom: 24px;
}

.entry-page .title-label {
font-size: 14px;
color: rgba(226, 230, 237, 0.6);
letter-spacing: 0.08em;
text-transform: uppercase;
margin-bottom: 12px;
line-height: 1.3;
}

.entry-page .title-heading {
font-size: 48px;
line-height: 1.1;
color: #E2E6ED;
margin-bottom: 24px;
font-weight: 700;
}

.entry-page .title-heading-accent {
color: #F42B52;
}

.entry-page .title-thesis {
font-size: 17px;
line-height: 1.55;
color: rgba(226, 230, 237, 0.82);
margin-bottom: 8px;
}

.entry-page .title-thesis-secondary {
font-size: 15px;
line-height: 1.55;
color: rgba(226, 230, 237, 0.55);
}

.entry-page .title-direction-arrow {
display: flex;
align-items: center;
gap: 12px;
margin-top: 48px;
}

.entry-page .title-arrow-num {
font-size: 36px;
font-weight: 700;
color: #144E34;
line-height: 1.1;
}

.entry-page .title-arrow-num.positive {
color: #E2E6ED;
}

.entry-page .title-arrow-svg {
flex-shrink: 0;
}

.entry-page .title-image-zone {
padding: 48px 0 48px 48px;
display: flex;
align-items: center;
position: relative;
}

.entry-page .title-image-frame {
position: relative;
width: 100%;
border-radius: 20px;
overflow: hidden;
box-shadow: 1px 12px 40px 1px rgba(244, 43, 82, 0.14);
}

.entry-page .title-image-frame img {
width: 100%;
height: 420px;
object-fit: cover;
object-position: center top;
display: block;
filter: saturate(0.7) brightness(0.85) hue-rotate(0deg);
}

.entry-page .title-image-overlay {
position: absolute;
inset: 0;
background: linear-gradient(197deg, rgba(20, 78, 52, 0.45), transparent);
border-radius: 20px;
}

.entry-page .title-image-border-accent {
position: absolute;
top: 12px;
right: -8px;
width: 3px;
height: 60%;
background: #F42B52;
border-radius: 8px;
}

.entry-page .pattern-section {
background: #E2E6ED;
padding: 96px 0 48px;
}

.entry-page .pattern-grid {
display: grid;
grid-template-columns: 1fr 2fr;
gap: 48px;
align-items: start;
}

.entry-page .pattern-label-column {
position: sticky;
top: 24px;
}

.entry-page .pattern-accent-line {
width: 32px;
height: 3px;
background: #F42B52;
margin-bottom: 24px;
}

.entry-page .pattern-heading {
font-size: 36px;
line-height: 1.1;
color: #0d2e1e;
margin-bottom: 24px;
font-weight: 700;
}

.entry-page .pattern-sub {
font-size: 15px;
line-height: 1.55;
color: #2a4a3a;
}

.entry-page .pattern-items {
display: flex;
flex-direction: column;
gap: 24px;
}

.entry-page .pattern-item {
background: #fff;
border-radius: 12px;
padding: 24px;
box-shadow: 1px 2px 5px 1px rgba(20, 78, 52, 0.06);
position: relative;
transition: box-shadow 0.55s ease-in-out;
}

.entry-page .pattern-item:hover {
box-shadow: 1px 6px 22px 1px rgba(20, 78, 52, 0.10);
}

.entry-page .pattern-item-overlay {
position: absolute;
inset: 0;
background: rgba(20, 78, 52, 0.88);
border-radius: 12px;
opacity: 0;
transition: opacity 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
display: flex;
align-items: center;
padding: 24px;
}

.entry-page .pattern-item:hover .pattern-item-overlay {
opacity: 1;
}

.entry-page .pattern-item-overlay-text {
font-size: 15px;
line-height: 1.55;
color: #E2E6ED;
}

.entry-page .pattern-item-author {
font-size: 14px;
color: rgba(226, 230, 237, 0.6);
margin-top: 8px;
}

.entry-page .pattern-item-quote {
font-size: 17px;
line-height: 1.55;
color: #1a3528;
font-style: italic;
}

.entry-page .pattern-item-name {
font-size: 14px;
color: #144E34;
margin-top: 12px;
font-weight: 600;
}

.entry-page .pattern-item-role {
font-size: 14px;
color: #5a7a6a;
}

.entry-page .fit-section {
background: #fff;
padding: 96px 0;
}

.entry-page .fit-layout {
display: grid;
grid-template-columns: 2fr 1fr;
gap: 48px;
align-items: start;
}

.entry-page .fit-left {
display: flex;
flex-direction: column;
gap: 24px;
}

.entry-page .fit-accent-line {
width: 32px;
height: 3px;
background: #144E34;
margin-bottom: 8px;
}

.entry-page .fit-heading {
font-size: 36px;
line-height: 1.1;
color: #0d2e1e;
font-weight: 700;
text-align: center;
margin-bottom: 24px;
}

.entry-page .fit-profiles {
display: flex;
flex-direction: column;
gap: 12px;
}

.entry-page .fit-profile-card {
border-radius: 12px;
padding: 24px;
background: #f4f6f9;
display: flex;
flex-direction: row;
gap: 24px;
align-items: flex-start;
transition: background 0.5s ease-in-out;
}

.entry-page .fit-profile-card:hover {
background: #e8edf5;
}

.entry-page .fit-profile-number {
font-size: 36px;
font-weight: 700;
color: #E2E6ED;
line-height: 1.1;
flex-shrink: 0;
width: 48px;
}

.entry-page .fit-profile-body {}

.entry-page .fit-profile-title {
font-size: 17px;
font-weight: 700;
color: #0d2e1e;
line-height: 1.3;
margin-bottom: 8px;
}

.entry-page .fit-profile-desc {
font-size: 15px;
line-height: 1.55;
color: #3a5a4a;
}

.entry-page .fit-image-column {
display: flex;
flex-direction: column;
gap: 24px;
}

.entry-page .fit-image-wrap {
border-radius: 20px;
overflow: hidden;
box-shadow: 1px 6px 22px 1px rgba(20, 78, 52, 0.10);
position: relative;
}

.entry-page .fit-image-wrap img {
width: 100%;
height: 300px;
object-fit: cover;
object-position: center;
display: block;
}

.entry-page .fit-image-caption {
position: absolute;
bottom: 0;
left: 0;
right: 0;
background: linear-gradient(197deg, rgba(20, 78, 52, 0.85), transparent);
padding: 24px 24px 12px;
border-radius: 0 0 20px 20px;
}

.entry-page .fit-image-caption-text {
font-size: 14px;
color: #E2E6ED;
line-height: 1.3;
}

.entry-page .fit-right-accent {
border-right: 3px solid #E2E6ED;
padding-right: 24px;
}

.entry-page .commitment-section {
background: #0d2e1e;
padding: 48px 0 96px;
position: relative;
overflow: hidden;
}

.entry-page .commitment-bg-image {
position: absolute;
inset: 0;
z-index: 0;
}

.entry-page .commitment-bg-image img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
opacity: 0.18;
}

.entry-page .commitment-bg-gradient {
position: absolute;
inset: 0;
background: linear-gradient(197deg, #0d2e1e 40%, rgba(20, 78, 52, 0.7));
z-index: 1;
}

.entry-page .commitment-body {
position: relative;
z-index: 2;
}

.entry-page .commitment-accent-line {
width: 32px;
height: 3px;
background: #F42B52;
margin: 0 auto 24px;
}

.entry-page .commitment-heading {
font-size: 36px;
line-height: 1.1;
color: #E2E6ED;
font-weight: 700;
text-align: center;
margin-bottom: 48px;
}

.entry-page .commitment-steps {
display: flex;
flex-direction: column;
gap: 0;
max-width: 700px;
margin: 0 auto;
}

.entry-page .commitment-step {
display: grid;
grid-template-columns: 48px 1fr;
gap: 24px;
position: relative;
}

.entry-page .commitment-step-line-col {
display: flex;
flex-direction: column;
align-items: center;
}

.entry-page .commitment-step-dot {
width: 20px;
height: 20px;
border-radius: 48px;
background: #F42B52;
flex-shrink: 0;
margin-top: 4px;
box-shadow: 1px 2px 5px 1px rgba(244, 43, 82, 0.14);
}

.entry-page .commitment-step-connector {
width: 2px;
flex: 1;
background: rgba(226, 230, 237, 0.2);
margin-top: 8px;
min-height: 48px;
}

.entry-page .commitment-step:last-child .commitment-step-connector {
display: none;
}

.entry-page .commitment-step-content {
padding-bottom: 48px;
}

.entry-page .commitment-step:last-child .commitment-step-content {
padding-bottom: 0;
}

.entry-page .commitment-step-title {
font-size: 17px;
font-weight: 700;
color: #E2E6ED;
line-height: 1.3;
margin-bottom: 8px;
}

.entry-page .commitment-step-desc {
font-size: 15px;
line-height: 1.55;
color: rgba(226, 230, 237, 0.7);
}

.entry-page .outcomes-section {
background: #E2E6ED;
padding: 96px 0;
}

.entry-page .outcomes-layout {
display: grid;
grid-template-columns: 1fr 2fr;
gap: 48px;
align-items: start;
}

.entry-page .outcomes-sidebar {
background: #fff;
border-radius: 20px;
padding: 24px;
box-shadow: 1px 6px 22px 1px rgba(20, 78, 52, 0.10);
position: sticky;
top: 24px;
}

.entry-page .outcomes-sidebar-accent {
width: 32px;
height: 3px;
background: #F42B52;
margin-bottom: 24px;
}

.entry-page .outcomes-sidebar-heading {
font-size: 20px;
font-weight: 700;
color: #0d2e1e;
line-height: 1.3;
margin-bottom: 12px;
}

.entry-page .outcomes-sidebar-text {
font-size: 15px;
line-height: 1.55;
color: #3a5a4a;
}

.entry-page .outcomes-sidebar-image {
margin-top: 24px;
border-radius: 12px;
overflow: hidden;
}

.entry-page .outcomes-sidebar-image img {
width: 100%;
height: 200px;
object-fit: cover;
object-position: center top;
display: block;
}

.entry-page .outcomes-right {
display: flex;
flex-direction: column;
gap: 0;
}

.entry-page .outcomes-accent-line {
width: 32px;
height: 3px;
background: #144E34;
margin-bottom: 24px;
}

.entry-page .outcomes-heading {
font-size: 36px;
line-height: 1.1;
color: #0d2e1e;
font-weight: 700;
margin-bottom: 48px;
text-align: center;
}

.entry-page .outcomes-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px;
}

.entry-page .outcome-card {
background: #fff;
border-radius: 12px;
padding: 24px;
box-shadow: 1px 2px 5px 1px rgba(20, 78, 52, 0.06);
position: relative;
transition: box-shadow 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.entry-page .outcome-card:hover {
box-shadow: 1px 6px 22px 1px rgba(20, 78, 52, 0.10);
}

.entry-page .outcome-card-number {
font-size: 36px;
font-weight: 700;
color: #E2E6ED;
line-height: 1.1;
margin-bottom: 8px;
}

.entry-page .outcome-card-title {
font-size: 17px;
font-weight: 700;
color: #0d2e1e;
line-height: 1.3;
margin-bottom: 8px;
}

.entry-page .outcome-card-desc {
font-size: 14px;
line-height: 1.55;
color: #3a5a4a;
}

.entry-page .outcome-card-border-right {
border-right: 1px solid #E2E6ED;
}

.entry-page .evidence-section {
background: #fff;
padding: 96px 0;
}

.entry-page .evidence-layout {
display: grid;
grid-template-columns: 2fr 1fr;
gap: 48px;
align-items: start;
}

.entry-page .evidence-left {}

.entry-page .evidence-accent-line {
width: 32px;
height: 3px;
background: #F42B52;
margin-bottom: 24px;
}

.entry-page .evidence-heading {
font-size: 36px;
line-height: 1.1;
color: #0d2e1e;
font-weight: 700;
margin-bottom: 24px;
text-align: center;
}

.entry-page .evidence-intro {
font-size: 17px;
line-height: 1.55;
color: #2a4a3a;
margin-bottom: 48px;
}

.entry-page .evidence-metrics {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 12px;
}

.entry-page .evidence-metric {
background: #f4f6f9;
border-radius: 12px;
padding: 24px;
text-align: left;
}

.entry-page .evidence-metric-pair {
display: flex;
align-items: center;
gap: 8px;
margin-bottom: 8px;
}

.entry-page .evidence-metric-from {
font-size: 20px;
font-weight: 700;
color: #aabcb0;
line-height: 1.1;
}

.entry-page .evidence-metric-arrow {
flex-shrink: 0;
}

.entry-page .evidence-metric-to {
font-size: 20px;
font-weight: 700;
color: #144E34;
line-height: 1.1;
}

.entry-page .evidence-metric-label {
font-size: 14px;
color: #5a7a6a;
line-height: 1.3;
}

.entry-page .evidence-right {
display: flex;
flex-direction: column;
gap: 24px;
}

.entry-page .evidence-since {
background: #0d2e1e;
border-radius: 20px;
padding: 24px;
color: #E2E6ED;
}

.entry-page .evidence-since-year {
font-size: 48px;
font-weight: 700;
color: #F42B52;
line-height: 1.1;
margin-bottom: 8px;
}

.entry-page .evidence-since-text {
font-size: 15px;
line-height: 1.55;
color: rgba(226, 230, 237, 0.75);
}

.entry-page .evidence-link-block {
background: #f4f6f9;
border-radius: 12px;
padding: 24px;
}

.entry-page .evidence-link-text {
font-size: 15px;
line-height: 1.55;
color: #2a4a3a;
margin-bottom: 12px;
}

.entry-page .evidence-link-anchor {
font-size: 15px;
font-weight: 600;
color: #144E34;
text-decoration: none;
background: linear-gradient(197deg, #144E34, transparent);
background-size: 100% 2px;
background-repeat: no-repeat;
background-position: 0 100%;
padding-bottom: 2px;
transition: color 0.5s ease-in-out;
}

.entry-page .evidence-link-anchor:hover {
color: #F42B52;
}

@media (max-width: 1280px) {
.entry-page .title-heading {
font-size: 36px;
}

.entry-page .evidence-metrics {
grid-template-columns: 1fr 1fr;
}
}

@media (max-width: 768px) {
.entry-page .title-block-grid {
grid-template-columns: 1fr;
}

.entry-page .title-text-zone {
padding: 48px 0 24px;
}

.entry-page .title-image-zone {
padding: 0 0 48px;
}

.entry-page .title-heading {
font-size: 36px;
}

.entry-page .pattern-grid {
grid-template-columns: 1fr;
}

.entry-page .fit-layout {
grid-template-columns: 1fr;
}

.entry-page .fit-right-accent {
border-right: none;
padding-right: 0;
}

.entry-page .outcomes-layout {
grid-template-columns: 1fr;
}

.entry-page .outcomes-sidebar {
position: static;
}

.entry-page .outcomes-grid {
grid-template-columns: 1fr;
}

.entry-page .evidence-layout {
grid-template-columns: 1fr;
}

.entry-page .evidence-metrics {
grid-template-columns: 1fr;
}
}

@media (max-width: 480px) {
.entry-page .title-heading {
font-size: 36px;
}

.entry-page .commitment-steps {
padding: 0 12px;
}

.entry-page .entry-container {
padding: 0 12px;
}
}

.services-page {
background: #fff;
overflow-x: clip;
}

.services-page .reveal {
opacity: 0;
transform: translateY(32px);
animation: slideUpReveal 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

.services-page .reveal.delay-1 {
animation-delay: 0.1s;
}

.services-page .reveal.delay-2 {
animation-delay: 0.22s;
}

.services-page .reveal.delay-3 {
animation-delay: 0.34s;
}

.services-page .reveal.delay-4 {
animation-delay: 0.44s;
}

@keyframes slideUpReveal {
to {
opacity: 1;
transform: translateY(0);
}
}

.services-page .gradient-underline {
background: linear-gradient(197deg, #E2E6ED, transparent);
text-decoration: none;
border-bottom: 2px solid;
border-image: linear-gradient(197deg, #F42B52, transparent) 1;
padding-bottom: 2px;
}

.services-page .top-accent-line {
display: block;
width: 36px;
height: 3px;
background: #F42B52;
border-radius: 8px;
margin-bottom: 12px;
}

.services-page .dot-accent {
display: inline-block;
width: 5px;
height: 5px;
border-radius: 48px;
background: #F42B52;
margin-left: 3px;
vertical-align: middle;
position: relative;
top: -2px;
}

.services-page .title-block {
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
min-height: 520px;
position: relative;
}

.services-page .title-text-side {
padding: 96px 48px 48px 48px;
display: flex;
flex-direction: column;
justify-content: flex-end;
position: relative;
z-index: 1;
}

.services-page .title-dot-scatter {
position: absolute;
top: 24px;
left: 24px;
width: 160px;
height: 160px;
pointer-events: none;
}

.services-page .title-dot-scatter span {
position: absolute;
border-radius: 48px;
background: #144E34;
opacity: 0.08;
}

.services-page .title-dot-scatter span:nth-child(1) {
width: 10px;
height: 10px;
top: 12px;
left: 20px;
}

.services-page .title-dot-scatter span:nth-child(2) {
width: 6px;
height: 6px;
top: 40px;
left: 60px;
}

.services-page .title-dot-scatter span:nth-child(3) {
width: 14px;
height: 14px;
top: 70px;
left: 8px;
}

.services-page .title-dot-scatter span:nth-child(4) {
width: 8px;
height: 8px;
top: 20px;
left: 110px;
}

.services-page .title-dot-scatter span:nth-child(5) {
width: 5px;
height: 5px;
top: 90px;
left: 80px;
}

.services-page .title-dot-scatter span:nth-child(6) {
width: 12px;
height: 12px;
top: 120px;
left: 40px;
}

.services-page .title-eyebrow {
font-size: 14px;
color: #144E34;
letter-spacing: 0.08em;
text-transform: uppercase;
margin-bottom: 12px;
line-height: 1.3;
}

.services-page .title-h1 {
font-size: 48px;
line-height: 1.1;
color: #111820;
margin-bottom: 8px;
font-weight: 800;
}

.services-page .title-h1-sub {
font-size: 36px;
line-height: 1.3;
color: #144E34;
margin-bottom: 24px;
font-weight: 600;
}

.services-page .title-lead {
font-size: 17px;
line-height: 1.55;
color: #2d3a30;
margin-bottom: 48px;
max-width: 420px;
}

.services-page .title-cta-row {
display: flex;
flex-direction: row;
gap: 12px;
align-items: center;
}

.services-page .btn-primary {
background: #F42B52;
color: #fff;
border: none;
border-radius: 12px;
padding: 12px 24px;
font-size: 15px;
font-weight: 700;
cursor: pointer;
transition: background 0.5s ease-in-out, box-shadow 0.5s ease-in-out, transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
box-shadow: 1px 6px 22px 1px rgba(244, 43, 82, 0.10);
text-decoration: none;
display: inline-block;
}

.services-page .btn-primary:hover {
background: #c9183d;
box-shadow: 1px 12px 40px 1px rgba(244, 43, 82, 0.14);
}

.services-page .btn-primary:active {
transform: scale(0.97);
}

.services-page .btn-secondary {
background: transparent;
color: #144E34;
border: 2px solid #144E34;
border-radius: 12px;
padding: 12px 24px;
font-size: 15px;
font-weight: 600;
cursor: pointer;
transition: background 0.55s ease-in-out, color 0.55s ease-in-out;
text-decoration: none;
display: inline-block;
}

.services-page .btn-secondary:hover {
background: #144E34;
color: #fff;
}

.services-page .btn-secondary:active {
transform: scale(0.97);
}

.services-page .title-image-side {
position: relative;
overflow: hidden;
border-radius: 0 0 0 48px;
}

.services-page .title-image-side img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center 30%;
display: block;
}

.services-page .title-image-overlay {
position: absolute;
inset: 0;
background: linear-gradient(197deg, rgba(20, 78, 52, 0.35), transparent 70%);
}

.services-page .zigzag-divider {
width: 100%;
overflow: hidden;
line-height: 0;
margin: 0;
}

.services-page .zigzag-divider svg {
display: block;
width: 100%;
}

.services-page .services-grid-block {
background: #E2E6ED;
padding: 48px 0;
}

.services-page .services-grid-inner {
max-width: 1200px;
margin: 0 auto;
padding: 0 48px;
}

.services-page .services-grid-header {
text-align: center;
margin-bottom: 48px;
}

.services-page .services-grid-header .top-accent-line {
margin: 0 auto 12px auto;
}

.services-page .services-grid-header h2 {
font-size: 36px;
line-height: 1.1;
color: #111820;
font-weight: 700;
margin-bottom: 8px;
}

.services-page .services-grid-header p {
font-size: 17px;
line-height: 1.55;
color: #2d3a30;
text-align: left;
max-width: 600px;
margin: 0 auto;
}

.services-page .four-col-grid {
display: grid;
grid-template-columns: 2fr 1fr 1fr 1fr;
gap: 24px;
align-items: start;
}

.services-page .service-card {
background: #fff;
border-radius: 20px;
padding: 24px;
box-shadow: 1px 2px 5px 1px rgba(20, 78, 52, 0.06);
transition: box-shadow 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
display: flex;
flex-direction: column;
gap: 12px;
}

.services-page .service-card:hover {
box-shadow: 1px 12px 40px 1px rgba(20, 78, 52, 0.14);
transform: translateY(-4px);
}

.services-page .service-card.featured {
background: #144E34;
color: #fff;
}

.services-page .service-card.featured h3 {
color: #fff;
}

.services-page .service-card.featured p {
color: #b8d4c6;
}

.services-page .service-card.featured .service-tag {
background: rgba(255, 255, 255, 0.15);
color: #E2E6ED;
}

.services-page .service-card.featured .btn-primary {
background: #F42B52;
}

.services-page .service-icon-shape {
width: 40px;
height: 40px;
border-radius: 12px;
background: linear-gradient(197deg, #E2E6ED, transparent);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}

.services-page .service-card.featured .service-icon-shape {
background: rgba(255, 255, 255, 0.12);
}

.services-page .service-icon-shape svg {
width: 22px;
height: 22px;
}

.services-page .service-card h3 {
font-size: 17px;
line-height: 1.3;
color: #111820;
font-weight: 700;
margin: 0;
}

.services-page .service-card p {
font-size: 14px;
line-height: 1.55;
color: #3a4a40;
margin: 0;
}

.services-page .service-tag {
display: inline-block;
background: #E2E6ED;
color: #144E34;
border-radius: 8px;
padding: 4px 8px;
font-size: 14px;
font-weight: 600;
align-self: flex-start;
}

.services-page .service-card.featured .service-card-image {
border-radius: 12px;
overflow: hidden;
margin-top: 8px;
}

.services-page .service-card.featured .service-card-image img {
width: 100%;
height: 180px;
object-fit: cover;
object-position: center 40%;
display: block;
border-radius: 12px;
}

.services-page .atmosphere-block {
position: relative;
min-height: 480px;
display: flex;
align-items: center;
}

.services-page .atmosphere-bg {
position: absolute;
inset: 0;
overflow: hidden;
}

.services-page .atmosphere-bg img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center 60%;
display: block;
}

.services-page .atmosphere-overlay {
position: absolute;
inset: 0;
background: linear-gradient(197deg, rgba(20, 78, 52, 0.88) 0%, rgba(17, 24, 32, 0.72) 100%);
}

.services-page .atmosphere-inner {
max-width: 1200px;
margin: 0 auto;
padding: 96px 48px 48px 48px;
position: relative;
z-index: 1;
display: grid;
grid-template-columns: 1.4fr 1fr;
gap: 48px;
align-items: center;
width: 100%;
}

.services-page .atmosphere-complex-side {
display: flex;
flex-direction: column;
gap: 24px;
}

.services-page .atmosphere-complex-side .top-accent-line {
background: #F42B52;
}

.services-page .atmosphere-complex-side h2 {
font-size: 36px;
line-height: 1.1;
color: #fff;
font-weight: 700;
margin: 0;
}

.services-page .atmosphere-complex-side p {
font-size: 17px;
line-height: 1.55;
color: #c5d5cc;
margin: 0;
}

.services-page .metrics-row {
display: flex;
flex-direction: row;
gap: 24px;
}

.services-page .metric-item {
display: flex;
flex-direction: column;
gap: 4px;
}

.services-page .metric-number {
font-size: 36px;
line-height: 1.1;
font-weight: 800;
color: #F42B52;
}

.services-page .metric-label {
font-size: 14px;
line-height: 1.3;
color: #b8d4c6;
}

.services-page .atmosphere-list {
display: flex;
flex-direction: column;
gap: 8px;
padding: 0;
margin: 0;
list-style: none;
}

.services-page .atmosphere-list li {
font-size: 15px;
line-height: 1.55;
color: #c5d5cc;
padding-left: 12px;
position: relative;
}

.services-page .atmosphere-list li::before {
content: '';
position: absolute;
left: 0;
top: 10px;
width: 4px;
height: 4px;
border-radius: 48px;
background: #F42B52;
}

.services-page .floating-detail-card {
background: rgba(255, 255, 255, 0.07);
border: 1px solid rgba(255, 255, 255, 0.14);
border-radius: 20px;
padding: 24px;
backdrop-filter: blur(8px);
display: flex;
flex-direction: column;
gap: 12px;
}

.services-page .detail-card-header {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
}

.services-page .status-dot {
width: 8px;
height: 8px;
border-radius: 48px;
background: #4ade80;
flex-shrink: 0;
box-shadow: 0 0 0 3px rgba(74, 222, 128, 0.2);
}

.services-page .detail-card-title {
font-size: 15px;
font-weight: 700;
color: #fff;
}

.services-page .detail-card-row {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
padding: 8px 0;
border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.services-page .detail-card-row:last-child {
border-bottom: none;
}

.services-page .detail-row-label {
font-size: 14px;
color: #9bbfb0;
}

.services-page .detail-row-value {
font-size: 14px;
font-weight: 600;
color: #fff;
}

.services-page .detail-row-value.active {
color: #4ade80;
}

.services-page .process-block {
background: #fff;
padding: 96px 0 48px 0;
}

.services-page .process-inner {
max-width: 1200px;
margin: 0 auto;
padding: 0 48px;
display: grid;
grid-template-columns: 1fr 1.6fr;
gap: 48px;
align-items: start;
}

.services-page .process-minimalist-side {
display: flex;
flex-direction: column;
gap: 24px;
position: relative;
}

.services-page .process-minimalist-side h2 {
font-size: 36px;
line-height: 1.1;
color: #111820;
font-weight: 700;
margin: 0;
}

.services-page .process-minimalist-side p {
font-size: 17px;
line-height: 1.55;
color: #3a4a40;
margin: 0;
}

.services-page .process-image-wrap {
border-radius: 20px;
overflow: hidden;
box-shadow: 1px 6px 22px 1px rgba(20, 78, 52, 0.10);
}

.services-page .process-image-wrap img {
width: 100%;
height: 240px;
object-fit: cover;
object-position: center 20%;
display: block;
}

.services-page .process-link {
font-size: 15px;
color: #144E34;
font-weight: 600;
text-decoration: none;
border-bottom: 2px solid;
border-image: linear-gradient(197deg, #F42B52, transparent) 1;
padding-bottom: 2px;
transition: color 0.5s ease-in-out;
align-self: flex-start;
}

.services-page .process-link:hover {
color: #F42B52;
}

.services-page .process-corner-dots {
position: absolute;
bottom: -24px;
left: -24px;
pointer-events: none;
}

.services-page .process-corner-dots span {
position: absolute;
border-radius: 48px;
background: #E2E6ED;
}

.services-page .process-corner-dots span:nth-child(1) {
width: 18px;
height: 18px;
top: 0;
left: 0;
}

.services-page .process-corner-dots span:nth-child(2) {
width: 10px;
height: 10px;
top: 24px;
left: 28px;
}

.services-page .process-corner-dots span:nth-child(3) {
width: 7px;
height: 7px;
top: 8px;
left: 48px;
}

.services-page .process-rich-side {
display: flex;
flex-direction: column;
gap: 8px;
}

.services-page .process-step {
display: grid;
grid-template-columns: 48px 1fr;
gap: 12px;
align-items: start;
padding: 24px;
border-radius: 12px;
background: #fff;
box-shadow: 1px 2px 5px 1px rgba(20, 78, 52, 0.06);
transition: box-shadow 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94), background 0.5s ease-in-out;
cursor: default;
}

.services-page .process-step:hover {
background: #f4f7f5;
box-shadow: 1px 6px 22px 1px rgba(20, 78, 52, 0.10);
}

.services-page .step-number {
width: 40px;
height: 40px;
border-radius: 12px;
background: linear-gradient(197deg, #E2E6ED, transparent);
display: flex;
align-items: center;
justify-content: center;
font-size: 17px;
font-weight: 800;
color: #144E34;
flex-shrink: 0;
}

.services-page .step-body {
display: flex;
flex-direction: column;
gap: 4px;
}

.services-page .step-body h4 {
font-size: 15px;
font-weight: 700;
color: #111820;
line-height: 1.3;
margin: 0;
}

.services-page .step-body p {
font-size: 14px;
line-height: 1.55;
color: #3a4a40;
margin: 0;
}

@media (max-width: 1280px) {
.services-page .four-col-grid {
grid-template-columns: 1fr 1fr;
}

.services-page .service-card.featured {
grid-column: span 2;
}

.services-page .service-card.featured .service-card-image img {
height: 220px;
}
}

@media (max-width: 768px) {
.services-page .title-block {
grid-template-columns: 1fr;
}

.services-page .title-image-side {
height: 260px;
border-radius: 0 0 32px 32px;
order: -1;
}

.services-page .title-text-side {
padding: 48px 24px 48px 24px;
}

.services-page .title-h1 {
font-size: 36px;
}

.services-page .title-h1-sub {
font-size: 20px;
}

.services-page .services-grid-inner {
padding: 0 24px;
}

.services-page .four-col-grid {
grid-template-columns: 1fr;
}

.services-page .service-card.featured {
grid-column: span 1;
}

.services-page .atmosphere-inner {
grid-template-columns: 1fr;
padding: 48px 24px;
gap: 24px;
}

.services-page .process-inner {
grid-template-columns: 1fr;
padding: 0 24px;
gap: 24px;
}

.services-page .process-block {
padding: 48px 0;
}

.services-page .metrics-row {
flex-direction: column;
gap: 12px;
}
}

@media (max-width: 480px) {
.services-page .title-h1 {
font-size: 36px;
}

.services-page .title-cta-row {
flex-direction: column;
align-items: flex-start;
}

.services-page .services-grid-inner {
padding: 0 12px;
}

.services-page .process-inner {
padding: 0 12px;
}

.services-page .atmosphere-inner {
padding: 48px 12px;
}

.services-page .title-text-side {
padding: 48px 12px;
}
}

.success-page {
min-height: 60vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 96px 24px;
background-color: #fff;
}

.success-page .success-wrapper {
max-width: 560px;
width: 100%;
text-align: center;
}

.success-page .success-icon-wrap {
width: 72px;
height: 72px;
margin: 0 auto 48px;
border-radius: 20px;
background-color: #144E34;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
box-shadow: 1px 6px 22px 1px rgba(20, 78, 52, 0.10);
}

.success-page .success-icon-wrap svg {
display: block;
}

.success-page .success-heading {
font-size: 36px;
line-height: 1.1;
color: #111;
margin: 0 0 24px;
}

.success-page .success-heading .success-dot {
display: inline-block;
width: 6px;
height: 6px;
border-radius: 48px;
background-color: #F42B52;
vertical-align: middle;
margin-left: 4px;
margin-bottom: 6px;
}

.success-page .success-description {
font-size: 17px;
line-height: 1.55;
color: #2c2c2c;
margin: 0 0 48px;
}

.success-page .success-divider {
width: 48px;
height: 2px;
background: linear-gradient(197deg, #E2E6ED, transparent);
margin: 0 auto 48px;
border-radius: 8px;
}

.success-page .success-meta {
font-size: 14px;
line-height: 1.55;
color: #444;
margin: 0 0 48px;
}

.success-page .success-meta strong {
color: #144E34;
}

.success-page .success-back-link {
display: inline-block;
font-size: 15px;
line-height: 1.3;
color: #fff;
background-color: #144E34;
padding: 12px 24px;
border-radius: 12px;
text-decoration: none;
box-shadow: 1px 2px 5px 1px rgba(20, 78, 52, 0.06);
transition: background-color 0.5s ease-in-out, box-shadow 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.45s ease-in-out;
}

.success-page .success-back-link:hover {
background-color: #0d3824;
box-shadow: 1px 12px 40px 1px rgba(20, 78, 52, 0.14);
}

.success-page .success-back-link:active {
transform: scale(0.97);
}

@media (max-width: 480px) {
.success-page {
padding: 48px 24px;
}

.success-page .success-heading {
font-size: 20px;
}

.success-page .success-description {
font-size: 15px;
}
}