:root {
  --navy: #0c1d31;
  --navy-soft: #162c45;
  --orange: #f07a32;
  --orange-dark: #d95d17;
  --paper: #f5f2eb;
  --white: #fff;
  --ink: #132337;
  --muted: #6c7785;
  --line: rgba(20, 40, 63, .13);
  --serif: Georgia, "Noto Serif SC", "Songti SC", serif;
  --sans: Inter, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
button, input, textarea { font: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible { outline: 3px solid rgba(240, 122, 50, .25); outline-offset: 3px; }

.site-header {
  position: absolute; inset: 0 0 auto; z-index: 10; height: 86px; display: flex; align-items: center; justify-content: space-between;
  max-width: 1440px; margin: auto; padding: 0 52px; color: white;
}
.brand { display: flex; align-items: center; gap: 12px; }
.brand-symbol { width: 46px; height: 46px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 14px; background: var(--orange); box-shadow: 0 12px 30px rgba(240,122,50,.28); }
.brand-symbol svg { width: 32px; height: 32px; fill: none; stroke: white; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.brand-symbol .play { fill: white; stroke-width: 0; opacity: .92; }
.brand-copy strong, .brand-copy small { display: block; }
.brand-copy strong { font-size: 17px; letter-spacing: .08em; }
.brand-copy small { margin-top: 3px; color: rgba(255,255,255,.58); font-size: 9px; letter-spacing: .12em; }
nav { display: flex; align-items: center; gap: 28px; }
nav a, nav button { color: rgba(255,255,255,.76); font-size: 12px; font-weight: 600; }
nav a { transition: color .2s; }
nav a:hover { color: white; }
nav button { border: 0; }
.nav-contact { padding: 10px 15px; border-radius: 9px; background: rgba(255,255,255,.1); }
.nav-contact:hover { color: white; background: rgba(255,255,255,.16); }
.lang-toggle { width: 38px; height: 30px; padding: 0; border-radius: 999px; color: white; background: var(--orange); }

.hero { position: relative; min-height: 720px; display: grid; grid-template-columns: 1.02fr .98fr; overflow: hidden; padding: 150px max(52px, calc((100vw - 1336px) / 2)) 80px; color: white; background: linear-gradient(116deg, #08192d 0%, #102b47 62%, #153857 100%); }
.hero::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 74% 43%, rgba(240,122,50,.1), transparent 28%), linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px); background-size: auto, 110px 100%; }
.hero-lines { position: absolute; width: 540px; height: 540px; right: -220px; bottom: -310px; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; box-shadow: 0 0 0 70px rgba(255,255,255,.018), 0 0 0 140px rgba(255,255,255,.012); }
.hero-copy { position: relative; z-index: 2; align-self: center; max-width: 690px; }
.eyebrow { margin: 0; color: var(--orange); font-size: 10px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.hero h1 { max-width: 650px; margin: 18px 0 22px; font-family: var(--serif); font-size: clamp(46px, 5vw, 72px); line-height: 1.13; letter-spacing: -.045em; font-weight: 600; }
.hero-lead { max-width: 610px; margin: 0; color: rgba(255,255,255,.66); font-size: 16px; line-height: 1.9; }
.hero-actions { display: flex; align-items: center; gap: 25px; margin-top: 34px; }
.primary-cta { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 11px 19px; border: 1px solid var(--orange); border-radius: 9px; color: white; background: linear-gradient(135deg, #f28a48, #df631c); box-shadow: 0 12px 30px rgba(224,99,28,.22); font-size: 12px; font-weight: 800; transition: transform .18s, box-shadow .18s; }
.primary-cta:hover { transform: translateY(-2px); box-shadow: 0 16px 34px rgba(224,99,28,.3); }
.primary-cta svg, .catalogue-contact svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.text-cta { padding: 8px 0; border: 0; border-bottom: 1px solid rgba(255,255,255,.38); color: rgba(255,255,255,.88); background: transparent; font-size: 12px; font-weight: 700; }
.trust-row { display: flex; align-items: center; gap: 23px; margin-top: 54px; }
.trust-row div { display: flex; flex-direction: column; gap: 5px; }
.trust-row strong { font-family: var(--serif); color: white; font-size: 21px; }
.trust-row span { color: rgba(255,255,255,.5); font-size: 9px; }
.trust-row i { width: 1px; height: 30px; background: rgba(255,255,255,.14); }

.hero-visual { position: relative; z-index: 2; min-height: 470px; align-self: center; }
.reel-card { position: absolute; left: 50%; top: 50%; width: 310px; height: 390px; padding: 32px; transform: translate(-50%, -48%) rotate(3deg); overflow: hidden; border: 1px solid rgba(255,255,255,.2); border-radius: 18px; background: linear-gradient(150deg, rgba(255,255,255,.13), rgba(255,255,255,.035)); box-shadow: 0 38px 80px rgba(0,0,0,.27); backdrop-filter: blur(18px); }
.reel-card::before { content: ""; position: absolute; inset: auto -55px -80px auto; width: 230px; height: 230px; border-radius: 50%; background: var(--orange); opacity: .9; }
.reel-card::after { content: ""; position: absolute; inset: 14px; border: 1px solid rgba(255,255,255,.09); border-radius: 12px; }
.reel-mark { position: relative; z-index: 1; width: 120px; height: 120px; display: grid; place-items: center; border: 2px solid rgba(255,255,255,.8); border-radius: 50%; }
.reel-mark span { position: absolute; width: 26px; height: 26px; border: 1px solid rgba(255,255,255,.7); border-radius: 50%; }
.reel-mark span:nth-child(1) { top: 15px; left: 47px; }
.reel-mark span:nth-child(2) { top: 47px; right: 15px; }
.reel-mark span:nth-child(3) { bottom: 15px; left: 47px; }
.reel-mark span:nth-child(4) { top: 47px; left: 15px; }
.reel-mark b { width: 20px; height: 20px; border-radius: 50%; background: var(--orange); }
.reel-copy { position: relative; z-index: 1; margin-top: 52px; }
.reel-copy small { display: block; color: var(--orange); font-size: 8px; letter-spacing: .18em; }
.reel-copy strong { display: block; margin-top: 11px; font-family: var(--serif); font-size: 30px; line-height: 1.35; font-weight: 500; }
.orbit { position: absolute; left: 50%; top: 50%; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; transform: translate(-50%, -50%); }
.orbit-large { width: 510px; height: 510px; }
.orbit-small { width: 410px; height: 410px; }
.signal { position: absolute; width: 8px; height: 8px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 7px rgba(240,122,50,.12); }
.signal-one { left: 7%; top: 30%; }
.signal-two { right: 8%; bottom: 26%; }
.market-tag { position: absolute; display: flex; align-items: center; gap: 8px; padding: 9px 12px; border: 1px solid rgba(255,255,255,.14); border-radius: 8px; background: rgba(7,24,42,.75); backdrop-filter: blur(8px); }
.market-tag span { color: var(--orange); font-family: var(--serif); font-size: 11px; }
.market-tag b { color: rgba(255,255,255,.75); font-size: 9px; font-weight: 600; }
.tag-one { left: 0; top: 45%; }
.tag-two { right: 1%; top: 18%; }
.tag-three { right: 2%; bottom: 12%; }

.about, .catalogue { max-width: 1440px; margin: 0 auto; padding: 102px 52px; }
.section-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: end; }
.section-heading h2, .catalogue h2 { max-width: 610px; margin: 13px 0 0; font-family: var(--serif); font-size: clamp(34px, 4vw, 52px); line-height: 1.25; letter-spacing: -.035em; font-weight: 600; }
.section-heading > p { max-width: 560px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.9; }
.service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 52px; }
.service-card { position: relative; min-height: 270px; padding: 31px; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.62); }
.service-card.featured { color: white; background: var(--navy); }
.service-card.featured::after { content: ""; position: absolute; width: 180px; height: 180px; right: -90px; bottom: -90px; border: 45px solid rgba(240,122,50,.15); border-radius: 50%; }
.service-number { position: absolute; right: 25px; top: 25px; color: rgba(19,35,55,.28); font-family: var(--serif); font-size: 12px; }
.featured .service-number { color: rgba(255,255,255,.35); }
.service-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 12px; color: var(--orange-dark); background: #fff1e6; }
.featured .service-icon { color: white; background: var(--orange); }
.service-icon svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.service-card h3 { margin: 30px 0 12px; font-size: 18px; }
.service-card p { max-width: 330px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.8; }
.featured p { color: rgba(255,255,255,.62); }

.catalogue { max-width: none; padding-right: max(52px, calc((100vw - 1336px) / 2)); padding-left: max(52px, calc((100vw - 1336px) / 2)); color: white; background: #0c1d31; }
.catalogue-header { display: flex; justify-content: space-between; align-items: flex-end; gap: 36px; }
.catalogue-header > div:first-child > p:last-child { margin: 13px 0 0; color: rgba(255,255,255,.54); font-size: 13px; }
.catalogue-tools { width: min(650px, 54%); display: flex; flex-direction: column; align-items: flex-end; gap: 12px; }
.title-search { width: min(330px, 100%); display: flex; align-items: center; gap: 9px; padding: 9px 12px; border: 1px solid rgba(255,255,255,.14); border-radius: 10px; background: rgba(255,255,255,.055); }
.title-search:focus-within { border-color: rgba(240,122,50,.7); background: rgba(255,255,255,.08); }
.title-search svg { width: 16px; height: 16px; flex: 0 0 auto; fill: none; stroke: rgba(255,255,255,.48); stroke-width: 1.8; stroke-linecap: round; }
.title-search input { min-width: 0; width: 100%; padding: 0; border: 0; outline: 0; color: white; background: transparent; font-size: 10px; cursor: text; }
.title-search input::placeholder { color: rgba(255,255,255,.36); }
.title-search input::-webkit-search-cancel-button { filter: invert(1); opacity: .45; }
.filters { display: flex; gap: 7px; flex-wrap: wrap; justify-content: flex-end; }
.filter { padding: 9px 12px; border: 1px solid rgba(255,255,255,.12); border-radius: 999px; color: rgba(255,255,255,.58); background: transparent; font-size: 10px; }
.filter.active, .filter:hover { color: white; border-color: var(--orange); background: rgba(240,122,50,.1); }
.title-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; margin-top: 40px; }
.title-card { position: relative; aspect-ratio: 2 / 3; min-height: 0; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; overflow: hidden; padding: 18px; border: 1px solid rgba(255,255,255,.12); border-radius: 13px; color: white; text-align: left; isolation: isolate; transition: transform .22s, border-color .22s; }
.title-card::before { content: ""; position: absolute; inset: 0; z-index: -3; background: var(--poster-bg); transition: transform .45s; }
.title-card::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to top, rgba(3,12,23,.94), rgba(3,12,23,.08) 68%); }
.title-card.has-poster::before { inset: -16px; background-image: linear-gradient(rgba(4,14,25,.34), rgba(4,14,25,.56)), var(--poster-image); background-position: center; background-size: cover; filter: blur(13px) saturate(.9); }
.title-card.has-poster::after { background: linear-gradient(to top, rgba(3,12,23,.97) 0%, rgba(3,12,23,.76) 25%, rgba(3,12,23,.05) 62%, rgba(3,12,23,.36) 100%); }
.poster-art { position: absolute; z-index: -2; left: 9px; top: 43%; width: calc(100% - 18px); height: auto; max-height: 59%; object-fit: contain; border: 1px solid rgba(255,255,255,.2); border-radius: 5px; box-shadow: 0 12px 28px rgba(0,0,0,.3); transform: translateY(-50%); transition: transform .4s; }
.title-card:hover { transform: translateY(-4px); border-color: rgba(240,122,50,.72); }
.title-card:hover::before { transform: scale(1.045); }
.title-card:hover .poster-art { transform: translateY(-50%) scale(1.025); }
.poster-art.is-vertical { inset: 0; width: 100%; height: 100%; max-height: none; object-fit: cover; border: 0; border-radius: 0; transform: none; }
.title-card:hover .poster-art.is-vertical { transform: scale(1.018); }
.title-card.has-vertical-poster::after { background: linear-gradient(to top, rgba(3,12,23,.97) 0%, rgba(3,12,23,.62) 23%, transparent 52%, rgba(3,12,23,.35) 100%); }
.title-card[hidden] { display: none; }
.title-card i { position: absolute; right: 19px; top: 19px; width: 34px; height: 34px; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; }
.title-card i::before { content: ""; position: absolute; left: 13px; top: 10px; border-left: 9px solid rgba(255,255,255,.9); border-top: 6px solid transparent; border-bottom: 6px solid transparent; }
.title-card.has-trailer i { border-color: var(--orange); background: rgba(240,122,50,.9); box-shadow: 0 7px 20px rgba(0,0,0,.25); }
.poster-code { width: 100%; display: flex; justify-content: space-between; gap: 10px; margin-bottom: auto; color: rgba(255,255,255,.7); font-size: 8px; letter-spacing: .18em; }
.poster-code b { color: rgba(255,255,255,.48); font-weight: 500; letter-spacing: .06em; }
.poster-title { font-family: var(--serif); font-size: 24px; line-height: 1.2; letter-spacing: .04em; }
.poster-title.long { font-size: 18px; }
.poster-title.tight { letter-spacing: 0; }
.poster-meta { margin-top: 8px; color: var(--orange); font-size: 9px; font-weight: 700; letter-spacing: .08em; }
.poster-hunter { --poster-bg: radial-gradient(circle at 65% 25%, rgba(232,139,56,.6), transparent 24%), linear-gradient(135deg, #62402d, #1c303a 58%, #101b25); }
.poster-liwei { --poster-bg: radial-gradient(circle at 50% 28%, rgba(210,175,101,.45), transparent 23%), linear-gradient(145deg, #7a1f18, #371712 55%, #15191d); }
.poster-plot { --poster-bg: repeating-linear-gradient(115deg, rgba(255,255,255,.025) 0 1px, transparent 1px 15px), radial-gradient(circle at 63% 31%, rgba(35,118,139,.55), transparent 25%), linear-gradient(145deg, #132c3c, #07141f); }
.poster-happiness { --poster-bg: radial-gradient(circle at 52% 27%, rgba(255,210,145,.54), transparent 25%), linear-gradient(145deg, #ad7257, #435765 65%, #152331); }
.poster-idol { --poster-bg: radial-gradient(circle at 68% 22%, rgba(234,182,112,.56), transparent 26%), linear-gradient(145deg, #42656b, #293b45 58%, #111c27); }
.poster-dream { --poster-bg: radial-gradient(circle at 35% 28%, rgba(205,167,93,.5), transparent 25%), linear-gradient(150deg, #785e34, #33352e 56%, #161d1d); }
.poster-love { --poster-bg: radial-gradient(circle at 64% 25%, rgba(236,158,165,.52), transparent 25%), linear-gradient(145deg, #795161, #37495b 62%, #152131); }
.poster-life { --poster-bg: radial-gradient(circle at 39% 26%, rgba(197,222,202,.38), transparent 25%), linear-gradient(145deg, #50685c, #303e43 58%, #172129); }
.no-results { grid-column: 1 / -1; padding: 70px 20px; border: 1px dashed rgba(255,255,255,.16); border-radius: 13px; color: rgba(255,255,255,.5); text-align: center; font-size: 12px; }
.catalogue-foot { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 26px; }
.catalogue-foot p { max-width: 720px; margin: 0; color: rgba(255,255,255,.4); font-size: 9px; line-height: 1.6; }
.catalogue-contact { display: inline-flex; align-items: center; gap: 8px; padding: 8px 0; border: 0; border-bottom: 1px solid rgba(240,122,50,.7); color: white; background: transparent; font-size: 11px; font-weight: 700; }

footer { padding: 46px max(52px, calc((100vw - 1336px) / 2)) 30px; color: white; background: #081523; }
.footer-brand { display: flex; align-items: center; gap: 12px; }
.brand-symbol.small { width: 38px; height: 38px; border-radius: 11px; }
.brand-symbol.small svg { width: 26px; height: 26px; }
.footer-brand strong, .footer-brand small { display: block; }
.footer-brand strong { font-size: 14px; letter-spacing: .05em; }
.footer-brand small { margin-top: 4px; color: rgba(255,255,255,.4); font-size: 8px; letter-spacing: .13em; }
.footer-info { display: grid; grid-template-columns: repeat(3, 1fr); gap: 35px; margin: 35px 0; padding: 26px 0; border-top: 1px solid rgba(255,255,255,.08); border-bottom: 1px solid rgba(255,255,255,.08); }
.footer-info p { margin: 0; }
.footer-info span, .footer-info strong { display: block; }
.footer-info span { color: rgba(255,255,255,.35); font-size: 9px; }
.footer-info strong { margin-top: 8px; color: rgba(255,255,255,.74); font-size: 11px; }
.copyright { margin: 0; color: rgba(255,255,255,.25); font-size: 8px; }

.modal-backdrop { position: fixed; inset: 0; z-index: 30; display: grid; place-items: center; padding: 22px; opacity: 0; visibility: hidden; background: rgba(3,12,23,.75); backdrop-filter: blur(8px); transition: opacity .2s, visibility .2s; }
.modal-backdrop.open { opacity: 1; visibility: visible; }
.modal { position: relative; width: min(540px, 100%); padding: 36px; border-radius: 17px; background: var(--paper); box-shadow: 0 30px 80px rgba(0,0,0,.32); transform: translateY(12px); transition: transform .2s; }
.modal-backdrop.open .modal { transform: translateY(0); }
.close-button { position: absolute; right: 18px; top: 16px; width: 35px; height: 35px; border: 1px solid var(--line); border-radius: 50%; color: var(--muted); background: white; font-size: 21px; line-height: 1; }
.title-modal h2, .contact-modal h2 { margin: 12px 0; font-family: var(--serif); font-size: 36px; }
.title-modal-poster, .title-modal-video { width: 100%; aspect-ratio: 16 / 9; display: block; margin: 14px 0 18px; object-fit: cover; border-radius: 11px; background: var(--navy); box-shadow: 0 12px 30px rgba(12,29,49,.14); }
.title-modal-poster[hidden] { display: none; }
.title-modal-video[hidden] { display: none; }
.modal-tag { display: inline-block; padding: 6px 9px; border-radius: 999px; color: var(--orange-dark); background: #ffe9da; font-size: 9px; font-weight: 700; }
.title-facts { display: flex; flex-wrap: wrap; gap: 7px; margin: 14px 0 20px; }
.title-facts span { padding: 6px 8px; border: 1px solid var(--line); border-radius: 7px; color: #596879; background: rgba(255,255,255,.6); font-size: 9px; }
.title-details { display: grid; gap: 12px; margin: 0; padding: 17px; border: 1px solid var(--line); border-radius: 11px; background: rgba(255,255,255,.58); }
.title-details div { display: grid; grid-template-columns: 90px 1fr; gap: 12px; }
.title-details dt { color: #8b939b; font-size: 9px; }
.title-details dd { margin: 0; color: #394a5e; font-size: 10px; line-height: 1.55; }
.title-modal > p:nth-of-type(2) { margin: 18px 0; color: var(--muted); font-size: 11px; line-height: 1.8; }
.modal-cta { border: 0; }
.contact-intro { margin: 0 0 22px; color: var(--muted); font-size: 11px; line-height: 1.7; }
.contact-modal form { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.contact-modal label { display: flex; flex-direction: column; gap: 7px; }
.contact-modal label:nth-child(3), .contact-modal label:nth-child(4), .form-submit { grid-column: 1 / -1; }
.contact-modal label span { color: #5b6878; font-size: 10px; font-weight: 700; }
.contact-modal input, .contact-modal textarea { width: 100%; padding: 11px 12px; border: 1px solid #d8d6d1; border-radius: 8px; color: var(--ink); background: white; }
.contact-modal textarea { resize: vertical; line-height: 1.6; }
.form-submit { margin-top: 4px; }
.form-note { display: block; margin-top: 12px; color: #96989b; font-size: 8px; text-align: center; }
.toast { position: fixed; z-index: 50; right: 24px; bottom: 24px; padding: 12px 16px; border-radius: 9px; color: white; background: var(--navy); box-shadow: 0 16px 40px rgba(0,0,0,.2); font-size: 11px; opacity: 0; transform: translateY(10px); pointer-events: none; transition: .2s; }
.toast.show { opacity: 1; transform: translateY(0); }

@media (max-width: 1050px) {
  .hero { grid-template-columns: 1fr; padding-bottom: 100px; }
  .hero-copy { max-width: 760px; }
  .hero-visual { display: none; }
  .title-grid { grid-template-columns: repeat(4, 1fr); }
  .section-heading { grid-template-columns: 1.15fr .85fr; gap: 38px; }
}
@media (max-width: 760px) {
  .site-header { height: 72px; padding: 0 18px; }
  .brand-copy small, nav a, .nav-contact { display: none; }
  .brand-symbol { width: 40px; height: 40px; border-radius: 12px; }
  .brand-symbol svg { width: 28px; height: 28px; }
  .hero { min-height: 650px; padding: 135px 20px 76px; }
  .hero h1 { font-size: 46px; }
  .hero-lead { font-size: 14px; }
  .trust-row { gap: 14px; }
  .trust-row span { max-width: 76px; line-height: 1.4; }
  .about, .catalogue { padding: 74px 20px; }
  .section-heading { grid-template-columns: 1fr; gap: 20px; }
  .service-grid { grid-template-columns: 1fr; }
  .catalogue-header { display: block; }
  .catalogue-tools { width: 100%; align-items: flex-start; margin-top: 24px; }
  .title-search { width: 100%; }
  .filters { justify-content: flex-start; margin-top: 0; }
  .title-grid { grid-template-columns: repeat(3, 1fr); }
  .title-card { min-height: 0; }
  .catalogue-foot { align-items: flex-start; flex-direction: column; }
  footer { padding: 40px 20px 26px; }
  .footer-info { grid-template-columns: 1fr; gap: 20px; }
}
@media (max-width: 480px) {
  .brand-copy strong { font-size: 14px; }
  .hero h1 { font-size: 40px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 12px; }
  .trust-row { justify-content: space-between; gap: 8px; }
  .title-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .title-card { min-height: 0; padding: 14px; }
  .poster-title { font-size: 23px; }
  .poster-title.long { font-size: 17px; }
  .title-card i { width: 29px; height: 29px; }
  .title-card i::before { left: 11px; top: 8px; }
  .modal { padding: 30px 22px; }
  .contact-modal form { grid-template-columns: 1fr; }
  .contact-modal label:nth-child(3), .contact-modal label:nth-child(4), .form-submit { grid-column: auto; }
}

@media (max-width: 1250px) and (min-width: 1051px) {
  .title-grid { grid-template-columns: repeat(5, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}
