/* FRONT PAGE — lower sections. Shared typography, buttons and tokens live in the main stylesheet. */
.experience { padding: 104px var(--page-gutter) 110px; background: var(--color-ink); color: var(--color-white); border-radius: 32px 32px 0 0; }
.experience__header { display: block; }
.experience__kicker { font-size: clamp(42px, 6.2vw, 84px); line-height: 1.15; letter-spacing: .01em; }
.experience__kicker > span { display: inline; }
.experience__period, .services__period, .about__period, .news__period, .contact__period { color: var(--color-accent); }
.experience__title { margin: 0; font-size: clamp(28px, 2.6vw, 36px); line-height: 1.8; letter-spacing: .025em; }
.experience__title > span { display: block; }
.experience__content { display: grid; grid-template-columns: 1fr 1.1fr; gap: 70px; margin-top: 48px; padding-top: 42px; border-top: 1px solid #4B5052; }
.experience__intro { min-width: 0; padding-top: 0; }
.experience__lead { font-size: 16px; line-height: 2.1; margin-top: 28px; letter-spacing: .04em; color: #CDD2D4; }
.experience__list { padding: 0; margin: 0; list-style: none; }
.experience__item { display: flex; align-items: flex-start; gap: 24px; padding: 27px 0 28px; border-bottom: 1px solid #4B5052; }
.experience__item:first-child { padding-top: 10px; }
.experience__number { color: #BBC1C4; padding-top: 6px; font: 400 12px / 1.8 var(--font-en); letter-spacing: .07em; flex-shrink: 0; }
.experience__item h3 { margin: 0; font-size: 20px; line-height: 1.7; font-weight: 600; letter-spacing: .02em; }
.experience__item p { font-size: 14px; line-height: 2; margin-top: 13px; color: #CDD2D4; }
.experience a:focus-visible, .site-footer a:focus-visible { outline-color: var(--color-white); }

.services { padding: 120px var(--page-gutter) 108px; }
.services__header { margin-bottom: 45px; }
.services__title { margin-top: 30px; line-height: 1.65; }
.services__mobile-break { display: none; }
.services__lead { font-size: 15px; line-height: 2; margin-top: 22px; letter-spacing: .02em; }
.services__panel { background: var(--color-white); padding: 14px 44px; border-radius: 28px; }
.services__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 56px; }
.services__item { display: grid; grid-template-columns: 24px 1fr 22px; gap: 14px; align-items: start; padding: 37px 0 39px; border-bottom: 1px solid var(--color-line); }
.services__item:nth-last-child(-n+2) { border-bottom: 0; }
.services__number { font: 500 11px / 1.9 var(--font-en); letter-spacing: .05em; padding-top: 5px; color: #626B70; }
.services__body { min-width: 0; }
.services__body h3 { margin: 0; font-size: clamp(16px, 1.38vw, 20px); font-weight: 700; line-height: 1.75; letter-spacing: -.02em; }
.services__body p { font-size: 13px; line-height: 1.95; letter-spacing: .005em; margin-top: 14px; color: #51595D; }
.services__arrow { font: 400 24px / 1.4 var(--font-en); transition: transform 220ms ease; }

.about-news { padding: 0 var(--page-gutter) 112px; }
.about-news__grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--color-line); padding-top: 68px; }
.about { padding-right: 64px; }
.about__kicker, .news__kicker { font-size: clamp(30px, 3.1vw, 45px); letter-spacing: -.045em; white-space: nowrap; }
.about__title { margin-top: 34px; font-size: 32px; line-height: 1.75; letter-spacing: .05em; }
.about__company { font-size: 14px; line-height: 2.1; margin-top: 27px; letter-spacing: .02em; }
.about__company p:first-child { font-weight: 700; margin-bottom: 9px; }
.about__link { margin-top: 34px; width: 256px; }
.news { border-left: 1px solid var(--color-line); padding-left: 64px; }
.news__title { font-size: 18px; font-weight: 700; line-height: 1.6; margin-top: 20px; letter-spacing: .1em; }
.news__list { margin-top: 40px; }
.news__item { border-top: 1px solid var(--color-line); }
.news__item:last-child { border-bottom: 1px solid var(--color-line); }
.news__item a { display: flex; align-items: center; gap: 20px; justify-content: space-between; padding: 25px 0 29px; }
.news__body { min-width: 0; }
.news__sample { font-size: 11px; font-weight: 500; line-height: 1.6; display: inline-block; padding: 3px 9px; border: 1px solid #A7B1B5; border-radius: 999px; }
.news__body h3 { font-size: 16px; font-weight: 500; line-height: 1.9; margin: 15px 0 0; }
.news__arrow { font: 400 25px / 1 var(--font-en); flex-shrink: 0; transition: transform 220ms ease; }
.news__archive-link { display: flex; align-items: center; justify-content: space-between; gap: 20px; width: fit-content; min-height: 44px; margin-top: 20px; font-size: 13px; text-decoration: underline; text-underline-offset: 5px; }
.news__archive-link span { font-size: 19px; text-decoration: none; }

.contact { padding: 0 var(--page-gutter) 112px; }
.contact__panel { border-radius: 32px; background: var(--color-white); padding: 56px clamp(32px, 4vw, 64px) 60px; }
.contact__kicker { font-size: clamp(60px, 8.5vw, 118px); letter-spacing: -.06em; line-height: 1.05; }
.contact__content { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; margin-top: 40px; }
.contact__title { font-size: clamp(21px, 2.05vw, 29px); line-height: 1.8; letter-spacing: .02em; }
.contact__title > span { display: block; }
.contact__lead { margin-top: 25px; font-size: 14px; line-height: 2.1; letter-spacing: .025em; }
.contact__link { background: var(--color-ink); color: var(--color-white); flex-shrink: 0; width: 286px; }
.contact__link .arrow-circle { color: var(--color-ink); background: var(--color-accent); }

.site-footer { padding: 68px var(--page-gutter) 28px; background: var(--color-ink); color: var(--color-white); }
.site-footer__top { display: grid; grid-template-columns: 210px 1fr; gap: clamp(40px, 6.4vw, 104px); }
.site-footer__brand { width: 196px; margin-top: 2px; }
.site-footer__nav { display: grid; grid-template-columns: 1.05fr 1.3fr 1.1fr; gap: 32px; }
.site-footer__column h2 { font-size: 13px; line-height: 1.8; margin: 0; font-weight: 600; }
.site-footer__column ul { padding: 0; margin: 24px 0 0; list-style: none; }
.site-footer__column li + li { margin-top: 12px; }
.site-footer__column li a { font-size: 12px; line-height: 1.9; color: #C9D0D3; text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 4px; transition: text-decoration-color 180ms; }
.site-footer__bottom { border-top: 1px solid #4B5052; padding-top: 25px; margin-top: 62px; display: flex; gap: 20px; align-items: center; }
.site-footer__bottom > p { font-size: 11px; letter-spacing: .03em; color: #C9D0D3; }
.site-footer__bottom small { font: 400 11px / 1.5 var(--font-en); letter-spacing: .015em; color: #C9D0D3; }
.site-footer__back { display: flex; align-items: center; gap: 14px; margin-left: auto; font: 500 10px / 1.5 var(--font-en); letter-spacing: .06em; min-height: 44px; }
.site-footer__back > span:last-child { display: grid; place-items: center; border: 1px solid #5E6568; border-radius: 50%; width: 37px; height: 37px; font-size: 20px; }

@media (hover: hover) {
  .services__item:hover .services__arrow, .news__item a:hover .news__arrow { transform: translate(3px, -3px); }
  .services__item:hover .services__body h3 { text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
  .contact__link:hover .arrow-circle { background: var(--color-white); color: var(--color-ink); }
  .site-footer__column li a:hover { text-decoration-color: currentColor; }
}
@media (max-width: 1100px) {
  .experience__content { gap: 42px; grid-template-columns: 1fr 1.15fr; }
  .experience__kicker { font-size: clamp(42px, 6.2vw, 68px); }
  .experience__title { font-size: 29px; }
  .experience__item h3 { font-size: 18px; }
  .services__panel { padding-inline: 28px; }
  .services__grid { column-gap: 30px; }
  .services__item { grid-template-columns: 20px 1fr 18px; gap: 10px; }
  .about { padding-right: 42px; }
  .news { padding-left: 42px; }
  .contact__content { display: block; }
  .contact__link { margin-top: 30px; }
  .site-footer__top { grid-template-columns: 1fr; gap: 42px; }
  .site-footer__nav { gap: 36px; }
}
@media (max-width: 800px) {
  .experience { padding-block: 72px; border-radius: 24px 24px 0 0; }
  .experience__kicker { font-size: clamp(34px, 6vw, 48px); }
  .experience__title { margin-top: 0; font-size: 26px; }
  .experience__content { grid-template-columns: 1fr 1.15fr; gap: 32px; margin-top: 34px; padding-top: 32px; }
  .experience__lead { font-size: 15px; margin-top: 24px; }
  .experience__item { gap: 15px; }
  .experience__item h3 { font-size: 16px; }
  .experience__item p { font-size: 13px; }
  .services { padding-block: 76px; }
  .services__title { margin-top: 25px; }
  .services__lead { font-size: 14px; }
  .services__grid { grid-template-columns: 1fr; }
  .services__item:nth-last-child(2) { border-bottom: 1px solid var(--color-line); }
  .services__item { padding-block: 29px; gap: 16px; grid-template-columns: 22px 1fr 22px; }
  .services__body h3 { font-size: 20px; }
  .services__body p { margin-top: 9px; }
  .about-news { padding-bottom: 76px; }
  .about-news__grid { padding-top: 48px; }
  .about { padding-right: 30px; }
  .news { padding-left: 30px; }
  .about__kicker, .news__kicker { font-size: 30px; white-space: normal; }
  .about__title { font-size: 27px; margin-top: 26px; }
  .about__link { width: 100%; max-width: 256px; padding-left: 20px; gap: 12px; }
  .about__company { font-size: 13px; }
  .news__list { margin-top: 30px; }
  .news__body h3 { font-size: 14px; }
  .contact { padding-bottom: 76px; }
  .contact__panel { padding: 42px 32px; border-radius: 24px; }
  .contact__title { font-size: 23px; }
  .contact__kicker { font-size: 80px; }
  .contact__content { margin-top: 30px; }
  .site-footer { padding-top: 54px; }
  .site-footer__nav { grid-template-columns: 1fr 1fr; row-gap: 34px; }
  .site-footer__column:last-child { grid-column: 1 / -1; }
  .site-footer__column:last-child ul { display: flex; gap: 18px; flex-wrap: wrap; }
  .site-footer__column:last-child li + li { margin-top: 0; }
  .site-footer__bottom { margin-top: 42px; }
}
@media (max-width: 540px) {
  .experience { padding-block: 59px 62px; }
  .experience__kicker { font-size: clamp(28px, 8.2vw, 38px); line-height: 1.22; letter-spacing: .01em; }
  .experience__kicker > span { display: block; }
  .experience__title { font-size: clamp(25px, 7vw, 29px); line-height: 1.75; letter-spacing: .02em; margin-top: 0; }
  .experience__content { display: block; margin-top: 30px; padding-top: 30px; }
  .experience__intro { padding-top: 0; }
  .experience__lead { margin-top: 22px; font-size: 15px; }
  .experience__list { margin-top: 34px; }
  .experience__item { padding-block: 25px; }
  .experience__item:first-child { border-top: 1px solid #4B5052; padding-top: 25px; }
  .experience__item h3 { font-size: 17px; letter-spacing: 0; }
  .experience__item p { font-size: 13px; line-height: 2; margin-top: 12px; }
  .services { padding-block: 65px; }
  .services__header { margin-bottom: 30px; }
  .services__title { font-size: 25px; line-height: 1.75; }
  .services__mobile-break { display: inline; }
  .services__lead { font-size: 13px; margin-top: 18px; line-height: 2.1; }
  .services__panel { padding: 2px 22px; border-radius: 22px; }
  .services__item { grid-template-columns: 1fr 19px; gap: 12px; position: relative; padding-block: 27px 28px; }
  .services__number { grid-column: 1; grid-row: 1; padding: 0; }
  .services__body { grid-column: 1; grid-row: 2; }
  .services__arrow { grid-column: 2; grid-row: 2; font-size: 24px; }
  .services__body h3 { font-size: clamp(16px, 4.25vw, 19px); letter-spacing: -.025em; line-height: 1.8; }
  .services__body p { font-size: 12px; line-height: 2; margin-top: 10px; }
  .about-news { padding-bottom: 64px; }
  .about-news__grid { grid-template-columns: 1fr; padding-top: 42px; }
  .about { padding-right: 0; }
  .about__kicker, .news__kicker { font-size: 36px; }
  .about__title { font-size: 28px; margin-top: 28px; }
  .about__company { margin-top: 24px; font-size: 14px; }
  .about__link { margin-top: 27px; width: 260px; max-width: 100%; }
  .news { border-left: 0; padding: 0; border-top: 1px solid var(--color-line); margin-top: 48px; padding-top: 42px; }
  .news__title { margin-top: 15px; font-size: 17px; }
  .news__list { margin-top: 25px; }
  .news__body h3 { font-size: 15px; }
  .news__item a { padding-block: 23px; }
  .contact { padding-bottom: 64px; }
  .contact__panel { padding: 33px 24px 34px; }
  .contact__kicker { font-size: clamp(41px, 11.5vw, 61px); white-space: nowrap; }
  .contact__content { margin-top: 26px; }
  .contact__title { font-size: clamp(20px, 5.45vw, 24px); line-height: 1.85; letter-spacing: -.02em; }
  .contact__title > span { display: inline; }
  .contact__lead { font-size: 13px; line-height: 2.1; margin-top: 21px; }
  .contact__lead br { display: none; }
  .contact__link { width: 100%; max-width: 286px; font-size: 12px; padding-left: 20px; gap: 12px; margin-top: 28px; }
  .site-footer { padding-block: 45px 20px; }
  .site-footer__brand { width: 171px; }
  .site-footer__top { gap: 40px; }
  .site-footer__nav { gap: 27px 24px; }
  .site-footer__column h2 { font-size: 12px; }
  .site-footer__column ul { margin-top: 18px; }
  .site-footer__column li a { font-size: 11px; line-height: 1.95; }
  .site-footer__column li + li { margin-top: 12px; }
  .site-footer__column:last-child ul { gap: 11px 20px; }
  .site-footer__bottom { display: grid; grid-template-columns: 1fr auto; gap: 8px 15px; padding-top: 20px; margin-top: 35px; }
  .site-footer__bottom > p { grid-column: 1; grid-row: 1; font-size: 10px; }
  .site-footer__bottom small { grid-column: 1; grid-row: 2; font-size: 10px; }
  .site-footer__back { grid-column: 2; grid-row: 1 / span 2; font-size: 9px; gap: 9px; }
}
@media (prefers-reduced-motion: reduce) {
  .services__item:hover .services__arrow, .news__item a:hover .news__arrow { transform: none; }
}
/* Readability refinements for the assembled TOP. */
.experience__item p, .services__body p, .services__lead, .contact__lead { font-size: 16px; }
.site-footer__column li a { font-size: 13px; }
@media (max-width: 800px) {
  .experience__item p, .services__body p, .services__lead, .contact__lead { font-size: 15px; }
}
@media (max-width: 540px) {
  .services__body h3 { font-size: 18px; }
  .site-footer__column li a { display: inline-block; font-size: 12px; min-height: 36px; padding-block: 5px; }
  .site-footer__column li + li { margin-top: 4px; }
}
