/*
Theme Name: Galeon Engineering
Theme URI: https://test.doni-l.ru/
Author: Galeon
Description: Блок-тема для компании «Галеон». Все основные секции редактируются в редакторе WordPress.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: galeon
*/

@font-face { font-family: 'Oswald Local'; src: url('assets/fonts/oswald-500.ttf') format('truetype'); font-style: normal; font-weight: 500; font-display: swap; }
@font-face { font-family: 'Oswald Local'; src: url('assets/fonts/oswald-600.ttf') format('truetype'); font-style: normal; font-weight: 600; font-display: swap; }
@font-face { font-family: 'Oswald Local'; src: url('assets/fonts/oswald-700.ttf') format('truetype'); font-style: normal; font-weight: 700; font-display: swap; }

:root {
  --g-orange: #ff4e16;
  --g-orange-dark: #d93600;
  --g-lime: #b7ef35;
  --g-ink: #0d1112;
  --g-panel: #171c1e;
  --g-paper: #f4f2ed;
  --g-line: rgba(255,255,255,.18);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: var(--g-ink); }
a { transition: color .2s ease, background .2s ease, transform .2s ease; }
.wp-site-blocks { overflow: hidden; }
.g-site-header { position: absolute; z-index: 20; width: 100%; border-bottom: 1px solid var(--g-line); background: rgba(13,17,18,.94); }
.g-header-inner { min-height: 82px; padding: 0 28px; }
.g-header-logo { position:relative; width:210px !important; height:58px; margin:0 !important; overflow:hidden; flex:0 0 210px; }
.g-header-logo a { display:block; width:100%; height:100%; }
.g-header-logo img { position:absolute; top:-20px; left:-25px; width:260px !important; max-width:none !important; height:auto !important; }
.g-brand-lockup { gap:14px !important; flex:0 0 auto; }
.g-brand-descriptor { margin:0 !important; padding-left:14px; border-left:1px solid rgba(255,255,255,.32); color:#c6cbca; font:600 10px/1.35 Arial,sans-serif; letter-spacing:.11em; text-transform:uppercase; white-space:nowrap; }
.g-brand { line-height: .85; letter-spacing: -.04em; white-space: nowrap; }
.g-brand::before { content: "G"; display: inline-grid; place-items: center; width: 40px; height: 30px; margin-right: 9px; color: #fff; background: var(--g-orange); clip-path: polygon(20% 0,100% 0,80% 30%,42% 30%,31% 50%,83% 50%,69% 100%,0 100%); font-size: 0; vertical-align: middle; }
.g-brand small { display: block; margin: 5px 0 0 51px; color: #c6cbca; font: 500 9px/1.1 Arial,sans-serif; letter-spacing: .16em; }
.g-nav a, .g-nav .wp-block-navigation-item__content { color: #fff !important; text-decoration: none; font-size: 14px; }
.g-nav a:hover { color: var(--g-orange); }
.g-phone { white-space: nowrap; }
.g-btn .wp-block-button__link, .g-form button { border-radius: 0; padding: 15px 22px; background: var(--g-orange); color: #fff; font-weight: 800; text-transform: uppercase; letter-spacing: .02em; box-shadow: none; }
.g-btn .wp-block-button__link:hover, .g-form button:hover { background: #ff6a38; transform: translateY(-2px); }
.g-btn-outline .wp-block-button__link { border: 1px solid rgba(255,255,255,.65); border-radius: 0; background: rgba(0,0,0,.18); color: #fff; padding: 14px 22px; }

.g-hero { height:780px; min-height:780px; align-items:center; overflow:hidden; }
.g-hero .wp-block-cover__background { background: linear-gradient(90deg,rgba(7,10,11,.96) 0%,rgba(7,10,11,.75) 38%,rgba(7,10,11,.05) 76%) !important; opacity: 1 !important; }
.g-hero-content { padding:150px 28px 70px; transform:translateY(-25px); }
.g-kicker { color:#d7dcdb; font:700 12px/1.4 Arial,sans-serif; letter-spacing:.22em; text-transform:uppercase; }
.g-hero .g-kicker { margin-bottom:20px !important; font-size:15px; line-height:1.35; letter-spacing:.2em; }
.g-display { max-width: 720px; margin: 0 0 28px !important; color: #fff; font-family: 'Oswald Local', 'Arial Narrow', sans-serif !important; font-size: clamp(72px,7vw,132px) !important; font-weight: 700 !important; line-height: .9 !important; letter-spacing: -.028em; text-transform: uppercase; text-shadow: 0 2px 20px rgba(0,0,0,.22); -webkit-text-stroke: .55px currentColor; overflow-wrap: normal; word-break: normal; }
.g-hero-sub { max-width: 560px; color:#fff; font-size:clamp(25px,1.65vw,32px); font-weight:500; line-height:1.08; letter-spacing:-.015em; }
.g-hero .wp-block-buttons { margin-top:34px; }
.g-trust { width:fit-content; max-width:760px; margin:32px 0 0 !important; padding-top:22px; border-top:1px solid var(--g-line); color:#fff; gap:34px !important; justify-content:flex-start; }
.g-trust p { margin: 0; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.g-trust .wp-block-column { display:flex; flex:0 0 auto !important; align-items:center; gap:13px; }
.g-trust .wp-block-column::before { content:""; display:block; flex:0 0 38px; width:38px; height:38px; border:0; background-position:center; background-repeat:no-repeat; background-size:contain; }
.g-trust .wp-block-column:nth-child(1)::before { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 3h11l6 6v20H8z'/%3E%3Cpath d='M19 3v7h6M12 16h9M12 21h9M12 26h6'/%3E%3C/svg%3E"); }
.g-trust .wp-block-column:nth-child(2)::before { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 3l10 4v7c0 7-4.2 12-10 15-5.8-3-10-8-10-15V7z'/%3E%3Cpath d='M11.5 15.5l3 3 6.5-7'/%3E%3C/svg%3E"); }
.g-trust .wp-block-column:nth-child(3)::before { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 28' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='1' y='1' width='34' height='26' rx='6'/%3E%3Cpath fill='%23fff' stroke='none' d='M15 9l9 5-9 5z'/%3E%3C/svg%3E"); }

.g-section { padding: 92px 28px; }
.g-section-light { background: var(--g-paper); color: #111; }
.g-section-dark { background: var(--g-ink); color: #fff; }
.g-section-panel { background: var(--g-panel); color: #fff; }
.g-section h2 { margin-top: 0; font-family: 'Oswald Local', 'Arial Narrow', sans-serif; font-size: clamp(44px,4.5vw,76px); font-weight: 700; line-height: .96; letter-spacing: -.02em; text-transform: uppercase; overflow-wrap: normal; word-break: normal; }
#about h2 { font-size: clamp(42px, 3.5vw,60px); line-height: .98; }
.g-accent-line { width: 48px; height: 4px; margin: 20px 0; background: var(--g-orange); }
.g-drain-image { position: relative; }
.g-drain-image figure { margin: 0; }
.g-drain-image img, .g-project img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.g-levels-overlay { display: none !important; }
.g-levels-overlay::before { content:""; position:absolute; inset:0; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 562' preserveAspectRatio='none'%3E%3Cg fill='none' stroke='%23fff' stroke-width='1.35' stroke-linecap='round' stroke-linejoin='round' opacity='.96' vector-effect='non-scaling-stroke'%3E%3Cpolyline points='440,100 500,67 590,67'/%3E%3Cpolyline points='430,175 500,151 590,151'/%3E%3Cpolyline points='430,250 500,230 590,230'/%3E%3Cpolyline points='475,320 515,309 590,309'/%3E%3Cpolyline points='420,400 500,394 590,394'/%3E%3Cpolyline points='410,485 500,478 590,478'/%3E%3C/g%3E%3Cg fill='%23fff'%3E%3Ccircle cx='440' cy='100' r='4'/%3E%3Ccircle cx='430' cy='175' r='4'/%3E%3Ccircle cx='430' cy='250' r='4'/%3E%3Ccircle cx='475' cy='320' r='4'/%3E%3Ccircle cx='420' cy='400' r='4'/%3E%3Ccircle cx='410' cy='485' r='4'/%3E%3C/g%3E%3C/svg%3E"); background-position:center; background-repeat:no-repeat; background-size:100% 100%; }
.g-levels-overlay p { position: absolute; right: 2%; display: flex; justify-content: space-between; gap: 12px; width: 39%; margin: 0; padding: 4px 7px; border: 0; background: rgba(7,11,12,.34); font: 600 11px/1.15 Arial,sans-serif; text-transform: uppercase; letter-spacing: .035em; text-shadow: 0 1px 3px #000; }
.g-levels-overlay p::before, .g-levels-overlay p::after { display:none; }
.g-levels-overlay p:nth-child(1) { top: 10%; }
.g-levels-overlay p:nth-child(2) { top: 25%; }
.g-levels-overlay p:nth-child(3) { top: 39%; }
.g-levels-overlay p:nth-child(4) { top: 53%; }
.g-levels-overlay p:nth-child(5) { top: 68%; }
.g-levels-overlay p:nth-child(6) { top: 83%; }

.g-services { gap: 0 !important; }
.g-service { position: relative; min-height: 360px; padding: 28px !important; border: 1px solid rgba(255,255,255,.12); background: linear-gradient(155deg,#242a2c 0%,#101415 72%); overflow: hidden; }
.g-service::after { content:""; position:absolute; right:-55px; bottom:-60px; width:170px; height:170px; border:1px solid rgba(255,78,22,.42); transform:rotate(28deg); }
.g-service-no { color: #fff; font-size: 70px; font-weight: 900; line-height: 1; letter-spacing: -.06em; }
.g-service h3 { min-height: 66px; color:#fff; font-family:'Oswald Local','Arial Narrow',sans-serif; font-size: 27px; font-weight:600; line-height: 1.05; letter-spacing:-.01em; text-transform: uppercase; }
.g-price { color: var(--g-orange); font-size: 24px; font-weight: 900; text-transform: uppercase; }
.g-service ul { padding-left: 18px; color:#bfc6c3; font-size: 13px; }

.g-stats { padding: 28px; background: var(--g-orange); color:#090b0b; }
.g-stat { border-right: 1px solid rgba(0,0,0,.35); }
.g-stat:last-child { border-right: 0; }
.g-stat strong { display:block; font-size: clamp(48px,6vw,82px); line-height:.8; letter-spacing:-.05em; }
.g-stat span { display:block; margin-top:12px; font-size:15px; font-weight:900; text-transform:uppercase; }

.g-project { padding-bottom: 0; }
.g-project-frame { position:relative; }
.g-tag { display:inline-block; padding:7px 12px; background:#111; color:#fff; font-size:12px; font-weight:900; text-transform:uppercase; }
.g-project-meta { gap: 8px; margin: 18px 0 24px; }
.g-project-meta p { margin:0; padding-right:18px; font-size:12px; font-weight:700; text-transform:uppercase; }

.g-process { gap:0 !important; counter-reset: step; }
.g-step { min-height:230px; padding:28px !important; border-left:1px solid #d5d6d2; counter-increment:step; }
.g-step::before { content:"0" counter(step); display:block; margin-bottom:40px; color:var(--g-orange); font-size:14px; font-weight:900; }
.g-step { position: relative; }
.g-step::after { position:absolute; top:20px; right:24px; display:grid; place-items:center; width:40px; height:40px; border:1px solid #bfc3bf; border-radius:50%; color:#1b201e; font:700 19px/1 Arial,sans-serif; }
.g-step:nth-child(1)::after { content:"↔"; }
.g-step:nth-child(2)::after { content:"▤"; }
.g-step:nth-child(3)::after { content:"⚒"; }
.g-step:nth-child(4)::after { content:"✓"; }
.g-step h3 { font-family:'Oswald Local','Arial Narrow',sans-serif; font-size:23px; font-weight:600; line-height:1.08; text-transform:uppercase; }
.g-step p { color:#626762; font-size:14px; }

.g-calculator { background: radial-gradient(circle at 70% 10%,#273033,#0b0e0f 58%); }
.g-form { display:grid; grid-template-columns: .7fr 1.6fr 1fr auto; gap:18px; align-items:end; }
.g-form label, .g-form fieldset { color:#fff; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.g-form input[type=number], .g-form input[type=tel] { width:100%; height:50px; margin-top:8px; padding:0 14px; border:0; background:#fff; color:#111; font-size:17px; }
.g-form fieldset { display:flex; flex-wrap:wrap; gap:12px; margin:0; padding:0; border:0; }
.g-form fieldset legend { width:100%; margin-bottom:8px; }
.g-form fieldset label { padding:12px; border:1px solid #697174; text-transform:none; }
.g-form button { min-height:50px; border:0; cursor:pointer; }
.g-form-note { grid-column:1/-1; margin:0; color:#aeb5b2; font-size:12px; }
.g-form .notice { grid-column:1/-1; padding:12px 16px; background:#223022; color:#dfffb4; }

.g-review { padding:34px !important; background:#fff; color:#111; }
.g-review blockquote { margin:0; font-size:19px; line-height:1.5; }
.g-stars { color:var(--g-orange); font-size:24px; letter-spacing:.1em; }
.g-review-media img { height:100%; min-height:320px; object-fit:cover; }
.g-cta { min-height:590px; align-items:end; }
.g-cta .wp-block-cover__background { background:linear-gradient(90deg,rgba(4,7,7,.9),rgba(4,7,7,.08)) !important; opacity:1 !important; }
.g-cta-content { padding:70px 28px; }
.g-cta h2 { max-width:720px; color:#fff; }
.g-checks { color:#fff; }
.g-checks li::marker { color:var(--g-lime); }

.g-site-footer { padding:58px 28px 34px; background:#0a0d0e; color:#fff; border-top:1px solid #353a3b; }
.g-site-footer a { color:#c7ccca; text-decoration:none; }
.g-site-footer a:hover { color:var(--g-orange); }
.g-site-footer h4 { color:#fff; text-transform:uppercase; }
.g-copyright { margin-top:34px; padding-top:20px; border-top:1px solid #34393a; color:#868d8a; font-size:12px; }

@media (max-width: 900px) {
  .g-site-header { position:relative; background:#0b0e0f; }
  .g-header-inner { padding:18px 20px; }
  .g-nav { display:none !important; }
  .g-brand-descriptor { display:none; }
  .g-display { font-size:56px !important; }
  .g-hero { height:auto; min-height:650px; overflow:visible; }
  .g-hero-content { transform:none; }
  .g-section { padding:64px 20px; }
  .g-levels-overlay { position: relative; inset:auto; width:100%; margin-top:-3px; padding:10px 14px; background:#111718; }
  .g-levels-overlay p { position:relative; top:auto !important; right:auto; width:100%; padding:9px 0; background:none; }
  .g-levels-overlay p::before, .g-levels-overlay p::after { display:none; }
  .g-services, .g-process, .g-stats { flex-wrap:wrap !important; }
  .g-service, .g-step, .g-stat { flex-basis:50% !important; border-bottom:1px solid rgba(255,255,255,.18); }
  .g-form { grid-template-columns:1fr 1fr; }
}

@media (max-width: 600px) {
  .g-brand small, .g-phone { display:none; }
  .g-display { font-size:43px !important; }
  .g-hero-sub { font-size:19px; }
  .g-section h2 { font-size:42px; }
  .g-service, .g-step, .g-stat { flex-basis:100% !important; }
  .g-stat { padding:22px; border-right:0; border-bottom:1px solid rgba(0,0,0,.25); }
  .g-form { grid-template-columns:1fr; }
  .g-form-note { grid-column:auto; }
  .g-trust { width:100%; max-width:none; flex-wrap:wrap !important; gap:16px 24px !important; }
  .g-trust .wp-block-column::before { flex-basis:34px; width:34px; height:34px; }
}
