/* ============================================================
   RED STARS INTERNATIONAL — stylesheet v2
   Light · warm cream · editorial · photo-rich · modern
   ============================================================ */

:root{
  --paper:    #f7f3ec;   /* warm cream base            */
  --paper-2:  #ffffff;   /* cards / clean panels       */
  --paper-3:  #f0e8db;   /* alt section wash           */
  --rose:     #f7e8e6;   /* soft red tint wash         */

  --ink:      #1a1820;   /* headings                   */
  --ink-2:    #36333f;
  --body:     #56535f;   /* body copy                  */
  --muted:    #8a8794;
  --line:     rgba(26,24,32,.10);
  --line-2:   rgba(26,24,32,.16);

  --red:      #c52a3a;
  --red-deep: #8f1f2e;
  --red-soft: #e05163;
  --bronze:   #b0814a;
  --bronze-soft:#caa46a;

  --grad-red:  linear-gradient(100deg, #d6304a 0%, #9c2030 100%);
  --grad-warm: linear-gradient(100deg, #c52a3a 0%, #b0814a 100%);

  --shadow-sm: 0 2px 10px rgba(40,22,16,.06);
  --shadow:    0 26px 54px -30px rgba(46,26,18,.45);
  --shadow-lg: 0 44px 90px -34px rgba(46,26,18,.5);
  --ring-red:  0 0 0 1px rgba(197,42,58,.2);

  --radius:    18px;
  --radius-lg: 26px;
  --radius-sm: 12px;

  --container: 1180px;
  --ease:      cubic-bezier(.22,.61,.36,1);
  --font:      'Inter', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  --display:   'Space Grotesk', var(--font);
}

/* ---------- reset ---------- */
*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } *{ animation:none !important; transition:none !important; } }
body{
  font-family:var(--font); color:var(--body); background:var(--paper);
  line-height:1.62; overflow-x:hidden; -webkit-font-smoothing:antialiased;
}
body::before{ /* warm ambient wash */
  content:""; position:fixed; inset:0; z-index:-2; pointer-events:none;
  background:
    radial-gradient(50% 38% at 88% -6%, rgba(197,42,58,.07), transparent 60%),
    radial-gradient(46% 40% at 4% 8%, rgba(176,129,74,.07), transparent 58%),
    var(--paper);
}
img,svg{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; }
svg{ fill:none; }

.container{ width:100%; max-width:var(--container); margin-inline:auto; padding-inline:clamp(20px,5vw,40px); }

/* ---------- type helpers ---------- */
.grad{ background:var(--grad-warm); -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent; }
.eyebrow{ display:inline-flex; align-items:center; gap:9px; font-family:var(--display); font-size:.78rem; font-weight:600; letter-spacing:2.5px; text-transform:uppercase; color:var(--red); margin-bottom:18px; }
.eyebrow::before{ content:""; width:24px; height:2px; background:var(--grad-warm); border-radius:2px; }
h1,h2,h3,h4{ color:var(--ink); font-family:var(--display); font-weight:700; letter-spacing:-.5px; }
.section{ padding:clamp(70px,10vw,128px) 0; position:relative; }
.section--alt{ background:var(--paper-3); }
.section--white{ background:var(--paper-2); }
.section-head{ max-width:720px; margin-bottom:clamp(40px,6vw,60px); }
h2{ font-size:clamp(2rem,4.3vw,3.1rem); line-height:1.07; }
.section-head__lead{ margin-top:18px; color:var(--body); font-size:1.1rem; }
.lead{ font-size:1.14rem; color:var(--ink-2); }

