:root {
  --site-primary: #9be7ff;
  --site-secondary: #171717;
  --site-background: #090909;
  --site-on-primary: #071116;
  --site-on-secondary: #f5f5f0;
  --site-on-background: #f5f5f0;
  --site-font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Arial, sans-serif;
  --site-font-heading: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Arial, sans-serif;
  --site-heading-scale: 1;
  --site-spacing-scale: 1;
  --site-radius-scale: 1;
  --site-decoration-opacity: 1;
  color-scheme: dark light;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 92px; }
body { margin: 0; background: var(--site-background); color: var(--site-on-background); font-family: var(--site-font-body); }
button, input, textarea { font: inherit; }
a { color: inherit; text-decoration: none; }
#app { min-height: 100vh; width: 100%; background-color: var(--site-background); color: var(--site-on-background); border-radius: 0; overflow: clip; }


.wrap { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.site-header { position: sticky; top: 0; z-index: 20; background: rgba(9,9,9,.96); border-bottom: 1px solid rgba(155,231,255,.16); box-shadow: 0 10px 30px rgba(0,0,0,.18); backdrop-filter: blur(18px); }
.header-inner { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: flex; flex-direction: column; gap: 3px; line-height: 1; }
.brand strong { font-family: var(--site-font-heading); font-size: 19px; letter-spacing: -.025em; font-weight: 600; }
.brand span { color: #a6a6a0; font-size: 10px; letter-spacing: .02em; }
.nav { display: flex; gap: 34px; align-items: center; color: #bcbcb6; font-size: 13px; }
.nav a { transition: color .2s; }
.nav a:hover { color: var(--site-primary); }
.header-cta, .btn { display: inline-flex; justify-content: center; align-items: center; gap: 10px; border: 0; border-radius: calc(12px * var(--site-radius-scale)); background: var(--site-primary); color: var(--site-on-primary); font-weight: 600; padding: 15px 20px; cursor: pointer; transition: transform .2s, background .2s; }
.header-cta { padding: 12px 16px; font-size: 12px; }
.btn:hover, .header-cta:hover { transform: translateY(-2px); background: #c9f2ff; }
.menu-toggle { display: none; border: 1px solid #333; background: transparent; color: white; border-radius: 10px; padding: 9px 12px; }
.hero { position: relative; isolation: isolate; padding: clamp(82px, 10vw, 142px) 0 0; background: radial-gradient(ellipse at 78% 42%, rgba(73,154,190,.10), transparent 43%), linear-gradient(180deg,#0c1012 0%,#090909 100%); }
.hero-content { position:relative; }
.hero-content:after { content:""; display:block; width:min(100%,420px); height:1px; margin-top:34px; background:linear-gradient(90deg,var(--site-primary),transparent); opacity:.55; }
.hero:before { content: ""; position: absolute; z-index:-1; inset:0; background-image: linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size: 58px 58px; mask-image:linear-gradient(90deg,transparent,#000 45%,#000); opacity:calc(.45 * var(--site-decoration-opacity)); pointer-events:none; }
.hero:after { content: ""; position: absolute; z-index:-1; width: 650px; height: 650px; right: -170px; top: -40px; border-radius: 50%; background: radial-gradient(circle, rgba(90,190,230,.16), transparent 68%); opacity: var(--site-decoration-opacity); pointer-events: none; }
.hero-grid { display: grid; grid-template-columns: 1.03fr .97fr; gap: 54px; align-items: center; position: relative; }
.eyebrow { display: inline-flex; align-items: center; gap: 9px; color: var(--site-primary); text-transform: uppercase; letter-spacing: .16em; font-size: 10px; font-weight: 800; margin-bottom: 24px; }
.eyebrow:before { content: ""; width: 24px; height: 1px; background: currentColor; }
h1,h2,h3,p { margin-top: 0; }
h1 { font-family: var(--site-font-heading); font-size: clamp(calc(46px * var(--site-heading-scale)), 6.5vw, calc(82px * var(--site-heading-scale))); letter-spacing: -.04em; line-height: 1.08; font-weight: 560; max-width: 680px; margin-bottom: 25px; }
h1 em { color: var(--site-primary); font-style: normal; }
.hero-copy { max-width: 475px; color: #a9aaa3; font-size: 16px; line-height: 1.75; margin-bottom: 32px; }
.hero-actions { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.text-link { font-size: 13px; color: #d4d4cd; display: inline-flex; align-items: center; gap: 8px; }
.text-link span { color: var(--site-primary); font-size: 18px; }
.location { margin-top: 58px; color: #73746e; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.location b { color: #c6c7bf; font-weight: 600; }
.visual { min-height: 500px; position: relative; display: grid; place-items: center; }
.visual-frame { width: min(100%, 490px); height: 470px; position: relative; border: 1px solid rgba(155,231,255,.23); border-radius: 30px; background: radial-gradient(ellipse at 50% 42%, #172c35 0%, #11191d 40%, #101010 76%); overflow: hidden; box-shadow:0 35px 100px rgba(0,0,0,.35); }
.visual-frame:before, .visual-frame:after { content: ""; position: absolute; /*border: 1px solid rgba(155,231,255,.18); border-radius: 50%;*/ width: 370px; height: 370px; left: 50%; top: 49%; transform: translate(-50%,-50%); }
.visual-frame:after { width: 450px; height: 450px; border-color: rgba(255,255,255,.06); }
.visual-label { position: absolute; z-index: 2; left: 27px; top: 25px; color: #a9cbd5; font-size: 10px; text-transform: uppercase; letter-spacing: .16em; }
.phone { position: absolute; z-index: 3; width: 205px; height: 390px; left: 50%; top: 52%; transform: translate(-50%,-50%) rotate(-8deg); border-radius: 34px; background: linear-gradient(145deg,#78858a,#090a09 28%,#191d20 80%,#8a9ba1); border: 2px solid #8c9ba0; padding: 8px; box-shadow: 22px 30px 65px rgba(0,0,0,.65), -10px -5px 35px rgba(90,190,230,.16); }
.phone-screen { height: 100%; border-radius: 27px; overflow: hidden; position: relative; background: linear-gradient(155deg,#d9f6ff,#85cde4 44%,#172d37 44%,#080a0b); color: #10191d; padding: 25px 14px; }
.phone-notch { position: absolute; top: 8px; left: 50%; transform: translateX(-50%); width: 75px; height: 17px; background: #080908; border-radius: 12px; }
.screen-kicker { margin-top: 35px; font-size: 8px; text-transform: uppercase; letter-spacing: .15em; font-weight: 900; }
.screen-title { font-size: 30px; line-height: .94; letter-spacing: -.07em; font-weight: 950; margin-top: 9px; }
.screen-graph { position: absolute; bottom: 25px; left: 14px; right: 14px; height: 104px; border-radius: 13px; background: rgba(8,12,4,.88); padding: 14px; color: #d8f3fc; }
.graph-top { display:flex; justify-content:space-between; font-size:7px; color:#9bb7c0; }
.graph-value { font-size: 21px; font-weight: 900; margin-top: 7px; }
.graph-line { height: 24px; margin-top: 2px; width: 100%; }
.float-card { position: absolute; z-index: 4; background: rgba(19,27,30,.96); border: 1px solid rgba(155,231,255,.22); border-radius: 13px; padding: 14px 16px; box-shadow: 0 16px 35px rgba(0,0,0,.3); }
.float-card small { display:block; color:#96988e; font-size:9px; margin-bottom:5px; }
.float-card strong { font-size:16px; letter-spacing:-.04em; }
.float-one { right: 13px; top: 105px; }
.float-two { left: 10px; bottom: 83px; }
.float-two strong { color: var(--site-primary); }
.section { padding: 104px 0; }
.section-head { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom: 46px; }
.section-kicker { color: var(--site-primary); font-size:10px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; margin-bottom:14px; }
h2 { font-family:var(--site-font-heading); font-size:clamp(calc(38px * var(--site-heading-scale)),5vw,calc(60px * var(--site-heading-scale))); line-height:1.1; letter-spacing:-.035em; font-weight:560; margin-bottom:0; }
.section-intro { color:#92938c; max-width:340px; font-size:13px; line-height:1.7; margin-bottom:4px; }
/*.services-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:13px; }
.service-card { grid-column:span 2; min-height:270px; border:1px solid rgba(155,231,255,.24); background:radial-gradient(circle at 100% 0%,rgba(105,193,222,.17),transparent 38%),linear-gradient(145deg,#1d2b32 0%,#172126 56%,#111719 100%); border-radius:21px; padding:32px; position:relative; overflow:hidden; box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 16px 42px rgba(0,0,0,.25); transition:border-color .25s, transform .25s, box-shadow .25s; }

/*.service-card:nth-child(4), .service-card:nth-child(5) { grid-column:span 3; }*/
.services-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 4 равные колонки */
    gap: 20px;                              /* отступы между карточками */
}

.service-card {
    /* Убираем grid-column: span 2 — иначе карточка будет занимать сразу 2 колонки */
    grid-column: auto;                      /* пусть занимает 1 колонку */
    min-height: 270px;
    border: 1px solid rgba(155, 231, 255, .24);
    background: radial-gradient(circle at 100% 0%, rgba(105, 193, 222, .17), transparent 38%),
                linear-gradient(145deg, #1d2b32 0%, #172126 56%, #111719 100%);
    border-radius: 21px;
    padding: 32px;
    position: relative;
    overflow: hidden;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .045),
                0 16px 42px rgba(0, 0, 0, .25);
    transition: border-color .25s, transform .25s, box-shadow .25s;
}

.service-card:hover { border-color:rgba(155,231,255,.7); transform:translateY(-6px); box-shadow:0 22px 48px rgba(0,0,0,.3); }
.service-num { color:#c0dce4; font-size:10px; letter-spacing:.15em; font-weight:550; }
.service-icon { position:absolute; top:25px; right:26px; width:48px; height:48px; display:grid; place-items:center; border:1px solid rgba(155,231,255,.48); background:rgba(155,231,255,.13); border-radius:15px; color:var(--site-primary); font-size:21px; box-shadow:0 8px 22px rgba(0,0,0,.18); }
.service-card h3 { max-width:290px; font-size:22px; line-height:1.28; letter-spacing:-.02em; font-weight:550; margin:60px 0 13px; }
.service-card p { position:relative; color:#d0dadd; font-size:14px; line-height:1.82; max-width:330px; margin:0; }
.cases { background:#10110f; border-top:1px solid #20211d; border-bottom:1px solid #20211d; }
.case-controls { display:flex; gap:9px; }
.circle-btn { width:43px; height:43px; border:1px solid #3b3c35; border-radius:50%; background:transparent; color:#f5f5f0; font-size:19px; cursor:pointer; transition:.2s; }
.circle-btn:hover { background:var(--site-primary); color:#111; border-color:var(--site-primary); }
.case-viewport { overflow:hidden; }
.case-track { display:flex; gap:17px; transition:transform .45s cubic-bezier(.2,.8,.2,1); }
.case-card { flex:0 0 calc((100% - 34px)/3); min-width:0; border:1px solid #30312b; background:#171815; border-radius:18px; overflow:hidden; }
.case-art { height:230px; position:relative; overflow:hidden; display:grid; place-items:center; }
.case-art:before { content:""; position:absolute; width:210px; height:210px; border:1px solid rgba(255,255,255,.2); border-radius:50%; }
.case-art.auto { background:linear-gradient(135deg,#1d2626,#090e10); }
.case-art.shop { background:linear-gradient(135deg,#34301e,#11110c); }
.case-art.beauty { background:linear-gradient(135deg,#32232d,#100d12); }
.case-art.digital { background:linear-gradient(135deg,#20273b,#0c0e17); }
.art-word { position:relative; z-index:1; font-size:clamp(27px,4vw,48px); font-weight:950; letter-spacing:-.08em; text-transform:uppercase; text-align:center; }
.art-word span { color:var(--site-primary); }
.art-stamp { position:absolute; left:18px; top:18px; font-size:9px; letter-spacing:.14em; color:#b9bcb1; text-transform:uppercase; }
.case-info { padding:22px; }
.case-type { color:var(--site-primary); text-transform:uppercase; font-size:9px; letter-spacing:.14em; margin-bottom:9px; }
.case-info h3 { font-size:19px; letter-spacing:-.04em; margin-bottom:9px; }
.case-info p { color:#96978f; font-size:12px; line-height:1.65; margin:0; }
.case-note { color:#74766e; font-size:10px; margin-top:18px; }
.lead-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:80px; align-items:start; }
.lead-copy { position:sticky; top:125px; }
.lead-copy h2 { max-width:410px; margin-bottom:22px; }
.lead-copy p { color:#96978f; font-size:14px; line-height:1.8; max-width:330px; }
.contact-line { display:flex; align-items:center; gap:10px; color:#c5c6be; font-size:12px; margin-top:35px; }
.contact-line i { width:7px; height:7px; border-radius:50%; background:var(--site-primary); box-shadow:0 0 14px var(--site-primary); }
.form-panel { background:#141512; border:1px solid #30312b; border-radius:22px; padding:clamp(23px,4vw,42px); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.field { margin-bottom:23px; }
.field label, .group-label { display:block; color:#b8b9b1; font-size:11px; font-weight:700;}
.field input, .field textarea { width:100%; background:#0d0e0c; border:1px solid #33352d; border-radius:10px; padding:15px 14px; color:#f5f5f0; outline:none; font-size:13px; transition:border .2s; }
.field input:focus, .field textarea:focus { border-color:var(--site-primary); }
.field input::placeholder, .field textarea::placeholder { color:#62645b; }
.choice-group { margin:3px 0 24px; }
.choices { display:flex; flex-wrap:wrap; gap:8px; }
.choice { position:relative; }
.choice input { position:absolute; opacity:0; pointer-events:none; }
.choice span { display:inline-flex; align-items:center; min-height:39px; padding:0 13px; border:1px solid #393a33; border-radius:9px; color:#b9bab2; font-size:11px; cursor:pointer; transition:.2s; }
.choice input:checked + span { background:rgba(155,231,255,.11); color:var(--site-primary); border-color:var(--site-primary); }
.choice input:focus-visible + span { outline:2px solid var(--site-primary); outline-offset:3px; }
.other-field { display:none; margin-top:12px; }
.other-field.visible { display:block; }
.field textarea { min-height:94px; resize:vertical; }
.form-bottom { display:flex; align-items:center; gap:17px; flex-wrap:wrap; margin-top:8px; }
.form-hint { color:#777970; font-size:10px; line-height:1.5; max-width:220px; }
.form-status { display:none; margin-top:16px; padding:13px 15px; border-radius:10px; background:rgba(155,231,255,.1); border:1px solid rgba(155,231,255,.35); color:var(--site-primary); font-size:12px; line-height:1.5; }
.form-status.visible { display:block; }
.footer { border-top:1px solid #292a25; padding:30px 0; }
.footer-inner { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.footer-copy { color:#777970; font-size:10px; }
.footer-nav { display:flex; gap:20px; color:#a8a99f; font-size:11px; }
.reveal { opacity:0; transform:translateY(46px) scale(.965); transition:opacity .8s ease, transform .9s cubic-bezier(.16,1,.3,1); will-change:opacity,transform; }
.reveal.is-visible { opacity:1; transform:translateY(0); }
.hero-content.reveal { transform:translateY(38px) scale(.975); }
.hero-content.reveal.is-visible { transform:translateY(0) scale(1); }
.visual.reveal { transform:translateY(38px) scale(.975); }
.visual.reveal.is-visible { transform:translateY(0) scale(1); }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; } .reveal { opacity:1; transform:none; } }
@media (max-width: 900px) {
 .hero-grid { gap:25px; grid-template-columns:1fr 1fr; }
 .visual { min-height:430px; }
 .visual-frame { height:410px; }
 .phone { transform:translate(-50%,-50%) rotate(-8deg) scale(.88); }
 .service-card { grid-column:span 3; }
 .service-card:nth-child(4), .service-card:nth-child(5) { grid-column:span 3; }
 .case-card { flex-basis:calc((100% - 17px)/2); }
 .lead-grid { gap:35px; }
}
@media (max-width: 650px) {
 .wrap { width:min(100% - 34px, 520px); }
 .header-inner { min-height:76px; padding:9px 0 10px; flex-wrap:wrap; gap:9px 12px; }
 .brand strong { font-size:16px; }
 .brand span { font-size:8px; }
 .header-cta { display:none; }
 .menu-toggle { display:none; }
 .nav { display:flex; position:static; padding:0 0 2px; background:transparent; border:0; flex-direction:row; align-items:center; justify-content:space-between; gap:12px; font-size:12px; white-space:nowrap; }
 .nav a { padding:9px 0; }
 .hero { padding:67px 0 0; }
 .hero-grid { grid-template-columns:1fr; gap:24px; }
 h1 { font-size:clamp(46px,13vw,68px); }
 .hero-copy { font-size:14px; }
 .location { margin-top:34px; font-size:9px; }
 .visual { min-height:385px; }
 .visual-frame { height:320px; }
 .phone { transform:translate(-50%,-50%) rotate(-8deg) scale(.78); }
 .float-one { right:6px; top:78px; }
 .float-two { left:4px; bottom:60px; }
 .section { padding:75px 0; }
 .section-head { align-items:flex-start; flex-direction:column; gap:18px; margin-bottom:30px; }
 .section-intro { font-size:12px; }
 .services-grid { display:grid; grid-template-columns:1fr; }
 .service-card, .service-card:nth-child(4), .service-card:nth-child(5) { grid-column:auto; min-height:230px; padding:26px 24px; }
 .service-card h3 { font-size:21px; margin-top:54px; }
 .service-card p { font-size:14px; line-height:1.78; }
 .case-card { flex-basis:88%; }
 .case-art { height:205px; }
 .lead-grid { grid-template-columns:1fr; gap:28px; }
 .lead-copy { position:static; }
 .lead-copy h2 { max-width:340px; }
 .form-row { grid-template-columns:1fr; gap:0; }
 .form-panel { padding:22px 17px; }
 .footer-inner { align-items:flex-start; flex-direction:column; }
}
.case-viewport {
  overflow-x: auto;
  scroll-snap-type: x mandatory; /* «прилипание» карточек */
  -webkit-overflow-scrolling: touch; /* плавный скролл на iOS */
}

.case-card {
  scroll-snap-align: start;
}

/* Убираем горизонтальный скроллбар, если не нужен */
.case-viewport::-webkit-scrollbar {
  display: none;
}

.case-art.has-image {
    background-size: cover;
    background-position: center;
}

.art-stamp {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 2;
    padding: 6px 12px;
    background: rgba(10, 10, 12, 0.65);           /* тёмная полупрозрачная подложка */
    backdrop-filter: blur(4px);                    /* мягкое размытие под собой */
    -webkit-backdrop-filter: blur(4px);
    border: 1px solid rgba(255, 255, 255, 0.18);   /* тонкая светлая рамка */
    border-radius: 6px;
    color: #fff;
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 600;
}


/* ============================================================
   Contact Form 7 > твой дизайн (использует :root-переменные)
   ============================================================ */

/* 1. Обёртки CF7 не должны ломать сетку .form-row / .field */
.form-panel .wpcf7-form-control-wrap {
    display: block;
    margin: 0;
    width: 100%;
}

/* 2. Поля: то же, что у тебя в .field input / .field textarea */
.form-panel input[type="text"],
.form-panel input[type="tel"],
.form-panel input[type="email"],
.form-panel textarea {
    width: 100%;
    background: #0d0e0c;
    border: 1px solid #33352d;
    border-radius: 10px;
    padding: 15px 14px;
    color: #f5f5f0;
    outline: none;
    font-size: 13px;
    transition: border .2s;
}
.form-panel input[type="text"]:focus,
.form-panel input[type="tel"]:focus,
.form-panel input[type="email"]:focus,
.form-panel textarea:focus {
    border-color: var(--site-primary);
}
.form-panel input::placeholder,
.form-panel textarea::placeholder {
    color: #62645b;
}
.form-panel textarea {
    min-height: 94px;
    resize: vertical;
}

/* 3. Радиогруппы: те же «чипы», что у тебя в .choice */
.form-panel .wpcf7-radio {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.form-panel .wpcf7-list-item {
    margin: 0;
    position: relative;
}

/* label у CF7 = твой .choice */
.form-panel .wpcf7-list-item > label {
    position: relative;
    display: inline-flex;
    margin: 0;
}

/* подпись варианта = твой .choice span */
.form-panel .wpcf7-list-item-label {
    display: inline-flex;
    align-items: center;
    min-height: 39px;
    padding: 0 13px;
    border: 1px solid #393a33;
    border-radius: 9px;
    color: #b9bab2;
    font-size: 11px;
    cursor: pointer;
    transition: .2s;
}

/* сам инпут — визуально скрыт, как у тебя */
.form-panel .wpcf7-list-item input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    margin: 0;
    width: 0;
    height: 0;
}

/* выбранный вариант — подсветка, как .choice input:checked + span */
.form-panel .wpcf7-list-item input:checked + .wpcf7-list-item-label {
    background: rgba(155, 231, 255, .11);
    color: var(--site-primary);
    border-color: var(--site-primary);
}

/* фокус с клавиатуры — как .choice input:focus-visible + span */
.form-panel .wpcf7-list-item input:focus-visible + .wpcf7-list-item-label {
    outline: 2px solid var(--site-primary);
    outline-offset: 3px;
}

/* hover на подписи */
.form-panel .wpcf7-list-item > label:hover .wpcf7-list-item-label {
    border-color: rgba(155, 231, 255, .5);
}

/* 4. Кнопка = твой .btn */
.form-panel .wpcf7-submit {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border: 0;
    border-radius: calc(12px * var(--site-radius-scale));
    background: var(--site-primary);
    color: var(--site-on-primary);
    font-weight: 600;
    font: inherit;
    padding: 15px 20px;
    cursor: pointer;
    transition: transform .2s, background .2s;
}
.form-panel .wpcf7-submit:hover {
    transform: translateY(-2px);
    background: #c9f2ff;
}

/* 5. Статус отправки = твой .form-status.visible */
.form-panel .wpcf7-response-output {
    margin: 16px 0 0;
    padding: 13px 15px;
    border-radius: 10px;
    background: rgba(155, 231, 255, .1);
    border: 1px solid rgba(155, 231, 255, .35);
    color: var(--site-primary);
    font-size: 12px;
    line-height: 1.5;
}
.form-panel .wpcf7-response-output.wpcf7-aborted,
.form-panel .wpcf7-response-output.wpcf7-server-error,
.form-panel .wpcf7-response-output.wpcf7-validation-errors {
    background: rgba(224, 92, 92, .08);
    border-color: rgba(224, 92, 92, .4);
    color: #e05c5c;
}

/* 6. Подсказки валидации под полями */
.form-panel .wpcf7-not-valid-tip {
    font-size: 11px;
    color: #e05c5c;
    margin-top: 6px;
}
.form-panel .wpcf7-not-valid {
    border-color: #e05c5c !important;
}

/* 7. Убрать двойную рамку вокруг формы, которую рисует CF7 */
.form-panel .wpcf7-form {
    border: 0;
    padding: 0;
    margin: 0;
}
.form-panel .wpcf7-spinner {
    display: none;
}
.field label {
    display: block;
}
.field .wpcf7-form-control-wrap {
    display: block;
}
.wpcf7-response-output {
    border: none !important;
    background: none !important;
}
.hidden-fields-container, .screen-reader-response {
    display: none;
}
/* 8. Мобильная версия — как у тебя в @media (max-width: 650px) */
@media (max-width: 650px) {
    .form-row { grid-template-columns: 1fr; gap: 0; }
    .form-panel { padding: 22px 17px; }
}
