@layer fonts, reset, base, layout, components, responsive, accessibility;

@layer fonts {
  @font-face { font-family:'Golos Text'; font-style:normal; font-weight:400; font-display:swap; src:url('/assets/fonts/golos-400.ttf') format('truetype'); }
  @font-face { font-family:'Golos Text'; font-style:normal; font-weight:500; font-display:swap; src:url('/assets/fonts/golos-500.ttf') format('truetype'); }
  @font-face { font-family:'Golos Text'; font-style:normal; font-weight:600; font-display:swap; src:url('/assets/fonts/golos-600.ttf') format('truetype'); }
  @font-face { font-family:'Golos Text'; font-style:normal; font-weight:700; font-display:swap; src:url('/assets/fonts/golos-700.ttf') format('truetype'); }
  @font-face { font-family:'Golos Text'; font-style:normal; font-weight:800; font-display:swap; src:url('/assets/fonts/golos-800.ttf') format('truetype'); }
}

@layer reset {
  *, *::before, *::after { box-sizing:border-box; }
  body, h1, h2, h3, p, ul, ol, dl, dd { margin:0; }
  button, input, textarea, select { font:inherit; }
  button, a, input, textarea, select, summary { -webkit-tap-highlight-color:transparent; }
  img, svg { display:block; }
  img { max-width:100%; height:auto; }
  a { color:inherit; text-decoration:none; }
  button { cursor:pointer; }
  [hidden] { display:none; }
}

@layer base {
  :root {
    --navy:#092a5e;
    --blue:#0033a0;
    --red:#e31e24;
    --red-hover:#c81720;
    --light:#f4f7fb;
    --white:#fff;
    --text:#264569;
    --muted:#536781;
    --line:#dbe4ef;
    --focus:#0072e3;
    --dark:#062748;
    --font:'Golos Text','Trebuchet MS',sans-serif;
    --gutter:clamp(1rem,3.5vw,3rem);
    --section-space:clamp(2.25rem,4.6vw,4.5rem);
    --radius:0.5rem;
    --shadow:0 12px 32px rgb(9 42 94 / 8%);
  }
  html { scroll-behavior:smooth; scroll-padding-top:7rem; scrollbar-gutter:stable; }
  body { color:var(--navy); background:var(--white); font:400 1rem/1.6 var(--font); }
  body.dialog-open { overflow:hidden; }
  h1, h2, h3 { font-weight:700; line-height:1.15; text-wrap:balance; overflow-wrap:break-word; }
  h2 { font-size:clamp(1.65rem,1.1rem + 1.8vw,2.5rem); letter-spacing:-.045em; margin-bottom:1.5rem; }
  h3 { letter-spacing:-.025em; }
  p, li, dd { overflow-wrap:anywhere; }
  button { border:0; }
  ::selection { color:var(--white); background:var(--blue); }
  .icon { width:1.5rem; height:1.5rem; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; flex:none; }
}

@layer layout {
  .wrap { width:min(1280px,calc(100% - max(var(--gutter),env(safe-area-inset-left,0px)) - max(var(--gutter),env(safe-area-inset-right,0px)))); margin-inline:auto; min-width:0; }
  .section { padding-block:var(--section-space); }
  .section > .wrap { container:section / inline-size; }
  .section__head { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; margin-bottom:1.75rem; }
  .section__head h2 { margin:0; }
  .actions { display:flex; flex-wrap:wrap; gap:.75rem; align-items:center; }
  .categories { display:grid; grid-template-columns:minmax(0,1fr); gap:1rem; }
  .content-grid, .catalog-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr)); gap:1.5rem; }
  .steps { display:grid; grid-template-columns:minmax(0,1fr); gap:1.75rem; }
  .contacts-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:2rem; }
  .article-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:2.5rem; padding-block:var(--section-space); }
}