/* ---------- buttons ---------- */
.btn{
  --pad:.92em 1.55em;
  display:inline-flex; align-items:center; gap:.55em; padding:var(--pad);
  border-radius:100px; font-weight:600; font-size:.97rem; font-family:var(--display);
  letter-spacing:.2px; cursor:pointer; border:1.5px solid transparent;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), background .3s, color .3s, border-color .3s;
}
.btn span{ transition:transform .35s var(--ease); }
.btn:hover span{ transform:translateX(4px); }
.btn--primary{ background:var(--grad-red); color:#fff; box-shadow:0 18px 34px -16px rgba(197,42,58,.6); }
.btn--primary:hover{ transform:translateY(-3px); box-shadow:0 26px 48px -16px rgba(197,42,58,.6); }
.btn--ghost{ background:transparent; color:var(--ink); border-color:var(--line-2); }
.btn--ghost:hover{ transform:translateY(-3px); border-color:var(--red); color:var(--red); }
.btn--lg{ font-size:1.05rem; --pad:1.02em 2em; }
.btn--block{ width:100%; justify-content:center; }

/* ---------- preloader ---------- */
.preloader{ position:fixed; inset:0; z-index:1000; display:grid; place-items:center; background:var(--paper); transition:opacity .6s ease, visibility .6s; }
.preloader.is-done{ opacity:0; visibility:hidden; }
.preloader__star{ width:54px; animation:spinPulse 1.5s var(--ease) infinite; }
@keyframes spinPulse{ 0%{ transform:scale(.8) rotate(0); opacity:.55 } 50%{ transform:scale(1.05) rotate(180deg); opacity:1 } 100%{ transform:scale(.8) rotate(360deg); opacity:.55 } }

/* ---------- top accent bar (letterhead) ---------- */
.topbar{ position:fixed; inset:0 0 auto 0; height:4px; z-index:300; background:linear-gradient(90deg,#8f1f2e,#c52a3a 38%,#b0814a 100%); }
.scroll-progress{ position:fixed; top:0; left:0; height:4px; width:0; z-index:301; background:#fff; mix-blend-mode:overlay; }

/* ---------- navigation / letterhead ---------- */
.nav{ position:fixed; inset:4px 0 auto 0; z-index:200; transition:transform .4s var(--ease); }
.nav__inner{
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  margin-top:12px; padding:10px 12px 10px 18px;
  background:rgba(255,255,255,.72); border:1px solid var(--line); border-radius:100px;
  backdrop-filter:blur(16px) saturate(140%); transition:box-shadow .4s, background .4s, margin .4s;
}
.nav.is-scrolled .nav__inner{ background:rgba(255,255,255,.9); box-shadow:var(--shadow-sm); margin-top:8px; }
.brand{ display:inline-flex; align-items:center; gap:12px; }
.brand__mark{ color:var(--red); display:grid; place-items:center; flex:none; }
.brand__mark svg{ fill:currentColor; width:34px; height:auto; }
.brand__text{ font-family:var(--display); font-weight:700; font-size:1.04rem; letter-spacing:.4px; line-height:1; color:var(--ink); display:flex; flex-direction:column; }
.brand__text small{ font-size:.55rem; letter-spacing:2.6px; color:var(--muted); font-weight:600; margin-top:4px; }
.nav__links{ display:flex; align-items:center; gap:4px; }
.nav__links a{ padding:.58em .95em; border-radius:100px; font-size:.9rem; font-weight:500; color:var(--ink-2); transition:color .3s, background .3s; }
.nav__links a:hover{ color:var(--red); }
.nav__links a.is-active{ color:var(--red); background:var(--rose); }
.nav__cta{ background:var(--grad-red); color:#fff !important; padding:.62em 1.15em !important; box-shadow:0 12px 24px -12px rgba(197,42,58,.7); }
.nav__cta:hover{ transform:translateY(-1px); }
.nav__toggle{ display:none; width:44px; height:44px; border:1px solid var(--line-2); background:var(--paper-2); border-radius:12px; cursor:pointer; flex-direction:column; gap:5px; align-items:center; justify-content:center; }
.nav__toggle span{ width:18px; height:2px; background:var(--ink); border-radius:2px; transition:.3s var(--ease); }
.nav__toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav__toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.nav__toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* ---------- hero ---------- */
.hero{ position:relative; padding:clamp(130px,17vw,180px) 0 clamp(70px,9vw,110px); overflow:hidden; }
.hero__grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(36px,5vw,68px); align-items:center; }
.hero__badge{ display:inline-flex; align-items:center; gap:10px; font-size:.82rem; font-weight:500; color:var(--ink-2);
  padding:.5em 1em .5em .6em; border:1px solid var(--line-2); border-radius:100px; background:var(--paper-2); box-shadow:var(--shadow-sm); margin-bottom:24px; }
.hero__badge b{ font-family:var(--display); color:#fff; background:var(--grad-red); padding:.25em .7em; border-radius:100px; font-size:.74rem; letter-spacing:.5px; }
.hero__title{ font-size:clamp(2.5rem,5.6vw,4.3rem); line-height:1.04; letter-spacing:-1.5px; margin-bottom:22px; }
.hero__lead{ font-size:clamp(1.06rem,1.5vw,1.24rem); color:var(--ink-2); max-width:540px; margin-bottom:32px; }
.hero__actions{ display:flex; flex-wrap:wrap; gap:14px; margin-bottom:30px; }
.hero__trust{ display:flex; align-items:center; gap:14px; font-size:.9rem; color:var(--body); }
.hero__trust .stars{ color:var(--bronze); letter-spacing:2px; font-size:1rem; }
.hero__trust b{ color:var(--ink); font-weight:600; }

.hero__media{ position:relative; }
.hero__photo{ position:relative; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-lg); aspect-ratio:4/5; }
.hero__photo img{ width:100%; height:100%; object-fit:cover; }
.hero__photo::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 45%, rgba(143,31,46,.34)); }
.hero__float{ position:absolute; left:-26px; bottom:30px; background:rgba(255,255,255,.92); backdrop-filter:blur(8px);
  border:1px solid var(--line); border-radius:18px; padding:16px 20px; box-shadow:var(--shadow); display:flex; gap:16px; align-items:center; }
.hero__float .n{ font-family:var(--display); font-weight:700; font-size:1.8rem; line-height:1; color:var(--red); }
.hero__float .l{ font-size:.76rem; color:var(--body); line-height:1.3; max-width:120px; }
.hero__float .vr{ width:1px; align-self:stretch; background:var(--line); }
.hero__stars{ position:absolute; top:-18px; right:18px; color:var(--bronze-soft); }
.hero__stars svg{ fill:currentColor; width:74px; opacity:.9; filter:drop-shadow(0 6px 14px rgba(176,129,74,.4)); }
.hero__glow{ position:absolute; z-index:-1; width:60%; height:60%; right:-6%; top:6%; border-radius:50%;
  background:radial-gradient(circle, rgba(197,42,58,.12), transparent 65%); }

/* ---------- marquee ---------- */
.marquee{ border-block:1px solid var(--line); background:var(--paper-2); padding:16px 0; overflow:hidden; }
.marquee__track{ display:inline-flex; align-items:center; gap:30px; white-space:nowrap; animation:scrollX 38s linear infinite; font-family:var(--display); font-weight:500; color:var(--ink-2); font-size:1rem; }
.marquee__track .sep{ color:var(--red); }
.marquee:hover .marquee__track{ animation-play-state:paused; }
@keyframes scrollX{ to{ transform:translateX(-50%); } }

/* ---------- stats ---------- */
.stats__grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:20px; }
.stat{ text-align:center; padding:22px 14px; background:var(--paper-2); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow-sm); transition:.4s var(--ease); }
.stat:hover{ transform:translateY(-4px); box-shadow:var(--shadow); }
.stat__num{ display:block; font-family:var(--display); font-weight:700; font-size:clamp(2rem,3.3vw,2.8rem); line-height:1; background:var(--grad-warm); -webkit-background-clip:text; background-clip:text; color:transparent; }
.stat__label{ display:block; margin-top:8px; font-size:.82rem; color:var(--body); letter-spacing:.2px; }

