/* Homepage-only refinements. Shared styles and service pages remain unchanged. */
.start-site .sr-only{ position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.start-site .skip-link{ position: fixed; top: 8px; left: 16px; z-index: 10001; padding: 12px 20px; background: #fff; color: var(--red); transform: translateY(-150%); }
.start-site .skip-link:focus{ transform: translateY(0); }
.start-site :where(a, button, input, textarea, [tabindex]):focus-visible{ outline: 3px solid #276ac2; outline-offset: 4px; }
.start-site .hero{ min-height: max(600px, calc(100svh - 65px)); }
.start-site .hero__content{ padding-block: 48px; }
.start-site .hero__buttons{ margin-bottom: 28px; flex-wrap: wrap; }
.start-site .hero__clients-label{ font-size: 14px; color: #555; }
.start-site .hero.is-night .hero__clients-label{ color: #ddd; }
.start-site .hero__toggle-btn--active{ background: var(--red); }
.start-site .hero__title .text-red{ color: var(--red); }
.start-site .hero__buttons .btn--red{ background: var(--red); }
.start-site .services .container{ max-width: 1320px; }
.start-site .services__grid,.start-site .services__bottom{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.start-site .services__col-left{ display: grid; grid-template-rows: auto minmax(161px, 1fr); }
.start-site .services__col-right{ display: grid; }
.start-site .services__col-left,.start-site .services__col-right,.start-site .services__card,.start-site .services__card-text,.start-site .services__card-dark-row > *{ min-width: 0; }
.start-site .services__card{ display: block; text-decoration: none; color: inherit; }
.start-site .services__card--signs,.start-site .services__card--print,.start-site .services__card--poly{ padding: 0; border: 0; background: transparent; }
.start-site .services__visual{ display: block; width: 100%; height: auto; }
.start-site .services__card--print{ align-self: stretch; }
.start-site .services__card--print .services__visual{ height: 100%; object-fit: contain; }
.start-site .services__card--auto{ padding: 28px 92px 28px 32px; }
.start-site .services__card--auto .services__card-desc{ max-width: 100%; }
.start-site .services__card--dark{ padding: 28px 88px 28px 32px; }
.start-site .services__card-dark-row .services__card-title{ min-width: 0; flex-basis: 45%; font-size: clamp(20px, 2vw, 28px); }
.start-site .services__card-dark-row .services__card-desc{ min-width: 0; }
.start-site .services__card-dark-inner{ justify-content: center; }
.start-site .services__card-desc--white,.start-site .services__card-dark-row .services__card-desc{ color: #e2e2e2; }
.start-site .services__card--poly .services__visual{ height: 100%; object-fit: contain; }
.start-site .services__arrow{ width: 44px; height: 44px; right: 20px; bottom: 20px; }
/* Real text stays the same size across cards; crop existing images to their illustrations. */
.start-site .services .services__card-title{ font-size:28px; line-height:1.2; margin-bottom:12px; flex-basis:auto; min-width:0; }
.start-site .services .services__card-desc{ font-size:16px; line-height:1.5; max-width:none; }
.start-site .services__card--signs,.start-site .services__card--print,.start-site .services__card--poly{ padding:28px 32px; border-radius:24px; }
.start-site .services__card--signs{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.85fr); gap:16px 20px; background:#f1f1f1; min-height:340px; }
.start-site .services__card--signs  .services__card-title{ grid-column:1 / -1; margin:0; }
.start-site .services__card--signs  .services__card-desc{ align-self:start; }
.start-site .services__art{ position:relative; overflow:hidden; min-width:0; pointer-events:none; }
.start-site .services__art img{ position:absolute; max-width:none; height:auto; }
.start-site .services__art--signs{ aspect-ratio:250 / 285; align-self:end; }
.start-site .services__art--signs img{ width:217.6%; right:-4%; bottom:-4.2%; }
.start-site .services__card--print{ display:flex; flex-direction:column; background:#f1f1f1; border:1px solid #e6e6e6; }
.start-site .services__art--print{ aspect-ratio:520 / 346; width:calc(100% + 64px); margin: auto -32px -28px; flex-shrink:0; }
.start-site .services__art--print img{ width:100%; bottom:0; left:0; }
.start-site .services__card--poly{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px 20px; min-height:260px; background:#fff; border:2px solid #e50914; }
.start-site .services__card--poly  .services__card-title{ grid-column:1 / -1; margin:0; }
.start-site .services__art--poly{ aspect-ratio:250 / 170; align-self:center; }
.start-site .services__art--poly img{ width:197%; right:-2.3%; bottom:-4%; }
.start-site .services .services__card-dark-row{ flex-direction:column; gap:0; }
.start-site .services .services__card-dark-row .services__card-title{ flex-basis:auto; }
@media(max-width:768px) {
  .start-site .services .services__card-title{ font-size:24px; }
  .start-site .services__card--signs,.start-site .services__card--print,.start-site .services__card--poly{ padding:24px; }
  .start-site .services__card--signs{ display:flex; flex-direction:column; min-height:300px; gap:0; }
  .start-site .services__card--signs  .services__card-title{ margin-bottom:12px; }
  .start-site .services__card--signs  .services__card-desc{ align-self:stretch; width:100%; }
  .start-site .services__art--signs{ width:min(100%,260px); align-self:flex-end; margin:16px -24px -12px 0; }
  .start-site .services__card--print{ min-height:380px; }
  .start-site .services__art--print{ width:calc(100% + 48px); margin:24px -24px -24px; }
  .start-site .services__card--poly{ display:block; min-height:240px; }
  .start-site .services__card--poly  .services__card-title{ margin-bottom:12px; }
  .start-site .services__art--poly{ aspect-ratio:270 / 180; width:min(calc(100% + 24px),330px); margin:20px -24px -24px auto; }
  .start-site .services .services__card--auto{ min-height:190px; padding:24px 24px 72px; }
  .start-site .services .services__card--dark{ padding:24px 24px 72px; }
  .start-site .services .services__card-dark-inner,.start-site .services .services__card-dark-row{ width:100%; }
}
.start-site .nav__item:focus-within .mega-menu,.start-site .nav__item.is-open .mega-menu{ opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; }
.start-site .mega-menu{ left: 50%; transform: translate(-30%, 8px); min-width: 0; width: min(900px, calc(100vw - 60px)); }
.start-site .nav__item:hover .mega-menu,.start-site .nav__item:focus-within .mega-menu,.start-site .nav__item.is-open .mega-menu{ transform: translate(-30%, 0); }
.start-site .production__tabs,.start-site .production__image{ min-width: 0; }
.start-site .about__banner{ height: auto; align-self: start; }
.start-site .portfolio__item{ display: block; }
.start-site .portfolio__header{ flex-wrap:wrap; gap:20px; }
.start-site .portfolio__header .section-title{ margin-bottom:0; }
.start-site .portfolio__filters{ flex-wrap:wrap; gap:10px; }
.start-site .portfolio .portfolio__grid{ display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; scrollbar-width:thin; padding:4px 0 12px; }
.start-site .portfolio .portfolio__item{ flex:0 0 calc((100% - 32px)/3); aspect-ratio:4/5; scroll-snap-align:start; }
.start-site .portfolio .portfolio__item[hidden]{ display:none; }
.start-site .portfolio .portfolio__item:hover{ transform:none; }
.start-site .portfolio .portfolio__item img{ width:100%; height:100%; margin:0; object-fit:cover; }
.start-site .portfolio__paging{ display:flex; align-items:center; justify-content:center; gap:20px; margin-top:20px; }
.start-site .portfolio__paging span{ min-width:90px; text-align:center; color:#666; font-size:14px; }
.start-site .portfolio__nav-btn{ font:24px/1 var(--font); }
.start-site .portfolio__nav-btn:disabled{ opacity:.3; cursor:default; }
.start-site .portfolio__nav-btn:disabled:hover{ background:#fff; color:var(--dark); }
.start-site .portfolio-viewer{ width:calc(100vw - 32px); max-width:1100px; height:calc(100dvh - 32px); max-height:900px; margin:auto; padding:56px 16px 16px; border:0; border-radius:20px; background:#151515; color:white; overflow:hidden; }
.start-site .portfolio-viewer::backdrop{ background:rgba(0,0,0,.8); }
.start-site .portfolio-viewer[open]{ display:flex; flex-direction:column; gap:12px; }
.start-site .portfolio-viewer__image{ flex:1; min-height:0; display:flex; justify-content:center; }
.start-site .portfolio-viewer__image img{ max-width:100%; width:auto; height:100%; object-fit:contain; touch-action:pan-y; }
.start-site .portfolio-viewer__close{ position:absolute; right:12px; top:8px; width:44px; height:44px; border:0; background:transparent; color:white; font-size:34px; cursor:pointer; }
.start-site .portfolio-viewer__controls{ display:flex; justify-content:center; align-items:center; gap:24px; }
.start-site .portfolio-viewer__controls button{ width:44px; height:44px; border:1px solid #777; border-radius:50%; background:#222; color:white; font-size:24px; cursor:pointer; }
.start-site .portfolio-viewer-open{ overflow:hidden; }
@media(max-width:1024px) { .start-site .portfolio .portfolio__item{ flex-basis:calc((100% - 16px)/2); } }
@media(max-width:600px) { .start-site .portfolio .portfolio__item{ flex-basis:100%; } .start-site .portfolio__header{ margin-bottom:24px; } .start-site .portfolio__paging{ gap:12px; padding-right:48px; } .start-site .portfolio__paging span{ min-width:80px; } .start-site .portfolio-viewer{ width:calc(100vw - 16px); height:calc(100dvh - 16px); padding-inline:8px; } }
.start-site .order-form__intro,.start-site .modal__description{ font-size: 15px; line-height: 1.6; margin-bottom: 24px; }
.start-site .order-form__title{ margin-bottom: 16px; }
.start-site .order-form__textarea-area{ padding: 0; }
.start-site .order-form__textarea{ min-height: 160px; resize: vertical; }
.start-site .order-form__file-area:focus-visible{ outline-offset: 6px; }
.start-site .stages__wrapper{ max-width: none; width: 100%; }
.start-site .stage-card__number--white{ color: var(--white); }
.start-site .faq__item--active .faq__answer{ height: auto; }
.start-site .faq__question{ gap: 16px; }
.start-site .footer__phone,.start-site .footer__email{ overflow-wrap: anywhere; }
.start-site .footer__content{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.start-site .footer__left,.start-site .footer__right{ min-width: 0; }
.start-site .footer__contacts{ flex-wrap: wrap; gap: 16px 24px; }
.start-site .footer__map{ position: relative; background: var(--gray); }
.start-site .footer__map-link{ position: absolute; bottom: 16px; left: 50%; transform: translateX(-50%); background: #fff; color: var(--red); padding: 10px 16px; border-radius: 12px; text-decoration: none; white-space: nowrap; font-size: 14px; box-shadow: var(--shadow); }
.start-site .modal__content{ max-height: calc(100dvh - 32px); overflow-y: auto; }
.start-site .toast{ width: min(560px, calc(100vw - 32px)); }
.start-site .toast__inner{ white-space: normal; }
.start-site .toast__inner svg{ display: none; }
@media (max-width: 1180px) {
  .start-site .nav,.start-site .header__btn{ display: none; }
  .start-site .burger{ display: flex; margin-left: auto; }
  .start-site .header__contact{ margin-left: auto; }
  .start-site .header__inner{ gap: 20px; }
}
@media (max-width: 1024px) {
  .start-site .footer__content{ grid-template-columns: minmax(0, 1fr); }
  .start-site .services__card--auto,.start-site .services__card--dark{ padding: 24px 76px 24px 24px; }
  .start-site .services__card-dark-row{ flex-direction: column; gap: 8px; }
  .start-site .services__card-dark-row .services__card-title{ flex-basis: auto; }
  .start-site .services__card-dark-row .services__card-title br{ display: none; }
}
@media (max-width: 768px) {
  .start-site .container{ padding-inline: 20px; }
  .start-site .services__grid,.start-site .services__bottom{ grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .start-site .services__col-left{ grid-template-rows: auto auto; gap: 16px; }
  .start-site .services__col-right{ display: block; }
  .start-site .services__bottom{ margin-top: 16px; }
  .start-site .services__card--print .services__visual,.start-site .services__card--poly .services__visual{ height: auto; }
  .start-site .services__card--auto{ min-height: 150px; }
  .start-site .services__card--dark{ padding: 24px 80px 24px 24px; }
  .start-site .services__card-dark-row{ flex-direction: row; gap: 16px; }
  .start-site .services__card-dark-row .services__card-title{ flex-basis: 42%; }
  .start-site .hero{ padding: 32px 0 260px; min-height: calc(100svh - 65px); align-items: flex-start; }
  .start-site .hero__content{ padding-block: 0; }
  .start-site .hero__title{ font-size: clamp(30px, 6.7vw, 46px); }
  .start-site .hero__subtitle{ max-width: 440px; margin-bottom: 24px; color: #454545; }
  .start-site .hero__buttons{ gap: 12px; margin-bottom: 24px; }
  .start-site .hero__clients{ gap: 0; }
  .start-site .hero__bg{ background: #fff; transition: background .5s ease; }
  .start-site .hero.is-night .hero__bg{ background: #0f0f0f; }
  .start-site .hero__bg-img{ top: auto; bottom: 0; height: 260px; object-position: 75% center; }
  .start-site .hero__circle{ display: none; }
  .start-site .hero__overlay{ top: auto; bottom: 0; height: 260px; background: linear-gradient(to bottom, #fff 0%, rgba(255,255,255,.55) 18%, transparent 45%); }
  .start-site .hero.is-night .hero__overlay{ background: linear-gradient(to bottom, #0f0f0f 0%, rgba(15,15,15,.55) 18%, transparent 45%); }
  .start-site .hero__toggle{ left: 50%; right: auto; transform: translateX(-50%); }
  .start-site .services,.start-site .production,.start-site .about,.start-site .portfolio,.start-site .stages,.start-site .faq{ padding-block: 60px; }
  .start-site .section-title{ margin-bottom: 28px; }
  .start-site .section-subtitle{ margin-bottom: 32px; }
  .start-site .stages__center{ display: none; }
  .start-site .stages__brand{ position: static; transform: none; width: fit-content; margin: 24px auto 0; }
  .start-site .stages__grid{ gap: 12px; }
  .start-site .stage-card{ padding: 18px 20px; border-radius: 18px; }
  .start-site .stage-card__number{ font-size: 28px; line-height: 1.1; margin-bottom: 8px; }
  .start-site .stage-card__number--white{ color: var(--red); }
  .start-site .stage-card__title{ font-size: 20px; line-height: 1.25; margin-bottom: 8px; }
  .start-site .stage-card__text{ font-size: 14px; line-height: 1.45; }
  .start-site .about__stats{ gap: 16px; }
  .start-site .stat-card{ padding: 24px 20px; }
  .start-site .stat-card__icon{ display: flex; align-items: center; justify-content: center; gap: 2px; height: 48px; margin-bottom: 12px; }
  .start-site .stat-card__icon img{ width: auto; height: 44px; max-width: 60px; object-fit: contain; }
  .start-site .stat-card__number{ font-size: 44px; }
  .start-site .stat-card__suffix{ font-size: 30px; }
  .start-site .stat-card__title{ margin-top: 0; }
  .start-site .order-form__right{ padding: 28px 24px; }
  .start-site .order-form__file-text{ font-size: 22px; }
  .start-site .footer__phone,.start-site .footer__email{ font-size: clamp(18px, 5vw, 24px); }
  .start-site .footer__services-list a{ align-items: flex-start; }
  .start-site .footer__services-list svg{ flex-shrink: 0; margin-top: 5px; }
  .start-site .faq__answer,.start-site .faq__item--active .faq__answer{ padding-inline: 20px; }
}
@media (max-width: 400px) {
  .start-site .container{ padding-inline: 16px; }
  .start-site .services__card-dark-row{ flex-direction: column; gap: 8px; }
  .start-site .services__card-title{ font-size: 22px; }
  .start-site .hero__buttons .btn{ padding-inline: 16px; }
  .start-site .form-label{ overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
  html{ scroll-behavior: auto; }
  .start-site *,.start-site *::before,.start-site *::after{ animation: none !important; transition: none !important; }
}
