@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&display=swap"); :root { --gold:        #D09C45;
--gold-deep:   #7B4412;
--gold-light:  #D4B15D;
--blue-deep:   #0A1E35;
--blue:   #18375c;
--blue-light:  #0073C1;
--mint:        #92D6A6;
--mint-deep:   #74c98d;
--mint-light:  #DCF0E1;
--white:       #FFFFFF;
--grey:        #E7E6E6;
--grey-light:  #f6f6f6;
--grey-dark:   #9E9E9E;
--text-body:   #2C3E50; --font-primary: 'Montserrat', sans-serif;
--fs-h1:    clamp(2rem, 4vw, 3.5rem);
--fs-h2:    clamp(1.75rem, 3.5vw, 2.75rem);
--fs-h3:    clamp(1.25rem, 2.5vw, 1.75rem);
--fs-body-large: 1.125rem;
--fs-body:  1.075rem;
--fs-small: 0.95rem;
--fw-light:   300;
--fw-regular: 400;
--fw-medium:  500;
--fw-semibold: 600;
--fw-bold:    700;
--lh-heading: 1.2;
--lh-body:    1.7; --space-xs:  0.5rem;
--space-sm:  1rem;
--space-md:  2rem;
--space-lg:  4rem;
--space-xl:  7rem;
--space-2xl: 10rem; --container-max:    1200px;
--container-narrow: 800px;
--container-wide:   1400px;
--container-pad:    clamp(1.25rem, 5vw, 3rem); --radius-sm:   4px;
--radius-md:   8px;
--radius-lg:   16px;
--radius-full: 9999px; --shadow-sm:  0 2px 8px rgba(15, 30, 51, 0.08);
--shadow-md:  0 8px 32px rgba(15, 30, 51, 0.12);
--shadow-lg:  0 24px 64px rgba(15, 30, 51, 0.18);
--shadow-mint: 0 4px 24px rgba(146, 214, 166, 0.25);
--shadow-gold: 0 4px 24px rgba(208, 156, 69, 0.25); --transition-fast:   150ms ease;
--transition-base:   300ms ease;
--transition-slow:   500ms ease; --header-height: 80px;
@media (min-width: 2200px) {
--container-max:1600px;
--fs-h1: 4.25rem;
--fs-h2: 3.25rem;
--fs-h3: 2rem;
--fs-body-large: 1.35rem;
--fs-body: 1.2rem;
--fs-small: 1.05rem;
}
}
*, *::before, *::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}
html {
font-size: 100%;
scroll-behavior: smooth;
-webkit-text-size-adjust: 100%;
}
body {
font-family: var(--font-primary);
font-size: var(--fs-body);
font-weight: var(--fw-regular);
line-height: var(--lh-body);
color: var(--text-body);
background-color: var(--white);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
img, picture, video, canvas, svg {
display: block;
max-width: 100%;
}
input, button, textarea, select {
font: inherit;
}
p, h1, h2, h3, h4, h5, h6 {
overflow-wrap: break-word;
}
ul, ol {
list-style: none;
}
a {
color: inherit;
text-decoration: none;
}
button {
cursor: pointer;
border: none;
background: none;
} :focus-visible {
outline: 2px solid var(--gold);
outline-offset: 3px;
} .skip-link {
position: absolute;
top: -100%;
left: 1rem;
padding: 0.5rem 1rem;
background: var(--gold);
color: var(--blue-deep);
font-weight: var(--fw-bold);
border-radius: var(--radius-sm);
z-index: 9999;
transition: top var(--transition-fast);
}
.skip-link:focus {
top: 1rem;
} .sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border-width: 0;
}
h1, h2, h3, h4, h5, h6 {
font-family: var(--font-primary);
line-height: var(--lh-heading);
font-weight: var(--fw-bold);
color: var(--blue-deep);
}
h1 { font-size: var(--fs-h1); letter-spacing: -0.02em; }
h2 { font-size: var(--fs-h2); letter-spacing: -0.01em; }
h3 { font-size: var(--fs-h3); }
.body-large {
font-size: var(--fs-body-large);
line-height: var(--lh-body);
font-weight: var(--fw-regular);
}
.body {
font-size: var(--fs-body);
line-height: var(--lh-body);
}
.small-text {
font-size: var(--fs-small);
line-height: 1.5;
}
section span {
color: var(--gold);
font-weight: var(--fw-bold);
}
section .gap {
padding-bottom: var(--space-sm);
} .section-label {
display: inline-block;
font-size: var(--fs-small);
font-weight: var(--fw-semibold);
letter-spacing: 0.15em;
text-transform: uppercase;
color: var(--gold);
margin-bottom: var(--space-sm);
} .section-title {
font-size: var(--fs-h2);
font-weight: var(--fw-bold);
color: var(--blue-deep);
margin-bottom: var(--space-sm);
}
.section-title--light {
color: var(--white);
} .section-title::after {
content: '';
display: block;
width: 48px;
height: 3px;
background: linear-gradient(90deg, var(--gold), var(--gold-light));
border-radius: var(--radius-full);
margin-top: var(--space-sm);
}
.section-title--centered::after {
margin-left: auto;
margin-right: auto;
} .section-intro {
font-size: var(--fs-body-large);
color: var(--grey-dark);
max-width: var(--container-narrow);
line-height: var(--lh-body);
}
.section-intro--light {
color: rgba(255, 255, 255, 0.75);
}
.container {
width: 100%;
max-width: var(--container-max);
margin-inline: auto;
padding-inline: var(--container-pad);
}
.container--narrow {
max-width: var(--container-narrow);
}
.container--wide {
max-width: var(--container-wide);
} .section {
padding-block: var(--space-xl);
}
.section--sm {
padding-block: var(--space-lg);
}
.section--lg {
padding-block: var(--space-2xl);
} .grid {
display: grid;
gap: var(--space-md);
}
.grid--2 { grid-template-columns: repeat(2, 1fr); }
.grid--3 { grid-template-columns: repeat(3, 1fr); }
.grid--4 { grid-template-columns: repeat(4, 1fr); }
.grid--2-1 { grid-template-columns: 2fr 1fr; }
.grid--1-2 { grid-template-columns: 1fr 2fr; }
@media (max-width: 1024px) {
.grid--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
.grid--2,
.grid--3,
.grid--4,
.grid--2-1,
.grid--1-2 {
grid-template-columns: 1fr;
}
} .flex { display: flex; }
.flex--center { align-items: center; justify-content: center; }
.flex--between { align-items: center; justify-content: space-between; }
.flex--col { flex-direction: column; }
.gap-sm { gap: var(--space-sm); }
.gap-md { gap: var(--space-md); }
.gap-lg { gap: var(--space-lg); } .text-center { text-align: center; }
.text-left   { text-align: left; } .btn {
display: inline-flex;
align-items: center;
gap: var(--space-xs);
padding: 0.875rem 2rem;
font-family: var(--font-primary);
font-size: var(--fs-body);
font-weight: var(--fw-semibold);
line-height: 1;
border-radius: var(--radius-full);
transition: all var(--transition-base);
cursor: pointer;
white-space: nowrap;
}
.btn--primary {
background: linear-gradient(135deg, var(--mint), var(--mint-light));
color: var(--blue-deep);
box-shadow: var(--shadow-mint);
}
.btn--primary:hover,
.btn--primary:focus-visible {
transform: translateY(-2px);
box-shadow: 0 8px 32px rgba(75, 155, 100, 0.4);
}
.btn--outline {
background: transparent;
color: var(--white);
border: 2px solid rgba(255, 255, 255, 0.4);
}
.btn--outline:hover,
.btn--outline:focus-visible {
border-color: var(--mint);
color: var(--mint);
} .tag {
display: inline-block;
padding: 0.25rem 0.75rem;
font-size: var(--fs-small);
font-weight: var(--fw-medium);
border-radius: var(--radius-full);
background: var(--mint-light);
color: var(--blue-deep);
} .card {
background: var(--white);
border-radius: var(--radius-lg);
box-shadow: var(--shadow-sm);
overflow: hidden;
transition: transform var(--transition-base), box-shadow var(--transition-base);
}
.card:hover {
transform: translateY(-4px);
box-shadow: var(--shadow-md);
}
.card__body {
padding: var(--space-md);
}
.card__meta {
font-size: var(--fs-small);
color: var(--grey-dark);
margin-bottom: var(--space-xs);
}
.card__title {
font-size: var(--fs-h3);
font-weight: var(--fw-bold);
color: var(--blue-deep);
margin-bottom: var(--space-xs);
line-height: 1.3;
}
.card__excerpt {
font-size: var(--fs-body);
color: var(--text-body);
line-height: var(--lh-body);
}
.card__img {
width: 100%;
aspect-ratio: 16 / 9;
object-fit: cover;
} .divider {
width: 48px;
height: 3px;
background: linear-gradient(90deg, var(--gold), var(--gold-light));
border-radius: var(--radius-full);
border: none;
}
.divider--center { margin-inline: auto; } .bg-dark {
background-color: var(--blue-deep);
color: var(--white);
}
.bg-dark h2, .bg-dark h3 {
color: var(--white);
} .bg-light {
background-color: var(--grey);
} .reveal {
opacity: 0;
transform: translateY(24px);
transition: opacity var(--transition-slow), transform var(--transition-slow);
}
.reveal.is-visible {
opacity: 1;
transform: translateY(0);
} .scroll-to-top {
position: fixed;
bottom: 2rem;
right: 2rem;
width: 44px;
height: 44px;
border-radius: 50%;
background: var(--mint);
border: none;
cursor: pointer;
opacity: 0;
visibility: hidden;
transition: opacity 0.3s ease, visibility 0.3s ease, background 0.3s ease, transform 0.3s ease;
z-index: 999;
}
.scroll-to-top.is-visible {
opacity: 1;
visibility: visible;
}
.scroll-to-top:hover {
background: var(--mint-light);
transform: translateY(-2px);
}
.scroll-to-top::before {
content: "";
position: absolute;
top: 50%;
left: 50%;
width: 10px;
height: 10px;
border-right: 2px solid var(--blue-deep);
border-bottom: 2px solid var(--blue-deep);
transform: translate(-50%, -35%) rotate(225deg);
transform-origin: center;
} .consent-panel {
position: fixed;
bottom: 1.5rem;
left: 1.5rem;
max-width: 540px;
background: var(--blue-deep);
color: var(--white);
padding: 1.25rem 1.5rem;
border-radius: var(--radius-md);
box-shadow: 0 4px 24px rgba(0, 0, 0, 0.2);
z-index: 9999;
font-size: var(--fs-small);
line-height: var(--lh-body);
transition: opacity 0.3s ease, transform 0.3s ease;
}
.consent-panel.is-hidden {
opacity: 0;
pointer-events: none;
transform: translateY(8px);
}
.consent-panel__text {
margin: 0 0 1rem;
opacity: 0.85;
}
.consent-panel__actions {
display: flex;
gap: 0.75rem;
}
.consent-panel__btn {
flex: 1;
padding: 0.5rem 0.75rem;
border: none;
border-radius: var(--radius-sm);
font-family: var(--font-primary);
font-size: var(--fs-small);
font-weight: var(--fw-semibold);
cursor: pointer;
transition: opacity 0.2s ease;
}
.consent-panel__btn--accept {
background: var(--mint);
color: var(--blue-deep);
}
.consent-panel__btn--reject {
background: transparent;
color: var(--white);
border: 1px solid rgba(255, 255, 255, 0.3);
}
.consent-panel__btn:hover {
opacity: 0.8;
}
.site-header {
position: fixed;
top: 0;
left: 0;
right: 0;
height: var(--header-height);
z-index: 1000;
transition: background var(--transition-base), box-shadow var(--transition-base), height var(--transition-base);
} .site-header--transparent {
background: transparent;
} .site-header--scrolled {
background: rgba(15, 30, 51, 0.97);
box-shadow: 0 2px 24px rgba(0, 0, 0, 0.25);
height: 68px;
}
@media (min-width: 769px) {
.site-header--scrolled {
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
}
}
.site-header__inner {
display: flex;
align-items: center;
justify-content: space-between;
height: 100%;
padding-inline: var(--container-pad);
max-width: var(--container-wide);
margin-inline: auto;
} .site-header__logo {
display: flex;
align-items: center;
flex-shrink: 0;
}
.site-header__logo img {
height: 36px;
width: auto;
transition: height var(--transition-base);
}
.site-header--scrolled .site-header__logo img {
height: 30px;
} .site-nav {
display: flex;
align-items: center;
gap: var(--space-md);
}
.site-nav__list {
display: flex;
align-items: center;
gap: var(--space-sm);
}
.site-nav__link {
font-size: var(--fs-small);
font-weight: var(--fw-medium);
letter-spacing: 0.05em;
color: rgba(255, 255, 255, 0.85);
padding: 0.375rem 0.5rem;
position: relative;
transition: color var(--transition-fast);
}
.site-nav__link::after {
content: '';
position: absolute;
bottom: -2px;
left: 0.5rem;
right: 0.5rem;
height: 2px;
background: var(--mint);
border-radius: var(--radius-full);
transform: scaleX(0);
transform-origin: left;
transition: transform var(--transition-base);
}
.site-nav__link:hover,
.site-nav__link.is-active {
color: var(--white);
}
.site-nav__link:hover::after,
.site-nav__link.is-active::after {
transform: scaleX(1);
} .lang-switcher {
display: flex;
align-items: center;
gap: 0.25rem;
margin-left: var(--space-sm);
padding-left: var(--space-sm);
border-left: 1px solid rgba(255, 255, 255, 0.15);
}
.lang-switcher a {
font-size: var(--fs-small);
font-weight: var(--fw-semibold);
letter-spacing: 0.08em;
text-transform: uppercase;
color: rgba(255, 255, 255, 0.6);
padding: 0.3rem 0.6rem;
border-radius: var(--radius-sm);
position: relative;
transition: color var(--transition-fast);
} .lang-switcher a::after {
content: '';
position: absolute;
bottom: -2px;
left: 0.6rem;
right: 0.6rem;
height: 2px;
background: var(--mint);
border-radius: var(--radius-full);
transform: scaleX(0);
transform-origin: left;
transition: transform var(--transition-base);
}
.lang-switcher a:hover {
color: var(--mint);
}
.lang-switcher a:hover::after {
transform: scaleX(1);
background: var(--mint);
} .lang-switcher a.current-lang {
color: var(--mint);
font-weight: var(--fw-bold);
}
.lang-switcher a.current-lang::after {
transform: scaleX(1);
} .nav-toggle {
display: none;
flex-direction: column;
justify-content: center;
gap: 5px;
width: 40px;
height: 40px;
padding: 8px;
cursor: pointer;
background: transparent;
border: none;
z-index: 1001;
}
.nav-toggle__bar {
display: block;
width: 24px;
height: 2px;
background: var(--white);
border-radius: var(--radius-full);
transition: transform var(--transition-base), opacity var(--transition-fast);
transform-origin: center;
} .nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(1) {
transform: translateY(7px) rotate(45deg);
}
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(2) {
opacity: 0;
transform: scaleX(0);
}
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(3) {
transform: translateY(-7px) rotate(-45deg);
} @media (max-width: 768px) {
.nav-toggle {
display: flex;
}
.site-nav {
position: fixed;
inset: 0;
background: var(--blue-deep);
flex-direction: column;
justify-content: center;
align-items: center;
gap: var(--space-lg);
opacity: 0;
pointer-events: none;
transition: opacity var(--transition-base);
}
.site-nav.is-open {
opacity: 1;
pointer-events: auto;
}
.site-nav__list {
flex-direction: column;
align-items: center;
gap: var(--space-md);
}
.site-nav__link {
font-size: var(--fs-h3);
letter-spacing: 0.1em;
}
.lang-switcher {
margin-left: 0;
}
}
.site-footer {
background: #080f1a;
padding-block: var(--space-md) var(--space-md);
border-top: 1px solid rgba(208, 156, 69, 0.15);
}
.site-footer__inner {
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--space-md);
flex-wrap: wrap;
}
.site-footer__logo img {
height: 28px;
width: auto;
opacity: 0.75;
transition: opacity var(--transition-fast);
}
.site-footer__logo:hover img {
opacity: 1;
}
.site-footer__copy {
font-size: var(--fs-small);
color: rgba(255, 255, 255, 0.35);
}
.site-footer__links {
display: flex;
gap: var(--space-md);
}
.site-footer__links a {
font-size: var(--fs-small);
color: rgba(255, 255, 255, 0.35);
transition: color var(--transition-fast);
}
.site-footer__links a:hover {
color: var(--mint);
}
@media (max-width: 640px) {
.site-footer__inner {
flex-direction: column;
align-items: center;
text-align: center;
}
} .hero {
position: relative;
min-height: 60svh;
display: flex;
align-items: center;
overflow: hidden;
background: linear-gradient(
135deg,
var(--blue-deep) 0%,
#162844 40%,
#0a2a4a 70%,
#0d3a5c 100%
);
} .hero::before {
content: '';
position: absolute;
inset: 0;
background-image: radial-gradient(circle, rgba(208, 156, 69, 0.08) 1px, transparent 1px);
background-size: 40px 40px;
pointer-events: none;
} .hero::after {
content: '';
position: absolute;
top: 20%;
right: -10%;
width: 600px;
height: 600px;
background: radial-gradient(circle, rgba(208, 156, 69, 0.12) 0%, transparent 65%);
pointer-events: none;
}
.hero__container {
position: relative;
z-index: 1;
width: 100%;
max-width: var(--container-max);
margin-inline: auto;
padding-inline: var(--container-pad);
padding-block: calc(var(--header-height) + var(--space-xl)) var(--space-xl);
}
.hero__content {
max-width: 680px;
}
.hero__eyebrow {
display: inline-flex;
align-items: center;
gap: var(--space-xs);
font-size: var(--fs-small);
font-weight: var(--fw-semibold);
letter-spacing: 0.18em;
text-transform: uppercase;
color: var(--mint);
margin-bottom: var(--space-md);
}
.hero__eyebrow::before {
content: '';
display: inline-block;
width: 24px;
height: 2px;
background: var(--mint);
border-radius: var(--radius-full);
}
.hero__title {
font-size: var(--fs-h1);
font-weight: var(--fw-bold);
color: var(--white);
line-height: 1.1;
letter-spacing: -0.02em;
margin-bottom: var(--space-md);
}
.hero__title span {
color: var(--gold);
}
.hero__subtitle {
font-size: var(--fs-body-large);
color: rgba(255, 255, 255, 0.72);
line-height: var(--lh-body);
margin-bottom: var(--space-md);
max-width: 540px;
}
.hero__actions {
display: flex;
flex-wrap: wrap;
gap: var(--space-sm);
} .hero__deco {
position: absolute;
bottom: 0;
right: -25%;
width: clamp(420px, 50vw, 800px);
transform: translateX(50%);
transform: translateY(50%);
opacity: 0.12;
pointer-events: none;
user-select: none;
z-index: 0;
}
.hero__deco img {
width: 100%;
height: auto;
display: block;
filter: brightness(0) invert(1); } .hero__scroll-indicator {
position: absolute;
bottom: var(--space-md);
left: 50%;
transform: translateX(-50%);
display: flex;
flex-direction: column;
align-items: center;
gap: 0.5rem;
color: rgba(255, 255, 255, 0.4);
font-size: var(--fs-small);
letter-spacing: 0.1em;
text-transform: uppercase;
animation: bounce 2s ease-in-out infinite;
}
.hero__scroll-indicator svg {
width: 20px;
height: 20px;
stroke: rgba(255, 255, 255, 0.4);
}
@keyframes bounce {
0%, 100% { transform: translateX(-50%) translateY(0); }
50%       { transform: translateX(-50%) translateY(6px); }
}
@media (max-width: 768px) {
.hero__title { font-size: clamp(2rem, 8vw, 2.75rem); }
.hero__subtitle { font-size: var(--fs-body); }
.hero__actions { flex-direction: column; align-items: flex-start; }
.hero__deco { width: clamp(200px, 60vw, 320px);    opacity: 0.08;  }
.hero__container {padding-block: calc(var(--header-height) + var(--space-lg)) var(--space-xl);}
}
.about {
padding-block: var(--space-xl);
background: var(--white);
padding-bottom: 0;
} .about__grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: var(--space-xl);
align-items: center;
margin-bottom: var(--space-xl);
}
.about__header {
margin-bottom: var(--space-lg);
}
.about__text {
font-size: var(--fs-body-large);
line-height: var(--lh-body);
color: var(--text-body);
}
.about__text p + p {
margin-top: var(--space-sm);
} .about__photo-frame {
position: relative;
border-radius: var(--radius-lg);
overflow: hidden;
} .about__photo-frame::before {
content: '';
position: absolute;
inset: 0;
border-radius: var(--radius-lg);
box-shadow: inset 0 0 0 2px rgba(208, 156, 69, 0.3);
z-index: 1;
pointer-events: none;
} .about__photo-frame::after {
content: '';
position: absolute;
bottom: -12px;
right: -12px;
width: 80px;
height: 80px;
background: linear-gradient(135deg, var(--gold), var(--gold-light));
border-radius: var(--radius-md);
z-index: -1;
opacity: 0.6;
}
.about__photo-img {
width: 100%;
aspect-ratio: 4 / 5;
object-fit: cover;
display: block;
transition: transform var(--transition-slow);
}
.about__photo-frame:hover .about__photo-img {
transform: scale(1.03);
} .about__mission {
background: var(--grey-light);
border-radius: var(--radius-lg);
padding: var(--space-lg) var(--space-xl);
margin-bottom: var(--space-xl);
position: relative;
overflow: hidden;
}
.about__mission-title {
font-size: var(--fs-h3);
font-weight: var(--fw-bold);
color: var(--gold);
margin-bottom: var(--space-md);
padding-bottom: var(--space-sm);
border-bottom: 1px solid var(--gold-light);
}
.about__mission-texts {
display: grid;
grid-template-columns: 1fr 1fr;
gap: var(--space-lg);
position: relative;
z-index: 1;
}
.about__mission-col {
font-size: var(--fs-body);
line-height: var(--lh-body);
color: var(--blue-deep);
}
.about__mission-col p + p {
margin-top: var(--space-sm);
} .about__bottom {
display: grid;
grid-template-columns: auto 1fr;
gap: var(--space-xl);
align-items: start;
} .about__stats {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: var(--space-sm);
min-width: 280px;
}
.stat-card {
background: var(--blue-deep);
border-radius: var(--radius-md);
padding: var(--space-md);
text-align: center;
position: relative;
overflow: hidden;
}
.stat-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(90deg, var(--gold), var(--gold-light));
}
.stat-card__number {
font-size: clamp(1.75rem, 3vw, 2.5rem);
font-weight: var(--fw-bold);
color: var(--gold);
line-height: 1;
margin-bottom: 0.5rem;
}
.stat-card__label {
font-size: var(--fs-small);
color: rgba(255, 255, 255, 0.7);
line-height: 1.4;
} .about__timeline {
padding-left: var(--space-md);
border-left: 1px solid var(--grey);
}
.timeline__title {
font-size: var(--fs-h3);
font-weight: var(--fw-bold);
color: var(--blue-deep);
margin-bottom: var(--space-md);
}
.timeline {
position: relative;
padding-left: 2rem;
}
.timeline::before {
content: '';
position: absolute;
left: 7px;
top: 6px;
bottom: 6px;
width: 2px;
background: linear-gradient(to bottom, var(--gold), var(--gold-light), var(--mint));
border-radius: var(--radius-full);
}
.timeline__item {
position: relative;
padding-bottom: var(--space-md);
}
.timeline__item:last-child { padding-bottom: 0; }
.timeline__item::before {
content: '';
position: absolute;
left: calc(-2rem + 2px);
top: 6px;
width: 12px;
height: 12px;
background: var(--gold);
border: 2px solid var(--white);
border-radius: 50%;
box-shadow: 0 0 0 3px rgba(208, 156, 69, 0.25);
transition: transform var(--transition-base);
}
.timeline__item:hover::before { transform: scale(1.3); }
.timeline__year {
display: inline-block;
font-size: var(--fs-small);
font-weight: var(--fw-bold);
color: var(--gold);
letter-spacing: 0.1em;
margin-bottom: 0.25rem;
}
.timeline__event {
font-size: var(--fs-body);
font-weight: var(--fw-semibold);
color: var(--blue-deep);
margin-bottom: 0.25rem;
}
.timeline__desc {
font-size: var(--fs-small);
color: var(--grey-dark);
line-height: 1.5;
} .about__history {
background: var(--blue-deep);
padding-block: var(--space-xl);
position: relative;
overflow: hidden;
}
.about__history::before {
content: '';
position: absolute;
inset: 0;
background-image: radial-gradient(circle, rgba(208, 156, 69, 0.06) 1px, transparent 1px);
background-size: 40px 40px;
pointer-events: none;
}
.about__history .container {
position: relative;
z-index: 1;
margin-bottom: var(--space-md);
}
.history__title {
font-size: var(--fs-h3);
font-weight: var(--fw-bold);
color: var(--white);
margin-bottom: var(--space-xs);
}
.history__subtitle {
font-size: var(--fs-body-large);
color: rgba(255, 255, 255, 0.75);
margin-bottom: 0.25rem;
}
.history__subsubtitle {
font-size: var(--fs-small);
color: rgba(255, 255, 255, 0.45);
} .history__timeline {
display: flex;
position: relative;
padding-inline: var(--container-pad);
max-width: var(--container-wide);
margin-inline: auto;
z-index: 1;
} .history__timeline::before {
content: '';
position: absolute;
top: 20px;
left: var(--container-pad);
right: var(--container-pad);
height: 2px;
background: linear-gradient(90deg, var(--gold), var(--gold-light), var(--mint), var(--gold-light), var(--gold));
z-index: 0;
}
.history__entry {
flex: 1;
position: relative;
text-align: center;
padding-top: calc(var(--space-md) + 12px);
} .history__entry::before {
content: '';
position: absolute;
top: 12px;
left: 50%;
transform: translateX(-50%);
width: 16px;
height: 16px;
background: var(--blue-deep);
border: 3px solid var(--gold);
border-radius: 50%;
box-shadow: 0 0 0 4px rgba(208, 156, 69, 0.2);
z-index: 1;
transition: transform var(--transition-base), box-shadow var(--transition-base);
}
.history__entry:hover::before {
transform: translateX(-50%) scale(1.4);
box-shadow: 0 0 0 6px rgba(208, 156, 69, 0.25);
}
.history__entry-number {
font-size: clamp(1.35rem, 1.5vw, 1.5rem);
font-weight: var(--fw-bold);
color: var(--gold-light);
line-height: 1;
margin-bottom: 0.75rem;
}
.history__entry-label {
font-size: var(--fs-small);
color: rgba(255, 255, 255, 0.65);
line-height: 1.4;
padding-inline: 0.5rem;
}
@media (max-width: 768px) {
.history__timeline {
flex-direction: column;
gap: 0;
}
.history__timeline::before {
top: 0;
bottom: 0;
left: calc(var(--container-pad) + 7px);
right: auto;
width: 2px;
height: auto;
background: linear-gradient(to bottom, var(--gold), var(--gold-light), var(--mint));
}
.history__entry {
display: flex;
align-items: flex-start;
gap: var(--space-md);
text-align: left;
padding-top: 0;
padding-left: calc(var(--container-pad) + var(--space-lg));
padding-block: var(--space-sm);
}
.history__entry::before {
top: 50%;
left: calc(var(--container-pad) + 0px);
transform: translateY(-50%);
}
.history__entry:hover::before {
transform: translateY(-50%) scale(1.3);
}
.history__entry-number {
font-size: 1.5rem;
min-width: 80px;
margin-bottom: 0;
}
} @media (max-width: 1024px) {
.about__grid {
grid-template-columns: 1fr;
gap: var(--space-lg);
margin-bottom: var(--space-lg);
}
.about {padding-block: var(--space-lg); padding-bottom: 0;}
.about__history {padding-block: var(--space-lg);}
.about__photo-img { aspect-ratio: 16 / 9; }
.about__mission { padding: var(--space-md); }
.about__mission-texts {
grid-template-columns: 1fr;
gap: var(--space-md);
}
.about__bottom {
grid-template-columns: 1fr;
gap: var(--space-lg);
}
.about__stats {
grid-template-columns: repeat(4, 1fr);
min-width: unset;
}
.about__timeline {
border-left: none;
padding-left: 0;
}
}
@media (max-width: 768px) {
.history__entry::before {display:none;}
.history__timeline::before {display:none;}
.history__entry {padding-left: 0;}
.history__entry-number {width:40%; font-size:1.2rem} 
.history__entry-label {width:60%;}
}
@media (max-width: 640px) {
.about__stats { grid-template-columns: repeat(2, 1fr); }
.about {padding-block: var(--space-sm) ;}
.about__mission {margin-bottom: var(--space-lg);}
.about__grid {margin-bottom: var(--space-lg);}
.about__history {padding-block: var(--space-lg);}
.history__entry::before {display:none;}
.history__timeline::before {display:none;}
.history__entry {padding-left: 0;}
.history__entry-number {width:40%; font-size:1.2rem} 
.history__entry-label {width:60%;}
.team {padding-block: var(--space-lg) !important;} 
.team__direction {margin-bottom: var(--space-md) !important;}
.team__subgroups {gap: var(--space-md) !important;}
.team__header, .technology__header, .impacts__header, .news__header {margin-bottom: var(--space-lg) !important;
}
}
.team {
padding-block: var(--space-xl);
background: var(--grey-light);
}
.team__header {
margin-bottom: var(--space-xl);
} .team__direction {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: var(--space-md);
margin-bottom: var(--space-lg);
}
.team-card {
background: var(--white);
border-radius: var(--radius-lg);
padding: var(--space-md);
text-align: center;
box-shadow: var(--shadow-sm);
border-top: 3px solid var(--mint);
transition: transform var(--transition-base), box-shadow var(--transition-base);
}
.team-card:hover {
transform: translateY(-4px);
box-shadow: var(--shadow-md);
}
.team-card__avatar {
width: 100px;
height: 100px;
border-radius: 50%;
overflow: hidden;
margin: 0 auto var(--space-sm);
background: linear-gradient(135deg, var(--blue-deep), #162844);
border: 3px solid var(--gold);
display: flex;
align-items: center;
justify-content: center;
}
.team-card__avatar img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center top;
display: block;
}
.team-card__avatar svg {
width: 100%;
height: 100%;
}
.team-card__name {
font-size: var(--fs-body);
font-weight: var(--fw-bold);
color: var(--blue-deep);
margin-bottom: 0.25rem;
}
.team-card__job {
font-size: var(--fs-small);
font-weight: var(--fw-medium);
color: var(--blue-deep);
letter-spacing: 0.04em;
margin-bottom: var(--space-xs);
}
.team-card__text {
font-size: var(--fs-small);
color: var(--grey-dark);
line-height: 1.6;
} 
.team-card__text span {
color: var(--gold);
}
.team-card p:nth-of-type(2) {
margin: 0.75rem 0;
font-weight: var(--fw-bold);
} .team__subgroups {
display: grid;
grid-template-columns: 1fr 1fr;
gap: var(--space-lg);
}
.team__subgroup {
background: var(--white);
border-radius: var(--radius-lg);
padding: var(--space-md);
box-shadow: var(--shadow-sm);
}
.team__subgroup-title {
font-size: var(--fs-h3);
font-weight: var(--fw-bold);
color: var(--blue-deep);
margin-bottom: var(--space-md);
padding-bottom: var(--space-sm);
border-bottom: 2px solid var(--mint);
}
.team__subgroup-list {
display: flex;
flex-direction: column;
gap: var(--space-sm);
}
.team__subgroup-item {
display: flex;
align-items: center;
gap: var(--space-sm);
padding: 0.625rem var(--space-sm);
border-bottom: 1px solid var(--grey);
border-radius: var(--radius-sm);
transition: background var(--transition-fast);
}
.team__subgroup-item:hover {
background: var(--grey);
}
.team__subgroup-item:last-child {
border-bottom: none;
} .team__subgroup-avatar {
flex-shrink: 0;
width: 52px;
height: 52px;
border-radius: 50%;
overflow: hidden;
border: 2px solid var(--gold);
background: linear-gradient(135deg, var(--blue-deep), #162844);
display: flex;
align-items: center;
justify-content: center;
}
.team__subgroup-avatar img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center top;
display: block;
}
.team__subgroup-avatar svg {
width: 100%;
height: 100%;
}
.team__subgroup-info {
display: flex;
flex-direction: column;
gap: 2px;
line-height: var(--lh-heading);
}
.team__subgroup-name {
font-size: var(--fs-body);
font-weight: var(--fw-bold);
color: var(--blue-deep);
margin-bottom: 0.5rem;
}
.team__subgroup-job {
font-size: var(--fs-small);
font-weight: var(--fw-medium);
color: var(--blue-deep);
letter-spacing: 0.04em;
} @media (max-width: 1024px) {
.team__header {
margin-bottom: var(--space-lg);
}
}
@media (orientation: portrait) and (max-width: 1024px) {
.team__subgroups {gap: var(--space-md);}
}
@media (max-width: 768px) {
.team__direction {
grid-template-columns: 1fr;
}
.team__subgroups {
grid-template-columns: 1fr;
}
}
@media (max-width: 640px) {
.team__header {
margin-bottom: var(--space-xl);
}
}
.technology span {
color: rgba(255, 255, 255, 0.78);
}
.technology {
padding-block: var(--space-xl);
padding-bottom: 0;
background: var(--blue-deep);
position: relative;
overflow: hidden;
}
.technology::before {
content: '';
position: absolute;
bottom: -20%;
left: -10%;
width: 500px;
height: 500px;
background: radial-gradient(circle, rgba(13, 118, 188, 0.12) 0%, transparent 70%);
pointer-events: none;
} .technology__header {
margin-bottom: var(--space-xl);
} .technology__intro {
margin-bottom: var(--space-xl);
}
.technology__intro-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: var(--space-xl);
align-items: start;
}
.technology__intro h5 {
margin-top: 0;
}
.technology__intro .tech-item:last-child {
margin-bottom: 0;
}
.technology__intro .tech-item:last-child .tech-item__text {  
margin-bottom: 0;
} .technology__image-wrap {
margin-bottom: var(--space-lg);
}
.technology__image-frame {
position: relative;
border-radius: var(--radius-lg);
overflow: hidden;
} .technology__image-frame::before {
content: '';
position: absolute;
inset: 0;
border-radius: var(--radius-lg);
box-shadow: inset 0 0 0 2px rgba(208, 156, 69, 0.3);
z-index: 1;
pointer-events: none;
} .technology__image-frame::after {
content: '';
position: absolute;
bottom: -12px;
right: -12px;
width: 80px;
height: 80px;
background: linear-gradient(135deg, var(--gold), var(--gold-light));
border-radius: var(--radius-md);
z-index: -1;
opacity: 0.5;
}
.technology__image-img {
width: 100%;
display: block;
object-fit: contain;
border-radius: var(--radius-lg);
background: rgba(255, 255, 255, 0.02);
box-shadow: var(--shadow-lg);
transition: transform var(--transition-slow);
}
.technology__image-frame:hover .technology__image-img {
transform: scale(1.02);
}   .tech-block__title {
font-size: var(--fs-h3);
font-weight: var(--fw-bold);
color: var(--white);
margin-bottom: var(--space-lg);
padding-bottom: var(--space-sm);
border-bottom: 2px solid var(--mint);
}
.border_grey {
border-bottom: none;
} .tech-item__subtitle {
font-size: 1.125rem;
font-weight: var(--fw-semibold);
color: var(--gold-light);
letter-spacing: 0.04em;
margin-top: var(--space-md);
margin-bottom: var(--space-sm);
} .tech-item__text {
font-size: var(--fs-body);
color: rgba(255, 255, 255, 0.78);
line-height: var(--lh-body);
} .tech-item {
margin-bottom: var(--space-md);
} .technology__benefits {
background: rgba(255, 255, 255, 0.02);
border-radius: var(--radius-lg);
padding: var(--space-lg);
border-top: none;
margin-top: var(--space-xl);
margin-bottom: var(--space-xl);
border: 1px solid rgba(255, 255, 255, 0.06);
}
.technology__benefits h5 {
text-align:center;
margin-bottom: var(--space-xl);
}
.technology__benefits .technology__image-wrap {
margin-bottom:0;
}
.technology__features {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: var(--space-lg);
}
.tech-feature {
text-align: center;
}
.tech-feature__icon {
margin-bottom: var(--space-sm);
}
.tech-feature__icon img {
width: 64px;
height: 64px;
object-fit: contain;
display: block;
margin-inline: auto;
}
.tech-feature__text {
font-size: var(--fs-body);
line-height: 1.6;
color: rgba(255, 255, 255, 0.78);
} .technology__oncology-header {
margin-bottom: var(--space-md);
margin-top: var(--space-xl);
}
.technology__oncology-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: var(--space-lg);
align-items: center;
margin-top: var(--space-xl);
}
.technology__oncology-text .tech-item__subtitle {
margin-top:0
} .container_image_full_width {
background-color: var(--gold);
padding: var(--space-xl);
}
.container_image_full_width .technology__image-wrap {
margin-bottom:0;
}
.technology__image-wrap .technology__image-img_hover {
transition: transform var(--transition-slow);
}
.technology__image-wrap:hover .technology__image-img_hover {
transform: scale(1.02);
transition: transform var(--transition-slow);
} .tech-oncology-card {
position: relative;
padding: var(--space-md) var(--space-md) var(--space-md);
border: 1px solid rgba(255, 255, 255, 0.1);
border-radius: var(--radius-md);
background: rgba(255, 255, 255, 0.03);
transition: border-color 0.25s ease, background 0.25s ease;
margin-top: var(--space-md);
}
.tech-oncology-card:first-child {
margin-top: 0;
}
.tech-oncology-card__title  {
display: flex;
align-items: center;
}
.tech-oncology-grid:last-child .tech-oncology-card {
margin-bottom:0;
}
.tech-oncology-card:hover {
border-color: rgba(208, 156, 69, 0.35);
background: rgba(208, 156, 69, 0.04);
}
.tech-oncology-card__number {
display: inline-flex;
align-items: center;
justify-content: center;
width: 2rem;
height: 2rem;
border-radius: 50%;
background: var(--mint);
color: var(--blue-deep) !important;
font-size: 0.85rem;
font-weight: var(--fw-bold);
flex-shrink: 0;
}
.tech-oncology-card__title {
font-size: 1rem;
font-weight: var(--fw-semibold);
color: var(--gold-light);
letter-spacing: 0.03em;
margin-bottom: var(--space-xs);
line-height: 1.4;
}
.tech-oncology-card__text {
font-size: var(--fs-body);
color: rgba(255, 255, 255, 0.75);
line-height: var(--lh-body);
} .container_pipeline {
background-color: var(--blue);
padding: var(--space-xl);
margin-top: var(--space-xl);
} .tech-highlight-pair {
display: grid;
grid-template-columns: 1fr 1fr;
gap: var(--space-md);
margin-block: var(--space-md) var(--space-lg);
}
.tech-highlight {
padding: var(--space-md);
background: rgba(69, 208, 127, 0.07);
border: 1px solid rgba(69, 208, 132, 0.25);
border-radius: var(--radius-md);
border-left: 3px solid var(--mint);
text-align: center;
align-content: center;
}
.tech-highlight h6 {
font-size: var(--fs-body);
font-weight: var(--fw-semibold);
color: var(--white);
line-height: 1.4;
}
.tech-highlight h6 span {
font-size: var(--fs-body);
font-weight: var(--fw-light);
font-style: italic;
color: var(--white);
line-height: 1.4;
display: block;
} .tech-pipeline-card {
position: relative;
padding: var(--space-md) var(--space-md) var(--space-md);
border: 1px solid rgba(255, 255, 255, 0.1);
border-radius: var(--radius-md);
background: rgba(255, 255, 255, 0.03);
transition: border-color 0.25s ease, background 0.25s ease;
}
.tech-pipeline-grid {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-areas:
"left right"
"full full";
gap: var(--space-md);
align-items: stretch;
}
.tech-pipeline-full {
grid-area: full;
}
.tech-pipeline-left {
grid-area: left;
display: flex;
flex-direction: column;
gap: var(--space-md);
}
.tech-pipeline-right {
grid-area: right;
display: flex;
height: 100%;
}
.tech-pipeline-right .technology__image-wrap {
width: 100%;
display: flex;
flex: 1;
margin-bottom:0;
height: 100%;
}
.tech-pipeline-right .technology__image-frame {
flex: 1;
display: flex;
height: 100%;
}
.tech-pipeline-right img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.tech-pipeline-grid:last-child .tech-pipeline-card {
margin-bottom:0;
}
.tech-pipeline-card:hover {
border-color: rgba(208, 156, 69, 0.35);
background: rgba(208, 156, 69, 0.04);
}
.tech-pipeline-card__title {
font-size: 1rem;
font-weight: var(--fw-semibold);
color: var(--gold-light);
letter-spacing: 0.03em;
margin-bottom: var(--space-xs);
line-height: 1.4;
}
.tech-pipeline-card__text {
font-size: var(--fs-body);
color: rgba(255, 255, 255, 0.75);
line-height: var(--lh-body);
}
.tech-item__text li {
padding: var(--space-xs) 0;
}
.tech-item__text_inline_li {
display: flex;
align-items: flex-start;
gap: var(--space-sm);
padding: var(--space-xs) 0;
}
.technology__oncology-header .tech-item__text:first-of-type li {
margin-top: var(--space-sm);
}
.technology__oncology-header .tech-item__text:first-of-type {
margin-top: var(--space-md);
}
.tech-card__text {
position: relative;
padding-left: 1.4rem;
}
.tech-card__text_inline {
display: inline-block;
}
.tech-card__text::before {
content: "–";
position: absolute;
left: 0;
color: var(--gold-light);
font-weight: 600;
}
.is-mobile {
display: none;
} @media (max-width: 1024px) {
.technology__intro-grid {
grid-template-columns: 1fr;
gap: var(--space-lg);
}
.container_image_full_width {
padding: var(--space-xl) var(--space-sm);
}
.container_pipeline {
padding: var(--space-xl) var(--space-sm);
}
}
@media (orientation: portrait) and (max-width: 1024px) {
.tech-pipeline-grid {
grid-template-columns: 1fr;
grid-template-areas:
"left"
"full";
}
.tech-pipeline-right {
display: none;
}
.technology__features {
grid-template-columns: repeat(2, 1fr);
}
.technology__benefits {
margin-top: var(--space-sm) ;
}
.container_image_full_width, .container_pipeline  {
padding: var(--space-lg) var(--space-sm);
}
.technology__oncology-grid {    grid-template-columns: 1fr;}
}
@media (max-width: 768px) {
.tech-pipeline-grid {
grid-template-columns: 1fr;
grid-template-areas:
"left"
"full";
}
.is-desktop {
display: none;
}
.is-mobile {
display: block;
}
.tech-pipeline-right {
display: none;
}
.technology__features {
grid-template-columns: repeat(2, 1fr);
}
.technology__benefits {
margin-top: var(--space-sm) ;
}
.container_image_full_width, .container_pipeline  {
padding: var(--space-lg) var(--space-sm);
}
}
@media (max-width: 640px) {
.tech-highlight-pair {grid-template-columns: 1fr; }
.technology {padding-block: var(--space-lg) ;padding-bottom: 0;}
.technology__intro {margin-bottom: var(--space-lg);}
.technology__image-wrap {margin-bottom: var(--space-lg);}
.technology__intro-grid {gap: var(--space-md);}
.technology__image-wrap {order:1}
.technology__intro {order:2}
.tech-pipeline-card {padding: var(--space-sm) var(--space-sm) var(--space-sm);}
.tech-item__subtitle {margin-top: var(--space-sm);}
.technology__benefits {margin-top: var(--space-lg); padding: var(--space-md);}
.technology__features { grid-template-columns: repeat(1, 1fr);}
.container_image_full_width {padding: var(--space-lg) 0;}
.tech-block__title { margin-bottom: var(--space-md);}
.technology__oncology-grid {margin-top: var(--space-lg);}
.tech-item__text_inline_li {align-items: center;}
.container_pipeline {padding: var(--space-xl) 0;}
}
.impacts {
padding-block: var(--space-xl);
background: var(--white);
}
.impacts__header {
margin-bottom: var(--space-xl);
}
.impacts__grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: var(--space-md);
} .impacts-item__subtitle {
font-size: 1.5rem;
font-weight: var(--fw-bold);
color: var(--gold);
margin: 0;
transition:  0.3s ease;
}
.impact-toggle__summary:hover .impacts-item__subtitle{
color: var(--mint-deep);
transition:  0.3s ease;
}
.impact-toggle__summary:hover {
border-bottom: 2px solid var(--mint-deep);
transition:  0.3s ease;
}
.impact-toggle__summary:hover .impact-toggle__icon {
color: var(--mint-deep);
transition:  0.3s ease;
}
.impact-toggle__icon, .impact-toggle__summary {
transition:  0.3s ease;
} .impacts-item__text {
font-size: var(--fs-body);
color: var(--blue-deep);
line-height: var(--lh-body);
}
.impacts-item__text p {
margin-top: var(--space-sm);
} .impact-toggle {
overflow: hidden;
} .impact-toggle__summary {
display: flex;
justify-content: space-between;
align-items: center;
gap: 1rem;
border-bottom: 2px solid rgba(208, 156, 69, 0.3);
padding: 1.5rem 0;
cursor: pointer;
} .impacts-item__subtitle {
margin: 0;
}
.impact-toggle__icon {
width: 12px;
height: 12px;
position: relative;
flex-shrink: 0;
}
.impact-toggle__icon::before {
content: "";
position: absolute;
top: 50%;
left: 50%;
width: 8px;
height: 8px;
border-right: 2px solid currentColor;
border-bottom: 2px solid currentColor;
transform: translate(-50%, -65%) rotate(45deg);
transform-origin: center;
transition: transform 0.3s ease;
}
.impact-toggle.is-open .impact-toggle__icon::before {
transform: translate(-50%, -35%) rotate(225deg);
} .impact-toggle__content {
max-height: 0;
opacity: 0;
overflow: hidden;
transform: translateY(-8px);
transition:
max-height 0.6s cubic-bezier(0.2, 0.9, 0.2, 1),
opacity 0.3s ease,
transform 0.45s cubic-bezier(0.2, 0.9, 0.2, 1);
}
.impact-toggle.is-open .impact-toggle__content {
max-height: 1000px;
opacity: 1;
transform: translateY(0);
} .impacts-item__text {
opacity: 0.9;
} @media (max-width: 1024px) {
.impacts__header {margin-bottom: var(--space-lg);    }
}
@media (max-width: 768px) {
.impacts__grid { grid-template-columns: repeat(1, 1fr);}
}
@media (orientation: portrait) and (max-width: 1024px) {
.impacts__grid { grid-template-columns: repeat(1, 1fr);}
}
@media (max-width: 640px) {
.impacts__grid {
grid-template-columns: 1fr;
}
.impacts {padding-block: var(--space-lg);}
}
.news {
padding-block: var(--space-xl);
background: var(--mint-light);
}
.news__header {
display: flex;
align-items: flex-end;
justify-content: space-between;
gap: var(--space-md);
margin-bottom: var(--space-xl);
flex-wrap: wrap;
}
.news__grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: var(--space-md);
}
.news-card {
background: var(--white);
border-radius: var(--radius-lg);
overflow: hidden;
box-shadow: var(--shadow-sm);
transition: transform var(--transition-base), box-shadow var(--transition-base);
display: flex;
flex-direction: column;
}
.news-card:hover {
transform: translateY(-4px);
box-shadow: var(--shadow-md);
}
.news-card__img-wrapper {
aspect-ratio: 16 / 9;
overflow: hidden;
background: var(--grey);
}
.news-card__img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform var(--transition-slow);
}
.news-card:hover .news-card__img {
transform: scale(1.04);
} .news-card__img-placeholder {
width: 100%;
height: 100%;
background: linear-gradient(135deg, #162844, #0a2a4a);
display: flex;
align-items: center;
justify-content: center;
}
.news-card__img-placeholder svg {
width: 40px;
height: 40px;
stroke: rgba(208, 156, 69, 0.4);
}
.news-card__body {
padding: var(--space-md);
flex: 1;
display: flex;
flex-direction: column;
}
.news-card__meta {
display: flex;
align-items: center;
gap: var(--space-xs);
margin-bottom: var(--space-xs);
}
.news-card__date {
font-size: var(--fs-small);
color: var(--grey-dark);
}
.news-card__title {
font-size: 1.0625rem;
font-weight: var(--fw-bold);
color: var(--blue-deep);
line-height: 1.35;
margin-bottom: var(--space-xs); }
.news-card__excerpt {
font-size: var(--fs-small);
color: var(--grey-dark);
line-height: 1.6;
margin-bottom: var(--space-sm);
}
.news-card__link {
font-size: var(--fs-small);
font-weight: var(--fw-medium);
letter-spacing: 0.05em;
color: var(--gold);
position: relative;
display: inline-flex;
transition: color var(--transition-fast);
display: inline-block;
width: fit-content;
}
.news-card__link::after {
content: '';
position: absolute;
bottom: -2px;
left: 0;
right: 0rem;
height: 2px;
background: var(--gold);
border-radius: var(--radius-full);
transform: scaleX(0);
transform-origin: left;
transition: transform var(--transition-base);
}
.news-card__link:hover::after,
.news-card__link.is-active::after {
transform: scaleX(1);
} .news__empty {
grid-column: 1 / -1;
text-align: center;
padding: var(--space-xl);
color: var(--grey-dark);
font-size: var(--fs-body-large);
}
@media (max-width: 1024px) {
.news__grid { grid-template-columns: repeat(3, 1fr); }
.news__header {margin-bottom: var(--space-lg);  }
}
@media (orientation: portrait) and (max-width: 1024px) {
.news__grid { grid-template-columns: repeat(1, 1fr); }
}
@media (max-width: 768px) {
.news__grid { grid-template-columns: repeat(1, 1fr); }
}
@media (max-width: 640px) {
.news__grid { grid-template-columns: 1fr; }
.news__header { flex-direction: column; align-items: flex-start; }
.news {padding-block: var(--space-lg);}
}
.contact {
padding-block: var(--space-xl);
background: var(--blue-deep);
position: relative;
overflow: hidden;
}
.contact::after {
content: '';
position: absolute;
top: -30%;
right: -15%;
width: 600px;
height: 600px;
background: radial-gradient(circle, rgba(208, 156, 69, 0.07) 0%, transparent 65%);
pointer-events: none;
}
.contact__grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: var(--space-xl);
align-items: start;
position: relative;
z-index: 1;
}
.contact__title {
color: var(--white);
}
.contact__text {
font-size: var(--fs-body-large);
color: rgba(255, 255, 255, 0.72);
line-height: var(--lh-body);
margin-bottom: var(--space-lg);
}  .contact-info-item {
display: flex;
align-items: flex-start;
gap: var(--space-sm);
}
.contact-info-item__icon {
flex-shrink: 0;
width: 40px;
height: 40px;
background: rgba(208, 156, 69, 0.12);
border: 1px solid rgba(208, 156, 69, 0.25);
border-radius: var(--radius-sm);
display: flex;
align-items: center;
justify-content: center;
margin-top: 2px;
}
.contact-info-item__icon svg {
width: 18px;
height: 18px;
stroke: var(--gold-light);
}
.contact-info-item__label {
font-size: var(--fs-small);
font-weight: var(--fw-semibold);
color: var(--gold-light);
letter-spacing: 0.08em;
text-transform: uppercase;
margin-bottom: 0.2rem;
}
.contact-info-item__value {
font-size: var(--fs-body);
color: rgba(255, 255, 255, 0.85);
}
.contact-info-item__value a {
transition: color var(--transition-fast);
}
.contact-info-item__value a:hover {
color: var(--mint);
} .contact__location {
border-radius: var(--radius-lg);
overflow: hidden;
box-shadow: var(--shadow-lg);
}
.contact__location-img {
width: 100%;
aspect-ratio: 4 / 3;
object-fit: cover;
display: block;
}
.contact__location-caption {
padding: var(--space-sm) var(--space-md);
background: rgba(255, 255, 255, 0.05);
border: 1px solid rgba(255, 255, 255, 0.08);
border-top: none;
border-radius: 0 0 var(--radius-lg) var(--radius-lg);
}
.contact__location-caption p {
font-size: var(--fs-small);
color: rgba(255, 255, 255, 0.6);
margin: 0;
}
@media (max-width: 1024px) {
.contact__grid {
grid-template-columns: 1fr;
gap: var(--space-lg);
}
.contact {padding-block: var(--space-lg);}
}
.privacy-hero {
position: relative;
min-height: clamp(240px, 35svh, 420px);
display: flex;
align-items: center;
overflow: hidden;
background: linear-gradient(
135deg,
var(--blue-deep) 0%,
#162844 40%,
#0a2a4a 70%,
#0d3a5c 100%
);
}
.privacy-content li::before {
content: "–";
position: absolute;
left: 0;
color: var(--gold-light);
font-weight: 600;
}
.privacy-content ul {
margin-bottom: var(--space-xs);
}
.privacy-content__block a {color: var(--gold); text-decoration: underline; font-weight: 600; transition: color var(--transition-fast);}
.privacy-content__block a:hover {color: var(--mint); text-decoration: underline; font-weight: 600; transition: color var(--transition-fast);} .privacy-hero::before {
content: '';
position: absolute;
inset: 0;
background-image: radial-gradient(circle, rgba(208, 156, 69, 0.08) 1px, transparent 1px);
background-size: 40px 40px;
pointer-events: none;
} .privacy-hero::after {
content: '';
position: absolute;
top: 20%;
right: -10%;
width: 500px;
height: 500px;
background: radial-gradient(circle, rgba(208, 156, 69, 0.1) 0%, transparent 65%);
pointer-events: none;
}
.privacy-hero__container {
position: relative;
z-index: 1;
width: 100%;
max-width: var(--container-max);
margin-inline: auto;
padding-inline: var(--container-pad);
padding-block: calc(var(--header-height, 80px) + var(--space-lg)) var(--space-lg);
}
.privacy-hero__title {
font-size: var(--fs-h1);
font-weight: var(--fw-bold);
color: var(--white);
line-height: var(--lh-heading);
max-width: 700px;
margin: 0;
} .privacy-content {
background: var(--white);
}
.privacy-content__intro {
font-size: var(--fs-body-large);
color: var(--text-body);
line-height: var(--lh-body);
margin-bottom: var(--space-lg);
padding-bottom: var(--space-lg);
border-bottom: 1px solid var(--grey);
}
.privacy-content__intro p { margin-top: 0; }
.privacy-content__intro p + p { margin-top: var(--space-sm); }
.privacy-content__block {
margin-bottom: var(--space-lg);
padding-bottom: var(--space-lg);
border-bottom: 1px solid var(--grey);
}
.privacy-content__block:last-child {
border-bottom: none;
margin-bottom: 0;
padding-bottom: 0;
}
.privacy-content__subtitle {
font-size: var(--fs-h3);
font-weight: var(--fw-bold);
color: var(--blue-deep);
margin: 0 0 var(--space-sm);
line-height: var(--lh-heading);
}
.privacy-content__subsubtitle {
font-size: var(--fs-body-large);
font-weight: var(--fw-semibold);
color: var(--blue-deep);
margin: 0 0 0.5rem;
line-height: var(--lh-heading);
}
.privacy-content__subsection + .privacy-content__subsection {
margin-top: var(--space-md);
}
.privacy-content__text {
font-size: var(--fs-body);
color: var(--text-body);
line-height: var(--lh-body);
}
.privacy-content__text p { margin-top: 0; }
.privacy-content__text p + p { margin-top: var(--space-xs); }
.privacy-content__text ul,
.privacy-content__text ol {
padding-left: 1.5rem;
margin-top: var(--space-xs);
}
.privacy-content__text li {
margin-bottom: 0.4rem;
} @media (max-width: 768px) {
.privacy-hero__title {
font-size: clamp(1.5rem, 5vw, 2.25rem);
}
}
.li_disabled::before {
display:none
}
.ul_disabled {
padding-left: 0 !important;
} .legal-hero {
position: relative;
min-height: clamp(240px, 35svh, 420px);
display: flex;
align-items: center;
overflow: hidden;
background: linear-gradient(
135deg,
var(--blue-deep) 0%,
#162844 40%,
#0a2a4a 70%,
#0d3a5c 100%
);
}
.legal-content li::before {
content: "–";
position: absolute;
left: 0;
color: var(--gold-light);
font-weight: 600;
}
.legal-content ul {
margin-bottom: var(--space-xs);
}
.legal-content__block a {color: var(--gold); text-decoration: underline; font-weight: 600; transition: color var(--transition-fast);}
.legal-content__block a:hover {color: var(--mint); text-decoration: underline; font-weight: 600; transition: color var(--transition-fast);} .legal-hero::before {
content: '';
position: absolute;
inset: 0;
background-image: radial-gradient(circle, rgba(208, 156, 69, 0.08) 1px, transparent 1px);
background-size: 40px 40px;
pointer-events: none;
} .legal-hero::after {
content: '';
position: absolute;
top: 20%;
right: -10%;
width: 500px;
height: 500px;
background: radial-gradient(circle, rgba(208, 156, 69, 0.1) 0%, transparent 65%);
pointer-events: none;
}
.legal-hero__container {
position: relative;
z-index: 1;
width: 100%;
max-width: var(--container-max);
margin-inline: auto;
padding-inline: var(--container-pad);
padding-block: calc(var(--header-height, 80px) + var(--space-lg)) var(--space-lg);
}
.legal-hero__title {
font-size: var(--fs-h1);
font-weight: var(--fw-bold);
color: var(--white);
line-height: var(--lh-heading);
max-width: 700px;
margin: 0;
} .legal-content {
background: var(--white);
}
.legal-content__intro {
font-size: var(--fs-body-large);
color: var(--text-body);
line-height: var(--lh-body);
margin-bottom: var(--space-lg);
padding-bottom: var(--space-lg);
border-bottom: 1px solid var(--grey);
}
.legal-content__intro p { margin-top: 0; }
.legal-content__intro p + p { margin-top: var(--space-sm); }
.legal-content__block {
margin-bottom: var(--space-lg);
padding-bottom: var(--space-lg);
border-bottom: 1px solid var(--grey);
}
.legal-content__block:last-child {
border-bottom: none;
margin-bottom: 0;
padding-bottom: 0;
}
.legal-content__subtitle {
font-size: var(--fs-h3);
font-weight: var(--fw-bold);
color: var(--blue-deep);
margin: 0 0 var(--space-sm);
line-height: var(--lh-heading);
}
.legal-content__subsubtitle {
font-size: var(--fs-body-large);
font-weight: var(--fw-semibold);
color: var(--blue-deep);
margin: 0 0 0.5rem;
line-height: var(--lh-heading);
}
.legal-content__subsection + .legal-content__subsection {
margin-top: var(--space-md);
}
.legal-content__text {
font-size: var(--fs-body);
color: var(--text-body);
line-height: var(--lh-body);
}
.legal-content__text p { margin-top: 0; }
.legal-content__text p + p { margin-top: var(--space-xs); }
.legal-content__text ul,
.legal-content__text ol {
padding-left: 1.5rem;
margin-top: var(--space-xs);
}
.legal-content__text li {
margin-bottom: 0.4rem;
} @media (max-width: 768px) {
.legal-hero__title {
font-size: clamp(1.5rem, 5vw, 2.25rem);
}
}
.page-404 {
position: relative;
min-height: 100svh;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
background: linear-gradient(
135deg,
var(--blue-deep) 0%,
#162844 40%,
#0a2a4a 70%,
#0d3a5c 100%
);
} .page-404__dots {
position: absolute;
inset: 0;
background-image: radial-gradient(circle, rgba(208, 156, 69, 0.08) 1px, transparent 1px);
background-size: 40px 40px;
pointer-events: none;
} .page-404__halo {
position: absolute;
top: 20%;
right: -10%;
width: 600px;
height: 600px;
background: radial-gradient(circle, rgba(208, 156, 69, 0.12) 0%, transparent 65%);
pointer-events: none;
} .page-404__inner {
position: relative;
z-index: 1;
text-align: center;
padding-inline: var(--container-pad);
padding-block: calc(var(--header-height) + var(--space-xl)) var(--space-xl);
max-width: var(--container-narrow);
width: 100%;
margin-inline: auto;
display: flex;
flex-direction: column;
align-items: center;
gap: var(--space-md);
} .page-404__code {
font-family: var(--font-primary);
font-size: clamp(6rem, 20vw, 14rem);
font-weight: var(--fw-bold);
line-height: 1;
letter-spacing: -0.04em;
color: rgba(255, 255, 255, 0.1);
user-select: none;
pointer-events: none;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
z-index: 0;
white-space: nowrap;
}
.page-404__title {
font-size: var(--fs-h2);
font-weight: var(--fw-bold);
color: var(--white);
line-height: var(--lh-heading);
letter-spacing: -0.02em;
margin: 0;
}
.page-404__title span {
color: var(--gold);
}
.page-404__text {
font-size: var(--fs-body-large);
color: rgba(255, 255, 255, 0.72);
line-height: var(--lh-body);
margin: 0;
max-width: 480px;
}
.page-404__cta {
margin-top: var(--space-sm);
} .page-404__deco {
position: absolute;
bottom: 0;
right: -25%;
width: clamp(320px, 45vw, 700px);
transform: translateY(40%);
opacity: 0.07;
pointer-events: none;
user-select: none;
z-index: 0;
}
.page-404__deco img {
width: 100%;
height: auto;
display: block;
filter: brightness(0) invert(1);
} @media (max-width: 768px) {
.page-404__title {
font-size: var(--fs-h3);
}
.page-404__text {
font-size: var(--fs-body);
}
.page-404__halo {
width: 300px;
height: 300px;
}
.page-404__deco {
width: clamp(180px, 55vw, 280px);
opacity: 0.05;
}
}