/* ---------- about ---------- */
.about__grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(36px,6vw,72px); align-items:center; }
.about__copy p{ margin-bottom:18px; }
.about__points{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:28px; }
.point{ padding:18px; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--paper-2); transition:.4s var(--ease); }
.point:hover{ transform:translateY(-3px); box-shadow:var(--shadow-sm); border-color:var(--line-2); }
.point__k{ display:flex; align-items:center; gap:8px; font-family:var(--display); font-weight:600; color:var(--ink); margin-bottom:4px; }
.point__k::before{ content:"★"; color:var(--red); font-size:.85rem; }
.point__v{ font-size:.9rem; color:var(--body); }
.about__media{ position:relative; }
.about__media img{ width:100%; border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); aspect-ratio:5/4; object-fit:cover; }
.about__tag{ position:absolute; right:-14px; top:-14px; background:var(--ink); color:#fff; font-family:var(--display); font-weight:600; font-size:.82rem; padding:12px 16px; border-radius:14px; box-shadow:var(--shadow); }
.about__tag b{ display:block; color:var(--bronze-soft); font-size:1.5rem; line-height:1; }

/* ---------- divisions (mixed photo + icon cards) ---------- */
.cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.card{ position:relative; background:var(--paper-2); border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-sm); transition:transform .5s var(--ease), box-shadow .5s; display:flex; flex-direction:column; }
.card:hover{ transform:translateY(-6px); box-shadow:var(--shadow); }
.card__photo{ position:relative; aspect-ratio:16/10; overflow:hidden; }
.card__photo img{ width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease); }
.card:hover .card__photo img{ transform:scale(1.06); }
.card__photo::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 40%, rgba(26,24,32,.45)); }
.card__no{ position:absolute; top:14px; left:16px; z-index:2; font-family:var(--display); font-weight:700; font-size:.82rem; color:#fff; background:rgba(197,42,58,.92); padding:.3em .7em; border-radius:100px; letter-spacing:.5px; }
.card__body{ padding:24px 24px 26px; display:flex; flex-direction:column; flex:1; }
.card__icon{ width:50px; height:50px; border-radius:13px; display:grid; place-items:center; color:var(--red); background:var(--rose); border:1px solid rgba(197,42,58,.16); margin-bottom:16px; }
.card__icon svg{ stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; width:26px; height:26px; }
.card h3{ font-size:1.28rem; margin-bottom:9px; }
.card>.card__body>p{ color:var(--body); font-size:.94rem; margin-bottom:16px; }
.card__list{ display:grid; gap:8px; margin-top:auto; }
.card__list li{ position:relative; padding-left:20px; font-size:.89rem; color:var(--ink-2); }
.card__list li::before{ content:"★"; position:absolute; left:0; top:1px; color:var(--red); font-size:.7rem; }

/* ---------- projects / experience gallery ---------- */
.gallery{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.shot{ position:relative; border-radius:var(--radius); overflow:hidden; aspect-ratio:3/4; box-shadow:var(--shadow-sm); }
.shot img{ width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease); }
.shot:hover img{ transform:scale(1.08); }
.shot::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 40%, rgba(26,24,32,.72)); }
.shot figcaption{ position:absolute; left:16px; right:16px; bottom:15px; z-index:2; color:#fff; }
.shot figcaption b{ display:block; font-family:var(--display); font-size:1rem; }
.shot figcaption span{ font-size:.78rem; color:rgba(255,255,255,.8); }
.experience__regions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
.region{ display:inline-flex; align-items:center; gap:9px; padding:.6em 1.1em; border:1px solid var(--line-2); border-radius:100px; background:var(--paper-2); font-family:var(--display); font-weight:600; font-size:.9rem; color:var(--ink); }
.region span{ color:var(--red); }

/* ---------- why / features ---------- */
.why__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.feature{ padding:28px; border:1px solid var(--line); border-radius:var(--radius); background:var(--paper-2); box-shadow:var(--shadow-sm); transition:.5s var(--ease); }
.feature:hover{ transform:translateY(-5px); box-shadow:var(--shadow); }
.feature__ico{ display:inline-grid; place-items:center; width:46px; height:46px; border-radius:12px; font-size:1.2rem; color:var(--bronze); background:rgba(176,129,74,.12); border:1px solid rgba(176,129,74,.24); margin-bottom:16px; }
.feature h3{ font-size:1.1rem; margin-bottom:8px; }
.feature p{ color:var(--body); font-size:.92rem; }

/* ---------- sectors ---------- */
.sectors__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.sector{ display:flex; flex-direction:column; align-items:center; gap:12px; padding:28px 16px; border:1px solid var(--line); border-radius:var(--radius); background:var(--paper-2); text-align:center; box-shadow:var(--shadow-sm); transition:.45s var(--ease); }
.sector span{ font-size:1.9rem; transition:transform .45s var(--ease); }
.sector:hover{ transform:translateY(-5px); box-shadow:var(--shadow); }
.sector:hover span{ transform:scale(1.18) rotate(-6deg); }
.sector h4{ font-size:.96rem; }

/* ---------- CTA banner ---------- */
.cta-banner{ padding:clamp(64px,9vw,116px) 0; }
.cta-banner__inner{ position:relative; text-align:center; padding:clamp(44px,7vw,82px); border-radius:var(--radius-lg); overflow:hidden;
  background:linear-gradient(120deg,#1d1820,#241019); color:#fff; box-shadow:var(--shadow-lg); }
.cta-banner__inner::before{ content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(50% 80% at 78% 120%, rgba(197,42,58,.42), transparent 60%), radial-gradient(40% 70% at 10% -10%, rgba(176,129,74,.3), transparent 60%); }
.cta-banner h2{ color:#fff; margin-bottom:14px; position:relative; }
.cta-banner p{ color:rgba(255,255,255,.82); margin-bottom:30px; font-size:1.12rem; position:relative; max-width:560px; margin-inline:auto; }
.cta-banner .btn--ghost{ color:#fff; border-color:rgba(255,255,255,.3); }
.cta-banner .btn--ghost:hover{ color:#fff; border-color:#fff; background:rgba(255,255,255,.08); }
.cta-banner__row{ position:relative; display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

/* ---------- contact ---------- */
.contact__grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(36px,6vw,64px); align-items:start; }
.contact__info{ display:grid; gap:14px; margin-top:32px; }
.contact__info li{ display:flex; gap:16px; align-items:baseline; padding-bottom:14px; border-bottom:1px solid var(--line); }
.contact__k{ font-family:var(--display); font-size:.74rem; letter-spacing:2px; text-transform:uppercase; color:var(--muted); min-width:62px; }
.contact__info a{ color:var(--ink); font-weight:500; } .contact__info a:hover{ color:var(--red); }
.contact__form{ background:var(--paper-2); border:1px solid var(--line); border-radius:var(--radius-lg); padding:clamp(24px,4vw,38px); display:grid; grid-template-columns:1fr 1fr; gap:18px; box-shadow:var(--shadow); }
.field{ position:relative; }
.field--full{ grid-column:1/-1; }
.field input,.field select,.field textarea{
  width:100%; padding:18px 16px 8px; background:var(--paper); border:1px solid var(--line-2); border-radius:12px;
  color:var(--ink); font-family:var(--font); font-size:.96rem; transition:border-color .3s, background .3s, box-shadow .3s; resize:vertical;
}
.field select{ appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%238a8794' d='M6 8 0 0h12z'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 16px center; }
.field select option{ background:#fff; color:var(--ink); }
.field input:focus,.field select:focus,.field textarea:focus{ outline:none; border-color:var(--red); background:#fff; box-shadow:0 0 0 3px rgba(197,42,58,.1); }
.field label{ position:absolute; left:16px; top:15px; color:var(--muted); font-size:.96rem; pointer-events:none; transition:.25s var(--ease); }
.field input:focus + label, .field input:not(:placeholder-shown) + label,
.field textarea:focus + label, .field textarea:not(:placeholder-shown) + label,
.field select:focus + label, .field select:valid + label{
  top:6px; left:14px; font-size:.66rem; letter-spacing:.5px; text-transform:uppercase; color:var(--red);
}
.form-note{ grid-column:1/-1; font-size:.88rem; color:var(--red-deep); min-height:1.2em; }

/* ---------- footer (dark anchor) ---------- */
.footer{ background:#17161b; color:rgba(255,255,255,.66); padding-top:64px; }
.footer h4{ color:#fff; }
.footer__grid{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1.2fr; gap:34px; }
.footer__brand .brand__text{ color:#fff; }
.footer__brand .brand__text small{ color:rgba(255,255,255,.5); }
.footer__brand .brand__mark{ color:var(--red-soft); }
.footer__brand p{ color:rgba(255,255,255,.6); font-size:.92rem; margin-top:16px; max-width:330px; }
.footer__col h4{ font-family:var(--display); font-size:.8rem; letter-spacing:2px; text-transform:uppercase; margin-bottom:16px; }
.footer__col a,.footer__col span{ display:block; color:rgba(255,255,255,.6); font-size:.92rem; padding:5px 0; transition:color .3s; }
.footer__col a:hover{ color:var(--red-soft); }
.footer__bottom{ display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; margin-top:48px; padding:22px 0; border-top:1px solid rgba(255,255,255,.1); color:rgba(255,255,255,.45); font-size:.82rem; }
.footer__bottom a{ color:rgba(255,255,255,.55); } .footer__bottom a:hover{ color:#fff; }
.footer__credits{ font-size:.74rem; color:rgba(255,255,255,.34); max-width:640px; margin-top:6px; }

/* ---------- back to top ---------- */
.to-top{ position:fixed; right:22px; bottom:22px; z-index:120; width:46px; height:46px; border-radius:50%; display:grid; place-items:center;
  background:var(--grad-red); color:#fff; font-size:1.1rem; box-shadow:0 18px 34px -14px rgba(197,42,58,.7); opacity:0; transform:translateY(20px) scale(.8);
  pointer-events:none; transition:.4s var(--ease); }
.to-top.is-visible{ opacity:1; transform:none; pointer-events:auto; }
.to-top:hover{ transform:translateY(-3px); }

/* ---------- reveal ---------- */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
.reveal.in{ opacity:1; transform:none; }
.reveal:nth-child(2){ transition-delay:.06s } .reveal:nth-child(3){ transition-delay:.12s }
.reveal:nth-child(4){ transition-delay:.18s } .reveal:nth-child(5){ transition-delay:.24s } .reveal:nth-child(6){ transition-delay:.3s }

/* ---------- responsive ---------- */
@media (max-width:1040px){
  .hero__grid,.about__grid{ grid-template-columns:1fr; }
  .about__media{ order:-1; max-width:520px; }
  .cards,.why__grid{ grid-template-columns:repeat(2,1fr); }
  .stats__grid{ grid-template-columns:repeat(3,1fr); row-gap:18px; }
  .gallery{ grid-template-columns:repeat(2,1fr); }
  .footer__grid{ grid-template-columns:1fr 1fr; gap:30px; }
  .hero__float{ left:0; }
}
@media (max-width:860px){
  .nav__links{ position:fixed; inset:0 0 0 auto; width:min(82vw,330px); flex-direction:column; align-items:stretch; justify-content:center; gap:8px;
    background:rgba(255,255,255,.97); backdrop-filter:blur(18px); border-left:1px solid var(--line); padding:40px 26px;
    transform:translateX(100%); transition:transform .45s var(--ease); box-shadow:var(--shadow-lg); }
  .nav__links.is-open{ transform:none; }
  .nav__links a{ font-size:1.08rem; padding:.8em 1em; }
  .nav__toggle{ display:flex; }
  .contact__grid{ grid-template-columns:1fr; }
}
@media (max-width:600px){
  .cards,.why__grid,.about__points,.sectors__grid{ grid-template-columns:1fr; }
  .sectors__grid{ grid-template-columns:repeat(2,1fr); }
  .stats__grid{ grid-template-columns:repeat(2,1fr); }
  .gallery{ grid-template-columns:1fr 1fr; }
  .contact__form{ grid-template-columns:1fr; }
  .footer__grid{ grid-template-columns:1fr; }
  .hero__float{ position:static; margin-top:18px; display:inline-flex; }
  .hero__photo{ aspect-ratio:1/1; }
}
