/* Geometry approved in «Стандартизировать компоненты сайта», mobile-1c pilot. */
.gb-home { --accent:#c72f38; --button-radius:18px; --control-radius:14px; --card-radius:24px; }
.gb-home a:not(.gb-button) { text-decoration:underline!important; text-underline-offset:4px; text-decoration-thickness:1px!important; }
.gb-audiences { display:flex; flex-wrap:wrap; gap:12px 22px; margin-top:24px; }
.gb-home .gb-audiences a { color:#e3ebf5; font-size:14px; line-height:1.6; }
.gb-home [id] { scroll-margin-top:100px; }
.gb-business-task__grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.gb-business-task .gb-heading>p:not(.gb-eyebrow) { color:var(--muted); font-size:18px; line-height:1.65; }
.gb-task-chat { margin:0; overflow:hidden; border:1px solid var(--line); border-radius:28px; background:#edf2f7; box-shadow:0 18px 48px rgba(31,48,72,.07); }
.gb-task-chat__head { padding:22px 28px; background:#fff; border-bottom:1px solid var(--line); }
.gb-task-chat__head strong { display:block; font-size:17px; color:var(--ink); }
.gb-task-chat__head>span { display:block; margin-top:4px; font-size:13px; color:var(--muted); }
.gb-task-chat__body { display:flex; flex-direction:column; gap:18px; padding:28px; }
.gb-task-chat__message { max-width:94%; padding:20px 22px; border-radius:20px; background:#fff; color:var(--ink); font-size:16px; line-height:1.6; }
.gb-task-chat__message--client { align-self:flex-end; background:#dde9f5; border-bottom-right-radius:6px; }
.gb-task-chat__message--team { align-self:flex-start; border-bottom-left-radius:6px; }
.gb-task-chat__author { display:block; margin-bottom:8px; color:var(--accent); font-size:13px; font-weight:700; }
.gb-task-chat__message p { margin:0 0 12px; }
.gb-task-chat__message p:last-child { margin-bottom:0; }
@media(max-width:900px) { .gb-business-task__grid { grid-template-columns:1fr; gap:32px; } }
@media(max-width:600px) { .gb-task-chat__body { padding:18px; } .gb-task-chat__head { padding:20px; } .gb-task-chat__message { max-width:100%; padding:18px; } }
.gb-phone-example { margin:32px 0; width:min(330px,calc(100% - 56px)); justify-self:center; }
.gb-phone-example>figcaption { margin-top:48px; text-align:center; color:var(--muted); font-size:13px; }
.gb-phone { position:relative; border:3px solid #20252d; border-radius:36px; overflow:hidden; background:#f6f7f8; transform:rotateX(12deg) rotateY(-24deg) rotateZ(9deg); box-shadow:1px 1px 0 #8f9aa6,3px 2px 0 #66717f,5px 3px 0 #35404d,7px 4px 0 #202b38,22px 30px 40px rgba(24,39,58,.22); font-family:Arial,sans-serif; }
.gb-phone__status { height:44px; display:flex; align-items:center; justify-content:space-between; padding:0 24px; color:#182430; font-size:12px; font-weight:700; }
.gb-phone__status i { position:absolute; width:102px; height:24px; border-radius:20px; background:#20252d; left:50%; top:8px; transform:translateX(-50%); }
.gb-phone .gb-task-chat__head { display:flex; align-items:center; gap:10px; padding:8px 14px 14px; background:#f6f7f8; border-color:#d9e0e5; }
.gb-phone .gb-task-chat__head strong { font-size:15px; }
.gb-phone .gb-task-chat__head div>span { color:#7b8897; font-size:11px; }
.gb-phone .gb-phone__back { color:#4487b9; font-size:34px; line-height:1; margin:0; }
.gb-phone .gb-phone__avatar { display:grid; place-items:center; width:36px; height:36px; flex:none; border-radius:50%; background:#c72f38; color:#fff; font-size:12px; font-weight:700; margin:0; }
.gb-phone .gb-phone__more { margin-left:auto; font-size:26px; color:#4487b9; }
.gb-phone .gb-task-chat__body { padding:14px 12px 24px; gap:10px; min-height:530px; background:radial-gradient(ellipse at 80% 0%,#e3e9dc,transparent 65%),linear-gradient(140deg,#dce7ea,#d6e1d4); }
.gb-phone__date { align-self:center; background:rgba(72,94,101,.3); color:#fff; border-radius:12px; padding:4px 10px; font-size:11px; margin-bottom:4px; }
.gb-phone .gb-task-chat__message { max-width:90%; padding:10px 12px 7px; border-radius:15px; font-size:14px; line-height:1.45; box-shadow:0 1px 2px #00000012; }
.gb-phone .gb-task-chat__message--client { background:#e6f6d5; border-bottom-right-radius:4px; }
.gb-phone .gb-task-chat__message--team { background:#fff; border-bottom-left-radius:4px; }
.gb-phone .gb-task-chat__message p { margin:0; }
.gb-phone__time { display:block; text-align:right; margin-top:3px; color:#87968a; font-size:10px; line-height:1.2; }
.gb-phone__time b { color:#68a3bc; font-weight:400; letter-spacing:-3px; margin-left:3px; }
.gb-phone__compose { display:flex; align-items:center; gap:10px; padding:10px 12px 5px; color:#8190a0; font-size:24px; }
.gb-phone__compose>div { flex:1; display:flex; align-items:center; justify-content:space-between; border:1px solid #e0e4e7; background:#fff; border-radius:20px; padding:8px 12px; font-size:13px; }
.gb-phone__compose>div>span { font-size:20px; }
.gb-phone__home { width:108px; height:4px; border-radius:4px; background:#20252d; margin:10px auto 8px; }
.gb-phone-example--render { width:min(460px,100%); margin:0; }
.gb-phone-example--render>img { display:block; width:100%; height:auto; }
.gb-phone-example--render>figcaption { margin-top:8px; }
.gb-chat-transcript { margin:12px auto 0; max-width:390px; color:var(--muted); font-size:14px; line-height:1.6; }
.gb-chat-transcript summary { cursor:pointer; text-align:center; text-decoration:underline; text-underline-offset:4px; }
.gb-chat-transcript p { margin:14px 0 0; }
.gb-capabilities { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 48px; margin-top:44px; }
.gb-capabilities>div { padding:28px 0; border-top:1px solid var(--line); }
.gb-capabilities h3 { font-size:24px; line-height:1.3; margin-bottom:14px; }
.gb-capabilities p { color:var(--muted); font-size:17px; line-height:1.6; margin-bottom:16px; }
.gb-capabilities a { color:var(--accent); }
@media(max-width:700px) { .gb-capabilities { grid-template-columns:1fr; } }
.gb-experience__summary { display:grid; grid-template-columns:200px 1fr; gap:48px; margin-top:40px; padding-top:32px; border-top:1px solid var(--line); }
.gb-experience__years { display:block; color:var(--accent); font-size:72px; line-height:1.05; font-weight:600; }
.gb-experience__summary h3 { font-size:26px; line-height:1.25; margin-bottom:16px; }
.gb-experience__summary p { color:var(--muted); font-size:17px; line-height:1.6; max-width:760px; }
.gb-experience__summary a { color:var(--accent); }
@media(max-width:600px) { .gb-experience__summary { grid-template-columns:1fr; gap:20px; } }
.gb-home h2,.gb-home h3 { font-family:Roboto,"Segoe UI",Arial,sans-serif; color:var(--ink); text-transform:none; }
.gb-home .gb-button { min-height:52px; padding:12px 24px; border-radius:var(--button-radius); font:700 16px/1.35 Arial,sans-serif; text-align:center; }
.gb-home .gb-button--primary:hover { background:#ad252e; }
.gb-home .gb-button--secondary { background:#fff; }
.gb-home .gb-hero { padding:0; background:#172638; position:relative; isolation:isolate; }
.gb-hero:before { content:""; position:absolute; inset:-40px; z-index:-3; pointer-events:none; background:url('/homepage-engineer-glow.png') center/cover no-repeat; filter:blur(36px); opacity:.65; }
.gb-hero:after { display:block; content:""; position:absolute; inset:0; height:auto; z-index:-1; pointer-events:none; background:linear-gradient(90deg,rgba(17,30,46,.84) 0%,rgba(17,30,46,.84) 38%,rgba(17,30,46,.66) 44%,rgba(17,30,46,.28) 51%,transparent 60%); }
.gb-hero .gb-shell { width:min(1400px,calc(100% - 64px)); }
.gb-hero .gb-hero__grid { display:flex; align-items:center; min-height:clamp(580px,calc(100svh - 248px),760px); padding-top:52px; padding-bottom:40px; }
.gb-hero__copy { width:43%; max-width:570px; position:relative; isolation:isolate; }
/* One full-height scrim: its vertical fade has no rectangular top/bottom edges. */
.gb-hero__copy:before { display:none; }
.gb-hero .gb-eyebrow { color:#f6aeb8; font-size:11px; letter-spacing:.08em; margin-bottom:20px; }
.gb-home .gb-hero__title { color:#fff; font-size:clamp(34px,3.5vw,54px); font-weight:600; line-height:1.09; letter-spacing:-.035em; margin-bottom:22px; }
.gb-home .gb-hero__lead { color:#d5dfeb; font-size:18px; line-height:1.55; margin-bottom:0; max-width:440px; }
.gb-hero .gb-actions { gap:12px; margin-top:26px; }
.gb-hero__visual { position:absolute; top:0; right:clamp(-60px,-3vw,-24px); height:100%; aspect-ratio:3/2; margin:0; z-index:-2; pointer-events:none; mask-image:linear-gradient(90deg,transparent 0%,#000 24%); }
.gb-hero__visual img { display:block; width:100%; height:100%; object-fit:contain; border-radius:0; box-shadow:none; }
.gb-technology { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; margin-top:0; padding-top:24px; padding-bottom:30px; border-top:1px solid rgba(255,255,255,.2); color:#fff; }
.gb-technology strong { display:block; font-size:16px; line-height:1.4; margin-bottom:6px; }
.gb-technology span { display:block; color:#b9c9db; font-size:13px; line-height:1.5; }
.gb-tech-mark { height:44px; margin-bottom:16px; display:flex; align-items:center; color:#9ed8ff; }
.gb-tech-mark img { width:auto; height:36px; object-fit:contain; }
.gb-tech-mark svg { width:48px; height:44px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.gb-tech-mark--brain { color:#ffc772; }
.gb-tech-mark--bitrix { color:#50c9f5; font:500 25px/1 Arial,sans-serif; letter-spacing:-1px; }
.gb-tech-mark--bitrix span { display:inline; color:inherit; font:inherit; }
.gb-tech-mark--bitrix svg { width:19px; height:19px; margin-left:4px; align-self:flex-start; margin-top:5px; }
.gb-situations { gap:18px; }
.gb-situations article { margin:0; border-radius:var(--card-radius); }
#container-fluid-dima .gb-home .gb-situations article,.gb-home .gb-situations article { padding:30px!important; }
.gb-home .gb-situations h3 { margin-top:16px; }
.gb-master { border-radius:28px; overflow:hidden; }
.gb-master__tabs button { border-radius:var(--control-radius); border-bottom:0; margin:2px 0; }
.gb-tags span { border-radius:var(--control-radius); }
.gb-directions { gap:16px; }
.gb-directions a { margin:0; border-radius:var(--card-radius); }
.gb-home .gb-section--dark h2,.gb-home .gb-section--dark h3,.gb-home .gb-master__panel h3,.gb-home .gb-cta h2 { color:#fff; }
.gb-home .gb-partners { background:#ffe1bc; }
.gb-home .gb-partners__inner>div:last-child p { color:#514333; }
.gb-home .gb-partners .gb-eyebrow,.gb-home .gb-partners a { color:#a32a24!important; }
.gb-home .gb-partners a { text-decoration:underline!important; text-underline-offset:4px; }
.gb-home .gb-master { border:1px solid var(--line); }
.gb-home .gb-master__tabs { background:#f4f6f9; padding:24px; }
.gb-home .gb-master__tabs button { background:transparent; border-radius:0; padding:14px 8px; margin:0; text-decoration:underline; text-underline-offset:5px; }
.gb-home .gb-master__tabs button:hover { color:var(--accent); }
.gb-home .gb-master__tabs button[aria-selected=true] { padding-left:8px; background:transparent; color:var(--accent); text-decoration-thickness:2px; }
.gb-home .gb-master__panel { background:#fff; color:var(--ink); padding:40px 44px; }
.gb-home .gb-master__panel h3 { color:var(--ink); margin-top:16px; }
.gb-home .gb-master__panel>p:not(.gb-master__number) { color:var(--muted); }
.gb-home .gb-master__number { color:var(--accent); }
.gb-home .gb-master__links a { color:var(--accent)!important; }
.gb-home .gb-tags span { border-color:var(--line); color:#526176; background:#f7f9fb; }
.gb-home .gb-section--dark { background:#f4f6f9; color:var(--ink); }
.gb-home .gb-section--dark h2,.gb-home .gb-section--dark h3 { color:var(--ink); }
.gb-home .gb-process li { grid-template-columns:32px 1fr; gap:16px; border-color:var(--line); }
.gb-home .gb-process li>span { color:var(--accent); padding-top:4px; }
.gb-home .gb-process p { color:var(--muted); }
.gb-home .gb-directions a { padding:28px; text-decoration:none!important; }
.gb-home .gb-directions strong { text-decoration:underline; text-underline-offset:4px; }
.gb-home .real-automation-contact .b24-form-btn { min-height:56px; border-radius:18px; background:#c72f38; font-weight:700; }
.gb-home .real-automation-contact .b24-form-control { border-radius:14px; }
/* Existing estimation form is outside .gb-home, but belongs to this page. */
#calc #send_client_task_button { min-height:56px; padding:12px 24px; border-radius:18px; border:0; background:#c72f38; color:#fff; font:700 16px/1.35 Arial,sans-serif; max-width:100%; white-space:normal; }
#calc #send_client_task_button:hover { background:#ad252e; }
#calc #client_task { border-radius:14px; }
@media(min-width:601px) and (max-width:1366px) {
  .gb-hero__visual { height:720px; right:-140px; mask-image:linear-gradient(90deg,transparent 0%,#000 24%),linear-gradient(180deg,#000 0%,#000 66%,transparent 100%); mask-composite:intersect; }
  .gb-hero:after { background:linear-gradient(90deg,rgba(17,30,46,.9) 0%,rgba(17,30,46,.9) 43%,rgba(17,30,46,.7) 51%,rgba(17,30,46,.25) 61%,transparent 72%); }
}
@media(max-width:1000px) {
  .gb-hero .gb-shell { width:calc(100% - 40px); }
  .gb-hero .gb-hero__grid { min-height:580px; }
  .gb-hero__copy { width:52%; }
  .gb-home .gb-hero__title { font-size:38px; }
  .gb-hero__visual { right:-260px; }
  .gb-technology { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
  .gb-home .gb-hero { padding-top:0; }
  .gb-hero .gb-shell { width:calc(100% - 32px); }
  .gb-home .gb-hero__title { font-size:34px; line-height:1.12; }
  .gb-home .gb-hero__lead { font-size:17px; }
  .gb-hero .gb-hero__grid { display:flex; flex-direction:column; gap:0; min-height:0; padding-top:0; padding-bottom:32px; }
  .gb-hero__copy { display:block; width:100%; max-width:none; }
  .gb-hero .gb-eyebrow { margin-bottom:18px; }
  .gb-hero .gb-hero__title { margin-bottom:20px; }
  .gb-hero__visual { position:relative; order:-1; top:auto; bottom:auto; right:auto; width:calc(100% + 32px); height:auto; aspect-ratio:3/2; flex:none; z-index:0; mask-image:linear-gradient(180deg,#000 0%,#000 82%,transparent 100%); }
  .gb-hero__copy { padding-top:12px; }
  .gb-hero__copy:before { inset:0 -16px -32px; background:#172638; mask-image:none; }
  .gb-hero:before { display:none; }
  .gb-hero:after { display:none; }
  .gb-hero .gb-actions { margin-top:24px; }
  .gb-hero .gb-actions { display:grid; grid-template-columns:1fr; }
  .gb-home .gb-button { width:100%; }
  .gb-hero__visual img { border-radius:0; }
  .gb-technology { gap:22px 16px; margin-top:0; min-height:338px; }
  .gb-technology strong { font-size:14px; }
  .gb-technology span { font-size:12px; }
  .gb-tech-mark--bitrix { font-size:22px; }
  .gb-tech-mark--bitrix span { font-size:inherit; }
  .gb-home .gb-master__panel { padding:28px 24px; }
  .gb-home .gb-master__tabs { padding:18px; }
  .gb-home .gb-master__tabs button { font-size:14px; }
  .gb-home .gb-situations article { padding:26px!important; }
  .gb-audiences { gap:10px 16px; }
}