@layer components {
  .btn { display:inline-flex; justify-content:center; align-items:center; gap:1rem; min-height:3rem; max-width:100%; padding:.875rem 1.5rem; border:1px solid transparent; border-radius:var(--radius); background:var(--red); color:var(--white); font-size:.9375rem; font-weight:600; line-height:1.35; text-align:center; transition:background .2s,box-shadow .2s,transform .2s; }
  .btn--small { padding:.75rem 1.25rem; font-size:.875rem; }
  .btn--outline { color:var(--navy); background:transparent; border-color:#b8c8dd; }
  .btn--light { color:var(--white); background:transparent; border-color:#a7b9cc; }
  .arrow { font-size:1.4rem; line-height:1; flex:none; }
  .text-link { display:inline-flex; align-items:center; gap:.35rem; min-height:2.75rem; font-weight:600; font-size:.9375rem; color:var(--red); line-height:1.45; }
  .eyebrow { font-size:.8125rem; font-weight:600; line-height:1.45; letter-spacing:.04em; text-transform:uppercase; margin-bottom:1rem; }

  .header { position:sticky; top:0; z-index:20; background:rgb(255 255 255 / 97%); border-bottom:1px solid rgb(219 228 239 / 60%); }
  .header__inner { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; min-height:4.75rem; padding-block:.75rem; }
  .logo { --logo-size:1.75rem; --logo-caption-size:.375rem; --logo-row-gap:.375rem; --logo-mark-height:calc(var(--logo-size) * .834 + var(--logo-row-gap) + var(--logo-caption-size)); display:inline-grid; grid-template-columns:auto auto; column-gap:.35rem; row-gap:var(--logo-row-gap); align-items:start; flex:none; font-size:var(--logo-size); }
  /* The mark spans the name and caption, starting at the visible top of the lettering. */
  .logo__mark { grid-column:1; grid-row:1 / 3; position:relative; overflow:hidden; width:calc(var(--logo-mark-height) * 2.51); height:var(--logo-mark-height); margin-top:.166em; }
  .logo__mark img { position:absolute; width:calc(var(--logo-mark-height) * 3); max-width:none; left:calc(var(--logo-mark-height) * -.27); top:calc(var(--logo-mark-height) * -.229); }
  .logo__wordmark { display:contents; }
  .logo__name { grid-column:2; grid-row:1; font-size:inherit; font-weight:800; letter-spacing:-.045em; line-height:1; white-space:nowrap; }
  .logo__name span { color:var(--red); }
  .logo__caption { grid-column:2; grid-row:2; display:block; font-size:var(--logo-caption-size); line-height:1; letter-spacing:.14rem; font-weight:700; }
  .tagline { display:none; padding-left:1rem; border-left:1px solid var(--line); font-size:.75rem; line-height:1.5; color:var(--muted); }
  .phone { display:flex; gap:.625rem; align-items:center; min-height:2.75rem; }
  .phone strong { font-size:.9375rem; font-weight:650; line-height:1.3; }
  .phone small { display:block; font-size:.6875rem; color:var(--muted); }
  .header .phone, .header__inner > .btn { display:none; }
  .nav { display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; align-items:center; font-size:.9375rem; font-weight:500; }
  .nav a { display:flex; align-items:center; min-height:2.75rem; padding:.5rem .125rem; position:relative; }
  .nav a[aria-current=page] { color:var(--blue); }
  .nav a[aria-current=page]::after { content:''; position:absolute; left:.125rem; right:.125rem; bottom:.125rem; height:2px; background:var(--red); }
  .header .nav { order:5; width:100%; display:grid; grid-template-columns:minmax(0,1fr); gap:.25rem 1rem; padding-top:1rem; border-top:1px solid var(--line); max-height:calc(100vh - 6rem); max-height:calc(100dvh - 6rem); overflow-y:auto; }
  .js-ready .header .nav:not(.is-open) { display:none; }
  .menu-toggle { display:none; align-items:center; justify-content:center; width:2.875rem; height:2.875rem; border:1px solid var(--line); border-radius:var(--radius); color:var(--navy); background:var(--white); }
  .js-ready .menu-toggle { display:inline-flex; }
  .nav__phone { color:var(--blue); grid-column:1/-1; gap:.5rem; font-weight:600; }

  .hero { position:relative; overflow:hidden; display:flex; flex-direction:column; background:linear-gradient(125deg,var(--white),#edf5fc); }
  .hero__inner { position:relative; z-index:2; order:0; padding-top:clamp(2rem,4vw,4.5rem); padding-bottom:1.5rem; }
  .hero h1 { max-width:46rem; font-size:clamp(1.65rem,7.5vw,3.5rem); font-weight:750; letter-spacing:-.045em; line-height:1.07; }
  .hero h1 span { color:var(--red); }
  .hero__lead { margin-block:1.5rem; max-width:35rem; font-size:clamp(.9375rem,.83rem + .45vw,1.125rem); font-weight:500; line-height:1.55; }
  .hero__benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; margin-top:1.75rem; max-width:39rem; }
  .hero__benefits > div { display:flex; align-items:center; gap:.5rem; min-width:0; font-size:.6875rem; font-weight:500; line-height:1.5; }
  .hero__benefits span { overflow-wrap:normal; }
  .hero__benefits .icon { width:1.375rem; height:1.375rem; }
  .hero__art { position:relative; order:1; width:100%; aspect-ratio:4/3; overflow:hidden; margin-top:-.5rem; }
  .hero__art > img { display:block; position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:100% 70%; }
  .hero__art::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,#f0f6fb,transparent 22%); }
  .hero__wash { display:none; }
  .hero--home .hero__inner { padding-bottom:0; }
  .hero--home .hero__art { margin-top:-3rem; }
  .hero__benefits-wrap { position:relative; z-index:2; order:2; display:flow-root; padding-block:1.25rem 1.5rem; background:var(--white); }
  .hero__benefits-wrap .hero__benefits { margin-top:0; }

  .stats { color:var(--white); background:linear-gradient(105deg,#072651,#123d6c); }
  .stats__inner { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem 1rem; padding-block:1.75rem; }
  .stat { min-width:0; padding-left:.625rem; border-left:1px solid rgb(255 255 255 / 18%); }
  .stat strong { display:block; font-size:clamp(1.6rem,1.25rem + 1.5vw,2.75rem); font-weight:700; line-height:1.15; letter-spacing:-.04em; }
  .stat p { margin-top:.625rem; font-size:clamp(.75rem,.7rem + .3vw,.9375rem); line-height:1.55; color:#e0eafa; }
  .stats__map { display:none; position:relative; min-width:0; align-items:center; justify-content:flex-end; }
  .stats__map img { position:absolute; left:-2rem; top:50%; width:calc(100% + 4rem); height:auto; transform:translateY(-50%); opacity:.32; mask-image:linear-gradient(90deg,transparent,#000 12%,#000 85%,transparent); }
  .stats__map span { position:relative; border-left:2px solid var(--red); padding-left:.875rem; font-size:.6875rem; line-height:1.9; }

  .category { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); align-items:center; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius); background:var(--light); transition:box-shadow .2s,transform .2s,border-color .2s; }
  .category__photo { position:relative; aspect-ratio:144/99; overflow:hidden; background:#e5ebf2; }
  .category__photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
  .category__body { min-width:0; padding:1rem; }
  .category h3 { margin-bottom:.625rem; font-size:1rem; line-height:1.25; }
  .category p { font-size:.8125rem; line-height:1.6; color:var(--text); }
  .support { display:grid; grid-template-columns:minmax(0,1fr); gap:0; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius); background:linear-gradient(120deg,#edf3fa,#f8faff); margin-top:2rem; }
  .support__photo { position:relative; aspect-ratio:242/172; overflow:hidden; width:100%; min-width:0; align-self:stretch; }
  .support__photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
  .support__copy { min-width:0; padding:1.75rem; }
  .support h2 { font-size:clamp(1.4rem,1.2rem + .7vw,1.875rem); margin-bottom:1rem; }
  .support p { font-size:.9375rem; color:var(--text); line-height:1.7; margin-bottom:1.5rem; }
  .service-list { margin:0 1.75rem; padding:1rem 0 1.5rem; list-style:none; border-top:1px solid var(--line); display:grid; gap:.375rem; }
  .service-list li { display:flex; gap:.75rem; align-items:center; min-width:0; }
  .service-list a { display:flex; align-items:center; min-height:2.75rem; font-size:.875rem; line-height:1.5; }
  .step { display:grid; grid-template-columns:5.5rem minmax(0,1fr); column-gap:1rem; }
  .step__top { display:flex; gap:.625rem; align-items:flex-start; grid-row:span 2; }
  .step__number { color:var(--red); font-weight:650; font-size:1.25rem; }
  .step__icon { display:grid; place-items:center; width:2.875rem; height:2.875rem; border:1px solid var(--line); border-radius:var(--radius); background:var(--light); flex:none; }
  .step h3 { font-size:1rem; line-height:1.4; margin-bottom:.5rem; }
  .step p { color:var(--muted); font-size:.875rem; line-height:1.6; }

  .about-band { background:linear-gradient(115deg,#f1f5fb,#f9fbfd); overflow:hidden; }
  .about-band__inner { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; padding-block:var(--section-space); }
  .about-band__copy { grid-column:1/-1; min-width:0; }
  .about-band p { color:var(--text); font-size:1rem; line-height:1.7; max-width:38rem; }
  .about-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem 1rem; margin-block:1.75rem; }
  .about-metrics > div { min-width:0; border-left:2px solid var(--line); padding-left:.75rem; color:var(--muted); font-size:.75rem; line-height:1.5; }
  .about-metrics strong { display:block; font-size:1rem; line-height:1.4; color:var(--navy); }
  .about-metrics > div:nth-child(-n+2) strong { font-size:1.75rem; line-height:1.25; }
  .about-band__art { position:relative; width:100%; aspect-ratio:281/245; min-width:0; align-self:center; overflow:hidden; clip-path:polygon(18% 0,100% 0,82% 100%,0 100%); }
  .about-band__art img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:60% center; }
  .about-band__slogan { align-self:center; min-width:0; font-size:clamp(.875rem,2.6vw,1.6rem); line-height:1.4; font-weight:500; text-transform:uppercase; overflow-wrap:normal; }
  .about-band__slogan strong { display:block; font-weight:650; }
  .about-band__slogan::after { content:''; display:block; width:2.5rem; height:2px; background:var(--red); margin-top:1.25rem; }
  .trust h2 { margin-bottom:.75rem; }
  .trust > p { color:var(--text); font-size:1rem; }
  .trust__row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem 1rem; margin-top:2rem; }
  .trust__row span { min-width:0; font-size:clamp(.8125rem,.7rem + .6vw,1.125rem); font-weight:650; color:var(--muted); line-height:1.3; overflow-wrap:anywhere; }
  .trust__row small { display:block; font-weight:400; font-size:.625rem; line-height:1.5; letter-spacing:.06em; text-transform:uppercase; margin-top:.5rem; }

  .cta { position:relative; color:var(--white); background:var(--dark); overflow:hidden; isolation:isolate; }
  .cta::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(rgb(6 39 72 / 45%),rgb(6 39 72 / 45%)),url('/assets/02_hero/inner-ship-v2.webp') center/cover no-repeat; mask-image:linear-gradient(90deg,transparent,#000 45%,transparent); opacity:.35; }
  .cta__inner { display:grid; grid-template-columns:minmax(0,1fr); gap:1.5rem; padding-block:2rem; }
  .cta__copy { min-width:0; }
  .cta h2 { color:var(--white); margin-bottom:1rem; }
  .cta p { font-size:1rem; line-height:1.65; max-width:35rem; margin-bottom:1.5rem; color:#e8eff8; }
  .cta__points { margin:0; padding:1.5rem 0 0; border-top:1px solid rgb(255 255 255 / 18%); list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
  .cta__points li { display:flex; align-items:center; gap:.625rem; font-size:.8125rem; line-height:1.6; min-width:0; }
  .cta__points .icon { width:1.375rem; height:1.375rem; }

  .footer__main { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1.5rem; padding-block:2rem; }
  .footer__main .nav { width:100%; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.25rem 1rem; order:3; font-size:.875rem; }
  .footer__main .phone { min-width:0; }
  .footer__social { display:flex; gap:.625rem; }
  .footer__social a { display:grid; place-items:center; width:2.875rem; height:2.875rem; border:1px solid var(--line); border-radius:var(--radius); color:var(--blue); }
  .footer__bottom { background:var(--light); padding-block:1.5rem; font-size:.75rem; color:var(--muted); }
  .footer__bottom .wrap { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem 2rem; }
  .footer__legal { display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; }
  .footer__legal a { min-height:2.75rem; display:inline-flex; align-items:center; }

  .crumb { display:flex; flex-wrap:wrap; align-items:center; gap:.625rem; padding-block:1rem; font-size:.8125rem; color:var(--muted); line-height:1.5; }
  .crumb a { min-height:2.75rem; display:inline-flex; align-items:center; }
  .page-hero { position:relative; background:linear-gradient(115deg,#f1f5fb,#f9fbfd); overflow:hidden; }
  .page-hero__inner { display:grid; grid-template-columns:minmax(0,1fr); align-items:center; padding-block:clamp(2rem,4vw,4rem); }
  .page-hero__inner > div { min-width:0; }
  .page-hero h1 { font-size:clamp(1.875rem,1.5rem + 2.2vw,3.5rem); letter-spacing:-.045em; line-height:1.13; margin-bottom:1.5rem; }
  .page-hero p:not(.eyebrow) { color:var(--text); font-size:clamp(1rem,.9rem + .4vw,1.125rem); line-height:1.7; margin-bottom:1.5rem; max-width:42rem; }
  .page-hero__media { width:100%; height:clamp(12rem,55vw,22rem); overflow:hidden; }
  .page-hero__image { width:100%; height:100%; object-fit:cover; object-position:center; }
  .page-hero__media--ship .page-hero__image, .page-hero__media--containers .page-hero__image { object-position:65% center; }
  .page-hero__media--truck .page-hero__image { object-position:80% 70%; }
  @media (width < 760px) {
    .page-hero__inner { position:relative; z-index:2; padding-bottom:0; }
    .page-hero__media {
      position:relative;
      margin-top:-3rem;
      height:calc(clamp(12rem,55vw,22rem) + 3rem);
      -webkit-mask-image:linear-gradient(180deg,transparent,rgb(0 0 0 / 45%) 3rem,#000 7rem);
      mask-image:linear-gradient(180deg,transparent,rgb(0 0 0 / 45%) 3rem,#000 7rem);
    }
  }
  .content-card { min-width:0; padding:clamp(1.5rem,2.5vw,2rem); border:1px solid var(--line); border-radius:var(--radius); background:var(--light); display:flex; flex-direction:column; align-items:flex-start; }
  .content-card > .icon { width:2rem; height:2rem; color:var(--blue); }
  .content-card h3 { font-size:1.375rem; line-height:1.3; margin:1.25rem 0 .875rem; }
  .content-card p { font-size:.9375rem; line-height:1.75; color:var(--text); margin-bottom:1.5rem; }
  .content-card .text-link { margin-top:auto; }
  .services-grid { grid-template-columns:minmax(0,1fr); }
  .catalog-item { min-width:0; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:var(--light); }
  .catalog-item img { width:100%; aspect-ratio:1.8; object-fit:cover; }
  .catalog-item__body { padding:1.5rem; }
  .catalog-item h2 { font-size:1.375rem; line-height:1.3; margin-bottom:.875rem; }
  .catalog-item p { font-size:.9375rem; line-height:1.75; color:var(--text); margin-bottom:1rem; }
  .article { min-width:0; max-width:54rem; }
  .article h2 { margin:2.5rem 0 1.25rem; font-size:clamp(1.5rem,1.15rem + 1vw,2rem); }
  .article h2:first-child { margin-top:0; }
  .article p, .article li { color:var(--text); font-size:1rem; line-height:1.85; }
  .article p + p { margin-top:1rem; }
  .article ul, .article ol { padding-left:1.25rem; }
  .article li { margin-bottom:.75rem; padding-left:.25rem; }
  .article .text-link { display:inline; min-height:0; font-size:inherit; line-height:inherit; text-decoration:underline; text-underline-offset:3px; }
  .aside { align-self:start; min-width:0; padding:1.75rem; background:var(--light); border:1px solid var(--line); border-radius:var(--radius); }
  .aside h2 { font-size:1.5rem; line-height:1.3; margin-bottom:1rem; }
  .aside p { font-size:.9375rem; line-height:1.7; color:var(--text); margin-bottom:1.25rem; }
  .aside .btn { width:100%; }
  .aside__links { display:flex; flex-direction:column; gap:.25rem; margin-top:1.25rem; font-size:.875rem; overflow-wrap:anywhere; }
  .aside__links a { min-height:2.75rem; display:flex; align-items:center; }
  .faq { background:var(--light); }
  details { border-bottom:1px solid var(--line); padding-block:1.25rem; }
  summary { display:flex; justify-content:space-between; align-items:center; gap:1rem; min-height:2.75rem; font-size:clamp(1rem,.9rem + .4vw,1.25rem); font-weight:600; line-height:1.5; cursor:pointer; list-style:none; }
  summary::-webkit-details-marker { display:none; }
  summary::after { content:'+'; font-size:1.75rem; font-weight:400; line-height:1; color:var(--red); flex:none; }
  details[open] summary::after { content:'−'; }
  details p { max-width:56rem; padding-top:1rem; font-size:1rem; line-height:1.8; color:var(--text); }
  .contact-lines { display:grid; gap:1.75rem; }
  .contact-line { display:flex; gap:1rem; align-items:flex-start; }
  .contact-line > div { min-width:0; }
  .contact-line > .icon { margin-top:.25rem; color:var(--blue); }
  .contact-line strong { display:block; font-size:clamp(1rem,.8rem + .6vw,1.25rem); font-weight:600; line-height:1.6; overflow-wrap:anywhere; }
  .contact-line a { display:inline-block; min-height:2.75rem; }
  .contact-line span { display:block; font-size:.875rem; line-height:1.7; color:var(--muted); }
  .requisites { min-width:0; align-self:start; padding:clamp(1.5rem,3vw,2rem); border:1px solid var(--line); border-radius:var(--radius); background:var(--light); }
  .requisites h2 { font-size:1.5rem; }
  .requisites dl { display:grid; grid-template-columns:minmax(0,1fr); gap:.375rem; font-size:.9375rem; line-height:1.7; }
  .requisites dt { color:var(--muted); }
  .requisites dd { margin-bottom:1.125rem; }
  .requisites dd:last-child { margin-bottom:0; }

  .request-dialog { width:min(35rem,calc(100% - 2rem)); max-height:calc(100vh - 2rem); max-height:calc(100dvh - 2rem); padding:clamp(1.5rem,4vw,2.5rem); border:1px solid var(--line); border-radius:.75rem; color:var(--navy); background:var(--white); box-shadow:0 24px 80px rgb(0 26 63 / 30%); overflow:auto; overscroll-behavior:contain; }
  .request-dialog::backdrop { background:rgb(5 36 74 / 75%); backdrop-filter:blur(4px); }
  .request-dialog h2 { font-size:clamp(1.5rem,1.25rem + 1vw,1.875rem); padding-right:2rem; margin-bottom:1rem; }
  .request-dialog p { color:var(--text); font-size:.9375rem; line-height:1.7; }
  .dialog-close { position:absolute; right:.5rem; top:.5rem; display:grid; place-items:center; width:2.75rem; height:2.75rem; border-radius:var(--radius); font-size:1.75rem; color:var(--muted); background:transparent; }
  .request-form { display:grid; gap:1.25rem; margin-top:1.75rem; }
  .request-form label { display:grid; gap:.5rem; font-size:.875rem; font-weight:600; }
  .request-form input, .request-form textarea, .request-form select { width:100%; min-width:0; min-height:3rem; padding:.875rem 1rem; font-size:1rem; border:1px solid #afc0d6; border-radius:var(--radius); background:var(--white); color:var(--navy); line-height:1.5; }
  .request-form textarea { resize:vertical; min-height:7rem; }
  .request-dialog .form-note { font-size:.75rem; line-height:1.65; color:var(--muted); }
  .draft-result { padding:1.25rem; border:1px solid var(--line); border-radius:var(--radius); background:var(--light); margin-top:1.75rem; }
  .draft-result h3 { margin-bottom:1rem; }
  .draft-result .actions { margin-top:1.25rem; }
  .draft-result .btn { width:100%; }
  .not-found { padding-block:clamp(4rem,10vw,8rem); text-align:center; }
  .not-found h1 { font-size:clamp(5rem,15vw,8rem); line-height:1; color:var(--blue); margin-bottom:1.5rem; }
  .not-found p { margin-bottom:2rem; }
}

@layer responsive {
  @container section (width < 440px) {
    .category { align-items:stretch; }
    .category__photo { aspect-ratio:auto; align-self:stretch; }
    .category__body { display:flex; flex-direction:column; justify-content:center; padding:.75rem; }
    .category h3 { font-size:clamp(.875rem,3.85vw,.9375rem); line-height:1.25; margin-bottom:.5rem; }
    .category p { line-height:1.45; }
  }
  @container section (min-width:440px) {
    .categories { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .category { display:flex; flex-direction:column; align-items:stretch; }
    .category__body { padding:1.25rem; }
  }
  @container section (min-width:700px) {
    .categories { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .support { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); }
    .support__copy { padding:2rem; }
    .support .service-list { grid-column:1/-1; grid-template-columns:repeat(3,minmax(0,1fr)); padding-block:1.25rem; margin-inline:2rem; }
  }
  @container section (min-width:1080px) {
    .categories { grid-template-columns:repeat(5,minmax(0,1fr)); }
    .category__body { padding:1.125rem; }
    .support { grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr) minmax(0,.9fr); }
    .support .service-list { grid-column:auto; grid-template-columns:minmax(0,1fr); border-top:0; border-left:1px solid var(--line); margin:1.5rem 1.5rem 1.5rem 0; padding:0 0 0 1.5rem; }
  }
  @media (width < 760px) {
    .btn { width:100%; min-height:3.5rem; justify-content:center; text-align:center; }
    .hero--home .actions { display:grid; grid-template-columns:minmax(0,1fr); }
    .hero--home .actions > .btn { width:100%; height:3.5rem; min-height:3.5rem; }
    .about-band__inner { padding-bottom:0; row-gap:0; }
    .about-band__copy { padding-bottom:var(--section-space); }
    .about-band__art { align-self:stretch; aspect-ratio:auto; min-height:12rem; }
    .about-band__slogan { align-self:stretch; display:flex; flex-direction:column; justify-content:center; padding-block:1.5rem; font-size:clamp(.8125rem,3vw,1.125rem); line-height:1.5; }
    .about-band__slogan br { display:none; }
    .about-band__slogan span { text-transform:none; }
  }
  @media (min-width:480px) {
    .hero h1 { font-size:clamp(2.25rem,6.8vw,3.5rem); }
    .hero__benefits > div { font-size:.8125rem; gap:.75rem; }
    .hero__benefits .icon { width:1.75rem; height:1.75rem; }
    .requisites dl { grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); gap:1rem 1.25rem; }
    .requisites dd { margin-bottom:0; }
    .footer__main .nav { grid-template-columns:repeat(3,minmax(0,1fr)); }
  }
  @media (min-width:600px) {
    .header .phone { display:flex; margin-left:auto; }
    .nav__phone { display:none; }
    .steps { grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; }
    .step { display:block; }
    .step__top { margin-bottom:1rem; gap:1rem; }
    .step__number { font-size:1.5rem; }
    .step__icon { width:3.25rem; height:3.25rem; }
    .trust__row { grid-template-columns:repeat(3,minmax(0,1fr)); }
  }
  @media (min-width:760px) {
    .services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .header__inner > .btn { display:inline-flex; }
    .hero { display:block; min-height:34rem; }
    .hero__inner { padding-block:3rem; }
    .hero--home .hero__inner { padding-bottom:0; }
    .hero--home .hero__art { margin:0; }
    .hero__benefits-wrap { padding-top:0; padding-bottom:3rem; background:transparent; }
    .hero__benefits-wrap .hero__benefits { margin-top:2.25rem; }
    .hero h1 { max-width:62%; font-size:clamp(2.25rem,4vw,3.5rem); }
    .hero__lead { max-width:52%; }
    .hero__benefits { max-width:55%; margin-top:2.25rem; gap:1rem; }
    .hero__benefits > div { font-size:.75rem; align-items:flex-start; flex-direction:column; }
    .hero__art { position:absolute; inset:0; width:100%; height:100%; aspect-ratio:auto; margin:0; mask-image:none; }
    .hero__art > img { object-position:80% 70%; }
    .hero__art::after { display:none; }
    .hero__wash { display:block; position:absolute; inset:0; background:linear-gradient(90deg,var(--white),#fbfdff 30%,rgb(248 252 255 / 96%) 40%,rgb(248 252 255 / 80%) 50%,rgb(248 252 255 / 20%) 63%,transparent 73%); z-index:1; }
    .stats__inner { grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.5rem; padding-block:2rem; }
    .about-band__inner { grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); align-items:center; gap:2rem; }
    .about-band__copy { grid-column:auto; grid-row:span 2; }
    .about-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .about-band__slogan { font-size:1.125rem; padding-left:1rem; }
    .about-band__slogan br { display:none; }
    .page-hero__inner { grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:2.5rem; }
    .page-hero__media { position:absolute; inset-block:0; right:0; width:44%; height:100%; clip-path:polygon(15% 0,100% 0,85% 100%,0 100%); }
    .contacts-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:3rem; }
    .footer__main .nav { order:0; display:flex; width:auto; flex:1 1 28rem; justify-content:center; gap:1.25rem; }
  }
  @media (min-width:960px) {
    .article-layout { grid-template-columns:minmax(0,1fr) minmax(17rem,21rem); gap:clamp(2.5rem,5vw,5rem); }
    .aside { position:sticky; top:7rem; }
    .steps { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .cta__inner { grid-template-columns:minmax(0,1fr) minmax(16rem,.4fr); gap:2rem; align-items:center; padding-block:2.5rem; }
    .cta::before { left:24%; width:60%; opacity:1; mask-image:linear-gradient(90deg,transparent,#000 26%,#000 58%,transparent); }
    .cta__points { grid-template-columns:minmax(0,1fr); border-top:0; border-left:1px solid rgb(255 255 255 / 18%); padding:1rem 0 1rem 2rem; font-size:.875rem; }
  }
  @media (min-width:1024px) {
    .services-grid { grid-template-columns:repeat(5,minmax(0,1fr)); gap:1rem; }
    .services-grid .content-card { padding:clamp(1rem,1.4vw,1.25rem); }
    .services-grid h3 { font-size:clamp(1rem,1.3vw,1.125rem); min-height:3.9em; }
    .services-grid p { font-size:.875rem; line-height:1.65; }
    .services-grid .text-link { font-size:.8125rem; }
  }
  @media (min-width:1200px) {
    .header__inner { flex-wrap:nowrap; gap:1.5rem; min-height:5.5rem; }
    .header .nav, .js-ready .header .nav:not(.is-open) { order:0; width:auto; display:flex; flex-wrap:nowrap; margin-left:auto; padding:0; border:0; gap:1.375rem; font-size:.8125rem; max-height:none; overflow:visible; }
    .js-ready .menu-toggle { display:none; }
    .header .nav__phone { display:none; }
    .header .phone { margin:0; }
    .header__inner > .btn { white-space:nowrap; padding-inline:1.25rem; }
    .hero { min-height:clamp(36rem,42vw,44rem); }
    .hero__art { mask-image:none; }
    .hero__inner { padding-block:clamp(3.5rem,4vw,5rem); }
    .hero__benefits-wrap { padding-bottom:clamp(3.5rem,4vw,5rem); }
    .hero__benefits-wrap .hero__benefits { margin-top:3rem; }
    .hero h1 { max-width:58%; font-size:clamp(3rem,4vw,4rem); }
    .hero__lead { max-width:45%; }
    .hero__benefits { max-width:52%; margin-top:3rem; }
    .hero__benefits > div { flex-direction:row; align-items:center; font-size:.8125rem; }
    .stats__inner { grid-template-columns:repeat(4,minmax(0,1fr)) minmax(0,1.25fr); gap:1.75rem; }
    .stats__map { display:flex; }
    .steps { grid-template-columns:repeat(5,minmax(0,1fr)); gap:1.75rem; }
    .about-band__inner { grid-template-columns:minmax(0,1.45fr) minmax(0,.95fr) minmax(0,.65fr); gap:1.5rem; padding-block:0; }
    .about-band__copy { grid-row:auto; padding-block:var(--section-space); }
    .about-band__art { align-self:stretch; aspect-ratio:auto; }
    .about-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); gap:.75rem; }
    .about-metrics strong { font-size:clamp(.8125rem,1.1vw,.9375rem); }
    .about-metrics > div { font-size:.6875rem; }
    .about-band__slogan { font-size:1.25rem; padding-block:var(--section-space); }
    .about-band__slogan br { display:initial; }
    .trust__row { grid-template-columns:repeat(6,minmax(0,1fr)); }
    .footer__main { flex-wrap:nowrap; gap:1.5rem; }
    .footer__main .nav { flex:auto; font-size:.8125rem; }
  }
  @media (min-width:1680px) {
    .header .tagline { display:block; }
    .header__inner { gap:1.25rem; }
    .header .nav { gap:1.125rem; }
    .header .nav, .header .phone strong, .header__inner > .btn { font-size:.8125rem; }
  }
  @media (max-width:379px) {
    .logo { --logo-size:1.5rem; --logo-caption-size:.34rem; }
    .logo__caption { letter-spacing:.11rem; }
    .hero .actions .btn { width:100%; }
    .hero__benefits { gap:.5rem; }
    .hero__benefits > div { flex-direction:column; align-items:flex-start; font-size:.6875rem; }
    .cta__points { grid-template-columns:minmax(0,1fr); }
    .cta .actions .btn { width:100%; }
  }
}

@layer components {
  .delivery-hero h1 { max-width:100%; font-size:clamp(1.875rem,6.8vw,3.5rem); line-height:1.1; }
  .delivery-hero .hero__inner { padding-block:clamp(2rem,4vw,4.5rem); }
  .delivery-hero .hero__lead { font-weight:400; }
  .delivery-nav { background:linear-gradient(105deg,var(--navy),var(--dark)); color:var(--white); }
  .delivery-nav__inner { display:grid; grid-template-columns:minmax(0,1fr); }
  .delivery-nav a { display:grid; grid-template-columns:2rem minmax(0,1fr) auto; align-items:center; gap:.75rem; min-height:4.5rem; padding-block:1rem; border-bottom:1px solid rgb(255 255 255 / 18%); font-weight:500; }
  .delivery-nav a:last-child { border-bottom:0; }
  .delivery-nav__number { color:#a8c6e9; font-size:.8125rem; font-weight:400; }
  .delivery-nav a > .icon { width:1.375rem; height:1.375rem; }
  .delivery-section-heading { display:grid; grid-template-columns:minmax(0,1fr); gap:1.25rem; margin-bottom:2rem; }
  .delivery-section-heading h2 { margin-bottom:0; }
  .delivery-section-heading__text { color:var(--text); max-width:38rem; }
  .delivery-section-heading__text p + p { margin-top:1rem; }
  .delivery-factors { display:grid; grid-template-columns:minmax(0,1fr); gap:0 3rem; list-style:none; padding:0; margin-bottom:1.75rem; }
  .delivery-factors li { display:grid; grid-template-columns:2rem minmax(0,1fr); gap:1rem; padding-block:1.5rem; border-top:1px solid var(--line); }
  .delivery-factors__number { padding-top:.125rem; color:var(--red); font-size:.875rem; font-weight:600; }
  .delivery-factors h3 { font-size:1.125rem; line-height:1.4; margin-bottom:.5rem; }
  .delivery-factors p { color:var(--text); font-size:.9375rem; line-height:1.7; }
  .delivery-brief { background:var(--light); }
  .delivery-brief__inner { display:grid; grid-template-columns:minmax(0,1fr); gap:2rem; align-items:start; }
  .delivery-brief__inner > div > p:not(.eyebrow) { color:var(--text); max-width:34rem; margin-bottom:1.75rem; }
  .delivery-checklist { padding:0; list-style:none; }
  .delivery-checklist li { display:flex; gap:1rem; padding-block:1.25rem; border-bottom:1px solid var(--line); }
  .delivery-checklist li:first-child { padding-top:0; }
  .delivery-checklist li:last-child { border-bottom:0; }
  .delivery-checklist .icon { color:var(--blue); margin-top:.25rem; }
  .delivery-checklist div { min-width:0; }
  .delivery-checklist strong { display:block; font-weight:600; font-size:1.125rem; line-height:1.4; margin-bottom:.5rem; }
  .delivery-checklist span { display:block; font-size:.9375rem; line-height:1.7; color:var(--text); }
  .delivery-payment__inner { display:grid; grid-template-columns:minmax(0,1fr); gap:2.5rem; align-items:start; }
  .delivery-payment-steps { list-style:none; padding:0; }
  .delivery-payment-steps li { display:grid; grid-template-columns:2rem minmax(0,1fr); gap:1rem; padding-block:1.5rem; border-bottom:1px solid var(--line); }
  .delivery-payment-steps li:first-child { padding-top:0; }
  .delivery-payment-steps li:last-child { border-bottom:0; }
  .delivery-payment-steps li > span { font-size:.875rem; font-weight:600; color:var(--red); padding-top:.125rem; }
  .delivery-payment-steps h3 { font-size:1.25rem; line-height:1.4; margin-bottom:.5rem; }
  .delivery-payment-steps p { color:var(--text); font-size:.9375rem; line-height:1.7; }
  .delivery-tax { padding:clamp(1.5rem,3vw,2.5rem); border-radius:var(--radius); background:linear-gradient(135deg,var(--navy),var(--dark)); color:var(--white); min-width:0; }
  .delivery-tax > .icon { width:2rem; height:2rem; margin-bottom:1.5rem; }
  .delivery-tax .eyebrow { color:#a8c6e9; margin-bottom:.75rem; }
  .delivery-tax h3 { font-size:clamp(1.375rem,2vw,1.75rem); line-height:1.3; margin-bottom:1rem; }
  .delivery-tax p:not(.eyebrow) { color:#e0eafa; font-size:.9375rem; line-height:1.7; margin-bottom:1.5rem; }
  .delivery-payment__note { margin-top:1.75rem; font-size:.875rem; color:var(--muted); }
  .delivery-details { background:var(--light); }
  .delivery-details .section__head h2 { margin:0; }
  .delivery-details__grid { display:grid; grid-template-columns:minmax(0,1fr); gap:1.5rem; }
  .delivery-details__card { min-width:0; background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:clamp(1.25rem,2.5vw,2rem); }
  .delivery-details__card h3 { margin-bottom:1.5rem; font-size:1.375rem; line-height:1.4; }
  .delivery-details__card dl { display:grid; grid-template-columns:minmax(0,1fr); gap:.25rem; font-size:1rem; line-height:1.6; }
  .delivery-details__card dt { color:var(--muted); font-size:.8125rem; }
  .delivery-details__card dd { margin-bottom:1rem; font-variant-numeric:tabular-nums; }
  .delivery-details__card dd:last-child { margin-bottom:0; }
  .delivery-english { margin-top:1rem; }
  .delivery-english .delivery-details__card { margin-top:1.25rem; }
  .delivery-details__source { margin-top:1.5rem; color:var(--muted); font-size:.8125rem; line-height:1.7; }
  .delivery-details__source a { color:var(--blue); text-decoration:underline; text-underline-offset:3px; }
  .delivery-faq { background:var(--white); }
}

@layer responsive {
  @media (min-width:700px) {
    .delivery-nav__inner { grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
    .delivery-nav a { border-bottom:0; grid-template-columns:1.5rem minmax(0,1fr); gap:.5rem; min-height:6rem; }
    .delivery-nav a > .icon { display:none; }
    .delivery-factors { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .delivery-details__grid { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
  }
  @media (min-width:760px) {
    .delivery-hero { min-height:clamp(32rem,40vw,40rem); }
    .delivery-hero h1 { max-width:64%; font-size:clamp(2.25rem,4vw,3.5rem); }
    .delivery-hero .hero__lead { max-width:50%; }
    .delivery-hero .hero__art { width:100%; mask-image:none; }
    .delivery-hero .actions { max-width:60%; }
    .delivery-section-heading { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:3rem; align-items:center; margin-bottom:2.5rem; }
    .delivery-brief__inner { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:3rem; }
    .delivery-payment__inner { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:3rem; }
  }
  @media (min-width:1024px) {
    .delivery-details__card dl { grid-template-columns:minmax(0,1fr) minmax(0,1.6fr); gap:1rem 1.5rem; align-items:baseline; }
    .delivery-details__card dd { margin-bottom:0; }
  }
  @media (min-width:1200px) {
    .delivery-hero h1 { max-width:62%; font-size:clamp(3rem,3.8vw,3.75rem); }
    .delivery-hero .hero__lead { max-width:45%; }
    .delivery-nav a { grid-template-columns:1.5rem minmax(0,1fr) auto; }
    .delivery-nav a > .icon { display:block; }
    .delivery-section-heading, .delivery-brief__inner { gap:5rem; }
    .delivery-payment__inner { grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:5rem; }
  }
}

@layer accessibility {
  [hidden] { display:none; }
  .skip { position:fixed; top:-5rem; left:1rem; z-index:100; padding:1rem; border-radius:var(--radius); background:var(--navy); color:var(--white); }
  .skip:focus { top:1rem; }
  :where(a,button,input,textarea,select,summary):focus-visible { outline:3px solid var(--focus); outline-offset:4px; }
  :where(h1,h2,h3,details,article,[id]) { scroll-margin-top:7rem; }
  @media (hover:hover) and (pointer:fine) {
    .btn:hover { background:var(--red-hover); box-shadow:0 6px 18px rgb(227 30 36 / 15%); transform:translateY(-1px); }
    .btn--outline:hover { background:#e8eff8; box-shadow:none; }
    .btn--light:hover { background:rgb(255 255 255 / 10%); box-shadow:none; }
    .category:hover { box-shadow:var(--shadow); transform:translateY(-3px); border-color:#bccde3; }
    .nav a:hover, .service-list a:hover, .aside__links a:hover { color:var(--red); }
    .text-link:hover, .footer__legal a:hover { text-decoration:underline; text-underline-offset:4px; }
    .dialog-close:hover { background:var(--light); }
  }
  @media (prefers-reduced-motion:reduce) {
    html { scroll-behavior:auto; }
    .btn, .category { transition:none; }
  }
  @media (forced-colors:active) {
    .btn, .menu-toggle, .category, .content-card, .requisites, .aside { border:1px solid ButtonText; }
    .hero__art, .hero__wash, .stats__map img, .cta::before { display:none; }
  }
}
