/* Scoped to this page; preserve the site's existing colours and typography. */
.start-site main{ --section-padding: 40px; }
.start-site main > section:not(.sf-hero){ padding-block: var(--section-padding); }
.start-site main  .sf-hero{ padding-bottom: var(--section-padding); }
.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,select,[tabindex]):focus-visible{ outline:3px solid #276ac2; outline-offset:4px; }
.start-site .sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.start-site .page-breadcrumbs{ display:flex; flex-wrap:wrap; gap:10px; font-size:14px; color:#666; margin-bottom:24px; }
.start-site .page-breadcrumbs a{ color:var(--red); text-decoration:none; }
.start-site .sf-hero__title{ font-size:clamp(36px,4.5vw,58px); }
.start-site .sf-hero__right{ text-align:left; align-items:flex-start; flex-basis:420px; }
.start-site .sf-hero__buttons{ flex-wrap:wrap; width:100%; }
.start-site .sf-hero__buttons .btn{ min-width:0; }
.start-site .sf-hero__banner-img{ max-height:none; }
.start-site .sf-types__grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.start-site .sf-service__inner{ gap:32px; }
.start-site .sf-service__content,.start-site .sf-service__film-info,.start-site .sf-calc__left,.start-site .sf-calc__right{ min-width:0; }
.start-site .sf-service__img{ flex-basis:32%; position:relative; }
.start-site .sf-service__img > img{ position:absolute; inset:0; }
.start-site .sf-service__grid--3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.start-site .sf-service__grid--2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.start-site .sf-service__quote{ margin-top:24px; white-space:normal; }
.start-site .sf-service__pill{ white-space:normal; }
.start-site .sf-why__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:minmax(200px,auto) minmax(180px,auto) minmax(180px,auto); }
.start-site .sf-why__card{ min-width:0; }
.start-site .sf-why__label{ color:#fff; }
.start-site .sf-calc__bg{ max-width:1260px; margin-inline:auto; padding:40px; }
.start-site .sf-calc__bg  .container{ max-width:none; padding:0; }
.start-site .sf-calc__sizes > input{ width:100%; min-width:0; }
.start-site .sf-calc__radio input{ display:block; position:absolute; width:1px; height:1px; opacity:0; }
.start-site .sf-calc__radio input:focus-visible + .sf-calc__radio-custom{ outline:3px solid #276ac2; outline-offset:3px; }
.start-site .sf-calc__radio-custom{ flex-shrink:0; }
.start-site .sf-calc__upload span{ color:#666; }
.start-site .wide-file-name{ overflow-wrap:anywhere; font-size:14px; margin:-8px 0 24px; }
.start-site .wide-task{ display:block; width:100%; resize:vertical; min-height:100px; margin-bottom:24px; font-family:inherit; }
.start-site .sf-quality__img--before{ clip-path:inset(0 50% 0 0); }
.start-site .sf-quality__slider{ touch-action:pan-y; }
.start-site .quality-control{ max-width:900px; margin:20px auto 0; font-size:14px; color:#555; }
.start-site .quality-control label{ display:block; margin-bottom:12px; }
.start-site .quality-control input{ width:100%; accent-color:var(--red); min-height:36px; cursor:ew-resize; }
.start-site .nr-divider{ padding:0; }
.start-site .nr-divider__line{ margin:0; border:0; border-top:1px solid var(--gray-dark); }
.start-site .faq__question{ gap:16px; }
.start-site .faq__item--active .faq__answer{ height:auto; }
.start-site .modal{ transition:opacity var(--transition); }
.start-site .modal__content{ max-height:calc(100dvh - 32px); overflow-y:auto; }
.start-site .modal__description{ font-size:15px; line-height:1.6; margin-bottom:20px; }
.start-site .quote-summary{ background:var(--gray); padding:14px 16px; margin-bottom:20px; border-radius:12px; font-size:13px; }
.start-site .quote-summary[hidden]{ display:none; }
.start-site .quote-summary p{ white-space:pre-line; margin-top:8px; line-height:1.6; overflow-wrap:anywhere; }
.start-site .toast{ width:min(560px,calc(100vw - 32px)); }
.start-site .toast__inner{ white-space:normal; }
.start-site .nav__item:focus-within .mega-menu,.start-site .nav__item.is-open .mega-menu{ opacity:1; visibility:visible; 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 .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__phone,.start-site .footer__email{ overflow-wrap:anywhere; }
.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); }
@media (max-width:1320px) { .start-site .sf-calc__bg{ margin-inline:30px; } }
@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 .sf-hero__right{ flex-basis:auto; max-width:680px; }
  .start-site .sf-types__grid{ grid-template-columns:1fr; }
  .start-site .sf-service__img{ flex-basis:auto; width:100%; min-height:0; aspect-ratio:16/9; }
  .start-site .sf-service__content{ padding:0 30px 30px; }
  .start-site .sf-service__grid--3{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .start-site .footer__content{ grid-template-columns:minmax(0,1fr); }
}
@media (max-width:768px) {
  .start-site main{ --section-padding:24px; }
  .start-site .container{ padding-inline:20px; }
  .start-site .sf-hero{ padding-top:90px; }
  .start-site .sf-hero__title{ font-size:clamp(30px,6.7vw,46px); }
  .start-site .sf-hero__top{ gap:20px; margin-bottom:28px; }
  .start-site .sf-hero__subtitle{ font-size:16px; }
  .start-site .sf-hero__buttons{ flex-direction:column; align-items:stretch; }
  .start-site .sf-service__inner{ gap:24px; }
  .start-site .sf-service__content{ padding:0 24px 24px; }
  .start-site .sf-service__grid--2,.start-site .sf-service__grid--3{ grid-template-columns:minmax(0,1fr); }
  .start-site .sf-service__film-card{ align-items:flex-start; padding:16px; gap:12px; }
  .start-site .sf-why__grid{ grid-template-columns:minmax(0,1fr); grid-template-rows:none; grid-auto-rows:minmax(160px,auto); }
  .start-site .sf-why__card--tall{ min-height:300px; }
  .start-site .sf-calc__bg{ margin-inline:20px; padding:24px; }
  .start-site .sf-calc__card{ padding:24px; }
  .start-site .sf-calc__sizes{ flex-direction:column; }
  .start-site .sf-calc__upload{ padding:16px; }
  .start-site .sf-calc__upload svg{ flex-shrink:0; }
  .start-site .sf-calc__submit{ width:100%; white-space:normal; padding-inline:12px; }
  .start-site .sf-quality__label{ font-size:11px; padding:5px 8px; top:10px; }
  .start-site .sf-quality__label--left{ left:10px; }
  .start-site .sf-quality__label--right{ right:10px; }
  .start-site .cta__form-wrap{ padding:28px 24px; }
  .start-site .faq__answer,.start-site .faq__item--active .faq__answer{ padding-inline:20px; }
  .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; }
}
@media (max-width:400px) {
  .start-site .container{ padding-inline:16px; }
  .start-site .sf-hero__title{ font-size:30px; }
  .start-site .sf-calc__bg{ margin-inline:16px; padding:16px; }
  .start-site .sf-calc__card{ padding:20px 16px; }
}
@media (prefers-reduced-motion:reduce) {
  html{ scroll-behavior:auto; }
  .start-site *,.start-site *::before,.start-site *::after{ animation:none !important; transition:none !important; }
}
